<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE module [
  <!ELEMENT module (dtdversion,name,version,description*,help*,about*,requires*,file+)>
  <!ELEMENT dtdversion (#PCDATA)>
  <!ELEMENT name (#PCDATA)>
  <!ELEMENT version (#PCDATA)>
  <!ELEMENT mincmsversion (#PCDATA)>
  <!ELEMENT description (#PCDATA)>
  <!ELEMENT help (#PCDATA)>
  <!ELEMENT about (#PCDATA)>
  <!ELEMENT requires (requiredname,requiredversion)>
  <!ELEMENT requiredname (#PCDATA)>
  <!ELEMENT requiredversion (#PCDATA)>
  <!ELEMENT file (filename,isdir,data)>
  <!ELEMENT filename (#PCDATA)>
  <!ELEMENT isdir (#PCDATA)>
  <!ELEMENT data (#PCDATA)>
]>
<module>
	<dtdversion>1.3</dtdversion>
	<name>btAdminer</name>
	<version>1.1.0</version>
  <mincmsversion>1.9.4.2</mincmsversion>
	<help><![CDATA[LS1BZGQgTWUgLSBtb2R1bGU6YnRBZG1pbmVyIHN0cmluZzpoZWxwLS08aDM+UGFyYW1ldGVyPC9oMz48dWw+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gbGFuZz0iZW5fVVMiIC0gRGllc2VyIFBhcmFtZXRlciBsZWd0IGRpZSBTcHJhY2hlIGZlc3QsIGRpZSB2b20gTW9kdWwgZiZ1dW1sO3IgZGllIEF1c2dhYmUgYXVmIGRlciBXZWJzZWl0ZSB2ZXJ3ZW5kZXQgd2lyZC4gRGllcyB3aXJkIGplZG9jaCBuaWNodCB2b24gYWxsZW4gTW9kdWxlbiB1bnRlcnN0JnV1bWw7dHp0IGJ6dy4gYmVuJm91bWw7dGlndC48L2xpPjwvdWw+]]></help>
	<about><![CDATA[PGJyIC8+QXV0b3I6IGJsYXR0ZXJ0ZWNoIGluZm9ybWF0aWsgJmx0O2luZm9AYmxhdHRlcnRlY2guY2gmZ3Q7PGJyIC8+PGJyIC8+VmVyc2lvbiA6IDEuMS4wPGJyIC8+]]></about>
	<description><![CDATA[Bindet den Datenbank-Editor Adminer ein.]]></description>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.admin_editoption.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojDQojIE1vZHVsZSA6IGJ0QWRtaW5lciAoYykgMjAxMSBieSBibGF0dGVydGVjaCBpbmZvcm1hdGlrIChpbmZvQGJsYXR0ZXJ0ZWNoLmNoKQ0KIyAgICAgICAgICBhIEFkbWluZXIgZXh0ZW5zaW9uIGZvciBDTVMgTWFkZSBTaW1wbGUNCiMgICAgICAgICAgVGhlIHByb2plY3RzIGhvbWVwYWdlIGlzIGRldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9idGFkbWluZXIvDQojICAgICAgICAgIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNC0yMDEwIGJ5IFRlZCBLdWxwDQojICAgICAgICAgIFRoZSBwcm9qZWN0cyBob21lcGFnZSBpczogY21zbWFkZXNpbXBsZS5vcmcNCiMgVmVyc2lvbjogMS4wDQojIEZpbGUgICA6IGFjdGlvbi5hZG1pbl9lZGl0b3B0aW9uLnBocA0KIyBQdXJwb3NlOiBzYXZlcyB0aGUgcHJlZmVyZW5jZXMgaW4gdGhlIGRhdGFiYXNlDQojIExpY2Vuc2U6IEdQTA0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdTZXQgYnRBZG1pbmVyIFByZWZzJykpIHJldHVybjsNCg0KJHRoaXMtPlNldFByZWZlcmVuY2UoJ2FkbWluX3NlY3Rpb24nLCBpc3NldCgkcGFyYW1zWydhZG1pbl9zZWN0aW9uJ10pID8gJHBhcmFtc1snYWRtaW5fc2VjdGlvbiddIDogJ3NpdGVhZG1pbicpOw0KJHRoaXMtPlNldFByZWZlcmVuY2UoJ3Byb2cnLCBpc3NldCgkcGFyYW1zWydwcm9nJ10pID8gJHBhcmFtc1sncHJvZyddIDogJ2FkbWluZXInKTsNCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdkaXNwbGF5JywgaXNzZXQoJHBhcmFtc1snZGlzcGxheSddKSA/ICRwYXJhbXNbJ2Rpc3BsYXknXSA6ICdpZnJhbWUnKTsNCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdmcmFtZWhlaWdodCcsIGlzc2V0KCRwYXJhbXNbJ2ZyYW1laGVpZ2h0J10pID8gJHBhcmFtc1snZnJhbWVoZWlnaHQnXSA6ICc4MDAnKTsNCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCd6aXBleHBvcnQnLCBpc3NldCgkcGFyYW1zWyd6aXBleHBvcnQnXSkgPyAkcGFyYW1zWyd6aXBleHBvcnQnXSA6ICcwJyk7DQokdGhpcy0+U2V0UHJlZmVyZW5jZSgneG1sZXhwb3J0JywgaXNzZXQoJHBhcmFtc1sneG1sZXhwb3J0J10pID8gJHBhcmFtc1sneG1sZXhwb3J0J10gOiAnMCcpOw0KJHRoaXMtPlNldFByZWZlcmVuY2UoJ2NhbGVuZGFyJywgaXNzZXQoJHBhcmFtc1snY2FsZW5kYXInXSkgPyAkcGFyYW1zWydjYWxlbmRhciddIDogJzAnKTsNCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdmb3JlaWduJywgaXNzZXQoJHBhcmFtc1snZm9yZWlnbiddKSA/ICRwYXJhbXNbJ2ZvcmVpZ24nXSA6ICcwJyk7DQokdGhpcy0+U2V0UHJlZmVyZW5jZSgndGV4dGFyZWEnLCBpc3NldCgkcGFyYW1zWyd0ZXh0YXJlYSddKSA/ICRwYXJhbXNbJ3RleHRhcmVhJ10gOiAnMCcpOw0KJHRoaXMtPlNldFByZWZlcmVuY2UoJ2VudW0nLCBpc3NldCgkcGFyYW1zWydlbnVtJ10pID8gJHBhcmFtc1snZW51bSddIDogJzAnKTsNCg0KJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgYXJyYXkoJ21lc3NhZ2UnPT4gJ29wdGlvbnNfdXBkYXRlZCcsICdhY3RpdmVfdGFiJyA9PiAnb3B0aW9udGFiJykpOw0KPz4=]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTW9kdWxlIDogYnRBZG1pbmVyIChjKSAyMDExIGJ5IGJsYXR0ZXJ0ZWNoIGluZm9ybWF0aWsgKGluZm9AYmxhdHRlcnRlY2guY2gpDQojICAgICAgICAgIGEgQWRtaW5lciBleHRlbnNpb24gZm9yIENNUyBNYWRlIFNpbXBsZQ0KIyAgICAgICAgICBUaGUgcHJvamVjdHMgaG9tZXBhZ2UgaXMgZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2J0YWRtaW5lci8NCiMgICAgICAgICAgQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA0LTIwMTAgYnkgVGVkIEt1bHANCiMgICAgICAgICAgVGhlIHByb2plY3RzIGhvbWVwYWdlIGlzOiBjbXNtYWRlc2ltcGxlLm9yZw0KIyBWZXJzaW9uOiAxLjANCiMgRmlsZSAgIDogYWN0aW9uLmRlZmF1bHRhZG1pbi5waHANCiMgUHVycG9zZTogcGVyZm9ybXMgdGhlIGRlZmF1bHQgYmFja2VuZCBhY3Rpb24gaWYgIkV4dGVuc2lvbnMtPmJ0QWRtaW5lciIgaXMgc2VsZWN0ZWQNCiMgTGljZW5zZTogR1BMDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQppZighZnVuY3Rpb25fZXhpc3RzKCdjbXNtcycpIHx8ICFpc19vYmplY3QoY21zbXMoKSkpIGV4aXQ7DQoNCmlmICghJHRoaXMtPkNoZWNrUGVybWlzc2lvbignVXNlIGJ0QWRtaW5lcicpKSB7DQoJcmV0dXJuOw0KfQ0KDQpnbG9iYWwgJGNvbmZpZzsNCiRnQ21zID0gY21zbXMoKTsNCiRsYW5ndWFnZSA9ICRnQ21zLT51c2VycHJlZnNbImRlZmF1bHRfY21zX2xhbmd1YWdlIl07DQokbGFuZ3Nob3J0ID0gc3Vic3RyKCRsYW5ndWFnZSwgMCwyKTsNCiRhZG1pbmVybGFuZyA9IGFycmF5KCJlbiIsICJjcyIsICJzayIsICJubCIsICJlcyIsICJkZSIsICJmciIsICJpdCIsICJldCIsICJodSIsICJwbCIsICJjYSIsICJwdCIsICJzbCIsICJ0ciIsICJydSIsICJ6aCIsICJhciIpOw0KDQokbGFuZyA9IGluX2FycmF5KCRsYW5nc2hvcnQsICRhZG1pbmVybGFuZykgPyAkbGFuZ3Nob3J0IDogJ2VuJzsNCg0KLy8gQWRtaW5lciBTZXNzaW9uDQovLyBOZWVkIHRvIGhhdmUgY29va2llIHZpc2libGUgZnJvbSBwYXJlbnQgZGlyZWN0b3J5DQpzZXNzaW9uX3NldF9jb29raWVfcGFyYW1zKDAsICcvJywgJycsIDApOw0KLy8gQ3JlYXRlIHNpZ25vbiBzZXNzaW9uDQokc2Vzc2lvbl9uYW1lID0gJ2J0QWRtaW5lcic7DQpzZXNzaW9uX25hbWUoJHNlc3Npb25fbmFtZSk7DQovL3Nlc3Npb25fc3RhcnQoKTsNCg0KJGhvc3QgPSAkY29uZmlnWydkYl9ob3N0bmFtZSddOw0KaWYgKGlzc2V0KCRjb25maWdbImRiX3BvcnQiXSkgYW5kICRjb25maWdbJ2RiX3BvcnQnXSAhPSAnJykgJGhvc3QuPSc6Jy4kY29uZmlnWydkYl9wb3J0J107DQoNCi8vIFN0b3JlIHRoZXJlIGNyZWRlbnRpYWxzIGluIHRoZSBzZXNzaW9uDQokX1NFU1NJT05bJ0FETV9kcml2ZXInXSA9ICdzZXJ2ZXInOw0KJF9TRVNTSU9OWydBRE1fdXNlciddID0gJGNvbmZpZ1snZGJfdXNlcm5hbWUnXTsNCiRfU0VTU0lPTlsncHdkcyddWyRfU0VTU0lPTlsnQURNX2RyaXZlciddXVskaG9zdF1bJGNvbmZpZ1snZGJfdXNlcm5hbWUnXV0gPSAkY29uZmlnWydkYl9wYXNzd29yZCddOw0KJF9TRVNTSU9OWydBRE1fcGFzc3dvcmQnXSA9ICRjb25maWdbJ2RiX3Bhc3N3b3JkJ107DQokX1NFU1NJT05bJ0FETV9zZXJ2ZXInXSA9ICRob3N0Ow0KJF9TRVNTSU9OWydBRE1fZGInXSA9ICRjb25maWdbJ2RiX25hbWUnXTsNCiRfU0VTU0lPTlsnQURNX2hpZGVPdGhlckRCcyddID0gJyc7DQovLyBHZXQgc2lnbm9uIHVyaSBmb3IgcmVkaXJlY3QNCiRfU0VTU0lPTlsnQURNX1NpZ25vblVSTCddID0gJGNvbmZpZ1sncm9vdF91cmwnXS4nL21vZHVsZXMvYnRBZG1pbmVyL2J0QWRtaW5lci5waHAnOw0KJF9TRVNTSU9OWydBRE1fTG9nb3V0VVJMJ10gPSAkY29uZmlnWydyb290X3VybCddLicvJy4kY29uZmlnWydhZG1pbl9kaXInXS4nL2xvZ291dC5waHAnOw0KJF9TRVNTSU9OWydBRE1fdXBsb2FkRGlyJ10gPSAkY29uZmlnWyd1cGxvYWRzX3BhdGgnXTsNCi8vIE9wdGlvbnMNCiRfU0VTU0lPTlsnQURNX3Byb2cnXSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwcm9nJyk7DQovLyBQbHVnaW5zDQokX1NFU1NJT05bJ0FETV9wbHVnaW5femlwZXhwb3J0J10gPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnemlwZXhwb3J0Jyk7DQokX1NFU1NJT05bJ0FETV9wbHVnaW5feG1sZXhwb3J0J10gPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgneG1sZXhwb3J0Jyk7DQokX1NFU1NJT05bJ0FETV9wbHVnaW5fY2FsZW5kYXInXSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjYWxlbmRhcicpOw0KJF9TRVNTSU9OWydBRE1fcGx1Z2luX2ZvcmVpZ24nXSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdmb3JlaWduJyk7DQokX1NFU1NJT05bJ0FETV9wbHVnaW5fdGV4dGFyZWEnXSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd0ZXh0YXJlYScpOw0KJF9TRVNTSU9OWydBRE1fcGx1Z2luX2VudW0nXSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdlbnVtJyk7DQovLyByb290X3VybA0KJF9TRVNTSU9OWydBRE1fcm9vdF91cmwnXSA9ICRjb25maWdbJ3Jvb3RfdXJsJ107DQoNCiRzaWQgPSBzZXNzaW9uX2lkKCk7DQovLyBGb3JjZSB0byBzZXQgdGhlIGNvb2tpZQ0Kc2V0Y29va2llKCRzZXNzaW9uX25hbWUsICRzaWQsIDAsICcvJywgJycpOw0KLy8gQ2xvc2UgdGhhdCBzZXNzaW9uDQpzZXNzaW9uX3dyaXRlX2Nsb3NlKCk7DQoNCg0KDQppZiAoaXNzZXQoJHBhcmFtc1snbWVzc2FnZSddKSkgew0KCWVjaG8gJHRoaXMtPlNob3dNZXNzYWdlKCR0aGlzLT5MYW5nKCRwYXJhbXNbJ21lc3NhZ2UnXSkpOw0KfQ0KDQppZiAoaXNzZXQoJHBhcmFtc1snZXJyb3JzJ10pICYmIGNvdW50KCRwYXJhbXNbJ2Vycm9ycyddKSkgew0KCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHBhcmFtc1snZXJyb3JzJ10pOw0KfQ0KDQppZigkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdTZXQgYnRBZG1pbmVyIFByZWZzJykpIHsNCg0KCWlmICghZW1wdHkoJHBhcmFtc1snYWN0aXZlX3RhYiddKSkgew0KCQkkdGFiID0gJHBhcmFtc1snYWN0aXZlX3RhYiddOw0KCX0gZWxzZSB7DQoJCSR0YWIgPSAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdTZXQgYnRBZG1pbmVyIFByZWZzJykgPyAnYWRtaW5lcnRhYicgOiAnb3B0aW9udGFiJzsNCgl9DQoNCgllY2hvICR0aGlzLT5TdGFydFRhYkhlYWRlcnMoKTsNCg0KCWVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignYWRtaW5lcnRhYicsICdidEFkbWluZXInLCAoJHRhYiA9PSAnYWRtaW5lcnRhYicpKTsNCgllY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ29wdGlvbnRhYicsICR0aGlzLT5MYW5nKCdvcHRpb25zJyksICgkdGFiID09ICdvcHRpb250YWInKSk7DQoNCg0KCWVjaG8gJHRoaXMtPkVuZFRhYkhlYWRlcnMoKTsNCgllY2hvICR0aGlzLT5TdGFydFRhYkNvbnRlbnQoKTsNCg0KCWVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdhZG1pbmVydGFiJywgJHBhcmFtcyk7DQoJaW5jbHVkZSBkaXJuYW1lKF9fRklMRV9fKSAuICcvZnVuY3Rpb24uYWRtaW5fYWRtaW5lcnRhYi5waHAnOw0KCWVjaG8gJHRoaXMtPkVuZFRhYigpOw0KDQoJZWNobyAkdGhpcy0+U3RhcnRUYWIoJ29wdGlvbnRhYicsICRwYXJhbXMpOw0KCWluY2x1ZGUgZGlybmFtZShfX0ZJTEVfXykgLiAnL2Z1bmN0aW9uLmFkbWluX29wdGlvbnRhYi5waHAnOw0KCWVjaG8gJHRoaXMtPkVuZFRhYigpOw0KDQoJZWNobyAkdGhpcy0+RW5kVGFiQ29udGVudCgpOw0KDQp9IGVsc2Ugew0KCWluY2x1ZGUgZGlybmFtZShfX0ZJTEVfXykgLiAnL2Z1bmN0aW9uLmFkbWluX2FkbWluZXJ0YWIucGhwJzsNCn0NCg==]]></data>
	</file>
	<file>
	  <filename>/adminer.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[DQpib2R5IHsNCiAgICBmb250LXNpemU6IDExcHg7DQogICAgbGluZS1oZWlnaHQ6IDE0cHg7DQogICAgZm9udC1mYW1pbHk6IFZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7DQp9DQpjb2RlIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCn0NCnRhYmxlIHsNCiAgICBmb250LXNpemU6IDExcHg7DQogICAgYmFja2dyb3VuZDogbm9uZSByZXBlYXQgc2Nyb2xsIDAgMCAjRkZGRkZGOw0KICAgIGJvcmRlcjogMXB4IHNvbGlkICNBMkFBQjg7DQp9DQp0YWJsZS5ub3dyYXAgew0KICAgIGJhY2tncm91bmQ6IG5vbmUgcmVwZWF0IHNjcm9sbCAwIDAgI0ZGRkZGRjsNCiAgICBib3JkZXI6IDFweCBzb2xpZCAjQTJBQUI4Ow0KfQ0KdGhlYWQgdGQsIHRoZWFkIHRoLCB0aGVhZCB0cjpob3ZlciB0ZCwgdGhlYWQgdHI6aG92ZXIgdGggew0KICAgIGJhY2tncm91bmQtY29sb3I6ICM1ODU4NTg7DQogICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQoY2VudGVyIHRvcCwgIzdGN0Y3RiAxMCUsICM1QjVCNUIgMTAwJSk7DQogICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14Ow0KICAgIGNvbG9yOiAjRkZGRkZGOw0KICAgIGZvbnQtc2l6ZTogMTBweDsNCiAgICBoZWlnaHQ6IDIwcHg7DQogICAgbGluZS1oZWlnaHQ6IDE5cHg7DQp9DQp0ciB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjsNCn0NCnRyLm9kZCB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI0Y3RjdGNzsNCn0NCnRkLCB0aCB7DQogICAgYm9yZGVyOiBtZWRpdW0gbm9uZTsNCiAgICBiYWNrZ3JvdW5kOiBub25lOw0KfQ0KdGJvZHkgdHI6aG92ZXIgdGQsIHRib2R5IHRyOmhvdmVyIHRoIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREVERURFOw0KfQ0KYSB7DQogICAgY29sb3I6IGJsYWNrOw0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBjdXJzb3I6IHBvaW50ZXI7DQp9DQphOmxpbmsgew0KICAgIGNvbG9yOiBibGFjazsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgY3Vyc29yOiBwb2ludGVyOw0KfQ0KYTp2aXNpdGVkIHsNCiAgICBjb2xvcjogYmxhY2s7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGN1cnNvcjogcG9pbnRlcjsNCn0NCmE6aG92ZXIgew0KICAgIGNvbG9yOiBibGFjazsNCiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsNCn0NCmE6YWN0aXZlIHsNCiAgICBjb2xvcjogYmxhY2s7DQogICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7DQp9DQp0YWJsZS5ub3dyYXAgYVtocmVmKj0iZWRpdD0iXVtocmVmKj0iJndoZXJlIl0gew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBsZWZ0OiA0cHg7DQogICAgd2lkdGg6IDE2cHg7DQogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICAgIG92ZXJmbG93OiBoaWRkZW47DQp9DQoNCnRhYmxlLm5vd3JhcCBhW2hyZWYqPSJlZGl0PSJdW2hyZWYqPSImd2hlcmUiXTpob3ZlciB7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KfQ0KdGFibGUubm93cmFwIGFbaHJlZio9ImVkaXQ9Il1baHJlZio9IiZ3aGVyZSJdOmJlZm9yZSB7DQogICAgY29udGVudDogIlwwMGEwIjsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImltYWdlcy9kb2N1bWVudC1vcGVuLnBuZyIpOw0KICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IDA7DQogICAgaGVpZ2h0OiAxNnB4Ow0KICAgIHdpZHRoOiAxNnB4Ow0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICBvdmVyZmxvdzogaGlkZGVuOw0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCn0NCnRhYmxlLm5vd3JhcCB0aGVhZCB0aCBhLCB0YWJsZS5ub3dyYXAgdGhlYWQgdGQgYSB7DQogICAgY29sb3I6IHdoaXRlOw0KfQ0KDQpwI2JyZWFkY3J1bWIgew0KICAgIGJvcmRlcjogbWVkaXVtIG5vbmU7DQp9DQpwI2JyZWFkY3J1bWIgYSB7DQogICAgY29sb3I6ICNGRkZGRkY7DQp9DQojbWVudSB7DQogICAgbWFyZ2luOiAwOw0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICB0b3A6IDA7DQogICAgYm90dG9tOiAwOw0KICAgIGxlZnQ6IDA7DQogICAgd2lkdGg6IDI3MHB4Ow0KICAgIHBhZGRpbmc6IDA7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI0VCRUJFQjsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQU1BQUFBQkNBWUFBQUFiNEJTMEFBQUFHRWxFUVZSNDJnRU5BUEwvQU1qSXlFekl5TWl6eU1qSS96aHZDUWVsYUhQUEFBQUFBRWxGVGtTdVFtQ0MiKTsNCiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXk7DQogICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2VudGVyOw0KfQ0KI21lbnUgZm9ybVttZXRob2QqPSJwb3N0Il0gew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNEQURBREE7DQogICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFNQUFBQUJDQVlBQUFBYjRCUzBBQUFBR0VsRVFWUjQyZ0VOQVBML0FMaTR1RXk0dUxpMHVMaTQvelNFQ0hpanB3TUdBQUFBQUVsRlRrU3VRbUNDIik7DQogICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC15Ow0KICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNlbnRlcjsNCn0NCiNtZW51IHAgew0KICAgIG1hcmdpbjogMDsNCiAgICBwYWRkaW5nOiA0cHggMTBweDsNCiAgICBib3JkZXI6IG1lZGl1bSBub25lOw0KfQ0KI21lbnUgcCBzZWxlY3Qgew0KICAgIHdpZHRoOiAxMDAlOw0KfQ0KDQojbWVudSBoMSB7DQogICAgaGVpZ2h0OiAyMnB4Ow0KICAgIHBhZGRpbmc6IDAgMTBweDsNCiAgICBtYXJnaW46IDA7DQogICAgbGluZS1oZWlnaHQ6IDIwcHg7DQogICAgZGlzcGxheTogYmxvY2s7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzU4NTg1ODsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQU1BQUFBQkNBWUFBQUFiNEJTMEFBQUFHRWxFUVZSNDJnRU5BUEwvQUVCQVFFeEFRRUN6UUVCQS94YjNCRDhDSEJOMEFBQUFBRWxGVGtTdVFtQ0MiKTsNCiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXk7DQogICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2VudGVyOw0KICAgIGNvbG9yOiAjRkZGRkZGOw0KICAgIGZvbnQtc2l6ZTogMTBweDsNCiAgICBib3JkZXI6IG1lZGl1bSBub25lOw0KfQ0KDQojbWVudSBoMSBhIHsNCiAgICBmb250LXNpemU6IDEzcHg7DQogICAgY29sb3I6ICNGRkZGRkY7DQp9DQoNCiNtZW51IGgxIC52ZXJzaW9uIHsNCiAgICBmb250LXNpemU6IDlweDsNCiAgICBjb2xvcjogI0ZGRkZGRjsNCn0NCg0KI21lbnUgKiB7DQogICAgbWFyZ2luOiAwOw0KICAgIHBhZGRpbmc6IDA7DQp9DQoNCnAjdGFibGVzIHsNCiAgICBtYXJnaW46IDA7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIHRvcDogOTdweDsNCiAgICBib3R0b206IDA7DQogICAgbGVmdDogMDsNCiAgICBwYWRkaW5nOiAwIDAgMCA1cHg7DQogICAgb3ZlcmZsb3cteDogaGlkZGVuOw0KICAgIG92ZXJmbG93LXk6IGF1dG87DQogICAgd2lkdGg6IDI2NXB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAxOHB4Ow0KICAgIGJhY2tncm91bmQtY29sb3I6ICNFQkVCRUI7DQogICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFNQUFBQUJDQVlBQUFBYjRCUzBBQUFBR0VsRVFWUjQyZ0VOQVBML0FNakl5RXpJeU1penlNakkvemh2Q1FlbGFIUFBBQUFBQUVsRlRrU3VRbUNDIik7DQogICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC15Ow0KICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNlbnRlcjsNCn0NCg0KcCN0YWJsZXMgYSB7DQogICAgZGlzcGxheTogYmxvY2s7DQogICAgbWFyZ2luOiAwOw0KICAgIHBhZGRpbmc6IDA7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIG1hcmdpbi10b3A6IDFweDsNCiAgICB0b3A6IDBweDsNCn0NCg0KcCN0YWJsZXMgYVtocmVmKj0ic2VsZWN0PSJdIHsNCiAgICAvKnBvc2l0aW9uOiBhYnNvbHV0ZTsqLw0KICAgIGxlZnQ6IDEwcHg7DQogICAgd2lkdGg6IDE2cHg7DQogICAgZGlzcGxheTogYmxvY2s7DQogICAgb3ZlcmZsb3c6IGhpZGRlbjsNCn0NCg0KcCN0YWJsZXMgYVtocmVmKj0ic2VsZWN0PSJdOmJlZm9yZSB7DQogICAgY29udGVudDogIlwwMGEwIjsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImltYWdlcy9zeXN0ZW0tbGlzdC1vcGVuLnBuZyIpOw0KICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IDA7DQogICAgaGVpZ2h0OiAxNnB4Ow0KICAgIHdpZHRoOiAxNnB4Ow0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICBvdmVyZmxvdzogaGlkZGVuOw0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBsaW5lLWhlaWdodDogMThweDsNCn0NCg0KcCN0YWJsZXMgYVtocmVmKj0idGFibGU9Il0gew0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICBsZWZ0OiAzNnB4Ow0KICAgIHdpZHRoOiAyMDBweDsNCn0NCnAjdGFibGVzIHNwYW4udGFibGVzLWxpbmUgew0KICAgIGRpc3BsYXk6IGxpc3QtaXRlbTsNCiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmUNCn0NCnAjdGFibGVzIHNwYW4udGFibGVzLWxpbmUtYWN0aXZlIHsNCiAgICBkaXNwbGF5OiBsaXN0LWl0ZW07DQogICAgYmFja2dyb3VuZC1jb2xvcjogI0Y4RjhGODsNCiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0Q3RDdENzsNCiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNEN0Q3RDc7DQogICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNEN0Q3RDc7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KfQ0KcCN0YWJsZXMgc3Bhbi50YWJsZXMtbGluZTpob3ZlciB7DQogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNEN0Q3RDc7DQogICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjRDdEN0Q3Ow0KICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjRDdEN0Q3Ow0KICAgIGJhY2tncm91bmQtY29sb3I6ICNGMkYyRjI7DQogICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFNQUFBQUJDQVlBQUFBYjRCUzBBQUFBR0VsRVFWUjQyZ0VOQVBML0FNakl5RXpJeU1penlNakkvemh2Q1FlbGFIUFBBQUFBQUVsRlRrU3VRbUNDIik7DQogICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2VudGVyOw0KICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteTsNCiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogM3B4Ow0KICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAzcHg7DQp9DQojbGFuZyB7DQogICAgdG9wOiAxcHg7DQogICAgcmlnaHQ6IDE4cHg7DQogICAgbGVmdDogYXV0bzsNCiAgICBtYXJnaW46IDA7DQogICAgcGFkZGluZzogMDsNCiAgICB6LWluZGV4OiAxMDsNCiAgICBjb2xvcjogI0ZGRkZGRjsNCn0NCiNsYW5nIHNlbGVjdCB7DQogICAgaGVpZ2h0OiAxOHB4Ow0KfQ0KDQojY29udGVudCB7DQogICAgbWFyZ2luOiAwOw0KICAgIHBhZGRpbmc6IDAgMTBweCAxMHB4IDEwcHg7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIGxlZnQ6IDI3MHB4Ow0KICAgIHJpZ2h0OiAwOw0KICAgIHRvcDogNDlweDsNCiAgICBib3R0b206IDA7DQogICAgb3ZlcmZsb3c6IGF1dG87DQp9DQojY29udGVudCB0YWJsZSB0cjpudGgtY2hpbGQoMm4pIHRkLCAjY29udGVudCB0YWJsZSB0cjpudGgtY2hpbGQoMm4pIHRoIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjdGN0Y3Ow0KfQ0KI2NvbnRlbnQgdGFibGUgdGJvZHkgdHI6aG92ZXIgdGQsICNjb250ZW50IHRhYmxlIHRib2R5IHRyOmhvdmVyIHRoIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREVERURFOw0KfQ0KI2NvbnRlbnQgaDIgew0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIG1hcmdpbjogMDsNCiAgICBoZWlnaHQ6IDIxcHg7DQogICAgcG9zaXRpb246IGZpeGVkOw0KICAgIGxlZnQ6IDI3MHB4Ow0KICAgIHJpZ2h0OiAwOw0KICAgIHRvcDogMjJweDsNCiAgICBsaW5lLWhlaWdodDogMjJweDsNCiAgICBwYWRkaW5nOiAwIDAgNnB4IDEwcHg7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI0RBREFEQTsNCiAgICBmb250LXNpemU6IDEycHg7DQogICAgYm9yZGVyOiBtZWRpdW0gbm9uZTsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCn0NCg0KaDEsIGgyLCBoMywgaDQgew0KICAgIGNvbG9yOiAjNTU1NTU1Ow0KICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KfQ0KaDMgew0KICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQ0RDRENEOw0KICAgIHBhZGRpbmctYm90dG9tOiA2cHg7DQp9DQojYnJlYWRjcnVtYiB7DQogICAgcG9zaXRpb246IGZpeGVkOw0KICAgIGxlZnQ6IDI3MHB4Ow0KICAgIHJpZ2h0OiAwOw0KICAgIHRvcDogMDsNCiAgICBoZWlnaHQ6IDIycHg7DQogICAgbWFyZ2luOiAwOw0KICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjOTk5Ow0KICAgIGJhY2tncm91bmQtY29sb3I6ICM1ODU4NTg7DQogICAgY29sb3I6ICNGRkZGRkY7DQp9DQoNCmlucHV0LCB0ZXh0YXJlYSwgc2VsZWN0LCBidXR0b24gew0KICAgIGZvbnQtZmFtaWx5OiBWZXJkYW5hLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOw0KICAgIGZvbnQtc2l6ZTogMTFweDsNCiAgICBsaW5lLWhlaWdodDogMTZweDsNCn0NCmlucHV0W3R5cGU9InN1Ym1pdCJdLCBpbnB1dFt0eXBlPSJidXR0b24iXSwgaW5wdXRbdHlwZT0icmVzZXQiXSB7DQogICAgYm9yZGVyOiAxcHggc29saWQgI0FDQjNCRTsNCiAgICBjb2xvcjogIzMzMzMzMzsNCiAgICBjdXJzb3I6IHBvaW50ZXI7DQogICAgaGVpZ2h0OiAxOXB4Ow0KICAgIG1hcmdpbi1sZWZ0OiA1cHg7DQogICAgcGFkZGluZzogMCA0cHggMnB4Ow0KICAgIGJhY2tncm91bmQtY29sb3I6ICNGNkY2RjY7DQogICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdpbWFnZXMvYnV0dG9uLnBuZycpOw0KICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChjZW50ZXIgdG9wLCAjZjZmNmY2IDEwJSwgI2Q1ZDVkNSA5MCUpOw0KICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KGNlbnRlciB0b3AsICNmNmY2ZjYgMTAlLCAjZDVkNWQ1IDkwJSk7DQogICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAlIDAlLCAwJSAxMDAlLCBjb2xvci1zdG9wKDAuMSwgI2Y2ZjZmNiksIGNvbG9yLXN0b3AoMC45LCAjZDVkNWQ1KSk7DQogICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGJvdHRvbTsNCiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7DQogICAgYm9yZGVyLXJhZGl1czogMXB4Ow0KICAgIC1tb3otYm9yZGVyLXJhZGl1czogMXB4Ow0KfQ0KaW5wdXRbdHlwZT0ic3VibWl0Il06aG92ZXIsIGlucHV0W3R5cGU9ImJ1dHRvbiJdOmhvdmVyLCBpbnB1dFt0eXBlPSJyZXNldCJdOmhvdmVyIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzhjOGM4Ow0KICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaW1hZ2VzL2J1dHRvbi1ob3Zlci5wbmcnKTsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoY2VudGVyIHRvcCwgI2Y2ZjZmNiAxMCUsICNjOGM4YzggOTAlKTsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChjZW50ZXIgdG9wLCAjZjZmNmY2IDEwJSwgI2JkYmNiYyA5MCUpOw0KICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwJSAwJSwgMCUgMTAwJSwgY29sb3Itc3RvcCgwLjEsICNmNmY2ZjYpLCBjb2xvci1zdG9wKDAuOSwgI2M4YzhjOCkpOw0KICAgIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbTsNCiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7DQogICAgYm9yZGVyOiAxcHggc29saWQgIzczN2Y5MTsNCiAgICBjb2xvcjogIzFlMWUxZTsNCiAgICBjdXJzb3I6IHBvaW50ZXI7DQp9DQojbWVudSBpbnB1dFt0eXBlPSJzdWJtaXQiXSwgI21lbnUgaW5wdXRbdHlwZT0iYnV0dG9uIl0sICNtZW51IGlucHV0W3R5cGU9InJlc2V0Il0gew0KICAgIHBhZGRpbmc6IDAgNHB4IDJweDsNCiAgICBtYXJnaW4tbGVmdDogNXB4Ow0KfQ0KLm1lc3NhZ2UsIC5lcnJvciB7DQogICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTBweCAxMnB4Ow0KICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7DQogICAgYm9yZGVyOiAxcHggc29saWQ7DQogICAgbWFyZ2luLWJvdHRvbTogNHB4Ow0KICAgIHBhZGRpbmc6IDEycHggMTJweCAxMnB4IDM2cHg7DQp9DQoubWVzc2FnZSB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI0VBRjdGRjsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImltYWdlcy9pbmZvcm1hdGlvbi5wbmciKTsNCiAgICBib3JkZXItY29sb3I6ICNDNURCRTY7DQogICAgY29sb3I6ICM0QzczQTE7DQp9DQouZXJyb3Igew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNGNkQzQ0Y7DQogICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCJpbWFnZXMvZXJyb3IucG5nIik7DQogICAgYm9yZGVyLWNvbG9yOiAjRDY2QzY4Ow0KICAgIGNvbG9yOiAjQUEwMjI1Ow0KfQ0KI2xvYWRlciB7DQogICAgdG9wOiAyZW07DQogICAgbGVmdDogNTllbTsNCn0NCnAudGFicyB7DQogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNBREFEQUQ7DQogICAgcGFkZGluZzogM3B4IDAgM3B4IDEwcHg7DQp9DQpwLnRhYnMgYSB7DQogICAgLW1vei1ib3JkZXItYm90dG9tLWNvbG9yczogbm9uZTsNCiAgICAtbW96LWJvcmRlci1pbWFnZTogbm9uZTsNCiAgICAtbW96LWJvcmRlci1sZWZ0LWNvbG9yczogbm9uZTsNCiAgICAtbW96LWJvcmRlci1yaWdodC1jb2xvcnM6IG5vbmU7DQogICAgLW1vei1ib3JkZXItdG9wLWNvbG9yczogbm9uZTsNCiAgICBiYWNrZ3JvdW5kOiBub25lIHJlcGVhdCBzY3JvbGwgMCAwICNEQURBREE7DQogICAgYm9yZGVyLWNvbG9yOiAjQURBREFEICNBREFEQUQgLW1vei11c2UtdGV4dC1jb2xvcjsNCiAgICBib3JkZXItc3R5bGU6IHNvbGlkIHNvbGlkIG5vbmU7DQogICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogM3B4Ow0KICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAzcHg7DQogICAgYm9yZGVyLXdpZHRoOiAxcHggMXB4IG1lZGl1bTsNCiAgICBjb2xvcjogIzYwNjA2MDsNCiAgICBwYWRkaW5nOiA0cHggMTBweDsNCiAgICBtYXJnaW46IDAgLTFweCAwIC0ycHg7DQogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNDMEMwQzA7DQp9DQpwLnRhYnMgYTpob3ZlciB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI0VFRUVFRTsNCiAgICBib3JkZXItY29sb3I6ICNBREFEQUQ7DQogICAgY29sb3I6ICM2MDYwNjA7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KfQ0KcC50YWJzIGEuYWN0aXZlIHsNCiAgICBiYWNrZ3JvdW5kOiBub25lIHJlcGVhdCBzY3JvbGwgMCAwICNGRkZGRkY7DQogICAgY29sb3I6ICMwMDAwMDA7DQogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNGRkZGRkY7DQp9]]></data>
	</file>
	<file>
	  <filename>/adminer/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/adminer/.htaccess</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[b3JkZXIgYWxsb3csZGVueQpkZW55IGZyb20gYWxs]]></data>
	</file>
	<file>
	  <filename>/adminer/adminer-3.3.2.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqIEFkbWluZXIgLSBDb21wYWN0IGRhdGFiYXNlIG1hbmFnZW1lbnQKKiBAbGluayBodHRwOi8vd3d3LmFkbWluZXIub3JnLwoqIEBhdXRob3IgSmFrdWIgVnJhbmEsIGh0dHA6Ly93d3cudnJhbmEuY3ovCiogQGNvcHlyaWdodCAyMDA3IEpha3ViIFZyYW5hCiogQGxpY2Vuc2UgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAoqIEBsaWNlbnNlIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMi4wLmh0bWwgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIHZlcnNpb24gMiAob25lIG9yIG90aGVyKQoqIEB2ZXJzaW9uIDMuMy4yCiovZXJyb3JfcmVwb3J0aW5nKDYxMzUpOyRrZD0oIWVyZWcoJ14odW5zYWZlX3Jhdyk/JCcsaW5pX2dldCgiZmlsdGVyLmRlZmF1bHQiKSkpO2lmKCRrZHx8aW5pX2dldCgiZmlsdGVyLmRlZmF1bHRfZmxhZ3MiKSl7Zm9yZWFjaChhcnJheSgnX0dFVCcsJ19QT1NUJywnX0NPT0tJRScsJ19TRVJWRVInKWFzJGIpeyRlZT1maWx0ZXJfaW5wdXRfYXJyYXkoY29uc3RhbnQoIklOUFVUJGIiKSxGSUxURVJfVU5TQUZFX1JBVyk7aWYoJGVlKXskJGI9JGVlO319fWlmKGlzc2V0KCRfR0VUWyJmaWxlIl0pKXtoZWFkZXIoIkV4cGlyZXM6ICIuZ21kYXRlKCJELCBkIE0gWSBIOmk6cyIsdGltZSgpKzM2NSoyNCo2MCo2MCkuIiBHTVQiKTtpZigkX0dFVFsiZmlsZSJdPT0iZmF2aWNvbi5pY28iKXtoZWFkZXIoIkNvbnRlbnQtVHlwZTogaW1hZ2UveC1pY29uIik7ZWNobwpiYXNlNjRfZGVjb2RlKCJBQUFCQUFFQUVCQVFBQUVBQkFBb0FRQUFGZ0FBQUNnQUFBQVFBQUFBSUFBQUFBRUFCQUFBQUFBQXdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBLy8vL0FBQUEvd0JoVGdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFUkVSQUFBQUFBRVRNekVRQUFBQUFURVJFeEFBQUFBQk1SRVRFQUFBQUFFeEVSTVFBQUFBQVRFUkV4QUFBQUFCTVJFVEVBQUFBQUV6TXpNUkVSRVFBVEVSRXhFaEVoQUJFek14RWhFUkVBQVJFUkVoRVJJUkFBQUFBUklSRVNFQUFBQUFFU0VpRVFBQUFBQUJFUkVRQUFBQUFBQUFBQUQvLzlVQXdQL1ZBSUIvQUFDQWYvQUFnSCtrQUlCL2dBQ0Fmd0FBZ0g4QUFJQUJBQUNBQWY4QWdBSC9BTUFBL3dEK0FQOEEvd0FJQWYrQjFRRC8vOVVBIik7fWVsc2VpZigkX0dFVFsiZmlsZSJdPT0iZGVmYXVsdC5jc3MiKXtoZWFkZXIoIkNvbnRlbnQtVHlwZTogdGV4dC9jc3M7IGNoYXJzZXQ9dXRmLTgiKTtlY2hvJ2JvZHl7Y29sb3I6IzAwMDtiYWNrZ3JvdW5kOiNmZmY7Zm9udDo5MCUvMS4yNSBWZXJkYW5hLEFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmO21hcmdpbjowO31he2NvbG9yOmJsdWU7fWE6dmlzaXRlZHtjb2xvcjpuYXZ5O31hOmhvdmVye2NvbG9yOnJlZDt9aDF7Zm9udC1zaXplOjE1MCU7bWFyZ2luOjA7cGFkZGluZzouOGVtIDFlbTtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjOTk5O2ZvbnQtd2VpZ2h0Om5vcm1hbDtjb2xvcjojNzc3O2JhY2tncm91bmQ6I2VlZTt9aDJ7Zm9udC1zaXplOjE1MCU7bWFyZ2luOjAgMCAyMHB4IC0xOHB4O3BhZGRpbmc6LjhlbSAxZW07Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzAwMDtjb2xvcjojMDAwO2ZvbnQtd2VpZ2h0Om5vcm1hbDtiYWNrZ3JvdW5kOiNkZGY7fWgze2ZvbnQtd2VpZ2h0Om5vcm1hbDtmb250LXNpemU6MTMwJTttYXJnaW46MWVtIDAgMDt9Zm9ybXttYXJnaW46MDt9dGFibGV7bWFyZ2luOjFlbSAyMHB4IDAgMDtib3JkZXI6MDtib3JkZXItdG9wOjFweCBzb2xpZCAjOTk5O2JvcmRlci1sZWZ0OjFweCBzb2xpZCAjOTk5O2ZvbnQtc2l6ZTo5MCU7fXRkLHRoe2JvcmRlcjowO2JvcmRlci1yaWdodDoxcHggc29saWQgIzk5OTtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjOTk5O3BhZGRpbmc6LjJlbSAuM2VtO310aHtiYWNrZ3JvdW5kOiNlZWU7dGV4dC1hbGlnbjpsZWZ0O310aGVhZCB0aHt0ZXh0LWFsaWduOmNlbnRlcjt9dGhlYWQgdGQsdGhlYWQgdGh7YmFja2dyb3VuZDojZGRmO31maWVsZHNldHtkaXNwbGF5OmlubGluZTt2ZXJ0aWNhbC1hbGlnbjp0b3A7cGFkZGluZzouNWVtIC44ZW07bWFyZ2luOi44ZW0gLjVlbSAwIDA7Ym9yZGVyOjFweCBzb2xpZCAjOTk5O31we21hcmdpbjouOGVtIDIwcHggMCAwO31pbWd7dmVydGljYWwtYWxpZ246bWlkZGxlO2JvcmRlcjowO310ZCBpbWd7bWF4LXdpZHRoOjIwMHB4O21heC1oZWlnaHQ6MjAwcHg7fWNvZGV7YmFja2dyb3VuZDojZWVlO310cjpob3ZlciB0ZCx0cjpob3ZlciB0aHtiYWNrZ3JvdW5kOiNkZGY7fXByZXttYXJnaW46MWVtIDAgMDt9aW5wdXRbdHlwZT1pbWFnZV17dmVydGljYWwtYWxpZ246bWlkZGxlO30udmVyc2lvbntjb2xvcjojNzc3O2ZvbnQtc2l6ZTo2NyU7fS5qcyAuaGlkZGVuLC5ub2pzIC5qc29ubHl7ZGlzcGxheTpub25lO30ubm93cmFwIHRkLC5ub3dyYXAgdGgsdGQubm93cmFwe3doaXRlLXNwYWNlOnByZTt9LndyYXAgdGR7d2hpdGUtc3BhY2U6bm9ybWFsO30uZXJyb3J7Y29sb3I6cmVkO2JhY2tncm91bmQ6I2ZlZTt9LmVycm9yIGJ7YmFja2dyb3VuZDojZmZmO2ZvbnQtd2VpZ2h0Om5vcm1hbDt9Lm1lc3NhZ2V7Y29sb3I6Z3JlZW47YmFja2dyb3VuZDojZWZlO30uZXJyb3IsLm1lc3NhZ2V7cGFkZGluZzouNWVtIC44ZW07bWFyZ2luOjFlbSAyMHB4IDAgMDt9LmNoYXJ7Y29sb3I6IzAwN0YwMDt9LmRhdGV7Y29sb3I6IzdGMDA3Rjt9LmVudW17Y29sb3I6IzAwN0Y3Rjt9LmJpbmFyeXtjb2xvcjpyZWQ7fS5vZGQgdGR7YmFja2dyb3VuZDojRjVGNUY1O30udGltZXtjb2xvcjpzaWx2ZXI7Zm9udC1zaXplOjcwJTt9LmZ1bmN0aW9ue3RleHQtYWxpZ246cmlnaHQ7fS5udW1iZXJ7dGV4dC1hbGlnbjpyaWdodDt9LmRhdGV0aW1le3RleHQtYWxpZ246cmlnaHQ7fS50eXBle3dpZHRoOjE1ZXg7d2lkdGg6YXV0b1xcOTt9Lm9wdGlvbnMgc2VsZWN0e3dpZHRoOjIwZXg7d2lkdGg6YXV0b1xcOTt9LmFjdGl2ZXtmb250LXdlaWdodDpib2xkO30uc3FsYXJlYXt3aWR0aDo5OCU7fSNtZW51e3Bvc2l0aW9uOmFic29sdXRlO21hcmdpbjoxMHB4IDAgMDtwYWRkaW5nOjAgMCAzMHB4IDA7dG9wOjJlbTtsZWZ0OjA7d2lkdGg6MTllbTtvdmVyZmxvdzphdXRvO292ZXJmbG93LXk6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt9I21lbnUgcHtwYWRkaW5nOi44ZW0gMWVtO21hcmdpbjowO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNjY2M7fSNjb250ZW50e21hcmdpbjoyZW0gMCAwIDIxZW07cGFkZGluZzoxMHB4IDIwcHggMjBweCAwO30jbGFuZ3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7bGluZS1oZWlnaHQ6MS44ZW07cGFkZGluZzouM2VtIDFlbTt9I2JyZWFkY3J1bWJ7d2hpdGUtc3BhY2U6bm93cmFwO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MjFlbTtiYWNrZ3JvdW5kOiNlZWU7aGVpZ2h0OjJlbTtsaW5lLWhlaWdodDoxLjhlbTtwYWRkaW5nOjAgMWVtO21hcmdpbjowIDAgMCAtMThweDt9I2xvYWRlcntwb3NpdGlvbjpmaXhlZDt0b3A6MDtsZWZ0OjE4ZW07ei1pbmRleDoxO30jaDF7Y29sb3I6Izc3Nzt0ZXh0LWRlY29yYXRpb246bm9uZTtmb250LXN0eWxlOml0YWxpYzt9I3ZlcnNpb257Zm9udC1zaXplOjY3JTtjb2xvcjpyZWQ7fSNzY2hlbWF7bWFyZ2luLWxlZnQ6NjBweDtwb3NpdGlvbjpyZWxhdGl2ZTt9I3NjaGVtYSAudGFibGV7Ym9yZGVyOjFweCBzb2xpZCBzaWx2ZXI7cGFkZGluZzowIDJweDtjdXJzb3I6bW92ZTtwb3NpdGlvbjphYnNvbHV0ZTt9I3NjaGVtYSAucmVmZXJlbmNlc3twb3NpdGlvbjphYnNvbHV0ZTt9LnJ0bCBoMnttYXJnaW46MCAtMThweCAyMHB4IDA7fS5ydGwgcCwucnRsIHRhYmxlLC5ydGwgLmVycm9yLC5ydGwgLm1lc3NhZ2V7bWFyZ2luOjFlbSAwIDAgMjBweDt9LnJ0bCAjY29udGVudHttYXJnaW46MmVtIDIxZW0gMCAwO3BhZGRpbmc6MTBweCAwIDIwcHggMjBweDt9LnJ0bCAjYnJlYWRjcnVtYntsZWZ0OmF1dG87cmlnaHQ6MjFlbTttYXJnaW46MCAtMThweCAwIDA7fS5ydGwgI2xhbmcsLnJ0bCAjbWVudXtsZWZ0OmF1dG87cmlnaHQ6MDt9QG1lZGlhIHByaW50eyNsYW5nLCNtZW51e2Rpc3BsYXk6bm9uZTt9I2NvbnRlbnR7bWFyZ2luLWxlZnQ6MWVtO30jYnJlYWRjcnVtYntsZWZ0OjFlbTt9Lm5vd3JhcCB0ZCwubm93cmFwIHRoLHRkLm5vd3JhcHt3aGl0ZS1zcGFjZTpub3JtYWw7fX0nO31lbHNlaWYoJF9HRVRbImZpbGUiXT09ImZ1bmN0aW9ucy5qcyIpe2hlYWRlcigiQ29udGVudC1UeXBlOiB0ZXh0L2phdmFzY3JpcHQ7IGNoYXJzZXQ9dXRmLTgiKTs/PgpmdW5jdGlvbiB0b2dnbGUoaWQpe3ZhciBlbD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7ZWwuY2xhc3NOYW1lPShlbC5jbGFzc05hbWU9PSdoaWRkZW4nPycnOidoaWRkZW4nKTtyZXR1cm4gdHJ1ZTt9CmZ1bmN0aW9uIGNvb2tpZShhc3NpZ24sZGF5cyl7dmFyIGRhdGU9bmV3IERhdGUoKTtkYXRlLnNldERhdGUoZGF0ZS5nZXREYXRlKCkrZGF5cyk7ZG9jdW1lbnQuY29va2llPWFzc2lnbisnOyBleHBpcmVzPScrZGF0ZTt9CmZ1bmN0aW9uIHZlcmlmeVZlcnNpb24oKXtjb29raWUoJ2FkbWluZXJfdmVyc2lvbj0wJywxKTt2YXIgc2NyaXB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO3NjcmlwdC5zcmM9bG9jYXRpb24ucHJvdG9jb2wrJy8vd3d3LmFkbWluZXIub3JnL3ZlcnNpb24ucGhwJztkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHNjcmlwdCk7fQpmdW5jdGlvbiBzZWxlY3RWYWx1ZShzZWxlY3Qpe3ZhciBzZWxlY3RlZD1zZWxlY3Qub3B0aW9uc1tzZWxlY3Quc2VsZWN0ZWRJbmRleF07cmV0dXJuKChzZWxlY3RlZC5hdHRyaWJ1dGVzLnZhbHVlfHx7fSkuc3BlY2lmaWVkP3NlbGVjdGVkLnZhbHVlOnNlbGVjdGVkLnRleHQpO30KZnVuY3Rpb24gZm9ybUNoZWNrKGVsLG5hbWUpe3ZhciBlbGVtcz1lbC5mb3JtLmVsZW1lbnRzO2Zvcih2YXIgaT0wO2k8ZWxlbXMubGVuZ3RoO2krKyl7aWYobmFtZS50ZXN0KGVsZW1zW2ldLm5hbWUpKXtlbGVtc1tpXS5jaGVja2VkPWVsLmNoZWNrZWQ7fX19CmZ1bmN0aW9uIGZvcm1VbmNoZWNrKGlkKXtkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCkuY2hlY2tlZD1mYWxzZTt9CmZ1bmN0aW9uIGZvcm1DaGVja2VkKGVsLG5hbWUpe3ZhciBjaGVja2VkPTA7dmFyIGVsZW1zPWVsLmZvcm0uZWxlbWVudHM7Zm9yKHZhciBpPTA7aTxlbGVtcy5sZW5ndGg7aSsrKXtpZihuYW1lLnRlc3QoZWxlbXNbaV0ubmFtZSkmJmVsZW1zW2ldLmNoZWNrZWQpe2NoZWNrZWQrKzt9fQpyZXR1cm4gY2hlY2tlZDt9CmZ1bmN0aW9uIHRhYmxlQ2xpY2soZXZlbnQpe3ZhciBlbD1ldmVudC50YXJnZXR8fGV2ZW50LnNyY0VsZW1lbnQ7d2hpbGUoIS9edHIkL2kudGVzdChlbC50YWdOYW1lKSl7aWYoL14odGFibGV8YXxpbnB1dHx0ZXh0YXJlYSkkL2kudGVzdChlbC50YWdOYW1lKSl7cmV0dXJuO30KZWw9ZWwucGFyZW50Tm9kZTt9CmVsPWVsLmZpcnN0Q2hpbGQuZmlyc3RDaGlsZDtlbC5jbGljayYmZWwuY2xpY2soKTtlbC5vbmNsaWNrJiZlbC5vbmNsaWNrKCk7fQpmdW5jdGlvbiBzZXRIdG1sKGlkLGh0bWwpe3ZhciBlbD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7aWYoZWwpe2lmKGh0bWw9PXVuZGVmaW5lZCl7ZWwucGFyZW50Tm9kZS5pbm5lckhUTUw9JyZuYnNwOyc7fWVsc2V7ZWwuaW5uZXJIVE1MPWh0bWw7fX19CmZ1bmN0aW9uIG5vZGVQb3NpdGlvbihlbCl7dmFyIHBvcz0wO3doaWxlKGVsPWVsLnByZXZpb3VzU2libGluZyl7cG9zKys7fQpyZXR1cm4gcG9zO30KZnVuY3Rpb24gcGFnZUNsaWNrKGhyZWYscGFnZSxldmVudCl7aWYoIWlzTmFOKHBhZ2UpJiZwYWdlKXtocmVmKz0ocGFnZSE9MT8nJnBhZ2U9JysocGFnZS0xKTonJyk7aWYoIWFqYXhTZW5kKGhyZWYpKXtsb2NhdGlvbi5ocmVmPWhyZWY7fX19CmZ1bmN0aW9uIHNlbGVjdEFkZFJvdyhmaWVsZCl7ZmllbGQub25jaGFuZ2U9ZnVuY3Rpb24oKXt9O3ZhciByb3c9ZmllbGQucGFyZW50Tm9kZS5jbG9uZU5vZGUodHJ1ZSk7dmFyIHNlbGVjdHM9cm93LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzZWxlY3QnKTtmb3IodmFyIGk9MDtpPHNlbGVjdHMubGVuZ3RoO2krKyl7c2VsZWN0c1tpXS5uYW1lPXNlbGVjdHNbaV0ubmFtZS5yZXBsYWNlKC9bYS16XVxbXGQrLywnJCYxJyk7c2VsZWN0c1tpXS5zZWxlY3RlZEluZGV4PTA7fQp2YXIgaW5wdXRzPXJvdy5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaW5wdXQnKTtpZihpbnB1dHMubGVuZ3RoKXtpbnB1dHNbMF0ubmFtZT1pbnB1dHNbMF0ubmFtZS5yZXBsYWNlKC9bYS16XVxbXGQrLywnJCYxJyk7aW5wdXRzWzBdLnZhbHVlPScnO2lucHV0c1swXS5jbGFzc05hbWU9Jyc7fQpmaWVsZC5wYXJlbnROb2RlLnBhcmVudE5vZGUuYXBwZW5kQ2hpbGQocm93KTt9CmZ1bmN0aW9uIGJvZHlLZXlkb3duKGV2ZW50LGJ1dHRvbil7dmFyIHRhcmdldD1ldmVudC50YXJnZXR8fGV2ZW50LnNyY0VsZW1lbnQ7aWYoZXZlbnQuY3RybEtleSYmKGV2ZW50LmtleUNvZGU9PTEzfHxldmVudC5rZXlDb2RlPT0xMCkmJiFldmVudC5hbHRLZXkmJiFldmVudC5tZXRhS2V5JiYvc2VsZWN0fHRleHRhcmVhfGlucHV0L2kudGVzdCh0YXJnZXQudGFnTmFtZSkpe3RhcmdldC5ibHVyKCk7aWYoIWFqYXhGb3JtKHRhcmdldC5mb3JtLChidXR0b24/YnV0dG9uKyc9MSc6JycpKSl7aWYoYnV0dG9uKXt0YXJnZXQuZm9ybVtidXR0b25dLmNsaWNrKCk7fWVsc2V7dGFyZ2V0LmZvcm0uc3VibWl0KCk7fX0KcmV0dXJuIGZhbHNlO30KcmV0dXJuIHRydWU7fQpmdW5jdGlvbiBlZGl0aW5nS2V5ZG93bihldmVudCl7aWYoKGV2ZW50LmtleUNvZGU9PTQwfHxldmVudC5rZXlDb2RlPT0zOCkmJmV2ZW50LmN0cmxLZXkmJiFldmVudC5hbHRLZXkmJiFldmVudC5tZXRhS2V5KXt2YXIgdGFyZ2V0PWV2ZW50LnRhcmdldHx8ZXZlbnQuc3JjRWxlbWVudDt2YXIgc2libGluZz0oZXZlbnQua2V5Q29kZT09NDA/J25leHRTaWJsaW5nJzoncHJldmlvdXNTaWJsaW5nJyk7dmFyIGVsPXRhcmdldC5wYXJlbnROb2RlLnBhcmVudE5vZGVbc2libGluZ107aWYoZWwmJigvXnRyJC9pLnRlc3QoZWwudGFnTmFtZSl8fChlbD1lbFtzaWJsaW5nXSkpJiYvXnRyJC9pLnRlc3QoZWwudGFnTmFtZSkmJihlbD1lbC5jaGlsZE5vZGVzW25vZGVQb3NpdGlvbih0YXJnZXQucGFyZW50Tm9kZSldKSYmKGVsPWVsLmNoaWxkTm9kZXNbbm9kZVBvc2l0aW9uKHRhcmdldCldKSl7ZWwuZm9jdXMoKTt9CnJldHVybiBmYWxzZTt9CmlmKGV2ZW50LnNoaWZ0S2V5JiYhYm9keUtleWRvd24oZXZlbnQsJ2luc2VydCcpKXtldmVudFN0b3AoZXZlbnQpO3JldHVybiBmYWxzZTt9CnJldHVybiB0cnVlO30KZnVuY3Rpb24gZnVuY3Rpb25DaGFuZ2Uoc2VsZWN0KXt2YXIgaW5wdXQ9c2VsZWN0LmZvcm1bc2VsZWN0Lm5hbWUucmVwbGFjZSgvXmZ1bmN0aW9uLywnZmllbGRzJyldO2lmKHNlbGVjdFZhbHVlKHNlbGVjdCkpe2lmKGlucHV0Lm9yaWdNYXhMZW5ndGg9PT11bmRlZmluZWQpe2lucHV0Lm9yaWdNYXhMZW5ndGg9aW5wdXQubWF4TGVuZ3RoO30KaW5wdXQucmVtb3ZlQXR0cmlidXRlKCdtYXhsZW5ndGgnKTt9ZWxzZSBpZihpbnB1dC5vcmlnTWF4TGVuZ3RoPj0wKXtpbnB1dC5tYXhMZW5ndGg9aW5wdXQub3JpZ01heExlbmd0aDt9fQpmdW5jdGlvbiBhamF4KHVybCxjYWxsYmFjayxkYXRhKXt2YXIgeG1saHR0cD0od2luZG93LlhNTEh0dHBSZXF1ZXN0P25ldyBYTUxIdHRwUmVxdWVzdCgpOih3aW5kb3cuQWN0aXZlWE9iamVjdD9uZXcgQWN0aXZlWE9iamVjdCgnTWljcm9zb2Z0LlhNTEhUVFAnKTpmYWxzZSkpO2lmKHhtbGh0dHApe3htbGh0dHAub3BlbigoZGF0YT8nUE9TVCc6J0dFVCcpLHVybCk7aWYoZGF0YSl7eG1saHR0cC5zZXRSZXF1ZXN0SGVhZGVyKCdDb250ZW50LVR5cGUnLCdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnKTt9CnhtbGh0dHAuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsJ1hNTEh0dHBSZXF1ZXN0Jyk7eG1saHR0cC5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rpb24oKXtpZih4bWxodHRwLnJlYWR5U3RhdGU9PTQpe2NhbGxiYWNrKHhtbGh0dHApO319O3htbGh0dHAuc2VuZChkYXRhKTt9CnJldHVybiB4bWxodHRwO30KZnVuY3Rpb24gYWpheFNldEh0bWwodXJsKXtyZXR1cm4gYWpheCh1cmwsZnVuY3Rpb24oeG1saHR0cCl7aWYoeG1saHR0cC5zdGF0dXMpe3ZhciBkYXRhPWV2YWwoJygnK3htbGh0dHAucmVzcG9uc2VUZXh0KycpJyk7Zm9yKHZhciBrZXkgaW4gZGF0YSl7c2V0SHRtbChrZXksZGF0YVtrZXldKTt9fX0pO30KdmFyIG9yaWdpbmFsRmF2aWNvbjtmdW5jdGlvbiByZXBsYWNlRmF2aWNvbihocmVmKXt2YXIgZmF2aWNvbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZmF2aWNvbicpO2lmKGZhdmljb24pe2Zhdmljb24uaHJlZj1ocmVmO2Zhdmljb24ucGFyZW50Tm9kZS5hcHBlbmRDaGlsZChmYXZpY29uKTt9fQp2YXIgYWpheFN0YXRlPTA7ZnVuY3Rpb24gYWpheFNlbmQodXJsLGRhdGEscG9wU3RhdGUsbm9zY3JvbGwpe2lmKCFoaXN0b3J5LnB1c2hTdGF0ZSl7cmV0dXJuIGZhbHNlO30KdmFyIGN1cnJlbnRTdGF0ZT0rK2FqYXhTdGF0ZTtvbmJsdXI9ZnVuY3Rpb24oKXtpZighb3JpZ2luYWxGYXZpY29uKXtvcmlnaW5hbEZhdmljb249KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmYXZpY29uJyl8fHt9KS5ocmVmO30KcmVwbGFjZUZhdmljb24obG9jYXRpb24ucGF0aG5hbWUrJz9maWxlPWxvYWRlci5naWYmYW1wO3ZlcnNpb249My4zLjInKTt9O3NldEh0bWwoJ2xvYWRlcicsJzxpbWcgc3JjPSInK2xvY2F0aW9uLnBhdGhuYW1lKyc/ZmlsZT1sb2FkZXIuZ2lmJmFtcDt2ZXJzaW9uPTMuMy4yIiBhbHQ9IiI+Jyk7cmV0dXJuIGFqYXgodXJsLGZ1bmN0aW9uKHhtbGh0dHApe2lmKGN1cnJlbnRTdGF0ZT09YWpheFN0YXRlKXt2YXIgdGl0bGU9eG1saHR0cC5nZXRSZXNwb25zZUhlYWRlcignWC1BSkFYLVRpdGxlJyk7aWYodGl0bGUpe2RvY3VtZW50LnRpdGxlPWRlY29kZVVSSUNvbXBvbmVudCh0aXRsZSk7fQp2YXIgcmVkaXJlY3Q9eG1saHR0cC5nZXRSZXNwb25zZUhlYWRlcignWC1BSkFYLVJlZGlyZWN0Jyk7aWYocmVkaXJlY3Qpe3JldHVybiBhamF4U2VuZChyZWRpcmVjdCwnJyxwb3BTdGF0ZSk7fQpvbmJsdXI9ZnVuY3Rpb24oKXt9O3JlcGxhY2VGYXZpY29uKG9yaWdpbmFsRmF2aWNvbik7aWYoIXhtbGh0dHAuc3RhdHVzKXtzZXRIdG1sKCdsb2FkZXInLCcnKTt9ZWxzZXtpZighcG9wU3RhdGUpe2lmKGRhdGF8fHVybCE9bG9jYXRpb24uaHJlZil7aGlzdG9yeS5wdXNoU3RhdGUoZGF0YSwnJyx1cmwpO319CmlmKCFub3Njcm9sbCYmIS8mb3JkZXIvLnRlc3QodXJsKSl7c2Nyb2xsVG8oMCwwKTt9CnNldEh0bWwoJ2NvbnRlbnQnLHhtbGh0dHAucmVzcG9uc2VUZXh0KTt2YXIgY29udGVudD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29udGVudCcpO3ZhciBzY3JpcHRzPWNvbnRlbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NjcmlwdCcpO3ZhciBsZW5ndGg9c2NyaXB0cy5sZW5ndGg7Zm9yKHZhciBpPTA7aTxsZW5ndGg7aSsrKXt2YXIgc2NyaXB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO3NjcmlwdC50ZXh0PXNjcmlwdHNbaV0udGV4dDtjb250ZW50LmFwcGVuZENoaWxkKHNjcmlwdCk7fQp2YXIgYXM9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21lbnUnKS5nZXRFbGVtZW50c0J5VGFnTmFtZSgnYScpO3ZhciBocmVmPWxvY2F0aW9uLmhyZWYucmVwbGFjZSgvKCYoc3FsPXxkdW1wPXwoc2VsZWN0fHRhYmxlKT1bXiZdKikpLiovLCckMScpO2Zvcih2YXIgaT0wO2k8YXMubGVuZ3RoO2krKyl7YXNbaV0uY2xhc3NOYW1lPShocmVmPT1hc1tpXS5ocmVmPydhY3RpdmUnOicnKTt9CnZhciBkdW1wPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkdW1wJyk7aWYoZHVtcCl7dmFyIG1hdGNoPS8mKHNlbGVjdHx0YWJsZSk9KFteJl0rKS8uZXhlYyhocmVmKTtkdW1wLmhyZWY9ZHVtcC5ocmVmLnJlcGxhY2UoL1tePV0rJC8sJycpKyhtYXRjaD9tYXRjaFsyXTonJyk7fQppZih3aW5kb3cuanVzaCl7anVzaC5oaWdobGlnaHRfdGFnKCdjb2RlJywwKTt9fX19LGRhdGEpO30Kb25wb3BzdGF0ZT1mdW5jdGlvbihldmVudCl7aWYoKGFqYXhTdGF0ZXx8ZXZlbnQuc3RhdGUpJiYhLyMvLnRlc3QobG9jYXRpb24uaHJlZikpe2FqYXhTZW5kKGxvY2F0aW9uLmhyZWYsKGV2ZW50LnN0YXRlJiZjb25maXJtKGFyZVlvdVN1cmUpP2V2ZW50LnN0YXRlOicnKSwxKTt9ZWxzZXthamF4U3RhdGUrKzt9fTtmdW5jdGlvbiBhamF4Rm9ybShmb3JtLGRhdGEsbm9zY3JvbGwpe2lmKCgvJihkYXRhYmFzZXxzY2hlbWV8Y3JlYXRlfHZpZXd8c3FsfHVzZXJ8ZHVtcHxjYWxsKT0vLnRlc3QobG9jYXRpb24uaHJlZikmJiEvXC4vLnRlc3QoZGF0YSkpfHwoZm9ybS5vbnN1Ym1pdCYmZm9ybS5vbnN1Ym1pdCgpPT09ZmFsc2UpKXtyZXR1cm4gZmFsc2U7fQp2YXIgcGFyYW1zPVtdO2Zvcih2YXIgaT0wO2k8Zm9ybS5lbGVtZW50cy5sZW5ndGg7aSsrKXt2YXIgZWw9Zm9ybS5lbGVtZW50c1tpXTtpZigvZmlsZS9pLnRlc3QoZWwudHlwZSkmJmVsLnZhbHVlKXtyZXR1cm4gZmFsc2U7fWVsc2UgaWYoZWwubmFtZSYmKCEvY2hlY2tib3h8cmFkaW98c3VibWl0fGZpbGUvaS50ZXN0KGVsLnR5cGUpfHxlbC5jaGVja2VkKSl7cGFyYW1zLnB1c2goZW5jb2RlVVJJQ29tcG9uZW50KGVsLm5hbWUpKyc9JytlbmNvZGVVUklDb21wb25lbnQoL3NlbGVjdC9pLnRlc3QoZWwudGFnTmFtZSk/c2VsZWN0VmFsdWUoZWwpOmVsLnZhbHVlKSk7fX0KaWYoZGF0YSl7cGFyYW1zLnB1c2goZGF0YSk7fQppZihmb3JtLm1ldGhvZD09J3Bvc3QnKXtyZXR1cm4gYWpheFNlbmQoKC9cPy8udGVzdChmb3JtLmFjdGlvbik/Zm9ybS5hY3Rpb246bG9jYXRpb24uaHJlZikscGFyYW1zLmpvaW4oJyYnKSxmYWxzZSxub3Njcm9sbCk7fQpyZXR1cm4gYWpheFNlbmQoKGZvcm0uYWN0aW9ufHxsb2NhdGlvbi5ocmVmKS5yZXBsYWNlKC9cPy4qLywnJykrJz8nK3BhcmFtcy5qb2luKCcmJyksJycsZmFsc2Usbm9zY3JvbGwpO30KZnVuY3Rpb24gc2VsZWN0RGJsQ2xpY2sodGQsZXZlbnQsdGV4dCl7aWYoL2lucHV0fHRleHRhcmVhL2kudGVzdCh0ZC5maXJzdENoaWxkLnRhZ05hbWUpKXtyZXR1cm47fQp2YXIgb3JpZ2luYWw9dGQuaW5uZXJIVE1MO3ZhciBpbnB1dD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KHRleHQ/J3RleHRhcmVhJzonaW5wdXQnKTtpbnB1dC5vbmtleWRvd249ZnVuY3Rpb24oZXZlbnQpe2lmKCFldmVudCl7ZXZlbnQ9d2luZG93LmV2ZW50O30KaWYoZXZlbnQua2V5Q29kZT09MjcmJiEoZXZlbnQuY3RybEtleXx8ZXZlbnQuc2hpZnRLZXl8fGV2ZW50LmFsdEtleXx8ZXZlbnQubWV0YUtleSkpe3RkLmlubmVySFRNTD1vcmlnaW5hbDt9fTt2YXIgcG9zPWV2ZW50LnJhbmdlT2Zmc2V0O3ZhciB2YWx1ZT10ZC5maXJzdENoaWxkLmFsdHx8dGQudGV4dENvbnRlbnR8fHRkLmlubmVyVGV4dDtpbnB1dC5zdHlsZS53aWR0aD1NYXRoLm1heCh0ZC5jbGllbnRXaWR0aC0xNCwyMCkrJ3B4JztpZih0ZXh0KXt2YXIgcm93cz0xO3ZhbHVlLnJlcGxhY2UoL1xuL2csZnVuY3Rpb24oKXtyb3dzKys7fSk7aW5wdXQucm93cz1yb3dzO30KaWYodmFsdWU9PSdcdTAwQTAnfHx0ZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaScpLmxlbmd0aCl7dmFsdWU9Jyc7fQppZihkb2N1bWVudC5zZWxlY3Rpb24pe3ZhciByYW5nZT1kb2N1bWVudC5zZWxlY3Rpb24uY3JlYXRlUmFuZ2UoKTtyYW5nZS5tb3ZlVG9Qb2ludChldmVudC5jbGllbnRYLGV2ZW50LmNsaWVudFkpO3ZhciByYW5nZTI9cmFuZ2UuZHVwbGljYXRlKCk7cmFuZ2UyLm1vdmVUb0VsZW1lbnRUZXh0KHRkKTtyYW5nZTIuc2V0RW5kUG9pbnQoJ0VuZFRvRW5kJyxyYW5nZSk7cG9zPXJhbmdlMi50ZXh0Lmxlbmd0aDt9CnRkLmlubmVySFRNTD0nJzt0ZC5hcHBlbmRDaGlsZChpbnB1dCk7aW5wdXQuZm9jdXMoKTtpZih0ZXh0PT0yKXtyZXR1cm4gYWpheChsb2NhdGlvbi5ocmVmKycmJytlbmNvZGVVUklDb21wb25lbnQodGQuaWQpKyc9JyxmdW5jdGlvbih4bWxodHRwKXtpZih4bWxodHRwLnN0YXR1cyl7aW5wdXQudmFsdWU9eG1saHR0cC5yZXNwb25zZVRleHQ7aW5wdXQubmFtZT10ZC5pZDt9fSk7fQppbnB1dC52YWx1ZT12YWx1ZTtpbnB1dC5uYW1lPXRkLmlkO2lucHV0LnNlbGVjdGlvblN0YXJ0PXBvcztpbnB1dC5zZWxlY3Rpb25FbmQ9cG9zO2lmKGRvY3VtZW50LnNlbGVjdGlvbil7dmFyIHJhbmdlPWRvY3VtZW50LnNlbGVjdGlvbi5jcmVhdGVSYW5nZSgpO3JhbmdlLm1vdmVFbmQoJ2NoYXJhY3RlcicsLWlucHV0LnZhbHVlLmxlbmd0aCtwb3MpO3JhbmdlLnNlbGVjdCgpO319CmZ1bmN0aW9uIGJvZHlDbGljayhldmVudCxkYixucyl7aWYoZXZlbnQuYnV0dG9ufHxldmVudC5jdHJsS2V5fHxldmVudC5zaGlmdEtleXx8ZXZlbnQuYWx0S2V5fHxldmVudC5tZXRhS2V5KXtyZXR1cm47fQppZihldmVudC5nZXRQcmV2ZW50RGVmYXVsdD9ldmVudC5nZXRQcmV2ZW50RGVmYXVsdCgpOmV2ZW50LnJldHVyblZhbHVlPT09ZmFsc2V8fGV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpe3JldHVybiBmYWxzZTt9CnZhciBlbD1ldmVudC50YXJnZXR8fGV2ZW50LnNyY0VsZW1lbnQ7aWYoL15hJC9pLnRlc3QoZWwucGFyZW50Tm9kZS50YWdOYW1lKSl7ZWw9ZWwucGFyZW50Tm9kZTt9CmlmKC9eYSQvaS50ZXN0KGVsLnRhZ05hbWUpJiYhLzp8I3wmZG93bmxvYWQ9L2kudGVzdChlbC5nZXRBdHRyaWJ1dGUoJ2hyZWYnKSkmJi9bJj9ddXNlcm5hbWU9Ly50ZXN0KGVsLmhyZWYpKXt2YXIgbWF0Y2g9LyZkYj0oW14mXSopLy5leGVjKGVsLmhyZWYpO3ZhciBtYXRjaDI9LyZucz0oW14mXSopLy5leGVjKGVsLmhyZWYpO3JldHVybiEoZGI9PShtYXRjaD9tYXRjaFsxXTonJykmJm5zPT0obWF0Y2gyP21hdGNoMlsxXTonJykmJmFqYXhTZW5kKGVsLmhyZWYpKTt9CmlmKC9eaW5wdXQkL2kudGVzdChlbC50YWdOYW1lKSYmL2ltYWdlfHN1Ym1pdC8udGVzdChlbC50eXBlKSl7cmV0dXJuIWFqYXhGb3JtKGVsLmZvcm0sKGVsLm5hbWU/ZW5jb2RlVVJJQ29tcG9uZW50KGVsLm5hbWUpKyhlbC50eXBlPT0naW1hZ2UnPycueCc6JycpKyc9MSc6JycpLGVsLnR5cGU9PSdpbWFnZScpO30KcmV0dXJuIHRydWU7fQpmdW5jdGlvbiBldmVudFN0b3AoZXZlbnQpe2lmKGV2ZW50LnN0b3BQcm9wYWdhdGlvbil7ZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7fWVsc2V7ZXZlbnQuY2FuY2VsQnViYmxlPXRydWU7fX0KdmFyIGp1c2hSb290PWxvY2F0aW9uLnByb3RvY29sICsgJy8vd3d3LmFkbWluZXIub3JnL3N0YXRpYy8nO2Z1bmN0aW9uIGJvZHlMb2FkKHZlcnNpb24pe2lmKGhpc3Rvcnkuc3RhdGUhPT11bmRlZmluZWQpe29ucG9wc3RhdGUoaGlzdG9yeSk7fQppZihqdXNoUm9vdCl7dmFyIHNjcmlwdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtzY3JpcHQuc3JjPWp1c2hSb290KydqdXNoLmpzJztzY3JpcHQub25sb2FkPWZ1bmN0aW9uKCl7aWYod2luZG93Lmp1c2gpe2p1c2guY3JlYXRlX2xpbmtzPScgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9yZWZlcnJlciInO2p1c2gudXJscy5zcWxfc3Fsc2V0PWp1c2gudXJscy5zcWxbMF09anVzaC51cmxzLnNxbHNldFswXT1qdXNoLnVybHMuc3Fsc3RhdHVzWzBdPSdodHRwOi8vZGV2Lm15c3FsLmNvbS9kb2MvcmVmbWFuLycrdmVyc2lvbisnL2VuLyRrZXknO3ZhciBwZ3NxbD0naHR0cDovL3d3dy5wb3N0Z3Jlc3FsLm9yZy9kb2NzLycrdmVyc2lvbisnL3N0YXRpYy8nO2p1c2gudXJscy5wZ3NxbF9wZ3NxbHNldD1qdXNoLnVybHMucGdzcWxbMF09cGdzcWwrJyRrZXknO2p1c2gudXJscy5wZ3NxbHNldFswXT1wZ3NxbCsncnVudGltZS1jb25maWctJGtleS5odG1sI0dVQy0kMSc7anVzaC5zdHlsZShqdXNoUm9vdCsnanVzaC5jc3MnKTtpZih3aW5kb3cuanVzaExpbmtzKXtqdXNoLmN1c3RvbV9saW5rcz1qdXNoTGlua3M7fQpqdXNoLmhpZ2hsaWdodF90YWcoJ2NvZGUnLDApO319O3NjcmlwdC5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rpb24oKXtpZigvXihsb2FkZWR8Y29tcGxldGUpJC8udGVzdChzY3JpcHQucmVhZHlTdGF0ZSkpe3NjcmlwdC5vbmxvYWQoKTt9fTtkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHNjcmlwdCk7fX0KZnVuY3Rpb24gZm9ybUZpZWxkKGZvcm0sbmFtZSl7Zm9yKHZhciBpPTA7aTxmb3JtLmxlbmd0aDtpKyspe2lmKGZvcm1baV0ubmFtZT09bmFtZSl7cmV0dXJuIGZvcm1baV07fX19CmZ1bmN0aW9uIHR5cGVQYXNzd29yZChlbCxkaXNhYmxlKXt0cnl7ZWwudHlwZT0oZGlzYWJsZT8ndGV4dCc6J3Bhc3N3b3JkJyk7fWNhdGNoKGUpe319CmZ1bmN0aW9uIGxvZ2luRHJpdmVyKGRyaXZlcil7dmFyIHRycz1kcml2ZXIucGFyZW50Tm9kZS5wYXJlbnROb2RlLnBhcmVudE5vZGUucm93cztmb3IodmFyIGk9MTtpPHRycy5sZW5ndGg7aSsrKXt0cnNbaV0uY2xhc3NOYW1lPSgvc3FsaXRlLy50ZXN0KGRyaXZlci52YWx1ZSk/J2hpZGRlbic6JycpO319CmZ1bmN0aW9uIHRleHRhcmVhS2V5ZG93bih0YXJnZXQsZXZlbnQpe2lmKCFldmVudC5zaGlmdEtleSYmIWV2ZW50LmFsdEtleSYmIWV2ZW50LmN0cmxLZXkmJiFldmVudC5tZXRhS2V5KXtpZihldmVudC5rZXlDb2RlPT05KXtpZih0YXJnZXQuc2V0U2VsZWN0aW9uUmFuZ2Upe3ZhciBzdGFydD10YXJnZXQuc2VsZWN0aW9uU3RhcnQ7dmFyIHNjcm9sbGVkPXRhcmdldC5zY3JvbGxUb3A7dGFyZ2V0LnZhbHVlPXRhcmdldC52YWx1ZS5zdWJzdHIoMCxzdGFydCkrJ1x0Jyt0YXJnZXQudmFsdWUuc3Vic3RyKHRhcmdldC5zZWxlY3Rpb25FbmQpO3RhcmdldC5zZXRTZWxlY3Rpb25SYW5nZShzdGFydCsxLHN0YXJ0KzEpO3RhcmdldC5zY3JvbGxUb3A9c2Nyb2xsZWQ7cmV0dXJuIGZhbHNlO31lbHNlIGlmKHRhcmdldC5jcmVhdGVUZXh0UmFuZ2Upe2RvY3VtZW50LnNlbGVjdGlvbi5jcmVhdGVSYW5nZSgpLnRleHQ9J1x0JztyZXR1cm4gZmFsc2U7fX0KaWYoZXZlbnQua2V5Q29kZT09Mjcpe3ZhciBlbHM9dGFyZ2V0LmZvcm0uZWxlbWVudHM7Zm9yKHZhciBpPTE7aTxlbHMubGVuZ3RoO2krKyl7aWYoZWxzW2ktMV09PXRhcmdldCl7ZWxzW2ldLmZvY3VzKCk7YnJlYWs7fX0KcmV0dXJuIGZhbHNlO319CnJldHVybiB0cnVlO30KdmFyIGFkZGVkPScuJyxyb3dDb3VudDtmdW5jdGlvbiBkZWxpbWl0ZXJFcXVhbCh2YWwsYSxiKXtyZXR1cm4odmFsPT1hKydfJytifHx2YWw9PWErYnx8dmFsPT1hK2IuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkrYi5zdWJzdHIoMSkpO30KZnVuY3Rpb24gaWRmRXNjYXBlKHMpe3JldHVybiBzLnJlcGxhY2UoL2AvLCdgYCcpO30KZnVuY3Rpb24gZWRpdGluZ05hbWVDaGFuZ2UoZmllbGQpe3ZhciBuYW1lPWZpZWxkLm5hbWUuc3Vic3RyKDAsZmllbGQubmFtZS5sZW5ndGgtNyk7dmFyIHR5cGU9Zm9ybUZpZWxkKGZpZWxkLmZvcm0sbmFtZSsnW3R5cGVdJyk7dmFyIG9wdHM9dHlwZS5vcHRpb25zO3ZhciBjYW5kaWRhdGU7dmFyIHZhbD1maWVsZC52YWx1ZTtmb3IodmFyIGk9b3B0cy5sZW5ndGg7aS0tOyl7dmFyIG1hdGNoPS8oLispYCguKykvLmV4ZWMob3B0c1tpXS52YWx1ZSk7aWYoIW1hdGNoKXtpZihjYW5kaWRhdGUmJmk9PW9wdHMubGVuZ3RoLTImJnZhbD09b3B0c1tjYW5kaWRhdGVdLnZhbHVlLnJlcGxhY2UoLy4rYC8sJycpJiZuYW1lPT0nZmllbGRzWzFdJyl7cmV0dXJuO30KYnJlYWs7fQp2YXIgdGFibGU9bWF0Y2hbMV07dmFyIGNvbHVtbj1tYXRjaFsyXTt2YXIgdGFibGVzPVt0YWJsZSx0YWJsZS5yZXBsYWNlKC9zJC8sJycpLHRhYmxlLnJlcGxhY2UoL2VzJC8sJycpXTtmb3IodmFyIGo9MDtqPHRhYmxlcy5sZW5ndGg7aisrKXt0YWJsZT10YWJsZXNbal07aWYodmFsPT1jb2x1bW58fHZhbD09dGFibGV8fGRlbGltaXRlckVxdWFsKHZhbCx0YWJsZSxjb2x1bW4pfHxkZWxpbWl0ZXJFcXVhbCh2YWwsY29sdW1uLHRhYmxlKSl7aWYoY2FuZGlkYXRlKXtyZXR1cm47fQpjYW5kaWRhdGU9aTticmVhazt9fX0KaWYoY2FuZGlkYXRlKXt0eXBlLnNlbGVjdGVkSW5kZXg9Y2FuZGlkYXRlO3R5cGUub25jaGFuZ2UoKTt9fQpmdW5jdGlvbiBlZGl0aW5nQWRkUm93KGJ1dHRvbixhbGxvd2VkLGZvY3VzKXtpZihhbGxvd2VkJiZyb3dDb3VudD49YWxsb3dlZCl7cmV0dXJuIGZhbHNlO30KdmFyIG1hdGNoPS8oXGQrKShcLlxkKyk/Ly5leGVjKGJ1dHRvbi5uYW1lKTt2YXIgeD1tYXRjaFswXSsobWF0Y2hbMl0/YWRkZWQuc3Vic3RyKG1hdGNoWzJdLmxlbmd0aCk6YWRkZWQpKycxJzt2YXIgcm93PWJ1dHRvbi5wYXJlbnROb2RlLnBhcmVudE5vZGU7dmFyIHJvdzI9cm93LmNsb25lTm9kZSh0cnVlKTt2YXIgdGFncz1yb3cuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NlbGVjdCcpO3ZhciB0YWdzMj1yb3cyLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzZWxlY3QnKTtmb3IodmFyIGk9MDtpPHRhZ3MubGVuZ3RoO2krKyl7dGFnczJbaV0ubmFtZT10YWdzW2ldLm5hbWUucmVwbGFjZSgvKFswLTkuXSspLyx4KTt0YWdzMltpXS5zZWxlY3RlZEluZGV4PXRhZ3NbaV0uc2VsZWN0ZWRJbmRleDt9CnRhZ3M9cm93LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdpbnB1dCcpO3RhZ3MyPXJvdzIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2lucHV0Jyk7dmFyIGlucHV0PXRhZ3MyWzBdO2Zvcih2YXIgaT0wO2k8dGFncy5sZW5ndGg7aSsrKXtpZih0YWdzW2ldLm5hbWU9PSdhdXRvX2luY3JlbWVudF9jb2wnKXt0YWdzMltpXS52YWx1ZT14O3RhZ3MyW2ldLmNoZWNrZWQ9ZmFsc2U7fQp0YWdzMltpXS5uYW1lPXRhZ3NbaV0ubmFtZS5yZXBsYWNlKC8oWzAtOS5dKykvLHgpO2lmKC9cWyhvcmlnfGZpZWxkfGNvbW1lbnR8ZGVmYXVsdCkvLnRlc3QodGFnc1tpXS5uYW1lKSl7dGFnczJbaV0udmFsdWU9Jyc7fQppZigvXFsoaGFzX2RlZmF1bHQpLy50ZXN0KHRhZ3NbaV0ubmFtZSkpe3RhZ3MyW2ldLmNoZWNrZWQ9ZmFsc2U7fX0KdGFnc1swXS5vbmNoYW5nZT1mdW5jdGlvbigpe2VkaXRpbmdOYW1lQ2hhbmdlKHRhZ3NbMF0pO307cm93LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHJvdzIscm93Lm5leHRTaWJsaW5nKTtpZihmb2N1cyl7aW5wdXQub25jaGFuZ2U9ZnVuY3Rpb24oKXtlZGl0aW5nTmFtZUNoYW5nZShpbnB1dCk7fTtpbnB1dC5mb2N1cygpO30KYWRkZWQrPScwJztyb3dDb3VudCsrO3JldHVybiB0cnVlO30KZnVuY3Rpb24gZWRpdGluZ1JlbW92ZVJvdyhidXR0b24pe3ZhciBmaWVsZD1mb3JtRmllbGQoYnV0dG9uLmZvcm0sYnV0dG9uLm5hbWUucmVwbGFjZSgvZHJvcF9jb2woLispLywnZmllbGRzJDFbZmllbGRdJykpO2ZpZWxkLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZmllbGQpO2J1dHRvbi5wYXJlbnROb2RlLnBhcmVudE5vZGUuc3R5bGUuZGlzcGxheT0nbm9uZSc7cmV0dXJuIHRydWU7fQp2YXIgbGFzdFR5cGU9Jyc7ZnVuY3Rpb24gZWRpdGluZ1R5cGVDaGFuZ2UodHlwZSl7dmFyIG5hbWU9dHlwZS5uYW1lLnN1YnN0cigwLHR5cGUubmFtZS5sZW5ndGgtNik7dmFyIHRleHQ9c2VsZWN0VmFsdWUodHlwZSk7Zm9yKHZhciBpPTA7aTx0eXBlLmZvcm0uZWxlbWVudHMubGVuZ3RoO2krKyl7dmFyIGVsPXR5cGUuZm9ybS5lbGVtZW50c1tpXTtpZihlbC5uYW1lPT1uYW1lKydbbGVuZ3RoXScmJiEoKC8oY2hhcnxiaW5hcnkpJC8udGVzdChsYXN0VHlwZSkmJi8oY2hhcnxiaW5hcnkpJC8udGVzdCh0ZXh0KSl8fCgvKGVudW18c2V0KSQvLnRlc3QobGFzdFR5cGUpJiYvKGVudW18c2V0KSQvLnRlc3QodGV4dCkpKSl7ZWwudmFsdWU9Jyc7fQppZihsYXN0VHlwZT09J3RpbWVzdGFtcCcmJmVsLm5hbWU9PW5hbWUrJ1toYXNfZGVmYXVsdF0nJiYvdGltZXN0YW1wL2kudGVzdChmb3JtRmllbGQodHlwZS5mb3JtLG5hbWUrJ1tkZWZhdWx0XScpLnZhbHVlKSl7ZWwuY2hlY2tlZD1mYWxzZTt9CmlmKGVsLm5hbWU9PW5hbWUrJ1tjb2xsYXRpb25dJyl7ZWwuY2xhc3NOYW1lPSgvKGNoYXJ8dGV4dHxlbnVtfHNldCkkLy50ZXN0KHRleHQpPycnOidoaWRkZW4nKTt9CmlmKGVsLm5hbWU9PW5hbWUrJ1t1bnNpZ25lZF0nKXtlbC5jbGFzc05hbWU9KC8oaW50fGZsb2F0fGRvdWJsZXxkZWNpbWFsKSQvLnRlc3QodGV4dCk/Jyc6J2hpZGRlbicpO30KaWYoZWwubmFtZT09bmFtZSsnW29uX2RlbGV0ZV0nKXtlbC5jbGFzc05hbWU9KC9gLy50ZXN0KHRleHQpPycnOidoaWRkZW4nKTt9fX0KZnVuY3Rpb24gZWRpdGluZ0xlbmd0aEZvY3VzKGZpZWxkKXt2YXIgdGQ9ZmllbGQucGFyZW50Tm9kZTtpZigvKGVudW18c2V0KSQvLnRlc3Qoc2VsZWN0VmFsdWUodGQucHJldmlvdXNTaWJsaW5nLmZpcnN0Q2hpbGQpKSl7dmFyIGVkaXQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2VudW0tZWRpdCcpO3ZhciB2YWw9ZmllbGQudmFsdWU7ZWRpdC52YWx1ZT0oL14nLisnLCcuKyckLy50ZXN0KHZhbCk/dmFsLnN1YnN0cigxLHZhbC5sZW5ndGgtMikucmVwbGFjZSgvJywnL2csIlxuIikucmVwbGFjZSgvJycvZywiJyIpOnZhbCk7dGQuYXBwZW5kQ2hpbGQoZWRpdCk7ZmllbGQuc3R5bGUuZGlzcGxheT0nbm9uZSc7ZWRpdC5zdHlsZS5kaXNwbGF5PSdpbmxpbmUnO2VkaXQuZm9jdXMoKTt9fQpmdW5jdGlvbiBlZGl0aW5nTGVuZ3RoQmx1cihlZGl0KXt2YXIgZmllbGQ9ZWRpdC5wYXJlbnROb2RlLmZpcnN0Q2hpbGQ7dmFyIHZhbD1lZGl0LnZhbHVlO2ZpZWxkLnZhbHVlPSgvXG4vLnRlc3QodmFsKT8iJyIrdmFsLnJlcGxhY2UoL1xuKyQvLCcnKS5yZXBsYWNlKC8nL2csIicnIikucmVwbGFjZSgvXG4vZywiJywnIikrIiciOnZhbCk7ZmllbGQuc3R5bGUuZGlzcGxheT0naW5saW5lJztlZGl0LnN0eWxlLmRpc3BsYXk9J25vbmUnO30KZnVuY3Rpb24gY29sdW1uU2hvdyhjaGVja2VkLGNvbHVtbil7dmFyIHRycz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZWRpdC1maWVsZHMnKS5nZXRFbGVtZW50c0J5VGFnTmFtZSgndHInKTtmb3IodmFyIGk9MDtpPHRycy5sZW5ndGg7aSsrKXt0cnNbaV0uZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3RkJylbY29sdW1uXS5jbGFzc05hbWU9KGNoZWNrZWQ/Jyc6J2hpZGRlbicpO319CmZ1bmN0aW9uIHBhcnRpdGlvbkJ5Q2hhbmdlKGVsKXt2YXIgcGFydGl0aW9uVGFibGU9L1JBTkdFfExJU1QvLnRlc3Qoc2VsZWN0VmFsdWUoZWwpKTtlbC5mb3JtWydwYXJ0aXRpb25zJ10uY2xhc3NOYW1lPShwYXJ0aXRpb25UYWJsZXx8IWVsLnNlbGVjdGVkSW5kZXg/J2hpZGRlbic6JycpO2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYXJ0aXRpb24tdGFibGUnKS5jbGFzc05hbWU9KHBhcnRpdGlvblRhYmxlPycnOidoaWRkZW4nKTt9CmZ1bmN0aW9uIHBhcnRpdGlvbk5hbWVDaGFuZ2UoZWwpe3ZhciByb3c9ZWwucGFyZW50Tm9kZS5wYXJlbnROb2RlLmNsb25lTm9kZSh0cnVlKTtyb3cuZmlyc3RDaGlsZC5maXJzdENoaWxkLnZhbHVlPScnO2VsLnBhcmVudE5vZGUucGFyZW50Tm9kZS5wYXJlbnROb2RlLmFwcGVuZENoaWxkKHJvdyk7ZWwub25jaGFuZ2U9ZnVuY3Rpb24oKXt9O30KZnVuY3Rpb24gZm9yZWlnbkFkZFJvdyhmaWVsZCl7ZmllbGQub25jaGFuZ2U9ZnVuY3Rpb24oKXt9O3ZhciByb3c9ZmllbGQucGFyZW50Tm9kZS5wYXJlbnROb2RlLmNsb25lTm9kZSh0cnVlKTt2YXIgc2VsZWN0cz1yb3cuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NlbGVjdCcpO2Zvcih2YXIgaT0wO2k8c2VsZWN0cy5sZW5ndGg7aSsrKXtzZWxlY3RzW2ldLm5hbWU9c2VsZWN0c1tpXS5uYW1lLnJlcGxhY2UoL1xdLywnMSQmJyk7c2VsZWN0c1tpXS5zZWxlY3RlZEluZGV4PTA7fQpmaWVsZC5wYXJlbnROb2RlLnBhcmVudE5vZGUucGFyZW50Tm9kZS5hcHBlbmRDaGlsZChyb3cpO30KZnVuY3Rpb24gaW5kZXhlc0FkZFJvdyhmaWVsZCl7ZmllbGQub25jaGFuZ2U9ZnVuY3Rpb24oKXt9O3ZhciBwYXJlbnQ9ZmllbGQucGFyZW50Tm9kZS5wYXJlbnROb2RlO3ZhciByb3c9cGFyZW50LmNsb25lTm9kZSh0cnVlKTt2YXIgc2VsZWN0cz1yb3cuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NlbGVjdCcpO2Zvcih2YXIgaT0wO2k8c2VsZWN0cy5sZW5ndGg7aSsrKXtzZWxlY3RzW2ldLm5hbWU9c2VsZWN0c1tpXS5uYW1lLnJlcGxhY2UoL2luZGV4ZXNcW1xkKy8sJyQmMScpO3NlbGVjdHNbaV0uc2VsZWN0ZWRJbmRleD0wO30KdmFyIGlucHV0cz1yb3cuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2lucHV0Jyk7Zm9yKHZhciBpPTA7aTxpbnB1dHMubGVuZ3RoO2krKyl7aW5wdXRzW2ldLm5hbWU9aW5wdXRzW2ldLm5hbWUucmVwbGFjZSgvaW5kZXhlc1xbXGQrLywnJCYxJyk7aW5wdXRzW2ldLnZhbHVlPScnO30KcGFyZW50LnBhcmVudE5vZGUuYXBwZW5kQ2hpbGQocm93KTt9CmZ1bmN0aW9uIGluZGV4ZXNDaGFuZ2VDb2x1bW4oZmllbGQscHJlZml4KXt2YXIgY29sdW1ucz1maWVsZC5wYXJlbnROb2RlLnBhcmVudE5vZGUuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NlbGVjdCcpO3ZhciBuYW1lcz1bXTtmb3IodmFyIGk9MDtpPGNvbHVtbnMubGVuZ3RoO2krKyl7dmFyIHZhbHVlPXNlbGVjdFZhbHVlKGNvbHVtbnNbaV0pO2lmKHZhbHVlKXtuYW1lcy5wdXNoKHZhbHVlKTt9fQpmaWVsZC5mb3JtW2ZpZWxkLm5hbWUucmVwbGFjZSgvXF0uKi8sJ11bbmFtZV0nKV0udmFsdWU9cHJlZml4K25hbWVzLmpvaW4oJ18nKTt9CmZ1bmN0aW9uIGluZGV4ZXNBZGRDb2x1bW4oZmllbGQscHJlZml4KXtmaWVsZC5vbmNoYW5nZT1mdW5jdGlvbigpe2luZGV4ZXNDaGFuZ2VDb2x1bW4oZmllbGQscHJlZml4KTt9O3ZhciBzZWxlY3Q9ZmllbGQuZm9ybVtmaWVsZC5uYW1lLnJlcGxhY2UoL1xdLiovLCddW3R5cGVdJyldO2lmKCFzZWxlY3Quc2VsZWN0ZWRJbmRleCl7c2VsZWN0LnNlbGVjdGVkSW5kZXg9MztzZWxlY3Qub25jaGFuZ2UoKTt9CnZhciBjb2x1bW49ZmllbGQucGFyZW50Tm9kZS5jbG9uZU5vZGUodHJ1ZSk7c2VsZWN0PWNvbHVtbi5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2VsZWN0JylbMF07c2VsZWN0Lm5hbWU9c2VsZWN0Lm5hbWUucmVwbGFjZSgvXF1cW1xkKy8sJyQmMScpO3NlbGVjdC5zZWxlY3RlZEluZGV4PTA7dmFyIGlucHV0PWNvbHVtbi5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaW5wdXQnKVswXTtpbnB1dC5uYW1lPWlucHV0Lm5hbWUucmVwbGFjZSgvXF1cW1xkKy8sJyQmMScpO2lucHV0LnZhbHVlPScnO2ZpZWxkLnBhcmVudE5vZGUucGFyZW50Tm9kZS5hcHBlbmRDaGlsZChjb2x1bW4pO2ZpZWxkLm9uY2hhbmdlKCk7fQp2YXIgdGhhdCx4LHksZW0sdGFibGVQb3M7ZnVuY3Rpb24gc2NoZW1hTW91c2Vkb3duKGVsLGV2ZW50KXt0aGF0PWVsO3g9ZXZlbnQuY2xpZW50WC1lbC5vZmZzZXRMZWZ0O3k9ZXZlbnQuY2xpZW50WS1lbC5vZmZzZXRUb3A7fQpmdW5jdGlvbiBzY2hlbWFNb3VzZW1vdmUoZXYpe2lmKHRoYXQhPT11bmRlZmluZWQpe2V2PWV2fHxldmVudDt2YXIgbGVmdD0oZXYuY2xpZW50WC14KS9lbTt2YXIgdG9wPShldi5jbGllbnRZLXkpL2VtO3ZhciBkaXZzPXRoYXQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2RpdicpO3ZhciBsaW5lU2V0PXt9O2Zvcih2YXIgaT0wO2k8ZGl2cy5sZW5ndGg7aSsrKXtpZihkaXZzW2ldLmNsYXNzTmFtZT09J3JlZmVyZW5jZXMnKXt2YXIgZGl2Mj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgoZGl2c1tpXS5pZC5zdWJzdHIoMCw0KT09J3JlZnMnPydyZWZkJzoncmVmcycpK2RpdnNbaV0uaWQuc3Vic3RyKDQpKTt2YXIgcmVmPSh0YWJsZVBvc1tkaXZzW2ldLnRpdGxlXT90YWJsZVBvc1tkaXZzW2ldLnRpdGxlXTpbZGl2Mi5wYXJlbnROb2RlLm9mZnNldFRvcC9lbSwwXSk7dmFyIGxlZnQxPS0xO3ZhciBpc1RvcD10cnVlO3ZhciBpZD1kaXZzW2ldLmlkLnJlcGxhY2UoL15yZWYuKC4rKS0uKy8sJyQxJyk7aWYoZGl2c1tpXS5wYXJlbnROb2RlIT1kaXYyLnBhcmVudE5vZGUpe2xlZnQxPU1hdGgubWluKDAscmVmWzFdLWxlZnQpLTE7ZGl2c1tpXS5zdHlsZS5sZWZ0PWxlZnQxKydlbSc7ZGl2c1tpXS5nZXRFbGVtZW50c0J5VGFnTmFtZSgnZGl2JylbMF0uc3R5bGUud2lkdGg9LWxlZnQxKydlbSc7dmFyIGxlZnQyPU1hdGgubWluKDAsbGVmdC1yZWZbMV0pLTE7ZGl2Mi5zdHlsZS5sZWZ0PWxlZnQyKydlbSc7ZGl2Mi5nZXRFbGVtZW50c0J5VGFnTmFtZSgnZGl2JylbMF0uc3R5bGUud2lkdGg9LWxlZnQyKydlbSc7aXNUb3A9KGRpdjIub2Zmc2V0VG9wK3JlZlswXSplbT5kaXZzW2ldLm9mZnNldFRvcCt0b3AqZW0pO30KaWYoIWxpbmVTZXRbaWRdKXt2YXIgbGluZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChkaXZzW2ldLmlkLnJlcGxhY2UoL14uLi4uKC4rKS1cZCskLywncmVmbCQxJykpO3ZhciBzaGlmdD1ldi5jbGllbnRZLXktdGhhdC5vZmZzZXRUb3A7bGluZS5zdHlsZS5sZWZ0PShsZWZ0K2xlZnQxKSsnZW0nO2lmKGlzVG9wKXtsaW5lLnN0eWxlLnRvcD0obGluZS5vZmZzZXRUb3Arc2hpZnQpL2VtKydlbSc7fQppZihkaXZzW2ldLnBhcmVudE5vZGUhPWRpdjIucGFyZW50Tm9kZSl7bGluZT1saW5lLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdkaXYnKVswXTtsaW5lLnN0eWxlLmhlaWdodD0obGluZS5vZmZzZXRIZWlnaHQrKGlzVG9wPy0xOjEpKnNoaWZ0KS9lbSsnZW0nO30KbGluZVNldFtpZF09dHJ1ZTt9fX0KdGhhdC5zdHlsZS5sZWZ0PWxlZnQrJ2VtJzt0aGF0LnN0eWxlLnRvcD10b3ArJ2VtJzt9fQpmdW5jdGlvbiBzY2hlbWFNb3VzZXVwKGV2LGRiKXtpZih0aGF0IT09dW5kZWZpbmVkKXtldj1ldnx8ZXZlbnQ7dGFibGVQb3NbdGhhdC5maXJzdENoaWxkLmZpcnN0Q2hpbGQuZmlyc3RDaGlsZC5kYXRhXT1bKGV2LmNsaWVudFkteSkvZW0sKGV2LmNsaWVudFgteCkvZW1dO3RoYXQ9dW5kZWZpbmVkO3ZhciBzPScnO2Zvcih2YXIga2V5IGluIHRhYmxlUG9zKXtzKz0nXycra2V5Kyc6JytNYXRoLnJvdW5kKHRhYmxlUG9zW2tleV1bMF0qMTAwMDApLzEwMDAwKyd4JytNYXRoLnJvdW5kKHRhYmxlUG9zW2tleV1bMV0qMTAwMDApLzEwMDAwO30Kcz1lbmNvZGVVUklDb21wb25lbnQocy5zdWJzdHIoMSkpO3ZhciBsaW5rPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzY2hlbWEtbGluaycpO2xpbmsuaHJlZj1saW5rLmhyZWYucmVwbGFjZSgvW149XSskLywnJykrcztjb29raWUoJ2FkbWluZXJfc2NoZW1hLScrZGIrJz0nK3MsMzApO319PD9waHAKfWVsc2V7aGVhZGVyKCJDb250ZW50LVR5cGU6IGltYWdlL2dpZiIpO3N3aXRjaCgkX0dFVFsiZmlsZSJdKXtjYXNlInBsdXMuZ2lmIjplY2hvCmJhc2U2NF9kZWNvZGUoIlIwbEdPRGRoRWdBU0FLRUFBTzd1N2dBQUFKbVptUUFBQUN3QUFBQUFFZ0FTQUFBQ0lZU1BxY3Z0RDAwSThjd3FLYjV2K3E4cElBaHhsUm1oWllpMTdpUEU4a3pMQlFBNyIpO2JyZWFrO2Nhc2UiY3Jvc3MuZ2lmIjplY2hvCmJhc2U2NF9kZWNvZGUoIlIwbEdPRGRoRWdBU0FLRUFBTzd1N2dBQUFKbVptUUFBQUN3QUFBQUFFZ0FTQUFBQ0k0U1BxY3Z0RHlNS1lkWkdiMzU1d3k2QlgzZGhsT0V4NTdGSzdndEh3a3pYTmwwQUFEcz0iKTticmVhaztjYXNlInVwLmdpZiI6ZWNobwpiYXNlNjRfZGVjb2RlKCJSMGxHT0RkaEVnQVNBS0VBQU83dTdnQUFBSm1abVFBQUFDd0FBQUFBRWdBU0FBQUNJSVNQcWN2dEQwMElVVTRLNzMwVDlKNWhGVGlLRVhtYVljVzJyZ0RIOGh3WEFEcz0iKTticmVhaztjYXNlImRvd24uZ2lmIjplY2hvCmJhc2U2NF9kZWNvZGUoIlIwbEdPRGRoRWdBU0FLRUFBTzd1N2dBQUFKbVptUUFBQUN3QUFBQUFFZ0FTQUFBQ0lJU1BxY3Z0RDAwSThjd3FLYjViVi81Y29zZE1KdG1jSGNhMmxRREg4aHdYQURzPSIpO2JyZWFrO2Nhc2UiYXJyb3cuZ2lmIjplY2hvCmJhc2U2NF9kZWNvZGUoIlIwbEdPRGxoQ0FBS0FJQUFBSUNBZ1AvLy95SDVCQUVBQUFFQUxBQUFBQUFJQUFvQUFBSVBCSUpwbHJHTG5wUVJxdE95M3JzQUFEcz0iKTticmVhaztjYXNlImxvYWRlci5naWYiOmVjaG8KYmFzZTY0X2RlY29kZSgiUjBsR09EbGhFQUFRQVBJQUFQLy8vd0FBQU1MQ3drSkNRZ0FBQUdKaVlvS0NncEtTa2lIL0MwNUZWRk5EUVZCRk1pNHdBd0VBQUFBaC9ocERjbVZoZEdWa0lIZHBkR2dnWVdwaGVHeHZZV1F1YVc1bWJ3QWgrUVFKQ2dBQUFDd0FBQUFBRUFBUUFBQURNd2k2M1A0d3lrbHJFMk1JT2dnWm5BZE9tR1lKUmJFeHdyb1VtY0cyTG1ERXduSFFMVnNZT2QybUJ6a1lEQWRLYStkSUFBQWgrUVFKQ2dBQUFDd0FBQUFBRUFBUUFBQUROQWk2M1A1T2pDRWdHNFFNdTdEbWlrUnhRbEZVWURFWklHQk1SVnNhcUh3Y3RYWGY3V0VZQjRBZzF4amloa01ac2lVa0toSUFJZmtFQ1FvQUFBQXNBQUFBQUJBQUVBQUFBellJdWpJaks4cEJ5SkRNbEZZdkJvVmpIQTcwR1U3eFNVSmhtS3R3SFBBS3pMTzlITWFvS3dKWjdSZjhBWVBERHpLcFpCcWZ2d1FBSWZrRUNRb0FBQUFzQUFBQUFCQUFFQUFBQXpNSXVtSWxLOG95aHBIc25GWmZoWXVtQ1lVaERBUXhSSWRoSEJHcVJvS3cwUjhEWWxKZDh6MGZNRGdzR28vSXBISTVUQUFBSWZrRUNRb0FBQUFzQUFBQUFCQUFFQUFBQXpJSXVuSW5LMHJuWkJUd0dQTk1nUXdtZHNOZ1hHSlVsSVdFdVI1b1dVSXB6OHBBRUFNZTZUd2Z3eVlzR28vSXBGS1NBQUFoK1FRSkNnQUFBQ3dBQUFBQUVBQVFBQUFETXdpNklNS1FPUmZqZE9lODJwNHdHY2NjNENFdVFyYWR5bGVzb2pFTUJnc1VjMkc3c0RYM2xRR0JNTEFKaWJ1ZmJTbEtBQUFoK1FRSkNnQUFBQ3dBQUFBQUVBQVFBQUFETWdpNjNQN3dDUkhabkZWZG1nSHUybkZ3bFdDSTNXR2MzVFNXaFVGR3hUQVVrR0NidGdFTkJNSkFFSnN4Z01MV3pwRUFBQ0g1QkFrS0FBQUFMQUFBQUFBUUFCQUFBQU15Q0xyYy9qREtTYXRsUXRTY0tkY2VDQWpESUk3SGNRNEVNVENweXJDdVVCakNZUmdIVnRxbEFpQjFZaGlDbmxzUmtBQUFPd0FBQUFBQUFBQUFBQT09Iik7YnJlYWs7fX1leGl0O31mdW5jdGlvbgpjb25uZWN0aW9uKCl7Z2xvYmFsJGc7cmV0dXJuJGc7fWZ1bmN0aW9uCmlkZl91bmVzY2FwZSgkUCl7JHRiPXN1YnN0cigkUCwtMSk7cmV0dXJuCnN0cl9yZXBsYWNlKCR0Yi4kdGIsJHRiLHN1YnN0cigkUCwxLC0xKSk7fWZ1bmN0aW9uCmVzY2FwZV9zdHJpbmcoJGIpe3JldHVybgpzdWJzdHIocSgkYiksMSwtMSk7fWZ1bmN0aW9uCnJlbW92ZV9zbGFzaGVzKCRyYiwka2Q9ZmFsc2Upe2lmKGdldF9tYWdpY19xdW90ZXNfZ3BjKCkpe3doaWxlKGxpc3QoJGQsJGIpPWVhY2goJHJiKSl7Zm9yZWFjaCgkYgphcyRNYT0+JHope3Vuc2V0KCRyYlskZF1bJE1hXSk7aWYoaXNfYXJyYXkoJHopKXskcmJbJGRdW3N0cmlwc2xhc2hlcygkTWEpXT0kejskcmJbXT0mJHJiWyRkXVtzdHJpcHNsYXNoZXMoJE1hKV07fWVsc2V7JHJiWyRkXVtzdHJpcHNsYXNoZXMoJE1hKV09KCRrZD8kejpzdHJpcHNsYXNoZXMoJHopKTt9fX19fWZ1bmN0aW9uCmJyYWNrZXRfZXNjYXBlKCRQLCRzZj1mYWxzZSl7c3RhdGljJGxlPWFycmF5KCc6Jz0+JzoxJywnXSc9Pic6MicsJ1snPT4nOjMnKTtyZXR1cm4Kc3RydHIoJFAsKCRzZj9hcnJheV9mbGlwKCRsZSk6JGxlKSk7fWZ1bmN0aW9uCmgoJEkpe3JldHVybgpodG1sc3BlY2lhbGNoYXJzKHN0cl9yZXBsYWNlKCJcMCIsIiIsJEkpLEVOVF9RVU9URVMpO31mdW5jdGlvbgpuYnNwKCRJKXtyZXR1cm4odHJpbSgkSSkhPSIiP2goJEkpOiImbmJzcDsiKTt9ZnVuY3Rpb24KbmxfYnIoJEkpe3JldHVybgpzdHJfcmVwbGFjZSgiXG4iLCI8YnI+IiwkSSk7fWZ1bmN0aW9uCmNoZWNrYm94KCRmLCRxLCRkYiwkbWU9IiIsJG1kPSIiLCRVZj1mYWxzZSl7c3RhdGljJFM9MDskUysrOyRjPSI8aW5wdXQgdHlwZT0nY2hlY2tib3gnIG5hbWU9JyRmJyB2YWx1ZT0nIi5oKCRxKS4iJyIuKCRkYj8iIGNoZWNrZWQiOiIiKS4oJG1kPycgb25jbGljaz0iJy5oKCRtZCkuJyInOicnKS4oJFVmPyIgY2xhc3M9J2pzb25seSciOiIiKS4iIGlkPSdjaGVja2JveC0kUyc+IjtyZXR1cm4oJG1lIT0iIj8iPGxhYmVsIGZvcj0nY2hlY2tib3gtJFMnPiRjIi5oKCRtZSkuIjwvbGFiZWw+IjokYyk7fWZ1bmN0aW9uCm9wdGlvbmxpc3QoJE1jLCRWZj1udWxsLCRvZT1mYWxzZSl7JGM9IiI7Zm9yZWFjaCgkTWMKYXMkTWE9PiR6KXskdGU9YXJyYXkoJE1hPT4keik7aWYoaXNfYXJyYXkoJHopKXskYy49JzxvcHRncm91cCBsYWJlbD0iJy5oKCRNYSkuJyI+JzskdGU9JHo7fWZvcmVhY2goJHRlCmFzJGQ9PiRiKXskYy49JzxvcHRpb24nLigkb2V8fGlzX3N0cmluZygkZCk/JyB2YWx1ZT0iJy5oKCRkKS4nIic6JycpLigoJG9lfHxpc19zdHJpbmcoJGQpPyhzdHJpbmcpJGQ6JGIpPT09JFZmPycgc2VsZWN0ZWQnOicnKS4nPicuaCgkYik7fWlmKGlzX2FycmF5KCR6KSl7JGMuPSc8L29wdGdyb3VwPic7fX1yZXR1cm4kYzt9ZnVuY3Rpb24KaHRtbF9zZWxlY3QoJGYsJE1jLCRxPSIiLCRPYj10cnVlKXtpZigkT2Ipe3JldHVybiI8c2VsZWN0IG5hbWU9JyIuaCgkZikuIiciLihpc19zdHJpbmcoJE9iKT8nIG9uY2hhbmdlPSInLmgoJE9iKS4nIic6IiIpLiI+Ii5vcHRpb25saXN0KCRNYywkcSkuIjwvc2VsZWN0PiI7fSRjPSIiO2ZvcmVhY2goJE1jCmFzJGQ9PiRiKXskYy49IjxsYWJlbD48aW5wdXQgdHlwZT0ncmFkaW8nIG5hbWU9JyIuaCgkZikuIicgdmFsdWU9JyIuaCgkZCkuIiciLigkZD09JHE/IiBjaGVja2VkIjoiIikuIj4iLmgoJGIpLiI8L2xhYmVsPiI7fXJldHVybiRjO31mdW5jdGlvbgpjb25maXJtKCRYYz0iIiwkTGY9ZmFsc2Upe3JldHVybiIgb25jbGljaz1cIiIuKCRMZj8iZXZlbnRTdG9wKGV2ZW50KTsgIjoiIikuInJldHVybiBjb25maXJtKCciLmxhbmcoMCkuKCRYYz8iICgnICsgJFhjICsgJykiOiIiKS4iJyk7XCIiO31mdW5jdGlvbgpwcmludF9maWVsZHNldCgkUywkU2YsJElmPWZhbHNlLCRtZD0iIil7ZWNobyI8ZmllbGRzZXQ+PGxlZ2VuZD48YSBocmVmPScjZmllbGRzZXQtJFMnIG9uY2xpY2s9XCIiLmgoJG1kKS4icmV0dXJuICF0b2dnbGUoJ2ZpZWxkc2V0LSRTJyk7XCI+JFNmPC9hPjwvbGVnZW5kPjxkaXYgaWQ9J2ZpZWxkc2V0LSRTJyIuKCRJZj8iIjoiIGNsYXNzPSdoaWRkZW4nIikuIj5cbiI7fWZ1bmN0aW9uCmJvbGQoJHRmKXtyZXR1cm4oJHRmPyIgY2xhc3M9J2FjdGl2ZSciOiIiKTt9ZnVuY3Rpb24Kb2RkKCRjPScgY2xhc3M9Im9kZCInKXtzdGF0aWMkbD0wO2lmKCEkYyl7JGw9LTE7fXJldHVybigkbCsrJQoyPyRjOicnKTt9ZnVuY3Rpb24KanNfZXNjYXBlKCRJKXtyZXR1cm4KYWRkY3NsYXNoZXMoJEksIlxyXG4nXFwvIik7fWZ1bmN0aW9uCmpzb25fcm93KCRkLCRiPW51bGwpe3N0YXRpYyRDYT10cnVlO2lmKCRDYSl7ZWNobyJ7Ijt9aWYoJGQhPSIiKXtlY2hvKCRDYT8iIjoiLCIpLiJcblx0XCIiLmFkZGNzbGFzaGVzKCRkLCJcclxuXCJcXCIpLiciOiAnLihpc3NldCgkYik/JyInLmFkZGNzbGFzaGVzKCRiLCJcclxuXCJcXCIpLiciJzondW5kZWZpbmVkJyk7JENhPWZhbHNlO31lbHNle2VjaG8iXG59XG4iOyRDYT10cnVlO319ZnVuY3Rpb24KaW5pX2Jvb2woJHlmKXskYj1pbmlfZ2V0KCR5Zik7cmV0dXJuKGVyZWdpKCdeKG9ufHRydWV8eWVzKSQnLCRiKXx8KGludCkkYik7fWZ1bmN0aW9uCnNpZCgpe3N0YXRpYyRjO2lmKCFpc3NldCgkYykpeyRjPShTSUQmJiEoJF9DT09LSUUmJmluaV9ib29sKCJzZXNzaW9uLnVzZV9jb29raWVzIikpKTt9cmV0dXJuJGM7fWZ1bmN0aW9uCnEoJEkpe2dsb2JhbCRnO3JldHVybiRnLT5xdW90ZSgkSSk7fWZ1bmN0aW9uCmdldF92YWxzKCRpLCREPTApe2dsb2JhbCRnOyRjPWFycmF5KCk7JGo9JGctPnF1ZXJ5KCRpKTtpZihpc19vYmplY3QoJGopKXt3aGlsZSgkYT0kai0+ZmV0Y2hfcm93KCkpeyRjW109JGFbJERdO319cmV0dXJuJGM7fWZ1bmN0aW9uCmdldF9rZXlfdmFscygkaSwkRz1udWxsKXtnbG9iYWwkZztpZighaXNfb2JqZWN0KCRHKSl7JEc9JGc7fSRjPWFycmF5KCk7JGo9JEctPnF1ZXJ5KCRpKTtpZihpc19vYmplY3QoJGopKXt3aGlsZSgkYT0kai0+ZmV0Y2hfcm93KCkpeyRjWyRhWzBdXT0kYVsxXTt9fXJldHVybiRjO31mdW5jdGlvbgpnZXRfcm93cygkaSwkRz1udWxsLCRuPSI8cCBjbGFzcz0nZXJyb3InPiIpe2dsb2JhbCRnO2lmKCFpc19vYmplY3QoJEcpKXskRz0kZzt9JGM9YXJyYXkoKTskaj0kRy0+cXVlcnkoJGkpO2lmKGlzX29iamVjdCgkaikpe3doaWxlKCRhPSRqLT5mZXRjaF9hc3NvYygpKXskY1tdPSRhO319ZWxzZWlmKCEkaiYmJGctPmVycm9yJiYkbiYmZGVmaW5lZCgiUEFHRV9IRUFERVIiKSl7ZWNobyRuLmVycm9yKCkuIlxuIjt9cmV0dXJuJGM7fWZ1bmN0aW9uCnVuaXF1ZV9hcnJheSgkYSwkSyl7Zm9yZWFjaCgkSwphcyR4KXtpZihlcmVnKCJQUklNQVJZfFVOSVFVRSIsJHhbInR5cGUiXSkpeyRjPWFycmF5KCk7Zm9yZWFjaCgkeFsiY29sdW1ucyJdYXMkZCl7aWYoIWlzc2V0KCRhWyRkXSkpe2NvbnRpbnVlCjI7fSRjWyRkXT0kYVskZF07fXJldHVybiRjO319JGM9YXJyYXkoKTtmb3JlYWNoKCRhCmFzJGQ9PiRiKXtpZighcHJlZ19tYXRjaCgnfl4oQ09VTlRcXCgoXFwqfChESVNUSU5DVCApP2AoPzpbXmBdfGBgKStgKVxcKXwoQVZHfEdST1VQX0NPTkNBVHxNQVh8TUlOfFNVTSlcXChgKD86W15gXXxgYCkrYFxcKSkkficsJGQpKXskY1skZF09JGI7fX1yZXR1cm4kYzt9ZnVuY3Rpb24Kd2hlcmUoJHIpe2dsb2JhbCR1OyRjPWFycmF5KCk7Zm9yZWFjaCgoYXJyYXkpJHJbIndoZXJlIl1hcyRkPT4kYil7JGNbXT1pZGZfZXNjYXBlKGJyYWNrZXRfZXNjYXBlKCRkLDEpKS4oZXJlZygnXFwuJywkYil8fCR1PT0ibXNzcWwiPyIgTElLRSAiLmV4YWN0X3ZhbHVlKGFkZGNzbGFzaGVzKCRiLCIlX1xcIikpOiIgPSAiLmV4YWN0X3ZhbHVlKCRiKSk7fWZvcmVhY2goKGFycmF5KSRyWyJudWxsIl1hcyRkKXskY1tdPWlkZl9lc2NhcGUoJGQpLiIgSVMgTlVMTCI7fXJldHVybgppbXBsb2RlKCIgQU5EICIsJGMpO31mdW5jdGlvbgp3aGVyZV9jaGVjaygkYil7cGFyc2Vfc3RyKCRiLCRhZik7cmVtb3ZlX3NsYXNoZXMoYXJyYXkoJiRhZikpO3JldHVybgp3aGVyZSgkYWYpO31mdW5jdGlvbgp3aGVyZV9saW5rKCRsLCRELCRxLCRwZj0iPSIpe3JldHVybiImd2hlcmUlNUIkbCU1RCU1QmNvbCU1RD0iLnVybGVuY29kZSgkRCkuIiZ3aGVyZSU1QiRsJTVEJTVCb3AlNUQ9Ii51cmxlbmNvZGUoKGlzc2V0KCRxKT8kcGY6IklTIE5VTEwiKSkuIiZ3aGVyZSU1QiRsJTVEJTVCdmFsJTVEPSIudXJsZW5jb2RlKCRxKTt9ZnVuY3Rpb24KY29va2llKCRmLCRxKXtnbG9iYWwkemM7JF9jPWFycmF5KCRmLChlcmVnKCJcbiIsJHEpPyIiOiRxKSx0aW1lKCkrMjU5MjAwMCxwcmVnX3JlcGxhY2UoJ35cXD8uKn4nLCcnLCRfU0VSVkVSWyJSRVFVRVNUX1VSSSJdKSwiIiwkemMpO2lmKHZlcnNpb25fY29tcGFyZShQSFBfVkVSU0lPTiwnNS4yLjAnKT49MCl7JF9jW109dHJ1ZTt9cmV0dXJuCmNhbGxfdXNlcl9mdW5jX2FycmF5KCdzZXRjb29raWUnLCRfYyk7fWZ1bmN0aW9uCnJlc3RhcnRfc2Vzc2lvbigpe2lmKCFpbmlfYm9vbCgic2Vzc2lvbi51c2VfY29va2llcyIpKXtzZXNzaW9uX3N0YXJ0KCk7fX1mdW5jdGlvbiZnZXRfc2Vzc2lvbigkZCl7cmV0dXJuJF9TRVNTSU9OWyRkXVtEUklWRVJdW1NFUlZFUl1bJF9HRVRbInVzZXJuYW1lIl1dO31mdW5jdGlvbgpzZXRfc2Vzc2lvbigkZCwkYil7JF9TRVNTSU9OWyRkXVtEUklWRVJdW1NFUlZFUl1bJF9HRVRbInVzZXJuYW1lIl1dPSRiO31mdW5jdGlvbgphdXRoX3VybCgkTmIsJEYsJFEpe2dsb2JhbCRvYTtwcmVnX21hdGNoKCd+KFteP10qKVxcPz8oLiopficscmVtb3ZlX2Zyb21fdXJpKGltcGxvZGUoInwiLGFycmF5X2tleXMoJG9hKSkuInx1c2VybmFtZXwiLnNlc3Npb25fbmFtZSgpKSwkayk7cmV0dXJuIiRrWzFdPyIuKHNpZCgpP1NJRC4iJiI6IiIpLigkTmIhPSJzZXJ2ZXIifHwkRiE9IiI/dXJsZW5jb2RlKCROYikuIj0iLnVybGVuY29kZSgkRikuIiYiOiIiKS4idXNlcm5hbWU9Ii51cmxlbmNvZGUoJFEpLigka1syXT8iJiRrWzJdIjoiIik7fWZ1bmN0aW9uCmlzX2FqYXgoKXtyZXR1cm4oJF9TRVJWRVJbIkhUVFBfWF9SRVFVRVNURURfV0lUSCJdPT0iWE1MSHR0cFJlcXVlc3QiKTt9ZnVuY3Rpb24KcmVkaXJlY3QoJGlhLCR4YT1udWxsKXtpZihpc3NldCgkeGEpKXtyZXN0YXJ0X3Nlc3Npb24oKTskX1NFU1NJT05bIm1lc3NhZ2VzIl1bcHJlZ19yZXBsYWNlKCd+XlteP10qficsJycsKGlzc2V0KCRpYSk/JGlhOiRfU0VSVkVSWyJSRVFVRVNUX1VSSSJdKSldW109JHhhO31pZihpc3NldCgkaWEpKXtpZigkaWE9PSIiKXskaWE9Ii4iO31oZWFkZXIoKGlzX2FqYXgoKT8iWC1BSkFYLVJlZGlyZWN0IjoiTG9jYXRpb24iKS4iOiAkaWEiKTtleGl0O319ZnVuY3Rpb24KcXVlcnlfcmVkaXJlY3QoJGksJGlhLCR4YSwkU2M9dHJ1ZSwkWGY9dHJ1ZSwkbWY9ZmFsc2Upe2dsb2JhbCRnLCRuLCRvO2lmKCRYZil7JG1mPSEkZy0+cXVlcnkoJGkpO30keWQ9IiI7aWYoJGkpeyR5ZD0kby0+bWVzc2FnZVF1ZXJ5KCIkaTsiKTt9aWYoJG1mKXskbj1lcnJvcigpLiR5ZDtyZXR1cm4KZmFsc2U7fWlmKCRTYyl7cmVkaXJlY3QoJGlhLCR4YS4keWQpO31yZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24KcXVlcmllcygkaT1udWxsKXtnbG9iYWwkZztzdGF0aWMkcGI9YXJyYXkoKTtpZighaXNzZXQoJGkpKXtyZXR1cm4KaW1wbG9kZSgiO1xuIiwkcGIpO30kcGJbXT0oZXJlZygnOyQnLCRpKT8iREVMSU1JVEVSIDs7XG4kaTtcbkRFTElNSVRFUiAiOiRpKTtyZXR1cm4kZy0+cXVlcnkoJGkpO31mdW5jdGlvbgphcHBseV9xdWVyaWVzKCRpLCRFLCRKZj0ndGFibGUnKXtmb3JlYWNoKCRFCmFzJGgpe2lmKCFxdWVyaWVzKCIkaSAiLiRKZigkaCkpKXtyZXR1cm4KZmFsc2U7fX1yZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24KcXVlcmllc19yZWRpcmVjdCgkaWEsJHhhLCRTYyl7cmV0dXJuCnF1ZXJ5X3JlZGlyZWN0KHF1ZXJpZXMoKSwkaWEsJHhhLCRTYyxmYWxzZSwhJFNjKTt9ZnVuY3Rpb24KcmVtb3ZlX2Zyb21fdXJpKCRjYj0iIil7cmV0dXJuCnN1YnN0cihwcmVnX3JlcGxhY2UoIn4oPzw9Wz8mXSkoJGNiIi4oU0lEPyIiOiJ8Ii5zZXNzaW9uX25hbWUoKSkuIik9W14mXSomfiIsJycsIiRfU0VSVkVSW1JFUVVFU1RfVVJJXSYiKSwwLC0xKTt9ZnVuY3Rpb24KcGFnaW5hdGlvbigkWiwkTWYpe3JldHVybiIgIi4oJFo9PSRNZj8kWisxOic8YSBocmVmPSInLmgocmVtb3ZlX2Zyb21fdXJpKCJwYWdlIikuKCRaPyImcGFnZT0kWiI6IiIpKS4nIj4nLigkWisxKS4iPC9hPiIpO31mdW5jdGlvbgpnZXRfZmlsZSgkZCwkdGQ9ZmFsc2UpeyRKYT0kX0ZJTEVTWyRkXTtpZighJEphfHwkSmFbImVycm9yIl0pe3JldHVybiRKYVsiZXJyb3IiXTt9JGM9ZmlsZV9nZXRfY29udGVudHMoJHRkJiZlcmVnKCdcXC5neiQnLCRKYVsibmFtZSJdKT8iY29tcHJlc3MuemxpYjovLyRKYVt0bXBfbmFtZV0iOigkdGQmJmVyZWcoJ1xcLmJ6MiQnLCRKYVsibmFtZSJdKT8iY29tcHJlc3MuYnppcDI6Ly8kSmFbdG1wX25hbWVdIjokSmFbInRtcF9uYW1lIl0pKTtpZigkdGQpeyRNYj1zdWJzdHIoJGMsMCwzKTtpZihmdW5jdGlvbl9leGlzdHMoImljb252IikmJmVyZWcoIl5ceEZFXHhGRnxeXHhGRlx4RkUiLCRNYiwkWWUpKXskYz1pY29udigidXRmLTE2IiwidXRmLTgiLCRjKTt9ZWxzZWlmKCRNYj09Ilx4RUZceEJCXHhCRiIpeyRjPXN1YnN0cigkYywzKTt9fXJldHVybiRjO31mdW5jdGlvbgp1cGxvYWRfZXJyb3IoJG4peyRGZT0oJG49PVVQTE9BRF9FUlJfSU5JX1NJWkU/aW5pX2dldCgidXBsb2FkX21heF9maWxlc2l6ZSIpOm51bGwpO3JldHVybigkbj9sYW5nKDEpLigkRmU/IiAiLmxhbmcoMiwkRmUpOiIiKTpsYW5nKDMpKTt9ZnVuY3Rpb24KcmVwZWF0X3BhdHRlcm4oJGRhLCRYKXtyZXR1cm4Kc3RyX3JlcGVhdCgiJGRhezAsNjU1MzV9IiwkWC82NTUzNSkuIiRkYXswLCIuKCRYCiUKNjU1MzUpLiJ9Ijt9ZnVuY3Rpb24KaXNfdXRmOCgkYil7cmV0dXJuKHByZWdfbWF0Y2goJ35+dScsJGIpJiYhcHJlZ19tYXRjaCgnfltcXDAtXFx4OFxceEJcXHhDXFx4RS1cXHgxRl1+JywkYikpO31mdW5jdGlvbgpzaG9ydGVuX3V0ZjgoJEksJFg9ODAsJEZmPSIiKXtpZighcHJlZ19tYXRjaCgiKF4oIi5yZXBlYXRfcGF0dGVybigiW1x0XHJcbiAtXHh7RkZGRn1dIiwkWCkuIikoJCk/KXUiLCRJLCRrKSl7cHJlZ19tYXRjaCgiKF4oIi5yZXBlYXRfcGF0dGVybigiW1x0XHJcbiAtfl0iLCRYKS4iKSgkKT8pIiwkSSwkayk7fXJldHVybgpoKCRrWzFdKS4kRmYuKGlzc2V0KCRrWzJdKT8iIjoiPGk+Li4uPC9pPiIpO31mdW5jdGlvbgpmcmllbmRseV91cmwoJGIpe3JldHVybgpwcmVnX3JlcGxhY2UoJ35bXmEtejAtOV9dfmknLCctJywkYik7fWZ1bmN0aW9uCmhpZGRlbl9maWVsZHMoJHJiLCRHZj1hcnJheSgpKXt3aGlsZShsaXN0KCRkLCRiKT1lYWNoKCRyYikpe2lmKGlzX2FycmF5KCRiKSl7Zm9yZWFjaCgkYgphcyRNYT0+JHopeyRyYlskZC4iWyRNYV0iXT0kejt9fWVsc2VpZighaW5fYXJyYXkoJGQsJEdmKSl7ZWNobyc8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSInLmgoJGQpLiciIHZhbHVlPSInLmgoJGIpLiciPic7fX19ZnVuY3Rpb24KaGlkZGVuX2ZpZWxkc19nZXQoKXtlY2hvKHNpZCgpPyc8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSInLnNlc3Npb25fbmFtZSgpLiciIHZhbHVlPSInLmgoc2Vzc2lvbl9pZCgpKS4nIj4nOicnKSwoU0VSVkVSIT09bnVsbD8nPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJy5EUklWRVIuJyIgdmFsdWU9IicuaChTRVJWRVIpLiciPic6IiIpLCc8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ1c2VybmFtZSIgdmFsdWU9IicuaCgkX0dFVFsidXNlcm5hbWUiXSkuJyI+Jzt9ZnVuY3Rpb24KY29sdW1uX2ZvcmVpZ25fa2V5cygkaCl7Z2xvYmFsJG87JGM9YXJyYXkoKTtmb3JlYWNoKCRvLT5mb3JlaWduS2V5cygkaClhcyRDKXtmb3JlYWNoKCRDWyJzb3VyY2UiXWFzJGIpeyRjWyRiXVtdPSRDO319cmV0dXJuJGM7fWZ1bmN0aW9uCmVudW1faW5wdXQoJF8sJFhhLCRlLCRxLCRoYz1udWxsKXtnbG9iYWwkbztwcmVnX21hdGNoX2FsbCgificoKD86W14nXXwnJykqKSd+IiwkZVsibGVuZ3RoIl0sJHRhKTskYz0oaXNzZXQoJGhjKT8iPGxhYmVsPjxpbnB1dCB0eXBlPSckXyckWGEgdmFsdWU9JyRoYyciLigoaXNfYXJyYXkoJHEpP2luX2FycmF5KCRoYywkcSk6JHE9PT0wKT8iIGNoZWNrZWQiOiIiKS4iPjxpPiIubGFuZyg0KS4iPC9pPjwvbGFiZWw+IjoiIik7Zm9yZWFjaCgkdGFbMV1hcyRsPT4kYil7JGI9c3RyaXBjc2xhc2hlcyhzdHJfcmVwbGFjZSgiJyciLCInIiwkYikpOyRkYj0oaXNfaW50KCRxKT8kcT09JGwrMTooaXNfYXJyYXkoJHEpP2luX2FycmF5KCRsKzEsJHEpOiRxPT09JGIpKTskYy49IiA8bGFiZWw+PGlucHV0IHR5cGU9JyRfJyRYYSB2YWx1ZT0nIi4oJGwrMSkuIiciLigkZGI/JyBjaGVja2VkJzonJykuJz4nLmgoJG8tPmVkaXRWYWwoJGIsJGUpKS4nPC9sYWJlbD4nO31yZXR1cm4kYzt9ZnVuY3Rpb24KaW5wdXQoJGUsJHEsJE4pe2dsb2JhbCRSLCRvLCR1OyRmPWgoYnJhY2tldF9lc2NhcGUoJGVbImZpZWxkIl0pKTtlY2hvIjx0ZCBjbGFzcz0nZnVuY3Rpb24nPiI7JEllPSgkdT09Im1zc3FsIiYmJGVbImF1dG9faW5jcmVtZW50Il0pO2lmKCRJZSYmISRfUE9TVFsic2F2ZSJdKXskTj1udWxsO30kY2E9KGlzc2V0KCRfR0VUWyJzZWxlY3QiXSl8fCRJZT9hcnJheSgib3JpZyI9PmxhbmcoNSkpOmFycmF5KCkpKyRvLT5lZGl0RnVuY3Rpb25zKCRlKTskWGE9IiBuYW1lPSdmaWVsZHNbJGZdJyI7aWYoJGVbInR5cGUiXT09ImVudW0iKXtlY2hvCm5ic3AoJGNhWyIiXSkuIjx0ZD4iLiRvLT5lZGl0SW5wdXQoJF9HRVRbImVkaXQiXSwkZSwkWGEsJHEpO31lbHNleyRDYT0wO2ZvcmVhY2goJGNhCmFzJGQ9PiRiKXtpZigkZD09PSIifHwhJGIpe2JyZWFrO30kQ2ErKzt9JE9iPSgkQ2E/IiBvbmNoYW5nZT1cInZhciBmID0gdGhpcy5mb3JtWydmdW5jdGlvblsiLmgoanNfZXNjYXBlKGJyYWNrZXRfZXNjYXBlKCRlWyJmaWVsZCJdKSkpLiJdJ107IGlmICgkQ2EgPiBmLnNlbGVjdGVkSW5kZXgpIGYuc2VsZWN0ZWRJbmRleCA9ICRDYTtcIiI6IiIpOyRYYS49JE9iO2VjaG8oY291bnQoJGNhKT4xP2h0bWxfc2VsZWN0KCJmdW5jdGlvblskZl0iLCRjYSwhaXNzZXQoJE4pfHxpbl9hcnJheSgkTiwkY2EpfHxpc3NldCgkY2FbJE5dKT8kTjoiIiwiZnVuY3Rpb25DaGFuZ2UodGhpcyk7Iik6bmJzcChyZXNldCgkY2EpKSkuJzx0ZD4nOyREZT0kby0+ZWRpdElucHV0KCRfR0VUWyJlZGl0Il0sJGUsJFhhLCRxKTtpZigkRGUhPSIiKXtlY2hvJERlO31lbHNlaWYoJGVbInR5cGUiXT09InNldCIpe3ByZWdfbWF0Y2hfYWxsKCJ+JygoPzpbXiddfCcnKSopJ34iLCRlWyJsZW5ndGgiXSwkdGEpO2ZvcmVhY2goJHRhWzFdYXMkbD0+JGIpeyRiPXN0cmlwY3NsYXNoZXMoc3RyX3JlcGxhY2UoIicnIiwiJyIsJGIpKTskZGI9KGlzX2ludCgkcSk/KCRxPj4kbCkmMTppbl9hcnJheSgkYixleHBsb2RlKCIsIiwkcSksdHJ1ZSkpO2VjaG8iIDxsYWJlbD48aW5wdXQgdHlwZT0nY2hlY2tib3gnIG5hbWU9J2ZpZWxkc1skZl1bJGxdJyB2YWx1ZT0nIi4oMTw8JGwpLiInIi4oJGRiPycgY2hlY2tlZCc6JycpLiIkT2I+Ii5oKCRvLT5lZGl0VmFsKCRiLCRlKSkuJzwvbGFiZWw+Jzt9fWVsc2VpZihlcmVnKCdibG9ifGJ5dGVhfHJhd3xmaWxlJywkZVsidHlwZSJdKSYmaW5pX2Jvb2woImZpbGVfdXBsb2FkcyIpKXtlY2hvIjxpbnB1dCB0eXBlPSdmaWxlJyBuYW1lPSdmaWVsZHMtJGYnJE9iPiI7fWVsc2VpZihlcmVnKCd0ZXh0fGxvYicsJGVbInR5cGUiXSkpe2VjaG8iPHRleHRhcmVhICIuKCR1IT0ic3FsaXRlInx8ZXJlZygiXG4iLCRxKT8iY29scz0nNTAnIHJvd3M9JzEyJyI6ImNvbHM9JzMwJyByb3dzPScxJyBzdHlsZT0naGVpZ2h0OiAxLjJlbTsnIikuIiRYYT4iLmgoJHEpLic8L3RleHRhcmVhPic7fWVsc2V7JExkPSghZXJlZygnaW50JywkZVsidHlwZSJdKSYmcHJlZ19tYXRjaCgnfl4oXFxkKykoLChcXGQrKSk/JH4nLCRlWyJsZW5ndGgiXSwkayk/KChlcmVnKCJiaW5hcnkiLCRlWyJ0eXBlIl0pPzI6MSkqJGtbMV0rKCRrWzNdPzE6MCkrKCRrWzJdJiYhJGVbInVuc2lnbmVkIl0/MTowKSk6KCRSWyRlWyJ0eXBlIl1dPyRSWyRlWyJ0eXBlIl1dKygkZVsidW5zaWduZWQiXT8wOjEpOjApKTtlY2hvIjxpbnB1dCB2YWx1ZT0nIi5oKCRxKS4iJyIuKCRMZD8iIG1heGxlbmd0aD0nJExkJyI6IiIpLihlcmVnKCdjaGFyfGJpbmFyeScsJGVbInR5cGUiXSkmJiRMZD4yMD8iIHNpemU9JzQwJyI6IiIpLiIkWGE+Ijt9fX1mdW5jdGlvbgpwcm9jZXNzX2lucHV0KCRlKXtnbG9iYWwkbzskUD1icmFja2V0X2VzY2FwZSgkZVsiZmllbGQiXSk7JE49JF9QT1NUWyJmdW5jdGlvbiJdWyRQXTskcT0kX1BPU1RbImZpZWxkcyJdWyRQXTtpZigkZVsidHlwZSJdPT0iZW51bSIpe2lmKCRxPT0tMSl7cmV0dXJuCmZhbHNlO31pZigkcT09IiIpe3JldHVybiJOVUxMIjt9cmV0dXJuKyRxO31pZigkZVsiYXV0b19pbmNyZW1lbnQiXSYmJHE9PSIiKXtyZXR1cm4KbnVsbDt9aWYoJE49PSJvcmlnIil7cmV0dXJuKCRlWyJvbl91cGRhdGUiXT09IkNVUlJFTlRfVElNRVNUQU1QIj9pZGZfZXNjYXBlKCRlWyJmaWVsZCJdKTpmYWxzZSk7fWlmKCROPT0iTlVMTCIpe3JldHVybiJOVUxMIjt9aWYoJGVbInR5cGUiXT09InNldCIpe3JldHVybgphcnJheV9zdW0oKGFycmF5KSRxKTt9aWYoZXJlZygnYmxvYnxieXRlYXxyYXd8ZmlsZScsJGVbInR5cGUiXSkmJmluaV9ib29sKCJmaWxlX3VwbG9hZHMiKSl7JEphPWdldF9maWxlKCJmaWVsZHMtJFAiKTtpZighaXNfc3RyaW5nKCRKYSkpe3JldHVybgpmYWxzZTt9cmV0dXJuCnEoJEphKTt9cmV0dXJuJG8tPnByb2Nlc3NJbnB1dCgkZSwkcSwkTik7fWZ1bmN0aW9uCnNlYXJjaF90YWJsZXMoKXtnbG9iYWwkbywkZzskX0dFVFsid2hlcmUiXVswXVsib3AiXT0iTElLRSAlJSI7JF9HRVRbIndoZXJlIl1bMF1bInZhbCJdPSRfUE9TVFsicXVlcnkiXTskdWE9ZmFsc2U7Zm9yZWFjaCh0YWJsZV9zdGF0dXMoKWFzJGg9PiR2KXskZj0kby0+dGFibGVOYW1lKCR2KTtpZihpc3NldCgkdlsiRW5naW5lIl0pJiYkZiE9IiImJighJF9QT1NUWyJ0YWJsZXMiXXx8aW5fYXJyYXkoJGgsJF9QT1NUWyJ0YWJsZXMiXSkpKXskaj0kZy0+cXVlcnkoIlNFTEVDVCIubGltaXQoIjEgRlJPTSAiLnRhYmxlKCRoKSwiIFdIRVJFICIuaW1wbG9kZSgiIEFORCAiLCRvLT5zZWxlY3RTZWFyY2hQcm9jZXNzKGZpZWxkcygkaCksYXJyYXkoKSkpLDEpKTtpZigkai0+ZmV0Y2hfcm93KCkpe2lmKCEkdWEpe2VjaG8iPHVsPlxuIjskdWE9dHJ1ZTt9ZWNobyI8bGk+PGEgaHJlZj0nIi5oKE1FLiJzZWxlY3Q9Ii51cmxlbmNvZGUoJGgpLiImd2hlcmVbMF1bb3BdPSIudXJsZW5jb2RlKCRfR0VUWyJ3aGVyZSJdWzBdWyJvcCJdKS4iJndoZXJlWzBdW3ZhbF09Ii51cmxlbmNvZGUoJF9HRVRbIndoZXJlIl1bMF1bInZhbCJdKSkuIic+JGY8L2E+XG4iO319fWVjaG8oJHVhPyI8L3VsPiI6IjxwIGNsYXNzPSdtZXNzYWdlJz4iLmxhbmcoNikpLiJcbiI7fWZ1bmN0aW9uCmR1bXBfaGVhZGVycygkZGQsJEtkPWZhbHNlKXtnbG9iYWwkbzskYz0kby0+ZHVtcEhlYWRlcnMoJGRkLCRLZCk7JFFhPSRfUE9TVFsib3V0cHV0Il07aWYoJFFhIT0idGV4dCIpe2hlYWRlcigiQ29udGVudC1EaXNwb3NpdGlvbjogYXR0YWNobWVudDsgZmlsZW5hbWU9Ii5mcmllbmRseV91cmwoJGRkIT0iIj8kZGQ6KFNFUlZFUiE9IiI/U0VSVkVSOiJsb2NhbGhvc3QiKSkuIi4kYyIuKCRRYSE9ImZpbGUiJiYhZXJlZygnW14wLTlhLXpdJywkUWEpPyIuJFFhIjoiIikpO31zZXNzaW9uX3dyaXRlX2Nsb3NlKCk7cmV0dXJuJGM7fWZ1bmN0aW9uCmR1bXBfY3N2KCRhKXtmb3JlYWNoKCRhCmFzJGQ9PiRiKXtpZihwcmVnX21hdGNoKCJ+W1wiXG4sO1x0XX4iLCRiKXx8JGI9PT0iIil7JGFbJGRdPSciJy5zdHJfcmVwbGFjZSgnIicsJyIiJywkYikuJyInO319ZWNobwppbXBsb2RlKCgkX1BPU1RbImZvcm1hdCJdPT0iY3N2Ij8iLCI6KCRfUE9TVFsiZm9ybWF0Il09PSJ0c3YiPyJcdCI6IjsiKSksJGEpLiJcclxuIjt9ZnVuY3Rpb24KYXBwbHlfc3FsX2Z1bmN0aW9uKCROLCREKXtyZXR1cm4oJE4/KCROPT0idW5peGVwb2NoIj8iREFURVRJTUUoJEQsICckTicpIjooJE49PSJjb3VudCBkaXN0aW5jdCI/IkNPVU5UKERJU1RJTkNUICI6c3RydG91cHBlcigiJE4oIikpLiIkRCkiKTokRCk7fWZ1bmN0aW9uCnBhc3N3b3JkX2ZpbGUoKXskTGM9aW5pX2dldCgidXBsb2FkX3RtcF9kaXIiKTtpZighJExjKXtpZihmdW5jdGlvbl9leGlzdHMoJ3N5c19nZXRfdGVtcF9kaXInKSl7JExjPXN5c19nZXRfdGVtcF9kaXIoKTt9ZWxzZXskbGE9QHRlbXBuYW0oIiIsIiIpO2lmKCEkbGEpe3JldHVybgpmYWxzZTt9JExjPWRpcm5hbWUoJGxhKTt1bmxpbmsoJGxhKTt9fSRsYT0iJExjL2FkbWluZXIua2V5IjskYz1AZmlsZV9nZXRfY29udGVudHMoJGxhKTtpZigkYyl7cmV0dXJuJGM7fSRPYT1AZm9wZW4oJGxhLCJ3Iik7aWYoJE9hKXskYz1tZDUodW5pcWlkKG10X3JhbmQoKSx0cnVlKSk7ZndyaXRlKCRPYSwkYyk7ZmNsb3NlKCRPYSk7fXJldHVybiRjO31mdW5jdGlvbgppc19tYWlsKCRXZil7JF9lPSdbLWEtejAtOSEjJCUmXCcqKy89P15fYHt8fX5dJzskbWM9J1thLXowLTldKFstYS16MC05XXswLDYxfVthLXowLTldKSc7JGRhPSIkX2UrKFxcLiRfZSspKkAoJG1jP1xcLikrJG1jIjtyZXR1cm4KcHJlZ19tYXRjaCgiKF4kZGEoLFxccyokZGEpKlwkKWkiLCRXZik7fWZ1bmN0aW9uCmlzX3VybCgkSSl7JG1jPSdbYS16MC05XShbLWEtejAtOV17MCw2MX1bYS16MC05XSknO3JldHVybihwcmVnX21hdGNoKCJ+XihodHRwcz8pOi8vKCRtYz9cXC4pKyRtYyg6XFxkKyk/KC8uKik/KFxcPy4qKT8oIy4qKT9cJH5pIiwkSSwkayk/c3RydG9sb3dlcigka1sxXSk6IiIpO31nbG9iYWwkbywkZywkb2EsJEliLCRHYiwkbiwkY2EsJHFiLCR6YywkaWMsJHUsJGphLCRRYiwkSWEsJFNhLCRPLCRXLCRSLCRtYiwkb2M7aWYoIWlzc2V0KCRfU0VSVkVSWyJSRVFVRVNUX1VSSSJdKSl7JF9TRVJWRVJbIlJFUVVFU1RfVVJJIl09JF9TRVJWRVJbIk9SSUdfUEFUSF9JTkZPIl0uKCRfU0VSVkVSWyJRVUVSWV9TVFJJTkciXSE9IiI/Ij8kX1NFUlZFUltRVUVSWV9TVFJJTkddIjoiIik7fSR6Yz0kX1NFUlZFUlsiSFRUUFMiXSYmc3RyY2FzZWNtcCgkX1NFUlZFUlsiSFRUUFMiXSwib2ZmIik7QGluaV9zZXQoInNlc3Npb24udXNlX3RyYW5zX3NpZCIsZmFsc2UpO2lmKCFkZWZpbmVkKCJTSUQiKSl7c2Vzc2lvbl9uYW1lKCJhZG1pbmVyX3NpZCIpOyRfYz1hcnJheSgwLHByZWdfcmVwbGFjZSgnflxcPy4qficsJycsJF9TRVJWRVJbIlJFUVVFU1RfVVJJIl0pLCIiLCR6Yyk7aWYodmVyc2lvbl9jb21wYXJlKFBIUF9WRVJTSU9OLCc1LjIuMCcpPj0wKXskX2NbXT10cnVlO31jYWxsX3VzZXJfZnVuY19hcnJheSgnc2Vzc2lvbl9zZXRfY29va2llX3BhcmFtcycsJF9jKTtzZXNzaW9uX3N0YXJ0KCk7fXJlbW92ZV9zbGFzaGVzKGFycmF5KCYkX0dFVCwmJF9QT1NULCYkX0NPT0tJRSksJGtkKTtpZihmdW5jdGlvbl9leGlzdHMoInNldF9tYWdpY19xdW90ZXNfcnVudGltZSIpKXtzZXRfbWFnaWNfcXVvdGVzX3J1bnRpbWUoZmFsc2UpO31Ac2V0X3RpbWVfbGltaXQoMCk7QGluaV9zZXQoInplbmQuemUxX2NvbXBhdGliaWxpdHlfbW9kZSIsZmFsc2UpO0Bpbmlfc2V0KCJwcmVjaXNpb24iLDIwKTskUWI9YXJyYXkoJ2VuJz0+J0VuZ2xpc2gnLCdjcyc9PifEjGXFoXRpbmEnLCdzayc9PidTbG92ZW7EjWluYScsJ25sJz0+J05lZGVybGFuZHMnLCdlcyc9PidFc3Bhw7FvbCcsJ2RlJz0+J0RldXRzY2gnLCdmcic9PidGcmFuw6dhaXMnLCdpdCc9PidJdGFsaWFubycsJ2V0Jz0+J0Vlc3RpJywnaHUnPT4nTWFneWFyJywncGwnPT4nUG9sc2tpJywnY2EnPT4nQ2F0YWzDoCcsJ3B0Jz0+J1BvcnR1Z3XDqnMnLCdzbCc9PidTbG92ZW5za2knLCdsdCc9PidMaWV0dXZpxbMnLCd0cic9PidUw7xya8OnZScsJ3JvJz0+J0xpbWJhIFJvbcOibsSDJywncnUnPT4n0KDRg9GB0YHQutC40Lkg0Y/Qt9GL0LonLCd6aCc9PifnroDkvZPkuK3mlocnLCd6aC10dyc9PifnuYHpq5TkuK3mlocnLCdqYSc9Pifml6XmnKzoqp4nLCd0YSc9PifgrqTigIzgrq7grr/grrTgr40nLCdhcic9PifYp9mE2LnYsdio2YrYqScsKTtmdW5jdGlvbgpnZXRfbGFuZygpe2dsb2JhbCRqYTtyZXR1cm4kamE7fWZ1bmN0aW9uCmxhbmcoJFAsJG5hPW51bGwpe2dsb2JhbCRqYSwkVzskcGM9JFdbJFBdO2lmKGlzX2FycmF5KCRwYykpeyR0Yz0oJG5hPT0xPzA6KCRqYT09J2NzJ3x8JGphPT0nc2snPygkbmEmJiRuYTw1PzE6Mik6KCRqYT09J2ZyJz8oISRuYT8wOjEpOigkamE9PSdwbCc/KCRuYQolCjEwPjEmJiRuYQolCjEwPDUmJiRuYS8xMAolCjEwIT0xPzE6Mik6KCRqYT09J3NsJz8oJG5hCiUKMTAwPT0xPzA6KCRuYQolCjEwMD09Mj8xOigkbmEKJQoxMDA9PTN8fCRuYQolCjEwMD09ND8yOjMpKSk6KCRqYT09J2x0Jz8oJG5hCiUKMTA9PTEmJiRuYQolCjEwMCE9MTE/MDooJG5hCiUKMTA+MSYmJG5hLzEwCiUKMTAhPTE/MToyKSk6KCRqYT09J3J1Jz8oJG5hCiUKMTA9PTEmJiRuYQolCjEwMCE9MTE/MDooJG5hCiUKMTA+MSYmJG5hCiUKMTA8NSYmJG5hLzEwCiUKMTAhPTE/MToyKSk6MSkpKSkpKSk7JHBjPSRwY1skdGNdO30kVGU9ZnVuY19nZXRfYXJncygpO2FycmF5X3NoaWZ0KCRUZSk7cmV0dXJuCnZzcHJpbnRmKChpc3NldCgkcGMpPyRwYzokUCksJFRlKTt9ZnVuY3Rpb24Kc3dpdGNoX2xhbmcoKXtnbG9iYWwkamEsJFFiO2VjaG8iPGZvcm0gYWN0aW9uPScnPlxuPGRpdiBpZD0nbGFuZyc+IjtoaWRkZW5fZmllbGRzKCRfR0VULGFycmF5KCdsYW5nJykpO2VjaG8KbGFuZyg3KS4iOiAiLmh0bWxfc2VsZWN0KCJsYW5nIiwkUWIsJGphLCJ2YXIgbG9jID0gbG9jYXRpb24uc2VhcmNoLnJlcGxhY2UoL1s/Jl1sYW5nPVteJl0qLywgJycpOyBsb2NhdGlvbi5zZWFyY2ggPSBsb2MgKyAobG9jID8gJyYnIDogJycpICsgJ2xhbmc9JyArIHRoaXMudmFsdWU7IiksIiA8aW5wdXQgdHlwZT0nc3VibWl0JyB2YWx1ZT0nIi5sYW5nKDgpLiInIGNsYXNzPSdoaWRkZW4nPlxuIiwiPC9kaXY+XG48L2Zvcm0+XG4iO31pZihpc3NldCgkX0dFVFsibGFuZyJdKSl7JF9DT09LSUVbImFkbWluZXJfbGFuZyJdPSRfR0VUWyJsYW5nIl07JF9TRVNTSU9OWyJsYW5nIl09JF9HRVRbImxhbmciXTt9JGphPSJlbiI7aWYoaXNzZXQoJFFiWyRfQ09PS0lFWyJhZG1pbmVyX2xhbmciXV0pKXtjb29raWUoImFkbWluZXJfbGFuZyIsJF9DT09LSUVbImFkbWluZXJfbGFuZyJdKTskamE9JF9DT09LSUVbImFkbWluZXJfbGFuZyJdO31lbHNlaWYoaXNzZXQoJFFiWyRfU0VTU0lPTlsibGFuZyJdXSkpeyRqYT0kX1NFU1NJT05bImxhbmciXTt9ZWxzZXskbGQ9YXJyYXkoKTtwcmVnX21hdGNoX2FsbCgnfihbLWEtel0rKSg7cT0oWzAtOS5dKykpP34nLHN0cl9yZXBsYWNlKCJfIiwiLSIsc3RydG9sb3dlcigkX1NFUlZFUlsiSFRUUF9BQ0NFUFRfTEFOR1VBR0UiXSkpLCR0YSxQUkVHX1NFVF9PUkRFUik7Zm9yZWFjaCgkdGEKYXMkayl7JGxkWyRrWzFdXT0oaXNzZXQoJGtbM10pPyRrWzNdOjEpO31hcnNvcnQoJGxkKTtmb3JlYWNoKCRsZAphcyRkPT4kYmEpe2lmKGlzc2V0KCRRYlskZF0pKXskamE9JGQ7YnJlYWs7fSRkPXByZWdfcmVwbGFjZSgnfi0uKn4nLCcnLCRkKTtpZighaXNzZXQoJGxkWyRkXSkmJmlzc2V0KCRRYlskZF0pKXskamE9JGQ7YnJlYWs7fX19c3dpdGNoKCRqYSl7Y2FzZSJlbiI6JFc9YXJyYXkoJ0FyZSB5b3Ugc3VyZT8nLCdVbmFibGUgdG8gdXBsb2FkIGEgZmlsZS4nLCdNYXhpbXVtIGFsbG93ZWQgZmlsZSBzaXplIGlzICVzQi4nLCdGaWxlIGRvZXMgbm90IGV4aXN0LicsJ2VtcHR5Jywnb3JpZ2luYWwnLCdObyB0YWJsZXMuJywnTGFuZ3VhZ2UnLCdVc2UnLCdQbGVhc2UgdXNlIG9uZSBvZiB0aGUgZXh0ZW5zaW9ucyAlcy4nLCdGaWxlIGV4aXN0cy4nLCdVc2VyIHR5cGVzJywnTnVtYmVycycsJ0RhdGUgYW5kIHRpbWUnLCdTdHJpbmdzJywnQmluYXJ5JywnTmV0d29yaycsJ0dlb21ldHJ5JywnTGlzdHMnLCdTeXN0ZW0nLCdTZXJ2ZXInLCdVc2VybmFtZScsJ1Bhc3N3b3JkJywnTG9naW4nLCdQZXJtYW5lbnQgbG9naW4nLCdTZWxlY3QgZGF0YScsJ1Nob3cgc3RydWN0dXJlJywnQWx0ZXIgdmlldycsJ0FsdGVyIHRhYmxlJywnTmV3IGl0ZW0nLCdMYXN0IHBhZ2UnLCdFZGl0JyxhcnJheSgnJWQgYnl0ZScsJyVkIGJ5dGVzJyksJ1NlbGVjdCcsJ0Z1bmN0aW9ucycsJ0FnZ3JlZ2F0aW9uJywnU2VhcmNoJywnYW55d2hlcmUnLCdTb3J0JywnZGVzY2VuZGluZycsJ0xpbWl0JywnVGV4dCBsZW5ndGgnLCdBY3Rpb24nLCdTUUwgY29tbWFuZCcsJ29wZW4nLCdzYXZlJywnQWx0ZXIgZGF0YWJhc2UnLCdBbHRlciBzY2hlbWEnLCdDcmVhdGUgc2NoZW1hJywnRGF0YWJhc2Ugc2NoZW1hJywnUHJpdmlsZWdlcycsJ0R1bXAnLCdMb2dvdXQnLCdkYXRhYmFzZScsJ3NjaGVtYScsJ0NyZWF0ZSBuZXcgdGFibGUnLCdzZWxlY3QnLCdsdHInLCdSZXNlbmQgUE9TVCBkYXRhPycsJ0ludmFsaWQgQ1NSRiB0b2tlbi4gU2VuZCB0aGUgZm9ybSBhZ2Fpbi4nLCdMb2dvdXQgc3VjY2Vzc2Z1bC4nLCdTZXNzaW9uIHN1cHBvcnQgbXVzdCBiZSBlbmFibGVkLicsJ1Nlc3Npb24gZXhwaXJlZCwgcGxlYXNlIGxvZ2luIGFnYWluLicsJ0ludmFsaWQgY3JlZGVudGlhbHMuJywnTm8gZXh0ZW5zaW9uJywnTm9uZSBvZiB0aGUgc3VwcG9ydGVkIFBIUCBleHRlbnNpb25zICglcykgYXJlIGF2YWlsYWJsZS4nLCdUb28gYmlnIFBPU1QgZGF0YS4gUmVkdWNlIHRoZSBkYXRhIG9yIGluY3JlYXNlIHRoZSAlcyBjb25maWd1cmF0aW9uIGRpcmVjdGl2ZS4nLCdEYXRhYmFzZScsJ0ludmFsaWQgZGF0YWJhc2UuJywnRGF0YWJhc2VzIGhhdmUgYmVlbiBkcm9wcGVkLicsJ1NlbGVjdCBkYXRhYmFzZScsJ0NyZWF0ZSBuZXcgZGF0YWJhc2UnLCdQcm9jZXNzIGxpc3QnLCdWYXJpYWJsZXMnLCdTdGF0dXMnLCclcyB2ZXJzaW9uOiAlcyB0aHJvdWdoIFBIUCBleHRlbnNpb24gJXMnLCdMb2dnZWQgYXM6ICVzJywnQ29sbGF0aW9uJywnVGFibGVzJywnRHJvcCcsJ1JlZnJlc2gnLCdTY2hlbWEnLCdJbnZhbGlkIHNjaGVtYS4nLCdObyByb3dzLicsJyUuM2YgcycsJ0ZvcmVpZ24ga2V5cycsJ2NvbGxhdGlvbicsJ09OIERFTEVURScsJ0NvbHVtbiBuYW1lJywnUGFyYW1ldGVyIG5hbWUnLCdUeXBlJywnTGVuZ3RoJywnT3B0aW9ucycsJ0F1dG8gSW5jcmVtZW50JywnRGVmYXVsdCB2YWx1ZXMnLCdDb21tZW50JywnQWRkIG5leHQnLCdNb3ZlIHVwJywnTW92ZSBkb3duJywnUmVtb3ZlJywnVmlldycsJ1RhYmxlJywnQ29sdW1uJywnSW5kZXhlcycsJ0FsdGVyIGluZGV4ZXMnLCdTb3VyY2UnLCdUYXJnZXQnLCdPTiBVUERBVEUnLCdBbHRlcicsJ0FkZCBmb3JlaWduIGtleScsJ1RyaWdnZXJzJywnQWRkIHRyaWdnZXInLCdQZXJtYW5lbnQgbGluaycsJ0V4cG9ydCcsJ091dHB1dCcsJ0Zvcm1hdCcsJ1JvdXRpbmVzJywnRXZlbnRzJywnRGF0YScsJ2VkaXQnLCdDcmVhdGUgdXNlcicsJ0Vycm9yIGluIHF1ZXJ5JyxhcnJheSgnJWQgcm93JywnJWQgcm93cycpLGFycmF5KCdRdWVyeSBleGVjdXRlZCBPSywgJWQgcm93IGFmZmVjdGVkLicsJ1F1ZXJ5IGV4ZWN1dGVkIE9LLCAlZCByb3dzIGFmZmVjdGVkLicpLCdObyBjb21tYW5kcyB0byBleGVjdXRlLicsYXJyYXkoJyVkIHF1ZXJ5IGV4ZWN1dGVkIE9LLicsJyVkIHF1ZXJpZXMgZXhlY3V0ZWQgT0suJyksJ0ZpbGUgdXBsb2FkJywnRmlsZSB1cGxvYWRzIGFyZSBkaXNhYmxlZC4nLCdFeGVjdXRlJywnU3RvcCBvbiBlcnJvcicsJ1Nob3cgb25seSBlcnJvcnMnLCdGcm9tIHNlcnZlcicsJ1dlYnNlcnZlciBmaWxlICVzJywnUnVuIGZpbGUnLCdIaXN0b3J5JywnQ2xlYXInLCdFZGl0IGFsbCcsJ0l0ZW0gaGFzIGJlZW4gZGVsZXRlZC4nLCdJdGVtIGhhcyBiZWVuIHVwZGF0ZWQuJywnSXRlbSVzIGhhcyBiZWVuIGluc2VydGVkLicsJ0luc2VydCcsJ1NhdmUnLCdTYXZlIGFuZCBjb250aW51ZSBlZGl0JywnU2F2ZSBhbmQgaW5zZXJ0IG5leHQnLCdEZWxldGUnLCdUYWJsZSBoYXMgYmVlbiBkcm9wcGVkLicsJ1RhYmxlIGhhcyBiZWVuIGFsdGVyZWQuJywnVGFibGUgaGFzIGJlZW4gY3JlYXRlZC4nLCdDcmVhdGUgdGFibGUnLCdNYXhpbXVtIG51bWJlciBvZiBhbGxvd2VkIGZpZWxkcyBleGNlZWRlZC4gUGxlYXNlIGluY3JlYXNlICVzIGFuZCAlcy4nLCdUYWJsZSBuYW1lJywnZW5naW5lJywnUGFydGl0aW9uIGJ5JywnUGFydGl0aW9ucycsJ1BhcnRpdGlvbiBuYW1lJywnVmFsdWVzJywnSW5kZXhlcyBoYXZlIGJlZW4gYWx0ZXJlZC4nLCdJbmRleCBUeXBlJywnQ29sdW1uIChsZW5ndGgpJywnTmFtZScsJ0RhdGFiYXNlIGhhcyBiZWVuIGRyb3BwZWQuJywnRGF0YWJhc2UgaGFzIGJlZW4gcmVuYW1lZC4nLCdEYXRhYmFzZSBoYXMgYmVlbiBjcmVhdGVkLicsJ0RhdGFiYXNlIGhhcyBiZWVuIGFsdGVyZWQuJywnQ3JlYXRlIGRhdGFiYXNlJywnU2NoZW1hIGhhcyBiZWVuIGRyb3BwZWQuJywnU2NoZW1hIGhhcyBiZWVuIGNyZWF0ZWQuJywnU2NoZW1hIGhhcyBiZWVuIGFsdGVyZWQuJywnQ2FsbCcsYXJyYXkoJ1JvdXRpbmUgaGFzIGJlZW4gY2FsbGVkLCAlZCByb3cgYWZmZWN0ZWQuJywnUm91dGluZSBoYXMgYmVlbiBjYWxsZWQsICVkIHJvd3MgYWZmZWN0ZWQuJyksJ0ZvcmVpZ24ga2V5IGhhcyBiZWVuIGRyb3BwZWQuJywnRm9yZWlnbiBrZXkgaGFzIGJlZW4gYWx0ZXJlZC4nLCdGb3JlaWduIGtleSBoYXMgYmVlbiBjcmVhdGVkLicsJ1NvdXJjZSBhbmQgdGFyZ2V0IGNvbHVtbnMgbXVzdCBoYXZlIHRoZSBzYW1lIGRhdGEgdHlwZSwgdGhlcmUgbXVzdCBiZSBhbiBpbmRleCBvbiB0aGUgdGFyZ2V0IGNvbHVtbnMgYW5kIHJlZmVyZW5jZWQgZGF0YSBtdXN0IGV4aXN0LicsJ0ZvcmVpZ24ga2V5JywnVGFyZ2V0IHRhYmxlJywnQ2hhbmdlJywnQWRkIGNvbHVtbicsJ1ZpZXcgaGFzIGJlZW4gZHJvcHBlZC4nLCdWaWV3IGhhcyBiZWVuIGFsdGVyZWQuJywnVmlldyBoYXMgYmVlbiBjcmVhdGVkLicsJ0NyZWF0ZSB2aWV3JywnRXZlbnQgaGFzIGJlZW4gZHJvcHBlZC4nLCdFdmVudCBoYXMgYmVlbiBhbHRlcmVkLicsJ0V2ZW50IGhhcyBiZWVuIGNyZWF0ZWQuJywnQWx0ZXIgZXZlbnQnLCdDcmVhdGUgZXZlbnQnLCdTdGFydCcsJ0VuZCcsJ0V2ZXJ5JywnT24gY29tcGxldGlvbiBwcmVzZXJ2ZScsJ1JvdXRpbmUgaGFzIGJlZW4gZHJvcHBlZC4nLCdSb3V0aW5lIGhhcyBiZWVuIGFsdGVyZWQuJywnUm91dGluZSBoYXMgYmVlbiBjcmVhdGVkLicsJ0FsdGVyIGZ1bmN0aW9uJywnQWx0ZXIgcHJvY2VkdXJlJywnQ3JlYXRlIGZ1bmN0aW9uJywnQ3JlYXRlIHByb2NlZHVyZScsJ1JldHVybiB0eXBlJywnU2VxdWVuY2UgaGFzIGJlZW4gZHJvcHBlZC4nLCdTZXF1ZW5jZSBoYXMgYmVlbiBjcmVhdGVkLicsJ1NlcXVlbmNlIGhhcyBiZWVuIGFsdGVyZWQuJywnQWx0ZXIgc2VxdWVuY2UnLCdDcmVhdGUgc2VxdWVuY2UnLCdUeXBlIGhhcyBiZWVuIGRyb3BwZWQuJywnVHlwZSBoYXMgYmVlbiBjcmVhdGVkLicsJ0FsdGVyIHR5cGUnLCdDcmVhdGUgdHlwZScsJ1RyaWdnZXIgaGFzIGJlZW4gZHJvcHBlZC4nLCdUcmlnZ2VyIGhhcyBiZWVuIGFsdGVyZWQuJywnVHJpZ2dlciBoYXMgYmVlbiBjcmVhdGVkLicsJ0FsdGVyIHRyaWdnZXInLCdDcmVhdGUgdHJpZ2dlcicsJ1RpbWUnLCdFdmVudCcsJ1VzZXIgaGFzIGJlZW4gZHJvcHBlZC4nLCdVc2VyIGhhcyBiZWVuIGFsdGVyZWQuJywnVXNlciBoYXMgYmVlbiBjcmVhdGVkLicsJ0hhc2hlZCcsJ1JvdXRpbmUnLCdHcmFudCcsJ1Jldm9rZScsYXJyYXkoJyVkIHByb2Nlc3MgaGFzIGJlZW4ga2lsbGVkLicsJyVkIHByb2Nlc3NlcyBoYXZlIGJlZW4ga2lsbGVkLicpLCclZCBpbiB0b3RhbCcsJ0tpbGwnLGFycmF5KCclZCBpdGVtIGhhcyBiZWVuIGFmZmVjdGVkLicsJyVkIGl0ZW1zIGhhdmUgYmVlbiBhZmZlY3RlZC4nKSwnRG91YmxlIGNsaWNrIG9uIGEgdmFsdWUgdG8gbW9kaWZ5IGl0LicsYXJyYXkoJyVkIHJvdyBoYXMgYmVlbiBpbXBvcnRlZC4nLCclZCByb3dzIGhhdmUgYmVlbiBpbXBvcnRlZC4nKSwnVW5hYmxlIHRvIHNlbGVjdCB0aGUgdGFibGUnLCdSZWxhdGlvbnMnLCdVc2UgZWRpdCBsaW5rIHRvIG1vZGlmeSB0aGlzIHZhbHVlLicsJ1BhZ2UnLCdsYXN0Jywnd2hvbGUgcmVzdWx0JywnQ2xvbmUnLCdJbXBvcnQnLCcsJywnVGFibGVzIGhhdmUgYmVlbiB0cnVuY2F0ZWQuJywnVGFibGVzIGhhdmUgYmVlbiBtb3ZlZC4nLCdUYWJsZXMgaGF2ZSBiZWVuIGNvcGllZC4nLCdUYWJsZXMgaGF2ZSBiZWVuIGRyb3BwZWQuJywnVGFibGVzIGFuZCB2aWV3cycsJ1NlYXJjaCBkYXRhIGluIHRhYmxlcycsJ0VuZ2luZScsJ0RhdGEgTGVuZ3RoJywnSW5kZXggTGVuZ3RoJywnRGF0YSBGcmVlJywnUm93cycsJ0FuYWx5emUnLCdPcHRpbWl6ZScsJ0NoZWNrJywnUmVwYWlyJywnVHJ1bmNhdGUnLCdNb3ZlIHRvIG90aGVyIGRhdGFiYXNlJywnTW92ZScsJ0NvcHknLCdTZXF1ZW5jZXMnLCdTY2hlZHVsZScsJ0F0IGdpdmVuIHRpbWUnLGFycmF5KCclZCBlLW1haWwgaGFzIGJlZW4gc2VudC4nLCclZCBlLW1haWxzIGhhdmUgYmVlbiBzZW50LicpKTticmVhaztjYXNlImNzIjokVz1hcnJheSgnT3ByYXZkdT8nLCdOZXBvZGHFmWlsbyBzZSBuYWhyw6F0IHNvdWJvci4nLCdNYXhpbcOhbG7DrSBwb3ZvbGVuw6EgdmVsaWtvc3Qgc291Ym9ydSBqZSAlc0IuJywnU291Ym9yIG5lZXhpc3R1amUuJywncHLDoXpkbsOpJywncMWvdm9kbsOtJywnxb3DoWRuw6kgdGFidWxreS4nLCdKYXp5aycsJ1Z5YnJhdCcsJ1Byb3PDrW0gcG91xb5panRlIGplZG51IHoga29uY292ZWsgJXMuJywnU291Ym9yIGV4aXN0dWplLicsJ1XFvml2YXRlbHNrw6kgdHlweScsJ8SMw61zbGEnLCdEYXR1bSBhIMSNYXMnLCfFmGV0xJt6Y2UnLCdCaW7DoXJuw60nLCdTw63FpScsJ0dlb21ldHJpZScsJ1Nlem5hbXknLCdTeXN0w6ltJywnU2VydmVyJywnVcW+aXZhdGVsJywnSGVzbG8nLCdQxZlpaGzDoXNpdCBzZScsJ1RydmFsw6kgcMWZaWhsw6HFoWVuw60nLCdWeXBzYXQgZGF0YScsJ1pvYnJheml0IHN0cnVrdHVydScsJ1Bvem3Em25pdCBwb2hsZWQnLCdQb3ptxJtuaXQgdGFidWxrdScsJ05vdsOhIHBvbG/FvmthJywnUG9zbGVkbsOtIHN0csOhbmthJywnVXByYXZpdCcsYXJyYXkoJyVkIGJhanQnLCclZCBiYWp0eScsJyVkIGJhanTFrycpLCdWeXBzYXQnLCdGdW5rY2UnLCdBZ3JlZ2FjZScsJ1Z5aGxlZGF0Jywna2Rla29saXYnLCdTZcWZYWRpdCcsJ3Nlc3R1cG7EmycsJ0xpbWl0JywnRMOpbGthIHRleHTFrycsJ0FrY2UnLCdTUUwgcMWZw61rYXonLCdvdGV2xZnDrXQnLCd1bG/Fvml0JywnUG96bcSbbml0IGRhdGFiw6F6aScsJ1Bvem3Em25pdCBzY2jDqW1hJywnVnl0dm/FmWl0IHNjaMOpbWEnLCdTY2jDqW1hIGRhdGFiw6F6ZScsJ09wcsOhdm7Em27DrScsJ0V4cG9ydCcsJ09kaGzDoXNpdCcsJ2RhdGFiw6F6ZScsJ3NjaMOpbWEnLCdWeXR2b8WZaXQgbm92b3UgdGFidWxrdScsJ3Z5cHNhdCcsJ2x0cicsJ1pub3Z1IG9kZXNsYXQgUE9TVCBkYXRhPycsJ05lcGxhdG7DvSB0b2tlbiBDU1JGLiBPZGXFoWxldGUgZm9ybXVsw6HFmSB6bm92dS4nLCdPZGhsw6HFoWVuw60gcHJvYsSbaGxvIHYgcG/FmcOhZGt1LicsJ1Nlc3Npb24gcHJvbcSbbm7DqSBtdXPDrSBiw710IHBvdm9sZW7DqS4nLCdTZXNzaW9uIHZ5cHLFoWVsYSwgcMWZaWhsYcWhdGUgc2UgcHJvc8OtbSB6bm92dS4nLCdOZXBsYXRuw6kgcMWZaWhsYcWhb3ZhY8OtIMO6ZGFqZS4nLCfFvcOhZG7DoSBleHRlbnplJywnTmVuw60gZG9zdHVwbsOhIMW+w6FkbsOhIHogcG9kcG9yb3ZhbsO9Y2ggUEhQIGV4dGVuesOtICglcykuJywnUMWZw61sacWhIHZlbGvDoSBQT1NUIGRhdGEuIFptZW7FoWV0ZSBkYXRhIG5lYm8genZ5xaF0ZSBob2Rub3R1IGtvbmZpZ3VyYcSNbsOtIGRpcmVrdGl2eSAlcy4nLCdEYXRhYsOhemUnLCdOZXNwcsOhdm7DoSBkYXRhYsOhemUuJywnRGF0YWLDoXplIGJ5bHkgb2RzdHJhbsSbbnkuJywnVnlicmF0IGRhdGFiw6F6aScsJ1Z5dHZvxZlpdCBub3ZvdSBkYXRhYsOhemknLCdTZXpuYW0gcHJvY2Vzxa8nLCdQcm9txJtubsOpJywnU3RhdicsJ1ZlcnplICVzOiAlcyBwxZllcyBQSFAgZXh0ZW56aSAlcycsJ1DFmWlobMOhxaFlbiBqYWtvOiAlcycsJ1Bvcm92bsOhdsOhbsOtJywnVGFidWxreScsJ09kc3RyYW5pdCcsJ09ibm92aXQnLCdTY2jDqW1hJywnTmVzcHLDoXZuw6kgc2Now6ltYS4nLCfFvcOhZG7DqSDFmcOhZGt5LicsJyUuM2YgcycsJ0NpesOtIGtsw63EjWUnLCdwb3Jvdm7DoXbDoW7DrScsJ1DFmWkgc21hesOhbsOtJywnTsOhemV2IHNsb3VwY2UnLCdOw6F6ZXYgcGFyYW1ldHJ1JywnVHlwJywnRMOpbGthJywnVm9sYnknLCdBdXRvIEluY3JlbWVudCcsJ1bDvWNob3rDrSBob2Rub3R5JywnS29tZW50w6HFmScsJ1DFmWlkYXQgZGFsxaHDrScsJ1DFmWVzdW5vdXQgbmFob3J1JywnUMWZZXN1bm91dCBkb2zFrycsJ09kZWJyYXQnLCdQb2hsZWQnLCdUYWJ1bGthJywnU2xvdXBlYycsJ0luZGV4eScsJ1Bvem3Em25pdCBpbmRleHknLCdaZHJvaicsJ0PDrWwnLCdQxZlpIHptxJtuxJsnLCdabcSbbml0JywnUMWZaWRhdCBjaXrDrSBrbMOtxI0nLCdUcmlnZ2VyeScsJ1DFmWlkYXQgdHJpZ2dlcicsJ1RydmFsw70gb2RrYXonLCdFeHBvcnQnLCdWw71zdHVwJywnRm9ybcOhdCcsJ1Byb2NlZHVyeSBhIGZ1bmtjZScsJ1Vkw6Fsb3N0aScsJ0RhdGEnLCd1cHJhdml0JywnVnl0dm/FmWl0IHXFvml2YXRlbGUnLCdDaHliYSB2IGRvdGF6dScsYXJyYXkoJyVkIMWZw6FkZWsnLCclZCDFmcOhZGt5JywnJWQgxZnDoWRrxa8nKSxhcnJheSgnUMWZw61rYXogcHJvYsSbaGwgdiBwb8WZw6Fka3UsIGJ5bCB6bcSbbsSbbiAlZCB6w6F6bmFtLicsJ1DFmcOta2F6IHByb2LEm2hsIHYgcG/FmcOhZGt1LCBieWx5IHptxJtuxJtueSAlZCB6w6F6bmFteS4nLCdQxZnDrWtheiBwcm9ixJtobCB2IHBvxZnDoWRrdSwgYnlsbyB6bcSbbsSbbm8gJWQgesOhem5hbcWvLicpLCfFvcOhZG7DqSBwxZnDrWthenkgayB2eWtvbsOhbsOtLicsYXJyYXkoJyVkIHDFmcOta2F6IHByb2LEm2hsIHYgcG/FmcOhZGt1LicsJyVkIHDFmcOta2F6eSBwcm9ixJtobHkgdiBwb8WZw6Fka3UuJywnJWQgcMWZw61rYXrFryBwcm9ixJtobG8gdiBwb8WZw6Fka3UuJyksJ05haHLDoW7DrSBzb3Vib3J1JywnTmFocsOhdsOhbsOtIHNvdWJvcsWvIG5lbsOtIHBvdm9sZW5vLicsJ1Byb3bDqXN0JywnWmFzdGF2aXQgcMWZaSBjaHlixJsnLCdab2JyYXppdCBwb3V6ZSBjaHlieScsJ1plIHNlcnZlcnUnLCdTb3Vib3IgJXMgbmEgd2Vib3bDqW0gc2VydmVydScsJ1NwdXN0aXQgc291Ym9yJywnSGlzdG9yaWUnLCdWecSNaXN0aXQnLCdVcHJhdml0IHbFoWUnLCdQb2xvxb5rYSBieWxhIHNtYXrDoW5hLicsJ1BvbG/FvmthIGJ5bGEgYWt0dWFsaXpvdsOhbmEuJywnUG9sb8W+a2ElcyBieWxhIHZsb8W+ZW5hLicsJ1Zsb8W+aXQnLCdVbG/Fvml0JywnVWxvxb5pdCBhIHBva3JhxI1vdmF0IHYgZWRpdGFjaScsJ1Vsb8W+aXQgYSB2bG/Fvml0IGRhbMWhw60nLCdTbWF6YXQnLCdUYWJ1bGthIGJ5bGEgb2RzdHJhbsSbbmEuJywnVGFidWxrYSBieWxhIHptxJtuxJtuYS4nLCdUYWJ1bGthIGJ5bGEgdnl0dm/FmWVuYS4nLCdWeXR2b8WZaXQgdGFidWxrdScsJ0J5bCBwxZlla3JvxI1lbiBtYXhpbcOhbG7DrSBwb3ZvbGVuw70gcG/EjWV0IHBvbMOtLiBadnnFoXRlIHByb3PDrW0gJXMgYSAlcy4nLCdOw6F6ZXYgdGFidWxreScsJ8O6bG/FvmnFoXTEmycsJ1JvemTEm2xpdCBwb2RsZScsJ09kZMOtbHknLCdOw6F6ZXYgb2Rkw61sdScsJ0hvZG5vdHknLCdJbmRleHkgYnlseSB6bcSbbsSbbnkuJywnVHlwIGluZGV4dScsJ1Nsb3VwZWMgKGTDqWxrYSknLCdOw6F6ZXYnLCdEYXRhYsOhemUgYnlsYSBvZHN0cmFuxJtuYS4nLCdEYXRhYsOhemUgYnlsYSBwxZllam1lbm92w6FuYS4nLCdEYXRhYsOhemUgYnlsYSB2eXR2b8WZZW5hLicsJ0RhdGFiw6F6ZSBieWxhIHptxJtuxJtuYS4nLCdWeXR2b8WZaXQgZGF0YWLDoXppJywnU2Now6ltYSBieWxvIG9kc3RyYW7Em25vLicsJ1NjaMOpbWEgYnlsbyB2eXR2b8WZZW5vLicsJ1NjaMOpbWEgYnlsbyB6bcSbbsSbbm8uJywnWmF2b2xhdCcsYXJyYXkoJ1Byb2NlZHVyYSBieWxhIHphdm9sw6FuYSwgYnlsIHptxJtuxJtuICVkIHrDoXpuYW0uJywnUHJvY2VkdXJhIGJ5bGEgemF2b2zDoW5hLCBieWx5IHptxJtuxJtueSAlZCB6w6F6bmFteS4nLCdQcm9jZWR1cmEgYnlsYSB6YXZvbMOhbmEsIGJ5bG8gem3Em27Em25vICVkIHrDoXpuYW3Fry4nKSwnQ2l6w60ga2zDrcSNIGJ5bCBvZHN0cmFuxJtuLicsJ0NpesOtIGtsw63EjSBieWwgem3Em27Em24uJywnQ2l6w60ga2zDrcSNIGJ5bCB2eXR2b8WZZW4uJywnWmRyb2pvdsOpIGEgY8OtbG92w6kgc2xvdXBjZSBtdXPDrSBtw610IHN0ZWpuw70gZGF0b3bDvSB0eXAsIG5hZCBjw61sb3bDvW1pIHNsb3VwY2kgbXVzw60gYsO9dCBkZWZpbm92w6FuIGluZGV4IGEgb2RrYXpvdmFuw6EgZGF0YSBtdXPDrSBleGlzdG92YXQuJywnQ2l6w60ga2zDrcSNJywnQ8OtbG92w6EgdGFidWxrYScsJ1ptxJtuaXQnLCdQxZlpZGF0IHNsb3VwZWMnLCdQb2hsZWQgYnlsIG9kc3RyYW7Em24uJywnUG9obGVkIGJ5bCB6bcSbbsSbbi4nLCdQb2hsZWQgYnlsIHZ5dHZvxZllbi4nLCdWeXR2b8WZaXQgcG9obGVkJywnVWTDoWxvc3QgYnlsYSBvZHN0cmFuxJtuYS4nLCdVZMOhbG9zdCBieWxhIHptxJtuxJtuYS4nLCdVZMOhbG9zdCBieWxhIHZ5dHZvxZllbmEuJywnUG96bcSbbml0IHVkw6Fsb3N0JywnVnl0dm/FmWl0IHVkw6Fsb3N0JywnWmHEjcOhdGVrJywnS29uZWMnLCdLYcW+ZMO9Y2gnLCdQbyBkb2tvbsSNZW7DrSB6YWNob3ZhdCcsJ1Byb2NlZHVyYSBieWxhIG9kc3RyYW7Em25hLicsJ1Byb2NlZHVyYSBieWxhIHptxJtuxJtuYS4nLCdQcm9jZWR1cmEgYnlsYSB2eXR2b8WZZW5hLicsJ1ptxJtuaXQgZnVua2NpJywnWm3Em25pdCBwcm9jZWR1cnUnLCdWeXR2b8WZaXQgZnVua2NpJywnVnl0dm/FmWl0IHByb2NlZHVydScsJ07DoXZyYXRvdsO9IHR5cCcsJ1Nla3ZlbmNlIGJ5bGEgb2RzdHJhbsSbbmEuJywnU2VrdmVuY2UgYnlsYSB2eXR2b8WZZW5hLicsJ1Nla3ZlbmNlIGJ5bGEgem3Em27Em25hLicsJ1Bvem3Em25pdCBzZWt2ZW5jaScsJ1Z5dHZvxZlpdCBzZWt2ZW5jaScsJ1R5cCBieWwgb2RzdHJhbsSbbi4nLCdUeXAgYnlsIHZ5dHZvxZllbi4nLCdQb3ptxJtuaXQgdHlwJywnVnl0dm/FmWl0IHR5cCcsJ1RyaWdnZXIgYnlsIG9kc3RyYW7Em24uJywnVHJpZ2dlciBieWwgem3Em27Em24uJywnVHJpZ2dlciBieWwgdnl0dm/FmWVuLicsJ1ptxJtuaXQgdHJpZ2dlcicsJ1Z5dHZvxZlpdCB0cmlnZ2VyJywnxIxhcycsJ1Vkw6Fsb3N0JywnVcW+aXZhdGVsIGJ5bCBvZHN0cmFuxJtuLicsJ1XFvml2YXRlbCBieWwgem3Em27Em24uJywnVcW+aXZhdGVsIGJ5bCB2eXR2b8WZZW4uJywnWmFoYcWhb3ZhbsOpJywnUHJvY2VkdXJhJywnUG92b2xpdCcsJ1pha8OhemF0JyxhcnJheSgnQnlsIHVrb27EjWVuICVkIHByb2Nlcy4nLCdCeWx5IHVrb27EjWVueSAlZCBwcm9jZXN5LicsJ0J5bG8gdWtvbsSNZW5vICVkIHByb2Nlc8WvLicpLCclZCBjZWxrZW0nLCdVa29uxI1pdCcsYXJyYXkoJ0J5bCBvdmxpdm7Em24gJWQgesOhem5hbS4nLCdCeWx5IG92bGl2bsSbbnkgJWQgesOhem5hbXkuJywnQnlsbyBvdmxpdm7Em25vICVkIHrDoXpuYW3Fry4nKSwnRHZvamtsaWtuxJt0ZSBuYSBwb2zDrcSNa28sIGt0ZXLDqSBjaGNldGUgem3Em25pdC4nLGFycmF5KCdCeWwgaW1wb3J0b3bDoW4gJWQgesOhem5hbS4nLCdCeWx5IGltcG9ydG92w6FueSAlZCB6w6F6bmFteS4nLCdCeWxvIGltcG9ydG92w6FubyAlZCB6w6F6bmFtxa8uJyksJ05lcG9kYcWZaWxvIHNlIHZ5cHNhdCB0YWJ1bGt1JywnVnp0YWh5JywnS2Ugem3Em27EmyB0w6l0byBob2Rub3R5IHBvdcW+aWp0ZSBvZGtheiB1cHJhdml0LicsJ1N0csOhbmthJywncG9zbGVkbsOtJywnY2Vsw70gdsO9c2xlZGVrJywnS2xvbm92YXQnLCdJbXBvcnQnLCcgJywnVGFidWxreSBieWx5IHZ5cHLDoXpkbsSbbnkuJywnVGFidWxreSBieWx5IHDFmWVzdW51dHkuJywnVGFidWxreSBieWx5IHprb3DDrXJvdsOhbnkuJywnVGFidWxreSBieWx5IG9kc3RyYW7Em255LicsJ1RhYnVsa3kgYSBwb2hsZWR5JywnVnlobGVkYXQgZGF0YSB2IHRhYnVsa8OhY2gnLCfDmmxvxb5pxaF0xJsnLCdWZWxpa29zdCBkYXQnLCdWZWxpa29zdCBpbmRleMWvJywnVm9sbsOpIG3DrXN0bycsJ8WYw6Fka8WvJywnQW5hbHl6b3ZhdCcsJ09wdGltYWxpem92YXQnLCdaa29udHJvbG92YXQnLCdPcHJhdml0JywnVnlwcsOhemRuaXQnLCdQxZllc3Vub3V0IGRvIGppbsOpIGRhdGFiw6F6ZScsJ1DFmWVzdW5vdXQnLCdaa29ww61yb3ZhdCcsJ1Nla3ZlbmNlJywnUGzDoW4nLCdWIGRhbsO9IMSNYXMnLCd0ZcSPJyk7YnJlYWs7Y2FzZSJzayI6JFc9YXJyYXkoJ05hb3phaj8nLCdTw7pib3Igc2EgbmVwb2RhcmlsbyBuYWhyYcWlLicsJ01heGltw6FsbmEgcG92b2xlbsOhIHZlxL5rb3PFpSBzw7pib3J1IGplICVzQi4nLCdTw7pib3IgbmVleGlzdHVqZS4nLCdwcsOhemRuZScsJ29yaWdpbsOhbCcsJ8W9aWFkbmUgdGFidcS+a3kuJywnSmF6eWsnLCdWeWJyYcWlJywnUHJvc8OtbSB2eWJlcnRlIGplZG51IHoga29uY292aWVrICVzLicsJ1PDumJvciBleGlzdHVqZS4nLCdVxb7DrXZhdGXEvnNrw6kgdHlweScsJ8SMw61zbGEnLCdEw6F0dW0gYSDEjWFzJywnUmXFpWF6Y2UnLCdCaW7DoXJuZScsJ1NpZcWlJywnR2VvbWV0cmlhJywnWm96bmFteScsJ1N5c3TDqW0nLCdTZXJ2ZXInLCdQb3XFvsOtdmF0ZcS+JywnSGVzbG8nLCdQcmlobMOhc2nFpSBzYScsJ1RydmFsw6kgcHJpaGzDoXNlbmllJywnVnlww61zYcWlIGTDoXRhJywnWm9icmF6acWlIMWhdHJ1a3TDunJ1JywnWm1lbmnFpSBwb2jEvmFkJywnWm1lbmnFpSB0YWJ1xL5rdScsJ05vdsOhIHBvbG/FvmthJywnUG9zbGVkbsOhIHN0csOhbmthJywnVXByYXZpxaUnLGFycmF5KCclZCBiYWp0JywnJWQgYmFqdHknLCclZCBiYWp0b3YnKSwnVnlww61zYcWlJywnRnVua2NpZScsJ0FncmVnw6FjaWEnLCdWeWjEvmFkYcWlJywna2Rla2/EvnZlaycsJ1pvdHJpZWRpxaUnLCd6b3N0dXBuZScsJ0xpbWl0JywnRMS6xb5rYSB0ZXh0b3YnLCdBa2NpYScsJ1NRTCBwcsOta2F6Jywnb3R2b3JpxaUnLCd1bG/FvmnFpScsJ1ptZW5pxaUgZGF0YWLDoXp1JywnUG96bWVuacWlIHNjaMOpbXUnLCdWeXR2b3JpxaUgc2Now6ltdScsJ1NjaMOpbWEgZGF0YWLDoXp5JywnT3Byw6F2bmVuaWEnLCdFeHBvcnQnLCdPZGhsw6FzacWlJywnZGF0YWLDoXphJywnc2Now6ltYScsJ1Z5dHZvcmnFpSBub3bDuiB0YWJ1xL5rdScsJ3Z5cMOtc2HFpScsJ2x0cicsJ1pub3Z1IHBvc2xhxaUgUE9TVCBkYXRhPycsJ05lcGxhdG7DvSB0b2tlbiBDU1JGLiBPZG/FoWxpdGUgZm9ybXVsw6FyIHpub3ZhLicsJ09kaGzDoXNlbmllIHByZWJlaGxvIHYgcG9yaWFka3UuJywnU2Vzc2lvbiBwcmVtZW5uw6kgbXVzaWEgYnnFpSBwb3ZvbGVuw6kuJywnU2Vzc2lvbiB2eXByxaFhbGEsIHByaWhsw6FzdGUgc2EgcHJvc8OtbSB6bm92YS4nLCdOZXBsYXRuw6kgcHJpaGxhc292YWNpZSDDumRhamUuJywnxb1pYWRuZSByb3rFocOtcmVuaWUnLCdOaWUgamUgZG9zdHVwbsOpIMW+aWFkbmUgeiBwb2Rwb3JvdmFuw71jaCByb3rFocOtcmVuw60gKCVzKS4nLCdQcsOtbGnFoSB2ZcS+a8OpIFBPU1QgZMOhdGEuIFptZW7FoWl0ZSBkw6F0YSBhbGVibyB6dsO9xaF0ZSBob2Rub3R1IGtvbmZpZ3VyYcSNZWogZGlyZWt0w612eSAlcy4nLCdEYXRhYsOhemEnLCdOZXNwcsOhdm5hIGRhdGFiw6F6YS4nLCdEYXRhYsOhenkgYm9saSBvZHN0csOhbmVuw6kuJywnVnlicmHFpSBkYXRhYsOhenUnLCdWeXR2b3JpxaUgbm92w7ogZGF0YWLDoXp1JywnWm96bmFtIHByb2Nlc292JywnUHJlbWVubsOpJywnU3RhdicsJ1ZlcnppYSAlczogJXMgY2V6IFBIUCByb3rFocOtcmVuaWUgJXMnLCdQcmlobMOhc2Vuw70gYWtvOiAlcycsJ1Bvcm92bsOhdmFuaWUnLCdUYWJ1xL5reScsJ09kc3Ryw6FuacWlJywnT2Jub3ZpxaUnLCdTY2jDqW1hJywnTmVwbGF0bsOpIHNjaMOpbWEuJywnxb1pYWRuZSByaWFka3kuJywnJS4zZiBzJywnQ3VkemllIGvEvsO6xI1lJywncG9yb3Zuw6F2YW5pZScsJ09OIERFTEVURScsJ07DoXpvdiBzdMS6cGNhJywnTsOhem92IHBhcmFtZXRyYScsJ1R5cCcsJ0TEusW+a2EnLCdWb8S+YnknLCdBdXRvIEluY3JlbWVudCcsJ1bDvWNob2R6aWUgaG9kbm90eScsJ0tvbWVudMOhcicsJ1ByaWRhxaUgxI9hbMWhw60nLCdQcmVzdW7DusWlIGhvcmUnLCdQcmVzdW7DusWlIGRvbHUnLCdPZG9icmHFpScsJ1BvaMS+YWQnLCdUYWJ1xL5rYScsJ1N0xLpwZWMnLCdJbmRleHknLCdabWVuacWlIGluZGV4eScsJ1pkcm9qJywnQ2llxL4nLCdPTiBVUERBVEUnLCdabWVuacWlJywnUHJpZGHFpSBjdWR6w60ga8S+w7rEjScsJ1RyaWdnZXJ5JywnUHJpZGHFpSB0cmlnZ2VyJywnUGVybWFuZW50bsO9IG9ka2F6JywnRXhwb3J0JywnVsO9c3R1cCcsJ0Zvcm3DoXQnLCdQcm9jZWTDunJ5JywnVWRhbG9zdGknLCdEw6F0YScsJ3VwcmF2acWlJywnVnl0dm9yacWlIHBvdcW+w612YXRlxL5hJywnQ2h5YmEgdiBkb3RhemUnLGFycmF5KCclZCByaWFkb2snLCclZCByaWFka3knLCclZCByaWFka292JyksYXJyYXkoJ1Byw61rYXogcHJlYmVob2wgdiBwb3JpYWRrdSwgYm9sIHptZW5lbsO9ICVkIHrDoXpuYW0uJywnUHLDrWtheiBwcmViZWhvbCB2IHBvcmlhZGt1IGJvbGkgem1lbmVuw6kgJWQgesOhem5hbXkuJywnUHLDrWtheiBwcmViZWhvbCB2IHBvcmlhZGt1IGJvbG8gem1lbmVuw71jaCAlZCB6w6F6bmFtb3YuJyksJ8W9aWFkbmUgcHLDrWthenkgbmEgdnlrb25hbmllLicsYXJyYXkoJ0JvbCB2eWtvbmFuw70gJWQgZG90YXouJywnQm9saSB2eWtvbmFuw6kgJWQgZG90YXp5LicsJ0JvbG8gdnlrb25hbsO9Y2ggJWQgZG90YXpvdi4nKSwnTmFocmFuaWUgc8O6Ym9ydScsJ05haHLDoXbDoW5pZSBzw7pib3JvdiBuaWUgamUgcG92b2xlbsOpLicsJ1Z5a29uYcWlJywnWmFzdGF2acWlIHByaSBjaHliZScsJ1pvYnJhemnFpSBpYmEgY2h5YnknLCdabyBzZXJ2ZXJ1JywnU8O6Ym9yICVzIG5hIHdlYm92b20gc2VydmVyaScsJ1NwdXN0acWlIHPDumJvcicsJ0hpc3TDs3JpYScsJ1Z5xI1pc3RpxaUnLCdVcHJhdmnFpSB2xaFldGtvJywnUG9sb8W+a2EgYm9sYSB2eW1hemFuw6EuJywnUG9sb8W+a2EgYm9sYSBha3R1YWxpem92YW7DoS4nLCdQb2xvxb5rYSVzIGJvbGEgdmxvxb5lbsOhLicsJ1Zsb8W+acWlJywnVWxvxb5pxaUnLCdVbG/FvmnFpSBhIHBva3JhxI1vdmHFpSB2IMO6cHJhdsOhY2gnLCdVbG/FvmnFpSBhIHZsb8W+acWlIMSPYWzFocOtJywnWm1hemHFpScsJ1RhYnXEvmthIGJvbGEgb2RzdHLDoW5lbsOhLicsJ1RhYnXEvmthIGJvbGEgem1lbmVuw6EuJywnVGFidcS+a2EgYm9sYSB2eXR2b3JlbsOhLicsJ1Z5dHZvcmnFpSB0YWJ1xL5rdScsJ0JvbCBwcmVrcm/EjWVuw70gbWF4aW3DoWxueSBwb8SNZXQgcG92b2xlbsO9Y2ggcG9sw60uIFp2w73FoXRlIHByb3PDrW0gJXMgYSAlcy4nLCdOw6F6b3YgdGFidcS+a3knLCfDumxvxb5pc2tvJywnUm96ZGVsacWlIHBvZMS+YScsJ09kZGllbHknLCdOw6F6b3Ygb2RkaWVsdScsJ0hvZG5vdHknLCdJbmRleHkgYm9saSB6bWVuZW7DqS4nLCdUeXAgaW5kZXh1JywnU3TEunBlYyAoZMS6xb5rYSknLCdOw6F6b3YnLCdEYXRhYsOhemEgYm9sYSBvZHN0csOhbmVuw6EuJywnRGF0YWLDoXphIGJvbGEgcHJlbWVub3ZhbsOhLicsJ0RhdGFiw6F6YSBib2xhIHZ5dHZvcmVuw6EuJywnRGF0YWLDoXphIGJvbGEgem1lbmVuw6EuJywnVnl0dm9yacWlIGRhdGFiw6F6dScsJ1NjaMOpbWEgYm9sYSBvZHN0csOhbmVuw6EuJywnU2Now6ltYSBib2xhIHZ5dHZvcmVuw6EuJywnU2Now6ltYSBib2xhIHptZW5lbsOhLicsJ1phdm9sYcWlJyxhcnJheSgnUHJvY2Vkw7pyYSBib2xhIHphdm9sYW7DoSwgYm9sIHptZW5lbsO9ICVkIHrDoXpuYW0uJywnUHJvY2Vkw7pyYSBib2xhIHphdm9sYW7DoSwgYm9saSB6bWVuZW7DqSAlZCB6w6F6bmFteS4nLCdQcm9jZWTDunJhIGJvbGEgemF2b2xhbsOhLCBib2xvIHptZW5lbsO9Y2ggJWQgesOhem5hbW92LicpLCdDdWR6w60ga8S+w7rEjSBib2wgb2RzdHLDoW5lbsO9LicsJ0N1ZHrDrSBrxL7DusSNIGJvbCB6bWVuZW7DvS4nLCdDdWR6w60ga8S+w7rEjSBib2wgdnl0dm9yZW7DvS4nLCdaZHJvam92w6kgYSBjaWXEvm92w6kgc3TEunBjZSBtdXNpYSBtYcWlIHJvdm5ha8O9IGRhdG92w70gdHlwLCBuYWQgY2llxL5vdsO9bWkgc3TEunBjYW1pIG11c8OtIGJ5xaUgZGVmaW5vdmFuw70gaW5kZXggYSBvZGthem92YW7DqSBkw6F0YSBtdXNpYSBleGlzdG92YcWlLicsJ0N1ZHrDrSBrxL7DusSNJywnQ2llxL5vdsOhIHRhYnXEvmthJywnWm1lbmnFpScsJ1ByaWRhxaUgc3TEunBlYycsJ1BvaMS+YWQgYm9sIG9kc3Ryw6FuZW7DvS4nLCdQb2jEvmFkIGJvbCB6bWVuZW7DvS4nLCdQb2jEvmFkIGJvbCB2eXR2b3JlbsO9LicsJ1Z5dHZvcmnFpSBwb2jEvmFkJywnVWRhbG9zxaUgYm9sYSBvZHN0csOhbmVuw6EuJywnVWRhbG9zxaUgYm9sYSB6bWVuZW7DoS4nLCdVZGFsb3PFpSBib2xhIHZ5dHZvcmVuw6EuJywnVXByYXZpxaUgdWRhbG9zxaUnLCdWeXR2b3JpxaUgdWRhbG9zxaUnLCdaYcSNaWF0b2snLCdLb25pZWMnLCdLYcW+ZMO9Y2gnLCdQbyBkb2tvbsSNZW7DrSB6YWNob3ZhdCcsJ1Byb2NlZMO6cmEgYm9sYSBvZHN0csOhbmVuw6EuJywnUHJvY2Vkw7pyYSBib2xhIHptZW5lbsOhLicsJ1Byb2NlZMO6cmEgYm9sYSB2eXR2b3JlbsOhLicsJ1ptZW5pxaUgZnVua2NpdScsJ1ptZW5pxaUgcHJvY2Vkw7pydScsJ1Z5dHZvcmnFpSBmdW5rY2l1JywnVnl0dm9yacWlIHByb2NlZMO6cnUnLCdOw6F2cmF0b3bDvSB0eXAnLCdTZWt2ZW5jaWEgYm9sYSBvZHN0csOhbmVuw6EuJywnU2VrdmVuY2lhIGJvbGEgdnl0dm9yZW7DoS4nLCdTZWt2ZW5jaWEgYm9sYSB6bWVuZW7DoS4nLCdQb3ptZW5pxaUgc2VrdmVuY2l1JywnVnl0dm9yacWlIHNla3ZlbmNpdScsJ1R5cCBib2wgb2RzdHLDoW5lbsO9LicsJ1R5cCBib2wgdnl0dm9yZW7DvS4nLCdQb3ptZW5pxaUgdHlwJywnVnl0dm9yacWlIHR5cCcsJ1RyaWdnZXIgYm9sIG9kc3Ryw6FuZW7DvS4nLCdUcmlnZ2VyIGJvbCB6bWVuZW7DvS4nLCdUcmlnZ2VyIGJvbCB2eXR2b3JlbsO9LicsJ1ptZW5pxaUgdHJpZ2dlcicsJ1Z5dHZvcmnFpSB0cmlnZ2VyJywnxIxhcycsJ1VkYWxvc8WlJywnUG91xb7DrXZhdGXEviBib2wgb2RzdHLDoW5lbsO9LicsJ1BvdcW+w612YXRlxL4gYm9sIHptZW5lbsO9LicsJ1BvdcW+w612YXRlxL4gYm9sIHZ5dHZvcmVuw70uJywnWmFoYcWhb3ZhbsOpJywnUHJvY2Vkw7pyYScsJ1Bvdm9sacWlJywnWmFrw6F6YcWlJyxhcnJheSgnQm9sIHVrb27EjWVuw70gJWQgcHJvY2VzLicsJ0JvbGkgdWtvbsSNZW7DqSAlZCBwcm9jZXN5LicsJ0JvbG8gdWtvbsSNZW7DvWNoICVkIHByb2Nlc292LicpLCclZCBjZWxrb20nLCdVa29uxI1pxaUnLCclZCBwb2xvxb5pZWsgYm9sbyBvdnBseXZuZW7DvWNoLicsJ0R2b2prbGlrbml0ZSBuYSBwb2zDrcSNa28sIGt0b3LDqSBjaGNldGUgem1lbmnFpS4nLGFycmF5KCdCb2wgaW1wb3J0b3ZhbsO9ICVkIHrDoXpuYW0uJywnQm9saSBpbXBvcnRvdmFuw6kgJWQgesOhem5hbXkuJywnQm9sbyBpbXBvcnRvdmFuw71jaCAlZCB6w6F6bmFtb3YuJyksJ1RhYnXEvmt1IHNhIG5lcG9kYXJpbG8gdnlww61zYcWlJywnVnrFpWFoeScsJ1ByZSB6bWVudSB0ZWp0byBob2Rub3R5IHBvdcW+aXRlIG9ka2F6IHVwcmF2acWlLicsJ1N0csOhbmthJywncG9zbGVkbsO9JywnY2Vsw70gdsO9c2xlZG9rJywnS2xvbm92YcWlJywnSW1wb3J0JywnICcsJ1RhYnXEvmthIGJvbGEgdnlwcsOhemRuZW7DoS4nLCdUYWJ1xL5rYSBib2xhIHByZXN1bnV0w6EuJywnVGFidcS+a3kgYm9saSBza29ww61yb3ZhbsOpLicsJ1RhYnXEvmthIGJvbGEgb2RzdHLDoW5lbsOhLicsJ1RhYnXEvmt5IGEgcG9oxL5hZHknLCdWeWjEvmFkYcWlIGTDoXRhIHYgdGFidcS+a8OhY2gnLCdUeXAnLCdWZcS+a29zxaUgZMOhdCcsJ1ZlxL5rb3PFpSBpbmRleHUnLCdWb8S+bsOpIG1pZXN0bycsJ1JpYWRreScsJ0FuYWx5em92YcWlJywnT3B0aW1hbGl6b3ZhxaUnLCdTa29udHJvbG92YcWlJywnT3ByYXZpxaUnLCdWeXByw6F6ZG5pxaUnLCdQcmVzdW7DusWlIGRvIGluZWogZGF0YWLDoXp5JywnUHJlc3Vuw7rFpScsJ0tvcMOtcm92YcWlJywnU2VrdmVuY2lhJywnUGzDoW4nLCdWIHN0YW5vdmVuw70gxI1hcycsJ0hIOk1NOlNTJyk7YnJlYWs7Y2FzZSJubCI6JFc9YXJyYXkoJ1dlZXQgdSBoZXQgemVrZXI/JywnT25tb2dlbGlqayBiZXN0YW5kIHRlIHVwbG9hZGVuLicsJ01heGltdW0gdG9lZ2VsYXRlbiBiZXN0YW5kc2dyb290dGUgaXMgJXNCLicsJ0Jlc3RhbmQgbmlldCBnZXZvbmRlbi4nLCdsZWVnJywnb3JpZ2luZWVsJywnR2VlbiB0YWJlbGxlbi4nLCdUYWFsJywnR2VicnVpaycsJ0dlYnJ1aWsgMSB2YW4gdm9sZ2VuZGUgZXh0ZW5zaWVzOiAlcy4nLCdCZXN0YW5kIGJlc3RhYXQgcmVlZHMuJywnR2VicnVpa2Vyc2dlZGVmaW5pw6tlcmRlIHR5cGVzJywnR2V0YWxsZW4nLCdEYXR1bSBlbiB0aWpkJywnVGVrc3QnLCdCaW5haXJlIGdlZ2V2ZW5zJywnTmV0d2VyaycsJ0dlb21ldHJpZScsJ0xpanN0ZW4nLCdEYXRhYmFzZXN5c3RlZW0nLCdTZXJ2ZXInLCdHZWJydWlrZXJzbmFhbScsJ1dhY2h0d29vcmQnLCdJbmxvZ2dlbicsJ0JsaWpmIGFhbmdlbWVsZCcsJ0dlZ2V2ZW5zIHNlbGVjdGVyZW4nLCdUb29uIHN0cnVjdHV1cicsJ1ZpZXcgYWFucGFzc2VuJywnVGFiZWwgYWFucGFzc2VuJywnTmlldXcgaXRlbScsJ0xhYXRzdGUgcGFnaW5hJywnQmV3ZXJrJyxhcnJheSgnJWQgYnl0ZScsJyVkIGJ5dGVzJyksJ0tpZXMnLCdGdW5jdGllcycsJ1RvdGFsZW4nLCdab2VrZW4nLCdvdmVyYWwnLCdTb3J0ZXJlbicsJ0FmbG9wZW5kJywnQmVwZXJrJywnVGVrc3QgbGVuZ3RlJywnQWN0aWVzJywnU1FMIG9wZHJhY2h0Jywnb3BlbmVuJywnb3BzbGFhbicsJ0RhdGFiYXNlIGFhbnBhc3NlbicsJ1NjaGVtYSB3aWp6aWdlbicsJ1NjaGVtYSBtYWtlbicsJ0RhdGFiYXNlIHNjaGVtYScsJ1JlY2h0ZW4nLCdFeHBvcnRlZXInLCdVaXRsb2dnZW4nLCdkYXRhYmFzZScsJ3NjaGVtYScsJ05pZXV3ZSB0YWJlbCcsJ2tpZXMnLCdsdHInLCdQT1NUIGRhdGEgb3BuaWV1dyB2ZXJ6ZW5kZW4nLCdPbmdlbGRpZyBDU1JGIHRva2VuLiBWZXJzdHV1ciBoZXQgZm9ybXVsaWVyIG9wbmlldXcuJywnVWl0bG9nZ2VuIGdlc2xhYWdkLicsJ1Nlc3NpZXMgbW9ldGVuIGdlYWN0aXZlZXJkIHppam4uJywnVXcgc2Vzc2llIGlzIHZlcmxvcGVuLiBHZWxpZXZlIG9wbmlldXcgaW4gdGUgbG9nZ2VuLicsJ09uZ2VsZGlnZSBsb2dpbmdlZ2V2ZW5zLicsJ0dlZW4gZXh0ZW5zaWUnLCdHZWVuIGdlbGRpZ2UgUEhQIGV4dGVuc2llcyBiZXNjaGlrYmFhciAoJXMpLicsJ1BPU1QtZGF0YSBpcyB0ZSBncm9vdC4gVmVya2xlaW4gZGUgaG9ldmVlbGhlaWQgZGF0YSBvZiB2ZXJob29nIGRlICVzIGNvbmZpZ3VyYXRpZS4nLCdEYXRhYmFzZScsJ09uZ2VsZGlnZSBkYXRhYmFzZS4nLCdEYXRhYmFzZXMgdmVyd2lqZGVyZC4nLCdEYXRhYmFzZSBzZWxlY3RlcmVuJywnTmlldXdlIGRhdGFiYXNlJywnUHJvY2VzbGlqc3QnLCdWYXJpYWJlbGVuJywnU3RhdHVzJywnJXMgdmVyc2llOiAlcyBtZXQgUEhQIGV4dGVuc2llICVzJywnQWFuZ2VtZWxkIGFsczogJXMnLCdDb2xsYXRpZScsJ1RhYmVsbGVuJywnVmVyd2lqZGVyZW4nLCdWZXJuaWV1d2VuJywnU2NoZW1hJywnT25nZWxkaWcgc2NoZW1hLicsJ0dlZW4gcmlqZW4uJywnJS4zZiBzJywnRm9yZWlnbiBrZXlzJywnY29sbGF0aW9uJywnT04gREVMRVRFJywnS29sb21uYWFtJywnUGFyYW1ldGVybmFhbScsJ1R5cGUnLCdMZW5ndGUnLCdPcHRpZXMnLCdBdXRvIG51bW1lcmluZycsJ1N0YW5kYWFyZCB3YWFyZGVuJywnQ29tbWVudGFhcicsJ1ZvbGdlbmRlIHRvZXZvZWdlbicsJ09taG9vZycsJ09tbGFhZycsJ1ZlcndpamRlcmVuJywnVmlldycsJ1RhYmVsJywnS29sb20nLCdJbmRleGVuJywnSW5kZXhlbiBhYW5wYXNzZW4nLCdCcm9uJywnRG9lbCcsJ09OIFVQREFURScsJ0FhbnBhc3NlbicsJ0ZvcmVpZ24ga2V5IGFhbm1ha2VuJywnVHJpZ2dlcnMnLCdUcmlnZ2VyIGFhbm1ha2VuJywnUGVybWFuZW50ZSBsaW5rJywnRXhwb3J0ZXJlbicsJ1VpdHZvZXInLCdGb3JtYWF0JywnUHJvY2VkdXJlcycsJ0V2ZW50cycsJ0RhdGEnLCdiZXdlcmsnLCdHZWJydWlrZXIgYWFubWFrZW4nLCdGb3V0IGluIHF1ZXJ5JyxhcnJheSgnJWQgcmlqJywnJWQgcmlqZW4nKSxhcnJheSgnUXVlcnkgdWl0Z2V2b2VyZCwgJWQgcmlqIGdlcmFha3QuJywnUXVlcnkgdWl0Z2V2b2VyZCwgJWQgcmlqZW4gZ2VyYWFrdC4nKSwnR2VlbiBvcGRyYWNodGVuIHVpdCB0ZSB2b2VyZW4uJyxhcnJheSgnJWQgcXVlcnkgc3VjY2Vzdm9sIHVpdGdldm9lcmQuJywnJWQgcXVlcnlzIHN1Y2Nlc3ZvbCB1aXRnZXZvZXJkJyksJ0Jlc3RhbmQgdXBsb2FkZW4nLCdCZXN0YW5kZW4gdXBsb2FkZW4gaXMgdWl0Z2VzY2hha2VsZC4nLCdVaXR2b2VyZW4nLCdTdG9wcGVuIGJpaiBmb3V0JywnRW5rZWwgZm91dGVuIHRvbmVuJywnVmFuIHNlcnZlcicsJ1dlYnNlcnZlciBiZXN0YW5kICVzJywnQmVzdGFuZCB1aXR2b2VyZW4nLCdHZXNjaGllZGVuaXMnLCdXaXNzZW4nLCdBbGxlcyBiZXdlcmtlbicsJ0l0ZW0gdmVyd2lqZGVyZC4nLCdJdGVtIGFhbmdlcGFzdC4nLCdJdGVtJXMgdG9lZ2V2b2VnZC4nLCdUb2V2b2VnZW4nLCdPcHNsYWFuJywnT3BzbGFhbiBlbiB2ZXJkZXIgYmV3ZXJrZW4nLCdPcHNsYWFuLCBkYWFybmEgdG9ldm9lZ2VuJywnVmVyd2lqZGVyZW4nLCdUYWJlbCB2ZXJ3aWpkZXJkLicsJ1RhYmVsIGFhbmdlcGFzdC4nLCdUYWJlbCBhYW5nZW1hYWt0LicsJ1RhYmVsIGFhbm1ha2VuJywnTWF4aW11bSBhYW50YWwgdmVsZGVuIGJlcmVpa3QuIFZlcmhvb2cgJXMgZW4gJXMuJywnVGFiZWxuYWFtJywnZW5naW5lJywnUGFydGl0aW9uZXJlbiBvcCcsJ1BhcnRpdGllcycsJ1BhcnRpdGllIG5hYW0nLCdXYWFyZGVuJywnSW5kZXggYWFuZ2VwYXN0LicsJ0luZGV4IHR5cGUnLCdLb2xvbSAobGVuZ3RlKScsJ05hYW0nLCdEYXRhYmFzZSB2ZXJ3aWpkZXJkLicsJ0RhdGFiYXNlIGhlcm5vZW1kLicsJ0RhdGFiYXNlIGFhbmdlbWFha3QuJywnRGF0YWJhc2UgYWFuZ2VwYXN0LicsJ0RhdGFiYXNlIGFhbm1ha2VuJywnU2NoZW1hIHZlcndpamRlcmQuJywnU2NoZW1hIGFhbmdlbWFha3QuJywnU2NoZW1hIGdld2lqemlnZC4nLCdVaXR2b2VyZW4nLGFycmF5KCdQcm9jZWR1cmUgdWl0Z2V2b2VyZCwgJWQgcmlqIGdlcmFha3QuJywnUHJvY2VkdXJlIHVpdGdldm9lcmQsICVkIHJpamVuIGdlcmFha3QuJyksJ0ZvcmVpZ24ga2V5IHZlcndpamRlcmQuJywnRm9yZWlnbiBrZXkgYWFuZ2VwYXN0LicsJ0ZvcmVpZ24ga2V5IGFhbmdlbWFha3QuJywnQnJvbi0gZW4gZG9lbGtvbG9tbWVuIG1vZXRlbiB2YW4gaGV0emVsZmRlIGRhdGEgdHlwZSB6aWpuLCBlciBtb2V0IGVlbiBpbmRleCBiZXN0YWFuIG9wIGRlIGdla296ZW4ga29sb21tZW4gZW4gZXIgbW9ldCBnZXJlbGF0ZWVyZGUgZGF0YSBiZXN0YWFuLicsJ0ZvcmVpZ24ga2V5JywnRG9lbHRhYmVsJywnVmVyYW5kZXJlbicsJ0tvbG9tIHRvZXZvZWdlbicsJ1ZpZXcgdmVyd2lqZGVyZC4nLCdWaWV3IGFhbmdlcGFzdC4nLCdWaWV3IGFhbmdlbWFha3QuJywnVmlldyBhYW5tYWtlbicsJ0V2ZW50IHdlcmQgdmVyd2lqZGVyZC4nLCdFdmVudCB3ZXJkIGFhbmdlcGFzdC4nLCdFdmVudCB3ZXJkIGFhbmdlbWFha3QuJywnRXZlbnQgYWFucGFzc2VuJywnRXZlbnQgYWFubWFrZW4nLCdTdGFydCcsJ1N0b3AnLCdJZWRlcmUnLCdCZXdhcmVuIG5hIHZvbHRvb2lpbmcnLCdQcm9jZWR1cmUgdmVyd2lqZGVyZC4nLCdQcm9jZWR1cmUgYWFuZ2VwYXN0LicsJ1Byb2NlZHVyZSBhYW5nZW1hYWt0LicsJ0Z1bmN0aWUgYWFucGFzc2VuJywnUHJvY2VkdXJlIGFhbnBhc3NlbicsJ0Z1bmN0aWUgYWFubWFrZW4nLCdQcm9jZWR1cmUgYWFubWFrZW4nLCdSZXR1cm4gdHlwZScsJ1NlcXVlbmNlIHZlcndpamRlcmQuJywnU2VxdWVuY2UgYWFuZ2VtYWFrdC4nLCdTZXF1ZW5jZSBnZXdpanppZ2QuJywnU2VxdWVuY2Ugd2lqemlnZW4nLCdTZXF1ZW5jZSBtYWtlbicsJ1R5cGUgdmVyd2lqZGVyZC4nLCdUeXBlIGFhbmdlbWFha3QuJywnVHlwZSB3aWp6aWdlbicsJ1R5cGUgbWFrZW4nLCdUcmlnZ2VyIHZlcndpamRlcmQuJywnVHJpZ2dlciBhYW5nZXBhc3QuJywnVHJpZ2dlciBhYW5nZW1hYWt0LicsJ1RyaWdnZXIgYWFucGFzc2VuJywnVHJpZ2dlciBhYW5tYWtlbicsJ1RpbWUnLCdFdmVudCcsJ0dlYnJ1aWtlciB2ZXJ3aWpkZXJkLicsJ0dlYnJ1aWtlciBhYW5nZXBhc3QuJywnR2VicnVpa2VyIGFhbmdlbWFha3QuJywnR2VoYXNoZWQnLCdSb3V0aW5lJywnVG9la2VubmVuJywnSW50cmVra2VuJyxhcnJheSgnJWQgcHJvY2VzIGdlc3RvcHQuJywnJWQgcHJvY2Vzc2VuIGdlc3RvcHQuJyksJyVkIGluIHRvdGFhbCcsJ1N0b3BwZW4nLGFycmF5KCclZCBpdGVtIGFhbmdlcGFzdC4nLCclZCBpdGVtcyBhYW5nZXBhc3QuJyksJ0R1YmJlbGtsaWsgb3AgZWVuIHdhYXJkZSBvbSBkZXplIHRlIGJld2Vya2VuLicsYXJyYXkoJyVkIHJpaiB3ZXJkIGdlw69tcG9ydGVlcmQuJywnJWQgcmlqZW4gd2VyZGVuIGdlw69tcG9ydGVlcmQuJyksJ09ubW9nZWxpamsgdGFiZWwgdGUgc2VsZWN0ZXJlbicsJ1JlbGF0aWVzJywnR2VicnVpayBkZSBsaW5rICJiZXdlcmsiIG9tIGRlemUgd2FhcmRlIHRlIHdpanppZ2VuLicsJ1BhZ2luYScsJ2xhYXRzdGUnLCd2b2xsZWRpZyByZXN1bHRhYXQnLCdEdXBsaWNlZXInLCdJbXBvcnRlcmVuJywnLicsJ1RhYmVsbGVuIHdlcmRlbiBnZWxlZWdkLicsJ1RhYmVsbGVuIHdlcmRlbiB2ZXJwbGFhdHN0LicsJ0RlIHRhYmVsbGVuIHppam4gZ2Vrb3BpZWVyZC4nLCdUYWJlbGxlbiB3ZXJkZW4gdmVyd2lqZGVyZC4nLCdUYWJlbGxlbiBlbiB2aWV3cycsJ1pvZWtlbiBpbiBkYXRhYmFzZScsJ0VuZ2luZScsJ0RhdGEgbGVuZ3RlJywnSW5kZXggbGVuZ3RlJywnRGF0YSBWcmlqJywnUmlqZW4nLCdBbmFseXNlZXInLCdPcHRpbWFsaXNlZXInLCdDb250cm9sZWVyJywnSGVyc3RlbCcsJ0xlZ2VuJywnVmVycGxhYXRzIG5hYXIgYW5kZXJlIGRhdGFiYXNlJywnVmVycGxhYXRzJywnS29waWVyZW4nLCdTZXF1ZW5jZXMnLCdTY2hlZHVsZScsJ09wIGFhbmdlZ2V2ZW4gdGlqZCcsJ0hIOk1NOlNTJyk7YnJlYWs7Y2FzZSJlcyI6JFc9YXJyYXkoJ0VzdMOhIHNlZ3Vybz8nLCdObyBlcyBwb3NpYmxlIGltcG9ydGFyIGFyY2hpdm8uJywnVGFtYcOxbyBtw6F4aW1vIGRlIGFyY2hpdm8gZXMgJXNCLicsJ0FyY2hpdm8gbm8gZXhpc3RlLicsJ25pbmfDum5vJywnb3JpZ2luYWwnLCdObyBleGlzdGVuIHRhYmxhcy4nLCdJZGlvbWEnLCdVc2FyJywnUG9yIGZhdm9yIHVzZSB1bmEgZGUgbGFzIGV4dGVuc2lvbmVzICVzLicsJ0FyY2hpdm8geWEgZXhpc3RlLicsJ1RpcG9zIGRlZmluaWRvIHBvciBlbCB1c3VhcmlvJywnTsO6bWVyb3MnLCdGZWNoYSB5IGhvcmEnLCdDYWRlbmEnLCdCaW5hcmlvJywnUmVkJywnR2VvbWV0csOtYScsJ0xpc3RhcycsJ01vdG9yIGRlIGJhc2UgZGUgZGF0b3MnLCdTZXJ2aWRvcicsJ1VzdWFyaW8nLCdDb250cmFzZcOxYScsJ0xvZ2luJywnR3VhcmRhciBjb250cmFzZcOxYScsJ1Zpc3VhbGl6YXIgY29udGVuaWRvJywnTW9zdHJhciBlc3RydWN0dXJhJywnTW9kaWZpY2FyIHZpc3RhJywnTW9kaWZpcXVlIGVzdHJ1Y3R1cmEnLCdOdWV2byBSZWdpc3RybycsJ1VsdGltYSBww6FnaW5hJywnTW9kaWZpY2FyJyxhcnJheSgnJWQgYnl0ZScsJyVkIGJ5dGVzJyksJ01vc3RyYXInLCdGdW5jaW9uZXMnLCdBZ3JlZ2FjaW9uZXMnLCdDb25kaWNpw7NuJywnZG9uZGUgc2VhJywnT3JkZW5hcicsJ2Rlc2NlbmRpZW50ZScsJ0xpbWl0JywnTG9uZ2l0dWQgZGUgdGV4dG8nLCdBY2Npw7NuJywnQ29tYW5kbyBTUUwnLCdtb3N0cmFyJywnYXJjaGl2bycsJ01vZGlmaWNhciBCYXNlIGRlIGRhdG9zJywnTW9kaWZpY2FyIGVzcXVlbWEnLCdDcmVhciBlc3F1ZW1hJywnRXNxdWVtYSBkZSBiYXNlIGRlIGRhdG9zJywnUHJpdmlsZWdpb3MnLCdFeHBvcnQnLCdMb2dvdXQnLCdiYXNlIGRlIGRhdG9zJywnZXNxdWVtYScsJ051ZXZhIHRhYmxhJywncmVnaXN0cm9zJywnbHRyJywnVm9sdmVyIGEgZW52aWFyIFBPU1QgZGF0YT8nLCdUb2tlbiBDU1JGIGludsOhbGlkby4gVnVlbHZhIGEgZW52aWFyIGxvcyBkYXRvcyBkZWwgZm9ybXVsYXJpby4nLCdTYWxpZGEgZXhpdG9zYS4nLCdEZWJlbiBlc3RhciBoYWJpbGl0YWRhcyBsYXMgc2VzaW9uZXMuJywnU2VzacOzbiBleHBpcmFkYSwgcG9yIGZhdm9yIGluZ3Jlc2Ugc3UgY2xhdmUgZGUgbnVldm8uJywnSWRlbnRpZmljYWNpb24gaW52w6FsaWRhLicsJ05vIGhheSBleHRlbnNpb24nLCdOaW5ndW5hIGRlIGxhcyBleHRlbnNpb25lcyBQSFAgc29wb3J0YWRhcyAoJXMpIGVzdMOhIGRpc3BvbmlibGUuJywnUE9TVCBkYXRhIGRlbWFzaWFkbyBncmFuZGUuIFJlZHV6Y2EgZWwgdGFtYcOxbyBvIGF1bWVudGUgbGEgZGlyZWN0aXZhIGRlIGNvbmZpZ3VyYWNpw7NuICVzLicsJ0Jhc2UgZGUgZGF0b3MnLCdCYXNlIGRlIGRhdG9zIGludsOhbGlkYS4nLCdCYXNlcyBkZSBkYXRvcyBlbGltaW5hZGFzLicsJ1NlbGVjY2lvbmFyIEJhc2UgZGUgZGF0b3MnLCdJbmdyZXNlIG51ZXZhIGJhc2UgZGUgZGF0b3MnLCdMaXN0YSBkZSBwcm9jZXNvcycsJ1ZhcmlhYmxlcycsJ0VzdGFkbycsJ1ZlcnNpw7NuICVzOiAlcyBhIHRyYXbDqXMgZGUgZXh0ZW5zacOzbiBQSFAgJXMnLCdMb2dlYWRvIGNvbW86ICVzJywnQ29sYWNpw7NuJywnVGFibGFzJywnRWxpbWluYXInLCdSZWZyZXNjYXInLCdFc3F1ZW1hJywnRXNxdWVtYSBpbnbDoWxpZG8uJywnTm8gZXhpc3RlbiByZWdpc3Ryb3MuJywnJS4zZiBzJywnQ2xhdmVzIGZvcsOhbmVhcycsJ2NvbGFjacOzbicsJ09OIERFTEVURScsJ05vbWJyZSBkZSBjb2x1bW5hJywnTm9tYnJlIGRlIFBhcsOhbWV0cm8nLCdUaXBvJywnTG9uZ2l0dWQnLCdPcGNpb25lcycsJ0luY3JlbWVudG8gYXV0b23DoXRpY28nLCdWYWxvcmVzIHByZWRldGVybWluYWRvcycsJ0NvbWVudGFyaW8nLCdBZ3JlZ2FyJywnTW92ZXIgYXJyaWJhJywnTW92ZXIgYWJham8nLCdFbGltaW5hcicsJ1Zpc3RhcycsJ1RhYmxhJywnQ29sdW1uYScsJ0luZGljZXMnLCdNb2RpZmljYXIgaW5kaWNlcycsJ09yaWdlbicsJ0Rlc3Rpbm8nLCdPTiBVUERBVEUnLCdNb2RpZmljYXInLCdBZ3JlZ2FyIGNsYXZlIGZvcsOhbmVhJywnVHJpZ2dlcnMnLCdBZ3JlZ2FyIHRyaWdnZXInLCdFbmxhY2UgcGVybWFuZW50ZScsJ0V4cG9ydGFyJywnU2FsaWRhJywnRm9ybWF0bycsJ1Byb2NlZGltaWVudG9zJywnRXZlbnRvcycsJ0RhdG9zJywnbW9kaWZpY2FyJywnQ3JlYXIgVXN1YXJpbycsJ0Vycm9yIGVuIGNvbnN1bHRhJyxhcnJheSgnJWQgcmVnaXN0cm8nLCclZCByZWdpc3Ryb3MnKSxhcnJheSgnQ29uc3VsdGEgZWplY3V0YWRhLCAlZCByZWdpc3RybyBhZmVjdGFkby4nLCdDb25zdWx0YSBlamVjdXRhZGEsICVkIHJlZ2lzdHJvcyBhZmVjdGFkb3MuJyksJ05vIGhheSBjb21hbmRvIHBhcmEgZWplY3V0YXIuJyxhcnJheSgnJWQgc2VudGVuY2lhIHNxbCBlamVjdXRhZGEgY29ycmVjdGFtZW50ZS4nLCclZCBzZW50ZW5jaWFzIHNxbCBlamVjdXRhZGFzIGNvcnJlY3RhbWVudGUuJyksJ0ltcG9ydGFyIGFyY2hpdm8nLCdJbXBvcnRhY2nDs24gZGUgYXJjaGl2b3MgZGVzaGFibGlsaXRhZG8uJywnRWplY3V0YXInLCdQYXJhciBlbiBjYXNvIGRlIGVycm9yJywnTW9zdHJhciBzb2xhbWVudGUgZXJyb3JlcycsJ0Rlc2RlIHNlcnZpZG9yJywnQXJjaGl2byBkZSBzZXJ2aWRvciB3ZWIgJXMnLCdFamVjdXRhciBBcmNoaXZvJywnSGlzdG9yeScsJ1ZhY2lhcicsJ0VkaXRhciB0b2RvcycsJ1JlZ2lzdHJvIGVsaW1pbmFkby4nLCdSZWdpc3RybyBtb2RpZmljYWRvLicsJ1JlZ2lzdHJvJXMgaW5zZXJ0YWRvLicsJ0FncmVnYXInLCdHdWFyZGFyJywnR3VhcmRhciB5IGNvbnRpbnVhciBlZGl0YW5kbycsJ0d1YXJkYXIgZSBpbnNlcnRhciBvdHJvJywnRWxpbWluYXInLCdUYWJsYSBlbGltaW5hZGEuJywnVGFibGEgbW9kaWZpY2FkYS4nLCdUYWJsYSBjcmVhZGEuJywnQ3JlZSB0YWJsYScsJ0NhbnRpZGEgbcOheGltYSBkZSBjYW1wb3MgcGVybWl0aWRvcyBleGNlZGlkb3MuIFBvciBmYXZvciBhdW1lbnRlICVzIHkgJXMuJywnTm9tYnJlIGRlIGxhIHRhYmxhJywnbW90b3InLCdQYXJ0aWNpb25hciBwb3InLCdQYXJ0aWNpb25lcycsJ05vbWJyZSBkZSBQYXJ0aWNpw7NuJywnVmFsb3JlcycsJ0luZGljZXMgbW9kaWZpY2Fkb3MuJywnVGlwbyBkZSDDrW5kaWNlJywnQ29sdW1uYSAobG9uZ2l0dWQpJywnTm9tYnJlJywnQmFzZSBkZSBkYXRvcyBlbGltaW5hZGEuJywnQmFzZSBkZSBkYXRvcyByZW5vbWJyYWRhLicsJ0Jhc2UgZGUgZGF0b3MgY3JlYWRhLicsJ0Jhc2UgZGUgZGF0b3MgbW9kaWZpY2FkYS4nLCdDcmVhciBCYXNlIGRlIGRhdG9zJywnRXNxdWVtYSBlbGltaW5hZG8uJywnRXNxdWVtYSBjcmVhZG8uJywnRXNxdWVtYSBtb2RpZmljYWRvLicsJ0xsYW1hcicsYXJyYXkoJ0NvbnN1bHRhIGVqZWN1dGFkYSwgJWQgcmVnaXN0cm8gYWZlY3RhZG8uJywnQ29uc3VsdGEgZWplY3V0YWRhLCAlZCByZWdpc3Ryb3MgYWZlY3RhZG9zLicpLCdDbGF2ZSBleHRlcm5hIGVsaW1pbmFkYS4nLCdDbGF2ZSBleHRlcm5hIG1vZGlmaWNhZGEuJywnQ2xhdmUgZXh0ZXJuYSBjcmVhZGEuJywnTGFzIGNvbHVtbmFzIGRlIG9yaWdlbiB5IGRlc3Rpbm8gZGViZW4gc2VyIGRlbCBtaXNtbyB0aXBvLCBkZWJlIGV4aXN0aXIgdW4gw61uZGljZSBlbnRyZSBsYXMgY29sdW1uYXMgZGVsIGRlc3Rpbm8geSBlbCByZWdpc3RybyByZWZlcmVuY2lhZG8gZGViZSBleGlzdGlyLicsJ0NsYXZlIGV4dGVybmEnLCdUYWJsYSBkZSBkZXN0aW5vJywnTW9kaWZpY2FyJywnQWdyZWdhciBjb2x1bW5hJywnVmlzdGEgZWxpbWluYWRhLicsJ1Zpc3RhIG1vZGlmaWNhZGEuJywnVmlzdGEgY3JlYWRhLicsJ0NlYXIgdmlzdGEnLCdFdmVudG8gZWxpbWluYWRvLicsJ0V2ZW50byBtb2RpZmljYWRvLicsJ0V2ZW50byBjcmVhZG8uJywnTW9kaWZpY2FyIEV2ZW50bycsJ0NyZWFyIEV2ZW50bycsJ0luaWNpbycsJ0ZpbicsJ0NhZGEnLCdBbCBjb21wbGV0YXIgcHJlc2VydmFyJywnUHJvY2VkaW1pZW50byBlbGltaW5hZG8uJywnUHJvY2VkaW1pZW50byBtb2RpZmljYWRvLicsJ1Byb2NlZGltaWVudG8gY3JlYWRvLicsJ01vZGlmaWNhciBGdW5jacOzbicsJ01vZGlmaWNhciBwcm9jZWRpbWllbnRvJywnQ3JlYXIgZnVuY2nDs24nLCdDcmVhciBwcm9jZWRpbWllbnRvJywnVGlwbyBkZSB2YWxvciBkZSByZWdyZXNvJywnU2VjdWVuY2lhIGVsaW1pbmFkYS4nLCdTZWN1ZW5jaWEgY3JlYWRhLicsJ1NlY3VlbmNpYSBtb2RpZmljYWRhLicsJ01vZGlmaWNhciBzZWN1ZW5jaWEnLCdDcmVhciBzZWN1ZW5jaWFzJywnVGlwbyBlbGltaW5hZG8uJywnVGlwbyBjcmVhZG8uJywnTW9kaWZpY2FyIHRpcG8nLCdDcmVhciB0aXBvJywnVHJpZ2dlciBlbGltaW5hZG8uJywnVHJpZ2dlciBtb2RpZmljYWRvLicsJ1RyaWdnZXIgY3JlYWRvLicsJ01vZGlmaWNhciBUcmlnZ2VyJywnQWdyZWdhciBUcmlnZ2VyJywnVGllbXBvJywnRXZlbnRvJywnVXN1YXJpbyBlbGltaW5hZG8uJywnVXN1YXJpbyBtb2RpZmljYWRvLicsJ1VzdWFyaW8gY3JlYWRvLicsJ0hhc2gnLCdSdXRpbmEnLCdDb25jZWRlcicsJ0ltcGVkaXInLGFycmF5KCclZCBwcm9jZXNvIGRldGVuaWRvLicsJyVkIHByb2Nlc29zIGRldGVuaWRvcy4nKSwnJWQgZW4gdG90YWwnLCdEZXRlbmVyJyxhcnJheSgnJWQgw610ZW0gYWZlY3RhZG8uJywnJWQgaXRlbWVzIGFmZWN0YWRvcy4nKSwnRG9ibGUtY2xpYyBzb2JyZSBlbCB2YWxvciBwYXJhIGVkaXRhcmxvLicsYXJyYXkoJyVkIHJlZ2lzdHJvIGltcG9ydGFkby4nLCclZCByZWdpc3Ryb3MgaW1wb3J0YWRvcy4nKSwnTm8gZXMgcG9zaWJsZSBzZWxlY2Npb25hciBsYSB0YWJsYScsJ1JlbGFjaW9uZXMnLCdVdGlsaWNlIGVsIGVubGFjZSBkZSBtb2RpZmljYXIgcGFyYSByZWFsaXphciBsb3MgY2FtYmlvcy4nLCdQw6FnaW5hJywnw7psdGltbycsJ3Jlc3VsdGFkbyBjb21wbGV0bycsJ0Nsb25hcicsJ0ltcG9ydGFyJywnICcsJ1RhYmxhcyB2YWNpYWRhcyAodHJ1bmNhdGUpLicsJ1NlIG1vdmllcm9uIGxhcyB0YWJsYXMuJywnVGFibGFzIGNvcGlhZGFzLicsJ1RhYmxhcyBlbGltaW5hZGFzLicsJ1RhYmxhcyB5IHZpc3RhcycsJ0J1c2NhciBkYXRvcyBlbiB0YWJsYXMnLCdNb3RvcicsJ0xvbmdpdHVkIGRlIGRhdG9zJywnTG9uZ2l0dWQgZGUgw61uZGljZScsJ0VzcGFjaW8gbGlicmUnLCdSZWdpc3Ryb3MnLCdBbmFsaXphcicsJ09wdGltaXphcicsJ0NvbXByb2JhcicsJ1JlcGFyYXInLCdWYWNpYXInLCdNb3ZlciBhIG90cmEgYmFzZSBkZSBkYXRvcycsJ01vdmVyJywnQ29waWFyJywnU2VjdWVuY2lhcycsJ0FnZW5kYScsJ0EgaG9yYSBkZXRlcm1pbmFkYScsJ0hIOk1NOlNTJyk7YnJlYWs7Y2FzZSJkZSI6JFc9YXJyYXkoJ1NpbmQgU2llIHNpY2hlciA/JywnSG9jaGxhZGVuIHZvbiBEYXRlaSBmZWhsZ2VzY2hsYWdlbi4nLCdNYXhpbWFsIGVybGF1YnRlIERhdGVpZ3LDtnNzZSBpc3QgJXNCLicsJ0RhdGVpIGV4aXN0aWVydCBuaWNodC4nLCdsZWVyJywnT3JpZ2luYWwnLCdLZWluZSBUYWJlbGxlbi4nLCdTcHJhY2hlJywnQmVudXR6dW5nJywnQml0dGUgZWluZW4gZGVyIERhdGVpdHlwZW4gJXMgYmVudXR6ZW4uJywnRGF0ZWkgZXhpc3RpZXJ0IHNjaG9uLicsJ0JlbnV0emVyLWRlZmluaWVydGUgVHlwZW4nLCdaYWhsZW4nLCdEYXR1bSBvZGVyIFplaXQnLCdaZWljaGVua2V0dGVuJywnQmluw6RyJywnTmV0endlcmsnLCdHZW9tZXRyaWUnLCdMaXN0ZW4nLCdEYXRlbmJhbmsgU3lzdGVtJywnU2VydmVyJywnQmVudXR6ZXInLCdQYXNzd29ydCcsJ0xvZ2luJywnUGFzc3dvcnQgc3BlaWNoZXJuJywnRGF0ZW4gYXVzd8OkaGxlbicsJ1N0cnVrdHVyIGFuemVpZ2VuJywnVmlldyDDpG5kZXJuJywnVGFiZWxsZSDDpG5kZXJuJywnTmV1ZXIgRGF0ZW5zYXR6JywnTGV0enRlIFNlaXRlJywnw4RuZGVybicsYXJyYXkoJyVkIEJ5dGUnLCclZCBCeXRlcycpLCdEYXRlbiB6ZWlnZW4gdm9uJywnRnVua3Rpb25lbicsJ0FncmVnYXRpb25lbicsJ1N1Y2hlbicsJ2JlbGllYmlnJywnT3JkbmVuJywnYWJzdGVpZ2VuZCcsJ0JlZ3Jlbnp1bmcnLCdUZXh0bMOkbmdlJywnQWt0aW9uJywnU1FMLVF1ZXJ5JywnYW56ZWlnZW4nLCdEYXRlaScsJ0RhdGVuYmFuayDDpG5kZXJuJywnU2NoZW1hIMOkbmRlcm4nLCdOZXVlcyBTY2hlbWEnLCdEYXRlbmJhbmtzY2hlbWEnLCdSZWNodGUnLCdFeHBvcnQnLCdBYm1lbGRlbicsJ0RhdGVuYmFuaycsJ1NjaGVtYScsJ05ldWUgVGFiZWxsZScsJ3plaWdlbicsJ2x0cicsJ1BPU1QgZGF0YSBub2NoIGVpbm1hbCBzZW5kZW4gPycsJ0NTUkYgVG9rZW4gdW5nw7xsdGlnLiBCaXR0ZSBkaWUgRm9ybXVsYXJkYXRlbiBlcm5ldXQgYWJzY2hpY2tlbi4nLCdBYm1lbGR1bmcgZXJmb2xncmVpY2guJywnU2l0enVuZ2VuIG3DvHNzZW4gYWt0aXZpZXJ0IHNlaW4uJywnU2l0enVuZ3NkYXVlciBhYmdlbGF1ZmVuLCBiaXR0ZSBlcm5ldXQgYW5tZWxkZW4uJywnVW5nw7xsdGlnZSBBbm1lbGRlLUluZm9ybWF0aW9uZW4uJywnS2VpbmUgRXJ3ZWl0ZXJ1bmdlbiBpbnN0YWxsaWVydCcsJ0tlaW5lIGRlciB1bnRlcnN0w7x0enRlbiBQSFAtRXJ3ZWl0ZXJ1bmdlbiAoJXMpIGlzdCB2b3JoYW5kZW4uJywnUE9TVCBkYXRhIHp1IGdyb3NzLiBSZWR1emllcmVuIFNpZSBkaWUgR3LDtnNzZSBvZGVyIHZlcmdyw7Zzc2VybiBTaWUgZGVuIFdlcnQgJXMgaW4gZGVyIEtvbmZpZ3VyYXRpb24uJywnRGF0ZW5iYW5rJywnRGF0ZW5iYW5rIHVuZ8O8bHRpZy4nLCdEYXRlbmJhbmtlbiBlbnRmZXJudC4nLCdEYXRlbmJhbmsgYXVzd8OkaGxlbicsJ05ldWUgRGF0ZW5iYW5rJywnUHJvemVzc2xpc3RlJywnVmFyaWFibGVuJywnU3RhdHVzJywnVmVyc2lvbiAlczogJXMsIG1pdCBQSFAtRXJ3ZWl0ZXJ1bmcgJXMnLCdBbmdlbWVsZGV0IGFsczogJXMnLCdDb2xsYXRpb24nLCdUYWJlbGxlbicsJ0VudGZlcm5lbicsJ0FrdHVhbGlzaWVyZW4nLCdTY2hlbWEnLCdTY2hlbWEgbmljaHQgZ8O8bHRpZy4nLCdLZWluZSBEYXRlbi4nLCclLjNmIHMnLCdGcmVtZHNjaGzDvHNzZWwnLCdLb2xsYXRpb24nLCdPTiBERUxFVEUnLCdTcGFsdGVubmFtZScsJ05hbWUgZGVzIFBhcmFtZXRlcnMnLCdUeXAnLCdMw6RuZ2UnLCdPcHRpb25lbicsJ0F1dG8tSW5rcmVtZW50JywnVm9yZ2FiZXdlcnRlIGZlc3RsZWdlbicsJ0tvbW1lbnRhcicsJ0hpbnp1ZsO8Z2VuJywnTmFjaCBvYmVuJywnTmFjaCB1bnRlbicsJ0VudGZlcm5lbicsJ1ZpZXcnLCdUYWJlbGxlJywnU3BhbHRlJywnSW5kaXplcycsJ0luZGl6ZXMgw6RuZGVybicsJ1Vyc3BydW5nJywnWmllbCcsJ09OIFVQREFURScsJ8OEbmRlcm4nLCdGcmVtZHNjaGzDvHNzZWwgaGluenVmw7xnZW4nLCdUcmlnZ2VyJywnVHJpZ2dlciBoaW56dWbDvGdlbicsJ0RhdWVyaGFmdGVyIExpbmsnLCdFeHBvcnRpZXJlbicsJ0VyZ2VibmlzJywnRm9ybWF0JywnUHJvemVkdXJlbicsJ0VyZWlnbmlzc2UnLCdEYXRlbicsJ8OkbmRlcm4nLCdOZXVlciBCZW51dHplcicsJ0ZlaGxlciBpbiBkZXIgU1FMLUFiZnJhZ2UnLGFycmF5KCclZCBEYXRlbnNhdHonLCclZCBEYXRlbnPDpHR6ZScpLGFycmF5KCdBYmZyYWdlIGF1c2dlZsO8aHJ0LCAlZCBEYXRlbnNhdHogYmV0cm9mZmVuLicsJ0FiZnJhZ2UgYXVzZ2Vmw7xocnQsICVkIERhdGVuc8OkdHplIGJldHJvZmZlbi4nKSwnS2VpbiBLb21tYW5kbyB2b3JoYW5kZW4uJyxhcnJheSgnU1FMLVF1ZXJ5IGVyZm9sZ3JlaWNoIGF1c2dlZsO8aHJ0LicsJyVkIFNRTC1RdWVyaWVzIGVyZm9sZ3JlaWNoIGF1c2dlZsO8aHJ0LicpLCdEYXRlaSBpbXBvcnRpZXJlbicsJ0ltcG9ydGllcmVuIHZvbiBEYXRlaWVuIGFiZ2VzY2hhbHRldC4nLCdBdXNmw7xocmVuJywnQmVpIEZlaGxlciBhbmhhbHRlbicsJ051ciBGZWhsZXIgYW56ZWlnZW4nLCdJbSBTZXJ2ZXInLCdXZWJzZXJ2ZXIgRGF0ZWkgJXMnLCdEYXRlaSBhdXNmw7xocmVuJywnSGlzdG9yeScsJ0VudGxlZXJlbicsJ0FsbGUgw6RuZGVybicsJ0RhdGVuc2F0eiBnZWzDtnNjaHQuJywnRGF0ZW5zYXR6IGdlw6RuZGVydC4nLCdEYXRlbnNhdHolcyBoaW56dWdlZsO8Z3QuJywnSGluenVmw7xnZW4nLCdTcGVpY2hlcm4nLCdTcGVpY2hlcm4gdW5kIHdlaXRlciBiZWFyYmVpdGVuJywnU3BlaWNoZXJuIHVuZCBuw6RjaHN0ZW4gaGluenVmw7xnZW4nLCdFbnRmZXJuZW4nLCdUYWJlbGxlIGVudGZlcm50LicsJ1RhYmVsbGUgZ2XDpG5kZXJ0LicsJ1RhYmVsbGUgZXJzdGVsbHQuJywnTmV1ZSBUYWJlbGxlIGVyc3RlbGxlbicsJ0RpZSBtYXhpbWFsIGVybGF1YnRlIEFuemFobCBkZXIgRmVsZGVyIGlzdCDDvGJlcnNjaHJpdHRlbi4gQml0dGUgJXMgdW5kICVzIGVyaMO2aGVuLicsJ05hbWUgZGVyIFRhYmVsbGUnLCdNb3RvcicsJ1BhcnRpdGlvbmllcmVuIHVtJywnUGFydGl0aW9uZW4nLCdOYW1lIGRlciBQYXJ0aXRpb24nLCdXZXJ0ZScsJ0luZGl6ZXMgZ2XDpG5kZXJ0LicsJ0luZGV4LVR5cCcsJ1NwYWx0ZSAoTMOkbmdlKScsJ05hbWUnLCdEYXRlbmJhbmsgZW50ZmVybnQuJywnRGF0ZW5iYW5rIHVtYmVuYW5udC4nLCdEYXRlbmJhbmsgZXJzdGVsbHQuJywnRGF0ZW5iYW5rIGdlw6RuZGVydC4nLCdOZXVlIERhdGVuYmFuaycsJ1NjaGVtYSB3dXJkZSBnZWzDtnNjaHQuJywnTmV1ZXMgU2NoZW1hIGVyc3RlbGx0LicsJ1NjaGVtYSBnZcOkbmRlcnQuJywnQXVmcnVmZW4nLGFycmF5KCdLb21tYW5kbyBTUUwgYXVzZ2Vmw7xocnQsICVkIERhdGVuc2F0eiBiZXRyb2ZmZW4uJywnS29tbWFuZG8gU1FMIGF1c2dlZsO8aHJ0LCAlZCBEYXRlbnPDpHR6ZSBiZXRyb2ZmZW4uJyksJ0ZyZW1kc2NobMO8c3NlbCBlbnRmZXJudC4nLCdGcmVtZHNjaGzDvHNzZWwgZ2XDpG5kZXJ0LicsJ0ZyZW1kc2NobMO8c3NlbCBlcnN0ZWxsdC4nLCdTcGFsdGVuIGRlcyBVcnNwcnVuZ3MgdW5kIGRlcyBaaWVsZXMgbcO8c3NlbiB2b20gZ2xlaWNoZW4gRGF0ZW50eXAgc2VpbiwgZXMgbXVzcyB1bnRlciBkZW4gWmllbHNwYWx0ZW4gZWluIEluZGV4IGV4aXN0aWVyZW4gdW5kIGRpZSByZWZlcmVuemllcnRlbiBEYXRlbiBtw7xzc2VuIGV4aXN0aWVyZW4uJywnRnJlbWRzY2hsw7xzc2VsJywnWmllbHRhYmVsbGUnLCfDhG5kZXJuJywnU3BhbHRlIGhpbnp1ZsO8Z2VuJywnVmlldyBlbnRmZXJudC4nLCdWaWV3IGdlw6RuZGVydC4nLCdWaWV3IGVyc3RlbGx0LicsJ05ldWUgVmlldyBlcnN0ZWxsZW4nLCdFcmVpZ25pcyBlbnRmZXJudC4nLCdFcmVpZ25pcyBnZcOkbmRlcnQuJywnRXJlaWduaXMgZXJzdGVsbHQuJywnRXJlaWduaXMgw6RuZGVybicsJ0VyZWlnbmlzIGVyc3RlbGxlbicsJ1N0YXJ0JywnRW5kZScsJ0plZGUnLCdOYWNoIGRlciBBdXNmw7xocnVuZyBlcmhhbHRlbicsJ1Byb3plZHVyIGVudGZlcm50LicsJ1Byb3plZHVyIGdlw6RuZGVydC4nLCdQcm96ZWR1ciBlcnN0ZWxsdC4nLCdGdW5rdGlvbiDDpG5kZXJuJywnUHJvemVkdXIgw6RuZGVybicsJ05ldWUgRnVua3Rpb24nLCdOZXVlIFByb3plZHVyJywnVHlwIGRlcyBSw7xja2dhYmV3ZXJ0ZXMnLCdTZXF1ZW56IGdlbMO2c2NodC4nLCdOZXVlIFNlcXVlbnogZXJzdGVsbHQuJywnU2VxdWVueiBnZcOkbmRlcnQuJywnU2VxdWVueiDDpG5kZXJuJywnTmV1ZSBTZXF1ZW56JywnVHlwIGdlbMO2c2NodC4nLCdUeXAgZXJzdGVsbHQuJywnVHlwIMOkbmRlcm4nLCdUeXAgZXJzdGVsbGVuJywnVHJpZ2dlciBlbnRmZXJudC4nLCdUcmlnZ2VyIGdlw6RuZGVydC4nLCdUcmlnZ2VyIGVyc3RlbGx0LicsJ1RyaWdnZXIgw6RuZGVybicsJ1RyaWdnZXIgaGluenVmw7xnZW4nLCdaZWl0cHVua3QnLCdFcmVpZ25pcycsJ0JlbnV0emVyIGVudGZlcm50LicsJ0JlbnV0emVyIGdlw6RuZGVydC4nLCdCZW51dHplciBlcnN0ZWxsdC4nLCdIYXNoZWQnLCdSdXRpbmUnLCdFcmxhdWJlbicsJ1ZlcmJpZXRlbicsYXJyYXkoJyVkIFByb3plc3MgZ2VzdG9wcHQuJywnJWQgUHJvemVzc2UgZ2VzdG9wcHQuJyksJyVkIGluc2dlc2FtdCcsJ0FuaGFsdGVuJywnJWQgQXJ0aWtlbCBiZXRyb2ZmZW4uJywnRG9wcGVsa2xpY2sgenVtIEJlYXJiZWl0ZW4gZGVzIFdlcnRlcy4nLGFycmF5KCclZCBEYXRlbnNhdHogaW1wb3J0aWVydC4nLCclZCBEYXRlbnPDpHR6ZSB3dXJkZW4gaW1wb3J0aWVydC4nKSwnQXVzd2FobCBkZXIgVGFiZWxsZSBmZWhsZ2VzY2hsYWdlbicsJ1JlbGF0aW9uZW4nLCdCZW51dHplbiBTaWUgZGVuIExpbmsgenVtIGVkaXRpZXJlbiBkaWVzZXMgV2VydGVzLicsJ1NlaXRlJywnbGV0enRlJywnR2VzYW10ZXJnZWJuaXMnLCdLbG9uZW4nLCdJbXBvcnRpZXJlbicsJyAnLCdUYWJlbGxlbiBzaW5kIGVudGxlZXJ0IHdvcmRlbiAodHJ1bmNhdGUpLicsJ1RhYmVsbGVuIHZlcnNjaG9iZW4uJywnVGFiZWxsZW4gd3VyZGVuIGtvcGllcnQuJywnVGFiZWxsZW4gd3VyZGVuIGVudGZlcm50IChkcm9wKS4nLCdUYWJlbGxlbiB1bmQgVmlld3MnLCdTdWNoZSBpbiBUYWJlbGxlbicsJ01vdG9yJywnRGF0ZW5ncsO2c3NlJywnSW5kZXhncsO2c3NlJywnRnJlaWVyIEJlcmVpY2gnLCdEYXRlbnPDpHR6ZScsJ0FuYWx5c2llcmVuJywnT3B0aW1pZXJlbicsJ1Byw7xmZW4nLCdSZXBhcmllcmVuJywnRW50bGVlcmVuICh0cnVuY2F0ZSknLCdJbiBhbmRlcmUgRGF0ZW5iYW5rIHZlcnNjaGllYmVuJywnVmVyc2NoaWViZW4nLCdLb3BpZXJlbicsJ1NlcXVlbnonLCdaZWl0cGxhbicsJ1p1ciBhbmdlZ2ViZW5lbiBaZWl0JywnSEg6TU06U1MnKTticmVhaztjYXNlImZyIjokVz1hcnJheSgnw4p0ZXMtdm91cyBjZXJ0YWluID8nLCdJbXBvc3NpYmxlIGRcJ2ltcG9ydGVyIGxlIGZpY2hpZXIuJywnTGEgdGFpbGxlIG1heGltYWxlIGRlcyBmaWNoaWVycyBlc3QgZGUgJXNCLicsJ0xlIGZpY2hpZXIgZXN0IGludHJvdXZhYmxlLicsJ3ZpZGUnLCdvcmlnaW5hbCcsJ0F1Y3VuZSB0YWJsZS4nLCdMYW5ndWUnLCdVdGlsaXNlcicsJ1ZldWlsbGV6IHV0aWxpc2VyIGxcJ3VuZSBkZXMgZXh0ZW5zaW9ucyAlcy4nLCdMZSBmaWNoaWVyIGV4aXN0ZS4nLCdUeXBlcyB1dGlsaXNhdGV1cicsJ05vbWJyZXMnLCdEYXRlIGV0IGhldXJlJywnQ2hhw65uZXMnLCdCaW5haXJlcycsJ1LDqXNlYXUnLCdHw6lvbcOpdHJpZScsJ0xpc3RlcycsJ1N5c3TDqG1lJywnU2VydmV1cicsJ1V0aWxpc2F0ZXVyJywnTW90IGRlIHBhc3NlJywnQXV0aGVudGlmaWNhdGlvbicsJ0F1dGhlbnRpZmljYXRpb24gcGVybWFuZW50ZScsJ0FmZmljaGVyIGxlcyBkb25uw6llcycsJ0FmZmljaGVyIGxhIHN0cnVjdHVyZScsJ01vZGlmaWVyIHVuZSB2dWUnLCdNb2RpZmllciBsYSB0YWJsZScsJ05vdXZlbCDDqWzDqW1lbnQnLCdEZXJuacOocmUgcGFnZScsJ01vZGlmaWVyJyxhcnJheSgnJWQgb2N0ZXQnLCclZCBvY3RldHMnKSwnU2VsZWN0JywnRm9uY3Rpb25zJywnQWdyw6lnYXRpb24nLCdSZWNoZXJjaGVyJywnblwnaW1wb3J0ZSBvw7knLCdUcmllcicsJ2TDqWNyb2lzc2FudCcsJ0xpbWl0ZScsJ0xvbmd1ZXVyIGR1IHRleHRlJywnQWN0aW9uJywnUmVxdcOqdGUgU1FMJywnb3V2cmlyJywnc2F1dmVnYXJkZXInLCdNb2RpZmllciBsYSBiYXNlIGRlIGRvbm7DqWVzJywnTW9kaWZpZXIgbGUgc2Now6ltYScsJ0Nyw6llciB1biBzY2jDqW1hJywnU2Now6ltYSBkZSBsYSBiYXNlIGRlIGRvbm7DqWVzJywnUHJpdmlsw6hnZXMnLCdFeHBvcnRlcicsJ0TDqWNvbm5leGlvbicsJ2Jhc2UgZGUgZG9ubsOpZXMnLCdzY2jDqW1hJywnQ3LDqWVyIHVuZSBub3V2ZWxsZSB0YWJsZScsJ3NlbGVjdCcsJ2x0cicsJ1JlbnZveWVyIGxlcyBkb25uw6llcyBQT1NUID8nLCdUb2tlbiBDU1JGIGludmFsaWRlLiBWZXVpbGxleiByw6llbnZveWVyIGxlIGZvcm11bGFpcmUuJywnQXUgcmV2b2lyICEnLCdWZXVpbGxleiBhY3RpdmVyIGxlcyBzZXNzaW9ucy4nLCdTZXNzaW9uIGV4cGlyw6llLCB2ZXVpbGxleiB2b3VzIGF1dGhlbnRpZmllciDDoCBub3V2ZWF1LicsJ0F1dGhlbnRpZmljYXRpb24gw6ljaG91w6llLicsJ0V4dGVuc2lvbiBpbnRyb3V2YWJsZScsJ0F1Y3VuZSBkZXMgZXh0ZW5zaW9ucyBQSFAgc3VwcG9ydMOpZXMgKCVzKSBuXCdlc3QgZGlzcG9uaWJsZS4nLCdEb25uw6llcyBQT1NUIHRyb3AgZ3JhbmRlcy4gUsOpZHVpc2V6IGxhIHRhaWxsZSBkZXMgZG9ubsOpZXMgb3UgYXVnbWVudGV6IGxhIHZhbGV1ciBkZSAlcyBkYW5zIGxhIGNvbmZpZ3VyYXRpb24gZGUgUEhQLicsJ0Jhc2UgZGUgZG9ubsOpZXMnLCdCYXNlIGRlIGRvbm7DqWVzIGludmFsaWRlLicsJ0xlcyBiYXNlcyBkZSBkb25uw6llcyBvbnQgw6l0w6kgc3VwcHJpbcOpZXMuJywnU8OpbGVjdGlvbm5lciBsYSBiYXNlIGRlIGRvbm7DqWVzJywnQ3LDqWVyIHVuZSBiYXNlIGRlIGRvbm7DqWVzJywnTGlzdGUgZGVzIHByb2Nlc3N1cycsJ1ZhcmlhYmxlcycsJ1N0YXR1dCcsJ1ZlcnNpb24gZGUgJXMgOiAlcyB2aWEgbFwnZXh0ZW5zaW9uIFBIUCAlcycsJ0F1dGhlbnRpZmnDqSBlbiB0YW50IHF1ZSA6ICVzJywnSW50ZXJjbGFzc2VtZW50JywnVGFibGVzJywnU3VwcHJpbWVyJywnUmFmcmHDrmNoaXInLCdTY2jDqW1hJywnU2Now6ltYSBpbnZhbGlkZS4nLCdBdWN1biByw6lzdWx0YXQuJywnJS4zZiBzJywnQ2zDqXMgw6l0cmFuZ8OocmVzJywnaW50ZXJjbGFzc2VtZW50JywnT04gREVMRVRFJywnTm9tIGRlIGxhIGNvbG9ubmUnLCdOb20gZHUgcGFyYW3DqHRyZScsJ1R5cGUnLCdMb25ndWV1cicsJ09wdGlvbnMnLCdBdXRvIGluY3JlbWVudCcsJ1ZhbGV1cnMgcGFyIGTDqWZhdXQnLCdDb21tZW50YWlyZScsJ0Fqb3V0ZXIgbGUgcHJvY2hhaW4nLCdEw6lwbGFjZXIgdmVycyBsZSBoYXV0JywnRMOpcGxhY2VyIHZlcnMgbGUgYmFzJywnRWZmYWNlcicsJ1Z1ZScsJ1RhYmxlJywnQ29sb25uZScsJ0luZGV4JywnTW9kaWZpZXIgbGVzIGluZGV4JywnU291cmNlJywnQ2libGUnLCdPTiBVUERBVEUnLCdNb2RpZmllcicsJ0Fqb3V0ZXIgdW5lIGNsw6kgw6l0cmFuZ8OocmUnLCdUcmlnZ2VycycsJ0Fqb3V0ZXIgdW4gdHJpZ2dlcicsJ0xpZW4gcGVybWFuZW50JywnRXhwb3J0ZXInLCdTb3J0aWUnLCdGb3JtYXQnLCdSb3V0aW5lcycsJ8OJdsOobmVtZW50cycsJ0Rvbm7DqWVzJywnbW9kaWZpZXInLCdDcsOpZXIgdW4gdXRpbGlzYXRldXInLCdFcnJldXIgZGFucyBsYSByZXF1w6p0ZScsYXJyYXkoJyVkIGxpZ25lJywnJWQgbGlnbmVzJyksYXJyYXkoJ1JlcXXDqnRlIGV4w6ljdXTDqWUgYXZlYyBzdWNjw6hzLCAlZCBsaWduZSBtb2RpZmnDqWUuJywnUmVxdcOqdGUgZXjDqWN1dMOpZSBhdmVjIHN1Y2PDqHMsICVkIGxpZ25lcyBtb2RpZmnDqWVzLicpLCdBdWN1bmUgY29tbWFuZGUgw6AgZXjDqWN1dGVyLicsYXJyYXkoJyVkIHJlcXXDqnRlIGV4w6ljdXTDqWUgYXZlYyBzdWNjw6hzLicsJyVkIHJlcXXDqnRlcyBleMOpY3V0w6llcyBhdmVjIHN1Y2PDqHMuJyksJ0ltcG9ydGVyIHVuIGZpY2hpZXInLCdMXCdpbXBvcnRhdGlvbiBkZSBmaWNoaWVyIGVzdCBkw6lzYWN0aXbDqWUuJywnRXjDqWN1dGVyJywnQXJyw6p0ZXIgZW4gY2FzIGRcJ2VycmV1cicsJ01vbnRyZXIgc2V1bGVtZW50IGxlcyBlcnJldXJzJywnRGVwdWlzIGxlIHNlcnZldXInLCdGaWNoaWVyICVzIGR1IHNlcnZldXIgV2ViJywnRXjDqWN1dGVyIGxlIGZpY2hpZXInLCdIaXN0b3JpcXVlJywnRWZmYWNlcicsJ1RvdXQgbW9kaWZpZXInLCdMXCfDqWzDqW1lbnQgYSDDqXTDqSBzdXBwcmltw6kuJywnTFwnw6lsw6ltZW50IGEgw6l0w6kgbW9kaWZpw6kuJywnTFwnw6lsw6ltZW50JXMgYSDDqXTDqSBpbnPDqXLDqS4nLCdJbnPDqXJlcicsJ1NhdXZlZ2FyZGVyJywnU2F1dmVnYXJkZXIgZXQgY29udGludWVyIGxcJ8OpZGl0aW9uJywnU2F1dmVnYXJkZXIgZXQgaW5zw6lyZXIgbGUgcHJvY2hhaW4nLCdFZmZhY2VyJywnTGEgdGFibGUgYSDDqXTDqSBlZmZhY8OpZS4nLCdMYSB0YWJsZSBhIMOpdMOpIG1vZGlmacOpZS4nLCdMYSB0YWJsZSBhIMOpdMOpIGNyw6nDqWUuJywnQ3LDqWVyIHVuZSB0YWJsZScsJ0xlIG5vbWJyZSBtYXhpbXVtIGRlIGNoYW1wcyBlc3QgZMOpcGFzc8OpLiBWZXVpbGxleiBhdWdtZW50ZXIgJXMgZXQgJXMuJywnTm9tIGRlIGxhIHRhYmxlJywnbW90ZXVyJywnUGFydGl0aW9ubmVyIHBhcicsJ1BhcnRpdGlvbnMnLCdOb20gZGUgbGEgcGFydGl0aW9uJywnVmFsZXVycycsJ0luZGV4IG1vZGlmacOpcy4nLCdUeXBlIGRcJ2luZGV4JywnQ29sb25uZSAobG9uZ3VldXIpJywnTm9tJywnTGEgYmFzZSBkZSBkb25uw6llcyBhIMOpdMOpIHN1cHByaW3DqWUuJywnTGEgYmFzZSBkZSBkb25uw6llcyBhIMOpdMOpIHJlbm9tbcOpZS4nLCdMYSBiYXNlIGRlIGRvbm7DqWVzIGEgw6l0w6kgY3LDqcOpZS4nLCdMYSBiYXNlIGRlIGRvbm7DqWVzIGEgw6l0w6kgbW9kaWZpw6llLicsJ0Nyw6llciB1bmUgYmFzZSBkZSBkb25uw6llcycsJ0xlIHNjaMOpbWEgYSDDqXTDqSBzdXBwcmltw6kuJywnTGUgc2Now6ltYSBhIMOpdMOpIGNyw6nDqS4nLCdMZSBzY2jDqW1hIGEgw6l0w6kgbW9kaWZpw6kuJywnQXBwZWxlcicsYXJyYXkoJ0xhIHJvdXRpbmUgYSDDqXTDqSBleMOpY3V0w6llLCAlZCBsaWduZSBtb2RpZmnDqWUuJywnTGEgcm91dGluZSBhIMOpdMOpIGV4w6ljdXTDqWUsICVkIGxpZ25lcyBtb2RpZmnDqWVzLicpLCdMYSBjbMOpIMOpdHJhbmfDqHJlIGEgw6l0w6kgZWZmYWPDqWUuJywnTGEgY2zDqSDDqXRyYW5nw6hyZSBhIMOpdMOpIG1vZGlmacOpZS4nLCdMYSBjbMOpIMOpdHJhbmfDqHJlIGEgw6l0w6kgY3LDqcOpZS4nLCdMZXMgY29sb25uZXMgZGUgc291cmNlIGV0IGRlIGRlc3RpbmF0aW9uIGRvaXZlbnQgw6p0cmUgZHUgbcOqbWUgdHlwZSwgaWwgZG9pdCB5IGF2b2lyIHVuIGluZGV4IHN1ciBsZXMgY29sb25uZXMgZGUgZGVzdGluYXRpb24gZXQgbGVzIGRvbm7DqWVzIHLDqWbDqXJlbmPDqWVzIGRvaXZlbnQgZXhpc3Rlci4nLCdDbMOpIMOpdHJhbmfDqHJlJywnVGFibGUgdmlzw6llJywnTW9kaWZpZXInLCdBam91dGVyIHVuZSBjb2xvbm5lJywnTGEgdnVlIGEgw6l0w6kgZWZmYWPDqWUuJywnTGEgdnVlIGEgw6l0w6kgbW9kaWZpw6llLicsJ0xhIHZ1ZSBhIMOpdMOpIGNyw6nDqWUuJywnQ3LDqWVyIHVuZSB2dWUnLCdMXCfDqXbDqG5lbWVudCBhIMOpdMOpIHN1cHByaW3DqS4nLCdMXCfDqXbDqG5lbWVudCBhIMOpdMOpIG1vZGlmacOpLicsJ0xcJ8OpdsOobmVtZW50IGEgw6l0w6kgY3LDqcOpLicsJ01vZGlmaWVyIHVuIMOpdsOobmVtZW50JywnQ3LDqWVyIHVuIMOpdsOobmVtZW50JywnRMOpbWFycmVyJywnVGVybWluZXInLCdDaGFxdWUnLCdDb25zZXJ2ZXIgcXVhbmQgY29tcGzDqXTDqScsJ0xhIHJvdXRpbmUgYSDDqXTDqSBzdXBwcmltw6llLicsJ0xhIHJvdXRpbmUgYSDDqXTDqSBtb2RpZmnDqWUuJywnTGEgcm91dGluZSBhIMOpdMOpIGNyw6nDqWUuJywnTW9kaWZpZXIgbGEgZm9uY3Rpb24nLCdNb2RpZmllciBsYSBwcm9jw6lkdXJlJywnQ3LDqWVyIHVuZSBmb25jdGlvbicsJ0Nyw6llciB1bmUgcHJvY8OpZHVyZScsJ1R5cGUgZGUgcmV0b3VyJywnTGEgc8OpcXVlbmNlIGEgw6l0w6kgc3VwcHJpbcOpZS4nLCdMYSBzw6lxdWVuY2UgYSDDqXTDqSBjcsOpw6llLicsJ0xhIHPDqXF1ZW5jZSBhIMOpdMOpIG1vZGlmacOpZS4nLCdNb2RpZmllciBsYSBzw6lxdWVuY2UnLCdDcsOpZXIgdW5lIHPDqXF1ZW5jZScsJ0xlIHR5cGUgYSDDqXTDqSBzdXBwcmltw6kuJywnTGUgdHlwZSBhIMOpdMOpIGNyw6nDqS4nLCdNb2RpZmllciBsZSB0eXBlJywnQ3LDqWVyIHVuIHR5cGUnLCdMZSB0cmlnZ2VyIGEgw6l0w6kgc3VwcHJpbcOpLicsJ0xlIHRyaWdnZXIgYSDDqXTDqSBtb2RpZmnDqS4nLCdMZSB0cmlnZ2VyIGEgw6l0w6kgY3LDqcOpLicsJ01vZGlmaWVyIHVuIHRyaWdnZXInLCdBam91dGVyIHVuIHRyaWdnZXInLCdUZW1wcycsJ8OJdsOobmVtZW50JywnTFwndXRpbGlzYXRldXIgYSDDqXTDqSBlZmZhY8OpLicsJ0xcJ3V0aWxpc2F0ZXVyIGEgw6l0w6kgbW9kaWZpw6kuJywnTFwndXRpbGlzYXRldXIgYSDDqXTDqSBjcsOpw6kuJywnSGFjaMOpJywnUm91dGluZScsJ0dyYW50JywnUmV2b2tlJyxhcnJheSgnJWQgcHJvY2Vzc3VzIGEgw6l0w6kgYXJyw6p0w6kuJywnJWQgcHJvY2Vzc3VzIG9udCDDqXTDqSBhcnLDqnTDqXMuJyksJyVkIGF1IHRvdGFsJywnQXJyw6p0ZXInLGFycmF5KCclZCDDqWzDqW1lbnQgYSDDqXTDqSBtb2RpZmnDqS4nLCclZCDDqWzDqW1lbnRzIG9udCDDqXTDqSBtb2RpZmnDqXMuJyksJ0RvdWJsZS1jbGlxdWV6IHN1ciB1bmUgdmFsZXVyIHBvdXIgbGEgbW9kaWZpZXIuJyxhcnJheSgnJWQgbGlnbmUgYSDDqXTDqSBpbXBvcnTDqWUuJywnJWQgbGlnbmVzIG9udCDDqXTDqSBpbXBvcnTDqWVzLicpLCdJbXBvc3NpYmxlIGRlIHPDqWxlY3Rpb25uZXIgbGEgdGFibGUnLCdSZWxhdGlvbnMnLCdVdGlsaXNleiBsZSBsaWVuICJtb2RpZmllciIgcG91ciBtb2RpZmllciBjZXR0ZSB2YWxldXIuJywnUGFnZScsJ2Rlcm5pw6hyZScsJ3LDqXN1bHRhdCBlbnRpZXInLCdDbG9uZXInLCdJbXBvcnRlcicsJywnLCdMZXMgdGFibGVzIG9udCDDqXTDqSB0cm9ucXXDqWVzLicsJ0xlcyB0YWJsZXMgb250IMOpdMOpIGTDqXBsYWPDqWVzLicsJ0xlcyB0YWJsZXMgb250IMOpdMOpIGNvcGnDqWVzLicsJ0xlcyB0YWJsZXMgb250IMOpdMOpIGVmZmFjw6llcy4nLCdUYWJsZXMgZXQgdnVlcycsJ1JlY2hlcmNoZXIgZGFucyBsZXMgdGFibGVzJywnTW90ZXVyJywnTG9uZ3VldXIgZGVzIGRvbm7DqWVzJywnTG9uZ3VldXIgZGUgbFwnaW5kZXgnLCdFc3BhY2UgaW51dGlsaXPDqScsJ0xpZ25lcycsJ0FuYWx5c2VyJywnT3B0aW1pc2VyJywnVsOpcmlmaWVyJywnUsOpcGFyZXInLCdUcm9ucXVlcicsJ0TDqXBsYWNlciB2ZXJzIHVuZSBhdXRyZSBiYXNlIGRlIGRvbm7DqWVzJywnRMOpcGxhY2VyJywnQ29waWVyJywnU8OpcXVlbmNlcycsJ0hvcmFpcmUnLCfDgCB1biBtb21lbnQgcHLDqWNpcycsJ0hIOk1NOlNTJyk7YnJlYWs7Y2FzZSJpdCI6JFc9YXJyYXkoJ1NpY3Vybz8nLCdDYXJpY2FtZW50byBkZWwgZmlsZSBub24gcml1c2NpdG8uJywnTGEgZGltZW5zaW9uZSBtYXNzaW1hIGRlbCBmaWxlIMOoICVzQi4nLCdJbCBmaWxlIG5vbiBlc2lzdGUuJywndnVvdG8nLCdvcmlnaW5hbGUnLCdObyB0YWJlbGxlLicsJ0xpbmd1YScsJ1VzYScsJ1VzYSB1bmEgZGVsbGUgZXN0ZW5zaW9uaSAlcy4nLCdJbCBmaWxlIGVzaXN0ZSBnacOgLicsJ1RpcGkgZGVmaW5pdGkgZGFsbFwndXRlbnRlJywnTnVtZXJpJywnRGF0YSBlIG9yYScsJ1N0cmluZ2hlJywnQmluYXJpJywnUmV0ZScsJ0dlb21ldHJpYScsJ0xpc3RlJywnU2lzdGVtYScsJ1NlcnZlcicsJ1V0ZW50ZScsJ1Bhc3N3b3JkJywnQXV0ZW50aWNhemlvbmUnLCdMb2dpbiBwZXJtYW5lbnRlJywnVmlzdWFsaXp6YSBkYXRpJywnVmlzdWFsaXp6YSBzdHJ1dHR1cmEnLCdNb2RpZmljYSB2aXN0YScsJ01vZGlmaWNhIHRhYmVsbGEnLCdOdW92byBlbGVtZW50bycsJ1VsdGltYSBwYWdpbmEnLCdNb2RpZmljYScsYXJyYXkoJyVkIGJ5dGUnLCclZCBieXRlcycpLCdTZWxlemlvbmEnLCdGdW56aW9uaScsJ0FnZ3JlZ2F6aW9uZScsJ0NlcmNhJywnb3Z1bnF1ZScsJ09yZGluYScsJ2Rpc2NlbmRlbnRlJywnTGltaXRlJywnTHVuZ2hlenphIHRlc3RvJywnQXppb25lJywnQ29tYW5kbyBTUUwnLCdhcHJpJywnc2FsdmEnLCdNb2RpZmljYSBkYXRhYmFzZScsJ01vZGlmaWNhIHNjaGVtYScsJ0NyZWEgc2NoZW1hJywnU2NoZW1hIGRhdGFiYXNlJywnUHJpdmlsZWdpJywnRHVtcCcsJ0VzY2knLCdkYXRhYmFzZScsJ3NjaGVtYScsJ0NyZWEgbnVvdmEgdGFiZWxsYScsJ3NlbGV6aW9uYScsJ2x0cicsJ1JlaW52aW8gaSBkYXRpIFBPU1Q/JywnVG9rZW4gQ1NSRiBub24gdmFsaWRvLiBSZWludmlhIGxhIHJpY2hpZXN0YS4nLCdVc2NpdGEgZWZmZXR0dWF0YSBjb24gc3VjY2Vzc28uJywnTGUgc2Vzc2lvbmkgZGV2b25vIGVzc2VyZSBhYmlsaXRhdGUuJywnU2Vzc2lvbmUgc2NhZHV0YSwgYXV0ZW50aWNhcnNpIGRpIG51b3ZvLicsJ0NyZWRlbnppYWxpIG5vbiB2YWxpZGUuJywnRXN0ZW5zaW9uaSBub24gcHJlc2VudGknLCdOZXNzdW5hIGRlbGxlIGVzdGVuc2lvbmkgUEhQIHN1cHBvcnRhdGUgKCVzKSBkaXNwb25pYmlsZS4nLCdUcm9wcGkgZGF0aSB2aWEgUE9TVC4gUmlkdXJyZSBpIGRhdGkgbyBhdW1lbnRhcmUgbGEgZGlyZXR0aXZhIGRpIGNvbmZpZ3VyYXppb25lICVzLicsJ0RhdGFiYXNlJywnRGF0YWJhc2Ugbm9uIHZhbGlkby4nLCdEYXRhYmFzZSBlbGltaW5hdGkuJywnU2VsZXppb25hIGRhdGFiYXNlJywnQ3JlYSBudW92byBkYXRhYmFzZScsJ0VsZW5jbyBwcm9jZXNzaScsJ1ZhcmlhYmlsaScsJ1N0YXRvJywnVmVyc2lvbmUgJXM6ICVzIHZpYSBlc3RlbnNpb25lIFBIUCAlcycsJ0F1dGVudGljYXRvIGNvbWU6ICVzJywnQ29sbGF6aW9uZScsJ1RhYmVsbGUnLCdFbGltaW5hJywnQWdnaW9ybmEnLCdTY2hlbWEnLCdTY2hlbWEgbm9uIHZhbGlkby4nLCdOZXNzdW5hIHJpZ2EuJywnJS4zZiBzJywnQ2hpYXZpIGVzdGVybmUnLCdjb2xsYXppb25lJywnT04gREVMRVRFJywnTm9tZSBjb2xvbm5hJywnTm9tZSBwYXJhbWV0cm8nLCdUaXBvJywnTHVuZ2hlenphJywnT3B6aW9uaScsJ0F1dG8gaW5jcmVtZW50bycsJ1ZhbG9yaSBwcmVkZWZpbml0aScsJ0NvbW1lbnRvJywnQWdnaXVuZ2kgYWx0cm8nLCdTcG9zdGEgc3UnLCdTcG9zdGEgZ2l1JywnUmltdW92aScsJ1ZlZGknLCdUYWJlbGxhJywnQ29sb25uYScsJ0luZGljaScsJ01vZGlmaWNhIGluZGljaScsJ1NvcmdlbnRlJywnT2JpZXR0aXZvJywnT04gVVBEQVRFJywnTW9kaWZpY2EnLCdBZ2dpdW5naSBmb3JlaWduIGtleScsJ1RyaWdnZXInLCdBZ2dpdW5naSB0cmlnZ2VyJywnTGluayBwZXJtYW5lbnRlJywnRXNwb3J0YScsJ1Jpc3VsdGF0bycsJ0Zvcm1hdG8nLCdSb3V0aW5lJywnRXZlbnRpJywnRGF0aScsJ21vZGlmaWNhJywnQ3JlYSB1dGVudGUnLCdFcnJvcmUgbmVsbGEgcXVlcnknLGFycmF5KCclZCByaWdhJywnJWQgcmlnaGUnKSxhcnJheSgnRXNlY3V6aW9uZSBkZWxsYSBxdWVyeSBPSywgJWQgcmlnYSBpbnRlcmVzc2F0YS4nLCdFc2VjdXppb25lIGRlbGxhIHF1ZXJ5IE9LLCAlZCByaWdoZSBpbnRlcmVzc2F0ZS4nKSwnTmVzc3VuIGNvbW1hbmRvIGRhIGVzZWd1aXJlLicsYXJyYXkoJyVkIHF1ZXJ5IGVzZWd1aXRhIGNvbiBzdWNjZXNzby4nLCclZCBxdWVyeSBlc2VndWl0ZSBjb24gc3VjY2Vzc28uJyksJ0NhcmljYW1lbnRvIGZpbGUnLCdDYXJpY2FtZW50byBmaWxlIGRpc2FiaWxpdGF0by4nLCdFc2VndWknLCdTdG9wIHN1IGVycm9yZScsJ01vc3RyYSBzb2xvIGdsaSBlcnJvcmknLCdEYWwgc2VydmVyJywnV2Vic2VydmVyIGZpbGUgJXMnLCdFc2VndWkgZmlsZScsJ1N0b3JpY28nLCdQdWxpc2NpJywnTW9kaWZpY2EgdHV0dG8nLCdFbGVtZW50byBlbGltaW5hdG8uJywnRWxlbWVudG8gYWdnaW9ybmF0by4nLCdFbGVtZW50byVzIGluc2VyaXRvLicsJ0luc2VyaXNjaScsJ1NhbHZhJywnU2FsdmEgZSBjb250aW51YScsJ1NhbHZhIGUgaW5zZXJpc2NpIHVuIGFsdHJvJywnRWxpbWluYScsJ1RhYmVsbGEgZWxpbWluYXRhLicsJ1RhYmVsbGEgbW9kaWZpY2F0YS4nLCdUYWJlbGxhIGNyZWF0YS4nLCdDcmVhIHRhYmVsbGEnLCdUcm9wcGkgY2FtcGkuIFBlciBmYXZvcmUgYXVtZW50YXJlICVzIGUgJXMuJywnTm9tZSB0YWJlbGxhJywnbW90b3JlJywnUGFydGl6aW9uYSBwZXInLCdQYXJ0aXppb25pJywnTm9tZSBwYXJ0aXppb25lJywnVmFsb3JpJywnSW5kaWNpIG1vZGlmaWNhdGkuJywnVGlwbyBpbmRpY2UnLCdDb2xvbm5hIChsdW5naGV6emEpJywnTm9tZScsJ0RhdGFiYXNlIGVsaW1pbmF0by4nLCdEYXRhYmFzZSByaW5vbWluYXRvLicsJ0RhdGFiYXNlIGNyZWF0by4nLCdEYXRhYmFzZSBtb2RpZmljYXRvLicsJ0NyZWEgZGF0YWJhc2UnLCdTY2hlbWEgZWxpbWluYXRvLicsJ1NjaGVtYSBjcmVhdG8uJywnU2NoZW1hIG1vZGlmaWNhdG8uJywnQ2hpYW1hJyxhcnJheSgnUm91dGluZSBjaGlhbWF0YSwgJWQgcmlnYSBpbnRlcmVzc2F0YS4nLCdSb3V0aW5lIGNoaWFtYXRhLCAlZCByaWdoZSBpbnRlcmVzc2F0ZS4nKSwnRm9yZWlnbiBrZXkgZWxpbWluYXRhLicsJ0ZvcmVpZ24ga2V5IG1vZGlmaWNhdGEuJywnRm9yZWlnbiBrZXkgY3JlYXRhLicsJ0xlIGNvbG9ubmUgc29yZ2VudGUgZSBkZXN0aW5hemlvbmUgZGV2b25vIGVzc2VyZSBkZWxsbyBzdGVzc28gdGlwbyBlIGNpIGRldmUgZXNzZXJlIHVuIGluZGljZSBzdWxsYSBjb2xvbm5hIGRpIGRlc3RpbmF6aW9uZSBlIHN1aSBkYXRpIHJlZmVyZW56aWF0aS4nLCdGb3JlaWduIGtleScsJ1RhYmVsbGEgb2JpZXR0aXZvJywnQ2FtYmlhJywnQWdnaXVuZ2kgY29sb25uYScsJ1Zpc3RhIGVsaW1pbmF0YS4nLCdWaXN0YSBtb2RpZmljYXRhLicsJ1Zpc3RhIGNyZWF0YS4nLCdDcmVhIHZpc3RhJywnRXZlbnRvIGVsaW1pbmF0by4nLCdFdmVudG8gbW9kaWZpY2F0by4nLCdFdmVudG8gY3JlYXRvLicsJ01vZGlmaWNhIGV2ZW50bycsJ0NyZWEgZXZlbnRvJywnSW5pemlvJywnRmluZScsJ09nbmknLCdBbCB0ZXJtaW5lIHByZXNlcnZhcmUnLCdSb3V0aW5lIGVsaW1pbmF0YS4nLCdSb3V0aW5lIG1vZGlmaWNhdGEuJywnUm91dGluZSBjcmVhdGEuJywnTW9kaWZpY2EgZnVuemlvbmUnLCdNb2RpZmljYSBwcm9jZWR1cmEnLCdDcmVhIGZ1bnppb25lJywnQ3JlYSBwcm9jZWR1cmEnLCdSZXR1cm4gdHlwZScsJ1NlcXVlbnphIGVsaW1pbmF0YS4nLCdTZXF1ZW56YSBjcmVhdGEuJywnU2VxdWVuemEgbW9kaWZpY2F0YS4nLCdNb2RpZmljYSBzZXF1ZW56YScsJ0NyZWEgc2VxdWVuemEnLCdUaXBvIGRlZmluaXRvIGRhbGxcJ3V0ZW50ZSBlbGltaW5hdG8uJywnVGlwbyBkZWZpbml0byBkYWxsXCd1dGVudGUgY3JlYXRvLicsJ01vZGlmaWNhIHRpcG8gZGVmaW5pdG8gZGFsbFwndXRlbnRlJywnQ3JlYSB0aXBvIGRlZmluaXRvIGRhbGxcJ3V0ZW50ZScsJ1RyaWdnZXIgZWxpbWluYXRvLicsJ1RyaWdnZXIgbW9kaWZpY2F0by4nLCdUcmlnZ2VyIGNyZWF0by4nLCdNb2RpZmljYSB0cmlnZ2VyJywnQ3JlYSB0cmlnZ2VyJywnT3JhcmlvJywnRXZlbnRvJywnVXRlbnRlIGVsaW1pbmF0by4nLCdVdGVudGUgbW9kaWZpY2F0by4nLCdVdGVudGUgY3JlYXRvLicsJ0hhc2hlZCcsJ1JvdXRpbmUnLCdQZXJtZXR0aScsJ1Jldm9jYScsYXJyYXkoJyVkIHByb2Nlc3NvIGludGVycm90dG8uJywnJWQgcHJvY2Vzc2kgaW50ZXJyb3R0aS4nKSwnJWQgaW4gdG90YWxlJywnSW50ZXJyb21waScsYXJyYXkoJ0lsIHJpc3VsdGF0byBjb25zaXN0ZSBpbiAlZCBlbGVtZW50by4nLCdJbCByaXN1bHRhdG8gY29uc2lzdGUgaW4gJWQgZWxlbWVudGkuJyksJ0ZhaSBkb3BwaW8gY2xpY2sgc3UgdW4gdmFsb3JlIHBlciBtb2RpZmljYXJsby4nLGFycmF5KCclZCByaWdhIGltcG9ydGF0YS4nLCclZCByaWdoZSBpbXBvcnRhdGUuJyksJ1NlbGV6aW9uZSBkZWxsYSB0YWJlbGxhIG5vbiByaXVzY2l0YScsJ1JlbGF6aW9uaScsJ1VzYSBpbCBsaW5rIG1vZGlmaWNhIHBlciBtb2RpZmljYXJlIHF1ZXN0byB2YWxvcmUuJywnUGFnaW5hJywndWx0aW1hJywnaW50ZXJvIHJpc3VsdGF0bycsJ0Nsb25hJywnSW1wb3J0YScsJy4nLCdMZSB0YWJlbGxlIHNvbm8gc3RhdGUgc3Z1b3RhdGUuJywnTGUgdGFiZWxsZSBzb25vIHN0YXRlIHNwb3N0YXRlLicsJ0xlIHRhYmVsbGUgc29ubyBzdGF0ZSBjb3BpYXRlLicsJ0xlIHRhYmVsbGUgc29ubyBzdGF0ZSBlbGltaW5hdGUuJywnVGFiZWxsZSBlIHZpc3RlJywnQ2VyY2EgbmVsbGUgdGFiZWxsZScsJ01vdG9yZScsJ0x1bmdoZXp6YSBkYXRvJywnTHVuZ2hlenphIGluZGljZScsJ0RhdGkgbGliZXJpJywnUmlnaGUnLCdBbmFsaXp6YScsJ090dGltaXp6YScsJ0NvbnRyb2xsYScsJ1JpcGFyYScsJ1N2dW90YScsJ1Nwb3N0YSBpbiBhbHRybyBkYXRhYmFzZScsJ1Nwb3N0YScsJ0NvcGlhJywnU2VxdWVuemEnLCdQaWFuaWZpY2EnLCdBIHRlbXBvIHByZXN0YWJpbGl0bycsJ0hIOk1NOlNTJyk7YnJlYWs7Y2FzZSJldCI6JFc9YXJyYXkoJ0thcyBvbGVkIGtpbmRlbD8nLCdGYWlsaSDDvGxlc2xhYWRpbWluZSBwb2xlIHbDtWltYWxpay4nLCdNYWtzaW1hYWxuZSBmYWlsaXN1dXJ1cyAlc0IuJywnRmFpbGkgZWkgbGVpdHVkLicsJ3TDvGhpJywnb3JpZ2luYWFsJywnVGFiZWxlaWQgZWkgbGVpdHVkLicsJ0tlZWwnLCdLYXN1dGEnLCdQYWx1biBrYXN1dGEgw7xodCBsYWllbmR1c3Rlc3QgJXMuJywnRmFpbCBqdWJhIGVrc2lzdGVlcmliLicsJ0thc3V0YWphdMO8w7xiaWQnLCdOdW1icmlsaXNlZCcsJ0t1dXDDpGV2IGphIGtlbGxhYWVnJywnVGVrc3RpZCcsJ0JpbmFhcicsJ1bDtXJrIChuZXR3b3JrKScsJ0dlb21lZXRyaWEnLCdMaXN0aWQnLCdBbmRtZWJhYXNpbW9vdG9yJywnU2VydmVyJywnS2FzdXRhamFuaW1pJywnUGFyb29sJywnTG9naSBzaXNzZScsJ0rDpHRhIG1pbmQgbWVlbGRlJywnVmFhdGEgYW5kbWVpZCcsJ07DpGl0YSBzdHJ1a3R1dXJpJywnTXV1ZGEgdmFhZGV0IChWSUVXKScsJ011dWRhIHRhYmVsaSBzdHJ1a3R1dXJpJywnTGlzYSBraXJqZScsJ1ZpaW1hbmUgbGVoZWvDvGxnJywnTXV1ZGEnLGFycmF5KCclZCBiYWl0JywnJWQgYmFpdGknKSwnS3V2YScsJ0Z1bmt0c2lvb25pZCcsJ0xpaXRtaW5lJywnT3RzaScsJ3ZhaGV0IHBvbGUnLCdTb3J0ZWVyaScsJ2thaGFuZXZhbHQnLCdQaWlyYScsJ1Rla3N0aSBwaWtrdXMnLCdUZWdldnVzJywnU1FMLVDDpHJpbmcnLCduw6RpdGEgYnJhdXNlcmlzJywnc2FsdmVzdGEgZmFpbGluYScsJ011dWRhIGFuZG1lYmFhc2knLCdNdXVkYSBzdHJ1a3R1dXJpJywnTG9vIHN0cnVrdHV1cicsJ0FuZG1lYmFhc2kgc2tlZW0nLCfDlWlndXNlZCcsJ0Vrc3BvcmRpJywnTG9naSB2w6RsamEnLCdhbmRtZWJhYXMnLCdzdHJ1a3R1dXInLCdMb28gdXVzIHRhYmVsJywna3V2YScsJ2x0cicsJ1NhYWRhIFBPU1QgYW5kbWVkIHV1ZXN0aT8nLCdTb2JpbWF0dSBDU1JGLCBwYWx1biBwb3N0aXRhZ2Ugdm9ybSB1dWVzdGkuJywnVsOkbGphbG9naW1pbmUgw7VubmVzdHVzLicsJ1Nlc3Npb29uaWQgcGVhdmFkIG9sZW1hIGx1YmF0dWQuJywnU2Vzc2lvb24gb24gYWVndW51ZCwgcGFsdW4gbG9naWdlIHV1ZXN0aSBzaXNzZS4nLCdFYmFrb3JyZWt0c2VkIGFuZG1lZC4nLCdFaSBsZWl0dWQgbGFpZW5kdXN0JywnU2VydmVyaXMgcG9sZSDDvGh0ZWdpIHRvZXRhdHVkIFBIUCBsYWllbmR1c3Rlc3QgKCVzKS4nLCdQT1NULWFuZG1ldGUgbWFodCBvbiBsaWlhbHQgc3V1ci4gUGFsdW4gdsOkaGVuZGFnZSBhbmRtZWlkIHbDtWkgc3V1cmVuZGFnZSAlcyBwaHAtc2VhZGV0LicsJ0FuZG1lYmFhcycsJ1R1bmRtYXR1IGFuZG1lYmFhcy4nLCdBbmRtZWJhYXNpZCBvbiBlZHVrYWx0IGt1c3R1dGF0dWQuJywnVmFsaSBhbmRtZWJhYXMnLCdMb28gdXVzIGFuZG1lYmFhcycsJ1Byb3RzZXNzaWRlIG5pbWVraXJpJywnTXV1dHVqYWQnLCdTdGFhdHVzJywnJXMgdmVyc2lvb246ICVzLCBrYXN1dGF0dWQgUEhQIG1vb2R1bDogJXMnLCdTaXNzZSBsb2dpdHVkOiAlcycsJ1TDpGhldGFiZWwnLCdUYWJlbGlkJywnS3VzdHV0YScsJ1V1ZW5kYScsJ1N0cnVrdHV1cicsJ1NvYmltYXR1IHNrZWVtYS4nLCdTaXNzZWthbmRlZCBwdXVkdXZhZC4nLCclLjNmIHMnLCdWw7XDtXJ2w7V0bWVkIChmb3JlaWduIGtleSknLCd0w6RoZXRhYmVsJywnT04gREVMRVRFJywnVmVlcnUgbmltaScsJ1BhcmFtZWV0cmkgbmltaScsJ1TDvMO8cCcsJ1Bpa2t1cycsJ1ZhbGlrdWQnLCdBdXRvbWFhdHNlbHQgc3V1cmVuZXYnLCdWYWlraW1pc2kgdsOkw6RydHVzZWQnLCdLb21tZW50YWFyJywnTGlzYSBqw6RyZ21pbmUnLCdMaWlndXRhIMO8bGVzcG9vbGUnLCdMaWlndXRhIGFsbGFwb29sZScsJ0VlbWFsZGEnLCdWYWF0YScsJ1RhYmVsJywnVmVlcmcnLCdJbmRla3NpZCcsJ011dWRhIGluZGVrc2VpZCcsJ0FsbGlrYXMnLCdTaWh0a29odCcsJ09OIFVQREFURScsJ011dWRhJywnTGlzYSB2w7XDtXJ2w7V0aScsJ1DDpMOkc3Rpa3VkICh0cmlnZ2VyKScsJ0xpc2EgcMOkw6RzdGlrIChUUklHR0VSKScsJ1DDvHNpbGluaycsJ0Vrc3BvcmRpJywnVsOkbGp1bmQnLCdGb3JtYWF0JywnUHJvdHNlZHV1cmlkJywnU8O8bmRtdXNlZCAoRVZFTlRTKScsJ0FuZG1lZCcsJ211dWRhJywnTG9vIHV1cyBrYXN1dGFqYScsJ1DDpHJpbmd1cyBlc2luZXMgdmlnYScsJyVkIHJpZGEnLCdQw6RyaW5nIMO1bm5lc3R1cywgbcO1anV0YXRhdHVkIHJpZHU6ICVkLicsJ0vDpHNrIHB1dWR1Yi4nLGFycmF5KCclZCBww6RyaW5nIGVkdWthbHQga8OkaXZpdGF0dWQuJywnJWQgcMOkcmluZ3V0IGVkdWthbHQga8OkaXZpdGF0dWQuJyksJ0ZhaWxpIMO8bGVzbGFhZGltaW5lJywnRmFpbGlkZSDDvGxlc2xhYWRpbWluZSBvbiBrZWVsYXR1ZC4nLCdLw6Rpdml0YScsJ1BlYXR1ZGEgdmVhIGVzaW5lbWlzZWwnLCdLdXZhIHZhaWQgdmVhdGVhdGVpZCcsJ1NlcnZlcmlzdCcsJ0ZhaWwgc2VydmVyaXM6ICVzJywnS8OkaXZpdGEgZmFpbCcsJ0FqYWx1Z3UnLCdQdWhhc3RhJywnTXV1ZGEga8O1aWtpJywnS3VzdHV0YW1pbmUgw7VubmVzdHVzLicsJ1V1ZW5kYW1pbmUgw7VubmVzdHVzLicsJ0tpcmplJXMgb24gZWR1a2FsdCBsaXNhdHVkLicsJ1Npc2VzdGEnLCdTYWx2ZXN0YScsJ1NhbHZlc3RhIGphIGrDpHRrYSBtdXV0bWlzdCcsJ1NhbHZlc3RhIGphIGxpc2EgasOkcmdtaW5lJywnS3VzdHV0YScsJ1RhYmVsIG9uIGVkdWthbHQga3VzdHV0YXR1ZC4nLCdUYWJlbGkgYW5kbWVkIG9uIGVkdWthbHQgbXV1ZGV0dWQuJywnVGFiZWwgb24gZWR1a2FsdCBsb29kdWQuJywnTG9vIHV1cyB0YWJlbCcsJ01ha3NpbWFhbG5lIHbDpGxqYWRlIGFydiDDvGxldGF0dWQuIFBhbHVuIHN1dXJlbmRhZ2UgJXMgamEgJXMuJywnVGFiZWxpIG5pbWknLCdhbmRtZWJhYXNpbW9vdG9yJywnUGFydGl0c2lvb25pJywnUGFydGl0c2lvb25pZCcsJ1BhcnRpdHNpb29uaSBuaW1pJywnVsOkw6RydHVzZWQnLCdJbmRla3NpdGUgYW5kbWVkIG9uIGVkdWthbHQgdXVlbmRhdHVkLicsJ0luZGVrc2kgdMO8w7xwJywnVmVlcmcgKHBpa2t1cyknLCdOaW1pJywnQW5kbWViYWFzIG9uIGVkdWthbHQga3VzdHV0YXR1ZC4nLCdBbmRtZWJhYXMgb24gZWR1a2FsdCDDvG1iZXIgbmltZXRhdHVkLicsJ0FuZG1lYmFhcyBvbiBlZHVrYWx0IGxvb2R1ZC4nLCdBbmRtZWJhYXNpIHN0cnVrdHV1cmkgdXVlbmRhbWluZSDDtW5uZXN0dXMuJywnTG9vIHV1cyBhbmRtZWJhYXMnLCdTdHJ1a3R1dXIgb24gZWR1a2FsdCBrdXN0dXRhdHVkLicsJ1N0cnVrdHV1ciBvbiBlZHVrYWx0IGxvb2R1ZC4nLCdTdHJ1a3R1dXIgb24gZWR1a2FsdCBtdXVkZXR1ZC4nLCdLw6Rpdml0YScsJ1Byb3RzZWR1dXIgdMOkaWRldGkgZWR1a2FsdCwgbcO1anV0YXR1ZCByaWR1OiAlZC4nLCdWw7XDtXJ2w7V0aSBvbiBlZHVrYWx0IGt1c3R1dGF0dWQuJywnVsO1w7VydsO1dG1lIGFuZG1lZCBvbiBlZHVrYWx0IG11dWRldHVkLicsJ1bDtcO1cnbDtXJpIG9uIGVkdWthbHQgbG9vZHVkLicsJ0zDpGh0ZS0gamEgc2lodHZlZXJ1ZCBwZWF2YWQgZWtzaXN0ZWVyaW1hIGphIG9tYW1hIHNhbWEgYW5kbWV0w7zDvHBpLCBzaWh0dmVlcmd1ZGVsIHBlYWIgb2xlbWEgbcOkw6RyYXR1ZCBpbmRla3MgbmluZyB2aWlkYXR1ZCBhbmRtZWQgcGVhdmFkIGVrc2lzdGVlcmltYS4nLCdWw7XDtXJ2w7V0aScsJ1NpaHQtdGFiZWwnLCdNdXVkYScsJ0xpc2EgdmVlcmcnLCdWYWFkZSAoVklFVykgb24gZWR1a2FsdCBrdXN0dXRhdHVkLicsJ1ZhYWRlIChWSUVXKSBvbiBlZHVrYWx0IG11dWRldHVkLicsJ1ZhYWRlIChWSUVXKSBvbiBlZHVrYWx0IGxvb2R1ZC4nLCdMb28gdXVzIHZhYWRlIChWSUVXKScsJ1PDvG5kbXVzIG9uIGVkdWthbHQga3VzdHV0YXR1ZC4nLCdTw7xuZG11c2UgYW5kbWVkIG9uIGVkdWthbHQgdXVlbmRhdHVkLicsJ1PDvG5kbXVzIG9uIGVkdWthbHQgbG9vZHVkLicsJ011dWRhIHPDvG5kbXVzZSBhbmRtZWlkJywnTG9vIHV1cyBzw7xuZG11cyAoRVZFTlQpJywnQWx1c3RhJywnTMO1cGV0YScsJ0lnYScsJ0zDtXBldGFtaXNlbCBqw6R0YSBzw7xuZG11cyBhbGxlcycsJ1Byb3RzZWR1dXIgb24gZWR1a2FsdCBrdXN0dXRhdHVkLicsJ1Byb3RzZWR1dXJpIGFuZG1lZCBvbiBlZHVrYWx0IG11dWRldHVkLicsJ1Byb3RzZWR1dXIgb24gZWR1a2FsdCBsb29kdWQuJywnTXV1ZGEgZnVua3RzaW9vbmknLCdNdXVkYSBwcm90c2VkdXVyaScsJ0xvbyB1dXMgZnVua3RzaW9vbicsJ0xvbyB1dXMgcHJvdHNlZHV1cicsJ1RhZ2FzdHVzdMO8w7xwJywnSmFkYSBvbiBlZHVrYWx0IGt1c3R1dGF0dWQuJywnSmFkYSBvbiBlZHVrYWx0IGxvb2R1ZC4nLCdKYWRhIG9uIGVkdWthbHQgbXV1ZGV0dWQuJywnTXV1ZGEgamFkYScsJ0xvbyBqYWRhJywnVMO8w7xwIG9uIGVkdWthbHQga3VzdHV0YXR1ZC4nLCdUw7zDvHAgb24gZWR1a2FsdCBsb29kdWQuJywnTXV1ZGEgdMO8w7xwaScsJ0xvbyB0w7zDvHAnLCdQw6TDpHN0aWsgb24gZWR1a2FsdCBrdXN0dXRhdHVkLicsJ1DDpMOkc3Rpa3UgYW5kbWVkIG9uIGVkdWthbHQgdXVlbmRhdHVkLicsJ1V1cyBww6TDpHN0aWsgb24gZWR1a2FsdCBsb29kdWQuJywnTXV1ZGEgcMOkw6RzdGlrdSBhbmRtZWlkJywnTG9vIHV1cyBww6TDpHN0aWsgKFRSSUdHRVIpJywnQWVnJywnU8O8bmRtdXMnLCdLYXN1dGFqYSBvbiBlZHVrYWx0IGt1c3R1dGF0dWQuJywnS2FzdXRhamEgYW5kbWVkIG9uIGVkdWthbHQgbXV1ZGV0dWQuJywnS2FzdXRhamEgb24gZWR1a2FsdCBsaXNhdHVkLicsJ0jDpHNoaXR1ZCAoSGFzaGVkKScsJ1Byb3RzZWR1dXInLCdBbm5hJywnRWVtYWxkYScsYXJyYXkoJ1Byb3RzZXNzIG9uIGVkdWthbHQgcGVhdGF0dWQgKCVkKS4nLCdWYWxpdHVkIHByb3RzZXNzaWQgKCVkKSBvbiBlZHVrYWx0IHBlYXRhdHVkLicpLCdLb2trdTogJWQnLCdQZWF0YScsJ03DtWp1dGF0dWQga2lyamVpZDogJWQuJywnVsOkw6RydHVzZSBtdXV0bWlzZWtzIHRvcGVsdC1rbGlraSBzZWxsZWwuJywnSW1wb3JkaXRpICVkIHJpZGEuJywnVGFiZWxpIHZhbGltaW5lIGViYcO1bm5lc3R1cycsJ1Nlb3NlZCcsJ1bDpMOkcnR1c2UgbXV1dG1pc2VrcyBrYXN1dGEgbXV1dG1pc2xpbmtpLicsJ0xlaGVrw7xsZycsJ3ZpaW1hbmUnLCdUw6RpZWxpa3VkIHR1bGVtdXNlZCcsJ0tsb29uJywnSW1wb3JkaScsJywnLCdWYWxpZHVkIHRhYmVsaWQgb24gZWR1a2FsdCB0w7xoamVuZGF0dWQuJywnVmFsaXR1ZCB0YWJlbGlkIG9uIGVkdWthbHQgbGlpZ3V0YXR1ZC4nLCdUYWJlbGlkIG9uIGVkdWthbHQga29wZWVyaXR1ZC4nLCdWYWxpdHVkIHRhYmVsaWQgb24gZWR1a2FsdCBrdXN0dXRhdHVkLicsJ1RhYmVsaWQgamEgdmFhdGVkJywnT3RzaSBrb2d1IGFuZG1lYmFhc2lzdCcsJ0ltcGxlbWVudGF0c2lvb24nLCdBbmRtZXRlIHBpa2t1cycsJ0luZGVrc2kgcGlra3VzJywnVmFiYSBydXVtaScsJ1JpZHUnLCdBbmFsw7zDvHNpJywnT3B0aW1lZXJpJywnS29udHJvbGxpJywnUGFyYW5kYScsJ1TDvGhqZW5kYScsJ0xpaWd1dGEgdGVpc2UgYW5kbWViYWFzaScsJ0xpaWd1dGEnLCdLb3BlZXJpJywnSmFkYWQgKHNlcXVlbmNlcyknLCdBamFrYXZhJywnQW50dWQgYWphaGV0a2VsJywnSEg6TU06U1MnKTticmVhaztjYXNlImh1IjokVz1hcnJheSgnQml6dG9zIGJlbm5lPycsJ05lbSB0dWRvbSBmZWx0w7ZsdGVuaSBhIGbDoWpsdC4nLCdBIG1heGltw6FsaXMgZsOhamxtw6lyZXQgJXMgQi4nLCdBIGbDoWpsIG5lbSBsw6l0ZXppay4nLCfDvHJlcycsJ2VyZWRldGknLCdOaW5jcyB0w6FibGEuJywnTnllbHYnLCdIYXN6bsOhbCcsJ0hhc3puw6FsamEgYSh6KSAlcyBraXRlcmplc3p0w6lzdC4nLCdBIGbDoWpsIGzDqXRlemlrLicsJ0ZlbGhhc3puw6Fsw7NpIHTDrXB1cycsJ1N6w6FtJywnRMOhdHVtIMOpcyBpZMWRJywnU3rDtnZlZycsJ0JpbsOhcmlzJywnSMOhbMOzemF0JywnR2VvbWV0cmlhJywnTGlzdGEnLCdBZGF0YsOhemlzJywnU3plcnZlcicsJ0ZlbGhhc3puw6Fsw7MnLCdKZWxzesOzJywnQmVsw6lww6lzJywnRW1sw6lrZXp6IHLDoW0nLCdUYXJ0YWxvbScsJ1N0cnVrdMO6cmEnLCdOw6l6ZXQgbcOzZG9zw610w6FzYScsJ1TDoWJsYSBtw7Nkb3PDrXTDoXNhJywnw5pqIHTDqXRlbCcsJ1V0b2xzw7Mgb2xkYWwnLCdTemVya2VzenQnLGFycmF5KCclZCBiw6FqdCcsJyVkIGLDoWp0JywnJWQgYsOhanQnKSwnS2l2w6FsYXN6dMOhcycsJ0Z1bmtjacOzaycsJ0FnZ3JlZ8OhbMOhcycsJ0tlcmVzw6lzJywnYsOhcmhvbCcsJ1NvcmJhIHJlbmRlesOpcycsJ2Nzw7Zra2VuxZEnLCdrb3Jsw6F0JywnU3rDtnZlZyBob3NzeicsJ03FsXZlbGV0JywnU1FMIHBhcmFuY3MnLCdtZWdueWl0JywnbWVudCcsJ0FkYXRiw6F6aXMgbcOzZG9zw610w6FzYScsJ1PDqW1hIG3Ds2Rvc8OtdMOhc2EnLCdTw6ltYSBsw6l0cmVob3rDoXNhJywnQWRhdGLDoXppcyBzw6ltYScsJ1ByaXZpbMOpZ2l1bW9rJywnRXhwb3J0w6Fsw6FzJywnS2lsw6lww6lzJywnYWRhdGLDoXppcycsJ3PDqW1hJywnw5pqIHTDoWJsYScsJ2tpdsOhbGFzenTDoXMnLCdsdHInLCfDmmpyYWvDvGxkaSBhIFBPU1QgYWRhdG9rYXQ/Jywnw4lydsOpbnl0ZWxlbiBDU1JGIGF6b25vc8OtdMOzLiBLw7xsZGQgw7pqcmEgYXogxbFybGFwb3QuJywnU2lrZXJlcyBraWzDqXDDqXMuJywnQSBtdW5rYW1lbmV0ZWtuZWsgKHNlc3Npb24pIGVuZ2Vkw6lseWV6dmUga2VsbCBsZW5uaWUuJywnTXVua2FtZW5ldCBsZWrDoXJ0LCBqZWxlbnRrZXp6IGJlIMO6anJhLicsJ8OJcnbDqW55dGVsZW4gYWRhdG9rLicsJ05pbmNzIGtpdGVyamVzenTDqXMnLCdOaW5jcyBlZ3kgZWzDqXJoZXTFkSB0w6Ftb2dhdG90dCBQSFAga2l0ZXJqZXN6dMOpcyAoJXMpIHNlbS4nLCdUw7psIHNvayBhIFBPU1QgYWRhdCEgQ3PDtmtrZW50c2QgYXogYWRhdCBtw6lyZXTDqXQsIHZhZ3kgbsO2dmVsZCBhICVzIGJlw6FsbMOtdMOhc3QuJywnQWRhdGLDoXppcycsJ8OJcnbDqW55dGVsZW4gYWRhdGLDoXppcy4nLCdBZGF0YsOhemlzIGVsZG9idmEuJywnQWRhdGLDoXppcyBraXbDoWxhc3p0w6FzYScsJ8OaaiBhZGF0YsOhemlzJywnRm9seWFtYXRvaycsJ1bDoWx0b3rDs2snLCfDgWxsYXBvdCcsJyVzIHZlcnppw7M6ICVzLCBQSFA6ICVzJywnQmVsw6lwdmU6ICVzJywnRWd5YmV2ZXTDqXMnLCdUw6FibMOhaycsJ0VsZG9iJywnRnJpc3PDrXTDqXMnLCdTw6ltYScsJ8OJcnbDqW55dGVsZW4gc8OpbWEuJywnTmluY3MgbWVnamVsZW7DrXRoZXTFkSBlcmVkbcOpbnkuJywnJS4zZiBtw6Fzb2RwZXJjJywnSWRlZ2VuIGt1bGNzJywnZWd5YmV2ZXTDqXMnLCd0w7ZybMOpc2tvcicsJ09zemxvcCBuZXZlJywnUGFyYW3DqXRlciBuZXZlJywnVMOtcHVzJywnSG9zc3onLCdPcGNpw7NrJywnQXV0b21hdGlrdXMgbsO2dmVsw6lzJywnQWxhcMOpcnRlbG1lemV0dCDDqXJ0w6lrZWsnLCdNZWdqZWd5esOpcycsJ0vDtnZldGtlesWRIGhvenrDoWFkw6FzYScsJ0ZlbGZlbMOpJywnTGVmZWzDqScsJ0VsdMOhdm9sw610w6FzJywnTsOpemV0JywnVMOhYmxhJywnT3N6bG9wJywnSW5kZXhlaycsJ0luZGV4IG3Ds2Rvc8OtdMOhc2EnLCdGb3Jyw6FzJywnQ8OpbCcsJ2ZyaXNzw610w6lza29yJywnTcOzZG9zw610w6FzJywnSWRlZ2VuIGt1bGNzIGhvenphZMOhc2EnLCdUcmlnZ2VyJywnVHJpZ2dlciBob3p6w6FhZMOhc2EnLCdIaXZhdGtvesOhcycsJ0V4cG9ydCcsJ0tpbWVuZXQnLCdGb3Jtw6F0dW0nLCdSdXRpbm9rJywnRXNlbcOpbnknLCdBZGF0Jywnc3plcmtlc3p0JywnRmVsaGFzem7DoWzDsyBob3p6w6FhZMOhc2EnLCdIaWJhIGEgbGVrw6lyZGV6w6lzYmVuJyxhcnJheSgnJWQgc29yJywnJWQgc29yJywnJWQgc29yJyksYXJyYXkoJ0xla8OpcmRlesOpcyBzaWtlcmVzZW4gdsOpZ3JlaGFqdHZhLCAlZCBzb3Igw6lyaW50ZXR0LicsJ0xla8OpcmRlesOpcyBzaWtlcmVzZW4gdsOpZ3JlaGFqdHZhLCAlZCBzb3Igw6lyaW50ZXR0LicsJ0xla8OpcmRlesOpcyBzaWtlcmVzZW4gdsOpZ3JlaGFqdHZhLCAlZCBzb3Igw6lyaW50ZXR0LicpLCdOaW5jcyB2w6lncmVoYWp0aGF0w7MgcGFyYW5jcy4nLCclZCBzaWtlcmVzIGxla8OpcmRlesOpcy4nLCdGw6FqbCBmZWx0w7ZsdMOpc2UnLCdBIGbDoWpsIGZlbHTDtmx0w6lzIGxlIHZhbiB0aWx0dmEuJywnVsOpZ3JlaGFqdCcsJ0hpYmEgZXNldMOpbiBtZWfDoWxsJywnQ3NhayBhIGhpYsOhayBtdXRhdMOhc2EnLCdTemVydmVycsWRbCcsJ1dlYnN6ZXJ2ZXIgZsOhamwgJXMnLCdGw6FqbCBmdXR0YXTDoXNhJywnVMO2cnTDqW5ldCcsJ1TDtnJsw6lzJywnw5Zzc3plcyBzemVya2VzenTDqXNlJywnQSB0w6l0ZWwgdMO2csO2bHZlLicsJ0EgdMOpdGVsIGZyaXNzw610dmUuJywnJXMgdMOpdGVsIGJlc3rDunJ2YS4nLCdCZXN6w7pyJywnTWVudMOpcycsJ01lbnTDqXMgw6lzIHN6ZXJrZXN6dMOpcyBmb2x5dGF0w6FzYScsJ01lbnTDqXMgw6lzIMO6amF0IGJlc3rDunInLCdUw7ZybMOpcycsJ0EgdMOhYmxhIGVsZG9idmEuJywnQSB0w6FibGEgbcOzZG9zdWx0LicsJ0EgdMOhYmxhIGzDqXRyZWrDtnR0LicsJ1TDoWJsYSBsw6l0cmVob3rDoXNhJywnQSBtYXhpbcOhbGlzIG1lesWRc3rDoW1vdCBlbMOpcnRlZC4gTsO2dmVsZCBtZWcgZXpla2V0OiAlcywgJXMuJywnVMOhYmxhIG7DqXYnLCdtb3RvcicsJ1BhcnRpY2lvbsOhbMOhcyBlenplbCcsJ1BhcnRpY2nDs2snLCdQYXJ0aWNpw7MgbmV2ZScsJ8OJcnTDqWtlaycsJ0F6IGluZGV4ZWsgbWVndsOhbHRvenRhay4nLCdJbmRleCB0w61wdXNhJywnT3N6b3AgKG3DqXJldCknLCdOw6l2JywnQXogYWRhdGLDoXppcyBlbGRvYnZhLicsJ0F6IGFkYWR0YsOhemlzIMOhdG5ldmV6dmUuJywnQXogYWRhdGLDoXppcyBsw6l0cmVqw7Z0dC4nLCdBeiBhZGF0YsOhemlzIG3Ds2Rvc3VsdC4nLCdBZGF0YsOhemlzIGzDqXRyZWhvesOhc2EnLCdTw6ltYSBlbGRvYnZhLicsJ1PDqW1hIGzDqXRyZWrDtnR0LicsJ1PDqW1hIG3Ds2Rvc3VsdC4nLCdNZWdow612JyxhcnJheSgnUnV0aW4gbWVnaMOtdnZhLCAlZCBzb3Igw6lyaW50ZXR0LicsJ1J1dGluIG1lZ2jDrXZ2YSwgJWQgc29yIMOpcmludGV0dC4nLCdSdXRpbiBtZWdow612dmEsICVkIHNvciDDqXJpbnRldHQuJyksJ0lkZWdlbiBrdWxjcyBlbGRvYnZhLicsJ0lkZWdlbiBrdWxjcyBtw7Nkb3N1bHQuJywnSWRlZ2VuIGt1bGNzIGzDqXRyZWrDtnR0LicsJ0EgZm9ycsOhcyDDqXMgY8OpbCBvc3psb3Bva25hayBhem9ub3MgdMOtcHVzw7phayBsZWd5ZW5laywgYSBjw6lsIG9zemxvcG9rIGluZGV4ZWx0ZWsgbGVneWVuZWssIMOpcyBhIGhpdmF0a296b3R0IGFkYXRuYWsgbMOpdGV6bmllIGtlbGwuJywnSWRlZ2VuIGt1bGNzJywnQ8OpbCB0w6FibGEnLCdWw6FsdG96dGF0JywnT3N6bG9wIGhvenrDoWFkw6FzYScsJ0EgbsOpemV0IGVsZG9idmEuJywnQSBuw6l6ZXQgbcOzZG9zdWx0LicsJ0EgbsOpemV0IGzDqXRyZWrDtnR0LicsJ07DqXpldCBsw6l0cmVob3rDoXNhJywnQXogZXNlbcOpbnkgZWxkb2J2YS4nLCdBeiBlc2Vtw6lueSBtw7Nkb3N1bHQuJywnQXogZXNlbcOpbnkgbMOpdHJlasO2dHQuJywnRXNlbcOpbnkgbcOzZG9zw610w6FzYScsJ0VzZW3DqW55IGzDqXRyZWhvesOhc2EnLCdLZXpkJywnVsOpZ2UnLCdNaW5kZW4nLCdCZWZlamV6w6lza29yIG1lZ8WRcnppJywnQSBydXRpbiBlbGRvYnZhLicsJ0EgcnV0aW4gbcOzZG9zdWx0LicsJ0EgcnV0aW4gbMOpdHJlasO2dHQuJywnRnVua2Npw7MgbcOzZG9zw610w6FzYScsJ0VsasOhcsOhcyBtw7Nkb3PDrXTDoXNhJywnRnVua2Npw7MgbMOpdHJlaG96w6FzYScsJ0VsasOhcsOhcyBsw6l0cmVob3rDoXNhJywnVmlzc3phdMOpcsOpc2kgw6lydMOpaycsJ1Nvcm96YXQgZWxkb2J2YS4nLCdTb3JvemF0IGzDqXRyZWrDtnR0LicsJ1Nvcm96YXQgbcOzZG9zdWx0LicsJ1Nvcm96YXQgbcOzZG9zw610w6FzYScsJ1Nvcm96YXQgbMOpdHJlaG96w6FzYScsJ1TDrXB1cyBlbGRvYnZhLicsJ1TDrXB1cyBsw6l0cmVob3p2YS4nLCdUw61wdXMgbcOzZG9zw610w6FzYScsJ1TDrXB1cyBsw6l0cmVob3rDoXNhJywnQSB0cmlnZ2VyIGVsZG9idmEuJywnQSB0cmlnZ2VyIG3Ds2Rvc3VsdC4nLCdBIHRyaWdnZXIgbMOpdHJlasO2dHQuJywnVHJpZ2dlciBtw7Nkb3PDrXTDoXNhJywnVHJpZ2dlciBsw6l0cmVob3rDoXNhJywnSWTFkScsJ0VzZW3DqW55JywnQSBmZWxoYXN6bsOhbMOzIGVsZG9idmEuJywnQSBmZWxoYXN6bsOhbMOzIG3Ds2Rvc3VsdC4nLCdBIGZlbGhhc3puw6Fsw7MgbMOpdHJlasO2dHQuJywnSGFzaGVkJywnUnV0aW4nLCdFbmdlZMOpbHllesOpcycsJ1Zpc3N6YXZvbsOhcycsYXJyYXkoJyVkIGZvbHlhbWF0IGxlw6FsbMOtdHZhLicsJyVkIGZvbHlhbWF0IGxlw6FsbMOtdHZhLicsJyVkIGZvbHlhbWF0IGxlw6FsbMOtdHZhLicpLCfDtnNzemVzZW4gJWQnLCdMZcOhbGzDrXQnLGFycmF5KCclZCB0w6l0ZWwgw6lyaW50ZXR0LicsJyVkIHTDqXRlbCDDqXJpbnRldHQuJywnJWQgdMOpdGVsIMOpcmludGV0dC4nKSwnS2F0dGludHMga8OpdHN6ZXIgYXogw6lydMOpa3JlIGEgc3plcmtlc3p0w6lzaGV6LicsYXJyYXkoJyVkIHNvciBpbXBvcnTDoWx2YS4nLCclZCBzb3IgaW1wb3J0w6FsdmEuJywnJWQgc29yIGltcG9ydMOhbHZhLicpLCdOZW0gdHVkb20ga2l2w6FsYXN6dGFuaSBhIHTDoWJsw6F0JywnUmVsw6FjacOzJywnSGFzem7DoWxkIGEgc3plcmtlc3p0w6lzIGhpdmF0a296w6FzdCBlemVuIMOpcnTDqWsgbcOzZG9zw610w6Fzw6Fob3ouJywnb2xkYWwnLCd1dG9sc8OzJywnw7Zzc3plcyBlcmVkbcOpbnl0IG11dGF0w6FzYScsJ0tsw7Nub3onLCdJbXBvcnTDoWzDoXMnLCcgJywnQSB0w6FibGEgZmVsc3phYmFkw610dmEuJywnVMOhYmzDoWsgw6F0aGVseWV6dmUuJywnVMOhYmzDoWsgw6F0bcOhc29sdmEuJywnVMOhYmzDoWsgZWxkb2J2YS4nLCdUw6FibMOhayDDqXMgbsOpemV0ZWsnLCdLZXJlc8OpcyBhIHTDoWJsw6FrYmFuJywnTW90b3InLCdNw6lyZXQnLCdJbmRleCBob3NzeicsJ0FkYXQgc3phYmFkJywnT3N6bG9wJywnRWxlbXrDqXMnLCdPcHRpbWFsaXrDoWwnLCdFbGxlbsWRcnrDqXMnLCdKYXbDrXQnLCdGZWxzemFiYWTDrXQnLCfDgXRoZWx5ZXrDqXMgbcOhc2lrIGFkYXRiw6F6aXNiYScsJ8OBdGhlbHlleicsJ03DoXNvbMOhcycsJ1Nvcm96YXRvaycsJ8OcdGVtesOpcycsJ01lZ2Fkb3R0IGlkxZFiZW4nLCfDs8OzOnBwOm1tJyk7YnJlYWs7Y2FzZSJwbCI6JFc9YXJyYXkoJ0N6eSBqZXN0ZcWbIHBld2llbj8nLCdXZ3JhbmllIHBsaWt1IGJ5xYJvIG5pZW1vxbxsaXdlLicsJ01ha3N5bWFsbmEgd2llbGtvxZvEhyBwbGlrdSB0byAlc0IuJywnUGxpayBuaWUgaXN0bmllamUuJywncHVzdGUnLCdiZXogem1pYW4nLCdCcmFrIHRhYmVsLicsJ0rEmXp5aycsJ1d5YmllcnonLCdQcm9zesSZIHXFvHnEhyBqZWRuZWdvIHogcm96c3plcnplxYQ6ICVzLicsJ1BsaWsganXFvCBpc3RuaWVqZS4nLCdUeXB5IHXFvHl0a293bmlrYScsJ051bWVyeWN6bmUnLCdEYXRhIGkgY3phcycsJ1Rla3N0b3dlJywnQmluYXJuZScsJ1NpZcSHJywnR2VvbWV0cmlhJywnTGlzdHknLCdSb2R6YWogYmF6eScsJ1NlcndlcicsJ1XFvHl0a293bmlrJywnSGFzxYJvJywnWmFsb2d1aiBzacSZJywnWmFwYW1pxJl0YWogc2VzasSZJywnUG9rYcW8IGRhbmUnLCdTdHJ1a3R1cmEgdGFiZWxpJywnWm1pZcWEIHBlcnNwZWt0eXfEmScsJ1ptaWXFhCB0YWJlbMSZJywnTm93eSByZWtvcmQnLCdPc3RhdG5pYSBzdHJvbmEnLCdFZHl0dWonLGFycmF5KCclZCBiYWp0JywnJWQgYmFqdHknLCclZCBiYWp0w7N3JyksJ3Bva2HFvCcsJ0Z1bmtjamUnLCdBZ3JlZ2FjamUnLCdTenVrYWonLCdnZHppZWtvbHdpZWsnLCdTb3J0dWonLCdtYWxlasSFY28nLCdMaW1pdCcsJ0TFgnVnb8WbxIcgdGVrc3R1JywnQ3p5bm5vxZvEhycsJ1phcHl0YW5pZSBTUUwnLCdvdHfDs3J6JywnemFwaXN6JywnWm1pZcWEIGJhesSZIGRhbnljaCcsJ1ptaWXFhCBzY2hlbWF0JywnVXR3w7NyeiBzY2hlbWF0JywnU2NoZW1hdCBiYXp5IGRhbnljaCcsJ1VwcmF3bmllbmlhIHXFvHl0a293bmlrw7N3JywnRWtzcG9ydCcsJ1d5bG9ndWonLCdiYXphIGRhbnljaCcsJ3NjaGVtYXQnLCdVdHfDs3J6IG5vd8SFIHRhYmVsxJknLCdwcnplZ2zEhWRhaicsJ2x0cicsJ1d5c8WCYcSHIGRhbmUgcG9ub3duaWU/JywnTmllcHJhd2lkxYJvd3kgdG9rZW4gQ1NSRi4gU3Byw7NidWogd3lzxYJhxIcgZm9ybXVsYXJ6IHBvbm93bmllLicsJ1d5bG9nb3dhbm8gcG9tecWbbG5pZS4nLCdXeW1hZ2FuYSBqZXN0IG9ic8WCdWdhIHNlc2ppIHcgUEhQLicsJ1Nlc2phIHd5Z2FzxYJhLCB6YWxvZ3VqIHNpxJkgcG9ub3duaWUuJywnTmllcHJhd2lkxYJvd2UgZGFuZSBsb2dvd2FuaWEuJywnQnJhayByb3pzemVyemVuaWEnLCfFu2FkbmUgeiByb3pzemVyemXFhCBQSFAgdW1vxbxsaXdpYWrEhWN5Y2ggcG/FgsSFY3plbmllIHNpxJkgeiBiYXrEhSBkYW55Y2ggKCVzKSBuaWUgamVzdCBkb3N0xJlwbmUuJywnUHJ6ZXPFgmFubyB6Ynl0IGR1xbxvIGRhbnljaC4gWm1uaWVqc3ogb2JqxJl0b8WbxIcgZGFueWNoIGx1YiB6d2nEmWtzeiB6bWllbm7EhSBrb25maWd1cmFjeWpuxIUgJXMuJywnQmF6YSBkYW55Y2gnLCdOaWUgem5hbGV6aW9ubyBiYXp5IGRhbnljaC4nLCdCYXp5IGRhbnljaCB6b3N0YcWCeSB1c3VuacSZdGUuJywnV3liaWVyeiBiYXrEmSBkYW55Y2gnLCdVdHfDs3J6IG5vd8SFIGJhesSZIGRhbnljaCcsJ0xpc3RhIHByb2Nlc8OzdycsJ1ptaWVubmUnLCdTdGF0dXMnLCdXZXJzamEgJXM6ICVzIHphIHBvbW9jxIUgJXMnLCdaYWxvZ293YW55IGpha286ICVzJywnUG9yw7N3bnl3YW5pZSB6bmFrw7N3JywnVGFiZWxlJywnVXN1xYQnLCdPZMWbd2llxbwnLCdTY2hlbWF0JywnTmllcHJhd2lkxYJvd3kgc2NoZW1hdC4nLCdCcmFrIHJla29yZMOzdy4nLCclLjNmIHMnLCdLbHVjemUgb2JjZScsJ3BvcsOzd255d2FuaWUgem5ha8OzdycsJ1cgcHJ6eXBhZGt1IHVzdW5pxJljaWEnLCdOYXp3YSBrb2x1bW55JywnTmF6d2EgcGFyYW1ldHJ1JywnVHlwJywnRMWCdWdvxZvEhycsJ09wY2plJywnQXV0byBJbmNyZW1lbnQnLCdXYXJ0b8WbY2kgZG9tecWbbG5lJywnS29tZW50YXJ6JywnRG9kYWogbmFzdMSZcG55JywnUHJ6ZXN1xYQgdyBnw7NyxJknLCdQcnplc3XFhCB3IGTDs8WCJywnVXN1xYQnLCdQZXJzcGVrdHl3YScsJ1RhYmVsYScsJ0tvbHVtbmEnLCdJbmRla3N5JywnWm1pZcWEIGluZGVrc3knLCfFuXLDs2TFgm8nLCdDZWwnLCdXIHByenlwYWRrdSB6bWlhbnknLCdabWllxYQnLCdEb2RhaiBrbHVjeiBvYmN5JywnV3l6d2FsYWN6ZScsJ0RvZGFqIHd5endhbGFjeicsJ1Ryd2HFgnkgbGluaycsJ0Vrc3BvcnQnLCdSZXp1bHRhdCcsJ0Zvcm1hdCcsJ1Byb2NlZHVyeSBpIGZ1bmtjamUnLCdXeWRhcnplbmlhJywnRGFuZScsJ2VkeXR1aicsJ0RvZGFqIHXFvHl0a293bmlrYScsJ0LFgsSFZCB3IHphcHl0YW5pdScsYXJyYXkoJyVkIHJla29yZCcsJyVkIHJla29yZHknLCclZCByZWtvcmTDs3cnKSxhcnJheSgnWmFweXRhbmllIHd5a29uYW5lIHBvbXnFm2xuaWUsIHptaWVuaW9ubyAlZCByZWtvcmQuJywnWmFweXRhbmllIHd5a29uYW5lIHBvbXnFm2xuaWUsIHptaWVuaW9ubyAlZCByZWtvcmR5LicsJ1phcHl0YW5pZSB3eWtvbmFuZSBwb215xZtsbmllLCB6bWllbmlvbm8gJWQgcmVrb3Jkw7N3LicpLCdOaWMgZG8gd3lrb25hbmlhLicsYXJyYXkoJ1BvbXnFm2xuaWUgd3lrb25hbm8gJWQgemFweXRhbmllLicsJ1BvbXnFm2xuaWUgd3lrb25hbm8gJWQgemFweXRhbmlhLicsJ1BvbXnFm2xuaWUgd3lrb25hbm8gJWQgemFweXRhxYQuJyksJ1dncmFuaWUgcGxpa3UnLCdXZ3J5d2FuaWUgcGxpa8OzdyBqZXN0IHd5xYLEhWN6b25lLicsJ1d5a29uYWonLCdaYXRyenltYWogdyBwcnp5cGFka3UgYsWCxJlkdScsJ1Bva2HFvCB0eWxrbyBixYLEmWR5JywnWiBzZXJ3ZXJhJywnUGxpayAlcyBuYSBzZXJ3ZXJ6ZScsJ1VydWNob20geiBwbGlrdScsJ0hpc3RvcmlhJywnV3ljennFm8SHJywnRWR5dHVqIHdzenlzdGtpZScsJ1Jla29yZCB6b3N0YcWCIHVzdW5pxJl0eS4nLCdSZWtvcmQgem9zdGHFgiB6YWt0dWFsaXpvd2FueS4nLCdSZWtvcmQlcyB6b3N0YcWCIGRvZGFueS4nLCdEb2RhaicsJ1phcGlzeiB6bWlhbnknLCdaYXBpc3ogaSBrb250eW51dWogZWR5Y2rEmScsJ1phcGlzeiBpIGRvZGFqIG5hc3TEmXBueScsJ1VzdcWEJywnVGFiZWxhIHpvc3RhxYJhIHVzdW5pxJl0YS4nLCdUYWJlbGEgem9zdGHFgmEgem1pZW5pb25hLicsJ1RhYmVsYSB6b3N0YcWCYSB1dHdvcnpvbmEuJywnVXR3w7NyeiB0YWJlbMSZJywnUHJ6ZWtyb2N6b25vIG1ha3N5bWFsbsSFIGxpY3pixJkgcMOzbC4gWndpxJlrc3ogJXMgaSAlcy4nLCdOYXp3YSB0YWJlbGknLCdza8WCYWRvd2FuaWUnLCdQYXJ0eWNqb25vd2FuaWUnLCdQYXJ0eWNqZScsJ05hendhIHBhcnR5Y2ppJywnV2FydG/Fm2NpJywnSW5kZWtzeSB6b3N0YcWCeSB6bWllbmlvbmUuJywnVHlwIGluZGVrc3UnLCdLb2x1bW5hIChkxYJ1Z2/Fm8SHKScsJ05hendhJywnQmF6YSBkYW55Y2ggem9zdGHFgmEgdXN1bmnEmXRhLicsJ05hendhIGJhenkgZGFueWNoIHpvc3RhxYJhIHptaWVuaW9uYS4nLCdCYXphIGRhbnljaCB6b3N0YcWCYSB1dHdvcnpvbmEuJywnQmF6YSBkYW55Y2ggem9zdGHFgmEgem1pZW5pb25hLicsJ1V0d8OzcnogYmF6xJkgZGFueWNoJywnU2NoZW1hdCB6b3N0YcWCIHVzdW5pxJl0eS4nLCdTY2hlbWF0IHpvc3RhxYIgdXR3b3J6b255LicsJ1NjaGVtYXQgem9zdGHFgiB6bWllbmlvbnkuJywnVXJ1Y2hvbScsYXJyYXkoJ1Byb2NlZHVyYSB6b3N0YcWCYSB1cnVjaG9taW9uYSwgem1pZW5pb25vICVkIHJla29yZC4nLCdQcm9jZWR1cmEgem9zdGHFgmEgdXJ1Y2hvbWlvbmEsIHptaWVuaW9ubyAlZCByZWtvcmR5LicsJ1Byb2NlZHVyYSB6b3N0YcWCYSB1cnVjaG9taW9uYSwgem1pZW5pb25vICVkIHJla29yZMOzdy4nKSwnS2x1Y3ogb2JjeSB6b3N0YcWCIHVzdW5pxJl0eS4nLCdLbHVjeiBvYmN5IHpvc3RhxYIgem1pZW5pb255LicsJ0tsdWN6IG9iY3kgem9zdGHFgiB1dHdvcnpvbnkuJywnxblyw7NkxYJvd2EgaSBkb2NlbG93YSBrb2x1bW5hIG11c3rEhSBiecSHIHRlZ28gc2FtZWdvIHR5cHUsIHBvd2luaWVuIGlzdG5pZcSHIGluZGVrcyBuYSBkb2NlbG93ZWoga29sdW1uaWUgb3JheiBtdXN6xIUgaXN0bmllxIcgZGFuZSByZWZlcmVuY3lqbmUuJywnS2x1Y3ogb2JjeScsJ1RhYmVsYSBkb2NlbG93YScsJ1ptaWXFhCcsJ0RvZGFqIGtvbHVtbsSZJywnUGVyc3Bla3R5d2Egem9zdGHFgmEgdXN1bmnEmXRhLicsJ1BlcnNwZWt0eXdhIHpvc3RhxYJhIHptaWVuaW9uYS4nLCdQZXJzcGVrdHl3YSB6b3N0YcWCYSB1dHdvcnpvbmEuJywnVXR3w7NyeiBwZXJzcGVrdHl3xJknLCdXeWRhcnplbmllIHpvc3RhxYJvIHVzdW5pxJl0ZS4nLCdXeWRhcnplbmllIHpvc3RhxYJvIHptaWVuaW9uZS4nLCdXeWRhcnplbmllIHpvc3RhxYJvIHV0d29yem9uZS4nLCdabWllxYQgd3lkYXJ6ZW5pZScsJ1V0d8Ozcnogd3lkYXJ6ZW5pZScsJ1BvY3rEhXRlaycsJ0tvbmllYycsJ1d5a29udWogY28nLCdOaWUga2FzdWogd3lkYXJ6ZW5pYSBwbyBwcnpldGVybWlub3dhbml1JywnUHJvY2VkdXJhIHpvc3RhxYJhIHVzdW5pxJl0YS4nLCdQcm9jZWR1cmEgem9zdGHFgmEgem1pZW5pb25hLicsJ1Byb2NlZHVyYSB6b3N0YcWCYSB1dHdvcnpvbmEuJywnWm1pZcWEIGZ1bmtjasSZJywnWm1pZcWEIHByb2NlZHVyxJknLCdVdHfDs3J6IGZ1bmtjasSZJywnVXR3w7NyeiBwcm9jZWR1csSZJywnWndyYWNhbnkgdHlwJywnU2Vrd2VuY2phIHpvc3RhxYJhIHVzdW5pxJl0YS4nLCdTZWt3ZW5jamEgem9zdGHFgmEgdXR3b3J6b25hLicsJ1Nla3dlbmNqYSB6b3N0YcWCYSB6bWllbmlvbmEuJywnWm1pZcWEIHNla3dlbmNqxJknLCdVdHfDs3J6IHNla3dlbmNqxJknLCdUeXAgem9zdGHFgiB1c3VuacSZdHkuJywnVHlwIHpvc3RhxYIgdXR3b3J6b255LicsJ1ptaWXFhCB0eXAnLCdVdHfDs3J6IHR5cCcsJ1d5endhbGFjeiB6b3N0YcWCIHVzdW5pxJl0eS4nLCdXeXp3YWxhY3ogem9zdGHFgiB6bWllbmlvbnkuJywnV3l6d2FsYWN6IHpvc3RhxYIgdXR3b3J6b255LicsJ1ptaWXFhCB3eXp3YWxhY3onLCdVdHfDs3J6IHd5endhbGFjeicsJ0N6YXMnLCdXeWRhcnplbmllJywnVcW8eXRrb3duaWsgem9zdGHFgiB1c3VuacSZdHkuJywnVcW8eXRrb3duaWsgem9zdGHFgiB6bWllbmlvbnkuJywnVcW8eXRrb3duaWsgem9zdGHFgiBkb2RhbnkuJywnWmFoYXNob3dhbmUnLCdQcm9jZWR1cmEnLCdVcHJhd25pZW5pYScsJ1VzdcWEIHVwcmF3bmllbmlhJyxhcnJheSgnUHJ6ZXJ3YW5vICVkIHfEhXRlay4nLCdQcnplcndhbm8gJWQgd8SFdGtpLicsJ1ByemVyd2FubyAlZCB3xIV0a8Ozdy4nKSwnJWQgdyBzdW1pZScsJ1ByemVyd2lqIHd5a29ueXdhbmllJyxhcnJheSgnWm1pZW5pb25vICVkIHJla29yZC4nLCdabWllbmlvbm8gJWQgcmVrb3JkeS4nLCdabWllbmlvbm8gJWQgcmVrb3Jkw7N3LicpLCdLbGlrbmlqIHBvZHfDs2puaWUgd2FydG/Fm8SHLCBhYnkgasSFIGVkeXRvd2HEhy4nLGFycmF5KCclZCByZWtvcmQgem9zdGHFgiB6YWltcG9ydG93YW55LicsJyVkIHJla29yZHkgem9zdGHFgnkgemFpbXBvcnRvd2FuZS4nLCclZCByZWtvcmTDs3cgem9zdGHFgm8gemFpbXBvcnRvd2FueWNoLicpLCdOaWUgdWRhxYJvIHNpxJkgcG9icmHEhyBkYW55Y2ggeiB0YWJlbGknLCdSZWxhY2plJywnVcW8eWogbGlua3UgZWR5Y2ppIGFieSB6bWllbmnEhyB0xJkgd2FydG/Fm8SHLicsJ1N0cm9uYScsJ29zdGF0bmknLCd3eWJpZXJ6IHdzenlzdGtpZScsJ0R1cGxpa3VqJywnSW1wb3J0JywnICcsJ1RhYmVsZSB6b3N0YcWCeSBvcHLDs8W8bmlvbmUuJywnVGFiZWxlIHpvc3RhxYJ5IHByemVuaWVzaW9uZS4nLCdUYWJlbGUgem9zdGHFgnkgc2tvcGlvd2FuZS4nLCdUYWJlbGUgem9zdGHFgnkgdXN1bmnEmXRlLicsJ1RhYmVsZSBpIHBlcnNwZWt0eXd5JywnV3lzenVrYWogd2Ugd3N6eXN0a2ljaCB0YWJlbGFjaCcsJ1NrxYJhZG93YW5pZScsJ1Jvem1pYXIgZGFueWNoJywnUm96bWlhciBpbmRla3PDs3cnLCdXb2xuZSBtaWVqc2NlJywnTGljemJhIHJla29yZMOzdycsJ0FuYWxpenVqJywnT3B0eW1hbGl6dWonLCdTcHJhd2TFuicsJ05hcHJhdycsJ09wcsOzxbxuaWonLCdQcnplbmllxZsgZG8gaW5uZWogYmF6eSBkYW55Y2gnLCdQcnplbmllxZsnLCdLb3BpdWonLCdTZWt3ZW5jamUnLCdIYXJtb25vZ3JhbScsJ08gZGFueW0gY3phc2llJywndGVyYXonKTticmVhaztjYXNlImNhIjokVz1hcnJheSgnRXN0w6BzIHNlZ3VyPycsJ0ltcG9zc2libGUgYWRqdW50YXIgZWwgZml0eGVyLicsJ0xhIG1pZGEgbcOgeGltYSBwZXJtZXNhIGRlbCBmaXR4ZXIgw6lzIGRlICVzQi4nLCdFbCBmaXR4ZXIgbm8gZXhpc3RlaXguJywnYnVpdCcsJ29yaWdpbmFsJywnTm8gaGkgaGEgY2FwIHRhdWxhLicsJ0lkaW9tYScsJ1V0aWxpdHphJywnU2kgdXMgcGxhdSwgdXRpbGl0emEgdW5hIGRlIGxlcyBleHRlbnNpb25zICVzLicsJ0VsIGZpdHhlciBqYSBleGlzdGVpeC4nLCdUaXB1cyBkZSBsXCd1c3VhcmknLCdOb21icmVzJywnRGF0YSBpIGhvcmEnLCdDYWRlbmVzJywnQmluYXJpJywnWGFyeGEnLCdHZW9tZXRyaWEnLCdMbGlzdGVzJywnU2lzdGVtYScsJ1NlcnZpZG9yJywnTm9tIGRcJ3VzdWFyaScsJ0NvbnRyYXNlbnlhJywnSW5pY2lhIGxhIHNlc3Npw7MnLCdTZXNzacOzIHBlcm1hbmVudCcsJ1NlbGVjY2lvbmEgZGFkZXMnLCdNb3N0cmEgbFwnZXN0cnVjdHVyYScsJ01vZGlmaWNhIGxhIHZpc3RhJywnTW9kaWZpY2EgbGEgdGF1bGEnLCdOb3UgZWxlbWVudCcsJ0RhcnJlcmEgcGxhbmEnLCdFZGl0YScsYXJyYXkoJyVkIGJ5dGUnLCclZCBieXRlcycpLCdTZWxlY2Npb25hJywnRnVuY2lvbnMnLCdBZ3JlZ2FjacOzJywnQ2VyY2EnLCdhIHF1YWxzZXZvbCBsbG9jJywnT3JkZW5hJywnZGVzY2VuZGVudCcsJ0zDrW1pdCcsJ0xvbmdpdHVkIGRlbCB0ZXh0JywnQWNjacOzJywnT3JkcmUgU1FMJywnb2JyZScsJ2Rlc2EnLCdNb2RpZmljYSBsYSBiYXNlIGRlIGRhZGVzJywnTW9kaWZpY2EgbFwnZXNxdWVtYScsJ0NyZWEgdW4gZXNxdWVtYScsJ0VzcXVlbWEgZGUgbGEgYmFzZSBkZSBkYWRlcycsJ1ByaXZpbGVnaXMnLCdFeHBvcnRhJywnRGVzY29ubmVjdGEnLCdiYXNlIGRlIGRhZGVzJywnZXNxdWVtYScsJ0NyZWEgdW5hIG5vdmEgdGF1bGEnLCdyZWdpc3RyZXMnLCdsdHInLCdUb3JuYSBhIGVudmlhciBsZXMgZGFkZXMgUE9TVD8nLCdUb2tlbiBDU1JGIGludsOgbGlkLiBUb3JuYSBhIGVudmlhciBlbCBmb3JtdWxhcmkuJywnRGVzY29ubmV4acOzIGNvcnJlY3RhLicsJ0NhbCBxdWUgZXN0aWd1aSBwZXJtw6hzIGxcJ3VzIGRlIHNlc3Npb25zLicsJ0xhIHNlc3Npw7MgaGEgZXhwaXJhdCwgdG9ybmEgYSBpbmljaWFyLW5lIHVuYS4nLCdDcmVkZW5jaWFscyBpbnbDoGxpZHMuJywnQ2FwIGV4dGVuc2nDsycsJ05vIGhpIGhhIGNhcCBkZSBsZXMgZXh0ZW5zaW9ucyBQSFAgc29wb3JhdGFkZXMgKCVzKSBkaXNwb25pYmxlLicsJ0xlcyBkYWRlcyBQT1NUIHPDs24gbWFzc2EgZ3JhbnMuIFJlZHVlaXggbGVzIGRhZGVzIG8gaW5jcmVtZW50YSBsYSBkaXJlY3RpdmEgZGUgY29uZmlndXJhY2nDsyAlcy4nLCdCYXNlIGRlIGRhZGVzJywnQmFzZSBkZSBkYWRlcyBpbnbDoGxpZGEuJywnU1wnaGFuIHN1cHJpbWl0IGxlcyBiYXNlcyBkZSBkYWRlcy4nLCdTZWxlY2Npb25hIGJhc2UgZGUgZGFkZXMnLCdDcmVhIHVuYSBub3ZhIGJhc2UgZGUgZGFkZXMnLCdMbGlzdGEgZGUgcHJvY2Vzc29zJywnVmFyaWFibGVzJywnRXN0YXQnLCdWZXJzacOzICVzOiAlcyBhbWIgbFwnZXh0ZW5zacOzIGRlIFBIUCAlcycsJ0Nvbm5lY3RhdCBjb206ICVzJywnQ29tcGFnaW5hY2nDsycsJ1RhdWxlcycsJ1N1cHJpbWVpeCcsJ1JlZnJlc2NhJywnRXNxdWVtYScsJ0VzcXVlbWEgaW52w6BsaWQuJywnTm8gaGkgaGEgY2FwIHJlZ2lzdHJlLicsJyUuM2YgcycsJ0NsYXVzIGZvcmFuZXMnLCdjb21wYWdpbmFjacOzJywnT04gREVMRVRFJywnTm9tIGRlIGxhIGNvbHVtbmEnLCdOb20gZGVsIHBhcsOgbWV0cmUnLCdUaXB1cycsJ0xsYXJnYWRhJywnT3BjaW9ucycsJ0luY3JlbWVudCBhdXRvbcOgdGljJywnVmFsb3JzIHBlciBkZWZlY3RlJywnQ29tZW50YXJpJywnQWZlZ2VpeCBlbCBzZWfDvGVudCcsJ01vdSBhIGRhbHQnLCdNb3UgYSBiYWl4JywnU3VwcmltZWl4JywnVmlzdGEnLCdUYXVsYScsJ0NvbHVtbmEnLCfDjW5kZXhzJywnTW9kaWZpY2EgZWxzIMOtbmRleHMnLCdGb250JywnRGVzdMOtJywnT04gVVBEQVRFJywnTW9kaWZpY2EnLCdBZmVnZWl4IHVuYSBjbGF1IGZvcmFuYScsJ0FjdGl2YWRvcnMnLCdBZmVnZWl4IHVuIGFjdGl2YWRvcicsJ0VubGxhw6cgcGVybWFuZW50JywnRXhwb3J0YScsJ1NvcnRpZGEnLCdGb3JtYXQnLCdSdXRpbmVzJywnRXZlbnRzJywnRGFkZXMnLCdlZGl0YScsJ0NyZWEgdW4gdXN1YXJpJywnRXJyb3IgZW4gbGEgY29uc3VsdGEnLGFycmF5KCclZCByZWdpc3RyZScsJyVkIHJlZ2lzdHJlcycpLGFycmF5KCdDb25zdWx0YSBleGVjdXRhZGEgY29ycmVjdGFtZW50LCAlZCByZWdpc3RyZSBtb2RpZmljYXQuJywnQ29uc3VsdGEgZXhlY3V0YWRhIGNvcnJlY3RhbWVudCwgJWQgcmVnaXN0cmVzIG1vZGlmaWNhdHMuJyksJ0NhcCBjb21hbmRhIHBlciBleGVjdXRhci4nLGFycmF5KCclZCBjb25zdWx0YSBleGVjdXRhZGEgY29ycmVjdGFtZW50LicsJyVkIGNvbnN1bHRlcyBleGVjdXRhZGVzIGNvcnJlY3RhbWVudC4nKSwnQWRqdW50YSB1biBmaXR4ZXInLCdMXCdkZGp1bmNpw7MgZGUgZml0eGVycyBlc3TDoCBkZXNhY3RpdmFkYS4nLCdFeGVjdXRhJywnQXR1cmEgZW4gdHJvYmFyIHVuIGVycm9yJywnTW9zdHJhIG5vbcOpcyBlbHMgZXJyb3JzJywnRW4gZWwgc2Vydmlkb3InLCdGaXR4ZXIgJXMgZGVsIHNlcnZpZG9yIHdlYicsJ0V4ZWN1dGEgZWwgZml0eGVyJywnSGlzdMOycmlhJywnU3VwcmltZWl4JywnRWRpdGEtaG8gdG90JywnU1wnaGEgc3Vwcm1pdCBsXCdlbGVtZW50LicsJ1NcJ2hhIGFjdHVhbGl0emF0IGxcJ2VsZW1lbnQuJywnU1wnaGEgaW5zZXJ0YXQgbFwnZWxlbWVudCVzLicsJ0luc2VyZWl4JywnRGVzYScsJ0Rlc2EgaSBzZWd1ZWl4IGVkaXRhbnQnLCdEZXNhIGkgaW5zZXJlaXggZWwgc2Vnw7xlbnQnLCdTdXByaW1laXgnLCdTXCdoYSBzdXByaW1pdCBsYSB0YXVsYS4nLCdTXCdoYSBtb2RpZmljYXQgbGEgdGF1bGEuJywnU1wnaGEgY3JlYXQgbGEgdGF1bGEuJywnQ3JlYSB1bmEgdGF1bGEnLCdTXCdoYSBhc3NvbGl0IGVsIG5vbWJyZSBtw6B4aW0gZGUgY2FtcHMuIEluY3JlbWVudGEgJXMgaSAlcy4nLCdOb20gZGUgbGEgdGF1bGEnLCdtb3RvcicsJ0ZlcyBwYXJ0aWNpb25zIHNlZ29ucycsJ1BhcnRpY2lvbnMnLCdOb20gZGUgbGEgcGFydGljacOzJywnVmFsb3JzJywnU1wnaGFuIG1vZGlmaWNhdCBlbHMgw61uZGV4cy4nLCdUaXB1cyBkXCfDrW5kZXgnLCdDb2x1bW5hIChsb25naXR1ZCknLCdOb20nLCdTXCdoYSBzdXByaW1pdCBsYSBiYXNlIGRlIGRhZGVzLicsJ1NcJ2hhIGNhbnZpYXQgZWwgbm9tIGRlIGxhIGJhc2UgZGUgZGFkZXMuJywnU1wnaGEgY3JlYXQgbGEgYmFzZSBkZSBkYWRlcy4nLCdTXCdoYSBtb2RpZmljYXQgbGEgYmFzZSBkZSBkYWRlcy4nLCdDcmVhIHVuYSBiYXNlIGRlIGRhZGVzJywnU1wnaGEgc3VwcmltaXQgbFwnZXNxdWVtYS4nLCdTXCdoYSBjcmVhdCBsXCdlc3F1ZW1hLicsJ1NcJ2hhIG1vZGlmaWNhdCBsXCdlc3F1ZW1hLicsJ0NyaWRhJyxhcnJheSgnU1wnaGEgY3JpZGF0IGxhIHJ1dGluYSwgJWQgcmVnaXN0cmUgbW9kaWZpY2F0LicsJ1NcJ2hhIGNyaWRhdCBsYSBydXRpbmEsICVkIHJlZ2lzdHJlcyBtb2RpZmljYXRzLicpLCdTXCdoYSBzdXByaW1pdCBsYSBjbGF1IGZvcmFuYS4nLCdTXCdoYSBtb2RpZmljYXQgbGEgY2xhdSBmb3JhbmEuJywnU1wnaGEgY3JlYXQgbGEgY2xhdSBmb3JhbmEuJywnTGVzIGNvbHVtbmVzIG9yaWdlbiBpIGRlc3TDrSBoYW4gZGUgc2VyIGRlbCBtYXRlaXggdGlwdXMsIGxhIGNvbHVtbmEgZGVzdMOtIGhhIGRcJ2VzdGFyIGluZGV4YWRhIGkgbGVzIGRhZGVzIHJlZmVyZW5jaWFkZXMgaGFuIGRcJ2V4aXN0aXIuJywnQ2xhdSBmb3JhbmEnLCdUYXVsYSBkZSBkZXN0w60nLCdDYW52aScsJ0FmZWdlaXggdW5hIGNvbHVtbmEnLCdTXCdoYSBzdXByaW1pdCBsYSB2aXN0YS4nLCdTXCdoYSBtb2RpZmljYXQgbGEgdmlzdGEuJywnU1wnaGEgY3JlYXQgbGEgdmlzdGEuJywnQ3JlYSB1bmEgdmlzdGEnLCdTXCdoYSBzdXByaW1pdCBsXCdldmVudC4nLCdTXCdoYSBtb2RpZmljYXQgbFwnZXZlbnQuJywnU1wnaGEgY3JlYXQgbFwnZXZlbnQuJywnTW9kaWZpY2EgbFwnZXZlbnQnLCdDcmVhIHVuIGV2ZW50JywnQ29tZW7Dp2EnLCdBY2FiYScsJ0NhZGEnLCdDb25zZXJ2YXIgZW4gY29tcGxldGFyJywnU1wnaGEgc3VwcmltaXQgbGEgcnV0aW5hLicsJ1NcJ2hhIG1vZGlmaWNhdCBsYSBydXRpbmEuJywnU1wnaGEgY3JlYXQgbGEgcnV0aW5hLicsJ01vZGlmaWNhIGxhIGZ1bmNpw7MnLCdNb2RpZmljYSBlbCBwcm9jZWRpbWVudCcsJ0NyZWEgdW5hIGZ1bmNpw7MnLCdDcmVhIHVuIHByb2NlZGltZW50JywnVGlwdXMgcmV0b3JuYXQnLCdTXCdoYSBzdXByaW1pdCBsYSBzZXHDvMOobmNpYS4nLCdTXCdoYSBjcmVhdCBsYSBzZXHDvMOobmNpYS4nLCdTXCdoYSBtb2RpZmljYXQgbGEgc2Vxw7zDqG5jaWEuJywnTW9kaWZpY2EgbGEgc2Vxw7zDqG5jaWEnLCdDcmVhIHVuYSBzZXHDvMOobmNpYScsJ1NcJ2hhIHN1cHJpbWl0IGVsIHRpcHVzLicsJ1NcJ2hhIGNyZWF0IGVsIHRpcHVzLicsJ01vZGlmaWNhIGVsIHRpcHVzJywnQ3JlYSB1biB0aXB1cycsJ1NcJ2hhIHN1cHJpbWl0IGxcJ2FjdGl2YWRvci4nLCdTXCdoYSBtb2RpZmljYXQgbFwnYWN0aXZhZG9yLicsJ1NcJ2hhIGNyZWF0IGxcJ2FjdGl2YWRvci4nLCdNb2RpZmljYSBsXCdhY3RpdmFkb3InLCdDcmVhIHVuIGFjdGl2YWRvcicsJ1RlbXBzJywnRXZlbnQnLCdTXCdoYSBzdXByaW1pdCBsXCd1c3VhcmkuJywnU1wnaGEgbW9kaWZpY2F0IGxcJ3VzdWFyaS4nLCdTXCdoYSBjcmVhdCBsXCd1c3VhcmkuJywnSGFzaGVkJywnUnV0aW5hJywnR3JhbnQnLCdSZXZva2UnLGFycmF5KCdTXCdoYSBhdHVyYXQgJWQgcHJvY8Opcy4nLCdTXCdoYW4gYXR1cmF0ICVkIHByb2Nlc3Nvcy4nKSwnJWQgZW4gdG90YWwnLCdBdHVyYScsYXJyYXkoJ1NcJ2hhIG1vZGlmaWNhdCAlZCBlbGVtZW50LicsJ1NcJ2hhbiBtb2RpZmljYXQgJWQgZWxlbWVudHMuJyksJ0ZlcyB1biBkb2JsZSBjbGljIGEgdW4gdmFsb3IgcGVyIG1vZGlmaWNhci1sby4nLGFycmF5KCdTXCdoYSBpbXBvcnRhdCAlZCByZWdpc3RyZS4nLCdTXCdoYW4gaW1wb3J0YXQgJWQgcmVnaXN0cmVzLicpLCdJbXBvc3NpYmxlIHNlbGVjY2lvbmFyIGxhIHRhdWxhJywnUmVsYWNpb25zJywnVXRpbGl0emEgbFwnZW5sbGHDpyBkXCdlZGljacOzIHBlciBtb2RpZmljYXIgYXF1ZXN0IHZhbG9yLicsJ1BsYW5hJywnZGFycmVyYScsJ3RvdHMgZWxzIHJlc3VsdGF0cycsJ0Nsb25hJywnSW1wb3J0YScsJywnLCdTXCdoYW4gZXNjYXDDp2F0IGxlcyB0YXVsZXMuJywnU1wnaGFuIGRlc3BsYcOnYXQgbGVzIHRhdWxlcy4nLCdTXCdoYW4gY29waWF0IGxlcyB0YXVsZXMuJywnU1wnaGFuIHN1cHJpbWl0IGxlcyB0YXVsZXMuJywnVGF1bGVzIGkgdmlzdGVzJywnQ2VyY2EgZGFkZXMgZW4gbGVzIHRhdWxlcycsJ01vdG9yJywnTG9uZ2l0dWQgZGUgbGVzIGRhZGVzJywnTG9uZ2l0dWQgZGUgbFwnw61uZGV4JywnRXNwYWkgbGxpdXJlJywnRmlsZXMnLCdBbmFsaXR6YScsJ09wdGltaXR6YScsJ1ZlcmlmaWNhJywnUmVwYXJhJywnRXNjYXDDp2EnLCdEZXNwbGHDp2EgYSB1bmEgYWx0cmEgYmFzZSBkZSBkYWRlcycsJ0Rlc3BsYcOnYScsJ0PDsnBpYScsJ1NlccO8w6huY2llcycsJ0hvcmFyaScsJ0EgdW4gbW9tZW50IGRvbmF0JywnSEg6TU06U1MnKTticmVhaztjYXNlInB0IjokVz1hcnJheSgnRXN0w6Egc2VndXJvPycsJ07Do28gw6kgcG9zc2l2ZWwgZW52aWFyIG8gYXJxdWl2by4nLCdUYW1hbmhvIG3DoXhpbW8gZG8gYXJxdWl2byDDqSAlc0IuJywnQXJxdWl2byBuw6NvIGV4aXN0ZS4nLCd2YXppbycsJ29yaWdpbmFsJywnTsOjbyBleGlzdGVtIHRhYmVsYXMuJywnSWRpb21hJywnVXNhcicsJ1BvciBmYXZvciB1c2UgdW1hIGRhcyBleHRlbnPDtWVzICVzLicsJ0FycXVpdm8gamEgZXhpc3RlLicsJ1RpcG9zIGRlZmluaWRvIHBlbG8gdXN1YXJpbycsJ07Dum1lcm9zJywnRGF0YSBlIGhvcmEnLCdDYWRlbmEnLCdCaW5hcmlvJywnUmVkZScsJ0dlb21ldHLDrWEnLCdMaXN0YXMnLCdNb3RvciBkZSBCYXNlIGRlIGRhZG9zJywnU2Vydmlkb3InLCdVc3VhcmlvJywnU2VuaGEnLCdFbnRyYXInLCdTYWx2YXIgU2VuaGEnLCdTZWxlY2lvbmFyIGRhZG9zJywnTW9zdHJhciBlc3RydXR1cmEnLCdNb2RpZmljYXIgdmlzdGEnLCdNb2RpZmljYXIgZXN0cnV0dXJhJywnTm92byBSZWdpc3RybycsJ1VsdGltYSBww6FnaW5hJywnTW9kaWZpY2FyJyxhcnJheSgnJWQgYnl0ZScsJyVkIGJ5dGVzJyksJ1NlbGVjaW9uYXInLCdGdW7Dp8O1ZXMnLCdBZGnDp8O1ZXMnLCdQcm9jdXJhcicsJ3F1YWxxdWVyIGxvY2FsJywnT3JkZW5hcicsJ2RlY3Jlc2NlbnRlJywnTGltaXRlJywnVGFtYW5obyBkZSB0ZXh0bycsJ0HDp8OjbycsJ0NvbWFuZG8gU1FMJywnbW9zdHJhcicsJ3NhbHZhcycsJ01vZGlmaWNhciBCYXNlIGRlIGRhZG9zJywnTW9kaWZpY2FyIGVzcXVlbWEnLCdDcmlhciBlc3F1ZW1hJywnRXNxdWVtYSBkZSBCYXNlIGRlIGRhZG9zJywnUHJpdmlsZWdpb3MnLCdFeHBvcnRhcicsJ1NhaXInLCdiYXNlIGRlIGRhZG9zJywnZXNxdWVtYScsJ05vdmEgdGFiZWxhJywncmVnaXN0cm9zJywnbHRyJywnUmVzZW5kIFBPU1QgZGF0YT8nLCdUb2tlbiBDU1JGIGludsOhbGlkby4gRW52aWFyIG8gZm9ybXVsYXJpbyBub3ZhbWVudGUuJywnU2FpZGEgYmVtIHN1Y2VkaWRhLicsJ0RldmVtIGVzdGFyIGhhYmlsaXRhZGFzIGFzIHNlc3PDtWVzLicsJ1Nlc3PDo28gZXhwaXJhZGEsIHBvciBmYXZvciBlbnRyZSBzdWEgQ2hhdmUgZGUgbm92by4nLCdJZGVudGlmaWNhw6fDo28gaW52w6FsaWRhLicsJ07Do28gaGEgZXh0ZW5zaW9uJywnTmVuaHVtYSBkYXMgZXh0ZW5zw7VlcyBQSFAgc29wb3J0YWRhcyAoJXMpIGVzdMOhIGRpc3Bvbml2ZWwuJywnUE9TVCBkYXRhIGRlbWFzaWFkbyBncmFuZGUuIFJlZHV6YSBvIHRhbWFuaG8gb3UgYXVtZW50ZSBhIGRpcmV0aXZhIGRlIGNvbmZpZ3VyYcOnw6NvICVzLicsJ0Jhc2UgZGUgZGFkb3MnLCdCYXNlIGRlIGRhZG9zIGludsOhbGlkYS4nLCdCYXNlcyBkZSBkYWRvcyBlbGltaW5hZGFzLicsJ1NlbGVjaW9uYXIgQmFzZSBkZSBkYWRvcycsJ0NyaWFyIG5vdmEgYmFzZSBkZSBkYWRvcycsJ0xpc3RhIGRlIHByb2Nlc3NvcycsJ1ZhcmlhdmVpcycsJ0VzdGFkbycsJ1ZlcnPDo28gJXM6ICVzIGF0cmF2w6lzIGRhIGV4dGVuc8OjbyBQSFAgJXMnLCdMb2dhZG8gY29tbzogJXMnLCdDb2xhw6fDo28nLCdUYWJlbGFzJywnUmVtb3ZlcicsJ0F0dWFsaXphcicsJ0VzcXVlbWEnLCdFc3F1ZW1hIGludsOhbGlkby4nLCdOw6NvIGV4aXN0ZW0gcmVnaXN0cm9zLicsJyUuM2YgcycsJ0NoYXZlcyBmb3LDoW5lYXMnLCdjb2xsYXRpb24nLCdPTiBERUxFVEUnLCdOb21lIGRhIGNvbHVuYScsJ05vbWUgZGUgUGFyYW1ldHJvJywnVGlwbycsJ1RhbWFuaG8nLCdPcMOnw7VlcycsJ0luY3JlbWVudG8gQXV0b23DoXRpY28nLCdWYWxvcmVzIHByZWRldGVybWluYWRvcycsJ0NvbWVudGFyaW8nLCdBZGljaW9uYXIgcHJveGltbycsJ01vdmVyIGFjaW1hJywnTW92ZXIgYWJhaXhvJywnUmVtb3ZlcicsJ1Zpc3VhbGl6YXInLCdUYWJlbGEnLCdDb2x1bmEnLCdJbmRpY2VzJywnTW9kaWZpY2FyIGluZGljZXMnLCdPcmlnZW0nLCdEZXN0aW5vJywnT04gVVBEQVRFJywnTW9kaWZpY2FyJywnQWRpY2lvbmFyIENoYXZlIGZvcsOhbmVhJywnVHJpZ2dlcnMnLCdBZGljaW9uYXIgdHJpZ2dlcicsJ1Blcm1hbmVudCBsaW5rJywnRXhwb3J0YXInLCdTYWlkYScsJ0Zvcm1hdG8nLCdQcm9jZWRpbWVudG9zJywnRXZlbnRvcycsJ0RhZG9zJywnbW9kaWZpY2FyJywnQ3JpYXIgVXN1YXJpbycsJ0Vycm8gbmEgY29uc3VsdGEnLGFycmF5KCclZCByZWdpc3RybycsJyVkIHJlZ2lzdHJvcycpLGFycmF5KCdDb25zdWx0YSBleGVjdXRhZGEsICVkIHJlZ2lzdHJvIGFmZXRhZG9zLicsJ0NvbnN1bHRhIGV4ZWN1dGFkYSwgJWQgcmVnaXN0cm9zIGFmZXRhZG9zLicpLCdOZW5odW0gY29tYW5kbyBwYXJhIGV4ZWN1dGFyLicsYXJyYXkoJyVkIGNvbnN1bHRhIHNxbCBleGVjdXRhZGEgY29ycmV0YW1lbnRlLicsJyVkIGNvbnN1bHRhIHNxbCBleGVjdXRhZGFzIGNvcnJldGFtZW50ZS4nKSwnSW1wb3J0YXIgYXJxdWl2bycsJ0ltcG9ydGHDp8OjbyBkZSBhcnF1aXZvcyBkZXNhYmxpbGl0YWRvLicsJ0V4ZWN1dGFyJywnUGFyYXIgZW0gY2FzbyBkZSBlcnJvJywnTW9zdHJhciBzb21lbnRlIGVycm9zJywnRGVzZGUgc2Vydmlkb3InLCdBcnF1aXZvIGRvIHNlcnZpZG9yIHdlYiAlcycsJ0V4ZWN1dGFyIEFycXVpdm8nLCdIaXN0b3JpY28nLCdMaW1wYXInLCdFZGl0IGFsbCcsJ1JlZ2lzdHJvIGVsaW1pbmFkby4nLCdSZWdpc3RybyBtb2RpZmljYWRvLicsJ1JlZ2lzdHJvJXMgaW5zZXJpZG8uJywnSW5zZXJpcicsJ1NhbHZhcicsJ1NhbHZhciBlIGNvbnRpbnVhciBlZGl0YW5kbycsJ1NhbHZhciBlIGluc2VyaXIgb3V0cm8nLCdBcGFnYXInLCdUYWJlbGEgZWxpbWluYWRhLicsJ1RhYmVsYSBtb2RpZmljYWRhLicsJ1RhYmVsYSBjcmlhZGEuJywnQ3JpYXIgdGFiZWxhJywnQ2FudGlkYSBtw6F4aW1hIGRlIGNhbXBvcyBwZXJtaXRpZG9zIGV4Y2VkaWRvcy4gUG9yIGZhdm9yIGF1bWVudGUgJXMgeSAlcy4nLCdOb21lIGRhIHRhYmVsYScsJ21vdG9yJywnUGFydGljaW9uYXIgcG9yJywnUGFydGnDp8O1ZXMnLCdOb21lIGRhIFBhcnRpw6fDo28nLCdWYWxvcmVzJywnSW5kaWNlcyBtb2RpZmljYWRvcy4nLCdUaXBvIGRlIMOtbmRpY2UnLCdjb2x1bmEgKHRhbWFuaG8pJywnTm9tZScsJ0Jhc2UgZGUgZGFkb3MgZWxpbWluYWRhLicsJ0Jhc2UgZGUgZGFkb3MgcmVub21lYWRhLicsJ0Jhc2UgZGUgZGFkb3MgY3JpYWRhLicsJ0Jhc2UgZGUgZGFkb3MgbW9kaWZpY2FkYS4nLCdDcmlhciBCYXNlIGRlIGRhZG9zJywnRXNxdWVtYSBlbGltaW5hZG8uJywnRXNxdWVtYSBjcmlhZG8uJywnRXNxdWVtYSBtb2RpZmljYWRvLicsJ0NoYW1hcicsYXJyYXkoJ0NvbnN1bHRhIGV4ZWN1dGFkYSwgJWQgcmVnaXN0cm8gYWZldGFkby4nLCdDb25zdWx0YSBleGVjdXRhZGEsICVkIHJlZ2lzdHJvcyBhZmV0YWRvcy4nKSwnQ2hhdmUgZXh0ZXJuYSBlbGltaW5hZGEuJywnQ2hhdmUgZXh0ZXJuYSBtb2RpZmljYWRhLicsJ0NoYXZlIGV4dGVybmEgY3JpYWRhLicsJ0FzIGNvbHVuYXMgZGUgb3JpZ2VuIGUgZGVzdGlubyBkZXZlbSBzZXIgZG8gbWVzbW8gdGlwbywgZGV2ZSBleGlzdGlyIHVtIMOtbmRpY2UgZW50cmUgYXMgY29sdW5hcyBkZSBkZXN0aW5vIGUgbyByZWdpc3RybyByZWZlcmVuY2lhZG8gZGV2ZSBleGlzdGlyLicsJ0NoYXZlIGV4dGVybmEnLCdUYWJlbGEgZGUgZGVzdGlubycsJ01vZGlmaWNhcicsJ0FkaWNpb25hciBjb2x1bmEnLCdWaXN0YSBlbGltaW5hZGEuJywnVmlzdGEgbW9kaWZpY2FkYS4nLCdWaXN0YSBjcmlhZGEuJywnQ3JpYXIgdmlzdGEnLCdFdmVudG8gZWxpbWluYWRvLicsJ0V2ZW50byBtb2RpZmljYWRvLicsJ0V2ZW50byBjcmlhZG8uJywnTW9kaWZpY2FyIEV2ZW50bycsJ0NyaWFyIEV2ZW50bycsJ0luaWNpbycsJ0ZpbScsJ0NhZGEnLCdBbyBjb21wbGV0YXIgcHJlc2VydmFyJywnUHJvY2VkaW1lbnRvIGVsaW1pbmFkby4nLCdQcm9jZWRpbWVudG8gbW9kaWZpY2Fkby4nLCdQcm9jZWRpbWVudG8gY3JpYWRvLicsJ01vZGlmaWNhciBGdW7Dp8OjbycsJ01vZGlmaWNhciBwcm9jZWRpbWllbnRvJywnQ3JpYXIgZnVuw6fDo28nLCdDcmlhciBwcm9jZWRpbWVudG8nLCdUaXBvIGRlIHZhbG9yIGRlIHJlZ3Jlc28nLCdTZXF1ZW5jaWEgZWxpbWluYWRhLicsJ1NlcXVlbmNpYSBjcmlhZGEuJywnU2VxdWVuY2lhIG1vZGlmaWNhZGEuJywnTW9kaWZpY2FyIHNlcXVlbmNpYScsJ0NyaWFyIHNlcXVlbmNpYXMnLCdUaXBvIGVsaW1pbmFkby4nLCdUaXBvIGNyaWFkby4nLCdNb2RpZmljYXIgdGlwbycsJ0NyaWFyIHRpcG8nLCdUcmlnZ2VyIGVsaW1pbmFkby4nLCdUcmlnZ2VyIG1vZGlmaWNhZG8uJywnVHJpZ2dlciBjcmlhZG8uJywnTW9kaWZpY2FyIFRyaWdnZXInLCdBZGljaW9uYXIgVHJpZ2dlcicsJ1RlbXBvJywnRXZlbnRvJywnVXN1YXJpbyBlbGltaW5hZG8uJywnVXN1YXJpbyBtb2RpZmljYWRvLicsJ1VzdWFyaW8gY3JpYWRvLicsJ0hhc2gnLCdSb3RpbmEnLCdDb25jZWRlcicsJ0ltcGVkaXInLGFycmF5KCclZCBwcm9jZXNzbyB0ZXJtaW5hZG8uJywnJWQgcHJvY2Vzc29zIHRlcm1pbmFkb3MuJyksJyVkIG5vIHRvdGFsJywnUGFyYXInLGFycmF5KCclZCDDrXRlbSBhZmV0YWRvLicsJyVkIGl0ZW5zIGFmZXRhZG9zLicpLCdEb2JsZS1jbGljIHNvYnJlIG8gdmFsb3IgcGFyYSBlZGl0YS1sby4nLGFycmF5KCclZCByZWdpc3RybyBpbXBvcnRhZG8uJywnJWQgcmVnaXN0cm9zIGltcG9ydGFkb3MuJyksJ07Do28gw6kgcG9zc2l2ZWwgc2VsZWNpb25hciBhIFRhYmVsYScsJ1JlbGHDp8O1ZXMnLCdVdGlsaXplIG8gbGluayBtb2RpZmljYXIgcGFyYSBhbHRlcmFyLicsJ1DDoWdpbmEnLCfDumx0aW1vJywncmVzdWx0YWRvIGNvbXBsZXRvJywnQ2xvbmFyJywnSW1wb3J0YXInLCcgJywnVGFiZWxhcyB0cnVuY2FkYXMgKHRydW5jYXRlKS4nLCdBcyBUYWJlbGFzIGZvcmFtIG1vdmlkYXMuJywnVGFibGVzIGhhdmUgYmVlbiBjb3BpZWQuJywnVGFiZWxhcyBlbGltaW5hZGFzLicsJ1RhYmVsYXMgZSB2aXN0YXMnLCdCdXNjYXIgZGFkb3MgbmFzIFRhYmVsYXMnLCdNb3RvcicsJ1RhbWFuaG8gZGUgZGFkb3MnLCdUYW1hbmhvIGRlIMOtbmRpY2UnLCdFc3Bhw6dvIExpdnJlJywnUmVnaXN0cm9zJywnQW5hbGl6YXInLCdPdGltaXphcicsJ1ZlcmlmaWNhcicsJ1JlcGFyYXInLCdUcnVuY2FyJywnTW92ZXIgb3V0cmEgQmFzZSBkZSBkYWRvcycsJ01vdmVyJywnQ29weScsJ1NlcXVlbmNpYXMnLCdBZ2VuZGEnLCdBIGhvcmEgZGV0ZXJtaW5hZGEnLCdhZ29yYScpO2JyZWFrO2Nhc2Uic2wiOiRXPWFycmF5KCdTdGUgcHJlcHJpxI1hbmk/JywnTmUgbW9yZW0gbmFsb8W+aXRpIGRhdG90ZWtlLicsJ05hanZlxI1qYSB2ZWxpa29zdCBkYXRvdGVrZSBqZSAlc0IuJywnRGF0b3Rla2EgbmUgb2JzdGFqYS4nLCdwcmF6bm8nLCdvcmlnaW5hbCcsJ05pIHRhYmVsLicsJ0plemlrJywnVXBvcmFiaScsJ1Byb3NpbSwgdXBvcmFiaXRlIGVuZWdhIG9kIGRvZGF0a292ICVzLicsJ0RhdG90ZWthIG9ic3RhamEuJywnVXBvcmFibmnFoWtpIHRpcGknLCfFoHRldmlsYScsJ0RhdHVtIGluIMSNYXMnLCdOaXppJywnQmluYXJuaScsJ01yZcW+bmknLCdHZW9tZXRyxI1uaScsJ1Nlem5hbWknLCdTaXN0ZW0nLCdTdHJlxb5uaWsnLCdVcG9yYWJuacWha28gaW1lJywnR2VzbG8nLCdQcmlqYXZpIHNlJywnVHJham5hIHByaWphdmEnLCdJemJlcmkgcG9kYXRrZScsJ1Bva2HFvmkgemdyYWRibycsJ1NwcmVtZW5pIHBvZ2xlZCcsJ1NwcmVtZW5pIHRhYmVsbycsJ05vdiBwcmVkbWV0JywnWmFkbmphIHN0cmFuJywnVXJlZGknLGFycmF5KCclZCBiYWp0JywnJWQgYmFqdGEnLCclZCBiYWp0aScsJyVkIGJhanRvdicpLCdJemJlcmknLCdGdW5rY2lqZScsJ1pkcnXFvml0ZXYnLCdJxaHEjWknLCdramVya29saScsJ1NvcnRpcmFqJywncGFkYWpvxI1lJywnTGltaXRhJywnRG9sxb5pbmEgdGVrc3RhJywnRGVqYW5qZScsJ1VrYXogU1FMJywnb2RwcmknLCdzaHJhbmknLCdTcHJlbWVuaSBiYXpvJywnU3ByZW1lbmkgc2hlbW8nLCdVc3R2YXJpIHNoZW1vJywnU2hlbWEgYmF6ZScsJ1ByYXZpY2UnLCdJenZvemknLCdPZGphdmkgc2UnLCdiYXphJywnc2hlbWEnLCdVc3R2YXJpIG5vdm8gdGFiZWxvJywnaXpiZXJpJywnbHRyJywnUmVzZW5kIFBPU1QgZGF0YT8nLCdOZXZlbGphdmVuIHRva2VuIENTUkYuIFBvxaFsaml0ZSBmb3JtdWxhciDFoWUgZW5rcmF0LicsJ1ByaWphdmEgdXNwZcWhbmEuJywnUG9kcG9yYSB6YSBzZWplIG1vcmEgYml0aSBvbW9nb8SNZW5hLicsJ1NlamEgamUgcG90ZWtsYS4gUHJvc2ltbywgcG9ub3ZubyBzZSBwcmlqYXZpdGUuJywnTmV2ZWxqYXZuZSBwcmF2aWNlLicsJ0JyZXogZG9kYXRrb3YnLCdOb2JlbiBvZCBwb2RwcnRpaCBkb2RhdGtvdiB6YSBQSFAgKCVzKSBuaSBuYSB2b2xqby4nLCdQcmV2ZWxpa28gcG9kYXRrb3YgemEgUE9TVC4gWm1hbmrFoWFqdGUgxaF0ZXZpbG8gcG9kYXRrb3YgYWxpIHBvdmXEjWFqdGUgbmFzdGF2aXRldiB6YSAlcy4nLCdCYXphJywnTmV2ZWxqYXZuYSBiYXphLicsJ0JhemUgc28gemF2csW+ZW5lLicsJ0l6YmVyaSBiYXpvJywnVXN0dmFyaSBub3ZvIGJhem8nLCdTZXpuYW0gcHJvY2Vzb3YnLCdTcHJlbWVubGppdmtlJywnU3RhbmplJywnVmVyemlqYSAlczogJXMgcHJla28gZG9kYXRrYSB6YSBQSFAgJXMnLCdQcmlqYXZsamVuIGtvdDogJXMnLCdaYmlyYW5qZScsJ1RhYmVsZScsJ1phdnJ6aScsJ09zdmXFvmknLCdTaGVtYScsJ05ldmVsamF2bmEgc2hlbWEuJywnTmkgdnJzdGljLicsJyUuM2YgcycsJ1R1amkga2xqdcSNaScsJ3piaXJhbmplJywncHJpIGJyaXNhbmp1JywnSW1lIHN0b2xwY2EnLCdJbWUgcGFyYW1ldHJhJywnVGlwJywnRG9sxb5pbmEnLCdNb8W+bm9zdGknLCdTYW1vZGVqbm8gcG92ZcSNZXZhbmplJywnUHJpdnpldGUgdnJlZG5vc3RpJywnS29tZW50YXInLCdEb2RhaiBuYXNsZWRuamVnYScsJ1ByZW1ha25pIGdvcicsJ1ByZW1ha25pIGRvbCcsJ09kc3RyYW5pJywnUG9nbGVkaScsJ1RhYmVsYScsJ1N0b2xwZWMnLCdJbmRla3NpJywnU3ByZW1lbmkgaW5kZWtzZScsJ0l6dm9yJywnQ2lsaicsJ3ByaSBwb3NvZGFibGphbmp1JywnU3ByZW1lbmknLCdEb2RhaiB0dWoga2xqdcSNJywnU3Byb8W+aWxuaWtpJywnRG9kYWogc3Byb8W+aWxuaWsnLCdQZXJtYW5lbnQgbGluaycsJ0l6dm96aScsJ0l6aG9kIHJlenVsdGF0YScsJ0Zvcm1hdCcsJ1Bvc3RvcGtpJywnRG9nb2RraScsJ1BvZGF0a2knLCd1cmVkaScsJ1VzdHZhcmkgdXBvcmFibmlrYScsJ05hcGFrYSB2IHBvaXp2ZWRiaScsYXJyYXkoJyVkIHZyc3RpY2EnLCclZCB2cnN0aWNpJywnJWQgdnJzdGljZScsJyVkIHZyc3RpYycpLGFycmF5KCdQb2l6dmVkYmEgc2UgamUgdXNwZcWhbm8gaXp2ZWRsYSwgc3ByZW1lbmplbmEgamUgJWQgdnJzdGljYS4nLCdQb2l6dmVkYmEgc2UgamUgdXNwZcWhbm8gaXp2ZWRsYSwgc3ByZW1lbmplbmkgc3RhICVkIHZyc3RpY2kuJywnUG9penZlZGJhIHNlIGplIHVzcGXFoW5vIGl6dmVkbGEsIHNwcmVtZW5qZW5lIHNvICVkIHZyc3RpY2UuJywnUG9penZlZGJhIHNlIGplIHVzcGXFoW5vIGl6dmVkbGEsIHNwcmVtZW5qZW5paCBqZSAlZCB2cnN0aWMuJyksJ05pIHVrYXpvdiB6YSBpenZlZGJvLicsYXJyYXkoJ1VzcGXFoW5vIHNlIGplIGtvbsSNYWxhICVkIHBvaXp2ZWRiYS4nLCdVc3BlxaFubyBzdGEgc2Uga29uxI1hbGkgJWQgcG9penZlZGJpLicsJ1VzcGXFoW5vIHNvIHNlIGtvbsSNYWxlICVkIHBvaXp2ZWRiZS4nLCdVc3BlxaFubyBzZSBqZSBrb27EjWFsbyAlZCBwb2l6dmVkYi4nKSwnTmFsb8W+aSBkYXRvdGVrbycsJ05hbGFnYW5qZSBkYXRvdGVrIGplIG9uZW1vZ2/EjWVuby4nLCdJenZlZGknLCdVc3Rhdmkgb2IgbmFwYWtpJywnUG9rYcW+aSBzYW1vIG5hcGFrZScsJ3ogc3RyZcW+bmlrYScsJ0RhdG90ZWthIG5hIHNwbGV0bmVtIHN0cmXFvm5pa3UgJXMnLCdaYcW+ZW5pIGRhdG90ZWtvJywnWmdvZG92aW5hJywnUG/EjWlzdGknLCdFZGl0IGFsbCcsJ1ByZWRtZXQgamUgaXpicmlzYW4uJywnUHJlZG1ldCBqZSBwb3NvZG9ibGplbi4nLCdQcmVkbWV0JXMgamUgdnN0YXZsamVuLicsJ1ZzdGF2aScsJ1NocmFuaScsJ1NocmFuaSBpbiBuYWRhbGp1aiB6IHVyZWphbmplbScsJ1NocmFuaSBpbiB2c3RhdmkgdGVrc3QnLCdJemJyacWhaScsJ1RhYmVsYSBqZSB6YXZyxb5lbmEuJywnVGFiZWxhIGplIHNwcmVtZW5qZW5hLicsJ1RhYmVsYSBqZSB1c3R2YXJqZW5hLicsJ1VzdHZhcmkgdGFiZWxvJywnTmFqdmXEjWplIMWhdGV2aWxvIGRvdm9samVuaWggcG9samUgamUgcHJlc2XFvmVuby4gUHJvc2ltbywgcG92ZcSNYWp0ZSAlcyBpbiAlcy4nLCdJbWUgdGFiZWxlJywncG9nb24nLCdQb3JhemRlbGkgcG8nLCdQb3JhemRlbGl0dmUnLCdJbWUgcG9yYXpkZWxpdHZlJywnVnJlZG5vc3RpJywnSW5kZWtzaSBzbyBzcHJlbWVuamVuaS4nLCdUaXAgaW5kZWtzYScsJ1N0b2xwZWMgKGRvbMW+aW5hKScsJ05heml2JywnQmF6YSBqZSB6YXZyxb5lbmEuJywnQmF6YSBqZSBwcmVpbWVub3ZhbmEuJywnQmF6YSBqZSB1c3R2YXJqZW5hLicsJ0JhemEgamUgc3ByZW1lbmplbmEuJywnVXN0dmFyaSBiYXpvJywnU2hlbWEgamUgemF2csW+ZW5hLicsJ1NoZW1hIGplIHVzdHZhcmplbmEuJywnU2hlbWEgamUgc3ByZW1lbmplbmEuJywnUG9rbGnEjWknLGFycmF5KCdLbGljYW4gamUgYmlsIHBvc3RvcGVrLCBzcHJlbWVuamVuYSBqZSAlZCB2cnN0aWNhLicsJ0tsaWNhbiBqZSBiaWwgcG9zdG9wZWssIHNwcmVtZW5qZW5pIHN0YSAlZCB2cnN0aWNpLicsJ0tsaWNhbiBqZSBiaWwgcG9zdG9wZWssIHNwcmVtZW5qZW5lIHNvICVkIHZyc3RpY2UuJywnS2xpY2FuIGplIGJpbCBwb3N0b3Blaywgc3ByZW1lbmplbmloIGplICVkIHZyc3RpYy4nKSwnVHVqIGtsanXEjSBqZSB6YXZyxb5lbi4nLCdUdWoga2xqdcSNIGplIHNwcmVtZW5qZW4uJywnVHVqIGtsanXEjSBqZSB1c3R2YXJqZW4uJywnSXp2b3JuaSBpbiBjaWxqbmkgc3RvbHBlYyBtb3JhIGltZXRpIGlzdGkgcG9kYXRrb3ZuaSB0aXAuIE9ic3RhamF0aSBtb3JhIGluZGVrcyBuYSBjaWxqbmloIHN0b2xwY2loIGluIG9ic3RhamF0aSBtb3Jham8gcmVmZXJlbsSNbmkgcG9kYXRraS4nLCdUdWoga2xqdcSNJywnQ2lsam5hIHRhYmVsYScsJ1NwcmVtZW5pJywnRG9kYWogc3RvbHBlYycsJ1BvZ2xlZCBqZSB6YXZyxb5lbi4nLCdQb2dsZWQgamUgc3ByZW1lbmplbi4nLCdQb2dsZWQgamUgdXN0dmFyamVuLicsJ1VzdHZhcmkgcG9nbGVkJywnRG9nb2RlayBqZSB6YXZyxb5lbi4nLCdEb2dvZGVrIGplIHNwcmVtZW5qZW4uJywnRG9nb2RlayBqZSB1c3R2YXJqZW4uJywnU3ByZW1lbmkgZG9nb2RlaycsJ1VzdHZhcmkgZG9nb2RlaycsJ1phxI1ldGVrJywnS29uZWMnLCd2c2FrZScsJ1BvIHpha2xqdcSNa3Ugb2hyYW5pJywnUG9zdG9wZWsgamUgemF2csW+ZW4uJywnUG9zdG9wZWsgamUgc3ByZW1lbmplbi4nLCdQb3N0b3BlayBqZSB1c3R2YXJqZW4uJywnU3ByZW1lbmkgZnVua2Npam8nLCdTcHJlbWVuaSBwb3N0b3BlaycsJ1VzdHZhcmkgZnVua2Npam8nLCdVc3R2YXJpIHBvc3RvcGVrJywnVnJhxI1hbG5pIHRpcCcsJ1Nla3ZlbmNhIGplIHphdnLFvmVuYS4nLCdTZWt2ZW5jZSBqZSB1c3R2YXJqZW5hLicsJ1Nla3ZlbmNlIGplIHNwcmVtZW5qZW5hLicsJ1NwcmVtbmkgc2VrdmVuY28nLCdVc3R2YXJpIHNla3ZlbmNvJywnVGlwIGplIHphdnLFvmVuLicsJ1RpcCBqZSB1c3R2YXJqZW4uJywnU3ByZW1lbmkgdGlwJywnVXN0dmFyaSB0aXAnLCdTcHJvxb5pbG5payBqZSBvZHN0cmFuamVuLicsJ1Nwcm/FvmlsbmlrIGplIHNwcmVtZW5qZW4uJywnU3Byb8W+aWxuaWsgamUgdXN0dmFyamVuLicsJ1NwcmVtZW5pIHNwcm/FvmlsbmlrJywnVXN0dmFyaSBzcHJvxb5pbG5paycsJ8SMYXMnLCdEb2dvZGVrJywnVXBvcmFibmlrIGplIG9kc3RyYW5qZW4uJywnVXBvcmFibmlrIGplIHNwcmVtZW5qZW4uJywnVXBvcmFibmlrIGplIHVzdHZhcmplbi4nLCdaYWtvZGlyYW5vJywnUG9zdG9wZWsnLCdEb3ZvbGknLCdPZHZ6ZW1pJyxhcnJheSgnS29uxI1hbiBqZSAlZCBwcm9jZXMuJywnS29uxI1hbmEgc3RhICVkIHByb2Nlc2EuJywnS29uxI1hbmkgc28gJWQgcHJvY2VzaS4nLCdLb27EjWFuaWggamUgJWQgcHJvY2Vzb3YuJyksJ1NrdXBhaiAlZCcsJ0tvbsSNYWonLGFycmF5KCdTcHJlbWVuamVuIGplICVkIHByZWRtZXQuJywnU3ByZW1lbmplbmEgc3RhICVkIHByZWRtZXRhLicsJ1NwcmVtZW5qZW5pIHNvICVkIHByZWRtZXRpLicsJ1NwcmVtZW5qZW5paCBqZSAlZCBwcmVkbWV0b3YuJyksJ0R2b2puaSBrbGlrIG5hIHZyZWRub3N0IHphIHVyZWphbmplLicsYXJyYXkoJ1V2b8W+ZW5hIGplICVkIHZyc3RpY2EuJywnVXZvxb5lbmkgc3RhICVkIHZyc3RpY2kuJywnVXZvxb5lbmUgc28gJWQgdnJzdGljZS4nLCdVdm/FvmVuaWggamUgJWQgdnJzdGljLicpLCdOZSBtb3JlbSBpemJyYXRpIHRhYmVsZScsJ1JlbGFjaWpza2knLCdVcG9yYWJpdGUgdXJlamFuamUgcG92ZXphdmUgemEgc3ByZW1pbmphbmplIHRlIHZyZWRub3N0aS4nLCdTdHJhbicsJ1phZG5qYScsJ2NlbCByYXp1bHRhdCcsJ0tsb25pcmFqJywnVXZvemknLCcgJywnVGFiZWxlIHNvIHNrcmFqxaFhbmUuJywnVGFiZWxlIHNvIHByZW1ha25qZW5lLicsJ1RhYmVsZSBzbyBrb3BpcmFuZS4nLCdUYWJlbGUgc28gemF2csW+ZW5lLicsJ1RhYmVsZSBpbiBwb2dsZWRpJywnScWhxI1lIHBvZGF0a2UgcG8gdGFiZWxhaCcsJ1BvZ29uJywnVmVsaWtvc3QgcG9kYXRrb3YnLCdWZWxpa29zdCBpbmRla3NhJywnUG9kYXRrb3YgcHJvc3RvICcsJ1Zyc3RpYycsJ0FuYWxpemlyYWonLCdPcHRpbWl6aXJhaicsJ1ByZXZlcmknLCdQb3ByYXZpJywnU2tyYWrFoWFqJywnUHJlbWFrbmkgdiBkcnVnbyBiYXpvJywnUHJlbWFrbmknLCdLb3BpcmFqJywnU2VrdmVuY2UnLCdVcm5paycsJ3YgZGFuZW0gxI1hc3UnLCd6ZGFqJyk7YnJlYWs7Y2FzZSJsdCI6JFc9YXJyYXkoJ1Rpa3JhaT8nLCdOZXBhdnlrbyDEr2tlbHRpIGZhaWxvLicsJ01ha3NpbWFsdXMgZmFpbG8gZHlkaXMgLSAlc0IuJywnRmFpbGFzIG5lZWd6aXN0dW9qYS4nLCd0dcWhxI1pYScsJ29yaWdpbmFsYXMnLCdOxJdyYSBsZW50ZWxpxbMuJywnS2FsYmEnLCdOYXVkb3RpJywnTmF1ZG9raXRlIHZpZW7EhSBpxaEgcGzEl3RpbmnFsyAlcy4nLCdGYWlsYXMgZWd6aXN0dW9qYS4nLCdWYXJ0b3RvasWzIHRpcGFpJywnU2thacSNaWFpJywnRGF0YSBpciBsYWlrYXMnLCdUZWtzdGFzJywnRHZlamV0YWluaXMnLCdUaW5rbGFzJywnR2VvbWV0cmlqYScsJ1PEhXJhxaFhaScsJ1Npc3RlbWEnLCdTZXJ2ZXJpcycsJ1ZhcnRvdG9qYXMnLCdTbGFwdGHFvm9kaXMnLCdQcmlzaWp1bmd0aScsJ1Bhc3RvdnVzIHByaXNpanVuZ2ltYXMnLCdBdHJpbmt0aSBkdW9tZW5pcycsJ1JvZHl0aSBzdHJ1a3TFq3LEhScsJ1JlZGFndW90aSB2YWl6ZMSFJywnUmVkYWd1b3RpIGxlbnRlbMSZJywnTmF1amFzIMSvcmHFoWFzJywnUGFza3V0aW5pcyBwdXNsYXBpcycsJ1JlZGFndW90aScsYXJyYXkoJyVkIGJhaXRhcycsJyVkIGJhaWdhaScsJyVkIGJhaXTFsycpLCdBdHJpbmt0aScsJ0Z1bmtjaWpvcycsJ0FncmVnYWNpamEnLCdJZcWha290aScsJ3Zpc3VyJywnUmlraXVvdGknLCdtYcW+xJdqaW1vIHR2YXJrYScsJ0xpbWl0YXMnLCdUZWtzdG8gaWxnaXMnLCdWZWlrc21hcycsJ1NRTCB1xb5rbGF1c2EnLCdhdGlkYXJ5dGknLCdpxaFzYXVnb3RpJywnUmVkYWd1b3RpIGR1b21lbsWzIGJhesSZJywnS2Vpc3RpIHNjaGVtxIUnLCdTdWt1cnRpIHNjaGVtxIUnLCdEdW9tZW7FsyBiYXrEl3Mgc2NoZW1hJywnUHJpdmlsZWdpam9zJywnRWtzcG9ydHVvdGknLCdBdHNpanVuZ3RpJywnZHVvbWVuxbMgYmF6xJcnLCdzY2hlbWEnLCdTdWt1cnRpIG5hdWrEhSBsZW50ZWzEmScsJ2F0cmlua3RpJywnbHRyJywnUGVyc2nFs3N0aSBQT1NUIGR1b21lbmlzPycsJ05ldGVpc2luZ2FzIENTUkYgdG9rZW5hcy4gQmFuZHlraXRlIHNpxbNzdGkgZm9ybW9zIGR1b21lbmlzIGRhciBrYXJ0xIUuJywnSsWrcyBhdHNpanVuZ8SXdGUgbnVvIHNpc3RlbW9zLicsJ1Nlc2lqxbMgcGFsYWlreW1hcyB0dXJpIGLFq3RpIMSvanVuZ3Rhcy4nLCdTZXNpam9zIGdhbGlvamltYXMgYmFpZ8SXc2kuIFByaXNpanVua2l0ZSBpxaEgbmF1am8uJywnTmV0ZWlzaW5naSBwcmlzaWp1bmdpbW8gZHVvbWVueXMuJywnTsSXcmEgcGzEl3RpaW8nLCdOxJdyYSBuZWkgdmllbm8gacWhIHBhbGFpa29txbMgUEhQIHBsxJd0aW5pxbMgKCVzKS4nLCdQZXIgZGF1ZyBQT1NUIGR1b21lbsWzLiBTdW1hxb5pbmtpdGUgZHVvbWVuxbMga2lla8SvIGFyYmEgcGFkaWRpbmtpdGUga29uZmlnxatyYWNpam9zIG51c3RhdHltxIUgJXMuJywnRHVvbWVuxbMgYmF6xJcnLCdOZXRlaXNpbmdhIGR1b21lbsWzIGJhesSXLicsJ0R1b21lbsWzIGJhesSXcyBwYW5haWtpbnRvcy4nLCdQYXNpcmlua3RpIGR1b21lbsWzIGJhesSZJywnU3VrdXJ0aSBuYXVqxIUgZHVvbWVuxbMgYmF6xJknLCdQcm9jZXPFsyBzxIVyYcWhYXMnLCdLaW50YW1pZWppJywnQsWrc2VuYScsJyVzIHZlcnNpamE6ICVzIHBlciBQSFAgcGzEl3RpbsSvICVzJywnUHJpc2lqdW5nxJlzIGthaXA6ICVzJywnTHlnaW5pbWFzJywnTGVudGVsxJdzJywnUGHFoWFsaW50aScsJ0F0bmF1amludGknLCdTY2hlbWEnLCdOZXRlaXNpbmdhIHNjaGVtYS4nLCdOxJdyYSDEr3JhxaHFsy4nLCclLjNmIHMnLCdJxaFvcmluaWFpIHJha3RhaScsJ3BhbHlnaW5pbWFzJywnScWhdHJpbmFudCcsJ1N0dWxwZWxpbyBwYXZhZGluaW1hcycsJ1BhcmFtZXRybyBwYXZhZGluaW1hcycsJ1RpcGFzJywnSWxnaXMnLCdOdXN0YXR5bWFpJywnQXV0byBJbmNyZW1lbnQnLCdSZWlrxaFtxJdzIHBhZ2FsIG51dHlsxJdqaW3EhScsJ0tvbWVudGFyYXMnLCdQcmlkxJd0aSBraXTEhScsJ1BlcmtlbHRpIMSvIHZpcsWhxbMnLCdQZXJrZWx0aSDFvmVteW4nLCdQYcWhYWxpbnRpJywnVmFpemRhcycsJ0xlbnRlbMSXJywnU3R1bHBlbGlzJywnSW5kZWtzYWknLCdSZWRhZ3VvdGkgaW5kZWtzdXMnLCfFoGFsdGluaXMnLCdUaWtzbGFzJywnQXRuYXVqaW5hbnQnLCdSZWRhZ3VvdGknLCdQcmlkxJd0aSBpxaFvcmluxK8gcmFrdMSFJywnVHJpZ2VyaWFpJywnUHJpZMSXdGkgdHJpZ2VyxK8nLCdQYXN0b3ZpIG51b3JvZGEnLCdFa3Nwb3J0YXMnLCdJxaF2ZXN0aXMnLCdGb3JtYXRhcycsJ1Byb2NlZMWrcm9zJywnxK52eWtpYWknLCdEdW9tZW55cycsJ3JlZGFndW90aScsJ1N1a3VydGkgdmFydG90b2rEhScsJ0tsYWlkYSB1xb5rbGF1c29qZScsYXJyYXkoJyVkIMSvcmHFoWFzJywnJWQgxK9yYcWhYWknLCclZCDEr3JhxaHFsycpLGFycmF5KCdVxb5rbGF1c2EgxK92eWtkeXRhLiBQYWtlaXN0YXMgJWQgxK9yYcWhYXMuJywnVcW+a2xhdXNhIMSvdnlrZHl0YS4gUGFrZWlzdGkgJWQgxK9yYcWhYWkuJywnVcW+a2xhdXNhIMSvdnlrZHl0YS4gUGFrZWlzdGEgJWQgxK9yYcWhxbMuJyksJ07El3JhIHZ5a2RvbcWzIHXFvmtsYXVzxbMuJyxhcnJheSgnJWQgdcW+a2xhdXNhIMSvdnlrZHl0YS4nLCclZCB1xb5rbGF1c29zIMSvdnlrZHl0b3MuJywnJWQgdcW+a2xhdXPFsyDEr3Z5a2R5dGEuJyksJ0ZhaWxvIMSva8SXbGltYXMnLCdGYWlsxbMgxK9rxJdsaW1hcyBpxaFqdW5ndGFzLicsJ1Z5a2R5dGknLCdTdXN0YWJkeXRpIGVzYW50IGtsYWlkYWknLCdSb2R5dGkgdGlrIGtsYWlkYXMnLCdJxaEgc2VydmVyaW8nLCdGYWlsYXMgJXMgacWhIHNlcnZlcmlvJywnVnlrZHl0aSBmYWlsxIUnLCdJc3RvcmlqYScsJ0nFoXZhbHl0aScsJ1JlZGFndW90aSB2aXN1cycsJ8SucmHFoWFzIGnFoXRyaW50YXMuJywnxK5yYcWhYXMgcGFrZWlzdGFzLicsJ8SucmHFoWFzJXMgc3VrdXJ0YXMuJywnxK5yYcWheXRpJywnScWhc2F1Z290aScsJ0nFoXNhdWdvdGkgaXIgdMSZc3RpIHJlZGFnYXZpbcSFJywnScWhc2F1Z290aSBpciDEr3JhxaF5dGkga2l0xIUnLCdUcmludGknLCdMZW50ZWzElyBwYcWhYWxpbnRhLicsJ0xlbnRlbMSXIHBha2Vpc3RhLicsJ0xlbnRlbMSXIHN1a3VydGEuJywnU3VrdXJ0aSBsZW50ZWzEmScsJ1ZpcsWheXRhcyBtYWtzaW1hbHVzIGxlaWTFvmlhbcWzIHN0dWxwZWxpxbMga2lla2lzLiBQYWRpZGlua2l0ZSAlcyBpciAlcy4nLCdMZW50ZWzEl3MgcGF2YWRpbmltYXMnLCd2YXJpa2xpcycsJ1NraXJzdHl0aSBwYWdhbCcsJ1NraXJzbmlhaScsJ1NraXJzbmlvIHBhdmFkaW5pbWFzJywnUmVpa8WhbcSXcycsJ0luZGVrc2FpIHBha2Vpc3RpLicsJ0luZGVrc28gdGlwYXMnLCdTdHVscGVsaXMgKGlsZ2lzKScsJ1BhdmFkaW5pbWFzJywnRHVvbWVuxbMgYmF6xJcgcGFuYWlraW50YS4nLCdEdW9tZW7FsyBiYXrElyBwZXJ2YWRpbnRhLicsJ0R1b21lbsWzIGJhesSXIHN1a3VydGEuJywnRHVvbWVuxbMgYmF6xJcgcGFrZWlzdGEuJywnU3VrdXJ0aSBkdW9tZW7FsyBiYXrEmScsJ1NjaGVtYSBwYcWhYWxpbnRhLicsJ1NjaGVtYSBzdWt1cnRhLicsJ1NjaGVtYSBwYWtlaXN0YS4nLCdWeWtkeXRpJyxhcnJheSgnUHJvY2VkxatyYSDEr3Z5a2R5dGEuICVkIMSvcmHFoWFzIHBha2Vpc3Rhcy4nLCdQcm9jZWTFq3JhIMSvdnlrZHl0YS4gJWQgxK9yYcWhYWkgcGFrZWlzdGkuJywnUHJvY2VkxatyYSDEr3Z5a2R5dGEuICVkIMSvcmHFocWzIHBha2Vpc3RhLicpLCdJxaFvcmluaXMgcmFrdGFzIHBhxaFhbGludGFzLicsJ0nFoW9yaW5pcyByYWt0YXMgcGFrZWlzdGFzLicsJ0nFoW9yaW5pcyByYWt0YXMgc3VrdXJ0YXMuJywnxaBhbHRpbmlvIGlyIHRpa3NsaW5pcyBzdHVscGVsaXMgdHVyaSBixat0aSB0byBwYXRpZXMgdGlwbywgdGlrc2xpbmlhbWUgc3R1bHBlbHlqZSB0dXJpIGLFq3RpIG5hdWRvamFtYXMgaW5kZWtzYXMgaXIgZHVvbWVueXMgdHVyaSBlZ3ppc3R1b3RpLicsJ0nFoW9yaW5pcyByYWt0YXMnLCdUaWtzbGluxJcgbGVudGVsxJcnLCdQYWtlaXN0aScsJ1ByaWTEl3RpIHN0dWxwZWzErycsJ1ZhaXpkYXMgcGHFoWFsaW50YXMuJywnVmFpemRhcyBwYWtlaXN0YXMuJywnVmFpemRhcyBzdWt1cnRhcy4nLCdTdWt1cnRpIHZhaXpkxIUnLCfErnZ5a2lzIHBhxaFhbGludGFzLicsJ8SudnlraXMgcGFrZWlzdGFzLicsJ8SudnlraXMgc3VrdXJ0YXMuJywnUmVkYWd1b3RpIMSvdnlrxK8nLCdTdWt1cnRpIMSvdnlrxK8nLCdQcmFkxb5pYScsJ1BhYmFpZ2EnLCdLYXMnLCfErnZ5a2TFvml1cyBpxaFzYXVnb3RpJywnUHJvY2VkxatyYSBwYcWhYWxpbnRhLicsJ1Byb2NlZMWrcmEgcGFrZWlzdGEuJywnUHJvY2VkxatyYSBzdWt1cnRhLicsJ0tlaXN0aSBmdW5rY2lqxIUnLCdLZWlza3RpIHByb2NlZMWrcsSFJywnU3VrdXJ0aSBmdW5rY2lqxIUnLCdTdWt1cnRpIHByb2NlZMWrcsSFJywnR3LEhcW+aW5pbW8gdGlwYXMnLCdTZWthIHBhxaFhbGludGEuJywnU2VrYSBzdWt1cnRhLicsJ1Nla2EgcGFrZWlzdGEuJywnS2Vpc3RpIHNla8SFJywnU3VrdXJ0aSBzZWvEhScsJ1RpcGFzIHBhxaFhbGludGFzLicsJ1RpcGFzIHN1a3VydGFzLicsJ0tlaXN0aSB0aXDEhScsJ1N1a3VydGkgdGlwxIUnLCdUcmlnZXJpcyBwYcWhYWxpbnRhcy4nLCdUcmlnZXJpcyBwYWtlaXN0YXMuJywnVHJpZ2VyaXMgc3VrdXJ0YXMuJywnS2Vpc3RpIHRyaWdlcsSvJywnU3VrdXJ0aSB0cmlnZXLErycsJ0xhaWthcycsJ8SudnlraXMnLCdWYXJ0b3RvamFzIGnFoXRyaW50YXMuJywnVmFydG90b2pvIGR1b21lbnlzIHBha2Vpc3RpLicsJ1ZhcnRvdG9qYXMgc3VrdXJ0YXMuJywnxaBpZnJ1b3RhcycsJ1Byb2NlZMWrcmEnLCdTdXRlaWt0aScsJ0F0xaFhdWt0aScsYXJyYXkoJyVkIHByb2Nlc2FzIG51dHJhdWt0YXMuJywnJWQgcHJvY2VzYWkgbnV0cmF1a3RpLicsJyVkIHByb2Nlc8WzIG51dHJhdWt0YS4nKSwnJWQgacWhIHZpc28nLCdOdXRyYXVrdGknLGFycmF5KCdQYWtlaXN0YXMgJWQgxK9yYcWhYXMuJywnUGFrZWlzdGkgJWQgxK9yYcWhYWkuJywnUGFrZWlzdGFzICVkIMSvcmHFocWzLicpLCdEdSBrYXJ0dXMgc3ByYWd0ZWzEl2tpdGUgcGVseXRlIG5vcsSXZGFtaSByZWRhZ3VvdGkuJyxhcnJheSgnJWQgxK9yYcWhYXMgxK9rZWx0YS4nLCclZCDEr3JhxaFhaSDEr2tlbHRpLicsJyVkIMSvcmHFocWzIMSva2VsdGEuJyksJ05lxK9tYW5vbWEgYXRyaW5rdGkgbGVudGVsxJdzJywnUnnFoWlhaScsJ05vcsSXZGFtaSByZWRhZ3VvdGkgcmVpa8WhbcSZIG5hdWRva2l0ZSByZWRhZ2F2aW1vIG51b3JvZMSFLicsJ1B1c2xhcGlzJywncGFza3V0aW5pcycsJ3Zpc2FzIHJlenVsdGF0YXMnLCdLbG9udW90aScsJ0ltcG9ydGFzJywnICcsJ0xlbnRlbMSXcyBidXZvIGnFoXR1xaF0aW50b3MuJywnTGVudGVsxJdzIHBlcmtlbHRvcy4nLCdMZW50ZWzEl3MgbnVrb3BpanVvdG9zLicsJ0xlbnRlbMSXcyBwYcWhYWxpbnRvcy4nLCdMZW50ZWzEl3MgaXIgdmFpemRhaScsJ0llxaFrb3RpIGR1b21lbsWzIGxlbnRlbMSXc2UnLCdWYXJpa2xpcycsJ0R1b21lbsWzIGlsZ2lzJywnSW5kZWtzbyBpbGdpcycsJ0xhaXN2b3MgdmlldG9zJywnxK5yYcWhYWknLCdBbmFsaXp1b3RpJywnT3B0aW1penVvdGknLCdQYXRpa3JpbnRpJywnUGF0YWlzeXRpJywnVHXFoXRpbnRpJywnUGVya2VsdGkgxK8ga2l0xIUgZHVvbWVuxbMgYmF6xJknLCdQZXJrZWx0aScsJ0tvcGlqdW90aScsJ1Nla29zJywnR3JhZmlrYXMnLCdOdXJvZHl0dSBsYWlrdScsJ2RhYmFyJyk7YnJlYWs7Y2FzZSJ0ciI6JFc9YXJyYXkoJ0VtaW4gbWlzaW4/JywnRG9zeWEgZ8O2bmRlcmlsZW1peW9yLicsJ0JpciBkb3N5YSBpw6dpbiBpemluIHZlcmlsZW4gZG9zeWEgc8SxbsSxcsSxICVzQi4nLCdEb3N5YSBtZXZjdXQgZGXEn2lsLicsJ2JvxZ8nLCdvcmlqaW5hbCcsJ1RhYmxvIHlvay4nLCdEaWwnLCdLdWxsYW4nLCclcyB1emFudMSxbGFyxLFuZGFuIGJpcmluaSBrdWxsYW7EsW4uJywnRG9zeWEgbWV2Y3V0LicsJ0t1bGxhbsSxY8SxIHTDvHJsZXJpJywnU2F5xLFsYXInLCdUYXJpaCB2ZSB6YW1hbicsJ1PDtnpjw7xrbGVyJywnxLBraWxpJywnQcSfJywnR2VvbWV0cmknLCdMaXN0ZWxlcicsJ1Npc3RlbScsJ1N1bnVjdScsJ0t1bGxhbsSxY8SxJywnUGFyb2xhJywnR2lyacWfJywnS2FsxLFjxLEgZ2lyacWfJywnVmVyaSBzZcOnJywnWWFwxLF5xLEgZ8O2c3RlcicsJ0RlxJ9pxZ9pbSBnw7Zyw7xuw7xtJywnVGFibG8gZGXEn2nFn3RpcicsJ1llbmkgw7bEn2UnLCdTb24gc2F5ZmEnLCdEw7x6ZW4nLGFycmF5KCclZCBiYXl0JywnJWQga2FkYXIgYmF5dCcpLCdTZcOnJywnRm9ua3NpeW9ubGFyJywnS8O8bWVsZW1lJywnQXJhbWEnLCdoZXJoYW5naSBiaXIgeWVyJywnU8SxcmFsYScsJ2F6YWxhbicsJ3PEsW7EsXInLCdZYXrEsSB1enVubHXEn3UnLCdFeWxlbScsJ1NRTCBrb211dHUnLCdhw6cnLCdrYXlkZXQnLCdWZXJpdGFiYW7EsSBkZcSfacWfdGlyJywnRGXEn2nFn2ltIMWfZW1hc8SxJywnWWFyYXTEsW0gxZ9lbWFzxLEnLCdWZXJpdGFiYW7EsSDFn2VtYXPEsScsJ8SwemlubGVyJywnRMO2a8O8bScsJ8OHxLFrxLHFnycsJ3Zlcml0YWJhbsSxJywnxZ9lbWEnLCdZZW5pIHRhYmxvIHlhcmF0Jywnc2XDpycsJ2x0cicsJ1Jlc2VuZCBQT1NUIGRhdGE/JywnR2XDp2Vyc2l6IENyb3NzLXNpdGUgcmVxdWVzdCBmb3JnZXJ5IChDU1JGKSBqZXRvbnUuIEZvcnVtdSB0ZWtyYXIgeW9sbGEuJywnQmHFn2FyxLF5bGEgw6fEsWvEsWxkxLEuJywnT3R1cnVtIGRlc3RlxJ9pIGV0a2luIG9sbWFsxLFkxLFyLicsJ090dXJ1bSBzw7xyZXNpIGRvbGR1LCBsw7x0ZmVuIHRla3JhciBnaXJpxZ8geWFwxLFuLicsJ0dlw6dlcnNpeiBraW1saWsuJywnVXphbnTEsSB5b2snLCdEZXN0ZWtsZW5lbiBQSFAgdXphbnTEsWxhcsSxbmRhbiAoJXMpIGhpw6diaXJpIG1ldmN1dCBkZcSfaWwuJywnw4dvayBiw7x5w7xrIFBPU1QgdmVyaXNpLCB2ZXJpeWkgYXphbHTEsW4geWEgZGEgYXlhciB5w7ZuZXJnZXNpbmkgdXlndW4gb2xhcmFrIHlhcMSxbGFuZMSxcsSxbi4nLCdWZXJpdGFiYW7EsScsJ0dlw6dlcnNpeiB2ZXJpdGFiYW7EsS4nLCdWZXJpdGFiYW5sYXLEsSBkw7zFn8O8w7xsZMO8LicsJ1Zlcml0YWJhbsSxIHNlw6cnLCdZZW5pIHZlcml0YWJhbsSxIHlhcmF0JywnxLDFn2xlbSBsaXN0ZXNpJywnRGXEn2nFn2tlbmxlcicsJ0R1cnVtJywnJXMgc8O8csO8bTogJXMgUEhQIHV6YW50xLFzxLEgaWxlICVzJywnJXMgb2xhcmFrIGdpcmnFnyB5YXDEsWxkxLEuJywnS2FyxZ/EsWxhxZ90xLFybWEnLCdUYWJsb2xhcicsJ0TDvMWfw7xyJywnVGF6ZWxlJywnxZ5lbWEnLCdHZcOnZXJzaXogxZ9lbWEuJywnU8SxcmEgeW9rLicsJyUuM2YgcycsJ0TEscWfIGFuYWh0YXJsYXInLCdrYXLFn8SxbGHFn3TEsXJtYScsJ1NpbGlubWVrIMO8emVyZScsJ0tvbG9uIGFkxLEnLCdQYXJhbWV0cmUgYWTEsScsJ1TDvHInLCdVenVubHVrJywnU2XDp2VuZWtsZXInLCdPdG9tYXRpayB5w7xrc2VsdCcsJ1ZhcnNhecSxbGFuIGRlxJ9lcmxlcicsJ1lvcnVtJywnU29ucmF5YSBla2xlJywnWXVrYXLEsSB0YcWfxLEnLCdBxZ5hxJ/EsSB0YcWfJywnS2FsZMSxcicsJ0fDtnLDvG7DvG0nLCdUYWJsbycsJ0tvbG9uJywnRGl6aW5sZXInLCdEaXppbmxlcmkgZGXEn2nFn3RpcicsJ0theW5haycsJ0hlZGVmJywnWcO8a3NlbHRpbG1layDDvHplcmUnLCdEZcSfacWfdGlyJywnRMSxxZ8gYW5haHRhciBla2xlJywnVGV0aWtsZXInLCdUZXRpayBla2xlJywnUGVybWFuZW50IGxpbmsnLCfEsGhyYcOnJywnw4fEsWt0xLEnLCdCacOnaW0nLCdZb3JkYW1sYXInLCdPbGF5bGFyJywnVmVyaScsJ2TDvHplbicsJ0t1bGxhbsSxY8SxIHlhcmF0JywnU29yZ3VkYSBoYXRhJyxhcnJheSgnJWQgc8SxcmEpJywnJWQga2FkYXIgc8SxcmEnKSxhcnJheSgnU29yZ3UgacWfbGV0aWxtZXNpIHRhbWFtbGFuZMSxLiAlZCBzxLFyYShyb3cpIGV0a2lsZW5kaS4nLCdTb3JndSBpxZ9sZXRpbG1lc2kgdGFtYW1sYW5kxLEuIEJ1bmRhbiAlZCBrYWRhciBzxLFyYSBldGtpbGVuZGkuJyksJ8SwxZ9sZXRpbG1layBpw6dpbiBrb211dCB5b2suJyxhcnJheSgnJWQgc29yZ3VudW4gacWfbGV0aWxtZXNpIHRhbWFtbGFuZMSxLicsJyVkIGthZGFyIHNvcmd1bnVuIGnFn2xldGlsbWVzaSB0YW1hbWxhbmTEsS4nKSwnRG9zeWEgZ8O2bmRlcicsJ0Rvc3lhIGfDtm5kZXJpbWkgZXRraW4gZGXEn2lsLicsJ8SwxZ9sZXQnLCdEdXIgaGF0YScsJ1NhZGVjZSBoYXRhbGFyxLEgZ8O2c3Rlci4nLCdTdW51Y3VkYW4nLCclcyB3ZWIgc3VudWN1c3UgZG9zeWFzxLEnLCdEb3N5YSDDp2FsxLHFn3TEsXInLCdUYXJpaCcsJ0JvxZ9sdWsnLCdFZGl0IGFsbCcsJ8OWxJ9lIHNpbGluZGkuJywnw5bEn2UgZ8O8bmNlbGxlbmRpLicsJ8OWxJ9lbGVyIGVrbGVuZGkuJywnRWtsZScsJ0theWRldCcsJ0theWRldCB2ZSBkw7x6ZW5sZW1leWUgZGV2YW0gZXQnLCdLYXlkZXQgdmUgc29ucmFraW4gZWtsZScsJ1NpbCcsJ1RhYmxvIGTDvMWfw7xyw7xsZMO8LicsJ1RhYmxvIGRlxJ9pxZ90aXJpbGRpLicsJ1RhYmxvIHlhcmF0xLFsZMSxLicsJ1RhYmxvIHlhcmF0Jywna2FidWwgZWRpbGViaWxpciBhbGFuIHNhecSxc8SxIGHFn8SxbGTEsS4gTMO8dGZlbiAlcyB2ZSAlcyBkw7zFn8O8csO8bi4nLCdUYWJsbyBhZMSxJywnbW90b3InLCdCw7Zsw7xtw7wgdGFyYWbEsW5kYW4nLCdCw7Zsw7xtbGVyJywnQsOWbMO8bSBhZMSxJywnRGXEn2VybGVyJywnRGl6aW5sZXIgZGXEn2nFn3RpcmlsaWRpLicsJ0RpemluIFTDvHLDvCcsJ0tvbG9uICh1enVubHXEn3UpJywnQWQnLCdWZXJpdGFiYW7EsSBkw7zFn8O8csO8bGTDvC4nLCdWZXJpdGFiYW7EsW7EsW4gaXNtaSBkZcSfacWfdGlyaWxkaS4nLCdWZXJpdGFiYW7EsSB5YXJhdMSxbGTEsS4nLCdWZXJpdGFiYW7EsSBkZcSfacWfdGlyaWxkaS4nLCdWZXJpdGFiYW7EsSB5YXJhdCcsJ8WeZW1hIGTDvMWfw7xyw7xsZMO8LicsJ8WeZW1hIHlhcmF0xLFsZMSxLicsJ8WeZW1hIGRlxJ9pxZ90aXJpbGRpLicsJ8OHYcSfcsSxJyxhcnJheSgnWW9yZGFtIMOnYcSfcsSxbGTEsSwgJWQgc8SxcmEocm93KSBldGtpbGVuZGkuJywnWW9yZGFtIMOnYcSfcsSxbGTEsSwgJWQgc8SxcmFsYXIocm93cykgZXRraWxlbmRpLicpLCdExLHFnyBhbmFodGFyIGTDvMWfw7xyw7xsZMO8LicsJ0TEscWfIGFuYWh0YXIgZGXEn2nFn3Rpci4nLCdExLHFnyBhbmFodGFyIHlhcmF0LicsJ0theW5hayB2ZSBoZWRlZiBrb2xvbmxhciBheW7EsSB2ZXJpIHTDvHLDvCBvbG1hayB6b3J1bmRhLCBoZWRlZiBrb2xvbmRhIGJpciBkaXppbiB2ZSBiYcWfdnVydWxhbiB2ZXJpIGJ1bHVubWFsxLEuJywnRMSxxZ8gYW5haHRhcicsJ0hlZGVmIHRhYmxvJywnRGXEn2nFnycsJ0tvbG9uIGVrbGRlJywnR8O2csO8bsO8bSBkw7zFn8O8csO8bGTDvC4nLCdHw7Zyw7xuw7xtIGRlxJ9pxZ90aXJpbGRpLicsJ0fDtnLDvG7DvG0geWFyYXTEsWxkxLEuJywnR8O2csO8bsO8bSB5YXJhdCcsJ09sYXkgZMO8xZ/DvGTDvGxkw7wuJywnT2xheSBkZcSfacWfdGlyaWxkaS4nLCdPbGF5IHlhcmF0xLFsZMSxLicsJ0RlxJ9pxZ90aXJtZSBvbGF5xLEnLCdZYXJhdG1hIG9sYXnEsScsJ0JhxZ9sYScsJ1NvbicsJ0hlcnphbWFuJywnVGFtYW1sYW1hIGtvcnVtYXPEsSBBw4dJSycsJ1lvcmRhbSBkw7zFn8O8csO8bGTDvC4nLCdZb3JkYW0gZGXEn2nFn3RpcmlsZGkuJywnWW9yZGFtIHlhcmF0xLFsZMSxLicsJ0RlxJ9pxZ90aXJtZSBmb25rc3lpb251JywnRGXEn2nFn3Rpcm1lIHnDtm50ZW1pJywnRm9ua3NpeW9uIHlhcmF0JywnWcO2bnRlbSB5YXJhdCcsJ0dlcmkgZMO2bsO8xZ8gdMO8csO8JywnRGl6aSBkw7zFn8O8csO8bGTDvC4nLCdEaXppIHlhcmF0xLFsZMSxLicsJ0RpemkgZGXEn2nFn3RpcmlsZGkuJywnRGl6aSBkZcSfacWfdGlyJywnRGl6aSB5YXJhdCcsJ1TDvHIgZMO8xZ/DvHLDvGxkw7wuJywnVMO8ciB5YXJhdMSxbGTEsS4nLCdUw7xyIGRlxJ9pxZ90aXInLCdUw7xyIHlhcmF0JywnVGV0aWsgZMO8xZ/DvHLDvGxkw7wuJywnVGV0aWsgZGXEn2nFn3RpcmlsZGkuJywnVGV0aWsgeWFyYXTEsWxkxLEuJywnVGV0aWsgZGXEn2nFn3Rpci4nLCdUZXRpayB5YXJhdCcsJ1phbWFuJywnT2xheScsJ0t1bGxhbsSxY8SxIGTDvMWfw7xyw7xsZMO8LicsJ0t1bGxhbsSxY8SxIGRlxJ9pxZ90aXJpbGRpLicsJ0t1bGxhbsSxY8SxIHlhcmF0xLFsZMSxLicsJ0hhcm1hbmxhbmTEsS4nLCdZb3JkYW0nLCfEsG10aXlheicsJ0dlcmkgYWwnLGFycmF5KCclZCBzw7xyZcOnIMO2bGTDvHLDvGxkw7wuJywnJWQgYWRldCBzw7xyZcOnIMO2bGTDvHLDvGxkw7wuJyksJyVkIHRvcGxhbWRhJywnw5ZsZMO8cicsYXJyYXkoJyVkIMO2xJ9lIGV0a2lsZW5kaS4nLCclZCBrYWRhciDDtsSfZSBldGtpbGVuZGkuJyksJ0RlxJ9lcmluIMO8emVyaW5lIMOnaWZ0IHTEsWtsYXnEsW4gdmUgZGXEn2nFn3RpcmluLicsYXJyYXkoJyVkIHPEsXJhIGl0aGFsIGVkaWxkaS4nLCclZCBrYWRhciBzxLFyYSBpdGhhbCBlZGlsZGkuJyksJ1RhYmxvIHNlw6dpbGVtZWRpJywnxLBsacWfa2lsZXInLCdEZcSfZXJpIGRlxJ9pxZ90aXJtZWsgacOnaW4gZMO8emVubGVtZSBiYcSfbGFudMSxc8SxbsSxIGt1bGxhbsSxbi4nLCdTYXlmYScsJ3NvbicsJ3TDvG0gc29udcOnJywnS2xvbmxhJywnxLB0aGFsJywnICcsJ1RhYmxvbGFyIGJ1ZGFuZMSxLicsJ1RhYmxvbGFyIHRhxZ/EsW5kxLEuJywnVGFibG9sYXIga29weWFsYW5kxLEuJywnVGFibG9sYXIgZMO8xZ/DvHLDvGxkw7wuJywnVGFibG9sYXIgdmUgZ8O2csO8bsO8bWxlcicsJ1RhYmxvbGFyZGEgdmVyaSBhcmEuJywnTW90b3InLCdWZXJpIHV6dW5sdcSfdScsJ0RpemluIHV6dW5sdcSfdScsJ1NlcmJlc3QgdmVyaScsJ1PEsXJhbGFyIChSb3dzKScsJ8OHw7Z6w7xtbGVtZScsJ0VuIHV5Z3VuIGhhbGUgZ2V0aXJtZScsJ0RlbmV0bGVtZScsJ1RhbWlyJywnQnVkYScsJ0RpxJ9lciB2ZXJpdGFiYW7EsW5hIHRhxZ/EsScsJ1RhxZ/EsScsJ0tvcHlhbGEnLCdEaXppbGVyJywnVGFrdmltbGknLCdCaXIgYW5kYScsJ8WfaW1kaScpO2JyZWFrO2Nhc2Uicm8iOiRXPWFycmF5KCdFyJl0aSBwcmVjaXM/JywnTnUgYW0gcHV0dXQgw65uY8SDcmNhIGZpyJlpZXJ1bCBwZSBzZXJ2ZXIuJywnRmnImWllcnVsIG1heGltIGFkbWlzIC0gJXNPLicsJ0HImWEgZmnImWllciBudSBleGlzdMSDLicsJ2dvbCcsJ29yaWdpbmFsJywnw45uIGJhemEgZGUgZGF0ZSBudSBzdW50IHRhYmVsZS4nLCdMaW1iYScsJ0FsZWdlJywnRm9sb3NpyJtpIHVuYSBkaW4gdXJtxIN0b2FyZWxlIGV4dGVuc2lpICVzLicsJ0ZpyJlpZXJ1bCBkZWphIGV4aXN0xIMuJywnVGlwdXJpIGRlIHV0aWxpemF0b3JpJywnTnVtxINyJywnRGF0YSDImWkgdGltcHVsJywnyJhpcmUgZGUgY2FyYWN0ZXJlJywnVGlwIGJpbmFyJywnUmXIm2VhJywnR2VvbWV0cmllJywnTGlzdGUnLCdTaXN0ZW1hJywnU2VydmVyJywnTnVtZSBkZSB1dGlsaXphdG9yJywnUGFyb2xhJywnSW50csSDJywnTG9nYXJlIHBlcm1hbmVudMSDJywnU2VsZWN0ZWF6xIMnLCdBcmF0xIMgc3RydWN0dXJhJywnTW9kaWZpY8SDIHJlcHJlemVudGFyZScsJ01vZGlmaWPEgyB0YWJlbHVsJywnw45uc2NyaWVyZSBub3XEgycsJ1VsdGltYSBwYWdpbsSDJywnRWRpdGVhesSDJyxhcnJheSgnJWQgb2N0ZXQnLCclZCBvY3RlyJtpJyksJ1NlbGVjdGVhesSDJywnRnVuY8ibaWknLCdBZ3JlZ2FyZScsJ0PEg3V0YXJlJywnb3JpdW5kZScsJ1NvcnRhcmUnLCdkZXNjcmVzY8SDdG9yJywnTGltaXQnLCdMdW5naW1lYSB0ZXh0dWx1aScsJ0FjyJtpdW5lJywnU1FMIHF1ZXJ5JywnZGVzY2hpZGUnLCdzYWx2ZWF6xIMnLCdNb2RpZmljxIMgYmF6YSBkZSBkYXRlJywnTW9kaWZpY8SDIHNjaGVtYScsJ0NyZWF6xIMgbyBzY2hlbcSDJywnU2NoZW1hIGJhemVpIGRlIGRhdGUnLCdQcml2ZWxlZ2lpJywnRHVtcCcsJ0XImWlyZScsJ2JhemEgZGUgZGF0ZScsJ3NjaGVtYScsJ0NyZWF6xIMgdGFiZWwgbm91Jywnc2VsZWN0ZWF6xIMnLCdsdHInLCdSZXRyaW1pdGUgZGF0ZWxlIFBPU1Q/JywnQ1NSRiB0b2tlbiBpbXBvc2liaWwuIFJldHJpbWl0ZSBmb3JtYS4nLCdByJtpIGXImWl0IGN1IHN1Y2Nlcy4nLCdTZXNpdW5pbGUgdHJlYnVpZSBzxIMgZmllIHBvcm5pdGUuJywnVGltcHVsIHNlc2l1bmlpIGEgZXhwaXJhdCwgcm9nIHPEgyB0ZSBsb2doZXppIGRpbiBub3UuJywnTnVtZWxlIGRlIHV0aWxpemF0b3Igc2F1IHBhcm9sYSBlc3RlIGdyZciZaXTEgy4nLCdOdSBlc3RlIGV4dGVuc2llJywnTnUgZXN0ZSBhdmlhYmlsxIMgbmljaSBvIGV4dGVuc2llIHN1cG9ydGF0xIMgKCVzKS4nLCdNZXNhanVsIFBPU1QgZXN0ZSBwcmVhIG1hcmUuIFRyaW1pdGXIm2kgbWFpIHB1yJtpbmUgZGF0ZSBzYXUgbcSDcmnIm2kgcGFyYW1ldHJ1bCBjb25maWd1cmHIm2llaSBkaXJlY3RpdmVpICVzLicsJ0JhemEgZGUgZGF0ZScsJ0JhesSDIGRlIGRlYXRlIGludmFsaWTEgy4nLCdCYXplIGRlIGRhdGUgYXUgZm9zdCDImXRlcnNlLicsJ0FsZWdlIGJhemEgZGUgZGF0ZScsJ0NyZWF6xIMgbyBiYXrEgyBkZSBkYXRlIG5vdcSDJywnTGlzdGEgcHJvY2VzZWxvcicsJ1ZhcmlhYmlsZScsJ1N0YXJlJywnVmVyc2l1bmVhICVzOiAlcyBjdSBleHRlbnNpYSBQSFAgJXMnLCdByJtpIGludHJhdCBjYTogJXMnLCdDb2xhyJtpb25hcmUnLCdUYWJlbGUnLCfImHRlcmdlJywnw45tcHJvc3DEg3RlYXrEgycsJ1NjaGVtYScsJ1NjaGVtxIMgaW5jb3JlY3TEgy4nLCdOdSBzdW50IMOubnNjcmllcmkuJywnJS4zZiBzJywnQ2hlaXVyaSBleHRlcm5lJywnY29sYcibaW9uYXJlYScsJ0xhIMiZdGVyZ2VyZScsJ0RlbnVtaXJlYSBjb2xvYW5laScsJ051bWVsZSBwYXJhbWV0cnVsdWknLCdUaXAnLCdMdW5naW1lJywnQWPIm2l1bmUnLCdDcmXImXRlcmVhIGF1dG9tYXTEgycsJ1ZhbG9hcmVhIGluacibaWFsxIMnLCdDb21lbnRhcml1JywnQWRhdWfEgyDDrm5jxIMnLCdNaciZY8SDIMOubiBzdXMnLCdNaciZY8SDIMOubiBqb3MnLCfImHRlcmdlJywnUmVwcmV6ZW50YXJlJywnVGFiZWwnLCdDb2xvYW7EgycsJ0luZGV4ZScsJ01vZGlmaWPEgyBpbmRleGUnLCdTdXJzxIMnLCdTY29wJywnTGEgbW9kaWZpY2FyZScsJ01vZGlmaWPEgycsJ0FkYXVnxIMgY2hlaSBleHRlcm4nLCdUcmlnZ2VyZScsJ0FkYXVnxIMgdHJpZ2dlcicsJ0FkcmVzxIMgcGVybWFuZW50xIMnLCdFeHBvcnQnLCdEYXRlIGRlIGXImWlyZScsJ0Zvcm1hdCcsJ1Byb2NlZHVyaSDImWkgZnVuY8ibaWkgc2FsdmF0ZScsJ0V2ZW5pbWVudGUnLCdEYXRlJywnZWRpdGFyZScsJ0NyZWF6xIMgdXRpbGl6YXRvcicsJ0Vyb2FyZSDDrm4gcXVlcnknLGFycmF5KCclZCDDrm5zY3JpZXJlJywnJWQgw65uc2NyaWVyaScpLGFycmF5KCdRdWVyeSBleGVjdXRhdCwgJWQgw65uc2NyaWVyZSBtb2RpZmljYXTEgy4nLCdRdWVyeSBleGVjdXRhdCwgJWQgw65uc2NyaWVyaSBtb2RpZmljYXRlLicpLCdOdSBzdW50IGNvbWVuemkgZGUgZXhlY3V0YXQuJyxhcnJheSgnJWQgcXVlcnkgZXhlY3V0YXQuJywnJWQgcXVlcnktdXJpIGV4ZWN1dGF0ZSBjdSBzdWNjZXMuJyksJ8OObmNhcmPEgyBmaciZaWVydWwnLCfDjm5jxINyY2FyZWEgZmnImWllcmVsb3IgZXN0ZSBpbnRlcnppc8SDLicsJ0V4ZWN1dMSDJywnT3ByZciZdGV0ZSBsYSBlcm9hcmUnLCdBcmF0xIMgZG9hciBncmXImWVsaScsJ0RlIHBlIHNlcnZlcicsJ0ZpyJlpZXJ1bCAlcyBwZSBzZXJ2ZXInLCdFeGVjdXTEgyBmaciZaWVyJywnSXN0b3JpYScsJ0N1csSDyJtwJywnRWRpdGVhesSDIHRvdCcsJ8OObnJlZ2lzdHJhcmUgYSBmb3N0IMiZdGVhcnPEgy4nLCfDjm5yZWdpc3RyYXJlIGEgZm9zdCDDrm5ub2l0xIMuJywnw45ucmVnaXN0cmFyZWElcyBhIGZvc3QgaW5zZXJhdMSDLicsJ0luc2VyZWF6xIMnLCdTYWx2ZWF6xIMnLCdTYWx2ZWF6xIMgyJlpIGNvbnRpbnXEgyBlZGl0YXJlYScsJ1NhbHZlYXrEgyDImWkgbWFpIGluc2VyZWF6xIMnLCfImHRlcmdlJywnVGFiZWx1bCBhIGZvc3QgyJl0ZXJzLicsJ1RhYmVsdWwgYSBmb3N0IG1vZGlmaWNhdC4nLCdUYWJlbHVsIGEgZm9zdCBjcmVhdC4nLCdDcmVhesSDIHRhYmVsJywnTnVtxINydWwgbWF4aW0gZGUgw65uc2NyaWVyaSBkaXNwb25pYmlsZSBhIGZvc3QgYXRpbnMuIE1ham9yYcibaSAlcyDImWkgJXMuJywnRGVudW1pcmVhIHRhYmVsdWx1aScsJ3RpcCcsJ8OObXBhcnRlJywnU2VjyJtpdW5pJywnRGVudW1pcmVhIHNlY8ibaXVuaWknLCdQYXJhbWV0cnUnLCdJbmRleGVsZSBhdSBmb3N0IG1vZGlmaWNhdGUuJywnVGlwdWwgaW5kZXh1bHVpJywnQ29sb2FuxIMgKGx1bmdpbWVhKScsJ1RpdGx1JywnQmF6YSBkZSBkYXRlIGEgZm9zdCDImXRlYXJzxIMuJywnQmF6YSBkZSBkYXRlIGEgZm9zdCByZWRlbnVtaXTEgy4nLCdCYXphIGRlIGRhdGUgYSBmb3N0IGNyZWF0xIMuJywnQmF6YSBkZSBkYXRlIGEgZm9zdCBtb2RpZmljYXTEgy4nLCdDcmVhesSDIGJhemEgZGUgZGF0ZScsJ1NjaGVtYSBhIGZvc3QgyJl0ZWFyc8SDLicsJ1NjaGVtYSBhIGZvc3QgY3JlYXTEgy4nLCdTY2hlbWEgYSBmb3N0IG1vZGlmaWNhdMSDLicsJ0FwZWxlYXrEgycsYXJyYXkoJ0EgZm9zdCBleGVjdXRhdMSDIHByb2NlZHVyxIMsICVkIMOubnNjcmllcmUgYSBmb3N0IG1vZGlmaWNhdMSDLicsJ0EgZm9zdCBleGVjdXRhdMSDIHByb2NlZHVyxIMsICVkIMOubnNjcmllcmkgYXUgZm9zdCBtb2RpZmljYXRlLicpLCdDaGVpIGV4dGVybiBhIGZvc3QgyJl0ZXJzLicsJ0NoZWkgZXh0ZXJuIGEgZm9zdCBtb2RpZmljYXQuJywnQ2hlaSBleHRlcm4gYSBmb3N0IGNyZWF0LicsJ0NvbG9hbmVsZSBhciB0cmVidWkgc8SDIGFpYsSDIGFjZWxlYcWfaSB0aXB1cmkgZGUgZGF0ZSwgdHJlYnVpZSBzxIMgZXhpc3RlIGRhdGUgZGUgcmVmZXJpbsWjxIMgyJlpIHVuIGluZGV4IHBlIGNvbG9hbmVsYS3Fo2ludMSDLicsJ0NoZWkgZXh0ZXJuJywnVGFiZWxhIHNjb3AnLCdNb2RpZmljxIMnLCdBZGF1Z8SDIGNvbG9hbsSDJywnUmVwcmV6ZW50YXJlYSBhIGZvc3QgyJl0ZWFyc8SDLicsJ1JlcHJlemVudGFyZWEgYSBmb3N0IG1vZGlmaWNhdMSDLicsJ1JlcHJlemVudGFyZWEgYSBmb3N0IGNyZWF0xIMuJywnQ3JlYXrEgyByZXByZXplbnRhcmUnLCdFdmVuaW1lbnR1bCBhIGZvc3QgyJl0ZXJzLicsJ0V2ZW5pbWVudHVsIGEgZm9zdCBtb2RpZmljYXQuJywnRXZlbmltZW50dWwgYSBmb3N0IGFkxIN1Z2F0LicsJ01vZGlmaWPEgyBldmVuaW1lbnQnLCdDcmVlYXrEgyBldmVuaW1ldCcsJ8OObmNlcHV0JywnU3bDonLImWl0JywnRmllY2FyZScsJ1NhbHZlYXrEgyBkdXDEgyBmaW5pc2FyZScsJ1Byb2NlZHVyYSBhIGZvc3QgyJl0ZWFyc8SDLicsJ1Byb2NlZHVyYSBhIGZvc3QgbW9kaWZpY2F0xIMuJywnUHJvY2VkdXJhIGEgZm9zdCBjcmVhdMSDLicsJ01vZGlmaWPEgyBmdW5jyJtpYScsJ01vZGlmaWPEgyBwcm9jZWR1cmEnLCdDcmVhesSDIGZ1bmPIm2llJywnQ3JlYXrEgyBwcm9jZWR1csSDJywnVGlwdWwgcmV0dXJuxINyaWknLCfCq3NlY3ZlbsibYcK7IGEgZm9zdCDImXRlYXJzxIMuJywnwqtzZWN2ZW7Im2HCuyBhIGZvc3QgY3JlYXTEgy4nLCfCq3NlY3ZlbsibYcK7IGEgZm9zdCBtb2RpZmljYXTEgy4nLCdNb2RpZmljxIMgwqtzZWN2ZW7Im8SDwrsnLCdDcmVhesSDIMKrc2VjdmVuyJvEg8K7JywnVGlpcHVsIGEgZm9zdCDImXRlcnMuJywnQ3JlYXrEgyB0aXAgbm91LicsJ01vZGlmaWPEgyB0aXAnLCdDcmVhesSDIHRpcCBub2knLCdUcmlnZ2VydWwgYSBmb3N0IMiZdGVycy4nLCdUcmlnZ2VydWwgYSBmb3N0IG1vZGlmaWNhdC4nLCdUcmlnZ2VydWwgYSBmb3N0IGNyZWF0LicsJ01vZGlmaWPEgyB0cmlnZ2VyJywnQ3JlYXrEgyB0cmlnZ2VyJywnVGltcCcsJ0V2ZW5pbWVudCcsJ1V0aWxpemF0b3J1bCBhIGZvc3QgyJl0ZXJzLicsJ1V0aWxpemF0b3J1bCBhIGZvc3QgbW9kaWZpY2F0LicsJ1V0aWxpemF0b3J1bCBhIGZvc3QgY3JlYXQuJywnSGFzaGVkJywnUHJvY2VkdXLEgycsJ1Blcm1pdGUnLCdJbnRlcnppY2UnLGFycmF5KCdBIGZvc3QgZmluaXNhdCAlZCBwcm9jZXMuJywnQXUgZm9zdCBmaW5pc2F0ZSAlZCBwcm9jZXNlLicpLCfDjm4gdG90YWwgJWQnLCdUZXJtaW7EgycsYXJyYXkoJ0EgZm9zdCBtb2RpZmljYXTEgyAlZCDDrm5zY3JpZXJlLicsJ0F1IGZvc3QgbW9kaWZpY2F0ZSAlZCDDrm5zY3JpZXJpLicpLCdEdWJsdSBjbGljayBwZSBvIHZhbG9hcmUgcGVudHJ1IGEgbyBtb2RpZmljYS4nLGFycmF5KCclZCByw65uZCBpbXBvcnRhdC4nLCclZCByw65uZHVyaSBpbXBvcnRhdGUuJyksJ051IGFtIHB1dHV0IHNlbGVjdGEgZGF0ZSBkaW4gdGFiZWwnLCdSZWxhyJtpaScsJ1ZhbG9hcmUgcG9hdGUgZmkgbW9kaWZpY2F0xIMgY3UgYWp1dG9ydWwgYnV0b251bHVpIMKrbW9kaWZpY8SDwrsuJywnUGFnaW5hJywndWx0aW1hJywndG90IHJlenVsdGF0dWwnLCdDbG9uZWF6xIMnLCdJbXBvcnTEgycsJywnLCdUYWJlbGVsZSBhdSBmb3N0IGN1csSDyJthdGUuJywnVGFiZWxlbGUgYXUgZm9zdCBtdXRhdGUuJywnVGFiZWxlbGUgYXUgZm9zdCBjb3BpYXRlJywnVGFiZWxlbGUgYXUgZm9zdCDImXRlcnNlLicsJ1RhYmVsZSDImWkgcmVwcmV6ZW50xINyaScsJ0NhdXTEgyDDrm4gdGFiZWxlJywnVGlwJywnQ2FudGl0YXRlYSBkZSBkYXRlJywnQ2FudGl0YXRlYSBkZSBpbmRleGUnLCdTcGHIm2l1IGxpYmVyJywnw45uc2NyaWVyaScsJ0FuYWxpemVhesSDJywnT3B0aW1pemVhesSDJywnQ29udHJvbGVhesSDJywnUmVwYXLEgycsJ0N1csSDyJvEgycsJ011dMSDIMOubiBhbHTEgyBiYXrEgyBkZSBkYXRlJywnTXV0xIMnLCdDb3BpYXrEgycsJ8KrU2VjdmVuyJtlwrsnLCdQcm9ncmFtJywnw45uIHRpbXB1bCBjdXJlbnQnLCdISDpNTTpTUycpO2JyZWFrO2Nhc2UicnUiOiRXPWFycmF5KCfQktGLINGD0LLQtdGA0LXQvdGLPycsJ9Cd0LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNCz0YDRg9C30LjRgtGMINGE0LDQudC7INC90LAg0YHQtdGA0LLQtdGALicsJ9Cc0LDQutGB0LjQvNCw0LvRjNC90YvQuSDRgNCw0LfRgNC10YjQtdC90L3Ri9C5INGA0LDQt9C80LXRgCDRhNCw0LnQu9CwIC0gJXNCLicsJ9Ci0LDQutC+0LPQviDRhNCw0LnQu9CwINC90LUg0YHRg9GJ0LXRgdGC0LLRg9C10YIuJywn0L/Rg9GB0YLQvicsJ9C40YHRhdC+0LTQvdGL0LknLCfQkiDQsdCw0LfQtSDQtNCw0L3QvdGL0YUg0L3QtdGCINGC0LDQsdC70LjRhi4nLCfQr9C30YvQuicsJ9CS0YvQsdGA0LDRgtGMJywn0JjRgdC/0L7Qu9GM0LfRg9C50YLQtSDQvtC00L3QviDQuNC3INGN0YLQuNGFINGA0LDRgdGI0LjRgNC10L3QuNC5ICVzLicsJ9Ck0LDQudC7INGD0LbQtSDRgdGD0YnQtdGB0YLQstGD0LXRgi4nLCfQotC40L/RiyDQv9C+0LvRjNC30L7QstCw0YLQtdC70LXQuScsJ9Cn0LjRgdC70L4nLCfQlNCw0YLQsCDQuCDQstGA0LXQvNGPJywn0KHRgtGA0L7QutC4Jywn0JTQstC+0LjRh9C90YvQuSDRgtC40L8nLCfQodC10YLRjCcsJ9CT0LXQvtC80LXRgtGA0LjRjycsJ9Ch0L/QuNGB0LrQuCcsJ9CU0LLQuNC20L7QuicsJ9Ch0LXRgNCy0LXRgCcsJ9CY0LzRjyDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8nLCfQn9Cw0YDQvtC70YwnLCfQktC+0LnRgtC4Jywn0J7RgdGC0LDQstCw0YLRjNGB0Y8g0LIg0YHQuNGB0YLQtdC80LUnLCfQktGL0LHRgNCw0YLRjCcsJ9Cf0L7QutCw0LfQsNGC0Ywg0YHRgtGA0YPQutGC0YPRgNGDJywn0JjQt9C80LXQvdC40YLRjCDQv9GA0LXQtNGB0YLQsNCy0LvQtdC90LjQtScsJ9CY0LfQvNC10L3QuNGC0Ywg0YLQsNCx0LvQuNGG0YMnLCfQndC+0LLQsNGPINC30LDQv9C40YHRjCcsJ9Cf0L7RgdC70LXQtNC90Y/RjyDRgdGC0YDQsNC90LjRhtCwJywn0KDQtdC00LDQutGC0LjRgNC+0LLQsNGC0YwnLGFycmF5KCclZCDQsdCw0LnRgicsJyVkINCx0LDQudGC0LAnLCclZCDQsdCw0LnRgtC+0LInKSwn0JLRi9Cx0YDQsNGC0YwnLCfQpNGD0L3QutGG0LjQuCcsJ9CQ0LPRgNC10LPQsNGG0LjRjycsJ9Cf0L7QuNGB0LonLCfQsiDQu9GO0LHQvtC8INC80LXRgdGC0LUnLCfQodC+0YDRgtC40YDQvtCy0LDRgtGMJywn0L/QviDRg9Cx0YvQstCw0L3QuNGOJywn0JvQuNC80LjRgicsJ9CU0LvQuNC90LAg0YLQtdC60YHRgtCwJywn0JTQtdC50YHRgtCy0LjQtScsJ1NRTCDQt9Cw0L/RgNC+0YEnLCfQvtGC0LrRgNGL0YLRjCcsJ9GB0L7RhdGA0LDQvdC40YLRjCcsJ9CY0LfQvNC10L3QuNGC0Ywg0LHQsNC30YMg0LTQsNC90L3Ri9GFJywn0JjQt9C80LXQvdC40YLRjCDRgdGF0LXQvNGDJywn0J3QvtCy0LDRjyDRgdGF0LXQvNCwJywn0KHRhdC10LzQsCDQsdCw0LfRiyDQtNCw0L3QvdGL0YUnLCfQn9C+0LvQvdC+0LzQvtGH0LjRjycsJ9CU0LDQvNC/Jywn0JLRi9C50YLQuCcsJ9Cx0LDQt9CwINC00LDQvdC90YvRhScsJ9GB0YXQtdC80LAnLCfQodC+0LfQtNCw0YLRjCDQvdC+0LLRg9GOINGC0LDQsdC70LjRhtGDJywn0LLRi9Cx0YDQsNGC0YwnLCdsdHInLCfQldGJ0LUg0YDQsNC3INC/0L7RgdC70LDRgtGMINC00LDQvdC90YvQtSBQT1NUINC30LDQv9GA0L7RgdCwPycsJ9Cd0LXQtNC10LnRgdGC0LLQuNGC0LXQu9GM0L3Ri9C5IENTUkYg0YLQvtC60LXQvS4g0J7RgtC/0YDQsNCy0LjRgtC1INGE0L7RgNC80YMg0LXRidGRINGA0LDQty4nLCfQktGLINGD0YHQv9C10YjQvdC+INC/0L7QutC40L3Rg9C70Lgg0YHQuNGB0YLQtdC80YMuJywn0KHQtdGB0YHQuNC4INC00L7Qu9C20L3RiyDQsdGL0YLRjCDQstC60LvRjtGH0LXQvdGLLicsJ9Ch0YDQvtC6INC00LXQudGB0YLQstC40Y8g0YHQtdGB0YHQuCDQuNGB0YLQtdC6LCDQvdGD0LbQvdC+INGB0L3QvtCy0LAg0LLQvtC50YLQuCDQsiDRgdC40YHRgtC10LzRgy4nLCfQndC10L/RgNCw0LLQuNC70YzQvdC+0LUg0LjQvNGPINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyDQuNC70Lgg0L/QsNGA0L7Qu9GMLicsJ9Cd0LXRgiDRgNCw0YHRiNC40YDQtdC90LjQuScsJ9Cd0LUg0LTQvtGB0YLRg9C/0L3QviDQvdC4INC+0LTQvdC+0LPQviDRgNCw0YHRiNC40YDQtdC90LjRjyDQuNC3INC/0L7QtNC00LXRgNC20LjQstCw0LXQvNGL0YUgKCVzKS4nLCfQodC70LjRiNC60L7QvCDQsdC+0LvRjNGI0L7QuSDQvtCx0YrQtdC8IFBPU1Qt0LTQsNC90L3Ri9GFLiDQn9C+0YjQu9C40YLQtSDQvNC10L3RjNGI0LjQuSDQvtCx0YrQtdC8INC00LDQvdC90YvRhSDQuNC70Lgg0YPQstC10LvQuNGH0YzRgtC1INC/0LDRgNCw0LzQtdGC0YAg0LrQvtC90YTQuNCz0YPRgNCw0YbQuNC+0L3QvdC+0Lkg0LTQuNGA0LXQutGC0LjQstGLICVzLicsJ9CR0LDQt9CwINC00LDQvdC90YvRhScsJ9Cf0LvQvtGF0LDRjyDQsdCw0LfQsCDQtNCw0L3QvdGL0YUuJywn0JHQsNC30Ysg0LTQsNC90L3Ri9GFINGD0LTQsNC70LXQvdGLLicsJ9CS0YvQsdGA0LDRgtGMINCx0LDQt9GDINC00LDQvdC90YvRhScsJ9Ch0L7Qt9C00LDRgtGMINC90L7QstGD0Y4g0LHQsNC30YMg0LTQsNC90L3Ri9GFJywn0KHQv9C40YHQvtC6INC/0YDQvtGG0LXRgdGB0L7QsicsJ9Cf0LXRgNC10LzQtdC90L3Ri9C1Jywn0KHQvtGB0YLQvtGP0L3QuNC1Jywn0JLQtdGA0YHQuNGPICVzOiAlcyDRgSBQSFAt0YDQsNGB0YjQuNGA0LXQvdC40LXQvCAlcycsJ9CS0Ysg0LLQvtGI0LvQuCDQutCw0Lo6ICVzJywn0KDQtdC20LjQvCDRgdC+0L/QvtGB0YLQsNCy0LvQtdC90LjRjycsJ9Ci0LDQsdC70LjRhtGLJywn0KPQtNCw0LvQuNGC0YwnLCfQntCx0L3QvtCy0LjRgtGMJywn0KHRhdC10LzQsCcsJ9Cd0LXQv9GA0LDQstC40LvRjNC90LDRjyDRgdGF0LXQvNCwLicsJ9Cd0LXRgiDQt9Cw0L/QuNGB0LXQuS4nLCclLjNmIHMnLCfQktC90LXRiNC90LjQtSDQutC70Y7Rh9C4Jywn0YDQtdC20LjQvCDRgdC+0L/QvtGB0YLQsNCy0LvQtdC90LjRjycsJ9Cf0YDQuCDRgdGC0LjRgNCw0L3QuNC4Jywn0J3QsNC30LLQsNC90LjQtSDQv9C+0LvRjycsJ9Cd0LDQt9Cy0LDQvdC40LUg0L/QsNGA0LDQvNC10YLRgNCwJywn0KLQuNC/Jywn0JTQu9C40L3QsCcsJ9CU0LXQudGB0YLQstC40LUnLCfQkNCy0YLQvtC80LDRgtC40YfQtdGB0LrQvtC1INC/0YDQuNGA0LDRidC10L3QuNC1Jywn0JfQvdCw0YfQtdC90LjRjyDQv9C+INGD0LzQvtC70YfQsNC90LjRjicsJ9Ca0L7QvNC80LXQvdGC0LDRgNC40LknLCfQlNC+0LHQsNCy0LjRgtGMINC10YnQtScsJ9Cf0LXRgNC10LzQtdGB0YLQuNGC0Ywg0LLQstC10YDRhScsJ9Cf0LXRgNC10LzQtdGB0YLQuNGC0Ywg0LLQvdC40LcnLCfQo9C00LDQu9C40YLRjCcsJ9Cf0YDQtdC00YHRgtCw0LLQu9C10L3QuNC1Jywn0KLQsNCx0LvQuNGG0LAnLCfQmtC+0LvQvtC90LrQsCcsJ9CY0L3QtNC10LrRgdGLJywn0JjQt9C80LXQvdC40YLRjCDQuNC90LTQtdC60YHRiycsJ9CY0YHRgtC+0YfQvdC40LonLCfQptC10LvRjCcsJ9Cf0YDQuCDQvtCx0L3QvtCy0LvQtdC90LjQuCcsJ9CY0LfQvNC10L3QuNGC0YwnLCfQlNC+0LHQsNCy0LjRgtGMINCy0L3QtdGI0L3QuNC5INC60LvRjtGHJywn0KLRgNC40LPQs9C10YDRiycsJ9CU0L7QsdCw0LLQuNGC0Ywg0YLRgNC40LPQs9C10YAnLCfQn9C+0YHRgtC+0Y/QvdC90LDRjyDRgdGB0YvQu9C60LAnLCfQrdC60YHQv9C+0YDRgicsJ9CS0YvRhdC+0LTQvdGL0LUg0LTQsNC90L3Ri9C1Jywn0KTQvtGA0LzQsNGCJywn0KXRgNCw0L3QuNC80YvQtSDQv9GA0L7RhtC10LTRg9GA0Ysg0Lgg0YTRg9C90LrRhtC40LgnLCfQodC+0LHRi9GC0LjRjycsJ9CU0LDQvdC90YvQtScsJ9GA0LXQtNCw0LrRgtC40YDQvtCy0LDRgtGMJywn0KHQvtC30LTQsNGC0Ywg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPJywn0J7RiNC40LHQutCwINCyINC30LDQv9GA0L7RgWUnLGFycmF5KCclZCDRgdGC0YDQvtC60LAnLCclZCDRgdGC0YDQvtC60LgnLCclZCDRgdGC0YDQvtC6JyksYXJyYXkoJ9CX0LDQv9GA0L7RgSDQt9Cw0LLQtdGA0YjQtdC9LCDQuNC30LzQtdC90LXQvdCwICVkINC30LDQv9C40YHRjC4nLCfQl9Cw0L/RgNC+0YEg0LfQsNCy0LXRgNGI0LXQvSwg0LjQt9C80LXQvdC10L3RiyAlZCDQt9Cw0L/QuNGB0LguJywn0JfQsNC/0YDQvtGBINC30LDQstC10YDRiNC10L0sINC40LfQvNC10L3QtdC90L4gJWQg0LfQsNC/0LjRgdC10LkuJyksJ9Cd0LXRgiDQutC+0LzQsNC90LQg0LTQu9GPINCy0YvQv9C+0LvQvdC10L3QuNGPLicsYXJyYXkoJyVkINC30LDQv9GA0L7RgSDQstGL0L/QvtC70L3QtdC9INGD0YHQv9C10YjQvdC+LicsJyVkINC30LDQv9GA0L7RgdCwINCy0YvQv9C+0LvQvdC10L3QviDRg9GB0L/QtdGI0L3Qvi4nLCclZCDQt9Cw0L/RgNC+0YHQvtCyINCy0YvQv9C+0LvQvdC10L3QviDRg9GB0L/QtdGI0L3Qvi4nKSwn0JfQsNCz0YDRg9C30LjRgtGMINGE0LDQudC7INC90LAg0YHQtdGA0LLQtdGAJywn0JfQsNCz0YDRg9C30LrQsCDRhNCw0LnQu9C+0LIg0L3QsCDRgdC10YDQstC10YAg0LfQsNC/0YDQtdGJ0LXQvdCwLicsJ9CS0YvQv9C+0LvQvdC40YLRjCcsJ9Ce0YHRgtCw0L3QvtCy0LjRgtGMINC/0YDQuCDQvtGI0LjQsdC60LUnLCfQotC+0LvRjNC60L4g0L7RiNC40LHQutC4Jywn0KEg0YHQtdGA0LLQtdGA0LAnLCfQpNCw0LnQuyAlcyDQvdCwINCy0LXQsdGB0LXRgNCy0LXRgNC1Jywn0JfQsNC/0YPRgdGC0LjRgtGMINGE0LDQudC7Jywn0JjRgdGC0L7RgNC40Y8nLCfQntGH0LjRgdGC0LjRgtGMJywn0KDQtdC00LDQutGC0LjRgNC+0LLQsNGC0Ywg0LLRgdGRJywn0JfQsNC/0LjRgdGMINGD0LTQsNC70LXQvdCwLicsJ9CX0LDQv9C40YHRjCDQvtCx0L3QvtCy0LvQtdC90LAuJywn0JfQsNC/0LjRgdGMJXMg0LHRi9C70LAg0LLRgdGC0LDQstC70LXQvdCwLicsJ9CS0YHRgtCw0LLQuNGC0YwnLCfQodC+0YXRgNCw0L3QuNGC0YwnLCfQodC+0YXRgNCw0L3QuNGC0Ywg0Lgg0L/RgNC+0LTQvtC70LbQuNGC0Ywg0YDQtdC00LDQutGC0LjRgNC+0LLQsNC90LjQtScsJ9Ch0L7RhdGA0LDQvdC40YLRjCDQuCDQstGB0YLQsNCy0LjRgtGMINC10YnQtScsJ9Ch0YLQtdGA0LXRgtGMJywn0KLQsNCx0LvQuNGG0LAg0LHRi9C70LAg0YPQtNCw0LvQtdC90LAuJywn0KLQsNCx0LvQuNGG0LAg0LHRi9C70LAg0LjQt9C80LXQvdC10L3QsC4nLCfQotCw0LHQu9C40YbQsCDQsdGL0LvQsCDRgdC+0LfQtNCw0L3QsC4nLCfQodC+0LfQtNCw0YLRjCDRgtCw0LHQu9C40YbRgycsJ9CU0L7RgdGC0LjQs9C90YPRgtC+INC80LDQutGB0LjQvNCw0LvRjNC90L7QtSDQt9C90LDRh9C10L3QuNC1INC60L7Qu9C40YfQtdGB0YLQstCwINC00L7RgdGC0YPQv9C90YvRhSDQv9C+0LvQtdC5LiDQo9Cy0LXQu9C40YfRjNGC0LUgJXMg0LggJXMuJywn0J3QsNC30LLQsNC90LjQtSDRgtCw0LHQu9C40YbRiycsJ9GC0LjQvycsJ9Cg0LDQt9C00LXQu9C40YLRjCDQv9C+Jywn0KDQsNC30LTQtdC70YsnLCfQndCw0LfQstCw0L3QuNC1INGA0LDQt9C00LXQu9CwJywn0J/QsNGA0LDQvNC10YLRgNGLJywn0JjQvdC00LXQutGB0Ysg0LjQt9C80LXQvdC10L3Riy4nLCfQotC40L8g0LjQvdC00LXQutGB0LAnLCfQmtC+0LvQvtC90LrQsCAo0LTQu9C40L3QsCknLCfQndCw0LfQstCw0L3QuNC1Jywn0JHQsNC30LAg0LTQsNC90L3Ri9GFINCx0YvQu9CwINGD0LTQsNC70LXQvdCwLicsJ9CR0LDQt9CwINC00LDQvdC90YvRhSDQsdGL0LvQsCDQv9C10YDQtdC40LzQtdC90L7QstCw0L3QsC4nLCfQkdCw0LfQsCDQtNCw0L3QvdGL0YUg0LHRi9C70LAg0YHQvtC30LTQsNC90LAuJywn0JHQsNC30LAg0LTQsNC90L3Ri9GFINCx0YvQu9CwINC40LfQvNC10L3QtdC90LAuJywn0KHQvtC30LTQsNGC0Ywg0LHQsNC30YMg0LTQsNC90L3Ri9GFJywn0KHRhdC10LzQsCDRg9C00LDQu9C10L3QsC4nLCfQodC+0LfQtNCw0L3QsCDQvdC+0LLQsNGPINGB0YXQtdC80LAuJywn0KHRhdC10LzQsCDQuNC30LzQtdC90LXQvdCwLicsJ9CS0YvQt9Cy0LDRgtGMJyxhcnJheSgn0JHRi9C70LAg0LLRi9C30LLQsNC90LAg0L/RgNC+0YbQtdC00YPRgNCwLCAlZCDQt9Cw0L/QuNGB0Ywg0LHRi9C70LAg0LjQt9C80LXQvdC10L3QsC4nLCfQkdGL0LvQsCDQstGL0LfQstCw0L3QsCDQv9GA0L7RhtC10LTRg9GA0LAsICVkINC30LDQv9C40YHQuCDQsdGL0LvQviDQuNC30LzQtdC90LXQvdC+LicsJ9CR0YvQu9CwINCy0YvQt9Cy0LDQvdCwINC/0YDQvtGG0LXQtNGD0YDQsCwgJWQg0LfQsNC/0LjRgdC10Lkg0LHRi9C70L4g0LjQt9C80LXQvdC10L3Qvi4nKSwn0JLQvdC10YjQvdC40Lkg0LrQu9GO0Ycg0LHRi9C7INGD0LTQsNC70LXQvS4nLCfQktC90LXRiNC90LjQuSDQutC70Y7RhyDQsdGL0Lsg0LjQt9C80LXQvdC10L0uJywn0JLQvdC10YjQvdC40Lkg0LrQu9GO0Ycg0LHRi9C7INGB0L7Qt9C00LDQvS4nLCfQmtC+0LvQvtC90LrQuCDQtNC+0LvQttC90Ysg0LjQvNC10YLRjCDQvtC00LjQvdCw0LrQvtCy0YvQtSDRgtC40L/RiyDQtNCw0L3QvdGL0YUsINCyINGA0LXQt9GD0LvRjNGC0LjRgNGD0Y7RidC10Lkg0LrQvtC70L7QvdC60LUg0LTQvtC70LbQtdC9INCx0YvRgtGMINC40L3QtNC10LrRgSwg0LTQsNC90L3Ri9C1INC00LvRjyDQuNC80L/QvtGA0YLQsCDQtNC+0LvQttC90Ysg0YHRg9GJ0LXRgdGC0LLQvtCy0LDRgtGMLicsJ9CS0L3QtdGI0L3QuNC5INC60LvRjtGHJywn0KDQtdC30YPQu9GM0YLQuNGA0YPRjtGJ0LDRjyDRgtCw0LHQu9C40YbQsCcsJ9CY0LfQvNC10L3QuNGC0YwnLCfQlNC+0LHQsNCy0LjRgtGMINC60L7Qu9C+0L3QutGDJywn0J/RgNC10LTRgdGC0LDQstC70LXQvdC40LUg0LHRi9C70L4g0YPQtNCw0LvQtdC90L4uJywn0J/RgNC10LTRgdGC0LDQstC70LXQvdC40LUg0LHRi9C70L4g0LjQt9C80LXQvdC10L3Qvi4nLCfQn9GA0LXQtNGB0YLQsNCy0LvQtdC90LjQtSDQsdGL0LvQviDRgdC+0LfQtNCw0L3Qvi4nLCfQodC+0LfQtNCw0YLRjCDQv9GA0LXQtNGB0YLQsNCy0LvQtdC90LjQtScsJ9Ch0L7QsdGL0YLQuNC1INCx0YvQu9C+INGD0LTQsNC70LXQvdC+LicsJ9Ch0L7QsdGL0YLQuNC1INCx0YvQu9C+INC40LfQvNC10L3QtdC90L4uJywn0KHQvtCx0YvRgtC40LUg0LHRi9C70L4g0YHQvtC30LTQsNC90L4uJywn0JjQt9C80LXQvdC40YLRjCDRgdC+0LHRi9GC0LjQtScsJ9Ch0L7Qt9C00LDRgtGMINGB0L7QsdGL0YLQuNC1Jywn0J3QsNGH0LDQu9C+Jywn0JrQvtC90LXRhicsJ9Ca0LDQttC00YvQtScsJ9Cf0L7RgdC70LUg0LfQsNCy0LXRgNGI0LXQvdC40Y8g0YHQvtGF0YDQsNC90LjRgtGMJywn0J/RgNC+0YbQtdC00YPRgNCwINCx0YvQu9CwINGD0LTQsNC70LXQvdCwLicsJ9Cf0YDQvtGG0LXQtNGD0YDQsCDQsdGL0LvQsCDQuNC30LzQtdC90LXQvdCwLicsJ9Cf0YDQvtGG0LXQtNGD0YDQsCDQsdGL0LvQsCDRgdC+0LfQtNCw0L3QsC4nLCfQmNC30LzQtdC90LjRgtGMINGE0YPQvdC60YbQuNGOJywn0JjQt9C80LXQvdC40YLRjCDQv9GA0L7RhtC10LTRg9GA0YMnLCfQodC+0LfQtNCw0YLRjCDRhNGD0L3QutGG0LjRjicsJ9Ch0L7Qt9C00LDRgtGMINC/0YDQvtGG0LXQtNGD0YDRgycsJ9CS0L7Qt9Cy0YDQsNGJ0LDQtdC80YvQuSDRgtC40L8nLCfCq9Cf0L7RgdC70LXQtNC+0LLQsNGC0LXQu9GM0L3QvtGB0YLRjMK7INGD0LTQsNC70LXQvdCwLicsJ9Ch0L7Qt9C00LDQvdCwINC90L7QstCw0Y8gwqvQv9C+0YHQu9C10LTQvtCy0LDRgtC10LvRjNC90L7RgdGC0YzCuy4nLCfCq9Cf0L7RgdC70LXQtNC+0LLQsNGC0LXQu9GM0L3QvtGB0YLRjMK7INC40LfQvNC10L3QtdC90LAuJywn0JjQt9C80LXQvdC40YLRjCDCq9C/0L7RgdC70LXQtNC+0LLQsNGC0LXQu9GM0L3QvtGB0YLRjMK7Jywn0KHQvtC30LTQsNGC0YwgwqvQv9C+0YHQu9C10LTQvtCy0LDRgtC10LvRjNC90L7RgdGC0YzCuycsJ9Ci0LjQvyDRg9C00LDQu9C10L0uJywn0KHQvtC30LTQsNC9INC90L7QstGL0Lkg0YLQuNC/LicsJ9CY0LfQvNC10L3QuNGC0Ywg0YLQuNC/Jywn0KHQvtC30LTQsNGC0Ywg0YLQuNC/Jywn0KLRgNC40LPQs9C10YAg0LHRi9C7INGD0LTQsNC70LXQvS4nLCfQotGA0LjQs9Cz0LXRgCDQsdGL0Lsg0LjQt9C80LXQvdC10L0uJywn0KLRgNC40LPQs9C10YAg0LHRi9C7INGB0L7Qt9C00LDQvS4nLCfQmNC30LzQtdC90LjRgtGMINGC0YDQuNCz0LPQtdGAJywn0KHQvtC30LTQsNGC0Ywg0YLRgNC40LPQs9C10YAnLCfQktGA0LXQvNGPJywn0KHQvtCx0YvRgtC40LUnLCfQn9C+0LvRjNC30L7QstCw0YLQtdC70Ywg0LHRi9C7INGD0LTQsNC70LXQvS4nLCfQn9C+0LvRjNC30L7QstCw0YLQtdC70Ywg0LHRi9C7INC40LfQvNC10L3QtdC9LicsJ9Cf0L7Qu9GM0LfQvtCy0LDRgtC10LvRjCDQsdGL0Lsg0YHQvtC30LTQsNC9LicsJ9Cl0LXRiNC40YDQvtCy0LDQvdC+Jywn0J/RgNC+0YbQtdC00YPRgNCwJywn0J/QvtC30LLQvtC70LjRgtGMJywn0JfQsNC/0YDQtdGC0LjRgtGMJyxhcnJheSgn0JHRi9C7INC30LDQstC10YDRiNC10L0gJWQg0L/RgNC+0YbQtdGB0YEuJywn0JHRi9C70L4g0LfQsNCy0LXRgNGI0LXQvdC+ICVkINC/0YDQvtGG0LXRgdGB0LAuJywn0JHRi9C70L4g0LfQsNCy0LXRgNGI0ZHQvdC+ICVkINC/0YDQvtGG0LXRgdGB0L7Qsi4nKSwn0JLRgdC10LPQviAlZCcsJ9CX0LDQstC10YDRiNC40YLRjCcsYXJyYXkoJ9CR0YvQu9CwINC40LfQvNC10L3QtdC90LAgJWQg0LfQsNC/0LjRgdGMLicsJ9CR0YvQu9C4INC40LfQvNC10L3QtdC90YsgJWQg0LfQsNC/0LjRgdC4LicsJ9CR0YvQu9C+INC40LfQvNC10L3QtdC90L4gJWQg0LfQsNC/0LjRgdC10LkuJyksJ9Ca0LvQuNC60L3QuCDQtNCy0LAg0YDQsNC30LAg0L/QviDQt9C90LDRh9C10L3QuNGOLCDRh9GC0L7QsdGLINC10LPQviDQuNC30LzQtdC90LjRgtGMLicsYXJyYXkoJ9CY0LzQv9C+0YDRgtC40YDQvtCy0LDQvdCwICVkINGB0YLRgNC+0LrQsC4nLCfQmNC80L/QvtGA0YLQuNGA0L7QstCw0L3QviAlZCDRgdGC0YDQvtC60LguJywn0JjQvNC/0L7RgNGC0LjRgNC+0LLQsNC90L4gJWQg0YHRgtGA0L7Qui4nKSwn0J3QtSDRg9C00LDQu9C+0YHRjCDQv9C+0LvRg9GH0LjRgtGMINC00LDQvdC90YvQtSDQuNC3INGC0LDQsdC70LjRhtGLJywn0KDQtdC70Y/RhtC40LgnLCfQmNC30LzQtdC90LjRgtGMINGN0YLQviDQt9C90LDRh9C10L3QuNC1INC80L7QttC90L4g0YEg0L/QvtC80L7RidGM0Y4g0YHRgdGL0LvQutC4IMKr0LjQt9C80LXQvdC40YLRjMK7LicsJ9Ch0YLRgNCw0L3QuNGG0LAnLCfQv9C+0YHQu9C10LTQvdGP0Y8nLCfQstC10YHRjCDRgNC10LfRg9C70YzRgtCw0YInLCfQmtC70L7QvdC40YDQvtCy0LDRgtGMJywn0JjQvNC/0L7RgNGCJywnICcsJ9Ci0LDQsdC70LjRhtGLINCx0YvQu9C4INC+0YfQuNGJ0LXQvdGLLicsJ9Ci0LDQsdC70LjRhtGLINCx0YvQu9C4INC/0LXRgNC10LzQtdGJ0LXQvdGLLicsJ9Ci0LDQsdC70LjRhtGLINGB0LrQvtC/0LjRgNC+0LLQsNC90YsuJywn0KLQsNCx0LvQuNGG0Ysg0LHRi9C70Lgg0YPQtNCw0LvQtdC90YsuJywn0KLQsNCx0LvQuNGG0Ysg0Lgg0L/RgNC10LTRgdGC0LDQstC70LXQvdC40Y8nLCfQn9C+0LjRgdC6INCyINGC0LDQsdC70LjRhtCw0YUnLCfQotC40L8nLCfQntCx0YrRkdC8INC00LDQvdC90YvRhScsJ9Ce0LHRitGR0Lwg0LjQvdC00LXQutGB0L7QsicsJ9Ch0LLQvtCx0L7QtNC90L7QtSDQvNC10YHRgtC+Jywn0KHRgtGA0L7QuicsJ9CQ0L3QsNC70LjQt9C40YDQvtCy0LDRgtGMJywn0J7Qv9GC0LjQvNC40LfQuNGA0L7QstCw0YLRjCcsJ9Cf0YDQvtCy0LXRgNC40YLRjCcsJ9CY0YHQv9GA0LDQstC40YLRjCcsJ9Ce0YfQuNGB0YLQuNGC0YwnLCfQn9C10YDQtdC80LXRgdGC0LjRgtGMINCyINC00YDRg9Cz0L7RjiDQsdCw0LfRgyDQtNCw0L3QvdGL0YUnLCfQn9C10YDQtdC80LXRgdGC0LjRgtGMJywn0JrQvtC/0LjRgNC+0LLQsNGC0YwnLCfCq9Cf0L7RgdC70LXQtNC+0LLQsNGC0LXQu9GM0L3QvtGB0YLQuMK7Jywn0KDQsNGB0L/QuNGB0LDQvdC40LUnLCfQkiDQtNCw0L3QvdC+0LUg0LLRgNC10LzRjycsJ9Cn0Kc60JzQnDrQodChJyk7YnJlYWs7Y2FzZSJ6aCI6JFc9YXJyYXkoJ+S9oOehruWumuWQl++8nycsJ+S4jeiDveS4iuS8oOaWh+S7tuOAgicsJ+acgOWkmuWFgeiuuOeahOaWh+S7tuWkp+Wwj+S4uiAlc0InLCfmlofku7bkuI3lrZjlnKjjgIInLCfnqbonLCfljp/lp4snLCfmsqHmnInooajjgIInLCfor63oqIAnLCfkvb/nlKgnLCfor7fkvb/nlKjov5nkupvmianlsZXkuK3nmoTkuIDkuKrvvJolc+OAgicsJ+aWh+S7tuW3suWtmOWcqOOAgicsJ+eUqOaIt+exu+WeiycsJ+aVsOWtlycsJ+aXpeacn+aXtumXtCcsJ+Wtl+espuS4sicsJ+S6jOi/m+WIticsJ+e9kee7nCcsJ+WHoOS9leWbvuW9oicsJ+WIl+ihqCcsJ+ezu+e7nycsJ+acjeWKoeWZqCcsJ+eUqOaIt+WQjScsJ+WvhueggScsJ+eZu+W9lScsJ+S/neaMgeeZu+W9lScsJ+mAieaLqeaVsOaNricsJ+aYvuekuue7k+aehCcsJ+abtOaUueinhuWbvicsJ+abtOaUueihqCcsJ+aWsOW7uumhuScsJ+acq+mhtScsJ+e8lui+kScsJyVkIOWtl+iKgicsJ+mAieaLqScsJ+WHveaVsCcsJ+mbhuWQiCcsJ+aQnOe0oicsJ+S7u+aEj+S9jee9ricsJ+aOkuW6jycsJ+mZjeW6jycsJ+mZkOWumicsJ+aWh+acrOmVv+W6picsJ+WKqOS9nCcsJ1NRTOWRveS7pCcsJ+aJk+W8gCcsJ+S/neWtmCcsJ+abtOaUueaVsOaNruW6kycsJ+abtOaUueaooeW8jycsJ+WIm+W7uuaooeW8jycsJ+aVsOaNruW6k+amguimgScsJ+adg+mZkCcsJ+WvvOWHuicsJ+azqOmUgCcsJ+aVsOaNruW6kycsJ+aooeW8jycsJ+WIm+W7uuaWsOihqCcsJ+mAieaLqScsJ2x0cicsJ+mHjeaWsOWPkemAgSBQT1NUIOaVsOaNru+8nycsJ+aXoOaViCBDU1JGIOS7pOeJjOOAgumHjeaWsOWPkemAgeihqOWNleOAgicsJ+azqOmUgOaIkOWKn+OAgicsJ+S8muivneW/hemhu+iiq+WQr+eUqOOAgicsJ+S8muivneW3sui/h+acn++8jOivt+mHjeaWsOeZu+W9leOAgicsJ+aXoOaViOWHreaNruOAgicsJ+ayoeacieaJqeWxlScsJ+ayoeacieaUr+aMgeeahCBQSFAg5omp5bGV5Y+v55So77yIJXPvvInjgIInLCflpKrlpKfnmoQgUE9TVCDmlbDmja7jgILlh4/lsJHmlbDmja7miJbogIXlop7liqAgJXMg6YWN572u5ZG95Luk44CCJywn5pWw5o2u5bqTJywn5peg5pWI5pWw5o2u5bqT44CCJywn5bey5Lii5byD5pWw5o2u5bqT44CCJywn6YCJ5oup5pWw5o2u5bqTJywn5Yib5bu65paw5pWw5o2u5bqTJywn6L+b56iL5YiX6KGoJywn5Y+Y6YePJywn54q25oCBJywnJXMg54mI5pys77yaJXMg6YCa6L+HIFBIUCDmianlsZUgJXMnLCfnmbvlvZXkuLrvvJolcycsJ+agoeWvuScsJ+ihqCcsJ+S4ouW8gycsJ+WIt+aWsCcsJ+aooeW8jycsJ+mdnuazleaooeW8j+OAgicsJ+ayoeacieihjOOAgicsJyUuM2Yg56eSJywn5aSW6ZSuJywn5qCh5a+5JywnT04gREVMRVRFJywn5YiX5ZCNJywn5Y+C5pWw5ZCNJywn57G75Z6LJywn6ZW/5bqmJywn6YCJ6aG5Jywn6Ieq5Yqo5aKe6YePJywn6buY6K6k5YC8Jywn5rOo6YeKJywn5re75Yqg5LiL5LiA5LiqJywn5LiK56e7Jywn5LiL56e7Jywn56e76ZmkJywn6KeG5Zu+Jywn6KGoJywn5YiXJywn57Si5byVJywn5pu05pS557Si5byVJywn5rqQJywn55uu5qCHJywnT04gVVBEQVRFJywn5pu05pS5Jywn5re75Yqg5aSW6ZSuJywn6Kem5Y+R5ZmoJywn5Yib5bu66Kem5Y+R5ZmoJywn5Zu65a6a6ZO+5o6lJywn5a+85Ye6Jywn6L6T5Ye6Jywn5qC85byPJywn5a2Q56iL5bqPJywn5LqL5Lu2Jywn5pWw5o2uJywn57yW6L6RJywn5Yib5bu655So5oi3Jywn5p+l6K+i5Ye66ZSZJywnJWQg6KGMJywn5omn6KGM5p+l6K+iT0vvvIwlZCDooYzlj5flvbHlk43jgIInLCfmsqHmnInlkb3ku6TmiafooYzjgIInLCclZCDmnaHmn6Xor6Llt7LmiJDlip/miafooYzjgIInLCfmlofku7bkuIrkvKAnLCfmlofku7bkuIrkvKDooqvnpoHnlKjjgIInLCfmiafooYwnLCflh7rplJnml7blgZzmraInLCfku4XmmL7npLrplJnor68nLCfmnaXoh6rmnI3liqHlmagnLCdXZWLmnI3liqHlmajmlofku7YgJXMnLCfov5DooYzmlofku7YnLCfljoblj7InLCfmuIXpmaQnLCfnvJbovpHlhajpg6gnLCflt7LliKDpmaTpobnnm67jgIInLCflt7Lmm7TmlrDpobnnm67jgIInLCflt7Lmj5LlhaXpobnnm64lc+OAgicsJ+aPkuWFpScsJ+S/neWtmCcsJ+S/neWtmOW5tue7p+e7ree8lui+kScsJ+S/neWtmOW5tuaPkuWFpeS4i+S4gOS4qicsJ+WIoOmZpCcsJ+W3suS4ouW8g+ihqOOAgicsJ+W3suabtOaUueihqOOAgicsJ+W3suWIm+W7uuihqOOAgicsJ+WIm+W7uuihqCcsJ+i2hei/h+acgOWkmuWFgeiuuOeahOWtl+auteaVsOmHj+OAguivt+WinuWKoCAlcyDlkowgJXMg44CCJywn6KGo5ZCNJywn5byV5pOOJywn5YiG5Yy657G75Z6LJywn5YiG5Yy6Jywn5YiG5Yy65ZCNJywn5YC8Jywn5bey5pu05pS557Si5byV44CCJywn57Si5byV57G75Z6LJywn5YiX77yI6ZW/5bqm77yJJywn5ZCN56ewJywn5bey5Lii5byD5pWw5o2u5bqT44CCJywn5bey6YeN5ZG95ZCN5pWw5o2u5bqT44CCJywn5bey5Yib5bu65pWw5o2u5bqT44CCJywn5bey5pu05pS55pWw5o2u5bqT44CCJywn5Yib5bu65pWw5o2u5bqTJywn5bey5Lii5byD5qih5byP44CCJywn5bey5Yib5bu65qih5byP44CCJywn5bey5pu05pS55qih5byP44CCJywn6LCD55SoJywn5a2Q56iL5bqP6KKr6LCD55So77yMJWQg6KGM6KKr5b2x5ZON44CCJywn5bey5Yig6Zmk5aSW6ZSu44CCJywn5bey5pu05pS55aSW6ZSu44CCJywn5bey5Yib5bu65aSW6ZSu44CCJywn5rqQ5YiX5ZKM55uu5qCH5YiX5b+F6aG75YW35pyJ55u45ZCM55qE5pWw5o2u57G75Z6L77yM5Zyo55uu5qCH5YiX5LiK5b+F6aG75pyJ5LiA5Liq57Si5byV5bm25LiU5byV55So55qE5pWw5o2u5b+F6aG75a2Y5Zyo44CCJywn5aSW6ZSuJywn55uu5qCH6KGoJywn5pu05pS5Jywn5aKe5Yqg5YiXJywn5bey5Lii5byD6KeG5Zu+44CCJywn5bey5pu05pS56KeG5Zu+44CCJywn5bey5Yib5bu66KeG5Zu+44CCJywn5Yib5bu66KeG5Zu+Jywn5bey5Lii5byD5LqL5Lu244CCJywn5bey5pu05pS55LqL5Lu244CCJywn5bey5Yib5bu65LqL5Lu244CCJywn5pu05pS55LqL5Lu2Jywn5Yib5bu65LqL5Lu2Jywn5byA5aeLJywn57uT5p2fJywn5q+PJywn5a6M5oiQ5ZCO5L+d5a2YJywn5bey5Lii5byD5a2Q56iL5bqP44CCJywn5bey5pu05pS55a2Q56iL5bqP44CCJywn5bey5Yib5bu65a2Q56iL5bqP44CCJywn5pu05pS55Ye95pWwJywn5pu05pS56L+H56iLJywn5Yib5bu65Ye95pWwJywn5Yib5bu66L+H56iLJywn6L+U5Zue57G75Z6LJywn5bey5Lii5byD5bqP5YiX44CCJywn5bey5Yib5bu65bqP5YiX44CCJywn5bey5pu05pS55bqP5YiX44CCJywn5pu05pS55bqP5YiXJywn5Yib5bu65bqP5YiXJywn5bey5Lii5byD57G75Z6L44CCJywn5bey5Yib5bu657G75Z6L44CCJywn5pu05pS557G75Z6LJywn5Yib5bu657G75Z6LJywn5bey5Lii5byD6Kem5Y+R5Zmo44CCJywn5bey5pu05pS56Kem5Y+R5Zmo44CCJywn5bey5Yib5bu66Kem5Y+R5Zmo44CCJywn5pu05pS56Kem5Y+R5ZmoJywn5Yib5bu66Kem5Y+R5ZmoJywn5pe26Ze0Jywn5LqL5Lu2Jywn5bey5Lii5byD55So5oi344CCJywn5bey5pu05pS555So5oi344CCJywn5bey5Yib5bu655So5oi344CCJywnSGFzaGVkJywn5a2Q56iL5bqPJywn5o6I5p2DJywn5bqf6ZmkJywnJWQg5Liq6L+b56iL6KKr57uI5q2iJywn5YWx6K6hICVkJywn57uI5q2iJywnJWQg5Liq6aG555uu5Y+X5Yiw5b2x5ZON44CCJywn5Zyo5YC85LiK5Y+M5Ye757G75L+u5pS55a6D44CCJywnJWQg6KGM5bey5a+85YWl44CCJywn5LiN6IO96YCJ5oup6K+l6KGoJywn5YWz6IGU5L+h5oGvJywn5L2/55So57yW6L6R6ZO+5o6l5p2l5L+u5pS56K+l5YC844CCJywn6aG16Z2iJywn5pyA5ZCOJywn5omA5pyJ57uT5p6cJywn5YWL6ZqGJywn5a+85YWlJywnLCcsJ+W3sua4heepuuihqOOAgicsJ+W3sui9rOenu+ihqOOAgicsJ+ihqOW3suWkjeWItuOAgicsJ+W3suS4ouW8g+ihqOOAgicsJ+ihqOWSjOinhuWbvicsJ+WcqOihqOS4reaQnOe0ouaVsOaNricsJ+W8leaTjicsJ+aVsOaNrumVv+W6picsJ+e0ouW8lemVv+W6picsJ+aVsOaNruepuumXsicsJ+ihjOaVsCcsJ+WIhuaekCcsJ+S8mOWMlicsJ+ajgOafpScsJ+S/ruWkjScsJ+a4heepuicsJ+i9rOenu+WIsOWFtuWug+aVsOaNruW6kycsJ+i9rOenuycsJ+WkjeWIticsJ+W6j+WIlycsJ+iwg+W6picsJ+WcqOaMh+WumuaXtumXtCcsJ0hIOk1NOlNTJyk7YnJlYWs7Y2FzZSJ6aC10dyI6JFc9YXJyYXkoJ+S9oOeiuuWumuWXju+8nycsJ+eEoeazleS4iuWCs+aqlOahiOOAgicsJ+WFgeioseeahOaqlOahiOS4iumZkOWkp+Wwj+eCuiVzQicsJ+aqlOahiOS4jeWtmOWcqCcsJ+epuuWAvCcsJ+WOn+WniycsJ+aykuacieizh+aWmeihqOOAgicsJ+iqnuiogCcsJ+S9v+eUqCcsJ+iri+S9v+eUqOS4i+WIl+WFtuS4reS4gOWAiyBleHRlbnNpb24gJXPjgIInLCfmqpTmoYjlt7LlrZjlnKjjgIInLCfkvb/nlKjogIXpoZ7lnosnLCfmlbjlrZcnLCfml6XmnJ/mmYLplpMnLCflrZfnrKbkuLInLCfkuozpgLLliLYnLCfntrLot68nLCflub7kvZUnLCfliJfooagnLCfos4fmlpnluqvns7vntbEnLCfkvLrmnI3lmagnLCfluLPomZ8nLCflr4bnorwnLCfnmbvlhaUnLCfmsLjkuYXnmbvlhaUnLCfpgbjmk4fos4fmlpknLCfnp4Dlh7rntZDmp4snLCfmm7TmlLnmqqLoppbooagnLCfmm7TmlLnos4fmlpnooagnLCfmlrDlu7rpoIUnLCfmnIDlvozkuIDpoIEnLCfnt6jovK8nLCclZCBieXRlKHMpJywn6YG45pOHJywn5Ye95pW4Jywn6ZuG5ZCIJywn5pCc5bCLJywn5Lu75oSP5L2N572uJywn5o6S5bqPJywn6ZmN5YaqJywn6ZmQ5a6aJywnVGV4dCDplbfluqYnLCfli5XkvZwnLCdTUUzlkb3ku6QnLCfmiZPplosnLCflhLLlrZgnLCfmm7TmlLnos4fmlpnluqsnLCfmm7TmlLnos4fmlpnooajntZDmp4snLCflu7rnq4vos4fmlpnooajntZDmp4snLCfos4fmlpnluqvmnrbmp4snLCfmrIrpmZAnLCflsI7lhaUv5bCO5Ye6Jywn55m75Ye6Jywn6LOH5paZ5bqrJywn6LOH5paZ6KGo57WQ5qeLJywn5bu656uL5paw6LOH5paZ6KGoJywn6YG45pOHJywnbHRyJywn6YeN5paw55m86YCB6KGo5Zau6LOH5paZPycsJ+eEoeaViOeahCBDU1JGIHRva2Vu44CC6KuL6YeN5paw55m86YCB6KGo5Zau44CCJywn55m75Ye65oiQ5Yqf44CCJywnU2Vzc2lvbiDlv4XpoIjooqvllZ/nlKjjgIInLCdTZXNzaW9uIOW3sumBjuacn++8jOiri+mHjeaWsOeZu+WFpeOAgicsJ+eEoeaViOeahOaGkeitieOAgicsJ+aykuaciSDmk7TlhYXmqKHntYQnLCfmspLmnInku7vkvZXmlK/mj7TnmoRQSFDmk7TlhYXmqKHntYTvvIglc++8ieOAgicsJ1BPU1Qg6LOH5paZ5aSq5aSn44CC5rib5bCR6LOH5paZ5oiW6ICF5aKe5YqgICVzIOeahOioreWumuWAvOOAgicsJ+izh+aWmeW6qycsJ+eEoeaViOeahOizh+aWmeW6q+OAgicsJ+izh+aWmeW6q+W3suWIqumZpOOAgicsJ+mBuOaTh+izh+aWmeW6qycsJ+W7uueri+aWsOizh+aWmeW6qycsJ+mAsueoi+WIl+ihqCcsJ+iuiuaVuCcsJ+eLgOaFiycsJyVz54mI5pys77yaJXMg6YCP6YGOUEhQ5pO05YWF5qih57WEICVzJywn55m76YyE54K677yaJXMnLCfmoKHlsI0nLCfos4fmlpnooagnLCfkuJ/mo4QnLCfph43mlrDovInlhaUnLCfos4fmlpnooajntZDmp4snLCfnhKHmlYjnmoTos4fmlpnooajntZDmp4vjgIInLCfmspLmnInooYzjgIInLCclLjNm56eSJywn5aSW6Y21Jywn5qCh5bCNJywnT04gREVMRVRFJywn5YiX5ZCNJywn5Y+D5pW45ZCN56ixJywn6aGe5Z6LJywn6ZW35bqmJywn6YG46aCFJywn6Ieq5YuV5aKe5YqgJywn6aCQ6Kit5YC8Jywn6Ki76KejJywn5paw5aKe5LiL5LiA5YCLJywn5LiK56e7Jywn5LiL56e7Jywn56e76ZmkJywn5qqi6KaW6KGoJywn6LOH5paZ6KGoJywn5YiXJywn57Si5byVJywn5pu05pS557Si5byVJywn5L6G5rqQJywn55uu5qiZJywnT04gVVBEQVRFJywn5pu05pS5Jywn5paw5aKe5aSW6Y21Jywn6Ke455m85ZmoJywn5bu656uL6Ke455m85ZmoJywn5rC45LmF6Y+I5o6lJywn5Yyv5Ye6Jywn6Ly45Ye6Jywn5qC85byPJywn56iL5bqPJywn5LqL5Lu2Jywn6LOH5paZJywn57eo6LyvJywn5bu656uL5L2/55So6ICFJywn5p+l6Kmi5Ye66YyvJywnJWTooYwnLCfln7fooYzmn6XoqaJPS++8jCVk6KGM5Y+X5b2x6Z+/Jywn5rKS5pyJ5ZG95Luk5Y+v5Z+36KGM44CCJywn5bey6aCG5Yip5Z+36KGMICVkIOWAi+afpeipouOAgicsJ+aqlOahiOS4iuWCsycsJ+aqlOahiOS4iuWCs+iiq+emgeeUqOOAgicsJ+Wft+ihjCcsJ+WHuumMr+aZguWBnOatoicsJ+WDhemhr+ekuumMr+iqpOioiuaBrycsJ+W+nuS8uuacjeWZqCcsJ+e2sumggeS8uuacjeWZqOaqlOahiCAlcycsJ+Wft+ihjOaqlOahiCcsJ+att+WPsicsJ+a4hemZpCcsJ+e3qOi8r+WFqOmDqCcsJ+ipsumgheebruW3suiiq+WIqumZpCcsJ+W3suabtOaWsOmgheebruOAgicsJ+W3suaPkuWFpemgheebriVz44CCJywn5o+S5YWlJywn5YSy5a2YJywn5L+d5a2Y5Lim57m857qM57eo6LyvJywn5YSy5a2Y5Lim5o+S5YWl5LiL5LiA5YCLJywn5Yiq6ZmkJywn5bey57aT5Yiq6Zmk6LOH5paZ6KGo44CCJywn6LOH5paZ6KGo5bey5pu05pS544CCJywn6LOH5paZ6KGo5bey5pu05pS544CCJywn5bu656uL6LOH5paZ6KGo6KGoJywn6LaF6YGO5pyA5aSa5YWB6Kix55qE5a2X5q615pW46YeP44CC6KuL5aKe5YqgJXPlkowlcyDjgIInLCfos4fmlpnooajlkI3nqLEnLCflvJXmk44nLCfliIbljYDpoZ7lnosnLCfliIbljYAnLCfliIbljYDlkI0nLCflgLwnLCflt7Lmm7TmlLnntKLlvJXjgIInLCfntKLlvJXpoZ7lnosnLCfliJfvvIjplbfluqbvvIknLCflkI3nqLEnLCfos4fmlpnluqvlt7LliKrpmaTjgIInLCflt7Lph43mlrDlkb3lkI3os4fmlpnluqvjgIInLCflt7Llu7rnq4vos4fmlpnluqvjgIInLCflt7Lmm7TmlLnos4fmlpnluqvjgIInLCflu7rnq4vos4fmlpnluqsnLCflt7LliKrpmaTos4fmlpnooajntZDmp4vjgIInLCflt7Llu7rnq4vos4fmlpnooajntZDmp4vjgIInLCflt7Lmm7TmlLnos4fmlpnooajntZDmp4vjgIInLCflkbzlj6snLCfnqIvluo/lt7Looqvln7fooYzvvIwlZOihjOiiq+W9semfvycsJ+W3suWIqumZpOWklumNteOAgicsJ+W3suabtOaUueWklumNteOAgicsJ+W3suW7uueri+WklumNteOAgicsJ+a6kOWIl+WSjOebruaomeWIl+W/hemgiOWFt+acieebuOWQjOeahOaVuOaTmumhnuWei++8jOWcqOebruaomeWIl+S4iuW/hemgiOacieS4gOWAi+e0ouW8leS4puS4lOW8leeUqOeahOaVuOaTmuW/hemgiOWtmOWcqOOAgicsJ+WklumNtScsJ+ebruaomeizh+aWmeihqCcsJ+abtOaUuScsJ+aWsOWinuizh+aWmeWIlycsJ+W3suS4n+ajhOaqouimluihqOOAgicsJ+W3suabtOaUueaqouimluihqOOAgicsJ+W3suW7uueri+aqouimluihqOOAgicsJ+W7uueri+aqouimluihqCcsJ+W3suS4n+ajhOS6i+S7tuOAgicsJ+W3suabtOaUueS6i+S7tuOAgicsJ+W3suW7uueri+S6i+S7tuOAgicsJ+abtOaUueS6i+S7ticsJ+W7uueri+S6i+S7ticsJ+mWi+WniycsJ+e1kOadnycsJ+avjycsJ+WcqOWujOaIkOW+jOS/neWtmCcsJ+W3suS4n+ajhOeoi+W6j+OAgicsJ+W3suabtOaUueWtkOeoi+W6j+OAgicsJ+W3suW7uueri+WtkOeoi+W6j+OAgicsJ+abtOaUueWHveaVuCcsJ+abtOaUuemBjueoiycsJ+W7uueri+WHveaVuCcsJ+W7uueri+mgkOWtmOeoi+W6jycsJ+i/lOWbnumhnuWeiycsJ+W3suWIqumZpCBzZXF1ZW5jZeOAgicsJ+W3suW7uueriyBzZXF1ZW5jZeOAgicsJ+W3suabtOaUuSBzZXF1ZW5jZeOAgicsJ+abtOaUuSBzZXF1ZW5jZScsJ+W7uueriyBzZXF1ZW5jZScsJ+W3suWIqumZpOmhnuWei+OAgicsJ+W3suW7uueri+mhnuWei+OAgicsJ+abtOaUuemhnuWeiycsJ+W7uueri+mhnuWeiycsJ+W3suS4n+ajhOinuOeZvOWZqOOAgicsJ+W3suabtOaUueinuOeZvOWZqOOAgicsJ+W3suW7uueri+inuOeZvOWZqOOAgicsJ+abtOaUueinuOeZvOWZqCcsJ+W7uueri+inuOeZvOWZqCcsJ+aZgumWkycsJ+S6i+S7ticsJ+W3suS4n+ajhOS9v+eUqOiAheOAgicsJ+W3suabtOaUueS9v+eUqOiAheOAgicsJ+W3suW7uueri+S9v+eUqOiAheOAgicsJ0hhc2hlZCcsJ+eoi+W6jycsJ+aOiOasiicsJ+W7oumZpCcsJyVkIOWAiyBQcm9jZXNzKGVzKSDooqvntYLmraInLCfnuL3lhbEgJWQg5YCLJywn57WC5q2iJywnJWTlgIvpoIXnm67lj5fliLDlvbHpn7/jgIInLCfpm5nmk4rku6XpgLLooYzkv67mlLnjgIInLCclZOihjOW3suWwjuWFpeOAgicsJ+eEoeazlemBuOaTh+ipsuizh+aWmeihqCcsJ+mXnOiBrycsJ+S9v+eUqOe3qOi8r+mAo+e1kOS+huS/ruaUueOAgicsJ+mggScsJ+acgOW+jOS4gOmggScsJ+aJgOaciee1kOaenCcsJ+ikh+ijvScsJ+WMr+WFpScsJywnLCflt7LmuIXnqbros4fmlpnooajjgIInLCflt7LovYnnp7vos4fmlpnooajjgIInLCfooajmoLzlt7LntpPopIfoo70nLCflt7LkuJ/mo4TooajjgIInLCfos4fmlpnooajlkozmqqLoppbooagnLCflnKjos4fmlpnluqvmkJzlsIsnLCflvJXmk44nLCfos4fmlpnplbfluqYnLCfntKLlvJXplbfluqYnLCfos4fmlpnnqbrplpInLCfooYzmlbgnLCfliIbmnpAnLCflhKrljJYnLCfmqqLmn6UnLCfkv67lvqknLCfmuIXnqbonLCfovYnnp7vliLDlhbblroPos4fmlpnluqsnLCfovYnnp7snLCfopIfoo70nLCdTZXF1ZW5jZXMnLCfoqr/luqYnLCflnKjmjIflrprmmYLplpMnLCdISDpNTTpTUycpO2JyZWFrO2Nhc2UiamEiOiRXPWFycmF5KCflrp/ooYzjgZfjgb7jgZnjgYvvvJ8nLCfjg5XjgqHjgqTjg6vjgpLjgqLjg4Pjg5fjg63jg7zjg4njgafjgY3jgb7jgZvjgpMnLCfmnIDlpKfjg5XjgqHjgqTjg6vjgrXjgqTjgrogJXNCJywn44OV44Kh44Kk44Or44Gv5a2Y5Zyo44GX44G+44Gb44KTJywn56m6Jywn5YWDJywn44OG44O844OW44Or44GM44GC44KK44G+44Gb44KT44CCJywn6KiA6KqeJywn5L2/55SoJywn44GE44Ga44KM44GL44Gu5ouh5by15qmf6IO944KS5L2/44Gj44Gm44GP44Gg44GV44GEICVzJywn44OV44Kh44Kk44Or44GM5pei44Gr5a2Y5Zyo44GX44G+44GZJywn44Om44O844K244O85a6a576p5Z6LJywn5pWw5a2XJywn5pel5pmCJywn5paH5a2X5YiXJywn44OQ44Kk44OK44OqJywn44ON44OD44OI44Ov44O844Kv5Z6LJywn44K444Kq44Oh44OI44Oq5Z6LJywn44Oq44K544OIJywn44OH44O844K/44OZ44O844K556iu6aGeJywn44K144O844OQJywn44Om44O844K25ZCNJywn44OR44K544Ov44O844OJJywn44Ot44Kw44Kk44OzJywn5rC457aa55qE44Gr44Ot44Kw44Kk44OzJywn44OH44O844K/Jywn5qeL6YCgJywn44OT44Ol44O844KS5aSJ5pu0Jywn44OG44O844OW44Or44Gu5aSJ5pu0Jywn6aCF55uu44Gu5L2c5oiQJywn5pyA5b6M44Gu44Oa44O844K4Jywn57eo6ZuGJywnJWQg44OQ44Kk44OIJywn6YG45oqeJywn6Zai5pWwJywn6ZuG5ZCIJywn5qSc57SiJywn5Lu75oSPJywn44K944O844OIJywn6ZmN6aCGJywn5Yi257SEJywn5paH5a2X5YiX44Gu6ZW344GVJywn5YuV5L2cJywnU1FM44Kz44Oe44Oz44OJJywn6ZaL44GPJywn5L+d5a2YJywn44OH44O844K/44OZ44O844K544KS5aSJ5pu0Jywn44K544Kt44O844Oe5aSJ5pu0Jywn44K544Kt44O844Oe6L+95YqgJywn5qeL6YCgJywn5qip6ZmQJywn44OA44Oz44OXJywn44Ot44Kw44Ki44Km44OIJywn44OH44O844K/44OZ44O844K5Jywn44K544Kt44O844OeJywn44OG44O844OW44Or44KS5L2c5oiQJywn6YG45oqeJywnbHRyJywn5YaN6YCB5L+h44GX44G+44GZ44GL77yfJywn5LiN5q2j44GqQ1NSRuODiOODvOOCr+ODs+OAguWGjemAgeS/oeOBl+OBpuOBj+OBoOOBleOBhCcsJ+ODreOCsOOCouOCpuODiCcsJ+OCu+ODg+OCt+ODp+ODs+OCkuacieWKueOBq+OBl+OBpuOBj+OBoOOBleOBhCcsJ+OCu+ODg+OCt+ODp+ODs+OBruacn+mZkOWIh+OCjOOAguODreOCsOOCpOODs+OBl+ebtOOBl+OBpuOBj+OBoOOBleOBhCcsJ+S4jeato+OBquODreOCsOOCpOODsycsJ+aLoeW8teapn+iDveOBjOOBguOCiuOBvuOBm+OCkycsJ1BIUOOBruaLoeW8teapn+iDve+8iCVz77yJ44GM44K744OD44OI44Ki44OD44OX44GV44KM44Gm44GE44G+44Gb44KTJywnUE9TVOODh+ODvOOCv+OBjOWkp+OBjeOBmeOBjuOBvuOBmeOAguODh+ODvOOCv+OCteOCpOOCuuOCkuWwj+OBleOBj+OBmeOCi+OBiyAlcyDoqK3lrprjgpLlpKfjgY3jgY/jgZfjgabjgY/jgaDjgZXjgYQnLCfjg4fjg7zjgr/jg5njg7zjgrknLCfkuI3mraPjgarjg4fjg7zjgr/jg5njg7zjgrknLCfjg4fjg7zjgr/jg5njg7zjgrnjgpLliYrpmaTjgZfjgb7jgZfjgZ8nLCfjg4fjg7zjgr/jg5njg7zjgrnjgpLpgbjmip7jgZfjgabjgY/jgaDjgZXjgYQnLCfmlrDopo/jgavjg4fjg7zjgr/jg5njg7zjgrnjgpLkvZzmiJAnLCfjg5fjg63jgrvjgrnkuIDopqcnLCflpInmlbAnLCfnirbmhYsnLCclc+ODkOODvOOCuOODp+ODs++8miVz44CBIFBIUOaLoeW8teapn+iDvSAlcycsJ+ODreOCsO+8miVzJywn54Wn5ZCI6aCG5bqPJywn44OG44O844OW44OrJywn5YmK6ZmkJywn44Oq44OV44Os44OD44K344OlJywn44K544Kt44O844OeJywn54Sh5Yq544Gq44K544Kt44O844OeJywn6KGM44GM44GC44KK44G+44Gb44KTJywnJS4zZiDnp5InLCflpJbpg6jjgq3jg7wnLCfnhaflkIjpoIbluo8nLCdPTiBERUxFVEUnLCfliJflkI0nLCflj4LmlbDlkI0nLCflnosnLCfplbfjgZUnLCfoqK3lrponLCfpgKPnlaonLCfopo/lrprlgKQnLCfjgrPjg6Hjg7Pjg4gnLCfov73liqAnLCfkuIonLCfkuIsnLCfpmaTlpJYnLCfjg5Pjg6Xjg7wnLCfjg4bjg7zjg5bjg6snLCfliJcnLCfntKLlvJUnLCfntKLlvJXjga7lpInmm7QnLCfjgr3jg7zjgrknLCfjgr/jg7zjgrLjg4Pjg4gnLCdPTiBVUERBVEUnLCflpInmm7QnLCflpJbpg6jjgq3jg7zjgpLov73liqAnLCfjg4jjg6rjgqzjg7wnLCfjg4jjg6rjgqzjg7zjga7ov73liqAnLCfjg5Hjg7zjg57jg43jg7Pjg4jjg6rjg7Pjgq8nLCfjgqjjgq/jgrnjg53jg7zjg4gnLCflh7rlipsnLCflvaLlvI8nLCfjg6vjg7zjg4Hjg7MnLCfjgqTjg5njg7Pjg4gnLCfjg4fjg7zjgr8nLCfnt6jpm4YnLCfjg6bjg7zjgrbjgpLkvZzmiJAnLCfjgq/jgqjjg6rjg7zjga7jgqjjg6njg7wnLCclZCDooYwnLCfjgq/jgqjjg6rjg7zjgpLlrp/ooYzjgZfjgb7jgZfjgZ/jgIIlZCDooYzjgpLlpInmm7TjgZfjgb7jgZfjgZ8nLCflrp/ooYzjgZnjgovjgrPjg57jg7Pjg4njgYzjgYLjgorjgb7jgZvjgpMnLCclZCDjgq/jgqjjg6rjg7zjgpLlrp/ooYzjgZfjgb7jgZfjgZ8nLCfjg5XjgqHjgqTjg6vjgpLjgqLjg4Pjg5fjg63jg7zjg4knLCfjg5XjgqHjgqTjg6vjga7jgqLjg4Pjg5fjg63jg7zjg4njgYznhKHlirnjgafjgZknLCflrp/ooYwnLCfjgqjjg6njg7zjga7loLTlkIjjga/lgZzmraInLCfjgqjjg6njg7zjga7jgb/ooajnpLonLCfjgrXjg7zjg5Djg7zjgYvjgonlrp/ooYwnLCdXZWLjgrXjg7zjg5Djg5XjgqHjgqTjg6sgJXMnLCfjg5XjgqHjgqTjg6vjgpLlrp/ooYwnLCflsaXmrbQnLCfmtojljrsnLCfjgZnjgbnjgabnt6jpm4YnLCfpoIXnm67jgpLliYrpmaTjgZfjgb7jgZfjgZ8nLCfpoIXnm67jgpLmm7TmlrDjgZfjgb7jgZfjgZ8nLCclc+mgheebruOCkuaMv+WFpeOBl+OBvuOBl+OBnycsJ+aMv+WFpScsJ+S/neWtmCcsJ+S/neWtmOOBl+OBpue2mee2micsJ+S/neWtmO+8j+i/veWKoCcsJ+WJiumZpCcsJ+ODhuODvOODluODq+OCkuWJiumZpOOBl+OBvuOBl+OBnycsJ+ODhuODvOODluODq+OCkuWkieabtOOBl+OBvuOBl+OBnycsJ+ODhuODvOODluODq+OCkuS9nOaIkOOBl+OBvuOBl+OBnycsJ+ODhuODvOODluODq+OCkuS9nOaIkCcsJ+Wumue+qeWPr+iDveOBquacgOWkp+ODleOCo+ODvOODq+ODieaVsOOCkui2iuOBiOOBvuOBl+OBn+OAgiVzIOOBqCAlcyDjgpLlopfjgoTjgZfjgabjgY/jgaDjgZXjgYTjgIInLCfjg4bjg7zjg5bjg6vlkI0nLCfjgqjjg7Pjgrjjg7MnLCfjg5Hjg7zjg4bjgqPjgrfjg6fjg7MnLCfjg5Hjg7zjg4bjgqPjgrfjg6fjg7MnLCfjg5Hjg7zjg4bjgqPjgrfjg6fjg7PlkI0nLCflgKQnLCfntKLlvJXjgpLlpInmm7TjgZfjgb7jgZfjgZ8nLCfntKLlvJXjga7lnosnLCfliJfvvIjplbfjgZXvvIknLCflkI3np7AnLCfjg4fjg7zjgr/jg5njg7zjgrnjgpLliYrpmaTjgZfjgb7jgZfjgZ8nLCfjg4fjg7zjgr/jg5njg7zjgrnjga7lkI3liY3jgpLlpInjgYjjgb7jgZfjgZ8nLCfjg4fjg7zjgr/jg5njg7zjgrnjgpLkvZzmiJDjgZfjgb7jgZfjgZ8nLCfjg4fjg7zjgr/jg5njg7zjgrnjgpLlpInmm7TjgZfjgb7jgZfjgZ8nLCfjg4fjg7zjgr/jg5njg7zjgrnjgpLkvZzmiJAnLCfjgrnjgq3jg7zjg57jgpLliYrpmaTjgZfjgb7jgZfjgZ8nLCfjgrnjgq3jg7zjg57jgpLov73liqDjgZfjgb7jgZfjgZ8nLCfjgrnjgq3jg7zjg57jgpLlpInmm7TjgZfjgb7jgZfjgZ8nLCflkbzlh7rjgZcnLCfjg6vjg7zjg4Hjg7PjgpLlkbzjgbPjgb7jgZfjgZ/jgIIlZCDooYzjgpLlpInmm7TjgZfjgb7jgZfjgZ8nLCflpJbpg6jjgq3jg7zjgpLliYrpmaTjgZfjgb7jgZfjgZ8nLCflpJbpg6jjgq3jg7zjgpLlpInmm7TjgZfjgb7jgZfjgZ8nLCflpJbpg6jjgq3jg7zjgpLkvZzmiJDjgZfjgb7jgZfjgZ8nLCfjgr3jg7zjgrnjgajjgr/jg7zjgrLjg4Pjg4jjga7liJfjga/lkIzjgZjjg4fjg7zjgr/lnovjgafjgarjgZHjgozjgbDjgarjgorjgb7jgZvjgpPjgILjgr/jg7zjgrLjg4Pjg4jliJfjgavntKLlvJXjgYzjgYLjgorjgIHjg4fjg7zjgr/jgYzlrZjlnKjjgZfjgarjgZHjgozjgbDjgarjgorjgb7jgZvjgpPjgIInLCflpJbjgq3jg7wnLCfjg4bjg7zjg5bjg6snLCflpInmm7QnLCfliJfjgpLov73liqAnLCfjg5Pjg6Xjg7zjgpLliYrpmaTjgZfjgb7jgZfjgZ8nLCfjg5Pjg6Xjg7zjgpLlpInmm7TjgZfjgb7jgZfjgZ8nLCfjg5Pjg6Xjg7zjgpLkvZzmiJDjgZfjgb7jgZfjgZ8nLCfjg5Pjg6Xjg7zjgpLkvZzmiJAnLCfliYrpmaTjgZfjgb7jgZfjgZ8nLCflpInmm7TjgZfjgb7jgZfjgZ8nLCfkvZzmiJDjgZfjgb7jgZfjgZ8nLCflpInmm7QnLCfkvZzmiJAnLCfplovlp4snLCfntYLkuoYnLCfmr47lm54nLCflrozmiJDlvozjgavkv53lrZgnLCfjg6vjg7zjg4Hjg7PjgpLkvZzmiJAnLCfjg6vjg7zjg4Hjg7PjgpLlpInmm7QnLCfjg6vjg7zjg4Hjg7PjgpLkvZzmiJAnLCfplqLmlbDjga7lpInmm7QnLCfjg5fjg63jgrfjg7zjgrjjg6Pjga7lpInmm7QnLCfplqLmlbDjga7kvZzmiJAnLCfjg5fjg63jgrfjg7zjgrjjg6Pjga7kvZzmiJAnLCfmiLvjgorlgKTjga7lnosnLCfjgrfjg7zjgrHjg7PjgrnjgpLliYrpmaTjgZfjgb7jgZfjgZ8nLCfjgrfjg7zjgrHjg7PjgrnjgpLov73liqDjgZfjgb7jgZfjgZ8nLCfjgrfjg7zjgrHjg7PjgrnjgpLlpInmm7TjgZfjgb7jgZfjgZ8nLCfjgrfjg7zjgrHjg7PjgrnlpInmm7QnLCfjgrfjg7zjgrHjg7PjgrnkvZzmiJAnLCfjg6bjg7zjgrbjg7zlrprnvqnlnovjgpLliYrpmaTjgZfjgb7jgZfjgZ8nLCfjg6bjg7zjgrbjg7zlrprnvqnlnovjgpLov73liqDjgZfjgb7jgZfjgZ8nLCfjg6bjg7zjgrbjg7zlrprnvqnlnovlpInmm7QnLCfjg6bjg7zjgrbjg7zlrprnvqnlnovkvZzmiJAnLCfjg4jjg6rjgqzjg7zjgpLliYrpmaTjgZfjgb7jgZfjgZ8nLCfjg4jjg6rjgqzjg7zjgpLlpInmm7TjgZfjgb7jgZfjgZ8nLCfjg4jjg6rjgqzjg7zjgpLov73liqDjgZfjgb7jgZfjgZ8nLCfjg4jjg6rjgqzjg7zjga7lpInmm7QnLCfjg4jjg6rjgqzjg7zjga7kvZzmiJAnLCfmmYLplpMnLCfjgqTjg5njg7Pjg4gnLCfjg6bjg7zjgrbjgpLliYrpmaQnLCfjg6bjg7zjgrbjgpLlpInmm7QnLCfjg6bjg7zjgrbjgpLkvZzmiJAnLCdIYXNoZWQnLCfjg6vjg7zjg4Hjg7MnLCfmqKnpmZDjga7ku5jkuI4nLCfmqKnpmZDjga7lj5bmtojjgZcnLCclZCDjg5fjg63jgrvjgrnjgpLlvLfliLbntYLkuobjgZfjgb7jgZfjgZ8nLCflkIjoqIggJWQnLCflvLfliLbntYLkuoYnLCclZCDjgpLmm7TmlrDjgZfjgb7jgZfjgZ8nLCfjg4Djg5bjg6vjgq/jg6rjg4Pjgq/jgZfjgabnt6jpm4YnLCclZCDooYzjgpLjgqTjg7Pjg53jg7zjg4jjgZfjgb7jgZfjgZ8nLCfjg4bjg7zjg5bjg6vjgpLpgbjmip7jgafjgY3jgb7jgZvjgpMnLCfplqLkv4InLCfjg6rjg7Pjgq/jgpLnt6jpm4bjgZnjgosnLCfjg5rjg7zjgrgnLCfmnIDntYInLCflhajntZDmnpwnLCfjgq/jg63jg7zjg7MnLCfjgqTjg7Pjg53jg7zjg4gnLCcsJywn44OG44O844OW44Or44KSdHJ1bmNhdGXjgZfjgb7jgZfjgZ8nLCfjg4bjg7zjg5bjg6vjgpLnp7vli5XjgZfjgb7jgZfjgZ8nLCfjg4bjg7zjg5bjg6vjgpLjgrPjg5Tjg7zjgZfjgb7jgZfjgZ8nLCfjg4bjg7zjg5bjg6vjgpLliYrpmaTjgZfjgb7jgZfjgZ8nLCfjg4bjg7zjg5bjg6vjgajjg5Pjg6Xjg7wnLCfjg4fjg7zjgr/jgpLmpJzntKLjgZnjgosnLCfjgqjjg7Pjgrjjg7MnLCfjg4fjg7zjgr/plbcnLCfntKLlvJXplbcnLCfnqbrjgY0nLCfooYzmlbAnLCfliIbmnpAnLCfmnIDpganljJYnLCfjg4Hjgqfjg4Pjgq8nLCfkv67lvqknLCdUcnVuY2F0ZScsJ+WIpeOBruODh+ODvOOCv+ODmeODvOOCueOBuOenu+WLlScsJ+enu+WLlScsJ+OCs+ODlOODvCcsJ+OCt+ODvOOCseODs+OCuScsJ+OCueOCseOCuOODpeODvOODqycsJ+aMh+WumuaZguWIuycsJ+aZgjrliIY656eSJyk7YnJlYWs7Y2FzZSJ0YSI6JFc9YXJyYXkoJ+CuqOCuv+CumuCvjeCumuKAjOCur+KAjOCuruCuvuCuleKAjCA/Jywn4K6V4K+L4K6q4K+N4K6q4K+IIOCuruCvh+CusuCvh+CuseCvjeCuseKAjOCuruCvjSAodXBsb2FkKSDgrprgr4bgrq/gr43grq/igIwg4K6H4K6v4K6y4oCM4K614K6/4K6y4K+N4K6y4K+ILicsJ+CuleCvi+CuquCvjeCuquCuv+CuqeCvjSDgroXgrqTgrr/grpXigIzgrqrigIzgrp/gr43grprigIwg4K6F4K6z4oCM4K614K+BICVzQi4nLCfgrpXgr4vgrqrgr43grqrgr4Eg4K6H4K6y4K+N4K6y4K+ILicsJ+CuteCvhuCuseCvgeCuruCviCAoZW1wdHkpJywn4K6F4K6a4oCM4K6y4K+NJywn4K6F4K6f4K+N4K6f4oCM4K614oCM4K6j4K+IIOCuh+CusuCvjeCusuCviC4nLCfgrq7gr4rgrrTgrr8nLCfgrongrqrigIzgrq/gr4vgrpXgrr8nLCfgrqTigIzgrq/igIzgrrXgr4Eg4K6a4K+G4K6v4K+N4K6k4K+BIOCukuCusOCvgSDgrrXgrr/grrDgrr/grrXgrr/grqngr4ggJXMgKGV4dGVuc2lvbikg4K6J4K6q4oCM4K6v4K+L4K6V4K6/4K6V4K+N4K6V4oCM4K614K+B4K6u4K+NLicsJ+CuleCvi+CuquCvjeCuquCvgSDgrongrrPgr43grrPigIzgrqTgr4EuJywn4K6q4oCM4K6v4oCM4K6p4K6+4K6z4oCM4K6w4K+NIOCuteKAjOCuleCviOCuleKAjOCus+CvjScsJ+CujuCuo+CvjeCuleKAjOCus+CvjScsJ+CupOCvh+CupOCuvyDgrq7igIzgrrHgr43grrHgr4Hgrq7gr40g4K6o4K+H4K6w4oCM4K6u4K+NJywn4K6a4oCM4K6w4oCM4K6u4K+NIChTdHJpbmcpJywn4K6q4K+I4K6p4oCM4K6w4K6/Jywn4K6o4K+G4K6f4K+N4K614K+K4K6w4K+N4K6V4K+NJywn4K614oCM4K6f4K6/4K614oCM4K614K6/4K6v4oCM4K6y4K+NIChHZW9tZXRyeSknLCfgrqrigIzgrp/gr43grp/grr/grq/igIzgrrLgr40nLCfgrprgrr/grrjgr43grp/igIzgrq7gr40gKFN5c3RlbSknLCfgrrXigIzgrrTigIzgrpngr43grpXgrr8gKFNlcnZlciknLCfgrqrigIzgrq/igIzgrqngrr7grrPigIzgrrDgr40gKFVzZXIpJywn4K6V4oCM4K6f4oCM4K614K+B4K6a4K+N4K6a4K+K4K6y4K+NJywn4K6o4K+B4K604K+IJywn4K6o4K6/4K6w4oCM4K6o4K+N4K6k4oCM4K6w4oCM4K6u4K6+4K6V4oCMIOCuqOCvgeCutOCviOCur+KAjOCuteCvgeCuruCvjScsJ+CupOKAjOCuleKAjOCuteKAjOCusuCviCDgrqTgr4fgrrDgr43grrXgr4Eg4K6a4K+G4K6v4K+NJywn4K6V4oCM4K6f4K+N4K6f4oCM4K6u4K+I4K6q4K+N4K6q4K+IIOCuleCuvuCuo+CvjeCuquCuv+CuleCvjeCuleKAjOCuteCvgeCuruCvjScsJ+CupOCvi+CuseCvjeCuseKAjOCupOCvjeCupOCviCDgrq7grr7grrHgr43grrHgr4EnLCfgroXgrp/gr43grp/igIzgrrXigIzgrqPgr4jgrq/gr4gg4K6u4K6+4K6x4K+N4K6x4K+BJywn4K6q4K+B4K6k4K6/4K6v4oCMIOCuieCusOCvgeCuquCvjeCuquKAjOCun+CuvycsJ+CuleKAjOCun+CviOCumuCuvyDgrqrigIzgrpXgr43grpXigIzgrq7gr40nLCfgrqTgr4rgrpXgr4EnLGFycmF5KCclZCDgrqrgr4jgrp/gr40nLCclZCDgrqrgr4jgrp/gr43grp/gr4HgrpXigIzgrrPgr40nKSwn4K6k4K+H4K6w4K+N4K614K+BIOCumuCvhuCur+CvjScsJ0Z1bmN0aW9ucycsJ+CupOCuv+CusOKAjOCus+CvjeCuteCvgSAoQWdncmVnYXRpb24pJywn4K6k4K+H4K6f4K+BJywn4K6O4K6Z4K+N4K6V4K6+4K6v4K6/4K6p4K+B4K6u4K+NJywn4K6k4oCM4K6w4oCM4K6u4K+NIOCuquCuv+CusOCuvycsJ+Cuh+CuseKAjOCumeCvjeCuleCvgeCuruCvgeCuleKAjOCuruCuvuCuqeKAjCcsJ+CuteKAjOCusOKAjOCuruCvjeCuquCvgScsJ+CuieCusOCviCDgrqjgr4DgrrPigIzgrq7gr40nLCfgrprgr4bgrq/igIzgrrLgr40nLCdTUUwg4K6V4oCM4K6f4K+N4K6f4oCM4K6z4K+IJywn4K6k4K6/4K6x4oCMJywn4K6a4K+H4K6u4K6/Jywn4K6k4oCM4K6V4oCM4K614oCM4K6y4K+N4K6k4oCM4K6z4oCM4K6k4K+N4K6k4K+IIOCuruCuvuCuseCvjeCuseCvgScsJ+CuheCuruCviOCuquCvjeCuquCvgeCuruCvgeCuseCviOCur+CviCDgrq7grr7grrHgr43grrHgr4EnLCfgroXgrq7gr4jgrqrgr43grqrgr4Hgrq7gr4HgrrHgr4jgrq/gr4gg4K6J4K6w4K+B4K614K6+4K6V4K+N4K6V4K+BJywn4K6k4oCM4K6V4oCM4K614oCM4K6y4K+N4K6k4oCM4K6z4oCMIOCuheCuruCviOCuquCvjeCuquCvgSDgrq7gr4HgrrHgr4jgrpXigIzgrrPgr40nLCfgrprigIzgrrLgr4HgrpXgr4jgrpXigIzgrrPgr40gLyDgrprgrr/grrHigIzgrqrgr43grqrgr4HgrrDgrr/grq7gr4jgrpXigIzgrrPgr40nLCdEdW1wJywn4K614K+G4K6z4K6/4K6v4K+H4K6x4K+BJywn4K6k4oCM4K6V4oCM4K614oCM4K6y4K+N4K6k4oCM4K6z4oCM4K6u4K+NJywn4K6F4K6u4K+I4K6q4K+N4K6q4K+B4K6u4K+B4K6x4K+IJywn4K6q4K+B4K6k4K6/4K6v4oCMIOCuheCun+CvjeCun+KAjOCuteKAjOCuo+CviOCur+CviCDgrongrrDgr4HgrrXgrr7grpXgr43grpXgr4EnLCfgrqTgr4fgrrDgr43grrXgr4Eg4K6a4K+G4K6v4K+NJywnbHRyJywnUE9TVCBkYXRhIOCuteCviCDgrq7gr4DgrqPgr43grp/gr4Hgrq7gr40g4K6F4K6p4K+B4K6q4K+N4K6q4K614K6+PycsJ0NTUkYg4K6f4K+L4K6V4K+N4K6V4oCM4K6p4K+NIOCumuCvhuCusuCvjeCusuCuvuCupOCvgS4g4K6q4oCM4K6f4K6/4K614oCM4K6k4K+N4K6k4K+IIOCuruCvgOCuo+CvjeCun+CvgeCuruCvjSDgroXgrqngr4Hgrqrgr43grqrigIzgrrXgr4Hgrq7gr40uJywn4K614K+G4K6x4K+N4K6x4K6/4K6V4oCM4K6w4oCM4K6u4K6+4K6v4K+NIOCuteCvhuCus+Cuv+Cur+Cvh+CuseCuv+Cur+CuvuCur+Cuv+CuseCvjeCuseCvgS4nLCfgrprgr4bgrrfigIzgrqngr40g4K6G4K6k4oCM4K6w4oCM4K614K+BIOCuh+Cur+KAjOCuleCvjeCuleKAjOCuquCvjeCuquKAjOCun+KAjCDgrrXgr4fgrqPgr43grp/gr4Hgrq7gr40uJywn4K6a4K+G4K634oCM4K6p4K+NIOCuleCuvuCusuCuvuCuteKAjOCupOCuv+Cur+CuvuCuleCuvyDgrrXgrr/grp/gr43grp/igIzgrqTgr4EuIOCuruCvgOCuo+CvjeCun+CvgeCuruCvjSDgrqjgr4HgrrTgr4jgrq/igIzgrrXgr4Hgrq7gr40uJywn4K6a4oCM4K6w4K6/4K6v4K6+4K6p4oCMIOCuteCuv+CuquKAjOCusOKAjOCumeCvjeCuleKAjOCus+CvjSDgrofgrrLgr43grrLgr4guJywn4K614K6/4K6w4K6/4K614K+BIChleHRlbnPgrofgrpLgrqngr40pIOCuh+CusuCvjeCusuCviCAnLCdQSFAg4K6G4K6k4oCM4K6w4oCM4K614K+BIOCuteCuv+CusOCuv+CuteCvgeCuleKAjOCus+CvjSAoJXMpIOCuh+CusuCvjeCusuCviC4nLCfgrq7grr/grpXigIwg4K6F4K6k4K6/4K6V4oCM4K6u4K6+4K6p4oCMIFBPU1QgIOCupOKAjOCuleKAjOCuteKAjOCusuCvjS4g4K6k4oCM4K6V4oCM4K614oCM4K6y4K+IIOCuleCvgeCuseCviOCuleCvjeCuleKAjOCuteCvgeCuruCvjSDgroXgrrLgr43grrLigIzgrqTgr4EgJXMg4K614oCM4K6f4K6/4K614oCM4K6u4K+I4K6q4K+N4K6q4K+IIChjb25maWd1cmF0aW9uIGRpcmVjdGl2ZSkg4K6u4K6+4K6x4K+N4K6x4oCM4K614K+B4K6u4K+NLicsJ+CupOKAjOCuleKAjOCuteKAjOCusuCvjeCupOKAjOCus+KAjOCuruCvjScsJ+CupOKAjOCuleKAjOCuteKAjOCusuCvjeCupOKAjOCus+KAjOCuruCvjSDgrprigIzgrrDgrr/grq/grr7grqngrqTgrrLgr43grrLigIwuJywn4K6k4oCM4K6V4oCM4K614oCM4K6y4K+NIOCupOKAjOCus+KAjOCumeCvjeCuleKAjOCus+CvjSDgrqjgr4DgrpXgr43grpXigIzgrqrgr43grqrigIzgrp/gr43grp/grqnigIwuJywn4K6k4oCM4K6V4oCM4K614oCM4K6y4K+N4K6k4oCM4K6z4oCM4K6k4K+N4K6k4K+IIOCupOCvh+CusOCvjeCuteCvgSDgrprgr4bgrq/gr40nLCfgrqrgr4HgrqTgrr/grq/igIwg4K6k4oCM4K6V4oCM4K614oCM4K6y4K+N4K6k4oCM4K6z4oCM4K6k4K+N4K6k4K+IIOCuieCusOCvgeCuteCuvuCuleCvjeCuleCvgScsJ+CuteCvh+CusuCviOCuleKAjOCus+Cuv+CuqeCvjSDgrqrigIzgrp/gr43grp/grr8nLCfgrq7grr7grrHgrr/grrLgrr/grpXigIzgrrPgr40gKFZhcmlhYmxlcyknLCfgrqjgrr/grpXigIzgrrTgr43grqjgrr/grrLgr4ggKFN0YXR1cyknLCclcyDgrqrigIzgrqTgrr/grqrgr43grqrgr4E6ICVzIHRocm91Z2ggUEhQIGV4dGVuc2lvbiAlcycsJ+CuquKAjOCur+KAjOCuqeCuvuCus+CusOCvjTogJXMnLCfgrpXgr4rgrrLgr4fgrprigIzgrqngr40nLCfgroXgrp/gr43grp/igIzgrrXigIzgrqPgr4gnLCfgrqjgr4DgrpXgr43grpXgr4EnLCfgrqrgr4HgrqTgr4Hgrqrgr43grqrgrr8gKFJlZnJlc2gpJywn4K6F4K6u4K+I4K6q4K+N4K6q4K+B4K6u4K+B4K6x4K+IJywn4K6F4K6u4K+I4K6q4K+N4K6q4K+B4K6u4K+B4K6x4K+IIOCumuKAjOCusOCuv+Cur+CuvuCuqeKAjOCupOKAjOCusuCvjeCusuKAjCAoSW52YWxpZCBTY2hlbWEpLicsJ+CuteKAjOCusOCuv+CumuCviCDgrofgrrLgr43grrLgr4guJywnJS4zZiBzJywn4K614K+H4K6x4K+N4K6x4K+BIOCuteCuv+CumuCviOCuleKAjOCus+CvjScsJ+CuleCviuCusuCvh+CumuKAjOCuqeCvjScsJ09OIERFTEVURScsJ+CuqOCvhuCun+CvgeCuteKAjOCusOCuv+CumuCviOCur+Cuv+CuqeCvjSDgrqrgr4bgrq/igIzgrrDgr40nLCfgroXgrrPigIzgrqrgr4HgrrDgr4EgKFBhcmFtZXRlcikg4K6q4K+G4K6v4oCM4K6w4K+NJywn4K614oCM4K6V4K+IJywn4K6o4K+A4K6z4K6u4K+NJywn4K614K+H4K6j4K+N4K6f4K6/4K6v4oCM4K614oCM4K6x4K+N4K6x4K+IICcsJ+Cuj+CuseCvgeCuruCuvuCuqeKAjOCuruCvjScsJ+CuieCus+CvjeCus+Cuv+CusOCvgeCuleCvjeCuleCvgeCuruCvjSAoRGVmYXVsdCkg4K6u4oCM4K6k4K6/4K6q4K+N4K6q4K+B4K6V4oCM4K6z4K+NICcsJ+CuleCvgeCuseCuv+CuquCvjeCuquCvgScsJ+CuheCun+CvgeCupOCvjeCupOKAjOCupOCviCDgrprgr4fgrrDgr43grpXgr43grpXigIzgrrXgr4Hgrq7gr40nLCfgrq7gr4fgrrLgr4cg4K6o4oCM4K6V4oCM4K6w4K+N4K6k4K+N4K6k4K+BJywn4K6V4K+A4K604K+HIOCuqOCuleKAjOCusOCvjeCupOCvjeCupOCvgScsJ+CuqOCvgOCuleCvjeCuleCvgScsJ+CupOCvi+CuseCvjeCuseCuruCvjScsJ+CuheCun+CvjeCun+KAjOCuteKAjOCuo+CviCcsJ+CuqOCvhuCun+CvgeCuteKAjOCusOCuv+CumuCviCcsJ+CuheCuleKAjOCuteKAjOCusOCuv+CumuCviOCuleKAjOCus+CvjSAoSW5kZXgpICcsJ+CuheCuleKAjOCuteKAjOCusOCuv+CumuCviOCur+CviCAoSW5kZXgpIOCuruCuvuCuseCvjeCuseCvgScsJ+CuruCvguCusuKAjOCuruCvjScsJ+Cuh+CusuKAjOCuleCvjeCuleCvgScsJ09OIFVQREFURScsJ+CuruCuvuCuseCvjeCuseCvgScsJ+CuteCvh+CuseCvjeCuseCvgSDgrrXgrr/grprgr4gg4K6a4K+H4K6w4K+N4K6V4K+N4K6V4oCM4K614K+B4K6u4K+NJywn4K6k4K+C4K6j4K+N4K6f4K+B4K6k4oCM4K6y4K+N4K6V4oCM4K6z4K+NJywn4K6k4K+C4K6j4K+N4K6f4K+BIOCuteCuv+CumuCviOCur+CviCDgrprgr4fgrrDgr40nLCfgrqjgrr/grrDgrqjgr43grqTgrrAg4K6H4K6j4K+I4K6q4K+N4K6q4K+BJywn4K6P4K6x4K+N4K6x4K+B4K6u4oCM4K6k4K6/Jywn4K614K+G4K6z4K6/4K6v4K+A4K6f4K+BJywn4K6D4K6q4K6+4K6w4K+N4K6u4oCM4K6f4K+NIChGb3JtYXQpJywn4K6w4K+K4K6f4K+N4K6f4K+A4K6p4K+NICcsJ+CuqOCuv+CuleKAjOCutOCvjeCumuCvjeCumuCuv+CuleKAjOCus+CvjScsJ+CupOKAjOCuleKAjOCuteKAjOCusuCvjScsJ+CupOCviuCuleCvgScsJ+CuquKAjOCur+KAjOCuqeCuvuCus+KAjOCusOCviCDgrongrrDgr4HgrrXgrr7grpXgr43grpXgr4EnLCfgrrXgrr/grqnigIzgrrXigIzgrrLgrr/grrLgr40g4K6k4oCM4K614oCM4K6x4K+B4K6z4K+N4K6z4oCM4K6k4K+BJyxhcnJheSgnJWQg4K614oCM4K6w4K6/4K6a4K+IJywnJWQg4K614oCM4K6w4K6/4K6a4K+I4K6V4oCM4K6z4K+NJyksYXJyYXkoJ+CuteCuv+CuqeKAjOCuteKAjOCusuCvjSDgrprgr4bgrq/igIzgrrLgr43grqrigIzgrp/gr4HgrqTgr43grqTigIzgrqrgr43grqrigIzgrp/gr43grp/igIzgrqTgr4EsICVkIOCuteKAjOCusOCuv+CumuCviCDgrq7grr7grrHgr43grrHigIzgrqrgr43grqrigIzgrp/gr43grp/igIzgrqTgr4EuJywn4K614K6/4K6p4oCM4K614oCM4K6y4K+NIOCumuCvhuCur+KAjOCusuCvjeCuquKAjOCun+CvgeCupOCvjeCupOKAjOCuquCvjeCuquKAjOCun+CvjeCun+KAjOCupOCvgSwgJWQg4K614oCM4K6w4K6/4K6a4K+I4K6V4oCM4K6z4K+NIOCuruCuvuCuseCvjeCuseCuquCvjeCuquKAjOCun+CvjeCun+KAjOCuqeKAjC4nKSwn4K6a4K+G4K6v4oCM4K6y4K+NIOCuquKAjOCun+CvgeCupOCvjeCupOKAjCDgro7grqjgr43grqTigIwg4K6V4oCM4K6f4K+N4K6f4oCM4K6z4K+I4K6V4oCM4K6z4K+B4K6u4K+NIOCuh+CusuCvjeCusuCviC4nLGFycmF5KCclZCDgrrXgrr/grqnigIzgrrXigIzgrrLgr40g4K6a4K+G4K6v4oCM4K6y4K+N4K6q4oCM4K6f4K+B4K6k4K+N4K6k4oCM4K6q4K+N4K6q4oCM4K6f4K+N4K6f4oCM4K6k4K+BLicsJyVkIOCuteCuv+CuqeKAjOCuteKAjOCusuCvjeCuleKAjOCus+CvjSDgrprgr4bgrq/igIzgrrLgr43grqrigIzgrp/gr4HgrqTgr43grqTigIzgrqrgr43grqrigIzgrp/gr43grp/igIzgrqnigIwuJyksJ+CuleCvi+CuquCvjeCuquCviCDgrq7gr4fgrrLgr4fgrrHgr43grrHgr4EgKHVwbG9hZCkgJywn4K6V4K+L4K6q4K+N4K6q4K+B4K6V4oCM4K6z4K+NIOCuruCvh+CusuCvh+CuseCvjeCuseCuruCvjSAodXBsb2FkKeCuruCvgeCun+KAjOCuleCvjeCuleKAjOCuquCvjeCuquKAjOCun+CvjeCun+CvgeCus+CvjeCus+KAjOCuqeKAjC4nLCfgrprgr4bgrq/igIzgrrLgr43grqrigIzgrp/gr4HgrqTgr43grqTgr4EnLCfgrqrgrr/grrTgr4gg4K6P4K6x4K+N4K6q4oCM4K6f4K6/4K6p4K+NIOCuqOCuv+CuseCvjeCuleKAjCcsJ+CuquCuv+CutOCviOCuleKAjOCus+CviCDgrq7igIzgrp/gr43grp/gr4Hgrq7gr40g4K6V4K6+4K6j4K+N4K6q4K6/4K6V4K+N4K6V4oCM4K614K+B4K6u4K+NJywn4K6a4K+G4K6w4K+N4K614oCM4K6w4K6/4K6y4K+NIOCuh+CusOCvgeCuqOCvjeCupOCvgScsJ+CuteCvhuCuquCvjSDgrprigIzgrrDgr43grrXigIzgrrDgr40g4K6V4K+L4K6q4K+N4K6q4K+BICVzJywn4K6V4K+L4K6q4K+N4K6q4K6/4K6p4K+IIOCuh+Cur+KAjOCuleCvjeCuleKAjOCuteCvgeCuruCvjScsJ+CuteKAjOCusOKAjOCusuCuvuCuseCvgScsJ+CupOCvgeCun+CviCAoQ2xlYXIpJywn4K6F4K6p4K+I4K6k4K+N4K6k4K+I4K6v4K+B4K6u4K+NIOCupOCviuCuleCvgScsJ+CuieCusOCvgeCuquCvjeCuquCun+CuvyDgrqjgr4DgrpXgr43grpXigIzgrqrgr43grqrigIzgrp/gr43grp/igIzgrqTgr4EuJywn4K6J4K6w4K+B4K6q4K+N4K6q4oCM4K6f4K6/IOCuquCvgeCupOCvgeCuquCvjeCuquCuv+CuleCvjeCuleKAjOCuquCvjeCuquKAjOCun+CvjeCun+KAjOCupOCvgS4nLCfgrongrrDgr4Hgrqrgr43grqrigIzgrp/grr8gKEl0ZW0pIOCumuCvh+CusOCvjeCuleCvjeCuleKAjOCuquCvjeCuquKAjOCun+CvjeCun+KAjOCupOCvgS4nLCfgrqrgr4HgrpXgr4HgrqTgr43grqTgr4EnLCfgrprgr4fgrq7grr8nLCfgrprgr4fgrq7grr/grqTgr43grqTigIwg4K6q4K6/4K6x4oCM4K6V4K+BIOCupOCviuCuleCvgeCuquCvjeCuquKAjOCupOCviCDgrqTgr4rgrp/igIzgrrDigIzgrrXgr4Hgrq7gr40nLCfgrprgr4fgrq7grr/grqTgr43grqTigIzgrqrgr40g4K6q4K6/4K6p4K+NIOCuheCun+CvgeCupOCvjeCupOKAjOCupOCviCDgrqrgr4HgrpXgr4HgrqTgr43grqTgr4EnLCfgrqjgr4DgrpXgr43grpXgr4EnLCfgroXgrp/gr43grp/igIzgrrXigIzgrqPgr4gg4K6o4K+A4K6V4K+N4K6V4oCM4K6q4K+N4K6q4oCM4K6f4K+N4K6f4oCM4K6k4K+BLicsJ+CuheCun+CvjeCun+KAjOCuteCuo+CviCDgrq7grr7grrHgr43grrHigIzgrqrgr43grqrigIzgrp/gr43grp/igIzgrqTgr4EuJywn4K6F4K6f4K+N4K6f4oCM4K614oCM4K6j4K+IIOCuieCusOCvgeCuteCuvuCuleCvjeCuleKAjOCuquCvjeCuquKAjOCun+CvjeCun+KAjOCupOCvgS4nLCfgroXgrp/gr43grp/igIzgrrXigIzgrqPgr4jgrq/gr4gg4K6J4K6w4K+B4K614K6+4K6V4K+N4K6V4K+BJywn4K6F4K6p4K+B4K6u4oCM4K6k4K6/4K6V4K+N4K6V4oCM4K6q4K+N4K6q4oCM4K6f4K+N4K6f4oCMIOCuheCupOCuv+CuleKAjOCuquKAjOCun+CvjeCumuKAjCDgrpXgr4vgrqrgr43grqrgr4HgrpXigIzgrrPgrr/grqngr40g4K6O4K6j4K+N4K6j4K6/4K6V4K+N4K6V4K+IIOCuruCvgOCuseKAjOCuquCvjeCuquKAjOCun+CvjeCun+KAjOCupOCvgS4g4K6k4oCM4K6v4oCM4K614K+BIOCumuCvhuCur+CvjeCupOCvgSAlcyDgrq7igIzgrrHgr43grrHgr4Hgrq7gr40gJXMg4K6v4K+IIOCuheCupOCuv+CuleKAjOCusOCuv+CuleCvjeCuleKAjOCuteCvgeCuruCvjS4nLCfgroXgrp/gr43grp/igIzgrrXigIzgrqPgr4jgrqrgr40g4K6q4K+G4K6v4oCM4K6w4K+NJywn4K6O4K6e4K+N4K6a4K6/4K6p4K+NJywn4K6q4K6/4K6w4K6/4K6k4K+N4K6k4oCM4K6k4K+BJywn4K6q4K6/4K6w4K6/4K614K+B4K6V4oCM4K6z4K+NJywn4K6q4K6/4K6w4K6/4K614K6/4K6p4K+NIOCuquCvhuCur+KAjOCusOCvjScsJ+CuruKAjOCupOCuv+CuquCvjeCuquCvgeCuleKAjOCus+CvjScsJ+CuheCuleKAjOCuteKAjOCusOCuv+CumuCviOCuleKAjOCus+CvjSAoSW5kZXhlcykg4K6u4K6+4K6x4K+N4K6x4oCM4K6q4K+N4K6q4K6f4K+N4K6f4oCM4K6k4K+BLicsJ+CuheCuleKAjOCuteKAjOCusOCuv+CumuCviCDgrrXigIzgrpXgr4ggKEluZGV4IFR5cGUpJywn4K6o4K+G4K6f4K+B4K614oCM4K6w4K6/4K6a4K+IICjgrqjgr4DgrrPigIzgrq7gr40pJywn4K6q4K+G4K6v4oCM4K6w4K+NJywn4K6k4oCM4K6V4oCM4K614oCM4K6y4K+N4K6k4oCM4K6z4oCM4K6u4K+NIOCuqOCvgOCuleCvjeCuleKAjOCuquCvjeCuquKAjOCun+CvjeCun+KAjOCupOCvgS4nLCfgrqTigIzgrpXigIzgrrXigIzgrrLgr43grqTigIzgrrPigIzgrq7gr40g4K6q4K+G4K6v4oCM4K6w4K+NIOCuruCuvuCuseCvjeCuseKAjOCuquCvjeCuquKAjOCun+CvjeCun+KAjOCupOCvgS4nLCfgrqTigIzgrpXigIzgrrXigIzgrrLgr43grqTigIzgrrPigIzgrq7gr40g4K6J4K6w4K+B4K614K6+4K6V4K+N4K6V4oCM4K6q4K+N4K6q4oCM4K6f4K+N4K6f4oCM4K6k4K+BLicsJ+CupOKAjOCuleKAjOCuteKAjOCusuCvjeCupOKAjOCus+KAjOCuruCvjSDgrq7grr7grrHgr43grrHigIzgrqrgr43grqrigIzgrp/gr43grp/igIzgrqTgr4EuJywn4K6k4oCM4K6V4oCM4K614oCM4K6y4K+N4K6k4oCM4K6z4oCM4K6k4K+N4K6k4K+IIOCuieCusOCvgeCuteCuvuCuleCvjeCuleCvgScsJ+CuheCuruCviOCuquCvjeCuquCvgeCuruCvgeCuseCviCDgrqjgr4DgrpXgr43grpXigIzgrqrgr43grqrigIzgrp/gr43grp/igIzgrqTgr4EuJywn4K6F4K6u4K+I4K6q4K+N4K6q4K+B4K6u4K+B4K6x4K+IIOCuieCusOCvgeCuteCuvuCuleCvjeCuleKAjOCuquCvjeCuquKAjOCun+CvjeCun+KAjOCupOCvgS4nLCfgroXgrq7gr4jgrqrgr43grqrgr4Hgrq7gr4HgrrHgr4gg4K6u4K6+4K6x4K+N4K6x4oCM4K6q4K+N4K6q4oCM4K6f4K+N4K6f4oCM4K6k4K+BLicsJ+CuheCutOCviCcsYXJyYXkoJ+CusOCviuCun+CvjeCun+CvgOCuqeCvjeCuleKAjOCus+CvjSDgroXgrrTgr4jgrpXgr43grpXigIzgrqrgr43grqrgrp/gr43grp/gr4HgrrPgr43grrPigIzgrqnigIwsICVkIOCuteKAjOCusOCuv+CumuCviCDgrq7grr7grrHgr43grrHigIzgrq7gr40g4K6F4K6f4K+I4K6o4K+N4K6k4oCM4K6k4K+BLicsJ+CusOCviuCun+CvjeCun+CvgOCuqeCvjeCuleKAjOCus+CvjSDgroXgrrTgr4jgrpXgr43grpXigIzgrqrgr43grqrigIzgrp/gr43grp/gr4HgrrPgr43grrPigIzgrqnigIwsICVkIOCuteKAjOCusOCuv+CumuCviOCuleKAjOCus+CvjSDgrq7grr7grrHgr43grrHgrq7gr40g4K6F4K6f4K+I4K6o4K+N4K6k4K+B4K6z4K+N4K6z4oCM4K6p4oCMLicpLCfgrrXgr4fgrrHgr43grrHgr4Eg4K614K6/4K6a4K+IIOCuqOCvgOCuleCvjeCuleKAjOCuquCvjeCuquKAjOCun+CvjeCun+KAjOCupOCvgS4nLCfgrrXgr4fgrrHgr43grrHgr4Eg4K614K6/4K6a4K+IIOCuruCuvuCuseCvjeCuseKAjOCuquCvjeCuquKAjOCun+CvjeCun+KAjOCupOCvgS4nLCfgrrXgr4fgrrHgr43grrHgr4Eg4K614K6/4K6a4K+IIOCuieCusOCvgeCuteCuvuCuleCvjeCuleKAjOCuquCvjeCuquKAjOCun+CvjeCun+KAjOCupOCvgS4nLCfgrofgrrLigIzgrpXgr43grpXgr4Eg4K6o4K+G4K6f4K+B4K614oCM4K6w4K6/4K6a4K+I4K6v4K6/4K6y4K+NIOCuheCuleKAjOCuteKAjOCusOCuv+CumuCviCAoSW5kZXgpIOCuruKAjOCuseCvjeCuseCvgeCuruCvjSDgrpXgr4HgrrHgrr/grpXgr43grpXigIzgrqrgr43grqrigIzgrp/gr43grp/igIwg4K6k4oCM4K6V4oCM4K614K6y4K+NIChSZWZlcmVuY2VkIERBVEEpIOCuleKAjOCuo+CvjeCun+Cuv+CuquCvjeCuquCuvuCuleKAjCDgrofgrrDgr4HgrqTgr43grqTigIzgrrLgr40g4K614K+H4K6j4K+N4K6f4K+B4K6u4K+NLiDgrq7gr4LgrrLigIwg4K6o4K+G4K6f4K+B4K614oCM4K6w4K6/4K6a4K+IIOCuruKAjOCuseCvjeCuseCvgeCuruCvjSDgrofgrrLgrpXgr43grpXgr4Eg4K6o4K+G4K6f4K+B4K614oCM4K6w4K6/4K6a4K+I4K6v4K6/4K6p4K+NIOCupOKAjOCuleKAjOCuteKAjOCusuCvjSDgrrXigIzgrp/grr/grrXigIzgrq7gr40gKERBVEEgVFlQRSkg4K6S4K6p4K+N4K6x4K6+4K6V4oCMIOCuh+CusOCvgeCuleCvjeCuleKAjCDgrrXgr4fgrqPgr43grp/gr4Hgrq7gr40uJywn4K614K+H4K6x4K+N4K6x4K+BIOCuteCuv+CumuCviCcsJ+CuheCun+CvjeCun+KAjOCuteKAjOCuo+CviCDgrofgrrLigIzgrpXgr43grpXgr4EnLCfgrq7grr7grrHgr43grrHgr4EnLCfgrqjgr4bgrp/gr4Eg4K614oCM4K6w4K6/4K6a4K+I4K6v4K+IIOCumuCvh+CusOCvjeCuleCvjeCuleKAjOCuteCvgeCuruCvjScsJ+CupOCvi+CuseCvjeCuseKAjOCuruCvjSDgrqjgr4DgrpXgr43grpXigIzgrqrgr43grqrigIzgrp/gr43grp/igIzgrqTgr4EuJywn4K6k4K+L4K6x4K+N4K6x4K6u4K+NIOCuruCuvuCuseCvjeCuseCuquCvjeCuquKAjOCun+CvjeCun+KAjOCupOCvgS4nLCfgrqTgr4vgrrHgr43grrHigIzgrq7gr40g4K6J4K6w4K+B4K614K6+4K6V4K+N4K6V4oCM4K6q4K+N4K6q4oCM4K6f4K+N4K6f4oCM4K6k4K+BLicsJ+CupOCvi+CuseCvjeCuseCupOCvjeCupOCviCDgrongrrDgr4HgrrXgrr7grpXgr43grpXgr4EnLCfgrqjgrr/grpXigIzgrrTgr43grprgr43grprgrr8gKEV2ZW50KSDgrqjgr4DgrpXgr43grpXigIzgrqrgr43grqrigIzgrp/gr43grp/igIzgrqTgr4EuJywn4K6o4K6/4K6V4oCM4K604K+N4K6a4K+N4K6a4K6/IChFdmVudCkg4K6u4K6+4K6x4K+N4K6x4K6q4K+N4K6q4oCM4K6f4K+N4K6f4oCM4K6k4K+BLicsJ+CuqOCuv+CuleKAjOCutOCvjeCumuCvjeCumuCuvyAoRXZlbnQpIOCuieCusOCvgeCuteCuvuCuleCvjeCuleKAjOKAjOCuquCvjeCuquKAjOCun+CvjeCun+KAjOCupOCvgS4nLCfgrqjgrr/grpXigIzgrrTgr43grprgr43grprgrr/grq/gr4ggKEV2ZW50KSDgrq7grr7grrHgr43grrHgr4EnLCfgrqjgrr/grpXigIzgrrTgr43grprgr43grprgrr/grq/gr4ggKEV2ZW50KSDgrongrrDgr4HgrrXgrr7grpXgr43grpXgr4EnLCfgrqTgr4rgrp/igIzgrpngr43grpXgr4EnLCfgrq7gr4Hgrp/grr8gKOCuteCvgSknLCfgrpLgrrXgr43grrXgr4rgrrDgr4EnLCfgrq7gr4Hgrp/grr/grqjgr43grqTigIzgrqTgrr/grqngr40g4K6q4K6/4K6p4K+NIOCuquCuvuCupOCvgeCuleCuvuCuleCvjeCuleKAjOCuteCvgeCuruCvjScsJ+CusOCviuCun+CvjeCun+CvgOCuqeCvjSDgrqjgr4DgrpXgr43grpXigIzgrqrgr43grqrigIzgrp/gr43grp/igIzgrqTgr4EuJywn4K6w4K+K4K6f4K+N4K6f4K+A4K6p4K+NIOCuruCuvuCuseCvjeCuseKAjOCuquCvjeCuquKAjOCun+CvjeCun+CupOCvgS4nLCfgrrDgr4rgrp/gr43grp/gr4Dgrqngr40g4K6J4K6w4K+B4K614K6+4K6V4K+N4K6V4oCM4K6q4K+N4K6q4oCM4K6f4K+N4K6f4oCM4K6k4K+BLicsJ0Z1bmN0aW9uIOCuruCuvuCuseCvjeCuseCvgScsJ+CumuCvhuCur+KAjOCusuCvjeCuruCvgeCuseCviOCur+CviCDgrq7grr7grrHgr43grrHgr4EnLCdGdW5jdGlvbiDgrongrrDgr4HgrrXgrr7grpXgr43grpXgr4EnLCfgrprgr4bgrq/gr43grq7gr4HgrrHgr4jgrq/gr4gg4K6J4K6w4K+B4K614K6+4K6V4K+N4K6V4K+BJywn4K6k4K6/4K6w4K+B4K6u4K+N4K6q4K+BIOCuteKAjOCuleCviCcsJ+CuteKAjOCusOCuv+CumuCviOCuruCvgeCuseCviCDgrqjgr4DgrpXgr43grpXigIzgrqrgr43grqrigIzgrp/gr43grp/igIzgrqTgr4EuJywn4K614oCM4K6w4K6/4K6a4K+I4K6u4K+B4K6x4K+IIOCuieCusOCvgeCuteCuvuCuleCvjeCuleKAjOCuquCvjeCuquKAjOCun+CvjeCun+KAjOCupOCvgS4nLCfgrrXigIzgrrDgrr/grprgr4jgrq7gr4HgrrHgr4gg4K6u4K6+4K6x4K+N4K6x4oCM4K6q4K+N4K6q4oCM4K6f4K+N4K6f4oCM4K6k4K+BLicsJ+CuteKAjOCusOCuv+CumuCviOCuruCvgeCuseCviOCur+CviCDgrq7grr7grrHgr43grrHgr4EnLCfgrrXigIzgrrDgrr/grprgr4jgrq7gr4HgrrHgr4jgrq/gr4gg4K6J4K6w4K+B4K614K6+4K6V4K+N4K6V4K+BJywn4K614oCM4K6V4K+IICh0eXBlKSDgrqjgr4DgrpXgr43grpXigIzgrqrgr43grqrigIzgrp/gr43grp/igIzgrqTgr4EuJywn4K614oCM4K6V4K+IICh0eXBlKSDgrongrrDgr4HgrrXgrr7grpXgr43grpXigIzgrqrgr43grqrigIzgrp/gr43grp/igIzgrqTgr4EuJywn4K614oCM4K6V4K+I4K6v4K6/4K6p4K+IICh0eXBlKSDgrq7grr7grrHgr43grrHgr4EnLCfgrrXigIzgrpXgr4jgrq/gr4gg4K6J4K6w4K+B4K614K6+4K6V4K+N4K6V4K+BJywn4K6k4K+C4K6j4K+N4K6f4K+BIOCuteCuv+CumuCviCDgrqjgr4DgrpXgr43grpXigIzgrqrgr43grqrigIzgrp/gr43grp/igIzgrqTgr4EuJywn4K6k4K+C4K6j4K+N4K6f4K+BIOCuteCuv+CumuCviCDgrq7grr7grrHgr43grrHigIzgrqrgr43grqrigIzgrp/gr43grp/igIzgrqTgr4EuJywn4K6k4K+C4K6j4K+N4K6f4K+BIOCuteCuv+CumuCviCDgrongrrDgr4HgrrXgrr7grpXgr43grpXigIzgrqrgr43grqrigIzgrp/gr43grp/igIzgrqTgr4EuJywn4K6k4K+C4K6j4K+N4K6f4K+BIOCuteCuv+CumuCviOCur+CviCDgrq7grr7grrHgr43grrHgr4EnLCfgrqTgr4LgrqPgr43grp/gr4Eg4K614K6/4K6a4K+I4K6v4K+IIOCuieCusOCvgeCuteCuvuCuleCvjeCuleCvgScsJ+CuqOCvh+CusOKAjOCuruCvjScsJ+CuqOCuv+CuleKAjOCutOCvjeCumuCvjeCumuCuvycsJ+CuquKAjOCur+CuqeCvgOCun+CvjeCun+CuvuCus+KAjOCusOCvjSDgrqjgr4DgrpXgr43grpXigIzgrqrgr43grqrigIzgrp/gr43grp/grr7grrDgr40uJywn4K6q4oCM4K6v4K6p4K+A4K6f4K+N4K6f4K6+4K6z4oCM4K6w4K+NIOCuruCuvuCuseCvjeCuseCuquCvjeCuquKAjOCun+CvjeCun+CuvuCusOCvjS4nLCfgrqrigIzgrq/igIzgrqngr4Dgrp/gr43grp/grr7grrPigIzgrrDgr40g4K6J4K6w4K+B4K614K6+4K6V4K+N4K6V4oCM4K6q4K+N4K6q4oCM4K6f4K+N4K6f4oCM4K6k4K+BLicsJ0hhc2hlZCcsJ+CusOCviuCun+CvjeCun+CvgOCuqeCvjScsJ+CuheCuqeCvgeCuruKAjOCupOCuv+Cur+KAjOCus+CuvycsJ+Cuh+CusOKAjOCupOCvjeCupOCvgeCumuCvjeCumuCvhuCur+CvjScsYXJyYXkoJyVkIOCuteCvh+CusuCviCDgrrXigIzgrrLgr4HgrrXgrr/grrLgr40g4K6o4K6/4K6x4K+B4K6k4K+N4K6k4oCM4K6q4oCM4K6f4K+N4K6f4oCM4K6k4K+BLicsJyVkIOCuteCvh+CusuCviOCuleKAjOCus+CvjSDgrrXigIzgrrLgr4HgrrXgrr/grrLgr40g4K6o4K6/4K6x4K+B4K6k4K+N4K6k4oCM4K6q4oCM4K6f4K+N4K6f4oCM4K6p4oCMLicpLCfgrq7gr4rgrqTgr43grqTgrq7gr40gJWQgJywn4K614oCM4K6y4K+B4K614K6/4K6y4K+NIOCuqOCuv+CuseCvgeCupOCvjeCupOCvgScsYXJyYXkoJyVkIOCuieCusOCvgeCuquCvjeCuquKAjOCun+CuvyDgrq7grr7grrHgr43grrHigIzgrq7igIzgrp/gr4jgrqjgr43grqTgrqTgr4EuJywnJWQg4K6J4K6w4K+B4K6q4K+N4K6q4oCM4K6f4K6/4K6V4oCM4K6z4K+NIOCuruCuvuCuseCvjeCuseKAjOCuruKAjOCun+CviOCuqOCvjeCupOKAjOCuqeKAjC4nKSwn4K6u4oCM4K6k4K6/4K6q4K+N4K6q4K6/4K6p4K+IIOCuruCuvuCuseCvjeCusSDgroXgrqTigIzgrqngr40g4K6u4K+A4K6k4K+BIOCuh+CusOCvgeCuruCvgeCuseCviCDgrprgr4rgrp/gr4HgrpXgr43grpXigIzgrrXgr4Hgrq7gr40gKERvdWJsZSBjbGljaykuJyxhcnJheSgnJWQg4K614oCM4K6w4K6/4K6a4K+IIOCuh+CuseKAjOCuleCvjeCuleCvgeCuruKAjOCupOCuvyAoSW1wb3J0KSDgrprgr4bgrq/gr43grq/igIzgrqrgr43grqrigIzgrp/gr43grp/igIzgrqTgr4EuJywnJWQg4K614oCM4K6w4K6/4K6a4K+I4K6V4oCM4K6z4K+NIOCuh+CuseKAjOCuleCvjeCuleCvgeCuruKAjOCupOCuvyAoSW1wb3J0KSDgrprgr4bgrq/gr43grq/igIzgrqrgr43grqrigIzgrp/gr43grp/grqnigIwuJyksJ+CuheCun+CvjeCun+KAjOCuteKAjOCuo+CviOCur+CviCDgrqTgr4fgrrDgr43grrXgr4Eg4K6a4K+G4K6v4K+N4K6v4oCMIOCuruCvgeCun+Cuv+Cur+KAjOCuteCuv+CusuCvjeCusuCviCcsJ+CuieCuseKAjOCuteCvgeCuleKAjOCus+CvjSAoUmVsYXRpb25zKScsJ+Cuh+CuqOCvjeCupOKAjCDgrq7igIzgrqTgrr/grqrgr43grqrgrr/grqngr4gg4K6u4K6+4K6x4K+N4K6x4oCMLCDgrqTgr4rgrpXgr4Hgrqrgr43grqrgr4Eg4K6H4K6j4K+I4K6q4K+N4K6q4K6/4K6p4K+IIOCuieCuquKAjOCur+Cvi+CuleCuv+CuleCvjeCuleKAjOCuteCvgeCuruCvjS4nLCfgrqrigIzgrpXgr43grpXigIzgrq7gr40nLCfgrpXigIzgrp/gr4jgrprgrr8nLCfgrq7gr4HgrrTgr4Hgrq7gr4jgrq/grr7grqnigIwg4K6u4K+B4K6f4K6/4K614K+BJywn4K6o4oCM4K6V4oCM4K6y4K6/IChDbG9uZSknLCfgrofgrrHigIzgrpXgr43grpXgr4Hgrq7igIzgrqTgrr8gKEltcG9ydCknLCcsJywn4K6F4K6f4K+N4K6f4oCM4K614oCM4K6j4K+IIOCuleCvgeCuseCviOCuleCvjeCuleKAjOCuquCvjeCuquKAjOCun+CvjeCun+KAjOCupOCvgSAodHJ1bmNhdGVkKS4nLCfgroXgrp/gr43grp/igIzgrrXigIzgrqPgr4gg4K6o4oCM4K6V4oCM4K6w4K+N4K6k4K+N4K6k4oCM4K6q4K+N4K6q4oCM4K6f4K+N4K6f4oCM4K6k4K+BLicsJ+CuheCun+CvjeCun+CuteCuo+CviOCuleCus+CvjSDgrqjgrpXgrrLgr4bgrp/gr4HgrpXgr43grpXgrqrgr40g4K6q4K6f4K+N4K6f4K6k4K+BLicsJ+CuheCun+CvjeCun+KAjOCuteKAjOCuo+CviCDgrqjgr4DgrpXgr43grpXigIzgrqrgr43grqrigIzgrp/gr43grp/igIzgrqTgr4EuJywn4K6F4K6f4K+N4K6f4oCM4K614oCM4K6j4K+I4K6V4oCM4K6z4K+B4K6u4K+NIOCuquCuvuCusOCvjeCuteCviOCuleKAjOCus+CvgeCuruCvjScsJ+CupOKAjOCuleKAjOCuteKAjOCusuCviCDgroXgrp/gr43grp/igIzgrrXigIzgrqPgr4jgrq/grr/grrLgr40g4K6k4K+H4K6f4K+BJywn4K6O4K6e4K+N4K6a4K6/4K6p4K+NIChFbmdpbmUpJywn4K6k4oCM4K6V4oCM4K614oCM4K6y4K+NIOCuqOCvgOCus+KAjOCuruCvjScsJ0luZGV4IOCuqOCvgOCus+KAjOCuruCvjScsJ0RhdGEgRnJlZScsJ+CuteKAjOCusOCuv+CumuCviOCuleKAjOCus+CvjScsJ+CuqOCvgeCuo+CvgeCuleCuvyDgrobgrrDgrr7grq/igIzgrrXgr4Hgrq7gr40nLCfgrongrpXigIzgrqrgr43grqrgrr7grpXgr43grpXgr4EgKE9wdGltaXplKScsJ+CuquKAjOCusOCuv+CumuCvi+CupOCuvycsJ+CuquKAjOCutOCvgeCupOCvgSDgrqrgrr7grrDgr40nLCfgrpXgr4HgrrHgr4ggKFRydW5jYXRlKScsJ+CuruKAjOCuseCvjeCuseKAjCDgrqTigIzgrpXigIzgrrXigIzgrrLgr40g4K6k4K6z4oCM4K6k4K+N4K6k4K6/4K6x4K+N4K6V4K+N4K6V4K+BIOCuqOKAjOCuleKAjOCusOCvjeCupOCvjeCupOCvgScsJ+CuqOKAjOCuleKAjOCusOCvjeCupOCvjeCupOCvgScsJ+CuqOCuleCusuCvjScsJ+CuteKAjOCusOCuv+CumuCviOCuruCvgeCuseCviCcsJ+CuleCuvuCusuKAjCDgroXgrp/gr43grp/igIzgrrXigIzgrqPgr4gnLCfgrpXgr4HgrrHgrr/grqTgr43grqTigIwg4K6o4K+H4K6w4oCM4K6k4K+N4K6k4K6/4K6y4K+NJywnSEg6TU06U1MnKTticmVhaztjYXNlImFyIjokVz1hcnJheSgn2YfZhCDYo9mG2Kog2YXYqtij2YPYr9ifJywn2YXZhiDYutmK2LEg2KfZhNmF2YXZg9mGINix2YHYuSDYp9mE2YXZhNmBLicsJ9it2KzZhSDYp9mE2YXZhNmBINin2YTYo9mC2LXZiSDZh9mIICVzQi4nLCfYp9mE2YXZhNmBINi62YrYsSDZhdmI2KzZiNivLicsJ9mB2KfYsdi6Jywn2KfZhNij2LXZhNmKJywn2YTYpyDYqtmI2KzYryDYrNiv2KfZiNmELicsJ9in2YTZhNi62KknLCfYp9mE2YXYs9iq2LnZhdmEJywn2YXZhiDZgdi22YTZgyDYpdiz2KrYudmF2YQg2KXYrdiv2Ykg2KfZhNil2YXYqtiv2KfYr9in2Ko6ICVzLicsJ9in2YTZhdmE2YEg2YXZiNis2YjYry4nLCfZhtmI2Lkg2KfZhNmF2LPYqtiu2K/ZhScsJ9ij2LnYr9in2K8nLCfYp9mE2KrYp9ix2YrYriDZiCDYp9mE2YjZgtiqJywn2LPZhNin2LPZhCcsJ9ir2YbYp9im2YrYqScsJ9i02KjZg9ipJywn2YfZhtiv2LPYqScsJ9mC2YjYp9im2YUnLCfYp9mE2YbYuNin2YUnLCfYp9mE2K7Yp9iv2YUnLCfYp9mE2YXYs9iq2LnZhdmEJywn2YPZhNmF2Kkg2KfZhNmF2LHZiNixJywn2KrYs9is2YrZhCDYp9mE2K/YrtmI2YQnLCfYqtiz2KzZitmEINiv2K7ZiNmEINiv2KfYptmFJywn2LnYsdi2INin2YTYqNmK2KfZhtin2KonLCfYudix2LYg2KfZhNiq2LHZg9mK2KjYqScsJ9iq2LnYr9mK2YQg2LnYsdi2Jywn2KrYudiv2YrZhCDYp9mE2KzYr9mI2YQnLCfYudmG2LXYsSDYrNiv2YrYrycsJ9in2YTYtdmB2K3YqSDYp9mE2LPYp9io2YLYqScsJ9iq2LnYr9mK2YQnLCclZCDYqNin2YrYqicsJ9il2K7YqtmK2KfYsScsJ9in2YTYr9mI2KfZhCcsJ9iq2KzZhdmK2LknLCfYqNit2KsnLCfZgdmKINin2Yog2YXZg9in2YYnLCfYqtix2KrZitioJywn2KrZhtin2LLZhNmKJywn2K3YrycsJ9i32YjZhCDYp9mE2YbYtScsJ9it2LHZg9ipJywn2KXYs9iq2LnZhNin2YUgU1FMJywn2YHYqtitJywn2K3Zgdi4Jywn2KrYudiv2YrZhCDZgtin2LnYr9ipINin2YTYqNmK2KfZhtin2KonLCfYqti52K/ZitmEINin2YTZhdiu2LfYtycsJ9il2YbYtNin2KEg2YXYrti32LcnLCfZhdiu2LfYtyDZgdin2LnYr9ipINin2YTYqNmK2KfZhtin2KonLCfYp9mE2KXZhdiq2YrYp9iy2KfYqicsJ9iq2LXYr9mK2LEnLCfYqtiz2KzZitmEINin2YTYrtix2YjYrCcsJ9mC2KfYudiv2Kkg2KjZitin2YbYp9iqJywn2KfZhNmF2K7Yt9i3Jywn2KPZhti02KYg2KzYr9mI2YQg2KzYr9mK2K8nLCfYqtit2K/ZitivJywncnRsJywn2YfZhCDYqtmI2K8g2KXYudin2K/YqSDYpdix2LPYp9mEINio2YrYp9mG2KfYqiBQT1NUINifJywnQ1NSRiBUb2tlbiDYrtin2LfYpi4g2YXZhiDZgdi22YTZgyDYo9i52K8g2KXYsdiz2KfZhCDYp9mE2KXYs9iq2YXYp9ix2KkuJywn2YXYuSDYp9mE2LPZhNin2YXYqS4nLCfYudmE2YrZgyDYqtmB2LnZitmEINmG2LjYp9mFINin2YTYrNmE2LPYp9iqLicsJ9il2YbYqtmH2Kog2KfZhNis2YTYs9ip2Iwg2YXZhiDZgdi22YTZgyDYo9i52K8g2KrYs9is2YrZhCDYp9mE2K/YrtmI2YQuJywn2YHYtNmEINmB2Yog2KrYs9is2YrZhCDYp9mE2K/YrtmI2YQuJywn2KXZhdiq2K/Yp9ivINi62YrYsSDZhdmI2KzZiNivJywn2KXZhdiq2K/Yp9iv2KfYqiBwaHAg2KfZhNmF2K/YudmI2YXYqSDYutmK2LEg2YXZiNis2YjYr9ipLicsJ9mF2LnZhNmI2YXYp9iqIFBPU1Qg2YPYqNmK2LHYqSDYrNiv2KcuINmC2YUg2KjYqtmC2YTZiti1INit2KzZhSDYp9mE2YXYudmE2YjZhdin2Kog2KPZiCDZgtmFINio2LLZitin2K/YqSDZgtmK2YXYqSAlcyDZgdmKINiu2YrYp9ix2KfYqiDYp9mEIFBIUC4nLCfZgtin2LnYr9ipINio2YrYp9mG2KfYqicsJ9mC2KfYudiv2Kkg2KjZitin2YbYp9iqINiu2KfYt9im2KkuJywn2KrZhSDYrdiw2YEg2YLZiNin2LnYryDYp9mE2KjZitin2YbYp9iqLicsJ9il2K7YqtixINmC2KfYudiv2Kkg2KfZhNio2YrYp9mG2KfYqicsJ9ij2YbYtNimINmB2KfYudiv2Kkg2KjZitin2YbYp9iqJywn2YLYp9im2YXYqSDYp9mE2KXYrNix2KfYodin2KonLCfZhdiq2LrZitix2KfYqicsJ9it2KfZhNipJywn2KfZhNmG2LPYrtipICVzIDogJXMg2LnZhiDYt9ix2YrZgiDYpdmF2KrYr9in2K8g2KfZhCBQSFAgJXMnLCfYqtmFINiq2LPYrNmK2YQg2KfZhNiv2K7ZiNmEINio2KXYs9mFICVzJywn2KrYsdiq2YrYqCcsJ9is2K/Yp9mI2YQnLCfYrdiw2YEnLCfYqtit2K/ZitirJywn2KfZhNmF2K7Yt9i3Jywn2YXYrti32Lcg2K7Yp9i32KYuJywn2YTYpyDYqtmI2KzYryDZhtiq2KfYptisLicsJyUuM2YgcycsJ9mF2YHYp9iq2YrYrSDYo9is2YbYqNmK2KknLCfYp9mE2KrYsdiq2YrYqCcsJ09OIERFTEVURScsJ9il2LPZhSDYp9mE2LnZhdmI2K8nLCfYpdiz2YUg2KfZhNmF2KrYutmK2LEnLCfYp9mE2YbZiNi5Jywn2KfZhNi32YjZhCcsJ9iu2YrYp9ix2KfYqicsJ9iq2LLYp9mK2K8g2KrZhNmC2KfYptmKJywn2KfZhNmC2YrZhdipINin2YTYpdmB2KrYsdin2LbZitipJywn2KrYudmE2YrZgicsJ9il2LbYp9mB2Kkg2KfZhNiq2KfZhNmKJywn2YbZgtmEINmE2YTYo9i52YTZiScsJ9mG2YLZhCDZhNmE2KPYs9mB2YQnLCfZhdiz2K0nLCfYudix2LYnLCfYrNiv2YjZhCcsJ9i52YXZiNivJywn2KfZhNmF2KTYtNix2KfYqicsJ9iq2LnYr9mK2YQg2KfZhNmF2KTYtNix2KfYqicsJ9in2YTZhdi12K/YsScsJ9in2YTZh9iv2YEnLCdPTiBVUERBVEUnLCfYqti52K/ZitmEJywn2KXYttin2YHYqSDZhdmB2KrYp9itINij2KzZhtio2YonLCfYp9mE2LLZhtin2K/Yp9iqJywn2KXYttin2YHYqSDYstmG2KfYrycsJ9mI2LXZhNipINiv2KfYptmF2KknLCfYqti12K/ZitixJywn2KXYrtix2KfYrCcsJ9in2YTYtdmK2LrYqScsJ9in2YTYsdmI2KrZitmG2KfYqicsJ9in2YTYo9it2K/Yp9irJywn2YXYudmE2YjZhdin2KonLCfYqti52K/ZitmEJywn2KXZhti02KfYoSDZhdiz2KrYrtiv2YUnLCfZh9mG2KfZgyDYrti32KMg2YHZiiDYp9mE2KXYs9iq2LnZhNin2YUnLCclZCDYo9iz2LfYsScsJ9iq2YUg2KrZhtmB2LPYsCDYp9mE2KXYs9iq2LnZhNin2YUsICVkINi52K/YryDYp9mE2KPYs9i32LEg2KfZhNmF2LnYr9mE2KkuJywn2YTYpyDYqtmI2KzYryDYo9mI2KfZhdixINmE2YTYqtmG2YHZitiwLicsYXJyYXkoJ9iq2YUg2KrZhtmB2YrYsCDYp9mE2KXYs9iq2LnZhNin2YUgJWQg2KjZhtis2KfYrS4nLCfYqtmFINiq2YbZgdmK2LAg2KfZhNil2LPYqti52YTYp9mF2KfYqiAlZCDYqNmG2KzYp9itLicpLCfYsdmB2Lkg2YXZhNmBJywn2KrZhSDYpdmE2LrYp9ihINix2YHYuSDYp9mE2YXZhNmB2KfYqi4nLCfYqtmG2YHZitiwJywn2KPZiNmC2YEg2YHZiiDYrdin2YTYqSDYrdiv2YjYqyDYrti32KMnLCfYpdi52LHYtiDYp9mE2KPYrti32KfYoSDZgdmC2LcnLCfZhdmGINin2YTYrtin2K/ZhScsJ9mF2YTZgSAlcyDZhdmGINiu2KfYr9mFINin2YTZiNmK2KgnLCfZhtmB2LAg2KfZhNmF2YTZgScsJ9iq2KfYsdmK2K4nLCfZhdiz2K0nLCfYqti52K/ZitmEINin2YTZg9mEJywn2KrZhSDYrdiw2YEg2KfZhNi52YbYtdixLicsJ9iq2YUg2KrYudiv2YrZhCDYp9mE2LnZhti12LEuJywn2KrZhSDYpdiv2LHYp9isINin2YTYudmG2LXYsS4nLCfYpdmG2LTYp9ihJywn2K3Zgdi4Jywn2KXYrdmB2Lgg2Ygg2YjYp9i12YQg2KfZhNiq2LnYr9mK2YQnLCfYrNmB2Lgg2Ygg2KXZhti02KfYoSDYp9mE2KrYp9mE2YonLCfZhdiz2K0nLCfYqtmFINit2LDZgSDYp9mE2KzYr9mI2YQuJywn2KrZhSDYqti52K/ZitmEINin2YTYrNiv2YjZhC4nLCfYqtmFINil2YbYtNin2KEg2KfZhNis2K/ZiNmELicsJ9il2YbYtNin2KEg2KzYr9mI2YQnLCfZhNmC2K8g2KrYrNin2YjYstiqINin2YTYudiv2K8g2KfZhNij2YLYtdmJINmE2YTYrdmC2YjZhC4g2YrYsdis2Ykg2KfZhNix2YHYuSDZhdmGICVzINmIICVzLicsJ9il2LPZhSDYp9mE2KzYr9mI2YQnLCfYp9mE2YXYrdix2YMnLCfZhdmC2LPZhSDYqNmI2KfYs9i32KknLCfYp9mE2KrZgtiz2YrZhdin2KonLCfYpdiz2YUg2KfZhNiq2YLYs9mK2YUnLCfYp9mE2YLZitmFJywn2KrZhSDYqti52K/ZitmEINin2YTZhdik2LTYsS4nLCfZhtmI2Lkg2KfZhNmF2KTYtNixJywn2KfZhNi52YXZiNivICjYp9mE2LfZiNmEKScsJ9in2YTYpdiz2YUnLCfYqtmFINit2LDZgSDZgtin2LnYr9ipINin2YTYqNmK2KfZhtin2KouJywn2KrZhdiqINil2LnYp9iv2Kkg2KrYs9mF2YrYqSDZgdin2LnYr9ipINin2YTYqNmK2KfZhtin2KouJywn2KrZhSDYpdmG2LTYp9ihINmC2KfYudiv2Kkg2KfZhNio2YrYp9mG2KfYqi4nLCfYqtmFINiq2LnYr9mK2YQg2YLYp9i52K/YqSDYp9mE2KjZitin2YbYp9iqLicsJ9il2YbYtNin2KEg2YLYp9i52K/YqSDYqNmK2KfZhtin2KonLCfYqtmFINit2LDZgSDYp9mE2YXYrti32LcuJywn2KrZhSDYpdmG2LTYp9ihINin2YTZhdiu2LfYty4nLCfYqtmFINiq2LnYr9mK2YQg2KfZhNmF2K7Yt9i3LicsJ9il2LPYqtiv2LnYp9ihJywn2KrZhSDYpdiz2KrYr9i52KfYoSDYp9mE2LHZiNiq2YrZhiwg2LnYr9ivINin2YTYo9iz2LfYsSDYp9mE2YXYudiv2YTYqSAlZC4nLCfYp9mE2YXZgdiq2KfYrSDYp9mE2KPYrNmG2KjZiiDYqtmFINmF2LPYrdmHLicsJ9in2YTZhdmB2KrYp9itINin2YTYo9is2YbYqNmKINiq2YUg2KrYudiv2YrZhNmHLicsJ9in2YTZhdmB2KrYp9itINin2YTYo9is2YbYqNmKINiq2YUg2KXZhti02KfYpNmHLicsJ9ij2LnZhdiv2Kkg2KfZhNmF2LXYr9ixINmIINin2YTZh9iv2YEg2YrYrNioINij2YYg2KrZg9mI2YYg2KjZhtmB2LMg2KfZhNmG2YjYuSwg2YrYrNioINij2YYg2YrZg9mI2YYg2YfZhtin2YMg2YXYpNi02LEg2YHZiiDYo9i52YXYr9ipINin2YTZh9iv2YEg2Ygg2KfZhNio2YrYp9mG2KfYqiDYp9mE2YXYsdis2LnZitipINmK2KzYqCDYp9mGINiq2YPZiNmGINmF2YjYrNmI2K/YqS4nLCfZhdmB2KrYp9itINij2KzZhtio2YonLCfYp9mE2KzYr9mI2YQg2KfZhNmF2LPYqtmH2K/ZgScsJ9iq2LnYr9mK2YQnLCfYo9i22YEg2LnZhdmI2K8nLCfYqtmFINmF2LPYrSDYp9mE2LnYsdi2LicsJ9iq2YUg2KrYudiv2YrZhCDYp9mE2LnYsdi2LicsJ9iq2YUg2KXZhti02KfYoSDYp9mE2LnYsdi2LicsJ9il2YbYtNin2KEg2LnYsdi2Jywn2KrZhSDZhdiz2K0g2KfZhNit2K/Yqy4nLCfYqtmFINiq2LnYr9mK2YQg2KfZhNit2K/Yqy4nLCfYqtmFINil2YbYtNin2KEg2KfZhNit2K/Yqy4nLCfYqti52K/ZitmEINit2K/YqycsJ9il2YbYtNin2KEg2K3Yr9irJywn2KXYqNiv2KMnLCfYpdmG2YfYp9ihJywn2YPZhCcsJ9it2YHYuCDYudmG2K8g2KfZhNil2YbYqtmH2KfYoScsJ9iq2YUg2K3YsNmBINin2YTYsdmI2KrZitmGLicsJ9iq2YUg2KrYudiv2YrZhCDYp9mE2LHZiNiq2YrZhi4nLCfYqtmFINil2YbYtNin2KEg2KfZhNix2YjYqtmK2YYuJywn2KrYudiv2YrZhCDYp9mE2K/Yp9mE2KknLCfYqti52K/ZitmEINin2YTYpdis2LHYp9ihJywn2KXZhti02KfYoSDYr9in2YTYqScsJ9il2YbYtNin2KEg2KXYrNix2KfYoScsJ9mG2YjYuSDYp9mE2LnZiNiv2KknLCfYqtmFINit2LDZgSDYp9mE2LPZhNiz2YTYqS4nLCfYqtmFINil2YbYtNin2KEg2KfZhNiz2YTYs9mE2KkuJywn2KrZhSDYqti52K/ZitmEINin2YTYs9mE2LPZhNipLicsJ9iq2LnYr9mK2YQg2LPZhNiz2YTYqScsJ9il2YbYtNin2KEg2LPZhNiz2YTYqScsJ9iq2YUg2K3YsNmBINin2YTZhtmI2LkuJywn2KrZhSDYpdmG2LTYp9ihINin2YTZhtmI2LkuJywn2KrYudiv2YrZhCDZhtmI2LknLCfYpdmG2LTYp9ihINmG2YjYuScsJ9iq2YUg2K3YsNmBINin2YTYstmG2KfYry4nLCfYqtmFINiq2LnYr9mK2YQg2KfZhNiy2YbYp9ivLicsJ9iq2YUg2KXZhti02KfYoSDYp9mE2LLZhtin2K8uJywn2KrYudiv2YrZhCDYstmG2KfYrycsJ9il2YbYtNin2KEg2LLZhtin2K8nLCfYp9mE2YjZgtiqJywn2KfZhNit2K/YqycsJ9iq2YUg2K3YsNmBINin2YTZhdiz2KrYrtiv2YUuJywn2KrZhSDYqti52K/ZitmEINin2YTZhdiz2KrYrtiv2YUuJywn2KrZhSDYpdmG2LTYp9ihINin2YTZhdiz2KrYrtiv2YUuJywn2KrZhNio2YrYrycsJ9ix2YjYqtmK2YYnLCfZhdmI2KfZgdmCJywn2KXZhNi62KfYoScsJ9i52K/YryDYp9mE2KXYrNix2KfYodin2Kog2KfZhNiq2Yog2KrZhSDYpdmK2YLYp9mB2YfYpyAlZC4nLCclZCDZgdmKINin2YTZhdis2YXZiNi5Jywn2KXZitmC2KfZgScsJ9i52K/YryDYp9mE2LnZhtin2LXYsSDYp9mE2YXYudiv2YTYqSDZh9mIICVkLicsJ9ij2YbZgtixINmG2YLYsdinINmF2LLYr9mI2KzYpyDYudmE2Ykg2YLZitmF2Kkg2YTYqti52K/ZitmE2YfYpy4nLCfYudiv2K8g2KfZhNij2LPYt9ixINin2YTZhdiz2KrZiNix2K/YqSDZh9mIICVkLicsJ9mF2YYg2LrZitixINin2YTZhdmF2YPZhiDYpdiu2KrZitin2LEg2KfZhNis2K/ZiNmEJywn2LnZhNin2YLYp9iqJywn2KXYs9iq2LnZhdmEINin2YTYsdin2KjYtyAi2KrYudiv2YrZhCIg2YTYqti52K/ZitmEINmH2LDZhyDYp9mE2YLZitmF2KkuJywn2LXZgdit2KknLCfYp9mE2KPYrtmK2LHYqScsJ9mG2KrZitis2Kkg2YPYp9mF2YTYqScsJ9mG2LPYricsJ9il2LPYqtmK2LHYp9ivJywnLCcsJ9iq2YUg2YLYt9i5INin2YTYrNiv2KfZiNmELicsJ9iq2YUg2YbZgtmEINin2YTYrNiv2KfZiNmELicsJ9iq2YUg2YbYs9iuINin2YTYrNiv2KfZiNmELicsJ9iq2YUg2K3YsNmBINin2YTYrNiv2KfZiNmELicsJ9in2YTYrNiv2KfZiNmEINmIINin2YTYudix2YjYticsJ9io2K3YqyDZgdmKINin2YTYrNiv2KfZiNmEJywn2KfZhNmF2K3YsdmDJywn2LfZiNmEINin2YTZhdi52LfZitin2KouJywn2LfZiNmEINin2YTZhdik2LTYsS4nLCfYp9mE2YXYs9in2K3YqSDYp9mE2K3YsdipJywn2KfZhNij2LPYt9ixJywn2KrYrdmE2YrZhCcsJ9iq2K3Ys9mK2YYnLCfZgdit2LUnLCfYpdi12YTYp9itJywn2YLYt9i5Jywn2YbZgtmEINil2YTZiSDZgtin2LnYr9ipINio2YrYp9mG2KfYqiDYo9iu2LHZiScsJ9mG2YLZhCcsJ9mG2LPYricsJ9in2YTYs9mE2KfYs9mEJywn2YXZiNin2LnZitivJywn2YHZiiDZiNmC2Kog2YXYrdiv2K8nLCdISDpNTTpTUycpO2JyZWFrO31pZihleHRlbnNpb25fbG9hZGVkKCdwZG8nKSl7Y2xhc3MKTWluX1BETwpleHRlbmRzClBET3t2YXIkX3Jlc3VsdCwkc2VydmVyX2luZm8sJGFmZmVjdGVkX3Jvd3MsJGVycm9yO2Z1bmN0aW9uCl9fY29uc3RydWN0KCl7fWZ1bmN0aW9uCmRzbigkVGYsJFEsJFQsJFpmPSdhdXRoX2Vycm9yJyl7c2V0X2V4Y2VwdGlvbl9oYW5kbGVyKCRaZik7cGFyZW50OjpfX2NvbnN0cnVjdCgkVGYsJFEsJFQpO3Jlc3RvcmVfZXhjZXB0aW9uX2hhbmRsZXIoKTskdGhpcy0+c2V0QXR0cmlidXRlKDEzLGFycmF5KCdNaW5fUERPU3RhdGVtZW50JykpOyR0aGlzLT5zZXJ2ZXJfaW5mbz0kdGhpcy0+Z2V0QXR0cmlidXRlKDQpO31mdW5jdGlvbgpxdWVyeSgkaSwkZWI9ZmFsc2UpeyRqPXBhcmVudDo6cXVlcnkoJGkpO2lmKCEkail7JF9mPSR0aGlzLT5lcnJvckluZm8oKTskdGhpcy0+ZXJyb3I9JF9mWzJdO3JldHVybgpmYWxzZTt9JHRoaXMtPnN0b3JlX3Jlc3VsdCgkaik7cmV0dXJuJGo7fWZ1bmN0aW9uCm11bHRpX3F1ZXJ5KCRpKXtyZXR1cm4kdGhpcy0+X3Jlc3VsdD0kdGhpcy0+cXVlcnkoJGkpO31mdW5jdGlvbgpzdG9yZV9yZXN1bHQoJGo9bnVsbCl7aWYoISRqKXskaj0kdGhpcy0+X3Jlc3VsdDt9aWYoJGotPmNvbHVtbkNvdW50KCkpeyRqLT5udW1fcm93cz0kai0+cm93Q291bnQoKTtyZXR1cm4kajt9JHRoaXMtPmFmZmVjdGVkX3Jvd3M9JGotPnJvd0NvdW50KCk7cmV0dXJuCnRydWU7fWZ1bmN0aW9uCm5leHRfcmVzdWx0KCl7cmV0dXJuJHRoaXMtPl9yZXN1bHQtPm5leHRSb3dzZXQoKTt9ZnVuY3Rpb24KcmVzdWx0KCRpLCRlPTApeyRqPSR0aGlzLT5xdWVyeSgkaSk7aWYoISRqKXtyZXR1cm4KZmFsc2U7fSRhPSRqLT5mZXRjaCgpO3JldHVybiRhWyRlXTt9fWNsYXNzCk1pbl9QRE9TdGF0ZW1lbnQKZXh0ZW5kcwpQRE9TdGF0ZW1lbnR7dmFyJF9vZmZzZXQ9MCwkbnVtX3Jvd3M7ZnVuY3Rpb24KZmV0Y2hfYXNzb2MoKXtyZXR1cm4kdGhpcy0+ZmV0Y2goMik7fWZ1bmN0aW9uCmZldGNoX3Jvdygpe3JldHVybiR0aGlzLT5mZXRjaCgzKTt9ZnVuY3Rpb24KZmV0Y2hfZmllbGQoKXskYT0ob2JqZWN0KSR0aGlzLT5nZXRDb2x1bW5NZXRhKCR0aGlzLT5fb2Zmc2V0KyspOyRhLT5vcmd0YWJsZT0kYS0+dGFibGU7JGEtPm9yZ25hbWU9JGEtPm5hbWU7JGEtPmNoYXJzZXRucj0oaW5fYXJyYXkoImJsb2IiLCRhLT5mbGFncyk/NjM6MCk7cmV0dXJuJGE7fX19JG9hPWFycmF5KCk7JG9hWyJzcWxpdGUiXT0iU1FMaXRlIDMiOyRvYVsic3FsaXRlMiJdPSJTUUxpdGUgMiI7aWYoaXNzZXQoJF9HRVRbInNxbGl0ZSJdKXx8aXNzZXQoJF9HRVRbInNxbGl0ZTIiXSkpeyRsYz1hcnJheSgoaXNzZXQoJF9HRVRbInNxbGl0ZSJdKT8iU1FMaXRlMyI6IlNRTGl0ZSIpLCJQRE9fU1FMaXRlIik7ZGVmaW5lKCJEUklWRVIiLChpc3NldCgkX0dFVFsic3FsaXRlIl0pPyJzcWxpdGUiOiJzcWxpdGUyIikpO2lmKGV4dGVuc2lvbl9sb2FkZWQoaXNzZXQoJF9HRVRbInNxbGl0ZSJdKT8ic3FsaXRlMyI6InNxbGl0ZSIpKXtpZihpc3NldCgkX0dFVFsic3FsaXRlIl0pKXtjbGFzcwpNaW5fU1FMaXRle3ZhciRleHRlbnNpb249IlNRTGl0ZTMiLCRzZXJ2ZXJfaW5mbywkYWZmZWN0ZWRfcm93cywkZXJyb3IsJF9saW5rO2Z1bmN0aW9uCk1pbl9TUUxpdGUoJGxhKXskdGhpcy0+X2xpbms9bmV3ClNRTGl0ZTMoJGxhKTskeGQ9JHRoaXMtPl9saW5rLT52ZXJzaW9uKCk7JHRoaXMtPnNlcnZlcl9pbmZvPSR4ZFsidmVyc2lvblN0cmluZyJdO31mdW5jdGlvbgpxdWVyeSgkaSl7JGo9QCR0aGlzLT5fbGluay0+cXVlcnkoJGkpO2lmKCEkail7JHRoaXMtPmVycm9yPSR0aGlzLT5fbGluay0+bGFzdEVycm9yTXNnKCk7cmV0dXJuCmZhbHNlO31lbHNlaWYoJGotPm51bUNvbHVtbnMoKSl7cmV0dXJuCm5ldwpNaW5fUmVzdWx0KCRqKTt9JHRoaXMtPmFmZmVjdGVkX3Jvd3M9JHRoaXMtPl9saW5rLT5jaGFuZ2VzKCk7cmV0dXJuCnRydWU7fWZ1bmN0aW9uCnF1b3RlKCRJKXtyZXR1cm4iJyIuJHRoaXMtPl9saW5rLT5lc2NhcGVTdHJpbmcoJEkpLiInIjt9ZnVuY3Rpb24Kc3RvcmVfcmVzdWx0KCl7cmV0dXJuJHRoaXMtPl9yZXN1bHQ7fWZ1bmN0aW9uCnJlc3VsdCgkaSwkZT0wKXskaj0kdGhpcy0+cXVlcnkoJGkpO2lmKCFpc19vYmplY3QoJGopKXtyZXR1cm4KZmFsc2U7fSRhPSRqLT5fcmVzdWx0LT5mZXRjaEFycmF5KCk7cmV0dXJuJGFbJGVdO319Y2xhc3MKTWluX1Jlc3VsdHt2YXIkX3Jlc3VsdCwkX29mZnNldD0wLCRudW1fcm93cztmdW5jdGlvbgpNaW5fUmVzdWx0KCRqKXskdGhpcy0+X3Jlc3VsdD0kajt9ZnVuY3Rpb24KZmV0Y2hfYXNzb2MoKXtyZXR1cm4kdGhpcy0+X3Jlc3VsdC0+ZmV0Y2hBcnJheShTUUxJVEUzX0FTU09DKTt9ZnVuY3Rpb24KZmV0Y2hfcm93KCl7cmV0dXJuJHRoaXMtPl9yZXN1bHQtPmZldGNoQXJyYXkoU1FMSVRFM19OVU0pO31mdW5jdGlvbgpmZXRjaF9maWVsZCgpeyREPSR0aGlzLT5fb2Zmc2V0Kys7JF89JHRoaXMtPl9yZXN1bHQtPmNvbHVtblR5cGUoJEQpO3JldHVybihvYmplY3QpYXJyYXkoIm5hbWUiPT4kdGhpcy0+X3Jlc3VsdC0+Y29sdW1uTmFtZSgkRCksInR5cGUiPT4kXywiY2hhcnNldG5yIj0+KCRfPT1TUUxJVEUzX0JMT0I/NjM6MCksKTt9ZnVuY3Rpb24KX19kZXNjdHJ1Y3QoKXtyZXR1cm4kdGhpcy0+X3Jlc3VsdC0+ZmluYWxpemUoKTt9fX1lbHNle2NsYXNzCk1pbl9TUUxpdGV7dmFyJGV4dGVuc2lvbj0iU1FMaXRlIiwkc2VydmVyX2luZm8sJGFmZmVjdGVkX3Jvd3MsJGVycm9yLCRfbGluaztmdW5jdGlvbgpNaW5fU1FMaXRlKCRsYSl7JHRoaXMtPnNlcnZlcl9pbmZvPXNxbGl0ZV9saWJ2ZXJzaW9uKCk7JHRoaXMtPl9saW5rPW5ldwpTUUxpdGVEYXRhYmFzZSgkbGEpO31mdW5jdGlvbgpxdWVyeSgkaSwkZWI9ZmFsc2UpeyRuZj0oJGViPyJ1bmJ1ZmZlcmVkUXVlcnkiOiJxdWVyeSIpOyRqPUAkdGhpcy0+X2xpbmstPiRuZigkaSxTUUxJVEVfQk9USCwkbik7aWYoISRqKXskdGhpcy0+ZXJyb3I9JG47cmV0dXJuCmZhbHNlO31lbHNlaWYoJGo9PT10cnVlKXskdGhpcy0+YWZmZWN0ZWRfcm93cz0kdGhpcy0+Y2hhbmdlcygpO3JldHVybgp0cnVlO31yZXR1cm4KbmV3Ck1pbl9SZXN1bHQoJGopO31mdW5jdGlvbgpxdW90ZSgkSSl7cmV0dXJuIiciLnNxbGl0ZV9lc2NhcGVfc3RyaW5nKCRJKS4iJyI7fWZ1bmN0aW9uCnN0b3JlX3Jlc3VsdCgpe3JldHVybiR0aGlzLT5fcmVzdWx0O31mdW5jdGlvbgpyZXN1bHQoJGksJGU9MCl7JGo9JHRoaXMtPnF1ZXJ5KCRpKTtpZighaXNfb2JqZWN0KCRqKSl7cmV0dXJuCmZhbHNlO30kYT0kai0+X3Jlc3VsdC0+ZmV0Y2goKTtyZXR1cm4kYVskZV07fX1jbGFzcwpNaW5fUmVzdWx0e3ZhciRfcmVzdWx0LCRfb2Zmc2V0PTAsJG51bV9yb3dzO2Z1bmN0aW9uCk1pbl9SZXN1bHQoJGopeyR0aGlzLT5fcmVzdWx0PSRqO2lmKG1ldGhvZF9leGlzdHMoJGosJ251bVJvd3MnKSl7JHRoaXMtPm51bV9yb3dzPSRqLT5udW1Sb3dzKCk7fX1mdW5jdGlvbgpmZXRjaF9hc3NvYygpeyRhPSR0aGlzLT5fcmVzdWx0LT5mZXRjaChTUUxJVEVfQVNTT0MpO2lmKCEkYSl7cmV0dXJuCmZhbHNlO30kYz1hcnJheSgpO2ZvcmVhY2goJGEKYXMkZD0+JGIpeyRjWygkZFswXT09JyInP2lkZl91bmVzY2FwZSgkZCk6JGQpXT0kYjt9cmV0dXJuJGM7fWZ1bmN0aW9uCmZldGNoX3Jvdygpe3JldHVybiR0aGlzLT5fcmVzdWx0LT5mZXRjaChTUUxJVEVfTlVNKTt9ZnVuY3Rpb24KZmV0Y2hfZmllbGQoKXskZj0kdGhpcy0+X3Jlc3VsdC0+ZmllbGROYW1lKCR0aGlzLT5fb2Zmc2V0KyspOyRkYT0nKFxcWy4qXXwiKD86W14iXXwiIikqInwoLispKSc7aWYocHJlZ19tYXRjaCgifl4oJGRhXFwuKT8kZGFcJH4iLCRmLCRrKSl7JGg9KCRrWzNdIT0iIj8ka1szXTppZGZfdW5lc2NhcGUoJGtbMl0pKTskZj0oJGtbNV0hPSIiPyRrWzVdOmlkZl91bmVzY2FwZSgka1s0XSkpO31yZXR1cm4ob2JqZWN0KWFycmF5KCJuYW1lIj0+JGYsIm9yZ25hbWUiPT4kZiwib3JndGFibGUiPT4kaCwpO319fX1lbHNlaWYoZXh0ZW5zaW9uX2xvYWRlZCgicGRvX3NxbGl0ZSIpKXtjbGFzcwpNaW5fU1FMaXRlCmV4dGVuZHMKTWluX1BET3t2YXIkZXh0ZW5zaW9uPSJQRE9fU1FMaXRlIjtmdW5jdGlvbgpNaW5fU1FMaXRlKCRsYSl7JHRoaXMtPmRzbihEUklWRVIuIjokbGEiLCIiLCIiKTt9fX1pZihjbGFzc19leGlzdHMoIk1pbl9TUUxpdGUiKSl7Y2xhc3MKTWluX0RCCmV4dGVuZHMKTWluX1NRTGl0ZXtmdW5jdGlvbgpNaW5fREIoKXskdGhpcy0+TWluX1NRTGl0ZSgiOm1lbW9yeToiKTt9ZnVuY3Rpb24Kc2VsZWN0X2RiKCRsYSl7aWYoaXNfcmVhZGFibGUoJGxhKSYmJHRoaXMtPnF1ZXJ5KCJBVFRBQ0ggIi4kdGhpcy0+cXVvdGUoZXJlZygiKF5bL1xcXXw6KSIsJGxhKT8kbGE6ZGlybmFtZSgkX1NFUlZFUlsiU0NSSVBUX0ZJTEVOQU1FIl0pLiIvJGxhIikuIiBBUyBhIikpeyR0aGlzLT5NaW5fU1FMaXRlKCRsYSk7cmV0dXJuCnRydWU7fXJldHVybgpmYWxzZTt9ZnVuY3Rpb24KbXVsdGlfcXVlcnkoJGkpe3JldHVybiR0aGlzLT5fcmVzdWx0PSR0aGlzLT5xdWVyeSgkaSk7fWZ1bmN0aW9uCm5leHRfcmVzdWx0KCl7cmV0dXJuCmZhbHNlO319fWZ1bmN0aW9uCmlkZl9lc2NhcGUoJFApe3JldHVybiciJy5zdHJfcmVwbGFjZSgnIicsJyIiJywkUCkuJyInO31mdW5jdGlvbgp0YWJsZSgkUCl7cmV0dXJuCmlkZl9lc2NhcGUoJFApO31mdW5jdGlvbgpjb25uZWN0KCl7cmV0dXJuCm5ldwpNaW5fREI7fWZ1bmN0aW9uCmdldF9kYXRhYmFzZXMoKXtyZXR1cm4KYXJyYXkoKTt9ZnVuY3Rpb24KbGltaXQoJGksJHIsJE0sJEw9MCwkZ2I9IiAiKXtyZXR1cm4iICRpJHIiLihpc3NldCgkTSk/JGdiLiJMSU1JVCAkTSIuKCRMPyIgT0ZGU0VUICRMIjoiIik6IiIpO31mdW5jdGlvbgpsaW1pdDEoJGksJHIpe2dsb2JhbCRnO3JldHVybigkZy0+cmVzdWx0KCJTRUxFQ1Qgc3FsaXRlX2NvbXBpbGVvcHRpb25fdXNlZCgnRU5BQkxFX1VQREFURV9ERUxFVEVfTElNSVQnKSIpP2xpbWl0KCRpLCRyLDEpOiIgJGkkciIpO31mdW5jdGlvbgpkYl9jb2xsYXRpb24oJHQsJGFhKXtnbG9iYWwkZztyZXR1cm4kZy0+cmVzdWx0KCJQUkFHTUEgZW5jb2RpbmciKTt9ZnVuY3Rpb24KZW5naW5lcygpe3JldHVybgphcnJheSgpO31mdW5jdGlvbgpsb2dnZWRfdXNlcigpe3JldHVybgpnZXRfY3VycmVudF91c2VyKCk7fWZ1bmN0aW9uCnRhYmxlc19saXN0KCl7cmV0dXJuCmdldF9rZXlfdmFscygiU0VMRUNUIG5hbWUsIHR5cGUgRlJPTSBzcWxpdGVfbWFzdGVyIFdIRVJFIHR5cGUgSU4gKCd0YWJsZScsICd2aWV3JykgT1JERVIgQlkgKG5hbWUgPSAnc3FsaXRlX3NlcXVlbmNlJyksIG5hbWUiLDEpO31mdW5jdGlvbgpjb3VudF90YWJsZXMoJEEpe3JldHVybgphcnJheSgpO31mdW5jdGlvbgp0YWJsZV9zdGF0dXMoJGY9IiIpeyRjPWFycmF5KCk7Zm9yZWFjaChnZXRfcm93cygiU0VMRUNUIG5hbWUgQVMgTmFtZSwgdHlwZSBBUyBFbmdpbmUgRlJPTSBzcWxpdGVfbWFzdGVyIFdIRVJFIHR5cGUgSU4gKCd0YWJsZScsICd2aWV3JykiLigkZiE9IiI/IiBBTkQgbmFtZSA9ICIucSgkZik6IiIpKWFzJGEpeyRhWyJBdXRvX2luY3JlbWVudCJdPSIiOyRjWyRhWyJOYW1lIl1dPSRhO31mb3JlYWNoKGdldF9yb3dzKCJTRUxFQ1QgKiBGUk9NIHNxbGl0ZV9zZXF1ZW5jZSIsbnVsbCwiIilhcyRhKXskY1skYVsibmFtZSJdXVsiQXV0b19pbmNyZW1lbnQiXT0kYVsic2VxIl07fXJldHVybigkZiE9IiI/JGNbJGZdOiRjKTt9ZnVuY3Rpb24KaXNfdmlldygkdil7cmV0dXJuJHZbIkVuZ2luZSJdPT0idmlldyI7fWZ1bmN0aW9uCmZrX3N1cHBvcnQoJHYpe2dsb2JhbCRnO3JldHVybiEkZy0+cmVzdWx0KCJTRUxFQ1Qgc3FsaXRlX2NvbXBpbGVvcHRpb25fdXNlZCgnT01JVF9GT1JFSUdOX0tFWScpIik7fWZ1bmN0aW9uCmZpZWxkcygkaCl7JGM9YXJyYXkoKTtmb3JlYWNoKGdldF9yb3dzKCJQUkFHTUEgdGFibGVfaW5mbygiLnRhYmxlKCRoKS4iKSIpYXMkYSl7JF89c3RydG9sb3dlcigkYVsidHlwZSJdKTskeWE9JGFbImRmbHRfdmFsdWUiXTskY1skYVsibmFtZSJdXT1hcnJheSgiZmllbGQiPT4kYVsibmFtZSJdLCJ0eXBlIj0+KGVyZWdpKCJpbnQiLCRfKT8iaW50ZWdlciI6KGVyZWdpKCJjaGFyfGNsb2J8dGV4dCIsJF8pPyJ0ZXh0IjooZXJlZ2koImJsb2IiLCRfKT8iYmxvYiI6KGVyZWdpKCJyZWFsfGZsb2F8ZG91YiIsJF8pPyJyZWFsIjoibnVtZXJpYyIpKSkpLCJmdWxsX3R5cGUiPT4kXywiZGVmYXVsdCI9PihlcmVnKCInKC4qKSciLCR5YSwkayk/c3RyX3JlcGxhY2UoIicnIiwiJyIsJGtbMV0pOigkeWE9PSJOVUxMIj9udWxsOiR5YSkpLCJudWxsIj0+ISRhWyJub3RudWxsIl0sImF1dG9faW5jcmVtZW50Ij0+ZXJlZ2koJ15pbnRlZ2VyJCcsJF8pJiYkYVsicGsiXSwicHJpdmlsZWdlcyI9PmFycmF5KCJzZWxlY3QiPT4xLCJpbnNlcnQiPT4xLCJ1cGRhdGUiPT4xKSwicHJpbWFyeSI9PiRhWyJwayJdLCk7fXJldHVybiRjO31mdW5jdGlvbgppbmRleGVzKCRoLCRHPW51bGwpeyRjPWFycmF5KCk7JE5hPWFycmF5KCk7Zm9yZWFjaChmaWVsZHMoJGgpYXMkZSl7aWYoJGVbInByaW1hcnkiXSl7JE5hW109JGVbImZpZWxkIl07fX1pZigkTmEpeyRjWyIiXT1hcnJheSgidHlwZSI9PiJQUklNQVJZIiwiY29sdW1ucyI9PiROYSwibGVuZ3RocyI9PmFycmF5KCkpO31mb3JlYWNoKGdldF9yb3dzKCJQUkFHTUEgaW5kZXhfbGlzdCgiLnRhYmxlKCRoKS4iKSIpYXMkYSl7JGNbJGFbIm5hbWUiXV1bInR5cGUiXT0oJGFbInVuaXF1ZSJdPyJVTklRVUUiOiJJTkRFWCIpOyRjWyRhWyJuYW1lIl1dWyJsZW5ndGhzIl09YXJyYXkoKTtmb3JlYWNoKGdldF9yb3dzKCJQUkFHTUEgaW5kZXhfaW5mbygiLmlkZl9lc2NhcGUoJGFbIm5hbWUiXSkuIikiKWFzJGhkKXskY1skYVsibmFtZSJdXVsiY29sdW1ucyJdW109JGhkWyJuYW1lIl07fX1yZXR1cm4kYzt9ZnVuY3Rpb24KZm9yZWlnbl9rZXlzKCRoKXskYz1hcnJheSgpO2ZvcmVhY2goZ2V0X3Jvd3MoIlBSQUdNQSBmb3JlaWduX2tleV9saXN0KCIudGFibGUoJGgpLiIpIilhcyRhKXskQz0mJGNbJGFbImlkIl1dO2lmKCEkQyl7JEM9JGE7fSRDWyJzb3VyY2UiXVtdPSRhWyJmcm9tIl07JENbInRhcmdldCJdW109JGFbInRvIl07fXJldHVybiRjO31mdW5jdGlvbgp2aWV3KCRmKXtnbG9iYWwkZztyZXR1cm4KYXJyYXkoInNlbGVjdCI9PnByZWdfcmVwbGFjZSgnfl4oPzpbXmAiW10rfGBbXmBdKmB8IlteIl0qIikqIEFTXFxzK35pVScsJycsJGctPnJlc3VsdCgiU0VMRUNUIHNxbCBGUk9NIHNxbGl0ZV9tYXN0ZXIgV0hFUkUgbmFtZSA9ICIucSgkZikpKSk7fWZ1bmN0aW9uCmNvbGxhdGlvbnMoKXtyZXR1cm4oaXNzZXQoJF9HRVRbImNyZWF0ZSJdKT9nZXRfdmFscygiUFJBR01BIGNvbGxhdGlvbl9saXN0IiwxKTphcnJheSgpKTt9ZnVuY3Rpb24KaW5mb3JtYXRpb25fc2NoZW1hKCR0KXtyZXR1cm4KZmFsc2U7fWZ1bmN0aW9uCmVycm9yKCl7Z2xvYmFsJGc7cmV0dXJuCmgoJGctPmVycm9yKTt9ZnVuY3Rpb24KZXhhY3RfdmFsdWUoJGIpe3JldHVybgpxKCRiKTt9ZnVuY3Rpb24KY2hlY2tfc3FsaXRlX25hbWUoJGYpe2dsb2JhbCRnOyRSZT0iZGJ8c2RifHNxbGl0ZSI7aWYoIXByZWdfbWF0Y2goIn5eW15cXDBdKlxcLigkUmUpXCR+IiwkZikpeyRnLT5lcnJvcj1sYW5nKDksc3RyX3JlcGxhY2UoInwiLCIsICIsJFJlKSk7cmV0dXJuCmZhbHNlO31yZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24KY3JlYXRlX2RhdGFiYXNlKCR0LCRVKXtnbG9iYWwkZztpZihmaWxlX2V4aXN0cygkdCkpeyRnLT5lcnJvcj1sYW5nKDEwKTtyZXR1cm4KZmFsc2U7fWlmKCFjaGVja19zcWxpdGVfbmFtZSgkdCkpe3JldHVybgpmYWxzZTt9JHk9bmV3Ck1pbl9TUUxpdGUoJHQpOyR5LT5xdWVyeSgnUFJBR01BIGVuY29kaW5nID0gIlVURi04IicpOyR5LT5xdWVyeSgnQ1JFQVRFIFRBQkxFIGFkbWluZXIgKGkpJyk7JHktPnF1ZXJ5KCdEUk9QIFRBQkxFIGFkbWluZXInKTtyZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24KZHJvcF9kYXRhYmFzZXMoJEEpe2dsb2JhbCRnOyRnLT5NaW5fU1FMaXRlKCI6bWVtb3J5OiIpO2ZvcmVhY2goJEEKYXMkdCl7aWYoIUB1bmxpbmsoJHQpKXskZy0+ZXJyb3I9bGFuZygxMCk7cmV0dXJuCmZhbHNlO319cmV0dXJuCnRydWU7fWZ1bmN0aW9uCnJlbmFtZV9kYXRhYmFzZSgkZiwkVSl7Z2xvYmFsJGc7aWYoIWNoZWNrX3NxbGl0ZV9uYW1lKCRmKSl7cmV0dXJuCmZhbHNlO30kZy0+TWluX1NRTGl0ZSgiOm1lbW9yeToiKTskZy0+ZXJyb3I9bGFuZygxMCk7cmV0dXJuQHJlbmFtZShEQiwkZik7fWZ1bmN0aW9uCmF1dG9faW5jcmVtZW50KCl7cmV0dXJuIiBQUklNQVJZIEtFWSIuKERSSVZFUj09InNxbGl0ZSI/IiBBVVRPSU5DUkVNRU5UIjoiIik7fWZ1bmN0aW9uCmFsdGVyX3RhYmxlKCRoLCRmLCRwLCRQYSwkQWEsJF9iLCRVLCRUYSwkemIpeyR3PWFycmF5KCk7Zm9yZWFjaCgkcAphcyRlKXtpZigkZVsxXSl7JHdbXT0oJGghPSIiJiYkZVswXT09IiI/IkFERCAiOiIgICIpLmltcGxvZGUoJGVbMV0pO319JHc9YXJyYXlfbWVyZ2UoJHcsJFBhKTtpZigkaCE9IiIpe2ZvcmVhY2goJHcKYXMkYil7aWYoIXF1ZXJpZXMoIkFMVEVSIFRBQkxFICIudGFibGUoJGgpLiIgJGIiKSl7cmV0dXJuCmZhbHNlO319aWYoJGghPSRmJiYhcXVlcmllcygiQUxURVIgVEFCTEUgIi50YWJsZSgkaCkuIiBSRU5BTUUgVE8gIi50YWJsZSgkZikpKXtyZXR1cm4KZmFsc2U7fX1lbHNlaWYoIXF1ZXJpZXMoIkNSRUFURSBUQUJMRSAiLnRhYmxlKCRmKS4iIChcbiIuaW1wbG9kZSgiLFxuIiwkdykuIlxuKSIpKXtyZXR1cm4KZmFsc2U7fWlmKCRUYSl7cXVlcmllcygiVVBEQVRFIHNxbGl0ZV9zZXF1ZW5jZSBTRVQgc2VxID0gJFRhIFdIRVJFIG5hbWUgPSAiLnEoJGYpKTt9cmV0dXJuCnRydWU7fWZ1bmN0aW9uCmFsdGVyX2luZGV4ZXMoJGgsJHcpe2ZvcmVhY2goJHcKYXMkYil7aWYoIXF1ZXJpZXMoJGJbMl09PSJEUk9QIj8iRFJPUCBJTkRFWCAiLmlkZl9lc2NhcGUoJGJbMV0pOiJDUkVBVEUgJGJbMF0gIi4oJGJbMF0hPSJJTkRFWCI/IklOREVYICI6IiIpLmlkZl9lc2NhcGUoJGJbMV0hPSIiPyRiWzFdOnVuaXFpZCgkaC4iXyIpKS4iIE9OICIudGFibGUoJGgpLiIgJGJbMl0iKSl7cmV0dXJuCmZhbHNlO319cmV0dXJuCnRydWU7fWZ1bmN0aW9uCnRydW5jYXRlX3RhYmxlcygkRSl7cmV0dXJuCmFwcGx5X3F1ZXJpZXMoIkRFTEVURSBGUk9NIiwkRSk7fWZ1bmN0aW9uCmRyb3Bfdmlld3MoJFkpe3JldHVybgphcHBseV9xdWVyaWVzKCJEUk9QIFZJRVciLCRZKTt9ZnVuY3Rpb24KZHJvcF90YWJsZXMoJEUpe3JldHVybgphcHBseV9xdWVyaWVzKCJEUk9QIFRBQkxFIiwkRSk7fWZ1bmN0aW9uCm1vdmVfdGFibGVzKCRFLCRZLCRoYSl7cmV0dXJuCmZhbHNlO31mdW5jdGlvbgp0cmlnZ2VyKCRmKXtnbG9iYWwkZztwcmVnX21hdGNoKCd+XkNSRUFURVxccytUUklHR0VSXFxzKig/OlteYCJcXHNdK3xgW15gXSpgfCJbXiJdKiIpK1xccyooW2Etel0rKVxccysoW2Etel0rKVxccytPTlxccyooPzpbXmAiXFxzXSt8YFteYF0qYHwiW14iXSoiKStcXHMqKD86Rk9SXFxzKkVBQ0hcXHMqUk9XXFxzKT8oLiopfmlzJywkZy0+cmVzdWx0KCJTRUxFQ1Qgc3FsIEZST00gc3FsaXRlX21hc3RlciBXSEVSRSBuYW1lID0gIi5xKCRmKSksJGspO3JldHVybgphcnJheSgiVGltaW5nIj0+c3RydG91cHBlcigka1sxXSksIkV2ZW50Ij0+c3RydG91cHBlcigka1syXSksIlRyaWdnZXIiPT4kZiwiU3RhdGVtZW50Ij0+JGtbM10pO31mdW5jdGlvbgp0cmlnZ2VycygkaCl7JGM9YXJyYXkoKTtmb3JlYWNoKGdldF9yb3dzKCJTRUxFQ1QgKiBGUk9NIHNxbGl0ZV9tYXN0ZXIgV0hFUkUgdHlwZSA9ICd0cmlnZ2VyJyBBTkQgdGJsX25hbWUgPSAiLnEoJGgpKWFzJGEpe3ByZWdfbWF0Y2goJ35eQ1JFQVRFXFxzK1RSSUdHRVJcXHMqKD86W15gIlxcc10rfGBbXmBdKmB8IlteIl0qIikrXFxzKihbYS16XSspXFxzKihbYS16XSspfmknLCRhWyJzcWwiXSwkayk7JGNbJGFbIm5hbWUiXV09YXJyYXkoJGtbMV0sJGtbMl0pO31yZXR1cm4kYzt9ZnVuY3Rpb24KdHJpZ2dlcl9vcHRpb25zKCl7cmV0dXJuCmFycmF5KCJUaW1pbmciPT5hcnJheSgiQkVGT1JFIiwiQUZURVIiLCJJTlNURUFEIE9GIiksIlR5cGUiPT5hcnJheSgiRk9SIEVBQ0ggUk9XIiksKTt9ZnVuY3Rpb24Kcm91dGluZSgkZiwkXyl7fWZ1bmN0aW9uCnJvdXRpbmVzKCl7fWZ1bmN0aW9uCnJvdXRpbmVfbGFuZ3VhZ2VzKCl7fWZ1bmN0aW9uCmJlZ2luKCl7cmV0dXJuCnF1ZXJpZXMoIkJFR0lOIik7fWZ1bmN0aW9uCmluc2VydF9pbnRvKCRoLCRzKXtyZXR1cm4KcXVlcmllcygiSU5TRVJUIElOVE8gIi50YWJsZSgkaCkuKCRzPyIgKCIuaW1wbG9kZSgiLCAiLGFycmF5X2tleXMoJHMpKS4iKVxuVkFMVUVTICgiLmltcGxvZGUoIiwgIiwkcykuIikiOiJERUZBVUxUIFZBTFVFUyIpKTt9ZnVuY3Rpb24KaW5zZXJ0X3VwZGF0ZSgkaCwkcywkTmEpe3JldHVybgpxdWVyaWVzKCJSRVBMQUNFIElOVE8gIi50YWJsZSgkaCkuIiAoIi5pbXBsb2RlKCIsICIsYXJyYXlfa2V5cygkcykpLiIpIFZBTFVFUyAoIi5pbXBsb2RlKCIsICIsJHMpLiIpIik7fWZ1bmN0aW9uCmxhc3RfaWQoKXtnbG9iYWwkZztyZXR1cm4kZy0+cmVzdWx0KCJTRUxFQ1QgTEFTVF9JTlNFUlRfUk9XSUQoKSIpO31mdW5jdGlvbgpleHBsYWluKCRnLCRpKXtyZXR1cm4kZy0+cXVlcnkoIkVYUExBSU4gJGkiKTt9ZnVuY3Rpb24KZm91bmRfcm93cygkdiwkcil7fWZ1bmN0aW9uCnR5cGVzKCl7cmV0dXJuCmFycmF5KCk7fWZ1bmN0aW9uCnNjaGVtYXMoKXtyZXR1cm4KYXJyYXkoKTt9ZnVuY3Rpb24KZ2V0X3NjaGVtYSgpe3JldHVybiIiO31mdW5jdGlvbgpzZXRfc2NoZW1hKCROZCl7cmV0dXJuCnRydWU7fWZ1bmN0aW9uCmNyZWF0ZV9zcWwoJGgsJFRhKXtnbG9iYWwkZztyZXR1cm4kZy0+cmVzdWx0KCJTRUxFQ1Qgc3FsIEZST00gc3FsaXRlX21hc3RlciBXSEVSRSB0eXBlID0gJ3RhYmxlJyBBTkQgbmFtZSA9ICIucSgkaCkpO31mdW5jdGlvbgp0cnVuY2F0ZV9zcWwoJGgpe3JldHVybiJERUxFVEUgRlJPTSAiLnRhYmxlKCRoKTt9ZnVuY3Rpb24KdXNlX3NxbCgkZmEpe31mdW5jdGlvbgp0cmlnZ2VyX3NxbCgkaCwkVil7cmV0dXJuCmltcGxvZGUoZ2V0X3ZhbHMoIlNFTEVDVCBzcWwgfHwgJzs7XG4nIEZST00gc3FsaXRlX21hc3RlciBXSEVSRSB0eXBlID0gJ3RyaWdnZXInIEFORCBuYW1lID0gIi5xKCRoKSkpO31mdW5jdGlvbgpzaG93X3ZhcmlhYmxlcygpe2dsb2JhbCRnOyRjPWFycmF5KCk7Zm9yZWFjaChhcnJheSgiYXV0b192YWN1dW0iLCJjYWNoZV9zaXplIiwiY291bnRfY2hhbmdlcyIsImRlZmF1bHRfY2FjaGVfc2l6ZSIsImVtcHR5X3Jlc3VsdF9jYWxsYmFja3MiLCJlbmNvZGluZyIsImZvcmVpZ25fa2V5cyIsImZ1bGxfY29sdW1uX25hbWVzIiwiZnVsbGZzeW5jIiwiam91cm5hbF9tb2RlIiwiam91cm5hbF9zaXplX2xpbWl0IiwibGVnYWN5X2ZpbGVfZm9ybWF0IiwibG9ja2luZ19tb2RlIiwicGFnZV9zaXplIiwibWF4X3BhZ2VfY291bnQiLCJyZWFkX3VuY29tbWl0dGVkIiwicmVjdXJzaXZlX3RyaWdnZXJzIiwicmV2ZXJzZV91bm9yZGVyZWRfc2VsZWN0cyIsInNlY3VyZV9kZWxldGUiLCJzaG9ydF9jb2x1bW5fbmFtZXMiLCJzeW5jaHJvbm91cyIsInRlbXBfc3RvcmUiLCJ0ZW1wX3N0b3JlX2RpcmVjdG9yeSIsInNjaGVtYV92ZXJzaW9uIiwiaW50ZWdyaXR5X2NoZWNrIiwicXVpY2tfY2hlY2siKWFzJGQpeyRjWyRkXT0kZy0+cmVzdWx0KCJQUkFHTUEgJGQiKTt9cmV0dXJuJGM7fWZ1bmN0aW9uCnNob3dfc3RhdHVzKCl7JGM9YXJyYXkoKTtmb3JlYWNoKGdldF92YWxzKCJQUkFHTUEgY29tcGlsZV9vcHRpb25zIilhcyR1Zil7bGlzdCgkZCwkYik9ZXhwbG9kZSgiPSIsJHVmLDIpOyRjWyRkXT0kYjt9cmV0dXJuJGM7fWZ1bmN0aW9uCnN1cHBvcnQoJHhiKXtyZXR1cm4KZXJlZygnXih2aWV3fHRyaWdnZXJ8dmFyaWFibGVzfHN0YXR1c3xkdW1wKSQnLCR4Yik7fSR1PSJzcWxpdGUiOyRSPWFycmF5KCJpbnRlZ2VyIj0+MCwicmVhbCI9PjAsIm51bWVyaWMiPT4wLCJ0ZXh0Ij0+MCwiYmxvYiI9PjApOyRTYT1hcnJheV9rZXlzKCRSKTskbWI9YXJyYXkoKTskamM9YXJyYXkoIj0iLCI8IiwiPiIsIjw9IiwiPj0iLCIhPSIsIkxJS0UiLCJMSUtFICUlIiwiSU4iLCJJUyBOVUxMIiwiTk9UIExJS0UiLCJOT1QgSU4iLCJJUyBOT1QgTlVMTCIsIiIpOyRjYT1hcnJheSgiaGV4IiwibGVuZ3RoIiwibG93ZXIiLCJyb3VuZCIsInVuaXhlcG9jaCIsInVwcGVyIik7JHFiPWFycmF5KCJhdmciLCJjb3VudCIsImNvdW50IGRpc3RpbmN0IiwiZ3JvdXBfY29uY2F0IiwibWF4IiwibWluIiwic3VtIik7JEliPWFycmF5KGFycmF5KCksYXJyYXkoImludGVnZXJ8cmVhbHxudW1lcmljIj0+IisvLSIsInRleHQiPT4ifHwiLCkpO30kb2FbInBnc3FsIl09IlBvc3RncmVTUUwiO2lmKGlzc2V0KCRfR0VUWyJwZ3NxbCJdKSl7JGxjPWFycmF5KCJQZ1NRTCIsIlBET19QZ1NRTCIpO2RlZmluZSgiRFJJVkVSIiwicGdzcWwiKTtpZihleHRlbnNpb25fbG9hZGVkKCJwZ3NxbCIpKXtjbGFzcwpNaW5fREJ7dmFyJGV4dGVuc2lvbj0iUGdTUUwiLCRfbGluaywkX3Jlc3VsdCwkX3N0cmluZywkX2RhdGFiYXNlPXRydWUsJHNlcnZlcl9pbmZvLCRhZmZlY3RlZF9yb3dzLCRlcnJvcjtmdW5jdGlvbgpfZXJyb3IoJHhmLCRuKXtpZihpbmlfYm9vbCgiaHRtbF9lcnJvcnMiKSl7JG49aHRtbF9lbnRpdHlfZGVjb2RlKHN0cmlwX3RhZ3MoJG4pKTt9JG49ZXJlZ19yZXBsYWNlKCdeW146XSo6ICcsJycsJG4pOyR0aGlzLT5lcnJvcj0kbjt9ZnVuY3Rpb24KY29ubmVjdCgkRiwkUSwkVCl7Z2xvYmFsJG87JHQ9JG8tPmRhdGFiYXNlKCk7c2V0X2Vycm9yX2hhbmRsZXIoYXJyYXkoJHRoaXMsJ19lcnJvcicpKTskdGhpcy0+X3N0cmluZz0iaG9zdD0nIi5zdHJfcmVwbGFjZSgiOiIsIicgcG9ydD0nIixhZGRjc2xhc2hlcygkRiwiJ1xcIikpLiInIHVzZXI9JyIuYWRkY3NsYXNoZXMoJFEsIidcXCIpLiInIHBhc3N3b3JkPSciLmFkZGNzbGFzaGVzKCRULCInXFwiKS4iJyI7JHRoaXMtPl9saW5rPUBwZ19jb25uZWN0KCR0aGlzLT5fc3RyaW5nLigkdCE9IiI/IiBkYm5hbWU9JyIuYWRkY3NsYXNoZXMoJHQsIidcXCIpLiInIjoiIGRibmFtZT0ndGVtcGxhdGUxJyIpLFBHU1FMX0NPTk5FQ1RfRk9SQ0VfTkVXKTtpZighJHRoaXMtPl9saW5rJiYkdCE9IiIpeyR0aGlzLT5fZGF0YWJhc2U9ZmFsc2U7JHRoaXMtPl9saW5rPUBwZ19jb25uZWN0KCIkdGhpcy0+X3N0cmluZyBkYm5hbWU9J3RlbXBsYXRlMSciLFBHU1FMX0NPTk5FQ1RfRk9SQ0VfTkVXKTt9cmVzdG9yZV9lcnJvcl9oYW5kbGVyKCk7aWYoJHRoaXMtPl9saW5rKXskeGQ9cGdfdmVyc2lvbigkdGhpcy0+X2xpbmspOyR0aGlzLT5zZXJ2ZXJfaW5mbz0keGRbInNlcnZlciJdO3BnX3NldF9jbGllbnRfZW5jb2RpbmcoJHRoaXMtPl9saW5rLCJVVEY4Iik7fXJldHVybihib29sKSR0aGlzLT5fbGluazt9ZnVuY3Rpb24KcXVvdGUoJEkpe3JldHVybiInIi5wZ19lc2NhcGVfc3RyaW5nKCR0aGlzLT5fbGluaywkSSkuIiciO31mdW5jdGlvbgpzZWxlY3RfZGIoJGZhKXtnbG9iYWwkbztpZigkZmE9PSRvLT5kYXRhYmFzZSgpKXtyZXR1cm4kdGhpcy0+X2RhdGFiYXNlO30kYz1AcGdfY29ubmVjdCgiJHRoaXMtPl9zdHJpbmcgZGJuYW1lPSciLmFkZGNzbGFzaGVzKCRmYSwiJ1xcIikuIiciLFBHU1FMX0NPTk5FQ1RfRk9SQ0VfTkVXKTtpZigkYyl7JHRoaXMtPl9saW5rPSRjO31yZXR1cm4kYzt9ZnVuY3Rpb24KY2xvc2UoKXskdGhpcy0+X2xpbms9QHBnX2Nvbm5lY3QoIiR0aGlzLT5fc3RyaW5nIGRibmFtZT0ndGVtcGxhdGUxJyIpO31mdW5jdGlvbgpxdWVyeSgkaSwkZWI9ZmFsc2UpeyRqPUBwZ19xdWVyeSgkdGhpcy0+X2xpbmssJGkpO2lmKCEkail7JHRoaXMtPmVycm9yPXBnX2xhc3RfZXJyb3IoJHRoaXMtPl9saW5rKTtyZXR1cm4KZmFsc2U7fWVsc2VpZighcGdfbnVtX2ZpZWxkcygkaikpeyR0aGlzLT5hZmZlY3RlZF9yb3dzPXBnX2FmZmVjdGVkX3Jvd3MoJGopO3JldHVybgp0cnVlO31yZXR1cm4KbmV3Ck1pbl9SZXN1bHQoJGopO31mdW5jdGlvbgptdWx0aV9xdWVyeSgkaSl7cmV0dXJuJHRoaXMtPl9yZXN1bHQ9JHRoaXMtPnF1ZXJ5KCRpKTt9ZnVuY3Rpb24Kc3RvcmVfcmVzdWx0KCl7cmV0dXJuJHRoaXMtPl9yZXN1bHQ7fWZ1bmN0aW9uCm5leHRfcmVzdWx0KCl7cmV0dXJuCmZhbHNlO31mdW5jdGlvbgpyZXN1bHQoJGksJGU9MCl7JGo9JHRoaXMtPnF1ZXJ5KCRpKTtpZighJGp8fCEkai0+bnVtX3Jvd3Mpe3JldHVybgpmYWxzZTt9cmV0dXJuCnBnX2ZldGNoX3Jlc3VsdCgkai0+X3Jlc3VsdCwwLCRlKTt9fWNsYXNzCk1pbl9SZXN1bHR7dmFyJF9yZXN1bHQsJF9vZmZzZXQ9MCwkbnVtX3Jvd3M7ZnVuY3Rpb24KTWluX1Jlc3VsdCgkail7JHRoaXMtPl9yZXN1bHQ9JGo7JHRoaXMtPm51bV9yb3dzPXBnX251bV9yb3dzKCRqKTt9ZnVuY3Rpb24KZmV0Y2hfYXNzb2MoKXtyZXR1cm4KcGdfZmV0Y2hfYXNzb2MoJHRoaXMtPl9yZXN1bHQpO31mdW5jdGlvbgpmZXRjaF9yb3coKXtyZXR1cm4KcGdfZmV0Y2hfcm93KCR0aGlzLT5fcmVzdWx0KTt9ZnVuY3Rpb24KZmV0Y2hfZmllbGQoKXskRD0kdGhpcy0+X29mZnNldCsrOyRjPW5ldwpzdGRDbGFzcztpZihmdW5jdGlvbl9leGlzdHMoJ3BnX2ZpZWxkX3RhYmxlJykpeyRjLT5vcmd0YWJsZT1wZ19maWVsZF90YWJsZSgkdGhpcy0+X3Jlc3VsdCwkRCk7fSRjLT5uYW1lPXBnX2ZpZWxkX25hbWUoJHRoaXMtPl9yZXN1bHQsJEQpOyRjLT5vcmduYW1lPSRjLT5uYW1lOyRjLT50eXBlPXBnX2ZpZWxkX3R5cGUoJHRoaXMtPl9yZXN1bHQsJEQpOyRjLT5jaGFyc2V0bnI9KCRjLT50eXBlPT0iYnl0ZWEiPzYzOjApO3JldHVybiRjO31mdW5jdGlvbgpfX2Rlc3RydWN0KCl7cGdfZnJlZV9yZXN1bHQoJHRoaXMtPl9yZXN1bHQpO319fWVsc2VpZihleHRlbnNpb25fbG9hZGVkKCJwZG9fcGdzcWwiKSl7Y2xhc3MKTWluX0RCCmV4dGVuZHMKTWluX1BET3t2YXIkZXh0ZW5zaW9uPSJQRE9fUGdTUUwiO2Z1bmN0aW9uCmNvbm5lY3QoJEYsJFEsJFQpe2dsb2JhbCRvOyR0PSRvLT5kYXRhYmFzZSgpOyRJPSJwZ3NxbDpob3N0PSciLnN0cl9yZXBsYWNlKCI6IiwiJyBwb3J0PSciLGFkZGNzbGFzaGVzKCRGLCInXFwiKSkuIicgb3B0aW9ucz0nLWMgY2xpZW50X2VuY29kaW5nPXV0ZjgnIjskdGhpcy0+ZHNuKCRJLigkdCE9IiI/IiBkYm5hbWU9JyIuYWRkY3NsYXNoZXMoJHQsIidcXCIpLiInIjoiIiksJFEsJFQpO3JldHVybgp0cnVlO31mdW5jdGlvbgpzZWxlY3RfZGIoJGZhKXtnbG9iYWwkbztyZXR1cm4oJG8tPmRhdGFiYXNlKCk9PSRmYSk7fWZ1bmN0aW9uCmNsb3NlKCl7fX19ZnVuY3Rpb24KaWRmX2VzY2FwZSgkUCl7cmV0dXJuJyInLnN0cl9yZXBsYWNlKCciJywnIiInLCRQKS4nIic7fWZ1bmN0aW9uCnRhYmxlKCRQKXtyZXR1cm4KaWRmX2VzY2FwZSgkUCk7fWZ1bmN0aW9uCmNvbm5lY3QoKXtnbG9iYWwkbzskZz1uZXcKTWluX0RCOyRFYT0kby0+Y3JlZGVudGlhbHMoKTtpZigkZy0+Y29ubmVjdCgkRWFbMF0sJEVhWzFdLCRFYVsyXSkpe3JldHVybiRnO31yZXR1cm4kZy0+ZXJyb3I7fWZ1bmN0aW9uCmdldF9kYXRhYmFzZXMoKXtyZXR1cm4KZ2V0X3ZhbHMoIlNFTEVDVCBkYXRuYW1lIEZST00gcGdfZGF0YWJhc2UgT1JERVIgQlkgZGF0bmFtZSIpO31mdW5jdGlvbgpsaW1pdCgkaSwkciwkTSwkTD0wLCRnYj0iICIpe3JldHVybiIgJGkkciIuKGlzc2V0KCRNKT8kZ2IuIkxJTUlUICRNIi4oJEw/IiBPRkZTRVQgJEwiOiIiKToiIik7fWZ1bmN0aW9uCmxpbWl0MSgkaSwkcil7cmV0dXJuIiAkaSRyIjt9ZnVuY3Rpb24KZGJfY29sbGF0aW9uKCR0LCRhYSl7Z2xvYmFsJGc7cmV0dXJuJGctPnJlc3VsdCgiU0hPVyBMQ19DT0xMQVRFIik7fWZ1bmN0aW9uCmVuZ2luZXMoKXtyZXR1cm4KYXJyYXkoKTt9ZnVuY3Rpb24KbG9nZ2VkX3VzZXIoKXtnbG9iYWwkZztyZXR1cm4kZy0+cmVzdWx0KCJTRUxFQ1QgdXNlciIpO31mdW5jdGlvbgp0YWJsZXNfbGlzdCgpe3JldHVybgpnZXRfa2V5X3ZhbHMoIlNFTEVDVCB0YWJsZV9uYW1lLCB0YWJsZV90eXBlIEZST00gaW5mb3JtYXRpb25fc2NoZW1hLnRhYmxlcyBXSEVSRSB0YWJsZV9zY2hlbWEgPSBjdXJyZW50X3NjaGVtYSgpIE9SREVSIEJZIHRhYmxlX25hbWUiKTt9ZnVuY3Rpb24KY291bnRfdGFibGVzKCRBKXtyZXR1cm4KYXJyYXkoKTt9ZnVuY3Rpb24KdGFibGVfc3RhdHVzKCRmPSIiKXskYz1hcnJheSgpO2ZvcmVhY2goZ2V0X3Jvd3MoIlNFTEVDVCByZWxuYW1lIEFTIFwiTmFtZVwiLCBDQVNFIHJlbGtpbmQgV0hFTiAncicgVEhFTiAnJyBFTFNFICd2aWV3JyBFTkQgQVMgXCJFbmdpbmVcIiwgcGdfcmVsYXRpb25fc2l6ZShvaWQpIEFTIFwiRGF0YV9sZW5ndGhcIiwgcGdfdG90YWxfcmVsYXRpb25fc2l6ZShvaWQpIC0gcGdfcmVsYXRpb25fc2l6ZShvaWQpIEFTIFwiSW5kZXhfbGVuZ3RoXCIsIG9ial9kZXNjcmlwdGlvbihvaWQsICdwZ19jbGFzcycpIEFTIFwiQ29tbWVudFwiLCByZWxoYXNvaWRzIEFTIFwiT2lkXCIKRlJPTSBwZ19jbGFzcwpXSEVSRSByZWxraW5kIElOICgncicsJ3YnKQpBTkQgcmVsbmFtZXNwYWNlID0gKFNFTEVDVCBvaWQgRlJPTSBwZ19uYW1lc3BhY2UgV0hFUkUgbnNwbmFtZSA9IGN1cnJlbnRfc2NoZW1hKCkpIi4oJGYhPSIiPyIgQU5EIHJlbG5hbWUgPSAiLnEoJGYpOiIiKSlhcyRhKXskY1skYVsiTmFtZSJdXT0kYTt9cmV0dXJuKCRmIT0iIj8kY1skZl06JGMpO31mdW5jdGlvbgppc192aWV3KCR2KXtyZXR1cm4kdlsiRW5naW5lIl09PSJ2aWV3Ijt9ZnVuY3Rpb24KZmtfc3VwcG9ydCgkdil7cmV0dXJuCnRydWU7fWZ1bmN0aW9uCmZpZWxkcygkaCl7JGM9YXJyYXkoKTtmb3JlYWNoKGdldF9yb3dzKCJTRUxFQ1QgYS5hdHRuYW1lIEFTIGZpZWxkLCBmb3JtYXRfdHlwZShhLmF0dHR5cGlkLCBhLmF0dHR5cG1vZCkgQVMgZnVsbF90eXBlLCBkLmFkc3JjIEFTIGRlZmF1bHQsIGEuYXR0bm90bnVsbCwgY29sX2Rlc2NyaXB0aW9uKGMub2lkLCBhLmF0dG51bSkgQVMgY29tbWVudApGUk9NIHBnX2NsYXNzIGMKSk9JTiBwZ19uYW1lc3BhY2UgbiBPTiBjLnJlbG5hbWVzcGFjZSA9IG4ub2lkCkpPSU4gcGdfYXR0cmlidXRlIGEgT04gYy5vaWQgPSBhLmF0dHJlbGlkCkxFRlQgSk9JTiBwZ19hdHRyZGVmIGQgT04gYy5vaWQgPSBkLmFkcmVsaWQgQU5EIGEuYXR0bnVtID0gZC5hZG51bQpXSEVSRSBjLnJlbG5hbWUgPSAiLnEoJGgpLiIKQU5EIG4ubnNwbmFtZSA9IGN1cnJlbnRfc2NoZW1hKCkKQU5EIE5PVCBhLmF0dGlzZHJvcHBlZApBTkQgYS5hdHRudW0gPiAwCk9SREVSIEJZIGEuYXR0bnVtIilhcyRhKXtlcmVnKCcoLiopKFxcKCguKilcXCkpPycsJGFbImZ1bGxfdHlwZSJdLCRrKTtsaXN0KCwkYVsidHlwZSJdLCwkYVsibGVuZ3RoIl0pPSRrOyRhWyJmdWxsX3R5cGUiXT0kYVsidHlwZSJdLigkYVsibGVuZ3RoIl0/IigkYVtsZW5ndGhdKSI6IiIpOyRhWyJudWxsIl09KCRhWyJhdHRub3RudWxsIl09PSJmIik7JGFbImF1dG9faW5jcmVtZW50Il09ZXJlZ2koIl5uZXh0dmFsXFwoIiwkYVsiZGVmYXVsdCJdKTskYVsicHJpdmlsZWdlcyJdPWFycmF5KCJpbnNlcnQiPT4xLCJzZWxlY3QiPT4xLCJ1cGRhdGUiPT4xKTtpZihwcmVnX21hdGNoKCd+XiguKik6Oi4rJH4nLCRhWyJkZWZhdWx0Il0sJGspKXskYVsiZGVmYXVsdCJdPSgka1sxXVswXT09IiciP2lkZl91bmVzY2FwZSgka1sxXSk6JGtbMV0pO30kY1skYVsiZmllbGQiXV09JGE7fXJldHVybiRjO31mdW5jdGlvbgppbmRleGVzKCRoLCRHPW51bGwpe2dsb2JhbCRnO2lmKCFpc19vYmplY3QoJEcpKXskRz0kZzt9JGM9YXJyYXkoKTskUWU9JEctPnJlc3VsdCgiU0VMRUNUIG9pZCBGUk9NIHBnX2NsYXNzIFdIRVJFIHJlbG5hbWUgPSAiLnEoJGgpKTskQj1nZXRfa2V5X3ZhbHMoIlNFTEVDVCBhdHRudW0sIGF0dG5hbWUgRlJPTSBwZ19hdHRyaWJ1dGUgV0hFUkUgYXR0cmVsaWQgPSAkUWUgQU5EIGF0dG51bSA+IDAiLCRHKTtmb3JlYWNoKGdldF9yb3dzKCJTRUxFQ1QgcmVsbmFtZSwgaW5kaXN1bmlxdWUsIGluZGlzcHJpbWFyeSwgaW5ka2V5IEZST00gcGdfaW5kZXggaSwgcGdfY2xhc3MgY2kgV0hFUkUgaS5pbmRyZWxpZCA9ICRRZSBBTkQgY2kub2lkID0gaS5pbmRleHJlbGlkIiwkRylhcyRhKXskY1skYVsicmVsbmFtZSJdXVsidHlwZSJdPSgkYVsiaW5kaXNwcmltYXJ5Il09PSJ0Ij8iUFJJTUFSWSI6KCRhWyJpbmRpc3VuaXF1ZSJdPT0idCI/IlVOSVFVRSI6IklOREVYIikpOyRjWyRhWyJyZWxuYW1lIl1dWyJjb2x1bW5zIl09YXJyYXkoKTtmb3JlYWNoKGV4cGxvZGUoIiAiLCRhWyJpbmRrZXkiXSlhcyRZZil7JGNbJGFbInJlbG5hbWUiXV1bImNvbHVtbnMiXVtdPSRCWyRZZl07fSRjWyRhWyJyZWxuYW1lIl1dWyJsZW5ndGhzIl09YXJyYXkoKTt9cmV0dXJuJGM7fWZ1bmN0aW9uCmZvcmVpZ25fa2V5cygkaCl7Z2xvYmFsJElhOyRjPWFycmF5KCk7Zm9yZWFjaChnZXRfcm93cygiU0VMRUNUIGNvbm5hbWUsIHBnX2dldF9jb25zdHJhaW50ZGVmKG9pZCkgQVMgZGVmaW5pdGlvbgpGUk9NIHBnX2NvbnN0cmFpbnQKV0hFUkUgY29ucmVsaWQgPSAoU0VMRUNUIG9pZCBGUk9NIHBnX2NsYXNzIFdIRVJFIHJlbG5hbWUgPSAiLnEoJGgpLiIpCkFORCBjb250eXBlID0gJ2YnOjpjaGFyCk9SREVSIEJZIGNvbmtleSwgY29ubmFtZSIpYXMkYSl7aWYocHJlZ19tYXRjaCgnfkZPUkVJR04gS0VZXHMqXCgoLispXClccypSRUZFUkVOQ0VTICguKylcKCguKylcKSguKikkfmlBJywkYVsnZGVmaW5pdGlvbiddLCRrKSl7JGFbJ3NvdXJjZSddPWFycmF5X21hcCgndHJpbScsZXhwbG9kZSgnLCcsJGtbMV0pKTskYVsndGFibGUnXT0ka1syXTtpZihwcmVnX21hdGNoKCd+KC4rKVwuKC4rKX4nLCRrWzJdLCRaYikpeyRhWyducyddPSRaYlsxXTskYVsndGFibGUnXT0kWmJbMl07fSRhWyd0YXJnZXQnXT1hcnJheV9tYXAoJ3RyaW0nLGV4cGxvZGUoJywnLCRrWzNdKSk7JGFbJ29uX2RlbGV0ZSddPShwcmVnX21hdGNoKCJ+T04gREVMRVRFICgkSWEpfiIsJGtbNF0sJFpiKT8kWmJbMV06JycpOyRhWydvbl91cGRhdGUnXT0ocHJlZ19tYXRjaCgifk9OIFVQREFURSAoJElhKX4iLCRrWzRdLCRaYik/JFpiWzFdOicnKTskY1skYVsnY29ubmFtZSddXT0kYTt9fXJldHVybiRjO31mdW5jdGlvbgp2aWV3KCRmKXtnbG9iYWwkZztyZXR1cm4KYXJyYXkoInNlbGVjdCI9PiRnLT5yZXN1bHQoIlNFTEVDVCBwZ19nZXRfdmlld2RlZigiLnEoJGYpLiIpIikpO31mdW5jdGlvbgpjb2xsYXRpb25zKCl7cmV0dXJuCmFycmF5KCk7fWZ1bmN0aW9uCmluZm9ybWF0aW9uX3NjaGVtYSgkdCl7cmV0dXJuKCR0PT0iaW5mb3JtYXRpb25fc2NoZW1hIik7fWZ1bmN0aW9uCmVycm9yKCl7Z2xvYmFsJGc7JGM9aCgkZy0+ZXJyb3IpO2lmKHByZWdfbWF0Y2goJ35eKC4qXFxuKT8oW15cXG5dKilcXG4oICopXFxeKFxcbi4qKT8kfnMnLCRjLCRrKSl7JGM9JGtbMV0ucHJlZ19yZXBsYWNlKCd+KCg/OlteJl18JlteO10qOyl7Jy5zdHJsZW4oJGtbM10pLid9KSguKil+JywnXFwxPGI+XFwyPC9iPicsJGtbMl0pLiRrWzRdO31yZXR1cm4KbmxfYnIoJGMpO31mdW5jdGlvbgpleGFjdF92YWx1ZSgkYil7cmV0dXJuCnEoJGIpO31mdW5jdGlvbgpjcmVhdGVfZGF0YWJhc2UoJHQsJFUpe3JldHVybgpxdWVyaWVzKCJDUkVBVEUgREFUQUJBU0UgIi5pZGZfZXNjYXBlKCR0KS4oJFU/IiBFTkNPRElORyAiLmlkZl9lc2NhcGUoJFUpOiIiKSk7fWZ1bmN0aW9uCmRyb3BfZGF0YWJhc2VzKCRBKXtnbG9iYWwkZzskZy0+Y2xvc2UoKTtyZXR1cm4KYXBwbHlfcXVlcmllcygiRFJPUCBEQVRBQkFTRSIsJEEsJ2lkZl9lc2NhcGUnKTt9ZnVuY3Rpb24KcmVuYW1lX2RhdGFiYXNlKCRmLCRVKXtyZXR1cm4KcXVlcmllcygiQUxURVIgREFUQUJBU0UgIi5pZGZfZXNjYXBlKERCKS4iIFJFTkFNRSBUTyAiLmlkZl9lc2NhcGUoJGYpKTt9ZnVuY3Rpb24KYXV0b19pbmNyZW1lbnQoKXtyZXR1cm4iIjt9ZnVuY3Rpb24KYWx0ZXJfdGFibGUoJGgsJGYsJHAsJFBhLCRBYSwkX2IsJFUsJFRhLCR6Yil7JHc9YXJyYXkoKTskcGI9YXJyYXkoKTtmb3JlYWNoKCRwCmFzJGUpeyREPWlkZl9lc2NhcGUoJGVbMF0pOyRiPSRlWzFdO2lmKCEkYil7JHdbXT0iRFJPUCAkRCI7fWVsc2V7JHpkPSRiWzVdO3Vuc2V0KCRiWzVdKTtpZihpc3NldCgkYls2XSkmJiRlWzBdPT0iIil7JGJbMV09KCRiWzFdPT0iYmlnaW50Ij8iIGJpZyI6IiAiKS4ic2VyaWFsIjt9aWYoJGVbMF09PSIiKXskd1tdPSgkaCE9IiI/IkFERCAiOiIgICIpLmltcGxvZGUoJGIpO31lbHNle2lmKCREIT0kYlswXSl7JHBiW109IkFMVEVSIFRBQkxFICIudGFibGUoJGgpLiIgUkVOQU1FICREIFRPICRiWzBdIjt9JHdbXT0iQUxURVIgJEQgVFlQRSRiWzFdIjtpZighJGJbNl0peyR3W109IkFMVEVSICREICIuKCRiWzNdPyJTRVQkYlszXSI6IkRST1AgREVGQVVMVCIpOyR3W109IkFMVEVSICREICIuKCRiWzJdPT0iIE5VTEwiPyJEUk9QIE5PVCI6IlNFVCIpLiRiWzJdO319aWYoJGVbMF0hPSIifHwkemQhPSIiKXskcGJbXT0iQ09NTUVOVCBPTiBDT0xVTU4gIi50YWJsZSgkaCkuIi4kYlswXSBJUyAiLigkemQhPSIiP3N1YnN0cigkemQsOSk6IicnIik7fX19JHc9YXJyYXlfbWVyZ2UoJHcsJFBhKTtpZigkaD09IiIpe2FycmF5X3Vuc2hpZnQoJHBiLCJDUkVBVEUgVEFCTEUgIi50YWJsZSgkZikuIiAoXG4iLmltcGxvZGUoIixcbiIsJHcpLiJcbikiKTt9ZWxzZWlmKCR3KXthcnJheV91bnNoaWZ0KCRwYiwiQUxURVIgVEFCTEUgIi50YWJsZSgkaCkuIlxuIi5pbXBsb2RlKCIsXG4iLCR3KSk7fWlmKCRoIT0iIiYmJGghPSRmKXskcGJbXT0iQUxURVIgVEFCTEUgIi50YWJsZSgkaCkuIiBSRU5BTUUgVE8gIi50YWJsZSgkZik7fWlmKCRoIT0iInx8JEFhIT0iIil7JHBiW109IkNPTU1FTlQgT04gVEFCTEUgIi50YWJsZSgkZikuIiBJUyAiLnEoJEFhKTt9aWYoJFRhIT0iIil7fWZvcmVhY2goJHBiCmFzJGkpe2lmKCFxdWVyaWVzKCRpKSl7cmV0dXJuCmZhbHNlO319cmV0dXJuCnRydWU7fWZ1bmN0aW9uCmFsdGVyX2luZGV4ZXMoJGgsJHcpeyRrYT1hcnJheSgpOyRGYT1hcnJheSgpO2ZvcmVhY2goJHcKYXMkYil7aWYoJGJbMF0hPSJJTkRFWCIpeyRrYVtdPSgkYlsyXT09IkRST1AiPyJcbkRST1AgQ09OU1RSQUlOVCAiLmlkZl9lc2NhcGUoJGJbMV0pOiJcbkFERCAkYlswXSAiLigkYlswXT09IlBSSU1BUlkiPyJLRVkgIjoiIikuJGJbMl0pO31lbHNlaWYoJGJbMl09PSJEUk9QIil7JEZhW109aWRmX2VzY2FwZSgkYlsxXSk7fWVsc2VpZighcXVlcmllcygiQ1JFQVRFIElOREVYICIuaWRmX2VzY2FwZSgkYlsxXSE9IiI/JGJbMV06dW5pcWlkKCRoLiJfIikpLiIgT04gIi50YWJsZSgkaCkuIiAkYlsyXSIpKXtyZXR1cm4KZmFsc2U7fX1yZXR1cm4oKCEka2F8fHF1ZXJpZXMoIkFMVEVSIFRBQkxFICIudGFibGUoJGgpLmltcGxvZGUoIiwiLCRrYSkpKSYmKCEkRmF8fHF1ZXJpZXMoIkRST1AgSU5ERVggIi5pbXBsb2RlKCIsICIsJEZhKSkpKTt9ZnVuY3Rpb24KdHJ1bmNhdGVfdGFibGVzKCRFKXtyZXR1cm4KcXVlcmllcygiVFJVTkNBVEUgIi5pbXBsb2RlKCIsICIsYXJyYXlfbWFwKCd0YWJsZScsJEUpKSk7cmV0dXJuCnRydWU7fWZ1bmN0aW9uCmRyb3Bfdmlld3MoJFkpe3JldHVybgpxdWVyaWVzKCJEUk9QIFZJRVcgIi5pbXBsb2RlKCIsICIsYXJyYXlfbWFwKCd0YWJsZScsJFkpKSk7fWZ1bmN0aW9uCmRyb3BfdGFibGVzKCRFKXtyZXR1cm4KcXVlcmllcygiRFJPUCBUQUJMRSAiLmltcGxvZGUoIiwgIixhcnJheV9tYXAoJ3RhYmxlJywkRSkpKTt9ZnVuY3Rpb24KbW92ZV90YWJsZXMoJEUsJFksJGhhKXtmb3JlYWNoKCRFCmFzJGgpe2lmKCFxdWVyaWVzKCJBTFRFUiBUQUJMRSAiLnRhYmxlKCRoKS4iIFNFVCBTQ0hFTUEgIi5pZGZfZXNjYXBlKCRoYSkpKXtyZXR1cm4KZmFsc2U7fX1mb3JlYWNoKCRZCmFzJGgpe2lmKCFxdWVyaWVzKCJBTFRFUiBWSUVXICIudGFibGUoJGgpLiIgU0VUIFNDSEVNQSAiLmlkZl9lc2NhcGUoJGhhKSkpe3JldHVybgpmYWxzZTt9fXJldHVybgp0cnVlO31mdW5jdGlvbgp0cmlnZ2VyKCRmKXskSD1nZXRfcm93cygnU0VMRUNUIHRyaWdnZXJfbmFtZSBBUyAiVHJpZ2dlciIsIGNvbmRpdGlvbl90aW1pbmcgQVMgIlRpbWluZyIsIGV2ZW50X21hbmlwdWxhdGlvbiBBUyAiRXZlbnQiLCBcJ0ZPUiBFQUNIIFwnIHx8IGFjdGlvbl9vcmllbnRhdGlvbiBBUyAiVHlwZSIsIGFjdGlvbl9zdGF0ZW1lbnQgQVMgIlN0YXRlbWVudCIgRlJPTSBpbmZvcm1hdGlvbl9zY2hlbWEudHJpZ2dlcnMgV0hFUkUgZXZlbnRfb2JqZWN0X3RhYmxlID0gJy5xKCRfR0VUWyJ0cmlnZ2VyIl0pLicgQU5EIHRyaWdnZXJfbmFtZSA9ICcucSgkZikpO3JldHVybgpyZXNldCgkSCk7fWZ1bmN0aW9uCnRyaWdnZXJzKCRoKXskYz1hcnJheSgpO2ZvcmVhY2goZ2V0X3Jvd3MoIlNFTEVDVCAqIEZST00gaW5mb3JtYXRpb25fc2NoZW1hLnRyaWdnZXJzIFdIRVJFIGV2ZW50X29iamVjdF90YWJsZSA9ICIucSgkaCkpYXMkYSl7JGNbJGFbInRyaWdnZXJfbmFtZSJdXT1hcnJheSgkYVsiY29uZGl0aW9uX3RpbWluZyJdLCRhWyJldmVudF9tYW5pcHVsYXRpb24iXSk7fXJldHVybiRjO31mdW5jdGlvbgp0cmlnZ2VyX29wdGlvbnMoKXtyZXR1cm4KYXJyYXkoIlRpbWluZyI9PmFycmF5KCJCRUZPUkUiLCJBRlRFUiIpLCJUeXBlIj0+YXJyYXkoIkZPUiBFQUNIIFJPVyIsIkZPUiBFQUNIIFNUQVRFTUVOVCIpLCk7fWZ1bmN0aW9uCnJvdXRpbmVzKCl7cmV0dXJuCmdldF9yb3dzKCdTRUxFQ1QgcC5wcm9uYW1lIEFTICJST1VUSU5FX05BTUUiLCBwLnByb2FyZ3R5cGVzIEFTICJST1VUSU5FX1RZUEUiLCBwZ19jYXRhbG9nLmZvcm1hdF90eXBlKHAucHJvcmV0dHlwZSwgTlVMTCkgQVMgIkRURF9JREVOVElGSUVSIgpGUk9NIHBnX2NhdGFsb2cucGdfbmFtZXNwYWNlIG4KSk9JTiBwZ19jYXRhbG9nLnBnX3Byb2MgcCBPTiBwLnByb25hbWVzcGFjZSA9IG4ub2lkCldIRVJFIG4ubnNwbmFtZSA9IGN1cnJlbnRfc2NoZW1hKCkKT1JERVIgQlkgcC5wcm9uYW1lJyk7fWZ1bmN0aW9uCnJvdXRpbmVfbGFuZ3VhZ2VzKCl7cmV0dXJuCmdldF92YWxzKCJTRUxFQ1QgbGFuZ25hbWUgRlJPTSBwZ19jYXRhbG9nLnBnX2xhbmd1YWdlIik7fWZ1bmN0aW9uCmJlZ2luKCl7cmV0dXJuCnF1ZXJpZXMoIkJFR0lOIik7fWZ1bmN0aW9uCmluc2VydF9pbnRvKCRoLCRzKXtyZXR1cm4KcXVlcmllcygiSU5TRVJUIElOVE8gIi50YWJsZSgkaCkuKCRzPyIgKCIuaW1wbG9kZSgiLCAiLGFycmF5X2tleXMoJHMpKS4iKVxuVkFMVUVTICgiLmltcGxvZGUoIiwgIiwkcykuIikiOiJERUZBVUxUIFZBTFVFUyIpKTt9ZnVuY3Rpb24KaW5zZXJ0X3VwZGF0ZSgkaCwkcywkTmEpe2dsb2JhbCRnOyRzYT1hcnJheSgpOyRyPWFycmF5KCk7Zm9yZWFjaCgkcwphcyRkPT4kYil7JHNhW109IiRkID0gJGIiO2lmKGlzc2V0KCROYVtpZGZfdW5lc2NhcGUoJGQpXSkpeyRyW109IiRkID0gJGIiO319cmV0dXJuKCRyJiZxdWVyaWVzKCJVUERBVEUgIi50YWJsZSgkaCkuIiBTRVQgIi5pbXBsb2RlKCIsICIsJHNhKS4iIFdIRVJFICIuaW1wbG9kZSgiIEFORCAiLCRyKSkmJiRnLT5hZmZlY3RlZF9yb3dzKXx8cXVlcmllcygiSU5TRVJUIElOVE8gIi50YWJsZSgkaCkuIiAoIi5pbXBsb2RlKCIsICIsYXJyYXlfa2V5cygkcykpLiIpIFZBTFVFUyAoIi5pbXBsb2RlKCIsICIsJHMpLiIpIik7fWZ1bmN0aW9uCmxhc3RfaWQoKXtyZXR1cm4KMDt9ZnVuY3Rpb24KZXhwbGFpbigkZywkaSl7cmV0dXJuJGctPnF1ZXJ5KCJFWFBMQUlOICRpIik7fWZ1bmN0aW9uCmZvdW5kX3Jvd3MoJHYsJHIpe2dsb2JhbCRnO2lmKGVyZWcoIiByb3dzPShbMC05XSspIiwkZy0+cmVzdWx0KCJFWFBMQUlOIFNFTEVDVCAqIEZST00gIi5pZGZfZXNjYXBlKCR2WyJOYW1lIl0pLigkcj8iIFdIRVJFICIuaW1wbG9kZSgiIEFORCAiLCRyKToiIikpLCRZZSkpe3JldHVybiRZZVsxXTt9cmV0dXJuCmZhbHNlO31mdW5jdGlvbgp0eXBlcygpe3JldHVybgpnZXRfdmFscygiU0VMRUNUIHR5cG5hbWUKRlJPTSBwZ190eXBlCldIRVJFIHR5cG5hbWVzcGFjZSA9IChTRUxFQ1Qgb2lkIEZST00gcGdfbmFtZXNwYWNlIFdIRVJFIG5zcG5hbWUgPSBjdXJyZW50X3NjaGVtYSgpKQpBTkQgdHlwdHlwZSBJTiAoJ2InLCdkJywnZScpCkFORCB0eXBlbGVtID0gMCIpO31mdW5jdGlvbgpzY2hlbWFzKCl7cmV0dXJuCmdldF92YWxzKCJTRUxFQ1QgbnNwbmFtZSBGUk9NIHBnX25hbWVzcGFjZSBPUkRFUiBCWSBuc3BuYW1lIik7fWZ1bmN0aW9uCmdldF9zY2hlbWEoKXtnbG9iYWwkZztyZXR1cm4kZy0+cmVzdWx0KCJTRUxFQ1QgY3VycmVudF9zY2hlbWEoKSIpO31mdW5jdGlvbgpzZXRfc2NoZW1hKCRSYSl7Z2xvYmFsJGcsJFIsJFNhOyRjPSRnLT5xdWVyeSgiU0VUIHNlYXJjaF9wYXRoIFRPICIuaWRmX2VzY2FwZSgkUmEpKTtmb3JlYWNoKHR5cGVzKClhcyRfKXtpZighaXNzZXQoJFJbJF9dKSl7JFJbJF9dPTA7JFNhW2xhbmcoMTEpXVtdPSRfO319cmV0dXJuJGM7fWZ1bmN0aW9uCnVzZV9zcWwoJGZhKXtyZXR1cm4iXGNvbm5lY3QgIi5pZGZfZXNjYXBlKCRmYSk7fWZ1bmN0aW9uCnNob3dfdmFyaWFibGVzKCl7cmV0dXJuCmdldF9rZXlfdmFscygiU0hPVyBBTEwiKTt9ZnVuY3Rpb24KcHJvY2Vzc19saXN0KCl7cmV0dXJuCmdldF9yb3dzKCJTRUxFQ1QgKiBGUk9NIHBnX3N0YXRfYWN0aXZpdHkgT1JERVIgQlkgcHJvY3BpZCIpO31mdW5jdGlvbgpzaG93X3N0YXR1cygpe31mdW5jdGlvbgpzdXBwb3J0KCR4Yil7cmV0dXJuCmVyZWcoJ14oY29tbWVudHx2aWV3fHNjaGVtZXxwcm9jZXNzbGlzdHxzZXF1ZW5jZXx0cmlnZ2VyfHR5cGV8dmFyaWFibGVzfGRyb3BfY29sKSQnLCR4Yik7fSR1PSJwZ3NxbCI7JFI9YXJyYXkoKTskU2E9YXJyYXkoKTtmb3JlYWNoKGFycmF5KGxhbmcoMTIpPT5hcnJheSgic21hbGxpbnQiPT41LCJpbnRlZ2VyIj0+MTAsImJpZ2ludCI9PjE5LCJib29sZWFuIj0+MSwibnVtZXJpYyI9PjAsInJlYWwiPT43LCJkb3VibGUgcHJlY2lzaW9uIj0+MTYsIm1vbmV5Ij0+MjApLGxhbmcoMTMpPT5hcnJheSgiZGF0ZSI9PjEzLCJ0aW1lIj0+MTcsInRpbWVzdGFtcCI9PjIwLCJpbnRlcnZhbCI9PjApLGxhbmcoMTQpPT5hcnJheSgiY2hhcmFjdGVyIj0+MCwiY2hhcmFjdGVyIHZhcnlpbmciPT4wLCJ0ZXh0Ij0+MCwidHNxdWVyeSI9PjAsInRzdmVjdG9yIj0+MCwidXVpZCI9PjAsInhtbCI9PjApLGxhbmcoMTUpPT5hcnJheSgiYml0Ij0+MCwiYml0IHZhcnlpbmciPT4wLCJieXRlYSI9PjApLGxhbmcoMTYpPT5hcnJheSgiY2lkciI9PjQzLCJpbmV0Ij0+NDMsIm1hY2FkZHIiPT4xNywidHhpZF9zbmFwc2hvdCI9PjApLGxhbmcoMTcpPT5hcnJheSgiYm94Ij0+MCwiY2lyY2xlIj0+MCwibGluZSI9PjAsImxzZWciPT4wLCJwYXRoIj0+MCwicG9pbnQiPT4wLCJwb2x5Z29uIj0+MCksKWFzJGQ9PiRiKXskUis9JGI7JFNhWyRkXT1hcnJheV9rZXlzKCRiKTt9JG1iPWFycmF5KCk7JGpjPWFycmF5KCI9IiwiPCIsIj4iLCI8PSIsIj49IiwiIT0iLCJ+IiwiIX4iLCJMSUtFIiwiTElLRSAlJSIsIklOIiwiSVMgTlVMTCIsIk5PVCBMSUtFIiwiTk9UIElOIiwiSVMgTk9UIE5VTEwiLCIiKTskY2E9YXJyYXkoImNoYXJfbGVuZ3RoIiwibG93ZXIiLCJyb3VuZCIsInRvX2hleCIsInRvX3RpbWVzdGFtcCIsInVwcGVyIik7JHFiPWFycmF5KCJhdmciLCJjb3VudCIsImNvdW50IGRpc3RpbmN0IiwibWF4IiwibWluIiwic3VtIik7JEliPWFycmF5KGFycmF5KCJjaGFyIj0+Im1kNSIsImRhdGV8dGltZSI9PiJub3ciLCksYXJyYXkoImludHxudW1lcmljfHJlYWx8bW9uZXkiPT4iKy8tIiwiZGF0ZXx0aW1lIj0+IisgaW50ZXJ2YWwvLSBpbnRlcnZhbCIsImNoYXJ8dGV4dCI9PiJ8fCIsKSk7fSRvYVsib3JhY2xlIl09Ik9yYWNsZSI7aWYoaXNzZXQoJF9HRVRbIm9yYWNsZSJdKSl7JGxjPWFycmF5KCJPQ0k4IiwiUERPX09DSSIpO2RlZmluZSgiRFJJVkVSIiwib3JhY2xlIik7aWYoZXh0ZW5zaW9uX2xvYWRlZCgib2NpOCIpKXtjbGFzcwpNaW5fREJ7dmFyJGV4dGVuc2lvbj0ib2NpOCIsJF9saW5rLCRfcmVzdWx0LCRzZXJ2ZXJfaW5mbywkYWZmZWN0ZWRfcm93cywkZXJyb3I7ZnVuY3Rpb24KX2Vycm9yKCR4Ziwkbil7aWYoaW5pX2Jvb2woImh0bWxfZXJyb3JzIikpeyRuPWh0bWxfZW50aXR5X2RlY29kZShzdHJpcF90YWdzKCRuKSk7fSRuPWVyZWdfcmVwbGFjZSgnXlteOl0qOiAnLCcnLCRuKTskdGhpcy0+ZXJyb3I9JG47fWZ1bmN0aW9uCmNvbm5lY3QoJEYsJFEsJFQpeyR0aGlzLT5fbGluaz1Ab2NpX25ld19jb25uZWN0KCRRLCRULCRGLCJBTDMyVVRGOCIpO2lmKCR0aGlzLT5fbGluayl7JHRoaXMtPnNlcnZlcl9pbmZvPW9jaV9zZXJ2ZXJfdmVyc2lvbigkdGhpcy0+X2xpbmspO3JldHVybgp0cnVlO30kbj1vY2lfZXJyb3IoKTskdGhpcy0+ZXJyb3I9JG5bIm1lc3NhZ2UiXTtyZXR1cm4KZmFsc2U7fWZ1bmN0aW9uCnF1b3RlKCRJKXtyZXR1cm4iJyIuc3RyX3JlcGxhY2UoIiciLCInJyIsJEkpLiInIjt9ZnVuY3Rpb24Kc2VsZWN0X2RiKCRmYSl7cmV0dXJuCnRydWU7fWZ1bmN0aW9uCnF1ZXJ5KCRpLCRlYj1mYWxzZSl7JGo9b2NpX3BhcnNlKCR0aGlzLT5fbGluaywkaSk7aWYoISRqKXskbj1vY2lfZXJyb3IoJHRoaXMtPl9saW5rKTskdGhpcy0+ZXJyb3I9JG5bIm1lc3NhZ2UiXTtyZXR1cm4KZmFsc2U7fXNldF9lcnJvcl9oYW5kbGVyKGFycmF5KCR0aGlzLCdfZXJyb3InKSk7JGM9QG9jaV9leGVjdXRlKCRqKTtyZXN0b3JlX2Vycm9yX2hhbmRsZXIoKTtpZigkYyl7aWYob2NpX251bV9maWVsZHMoJGopKXtyZXR1cm4KbmV3Ck1pbl9SZXN1bHQoJGopO30kdGhpcy0+YWZmZWN0ZWRfcm93cz1vY2lfbnVtX3Jvd3MoJGopO31yZXR1cm4kYzt9ZnVuY3Rpb24KbXVsdGlfcXVlcnkoJGkpe3JldHVybiR0aGlzLT5fcmVzdWx0PSR0aGlzLT5xdWVyeSgkaSk7fWZ1bmN0aW9uCnN0b3JlX3Jlc3VsdCgpe3JldHVybiR0aGlzLT5fcmVzdWx0O31mdW5jdGlvbgpuZXh0X3Jlc3VsdCgpe3JldHVybgpmYWxzZTt9ZnVuY3Rpb24KcmVzdWx0KCRpLCRlPTEpeyRqPSR0aGlzLT5xdWVyeSgkaSk7aWYoIWlzX29iamVjdCgkail8fCFvY2lfZmV0Y2goJGotPl9yZXN1bHQpKXtyZXR1cm4KZmFsc2U7fXJldHVybgpvY2lfcmVzdWx0KCRqLT5fcmVzdWx0LCRlKTt9fWNsYXNzCk1pbl9SZXN1bHR7dmFyJF9yZXN1bHQsJF9vZmZzZXQ9MSwkbnVtX3Jvd3M7ZnVuY3Rpb24KTWluX1Jlc3VsdCgkail7JHRoaXMtPl9yZXN1bHQ9JGo7fWZ1bmN0aW9uCl9jb252ZXJ0KCRhKXtmb3JlYWNoKChhcnJheSkkYQphcyRkPT4kYil7aWYoaXNfYSgkYiwnT0NJLUxvYicpKXskYVskZF09JGItPmxvYWQoKTt9fXJldHVybiRhO31mdW5jdGlvbgpmZXRjaF9hc3NvYygpe3JldHVybiR0aGlzLT5fY29udmVydChvY2lfZmV0Y2hfYXNzb2MoJHRoaXMtPl9yZXN1bHQpKTt9ZnVuY3Rpb24KZmV0Y2hfcm93KCl7cmV0dXJuJHRoaXMtPl9jb252ZXJ0KG9jaV9mZXRjaF9yb3coJHRoaXMtPl9yZXN1bHQpKTt9ZnVuY3Rpb24KZmV0Y2hfZmllbGQoKXskRD0kdGhpcy0+X29mZnNldCsrOyRjPW5ldwpzdGRDbGFzczskYy0+bmFtZT1vY2lfZmllbGRfbmFtZSgkdGhpcy0+X3Jlc3VsdCwkRCk7JGMtPm9yZ25hbWU9JGMtPm5hbWU7JGMtPnR5cGU9b2NpX2ZpZWxkX3R5cGUoJHRoaXMtPl9yZXN1bHQsJEQpOyRjLT5jaGFyc2V0bnI9KGVyZWcoInJhd3xibG9ifGJmaWxlIiwkYy0+dHlwZSk/NjM6MCk7cmV0dXJuJGM7fWZ1bmN0aW9uCl9fZGVzdHJ1Y3QoKXtvY2lfZnJlZV9zdGF0ZW1lbnQoJHRoaXMtPl9yZXN1bHQpO319fWVsc2VpZihleHRlbnNpb25fbG9hZGVkKCJwZG9fb2NpIikpe2NsYXNzCk1pbl9EQgpleHRlbmRzCk1pbl9QRE97dmFyJGV4dGVuc2lvbj0iUERPX09DSSI7ZnVuY3Rpb24KY29ubmVjdCgkRiwkUSwkVCl7JHRoaXMtPmRzbigib2NpOmRibmFtZT0vLyRGO2NoYXJzZXQ9QUwzMlVURjgiLCRRLCRUKTtyZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24Kc2VsZWN0X2RiKCRmYSl7cmV0dXJuCnRydWU7fX19ZnVuY3Rpb24KaWRmX2VzY2FwZSgkUCl7cmV0dXJuJyInLnN0cl9yZXBsYWNlKCciJywnIiInLCRQKS4nIic7fWZ1bmN0aW9uCnRhYmxlKCRQKXtyZXR1cm4KaWRmX2VzY2FwZSgkUCk7fWZ1bmN0aW9uCmNvbm5lY3QoKXtnbG9iYWwkbzskZz1uZXcKTWluX0RCOyRFYT0kby0+Y3JlZGVudGlhbHMoKTtpZigkZy0+Y29ubmVjdCgkRWFbMF0sJEVhWzFdLCRFYVsyXSkpe3JldHVybiRnO31yZXR1cm4kZy0+ZXJyb3I7fWZ1bmN0aW9uCmdldF9kYXRhYmFzZXMoKXtyZXR1cm4KZ2V0X3ZhbHMoIlNFTEVDVCB0YWJsZXNwYWNlX25hbWUgRlJPTSB1c2VyX3RhYmxlc3BhY2VzIik7fWZ1bmN0aW9uCmxpbWl0KCRpLCRyLCRNLCRMPTAsJGdiPSIgIil7cmV0dXJuKCRMPyIgKiBGUk9NIChTRUxFQ1QgdC4qLCByb3dudW0gQVMgcm51bSBGUk9NIChTRUxFQ1QgJGkkcikgdCBXSEVSRSByb3dudW0gPD0gIi4oJE0rJEwpLiIpIFdIRVJFIHJudW0gPiAkTCI6KGlzc2V0KCRNKT8iICogRlJPTSAoU0VMRUNUICRpJHIpIFdIRVJFIHJvd251bSA8PSAiLigkTSskTCk6IiAkaSRyIikpO31mdW5jdGlvbgpsaW1pdDEoJGksJHIpe3JldHVybiIgJGkkciI7fWZ1bmN0aW9uCmRiX2NvbGxhdGlvbigkdCwkYWEpe2dsb2JhbCRnO3JldHVybiRnLT5yZXN1bHQoIlNFTEVDVCB2YWx1ZSBGUk9NIG5sc19kYXRhYmFzZV9wYXJhbWV0ZXJzIFdIRVJFIHBhcmFtZXRlciA9ICdOTFNfQ0hBUkFDVEVSU0VUJyIpO31mdW5jdGlvbgplbmdpbmVzKCl7cmV0dXJuCmFycmF5KCk7fWZ1bmN0aW9uCmxvZ2dlZF91c2VyKCl7Z2xvYmFsJGc7cmV0dXJuJGctPnJlc3VsdCgiU0VMRUNUIFVTRVIgRlJPTSBEVUFMIik7fWZ1bmN0aW9uCnRhYmxlc19saXN0KCl7cmV0dXJuCmdldF9rZXlfdmFscygiU0VMRUNUIHRhYmxlX25hbWUsICd0YWJsZScgRlJPTSBhbGxfdGFibGVzIFdIRVJFIHRhYmxlc3BhY2VfbmFtZSA9ICIucShEQikuIgpVTklPTiBTRUxFQ1Qgdmlld19uYW1lLCAndmlldycgRlJPTSB1c2VyX3ZpZXdzIik7fWZ1bmN0aW9uCmNvdW50X3RhYmxlcygkQSl7cmV0dXJuCmFycmF5KCk7fWZ1bmN0aW9uCnRhYmxlX3N0YXR1cygkZj0iIil7JGM9YXJyYXkoKTskTWU9cSgkZik7Zm9yZWFjaChnZXRfcm93cygnU0VMRUNUIHRhYmxlX25hbWUgIk5hbWUiLCBcJ3RhYmxlXCcgIkVuZ2luZSIgRlJPTSBhbGxfdGFibGVzIFdIRVJFIHRhYmxlc3BhY2VfbmFtZSA9ICcucShEQikuKCRmIT0iIj8iIEFORCB0YWJsZV9uYW1lID0gJE1lIjoiIikuIgpVTklPTiBTRUxFQ1Qgdmlld19uYW1lLCAndmlldycgRlJPTSB1c2VyX3ZpZXdzIi4oJGYhPSIiPyIgV0hFUkUgdmlld19uYW1lID0gJE1lIjoiIikpYXMkYSl7aWYoJGYhPSIiKXtyZXR1cm4kYTt9JGNbJGFbIk5hbWUiXV09JGE7fXJldHVybiRjO31mdW5jdGlvbgppc192aWV3KCR2KXtyZXR1cm4kdlsiRW5naW5lIl09PSJ2aWV3Ijt9ZnVuY3Rpb24KZmtfc3VwcG9ydCgkdil7cmV0dXJuCnRydWU7fWZ1bmN0aW9uCmZpZWxkcygkaCl7JGM9YXJyYXkoKTtmb3JlYWNoKGdldF9yb3dzKCJTRUxFQ1QgKiBGUk9NIGFsbF90YWJfY29sdW1ucyBXSEVSRSB0YWJsZV9uYW1lID0gIi5xKCRoKS4iIE9SREVSIEJZIGNvbHVtbl9pZCIpYXMkYSl7JF89JGFbIkRBVEFfVFlQRSJdOyRYPSIkYVtEQVRBX1BSRUNJU0lPTl0sJGFbREFUQV9TQ0FMRV0iO2lmKCRYPT0iLCIpeyRYPSRhWyJEQVRBX0xFTkdUSCJdO30kY1skYVsiQ09MVU1OX05BTUUiXV09YXJyYXkoImZpZWxkIj0+JGFbIkNPTFVNTl9OQU1FIl0sImZ1bGxfdHlwZSI9PiRfLigkWD8iKCRYKSI6IiIpLCJ0eXBlIj0+c3RydG9sb3dlcigkXyksImxlbmd0aCI9PiRYLCJkZWZhdWx0Ij0+JGFbIkRBVEFfREVGQVVMVCJdLCJudWxsIj0+KCRhWyJOVUxMQUJMRSJdPT0iWSIpLCJwcml2aWxlZ2VzIj0+YXJyYXkoImluc2VydCI9PjEsInNlbGVjdCI9PjEsInVwZGF0ZSI9PjEpLCk7fXJldHVybiRjO31mdW5jdGlvbgppbmRleGVzKCRoLCRHPW51bGwpeyRjPWFycmF5KCk7Zm9yZWFjaChnZXRfcm93cygiU0VMRUNUIHVpYy4qLCB1Yy5jb25zdHJhaW50X3R5cGUKRlJPTSB1c2VyX2luZF9jb2x1bW5zIHVpYwpMRUZUIEpPSU4gdXNlcl9jb25zdHJhaW50cyB1YyBPTiB1aWMuaW5kZXhfbmFtZSA9IHVjLmNvbnN0cmFpbnRfbmFtZSBBTkQgdWljLnRhYmxlX25hbWUgPSB1Yy50YWJsZV9uYW1lCldIRVJFIHVpYy50YWJsZV9uYW1lID0gIi5xKCRoKS4iCk9SREVSIEJZIHVjLmNvbnN0cmFpbnRfdHlwZSwgdWljLmNvbHVtbl9wb3NpdGlvbiIsJEcpYXMkYSl7JGNbJGFbIklOREVYX05BTUUiXV1bInR5cGUiXT0oJGFbIkNPTlNUUkFJTlRfVFlQRSJdPT0iUCI/IlBSSU1BUlkiOigkYVsiQ09OU1RSQUlOVF9UWVBFIl09PSJVIj8iVU5JUVVFIjoiSU5ERVgiKSk7JGNbJGFbIklOREVYX05BTUUiXV1bImNvbHVtbnMiXVtdPSRhWyJDT0xVTU5fTkFNRSJdOyRjWyRhWyJJTkRFWF9OQU1FIl1dWyJsZW5ndGhzIl1bXT0oJGFbIkNIQVJfTEVOR1RIIl0mJiRhWyJDSEFSX0xFTkdUSCJdIT0kYVsiQ09MVU1OX0xFTkdUSCJdPyRhWyJDSEFSX0xFTkdUSCJdOm51bGwpO31yZXR1cm4kYzt9ZnVuY3Rpb24KdmlldygkZil7JEg9Z2V0X3Jvd3MoJ1NFTEVDVCB0ZXh0ICJzZWxlY3QiIEZST00gdXNlcl92aWV3cyBXSEVSRSB2aWV3X25hbWUgPSAnLnEoJGYpKTtyZXR1cm4KcmVzZXQoJEgpO31mdW5jdGlvbgpjb2xsYXRpb25zKCl7cmV0dXJuCmFycmF5KCk7fWZ1bmN0aW9uCmluZm9ybWF0aW9uX3NjaGVtYSgkdCl7cmV0dXJuCmZhbHNlO31mdW5jdGlvbgplcnJvcigpe2dsb2JhbCRnO3JldHVybgpoKCRnLT5lcnJvcik7fWZ1bmN0aW9uCmV4YWN0X3ZhbHVlKCRiKXtyZXR1cm4KcSgkYik7fWZ1bmN0aW9uCmV4cGxhaW4oJGcsJGkpeyRnLT5xdWVyeSgiRVhQTEFJTiBQTEFOIEZPUiAkaSIpO3JldHVybiRnLT5xdWVyeSgiU0VMRUNUICogRlJPTSBwbGFuX3RhYmxlIik7fWZ1bmN0aW9uCmZvdW5kX3Jvd3MoJHYsJHIpe31mdW5jdGlvbgphbHRlcl90YWJsZSgkaCwkZiwkcCwkUGEsJEFhLCRfYiwkVSwkVGEsJHpiKXskdz0kRmE9YXJyYXkoKTtmb3JlYWNoKCRwCmFzJGUpeyRiPSRlWzFdO2lmKCRiJiYkZVswXSE9IiImJmlkZl9lc2NhcGUoJGVbMF0pIT0kYlswXSl7cXVlcmllcygiQUxURVIgVEFCTEUgIi50YWJsZSgkaCkuIiBSRU5BTUUgQ09MVU1OICIuaWRmX2VzY2FwZSgkZVswXSkuIiBUTyAkYlswXSIpO31pZigkYil7JHdbXT0oJGghPSIiPygkZVswXSE9IiI/Ik1PRElGWSAoIjoiQUREICgiKToiICAiKS5pbXBsb2RlKCRiKS4oJGghPSIiPyIpIjoiIik7fWVsc2V7JEZhW109aWRmX2VzY2FwZSgkZVswXSk7fX1pZigkaD09IiIpe3JldHVybgpxdWVyaWVzKCJDUkVBVEUgVEFCTEUgIi50YWJsZSgkZikuIiAoXG4iLmltcGxvZGUoIixcbiIsJHcpLiJcbikiKTt9cmV0dXJuKCEkd3x8cXVlcmllcygiQUxURVIgVEFCTEUgIi50YWJsZSgkaCkuIlxuIi5pbXBsb2RlKCJcbiIsJHcpKSkmJighJEZhfHxxdWVyaWVzKCJBTFRFUiBUQUJMRSAiLnRhYmxlKCRoKS4iIERST1AgKCIuaW1wbG9kZSgiLCAiLCRGYSkuIikiKSkmJigkaD09JGZ8fHF1ZXJpZXMoIkFMVEVSIFRBQkxFICIudGFibGUoJGgpLiIgUkVOQU1FIFRPICIudGFibGUoJGYpKSk7fWZ1bmN0aW9uCmZvcmVpZ25fa2V5cygkaCl7cmV0dXJuCmFycmF5KCk7fWZ1bmN0aW9uCnRydW5jYXRlX3RhYmxlcygkRSl7cmV0dXJuCmFwcGx5X3F1ZXJpZXMoIlRSVU5DQVRFIFRBQkxFIiwkRSk7fWZ1bmN0aW9uCmRyb3Bfdmlld3MoJFkpe3JldHVybgphcHBseV9xdWVyaWVzKCJEUk9QIFZJRVciLCRZKTt9ZnVuY3Rpb24KZHJvcF90YWJsZXMoJEUpe3JldHVybgphcHBseV9xdWVyaWVzKCJEUk9QIFRBQkxFIiwkRSk7fWZ1bmN0aW9uCmJlZ2luKCl7cmV0dXJuCnRydWU7fWZ1bmN0aW9uCmluc2VydF9pbnRvKCRoLCRzKXtyZXR1cm4KcXVlcmllcygiSU5TRVJUIElOVE8gIi50YWJsZSgkaCkuIiAoIi5pbXBsb2RlKCIsICIsYXJyYXlfa2V5cygkcykpLiIpXG5WQUxVRVMgKCIuaW1wbG9kZSgiLCAiLCRzKS4iKSIpO31mdW5jdGlvbgpsYXN0X2lkKCl7cmV0dXJuCjA7fWZ1bmN0aW9uCnNjaGVtYXMoKXtyZXR1cm4KYXJyYXkoKTt9ZnVuY3Rpb24KZ2V0X3NjaGVtYSgpe3JldHVybiIiO31mdW5jdGlvbgpzZXRfc2NoZW1hKCROZCl7cmV0dXJuCnRydWU7fWZ1bmN0aW9uCnNob3dfdmFyaWFibGVzKCl7cmV0dXJuCmdldF9rZXlfdmFscygnU0VMRUNUIG5hbWUsIGRpc3BsYXlfdmFsdWUgRlJPTSB2JHBhcmFtZXRlcicpO31mdW5jdGlvbgpzaG93X3N0YXR1cygpeyRIPWdldF9yb3dzKCdTRUxFQ1QgKiBGUk9NIHYkaW5zdGFuY2UnKTtyZXR1cm4KcmVzZXQoJEgpO31mdW5jdGlvbgpzdXBwb3J0KCR4Yil7cmV0dXJuCmVyZWcoInZpZXd8ZHJvcF9jb2x8dmFyaWFibGVzfHN0YXR1cyIsJHhiKTt9JHU9Im9yYWNsZSI7JFI9YXJyYXkoKTskU2E9YXJyYXkoKTtmb3JlYWNoKGFycmF5KGxhbmcoMTIpPT5hcnJheSgibnVtYmVyIj0+MzgsImJpbmFyeV9mbG9hdCI9PjEyLCJiaW5hcnlfZG91YmxlIj0+MjEpLGxhbmcoMTMpPT5hcnJheSgiZGF0ZSI9PjEwLCJ0aW1lc3RhbXAiPT4yOSwiaW50ZXJ2YWwgeWVhciI9PjEyLCJpbnRlcnZhbCBkYXkiPT4yOCksbGFuZygxNCk9PmFycmF5KCJjaGFyIj0+MjAwMCwidmFyY2hhcjIiPT40MDAwLCJuY2hhciI9PjIwMDAsIm52YXJjaGFyMiI9PjQwMDAsImNsb2IiPT40Mjk0OTY3Mjk1LCJuY2xvYiI9PjQyOTQ5NjcyOTUpLGxhbmcoMTUpPT5hcnJheSgicmF3Ij0+MjAwMCwibG9uZyByYXciPT4yMTQ3NDgzNjQ4LCJibG9iIj0+NDI5NDk2NzI5NSwiYmZpbGUiPT40Mjk0OTY3Mjk2KSwpYXMkZD0+JGIpeyRSKz0kYjskU2FbJGRdPWFycmF5X2tleXMoJGIpO30kbWI9YXJyYXkoKTskamM9YXJyYXkoIj0iLCI8IiwiPiIsIjw9IiwiPj0iLCIhPSIsIkxJS0UiLCJMSUtFICUlIiwiSU4iLCJJUyBOVUxMIiwiTk9UIExJS0UiLCJOT1QgUkVHRVhQIiwiTk9UIElOIiwiSVMgTk9UIE5VTEwiLCIiKTskY2E9YXJyYXkoImxlbmd0aCIsImxvd2VyIiwicm91bmQiLCJ1cHBlciIpOyRxYj1hcnJheSgiYXZnIiwiY291bnQiLCJjb3VudCBkaXN0aW5jdCIsIm1heCIsIm1pbiIsInN1bSIpOyRJYj1hcnJheShhcnJheSgiZGF0ZSI9PiJjdXJyZW50X2RhdGUiLCJ0aW1lc3RhbXAiPT4iY3VycmVudF90aW1lc3RhbXAiLCksYXJyYXkoIm51bWJlcnxmbG9hdHxkb3VibGUiPT4iKy8tIiwiZGF0ZXx0aW1lc3RhbXAiPT4iKyBpbnRlcnZhbC8tIGludGVydmFsIiwiY2hhcnxjbG9iIj0+Inx8IiwpKTt9JG9hWyJtc3NxbCJdPSJNUyBTUUwiO2lmKGlzc2V0KCRfR0VUWyJtc3NxbCJdKSl7JGxjPWFycmF5KCJTUUxTUlYiLCJNU1NRTCIpO2RlZmluZSgiRFJJVkVSIiwibXNzcWwiKTtpZihleHRlbnNpb25fbG9hZGVkKCJzcWxzcnYiKSl7Y2xhc3MKTWluX0RCe3ZhciRleHRlbnNpb249InNxbHNydiIsJF9saW5rLCRfcmVzdWx0LCRzZXJ2ZXJfaW5mbywkYWZmZWN0ZWRfcm93cywkZXJyb3I7ZnVuY3Rpb24KX2dldF9lcnJvcigpeyR0aGlzLT5lcnJvcj0iIjtmb3JlYWNoKHNxbHNydl9lcnJvcnMoKWFzJG4peyR0aGlzLT5lcnJvci49IiRuW21lc3NhZ2VdXG4iO30kdGhpcy0+ZXJyb3I9cnRyaW0oJHRoaXMtPmVycm9yKTt9ZnVuY3Rpb24KY29ubmVjdCgkRiwkUSwkVCl7JHRoaXMtPl9saW5rPUBzcWxzcnZfY29ubmVjdCgkRixhcnJheSgiVUlEIj0+JFEsIlBXRCI9PiRUKSk7aWYoJHRoaXMtPl9saW5rKXskemY9c3Fsc3J2X3NlcnZlcl9pbmZvKCR0aGlzLT5fbGluayk7JHRoaXMtPnNlcnZlcl9pbmZvPSR6ZlsnU1FMU2VydmVyVmVyc2lvbiddO31lbHNleyR0aGlzLT5fZ2V0X2Vycm9yKCk7fXJldHVybihib29sKSR0aGlzLT5fbGluazt9ZnVuY3Rpb24KcXVvdGUoJEkpe3JldHVybiInIi5zdHJfcmVwbGFjZSgiJyIsIicnIiwkSSkuIiciO31mdW5jdGlvbgpzZWxlY3RfZGIoJGZhKXtyZXR1cm4kdGhpcy0+cXVlcnkoIlVTRSAkZmEiKTt9ZnVuY3Rpb24KcXVlcnkoJGksJGViPWZhbHNlKXskaj1zcWxzcnZfcXVlcnkoJHRoaXMtPl9saW5rLCRpKTtpZighJGopeyR0aGlzLT5fZ2V0X2Vycm9yKCk7cmV0dXJuCmZhbHNlO31yZXR1cm4kdGhpcy0+c3RvcmVfcmVzdWx0KCRqKTt9ZnVuY3Rpb24KbXVsdGlfcXVlcnkoJGkpeyR0aGlzLT5fcmVzdWx0PXNxbHNydl9xdWVyeSgkdGhpcy0+X2xpbmssJGkpO2lmKCEkdGhpcy0+X3Jlc3VsdCl7JHRoaXMtPl9nZXRfZXJyb3IoKTtyZXR1cm4KZmFsc2U7fXJldHVybgp0cnVlO31mdW5jdGlvbgpzdG9yZV9yZXN1bHQoJGo9bnVsbCl7aWYoISRqKXskaj0kdGhpcy0+X3Jlc3VsdDt9aWYoc3Fsc3J2X2ZpZWxkX21ldGFkYXRhKCRqKSl7cmV0dXJuCm5ldwpNaW5fUmVzdWx0KCRqKTt9JHRoaXMtPmFmZmVjdGVkX3Jvd3M9c3Fsc3J2X3Jvd3NfYWZmZWN0ZWQoJGopO3JldHVybgp0cnVlO31mdW5jdGlvbgpuZXh0X3Jlc3VsdCgpe3JldHVybgpzcWxzcnZfbmV4dF9yZXN1bHQoJHRoaXMtPl9yZXN1bHQpO31mdW5jdGlvbgpyZXN1bHQoJGksJGU9MCl7JGo9JHRoaXMtPnF1ZXJ5KCRpKTtpZighaXNfb2JqZWN0KCRqKSl7cmV0dXJuCmZhbHNlO30kYT0kai0+ZmV0Y2hfcm93KCk7cmV0dXJuJGFbJGVdO319Y2xhc3MKTWluX1Jlc3VsdHt2YXIkX3Jlc3VsdCwkX29mZnNldD0wLCRfZmllbGRzLCRudW1fcm93cztmdW5jdGlvbgpNaW5fUmVzdWx0KCRqKXskdGhpcy0+X3Jlc3VsdD0kajt9ZnVuY3Rpb24KX2NvbnZlcnQoJGEpe2ZvcmVhY2goKGFycmF5KSRhCmFzJGQ9PiRiKXtpZihpc19hKCRiLCdEYXRlVGltZScpKXskYVskZF09JGItPmZvcm1hdCgiWS1tLWQgSDppOnMiKTt9fXJldHVybiRhO31mdW5jdGlvbgpmZXRjaF9hc3NvYygpe3JldHVybiR0aGlzLT5fY29udmVydChzcWxzcnZfZmV0Y2hfYXJyYXkoJHRoaXMtPl9yZXN1bHQsU1FMU1JWX0ZFVENIX0FTU09DLFNRTFNSVl9TQ1JPTExfTkVYVCkpO31mdW5jdGlvbgpmZXRjaF9yb3coKXtyZXR1cm4kdGhpcy0+X2NvbnZlcnQoc3Fsc3J2X2ZldGNoX2FycmF5KCR0aGlzLT5fcmVzdWx0LFNRTFNSVl9GRVRDSF9OVU1FUklDLFNRTFNSVl9TQ1JPTExfTkVYVCkpO31mdW5jdGlvbgpmZXRjaF9maWVsZCgpe2lmKCEkdGhpcy0+X2ZpZWxkcyl7JHRoaXMtPl9maWVsZHM9c3Fsc3J2X2ZpZWxkX21ldGFkYXRhKCR0aGlzLT5fcmVzdWx0KTt9JGU9JHRoaXMtPl9maWVsZHNbJHRoaXMtPl9vZmZzZXQrK107JGM9bmV3CnN0ZENsYXNzOyRjLT5uYW1lPSRlWyJOYW1lIl07JGMtPm9yZ25hbWU9JGVbIk5hbWUiXTskYy0+dHlwZT0oJGVbIlR5cGUiXT09MT8yNTQ6MCk7cmV0dXJuJGM7fWZ1bmN0aW9uCnNlZWsoJEwpe2ZvcigkbD0wOyRsPCRMOyRsKyspe3NxbHNydl9mZXRjaCgkdGhpcy0+X3Jlc3VsdCk7fX1mdW5jdGlvbgpfX2Rlc3RydWN0KCl7c3Fsc3J2X2ZyZWVfc3RtdCgkdGhpcy0+X3Jlc3VsdCk7fX19ZWxzZWlmKGV4dGVuc2lvbl9sb2FkZWQoIm1zc3FsIikpe2NsYXNzCk1pbl9EQnt2YXIkZXh0ZW5zaW9uPSJNU1NRTCIsJF9saW5rLCRfcmVzdWx0LCRzZXJ2ZXJfaW5mbywkYWZmZWN0ZWRfcm93cywkZXJyb3I7ZnVuY3Rpb24KY29ubmVjdCgkRiwkUSwkVCl7JHRoaXMtPl9saW5rPUBtc3NxbF9jb25uZWN0KCRGLCRRLCRUKTtpZigkdGhpcy0+X2xpbmspeyRqPSR0aGlzLT5xdWVyeSgiU0VMRUNUIFNFUlZFUlBST1BFUlRZKCdQcm9kdWN0TGV2ZWwnKSwgU0VSVkVSUFJPUEVSVFkoJ0VkaXRpb24nKSIpOyRhPSRqLT5mZXRjaF9yb3coKTskdGhpcy0+c2VydmVyX2luZm89JHRoaXMtPnJlc3VsdCgic3Bfc2VydmVyX2luZm8gMiIsMikuIiBbJGFbMF1dICRhWzFdIjt9ZWxzZXskdGhpcy0+ZXJyb3I9bXNzcWxfZ2V0X2xhc3RfbWVzc2FnZSgpO31yZXR1cm4oYm9vbCkkdGhpcy0+X2xpbms7fWZ1bmN0aW9uCnF1b3RlKCRJKXtyZXR1cm4iJyIuc3RyX3JlcGxhY2UoIiciLCInJyIsJEkpLiInIjt9ZnVuY3Rpb24Kc2VsZWN0X2RiKCRmYSl7cmV0dXJuCm1zc3FsX3NlbGVjdF9kYigkZmEpO31mdW5jdGlvbgpxdWVyeSgkaSwkZWI9ZmFsc2UpeyRqPW1zc3FsX3F1ZXJ5KCRpLCR0aGlzLT5fbGluayk7aWYoISRqKXskdGhpcy0+ZXJyb3I9bXNzcWxfZ2V0X2xhc3RfbWVzc2FnZSgpO3JldHVybgpmYWxzZTt9aWYoJGo9PT10cnVlKXskdGhpcy0+YWZmZWN0ZWRfcm93cz1tc3NxbF9yb3dzX2FmZmVjdGVkKCR0aGlzLT5fbGluayk7cmV0dXJuCnRydWU7fXJldHVybgpuZXcKTWluX1Jlc3VsdCgkaik7fWZ1bmN0aW9uCm11bHRpX3F1ZXJ5KCRpKXtyZXR1cm4kdGhpcy0+X3Jlc3VsdD0kdGhpcy0+cXVlcnkoJGkpO31mdW5jdGlvbgpzdG9yZV9yZXN1bHQoKXtyZXR1cm4kdGhpcy0+X3Jlc3VsdDt9ZnVuY3Rpb24KbmV4dF9yZXN1bHQoKXtyZXR1cm4KbXNzcWxfbmV4dF9yZXN1bHQoJHRoaXMtPl9yZXN1bHQpO31mdW5jdGlvbgpyZXN1bHQoJGksJGU9MCl7JGo9JHRoaXMtPnF1ZXJ5KCRpKTtpZighaXNfb2JqZWN0KCRqKSl7cmV0dXJuCmZhbHNlO31yZXR1cm4KbXNzcWxfcmVzdWx0KCRqLT5fcmVzdWx0LDAsJGUpO319Y2xhc3MKTWluX1Jlc3VsdHt2YXIkX3Jlc3VsdCwkX29mZnNldD0wLCRfZmllbGRzLCRudW1fcm93cztmdW5jdGlvbgpNaW5fUmVzdWx0KCRqKXskdGhpcy0+X3Jlc3VsdD0kajskdGhpcy0+bnVtX3Jvd3M9bXNzcWxfbnVtX3Jvd3MoJGopO31mdW5jdGlvbgpmZXRjaF9hc3NvYygpe3JldHVybgptc3NxbF9mZXRjaF9hc3NvYygkdGhpcy0+X3Jlc3VsdCk7fWZ1bmN0aW9uCmZldGNoX3Jvdygpe3JldHVybgptc3NxbF9mZXRjaF9yb3coJHRoaXMtPl9yZXN1bHQpO31mdW5jdGlvbgpudW1fcm93cygpe3JldHVybgptc3NxbF9udW1fcm93cygkdGhpcy0+X3Jlc3VsdCk7fWZ1bmN0aW9uCmZldGNoX2ZpZWxkKCl7JGM9bXNzcWxfZmV0Y2hfZmllbGQoJHRoaXMtPl9yZXN1bHQpOyRjLT5vcmd0YWJsZT0kYy0+dGFibGU7JGMtPm9yZ25hbWU9JGMtPm5hbWU7cmV0dXJuJGM7fWZ1bmN0aW9uCnNlZWsoJEwpe21zc3FsX2RhdGFfc2VlaygkdGhpcy0+X3Jlc3VsdCwkTCk7fWZ1bmN0aW9uCl9fZGVzdHJ1Y3QoKXttc3NxbF9mcmVlX3Jlc3VsdCgkdGhpcy0+X3Jlc3VsdCk7fX19ZnVuY3Rpb24KaWRmX2VzY2FwZSgkUCl7cmV0dXJuIlsiLnN0cl9yZXBsYWNlKCJdIiwiXV0iLCRQKS4iXSI7fWZ1bmN0aW9uCnRhYmxlKCRQKXtyZXR1cm4oJF9HRVRbIm5zIl0hPSIiP2lkZl9lc2NhcGUoJF9HRVRbIm5zIl0pLiIuIjoiIikuaWRmX2VzY2FwZSgkUCk7fWZ1bmN0aW9uCmNvbm5lY3QoKXtnbG9iYWwkbzskZz1uZXcKTWluX0RCOyRFYT0kby0+Y3JlZGVudGlhbHMoKTtpZigkZy0+Y29ubmVjdCgkRWFbMF0sJEVhWzFdLCRFYVsyXSkpe3JldHVybiRnO31yZXR1cm4kZy0+ZXJyb3I7fWZ1bmN0aW9uCmdldF9kYXRhYmFzZXMoKXtyZXR1cm4KZ2V0X3ZhbHMoIkVYRUMgc3BfZGF0YWJhc2VzIik7fWZ1bmN0aW9uCmxpbWl0KCRpLCRyLCRNLCRMPTAsJGdiPSIgIil7cmV0dXJuKGlzc2V0KCRNKT8iIFRPUCAoIi4oJE0rJEwpLiIpIjoiIikuIiAkaSRyIjt9ZnVuY3Rpb24KbGltaXQxKCRpLCRyKXtyZXR1cm4KbGltaXQoJGksJHIsMSk7fWZ1bmN0aW9uCmRiX2NvbGxhdGlvbigkdCwkYWEpe2dsb2JhbCRnO3JldHVybiRnLT5yZXN1bHQoIlNFTEVDVCBjb2xsYXRpb25fbmFtZSBGUk9NIHN5cy5kYXRhYmFzZXMgV0hFUkUgbmFtZSA9ICAiLnEoJHQpKTt9ZnVuY3Rpb24KZW5naW5lcygpe3JldHVybgphcnJheSgpO31mdW5jdGlvbgpsb2dnZWRfdXNlcigpe2dsb2JhbCRnO3JldHVybiRnLT5yZXN1bHQoIlNFTEVDVCBTVVNFUl9OQU1FKCkiKTt9ZnVuY3Rpb24KdGFibGVzX2xpc3QoKXtyZXR1cm4KZ2V0X2tleV92YWxzKCJTRUxFQ1QgbmFtZSwgdHlwZV9kZXNjIEZST00gc3lzLmFsbF9vYmplY3RzIFdIRVJFIHNjaGVtYV9pZCA9IFNDSEVNQV9JRCgiLnEoZ2V0X3NjaGVtYSgpKS4iKSBBTkQgdHlwZSBJTiAoJ1MnLCAnVScsICdWJykgT1JERVIgQlkgbmFtZSIpO31mdW5jdGlvbgpjb3VudF90YWJsZXMoJEEpe2dsb2JhbCRnOyRjPWFycmF5KCk7Zm9yZWFjaCgkQQphcyR0KXskZy0+c2VsZWN0X2RiKCR0KTskY1skdF09JGctPnJlc3VsdCgiU0VMRUNUIENPVU5UKCopIEZST00gSU5GT1JNQVRJT05fU0NIRU1BLlRBQkxFUyIpO31yZXR1cm4kYzt9ZnVuY3Rpb24KdGFibGVfc3RhdHVzKCRmPSIiKXskYz1hcnJheSgpO2ZvcmVhY2goZ2V0X3Jvd3MoIlNFTEVDVCBuYW1lIEFTIE5hbWUsIHR5cGVfZGVzYyBBUyBFbmdpbmUgRlJPTSBzeXMuYWxsX29iamVjdHMgV0hFUkUgc2NoZW1hX2lkID0gU0NIRU1BX0lEKCIucShnZXRfc2NoZW1hKCkpLiIpIEFORCB0eXBlIElOICgnUycsICdVJywgJ1YnKSIuKCRmIT0iIj8iIEFORCBuYW1lID0gIi5xKCRmKToiIikpYXMkYSl7aWYoJGYhPSIiKXtyZXR1cm4kYTt9JGNbJGFbIk5hbWUiXV09JGE7fXJldHVybiRjO31mdW5jdGlvbgppc192aWV3KCR2KXtyZXR1cm4kdlsiRW5naW5lIl09PSJWSUVXIjt9ZnVuY3Rpb24KZmtfc3VwcG9ydCgkdil7cmV0dXJuCnRydWU7fWZ1bmN0aW9uCmZpZWxkcygkaCl7JGM9YXJyYXkoKTtmb3JlYWNoKGdldF9yb3dzKCJTRUxFQ1QgYy4qLCB0Lm5hbWUgdHlwZSwgZC5kZWZpbml0aW9uIFtkZWZhdWx0XQpGUk9NIHN5cy5hbGxfY29sdW1ucyBjCkpPSU4gc3lzLmFsbF9vYmplY3RzIG8gT04gYy5vYmplY3RfaWQgPSBvLm9iamVjdF9pZApKT0lOIHN5cy50eXBlcyB0IE9OIGMudXNlcl90eXBlX2lkID0gdC51c2VyX3R5cGVfaWQKTEVGVCBKT0lOIHN5cy5kZWZhdWx0X2NvbnN0cmFpbnRzIGQgT04gYy5kZWZhdWx0X29iamVjdF9pZCA9IGQucGFyZW50X2NvbHVtbl9pZApXSEVSRSBvLnNjaGVtYV9pZCA9IFNDSEVNQV9JRCgiLnEoZ2V0X3NjaGVtYSgpKS4iKSBBTkQgby50eXBlIElOICgnUycsICdVJywgJ1YnKSBBTkQgby5uYW1lID0gIi5xKCRoKSlhcyRhKXskXz0kYVsidHlwZSJdOyRYPShlcmVnKCJjaGFyfGJpbmFyeSIsJF8pPyRhWyJtYXhfbGVuZ3RoIl06KCRfPT0iZGVjaW1hbCI/IiRhW3ByZWNpc2lvbl0sJGFbc2NhbGVdIjoiIikpOyRjWyRhWyJuYW1lIl1dPWFycmF5KCJmaWVsZCI9PiRhWyJuYW1lIl0sImZ1bGxfdHlwZSI9PiRfLigkWD8iKCRYKSI6IiIpLCJ0eXBlIj0+JF8sImxlbmd0aCI9PiRYLCJkZWZhdWx0Ij0+JGFbImRlZmF1bHQiXSwibnVsbCI9PiRhWyJpc19udWxsYWJsZSJdLCJhdXRvX2luY3JlbWVudCI9PiRhWyJpc19pZGVudGl0eSJdLCJjb2xsYXRpb24iPT4kYVsiY29sbGF0aW9uX25hbWUiXSwicHJpdmlsZWdlcyI9PmFycmF5KCJpbnNlcnQiPT4xLCJzZWxlY3QiPT4xLCJ1cGRhdGUiPT4xKSwicHJpbWFyeSI9PiRhWyJpc19pZGVudGl0eSJdLCk7fXJldHVybiRjO31mdW5jdGlvbgppbmRleGVzKCRoLCRHPW51bGwpeyRjPWFycmF5KCk7Zm9yZWFjaChnZXRfcm93cygiU0VMRUNUIGkubmFtZSwga2V5X29yZGluYWwsIGlzX3VuaXF1ZSwgaXNfcHJpbWFyeV9rZXksIGMubmFtZSBBUyBjb2x1bW5fbmFtZQpGUk9NIHN5cy5pbmRleGVzIGkKSU5ORVIgSk9JTiBzeXMuaW5kZXhfY29sdW1ucyBpYyBPTiBpLm9iamVjdF9pZCA9IGljLm9iamVjdF9pZCBBTkQgaS5pbmRleF9pZCA9IGljLmluZGV4X2lkCklOTkVSIEpPSU4gc3lzLmNvbHVtbnMgYyBPTiBpYy5vYmplY3RfaWQgPSBjLm9iamVjdF9pZCBBTkQgaWMuY29sdW1uX2lkID0gYy5jb2x1bW5faWQKV0hFUkUgT0JKRUNUX05BTUUoaS5vYmplY3RfaWQpID0gIi5xKCRoKSwkRylhcyRhKXskY1skYVsibmFtZSJdXVsidHlwZSJdPSgkYVsiaXNfcHJpbWFyeV9rZXkiXT8iUFJJTUFSWSI6KCRhWyJpc191bmlxdWUiXT8iVU5JUVVFIjoiSU5ERVgiKSk7JGNbJGFbIm5hbWUiXV1bImxlbmd0aHMiXT1hcnJheSgpOyRjWyRhWyJuYW1lIl1dWyJjb2x1bW5zIl1bJGFbImtleV9vcmRpbmFsIl1dPSRhWyJjb2x1bW5fbmFtZSJdO31yZXR1cm4kYzt9ZnVuY3Rpb24KdmlldygkZil7Z2xvYmFsJGc7cmV0dXJuCmFycmF5KCJzZWxlY3QiPT5wcmVnX3JlcGxhY2UoJ35eKD86W15bXXxcXFtbXl1dKl0pKlxccytBU1xccyt+aXNVJywnJywkZy0+cmVzdWx0KCJTRUxFQ1QgVklFV19ERUZJTklUSU9OIEZST00gSU5GT1JNQVRJT05fU0NIRU1BLlZJRVdTIFdIRVJFIFRBQkxFX1NDSEVNQSA9IFNDSEVNQV9OQU1FKCkgQU5EIFRBQkxFX05BTUUgPSAiLnEoJGYpKSkpO31mdW5jdGlvbgpjb2xsYXRpb25zKCl7JGM9YXJyYXkoKTtmb3JlYWNoKGdldF92YWxzKCJTRUxFQ1QgbmFtZSBGUk9NIGZuX2hlbHBjb2xsYXRpb25zKCkiKWFzJFUpeyRjW2VyZWdfcmVwbGFjZSgiXy4qIiwiIiwkVSldW109JFU7fXJldHVybiRjO31mdW5jdGlvbgppbmZvcm1hdGlvbl9zY2hlbWEoJHQpe3JldHVybgpmYWxzZTt9ZnVuY3Rpb24KZXJyb3IoKXtnbG9iYWwkZztyZXR1cm4KbmxfYnIoaChwcmVnX3JlcGxhY2UoJ35eKFxcW1teXV0qXSkrfm0nLCcnLCRnLT5lcnJvcikpKTt9ZnVuY3Rpb24KZXhhY3RfdmFsdWUoJGIpe3JldHVybgpxKCRiKTt9ZnVuY3Rpb24KY3JlYXRlX2RhdGFiYXNlKCR0LCRVKXtyZXR1cm4KcXVlcmllcygiQ1JFQVRFIERBVEFCQVNFICIuaWRmX2VzY2FwZSgkdCkuKGVyZWdpKCdeW2EtejAtOV9dKyQnLCRVKT8iIENPTExBVEUgJFUiOiIiKSk7fWZ1bmN0aW9uCmRyb3BfZGF0YWJhc2VzKCRBKXtyZXR1cm4KcXVlcmllcygiRFJPUCBEQVRBQkFTRSAiLmltcGxvZGUoIiwgIixhcnJheV9tYXAoJ2lkZl9lc2NhcGUnLCRBKSkpO31mdW5jdGlvbgpyZW5hbWVfZGF0YWJhc2UoJGYsJFUpe2lmKGVyZWdpKCdeW2EtejAtOV9dKyQnLCRVKSl7cXVlcmllcygiQUxURVIgREFUQUJBU0UgIi5pZGZfZXNjYXBlKERCKS4iIENPTExBVEUgJFUiKTt9cXVlcmllcygiQUxURVIgREFUQUJBU0UgIi5pZGZfZXNjYXBlKERCKS4iIE1PRElGWSBOQU1FID0gIi5pZGZfZXNjYXBlKCRmKSk7cmV0dXJuCnRydWU7fWZ1bmN0aW9uCmF1dG9faW5jcmVtZW50KCl7cmV0dXJuIiBJREVOVElUWSIuKCRfUE9TVFsiQXV0b19pbmNyZW1lbnQiXSE9IiI/IigiLigrJF9QT1NUWyJBdXRvX2luY3JlbWVudCJdKS4iLDEpIjoiIikuIiBQUklNQVJZIEtFWSI7fWZ1bmN0aW9uCmFsdGVyX3RhYmxlKCRoLCRmLCRwLCRQYSwkQWEsJF9iLCRVLCRUYSwkemIpeyR3PWFycmF5KCk7Zm9yZWFjaCgkcAphcyRlKXskRD1pZGZfZXNjYXBlKCRlWzBdKTskYj0kZVsxXTtpZighJGIpeyR3WyJEUk9QIl1bXT0iIENPTFVNTiAkRCI7fWVsc2V7JGJbMV09cHJlZ19yZXBsYWNlKCJ+KCBDT0xMQVRFICknKFxcdyspJ34iLCJcXDFcXDIiLCRiWzFdKTtpZigkZVswXT09IiIpeyR3WyJBREQiXVtdPSJcbiAgIi5pbXBsb2RlKCIiLCRiKS4oJGg9PSIiP3N1YnN0cigkUGFbJGJbMF1dLDE2K3N0cmxlbigkYlswXSkpOiIiKTt9ZWxzZXt1bnNldCgkYls2XSk7aWYoJEQhPSRiWzBdKXtxdWVyaWVzKCJFWEVDIHNwX3JlbmFtZSAiLnEodGFibGUoJGgpLiIuJEQiKS4iLCAiLnEoaWRmX3VuZXNjYXBlKCRiWzBdKSkuIiwgJ0NPTFVNTiciKTt9JHdbIkFMVEVSIENPTFVNTiAiLmltcGxvZGUoIiIsJGIpXVtdPSIiO319fWlmKCRoPT0iIil7cmV0dXJuCnF1ZXJpZXMoIkNSRUFURSBUQUJMRSAiLnRhYmxlKCRmKS4iICgiLmltcGxvZGUoIiwiLChhcnJheSkkd1siQUREIl0pLiJcbikiKTt9aWYoJGghPSRmKXtxdWVyaWVzKCJFWEVDIHNwX3JlbmFtZSAiLnEodGFibGUoJGgpKS4iLCAiLnEoJGYpKTt9aWYoJFBhKXskd1siIl09JFBhO31mb3JlYWNoKCR3CmFzJGQ9PiRiKXtpZighcXVlcmllcygiQUxURVIgVEFCTEUgIi5pZGZfZXNjYXBlKCRmKS4iICRkIi5pbXBsb2RlKCIsIiwkYikpKXtyZXR1cm4KZmFsc2U7fX1yZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24KYWx0ZXJfaW5kZXhlcygkaCwkdyl7JHg9YXJyYXkoKTskRmE9YXJyYXkoKTtmb3JlYWNoKCR3CmFzJGIpe2lmKCRiWzJdPT0iRFJPUCIpe2lmKCRiWzBdPT0iUFJJTUFSWSIpeyRGYVtdPWlkZl9lc2NhcGUoJGJbMV0pO31lbHNleyR4W109aWRmX2VzY2FwZSgkYlsxXSkuIiBPTiAiLnRhYmxlKCRoKTt9fWVsc2VpZighcXVlcmllcygoJGJbMF0hPSJQUklNQVJZIj8iQ1JFQVRFICRiWzBdICIuKCRiWzBdIT0iSU5ERVgiPyJJTkRFWCAiOiIiKS5pZGZfZXNjYXBlKCRiWzFdIT0iIj8kYlsxXTp1bmlxaWQoJGguIl8iKSkuIiBPTiAiLnRhYmxlKCRoKToiQUxURVIgVEFCTEUgIi50YWJsZSgkaCkuIiBBREQgUFJJTUFSWSBLRVkiKS4iICRiWzJdIikpe3JldHVybgpmYWxzZTt9fXJldHVybighJHh8fHF1ZXJpZXMoIkRST1AgSU5ERVggIi5pbXBsb2RlKCIsICIsJHgpKSkmJighJEZhfHxxdWVyaWVzKCJBTFRFUiBUQUJMRSAiLnRhYmxlKCRoKS4iIERST1AgIi5pbXBsb2RlKCIsICIsJEZhKSkpO31mdW5jdGlvbgpiZWdpbigpe3JldHVybgpxdWVyaWVzKCJCRUdJTiBUUkFOU0FDVElPTiIpO31mdW5jdGlvbgppbnNlcnRfaW50bygkaCwkcyl7cmV0dXJuCnF1ZXJpZXMoIklOU0VSVCBJTlRPICIudGFibGUoJGgpLigkcz8iICgiLmltcGxvZGUoIiwgIixhcnJheV9rZXlzKCRzKSkuIilcblZBTFVFUyAoIi5pbXBsb2RlKCIsICIsJHMpLiIpIjoiREVGQVVMVCBWQUxVRVMiKSk7fWZ1bmN0aW9uCmluc2VydF91cGRhdGUoJGgsJHMsJE5hKXskc2E9YXJyYXkoKTskcj1hcnJheSgpO2ZvcmVhY2goJHMKYXMkZD0+JGIpeyRzYVtdPSIkZCA9ICRiIjtpZihpc3NldCgkTmFbaWRmX3VuZXNjYXBlKCRkKV0pKXskcltdPSIkZCA9ICRiIjt9fXJldHVybgpxdWVyaWVzKCJNRVJHRSAiLnRhYmxlKCRoKS4iIFVTSU5HIChWQUxVRVMoIi5pbXBsb2RlKCIsICIsJHMpLiIpKSBBUyBzb3VyY2UgKGMiLmltcGxvZGUoIiwgYyIscmFuZ2UoMSxjb3VudCgkcykpKS4iKSBPTiAiLmltcGxvZGUoIiBBTkQgIiwkcikuIiBXSEVOIE1BVENIRUQgVEhFTiBVUERBVEUgU0VUICIuaW1wbG9kZSgiLCAiLCRzYSkuIiBXSEVOIE5PVCBNQVRDSEVEIFRIRU4gSU5TRVJUICgiLmltcGxvZGUoIiwgIixhcnJheV9rZXlzKCRzKSkuIikgVkFMVUVTICgiLmltcGxvZGUoIiwgIiwkcykuIik7Iik7fWZ1bmN0aW9uCmxhc3RfaWQoKXtnbG9iYWwkZztyZXR1cm4kZy0+cmVzdWx0KCJTRUxFQ1QgU0NPUEVfSURFTlRJVFkoKSIpO31mdW5jdGlvbgpleHBsYWluKCRnLCRpKXskZy0+cXVlcnkoIlNFVCBTSE9XUExBTl9BTEwgT04iKTskYz0kZy0+cXVlcnkoJGkpOyRnLT5xdWVyeSgiU0VUIFNIT1dQTEFOX0FMTCBPRkYiKTtyZXR1cm4kYzt9ZnVuY3Rpb24KZm91bmRfcm93cygkdiwkcil7fWZ1bmN0aW9uCmZvcmVpZ25fa2V5cygkaCl7JGM9YXJyYXkoKTtmb3JlYWNoKGdldF9yb3dzKCJFWEVDIHNwX2ZrZXlzIEBma3RhYmxlX25hbWUgPSAiLnEoJGgpKWFzJGEpeyRDPSYkY1skYVsiRktfTkFNRSJdXTskQ1sidGFibGUiXT0kYVsiUEtUQUJMRV9OQU1FIl07JENbInNvdXJjZSJdW109JGFbIkZLQ09MVU1OX05BTUUiXTskQ1sidGFyZ2V0Il1bXT0kYVsiUEtDT0xVTU5fTkFNRSJdO31yZXR1cm4kYzt9ZnVuY3Rpb24KdHJ1bmNhdGVfdGFibGVzKCRFKXtyZXR1cm4KYXBwbHlfcXVlcmllcygiVFJVTkNBVEUgVEFCTEUiLCRFKTt9ZnVuY3Rpb24KZHJvcF92aWV3cygkWSl7cmV0dXJuCnF1ZXJpZXMoIkRST1AgVklFVyAiLmltcGxvZGUoIiwgIixhcnJheV9tYXAoJ3RhYmxlJywkWSkpKTt9ZnVuY3Rpb24KZHJvcF90YWJsZXMoJEUpe3JldHVybgpxdWVyaWVzKCJEUk9QIFRBQkxFICIuaW1wbG9kZSgiLCAiLGFycmF5X21hcCgndGFibGUnLCRFKSkpO31mdW5jdGlvbgptb3ZlX3RhYmxlcygkRSwkWSwkaGEpe3JldHVybgphcHBseV9xdWVyaWVzKCJBTFRFUiBTQ0hFTUEgIi5pZGZfZXNjYXBlKCRoYSkuIiBUUkFOU0ZFUiIsYXJyYXlfbWVyZ2UoJEUsJFkpKTt9ZnVuY3Rpb24KdHJpZ2dlcigkZil7JEg9Z2V0X3Jvd3MoIlNFTEVDVCBzLm5hbWUgW1RyaWdnZXJdLApDQVNFIFdIRU4gT0JKRUNUUFJPUEVSVFkocy5pZCwgJ0V4ZWNJc0luc2VydFRyaWdnZXInKSA9IDEgVEhFTiAnSU5TRVJUJyBXSEVOIE9CSkVDVFBST1BFUlRZKHMuaWQsICdFeGVjSXNVcGRhdGVUcmlnZ2VyJykgPSAxIFRIRU4gJ1VQREFURScgV0hFTiBPQkpFQ1RQUk9QRVJUWShzLmlkLCAnRXhlY0lzRGVsZXRlVHJpZ2dlcicpID0gMSBUSEVOICdERUxFVEUnIEVORCBbRXZlbnRdLApDQVNFIFdIRU4gT0JKRUNUUFJPUEVSVFkocy5pZCwgJ0V4ZWNJc0luc3RlYWRPZlRyaWdnZXInKSA9IDEgVEhFTiAnSU5TVEVBRCBPRicgRUxTRSAnQUZURVInIEVORCBbVGltaW5nXSwKYy50ZXh0CkZST00gc3lzb2JqZWN0cyBzCkpPSU4gc3lzY29tbWVudHMgYyBPTiBzLmlkID0gYy5pZApXSEVSRSBzLnh0eXBlID0gJ1RSJyBBTkQgcy5uYW1lID0gIi5xKCRmKSk7JGM9cmVzZXQoJEgpO2lmKCRjKXskY1siU3RhdGVtZW50Il09cHJlZ19yZXBsYWNlKCd+Xi4rXFxzK0FTXFxzK35pc1UnLCcnLCRjWyJ0ZXh0Il0pO31yZXR1cm4kYzt9ZnVuY3Rpb24KdHJpZ2dlcnMoJGgpeyRjPWFycmF5KCk7Zm9yZWFjaChnZXRfcm93cygiU0VMRUNUIHN5czEubmFtZSwKQ0FTRSBXSEVOIE9CSkVDVFBST1BFUlRZKHN5czEuaWQsICdFeGVjSXNJbnNlcnRUcmlnZ2VyJykgPSAxIFRIRU4gJ0lOU0VSVCcgV0hFTiBPQkpFQ1RQUk9QRVJUWShzeXMxLmlkLCAnRXhlY0lzVXBkYXRlVHJpZ2dlcicpID0gMSBUSEVOICdVUERBVEUnIFdIRU4gT0JKRUNUUFJPUEVSVFkoc3lzMS5pZCwgJ0V4ZWNJc0RlbGV0ZVRyaWdnZXInKSA9IDEgVEhFTiAnREVMRVRFJyBFTkQgW0V2ZW50XSwKQ0FTRSBXSEVOIE9CSkVDVFBST1BFUlRZKHN5czEuaWQsICdFeGVjSXNJbnN0ZWFkT2ZUcmlnZ2VyJykgPSAxIFRIRU4gJ0lOU1RFQUQgT0YnIEVMU0UgJ0FGVEVSJyBFTkQgW1RpbWluZ10KRlJPTSBzeXNvYmplY3RzIHN5czEKSk9JTiBzeXNvYmplY3RzIHN5czIgT04gc3lzMS5wYXJlbnRfb2JqID0gc3lzMi5pZApXSEVSRSBzeXMxLnh0eXBlID0gJ1RSJyBBTkQgc3lzMi5uYW1lID0gIi5xKCRoKSlhcyRhKXskY1skYVsibmFtZSJdXT1hcnJheSgkYVsiVGltaW5nIl0sJGFbIkV2ZW50Il0pO31yZXR1cm4kYzt9ZnVuY3Rpb24KdHJpZ2dlcl9vcHRpb25zKCl7cmV0dXJuCmFycmF5KCJUaW1pbmciPT5hcnJheSgiQUZURVIiLCJJTlNURUFEIE9GIiksIlR5cGUiPT5hcnJheSgiQVMiKSwpO31mdW5jdGlvbgpzY2hlbWFzKCl7cmV0dXJuCmdldF92YWxzKCJTRUxFQ1QgbmFtZSBGUk9NIHN5cy5zY2hlbWFzIik7fWZ1bmN0aW9uCmdldF9zY2hlbWEoKXtnbG9iYWwkZztpZigkX0dFVFsibnMiXSE9IiIpe3JldHVybiRfR0VUWyJucyJdO31yZXR1cm4kZy0+cmVzdWx0KCJTRUxFQ1QgU0NIRU1BX05BTUUoKSIpO31mdW5jdGlvbgpzZXRfc2NoZW1hKCRSYSl7cmV0dXJuCnRydWU7fWZ1bmN0aW9uCnVzZV9zcWwoJGZhKXtyZXR1cm4iVVNFICIuaWRmX2VzY2FwZSgkZmEpO31mdW5jdGlvbgpzaG93X3ZhcmlhYmxlcygpe3JldHVybgphcnJheSgpO31mdW5jdGlvbgpzaG93X3N0YXR1cygpe3JldHVybgphcnJheSgpO31mdW5jdGlvbgpzdXBwb3J0KCR4Yil7cmV0dXJuCmVyZWcoJ14oc2NoZW1lfHRyaWdnZXJ8dmlld3xkcm9wX2NvbCkkJywkeGIpO30kdT0ibXNzcWwiOyRSPWFycmF5KCk7JFNhPWFycmF5KCk7Zm9yZWFjaChhcnJheShsYW5nKDEyKT0+YXJyYXkoInRpbnlpbnQiPT4zLCJzbWFsbGludCI9PjUsImludCI9PjEwLCJiaWdpbnQiPT4yMCwiYml0Ij0+MSwiZGVjaW1hbCI9PjAsInJlYWwiPT4xMiwiZmxvYXQiPT41Mywic21hbGxtb25leSI9PjEwLCJtb25leSI9PjIwKSxsYW5nKDEzKT0+YXJyYXkoImRhdGUiPT4xMCwic21hbGxkYXRldGltZSI9PjE5LCJkYXRldGltZSI9PjE5LCJkYXRldGltZTIiPT4xOSwidGltZSI9PjgsImRhdGV0aW1lb2Zmc2V0Ij0+MTApLGxhbmcoMTQpPT5hcnJheSgiY2hhciI9PjgwMDAsInZhcmNoYXIiPT44MDAwLCJ0ZXh0Ij0+MjE0NzQ4MzY0NywibmNoYXIiPT40MDAwLCJudmFyY2hhciI9PjQwMDAsIm50ZXh0Ij0+MTA3Mzc0MTgyMyksbGFuZygxNSk9PmFycmF5KCJiaW5hcnkiPT44MDAwLCJ2YXJiaW5hcnkiPT44MDAwLCJpbWFnZSI9PjIxNDc0ODM2NDcpLClhcyRkPT4kYil7JFIrPSRiOyRTYVskZF09YXJyYXlfa2V5cygkYik7fSRtYj1hcnJheSgpOyRqYz1hcnJheSgiPSIsIjwiLCI+IiwiPD0iLCI+PSIsIiE9IiwiTElLRSIsIkxJS0UgJSUiLCJJTiIsIklTIE5VTEwiLCJOT1QgTElLRSIsIk5PVCBJTiIsIklTIE5PVCBOVUxMIiwiIik7JGNhPWFycmF5KCJsZW4iLCJsb3dlciIsInJvdW5kIiwidXBwZXIiKTskcWI9YXJyYXkoImF2ZyIsImNvdW50IiwiY291bnQgZGlzdGluY3QiLCJtYXgiLCJtaW4iLCJzdW0iKTskSWI9YXJyYXkoYXJyYXkoImRhdGV8dGltZSI9PiJnZXRkYXRlIiwpLGFycmF5KCJpbnR8ZGVjaW1hbHxyZWFsfGZsb2F0fG1vbmV5fGRhdGV0aW1lIj0+IisvLSIsImNoYXJ8dGV4dCI9PiIrIiwpKTt9JG9hPWFycmF5KCJzZXJ2ZXIiPT4iTXlTUUwiKSskb2E7aWYoIWRlZmluZWQoIkRSSVZFUiIpKXskbGM9YXJyYXkoIk15U1FMaSIsIk15U1FMIiwiUERPX015U1FMIik7ZGVmaW5lKCJEUklWRVIiLCJzZXJ2ZXIiKTtpZihleHRlbnNpb25fbG9hZGVkKCJteXNxbGkiKSl7Y2xhc3MKTWluX0RCCmV4dGVuZHMKTXlTUUxpe3ZhciRleHRlbnNpb249Ik15U1FMaSI7ZnVuY3Rpb24KTWluX0RCKCl7cGFyZW50Ojppbml0KCk7fWZ1bmN0aW9uCmNvbm5lY3QoJEYsJFEsJFQpe215c3FsaV9yZXBvcnQoTVlTUUxJX1JFUE9SVF9PRkYpO2xpc3QoJEJmLCRPYyk9ZXhwbG9kZSgiOiIsJEYsMik7JGM9QCR0aGlzLT5yZWFsX2Nvbm5lY3QoKCRGIT0iIj8kQmY6aW5pX2dldCgibXlzcWxpLmRlZmF1bHRfaG9zdCIpKSwoJEYuJFEhPSIiPyRROmluaV9nZXQoIm15c3FsaS5kZWZhdWx0X3VzZXIiKSksKCRGLiRRLiRUIT0iIj8kVDppbmlfZ2V0KCJteXNxbGkuZGVmYXVsdF9wdyIpKSxudWxsLChpc19udW1lcmljKCRPYyk/JE9jOmluaV9nZXQoIm15c3FsaS5kZWZhdWx0X3BvcnQiKSksKCFpc19udW1lcmljKCRPYyk/JE9jOm51bGwpKTtpZigkYyl7aWYobWV0aG9kX2V4aXN0cygkdGhpcywnc2V0X2NoYXJzZXQnKSl7JHRoaXMtPnNldF9jaGFyc2V0KCJ1dGY4Iik7fWVsc2V7JHRoaXMtPnF1ZXJ5KCJTRVQgTkFNRVMgdXRmOCIpO319cmV0dXJuJGM7fWZ1bmN0aW9uCnJlc3VsdCgkaSwkZT0wKXskaj0kdGhpcy0+cXVlcnkoJGkpO2lmKCEkail7cmV0dXJuCmZhbHNlO30kYT0kai0+ZmV0Y2hfYXJyYXkoKTtyZXR1cm4kYVskZV07fWZ1bmN0aW9uCnF1b3RlKCRJKXtyZXR1cm4iJyIuJHRoaXMtPmVzY2FwZV9zdHJpbmcoJEkpLiInIjt9fX1lbHNlaWYoZXh0ZW5zaW9uX2xvYWRlZCgibXlzcWwiKSl7Y2xhc3MKTWluX0RCe3ZhciRleHRlbnNpb249Ik15U1FMIiwkc2VydmVyX2luZm8sJGFmZmVjdGVkX3Jvd3MsJGVycm9yLCRfbGluaywkX3Jlc3VsdDtmdW5jdGlvbgpjb25uZWN0KCRGLCRRLCRUKXskdGhpcy0+X2xpbms9QG15c3FsX2Nvbm5lY3QoKCRGIT0iIj8kRjppbmlfZ2V0KCJteXNxbC5kZWZhdWx0X2hvc3QiKSksKCIkRiRRIiE9IiI/JFE6aW5pX2dldCgibXlzcWwuZGVmYXVsdF91c2VyIikpLCgiJEYkUSRUIiE9IiI/JFQ6aW5pX2dldCgibXlzcWwuZGVmYXVsdF9wYXNzd29yZCIpKSx0cnVlLDEzMTA3Mik7aWYoJHRoaXMtPl9saW5rKXskdGhpcy0+c2VydmVyX2luZm89bXlzcWxfZ2V0X3NlcnZlcl9pbmZvKCR0aGlzLT5fbGluayk7aWYoZnVuY3Rpb25fZXhpc3RzKCdteXNxbF9zZXRfY2hhcnNldCcpKXtteXNxbF9zZXRfY2hhcnNldCgidXRmOCIsJHRoaXMtPl9saW5rKTt9ZWxzZXskdGhpcy0+cXVlcnkoIlNFVCBOQU1FUyB1dGY4Iik7fX1lbHNleyR0aGlzLT5lcnJvcj1teXNxbF9lcnJvcigpO31yZXR1cm4oYm9vbCkkdGhpcy0+X2xpbms7fWZ1bmN0aW9uCnF1b3RlKCRJKXtyZXR1cm4iJyIubXlzcWxfcmVhbF9lc2NhcGVfc3RyaW5nKCRJLCR0aGlzLT5fbGluaykuIiciO31mdW5jdGlvbgpzZWxlY3RfZGIoJGZhKXtyZXR1cm4KbXlzcWxfc2VsZWN0X2RiKCRmYSwkdGhpcy0+X2xpbmspO31mdW5jdGlvbgpxdWVyeSgkaSwkZWI9ZmFsc2UpeyRqPUAoJGViP215c3FsX3VuYnVmZmVyZWRfcXVlcnkoJGksJHRoaXMtPl9saW5rKTpteXNxbF9xdWVyeSgkaSwkdGhpcy0+X2xpbmspKTtpZighJGopeyR0aGlzLT5lcnJvcj1teXNxbF9lcnJvcigkdGhpcy0+X2xpbmspO3JldHVybgpmYWxzZTt9aWYoJGo9PT10cnVlKXskdGhpcy0+YWZmZWN0ZWRfcm93cz1teXNxbF9hZmZlY3RlZF9yb3dzKCR0aGlzLT5fbGluayk7JHRoaXMtPmluZm89bXlzcWxfaW5mbygkdGhpcy0+X2xpbmspO3JldHVybgp0cnVlO31yZXR1cm4KbmV3Ck1pbl9SZXN1bHQoJGopO31mdW5jdGlvbgptdWx0aV9xdWVyeSgkaSl7cmV0dXJuJHRoaXMtPl9yZXN1bHQ9JHRoaXMtPnF1ZXJ5KCRpKTt9ZnVuY3Rpb24Kc3RvcmVfcmVzdWx0KCl7cmV0dXJuJHRoaXMtPl9yZXN1bHQ7fWZ1bmN0aW9uCm5leHRfcmVzdWx0KCl7cmV0dXJuCmZhbHNlO31mdW5jdGlvbgpyZXN1bHQoJGksJGU9MCl7JGo9JHRoaXMtPnF1ZXJ5KCRpKTtpZighJGp8fCEkai0+bnVtX3Jvd3Mpe3JldHVybgpmYWxzZTt9cmV0dXJuCm15c3FsX3Jlc3VsdCgkai0+X3Jlc3VsdCwwLCRlKTt9fWNsYXNzCk1pbl9SZXN1bHR7dmFyJG51bV9yb3dzLCRfcmVzdWx0LCRfb2Zmc2V0PTA7ZnVuY3Rpb24KTWluX1Jlc3VsdCgkail7JHRoaXMtPl9yZXN1bHQ9JGo7JHRoaXMtPm51bV9yb3dzPW15c3FsX251bV9yb3dzKCRqKTt9ZnVuY3Rpb24KZmV0Y2hfYXNzb2MoKXtyZXR1cm4KbXlzcWxfZmV0Y2hfYXNzb2MoJHRoaXMtPl9yZXN1bHQpO31mdW5jdGlvbgpmZXRjaF9yb3coKXtyZXR1cm4KbXlzcWxfZmV0Y2hfcm93KCR0aGlzLT5fcmVzdWx0KTt9ZnVuY3Rpb24KZmV0Y2hfZmllbGQoKXskYz1teXNxbF9mZXRjaF9maWVsZCgkdGhpcy0+X3Jlc3VsdCwkdGhpcy0+X29mZnNldCsrKTskYy0+b3JndGFibGU9JGMtPnRhYmxlOyRjLT5vcmduYW1lPSRjLT5uYW1lOyRjLT5jaGFyc2V0bnI9KCRjLT5ibG9iPzYzOjApO3JldHVybiRjO31mdW5jdGlvbgpfX2Rlc3RydWN0KCl7bXlzcWxfZnJlZV9yZXN1bHQoJHRoaXMtPl9yZXN1bHQpO319fWVsc2VpZihleHRlbnNpb25fbG9hZGVkKCJwZG9fbXlzcWwiKSl7Y2xhc3MKTWluX0RCCmV4dGVuZHMKTWluX1BET3t2YXIkZXh0ZW5zaW9uPSJQRE9fTXlTUUwiO2Z1bmN0aW9uCmNvbm5lY3QoJEYsJFEsJFQpeyR0aGlzLT5kc24oIm15c3FsOmhvc3Q9Ii5zdHJfcmVwbGFjZSgiOiIsIjt1bml4X3NvY2tldD0iLHByZWdfcmVwbGFjZSgnfjooXFxkKX4nLCc7cG9ydD1cXDEnLCRGKSksJFEsJFQpOyR0aGlzLT5xdWVyeSgiU0VUIE5BTUVTIHV0ZjgiKTtyZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24Kc2VsZWN0X2RiKCRmYSl7cmV0dXJuJHRoaXMtPnF1ZXJ5KCJVU0UgIi5pZGZfZXNjYXBlKCRmYSkpO31mdW5jdGlvbgpxdWVyeSgkaSwkZWI9ZmFsc2UpeyR0aGlzLT5zZXRBdHRyaWJ1dGUoMTAwMCwhJGViKTtyZXR1cm4KcGFyZW50OjpxdWVyeSgkaSwkZWIpO319fWZ1bmN0aW9uCmlkZl9lc2NhcGUoJFApe3JldHVybiJgIi5zdHJfcmVwbGFjZSgiYCIsImBgIiwkUCkuImAiO31mdW5jdGlvbgp0YWJsZSgkUCl7cmV0dXJuCmlkZl9lc2NhcGUoJFApO31mdW5jdGlvbgpjb25uZWN0KCl7Z2xvYmFsJG87JGc9bmV3Ck1pbl9EQjskRWE9JG8tPmNyZWRlbnRpYWxzKCk7aWYoJGctPmNvbm5lY3QoJEVhWzBdLCRFYVsxXSwkRWFbMl0pKXskZy0+cXVlcnkoIlNFVCBzcWxfcXVvdGVfc2hvd19jcmVhdGUgPSAxIik7cmV0dXJuJGc7fXJldHVybiRnLT5lcnJvcjt9ZnVuY3Rpb24KZ2V0X2RhdGFiYXNlcygkQWY9dHJ1ZSl7Z2xvYmFsJGc7JGM9JmdldF9zZXNzaW9uKCJkYnMiKTtpZighaXNzZXQoJGMpKXtpZigkQWYpe3Jlc3RhcnRfc2Vzc2lvbigpO29iX2ZsdXNoKCk7Zmx1c2goKTt9JGM9Z2V0X3ZhbHMoJGctPnNlcnZlcl9pbmZvPj01PyJTRUxFQ1QgU0NIRU1BX05BTUUgRlJPTSBpbmZvcm1hdGlvbl9zY2hlbWEuU0NIRU1BVEEiOiJTSE9XIERBVEFCQVNFUyIpO31yZXR1cm4kYzt9ZnVuY3Rpb24KbGltaXQoJGksJHIsJE0sJEw9MCwkZ2I9IiAiKXtyZXR1cm4iICRpJHIiLihpc3NldCgkTSk/JGdiLiJMSU1JVCAkTSIuKCRMPyIgT0ZGU0VUICRMIjoiIik6IiIpO31mdW5jdGlvbgpsaW1pdDEoJGksJHIpe3JldHVybgpsaW1pdCgkaSwkciwxKTt9ZnVuY3Rpb24KZGJfY29sbGF0aW9uKCR0LCRhYSl7Z2xvYmFsJGc7JGM9bnVsbDska2E9JGctPnJlc3VsdCgiU0hPVyBDUkVBVEUgREFUQUJBU0UgIi5pZGZfZXNjYXBlKCR0KSwxKTtpZihwcmVnX21hdGNoKCd+IENPTExBVEUgKFteIF0rKX4nLCRrYSwkaykpeyRjPSRrWzFdO31lbHNlaWYocHJlZ19tYXRjaCgnfiBDSEFSQUNURVIgU0VUIChbXiBdKyl+Jywka2EsJGspKXskYz0kYWFbJGtbMV1dWy0xXTt9cmV0dXJuJGM7fWZ1bmN0aW9uCmVuZ2luZXMoKXskYz1hcnJheSgpO2ZvcmVhY2goZ2V0X3Jvd3MoIlNIT1cgRU5HSU5FUyIpYXMkYSl7aWYoZXJlZygiWUVTfERFRkFVTFQiLCRhWyJTdXBwb3J0Il0pKXskY1tdPSRhWyJFbmdpbmUiXTt9fXJldHVybiRjO31mdW5jdGlvbgpsb2dnZWRfdXNlcigpe2dsb2JhbCRnO3JldHVybiRnLT5yZXN1bHQoIlNFTEVDVCBVU0VSKCkiKTt9ZnVuY3Rpb24KdGFibGVzX2xpc3QoKXtnbG9iYWwkZztyZXR1cm4KZ2V0X2tleV92YWxzKCJTSE9XIi4oJGctPnNlcnZlcl9pbmZvPj01PyIgRlVMTCI6IiIpLiIgVEFCTEVTIik7fWZ1bmN0aW9uCmNvdW50X3RhYmxlcygkQSl7JGM9YXJyYXkoKTtmb3JlYWNoKCRBCmFzJHQpeyRjWyR0XT1jb3VudChnZXRfdmFscygiU0hPVyBUQUJMRVMgSU4gIi5pZGZfZXNjYXBlKCR0KSkpO31yZXR1cm4kYzt9ZnVuY3Rpb24KdGFibGVfc3RhdHVzKCRmPSIiKXskYz1hcnJheSgpO2ZvcmVhY2goZ2V0X3Jvd3MoIlNIT1cgVEFCTEUgU1RBVFVTIi4oJGYhPSIiPyIgTElLRSAiLnEoYWRkY3NsYXNoZXMoJGYsIiVfIikpOiIiKSlhcyRhKXtpZigkYVsiRW5naW5lIl09PSJJbm5vREIiKXskYVsiQ29tbWVudCJdPXByZWdfcmVwbGFjZSgnfig/OiguKyk7ICk/SW5ub0RCIGZyZWU6IC4qficsJ1xcMScsJGFbIkNvbW1lbnQiXSk7fWlmKCFpc3NldCgkYVsiUm93cyJdKSl7JGFbIkNvbW1lbnQiXT0iIjt9aWYoJGYhPSIiKXtyZXR1cm4kYTt9JGNbJGFbIk5hbWUiXV09JGE7fXJldHVybiRjO31mdW5jdGlvbgppc192aWV3KCR2KXtyZXR1cm4haXNzZXQoJHZbIlJvd3MiXSk7fWZ1bmN0aW9uCmZrX3N1cHBvcnQoJHYpe3JldHVybgplcmVnaSgiSW5ub0RCfElCTURCMkkiLCR2WyJFbmdpbmUiXSk7fWZ1bmN0aW9uCmZpZWxkcygkaCl7JGM9YXJyYXkoKTtmb3JlYWNoKGdldF9yb3dzKCJTSE9XIEZVTEwgQ09MVU1OUyBGUk9NICIudGFibGUoJGgpKWFzJGEpe3ByZWdfbWF0Y2goJ35eKFteKCBdKykoPzpcXCgoLispXFwpKT8oIHVuc2lnbmVkKT8oIHplcm9maWxsKT8kficsJGFbIlR5cGUiXSwkayk7JGNbJGFbIkZpZWxkIl1dPWFycmF5KCJmaWVsZCI9PiRhWyJGaWVsZCJdLCJmdWxsX3R5cGUiPT4kYVsiVHlwZSJdLCJ0eXBlIj0+JGtbMV0sImxlbmd0aCI9PiRrWzJdLCJ1bnNpZ25lZCI9Pmx0cmltKCRrWzNdLiRrWzRdKSwiZGVmYXVsdCI9PigkYVsiRGVmYXVsdCJdIT0iInx8ZXJlZygiY2hhciIsJGtbMV0pPyRhWyJEZWZhdWx0Il06bnVsbCksIm51bGwiPT4oJGFbIk51bGwiXT09IllFUyIpLCJhdXRvX2luY3JlbWVudCI9PigkYVsiRXh0cmEiXT09ImF1dG9faW5jcmVtZW50IiksIm9uX3VwZGF0ZSI9PihlcmVnaSgnXm9uIHVwZGF0ZSAoLispJywkYVsiRXh0cmEiXSwkayk/JGtbMV06IiIpLCJjb2xsYXRpb24iPT4kYVsiQ29sbGF0aW9uIl0sInByaXZpbGVnZXMiPT5hcnJheV9mbGlwKGV4cGxvZGUoIiwiLCRhWyJQcml2aWxlZ2VzIl0pKSwiY29tbWVudCI9PiRhWyJDb21tZW50Il0sInByaW1hcnkiPT4oJGFbIktleSJdPT0iUFJJIiksKTt9cmV0dXJuJGM7fWZ1bmN0aW9uCmluZGV4ZXMoJGgsJEc9bnVsbCl7JGM9YXJyYXkoKTtmb3JlYWNoKGdldF9yb3dzKCJTSE9XIElOREVYIEZST00gIi50YWJsZSgkaCksJEcpYXMkYSl7JGNbJGFbIktleV9uYW1lIl1dWyJ0eXBlIl09KCRhWyJLZXlfbmFtZSJdPT0iUFJJTUFSWSI/IlBSSU1BUlkiOigkYVsiSW5kZXhfdHlwZSJdPT0iRlVMTFRFWFQiPyJGVUxMVEVYVCI6KCRhWyJOb25fdW5pcXVlIl0/IklOREVYIjoiVU5JUVVFIikpKTskY1skYVsiS2V5X25hbWUiXV1bImNvbHVtbnMiXVtdPSRhWyJDb2x1bW5fbmFtZSJdOyRjWyRhWyJLZXlfbmFtZSJdXVsibGVuZ3RocyJdW109JGFbIlN1Yl9wYXJ0Il07fXJldHVybiRjO31mdW5jdGlvbgpmb3JlaWduX2tleXMoJGgpe2dsb2JhbCRnLCRJYTtzdGF0aWMkZGE9J2AoPzpbXmBdfGBgKStgJzskYz1hcnJheSgpOyROZT0kZy0+cmVzdWx0KCJTSE9XIENSRUFURSBUQUJMRSAiLnRhYmxlKCRoKSwxKTtpZigkTmUpe3ByZWdfbWF0Y2hfYWxsKCJ+Q09OU1RSQUlOVCAoJGRhKSBGT1JFSUdOIEtFWSBcXCgoKD86JGRhLD8gPykrKVxcKSBSRUZFUkVOQ0VTICgkZGEpKD86XFwuKCRkYSkpPyBcXCgoKD86JGRhLD8gPykrKVxcKSg/OiBPTiBERUxFVEUgKCRJYSkpPyg/OiBPTiBVUERBVEUgKCRJYSkpP34iLCROZSwkdGEsUFJFR19TRVRfT1JERVIpO2ZvcmVhY2goJHRhCmFzJGspe3ByZWdfbWF0Y2hfYWxsKCJ+JGRhfiIsJGtbMl0sJEhhKTtwcmVnX21hdGNoX2FsbCgifiRkYX4iLCRrWzVdLCRoYSk7JGNbaWRmX3VuZXNjYXBlKCRrWzFdKV09YXJyYXkoImRiIj0+aWRmX3VuZXNjYXBlKCRrWzRdIT0iIj8ka1szXToka1s0XSksInRhYmxlIj0+aWRmX3VuZXNjYXBlKCRrWzRdIT0iIj8ka1s0XToka1szXSksInNvdXJjZSI9PmFycmF5X21hcCgnaWRmX3VuZXNjYXBlJywkSGFbMF0pLCJ0YXJnZXQiPT5hcnJheV9tYXAoJ2lkZl91bmVzY2FwZScsJGhhWzBdKSwib25fZGVsZXRlIj0+JGtbNl0sIm9uX3VwZGF0ZSI9PiRrWzddLCk7fX1yZXR1cm4kYzt9ZnVuY3Rpb24KdmlldygkZil7Z2xvYmFsJGc7cmV0dXJuCmFycmF5KCJzZWxlY3QiPT5wcmVnX3JlcGxhY2UoJ35eKD86W15gXXxgW15gXSpgKSpcXHMrQVNcXHMrfmlzVScsJycsJGctPnJlc3VsdCgiU0hPVyBDUkVBVEUgVklFVyAiLnRhYmxlKCRmKSwxKSkpO31mdW5jdGlvbgpjb2xsYXRpb25zKCl7JGM9YXJyYXkoKTtmb3JlYWNoKGdldF9yb3dzKCJTSE9XIENPTExBVElPTiIpYXMkYSl7aWYoJGFbIkRlZmF1bHQiXSl7JGNbJGFbIkNoYXJzZXQiXV1bLTFdPSRhWyJDb2xsYXRpb24iXTt9ZWxzZXskY1skYVsiQ2hhcnNldCJdXVtdPSRhWyJDb2xsYXRpb24iXTt9fWtzb3J0KCRjKTtmb3JlYWNoKCRjCmFzJGQ9PiRiKXthc29ydCgkY1skZF0pO31yZXR1cm4kYzt9ZnVuY3Rpb24KaW5mb3JtYXRpb25fc2NoZW1hKCR0KXtnbG9iYWwkZztyZXR1cm4oJGctPnNlcnZlcl9pbmZvPj01JiYkdD09ImluZm9ybWF0aW9uX3NjaGVtYSIpO31mdW5jdGlvbgplcnJvcigpe2dsb2JhbCRnO3JldHVybgpoKHByZWdfcmVwbGFjZSgnfl5Zb3UgaGF2ZSBhbiBlcnJvci4qc3ludGF4IHRvIHVzZX5VJywiU3ludGF4IGVycm9yIiwkZy0+ZXJyb3IpKTt9ZnVuY3Rpb24KZXhhY3RfdmFsdWUoJGIpe3JldHVybgpxKCRiKS4iIENPTExBVEUgdXRmOF9iaW4iO31mdW5jdGlvbgpjcmVhdGVfZGF0YWJhc2UoJHQsJFUpe3NldF9zZXNzaW9uKCJkYnMiLG51bGwpO3JldHVybgpxdWVyaWVzKCJDUkVBVEUgREFUQUJBU0UgIi5pZGZfZXNjYXBlKCR0KS4oJFU/IiBDT0xMQVRFICIucSgkVSk6IiIpKTt9ZnVuY3Rpb24KZHJvcF9kYXRhYmFzZXMoJEEpe3NldF9zZXNzaW9uKCJkYnMiLG51bGwpO3JldHVybgphcHBseV9xdWVyaWVzKCJEUk9QIERBVEFCQVNFIiwkQSwnaWRmX2VzY2FwZScpO31mdW5jdGlvbgpyZW5hbWVfZGF0YWJhc2UoJGYsJFUpe2lmKGNyZWF0ZV9kYXRhYmFzZSgkZiwkVSkpeyRjYz1hcnJheSgpO2ZvcmVhY2godGFibGVzX2xpc3QoKWFzJGg9PiRfKXskY2NbXT10YWJsZSgkaCkuIiBUTyAiLmlkZl9lc2NhcGUoJGYpLiIuIi50YWJsZSgkaCk7fWlmKCEkY2N8fHF1ZXJpZXMoIlJFTkFNRSBUQUJMRSAiLmltcGxvZGUoIiwgIiwkY2MpKSl7cXVlcmllcygiRFJPUCBEQVRBQkFTRSAiLmlkZl9lc2NhcGUoREIpKTtyZXR1cm4KdHJ1ZTt9fXJldHVybgpmYWxzZTt9ZnVuY3Rpb24KYXV0b19pbmNyZW1lbnQoKXskSmQ9IiBQUklNQVJZIEtFWSI7aWYoJF9HRVRbImNyZWF0ZSJdIT0iIiYmJF9QT1NUWyJhdXRvX2luY3JlbWVudF9jb2wiXSl7Zm9yZWFjaChpbmRleGVzKCRfR0VUWyJjcmVhdGUiXSlhcyR4KXtpZihpbl9hcnJheSgkX1BPU1RbImZpZWxkcyJdWyRfUE9TVFsiYXV0b19pbmNyZW1lbnRfY29sIl1dWyJvcmlnIl0sJHhbImNvbHVtbnMiXSx0cnVlKSl7JEpkPSIiO2JyZWFrO31pZigkeFsidHlwZSJdPT0iUFJJTUFSWSIpeyRKZD0iIFVOSVFVRSI7fX19cmV0dXJuIiBBVVRPX0lOQ1JFTUVOVCRKZCI7fWZ1bmN0aW9uCmFsdGVyX3RhYmxlKCRoLCRmLCRwLCRQYSwkQWEsJF9iLCRVLCRUYSwkemIpeyR3PWFycmF5KCk7Zm9yZWFjaCgkcAphcyRlKXskd1tdPSgkZVsxXT8oJGghPSIiPygkZVswXSE9IiI/IkNIQU5HRSAiLmlkZl9lc2NhcGUoJGVbMF0pOiJBREQiKToiICIpLiIgIi5pbXBsb2RlKCRlWzFdKS4oJGghPSIiPyIgJGVbMl0iOiIiKToiRFJPUCAiLmlkZl9lc2NhcGUoJGVbMF0pKTt9JHc9YXJyYXlfbWVyZ2UoJHcsJFBhKTskV2I9IkNPTU1FTlQ9Ii5xKCRBYSkuKCRfYj8iIEVOR0lORT0iLnEoJF9iKToiIikuKCRVPyIgQ09MTEFURSAiLnEoJFUpOiIiKS4oJFRhIT0iIj8iIEFVVE9fSU5DUkVNRU5UPSRUYSI6IiIpLiR6YjtpZigkaD09IiIpe3JldHVybgpxdWVyaWVzKCJDUkVBVEUgVEFCTEUgIi50YWJsZSgkZikuIiAoXG4iLmltcGxvZGUoIixcbiIsJHcpLiJcbikgJFdiIik7fWlmKCRoIT0kZil7JHdbXT0iUkVOQU1FIFRPICIudGFibGUoJGYpO30kd1tdPSRXYjtyZXR1cm4KcXVlcmllcygiQUxURVIgVEFCTEUgIi50YWJsZSgkaCkuIlxuIi5pbXBsb2RlKCIsXG4iLCR3KSk7fWZ1bmN0aW9uCmFsdGVyX2luZGV4ZXMoJGgsJHcpe2ZvcmVhY2goJHcKYXMkZD0+JGIpeyR3WyRkXT0oJGJbMl09PSJEUk9QIj8iXG5EUk9QIElOREVYICIuaWRmX2VzY2FwZSgkYlsxXSk6IlxuQUREICRiWzBdICIuKCRiWzBdPT0iUFJJTUFSWSI/IktFWSAiOiIiKS4oJGJbMV0hPSIiP2lkZl9lc2NhcGUoJGJbMV0pLiIgIjoiIikuJGJbMl0pO31yZXR1cm4KcXVlcmllcygiQUxURVIgVEFCTEUgIi50YWJsZSgkaCkuaW1wbG9kZSgiLCIsJHcpKTt9ZnVuY3Rpb24KdHJ1bmNhdGVfdGFibGVzKCRFKXtyZXR1cm4KYXBwbHlfcXVlcmllcygiVFJVTkNBVEUgVEFCTEUiLCRFKTt9ZnVuY3Rpb24KZHJvcF92aWV3cygkWSl7cmV0dXJuCnF1ZXJpZXMoIkRST1AgVklFVyAiLmltcGxvZGUoIiwgIixhcnJheV9tYXAoJ3RhYmxlJywkWSkpKTt9ZnVuY3Rpb24KZHJvcF90YWJsZXMoJEUpe3JldHVybgpxdWVyaWVzKCJEUk9QIFRBQkxFICIuaW1wbG9kZSgiLCAiLGFycmF5X21hcCgndGFibGUnLCRFKSkpO31mdW5jdGlvbgptb3ZlX3RhYmxlcygkRSwkWSwkaGEpeyRjYz1hcnJheSgpO2ZvcmVhY2goYXJyYXlfbWVyZ2UoJEUsJFkpYXMkaCl7JGNjW109dGFibGUoJGgpLiIgVE8gIi5pZGZfZXNjYXBlKCRoYSkuIi4iLnRhYmxlKCRoKTt9cmV0dXJuCnF1ZXJpZXMoIlJFTkFNRSBUQUJMRSAiLmltcGxvZGUoIiwgIiwkY2MpKTt9ZnVuY3Rpb24KY29weV90YWJsZXMoJEUsJFksJGhhKXtxdWVyaWVzKCJTRVQgc3FsX21vZGUgPSAnTk9fQVVUT19WQUxVRV9PTl9aRVJPJyIpO2ZvcmVhY2goJEUKYXMkaCl7JGY9KCRoYT09REI/dGFibGUoImNvcHlfJGgiKTppZGZfZXNjYXBlKCRoYSkuIi4iLnRhYmxlKCRoKSk7aWYoIXF1ZXJpZXMoIkRST1AgVEFCTEUgSUYgRVhJU1RTICRmIil8fCFxdWVyaWVzKCJDUkVBVEUgVEFCTEUgJGYgTElLRSAiLnRhYmxlKCRoKSl8fCFxdWVyaWVzKCJJTlNFUlQgSU5UTyAkZiBTRUxFQ1QgKiBGUk9NICIudGFibGUoJGgpKSl7cmV0dXJuCmZhbHNlO319Zm9yZWFjaCgkWQphcyRoKXskZj0oJGhhPT1EQj90YWJsZSgiY29weV8kaCIpOmlkZl9lc2NhcGUoJGhhKS4iLiIudGFibGUoJGgpKTskZ2M9dmlldygkaCk7aWYoIXF1ZXJpZXMoIkRST1AgVklFVyBJRiBFWElTVFMgJGYiKXx8IXF1ZXJpZXMoIkNSRUFURSBWSUVXICRmIEFTICRnY1tzZWxlY3RdIikpe3JldHVybgpmYWxzZTt9fXJldHVybgp0cnVlO31mdW5jdGlvbgp0cmlnZ2VyKCRmKXskSD1nZXRfcm93cygiU0hPVyBUUklHR0VSUyBXSEVSRSBgVHJpZ2dlcmAgPSAiLnEoJGYpKTtyZXR1cm4KcmVzZXQoJEgpO31mdW5jdGlvbgp0cmlnZ2VycygkaCl7JGM9YXJyYXkoKTtmb3JlYWNoKGdldF9yb3dzKCJTSE9XIFRSSUdHRVJTIExJS0UgIi5xKGFkZGNzbGFzaGVzKCRoLCIlXyIpKSlhcyRhKXskY1skYVsiVHJpZ2dlciJdXT1hcnJheSgkYVsiVGltaW5nIl0sJGFbIkV2ZW50Il0pO31yZXR1cm4kYzt9ZnVuY3Rpb24KdHJpZ2dlcl9vcHRpb25zKCl7cmV0dXJuCmFycmF5KCJUaW1pbmciPT5hcnJheSgiQkVGT1JFIiwiQUZURVIiKSwiVHlwZSI9PmFycmF5KCJGT1IgRUFDSCBST1ciKSwpO31mdW5jdGlvbgpyb3V0aW5lKCRmLCRfKXtnbG9iYWwkZywkR2IsJGljLCRSOyRxZj1hcnJheSgiYm9vbCIsImJvb2xlYW4iLCJpbnRlZ2VyIiwiZG91YmxlIHByZWNpc2lvbiIsInJlYWwiLCJkZWMiLCJudW1lcmljIiwiZml4ZWQiLCJuYXRpb25hbCBjaGFyIiwibmF0aW9uYWwgdmFyY2hhciIpOyRYZT0iKCgiLmltcGxvZGUoInwiLGFycmF5X21lcmdlKGFycmF5X2tleXMoJFIpLCRxZikpLiIpKD86XFxzKlxcKCgoPzpbXidcIildKnwkR2IpKylcXCkpP1xccyooemVyb2ZpbGxcXHMqKT8odW5zaWduZWQoPzpcXHMremVyb2ZpbGwpPyk/KSg/OlxccyooPzpDSEFSU0VUfENIQVJBQ1RFUlxccytTRVQpXFxzKlsnXCJdPyhbXidcIlxcc10rKVsnXCJdPyk/IjskZGE9IlxccyooIi4oJF89PSJGVU5DVElPTiI/IiI6JGljKS4iKT9cXHMqKD86YCgoPzpbXmBdfGBgKSopYFxccyp8XFxiKFxcUyspXFxzKykkWGUiOyRrYT0kZy0+cmVzdWx0KCJTSE9XIENSRUFURSAkXyAiLmlkZl9lc2NhcGUoJGYpLDIpO3ByZWdfbWF0Y2goIn5cXCgoKD86JGRhXFxzKiw/KSopXFwpIi4oJF89PSJGVU5DVElPTiI/IlxccypSRVRVUk5TXFxzKyRYZSI6IiIpLiJcXHMqKC4qKX5pcyIsJGthLCRrKTskcD1hcnJheSgpO3ByZWdfbWF0Y2hfYWxsKCJ+JGRhXFxzKiw/fmlzIiwka1sxXSwkdGEsUFJFR19TRVRfT1JERVIpO2ZvcmVhY2goJHRhCmFzJGNiKXskZj1zdHJfcmVwbGFjZSgiYGAiLCJgIiwkY2JbMl0pLiRjYlszXTskcFtdPWFycmF5KCJmaWVsZCI9PiRmLCJ0eXBlIj0+c3RydG9sb3dlcigkY2JbNV0pLCJsZW5ndGgiPT5wcmVnX3JlcGxhY2VfY2FsbGJhY2soIn4kR2J+cyIsJ25vcm1hbGl6ZV9lbnVtJywkY2JbNl0pLCJ1bnNpZ25lZCI9PnN0cnRvbG93ZXIocHJlZ19yZXBsYWNlKCd+XFxzK34nLCcgJyx0cmltKCIkY2JbOF0gJGNiWzddIikpKSwiZnVsbF90eXBlIj0+JGNiWzRdLCJpbm91dCI9PnN0cnRvdXBwZXIoJGNiWzFdKSwiY29sbGF0aW9uIj0+c3RydG9sb3dlcigkY2JbOV0pLCk7fWlmKCRfIT0iRlVOQ1RJT04iKXtyZXR1cm4KYXJyYXkoImZpZWxkcyI9PiRwLCJkZWZpbml0aW9uIj0+JGtbMTFdKTt9cmV0dXJuCmFycmF5KCJmaWVsZHMiPT4kcCwicmV0dXJucyI9PmFycmF5KCJ0eXBlIj0+JGtbMTJdLCJsZW5ndGgiPT4ka1sxM10sInVuc2lnbmVkIj0+JGtbMTVdLCJjb2xsYXRpb24iPT4ka1sxNl0pLCJkZWZpbml0aW9uIj0+JGtbMTddLCJsYW5ndWFnZSI9PiJTUUwiLCk7fWZ1bmN0aW9uCnJvdXRpbmVzKCl7cmV0dXJuCmdldF9yb3dzKCJTRUxFQ1QgKiBGUk9NIGluZm9ybWF0aW9uX3NjaGVtYS5ST1VUSU5FUyBXSEVSRSBST1VUSU5FX1NDSEVNQSA9ICIucShEQikpO31mdW5jdGlvbgpyb3V0aW5lX2xhbmd1YWdlcygpe3JldHVybgphcnJheSgpO31mdW5jdGlvbgpiZWdpbigpe3JldHVybgpxdWVyaWVzKCJCRUdJTiIpO31mdW5jdGlvbgppbnNlcnRfaW50bygkaCwkcyl7cmV0dXJuCnF1ZXJpZXMoIklOU0VSVCBJTlRPICIudGFibGUoJGgpLiIgKCIuaW1wbG9kZSgiLCAiLGFycmF5X2tleXMoJHMpKS4iKVxuVkFMVUVTICgiLmltcGxvZGUoIiwgIiwkcykuIikiKTt9ZnVuY3Rpb24KaW5zZXJ0X3VwZGF0ZSgkaCwkcywkTmEpe2ZvcmVhY2goJHMKYXMkZD0+JGIpeyRzWyRkXT0iJGQgPSAkYiI7fSRzYT1pbXBsb2RlKCIsICIsJHMpO3JldHVybgpxdWVyaWVzKCJJTlNFUlQgSU5UTyAiLnRhYmxlKCRoKS4iIFNFVCAkc2EgT04gRFVQTElDQVRFIEtFWSBVUERBVEUgJHNhIik7fWZ1bmN0aW9uCmxhc3RfaWQoKXtnbG9iYWwkZztyZXR1cm4kZy0+cmVzdWx0KCJTRUxFQ1QgTEFTVF9JTlNFUlRfSUQoKSIpO31mdW5jdGlvbgpleHBsYWluKCRnLCRpKXtyZXR1cm4kZy0+cXVlcnkoIkVYUExBSU4gJGkiKTt9ZnVuY3Rpb24KZm91bmRfcm93cygkdiwkcil7cmV0dXJuKCRyfHwkdlsiRW5naW5lIl0hPSJJbm5vREIiP251bGw6JHZbIlJvd3MiXSk7fWZ1bmN0aW9uCnR5cGVzKCl7cmV0dXJuCmFycmF5KCk7fWZ1bmN0aW9uCnNjaGVtYXMoKXtyZXR1cm4KYXJyYXkoKTt9ZnVuY3Rpb24KZ2V0X3NjaGVtYSgpe3JldHVybiIiO31mdW5jdGlvbgpzZXRfc2NoZW1hKCRSYSl7cmV0dXJuCnRydWU7fWZ1bmN0aW9uCmNyZWF0ZV9zcWwoJGgsJFRhKXtnbG9iYWwkZzskYz0kZy0+cmVzdWx0KCJTSE9XIENSRUFURSBUQUJMRSAiLnRhYmxlKCRoKSwxKTtpZighJFRhKXskYz1wcmVnX3JlcGxhY2UoJ34gQVVUT19JTkNSRU1FTlQ9XFxkK34nLCcnLCRjKTt9cmV0dXJuJGM7fWZ1bmN0aW9uCnRydW5jYXRlX3NxbCgkaCl7cmV0dXJuIlRSVU5DQVRFICIudGFibGUoJGgpO31mdW5jdGlvbgp1c2Vfc3FsKCRmYSl7cmV0dXJuIlVTRSAiLmlkZl9lc2NhcGUoJGZhKTt9ZnVuY3Rpb24KdHJpZ2dlcl9zcWwoJGgsJFYpeyRjPSIiO2ZvcmVhY2goZ2V0X3Jvd3MoIlNIT1cgVFJJR0dFUlMgTElLRSAiLnEoYWRkY3NsYXNoZXMoJGgsIiVfIikpLG51bGwsIi0tICIpYXMkYSl7JGMuPSJcbiIuKCRWPT0nQ1JFQVRFK0FMVEVSJz8iRFJPUCBUUklHR0VSIElGIEVYSVNUUyAiLmlkZl9lc2NhcGUoJGFbIlRyaWdnZXIiXSkuIjs7XG4iOiIiKS4iQ1JFQVRFIFRSSUdHRVIgIi5pZGZfZXNjYXBlKCRhWyJUcmlnZ2VyIl0pLiIgJGFbVGltaW5nXSAkYVtFdmVudF0gT04gIi50YWJsZSgkYVsiVGFibGUiXSkuIiBGT1IgRUFDSCBST1dcbiRhW1N0YXRlbWVudF07O1xuIjt9cmV0dXJuJGM7fWZ1bmN0aW9uCnNob3dfdmFyaWFibGVzKCl7cmV0dXJuCmdldF9rZXlfdmFscygiU0hPVyBWQVJJQUJMRVMiKTt9ZnVuY3Rpb24KcHJvY2Vzc19saXN0KCl7cmV0dXJuCmdldF9yb3dzKCJTSE9XIEZVTEwgUFJPQ0VTU0xJU1QiKTt9ZnVuY3Rpb24Kc2hvd19zdGF0dXMoKXtyZXR1cm4KZ2V0X2tleV92YWxzKCJTSE9XIFNUQVRVUyIpO31mdW5jdGlvbgpzdXBwb3J0KCR4Yil7Z2xvYmFsJGc7cmV0dXJuIWVyZWcoInNjaGVtZXxzZXF1ZW5jZXx0eXBlIi4oJGctPnNlcnZlcl9pbmZvPDUuMT8ifGV2ZW50fHBhcnRpdGlvbmluZyIuKCRnLT5zZXJ2ZXJfaW5mbzw1PyJ8dmlld3xyb3V0aW5lfHRyaWdnZXIiOiIiKToiIiksJHhiKTt9JHU9InNxbCI7JFI9YXJyYXkoKTskU2E9YXJyYXkoKTtmb3JlYWNoKGFycmF5KGxhbmcoMTIpPT5hcnJheSgidGlueWludCI9PjMsInNtYWxsaW50Ij0+NSwibWVkaXVtaW50Ij0+OCwiaW50Ij0+MTAsImJpZ2ludCI9PjIwLCJkZWNpbWFsIj0+NjYsImZsb2F0Ij0+MTIsImRvdWJsZSI9PjIxKSxsYW5nKDEzKT0+YXJyYXkoImRhdGUiPT4xMCwiZGF0ZXRpbWUiPT4xOSwidGltZXN0YW1wIj0+MTksInRpbWUiPT4xMCwieWVhciI9PjQpLGxhbmcoMTQpPT5hcnJheSgiY2hhciI9PjI1NSwidmFyY2hhciI9PjY1NTM1LCJ0aW55dGV4dCI9PjI1NSwidGV4dCI9PjY1NTM1LCJtZWRpdW10ZXh0Ij0+MTY3NzcyMTUsImxvbmd0ZXh0Ij0+NDI5NDk2NzI5NSksbGFuZygxNSk9PmFycmF5KCJiaXQiPT4yMCwiYmluYXJ5Ij0+MjU1LCJ2YXJiaW5hcnkiPT42NTUzNSwidGlueWJsb2IiPT4yNTUsImJsb2IiPT42NTUzNSwibWVkaXVtYmxvYiI9PjE2Nzc3MjE1LCJsb25nYmxvYiI9PjQyOTQ5NjcyOTUpLGxhbmcoMTgpPT5hcnJheSgiZW51bSI9PjY1NTM1LCJzZXQiPT42NCksKWFzJGQ9PiRiKXskUis9JGI7JFNhWyRkXT1hcnJheV9rZXlzKCRiKTt9JG1iPWFycmF5KCJ1bnNpZ25lZCIsInplcm9maWxsIiwidW5zaWduZWQgemVyb2ZpbGwiKTskamM9YXJyYXkoIj0iLCI8IiwiPiIsIjw9IiwiPj0iLCIhPSIsIkxJS0UiLCJMSUtFICUlIiwiUkVHRVhQIiwiSU4iLCJJUyBOVUxMIiwiTk9UIExJS0UiLCJOT1QgUkVHRVhQIiwiTk9UIElOIiwiSVMgTk9UIE5VTEwiLCIiKTskY2E9YXJyYXkoImNoYXJfbGVuZ3RoIiwiZGF0ZSIsImZyb21fdW5peHRpbWUiLCJoZXgiLCJsb3dlciIsInJvdW5kIiwic2VjX3RvX3RpbWUiLCJ0aW1lX3RvX3NlYyIsInVwcGVyIik7JHFiPWFycmF5KCJhdmciLCJjb3VudCIsImNvdW50IGRpc3RpbmN0IiwiZ3JvdXBfY29uY2F0IiwibWF4IiwibWluIiwic3VtIik7JEliPWFycmF5KGFycmF5KCJjaGFyIj0+Im1kNS9zaGExL3Bhc3N3b3JkL2VuY3J5cHQvdXVpZCIsImJpbmFyeSI9PiJtZDUvc2hhMS9oZXgiLCJkYXRlfHRpbWUiPT4ibm93IiwpLGFycmF5KCJpbnR8ZmxvYXR8ZG91YmxlfGRlY2ltYWwiPT4iKy8tIiwiZGF0ZSI9PiIrIGludGVydmFsLy0gaW50ZXJ2YWwiLCJ0aW1lIj0+ImFkZHRpbWUvc3VidGltZSIsImNoYXJ8dGV4dCI9PiJjb25jYXQiLCkpO31kZWZpbmUoIlNFUlZFUiIsJF9HRVRbRFJJVkVSXSk7ZGVmaW5lKCJEQiIsJF9HRVRbImRiIl0pO2RlZmluZSgiTUUiLHByZWdfcmVwbGFjZSgnfl5bXj9dKi8oW14/XSopLip+JywnXFwxJywkX1NFUlZFUlsiUkVRVUVTVF9VUkkiXSkuJz8nLihzaWQoKT9TSUQuJyYnOicnKS4oU0VSVkVSIT09bnVsbD9EUklWRVIuIj0iLnVybGVuY29kZShTRVJWRVIpLicmJzonJykuKGlzc2V0KCRfR0VUWyJ1c2VybmFtZSJdKT8idXNlcm5hbWU9Ii51cmxlbmNvZGUoJF9HRVRbInVzZXJuYW1lIl0pLicmJzonJykuKERCIT0iIj8nZGI9Jy51cmxlbmNvZGUoREIpLicmJy4oaXNzZXQoJF9HRVRbIm5zIl0pPyJucz0iLnVybGVuY29kZSgkX0dFVFsibnMiXSkuIiYiOiIiKTonJykpOyRvYz0iMy4zLjIiO2NsYXNzCkFkbWluZXJ7dmFyJG9wZXJhdG9ycztmdW5jdGlvbgpuYW1lKCl7cmV0dXJuIjxhIGhyZWY9J2h0dHA6Ly93d3cuYWRtaW5lci5vcmcvJyBpZD0naDEnPkFkbWluZXI8L2E+Ijt9ZnVuY3Rpb24KY3JlZGVudGlhbHMoKXtyZXR1cm4KYXJyYXkoU0VSVkVSLCRfR0VUWyJ1c2VybmFtZSJdLGdldF9zZXNzaW9uKCJwd2RzIikpO31mdW5jdGlvbgpwZXJtYW5lbnRMb2dpbigpe3JldHVybgpwYXNzd29yZF9maWxlKCk7fWZ1bmN0aW9uCmRhdGFiYXNlKCl7cmV0dXJuCkRCO31mdW5jdGlvbgpoZWFkZXJzKCl7cmV0dXJuCnRydWU7fWZ1bmN0aW9uCmhlYWQoKXtyZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24KbG9naW5Gb3JtKCl7Z2xvYmFsJG9hO2VjaG8nPHRhYmxlIGNlbGxzcGFjaW5nPSIwIj4KPHRyPjx0aD4nLGxhbmcoMTkpLCc8dGQ+JyxodG1sX3NlbGVjdCgiZHJpdmVyIiwkb2EsRFJJVkVSLCJsb2dpbkRyaXZlcih0aGlzKTsiKSwnPHRyPjx0aD4nLGxhbmcoMjApLCc8dGQ+PGlucHV0IG5hbWU9InNlcnZlciIgdmFsdWU9IicsaChTRVJWRVIpLCciIHRpdGxlPSJob3N0bmFtZVs6cG9ydF0iPgo8dHI+PHRoPicsbGFuZygyMSksJzx0ZD48aW5wdXQgaWQ9InVzZXJuYW1lIiBuYW1lPSJ1c2VybmFtZSIgdmFsdWU9IicsaCgkX0dFVFsidXNlcm5hbWUiXSksJyI+Cjx0cj48dGg+JyxsYW5nKDIyKTs/Pjx0ZD48aW5wdXQgdHlwZT0icGFzc3dvcmQiIG5hbWU9InBhc3N3b3JkIj4KPC90YWJsZT4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgp2YXIgdXNlcm5hbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndXNlcm5hbWUnKTsKdXNlcm5hbWUuZm9jdXMoKTsKdXNlcm5hbWUuZm9ybVsnZHJpdmVyJ10ub25jaGFuZ2UoKTsKPC9zY3JpcHQ+Cjw/cGhwCgplY2hvIjxwPjxpbnB1dCB0eXBlPSdzdWJtaXQnIHZhbHVlPSciLmxhbmcoMjMpLiInPlxuIixjaGVja2JveCgicGVybWFuZW50IiwxLCRfQ09PS0lFWyJhZG1pbmVyX3Blcm1hbmVudCJdLGxhbmcoMjQpKS4iXG4iO31mdW5jdGlvbgpsb2dpbigkYWcsJFQpe3JldHVybgp0cnVlO31mdW5jdGlvbgp0YWJsZU5hbWUoJGdkKXtyZXR1cm4KaCgkZ2RbIk5hbWUiXSk7fWZ1bmN0aW9uCmZpZWxkTmFtZSgkZSwkYWI9MCl7cmV0dXJuJzxzcGFuIHRpdGxlPSInLmgoJGVbImZ1bGxfdHlwZSJdKS4nIj4nLmgoJGVbImZpZWxkIl0pLic8L3NwYW4+Jzt9ZnVuY3Rpb24Kc2VsZWN0TGlua3MoJGdkLCRzPSIiKXtlY2hvJzxwIGNsYXNzPSJ0YWJzIj4nOyR3YT1hcnJheSgic2VsZWN0Ij0+bGFuZygyNSksInRhYmxlIj0+bGFuZygyNikpO2lmKGlzX3ZpZXcoJGdkKSl7JHdhWyJ2aWV3Il09bGFuZygyNyk7fWVsc2V7JHdhWyJjcmVhdGUiXT1sYW5nKDI4KTt9aWYoaXNzZXQoJHMpKXskd2FbImVkaXQiXT1sYW5nKDI5KTt9Zm9yZWFjaCgkd2EKYXMkZD0+JGIpe2VjaG8iIDxhIGhyZWY9JyIuaChNRSkuIiRkPSIudXJsZW5jb2RlKCRnZFsiTmFtZSJdKS4oJGQ9PSJlZGl0Ij8kczoiIikuIiciLmJvbGQoaXNzZXQoJF9HRVRbJGRdKSkuIj4kYjwvYT4iO31lY2hvIlxuIjt9ZnVuY3Rpb24KZm9yZWlnbktleXMoJGgpe3JldHVybgpmb3JlaWduX2tleXMoJGgpO31mdW5jdGlvbgpiYWNrd2FyZEtleXMoJGgsJGRnKXtyZXR1cm4KYXJyYXkoKTt9ZnVuY3Rpb24KYmFja3dhcmRLZXlzUHJpbnQoJGVnLCRhKXt9ZnVuY3Rpb24Kc2VsZWN0UXVlcnkoJGkpe2dsb2JhbCR1O3JldHVybiI8cD48YSBocmVmPSciLmgocmVtb3ZlX2Zyb21fdXJpKCJwYWdlIikpLiImYW1wO3BhZ2U9bGFzdCcgdGl0bGU9JyIubGFuZygzMCkuIic+Jmd0OyZndDs8L2E+IDxjb2RlIGNsYXNzPSdqdXNoLSR1Jz4iLmgoc3RyX3JlcGxhY2UoIlxuIiwiICIsJGkpKS4iPC9jb2RlPiA8YSBocmVmPSciLmgoTUUpLiJzcWw9Ii51cmxlbmNvZGUoJGkpLiInPiIubGFuZygzMSkuIjwvYT48L3A+XG4iO31mdW5jdGlvbgpyb3dEZXNjcmlwdGlvbigkaCl7cmV0dXJuIiI7fWZ1bmN0aW9uCnJvd0Rlc2NyaXB0aW9ucygkSCwkb2Ype3JldHVybiRIO31mdW5jdGlvbgpzZWxlY3RWYWwoJGIsJHksJGUpeyRjPSgkYiE9IjxpPk5VTEw8L2k+IiYmZXJlZygiY2hhcnxiaW5hcnkiLCRlWyJ0eXBlIl0pJiYhZXJlZygidmFyIiwkZVsidHlwZSJdKT8iPGNvZGU+JGI8L2NvZGU+IjokYik7aWYoZXJlZygnYmxvYnxieXRlYXxyYXd8ZmlsZScsJGVbInR5cGUiXSkmJiFpc191dGY4KCRiKSl7JGM9bGFuZygzMixzdHJsZW4oaHRtbF9lbnRpdHlfZGVjb2RlKCRiLEVOVF9RVU9URVMpKSk7fXJldHVybigkeT8iPGEgaHJlZj0nJHknPiRjPC9hPiI6JGMpO31mdW5jdGlvbgplZGl0VmFsKCRiLCRlKXtyZXR1cm4oZXJlZygiYmluYXJ5IiwkZVsidHlwZSJdKT9yZXNldCh1bnBhY2soIkgqIiwkYikpOiRiKTt9ZnVuY3Rpb24Kc2VsZWN0Q29sdW1uc1ByaW50KCRKLCRCKXtnbG9iYWwkY2EsJHFiO3ByaW50X2ZpZWxkc2V0KCJzZWxlY3QiLGxhbmcoMzMpLCRKKTskbD0wOyRWZT1hcnJheShsYW5nKDM0KT0+JGNhLGxhbmcoMzUpPT4kcWIpO2ZvcmVhY2goJEoKYXMkZD0+JGIpeyRiPSRfR0VUWyJjb2x1bW5zIl1bJGRdO2VjaG8iPGRpdj4iLmh0bWxfc2VsZWN0KCJjb2x1bW5zWyRsXVtmdW5dIixhcnJheSgtMT0+IiIpKyRWZSwkYlsiZnVuIl0pLCIoPHNlbGVjdCBuYW1lPSdjb2x1bW5zWyRsXVtjb2xdJz48b3B0aW9uPiIub3B0aW9ubGlzdCgkQiwkYlsiY29sIl0sdHJ1ZSkuIjwvc2VsZWN0Pik8L2Rpdj5cbiI7JGwrKzt9ZWNobyI8ZGl2PiIuaHRtbF9zZWxlY3QoImNvbHVtbnNbJGxdW2Z1bl0iLGFycmF5KC0xPT4iIikrJFZlLCIiLCJ0aGlzLm5leHRTaWJsaW5nLm5leHRTaWJsaW5nLm9uY2hhbmdlKCk7IiksIig8c2VsZWN0IG5hbWU9J2NvbHVtbnNbJGxdW2NvbF0nIG9uY2hhbmdlPSdzZWxlY3RBZGRSb3codGhpcyk7Jz48b3B0aW9uPiIub3B0aW9ubGlzdCgkQixudWxsLHRydWUpLiI8L3NlbGVjdD4pPC9kaXY+XG4iLCI8L2Rpdj48L2ZpZWxkc2V0PlxuIjt9ZnVuY3Rpb24Kc2VsZWN0U2VhcmNoUHJpbnQoJHIsJEIsJEspe3ByaW50X2ZpZWxkc2V0KCJzZWFyY2giLGxhbmcoMzYpLCRyKTtmb3JlYWNoKCRLCmFzJGw9PiR4KXtpZigkeFsidHlwZSJdPT0iRlVMTFRFWFQiKXtlY2hvIig8aT4iLmltcGxvZGUoIjwvaT4sIDxpPiIsYXJyYXlfbWFwKCdoJywkeFsiY29sdW1ucyJdKSkuIjwvaT4pIEFHQUlOU1QiLCIgPGlucHV0IG5hbWU9J2Z1bGx0ZXh0WyRsXScgdmFsdWU9JyIuaCgkX0dFVFsiZnVsbHRleHQiXVskbF0pLiInPiIsY2hlY2tib3goImJvb2xlYW5bJGxdIiwxLGlzc2V0KCRfR0VUWyJib29sZWFuIl1bJGxdKSwiQk9PTCIpLCI8YnI+XG4iO319JGw9MDtmb3JlYWNoKChhcnJheSkkX0dFVFsid2hlcmUiXWFzJGIpe2lmKCIkYltjb2xdJGJbdmFsXSIhPSIiJiZpbl9hcnJheSgkYlsib3AiXSwkdGhpcy0+b3BlcmF0b3JzKSl7ZWNobyI8ZGl2PjxzZWxlY3QgbmFtZT0nd2hlcmVbJGxdW2NvbF0nPjxvcHRpb24gdmFsdWU9Jyc+KCIubGFuZygzNykuIikiLm9wdGlvbmxpc3QoJEIsJGJbImNvbCJdLHRydWUpLiI8L3NlbGVjdD4iLGh0bWxfc2VsZWN0KCJ3aGVyZVskbF1bb3BdIiwkdGhpcy0+b3BlcmF0b3JzLCRiWyJvcCJdKSwiPGlucHV0IG5hbWU9J3doZXJlWyRsXVt2YWxdJyB2YWx1ZT0nIi5oKCRiWyJ2YWwiXSkuIic+PC9kaXY+XG4iOyRsKys7fX1lY2hvIjxkaXY+PHNlbGVjdCBuYW1lPSd3aGVyZVskbF1bY29sXScgb25jaGFuZ2U9J3NlbGVjdEFkZFJvdyh0aGlzKTsnPjxvcHRpb24gdmFsdWU9Jyc+KCIubGFuZygzNykuIikiLm9wdGlvbmxpc3QoJEIsbnVsbCx0cnVlKS4iPC9zZWxlY3Q+IixodG1sX3NlbGVjdCgid2hlcmVbJGxdW29wXSIsJHRoaXMtPm9wZXJhdG9ycywiPSIpLCI8aW5wdXQgbmFtZT0nd2hlcmVbJGxdW3ZhbF0nPjwvZGl2PlxuIiwiPC9kaXY+PC9maWVsZHNldD5cbiI7fWZ1bmN0aW9uCnNlbGVjdE9yZGVyUHJpbnQoJGFiLCRCLCRLKXtwcmludF9maWVsZHNldCgic29ydCIsbGFuZygzOCksJGFiKTskbD0wO2ZvcmVhY2goKGFycmF5KSRfR0VUWyJvcmRlciJdYXMkZD0+JGIpe2lmKGlzc2V0KCRCWyRiXSkpe2VjaG8iPGRpdj48c2VsZWN0IG5hbWU9J29yZGVyWyRsXSc+PG9wdGlvbj4iLm9wdGlvbmxpc3QoJEIsJGIsdHJ1ZSkuIjwvc2VsZWN0PiIsY2hlY2tib3goImRlc2NbJGxdIiwxLGlzc2V0KCRfR0VUWyJkZXNjIl1bJGRdKSxsYW5nKDM5KSkuIjwvZGl2PlxuIjskbCsrO319ZWNobyI8ZGl2PjxzZWxlY3QgbmFtZT0nb3JkZXJbJGxdJyBvbmNoYW5nZT0nc2VsZWN0QWRkUm93KHRoaXMpOyc+PG9wdGlvbj4iLm9wdGlvbmxpc3QoJEIsbnVsbCx0cnVlKS4iPC9zZWxlY3Q+IiwiPGxhYmVsPjxpbnB1dCB0eXBlPSdjaGVja2JveCcgbmFtZT0nZGVzY1skbF0nIHZhbHVlPScxJz4iLmxhbmcoMzkpLiI8L2xhYmVsPjwvZGl2PlxuIjtlY2hvIjwvZGl2PjwvZmllbGRzZXQ+XG4iO31mdW5jdGlvbgpzZWxlY3RMaW1pdFByaW50KCRNKXtlY2hvIjxmaWVsZHNldD48bGVnZW5kPiIubGFuZyg0MCkuIjwvbGVnZW5kPjxkaXY+IjtlY2hvIjxpbnB1dCBuYW1lPSdsaW1pdCcgc2l6ZT0nMycgdmFsdWU9JyIuaCgkTSkuIic+IiwiPC9kaXY+PC9maWVsZHNldD5cbiI7fWZ1bmN0aW9uCnNlbGVjdExlbmd0aFByaW50KCRVYil7aWYoaXNzZXQoJFViKSl7ZWNobyI8ZmllbGRzZXQ+PGxlZ2VuZD4iLmxhbmcoNDEpLiI8L2xlZ2VuZD48ZGl2PiIsJzxpbnB1dCBuYW1lPSJ0ZXh0X2xlbmd0aCIgc2l6ZT0iMyIgdmFsdWU9IicuaCgkVWIpLiciPicsIjwvZGl2PjwvZmllbGRzZXQ+XG4iO319ZnVuY3Rpb24Kc2VsZWN0QWN0aW9uUHJpbnQoKXtlY2hvIjxmaWVsZHNldD48bGVnZW5kPiIubGFuZyg0MikuIjwvbGVnZW5kPjxkaXY+IiwiPGlucHV0IHR5cGU9J3N1Ym1pdCcgdmFsdWU9JyIubGFuZygzMykuIic+IiwiPC9kaXY+PC9maWVsZHNldD5cbiI7fWZ1bmN0aW9uCnNlbGVjdENvbW1hbmRQcmludCgpe3JldHVybiFpbmZvcm1hdGlvbl9zY2hlbWEoREIpO31mdW5jdGlvbgpzZWxlY3RJbXBvcnRQcmludCgpe3JldHVybgp0cnVlO31mdW5jdGlvbgpzZWxlY3RFbWFpbFByaW50KCRmZywkQil7fWZ1bmN0aW9uCnNlbGVjdENvbHVtbnNQcm9jZXNzKCRCLCRLKXtnbG9iYWwkY2EsJHFiOyRKPWFycmF5KCk7JHJhPWFycmF5KCk7Zm9yZWFjaCgoYXJyYXkpJF9HRVRbImNvbHVtbnMiXWFzJGQ9PiRiKXtpZigkYlsiZnVuIl09PSJjb3VudCJ8fChpc3NldCgkQlskYlsiY29sIl1dKSYmKCEkYlsiZnVuIl18fGluX2FycmF5KCRiWyJmdW4iXSwkY2EpfHxpbl9hcnJheSgkYlsiZnVuIl0sJHFiKSkpKXskSlskZF09YXBwbHlfc3FsX2Z1bmN0aW9uKCRiWyJmdW4iXSwoaXNzZXQoJEJbJGJbImNvbCJdXSk/aWRmX2VzY2FwZSgkYlsiY29sIl0pOiIqIikpO2lmKCFpbl9hcnJheSgkYlsiZnVuIl0sJHFiKSl7JHJhW109JEpbJGRdO319fXJldHVybgphcnJheSgkSiwkcmEpO31mdW5jdGlvbgpzZWxlY3RTZWFyY2hQcm9jZXNzKCRwLCRLKXtnbG9iYWwkdTskYz1hcnJheSgpO2ZvcmVhY2goJEsKYXMkbD0+JHgpe2lmKCR4WyJ0eXBlIl09PSJGVUxMVEVYVCImJiRfR0VUWyJmdWxsdGV4dCJdWyRsXSE9IiIpeyRjW109Ik1BVENIICgiLmltcGxvZGUoIiwgIixhcnJheV9tYXAoJ2lkZl9lc2NhcGUnLCR4WyJjb2x1bW5zIl0pKS4iKSBBR0FJTlNUICgiLnEoJF9HRVRbImZ1bGx0ZXh0Il1bJGxdKS4oaXNzZXQoJF9HRVRbImJvb2xlYW4iXVskbF0pPyIgSU4gQk9PTEVBTiBNT0RFIjoiIikuIikiO319Zm9yZWFjaCgoYXJyYXkpJF9HRVRbIndoZXJlIl1hcyRiKXtpZigiJGJbY29sXSRiW3ZhbF0iIT0iIiYmaW5fYXJyYXkoJGJbIm9wIl0sJHRoaXMtPm9wZXJhdG9ycykpeyRWYj0iICRiW29wXSI7aWYoZXJlZygnSU4kJywkYlsib3AiXSkpeyRTYj1wcm9jZXNzX2xlbmd0aCgkYlsidmFsIl0pOyRWYi49IiAoIi4oJFNiIT0iIj8kU2I6Ik5VTEwiKS4iKSI7fWVsc2VpZighJGJbIm9wIl0peyRWYi49JGJbInZhbCJdO31lbHNlaWYoJGJbIm9wIl09PSJMSUtFICUlIil7JFZiPSIgTElLRSAiLiR0aGlzLT5wcm9jZXNzSW5wdXQoJHBbJGJbImNvbCJdXSwiJSRiW3ZhbF0lIik7fWVsc2VpZighZXJlZygnTlVMTCQnLCRiWyJvcCJdKSl7JFZiLj0iICIuJHRoaXMtPnByb2Nlc3NJbnB1dCgkcFskYlsiY29sIl1dLCRiWyJ2YWwiXSk7fWlmKCRiWyJjb2wiXSE9IiIpeyRjW109aWRmX2VzY2FwZSgkYlsiY29sIl0pLiRWYjt9ZWxzZXskbmI9YXJyYXkoKTtmb3JlYWNoKCRwCmFzJGY9PiRlKXtpZihpc19udW1lcmljKCRiWyJ2YWwiXSl8fCFlcmVnKCdpbnR8ZmxvYXR8ZG91YmxlfGRlY2ltYWwnLCRlWyJ0eXBlIl0pKXskZj1pZGZfZXNjYXBlKCRmKTskbmJbXT0oJHU9PSJzcWwiJiZlcmVnKCdjaGFyfHRleHR8ZW51bXxzZXQnLCRlWyJ0eXBlIl0pJiYhZXJlZygnXnV0ZjgnLCRlWyJjb2xsYXRpb24iXSk/IkNPTlZFUlQoJGYgVVNJTkcgdXRmOCkiOiRmKTt9fSRjW109KCRuYj8iKCIuaW1wbG9kZSgiJFZiIE9SICIsJG5iKS4iJFZiKSI6IjAiKTt9fX1yZXR1cm4kYzt9ZnVuY3Rpb24Kc2VsZWN0T3JkZXJQcm9jZXNzKCRwLCRLKXskYz1hcnJheSgpO2ZvcmVhY2goKGFycmF5KSRfR0VUWyJvcmRlciJdYXMkZD0+JGIpe2lmKGlzc2V0KCRwWyRiXSl8fHByZWdfbWF0Y2goJ35eKChDT1VOVFxcKERJU1RJTkNUIHxbQS1aMC05X10rXFwoKShgKD86W15gXXxgYCkrYHwiKD86W14iXXwiIikrIilcXCl8Q09VTlRcXChcXCpcXCkpJH4nLCRiKSl7JGNbXT0oaXNzZXQoJHBbJGJdKT9pZGZfZXNjYXBlKCRiKTokYikuKGlzc2V0KCRfR0VUWyJkZXNjIl1bJGRdKT8iIERFU0MiOiIiKTt9fXJldHVybiRjO31mdW5jdGlvbgpzZWxlY3RMaW1pdFByb2Nlc3MoKXtyZXR1cm4oaXNzZXQoJF9HRVRbImxpbWl0Il0pPyRfR0VUWyJsaW1pdCJdOiIzMCIpO31mdW5jdGlvbgpzZWxlY3RMZW5ndGhQcm9jZXNzKCl7cmV0dXJuKGlzc2V0KCRfR0VUWyJ0ZXh0X2xlbmd0aCJdKT8kX0dFVFsidGV4dF9sZW5ndGgiXToiMTAwIik7fWZ1bmN0aW9uCnNlbGVjdEVtYWlsUHJvY2Vzcygkciwkb2Ype3JldHVybgpmYWxzZTt9ZnVuY3Rpb24KbWVzc2FnZVF1ZXJ5KCRpKXtnbG9iYWwkdTtzdGF0aWMkWGM9MDtyZXN0YXJ0X3Nlc3Npb24oKTskUz0ic3FsLSIuKCRYYysrKTskaGI9JmdldF9zZXNzaW9uKCJxdWVyaWVzIik7aWYoc3RybGVuKCRpKT4xZTYpeyRpPWVyZWdfcmVwbGFjZSgnW1x4ODAtXHhGRl0rJCcsJycsc3Vic3RyKCRpLDAsMWU2KSkuIlxuLi4uIjt9JGhiWyRfR0VUWyJkYiJdXVtdPSRpO3JldHVybiIgPGEgaHJlZj0nIyRTJyBvbmNsaWNrPVwicmV0dXJuICF0b2dnbGUoJyRTJyk7XCI+Ii5sYW5nKDQzKS4iPC9hPjxkaXYgaWQ9JyRTJyBjbGFzcz0naGlkZGVuJz48cHJlPjxjb2RlIGNsYXNzPSdqdXNoLSR1Jz4iLnNob3J0ZW5fdXRmOCgkaSwxMDAwKS4nPC9jb2RlPjwvcHJlPjxwPjxhIGhyZWY9IicuaChzdHJfcmVwbGFjZSgiZGI9Ii51cmxlbmNvZGUoREIpLCJkYj0iLnVybGVuY29kZSgkX0dFVFsiZGIiXSksTUUpLidzcWw9Jmhpc3Rvcnk9Jy4oY291bnQoJGhiWyRfR0VUWyJkYiJdXSktMSkpLiciPicubGFuZygzMSkuJzwvYT48L2Rpdj4nO31mdW5jdGlvbgplZGl0RnVuY3Rpb25zKCRlKXtnbG9iYWwkSWI7JGM9KCRlWyJudWxsIl0/Ik5VTEwvIjoiIik7Zm9yZWFjaCgkSWIKYXMkZD0+JGNhKXtpZighJGR8fCghaXNzZXQoJF9HRVRbImNhbGwiXSkmJihpc3NldCgkX0dFVFsic2VsZWN0Il0pfHx3aGVyZSgkX0dFVCkpKSl7Zm9yZWFjaCgkY2EKYXMkZGE9PiRiKXtpZighJGRhfHxlcmVnKCRkYSwkZVsidHlwZSJdKSl7JGMuPSIvJGIiO319aWYoJGQmJiFlcmVnKCdzZXR8YmxvYnxieXRlYXxyYXd8ZmlsZScsJGVbInR5cGUiXSkpeyRjLj0iLz0iO319fXJldHVybgpleHBsb2RlKCIvIiwkYyk7fWZ1bmN0aW9uCmVkaXRJbnB1dCgkaCwkZSwkWGEsJHEpe2lmKCRlWyJ0eXBlIl09PSJlbnVtIil7cmV0dXJuKGlzc2V0KCRfR0VUWyJzZWxlY3QiXSk/IjxsYWJlbD48aW5wdXQgdHlwZT0ncmFkaW8nJFhhIHZhbHVlPSctMScgY2hlY2tlZD48aT4iLmxhbmcoNSkuIjwvaT48L2xhYmVsPiAiOiIiKS4oJGVbIm51bGwiXT8iPGxhYmVsPjxpbnB1dCB0eXBlPSdyYWRpbyckWGEgdmFsdWU9JyciLihpc3NldCgkcSl8fGlzc2V0KCRfR0VUWyJzZWxlY3QiXSk/IiI6IiBjaGVja2VkIikuIj48aT5OVUxMPC9pPjwvbGFiZWw+ICI6IiIpLmVudW1faW5wdXQoInJhZGlvIiwkWGEsJGUsJHEsMCk7fXJldHVybiIiO31mdW5jdGlvbgpwcm9jZXNzSW5wdXQoJGUsJHEsJE49IiIpe2lmKCROPT0iPSIpe3JldHVybiRxO30kZj0kZVsiZmllbGQiXTskYz0oJGVbInR5cGUiXT09ImJpdCImJmVyZWcoIl4oWzAtOV0rfGInWzAtMV0rJylcJCIsJHEpPyRxOnEoJHEpKTtpZihlcmVnKCdeKG5vd3xnZXRkYXRlfHV1aWQpJCcsJE4pKXskYz0iJE4oKSI7fWVsc2VpZihlcmVnKCdeY3VycmVudF8oZGF0ZXx0aW1lc3RhbXApJCcsJE4pKXskYz0kTjt9ZWxzZWlmKGVyZWcoJ14oWystXXxcXHxcXHwpJCcsJE4pKXskYz1pZGZfZXNjYXBlKCRmKS4iICROICRjIjt9ZWxzZWlmKGVyZWcoJ15bKy1dIGludGVydmFsJCcsJE4pKXskYz1pZGZfZXNjYXBlKCRmKS4iICROICIuKHByZWdfbWF0Y2goIn5eKFxcZCt8J1swLTkuOiAtXScpIFtBLVpfXSskfmkiLCRxKT8kcTokYyk7fWVsc2VpZihlcmVnKCdeKGFkZHRpbWV8c3VidGltZXxjb25jYXQpJCcsJE4pKXskYz0iJE4oIi5pZGZfZXNjYXBlKCRmKS4iLCAkYykiO31lbHNlaWYoZXJlZygnXihtZDV8c2hhMXxwYXNzd29yZHxlbmNyeXB0fGhleCkkJywkTikpeyRjPSIkTigkYykiO31pZihlcmVnKCJiaW5hcnkiLCRlWyJ0eXBlIl0pKXskYz0idW5oZXgoJGMpIjt9cmV0dXJuJGM7fWZ1bmN0aW9uCmR1bXBPdXRwdXQoKXskYz1hcnJheSgndGV4dCc9PmxhbmcoNDQpLCdmaWxlJz0+bGFuZyg0NSkpO2lmKGZ1bmN0aW9uX2V4aXN0cygnZ3plbmNvZGUnKSl7JGNbJ2d6J109J2d6aXAnO31pZihmdW5jdGlvbl9leGlzdHMoJ2J6Y29tcHJlc3MnKSl7JGNbJ2J6MiddPSdiemlwMic7fXJldHVybiRjO31mdW5jdGlvbgpkdW1wRm9ybWF0KCl7cmV0dXJuCmFycmF5KCdzcWwnPT4nU1FMJywnY3N2Jz0+J0NTViwnLCdjc3Y7Jz0+J0NTVjsnLCd0c3YnPT4nVFNWJyk7fWZ1bmN0aW9uCmR1bXBUYWJsZSgkaCwkViwkamQ9ZmFsc2Upe2lmKCRfUE9TVFsiZm9ybWF0Il0hPSJzcWwiKXtlY2hvIlx4ZWZceGJiXHhiZiI7aWYoJFYpe2R1bXBfY3N2KGFycmF5X2tleXMoZmllbGRzKCRoKSkpO319ZWxzZWlmKCRWKXska2E9Y3JlYXRlX3NxbCgkaCwkX1BPU1RbImF1dG9faW5jcmVtZW50Il0pO2lmKCRrYSl7aWYoJFY9PSJEUk9QK0NSRUFURSIpe2VjaG8iRFJPUCAiLigkamQ/IlZJRVciOiJUQUJMRSIpLiIgSUYgRVhJU1RTICIudGFibGUoJGgpLiI7XG4iO31pZigkamQpeyRrYT1wcmVnX3JlcGxhY2UoJ35eKFtBLVogPV0rKSBERUZJTkVSPWAnLnByZWdfcmVwbGFjZSgnfkAoLiopficsJ2BAYCglfFxcMSknLGxvZ2dlZF91c2VyKCkpLidgficsJ1xcMScsJGthKTt9ZWNobygkViE9IkNSRUFURStBTFRFUiI/JGthOigkamQ/c3Vic3RyX3JlcGxhY2UoJGthLCIgT1IgUkVQTEFDRSIsNiwwKTpzdWJzdHJfcmVwbGFjZSgka2EsIiBJRiBOT1QgRVhJU1RTIiwxMiwwKSkpLiI7XG5cbiI7fWlmKCRWPT0iQ1JFQVRFK0FMVEVSIiYmISRqZCl7JGk9IlNFTEVDVCBDT0xVTU5fTkFNRSwgQ09MVU1OX0RFRkFVTFQsIElTX05VTExBQkxFLCBDT0xMQVRJT05fTkFNRSwgQ09MVU1OX1RZUEUsIEVYVFJBLCBDT0xVTU5fQ09NTUVOVCBGUk9NIGluZm9ybWF0aW9uX3NjaGVtYS5DT0xVTU5TIFdIRVJFIFRBQkxFX1NDSEVNQSA9IERBVEFCQVNFKCkgQU5EIFRBQkxFX05BTUUgPSAiLnEoJGgpLiIgT1JERVIgQlkgT1JESU5BTF9QT1NJVElPTiI7ZWNobyJERUxJTUlURVIgOzsKQ1JFQVRFIFBST0NFRFVSRSBhZG1pbmVyX2FsdGVyIChJTk9VVCBhbHRlcl9jb21tYW5kIHRleHQpIEJFR0lOCglERUNMQVJFIF9jb2x1bW5fbmFtZSwgX2NvbGxhdGlvbl9uYW1lLCBhZnRlciB2YXJjaGFyKDY0KSBERUZBVUxUICcnOwoJREVDTEFSRSBfY29sdW1uX3R5cGUsIF9jb2x1bW5fZGVmYXVsdCB0ZXh0OwoJREVDTEFSRSBfaXNfbnVsbGFibGUgY2hhcigzKTsKCURFQ0xBUkUgX2V4dHJhIHZhcmNoYXIoMzApOwoJREVDTEFSRSBfY29sdW1uX2NvbW1lbnQgdmFyY2hhcigyNTUpOwoJREVDTEFSRSBkb25lLCBzZXRfYWZ0ZXIgYm9vbCBERUZBVUxUIDA7CglERUNMQVJFIGFkZF9jb2x1bW5zIHRleHQgREVGQVVMVCAnIjskcD1hcnJheSgpOyRKYj0iIjtmb3JlYWNoKGdldF9yb3dzKCRpKWFzJGEpeyR5YT0kYVsiQ09MVU1OX0RFRkFVTFQiXTskYVsiZGVmYXVsdCJdPShpc3NldCgkeWEpP3EoJHlhKToiTlVMTCIpOyRhWyJhZnRlciJdPXEoJEpiKTskYVsiYWx0ZXIiXT1lc2NhcGVfc3RyaW5nKGlkZl9lc2NhcGUoJGFbIkNPTFVNTl9OQU1FIl0pLiIgJGFbQ09MVU1OX1RZUEVdIi4oJGFbIkNPTExBVElPTl9OQU1FIl0/IiBDT0xMQVRFICRhW0NPTExBVElPTl9OQU1FXSI6IiIpLihpc3NldCgkeWEpPyIgREVGQVVMVCAiLigkeWE9PSJDVVJSRU5UX1RJTUVTVEFNUCI/JHlhOiRhWyJkZWZhdWx0Il0pOiIiKS4oJGFbIklTX05VTExBQkxFIl09PSJZRVMiPyIiOiIgTk9UIE5VTEwiKS4oJGFbIkVYVFJBIl0/IiAkYVtFWFRSQV0iOiIiKS4oJGFbIkNPTFVNTl9DT01NRU5UIl0/IiBDT01NRU5UICIucSgkYVsiQ09MVU1OX0NPTU1FTlQiXSk6IiIpLigkSmI/IiBBRlRFUiAiLmlkZl9lc2NhcGUoJEpiKToiIEZJUlNUIikpO2VjaG8iLCBBREQgJGFbYWx0ZXJdIjskcFtdPSRhOyRKYj0kYVsiQ09MVU1OX05BTUUiXTt9ZWNobyInOwoJREVDTEFSRSBjb2x1bW5zIENVUlNPUiBGT1IgJGk7CglERUNMQVJFIENPTlRJTlVFIEhBTkRMRVIgRk9SIE5PVCBGT1VORCBTRVQgZG9uZSA9IDE7CglTRVQgQGFsdGVyX3RhYmxlID0gJyc7CglPUEVOIGNvbHVtbnM7CglSRVBFQVQKCQlGRVRDSCBjb2x1bW5zIElOVE8gX2NvbHVtbl9uYW1lLCBfY29sdW1uX2RlZmF1bHQsIF9pc19udWxsYWJsZSwgX2NvbGxhdGlvbl9uYW1lLCBfY29sdW1uX3R5cGUsIF9leHRyYSwgX2NvbHVtbl9jb21tZW50OwoJCUlGIE5PVCBkb25lIFRIRU4KCQkJU0VUIHNldF9hZnRlciA9IDE7CgkJCUNBU0UgX2NvbHVtbl9uYW1lIjtmb3JlYWNoKCRwCmFzJGEpe2VjaG8iCgkJCQlXSEVOICIucSgkYVsiQ09MVU1OX05BTUUiXSkuIiBUSEVOCgkJCQkJU0VUIGFkZF9jb2x1bW5zID0gUkVQTEFDRShhZGRfY29sdW1ucywgJywgQUREICRhW2FsdGVyXScsIElGKAoJCQkJCQlfY29sdW1uX2RlZmF1bHQgPD0+ICRhW2RlZmF1bHRdIEFORCBfaXNfbnVsbGFibGUgPSAnJGFbSVNfTlVMTEFCTEVdJyBBTkQgX2NvbGxhdGlvbl9uYW1lIDw9PiAiLihpc3NldCgkYVsiQ09MTEFUSU9OX05BTUUiXSk/IickYVtDT0xMQVRJT05fTkFNRV0nIjoiTlVMTCIpLiIgQU5EIF9jb2x1bW5fdHlwZSA9ICIucSgkYVsiQ09MVU1OX1RZUEUiXSkuIiBBTkQgX2V4dHJhID0gJyRhW0VYVFJBXScgQU5EIF9jb2x1bW5fY29tbWVudCA9ICIucSgkYVsiQ09MVU1OX0NPTU1FTlQiXSkuIiBBTkQgYWZ0ZXIgPSAkYVthZnRlcl0KCQkJCQksICcnLCAnLCBNT0RJRlkgJGFbYWx0ZXJdJykpOyI7fWVjaG8iCgkJCQlFTFNFCgkJCQkJU0VUIEBhbHRlcl90YWJsZSA9IENPTkNBVChAYWx0ZXJfdGFibGUsICcsIERST1AgJywgX2NvbHVtbl9uYW1lKTsKCQkJCQlTRVQgc2V0X2FmdGVyID0gMDsKCQkJRU5EIENBU0U7CgkJCUlGIHNldF9hZnRlciBUSEVOCgkJCQlTRVQgYWZ0ZXIgPSBfY29sdW1uX25hbWU7CgkJCUVORCBJRjsKCQlFTkQgSUY7CglVTlRJTCBkb25lIEVORCBSRVBFQVQ7CglDTE9TRSBjb2x1bW5zOwoJSUYgQGFsdGVyX3RhYmxlICE9ICcnIE9SIGFkZF9jb2x1bW5zICE9ICcnIFRIRU4KCQlTRVQgYWx0ZXJfY29tbWFuZCA9IENPTkNBVChhbHRlcl9jb21tYW5kLCAnQUxURVIgVEFCTEUgIi50YWJsZSgkaCkuIicsIFNVQlNUUihDT05DQVQoYWRkX2NvbHVtbnMsIEBhbHRlcl90YWJsZSksIDIpLCAnO1xcbicpOwoJRU5EIElGOwpFTkQ7OwpERUxJTUlURVIgOwpDQUxMIGFkbWluZXJfYWx0ZXIoQGFkbWluZXJfYWx0ZXIpOwpEUk9QIFBST0NFRFVSRSBhZG1pbmVyX2FsdGVyOwoKIjt9fX1mdW5jdGlvbgpkdW1wRGF0YSgkaCwkViwkaSl7Z2xvYmFsJGcsJHU7JFVlPSgkdT09InNxbGl0ZSI/MDoxMDQ4NTc2KTtpZigkVil7aWYoJF9QT1NUWyJmb3JtYXQiXT09InNxbCImJiRWPT0iVFJVTkNBVEUrSU5TRVJUIil7ZWNobwp0cnVuY2F0ZV9zcWwoJGgpLiI7XG4iO31pZigkX1BPU1RbImZvcm1hdCJdPT0ic3FsIil7JHA9ZmllbGRzKCRoKTt9JGo9JGctPnF1ZXJ5KCRpLDEpO2lmKCRqKXskcmM9IiI7JHdiPSIiO3doaWxlKCRhPSRqLT5mZXRjaF9hc3NvYygpKXtpZigkX1BPU1RbImZvcm1hdCJdIT0ic3FsIil7aWYoJFY9PSJ0YWJsZSIpe2R1bXBfY3N2KGFycmF5X2tleXMoJGEpKTskVj0iSU5TRVJUIjt9ZHVtcF9jc3YoJGEpO31lbHNle2lmKCEkcmMpeyRyYz0iSU5TRVJUIElOVE8gIi50YWJsZSgkaCkuIiAoIi5pbXBsb2RlKCIsICIsYXJyYXlfbWFwKCdpZGZfZXNjYXBlJyxhcnJheV9rZXlzKCRhKSkpLiIpIFZBTFVFUyI7fWZvcmVhY2goJGEKYXMkZD0+JGIpeyRhWyRkXT0oaXNzZXQoJGIpPyhlcmVnKCdpbnR8ZmxvYXR8ZG91YmxlfGRlY2ltYWwnLCRwWyRkXVsidHlwZSJdKT8kYjpxKCRiKSk6Ik5VTEwiKTt9JHFhPWltcGxvZGUoIixcdCIsJGEpO2lmKCRWPT0iSU5TRVJUK1VQREFURSIpeyRzPWFycmF5KCk7Zm9yZWFjaCgkYQphcyRkPT4kYil7JHNbXT1pZGZfZXNjYXBlKCRkKS4iID0gJGIiO31lY2hvIiRyYyAoJHFhKSBPTiBEVVBMSUNBVEUgS0VZIFVQREFURSAiLmltcGxvZGUoIiwgIiwkcykuIjtcbiI7fWVsc2V7JHFhPSgkVWU/IlxuIjoiICIpLiIoJHFhKSI7aWYoISR3Yil7JHdiPSRyYy4kcWE7fWVsc2VpZihzdHJsZW4oJHdiKSs0K3N0cmxlbigkcWEpPCRVZSl7JHdiLj0iLCRxYSI7fWVsc2V7ZWNobyIkd2I7XG4iOyR3Yj0kcmMuJHFhO319fX1pZigkX1BPU1RbImZvcm1hdCJdPT0ic3FsIiYmJFYhPSJJTlNFUlQrVVBEQVRFIiYmJHdiKXskd2IuPSI7XG4iO2VjaG8kd2I7fX1lbHNlaWYoJF9QT1NUWyJmb3JtYXQiXT09InNxbCIpe2VjaG8iLS0gIi5zdHJfcmVwbGFjZSgiXG4iLCIgIiwkZy0+ZXJyb3IpLiJcbiI7fX19ZnVuY3Rpb24KZHVtcEhlYWRlcnMoJGRkLCRLZD1mYWxzZSl7JFFhPSRfUE9TVFsib3V0cHV0Il07JEhiPSgkX1BPU1RbImZvcm1hdCJdPT0ic3FsIj8ic3FsIjooJEtkPyJ0YXIiOiJjc3YiKSk7aGVhZGVyKCJDb250ZW50LVR5cGU6ICIuKCRRYT09ImJ6MiI/ImFwcGxpY2F0aW9uL3gtYnppcCI6KCRRYT09Imd6Ij8iYXBwbGljYXRpb24veC1nemlwIjooJEhiPT0idGFyIj8iYXBwbGljYXRpb24veC10YXIiOigkSGI9PSJzcWwifHwkUWEhPSJmaWxlIj8idGV4dC9wbGFpbiI6InRleHQvY3N2IikuIjsgY2hhcnNldD11dGYtOCIpKSkpO2lmKCRRYT09ImJ6MiIpe29iX3N0YXJ0KCdiemNvbXByZXNzJywxZTYpO31pZigkUWE9PSJneiIpe29iX3N0YXJ0KCdnemVuY29kZScsMWU2KTt9cmV0dXJuJEhiO31mdW5jdGlvbgpob21lcGFnZSgpe2VjaG8nPHA+Jy4oJF9HRVRbIm5zIl09PSIiPyc8YSBocmVmPSInLmgoTUUpLidkYXRhYmFzZT0iPicubGFuZyg0NikuIjwvYT5cbiI6IiIpLChzdXBwb3J0KCJzY2hlbWUiKT8iPGEgaHJlZj0nIi5oKE1FKS4ic2NoZW1lPSc+Ii4oJF9HRVRbIm5zIl0hPSIiP2xhbmcoNDcpOmxhbmcoNDgpKS4iPC9hPlxuIjoiIiksKCRfR0VUWyJucyJdIT09IiI/JzxhIGhyZWY9IicuaChNRSkuJ3NjaGVtYT0iPicubGFuZyg0OSkuIjwvYT5cbiI6IiIpLChzdXBwb3J0KCJwcml2aWxlZ2VzIik/IjxhIGhyZWY9JyIuaChNRSkuInByaXZpbGVnZXM9Jz4iLmxhbmcoNTApLiI8L2E+XG4iOiIiKTtyZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24KbmF2aWdhdGlvbigkZmMpe2dsb2JhbCRvYywkZywkTywkdSwkb2E7ZWNobyc8aDE+CicsJHRoaXMtPm5hbWUoKSwnIDxzcGFuIGNsYXNzPSJ2ZXJzaW9uIj4nLCRvYywnPC9zcGFuPgo8YSBocmVmPSJodHRwOi8vd3d3LmFkbWluZXIub3JnLyNkb3dubG9hZCIgaWQ9InZlcnNpb24iPicsKHZlcnNpb25fY29tcGFyZSgkb2MsJF9DT09LSUVbImFkbWluZXJfdmVyc2lvbiJdKTwwP2goJF9DT09LSUVbImFkbWluZXJfdmVyc2lvbiJdKToiIiksJzwvYT4KPC9oMT4KJztpZigkZmM9PSJhdXRoIil7JENhPXRydWU7Zm9yZWFjaCgoYXJyYXkpJF9TRVNTSU9OWyJwd2RzIl1hcyROYj0+JEVmKXtmb3JlYWNoKCRFZgphcyRGPT4kUmYpe2ZvcmVhY2goJFJmCmFzJFE9PiRUKXtpZihpc3NldCgkVCkpe2lmKCRDYSl7ZWNobyI8cCBvbmNsaWNrPSdldmVudFN0b3AoZXZlbnQpOyc+XG4iOyRDYT1mYWxzZTt9ZWNobyI8YSBocmVmPSciLmgoYXV0aF91cmwoJE5iLCRGLCRRKSkuIic+KCRvYVskTmJdKSAiLmgoJFEuKCRGIT0iIj8iQCRGIjoiIikpLiI8L2E+PGJyPlxuIjt9fX19fWVsc2V7JEE9Z2V0X2RhdGFiYXNlcygpO2VjaG8nPGZvcm0gYWN0aW9uPSIiIG1ldGhvZD0icG9zdCI+CjxwIGNsYXNzPSJsb2dvdXQiPgonO2lmKERCPT0iInx8ISRmYyl7ZWNobyI8YSBocmVmPSciLmgoTUUpLiJzcWw9JyIuYm9sZChpc3NldCgkX0dFVFsic3FsIl0pKS4iPiIubGFuZyg0MykuIjwvYT5cbiI7aWYoc3VwcG9ydCgiZHVtcCIpKXtlY2hvIjxhIGhyZWY9JyIuaChNRSkuImR1bXA9Ii51cmxlbmNvZGUoaXNzZXQoJF9HRVRbInRhYmxlIl0pPyRfR0VUWyJ0YWJsZSJdOiRfR0VUWyJzZWxlY3QiXSkuIicgaWQ9J2R1bXAnIi5ib2xkKGlzc2V0KCRfR0VUWyJkdW1wIl0pKS4iPiIubGFuZyg1MSkuIjwvYT5cbiI7fX1lY2hvJzxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9ImxvZ291dCIgdmFsdWU9IicsbGFuZyg1MiksJyIgb25jbGljaz0iZXZlbnRTdG9wKGV2ZW50KTsiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ0b2tlbiIgdmFsdWU9IicsJE8sJyI+CjwvcD4KPC9mb3JtPgo8Zm9ybSBhY3Rpb249IiI+CjxwPgonO2hpZGRlbl9maWVsZHNfZ2V0KCk7ZWNobygkQT9odG1sX3NlbGVjdCgiZGIiLGFycmF5KCIiPT4iKCIubGFuZyg1MykuIikiKSskQSxEQiwidGhpcy5mb3JtLnN1Ym1pdCgpOyIpOic8aW5wdXQgbmFtZT0iZGIiIHZhbHVlPSInLmgoREIpLiciPicpLCc8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iJyxsYW5nKDgpLCciJywoJEE/IiBjbGFzcz0naGlkZGVuJyI6IiIpLCcgb25jbGljaz0iZXZlbnRTdG9wKGV2ZW50KTsiPgonO2lmKCRmYyE9ImRiIiYmREIhPSIiJiYkZy0+c2VsZWN0X2RiKERCKSl7aWYoc3VwcG9ydCgic2NoZW1lIikpe2VjaG8iPGJyPiIuaHRtbF9zZWxlY3QoIm5zIixhcnJheSgiIj0+IigiLmxhbmcoNTQpLiIpIikrc2NoZW1hcygpLCRfR0VUWyJucyJdLCJ0aGlzLmZvcm0uc3VibWl0KCk7Iik7aWYoJF9HRVRbIm5zIl0hPSIiKXtzZXRfc2NoZW1hKCRfR0VUWyJucyJdKTt9fWlmKCRfR0VUWyJucyJdIT09IiImJiEkZmMpe2VjaG8nPHA+PGEgaHJlZj0iJy5oKE1FKS4nY3JlYXRlPSInLmJvbGQoJF9HRVRbImNyZWF0ZSJdPT09IiIpLiI+Ii5sYW5nKDU1KS4iPC9hPlxuIjskRT10YWJsZXNfbGlzdCgpO2lmKCEkRSl7ZWNobyI8cCBjbGFzcz0nbWVzc2FnZSc+Ii5sYW5nKDYpLiJcbiI7fWVsc2V7JHRoaXMtPnRhYmxlc1ByaW50KCRFKTskd2E9YXJyYXkoKTtmb3JlYWNoKCRFCmFzJGg9PiRfKXskd2FbXT1wcmVnX3F1b3RlKCRoLCcvJyk7fWVjaG8iPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPlxuIiwidmFyIGp1c2hMaW5rcyA9IHsgJHU6IFsgJyIuanNfZXNjYXBlKE1FKS4idGFibGU9XCQmJywgL1xcYigiLmltcGxvZGUoInwiLCR3YSkuIilcXGIvZyBdIH07XG4iO2ZvcmVhY2goYXJyYXkoImJhYyIsImJyYSIsInNxbGl0ZV9xdW8iLCJtc3NxbF9icmEiKWFzJGIpe2VjaG8ianVzaExpbmtzLiRiID0ganVzaExpbmtzLiR1O1xuIjt9ZWNobyI8L3NjcmlwdD5cbiI7fX19ZWNobyhpc3NldCgkX0dFVFsic3FsIl0pPyc8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJzcWwiIHZhbHVlPSIiPic6KGlzc2V0KCRfR0VUWyJzY2hlbWEiXSk/JzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InNjaGVtYSIgdmFsdWU9IiI+JzooaXNzZXQoJF9HRVRbImR1bXAiXSk/JzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImR1bXAiIHZhbHVlPSIiPic6IiIpKSksIjwvcD48L2Zvcm0+XG4iO319ZnVuY3Rpb24KdGFibGVzUHJpbnQoJEUpe2VjaG8iPHAgaWQ9J3RhYmxlcyc+XG4iO2ZvcmVhY2goJEUKYXMkaD0+JF8pe2VjaG8nPGEgaHJlZj0iJy5oKE1FKS4nc2VsZWN0PScudXJsZW5jb2RlKCRoKS4nIicuYm9sZCgkX0dFVFsic2VsZWN0Il09PSRoKS4iPiIubGFuZyg1NikuIjwvYT4gIiwnPGEgaHJlZj0iJy5oKE1FKS4ndGFibGU9Jy51cmxlbmNvZGUoJGgpLiciJy5ib2xkKCRfR0VUWyJ0YWJsZSJdPT0kaCkuIj4iLiR0aGlzLT50YWJsZU5hbWUoYXJyYXkoIk5hbWUiPT4kaCkpLiI8L2E+PGJyPlxuIjt9fX0kbz0oZnVuY3Rpb25fZXhpc3RzKCdhZG1pbmVyX29iamVjdCcpP2FkbWluZXJfb2JqZWN0KCk6bmV3CkFkbWluZXIpO2lmKCFpc3NldCgkby0+b3BlcmF0b3JzKSl7JG8tPm9wZXJhdG9ycz0kamM7fWZ1bmN0aW9uCnBhZ2VfaGVhZGVyKCRMZSwkbj0iIiwkc2M9YXJyYXkoKSwkS2U9IiIpe2dsb2JhbCRqYSwkbywkZywkb2E7aGVhZGVyKCJDb250ZW50LVR5cGU6IHRleHQvaHRtbDsgY2hhcnNldD11dGYtOCIpO2lmKCRvLT5oZWFkZXJzKCkpe2hlYWRlcigiWC1GcmFtZS1PcHRpb25zOiBkZW55Iik7aGVhZGVyKCJYLVhTUy1Qcm90ZWN0aW9uOiAwIik7fSRDZT0kTGUuKCRLZSE9IiI/IjogIi5oKCRLZSk6IiIpOyRCZT1zdHJpcF90YWdzKCRDZS4oU0VSVkVSIT0iIiYmU0VSVkVSIT0ibG9jYWxob3N0Ij9oKCIgLSAiLlNFUlZFUik6IiIpLiIgLSAiLiRvLT5uYW1lKCkpO2lmKGlzX2FqYXgoKSl7aGVhZGVyKCJYLUFKQVgtVGl0bGU6ICIucmF3dXJsZW5jb2RlKCRCZSkpO31lbHNle2VjaG8nPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEvL0VOIj4KPGh0bWwgbGFuZz0iJywkamEsJyIgZGlyPSInLGxhbmcoNTcpLCciPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCI+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtU2NyaXB0LVR5cGUiIGNvbnRlbnQ9InRleHQvamF2YXNjcmlwdCI+CjxtZXRhIG5hbWU9InJvYm90cyIgY29udGVudD0ibm9pbmRleCI+Cjx0aXRsZT4nLCRCZSwnPC90aXRsZT4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iJyxoKHByZWdfcmVwbGFjZSgiflxcPy4qfiIsIiIsTUUpKS4iP2ZpbGU9ZGVmYXVsdC5jc3MmYW1wO3ZlcnNpb249My4zLjIiLCciPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CnZhciBhcmVZb3VTdXJlID0gXCcnLGxhbmcoNTgpLCdcJzsKPC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IicsaChwcmVnX3JlcGxhY2UoIn5cXD8uKn4iLCIiLE1FKSkuIj9maWxlPWZ1bmN0aW9ucy5qcyZhbXA7dmVyc2lvbj0zLjMuMiIsJyI+PC9zY3JpcHQ+Cic7aWYoJG8tPmhlYWQoKSl7ZWNobyc8bGluayByZWw9InNob3J0Y3V0IGljb24iIHR5cGU9ImltYWdlL3gtaWNvbiIgaHJlZj0iJyxoKHByZWdfcmVwbGFjZSgiflxcPy4qfiIsIiIsTUUpKS4iP2ZpbGU9ZmF2aWNvbi5pY28mYW1wO3ZlcnNpb249My4zLjIiLCciIGlkPSJmYXZpY29uIj4KJztpZihmaWxlX2V4aXN0cygiYWRtaW5lci5jc3MiKSl7ZWNobyc8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJhZG1pbmVyLmNzcyI+Cic7fX1lY2hvJwo8Ym9keSBjbGFzcz0iJyxsYW5nKDU3KSwnIG5vanMiJywoJF9QT1NUPyIiOiIgb25jbGljaz1cInJldHVybiBib2R5Q2xpY2soZXZlbnQsICciLmgoanNfZXNjYXBlKERCKS4iJywgJyIuanNfZXNjYXBlKCRfR0VUWyJucyJdKSkuIicpO1wiIik7ZWNobycgb25rZXlkb3duPSJib2R5S2V5ZG93bihldmVudCk7IiBvbmxvYWQ9ImJvZHlMb2FkKFwnJywoaXNfb2JqZWN0KCRnKT9zdWJzdHIoJGctPnNlcnZlcl9pbmZvLDAsMyk6IiIpLCdcJyk7JywoaXNzZXQoJF9DT09LSUVbImFkbWluZXJfdmVyc2lvbiJdKT8iIjoiIHZlcmlmeVZlcnNpb24oKTsiKTs/PiI+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KZG9jdW1lbnQuYm9keS5jbGFzc05hbWUgPSBkb2N1bWVudC5ib2R5LmNsYXNzTmFtZS5yZXBsYWNlKC8oXnxccylub2pzKFxzfCQpLywgJyQxanMkMicpOwo8L3NjcmlwdD4KCjxkaXYgaWQ9ImNvbnRlbnQiPgo8P3BocAp9aWYoaXNzZXQoJHNjKSl7JHk9c3Vic3RyKHByZWdfcmVwbGFjZSgnfih1c2VybmFtZXxkYnxucyk9W14mXSomficsJycsTUUpLDAsLTEpO2VjaG8nPHAgaWQ9ImJyZWFkY3J1bWIiPjxhIGhyZWY9IicuaCgkeT8keToiLiIpLiciPicuJG9hW0RSSVZFUl0uJzwvYT4gJnJhcXVvOyAnOyR5PXN1YnN0cihwcmVnX3JlcGxhY2UoJ34oZGJ8bnMpPVteJl0qJn4nLCcnLE1FKSwwLC0xKTskRj0oU0VSVkVSIT0iIj9oKFNFUlZFUik6bGFuZygyMCkpO2lmKCRzYz09PWZhbHNlKXtlY2hvIiRGXG4iO31lbHNle2VjaG8iPGEgaHJlZj0nIi4oJHk/aCgkeSk6Ii4iKS4iJyBhY2Nlc3NrZXk9JzEnIHRpdGxlPSdBbHQrU2hpZnQrMSc+JEY8L2E+ICZyYXF1bzsgIjtpZigkX0dFVFsibnMiXSE9IiJ8fChEQiE9IiImJmlzX2FycmF5KCRzYykpKXtlY2hvJzxhIGhyZWY9IicuaCgkeS4iJmRiPSIudXJsZW5jb2RlKERCKS4oc3VwcG9ydCgic2NoZW1lIik/IiZucz0iOiIiKSkuJyI+Jy5oKERCKS4nPC9hPiAmcmFxdW87ICc7fWlmKGlzX2FycmF5KCRzYykpe2lmKCRfR0VUWyJucyJdIT0iIil7ZWNobyc8YSBocmVmPSInLmgoc3Vic3RyKE1FLDAsLTEpKS4nIj4nLmgoJF9HRVRbIm5zIl0pLic8L2E+ICZyYXF1bzsgJzt9Zm9yZWFjaCgkc2MKYXMkZD0+JGIpeyRFYz0oaXNfYXJyYXkoJGIpPyRiWzFdOiRiKTtpZigkRWMhPSIiKXtlY2hvJzxhIGhyZWY9IicuaChNRS4iJGQ9IikudXJsZW5jb2RlKGlzX2FycmF5KCRiKT8kYlswXTokYikuJyI+Jy5oKCRFYykuJzwvYT4gJnJhcXVvOyAnO319fWVjaG8iJExlXG4iO319ZWNobyI8c3BhbiBpZD0nbG9hZGVyJz48L3NwYW4+XG4iLCI8aDI+JENlPC9oMj5cbiI7cmVzdGFydF9zZXNzaW9uKCk7JEFlPXByZWdfcmVwbGFjZSgnfl5bXj9dKn4nLCcnLCRfU0VSVkVSWyJSRVFVRVNUX1VSSSJdKTskemU9JF9TRVNTSU9OWyJtZXNzYWdlcyJdWyRBZV07aWYoJHplKXtlY2hvIjxkaXYgY2xhc3M9J21lc3NhZ2UnPiIuaW1wbG9kZSgiPC9kaXY+XG48ZGl2IGNsYXNzPSdtZXNzYWdlJz4iLCR6ZSkuIjwvZGl2PlxuIjt1bnNldCgkX1NFU1NJT05bIm1lc3NhZ2VzIl1bJEFlXSk7fSRBPSZnZXRfc2Vzc2lvbigiZGJzIik7aWYoREIhPSIiJiYkQSYmIWluX2FycmF5KERCLCRBLHRydWUpKXskQT1udWxsO31pZigkbil7ZWNobyI8ZGl2IGNsYXNzPSdlcnJvcic+JG48L2Rpdj5cbiI7fWRlZmluZSgiUEFHRV9IRUFERVIiLDEpO31mdW5jdGlvbgpwYWdlX2Zvb3RlcigkZmM9IiIpe2dsb2JhbCRvO2lmKCFpc19hamF4KCkpe2VjaG8nPC9kaXY+CgonO3N3aXRjaF9sYW5nKCk7ZWNobyc8ZGl2IGlkPSJtZW51Ij4KJzskby0+bmF2aWdhdGlvbigkZmMpO2VjaG8nPC9kaXY+Cic7fX1mdW5jdGlvbgppbnQzMigkZ2Epe3doaWxlKCRnYT49MjE0NzQ4MzY0OCl7JGdhLT00Mjk0OTY3Mjk2O313aGlsZSgkZ2E8PS0yMTQ3NDgzNjQ5KXskZ2ErPTQyOTQ5NjcyOTY7fXJldHVybihpbnQpJGdhO31mdW5jdGlvbgpsb25nMnN0cigkeiwkSWQpeyRxYT0nJztmb3JlYWNoKCR6CmFzJGIpeyRxYS49cGFjaygnVicsJGIpO31pZigkSWQpe3JldHVybgpzdWJzdHIoJHFhLDAsZW5kKCR6KSk7fXJldHVybiRxYTt9ZnVuY3Rpb24Kc3RyMmxvbmcoJHFhLCRJZCl7JHo9YXJyYXlfdmFsdWVzKHVucGFjaygnVionLHN0cl9wYWQoJHFhLDQqY2VpbChzdHJsZW4oJHFhKS80KSwiXDAiKSkpO2lmKCRJZCl7JHpbXT1zdHJsZW4oJHFhKTt9cmV0dXJuJHo7fWZ1bmN0aW9uCnh4dGVhX214KCRfYSwkemEsJEthLCRNYSl7cmV0dXJuCmludDMyKCgoJF9hPj41JjB4N0ZGRkZGRileJHphPDwyKSsoKCR6YT4+MyYweDFGRkZGRkZGKV4kX2E8PDQpKV5pbnQzMigoJEthXiR6YSkrKCRNYV4kX2EpKTt9ZnVuY3Rpb24KZW5jcnlwdF9zdHJpbmcoJEZjLCRkKXtpZigkRmM9PSIiKXtyZXR1cm4iIjt9JGQ9YXJyYXlfdmFsdWVzKHVucGFjaygiVioiLHBhY2soIkgqIixtZDUoJGQpKSkpOyR6PXN0cjJsb25nKCRGYyx0cnVlKTskZ2E9Y291bnQoJHopLTE7JF9hPSR6WyRnYV07JHphPSR6WzBdOyRiYT1mbG9vcig2KzUyLygkZ2ErMSkpOyRLYT0wO3doaWxlKCRiYS0tPjApeyRLYT1pbnQzMigkS2ErMHg5RTM3NzlCOSk7JEJjPSRLYT4+MiYzO2ZvcigkQmE9MDskQmE8JGdhOyRCYSsrKXskemE9JHpbJEJhKzFdOyRMYj14eHRlYV9teCgkX2EsJHphLCRLYSwkZFskQmEmM14kQmNdKTskX2E9aW50MzIoJHpbJEJhXSskTGIpOyR6WyRCYV09JF9hO30kemE9JHpbMF07JExiPXh4dGVhX214KCRfYSwkemEsJEthLCRkWyRCYSYzXiRCY10pOyRfYT1pbnQzMigkelskZ2FdKyRMYik7JHpbJGdhXT0kX2E7fXJldHVybgpsb25nMnN0cigkeixmYWxzZSk7fWZ1bmN0aW9uCmRlY3J5cHRfc3RyaW5nKCRGYywkZCl7aWYoJEZjPT0iIil7cmV0dXJuIiI7fSRkPWFycmF5X3ZhbHVlcyh1bnBhY2soIlYqIixwYWNrKCJIKiIsbWQ1KCRkKSkpKTskej1zdHIybG9uZygkRmMsZmFsc2UpOyRnYT1jb3VudCgkeiktMTskX2E9JHpbJGdhXTskemE9JHpbMF07JGJhPWZsb29yKDYrNTIvKCRnYSsxKSk7JEthPWludDMyKCRiYSoweDlFMzc3OUI5KTt3aGlsZSgkS2EpeyRCYz0kS2E+PjImMztmb3IoJEJhPSRnYTskQmE+MDskQmEtLSl7JF9hPSR6WyRCYS0xXTskTGI9eHh0ZWFfbXgoJF9hLCR6YSwkS2EsJGRbJEJhJjNeJEJjXSk7JHphPWludDMyKCR6WyRCYV0tJExiKTskelskQmFdPSR6YTt9JF9hPSR6WyRnYV07JExiPXh4dGVhX214KCRfYSwkemEsJEthLCRkWyRCYSYzXiRCY10pOyR6YT1pbnQzMigkelswXS0kTGIpOyR6WzBdPSR6YTskS2E9aW50MzIoJEthLTB4OUUzNzc5QjkpO31yZXR1cm4KbG9uZzJzdHIoJHosdHJ1ZSk7fSRnPScnOyRPPSRfU0VTU0lPTlsidG9rZW4iXTtpZighJF9TRVNTSU9OWyJ0b2tlbiJdKXskX1NFU1NJT05bInRva2VuIl09cmFuZCgxLDFlNik7fSREYj1hcnJheSgpO2lmKCRfQ09PS0lFWyJhZG1pbmVyX3Blcm1hbmVudCJdKXtmb3JlYWNoKGV4cGxvZGUoIiAiLCRfQ09PS0lFWyJhZG1pbmVyX3Blcm1hbmVudCJdKWFzJGIpe2xpc3QoJGQpPWV4cGxvZGUoIjoiLCRiKTskRGJbJGRdPSRiO319aWYoaXNzZXQoJF9QT1NUWyJzZXJ2ZXIiXSkpe3Nlc3Npb25fcmVnZW5lcmF0ZV9pZCgpOyRfU0VTU0lPTlsicHdkcyJdWyRfUE9TVFsiZHJpdmVyIl1dWyRfUE9TVFsic2VydmVyIl1dWyRfUE9TVFsidXNlcm5hbWUiXV09JF9QT1NUWyJwYXNzd29yZCJdO2lmKCRfUE9TVFsicGVybWFuZW50Il0peyRkPWJhc2U2NF9lbmNvZGUoJF9QT1NUWyJkcml2ZXIiXSkuIi0iLmJhc2U2NF9lbmNvZGUoJF9QT1NUWyJzZXJ2ZXIiXSkuIi0iLmJhc2U2NF9lbmNvZGUoJF9QT1NUWyJ1c2VybmFtZSJdKTskS2M9JG8tPnBlcm1hbmVudExvZ2luKCk7JERiWyRkXT0iJGQ6Ii5iYXNlNjRfZW5jb2RlKCRLYz9lbmNyeXB0X3N0cmluZygkX1BPU1RbInBhc3N3b3JkIl0sJEtjKToiIik7Y29va2llKCJhZG1pbmVyX3Blcm1hbmVudCIsaW1wbG9kZSgiICIsJERiKSk7fWlmKGNvdW50KCRfUE9TVCk9PSgkX1BPU1RbInBlcm1hbmVudCJdPzU6NCl8fERSSVZFUiE9JF9QT1NUWyJkcml2ZXIiXXx8U0VSVkVSIT0kX1BPU1RbInNlcnZlciJdfHwkX0dFVFsidXNlcm5hbWUiXSE9PSRfUE9TVFsidXNlcm5hbWUiXSl7cmVkaXJlY3QoYXV0aF91cmwoJF9QT1NUWyJkcml2ZXIiXSwkX1BPU1RbInNlcnZlciJdLCRfUE9TVFsidXNlcm5hbWUiXSkpO319ZWxzZWlmKCRfUE9TVFsibG9nb3V0Il0pe2lmKCRPJiYkX1BPU1RbInRva2VuIl0hPSRPKXtwYWdlX2hlYWRlcihsYW5nKDUyKSxsYW5nKDU5KSk7cGFnZV9mb290ZXIoImRiIik7ZXhpdDt9ZWxzZXtmb3JlYWNoKGFycmF5KCJwd2RzIiwiZGJzIiwicXVlcmllcyIpYXMkZCl7c2V0X3Nlc3Npb24oJGQsbnVsbCk7fSRkPWJhc2U2NF9lbmNvZGUoRFJJVkVSKS4iLSIuYmFzZTY0X2VuY29kZShTRVJWRVIpLiItIi5iYXNlNjRfZW5jb2RlKCRfR0VUWyJ1c2VybmFtZSJdKTtpZigkRGJbJGRdKXt1bnNldCgkRGJbJGRdKTtjb29raWUoImFkbWluZXJfcGVybWFuZW50IixpbXBsb2RlKCIgIiwkRGIpKTt9cmVkaXJlY3Qoc3Vic3RyKHByZWdfcmVwbGFjZSgnfih1c2VybmFtZXxkYnxucyk9W14mXSomficsJycsTUUpLDAsLTEpLGxhbmcoNjApKTt9fWVsc2VpZigkRGImJiEkX1NFU1NJT05bInB3ZHMiXSl7c2Vzc2lvbl9yZWdlbmVyYXRlX2lkKCk7JEtjPSRvLT5wZXJtYW5lbnRMb2dpbigpO2ZvcmVhY2goJERiCmFzJGQ9PiRiKXtsaXN0KCwkUGYpPWV4cGxvZGUoIjoiLCRiKTtsaXN0KCROYiwkRiwkUSk9YXJyYXlfbWFwKCdiYXNlNjRfZGVjb2RlJyxleHBsb2RlKCItIiwkZCkpOyRfU0VTU0lPTlsicHdkcyJdWyROYl1bJEZdWyRRXT1kZWNyeXB0X3N0cmluZyhiYXNlNjRfZGVjb2RlKCRQZiksJEtjKTt9fWZ1bmN0aW9uCmF1dGhfZXJyb3IoJFplPW51bGwpe2dsb2JhbCRnLCRvLCRPOyRJYz1zZXNzaW9uX25hbWUoKTskbj0iIjtpZighJF9DT09LSUVbJEljXSYmJF9HRVRbJEljXSYmaW5pX2Jvb2woInNlc3Npb24udXNlX29ubHlfY29va2llcyIpKXskbj1sYW5nKDYxKTt9ZWxzZWlmKGlzc2V0KCRfR0VUWyJ1c2VybmFtZSJdKSl7aWYoKCRfQ09PS0lFWyRJY118fCRfR0VUWyRJY10pJiYhJE8peyRuPWxhbmcoNjIpO31lbHNleyRUPSZnZXRfc2Vzc2lvbigicHdkcyIpO2lmKGlzc2V0KCRUKSl7JG49aCgkWmU/JFplLT5nZXRNZXNzYWdlKCk6KGlzX3N0cmluZygkZyk/JGc6bGFuZyg2MykpKTskVD1udWxsO319fXBhZ2VfaGVhZGVyKGxhbmcoMjMpLCRuLG51bGwpO2VjaG8iPGZvcm0gYWN0aW9uPScnIG1ldGhvZD0ncG9zdCcgb25jbGljaz0nZXZlbnRTdG9wKGV2ZW50KTsnPlxuIjskby0+bG9naW5Gb3JtKCk7ZWNobyI8ZGl2PiI7aGlkZGVuX2ZpZWxkcygkX1BPU1QsYXJyYXkoImRyaXZlciIsInNlcnZlciIsInVzZXJuYW1lIiwicGFzc3dvcmQiLCJwZXJtYW5lbnQiKSk7ZWNobyI8L2Rpdj5cbiIsIjwvZm9ybT5cbiI7cGFnZV9mb290ZXIoImF1dGgiKTt9aWYoaXNzZXQoJF9HRVRbInVzZXJuYW1lIl0pKXtpZighY2xhc3NfZXhpc3RzKCJNaW5fREIiKSl7dW5zZXQoJF9TRVNTSU9OWyJwd2RzIl1bRFJJVkVSXSk7cGFnZV9oZWFkZXIobGFuZyg2NCksbGFuZyg2NSxpbXBsb2RlKCIsICIsJGxjKSksZmFsc2UpO3BhZ2VfZm9vdGVyKCJhdXRoIik7ZXhpdDt9JGc9Y29ubmVjdCgpO31pZihpc19zdHJpbmcoJGcpfHwhJG8tPmxvZ2luKCRfR0VUWyJ1c2VybmFtZSJdLGdldF9zZXNzaW9uKCJwd2RzIikpKXthdXRoX2Vycm9yKCk7ZXhpdDt9JE89JF9TRVNTSU9OWyJ0b2tlbiJdO2lmKGlzc2V0KCRfUE9TVFsic2VydmVyIl0pJiYkX1BPU1RbInRva2VuIl0peyRfUE9TVFsidG9rZW4iXT0kTzt9JG49KCRfUE9TVD8oJF9QT1NUWyJ0b2tlbiJdPT0kTz8iIjpsYW5nKDU5KSk6KCRfU0VSVkVSWyJSRVFVRVNUX01FVEhPRCJdIT0iUE9TVCI/IiI6bGFuZyg2NiwnInBvc3RfbWF4X3NpemUiJykpKTtmdW5jdGlvbgpjb25uZWN0X2Vycm9yKCl7Z2xvYmFsJGcsJE8sJG4sJG9hOyRBPWFycmF5KCk7aWYoREIhPSIiKXtwYWdlX2hlYWRlcihsYW5nKDY3KS4iOiAiLmgoREIpLGxhbmcoNjgpLHRydWUpO31lbHNle2lmKCRfUE9TVFsiZGIiXSYmISRuKXtxdWVyaWVzX3JlZGlyZWN0KHN1YnN0cihNRSwwLC0xKSxsYW5nKDY5KSxkcm9wX2RhdGFiYXNlcygkX1BPU1RbImRiIl0pKTt9cGFnZV9oZWFkZXIobGFuZyg3MCksJG4sZmFsc2UpO2VjaG8iPHA+PGEgaHJlZj0nIi5oKE1FKS4iZGF0YWJhc2U9Jz4iLmxhbmcoNzEpLiI8L2E+XG4iO2ZvcmVhY2goYXJyYXkoJ3ByaXZpbGVnZXMnPT5sYW5nKDUwKSwncHJvY2Vzc2xpc3QnPT5sYW5nKDcyKSwndmFyaWFibGVzJz0+bGFuZyg3MyksJ3N0YXR1cyc9PmxhbmcoNzQpLClhcyRkPT4kYil7aWYoc3VwcG9ydCgkZCkpe2VjaG8iPGEgaHJlZj0nIi5oKE1FKS4iJGQ9Jz4kYjwvYT5cbiI7fX1lY2hvIjxwPiIubGFuZyg3NSwkb2FbRFJJVkVSXSwiPGI+JGctPnNlcnZlcl9pbmZvPC9iPiIsIjxiPiRnLT5leHRlbnNpb248L2I+IikuIlxuIiwiPHA+Ii5sYW5nKDc2LCI8Yj4iLmgobG9nZ2VkX3VzZXIoKSkuIjwvYj4iKS4iXG4iO2lmKCRfR0VUWyJyZWZyZXNoIl0pe3NldF9zZXNzaW9uKCJkYnMiLG51bGwpO30kQT1nZXRfZGF0YWJhc2VzKCk7aWYoJEEpeyROZD1zdXBwb3J0KCJzY2hlbWUiKTskYWE9Y29sbGF0aW9ucygpO2VjaG8iPGZvcm0gYWN0aW9uPScnIG1ldGhvZD0ncG9zdCc+XG4iLCI8dGFibGUgY2VsbHNwYWNpbmc9JzAnIG9uY2xpY2s9J3RhYmxlQ2xpY2soZXZlbnQpOyc+XG4iLCI8dGhlYWQ+PHRyPjx0ZD4mbmJzcDs8dGg+Ii5sYW5nKDY3KS4iPHRkPiIubGFuZyg3NykuIjx0ZD4iLmxhbmcoNzgpLiI8L3RoZWFkPlxuIjtmb3JlYWNoKCRBCmFzJHQpeyRRZD1oKE1FKS4iZGI9Ii51cmxlbmNvZGUoJHQpO2VjaG8iPHRyIi5vZGQoKS4iPjx0ZD4iLmNoZWNrYm94KCJkYltdIiwkdCxpbl9hcnJheSgkdCwoYXJyYXkpJF9QT1NUWyJkYiJdKSksIjx0aD48YSBocmVmPSckUWQnPiIuaCgkdCkuIjwvYT4iLCI8dGQ+PGEgaHJlZj0nJFFkIi4oJE5kPyImYW1wO25zPSI6IiIpLiImYW1wO2RhdGFiYXNlPSc+Ii5uYnNwKGRiX2NvbGxhdGlvbigkdCwkYWEpKS4iPC9hPiIsIjx0ZCBhbGlnbj0ncmlnaHQnPjxhIGhyZWY9JyRRZCZhbXA7c2NoZW1hPScgaWQ9J3RhYmxlcy0iLmgoJHQpLiInPj88L2E+IiwiXG4iO31lY2hvIjwvdGFibGU+XG4iLCI8cD48aW5wdXQgdHlwZT0nc3VibWl0JyBuYW1lPSdkcm9wJyB2YWx1ZT0nIi5sYW5nKDc5KS4iJyIuY29uZmlybSgiZm9ybUNoZWNrZWQodGhpcywgL2RiLykiLDEpLiI+XG4iO2VjaG8iPGlucHV0IHR5cGU9J2hpZGRlbicgbmFtZT0ndG9rZW4nIHZhbHVlPSckTyc+XG4iLCI8YSBocmVmPSciLmgoTUUpLiJyZWZyZXNoPTEnIG9uY2xpY2s9J2V2ZW50U3RvcChldmVudCk7Jz4iLmxhbmcoODApLiI8L2E+XG4iLCI8L2Zvcm0+XG4iO319cGFnZV9mb290ZXIoImRiIik7aWYoJEEpe2VjaG8iPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPmFqYXhTZXRIdG1sKCciLmpzX2VzY2FwZShNRSkuInNjcmlwdD1jb25uZWN0Jyk7PC9zY3JpcHQ+XG4iO319aWYoaXNzZXQoJF9HRVRbInN0YXR1cyJdKSl7JF9HRVRbInZhcmlhYmxlcyJdPSRfR0VUWyJzdGF0dXMiXTt9aWYoIShEQiE9IiI/JGctPnNlbGVjdF9kYihEQik6aXNzZXQoJF9HRVRbInNxbCJdKXx8aXNzZXQoJF9HRVRbImR1bXAiXSl8fGlzc2V0KCRfR0VUWyJkYXRhYmFzZSJdKXx8aXNzZXQoJF9HRVRbInByb2Nlc3NsaXN0Il0pfHxpc3NldCgkX0dFVFsicHJpdmlsZWdlcyJdKXx8aXNzZXQoJF9HRVRbInVzZXIiXSl8fGlzc2V0KCRfR0VUWyJ2YXJpYWJsZXMiXSl8fCRfR0VUWyJzY3JpcHQiXT09ImNvbm5lY3QiKSl7aWYoREIhPSIiKXtzZXRfc2Vzc2lvbigiZGJzIixudWxsKTt9Y29ubmVjdF9lcnJvcigpO2V4aXQ7fWlmKHN1cHBvcnQoInNjaGVtZSIpJiZEQiE9IiImJiRfR0VUWyJucyJdIT09IiIpe2lmKCFpc3NldCgkX0dFVFsibnMiXSkpe3JlZGlyZWN0KHByZWdfcmVwbGFjZSgnfm5zPVteJl0qJn4nLCcnLE1FKS4ibnM9Ii5nZXRfc2NoZW1hKCkpO31pZighc2V0X3NjaGVtYSgkX0dFVFsibnMiXSkpe3BhZ2VfaGVhZGVyKGxhbmcoODEpLiI6ICIuaCgkX0dFVFsibnMiXSksbGFuZyg4MiksdHJ1ZSk7cGFnZV9mb290ZXIoIm5zIik7ZXhpdDt9fWZ1bmN0aW9uCnNlbGVjdCgkaiwkRz1udWxsLCRKYz0iIil7JHdhPWFycmF5KCk7JEs9YXJyYXkoKTskQj1hcnJheSgpOyRKZT1hcnJheSgpOyRSPWFycmF5KCk7b2RkKCcnKTtmb3IoJGw9MDskYT0kai0+ZmV0Y2hfcm93KCk7JGwrKyl7aWYoISRsKXtlY2hvIjx0YWJsZSBjZWxsc3BhY2luZz0nMCcgY2xhc3M9J25vd3JhcCc+XG4iLCI8dGhlYWQ+PHRyPiI7Zm9yKCRwYT0wOyRwYTxjb3VudCgkYSk7JHBhKyspeyRlPSRqLT5mZXRjaF9maWVsZCgpOyRmPSRlLT5uYW1lOyRHYT0kZS0+b3JndGFibGU7JENjPSRlLT5vcmduYW1lO2lmKCRKYyl7JHdhWyRwYV09KCRmPT0idGFibGUiPyJ0YWJsZT0iOigkZj09InBvc3NpYmxlX2tleXMiPyJpbmRleGVzPSI6bnVsbCkpO31lbHNlaWYoJEdhIT0iIil7aWYoIWlzc2V0KCRLWyRHYV0pKXskS1skR2FdPWFycmF5KCk7Zm9yZWFjaChpbmRleGVzKCRHYSwkRylhcyR4KXtpZigkeFsidHlwZSJdPT0iUFJJTUFSWSIpeyRLWyRHYV09YXJyYXlfZmxpcCgkeFsiY29sdW1ucyJdKTticmVhazt9fSRCWyRHYV09JEtbJEdhXTt9aWYoaXNzZXQoJEJbJEdhXVskQ2NdKSl7dW5zZXQoJEJbJEdhXVskQ2NdKTskS1skR2FdWyRDY109JHBhOyR3YVskcGFdPSRHYTt9fWlmKCRlLT5jaGFyc2V0bnI9PTYzKXskSmVbJHBhXT10cnVlO30kUlskcGFdPSRlLT50eXBlOyRmPWgoJGYpO2VjaG8iPHRoIi4oJEdhIT0iInx8JGUtPm5hbWUhPSRDYz8iIHRpdGxlPSciLmgoKCRHYSE9IiI/IiRHYS4iOiIiKS4kQ2MpLiInIjoiIikuIj4iLigkSmM/IjxhIGhyZWY9JyRKYyIuc3RydG9sb3dlcigkZikuIicgdGFyZ2V0PSdfYmxhbmsnIHJlbD0nbm9yZWZlcnJlcic+JGY8L2E+IjokZik7fWVjaG8iPC90aGVhZD5cbiI7fWVjaG8iPHRyIi5vZGQoKS4iPiI7Zm9yZWFjaCgkYQphcyRkPT4kYil7aWYoIWlzc2V0KCRiKSl7JGI9IjxpPk5VTEw8L2k+Ijt9ZWxzZWlmKCRKZVskZF0mJiFpc191dGY4KCRiKSl7JGI9IjxpPiIubGFuZygzMixzdHJsZW4oJGIpKS4iPC9pPiI7fWVsc2VpZighc3RybGVuKCRiKSl7JGI9IiZuYnNwOyI7fWVsc2V7JGI9aCgkYik7aWYoJFJbJGRdPT0yNTQpeyRiPSI8Y29kZT4kYjwvY29kZT4iO319aWYoaXNzZXQoJHdhWyRkXSkmJiEkQlskd2FbJGRdXSl7aWYoJEpjKXskeT0kd2FbJGRdLnVybGVuY29kZSgkYVthcnJheV9zZWFyY2goInRhYmxlPSIsJHdhKV0pO31lbHNleyR5PSJlZGl0PSIudXJsZW5jb2RlKCR3YVskZF0pO2ZvcmVhY2goJEtbJHdhWyRkXV1hcyRZYz0+JHBhKXskeS49IiZ3aGVyZSIudXJsZW5jb2RlKCJbIi5icmFja2V0X2VzY2FwZSgkWWMpLiJdIikuIj0iLnVybGVuY29kZSgkYVskcGFdKTt9fSRiPSI8YSBocmVmPSciLmgoTUUuJHkpLiInPiRiPC9hPiI7fWVjaG8iPHRkPiRiIjt9fWVjaG8oJGw/IjwvdGFibGU+IjoiPHAgY2xhc3M9J21lc3NhZ2UnPiIubGFuZyg4MykpLiJcbiI7fWZ1bmN0aW9uCnJlZmVyZW5jYWJsZV9wcmltYXJ5KCRIZil7JGM9YXJyYXkoKTtmb3JlYWNoKHRhYmxlX3N0YXR1cygpYXMkTGE9PiRoKXtpZigkTGEhPSRIZiYmZmtfc3VwcG9ydCgkaCkpe2ZvcmVhY2goZmllbGRzKCRMYSlhcyRlKXtpZigkZVsicHJpbWFyeSJdKXtpZigkY1skTGFdKXt1bnNldCgkY1skTGFdKTticmVhazt9JGNbJExhXT0kZTt9fX19cmV0dXJuJGM7fWZ1bmN0aW9uCnRleHRhcmVhKCRmLCRxLCRIPTEwLCRuYj04MCl7ZWNobyI8dGV4dGFyZWEgbmFtZT0nJGYnIHJvd3M9JyRIJyBjb2xzPSckbmInIGNsYXNzPSdzcWxhcmVhJyBzcGVsbGNoZWNrPSdmYWxzZScgd3JhcD0nb2ZmJyBvbmtleWRvd249J3JldHVybiB0ZXh0YXJlYUtleWRvd24odGhpcywgZXZlbnQpOyc+IjtpZihpc19hcnJheSgkcSkpe2ZvcmVhY2goJHEKYXMkYil7ZWNobwpoKCRiKS4iXG5cblxuIjt9fWVsc2V7ZWNobwpoKCRxKTt9ZWNobyI8L3RleHRhcmVhPiI7fWZ1bmN0aW9uCmZvcm1hdF90aW1lKCRNYiwkWmMpe3JldHVybiIgPHNwYW4gY2xhc3M9J3RpbWUnPigiLmxhbmcoODQsbWF4KDAsYXJyYXlfc3VtKGV4cGxvZGUoIiAiLCRaYykpLWFycmF5X3N1bShleHBsb2RlKCIgIiwkTWIpKSkpLiIpPC9zcGFuPiI7fWZ1bmN0aW9uCmVkaXRfdHlwZSgkZCwkZSwkYWEsJGVhPWFycmF5KCkpe2dsb2JhbCRTYSwkUiwkbWIsJElhO2VjaG8nPHRkPjxzZWxlY3QgbmFtZT0iJywkZCwnW3R5cGVdIiBjbGFzcz0idHlwZSIgb25mb2N1cz0ibGFzdFR5cGUgPSBzZWxlY3RWYWx1ZSh0aGlzKTsiIG9uY2hhbmdlPSJlZGl0aW5nVHlwZUNoYW5nZSh0aGlzKTsiPicsb3B0aW9ubGlzdCgoISRlWyJ0eXBlIl18fGlzc2V0KCRSWyRlWyJ0eXBlIl1dKT9hcnJheSgpOmFycmF5KCRlWyJ0eXBlIl0pKSskU2ErKCRlYT9hcnJheShsYW5nKDg1KT0+JGVhKTphcnJheSgpKSwkZVsidHlwZSJdKSwnPC9zZWxlY3Q+Cjx0ZD48aW5wdXQgbmFtZT0iJywkZCwnW2xlbmd0aF0iIHZhbHVlPSInLGgoJGVbImxlbmd0aCJdKSwnIiBzaXplPSIzIiBvbmZvY3VzPSJlZGl0aW5nTGVuZ3RoRm9jdXModGhpcyk7Ij48dGQgY2xhc3M9Im9wdGlvbnMiPicsIjxzZWxlY3QgbmFtZT0nJGQiLiJbY29sbGF0aW9uXSciLihlcmVnKCcoY2hhcnx0ZXh0fGVudW18c2V0KSQnLCRlWyJ0eXBlIl0pPyIiOiIgY2xhc3M9J2hpZGRlbiciKS4nPjxvcHRpb24gdmFsdWU9IiI+KCcubGFuZyg4NikuJyknLm9wdGlvbmxpc3QoJGFhLCRlWyJjb2xsYXRpb24iXSkuJzwvc2VsZWN0PicsKCRtYj8iPHNlbGVjdCBuYW1lPSckZCIuIlt1bnNpZ25lZF0nIi4oISRlWyJ0eXBlIl18fGVyZWcoJyhpbnR8ZmxvYXR8ZG91YmxlfGRlY2ltYWwpJCcsJGVbInR5cGUiXSk/IiI6IiBjbGFzcz0naGlkZGVuJyIpLic+PG9wdGlvbj4nLm9wdGlvbmxpc3QoJG1iLCRlWyJ1bnNpZ25lZCJdKS4nPC9zZWxlY3Q+JzonJyksKCRlYT8iPHNlbGVjdCBuYW1lPSckZCIuIltvbl9kZWxldGVdJyIuKGVyZWcoImAiLCRlWyJ0eXBlIl0pPyIiOiIgY2xhc3M9J2hpZGRlbiciKS4iPjxvcHRpb24gdmFsdWU9Jyc+KCIubGFuZyg4NykuIikiLm9wdGlvbmxpc3QoZXhwbG9kZSgifCIsJElhKSwkZVsib25fZGVsZXRlIl0pLiI8L3NlbGVjdD4gIjoiICIpO31mdW5jdGlvbgpwcm9jZXNzX2xlbmd0aCgkWCl7Z2xvYmFsJEdiO3JldHVybihwcmVnX21hdGNoKCJ+XlxccyooPzokR2IpKD86XFxzKixcXHMqKD86JEdiKSkqXFxzKlwkfiIsJFgpJiZwcmVnX21hdGNoX2FsbCgifiRHYn4iLCRYLCR0YSk/aW1wbG9kZSgiLCIsJHRhWzBdKTpwcmVnX3JlcGxhY2UoJ35bXjAtOSwrLV1+JywnJywkWCkpO31mdW5jdGlvbgpwcm9jZXNzX3R5cGUoJGUsJERjPSJDT0xMQVRFIil7Z2xvYmFsJG1iO3JldHVybiIgJGVbdHlwZV0iLigkZVsibGVuZ3RoIl0hPSIiPyIoIi5wcm9jZXNzX2xlbmd0aCgkZVsibGVuZ3RoIl0pLiIpIjoiIikuKGVyZWcoJ2ludHxmbG9hdHxkb3VibGV8ZGVjaW1hbCcsJGVbInR5cGUiXSkmJmluX2FycmF5KCRlWyJ1bnNpZ25lZCJdLCRtYik/IiAkZVt1bnNpZ25lZF0iOiIiKS4oZXJlZygnY2hhcnx0ZXh0fGVudW18c2V0JywkZVsidHlwZSJdKSYmJGVbImNvbGxhdGlvbiJdPyIgJERjICIucSgkZVsiY29sbGF0aW9uIl0pOiIiKTt9ZnVuY3Rpb24KcHJvY2Vzc19maWVsZCgkZSwkYmQpe3JldHVybgphcnJheShpZGZfZXNjYXBlKCRlWyJmaWVsZCJdKSxwcm9jZXNzX3R5cGUoJGJkKSwoJGVbIm51bGwiXT8iIE5VTEwiOiIgTk9UIE5VTEwiKSwoaXNzZXQoJGVbImRlZmF1bHQiXSk/IiBERUZBVUxUICIuKCgkZVsidHlwZSJdPT0idGltZXN0YW1wIiYmZXJlZ2koJ15DVVJSRU5UX1RJTUVTVEFNUCQnLCRlWyJkZWZhdWx0Il0pKXx8KCRlWyJ0eXBlIl09PSJiaXQiJiZlcmVnKCJeKFswLTldK3xiJ1swLTFdKycpXCQiLCRlWyJkZWZhdWx0Il0pKT8kZVsiZGVmYXVsdCJdOnEoJGVbImRlZmF1bHQiXSkpOiIiKSwoJGVbIm9uX3VwZGF0ZSJdPyIgT04gVVBEQVRFICRlW29uX3VwZGF0ZV0iOiIiKSwoc3VwcG9ydCgiY29tbWVudCIpJiYkZVsiY29tbWVudCJdIT0iIj8iIENPTU1FTlQgIi5xKCRlWyJjb21tZW50Il0pOiIiKSwoJGVbImF1dG9faW5jcmVtZW50Il0/YXV0b19pbmNyZW1lbnQoKTpudWxsKSwpO31mdW5jdGlvbgp0eXBlX2NsYXNzKCRfKXtmb3JlYWNoKGFycmF5KCdjaGFyJz0+J3RleHQnLCdkYXRlJz0+J3RpbWV8eWVhcicsJ2JpbmFyeSc9PidibG9iJywnZW51bSc9PidzZXQnLClhcyRkPT4kYil7aWYoZXJlZygiJGR8JGIiLCRfKSl7cmV0dXJuIiBjbGFzcz0nJGQnIjt9fX1mdW5jdGlvbgplZGl0X2ZpZWxkcygkcCwkYWEsJF89IlRBQkxFIiwkSGU9MCwkZWE9YXJyYXkoKSwkRWI9ZmFsc2Upe2dsb2JhbCRpYztlY2hvJzx0aGVhZD48dHIgY2xhc3M9IndyYXAiPgonO2lmKCRfPT0iUFJPQ0VEVVJFIil7ZWNobyc8dGQ+Jm5ic3A7Jzt9ZWNobyc8dGg+JywoJF89PSJUQUJMRSI/bGFuZyg4OCk6bGFuZyg4OSkpLCc8dGQ+JyxsYW5nKDkwKSwnPHRleHRhcmVhIGlkPSJlbnVtLWVkaXQiIHJvd3M9IjQiIGNvbHM9IjEyIiB3cmFwPSJvZmYiIHN0eWxlPSJkaXNwbGF5OiBub25lOyIgb25ibHVyPSJlZGl0aW5nTGVuZ3RoQmx1cih0aGlzKTsiPjwvdGV4dGFyZWE+Cjx0ZD4nLGxhbmcoOTEpLCc8dGQ+JyxsYW5nKDkyKTtpZigkXz09IlRBQkxFIil7ZWNobyc8dGQ+TlVMTAo8dGQ+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJhdXRvX2luY3JlbWVudF9jb2wiIHZhbHVlPSIiPjxhY3JvbnltIHRpdGxlPSInLGxhbmcoOTMpLCciPkFJPC9hY3JvbnltPgo8dGQnLCgkX1BPU1RbImRlZmF1bHRzIl0/IiI6IiBjbGFzcz0naGlkZGVuJyIpLCc+JyxsYW5nKDk0KSwoc3VwcG9ydCgiY29tbWVudCIpPyI8dGQiLigkRWI/IiI6IiBjbGFzcz0naGlkZGVuJyIpLiI+Ii5sYW5nKDk1KToiIik7fWVjaG8nPHRkPicsIjxpbnB1dCB0eXBlPSdpbWFnZScgbmFtZT0nYWRkWyIuKHN1cHBvcnQoIm1vdmVfY29sIik/MDpjb3VudCgkcCkpLiJdJyBzcmM9JyIuaChwcmVnX3JlcGxhY2UoIn5cXD8uKn4iLCIiLE1FKSkuIj9maWxlPXBsdXMuZ2lmJmFtcDt2ZXJzaW9uPTMuMy4yJyBhbHQ9JysnIHRpdGxlPSciLmxhbmcoOTYpLiInPiIsJzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5yb3dfY291bnQgPSAnLGNvdW50KCRwKSwnOzwvc2NyaXB0Pgo8L3RoZWFkPgo8dGJvZHkgb25rZXlkb3duPSJyZXR1cm4gZWRpdGluZ0tleWRvd24oZXZlbnQpOyI+Cic7Zm9yZWFjaCgkcAphcyRsPT4kZSl7JGwrKzskcmQ9JGVbKCRfUE9TVD8ib3JpZyI6ImZpZWxkIildOyRHZT0oaXNzZXQoJF9QT1NUWyJhZGQiXVskbC0xXSl8fChpc3NldCgkZVsiZmllbGQiXSkmJiEkX1BPU1RbImRyb3BfY29sIl1bJGxdKSkmJihzdXBwb3J0KCJkcm9wX2NvbCIpfHwkcmQ9PSIiKTtlY2hvJzx0cicsKCRHZT8iIjoiIHN0eWxlPSdkaXNwbGF5OiBub25lOyciKSwnPgonLCgkXz09IlBST0NFRFVSRSI/Ijx0ZD4iLmh0bWxfc2VsZWN0KCJmaWVsZHNbJGxdW2lub3V0XSIsZXhwbG9kZSgifCIsJGljKSwkZVsiaW5vdXQiXSk6IiIpLCc8dGg+JztpZigkR2Upe2VjaG8nPGlucHV0IG5hbWU9ImZpZWxkc1snLCRsLCddW2ZpZWxkXSIgdmFsdWU9IicsaCgkZVsiZmllbGQiXSksJyIgb25jaGFuZ2U9IicsKCRlWyJmaWVsZCJdIT0iInx8Y291bnQoJHApPjE/IiI6ImVkaXRpbmdBZGRSb3codGhpcywgJEhlKTsgIiksJ2VkaXRpbmdOYW1lQ2hhbmdlKHRoaXMpOyIgbWF4bGVuZ3RoPSI2NCI+Jzt9ZWNobyc8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJmaWVsZHNbJywkbCwnXVtvcmlnXSIgdmFsdWU9IicsaCgkcmQpLCciPgonO2VkaXRfdHlwZSgiZmllbGRzWyRsXSIsJGUsJGFhLCRlYSk7aWYoJF89PSJUQUJMRSIpe2VjaG8nPHRkPicsY2hlY2tib3goImZpZWxkc1skbF1bbnVsbF0iLDEsJGVbIm51bGwiXSksJzx0ZD48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9ImF1dG9faW5jcmVtZW50X2NvbCIgdmFsdWU9IicsJGwsJyInO2lmKCRlWyJhdXRvX2luY3JlbWVudCJdKXtlY2hvJyBjaGVja2VkJzt9Pz4gb25jbGljaz0idmFyIGZpZWxkID0gdGhpcy5mb3JtWydmaWVsZHNbJyArIHRoaXMudmFsdWUgKyAnXVtmaWVsZF0nXTsgaWYgKCFmaWVsZC52YWx1ZSkgeyBmaWVsZC52YWx1ZSA9ICdpZCc7IGZpZWxkLm9uY2hhbmdlKCk7IH0iPgo8dGQ8P3BocCBlY2hvKCRfUE9TVFsiZGVmYXVsdHMiXT8iIjoiIGNsYXNzPSdoaWRkZW4nIiksJz4nLGNoZWNrYm94KCJmaWVsZHNbJGxdW2hhc19kZWZhdWx0XSIsMSwkZVsiaGFzX2RlZmF1bHQiXSksJzxpbnB1dCBuYW1lPSJmaWVsZHNbJywkbCwnXVtkZWZhdWx0XSIgdmFsdWU9IicsaCgkZVsiZGVmYXVsdCJdKSwnIiBvbmNoYW5nZT0idGhpcy5wcmV2aW91c1NpYmxpbmcuY2hlY2tlZCA9IHRydWU7Ij4KJywoc3VwcG9ydCgiY29tbWVudCIpPyI8dGQiLigkRWI/IiI6IiBjbGFzcz0naGlkZGVuJyIpLiI+PGlucHV0IG5hbWU9J2ZpZWxkc1skbF1bY29tbWVudF0nIHZhbHVlPSciLmgoJGVbImNvbW1lbnQiXSkuIicgbWF4bGVuZ3RoPScyNTUnPiI6IiIpO31lY2hvIjx0ZD4iLChzdXBwb3J0KCJtb3ZlX2NvbCIpPyI8aW5wdXQgdHlwZT0naW1hZ2UnIG5hbWU9J2FkZFskbF0nIHNyYz0nIi5oKHByZWdfcmVwbGFjZSgiflxcPy4qfiIsIiIsTUUpKS4iP2ZpbGU9cGx1cy5naWYmYW1wO3ZlcnNpb249My4zLjInIGFsdD0nKycgdGl0bGU9JyIubGFuZyg5NikuIicgb25jbGljaz0ncmV0dXJuICFlZGl0aW5nQWRkUm93KHRoaXMsICRIZSwgMSk7Jz4mbmJzcDsiLiI8aW5wdXQgdHlwZT0naW1hZ2UnIG5hbWU9J3VwWyRsXScgc3JjPSciLmgocHJlZ19yZXBsYWNlKCJ+XFw/Lip+IiwiIixNRSkpLiI/ZmlsZT11cC5naWYmYW1wO3ZlcnNpb249My4zLjInIGFsdD0nXicgdGl0bGU9JyIubGFuZyg5NykuIic+Jm5ic3A7Ii4iPGlucHV0IHR5cGU9J2ltYWdlJyBuYW1lPSdkb3duWyRsXScgc3JjPSciLmgocHJlZ19yZXBsYWNlKCJ+XFw/Lip+IiwiIixNRSkpLiI/ZmlsZT1kb3duLmdpZiZhbXA7dmVyc2lvbj0zLjMuMicgYWx0PSd2JyB0aXRsZT0nIi5sYW5nKDk4KS4iJz4mbmJzcDsiOiIiKSwoJHJkPT0iInx8c3VwcG9ydCgiZHJvcF9jb2wiKT8iPGlucHV0IHR5cGU9J2ltYWdlJyBuYW1lPSdkcm9wX2NvbFskbF0nIHNyYz0nIi5oKHByZWdfcmVwbGFjZSgiflxcPy4qfiIsIiIsTUUpKS4iP2ZpbGU9Y3Jvc3MuZ2lmJmFtcDt2ZXJzaW9uPTMuMy4yJyBhbHQ9J3gnIHRpdGxlPSciLmxhbmcoOTkpLiInIG9uY2xpY2s9J3JldHVybiAhZWRpdGluZ1JlbW92ZVJvdyh0aGlzKTsnPiI6IiIpLCJcbiI7fX1mdW5jdGlvbgpwcm9jZXNzX2ZpZWxkcygmJHApe2tzb3J0KCRwKTskTD0wO2lmKCRfUE9TVFsidXAiXSl7JHRiPTA7Zm9yZWFjaCgkcAphcyRkPT4kZSl7aWYoa2V5KCRfUE9TVFsidXAiXSk9PSRkKXt1bnNldCgkcFskZF0pO2FycmF5X3NwbGljZSgkcCwkdGIsMCxhcnJheSgkZSkpO2JyZWFrO31pZihpc3NldCgkZVsiZmllbGQiXSkpeyR0Yj0kTDt9JEwrKzt9fWlmKCRfUE9TVFsiZG93biJdKXskdWE9ZmFsc2U7Zm9yZWFjaCgkcAphcyRkPT4kZSl7aWYoaXNzZXQoJGVbImZpZWxkIl0pJiYkdWEpe3Vuc2V0KCRwW2tleSgkX1BPU1RbImRvd24iXSldKTthcnJheV9zcGxpY2UoJHAsJEwsMCxhcnJheSgkdWEpKTticmVhazt9aWYoa2V5KCRfUE9TVFsiZG93biJdKT09JGQpeyR1YT0kZTt9JEwrKzt9fSRwPWFycmF5X3ZhbHVlcygkcCk7aWYoJF9QT1NUWyJhZGQiXSl7YXJyYXlfc3BsaWNlKCRwLGtleSgkX1BPU1RbImFkZCJdKSwwLGFycmF5KGFycmF5KCkpKTt9fWZ1bmN0aW9uCm5vcm1hbGl6ZV9lbnVtKCRrKXtyZXR1cm4iJyIuc3RyX3JlcGxhY2UoIiciLCInJyIsYWRkY3NsYXNoZXMoc3RyaXBjc2xhc2hlcyhzdHJfcmVwbGFjZSgka1swXVswXS4ka1swXVswXSwka1swXVswXSxzdWJzdHIoJGtbMF0sMSwtMSkpKSwnXFwnKSkuIiciO31mdW5jdGlvbgpncmFudCgkbWEsJHZhLCRCLCRGYil7aWYoISR2YSl7cmV0dXJuCnRydWU7fWlmKCR2YT09YXJyYXkoIkFMTCBQUklWSUxFR0VTIiwiR1JBTlQgT1BUSU9OIikpe3JldHVybigkbWE9PSJHUkFOVCI/cXVlcmllcygiJG1hIEFMTCBQUklWSUxFR0VTJEZiIFdJVEggR1JBTlQgT1BUSU9OIik6cXVlcmllcygiJG1hIEFMTCBQUklWSUxFR0VTJEZiIikmJnF1ZXJpZXMoIiRtYSBHUkFOVCBPUFRJT04kRmIiKSk7fXJldHVybgpxdWVyaWVzKCIkbWEgIi5wcmVnX3JlcGxhY2UoJ34oR1JBTlQgT1BUSU9OKVxcKFteKV0qXFwpficsJ1xcMScsaW1wbG9kZSgiJEIsICIsJHZhKS4kQikuJEZiKTt9ZnVuY3Rpb24KZHJvcF9jcmVhdGUoJEZhLCRrYSwkaWEsJGpmLCROZiwkS2YsJGYpe2lmKCRfUE9TVFsiZHJvcCJdKXtyZXR1cm4KcXVlcnlfcmVkaXJlY3QoJEZhLCRpYSwkamYsdHJ1ZSwhJF9QT1NUWyJkcm9wcGVkIl0pO30kZmI9JGYhPSIiJiYoJF9QT1NUWyJkcm9wcGVkIl18fHF1ZXJpZXMoJEZhKSk7JE9mPXF1ZXJpZXMoJGthKTtpZighcXVlcmllc19yZWRpcmVjdCgkaWEsKCRmIT0iIj8kTmY6JEtmKSwkT2YpJiYkZmIpe3JlZGlyZWN0KG51bGwsJGpmKTt9cmV0dXJuJGZiO31mdW5jdGlvbgp0YXJfZmlsZSgkbGEsJENkKXskYz1wYWNrKCJhMTAwYThhOGE4YTEyYTEyIiwkbGEsNjQ0LDAsMCxkZWNvY3Qoc3RybGVuKCRDZCkpLGRlY29jdCh0aW1lKCkpKTskZWY9OCozMjtmb3IoJGw9MDskbDxzdHJsZW4oJGMpOyRsKyspeyRlZis9b3JkKCRjeyRsfSk7fSRjLj1zcHJpbnRmKCIlMDZvIiwkZWYpLiJcMCAiO3JldHVybiRjLnN0cl9yZXBlYXQoIlwwIiw1MTItc3RybGVuKCRjKSkuJENkLnN0cl9yZXBlYXQoIlwwIiw1MTEtKHN0cmxlbigkQ2QpKzUxMSklCjUxMik7fXNlc3Npb25fY2FjaGVfbGltaXRlcigiIik7aWYoIWluaV9ib29sKCJzZXNzaW9uLnVzZV9jb29raWVzIil8fEBpbmlfc2V0KCJzZXNzaW9uLnVzZV9jb29raWVzIixmYWxzZSkhPT1mYWxzZSl7c2Vzc2lvbl93cml0ZV9jbG9zZSgpO30kSWE9IlJFU1RSSUNUfENBU0NBREV8U0VUIE5VTEx8Tk8gQUNUSU9OIjskR2I9IicoPzonJ3xbXidcXFxcXXxcXFxcLikqKyciOyRpYz0iSU58T1VUfElOT1VUIjtpZihpc3NldCgkX0dFVFsic2VsZWN0Il0pJiYoJF9QT1NUWyJlZGl0Il18fCRfUE9TVFsiY2xvbmUiXSkmJiEkX1BPU1RbInNhdmUiXSl7JF9HRVRbImVkaXQiXT0kX0dFVFsic2VsZWN0Il07fWlmKGlzc2V0KCRfR0VUWyJjYWxsZiJdKSl7JF9HRVRbImNhbGwiXT0kX0dFVFsiY2FsbGYiXTt9aWYoaXNzZXQoJF9HRVRbImZ1bmN0aW9uIl0pKXskX0dFVFsicHJvY2VkdXJlIl09JF9HRVRbImZ1bmN0aW9uIl07fWlmKGlzc2V0KCRfR0VUWyJkb3dubG9hZCJdKSl7JG09JF9HRVRbImRvd25sb2FkIl07aGVhZGVyKCJDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSIpO2hlYWRlcigiQ29udGVudC1EaXNwb3NpdGlvbjogYXR0YWNobWVudDsgZmlsZW5hbWU9Ii5mcmllbmRseV91cmwoIiRtLSIuaW1wbG9kZSgiXyIsJF9HRVRbIndoZXJlIl0pKS4iLiIuZnJpZW5kbHlfdXJsKCRfR0VUWyJmaWVsZCJdKSk7ZWNobyRnLT5yZXN1bHQoIlNFTEVDVCIubGltaXQoaWRmX2VzY2FwZSgkX0dFVFsiZmllbGQiXSkuIiBGUk9NICIudGFibGUoJG0pLCIgV0hFUkUgIi53aGVyZSgkX0dFVCksMSkpO2V4aXQ7fWVsc2VpZihpc3NldCgkX0dFVFsidGFibGUiXSkpeyRtPSRfR0VUWyJ0YWJsZSJdOyRwPWZpZWxkcygkbSk7aWYoISRwKXskbj1lcnJvcigpO30kdj0oJHA/dGFibGVfc3RhdHVzKCRtKTphcnJheSgpKTtwYWdlX2hlYWRlcigoJHAmJmlzX3ZpZXcoJHYpP2xhbmcoMTAwKTpsYW5nKDEwMSkpLiI6ICIuaCgkbSksJG4pOyRvLT5zZWxlY3RMaW5rcygkdik7JEFhPSR2WyJDb21tZW50Il07aWYoJEFhIT0iIil7ZWNobyI8cD4iLmxhbmcoOTUpLiI6ICIuaCgkQWEpLiJcbiI7fWlmKCRwKXtlY2hvIjx0YWJsZSBjZWxsc3BhY2luZz0nMCc+XG4iLCI8dGhlYWQ+PHRyPjx0aD4iLmxhbmcoMTAyKS4iPHRkPiIubGFuZyg5MCkuKHN1cHBvcnQoImNvbW1lbnQiKT8iPHRkPiIubGFuZyg5NSk6IiIpLiI8L3RoZWFkPlxuIjtmb3JlYWNoKCRwCmFzJGUpe2VjaG8iPHRyIi5vZGQoKS4iPjx0aD4iLmgoJGVbImZpZWxkIl0pLCI8dGQgdGl0bGU9JyIuaCgkZVsiY29sbGF0aW9uIl0pLiInPiIuaCgkZVsiZnVsbF90eXBlIl0pLigkZVsibnVsbCJdPyIgPGk+TlVMTDwvaT4iOiIiKS4oJGVbImF1dG9faW5jcmVtZW50Il0/IiA8aT4iLmxhbmcoOTMpLiI8L2k+IjoiIiksKGlzc2V0KCRlWyJkZWZhdWx0Il0pPyIgWzxiPiIuaCgkZVsiZGVmYXVsdCJdKS4iPC9iPl0iOiIiKSwoc3VwcG9ydCgiY29tbWVudCIpPyI8dGQ+Ii5uYnNwKCRlWyJjb21tZW50Il0pOiIiKSwiXG4iO31lY2hvIjwvdGFibGU+XG4iO2lmKCFpc192aWV3KCR2KSl7ZWNobyI8aDM+Ii5sYW5nKDEwMykuIjwvaDM+XG4iOyRLPWluZGV4ZXMoJG0pO2lmKCRLKXtlY2hvIjx0YWJsZSBjZWxsc3BhY2luZz0nMCc+XG4iO2ZvcmVhY2goJEsKYXMkZj0+JHgpe2tzb3J0KCR4WyJjb2x1bW5zIl0pOyRCYj1hcnJheSgpO2ZvcmVhY2goJHhbImNvbHVtbnMiXWFzJGQ9PiRiKXskQmJbXT0iPGk+Ii5oKCRiKS4iPC9pPiIuKCR4WyJsZW5ndGhzIl1bJGRdPyIoIi4keFsibGVuZ3RocyJdWyRkXS4iKSI6IiIpO31lY2hvIjx0ciB0aXRsZT0nIi5oKCRmKS4iJz48dGg+JHhbdHlwZV08dGQ+Ii5pbXBsb2RlKCIsICIsJEJiKS4iXG4iO31lY2hvIjwvdGFibGU+XG4iO31lY2hvJzxwPjxhIGhyZWY9IicuaChNRSkuJ2luZGV4ZXM9Jy51cmxlbmNvZGUoJG0pLiciPicubGFuZygxMDQpLiI8L2E+XG4iO2lmKGZrX3N1cHBvcnQoJHYpKXtlY2hvIjxoMz4iLmxhbmcoODUpLiI8L2gzPlxuIjskZWE9Zm9yZWlnbl9rZXlzKCRtKTtpZigkZWEpe2VjaG8iPHRhYmxlIGNlbGxzcGFjaW5nPScwJz5cbiIsIjx0aGVhZD48dHI+PHRoPiIubGFuZygxMDUpLiI8dGQ+Ii5sYW5nKDEwNikuIjx0ZD4iLmxhbmcoODcpLiI8dGQ+Ii5sYW5nKDEwNykuKCR1IT0ic3FsaXRlIj8iPHRkPiZuYnNwOyI6IiIpLiI8L3RoZWFkPlxuIjtmb3JlYWNoKCRlYQphcyRmPT4kQyl7ZWNobyI8dHIgdGl0bGU9JyIuaCgkZikuIic+IiwiPHRoPjxpPiIuaW1wbG9kZSgiPC9pPiwgPGk+IixhcnJheV9tYXAoJ2gnLCRDWyJzb3VyY2UiXSkpLiI8L2k+IiwiPHRkPjxhIGhyZWY9JyIuaCgkQ1siZGIiXSE9IiI/cHJlZ19yZXBsYWNlKCd+ZGI9W14mXSp+JywiZGI9Ii51cmxlbmNvZGUoJENbImRiIl0pLE1FKTooJENbIm5zIl0hPSIiP3ByZWdfcmVwbGFjZSgnfm5zPVteJl0qficsIm5zPSIudXJsZW5jb2RlKCRDWyJucyJdKSxNRSk6TUUpKS4idGFibGU9Ii51cmxlbmNvZGUoJENbInRhYmxlIl0pLiInPiIuKCRDWyJkYiJdIT0iIj8iPGI+Ii5oKCRDWyJkYiJdKS4iPC9iPi4iOiIiKS4oJENbIm5zIl0hPSIiPyI8Yj4iLmgoJENbIm5zIl0pLiI8L2I+LiI6IiIpLmgoJENbInRhYmxlIl0pLiI8L2E+IiwiKDxpPiIuaW1wbG9kZSgiPC9pPiwgPGk+IixhcnJheV9tYXAoJ2gnLCRDWyJ0YXJnZXQiXSkpLiI8L2k+KSIsIjx0ZD4iLm5ic3AoJENbIm9uX2RlbGV0ZSJdKS4iXG4iLCI8dGQ+Ii5uYnNwKCRDWyJvbl91cGRhdGUiXSkuIlxuIjtpZigkdSE9InNxbGl0ZSIpe2VjaG8nPHRkPjxhIGhyZWY9IicuaChNRS4nZm9yZWlnbj0nLnVybGVuY29kZSgkbSkuJyZuYW1lPScudXJsZW5jb2RlKCRmKSkuJyI+Jy5sYW5nKDEwOCkuJzwvYT4nO319ZWNobyI8L3RhYmxlPlxuIjt9aWYoJHUhPSJzcWxpdGUiKXtlY2hvJzxwPjxhIGhyZWY9IicuaChNRSkuJ2ZvcmVpZ249Jy51cmxlbmNvZGUoJG0pLiciPicubGFuZygxMDkpLiI8L2E+XG4iO319aWYoc3VwcG9ydCgidHJpZ2dlciIpKXtlY2hvIjxoMz4iLmxhbmcoMTEwKS4iPC9oMz5cbiI7JFRjPXRyaWdnZXJzKCRtKTtpZigkVGMpe2VjaG8iPHRhYmxlIGNlbGxzcGFjaW5nPScwJz5cbiI7Zm9yZWFjaCgkVGMKYXMkZD0+JGIpe2VjaG8iPHRyIHZhbGlnbj0ndG9wJz48dGQ+JGJbMF08dGQ+JGJbMV08dGg+Ii5oKCRkKS4iPHRkPjxhIGhyZWY9JyIuaChNRS4ndHJpZ2dlcj0nLnVybGVuY29kZSgkbSkuJyZuYW1lPScudXJsZW5jb2RlKCRkKSkuIic+Ii5sYW5nKDEwOCkuIjwvYT5cbiI7fWVjaG8iPC90YWJsZT5cbiI7fWVjaG8nPHA+PGEgaHJlZj0iJy5oKE1FKS4ndHJpZ2dlcj0nLnVybGVuY29kZSgkbSkuJyI+Jy5sYW5nKDExMSkuIjwvYT5cbiI7fX19fWVsc2VpZihpc3NldCgkX0dFVFsic2NoZW1hIl0pKXtwYWdlX2hlYWRlcihsYW5nKDQ5KSwiIixhcnJheSgpLERCLigkX0dFVFsibnMiXT8iLiRfR0VUW25zXSI6IiIpKTskdWI9YXJyYXkoKTskYmY9YXJyYXkoKTskZj0iYWRtaW5lcl9zY2hlbWEiOyR5ZT0oJF9HRVRbInNjaGVtYSJdPyRfR0VUWyJzY2hlbWEiXTokX0NPT0tJRVsoJF9DT09LSUVbIiRmLSIuREJdPyIkZi0iLkRCOiRmKV0pO3ByZWdfbWF0Y2hfYWxsKCd+KFteOl0rKTooWy0wLTkuXSspeChbLTAtOS5dKykoX3wkKX4nLCR5ZSwkdGEsUFJFR19TRVRfT1JERVIpO2ZvcmVhY2goJHRhCmFzJGw9PiRrKXskdWJbJGtbMV1dPWFycmF5KCRrWzJdLCRrWzNdKTskYmZbXT0iXG5cdCciLmpzX2VzY2FwZSgka1sxXSkuIic6IFsgJGtbMl0sICRrWzNdIF0iO30kYmM9MDska2Y9LTE7JFJhPWFycmF5KCk7JGNmPWFycmF5KCk7JGRmPWFycmF5KCk7Zm9yZWFjaCh0YWJsZV9zdGF0dXMoKWFzJGEpe2lmKCFpc3NldCgkYVsiRW5naW5lIl0pKXtjb250aW51ZTt9JHRjPTA7JFJhWyRhWyJOYW1lIl1dWyJmaWVsZHMiXT1hcnJheSgpO2ZvcmVhY2goZmllbGRzKCRhWyJOYW1lIl0pYXMkZj0+JGUpeyR0Yys9MS4yNTskZVsicG9zIl09JHRjOyRSYVskYVsiTmFtZSJdXVsiZmllbGRzIl1bJGZdPSRlO30kUmFbJGFbIk5hbWUiXV1bInBvcyJdPSgkdWJbJGFbIk5hbWUiXV0/JHViWyRhWyJOYW1lIl1dOmFycmF5KCRiYywwKSk7Zm9yZWFjaCgkby0+Zm9yZWlnbktleXMoJGFbIk5hbWUiXSlhcyRiKXtpZighJGJbImRiIl0peyREYT0ka2Y7aWYoJHViWyRhWyJOYW1lIl1dWzFdfHwkdWJbJGJbInRhYmxlIl1dWzFdKXskRGE9bWluKGZsb2F0dmFsKCR1YlskYVsiTmFtZSJdXVsxXSksZmxvYXR2YWwoJHViWyRiWyJ0YWJsZSJdXVsxXSkpLTE7fWVsc2V7JGtmLT0uMTt9d2hpbGUoJGRmWyhzdHJpbmcpJERhXSl7JERhLT0uMDAwMTt9JFJhWyRhWyJOYW1lIl1dWyJyZWZlcmVuY2VzIl1bJGJbInRhYmxlIl1dWyhzdHJpbmcpJERhXT1hcnJheSgkYlsic291cmNlIl0sJGJbInRhcmdldCJdKTskY2ZbJGJbInRhYmxlIl1dWyRhWyJOYW1lIl1dWyhzdHJpbmcpJERhXT0kYlsidGFyZ2V0Il07JGRmWyhzdHJpbmcpJERhXT10cnVlO319JGJjPW1heCgkYmMsJFJhWyRhWyJOYW1lIl1dWyJwb3MiXVswXSsyLjUrJHRjKTt9ZWNobyc8ZGl2IGlkPSJzY2hlbWEiIHN0eWxlPSJoZWlnaHQ6ICcsJGJjLCdlbTsiPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CnRhYmxlUG9zID0geycsaW1wbG9kZSgiLCIsJGJmKS4iXG4iLCd9OwplbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwnc2NoZW1hXCcpLm9mZnNldEhlaWdodCAvICcsJGJjLCc7CmRvY3VtZW50Lm9ubW91c2Vtb3ZlID0gc2NoZW1hTW91c2Vtb3ZlOwpkb2N1bWVudC5vbm1vdXNldXAgPSBmdW5jdGlvbiAoZXYpIHsKCXNjaGVtYU1vdXNldXAoZXYsIFwnJyxqc19lc2NhcGUoREIpLCdcJyk7Cn07Cjwvc2NyaXB0PgonO2ZvcmVhY2goJFJhCmFzJGY9PiRoKXtlY2hvIjxkaXYgY2xhc3M9J3RhYmxlJyBzdHlsZT0ndG9wOiAiLiRoWyJwb3MiXVswXS4iZW07IGxlZnQ6ICIuJGhbInBvcyJdWzFdLiJlbTsnIG9ubW91c2Vkb3duPSdzY2hlbWFNb3VzZWRvd24odGhpcywgZXZlbnQpOyc+IiwnPGEgaHJlZj0iJy5oKE1FKS4ndGFibGU9Jy51cmxlbmNvZGUoJGYpLiciPjxiPicuaCgkZikuIjwvYj48L2E+PGJyPlxuIjtmb3JlYWNoKCRoWyJmaWVsZHMiXWFzJGUpeyRiPSc8c3BhbicudHlwZV9jbGFzcygkZVsidHlwZSJdKS4nIHRpdGxlPSInLmgoJGVbImZ1bGxfdHlwZSJdLigkZVsibnVsbCJdPyIgTlVMTCI6JycpKS4nIj4nLmgoJGVbImZpZWxkIl0pLic8L3NwYW4+JztlY2hvKCRlWyJwcmltYXJ5Il0/IjxpPiRiPC9pPiI6JGIpLiI8YnI+XG4iO31mb3JlYWNoKChhcnJheSkkaFsicmVmZXJlbmNlcyJdYXMkWWI9PiR2Yyl7Zm9yZWFjaCgkdmMKYXMkRGE9PiRhZCl7JHdjPSREYS0kdWJbJGZdWzFdOyRsPTA7Zm9yZWFjaCgkYWRbMF1hcyRIYSl7ZWNobyI8ZGl2IGNsYXNzPSdyZWZlcmVuY2VzJyB0aXRsZT0nIi5oKCRZYikuIicgaWQ9J3JlZnMkRGEtIi4oJGwrKykuIicgc3R5bGU9J2xlZnQ6ICR3YyIuImVtOyB0b3A6ICIuJGhbImZpZWxkcyJdWyRIYV1bInBvcyJdLiJlbTsgcGFkZGluZy10b3A6IC41ZW07Jz48ZGl2IHN0eWxlPSdib3JkZXItdG9wOiAxcHggc29saWQgR3JheTsgd2lkdGg6ICIuKC0kd2MpLiJlbTsnPjwvZGl2PjwvZGl2PlxuIjt9fX1mb3JlYWNoKChhcnJheSkkY2ZbJGZdYXMkWWI9PiR2Yyl7Zm9yZWFjaCgkdmMKYXMkRGE9PiRCKXskd2M9JERhLSR1YlskZl1bMV07JGw9MDtmb3JlYWNoKCRCCmFzJGhhKXtlY2hvIjxkaXYgY2xhc3M9J3JlZmVyZW5jZXMnIHRpdGxlPSciLmgoJFliKS4iJyBpZD0ncmVmZCREYS0iLigkbCsrKS4iJyBzdHlsZT0nbGVmdDogJHdjIi4iZW07IHRvcDogIi4kaFsiZmllbGRzIl1bJGhhXVsicG9zIl0uImVtOyBoZWlnaHQ6IDEuMjVlbTsgYmFja2dyb3VuZDogdXJsKCIuaChwcmVnX3JlcGxhY2UoIn5cXD8uKn4iLCIiLE1FKSkuIj9maWxlPWFycm93LmdpZikgbm8tcmVwZWF0IHJpZ2h0IGNlbnRlcjsmYW1wO3ZlcnNpb249My4zLjInPjxkaXYgc3R5bGU9J2hlaWdodDogLjVlbTsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIEdyYXk7IHdpZHRoOiAiLigtJHdjKS4iZW07Jz48L2Rpdj48L2Rpdj5cbiI7fX19ZWNobyI8L2Rpdj5cbiI7fWZvcmVhY2goJFJhCmFzJGY9PiRoKXtmb3JlYWNoKChhcnJheSkkaFsicmVmZXJlbmNlcyJdYXMkWWI9PiR2Yyl7Zm9yZWFjaCgkdmMKYXMkRGE9PiRhZCl7JFFjPSRiYzskTWQ9LTEwO2ZvcmVhY2goJGFkWzBdYXMkZD0+JEhhKXskZmY9JGhbInBvcyJdWzBdKyRoWyJmaWVsZHMiXVskSGFdWyJwb3MiXTskZ2Y9JFJhWyRZYl1bInBvcyJdWzBdKyRSYVskWWJdWyJmaWVsZHMiXVskYWRbMV1bJGRdXVsicG9zIl07JFFjPW1pbigkUWMsJGZmLCRnZik7JE1kPW1heCgkTWQsJGZmLCRnZik7fWVjaG8iPGRpdiBjbGFzcz0ncmVmZXJlbmNlcycgaWQ9J3JlZmwkRGEnIHN0eWxlPSdsZWZ0OiAkRGEiLiJlbTsgdG9wOiAkUWMiLiJlbTsgcGFkZGluZzogLjVlbSAwOyc+PGRpdiBzdHlsZT0nYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgR3JheTsgbWFyZ2luLXRvcDogMXB4OyBoZWlnaHQ6ICIuKCRNZC0kUWMpLiJlbTsnPjwvZGl2PjwvZGl2PlxuIjt9fX1lY2hvJzwvZGl2Pgo8cD48YSBocmVmPSInLGgoTUUuInNjaGVtYT0iLnVybGVuY29kZSgkeWUpKSwnIiBpZD0ic2NoZW1hLWxpbmsiPicsbGFuZygxMTIpLCc8L2E+Cic7fWVsc2VpZihpc3NldCgkX0dFVFsiZHVtcCJdKSl7JG09JF9HRVRbImR1bXAiXTtpZigkX1BPU1QpeyRoZj0iIjtmb3JlYWNoKGFycmF5KCJvdXRwdXQiLCJmb3JtYXQiLCJkYl9zdHlsZSIsInJvdXRpbmVzIiwiZXZlbnRzIiwidGFibGVfc3R5bGUiLCJhdXRvX2luY3JlbWVudCIsInRyaWdnZXJzIiwiZGF0YV9zdHlsZSIpYXMkZCl7JGhmLj0iJiRkPSIudXJsZW5jb2RlKCRfUE9TVFskZF0pO31jb29raWUoImFkbWluZXJfZXhwb3J0IixzdWJzdHIoJGhmLDEpKTskSGI9ZHVtcF9oZWFkZXJzKCgkbSE9IiI/JG06REIpLChEQj09IiJ8fGNvdW50KChhcnJheSkkX1BPU1RbInRhYmxlcyJdKyhhcnJheSkkX1BPU1RbImRhdGEiXSk+MSkpOyRzYj0oJF9QT1NUWyJmb3JtYXQiXT09InNxbCIpO2lmKCRzYil7ZWNobyItLSBBZG1pbmVyICRvYyAiLiRvYVtEUklWRVJdLiIgZHVtcAoKIi4oJHUhPSJzcWwiPyIiOiJTRVQgTkFNRVMgdXRmODsKU0VUIGZvcmVpZ25fa2V5X2NoZWNrcyA9IDA7ClNFVCB0aW1lX3pvbmUgPSAiLnEoJGctPnJlc3VsdCgiU0VMRUNUIEBAdGltZV96b25lIikpLiI7ClNFVCBzcWxfbW9kZSA9ICdOT19BVVRPX1ZBTFVFX09OX1pFUk8nOwoKIik7fSRWPSRfUE9TVFsiZGJfc3R5bGUiXTskQT1hcnJheShEQik7aWYoREI9PSIiKXskQT0kX1BPU1RbImRhdGFiYXNlcyJdO2lmKGlzX3N0cmluZygkQSkpeyRBPWV4cGxvZGUoIlxuIixydHJpbShzdHJfcmVwbGFjZSgiXHIiLCIiLCRBKSwiXG4iKSk7fX1mb3JlYWNoKChhcnJheSkkQQphcyR0KXtpZigkZy0+c2VsZWN0X2RiKCR0KSl7aWYoJHNiJiZlcmVnKCdDUkVBVEUnLCRWKSYmKCRrYT0kZy0+cmVzdWx0KCJTSE9XIENSRUFURSBEQVRBQkFTRSAiLmlkZl9lc2NhcGUoJHQpLDEpKSl7aWYoJFY9PSJEUk9QK0NSRUFURSIpe2VjaG8iRFJPUCBEQVRBQkFTRSBJRiBFWElTVFMgIi5pZGZfZXNjYXBlKCR0KS4iO1xuIjt9ZWNobygkVj09IkNSRUFURStBTFRFUiI/cHJlZ19yZXBsYWNlKCd+XkNSRUFURSBEQVRBQkFTRSB+JywnXFwwSUYgTk9UIEVYSVNUUyAnLCRrYSk6JGthKS4iO1xuIjt9aWYoJHNiKXtpZigkVil7ZWNobwp1c2Vfc3FsKCR0KS4iO1xuXG4iO31pZihpbl9hcnJheSgiQ1JFQVRFK0FMVEVSIixhcnJheSgkViwkX1BPU1RbInRhYmxlX3N0eWxlIl0pKSl7ZWNobyJTRVQgQGFkbWluZXJfYWx0ZXIgPSAnJztcblxuIjt9JGpiPSIiO2lmKCRfUE9TVFsicm91dGluZXMiXSl7Zm9yZWFjaChhcnJheSgiRlVOQ1RJT04iLCJQUk9DRURVUkUiKWFzJFZhKXtmb3JlYWNoKGdldF9yb3dzKCJTSE9XICRWYSBTVEFUVVMgV0hFUkUgRGIgPSAiLnEoJHQpLG51bGwsIi0tICIpYXMkYSl7JGpiLj0oJFYhPSdEUk9QK0NSRUFURSc/IkRST1AgJFZhIElGIEVYSVNUUyAiLmlkZl9lc2NhcGUoJGFbIk5hbWUiXSkuIjs7XG4iOiIiKS4kZy0+cmVzdWx0KCJTSE9XIENSRUFURSAkVmEgIi5pZGZfZXNjYXBlKCRhWyJOYW1lIl0pLDIpLiI7O1xuXG4iO319fWlmKCRfUE9TVFsiZXZlbnRzIl0pe2ZvcmVhY2goZ2V0X3Jvd3MoIlNIT1cgRVZFTlRTIixudWxsLCItLSAiKWFzJGEpeyRqYi49KCRWIT0nRFJPUCtDUkVBVEUnPyJEUk9QIEVWRU5UIElGIEVYSVNUUyAiLmlkZl9lc2NhcGUoJGFbIk5hbWUiXSkuIjs7XG4iOiIiKS4kZy0+cmVzdWx0KCJTSE9XIENSRUFURSBFVkVOVCAiLmlkZl9lc2NhcGUoJGFbIk5hbWUiXSksMykuIjs7XG5cbiI7fX1pZigkamIpe2VjaG8iREVMSU1JVEVSIDs7XG5cbiRqYiIuIkRFTElNSVRFUiA7XG5cbiI7fX1pZigkX1BPU1RbInRhYmxlX3N0eWxlIl18fCRfUE9TVFsiZGF0YV9zdHlsZSJdKXskWT1hcnJheSgpO2ZvcmVhY2godGFibGVfc3RhdHVzKClhcyRhKXskaD0oREI9PSIifHxpbl9hcnJheSgkYVsiTmFtZSJdLChhcnJheSkkX1BPU1RbInRhYmxlcyJdKSk7JGxmPShEQj09IiJ8fGluX2FycmF5KCRhWyJOYW1lIl0sKGFycmF5KSRfUE9TVFsiZGF0YSJdKSk7aWYoJGh8fCRsZil7aWYoIWlzX3ZpZXcoJGEpKXtpZigkSGI9PSJ0YXIiKXtvYl9zdGFydCgpO30kby0+ZHVtcFRhYmxlKCRhWyJOYW1lIl0sKCRoPyRfUE9TVFsidGFibGVfc3R5bGUiXToiIikpO2lmKCRsZil7JG8tPmR1bXBEYXRhKCRhWyJOYW1lIl0sJF9QT1NUWyJkYXRhX3N0eWxlIl0sIlNFTEVDVCAqIEZST00gIi50YWJsZSgkYVsiTmFtZSJdKSk7fWlmKCRzYiYmJF9QT1NUWyJ0cmlnZ2VycyJdJiYkaCYmKCRUYz10cmlnZ2VyX3NxbCgkYVsiTmFtZSJdLCRfUE9TVFsidGFibGVfc3R5bGUiXSkpKXtlY2hvIlxuREVMSU1JVEVSIDs7XG4kVGNcbkRFTElNSVRFUiA7XG4iO31pZigkSGI9PSJ0YXIiKXtlY2hvCnRhcl9maWxlKChEQiE9IiI/IiI6IiR0LyIpLiIkYVtOYW1lXS5jc3YiLG9iX2dldF9jbGVhbigpKTt9ZWxzZWlmKCRzYil7ZWNobyJcbiI7fX1lbHNlaWYoJHNiKXskWVtdPSRhWyJOYW1lIl07fX19Zm9yZWFjaCgkWQphcyRnYyl7JG8tPmR1bXBUYWJsZSgkZ2MsJF9QT1NUWyJ0YWJsZV9zdHlsZSJdLHRydWUpO31pZigkSGI9PSJ0YXIiKXtlY2hvCnBhY2soIng1MTIiKTt9fWlmKCRWPT0iQ1JFQVRFK0FMVEVSIiYmJHNiKXskaT0iU0VMRUNUIFRBQkxFX05BTUUsIEVOR0lORSwgVEFCTEVfQ09MTEFUSU9OLCBUQUJMRV9DT01NRU5UIEZST00gaW5mb3JtYXRpb25fc2NoZW1hLlRBQkxFUyBXSEVSRSBUQUJMRV9TQ0hFTUEgPSBEQVRBQkFTRSgpIjtlY2hvIkRFTElNSVRFUiA7OwpDUkVBVEUgUFJPQ0VEVVJFIGFkbWluZXJfYWx0ZXIgKElOT1VUIGFsdGVyX2NvbW1hbmQgdGV4dCkgQkVHSU4KCURFQ0xBUkUgX3RhYmxlX25hbWUsIF9lbmdpbmUsIF90YWJsZV9jb2xsYXRpb24gdmFyY2hhcig2NCk7CglERUNMQVJFIF90YWJsZV9jb21tZW50IHZhcmNoYXIoNjQpOwoJREVDTEFSRSBkb25lIGJvb2wgREVGQVVMVCAwOwoJREVDTEFSRSB0YWJsZXMgQ1VSU09SIEZPUiAkaTsKCURFQ0xBUkUgQ09OVElOVUUgSEFORExFUiBGT1IgTk9UIEZPVU5EIFNFVCBkb25lID0gMTsKCU9QRU4gdGFibGVzOwoJUkVQRUFUCgkJRkVUQ0ggdGFibGVzIElOVE8gX3RhYmxlX25hbWUsIF9lbmdpbmUsIF90YWJsZV9jb2xsYXRpb24sIF90YWJsZV9jb21tZW50OwoJCUlGIE5PVCBkb25lIFRIRU4KCQkJQ0FTRSBfdGFibGVfbmFtZSI7Zm9yZWFjaChnZXRfcm93cygkaSlhcyRhKXskQWE9cSgkYVsiRU5HSU5FIl09PSJJbm5vREIiP3ByZWdfcmVwbGFjZSgnfig/OiguKyk7ICk/SW5ub0RCIGZyZWU6IC4qficsJ1xcMScsJGFbIlRBQkxFX0NPTU1FTlQiXSk6JGFbIlRBQkxFX0NPTU1FTlQiXSk7ZWNobyIKCQkJCVdIRU4gIi5xKCRhWyJUQUJMRV9OQU1FIl0pLiIgVEhFTgoJCQkJCSIuKGlzc2V0KCRhWyJFTkdJTkUiXSk/IklGIF9lbmdpbmUgIT0gJyRhW0VOR0lORV0nIE9SIF90YWJsZV9jb2xsYXRpb24gIT0gJyRhW1RBQkxFX0NPTExBVElPTl0nIE9SIF90YWJsZV9jb21tZW50ICE9ICRBYSBUSEVOCgkJCQkJCUFMVEVSIFRBQkxFICIuaWRmX2VzY2FwZSgkYVsiVEFCTEVfTkFNRSJdKS4iIEVOR0lORT0kYVtFTkdJTkVdIENPTExBVEU9JGFbVEFCTEVfQ09MTEFUSU9OXSBDT01NRU5UPSRBYTsKCQkJCQlFTkQgSUYiOiJCRUdJTiBFTkQiKS4iOyI7fWVjaG8iCgkJCQlFTFNFCgkJCQkJU0VUIGFsdGVyX2NvbW1hbmQgPSBDT05DQVQoYWx0ZXJfY29tbWFuZCwgJ0RST1AgVEFCTEUgYCcsIFJFUExBQ0UoX3RhYmxlX25hbWUsICdgJywgJ2BgJyksICdgO1xcbicpOwoJCQlFTkQgQ0FTRTsKCQlFTkQgSUY7CglVTlRJTCBkb25lIEVORCBSRVBFQVQ7CglDTE9TRSB0YWJsZXM7CkVORDs7CkRFTElNSVRFUiA7CkNBTEwgYWRtaW5lcl9hbHRlcihAYWRtaW5lcl9hbHRlcik7CkRST1AgUFJPQ0VEVVJFIGFkbWluZXJfYWx0ZXI7CiI7fWlmKGluX2FycmF5KCJDUkVBVEUrQUxURVIiLGFycmF5KCRWLCRfUE9TVFsidGFibGVfc3R5bGUiXSkpJiYkc2Ipe2VjaG8iU0VMRUNUIEBhZG1pbmVyX2FsdGVyO1xuIjt9fX1pZigkc2Ipe2VjaG8iLS0gIi4kZy0+cmVzdWx0KCJTRUxFQ1QgTk9XKCkiKS4iXG4iO31leGl0O31wYWdlX2hlYWRlcihsYW5nKDExMyksIiIsKCRfR0VUWyJleHBvcnQiXSE9IiI/YXJyYXkoInRhYmxlIj0+JF9HRVRbImV4cG9ydCJdKTphcnJheSgpKSxEQik7ZWNobycKPGZvcm0gYWN0aW9uPSIiIG1ldGhvZD0icG9zdCI+Cjx0YWJsZSBjZWxsc3BhY2luZz0iMCI+Cic7JGlmPWFycmF5KCcnLCdVU0UnLCdEUk9QK0NSRUFURScsJ0NSRUFURScpOyRFZT1hcnJheSgnJywnRFJPUCtDUkVBVEUnLCdDUkVBVEUnKTskaGU9YXJyYXkoJycsJ1RSVU5DQVRFK0lOU0VSVCcsJ0lOU0VSVCcpO2lmKCR1PT0ic3FsIil7JGlmW109J0NSRUFURStBTFRFUic7JEVlW109J0NSRUFURStBTFRFUic7JGhlW109J0lOU0VSVCtVUERBVEUnO31wYXJzZV9zdHIoJF9DT09LSUVbImFkbWluZXJfZXhwb3J0Il0sJGEpO2lmKCEkYSl7JGE9YXJyYXkoIm91dHB1dCI9PiJ0ZXh0IiwiZm9ybWF0Ij0+InNxbCIsImRiX3N0eWxlIj0+KERCIT0iIj8iIjoiQ1JFQVRFIiksInRhYmxlX3N0eWxlIj0+IkRST1ArQ1JFQVRFIiwiZGF0YV9zdHlsZSI9PiJJTlNFUlQiKTt9aWYoIWlzc2V0KCRhWyJldmVudHMiXSkpeyRhWyJyb3V0aW5lcyJdPSRhWyJldmVudHMiXT0oJF9HRVRbImR1bXAiXT09IiIpOyRhWyJ0cmlnZ2VycyJdPSRhWyJ0YWJsZV9zdHlsZSJdO31lY2hvIjx0cj48dGg+Ii5sYW5nKDExNCkuIjx0ZD4iLmh0bWxfc2VsZWN0KCJvdXRwdXQiLCRvLT5kdW1wT3V0cHV0KCksJGFbIm91dHB1dCJdLDApLiJcbiI7ZWNobyI8dHI+PHRoPiIubGFuZygxMTUpLiI8dGQ+Ii5odG1sX3NlbGVjdCgiZm9ybWF0Iiwkby0+ZHVtcEZvcm1hdCgpLCRhWyJmb3JtYXQiXSwwKS4iXG4iO2VjaG8oJHU9PSJzcWxpdGUiPyIiOiI8dHI+PHRoPiIubGFuZyg2NykuIjx0ZD4iLmh0bWxfc2VsZWN0KCdkYl9zdHlsZScsJGlmLCRhWyJkYl9zdHlsZSJdKS4oc3VwcG9ydCgicm91dGluZSIpP2NoZWNrYm94KCJyb3V0aW5lcyIsMSwkYVsicm91dGluZXMiXSxsYW5nKDExNikpOiIiKS4oc3VwcG9ydCgiZXZlbnQiKT9jaGVja2JveCgiZXZlbnRzIiwxLCRhWyJldmVudHMiXSxsYW5nKDExNykpOiIiKSksIjx0cj48dGg+Ii5sYW5nKDc4KS4iPHRkPiIuaHRtbF9zZWxlY3QoJ3RhYmxlX3N0eWxlJywkRWUsJGFbInRhYmxlX3N0eWxlIl0pLmNoZWNrYm94KCJhdXRvX2luY3JlbWVudCIsMSwkYVsiYXV0b19pbmNyZW1lbnQiXSxsYW5nKDkzKSkuKHN1cHBvcnQoInRyaWdnZXIiKT9jaGVja2JveCgidHJpZ2dlcnMiLDEsJGFbInRyaWdnZXJzIl0sbGFuZygxMTApKToiIiksIjx0cj48dGg+Ii5sYW5nKDExOCkuIjx0ZD4iLmh0bWxfc2VsZWN0KCdkYXRhX3N0eWxlJywkaGUsJGFbImRhdGFfc3R5bGUiXSksJzwvdGFibGU+CjxwPjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSInLGxhbmcoMTEzKSwnIj4KCjx0YWJsZSBjZWxsc3BhY2luZz0iMCI+Cic7JHdkPWFycmF5KCk7aWYoREIhPSIiKXskZGI9KCRtIT0iIj8iIjoiIGNoZWNrZWQiKTtlY2hvIjx0aGVhZD48dHI+IiwiPHRoIHN0eWxlPSd0ZXh0LWFsaWduOiBsZWZ0Oyc+PGxhYmVsPjxpbnB1dCB0eXBlPSdjaGVja2JveCcgaWQ9J2NoZWNrLXRhYmxlcyckZGIgb25jbGljaz0nZm9ybUNoZWNrKHRoaXMsIC9edGFibGVzXFxbLyk7Jz4iLmxhbmcoNzgpLiI8L2xhYmVsPiIsIjx0aCBzdHlsZT0ndGV4dC1hbGlnbjogcmlnaHQ7Jz48bGFiZWw+Ii5sYW5nKDExOCkuIjxpbnB1dCB0eXBlPSdjaGVja2JveCcgaWQ9J2NoZWNrLWRhdGEnJGRiIG9uY2xpY2s9J2Zvcm1DaGVjayh0aGlzLCAvXmRhdGFcXFsvKTsnPjwvbGFiZWw+IiwiPC90aGVhZD5cbiI7JFk9IiI7Zm9yZWFjaCh0YWJsZV9zdGF0dXMoKWFzJGEpeyRmPSRhWyJOYW1lIl07JHljPWVyZWdfcmVwbGFjZSgiXy4qIiwiIiwkZik7JGRiPSgkbT09IiJ8fCRtPT0oc3Vic3RyKCRtLC0xKT09IiUiPyIkeWMlIjokZikpOyRCYj0iPHRyPjx0ZD4iLmNoZWNrYm94KCJ0YWJsZXNbXSIsJGYsJGRiLCRmLCJmb3JtVW5jaGVjaygnY2hlY2stdGFibGVzJyk7Iik7aWYoaXNfdmlldygkYSkpeyRZLj0iJEJiXG4iO31lbHNle2VjaG8iJEJiPHRkIGFsaWduPSdyaWdodCc+PGxhYmVsPiIuKCRhWyJFbmdpbmUiXT09Iklubm9EQiImJiRhWyJSb3dzIl0/In4gIjoiIikuJGFbIlJvd3MiXS5jaGVja2JveCgiZGF0YVtdIiwkZiwkZGIsIiIsImZvcm1VbmNoZWNrKCdjaGVjay1kYXRhJyk7IikuIjwvbGFiZWw+XG4iO30kd2RbJHljXSsrO31lY2hvJFk7fWVsc2V7ZWNobyI8dGhlYWQ+PHRyPjx0aCBzdHlsZT0ndGV4dC1hbGlnbjogbGVmdDsnPjxsYWJlbD48aW5wdXQgdHlwZT0nY2hlY2tib3gnIGlkPSdjaGVjay1kYXRhYmFzZXMnIi4oJG09PSIiPyIgY2hlY2tlZCI6IiIpLiIgb25jbGljaz0nZm9ybUNoZWNrKHRoaXMsIC9eZGF0YWJhc2VzXFxbLyk7Jz4iLmxhbmcoNjcpLiI8L2xhYmVsPjwvdGhlYWQ+XG4iOyRBPWdldF9kYXRhYmFzZXMoKTtpZigkQSl7Zm9yZWFjaCgkQQphcyR0KXtpZighaW5mb3JtYXRpb25fc2NoZW1hKCR0KSl7JHljPWVyZWdfcmVwbGFjZSgiXy4qIiwiIiwkdCk7ZWNobyI8dHI+PHRkPiIuY2hlY2tib3goImRhdGFiYXNlc1tdIiwkdCwkbT09IiJ8fCRtPT0iJHljJSIsJHQsImZvcm1VbmNoZWNrKCdjaGVjay1kYXRhYmFzZXMnKTsiKS4iPC9sYWJlbD5cbiI7JHdkWyR5Y10rKzt9fX1lbHNle2VjaG8iPHRyPjx0ZD48dGV4dGFyZWEgbmFtZT0nZGF0YWJhc2VzJyByb3dzPScxMCcgY29scz0nMjAnPjwvdGV4dGFyZWE+Ijt9fWVjaG8nPC90YWJsZT4KPC9mb3JtPgonOyRDYT10cnVlO2ZvcmVhY2goJHdkCmFzJGQ9PiRiKXtpZigkZCE9IiImJiRiPjEpe2VjaG8oJENhPyI8cD4iOiIgIikuIjxhIGhyZWY9JyIuaChNRSkuImR1bXA9Ii51cmxlbmNvZGUoIiRkJSIpLiInPiIuaCgkZCkuIjwvYT4iOyRDYT1mYWxzZTt9fX1lbHNlaWYoaXNzZXQoJF9HRVRbInByaXZpbGVnZXMiXSkpe3BhZ2VfaGVhZGVyKGxhbmcoNTApKTskaj0kZy0+cXVlcnkoIlNFTEVDVCBVc2VyLCBIb3N0IEZST00gbXlzcWwuIi4oREI9PSIiPyJ1c2VyIjoiZGIgV0hFUkUgIi5xKCRfR0VUWyJkYiJdKS4iIExJS0UgRGIiKS4iIE9SREVSIEJZIEhvc3QsIFVzZXIiKTtpZighJGope2VjaG8nPGZvcm0gYWN0aW9uPSIiPjxwPgonO2hpZGRlbl9maWVsZHNfZ2V0KCk7ZWNobwpsYW5nKDIxKSwnOiA8aW5wdXQgbmFtZT0idXNlciI+CicsbGFuZygyMCksJzogPGlucHV0IG5hbWU9Imhvc3QiIHZhbHVlPSJsb2NhbGhvc3QiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJncmFudCIgdmFsdWU9IiI+CjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSInLGxhbmcoMzEpLCciPgo8L2Zvcm0+Cic7JGo9JGctPnF1ZXJ5KCJTRUxFQ1QgU1VCU1RSSU5HX0lOREVYKENVUlJFTlRfVVNFUiwgJ0AnLCAxKSBBUyBVc2VyLCBTVUJTVFJJTkdfSU5ERVgoQ1VSUkVOVF9VU0VSLCAnQCcsIC0xKSBBUyBIb3N0Iik7fWVjaG8iPHRhYmxlIGNlbGxzcGFjaW5nPScwJz5cbiIsIjx0aGVhZD48dHI+PHRoPiZuYnNwOzx0aD4iLmxhbmcoMjEpLiI8dGg+Ii5sYW5nKDIwKS4iPC90aGVhZD5cbiI7d2hpbGUoJGE9JGotPmZldGNoX2Fzc29jKCkpe2VjaG8nPHRyJy5vZGQoKS4nPjx0ZD48YSBocmVmPSInLmgoTUUuJ3VzZXI9Jy51cmxlbmNvZGUoJGFbIlVzZXIiXSkuJyZob3N0PScudXJsZW5jb2RlKCRhWyJIb3N0Il0pKS4nIj4nLmxhbmcoMTE5KS4nPC9hPjx0ZD4nLmgoJGFbIlVzZXIiXSkuIjx0ZD4iLmgoJGFbIkhvc3QiXSkuIlxuIjt9ZWNobyI8L3RhYmxlPlxuIiwnPHA+PGEgaHJlZj0iJy5oKE1FKS4ndXNlcj0iPicubGFuZygxMjApLiI8L2E+Ijt9ZWxzZWlmKGlzc2V0KCRfR0VUWyJzcWwiXSkpe2lmKCEkbiYmJF9QT1NUWyJleHBvcnQiXSl7ZHVtcF9oZWFkZXJzKCJzcWwiKTskby0+ZHVtcFRhYmxlKCIiLCIiKTskby0+ZHVtcERhdGEoIiIsInRhYmxlIiwkX1BPU1RbInF1ZXJ5Il0pO2V4aXQ7fXJlc3RhcnRfc2Vzc2lvbigpOyR3Zj0mZ2V0X3Nlc3Npb24oInF1ZXJpZXMiKTskaGI9JiR3ZltEQl07aWYoISRuJiYkX1BPU1RbImNsZWFyIl0peyRoYj1hcnJheSgpO3JlZGlyZWN0KHJlbW92ZV9mcm9tX3VyaSgiaGlzdG9yeSIpKTt9cGFnZV9oZWFkZXIobGFuZyg0MyksJG4pO2lmKCEkbiYmJF9QT1NUKXskT2E9ZmFsc2U7JGk9JF9QT1NUWyJxdWVyeSJdO2lmKCRfUE9TVFsid2ViZmlsZSJdKXskT2E9QGZvcGVuKChmaWxlX2V4aXN0cygiYWRtaW5lci5zcWwiKT8iYWRtaW5lci5zcWwiOihmaWxlX2V4aXN0cygiYWRtaW5lci5zcWwuZ3oiKT8iY29tcHJlc3MuemxpYjovL2FkbWluZXIuc3FsLmd6IjoiY29tcHJlc3MuYnppcDI6Ly9hZG1pbmVyLnNxbC5iejIiKSksInJiIik7JGk9KCRPYT9mcmVhZCgkT2EsMWU2KTpmYWxzZSk7fWVsc2VpZigkX0ZJTEVTJiYkX0ZJTEVTWyJzcWxfZmlsZSJdWyJlcnJvciJdIT00KXskaT1nZXRfZmlsZSgic3FsX2ZpbGUiLHRydWUpO31pZihpc19zdHJpbmcoJGkpKXtpZihmdW5jdGlvbl9leGlzdHMoJ21lbW9yeV9nZXRfdXNhZ2UnKSl7QGluaV9zZXQoIm1lbW9yeV9saW1pdCIsbWF4KGluaV9nZXQoIm1lbW9yeV9saW1pdCIpLDIqc3RybGVuKCRpKSttZW1vcnlfZ2V0X3VzYWdlKCkrOGU2KSk7fWlmKCRpIT0iIiYmc3RybGVuKCRpKTwxZTYpeyRiYT0kaS4oZXJlZygnOyQnLCRpKT8iIjoiOyIpO2lmKCEkaGJ8fGVuZCgkaGIpIT0kYmEpeyRoYltdPSRiYTt9fSR4Yz0iKD86XFxzfC9cXCouKlxcKi98KD86I3wtLSApW15cbl0qXG58LS1cbikiO2lmKCFpbmlfYm9vbCgic2Vzc2lvbi51c2VfY29va2llcyIpKXtzZXNzaW9uX3dyaXRlX2Nsb3NlKCk7fSRwZD0iOyI7JEw9MDskaGM9dHJ1ZTskRz1jb25uZWN0KCk7aWYoaXNfb2JqZWN0KCRHKSYmREIhPSIiKXskRy0+c2VsZWN0X2RiKERCKTt9JEFiPTA7JGZkPWFycmF5KCk7JERmPSdbXCciJy4oJHU9PSJzcWwiPydgIyc6KCR1PT0ic3FsaXRlIj8nYFsnOigkdT09Im1zc3FsIj8nWyc6JycpKSkuJ118L1xcKnwtLSB8JCcuKCR1PT0icGdzcWwiPyd8XFwkW14kXSpcXCQnOicnKTskcmY9bWljcm90aW1lKCk7cGFyc2Vfc3RyKCRfQ09PS0lFWyJhZG1pbmVyX2V4cG9ydCJdLCRUZCk7JFVkPSRvLT5kdW1wRm9ybWF0KCk7dW5zZXQoJFVkWyJzcWwiXSk7d2hpbGUoJGkhPSIiKXtpZighJEwmJiR1PT0ic3FsIiYmcHJlZ19tYXRjaCgifl4keGMqREVMSU1JVEVSXFxzKyguKyl+aSIsJGksJGspKXskcGQ9JGtbMV07JGk9c3Vic3RyKCRpLHN0cmxlbigka1swXSkpO31lbHNle3ByZWdfbWF0Y2goJygnLnByZWdfcXVvdGUoJHBkKS4ifCREZikiLCRpLCRrLFBSRUdfT0ZGU0VUX0NBUFRVUkUsJEwpOyR1YT0ka1swXVswXTtpZighJHVhJiYkT2EmJiFmZW9mKCRPYSkpeyRpLj1mcmVhZCgkT2EsMWU1KTt9ZWxzZXskTD0ka1swXVsxXStzdHJsZW4oJHVhKTtpZighJHVhJiZydHJpbSgkaSk9PSIiKXticmVhazt9aWYoJHVhJiYkdWEhPSRwZCl7d2hpbGUocHJlZ19tYXRjaCgnKCcuKCR1YT09Jy8qJz8nXFwqLyc6KCR1YT09J1snPyddJzooZXJlZygnXi0tIHxeIycsJHVhKT8iXG4iOnByZWdfcXVvdGUoJHVhKS4ifFxcXFwuIikpKS4nfCQpcycsJGksJGssUFJFR19PRkZTRVRfQ0FQVFVSRSwkTCkpeyRxYT0ka1swXVswXTskTD0ka1swXVsxXStzdHJsZW4oJHFhKTtpZighJHFhJiYkT2EmJiFmZW9mKCRPYSkpeyRMLT1zdHJsZW4oJHVhKTskaS49ZnJlYWQoJE9hLDFlNSk7fWVsc2VpZigkcWFbMF0hPSJcXCIpe2JyZWFrO319fWVsc2V7JGhjPWZhbHNlOyRiYT1zdWJzdHIoJGksMCwka1swXVsxXSk7JEFiKys7JEJiPSI8cHJlIGlkPSdzcWwtJEFiJz48Y29kZSBjbGFzcz0nanVzaC0kdSc+Ii5zaG9ydGVuX3V0ZjgodHJpbSgkYmEpLDEwMDApLiI8L2NvZGU+PC9wcmU+XG4iO2lmKCEkX1BPU1RbIm9ubHlfZXJyb3JzIl0pe2VjaG8kQmI7b2JfZmx1c2goKTtmbHVzaCgpO30kTWI9bWljcm90aW1lKCk7aWYoJGctPm11bHRpX3F1ZXJ5KCRiYSkmJmlzX29iamVjdCgkRykmJnByZWdfbWF0Y2goIn5eJHhjKlVTRVxcYn5pc1UiLCRiYSkpeyRHLT5xdWVyeSgkYmEpO31kb3skaj0kZy0+c3RvcmVfcmVzdWx0KCk7JFpjPW1pY3JvdGltZSgpOyRWZD1mb3JtYXRfdGltZSgkTWIsJFpjKS4oc3RybGVuKCRiYSk8MTAwMD8iIDxhIGhyZWY9JyIuaChNRSkuInNxbD0iLnVybGVuY29kZSh0cmltKCRiYSkpLiInPiIubGFuZygzMSkuIjwvYT4iOiIiKTtpZigkZy0+ZXJyb3Ipe2VjaG8oJF9QT1NUWyJvbmx5X2Vycm9ycyJdPyRCYjoiIiksIjxwIGNsYXNzPSdlcnJvcic+Ii5sYW5nKDEyMSkuIjogIi5lcnJvcigpLiJcbiI7JGZkW109IiA8YSBocmVmPScjc3FsLSRBYic+JEFiPC9hPiI7aWYoJF9QT1NUWyJlcnJvcl9zdG9wcyJdKXticmVhawoyO319ZWxzZWlmKGlzX29iamVjdCgkaikpe3NlbGVjdCgkaiwkRyk7aWYoISRfUE9TVFsib25seV9lcnJvcnMiXSl7ZWNobyI8Zm9ybSBhY3Rpb249JycgbWV0aG9kPSdwb3N0Jz5cbiIsIjxwPiIuKCRqLT5udW1fcm93cz9sYW5nKDEyMiwkai0+bnVtX3Jvd3MpOiIiKS4kVmQ7JFM9ImV4cG9ydC0kQWIiOyRjZT0iLCA8YSBocmVmPScjJFMnIG9uY2xpY2s9XCJyZXR1cm4gIXRvZ2dsZSgnJFMnKTtcIj4iLmxhbmcoMTEzKS4iPC9hPjxzcGFuIGlkPSckUycgY2xhc3M9J2hpZGRlbic+OiAiLmh0bWxfc2VsZWN0KCJvdXRwdXQiLCRvLT5kdW1wT3V0cHV0KCksJFRkWyJvdXRwdXQiXSkuIiAiLmh0bWxfc2VsZWN0KCJmb3JtYXQiLCRVZCwkVGRbImZvcm1hdCJdKS4iPGlucHV0IHR5cGU9J2hpZGRlbicgbmFtZT0ncXVlcnknIHZhbHVlPSciLmgoJGJhKS4iJz4iLiIgPGlucHV0IHR5cGU9J3N1Ym1pdCcgbmFtZT0nZXhwb3J0JyB2YWx1ZT0nIi5sYW5nKDExMykuIicgb25jbGljaz0nZXZlbnRTdG9wKGV2ZW50KTsnPjxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J3Rva2VuJyB2YWx1ZT0nJE8nPjwvc3Bhbj5cbiI7aWYoJEcmJnByZWdfbWF0Y2goIn5eKCR4Y3xcXCgpKlNFTEVDVFxcYn5pc1UiLCRiYSkmJigkUWY9ZXhwbGFpbigkRywkYmEpKSl7JFM9ImV4cGxhaW4tJEFiIjtlY2hvIiwgPGEgaHJlZj0nIyRTJyBvbmNsaWNrPVwicmV0dXJuICF0b2dnbGUoJyRTJyk7XCI+RVhQTEFJTjwvYT4kY2UiLCI8ZGl2IGlkPSckUycgY2xhc3M9J2hpZGRlbic+XG4iO3NlbGVjdCgkUWYsJEcsKCR1PT0ic3FsIj8iaHR0cDovL2Rldi5teXNxbC5jb20vZG9jL3JlZm1hbi8iLnN1YnN0cigkZy0+c2VydmVyX2luZm8sMCwzKS4iL2VuL2V4cGxhaW4tb3V0cHV0Lmh0bWwjZXhwbGFpbl8iOiIiKSk7ZWNobyI8L2Rpdj5cbiI7fWVsc2V7ZWNobyRjZTt9ZWNobyI8L2Zvcm0+XG4iO319ZWxzZXtpZihwcmVnX21hdGNoKCJ+XiR4YyooQ1JFQVRFfERST1B8QUxURVIpJHhjKyhEQVRBQkFTRXxTQ0hFTUEpXFxifmlzVSIsJGJhKSl7cmVzdGFydF9zZXNzaW9uKCk7c2V0X3Nlc3Npb24oImRicyIsbnVsbCk7c2Vzc2lvbl93cml0ZV9jbG9zZSgpO31pZighJF9QT1NUWyJvbmx5X2Vycm9ycyJdKXtlY2hvIjxwIGNsYXNzPSdtZXNzYWdlJyB0aXRsZT0nIi5oKCRnLT5pbmZvKS4iJz4iLmxhbmcoMTIzLCRnLT5hZmZlY3RlZF9yb3dzKS4iJFZkXG4iO319JE1iPSRaYzt9d2hpbGUoJGctPm5leHRfcmVzdWx0KCkpOyRpPXN1YnN0cigkaSwkTCk7JEw9MDt9fX19aWYoJGhjKXtlY2hvIjxwIGNsYXNzPSdtZXNzYWdlJz4iLmxhbmcoMTI0KS4iXG4iO31lbHNlaWYoJF9QT1NUWyJvbmx5X2Vycm9ycyJdKXtlY2hvIjxwIGNsYXNzPSdtZXNzYWdlJz4iLmxhbmcoMTI1LCRBYi1jb3VudCgkZmQpKS5mb3JtYXRfdGltZSgkcmYsbWljcm90aW1lKCkpLiJcbiI7fWVsc2VpZigkZmQmJiRBYj4xKXtlY2hvIjxwIGNsYXNzPSdlcnJvcic+Ii5sYW5nKDEyMSkuIjogIi5pbXBsb2RlKCIiLCRmZCkuIlxuIjt9fWVsc2V7ZWNobyI8cCBjbGFzcz0nZXJyb3InPiIudXBsb2FkX2Vycm9yKCRpKS4iXG4iO319ZWNobycKPGZvcm0gYWN0aW9uPSIiIG1ldGhvZD0icG9zdCIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgaWQ9ImZvcm0iPgo8cD4nOyRiYT0kX0dFVFsic3FsIl07aWYoJF9QT1NUKXskYmE9JF9QT1NUWyJxdWVyeSJdO31lbHNlaWYoJF9HRVRbImhpc3RvcnkiXT09ImFsbCIpeyRiYT0kaGI7fWVsc2VpZigkX0dFVFsiaGlzdG9yeSJdIT0iIil7JGJhPSRoYlskX0dFVFsiaGlzdG9yeSJdXTt9dGV4dGFyZWEoInF1ZXJ5IiwkYmEsMjApO2VjaG8oJF9QT1NUPyIiOiI8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCc+ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3RleHRhcmVhJylbMF0uZm9jdXMoKTs8L3NjcmlwdD5cbiIpLCI8cD4iLihpbmlfYm9vbCgiZmlsZV91cGxvYWRzIik/bGFuZygxMjYpLic6IDxpbnB1dCB0eXBlPSJmaWxlIiBuYW1lPSJzcWxfZmlsZSInLigkX0ZJTEVTJiYkX0ZJTEVTWyJzcWxfZmlsZSJdWyJlcnJvciJdIT00PycnOicgb25jaGFuZ2U9InRoaXMuZm9ybVtcJ29ubHlfZXJyb3JzXCddLmNoZWNrZWQgPSB0cnVlOyInKS4nPiAoJmx0OyAnLmluaV9nZXQoInVwbG9hZF9tYXhfZmlsZXNpemUiKS4nQiknOmxhbmcoMTI3KSksJzxwPgo8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iJyxsYW5nKDEyOCksJyIgdGl0bGU9IkN0cmwrRW50ZXIiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ0b2tlbiIgdmFsdWU9IicsJE8sJyI+CicsY2hlY2tib3goImVycm9yX3N0b3BzIiwxLCRfUE9TVFsiZXJyb3Jfc3RvcHMiXSxsYW5nKDEyOSkpLiJcbiIsY2hlY2tib3goIm9ubHlfZXJyb3JzIiwxLCRfUE9TVFsib25seV9lcnJvcnMiXSxsYW5nKDEzMCkpLiJcbiI7cHJpbnRfZmllbGRzZXQoIndlYmZpbGUiLGxhbmcoMTMxKSwkX1BPU1RbIndlYmZpbGUiXSwiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Zvcm0nKVsnb25seV9lcnJvcnMnXS5jaGVja2VkID0gdHJ1ZTsgIik7JHNkPWFycmF5KCk7Zm9yZWFjaChhcnJheSgiZ3oiPT4iemxpYiIsImJ6MiI9PiJiejIiKWFzJGQ9PiRiKXtpZihleHRlbnNpb25fbG9hZGVkKCRiKSl7JHNkW109Ii4kZCI7fX1lY2hvCmxhbmcoMTMyLCI8Y29kZT5hZG1pbmVyLnNxbCIuKCRzZD8iWyIuaW1wbG9kZSgifCIsJHNkKS4iXSI6IiIpLiI8L2NvZGU+IiksJyA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ3ZWJmaWxlIiB2YWx1ZT0iJy5sYW5nKDEzMykuJyI+JywiPC9kaXY+PC9maWVsZHNldD5cbiI7aWYoJGhiKXtwcmludF9maWVsZHNldCgiaGlzdG9yeSIsbGFuZygxMzQpLCRfR0VUWyJoaXN0b3J5Il0hPSIiKTtmb3JlYWNoKCRoYgphcyRkPT4kYil7ZWNobyc8YSBocmVmPSInLmgoTUUuInNxbD0maGlzdG9yeT0kZCIpLiciPicubGFuZygzMSkuIjwvYT4gPGNvZGUgY2xhc3M9J2p1c2gtJHUnPiIuc2hvcnRlbl91dGY4KGx0cmltKHN0cl9yZXBsYWNlKCJcbiIsIiAiLHN0cl9yZXBsYWNlKCJcciIsIiIscHJlZ19yZXBsYWNlKCd+XigjfC0tICkuKn5tJywnJywkYikpKSksODAsIjwvY29kZT4iKS4iPGJyPlxuIjt9ZWNobyI8aW5wdXQgdHlwZT0nc3VibWl0JyBuYW1lPSdjbGVhcicgdmFsdWU9JyIubGFuZygxMzUpLiInPlxuIiwiPGEgaHJlZj0nIi5oKE1FLiJzcWw9Jmhpc3Rvcnk9YWxsIikuIic+Ii5sYW5nKDEzNikuIjwvYT5cbiIsIjwvZGl2PjwvZmllbGRzZXQ+XG4iO31lY2hvJwo8L2Zvcm0+Cic7fWVsc2VpZihpc3NldCgkX0dFVFsiZWRpdCJdKSl7JG09JF9HRVRbImVkaXQiXTskcj0oaXNzZXQoJF9HRVRbInNlbGVjdCJdKT8oY291bnQoJF9QT1NUWyJjaGVjayJdKT09MT93aGVyZV9jaGVjaygkX1BPU1RbImNoZWNrIl1bMF0pOiIiKTp3aGVyZSgkX0dFVCkpOyRzYT0oaXNzZXQoJF9HRVRbInNlbGVjdCJdKT8kX1BPU1RbImVkaXQiXTokcik7JHA9ZmllbGRzKCRtKTtmb3JlYWNoKCRwCmFzJGY9PiRlKXtpZighaXNzZXQoJGVbInByaXZpbGVnZXMiXVskc2E/InVwZGF0ZSI6Imluc2VydCJdKXx8JG8tPmZpZWxkTmFtZSgkZSk9PSIiKXt1bnNldCgkcFskZl0pO319aWYoJF9QT1NUJiYhJG4mJiFpc3NldCgkX0dFVFsic2VsZWN0Il0pKXskaWE9JF9QT1NUWyJyZWZlcmVyIl07aWYoJF9QT1NUWyJpbnNlcnQiXSl7JGlhPSgkc2E/bnVsbDokX1NFUlZFUlsiUkVRVUVTVF9VUkkiXSk7fWVsc2VpZighZXJlZygnXi4rJnNlbGVjdD0uKyQnLCRpYSkpeyRpYT1NRS4ic2VsZWN0PSIudXJsZW5jb2RlKCRtKTt9aWYoaXNzZXQoJF9QT1NUWyJkZWxldGUiXSkpe3F1ZXJ5X3JlZGlyZWN0KCJERUxFVEUiLmxpbWl0MSgiRlJPTSAiLnRhYmxlKCRtKSwiIFdIRVJFICRyIiksJGlhLGxhbmcoMTM3KSk7fWVsc2V7JHM9YXJyYXkoKTtmb3JlYWNoKCRwCmFzJGY9PiRlKXskYj1wcm9jZXNzX2lucHV0KCRlKTtpZigkYiE9PWZhbHNlJiYkYiE9PW51bGwpeyRzW2lkZl9lc2NhcGUoJGYpXT0oJHNhPyJcbiIuaWRmX2VzY2FwZSgkZikuIiA9ICRiIjokYik7fX1pZigkc2Epe2lmKCEkcyl7cmVkaXJlY3QoJGlhKTt9cXVlcnlfcmVkaXJlY3QoIlVQREFURSIubGltaXQxKHRhYmxlKCRtKS4iIFNFVCIuaW1wbG9kZSgiLCIsJHMpLCJcbldIRVJFICRyIiksJGlhLGxhbmcoMTM4KSk7fWVsc2V7JGo9aW5zZXJ0X2ludG8oJG0sJHMpOyRXZD0oJGo/bGFzdF9pZCgpOjApO3F1ZXJpZXNfcmVkaXJlY3QoJGlhLGxhbmcoMTM5LCgkV2Q/IiAkV2QiOiIiKSksJGopO319fSRMYT0kby0+dGFibGVOYW1lKHRhYmxlX3N0YXR1cygkbSkpO3BhZ2VfaGVhZGVyKCgkc2E/bGFuZygzMSk6bGFuZygxNDApKSwkbixhcnJheSgic2VsZWN0Ij0+YXJyYXkoJG0sJExhKSksJExhKTskYT1udWxsO2lmKCRfUE9TVFsic2F2ZSJdKXskYT0oYXJyYXkpJF9QT1NUWyJmaWVsZHMiXTt9ZWxzZWlmKCRyKXskSj1hcnJheSgpO2ZvcmVhY2goJHAKYXMkZj0+JGUpe2lmKGlzc2V0KCRlWyJwcml2aWxlZ2VzIl1bInNlbGVjdCJdKSl7JEpbXT0oJF9QT1NUWyJjbG9uZSJdJiYkZVsiYXV0b19pbmNyZW1lbnQiXT8iJycgQVMgIjooZXJlZygiZW51bXxzZXQiLCRlWyJ0eXBlIl0pPyIxKiIuaWRmX2VzY2FwZSgkZikuIiBBUyAiOiIiKSkuaWRmX2VzY2FwZSgkZik7fX0kYT1hcnJheSgpO2lmKCRKKXskSD1nZXRfcm93cygiU0VMRUNUIi5saW1pdChpbXBsb2RlKCIsICIsJEopLiIgRlJPTSAiLnRhYmxlKCRtKSwiIFdIRVJFICRyIiwoaXNzZXQoJF9HRVRbInNlbGVjdCJdKT8yOjEpKSk7JGE9KGlzc2V0KCRfR0VUWyJzZWxlY3QiXSkmJmNvdW50KCRIKSE9MT9udWxsOnJlc2V0KCRIKSk7fX1pZigkYT09PWZhbHNlKXtlY2hvIjxwIGNsYXNzPSdlcnJvcic+Ii5sYW5nKDgzKS4iXG4iO31lY2hvJwo8Zm9ybSBhY3Rpb249IiIgbWV0aG9kPSJwb3N0IiBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIiBpZD0iZm9ybSI+Cic7aWYoJHApe2VjaG8iPHRhYmxlIGNlbGxzcGFjaW5nPScwJyBvbmtleWRvd249J3JldHVybiBlZGl0aW5nS2V5ZG93bihldmVudCk7Jz5cbiI7Zm9yZWFjaCgkcAphcyRmPT4kZSl7ZWNobyI8dHI+PHRoPiIuJG8tPmZpZWxkTmFtZSgkZSk7JHlhPSRfR0VUWyJzZXQiXVticmFja2V0X2VzY2FwZSgkZildOyRxPShpc3NldCgkYSk/KCRhWyRmXSE9IiImJmVyZWcoImVudW18c2V0IiwkZVsidHlwZSJdKT8oaXNfYXJyYXkoJGFbJGZdKT9hcnJheV9zdW0oJGFbJGZdKTorJGFbJGZdKTokYVskZl0pOighJHNhJiYkZVsiYXV0b19pbmNyZW1lbnQiXT8iIjooaXNzZXQoJF9HRVRbInNlbGVjdCJdKT9mYWxzZTooaXNzZXQoJHlhKT8keWE6JGVbImRlZmF1bHQiXSkpKSk7aWYoISRfUE9TVFsic2F2ZSJdJiZpc19zdHJpbmcoJHEpKXskcT0kby0+ZWRpdFZhbCgkcSwkZSk7fSROPSgkX1BPU1RbInNhdmUiXT8oc3RyaW5nKSRfUE9TVFsiZnVuY3Rpb24iXVskZl06KCRzYSYmJGVbIm9uX3VwZGF0ZSJdPT0iQ1VSUkVOVF9USU1FU1RBTVAiPyJub3ciOigkcT09PWZhbHNlP251bGw6KGlzc2V0KCRxKT8nJzonTlVMTCcpKSkpO2lmKCRlWyJ0eXBlIl09PSJ0aW1lc3RhbXAiJiYkcT09IkNVUlJFTlRfVElNRVNUQU1QIil7JHE9IiI7JE49Im5vdyI7fWlucHV0KCRlLCRxLCROKTtlY2hvIlxuIjt9ZWNobyI8L3RhYmxlPlxuIjt9ZWNobyc8cD4KJztpZigkcCl7ZWNobyI8aW5wdXQgdHlwZT0nc3VibWl0JyB2YWx1ZT0nIi5sYW5nKDE0MSkuIic+XG4iO2lmKCFpc3NldCgkX0dFVFsic2VsZWN0Il0pKXtlY2hvIjxpbnB1dCB0eXBlPSdzdWJtaXQnIG5hbWU9J2luc2VydCcgdmFsdWU9JyIuKCRzYT9sYW5nKDE0Mik6bGFuZygxNDMpKS4iJyB0aXRsZT0nQ3RybCtTaGlmdCtFbnRlcic+XG4iO319ZWNobygkc2E/IjxpbnB1dCB0eXBlPSdzdWJtaXQnIG5hbWU9J2RlbGV0ZScgdmFsdWU9JyIubGFuZygxNDQpLiInIG9uY2xpY2s9XCJyZXR1cm4gY29uZmlybSgnIi5sYW5nKDApLiInKTtcIj5cbiI6KCRfUE9TVHx8ISRwPyIiOiI8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCc+ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Zvcm0nKS5nZXRFbGVtZW50c0J5VGFnTmFtZSgndGQnKVsxXS5maXJzdENoaWxkLmZvY3VzKCk7PC9zY3JpcHQ+XG4iKSk7aWYoaXNzZXQoJF9HRVRbInNlbGVjdCJdKSl7aGlkZGVuX2ZpZWxkcyhhcnJheSgiY2hlY2siPT4oYXJyYXkpJF9QT1NUWyJjaGVjayJdLCJjbG9uZSI9PiRfUE9TVFsiY2xvbmUiXSwiYWxsIj0+JF9QT1NUWyJhbGwiXSkpO31lY2hvJzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InJlZmVyZXIiIHZhbHVlPSInLGgoaXNzZXQoJF9QT1NUWyJyZWZlcmVyIl0pPyRfUE9TVFsicmVmZXJlciJdOiRfU0VSVkVSWyJIVFRQX1JFRkVSRVIiXSksJyI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InNhdmUiIHZhbHVlPSIxIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idG9rZW4iIHZhbHVlPSInLCRPLCciPgo8L2Zvcm0+Cic7fWVsc2VpZihpc3NldCgkX0dFVFsiY3JlYXRlIl0pKXskbT0kX0dFVFsiY3JlYXRlIl07JGJlPWFycmF5KCdIQVNIJywnTElORUFSIEhBU0gnLCdLRVknLCdMSU5FQVIgS0VZJywnUkFOR0UnLCdMSVNUJyk7JGFlPXJlZmVyZW5jYWJsZV9wcmltYXJ5KCRtKTskZWE9YXJyYXkoKTtmb3JlYWNoKCRhZQphcyRMYT0+JGUpeyRlYVtzdHJfcmVwbGFjZSgiYCIsImBgIiwkTGEpLiJgIi5zdHJfcmVwbGFjZSgiYCIsImBgIiwkZVsiZmllbGQiXSldPSRMYTt9JFZjPWFycmF5KCk7JFVjPWFycmF5KCk7aWYoJG0hPSIiKXskVmM9ZmllbGRzKCRtKTskVWM9dGFibGVfc3RhdHVzKCRtKTt9aWYoJF9QT1NUJiYhJF9QT1NUWyJmaWVsZHMiXSl7JF9QT1NUWyJmaWVsZHMiXT1hcnJheSgpO31pZigkX1BPU1QmJiEkbiYmISRfUE9TVFsiYWRkIl0mJiEkX1BPU1RbImRyb3BfY29sIl0mJiEkX1BPU1RbInVwIl0mJiEkX1BPU1RbImRvd24iXSl7aWYoJF9QT1NUWyJkcm9wIl0pe3F1ZXJ5X3JlZGlyZWN0KCJEUk9QIFRBQkxFICIudGFibGUoJG0pLHN1YnN0cihNRSwwLC0xKSxsYW5nKDE0NSkpO31lbHNleyRwPWFycmF5KCk7JFBhPWFycmF5KCk7a3NvcnQoJF9QT1NUWyJmaWVsZHMiXSk7JHVkPXJlc2V0KCRWYyk7JEpiPSJGSVJTVCI7Zm9yZWFjaCgkX1BPU1RbImZpZWxkcyJdYXMkZD0+JGUpeyRDPSRlYVskZVsidHlwZSJdXTskYmQ9KGlzc2V0KCRDKT8kYWVbJENdOiRlKTtpZigkZVsiZmllbGQiXSE9IiIpe2lmKCEkZVsiaGFzX2RlZmF1bHQiXSl7JGVbImRlZmF1bHQiXT1udWxsO30keWE9ZXJlZ2lfcmVwbGFjZSgiICpvbiB1cGRhdGUgQ1VSUkVOVF9USU1FU1RBTVAiLCIiLCRlWyJkZWZhdWx0Il0pO2lmKCR5YSE9JGVbImRlZmF1bHQiXSl7JGVbIm9uX3VwZGF0ZSJdPSJDVVJSRU5UX1RJTUVTVEFNUCI7JGVbImRlZmF1bHQiXT0keWE7fWlmKCRkPT0kX1BPU1RbImF1dG9faW5jcmVtZW50X2NvbCJdKXskZVsiYXV0b19pbmNyZW1lbnQiXT10cnVlO30keGU9cHJvY2Vzc19maWVsZCgkZSwkYmQpO2lmKCR4ZSE9cHJvY2Vzc19maWVsZCgkdWQsJHVkKSl7JHBbXT1hcnJheSgkZVsib3JpZyJdLCR4ZSwkSmIpO31pZihpc3NldCgkQykpeyRQYVtpZGZfZXNjYXBlKCRlWyJmaWVsZCJdKV09KCRtIT0iIj8iQUREIjoiICIpLiIgRk9SRUlHTiBLRVkgKCIuaWRmX2VzY2FwZSgkZVsiZmllbGQiXSkuIikgUkVGRVJFTkNFUyAiLnRhYmxlKCRlYVskZVsidHlwZSJdXSkuIiAoIi5pZGZfZXNjYXBlKCRiZFsiZmllbGQiXSkuIikiLihlcmVnKCJeKCRJYSlcJCIsJGVbIm9uX2RlbGV0ZSJdKT8iIE9OIERFTEVURSAkZVtvbl9kZWxldGVdIjoiIik7fSRKYj0iQUZURVIgIi5pZGZfZXNjYXBlKCRlWyJmaWVsZCJdKTt9ZWxzZWlmKCRlWyJvcmlnIl0hPSIiKXskcFtdPWFycmF5KCRlWyJvcmlnIl0pO31pZigkZVsib3JpZyJdIT0iIil7JHVkPW5leHQoJFZjKTt9fSR6Yj0iIjtpZihpbl9hcnJheSgkX1BPU1RbInBhcnRpdGlvbl9ieSJdLCRiZSkpeyRCZD1hcnJheSgpO2lmKCRfUE9TVFsicGFydGl0aW9uX2J5Il09PSdSQU5HRSd8fCRfUE9TVFsicGFydGl0aW9uX2J5Il09PSdMSVNUJyl7Zm9yZWFjaChhcnJheV9maWx0ZXIoJF9QT1NUWyJwYXJ0aXRpb25fbmFtZXMiXSlhcyRkPT4kYil7JHE9JF9QT1NUWyJwYXJ0aXRpb25fdmFsdWVzIl1bJGRdOyRCZFtdPSJcblBBUlRJVElPTiAiLmlkZl9lc2NhcGUoJGIpLiIgVkFMVUVTICIuKCRfUE9TVFsicGFydGl0aW9uX2J5Il09PSdSQU5HRSc/IkxFU1MgVEhBTiI6IklOIikuKCRxIT0iIj8iICgkcSkiOiIgTUFYVkFMVUUiKTt9fSR6Yi49IlxuUEFSVElUSU9OIEJZICRfUE9TVFtwYXJ0aXRpb25fYnldKCRfUE9TVFtwYXJ0aXRpb25dKSIuKCRCZD8iICgiLmltcGxvZGUoIiwiLCRCZCkuIlxuKSI6KCRfUE9TVFsicGFydGl0aW9ucyJdPyIgUEFSVElUSU9OUyAiLigrJF9QT1NUWyJwYXJ0aXRpb25zIl0pOiIiKSk7fWVsc2VpZigkbSE9IiImJnN1cHBvcnQoInBhcnRpdGlvbmluZyIpKXskemIuPSJcblJFTU9WRSBQQVJUSVRJT05JTkciO30keGE9bGFuZygxNDYpO2lmKCRtPT0iIil7Y29va2llKCJhZG1pbmVyX2VuZ2luZSIsJF9QT1NUWyJFbmdpbmUiXSk7JHhhPWxhbmcoMTQ3KTt9cXVlcmllc19yZWRpcmVjdChNRS4idGFibGU9Ii51cmxlbmNvZGUoJF9QT1NUWyJuYW1lIl0pLCR4YSxhbHRlcl90YWJsZSgkbSwkX1BPU1RbIm5hbWUiXSwkcCwkUGEsJF9QT1NUWyJDb21tZW50Il0sKCRfUE9TVFsiRW5naW5lIl0mJiRfUE9TVFsiRW5naW5lIl0hPSRVY1siRW5naW5lIl0/JF9QT1NUWyJFbmdpbmUiXToiIiksKCRfUE9TVFsiQ29sbGF0aW9uIl0mJiRfUE9TVFsiQ29sbGF0aW9uIl0hPSRVY1siQ29sbGF0aW9uIl0/JF9QT1NUWyJDb2xsYXRpb24iXToiIiksKCRfUE9TVFsiQXV0b19pbmNyZW1lbnQiXSE9IiI/KyRfUE9TVFsiQXV0b19pbmNyZW1lbnQiXToiIiksJHpiKSk7fX1wYWdlX2hlYWRlcigoJG0hPSIiP2xhbmcoMjgpOmxhbmcoMTQ4KSksJG4sYXJyYXkoInRhYmxlIj0+JG0pLCRtKTskYT1hcnJheSgiRW5naW5lIj0+JF9DT09LSUVbImFkbWluZXJfZW5naW5lIl0sImZpZWxkcyI9PmFycmF5KGFycmF5KCJmaWVsZCI9PiIiLCJ0eXBlIj0+KGlzc2V0KCRSWyJpbnQiXSk/ImludCI6KGlzc2V0KCRSWyJpbnRlZ2VyIl0pPyJpbnRlZ2VyIjoiIikpKSksInBhcnRpdGlvbl9uYW1lcyI9PmFycmF5KCIiKSwpO2lmKCRfUE9TVCl7JGE9JF9QT1NUO2lmKCRhWyJhdXRvX2luY3JlbWVudF9jb2wiXSl7JGFbImZpZWxkcyJdWyRhWyJhdXRvX2luY3JlbWVudF9jb2wiXV1bImF1dG9faW5jcmVtZW50Il09dHJ1ZTt9cHJvY2Vzc19maWVsZHMoJGFbImZpZWxkcyJdKTt9ZWxzZWlmKCRtIT0iIil7JGE9JFVjOyRhWyJuYW1lIl09JG07JGFbImZpZWxkcyJdPWFycmF5KCk7aWYoISRfR0VUWyJhdXRvX2luY3JlbWVudCJdKXskYVsiQXV0b19pbmNyZW1lbnQiXT0iIjt9Zm9yZWFjaCgkVmMKYXMkZSl7JGVbImhhc19kZWZhdWx0Il09aXNzZXQoJGVbImRlZmF1bHQiXSk7aWYoJGVbIm9uX3VwZGF0ZSJdKXskZVsiZGVmYXVsdCJdLj0iIE9OIFVQREFURSAkZVtvbl91cGRhdGVdIjt9JGFbImZpZWxkcyJdW109JGU7fWlmKHN1cHBvcnQoInBhcnRpdGlvbmluZyIpKXskWGI9IkZST00gaW5mb3JtYXRpb25fc2NoZW1hLlBBUlRJVElPTlMgV0hFUkUgVEFCTEVfU0NIRU1BID0gIi5xKERCKS4iIEFORCBUQUJMRV9OQU1FID0gIi5xKCRtKTskaj0kZy0+cXVlcnkoIlNFTEVDVCBQQVJUSVRJT05fTUVUSE9ELCBQQVJUSVRJT05fT1JESU5BTF9QT1NJVElPTiwgUEFSVElUSU9OX0VYUFJFU1NJT04gJFhiIE9SREVSIEJZIFBBUlRJVElPTl9PUkRJTkFMX1BPU0lUSU9OIERFU0MgTElNSVQgMSIpO2xpc3QoJGFbInBhcnRpdGlvbl9ieSJdLCRhWyJwYXJ0aXRpb25zIl0sJGFbInBhcnRpdGlvbiJdKT0kai0+ZmV0Y2hfcm93KCk7JGFbInBhcnRpdGlvbl9uYW1lcyJdPWFycmF5KCk7JGFbInBhcnRpdGlvbl92YWx1ZXMiXT1hcnJheSgpO2ZvcmVhY2goZ2V0X3Jvd3MoIlNFTEVDVCBQQVJUSVRJT05fTkFNRSwgUEFSVElUSU9OX0RFU0NSSVBUSU9OICRYYiBBTkQgUEFSVElUSU9OX05BTUUgIT0gJycgT1JERVIgQlkgUEFSVElUSU9OX09SRElOQUxfUE9TSVRJT04iKWFzJGhkKXskYVsicGFydGl0aW9uX25hbWVzIl1bXT0kaGRbIlBBUlRJVElPTl9OQU1FIl07JGFbInBhcnRpdGlvbl92YWx1ZXMiXVtdPSRoZFsiUEFSVElUSU9OX0RFU0NSSVBUSU9OIl07fSRhWyJwYXJ0aXRpb25fbmFtZXMiXVtdPSIiO319JGFhPWNvbGxhdGlvbnMoKTskQWQ9Zmxvb3IoZXh0ZW5zaW9uX2xvYWRlZCgic3Vob3NpbiIpPyhtaW4oaW5pX2dldCgic3Vob3Npbi5yZXF1ZXN0Lm1heF92YXJzIiksaW5pX2dldCgic3Vob3Npbi5wb3N0Lm1heF92YXJzIikpLTEzKS8xMDowKTtpZigkQWQmJmNvdW50KCRhWyJmaWVsZHMiXSk+JEFkKXtlY2hvIjxwIGNsYXNzPSdlcnJvcic+Ii5oKGxhbmcoMTQ5LCdzdWhvc2luLnBvc3QubWF4X3ZhcnMnLCdzdWhvc2luLnJlcXVlc3QubWF4X3ZhcnMnKSkuIlxuIjt9JF9kPWVuZ2luZXMoKTtmb3JlYWNoKCRfZAphcyRfYil7aWYoIXN0cmNhc2VjbXAoJF9iLCRhWyJFbmdpbmUiXSkpeyRhWyJFbmdpbmUiXT0kX2I7YnJlYWs7fX1lY2hvJwo8Zm9ybSBhY3Rpb249IiIgbWV0aG9kPSJwb3N0IiBpZD0iZm9ybSI+CjxwPgonLGxhbmcoMTUwKSwnOiA8aW5wdXQgbmFtZT0ibmFtZSIgbWF4bGVuZ3RoPSI2NCIgdmFsdWU9IicsaCgkYVsibmFtZSJdKSwnIj4KJztpZigkbT09IiImJiEkX1BPU1Qpez8+PHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmb3JtJylbJ25hbWUnXS5mb2N1cygpOzwvc2NyaXB0Pjw/cGhwIH1lY2hvKCRfZD9odG1sX3NlbGVjdCgiRW5naW5lIixhcnJheSgiIj0+IigiLmxhbmcoMTUxKS4iKSIpKyRfZCwkYVsiRW5naW5lIl0pOiIiKSwnICcsKCRhYSYmIWVyZWcoInNxbGl0ZXxtc3NxbCIsJHUpP2h0bWxfc2VsZWN0KCJDb2xsYXRpb24iLGFycmF5KCIiPT4iKCIubGFuZyg4NikuIikiKSskYWEsJGFbIkNvbGxhdGlvbiJdKToiIiksJyA8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iJyxsYW5nKDE0MSksJyI+Cjx0YWJsZSBjZWxsc3BhY2luZz0iMCIgaWQ9ImVkaXQtZmllbGRzIiBjbGFzcz0ibm93cmFwIj4KJzskRWI9KCRfUE9TVD8kX1BPU1RbImNvbW1lbnRzIl06JGFbIkNvbW1lbnQiXSE9IiIpO2lmKCEkX1BPU1QmJiEkRWIpe2ZvcmVhY2goJGFbImZpZWxkcyJdYXMkZSl7aWYoJGVbImNvbW1lbnQiXSE9IiIpeyRFYj10cnVlO2JyZWFrO319fWVkaXRfZmllbGRzKCRhWyJmaWVsZHMiXSwkYWEsIlRBQkxFIiwkQWQsJGVhLCRFYik7ZWNobyc8L3RhYmxlPgo8cD4KJyxsYW5nKDkzKSwnOiA8aW5wdXQgbmFtZT0iQXV0b19pbmNyZW1lbnQiIHNpemU9IjYiIHZhbHVlPSInLGgoJGFbIkF1dG9faW5jcmVtZW50Il0pLCciPgo8bGFiZWwgY2xhc3M9Impzb25seSI+PGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJkZWZhdWx0cyIgdmFsdWU9IjEiJywoJF9QT1NUWyJkZWZhdWx0cyJdPyIgY2hlY2tlZCI6IiIpLCcgb25jbGljaz0iY29sdW1uU2hvdyh0aGlzLmNoZWNrZWQsIDUpOyI+JyxsYW5nKDk0KSwnPC9sYWJlbD4KJywoc3VwcG9ydCgiY29tbWVudCIpP2NoZWNrYm94KCJjb21tZW50cyIsMSwkRWIsbGFuZyg5NSksImNvbHVtblNob3codGhpcy5jaGVja2VkLCA2KTsgdG9nZ2xlKCdDb21tZW50Jyk7IGlmICh0aGlzLmNoZWNrZWQpIHRoaXMuZm9ybVsnQ29tbWVudCddLmZvY3VzKCk7Iix0cnVlKS4nIDxpbnB1dCBpZD0iQ29tbWVudCIgbmFtZT0iQ29tbWVudCIgdmFsdWU9IicuaCgkYVsiQ29tbWVudCJdKS4nIiBtYXhsZW5ndGg9IjYwIicuKCRFYj8nJzonIGNsYXNzPSJoaWRkZW4iJykuJz4nOicnKSwnPHA+CjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSInLGxhbmcoMTQxKSwnIj4KJztpZigkX0dFVFsiY3JlYXRlIl0hPSIiKXtlY2hvJzxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9ImRyb3AiIHZhbHVlPSInLGxhbmcoNzkpLCciJyxjb25maXJtKCksJz4nO31lY2hvJzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InRva2VuIiB2YWx1ZT0iJywkTywnIj4KJztpZihzdXBwb3J0KCJwYXJ0aXRpb25pbmciKSl7JHJlPWVyZWcoJ1JBTkdFfExJU1QnLCRhWyJwYXJ0aXRpb25fYnkiXSk7cHJpbnRfZmllbGRzZXQoInBhcnRpdGlvbiIsbGFuZygxNTIpLCRhWyJwYXJ0aXRpb25fYnkiXSk7ZWNobyc8cD4KJyxodG1sX3NlbGVjdCgicGFydGl0aW9uX2J5IixhcnJheSgtMT0+IiIpKyRiZSwkYVsicGFydGl0aW9uX2J5Il0sInBhcnRpdGlvbkJ5Q2hhbmdlKHRoaXMpOyIpLCcoPGlucHV0IG5hbWU9InBhcnRpdGlvbiIgdmFsdWU9IicsaCgkYVsicGFydGl0aW9uIl0pLCciPikKJyxsYW5nKDE1MyksJzogPGlucHV0IG5hbWU9InBhcnRpdGlvbnMiIHNpemU9IjIiIHZhbHVlPSInLGgoJGFbInBhcnRpdGlvbnMiXSksJyInLCgkcmV8fCEkYVsicGFydGl0aW9uX2J5Il0/IiBjbGFzcz0naGlkZGVuJyI6IiIpLCc+Cjx0YWJsZSBjZWxsc3BhY2luZz0iMCIgaWQ9InBhcnRpdGlvbi10YWJsZSInLCgkcmU/IiI6IiBjbGFzcz0naGlkZGVuJyIpLCc+Cjx0aGVhZD48dHI+PHRoPicsbGFuZygxNTQpLCc8dGg+JyxsYW5nKDE1NSksJzwvdGhlYWQ+Cic7Zm9yZWFjaCgkYVsicGFydGl0aW9uX25hbWVzIl1hcyRkPT4kYil7ZWNobyc8dHI+JywnPHRkPjxpbnB1dCBuYW1lPSJwYXJ0aXRpb25fbmFtZXNbXSIgdmFsdWU9IicuaCgkYikuJyInLigkZD09Y291bnQoJGFbInBhcnRpdGlvbl9uYW1lcyJdKS0xPycgb25jaGFuZ2U9InBhcnRpdGlvbk5hbWVDaGFuZ2UodGhpcyk7Iic6JycpLic+JywnPHRkPjxpbnB1dCBuYW1lPSJwYXJ0aXRpb25fdmFsdWVzW10iIHZhbHVlPSInLmgoJGFbInBhcnRpdGlvbl92YWx1ZXMiXVskZF0pLiciPic7fWVjaG8nPC90YWJsZT4KPC9kaXY+PC9maWVsZHNldD4KJzt9ZWNobyc8L2Zvcm0+Cic7fWVsc2VpZihpc3NldCgkX0dFVFsiaW5kZXhlcyJdKSl7JG09JF9HRVRbImluZGV4ZXMiXTskV2M9YXJyYXkoIlBSSU1BUlkiLCJVTklRVUUiLCJJTkRFWCIpOyR2PXRhYmxlX3N0YXR1cygkbSk7aWYoZXJlZ2koIk15SVNBTXxNP2FyaWEiLCR2WyJFbmdpbmUiXSkpeyRXY1tdPSJGVUxMVEVYVCI7fSRLPWluZGV4ZXMoJG0pO2lmKCR1PT0ic3FsaXRlIil7dW5zZXQoJFdjWzBdKTt1bnNldCgkS1siIl0pO31pZigkX1BPU1QmJiEkbiYmISRfUE9TVFsiYWRkIl0peyR3PWFycmF5KCk7Zm9yZWFjaCgkX1BPU1RbImluZGV4ZXMiXWFzJHgpeyRmPSR4WyJuYW1lIl07aWYoaW5fYXJyYXkoJHhbInR5cGUiXSwkV2MpKXskQj1hcnJheSgpOyRhYz1hcnJheSgpOyRzPWFycmF5KCk7a3NvcnQoJHhbImNvbHVtbnMiXSk7Zm9yZWFjaCgkeFsiY29sdW1ucyJdYXMkZD0+JEQpe2lmKCREIT0iIil7JFg9JHhbImxlbmd0aHMiXVskZF07JHNbXT1pZGZfZXNjYXBlKCREKS4oJFg/IigiLigrJFgpLiIpIjoiIik7JEJbXT0kRDskYWNbXT0oJFg/JFg6bnVsbCk7fX1pZigkQil7JHZiPSRLWyRmXTtpZigkdmIpe2tzb3J0KCR2YlsiY29sdW1ucyJdKTtrc29ydCgkdmJbImxlbmd0aHMiXSk7aWYoJHhbInR5cGUiXT09JHZiWyJ0eXBlIl0mJmFycmF5X3ZhbHVlcygkdmJbImNvbHVtbnMiXSk9PT0kQiYmKCEkdmJbImxlbmd0aHMiXXx8YXJyYXlfdmFsdWVzKCR2YlsibGVuZ3RocyJdKT09PSRhYykpe3Vuc2V0KCRLWyRmXSk7Y29udGludWU7fX0kd1tdPWFycmF5KCR4WyJ0eXBlIl0sJGYsIigiLmltcGxvZGUoIiwgIiwkcykuIikiKTt9fX1mb3JlYWNoKCRLCmFzJGY9PiR2Yil7JHdbXT1hcnJheSgkdmJbInR5cGUiXSwkZiwiRFJPUCIpO31pZighJHcpe3JlZGlyZWN0KE1FLiJ0YWJsZT0iLnVybGVuY29kZSgkbSkpO31xdWVyaWVzX3JlZGlyZWN0KE1FLiJ0YWJsZT0iLnVybGVuY29kZSgkbSksbGFuZygxNTYpLGFsdGVyX2luZGV4ZXMoJG0sJHcpKTt9cGFnZV9oZWFkZXIobGFuZygxMDMpLCRuLGFycmF5KCJ0YWJsZSI9PiRtKSwkbSk7JHA9YXJyYXlfa2V5cyhmaWVsZHMoJG0pKTskYT1hcnJheSgiaW5kZXhlcyI9PiRLKTtpZigkX1BPU1QpeyRhPSRfUE9TVDtpZigkX1BPU1RbImFkZCJdKXtmb3JlYWNoKCRhWyJpbmRleGVzIl1hcyRkPT4keCl7aWYoJHhbImNvbHVtbnMiXVtjb3VudCgkeFsiY29sdW1ucyJdKV0hPSIiKXskYVsiaW5kZXhlcyJdWyRkXVsiY29sdW1ucyJdW109IiI7fX0keD1lbmQoJGFbImluZGV4ZXMiXSk7aWYoJHhbInR5cGUiXXx8YXJyYXlfZmlsdGVyKCR4WyJjb2x1bW5zIl0sJ3N0cmxlbicpfHxhcnJheV9maWx0ZXIoJHhbImxlbmd0aHMiXSwnc3RybGVuJykpeyRhWyJpbmRleGVzIl1bXT1hcnJheSgiY29sdW1ucyI9PmFycmF5KDE9PiIiKSk7fX19ZWxzZXtmb3JlYWNoKCRhWyJpbmRleGVzIl1hcyRkPT4keCl7JGFbImluZGV4ZXMiXVskZF1bIm5hbWUiXT0kZDskYVsiaW5kZXhlcyJdWyRkXVsiY29sdW1ucyJdW109IiI7fSRhWyJpbmRleGVzIl1bXT1hcnJheSgiY29sdW1ucyI9PmFycmF5KDE9PiIiKSk7fWVjaG8nCjxmb3JtIGFjdGlvbj0iIiBtZXRob2Q9InBvc3QiPgo8dGFibGUgY2VsbHNwYWNpbmc9IjAiIGNsYXNzPSJub3dyYXAiPgo8dGhlYWQ+PHRyPjx0aD4nLGxhbmcoMTU3KSwnPHRoPicsbGFuZygxNTgpLCc8dGg+JyxsYW5nKDE1OSksJzwvdGhlYWQ+Cic7JHBhPTE7Zm9yZWFjaCgkYVsiaW5kZXhlcyJdYXMkeCl7ZWNobyI8dHI+PHRkPiIuaHRtbF9zZWxlY3QoImluZGV4ZXNbJHBhXVt0eXBlXSIsYXJyYXkoLTE9PiIiKSskV2MsJHhbInR5cGUiXSwoJHBhPT1jb3VudCgkYVsiaW5kZXhlcyJdKT8iaW5kZXhlc0FkZFJvdyh0aGlzKTsiOjEpKS4iPHRkPiI7a3NvcnQoJHhbImNvbHVtbnMiXSk7JGw9MTtmb3JlYWNoKCR4WyJjb2x1bW5zIl1hcyRkPT4kRCl7ZWNobyI8c3Bhbj4iLmh0bWxfc2VsZWN0KCJpbmRleGVzWyRwYV1bY29sdW1uc11bJGxdIixhcnJheSgtMT0+IiIpKyRwLCRELCgkbD09Y291bnQoJHhbImNvbHVtbnMiXSk/ImluZGV4ZXNBZGRDb2x1bW4iOiJpbmRleGVzQ2hhbmdlQ29sdW1uIikuIih0aGlzLCAnIi5qc19lc2NhcGUoJHU9PSJzcWwiPyIiOiRfR0VUWyJpbmRleGVzIl0uIl8iKS4iJyk7IiksIjxpbnB1dCBuYW1lPSdpbmRleGVzWyRwYV1bbGVuZ3Roc11bJGxdJyBzaXplPScyJyB2YWx1ZT0nIi5oKCR4WyJsZW5ndGhzIl1bJGRdKS4iJz4gPC9zcGFuPiI7JGwrKzt9ZWNobyI8dGQ+PGlucHV0IG5hbWU9J2luZGV4ZXNbJHBhXVtuYW1lXScgdmFsdWU9JyIuaCgkeFsibmFtZSJdKS4iJz5cbiI7JHBhKys7fWVjaG8nPC90YWJsZT4KPHA+CjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSInLGxhbmcoMTQxKSwnIj4KPG5vc2NyaXB0PjxwPjxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9ImFkZCIgdmFsdWU9IicsbGFuZyg5NiksJyI+PC9ub3NjcmlwdD4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idG9rZW4iIHZhbHVlPSInLCRPLCciPgo8L2Zvcm0+Cic7fWVsc2VpZihpc3NldCgkX0dFVFsiZGF0YWJhc2UiXSkpe2lmKCRfUE9TVCYmISRuJiYhaXNzZXQoJF9QT1NUWyJhZGRfeCJdKSl7cmVzdGFydF9zZXNzaW9uKCk7aWYoJF9QT1NUWyJkcm9wIl0peyRfR0VUWyJkYiJdPSIiO3F1ZXJpZXNfcmVkaXJlY3QocmVtb3ZlX2Zyb21fdXJpKCJkYnxkYXRhYmFzZSIpLGxhbmcoMTYwKSxkcm9wX2RhdGFiYXNlcyhhcnJheShEQikpKTt9ZWxzZWlmKERCIT09JF9QT1NUWyJuYW1lIl0pe2lmKERCIT0iIil7JF9HRVRbImRiIl09JF9QT1NUWyJuYW1lIl07cXVlcmllc19yZWRpcmVjdChwcmVnX3JlcGxhY2UoJ35kYj1bXiZdKiZ+JywnJyxNRSkuImRiPSIudXJsZW5jb2RlKCRfUE9TVFsibmFtZSJdKSxsYW5nKDE2MSkscmVuYW1lX2RhdGFiYXNlKCRfUE9TVFsibmFtZSJdLCRfUE9TVFsiY29sbGF0aW9uIl0pKTt9ZWxzZXskQT1leHBsb2RlKCJcbiIsc3RyX3JlcGxhY2UoIlxyIiwiIiwkX1BPU1RbIm5hbWUiXSkpOyRxZT10cnVlOyR0Yj0iIjtmb3JlYWNoKCRBCmFzJHQpe2lmKGNvdW50KCRBKT09MXx8JHQhPSIiKXtpZighY3JlYXRlX2RhdGFiYXNlKCR0LCRfUE9TVFsiY29sbGF0aW9uIl0pKXskcWU9ZmFsc2U7fSR0Yj0kdDt9fXF1ZXJpZXNfcmVkaXJlY3QoTUUuImRiPSIudXJsZW5jb2RlKCR0YiksbGFuZygxNjIpLCRxZSk7fX1lbHNle2lmKCEkX1BPU1RbImNvbGxhdGlvbiJdKXtyZWRpcmVjdChzdWJzdHIoTUUsMCwtMSkpO31xdWVyeV9yZWRpcmVjdCgiQUxURVIgREFUQUJBU0UgIi5pZGZfZXNjYXBlKCRfUE9TVFsibmFtZSJdKS4oZXJlZ2koJ15bYS16MC05X10rJCcsJF9QT1NUWyJjb2xsYXRpb24iXSk/IiBDT0xMQVRFICRfUE9TVFtjb2xsYXRpb25dIjoiIiksc3Vic3RyKE1FLDAsLTEpLGxhbmcoMTYzKSk7fX1wYWdlX2hlYWRlcihEQiE9IiI/bGFuZyg0Nik6bGFuZygxNjQpLCRuLGFycmF5KCksREIpOyRhYT1jb2xsYXRpb25zKCk7JGY9REI7JERjPW51bGw7aWYoJF9QT1NUKXskZj0kX1BPU1RbIm5hbWUiXTskRGM9JF9QT1NUWyJjb2xsYXRpb24iXTt9ZWxzZWlmKERCIT0iIil7JERjPWRiX2NvbGxhdGlvbihEQiwkYWEpO31lbHNlaWYoJHU9PSJzcWwiKXtmb3JlYWNoKGdldF92YWxzKCJTSE9XIEdSQU5UUyIpYXMkbWEpe2lmKHByZWdfbWF0Y2goJ34gT04gKGAoKFteXFxcXGBdfGBgfFxcXFwuKSopJWBcXC5cXCopP34nLCRtYSwkaykmJiRrWzFdKXskZj1zdHJpcGNzbGFzaGVzKGlkZl91bmVzY2FwZSgiYCRrWzJdYCIpKTticmVhazt9fX1lY2hvJwo8Zm9ybSBhY3Rpb249IiIgbWV0aG9kPSJwb3N0Ij4KPHA+CicsKCRfUE9TVFsiYWRkX3giXXx8c3RycG9zKCRmLCJcbiIpPyc8dGV4dGFyZWEgaWQ9Im5hbWUiIG5hbWU9Im5hbWUiIHJvd3M9IjEwIiBjb2xzPSI0MCI+Jy5oKCRmKS4nPC90ZXh0YXJlYT48YnI+JzonPGlucHV0IGlkPSJuYW1lIiBuYW1lPSJuYW1lIiB2YWx1ZT0iJy5oKCRmKS4nIiBtYXhsZW5ndGg9IjY0Ij4nKS4iXG4iLigkYWE/aHRtbF9zZWxlY3QoImNvbGxhdGlvbiIsYXJyYXkoIiI9PiIoIi5sYW5nKDg2KS4iKSIpKyRhYSwkRGMpOiIiKTs/Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCc+ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25hbWUnKS5mb2N1cygpOzwvc2NyaXB0Pgo8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iPD9waHAgZWNobwpsYW5nKDE0MSksJyI+Cic7aWYoREIhPSIiKXtlY2hvIjxpbnB1dCB0eXBlPSdzdWJtaXQnIG5hbWU9J2Ryb3AnIHZhbHVlPSciLmxhbmcoNzkpLiInIi5jb25maXJtKCkuIj5cbiI7fWVsc2VpZighJF9QT1NUWyJhZGRfeCJdJiYkX0dFVFsiZGIiXT09IiIpe2VjaG8iPGlucHV0IHR5cGU9J2ltYWdlJyBuYW1lPSdhZGQnIHNyYz0nIi5oKHByZWdfcmVwbGFjZSgiflxcPy4qfiIsIiIsTUUpKS4iP2ZpbGU9cGx1cy5naWYmYW1wO3ZlcnNpb249My4zLjInIGFsdD0nKycgdGl0bGU9JyIubGFuZyg5NikuIic+XG4iO31lY2hvJzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InRva2VuIiB2YWx1ZT0iJywkTywnIj4KPC9mb3JtPgonO31lbHNlaWYoaXNzZXQoJF9HRVRbInNjaGVtZSJdKSl7aWYoJF9QT1NUJiYhJG4peyR5PXByZWdfcmVwbGFjZSgnfm5zPVteJl0qJn4nLCcnLE1FKS4ibnM9IjtpZigkX1BPU1RbImRyb3AiXSl7cXVlcnlfcmVkaXJlY3QoIkRST1AgU0NIRU1BICIuaWRmX2VzY2FwZSgkX0dFVFsibnMiXSksJHksbGFuZygxNjUpKTt9ZWxzZXskeS49dXJsZW5jb2RlKCRfUE9TVFsibmFtZSJdKTtpZigkX0dFVFsibnMiXT09IiIpe3F1ZXJ5X3JlZGlyZWN0KCJDUkVBVEUgU0NIRU1BICIuaWRmX2VzY2FwZSgkX1BPU1RbIm5hbWUiXSksJHksbGFuZygxNjYpKTt9ZWxzZWlmKCRfR0VUWyJucyJdIT0kX1BPU1RbIm5hbWUiXSl7cXVlcnlfcmVkaXJlY3QoIkFMVEVSIFNDSEVNQSAiLmlkZl9lc2NhcGUoJF9HRVRbIm5zIl0pLiIgUkVOQU1FIFRPICIuaWRmX2VzY2FwZSgkX1BPU1RbIm5hbWUiXSksJHksbGFuZygxNjcpKTt9ZWxzZXtyZWRpcmVjdCgkeSk7fX19cGFnZV9oZWFkZXIoJF9HRVRbIm5zIl0hPSIiP2xhbmcoNDcpOmxhbmcoNDgpLCRuKTskYT1hcnJheSgibmFtZSI9PiRfR0VUWyJucyJdKTtpZigkX1BPU1QpeyRhPSRfUE9TVDt9ZWNobycKPGZvcm0gYWN0aW9uPSIiIG1ldGhvZD0icG9zdCI+CjxwPjxpbnB1dCBuYW1lPSJuYW1lIiB2YWx1ZT0iJyxoKCRhWyJuYW1lIl0pLCciPgo8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iJyxsYW5nKDE0MSksJyI+Cic7aWYoJF9HRVRbIm5zIl0hPSIiKXtlY2hvIjxpbnB1dCB0eXBlPSdzdWJtaXQnIG5hbWU9J2Ryb3AnIHZhbHVlPSciLmxhbmcoNzkpLiInIi5jb25maXJtKCkuIj5cbiI7fWVjaG8nPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idG9rZW4iIHZhbHVlPSInLCRPLCciPgo8L2Zvcm0+Cic7fWVsc2VpZihpc3NldCgkX0dFVFsiY2FsbCJdKSl7JFdhPSRfR0VUWyJjYWxsIl07cGFnZV9oZWFkZXIobGFuZygxNjgpLiI6ICIuaCgkV2EpLCRuKTskVmE9cm91dGluZSgkV2EsKGlzc2V0KCRfR0VUWyJjYWxsZiJdKT8iRlVOQ1RJT04iOiJQUk9DRURVUkUiKSk7JFNiPWFycmF5KCk7JGpiPWFycmF5KCk7Zm9yZWFjaCgkVmFbImZpZWxkcyJdYXMkbD0+JGUpe2lmKHN1YnN0cigkZVsiaW5vdXQiXSwtMyk9PSJPVVQiKXskamJbJGxdPSJAIi5pZGZfZXNjYXBlKCRlWyJmaWVsZCJdKS4iIEFTICIuaWRmX2VzY2FwZSgkZVsiZmllbGQiXSk7fWlmKCEkZVsiaW5vdXQiXXx8c3Vic3RyKCRlWyJpbm91dCJdLDAsMik9PSJJTiIpeyRTYltdPSRsO319aWYoISRuJiYkX1BPU1QpeyRwZT1hcnJheSgpO2ZvcmVhY2goJFZhWyJmaWVsZHMiXWFzJGQ9PiRlKXtpZihpbl9hcnJheSgkZCwkU2IpKXskYj1wcm9jZXNzX2lucHV0KCRlKTtpZigkYj09PWZhbHNlKXskYj0iJyciO31pZihpc3NldCgkamJbJGRdKSl7JGctPnF1ZXJ5KCJTRVQgQCIuaWRmX2VzY2FwZSgkZVsiZmllbGQiXSkuIiA9ICRiIik7fX0kcGVbXT0oaXNzZXQoJGpiWyRkXSk/IkAiLmlkZl9lc2NhcGUoJGVbImZpZWxkIl0pOiRiKTt9JGk9KGlzc2V0KCRfR0VUWyJjYWxsZiJdKT8iU0VMRUNUIjoiQ0FMTCIpLiIgIi5pZGZfZXNjYXBlKCRXYSkuIigiLmltcGxvZGUoIiwgIiwkcGUpLiIpIjtlY2hvIjxwPjxjb2RlIGNsYXNzPSdqdXNoLSR1Jz4iLmgoJGkpLiI8L2NvZGU+IDxhIGhyZWY9JyIuaChNRSkuInNxbD0iLnVybGVuY29kZSgkaSkuIic+Ii5sYW5nKDMxKS4iPC9hPlxuIjtpZighJGctPm11bHRpX3F1ZXJ5KCRpKSl7ZWNobyI8cCBjbGFzcz0nZXJyb3InPiIuZXJyb3IoKS4iXG4iO31lbHNleyRHPWNvbm5lY3QoKTtpZihpc19vYmplY3QoJEcpKXskRy0+c2VsZWN0X2RiKERCKTt9ZG97JGo9JGctPnN0b3JlX3Jlc3VsdCgpO2lmKGlzX29iamVjdCgkaikpe3NlbGVjdCgkaiwkRyk7fWVsc2V7ZWNobyI8cCBjbGFzcz0nbWVzc2FnZSc+Ii5sYW5nKDE2OSwkZy0+YWZmZWN0ZWRfcm93cykuIlxuIjt9fXdoaWxlKCRnLT5uZXh0X3Jlc3VsdCgpKTtpZigkamIpe3NlbGVjdCgkZy0+cXVlcnkoIlNFTEVDVCAiLmltcGxvZGUoIiwgIiwkamIpKSk7fX19ZWNobycKPGZvcm0gYWN0aW9uPSIiIG1ldGhvZD0icG9zdCI+Cic7aWYoJFNiKXtlY2hvIjx0YWJsZSBjZWxsc3BhY2luZz0nMCc+XG4iO2ZvcmVhY2goJFNiCmFzJGQpeyRlPSRWYVsiZmllbGRzIl1bJGRdOyRmPSRlWyJmaWVsZCJdO2VjaG8iPHRyPjx0aD4iLiRvLT5maWVsZE5hbWUoJGUpOyRxPSRfUE9TVFsiZmllbGRzIl1bJGZdO2lmKCRxIT0iIil7aWYoJGVbInR5cGUiXT09ImVudW0iKXskcT0rJHE7fWlmKCRlWyJ0eXBlIl09PSJzZXQiKXskcT1hcnJheV9zdW0oJHEpO319aW5wdXQoJGUsJHEsKHN0cmluZykkX1BPU1RbImZ1bmN0aW9uIl1bJGZdKTtlY2hvIlxuIjt9ZWNobyI8L3RhYmxlPlxuIjt9ZWNobyc8cD4KPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IicsbGFuZygxNjgpLCciPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ0b2tlbiIgdmFsdWU9IicsJE8sJyI+CjwvZm9ybT4KJzt9ZWxzZWlmKGlzc2V0KCRfR0VUWyJmb3JlaWduIl0pKXskbT0kX0dFVFsiZm9yZWlnbiJdO2lmKCRfUE9TVCYmISRuJiYhJF9QT1NUWyJhZGQiXSYmISRfUE9TVFsiY2hhbmdlIl0mJiEkX1BPU1RbImNoYW5nZS1qcyJdKXtpZigkX1BPU1RbImRyb3AiXSl7cXVlcnlfcmVkaXJlY3QoIkFMVEVSIFRBQkxFICIudGFibGUoJG0pLiJcbkRST1AgIi4oJHU9PSJzcWwiPyJGT1JFSUdOIEtFWSAiOiJDT05TVFJBSU5UICIpLmlkZl9lc2NhcGUoJF9HRVRbIm5hbWUiXSksTUUuInRhYmxlPSIudXJsZW5jb2RlKCRtKSxsYW5nKDE3MCkpO31lbHNleyRIYT1hcnJheV9maWx0ZXIoJF9QT1NUWyJzb3VyY2UiXSwnc3RybGVuJyk7a3NvcnQoJEhhKTskaGE9YXJyYXkoKTtmb3JlYWNoKCRIYQphcyRkPT4kYil7JGhhWyRkXT0kX1BPU1RbInRhcmdldCJdWyRkXTt9cXVlcnlfcmVkaXJlY3QoIkFMVEVSIFRBQkxFICIudGFibGUoJG0pLigkX0dFVFsibmFtZSJdIT0iIj8iXG5EUk9QIEZPUkVJR04gS0VZICIuaWRmX2VzY2FwZSgkX0dFVFsibmFtZSJdKS4iLCI6IiIpLiJcbkFERCBGT1JFSUdOIEtFWSAoIi5pbXBsb2RlKCIsICIsYXJyYXlfbWFwKCdpZGZfZXNjYXBlJywkSGEpKS4iKSBSRUZFUkVOQ0VTICIudGFibGUoJF9QT1NUWyJ0YWJsZSJdKS4iICgiLmltcGxvZGUoIiwgIixhcnJheV9tYXAoJ2lkZl9lc2NhcGUnLCRoYSkpLiIpIi4oZXJlZygiXigkSWEpXCQiLCRfUE9TVFsib25fZGVsZXRlIl0pPyIgT04gREVMRVRFICRfUE9TVFtvbl9kZWxldGVdIjoiIikuKGVyZWcoIl4oJElhKVwkIiwkX1BPU1RbIm9uX3VwZGF0ZSJdKT8iIE9OIFVQREFURSAkX1BPU1Rbb25fdXBkYXRlXSI6IiIpLE1FLiJ0YWJsZT0iLnVybGVuY29kZSgkbSksKCRfR0VUWyJuYW1lIl0hPSIiP2xhbmcoMTcxKTpsYW5nKDE3MikpKTskbj1sYW5nKDE3MykuIjxicj4kbiI7fX1wYWdlX2hlYWRlcihsYW5nKDE3NCksJG4sYXJyYXkoInRhYmxlIj0+JG0pLCRtKTskYT1hcnJheSgidGFibGUiPT4kbSwic291cmNlIj0+YXJyYXkoIiIpKTtpZigkX1BPU1QpeyRhPSRfUE9TVDtrc29ydCgkYVsic291cmNlIl0pO2lmKCRfUE9TVFsiYWRkIl0peyRhWyJzb3VyY2UiXVtdPSIiO31lbHNlaWYoJF9QT1NUWyJjaGFuZ2UiXXx8JF9QT1NUWyJjaGFuZ2UtanMiXSl7JGFbInRhcmdldCJdPWFycmF5KCk7fX1lbHNlaWYoJF9HRVRbIm5hbWUiXSE9IiIpeyRlYT1mb3JlaWduX2tleXMoJG0pOyRhPSRlYVskX0dFVFsibmFtZSJdXTskYVsic291cmNlIl1bXT0iIjt9JEhhPWFycmF5X2tleXMoZmllbGRzKCRtKSk7JGhhPSgkbT09PSRhWyJ0YWJsZSJdPyRIYTphcnJheV9rZXlzKGZpZWxkcygkYVsidGFibGUiXSkpKTskc2U9YXJyYXkoKTtmb3JlYWNoKHRhYmxlX3N0YXR1cygpYXMkZj0+JHYpe2lmKGZrX3N1cHBvcnQoJHYpKXskc2VbXT0kZjt9fWVjaG8nCjxmb3JtIGFjdGlvbj0iIiBtZXRob2Q9InBvc3QiPgo8cD4KJztpZigkYVsiZGIiXT09IiImJiRhWyJucyJdPT0iIil7ZWNobwpsYW5nKDE3NSksJzoKJyxodG1sX3NlbGVjdCgidGFibGUiLCRzZSwkYVsidGFibGUiXSwidGhpcy5mb3JtWydjaGFuZ2UtanMnXS52YWx1ZSA9ICcxJzsgaWYgKCFhamF4Rm9ybSh0aGlzLmZvcm0pKSB0aGlzLmZvcm0uc3VibWl0KCk7IiksJzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImNoYW5nZS1qcyIgdmFsdWU9IiI+Cjxub3NjcmlwdD48cD48aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJjaGFuZ2UiIHZhbHVlPSInLGxhbmcoMTc2KSwnIj48L25vc2NyaXB0Pgo8dGFibGUgY2VsbHNwYWNpbmc9IjAiPgo8dGhlYWQ+PHRyPjx0aD4nLGxhbmcoMTA1KSwnPHRoPicsbGFuZygxMDYpLCc8L3RoZWFkPgonOyRwYT0wO2ZvcmVhY2goJGFbInNvdXJjZSJdYXMkZD0+JGIpe2VjaG8iPHRyPiIsIjx0ZD4iLmh0bWxfc2VsZWN0KCJzb3VyY2VbIi4oKyRkKS4iXSIsYXJyYXkoLTE9PiIiKSskSGEsJGIsKCRwYT09Y291bnQoJGFbInNvdXJjZSJdKS0xPyJmb3JlaWduQWRkUm93KHRoaXMpOyI6MSkpLCI8dGQ+Ii5odG1sX3NlbGVjdCgidGFyZ2V0WyIuKCskZCkuIl0iLCRoYSwkYVsidGFyZ2V0Il1bJGRdKTskcGErKzt9ZWNobyc8L3RhYmxlPgo8cD4KJyxsYW5nKDg3KSwnOiAnLGh0bWxfc2VsZWN0KCJvbl9kZWxldGUiLGFycmF5KC0xPT4iIikrZXhwbG9kZSgifCIsJElhKSwkYVsib25fZGVsZXRlIl0pLCcgJyxsYW5nKDEwNyksJzogJyxodG1sX3NlbGVjdCgib25fdXBkYXRlIixhcnJheSgtMT0+IiIpK2V4cGxvZGUoInwiLCRJYSksJGFbIm9uX3VwZGF0ZSJdKSwnPHA+CjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSInLGxhbmcoMTQxKSwnIj4KPG5vc2NyaXB0PjxwPjxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9ImFkZCIgdmFsdWU9IicsbGFuZygxNzcpLCciPjwvbm9zY3JpcHQ+Cic7fWlmKCRfR0VUWyJuYW1lIl0hPSIiKXtlY2hvJzxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9ImRyb3AiIHZhbHVlPSInLGxhbmcoNzkpLCciJyxjb25maXJtKCksJz4nO31lY2hvJzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InRva2VuIiB2YWx1ZT0iJywkTywnIj4KPC9mb3JtPgonO31lbHNlaWYoaXNzZXQoJF9HRVRbInZpZXciXSkpeyRtPSRfR0VUWyJ2aWV3Il07JGZiPWZhbHNlO2lmKCRfUE9TVCYmISRuKXskZmI9ZHJvcF9jcmVhdGUoIkRST1AgVklFVyAiLnRhYmxlKCRtKSwiQ1JFQVRFIFZJRVcgIi50YWJsZSgkX1BPU1RbIm5hbWUiXSkuIiBBU1xuJF9QT1NUW3NlbGVjdF0iLCgkX1BPU1RbImRyb3AiXT9zdWJzdHIoTUUsMCwtMSk6TUUuInRhYmxlPSIudXJsZW5jb2RlKCRfUE9TVFsibmFtZSJdKSksbGFuZygxNzgpLGxhbmcoMTc5KSxsYW5nKDE4MCksJG0pO31wYWdlX2hlYWRlcigoJG0hPSIiP2xhbmcoMjcpOmxhbmcoMTgxKSksJG4sYXJyYXkoInRhYmxlIj0+JG0pLCRtKTskYT1hcnJheSgpO2lmKCRfUE9TVCl7JGE9JF9QT1NUO31lbHNlaWYoJG0hPSIiKXskYT12aWV3KCRtKTskYVsibmFtZSJdPSRtO31lY2hvJwo8Zm9ybSBhY3Rpb249IiIgbWV0aG9kPSJwb3N0Ij4KPHA+JyxsYW5nKDE1OSksJzogPGlucHV0IG5hbWU9Im5hbWUiIHZhbHVlPSInLGgoJGFbIm5hbWUiXSksJyIgbWF4bGVuZ3RoPSI2NCI+CjxwPic7dGV4dGFyZWEoInNlbGVjdCIsJGFbInNlbGVjdCJdKTtlY2hvJzxwPgonO2lmKCRmYil7ZWNobyc8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkcm9wcGVkIiB2YWx1ZT0iMSI+Jzt9ZWNobyc8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iJyxsYW5nKDE0MSksJyI+Cic7aWYoJF9HRVRbInZpZXciXSE9IiIpe2VjaG8nPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0iZHJvcCIgdmFsdWU9IicsbGFuZyg3OSksJyInLGNvbmZpcm0oKSwnPic7fWVjaG8nPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idG9rZW4iIHZhbHVlPSInLCRPLCciPgo8L2Zvcm0+Cic7fWVsc2VpZihpc3NldCgkX0dFVFsiZXZlbnQiXSkpeyRvYj0kX0dFVFsiZXZlbnQiXTskdmU9YXJyYXkoIllFQVIiLCJRVUFSVEVSIiwiTU9OVEgiLCJEQVkiLCJIT1VSIiwiTUlOVVRFIiwiV0VFSyIsIlNFQ09ORCIsIllFQVJfTU9OVEgiLCJEQVlfSE9VUiIsIkRBWV9NSU5VVEUiLCJEQVlfU0VDT05EIiwiSE9VUl9NSU5VVEUiLCJIT1VSX1NFQ09ORCIsIk1JTlVURV9TRUNPTkQiKTskcWQ9YXJyYXkoIkVOQUJMRUQiPT4iRU5BQkxFIiwiRElTQUJMRUQiPT4iRElTQUJMRSIsIlNMQVZFU0lERV9ESVNBQkxFRCI9PiJESVNBQkxFIE9OIFNMQVZFIik7aWYoJF9QT1NUJiYhJG4pe2lmKCRfUE9TVFsiZHJvcCJdKXtxdWVyeV9yZWRpcmVjdCgiRFJPUCBFVkVOVCAiLmlkZl9lc2NhcGUoJG9iKSxzdWJzdHIoTUUsMCwtMSksbGFuZygxODIpKTt9ZWxzZWlmKGluX2FycmF5KCRfUE9TVFsiSU5URVJWQUxfRklFTEQiXSwkdmUpJiZpc3NldCgkcWRbJF9QT1NUWyJTVEFUVVMiXV0pKXskdWU9IlxuT04gU0NIRURVTEUgIi4oJF9QT1NUWyJJTlRFUlZBTF9WQUxVRSJdPyJFVkVSWSAiLnEoJF9QT1NUWyJJTlRFUlZBTF9WQUxVRSJdKS4iICRfUE9TVFtJTlRFUlZBTF9GSUVMRF0iLigkX1BPU1RbIlNUQVJUUyJdPyIgU1RBUlRTICIucSgkX1BPU1RbIlNUQVJUUyJdKToiIikuKCRfUE9TVFsiRU5EUyJdPyIgRU5EUyAiLnEoJF9QT1NUWyJFTkRTIl0pOiIiKToiQVQgIi5xKCRfUE9TVFsiU1RBUlRTIl0pKS4iIE9OIENPTVBMRVRJT04iLigkX1BPU1RbIk9OX0NPTVBMRVRJT04iXT8iIjoiIE5PVCIpLiIgUFJFU0VSVkUiO3F1ZXJpZXNfcmVkaXJlY3Qoc3Vic3RyKE1FLDAsLTEpLCgkb2IhPSIiP2xhbmcoMTgzKTpsYW5nKDE4NCkpLHF1ZXJpZXMoKCRvYiE9IiI/IkFMVEVSIEVWRU5UICIuaWRmX2VzY2FwZSgkb2IpLiR1ZS4oJG9iIT0kX1BPU1RbIkVWRU5UX05BTUUiXT8iXG5SRU5BTUUgVE8gIi5pZGZfZXNjYXBlKCRfUE9TVFsiRVZFTlRfTkFNRSJdKToiIik6IkNSRUFURSBFVkVOVCAiLmlkZl9lc2NhcGUoJF9QT1NUWyJFVkVOVF9OQU1FIl0pLiR1ZSkuIlxuIi4kcWRbJF9QT1NUWyJTVEFUVVMiXV0uIiBDT01NRU5UICIucSgkX1BPU1RbIkVWRU5UX0NPTU1FTlQiXSkucnRyaW0oIiBET1xuJF9QT1NUW0VWRU5UX0RFRklOSVRJT05dIiwiOyIpLiI7IikpO319cGFnZV9oZWFkZXIoKCRvYiE9IiI/bGFuZygxODUpLiI6ICIuaCgkb2IpOmxhbmcoMTg2KSksJG4pOyRhPWFycmF5KCk7aWYoJF9QT1NUKXskYT0kX1BPU1Q7fWVsc2VpZigkb2IhPSIiKXskSD1nZXRfcm93cygiU0VMRUNUICogRlJPTSBpbmZvcm1hdGlvbl9zY2hlbWEuRVZFTlRTIFdIRVJFIEVWRU5UX1NDSEVNQSA9ICIucShEQikuIiBBTkQgRVZFTlRfTkFNRSA9ICIucSgkb2IpKTskYT1yZXNldCgkSCk7fWVjaG8nCjxmb3JtIGFjdGlvbj0iIiBtZXRob2Q9InBvc3QiPgo8dGFibGUgY2VsbHNwYWNpbmc9IjAiPgo8dHI+PHRoPicsbGFuZygxNTkpLCc8dGQ+PGlucHV0IG5hbWU9IkVWRU5UX05BTUUiIHZhbHVlPSInLGgoJGFbIkVWRU5UX05BTUUiXSksJyIgbWF4bGVuZ3RoPSI2NCI+Cjx0cj48dGg+JyxsYW5nKDE4NyksJzx0ZD48aW5wdXQgbmFtZT0iU1RBUlRTIiB2YWx1ZT0iJyxoKCIkYVtFWEVDVVRFX0FUXSRhW1NUQVJUU10iKSwnIj4KPHRyPjx0aD4nLGxhbmcoMTg4KSwnPHRkPjxpbnB1dCBuYW1lPSJFTkRTIiB2YWx1ZT0iJyxoKCRhWyJFTkRTIl0pLCciPgo8dHI+PHRoPicsbGFuZygxODkpLCc8dGQ+PGlucHV0IG5hbWU9IklOVEVSVkFMX1ZBTFVFIiB2YWx1ZT0iJyxoKCRhWyJJTlRFUlZBTF9WQUxVRSJdKSwnIiBzaXplPSI2Ij4gJyxodG1sX3NlbGVjdCgiSU5URVJWQUxfRklFTEQiLCR2ZSwkYVsiSU5URVJWQUxfRklFTEQiXSksJzx0cj48dGg+JyxsYW5nKDc0KSwnPHRkPicsaHRtbF9zZWxlY3QoIlNUQVRVUyIsJHFkLCRhWyJTVEFUVVMiXSksJzx0cj48dGg+JyxsYW5nKDk1KSwnPHRkPjxpbnB1dCBuYW1lPSJFVkVOVF9DT01NRU5UIiB2YWx1ZT0iJyxoKCRhWyJFVkVOVF9DT01NRU5UIl0pLCciIG1heGxlbmd0aD0iNjQiPgo8dHI+PHRoPiZuYnNwOzx0ZD4nLGNoZWNrYm94KCJPTl9DT01QTEVUSU9OIiwiUFJFU0VSVkUiLCRhWyJPTl9DT01QTEVUSU9OIl09PSJQUkVTRVJWRSIsbGFuZygxOTApKSwnPC90YWJsZT4KPHA+Jzt0ZXh0YXJlYSgiRVZFTlRfREVGSU5JVElPTiIsJGFbIkVWRU5UX0RFRklOSVRJT04iXSk7ZWNobyc8cD4KPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IicsbGFuZygxNDEpLCciPgonO2lmKCRvYiE9IiIpe2VjaG8nPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0iZHJvcCIgdmFsdWU9IicsbGFuZyg3OSksJyInLGNvbmZpcm0oKSwnPic7fWVjaG8nPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idG9rZW4iIHZhbHVlPSInLCRPLCciPgo8L2Zvcm0+Cic7fWVsc2VpZihpc3NldCgkX0dFVFsicHJvY2VkdXJlIl0pKXskV2E9JF9HRVRbInByb2NlZHVyZSJdOyRWYT0oaXNzZXQoJF9HRVRbImZ1bmN0aW9uIl0pPyJGVU5DVElPTiI6IlBST0NFRFVSRSIpOyRPZD1yb3V0aW5lX2xhbmd1YWdlcygpOyRmYj1mYWxzZTtpZigkX1BPU1QmJiEkbiYmISRfUE9TVFsiYWRkIl0mJiEkX1BPU1RbImRyb3BfY29sIl0mJiEkX1BPU1RbInVwIl0mJiEkX1BPU1RbImRvd24iXSl7JHM9YXJyYXkoKTskcD0oYXJyYXkpJF9QT1NUWyJmaWVsZHMiXTtrc29ydCgkcCk7Zm9yZWFjaCgkcAphcyRlKXtpZigkZVsiZmllbGQiXSE9IiIpeyRzW109KGVyZWcoIl4oJGljKVwkIiwkZVsiaW5vdXQiXSk/IiRlW2lub3V0XSAiOiIiKS5pZGZfZXNjYXBlKCRlWyJmaWVsZCJdKS5wcm9jZXNzX3R5cGUoJGUsIkNIQVJBQ1RFUiBTRVQiKTt9fSRmYj1kcm9wX2NyZWF0ZSgiRFJPUCAkVmEgIi5pZGZfZXNjYXBlKCRXYSksIkNSRUFURSAkVmEgIi5pZGZfZXNjYXBlKCRfUE9TVFsibmFtZSJdKS4iICgiLmltcGxvZGUoIiwgIiwkcykuIikiLihpc3NldCgkX0dFVFsiZnVuY3Rpb24iXSk/IiBSRVRVUk5TIi5wcm9jZXNzX3R5cGUoJF9QT1NUWyJyZXR1cm5zIl0sIkNIQVJBQ1RFUiBTRVQiKToiIikuKGluX2FycmF5KCRfUE9TVFsibGFuZ3VhZ2UiXSwkT2QpPyIgTEFOR1VBR0UgJF9QT1NUW2xhbmd1YWdlXSI6IiIpLnJ0cmltKCJcbiRfUE9TVFtkZWZpbml0aW9uXSIsIjsiKS4iOyIsc3Vic3RyKE1FLDAsLTEpLGxhbmcoMTkxKSxsYW5nKDE5MiksbGFuZygxOTMpLCRXYSk7fXBhZ2VfaGVhZGVyKCgkV2EhPSIiPyhpc3NldCgkX0dFVFsiZnVuY3Rpb24iXSk/bGFuZygxOTQpOmxhbmcoMTk1KSkuIjogIi5oKCRXYSk6KGlzc2V0KCRfR0VUWyJmdW5jdGlvbiJdKT9sYW5nKDE5Nik6bGFuZygxOTcpKSksJG4pOyRhYT1nZXRfdmFscygiU0hPVyBDSEFSQUNURVIgU0VUIik7c29ydCgkYWEpOyRhPWFycmF5KCJmaWVsZHMiPT5hcnJheSgpKTtpZigkX1BPU1QpeyRhPSRfUE9TVDskYVsiZmllbGRzIl09KGFycmF5KSRhWyJmaWVsZHMiXTtwcm9jZXNzX2ZpZWxkcygkYVsiZmllbGRzIl0pO31lbHNlaWYoJFdhIT0iIil7JGE9cm91dGluZSgkV2EsJFZhKTskYVsibmFtZSJdPSRXYTt9ZWNobycKPGZvcm0gYWN0aW9uPSIiIG1ldGhvZD0icG9zdCIgaWQ9ImZvcm0iPgo8cD4nLGxhbmcoMTU5KSwnOiA8aW5wdXQgbmFtZT0ibmFtZSIgdmFsdWU9IicsaCgkYVsibmFtZSJdKSwnIiBtYXhsZW5ndGg9IjY0Ij4KJywoJE9kP2xhbmcoNykuIjogIi5odG1sX3NlbGVjdCgibGFuZ3VhZ2UiLCRPZCwkYVsibGFuZ3VhZ2UiXSk6IiIpLCc8dGFibGUgY2VsbHNwYWNpbmc9IjAiIGNsYXNzPSJub3dyYXAiPgonO2VkaXRfZmllbGRzKCRhWyJmaWVsZHMiXSwkYWEsJFZhKTtpZihpc3NldCgkX0dFVFsiZnVuY3Rpb24iXSkpe2VjaG8iPHRyPjx0ZD4iLmxhbmcoMTk4KTtlZGl0X3R5cGUoInJldHVybnMiLCRhWyJyZXR1cm5zIl0sJGFhKTt9ZWNobyc8L3RhYmxlPgo8cD4nO3RleHRhcmVhKCJkZWZpbml0aW9uIiwkYVsiZGVmaW5pdGlvbiJdKTtlY2hvJzxwPgo8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iJyxsYW5nKDE0MSksJyI+Cic7aWYoJFdhIT0iIil7ZWNobyc8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJkcm9wIiB2YWx1ZT0iJyxsYW5nKDc5KSwnIicsY29uZmlybSgpLCc+Jzt9aWYoJGZiKXtlY2hvJzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImRyb3BwZWQiIHZhbHVlPSIxIj4nO31lY2hvJzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InRva2VuIiB2YWx1ZT0iJywkTywnIj4KPC9mb3JtPgonO31lbHNlaWYoaXNzZXQoJF9HRVRbInNlcXVlbmNlIl0pKXskQ2I9JF9HRVRbInNlcXVlbmNlIl07aWYoJF9QT1NUJiYhJG4peyR5PXN1YnN0cihNRSwwLC0xKTtpZigkX1BPU1RbImRyb3AiXSl7cXVlcnlfcmVkaXJlY3QoIkRST1AgU0VRVUVOQ0UgIi5pZGZfZXNjYXBlKCRDYiksJHksbGFuZygxOTkpKTt9ZWxzZWlmKCRDYj09IiIpe3F1ZXJ5X3JlZGlyZWN0KCJDUkVBVEUgU0VRVUVOQ0UgIi5pZGZfZXNjYXBlKCRfUE9TVFsibmFtZSJdKSwkeSxsYW5nKDIwMCkpO31lbHNlaWYoJENiIT0kX1BPU1RbIm5hbWUiXSl7cXVlcnlfcmVkaXJlY3QoIkFMVEVSIFNFUVVFTkNFICIuaWRmX2VzY2FwZSgkQ2IpLiIgUkVOQU1FIFRPICIuaWRmX2VzY2FwZSgkX1BPU1RbIm5hbWUiXSksJHksbGFuZygyMDEpKTt9ZWxzZXtyZWRpcmVjdCgkeSk7fX1wYWdlX2hlYWRlcigkQ2IhPSIiP2xhbmcoMjAyKS4iOiAiLmgoJENiKTpsYW5nKDIwMyksJG4pOyRhPWFycmF5KCJuYW1lIj0+JENiKTtpZigkX1BPU1QpeyRhPSRfUE9TVDt9ZWNobycKPGZvcm0gYWN0aW9uPSIiIG1ldGhvZD0icG9zdCI+CjxwPjxpbnB1dCBuYW1lPSJuYW1lIiB2YWx1ZT0iJyxoKCRhWyJuYW1lIl0pLCciPgo8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iJyxsYW5nKDE0MSksJyI+Cic7aWYoJENiIT0iIil7ZWNobyI8aW5wdXQgdHlwZT0nc3VibWl0JyBuYW1lPSdkcm9wJyB2YWx1ZT0nIi5sYW5nKDc5KS4iJyIuY29uZmlybSgpLiI+XG4iO31lY2hvJzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InRva2VuIiB2YWx1ZT0iJywkTywnIj4KPC9mb3JtPgonO31lbHNlaWYoaXNzZXQoJF9HRVRbInR5cGUiXSkpeyRIYz0kX0dFVFsidHlwZSJdO2lmKCRfUE9TVCYmISRuKXskeT1zdWJzdHIoTUUsMCwtMSk7aWYoJF9QT1NUWyJkcm9wIl0pe3F1ZXJ5X3JlZGlyZWN0KCJEUk9QIFRZUEUgIi5pZGZfZXNjYXBlKCRIYyksJHksbGFuZygyMDQpKTt9ZWxzZXtxdWVyeV9yZWRpcmVjdCgiQ1JFQVRFIFRZUEUgIi5pZGZfZXNjYXBlKCRfUE9TVFsibmFtZSJdKS4iICRfUE9TVFthc10iLCR5LGxhbmcoMjA1KSk7fX1wYWdlX2hlYWRlcigkSGMhPSIiP2xhbmcoMjA2KS4iOiAiLmgoJEhjKTpsYW5nKDIwNyksJG4pOyRhWyJhcyJdPSJBUyAiO2lmKCRfUE9TVCl7JGE9JF9QT1NUO31lY2hvJwo8Zm9ybSBhY3Rpb249IiIgbWV0aG9kPSJwb3N0Ij4KPHA+Cic7aWYoJEhjIT0iIil7ZWNobyI8aW5wdXQgdHlwZT0nc3VibWl0JyBuYW1lPSdkcm9wJyB2YWx1ZT0nIi5sYW5nKDc5KS4iJyIuY29uZmlybSgpLiI+XG4iO31lbHNle2VjaG8iPGlucHV0IG5hbWU9J25hbWUnIHZhbHVlPSciLmgoJGFbJ25hbWUnXSkuIic+XG4iO3RleHRhcmVhKCJhcyIsJGFbImFzIl0pO2VjaG8iPHA+PGlucHV0IHR5cGU9J3N1Ym1pdCcgdmFsdWU9JyIubGFuZygxNDEpLiInPlxuIjt9ZWNobyc8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ0b2tlbiIgdmFsdWU9IicsJE8sJyI+CjwvZm9ybT4KJzt9ZWxzZWlmKGlzc2V0KCRfR0VUWyJ0cmlnZ2VyIl0pKXskbT0kX0dFVFsidHJpZ2dlciJdOyRHYz10cmlnZ2VyX29wdGlvbnMoKTskbmU9YXJyYXkoIklOU0VSVCIsIlVQREFURSIsIkRFTEVURSIpOyRmYj1mYWxzZTtpZigkX1BPU1QmJiEkbiYmaW5fYXJyYXkoJF9QT1NUWyJUaW1pbmciXSwkR2NbIlRpbWluZyJdKSYmaW5fYXJyYXkoJF9QT1NUWyJFdmVudCJdLCRuZSkmJmluX2FycmF5KCRfUE9TVFsiVHlwZSJdLCRHY1siVHlwZSJdKSl7JGdlPSIgJF9QT1NUW1RpbWluZ10gJF9QT1NUW0V2ZW50XSI7JEZiPSIgT04gIi50YWJsZSgkbSk7JGZiPWRyb3BfY3JlYXRlKCJEUk9QIFRSSUdHRVIgIi5pZGZfZXNjYXBlKCRfR0VUWyJuYW1lIl0pLigkdT09InBnc3FsIj8kRmI6IiIpLCJDUkVBVEUgVFJJR0dFUiAiLmlkZl9lc2NhcGUoJF9QT1NUWyJUcmlnZ2VyIl0pLigkdT09Im1zc3FsIj8kRmIuJGdlOiRnZS4kRmIpLnJ0cmltKCIgJF9QT1NUW1R5cGVdXG4kX1BPU1RbU3RhdGVtZW50XSIsIjsiKS4iOyIsTUUuInRhYmxlPSIudXJsZW5jb2RlKCRtKSxsYW5nKDIwOCksbGFuZygyMDkpLGxhbmcoMjEwKSwkX0dFVFsibmFtZSJdKTt9cGFnZV9oZWFkZXIoKCRfR0VUWyJuYW1lIl0hPSIiP2xhbmcoMjExKS4iOiAiLmgoJF9HRVRbIm5hbWUiXSk6bGFuZygyMTIpKSwkbixhcnJheSgidGFibGUiPT4kbSkpOyRhPWFycmF5KCJUcmlnZ2VyIj0+JG0uIl9iaSIpO2lmKCRfUE9TVCl7JGE9JF9QT1NUO31lbHNlaWYoJF9HRVRbIm5hbWUiXSE9IiIpeyRhPXRyaWdnZXIoJF9HRVRbIm5hbWUiXSk7fWVjaG8nCjxmb3JtIGFjdGlvbj0iIiBtZXRob2Q9InBvc3QiIGlkPSJmb3JtIj4KPHRhYmxlIGNlbGxzcGFjaW5nPSIwIj4KPHRyPjx0aD4nLGxhbmcoMjEzKSwnPHRkPicsaHRtbF9zZWxlY3QoIlRpbWluZyIsJEdjWyJUaW1pbmciXSwkYVsiVGltaW5nIl0sImlmICgvXiIucHJlZ19xdW90ZSgkbSwiLyIpLiJfW2JhXVtpdWRdJC8udGVzdCh0aGlzLmZvcm1bJ1RyaWdnZXInXS52YWx1ZSkpIHRoaXMuZm9ybVsnVHJpZ2dlciddLnZhbHVlID0gJyIuanNfZXNjYXBlKCRtKS4iXycgKyBzZWxlY3RWYWx1ZSh0aGlzKS5jaGFyQXQoMCkudG9Mb3dlckNhc2UoKSArIHNlbGVjdFZhbHVlKHRoaXMuZm9ybVsnRXZlbnQnXSkuY2hhckF0KDApLnRvTG93ZXJDYXNlKCk7IiksJzx0cj48dGg+JyxsYW5nKDIxNCksJzx0ZD4nLGh0bWxfc2VsZWN0KCJFdmVudCIsJG5lLCRhWyJFdmVudCJdLCJ0aGlzLmZvcm1bJ1RpbWluZyddLm9uY2hhbmdlKCk7IiksJzx0cj48dGg+JyxsYW5nKDkwKSwnPHRkPicsaHRtbF9zZWxlY3QoIlR5cGUiLCRHY1siVHlwZSJdLCRhWyJUeXBlIl0pLCc8L3RhYmxlPgo8cD4nLGxhbmcoMTU5KSwnOiA8aW5wdXQgbmFtZT0iVHJpZ2dlciIgdmFsdWU9IicsaCgkYVsiVHJpZ2dlciJdKSwnIiBtYXhsZW5ndGg9IjY0Ij4KPHA+Jzt0ZXh0YXJlYSgiU3RhdGVtZW50IiwkYVsiU3RhdGVtZW50Il0pO2VjaG8nPHA+CjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSInLGxhbmcoMTQxKSwnIj4KJztpZigkX0dFVFsibmFtZSJdIT0iIil7ZWNobyc8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJkcm9wIiB2YWx1ZT0iJyxsYW5nKDc5KSwnIicsY29uZmlybSgpLCc+Jzt9aWYoJGZiKXtlY2hvJzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImRyb3BwZWQiIHZhbHVlPSIxIj4nO31lY2hvJzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InRva2VuIiB2YWx1ZT0iJywkTywnIj4KPC9mb3JtPgonO31lbHNlaWYoaXNzZXQoJF9HRVRbInVzZXIiXSkpeyRIZD0kX0dFVFsidXNlciJdOyR2YT1hcnJheSgiIj0+YXJyYXkoIkFsbCBwcml2aWxlZ2VzIj0+IiIpKTtmb3JlYWNoKGdldF9yb3dzKCJTSE9XIFBSSVZJTEVHRVMiKWFzJGEpe2ZvcmVhY2goZXhwbG9kZSgiLCIsKCRhWyJQcml2aWxlZ2UiXT09IkdyYW50IG9wdGlvbiI/IiI6JGFbIkNvbnRleHQiXSkpYXMkUGMpeyR2YVskUGNdWyRhWyJQcml2aWxlZ2UiXV09JGFbIkNvbW1lbnQiXTt9fSR2YVsiU2VydmVyIEFkbWluIl0rPSR2YVsiRmlsZSBhY2Nlc3Mgb24gc2VydmVyIl07JHZhWyJEYXRhYmFzZXMiXVsiQ3JlYXRlIHJvdXRpbmUiXT0kdmFbIlByb2NlZHVyZXMiXVsiQ3JlYXRlIHJvdXRpbmUiXTt1bnNldCgkdmFbIlByb2NlZHVyZXMiXVsiQ3JlYXRlIHJvdXRpbmUiXSk7JHZhWyJDb2x1bW5zIl09YXJyYXkoKTtmb3JlYWNoKGFycmF5KCJTZWxlY3QiLCJJbnNlcnQiLCJVcGRhdGUiLCJSZWZlcmVuY2VzIilhcyRiKXskdmFbIkNvbHVtbnMiXVskYl09JHZhWyJUYWJsZXMiXVskYl07fXVuc2V0KCR2YVsiU2VydmVyIEFkbWluIl1bIlVzYWdlIl0pO2ZvcmVhY2goJHZhWyJUYWJsZXMiXWFzJGQ9PiRiKXt1bnNldCgkdmFbIkRhdGFiYXNlcyJdWyRkXSk7fSR1Yz1hcnJheSgpO2lmKCRfUE9TVCl7Zm9yZWFjaCgkX1BPU1RbIm9iamVjdHMiXWFzJGQ9PiRiKXskdWNbJGJdPShhcnJheSkkdWNbJGJdKyhhcnJheSkkX1BPU1RbImdyYW50cyJdWyRkXTt9fSRrYj1hcnJheSgpOyROYz0iIjtpZihpc3NldCgkX0dFVFsiaG9zdCJdKSYmKCRqPSRnLT5xdWVyeSgiU0hPVyBHUkFOVFMgRk9SICIucSgkSGQpLiJAIi5xKCRfR0VUWyJob3N0Il0pKSkpe3doaWxlKCRhPSRqLT5mZXRjaF9yb3coKSl7aWYocHJlZ19tYXRjaCgnfkdSQU5UICguKikgT04gKC4qKSBUTyB+JywkYVswXSwkaykmJnByZWdfbWF0Y2hfYWxsKCd+ICooW14oLF0qW14gLChdKSggKlxcKFteKV0rXFwpKT9+Jywka1sxXSwkdGEsUFJFR19TRVRfT1JERVIpKXtmb3JlYWNoKCR0YQphcyRiKXtpZigkYlsxXSE9IlVTQUdFIil7JGtiWyIka1syXSRiWzJdIl1bJGJbMV1dPXRydWU7fWlmKGVyZWcoJyBXSVRIIEdSQU5UIE9QVElPTicsJGFbMF0pKXska2JbIiRrWzJdJGJbMl0iXVsiR1JBTlQgT1BUSU9OIl09dHJ1ZTt9fX1pZihwcmVnX21hdGNoKCJ+IElERU5USUZJRUQgQlkgUEFTU1dPUkQgJyhbXiddKyl+IiwkYVswXSwkaykpeyROYz0ka1sxXTt9fX1pZigkX1BPU1QmJiEkbil7JGRjPShpc3NldCgkX0dFVFsiaG9zdCJdKT9xKCRIZCkuIkAiLnEoJF9HRVRbImhvc3QiXSk6IicnIik7JGliPXEoJF9QT1NUWyJ1c2VyIl0pLiJAIi5xKCRfUE9TVFsiaG9zdCJdKTskR2Q9cSgkX1BPU1RbInBhc3MiXSk7aWYoJF9QT1NUWyJkcm9wIl0pe3F1ZXJ5X3JlZGlyZWN0KCJEUk9QIFVTRVIgJGRjIixNRS4icHJpdmlsZWdlcz0iLGxhbmcoMjE1KSk7fWVsc2V7aWYoJGRjIT0kaWIpeyRuPSFxdWVyaWVzKCgkZy0+c2VydmVyX2luZm88NT8iR1JBTlQgVVNBR0UgT04gKi4qIFRPIjoiQ1JFQVRFIFVTRVIiKS4iICRpYiBJREVOVElGSUVEIEJZIi4oJF9QT1NUWyJoYXNoZWQiXT8iIFBBU1NXT1JEIjoiIikuIiAkR2QiKTt9ZWxzZWlmKCRfUE9TVFsicGFzcyJdIT0kTmN8fCEkX1BPU1RbImhhc2hlZCJdKXtxdWVyaWVzKCJTRVQgUEFTU1dPUkQgRk9SICRpYiA9ICIuKCRfUE9TVFsiaGFzaGVkIl0/JEdkOiJQQVNTV09SRCgkR2QpIikpO31pZighJG4peyRuYz1hcnJheSgpO2ZvcmVhY2goJHVjCmFzJFlhPT4kbWEpe2lmKGlzc2V0KCRfR0VUWyJncmFudCJdKSl7JG1hPWFycmF5X2ZpbHRlcigkbWEpO30kbWE9YXJyYXlfa2V5cygkbWEpO2lmKGlzc2V0KCRfR0VUWyJncmFudCJdKSl7JG5jPWFycmF5X2RpZmYoYXJyYXlfa2V5cyhhcnJheV9maWx0ZXIoJHVjWyRZYV0sJ3N0cmxlbicpKSwkbWEpO31lbHNlaWYoJGRjPT0kaWIpeyRmZT1hcnJheV9rZXlzKChhcnJheSkka2JbJFlhXSk7JG5jPWFycmF5X2RpZmYoJGZlLCRtYSk7JG1hPWFycmF5X2RpZmYoJG1hLCRmZSk7dW5zZXQoJGtiWyRZYV0pO31pZihwcmVnX21hdGNoKCd+XiguKylcXHMqKFxcKC4qXFwpKT8kflUnLCRZYSwkaykmJighZ3JhbnQoIlJFVk9LRSIsJG5jLCRrWzJdLCIgT04gJGtbMV0gRlJPTSAkaWIiKXx8IWdyYW50KCJHUkFOVCIsJG1hLCRrWzJdLCIgT04gJGtbMV0gVE8gJGliIikpKXskbj10cnVlO2JyZWFrO319fWlmKCEkbiYmaXNzZXQoJF9HRVRbImhvc3QiXSkpe2lmKCRkYyE9JGliKXtxdWVyaWVzKCJEUk9QIFVTRVIgJGRjIik7fWVsc2VpZighaXNzZXQoJF9HRVRbImdyYW50Il0pKXtmb3JlYWNoKCRrYgphcyRZYT0+JG5jKXtpZihwcmVnX21hdGNoKCd+XiguKykoXFwoLipcXCkpPyR+VScsJFlhLCRrKSl7Z3JhbnQoIlJFVk9LRSIsYXJyYXlfa2V5cygkbmMpLCRrWzJdLCIgT04gJGtbMV0gRlJPTSAkaWIiKTt9fX19cXVlcmllc19yZWRpcmVjdChNRS4icHJpdmlsZWdlcz0iLChpc3NldCgkX0dFVFsiaG9zdCJdKT9sYW5nKDIxNik6bGFuZygyMTcpKSwhJG4pO2lmKCRkYyE9JGliKXskZy0+cXVlcnkoIkRST1AgVVNFUiAkaWIiKTt9fX1wYWdlX2hlYWRlcigoaXNzZXQoJF9HRVRbImhvc3QiXSk/bGFuZygyMSkuIjogIi5oKCIkSGRAJF9HRVRbaG9zdF0iKTpsYW5nKDEyMCkpLCRuLGFycmF5KCJwcml2aWxlZ2VzIj0+YXJyYXkoJycsbGFuZyg1MCkpKSk7aWYoJF9QT1NUKXskYT0kX1BPU1Q7JGtiPSR1Yzt9ZWxzZXskYT0kX0dFVCthcnJheSgiaG9zdCI9PiRnLT5yZXN1bHQoIlNFTEVDVCBTVUJTVFJJTkdfSU5ERVgoQ1VSUkVOVF9VU0VSLCAnQCcsIC0xKSIpKTskYVsicGFzcyJdPSROYztpZigkTmMhPSIiKXskYVsiaGFzaGVkIl09dHJ1ZTt9JGtiW0RCIT0iIiYmIWlzc2V0KCRfR0VUWyJob3N0Il0pP2lkZl9lc2NhcGUoYWRkY3NsYXNoZXMoREIsIiVfIikpLiIuKiI6IiJdPWFycmF5KCk7fWVjaG8nPGZvcm0gYWN0aW9uPSIiIG1ldGhvZD0icG9zdCI+Cjx0YWJsZSBjZWxsc3BhY2luZz0iMCI+Cjx0cj48dGg+JyxsYW5nKDIwKSwnPHRkPjxpbnB1dCBuYW1lPSJob3N0IiBtYXhsZW5ndGg9IjYwIiB2YWx1ZT0iJyxoKCRhWyJob3N0Il0pLCciPgo8dHI+PHRoPicsbGFuZygyMSksJzx0ZD48aW5wdXQgbmFtZT0idXNlciIgbWF4bGVuZ3RoPSIxNiIgdmFsdWU9IicsaCgkYVsidXNlciJdKSwnIj4KPHRyPjx0aD4nLGxhbmcoMjIpLCc8dGQ+PGlucHV0IGlkPSJwYXNzIiBuYW1lPSJwYXNzIiB2YWx1ZT0iJyxoKCRhWyJwYXNzIl0pLCciPgonO2lmKCEkYVsiaGFzaGVkIl0pe2VjaG8nPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPnR5cGVQYXNzd29yZChkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcJ3Bhc3NcJykpOzwvc2NyaXB0Pic7fWVjaG8KY2hlY2tib3goImhhc2hlZCIsMSwkYVsiaGFzaGVkIl0sbGFuZygyMTgpLCJ0eXBlUGFzc3dvcmQodGhpcy5mb3JtWydwYXNzJ10sIHRoaXMuY2hlY2tlZCk7IiksJzwvdGFibGU+CgonO2VjaG8iPHRhYmxlIGNlbGxzcGFjaW5nPScwJz5cbiIsIjx0aGVhZD48dHI+PHRoIGNvbHNwYW49JzInPjxhIGhyZWY9J2h0dHA6Ly9kZXYubXlzcWwuY29tL2RvYy9yZWZtYW4vIi5zdWJzdHIoJGctPnNlcnZlcl9pbmZvLDAsMykuIi9lbi9ncmFudC5odG1sI3ByaXZfbGV2ZWwnIHRhcmdldD0nX2JsYW5rJyByZWw9J25vcmVmZXJyZXInPiIubGFuZyg1MCkuIjwvYT4iOyRsPTA7Zm9yZWFjaCgka2IKYXMkWWE9PiRtYSl7ZWNobyc8dGg+Jy4oJFlhIT0iKi4qIj8iPGlucHV0IG5hbWU9J29iamVjdHNbJGxdJyB2YWx1ZT0nIi5oKCRZYSkuIicgc2l6ZT0nMTAnPiI6IjxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J29iamVjdHNbJGxdJyB2YWx1ZT0nKi4qJyBzaXplPScxMCc+Ki4qIik7JGwrKzt9ZWNobyI8L3RoZWFkPlxuIjtmb3JlYWNoKGFycmF5KCIiPT4iIiwiU2VydmVyIEFkbWluIj0+bGFuZygyMCksIkRhdGFiYXNlcyI9PmxhbmcoNjcpLCJUYWJsZXMiPT5sYW5nKDEwMSksIkNvbHVtbnMiPT5sYW5nKDEwMiksIlByb2NlZHVyZXMiPT5sYW5nKDIxOSksKWFzJFBjPT4kRWMpe2ZvcmVhY2goKGFycmF5KSR2YVskUGNdYXMkcWM9PiRBYSl7ZWNobyI8dHIiLm9kZCgpLiI+PHRkIi4oJEVjPyI+JEVjPHRkIjoiIGNvbHNwYW49JzInIikuJyBsYW5nPSJlbiIgdGl0bGU9IicuaCgkQWEpLiciPicuaCgkcWMpOyRsPTA7Zm9yZWFjaCgka2IKYXMkWWE9PiRtYSl7JGY9IidncmFudHNbJGxdWyIuaChzdHJ0b3VwcGVyKCRxYykpLiJdJyI7JHE9JG1hW3N0cnRvdXBwZXIoJHFjKV07aWYoJFBjPT0iU2VydmVyIEFkbWluIiYmJFlhIT0oaXNzZXQoJGtiWyIqLioiXSk/IiouKiI6IiIpKXtlY2hvIjx0ZD4mbmJzcDsiO31lbHNlaWYoaXNzZXQoJF9HRVRbImdyYW50Il0pKXtlY2hvIjx0ZD48c2VsZWN0IG5hbWU9JGY+PG9wdGlvbj48b3B0aW9uIHZhbHVlPScxJyIuKCRxPyIgc2VsZWN0ZWQiOiIiKS4iPiIubGFuZygyMjApLiI8b3B0aW9uIHZhbHVlPScwJyIuKCRxPT0iMCI/IiBzZWxlY3RlZCI6IiIpLiI+Ii5sYW5nKDIyMSkuIjwvc2VsZWN0PiI7fWVsc2V7ZWNobyI8dGQgYWxpZ249J2NlbnRlcic+PGlucHV0IHR5cGU9J2NoZWNrYm94JyBuYW1lPSRmIHZhbHVlPScxJyIuKCRxPyIgY2hlY2tlZCI6IiIpLigkcWM9PSJBbGwgcHJpdmlsZWdlcyI/IiBpZD0nZ3JhbnRzLSRsLWFsbCciOigkcWM9PSJHcmFudCBvcHRpb24iPyIiOiIgb25jbGljaz1cImlmICh0aGlzLmNoZWNrZWQpIGZvcm1VbmNoZWNrKCdncmFudHMtJGwtYWxsJyk7XCIiKSkuIj4iO30kbCsrO319fWVjaG8iPC90YWJsZT5cbiIsJzxwPgo8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iJyxsYW5nKDE0MSksJyI+Cic7aWYoaXNzZXQoJF9HRVRbImhvc3QiXSkpe2VjaG8nPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0iZHJvcCIgdmFsdWU9IicsbGFuZyg3OSksJyInLGNvbmZpcm0oKSwnPic7fWVjaG8nPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idG9rZW4iIHZhbHVlPSInLCRPLCciPgo8L2Zvcm0+Cic7fWVsc2VpZihpc3NldCgkX0dFVFsicHJvY2Vzc2xpc3QiXSkpe2lmKHN1cHBvcnQoImtpbGwiKSYmJF9QT1NUJiYhJG4peyRQZD0wO2ZvcmVhY2goKGFycmF5KSRfUE9TVFsia2lsbCJdYXMkYil7aWYocXVlcmllcygiS0lMTCAiLigrJGIpKSl7JFBkKys7fX1xdWVyaWVzX3JlZGlyZWN0KE1FLiJwcm9jZXNzbGlzdD0iLGxhbmcoMjIyLCRQZCksJFBkfHwhJF9QT1NUWyJraWxsIl0pO31wYWdlX2hlYWRlcihsYW5nKDcyKSwkbik7ZWNobycKPGZvcm0gYWN0aW9uPSIiIG1ldGhvZD0icG9zdCI+Cjx0YWJsZSBjZWxsc3BhY2luZz0iMCIgb25jbGljaz0idGFibGVDbGljayhldmVudCk7IiBjbGFzcz0ibm93cmFwIj4KJzskbD0tMTtmb3JlYWNoKHByb2Nlc3NfbGlzdCgpYXMkbD0+JGEpe2lmKCEkbCl7ZWNobyI8dGhlYWQ+PHRyIGxhbmc9J2VuJz4iLihzdXBwb3J0KCJraWxsIik/Ijx0aD4mbmJzcDsiOiIiKS4iPHRoPiIuaW1wbG9kZSgiPHRoPiIsYXJyYXlfa2V5cygkYSkpLiI8L3RoZWFkPlxuIjt9ZWNobyI8dHIiLm9kZCgpLiI+Ii4oc3VwcG9ydCgia2lsbCIpPyI8dGQ+Ii5jaGVja2JveCgia2lsbFtdIiwkYVsiSWQiXSwwKToiIik7Zm9yZWFjaCgkYQphcyRkPT4kYil7ZWNobyI8dGQ+Ii4oKCR1PT0ic3FsIj8kZD09IkluZm8iJiYkYiE9IiI6JGQ9PSJjdXJyZW50X3F1ZXJ5IiYmJGIhPSI8SURMRT4iKT8iPGNvZGUgY2xhc3M9J2p1c2gtJHUnPiIuc2hvcnRlbl91dGY4KCRiLDEwMCwiPC9jb2RlPiIpLicgPGEgaHJlZj0iJy5oKE1FLigkYVsiZGIiXSE9IiI/ImRiPSIudXJsZW5jb2RlKCRhWyJkYiJdKS4iJiI6IiIpLiJzcWw9Ii51cmxlbmNvZGUoJGIpKS4nIj4nLmxhbmcoMzEpLic8L2E+JzpuYnNwKCRiKSk7fWVjaG8iXG4iO31lY2hvJzwvdGFibGU+CjxwPgonO2lmKHN1cHBvcnQoImtpbGwiKSl7ZWNobygkbCsxKS4iLyIubGFuZygyMjMsJGctPnJlc3VsdCgiU0VMRUNUIEBAbWF4X2Nvbm5lY3Rpb25zIikpLCI8cD48aW5wdXQgdHlwZT0nc3VibWl0JyB2YWx1ZT0nIi5sYW5nKDIyNCkuIic+XG4iO31lY2hvJzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InRva2VuIiB2YWx1ZT0iJywkTywnIj4KPC9mb3JtPgonO31lbHNlaWYoaXNzZXQoJF9HRVRbInNlbGVjdCJdKSl7JG09JF9HRVRbInNlbGVjdCJdOyR2PXRhYmxlX3N0YXR1cygkbSk7JEs9aW5kZXhlcygkbSk7JHA9ZmllbGRzKCRtKTskZWE9Y29sdW1uX2ZvcmVpZ25fa2V5cygkbSk7aWYoJHZbIk9pZCJdPT0idCIpeyRLW109YXJyYXkoInR5cGUiPT4iUFJJTUFSWSIsImNvbHVtbnMiPT5hcnJheSgib2lkIikpO31wYXJzZV9zdHIoJF9DT09LSUVbImFkbWluZXJfaW1wb3J0Il0sJG5kKTskamU9YXJyYXkoKTskQj1hcnJheSgpOyRVYj1udWxsO2ZvcmVhY2goJHAKYXMkZD0+JGUpeyRmPSRvLT5maWVsZE5hbWUoJGUpO2lmKGlzc2V0KCRlWyJwcml2aWxlZ2VzIl1bInNlbGVjdCJdKSYmJGYhPSIiKXskQlskZF09aHRtbF9lbnRpdHlfZGVjb2RlKHN0cmlwX3RhZ3MoJGYpKTtpZihlcmVnKCd0ZXh0fGxvYicsJGVbInR5cGUiXSkpeyRVYj0kby0+c2VsZWN0TGVuZ3RoUHJvY2VzcygpO319JGplKz0kZVsicHJpdmlsZWdlcyJdO31saXN0KCRKLCRyYSk9JG8tPnNlbGVjdENvbHVtbnNQcm9jZXNzKCRCLCRLKTskcj0kby0+c2VsZWN0U2VhcmNoUHJvY2VzcygkcCwkSyk7JGFiPSRvLT5zZWxlY3RPcmRlclByb2Nlc3MoJHAsJEspOyRNPSRvLT5zZWxlY3RMaW1pdFByb2Nlc3MoKTskWGI9KCRKP2ltcGxvZGUoIiwgIiwkSik6KCR2WyJPaWQiXT09InQiPyJvaWQsICI6IiIpLiIqIikuIlxuRlJPTSAiLnRhYmxlKCRtKTskb2Q9KCRyYSYmY291bnQoJHJhKTxjb3VudCgkSik/IlxuR1JPVVAgQlkgIi5pbXBsb2RlKCIsICIsJHJhKToiIikuKCRhYj8iXG5PUkRFUiBCWSAiLmltcGxvZGUoIiwgIiwkYWIpOiIiKTtpZigkX0dFVFsidmFsIl0mJmlzX2FqYXgoKSl7aGVhZGVyKCJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9dXRmLTgiKTtmb3JlYWNoKCRfR0VUWyJ2YWwiXWFzJFphPT4kYSl7ZWNobyRnLT5yZXN1bHQoIlNFTEVDVCIubGltaXQoaWRmX2VzY2FwZShrZXkoJGEpKS4iIEZST00gIi50YWJsZSgkbSksIiBXSEVSRSAiLndoZXJlX2NoZWNrKCRaYSkuKCRyPyIgQU5EICIuaW1wbG9kZSgiIEFORCAiLCRyKToiIikuKCRhYj8iIE9SREVSIEJZICIuaW1wbG9kZSgiLCAiLCRhYik6IiIpLDEpKTt9ZXhpdDt9aWYoJF9QT1NUJiYhJG4peyRrZT0iKCIuaW1wbG9kZSgiKSBPUiAoIixhcnJheV9tYXAoJ3doZXJlX2NoZWNrJywoYXJyYXkpJF9QT1NUWyJjaGVjayJdKSkuIikiOyROYT0kQWM9bnVsbDtmb3JlYWNoKCRLCmFzJHgpe2lmKCR4WyJ0eXBlIl09PSJQUklNQVJZIil7JE5hPWFycmF5X2ZsaXAoJHhbImNvbHVtbnMiXSk7JEFjPSgkSj8kTmE6YXJyYXkoKSk7YnJlYWs7fX1mb3JlYWNoKChhcnJheSkkQWMKYXMkZD0+JGIpe2lmKGluX2FycmF5KGlkZl9lc2NhcGUoJGQpLCRKKSl7dW5zZXQoJEFjWyRkXSk7fX1pZigkX1BPU1RbImV4cG9ydCJdKXtjb29raWUoImFkbWluZXJfaW1wb3J0Iiwib3V0cHV0PSIudXJsZW5jb2RlKCRfUE9TVFsib3V0cHV0Il0pLiImZm9ybWF0PSIudXJsZW5jb2RlKCRfUE9TVFsiZm9ybWF0Il0pKTtkdW1wX2hlYWRlcnMoJG0pOyRvLT5kdW1wVGFibGUoJG0sIiIpO2lmKCFpc19hcnJheSgkX1BPU1RbImNoZWNrIl0pfHwkQWM9PT1hcnJheSgpKXskZWM9JHI7aWYoaXNfYXJyYXkoJF9QT1NUWyJjaGVjayJdKSl7JGVjW109Iigka2UpIjt9JGk9IlNFTEVDVCAkWGIiLigkZWM/IlxuV0hFUkUgIi5pbXBsb2RlKCIgQU5EICIsJGVjKToiIikuJG9kO31lbHNleyRpZT1hcnJheSgpO2ZvcmVhY2goJF9QT1NUWyJjaGVjayJdYXMkYil7JGllW109IihTRUxFQ1QiLmxpbWl0KCRYYiwiXG5XSEVSRSAiLigkcj9pbXBsb2RlKCIgQU5EICIsJHIpLiIgQU5EICI6IiIpLndoZXJlX2NoZWNrKCRiKS4kb2QsMSkuIikiO30kaT1pbXBsb2RlKCIgVU5JT04gQUxMICIsJGllKTt9JG8tPmR1bXBEYXRhKCRtLCJ0YWJsZSIsJGkpO2V4aXQ7fWlmKCEkby0+c2VsZWN0RW1haWxQcm9jZXNzKCRyLCRlYSkpe2lmKCRfUE9TVFsic2F2ZSJdfHwkX1BPU1RbImRlbGV0ZSJdKXskaj10cnVlOyR5Yj0wOyRpPXRhYmxlKCRtKTskcz1hcnJheSgpO2lmKCEkX1BPU1RbImRlbGV0ZSJdKXtmb3JlYWNoKCRCCmFzJGY9PiRiKXskYj1wcm9jZXNzX2lucHV0KCRwWyRmXSk7aWYoJGIhPT1udWxsKXtpZigkX1BPU1RbImNsb25lIl0peyRzW2lkZl9lc2NhcGUoJGYpXT0oJGIhPT1mYWxzZT8kYjppZGZfZXNjYXBlKCRmKSk7fWVsc2VpZigkYiE9PWZhbHNlKXskc1tdPWlkZl9lc2NhcGUoJGYpLiIgPSAkYiI7fX19JGkuPSgkX1BPU1RbImNsb25lIl0/IiAoIi5pbXBsb2RlKCIsICIsYXJyYXlfa2V5cygkcykpLiIpXG5TRUxFQ1QgIi5pbXBsb2RlKCIsICIsJHMpLiJcbkZST00gIi50YWJsZSgkbSk6IiBTRVRcbiIuaW1wbG9kZSgiLFxuIiwkcykpO31pZigkX1BPU1RbImRlbGV0ZSJdfHwkcyl7JGVkPSJVUERBVEUiO2lmKCRfUE9TVFsiZGVsZXRlIl0peyRlZD0iREVMRVRFIjskaT0iRlJPTSAkaSI7fWlmKCRfUE9TVFsiY2xvbmUiXSl7JGVkPSJJTlNFUlQiOyRpPSJJTlRPICRpIjt9aWYoJF9QT1NUWyJhbGwiXXx8KCRBYz09PWFycmF5KCkmJiRfUE9TVFsiY2hlY2siXSl8fGNvdW50KCRyYSk8Y291bnQoJEopKXskaj1xdWVyaWVzKCRlZC4iICRpIi4oJF9QT1NUWyJhbGwiXT8oJHI/IlxuV0hFUkUgIi5pbXBsb2RlKCIgQU5EICIsJHIpOiIiKToiXG5XSEVSRSAka2UiKSk7JHliPSRnLT5hZmZlY3RlZF9yb3dzO31lbHNle2ZvcmVhY2goKGFycmF5KSRfUE9TVFsiY2hlY2siXWFzJGIpeyRqPXF1ZXJpZXMoJGVkLmxpbWl0MSgkaSwiXG5XSEVSRSAiLndoZXJlX2NoZWNrKCRiKSkpO2lmKCEkail7YnJlYWs7fSR5Yis9JGctPmFmZmVjdGVkX3Jvd3M7fX19cXVlcmllc19yZWRpcmVjdChyZW1vdmVfZnJvbV91cmkoInBhZ2UiKSxsYW5nKDIyNSwkeWIpLCRqKTt9ZWxzZWlmKCEkX1BPU1RbImltcG9ydCJdKXtpZighJF9QT1NUWyJ2YWwiXSl7JG49bGFuZygyMjYpO31lbHNleyRqPXRydWU7JHliPTA7Zm9yZWFjaCgkX1BPU1RbInZhbCJdYXMkWmE9PiRhKXskcz1hcnJheSgpO2ZvcmVhY2goJGEKYXMkZD0+JGIpeyRkPWJyYWNrZXRfZXNjYXBlKCRkLDEpOyRzW109aWRmX2VzY2FwZSgkZCkuIiA9ICIuKGVyZWcoJ2NoYXJ8dGV4dCcsJHBbJGRdWyJ0eXBlIl0pfHwkYiE9IiI/JG8tPnByb2Nlc3NJbnB1dCgkcFskZF0sJGIpOiJOVUxMIik7fSRpPXRhYmxlKCRtKS4iIFNFVCAiLmltcGxvZGUoIiwgIiwkcyk7JGVjPSIgV0hFUkUgIi53aGVyZV9jaGVjaygkWmEpLigkcj8iIEFORCAiLmltcGxvZGUoIiBBTkQgIiwkcik6IiIpOyRqPXF1ZXJpZXMoIlVQREFURSIuKGNvdW50KCRyYSk8Y291bnQoJEopPyIgJGkkZWMiOmxpbWl0MSgkaSwkZWMpKSk7aWYoISRqKXticmVhazt9JHliKz0kZy0+YWZmZWN0ZWRfcm93czt9cXVlcmllc19yZWRpcmVjdChyZW1vdmVfZnJvbV91cmkoKSxsYW5nKDIyNSwkeWIpLCRqKTt9fWVsc2VpZihpc19zdHJpbmcoJEphPWdldF9maWxlKCJjc3ZfZmlsZSIsdHJ1ZSkpKXtjb29raWUoImFkbWluZXJfaW1wb3J0Iiwib3V0cHV0PSIudXJsZW5jb2RlKCRuZFsib3V0cHV0Il0pLiImZm9ybWF0PSIudXJsZW5jb2RlKCRfUE9TVFsic2VwYXJhdG9yIl0pKTskaj10cnVlOyRuYj1hcnJheV9rZXlzKCRwKTtwcmVnX21hdGNoX2FsbCgnfig/PiJbXiJdKiJ8W14iXFxyXFxuXSspK34nLCRKYSwkdGEpOyR5Yj1jb3VudCgkdGFbMF0pO2JlZ2luKCk7JGdiPSgkX1BPU1RbInNlcGFyYXRvciJdPT0iY3N2Ij8iLCI6KCRfUE9TVFsic2VwYXJhdG9yIl09PSJ0c3YiPyJcdCI6IjsiKSk7Zm9yZWFjaCgkdGFbMF1hcyRkPT4kYil7cHJlZ19tYXRjaF9hbGwoIn4oKFwiW15cIl0qXCIpK3xbXiRnYl0qKSRnYn4iLCRiLiRnYiwkU2QpO2lmKCEkZCYmIWFycmF5X2RpZmYoJFNkWzFdLCRuYikpeyRuYj0kU2RbMV07JHliLS07fWVsc2V7JHM9YXJyYXkoKTtmb3JlYWNoKCRTZFsxXWFzJGw9PiRZYyl7JHNbaWRmX2VzY2FwZSgkbmJbJGxdKV09KCRZYz09IiImJiRwWyRuYlskbF1dWyJudWxsIl0/Ik5VTEwiOnEoc3RyX3JlcGxhY2UoJyIiJywnIicscHJlZ19yZXBsYWNlKCd+XiJ8IiR+JywnJywkWWMpKSkpO30kaj1pbnNlcnRfdXBkYXRlKCRtLCRzLCROYSk7aWYoISRqKXticmVhazt9fX1pZigkail7cXVlcmllcygiQ09NTUlUIik7fXF1ZXJpZXNfcmVkaXJlY3QocmVtb3ZlX2Zyb21fdXJpKCJwYWdlIiksbGFuZygyMjcsJHliKSwkaik7cXVlcmllcygiUk9MTEJBQ0siKTt9ZWxzZXskbj11cGxvYWRfZXJyb3IoJEphKTt9fX0kTGE9JG8tPnRhYmxlTmFtZSgkdik7cGFnZV9oZWFkZXIobGFuZygzMykuIjogJExhIiwkbik7c2Vzc2lvbl93cml0ZV9jbG9zZSgpOyRzPW51bGw7aWYoaXNzZXQoJGplWyJpbnNlcnQiXSkpeyRzPSIiO2ZvcmVhY2goKGFycmF5KSRfR0VUWyJ3aGVyZSJdYXMkYil7aWYoY291bnQoJGVhWyRiWyJjb2wiXV0pPT0xJiYoJGJbIm9wIl09PSI9Inx8KCEkYlsib3AiXSYmIWVyZWcoJ1tfJV0nLCRiWyJ2YWwiXSkpKSl7JHMuPSImc2V0Ii51cmxlbmNvZGUoIlsiLmJyYWNrZXRfZXNjYXBlKCRiWyJjb2wiXSkuIl0iKS4iPSIudXJsZW5jb2RlKCRiWyJ2YWwiXSk7fX19JG8tPnNlbGVjdExpbmtzKCR2LCRzKTtpZighJEIpe2VjaG8iPHAgY2xhc3M9J2Vycm9yJz4iLmxhbmcoMjI4KS4oJHA/Ii4iOiI6ICIuZXJyb3IoKSkuIlxuIjt9ZWxzZXtlY2hvIjxmb3JtIGFjdGlvbj0nJyBpZD0nZm9ybSc+XG4iLCI8ZGl2IHN0eWxlPSdkaXNwbGF5OiBub25lOyc+IjtoaWRkZW5fZmllbGRzX2dldCgpO2VjaG8oREIhPSIiPyc8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkYiIgdmFsdWU9IicuaChEQikuJyI+Jy4oaXNzZXQoJF9HRVRbIm5zIl0pPyc8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJucyIgdmFsdWU9IicuaCgkX0dFVFsibnMiXSkuJyI+JzoiIik6IiIpO2VjaG8nPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ic2VsZWN0IiB2YWx1ZT0iJy5oKCRtKS4nIj4nLCI8L2Rpdj5cbiI7JG8tPnNlbGVjdENvbHVtbnNQcmludCgkSiwkQik7JG8tPnNlbGVjdFNlYXJjaFByaW50KCRyLCRCLCRLKTskby0+c2VsZWN0T3JkZXJQcmludCgkYWIsJEIsJEspOyRvLT5zZWxlY3RMaW1pdFByaW50KCRNKTskby0+c2VsZWN0TGVuZ3RoUHJpbnQoJFViKTskby0+c2VsZWN0QWN0aW9uUHJpbnQoKTtlY2hvIjwvZm9ybT5cbiI7JFo9JF9HRVRbInBhZ2UiXTtpZigkWj09Imxhc3QiKXskbGI9JGctPnJlc3VsdCgiU0VMRUNUIENPVU5UKCopIEZST00gIi50YWJsZSgkbSkuKCRyPyIgV0hFUkUgIi5pbXBsb2RlKCIgQU5EICIsJHIpOiIiKSk7JFo9Zmxvb3IobWF4KDAsJGxiLTEpLyRNKTt9JGk9IlNFTEVDVCIubGltaXQoKCskTSYmJHJhJiZjb3VudCgkcmEpPGNvdW50KCRKKSYmJHU9PSJzcWwiPyJTUUxfQ0FMQ19GT1VORF9ST1dTICI6IiIpLiRYYiwoJHI/IlxuV0hFUkUgIi5pbXBsb2RlKCIgQU5EICIsJHIpOiIiKS4kb2QsKCRNIT0iIj8rJE06bnVsbCksKCRaPyRNKiRaOjApLCJcbiIpO2VjaG8kby0+c2VsZWN0UXVlcnkoJGkpOyRqPSRnLT5xdWVyeSgkaSk7aWYoISRqKXtlY2hvIjxwIGNsYXNzPSdlcnJvcic+Ii5lcnJvcigpLiJcbiI7fWVsc2V7aWYoJHU9PSJtc3NxbCIpeyRqLT5zZWVrKCRNKiRaKTt9JGNkPWFycmF5KCk7ZWNobyI8Zm9ybSBhY3Rpb249JycgbWV0aG9kPSdwb3N0JyBlbmN0eXBlPSdtdWx0aXBhcnQvZm9ybS1kYXRhJz5cbiI7JEg9YXJyYXkoKTt3aGlsZSgkYT0kai0+ZmV0Y2hfYXNzb2MoKSl7aWYoJFomJiR1PT0ib3JhY2xlIil7dW5zZXQoJGFbIlJOVU0iXSk7fSRIW109JGE7fWlmKCRfR0VUWyJwYWdlIl0hPSJsYXN0Iil7JGxiPSgrJE0mJiRyYSYmY291bnQoJHJhKTxjb3VudCgkSik/KCR1PT0ic3FsIj8kZy0+cmVzdWx0KCIgU0VMRUNUIEZPVU5EX1JPV1MoKSIpOiRnLT5yZXN1bHQoIlNFTEVDVCBDT1VOVCgqKSBGUk9NICgkaSkgeCIpKTpjb3VudCgkSCkpO31pZighJEgpe2VjaG8iPHAgY2xhc3M9J21lc3NhZ2UnPiIubGFuZyg4MykuIlxuIjt9ZWxzZXskUmQ9JG8tPmJhY2t3YXJkS2V5cygkbSwkTGEpO2VjaG8iPHRhYmxlIGNlbGxzcGFjaW5nPScwJyBjbGFzcz0nbm93cmFwJyBvbmNsaWNrPSd0YWJsZUNsaWNrKGV2ZW50KTsnIG9ua2V5ZG93bj0ncmV0dXJuIGVkaXRpbmdLZXlkb3duKGV2ZW50KTsnPlxuIiwiPHRoZWFkPjx0cj4iLighJHJhJiYkSj8iIjoiPHRkPjxpbnB1dCB0eXBlPSdjaGVja2JveCcgaWQ9J2FsbC1wYWdlJyBvbmNsaWNrPSdmb3JtQ2hlY2sodGhpcywgL2NoZWNrLyk7Jz4gPGEgaHJlZj0nIi5oKCRfR0VUWyJtb2RpZnkiXT9yZW1vdmVfZnJvbV91cmkoIm1vZGlmeSIpOiRfU0VSVkVSWyJSRVFVRVNUX1VSSSJdLiImbW9kaWZ5PTEiKS4iJz4iLmxhbmcoMTE5KS4iPC9hPiIpOyRGZD1hcnJheSgpOyRjYT1hcnJheSgpO3Jlc2V0KCRKKTskZGU9MTtmb3JlYWNoKCRIWzBdYXMkZD0+JGIpe2lmKCR2WyJPaWQiXSE9InQifHwkZCE9Im9pZCIpeyRiPSRfR0VUWyJjb2x1bW5zIl1ba2V5KCRKKV07JGU9JHBbJEo/KCRiPyRiWyJjb2wiXTpjdXJyZW50KCRKKSk6JGRdOyRmPSgkZT8kby0+ZmllbGROYW1lKCRlLCRkZSk6IioiKTtpZigkZiE9IiIpeyRkZSsrOyRGZFskZF09JGY7JEQ9aWRmX2VzY2FwZSgkZCk7ZWNobyc8dGg+PGEgaHJlZj0iJy5oKHJlbW92ZV9mcm9tX3VyaSgnKG9yZGVyfGRlc2MpW149XSp8cGFnZScpLicmb3JkZXIlNUIwJTVEPScudXJsZW5jb2RlKCRkKS4oJGFiWzBdPT0kRHx8JGFiWzBdPT0kZHx8KCEkYWImJmNvdW50KCRyYSk8Y291bnQoJEopJiYkcmFbMF09PSREKT8nJmRlc2MlNUIwJTVEPTEnOicnKSkuJyI+Jy4oISRKfHwkYj9hcHBseV9zcWxfZnVuY3Rpb24oJGJbImZ1biJdLCRmKTpoKGN1cnJlbnQoJEopKSkuIjwvYT4iO30kY2FbJGRdPSRiWyJmdW4iXTtuZXh0KCRKKTt9fSRhYz1hcnJheSgpO2lmKCRfR0VUWyJtb2RpZnkiXSl7Zm9yZWFjaCgkSAphcyRhKXtmb3JlYWNoKCRhCmFzJGQ9PiRiKXskYWNbJGRdPW1heCgkYWNbJGRdLG1pbig0MCxzdHJsZW4odXRmOF9kZWNvZGUoJGIpKSkpO319fWVjaG8oJFJkPyI8dGg+Ii5sYW5nKDIyOSk6IiIpLiI8L3RoZWFkPlxuIjtmb3JlYWNoKCRvLT5yb3dEZXNjcmlwdGlvbnMoJEgsJGVhKWFzJGdhPT4kYSl7JEVkPXVuaXF1ZV9hcnJheSgkSFskZ2FdLCRLKTskWmE9IiI7Zm9yZWFjaCgkRWQKYXMkZD0+JGIpeyRaYS49IiYiLihpc3NldCgkYik/dXJsZW5jb2RlKCJ3aGVyZVsiLmJyYWNrZXRfZXNjYXBlKCRkKS4iXSIpLiI9Ii51cmxlbmNvZGUoJGIpOiJudWxsJTVCJTVEPSIudXJsZW5jb2RlKCRkKSk7fWVjaG8iPHRyIi5vZGQoKS4iPiIuKCEkcmEmJiRKPyIiOiI8dGQ+Ii5jaGVja2JveCgiY2hlY2tbXSIsc3Vic3RyKCRaYSwxKSxpbl9hcnJheShzdWJzdHIoJFphLDEpLChhcnJheSkkX1BPU1RbImNoZWNrIl0pLCIiLCJ0aGlzLmZvcm1bJ2FsbCddLmNoZWNrZWQgPSBmYWxzZTsgZm9ybVVuY2hlY2soJ2FsbC1wYWdlJyk7IikuKGNvdW50KCRyYSk8Y291bnQoJEopfHxpbmZvcm1hdGlvbl9zY2hlbWEoREIpPyIiOiIgPGEgaHJlZj0nIi5oKE1FLiJlZGl0PSIudXJsZW5jb2RlKCRtKS4kWmEpLiInPiIubGFuZygxMTkpLiI8L2E+IikpO2ZvcmVhY2goJGEKYXMkZD0+JGIpe2lmKGlzc2V0KCRGZFskZF0pKXskZT0kcFskZF07aWYoJGIhPSIiJiYoIWlzc2V0KCRjZFskZF0pfHwkY2RbJGRdIT0iIikpeyRjZFskZF09KGlzX21haWwoJGIpPyRGZFskZF06IiIpO30keT0iIjskYj0kby0+ZWRpdFZhbCgkYiwkZSk7aWYoIWlzc2V0KCRiKSl7JGI9IjxpPk5VTEw8L2k+Ijt9ZWxzZXtpZihlcmVnKCdibG9ifGJ5dGVhfHJhd3xmaWxlJywkZVsidHlwZSJdKSYmJGIhPSIiKXskeT1oKE1FLidkb3dubG9hZD0nLnVybGVuY29kZSgkbSkuJyZmaWVsZD0nLnVybGVuY29kZSgkZCkuJFphKTt9aWYoJGI9PT0iIil7JGI9IiZuYnNwOyI7fWVsc2VpZigkVWIhPSIiJiZlcmVnKCd0ZXh0fGJsb2InLCRlWyJ0eXBlIl0pJiZpc191dGY4KCRiKSl7JGI9c2hvcnRlbl91dGY4KCRiLG1heCgwLCskVWIpKTt9ZWxzZXskYj1oKCRiKTt9aWYoISR5KXtmb3JlYWNoKChhcnJheSkkZWFbJGRdYXMkQyl7aWYoY291bnQoJGVhWyRkXSk9PTF8fGVuZCgkQ1sic291cmNlIl0pPT0kZCl7JHk9IiI7Zm9yZWFjaCgkQ1sic291cmNlIl1hcyRsPT4kSGEpeyR5Lj13aGVyZV9saW5rKCRsLCRDWyJ0YXJnZXQiXVskbF0sJEhbJGdhXVskSGFdKTt9JHk9aCgoJENbImRiIl0hPSIiP3ByZWdfcmVwbGFjZSgnfihbPyZdZGI9KVteJl0rficsJ1xcMScudXJsZW5jb2RlKCRDWyJkYiJdKSxNRSk6TUUpLidzZWxlY3Q9Jy51cmxlbmNvZGUoJENbInRhYmxlIl0pLiR5KTtpZihjb3VudCgkQ1sic291cmNlIl0pPT0xKXticmVhazt9fX19aWYoJGQ9PSJDT1VOVCgqKSIpeyR5PWgoTUUuInNlbGVjdD0iLnVybGVuY29kZSgkbSkpOyRsPTA7Zm9yZWFjaCgoYXJyYXkpJF9HRVRbIndoZXJlIl1hcyR6KXtpZighYXJyYXlfa2V5X2V4aXN0cygkelsiY29sIl0sJEVkKSl7JHkuPWgod2hlcmVfbGluaygkbCsrLCR6WyJjb2wiXSwkelsidmFsIl0sJHpbIm9wIl0pKTt9fWZvcmVhY2goJEVkCmFzJE1hPT4keil7JHkuPWgod2hlcmVfbGluaygkbCsrLCRNYSwkeikpO319fWlmKCEkeSl7aWYoaXNfbWFpbCgkYikpeyR5PSJtYWlsdG86JGIiO31pZigkd2U9aXNfdXJsKCRhWyRkXSkpeyR5PSgkd2U9PSJodHRwIiYmJHpjPyRhWyRkXToiJHdlOi8vd3d3LmFkbWluZXIub3JnL3JlZGlyZWN0Lz91cmw9Ii51cmxlbmNvZGUoJGFbJGRdKSk7fX0kUz1oKCJ2YWxbJFphXVsiLmJyYWNrZXRfZXNjYXBlKCRkKS4iXSIpOyRxPSRfUE9TVFsidmFsIl1bJFphXVticmFja2V0X2VzY2FwZSgkZCldOyRaZD1oKGlzc2V0KCRxKT8kcTokYVskZF0pOyR2Zj1zdHJwb3MoJGIsIjxpPi4uLjwvaT4iKTskWGQ9aXNfdXRmOCgkYikmJiRIWyRnYV1bJGRdPT0kYVskZF0mJiEkY2FbJGRdOyRZZD1lcmVnKCd0ZXh0fGxvYicsJGVbInR5cGUiXSk7ZWNobygoJF9HRVRbIm1vZGlmeSJdJiYkWGQpfHxpc3NldCgkcSk/Ijx0ZD4iLigkWWQ/Ijx0ZXh0YXJlYSBuYW1lPSckUycgY29scz0nMzAnIHJvd3M9JyIuKHN1YnN0cl9jb3VudCgkYVskZF0sIlxuIikrMSkuIic+JFpkPC90ZXh0YXJlYT4iOiI8aW5wdXQgbmFtZT0nJFMnIHZhbHVlPSckWmQnIHNpemU9JyRhY1skZF0nPiIpOiI8dGQgaWQ9JyRTJyBvbmRibGNsaWNrPVwiIi4oJFhkPyJzZWxlY3REYmxDbGljayh0aGlzLCBldmVudCIuKCR2Zj8iLCAyIjooJFlkPyIsIDEiOiIiKSkuIikiOiJhbGVydCgnIi5oKGxhbmcoMjMwKSkuIicpIikuIjtcIj4iLiRvLT5zZWxlY3RWYWwoJGIsJHksJGUpKTt9fWlmKCRSZCl7ZWNobyI8dGQ+Ijt9JG8tPmJhY2t3YXJkS2V5c1ByaW50KCRSZCwkSFskZ2FdKTtlY2hvIjwvdHI+XG4iO31lY2hvIjwvdGFibGU+XG4iO31pZigkSHx8JFopeyREZD10cnVlO2lmKCRfR0VUWyJwYWdlIl0hPSJsYXN0IiYmKyRNJiZjb3VudCgkcmEpPj1jb3VudCgkSikmJigkbGI+PSRNfHwkWikpeyRsYj1mb3VuZF9yb3dzKCR2LCRyKTtpZigkbGI8bWF4KDFlNCwyKigkWisxKSokTSkpe29iX2ZsdXNoKCk7Zmx1c2goKTskbGI9JGctPnJlc3VsdCgiU0VMRUNUIENPVU5UKCopIEZST00gIi50YWJsZSgkbSkuKCRyPyIgV0hFUkUgIi5pbXBsb2RlKCIgQU5EICIsJHIpOiIiKSk7fWVsc2V7JERkPWZhbHNlO319ZWNobyI8cCBjbGFzcz0ncGFnZXMnPiI7aWYoKyRNJiYkbGI+JE0peyR2ZD1mbG9vcigoJGxiLTEpLyRNKTtlY2hvJzxhIGhyZWY9IicuaChyZW1vdmVfZnJvbV91cmkoInBhZ2UiKSkuIlwiIG9uY2xpY2s9XCJwYWdlQ2xpY2sodGhpcy5ocmVmLCArcHJvbXB0KCciLmxhbmcoMjMxKS4iJywgJyIuKCRaKzEpLiInKSwgZXZlbnQpOyByZXR1cm4gZmFsc2U7XCI+Ii5sYW5nKDIzMSkuIjwvYT46IixwYWdpbmF0aW9uKDAsJFopLigkWj41PyIgLi4uIjoiIik7Zm9yKCRsPW1heCgxLCRaLTQpOyRsPG1pbigkdmQsJForNSk7JGwrKyl7ZWNobwpwYWdpbmF0aW9uKCRsLCRaKTt9ZWNobygkWis1PCR2ZD8iIC4uLiI6IiIpLigkRGQ/cGFnaW5hdGlvbigkdmQsJFopOicgPGEgaHJlZj0iJy5oKHJlbW92ZV9mcm9tX3VyaSgpLiImcGFnZT1sYXN0IikuJyI+Jy5sYW5nKDIzMikuIjwvYT4iKTt9ZWNobyIgKCIuKCREZD8iIjoifiAiKS5sYW5nKDEyMiwkbGIpLiIpICIuY2hlY2tib3goImFsbCIsMSwwLGxhbmcoMjMzKSkuIlxuIjtpZigkby0+c2VsZWN0Q29tbWFuZFByaW50KCkpe2VjaG8nPGZpZWxkc2V0PjxsZWdlbmQ+JyxsYW5nKDMxKSwnPC9sZWdlbmQ+PGRpdj4KPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IicsbGFuZygxNDEpLCciIHRpdGxlPSInLGxhbmcoMjI2KSwnIiBjbGFzcz0ianNvbmx5Ij4KPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0iZWRpdCIgdmFsdWU9IicsbGFuZygzMSksJyI+CjxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9ImNsb25lIiB2YWx1ZT0iJyxsYW5nKDIzNCksJyI+CjxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9ImRlbGV0ZSIgdmFsdWU9IicsbGFuZygxNDQpLCciIG9uY2xpY2s9InJldHVybiBjb25maXJtKFwnJyxsYW5nKDApOz8+ICgnICsgKHRoaXMuZm9ybVsnYWxsJ10uY2hlY2tlZCA/IDw/cGhwIGVjaG8kbGIsJyA6IGZvcm1DaGVja2VkKHRoaXMsIC9jaGVjay8pKSArIFwnKVwnKTsiPgo8L2Rpdj48L2ZpZWxkc2V0PgonO31wcmludF9maWVsZHNldCgiZXhwb3J0IixsYW5nKDExMykpOyRRYT0kby0+ZHVtcE91dHB1dCgpO2VjaG8oJFFhP2h0bWxfc2VsZWN0KCJvdXRwdXQiLCRRYSwkbmRbIm91dHB1dCJdKS4iICI6IiIpLGh0bWxfc2VsZWN0KCJmb3JtYXQiLCRvLT5kdW1wRm9ybWF0KCksJG5kWyJmb3JtYXQiXSksIiA8aW5wdXQgdHlwZT0nc3VibWl0JyBuYW1lPSdleHBvcnQnIHZhbHVlPSciLmxhbmcoMTEzKS4iJyBvbmNsaWNrPSdldmVudFN0b3AoZXZlbnQpOyc+XG4iLCI8L2Rpdj48L2ZpZWxkc2V0PlxuIjt9aWYoJG8tPnNlbGVjdEltcG9ydFByaW50KCkpe3ByaW50X2ZpZWxkc2V0KCJpbXBvcnQiLGxhbmcoMjM1KSwhJEgpO2VjaG8iPGlucHV0IHR5cGU9J2ZpbGUnIG5hbWU9J2Nzdl9maWxlJz4gIixodG1sX3NlbGVjdCgic2VwYXJhdG9yIixhcnJheSgiY3N2Ij0+IkNTViwiLCJjc3Y7Ij0+IkNTVjsiLCJ0c3YiPT4iVFNWIiksJG5kWyJmb3JtYXQiXSwxKTtlY2hvIiA8aW5wdXQgdHlwZT0nc3VibWl0JyBuYW1lPSdpbXBvcnQnIHZhbHVlPSciLmxhbmcoMjM1KS4iJz4iLCI8aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSd0b2tlbicgdmFsdWU9JyRPJz5cbiIsIjwvZGl2PjwvZmllbGRzZXQ+XG4iO30kby0+c2VsZWN0RW1haWxQcmludChhcnJheV9maWx0ZXIoJGNkLCdzdHJsZW4nKSwkQik7ZWNobyI8L2Zvcm0+XG4iO319fWVsc2VpZihpc3NldCgkX0dFVFsidmFyaWFibGVzIl0pKXskV2I9aXNzZXQoJF9HRVRbInN0YXR1cyJdKTtwYWdlX2hlYWRlcigkV2I/bGFuZyg3NCk6bGFuZyg3MykpOyRTZT0oJFdiP3Nob3dfc3RhdHVzKCk6c2hvd192YXJpYWJsZXMoKSk7aWYoISRTZSl7ZWNobyI8cCBjbGFzcz0nbWVzc2FnZSc+Ii5sYW5nKDgzKS4iXG4iO31lbHNle2VjaG8iPHRhYmxlIGNlbGxzcGFjaW5nPScwJz5cbiI7Zm9yZWFjaCgkU2UKYXMkZD0+JGIpe2VjaG8iPHRyPiIsIjx0aD48Y29kZSBjbGFzcz0nanVzaC0iLiR1LigkV2I/InN0YXR1cyI6InNldCIpLiInPiIuaCgkZCkuIjwvY29kZT4iLCI8dGQ+Ii5uYnNwKCRiKTt9ZWNobyI8L3RhYmxlPlxuIjt9fWVsc2VpZihpc3NldCgkX0dFVFsic2NyaXB0Il0pKXtoZWFkZXIoIkNvbnRlbnQtVHlwZTogdGV4dC9qYXZhc2NyaXB0OyBjaGFyc2V0PXV0Zi04Iik7aWYoJF9HRVRbInNjcmlwdCJdPT0iZGIiKXskaWQ9YXJyYXkoIkRhdGFfbGVuZ3RoIj0+MCwiSW5kZXhfbGVuZ3RoIj0+MCwiRGF0YV9mcmVlIj0+MCk7Zm9yZWFjaCh0YWJsZV9zdGF0dXMoKWFzJHYpeyRTPWpzX2VzY2FwZSgkdlsiTmFtZSJdKTtqc29uX3JvdygiQ29tbWVudC0kUyIsbmJzcCgkdlsiQ29tbWVudCJdKSk7aWYoIWlzX3ZpZXcoJHYpKXtmb3JlYWNoKGFycmF5KCJFbmdpbmUiLCJDb2xsYXRpb24iKWFzJGQpe2pzb25fcm93KCIkZC0kUyIsbmJzcCgkdlskZF0pKTt9Zm9yZWFjaCgkaWQrYXJyYXkoIkF1dG9faW5jcmVtZW50Ij0+MCwiUm93cyI9PjApYXMkZD0+JGIpe2lmKCR2WyRkXSE9IiIpeyRiPW51bWJlcl9mb3JtYXQoJHZbJGRdLDAsJy4nLGxhbmcoMjM2KSk7anNvbl9yb3coIiRkLSRTIiwoJGQ9PSJSb3dzIiYmJHZbIkVuZ2luZSJdPT0iSW5ub0RCIiYmJGI/In4gJGIiOiRiKSk7aWYoaXNzZXQoJGlkWyRkXSkpeyRpZFskZF0rPSgkdlsiRW5naW5lIl0hPSJJbm5vREIifHwkZCE9IkRhdGFfZnJlZSI/JHZbJGRdOjApO319ZWxzZWlmKGFycmF5X2tleV9leGlzdHMoJGQsJHYpKXtqc29uX3JvdygiJGQtJFMiKTt9fX19Zm9yZWFjaCgkaWQKYXMkZD0+JGIpe2pzb25fcm93KCJzdW0tJGQiLG51bWJlcl9mb3JtYXQoJGIsMCwnLicsbGFuZygyMzYpKSk7fWpzb25fcm93KCIiKTt9ZWxzZXtmb3JlYWNoKGNvdW50X3RhYmxlcyhnZXRfZGF0YWJhc2VzKCkpYXMkdD0+JGIpe2pzb25fcm93KCJ0YWJsZXMtIi5qc19lc2NhcGUoJHQpLCRiKTt9anNvbl9yb3coIiIpO31leGl0O31lbHNleyRXZT1hcnJheV9tZXJnZSgoYXJyYXkpJF9QT1NUWyJ0YWJsZXMiXSwoYXJyYXkpJF9QT1NUWyJ2aWV3cyJdKTtpZigkV2UmJiEkbiYmISRfUE9TVFsic2VhcmNoIl0peyRqPXRydWU7JHhhPSIiO2lmKCR1PT0ic3FsIiYmY291bnQoJF9QT1NUWyJ0YWJsZXMiXSk+MSYmKCRfUE9TVFsiZHJvcCJdfHwkX1BPU1RbInRydW5jYXRlIl18fCRfUE9TVFsiY29weSJdKSl7cXVlcmllcygiU0VUIGZvcmVpZ25fa2V5X2NoZWNrcyA9IDAiKTt9aWYoJF9QT1NUWyJ0cnVuY2F0ZSJdKXtpZigkX1BPU1RbInRhYmxlcyJdKXskaj10cnVuY2F0ZV90YWJsZXMoJF9QT1NUWyJ0YWJsZXMiXSk7fSR4YT1sYW5nKDIzNyk7fWVsc2VpZigkX1BPU1RbIm1vdmUiXSl7JGo9bW92ZV90YWJsZXMoKGFycmF5KSRfUE9TVFsidGFibGVzIl0sKGFycmF5KSRfUE9TVFsidmlld3MiXSwkX1BPU1RbInRhcmdldCJdKTskeGE9bGFuZygyMzgpO31lbHNlaWYoJF9QT1NUWyJjb3B5Il0peyRqPWNvcHlfdGFibGVzKChhcnJheSkkX1BPU1RbInRhYmxlcyJdLChhcnJheSkkX1BPU1RbInZpZXdzIl0sJF9QT1NUWyJ0YXJnZXQiXSk7JHhhPWxhbmcoMjM5KTt9ZWxzZWlmKCRfUE9TVFsiZHJvcCJdKXtpZigkX1BPU1RbInZpZXdzIl0peyRqPWRyb3Bfdmlld3MoJF9QT1NUWyJ2aWV3cyJdKTt9aWYoJGomJiRfUE9TVFsidGFibGVzIl0peyRqPWRyb3BfdGFibGVzKCRfUE9TVFsidGFibGVzIl0pO30keGE9bGFuZygyNDApO31lbHNlaWYoJF9QT1NUWyJ0YWJsZXMiXSYmKCRqPXF1ZXJpZXMoKCRfUE9TVFsib3B0aW1pemUiXT8iT1BUSU1JWkUiOigkX1BPU1RbImNoZWNrIl0/IkNIRUNLIjooJF9QT1NUWyJyZXBhaXIiXT8iUkVQQUlSIjoiQU5BTFlaRSIpKSkuIiBUQUJMRSAiLmltcGxvZGUoIiwgIixhcnJheV9tYXAoJ2lkZl9lc2NhcGUnLCRfUE9TVFsidGFibGVzIl0pKSkpKXt3aGlsZSgkYT0kai0+ZmV0Y2hfYXNzb2MoKSl7JHhhLj0iPGI+Ii5oKCRhWyJUYWJsZSJdKS4iPC9iPjogIi5oKCRhWyJNc2dfdGV4dCJdKS4iPGJyPiI7fX1xdWVyaWVzX3JlZGlyZWN0KHN1YnN0cihNRSwwLC0xKSwkeGEsJGopO31wYWdlX2hlYWRlcigoJF9HRVRbIm5zIl09PSIiP2xhbmcoNjcpLiI6ICIuaChEQik6bGFuZyg4MSkuIjogIi5oKCRfR0VUWyJucyJdKSksJG4sdHJ1ZSk7aWYoJG8tPmhvbWVwYWdlKCkpe2lmKCRfR0VUWyJucyJdIT09IiIpe2VjaG8iPGgzPiIubGFuZygyNDEpLiI8L2gzPlxuIjskUmM9dGFibGVzX2xpc3QoKTtpZighJFJjKXtlY2hvIjxwIGNsYXNzPSdtZXNzYWdlJz4iLmxhbmcoNikuIlxuIjt9ZWxzZXtlY2hvIjxmb3JtIGFjdGlvbj0nJyBtZXRob2Q9J3Bvc3QnPlxuIiwiPHA+Ii5sYW5nKDI0MikuIjogPGlucHV0IG5hbWU9J3F1ZXJ5JyB2YWx1ZT0nIi5oKCRfUE9TVFsicXVlcnkiXSkuIic+IDxpbnB1dCB0eXBlPSdzdWJtaXQnIG5hbWU9J3NlYXJjaCcgdmFsdWU9JyIubGFuZygzNikuIic+XG4iO2lmKCRfUE9TVFsic2VhcmNoIl0mJiRfUE9TVFsicXVlcnkiXSE9IiIpe3NlYXJjaF90YWJsZXMoKTt9ZWNobyI8dGFibGUgY2VsbHNwYWNpbmc9JzAnIGNsYXNzPSdub3dyYXAnIG9uY2xpY2s9J3RhYmxlQ2xpY2soZXZlbnQpOyc+XG4iLCc8dGhlYWQ+PHRyIGNsYXNzPSJ3cmFwIj48dGQ+PGlucHV0IGlkPSJjaGVjay1hbGwiIHR5cGU9ImNoZWNrYm94IiBvbmNsaWNrPSJmb3JtQ2hlY2sodGhpcywgL14odGFibGVzfHZpZXdzKVxbLyk7Ij48dGg+Jy5sYW5nKDEwMSkuJzx0ZD4nLmxhbmcoMjQzKS4nPHRkPicubGFuZyg3NykuJzx0ZD4nLmxhbmcoMjQ0KS4nPHRkPicubGFuZygyNDUpLic8dGQ+Jy5sYW5nKDI0NikuJzx0ZD4nLmxhbmcoOTMpLic8dGQ+Jy5sYW5nKDI0NykuKHN1cHBvcnQoImNvbW1lbnQiKT8nPHRkPicubGFuZyg5NSk6JycpLiI8L3RoZWFkPlxuIjtmb3JlYWNoKCRSYwphcyRmPT4kXyl7JGdjPShpc3NldCgkXykmJiFlcmVnaSgidGFibGUiLCRfKSk7ZWNobyc8dHInLm9kZCgpLic+PHRkPicuY2hlY2tib3goKCRnYz8idmlld3NbXSI6InRhYmxlc1tdIiksJGYsaW5fYXJyYXkoJGYsJFdlLHRydWUpLCIiLCJmb3JtVW5jaGVjaygnY2hlY2stYWxsJyk7IiksJzx0aD48YSBocmVmPSInLmgoTUUpLid0YWJsZT0nLnVybGVuY29kZSgkZikuJyI+Jy5oKCRmKS4nPC9hPic7aWYoJGdjKXtlY2hvJzx0ZCBjb2xzcGFuPSI2Ij48YSBocmVmPSInLmgoTUUpLiJ2aWV3PSIudXJsZW5jb2RlKCRmKS4nIj4nLmxhbmcoMTAwKS4nPC9hPicsJzx0ZCBhbGlnbj0icmlnaHQiPjxhIGhyZWY9IicuaChNRSkuInNlbGVjdD0iLnVybGVuY29kZSgkZikuJyI+PzwvYT4nO31lbHNle2ZvcmVhY2goYXJyYXkoIkVuZ2luZSI9PiIiLCJDb2xsYXRpb24iPT4iIiwiRGF0YV9sZW5ndGgiPT4iY3JlYXRlIiwiSW5kZXhfbGVuZ3RoIj0+ImluZGV4ZXMiLCJEYXRhX2ZyZWUiPT4iZWRpdCIsIkF1dG9faW5jcmVtZW50Ij0+ImF1dG9faW5jcmVtZW50PTEmY3JlYXRlIiwiUm93cyI9PiJzZWxlY3QiKWFzJGQ9PiR5KXtlY2hvKCR5PyI8dGQgYWxpZ249J3JpZ2h0Jz48YSBocmVmPSciLmgoTUUuIiR5PSIpLnVybGVuY29kZSgkZikuIicgaWQ9JyRkLSIuaCgkZikuIic+PzwvYT4iOiI8dGQgaWQ9JyRkLSIuaCgkZikuIic+Jm5ic3A7Iik7fX1lY2hvKHN1cHBvcnQoImNvbW1lbnQiKT8iPHRkIGlkPSdDb21tZW50LSIuaCgkZikuIic+Jm5ic3A7IjoiIik7fWVjaG8iPHRyPjx0ZD4mbmJzcDs8dGg+Ii5sYW5nKDIyMyxjb3VudCgkUmMpKSwiPHRkPiIubmJzcCgkdT09InNxbCI/JGctPnJlc3VsdCgiU0VMRUNUIEBAc3RvcmFnZV9lbmdpbmUiKToiIiksIjx0ZD4iLm5ic3AoZGJfY29sbGF0aW9uKERCLGNvbGxhdGlvbnMoKSkpO2ZvcmVhY2goYXJyYXkoIkRhdGFfbGVuZ3RoIiwiSW5kZXhfbGVuZ3RoIiwiRGF0YV9mcmVlIilhcyRkKXtlY2hvIjx0ZCBhbGlnbj0ncmlnaHQnIGlkPSdzdW0tJGQnPiZuYnNwOyI7fWVjaG8iPC90YWJsZT5cbiI7aWYoIWluZm9ybWF0aW9uX3NjaGVtYShEQikpe2VjaG8iPHA+Ii4oJHU9PSJzcWwiPyI8aW5wdXQgdHlwZT0nc3VibWl0JyB2YWx1ZT0nIi5sYW5nKDI0OCkuIic+IDxpbnB1dCB0eXBlPSdzdWJtaXQnIG5hbWU9J29wdGltaXplJyB2YWx1ZT0nIi5sYW5nKDI0OSkuIic+IDxpbnB1dCB0eXBlPSdzdWJtaXQnIG5hbWU9J2NoZWNrJyB2YWx1ZT0nIi5sYW5nKDI1MCkuIic+IDxpbnB1dCB0eXBlPSdzdWJtaXQnIG5hbWU9J3JlcGFpcicgdmFsdWU9JyIubGFuZygyNTEpLiInPiAiOiIiKS4iPGlucHV0IHR5cGU9J3N1Ym1pdCcgbmFtZT0ndHJ1bmNhdGUnIHZhbHVlPSciLmxhbmcoMjUyKS4iJyIuY29uZmlybSgiZm9ybUNoZWNrZWQodGhpcywgL3RhYmxlcy8pIikuIj4gPGlucHV0IHR5cGU9J3N1Ym1pdCcgbmFtZT0nZHJvcCcgdmFsdWU9JyIubGFuZyg3OSkuIiciLmNvbmZpcm0oImZvcm1DaGVja2VkKHRoaXMsIC90YWJsZXN8dmlld3MvKSIsMSkuIj5cbiI7JEE9KHN1cHBvcnQoInNjaGVtZSIpP3NjaGVtYXMoKTpnZXRfZGF0YWJhc2VzKCkpO2lmKGNvdW50KCRBKSE9MSYmJHUhPSJzcWxpdGUiKXskdD0oaXNzZXQoJF9QT1NUWyJ0YXJnZXQiXSk/JF9QT1NUWyJ0YXJnZXQiXTooc3VwcG9ydCgic2NoZW1lIik/JF9HRVRbIm5zIl06REIpKTtlY2hvIjxwPiIubGFuZygyNTMpLiI6ICIsKCRBP2h0bWxfc2VsZWN0KCJ0YXJnZXQiLCRBLCR0KTonPGlucHV0IG5hbWU9InRhcmdldCIgdmFsdWU9IicuaCgkdCkuJyI+JyksIiA8aW5wdXQgdHlwZT0nc3VibWl0JyBuYW1lPSdtb3ZlJyB2YWx1ZT0nIi5sYW5nKDI1NCkuIicgb25jbGljaz0nZXZlbnRTdG9wKGV2ZW50KTsnPiIsKHN1cHBvcnQoImNvcHkiKT8iIDxpbnB1dCB0eXBlPSdzdWJtaXQnIG5hbWU9J2NvcHknIHZhbHVlPSciLmxhbmcoMjU1KS4iJyBvbmNsaWNrPSdldmVudFN0b3AoZXZlbnQpOyc+IjoiIiksIlxuIjt9ZWNobyI8aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSd0b2tlbicgdmFsdWU9JyRPJz5cbiI7fWVjaG8iPC9mb3JtPlxuIjt9ZWNobyc8cD48YSBocmVmPSInLmgoTUUpLidjcmVhdGU9Ij4nLmxhbmcoMTQ4KS4iPC9hPlxuIjtpZihzdXBwb3J0KCJ2aWV3Iikpe2VjaG8nPGEgaHJlZj0iJy5oKE1FKS4ndmlldz0iPicubGFuZygxODEpLiI8L2E+XG4iO31pZihzdXBwb3J0KCJyb3V0aW5lIikpe2VjaG8iPGgzPiIubGFuZygxMTYpLiI8L2gzPlxuIjskUGU9cm91dGluZXMoKTtpZigkUGUpe2VjaG8iPHRhYmxlIGNlbGxzcGFjaW5nPScwJz5cbiIsJzx0aGVhZD48dHI+PHRoPicubGFuZygxNTkpLic8dGQ+Jy5sYW5nKDkwKS4nPHRkPicubGFuZygxOTgpLiI8dGQ+Jm5ic3A7PC90aGVhZD5cbiI7b2RkKCcnKTtmb3JlYWNoKCRQZQphcyRhKXtlY2hvJzx0cicub2RkKCkuJz4nLCc8dGg+PGEgaHJlZj0iJy5oKE1FKS4oJGFbIlJPVVRJTkVfVFlQRSJdIT0iUFJPQ0VEVVJFIj8nY2FsbGY9JzonY2FsbD0nKS51cmxlbmNvZGUoJGFbIlJPVVRJTkVfTkFNRSJdKS4nIj4nLmgoJGFbIlJPVVRJTkVfTkFNRSJdKS4nPC9hPicsJzx0ZD4nLmgoJGFbIlJPVVRJTkVfVFlQRSJdKSwnPHRkPicuaCgkYVsiRFREX0lERU5USUZJRVIiXSksJzx0ZD48YSBocmVmPSInLmgoTUUpLigkYVsiUk9VVElORV9UWVBFIl0hPSJQUk9DRURVUkUiPydmdW5jdGlvbj0nOidwcm9jZWR1cmU9JykudXJsZW5jb2RlKCRhWyJST1VUSU5FX05BTUUiXSkuJyI+Jy5sYW5nKDEwOCkuIjwvYT4iO31lY2hvIjwvdGFibGU+XG4iO31lY2hvJzxwPicuKHN1cHBvcnQoInByb2NlZHVyZSIpPyc8YSBocmVmPSInLmgoTUUpLidwcm9jZWR1cmU9Ij4nLmxhbmcoMTk3KS4nPC9hPiAnOicnKS4nPGEgaHJlZj0iJy5oKE1FKS4nZnVuY3Rpb249Ij4nLmxhbmcoMTk2KS4iPC9hPlxuIjt9aWYoc3VwcG9ydCgic2VxdWVuY2UiKSl7ZWNobyI8aDM+Ii5sYW5nKDI1NikuIjwvaDM+XG4iOyRPZT1nZXRfdmFscygiU0VMRUNUIHNlcXVlbmNlX25hbWUgRlJPTSBpbmZvcm1hdGlvbl9zY2hlbWEuc2VxdWVuY2VzIFdIRVJFIHNlcXVlbmNlX3NjaGVtYSA9IGN1cnJlbnRfc2NoZW1hKCkiKTtpZigkT2Upe2VjaG8iPHRhYmxlIGNlbGxzcGFjaW5nPScwJz5cbiIsIjx0aGVhZD48dHI+PHRoPiIubGFuZygxNTkpLiI8L3RoZWFkPlxuIjtvZGQoJycpO2ZvcmVhY2goJE9lCmFzJGIpe2VjaG8iPHRyIi5vZGQoKS4iPjx0aD48YSBocmVmPSciLmgoTUUpLiJzZXF1ZW5jZT0iLnVybGVuY29kZSgkYikuIic+Ii5oKCRiKS4iPC9hPlxuIjt9ZWNobyI8L3RhYmxlPlxuIjt9ZWNobyI8cD48YSBocmVmPSciLmgoTUUpLiJzZXF1ZW5jZT0nPiIubGFuZygyMDMpLiI8L2E+XG4iO31pZihzdXBwb3J0KCJ0eXBlIikpe2VjaG8iPGgzPiIubGFuZygxMSkuIjwvaDM+XG4iOyRSPXR5cGVzKCk7aWYoJFIpe2VjaG8iPHRhYmxlIGNlbGxzcGFjaW5nPScwJz5cbiIsIjx0aGVhZD48dHI+PHRoPiIubGFuZygxNTkpLiI8L3RoZWFkPlxuIjtvZGQoJycpO2ZvcmVhY2goJFIKYXMkYil7ZWNobyI8dHIiLm9kZCgpLiI+PHRoPjxhIGhyZWY9JyIuaChNRSkuInR5cGU9Ii51cmxlbmNvZGUoJGIpLiInPiIuaCgkYikuIjwvYT5cbiI7fWVjaG8iPC90YWJsZT5cbiI7fWVjaG8iPHA+PGEgaHJlZj0nIi5oKE1FKS4idHlwZT0nPiIubGFuZygyMDcpLiI8L2E+XG4iO31pZihzdXBwb3J0KCJldmVudCIpKXtlY2hvIjxoMz4iLmxhbmcoMTE3KS4iPC9oMz5cbiI7JEg9Z2V0X3Jvd3MoIlNIT1cgRVZFTlRTIik7aWYoJEgpe2VjaG8iPHRhYmxlIGNlbGxzcGFjaW5nPScwJz5cbiIsIjx0aGVhZD48dHI+PHRoPiIubGFuZygxNTkpLiI8dGQ+Ii5sYW5nKDI1NykuIjx0ZD4iLmxhbmcoMTg3KS4iPHRkPiIubGFuZygxODgpLiI8L3RoZWFkPlxuIjtmb3JlYWNoKCRICmFzJGEpe2VjaG8iPHRyPiIsJzx0aD48YSBocmVmPSInLmgoTUUpLidldmVudD0nLnVybGVuY29kZSgkYVsiTmFtZSJdKS4nIj4nLmgoJGFbIk5hbWUiXSkuIjwvYT4iLCI8dGQ+Ii4oJGFbIkV4ZWN1dGUgYXQiXT9sYW5nKDI1OCkuIjx0ZD4iLiRhWyJFeGVjdXRlIGF0Il06bGFuZygxODkpLiIgIi4kYVsiSW50ZXJ2YWwgdmFsdWUiXS4iICIuJGFbIkludGVydmFsIGZpZWxkIl0uIjx0ZD4kYVtTdGFydHNdIiksIjx0ZD4kYVtFbmRzXSI7fWVjaG8iPC90YWJsZT5cbiI7fWVjaG8nPHA+PGEgaHJlZj0iJy5oKE1FKS4nZXZlbnQ9Ij4nLmxhbmcoMTg2KS4iPC9hPlxuIjt9aWYoJFJjKXtlY2hvIjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz5hamF4U2V0SHRtbCgnIi5qc19lc2NhcGUoTUUpLiJzY3JpcHQ9ZGInKTs8L3NjcmlwdD5cbiI7fX19fXBhZ2VfZm9vdGVyKCk7]]></data>
	</file>
	<file>
	  <filename>/adminer/editor-3.3.2.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqIEFkbWluZXIgRWRpdG9yIC0gQ29tcGFjdCBkYXRhYmFzZSBlZGl0b3IKKiBAbGluayBodHRwOi8vd3d3LmFkbWluZXIub3JnLwoqIEBhdXRob3IgSmFrdWIgVnJhbmEsIGh0dHA6Ly93d3cudnJhbmEuY3ovCiogQGNvcHlyaWdodCAyMDA5IEpha3ViIFZyYW5hCiogQGxpY2Vuc2UgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAoqIEBsaWNlbnNlIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMi4wLmh0bWwgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIHZlcnNpb24gMiAob25lIG9yIG90aGVyKQoqIEB2ZXJzaW9uIDMuMy4yCiovZXJyb3JfcmVwb3J0aW5nKDYxMzUpOyROYj0oIWVyZWcoJ14odW5zYWZlX3Jhdyk/JCcsaW5pX2dldCgiZmlsdGVyLmRlZmF1bHQiKSkpO2lmKCROYnx8aW5pX2dldCgiZmlsdGVyLmRlZmF1bHRfZmxhZ3MiKSl7Zm9yZWFjaChhcnJheSgnX0dFVCcsJ19QT1NUJywnX0NPT0tJRScsJ19TRVJWRVInKWFzJGEpeyRnZD1maWx0ZXJfaW5wdXRfYXJyYXkoY29uc3RhbnQoIklOUFVUJGEiKSxGSUxURVJfVU5TQUZFX1JBVyk7aWYoJGdkKXskJGE9JGdkO319fWlmKGlzc2V0KCRfR0VUWyJmaWxlIl0pKXtoZWFkZXIoIkV4cGlyZXM6ICIuZ21kYXRlKCJELCBkIE0gWSBIOmk6cyIsdGltZSgpKzM2NSoyNCo2MCo2MCkuIiBHTVQiKTtpZigkX0dFVFsiZmlsZSJdPT0iZmF2aWNvbi5pY28iKXtoZWFkZXIoIkNvbnRlbnQtVHlwZTogaW1hZ2UveC1pY29uIik7ZWNobwpiYXNlNjRfZGVjb2RlKCJBQUFCQUFFQUVCQVFBQUVBQkFBb0FRQUFGZ0FBQUNnQUFBQVFBQUFBSUFBQUFBRUFCQUFBQUFBQXdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBLy8vL0FBQUEvd0JoVGdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFUkVSQUFBQUFBRVRNekVRQUFBQUFURVJFeEFBQUFBQk1SRVRFQUFBQUFFeEVSTVFBQUFBQVRFUkV4QUFBQUFCTVJFVEVBQUFBQUV6TXpNUkVSRVFBVEVSRXhFaEVoQUJFek14RWhFUkVBQVJFUkVoRVJJUkFBQUFBUklSRVNFQUFBQUFFU0VpRVFBQUFBQUJFUkVRQUFBQUFBQUFBQUQvLzlVQXdQL1ZBSUIvQUFDQWYvQUFnSCtrQUlCL2dBQ0Fmd0FBZ0g4QUFJQUJBQUNBQWY4QWdBSC9BTUFBL3dEK0FQOEEvd0FJQWYrQjFRRC8vOVVBIik7fWVsc2VpZigkX0dFVFsiZmlsZSJdPT0iZGVmYXVsdC5jc3MiKXtoZWFkZXIoIkNvbnRlbnQtVHlwZTogdGV4dC9jc3M7IGNoYXJzZXQ9dXRmLTgiKTtlY2hvJ2JvZHl7Y29sb3I6IzAwMDtiYWNrZ3JvdW5kOiNmZmY7Zm9udDo5MCUvMS4yNSBWZXJkYW5hLEFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmO21hcmdpbjowO31he2NvbG9yOmJsdWU7fWE6dmlzaXRlZHtjb2xvcjpuYXZ5O31hOmhvdmVye2NvbG9yOnJlZDt9aDF7Zm9udC1zaXplOjE1MCU7bWFyZ2luOjA7cGFkZGluZzouOGVtIDFlbTtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjOTk5O2ZvbnQtd2VpZ2h0Om5vcm1hbDtjb2xvcjojNzc3O2JhY2tncm91bmQ6I2VlZTt9aDJ7Zm9udC1zaXplOjE1MCU7bWFyZ2luOjAgMCAyMHB4IC0xOHB4O3BhZGRpbmc6LjhlbSAxZW07Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzAwMDtjb2xvcjojMDAwO2ZvbnQtd2VpZ2h0Om5vcm1hbDtiYWNrZ3JvdW5kOiNkZGY7fWgze2ZvbnQtd2VpZ2h0Om5vcm1hbDtmb250LXNpemU6MTMwJTttYXJnaW46MWVtIDAgMDt9Zm9ybXttYXJnaW46MDt9dGFibGV7bWFyZ2luOjFlbSAyMHB4IDAgMDtib3JkZXI6MDtib3JkZXItdG9wOjFweCBzb2xpZCAjOTk5O2JvcmRlci1sZWZ0OjFweCBzb2xpZCAjOTk5O2ZvbnQtc2l6ZTo5MCU7fXRkLHRoe2JvcmRlcjowO2JvcmRlci1yaWdodDoxcHggc29saWQgIzk5OTtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjOTk5O3BhZGRpbmc6LjJlbSAuM2VtO310aHtiYWNrZ3JvdW5kOiNlZWU7dGV4dC1hbGlnbjpsZWZ0O310aGVhZCB0aHt0ZXh0LWFsaWduOmNlbnRlcjt9dGhlYWQgdGQsdGhlYWQgdGh7YmFja2dyb3VuZDojZGRmO31maWVsZHNldHtkaXNwbGF5OmlubGluZTt2ZXJ0aWNhbC1hbGlnbjp0b3A7cGFkZGluZzouNWVtIC44ZW07bWFyZ2luOi44ZW0gLjVlbSAwIDA7Ym9yZGVyOjFweCBzb2xpZCAjOTk5O31we21hcmdpbjouOGVtIDIwcHggMCAwO31pbWd7dmVydGljYWwtYWxpZ246bWlkZGxlO2JvcmRlcjowO310ZCBpbWd7bWF4LXdpZHRoOjIwMHB4O21heC1oZWlnaHQ6MjAwcHg7fWNvZGV7YmFja2dyb3VuZDojZWVlO310cjpob3ZlciB0ZCx0cjpob3ZlciB0aHtiYWNrZ3JvdW5kOiNkZGY7fXByZXttYXJnaW46MWVtIDAgMDt9aW5wdXRbdHlwZT1pbWFnZV17dmVydGljYWwtYWxpZ246bWlkZGxlO30udmVyc2lvbntjb2xvcjojNzc3O2ZvbnQtc2l6ZTo2NyU7fS5qcyAuaGlkZGVuLC5ub2pzIC5qc29ubHl7ZGlzcGxheTpub25lO30ubm93cmFwIHRkLC5ub3dyYXAgdGgsdGQubm93cmFwe3doaXRlLXNwYWNlOnByZTt9LndyYXAgdGR7d2hpdGUtc3BhY2U6bm9ybWFsO30uZXJyb3J7Y29sb3I6cmVkO2JhY2tncm91bmQ6I2ZlZTt9LmVycm9yIGJ7YmFja2dyb3VuZDojZmZmO2ZvbnQtd2VpZ2h0Om5vcm1hbDt9Lm1lc3NhZ2V7Y29sb3I6Z3JlZW47YmFja2dyb3VuZDojZWZlO30uZXJyb3IsLm1lc3NhZ2V7cGFkZGluZzouNWVtIC44ZW07bWFyZ2luOjFlbSAyMHB4IDAgMDt9LmNoYXJ7Y29sb3I6IzAwN0YwMDt9LmRhdGV7Y29sb3I6IzdGMDA3Rjt9LmVudW17Y29sb3I6IzAwN0Y3Rjt9LmJpbmFyeXtjb2xvcjpyZWQ7fS5vZGQgdGR7YmFja2dyb3VuZDojRjVGNUY1O30udGltZXtjb2xvcjpzaWx2ZXI7Zm9udC1zaXplOjcwJTt9LmZ1bmN0aW9ue3RleHQtYWxpZ246cmlnaHQ7fS5udW1iZXJ7dGV4dC1hbGlnbjpyaWdodDt9LmRhdGV0aW1le3RleHQtYWxpZ246cmlnaHQ7fS50eXBle3dpZHRoOjE1ZXg7d2lkdGg6YXV0b1xcOTt9Lm9wdGlvbnMgc2VsZWN0e3dpZHRoOjIwZXg7d2lkdGg6YXV0b1xcOTt9LmFjdGl2ZXtmb250LXdlaWdodDpib2xkO30uc3FsYXJlYXt3aWR0aDo5OCU7fSNtZW51e3Bvc2l0aW9uOmFic29sdXRlO21hcmdpbjoxMHB4IDAgMDtwYWRkaW5nOjAgMCAzMHB4IDA7dG9wOjJlbTtsZWZ0OjA7d2lkdGg6MTllbTtvdmVyZmxvdzphdXRvO292ZXJmbG93LXk6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt9I21lbnUgcHtwYWRkaW5nOi44ZW0gMWVtO21hcmdpbjowO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNjY2M7fSNjb250ZW50e21hcmdpbjoyZW0gMCAwIDIxZW07cGFkZGluZzoxMHB4IDIwcHggMjBweCAwO30jbGFuZ3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7bGluZS1oZWlnaHQ6MS44ZW07cGFkZGluZzouM2VtIDFlbTt9I2JyZWFkY3J1bWJ7d2hpdGUtc3BhY2U6bm93cmFwO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MjFlbTtiYWNrZ3JvdW5kOiNlZWU7aGVpZ2h0OjJlbTtsaW5lLWhlaWdodDoxLjhlbTtwYWRkaW5nOjAgMWVtO21hcmdpbjowIDAgMCAtMThweDt9I2xvYWRlcntwb3NpdGlvbjpmaXhlZDt0b3A6MDtsZWZ0OjE4ZW07ei1pbmRleDoxO30jaDF7Y29sb3I6Izc3Nzt0ZXh0LWRlY29yYXRpb246bm9uZTtmb250LXN0eWxlOml0YWxpYzt9I3ZlcnNpb257Zm9udC1zaXplOjY3JTtjb2xvcjpyZWQ7fSNzY2hlbWF7bWFyZ2luLWxlZnQ6NjBweDtwb3NpdGlvbjpyZWxhdGl2ZTt9I3NjaGVtYSAudGFibGV7Ym9yZGVyOjFweCBzb2xpZCBzaWx2ZXI7cGFkZGluZzowIDJweDtjdXJzb3I6bW92ZTtwb3NpdGlvbjphYnNvbHV0ZTt9I3NjaGVtYSAucmVmZXJlbmNlc3twb3NpdGlvbjphYnNvbHV0ZTt9LnJ0bCBoMnttYXJnaW46MCAtMThweCAyMHB4IDA7fS5ydGwgcCwucnRsIHRhYmxlLC5ydGwgLmVycm9yLC5ydGwgLm1lc3NhZ2V7bWFyZ2luOjFlbSAwIDAgMjBweDt9LnJ0bCAjY29udGVudHttYXJnaW46MmVtIDIxZW0gMCAwO3BhZGRpbmc6MTBweCAwIDIwcHggMjBweDt9LnJ0bCAjYnJlYWRjcnVtYntsZWZ0OmF1dG87cmlnaHQ6MjFlbTttYXJnaW46MCAtMThweCAwIDA7fS5ydGwgI2xhbmcsLnJ0bCAjbWVudXtsZWZ0OmF1dG87cmlnaHQ6MDt9QG1lZGlhIHByaW50eyNsYW5nLCNtZW51e2Rpc3BsYXk6bm9uZTt9I2NvbnRlbnR7bWFyZ2luLWxlZnQ6MWVtO30jYnJlYWRjcnVtYntsZWZ0OjFlbTt9Lm5vd3JhcCB0ZCwubm93cmFwIHRoLHRkLm5vd3JhcHt3aGl0ZS1zcGFjZTpub3JtYWw7fX0nO31lbHNlaWYoJF9HRVRbImZpbGUiXT09ImZ1bmN0aW9ucy5qcyIpe2hlYWRlcigiQ29udGVudC1UeXBlOiB0ZXh0L2phdmFzY3JpcHQ7IGNoYXJzZXQ9dXRmLTgiKTs/PgpmdW5jdGlvbiB0b2dnbGUoaWQpe3ZhciBlbD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7ZWwuY2xhc3NOYW1lPShlbC5jbGFzc05hbWU9PSdoaWRkZW4nPycnOidoaWRkZW4nKTtyZXR1cm4gdHJ1ZTt9CmZ1bmN0aW9uIGNvb2tpZShhc3NpZ24sZGF5cyl7dmFyIGRhdGU9bmV3IERhdGUoKTtkYXRlLnNldERhdGUoZGF0ZS5nZXREYXRlKCkrZGF5cyk7ZG9jdW1lbnQuY29va2llPWFzc2lnbisnOyBleHBpcmVzPScrZGF0ZTt9CmZ1bmN0aW9uIHZlcmlmeVZlcnNpb24oKXtjb29raWUoJ2FkbWluZXJfdmVyc2lvbj0wJywxKTt2YXIgc2NyaXB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO3NjcmlwdC5zcmM9bG9jYXRpb24ucHJvdG9jb2wrJy8vd3d3LmFkbWluZXIub3JnL3ZlcnNpb24ucGhwJztkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHNjcmlwdCk7fQpmdW5jdGlvbiBzZWxlY3RWYWx1ZShzZWxlY3Qpe3ZhciBzZWxlY3RlZD1zZWxlY3Qub3B0aW9uc1tzZWxlY3Quc2VsZWN0ZWRJbmRleF07cmV0dXJuKChzZWxlY3RlZC5hdHRyaWJ1dGVzLnZhbHVlfHx7fSkuc3BlY2lmaWVkP3NlbGVjdGVkLnZhbHVlOnNlbGVjdGVkLnRleHQpO30KZnVuY3Rpb24gZm9ybUNoZWNrKGVsLG5hbWUpe3ZhciBlbGVtcz1lbC5mb3JtLmVsZW1lbnRzO2Zvcih2YXIgaT0wO2k8ZWxlbXMubGVuZ3RoO2krKyl7aWYobmFtZS50ZXN0KGVsZW1zW2ldLm5hbWUpKXtlbGVtc1tpXS5jaGVja2VkPWVsLmNoZWNrZWQ7fX19CmZ1bmN0aW9uIGZvcm1VbmNoZWNrKGlkKXtkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCkuY2hlY2tlZD1mYWxzZTt9CmZ1bmN0aW9uIGZvcm1DaGVja2VkKGVsLG5hbWUpe3ZhciBjaGVja2VkPTA7dmFyIGVsZW1zPWVsLmZvcm0uZWxlbWVudHM7Zm9yKHZhciBpPTA7aTxlbGVtcy5sZW5ndGg7aSsrKXtpZihuYW1lLnRlc3QoZWxlbXNbaV0ubmFtZSkmJmVsZW1zW2ldLmNoZWNrZWQpe2NoZWNrZWQrKzt9fQpyZXR1cm4gY2hlY2tlZDt9CmZ1bmN0aW9uIHRhYmxlQ2xpY2soZXZlbnQpe3ZhciBlbD1ldmVudC50YXJnZXR8fGV2ZW50LnNyY0VsZW1lbnQ7d2hpbGUoIS9edHIkL2kudGVzdChlbC50YWdOYW1lKSl7aWYoL14odGFibGV8YXxpbnB1dHx0ZXh0YXJlYSkkL2kudGVzdChlbC50YWdOYW1lKSl7cmV0dXJuO30KZWw9ZWwucGFyZW50Tm9kZTt9CmVsPWVsLmZpcnN0Q2hpbGQuZmlyc3RDaGlsZDtlbC5jbGljayYmZWwuY2xpY2soKTtlbC5vbmNsaWNrJiZlbC5vbmNsaWNrKCk7fQpmdW5jdGlvbiBzZXRIdG1sKGlkLGh0bWwpe3ZhciBlbD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7aWYoZWwpe2lmKGh0bWw9PXVuZGVmaW5lZCl7ZWwucGFyZW50Tm9kZS5pbm5lckhUTUw9JyZuYnNwOyc7fWVsc2V7ZWwuaW5uZXJIVE1MPWh0bWw7fX19CmZ1bmN0aW9uIG5vZGVQb3NpdGlvbihlbCl7dmFyIHBvcz0wO3doaWxlKGVsPWVsLnByZXZpb3VzU2libGluZyl7cG9zKys7fQpyZXR1cm4gcG9zO30KZnVuY3Rpb24gcGFnZUNsaWNrKGhyZWYscGFnZSxldmVudCl7aWYoIWlzTmFOKHBhZ2UpJiZwYWdlKXtocmVmKz0ocGFnZSE9MT8nJnBhZ2U9JysocGFnZS0xKTonJyk7aWYoIWFqYXhTZW5kKGhyZWYpKXtsb2NhdGlvbi5ocmVmPWhyZWY7fX19CmZ1bmN0aW9uIHNlbGVjdEFkZFJvdyhmaWVsZCl7ZmllbGQub25jaGFuZ2U9ZnVuY3Rpb24oKXt9O3ZhciByb3c9ZmllbGQucGFyZW50Tm9kZS5jbG9uZU5vZGUodHJ1ZSk7dmFyIHNlbGVjdHM9cm93LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzZWxlY3QnKTtmb3IodmFyIGk9MDtpPHNlbGVjdHMubGVuZ3RoO2krKyl7c2VsZWN0c1tpXS5uYW1lPXNlbGVjdHNbaV0ubmFtZS5yZXBsYWNlKC9bYS16XVxbXGQrLywnJCYxJyk7c2VsZWN0c1tpXS5zZWxlY3RlZEluZGV4PTA7fQp2YXIgaW5wdXRzPXJvdy5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaW5wdXQnKTtpZihpbnB1dHMubGVuZ3RoKXtpbnB1dHNbMF0ubmFtZT1pbnB1dHNbMF0ubmFtZS5yZXBsYWNlKC9bYS16XVxbXGQrLywnJCYxJyk7aW5wdXRzWzBdLnZhbHVlPScnO2lucHV0c1swXS5jbGFzc05hbWU9Jyc7fQpmaWVsZC5wYXJlbnROb2RlLnBhcmVudE5vZGUuYXBwZW5kQ2hpbGQocm93KTt9CmZ1bmN0aW9uIGJvZHlLZXlkb3duKGV2ZW50LGJ1dHRvbil7dmFyIHRhcmdldD1ldmVudC50YXJnZXR8fGV2ZW50LnNyY0VsZW1lbnQ7aWYoZXZlbnQuY3RybEtleSYmKGV2ZW50LmtleUNvZGU9PTEzfHxldmVudC5rZXlDb2RlPT0xMCkmJiFldmVudC5hbHRLZXkmJiFldmVudC5tZXRhS2V5JiYvc2VsZWN0fHRleHRhcmVhfGlucHV0L2kudGVzdCh0YXJnZXQudGFnTmFtZSkpe3RhcmdldC5ibHVyKCk7aWYoIWFqYXhGb3JtKHRhcmdldC5mb3JtLChidXR0b24/YnV0dG9uKyc9MSc6JycpKSl7aWYoYnV0dG9uKXt0YXJnZXQuZm9ybVtidXR0b25dLmNsaWNrKCk7fWVsc2V7dGFyZ2V0LmZvcm0uc3VibWl0KCk7fX0KcmV0dXJuIGZhbHNlO30KcmV0dXJuIHRydWU7fQpmdW5jdGlvbiBlZGl0aW5nS2V5ZG93bihldmVudCl7aWYoKGV2ZW50LmtleUNvZGU9PTQwfHxldmVudC5rZXlDb2RlPT0zOCkmJmV2ZW50LmN0cmxLZXkmJiFldmVudC5hbHRLZXkmJiFldmVudC5tZXRhS2V5KXt2YXIgdGFyZ2V0PWV2ZW50LnRhcmdldHx8ZXZlbnQuc3JjRWxlbWVudDt2YXIgc2libGluZz0oZXZlbnQua2V5Q29kZT09NDA/J25leHRTaWJsaW5nJzoncHJldmlvdXNTaWJsaW5nJyk7dmFyIGVsPXRhcmdldC5wYXJlbnROb2RlLnBhcmVudE5vZGVbc2libGluZ107aWYoZWwmJigvXnRyJC9pLnRlc3QoZWwudGFnTmFtZSl8fChlbD1lbFtzaWJsaW5nXSkpJiYvXnRyJC9pLnRlc3QoZWwudGFnTmFtZSkmJihlbD1lbC5jaGlsZE5vZGVzW25vZGVQb3NpdGlvbih0YXJnZXQucGFyZW50Tm9kZSldKSYmKGVsPWVsLmNoaWxkTm9kZXNbbm9kZVBvc2l0aW9uKHRhcmdldCldKSl7ZWwuZm9jdXMoKTt9CnJldHVybiBmYWxzZTt9CmlmKGV2ZW50LnNoaWZ0S2V5JiYhYm9keUtleWRvd24oZXZlbnQsJ2luc2VydCcpKXtldmVudFN0b3AoZXZlbnQpO3JldHVybiBmYWxzZTt9CnJldHVybiB0cnVlO30KZnVuY3Rpb24gZnVuY3Rpb25DaGFuZ2Uoc2VsZWN0KXt2YXIgaW5wdXQ9c2VsZWN0LmZvcm1bc2VsZWN0Lm5hbWUucmVwbGFjZSgvXmZ1bmN0aW9uLywnZmllbGRzJyldO2lmKHNlbGVjdFZhbHVlKHNlbGVjdCkpe2lmKGlucHV0Lm9yaWdNYXhMZW5ndGg9PT11bmRlZmluZWQpe2lucHV0Lm9yaWdNYXhMZW5ndGg9aW5wdXQubWF4TGVuZ3RoO30KaW5wdXQucmVtb3ZlQXR0cmlidXRlKCdtYXhsZW5ndGgnKTt9ZWxzZSBpZihpbnB1dC5vcmlnTWF4TGVuZ3RoPj0wKXtpbnB1dC5tYXhMZW5ndGg9aW5wdXQub3JpZ01heExlbmd0aDt9fQpmdW5jdGlvbiBhamF4KHVybCxjYWxsYmFjayxkYXRhKXt2YXIgeG1saHR0cD0od2luZG93LlhNTEh0dHBSZXF1ZXN0P25ldyBYTUxIdHRwUmVxdWVzdCgpOih3aW5kb3cuQWN0aXZlWE9iamVjdD9uZXcgQWN0aXZlWE9iamVjdCgnTWljcm9zb2Z0LlhNTEhUVFAnKTpmYWxzZSkpO2lmKHhtbGh0dHApe3htbGh0dHAub3BlbigoZGF0YT8nUE9TVCc6J0dFVCcpLHVybCk7aWYoZGF0YSl7eG1saHR0cC5zZXRSZXF1ZXN0SGVhZGVyKCdDb250ZW50LVR5cGUnLCdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnKTt9CnhtbGh0dHAuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsJ1hNTEh0dHBSZXF1ZXN0Jyk7eG1saHR0cC5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rpb24oKXtpZih4bWxodHRwLnJlYWR5U3RhdGU9PTQpe2NhbGxiYWNrKHhtbGh0dHApO319O3htbGh0dHAuc2VuZChkYXRhKTt9CnJldHVybiB4bWxodHRwO30KZnVuY3Rpb24gYWpheFNldEh0bWwodXJsKXtyZXR1cm4gYWpheCh1cmwsZnVuY3Rpb24oeG1saHR0cCl7aWYoeG1saHR0cC5zdGF0dXMpe3ZhciBkYXRhPWV2YWwoJygnK3htbGh0dHAucmVzcG9uc2VUZXh0KycpJyk7Zm9yKHZhciBrZXkgaW4gZGF0YSl7c2V0SHRtbChrZXksZGF0YVtrZXldKTt9fX0pO30KdmFyIG9yaWdpbmFsRmF2aWNvbjtmdW5jdGlvbiByZXBsYWNlRmF2aWNvbihocmVmKXt2YXIgZmF2aWNvbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZmF2aWNvbicpO2lmKGZhdmljb24pe2Zhdmljb24uaHJlZj1ocmVmO2Zhdmljb24ucGFyZW50Tm9kZS5hcHBlbmRDaGlsZChmYXZpY29uKTt9fQp2YXIgYWpheFN0YXRlPTA7ZnVuY3Rpb24gYWpheFNlbmQodXJsLGRhdGEscG9wU3RhdGUsbm9zY3JvbGwpe2lmKCFoaXN0b3J5LnB1c2hTdGF0ZSl7cmV0dXJuIGZhbHNlO30KdmFyIGN1cnJlbnRTdGF0ZT0rK2FqYXhTdGF0ZTtvbmJsdXI9ZnVuY3Rpb24oKXtpZighb3JpZ2luYWxGYXZpY29uKXtvcmlnaW5hbEZhdmljb249KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmYXZpY29uJyl8fHt9KS5ocmVmO30KcmVwbGFjZUZhdmljb24obG9jYXRpb24ucGF0aG5hbWUrJz9maWxlPWxvYWRlci5naWYmYW1wO3ZlcnNpb249My4zLjInKTt9O3NldEh0bWwoJ2xvYWRlcicsJzxpbWcgc3JjPSInK2xvY2F0aW9uLnBhdGhuYW1lKyc/ZmlsZT1sb2FkZXIuZ2lmJmFtcDt2ZXJzaW9uPTMuMy4yIiBhbHQ9IiI+Jyk7cmV0dXJuIGFqYXgodXJsLGZ1bmN0aW9uKHhtbGh0dHApe2lmKGN1cnJlbnRTdGF0ZT09YWpheFN0YXRlKXt2YXIgdGl0bGU9eG1saHR0cC5nZXRSZXNwb25zZUhlYWRlcignWC1BSkFYLVRpdGxlJyk7aWYodGl0bGUpe2RvY3VtZW50LnRpdGxlPWRlY29kZVVSSUNvbXBvbmVudCh0aXRsZSk7fQp2YXIgcmVkaXJlY3Q9eG1saHR0cC5nZXRSZXNwb25zZUhlYWRlcignWC1BSkFYLVJlZGlyZWN0Jyk7aWYocmVkaXJlY3Qpe3JldHVybiBhamF4U2VuZChyZWRpcmVjdCwnJyxwb3BTdGF0ZSk7fQpvbmJsdXI9ZnVuY3Rpb24oKXt9O3JlcGxhY2VGYXZpY29uKG9yaWdpbmFsRmF2aWNvbik7aWYoIXhtbGh0dHAuc3RhdHVzKXtzZXRIdG1sKCdsb2FkZXInLCcnKTt9ZWxzZXtpZighcG9wU3RhdGUpe2lmKGRhdGF8fHVybCE9bG9jYXRpb24uaHJlZil7aGlzdG9yeS5wdXNoU3RhdGUoZGF0YSwnJyx1cmwpO319CmlmKCFub3Njcm9sbCYmIS8mb3JkZXIvLnRlc3QodXJsKSl7c2Nyb2xsVG8oMCwwKTt9CnNldEh0bWwoJ2NvbnRlbnQnLHhtbGh0dHAucmVzcG9uc2VUZXh0KTt2YXIgY29udGVudD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29udGVudCcpO3ZhciBzY3JpcHRzPWNvbnRlbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NjcmlwdCcpO3ZhciBsZW5ndGg9c2NyaXB0cy5sZW5ndGg7Zm9yKHZhciBpPTA7aTxsZW5ndGg7aSsrKXt2YXIgc2NyaXB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO3NjcmlwdC50ZXh0PXNjcmlwdHNbaV0udGV4dDtjb250ZW50LmFwcGVuZENoaWxkKHNjcmlwdCk7fQp2YXIgYXM9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21lbnUnKS5nZXRFbGVtZW50c0J5VGFnTmFtZSgnYScpO3ZhciBocmVmPWxvY2F0aW9uLmhyZWYucmVwbGFjZSgvKCYoc3FsPXxkdW1wPXwoc2VsZWN0fHRhYmxlKT1bXiZdKikpLiovLCckMScpO2Zvcih2YXIgaT0wO2k8YXMubGVuZ3RoO2krKyl7YXNbaV0uY2xhc3NOYW1lPShocmVmPT1hc1tpXS5ocmVmPydhY3RpdmUnOicnKTt9CnZhciBkdW1wPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkdW1wJyk7aWYoZHVtcCl7dmFyIG1hdGNoPS8mKHNlbGVjdHx0YWJsZSk9KFteJl0rKS8uZXhlYyhocmVmKTtkdW1wLmhyZWY9ZHVtcC5ocmVmLnJlcGxhY2UoL1tePV0rJC8sJycpKyhtYXRjaD9tYXRjaFsyXTonJyk7fQppZih3aW5kb3cuanVzaCl7anVzaC5oaWdobGlnaHRfdGFnKCdjb2RlJywwKTt9fX19LGRhdGEpO30Kb25wb3BzdGF0ZT1mdW5jdGlvbihldmVudCl7aWYoKGFqYXhTdGF0ZXx8ZXZlbnQuc3RhdGUpJiYhLyMvLnRlc3QobG9jYXRpb24uaHJlZikpe2FqYXhTZW5kKGxvY2F0aW9uLmhyZWYsKGV2ZW50LnN0YXRlJiZjb25maXJtKGFyZVlvdVN1cmUpP2V2ZW50LnN0YXRlOicnKSwxKTt9ZWxzZXthamF4U3RhdGUrKzt9fTtmdW5jdGlvbiBhamF4Rm9ybShmb3JtLGRhdGEsbm9zY3JvbGwpe2lmKCgvJihkYXRhYmFzZXxzY2hlbWV8Y3JlYXRlfHZpZXd8c3FsfHVzZXJ8ZHVtcHxjYWxsKT0vLnRlc3QobG9jYXRpb24uaHJlZikmJiEvXC4vLnRlc3QoZGF0YSkpfHwoZm9ybS5vbnN1Ym1pdCYmZm9ybS5vbnN1Ym1pdCgpPT09ZmFsc2UpKXtyZXR1cm4gZmFsc2U7fQp2YXIgcGFyYW1zPVtdO2Zvcih2YXIgaT0wO2k8Zm9ybS5lbGVtZW50cy5sZW5ndGg7aSsrKXt2YXIgZWw9Zm9ybS5lbGVtZW50c1tpXTtpZigvZmlsZS9pLnRlc3QoZWwudHlwZSkmJmVsLnZhbHVlKXtyZXR1cm4gZmFsc2U7fWVsc2UgaWYoZWwubmFtZSYmKCEvY2hlY2tib3h8cmFkaW98c3VibWl0fGZpbGUvaS50ZXN0KGVsLnR5cGUpfHxlbC5jaGVja2VkKSl7cGFyYW1zLnB1c2goZW5jb2RlVVJJQ29tcG9uZW50KGVsLm5hbWUpKyc9JytlbmNvZGVVUklDb21wb25lbnQoL3NlbGVjdC9pLnRlc3QoZWwudGFnTmFtZSk/c2VsZWN0VmFsdWUoZWwpOmVsLnZhbHVlKSk7fX0KaWYoZGF0YSl7cGFyYW1zLnB1c2goZGF0YSk7fQppZihmb3JtLm1ldGhvZD09J3Bvc3QnKXtyZXR1cm4gYWpheFNlbmQoKC9cPy8udGVzdChmb3JtLmFjdGlvbik/Zm9ybS5hY3Rpb246bG9jYXRpb24uaHJlZikscGFyYW1zLmpvaW4oJyYnKSxmYWxzZSxub3Njcm9sbCk7fQpyZXR1cm4gYWpheFNlbmQoKGZvcm0uYWN0aW9ufHxsb2NhdGlvbi5ocmVmKS5yZXBsYWNlKC9cPy4qLywnJykrJz8nK3BhcmFtcy5qb2luKCcmJyksJycsZmFsc2Usbm9zY3JvbGwpO30KZnVuY3Rpb24gc2VsZWN0RGJsQ2xpY2sodGQsZXZlbnQsdGV4dCl7aWYoL2lucHV0fHRleHRhcmVhL2kudGVzdCh0ZC5maXJzdENoaWxkLnRhZ05hbWUpKXtyZXR1cm47fQp2YXIgb3JpZ2luYWw9dGQuaW5uZXJIVE1MO3ZhciBpbnB1dD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KHRleHQ/J3RleHRhcmVhJzonaW5wdXQnKTtpbnB1dC5vbmtleWRvd249ZnVuY3Rpb24oZXZlbnQpe2lmKCFldmVudCl7ZXZlbnQ9d2luZG93LmV2ZW50O30KaWYoZXZlbnQua2V5Q29kZT09MjcmJiEoZXZlbnQuY3RybEtleXx8ZXZlbnQuc2hpZnRLZXl8fGV2ZW50LmFsdEtleXx8ZXZlbnQubWV0YUtleSkpe3RkLmlubmVySFRNTD1vcmlnaW5hbDt9fTt2YXIgcG9zPWV2ZW50LnJhbmdlT2Zmc2V0O3ZhciB2YWx1ZT10ZC5maXJzdENoaWxkLmFsdHx8dGQudGV4dENvbnRlbnR8fHRkLmlubmVyVGV4dDtpbnB1dC5zdHlsZS53aWR0aD1NYXRoLm1heCh0ZC5jbGllbnRXaWR0aC0xNCwyMCkrJ3B4JztpZih0ZXh0KXt2YXIgcm93cz0xO3ZhbHVlLnJlcGxhY2UoL1xuL2csZnVuY3Rpb24oKXtyb3dzKys7fSk7aW5wdXQucm93cz1yb3dzO30KaWYodmFsdWU9PSdcdTAwQTAnfHx0ZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaScpLmxlbmd0aCl7dmFsdWU9Jyc7fQppZihkb2N1bWVudC5zZWxlY3Rpb24pe3ZhciByYW5nZT1kb2N1bWVudC5zZWxlY3Rpb24uY3JlYXRlUmFuZ2UoKTtyYW5nZS5tb3ZlVG9Qb2ludChldmVudC5jbGllbnRYLGV2ZW50LmNsaWVudFkpO3ZhciByYW5nZTI9cmFuZ2UuZHVwbGljYXRlKCk7cmFuZ2UyLm1vdmVUb0VsZW1lbnRUZXh0KHRkKTtyYW5nZTIuc2V0RW5kUG9pbnQoJ0VuZFRvRW5kJyxyYW5nZSk7cG9zPXJhbmdlMi50ZXh0Lmxlbmd0aDt9CnRkLmlubmVySFRNTD0nJzt0ZC5hcHBlbmRDaGlsZChpbnB1dCk7aW5wdXQuZm9jdXMoKTtpZih0ZXh0PT0yKXtyZXR1cm4gYWpheChsb2NhdGlvbi5ocmVmKycmJytlbmNvZGVVUklDb21wb25lbnQodGQuaWQpKyc9JyxmdW5jdGlvbih4bWxodHRwKXtpZih4bWxodHRwLnN0YXR1cyl7aW5wdXQudmFsdWU9eG1saHR0cC5yZXNwb25zZVRleHQ7aW5wdXQubmFtZT10ZC5pZDt9fSk7fQppbnB1dC52YWx1ZT12YWx1ZTtpbnB1dC5uYW1lPXRkLmlkO2lucHV0LnNlbGVjdGlvblN0YXJ0PXBvcztpbnB1dC5zZWxlY3Rpb25FbmQ9cG9zO2lmKGRvY3VtZW50LnNlbGVjdGlvbil7dmFyIHJhbmdlPWRvY3VtZW50LnNlbGVjdGlvbi5jcmVhdGVSYW5nZSgpO3JhbmdlLm1vdmVFbmQoJ2NoYXJhY3RlcicsLWlucHV0LnZhbHVlLmxlbmd0aCtwb3MpO3JhbmdlLnNlbGVjdCgpO319CmZ1bmN0aW9uIGJvZHlDbGljayhldmVudCxkYixucyl7aWYoZXZlbnQuYnV0dG9ufHxldmVudC5jdHJsS2V5fHxldmVudC5zaGlmdEtleXx8ZXZlbnQuYWx0S2V5fHxldmVudC5tZXRhS2V5KXtyZXR1cm47fQppZihldmVudC5nZXRQcmV2ZW50RGVmYXVsdD9ldmVudC5nZXRQcmV2ZW50RGVmYXVsdCgpOmV2ZW50LnJldHVyblZhbHVlPT09ZmFsc2V8fGV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpe3JldHVybiBmYWxzZTt9CnZhciBlbD1ldmVudC50YXJnZXR8fGV2ZW50LnNyY0VsZW1lbnQ7aWYoL15hJC9pLnRlc3QoZWwucGFyZW50Tm9kZS50YWdOYW1lKSl7ZWw9ZWwucGFyZW50Tm9kZTt9CmlmKC9eYSQvaS50ZXN0KGVsLnRhZ05hbWUpJiYhLzp8I3wmZG93bmxvYWQ9L2kudGVzdChlbC5nZXRBdHRyaWJ1dGUoJ2hyZWYnKSkmJi9bJj9ddXNlcm5hbWU9Ly50ZXN0KGVsLmhyZWYpKXt2YXIgbWF0Y2g9LyZkYj0oW14mXSopLy5leGVjKGVsLmhyZWYpO3ZhciBtYXRjaDI9LyZucz0oW14mXSopLy5leGVjKGVsLmhyZWYpO3JldHVybiEoZGI9PShtYXRjaD9tYXRjaFsxXTonJykmJm5zPT0obWF0Y2gyP21hdGNoMlsxXTonJykmJmFqYXhTZW5kKGVsLmhyZWYpKTt9CmlmKC9eaW5wdXQkL2kudGVzdChlbC50YWdOYW1lKSYmL2ltYWdlfHN1Ym1pdC8udGVzdChlbC50eXBlKSl7cmV0dXJuIWFqYXhGb3JtKGVsLmZvcm0sKGVsLm5hbWU/ZW5jb2RlVVJJQ29tcG9uZW50KGVsLm5hbWUpKyhlbC50eXBlPT0naW1hZ2UnPycueCc6JycpKyc9MSc6JycpLGVsLnR5cGU9PSdpbWFnZScpO30KcmV0dXJuIHRydWU7fQpmdW5jdGlvbiBldmVudFN0b3AoZXZlbnQpe2lmKGV2ZW50LnN0b3BQcm9wYWdhdGlvbil7ZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7fWVsc2V7ZXZlbnQuY2FuY2VsQnViYmxlPXRydWU7fX0KZnVuY3Rpb24gYm9keUxvYWQodmVyc2lvbil7aWYoaGlzdG9yeS5zdGF0ZSE9PXVuZGVmaW5lZCl7b25wb3BzdGF0ZShoaXN0b3J5KTt9fQpmdW5jdGlvbiB3aGlzcGVyQ2xpY2soZXZlbnQsZmllbGQpe3ZhciBlbD1ldmVudC50YXJnZXR8fGV2ZW50LnNyY0VsZW1lbnQ7aWYoL15hJC9pLnRlc3QoZWwudGFnTmFtZSkmJiEoZXZlbnQuYnV0dG9ufHxldmVudC5jdHJsS2V5fHxldmVudC5zaGlmdEtleXx8ZXZlbnQuYWx0S2V5fHxldmVudC5tZXRhS2V5KSl7ZmllbGQudmFsdWU9ZWwuZmlyc3RDaGlsZC5kYXRhO2ZpZWxkLnByZXZpb3VzU2libGluZy52YWx1ZT1kZWNvZGVVUklDb21wb25lbnQoZWwuaHJlZi5yZXBsYWNlKC8uKj0vLCcnKSk7ZmllbGQubmV4dFNpYmxpbmcuc3R5bGUuZGlzcGxheT0nbm9uZSc7ZXZlbnRTdG9wKGV2ZW50KTtyZXR1cm4gZmFsc2U7fX0KZnVuY3Rpb24gd2hpc3Blcih1cmwsZmllbGQpe2lmKGZpZWxkLm9yaWchPWZpZWxkLnZhbHVlKXtmaWVsZC5vcmlnPWZpZWxkLnZhbHVlO2ZpZWxkLnByZXZpb3VzU2libGluZy52YWx1ZT1maWVsZC52YWx1ZTtyZXR1cm4gYWpheCh1cmwrZW5jb2RlVVJJQ29tcG9uZW50KGZpZWxkLnZhbHVlKSxmdW5jdGlvbih4bWxodHRwKXtpZih4bWxodHRwLnN0YXR1cyYmZmllbGQub3JpZz09ZmllbGQudmFsdWUpe2ZpZWxkLm5leHRTaWJsaW5nLmlubmVySFRNTD14bWxodHRwLnJlc3BvbnNlVGV4dDtmaWVsZC5uZXh0U2libGluZy5zdHlsZS5kaXNwbGF5PScnO3ZhciBhPWZpZWxkLm5leHRTaWJsaW5nLmZpcnN0Q2hpbGQ7aWYoYSYmYS5maXJzdENoaWxkLmRhdGE9PWZpZWxkLnZhbHVlKXtmaWVsZC5wcmV2aW91c1NpYmxpbmcudmFsdWU9ZGVjb2RlVVJJQ29tcG9uZW50KGEuaHJlZi5yZXBsYWNlKC8uKj0vLCcnKSk7YS5jbGFzc05hbWU9J2FjdGl2ZSc7fX19KTt9fTw/cGhwCn1lbHNle2hlYWRlcigiQ29udGVudC1UeXBlOiBpbWFnZS9naWYiKTtzd2l0Y2goJF9HRVRbImZpbGUiXSl7Y2FzZSJwbHVzLmdpZiI6ZWNobwpiYXNlNjRfZGVjb2RlKCJSMGxHT0RkaEVnQVNBS0VBQU83dTdnQUFBSm1abVFBQUFDd0FBQUFBRWdBU0FBQUNJWVNQcWN2dEQwMEk4Y3dxS2I1ditxOHBJQWh4bFJtaFpZaTE3aVBFOGt6TEJRQTciKTticmVhaztjYXNlImNyb3NzLmdpZiI6ZWNobwpiYXNlNjRfZGVjb2RlKCJSMGxHT0RkaEVnQVNBS0VBQU83dTdnQUFBSm1abVFBQUFDd0FBQUFBRWdBU0FBQUNJNFNQcWN2dER5TUtZZFpHYjM1NXd5NkJYM2RobE9FeDU3Rks3Z3RId2t6WE5sMEFBRHM9Iik7YnJlYWs7Y2FzZSJ1cC5naWYiOmVjaG8KYmFzZTY0X2RlY29kZSgiUjBsR09EZGhFZ0FTQUtFQUFPN3U3Z0FBQUptWm1RQUFBQ3dBQUFBQUVnQVNBQUFDSUlTUHFjdnREMDBJVVU0SzczMFQ5SjVoRlRpS0VYbWFZY1cycmdESDhod1hBRHM9Iik7YnJlYWs7Y2FzZSJkb3duLmdpZiI6ZWNobwpiYXNlNjRfZGVjb2RlKCJSMGxHT0RkaEVnQVNBS0VBQU83dTdnQUFBSm1abVFBQUFDd0FBQUFBRWdBU0FBQUNJSVNQcWN2dEQwMEk4Y3dxS2I1YlYvNWNvc2RNSnRtY0hjYTJsUURIOGh3WEFEcz0iKTticmVhaztjYXNlImFycm93LmdpZiI6ZWNobwpiYXNlNjRfZGVjb2RlKCJSMGxHT0RsaENBQUtBSUFBQUlDQWdQLy8veUg1QkFFQUFBRUFMQUFBQUFBSUFBb0FBQUlQQklKcGxyR0xucFFScXRPeTNyc0FBRHM9Iik7YnJlYWs7Y2FzZSJsb2FkZXIuZ2lmIjplY2hvCmJhc2U2NF9kZWNvZGUoIlIwbEdPRGxoRUFBUUFQSUFBUC8vL3dBQUFNTEN3a0pDUWdBQUFHSmlZb0tDZ3BLU2tpSC9DMDVGVkZORFFWQkZNaTR3QXdFQUFBQWgvaHBEY21WaGRHVmtJSGRwZEdnZ1lXcGhlR3h2WVdRdWFXNW1id0FoK1FRSkNnQUFBQ3dBQUFBQUVBQVFBQUFETXdpNjNQNHd5a2xyRTJNSU9nZ1puQWRPbUdZSlJiRXh3cm9VbWNHMkxtREV3bkhRTFZzWU9kMm1CemtZREFkS2ErZElBQUFoK1FRSkNnQUFBQ3dBQUFBQUVBQVFBQUFETkFpNjNQNU9qQ0VnRzRRTXU3RG1pa1J4UWxGVVlERVpJR0JNUlZzYXFId2N0WFhmN1dFWUI0QWcxeGppaGtNWnNpVWtLaElBSWZrRUNRb0FBQUFzQUFBQUFCQUFFQUFBQXpZSXVqSWpLOHBCeUpETWxGWXZCb1ZqSEE3MEdVN3hTVUpobUt0d0hQQUt6TE85SE1hb0t3Slo3UmY4QVlQRER6S3BaQnFmdndRQUlma0VDUW9BQUFBc0FBQUFBQkFBRUFBQUF6TUl1bUlsSzhveWhwSHNuRlpmaFl1bUNZVWhEQVF4UklkaEhCR3FSb0t3MFI4RFlsSmQ4ejBmTURnc0dvL0lwSEk1VEFBQUlma0VDUW9BQUFBc0FBQUFBQkFBRUFBQUF6SUl1bkluSzByblpCVHdHUE5NZ1F3bWRzTmdYR0pVbElXRXVSNW9XVUlwejhwQUVBTWU2VHdmd3lZc0dvL0lwRktTQUFBaCtRUUpDZ0FBQUN3QUFBQUFFQUFRQUFBRE13aTZJTUtRT1JmamRPZTgycDR3R2NjYzRDRXVRcmFkeWxlc29qRU1CZ3NVYzJHN3NEWDNsUUdCTUxBSmlidWZiU2xLQUFBaCtRUUpDZ0FBQUN3QUFBQUFFQUFRQUFBRE1naTYzUDd3Q1JIWm5GVmRtZ0h1Mm5Gd2xXQ0kzV0djM1RTV2hVRkd4VEFVa0dDYnRnRU5CTUpBRUpzeGdNTFd6cEVBQUNINUJBa0tBQUFBTEFBQUFBQVFBQkFBQUFNeUNMcmMvakRLU2F0bFF0U2NLZGNlQ0FqRElJN0hjUTRFTVRDcHlyQ3VVQmpDWVJnSFZ0cWxBaUIxWWhpQ25sc1JrQUFBT3dBQUFBQUFBQUFBQUE9PSIpO2JyZWFrO319ZXhpdDt9ZnVuY3Rpb24KY29ubmVjdGlvbigpe2dsb2JhbCRoO3JldHVybiRoO31mdW5jdGlvbgppZGZfdW5lc2NhcGUoJEUpeyRqYz1zdWJzdHIoJEUsLTEpO3JldHVybgpzdHJfcmVwbGFjZSgkamMuJGpjLCRqYyxzdWJzdHIoJEUsMSwtMSkpO31mdW5jdGlvbgplc2NhcGVfc3RyaW5nKCRhKXtyZXR1cm4Kc3Vic3RyKHEoJGEpLDEsLTEpO31mdW5jdGlvbgpyZW1vdmVfc2xhc2hlcygkTWEsJE5iPWZhbHNlKXtpZihnZXRfbWFnaWNfcXVvdGVzX2dwYygpKXt3aGlsZShsaXN0KCRkLCRhKT1lYWNoKCRNYSkpe2ZvcmVhY2goJGEKYXMkdmE9PiRzKXt1bnNldCgkTWFbJGRdWyR2YV0pO2lmKGlzX2FycmF5KCRzKSl7JE1hWyRkXVtzdHJpcHNsYXNoZXMoJHZhKV09JHM7JE1hW109JiRNYVskZF1bc3RyaXBzbGFzaGVzKCR2YSldO31lbHNleyRNYVskZF1bc3RyaXBzbGFzaGVzKCR2YSldPSgkTmI/JHM6c3RyaXBzbGFzaGVzKCRzKSk7fX19fX1mdW5jdGlvbgpicmFja2V0X2VzY2FwZSgkRSwkQmQ9ZmFsc2Upe3N0YXRpYyRuZD1hcnJheSgnOic9Pic6MScsJ10nPT4nOjInLCdbJz0+JzozJyk7cmV0dXJuCnN0cnRyKCRFLCgkQmQ/YXJyYXlfZmxpcCgkbmQpOiRuZCkpO31mdW5jdGlvbgpoKCR6KXtyZXR1cm4KaHRtbHNwZWNpYWxjaGFycyhzdHJfcmVwbGFjZSgiXDAiLCIiLCR6KSxFTlRfUVVPVEVTKTt9ZnVuY3Rpb24KbmJzcCgkeil7cmV0dXJuKHRyaW0oJHopIT0iIj9oKCR6KToiJm5ic3A7Iik7fWZ1bmN0aW9uCm5sX2JyKCR6KXtyZXR1cm4Kc3RyX3JlcGxhY2UoIlxuIiwiPGJyPiIsJHopO31mdW5jdGlvbgpjaGVja2JveCgkZiwkbiwkeWIsJFFjPSIiLCRSYj0iIiwkWmQ9ZmFsc2Upe3N0YXRpYyROPTA7JE4rKzskYj0iPGlucHV0IHR5cGU9J2NoZWNrYm94JyBuYW1lPSckZicgdmFsdWU9JyIuaCgkbikuIiciLigkeWI/IiBjaGVja2VkIjoiIikuKCRSYj8nIG9uY2xpY2s9IicuaCgkUmIpLiciJzonJykuKCRaZD8iIGNsYXNzPSdqc29ubHknIjoiIikuIiBpZD0nY2hlY2tib3gtJE4nPiI7cmV0dXJuKCRRYyE9IiI/IjxsYWJlbCBmb3I9J2NoZWNrYm94LSROJz4kYiIuaCgkUWMpLiI8L2xhYmVsPiI6JGIpO31mdW5jdGlvbgpvcHRpb25saXN0KCR1YSwkWGQ9bnVsbCwkTmM9ZmFsc2UpeyRiPSIiO2ZvcmVhY2goJHVhCmFzJHZhPT4kcyl7JE1jPWFycmF5KCR2YT0+JHMpO2lmKGlzX2FycmF5KCRzKSl7JGIuPSc8b3B0Z3JvdXAgbGFiZWw9IicuaCgkdmEpLiciPic7JE1jPSRzO31mb3JlYWNoKCRNYwphcyRkPT4kYSl7JGIuPSc8b3B0aW9uJy4oJE5jfHxpc19zdHJpbmcoJGQpPycgdmFsdWU9IicuaCgkZCkuJyInOicnKS4oKCROY3x8aXNfc3RyaW5nKCRkKT8oc3RyaW5nKSRkOiRhKT09PSRYZD8nIHNlbGVjdGVkJzonJykuJz4nLmgoJGEpO31pZihpc19hcnJheSgkcykpeyRiLj0nPC9vcHRncm91cD4nO319cmV0dXJuJGI7fWZ1bmN0aW9uCmh0bWxfc2VsZWN0KCRmLCR1YSwkbj0iIiwkU2E9dHJ1ZSl7aWYoJFNhKXtyZXR1cm4iPHNlbGVjdCBuYW1lPSciLmgoJGYpLiInIi4oaXNfc3RyaW5nKCRTYSk/JyBvbmNoYW5nZT0iJy5oKCRTYSkuJyInOiIiKS4iPiIub3B0aW9ubGlzdCgkdWEsJG4pLiI8L3NlbGVjdD4iO30kYj0iIjtmb3JlYWNoKCR1YQphcyRkPT4kYSl7JGIuPSI8bGFiZWw+PGlucHV0IHR5cGU9J3JhZGlvJyBuYW1lPSciLmgoJGYpLiInIHZhbHVlPSciLmgoJGQpLiInIi4oJGQ9PSRuPyIgY2hlY2tlZCI6IiIpLiI+Ii5oKCRhKS4iPC9sYWJlbD4iO31yZXR1cm4kYjt9ZnVuY3Rpb24KY29uZmlybSgkWmM9IiIsJFZkPWZhbHNlKXtyZXR1cm4iIG9uY2xpY2s9XCIiLigkVmQ/ImV2ZW50U3RvcChldmVudCk7ICI6IiIpLiJyZXR1cm4gY29uZmlybSgnIi5sYW5nKDApLigkWmM/IiAoJyArICRaYyArICcpIjoiIikuIicpO1wiIjt9ZnVuY3Rpb24KcHJpbnRfZmllbGRzZXQoJE4sJGFlLCRnZT1mYWxzZSwkUmI9IiIpe2VjaG8iPGZpZWxkc2V0PjxsZWdlbmQ+PGEgaHJlZj0nI2ZpZWxkc2V0LSROJyBvbmNsaWNrPVwiIi5oKCRSYikuInJldHVybiAhdG9nZ2xlKCdmaWVsZHNldC0kTicpO1wiPiRhZTwvYT48L2xlZ2VuZD48ZGl2IGlkPSdmaWVsZHNldC0kTiciLigkZ2U/IiI6IiBjbGFzcz0naGlkZGVuJyIpLiI+XG4iO31mdW5jdGlvbgpib2xkKCRDZCl7cmV0dXJuKCRDZD8iIGNsYXNzPSdhY3RpdmUnIjoiIik7fWZ1bmN0aW9uCm9kZCgkYj0nIGNsYXNzPSJvZGQiJyl7c3RhdGljJHA9MDtpZighJGIpeyRwPS0xO31yZXR1cm4oJHArKyUKMj8kYjonJyk7fWZ1bmN0aW9uCmpzX2VzY2FwZSgkeil7cmV0dXJuCmFkZGNzbGFzaGVzKCR6LCJcclxuJ1xcLyIpO31mdW5jdGlvbgpqc29uX3JvdygkZCwkYT1udWxsKXtzdGF0aWMkQmE9dHJ1ZTtpZigkQmEpe2VjaG8ieyI7fWlmKCRkIT0iIil7ZWNobygkQmE/IiI6IiwiKS4iXG5cdFwiIi5hZGRjc2xhc2hlcygkZCwiXHJcblwiXFwiKS4nIjogJy4oaXNzZXQoJGEpPyciJy5hZGRjc2xhc2hlcygkYSwiXHJcblwiXFwiKS4nIic6J3VuZGVmaW5lZCcpOyRCYT1mYWxzZTt9ZWxzZXtlY2hvIlxufVxuIjskQmE9dHJ1ZTt9fWZ1bmN0aW9uCmluaV9ib29sKCRmZSl7JGE9aW5pX2dldCgkZmUpO3JldHVybihlcmVnaSgnXihvbnx0cnVlfHllcykkJywkYSl8fChpbnQpJGEpO31mdW5jdGlvbgpzaWQoKXtzdGF0aWMkYjtpZighaXNzZXQoJGIpKXskYj0oU0lEJiYhKCRfQ09PS0lFJiZpbmlfYm9vbCgic2Vzc2lvbi51c2VfY29va2llcyIpKSk7fXJldHVybiRiO31mdW5jdGlvbgpxKCR6KXtnbG9iYWwkaDtyZXR1cm4kaC0+cXVvdGUoJHopO31mdW5jdGlvbgpnZXRfdmFscygkaiwkdT0wKXtnbG9iYWwkaDskYj1hcnJheSgpOyRpPSRoLT5xdWVyeSgkaik7aWYoaXNfb2JqZWN0KCRpKSl7d2hpbGUoJGM9JGktPmZldGNoX3JvdygpKXskYltdPSRjWyR1XTt9fXJldHVybiRiO31mdW5jdGlvbgpnZXRfa2V5X3ZhbHMoJGosJFM9bnVsbCl7Z2xvYmFsJGg7aWYoIWlzX29iamVjdCgkUykpeyRTPSRoO30kYj1hcnJheSgpOyRpPSRTLT5xdWVyeSgkaik7aWYoaXNfb2JqZWN0KCRpKSl7d2hpbGUoJGM9JGktPmZldGNoX3JvdygpKXskYlskY1swXV09JGNbMV07fX1yZXR1cm4kYjt9ZnVuY3Rpb24KZ2V0X3Jvd3MoJGosJFM9bnVsbCwkcT0iPHAgY2xhc3M9J2Vycm9yJz4iKXtnbG9iYWwkaDtpZighaXNfb2JqZWN0KCRTKSl7JFM9JGg7fSRiPWFycmF5KCk7JGk9JFMtPnF1ZXJ5KCRqKTtpZihpc19vYmplY3QoJGkpKXt3aGlsZSgkYz0kaS0+ZmV0Y2hfYXNzb2MoKSl7JGJbXT0kYzt9fWVsc2VpZighJGkmJiRoLT5lcnJvciYmJHEmJmRlZmluZWQoIlBBR0VfSEVBREVSIikpe2VjaG8kcS5lcnJvcigpLiJcbiI7fXJldHVybiRiO31mdW5jdGlvbgp1bmlxdWVfYXJyYXkoJGMsJGJhKXtmb3JlYWNoKCRiYQphcyRjYSl7aWYoZXJlZygiUFJJTUFSWXxVTklRVUUiLCRjYVsidHlwZSJdKSl7JGI9YXJyYXkoKTtmb3JlYWNoKCRjYVsiY29sdW1ucyJdYXMkZCl7aWYoIWlzc2V0KCRjWyRkXSkpe2NvbnRpbnVlCjI7fSRiWyRkXT0kY1skZF07fXJldHVybiRiO319JGI9YXJyYXkoKTtmb3JlYWNoKCRjCmFzJGQ9PiRhKXtpZighcHJlZ19tYXRjaCgnfl4oQ09VTlRcXCgoXFwqfChESVNUSU5DVCApP2AoPzpbXmBdfGBgKStgKVxcKXwoQVZHfEdST1VQX0NPTkNBVHxNQVh8TUlOfFNVTSlcXChgKD86W15gXXxgYCkrYFxcKSkkficsJGQpKXskYlskZF09JGE7fX1yZXR1cm4kYjt9ZnVuY3Rpb24Kd2hlcmUoJG0pe2dsb2JhbCR0YTskYj1hcnJheSgpO2ZvcmVhY2goKGFycmF5KSRtWyJ3aGVyZSJdYXMkZD0+JGEpeyRiW109aWRmX2VzY2FwZShicmFja2V0X2VzY2FwZSgkZCwxKSkuKGVyZWcoJ1xcLicsJGEpfHwkdGE9PSJtc3NxbCI/IiBMSUtFICIuZXhhY3RfdmFsdWUoYWRkY3NsYXNoZXMoJGEsIiVfXFwiKSk6IiA9ICIuZXhhY3RfdmFsdWUoJGEpKTt9Zm9yZWFjaCgoYXJyYXkpJG1bIm51bGwiXWFzJGQpeyRiW109aWRmX2VzY2FwZSgkZCkuIiBJUyBOVUxMIjt9cmV0dXJuCmltcGxvZGUoIiBBTkQgIiwkYik7fWZ1bmN0aW9uCndoZXJlX2NoZWNrKCRhKXtwYXJzZV9zdHIoJGEsJHRkKTtyZW1vdmVfc2xhc2hlcyhhcnJheSgmJHRkKSk7cmV0dXJuCndoZXJlKCR0ZCk7fWZ1bmN0aW9uCndoZXJlX2xpbmsoJHAsJHUsJG4sJGRlPSI9Iil7cmV0dXJuIiZ3aGVyZSU1QiRwJTVEJTVCY29sJTVEPSIudXJsZW5jb2RlKCR1KS4iJndoZXJlJTVCJHAlNUQlNUJvcCU1RD0iLnVybGVuY29kZSgoaXNzZXQoJG4pPyRkZToiSVMgTlVMTCIpKS4iJndoZXJlJTVCJHAlNUQlNUJ2YWwlNUQ9Ii51cmxlbmNvZGUoJG4pO31mdW5jdGlvbgpjb29raWUoJGYsJG4pe2dsb2JhbCRvYjskbmI9YXJyYXkoJGYsKGVyZWcoIlxuIiwkbik/IiI6JG4pLHRpbWUoKSsyNTkyMDAwLHByZWdfcmVwbGFjZSgnflxcPy4qficsJycsJF9TRVJWRVJbIlJFUVVFU1RfVVJJIl0pLCIiLCRvYik7aWYodmVyc2lvbl9jb21wYXJlKFBIUF9WRVJTSU9OLCc1LjIuMCcpPj0wKXskbmJbXT10cnVlO31yZXR1cm4KY2FsbF91c2VyX2Z1bmNfYXJyYXkoJ3NldGNvb2tpZScsJG5iKTt9ZnVuY3Rpb24KcmVzdGFydF9zZXNzaW9uKCl7aWYoIWluaV9ib29sKCJzZXNzaW9uLnVzZV9jb29raWVzIikpe3Nlc3Npb25fc3RhcnQoKTt9fWZ1bmN0aW9uJmdldF9zZXNzaW9uKCRkKXtyZXR1cm4kX1NFU1NJT05bJGRdW0RSSVZFUl1bU0VSVkVSXVskX0dFVFsidXNlcm5hbWUiXV07fWZ1bmN0aW9uCnNldF9zZXNzaW9uKCRkLCRhKXskX1NFU1NJT05bJGRdW0RSSVZFUl1bU0VSVkVSXVskX0dFVFsidXNlcm5hbWUiXV09JGE7fWZ1bmN0aW9uCmF1dGhfdXJsKCRTYiwkQywkRil7Z2xvYmFsJHdhO3ByZWdfbWF0Y2goJ34oW14/XSopXFw/PyguKil+JyxyZW1vdmVfZnJvbV91cmkoaW1wbG9kZSgifCIsYXJyYXlfa2V5cygkd2EpKS4ifHVzZXJuYW1lfCIuc2Vzc2lvbl9uYW1lKCkpLCRrKTtyZXR1cm4iJGtbMV0/Ii4oc2lkKCk/U0lELiImIjoiIikuKCRTYiE9InNlcnZlciJ8fCRDIT0iIj91cmxlbmNvZGUoJFNiKS4iPSIudXJsZW5jb2RlKCRDKS4iJiI6IiIpLiJ1c2VybmFtZT0iLnVybGVuY29kZSgkRikuKCRrWzJdPyImJGtbMl0iOiIiKTt9ZnVuY3Rpb24KaXNfYWpheCgpe3JldHVybigkX1NFUlZFUlsiSFRUUF9YX1JFUVVFU1RFRF9XSVRIIl09PSJYTUxIdHRwUmVxdWVzdCIpO31mdW5jdGlvbgpyZWRpcmVjdCgkWiwkeGE9bnVsbCl7aWYoaXNzZXQoJHhhKSl7cmVzdGFydF9zZXNzaW9uKCk7JF9TRVNTSU9OWyJtZXNzYWdlcyJdW3ByZWdfcmVwbGFjZSgnfl5bXj9dKn4nLCcnLChpc3NldCgkWik/JFo6JF9TRVJWRVJbIlJFUVVFU1RfVVJJIl0pKV1bXT0keGE7fWlmKGlzc2V0KCRaKSl7aWYoJFo9PSIiKXskWj0iLiI7fWhlYWRlcigoaXNfYWpheCgpPyJYLUFKQVgtUmVkaXJlY3QiOiJMb2NhdGlvbiIpLiI6ICRaIik7ZXhpdDt9fWZ1bmN0aW9uCnF1ZXJ5X3JlZGlyZWN0KCRqLCRaLCR4YSwkUWI9dHJ1ZSwkRWQ9dHJ1ZSwkdmQ9ZmFsc2Upe2dsb2JhbCRoLCRxLCRsO2lmKCRFZCl7JHZkPSEkaC0+cXVlcnkoJGopO30kQWM9IiI7aWYoJGopeyRBYz0kbC0+bWVzc2FnZVF1ZXJ5KCIkajsiKTt9aWYoJHZkKXskcT1lcnJvcigpLiRBYztyZXR1cm4KZmFsc2U7fWlmKCRRYil7cmVkaXJlY3QoJFosJHhhLiRBYyk7fXJldHVybgp0cnVlO31mdW5jdGlvbgpxdWVyaWVzKCRqPW51bGwpe2dsb2JhbCRoO3N0YXRpYyRLYT1hcnJheSgpO2lmKCFpc3NldCgkaikpe3JldHVybgppbXBsb2RlKCI7XG4iLCRLYSk7fSRLYVtdPShlcmVnKCc7JCcsJGopPyJERUxJTUlURVIgOztcbiRqO1xuREVMSU1JVEVSICI6JGopO3JldHVybiRoLT5xdWVyeSgkaik7fWZ1bmN0aW9uCmFwcGx5X3F1ZXJpZXMoJGosJEIsJEZkPSd0YWJsZScpe2ZvcmVhY2goJEIKYXMkZSl7aWYoIXF1ZXJpZXMoIiRqICIuJEZkKCRlKSkpe3JldHVybgpmYWxzZTt9fXJldHVybgp0cnVlO31mdW5jdGlvbgpxdWVyaWVzX3JlZGlyZWN0KCRaLCR4YSwkUWIpe3JldHVybgpxdWVyeV9yZWRpcmVjdChxdWVyaWVzKCksJFosJHhhLCRRYixmYWxzZSwhJFFiKTt9ZnVuY3Rpb24KcmVtb3ZlX2Zyb21fdXJpKCRGYT0iIil7cmV0dXJuCnN1YnN0cihwcmVnX3JlcGxhY2UoIn4oPzw9Wz8mXSkoJEZhIi4oU0lEPyIiOiJ8Ii5zZXNzaW9uX25hbWUoKSkuIik9W14mXSomfiIsJycsIiRfU0VSVkVSW1JFUVVFU1RfVVJJXSYiKSwwLC0xKTt9ZnVuY3Rpb24KcGFnaW5hdGlvbigkTywkS2Qpe3JldHVybiIgIi4oJE89PSRLZD8kTysxOic8YSBocmVmPSInLmgocmVtb3ZlX2Zyb21fdXJpKCJwYWdlIikuKCRPPyImcGFnZT0kTyI6IiIpKS4nIj4nLigkTysxKS4iPC9hPiIpO31mdW5jdGlvbgpnZXRfZmlsZSgkZCwkQ2M9ZmFsc2UpeyRyYT0kX0ZJTEVTWyRkXTtpZighJHJhfHwkcmFbImVycm9yIl0pe3JldHVybiRyYVsiZXJyb3IiXTt9JGI9ZmlsZV9nZXRfY29udGVudHMoJENjJiZlcmVnKCdcXC5neiQnLCRyYVsibmFtZSJdKT8iY29tcHJlc3MuemxpYjovLyRyYVt0bXBfbmFtZV0iOigkQ2MmJmVyZWcoJ1xcLmJ6MiQnLCRyYVsibmFtZSJdKT8iY29tcHJlc3MuYnppcDI6Ly8kcmFbdG1wX25hbWVdIjokcmFbInRtcF9uYW1lIl0pKTtpZigkQ2MpeyRpZD1zdWJzdHIoJGIsMCwzKTtpZihmdW5jdGlvbl9leGlzdHMoImljb252IikmJmVyZWcoIl5ceEZFXHhGRnxeXHhGRlx4RkUiLCRpZCwkZWQpKXskYj1pY29udigidXRmLTE2IiwidXRmLTgiLCRiKTt9ZWxzZWlmKCRpZD09Ilx4RUZceEJCXHhCRiIpeyRiPXN1YnN0cigkYiwzKTt9fXJldHVybiRiO31mdW5jdGlvbgp1cGxvYWRfZXJyb3IoJHEpeyRvZD0oJHE9PVVQTE9BRF9FUlJfSU5JX1NJWkU/aW5pX2dldCgidXBsb2FkX21heF9maWxlc2l6ZSIpOm51bGwpO3JldHVybigkcT9sYW5nKDEpLigkb2Q/IiAiLmxhbmcoMiwkb2QpOiIiKTpsYW5nKDMpKTt9ZnVuY3Rpb24KcmVwZWF0X3BhdHRlcm4oJFYsJG9hKXtyZXR1cm4Kc3RyX3JlcGVhdCgiJFZ7MCw2NTUzNX0iLCRvYS82NTUzNSkuIiRWezAsIi4oJG9hCiUKNjU1MzUpLiJ9Ijt9ZnVuY3Rpb24KaXNfdXRmOCgkYSl7cmV0dXJuKHByZWdfbWF0Y2goJ35+dScsJGEpJiYhcHJlZ19tYXRjaCgnfltcXDAtXFx4OFxceEJcXHhDXFx4RS1cXHgxRl1+JywkYSkpO31mdW5jdGlvbgpzaG9ydGVuX3V0ZjgoJHosJG9hPTgwLCRPZD0iIil7aWYoIXByZWdfbWF0Y2goIiheKCIucmVwZWF0X3BhdHRlcm4oIltcdFxyXG4gLVx4e0ZGRkZ9XSIsJG9hKS4iKSgkKT8pdSIsJHosJGspKXtwcmVnX21hdGNoKCIoXigiLnJlcGVhdF9wYXR0ZXJuKCJbXHRcclxuIC1+XSIsJG9hKS4iKSgkKT8pIiwkeiwkayk7fXJldHVybgpoKCRrWzFdKS4kT2QuKGlzc2V0KCRrWzJdKT8iIjoiPGk+Li4uPC9pPiIpO31mdW5jdGlvbgpmcmllbmRseV91cmwoJGEpe3JldHVybgpwcmVnX3JlcGxhY2UoJ35bXmEtejAtOV9dfmknLCctJywkYSk7fWZ1bmN0aW9uCmhpZGRlbl9maWVsZHMoJE1hLCRNZD1hcnJheSgpKXt3aGlsZShsaXN0KCRkLCRhKT1lYWNoKCRNYSkpe2lmKGlzX2FycmF5KCRhKSl7Zm9yZWFjaCgkYQphcyR2YT0+JHMpeyRNYVskZC4iWyR2YV0iXT0kczt9fWVsc2VpZighaW5fYXJyYXkoJGQsJE1kKSl7ZWNobyc8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSInLmgoJGQpLiciIHZhbHVlPSInLmgoJGEpLiciPic7fX19ZnVuY3Rpb24KaGlkZGVuX2ZpZWxkc19nZXQoKXtlY2hvKHNpZCgpPyc8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSInLnNlc3Npb25fbmFtZSgpLiciIHZhbHVlPSInLmgoc2Vzc2lvbl9pZCgpKS4nIj4nOicnKSwoU0VSVkVSIT09bnVsbD8nPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJy5EUklWRVIuJyIgdmFsdWU9IicuaChTRVJWRVIpLiciPic6IiIpLCc8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ1c2VybmFtZSIgdmFsdWU9IicuaCgkX0dFVFsidXNlcm5hbWUiXSkuJyI+Jzt9ZnVuY3Rpb24KY29sdW1uX2ZvcmVpZ25fa2V5cygkZSl7Z2xvYmFsJGw7JGI9YXJyYXkoKTtmb3JlYWNoKCRsLT5mb3JlaWduS2V5cygkZSlhcyRVKXtmb3JlYWNoKCRVWyJzb3VyY2UiXWFzJGEpeyRiWyRhXVtdPSRVO319cmV0dXJuJGI7fWZ1bmN0aW9uCmVudW1faW5wdXQoJEQsJGlhLCRnLCRuLCRGYz1udWxsKXtnbG9iYWwkbDtwcmVnX21hdGNoX2FsbCgificoKD86W14nXXwnJykqKSd+IiwkZ1sibGVuZ3RoIl0sJGdhKTskYj0oaXNzZXQoJEZjKT8iPGxhYmVsPjxpbnB1dCB0eXBlPSckRCckaWEgdmFsdWU9JyRGYyciLigoaXNfYXJyYXkoJG4pP2luX2FycmF5KCRGYywkbik6JG49PT0wKT8iIGNoZWNrZWQiOiIiKS4iPjxpPiIubGFuZyg0KS4iPC9pPjwvbGFiZWw+IjoiIik7Zm9yZWFjaCgkZ2FbMV1hcyRwPT4kYSl7JGE9c3RyaXBjc2xhc2hlcyhzdHJfcmVwbGFjZSgiJyciLCInIiwkYSkpOyR5Yj0oaXNfaW50KCRuKT8kbj09JHArMTooaXNfYXJyYXkoJG4pP2luX2FycmF5KCRwKzEsJG4pOiRuPT09JGEpKTskYi49IiA8bGFiZWw+PGlucHV0IHR5cGU9JyREJyRpYSB2YWx1ZT0nIi4oJHArMSkuIiciLigkeWI/JyBjaGVja2VkJzonJykuJz4nLmgoJGwtPmVkaXRWYWwoJGEsJGcpKS4nPC9sYWJlbD4nO31yZXR1cm4kYjt9ZnVuY3Rpb24KaW5wdXQoJGcsJG4sJEwpe2dsb2JhbCRhYSwkbCwkdGE7JGY9aChicmFja2V0X2VzY2FwZSgkZ1siZmllbGQiXSkpO2VjaG8iPHRkIGNsYXNzPSdmdW5jdGlvbic+IjskVWM9KCR0YT09Im1zc3FsIiYmJGdbImF1dG9faW5jcmVtZW50Il0pO2lmKCRVYyYmISRfUE9TVFsic2F2ZSJdKXskTD1udWxsO30kZmE9KGlzc2V0KCRfR0VUWyJzZWxlY3QiXSl8fCRVYz9hcnJheSgib3JpZyI9PmxhbmcoNSkpOmFycmF5KCkpKyRsLT5lZGl0RnVuY3Rpb25zKCRnKTskaWE9IiBuYW1lPSdmaWVsZHNbJGZdJyI7aWYoJGdbInR5cGUiXT09ImVudW0iKXtlY2hvCm5ic3AoJGZhWyIiXSkuIjx0ZD4iLiRsLT5lZGl0SW5wdXQoJF9HRVRbImVkaXQiXSwkZywkaWEsJG4pO31lbHNleyRCYT0wO2ZvcmVhY2goJGZhCmFzJGQ9PiRhKXtpZigkZD09PSIifHwhJGEpe2JyZWFrO30kQmErKzt9JFNhPSgkQmE/IiBvbmNoYW5nZT1cInZhciBmID0gdGhpcy5mb3JtWydmdW5jdGlvblsiLmgoanNfZXNjYXBlKGJyYWNrZXRfZXNjYXBlKCRnWyJmaWVsZCJdKSkpLiJdJ107IGlmICgkQmEgPiBmLnNlbGVjdGVkSW5kZXgpIGYuc2VsZWN0ZWRJbmRleCA9ICRCYTtcIiI6IiIpOyRpYS49JFNhO2VjaG8oY291bnQoJGZhKT4xP2h0bWxfc2VsZWN0KCJmdW5jdGlvblskZl0iLCRmYSwhaXNzZXQoJEwpfHxpbl9hcnJheSgkTCwkZmEpfHxpc3NldCgkZmFbJExdKT8kTDoiIiwiZnVuY3Rpb25DaGFuZ2UodGhpcyk7Iik6bmJzcChyZXNldCgkZmEpKSkuJzx0ZD4nOyRLYz0kbC0+ZWRpdElucHV0KCRfR0VUWyJlZGl0Il0sJGcsJGlhLCRuKTtpZigkS2MhPSIiKXtlY2hvJEtjO31lbHNlaWYoJGdbInR5cGUiXT09InNldCIpe3ByZWdfbWF0Y2hfYWxsKCJ+JygoPzpbXiddfCcnKSopJ34iLCRnWyJsZW5ndGgiXSwkZ2EpO2ZvcmVhY2goJGdhWzFdYXMkcD0+JGEpeyRhPXN0cmlwY3NsYXNoZXMoc3RyX3JlcGxhY2UoIicnIiwiJyIsJGEpKTskeWI9KGlzX2ludCgkbik/KCRuPj4kcCkmMTppbl9hcnJheSgkYSxleHBsb2RlKCIsIiwkbiksdHJ1ZSkpO2VjaG8iIDxsYWJlbD48aW5wdXQgdHlwZT0nY2hlY2tib3gnIG5hbWU9J2ZpZWxkc1skZl1bJHBdJyB2YWx1ZT0nIi4oMTw8JHApLiInIi4oJHliPycgY2hlY2tlZCc6JycpLiIkU2E+Ii5oKCRsLT5lZGl0VmFsKCRhLCRnKSkuJzwvbGFiZWw+Jzt9fWVsc2VpZihlcmVnKCdibG9ifGJ5dGVhfHJhd3xmaWxlJywkZ1sidHlwZSJdKSYmaW5pX2Jvb2woImZpbGVfdXBsb2FkcyIpKXtlY2hvIjxpbnB1dCB0eXBlPSdmaWxlJyBuYW1lPSdmaWVsZHMtJGYnJFNhPiI7fWVsc2VpZihlcmVnKCd0ZXh0fGxvYicsJGdbInR5cGUiXSkpe2VjaG8iPHRleHRhcmVhICIuKCR0YSE9InNxbGl0ZSJ8fGVyZWcoIlxuIiwkbik/ImNvbHM9JzUwJyByb3dzPScxMiciOiJjb2xzPSczMCcgcm93cz0nMScgc3R5bGU9J2hlaWdodDogMS4yZW07JyIpLiIkaWE+Ii5oKCRuKS4nPC90ZXh0YXJlYT4nO31lbHNleyRrYz0oIWVyZWcoJ2ludCcsJGdbInR5cGUiXSkmJnByZWdfbWF0Y2goJ35eKFxcZCspKCwoXFxkKykpPyR+JywkZ1sibGVuZ3RoIl0sJGspPygoZXJlZygiYmluYXJ5IiwkZ1sidHlwZSJdKT8yOjEpKiRrWzFdKygka1szXT8xOjApKygka1syXSYmISRnWyJ1bnNpZ25lZCJdPzE6MCkpOigkYWFbJGdbInR5cGUiXV0/JGFhWyRnWyJ0eXBlIl1dKygkZ1sidW5zaWduZWQiXT8wOjEpOjApKTtlY2hvIjxpbnB1dCB2YWx1ZT0nIi5oKCRuKS4iJyIuKCRrYz8iIG1heGxlbmd0aD0nJGtjJyI6IiIpLihlcmVnKCdjaGFyfGJpbmFyeScsJGdbInR5cGUiXSkmJiRrYz4yMD8iIHNpemU9JzQwJyI6IiIpLiIkaWE+Ijt9fX1mdW5jdGlvbgpwcm9jZXNzX2lucHV0KCRnKXtnbG9iYWwkbDskRT1icmFja2V0X2VzY2FwZSgkZ1siZmllbGQiXSk7JEw9JF9QT1NUWyJmdW5jdGlvbiJdWyRFXTskbj0kX1BPU1RbImZpZWxkcyJdWyRFXTtpZigkZ1sidHlwZSJdPT0iZW51bSIpe2lmKCRuPT0tMSl7cmV0dXJuCmZhbHNlO31pZigkbj09IiIpe3JldHVybiJOVUxMIjt9cmV0dXJuKyRuO31pZigkZ1siYXV0b19pbmNyZW1lbnQiXSYmJG49PSIiKXtyZXR1cm4KbnVsbDt9aWYoJEw9PSJvcmlnIil7cmV0dXJuKCRnWyJvbl91cGRhdGUiXT09IkNVUlJFTlRfVElNRVNUQU1QIj9pZGZfZXNjYXBlKCRnWyJmaWVsZCJdKTpmYWxzZSk7fWlmKCRMPT0iTlVMTCIpe3JldHVybiJOVUxMIjt9aWYoJGdbInR5cGUiXT09InNldCIpe3JldHVybgphcnJheV9zdW0oKGFycmF5KSRuKTt9aWYoZXJlZygnYmxvYnxieXRlYXxyYXd8ZmlsZScsJGdbInR5cGUiXSkmJmluaV9ib29sKCJmaWxlX3VwbG9hZHMiKSl7JHJhPWdldF9maWxlKCJmaWVsZHMtJEUiKTtpZighaXNfc3RyaW5nKCRyYSkpe3JldHVybgpmYWxzZTt9cmV0dXJuCnEoJHJhKTt9cmV0dXJuJGwtPnByb2Nlc3NJbnB1dCgkZywkbiwkTCk7fWZ1bmN0aW9uCnNlYXJjaF90YWJsZXMoKXtnbG9iYWwkbCwkaDskX0dFVFsid2hlcmUiXVswXVsib3AiXT0iTElLRSAlJSI7JF9HRVRbIndoZXJlIl1bMF1bInZhbCJdPSRfUE9TVFsicXVlcnkiXTskbmM9ZmFsc2U7Zm9yZWFjaCh0YWJsZV9zdGF0dXMoKWFzJGU9PiR3KXskZj0kbC0+dGFibGVOYW1lKCR3KTtpZihpc3NldCgkd1siRW5naW5lIl0pJiYkZiE9IiImJighJF9QT1NUWyJ0YWJsZXMiXXx8aW5fYXJyYXkoJGUsJF9QT1NUWyJ0YWJsZXMiXSkpKXskaT0kaC0+cXVlcnkoIlNFTEVDVCIubGltaXQoIjEgRlJPTSAiLnRhYmxlKCRlKSwiIFdIRVJFICIuaW1wbG9kZSgiIEFORCAiLCRsLT5zZWxlY3RTZWFyY2hQcm9jZXNzKGZpZWxkcygkZSksYXJyYXkoKSkpLDEpKTtpZigkaS0+ZmV0Y2hfcm93KCkpe2lmKCEkbmMpe2VjaG8iPHVsPlxuIjskbmM9dHJ1ZTt9ZWNobyI8bGk+PGEgaHJlZj0nIi5oKE1FLiJzZWxlY3Q9Ii51cmxlbmNvZGUoJGUpLiImd2hlcmVbMF1bb3BdPSIudXJsZW5jb2RlKCRfR0VUWyJ3aGVyZSJdWzBdWyJvcCJdKS4iJndoZXJlWzBdW3ZhbF09Ii51cmxlbmNvZGUoJF9HRVRbIndoZXJlIl1bMF1bInZhbCJdKSkuIic+JGY8L2E+XG4iO319fWVjaG8oJG5jPyI8L3VsPiI6IjxwIGNsYXNzPSdtZXNzYWdlJz4iLmxhbmcoNikpLiJcbiI7fWZ1bmN0aW9uCmR1bXBfaGVhZGVycygkaGMsJFRjPWZhbHNlKXtnbG9iYWwkbDskYj0kbC0+ZHVtcEhlYWRlcnMoJGhjLCRUYyk7JGJiPSRfUE9TVFsib3V0cHV0Il07aWYoJGJiIT0idGV4dCIpe2hlYWRlcigiQ29udGVudC1EaXNwb3NpdGlvbjogYXR0YWNobWVudDsgZmlsZW5hbWU9Ii5mcmllbmRseV91cmwoJGhjIT0iIj8kaGM6KFNFUlZFUiE9IiI/U0VSVkVSOiJsb2NhbGhvc3QiKSkuIi4kYiIuKCRiYiE9ImZpbGUiJiYhZXJlZygnW14wLTlhLXpdJywkYmIpPyIuJGJiIjoiIikpO31zZXNzaW9uX3dyaXRlX2Nsb3NlKCk7cmV0dXJuJGI7fWZ1bmN0aW9uCmR1bXBfY3N2KCRjKXtmb3JlYWNoKCRjCmFzJGQ9PiRhKXtpZihwcmVnX21hdGNoKCJ+W1wiXG4sO1x0XX4iLCRhKXx8JGE9PT0iIil7JGNbJGRdPSciJy5zdHJfcmVwbGFjZSgnIicsJyIiJywkYSkuJyInO319ZWNobwppbXBsb2RlKCgkX1BPU1RbImZvcm1hdCJdPT0iY3N2Ij8iLCI6KCRfUE9TVFsiZm9ybWF0Il09PSJ0c3YiPyJcdCI6IjsiKSksJGMpLiJcclxuIjt9ZnVuY3Rpb24KYXBwbHlfc3FsX2Z1bmN0aW9uKCRMLCR1KXtyZXR1cm4oJEw/KCRMPT0idW5peGVwb2NoIj8iREFURVRJTUUoJHUsICckTCcpIjooJEw9PSJjb3VudCBkaXN0aW5jdCI/IkNPVU5UKERJU1RJTkNUICI6c3RydG91cHBlcigiJEwoIikpLiIkdSkiKTokdSk7fWZ1bmN0aW9uCnBhc3N3b3JkX2ZpbGUoKXskaWM9aW5pX2dldCgidXBsb2FkX3RtcF9kaXIiKTtpZighJGljKXtpZihmdW5jdGlvbl9leGlzdHMoJ3N5c19nZXRfdGVtcF9kaXInKSl7JGljPXN5c19nZXRfdGVtcF9kaXIoKTt9ZWxzZXskZWE9QHRlbXBuYW0oIiIsIiIpO2lmKCEkZWEpe3JldHVybgpmYWxzZTt9JGljPWRpcm5hbWUoJGVhKTt1bmxpbmsoJGVhKTt9fSRlYT0iJGljL2FkbWluZXIua2V5IjskYj1AZmlsZV9nZXRfY29udGVudHMoJGVhKTtpZigkYil7cmV0dXJuJGI7fSR4Yz1AZm9wZW4oJGVhLCJ3Iik7aWYoJHhjKXskYj1tZDUodW5pcWlkKG10X3JhbmQoKSx0cnVlKSk7ZndyaXRlKCR4YywkYik7ZmNsb3NlKCR4Yyk7fXJldHVybiRiO31mdW5jdGlvbgppc19tYWlsKCRtYil7JFJjPSdbLWEtejAtOSEjJCUmXCcqKy89P15fYHt8fX5dJzskR2I9J1thLXowLTldKFstYS16MC05XXswLDYxfVthLXowLTldKSc7JFY9IiRSYysoXFwuJFJjKykqQCgkR2I/XFwuKSskR2IiO3JldHVybgpwcmVnX21hdGNoKCIoXiRWKCxcXHMqJFYpKlwkKWkiLCRtYik7fWZ1bmN0aW9uCmlzX3VybCgkeil7JEdiPSdbYS16MC05XShbLWEtejAtOV17MCw2MX1bYS16MC05XSknO3JldHVybihwcmVnX21hdGNoKCJ+XihodHRwcz8pOi8vKCRHYj9cXC4pKyRHYig6XFxkKyk/KC8uKik/KFxcPy4qKT8oIy4qKT9cJH5pIiwkeiwkayk/c3RydG9sb3dlcigka1sxXSk6IiIpO31nbG9iYWwkbCwkaCwkd2EsJEpiLCRCYywkcSwkZmEsJExiLCRvYiwkc2QsJHRhLCRSLCRhYiwkWmEsJEVhLCRfYSwkSiwkYWEsJEZiLCRkYztpZighaXNzZXQoJF9TRVJWRVJbIlJFUVVFU1RfVVJJIl0pKXskX1NFUlZFUlsiUkVRVUVTVF9VUkkiXT0kX1NFUlZFUlsiT1JJR19QQVRIX0lORk8iXS4oJF9TRVJWRVJbIlFVRVJZX1NUUklORyJdIT0iIj8iPyRfU0VSVkVSW1FVRVJZX1NUUklOR10iOiIiKTt9JG9iPSRfU0VSVkVSWyJIVFRQUyJdJiZzdHJjYXNlY21wKCRfU0VSVkVSWyJIVFRQUyJdLCJvZmYiKTtAaW5pX3NldCgic2Vzc2lvbi51c2VfdHJhbnNfc2lkIixmYWxzZSk7aWYoIWRlZmluZWQoIlNJRCIpKXtzZXNzaW9uX25hbWUoImFkbWluZXJfc2lkIik7JG5iPWFycmF5KDAscHJlZ19yZXBsYWNlKCd+XFw/Lip+JywnJywkX1NFUlZFUlsiUkVRVUVTVF9VUkkiXSksIiIsJG9iKTtpZih2ZXJzaW9uX2NvbXBhcmUoUEhQX1ZFUlNJT04sJzUuMi4wJyk+PTApeyRuYltdPXRydWU7fWNhbGxfdXNlcl9mdW5jX2FycmF5KCdzZXNzaW9uX3NldF9jb29raWVfcGFyYW1zJywkbmIpO3Nlc3Npb25fc3RhcnQoKTt9cmVtb3ZlX3NsYXNoZXMoYXJyYXkoJiRfR0VULCYkX1BPU1QsJiRfQ09PS0lFKSwkTmIpO2lmKGZ1bmN0aW9uX2V4aXN0cygic2V0X21hZ2ljX3F1b3Rlc19ydW50aW1lIikpe3NldF9tYWdpY19xdW90ZXNfcnVudGltZShmYWxzZSk7fUBzZXRfdGltZV9saW1pdCgwKTtAaW5pX3NldCgiemVuZC56ZTFfY29tcGF0aWJpbGl0eV9tb2RlIixmYWxzZSk7QGluaV9zZXQoInByZWNpc2lvbiIsMjApOyRhYj1hcnJheSgnZW4nPT4nRW5nbGlzaCcsJ2NzJz0+J8SMZcWhdGluYScsJ3NrJz0+J1Nsb3ZlbsSNaW5hJywnbmwnPT4nTmVkZXJsYW5kcycsJ2VzJz0+J0VzcGHDsW9sJywnZGUnPT4nRGV1dHNjaCcsJ2ZyJz0+J0ZyYW7Dp2FpcycsJ2l0Jz0+J0l0YWxpYW5vJywnZXQnPT4nRWVzdGknLCdodSc9PidNYWd5YXInLCdwbCc9PidQb2xza2knLCdjYSc9PidDYXRhbMOgJywncHQnPT4nUG9ydHVndcOqcycsJ3NsJz0+J1Nsb3ZlbnNraScsJ2x0Jz0+J0xpZXR1dmnFsycsJ3RyJz0+J1TDvHJrw6dlJywncm8nPT4nTGltYmEgUm9tw6JuxIMnLCdydSc9PifQoNGD0YHRgdC60LjQuSDRj9C30YvQuicsJ3poJz0+J+eugOS9k+S4reaWhycsJ3poLXR3Jz0+J+e5gemrlOS4reaWhycsJ2phJz0+J+aXpeacrOiqnicsJ3RhJz0+J+CupOKAjOCuruCuv+CutOCvjScsJ2FyJz0+J9in2YTYudix2KjZitipJywpO2Z1bmN0aW9uCmdldF9sYW5nKCl7Z2xvYmFsJFI7cmV0dXJuJFI7fWZ1bmN0aW9uCmxhbmcoJEUsJFQ9bnVsbCl7Z2xvYmFsJFIsJEo7JEtiPSRKWyRFXTtpZihpc19hcnJheSgkS2IpKXskV2Q9KCRUPT0xPzA6KCRSPT0nY3MnfHwkUj09J3NrJz8oJFQmJiRUPDU/MToyKTooJFI9PSdmcic/KCEkVD8wOjEpOigkUj09J3BsJz8oJFQKJQoxMD4xJiYkVAolCjEwPDUmJiRULzEwCiUKMTAhPTE/MToyKTooJFI9PSdzbCc/KCRUCiUKMTAwPT0xPzA6KCRUCiUKMTAwPT0yPzE6KCRUCiUKMTAwPT0zfHwkVAolCjEwMD09ND8yOjMpKSk6KCRSPT0nbHQnPygkVAolCjEwPT0xJiYkVAolCjEwMCE9MTE/MDooJFQKJQoxMD4xJiYkVC8xMAolCjEwIT0xPzE6MikpOigkUj09J3J1Jz8oJFQKJQoxMD09MSYmJFQKJQoxMDAhPTExPzA6KCRUCiUKMTA+MSYmJFQKJQoxMDw1JiYkVC8xMAolCjEwIT0xPzE6MikpOjEpKSkpKSkpOyRLYj0kS2JbJFdkXTt9JExjPWZ1bmNfZ2V0X2FyZ3MoKTthcnJheV9zaGlmdCgkTGMpO3JldHVybgp2c3ByaW50ZigoaXNzZXQoJEtiKT8kS2I6JEUpLCRMYyk7fWZ1bmN0aW9uCnN3aXRjaF9sYW5nKCl7Z2xvYmFsJFIsJGFiO2VjaG8iPGZvcm0gYWN0aW9uPScnPlxuPGRpdiBpZD0nbGFuZyc+IjtoaWRkZW5fZmllbGRzKCRfR0VULGFycmF5KCdsYW5nJykpO2VjaG8KbGFuZyg3KS4iOiAiLmh0bWxfc2VsZWN0KCJsYW5nIiwkYWIsJFIsInZhciBsb2MgPSBsb2NhdGlvbi5zZWFyY2gucmVwbGFjZSgvWz8mXWxhbmc9W14mXSovLCAnJyk7IGxvY2F0aW9uLnNlYXJjaCA9IGxvYyArIChsb2MgPyAnJicgOiAnJykgKyAnbGFuZz0nICsgdGhpcy52YWx1ZTsiKSwiIDxpbnB1dCB0eXBlPSdzdWJtaXQnIHZhbHVlPSciLmxhbmcoOCkuIicgY2xhc3M9J2hpZGRlbic+XG4iLCI8L2Rpdj5cbjwvZm9ybT5cbiI7fWlmKGlzc2V0KCRfR0VUWyJsYW5nIl0pKXskX0NPT0tJRVsiYWRtaW5lcl9sYW5nIl09JF9HRVRbImxhbmciXTskX1NFU1NJT05bImxhbmciXT0kX0dFVFsibGFuZyJdO30kUj0iZW4iO2lmKGlzc2V0KCRhYlskX0NPT0tJRVsiYWRtaW5lcl9sYW5nIl1dKSl7Y29va2llKCJhZG1pbmVyX2xhbmciLCRfQ09PS0lFWyJhZG1pbmVyX2xhbmciXSk7JFI9JF9DT09LSUVbImFkbWluZXJfbGFuZyJdO31lbHNlaWYoaXNzZXQoJGFiWyRfU0VTU0lPTlsibGFuZyJdXSkpeyRSPSRfU0VTU0lPTlsibGFuZyJdO31lbHNleyRnYz1hcnJheSgpO3ByZWdfbWF0Y2hfYWxsKCd+KFstYS16XSspKDtxPShbMC05Ll0rKSk/ficsc3RyX3JlcGxhY2UoIl8iLCItIixzdHJ0b2xvd2VyKCRfU0VSVkVSWyJIVFRQX0FDQ0VQVF9MQU5HVUFHRSJdKSksJGdhLFBSRUdfU0VUX09SREVSKTtmb3JlYWNoKCRnYQphcyRrKXskZ2NbJGtbMV1dPShpc3NldCgka1szXSk/JGtbM106MSk7fWFyc29ydCgkZ2MpO2ZvcmVhY2goJGdjCmFzJGQ9PiRUYil7aWYoaXNzZXQoJGFiWyRkXSkpeyRSPSRkO2JyZWFrO30kZD1wcmVnX3JlcGxhY2UoJ34tLip+JywnJywkZCk7aWYoIWlzc2V0KCRnY1skZF0pJiZpc3NldCgkYWJbJGRdKSl7JFI9JGQ7YnJlYWs7fX19c3dpdGNoKCRSKXtjYXNlImVuIjokSj1hcnJheSgnQXJlIHlvdSBzdXJlPycsJ1VuYWJsZSB0byB1cGxvYWQgYSBmaWxlLicsJ01heGltdW0gYWxsb3dlZCBmaWxlIHNpemUgaXMgJXNCLicsJ0ZpbGUgZG9lcyBub3QgZXhpc3QuJywnZW1wdHknLCdvcmlnaW5hbCcsJ05vIHRhYmxlcy4nLCdMYW5ndWFnZScsJ1VzZScsJ1BsZWFzZSB1c2Ugb25lIG9mIHRoZSBleHRlbnNpb25zICVzLicsJ0ZpbGUgZXhpc3RzLicsJ1VzZXIgdHlwZXMnLCdOdW1iZXJzJywnRGF0ZSBhbmQgdGltZScsJ1N0cmluZ3MnLCdCaW5hcnknLCdOZXR3b3JrJywnR2VvbWV0cnknLCdMaXN0cycsJ0VkaXRvcicsJ1VzZXJuYW1lJywnUGFzc3dvcmQnLCdMb2dpbicsJ1Blcm1hbmVudCBsb2dpbicsJ05ldyBpdGVtJywnTGFzdCBwYWdlJyxhcnJheSgnJWQgYnl0ZScsJyVkIGJ5dGVzJyksJyQxLSQzLSQ1JywnU2VhcmNoJywnYW55d2hlcmUnLCdTb3J0JywnTGltaXQnLCdBY3Rpb24nLCdTZWxlY3QnLCdFLW1haWwnLCdGcm9tJywnU3ViamVjdCcsJ0luc2VydCcsJ0F0dGFjaG1lbnRzJywnU2VuZCcsYXJyYXkoJyVkIGUtbWFpbCBoYXMgYmVlbiBzZW50LicsJyVkIGUtbWFpbHMgaGF2ZSBiZWVuIHNlbnQuJyksJ25vdycsJ0hIOk1NOlNTJywnW3l5eXldLW1tLWRkJywnTG9nb3V0JywnbHRyJywnUmVzZW5kIFBPU1QgZGF0YT8nLCdTZXJ2ZXInLCdJbnZhbGlkIENTUkYgdG9rZW4uIFNlbmQgdGhlIGZvcm0gYWdhaW4uJywnTG9nb3V0IHN1Y2Nlc3NmdWwuJywnU2Vzc2lvbiBzdXBwb3J0IG11c3QgYmUgZW5hYmxlZC4nLCdTZXNzaW9uIGV4cGlyZWQsIHBsZWFzZSBsb2dpbiBhZ2Fpbi4nLCdJbnZhbGlkIGNyZWRlbnRpYWxzLicsJ05vIGV4dGVuc2lvbicsJ05vbmUgb2YgdGhlIHN1cHBvcnRlZCBQSFAgZXh0ZW5zaW9ucyAoJXMpIGFyZSBhdmFpbGFibGUuJywnVG9vIGJpZyBQT1NUIGRhdGEuIFJlZHVjZSB0aGUgZGF0YSBvciBpbmNyZWFzZSB0aGUgJXMgY29uZmlndXJhdGlvbiBkaXJlY3RpdmUuJywnSXRlbSBoYXMgYmVlbiBkZWxldGVkLicsJ0l0ZW0gaGFzIGJlZW4gdXBkYXRlZC4nLCdJdGVtJXMgaGFzIGJlZW4gaW5zZXJ0ZWQuJywnRWRpdCcsJ05vIHJvd3MuJywnU2F2ZScsJ1NhdmUgYW5kIGNvbnRpbnVlIGVkaXQnLCdTYXZlIGFuZCBpbnNlcnQgbmV4dCcsJ0RlbGV0ZScsYXJyYXkoJyVkIGl0ZW0gaGFzIGJlZW4gYWZmZWN0ZWQuJywnJWQgaXRlbXMgaGF2ZSBiZWVuIGFmZmVjdGVkLicpLCdEb3VibGUgY2xpY2sgb24gYSB2YWx1ZSB0byBtb2RpZnkgaXQuJyxhcnJheSgnJWQgcm93IGhhcyBiZWVuIGltcG9ydGVkLicsJyVkIHJvd3MgaGF2ZSBiZWVuIGltcG9ydGVkLicpLCdVbmFibGUgdG8gc2VsZWN0IHRoZSB0YWJsZScsJ2VkaXQnLCdSZWxhdGlvbnMnLCdVc2UgZWRpdCBsaW5rIHRvIG1vZGlmeSB0aGlzIHZhbHVlLicsJ1BhZ2UnLCdsYXN0JyxhcnJheSgnJWQgcm93JywnJWQgcm93cycpLCd3aG9sZSByZXN1bHQnLCdDbG9uZScsJ0V4cG9ydCcsJ0ltcG9ydCcsJ1NlYXJjaCBkYXRhIGluIHRhYmxlcycsJ1RhYmxlJywnUm93cycsJywnLGFycmF5KCclZCBxdWVyeSBleGVjdXRlZCBPSy4nLCclZCBxdWVyaWVzIGV4ZWN1dGVkIE9LLicpKTticmVhaztjYXNlImNzIjokSj1hcnJheSgnT3ByYXZkdT8nLCdOZXBvZGHFmWlsbyBzZSBuYWhyw6F0IHNvdWJvci4nLCdNYXhpbcOhbG7DrSBwb3ZvbGVuw6EgdmVsaWtvc3Qgc291Ym9ydSBqZSAlc0IuJywnU291Ym9yIG5lZXhpc3R1amUuJywncHLDoXpkbsOpJywncMWvdm9kbsOtJywnxb3DoWRuw6kgdGFidWxreS4nLCdKYXp5aycsJ1Z5YnJhdCcsJ1Byb3PDrW0gcG91xb5panRlIGplZG51IHoga29uY292ZWsgJXMuJywnU291Ym9yIGV4aXN0dWplLicsJ1XFvml2YXRlbHNrw6kgdHlweScsJ8SMw61zbGEnLCdEYXR1bSBhIMSNYXMnLCfFmGV0xJt6Y2UnLCdCaW7DoXJuw60nLCdTw63FpScsJ0dlb21ldHJpZScsJ1Nlem5hbXknLCdFZGl0b3InLCdVxb5pdmF0ZWwnLCdIZXNsbycsJ1DFmWlobMOhc2l0IHNlJywnVHJ2YWzDqSBwxZlpaGzDocWhZW7DrScsJ05vdsOhIHBvbG/FvmthJywnUG9zbGVkbsOtIHN0csOhbmthJyxhcnJheSgnJWQgYmFqdCcsJyVkIGJhanR5JywnJWQgYmFqdMWvJyksJyQ2LiQ0LiQxJywnVnlobGVkYXQnLCdrZGVrb2xpdicsJ1NlxZlhZGl0JywnTGltaXQnLCdBa2NlJywnVnlwc2F0JywnRS1tYWlsJywnT2Rlc8OtbGF0ZWwnLCdQxZllZG3Em3QnLCdWbG/Fvml0JywnUMWZw61sb2h5JywnT2Rlc2xhdCcsYXJyYXkoJ0J5bCBvZGVzbMOhbiAlZCBlLW1haWwuJywnQnlseSBvZGVzbMOhbnkgJWQgZS1tYWlseS4nLCdCeWxvIG9kZXNsw6FubyAlZCBlLW1haWzFry4nKSwndGXEjycsJ0hIOk1NOlNTJywnZC5tLltycnJyXScsJ09kaGzDoXNpdCcsJ2x0cicsJ1pub3Z1IG9kZXNsYXQgUE9TVCBkYXRhPycsJ1NlcnZlcicsJ05lcGxhdG7DvSB0b2tlbiBDU1JGLiBPZGXFoWxldGUgZm9ybXVsw6HFmSB6bm92dS4nLCdPZGhsw6HFoWVuw60gcHJvYsSbaGxvIHYgcG/FmcOhZGt1LicsJ1Nlc3Npb24gcHJvbcSbbm7DqSBtdXPDrSBiw710IHBvdm9sZW7DqS4nLCdTZXNzaW9uIHZ5cHLFoWVsYSwgcMWZaWhsYcWhdGUgc2UgcHJvc8OtbSB6bm92dS4nLCdOZXBsYXRuw6kgcMWZaWhsYcWhb3ZhY8OtIMO6ZGFqZS4nLCfFvcOhZG7DoSBleHRlbnplJywnTmVuw60gZG9zdHVwbsOhIMW+w6FkbsOhIHogcG9kcG9yb3ZhbsO9Y2ggUEhQIGV4dGVuesOtICglcykuJywnUMWZw61sacWhIHZlbGvDoSBQT1NUIGRhdGEuIFptZW7FoWV0ZSBkYXRhIG5lYm8genZ5xaF0ZSBob2Rub3R1IGtvbmZpZ3VyYcSNbsOtIGRpcmVrdGl2eSAlcy4nLCdQb2xvxb5rYSBieWxhIHNtYXrDoW5hLicsJ1BvbG/FvmthIGJ5bGEgYWt0dWFsaXpvdsOhbmEuJywnUG9sb8W+a2ElcyBieWxhIHZsb8W+ZW5hLicsJ1VwcmF2aXQnLCfFvcOhZG7DqSDFmcOhZGt5LicsJ1Vsb8W+aXQnLCdVbG/Fvml0IGEgcG9rcmHEjW92YXQgdiBlZGl0YWNpJywnVWxvxb5pdCBhIHZsb8W+aXQgZGFsxaHDrScsJ1NtYXphdCcsYXJyYXkoJ0J5bCBvdmxpdm7Em24gJWQgesOhem5hbS4nLCdCeWx5IG92bGl2bsSbbnkgJWQgesOhem5hbXkuJywnQnlsbyBvdmxpdm7Em25vICVkIHrDoXpuYW3Fry4nKSwnRHZvamtsaWtuxJt0ZSBuYSBwb2zDrcSNa28sIGt0ZXLDqSBjaGNldGUgem3Em25pdC4nLGFycmF5KCdCeWwgaW1wb3J0b3bDoW4gJWQgesOhem5hbS4nLCdCeWx5IGltcG9ydG92w6FueSAlZCB6w6F6bmFteS4nLCdCeWxvIGltcG9ydG92w6FubyAlZCB6w6F6bmFtxa8uJyksJ05lcG9kYcWZaWxvIHNlIHZ5cHNhdCB0YWJ1bGt1JywndXByYXZpdCcsJ1Z6dGFoeScsJ0tlIHptxJtuxJsgdMOpdG8gaG9kbm90eSBwb3XFvmlqdGUgb2RrYXogdXByYXZpdC4nLCdTdHLDoW5rYScsJ3Bvc2xlZG7DrScsYXJyYXkoJyVkIMWZw6FkZWsnLCclZCDFmcOhZGt5JywnJWQgxZnDoWRrxa8nKSwnY2Vsw70gdsO9c2xlZGVrJywnS2xvbm92YXQnLCdFeHBvcnQnLCdJbXBvcnQnLCdWeWhsZWRhdCBkYXRhIHYgdGFidWxrw6FjaCcsJ1RhYnVsa2EnLCfFmMOhZGvFrycsJyAnLCdQb3ptxJtuaXQgdHlwJyk7YnJlYWs7Y2FzZSJzayI6JEo9YXJyYXkoJ05hb3phaj8nLCdTw7pib3Igc2EgbmVwb2RhcmlsbyBuYWhyYcWlLicsJ01heGltw6FsbmEgcG92b2xlbsOhIHZlxL5rb3PFpSBzw7pib3J1IGplICVzQi4nLCdTw7pib3IgbmVleGlzdHVqZS4nLCdwcsOhemRuZScsJ29yaWdpbsOhbCcsJ8W9aWFkbmUgdGFidcS+a3kuJywnSmF6eWsnLCdWeWJyYcWlJywnUHJvc8OtbSB2eWJlcnRlIGplZG51IHoga29uY292aWVrICVzLicsJ1PDumJvciBleGlzdHVqZS4nLCdVxb7DrXZhdGXEvnNrw6kgdHlweScsJ8SMw61zbGEnLCdEw6F0dW0gYSDEjWFzJywnUmXFpWF6Y2UnLCdCaW7DoXJuZScsJ1NpZcWlJywnR2VvbWV0cmlhJywnWm96bmFteScsJ0VkaXRvcicsJ1BvdcW+w612YXRlxL4nLCdIZXNsbycsJ1ByaWhsw6FzacWlIHNhJywnVHJ2YWzDqSBwcmlobMOhc2VuaWUnLCdOb3bDoSBwb2xvxb5rYScsJ1Bvc2xlZG7DoSBzdHLDoW5rYScsYXJyYXkoJyVkIGJhanQnLCclZCBiYWp0eScsJyVkIGJhanRvdicpLCckNi4kNC4kMScsJ1Z5aMS+YWRhxaUnLCdrZGVrb8S+dmVrJywnWm90cmllZGnFpScsJ0xpbWl0JywnQWtjaWEnLCdWeXDDrXNhxaUnLCdFLW1haWwnLCdPZG9zaWVsYXRlxL4nLCdQcmVkbWV0JywnVmxvxb5pxaUnLCdQcsOtbG9oeScsJ09kb3NsYcWlJyxhcnJheSgnQm9sIG9kb3NsYW7DvSAlZCBlLW1haWwuJywnQm9saSBvZG9zbGFuw6kgJWQgZS1tYWlseS4nLCdCb2xvIG9kb3NsYW7DvWNoICVkIGUtbWFpbG92LicpLCd0ZXJheicsJ0hIOk1NOlNTJywnZC5tLltycnJyXScsJ09kaGzDoXNpxaUnLCdsdHInLCdabm92dSBwb3NsYcWlIFBPU1QgZGF0YT8nLCdTZXJ2ZXInLCdOZXBsYXRuw70gdG9rZW4gQ1NSRi4gT2RvxaFsaXRlIGZvcm11bMOhciB6bm92YS4nLCdPZGhsw6FzZW5pZSBwcmViZWhsbyB2IHBvcmlhZGt1LicsJ1Nlc3Npb24gcHJlbWVubsOpIG11c2lhIGJ5xaUgcG92b2xlbsOpLicsJ1Nlc3Npb24gdnlwcsWhYWxhLCBwcmlobMOhc3RlIHNhIHByb3PDrW0gem5vdmEuJywnTmVwbGF0bsOpIHByaWhsYXNvdmFjaWUgw7pkYWplLicsJ8W9aWFkbmUgcm96xaHDrXJlbmllJywnTmllIGplIGRvc3R1cG7DqSDFvmlhZG5lIHogcG9kcG9yb3ZhbsO9Y2ggcm96xaHDrXJlbsOtICglcykuJywnUHLDrWxpxaEgdmXEvmvDqSBQT1NUIGTDoXRhLiBabWVuxaFpdGUgZMOhdGEgYWxlYm8genbDvcWhdGUgaG9kbm90dSBrb25maWd1cmHEjWVqIGRpcmVrdMOtdnkgJXMuJywnUG9sb8W+a2EgYm9sYSB2eW1hemFuw6EuJywnUG9sb8W+a2EgYm9sYSBha3R1YWxpem92YW7DoS4nLCdQb2xvxb5rYSVzIGJvbGEgdmxvxb5lbsOhLicsJ1VwcmF2acWlJywnxb1pYWRuZSByaWFka3kuJywnVWxvxb5pxaUnLCdVbG/FvmnFpSBhIHBva3JhxI1vdmHFpSB2IMO6cHJhdsOhY2gnLCdVbG/FvmnFpSBhIHZsb8W+acWlIMSPYWzFocOtJywnWm1hemHFpScsJyVkIHBvbG/FvmllayBib2xvIG92cGx5dm5lbsO9Y2guJywnRHZvamtsaWtuaXRlIG5hIHBvbMOtxI1rbywga3RvcsOpIGNoY2V0ZSB6bWVuacWlLicsYXJyYXkoJ0JvbCBpbXBvcnRvdmFuw70gJWQgesOhem5hbS4nLCdCb2xpIGltcG9ydG92YW7DqSAlZCB6w6F6bmFteS4nLCdCb2xvIGltcG9ydG92YW7DvWNoICVkIHrDoXpuYW1vdi4nKSwnVGFidcS+a3Ugc2EgbmVwb2RhcmlsbyB2eXDDrXNhxaUnLCd1cHJhdmnFpScsJ1Z6xaVhaHknLCdQcmUgem1lbnUgdGVqdG8gaG9kbm90eSBwb3XFvml0ZSBvZGtheiB1cHJhdmnFpS4nLCdTdHLDoW5rYScsJ3Bvc2xlZG7DvScsYXJyYXkoJyVkIHJpYWRvaycsJyVkIHJpYWRreScsJyVkIHJpYWRrb3YnKSwnY2Vsw70gdsO9c2xlZG9rJywnS2xvbm92YcWlJywnRXhwb3J0JywnSW1wb3J0JywnVnloxL5hZGHFpSBkw6F0YSB2IHRhYnXEvmvDoWNoJywnVGFidcS+a2EnLCdSaWFka3knLCcgJywnVXByYXZpxaUgdsWhZXRrbycpO2JyZWFrO2Nhc2UibmwiOiRKPWFycmF5KCdXZWV0IHUgaGV0IHpla2VyPycsJ09ubW9nZWxpamsgYmVzdGFuZCB0ZSB1cGxvYWRlbi4nLCdNYXhpbXVtIHRvZWdlbGF0ZW4gYmVzdGFuZHNncm9vdHRlIGlzICVzQi4nLCdCZXN0YW5kIG5pZXQgZ2V2b25kZW4uJywnbGVlZycsJ29yaWdpbmVlbCcsJ0dlZW4gdGFiZWxsZW4uJywnVGFhbCcsJ0dlYnJ1aWsnLCdHZWJydWlrIDEgdmFuIHZvbGdlbmRlIGV4dGVuc2llczogJXMuJywnQmVzdGFuZCBiZXN0YWF0IHJlZWRzLicsJ0dlYnJ1aWtlcnNnZWRlZmluacOrZXJkZSB0eXBlcycsJ0dldGFsbGVuJywnRGF0dW0gZW4gdGlqZCcsJ1Rla3N0JywnQmluYWlyZSBnZWdldmVucycsJ05ldHdlcmsnLCdHZW9tZXRyaWUnLCdMaWpzdGVuJywnRWRpdG9yJywnR2VicnVpa2Vyc25hYW0nLCdXYWNodHdvb3JkJywnSW5sb2dnZW4nLCdCbGlqZiBhYW5nZW1lbGQnLCdOaWV1dyBpdGVtJywnTGFhdHN0ZSBwYWdpbmEnLGFycmF5KCclZCBieXRlJywnJWQgYnl0ZXMnKSwnJDUtJDMtJDEnLCdab2VrZW4nLCdvdmVyYWwnLCdTb3J0ZXJlbicsJ0JlcGVyaycsJ0FjdGllcycsJ0tpZXMnLCdFLW1haWwnLCdWYW4nLCdPbmRlcndlcnAnLCdUb2V2b2VnZW4nLCdCaWpsYWdlbicsJ1ZlcnplbmRlbicsYXJyYXkoJyVkIGUtbWFpbCB2ZXJ6b25kZW4uJywnJWQgZS1tYWlscyB2ZXJ6b25kZW4uJyksJ251JywnSEg6TU06U1MnLCdkZC1tbS1bampqal0nLCdVaXRsb2dnZW4nLCdsdHInLCdQT1NUIGRhdGEgb3BuaWV1dyB2ZXJ6ZW5kZW4nLCdTZXJ2ZXInLCdPbmdlbGRpZyBDU1JGIHRva2VuLiBWZXJzdHV1ciBoZXQgZm9ybXVsaWVyIG9wbmlldXcuJywnVWl0bG9nZ2VuIGdlc2xhYWdkLicsJ1Nlc3NpZXMgbW9ldGVuIGdlYWN0aXZlZXJkIHppam4uJywnVXcgc2Vzc2llIGlzIHZlcmxvcGVuLiBHZWxpZXZlIG9wbmlldXcgaW4gdGUgbG9nZ2VuLicsJ09uZ2VsZGlnZSBsb2dpbmdlZ2V2ZW5zLicsJ0dlZW4gZXh0ZW5zaWUnLCdHZWVuIGdlbGRpZ2UgUEhQIGV4dGVuc2llcyBiZXNjaGlrYmFhciAoJXMpLicsJ1BPU1QtZGF0YSBpcyB0ZSBncm9vdC4gVmVya2xlaW4gZGUgaG9ldmVlbGhlaWQgZGF0YSBvZiB2ZXJob29nIGRlICVzIGNvbmZpZ3VyYXRpZS4nLCdJdGVtIHZlcndpamRlcmQuJywnSXRlbSBhYW5nZXBhc3QuJywnSXRlbSVzIHRvZWdldm9lZ2QuJywnQmV3ZXJrJywnR2VlbiByaWplbi4nLCdPcHNsYWFuJywnT3BzbGFhbiBlbiB2ZXJkZXIgYmV3ZXJrZW4nLCdPcHNsYWFuLCBkYWFybmEgdG9ldm9lZ2VuJywnVmVyd2lqZGVyZW4nLGFycmF5KCclZCBpdGVtIGFhbmdlcGFzdC4nLCclZCBpdGVtcyBhYW5nZXBhc3QuJyksJ0R1YmJlbGtsaWsgb3AgZWVuIHdhYXJkZSBvbSBkZXplIHRlIGJld2Vya2VuLicsYXJyYXkoJyVkIHJpaiB3ZXJkIGdlw69tcG9ydGVlcmQuJywnJWQgcmlqZW4gd2VyZGVuIGdlw69tcG9ydGVlcmQuJyksJ09ubW9nZWxpamsgdGFiZWwgdGUgc2VsZWN0ZXJlbicsJ2Jld2VyaycsJ1JlbGF0aWVzJywnR2VicnVpayBkZSBsaW5rICJiZXdlcmsiIG9tIGRlemUgd2FhcmRlIHRlIHdpanppZ2VuLicsJ1BhZ2luYScsJ2xhYXRzdGUnLGFycmF5KCclZCByaWonLCclZCByaWplbicpLCd2b2xsZWRpZyByZXN1bHRhYXQnLCdEdXBsaWNlZXInLCdFeHBvcnRlcmVuJywnSW1wb3J0ZXJlbicsJ1pvZWtlbiBpbiBkYXRhYmFzZScsJ1RhYmVsJywnUmlqZW4nLCcuJywnQWxsZXMgYmV3ZXJrZW4nKTticmVhaztjYXNlImVzIjokSj1hcnJheSgnRXN0w6Egc2VndXJvPycsJ05vIGVzIHBvc2libGUgaW1wb3J0YXIgYXJjaGl2by4nLCdUYW1hw7FvIG3DoXhpbW8gZGUgYXJjaGl2byBlcyAlc0IuJywnQXJjaGl2byBubyBleGlzdGUuJywnbmluZ8O6bm8nLCdvcmlnaW5hbCcsJ05vIGV4aXN0ZW4gdGFibGFzLicsJ0lkaW9tYScsJ1VzYXInLCdQb3IgZmF2b3IgdXNlIHVuYSBkZSBsYXMgZXh0ZW5zaW9uZXMgJXMuJywnQXJjaGl2byB5YSBleGlzdGUuJywnVGlwb3MgZGVmaW5pZG8gcG9yIGVsIHVzdWFyaW8nLCdOw7ptZXJvcycsJ0ZlY2hhIHkgaG9yYScsJ0NhZGVuYScsJ0JpbmFyaW8nLCdSZWQnLCdHZW9tZXRyw61hJywnTGlzdGFzJywnRWRpdG9yJywnVXN1YXJpbycsJ0NvbnRyYXNlw7FhJywnTG9naW4nLCdHdWFyZGFyIGNvbnRyYXNlw7FhJywnTnVldm8gUmVnaXN0cm8nLCdVbHRpbWEgcMOhZ2luYScsYXJyYXkoJyVkIGJ5dGUnLCclZCBieXRlcycpLCckNS8kMy8kMScsJ0NvbmRpY2nDs24nLCdkb25kZSBzZWEnLCdPcmRlbmFyJywnTGltaXQnLCdBY2Npw7NuJywnTW9zdHJhcicsJ0VtYWlsJywnRGUnLCdBc3VudG8nLCdBZ3JlZ2FyJywnQWRqdW50b3MnLCdFbnZpYXInLGFycmF5KCclZCBlbWFpbCBlbnZpYWRvLicsJyVkIGVtYWlscyBlbnZpYWRvcy4nKSwnYWhvcmEnLCdISDpNTTpTUycsJ2RkL21tL1thYWFhXScsJ0xvZ291dCcsJ2x0cicsJ1ZvbHZlciBhIGVudmlhciBQT1NUIGRhdGE/JywnU2Vydmlkb3InLCdUb2tlbiBDU1JGIGludsOhbGlkby4gVnVlbHZhIGEgZW52aWFyIGxvcyBkYXRvcyBkZWwgZm9ybXVsYXJpby4nLCdTYWxpZGEgZXhpdG9zYS4nLCdEZWJlbiBlc3RhciBoYWJpbGl0YWRhcyBsYXMgc2VzaW9uZXMuJywnU2VzacOzbiBleHBpcmFkYSwgcG9yIGZhdm9yIGluZ3Jlc2Ugc3UgY2xhdmUgZGUgbnVldm8uJywnSWRlbnRpZmljYWNpb24gaW52w6FsaWRhLicsJ05vIGhheSBleHRlbnNpb24nLCdOaW5ndW5hIGRlIGxhcyBleHRlbnNpb25lcyBQSFAgc29wb3J0YWRhcyAoJXMpIGVzdMOhIGRpc3BvbmlibGUuJywnUE9TVCBkYXRhIGRlbWFzaWFkbyBncmFuZGUuIFJlZHV6Y2EgZWwgdGFtYcOxbyBvIGF1bWVudGUgbGEgZGlyZWN0aXZhIGRlIGNvbmZpZ3VyYWNpw7NuICVzLicsJ1JlZ2lzdHJvIGVsaW1pbmFkby4nLCdSZWdpc3RybyBtb2RpZmljYWRvLicsJ1JlZ2lzdHJvJXMgaW5zZXJ0YWRvLicsJ01vZGlmaWNhcicsJ05vIGV4aXN0ZW4gcmVnaXN0cm9zLicsJ0d1YXJkYXInLCdHdWFyZGFyIHkgY29udGludWFyIGVkaXRhbmRvJywnR3VhcmRhciBlIGluc2VydGFyIG90cm8nLCdFbGltaW5hcicsYXJyYXkoJyVkIMOtdGVtIGFmZWN0YWRvLicsJyVkIGl0ZW1lcyBhZmVjdGFkb3MuJyksJ0RvYmxlLWNsaWMgc29icmUgZWwgdmFsb3IgcGFyYSBlZGl0YXJsby4nLGFycmF5KCclZCByZWdpc3RybyBpbXBvcnRhZG8uJywnJWQgcmVnaXN0cm9zIGltcG9ydGFkb3MuJyksJ05vIGVzIHBvc2libGUgc2VsZWNjaW9uYXIgbGEgdGFibGEnLCdtb2RpZmljYXInLCdSZWxhY2lvbmVzJywnVXRpbGljZSBlbCBlbmxhY2UgZGUgbW9kaWZpY2FyIHBhcmEgcmVhbGl6YXIgbG9zIGNhbWJpb3MuJywnUMOhZ2luYScsJ8O6bHRpbW8nLGFycmF5KCclZCByZWdpc3RybycsJyVkIHJlZ2lzdHJvcycpLCdyZXN1bHRhZG8gY29tcGxldG8nLCdDbG9uYXInLCdFeHBvcnRhcicsJ0ltcG9ydGFyJywnQnVzY2FyIGRhdG9zIGVuIHRhYmxhcycsJ1RhYmxhJywnUmVnaXN0cm9zJywnICcsJ0VkaXRhciB0b2RvcycpO2JyZWFrO2Nhc2UiZGUiOiRKPWFycmF5KCdTaW5kIFNpZSBzaWNoZXIgPycsJ0hvY2hsYWRlbiB2b24gRGF0ZWkgZmVobGdlc2NobGFnZW4uJywnTWF4aW1hbCBlcmxhdWJ0ZSBEYXRlaWdyw7Zzc2UgaXN0ICVzQi4nLCdEYXRlaSBleGlzdGllcnQgbmljaHQuJywnbGVlcicsJ09yaWdpbmFsJywnS2VpbmUgVGFiZWxsZW4uJywnU3ByYWNoZScsJ0JlbnV0enVuZycsJ0JpdHRlIGVpbmVuIGRlciBEYXRlaXR5cGVuICVzIGJlbnV0emVuLicsJ0RhdGVpIGV4aXN0aWVydCBzY2hvbi4nLCdCZW51dHplci1kZWZpbmllcnRlIFR5cGVuJywnWmFobGVuJywnRGF0dW0gb2RlciBaZWl0JywnWmVpY2hlbmtldHRlbicsJ0JpbsOkcicsJ05ldHp3ZXJrJywnR2VvbWV0cmllJywnTGlzdGVuJywnRWRpdG9yJywnQmVudXR6ZXInLCdQYXNzd29ydCcsJ0xvZ2luJywnUGFzc3dvcnQgc3BlaWNoZXJuJywnTmV1ZXIgRGF0ZW5zYXR6JywnTGV0enRlIFNlaXRlJyxhcnJheSgnJWQgQnl0ZScsJyVkIEJ5dGVzJyksJyQ2LiQ0LiQxJywnU3VjaGVuJywnYmVsaWViaWcnLCdPcmRuZW4nLCdCZWdyZW56dW5nJywnQWt0aW9uJywnRGF0ZW4gemVpZ2VuIHZvbicsJ0UtbWFpbCcsJ1ZvbicsJ0JldHJlZmYnLCdIaW56dWbDvGdlbicsJ0FuaMOkbmdlJywnQWJzY2hpY2tlbicsYXJyYXkoJyVkIGUtbWFpbCBhYmdlc2NoaWNrdC4nLCclZCBlLW1haWxzIGFiZ2VzY2hpY2t0LicpLCdqZXR6dCcsJ0hIOk1NOlNTJywndC5tLltqampqXScsJ0FibWVsZGVuJywnbHRyJywnUE9TVCBkYXRhIG5vY2ggZWlubWFsIHNlbmRlbiA/JywnU2VydmVyJywnQ1NSRiBUb2tlbiB1bmfDvGx0aWcuIEJpdHRlIGRpZSBGb3JtdWxhcmRhdGVuIGVybmV1dCBhYnNjaGlja2VuLicsJ0FibWVsZHVuZyBlcmZvbGdyZWljaC4nLCdTaXR6dW5nZW4gbcO8c3NlbiBha3RpdmllcnQgc2Vpbi4nLCdTaXR6dW5nc2RhdWVyIGFiZ2VsYXVmZW4sIGJpdHRlIGVybmV1dCBhbm1lbGRlbi4nLCdVbmfDvGx0aWdlIEFubWVsZGUtSW5mb3JtYXRpb25lbi4nLCdLZWluZSBFcndlaXRlcnVuZ2VuIGluc3RhbGxpZXJ0JywnS2VpbmUgZGVyIHVudGVyc3TDvHR6dGVuIFBIUC1FcndlaXRlcnVuZ2VuICglcykgaXN0IHZvcmhhbmRlbi4nLCdQT1NUIGRhdGEgenUgZ3Jvc3MuIFJlZHV6aWVyZW4gU2llIGRpZSBHcsO2c3NlIG9kZXIgdmVyZ3LDtnNzZXJuIFNpZSBkZW4gV2VydCAlcyBpbiBkZXIgS29uZmlndXJhdGlvbi4nLCdEYXRlbnNhdHogZ2Vsw7ZzY2h0LicsJ0RhdGVuc2F0eiBnZcOkbmRlcnQuJywnRGF0ZW5zYXR6JXMgaGluenVnZWbDvGd0LicsJ8OEbmRlcm4nLCdLZWluZSBEYXRlbi4nLCdTcGVpY2hlcm4nLCdTcGVpY2hlcm4gdW5kIHdlaXRlciBiZWFyYmVpdGVuJywnU3BlaWNoZXJuIHVuZCBuw6RjaHN0ZW4gaGluenVmw7xnZW4nLCdFbnRmZXJuZW4nLCclZCBBcnRpa2VsIGJldHJvZmZlbi4nLCdEb3BwZWxrbGljayB6dW0gQmVhcmJlaXRlbiBkZXMgV2VydGVzLicsYXJyYXkoJyVkIERhdGVuc2F0eiBpbXBvcnRpZXJ0LicsJyVkIERhdGVuc8OkdHplIHd1cmRlbiBpbXBvcnRpZXJ0LicpLCdBdXN3YWhsIGRlciBUYWJlbGxlIGZlaGxnZXNjaGxhZ2VuJywnw6RuZGVybicsJ1JlbGF0aW9uZW4nLCdCZW51dHplbiBTaWUgZGVuIExpbmsgenVtIGVkaXRpZXJlbiBkaWVzZXMgV2VydGVzLicsJ1NlaXRlJywnbGV0enRlJyxhcnJheSgnJWQgRGF0ZW5zYXR6JywnJWQgRGF0ZW5zw6R0emUnKSwnR2VzYW10ZXJnZWJuaXMnLCdLbG9uZW4nLCdFeHBvcnRpZXJlbicsJ0ltcG9ydGllcmVuJywnU3VjaGUgaW4gVGFiZWxsZW4nLCdUYWJlbGxlJywnRGF0ZW5zw6R0emUnLCcgJywnQWxsZSDDpG5kZXJuJyk7YnJlYWs7Y2FzZSJmciI6JEo9YXJyYXkoJ8OKdGVzLXZvdXMgY2VydGFpbiA/JywnSW1wb3NzaWJsZSBkXCdpbXBvcnRlciBsZSBmaWNoaWVyLicsJ0xhIHRhaWxsZSBtYXhpbWFsZSBkZXMgZmljaGllcnMgZXN0IGRlICVzQi4nLCdMZSBmaWNoaWVyIGVzdCBpbnRyb3V2YWJsZS4nLCd2aWRlJywnb3JpZ2luYWwnLCdBdWN1bmUgdGFibGUuJywnTGFuZ3VlJywnVXRpbGlzZXInLCdWZXVpbGxleiB1dGlsaXNlciBsXCd1bmUgZGVzIGV4dGVuc2lvbnMgJXMuJywnTGUgZmljaGllciBleGlzdGUuJywnVHlwZXMgdXRpbGlzYXRldXInLCdOb21icmVzJywnRGF0ZSBldCBoZXVyZScsJ0NoYcOubmVzJywnQmluYWlyZXMnLCdSw6lzZWF1JywnR8Opb23DqXRyaWUnLCdMaXN0ZXMnLCfDiWRpdGV1cicsJ1V0aWxpc2F0ZXVyJywnTW90IGRlIHBhc3NlJywnQXV0aGVudGlmaWNhdGlvbicsJ0F1dGhlbnRpZmljYXRpb24gcGVybWFuZW50ZScsJ05vdXZlbCDDqWzDqW1lbnQnLCdEZXJuacOocmUgcGFnZScsYXJyYXkoJyVkIG9jdGV0JywnJWQgb2N0ZXRzJyksJyQ1LyQzLyQxJywnUmVjaGVyY2hlcicsJ25cJ2ltcG9ydGUgb8O5JywnVHJpZXInLCdMaW1pdGUnLCdBY3Rpb24nLCdTZWxlY3QnLCdDb3VycmllbCcsJ0RlJywnU3VqZXQnLCdJbnPDqXJlcicsJ1Bpw6hjZXMgam9pbnRlcycsJ0Vudm95ZXInLGFycmF5KCclZCBtZXNzYWdlIGEgw6l0w6kgZW52b3nDqS4nLCclZCBtZXNzYWdlcyBvbnQgw6l0w6kgZW52b3nDqXMuJyksJ21haW50ZW5hbnQnLCdISDpNTTpTUycsJ2pqL21tL1thYWFhXScsJ0TDqWNvbm5leGlvbicsJ2x0cicsJ1JlbnZveWVyIGxlcyBkb25uw6llcyBQT1NUID8nLCdTZXJ2ZXVyJywnVG9rZW4gQ1NSRiBpbnZhbGlkZS4gVmV1aWxsZXogcsOpZW52b3llciBsZSBmb3JtdWxhaXJlLicsJ0F1IHJldm9pciAhJywnVmV1aWxsZXogYWN0aXZlciBsZXMgc2Vzc2lvbnMuJywnU2Vzc2lvbiBleHBpcsOpZSwgdmV1aWxsZXogdm91cyBhdXRoZW50aWZpZXIgw6Agbm91dmVhdS4nLCdBdXRoZW50aWZpY2F0aW9uIMOpY2hvdcOpZS4nLCdFeHRlbnNpb24gaW50cm91dmFibGUnLCdBdWN1bmUgZGVzIGV4dGVuc2lvbnMgUEhQIHN1cHBvcnTDqWVzICglcykgblwnZXN0IGRpc3BvbmlibGUuJywnRG9ubsOpZXMgUE9TVCB0cm9wIGdyYW5kZXMuIFLDqWR1aXNleiBsYSB0YWlsbGUgZGVzIGRvbm7DqWVzIG91IGF1Z21lbnRleiBsYSB2YWxldXIgZGUgJXMgZGFucyBsYSBjb25maWd1cmF0aW9uIGRlIFBIUC4nLCdMXCfDqWzDqW1lbnQgYSDDqXTDqSBzdXBwcmltw6kuJywnTFwnw6lsw6ltZW50IGEgw6l0w6kgbW9kaWZpw6kuJywnTFwnw6lsw6ltZW50JXMgYSDDqXTDqSBpbnPDqXLDqS4nLCdNb2RpZmllcicsJ0F1Y3VuIHLDqXN1bHRhdC4nLCdTYXV2ZWdhcmRlcicsJ1NhdXZlZ2FyZGVyIGV0IGNvbnRpbnVlciBsXCfDqWRpdGlvbicsJ1NhdXZlZ2FyZGVyIGV0IGluc8OpcmVyIGxlIHByb2NoYWluJywnRWZmYWNlcicsYXJyYXkoJyVkIMOpbMOpbWVudCBhIMOpdMOpIG1vZGlmacOpLicsJyVkIMOpbMOpbWVudHMgb250IMOpdMOpIG1vZGlmacOpcy4nKSwnRG91YmxlLWNsaXF1ZXogc3VyIHVuZSB2YWxldXIgcG91ciBsYSBtb2RpZmllci4nLGFycmF5KCclZCBsaWduZSBhIMOpdMOpIGltcG9ydMOpZS4nLCclZCBsaWduZXMgb250IMOpdMOpIGltcG9ydMOpZXMuJyksJ0ltcG9zc2libGUgZGUgc8OpbGVjdGlvbm5lciBsYSB0YWJsZScsJ21vZGlmaWVyJywnUmVsYXRpb25zJywnVXRpbGlzZXogbGUgbGllbiAibW9kaWZpZXIiIHBvdXIgbW9kaWZpZXIgY2V0dGUgdmFsZXVyLicsJ1BhZ2UnLCdkZXJuacOocmUnLGFycmF5KCclZCBsaWduZScsJyVkIGxpZ25lcycpLCdyw6lzdWx0YXQgZW50aWVyJywnQ2xvbmVyJywnRXhwb3J0ZXInLCdJbXBvcnRlcicsJ1JlY2hlcmNoZXIgZGFucyBsZXMgdGFibGVzJywnVGFibGUnLCdMaWduZXMnLCcsJywnVG91dCBtb2RpZmllcicpO2JyZWFrO2Nhc2UiaXQiOiRKPWFycmF5KCdTaWN1cm8/JywnQ2FyaWNhbWVudG8gZGVsIGZpbGUgbm9uIHJpdXNjaXRvLicsJ0xhIGRpbWVuc2lvbmUgbWFzc2ltYSBkZWwgZmlsZSDDqCAlc0IuJywnSWwgZmlsZSBub24gZXNpc3RlLicsJ3Z1b3RvJywnb3JpZ2luYWxlJywnTm8gdGFiZWxsZS4nLCdMaW5ndWEnLCdVc2EnLCdVc2EgdW5hIGRlbGxlIGVzdGVuc2lvbmkgJXMuJywnSWwgZmlsZSBlc2lzdGUgZ2nDoC4nLCdUaXBpIGRlZmluaXRpIGRhbGxcJ3V0ZW50ZScsJ051bWVyaScsJ0RhdGEgZSBvcmEnLCdTdHJpbmdoZScsJ0JpbmFyaScsJ1JldGUnLCdHZW9tZXRyaWEnLCdMaXN0ZScsJ0VkaXRvcicsJ1V0ZW50ZScsJ1Bhc3N3b3JkJywnQXV0ZW50aWNhemlvbmUnLCdMb2dpbiBwZXJtYW5lbnRlJywnTnVvdm8gZWxlbWVudG8nLCdVbHRpbWEgcGFnaW5hJyxhcnJheSgnJWQgYnl0ZScsJyVkIGJ5dGVzJyksJyQ1LyQzLyQxJywnQ2VyY2EnLCdvdnVucXVlJywnT3JkaW5hJywnTGltaXRlJywnQXppb25lJywnU2VsZXppb25hJywnRS1tYWlsJywnRGEnLCdPZ2dldHRvJywnSW5zZXJpc2NpJywnQWxsZWdhdGknLCdJbnZpYScsYXJyYXkoJyVkIGUtbWFpbCBpbnZpYXRhLicsJyVkIGUtbWFpbCBpbnZpYXRlLicpLCdhZGVzc28nLCdISDpNTTpTUycsJ2RkL21tL1t5eXl5XScsJ0VzY2knLCdsdHInLCdSZWludmlvIGkgZGF0aSBQT1NUPycsJ1NlcnZlcicsJ1Rva2VuIENTUkYgbm9uIHZhbGlkby4gUmVpbnZpYSBsYSByaWNoaWVzdGEuJywnVXNjaXRhIGVmZmV0dHVhdGEgY29uIHN1Y2Nlc3NvLicsJ0xlIHNlc3Npb25pIGRldm9ubyBlc3NlcmUgYWJpbGl0YXRlLicsJ1Nlc3Npb25lIHNjYWR1dGEsIGF1dGVudGljYXJzaSBkaSBudW92by4nLCdDcmVkZW56aWFsaSBub24gdmFsaWRlLicsJ0VzdGVuc2lvbmkgbm9uIHByZXNlbnRpJywnTmVzc3VuYSBkZWxsZSBlc3RlbnNpb25pIFBIUCBzdXBwb3J0YXRlICglcykgZGlzcG9uaWJpbGUuJywnVHJvcHBpIGRhdGkgdmlhIFBPU1QuIFJpZHVycmUgaSBkYXRpIG8gYXVtZW50YXJlIGxhIGRpcmV0dGl2YSBkaSBjb25maWd1cmF6aW9uZSAlcy4nLCdFbGVtZW50byBlbGltaW5hdG8uJywnRWxlbWVudG8gYWdnaW9ybmF0by4nLCdFbGVtZW50byVzIGluc2VyaXRvLicsJ01vZGlmaWNhJywnTmVzc3VuYSByaWdhLicsJ1NhbHZhJywnU2FsdmEgZSBjb250aW51YScsJ1NhbHZhIGUgaW5zZXJpc2NpIHVuIGFsdHJvJywnRWxpbWluYScsYXJyYXkoJ0lsIHJpc3VsdGF0byBjb25zaXN0ZSBpbiAlZCBlbGVtZW50by4nLCdJbCByaXN1bHRhdG8gY29uc2lzdGUgaW4gJWQgZWxlbWVudGkuJyksJ0ZhaSBkb3BwaW8gY2xpY2sgc3UgdW4gdmFsb3JlIHBlciBtb2RpZmljYXJsby4nLGFycmF5KCclZCByaWdhIGltcG9ydGF0YS4nLCclZCByaWdoZSBpbXBvcnRhdGUuJyksJ1NlbGV6aW9uZSBkZWxsYSB0YWJlbGxhIG5vbiByaXVzY2l0YScsJ21vZGlmaWNhJywnUmVsYXppb25pJywnVXNhIGlsIGxpbmsgbW9kaWZpY2EgcGVyIG1vZGlmaWNhcmUgcXVlc3RvIHZhbG9yZS4nLCdQYWdpbmEnLCd1bHRpbWEnLGFycmF5KCclZCByaWdhJywnJWQgcmlnaGUnKSwnaW50ZXJvIHJpc3VsdGF0bycsJ0Nsb25hJywnRXNwb3J0YScsJ0ltcG9ydGEnLCdDZXJjYSBuZWxsZSB0YWJlbGxlJywnVGFiZWxsYScsJ1JpZ2hlJywnLicsJ01vZGlmaWNhIHR1dHRvJyk7YnJlYWs7Y2FzZSJldCI6JEo9YXJyYXkoJ0thcyBvbGVkIGtpbmRlbD8nLCdGYWlsaSDDvGxlc2xhYWRpbWluZSBwb2xlIHbDtWltYWxpay4nLCdNYWtzaW1hYWxuZSBmYWlsaXN1dXJ1cyAlc0IuJywnRmFpbGkgZWkgbGVpdHVkLicsJ3TDvGhpJywnb3JpZ2luYWFsJywnVGFiZWxlaWQgZWkgbGVpdHVkLicsJ0tlZWwnLCdLYXN1dGEnLCdQYWx1biBrYXN1dGEgw7xodCBsYWllbmR1c3Rlc3QgJXMuJywnRmFpbCBqdWJhIGVrc2lzdGVlcmliLicsJ0thc3V0YWphdMO8w7xiaWQnLCdOdW1icmlsaXNlZCcsJ0t1dXDDpGV2IGphIGtlbGxhYWVnJywnVGVrc3RpZCcsJ0JpbmFhcicsJ1bDtXJrIChuZXR3b3JrKScsJ0dlb21lZXRyaWEnLCdMaXN0aWQnLCdSZWRha3RvcicsJ0thc3V0YWphbmltaScsJ1Bhcm9vbCcsJ0xvZ2kgc2lzc2UnLCdKw6R0YSBtaW5kIG1lZWxkZScsJ0xpc2Ega2lyamUnLCdWaWltYW5lIGxlaGVrw7xsZycsYXJyYXkoJyVkIGJhaXQnLCclZCBiYWl0aScpLCckNi4kNC4kMScsJ090c2knLCd2YWhldCBwb2xlJywnU29ydGVlcmknLCdQaWlyYScsJ1RlZ2V2dXMnLCdLdXZhJywnRS1wb3N0JywnS2VsbGVsdCcsJ1BlYWxraXJpJywnU2lzZXN0YScsJ01hbnVzZWQnLCdTYWFkYScsJ1NhYWRldHVkIGtpcmp1OiAlZC4nLCduw7zDvGQnLCdISDpNTTpTUycsJ2QubS5beXl5eV0nLCdMb2dpIHbDpGxqYScsJ2x0cicsJ1NhYWRhIFBPU1QgYW5kbWVkIHV1ZXN0aT8nLCdTZXJ2ZXInLCdTb2JpbWF0dSBDU1JGLCBwYWx1biBwb3N0aXRhZ2Ugdm9ybSB1dWVzdGkuJywnVsOkbGphbG9naW1pbmUgw7VubmVzdHVzLicsJ1Nlc3Npb29uaWQgcGVhdmFkIG9sZW1hIGx1YmF0dWQuJywnU2Vzc2lvb24gb24gYWVndW51ZCwgcGFsdW4gbG9naWdlIHV1ZXN0aSBzaXNzZS4nLCdFYmFrb3JyZWt0c2VkIGFuZG1lZC4nLCdFaSBsZWl0dWQgbGFpZW5kdXN0JywnU2VydmVyaXMgcG9sZSDDvGh0ZWdpIHRvZXRhdHVkIFBIUCBsYWllbmR1c3Rlc3QgKCVzKS4nLCdQT1NULWFuZG1ldGUgbWFodCBvbiBsaWlhbHQgc3V1ci4gUGFsdW4gdsOkaGVuZGFnZSBhbmRtZWlkIHbDtWkgc3V1cmVuZGFnZSAlcyBwaHAtc2VhZGV0LicsJ0t1c3R1dGFtaW5lIMO1bm5lc3R1cy4nLCdVdWVuZGFtaW5lIMO1bm5lc3R1cy4nLCdLaXJqZSVzIG9uIGVkdWthbHQgbGlzYXR1ZC4nLCdNdXVkYScsJ1Npc3Nla2FuZGVkIHB1dWR1dmFkLicsJ1NhbHZlc3RhJywnU2FsdmVzdGEgamEgasOkdGthIG11dXRtaXN0JywnU2FsdmVzdGEgamEgbGlzYSBqw6RyZ21pbmUnLCdLdXN0dXRhJywnTcO1anV0YXR1ZCBraXJqZWlkOiAlZC4nLCdWw6TDpHJ0dXNlIG11dXRtaXNla3MgdG9wZWx0LWtsaWtpIHNlbGxlbC4nLCdJbXBvcmRpdGkgJWQgcmlkYS4nLCdUYWJlbGkgdmFsaW1pbmUgZWJhw7VubmVzdHVzJywnbXV1ZGEnLCdTZW9zZWQnLCdWw6TDpHJ0dXNlIG11dXRtaXNla3Mga2FzdXRhIG11dXRtaXNsaW5raS4nLCdMZWhla8O8bGcnLCd2aWltYW5lJywnJWQgcmlkYScsJ1TDpGllbGlrdWQgdHVsZW11c2VkJywnS2xvb24nLCdFa3Nwb3JkaScsJ0ltcG9yZGknLCdPdHNpIGtvZ3UgYW5kbWViYWFzaXN0JywnVGFiZWwnLCdSaWR1JywnLCcsJ011dWRhIGvDtWlraScpO2JyZWFrO2Nhc2UiaHUiOiRKPWFycmF5KCdCaXp0b3MgYmVubmU/JywnTmVtIHR1ZG9tIGZlbHTDtmx0ZW5pIGEgZsOhamx0LicsJ0EgbWF4aW3DoWxpcyBmw6FqbG3DqXJldCAlcyBCLicsJ0EgZsOhamwgbmVtIGzDqXRlemlrLicsJ8O8cmVzJywnZXJlZGV0aScsJ05pbmNzIHTDoWJsYS4nLCdOeWVsdicsJ0hhc3puw6FsJywnSGFzem7DoWxqYSBhKHopICVzIGtpdGVyamVzenTDqXN0LicsJ0EgZsOhamwgbMOpdGV6aWsuJywnRmVsaGFzem7DoWzDs2kgdMOtcHVzJywnU3rDoW0nLCdEw6F0dW0gw6lzIGlkxZEnLCdTesO2dmVnJywnQmluw6FyaXMnLCdIw6Fsw7N6YXQnLCdHZW9tZXRyaWEnLCdMaXN0YScsJ1N6ZXJrZXN6dMWRJywnRmVsaGFzem7DoWzDsycsJ0plbHN6w7MnLCdCZWzDqXDDqXMnLCdFbWzDqWtlenogcsOhbScsJ8OaaiB0w6l0ZWwnLCdVdG9sc8OzIG9sZGFsJyxhcnJheSgnJWQgYsOhanQnLCclZCBiw6FqdCcsJyVkIGLDoWp0JyksJyQ2LiQ0LiQxJywnS2VyZXPDqXMnLCdiw6FyaG9sJywnU29yYmEgcmVuZGV6w6lzJywna29ybMOhdCcsJ03FsXZlbGV0JywnS2l2w6FsYXN6dMOhcycsJ0UtbWFpbCcsJ0ZlbGFkw7MnLCdUw6FyZ3knLCdCZXN6w7pyJywnQ3NhdG9sbcOhbnknLCdLw7xsZMOpcycsYXJyYXkoJyVkIGUtbWFpbCBlbGvDvGxkdmUuJywnJWQgZS1tYWlsIGVsa8O8bGR2ZS4nLCclZCBlLW1haWwgZWxrw7xsZHZlLicpLCdtb3N0Jywnw7PDszpwcDptbScsJ1t5eXl5XS5tLmQnLCdLaWzDqXDDqXMnLCdsdHInLCfDmmpyYWvDvGxkaSBhIFBPU1QgYWRhdG9rYXQ/JywnU3plcnZlcicsJ8OJcnbDqW55dGVsZW4gQ1NSRiBhem9ub3PDrXTDsy4gS8O8bGRkIMO6anJhIGF6IMWxcmxhcG90LicsJ1Npa2VyZXMga2lsw6lww6lzLicsJ0EgbXVua2FtZW5ldGVrbmVrIChzZXNzaW9uKSBlbmdlZMOpbHllenZlIGtlbGwgbGVubmllLicsJ011bmthbWVuZXQgbGVqw6FydCwgamVsZW50a2V6eiBiZSDDumpyYS4nLCfDiXJ2w6lueXRlbGVuIGFkYXRvay4nLCdOaW5jcyBraXRlcmplc3p0w6lzJywnTmluY3MgZWd5IGVsw6lyaGV0xZEgdMOhbW9nYXRvdHQgUEhQIGtpdGVyamVzenTDqXMgKCVzKSBzZW0uJywnVMO6bCBzb2sgYSBQT1NUIGFkYXQhIENzw7Zra2VudHNkIGF6IGFkYXQgbcOpcmV0w6l0LCB2YWd5IG7DtnZlbGQgYSAlcyBiZcOhbGzDrXTDoXN0LicsJ0EgdMOpdGVsIHTDtnLDtmx2ZS4nLCdBIHTDqXRlbCBmcmlzc8OtdHZlLicsJyVzIHTDqXRlbCBiZXN6w7pydmEuJywnU3plcmtlc3p0JywnTmluY3MgbWVnamVsZW7DrXRoZXTFkSBlcmVkbcOpbnkuJywnTWVudMOpcycsJ01lbnTDqXMgw6lzIHN6ZXJrZXN6dMOpcyBmb2x5dGF0w6FzYScsJ01lbnTDqXMgw6lzIMO6amF0IGJlc3rDunInLCdUw7ZybMOpcycsYXJyYXkoJyVkIHTDqXRlbCDDqXJpbnRldHQuJywnJWQgdMOpdGVsIMOpcmludGV0dC4nLCclZCB0w6l0ZWwgw6lyaW50ZXR0LicpLCdLYXR0aW50cyBrw6l0c3plciBheiDDqXJ0w6lrcmUgYSBzemVya2VzenTDqXNoZXouJyxhcnJheSgnJWQgc29yIGltcG9ydMOhbHZhLicsJyVkIHNvciBpbXBvcnTDoWx2YS4nLCclZCBzb3IgaW1wb3J0w6FsdmEuJyksJ05lbSB0dWRvbSBraXbDoWxhc3p0YW5pIGEgdMOhYmzDoXQnLCdzemVya2VzenQnLCdSZWzDoWNpw7MnLCdIYXN6bsOhbGQgYSBzemVya2VzenTDqXMgaGl2YXRrb3rDoXN0IGV6ZW4gw6lydMOpayBtw7Nkb3PDrXTDoXPDoWhvei4nLCdvbGRhbCcsJ3V0b2xzw7MnLGFycmF5KCclZCBzb3InLCclZCBzb3InLCclZCBzb3InKSwnw7Zzc3plcyBlcmVkbcOpbnl0IG11dGF0w6FzYScsJ0tsw7Nub3onLCdFeHBvcnQnLCdJbXBvcnTDoWzDoXMnLCdLZXJlc8OpcyBhIHTDoWJsw6FrYmFuJywnVMOhYmxhJywnT3N6bG9wJywnICcsJ8OWc3N6ZXMgc3plcmtlc3p0w6lzZScpO2JyZWFrO2Nhc2UicGwiOiRKPWFycmF5KCdDenkgamVzdGXFmyBwZXdpZW4/JywnV2dyYW5pZSBwbGlrdSBiecWCbyBuaWVtb8W8bGl3ZS4nLCdNYWtzeW1hbG5hIHdpZWxrb8WbxIcgcGxpa3UgdG8gJXNCLicsJ1BsaWsgbmllIGlzdG5pZWplLicsJ3B1c3RlJywnYmV6IHptaWFuJywnQnJhayB0YWJlbC4nLCdKxJl6eWsnLCdXeWJpZXJ6JywnUHJvc3rEmSB1xbx5xIcgamVkbmVnbyB6IHJvenN6ZXJ6ZcWEOiAlcy4nLCdQbGlrIGp1xbwgaXN0bmllamUuJywnVHlweSB1xbx5dGtvd25pa2EnLCdOdW1lcnljem5lJywnRGF0YSBpIGN6YXMnLCdUZWtzdG93ZScsJ0JpbmFybmUnLCdTaWXEhycsJ0dlb21ldHJpYScsJ0xpc3R5JywnRWR5dG9yJywnVcW8eXRrb3duaWsnLCdIYXPFgm8nLCdaYWxvZ3VqIHNpxJknLCdaYXBhbWnEmXRhaiBzZXNqxJknLCdOb3d5IHJla29yZCcsJ09zdGF0bmlhIHN0cm9uYScsYXJyYXkoJyVkIGJhanQnLCclZCBiYWp0eScsJyVkIGJhanTDs3cnKSwnJDYuJDQuJDEnLCdTenVrYWonLCdnZHppZWtvbHdpZWsnLCdTb3J0dWonLCdMaW1pdCcsJ0N6eW5ub8WbxIcnLCdwb2thxbwnLCdFLW1haWwnLCdOYWRhd2NhJywnVGVtYXQnLCdEb2RhaicsJ1phxYLEhWN6bmlraScsJ1d5xZtsaWonLGFycmF5KCdXeXPFgmFubyAlZCBlLW1haWwuJywnV3lzxYJhbm8gJWQgZS1tYWlsZS4nLCdXeXPFgmFubyAlZCBlLW1haWxpLicpLCd0ZXJheicsJ0hIOk1NOlNTJywnZC5tLltycnJyXScsJ1d5bG9ndWonLCdsdHInLCdXeXPFgmHEhyBkYW5lIHBvbm93bmllPycsJ1NlcndlcicsJ05pZXByYXdpZMWCb3d5IHRva2VuIENTUkYuIFNwcsOzYnVqIHd5c8WCYcSHIGZvcm11bGFyeiBwb25vd25pZS4nLCdXeWxvZ293YW5vIHBvbXnFm2xuaWUuJywnV3ltYWdhbmEgamVzdCBvYnPFgnVnYSBzZXNqaSB3IFBIUC4nLCdTZXNqYSB3eWdhc8WCYSwgemFsb2d1aiBzacSZIHBvbm93bmllLicsJ05pZXByYXdpZMWCb3dlIGRhbmUgbG9nb3dhbmlhLicsJ0JyYWsgcm96c3plcnplbmlhJywnxbthZG5lIHogcm96c3plcnplxYQgUEhQIHVtb8W8bGl3aWFqxIVjeWNoIHBvxYLEhWN6ZW5pZSBzacSZIHogYmF6xIUgZGFueWNoICglcykgbmllIGplc3QgZG9zdMSZcG5lLicsJ1ByemVzxYJhbm8gemJ5dCBkdcW8byBkYW55Y2guIFptbmllanN6IG9iasSZdG/Fm8SHIGRhbnljaCBsdWIgendpxJlrc3ogem1pZW5uxIUga29uZmlndXJhY3lqbsSFICVzLicsJ1Jla29yZCB6b3N0YcWCIHVzdW5pxJl0eS4nLCdSZWtvcmQgem9zdGHFgiB6YWt0dWFsaXpvd2FueS4nLCdSZWtvcmQlcyB6b3N0YcWCIGRvZGFueS4nLCdFZHl0dWonLCdCcmFrIHJla29yZMOzdy4nLCdaYXBpc3ogem1pYW55JywnWmFwaXN6IGkga29udHludXVqIGVkeWNqxJknLCdaYXBpc3ogaSBkb2RhaiBuYXN0xJlwbnknLCdVc3XFhCcsYXJyYXkoJ1ptaWVuaW9ubyAlZCByZWtvcmQuJywnWm1pZW5pb25vICVkIHJla29yZHkuJywnWm1pZW5pb25vICVkIHJla29yZMOzdy4nKSwnS2xpa25paiBwb2R3w7NqbmllIHdhcnRvxZvEhywgYWJ5IGrEhSBlZHl0b3dhxIcuJyxhcnJheSgnJWQgcmVrb3JkIHpvc3RhxYIgemFpbXBvcnRvd2FueS4nLCclZCByZWtvcmR5IHpvc3RhxYJ5IHphaW1wb3J0b3dhbmUuJywnJWQgcmVrb3Jkw7N3IHpvc3RhxYJvIHphaW1wb3J0b3dhbnljaC4nKSwnTmllIHVkYcWCbyBzacSZIHBvYnJhxIcgZGFueWNoIHogdGFiZWxpJywnZWR5dHVqJywnUmVsYWNqZScsJ1XFvHlqIGxpbmt1IGVkeWNqaSBhYnkgem1pZW5pxIcgdMSZIHdhcnRvxZvEhy4nLCdTdHJvbmEnLCdvc3RhdG5pJyxhcnJheSgnJWQgcmVrb3JkJywnJWQgcmVrb3JkeScsJyVkIHJla29yZMOzdycpLCd3eWJpZXJ6IHdzenlzdGtpZScsJ0R1cGxpa3VqJywnRWtzcG9ydCcsJ0ltcG9ydCcsJ1d5c3p1a2FqIHdlIHdzenlzdGtpY2ggdGFiZWxhY2gnLCdUYWJlbGEnLCdMaWN6YmEgcmVrb3Jkw7N3JywnICcsJ1ptaWXFhCB0eXAnKTticmVhaztjYXNlImNhIjokSj1hcnJheSgnRXN0w6BzIHNlZ3VyPycsJ0ltcG9zc2libGUgYWRqdW50YXIgZWwgZml0eGVyLicsJ0xhIG1pZGEgbcOgeGltYSBwZXJtZXNhIGRlbCBmaXR4ZXIgw6lzIGRlICVzQi4nLCdFbCBmaXR4ZXIgbm8gZXhpc3RlaXguJywnYnVpdCcsJ29yaWdpbmFsJywnTm8gaGkgaGEgY2FwIHRhdWxhLicsJ0lkaW9tYScsJ1V0aWxpdHphJywnU2kgdXMgcGxhdSwgdXRpbGl0emEgdW5hIGRlIGxlcyBleHRlbnNpb25zICVzLicsJ0VsIGZpdHhlciBqYSBleGlzdGVpeC4nLCdUaXB1cyBkZSBsXCd1c3VhcmknLCdOb21icmVzJywnRGF0YSBpIGhvcmEnLCdDYWRlbmVzJywnQmluYXJpJywnWGFyeGEnLCdHZW9tZXRyaWEnLCdMbGlzdGVzJywnRWRpdG9yJywnTm9tIGRcJ3VzdWFyaScsJ0NvbnRyYXNlbnlhJywnSW5pY2lhIGxhIHNlc3Npw7MnLCdTZXNzacOzIHBlcm1hbmVudCcsJ05vdSBlbGVtZW50JywnRGFycmVyYSBwbGFuYScsYXJyYXkoJyVkIGJ5dGUnLCclZCBieXRlcycpLCckNS8kMy8kMScsJ0NlcmNhJywnYSBxdWFsc2V2b2wgbGxvYycsJ09yZGVuYScsJ0zDrW1pdCcsJ0FjY2nDsycsJ1NlbGVjY2lvbmEnLCdDb3JyZXUgZWxlY3Ryw7JuaWMnLCdEZScsJ0Fzc3VtcHRlJywnSW5zZXJlaXgnLCdBZGp1bmNpb25zJywnRW52aWEnLGFycmF5KCdTXCdoYSBlbnZpYXQgJWQgY29ycmV1IGVsZWN0csOybmljLicsJ1NcJ2hhbiBlbnZpYXQgJWQgY29ycmV1cyBlbGVjdHLDsm5pY3MuJyksJ2FyYScsJ0hIOk1NOlNTJywnZGQvbW0vW2FhYWFdJywnRGVzY29ubmVjdGEnLCdsdHInLCdUb3JuYSBhIGVudmlhciBsZXMgZGFkZXMgUE9TVD8nLCdTZXJ2aWRvcicsJ1Rva2VuIENTUkYgaW52w6BsaWQuIFRvcm5hIGEgZW52aWFyIGVsIGZvcm11bGFyaS4nLCdEZXNjb25uZXhpw7MgY29ycmVjdGEuJywnQ2FsIHF1ZSBlc3RpZ3VpIHBlcm3DqHMgbFwndXMgZGUgc2Vzc2lvbnMuJywnTGEgc2Vzc2nDsyBoYSBleHBpcmF0LCB0b3JuYSBhIGluaWNpYXItbmUgdW5hLicsJ0NyZWRlbmNpYWxzIGludsOgbGlkcy4nLCdDYXAgZXh0ZW5zacOzJywnTm8gaGkgaGEgY2FwIGRlIGxlcyBleHRlbnNpb25zIFBIUCBzb3BvcmF0YWRlcyAoJXMpIGRpc3BvbmlibGUuJywnTGVzIGRhZGVzIFBPU1Qgc8OzbiBtYXNzYSBncmFucy4gUmVkdWVpeCBsZXMgZGFkZXMgbyBpbmNyZW1lbnRhIGxhIGRpcmVjdGl2YSBkZSBjb25maWd1cmFjacOzICVzLicsJ1NcJ2hhIHN1cHJtaXQgbFwnZWxlbWVudC4nLCdTXCdoYSBhY3R1YWxpdHphdCBsXCdlbGVtZW50LicsJ1NcJ2hhIGluc2VydGF0IGxcJ2VsZW1lbnQlcy4nLCdFZGl0YScsJ05vIGhpIGhhIGNhcCByZWdpc3RyZS4nLCdEZXNhJywnRGVzYSBpIHNlZ3VlaXggZWRpdGFudCcsJ0Rlc2EgaSBpbnNlcmVpeCBlbCBzZWfDvGVudCcsJ1N1cHJpbWVpeCcsYXJyYXkoJ1NcJ2hhIG1vZGlmaWNhdCAlZCBlbGVtZW50LicsJ1NcJ2hhbiBtb2RpZmljYXQgJWQgZWxlbWVudHMuJyksJ0ZlcyB1biBkb2JsZSBjbGljIGEgdW4gdmFsb3IgcGVyIG1vZGlmaWNhci1sby4nLGFycmF5KCdTXCdoYSBpbXBvcnRhdCAlZCByZWdpc3RyZS4nLCdTXCdoYW4gaW1wb3J0YXQgJWQgcmVnaXN0cmVzLicpLCdJbXBvc3NpYmxlIHNlbGVjY2lvbmFyIGxhIHRhdWxhJywnZWRpdGEnLCdSZWxhY2lvbnMnLCdVdGlsaXR6YSBsXCdlbmxsYcOnIGRcJ2VkaWNpw7MgcGVyIG1vZGlmaWNhciBhcXVlc3QgdmFsb3IuJywnUGxhbmEnLCdkYXJyZXJhJyxhcnJheSgnJWQgcmVnaXN0cmUnLCclZCByZWdpc3RyZXMnKSwndG90cyBlbHMgcmVzdWx0YXRzJywnQ2xvbmEnLCdFeHBvcnRhJywnSW1wb3J0YScsJ0NlcmNhIGRhZGVzIGVuIGxlcyB0YXVsZXMnLCdUYXVsYScsJ0ZpbGVzJywnLCcsJ0VkaXRhLWhvIHRvdCcpO2JyZWFrO2Nhc2UicHQiOiRKPWFycmF5KCdFc3TDoSBzZWd1cm8/JywnTsOjbyDDqSBwb3NzaXZlbCBlbnZpYXIgbyBhcnF1aXZvLicsJ1RhbWFuaG8gbcOheGltbyBkbyBhcnF1aXZvIMOpICVzQi4nLCdBcnF1aXZvIG7Do28gZXhpc3RlLicsJ3ZhemlvJywnb3JpZ2luYWwnLCdOw6NvIGV4aXN0ZW0gdGFiZWxhcy4nLCdJZGlvbWEnLCdVc2FyJywnUG9yIGZhdm9yIHVzZSB1bWEgZGFzIGV4dGVuc8O1ZXMgJXMuJywnQXJxdWl2byBqYSBleGlzdGUuJywnVGlwb3MgZGVmaW5pZG8gcGVsbyB1c3VhcmlvJywnTsO6bWVyb3MnLCdEYXRhIGUgaG9yYScsJ0NhZGVuYScsJ0JpbmFyaW8nLCdSZWRlJywnR2VvbWV0csOtYScsJ0xpc3RhcycsJ0VkaXRvcicsJ1VzdWFyaW8nLCdTZW5oYScsJ0VudHJhcicsJ1NhbHZhciBTZW5oYScsJ05vdm8gUmVnaXN0cm8nLCdVbHRpbWEgcMOhZ2luYScsYXJyYXkoJyVkIGJ5dGUnLCclZCBieXRlcycpLCckNS8kMy8kMScsJ1Byb2N1cmFyJywncXVhbHF1ZXIgbG9jYWwnLCdPcmRlbmFyJywnTGltaXRlJywnQcOnw6NvJywnU2VsZWNpb25hcicsJ0UtbWFpbCcsJ0RlJywnQXNzdW50bycsJ0luc2VyaXInLCdBbmV4b3MnLCdFbnZpYXInLGFycmF5KCclZCBlbWFpbCBlbnZpYWRvLicsJyVkIGVtYWlscyBlbnZpYWRvcy4nKSwnYWdvcmEnLCdISDpNTTpTUycsJ2RkL21tL1thYWFhXScsJ1NhaXInLCdsdHInLCdSZXNlbmQgUE9TVCBkYXRhPycsJ1NlcnZpZG9yJywnVG9rZW4gQ1NSRiBpbnbDoWxpZG8uIEVudmlhciBvIGZvcm11bGFyaW8gbm92YW1lbnRlLicsJ1NhaWRhIGJlbSBzdWNlZGlkYS4nLCdEZXZlbSBlc3RhciBoYWJpbGl0YWRhcyBhcyBzZXNzw7Vlcy4nLCdTZXNzw6NvIGV4cGlyYWRhLCBwb3IgZmF2b3IgZW50cmUgc3VhIENoYXZlIGRlIG5vdm8uJywnSWRlbnRpZmljYcOnw6NvIGludsOhbGlkYS4nLCdOw6NvIGhhIGV4dGVuc2lvbicsJ05lbmh1bWEgZGFzIGV4dGVuc8O1ZXMgUEhQIHNvcG9ydGFkYXMgKCVzKSBlc3TDoSBkaXNwb25pdmVsLicsJ1BPU1QgZGF0YSBkZW1hc2lhZG8gZ3JhbmRlLiBSZWR1emEgbyB0YW1hbmhvIG91IGF1bWVudGUgYSBkaXJldGl2YSBkZSBjb25maWd1cmHDp8OjbyAlcy4nLCdSZWdpc3RybyBlbGltaW5hZG8uJywnUmVnaXN0cm8gbW9kaWZpY2Fkby4nLCdSZWdpc3RybyVzIGluc2VyaWRvLicsJ01vZGlmaWNhcicsJ07Do28gZXhpc3RlbSByZWdpc3Ryb3MuJywnU2FsdmFyJywnU2FsdmFyIGUgY29udGludWFyIGVkaXRhbmRvJywnU2FsdmFyIGUgaW5zZXJpciBvdXRybycsJ0FwYWdhcicsYXJyYXkoJyVkIMOtdGVtIGFmZXRhZG8uJywnJWQgaXRlbnMgYWZldGFkb3MuJyksJ0RvYmxlLWNsaWMgc29icmUgbyB2YWxvciBwYXJhIGVkaXRhLWxvLicsYXJyYXkoJyVkIHJlZ2lzdHJvIGltcG9ydGFkby4nLCclZCByZWdpc3Ryb3MgaW1wb3J0YWRvcy4nKSwnTsOjbyDDqSBwb3NzaXZlbCBzZWxlY2lvbmFyIGEgVGFiZWxhJywnbW9kaWZpY2FyJywnUmVsYcOnw7VlcycsJ1V0aWxpemUgbyBsaW5rIG1vZGlmaWNhciBwYXJhIGFsdGVyYXIuJywnUMOhZ2luYScsJ8O6bHRpbW8nLGFycmF5KCclZCByZWdpc3RybycsJyVkIHJlZ2lzdHJvcycpLCdyZXN1bHRhZG8gY29tcGxldG8nLCdDbG9uYXInLCdFeHBvcnRhcicsJ0ltcG9ydGFyJywnQnVzY2FyIGRhZG9zIG5hcyBUYWJlbGFzJywnVGFiZWxhJywnUmVnaXN0cm9zJywnICcsJ0VzcXVlbWEgaW52w6FsaWRvLicpO2JyZWFrO2Nhc2Uic2wiOiRKPWFycmF5KCdTdGUgcHJlcHJpxI1hbmk/JywnTmUgbW9yZW0gbmFsb8W+aXRpIGRhdG90ZWtlLicsJ05hanZlxI1qYSB2ZWxpa29zdCBkYXRvdGVrZSBqZSAlc0IuJywnRGF0b3Rla2EgbmUgb2JzdGFqYS4nLCdwcmF6bm8nLCdvcmlnaW5hbCcsJ05pIHRhYmVsLicsJ0plemlrJywnVXBvcmFiaScsJ1Byb3NpbSwgdXBvcmFiaXRlIGVuZWdhIG9kIGRvZGF0a292ICVzLicsJ0RhdG90ZWthIG9ic3RhamEuJywnVXBvcmFibmnFoWtpIHRpcGknLCfFoHRldmlsYScsJ0RhdHVtIGluIMSNYXMnLCdOaXppJywnQmluYXJuaScsJ01yZcW+bmknLCdHZW9tZXRyxI1uaScsJ1Nlem5hbWknLCdVcmVqZXZhbG5paycsJ1Vwb3JhYm5pxaFrbyBpbWUnLCdHZXNsbycsJ1ByaWphdmkgc2UnLCdUcmFqbmEgcHJpamF2YScsJ05vdiBwcmVkbWV0JywnWmFkbmphIHN0cmFuJyxhcnJheSgnJWQgYmFqdCcsJyVkIGJhanRhJywnJWQgYmFqdGknLCclZCBiYWp0b3YnKSwnJDYuJDQuJDEnLCdJxaHEjWknLCdramVya29saScsJ1NvcnRpcmFqJywnTGltaXRhJywnRGVqYW5qZScsJ0l6YmVyaScsJ0UtbWFpbCcsJ09kJywnWmFkZXZhJywnVnN0YXZpJywnUHJpcG9ua2UnLCdQb8WhbGppJyxhcnJheSgnUG9zbGFuIGplICVkIGUtbWFpbC4nLCdQb3NsYW5hIHN0YSAlZCBlLW1haWxhLicsJ1Bvc2xhbmkgc28gJWQgZS1tYWlsaS4nLCdQb3NsYW5paCBqZSAlZCBlLW1haWxvdi4nKSwnemRhaicsJ0hIOk1NOlNTJywnZC5tLltycnJyXScsJ09kamF2aSBzZScsJ2x0cicsJ1Jlc2VuZCBQT1NUIGRhdGE/JywnU3RyZcW+bmlrJywnTmV2ZWxqYXZlbiB0b2tlbiBDU1JGLiBQb8WhbGppdGUgZm9ybXVsYXIgxaFlIGVua3JhdC4nLCdQcmlqYXZhIHVzcGXFoW5hLicsJ1BvZHBvcmEgemEgc2VqZSBtb3JhIGJpdGkgb21vZ2/EjWVuYS4nLCdTZWphIGplIHBvdGVrbGEuIFByb3NpbW8sIHBvbm92bm8gc2UgcHJpamF2aXRlLicsJ05ldmVsamF2bmUgcHJhdmljZS4nLCdCcmV6IGRvZGF0a292JywnTm9iZW4gb2QgcG9kcHJ0aWggZG9kYXRrb3YgemEgUEhQICglcykgbmkgbmEgdm9sam8uJywnUHJldmVsaWtvIHBvZGF0a292IHphIFBPU1QuIFptYW5qxaFhanRlIMWhdGV2aWxvIHBvZGF0a292IGFsaSBwb3ZlxI1hanRlIG5hc3Rhdml0ZXYgemEgJXMuJywnUHJlZG1ldCBqZSBpemJyaXNhbi4nLCdQcmVkbWV0IGplIHBvc29kb2JsamVuLicsJ1ByZWRtZXQlcyBqZSB2c3RhdmxqZW4uJywnVXJlZGknLCdOaSB2cnN0aWMuJywnU2hyYW5pJywnU2hyYW5pIGluIG5hZGFsanVqIHogdXJlamFuamVtJywnU2hyYW5pIGluIHZzdGF2aSB0ZWtzdCcsJ0l6YnJpxaFpJyxhcnJheSgnU3ByZW1lbmplbiBqZSAlZCBwcmVkbWV0LicsJ1NwcmVtZW5qZW5hIHN0YSAlZCBwcmVkbWV0YS4nLCdTcHJlbWVuamVuaSBzbyAlZCBwcmVkbWV0aS4nLCdTcHJlbWVuamVuaWggamUgJWQgcHJlZG1ldG92LicpLCdEdm9qbmkga2xpayBuYSB2cmVkbm9zdCB6YSB1cmVqYW5qZS4nLGFycmF5KCdVdm/FvmVuYSBqZSAlZCB2cnN0aWNhLicsJ1V2b8W+ZW5pIHN0YSAlZCB2cnN0aWNpLicsJ1V2b8W+ZW5lIHNvICVkIHZyc3RpY2UuJywnVXZvxb5lbmloIGplICVkIHZyc3RpYy4nKSwnTmUgbW9yZW0gaXpicmF0aSB0YWJlbGUnLCd1cmVkaScsJ1JlbGFjaWpza2knLCdVcG9yYWJpdGUgdXJlamFuamUgcG92ZXphdmUgemEgc3ByZW1pbmphbmplIHRlIHZyZWRub3N0aS4nLCdTdHJhbicsJ1phZG5qYScsYXJyYXkoJyVkIHZyc3RpY2EnLCclZCB2cnN0aWNpJywnJWQgdnJzdGljZScsJyVkIHZyc3RpYycpLCdjZWwgcmF6dWx0YXQnLCdLbG9uaXJhaicsJ0l6dm96aScsJ1V2b3ppJywnScWhxI1lIHBvZGF0a2UgcG8gdGFiZWxhaCcsJ1RhYmVsYScsJ1Zyc3RpYycsJyAnLCdTcHJlbWVuaSB0aXAnKTticmVhaztjYXNlImx0IjokSj1hcnJheSgnVGlrcmFpPycsJ05lcGF2eWtvIMSva2VsdGkgZmFpbG8uJywnTWFrc2ltYWx1cyBmYWlsbyBkeWRpcyAtICVzQi4nLCdGYWlsYXMgbmVlZ3ppc3R1b2phLicsJ3R1xaHEjWlhJywnb3JpZ2luYWxhcycsJ07El3JhIGxlbnRlbGnFsy4nLCdLYWxiYScsJ05hdWRvdGknLCdOYXVkb2tpdGUgdmllbsSFIGnFoSBwbMSXdGluacWzICVzLicsJ0ZhaWxhcyBlZ3ppc3R1b2phLicsJ1ZhcnRvdG9qxbMgdGlwYWknLCdTa2FpxI1pYWknLCdEYXRhIGlyIGxhaWthcycsJ1Rla3N0YXMnLCdEdmVqZXRhaW5pcycsJ1RpbmtsYXMnLCdHZW9tZXRyaWphJywnU8SFcmHFoWFpJywnUmVkYWt0b3JpdXMnLCdWYXJ0b3RvamFzJywnU2xhcHRhxb5vZGlzJywnUHJpc2lqdW5ndGknLCdQYXN0b3Z1cyBwcmlzaWp1bmdpbWFzJywnTmF1amFzIMSvcmHFoWFzJywnUGFza3V0aW5pcyBwdXNsYXBpcycsYXJyYXkoJyVkIGJhaXRhcycsJyVkIGJhaWdhaScsJyVkIGJhaXTFsycpLCckMS0kMy0kNScsJ0llxaFrb3RpJywndmlzdXInLCdSaWtpdW90aScsJ0xpbWl0YXMnLCdWZWlrc21hcycsJ0F0cmlua3RpJywnRWwuIHBhxaF0YXMnLCdOdW8nLCdBbnRyYcWhdMSXJywnxK5yYcWheXRpJywnUHJpZWRhaScsJ1NpxbNzdGknLGFycmF5KCdJxaFzacWzc3RhcyAlZCBsYWnFoWthcy4nLCdJxaFzacWzc3RpICVkIGxhacWha2FpLicsJ0nFoXNpxbNzdGEgJWQgbGFpxaFrxbMuJyksJ2RhYmFyJywnSEg6TU06U1MnLCdbeXl5eV0tbW0tZGQnLCdBdHNpanVuZ3RpJywnbHRyJywnUGVyc2nFs3N0aSBQT1NUIGR1b21lbmlzPycsJ1NlcnZlcmlzJywnTmV0ZWlzaW5nYXMgQ1NSRiB0b2tlbmFzLiBCYW5keWtpdGUgc2nFs3N0aSBmb3Jtb3MgZHVvbWVuaXMgZGFyIGthcnTEhS4nLCdKxatzIGF0c2lqdW5nxJd0ZSBudW8gc2lzdGVtb3MuJywnU2VzaWrFsyBwYWxhaWt5bWFzIHR1cmkgYsWrdGkgxK9qdW5ndGFzLicsJ1Nlc2lqb3MgZ2FsaW9qaW1hcyBiYWlnxJdzaS4gUHJpc2lqdW5raXRlIGnFoSBuYXVqby4nLCdOZXRlaXNpbmdpIHByaXNpanVuZ2ltbyBkdW9tZW55cy4nLCdOxJdyYSBwbMSXdGlpbycsJ07El3JhIG5laSB2aWVubyBpxaEgcGFsYWlrb23FsyBQSFAgcGzEl3RpbmnFsyAoJXMpLicsJ1BlciBkYXVnIFBPU1QgZHVvbWVuxbMuIFN1bWHFvmlua2l0ZSBkdW9tZW7FsyBraWVrxK8gYXJiYSBwYWRpZGlua2l0ZSBrb25maWfFq3JhY2lqb3MgbnVzdGF0eW3EhSAlcy4nLCfErnJhxaFhcyBpxaF0cmludGFzLicsJ8SucmHFoWFzIHBha2Vpc3Rhcy4nLCfErnJhxaFhcyVzIHN1a3VydGFzLicsJ1JlZGFndW90aScsJ07El3JhIMSvcmHFocWzLicsJ0nFoXNhdWdvdGknLCdJxaFzYXVnb3RpIGlyIHTEmXN0aSByZWRhZ2F2aW3EhScsJ0nFoXNhdWdvdGkgaXIgxK9yYcWheXRpIGtpdMSFJywnVHJpbnRpJyxhcnJheSgnUGFrZWlzdGFzICVkIMSvcmHFoWFzLicsJ1Bha2Vpc3RpICVkIMSvcmHFoWFpLicsJ1Bha2Vpc3RhcyAlZCDEr3JhxaHFsy4nKSwnRHUga2FydHVzIHNwcmFndGVsxJdraXRlIHBlbHl0ZSBub3LEl2RhbWkgcmVkYWd1b3RpLicsYXJyYXkoJyVkIMSvcmHFoWFzIMSva2VsdGEuJywnJWQgxK9yYcWhYWkgxK9rZWx0aS4nLCclZCDEr3JhxaHFsyDEr2tlbHRhLicpLCdOZcSvbWFub21hIGF0cmlua3RpIGxlbnRlbMSXcycsJ3JlZGFndW90aScsJ1J5xaFpYWknLCdOb3LEl2RhbWkgcmVkYWd1b3RpIHJlaWvFoW3EmSBuYXVkb2tpdGUgcmVkYWdhdmltbyBudW9yb2TEhS4nLCdQdXNsYXBpcycsJ3Bhc2t1dGluaXMnLGFycmF5KCclZCDEr3JhxaFhcycsJyVkIMSvcmHFoWFpJywnJWQgxK9yYcWhxbMnKSwndmlzYXMgcmV6dWx0YXRhcycsJ0tsb251b3RpJywnRWtzcG9ydGFzJywnSW1wb3J0YXMnLCdJZcWha290aSBkdW9tZW7FsyBsZW50ZWzEl3NlJywnTGVudGVsxJcnLCfErnJhxaFhaScsJyAnLCdLZWlzdGkgdGlwxIUnKTticmVhaztjYXNlInRyIjokSj1hcnJheSgnRW1pbiBtaXNpbj8nLCdEb3N5YSBnw7ZuZGVyaWxlbWl5b3IuJywnQmlyIGRvc3lhIGnDp2luIGl6aW4gdmVyaWxlbiBkb3N5YSBzxLFuxLFyxLEgJXNCLicsJ0Rvc3lhIG1ldmN1dCBkZcSfaWwuJywnYm/FnycsJ29yaWppbmFsJywnVGFibG8geW9rLicsJ0RpbCcsJ0t1bGxhbicsJyVzIHV6YW50xLFsYXLEsW5kYW4gYmlyaW5pIGt1bGxhbsSxbi4nLCdEb3N5YSBtZXZjdXQuJywnS3VsbGFuxLFjxLEgdMO8cmxlcmknLCdTYXnEsWxhcicsJ1RhcmloIHZlIHphbWFuJywnU8O2emPDvGtsZXInLCfEsGtpbGknLCdBxJ8nLCdHZW9tZXRyaScsJ0xpc3RlbGVyJywnRMO8emVubGV5aWNpJywnS3VsbGFuxLFjxLEnLCdQYXJvbGEnLCdHaXJpxZ8nLCdLYWzEsWPEsSBnaXJpxZ8nLCdZZW5pIMO2xJ9lJywnU29uIHNheWZhJyxhcnJheSgnJWQgYmF5dCcsJyVkIGthZGFyIGJheXQnKSwnJDYuJDQuJDEnLCdBcmFtYScsJ2hlcmhhbmdpIGJpciB5ZXInLCdTxLFyYWxhJywnc8SxbsSxcicsJ0V5bGVtJywnU2XDpycsJ0UtcG9zdGEnLCdHw7ZuZGVyZW4nLCdLb251JywnRWtsZScsJ0VrbGVyJywnR8O2bmRlcicsYXJyYXkoJyVkIGUtcG9zdGEgZMO2bmRlcmlsZGkuJywnJWQga2FkYXIgZS1wb3N0YSBnw7ZuZGVyaWxkaS4nKSwnxZ9pbWRpJywnSEg6TU06U1MnLCdkLm0uW3JycnJdJywnw4fEsWvEscWfJywnbHRyJywnUmVzZW5kIFBPU1QgZGF0YT8nLCdTdW51Y3UnLCdHZcOnZXJzaXogQ3Jvc3Mtc2l0ZSByZXF1ZXN0IGZvcmdlcnkgKENTUkYpIGpldG9udS4gRm9ydW11IHRla3JhciB5b2xsYS4nLCdCYcWfYXLEsXlsYSDDp8Sxa8SxbGTEsS4nLCdPdHVydW0gZGVzdGXEn2kgZXRraW4gb2xtYWzEsWTEsXIuJywnT3R1cnVtIHPDvHJlc2kgZG9sZHUsIGzDvHRmZW4gdGVrcmFyIGdpcmnFnyB5YXDEsW4uJywnR2XDp2Vyc2l6IGtpbWxpay4nLCdVemFudMSxIHlvaycsJ0Rlc3Rla2xlbmVuIFBIUCB1emFudMSxbGFyxLFuZGFuICglcykgaGnDp2JpcmkgbWV2Y3V0IGRlxJ9pbC4nLCfDh29rIGLDvHnDvGsgUE9TVCB2ZXJpc2ksIHZlcml5aSBhemFsdMSxbiB5YSBkYSBheWFyIHnDtm5lcmdlc2luaSB1eWd1biBvbGFyYWsgeWFwxLFsYW5kxLFyxLFuLicsJ8OWxJ9lIHNpbGluZGkuJywnw5bEn2UgZ8O8bmNlbGxlbmRpLicsJ8OWxJ9lbGVyIGVrbGVuZGkuJywnRMO8emVuJywnU8SxcmEgeW9rLicsJ0theWRldCcsJ0theWRldCB2ZSBkw7x6ZW5sZW1leWUgZGV2YW0gZXQnLCdLYXlkZXQgdmUgc29ucmFraW4gZWtsZScsJ1NpbCcsYXJyYXkoJyVkIMO2xJ9lIGV0a2lsZW5kaS4nLCclZCBrYWRhciDDtsSfZSBldGtpbGVuZGkuJyksJ0RlxJ9lcmluIMO8emVyaW5lIMOnaWZ0IHTEsWtsYXnEsW4gdmUgZGXEn2nFn3RpcmluLicsYXJyYXkoJyVkIHPEsXJhIGl0aGFsIGVkaWxkaS4nLCclZCBrYWRhciBzxLFyYSBpdGhhbCBlZGlsZGkuJyksJ1RhYmxvIHNlw6dpbGVtZWRpJywnZMO8emVuJywnxLBsacWfa2lsZXInLCdEZcSfZXJpIGRlxJ9pxZ90aXJtZWsgacOnaW4gZMO8emVubGVtZSBiYcSfbGFudMSxc8SxbsSxIGt1bGxhbsSxbi4nLCdTYXlmYScsJ3NvbicsYXJyYXkoJyVkIHPEsXJhKScsJyVkIGthZGFyIHPEsXJhJyksJ3TDvG0gc29udcOnJywnS2xvbmxhJywnxLBocmHDpycsJ8SwdGhhbCcsJ1RhYmxvbGFyZGEgdmVyaSBhcmEuJywnVGFibG8nLCdTxLFyYWxhciAoUm93cyknLCcgJywnVMO8ciBkZcSfacWfdGlyJyk7YnJlYWs7Y2FzZSJybyI6JEo9YXJyYXkoJ0XImXRpIHByZWNpcz8nLCdOdSBhbSBwdXR1dCDDrm5jxINyY2EgZmnImWllcnVsIHBlIHNlcnZlci4nLCdGaciZaWVydWwgbWF4aW0gYWRtaXMgLSAlc08uJywnQciZYSBmaciZaWVyIG51IGV4aXN0xIMuJywnZ29sJywnb3JpZ2luYWwnLCfDjm4gYmF6YSBkZSBkYXRlIG51IHN1bnQgdGFiZWxlLicsJ0xpbWJhJywnQWxlZ2UnLCdGb2xvc2nIm2kgdW5hIGRpbiB1cm3Eg3RvYXJlbGUgZXh0ZW5zaWkgJXMuJywnRmnImWllcnVsIGRlamEgZXhpc3TEgy4nLCdUaXB1cmkgZGUgdXRpbGl6YXRvcmknLCdOdW3Eg3InLCdEYXRhIMiZaSB0aW1wdWwnLCfImGlyZSBkZSBjYXJhY3RlcmUnLCdUaXAgYmluYXInLCdSZcibZWEnLCdHZW9tZXRyaWUnLCdMaXN0ZScsJ0VkaXRvcicsJ051bWUgZGUgdXRpbGl6YXRvcicsJ1Bhcm9sYScsJ0ludHLEgycsJ0xvZ2FyZSBwZXJtYW5lbnTEgycsJ8OObnNjcmllcmUgbm91xIMnLCdVbHRpbWEgcGFnaW7EgycsYXJyYXkoJyVkIG9jdGV0JywnJWQgb2N0ZcibaScpLCckNS4kMy4kMScsJ0PEg3V0YXJlJywnb3JpdW5kZScsJ1NvcnRhcmUnLCdMaW1pdCcsJ0FjyJtpdW5lJywnU2VsZWN0ZWF6xIMnLCdQb8iZdGEgZWxlY3Ryb25pY8SDJywnRGUgbGEnLCdQZW50cnUnLCdJbnNlcmVhesSDJywnRmnImWllcmUgYXRhyJlhdGUnLCdUcmltaXRlJyxhcnJheSgnQSBmb3N0IHRyaW1pc8SDICVkIHNjcmlzb2FyZS4nLCdBdSBmb3N0IHRyaW1pc2UgJWQgc2NyaXNvcmkuJyksJ2FjdW0nLCdISDpNTTpTUycsJ2RkLm1tLlt5eXl5XScsJ0XImWlyZScsJ2x0cicsJ1JldHJpbWl0ZSBkYXRlbGUgUE9TVD8nLCdTZXJ2ZXInLCdDU1JGIHRva2VuIGltcG9zaWJpbC4gUmV0cmltaXRlIGZvcm1hLicsJ0HIm2kgZciZaXQgY3Ugc3VjY2VzLicsJ1Nlc2l1bmlsZSB0cmVidWllIHPEgyBmaWUgcG9ybml0ZS4nLCdUaW1wdWwgc2VzaXVuaWkgYSBleHBpcmF0LCByb2cgc8SDIHRlIGxvZ2hlemkgZGluIG5vdS4nLCdOdW1lbGUgZGUgdXRpbGl6YXRvciBzYXUgcGFyb2xhIGVzdGUgZ3JlyJlpdMSDLicsJ051IGVzdGUgZXh0ZW5zaWUnLCdOdSBlc3RlIGF2aWFiaWzEgyBuaWNpIG8gZXh0ZW5zaWUgc3Vwb3J0YXTEgyAoJXMpLicsJ01lc2FqdWwgUE9TVCBlc3RlIHByZWEgbWFyZS4gVHJpbWl0ZcibaSBtYWkgcHXIm2luZSBkYXRlIHNhdSBtxINyacibaSBwYXJhbWV0cnVsIGNvbmZpZ3VyYcibaWVpIGRpcmVjdGl2ZWkgJXMuJywnw45ucmVnaXN0cmFyZSBhIGZvc3QgyJl0ZWFyc8SDLicsJ8OObnJlZ2lzdHJhcmUgYSBmb3N0IMOubm5vaXTEgy4nLCfDjm5yZWdpc3RyYXJlYSVzIGEgZm9zdCBpbnNlcmF0xIMuJywnRWRpdGVhesSDJywnTnUgc3VudCDDrm5zY3JpZXJpLicsJ1NhbHZlYXrEgycsJ1NhbHZlYXrEgyDImWkgY29udGludcSDIGVkaXRhcmVhJywnU2FsdmVhesSDIMiZaSBtYWkgaW5zZXJlYXrEgycsJ8iYdGVyZ2UnLGFycmF5KCdBIGZvc3QgbW9kaWZpY2F0xIMgJWQgw65uc2NyaWVyZS4nLCdBdSBmb3N0IG1vZGlmaWNhdGUgJWQgw65uc2NyaWVyaS4nKSwnRHVibHUgY2xpY2sgcGUgbyB2YWxvYXJlIHBlbnRydSBhIG8gbW9kaWZpY2EuJyxhcnJheSgnJWQgcsOubmQgaW1wb3J0YXQuJywnJWQgcsOubmR1cmkgaW1wb3J0YXRlLicpLCdOdSBhbSBwdXR1dCBzZWxlY3RhIGRhdGUgZGluIHRhYmVsJywnZWRpdGFyZScsJ1JlbGHIm2lpJywnVmFsb2FyZSBwb2F0ZSBmaSBtb2RpZmljYXTEgyBjdSBhanV0b3J1bCBidXRvbnVsdWkgwqttb2RpZmljxIPCuy4nLCdQYWdpbmEnLCd1bHRpbWEnLGFycmF5KCclZCDDrm5zY3JpZXJlJywnJWQgw65uc2NyaWVyaScpLCd0b3QgcmV6dWx0YXR1bCcsJ0Nsb25lYXrEgycsJ0V4cG9ydCcsJ0ltcG9ydMSDJywnQ2F1dMSDIMOubiB0YWJlbGUnLCdUYWJlbCcsJ8OObnNjcmllcmknLCcsJywnRWRpdGVhesSDIHRvdCcpO2JyZWFrO2Nhc2UicnUiOiRKPWFycmF5KCfQktGLINGD0LLQtdGA0LXQvdGLPycsJ9Cd0LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNCz0YDRg9C30LjRgtGMINGE0LDQudC7INC90LAg0YHQtdGA0LLQtdGALicsJ9Cc0LDQutGB0LjQvNCw0LvRjNC90YvQuSDRgNCw0LfRgNC10YjQtdC90L3Ri9C5INGA0LDQt9C80LXRgCDRhNCw0LnQu9CwIC0gJXNCLicsJ9Ci0LDQutC+0LPQviDRhNCw0LnQu9CwINC90LUg0YHRg9GJ0LXRgdGC0LLRg9C10YIuJywn0L/Rg9GB0YLQvicsJ9C40YHRhdC+0LTQvdGL0LknLCfQkiDQsdCw0LfQtSDQtNCw0L3QvdGL0YUg0L3QtdGCINGC0LDQsdC70LjRhi4nLCfQr9C30YvQuicsJ9CS0YvQsdGA0LDRgtGMJywn0JjRgdC/0L7Qu9GM0LfRg9C50YLQtSDQvtC00L3QviDQuNC3INGN0YLQuNGFINGA0LDRgdGI0LjRgNC10L3QuNC5ICVzLicsJ9Ck0LDQudC7INGD0LbQtSDRgdGD0YnQtdGB0YLQstGD0LXRgi4nLCfQotC40L/RiyDQv9C+0LvRjNC30L7QstCw0YLQtdC70LXQuScsJ9Cn0LjRgdC70L4nLCfQlNCw0YLQsCDQuCDQstGA0LXQvNGPJywn0KHRgtGA0L7QutC4Jywn0JTQstC+0LjRh9C90YvQuSDRgtC40L8nLCfQodC10YLRjCcsJ9CT0LXQvtC80LXRgtGA0LjRjycsJ9Ch0L/QuNGB0LrQuCcsJ9Cg0LXQtNCw0LrRgtC+0YAnLCfQmNC80Y8g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPJywn0J/QsNGA0L7Qu9GMJywn0JLQvtC50YLQuCcsJ9Ce0YHRgtCw0LLQsNGC0YzRgdGPINCyINGB0LjRgdGC0LXQvNC1Jywn0J3QvtCy0LDRjyDQt9Cw0L/QuNGB0YwnLCfQn9C+0YHQu9C10LTQvdGP0Y8g0YHRgtGA0LDQvdC40YbQsCcsYXJyYXkoJyVkINCx0LDQudGCJywnJWQg0LHQsNC50YLQsCcsJyVkINCx0LDQudGC0L7QsicpLCckNS4kMy4kMScsJ9Cf0L7QuNGB0LonLCfQsiDQu9GO0LHQvtC8INC80LXRgdGC0LUnLCfQodC+0YDRgtC40YDQvtCy0LDRgtGMJywn0JvQuNC80LjRgicsJ9CU0LXQudGB0YLQstC40LUnLCfQktGL0LHRgNCw0YLRjCcsJ9Ct0LvQtdC60YLRgNC+0L/QvtGH0YLQsCcsJ9Ce0YInLCfQmtC+0LzRgycsJ9CS0YHRgtCw0LLQuNGC0YwnLCfQn9GA0LjQutGA0LXQv9C70LXQvdC90YvQtSDRhNCw0LnQu9GLJywn0J/QvtGB0LvQsNGC0YwnLGFycmF5KCfQkdGL0LvQviDQvtGC0L/RgNCw0LLQu9C10L3QviAlZCDQv9C40YHRjNC80L4uJywn0JHRi9C70L4g0L7RgtC/0YDQsNCy0LvQtdC90L4gJWQg0L/QuNGB0YzQvNCwLicsJ9CR0YvQu9C+INC+0YLQv9GA0LDQstC70LXQvdC+ICVkINC/0LjRgdC10LwuJyksJ9GB0LXQudGH0LDRgScsJ9Cn0Kc60JzQnDrQodChJywn0LTQtC7QvNC8LlvQs9Cz0LPQs10nLCfQktGL0LnRgtC4JywnbHRyJywn0JXRidC1INGA0LDQtyDQv9C+0YHQu9Cw0YLRjCDQtNCw0L3QvdGL0LUgUE9TVCDQt9Cw0L/RgNC+0YHQsD8nLCfQodC10YDQstC10YAnLCfQndC10LTQtdC50YHRgtCy0LjRgtC10LvRjNC90YvQuSBDU1JGINGC0L7QutC10L0uINCe0YLQv9GA0LDQstC40YLQtSDRhNC+0YDQvNGDINC10YnRkSDRgNCw0LcuJywn0JLRiyDRg9GB0L/QtdGI0L3QviDQv9C+0LrQuNC90YPQu9C4INGB0LjRgdGC0LXQvNGDLicsJ9Ch0LXRgdGB0LjQuCDQtNC+0LvQttC90Ysg0LHRi9GC0Ywg0LLQutC70Y7Rh9C10L3Riy4nLCfQodGA0L7QuiDQtNC10LnRgdGC0LLQuNGPINGB0LXRgdGB0Lgg0LjRgdGC0LXQuiwg0L3Rg9C20L3QviDRgdC90L7QstCwINCy0L7QudGC0Lgg0LIg0YHQuNGB0YLQtdC80YMuJywn0J3QtdC/0YDQsNCy0LjQu9GM0L3QvtC1INC40LzRjyDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8g0LjQu9C4INC/0LDRgNC+0LvRjC4nLCfQndC10YIg0YDQsNGB0YjQuNGA0LXQvdC40LknLCfQndC1INC00L7RgdGC0YPQv9C90L4g0L3QuCDQvtC00L3QvtCz0L4g0YDQsNGB0YjQuNGA0LXQvdC40Y8g0LjQtyDQv9C+0LTQtNC10YDQttC40LLQsNC10LzRi9GFICglcykuJywn0KHQu9C40YjQutC+0Lwg0LHQvtC70YzRiNC+0Lkg0L7QsdGK0LXQvCBQT1NULdC00LDQvdC90YvRhS4g0J/QvtGI0LvQuNGC0LUg0LzQtdC90YzRiNC40Lkg0L7QsdGK0LXQvCDQtNCw0L3QvdGL0YUg0LjQu9C4INGD0LLQtdC70LjRh9GM0YLQtSDQv9Cw0YDQsNC80LXRgtGAINC60L7QvdGE0LjQs9GD0YDQsNGG0LjQvtC90L3QvtC5INC00LjRgNC10LrRgtC40LLRiyAlcy4nLCfQl9Cw0L/QuNGB0Ywg0YPQtNCw0LvQtdC90LAuJywn0JfQsNC/0LjRgdGMINC+0LHQvdC+0LLQu9C10L3QsC4nLCfQl9Cw0L/QuNGB0YwlcyDQsdGL0LvQsCDQstGB0YLQsNCy0LvQtdC90LAuJywn0KDQtdC00LDQutGC0LjRgNC+0LLQsNGC0YwnLCfQndC10YIg0LfQsNC/0LjRgdC10LkuJywn0KHQvtGF0YDQsNC90LjRgtGMJywn0KHQvtGF0YDQsNC90LjRgtGMINC4INC/0YDQvtC00L7Qu9C20LjRgtGMINGA0LXQtNCw0LrRgtC40YDQvtCy0LDQvdC40LUnLCfQodC+0YXRgNCw0L3QuNGC0Ywg0Lgg0LLRgdGC0LDQstC40YLRjCDQtdGJ0LUnLCfQodGC0LXRgNC10YLRjCcsYXJyYXkoJ9CR0YvQu9CwINC40LfQvNC10L3QtdC90LAgJWQg0LfQsNC/0LjRgdGMLicsJ9CR0YvQu9C4INC40LfQvNC10L3QtdC90YsgJWQg0LfQsNC/0LjRgdC4LicsJ9CR0YvQu9C+INC40LfQvNC10L3QtdC90L4gJWQg0LfQsNC/0LjRgdC10LkuJyksJ9Ca0LvQuNC60L3QuCDQtNCy0LAg0YDQsNC30LAg0L/QviDQt9C90LDRh9C10L3QuNGOLCDRh9GC0L7QsdGLINC10LPQviDQuNC30LzQtdC90LjRgtGMLicsYXJyYXkoJ9CY0LzQv9C+0YDRgtC40YDQvtCy0LDQvdCwICVkINGB0YLRgNC+0LrQsC4nLCfQmNC80L/QvtGA0YLQuNGA0L7QstCw0L3QviAlZCDRgdGC0YDQvtC60LguJywn0JjQvNC/0L7RgNGC0LjRgNC+0LLQsNC90L4gJWQg0YHRgtGA0L7Qui4nKSwn0J3QtSDRg9C00LDQu9C+0YHRjCDQv9C+0LvRg9GH0LjRgtGMINC00LDQvdC90YvQtSDQuNC3INGC0LDQsdC70LjRhtGLJywn0YDQtdC00LDQutGC0LjRgNC+0LLQsNGC0YwnLCfQoNC10LvRj9GG0LjQuCcsJ9CY0LfQvNC10L3QuNGC0Ywg0Y3RgtC+INC30L3QsNGH0LXQvdC40LUg0LzQvtC20L3QviDRgSDQv9C+0LzQvtGJ0YzRjiDRgdGB0YvQu9C60LggwqvQuNC30LzQtdC90LjRgtGMwrsuJywn0KHRgtGA0LDQvdC40YbQsCcsJ9C/0L7RgdC70LXQtNC90Y/RjycsYXJyYXkoJyVkINGB0YLRgNC+0LrQsCcsJyVkINGB0YLRgNC+0LrQuCcsJyVkINGB0YLRgNC+0LonKSwn0LLQtdGB0Ywg0YDQtdC30YPQu9GM0YLQsNGCJywn0JrQu9C+0L3QuNGA0L7QstCw0YLRjCcsJ9Ct0LrRgdC/0L7RgNGCJywn0JjQvNC/0L7RgNGCJywn0J/QvtC40YHQuiDQsiDRgtCw0LHQu9C40YbQsNGFJywn0KLQsNCx0LvQuNGG0LAnLCfQodGC0YDQvtC6JywnICcsJ9Cg0LXQtNCw0LrRgtC40YDQvtCy0LDRgtGMINCy0YHRkScpO2JyZWFrO2Nhc2UiemgiOiRKPWFycmF5KCfkvaDnoa7lrprlkJfvvJ8nLCfkuI3og73kuIrkvKDmlofku7bjgIInLCfmnIDlpJrlhYHorrjnmoTmlofku7blpKflsI/kuLogJXNCJywn5paH5Lu25LiN5a2Y5Zyo44CCJywn56m6Jywn5Y6f5aeLJywn5rKh5pyJ6KGo44CCJywn6K+t6KiAJywn5L2/55SoJywn6K+35L2/55So6L+Z5Lqb5omp5bGV5Lit55qE5LiA5Liq77yaJXPjgIInLCfmlofku7blt7LlrZjlnKjjgIInLCfnlKjmiLfnsbvlnosnLCfmlbDlrZcnLCfml6XmnJ/ml7bpl7QnLCflrZfnrKbkuLInLCfkuozov5vliLYnLCfnvZHnu5wnLCflh6DkvZXlm77lvaInLCfliJfooagnLCfnvJbovpHlmagnLCfnlKjmiLflkI0nLCflr4bnoIEnLCfnmbvlvZUnLCfkv53mjIHnmbvlvZUnLCfmlrDlu7rpobknLCfmnKvpobUnLCclZCDlrZfoioInLCckMS4kMy4kNScsJ+aQnOe0oicsJ+S7u+aEj+S9jee9ricsJ+aOkuW6jycsJ+mZkOWumicsJ+WKqOS9nCcsJ+mAieaLqScsJ+eUteWtkOmCruS7ticsJ+adpeiHqicsJ+S4u+mimCcsJ+aPkuWFpScsJ+mZhOS7ticsJ+WPkemAgScsJyVkIOWwgemCruS7tuW3suWPkemAgeOAgicsJ+eOsOWcqCcsJ0hIOk1NOlNTJywnW3l5eXldLm1tLmRkJywn5rOo6ZSAJywnbHRyJywn6YeN5paw5Y+R6YCBIFBPU1Qg5pWw5o2u77yfJywn5pyN5Yqh5ZmoJywn5peg5pWIIENTUkYg5Luk54mM44CC6YeN5paw5Y+R6YCB6KGo5Y2V44CCJywn5rOo6ZSA5oiQ5Yqf44CCJywn5Lya6K+d5b+F6aG76KKr5ZCv55So44CCJywn5Lya6K+d5bey6L+H5pyf77yM6K+36YeN5paw55m75b2V44CCJywn5peg5pWI5Yet5o2u44CCJywn5rKh5pyJ5omp5bGVJywn5rKh5pyJ5pSv5oyB55qEIFBIUCDmianlsZXlj6/nlKjvvIglc++8ieOAgicsJ+WkquWkp+eahCBQT1NUIOaVsOaNruOAguWHj+WwkeaVsOaNruaIluiAheWinuWKoCAlcyDphY3nva7lkb3ku6TjgIInLCflt7LliKDpmaTpobnnm67jgIInLCflt7Lmm7TmlrDpobnnm67jgIInLCflt7Lmj5LlhaXpobnnm64lc+OAgicsJ+e8lui+kScsJ+ayoeacieihjOOAgicsJ+S/neWtmCcsJ+S/neWtmOW5tue7p+e7ree8lui+kScsJ+S/neWtmOW5tuaPkuWFpeS4i+S4gOS4qicsJ+WIoOmZpCcsJyVkIOS4qumhueebruWPl+WIsOW9seWTjeOAgicsJ+WcqOWAvOS4iuWPjOWHu+exu+S/ruaUueWug+OAgicsJyVkIOihjOW3suWvvOWFpeOAgicsJ+S4jeiDvemAieaLqeivpeihqCcsJ+e8lui+kScsJ+WFs+iBlOS/oeaBrycsJ+S9v+eUqOe8lui+kemTvuaOpeadpeS/ruaUueivpeWAvOOAgicsJ+mhtemdoicsJ+acgOWQjicsJyVkIOihjCcsJ+aJgOaciee7k+aenCcsJ+WFi+mahicsJ+WvvOWHuicsJ+WvvOWFpScsJ+WcqOihqOS4reaQnOe0ouaVsOaNricsJ+ihqCcsJ+ihjOaVsCcsJywnLCfnvJbovpHlhajpg6gnKTticmVhaztjYXNlInpoLXR3IjokSj1hcnJheSgn5L2g56K65a6a5ZeO77yfJywn54Sh5rOV5LiK5YKz5qqU5qGI44CCJywn5YWB6Kix55qE5qqU5qGI5LiK6ZmQ5aSn5bCP54K6JXNCJywn5qqU5qGI5LiN5a2Y5ZyoJywn56m65YC8Jywn5Y6f5aeLJywn5rKS5pyJ6LOH5paZ6KGo44CCJywn6Kqe6KiAJywn5L2/55SoJywn6KuL5L2/55So5LiL5YiX5YW25Lit5LiA5YCLIGV4dGVuc2lvbiAlc+OAgicsJ+aqlOahiOW3suWtmOWcqOOAgicsJ+S9v+eUqOiAhemhnuWeiycsJ+aVuOWtlycsJ+aXpeacn+aZgumWkycsJ+Wtl+espuS4sicsJ+S6jOmAsuWIticsJ+e2sui3rycsJ+W5vuS9lScsJ+WIl+ihqCcsJ+e3qOi8r+WZqCcsJ+W4s+iZnycsJ+WvhueivCcsJ+eZu+WFpScsJ+awuOS5heeZu+WFpScsJ+aWsOW7uumghScsJ+acgOW+jOS4gOmggScsJyVkIGJ5dGUocyknLCckMS4kMy4kNScsJ+aQnOWwiycsJ+S7u+aEj+S9jee9ricsJ+aOkuW6jycsJ+mZkOWumicsJ+WLleS9nCcsJ+mBuOaThycsJ+mbu+WtkOmDteS7ticsJ+S+huiHqicsJ+S4u+mhjCcsJ+aPkuWFpScsJ+mZhOS7ticsJ+eZvOmAgScsJ+W3sueZvOmAgSAlZCDlsIHpg7Xku7bjgIInLCfnj77lnKgnLCdISDpNTTpTUycsJ1t5eXl5XS5tbS5kZCcsJ+eZu+WHuicsJ2x0cicsJ+mHjeaWsOeZvOmAgeihqOWWruizh+aWmT8nLCfkvLrmnI3lmagnLCfnhKHmlYjnmoQgQ1NSRiB0b2tlbuOAguiri+mHjeaWsOeZvOmAgeihqOWWruOAgicsJ+eZu+WHuuaIkOWKn+OAgicsJ1Nlc3Npb24g5b+F6aCI6KKr5ZWf55So44CCJywnU2Vzc2lvbiDlt7LpgY7mnJ/vvIzoq4vph43mlrDnmbvlhaXjgIInLCfnhKHmlYjnmoTmhpHorYnjgIInLCfmspLmnIkg5pO05YWF5qih57WEJywn5rKS5pyJ5Lu75L2V5pSv5o+055qEUEhQ5pO05YWF5qih57WE77yIJXPvvInjgIInLCdQT1NUIOizh+aWmeWkquWkp+OAgua4m+Wwkeizh+aWmeaIluiAheWinuWKoCAlcyDnmoToqK3lrprlgLzjgIInLCfoqbLpoIXnm67lt7LooqvliKrpmaQnLCflt7Lmm7TmlrDpoIXnm67jgIInLCflt7Lmj5LlhaXpoIXnm64lc+OAgicsJ+e3qOi8rycsJ+aykuacieihjOOAgicsJ+WEsuWtmCcsJ+S/neWtmOS4pue5vOe6jOe3qOi8rycsJ+WEsuWtmOS4puaPkuWFpeS4i+S4gOWAiycsJ+WIqumZpCcsJyVk5YCL6aCF55uu5Y+X5Yiw5b2x6Z+/44CCJywn6ZuZ5pOK5Lul6YCy6KGM5L+u5pS544CCJywnJWTooYzlt7LlsI7lhaXjgIInLCfnhKHms5Xpgbjmk4foqbLos4fmlpnooagnLCfnt6jovK8nLCfpl5zoga8nLCfkvb/nlKjnt6jovK/pgKPntZDkvobkv67mlLnjgIInLCfpoIEnLCfmnIDlvozkuIDpoIEnLCclZOihjCcsJ+aJgOaciee1kOaenCcsJ+ikh+ijvScsJ+WMr+WHuicsJ+WMr+WFpScsJ+WcqOizh+aWmeW6q+aQnOWwiycsJ+izh+aWmeihqCcsJ+ihjOaVuCcsJywnLCfnt6jovK/lhajpg6gnKTticmVhaztjYXNlImphIjokSj1hcnJheSgn5a6f6KGM44GX44G+44GZ44GL77yfJywn44OV44Kh44Kk44Or44KS44Ki44OD44OX44Ot44O844OJ44Gn44GN44G+44Gb44KTJywn5pyA5aSn44OV44Kh44Kk44Or44K144Kk44K6ICVzQicsJ+ODleOCoeOCpOODq+OBr+WtmOWcqOOBl+OBvuOBm+OCkycsJ+epuicsJ+WFgycsJ+ODhuODvOODluODq+OBjOOBguOCiuOBvuOBm+OCk+OAgicsJ+iogOiqnicsJ+S9v+eUqCcsJ+OBhOOBmuOCjOOBi+OBruaLoeW8teapn+iDveOCkuS9v+OBo+OBpuOBj+OBoOOBleOBhCAlcycsJ+ODleOCoeOCpOODq+OBjOaXouOBq+WtmOWcqOOBl+OBvuOBmScsJ+ODpuODvOOCtuODvOWumue+qeWeiycsJ+aVsOWtlycsJ+aXpeaZgicsJ+aWh+Wtl+WIlycsJ+ODkOOCpOODiuODqicsJ+ODjeODg+ODiOODr+ODvOOCr+WeiycsJ+OCuOOCquODoeODiOODquWeiycsJ+ODquOCueODiCcsJ+OCqOODh+OCo+OCvycsJ+ODpuODvOOCtuWQjScsJ+ODkeOCueODr+ODvOODiScsJ+ODreOCsOOCpOODsycsJ+awuOe2mueahOOBq+ODreOCsOOCpOODsycsJ+mgheebruOBruS9nOaIkCcsJ+acgOW+jOOBruODmuODvOOCuCcsJyVkIOODkOOCpOODiCcsJyQxLiQzLiQ1Jywn5qSc57SiJywn5Lu75oSPJywn44K944O844OIJywn5Yi257SEJywn5YuV5L2cJywn6YG45oqeJywn44Oh44O844OrJywn5beu5Ye65Lq6Jywn6aGM5ZCNJywn5oy/5YWlJywn5re75LuY44OV44Kh44Kk44OrJywn6YCB5L+hJywnJWQg44Oh44O844Or44KS6YCB5L+h44GX44G+44GX44GfJywn54++5Zyo44Gu5pel5pmCJywn5pmCOuWIhjrnp5InLCdbeXl5eV0ubW0uZGQnLCfjg63jgrDjgqLjgqbjg4gnLCdsdHInLCflho3pgIHkv6HjgZfjgb7jgZnjgYvvvJ8nLCfjgrXjg7zjg5AnLCfkuI3mraPjgapDU1JG44OI44O844Kv44Oz44CC5YaN6YCB5L+h44GX44Gm44GP44Gg44GV44GEJywn44Ot44Kw44Ki44Km44OIJywn44K744OD44K344On44Oz44KS5pyJ5Yq544Gr44GX44Gm44GP44Gg44GV44GEJywn44K744OD44K344On44Oz44Gu5pyf6ZmQ5YiH44KM44CC44Ot44Kw44Kk44Oz44GX55u044GX44Gm44GP44Gg44GV44GEJywn5LiN5q2j44Gq44Ot44Kw44Kk44OzJywn5ouh5by15qmf6IO944GM44GC44KK44G+44Gb44KTJywnUEhQ44Gu5ouh5by15qmf6IO977yIJXPvvInjgYzjgrvjg4Pjg4jjgqLjg4Pjg5fjgZXjgozjgabjgYTjgb7jgZvjgpMnLCdQT1NU44OH44O844K/44GM5aSn44GN44GZ44GO44G+44GZ44CC44OH44O844K/44K144Kk44K644KS5bCP44GV44GP44GZ44KL44GLICVzIOioreWumuOCkuWkp+OBjeOBj+OBl+OBpuOBj+OBoOOBleOBhCcsJ+mgheebruOCkuWJiumZpOOBl+OBvuOBl+OBnycsJ+mgheebruOCkuabtOaWsOOBl+OBvuOBl+OBnycsJyVz6aCF55uu44KS5oy/5YWl44GX44G+44GX44GfJywn57eo6ZuGJywn6KGM44GM44GC44KK44G+44Gb44KTJywn5L+d5a2YJywn5L+d5a2Y44GX44Gm57aZ57aaJywn5L+d5a2Y77yP6L+95YqgJywn5YmK6ZmkJywnJWQg44KS5pu05paw44GX44G+44GX44GfJywn44OA44OW44Or44Kv44Oq44OD44Kv44GX44Gm57eo6ZuGJywnJWQg6KGM44KS44Kk44Oz44Od44O844OI44GX44G+44GX44GfJywn44OG44O844OW44Or44KS6YG45oqe44Gn44GN44G+44Gb44KTJywn57eo6ZuGJywn6Zai5L+CJywn44Oq44Oz44Kv44KS57eo6ZuG44GZ44KLJywn44Oa44O844K4Jywn5pyA57WCJywnJWQg6KGMJywn5YWo57WQ5p6cJywn44Kv44Ot44O844OzJywn44Ko44Kv44K544Od44O844OIJywn44Kk44Oz44Od44O844OIJywn44OH44O844K/44KS5qSc57Si44GZ44KLJywn44OG44O844OW44OrJywn6KGM5pWwJywnLCcsJ+OBmeOBueOBpue3qOmbhicpO2JyZWFrO2Nhc2UidGEiOiRKPWFycmF5KCfgrqjgrr/grprgr43grprigIzgrq/igIzgrq7grr7grpXigIwgPycsJ+CuleCvi+CuquCvjeCuquCviCDgrq7gr4fgrrLgr4fgrrHgr43grrHigIzgrq7gr40gKHVwbG9hZCkg4K6a4K+G4K6v4K+N4K6v4oCMIOCuh+Cur+CusuKAjOCuteCuv+CusuCvjeCusuCviC4nLCfgrpXgr4vgrqrgr43grqrgrr/grqngr40g4K6F4K6k4K6/4K6V4oCM4K6q4oCM4K6f4K+N4K6a4oCMIOCuheCus+KAjOCuteCvgSAlc0IuJywn4K6V4K+L4K6q4K+N4K6q4K+BIOCuh+CusuCvjeCusuCviC4nLCfgrrXgr4bgrrHgr4Hgrq7gr4ggKGVtcHR5KScsJ+CuheCumuKAjOCusuCvjScsJ+CuheCun+CvjeCun+KAjOCuteKAjOCuo+CviCDgrofgrrLgr43grrLgr4guJywn4K6u4K+K4K604K6/Jywn4K6J4K6q4oCM4K6v4K+L4K6V4K6/Jywn4K6k4oCM4K6v4oCM4K614K+BIOCumuCvhuCur+CvjeCupOCvgSDgrpLgrrDgr4Eg4K614K6/4K6w4K6/4K614K6/4K6p4K+IICVzIChleHRlbnNpb24pIOCuieCuquKAjOCur+Cvi+CuleCuv+CuleCvjeCuleKAjOCuteCvgeCuruCvjS4nLCfgrpXgr4vgrqrgr43grqrgr4Eg4K6J4K6z4K+N4K6z4oCM4K6k4K+BLicsJ+CuquKAjOCur+KAjOCuqeCuvuCus+KAjOCusOCvjSDgrrXigIzgrpXgr4jgrpXigIzgrrPgr40nLCfgro7grqPgr43grpXigIzgrrPgr40nLCfgrqTgr4fgrqTgrr8g4K6u4oCM4K6x4K+N4K6x4K+B4K6u4K+NIOCuqOCvh+CusOKAjOCuruCvjScsJ+CumuKAjOCusOKAjOCuruCvjSAoU3RyaW5nKScsJ+CuquCviOCuqeKAjOCusOCuvycsJ+CuqOCvhuCun+CvjeCuteCviuCusOCvjeCuleCvjScsJ+CuteKAjOCun+Cuv+CuteKAjOCuteCuv+Cur+KAjOCusuCvjSAoR2VvbWV0cnkpJywn4K6q4oCM4K6f4K+N4K6f4K6/4K6v4oCM4K6y4K+NJywn4K6k4K+K4K6V4K+B4K6q4K+N4K6q4K6+4K6z4K6w4K+NJywn4K6q4oCM4K6v4oCM4K6p4K6+4K6z4oCM4K6w4K+NIChVc2VyKScsJ+CuleKAjOCun+KAjOCuteCvgeCumuCvjeCumuCviuCusuCvjScsJ+CuqOCvgeCutOCviCcsJ+CuqOCuv+CusOKAjOCuqOCvjeCupOKAjOCusOKAjOCuruCuvuCuleKAjCDgrqjgr4HgrrTgr4jgrq/igIzgrrXgr4Hgrq7gr40nLCfgrqrgr4HgrqTgrr/grq/igIwg4K6J4K6w4K+B4K6q4K+N4K6q4oCM4K6f4K6/Jywn4K6V4oCM4K6f4K+I4K6a4K6/IOCuquKAjOCuleCvjeCuleKAjOCuruCvjScsYXJyYXkoJyVkIOCuquCviOCun+CvjScsJyVkIOCuquCviOCun+CvjeCun+CvgeCuleKAjOCus+CvjScpLCckNS8kMy8kMScsJ+CupOCvh+Cun+CvgScsJ+CujuCumeCvjeCuleCuvuCur+Cuv+CuqeCvgeCuruCvjScsJ+CupOKAjOCusOKAjOCuruCvjSDgrqrgrr/grrDgrr8nLCfgrrXigIzgrrDigIzgrq7gr43grqrgr4EnLCfgrprgr4bgrq/igIzgrrLgr40nLCfgrqTgr4fgrrDgr43grrXgr4Eg4K6a4K+G4K6v4K+NJywn4K6u4K6/4K6p4K+N4K6p4oCM4K6e4K+N4K6a4oCM4K6y4K+NJywn4K6F4K6p4K+B4K6q4K+N4K6q4K+B4K6p4K6w4K+NJywn4K6q4K+K4K6w4K+B4K6z4K+NJywn4K6q4K+B4K6V4K+B4K6k4K+N4K6k4K+BJywn4K6H4K6j4K+I4K6q4K+N4K6q4K+B4K6V4oCM4K6z4K+NJywn4K6F4K6p4K+B4K6q4K+N4K6q4K+BJyxhcnJheSgnJWQg4K6u4K6/4K6p4K+N4K6p4oCM4K6e4K+N4K6a4oCM4K6y4K+NIOCuheCuqeCvgeCuquCvjeCuquKAjOCuquKAjOCun+CvjeCun+KAjOCupOCvgS4nLCclZCDgrq7grr/grqngr43grqnigIzgrp7gr43grprigIzgrrLgr43grpXigIzgrrPgr40g4K6F4K6p4K+B4K6q4K+N4K6q4oCM4K6q4K+N4K6q4oCM4K6f4K+N4K6f4oCM4K6p4oCMLicpLCfgrofgrqrgr43grqrgr4rgrrTgr4HgrqTgr4EnLCdISDpNTTpTUycsJ2RkL21tL1t5eXl5XScsJ+CuteCvhuCus+Cuv+Cur+Cvh+CuseCvgScsJ2x0cicsJ1BPU1QgZGF0YSDgrrXgr4gg4K6u4K+A4K6j4K+N4K6f4K+B4K6u4K+NIOCuheCuqeCvgeCuquCvjeCuquCuteCuvj8nLCfgrrXigIzgrrTigIzgrpngr43grpXgrr8gKFNlcnZlciknLCdDU1JGIOCun+Cvi+CuleCvjeCuleKAjOCuqeCvjSDgrprgr4bgrrLgr43grrLgrr7grqTgr4EuIOCuquKAjOCun+Cuv+CuteKAjOCupOCvjeCupOCviCDgrq7gr4DgrqPgr43grp/gr4Hgrq7gr40g4K6F4K6p4K+B4K6q4K+N4K6q4oCM4K614K+B4K6u4K+NLicsJ+CuteCvhuCuseCvjeCuseCuv+CuleKAjOCusOKAjOCuruCuvuCur+CvjSDgrrXgr4bgrrPgrr/grq/gr4fgrrHgrr/grq/grr7grq/grr/grrHgr43grrHgr4EuJywn4K6a4K+G4K634oCM4K6p4K+NIOCuhuCupOKAjOCusOKAjOCuteCvgSDgrofgrq/igIzgrpXgr43grpXigIzgrqrgr43grqrigIzgrp/igIwg4K614K+H4K6j4K+N4K6f4K+B4K6u4K+NLicsJ+CumuCvhuCut+KAjOCuqeCvjSDgrpXgrr7grrLgrr7grrXigIzgrqTgrr/grq/grr7grpXgrr8g4K614K6/4K6f4K+N4K6f4oCM4K6k4K+BLiDgrq7gr4DgrqPgr43grp/gr4Hgrq7gr40g4K6o4K+B4K604K+I4K6v4oCM4K614K+B4K6u4K+NLicsJ+CumuKAjOCusOCuv+Cur+CuvuCuqeKAjCDgrrXgrr/grqrigIzgrrDigIzgrpngr43grpXigIzgrrPgr40g4K6H4K6y4K+N4K6y4K+ILicsJ+CuteCuv+CusOCuv+CuteCvgSAoZXh0ZW5z4K6H4K6S4K6p4K+NKSDgrofgrrLgr43grrLgr4ggJywnUEhQIOCuhuCupOKAjOCusOKAjOCuteCvgSDgrrXgrr/grrDgrr/grrXgr4HgrpXigIzgrrPgr40gKCVzKSDgrofgrrLgr43grrLgr4guJywn4K6u4K6/4K6V4oCMIOCuheCupOCuv+CuleKAjOCuruCuvuCuqeKAjCBQT1NUICDgrqTigIzgrpXigIzgrrXigIzgrrLgr40uIOCupOKAjOCuleKAjOCuteKAjOCusuCviCDgrpXgr4HgrrHgr4jgrpXgr43grpXigIzgrrXgr4Hgrq7gr40g4K6F4K6y4K+N4K6y4oCM4K6k4K+BICVzIOCuteKAjOCun+Cuv+CuteKAjOCuruCviOCuquCvjeCuquCviCAoY29uZmlndXJhdGlvbiBkaXJlY3RpdmUpIOCuruCuvuCuseCvjeCuseKAjOCuteCvgeCuruCvjS4nLCfgrongrrDgr4Hgrqrgr43grqrgrp/grr8g4K6o4K+A4K6V4K+N4K6V4oCM4K6q4K+N4K6q4oCM4K6f4K+N4K6f4oCM4K6k4K+BLicsJ+CuieCusOCvgeCuquCvjeCuquKAjOCun+CuvyDgrqrgr4HgrqTgr4Hgrqrgr43grqrgrr/grpXgr43grpXigIzgrqrgr43grqrigIzgrp/gr43grp/igIzgrqTgr4EuJywn4K6J4K6w4K+B4K6q4K+N4K6q4oCM4K6f4K6/IChJdGVtKSDgrprgr4fgrrDgr43grpXgr43grpXigIzgrqrgr43grqrigIzgrp/gr43grp/igIzgrqTgr4EuJywn4K6k4K+K4K6V4K+BJywn4K614oCM4K6w4K6/4K6a4K+IIOCuh+CusuCvjeCusuCviC4nLCfgrprgr4fgrq7grr8nLCfgrprgr4fgrq7grr/grqTgr43grqTigIwg4K6q4K6/4K6x4oCM4K6V4K+BIOCupOCviuCuleCvgeCuquCvjeCuquKAjOCupOCviCDgrqTgr4rgrp/igIzgrrDigIzgrrXgr4Hgrq7gr40nLCfgrprgr4fgrq7grr/grqTgr43grqTigIzgrqrgr40g4K6q4K6/4K6p4K+NIOCuheCun+CvgeCupOCvjeCupOKAjOCupOCviCDgrqrgr4HgrpXgr4HgrqTgr43grqTgr4EnLCfgrqjgr4DgrpXgr43grpXgr4EnLGFycmF5KCclZCDgrongrrDgr4Hgrqrgr43grqrigIzgrp/grr8g4K6u4K6+4K6x4K+N4K6x4oCM4K6u4oCM4K6f4K+I4K6o4K+N4K6k4K6k4K+BLicsJyVkIOCuieCusOCvgeCuquCvjeCuquKAjOCun+Cuv+CuleKAjOCus+CvjSDgrq7grr7grrHgr43grrHigIzgrq7igIzgrp/gr4jgrqjgr43grqTigIzgrqnigIwuJyksJ+CuruKAjOCupOCuv+CuquCvjeCuquCuv+CuqeCviCDgrq7grr7grrHgr43grrEg4K6F4K6k4oCM4K6p4K+NIOCuruCvgOCupOCvgSDgrofgrrDgr4Hgrq7gr4HgrrHgr4gg4K6a4K+K4K6f4K+B4K6V4K+N4K6V4oCM4K614K+B4K6u4K+NIChEb3VibGUgY2xpY2spLicsYXJyYXkoJyVkIOCuteKAjOCusOCuv+CumuCviCDgrofgrrHigIzgrpXgr43grpXgr4Hgrq7igIzgrqTgrr8gKEltcG9ydCkg4K6a4K+G4K6v4K+N4K6v4oCM4K6q4K+N4K6q4oCM4K6f4K+N4K6f4oCM4K6k4K+BLicsJyVkIOCuteKAjOCusOCuv+CumuCviOCuleKAjOCus+CvjSDgrofgrrHigIzgrpXgr43grpXgr4Hgrq7igIzgrqTgrr8gKEltcG9ydCkg4K6a4K+G4K6v4K+N4K6v4oCM4K6q4K+N4K6q4oCM4K6f4K+N4K6f4K6p4oCMLicpLCfgroXgrp/gr43grp/igIzgrrXigIzgrqPgr4jgrq/gr4gg4K6k4K+H4K6w4K+N4K614K+BIOCumuCvhuCur+CvjeCur+KAjCDgrq7gr4Hgrp/grr/grq/igIzgrrXgrr/grrLgr43grrLgr4gnLCfgrqTgr4rgrpXgr4EnLCfgrongrrHigIzgrrXgr4HgrpXigIzgrrPgr40gKFJlbGF0aW9ucyknLCfgrofgrqjgr43grqTigIwg4K6u4oCM4K6k4K6/4K6q4K+N4K6q4K6/4K6p4K+IIOCuruCuvuCuseCvjeCuseKAjCwg4K6k4K+K4K6V4K+B4K6q4K+N4K6q4K+BIOCuh+Cuo+CviOCuquCvjeCuquCuv+CuqeCviCDgrongrqrigIzgrq/gr4vgrpXgrr/grpXgr43grpXigIzgrrXgr4Hgrq7gr40uJywn4K6q4oCM4K6V4K+N4K6V4oCM4K6u4K+NJywn4K6V4oCM4K6f4K+I4K6a4K6/JyxhcnJheSgnJWQg4K614oCM4K6w4K6/4K6a4K+IJywnJWQg4K614oCM4K6w4K6/4K6a4K+I4K6V4oCM4K6z4K+NJyksJ+CuruCvgeCutOCvgeCuruCviOCur+CuvuCuqeKAjCDgrq7gr4Hgrp/grr/grrXgr4EnLCfgrqjigIzgrpXigIzgrrLgrr8gKENsb25lKScsJ+Cuj+CuseCvjeCuseCvgeCuruKAjOCupOCuvycsJ+Cuh+CuseKAjOCuleCvjeCuleCvgeCuruKAjOCupOCuvyAoSW1wb3J0KScsJ+CupOKAjOCuleKAjOCuteKAjOCusuCviCDgroXgrp/gr43grp/igIzgrrXigIzgrqPgr4jgrq/grr/grrLgr40g4K6k4K+H4K6f4K+BJywn4K6F4K6f4K+N4K6f4oCM4K614oCM4K6j4K+IJywn4K614oCM4K6w4K6/4K6a4K+I4K6V4oCM4K6z4K+NJywnLCcsJ+CuheCuqeCviOCupOCvjeCupOCviOCur+CvgeCuruCvjSDgrqTgr4rgrpXgr4EnKTticmVhaztjYXNlImFyIjokSj1hcnJheSgn2YfZhCDYo9mG2Kog2YXYqtij2YPYr9ifJywn2YXZhiDYutmK2LEg2KfZhNmF2YXZg9mGINix2YHYuSDYp9mE2YXZhNmBLicsJ9it2KzZhSDYp9mE2YXZhNmBINin2YTYo9mC2LXZiSDZh9mIICVzQi4nLCfYp9mE2YXZhNmBINi62YrYsSDZhdmI2KzZiNivLicsJ9mB2KfYsdi6Jywn2KfZhNij2LXZhNmKJywn2YTYpyDYqtmI2KzYryDYrNiv2KfZiNmELicsJ9in2YTZhNi62KknLCfYp9mE2YXYs9iq2LnZhdmEJywn2YXZhiDZgdi22YTZgyDYpdiz2KrYudmF2YQg2KXYrdiv2Ykg2KfZhNil2YXYqtiv2KfYr9in2Ko6ICVzLicsJ9in2YTZhdmE2YEg2YXZiNis2YjYry4nLCfZhtmI2Lkg2KfZhNmF2LPYqtiu2K/ZhScsJ9ij2LnYr9in2K8nLCfYp9mE2KrYp9ix2YrYriDZiCDYp9mE2YjZgtiqJywn2LPZhNin2LPZhCcsJ9ir2YbYp9im2YrYqScsJ9i02KjZg9ipJywn2YfZhtiv2LPYqScsJ9mC2YjYp9im2YUnLCfYp9mE2YXYrdix2LEnLCfYp9mE2YXYs9iq2LnZhdmEJywn2YPZhNmF2Kkg2KfZhNmF2LHZiNixJywn2KrYs9is2YrZhCDYp9mE2K/YrtmI2YQnLCfYqtiz2KzZitmEINiv2K7ZiNmEINiv2KfYptmFJywn2LnZhti12LEg2KzYr9mK2K8nLCfYp9mE2LXZgdit2Kkg2KfZhNiz2KfYqNmC2KknLCclZCDYqNin2YrYqicsJyQ1LyQzLyQxJywn2KjYrdirJywn2YHZiiDYp9mKINmF2YPYp9mGJywn2KrYsdiq2YrYqCcsJ9it2K8nLCfYrdix2YPYqScsJ9il2K7YqtmK2KfYsScsJ9in2YTYqNix2YrYryDYp9mE2KXZhNmD2KrYsdmI2YbZiicsJ9mF2YYnLCfYp9mE2YXZiNi22YjYuScsJ9il2YbYtNin2KEnLCfZhdmE2YHYp9iqINmF2LHZgdmC2KkuJywn2KXYsdiz2KfZhCcsJ9iq2YUg2KXYsdiz2KfZhCAlZCDYsdiz2KfZhNipLicsJ9in2YTYotmGJywnSEg6TU06U1MnLCdqai9tbS9bYWFhYV0nLCfYqtiz2KzZitmEINin2YTYrtix2YjYrCcsJ3J0bCcsJ9mH2YQg2KrZiNivINil2LnYp9iv2Kkg2KXYsdiz2KfZhCDYqNmK2KfZhtin2KogUE9TVCDYnycsJ9in2YTYrtin2K/ZhScsJ0NTUkYgVG9rZW4g2K7Yp9i32KYuINmF2YYg2YHYttmE2YMg2KPYudivINil2LHYs9in2YQg2KfZhNil2LPYqtmF2KfYsdipLicsJ9mF2Lkg2KfZhNiz2YTYp9mF2KkuJywn2LnZhNmK2YMg2KrZgdi52YrZhCDZhti42KfZhSDYp9mE2KzZhNiz2KfYqi4nLCfYpdmG2KrZh9iqINin2YTYrNmE2LPYqdiMINmF2YYg2YHYttmE2YMg2KPYudivINiq2LPYrNmK2YQg2KfZhNiv2K7ZiNmELicsJ9mB2LTZhCDZgdmKINiq2LPYrNmK2YQg2KfZhNiv2K7ZiNmELicsJ9il2YXYqtiv2KfYryDYutmK2LEg2YXZiNis2YjYrycsJ9il2YXYqtiv2KfYr9in2KogcGhwINin2YTZhdiv2LnZiNmF2Kkg2LrZitixINmF2YjYrNmI2K/YqS4nLCfZhdi52YTZiNmF2KfYqiBQT1NUINmD2KjZitix2Kkg2KzYr9inLiDZgtmFINio2KrZgtmE2YrYtSDYrdis2YUg2KfZhNmF2LnZhNmI2YXYp9iqINij2Ygg2YLZhSDYqNiy2YrYp9iv2Kkg2YLZitmF2KkgJXMg2YHZiiDYrtmK2KfYsdin2Kog2KfZhCBQSFAuJywn2KrZhSDYrdiw2YEg2KfZhNi52YbYtdixLicsJ9iq2YUg2KrYudiv2YrZhCDYp9mE2LnZhti12LEuJywn2KrZhSDYpdiv2LHYp9isINin2YTYudmG2LXYsS4nLCfYqti52K/ZitmEJywn2YTYpyDYqtmI2KzYryDZhtiq2KfYptisLicsJ9it2YHYuCcsJ9il2K3Zgdi4INmIINmI2KfYtdmEINin2YTYqti52K/ZitmEJywn2KzZgdi4INmIINil2YbYtNin2KEg2KfZhNiq2KfZhNmKJywn2YXYs9itJywn2LnYr9ivINin2YTYudmG2KfYtdixINin2YTZhdi52K/ZhNipINmH2YggJWQuJywn2KPZhtmC2LEg2YbZgtix2Kcg2YXYstiv2YjYrNinINi52YTZiSDZgtmK2YXYqSDZhNiq2LnYr9mK2YTZh9inLicsJ9i52K/YryDYp9mE2KPYs9i32LEg2KfZhNmF2LPYqtmI2LHYr9ipINmH2YggJWQuJywn2YXZhiDYutmK2LEg2KfZhNmF2YXZg9mGINil2K7YqtmK2KfYsSDYp9mE2KzYr9mI2YQnLCfYqti52K/ZitmEJywn2LnZhNin2YLYp9iqJywn2KXYs9iq2LnZhdmEINin2YTYsdin2KjYtyAi2KrYudiv2YrZhCIg2YTYqti52K/ZitmEINmH2LDZhyDYp9mE2YLZitmF2KkuJywn2LXZgdit2KknLCfYp9mE2KPYrtmK2LHYqScsJyVkINij2LPYt9ixJywn2YbYqtmK2KzYqSDZg9in2YXZhNipJywn2YbYs9iuJywn2KrYtdiv2YrYsScsJ9il2LPYqtmK2LHYp9ivJywn2KjYrdirINmB2Yog2KfZhNis2K/Yp9mI2YQnLCfYrNiv2YjZhCcsJ9in2YTYo9iz2LfYsScsJywnLCfYqti52K/ZitmEINin2YTZg9mEJyk7YnJlYWs7fWlmKGV4dGVuc2lvbl9sb2FkZWQoJ3BkbycpKXtjbGFzcwpNaW5fUERPCmV4dGVuZHMKUERPe3ZhciRfcmVzdWx0LCRzZXJ2ZXJfaW5mbywkYWZmZWN0ZWRfcm93cywkZXJyb3I7ZnVuY3Rpb24KX19jb25zdHJ1Y3QoKXt9ZnVuY3Rpb24KZHNuKCRfZCwkRiwkSCwkemQ9J2F1dGhfZXJyb3InKXtzZXRfZXhjZXB0aW9uX2hhbmRsZXIoJHpkKTtwYXJlbnQ6Ol9fY29uc3RydWN0KCRfZCwkRiwkSCk7cmVzdG9yZV9leGNlcHRpb25faGFuZGxlcigpOyR0aGlzLT5zZXRBdHRyaWJ1dGUoMTMsYXJyYXkoJ01pbl9QRE9TdGF0ZW1lbnQnKSk7JHRoaXMtPnNlcnZlcl9pbmZvPSR0aGlzLT5nZXRBdHRyaWJ1dGUoNCk7fWZ1bmN0aW9uCnF1ZXJ5KCRqLCRDYT1mYWxzZSl7JGk9cGFyZW50OjpxdWVyeSgkaik7aWYoISRpKXskVWQ9JHRoaXMtPmVycm9ySW5mbygpOyR0aGlzLT5lcnJvcj0kVWRbMl07cmV0dXJuCmZhbHNlO30kdGhpcy0+c3RvcmVfcmVzdWx0KCRpKTtyZXR1cm4kaTt9ZnVuY3Rpb24KbXVsdGlfcXVlcnkoJGope3JldHVybiR0aGlzLT5fcmVzdWx0PSR0aGlzLT5xdWVyeSgkaik7fWZ1bmN0aW9uCnN0b3JlX3Jlc3VsdCgkaT1udWxsKXtpZighJGkpeyRpPSR0aGlzLT5fcmVzdWx0O31pZigkaS0+Y29sdW1uQ291bnQoKSl7JGktPm51bV9yb3dzPSRpLT5yb3dDb3VudCgpO3JldHVybiRpO30kdGhpcy0+YWZmZWN0ZWRfcm93cz0kaS0+cm93Q291bnQoKTtyZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24KbmV4dF9yZXN1bHQoKXtyZXR1cm4kdGhpcy0+X3Jlc3VsdC0+bmV4dFJvd3NldCgpO31mdW5jdGlvbgpyZXN1bHQoJGosJGc9MCl7JGk9JHRoaXMtPnF1ZXJ5KCRqKTtpZighJGkpe3JldHVybgpmYWxzZTt9JGM9JGktPmZldGNoKCk7cmV0dXJuJGNbJGddO319Y2xhc3MKTWluX1BET1N0YXRlbWVudApleHRlbmRzClBET1N0YXRlbWVudHt2YXIkX29mZnNldD0wLCRudW1fcm93cztmdW5jdGlvbgpmZXRjaF9hc3NvYygpe3JldHVybiR0aGlzLT5mZXRjaCgyKTt9ZnVuY3Rpb24KZmV0Y2hfcm93KCl7cmV0dXJuJHRoaXMtPmZldGNoKDMpO31mdW5jdGlvbgpmZXRjaF9maWVsZCgpeyRjPShvYmplY3QpJHRoaXMtPmdldENvbHVtbk1ldGEoJHRoaXMtPl9vZmZzZXQrKyk7JGMtPm9yZ3RhYmxlPSRjLT50YWJsZTskYy0+b3JnbmFtZT0kYy0+bmFtZTskYy0+Y2hhcnNldG5yPShpbl9hcnJheSgiYmxvYiIsJGMtPmZsYWdzKT82MzowKTtyZXR1cm4kYzt9fX0kd2E9YXJyYXkoKTskd2FbInNxbGl0ZSJdPSJTUUxpdGUgMyI7JHdhWyJzcWxpdGUyIl09IlNRTGl0ZSAyIjtpZihpc3NldCgkX0dFVFsic3FsaXRlIl0pfHxpc3NldCgkX0dFVFsic3FsaXRlMiJdKSl7JEliPWFycmF5KChpc3NldCgkX0dFVFsic3FsaXRlIl0pPyJTUUxpdGUzIjoiU1FMaXRlIiksIlBET19TUUxpdGUiKTtkZWZpbmUoIkRSSVZFUiIsKGlzc2V0KCRfR0VUWyJzcWxpdGUiXSk/InNxbGl0ZSI6InNxbGl0ZTIiKSk7aWYoZXh0ZW5zaW9uX2xvYWRlZChpc3NldCgkX0dFVFsic3FsaXRlIl0pPyJzcWxpdGUzIjoic3FsaXRlIikpe2lmKGlzc2V0KCRfR0VUWyJzcWxpdGUiXSkpe2NsYXNzCk1pbl9TUUxpdGV7dmFyJGV4dGVuc2lvbj0iU1FMaXRlMyIsJHNlcnZlcl9pbmZvLCRhZmZlY3RlZF9yb3dzLCRlcnJvciwkX2xpbms7ZnVuY3Rpb24KTWluX1NRTGl0ZSgkZWEpeyR0aGlzLT5fbGluaz1uZXcKU1FMaXRlMygkZWEpOyRxYz0kdGhpcy0+X2xpbmstPnZlcnNpb24oKTskdGhpcy0+c2VydmVyX2luZm89JHFjWyJ2ZXJzaW9uU3RyaW5nIl07fWZ1bmN0aW9uCnF1ZXJ5KCRqKXskaT1AJHRoaXMtPl9saW5rLT5xdWVyeSgkaik7aWYoISRpKXskdGhpcy0+ZXJyb3I9JHRoaXMtPl9saW5rLT5sYXN0RXJyb3JNc2coKTtyZXR1cm4KZmFsc2U7fWVsc2VpZigkaS0+bnVtQ29sdW1ucygpKXtyZXR1cm4KbmV3Ck1pbl9SZXN1bHQoJGkpO30kdGhpcy0+YWZmZWN0ZWRfcm93cz0kdGhpcy0+X2xpbmstPmNoYW5nZXMoKTtyZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24KcXVvdGUoJHope3JldHVybiInIi4kdGhpcy0+X2xpbmstPmVzY2FwZVN0cmluZygkeikuIiciO31mdW5jdGlvbgpzdG9yZV9yZXN1bHQoKXtyZXR1cm4kdGhpcy0+X3Jlc3VsdDt9ZnVuY3Rpb24KcmVzdWx0KCRqLCRnPTApeyRpPSR0aGlzLT5xdWVyeSgkaik7aWYoIWlzX29iamVjdCgkaSkpe3JldHVybgpmYWxzZTt9JGM9JGktPl9yZXN1bHQtPmZldGNoQXJyYXkoKTtyZXR1cm4kY1skZ107fX1jbGFzcwpNaW5fUmVzdWx0e3ZhciRfcmVzdWx0LCRfb2Zmc2V0PTAsJG51bV9yb3dzO2Z1bmN0aW9uCk1pbl9SZXN1bHQoJGkpeyR0aGlzLT5fcmVzdWx0PSRpO31mdW5jdGlvbgpmZXRjaF9hc3NvYygpe3JldHVybiR0aGlzLT5fcmVzdWx0LT5mZXRjaEFycmF5KFNRTElURTNfQVNTT0MpO31mdW5jdGlvbgpmZXRjaF9yb3coKXtyZXR1cm4kdGhpcy0+X3Jlc3VsdC0+ZmV0Y2hBcnJheShTUUxJVEUzX05VTSk7fWZ1bmN0aW9uCmZldGNoX2ZpZWxkKCl7JHU9JHRoaXMtPl9vZmZzZXQrKzskRD0kdGhpcy0+X3Jlc3VsdC0+Y29sdW1uVHlwZSgkdSk7cmV0dXJuKG9iamVjdClhcnJheSgibmFtZSI9PiR0aGlzLT5fcmVzdWx0LT5jb2x1bW5OYW1lKCR1KSwidHlwZSI9PiRELCJjaGFyc2V0bnIiPT4oJEQ9PVNRTElURTNfQkxPQj82MzowKSwpO31mdW5jdGlvbgpfX2Rlc2N0cnVjdCgpe3JldHVybiR0aGlzLT5fcmVzdWx0LT5maW5hbGl6ZSgpO319fWVsc2V7Y2xhc3MKTWluX1NRTGl0ZXt2YXIkZXh0ZW5zaW9uPSJTUUxpdGUiLCRzZXJ2ZXJfaW5mbywkYWZmZWN0ZWRfcm93cywkZXJyb3IsJF9saW5rO2Z1bmN0aW9uCk1pbl9TUUxpdGUoJGVhKXskdGhpcy0+c2VydmVyX2luZm89c3FsaXRlX2xpYnZlcnNpb24oKTskdGhpcy0+X2xpbms9bmV3ClNRTGl0ZURhdGFiYXNlKCRlYSk7fWZ1bmN0aW9uCnF1ZXJ5KCRqLCRDYT1mYWxzZSl7JGNlPSgkQ2E/InVuYnVmZmVyZWRRdWVyeSI6InF1ZXJ5Iik7JGk9QCR0aGlzLT5fbGluay0+JGNlKCRqLFNRTElURV9CT1RILCRxKTtpZighJGkpeyR0aGlzLT5lcnJvcj0kcTtyZXR1cm4KZmFsc2U7fWVsc2VpZigkaT09PXRydWUpeyR0aGlzLT5hZmZlY3RlZF9yb3dzPSR0aGlzLT5jaGFuZ2VzKCk7cmV0dXJuCnRydWU7fXJldHVybgpuZXcKTWluX1Jlc3VsdCgkaSk7fWZ1bmN0aW9uCnF1b3RlKCR6KXtyZXR1cm4iJyIuc3FsaXRlX2VzY2FwZV9zdHJpbmcoJHopLiInIjt9ZnVuY3Rpb24Kc3RvcmVfcmVzdWx0KCl7cmV0dXJuJHRoaXMtPl9yZXN1bHQ7fWZ1bmN0aW9uCnJlc3VsdCgkaiwkZz0wKXskaT0kdGhpcy0+cXVlcnkoJGopO2lmKCFpc19vYmplY3QoJGkpKXtyZXR1cm4KZmFsc2U7fSRjPSRpLT5fcmVzdWx0LT5mZXRjaCgpO3JldHVybiRjWyRnXTt9fWNsYXNzCk1pbl9SZXN1bHR7dmFyJF9yZXN1bHQsJF9vZmZzZXQ9MCwkbnVtX3Jvd3M7ZnVuY3Rpb24KTWluX1Jlc3VsdCgkaSl7JHRoaXMtPl9yZXN1bHQ9JGk7aWYobWV0aG9kX2V4aXN0cygkaSwnbnVtUm93cycpKXskdGhpcy0+bnVtX3Jvd3M9JGktPm51bVJvd3MoKTt9fWZ1bmN0aW9uCmZldGNoX2Fzc29jKCl7JGM9JHRoaXMtPl9yZXN1bHQtPmZldGNoKFNRTElURV9BU1NPQyk7aWYoISRjKXtyZXR1cm4KZmFsc2U7fSRiPWFycmF5KCk7Zm9yZWFjaCgkYwphcyRkPT4kYSl7JGJbKCRkWzBdPT0nIic/aWRmX3VuZXNjYXBlKCRkKTokZCldPSRhO31yZXR1cm4kYjt9ZnVuY3Rpb24KZmV0Y2hfcm93KCl7cmV0dXJuJHRoaXMtPl9yZXN1bHQtPmZldGNoKFNRTElURV9OVU0pO31mdW5jdGlvbgpmZXRjaF9maWVsZCgpeyRmPSR0aGlzLT5fcmVzdWx0LT5maWVsZE5hbWUoJHRoaXMtPl9vZmZzZXQrKyk7JFY9JyhcXFsuKl18Iig/OlteIl18IiIpKiJ8KC4rKSknO2lmKHByZWdfbWF0Y2goIn5eKCRWXFwuKT8kVlwkfiIsJGYsJGspKXskZT0oJGtbM10hPSIiPyRrWzNdOmlkZl91bmVzY2FwZSgka1syXSkpOyRmPSgka1s1XSE9IiI/JGtbNV06aWRmX3VuZXNjYXBlKCRrWzRdKSk7fXJldHVybihvYmplY3QpYXJyYXkoIm5hbWUiPT4kZiwib3JnbmFtZSI9PiRmLCJvcmd0YWJsZSI9PiRlLCk7fX19fWVsc2VpZihleHRlbnNpb25fbG9hZGVkKCJwZG9fc3FsaXRlIikpe2NsYXNzCk1pbl9TUUxpdGUKZXh0ZW5kcwpNaW5fUERPe3ZhciRleHRlbnNpb249IlBET19TUUxpdGUiO2Z1bmN0aW9uCk1pbl9TUUxpdGUoJGVhKXskdGhpcy0+ZHNuKERSSVZFUi4iOiRlYSIsIiIsIiIpO319fWlmKGNsYXNzX2V4aXN0cygiTWluX1NRTGl0ZSIpKXtjbGFzcwpNaW5fREIKZXh0ZW5kcwpNaW5fU1FMaXRle2Z1bmN0aW9uCk1pbl9EQigpeyR0aGlzLT5NaW5fU1FMaXRlKCI6bWVtb3J5OiIpO31mdW5jdGlvbgpzZWxlY3RfZGIoJGVhKXtpZihpc19yZWFkYWJsZSgkZWEpJiYkdGhpcy0+cXVlcnkoIkFUVEFDSCAiLiR0aGlzLT5xdW90ZShlcmVnKCIoXlsvXFxdfDopIiwkZWEpPyRlYTpkaXJuYW1lKCRfU0VSVkVSWyJTQ1JJUFRfRklMRU5BTUUiXSkuIi8kZWEiKS4iIEFTIGEiKSl7JHRoaXMtPk1pbl9TUUxpdGUoJGVhKTtyZXR1cm4KdHJ1ZTt9cmV0dXJuCmZhbHNlO31mdW5jdGlvbgptdWx0aV9xdWVyeSgkail7cmV0dXJuJHRoaXMtPl9yZXN1bHQ9JHRoaXMtPnF1ZXJ5KCRqKTt9ZnVuY3Rpb24KbmV4dF9yZXN1bHQoKXtyZXR1cm4KZmFsc2U7fX19ZnVuY3Rpb24KaWRmX2VzY2FwZSgkRSl7cmV0dXJuJyInLnN0cl9yZXBsYWNlKCciJywnIiInLCRFKS4nIic7fWZ1bmN0aW9uCnRhYmxlKCRFKXtyZXR1cm4KaWRmX2VzY2FwZSgkRSk7fWZ1bmN0aW9uCmNvbm5lY3QoKXtyZXR1cm4KbmV3Ck1pbl9EQjt9ZnVuY3Rpb24KZ2V0X2RhdGFiYXNlcygpe3JldHVybgphcnJheSgpO31mdW5jdGlvbgpsaW1pdCgkaiwkbSwkXywkWD0wLCRxYT0iICIpe3JldHVybiIgJGokbSIuKGlzc2V0KCRfKT8kcWEuIkxJTUlUICRfIi4oJFg/IiBPRkZTRVQgJFgiOiIiKToiIik7fWZ1bmN0aW9uCmxpbWl0MSgkaiwkbSl7Z2xvYmFsJGg7cmV0dXJuKCRoLT5yZXN1bHQoIlNFTEVDVCBzcWxpdGVfY29tcGlsZW9wdGlvbl91c2VkKCdFTkFCTEVfVVBEQVRFX0RFTEVURV9MSU1JVCcpIik/bGltaXQoJGosJG0sMSk6IiAkaiRtIik7fWZ1bmN0aW9uCmRiX2NvbGxhdGlvbigkdiwkSGIpe2dsb2JhbCRoO3JldHVybiRoLT5yZXN1bHQoIlBSQUdNQSBlbmNvZGluZyIpO31mdW5jdGlvbgplbmdpbmVzKCl7cmV0dXJuCmFycmF5KCk7fWZ1bmN0aW9uCmxvZ2dlZF91c2VyKCl7cmV0dXJuCmdldF9jdXJyZW50X3VzZXIoKTt9ZnVuY3Rpb24KdGFibGVzX2xpc3QoKXtyZXR1cm4KZ2V0X2tleV92YWxzKCJTRUxFQ1QgbmFtZSwgdHlwZSBGUk9NIHNxbGl0ZV9tYXN0ZXIgV0hFUkUgdHlwZSBJTiAoJ3RhYmxlJywgJ3ZpZXcnKSBPUkRFUiBCWSAobmFtZSA9ICdzcWxpdGVfc2VxdWVuY2UnKSwgbmFtZSIsMSk7fWZ1bmN0aW9uCmNvdW50X3RhYmxlcygkUCl7cmV0dXJuCmFycmF5KCk7fWZ1bmN0aW9uCnRhYmxlX3N0YXR1cygkZj0iIil7JGI9YXJyYXkoKTtmb3JlYWNoKGdldF9yb3dzKCJTRUxFQ1QgbmFtZSBBUyBOYW1lLCB0eXBlIEFTIEVuZ2luZSBGUk9NIHNxbGl0ZV9tYXN0ZXIgV0hFUkUgdHlwZSBJTiAoJ3RhYmxlJywgJ3ZpZXcnKSIuKCRmIT0iIj8iIEFORCBuYW1lID0gIi5xKCRmKToiIikpYXMkYyl7JGNbIkF1dG9faW5jcmVtZW50Il09IiI7JGJbJGNbIk5hbWUiXV09JGM7fWZvcmVhY2goZ2V0X3Jvd3MoIlNFTEVDVCAqIEZST00gc3FsaXRlX3NlcXVlbmNlIixudWxsLCIiKWFzJGMpeyRiWyRjWyJuYW1lIl1dWyJBdXRvX2luY3JlbWVudCJdPSRjWyJzZXEiXTt9cmV0dXJuKCRmIT0iIj8kYlskZl06JGIpO31mdW5jdGlvbgppc192aWV3KCR3KXtyZXR1cm4kd1siRW5naW5lIl09PSJ2aWV3Ijt9ZnVuY3Rpb24KZmtfc3VwcG9ydCgkdyl7Z2xvYmFsJGg7cmV0dXJuISRoLT5yZXN1bHQoIlNFTEVDVCBzcWxpdGVfY29tcGlsZW9wdGlvbl91c2VkKCdPTUlUX0ZPUkVJR05fS0VZJykiKTt9ZnVuY3Rpb24KZmllbGRzKCRlKXskYj1hcnJheSgpO2ZvcmVhY2goZ2V0X3Jvd3MoIlBSQUdNQSB0YWJsZV9pbmZvKCIudGFibGUoJGUpLiIpIilhcyRjKXskRD1zdHJ0b2xvd2VyKCRjWyJ0eXBlIl0pOyRsYj0kY1siZGZsdF92YWx1ZSJdOyRiWyRjWyJuYW1lIl1dPWFycmF5KCJmaWVsZCI9PiRjWyJuYW1lIl0sInR5cGUiPT4oZXJlZ2koImludCIsJEQpPyJpbnRlZ2VyIjooZXJlZ2koImNoYXJ8Y2xvYnx0ZXh0IiwkRCk/InRleHQiOihlcmVnaSgiYmxvYiIsJEQpPyJibG9iIjooZXJlZ2koInJlYWx8ZmxvYXxkb3ViIiwkRCk/InJlYWwiOiJudW1lcmljIikpKSksImZ1bGxfdHlwZSI9PiRELCJkZWZhdWx0Ij0+KGVyZWcoIicoLiopJyIsJGxiLCRrKT9zdHJfcmVwbGFjZSgiJyciLCInIiwka1sxXSk6KCRsYj09Ik5VTEwiP251bGw6JGxiKSksIm51bGwiPT4hJGNbIm5vdG51bGwiXSwiYXV0b19pbmNyZW1lbnQiPT5lcmVnaSgnXmludGVnZXIkJywkRCkmJiRjWyJwayJdLCJwcml2aWxlZ2VzIj0+YXJyYXkoInNlbGVjdCI9PjEsImluc2VydCI9PjEsInVwZGF0ZSI9PjEpLCJwcmltYXJ5Ij0+JGNbInBrIl0sKTt9cmV0dXJuJGI7fWZ1bmN0aW9uCmluZGV4ZXMoJGUsJFM9bnVsbCl7JGI9YXJyYXkoKTskeWE9YXJyYXkoKTtmb3JlYWNoKGZpZWxkcygkZSlhcyRnKXtpZigkZ1sicHJpbWFyeSJdKXskeWFbXT0kZ1siZmllbGQiXTt9fWlmKCR5YSl7JGJbIiJdPWFycmF5KCJ0eXBlIj0+IlBSSU1BUlkiLCJjb2x1bW5zIj0+JHlhLCJsZW5ndGhzIj0+YXJyYXkoKSk7fWZvcmVhY2goZ2V0X3Jvd3MoIlBSQUdNQSBpbmRleF9saXN0KCIudGFibGUoJGUpLiIpIilhcyRjKXskYlskY1sibmFtZSJdXVsidHlwZSJdPSgkY1sidW5pcXVlIl0/IlVOSVFVRSI6IklOREVYIik7JGJbJGNbIm5hbWUiXV1bImxlbmd0aHMiXT1hcnJheSgpO2ZvcmVhY2goZ2V0X3Jvd3MoIlBSQUdNQSBpbmRleF9pbmZvKCIuaWRmX2VzY2FwZSgkY1sibmFtZSJdKS4iKSIpYXMkTmQpeyRiWyRjWyJuYW1lIl1dWyJjb2x1bW5zIl1bXT0kTmRbIm5hbWUiXTt9fXJldHVybiRiO31mdW5jdGlvbgpmb3JlaWduX2tleXMoJGUpeyRiPWFycmF5KCk7Zm9yZWFjaChnZXRfcm93cygiUFJBR01BIGZvcmVpZ25fa2V5X2xpc3QoIi50YWJsZSgkZSkuIikiKWFzJGMpeyRVPSYkYlskY1siaWQiXV07aWYoISRVKXskVT0kYzt9JFVbInNvdXJjZSJdW109JGNbImZyb20iXTskVVsidGFyZ2V0Il1bXT0kY1sidG8iXTt9cmV0dXJuJGI7fWZ1bmN0aW9uCnZpZXcoJGYpe2dsb2JhbCRoO3JldHVybgphcnJheSgic2VsZWN0Ij0+cHJlZ19yZXBsYWNlKCd+Xig/OlteYCJbXSt8YFteYF0qYHwiW14iXSoiKSogQVNcXHMrfmlVJywnJywkaC0+cmVzdWx0KCJTRUxFQ1Qgc3FsIEZST00gc3FsaXRlX21hc3RlciBXSEVSRSBuYW1lID0gIi5xKCRmKSkpKTt9ZnVuY3Rpb24KY29sbGF0aW9ucygpe3JldHVybihpc3NldCgkX0dFVFsiY3JlYXRlIl0pP2dldF92YWxzKCJQUkFHTUEgY29sbGF0aW9uX2xpc3QiLDEpOmFycmF5KCkpO31mdW5jdGlvbgppbmZvcm1hdGlvbl9zY2hlbWEoJHYpe3JldHVybgpmYWxzZTt9ZnVuY3Rpb24KZXJyb3IoKXtnbG9iYWwkaDtyZXR1cm4KaCgkaC0+ZXJyb3IpO31mdW5jdGlvbgpleGFjdF92YWx1ZSgkYSl7cmV0dXJuCnEoJGEpO31mdW5jdGlvbgpjaGVja19zcWxpdGVfbmFtZSgkZil7Z2xvYmFsJGg7JFBjPSJkYnxzZGJ8c3FsaXRlIjtpZighcHJlZ19tYXRjaCgifl5bXlxcMF0qXFwuKCRQYylcJH4iLCRmKSl7JGgtPmVycm9yPWxhbmcoOSxzdHJfcmVwbGFjZSgifCIsIiwgIiwkUGMpKTtyZXR1cm4KZmFsc2U7fXJldHVybgp0cnVlO31mdW5jdGlvbgpjcmVhdGVfZGF0YWJhc2UoJHYsJEkpe2dsb2JhbCRoO2lmKGZpbGVfZXhpc3RzKCR2KSl7JGgtPmVycm9yPWxhbmcoMTApO3JldHVybgpmYWxzZTt9aWYoIWNoZWNrX3NxbGl0ZV9uYW1lKCR2KSl7cmV0dXJuCmZhbHNlO30keD1uZXcKTWluX1NRTGl0ZSgkdik7JHgtPnF1ZXJ5KCdQUkFHTUEgZW5jb2RpbmcgPSAiVVRGLTgiJyk7JHgtPnF1ZXJ5KCdDUkVBVEUgVEFCTEUgYWRtaW5lciAoaSknKTskeC0+cXVlcnkoJ0RST1AgVEFCTEUgYWRtaW5lcicpO3JldHVybgp0cnVlO31mdW5jdGlvbgpkcm9wX2RhdGFiYXNlcygkUCl7Z2xvYmFsJGg7JGgtPk1pbl9TUUxpdGUoIjptZW1vcnk6Iik7Zm9yZWFjaCgkUAphcyR2KXtpZighQHVubGluaygkdikpeyRoLT5lcnJvcj1sYW5nKDEwKTtyZXR1cm4KZmFsc2U7fX1yZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24KcmVuYW1lX2RhdGFiYXNlKCRmLCRJKXtnbG9iYWwkaDtpZighY2hlY2tfc3FsaXRlX25hbWUoJGYpKXtyZXR1cm4KZmFsc2U7fSRoLT5NaW5fU1FMaXRlKCI6bWVtb3J5OiIpOyRoLT5lcnJvcj1sYW5nKDEwKTtyZXR1cm5AcmVuYW1lKERCLCRmKTt9ZnVuY3Rpb24KYXV0b19pbmNyZW1lbnQoKXtyZXR1cm4iIFBSSU1BUlkgS0VZIi4oRFJJVkVSPT0ic3FsaXRlIj8iIEFVVE9JTkNSRU1FTlQiOiIiKTt9ZnVuY3Rpb24KYWx0ZXJfdGFibGUoJGUsJGYsJHQsJElhLCRkYiwkZWIsJEksJEFhLCRzYil7JHI9YXJyYXkoKTtmb3JlYWNoKCR0CmFzJGcpe2lmKCRnWzFdKXskcltdPSgkZSE9IiImJiRnWzBdPT0iIj8iQUREICI6IiAgIikuaW1wbG9kZSgkZ1sxXSk7fX0kcj1hcnJheV9tZXJnZSgkciwkSWEpO2lmKCRlIT0iIil7Zm9yZWFjaCgkcgphcyRhKXtpZighcXVlcmllcygiQUxURVIgVEFCTEUgIi50YWJsZSgkZSkuIiAkYSIpKXtyZXR1cm4KZmFsc2U7fX1pZigkZSE9JGYmJiFxdWVyaWVzKCJBTFRFUiBUQUJMRSAiLnRhYmxlKCRlKS4iIFJFTkFNRSBUTyAiLnRhYmxlKCRmKSkpe3JldHVybgpmYWxzZTt9fWVsc2VpZighcXVlcmllcygiQ1JFQVRFIFRBQkxFICIudGFibGUoJGYpLiIgKFxuIi5pbXBsb2RlKCIsXG4iLCRyKS4iXG4pIikpe3JldHVybgpmYWxzZTt9aWYoJEFhKXtxdWVyaWVzKCJVUERBVEUgc3FsaXRlX3NlcXVlbmNlIFNFVCBzZXEgPSAkQWEgV0hFUkUgbmFtZSA9ICIucSgkZikpO31yZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24KYWx0ZXJfaW5kZXhlcygkZSwkcil7Zm9yZWFjaCgkcgphcyRhKXtpZighcXVlcmllcygkYVsyXT09IkRST1AiPyJEUk9QIElOREVYICIuaWRmX2VzY2FwZSgkYVsxXSk6IkNSRUFURSAkYVswXSAiLigkYVswXSE9IklOREVYIj8iSU5ERVggIjoiIikuaWRmX2VzY2FwZSgkYVsxXSE9IiI/JGFbMV06dW5pcWlkKCRlLiJfIikpLiIgT04gIi50YWJsZSgkZSkuIiAkYVsyXSIpKXtyZXR1cm4KZmFsc2U7fX1yZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24KdHJ1bmNhdGVfdGFibGVzKCRCKXtyZXR1cm4KYXBwbHlfcXVlcmllcygiREVMRVRFIEZST00iLCRCKTt9ZnVuY3Rpb24KZHJvcF92aWV3cygkZGEpe3JldHVybgphcHBseV9xdWVyaWVzKCJEUk9QIFZJRVciLCRkYSk7fWZ1bmN0aW9uCmRyb3BfdGFibGVzKCRCKXtyZXR1cm4KYXBwbHlfcXVlcmllcygiRFJPUCBUQUJMRSIsJEIpO31mdW5jdGlvbgptb3ZlX3RhYmxlcygkQiwkZGEsJFcpe3JldHVybgpmYWxzZTt9ZnVuY3Rpb24KdHJpZ2dlcigkZil7Z2xvYmFsJGg7cHJlZ19tYXRjaCgnfl5DUkVBVEVcXHMrVFJJR0dFUlxccyooPzpbXmAiXFxzXSt8YFteYF0qYHwiW14iXSoiKStcXHMqKFthLXpdKylcXHMrKFthLXpdKylcXHMrT05cXHMqKD86W15gIlxcc10rfGBbXmBdKmB8IlteIl0qIikrXFxzKig/OkZPUlxccypFQUNIXFxzKlJPV1xccyk/KC4qKX5pcycsJGgtPnJlc3VsdCgiU0VMRUNUIHNxbCBGUk9NIHNxbGl0ZV9tYXN0ZXIgV0hFUkUgbmFtZSA9ICIucSgkZikpLCRrKTtyZXR1cm4KYXJyYXkoIlRpbWluZyI9PnN0cnRvdXBwZXIoJGtbMV0pLCJFdmVudCI9PnN0cnRvdXBwZXIoJGtbMl0pLCJUcmlnZ2VyIj0+JGYsIlN0YXRlbWVudCI9PiRrWzNdKTt9ZnVuY3Rpb24KdHJpZ2dlcnMoJGUpeyRiPWFycmF5KCk7Zm9yZWFjaChnZXRfcm93cygiU0VMRUNUICogRlJPTSBzcWxpdGVfbWFzdGVyIFdIRVJFIHR5cGUgPSAndHJpZ2dlcicgQU5EIHRibF9uYW1lID0gIi5xKCRlKSlhcyRjKXtwcmVnX21hdGNoKCd+XkNSRUFURVxccytUUklHR0VSXFxzKig/OlteYCJcXHNdK3xgW15gXSpgfCJbXiJdKiIpK1xccyooW2Etel0rKVxccyooW2Etel0rKX5pJywkY1sic3FsIl0sJGspOyRiWyRjWyJuYW1lIl1dPWFycmF5KCRrWzFdLCRrWzJdKTt9cmV0dXJuJGI7fWZ1bmN0aW9uCnRyaWdnZXJfb3B0aW9ucygpe3JldHVybgphcnJheSgiVGltaW5nIj0+YXJyYXkoIkJFRk9SRSIsIkFGVEVSIiwiSU5TVEVBRCBPRiIpLCJUeXBlIj0+YXJyYXkoIkZPUiBFQUNIIFJPVyIpLCk7fWZ1bmN0aW9uCnJvdXRpbmUoJGYsJEQpe31mdW5jdGlvbgpyb3V0aW5lcygpe31mdW5jdGlvbgpyb3V0aW5lX2xhbmd1YWdlcygpe31mdW5jdGlvbgpiZWdpbigpe3JldHVybgpxdWVyaWVzKCJCRUdJTiIpO31mdW5jdGlvbgppbnNlcnRfaW50bygkZSwkbyl7cmV0dXJuCnF1ZXJpZXMoIklOU0VSVCBJTlRPICIudGFibGUoJGUpLigkbz8iICgiLmltcGxvZGUoIiwgIixhcnJheV9rZXlzKCRvKSkuIilcblZBTFVFUyAoIi5pbXBsb2RlKCIsICIsJG8pLiIpIjoiREVGQVVMVCBWQUxVRVMiKSk7fWZ1bmN0aW9uCmluc2VydF91cGRhdGUoJGUsJG8sJHlhKXtyZXR1cm4KcXVlcmllcygiUkVQTEFDRSBJTlRPICIudGFibGUoJGUpLiIgKCIuaW1wbG9kZSgiLCAiLGFycmF5X2tleXMoJG8pKS4iKSBWQUxVRVMgKCIuaW1wbG9kZSgiLCAiLCRvKS4iKSIpO31mdW5jdGlvbgpsYXN0X2lkKCl7Z2xvYmFsJGg7cmV0dXJuJGgtPnJlc3VsdCgiU0VMRUNUIExBU1RfSU5TRVJUX1JPV0lEKCkiKTt9ZnVuY3Rpb24KZXhwbGFpbigkaCwkail7cmV0dXJuJGgtPnF1ZXJ5KCJFWFBMQUlOICRqIik7fWZ1bmN0aW9uCmZvdW5kX3Jvd3MoJHcsJG0pe31mdW5jdGlvbgp0eXBlcygpe3JldHVybgphcnJheSgpO31mdW5jdGlvbgpzY2hlbWFzKCl7cmV0dXJuCmFycmF5KCk7fWZ1bmN0aW9uCmdldF9zY2hlbWEoKXtyZXR1cm4iIjt9ZnVuY3Rpb24Kc2V0X3NjaGVtYSgkUGQpe3JldHVybgp0cnVlO31mdW5jdGlvbgpjcmVhdGVfc3FsKCRlLCRBYSl7Z2xvYmFsJGg7cmV0dXJuJGgtPnJlc3VsdCgiU0VMRUNUIHNxbCBGUk9NIHNxbGl0ZV9tYXN0ZXIgV0hFUkUgdHlwZSA9ICd0YWJsZScgQU5EIG5hbWUgPSAiLnEoJGUpKTt9ZnVuY3Rpb24KdHJ1bmNhdGVfc3FsKCRlKXtyZXR1cm4iREVMRVRFIEZST00gIi50YWJsZSgkZSk7fWZ1bmN0aW9uCnVzZV9zcWwoJFEpe31mdW5jdGlvbgp0cmlnZ2VyX3NxbCgkZSwkdGIpe3JldHVybgppbXBsb2RlKGdldF92YWxzKCJTRUxFQ1Qgc3FsIHx8ICc7O1xuJyBGUk9NIHNxbGl0ZV9tYXN0ZXIgV0hFUkUgdHlwZSA9ICd0cmlnZ2VyJyBBTkQgbmFtZSA9ICIucSgkZSkpKTt9ZnVuY3Rpb24Kc2hvd192YXJpYWJsZXMoKXtnbG9iYWwkaDskYj1hcnJheSgpO2ZvcmVhY2goYXJyYXkoImF1dG9fdmFjdXVtIiwiY2FjaGVfc2l6ZSIsImNvdW50X2NoYW5nZXMiLCJkZWZhdWx0X2NhY2hlX3NpemUiLCJlbXB0eV9yZXN1bHRfY2FsbGJhY2tzIiwiZW5jb2RpbmciLCJmb3JlaWduX2tleXMiLCJmdWxsX2NvbHVtbl9uYW1lcyIsImZ1bGxmc3luYyIsImpvdXJuYWxfbW9kZSIsImpvdXJuYWxfc2l6ZV9saW1pdCIsImxlZ2FjeV9maWxlX2Zvcm1hdCIsImxvY2tpbmdfbW9kZSIsInBhZ2Vfc2l6ZSIsIm1heF9wYWdlX2NvdW50IiwicmVhZF91bmNvbW1pdHRlZCIsInJlY3Vyc2l2ZV90cmlnZ2VycyIsInJldmVyc2VfdW5vcmRlcmVkX3NlbGVjdHMiLCJzZWN1cmVfZGVsZXRlIiwic2hvcnRfY29sdW1uX25hbWVzIiwic3luY2hyb25vdXMiLCJ0ZW1wX3N0b3JlIiwidGVtcF9zdG9yZV9kaXJlY3RvcnkiLCJzY2hlbWFfdmVyc2lvbiIsImludGVncml0eV9jaGVjayIsInF1aWNrX2NoZWNrIilhcyRkKXskYlskZF09JGgtPnJlc3VsdCgiUFJBR01BICRkIik7fXJldHVybiRiO31mdW5jdGlvbgpzaG93X3N0YXR1cygpeyRiPWFycmF5KCk7Zm9yZWFjaChnZXRfdmFscygiUFJBR01BIGNvbXBpbGVfb3B0aW9ucyIpYXMkUmQpe2xpc3QoJGQsJGEpPWV4cGxvZGUoIj0iLCRSZCwyKTskYlskZF09JGE7fXJldHVybiRiO31mdW5jdGlvbgpzdXBwb3J0KCRQYSl7cmV0dXJuCmVyZWcoJ14odmlld3x0cmlnZ2VyfHZhcmlhYmxlc3xzdGF0dXN8ZHVtcCkkJywkUGEpO30kdGE9InNxbGl0ZSI7JGFhPWFycmF5KCJpbnRlZ2VyIj0+MCwicmVhbCI9PjAsIm51bWVyaWMiPT4wLCJ0ZXh0Ij0+MCwiYmxvYiI9PjApOyRFYT1hcnJheV9rZXlzKCRhYSk7JEZiPWFycmF5KCk7JHViPWFycmF5KCI9IiwiPCIsIj4iLCI8PSIsIj49IiwiIT0iLCJMSUtFIiwiTElLRSAlJSIsIklOIiwiSVMgTlVMTCIsIk5PVCBMSUtFIiwiTk9UIElOIiwiSVMgTk9UIE5VTEwiLCIiKTskZmE9YXJyYXkoImhleCIsImxlbmd0aCIsImxvd2VyIiwicm91bmQiLCJ1bml4ZXBvY2giLCJ1cHBlciIpOyRMYj1hcnJheSgiYXZnIiwiY291bnQiLCJjb3VudCBkaXN0aW5jdCIsImdyb3VwX2NvbmNhdCIsIm1heCIsIm1pbiIsInN1bSIpOyRKYj1hcnJheShhcnJheSgpLGFycmF5KCJpbnRlZ2VyfHJlYWx8bnVtZXJpYyI9PiIrLy0iLCJ0ZXh0Ij0+Inx8IiwpKTt9JHdhWyJwZ3NxbCJdPSJQb3N0Z3JlU1FMIjtpZihpc3NldCgkX0dFVFsicGdzcWwiXSkpeyRJYj1hcnJheSgiUGdTUUwiLCJQRE9fUGdTUUwiKTtkZWZpbmUoIkRSSVZFUiIsInBnc3FsIik7aWYoZXh0ZW5zaW9uX2xvYWRlZCgicGdzcWwiKSl7Y2xhc3MKTWluX0RCe3ZhciRleHRlbnNpb249IlBnU1FMIiwkX2xpbmssJF9yZXN1bHQsJF9zdHJpbmcsJF9kYXRhYmFzZT10cnVlLCRzZXJ2ZXJfaW5mbywkYWZmZWN0ZWRfcm93cywkZXJyb3I7ZnVuY3Rpb24KX2Vycm9yKCRRZCwkcSl7aWYoaW5pX2Jvb2woImh0bWxfZXJyb3JzIikpeyRxPWh0bWxfZW50aXR5X2RlY29kZShzdHJpcF90YWdzKCRxKSk7fSRxPWVyZWdfcmVwbGFjZSgnXlteOl0qOiAnLCcnLCRxKTskdGhpcy0+ZXJyb3I9JHE7fWZ1bmN0aW9uCmNvbm5lY3QoJEMsJEYsJEgpe2dsb2JhbCRsOyR2PSRsLT5kYXRhYmFzZSgpO3NldF9lcnJvcl9oYW5kbGVyKGFycmF5KCR0aGlzLCdfZXJyb3InKSk7JHRoaXMtPl9zdHJpbmc9Imhvc3Q9JyIuc3RyX3JlcGxhY2UoIjoiLCInIHBvcnQ9JyIsYWRkY3NsYXNoZXMoJEMsIidcXCIpKS4iJyB1c2VyPSciLmFkZGNzbGFzaGVzKCRGLCInXFwiKS4iJyBwYXNzd29yZD0nIi5hZGRjc2xhc2hlcygkSCwiJ1xcIikuIiciOyR0aGlzLT5fbGluaz1AcGdfY29ubmVjdCgkdGhpcy0+X3N0cmluZy4oJHYhPSIiPyIgZGJuYW1lPSciLmFkZGNzbGFzaGVzKCR2LCInXFwiKS4iJyI6IiBkYm5hbWU9J3RlbXBsYXRlMSciKSxQR1NRTF9DT05ORUNUX0ZPUkNFX05FVyk7aWYoISR0aGlzLT5fbGluayYmJHYhPSIiKXskdGhpcy0+X2RhdGFiYXNlPWZhbHNlOyR0aGlzLT5fbGluaz1AcGdfY29ubmVjdCgiJHRoaXMtPl9zdHJpbmcgZGJuYW1lPSd0ZW1wbGF0ZTEnIixQR1NRTF9DT05ORUNUX0ZPUkNFX05FVyk7fXJlc3RvcmVfZXJyb3JfaGFuZGxlcigpO2lmKCR0aGlzLT5fbGluayl7JHFjPXBnX3ZlcnNpb24oJHRoaXMtPl9saW5rKTskdGhpcy0+c2VydmVyX2luZm89JHFjWyJzZXJ2ZXIiXTtwZ19zZXRfY2xpZW50X2VuY29kaW5nKCR0aGlzLT5fbGluaywiVVRGOCIpO31yZXR1cm4oYm9vbCkkdGhpcy0+X2xpbms7fWZ1bmN0aW9uCnF1b3RlKCR6KXtyZXR1cm4iJyIucGdfZXNjYXBlX3N0cmluZygkdGhpcy0+X2xpbmssJHopLiInIjt9ZnVuY3Rpb24Kc2VsZWN0X2RiKCRRKXtnbG9iYWwkbDtpZigkUT09JGwtPmRhdGFiYXNlKCkpe3JldHVybiR0aGlzLT5fZGF0YWJhc2U7fSRiPUBwZ19jb25uZWN0KCIkdGhpcy0+X3N0cmluZyBkYm5hbWU9JyIuYWRkY3NsYXNoZXMoJFEsIidcXCIpLiInIixQR1NRTF9DT05ORUNUX0ZPUkNFX05FVyk7aWYoJGIpeyR0aGlzLT5fbGluaz0kYjt9cmV0dXJuJGI7fWZ1bmN0aW9uCmNsb3NlKCl7JHRoaXMtPl9saW5rPUBwZ19jb25uZWN0KCIkdGhpcy0+X3N0cmluZyBkYm5hbWU9J3RlbXBsYXRlMSciKTt9ZnVuY3Rpb24KcXVlcnkoJGosJENhPWZhbHNlKXskaT1AcGdfcXVlcnkoJHRoaXMtPl9saW5rLCRqKTtpZighJGkpeyR0aGlzLT5lcnJvcj1wZ19sYXN0X2Vycm9yKCR0aGlzLT5fbGluayk7cmV0dXJuCmZhbHNlO31lbHNlaWYoIXBnX251bV9maWVsZHMoJGkpKXskdGhpcy0+YWZmZWN0ZWRfcm93cz1wZ19hZmZlY3RlZF9yb3dzKCRpKTtyZXR1cm4KdHJ1ZTt9cmV0dXJuCm5ldwpNaW5fUmVzdWx0KCRpKTt9ZnVuY3Rpb24KbXVsdGlfcXVlcnkoJGope3JldHVybiR0aGlzLT5fcmVzdWx0PSR0aGlzLT5xdWVyeSgkaik7fWZ1bmN0aW9uCnN0b3JlX3Jlc3VsdCgpe3JldHVybiR0aGlzLT5fcmVzdWx0O31mdW5jdGlvbgpuZXh0X3Jlc3VsdCgpe3JldHVybgpmYWxzZTt9ZnVuY3Rpb24KcmVzdWx0KCRqLCRnPTApeyRpPSR0aGlzLT5xdWVyeSgkaik7aWYoISRpfHwhJGktPm51bV9yb3dzKXtyZXR1cm4KZmFsc2U7fXJldHVybgpwZ19mZXRjaF9yZXN1bHQoJGktPl9yZXN1bHQsMCwkZyk7fX1jbGFzcwpNaW5fUmVzdWx0e3ZhciRfcmVzdWx0LCRfb2Zmc2V0PTAsJG51bV9yb3dzO2Z1bmN0aW9uCk1pbl9SZXN1bHQoJGkpeyR0aGlzLT5fcmVzdWx0PSRpOyR0aGlzLT5udW1fcm93cz1wZ19udW1fcm93cygkaSk7fWZ1bmN0aW9uCmZldGNoX2Fzc29jKCl7cmV0dXJuCnBnX2ZldGNoX2Fzc29jKCR0aGlzLT5fcmVzdWx0KTt9ZnVuY3Rpb24KZmV0Y2hfcm93KCl7cmV0dXJuCnBnX2ZldGNoX3JvdygkdGhpcy0+X3Jlc3VsdCk7fWZ1bmN0aW9uCmZldGNoX2ZpZWxkKCl7JHU9JHRoaXMtPl9vZmZzZXQrKzskYj1uZXcKc3RkQ2xhc3M7aWYoZnVuY3Rpb25fZXhpc3RzKCdwZ19maWVsZF90YWJsZScpKXskYi0+b3JndGFibGU9cGdfZmllbGRfdGFibGUoJHRoaXMtPl9yZXN1bHQsJHUpO30kYi0+bmFtZT1wZ19maWVsZF9uYW1lKCR0aGlzLT5fcmVzdWx0LCR1KTskYi0+b3JnbmFtZT0kYi0+bmFtZTskYi0+dHlwZT1wZ19maWVsZF90eXBlKCR0aGlzLT5fcmVzdWx0LCR1KTskYi0+Y2hhcnNldG5yPSgkYi0+dHlwZT09ImJ5dGVhIj82MzowKTtyZXR1cm4kYjt9ZnVuY3Rpb24KX19kZXN0cnVjdCgpe3BnX2ZyZWVfcmVzdWx0KCR0aGlzLT5fcmVzdWx0KTt9fX1lbHNlaWYoZXh0ZW5zaW9uX2xvYWRlZCgicGRvX3Bnc3FsIikpe2NsYXNzCk1pbl9EQgpleHRlbmRzCk1pbl9QRE97dmFyJGV4dGVuc2lvbj0iUERPX1BnU1FMIjtmdW5jdGlvbgpjb25uZWN0KCRDLCRGLCRIKXtnbG9iYWwkbDskdj0kbC0+ZGF0YWJhc2UoKTskej0icGdzcWw6aG9zdD0nIi5zdHJfcmVwbGFjZSgiOiIsIicgcG9ydD0nIixhZGRjc2xhc2hlcygkQywiJ1xcIikpLiInIG9wdGlvbnM9Jy1jIGNsaWVudF9lbmNvZGluZz11dGY4JyI7JHRoaXMtPmRzbigkei4oJHYhPSIiPyIgZGJuYW1lPSciLmFkZGNzbGFzaGVzKCR2LCInXFwiKS4iJyI6IiIpLCRGLCRIKTtyZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24Kc2VsZWN0X2RiKCRRKXtnbG9iYWwkbDtyZXR1cm4oJGwtPmRhdGFiYXNlKCk9PSRRKTt9ZnVuY3Rpb24KY2xvc2UoKXt9fX1mdW5jdGlvbgppZGZfZXNjYXBlKCRFKXtyZXR1cm4nIicuc3RyX3JlcGxhY2UoJyInLCciIicsJEUpLiciJzt9ZnVuY3Rpb24KdGFibGUoJEUpe3JldHVybgppZGZfZXNjYXBlKCRFKTt9ZnVuY3Rpb24KY29ubmVjdCgpe2dsb2JhbCRsOyRoPW5ldwpNaW5fREI7JG5hPSRsLT5jcmVkZW50aWFscygpO2lmKCRoLT5jb25uZWN0KCRuYVswXSwkbmFbMV0sJG5hWzJdKSl7cmV0dXJuJGg7fXJldHVybiRoLT5lcnJvcjt9ZnVuY3Rpb24KZ2V0X2RhdGFiYXNlcygpe3JldHVybgpnZXRfdmFscygiU0VMRUNUIGRhdG5hbWUgRlJPTSBwZ19kYXRhYmFzZSBPUkRFUiBCWSBkYXRuYW1lIik7fWZ1bmN0aW9uCmxpbWl0KCRqLCRtLCRfLCRYPTAsJHFhPSIgIil7cmV0dXJuIiAkaiRtIi4oaXNzZXQoJF8pPyRxYS4iTElNSVQgJF8iLigkWD8iIE9GRlNFVCAkWCI6IiIpOiIiKTt9ZnVuY3Rpb24KbGltaXQxKCRqLCRtKXtyZXR1cm4iICRqJG0iO31mdW5jdGlvbgpkYl9jb2xsYXRpb24oJHYsJEhiKXtnbG9iYWwkaDtyZXR1cm4kaC0+cmVzdWx0KCJTSE9XIExDX0NPTExBVEUiKTt9ZnVuY3Rpb24KZW5naW5lcygpe3JldHVybgphcnJheSgpO31mdW5jdGlvbgpsb2dnZWRfdXNlcigpe2dsb2JhbCRoO3JldHVybiRoLT5yZXN1bHQoIlNFTEVDVCB1c2VyIik7fWZ1bmN0aW9uCnRhYmxlc19saXN0KCl7cmV0dXJuCmdldF9rZXlfdmFscygiU0VMRUNUIHRhYmxlX25hbWUsIHRhYmxlX3R5cGUgRlJPTSBpbmZvcm1hdGlvbl9zY2hlbWEudGFibGVzIFdIRVJFIHRhYmxlX3NjaGVtYSA9IGN1cnJlbnRfc2NoZW1hKCkgT1JERVIgQlkgdGFibGVfbmFtZSIpO31mdW5jdGlvbgpjb3VudF90YWJsZXMoJFApe3JldHVybgphcnJheSgpO31mdW5jdGlvbgp0YWJsZV9zdGF0dXMoJGY9IiIpeyRiPWFycmF5KCk7Zm9yZWFjaChnZXRfcm93cygiU0VMRUNUIHJlbG5hbWUgQVMgXCJOYW1lXCIsIENBU0UgcmVsa2luZCBXSEVOICdyJyBUSEVOICcnIEVMU0UgJ3ZpZXcnIEVORCBBUyBcIkVuZ2luZVwiLCBwZ19yZWxhdGlvbl9zaXplKG9pZCkgQVMgXCJEYXRhX2xlbmd0aFwiLCBwZ190b3RhbF9yZWxhdGlvbl9zaXplKG9pZCkgLSBwZ19yZWxhdGlvbl9zaXplKG9pZCkgQVMgXCJJbmRleF9sZW5ndGhcIiwgb2JqX2Rlc2NyaXB0aW9uKG9pZCwgJ3BnX2NsYXNzJykgQVMgXCJDb21tZW50XCIsIHJlbGhhc29pZHMgQVMgXCJPaWRcIgpGUk9NIHBnX2NsYXNzCldIRVJFIHJlbGtpbmQgSU4gKCdyJywndicpCkFORCByZWxuYW1lc3BhY2UgPSAoU0VMRUNUIG9pZCBGUk9NIHBnX25hbWVzcGFjZSBXSEVSRSBuc3BuYW1lID0gY3VycmVudF9zY2hlbWEoKSkiLigkZiE9IiI/IiBBTkQgcmVsbmFtZSA9ICIucSgkZik6IiIpKWFzJGMpeyRiWyRjWyJOYW1lIl1dPSRjO31yZXR1cm4oJGYhPSIiPyRiWyRmXTokYik7fWZ1bmN0aW9uCmlzX3ZpZXcoJHcpe3JldHVybiR3WyJFbmdpbmUiXT09InZpZXciO31mdW5jdGlvbgpma19zdXBwb3J0KCR3KXtyZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24KZmllbGRzKCRlKXskYj1hcnJheSgpO2ZvcmVhY2goZ2V0X3Jvd3MoIlNFTEVDVCBhLmF0dG5hbWUgQVMgZmllbGQsIGZvcm1hdF90eXBlKGEuYXR0dHlwaWQsIGEuYXR0dHlwbW9kKSBBUyBmdWxsX3R5cGUsIGQuYWRzcmMgQVMgZGVmYXVsdCwgYS5hdHRub3RudWxsLCBjb2xfZGVzY3JpcHRpb24oYy5vaWQsIGEuYXR0bnVtKSBBUyBjb21tZW50CkZST00gcGdfY2xhc3MgYwpKT0lOIHBnX25hbWVzcGFjZSBuIE9OIGMucmVsbmFtZXNwYWNlID0gbi5vaWQKSk9JTiBwZ19hdHRyaWJ1dGUgYSBPTiBjLm9pZCA9IGEuYXR0cmVsaWQKTEVGVCBKT0lOIHBnX2F0dHJkZWYgZCBPTiBjLm9pZCA9IGQuYWRyZWxpZCBBTkQgYS5hdHRudW0gPSBkLmFkbnVtCldIRVJFIGMucmVsbmFtZSA9ICIucSgkZSkuIgpBTkQgbi5uc3BuYW1lID0gY3VycmVudF9zY2hlbWEoKQpBTkQgTk9UIGEuYXR0aXNkcm9wcGVkCkFORCBhLmF0dG51bSA+IDAKT1JERVIgQlkgYS5hdHRudW0iKWFzJGMpe2VyZWcoJyguKikoXFwoKC4qKVxcKSk/JywkY1siZnVsbF90eXBlIl0sJGspO2xpc3QoLCRjWyJ0eXBlIl0sLCRjWyJsZW5ndGgiXSk9JGs7JGNbImZ1bGxfdHlwZSJdPSRjWyJ0eXBlIl0uKCRjWyJsZW5ndGgiXT8iKCRjW2xlbmd0aF0pIjoiIik7JGNbIm51bGwiXT0oJGNbImF0dG5vdG51bGwiXT09ImYiKTskY1siYXV0b19pbmNyZW1lbnQiXT1lcmVnaSgiXm5leHR2YWxcXCgiLCRjWyJkZWZhdWx0Il0pOyRjWyJwcml2aWxlZ2VzIl09YXJyYXkoImluc2VydCI9PjEsInNlbGVjdCI9PjEsInVwZGF0ZSI9PjEpO2lmKHByZWdfbWF0Y2goJ35eKC4qKTo6LiskficsJGNbImRlZmF1bHQiXSwkaykpeyRjWyJkZWZhdWx0Il09KCRrWzFdWzBdPT0iJyI/aWRmX3VuZXNjYXBlKCRrWzFdKToka1sxXSk7fSRiWyRjWyJmaWVsZCJdXT0kYzt9cmV0dXJuJGI7fWZ1bmN0aW9uCmluZGV4ZXMoJGUsJFM9bnVsbCl7Z2xvYmFsJGg7aWYoIWlzX29iamVjdCgkUykpeyRTPSRoO30kYj1hcnJheSgpOyR5ZD0kUy0+cmVzdWx0KCJTRUxFQ1Qgb2lkIEZST00gcGdfY2xhc3MgV0hFUkUgcmVsbmFtZSA9ICIucSgkZSkpOyRLPWdldF9rZXlfdmFscygiU0VMRUNUIGF0dG51bSwgYXR0bmFtZSBGUk9NIHBnX2F0dHJpYnV0ZSBXSEVSRSBhdHRyZWxpZCA9ICR5ZCBBTkQgYXR0bnVtID4gMCIsJFMpO2ZvcmVhY2goZ2V0X3Jvd3MoIlNFTEVDVCByZWxuYW1lLCBpbmRpc3VuaXF1ZSwgaW5kaXNwcmltYXJ5LCBpbmRrZXkgRlJPTSBwZ19pbmRleCBpLCBwZ19jbGFzcyBjaSBXSEVSRSBpLmluZHJlbGlkID0gJHlkIEFORCBjaS5vaWQgPSBpLmluZGV4cmVsaWQiLCRTKWFzJGMpeyRiWyRjWyJyZWxuYW1lIl1dWyJ0eXBlIl09KCRjWyJpbmRpc3ByaW1hcnkiXT09InQiPyJQUklNQVJZIjooJGNbImluZGlzdW5pcXVlIl09PSJ0Ij8iVU5JUVVFIjoiSU5ERVgiKSk7JGJbJGNbInJlbG5hbWUiXV1bImNvbHVtbnMiXT1hcnJheSgpO2ZvcmVhY2goZXhwbG9kZSgiICIsJGNbImluZGtleSJdKWFzJExkKXskYlskY1sicmVsbmFtZSJdXVsiY29sdW1ucyJdW109JEtbJExkXTt9JGJbJGNbInJlbG5hbWUiXV1bImxlbmd0aHMiXT1hcnJheSgpO31yZXR1cm4kYjt9ZnVuY3Rpb24KZm9yZWlnbl9rZXlzKCRlKXtnbG9iYWwkWmE7JGI9YXJyYXkoKTtmb3JlYWNoKGdldF9yb3dzKCJTRUxFQ1QgY29ubmFtZSwgcGdfZ2V0X2NvbnN0cmFpbnRkZWYob2lkKSBBUyBkZWZpbml0aW9uCkZST00gcGdfY29uc3RyYWludApXSEVSRSBjb25yZWxpZCA9IChTRUxFQ1Qgb2lkIEZST00gcGdfY2xhc3MgV0hFUkUgcmVsbmFtZSA9ICIucSgkZSkuIikKQU5EIGNvbnR5cGUgPSAnZic6OmNoYXIKT1JERVIgQlkgY29ua2V5LCBjb25uYW1lIilhcyRjKXtpZihwcmVnX21hdGNoKCd+Rk9SRUlHTiBLRVlccypcKCguKylcKVxzKlJFRkVSRU5DRVMgKC4rKVwoKC4rKVwpKC4qKSR+aUEnLCRjWydkZWZpbml0aW9uJ10sJGspKXskY1snc291cmNlJ109YXJyYXlfbWFwKCd0cmltJyxleHBsb2RlKCcsJywka1sxXSkpOyRjWyd0YWJsZSddPSRrWzJdO2lmKHByZWdfbWF0Y2goJ34oLispXC4oLispficsJGtbMl0sJGhiKSl7JGNbJ25zJ109JGhiWzFdOyRjWyd0YWJsZSddPSRoYlsyXTt9JGNbJ3RhcmdldCddPWFycmF5X21hcCgndHJpbScsZXhwbG9kZSgnLCcsJGtbM10pKTskY1snb25fZGVsZXRlJ109KHByZWdfbWF0Y2goIn5PTiBERUxFVEUgKCRaYSl+Iiwka1s0XSwkaGIpPyRoYlsxXTonJyk7JGNbJ29uX3VwZGF0ZSddPShwcmVnX21hdGNoKCJ+T04gVVBEQVRFICgkWmEpfiIsJGtbNF0sJGhiKT8kaGJbMV06JycpOyRiWyRjWydjb25uYW1lJ11dPSRjO319cmV0dXJuJGI7fWZ1bmN0aW9uCnZpZXcoJGYpe2dsb2JhbCRoO3JldHVybgphcnJheSgic2VsZWN0Ij0+JGgtPnJlc3VsdCgiU0VMRUNUIHBnX2dldF92aWV3ZGVmKCIucSgkZikuIikiKSk7fWZ1bmN0aW9uCmNvbGxhdGlvbnMoKXtyZXR1cm4KYXJyYXkoKTt9ZnVuY3Rpb24KaW5mb3JtYXRpb25fc2NoZW1hKCR2KXtyZXR1cm4oJHY9PSJpbmZvcm1hdGlvbl9zY2hlbWEiKTt9ZnVuY3Rpb24KZXJyb3IoKXtnbG9iYWwkaDskYj1oKCRoLT5lcnJvcik7aWYocHJlZ19tYXRjaCgnfl4oLipcXG4pPyhbXlxcbl0qKVxcbiggKilcXF4oXFxuLiopPyR+cycsJGIsJGspKXskYj0ka1sxXS5wcmVnX3JlcGxhY2UoJ34oKD86W14mXXwmW147XSo7KXsnLnN0cmxlbigka1szXSkuJ30pKC4qKX4nLCdcXDE8Yj5cXDI8L2I+Jywka1syXSkuJGtbNF07fXJldHVybgpubF9icigkYik7fWZ1bmN0aW9uCmV4YWN0X3ZhbHVlKCRhKXtyZXR1cm4KcSgkYSk7fWZ1bmN0aW9uCmNyZWF0ZV9kYXRhYmFzZSgkdiwkSSl7cmV0dXJuCnF1ZXJpZXMoIkNSRUFURSBEQVRBQkFTRSAiLmlkZl9lc2NhcGUoJHYpLigkST8iIEVOQ09ESU5HICIuaWRmX2VzY2FwZSgkSSk6IiIpKTt9ZnVuY3Rpb24KZHJvcF9kYXRhYmFzZXMoJFApe2dsb2JhbCRoOyRoLT5jbG9zZSgpO3JldHVybgphcHBseV9xdWVyaWVzKCJEUk9QIERBVEFCQVNFIiwkUCwnaWRmX2VzY2FwZScpO31mdW5jdGlvbgpyZW5hbWVfZGF0YWJhc2UoJGYsJEkpe3JldHVybgpxdWVyaWVzKCJBTFRFUiBEQVRBQkFTRSAiLmlkZl9lc2NhcGUoREIpLiIgUkVOQU1FIFRPICIuaWRmX2VzY2FwZSgkZikpO31mdW5jdGlvbgphdXRvX2luY3JlbWVudCgpe3JldHVybiIiO31mdW5jdGlvbgphbHRlcl90YWJsZSgkZSwkZiwkdCwkSWEsJGRiLCRlYiwkSSwkQWEsJHNiKXskcj1hcnJheSgpOyRLYT1hcnJheSgpO2ZvcmVhY2goJHQKYXMkZyl7JHU9aWRmX2VzY2FwZSgkZ1swXSk7JGE9JGdbMV07aWYoISRhKXskcltdPSJEUk9QICR1Ijt9ZWxzZXskR2M9JGFbNV07dW5zZXQoJGFbNV0pO2lmKGlzc2V0KCRhWzZdKSYmJGdbMF09PSIiKXskYVsxXT0oJGFbMV09PSJiaWdpbnQiPyIgYmlnIjoiICIpLiJzZXJpYWwiO31pZigkZ1swXT09IiIpeyRyW109KCRlIT0iIj8iQUREICI6IiAgIikuaW1wbG9kZSgkYSk7fWVsc2V7aWYoJHUhPSRhWzBdKXskS2FbXT0iQUxURVIgVEFCTEUgIi50YWJsZSgkZSkuIiBSRU5BTUUgJHUgVE8gJGFbMF0iO30kcltdPSJBTFRFUiAkdSBUWVBFJGFbMV0iO2lmKCEkYVs2XSl7JHJbXT0iQUxURVIgJHUgIi4oJGFbM10/IlNFVCRhWzNdIjoiRFJPUCBERUZBVUxUIik7JHJbXT0iQUxURVIgJHUgIi4oJGFbMl09PSIgTlVMTCI/IkRST1AgTk9UIjoiU0VUIikuJGFbMl07fX1pZigkZ1swXSE9IiJ8fCRHYyE9IiIpeyRLYVtdPSJDT01NRU5UIE9OIENPTFVNTiAiLnRhYmxlKCRlKS4iLiRhWzBdIElTICIuKCRHYyE9IiI/c3Vic3RyKCRHYyw5KToiJyciKTt9fX0kcj1hcnJheV9tZXJnZSgkciwkSWEpO2lmKCRlPT0iIil7YXJyYXlfdW5zaGlmdCgkS2EsIkNSRUFURSBUQUJMRSAiLnRhYmxlKCRmKS4iIChcbiIuaW1wbG9kZSgiLFxuIiwkcikuIlxuKSIpO31lbHNlaWYoJHIpe2FycmF5X3Vuc2hpZnQoJEthLCJBTFRFUiBUQUJMRSAiLnRhYmxlKCRlKS4iXG4iLmltcGxvZGUoIixcbiIsJHIpKTt9aWYoJGUhPSIiJiYkZSE9JGYpeyRLYVtdPSJBTFRFUiBUQUJMRSAiLnRhYmxlKCRlKS4iIFJFTkFNRSBUTyAiLnRhYmxlKCRmKTt9aWYoJGUhPSIifHwkZGIhPSIiKXskS2FbXT0iQ09NTUVOVCBPTiBUQUJMRSAiLnRhYmxlKCRmKS4iIElTICIucSgkZGIpO31pZigkQWEhPSIiKXt9Zm9yZWFjaCgkS2EKYXMkail7aWYoIXF1ZXJpZXMoJGopKXtyZXR1cm4KZmFsc2U7fX1yZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24KYWx0ZXJfaW5kZXhlcygkZSwkcil7JFFhPWFycmF5KCk7JEdhPWFycmF5KCk7Zm9yZWFjaCgkcgphcyRhKXtpZigkYVswXSE9IklOREVYIil7JFFhW109KCRhWzJdPT0iRFJPUCI/IlxuRFJPUCBDT05TVFJBSU5UICIuaWRmX2VzY2FwZSgkYVsxXSk6IlxuQUREICRhWzBdICIuKCRhWzBdPT0iUFJJTUFSWSI/IktFWSAiOiIiKS4kYVsyXSk7fWVsc2VpZigkYVsyXT09IkRST1AiKXskR2FbXT1pZGZfZXNjYXBlKCRhWzFdKTt9ZWxzZWlmKCFxdWVyaWVzKCJDUkVBVEUgSU5ERVggIi5pZGZfZXNjYXBlKCRhWzFdIT0iIj8kYVsxXTp1bmlxaWQoJGUuIl8iKSkuIiBPTiAiLnRhYmxlKCRlKS4iICRhWzJdIikpe3JldHVybgpmYWxzZTt9fXJldHVybigoISRRYXx8cXVlcmllcygiQUxURVIgVEFCTEUgIi50YWJsZSgkZSkuaW1wbG9kZSgiLCIsJFFhKSkpJiYoISRHYXx8cXVlcmllcygiRFJPUCBJTkRFWCAiLmltcGxvZGUoIiwgIiwkR2EpKSkpO31mdW5jdGlvbgp0cnVuY2F0ZV90YWJsZXMoJEIpe3JldHVybgpxdWVyaWVzKCJUUlVOQ0FURSAiLmltcGxvZGUoIiwgIixhcnJheV9tYXAoJ3RhYmxlJywkQikpKTtyZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24KZHJvcF92aWV3cygkZGEpe3JldHVybgpxdWVyaWVzKCJEUk9QIFZJRVcgIi5pbXBsb2RlKCIsICIsYXJyYXlfbWFwKCd0YWJsZScsJGRhKSkpO31mdW5jdGlvbgpkcm9wX3RhYmxlcygkQil7cmV0dXJuCnF1ZXJpZXMoIkRST1AgVEFCTEUgIi5pbXBsb2RlKCIsICIsYXJyYXlfbWFwKCd0YWJsZScsJEIpKSk7fWZ1bmN0aW9uCm1vdmVfdGFibGVzKCRCLCRkYSwkVyl7Zm9yZWFjaCgkQgphcyRlKXtpZighcXVlcmllcygiQUxURVIgVEFCTEUgIi50YWJsZSgkZSkuIiBTRVQgU0NIRU1BICIuaWRmX2VzY2FwZSgkVykpKXtyZXR1cm4KZmFsc2U7fX1mb3JlYWNoKCRkYQphcyRlKXtpZighcXVlcmllcygiQUxURVIgVklFVyAiLnRhYmxlKCRlKS4iIFNFVCBTQ0hFTUEgIi5pZGZfZXNjYXBlKCRXKSkpe3JldHVybgpmYWxzZTt9fXJldHVybgp0cnVlO31mdW5jdGlvbgp0cmlnZ2VyKCRmKXskQT1nZXRfcm93cygnU0VMRUNUIHRyaWdnZXJfbmFtZSBBUyAiVHJpZ2dlciIsIGNvbmRpdGlvbl90aW1pbmcgQVMgIlRpbWluZyIsIGV2ZW50X21hbmlwdWxhdGlvbiBBUyAiRXZlbnQiLCBcJ0ZPUiBFQUNIIFwnIHx8IGFjdGlvbl9vcmllbnRhdGlvbiBBUyAiVHlwZSIsIGFjdGlvbl9zdGF0ZW1lbnQgQVMgIlN0YXRlbWVudCIgRlJPTSBpbmZvcm1hdGlvbl9zY2hlbWEudHJpZ2dlcnMgV0hFUkUgZXZlbnRfb2JqZWN0X3RhYmxlID0gJy5xKCRfR0VUWyJ0cmlnZ2VyIl0pLicgQU5EIHRyaWdnZXJfbmFtZSA9ICcucSgkZikpO3JldHVybgpyZXNldCgkQSk7fWZ1bmN0aW9uCnRyaWdnZXJzKCRlKXskYj1hcnJheSgpO2ZvcmVhY2goZ2V0X3Jvd3MoIlNFTEVDVCAqIEZST00gaW5mb3JtYXRpb25fc2NoZW1hLnRyaWdnZXJzIFdIRVJFIGV2ZW50X29iamVjdF90YWJsZSA9ICIucSgkZSkpYXMkYyl7JGJbJGNbInRyaWdnZXJfbmFtZSJdXT1hcnJheSgkY1siY29uZGl0aW9uX3RpbWluZyJdLCRjWyJldmVudF9tYW5pcHVsYXRpb24iXSk7fXJldHVybiRiO31mdW5jdGlvbgp0cmlnZ2VyX29wdGlvbnMoKXtyZXR1cm4KYXJyYXkoIlRpbWluZyI9PmFycmF5KCJCRUZPUkUiLCJBRlRFUiIpLCJUeXBlIj0+YXJyYXkoIkZPUiBFQUNIIFJPVyIsIkZPUiBFQUNIIFNUQVRFTUVOVCIpLCk7fWZ1bmN0aW9uCnJvdXRpbmVzKCl7cmV0dXJuCmdldF9yb3dzKCdTRUxFQ1QgcC5wcm9uYW1lIEFTICJST1VUSU5FX05BTUUiLCBwLnByb2FyZ3R5cGVzIEFTICJST1VUSU5FX1RZUEUiLCBwZ19jYXRhbG9nLmZvcm1hdF90eXBlKHAucHJvcmV0dHlwZSwgTlVMTCkgQVMgIkRURF9JREVOVElGSUVSIgpGUk9NIHBnX2NhdGFsb2cucGdfbmFtZXNwYWNlIG4KSk9JTiBwZ19jYXRhbG9nLnBnX3Byb2MgcCBPTiBwLnByb25hbWVzcGFjZSA9IG4ub2lkCldIRVJFIG4ubnNwbmFtZSA9IGN1cnJlbnRfc2NoZW1hKCkKT1JERVIgQlkgcC5wcm9uYW1lJyk7fWZ1bmN0aW9uCnJvdXRpbmVfbGFuZ3VhZ2VzKCl7cmV0dXJuCmdldF92YWxzKCJTRUxFQ1QgbGFuZ25hbWUgRlJPTSBwZ19jYXRhbG9nLnBnX2xhbmd1YWdlIik7fWZ1bmN0aW9uCmJlZ2luKCl7cmV0dXJuCnF1ZXJpZXMoIkJFR0lOIik7fWZ1bmN0aW9uCmluc2VydF9pbnRvKCRlLCRvKXtyZXR1cm4KcXVlcmllcygiSU5TRVJUIElOVE8gIi50YWJsZSgkZSkuKCRvPyIgKCIuaW1wbG9kZSgiLCAiLGFycmF5X2tleXMoJG8pKS4iKVxuVkFMVUVTICgiLmltcGxvZGUoIiwgIiwkbykuIikiOiJERUZBVUxUIFZBTFVFUyIpKTt9ZnVuY3Rpb24KaW5zZXJ0X3VwZGF0ZSgkZSwkbywkeWEpe2dsb2JhbCRoOyRZPWFycmF5KCk7JG09YXJyYXkoKTtmb3JlYWNoKCRvCmFzJGQ9PiRhKXskWVtdPSIkZCA9ICRhIjtpZihpc3NldCgkeWFbaWRmX3VuZXNjYXBlKCRkKV0pKXskbVtdPSIkZCA9ICRhIjt9fXJldHVybigkbSYmcXVlcmllcygiVVBEQVRFICIudGFibGUoJGUpLiIgU0VUICIuaW1wbG9kZSgiLCAiLCRZKS4iIFdIRVJFICIuaW1wbG9kZSgiIEFORCAiLCRtKSkmJiRoLT5hZmZlY3RlZF9yb3dzKXx8cXVlcmllcygiSU5TRVJUIElOVE8gIi50YWJsZSgkZSkuIiAoIi5pbXBsb2RlKCIsICIsYXJyYXlfa2V5cygkbykpLiIpIFZBTFVFUyAoIi5pbXBsb2RlKCIsICIsJG8pLiIpIik7fWZ1bmN0aW9uCmxhc3RfaWQoKXtyZXR1cm4KMDt9ZnVuY3Rpb24KZXhwbGFpbigkaCwkail7cmV0dXJuJGgtPnF1ZXJ5KCJFWFBMQUlOICRqIik7fWZ1bmN0aW9uCmZvdW5kX3Jvd3MoJHcsJG0pe2dsb2JhbCRoO2lmKGVyZWcoIiByb3dzPShbMC05XSspIiwkaC0+cmVzdWx0KCJFWFBMQUlOIFNFTEVDVCAqIEZST00gIi5pZGZfZXNjYXBlKCR3WyJOYW1lIl0pLigkbT8iIFdIRVJFICIuaW1wbG9kZSgiIEFORCAiLCRtKToiIikpLCRlZCkpe3JldHVybiRlZFsxXTt9cmV0dXJuCmZhbHNlO31mdW5jdGlvbgp0eXBlcygpe3JldHVybgpnZXRfdmFscygiU0VMRUNUIHR5cG5hbWUKRlJPTSBwZ190eXBlCldIRVJFIHR5cG5hbWVzcGFjZSA9IChTRUxFQ1Qgb2lkIEZST00gcGdfbmFtZXNwYWNlIFdIRVJFIG5zcG5hbWUgPSBjdXJyZW50X3NjaGVtYSgpKQpBTkQgdHlwdHlwZSBJTiAoJ2InLCdkJywnZScpCkFORCB0eXBlbGVtID0gMCIpO31mdW5jdGlvbgpzY2hlbWFzKCl7cmV0dXJuCmdldF92YWxzKCJTRUxFQ1QgbnNwbmFtZSBGUk9NIHBnX25hbWVzcGFjZSBPUkRFUiBCWSBuc3BuYW1lIik7fWZ1bmN0aW9uCmdldF9zY2hlbWEoKXtnbG9iYWwkaDtyZXR1cm4kaC0+cmVzdWx0KCJTRUxFQ1QgY3VycmVudF9zY2hlbWEoKSIpO31mdW5jdGlvbgpzZXRfc2NoZW1hKCR3Yyl7Z2xvYmFsJGgsJGFhLCRFYTskYj0kaC0+cXVlcnkoIlNFVCBzZWFyY2hfcGF0aCBUTyAiLmlkZl9lc2NhcGUoJHdjKSk7Zm9yZWFjaCh0eXBlcygpYXMkRCl7aWYoIWlzc2V0KCRhYVskRF0pKXskYWFbJERdPTA7JEVhW2xhbmcoMTEpXVtdPSREO319cmV0dXJuJGI7fWZ1bmN0aW9uCnVzZV9zcWwoJFEpe3JldHVybiJcY29ubmVjdCAiLmlkZl9lc2NhcGUoJFEpO31mdW5jdGlvbgpzaG93X3ZhcmlhYmxlcygpe3JldHVybgpnZXRfa2V5X3ZhbHMoIlNIT1cgQUxMIik7fWZ1bmN0aW9uCnByb2Nlc3NfbGlzdCgpe3JldHVybgpnZXRfcm93cygiU0VMRUNUICogRlJPTSBwZ19zdGF0X2FjdGl2aXR5IE9SREVSIEJZIHByb2NwaWQiKTt9ZnVuY3Rpb24Kc2hvd19zdGF0dXMoKXt9ZnVuY3Rpb24Kc3VwcG9ydCgkUGEpe3JldHVybgplcmVnKCdeKGNvbW1lbnR8dmlld3xzY2hlbWV8cHJvY2Vzc2xpc3R8c2VxdWVuY2V8dHJpZ2dlcnx0eXBlfHZhcmlhYmxlc3xkcm9wX2NvbCkkJywkUGEpO30kdGE9InBnc3FsIjskYWE9YXJyYXkoKTskRWE9YXJyYXkoKTtmb3JlYWNoKGFycmF5KGxhbmcoMTIpPT5hcnJheSgic21hbGxpbnQiPT41LCJpbnRlZ2VyIj0+MTAsImJpZ2ludCI9PjE5LCJib29sZWFuIj0+MSwibnVtZXJpYyI9PjAsInJlYWwiPT43LCJkb3VibGUgcHJlY2lzaW9uIj0+MTYsIm1vbmV5Ij0+MjApLGxhbmcoMTMpPT5hcnJheSgiZGF0ZSI9PjEzLCJ0aW1lIj0+MTcsInRpbWVzdGFtcCI9PjIwLCJpbnRlcnZhbCI9PjApLGxhbmcoMTQpPT5hcnJheSgiY2hhcmFjdGVyIj0+MCwiY2hhcmFjdGVyIHZhcnlpbmciPT4wLCJ0ZXh0Ij0+MCwidHNxdWVyeSI9PjAsInRzdmVjdG9yIj0+MCwidXVpZCI9PjAsInhtbCI9PjApLGxhbmcoMTUpPT5hcnJheSgiYml0Ij0+MCwiYml0IHZhcnlpbmciPT4wLCJieXRlYSI9PjApLGxhbmcoMTYpPT5hcnJheSgiY2lkciI9PjQzLCJpbmV0Ij0+NDMsIm1hY2FkZHIiPT4xNywidHhpZF9zbmFwc2hvdCI9PjApLGxhbmcoMTcpPT5hcnJheSgiYm94Ij0+MCwiY2lyY2xlIj0+MCwibGluZSI9PjAsImxzZWciPT4wLCJwYXRoIj0+MCwicG9pbnQiPT4wLCJwb2x5Z29uIj0+MCksKWFzJGQ9PiRhKXskYWErPSRhOyRFYVskZF09YXJyYXlfa2V5cygkYSk7fSRGYj1hcnJheSgpOyR1Yj1hcnJheSgiPSIsIjwiLCI+IiwiPD0iLCI+PSIsIiE9IiwifiIsIiF+IiwiTElLRSIsIkxJS0UgJSUiLCJJTiIsIklTIE5VTEwiLCJOT1QgTElLRSIsIk5PVCBJTiIsIklTIE5PVCBOVUxMIiwiIik7JGZhPWFycmF5KCJjaGFyX2xlbmd0aCIsImxvd2VyIiwicm91bmQiLCJ0b19oZXgiLCJ0b190aW1lc3RhbXAiLCJ1cHBlciIpOyRMYj1hcnJheSgiYXZnIiwiY291bnQiLCJjb3VudCBkaXN0aW5jdCIsIm1heCIsIm1pbiIsInN1bSIpOyRKYj1hcnJheShhcnJheSgiY2hhciI9PiJtZDUiLCJkYXRlfHRpbWUiPT4ibm93IiwpLGFycmF5KCJpbnR8bnVtZXJpY3xyZWFsfG1vbmV5Ij0+IisvLSIsImRhdGV8dGltZSI9PiIrIGludGVydmFsLy0gaW50ZXJ2YWwiLCJjaGFyfHRleHQiPT4ifHwiLCkpO30kd2FbIm9yYWNsZSJdPSJPcmFjbGUiO2lmKGlzc2V0KCRfR0VUWyJvcmFjbGUiXSkpeyRJYj1hcnJheSgiT0NJOCIsIlBET19PQ0kiKTtkZWZpbmUoIkRSSVZFUiIsIm9yYWNsZSIpO2lmKGV4dGVuc2lvbl9sb2FkZWQoIm9jaTgiKSl7Y2xhc3MKTWluX0RCe3ZhciRleHRlbnNpb249Im9jaTgiLCRfbGluaywkX3Jlc3VsdCwkc2VydmVyX2luZm8sJGFmZmVjdGVkX3Jvd3MsJGVycm9yO2Z1bmN0aW9uCl9lcnJvcigkUWQsJHEpe2lmKGluaV9ib29sKCJodG1sX2Vycm9ycyIpKXskcT1odG1sX2VudGl0eV9kZWNvZGUoc3RyaXBfdGFncygkcSkpO30kcT1lcmVnX3JlcGxhY2UoJ15bXjpdKjogJywnJywkcSk7JHRoaXMtPmVycm9yPSRxO31mdW5jdGlvbgpjb25uZWN0KCRDLCRGLCRIKXskdGhpcy0+X2xpbms9QG9jaV9uZXdfY29ubmVjdCgkRiwkSCwkQywiQUwzMlVURjgiKTtpZigkdGhpcy0+X2xpbmspeyR0aGlzLT5zZXJ2ZXJfaW5mbz1vY2lfc2VydmVyX3ZlcnNpb24oJHRoaXMtPl9saW5rKTtyZXR1cm4KdHJ1ZTt9JHE9b2NpX2Vycm9yKCk7JHRoaXMtPmVycm9yPSRxWyJtZXNzYWdlIl07cmV0dXJuCmZhbHNlO31mdW5jdGlvbgpxdW90ZSgkeil7cmV0dXJuIiciLnN0cl9yZXBsYWNlKCInIiwiJyciLCR6KS4iJyI7fWZ1bmN0aW9uCnNlbGVjdF9kYigkUSl7cmV0dXJuCnRydWU7fWZ1bmN0aW9uCnF1ZXJ5KCRqLCRDYT1mYWxzZSl7JGk9b2NpX3BhcnNlKCR0aGlzLT5fbGluaywkaik7aWYoISRpKXskcT1vY2lfZXJyb3IoJHRoaXMtPl9saW5rKTskdGhpcy0+ZXJyb3I9JHFbIm1lc3NhZ2UiXTtyZXR1cm4KZmFsc2U7fXNldF9lcnJvcl9oYW5kbGVyKGFycmF5KCR0aGlzLCdfZXJyb3InKSk7JGI9QG9jaV9leGVjdXRlKCRpKTtyZXN0b3JlX2Vycm9yX2hhbmRsZXIoKTtpZigkYil7aWYob2NpX251bV9maWVsZHMoJGkpKXtyZXR1cm4KbmV3Ck1pbl9SZXN1bHQoJGkpO30kdGhpcy0+YWZmZWN0ZWRfcm93cz1vY2lfbnVtX3Jvd3MoJGkpO31yZXR1cm4kYjt9ZnVuY3Rpb24KbXVsdGlfcXVlcnkoJGope3JldHVybiR0aGlzLT5fcmVzdWx0PSR0aGlzLT5xdWVyeSgkaik7fWZ1bmN0aW9uCnN0b3JlX3Jlc3VsdCgpe3JldHVybiR0aGlzLT5fcmVzdWx0O31mdW5jdGlvbgpuZXh0X3Jlc3VsdCgpe3JldHVybgpmYWxzZTt9ZnVuY3Rpb24KcmVzdWx0KCRqLCRnPTEpeyRpPSR0aGlzLT5xdWVyeSgkaik7aWYoIWlzX29iamVjdCgkaSl8fCFvY2lfZmV0Y2goJGktPl9yZXN1bHQpKXtyZXR1cm4KZmFsc2U7fXJldHVybgpvY2lfcmVzdWx0KCRpLT5fcmVzdWx0LCRnKTt9fWNsYXNzCk1pbl9SZXN1bHR7dmFyJF9yZXN1bHQsJF9vZmZzZXQ9MSwkbnVtX3Jvd3M7ZnVuY3Rpb24KTWluX1Jlc3VsdCgkaSl7JHRoaXMtPl9yZXN1bHQ9JGk7fWZ1bmN0aW9uCl9jb252ZXJ0KCRjKXtmb3JlYWNoKChhcnJheSkkYwphcyRkPT4kYSl7aWYoaXNfYSgkYSwnT0NJLUxvYicpKXskY1skZF09JGEtPmxvYWQoKTt9fXJldHVybiRjO31mdW5jdGlvbgpmZXRjaF9hc3NvYygpe3JldHVybiR0aGlzLT5fY29udmVydChvY2lfZmV0Y2hfYXNzb2MoJHRoaXMtPl9yZXN1bHQpKTt9ZnVuY3Rpb24KZmV0Y2hfcm93KCl7cmV0dXJuJHRoaXMtPl9jb252ZXJ0KG9jaV9mZXRjaF9yb3coJHRoaXMtPl9yZXN1bHQpKTt9ZnVuY3Rpb24KZmV0Y2hfZmllbGQoKXskdT0kdGhpcy0+X29mZnNldCsrOyRiPW5ldwpzdGRDbGFzczskYi0+bmFtZT1vY2lfZmllbGRfbmFtZSgkdGhpcy0+X3Jlc3VsdCwkdSk7JGItPm9yZ25hbWU9JGItPm5hbWU7JGItPnR5cGU9b2NpX2ZpZWxkX3R5cGUoJHRoaXMtPl9yZXN1bHQsJHUpOyRiLT5jaGFyc2V0bnI9KGVyZWcoInJhd3xibG9ifGJmaWxlIiwkYi0+dHlwZSk/NjM6MCk7cmV0dXJuJGI7fWZ1bmN0aW9uCl9fZGVzdHJ1Y3QoKXtvY2lfZnJlZV9zdGF0ZW1lbnQoJHRoaXMtPl9yZXN1bHQpO319fWVsc2VpZihleHRlbnNpb25fbG9hZGVkKCJwZG9fb2NpIikpe2NsYXNzCk1pbl9EQgpleHRlbmRzCk1pbl9QRE97dmFyJGV4dGVuc2lvbj0iUERPX09DSSI7ZnVuY3Rpb24KY29ubmVjdCgkQywkRiwkSCl7JHRoaXMtPmRzbigib2NpOmRibmFtZT0vLyRDO2NoYXJzZXQ9QUwzMlVURjgiLCRGLCRIKTtyZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24Kc2VsZWN0X2RiKCRRKXtyZXR1cm4KdHJ1ZTt9fX1mdW5jdGlvbgppZGZfZXNjYXBlKCRFKXtyZXR1cm4nIicuc3RyX3JlcGxhY2UoJyInLCciIicsJEUpLiciJzt9ZnVuY3Rpb24KdGFibGUoJEUpe3JldHVybgppZGZfZXNjYXBlKCRFKTt9ZnVuY3Rpb24KY29ubmVjdCgpe2dsb2JhbCRsOyRoPW5ldwpNaW5fREI7JG5hPSRsLT5jcmVkZW50aWFscygpO2lmKCRoLT5jb25uZWN0KCRuYVswXSwkbmFbMV0sJG5hWzJdKSl7cmV0dXJuJGg7fXJldHVybiRoLT5lcnJvcjt9ZnVuY3Rpb24KZ2V0X2RhdGFiYXNlcygpe3JldHVybgpnZXRfdmFscygiU0VMRUNUIHRhYmxlc3BhY2VfbmFtZSBGUk9NIHVzZXJfdGFibGVzcGFjZXMiKTt9ZnVuY3Rpb24KbGltaXQoJGosJG0sJF8sJFg9MCwkcWE9IiAiKXtyZXR1cm4oJFg/IiAqIEZST00gKFNFTEVDVCB0LiosIHJvd251bSBBUyBybnVtIEZST00gKFNFTEVDVCAkaiRtKSB0IFdIRVJFIHJvd251bSA8PSAiLigkXyskWCkuIikgV0hFUkUgcm51bSA+ICRYIjooaXNzZXQoJF8pPyIgKiBGUk9NIChTRUxFQ1QgJGokbSkgV0hFUkUgcm93bnVtIDw9ICIuKCRfKyRYKToiICRqJG0iKSk7fWZ1bmN0aW9uCmxpbWl0MSgkaiwkbSl7cmV0dXJuIiAkaiRtIjt9ZnVuY3Rpb24KZGJfY29sbGF0aW9uKCR2LCRIYil7Z2xvYmFsJGg7cmV0dXJuJGgtPnJlc3VsdCgiU0VMRUNUIHZhbHVlIEZST00gbmxzX2RhdGFiYXNlX3BhcmFtZXRlcnMgV0hFUkUgcGFyYW1ldGVyID0gJ05MU19DSEFSQUNURVJTRVQnIik7fWZ1bmN0aW9uCmVuZ2luZXMoKXtyZXR1cm4KYXJyYXkoKTt9ZnVuY3Rpb24KbG9nZ2VkX3VzZXIoKXtnbG9iYWwkaDtyZXR1cm4kaC0+cmVzdWx0KCJTRUxFQ1QgVVNFUiBGUk9NIERVQUwiKTt9ZnVuY3Rpb24KdGFibGVzX2xpc3QoKXtyZXR1cm4KZ2V0X2tleV92YWxzKCJTRUxFQ1QgdGFibGVfbmFtZSwgJ3RhYmxlJyBGUk9NIGFsbF90YWJsZXMgV0hFUkUgdGFibGVzcGFjZV9uYW1lID0gIi5xKERCKS4iClVOSU9OIFNFTEVDVCB2aWV3X25hbWUsICd2aWV3JyBGUk9NIHVzZXJfdmlld3MiKTt9ZnVuY3Rpb24KY291bnRfdGFibGVzKCRQKXtyZXR1cm4KYXJyYXkoKTt9ZnVuY3Rpb24KdGFibGVfc3RhdHVzKCRmPSIiKXskYj1hcnJheSgpOyRyYj1xKCRmKTtmb3JlYWNoKGdldF9yb3dzKCdTRUxFQ1QgdGFibGVfbmFtZSAiTmFtZSIsIFwndGFibGVcJyAiRW5naW5lIiBGUk9NIGFsbF90YWJsZXMgV0hFUkUgdGFibGVzcGFjZV9uYW1lID0gJy5xKERCKS4oJGYhPSIiPyIgQU5EIHRhYmxlX25hbWUgPSAkcmIiOiIiKS4iClVOSU9OIFNFTEVDVCB2aWV3X25hbWUsICd2aWV3JyBGUk9NIHVzZXJfdmlld3MiLigkZiE9IiI/IiBXSEVSRSB2aWV3X25hbWUgPSAkcmIiOiIiKSlhcyRjKXtpZigkZiE9IiIpe3JldHVybiRjO30kYlskY1siTmFtZSJdXT0kYzt9cmV0dXJuJGI7fWZ1bmN0aW9uCmlzX3ZpZXcoJHcpe3JldHVybiR3WyJFbmdpbmUiXT09InZpZXciO31mdW5jdGlvbgpma19zdXBwb3J0KCR3KXtyZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24KZmllbGRzKCRlKXskYj1hcnJheSgpO2ZvcmVhY2goZ2V0X3Jvd3MoIlNFTEVDVCAqIEZST00gYWxsX3RhYl9jb2x1bW5zIFdIRVJFIHRhYmxlX25hbWUgPSAiLnEoJGUpLiIgT1JERVIgQlkgY29sdW1uX2lkIilhcyRjKXskRD0kY1siREFUQV9UWVBFIl07JG9hPSIkY1tEQVRBX1BSRUNJU0lPTl0sJGNbREFUQV9TQ0FMRV0iO2lmKCRvYT09IiwiKXskb2E9JGNbIkRBVEFfTEVOR1RIIl07fSRiWyRjWyJDT0xVTU5fTkFNRSJdXT1hcnJheSgiZmllbGQiPT4kY1siQ09MVU1OX05BTUUiXSwiZnVsbF90eXBlIj0+JEQuKCRvYT8iKCRvYSkiOiIiKSwidHlwZSI9PnN0cnRvbG93ZXIoJEQpLCJsZW5ndGgiPT4kb2EsImRlZmF1bHQiPT4kY1siREFUQV9ERUZBVUxUIl0sIm51bGwiPT4oJGNbIk5VTExBQkxFIl09PSJZIiksInByaXZpbGVnZXMiPT5hcnJheSgiaW5zZXJ0Ij0+MSwic2VsZWN0Ij0+MSwidXBkYXRlIj0+MSksKTt9cmV0dXJuJGI7fWZ1bmN0aW9uCmluZGV4ZXMoJGUsJFM9bnVsbCl7JGI9YXJyYXkoKTtmb3JlYWNoKGdldF9yb3dzKCJTRUxFQ1QgdWljLiosIHVjLmNvbnN0cmFpbnRfdHlwZQpGUk9NIHVzZXJfaW5kX2NvbHVtbnMgdWljCkxFRlQgSk9JTiB1c2VyX2NvbnN0cmFpbnRzIHVjIE9OIHVpYy5pbmRleF9uYW1lID0gdWMuY29uc3RyYWludF9uYW1lIEFORCB1aWMudGFibGVfbmFtZSA9IHVjLnRhYmxlX25hbWUKV0hFUkUgdWljLnRhYmxlX25hbWUgPSAiLnEoJGUpLiIKT1JERVIgQlkgdWMuY29uc3RyYWludF90eXBlLCB1aWMuY29sdW1uX3Bvc2l0aW9uIiwkUylhcyRjKXskYlskY1siSU5ERVhfTkFNRSJdXVsidHlwZSJdPSgkY1siQ09OU1RSQUlOVF9UWVBFIl09PSJQIj8iUFJJTUFSWSI6KCRjWyJDT05TVFJBSU5UX1RZUEUiXT09IlUiPyJVTklRVUUiOiJJTkRFWCIpKTskYlskY1siSU5ERVhfTkFNRSJdXVsiY29sdW1ucyJdW109JGNbIkNPTFVNTl9OQU1FIl07JGJbJGNbIklOREVYX05BTUUiXV1bImxlbmd0aHMiXVtdPSgkY1siQ0hBUl9MRU5HVEgiXSYmJGNbIkNIQVJfTEVOR1RIIl0hPSRjWyJDT0xVTU5fTEVOR1RIIl0/JGNbIkNIQVJfTEVOR1RIIl06bnVsbCk7fXJldHVybiRiO31mdW5jdGlvbgp2aWV3KCRmKXskQT1nZXRfcm93cygnU0VMRUNUIHRleHQgInNlbGVjdCIgRlJPTSB1c2VyX3ZpZXdzIFdIRVJFIHZpZXdfbmFtZSA9ICcucSgkZikpO3JldHVybgpyZXNldCgkQSk7fWZ1bmN0aW9uCmNvbGxhdGlvbnMoKXtyZXR1cm4KYXJyYXkoKTt9ZnVuY3Rpb24KaW5mb3JtYXRpb25fc2NoZW1hKCR2KXtyZXR1cm4KZmFsc2U7fWZ1bmN0aW9uCmVycm9yKCl7Z2xvYmFsJGg7cmV0dXJuCmgoJGgtPmVycm9yKTt9ZnVuY3Rpb24KZXhhY3RfdmFsdWUoJGEpe3JldHVybgpxKCRhKTt9ZnVuY3Rpb24KZXhwbGFpbigkaCwkail7JGgtPnF1ZXJ5KCJFWFBMQUlOIFBMQU4gRk9SICRqIik7cmV0dXJuJGgtPnF1ZXJ5KCJTRUxFQ1QgKiBGUk9NIHBsYW5fdGFibGUiKTt9ZnVuY3Rpb24KZm91bmRfcm93cygkdywkbSl7fWZ1bmN0aW9uCmFsdGVyX3RhYmxlKCRlLCRmLCR0LCRJYSwkZGIsJGViLCRJLCRBYSwkc2IpeyRyPSRHYT1hcnJheSgpO2ZvcmVhY2goJHQKYXMkZyl7JGE9JGdbMV07aWYoJGEmJiRnWzBdIT0iIiYmaWRmX2VzY2FwZSgkZ1swXSkhPSRhWzBdKXtxdWVyaWVzKCJBTFRFUiBUQUJMRSAiLnRhYmxlKCRlKS4iIFJFTkFNRSBDT0xVTU4gIi5pZGZfZXNjYXBlKCRnWzBdKS4iIFRPICRhWzBdIik7fWlmKCRhKXskcltdPSgkZSE9IiI/KCRnWzBdIT0iIj8iTU9ESUZZICgiOiJBREQgKCIpOiIgICIpLmltcGxvZGUoJGEpLigkZSE9IiI/IikiOiIiKTt9ZWxzZXskR2FbXT1pZGZfZXNjYXBlKCRnWzBdKTt9fWlmKCRlPT0iIil7cmV0dXJuCnF1ZXJpZXMoIkNSRUFURSBUQUJMRSAiLnRhYmxlKCRmKS4iIChcbiIuaW1wbG9kZSgiLFxuIiwkcikuIlxuKSIpO31yZXR1cm4oISRyfHxxdWVyaWVzKCJBTFRFUiBUQUJMRSAiLnRhYmxlKCRlKS4iXG4iLmltcGxvZGUoIlxuIiwkcikpKSYmKCEkR2F8fHF1ZXJpZXMoIkFMVEVSIFRBQkxFICIudGFibGUoJGUpLiIgRFJPUCAoIi5pbXBsb2RlKCIsICIsJEdhKS4iKSIpKSYmKCRlPT0kZnx8cXVlcmllcygiQUxURVIgVEFCTEUgIi50YWJsZSgkZSkuIiBSRU5BTUUgVE8gIi50YWJsZSgkZikpKTt9ZnVuY3Rpb24KZm9yZWlnbl9rZXlzKCRlKXtyZXR1cm4KYXJyYXkoKTt9ZnVuY3Rpb24KdHJ1bmNhdGVfdGFibGVzKCRCKXtyZXR1cm4KYXBwbHlfcXVlcmllcygiVFJVTkNBVEUgVEFCTEUiLCRCKTt9ZnVuY3Rpb24KZHJvcF92aWV3cygkZGEpe3JldHVybgphcHBseV9xdWVyaWVzKCJEUk9QIFZJRVciLCRkYSk7fWZ1bmN0aW9uCmRyb3BfdGFibGVzKCRCKXtyZXR1cm4KYXBwbHlfcXVlcmllcygiRFJPUCBUQUJMRSIsJEIpO31mdW5jdGlvbgpiZWdpbigpe3JldHVybgp0cnVlO31mdW5jdGlvbgppbnNlcnRfaW50bygkZSwkbyl7cmV0dXJuCnF1ZXJpZXMoIklOU0VSVCBJTlRPICIudGFibGUoJGUpLiIgKCIuaW1wbG9kZSgiLCAiLGFycmF5X2tleXMoJG8pKS4iKVxuVkFMVUVTICgiLmltcGxvZGUoIiwgIiwkbykuIikiKTt9ZnVuY3Rpb24KbGFzdF9pZCgpe3JldHVybgowO31mdW5jdGlvbgpzY2hlbWFzKCl7cmV0dXJuCmFycmF5KCk7fWZ1bmN0aW9uCmdldF9zY2hlbWEoKXtyZXR1cm4iIjt9ZnVuY3Rpb24Kc2V0X3NjaGVtYSgkUGQpe3JldHVybgp0cnVlO31mdW5jdGlvbgpzaG93X3ZhcmlhYmxlcygpe3JldHVybgpnZXRfa2V5X3ZhbHMoJ1NFTEVDVCBuYW1lLCBkaXNwbGF5X3ZhbHVlIEZST00gdiRwYXJhbWV0ZXInKTt9ZnVuY3Rpb24Kc2hvd19zdGF0dXMoKXskQT1nZXRfcm93cygnU0VMRUNUICogRlJPTSB2JGluc3RhbmNlJyk7cmV0dXJuCnJlc2V0KCRBKTt9ZnVuY3Rpb24Kc3VwcG9ydCgkUGEpe3JldHVybgplcmVnKCJ2aWV3fGRyb3BfY29sfHZhcmlhYmxlc3xzdGF0dXMiLCRQYSk7fSR0YT0ib3JhY2xlIjskYWE9YXJyYXkoKTskRWE9YXJyYXkoKTtmb3JlYWNoKGFycmF5KGxhbmcoMTIpPT5hcnJheSgibnVtYmVyIj0+MzgsImJpbmFyeV9mbG9hdCI9PjEyLCJiaW5hcnlfZG91YmxlIj0+MjEpLGxhbmcoMTMpPT5hcnJheSgiZGF0ZSI9PjEwLCJ0aW1lc3RhbXAiPT4yOSwiaW50ZXJ2YWwgeWVhciI9PjEyLCJpbnRlcnZhbCBkYXkiPT4yOCksbGFuZygxNCk9PmFycmF5KCJjaGFyIj0+MjAwMCwidmFyY2hhcjIiPT40MDAwLCJuY2hhciI9PjIwMDAsIm52YXJjaGFyMiI9PjQwMDAsImNsb2IiPT40Mjk0OTY3Mjk1LCJuY2xvYiI9PjQyOTQ5NjcyOTUpLGxhbmcoMTUpPT5hcnJheSgicmF3Ij0+MjAwMCwibG9uZyByYXciPT4yMTQ3NDgzNjQ4LCJibG9iIj0+NDI5NDk2NzI5NSwiYmZpbGUiPT40Mjk0OTY3Mjk2KSwpYXMkZD0+JGEpeyRhYSs9JGE7JEVhWyRkXT1hcnJheV9rZXlzKCRhKTt9JEZiPWFycmF5KCk7JHViPWFycmF5KCI9IiwiPCIsIj4iLCI8PSIsIj49IiwiIT0iLCJMSUtFIiwiTElLRSAlJSIsIklOIiwiSVMgTlVMTCIsIk5PVCBMSUtFIiwiTk9UIFJFR0VYUCIsIk5PVCBJTiIsIklTIE5PVCBOVUxMIiwiIik7JGZhPWFycmF5KCJsZW5ndGgiLCJsb3dlciIsInJvdW5kIiwidXBwZXIiKTskTGI9YXJyYXkoImF2ZyIsImNvdW50IiwiY291bnQgZGlzdGluY3QiLCJtYXgiLCJtaW4iLCJzdW0iKTskSmI9YXJyYXkoYXJyYXkoImRhdGUiPT4iY3VycmVudF9kYXRlIiwidGltZXN0YW1wIj0+ImN1cnJlbnRfdGltZXN0YW1wIiwpLGFycmF5KCJudW1iZXJ8ZmxvYXR8ZG91YmxlIj0+IisvLSIsImRhdGV8dGltZXN0YW1wIj0+IisgaW50ZXJ2YWwvLSBpbnRlcnZhbCIsImNoYXJ8Y2xvYiI9PiJ8fCIsKSk7fSR3YVsibXNzcWwiXT0iTVMgU1FMIjtpZihpc3NldCgkX0dFVFsibXNzcWwiXSkpeyRJYj1hcnJheSgiU1FMU1JWIiwiTVNTUUwiKTtkZWZpbmUoIkRSSVZFUiIsIm1zc3FsIik7aWYoZXh0ZW5zaW9uX2xvYWRlZCgic3Fsc3J2Iikpe2NsYXNzCk1pbl9EQnt2YXIkZXh0ZW5zaW9uPSJzcWxzcnYiLCRfbGluaywkX3Jlc3VsdCwkc2VydmVyX2luZm8sJGFmZmVjdGVkX3Jvd3MsJGVycm9yO2Z1bmN0aW9uCl9nZXRfZXJyb3IoKXskdGhpcy0+ZXJyb3I9IiI7Zm9yZWFjaChzcWxzcnZfZXJyb3JzKClhcyRxKXskdGhpcy0+ZXJyb3IuPSIkcVttZXNzYWdlXVxuIjt9JHRoaXMtPmVycm9yPXJ0cmltKCR0aGlzLT5lcnJvcik7fWZ1bmN0aW9uCmNvbm5lY3QoJEMsJEYsJEgpeyR0aGlzLT5fbGluaz1Ac3Fsc3J2X2Nvbm5lY3QoJEMsYXJyYXkoIlVJRCI9PiRGLCJQV0QiPT4kSCkpO2lmKCR0aGlzLT5fbGluayl7JERkPXNxbHNydl9zZXJ2ZXJfaW5mbygkdGhpcy0+X2xpbmspOyR0aGlzLT5zZXJ2ZXJfaW5mbz0kRGRbJ1NRTFNlcnZlclZlcnNpb24nXTt9ZWxzZXskdGhpcy0+X2dldF9lcnJvcigpO31yZXR1cm4oYm9vbCkkdGhpcy0+X2xpbms7fWZ1bmN0aW9uCnF1b3RlKCR6KXtyZXR1cm4iJyIuc3RyX3JlcGxhY2UoIiciLCInJyIsJHopLiInIjt9ZnVuY3Rpb24Kc2VsZWN0X2RiKCRRKXtyZXR1cm4kdGhpcy0+cXVlcnkoIlVTRSAkUSIpO31mdW5jdGlvbgpxdWVyeSgkaiwkQ2E9ZmFsc2UpeyRpPXNxbHNydl9xdWVyeSgkdGhpcy0+X2xpbmssJGopO2lmKCEkaSl7JHRoaXMtPl9nZXRfZXJyb3IoKTtyZXR1cm4KZmFsc2U7fXJldHVybiR0aGlzLT5zdG9yZV9yZXN1bHQoJGkpO31mdW5jdGlvbgptdWx0aV9xdWVyeSgkail7JHRoaXMtPl9yZXN1bHQ9c3Fsc3J2X3F1ZXJ5KCR0aGlzLT5fbGluaywkaik7aWYoISR0aGlzLT5fcmVzdWx0KXskdGhpcy0+X2dldF9lcnJvcigpO3JldHVybgpmYWxzZTt9cmV0dXJuCnRydWU7fWZ1bmN0aW9uCnN0b3JlX3Jlc3VsdCgkaT1udWxsKXtpZighJGkpeyRpPSR0aGlzLT5fcmVzdWx0O31pZihzcWxzcnZfZmllbGRfbWV0YWRhdGEoJGkpKXtyZXR1cm4KbmV3Ck1pbl9SZXN1bHQoJGkpO30kdGhpcy0+YWZmZWN0ZWRfcm93cz1zcWxzcnZfcm93c19hZmZlY3RlZCgkaSk7cmV0dXJuCnRydWU7fWZ1bmN0aW9uCm5leHRfcmVzdWx0KCl7cmV0dXJuCnNxbHNydl9uZXh0X3Jlc3VsdCgkdGhpcy0+X3Jlc3VsdCk7fWZ1bmN0aW9uCnJlc3VsdCgkaiwkZz0wKXskaT0kdGhpcy0+cXVlcnkoJGopO2lmKCFpc19vYmplY3QoJGkpKXtyZXR1cm4KZmFsc2U7fSRjPSRpLT5mZXRjaF9yb3coKTtyZXR1cm4kY1skZ107fX1jbGFzcwpNaW5fUmVzdWx0e3ZhciRfcmVzdWx0LCRfb2Zmc2V0PTAsJF9maWVsZHMsJG51bV9yb3dzO2Z1bmN0aW9uCk1pbl9SZXN1bHQoJGkpeyR0aGlzLT5fcmVzdWx0PSRpO31mdW5jdGlvbgpfY29udmVydCgkYyl7Zm9yZWFjaCgoYXJyYXkpJGMKYXMkZD0+JGEpe2lmKGlzX2EoJGEsJ0RhdGVUaW1lJykpeyRjWyRkXT0kYS0+Zm9ybWF0KCJZLW0tZCBIOmk6cyIpO319cmV0dXJuJGM7fWZ1bmN0aW9uCmZldGNoX2Fzc29jKCl7cmV0dXJuJHRoaXMtPl9jb252ZXJ0KHNxbHNydl9mZXRjaF9hcnJheSgkdGhpcy0+X3Jlc3VsdCxTUUxTUlZfRkVUQ0hfQVNTT0MsU1FMU1JWX1NDUk9MTF9ORVhUKSk7fWZ1bmN0aW9uCmZldGNoX3Jvdygpe3JldHVybiR0aGlzLT5fY29udmVydChzcWxzcnZfZmV0Y2hfYXJyYXkoJHRoaXMtPl9yZXN1bHQsU1FMU1JWX0ZFVENIX05VTUVSSUMsU1FMU1JWX1NDUk9MTF9ORVhUKSk7fWZ1bmN0aW9uCmZldGNoX2ZpZWxkKCl7aWYoISR0aGlzLT5fZmllbGRzKXskdGhpcy0+X2ZpZWxkcz1zcWxzcnZfZmllbGRfbWV0YWRhdGEoJHRoaXMtPl9yZXN1bHQpO30kZz0kdGhpcy0+X2ZpZWxkc1skdGhpcy0+X29mZnNldCsrXTskYj1uZXcKc3RkQ2xhc3M7JGItPm5hbWU9JGdbIk5hbWUiXTskYi0+b3JnbmFtZT0kZ1siTmFtZSJdOyRiLT50eXBlPSgkZ1siVHlwZSJdPT0xPzI1NDowKTtyZXR1cm4kYjt9ZnVuY3Rpb24Kc2VlaygkWCl7Zm9yKCRwPTA7JHA8JFg7JHArKyl7c3Fsc3J2X2ZldGNoKCR0aGlzLT5fcmVzdWx0KTt9fWZ1bmN0aW9uCl9fZGVzdHJ1Y3QoKXtzcWxzcnZfZnJlZV9zdG10KCR0aGlzLT5fcmVzdWx0KTt9fX1lbHNlaWYoZXh0ZW5zaW9uX2xvYWRlZCgibXNzcWwiKSl7Y2xhc3MKTWluX0RCe3ZhciRleHRlbnNpb249Ik1TU1FMIiwkX2xpbmssJF9yZXN1bHQsJHNlcnZlcl9pbmZvLCRhZmZlY3RlZF9yb3dzLCRlcnJvcjtmdW5jdGlvbgpjb25uZWN0KCRDLCRGLCRIKXskdGhpcy0+X2xpbms9QG1zc3FsX2Nvbm5lY3QoJEMsJEYsJEgpO2lmKCR0aGlzLT5fbGluayl7JGk9JHRoaXMtPnF1ZXJ5KCJTRUxFQ1QgU0VSVkVSUFJPUEVSVFkoJ1Byb2R1Y3RMZXZlbCcpLCBTRVJWRVJQUk9QRVJUWSgnRWRpdGlvbicpIik7JGM9JGktPmZldGNoX3JvdygpOyR0aGlzLT5zZXJ2ZXJfaW5mbz0kdGhpcy0+cmVzdWx0KCJzcF9zZXJ2ZXJfaW5mbyAyIiwyKS4iIFskY1swXV0gJGNbMV0iO31lbHNleyR0aGlzLT5lcnJvcj1tc3NxbF9nZXRfbGFzdF9tZXNzYWdlKCk7fXJldHVybihib29sKSR0aGlzLT5fbGluazt9ZnVuY3Rpb24KcXVvdGUoJHope3JldHVybiInIi5zdHJfcmVwbGFjZSgiJyIsIicnIiwkeikuIiciO31mdW5jdGlvbgpzZWxlY3RfZGIoJFEpe3JldHVybgptc3NxbF9zZWxlY3RfZGIoJFEpO31mdW5jdGlvbgpxdWVyeSgkaiwkQ2E9ZmFsc2UpeyRpPW1zc3FsX3F1ZXJ5KCRqLCR0aGlzLT5fbGluayk7aWYoISRpKXskdGhpcy0+ZXJyb3I9bXNzcWxfZ2V0X2xhc3RfbWVzc2FnZSgpO3JldHVybgpmYWxzZTt9aWYoJGk9PT10cnVlKXskdGhpcy0+YWZmZWN0ZWRfcm93cz1tc3NxbF9yb3dzX2FmZmVjdGVkKCR0aGlzLT5fbGluayk7cmV0dXJuCnRydWU7fXJldHVybgpuZXcKTWluX1Jlc3VsdCgkaSk7fWZ1bmN0aW9uCm11bHRpX3F1ZXJ5KCRqKXtyZXR1cm4kdGhpcy0+X3Jlc3VsdD0kdGhpcy0+cXVlcnkoJGopO31mdW5jdGlvbgpzdG9yZV9yZXN1bHQoKXtyZXR1cm4kdGhpcy0+X3Jlc3VsdDt9ZnVuY3Rpb24KbmV4dF9yZXN1bHQoKXtyZXR1cm4KbXNzcWxfbmV4dF9yZXN1bHQoJHRoaXMtPl9yZXN1bHQpO31mdW5jdGlvbgpyZXN1bHQoJGosJGc9MCl7JGk9JHRoaXMtPnF1ZXJ5KCRqKTtpZighaXNfb2JqZWN0KCRpKSl7cmV0dXJuCmZhbHNlO31yZXR1cm4KbXNzcWxfcmVzdWx0KCRpLT5fcmVzdWx0LDAsJGcpO319Y2xhc3MKTWluX1Jlc3VsdHt2YXIkX3Jlc3VsdCwkX29mZnNldD0wLCRfZmllbGRzLCRudW1fcm93cztmdW5jdGlvbgpNaW5fUmVzdWx0KCRpKXskdGhpcy0+X3Jlc3VsdD0kaTskdGhpcy0+bnVtX3Jvd3M9bXNzcWxfbnVtX3Jvd3MoJGkpO31mdW5jdGlvbgpmZXRjaF9hc3NvYygpe3JldHVybgptc3NxbF9mZXRjaF9hc3NvYygkdGhpcy0+X3Jlc3VsdCk7fWZ1bmN0aW9uCmZldGNoX3Jvdygpe3JldHVybgptc3NxbF9mZXRjaF9yb3coJHRoaXMtPl9yZXN1bHQpO31mdW5jdGlvbgpudW1fcm93cygpe3JldHVybgptc3NxbF9udW1fcm93cygkdGhpcy0+X3Jlc3VsdCk7fWZ1bmN0aW9uCmZldGNoX2ZpZWxkKCl7JGI9bXNzcWxfZmV0Y2hfZmllbGQoJHRoaXMtPl9yZXN1bHQpOyRiLT5vcmd0YWJsZT0kYi0+dGFibGU7JGItPm9yZ25hbWU9JGItPm5hbWU7cmV0dXJuJGI7fWZ1bmN0aW9uCnNlZWsoJFgpe21zc3FsX2RhdGFfc2VlaygkdGhpcy0+X3Jlc3VsdCwkWCk7fWZ1bmN0aW9uCl9fZGVzdHJ1Y3QoKXttc3NxbF9mcmVlX3Jlc3VsdCgkdGhpcy0+X3Jlc3VsdCk7fX19ZnVuY3Rpb24KaWRmX2VzY2FwZSgkRSl7cmV0dXJuIlsiLnN0cl9yZXBsYWNlKCJdIiwiXV0iLCRFKS4iXSI7fWZ1bmN0aW9uCnRhYmxlKCRFKXtyZXR1cm4oJF9HRVRbIm5zIl0hPSIiP2lkZl9lc2NhcGUoJF9HRVRbIm5zIl0pLiIuIjoiIikuaWRmX2VzY2FwZSgkRSk7fWZ1bmN0aW9uCmNvbm5lY3QoKXtnbG9iYWwkbDskaD1uZXcKTWluX0RCOyRuYT0kbC0+Y3JlZGVudGlhbHMoKTtpZigkaC0+Y29ubmVjdCgkbmFbMF0sJG5hWzFdLCRuYVsyXSkpe3JldHVybiRoO31yZXR1cm4kaC0+ZXJyb3I7fWZ1bmN0aW9uCmdldF9kYXRhYmFzZXMoKXtyZXR1cm4KZ2V0X3ZhbHMoIkVYRUMgc3BfZGF0YWJhc2VzIik7fWZ1bmN0aW9uCmxpbWl0KCRqLCRtLCRfLCRYPTAsJHFhPSIgIil7cmV0dXJuKGlzc2V0KCRfKT8iIFRPUCAoIi4oJF8rJFgpLiIpIjoiIikuIiAkaiRtIjt9ZnVuY3Rpb24KbGltaXQxKCRqLCRtKXtyZXR1cm4KbGltaXQoJGosJG0sMSk7fWZ1bmN0aW9uCmRiX2NvbGxhdGlvbigkdiwkSGIpe2dsb2JhbCRoO3JldHVybiRoLT5yZXN1bHQoIlNFTEVDVCBjb2xsYXRpb25fbmFtZSBGUk9NIHN5cy5kYXRhYmFzZXMgV0hFUkUgbmFtZSA9ICAiLnEoJHYpKTt9ZnVuY3Rpb24KZW5naW5lcygpe3JldHVybgphcnJheSgpO31mdW5jdGlvbgpsb2dnZWRfdXNlcigpe2dsb2JhbCRoO3JldHVybiRoLT5yZXN1bHQoIlNFTEVDVCBTVVNFUl9OQU1FKCkiKTt9ZnVuY3Rpb24KdGFibGVzX2xpc3QoKXtyZXR1cm4KZ2V0X2tleV92YWxzKCJTRUxFQ1QgbmFtZSwgdHlwZV9kZXNjIEZST00gc3lzLmFsbF9vYmplY3RzIFdIRVJFIHNjaGVtYV9pZCA9IFNDSEVNQV9JRCgiLnEoZ2V0X3NjaGVtYSgpKS4iKSBBTkQgdHlwZSBJTiAoJ1MnLCAnVScsICdWJykgT1JERVIgQlkgbmFtZSIpO31mdW5jdGlvbgpjb3VudF90YWJsZXMoJFApe2dsb2JhbCRoOyRiPWFycmF5KCk7Zm9yZWFjaCgkUAphcyR2KXskaC0+c2VsZWN0X2RiKCR2KTskYlskdl09JGgtPnJlc3VsdCgiU0VMRUNUIENPVU5UKCopIEZST00gSU5GT1JNQVRJT05fU0NIRU1BLlRBQkxFUyIpO31yZXR1cm4kYjt9ZnVuY3Rpb24KdGFibGVfc3RhdHVzKCRmPSIiKXskYj1hcnJheSgpO2ZvcmVhY2goZ2V0X3Jvd3MoIlNFTEVDVCBuYW1lIEFTIE5hbWUsIHR5cGVfZGVzYyBBUyBFbmdpbmUgRlJPTSBzeXMuYWxsX29iamVjdHMgV0hFUkUgc2NoZW1hX2lkID0gU0NIRU1BX0lEKCIucShnZXRfc2NoZW1hKCkpLiIpIEFORCB0eXBlIElOICgnUycsICdVJywgJ1YnKSIuKCRmIT0iIj8iIEFORCBuYW1lID0gIi5xKCRmKToiIikpYXMkYyl7aWYoJGYhPSIiKXtyZXR1cm4kYzt9JGJbJGNbIk5hbWUiXV09JGM7fXJldHVybiRiO31mdW5jdGlvbgppc192aWV3KCR3KXtyZXR1cm4kd1siRW5naW5lIl09PSJWSUVXIjt9ZnVuY3Rpb24KZmtfc3VwcG9ydCgkdyl7cmV0dXJuCnRydWU7fWZ1bmN0aW9uCmZpZWxkcygkZSl7JGI9YXJyYXkoKTtmb3JlYWNoKGdldF9yb3dzKCJTRUxFQ1QgYy4qLCB0Lm5hbWUgdHlwZSwgZC5kZWZpbml0aW9uIFtkZWZhdWx0XQpGUk9NIHN5cy5hbGxfY29sdW1ucyBjCkpPSU4gc3lzLmFsbF9vYmplY3RzIG8gT04gYy5vYmplY3RfaWQgPSBvLm9iamVjdF9pZApKT0lOIHN5cy50eXBlcyB0IE9OIGMudXNlcl90eXBlX2lkID0gdC51c2VyX3R5cGVfaWQKTEVGVCBKT0lOIHN5cy5kZWZhdWx0X2NvbnN0cmFpbnRzIGQgT04gYy5kZWZhdWx0X29iamVjdF9pZCA9IGQucGFyZW50X2NvbHVtbl9pZApXSEVSRSBvLnNjaGVtYV9pZCA9IFNDSEVNQV9JRCgiLnEoZ2V0X3NjaGVtYSgpKS4iKSBBTkQgby50eXBlIElOICgnUycsICdVJywgJ1YnKSBBTkQgby5uYW1lID0gIi5xKCRlKSlhcyRjKXskRD0kY1sidHlwZSJdOyRvYT0oZXJlZygiY2hhcnxiaW5hcnkiLCREKT8kY1sibWF4X2xlbmd0aCJdOigkRD09ImRlY2ltYWwiPyIkY1twcmVjaXNpb25dLCRjW3NjYWxlXSI6IiIpKTskYlskY1sibmFtZSJdXT1hcnJheSgiZmllbGQiPT4kY1sibmFtZSJdLCJmdWxsX3R5cGUiPT4kRC4oJG9hPyIoJG9hKSI6IiIpLCJ0eXBlIj0+JEQsImxlbmd0aCI9PiRvYSwiZGVmYXVsdCI9PiRjWyJkZWZhdWx0Il0sIm51bGwiPT4kY1siaXNfbnVsbGFibGUiXSwiYXV0b19pbmNyZW1lbnQiPT4kY1siaXNfaWRlbnRpdHkiXSwiY29sbGF0aW9uIj0+JGNbImNvbGxhdGlvbl9uYW1lIl0sInByaXZpbGVnZXMiPT5hcnJheSgiaW5zZXJ0Ij0+MSwic2VsZWN0Ij0+MSwidXBkYXRlIj0+MSksInByaW1hcnkiPT4kY1siaXNfaWRlbnRpdHkiXSwpO31yZXR1cm4kYjt9ZnVuY3Rpb24KaW5kZXhlcygkZSwkUz1udWxsKXskYj1hcnJheSgpO2ZvcmVhY2goZ2V0X3Jvd3MoIlNFTEVDVCBpLm5hbWUsIGtleV9vcmRpbmFsLCBpc191bmlxdWUsIGlzX3ByaW1hcnlfa2V5LCBjLm5hbWUgQVMgY29sdW1uX25hbWUKRlJPTSBzeXMuaW5kZXhlcyBpCklOTkVSIEpPSU4gc3lzLmluZGV4X2NvbHVtbnMgaWMgT04gaS5vYmplY3RfaWQgPSBpYy5vYmplY3RfaWQgQU5EIGkuaW5kZXhfaWQgPSBpYy5pbmRleF9pZApJTk5FUiBKT0lOIHN5cy5jb2x1bW5zIGMgT04gaWMub2JqZWN0X2lkID0gYy5vYmplY3RfaWQgQU5EIGljLmNvbHVtbl9pZCA9IGMuY29sdW1uX2lkCldIRVJFIE9CSkVDVF9OQU1FKGkub2JqZWN0X2lkKSA9ICIucSgkZSksJFMpYXMkYyl7JGJbJGNbIm5hbWUiXV1bInR5cGUiXT0oJGNbImlzX3ByaW1hcnlfa2V5Il0/IlBSSU1BUlkiOigkY1siaXNfdW5pcXVlIl0/IlVOSVFVRSI6IklOREVYIikpOyRiWyRjWyJuYW1lIl1dWyJsZW5ndGhzIl09YXJyYXkoKTskYlskY1sibmFtZSJdXVsiY29sdW1ucyJdWyRjWyJrZXlfb3JkaW5hbCJdXT0kY1siY29sdW1uX25hbWUiXTt9cmV0dXJuJGI7fWZ1bmN0aW9uCnZpZXcoJGYpe2dsb2JhbCRoO3JldHVybgphcnJheSgic2VsZWN0Ij0+cHJlZ19yZXBsYWNlKCd+Xig/OlteW118XFxbW15dXSpdKSpcXHMrQVNcXHMrfmlzVScsJycsJGgtPnJlc3VsdCgiU0VMRUNUIFZJRVdfREVGSU5JVElPTiBGUk9NIElORk9STUFUSU9OX1NDSEVNQS5WSUVXUyBXSEVSRSBUQUJMRV9TQ0hFTUEgPSBTQ0hFTUFfTkFNRSgpIEFORCBUQUJMRV9OQU1FID0gIi5xKCRmKSkpKTt9ZnVuY3Rpb24KY29sbGF0aW9ucygpeyRiPWFycmF5KCk7Zm9yZWFjaChnZXRfdmFscygiU0VMRUNUIG5hbWUgRlJPTSBmbl9oZWxwY29sbGF0aW9ucygpIilhcyRJKXskYltlcmVnX3JlcGxhY2UoIl8uKiIsIiIsJEkpXVtdPSRJO31yZXR1cm4kYjt9ZnVuY3Rpb24KaW5mb3JtYXRpb25fc2NoZW1hKCR2KXtyZXR1cm4KZmFsc2U7fWZ1bmN0aW9uCmVycm9yKCl7Z2xvYmFsJGg7cmV0dXJuCm5sX2JyKGgocHJlZ19yZXBsYWNlKCd+XihcXFtbXl1dKl0pK35tJywnJywkaC0+ZXJyb3IpKSk7fWZ1bmN0aW9uCmV4YWN0X3ZhbHVlKCRhKXtyZXR1cm4KcSgkYSk7fWZ1bmN0aW9uCmNyZWF0ZV9kYXRhYmFzZSgkdiwkSSl7cmV0dXJuCnF1ZXJpZXMoIkNSRUFURSBEQVRBQkFTRSAiLmlkZl9lc2NhcGUoJHYpLihlcmVnaSgnXlthLXowLTlfXSskJywkSSk/IiBDT0xMQVRFICRJIjoiIikpO31mdW5jdGlvbgpkcm9wX2RhdGFiYXNlcygkUCl7cmV0dXJuCnF1ZXJpZXMoIkRST1AgREFUQUJBU0UgIi5pbXBsb2RlKCIsICIsYXJyYXlfbWFwKCdpZGZfZXNjYXBlJywkUCkpKTt9ZnVuY3Rpb24KcmVuYW1lX2RhdGFiYXNlKCRmLCRJKXtpZihlcmVnaSgnXlthLXowLTlfXSskJywkSSkpe3F1ZXJpZXMoIkFMVEVSIERBVEFCQVNFICIuaWRmX2VzY2FwZShEQikuIiBDT0xMQVRFICRJIik7fXF1ZXJpZXMoIkFMVEVSIERBVEFCQVNFICIuaWRmX2VzY2FwZShEQikuIiBNT0RJRlkgTkFNRSA9ICIuaWRmX2VzY2FwZSgkZikpO3JldHVybgp0cnVlO31mdW5jdGlvbgphdXRvX2luY3JlbWVudCgpe3JldHVybiIgSURFTlRJVFkiLigkX1BPU1RbIkF1dG9faW5jcmVtZW50Il0hPSIiPyIoIi4oKyRfUE9TVFsiQXV0b19pbmNyZW1lbnQiXSkuIiwxKSI6IiIpLiIgUFJJTUFSWSBLRVkiO31mdW5jdGlvbgphbHRlcl90YWJsZSgkZSwkZiwkdCwkSWEsJGRiLCRlYiwkSSwkQWEsJHNiKXskcj1hcnJheSgpO2ZvcmVhY2goJHQKYXMkZyl7JHU9aWRmX2VzY2FwZSgkZ1swXSk7JGE9JGdbMV07aWYoISRhKXskclsiRFJPUCJdW109IiBDT0xVTU4gJHUiO31lbHNleyRhWzFdPXByZWdfcmVwbGFjZSgifiggQ09MTEFURSApJyhcXHcrKSd+IiwiXFwxXFwyIiwkYVsxXSk7aWYoJGdbMF09PSIiKXskclsiQUREIl1bXT0iXG4gICIuaW1wbG9kZSgiIiwkYSkuKCRlPT0iIj9zdWJzdHIoJElhWyRhWzBdXSwxNitzdHJsZW4oJGFbMF0pKToiIik7fWVsc2V7dW5zZXQoJGFbNl0pO2lmKCR1IT0kYVswXSl7cXVlcmllcygiRVhFQyBzcF9yZW5hbWUgIi5xKHRhYmxlKCRlKS4iLiR1IikuIiwgIi5xKGlkZl91bmVzY2FwZSgkYVswXSkpLiIsICdDT0xVTU4nIik7fSRyWyJBTFRFUiBDT0xVTU4gIi5pbXBsb2RlKCIiLCRhKV1bXT0iIjt9fX1pZigkZT09IiIpe3JldHVybgpxdWVyaWVzKCJDUkVBVEUgVEFCTEUgIi50YWJsZSgkZikuIiAoIi5pbXBsb2RlKCIsIiwoYXJyYXkpJHJbIkFERCJdKS4iXG4pIik7fWlmKCRlIT0kZil7cXVlcmllcygiRVhFQyBzcF9yZW5hbWUgIi5xKHRhYmxlKCRlKSkuIiwgIi5xKCRmKSk7fWlmKCRJYSl7JHJbIiJdPSRJYTt9Zm9yZWFjaCgkcgphcyRkPT4kYSl7aWYoIXF1ZXJpZXMoIkFMVEVSIFRBQkxFICIuaWRmX2VzY2FwZSgkZikuIiAkZCIuaW1wbG9kZSgiLCIsJGEpKSl7cmV0dXJuCmZhbHNlO319cmV0dXJuCnRydWU7fWZ1bmN0aW9uCmFsdGVyX2luZGV4ZXMoJGUsJHIpeyRjYT1hcnJheSgpOyRHYT1hcnJheSgpO2ZvcmVhY2goJHIKYXMkYSl7aWYoJGFbMl09PSJEUk9QIil7aWYoJGFbMF09PSJQUklNQVJZIil7JEdhW109aWRmX2VzY2FwZSgkYVsxXSk7fWVsc2V7JGNhW109aWRmX2VzY2FwZSgkYVsxXSkuIiBPTiAiLnRhYmxlKCRlKTt9fWVsc2VpZighcXVlcmllcygoJGFbMF0hPSJQUklNQVJZIj8iQ1JFQVRFICRhWzBdICIuKCRhWzBdIT0iSU5ERVgiPyJJTkRFWCAiOiIiKS5pZGZfZXNjYXBlKCRhWzFdIT0iIj8kYVsxXTp1bmlxaWQoJGUuIl8iKSkuIiBPTiAiLnRhYmxlKCRlKToiQUxURVIgVEFCTEUgIi50YWJsZSgkZSkuIiBBREQgUFJJTUFSWSBLRVkiKS4iICRhWzJdIikpe3JldHVybgpmYWxzZTt9fXJldHVybighJGNhfHxxdWVyaWVzKCJEUk9QIElOREVYICIuaW1wbG9kZSgiLCAiLCRjYSkpKSYmKCEkR2F8fHF1ZXJpZXMoIkFMVEVSIFRBQkxFICIudGFibGUoJGUpLiIgRFJPUCAiLmltcGxvZGUoIiwgIiwkR2EpKSk7fWZ1bmN0aW9uCmJlZ2luKCl7cmV0dXJuCnF1ZXJpZXMoIkJFR0lOIFRSQU5TQUNUSU9OIik7fWZ1bmN0aW9uCmluc2VydF9pbnRvKCRlLCRvKXtyZXR1cm4KcXVlcmllcygiSU5TRVJUIElOVE8gIi50YWJsZSgkZSkuKCRvPyIgKCIuaW1wbG9kZSgiLCAiLGFycmF5X2tleXMoJG8pKS4iKVxuVkFMVUVTICgiLmltcGxvZGUoIiwgIiwkbykuIikiOiJERUZBVUxUIFZBTFVFUyIpKTt9ZnVuY3Rpb24KaW5zZXJ0X3VwZGF0ZSgkZSwkbywkeWEpeyRZPWFycmF5KCk7JG09YXJyYXkoKTtmb3JlYWNoKCRvCmFzJGQ9PiRhKXskWVtdPSIkZCA9ICRhIjtpZihpc3NldCgkeWFbaWRmX3VuZXNjYXBlKCRkKV0pKXskbVtdPSIkZCA9ICRhIjt9fXJldHVybgpxdWVyaWVzKCJNRVJHRSAiLnRhYmxlKCRlKS4iIFVTSU5HIChWQUxVRVMoIi5pbXBsb2RlKCIsICIsJG8pLiIpKSBBUyBzb3VyY2UgKGMiLmltcGxvZGUoIiwgYyIscmFuZ2UoMSxjb3VudCgkbykpKS4iKSBPTiAiLmltcGxvZGUoIiBBTkQgIiwkbSkuIiBXSEVOIE1BVENIRUQgVEhFTiBVUERBVEUgU0VUICIuaW1wbG9kZSgiLCAiLCRZKS4iIFdIRU4gTk9UIE1BVENIRUQgVEhFTiBJTlNFUlQgKCIuaW1wbG9kZSgiLCAiLGFycmF5X2tleXMoJG8pKS4iKSBWQUxVRVMgKCIuaW1wbG9kZSgiLCAiLCRvKS4iKTsiKTt9ZnVuY3Rpb24KbGFzdF9pZCgpe2dsb2JhbCRoO3JldHVybiRoLT5yZXN1bHQoIlNFTEVDVCBTQ09QRV9JREVOVElUWSgpIik7fWZ1bmN0aW9uCmV4cGxhaW4oJGgsJGopeyRoLT5xdWVyeSgiU0VUIFNIT1dQTEFOX0FMTCBPTiIpOyRiPSRoLT5xdWVyeSgkaik7JGgtPnF1ZXJ5KCJTRVQgU0hPV1BMQU5fQUxMIE9GRiIpO3JldHVybiRiO31mdW5jdGlvbgpmb3VuZF9yb3dzKCR3LCRtKXt9ZnVuY3Rpb24KZm9yZWlnbl9rZXlzKCRlKXskYj1hcnJheSgpO2ZvcmVhY2goZ2V0X3Jvd3MoIkVYRUMgc3BfZmtleXMgQGZrdGFibGVfbmFtZSA9ICIucSgkZSkpYXMkYyl7JFU9JiRiWyRjWyJGS19OQU1FIl1dOyRVWyJ0YWJsZSJdPSRjWyJQS1RBQkxFX05BTUUiXTskVVsic291cmNlIl1bXT0kY1siRktDT0xVTU5fTkFNRSJdOyRVWyJ0YXJnZXQiXVtdPSRjWyJQS0NPTFVNTl9OQU1FIl07fXJldHVybiRiO31mdW5jdGlvbgp0cnVuY2F0ZV90YWJsZXMoJEIpe3JldHVybgphcHBseV9xdWVyaWVzKCJUUlVOQ0FURSBUQUJMRSIsJEIpO31mdW5jdGlvbgpkcm9wX3ZpZXdzKCRkYSl7cmV0dXJuCnF1ZXJpZXMoIkRST1AgVklFVyAiLmltcGxvZGUoIiwgIixhcnJheV9tYXAoJ3RhYmxlJywkZGEpKSk7fWZ1bmN0aW9uCmRyb3BfdGFibGVzKCRCKXtyZXR1cm4KcXVlcmllcygiRFJPUCBUQUJMRSAiLmltcGxvZGUoIiwgIixhcnJheV9tYXAoJ3RhYmxlJywkQikpKTt9ZnVuY3Rpb24KbW92ZV90YWJsZXMoJEIsJGRhLCRXKXtyZXR1cm4KYXBwbHlfcXVlcmllcygiQUxURVIgU0NIRU1BICIuaWRmX2VzY2FwZSgkVykuIiBUUkFOU0ZFUiIsYXJyYXlfbWVyZ2UoJEIsJGRhKSk7fWZ1bmN0aW9uCnRyaWdnZXIoJGYpeyRBPWdldF9yb3dzKCJTRUxFQ1Qgcy5uYW1lIFtUcmlnZ2VyXSwKQ0FTRSBXSEVOIE9CSkVDVFBST1BFUlRZKHMuaWQsICdFeGVjSXNJbnNlcnRUcmlnZ2VyJykgPSAxIFRIRU4gJ0lOU0VSVCcgV0hFTiBPQkpFQ1RQUk9QRVJUWShzLmlkLCAnRXhlY0lzVXBkYXRlVHJpZ2dlcicpID0gMSBUSEVOICdVUERBVEUnIFdIRU4gT0JKRUNUUFJPUEVSVFkocy5pZCwgJ0V4ZWNJc0RlbGV0ZVRyaWdnZXInKSA9IDEgVEhFTiAnREVMRVRFJyBFTkQgW0V2ZW50XSwKQ0FTRSBXSEVOIE9CSkVDVFBST1BFUlRZKHMuaWQsICdFeGVjSXNJbnN0ZWFkT2ZUcmlnZ2VyJykgPSAxIFRIRU4gJ0lOU1RFQUQgT0YnIEVMU0UgJ0FGVEVSJyBFTkQgW1RpbWluZ10sCmMudGV4dApGUk9NIHN5c29iamVjdHMgcwpKT0lOIHN5c2NvbW1lbnRzIGMgT04gcy5pZCA9IGMuaWQKV0hFUkUgcy54dHlwZSA9ICdUUicgQU5EIHMubmFtZSA9ICIucSgkZikpOyRiPXJlc2V0KCRBKTtpZigkYil7JGJbIlN0YXRlbWVudCJdPXByZWdfcmVwbGFjZSgnfl4uK1xccytBU1xccyt+aXNVJywnJywkYlsidGV4dCJdKTt9cmV0dXJuJGI7fWZ1bmN0aW9uCnRyaWdnZXJzKCRlKXskYj1hcnJheSgpO2ZvcmVhY2goZ2V0X3Jvd3MoIlNFTEVDVCBzeXMxLm5hbWUsCkNBU0UgV0hFTiBPQkpFQ1RQUk9QRVJUWShzeXMxLmlkLCAnRXhlY0lzSW5zZXJ0VHJpZ2dlcicpID0gMSBUSEVOICdJTlNFUlQnIFdIRU4gT0JKRUNUUFJPUEVSVFkoc3lzMS5pZCwgJ0V4ZWNJc1VwZGF0ZVRyaWdnZXInKSA9IDEgVEhFTiAnVVBEQVRFJyBXSEVOIE9CSkVDVFBST1BFUlRZKHN5czEuaWQsICdFeGVjSXNEZWxldGVUcmlnZ2VyJykgPSAxIFRIRU4gJ0RFTEVURScgRU5EIFtFdmVudF0sCkNBU0UgV0hFTiBPQkpFQ1RQUk9QRVJUWShzeXMxLmlkLCAnRXhlY0lzSW5zdGVhZE9mVHJpZ2dlcicpID0gMSBUSEVOICdJTlNURUFEIE9GJyBFTFNFICdBRlRFUicgRU5EIFtUaW1pbmddCkZST00gc3lzb2JqZWN0cyBzeXMxCkpPSU4gc3lzb2JqZWN0cyBzeXMyIE9OIHN5czEucGFyZW50X29iaiA9IHN5czIuaWQKV0hFUkUgc3lzMS54dHlwZSA9ICdUUicgQU5EIHN5czIubmFtZSA9ICIucSgkZSkpYXMkYyl7JGJbJGNbIm5hbWUiXV09YXJyYXkoJGNbIlRpbWluZyJdLCRjWyJFdmVudCJdKTt9cmV0dXJuJGI7fWZ1bmN0aW9uCnRyaWdnZXJfb3B0aW9ucygpe3JldHVybgphcnJheSgiVGltaW5nIj0+YXJyYXkoIkFGVEVSIiwiSU5TVEVBRCBPRiIpLCJUeXBlIj0+YXJyYXkoIkFTIiksKTt9ZnVuY3Rpb24Kc2NoZW1hcygpe3JldHVybgpnZXRfdmFscygiU0VMRUNUIG5hbWUgRlJPTSBzeXMuc2NoZW1hcyIpO31mdW5jdGlvbgpnZXRfc2NoZW1hKCl7Z2xvYmFsJGg7aWYoJF9HRVRbIm5zIl0hPSIiKXtyZXR1cm4kX0dFVFsibnMiXTt9cmV0dXJuJGgtPnJlc3VsdCgiU0VMRUNUIFNDSEVNQV9OQU1FKCkiKTt9ZnVuY3Rpb24Kc2V0X3NjaGVtYSgkd2Mpe3JldHVybgp0cnVlO31mdW5jdGlvbgp1c2Vfc3FsKCRRKXtyZXR1cm4iVVNFICIuaWRmX2VzY2FwZSgkUSk7fWZ1bmN0aW9uCnNob3dfdmFyaWFibGVzKCl7cmV0dXJuCmFycmF5KCk7fWZ1bmN0aW9uCnNob3dfc3RhdHVzKCl7cmV0dXJuCmFycmF5KCk7fWZ1bmN0aW9uCnN1cHBvcnQoJFBhKXtyZXR1cm4KZXJlZygnXihzY2hlbWV8dHJpZ2dlcnx2aWV3fGRyb3BfY29sKSQnLCRQYSk7fSR0YT0ibXNzcWwiOyRhYT1hcnJheSgpOyRFYT1hcnJheSgpO2ZvcmVhY2goYXJyYXkobGFuZygxMik9PmFycmF5KCJ0aW55aW50Ij0+Mywic21hbGxpbnQiPT41LCJpbnQiPT4xMCwiYmlnaW50Ij0+MjAsImJpdCI9PjEsImRlY2ltYWwiPT4wLCJyZWFsIj0+MTIsImZsb2F0Ij0+NTMsInNtYWxsbW9uZXkiPT4xMCwibW9uZXkiPT4yMCksbGFuZygxMyk9PmFycmF5KCJkYXRlIj0+MTAsInNtYWxsZGF0ZXRpbWUiPT4xOSwiZGF0ZXRpbWUiPT4xOSwiZGF0ZXRpbWUyIj0+MTksInRpbWUiPT44LCJkYXRldGltZW9mZnNldCI9PjEwKSxsYW5nKDE0KT0+YXJyYXkoImNoYXIiPT44MDAwLCJ2YXJjaGFyIj0+ODAwMCwidGV4dCI9PjIxNDc0ODM2NDcsIm5jaGFyIj0+NDAwMCwibnZhcmNoYXIiPT40MDAwLCJudGV4dCI9PjEwNzM3NDE4MjMpLGxhbmcoMTUpPT5hcnJheSgiYmluYXJ5Ij0+ODAwMCwidmFyYmluYXJ5Ij0+ODAwMCwiaW1hZ2UiPT4yMTQ3NDgzNjQ3KSwpYXMkZD0+JGEpeyRhYSs9JGE7JEVhWyRkXT1hcnJheV9rZXlzKCRhKTt9JEZiPWFycmF5KCk7JHViPWFycmF5KCI9IiwiPCIsIj4iLCI8PSIsIj49IiwiIT0iLCJMSUtFIiwiTElLRSAlJSIsIklOIiwiSVMgTlVMTCIsIk5PVCBMSUtFIiwiTk9UIElOIiwiSVMgTk9UIE5VTEwiLCIiKTskZmE9YXJyYXkoImxlbiIsImxvd2VyIiwicm91bmQiLCJ1cHBlciIpOyRMYj1hcnJheSgiYXZnIiwiY291bnQiLCJjb3VudCBkaXN0aW5jdCIsIm1heCIsIm1pbiIsInN1bSIpOyRKYj1hcnJheShhcnJheSgiZGF0ZXx0aW1lIj0+ImdldGRhdGUiLCksYXJyYXkoImludHxkZWNpbWFsfHJlYWx8ZmxvYXR8bW9uZXl8ZGF0ZXRpbWUiPT4iKy8tIiwiY2hhcnx0ZXh0Ij0+IisiLCkpO30kd2E9YXJyYXkoInNlcnZlciI9PiJNeVNRTCIpKyR3YTtpZighZGVmaW5lZCgiRFJJVkVSIikpeyRJYj1hcnJheSgiTXlTUUxpIiwiTXlTUUwiLCJQRE9fTXlTUUwiKTtkZWZpbmUoIkRSSVZFUiIsInNlcnZlciIpO2lmKGV4dGVuc2lvbl9sb2FkZWQoIm15c3FsaSIpKXtjbGFzcwpNaW5fREIKZXh0ZW5kcwpNeVNRTGl7dmFyJGV4dGVuc2lvbj0iTXlTUUxpIjtmdW5jdGlvbgpNaW5fREIoKXtwYXJlbnQ6OmluaXQoKTt9ZnVuY3Rpb24KY29ubmVjdCgkQywkRiwkSCl7bXlzcWxpX3JlcG9ydChNWVNRTElfUkVQT1JUX09GRik7bGlzdCgkSGQsJE9iKT1leHBsb2RlKCI6IiwkQywyKTskYj1AJHRoaXMtPnJlYWxfY29ubmVjdCgoJEMhPSIiPyRIZDppbmlfZ2V0KCJteXNxbGkuZGVmYXVsdF9ob3N0IikpLCgkQy4kRiE9IiI/JEY6aW5pX2dldCgibXlzcWxpLmRlZmF1bHRfdXNlciIpKSwoJEMuJEYuJEghPSIiPyRIOmluaV9nZXQoIm15c3FsaS5kZWZhdWx0X3B3IikpLG51bGwsKGlzX251bWVyaWMoJE9iKT8kT2I6aW5pX2dldCgibXlzcWxpLmRlZmF1bHRfcG9ydCIpKSwoIWlzX251bWVyaWMoJE9iKT8kT2I6bnVsbCkpO2lmKCRiKXtpZihtZXRob2RfZXhpc3RzKCR0aGlzLCdzZXRfY2hhcnNldCcpKXskdGhpcy0+c2V0X2NoYXJzZXQoInV0ZjgiKTt9ZWxzZXskdGhpcy0+cXVlcnkoIlNFVCBOQU1FUyB1dGY4Iik7fX1yZXR1cm4kYjt9ZnVuY3Rpb24KcmVzdWx0KCRqLCRnPTApeyRpPSR0aGlzLT5xdWVyeSgkaik7aWYoISRpKXtyZXR1cm4KZmFsc2U7fSRjPSRpLT5mZXRjaF9hcnJheSgpO3JldHVybiRjWyRnXTt9ZnVuY3Rpb24KcXVvdGUoJHope3JldHVybiInIi4kdGhpcy0+ZXNjYXBlX3N0cmluZygkeikuIiciO319fWVsc2VpZihleHRlbnNpb25fbG9hZGVkKCJteXNxbCIpKXtjbGFzcwpNaW5fREJ7dmFyJGV4dGVuc2lvbj0iTXlTUUwiLCRzZXJ2ZXJfaW5mbywkYWZmZWN0ZWRfcm93cywkZXJyb3IsJF9saW5rLCRfcmVzdWx0O2Z1bmN0aW9uCmNvbm5lY3QoJEMsJEYsJEgpeyR0aGlzLT5fbGluaz1AbXlzcWxfY29ubmVjdCgoJEMhPSIiPyRDOmluaV9nZXQoIm15c3FsLmRlZmF1bHRfaG9zdCIpKSwoIiRDJEYiIT0iIj8kRjppbmlfZ2V0KCJteXNxbC5kZWZhdWx0X3VzZXIiKSksKCIkQyRGJEgiIT0iIj8kSDppbmlfZ2V0KCJteXNxbC5kZWZhdWx0X3Bhc3N3b3JkIikpLHRydWUsMTMxMDcyKTtpZigkdGhpcy0+X2xpbmspeyR0aGlzLT5zZXJ2ZXJfaW5mbz1teXNxbF9nZXRfc2VydmVyX2luZm8oJHRoaXMtPl9saW5rKTtpZihmdW5jdGlvbl9leGlzdHMoJ215c3FsX3NldF9jaGFyc2V0Jykpe215c3FsX3NldF9jaGFyc2V0KCJ1dGY4IiwkdGhpcy0+X2xpbmspO31lbHNleyR0aGlzLT5xdWVyeSgiU0VUIE5BTUVTIHV0ZjgiKTt9fWVsc2V7JHRoaXMtPmVycm9yPW15c3FsX2Vycm9yKCk7fXJldHVybihib29sKSR0aGlzLT5fbGluazt9ZnVuY3Rpb24KcXVvdGUoJHope3JldHVybiInIi5teXNxbF9yZWFsX2VzY2FwZV9zdHJpbmcoJHosJHRoaXMtPl9saW5rKS4iJyI7fWZ1bmN0aW9uCnNlbGVjdF9kYigkUSl7cmV0dXJuCm15c3FsX3NlbGVjdF9kYigkUSwkdGhpcy0+X2xpbmspO31mdW5jdGlvbgpxdWVyeSgkaiwkQ2E9ZmFsc2UpeyRpPUAoJENhP215c3FsX3VuYnVmZmVyZWRfcXVlcnkoJGosJHRoaXMtPl9saW5rKTpteXNxbF9xdWVyeSgkaiwkdGhpcy0+X2xpbmspKTtpZighJGkpeyR0aGlzLT5lcnJvcj1teXNxbF9lcnJvcigkdGhpcy0+X2xpbmspO3JldHVybgpmYWxzZTt9aWYoJGk9PT10cnVlKXskdGhpcy0+YWZmZWN0ZWRfcm93cz1teXNxbF9hZmZlY3RlZF9yb3dzKCR0aGlzLT5fbGluayk7JHRoaXMtPmluZm89bXlzcWxfaW5mbygkdGhpcy0+X2xpbmspO3JldHVybgp0cnVlO31yZXR1cm4KbmV3Ck1pbl9SZXN1bHQoJGkpO31mdW5jdGlvbgptdWx0aV9xdWVyeSgkail7cmV0dXJuJHRoaXMtPl9yZXN1bHQ9JHRoaXMtPnF1ZXJ5KCRqKTt9ZnVuY3Rpb24Kc3RvcmVfcmVzdWx0KCl7cmV0dXJuJHRoaXMtPl9yZXN1bHQ7fWZ1bmN0aW9uCm5leHRfcmVzdWx0KCl7cmV0dXJuCmZhbHNlO31mdW5jdGlvbgpyZXN1bHQoJGosJGc9MCl7JGk9JHRoaXMtPnF1ZXJ5KCRqKTtpZighJGl8fCEkaS0+bnVtX3Jvd3Mpe3JldHVybgpmYWxzZTt9cmV0dXJuCm15c3FsX3Jlc3VsdCgkaS0+X3Jlc3VsdCwwLCRnKTt9fWNsYXNzCk1pbl9SZXN1bHR7dmFyJG51bV9yb3dzLCRfcmVzdWx0LCRfb2Zmc2V0PTA7ZnVuY3Rpb24KTWluX1Jlc3VsdCgkaSl7JHRoaXMtPl9yZXN1bHQ9JGk7JHRoaXMtPm51bV9yb3dzPW15c3FsX251bV9yb3dzKCRpKTt9ZnVuY3Rpb24KZmV0Y2hfYXNzb2MoKXtyZXR1cm4KbXlzcWxfZmV0Y2hfYXNzb2MoJHRoaXMtPl9yZXN1bHQpO31mdW5jdGlvbgpmZXRjaF9yb3coKXtyZXR1cm4KbXlzcWxfZmV0Y2hfcm93KCR0aGlzLT5fcmVzdWx0KTt9ZnVuY3Rpb24KZmV0Y2hfZmllbGQoKXskYj1teXNxbF9mZXRjaF9maWVsZCgkdGhpcy0+X3Jlc3VsdCwkdGhpcy0+X29mZnNldCsrKTskYi0+b3JndGFibGU9JGItPnRhYmxlOyRiLT5vcmduYW1lPSRiLT5uYW1lOyRiLT5jaGFyc2V0bnI9KCRiLT5ibG9iPzYzOjApO3JldHVybiRiO31mdW5jdGlvbgpfX2Rlc3RydWN0KCl7bXlzcWxfZnJlZV9yZXN1bHQoJHRoaXMtPl9yZXN1bHQpO319fWVsc2VpZihleHRlbnNpb25fbG9hZGVkKCJwZG9fbXlzcWwiKSl7Y2xhc3MKTWluX0RCCmV4dGVuZHMKTWluX1BET3t2YXIkZXh0ZW5zaW9uPSJQRE9fTXlTUUwiO2Z1bmN0aW9uCmNvbm5lY3QoJEMsJEYsJEgpeyR0aGlzLT5kc24oIm15c3FsOmhvc3Q9Ii5zdHJfcmVwbGFjZSgiOiIsIjt1bml4X3NvY2tldD0iLHByZWdfcmVwbGFjZSgnfjooXFxkKX4nLCc7cG9ydD1cXDEnLCRDKSksJEYsJEgpOyR0aGlzLT5xdWVyeSgiU0VUIE5BTUVTIHV0ZjgiKTtyZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24Kc2VsZWN0X2RiKCRRKXtyZXR1cm4kdGhpcy0+cXVlcnkoIlVTRSAiLmlkZl9lc2NhcGUoJFEpKTt9ZnVuY3Rpb24KcXVlcnkoJGosJENhPWZhbHNlKXskdGhpcy0+c2V0QXR0cmlidXRlKDEwMDAsISRDYSk7cmV0dXJuCnBhcmVudDo6cXVlcnkoJGosJENhKTt9fX1mdW5jdGlvbgppZGZfZXNjYXBlKCRFKXtyZXR1cm4iYCIuc3RyX3JlcGxhY2UoImAiLCJgYCIsJEUpLiJgIjt9ZnVuY3Rpb24KdGFibGUoJEUpe3JldHVybgppZGZfZXNjYXBlKCRFKTt9ZnVuY3Rpb24KY29ubmVjdCgpe2dsb2JhbCRsOyRoPW5ldwpNaW5fREI7JG5hPSRsLT5jcmVkZW50aWFscygpO2lmKCRoLT5jb25uZWN0KCRuYVswXSwkbmFbMV0sJG5hWzJdKSl7JGgtPnF1ZXJ5KCJTRVQgc3FsX3F1b3RlX3Nob3dfY3JlYXRlID0gMSIpO3JldHVybiRoO31yZXR1cm4kaC0+ZXJyb3I7fWZ1bmN0aW9uCmdldF9kYXRhYmFzZXMoJEpkPXRydWUpe2dsb2JhbCRoOyRiPSZnZXRfc2Vzc2lvbigiZGJzIik7aWYoIWlzc2V0KCRiKSl7aWYoJEpkKXtyZXN0YXJ0X3Nlc3Npb24oKTtvYl9mbHVzaCgpO2ZsdXNoKCk7fSRiPWdldF92YWxzKCRoLT5zZXJ2ZXJfaW5mbz49NT8iU0VMRUNUIFNDSEVNQV9OQU1FIEZST00gaW5mb3JtYXRpb25fc2NoZW1hLlNDSEVNQVRBIjoiU0hPVyBEQVRBQkFTRVMiKTt9cmV0dXJuJGI7fWZ1bmN0aW9uCmxpbWl0KCRqLCRtLCRfLCRYPTAsJHFhPSIgIil7cmV0dXJuIiAkaiRtIi4oaXNzZXQoJF8pPyRxYS4iTElNSVQgJF8iLigkWD8iIE9GRlNFVCAkWCI6IiIpOiIiKTt9ZnVuY3Rpb24KbGltaXQxKCRqLCRtKXtyZXR1cm4KbGltaXQoJGosJG0sMSk7fWZ1bmN0aW9uCmRiX2NvbGxhdGlvbigkdiwkSGIpe2dsb2JhbCRoOyRiPW51bGw7JFFhPSRoLT5yZXN1bHQoIlNIT1cgQ1JFQVRFIERBVEFCQVNFICIuaWRmX2VzY2FwZSgkdiksMSk7aWYocHJlZ19tYXRjaCgnfiBDT0xMQVRFIChbXiBdKyl+JywkUWEsJGspKXskYj0ka1sxXTt9ZWxzZWlmKHByZWdfbWF0Y2goJ34gQ0hBUkFDVEVSIFNFVCAoW14gXSspficsJFFhLCRrKSl7JGI9JEhiWyRrWzFdXVstMV07fXJldHVybiRiO31mdW5jdGlvbgplbmdpbmVzKCl7JGI9YXJyYXkoKTtmb3JlYWNoKGdldF9yb3dzKCJTSE9XIEVOR0lORVMiKWFzJGMpe2lmKGVyZWcoIllFU3xERUZBVUxUIiwkY1siU3VwcG9ydCJdKSl7JGJbXT0kY1siRW5naW5lIl07fX1yZXR1cm4kYjt9ZnVuY3Rpb24KbG9nZ2VkX3VzZXIoKXtnbG9iYWwkaDtyZXR1cm4kaC0+cmVzdWx0KCJTRUxFQ1QgVVNFUigpIik7fWZ1bmN0aW9uCnRhYmxlc19saXN0KCl7Z2xvYmFsJGg7cmV0dXJuCmdldF9rZXlfdmFscygiU0hPVyIuKCRoLT5zZXJ2ZXJfaW5mbz49NT8iIEZVTEwiOiIiKS4iIFRBQkxFUyIpO31mdW5jdGlvbgpjb3VudF90YWJsZXMoJFApeyRiPWFycmF5KCk7Zm9yZWFjaCgkUAphcyR2KXskYlskdl09Y291bnQoZ2V0X3ZhbHMoIlNIT1cgVEFCTEVTIElOICIuaWRmX2VzY2FwZSgkdikpKTt9cmV0dXJuJGI7fWZ1bmN0aW9uCnRhYmxlX3N0YXR1cygkZj0iIil7JGI9YXJyYXkoKTtmb3JlYWNoKGdldF9yb3dzKCJTSE9XIFRBQkxFIFNUQVRVUyIuKCRmIT0iIj8iIExJS0UgIi5xKGFkZGNzbGFzaGVzKCRmLCIlXyIpKToiIikpYXMkYyl7aWYoJGNbIkVuZ2luZSJdPT0iSW5ub0RCIil7JGNbIkNvbW1lbnQiXT1wcmVnX3JlcGxhY2UoJ34oPzooLispOyApP0lubm9EQiBmcmVlOiAuKn4nLCdcXDEnLCRjWyJDb21tZW50Il0pO31pZighaXNzZXQoJGNbIlJvd3MiXSkpeyRjWyJDb21tZW50Il09IiI7fWlmKCRmIT0iIil7cmV0dXJuJGM7fSRiWyRjWyJOYW1lIl1dPSRjO31yZXR1cm4kYjt9ZnVuY3Rpb24KaXNfdmlldygkdyl7cmV0dXJuIWlzc2V0KCR3WyJSb3dzIl0pO31mdW5jdGlvbgpma19zdXBwb3J0KCR3KXtyZXR1cm4KZXJlZ2koIklubm9EQnxJQk1EQjJJIiwkd1siRW5naW5lIl0pO31mdW5jdGlvbgpmaWVsZHMoJGUpeyRiPWFycmF5KCk7Zm9yZWFjaChnZXRfcm93cygiU0hPVyBGVUxMIENPTFVNTlMgRlJPTSAiLnRhYmxlKCRlKSlhcyRjKXtwcmVnX21hdGNoKCd+XihbXiggXSspKD86XFwoKC4rKVxcKSk/KCB1bnNpZ25lZCk/KCB6ZXJvZmlsbCk/JH4nLCRjWyJUeXBlIl0sJGspOyRiWyRjWyJGaWVsZCJdXT1hcnJheSgiZmllbGQiPT4kY1siRmllbGQiXSwiZnVsbF90eXBlIj0+JGNbIlR5cGUiXSwidHlwZSI9PiRrWzFdLCJsZW5ndGgiPT4ka1syXSwidW5zaWduZWQiPT5sdHJpbSgka1szXS4ka1s0XSksImRlZmF1bHQiPT4oJGNbIkRlZmF1bHQiXSE9IiJ8fGVyZWcoImNoYXIiLCRrWzFdKT8kY1siRGVmYXVsdCJdOm51bGwpLCJudWxsIj0+KCRjWyJOdWxsIl09PSJZRVMiKSwiYXV0b19pbmNyZW1lbnQiPT4oJGNbIkV4dHJhIl09PSJhdXRvX2luY3JlbWVudCIpLCJvbl91cGRhdGUiPT4oZXJlZ2koJ15vbiB1cGRhdGUgKC4rKScsJGNbIkV4dHJhIl0sJGspPyRrWzFdOiIiKSwiY29sbGF0aW9uIj0+JGNbIkNvbGxhdGlvbiJdLCJwcml2aWxlZ2VzIj0+YXJyYXlfZmxpcChleHBsb2RlKCIsIiwkY1siUHJpdmlsZWdlcyJdKSksImNvbW1lbnQiPT4kY1siQ29tbWVudCJdLCJwcmltYXJ5Ij0+KCRjWyJLZXkiXT09IlBSSSIpLCk7fXJldHVybiRiO31mdW5jdGlvbgppbmRleGVzKCRlLCRTPW51bGwpeyRiPWFycmF5KCk7Zm9yZWFjaChnZXRfcm93cygiU0hPVyBJTkRFWCBGUk9NICIudGFibGUoJGUpLCRTKWFzJGMpeyRiWyRjWyJLZXlfbmFtZSJdXVsidHlwZSJdPSgkY1siS2V5X25hbWUiXT09IlBSSU1BUlkiPyJQUklNQVJZIjooJGNbIkluZGV4X3R5cGUiXT09IkZVTExURVhUIj8iRlVMTFRFWFQiOigkY1siTm9uX3VuaXF1ZSJdPyJJTkRFWCI6IlVOSVFVRSIpKSk7JGJbJGNbIktleV9uYW1lIl1dWyJjb2x1bW5zIl1bXT0kY1siQ29sdW1uX25hbWUiXTskYlskY1siS2V5X25hbWUiXV1bImxlbmd0aHMiXVtdPSRjWyJTdWJfcGFydCJdO31yZXR1cm4kYjt9ZnVuY3Rpb24KZm9yZWlnbl9rZXlzKCRlKXtnbG9iYWwkaCwkWmE7c3RhdGljJFY9J2AoPzpbXmBdfGBgKStgJzskYj1hcnJheSgpOyRqZD0kaC0+cmVzdWx0KCJTSE9XIENSRUFURSBUQUJMRSAiLnRhYmxlKCRlKSwxKTtpZigkamQpe3ByZWdfbWF0Y2hfYWxsKCJ+Q09OU1RSQUlOVCAoJFYpIEZPUkVJR04gS0VZIFxcKCgoPzokViw/ID8pKylcXCkgUkVGRVJFTkNFUyAoJFYpKD86XFwuKCRWKSk/IFxcKCgoPzokViw/ID8pKylcXCkoPzogT04gREVMRVRFICgkWmEpKT8oPzogT04gVVBEQVRFICgkWmEpKT9+IiwkamQsJGdhLFBSRUdfU0VUX09SREVSKTtmb3JlYWNoKCRnYQphcyRrKXtwcmVnX21hdGNoX2FsbCgifiRWfiIsJGtbMl0sJHZjKTtwcmVnX21hdGNoX2FsbCgifiRWfiIsJGtbNV0sJFcpOyRiW2lkZl91bmVzY2FwZSgka1sxXSldPWFycmF5KCJkYiI9PmlkZl91bmVzY2FwZSgka1s0XSE9IiI/JGtbM106JGtbNF0pLCJ0YWJsZSI9PmlkZl91bmVzY2FwZSgka1s0XSE9IiI/JGtbNF06JGtbM10pLCJzb3VyY2UiPT5hcnJheV9tYXAoJ2lkZl91bmVzY2FwZScsJHZjWzBdKSwidGFyZ2V0Ij0+YXJyYXlfbWFwKCdpZGZfdW5lc2NhcGUnLCRXWzBdKSwib25fZGVsZXRlIj0+JGtbNl0sIm9uX3VwZGF0ZSI9PiRrWzddLCk7fX1yZXR1cm4kYjt9ZnVuY3Rpb24KdmlldygkZil7Z2xvYmFsJGg7cmV0dXJuCmFycmF5KCJzZWxlY3QiPT5wcmVnX3JlcGxhY2UoJ35eKD86W15gXXxgW15gXSpgKSpcXHMrQVNcXHMrfmlzVScsJycsJGgtPnJlc3VsdCgiU0hPVyBDUkVBVEUgVklFVyAiLnRhYmxlKCRmKSwxKSkpO31mdW5jdGlvbgpjb2xsYXRpb25zKCl7JGI9YXJyYXkoKTtmb3JlYWNoKGdldF9yb3dzKCJTSE9XIENPTExBVElPTiIpYXMkYyl7aWYoJGNbIkRlZmF1bHQiXSl7JGJbJGNbIkNoYXJzZXQiXV1bLTFdPSRjWyJDb2xsYXRpb24iXTt9ZWxzZXskYlskY1siQ2hhcnNldCJdXVtdPSRjWyJDb2xsYXRpb24iXTt9fWtzb3J0KCRiKTtmb3JlYWNoKCRiCmFzJGQ9PiRhKXthc29ydCgkYlskZF0pO31yZXR1cm4kYjt9ZnVuY3Rpb24KaW5mb3JtYXRpb25fc2NoZW1hKCR2KXtnbG9iYWwkaDtyZXR1cm4oJGgtPnNlcnZlcl9pbmZvPj01JiYkdj09ImluZm9ybWF0aW9uX3NjaGVtYSIpO31mdW5jdGlvbgplcnJvcigpe2dsb2JhbCRoO3JldHVybgpoKHByZWdfcmVwbGFjZSgnfl5Zb3UgaGF2ZSBhbiBlcnJvci4qc3ludGF4IHRvIHVzZX5VJywiU3ludGF4IGVycm9yIiwkaC0+ZXJyb3IpKTt9ZnVuY3Rpb24KZXhhY3RfdmFsdWUoJGEpe3JldHVybgpxKCRhKS4iIENPTExBVEUgdXRmOF9iaW4iO31mdW5jdGlvbgpjcmVhdGVfZGF0YWJhc2UoJHYsJEkpe3NldF9zZXNzaW9uKCJkYnMiLG51bGwpO3JldHVybgpxdWVyaWVzKCJDUkVBVEUgREFUQUJBU0UgIi5pZGZfZXNjYXBlKCR2KS4oJEk/IiBDT0xMQVRFICIucSgkSSk6IiIpKTt9ZnVuY3Rpb24KZHJvcF9kYXRhYmFzZXMoJFApe3NldF9zZXNzaW9uKCJkYnMiLG51bGwpO3JldHVybgphcHBseV9xdWVyaWVzKCJEUk9QIERBVEFCQVNFIiwkUCwnaWRmX2VzY2FwZScpO31mdW5jdGlvbgpyZW5hbWVfZGF0YWJhc2UoJGYsJEkpe2lmKGNyZWF0ZV9kYXRhYmFzZSgkZiwkSSkpeyRmYj1hcnJheSgpO2ZvcmVhY2godGFibGVzX2xpc3QoKWFzJGU9PiREKXskZmJbXT10YWJsZSgkZSkuIiBUTyAiLmlkZl9lc2NhcGUoJGYpLiIuIi50YWJsZSgkZSk7fWlmKCEkZmJ8fHF1ZXJpZXMoIlJFTkFNRSBUQUJMRSAiLmltcGxvZGUoIiwgIiwkZmIpKSl7cXVlcmllcygiRFJPUCBEQVRBQkFTRSAiLmlkZl9lc2NhcGUoREIpKTtyZXR1cm4KdHJ1ZTt9fXJldHVybgpmYWxzZTt9ZnVuY3Rpb24KYXV0b19pbmNyZW1lbnQoKXskbGM9IiBQUklNQVJZIEtFWSI7aWYoJF9HRVRbImNyZWF0ZSJdIT0iIiYmJF9QT1NUWyJhdXRvX2luY3JlbWVudF9jb2wiXSl7Zm9yZWFjaChpbmRleGVzKCRfR0VUWyJjcmVhdGUiXSlhcyRjYSl7aWYoaW5fYXJyYXkoJF9QT1NUWyJmaWVsZHMiXVskX1BPU1RbImF1dG9faW5jcmVtZW50X2NvbCJdXVsib3JpZyJdLCRjYVsiY29sdW1ucyJdLHRydWUpKXskbGM9IiI7YnJlYWs7fWlmKCRjYVsidHlwZSJdPT0iUFJJTUFSWSIpeyRsYz0iIFVOSVFVRSI7fX19cmV0dXJuIiBBVVRPX0lOQ1JFTUVOVCRsYyI7fWZ1bmN0aW9uCmFsdGVyX3RhYmxlKCRlLCRmLCR0LCRJYSwkZGIsJGViLCRJLCRBYSwkc2IpeyRyPWFycmF5KCk7Zm9yZWFjaCgkdAphcyRnKXskcltdPSgkZ1sxXT8oJGUhPSIiPygkZ1swXSE9IiI/IkNIQU5HRSAiLmlkZl9lc2NhcGUoJGdbMF0pOiJBREQiKToiICIpLiIgIi5pbXBsb2RlKCRnWzFdKS4oJGUhPSIiPyIgJGdbMl0iOiIiKToiRFJPUCAiLmlkZl9lc2NhcGUoJGdbMF0pKTt9JHI9YXJyYXlfbWVyZ2UoJHIsJElhKTska2Q9IkNPTU1FTlQ9Ii5xKCRkYikuKCRlYj8iIEVOR0lORT0iLnEoJGViKToiIikuKCRJPyIgQ09MTEFURSAiLnEoJEkpOiIiKS4oJEFhIT0iIj8iIEFVVE9fSU5DUkVNRU5UPSRBYSI6IiIpLiRzYjtpZigkZT09IiIpe3JldHVybgpxdWVyaWVzKCJDUkVBVEUgVEFCTEUgIi50YWJsZSgkZikuIiAoXG4iLmltcGxvZGUoIixcbiIsJHIpLiJcbikgJGtkIik7fWlmKCRlIT0kZil7JHJbXT0iUkVOQU1FIFRPICIudGFibGUoJGYpO30kcltdPSRrZDtyZXR1cm4KcXVlcmllcygiQUxURVIgVEFCTEUgIi50YWJsZSgkZSkuIlxuIi5pbXBsb2RlKCIsXG4iLCRyKSk7fWZ1bmN0aW9uCmFsdGVyX2luZGV4ZXMoJGUsJHIpe2ZvcmVhY2goJHIKYXMkZD0+JGEpeyRyWyRkXT0oJGFbMl09PSJEUk9QIj8iXG5EUk9QIElOREVYICIuaWRmX2VzY2FwZSgkYVsxXSk6IlxuQUREICRhWzBdICIuKCRhWzBdPT0iUFJJTUFSWSI/IktFWSAiOiIiKS4oJGFbMV0hPSIiP2lkZl9lc2NhcGUoJGFbMV0pLiIgIjoiIikuJGFbMl0pO31yZXR1cm4KcXVlcmllcygiQUxURVIgVEFCTEUgIi50YWJsZSgkZSkuaW1wbG9kZSgiLCIsJHIpKTt9ZnVuY3Rpb24KdHJ1bmNhdGVfdGFibGVzKCRCKXtyZXR1cm4KYXBwbHlfcXVlcmllcygiVFJVTkNBVEUgVEFCTEUiLCRCKTt9ZnVuY3Rpb24KZHJvcF92aWV3cygkZGEpe3JldHVybgpxdWVyaWVzKCJEUk9QIFZJRVcgIi5pbXBsb2RlKCIsICIsYXJyYXlfbWFwKCd0YWJsZScsJGRhKSkpO31mdW5jdGlvbgpkcm9wX3RhYmxlcygkQil7cmV0dXJuCnF1ZXJpZXMoIkRST1AgVEFCTEUgIi5pbXBsb2RlKCIsICIsYXJyYXlfbWFwKCd0YWJsZScsJEIpKSk7fWZ1bmN0aW9uCm1vdmVfdGFibGVzKCRCLCRkYSwkVyl7JGZiPWFycmF5KCk7Zm9yZWFjaChhcnJheV9tZXJnZSgkQiwkZGEpYXMkZSl7JGZiW109dGFibGUoJGUpLiIgVE8gIi5pZGZfZXNjYXBlKCRXKS4iLiIudGFibGUoJGUpO31yZXR1cm4KcXVlcmllcygiUkVOQU1FIFRBQkxFICIuaW1wbG9kZSgiLCAiLCRmYikpO31mdW5jdGlvbgpjb3B5X3RhYmxlcygkQiwkZGEsJFcpe3F1ZXJpZXMoIlNFVCBzcWxfbW9kZSA9ICdOT19BVVRPX1ZBTFVFX09OX1pFUk8nIik7Zm9yZWFjaCgkQgphcyRlKXskZj0oJFc9PURCP3RhYmxlKCJjb3B5XyRlIik6aWRmX2VzY2FwZSgkVykuIi4iLnRhYmxlKCRlKSk7aWYoIXF1ZXJpZXMoIkRST1AgVEFCTEUgSUYgRVhJU1RTICRmIil8fCFxdWVyaWVzKCJDUkVBVEUgVEFCTEUgJGYgTElLRSAiLnRhYmxlKCRlKSl8fCFxdWVyaWVzKCJJTlNFUlQgSU5UTyAkZiBTRUxFQ1QgKiBGUk9NICIudGFibGUoJGUpKSl7cmV0dXJuCmZhbHNlO319Zm9yZWFjaCgkZGEKYXMkZSl7JGY9KCRXPT1EQj90YWJsZSgiY29weV8kZSIpOmlkZl9lc2NhcGUoJFcpLiIuIi50YWJsZSgkZSkpOyRJZD12aWV3KCRlKTtpZighcXVlcmllcygiRFJPUCBWSUVXIElGIEVYSVNUUyAkZiIpfHwhcXVlcmllcygiQ1JFQVRFIFZJRVcgJGYgQVMgJElkW3NlbGVjdF0iKSl7cmV0dXJuCmZhbHNlO319cmV0dXJuCnRydWU7fWZ1bmN0aW9uCnRyaWdnZXIoJGYpeyRBPWdldF9yb3dzKCJTSE9XIFRSSUdHRVJTIFdIRVJFIGBUcmlnZ2VyYCA9ICIucSgkZikpO3JldHVybgpyZXNldCgkQSk7fWZ1bmN0aW9uCnRyaWdnZXJzKCRlKXskYj1hcnJheSgpO2ZvcmVhY2goZ2V0X3Jvd3MoIlNIT1cgVFJJR0dFUlMgTElLRSAiLnEoYWRkY3NsYXNoZXMoJGUsIiVfIikpKWFzJGMpeyRiWyRjWyJUcmlnZ2VyIl1dPWFycmF5KCRjWyJUaW1pbmciXSwkY1siRXZlbnQiXSk7fXJldHVybiRiO31mdW5jdGlvbgp0cmlnZ2VyX29wdGlvbnMoKXtyZXR1cm4KYXJyYXkoIlRpbWluZyI9PmFycmF5KCJCRUZPUkUiLCJBRlRFUiIpLCJUeXBlIj0+YXJyYXkoIkZPUiBFQUNIIFJPVyIpLCk7fWZ1bmN0aW9uCnJvdXRpbmUoJGYsJEQpe2dsb2JhbCRoLCRCYywkc2QsJGFhOyRUZD1hcnJheSgiYm9vbCIsImJvb2xlYW4iLCJpbnRlZ2VyIiwiZG91YmxlIHByZWNpc2lvbiIsInJlYWwiLCJkZWMiLCJudW1lcmljIiwiZml4ZWQiLCJuYXRpb25hbCBjaGFyIiwibmF0aW9uYWwgdmFyY2hhciIpOyRoZD0iKCgiLmltcGxvZGUoInwiLGFycmF5X21lcmdlKGFycmF5X2tleXMoJGFhKSwkVGQpKS4iKSg/OlxccypcXCgoKD86W14nXCIpXSp8JEJjKSspXFwpKT9cXHMqKHplcm9maWxsXFxzKik/KHVuc2lnbmVkKD86XFxzK3plcm9maWxsKT8pPykoPzpcXHMqKD86Q0hBUlNFVHxDSEFSQUNURVJcXHMrU0VUKVxccypbJ1wiXT8oW14nXCJcXHNdKylbJ1wiXT8pPyI7JFY9IlxccyooIi4oJEQ9PSJGVU5DVElPTiI/IiI6JHNkKS4iKT9cXHMqKD86YCgoPzpbXmBdfGBgKSopYFxccyp8XFxiKFxcUyspXFxzKykkaGQiOyRRYT0kaC0+cmVzdWx0KCJTSE9XIENSRUFURSAkRCAiLmlkZl9lc2NhcGUoJGYpLDIpO3ByZWdfbWF0Y2goIn5cXCgoKD86JFZcXHMqLD8pKilcXCkiLigkRD09IkZVTkNUSU9OIj8iXFxzKlJFVFVSTlNcXHMrJGhkIjoiIikuIlxccyooLiopfmlzIiwkUWEsJGspOyR0PWFycmF5KCk7cHJlZ19tYXRjaF9hbGwoIn4kVlxccyosP35pcyIsJGtbMV0sJGdhLFBSRUdfU0VUX09SREVSKTtmb3JlYWNoKCRnYQphcyRGYSl7JGY9c3RyX3JlcGxhY2UoImBgIiwiYCIsJEZhWzJdKS4kRmFbM107JHRbXT1hcnJheSgiZmllbGQiPT4kZiwidHlwZSI9PnN0cnRvbG93ZXIoJEZhWzVdKSwibGVuZ3RoIj0+cHJlZ19yZXBsYWNlX2NhbGxiYWNrKCJ+JEJjfnMiLCdub3JtYWxpemVfZW51bScsJEZhWzZdKSwidW5zaWduZWQiPT5zdHJ0b2xvd2VyKHByZWdfcmVwbGFjZSgnflxccyt+JywnICcsdHJpbSgiJEZhWzhdICRGYVs3XSIpKSksImZ1bGxfdHlwZSI9PiRGYVs0XSwiaW5vdXQiPT5zdHJ0b3VwcGVyKCRGYVsxXSksImNvbGxhdGlvbiI9PnN0cnRvbG93ZXIoJEZhWzldKSwpO31pZigkRCE9IkZVTkNUSU9OIil7cmV0dXJuCmFycmF5KCJmaWVsZHMiPT4kdCwiZGVmaW5pdGlvbiI9PiRrWzExXSk7fXJldHVybgphcnJheSgiZmllbGRzIj0+JHQsInJldHVybnMiPT5hcnJheSgidHlwZSI9PiRrWzEyXSwibGVuZ3RoIj0+JGtbMTNdLCJ1bnNpZ25lZCI9PiRrWzE1XSwiY29sbGF0aW9uIj0+JGtbMTZdKSwiZGVmaW5pdGlvbiI9PiRrWzE3XSwibGFuZ3VhZ2UiPT4iU1FMIiwpO31mdW5jdGlvbgpyb3V0aW5lcygpe3JldHVybgpnZXRfcm93cygiU0VMRUNUICogRlJPTSBpbmZvcm1hdGlvbl9zY2hlbWEuUk9VVElORVMgV0hFUkUgUk9VVElORV9TQ0hFTUEgPSAiLnEoREIpKTt9ZnVuY3Rpb24Kcm91dGluZV9sYW5ndWFnZXMoKXtyZXR1cm4KYXJyYXkoKTt9ZnVuY3Rpb24KYmVnaW4oKXtyZXR1cm4KcXVlcmllcygiQkVHSU4iKTt9ZnVuY3Rpb24KaW5zZXJ0X2ludG8oJGUsJG8pe3JldHVybgpxdWVyaWVzKCJJTlNFUlQgSU5UTyAiLnRhYmxlKCRlKS4iICgiLmltcGxvZGUoIiwgIixhcnJheV9rZXlzKCRvKSkuIilcblZBTFVFUyAoIi5pbXBsb2RlKCIsICIsJG8pLiIpIik7fWZ1bmN0aW9uCmluc2VydF91cGRhdGUoJGUsJG8sJHlhKXtmb3JlYWNoKCRvCmFzJGQ9PiRhKXskb1skZF09IiRkID0gJGEiO30kWT1pbXBsb2RlKCIsICIsJG8pO3JldHVybgpxdWVyaWVzKCJJTlNFUlQgSU5UTyAiLnRhYmxlKCRlKS4iIFNFVCAkWSBPTiBEVVBMSUNBVEUgS0VZIFVQREFURSAkWSIpO31mdW5jdGlvbgpsYXN0X2lkKCl7Z2xvYmFsJGg7cmV0dXJuJGgtPnJlc3VsdCgiU0VMRUNUIExBU1RfSU5TRVJUX0lEKCkiKTt9ZnVuY3Rpb24KZXhwbGFpbigkaCwkail7cmV0dXJuJGgtPnF1ZXJ5KCJFWFBMQUlOICRqIik7fWZ1bmN0aW9uCmZvdW5kX3Jvd3MoJHcsJG0pe3JldHVybigkbXx8JHdbIkVuZ2luZSJdIT0iSW5ub0RCIj9udWxsOiR3WyJSb3dzIl0pO31mdW5jdGlvbgp0eXBlcygpe3JldHVybgphcnJheSgpO31mdW5jdGlvbgpzY2hlbWFzKCl7cmV0dXJuCmFycmF5KCk7fWZ1bmN0aW9uCmdldF9zY2hlbWEoKXtyZXR1cm4iIjt9ZnVuY3Rpb24Kc2V0X3NjaGVtYSgkd2Mpe3JldHVybgp0cnVlO31mdW5jdGlvbgpjcmVhdGVfc3FsKCRlLCRBYSl7Z2xvYmFsJGg7JGI9JGgtPnJlc3VsdCgiU0hPVyBDUkVBVEUgVEFCTEUgIi50YWJsZSgkZSksMSk7aWYoISRBYSl7JGI9cHJlZ19yZXBsYWNlKCd+IEFVVE9fSU5DUkVNRU5UPVxcZCt+JywnJywkYik7fXJldHVybiRiO31mdW5jdGlvbgp0cnVuY2F0ZV9zcWwoJGUpe3JldHVybiJUUlVOQ0FURSAiLnRhYmxlKCRlKTt9ZnVuY3Rpb24KdXNlX3NxbCgkUSl7cmV0dXJuIlVTRSAiLmlkZl9lc2NhcGUoJFEpO31mdW5jdGlvbgp0cmlnZ2VyX3NxbCgkZSwkdGIpeyRiPSIiO2ZvcmVhY2goZ2V0X3Jvd3MoIlNIT1cgVFJJR0dFUlMgTElLRSAiLnEoYWRkY3NsYXNoZXMoJGUsIiVfIikpLG51bGwsIi0tICIpYXMkYyl7JGIuPSJcbiIuKCR0Yj09J0NSRUFURStBTFRFUic/IkRST1AgVFJJR0dFUiBJRiBFWElTVFMgIi5pZGZfZXNjYXBlKCRjWyJUcmlnZ2VyIl0pLiI7O1xuIjoiIikuIkNSRUFURSBUUklHR0VSICIuaWRmX2VzY2FwZSgkY1siVHJpZ2dlciJdKS4iICRjW1RpbWluZ10gJGNbRXZlbnRdIE9OICIudGFibGUoJGNbIlRhYmxlIl0pLiIgRk9SIEVBQ0ggUk9XXG4kY1tTdGF0ZW1lbnRdOztcbiI7fXJldHVybiRiO31mdW5jdGlvbgpzaG93X3ZhcmlhYmxlcygpe3JldHVybgpnZXRfa2V5X3ZhbHMoIlNIT1cgVkFSSUFCTEVTIik7fWZ1bmN0aW9uCnByb2Nlc3NfbGlzdCgpe3JldHVybgpnZXRfcm93cygiU0hPVyBGVUxMIFBST0NFU1NMSVNUIik7fWZ1bmN0aW9uCnNob3dfc3RhdHVzKCl7cmV0dXJuCmdldF9rZXlfdmFscygiU0hPVyBTVEFUVVMiKTt9ZnVuY3Rpb24Kc3VwcG9ydCgkUGEpe2dsb2JhbCRoO3JldHVybiFlcmVnKCJzY2hlbWV8c2VxdWVuY2V8dHlwZSIuKCRoLT5zZXJ2ZXJfaW5mbzw1LjE/InxldmVudHxwYXJ0aXRpb25pbmciLigkaC0+c2VydmVyX2luZm88NT8ifHZpZXd8cm91dGluZXx0cmlnZ2VyIjoiIik6IiIpLCRQYSk7fSR0YT0ic3FsIjskYWE9YXJyYXkoKTskRWE9YXJyYXkoKTtmb3JlYWNoKGFycmF5KGxhbmcoMTIpPT5hcnJheSgidGlueWludCI9PjMsInNtYWxsaW50Ij0+NSwibWVkaXVtaW50Ij0+OCwiaW50Ij0+MTAsImJpZ2ludCI9PjIwLCJkZWNpbWFsIj0+NjYsImZsb2F0Ij0+MTIsImRvdWJsZSI9PjIxKSxsYW5nKDEzKT0+YXJyYXkoImRhdGUiPT4xMCwiZGF0ZXRpbWUiPT4xOSwidGltZXN0YW1wIj0+MTksInRpbWUiPT4xMCwieWVhciI9PjQpLGxhbmcoMTQpPT5hcnJheSgiY2hhciI9PjI1NSwidmFyY2hhciI9PjY1NTM1LCJ0aW55dGV4dCI9PjI1NSwidGV4dCI9PjY1NTM1LCJtZWRpdW10ZXh0Ij0+MTY3NzcyMTUsImxvbmd0ZXh0Ij0+NDI5NDk2NzI5NSksbGFuZygxNSk9PmFycmF5KCJiaXQiPT4yMCwiYmluYXJ5Ij0+MjU1LCJ2YXJiaW5hcnkiPT42NTUzNSwidGlueWJsb2IiPT4yNTUsImJsb2IiPT42NTUzNSwibWVkaXVtYmxvYiI9PjE2Nzc3MjE1LCJsb25nYmxvYiI9PjQyOTQ5NjcyOTUpLGxhbmcoMTgpPT5hcnJheSgiZW51bSI9PjY1NTM1LCJzZXQiPT42NCksKWFzJGQ9PiRhKXskYWErPSRhOyRFYVskZF09YXJyYXlfa2V5cygkYSk7fSRGYj1hcnJheSgidW5zaWduZWQiLCJ6ZXJvZmlsbCIsInVuc2lnbmVkIHplcm9maWxsIik7JHViPWFycmF5KCI9IiwiPCIsIj4iLCI8PSIsIj49IiwiIT0iLCJMSUtFIiwiTElLRSAlJSIsIlJFR0VYUCIsIklOIiwiSVMgTlVMTCIsIk5PVCBMSUtFIiwiTk9UIFJFR0VYUCIsIk5PVCBJTiIsIklTIE5PVCBOVUxMIiwiIik7JGZhPWFycmF5KCJjaGFyX2xlbmd0aCIsImRhdGUiLCJmcm9tX3VuaXh0aW1lIiwiaGV4IiwibG93ZXIiLCJyb3VuZCIsInNlY190b190aW1lIiwidGltZV90b19zZWMiLCJ1cHBlciIpOyRMYj1hcnJheSgiYXZnIiwiY291bnQiLCJjb3VudCBkaXN0aW5jdCIsImdyb3VwX2NvbmNhdCIsIm1heCIsIm1pbiIsInN1bSIpOyRKYj1hcnJheShhcnJheSgiY2hhciI9PiJtZDUvc2hhMS9wYXNzd29yZC9lbmNyeXB0L3V1aWQiLCJiaW5hcnkiPT4ibWQ1L3NoYTEvaGV4IiwiZGF0ZXx0aW1lIj0+Im5vdyIsKSxhcnJheSgiaW50fGZsb2F0fGRvdWJsZXxkZWNpbWFsIj0+IisvLSIsImRhdGUiPT4iKyBpbnRlcnZhbC8tIGludGVydmFsIiwidGltZSI9PiJhZGR0aW1lL3N1YnRpbWUiLCJjaGFyfHRleHQiPT4iY29uY2F0IiwpKTt9ZGVmaW5lKCJTRVJWRVIiLCRfR0VUW0RSSVZFUl0pO2RlZmluZSgiREIiLCRfR0VUWyJkYiJdKTtkZWZpbmUoIk1FIixwcmVnX3JlcGxhY2UoJ35eW14/XSovKFteP10qKS4qficsJ1xcMScsJF9TRVJWRVJbIlJFUVVFU1RfVVJJIl0pLic/Jy4oc2lkKCk/U0lELicmJzonJykuKFNFUlZFUiE9PW51bGw/RFJJVkVSLiI9Ii51cmxlbmNvZGUoU0VSVkVSKS4nJic6JycpLihpc3NldCgkX0dFVFsidXNlcm5hbWUiXSk/InVzZXJuYW1lPSIudXJsZW5jb2RlKCRfR0VUWyJ1c2VybmFtZSJdKS4nJic6JycpLihEQiE9IiI/J2RiPScudXJsZW5jb2RlKERCKS4nJicuKGlzc2V0KCRfR0VUWyJucyJdKT8ibnM9Ii51cmxlbmNvZGUoJF9HRVRbIm5zIl0pLiImIjoiIik6JycpKTskZGM9IjMuMy4yIjtjbGFzcwpBZG1pbmVye3ZhciRvcGVyYXRvcnM9YXJyYXkoIjw9IiwiPj0iKTt2YXIkX3ZhbHVlcz1hcnJheSgpO2Z1bmN0aW9uCm5hbWUoKXtyZXR1cm4iPGEgaHJlZj0naHR0cDovL3d3dy5hZG1pbmVyLm9yZy9lZGl0b3IvJyBpZD0naDEnPiIubGFuZygxOSkuIjwvYT4iO31mdW5jdGlvbgpjcmVkZW50aWFscygpe3JldHVybgphcnJheShTRVJWRVIsJF9HRVRbInVzZXJuYW1lIl0sZ2V0X3Nlc3Npb24oInB3ZHMiKSk7fWZ1bmN0aW9uCnBlcm1hbmVudExvZ2luKCl7cmV0dXJuCnBhc3N3b3JkX2ZpbGUoKTt9ZnVuY3Rpb24KZGF0YWJhc2UoKXtnbG9iYWwkaDskUD1nZXRfZGF0YWJhc2VzKGZhbHNlKTtyZXR1cm4oISRQPyRoLT5yZXN1bHQoIlNFTEVDVCBTVUJTVFJJTkdfSU5ERVgoQ1VSUkVOVF9VU0VSLCAnQCcsIDEpIik6JFBbKGluZm9ybWF0aW9uX3NjaGVtYSgkUFswXSk/MTowKV0pO31mdW5jdGlvbgpoZWFkZXJzKCl7cmV0dXJuCnRydWU7fWZ1bmN0aW9uCmhlYWQoKXtyZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24KbG9naW5Gb3JtKCl7ZWNobyc8dGFibGUgY2VsbHNwYWNpbmc9IjAiPgo8dHI+PHRoPicsbGFuZygyMCksJzx0ZD48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkcml2ZXIiIHZhbHVlPSJzZXJ2ZXIiPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InNlcnZlciIgdmFsdWU9IiI+PGlucHV0IGlkPSJ1c2VybmFtZSIgbmFtZT0idXNlcm5hbWUiIHZhbHVlPSInLGgoJF9HRVRbInVzZXJuYW1lIl0pLCciPgo8dHI+PHRoPicsbGFuZygyMSksJzx0ZD48aW5wdXQgdHlwZT0icGFzc3dvcmQiIG5hbWU9InBhc3N3b3JkIj4KPC90YWJsZT4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgpkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcJ3VzZXJuYW1lXCcpLmZvY3VzKCk7Cjwvc2NyaXB0PgonLCI8cD48aW5wdXQgdHlwZT0nc3VibWl0JyB2YWx1ZT0nIi5sYW5nKDIyKS4iJz5cbiIsY2hlY2tib3goInBlcm1hbmVudCIsMSwkX0NPT0tJRVsiYWRtaW5lcl9wZXJtYW5lbnQiXSxsYW5nKDIzKSkuIlxuIjt9ZnVuY3Rpb24KbG9naW4oJGllLCRIKXtnbG9iYWwkaDskaC0+cXVlcnkoIlNFVCB0aW1lX3pvbmUgPSAiLnEoc3Vic3RyX3JlcGxhY2UoQGRhdGUoIk8iKSwiOiIsLTIsMCkpKTtyZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24KdGFibGVOYW1lKCRxYil7cmV0dXJuCmgoJHFiWyJDb21tZW50Il0hPSIiPyRxYlsiQ29tbWVudCJdOiRxYlsiTmFtZSJdKTt9ZnVuY3Rpb24KZmllbGROYW1lKCRnLCRwYT0wKXtyZXR1cm4KaCgkZ1siY29tbWVudCJdIT0iIj8kZ1siY29tbWVudCJdOiRnWyJmaWVsZCJdKTt9ZnVuY3Rpb24Kc2VsZWN0TGlua3MoJHFiLCRvPSIiKXskeT0kcWJbIk5hbWUiXTtpZihpc3NldCgkbykpe2VjaG8nPHAgY2xhc3M9InRhYnMiPjxhIGhyZWY9IicuaChNRS4nZWRpdD0nLnVybGVuY29kZSgkeSkuJG8pLiciPicubGFuZygyNCkuIjwvYT5cbiI7fWVjaG8iPGEgaHJlZj0nIi5oKHJlbW92ZV9mcm9tX3VyaSgicGFnZSIpKS4iJmFtcDtwYWdlPWxhc3QnIHRpdGxlPSciLmxhbmcoMjUpLiInPiZndDsmZ3Q7PC9hPlxuIjt9ZnVuY3Rpb24KZm9yZWlnbktleXMoJGUpe3JldHVybgpmb3JlaWduX2tleXMoJGUpO31mdW5jdGlvbgpiYWNrd2FyZEtleXMoJGUsJGVlKXskYj1hcnJheSgpO2ZvcmVhY2goZ2V0X3Jvd3MoIlNFTEVDVCBUQUJMRV9OQU1FLCBDT05TVFJBSU5UX05BTUUsIENPTFVNTl9OQU1FLCBSRUZFUkVOQ0VEX0NPTFVNTl9OQU1FCkZST00gaW5mb3JtYXRpb25fc2NoZW1hLktFWV9DT0xVTU5fVVNBR0UKV0hFUkUgVEFCTEVfU0NIRU1BID0gIi5xKCR0aGlzLT5kYXRhYmFzZSgpKS4iCkFORCBSRUZFUkVOQ0VEX1RBQkxFX1NDSEVNQSA9ICIucSgkdGhpcy0+ZGF0YWJhc2UoKSkuIgpBTkQgUkVGRVJFTkNFRF9UQUJMRV9OQU1FID0gIi5xKCRlKS4iCk9SREVSIEJZIE9SRElOQUxfUE9TSVRJT04iLG51bGwsIiIpYXMkYyl7JGJbJGNbIlRBQkxFX05BTUUiXV1bImtleXMiXVskY1siQ09OU1RSQUlOVF9OQU1FIl1dWyRjWyJDT0xVTU5fTkFNRSJdXT0kY1siUkVGRVJFTkNFRF9DT0xVTU5fTkFNRSJdO31mb3JlYWNoKCRiCmFzJGQ9PiRhKXskZj0kdGhpcy0+dGFibGVOYW1lKHRhYmxlX3N0YXR1cygkZCkpO2lmKCRmIT0iIil7JHJiPXByZWdfcXVvdGUoJGVlKTskcWE9Iig6fFxccyotKT9cXHMrIjskYlskZF1bIm5hbWUiXT0ocHJlZ19tYXRjaCgiKF4kcmIkcWEoLispfF4oLis/KSRxYSRyYlwkKWl1IiwkZiwkayk/JGtbMl0uJGtbM106JGYpO31lbHNle3Vuc2V0KCRiWyRkXSk7fX1yZXR1cm4kYjt9ZnVuY3Rpb24KYmFja3dhcmRLZXlzUHJpbnQoJGhlLCRjKXtmb3JlYWNoKCRoZQphcyRlPT4kdWQpe2ZvcmVhY2goJHVkWyJrZXlzIl1hcyRjYil7JHg9TUUuJ3NlbGVjdD0nLnVybGVuY29kZSgkZSk7JHA9MDtmb3JlYWNoKCRjYgphcyR1PT4kYSl7JHguPXdoZXJlX2xpbmsoJHArKywkdSwkY1skYV0pO31lY2hvIjxhIGhyZWY9JyIuaCgkeCkuIic+Ii5oKCR1ZFsibmFtZSJdKS4iPC9hPiI7JHg9TUUuJ2VkaXQ9Jy51cmxlbmNvZGUoJGUpO2ZvcmVhY2goJGNiCmFzJHU9PiRhKXskeC49IiZzZXQiLnVybGVuY29kZSgiWyIuYnJhY2tldF9lc2NhcGUoJHUpLiJdIikuIj0iLnVybGVuY29kZSgkY1skYV0pO31lY2hvIjxhIGhyZWY9JyIuaCgkeCkuIicgdGl0bGU9JyIubGFuZygyNCkuIic+KzwvYT4gIjt9fX1mdW5jdGlvbgpzZWxlY3RRdWVyeSgkail7cmV0dXJuIjwhLS1cbiIuc3RyX3JlcGxhY2UoIi0tIiwiLS0+PCEtLSAiLCRqKS4iXG4tLT5cbiI7fWZ1bmN0aW9uCnJvd0Rlc2NyaXB0aW9uKCRlKXtmb3JlYWNoKGZpZWxkcygkZSlhcyRnKXtpZihlcmVnKCJ2YXJjaGFyfGNoYXJhY3RlciB2YXJ5aW5nIiwkZ1sidHlwZSJdKSl7cmV0dXJuCmlkZl9lc2NhcGUoJGdbImZpZWxkIl0pO319cmV0dXJuIiI7fWZ1bmN0aW9uCnJvd0Rlc2NyaXB0aW9ucygkQSwkRWIpeyRiPSRBO2ZvcmVhY2goJEFbMF1hcyRkPT4kYSl7aWYobGlzdCgkZSwkTiwkZik9JHRoaXMtPl9mb3JlaWduQ29sdW1uKCRFYiwkZCkpeyR3ZD1hcnJheSgpO2ZvcmVhY2goJEEKYXMkYyl7JHdkWyRjWyRkXV09ZXhhY3RfdmFsdWUoJGNbJGRdKTt9JHRjPSR0aGlzLT5fdmFsdWVzWyRlXTtpZighJHRjKXskdGM9Z2V0X2tleV92YWxzKCJTRUxFQ1QgJE4sICRmIEZST00gIi50YWJsZSgkZSkuIiBXSEVSRSAkTiBJTiAoIi5pbXBsb2RlKCIsICIsJHdkKS4iKSIpO31mb3JlYWNoKCRBCmFzJE09PiRjKXtpZihpc3NldCgkY1skZF0pKXskYlskTV1bJGRdPShzdHJpbmcpJHRjWyRjWyRkXV07fX19fXJldHVybiRiO31mdW5jdGlvbgpzZWxlY3RWYWwoJGEsJHgsJGcpeyRiPSgkYT09IjxpPk5VTEw8L2k+Ij8iJm5ic3A7IjokYSk7aWYoZXJlZygnYmxvYnxieXRlYScsJGdbInR5cGUiXSkmJiFpc191dGY4KCRhKSl7JGI9bGFuZygyNixzdHJsZW4oJGEpKTtpZihlcmVnKCJeKEdJRnxceEZGXHhEOFx4RkZ8XHg4OVBOR1x4MERceDBBXHgxQVx4MEEpIiwkYSkpeyRiPSI8aW1nIHNyYz0nJHgnIGFsdD0nJGInPiI7fX1pZihsaWtlX2Jvb2woJGcpJiYkYiE9IiZuYnNwOyIpeyRiPSc8aW1nIHNyYz0iJy4oJGE/IiIuaChwcmVnX3JlcGxhY2UoIn5cXD8uKn4iLCIiLE1FKSkuIj9maWxlPXBsdXMuZ2lmJmFtcDt2ZXJzaW9uPTMuMy4yIjoiIi5oKHByZWdfcmVwbGFjZSgiflxcPy4qfiIsIiIsTUUpKS4iP2ZpbGU9Y3Jvc3MuZ2lmJmFtcDt2ZXJzaW9uPTMuMy4yIikuJyIgYWx0PSInLmgoJGEpLiciPic7fWlmKCR4KXskYj0iPGEgaHJlZj0nJHgnPiRiPC9hPiI7fWlmKCEkeCYmIWxpa2VfYm9vbCgkZykmJmVyZWcoJ2ludHxmbG9hdHxkb3VibGV8ZGVjaW1hbCcsJGdbInR5cGUiXSkpeyRiPSI8ZGl2IGNsYXNzPSdudW1iZXInPiRiPC9kaXY+Ijt9ZWxzZWlmKGVyZWcoJ2RhdGUnLCRnWyJ0eXBlIl0pKXskYj0iPGRpdiBjbGFzcz0nZGF0ZXRpbWUnPiRiPC9kaXY+Ijt9cmV0dXJuJGI7fWZ1bmN0aW9uCmVkaXRWYWwoJGEsJGcpe2lmKGVyZWcoJ2RhdGV8dGltZXN0YW1wJywkZ1sidHlwZSJdKSYmaXNzZXQoJGEpKXtyZXR1cm4KcHJlZ19yZXBsYWNlKCd+XihcXGR7Mn0oXFxkKykpLSgwPyhcXGQrKSktKDA/KFxcZCspKX4nLGxhbmcoMjcpLCRhKTt9cmV0dXJuKGVyZWcoImJpbmFyeSIsJGdbInR5cGUiXSk/cmVzZXQodW5wYWNrKCJIKiIsJGEpKTokYSk7fWZ1bmN0aW9uCnNlbGVjdENvbHVtbnNQcmludCgkRywkSyl7fWZ1bmN0aW9uCnNlbGVjdFNlYXJjaFByaW50KCRtLCRLLCRiYSl7JG09KGFycmF5KSRfR0VUWyJ3aGVyZSJdO2VjaG8nPGZpZWxkc2V0PjxsZWdlbmQ+Jy5sYW5nKDI4KS4iPC9sZWdlbmQ+PGRpdj5cbiI7JHJjPWFycmF5KCk7Zm9yZWFjaCgkbQphcyRkPT4kYSl7JHJjWyRhWyJjb2wiXV09JGQ7fSRwPTA7JHQ9ZmllbGRzKCRfR0VUWyJzZWxlY3QiXSk7Zm9yZWFjaCgkdAphcyRmPT4kZyl7JEphPSRLWyRmXTtpZihlcmVnKCJlbnVtIiwkZ1sidHlwZSJdKSYmJEphIT0iIil7JGQ9JHJjWyRmXTskcC0tO2VjaG8iPGRpdj4iLmgoJEphKS4iPGlucHV0IHR5cGU9J2hpZGRlbicgbmFtZT0nd2hlcmVbJHBdW2NvbF0nIHZhbHVlPSciLmgoJGYpLiInPjoiLGVudW1faW5wdXQoImNoZWNrYm94IiwiIG5hbWU9J3doZXJlWyRwXVt2YWxdW10nIiwkZywoYXJyYXkpJG1bJGRdWyJ2YWwiXSwoJGdbIm51bGwiXT8wOm51bGwpKSwiPC9kaXY+XG4iO3Vuc2V0KCRLWyRmXSk7fX1mb3JlYWNoKCRLCmFzJGY9PiRKYSl7JHVhPSR0aGlzLT5fZm9yZWlnbktleU9wdGlvbnMoJF9HRVRbInNlbGVjdCJdLCRmKTtpZihpc19hcnJheSgkdWEpKXtpZigkdFskZl1bIm51bGwiXSl7JHVhWzBdPScoJy5sYW5nKDQpLicpJzt9JGQ9JHJjWyRmXTskcC0tO2VjaG8iPGRpdj4iLmgoJEphKS4iPGlucHV0IHR5cGU9J2hpZGRlbicgbmFtZT0nd2hlcmVbJHBdW2NvbF0nIHZhbHVlPSciLmgoJGYpLiInPjxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J3doZXJlWyRwXVtvcF0nIHZhbHVlPSc9Jz46IDxzZWxlY3QgbmFtZT0nd2hlcmVbJHBdW3ZhbF0nPiIub3B0aW9ubGlzdCgkdWEsJG1bJGRdWyJ2YWwiXSx0cnVlKS4iPC9zZWxlY3Q+PC9kaXY+XG4iO3Vuc2V0KCRLWyRmXSk7fX0kcD0wO2ZvcmVhY2goJG0KYXMkYSl7aWYoKCRhWyJjb2wiXT09IiJ8fCRLWyRhWyJjb2wiXV0pJiYiJGFbY29sXSRhW3ZhbF0iIT0iIil7ZWNobyI8ZGl2PjxzZWxlY3QgbmFtZT0nd2hlcmVbJHBdW2NvbF0nPjxvcHRpb24gdmFsdWU9Jyc+KCIubGFuZygyOSkuIikiLm9wdGlvbmxpc3QoJEssJGFbImNvbCJdLHRydWUpLiI8L3NlbGVjdD4iLGh0bWxfc2VsZWN0KCJ3aGVyZVskcF1bb3BdIixhcnJheSgtMT0+IiIpKyR0aGlzLT5vcGVyYXRvcnMsJGFbIm9wIl0pLCI8aW5wdXQgbmFtZT0nd2hlcmVbJHBdW3ZhbF0nIHZhbHVlPSciLmgoJGFbInZhbCJdKS4iJz48L2Rpdj5cbiI7JHArKzt9fWVjaG8iPGRpdj48c2VsZWN0IG5hbWU9J3doZXJlWyRwXVtjb2xdJyBvbmNoYW5nZT0nc2VsZWN0QWRkUm93KHRoaXMpOyc+PG9wdGlvbiB2YWx1ZT0nJz4oIi5sYW5nKDI5KS4iKSIub3B0aW9ubGlzdCgkSyxudWxsLHRydWUpLiI8L3NlbGVjdD4iLGh0bWxfc2VsZWN0KCJ3aGVyZVskcF1bb3BdIixhcnJheSgtMT0+IiIpKyR0aGlzLT5vcGVyYXRvcnMpLCI8aW5wdXQgbmFtZT0nd2hlcmVbJHBdW3ZhbF0nPjwvZGl2PlxuIiwiPC9kaXY+PC9maWVsZHNldD5cbiI7fWZ1bmN0aW9uCnNlbGVjdE9yZGVyUHJpbnQoJHBhLCRLLCRiYSl7JHVjPWFycmF5KCk7Zm9yZWFjaCgkYmEKYXMkZD0+JGNhKXskcGE9YXJyYXkoKTtmb3JlYWNoKCRjYVsiY29sdW1ucyJdYXMkYSl7JHBhW109JEtbJGFdO31pZihjb3VudChhcnJheV9maWx0ZXIoJHBhLCdzdHJsZW4nKSk+MSYmJGQhPSJQUklNQVJZIil7JHVjWyRkXT1pbXBsb2RlKCIsICIsJHBhKTt9fWlmKCR1Yyl7ZWNobyc8ZmllbGRzZXQ+PGxlZ2VuZD4nLmxhbmcoMzApLiI8L2xlZ2VuZD48ZGl2PiIsIjxzZWxlY3QgbmFtZT0naW5kZXhfb3JkZXInPiIub3B0aW9ubGlzdChhcnJheSgiIj0+IiIpKyR1YywoJF9HRVRbIm9yZGVyIl1bMF0hPSIiPyIiOiRfR0VUWyJpbmRleF9vcmRlciJdKSx0cnVlKS4iPC9zZWxlY3Q+IiwiPC9kaXY+PC9maWVsZHNldD5cbiI7fWlmKCRfR0VUWyJvcmRlciJdKXtlY2hvIjxkaXYgc3R5bGU9J2Rpc3BsYXk6IG5vbmU7Jz4iLmhpZGRlbl9maWVsZHMoYXJyYXkoIm9yZGVyIj0+YXJyYXkoMT0+cmVzZXQoJF9HRVRbIm9yZGVyIl0pKSwiZGVzYyI9PigkX0dFVFsiZGVzYyJdP2FycmF5KDE9PjEpOmFycmF5KCkpLCkpLiI8L2Rpdj5cbiI7fX1mdW5jdGlvbgpzZWxlY3RMaW1pdFByaW50KCRfKXtlY2hvIjxmaWVsZHNldD48bGVnZW5kPiIubGFuZygzMSkuIjwvbGVnZW5kPjxkaXY+IjtlY2hvCmh0bWxfc2VsZWN0KCJsaW1pdCIsYXJyYXkoIiIsIjMwIiwiMTAwIiksJF8pLCI8L2Rpdj48L2ZpZWxkc2V0PlxuIjt9ZnVuY3Rpb24Kc2VsZWN0TGVuZ3RoUHJpbnQoJHBiKXt9ZnVuY3Rpb24Kc2VsZWN0QWN0aW9uUHJpbnQoKXtlY2hvIjxmaWVsZHNldD48bGVnZW5kPiIubGFuZygzMikuIjwvbGVnZW5kPjxkaXY+IiwiPGlucHV0IHR5cGU9J3N1Ym1pdCcgdmFsdWU9JyIubGFuZygzMykuIic+IiwiPC9kaXY+PC9maWVsZHNldD5cbiI7fWZ1bmN0aW9uCnNlbGVjdENvbW1hbmRQcmludCgpe3JldHVybgp0cnVlO31mdW5jdGlvbgpzZWxlY3RJbXBvcnRQcmludCgpe3JldHVybgp0cnVlO31mdW5jdGlvbgpzZWxlY3RFbWFpbFByaW50KCRNYiwkSyl7aWYoJE1iKXtwcmludF9maWVsZHNldCgiZW1haWwiLGxhbmcoMzQpLCRfUE9TVFsiZW1haWxfYXBwZW5kIl0pO2VjaG8iPGRpdiBvbmtleWRvd249XCJldmVudFN0b3AoZXZlbnQpOyByZXR1cm4gYm9keUtleWRvd24oZXZlbnQsICdlbWFpbCcpO1wiPlxuIiwiPHA+Ii5sYW5nKDM1KS4iOiA8aW5wdXQgbmFtZT0nZW1haWxfZnJvbScgdmFsdWU9JyIuaCgkX1BPU1Q/JF9QT1NUWyJlbWFpbF9mcm9tIl06JF9DT09LSUVbImFkbWluZXJfZW1haWwiXSkuIic+XG4iLGxhbmcoMzYpLiI6IDxpbnB1dCBuYW1lPSdlbWFpbF9zdWJqZWN0JyB2YWx1ZT0nIi5oKCRfUE9TVFsiZW1haWxfc3ViamVjdCJdKS4iJz5cbiIsIjxwPjx0ZXh0YXJlYSBuYW1lPSdlbWFpbF9tZXNzYWdlJyByb3dzPScxNScgY29scz0nNzUnPiIuaCgkX1BPU1RbImVtYWlsX21lc3NhZ2UiXS4oJF9QT1NUWyJlbWFpbF9hcHBlbmQiXT8neyQnLiIkX1BPU1RbZW1haWxfYWRkaXRpb25dfSI6IiIpKS4iPC90ZXh0YXJlYT5cbiI7ZWNobyI8cCBvbmtleWRvd249XCJldmVudFN0b3AoZXZlbnQpOyByZXR1cm4gYm9keUtleWRvd24oZXZlbnQsICdlbWFpbF9hcHBlbmQnKTtcIj4iLmh0bWxfc2VsZWN0KCJlbWFpbF9hZGRpdGlvbiIsJEssJF9QT1NUWyJlbWFpbF9hZGRpdGlvbiJdKS4iPGlucHV0IHR5cGU9J3N1Ym1pdCcgbmFtZT0nZW1haWxfYXBwZW5kJyB2YWx1ZT0nIi5sYW5nKDM3KS4iJz5cbiI7ZWNobyI8cD4iLmxhbmcoMzgpLiI6IDxpbnB1dCB0eXBlPSdmaWxlJyBuYW1lPSdlbWFpbF9maWxlc1tdJyBvbmNoYW5nZT1cInRoaXMub25jaGFuZ2UgPSBmdW5jdGlvbiAoKSB7IH07IHZhciBlbCA9IHRoaXMuY2xvbmVOb2RlKHRydWUpOyBlbC52YWx1ZSA9ICcnOyB0aGlzLnBhcmVudE5vZGUuYXBwZW5kQ2hpbGQoZWwpO1wiPiIsIjxwPiIuKGNvdW50KCRNYik9PTE/JzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImVtYWlsX2ZpZWxkIiB2YWx1ZT0iJy5oKGtleSgkTWIpKS4nIj4nOmh0bWxfc2VsZWN0KCJlbWFpbF9maWVsZCIsJE1iKSksIjxpbnB1dCB0eXBlPSdzdWJtaXQnIG5hbWU9J2VtYWlsJyB2YWx1ZT0nIi5sYW5nKDM5KS4iJyBvbmNsaWNrPVwicmV0dXJuIHRoaXMuZm9ybVsnZGVsZXRlJ10ub25jbGljaygpO1wiPlxuIiwiPC9kaXY+XG4iLCI8L2Rpdj48L2ZpZWxkc2V0PlxuIjt9fWZ1bmN0aW9uCnNlbGVjdENvbHVtbnNQcm9jZXNzKCRLLCRiYSl7cmV0dXJuCmFycmF5KGFycmF5KCksYXJyYXkoKSk7fWZ1bmN0aW9uCnNlbGVjdFNlYXJjaFByb2Nlc3MoJHQsJGJhKXskYj1hcnJheSgpO2ZvcmVhY2goKGFycmF5KSRfR0VUWyJ3aGVyZSJdYXMkZD0+JG0peyRPYT0kbVsiY29sIl07JHZiPSRtWyJvcCJdOyRhPSRtWyJ2YWwiXTtpZigoJGQ8MD8iIjokT2EpLiRhIT0iIil7JHdiPWFycmF5KCk7Zm9yZWFjaCgoJE9hIT0iIj9hcnJheSgkT2E9PiR0WyRPYV0pOiR0KWFzJGY9PiRnKXtpZigkT2EhPSIifHxpc19udW1lcmljKCRhKXx8IWVyZWcoJ2ludHxmbG9hdHxkb3VibGV8ZGVjaW1hbCcsJGdbInR5cGUiXSkpeyRmPWlkZl9lc2NhcGUoJGYpO2lmKCRPYSE9IiImJiRnWyJ0eXBlIl09PSJlbnVtIil7JHdiW109KGluX2FycmF5KDAsJGEpPyIkZiBJUyBOVUxMIE9SICI6IiIpLiIkZiBJTiAoIi5pbXBsb2RlKCIsICIsYXJyYXlfbWFwKCdpbnR2YWwnLCRhKSkuIikiO31lbHNleyRyZD1lcmVnKCdjaGFyfHRleHR8ZW51bXxzZXQnLCRnWyJ0eXBlIl0pOyRuPSR0aGlzLT5wcm9jZXNzSW5wdXQoJGcsKCEkdmImJiRyZCYmZXJlZygnXlteJV0rJCcsJGEpPyIlJGElIjokYSkpOyR3YltdPSRmLigkbj09Ik5VTEwiPyIgSVMiLigkdmI9PSI+PSI/IiBOT1QiOiIiKS4iICRuIjooaW5fYXJyYXkoJHZiLCR0aGlzLT5vcGVyYXRvcnMpfHwkdmI9PSI9Ij8iICR2YiAkbiI6KCRyZD8iIExJS0UgJG4iOiIgSU4gKCIuc3RyX3JlcGxhY2UoIiwiLCInLCAnIiwkbikuIikiKSkpO2lmKCRkPDAmJiRhPT0iMCIpeyR3YltdPSIkZiBJUyBOVUxMIjt9fX19JGJbXT0oJHdiPyIoIi5pbXBsb2RlKCIgT1IgIiwkd2IpLiIpIjoiMCIpO319cmV0dXJuJGI7fWZ1bmN0aW9uCnNlbGVjdE9yZGVyUHJvY2VzcygkdCwkYmEpeyRVYj0kX0dFVFsiaW5kZXhfb3JkZXIiXTtpZigkVWIhPSIiKXt1bnNldCgkX0dFVFsib3JkZXIiXVsxXSk7fWlmKCRfR0VUWyJvcmRlciJdKXtyZXR1cm4KYXJyYXkoaWRmX2VzY2FwZShyZXNldCgkX0dFVFsib3JkZXIiXSkpLigkX0dFVFsiZGVzYyJdPyIgREVTQyI6IiIpKTt9Zm9yZWFjaCgoJFViIT0iIj9hcnJheSgkYmFbJFViXSk6JGJhKWFzJGNhKXtpZigkVWIhPSIifHwkY2FbInR5cGUiXT09IklOREVYIil7JEphPWZhbHNlO2ZvcmVhY2goJGNhWyJjb2x1bW5zIl1hcyRhKXtpZihlcmVnKCdkYXRlfHRpbWVzdGFtcCcsJHRbJGFdWyJ0eXBlIl0pKXskSmE9dHJ1ZTticmVhazt9fSRiPWFycmF5KCk7Zm9yZWFjaCgkY2FbImNvbHVtbnMiXWFzJGEpeyRiW109aWRmX2VzY2FwZSgkYSkuKCRKYT8iIERFU0MiOiIiKTt9cmV0dXJuJGI7fX1yZXR1cm4KYXJyYXkoKTt9ZnVuY3Rpb24Kc2VsZWN0TGltaXRQcm9jZXNzKCl7cmV0dXJuKGlzc2V0KCRfR0VUWyJsaW1pdCJdKT8kX0dFVFsibGltaXQiXToiMzAiKTt9ZnVuY3Rpb24Kc2VsZWN0TGVuZ3RoUHJvY2Vzcygpe3JldHVybiIxMDAiO31mdW5jdGlvbgpzZWxlY3RFbWFpbFByb2Nlc3MoJG0sJEViKXtpZigkX1BPU1RbImVtYWlsX2FwcGVuZCJdKXtyZXR1cm4KdHJ1ZTt9aWYoJF9QT1NUWyJlbWFpbCJdKXskZmQ9MDtpZigkX1BPU1RbImFsbCJdfHwkX1BPU1RbImNoZWNrIl0peyRnPWlkZl9lc2NhcGUoJF9QT1NUWyJlbWFpbF9maWVsZCJdKTskYmM9JF9QT1NUWyJlbWFpbF9zdWJqZWN0Il07JHhhPSRfUE9TVFsiZW1haWxfbWVzc2FnZSJdO3ByZWdfbWF0Y2hfYWxsKCd+XFx7XFwkKFthLXowLTlfXSspXFx9fmknLCIkYmMuJHhhIiwkZ2EpOyRBPWdldF9yb3dzKCJTRUxFQ1QgRElTVElOQ1QgJGciLigkZ2FbMV0/IiwgIi5pbXBsb2RlKCIsICIsYXJyYXlfbWFwKCdpZGZfZXNjYXBlJyxhcnJheV91bmlxdWUoJGdhWzFdKSkpOiIiKS4iIEZST00gIi50YWJsZSgkX0dFVFsic2VsZWN0Il0pLiIgV0hFUkUgJGcgSVMgTk9UIE5VTEwgQU5EICRnICE9ICcnIi4oJG0/IiBBTkQgIi5pbXBsb2RlKCIgQU5EICIsJG0pOiIiKS4oJF9QT1NUWyJhbGwiXT8iIjoiIEFORCAoKCIuaW1wbG9kZSgiKSBPUiAoIixhcnJheV9tYXAoJ3doZXJlX2NoZWNrJywoYXJyYXkpJF9QT1NUWyJjaGVjayJdKSkuIikpIikpOyR0PWZpZWxkcygkX0dFVFsic2VsZWN0Il0pO2ZvcmVhY2goJHRoaXMtPnJvd0Rlc2NyaXB0aW9ucygkQSwkRWIpYXMkYyl7JEhjPWFycmF5KCd7XFwnPT4neycpO2ZvcmVhY2goJGdhWzFdYXMkYSl7JEhjWyd7JCcuIiRhfSJdPSR0aGlzLT5lZGl0VmFsKCRjWyRhXSwkdFskYV0pO30kbWI9JGNbJF9QT1NUWyJlbWFpbF9maWVsZCJdXTtpZihpc19tYWlsKCRtYikmJnNlbmRfbWFpbCgkbWIsc3RydHIoJGJjLCRIYyksc3RydHIoJHhhLCRIYyksJF9QT1NUWyJlbWFpbF9mcm9tIl0sJF9GSUxFU1siZW1haWxfZmlsZXMiXSkpeyRmZCsrO319fWNvb2tpZSgiYWRtaW5lcl9lbWFpbCIsJF9QT1NUWyJlbWFpbF9mcm9tIl0pO3JlZGlyZWN0KHJlbW92ZV9mcm9tX3VyaSgpLGxhbmcoNDAsJGZkKSk7fXJldHVybgpmYWxzZTt9ZnVuY3Rpb24KbWVzc2FnZVF1ZXJ5KCRqKXtyZXR1cm4iPCEtLVxuIi5zdHJfcmVwbGFjZSgiLS0iLCItLT48IS0tICIsJGopLiJcbi0tPiI7fWZ1bmN0aW9uCmVkaXRGdW5jdGlvbnMoJGcpeyRiPWFycmF5KCk7aWYoJGdbIm51bGwiXSYmZXJlZygnYmxvYicsJGdbInR5cGUiXSkpeyRiWyJOVUxMIl09bGFuZyg0KTt9JGJbIiJdPSgkZ1sibnVsbCJdfHwkZ1siYXV0b19pbmNyZW1lbnQiXXx8bGlrZV9ib29sKCRnKT8iIjoiKiIpO2lmKGVyZWcoJ2RhdGV8dGltZScsJGdbInR5cGUiXSkpeyRiWyJub3ciXT1sYW5nKDQxKTt9aWYoZXJlZ2koJ18obWQ1fHNoYTEpJCcsJGdbImZpZWxkIl0sJGspKXskYltdPXN0cnRvbG93ZXIoJGtbMV0pO31yZXR1cm4kYjt9ZnVuY3Rpb24KZWRpdElucHV0KCRlLCRnLCRpYSwkbil7aWYoJGdbInR5cGUiXT09ImVudW0iKXtyZXR1cm4oaXNzZXQoJF9HRVRbInNlbGVjdCJdKT8iPGxhYmVsPjxpbnB1dCB0eXBlPSdyYWRpbyckaWEgdmFsdWU9Jy0xJyBjaGVja2VkPjxpPiIubGFuZyg1KS4iPC9pPjwvbGFiZWw+ICI6IiIpLmVudW1faW5wdXQoInJhZGlvIiwkaWEsJGcsKCRufHxpc3NldCgkX0dFVFsic2VsZWN0Il0pPyRuOjApLCgkZ1sibnVsbCJdPyIiOm51bGwpKTt9JHVhPSR0aGlzLT5fZm9yZWlnbktleU9wdGlvbnMoJGUsJGdbImZpZWxkIl0sJG4pO2lmKGlzc2V0KCR1YSkpe3JldHVybihpc19hcnJheSgkdWEpPyI8c2VsZWN0JGlhPiIub3B0aW9ubGlzdCgkdWEsJG4sdHJ1ZSkuIjwvc2VsZWN0PiI6IjxpbnB1dCB2YWx1ZT0nIi5oKCRuKS4iJyRpYSBjbGFzcz0naGlkZGVuJz48aW5wdXQgdmFsdWU9JyIuaCgkdWEpLiInIGNsYXNzPSdqc29ubHknIG9ua2V5dXA9XCJ3aGlzcGVyKCciLmgoTUUuInNjcmlwdD1jb21wbGV0ZSZzb3VyY2U9Ii51cmxlbmNvZGUoJGUpLiImZmllbGQ9Ii51cmxlbmNvZGUoJGdbImZpZWxkIl0pKS4iJnZhbHVlPScsIHRoaXMpO1wiPjxkaXYgb25jbGljaz0ncmV0dXJuIHdoaXNwZXJDbGljayhldmVudCwgdGhpcy5wcmV2aW91c1NpYmxpbmcpOyc+PC9kaXY+Iik7fWlmKGxpa2VfYm9vbCgkZykpe3JldHVybic8aW5wdXQgdHlwZT0iY2hlY2tib3giIHZhbHVlPSInLmgoJG4/JG46MSkuJyInLigkbj8nIGNoZWNrZWQnOicnKS4iJGlhPiI7fSRpYj0iIjtpZihlcmVnKCd0aW1lJywkZ1sidHlwZSJdKSl7JGliPWxhbmcoNDIpO31pZihlcmVnKCdkYXRlfHRpbWVzdGFtcCcsJGdbInR5cGUiXSkpeyRpYj1sYW5nKDQzKS4oJGliPyIgWyRpYl0iOiIiKTt9aWYoJGliKXtyZXR1cm4iPGlucHV0IHZhbHVlPSciLmgoJG4pLiInJGlhPiAoJGliKSI7fWlmKGVyZWdpKCdfKG1kNXxzaGExKSQnLCRnWyJmaWVsZCJdKSl7cmV0dXJuIjxpbnB1dCB0eXBlPSdwYXNzd29yZCcgdmFsdWU9JyIuaCgkbikuIickaWE+Ijt9cmV0dXJuJyc7fWZ1bmN0aW9uCnByb2Nlc3NJbnB1dCgkZywkbiwkTD0iIil7aWYoJEw9PSJub3ciKXtyZXR1cm4iJEwoKSI7fSRiPSRuO2lmKGVyZWcoJ2RhdGV8dGltZXN0YW1wJywkZ1sidHlwZSJdKSYmcHJlZ19tYXRjaCgnKF4nLnN0cl9yZXBsYWNlKCdcXCQxJywnKD9QPHAxPlxcZCopJyxwcmVnX3JlcGxhY2UoJ34oXFxcXFxcJChbMi02XSkpficsJyg/UDxwXFwyPlxcZHsxLDJ9KScscHJlZ19xdW90ZShsYW5nKDI3KSkpKS4nKC4qKSknLCRuLCRrKSl7JGI9KCRrWyJwMSJdIT0iIj8ka1sicDEiXTooJGtbInAyIl0hPSIiPygka1sicDIiXTw3MD8yMDoxOSkuJGtbInAyIl06Z21kYXRlKCJZIikpKS4iLSRrW3AzXSRrW3A0XS0ka1twNV0ka1twNl0iLmVuZCgkayk7fSRiPSgkZ1sidHlwZSJdPT0iYml0IiYmZXJlZygnXlswLTldKyQnLCRuKT8kYjpxKCRiKSk7aWYoJG49PSIiJiYoJGdbIm51bGwiXXx8IWVyZWcoJ2NoYXJ8dGV4dCcsJGdbInR5cGUiXSkpJiYhbGlrZV9ib29sKCRnKSl7JGI9Ik5VTEwiO31lbHNlaWYoZXJlZygnXihtZDV8c2hhMSkkJywkTCkpeyRiPSIkTCgkYikiO31pZihlcmVnKCJiaW5hcnkiLCRnWyJ0eXBlIl0pKXskYj0idW5oZXgoJGIpIjt9cmV0dXJuJGI7fWZ1bmN0aW9uCmR1bXBPdXRwdXQoKXtyZXR1cm4KYXJyYXkoKTt9ZnVuY3Rpb24KZHVtcEZvcm1hdCgpe3JldHVybgphcnJheSgnY3N2Jz0+J0NTViwnLCdjc3Y7Jz0+J0NTVjsnLCd0c3YnPT4nVFNWJyk7fWZ1bmN0aW9uCmR1bXBUYWJsZSgpe2VjaG8iXHhlZlx4YmJceGJmIjt9ZnVuY3Rpb24KZHVtcERhdGEoJGUsJHRiLCRqKXtnbG9iYWwkaDskaT0kaC0+cXVlcnkoJGosMSk7aWYoJGkpe3doaWxlKCRjPSRpLT5mZXRjaF9hc3NvYygpKXtpZigkdGI9PSJ0YWJsZSIpe2R1bXBfY3N2KGFycmF5X2tleXMoJGMpKTskdGI9IklOU0VSVCI7fWR1bXBfY3N2KCRjKTt9fX1mdW5jdGlvbgpkdW1wSGVhZGVycygkaGMsJFRjPWZhbHNlKXskYmU9ImNzdiI7aGVhZGVyKCJDb250ZW50LVR5cGU6IHRleHQvY3N2OyBjaGFyc2V0PXV0Zi04Iik7cmV0dXJuJGJlO31mdW5jdGlvbgpob21lcGFnZSgpe3JldHVybgp0cnVlO31mdW5jdGlvbgpuYXZpZ2F0aW9uKCREYil7Z2xvYmFsJGRjLCRfYTtlY2hvJzxoMT4KJywkdGhpcy0+bmFtZSgpLCcgPHNwYW4gY2xhc3M9InZlcnNpb24iPicsJGRjLCc8L3NwYW4+CjxhIGhyZWY9Imh0dHA6Ly93d3cuYWRtaW5lci5vcmcvZWRpdG9yLyNkb3dubG9hZCIgaWQ9InZlcnNpb24iPicsKHZlcnNpb25fY29tcGFyZSgkZGMsJF9DT09LSUVbImFkbWluZXJfdmVyc2lvbiJdKTwwP2goJF9DT09LSUVbImFkbWluZXJfdmVyc2lvbiJdKToiIiksJzwvYT4KPC9oMT4KJztpZigkRGI9PSJhdXRoIil7JEJhPXRydWU7Zm9yZWFjaCgoYXJyYXkpJF9TRVNTSU9OWyJwd2RzIl1bInNlcnZlciJdWyIiXWFzJEY9PiRIKXtpZihpc3NldCgkSCkpe2lmKCRCYSl7ZWNobyI8cCBvbmNsaWNrPSdldmVudFN0b3AoZXZlbnQpOyc+XG4iOyRCYT1mYWxzZTt9ZWNobyI8YSBocmVmPSciLmgoYXV0aF91cmwoInNlcnZlciIsIiIsJEYpKS4iJz4iLigkRiE9IiI/aCgkRik6IjxpPiIubGFuZyg0KS4iPC9pPiIpLiI8L2E+PGJyPlxuIjt9fX1lbHNle2VjaG8nPGZvcm0gYWN0aW9uPSIiIG1ldGhvZD0icG9zdCI+CjxwIGNsYXNzPSJsb2dvdXQiPgo8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJsb2dvdXQiIHZhbHVlPSInLGxhbmcoNDQpLCciIG9uY2xpY2s9ImV2ZW50U3RvcChldmVudCk7Ij4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idG9rZW4iIHZhbHVlPSInLCRfYSwnIj4KPC9wPgo8L2Zvcm0+Cic7aWYoJERiIT0iZGIiJiYkRGIhPSJucyIpeyR3PXRhYmxlX3N0YXR1cygpO2lmKCEkdyl7ZWNobyI8cCBjbGFzcz0nbWVzc2FnZSc+Ii5sYW5nKDYpLiJcbiI7fWVsc2V7JHRoaXMtPnRhYmxlc1ByaW50KCR3KTt9fX19ZnVuY3Rpb24KdGFibGVzUHJpbnQoJEIpe2VjaG8iPHAgaWQ9J3RhYmxlcyc+XG4iO2ZvcmVhY2goJEIKYXMkYyl7JGY9JHRoaXMtPnRhYmxlTmFtZSgkYyk7aWYoaXNzZXQoJGNbIkVuZ2luZSJdKSYmJGYhPSIiKXtlY2hvIjxhIGhyZWY9JyIuaChNRSkuJ3NlbGVjdD0nLnVybGVuY29kZSgkY1siTmFtZSJdKS4iJyIuYm9sZCgkX0dFVFsic2VsZWN0Il09PSRjWyJOYW1lIl0pLiI+JGY8L2E+PGJyPlxuIjt9fX1mdW5jdGlvbgpfZm9yZWlnbkNvbHVtbigkRWIsJHUpe2ZvcmVhY2goKGFycmF5KSRFYlskdV1hcyRlYyl7aWYoY291bnQoJGVjWyJzb3VyY2UiXSk9PTEpeyRmPSR0aGlzLT5yb3dEZXNjcmlwdGlvbigkZWNbInRhYmxlIl0pO2lmKCRmIT0iIil7JE49aWRmX2VzY2FwZSgkZWNbInRhcmdldCJdWzBdKTtyZXR1cm4KYXJyYXkoJGVjWyJ0YWJsZSJdLCROLCRmKTt9fX19ZnVuY3Rpb24KX2ZvcmVpZ25LZXlPcHRpb25zKCRlLCR1LCRuPW51bGwpe2dsb2JhbCRoO2lmKGxpc3QoJFcsJE4sJGYpPSR0aGlzLT5fZm9yZWlnbkNvbHVtbihjb2x1bW5fZm9yZWlnbl9rZXlzKCRlKSwkdSkpeyRiPSYkdGhpcy0+X3ZhbHVlc1skV107aWYoIWlzc2V0KCRiKSl7JHc9dGFibGVfc3RhdHVzKCRXKTskYj0oJHdbIlJvd3MiXT4xMDAwPyIiOmFycmF5KCIiPT4iIikrZ2V0X2tleV92YWxzKCJTRUxFQ1QgJE4sICRmIEZST00gIi50YWJsZSgkVykuIiBPUkRFUiBCWSAyIikpO31pZighJGImJmlzc2V0KCRuKSl7cmV0dXJuJGgtPnJlc3VsdCgiU0VMRUNUICRmIEZST00gIi50YWJsZSgkVykuIiBXSEVSRSAkTiA9ICIucSgkbikpO31yZXR1cm4kYjt9fX0kbD0oZnVuY3Rpb25fZXhpc3RzKCdhZG1pbmVyX29iamVjdCcpP2FkbWluZXJfb2JqZWN0KCk6bmV3CkFkbWluZXIpO2Z1bmN0aW9uCnBhZ2VfaGVhZGVyKCRKYywkcT0iIiwkQmI9YXJyYXkoKSwkSWM9IiIpe2dsb2JhbCRSLCRsLCRoLCR3YTtoZWFkZXIoIkNvbnRlbnQtVHlwZTogdGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Iik7aWYoJGwtPmhlYWRlcnMoKSl7aGVhZGVyKCJYLUZyYW1lLU9wdGlvbnM6IGRlbnkiKTtoZWFkZXIoIlgtWFNTLVByb3RlY3Rpb246IDAiKTt9JGFkPSRKYy4oJEljIT0iIj8iOiAiLmgoJEljKToiIik7JFdjPXN0cmlwX3RhZ3MoJGFkLihTRVJWRVIhPSIiJiZTRVJWRVIhPSJsb2NhbGhvc3QiP2goIiAtICIuU0VSVkVSKToiIikuIiAtICIuJGwtPm5hbWUoKSk7aWYoaXNfYWpheCgpKXtoZWFkZXIoIlgtQUpBWC1UaXRsZTogIi5yYXd1cmxlbmNvZGUoJFdjKSk7fWVsc2V7ZWNobyc8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wMS8vRU4iPgo8aHRtbCBsYW5nPSInLCRSLCciIGRpcj0iJyxsYW5nKDQ1KSwnIj4KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVNjcmlwdC1UeXBlIiBjb250ZW50PSJ0ZXh0L2phdmFzY3JpcHQiPgo8bWV0YSBuYW1lPSJyb2JvdHMiIGNvbnRlbnQ9Im5vaW5kZXgiPgo8dGl0bGU+JywkV2MsJzwvdGl0bGU+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9IicsaChwcmVnX3JlcGxhY2UoIn5cXD8uKn4iLCIiLE1FKSkuIj9maWxlPWRlZmF1bHQuY3NzJmFtcDt2ZXJzaW9uPTMuMy4yIiwnIj4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgp2YXIgYXJlWW91U3VyZSA9IFwnJyxsYW5nKDQ2KSwnXCc7Cjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSInLGgocHJlZ19yZXBsYWNlKCJ+XFw/Lip+IiwiIixNRSkpLiI/ZmlsZT1mdW5jdGlvbnMuanMmYW1wO3ZlcnNpb249My4zLjIiLCciPjwvc2NyaXB0PgonO2lmKCRsLT5oZWFkKCkpe2VjaG8nPGxpbmsgcmVsPSJzaG9ydGN1dCBpY29uIiB0eXBlPSJpbWFnZS94LWljb24iIGhyZWY9IicsaChwcmVnX3JlcGxhY2UoIn5cXD8uKn4iLCIiLE1FKSkuIj9maWxlPWZhdmljb24uaWNvJmFtcDt2ZXJzaW9uPTMuMy4yIiwnIiBpZD0iZmF2aWNvbiI+Cic7aWYoZmlsZV9leGlzdHMoImFkbWluZXIuY3NzIikpe2VjaG8nPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iYWRtaW5lci5jc3MiPgonO319ZWNobycKPGJvZHkgY2xhc3M9IicsbGFuZyg0NSksJyBub2pzIicsKCRfUE9TVD8iIjoiIG9uY2xpY2s9XCJyZXR1cm4gYm9keUNsaWNrKGV2ZW50LCAnIi5oKGpzX2VzY2FwZShEQikuIicsICciLmpzX2VzY2FwZSgkX0dFVFsibnMiXSkpLiInKTtcIiIpO2VjaG8nIG9ua2V5ZG93bj0iYm9keUtleWRvd24oZXZlbnQpOyIgb25sb2FkPSJib2R5TG9hZChcJycsKGlzX29iamVjdCgkaCk/c3Vic3RyKCRoLT5zZXJ2ZXJfaW5mbywwLDMpOiIiKSwnXCcpOycsKGlzc2V0KCRfQ09PS0lFWyJhZG1pbmVyX3ZlcnNpb24iXSk/IiI6IiB2ZXJpZnlWZXJzaW9uKCk7Iik7Pz4iPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CmRvY3VtZW50LmJvZHkuY2xhc3NOYW1lID0gZG9jdW1lbnQuYm9keS5jbGFzc05hbWUucmVwbGFjZSgvKF58XHMpbm9qcyhcc3wkKS8sICckMWpzJDInKTsKPC9zY3JpcHQ+Cgo8ZGl2IGlkPSJjb250ZW50Ij4KPD9waHAKfWlmKGlzc2V0KCRCYikpeyR4PXN1YnN0cihwcmVnX3JlcGxhY2UoJ34odXNlcm5hbWV8ZGJ8bnMpPVteJl0qJn4nLCcnLE1FKSwwLC0xKTtlY2hvJzxwIGlkPSJicmVhZGNydW1iIj48YSBocmVmPSInLmgoJHg/JHg6Ii4iKS4nIj4nLiR3YVtEUklWRVJdLic8L2E+ICZyYXF1bzsgJzskeD1zdWJzdHIocHJlZ19yZXBsYWNlKCd+KGRifG5zKT1bXiZdKiZ+JywnJyxNRSksMCwtMSk7JEM9KFNFUlZFUiE9IiI/aChTRVJWRVIpOmxhbmcoNDcpKTtpZigkQmI9PT1mYWxzZSl7ZWNobyIkQ1xuIjt9ZWxzZXtlY2hvIjxhIGhyZWY9JyIuKCR4P2goJHgpOiIuIikuIicgYWNjZXNza2V5PScxJyB0aXRsZT0nQWx0K1NoaWZ0KzEnPiRDPC9hPiAmcmFxdW87ICI7aWYoJF9HRVRbIm5zIl0hPSIifHwoREIhPSIiJiZpc19hcnJheSgkQmIpKSl7ZWNobyc8YSBocmVmPSInLmgoJHguIiZkYj0iLnVybGVuY29kZShEQikuKHN1cHBvcnQoInNjaGVtZSIpPyImbnM9IjoiIikpLiciPicuaChEQikuJzwvYT4gJnJhcXVvOyAnO31pZihpc19hcnJheSgkQmIpKXtpZigkX0dFVFsibnMiXSE9IiIpe2VjaG8nPGEgaHJlZj0iJy5oKHN1YnN0cihNRSwwLC0xKSkuJyI+Jy5oKCRfR0VUWyJucyJdKS4nPC9hPiAmcmFxdW87ICc7fWZvcmVhY2goJEJiCmFzJGQ9PiRhKXskSmE9KGlzX2FycmF5KCRhKT8kYVsxXTokYSk7aWYoJEphIT0iIil7ZWNobyc8YSBocmVmPSInLmgoTUUuIiRkPSIpLnVybGVuY29kZShpc19hcnJheSgkYSk/JGFbMF06JGEpLiciPicuaCgkSmEpLic8L2E+ICZyYXF1bzsgJzt9fX1lY2hvIiRKY1xuIjt9fWVjaG8iPHNwYW4gaWQ9J2xvYWRlcic+PC9zcGFuPlxuIiwiPGgyPiRhZDwvaDI+XG4iO3Jlc3RhcnRfc2Vzc2lvbigpOyRWYz1wcmVnX3JlcGxhY2UoJ35eW14/XSp+JywnJywkX1NFUlZFUlsiUkVRVUVTVF9VUkkiXSk7JFhjPSRfU0VTU0lPTlsibWVzc2FnZXMiXVskVmNdO2lmKCRYYyl7ZWNobyI8ZGl2IGNsYXNzPSdtZXNzYWdlJz4iLmltcGxvZGUoIjwvZGl2PlxuPGRpdiBjbGFzcz0nbWVzc2FnZSc+IiwkWGMpLiI8L2Rpdj5cbiI7dW5zZXQoJF9TRVNTSU9OWyJtZXNzYWdlcyJdWyRWY10pO30kUD0mZ2V0X3Nlc3Npb24oImRicyIpO2lmKERCIT0iIiYmJFAmJiFpbl9hcnJheShEQiwkUCx0cnVlKSl7JFA9bnVsbDt9aWYoJHEpe2VjaG8iPGRpdiBjbGFzcz0nZXJyb3InPiRxPC9kaXY+XG4iO31kZWZpbmUoIlBBR0VfSEVBREVSIiwxKTt9ZnVuY3Rpb24KcGFnZV9mb290ZXIoJERiPSIiKXtnbG9iYWwkbDtpZighaXNfYWpheCgpKXtlY2hvJzwvZGl2PgoKJztzd2l0Y2hfbGFuZygpO2VjaG8nPGRpdiBpZD0ibWVudSI+Cic7JGwtPm5hdmlnYXRpb24oJERiKTtlY2hvJzwvZGl2PgonO319ZnVuY3Rpb24KaW50MzIoJE0pe3doaWxlKCRNPj0yMTQ3NDgzNjQ4KXskTS09NDI5NDk2NzI5Njt9d2hpbGUoJE08PS0yMTQ3NDgzNjQ5KXskTSs9NDI5NDk2NzI5Njt9cmV0dXJuKGludCkkTTt9ZnVuY3Rpb24KbG9uZzJzdHIoJHMsJHNjKXskVGE9Jyc7Zm9yZWFjaCgkcwphcyRhKXskVGEuPXBhY2soJ1YnLCRhKTt9aWYoJHNjKXtyZXR1cm4Kc3Vic3RyKCRUYSwwLGVuZCgkcykpO31yZXR1cm4kVGE7fWZ1bmN0aW9uCnN0cjJsb25nKCRUYSwkc2MpeyRzPWFycmF5X3ZhbHVlcyh1bnBhY2soJ1YqJyxzdHJfcGFkKCRUYSw0KmNlaWwoc3RybGVuKCRUYSkvNCksIlwwIikpKTtpZigkc2MpeyRzW109c3RybGVuKCRUYSk7fXJldHVybiRzO31mdW5jdGlvbgp4eHRlYV9teCgkbWEsJGxhLCRzYSwkdmEpe3JldHVybgppbnQzMigoKCRtYT4+NSYweDdGRkZGRkYpXiRsYTw8MikrKCgkbGE+PjMmMHgxRkZGRkZGRileJG1hPDw0KSleaW50MzIoKCRzYV4kbGEpKygkdmFeJG1hKSk7fWZ1bmN0aW9uCmVuY3J5cHRfc3RyaW5nKCRDYiwkZCl7aWYoJENiPT0iIil7cmV0dXJuIiI7fSRkPWFycmF5X3ZhbHVlcyh1bnBhY2soIlYqIixwYWNrKCJIKiIsbWQ1KCRkKSkpKTskcz1zdHIybG9uZygkQ2IsdHJ1ZSk7JE09Y291bnQoJHMpLTE7JG1hPSRzWyRNXTskbGE9JHNbMF07JFRiPWZsb29yKDYrNTIvKCRNKzEpKTskc2E9MDt3aGlsZSgkVGItLT4wKXskc2E9aW50MzIoJHNhKzB4OUUzNzc5QjkpOyRBYj0kc2E+PjImMztmb3IoJGthPTA7JGthPCRNOyRrYSsrKXskbGE9JHNbJGthKzFdOyRVYT14eHRlYV9teCgkbWEsJGxhLCRzYSwkZFska2EmM14kQWJdKTskbWE9aW50MzIoJHNbJGthXSskVWEpOyRzWyRrYV09JG1hO30kbGE9JHNbMF07JFVhPXh4dGVhX214KCRtYSwkbGEsJHNhLCRkWyRrYSYzXiRBYl0pOyRtYT1pbnQzMigkc1skTV0rJFVhKTskc1skTV09JG1hO31yZXR1cm4KbG9uZzJzdHIoJHMsZmFsc2UpO31mdW5jdGlvbgpkZWNyeXB0X3N0cmluZygkQ2IsJGQpe2lmKCRDYj09IiIpe3JldHVybiIiO30kZD1hcnJheV92YWx1ZXModW5wYWNrKCJWKiIscGFjaygiSCoiLG1kNSgkZCkpKSk7JHM9c3RyMmxvbmcoJENiLGZhbHNlKTskTT1jb3VudCgkcyktMTskbWE9JHNbJE1dOyRsYT0kc1swXTskVGI9Zmxvb3IoNis1Mi8oJE0rMSkpOyRzYT1pbnQzMigkVGIqMHg5RTM3NzlCOSk7d2hpbGUoJHNhKXskQWI9JHNhPj4yJjM7Zm9yKCRrYT0kTTska2E+MDska2EtLSl7JG1hPSRzWyRrYS0xXTskVWE9eHh0ZWFfbXgoJG1hLCRsYSwkc2EsJGRbJGthJjNeJEFiXSk7JGxhPWludDMyKCRzWyRrYV0tJFVhKTskc1ska2FdPSRsYTt9JG1hPSRzWyRNXTskVWE9eHh0ZWFfbXgoJG1hLCRsYSwkc2EsJGRbJGthJjNeJEFiXSk7JGxhPWludDMyKCRzWzBdLSRVYSk7JHNbMF09JGxhOyRzYT1pbnQzMigkc2EtMHg5RTM3NzlCOSk7fXJldHVybgpsb25nMnN0cigkcyx0cnVlKTt9JGg9Jyc7JF9hPSRfU0VTU0lPTlsidG9rZW4iXTtpZighJF9TRVNTSU9OWyJ0b2tlbiJdKXskX1NFU1NJT05bInRva2VuIl09cmFuZCgxLDFlNik7fSRSYT1hcnJheSgpO2lmKCRfQ09PS0lFWyJhZG1pbmVyX3Blcm1hbmVudCJdKXtmb3JlYWNoKGV4cGxvZGUoIiAiLCRfQ09PS0lFWyJhZG1pbmVyX3Blcm1hbmVudCJdKWFzJGEpe2xpc3QoJGQpPWV4cGxvZGUoIjoiLCRhKTskUmFbJGRdPSRhO319aWYoaXNzZXQoJF9QT1NUWyJzZXJ2ZXIiXSkpe3Nlc3Npb25fcmVnZW5lcmF0ZV9pZCgpOyRfU0VTU0lPTlsicHdkcyJdWyRfUE9TVFsiZHJpdmVyIl1dWyRfUE9TVFsic2VydmVyIl1dWyRfUE9TVFsidXNlcm5hbWUiXV09JF9QT1NUWyJwYXNzd29yZCJdO2lmKCRfUE9TVFsicGVybWFuZW50Il0peyRkPWJhc2U2NF9lbmNvZGUoJF9QT1NUWyJkcml2ZXIiXSkuIi0iLmJhc2U2NF9lbmNvZGUoJF9QT1NUWyJzZXJ2ZXIiXSkuIi0iLmJhc2U2NF9lbmNvZGUoJF9QT1NUWyJ1c2VybmFtZSJdKTskV2I9JGwtPnBlcm1hbmVudExvZ2luKCk7JFJhWyRkXT0iJGQ6Ii5iYXNlNjRfZW5jb2RlKCRXYj9lbmNyeXB0X3N0cmluZygkX1BPU1RbInBhc3N3b3JkIl0sJFdiKToiIik7Y29va2llKCJhZG1pbmVyX3Blcm1hbmVudCIsaW1wbG9kZSgiICIsJFJhKSk7fWlmKGNvdW50KCRfUE9TVCk9PSgkX1BPU1RbInBlcm1hbmVudCJdPzU6NCl8fERSSVZFUiE9JF9QT1NUWyJkcml2ZXIiXXx8U0VSVkVSIT0kX1BPU1RbInNlcnZlciJdfHwkX0dFVFsidXNlcm5hbWUiXSE9PSRfUE9TVFsidXNlcm5hbWUiXSl7cmVkaXJlY3QoYXV0aF91cmwoJF9QT1NUWyJkcml2ZXIiXSwkX1BPU1RbInNlcnZlciJdLCRfUE9TVFsidXNlcm5hbWUiXSkpO319ZWxzZWlmKCRfUE9TVFsibG9nb3V0Il0pe2lmKCRfYSYmJF9QT1NUWyJ0b2tlbiJdIT0kX2Epe3BhZ2VfaGVhZGVyKGxhbmcoNDQpLGxhbmcoNDgpKTtwYWdlX2Zvb3RlcigiZGIiKTtleGl0O31lbHNle2ZvcmVhY2goYXJyYXkoInB3ZHMiLCJkYnMiLCJxdWVyaWVzIilhcyRkKXtzZXRfc2Vzc2lvbigkZCxudWxsKTt9JGQ9YmFzZTY0X2VuY29kZShEUklWRVIpLiItIi5iYXNlNjRfZW5jb2RlKFNFUlZFUikuIi0iLmJhc2U2NF9lbmNvZGUoJF9HRVRbInVzZXJuYW1lIl0pO2lmKCRSYVskZF0pe3Vuc2V0KCRSYVskZF0pO2Nvb2tpZSgiYWRtaW5lcl9wZXJtYW5lbnQiLGltcGxvZGUoIiAiLCRSYSkpO31yZWRpcmVjdChzdWJzdHIocHJlZ19yZXBsYWNlKCd+KHVzZXJuYW1lfGRifG5zKT1bXiZdKiZ+JywnJyxNRSksMCwtMSksbGFuZyg0OSkpO319ZWxzZWlmKCRSYSYmISRfU0VTU0lPTlsicHdkcyJdKXtzZXNzaW9uX3JlZ2VuZXJhdGVfaWQoKTskV2I9JGwtPnBlcm1hbmVudExvZ2luKCk7Zm9yZWFjaCgkUmEKYXMkZD0+JGEpe2xpc3QoLCRZZCk9ZXhwbG9kZSgiOiIsJGEpO2xpc3QoJFNiLCRDLCRGKT1hcnJheV9tYXAoJ2Jhc2U2NF9kZWNvZGUnLGV4cGxvZGUoIi0iLCRkKSk7JF9TRVNTSU9OWyJwd2RzIl1bJFNiXVskQ11bJEZdPWRlY3J5cHRfc3RyaW5nKGJhc2U2NF9kZWNvZGUoJFlkKSwkV2IpO319ZnVuY3Rpb24KYXV0aF9lcnJvcigkU2M9bnVsbCl7Z2xvYmFsJGgsJGwsJF9hOyRYYj1zZXNzaW9uX25hbWUoKTskcT0iIjtpZighJF9DT09LSUVbJFhiXSYmJF9HRVRbJFhiXSYmaW5pX2Jvb2woInNlc3Npb24udXNlX29ubHlfY29va2llcyIpKXskcT1sYW5nKDUwKTt9ZWxzZWlmKGlzc2V0KCRfR0VUWyJ1c2VybmFtZSJdKSl7aWYoKCRfQ09PS0lFWyRYYl18fCRfR0VUWyRYYl0pJiYhJF9hKXskcT1sYW5nKDUxKTt9ZWxzZXskSD0mZ2V0X3Nlc3Npb24oInB3ZHMiKTtpZihpc3NldCgkSCkpeyRxPWgoJFNjPyRTYy0+Z2V0TWVzc2FnZSgpOihpc19zdHJpbmcoJGgpPyRoOmxhbmcoNTIpKSk7JEg9bnVsbDt9fX1wYWdlX2hlYWRlcihsYW5nKDIyKSwkcSxudWxsKTtlY2hvIjxmb3JtIGFjdGlvbj0nJyBtZXRob2Q9J3Bvc3QnIG9uY2xpY2s9J2V2ZW50U3RvcChldmVudCk7Jz5cbiI7JGwtPmxvZ2luRm9ybSgpO2VjaG8iPGRpdj4iO2hpZGRlbl9maWVsZHMoJF9QT1NULGFycmF5KCJkcml2ZXIiLCJzZXJ2ZXIiLCJ1c2VybmFtZSIsInBhc3N3b3JkIiwicGVybWFuZW50IikpO2VjaG8iPC9kaXY+XG4iLCI8L2Zvcm0+XG4iO3BhZ2VfZm9vdGVyKCJhdXRoIik7fWlmKGlzc2V0KCRfR0VUWyJ1c2VybmFtZSJdKSl7aWYoIWNsYXNzX2V4aXN0cygiTWluX0RCIikpe3Vuc2V0KCRfU0VTU0lPTlsicHdkcyJdW0RSSVZFUl0pO3BhZ2VfaGVhZGVyKGxhbmcoNTMpLGxhbmcoNTQsaW1wbG9kZSgiLCAiLCRJYikpLGZhbHNlKTtwYWdlX2Zvb3RlcigiYXV0aCIpO2V4aXQ7fSRoPWNvbm5lY3QoKTt9aWYoaXNfc3RyaW5nKCRoKXx8ISRsLT5sb2dpbigkX0dFVFsidXNlcm5hbWUiXSxnZXRfc2Vzc2lvbigicHdkcyIpKSl7YXV0aF9lcnJvcigpO2V4aXQ7fSRfYT0kX1NFU1NJT05bInRva2VuIl07aWYoaXNzZXQoJF9QT1NUWyJzZXJ2ZXIiXSkmJiRfUE9TVFsidG9rZW4iXSl7JF9QT1NUWyJ0b2tlbiJdPSRfYTt9JHE9KCRfUE9TVD8oJF9QT1NUWyJ0b2tlbiJdPT0kX2E/IiI6bGFuZyg0OCkpOigkX1NFUlZFUlsiUkVRVUVTVF9NRVRIT0QiXSE9IlBPU1QiPyIiOmxhbmcoNTUsJyJwb3N0X21heF9zaXplIicpKSk7JGgtPnNlbGVjdF9kYigkbC0+ZGF0YWJhc2UoKSk7ZnVuY3Rpb24KZW1haWxfaGVhZGVyKCRTZCl7cmV0dXJuIj0/VVRGLTg/Qj8iLmJhc2U2NF9lbmNvZGUoJFNkKS4iPz0iO31mdW5jdGlvbgpzZW5kX21haWwoJG1iLCRiYywkeGEsJGdiPSIiLCRZYj1hcnJheSgpKXskaGE9KHN0cm5jYXNlY21wKFBIUF9PUywid2luIiwzKT8iXG4iOiJcclxuIik7JHhhPXN0cl9yZXBsYWNlKCJcbiIsJGhhLHdvcmR3cmFwKHN0cl9yZXBsYWNlKCJcciIsIiIsIiR4YVxuIikpKTskVmI9dW5pcWlkKCJib3VuZGFyeSIpOyRaYj0iIjtmb3JlYWNoKChhcnJheSkkWWJbImVycm9yIl1hcyRkPT4kYSl7aWYoISRhKXskWmIuPSItLSRWYiRoYSIuIkNvbnRlbnQtVHlwZTogIi5zdHJfcmVwbGFjZSgiXG4iLCIiLCRZYlsidHlwZSJdWyRkXSkuJGhhLiJDb250ZW50LURpc3Bvc2l0aW9uOiBhdHRhY2htZW50OyBmaWxlbmFtZT1cIiIucHJlZ19yZXBsYWNlKCd+WyJcXG5dficsJycsJFliWyJuYW1lIl1bJGRdKS4iXCIkaGEiLiJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiBiYXNlNjQkaGEkaGEiLmNodW5rX3NwbGl0KGJhc2U2NF9lbmNvZGUoZmlsZV9nZXRfY29udGVudHMoJFliWyJ0bXBfbmFtZSJdWyRkXSkpLDc2LCRoYSkuJGhhO319JE9jPSIiOyRhYz0iQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PXV0Zi04JGhhIi4iQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdCI7aWYoJFpiKXskWmIuPSItLSRWYi0tJGhhIjskT2M9Ii0tJFZiJGhhJGFjJGhhJGhhIjskYWM9IkNvbnRlbnQtVHlwZTogbXVsdGlwYXJ0L21peGVkOyBib3VuZGFyeT1cIiRWYlwiIjt9JGFjLj0kaGEuIk1JTUUtVmVyc2lvbjogMS4wJGhhIi4iWC1NYWlsZXI6IEFkbWluZXIgRWRpdG9yIi4oJGdiPyRoYS4iRnJvbTogIi5zdHJfcmVwbGFjZSgiXG4iLCIiLCRnYik6IiIpO3JldHVybgptYWlsKCRtYixlbWFpbF9oZWFkZXIoJGJjKSwkT2MuJHhhLiRaYiwkYWMpO31mdW5jdGlvbgpsaWtlX2Jvb2woJGcpe3JldHVybgplcmVnKCJib29sfCh0aW55aW50fGJpdClcXCgxXFwpIiwkZ1siZnVsbF90eXBlIl0pO31zZXNzaW9uX2NhY2hlX2xpbWl0ZXIoIiIpO2lmKCFpbmlfYm9vbCgic2Vzc2lvbi51c2VfY29va2llcyIpfHxAaW5pX3NldCgic2Vzc2lvbi51c2VfY29va2llcyIsZmFsc2UpIT09ZmFsc2Upe3Nlc3Npb25fd3JpdGVfY2xvc2UoKTt9JFphPSJSRVNUUklDVHxDQVNDQURFfFNFVCBOVUxMfE5PIEFDVElPTiI7JHdhW0RSSVZFUl09bGFuZygyMik7aWYoaXNzZXQoJF9HRVRbInNlbGVjdCJdKSYmKCRfUE9TVFsiZWRpdCJdfHwkX1BPU1RbImNsb25lIl0pJiYhJF9QT1NUWyJzYXZlIl0peyRfR0VUWyJlZGl0Il09JF9HRVRbInNlbGVjdCJdO31pZihpc3NldCgkX0dFVFsiZG93bmxvYWQiXSkpeyR5PSRfR0VUWyJkb3dubG9hZCJdO2hlYWRlcigiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0iKTtoZWFkZXIoIkNvbnRlbnQtRGlzcG9zaXRpb246IGF0dGFjaG1lbnQ7IGZpbGVuYW1lPSIuZnJpZW5kbHlfdXJsKCIkeS0iLmltcGxvZGUoIl8iLCRfR0VUWyJ3aGVyZSJdKSkuIi4iLmZyaWVuZGx5X3VybCgkX0dFVFsiZmllbGQiXSkpO2VjaG8kaC0+cmVzdWx0KCJTRUxFQ1QiLmxpbWl0KGlkZl9lc2NhcGUoJF9HRVRbImZpZWxkIl0pLiIgRlJPTSAiLnRhYmxlKCR5KSwiIFdIRVJFICIud2hlcmUoJF9HRVQpLDEpKTtleGl0O31lbHNlaWYoaXNzZXQoJF9HRVRbImVkaXQiXSkpeyR5PSRfR0VUWyJlZGl0Il07JG09KGlzc2V0KCRfR0VUWyJzZWxlY3QiXSk/KGNvdW50KCRfUE9TVFsiY2hlY2siXSk9PTE/d2hlcmVfY2hlY2soJF9QT1NUWyJjaGVjayJdWzBdKToiIik6d2hlcmUoJF9HRVQpKTskWT0oaXNzZXQoJF9HRVRbInNlbGVjdCJdKT8kX1BPU1RbImVkaXQiXTokbSk7JHQ9ZmllbGRzKCR5KTtmb3JlYWNoKCR0CmFzJGY9PiRnKXtpZighaXNzZXQoJGdbInByaXZpbGVnZXMiXVskWT8idXBkYXRlIjoiaW5zZXJ0Il0pfHwkbC0+ZmllbGROYW1lKCRnKT09IiIpe3Vuc2V0KCR0WyRmXSk7fX1pZigkX1BPU1QmJiEkcSYmIWlzc2V0KCRfR0VUWyJzZWxlY3QiXSkpeyRaPSRfUE9TVFsicmVmZXJlciJdO2lmKCRfUE9TVFsiaW5zZXJ0Il0peyRaPSgkWT9udWxsOiRfU0VSVkVSWyJSRVFVRVNUX1VSSSJdKTt9ZWxzZWlmKCFlcmVnKCdeLismc2VsZWN0PS4rJCcsJFopKXskWj1NRS4ic2VsZWN0PSIudXJsZW5jb2RlKCR5KTt9aWYoaXNzZXQoJF9QT1NUWyJkZWxldGUiXSkpe3F1ZXJ5X3JlZGlyZWN0KCJERUxFVEUiLmxpbWl0MSgiRlJPTSAiLnRhYmxlKCR5KSwiIFdIRVJFICRtIiksJFosbGFuZyg1NikpO31lbHNleyRvPWFycmF5KCk7Zm9yZWFjaCgkdAphcyRmPT4kZyl7JGE9cHJvY2Vzc19pbnB1dCgkZyk7aWYoJGEhPT1mYWxzZSYmJGEhPT1udWxsKXskb1tpZGZfZXNjYXBlKCRmKV09KCRZPyJcbiIuaWRmX2VzY2FwZSgkZikuIiA9ICRhIjokYSk7fX1pZigkWSl7aWYoISRvKXtyZWRpcmVjdCgkWik7fXF1ZXJ5X3JlZGlyZWN0KCJVUERBVEUiLmxpbWl0MSh0YWJsZSgkeSkuIiBTRVQiLmltcGxvZGUoIiwiLCRvKSwiXG5XSEVSRSAkbSIpLCRaLGxhbmcoNTcpKTt9ZWxzZXskaT1pbnNlcnRfaW50bygkeSwkbyk7JFljPSgkaT9sYXN0X2lkKCk6MCk7cXVlcmllc19yZWRpcmVjdCgkWixsYW5nKDU4LCgkWWM/IiAkWWMiOiIiKSksJGkpO319fSRfYj0kbC0+dGFibGVOYW1lKHRhYmxlX3N0YXR1cygkeSkpO3BhZ2VfaGVhZGVyKCgkWT9sYW5nKDU5KTpsYW5nKDM3KSksJHEsYXJyYXkoInNlbGVjdCI9PmFycmF5KCR5LCRfYikpLCRfYik7JGM9bnVsbDtpZigkX1BPU1RbInNhdmUiXSl7JGM9KGFycmF5KSRfUE9TVFsiZmllbGRzIl07fWVsc2VpZigkbSl7JEc9YXJyYXkoKTtmb3JlYWNoKCR0CmFzJGY9PiRnKXtpZihpc3NldCgkZ1sicHJpdmlsZWdlcyJdWyJzZWxlY3QiXSkpeyRHW109KCRfUE9TVFsiY2xvbmUiXSYmJGdbImF1dG9faW5jcmVtZW50Il0/IicnIEFTICI6KGVyZWcoImVudW18c2V0IiwkZ1sidHlwZSJdKT8iMSoiLmlkZl9lc2NhcGUoJGYpLiIgQVMgIjoiIikpLmlkZl9lc2NhcGUoJGYpO319JGM9YXJyYXkoKTtpZigkRyl7JEE9Z2V0X3Jvd3MoIlNFTEVDVCIubGltaXQoaW1wbG9kZSgiLCAiLCRHKS4iIEZST00gIi50YWJsZSgkeSksIiBXSEVSRSAkbSIsKGlzc2V0KCRfR0VUWyJzZWxlY3QiXSk/MjoxKSkpOyRjPShpc3NldCgkX0dFVFsic2VsZWN0Il0pJiZjb3VudCgkQSkhPTE/bnVsbDpyZXNldCgkQSkpO319aWYoJGM9PT1mYWxzZSl7ZWNobyI8cCBjbGFzcz0nZXJyb3InPiIubGFuZyg2MCkuIlxuIjt9ZWNobycKPGZvcm0gYWN0aW9uPSIiIG1ldGhvZD0icG9zdCIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgaWQ9ImZvcm0iPgonO2lmKCR0KXtlY2hvIjx0YWJsZSBjZWxsc3BhY2luZz0nMCcgb25rZXlkb3duPSdyZXR1cm4gZWRpdGluZ0tleWRvd24oZXZlbnQpOyc+XG4iO2ZvcmVhY2goJHQKYXMkZj0+JGcpe2VjaG8iPHRyPjx0aD4iLiRsLT5maWVsZE5hbWUoJGcpOyRsYj0kX0dFVFsic2V0Il1bYnJhY2tldF9lc2NhcGUoJGYpXTskbj0oaXNzZXQoJGMpPygkY1skZl0hPSIiJiZlcmVnKCJlbnVtfHNldCIsJGdbInR5cGUiXSk/KGlzX2FycmF5KCRjWyRmXSk/YXJyYXlfc3VtKCRjWyRmXSk6KyRjWyRmXSk6JGNbJGZdKTooISRZJiYkZ1siYXV0b19pbmNyZW1lbnQiXT8iIjooaXNzZXQoJF9HRVRbInNlbGVjdCJdKT9mYWxzZTooaXNzZXQoJGxiKT8kbGI6JGdbImRlZmF1bHQiXSkpKSk7aWYoISRfUE9TVFsic2F2ZSJdJiZpc19zdHJpbmcoJG4pKXskbj0kbC0+ZWRpdFZhbCgkbiwkZyk7fSRMPSgkX1BPU1RbInNhdmUiXT8oc3RyaW5nKSRfUE9TVFsiZnVuY3Rpb24iXVskZl06KCRZJiYkZ1sib25fdXBkYXRlIl09PSJDVVJSRU5UX1RJTUVTVEFNUCI/Im5vdyI6KCRuPT09ZmFsc2U/bnVsbDooaXNzZXQoJG4pPycnOidOVUxMJykpKSk7aWYoJGdbInR5cGUiXT09InRpbWVzdGFtcCImJiRuPT0iQ1VSUkVOVF9USU1FU1RBTVAiKXskbj0iIjskTD0ibm93Ijt9aW5wdXQoJGcsJG4sJEwpO2VjaG8iXG4iO31lY2hvIjwvdGFibGU+XG4iO31lY2hvJzxwPgonO2lmKCR0KXtlY2hvIjxpbnB1dCB0eXBlPSdzdWJtaXQnIHZhbHVlPSciLmxhbmcoNjEpLiInPlxuIjtpZighaXNzZXQoJF9HRVRbInNlbGVjdCJdKSl7ZWNobyI8aW5wdXQgdHlwZT0nc3VibWl0JyBuYW1lPSdpbnNlcnQnIHZhbHVlPSciLigkWT9sYW5nKDYyKTpsYW5nKDYzKSkuIicgdGl0bGU9J0N0cmwrU2hpZnQrRW50ZXInPlxuIjt9fWVjaG8oJFk/IjxpbnB1dCB0eXBlPSdzdWJtaXQnIG5hbWU9J2RlbGV0ZScgdmFsdWU9JyIubGFuZyg2NCkuIicgb25jbGljaz1cInJldHVybiBjb25maXJtKCciLmxhbmcoMCkuIicpO1wiPlxuIjooJF9QT1NUfHwhJHQ/IiI6IjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZm9ybScpLmdldEVsZW1lbnRzQnlUYWdOYW1lKCd0ZCcpWzFdLmZpcnN0Q2hpbGQuZm9jdXMoKTs8L3NjcmlwdD5cbiIpKTtpZihpc3NldCgkX0dFVFsic2VsZWN0Il0pKXtoaWRkZW5fZmllbGRzKGFycmF5KCJjaGVjayI9PihhcnJheSkkX1BPU1RbImNoZWNrIl0sImNsb25lIj0+JF9QT1NUWyJjbG9uZSJdLCJhbGwiPT4kX1BPU1RbImFsbCJdKSk7fWVjaG8nPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icmVmZXJlciIgdmFsdWU9IicsaChpc3NldCgkX1BPU1RbInJlZmVyZXIiXSk/JF9QT1NUWyJyZWZlcmVyIl06JF9TRVJWRVJbIkhUVFBfUkVGRVJFUiJdKSwnIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ic2F2ZSIgdmFsdWU9IjEiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ0b2tlbiIgdmFsdWU9IicsJF9hLCciPgo8L2Zvcm0+Cic7fWVsc2VpZihpc3NldCgkX0dFVFsic2VsZWN0Il0pKXskeT0kX0dFVFsic2VsZWN0Il07JHc9dGFibGVfc3RhdHVzKCR5KTskYmE9aW5kZXhlcygkeSk7JHQ9ZmllbGRzKCR5KTskeGI9Y29sdW1uX2ZvcmVpZ25fa2V5cygkeSk7aWYoJHdbIk9pZCJdPT0idCIpeyRiYVtdPWFycmF5KCJ0eXBlIj0+IlBSSU1BUlkiLCJjb2x1bW5zIj0+YXJyYXkoIm9pZCIpKTt9cGFyc2Vfc3RyKCRfQ09PS0lFWyJhZG1pbmVyX2ltcG9ydCJdLCRjYyk7JGJkPWFycmF5KCk7JEs9YXJyYXkoKTskcGI9bnVsbDtmb3JlYWNoKCR0CmFzJGQ9PiRnKXskZj0kbC0+ZmllbGROYW1lKCRnKTtpZihpc3NldCgkZ1sicHJpdmlsZWdlcyJdWyJzZWxlY3QiXSkmJiRmIT0iIil7JEtbJGRdPWh0bWxfZW50aXR5X2RlY29kZShzdHJpcF90YWdzKCRmKSk7aWYoZXJlZygndGV4dHxsb2InLCRnWyJ0eXBlIl0pKXskcGI9JGwtPnNlbGVjdExlbmd0aFByb2Nlc3MoKTt9fSRiZCs9JGdbInByaXZpbGVnZXMiXTt9bGlzdCgkRywkamEpPSRsLT5zZWxlY3RDb2x1bW5zUHJvY2VzcygkSywkYmEpOyRtPSRsLT5zZWxlY3RTZWFyY2hQcm9jZXNzKCR0LCRiYSk7JHBhPSRsLT5zZWxlY3RPcmRlclByb2Nlc3MoJHQsJGJhKTskXz0kbC0+c2VsZWN0TGltaXRQcm9jZXNzKCk7JGdiPSgkRz9pbXBsb2RlKCIsICIsJEcpOigkd1siT2lkIl09PSJ0Ij8ib2lkLCAiOiIiKS4iKiIpLiJcbkZST00gIi50YWJsZSgkeSk7JHBjPSgkamEmJmNvdW50KCRqYSk8Y291bnQoJEcpPyJcbkdST1VQIEJZICIuaW1wbG9kZSgiLCAiLCRqYSk6IiIpLigkcGE/IlxuT1JERVIgQlkgIi5pbXBsb2RlKCIsICIsJHBhKToiIik7aWYoJF9HRVRbInZhbCJdJiZpc19hamF4KCkpe2hlYWRlcigiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PXV0Zi04Iik7Zm9yZWFjaCgkX0dFVFsidmFsIl1hcyRIYT0+JGMpe2VjaG8kaC0+cmVzdWx0KCJTRUxFQ1QiLmxpbWl0KGlkZl9lc2NhcGUoa2V5KCRjKSkuIiBGUk9NICIudGFibGUoJHkpLCIgV0hFUkUgIi53aGVyZV9jaGVjaygkSGEpLigkbT8iIEFORCAiLmltcGxvZGUoIiBBTkQgIiwkbSk6IiIpLigkcGE/IiBPUkRFUiBCWSAiLmltcGxvZGUoIiwgIiwkcGEpOiIiKSwxKSk7fWV4aXQ7fWlmKCRfUE9TVCYmISRxKXskbWQ9IigiLmltcGxvZGUoIikgT1IgKCIsYXJyYXlfbWFwKCd3aGVyZV9jaGVjaycsKGFycmF5KSRfUE9TVFsiY2hlY2siXSkpLiIpIjskeWE9JHpiPW51bGw7Zm9yZWFjaCgkYmEKYXMkY2Epe2lmKCRjYVsidHlwZSJdPT0iUFJJTUFSWSIpeyR5YT1hcnJheV9mbGlwKCRjYVsiY29sdW1ucyJdKTskemI9KCRHPyR5YTphcnJheSgpKTticmVhazt9fWZvcmVhY2goKGFycmF5KSR6YgphcyRkPT4kYSl7aWYoaW5fYXJyYXkoaWRmX2VzY2FwZSgkZCksJEcpKXt1bnNldCgkemJbJGRdKTt9fWlmKCRfUE9TVFsiZXhwb3J0Il0pe2Nvb2tpZSgiYWRtaW5lcl9pbXBvcnQiLCJvdXRwdXQ9Ii51cmxlbmNvZGUoJF9QT1NUWyJvdXRwdXQiXSkuIiZmb3JtYXQ9Ii51cmxlbmNvZGUoJF9QT1NUWyJmb3JtYXQiXSkpO2R1bXBfaGVhZGVycygkeSk7JGwtPmR1bXBUYWJsZSgkeSwiIik7aWYoIWlzX2FycmF5KCRfUE9TVFsiY2hlY2siXSl8fCR6Yj09PWFycmF5KCkpeyRrYj0kbTtpZihpc19hcnJheSgkX1BPU1RbImNoZWNrIl0pKXska2JbXT0iKCRtZCkiO30kaj0iU0VMRUNUICRnYiIuKCRrYj8iXG5XSEVSRSAiLmltcGxvZGUoIiBBTkQgIiwka2IpOiIiKS4kcGM7fWVsc2V7JGxkPWFycmF5KCk7Zm9yZWFjaCgkX1BPU1RbImNoZWNrIl1hcyRhKXskbGRbXT0iKFNFTEVDVCIubGltaXQoJGdiLCJcbldIRVJFICIuKCRtP2ltcGxvZGUoIiBBTkQgIiwkbSkuIiBBTkQgIjoiIikud2hlcmVfY2hlY2soJGEpLiRwYywxKS4iKSI7fSRqPWltcGxvZGUoIiBVTklPTiBBTEwgIiwkbGQpO30kbC0+ZHVtcERhdGEoJHksInRhYmxlIiwkaik7ZXhpdDt9aWYoISRsLT5zZWxlY3RFbWFpbFByb2Nlc3MoJG0sJHhiKSl7aWYoJF9QT1NUWyJzYXZlIl18fCRfUE9TVFsiZGVsZXRlIl0peyRpPXRydWU7JE5hPTA7JGo9dGFibGUoJHkpOyRvPWFycmF5KCk7aWYoISRfUE9TVFsiZGVsZXRlIl0pe2ZvcmVhY2goJEsKYXMkZj0+JGEpeyRhPXByb2Nlc3NfaW5wdXQoJHRbJGZdKTtpZigkYSE9PW51bGwpe2lmKCRfUE9TVFsiY2xvbmUiXSl7JG9baWRmX2VzY2FwZSgkZildPSgkYSE9PWZhbHNlPyRhOmlkZl9lc2NhcGUoJGYpKTt9ZWxzZWlmKCRhIT09ZmFsc2UpeyRvW109aWRmX2VzY2FwZSgkZikuIiA9ICRhIjt9fX0kai49KCRfUE9TVFsiY2xvbmUiXT8iICgiLmltcGxvZGUoIiwgIixhcnJheV9rZXlzKCRvKSkuIilcblNFTEVDVCAiLmltcGxvZGUoIiwgIiwkbykuIlxuRlJPTSAiLnRhYmxlKCR5KToiIFNFVFxuIi5pbXBsb2RlKCIsXG4iLCRvKSk7fWlmKCRfUE9TVFsiZGVsZXRlIl18fCRvKXskUGI9IlVQREFURSI7aWYoJF9QT1NUWyJkZWxldGUiXSl7JFBiPSJERUxFVEUiOyRqPSJGUk9NICRqIjt9aWYoJF9QT1NUWyJjbG9uZSJdKXskUGI9IklOU0VSVCI7JGo9IklOVE8gJGoiO31pZigkX1BPU1RbImFsbCJdfHwoJHpiPT09YXJyYXkoKSYmJF9QT1NUWyJjaGVjayJdKXx8Y291bnQoJGphKTxjb3VudCgkRykpeyRpPXF1ZXJpZXMoJFBiLiIgJGoiLigkX1BPU1RbImFsbCJdPygkbT8iXG5XSEVSRSAiLmltcGxvZGUoIiBBTkQgIiwkbSk6IiIpOiJcbldIRVJFICRtZCIpKTskTmE9JGgtPmFmZmVjdGVkX3Jvd3M7fWVsc2V7Zm9yZWFjaCgoYXJyYXkpJF9QT1NUWyJjaGVjayJdYXMkYSl7JGk9cXVlcmllcygkUGIubGltaXQxKCRqLCJcbldIRVJFICIud2hlcmVfY2hlY2soJGEpKSk7aWYoISRpKXticmVhazt9JE5hKz0kaC0+YWZmZWN0ZWRfcm93czt9fX1xdWVyaWVzX3JlZGlyZWN0KHJlbW92ZV9mcm9tX3VyaSgicGFnZSIpLGxhbmcoNjUsJE5hKSwkaSk7fWVsc2VpZighJF9QT1NUWyJpbXBvcnQiXSl7aWYoISRfUE9TVFsidmFsIl0peyRxPWxhbmcoNjYpO31lbHNleyRpPXRydWU7JE5hPTA7Zm9yZWFjaCgkX1BPU1RbInZhbCJdYXMkSGE9PiRjKXskbz1hcnJheSgpO2ZvcmVhY2goJGMKYXMkZD0+JGEpeyRkPWJyYWNrZXRfZXNjYXBlKCRkLDEpOyRvW109aWRmX2VzY2FwZSgkZCkuIiA9ICIuKGVyZWcoJ2NoYXJ8dGV4dCcsJHRbJGRdWyJ0eXBlIl0pfHwkYSE9IiI/JGwtPnByb2Nlc3NJbnB1dCgkdFskZF0sJGEpOiJOVUxMIik7fSRqPXRhYmxlKCR5KS4iIFNFVCAiLmltcGxvZGUoIiwgIiwkbyk7JGtiPSIgV0hFUkUgIi53aGVyZV9jaGVjaygkSGEpLigkbT8iIEFORCAiLmltcGxvZGUoIiBBTkQgIiwkbSk6IiIpOyRpPXF1ZXJpZXMoIlVQREFURSIuKGNvdW50KCRqYSk8Y291bnQoJEcpPyIgJGoka2IiOmxpbWl0MSgkaiwka2IpKSk7aWYoISRpKXticmVhazt9JE5hKz0kaC0+YWZmZWN0ZWRfcm93czt9cXVlcmllc19yZWRpcmVjdChyZW1vdmVfZnJvbV91cmkoKSxsYW5nKDY1LCROYSksJGkpO319ZWxzZWlmKGlzX3N0cmluZygkcmE9Z2V0X2ZpbGUoImNzdl9maWxlIix0cnVlKSkpe2Nvb2tpZSgiYWRtaW5lcl9pbXBvcnQiLCJvdXRwdXQ9Ii51cmxlbmNvZGUoJGNjWyJvdXRwdXQiXSkuIiZmb3JtYXQ9Ii51cmxlbmNvZGUoJF9QT1NUWyJzZXBhcmF0b3IiXSkpOyRpPXRydWU7JGNiPWFycmF5X2tleXMoJHQpO3ByZWdfbWF0Y2hfYWxsKCd+KD8+IlteIl0qInxbXiJcXHJcXG5dKykrficsJHJhLCRnYSk7JE5hPWNvdW50KCRnYVswXSk7YmVnaW4oKTskcWE9KCRfUE9TVFsic2VwYXJhdG9yIl09PSJjc3YiPyIsIjooJF9QT1NUWyJzZXBhcmF0b3IiXT09InRzdiI/Ilx0IjoiOyIpKTtmb3JlYWNoKCRnYVswXWFzJGQ9PiRhKXtwcmVnX21hdGNoX2FsbCgifigoXCJbXlwiXSpcIikrfFteJHFhXSopJHFhfiIsJGEuJHFhLCRFYyk7aWYoISRkJiYhYXJyYXlfZGlmZigkRWNbMV0sJGNiKSl7JGNiPSRFY1sxXTskTmEtLTt9ZWxzZXskbz1hcnJheSgpO2ZvcmVhY2goJEVjWzFdYXMkcD0+JE9hKXskb1tpZGZfZXNjYXBlKCRjYlskcF0pXT0oJE9hPT0iIiYmJHRbJGNiWyRwXV1bIm51bGwiXT8iTlVMTCI6cShzdHJfcmVwbGFjZSgnIiInLCciJyxwcmVnX3JlcGxhY2UoJ35eInwiJH4nLCcnLCRPYSkpKSk7fSRpPWluc2VydF91cGRhdGUoJHksJG8sJHlhKTtpZighJGkpe2JyZWFrO319fWlmKCRpKXtxdWVyaWVzKCJDT01NSVQiKTt9cXVlcmllc19yZWRpcmVjdChyZW1vdmVfZnJvbV91cmkoInBhZ2UiKSxsYW5nKDY3LCROYSksJGkpO3F1ZXJpZXMoIlJPTExCQUNLIik7fWVsc2V7JHE9dXBsb2FkX2Vycm9yKCRyYSk7fX19JF9iPSRsLT50YWJsZU5hbWUoJHcpO3BhZ2VfaGVhZGVyKGxhbmcoMzMpLiI6ICRfYiIsJHEpO3Nlc3Npb25fd3JpdGVfY2xvc2UoKTskbz1udWxsO2lmKGlzc2V0KCRiZFsiaW5zZXJ0Il0pKXskbz0iIjtmb3JlYWNoKChhcnJheSkkX0dFVFsid2hlcmUiXWFzJGEpe2lmKGNvdW50KCR4YlskYVsiY29sIl1dKT09MSYmKCRhWyJvcCJdPT0iPSJ8fCghJGFbIm9wIl0mJiFlcmVnKCdbXyVdJywkYVsidmFsIl0pKSkpeyRvLj0iJnNldCIudXJsZW5jb2RlKCJbIi5icmFja2V0X2VzY2FwZSgkYVsiY29sIl0pLiJdIikuIj0iLnVybGVuY29kZSgkYVsidmFsIl0pO319fSRsLT5zZWxlY3RMaW5rcygkdywkbyk7aWYoISRLKXtlY2hvIjxwIGNsYXNzPSdlcnJvcic+Ii5sYW5nKDY4KS4oJHQ/Ii4iOiI6ICIuZXJyb3IoKSkuIlxuIjt9ZWxzZXtlY2hvIjxmb3JtIGFjdGlvbj0nJyBpZD0nZm9ybSc+XG4iLCI8ZGl2IHN0eWxlPSdkaXNwbGF5OiBub25lOyc+IjtoaWRkZW5fZmllbGRzX2dldCgpO2VjaG8oREIhPSIiPyc8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkYiIgdmFsdWU9IicuaChEQikuJyI+Jy4oaXNzZXQoJF9HRVRbIm5zIl0pPyc8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJucyIgdmFsdWU9IicuaCgkX0dFVFsibnMiXSkuJyI+JzoiIik6IiIpO2VjaG8nPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ic2VsZWN0IiB2YWx1ZT0iJy5oKCR5KS4nIj4nLCI8L2Rpdj5cbiI7JGwtPnNlbGVjdENvbHVtbnNQcmludCgkRywkSyk7JGwtPnNlbGVjdFNlYXJjaFByaW50KCRtLCRLLCRiYSk7JGwtPnNlbGVjdE9yZGVyUHJpbnQoJHBhLCRLLCRiYSk7JGwtPnNlbGVjdExpbWl0UHJpbnQoJF8pOyRsLT5zZWxlY3RMZW5ndGhQcmludCgkcGIpOyRsLT5zZWxlY3RBY3Rpb25QcmludCgpO2VjaG8iPC9mb3JtPlxuIjskTz0kX0dFVFsicGFnZSJdO2lmKCRPPT0ibGFzdCIpeyRMYT0kaC0+cmVzdWx0KCJTRUxFQ1QgQ09VTlQoKikgRlJPTSAiLnRhYmxlKCR5KS4oJG0/IiBXSEVSRSAiLmltcGxvZGUoIiBBTkQgIiwkbSk6IiIpKTskTz1mbG9vcihtYXgoMCwkTGEtMSkvJF8pO30kaj0iU0VMRUNUIi5saW1pdCgoKyRfJiYkamEmJmNvdW50KCRqYSk8Y291bnQoJEcpJiYkdGE9PSJzcWwiPyJTUUxfQ0FMQ19GT1VORF9ST1dTICI6IiIpLiRnYiwoJG0/IlxuV0hFUkUgIi5pbXBsb2RlKCIgQU5EICIsJG0pOiIiKS4kcGMsKCRfIT0iIj8rJF86bnVsbCksKCRPPyRfKiRPOjApLCJcbiIpO2VjaG8kbC0+c2VsZWN0UXVlcnkoJGopOyRpPSRoLT5xdWVyeSgkaik7aWYoISRpKXtlY2hvIjxwIGNsYXNzPSdlcnJvcic+Ii5lcnJvcigpLiJcbiI7fWVsc2V7aWYoJHRhPT0ibXNzcWwiKXskaS0+c2VlaygkXyokTyk7fSRmYz1hcnJheSgpO2VjaG8iPGZvcm0gYWN0aW9uPScnIG1ldGhvZD0ncG9zdCcgZW5jdHlwZT0nbXVsdGlwYXJ0L2Zvcm0tZGF0YSc+XG4iOyRBPWFycmF5KCk7d2hpbGUoJGM9JGktPmZldGNoX2Fzc29jKCkpe2lmKCRPJiYkdGE9PSJvcmFjbGUiKXt1bnNldCgkY1siUk5VTSJdKTt9JEFbXT0kYzt9aWYoJF9HRVRbInBhZ2UiXSE9Imxhc3QiKXskTGE9KCskXyYmJGphJiZjb3VudCgkamEpPGNvdW50KCRHKT8oJHRhPT0ic3FsIj8kaC0+cmVzdWx0KCIgU0VMRUNUIEZPVU5EX1JPV1MoKSIpOiRoLT5yZXN1bHQoIlNFTEVDVCBDT1VOVCgqKSBGUk9NICgkaikgeCIpKTpjb3VudCgkQSkpO31pZighJEEpe2VjaG8iPHAgY2xhc3M9J21lc3NhZ2UnPiIubGFuZyg2MCkuIlxuIjt9ZWxzZXskeWM9JGwtPmJhY2t3YXJkS2V5cygkeSwkX2IpO2VjaG8iPHRhYmxlIGNlbGxzcGFjaW5nPScwJyBjbGFzcz0nbm93cmFwJyBvbmNsaWNrPSd0YWJsZUNsaWNrKGV2ZW50KTsnIG9ua2V5ZG93bj0ncmV0dXJuIGVkaXRpbmdLZXlkb3duKGV2ZW50KTsnPlxuIiwiPHRoZWFkPjx0cj4iLighJGphJiYkRz8iIjoiPHRkPjxpbnB1dCB0eXBlPSdjaGVja2JveCcgaWQ9J2FsbC1wYWdlJyBvbmNsaWNrPSdmb3JtQ2hlY2sodGhpcywgL2NoZWNrLyk7Jz4gPGEgaHJlZj0nIi5oKCRfR0VUWyJtb2RpZnkiXT9yZW1vdmVfZnJvbV91cmkoIm1vZGlmeSIpOiRfU0VSVkVSWyJSRVFVRVNUX1VSSSJdLiImbW9kaWZ5PTEiKS4iJz4iLmxhbmcoNjkpLiI8L2E+Iik7JF9jPWFycmF5KCk7JGZhPWFycmF5KCk7cmVzZXQoJEcpOyR4ZD0xO2ZvcmVhY2goJEFbMF1hcyRkPT4kYSl7aWYoJHdbIk9pZCJdIT0idCJ8fCRkIT0ib2lkIil7JGE9JF9HRVRbImNvbHVtbnMiXVtrZXkoJEcpXTskZz0kdFskRz8oJGE/JGFbImNvbCJdOmN1cnJlbnQoJEcpKTokZF07JGY9KCRnPyRsLT5maWVsZE5hbWUoJGcsJHhkKToiKiIpO2lmKCRmIT0iIil7JHhkKys7JF9jWyRkXT0kZjskdT1pZGZfZXNjYXBlKCRkKTtlY2hvJzx0aD48YSBocmVmPSInLmgocmVtb3ZlX2Zyb21fdXJpKCcob3JkZXJ8ZGVzYylbXj1dKnxwYWdlJykuJyZvcmRlciU1QjAlNUQ9Jy51cmxlbmNvZGUoJGQpLigkcGFbMF09PSR1fHwkcGFbMF09PSRkfHwoISRwYSYmY291bnQoJGphKTxjb3VudCgkRykmJiRqYVswXT09JHUpPycmZGVzYyU1QjAlNUQ9MSc6JycpKS4nIj4nLighJEd8fCRhP2FwcGx5X3NxbF9mdW5jdGlvbigkYVsiZnVuIl0sJGYpOmgoY3VycmVudCgkRykpKS4iPC9hPiI7fSRmYVskZF09JGFbImZ1biJdO25leHQoJEcpO319JG9jPWFycmF5KCk7aWYoJF9HRVRbIm1vZGlmeSJdKXtmb3JlYWNoKCRBCmFzJGMpe2ZvcmVhY2goJGMKYXMkZD0+JGEpeyRvY1skZF09bWF4KCRvY1skZF0sbWluKDQwLHN0cmxlbih1dGY4X2RlY29kZSgkYSkpKSk7fX19ZWNobygkeWM/Ijx0aD4iLmxhbmcoNzApOiIiKS4iPC90aGVhZD5cbiI7Zm9yZWFjaCgkbC0+cm93RGVzY3JpcHRpb25zKCRBLCR4YilhcyRNPT4kYyl7JG1jPXVuaXF1ZV9hcnJheSgkQVskTV0sJGJhKTskSGE9IiI7Zm9yZWFjaCgkbWMKYXMkZD0+JGEpeyRIYS49IiYiLihpc3NldCgkYSk/dXJsZW5jb2RlKCJ3aGVyZVsiLmJyYWNrZXRfZXNjYXBlKCRkKS4iXSIpLiI9Ii51cmxlbmNvZGUoJGEpOiJudWxsJTVCJTVEPSIudXJsZW5jb2RlKCRkKSk7fWVjaG8iPHRyIi5vZGQoKS4iPiIuKCEkamEmJiRHPyIiOiI8dGQ+Ii5jaGVja2JveCgiY2hlY2tbXSIsc3Vic3RyKCRIYSwxKSxpbl9hcnJheShzdWJzdHIoJEhhLDEpLChhcnJheSkkX1BPU1RbImNoZWNrIl0pLCIiLCJ0aGlzLmZvcm1bJ2FsbCddLmNoZWNrZWQgPSBmYWxzZTsgZm9ybVVuY2hlY2soJ2FsbC1wYWdlJyk7IikuKGNvdW50KCRqYSk8Y291bnQoJEcpfHxpbmZvcm1hdGlvbl9zY2hlbWEoREIpPyIiOiIgPGEgaHJlZj0nIi5oKE1FLiJlZGl0PSIudXJsZW5jb2RlKCR5KS4kSGEpLiInPiIubGFuZyg2OSkuIjwvYT4iKSk7Zm9yZWFjaCgkYwphcyRkPT4kYSl7aWYoaXNzZXQoJF9jWyRkXSkpeyRnPSR0WyRkXTtpZigkYSE9IiImJighaXNzZXQoJGZjWyRkXSl8fCRmY1skZF0hPSIiKSl7JGZjWyRkXT0oaXNfbWFpbCgkYSk/JF9jWyRkXToiIik7fSR4PSIiOyRhPSRsLT5lZGl0VmFsKCRhLCRnKTtpZighaXNzZXQoJGEpKXskYT0iPGk+TlVMTDwvaT4iO31lbHNle2lmKGVyZWcoJ2Jsb2J8Ynl0ZWF8cmF3fGZpbGUnLCRnWyJ0eXBlIl0pJiYkYSE9IiIpeyR4PWgoTUUuJ2Rvd25sb2FkPScudXJsZW5jb2RlKCR5KS4nJmZpZWxkPScudXJsZW5jb2RlKCRkKS4kSGEpO31pZigkYT09PSIiKXskYT0iJm5ic3A7Ijt9ZWxzZWlmKCRwYiE9IiImJmVyZWcoJ3RleHR8YmxvYicsJGdbInR5cGUiXSkmJmlzX3V0ZjgoJGEpKXskYT1zaG9ydGVuX3V0ZjgoJGEsbWF4KDAsKyRwYikpO31lbHNleyRhPWgoJGEpO31pZighJHgpe2ZvcmVhY2goKGFycmF5KSR4YlskZF1hcyRVKXtpZihjb3VudCgkeGJbJGRdKT09MXx8ZW5kKCRVWyJzb3VyY2UiXSk9PSRkKXskeD0iIjtmb3JlYWNoKCRVWyJzb3VyY2UiXWFzJHA9PiR2Yyl7JHguPXdoZXJlX2xpbmsoJHAsJFVbInRhcmdldCJdWyRwXSwkQVskTV1bJHZjXSk7fSR4PWgoKCRVWyJkYiJdIT0iIj9wcmVnX3JlcGxhY2UoJ34oWz8mXWRiPSlbXiZdK34nLCdcXDEnLnVybGVuY29kZSgkVVsiZGIiXSksTUUpOk1FKS4nc2VsZWN0PScudXJsZW5jb2RlKCRVWyJ0YWJsZSJdKS4keCk7aWYoY291bnQoJFVbInNvdXJjZSJdKT09MSl7YnJlYWs7fX19fWlmKCRkPT0iQ09VTlQoKikiKXskeD1oKE1FLiJzZWxlY3Q9Ii51cmxlbmNvZGUoJHkpKTskcD0wO2ZvcmVhY2goKGFycmF5KSRfR0VUWyJ3aGVyZSJdYXMkcyl7aWYoIWFycmF5X2tleV9leGlzdHMoJHNbImNvbCJdLCRtYykpeyR4Lj1oKHdoZXJlX2xpbmsoJHArKywkc1siY29sIl0sJHNbInZhbCJdLCRzWyJvcCJdKSk7fX1mb3JlYWNoKCRtYwphcyR2YT0+JHMpeyR4Lj1oKHdoZXJlX2xpbmsoJHArKywkdmEsJHMpKTt9fX1pZighJHgpe2lmKGlzX21haWwoJGEpKXskeD0ibWFpbHRvOiRhIjt9aWYoJGNkPWlzX3VybCgkY1skZF0pKXskeD0oJGNkPT0iaHR0cCImJiRvYj8kY1skZF06IiRjZDovL3d3dy5hZG1pbmVyLm9yZy9yZWRpcmVjdC8/dXJsPSIudXJsZW5jb2RlKCRjWyRkXSkpO319JE49aCgidmFsWyRIYV1bIi5icmFja2V0X2VzY2FwZSgkZCkuIl0iKTskbj0kX1BPU1RbInZhbCJdWyRIYV1bYnJhY2tldF9lc2NhcGUoJGQpXTskZGQ9aChpc3NldCgkbik/JG46JGNbJGRdKTskQWQ9c3RycG9zKCRhLCI8aT4uLi48L2k+Iik7JHBkPWlzX3V0ZjgoJGEpJiYkQVskTV1bJGRdPT0kY1skZF0mJiEkZmFbJGRdOyRxZD1lcmVnKCd0ZXh0fGxvYicsJGdbInR5cGUiXSk7ZWNobygoJF9HRVRbIm1vZGlmeSJdJiYkcGQpfHxpc3NldCgkbik/Ijx0ZD4iLigkcWQ/Ijx0ZXh0YXJlYSBuYW1lPSckTicgY29scz0nMzAnIHJvd3M9JyIuKHN1YnN0cl9jb3VudCgkY1skZF0sIlxuIikrMSkuIic+JGRkPC90ZXh0YXJlYT4iOiI8aW5wdXQgbmFtZT0nJE4nIHZhbHVlPSckZGQnIHNpemU9JyRvY1skZF0nPiIpOiI8dGQgaWQ9JyROJyBvbmRibGNsaWNrPVwiIi4oJHBkPyJzZWxlY3REYmxDbGljayh0aGlzLCBldmVudCIuKCRBZD8iLCAyIjooJHFkPyIsIDEiOiIiKSkuIikiOiJhbGVydCgnIi5oKGxhbmcoNzEpKS4iJykiKS4iO1wiPiIuJGwtPnNlbGVjdFZhbCgkYSwkeCwkZykpO319aWYoJHljKXtlY2hvIjx0ZD4iO30kbC0+YmFja3dhcmRLZXlzUHJpbnQoJHljLCRBWyRNXSk7ZWNobyI8L3RyPlxuIjt9ZWNobyI8L3RhYmxlPlxuIjt9aWYoJEF8fCRPKXskRGM9dHJ1ZTtpZigkX0dFVFsicGFnZSJdIT0ibGFzdCImJiskXyYmY291bnQoJGphKT49Y291bnQoJEcpJiYoJExhPj0kX3x8JE8pKXskTGE9Zm91bmRfcm93cygkdywkbSk7aWYoJExhPG1heCgxZTQsMiooJE8rMSkqJF8pKXtvYl9mbHVzaCgpO2ZsdXNoKCk7JExhPSRoLT5yZXN1bHQoIlNFTEVDVCBDT1VOVCgqKSBGUk9NICIudGFibGUoJHkpLigkbT8iIFdIRVJFICIuaW1wbG9kZSgiIEFORCAiLCRtKToiIikpO31lbHNleyREYz1mYWxzZTt9fWVjaG8iPHAgY2xhc3M9J3BhZ2VzJz4iO2lmKCskXyYmJExhPiRfKXskemM9Zmxvb3IoKCRMYS0xKS8kXyk7ZWNobyc8YSBocmVmPSInLmgocmVtb3ZlX2Zyb21fdXJpKCJwYWdlIikpLiJcIiBvbmNsaWNrPVwicGFnZUNsaWNrKHRoaXMuaHJlZiwgK3Byb21wdCgnIi5sYW5nKDcyKS4iJywgJyIuKCRPKzEpLiInKSwgZXZlbnQpOyByZXR1cm4gZmFsc2U7XCI+Ii5sYW5nKDcyKS4iPC9hPjoiLHBhZ2luYXRpb24oMCwkTykuKCRPPjU/IiAuLi4iOiIiKTtmb3IoJHA9bWF4KDEsJE8tNCk7JHA8bWluKCR6YywkTys1KTskcCsrKXtlY2hvCnBhZ2luYXRpb24oJHAsJE8pO31lY2hvKCRPKzU8JHpjPyIgLi4uIjoiIikuKCREYz9wYWdpbmF0aW9uKCR6YywkTyk6JyA8YSBocmVmPSInLmgocmVtb3ZlX2Zyb21fdXJpKCkuIiZwYWdlPWxhc3QiKS4nIj4nLmxhbmcoNzMpLiI8L2E+Iik7fWVjaG8iICgiLigkRGM/IiI6In4gIikubGFuZyg3NCwkTGEpLiIpICIuY2hlY2tib3goImFsbCIsMSwwLGxhbmcoNzUpKS4iXG4iO2lmKCRsLT5zZWxlY3RDb21tYW5kUHJpbnQoKSl7ZWNobyc8ZmllbGRzZXQ+PGxlZ2VuZD4nLGxhbmcoNTkpLCc8L2xlZ2VuZD48ZGl2Pgo8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iJyxsYW5nKDYxKSwnIiB0aXRsZT0iJyxsYW5nKDY2KSwnIiBjbGFzcz0ianNvbmx5Ij4KPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0iZWRpdCIgdmFsdWU9IicsbGFuZyg1OSksJyI+CjxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9ImNsb25lIiB2YWx1ZT0iJyxsYW5nKDc2KSwnIj4KPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0iZGVsZXRlIiB2YWx1ZT0iJyxsYW5nKDY0KSwnIiBvbmNsaWNrPSJyZXR1cm4gY29uZmlybShcJycsbGFuZygwKTs/PiAoJyArICh0aGlzLmZvcm1bJ2FsbCddLmNoZWNrZWQgPyA8P3BocCBlY2hvJExhLCcgOiBmb3JtQ2hlY2tlZCh0aGlzLCAvY2hlY2svKSkgKyBcJylcJyk7Ij4KPC9kaXY+PC9maWVsZHNldD4KJzt9cHJpbnRfZmllbGRzZXQoImV4cG9ydCIsbGFuZyg3NykpOyRiYj0kbC0+ZHVtcE91dHB1dCgpO2VjaG8oJGJiP2h0bWxfc2VsZWN0KCJvdXRwdXQiLCRiYiwkY2NbIm91dHB1dCJdKS4iICI6IiIpLGh0bWxfc2VsZWN0KCJmb3JtYXQiLCRsLT5kdW1wRm9ybWF0KCksJGNjWyJmb3JtYXQiXSksIiA8aW5wdXQgdHlwZT0nc3VibWl0JyBuYW1lPSdleHBvcnQnIHZhbHVlPSciLmxhbmcoNzcpLiInIG9uY2xpY2s9J2V2ZW50U3RvcChldmVudCk7Jz5cbiIsIjwvZGl2PjwvZmllbGRzZXQ+XG4iO31pZigkbC0+c2VsZWN0SW1wb3J0UHJpbnQoKSl7cHJpbnRfZmllbGRzZXQoImltcG9ydCIsbGFuZyg3OCksISRBKTtlY2hvIjxpbnB1dCB0eXBlPSdmaWxlJyBuYW1lPSdjc3ZfZmlsZSc+ICIsaHRtbF9zZWxlY3QoInNlcGFyYXRvciIsYXJyYXkoImNzdiI9PiJDU1YsIiwiY3N2OyI9PiJDU1Y7IiwidHN2Ij0+IlRTViIpLCRjY1siZm9ybWF0Il0sMSk7ZWNobyIgPGlucHV0IHR5cGU9J3N1Ym1pdCcgbmFtZT0naW1wb3J0JyB2YWx1ZT0nIi5sYW5nKDc4KS4iJz4iLCI8aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSd0b2tlbicgdmFsdWU9JyRfYSc+XG4iLCI8L2Rpdj48L2ZpZWxkc2V0PlxuIjt9JGwtPnNlbGVjdEVtYWlsUHJpbnQoYXJyYXlfZmlsdGVyKCRmYywnc3RybGVuJyksJEspO2VjaG8iPC9mb3JtPlxuIjt9fX1lbHNlaWYoaXNzZXQoJF9HRVRbInNjcmlwdCJdKSl7aWYobGlzdCgkZSwkTiwkZik9JGwtPl9mb3JlaWduQ29sdW1uKGNvbHVtbl9mb3JlaWduX2tleXMoJF9HRVRbInNvdXJjZSJdKSwkX0dFVFsiZmllbGQiXSkpeyRpPSRoLT5xdWVyeSgiU0VMRUNUICROLCAkZiBGUk9NICIudGFibGUoJGUpLiIgV0hFUkUgIi4oZXJlZygnXlswLTldKyQnLCRfR0VUWyJ2YWx1ZSJdKT8iJE4gPSAkX0dFVFt2YWx1ZV0gT1IgIjoiIikuIiRmIExJS0UgIi5xKCIkX0dFVFt2YWx1ZV0lIikuIiBPUkRFUiBCWSAyIExJTUlUIDExIik7Zm9yKCRwPTA7JHA8MTAmJigkYz0kaS0+ZmV0Y2hfcm93KCkpOyRwKyspe2VjaG8iPGEgaHJlZj0nIi5oKE1FLiJlZGl0PSIudXJsZW5jb2RlKCRlKS4iJndoZXJlIi51cmxlbmNvZGUoIlsiLmJyYWNrZXRfZXNjYXBlKGlkZl91bmVzY2FwZSgkTikpLiJdIikuIj0iLnVybGVuY29kZSgkY1swXSkpLiInPiIuaCgkY1sxXSkuIjwvYT48YnI+XG4iO31pZigkcD09MTApe2VjaG8iLi4uXG4iO319ZXhpdDt9ZWxzZXtwYWdlX2hlYWRlcihsYW5nKDQ3KSwiIixmYWxzZSk7aWYoJGwtPmhvbWVwYWdlKCkpe2VjaG8iPGZvcm0gYWN0aW9uPScnIG1ldGhvZD0ncG9zdCc+XG4iLCI8cD4iLmxhbmcoNzkpLiI6IDxpbnB1dCBuYW1lPSdxdWVyeScgdmFsdWU9JyIuaCgkX1BPU1RbInF1ZXJ5Il0pLiInPiA8aW5wdXQgdHlwZT0nc3VibWl0JyB2YWx1ZT0nIi5sYW5nKDI4KS4iJz5cbiI7aWYoJF9QT1NUWyJxdWVyeSJdIT0iIil7c2VhcmNoX3RhYmxlcygpO31lY2hvIjx0YWJsZSBjZWxsc3BhY2luZz0nMCcgY2xhc3M9J25vd3JhcCcgb25jbGljaz0ndGFibGVDbGljayhldmVudCk7Jz5cbiIsJzx0aGVhZD48dHIgY2xhc3M9IndyYXAiPjx0ZD48aW5wdXQgaWQ9ImNoZWNrLWFsbCIgdHlwZT0iY2hlY2tib3giIG9uY2xpY2s9ImZvcm1DaGVjayh0aGlzLCAvXnRhYmxlc1xbLyk7Ij48dGg+Jy5sYW5nKDgwKS4nPHRkPicubGFuZyg4MSkuIjwvdGhlYWQ+XG4iO2ZvcmVhY2godGFibGVfc3RhdHVzKClhcyRlPT4kYyl7JGY9JGwtPnRhYmxlTmFtZSgkYyk7aWYoaXNzZXQoJGNbIkVuZ2luZSJdKSYmJGYhPSIiKXtlY2hvJzx0cicub2RkKCkuJz48dGQ+Jy5jaGVja2JveCgidGFibGVzW10iLCRlLGluX2FycmF5KCRlLChhcnJheSkkX1BPU1RbInRhYmxlcyJdLHRydWUpLCIiLCJmb3JtVW5jaGVjaygnY2hlY2stYWxsJyk7IiksIjx0aD48YSBocmVmPSciLmgoTUUpLidzZWxlY3Q9Jy51cmxlbmNvZGUoJGUpLiInPiRmPC9hPiI7JGE9bnVtYmVyX2Zvcm1hdCgkY1siUm93cyJdLDAsJy4nLGxhbmcoODIpKTtlY2hvIjx0ZCBhbGlnbj0ncmlnaHQnPjxhIGhyZWY9JyIuaChNRS4iZWRpdD0iKS51cmxlbmNvZGUoJGUpLiInPiIuKCRjWyJFbmdpbmUiXT09Iklubm9EQiImJiRhPyJ+ICRhIjokYSkuIjwvYT4iO319ZWNobyI8L3RhYmxlPlxuIiwiPC9mb3JtPlxuIjt9fXBhZ2VfZm9vdGVyKCk7]]></data>
	</file>
	<file>
	  <filename>/adminer/plugins/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/adminer/plugins/AdminerFrames.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKiBBbGxvdyB1c2luZyBBZG1pbmVyIGluc2lkZSBhIGZyYW1lIChkaXNhYmxlcyBDbGlja0phY2tpbmcgcHJvdGVjdGlvbikKICogQGF1dGhvciBKYWt1YiBWcmFuYSwgaHR0cDovL3d3dy52cmFuYS5jei8KICogQGxpY2Vuc2UgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAogKiBAbGljZW5zZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLTIuMC5odG1sIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLCB2ZXJzaW9uIDIgKG9uZSBvciBvdGhlcikKICovCmNsYXNzIEFkbWluZXJGcmFtZXMgewogICAgdmFyICRzYW1lT3JpZ2luOwoKICAgIC8qKgogICAgICogQHBhcmFtIGJvb2wgYWxsb3cgcnVubmluZyBmcm9tIHRoZSBzYW1lIG9yaWdpbiBvbmx5CiAgICAgKi8KICAgIGZ1bmN0aW9uIEFkbWluZXJGcmFtZXMoJHNhbWVPcmlnaW4gPSBmYWxzZSkgewogICAgICAgICR0aGlzLT5zYW1lT3JpZ2luID0gJHNhbWVPcmlnaW47CiAgICB9CgogICAgZnVuY3Rpb24gaGVhZGVycygpIHsKICAgICAgICBpZiAoJHRoaXMtPnNhbWVPcmlnaW4pIHsKICAgICAgICAgICAgaGVhZGVyKCJYLUZyYW1lLU9wdGlvbnM6IFNhbWVPcmlnaW4iKTsKICAgICAgICB9CiAgICAgICAgaGVhZGVyKCJYLVhTUy1Qcm90ZWN0aW9uOiAwIik7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQoKfQ==]]></data>
	</file>
	<file>
	  <filename>/adminer/plugins/dump-xml.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKiBEdW1wIHRvIFhNTCBmb3JtYXQgaW4gc3RydWN0dXJlIDxkYXRhYmFzZSBuYW1lPSIiPjx0YWJsZSBuYW1lPSIiPjxjb2x1bW4gbmFtZT0iIj52YWx1ZQoqIEBhdXRob3IgSmFrdWIgVnJhbmEsIGh0dHA6Ly93d3cudnJhbmEuY3ovCiogQGxpY2Vuc2UgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAoqIEBsaWNlbnNlIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMi4wLmh0bWwgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIHZlcnNpb24gMiAob25lIG9yIG90aGVyKQoqLwpjbGFzcyBBZG1pbmVyRHVtcFhtbCB7CgkKCWZ1bmN0aW9uIGR1bXBGb3JtYXQoKSB7CgkJcmV0dXJuIGFycmF5KCd4bWwnID0+ICdYTUwnKTsKCX0KCglmdW5jdGlvbiBkdW1wVGFibGUoJHRhYmxlLCAkc3R5bGUsICRpc192aWV3ID0gZmFsc2UpIHsKCQlpZiAoJF9QT1NUWyJmb3JtYXQiXSA9PSAieG1sIikgewoJCQlyZXR1cm4gdHJ1ZTsKCQl9Cgl9CgkKCWZ1bmN0aW9uIF9kYXRhYmFzZSgpIHsKCQllY2hvICI8L2RhdGFiYXNlPlxuIjsKCX0KCQoJZnVuY3Rpb24gZHVtcERhdGEoJHRhYmxlLCAkc3R5bGUsICRxdWVyeSkgewoJCXN0YXRpYyAkZGF0YWJhc2UgPSBmYWxzZTsKCQlpZiAoJF9QT1NUWyJmb3JtYXQiXSA9PSAieG1sIikgewoJCQlpZiAoISRkYXRhYmFzZSkgewoJCQkJJGRhdGFiYXNlID0gdHJ1ZTsKCQkJCWVjaG8gIjxkYXRhYmFzZSBuYW1lPSciIC4gaChEQikgLiAiJz5cbiI7CgkJCQlyZWdpc3Rlcl9zaHV0ZG93bl9mdW5jdGlvbihhcnJheSgkdGhpcywgJ19kYXRhYmFzZScpKTsKCQkJfQoJCQkkY29ubmVjdGlvbiA9IGNvbm5lY3Rpb24oKTsKCQkJJHJlc3VsdCA9ICRjb25uZWN0aW9uLT5xdWVyeSgkcXVlcnksIDEpOwoJCQlpZiAoJHJlc3VsdCkgewoJCQkJd2hpbGUgKCRyb3cgPSAkcmVzdWx0LT5mZXRjaF9hc3NvYygpKSB7CgkJCQkJZWNobyAiXHQ8dGFibGUgbmFtZT0nIiAuIGgoJHRhYmxlKSAuICInPlxuIjsKCQkJCQlmb3JlYWNoICgkcm93IGFzICRrZXkgPT4gJHZhbCkgewoJCQkJCQllY2hvICJcdFx0PGNvbHVtbiBuYW1lPSciIC4gaCgka2V5KSAuICInPiIgLiBoKCR2YWwpIC4gIjwvY29sdW1uPlxuIjsKCQkJCQl9CgkJCQkJZWNobyAiXHQ8L3RhYmxlPlxuIjsKCQkJCX0KCQkJfQoJCQlyZXR1cm4gdHJ1ZTsKCQl9Cgl9CgoJZnVuY3Rpb24gZHVtcEhlYWRlcnMoJGlkZW50aWZpZXIsICRtdWx0aV90YWJsZSA9IGZhbHNlKSB7CgkJaWYgKCRfUE9TVFsiZm9ybWF0Il0gPT0gInhtbCIpIHsKCQkJaGVhZGVyKCJDb250ZW50LVR5cGU6IHRleHQveG1sOyBjaGFyc2V0PXV0Zi04Iik7CgkJCXJldHVybiAieG1sIjsKCQl9Cgl9Cgp9Cg==]]></data>
	</file>
	<file>
	  <filename>/adminer/plugins/dump-zip.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKiBEdW1wIHRvIFpJUCBmb3JtYXQKKiBAdXNlcyBaaXBBcmNoaXZlLCB0ZW1wbmFtKCIiKQoqIEBhdXRob3IgSmFrdWIgVnJhbmEsIGh0dHA6Ly93d3cudnJhbmEuY3ovCiogQGxpY2Vuc2UgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAoqIEBsaWNlbnNlIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMi4wLmh0bWwgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIHZlcnNpb24gMiAob25lIG9yIG90aGVyKQoqLwpjbGFzcyBBZG1pbmVyRHVtcFppcCB7CgkvKiogQHZhciBzdHJpbmcgQGFjY2VzcyBwcm90ZWN0ZWQgKi8KCXZhciAkZmlsZW5hbWU7CgkKCWZ1bmN0aW9uIGR1bXBPdXRwdXQoKSB7CgkJaWYgKCFjbGFzc19leGlzdHMoJ1ppcEFyY2hpdmUnKSkgewoJCQlyZXR1cm4gYXJyYXkoKTsKCQl9CgkJcmV0dXJuIGFycmF5KCd6aXAnID0+ICdaSVAnKTsKCX0KCQoJZnVuY3Rpb24gX3ppcCgkc3RyaW5nLCAkc3RhdGUpIHsKCQlzdGF0aWMgJGRhdGEgPSAiIjsKCQkkZGF0YSAuPSAkc3RyaW5nOwoJCWlmICgkc3RhdGUgJiBQSFBfT1VUUFVUX0hBTkRMRVJfRU5EKSB7CgkJCSR6aXAgPSBuZXcgWmlwQXJjaGl2ZTsKCQkJJHppcEZpbGUgPSB0ZW1wbmFtKCIiLCAiemlwIik7CgkJCSR6aXAtPm9wZW4oJHppcEZpbGUsIFppcEFyY2hpdmU6Ok9WRVJXUklURSk7IC8vIHBocDovL291dHB1dCBpcyBub3Qgc3VwcG9ydGVkCgkJCSR6aXAtPmFkZEZyb21TdHJpbmcoJHRoaXMtPmZpbGVuYW1lLCAkZGF0YSk7CgkJCSR6aXAtPmNsb3NlKCk7CgkJCSRyZXR1cm4gPSBmaWxlX2dldF9jb250ZW50cygkemlwRmlsZSk7CgkJCXVubGluaygkemlwRmlsZSk7CgkJCXJldHVybiAkcmV0dXJuOwoJCX0KCQlyZXR1cm4gIiI7Cgl9CgkKCWZ1bmN0aW9uIGR1bXBIZWFkZXJzKCRpZGVudGlmaWVyLCAkbXVsdGlfdGFibGUgPSBmYWxzZSkgewoJCSR0aGlzLT5maWxlbmFtZSA9ICIkaWRlbnRpZmllci4iIC4gKCRtdWx0aV90YWJsZSAmJiBlcmVnKCJbY3Rdc3YiLCAkX1BPU1RbImZvcm1hdCJdKSA/ICJ0YXIiIDogJF9QT1NUWyJmb3JtYXQiXSk7CgkJaWYgKCRfUE9TVFsib3V0cHV0Il0gPT0gInppcCIpIHsKCQkJaGVhZGVyKCJDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3ppcCIpOwoJCX0KCQlvYl9zdGFydChhcnJheSgkdGhpcywgJ196aXAnKSk7Cgl9Cgp9Cg==]]></data>
	</file>
	<file>
	  <filename>/adminer/plugins/edit-calendar.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKiBEaXNwbGF5IGpRdWVyeSBVSSBUaW1lcGlja2VyIGZvciBlYWNoIGRhdGUgYW5kIGRhdGV0aW1lIGZpZWxkCiogQHVzZXMgalF1ZXJ5LVRpbWVwaWNrZXIsIGh0dHA6Ly90cmVudHJpY2hhcmRzb24uY29tL2V4YW1wbGVzL3RpbWVwaWNrZXIvCiogQHVzZXMgalF1ZXJ5IFVJOiBjb3JlLCB3aWRnZXQsIG1vdXNlLCBzbGlkZXIsIGRhdGVwaWNrZXIKKiBAYXV0aG9yIEpha3ViIFZyYW5hLCBodHRwOi8vd3d3LnZyYW5hLmN6LwoqIEBsaWNlbnNlIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMCBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKiBAbGljZW5zZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLTIuMC5odG1sIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLCB2ZXJzaW9uIDIgKG9uZSBvciBvdGhlcikKKi8KY2xhc3MgQWRtaW5lckVkaXRDYWxlbmRhciB7CgkvKiogQHZhciBzdHJpbmcgQGFjY2VzcyBwcm90ZWN0ZWQgKi8KCXZhciAkcHJlcGVuZCwgJGxhbmdQYXRoOwoKCS8qKgoJKiBAcGFyYW0gc3RyaW5nIHRleHQgdG8gYXBwZW5kIGJlZm9yZSBmaXJzdCBjYWxlbmRhciB1c2FnZQoJKiBAcGFyYW0gc3RyaW5nIHBhdGggdG8gbGFuZ3VhZ2UgZmlsZSwgJXMgc3RhbmRzIGZvciBsYW5ndWFnZSBjb2RlCgkqLwoJZnVuY3Rpb24gQWRtaW5lckVkaXRDYWxlbmRhcigkcHJlcGVuZCA9ICI8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdzdHlsZS9qcXVlcnktdWkvanF1ZXJ5LmpzJz48L3NjcmlwdD5cbjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J3N0eWxlL2pxdWVyeS11aS9qcXVlcnktdWkuanMnPjwvc2NyaXB0PlxuPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0nc3R5bGUvanF1ZXJ5LXVpL2pxdWVyeS11aS10aW1lcGlja2VyLWFkZG9uLmpzJz48L3NjcmlwdD5cbjxsaW5rIHJlbD0nc3R5bGVzaGVldCcgdHlwZT0ndGV4dC9jc3MnIGhyZWY9J3N0eWxlL2pxdWVyeS11aS9qcXVlcnktdWkuY3NzJz5cbjxsaW5rIHJlbD0nc3R5bGVzaGVldCcgdHlwZT0ndGV4dC9jc3MnIGhyZWY9J3N0eWxlL2pxdWVyeS11aS9qcXVlcnktdWktdGltZXBpY2tlci1hZGRvbi5jc3MnPlxuIiwgJGxhbmdQYXRoID0gInN0eWxlL2pxdWVyeS11aS9pMThuL2pxdWVyeS51aS5kYXRlcGlja2VyLSVzLmpzIikgewoJCSR0aGlzLT5wcmVwZW5kID0gJHByZXBlbmQ7CgkJJHRoaXMtPmxhbmdQYXRoID0gJGxhbmdQYXRoOwoJfQoKCWZ1bmN0aW9uIGhlYWQoKSB7CgkJZWNobyAkdGhpcy0+cHJlcGVuZDsKCQlpZiAoJHRoaXMtPmxhbmdQYXRoICYmIGZ1bmN0aW9uX2V4aXN0cygnZ2V0X2xhbmcnKSkgeyAvLyBzaW5jZSBBZG1pbmVyIDMuMi4wCgkJCSRsYW5nID0gZ2V0X2xhbmcoKTsKCQkJJGxhbmcgPSAoJGxhbmcgPT0gInpoIiA/ICJ6aC1DTiIgOiAoJGxhbmcgPT0gInpoLXR3IiA/ICJ6aC1UVyIgOiAkbGFuZykpOwoJCQlpZiAoJGxhbmcgIT0gImVuIiAmJiBmaWxlX2V4aXN0cyhzcHJpbnRmKCR0aGlzLT5sYW5nUGF0aCwgJGxhbmcpKSkgewoJCQkJcHJpbnRmKCI8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSckdGhpcy0+bGFuZ1BhdGgnPjwvc2NyaXB0PlxuIiwgJGxhbmcpOwoJCQkJZWNobyAiPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPmpRdWVyeShmdW5jdGlvbiAoKSB7IGpRdWVyeS50aW1lcGlja2VyLnNldERlZmF1bHRzKGpRdWVyeS5kYXRlcGlja2VyLnJlZ2lvbmFsWyckbGFuZyddKTsgfSk7PC9zY3JpcHQ+XG4iOwoJCQl9CgkJfQoJfQoKCWZ1bmN0aW9uIGVkaXRJbnB1dCgkdGFibGUsICRmaWVsZCwgJGF0dHJzLCAkdmFsdWUpIHsKCQlpZiAoZXJlZygiZGF0ZXx0aW1lIiwgJGZpZWxkWyJ0eXBlIl0pKSB7CgkJCSRkYXRlRm9ybWF0ID0gImNoYW5nZVllYXI6IHRydWUsIGRhdGVGb3JtYXQ6ICd5eS1tbS1kZCciOyAvLyEgeXktbW0tZGQgcmVnaW9uYWwKCQkJJHRpbWVGb3JtYXQgPSAic2hvd1NlY29uZDogdHJ1ZSwgdGltZUZvcm1hdDogJ2hoOm1tOnNzJyI7CgkJCXJldHVybiAiPGlucHV0IGlkPSdmaWVsZHMtIiAuIGgoJGZpZWxkWyJmaWVsZCJdKSAuICInIHZhbHVlPSciIC4gaCgkdmFsdWUpIC4gIiciIC4gKCRtYXhsZW5ndGggPyAiIG1heGxlbmd0aD0nJG1heGxlbmd0aCciIDogIiIpIC4gIiRhdHRycz48c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCc+alF1ZXJ5KGZ1bmN0aW9uICgpIHsgalF1ZXJ5KCcjZmllbGRzLSIgLiBqc19lc2NhcGUoJGZpZWxkWyJmaWVsZCJdKSAuICInKS4iCgkJCQkuICgkZmllbGRbInR5cGUiXSA9PSAidGltZSIgPyAidGltZXBpY2tlcih7ICR0aW1lRm9ybWF0IH0pIgoJCQkJOiAoZXJlZygidGltZSIsICRmaWVsZFsidHlwZSJdKSA/ICJkYXRldGltZXBpY2tlcih7ICRkYXRlRm9ybWF0LCAkdGltZUZvcm1hdCB9KSIKCQkJCTogImRhdGVwaWNrZXIoeyAkZGF0ZUZvcm1hdCB9KSIKCQkJKSkgLiAiOyB9KTs8L3NjcmlwdD4iOwoJCX0KCX0KCn0K]]></data>
	</file>
	<file>
	  <filename>/adminer/plugins/edit-foreign.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKiBTZWxlY3QgZm9yZWlnbiBrZXkgaW4gZWRpdCBmb3JtCiogQGF1dGhvciBKYWt1YiBWcmFuYSwgaHR0cDovL3d3dy52cmFuYS5jei8KKiBAbGljZW5zZSBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCiogQGxpY2Vuc2UgaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0yLjAuaHRtbCBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwgdmVyc2lvbiAyIChvbmUgb3Igb3RoZXIpCiovCmNsYXNzIEFkbWluZXJFZGl0Rm9yZWlnbiB7CgkKCWZ1bmN0aW9uIGVkaXRJbnB1dCgkdGFibGUsICRmaWVsZCwgJGF0dHJzLCAkdmFsdWUpIHsKCQlzdGF0aWMgJGZvcmVpZ25UYWJsZXMgPSBhcnJheSgpOwoJCXN0YXRpYyAkdmFsdWVzID0gYXJyYXkoKTsKCQkkZm9yZWlnbktleXMgPSAmJGZvcmVpZ25UYWJsZXNbJHRhYmxlXTsKCQlpZiAoIWlzc2V0KCRmb3JlaWduS2V5cykpIHsKCQkJJGZvcmVpZ25LZXlzID0gY29sdW1uX2ZvcmVpZ25fa2V5cygkdGFibGUpOwoJCX0KCQlmb3JlYWNoICgoYXJyYXkpICRmb3JlaWduS2V5c1skZmllbGRbImZpZWxkIl1dIGFzICRmb3JlaWduS2V5KSB7CgkJCWlmIChjb3VudCgkZm9yZWlnbktleVsic291cmNlIl0pID09IDEpIHsKCQkJCSR0YXJnZXQgPSAkZm9yZWlnbktleVsidGFibGUiXTsKCQkJCSRpZCA9ICRmb3JlaWduS2V5WyJ0YXJnZXQiXVswXTsKCQkJCSRvcHRpb25zID0gJiR2YWx1ZXNbJHRhcmdldF1bJGlkXTsKCQkJCWlmICghJG9wdGlvbnMpIHsKCQkJCQkkb3B0aW9ucyA9IGFycmF5KCIiID0+ICIiKSArIGdldF92YWxzKCJTRUxFQ1QgIiAuIGlkZl9lc2NhcGUoJGlkKSAuICIgRlJPTSAiIC4gdGFibGUoJHRhcmdldCkgLiAiIE9SREVSIEJZIDEiKTsKCQkJCX0KCQkJCXJldHVybiAiPHNlbGVjdCRhdHRycz4iIC4gb3B0aW9ubGlzdCgkb3B0aW9ucywgJHZhbHVlKSAuICI8L3NlbGVjdD4iOwoJCQl9CgkJfQoJfQoJCn0K]]></data>
	</file>
	<file>
	  <filename>/adminer/plugins/edit-textarea.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKiBVc2UgPHRleHRhcmVhPiBmb3IgY2hhciBhbmQgdmFyY2hhcgoqIEBhdXRob3IgSmFrdWIgVnJhbmEsIGh0dHA6Ly93d3cudnJhbmEuY3ovCiogQGxpY2Vuc2UgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAoqIEBsaWNlbnNlIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMi4wLmh0bWwgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIHZlcnNpb24gMiAob25lIG9yIG90aGVyKQoqLwpjbGFzcyBBZG1pbmVyRWRpdFRleHRhcmVhIHsKCQoJZnVuY3Rpb24gZWRpdElucHV0KCR0YWJsZSwgJGZpZWxkLCAkYXR0cnMsICR2YWx1ZSkgewoJCWlmIChlcmVnKCdjaGFyJywgJGZpZWxkWyJ0eXBlIl0pKSB7CgkJCXJldHVybiAiPHRleHRhcmVhIGNvbHM9JzMwJyByb3dzPScxJyBzdHlsZT0naGVpZ2h0OiAxLjJlbTsnJGF0dHJzPiIgLiBoKCR2YWx1ZSkgLiAnPC90ZXh0YXJlYT4nOwoJCX0KCX0KCQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/adminer/plugins/enum-option.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKiBVc2UgPHNlbGVjdD48b3B0aW9uPiBmb3IgZW51bSBlZGl0IGluc3RlYWQgb2YgPGlucHV0IHR5cGU9InJhZGlvIj4KKiBAYXV0aG9yIEpha3ViIFZyYW5hLCBodHRwOi8vd3d3LnZyYW5hLmN6LwoqIEBsaWNlbnNlIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMCBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKiBAbGljZW5zZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLTIuMC5odG1sIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLCB2ZXJzaW9uIDIgKG9uZSBvciBvdGhlcikKKi8KY2xhc3MgQWRtaW5lckVudW1PcHRpb24gewoJCglmdW5jdGlvbiBlZGl0SW5wdXQoJHRhYmxlLCAkZmllbGQsICRhdHRycywgJHZhbHVlKSB7CgkJaWYgKCRmaWVsZFsidHlwZSJdID09ICJlbnVtIikgewoJCQkkb3B0aW9ucyA9IGFycmF5KCIiID0+IGFycmF5KCkpOwoJCQkkc2VsZWN0ZWQgPSAkdmFsdWU7CgkJCWlmIChpc3NldCgkX0dFVFsic2VsZWN0Il0pKSB7CgkJCQkkb3B0aW9uc1siIl1bLTFdID0gbGFuZygnb3JpZ2luYWwnKTsKCQkJfQoJCQlpZiAoJGZpZWxkWyJudWxsIl0pIHsKCQkJCSRvcHRpb25zWyIiXVsiIl0gPSAiTlVMTCI7CgkJCQlpZiAoIWlzc2V0KCR2YWx1ZSkgJiYgIWlzc2V0KCRfR0VUWyJzZWxlY3QiXSkpIHsKCQkJCQkkc2VsZWN0ZWQgPSAiIjsKCQkJCX0KCQkJfQoJCQkkb3B0aW9uc1siIl1bMF0gPSBsYW5nKCdlbXB0eScpOwoJCQlwcmVnX21hdGNoX2FsbCgificoKD86W14nXXwnJykqKSd+IiwgJGZpZWxkWyJsZW5ndGgiXSwgJG1hdGNoZXMpOwoJCQlmb3JlYWNoICgkbWF0Y2hlc1sxXSBhcyAkaSA9PiAkdmFsKSB7CgkJCQkkdmFsID0gc3RyaXBjc2xhc2hlcyhzdHJfcmVwbGFjZSgiJyciLCAiJyIsICR2YWwpKTsKCQkJCSRvcHRpb25zWyRpICsgMV0gPSAkdmFsOwoJCQkJaWYgKCR2YWx1ZSA9PT0gJHZhbCkgewoJCQkJCSRzZWxlY3RlZCA9ICRpICsgMTsKCQkJCX0KCQkJfQoJCQlyZXR1cm4gIjxzZWxlY3QkYXR0cnM+IiAuIG9wdGlvbmxpc3QoJG9wdGlvbnMsIChzdHJpbmcpICRzZWxlY3RlZCwgMSkgLiAiPC9zZWxlY3Q+IjsgLy8gMSAtIHVzZSBrZXlzCgkJfQoJfQoJCn0K]]></data>
	</file>
	<file>
	  <filename>/adminer/plugins/file-upload.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKiBFZGl0IGZpZWxkcyBlbmRpbmcgd2l0aCAiX3BhdGgiIGJ5IDxpbnB1dCB0eXBlPSJmaWxlIj4gYW5kIGxpbmsgdG8gdGhlIHVwbG9hZGVkIGZpbGVzIGZyb20gc2VsZWN0CiogQGF1dGhvciBKYWt1YiBWcmFuYSwgaHR0cDovL3d3dy52cmFuYS5jei8KKiBAbGljZW5zZSBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCiogQGxpY2Vuc2UgaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0yLjAuaHRtbCBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwgdmVyc2lvbiAyIChvbmUgb3Igb3RoZXIpCiovCmNsYXNzIEFkbWluZXJGaWxlVXBsb2FkIHsKCS8qKiBAdmFyIHN0cmluZyBAYWNjZXNzIHByb3RlY3RlZCAqLwoJdmFyICR1cGxvYWRQYXRoLCAkZGlzcGxheVBhdGg7CgkKCS8qKgoJKiBAcGFyYW0gc3RyaW5nIHByZWZpeCBmb3IgdXBsb2FkaW5nIGRhdGEgKGNyZWF0ZSB3cml0YWJsZSBzdWJkaXJlY3RvcnkgZm9yIGVhY2ggdGFibGUgY29udGFpbmluZyB1cGxvYWRhYmxlIGZpZWxkcykKCSogQHBhcmFtIHN0cmluZyBwcmVmaXggZm9yIGRpc3BsYXlpbmcgZGF0YSwgbnVsbCBzdGFuZHMgZm9yICR1cGxvYWRQYXRoCgkqLwoJZnVuY3Rpb24gQWRtaW5lckZpbGVVcGxvYWQoJHVwbG9hZFBhdGggPSAiLi4vc3RhdGljL2RhdGEvIiwgJGRpc3BsYXlQYXRoID0gbnVsbCkgewoJCSR0aGlzLT51cGxvYWRQYXRoID0gJHVwbG9hZFBhdGg7CgkJJHRoaXMtPmRpc3BsYXlQYXRoID0gKGlzc2V0KCRkaXNwbGF5UGF0aCkgPyAkZGlzcGxheVBhdGggOiAkdXBsb2FkUGF0aCk7Cgl9CgkKCWZ1bmN0aW9uIGVkaXRJbnB1dCgkdGFibGUsICRmaWVsZCwgJGF0dHJzLCAkdmFsdWUpIHsKCQlpZiAoZXJlZygnKC4qKV9wYXRoJCcsICRmaWVsZFsiZmllbGQiXSkpIHsKCQkJcmV0dXJuICI8aW5wdXQgdHlwZT0nZmlsZScgbmFtZT0nZmllbGRzLSRmaWVsZFtmaWVsZF0nPiI7CgkJfQoJfQoJCglmdW5jdGlvbiBwcm9jZXNzSW5wdXQoJGZpZWxkLCAkdmFsdWUsICRmdW5jdGlvbiA9ICIiKSB7CgkJaWYgKGVyZWcoJyguKilfcGF0aCQnLCAkZmllbGRbImZpZWxkIl0sICRyZWdzKSkgewoJCQkkdGFibGUgPSAoJF9HRVRbImVkaXQiXSAhPSAiIiA/ICRfR0VUWyJlZGl0Il0gOiAkX0dFVFsic2VsZWN0Il0pOwoJCQkkbmFtZSA9ICJmaWVsZHMtJGZpZWxkW2ZpZWxkXSI7CgkJCWlmICgkX0ZJTEVTWyRuYW1lXVsiZXJyb3IiXSB8fCAhZXJlZ2koJyhcXC4oW2EtejAtOV0rKSk/JCcsICRfRklMRVNbJG5hbWVdWyJuYW1lIl0sICRyZWdzMikpIHsKCQkJCXJldHVybiBmYWxzZTsKCQkJfQoJCQkvLyEgdW5saW5rIG9sZAoJCQkkZmlsZW5hbWUgPSB1bmlxaWQoKSAuICRyZWdzMlswXTsKCQkJaWYgKCFtb3ZlX3VwbG9hZGVkX2ZpbGUoJF9GSUxFU1skbmFtZV1bInRtcF9uYW1lIl0sICIkdGhpcy0+dXBsb2FkUGF0aCR0YWJsZS8kcmVnc1sxXS0kZmlsZW5hbWUiKSkgewoJCQkJcmV0dXJuIGZhbHNlOwoJCQl9CgkJCXJldHVybiBxKCRmaWxlbmFtZSk7CgkJfQoJfQoJCglmdW5jdGlvbiBzZWxlY3RWYWwoJHZhbCwgJiRsaW5rLCAkZmllbGQpIHsKCQlpZiAoJHZhbCAhPSAiJm5ic3A7IiAmJiBlcmVnKCcoLiopX3BhdGgkJywgJGZpZWxkWyJmaWVsZCJdLCAkcmVncykpIHsKCQkJJGxpbmsgPSAiJHRoaXMtPmRpc3BsYXlQYXRoJF9HRVRbc2VsZWN0XS8kcmVnc1sxXS0kdmFsIjsKCQl9Cgl9CgkKfQo=]]></data>
	</file>
	<file>
	  <filename>/adminer/plugins/foreign-system.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKiBMaW5rIHN5c3RlbSB0YWJsZXMgKGluIG15c3FsIGFuZCBpbmZvcm1hdGlvbl9zY2hlbWEgZGF0YWJhc2VzKSBieSBmb3JlaWduIGtleXMKKiBAYXV0aG9yIEpha3ViIFZyYW5hLCBodHRwOi8vd3d3LnZyYW5hLmN6LwoqIEBsaWNlbnNlIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMCBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKiBAbGljZW5zZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLTIuMC5odG1sIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLCB2ZXJzaW9uIDIgKG9uZSBvciBvdGhlcikKKi8KY2xhc3MgQWRtaW5lckZvcmVpZ25TeXN0ZW0gewoJCglmdW5jdGlvbiBmb3JlaWduS2V5cygkdGFibGUpIHsKCQlpZiAoRFJJVkVSID09ICJzZXJ2ZXIiICYmIERCID09ICJteXNxbCIpIHsKCQkJc3dpdGNoICgkdGFibGUpIHsKCQkJCWNhc2UgImNvbHVtbnNfcHJpdiI6IHJldHVybiBhcnJheShhcnJheSgidGFibGUiID0+ICJ1c2VyIiwgInNvdXJjZSIgPT4gYXJyYXkoIkhvc3QiLCAiVXNlciIpLCAidGFyZ2V0IiA9PiBhcnJheSgiSG9zdCIsICJVc2VyIikpKTsKCQkJCWNhc2UgImRiIjogcmV0dXJuIGFycmF5KGFycmF5KCJ0YWJsZSIgPT4gInVzZXIiLCAic291cmNlIiA9PiBhcnJheSgiSG9zdCIsICJVc2VyIiksICJ0YXJnZXQiID0+IGFycmF5KCJIb3N0IiwgIlVzZXIiKSkpOwoJCQkJY2FzZSAiaGVscF9jYXRlZ29yeSI6IHJldHVybiBhcnJheShhcnJheSgidGFibGUiID0+ICJoZWxwX2NhdGVnb3J5IiwgInNvdXJjZSIgPT4gYXJyYXkoInBhcmVudF9jYXRlZ29yeV9pZCIpLCAidGFyZ2V0IiA9PiBhcnJheSgiaGVscF9jYXRlZ29yeV9pZCIpKSk7CgkJCQljYXNlICJoZWxwX3JlbGF0aW9uIjogcmV0dXJuIGFycmF5KGFycmF5KCJ0YWJsZSIgPT4gImhlbHBfdG9waWMiLCAic291cmNlIiA9PiBhcnJheSgiaGVscF90b3BpY19pZCIpLCAidGFyZ2V0IiA9PiBhcnJheSgiaGVscF90b3BpY19pZCIpKSwgYXJyYXkoInRhYmxlIiA9PiAiaGVscF9rZXl3b3JkIiwgInNvdXJjZSIgPT4gYXJyYXkoImhlbHBfa2V5d29yZF9pZCIpLCAidGFyZ2V0IiA9PiBhcnJheSgiaGVscF9rZXl3b3JkX2lkIikpKTsKCQkJCWNhc2UgImhlbHBfdG9waWMiOiByZXR1cm4gYXJyYXkoYXJyYXkoInRhYmxlIiA9PiAiaGVscF9jYXRlZ29yeSIsICJzb3VyY2UiID0+IGFycmF5KCJoZWxwX2NhdGVnb3J5X2lkIiksICJ0YXJnZXQiID0+IGFycmF5KCJoZWxwX2NhdGVnb3J5X2lkIikpKTsKCQkJCWNhc2UgInByb2NzX3ByaXYiOiByZXR1cm4gYXJyYXkoYXJyYXkoInRhYmxlIiA9PiAidXNlciIsICJzb3VyY2UiID0+IGFycmF5KCJIb3N0IiwgIlVzZXIiKSwgInRhcmdldCIgPT4gYXJyYXkoIkhvc3QiLCAiVXNlciIpKSwgYXJyYXkoInRhYmxlIiA9PiAicHJvYyIsICJzb3VyY2UiID0+IGFycmF5KCJEYiIsICJSb3V0aW5lX25hbWUiKSwgInRhcmdldCIgPT4gYXJyYXkoImRiIiwgIm5hbWUiKSkpOwoJCQkJY2FzZSAidGFibGVzX3ByaXYiOiByZXR1cm4gYXJyYXkoYXJyYXkoInRhYmxlIiA9PiAidXNlciIsICJzb3VyY2UiID0+IGFycmF5KCJIb3N0IiwgIlVzZXIiKSwgInRhcmdldCIgPT4gYXJyYXkoIkhvc3QiLCAiVXNlciIpKSk7CgkJCQljYXNlICJ0aW1lX3pvbmVfbmFtZSI6IHJldHVybiBhcnJheShhcnJheSgidGFibGUiID0+ICJ0aW1lX3pvbmUiLCAic291cmNlIiA9PiBhcnJheSgiVGltZV96b25lX2lkIiksICJ0YXJnZXQiID0+IGFycmF5KCJUaW1lX3pvbmVfaWQiKSkpOwoJCQkJY2FzZSAidGltZV96b25lX3RyYW5zaXRpb24iOiByZXR1cm4gYXJyYXkoYXJyYXkoInRhYmxlIiA9PiAidGltZV96b25lIiwgInNvdXJjZSIgPT4gYXJyYXkoIlRpbWVfem9uZV9pZCIpLCAidGFyZ2V0IiA9PiBhcnJheSgiVGltZV96b25lX2lkIikpLCBhcnJheSgidGFibGUiID0+ICJ0aW1lX3pvbmVfdHJhbnNpdGlvbl90eXBlIiwgInNvdXJjZSIgPT4gYXJyYXkoIlRpbWVfem9uZV9pZCIsICJUcmFuc2l0aW9uX3R5cGVfaWQiKSwgInRhcmdldCIgPT4gYXJyYXkoIlRpbWVfem9uZV9pZCIsICJUcmFuc2l0aW9uX3R5cGVfaWQiKSkpOwoJCQkJY2FzZSAidGltZV96b25lX3RyYW5zaXRpb25fdHlwZSI6IHJldHVybiBhcnJheShhcnJheSgidGFibGUiID0+ICJ0aW1lX3pvbmUiLCAic291cmNlIiA9PiBhcnJheSgiVGltZV96b25lX2lkIiksICJ0YXJnZXQiID0+IGFycmF5KCJUaW1lX3pvbmVfaWQiKSkpOwoJCQl9CgkJfSBlbHNlaWYgKERCID09ICJpbmZvcm1hdGlvbl9zY2hlbWEiKSB7CgkJCSRzY2hlbWF0YSA9IGFycmF5KCJ0YWJsZSIgPT4gIlNDSEVNQVRBIiwgInNvdXJjZSIgPT4gYXJyYXkoIlRBQkxFX0NBVEFMT0ciLCAiVEFCTEVfU0NIRU1BIiksICJ0YXJnZXQiID0+IGFycmF5KCJDQVRBTE9HX05BTUUiLCAiU0NIRU1BX05BTUUiKSk7CgkJCSR0YWJsZXMgPSBhcnJheSgidGFibGUiID0+ICJUQUJMRVMiLCAic291cmNlIiA9PiBhcnJheSgiVEFCTEVfQ0FUQUxPRyIsICJUQUJMRV9TQ0hFTUEiLCAiVEFCTEVfTkFNRSIpLCAidGFyZ2V0IiA9PiBhcnJheSgiVEFCTEVfQ0FUQUxPRyIsICJUQUJMRV9TQ0hFTUEiLCAiVEFCTEVfTkFNRSIpKTsKCQkJJGNvbHVtbnMgPSBhcnJheSgidGFibGUiID0+ICJDT0xVTU5TIiwgInNvdXJjZSIgPT4gYXJyYXkoIlRBQkxFX0NBVEFMT0ciLCAiVEFCTEVfU0NIRU1BIiwgIlRBQkxFX05BTUUiLCAiQ09MVU1OX05BTUUiKSwgInRhcmdldCIgPT4gYXJyYXkoIlRBQkxFX0NBVEFMT0ciLCAiVEFCTEVfU0NIRU1BIiwgIlRBQkxFX05BTUUiLCAiQ09MVU1OX05BTUUiKSk7CgkJCSRjaGFyYWN0ZXJfc2V0cyA9IGFycmF5KCJ0YWJsZSIgPT4gIkNIQVJBQ1RFUl9TRVRTIiwgInNvdXJjZSIgPT4gYXJyYXkoIkNIQVJBQ1RFUl9TRVRfTkFNRSIpLCAidGFyZ2V0IiA9PiBhcnJheSgiQ0hBUkFDVEVSX1NFVF9OQU1FIikpOwoJCQkkY29sbGF0aW9ucyA9IGFycmF5KCJ0YWJsZSIgPT4gIkNPTExBVElPTlMiLCAic291cmNlIiA9PiBhcnJheSgiQ09MTEFUSU9OX05BTUUiKSwgInRhcmdldCIgPT4gYXJyYXkoIkNPTExBVElPTl9OQU1FIikpOwoJCQkkcm91dGluZV9jaGFyc2V0cyA9IGFycmF5KGFycmF5KCJzb3VyY2UiID0+IGFycmF5KCJDSEFSQUNURVJfU0VUX0NMSUVOVCIpKSArICRjaGFyYWN0ZXJfc2V0cywgYXJyYXkoInNvdXJjZSIgPT4gYXJyYXkoIkNPTExBVElPTl9DT05ORUNUSU9OIikpICsgJGNvbGxhdGlvbnMsIGFycmF5KCJzb3VyY2UiID0+IGFycmF5KCJEQVRBQkFTRV9DT0xMQVRJT04iKSkgKyAkY29sbGF0aW9ucyk7CgkJCXN3aXRjaCAoJHRhYmxlKSB7CgkJCQljYXNlICJDSEFSQUNURVJfU0VUUyI6IHJldHVybiBhcnJheShhcnJheSgic291cmNlIiA9PiBhcnJheSgiREVGQVVMVF9DT0xMQVRFX05BTUUiKSkgKyAkY29sbGF0aW9ucyk7CgkJCQljYXNlICJDT0xMQVRJT05TIjogcmV0dXJuIGFycmF5KCRjaGFyYWN0ZXJfc2V0cyk7CgkJCQljYXNlICJDT0xMQVRJT05fQ0hBUkFDVEVSX1NFVF9BUFBMSUNBQklMSVRZIjogcmV0dXJuIGFycmF5KCRjb2xsYXRpb25zLCAkY2hhcmFjdGVyX3NldHMpOwoJCQkJY2FzZSAiQ09MVU1OUyI6IHJldHVybiBhcnJheSgkc2NoZW1hdGEsICR0YWJsZXMsICRjaGFyYWN0ZXJfc2V0cywgJGNvbGxhdGlvbnMpOwoJCQkJY2FzZSAiQ09MVU1OX1BSSVZJTEVHRVMiOiByZXR1cm4gYXJyYXkoJHNjaGVtYXRhLCAkdGFibGVzLCAkY29sdW1ucyk7CgkJCQljYXNlICJUQUJMRVMiOiByZXR1cm4gYXJyYXkoJHNjaGVtYXRhLCBhcnJheSgic291cmNlIiA9PiBhcnJheSgiVEFCTEVfQ09MTEFUSU9OIikpICsgJGNvbGxhdGlvbnMpOwoJCQkJY2FzZSAiU0NIRU1BVEEiOiByZXR1cm4gYXJyYXkoYXJyYXkoInNvdXJjZSIgPT4gYXJyYXkoIkRFRkFVTFRfQ0hBUkFDVEVSX1NFVF9OQU1FIikpICsgJGNoYXJhY3Rlcl9zZXRzLCBhcnJheSgic291cmNlIiA9PiBhcnJheSgiREVGQVVMVF9DT0xMQVRJT05fTkFNRSIpKSArICRjb2xsYXRpb25zKTsKCQkJCWNhc2UgIkVWRU5UUyI6IHJldHVybiBhcnJheV9tZXJnZShhcnJheShhcnJheSgic291cmNlIiA9PiBhcnJheSgiRVZFTlRfQ0FUQUxPRyIsICJFVkVOVF9TQ0hFTUEiKSkgKyAkc2NoZW1hdGEpLCAkcm91dGluZV9jaGFyc2V0cyk7CgkJCQljYXNlICJGSUxFUyI6IHJldHVybiBhcnJheSgkc2NoZW1hdGEsICR0YWJsZXMpOwoJCQkJY2FzZSAiS0VZX0NPTFVNTl9VU0FHRSI6IHJldHVybiBhcnJheShhcnJheSgic291cmNlIiA9PiBhcnJheSgiQ09OU1RSQUlOVF9DQVRBTE9HIiwgIkNPTlNUUkFJTlRfU0NIRU1BIikpICsgJHNjaGVtYXRhLCAkc2NoZW1hdGEsICR0YWJsZXMsICRjb2x1bW5zLCBhcnJheSgic291cmNlIiA9PiBhcnJheSgiVEFCTEVfQ0FUQUxPRyIsICJSRUZFUkVOQ0VEX1RBQkxFX1NDSEVNQSIpKSArICRzY2hlbWF0YSwgYXJyYXkoInNvdXJjZSIgPT4gYXJyYXkoIlRBQkxFX0NBVEFMT0ciLCAiUkVGRVJFTkNFRF9UQUJMRV9TQ0hFTUEiLCAiUkVGRVJFTkNFRF9UQUJMRV9OQU1FIikpICsgJHRhYmxlcywgYXJyYXkoInNvdXJjZSIgPT4gYXJyYXkoIlRBQkxFX0NBVEFMT0ciLCAiUkVGRVJFTkNFRF9UQUJMRV9TQ0hFTUEiLCAiUkVGRVJFTkNFRF9UQUJMRV9OQU1FIiwgIlJFRkVSRU5DRURfQ09MVU1OX05BTUUiKSkgKyAkY29sdW1ucyk7CgkJCQljYXNlICJQQVJUSVRJT05TIjogcmV0dXJuIGFycmF5KCRzY2hlbWF0YSwgJHRhYmxlcyk7CgkJCQljYXNlICJSRUZFUkVOVElBTF9DT05TVFJBSU5UUyI6IHJldHVybiBhcnJheShhcnJheSgic291cmNlIiA9PiBhcnJheSgiQ09OU1RSQUlOVF9DQVRBTE9HIiwgIkNPTlNUUkFJTlRfU0NIRU1BIikpICsgJHNjaGVtYXRhLCBhcnJheSgic291cmNlIiA9PiBhcnJheSgiVU5JUVVFX0NPTlNUUkFJTlRfQ0FUQUxPRyIsICJVTklRVUVfQ09OU1RSQUlOVF9TQ0hFTUEiKSkgKyAkc2NoZW1hdGEsIGFycmF5KCJzb3VyY2UiID0+IGFycmF5KCJDT05TVFJBSU5UX0NBVEFMT0ciLCAiQ09OU1RSQUlOVF9TQ0hFTUEiLCAiVEFCTEVfTkFNRSIpKSArICR0YWJsZXMsIGFycmF5KCJzb3VyY2UiID0+IGFycmF5KCJDT05TVFJBSU5UX0NBVEFMT0ciLCAiQ09OU1RSQUlOVF9TQ0hFTUEiLCAiUkVGRVJFTkNFRF9UQUJMRV9OQU1FIikpICsgJHRhYmxlcyk7CgkJCQljYXNlICJST1VUSU5FUyI6IHJldHVybiBhcnJheV9tZXJnZShhcnJheShhcnJheSgic291cmNlIiA9PiBhcnJheSgiUk9VVElORV9DQVRBTE9HIiwgIlJPVVRJTkVfU0NIRU1BIikpICsgJHNjaGVtYXRhKSwgJHJvdXRpbmVfY2hhcnNldHMpOwoJCQkJY2FzZSAiU0NIRU1BX1BSSVZJTEVHRVMiOiByZXR1cm4gYXJyYXkoJHNjaGVtYXRhKTsKCQkJCWNhc2UgIlNUQVRJU1RJQ1MiOiByZXR1cm4gYXJyYXkoJHNjaGVtYXRhLCAkdGFibGVzLCAkY29sdW1ucywgYXJyYXkoInNvdXJjZSIgPT4gYXJyYXkoIlRBQkxFX0NBVEFMT0ciLCAiSU5ERVhfU0NIRU1BIikpICsgJHNjaGVtYXRhKTsKCQkJCWNhc2UgIlRBQkxFX0NPTlNUUkFJTlRTIjogcmV0dXJuIGFycmF5KGFycmF5KCJzb3VyY2UiID0+IGFycmF5KCJDT05TVFJBSU5UX0NBVEFMT0ciLCAiQ09OU1RSQUlOVF9TQ0hFTUEiKSkgKyAkc2NoZW1hdGEsIGFycmF5KCJzb3VyY2UiID0+IGFycmF5KCJDT05TVFJBSU5UX0NBVEFMT0ciLCAiVEFCTEVfU0NIRU1BIikpICsgJHNjaGVtYXRhLCBhcnJheSgic291cmNlIiA9PiBhcnJheSgiQ09OU1RSQUlOVF9DQVRBTE9HIiwgIlRBQkxFX1NDSEVNQSIsICJUQUJMRV9OQU1FIikpICsgJHRhYmxlcyk7CgkJCQljYXNlICJUQUJMRV9QUklWSUxFR0VTIjogcmV0dXJuIGFycmF5KCRzY2hlbWF0YSwgJHRhYmxlcyk7CgkJCQljYXNlICJUUklHR0VSUyI6IHJldHVybiBhcnJheV9tZXJnZShhcnJheShhcnJheSgic291cmNlIiA9PiBhcnJheSgiVFJJR0dFUl9DQVRBTE9HIiwgIlRSSUdHRVJfU0NIRU1BIikpICsgJHNjaGVtYXRhLCBhcnJheSgic291cmNlIiA9PiBhcnJheSgiRVZFTlRfT0JKRUNUX0NBVEFMT0ciLCAiRVZFTlRfT0JKRUNUX1NDSEVNQSIpKSArICRzY2hlbWF0YSwgYXJyYXkoInNvdXJjZSIgPT4gYXJyYXkoIkVWRU5UX09CSkVDVF9DQVRBTE9HIiwgIkVWRU5UX09CSkVDVF9TQ0hFTUEiLCAiRVZFTlRfT0JKRUNUX1RBQkxFIikpICsgJHRhYmxlcyksICRyb3V0aW5lX2NoYXJzZXRzKTsKCQkJCWNhc2UgIlZJRVdTIjogcmV0dXJuIGFycmF5KCRzY2hlbWF0YSk7CgkJCX0KCQl9Cgl9CgkKfQo=]]></data>
	</file>
	<file>
	  <filename>/adminer/plugins/plugin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKiBBZG1pbmVyIGN1c3RvbWl6YXRpb24gYWxsb3dpbmcgdXNhZ2Ugb2YgcGx1Z2lucwogKiBAYXV0aG9yIEpha3ViIFZyYW5hLCBodHRwOi8vd3d3LnZyYW5hLmN6LwogKiBAbGljZW5zZSBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCiAqIEBsaWNlbnNlIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMi4wLmh0bWwgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIHZlcnNpb24gMiAob25lIG9yIG90aGVyKQogKi8KY2xhc3MgQWRtaW5lclBsdWdpbiBleHRlbmRzIEFkbWluZXIgewoJdmFyICRwbHVnaW5zOwoKCWZ1bmN0aW9uIF9maW5kUm9vdENsYXNzKCRjbGFzcykgeyAvLyBpc19zdWJjbGFzc19vZihzdHJpbmcsIHN0cmluZykgaXMgYXZhaWxhYmxlIHNpbmNlIFBIUCA1LjAuMwoJCWRvIHsKCQkJJHJldHVybiA9ICRjbGFzczsKCQl9IHdoaWxlICgkY2xhc3MgPSBnZXRfcGFyZW50X2NsYXNzKCRjbGFzcykpOwoJCXJldHVybiAkcmV0dXJuOwoJfQoKCS8qKiBSZWdpc3RlciBwbHVnaW5zCgkgKiBAcGFyYW0gYXJyYXkgb2JqZWN0IGluc3RhbmNlcyBvciBudWxsIHRvIHJlZ2lzdGVyIGFsbCBjbGFzc2VzIHN0YXJ0aW5nIGJ5ICdBZG1pbmVyJwoJICovCglmdW5jdGlvbiBBZG1pbmVyUGx1Z2luKCRwbHVnaW5zKSB7CgkJaWYgKCFpc3NldCgkcGx1Z2lucykpIHsKCQkJJHBsdWdpbnMgPSBhcnJheSgKCQkJKTsKCQkJZm9yZWFjaCAoZ2V0X2RlY2xhcmVkX2NsYXNzZXMoKSBhcyAkY2xhc3MpIHsKCQkJCWlmIChwcmVnX21hdGNoKCd+XkFkbWluZXIufmknLCAkY2xhc3MpICYmCgkJCQkJc3RyY2FzZWNtcCgkdGhpcy0+X2ZpbmRSb290Q2xhc3MoJGNsYXNzKSwgJ0FkbWluZXInKSkgeyAvLyBjYW4gdXNlIGludGVyZmFjZSBzaW5jZSBQSFAgNQoJCQkJCSRwbHVnaW5zWyRjbGFzc10gPSBuZXcgJGNsYXNzOwoJCQkJfQoJCQl9CgkJfQoJCSR0aGlzLT5wbHVnaW5zID0gJHBsdWdpbnM7CgkJLy8gaXQgaXMgcG9zc2libGUgdG8gdXNlIFJlZmxlY3Rpb25PYmplY3QgaW4gUEhQIDUgdG8gZmluZCBvdXQgd2hpY2ggcGx1Z2lucyBkZWZpbmVzIHdoaWNoIG1ldGhvZHMgYXQgb25jZQoJfQoKCWZ1bmN0aW9uIF9jYWxsUGFyZW50KCRmdW5jdGlvbiwgJGFyZ3MpIHsKCQlzd2l0Y2ggKGNvdW50KCRhcmdzKSkgeyAvLyBjYWxsX3VzZXJfZnVuY19hcnJheShhcnJheSgncGFyZW50JywgJGZ1bmN0aW9uKSwgJGFyZ3MpIHdvcmtzIHNpbmNlIFBIUCA1CgkJCWNhc2UgMDoKCQkJCXJldHVybiBwYXJlbnQ6OiRmdW5jdGlvbigpOwoJCQljYXNlIDE6CgkJCQlyZXR1cm4gcGFyZW50OjokZnVuY3Rpb24oJGFyZ3NbMF0pOwoJCQljYXNlIDI6CgkJCQlyZXR1cm4gcGFyZW50OjokZnVuY3Rpb24oJGFyZ3NbMF0sICRhcmdzWzFdKTsKCQkJY2FzZSAzOgoJCQkJcmV0dXJuIHBhcmVudDo6JGZ1bmN0aW9uKCRhcmdzWzBdLCAkYXJnc1sxXSwgJGFyZ3NbMl0pOwoJCQljYXNlIDQ6CgkJCQlyZXR1cm4gcGFyZW50OjokZnVuY3Rpb24oJGFyZ3NbMF0sICRhcmdzWzFdLCAkYXJnc1syXSwgJGFyZ3NbM10pOwoJCQlkZWZhdWx0OgoJCQkJdHJpZ2dlcl9lcnJvcignVG9vIG1hbnkgcGFyYW1ldGVycy4nLCBFX1VTRVJfV0FSTklORyk7CgkJfQoJfQoKCWZ1bmN0aW9uIF9hcHBseVBsdWdpbigkZnVuY3Rpb24sICRhcmdzKSB7CgkJZm9yZWFjaCAoJHRoaXMtPnBsdWdpbnMgYXMgJHBsdWdpbikgewoJCQlpZiAobWV0aG9kX2V4aXN0cygkcGx1Z2luLCAkZnVuY3Rpb24pKSB7CgkJCQlzd2l0Y2ggKGNvdW50KCRhcmdzKSkgeyAvLyBjYWxsX3VzZXJfZnVuY19hcnJheSgpIGRvZXNuJ3Qgd29yayB3ZWxsIHdpdGggcmVmZXJlbmNlcwoJCQkJCWNhc2UgMDoKCQkJCQkJJHJldHVybiA9ICRwbHVnaW4tPiRmdW5jdGlvbigpOwoJCQkJCQlicmVhazsKCQkJCQljYXNlIDE6CgkJCQkJCSRyZXR1cm4gPSAkcGx1Z2luLT4kZnVuY3Rpb24oJGFyZ3NbMF0pOwoJCQkJCQlicmVhazsKCQkJCQljYXNlIDI6CgkJCQkJCSRyZXR1cm4gPSAkcGx1Z2luLT4kZnVuY3Rpb24oJGFyZ3NbMF0sICRhcmdzWzFdKTsKCQkJCQkJYnJlYWs7CgkJCQkJY2FzZSAzOgoJCQkJCQkkcmV0dXJuID0gJHBsdWdpbi0+JGZ1bmN0aW9uKCRhcmdzWzBdLCAkYXJnc1sxXSwgJGFyZ3NbMl0pOwoJCQkJCQlicmVhazsKCQkJCQljYXNlIDQ6CgkJCQkJCSRyZXR1cm4gPSAkcGx1Z2luLT4kZnVuY3Rpb24oJGFyZ3NbMF0sICRhcmdzWzFdLCAkYXJnc1syXSwgJGFyZ3NbM10pOwoJCQkJCQlicmVhazsKCQkJCQlkZWZhdWx0OgoJCQkJCQl0cmlnZ2VyX2Vycm9yKCdUb28gbWFueSBwYXJhbWV0ZXJzLicsIEVfVVNFUl9XQVJOSU5HKTsKCQkJCX0KCQkJCWlmIChpc3NldCgkcmV0dXJuKSkgewoJCQkJCXJldHVybiAkcmV0dXJuOwoJCQkJfQoJCQl9CgkJfQoJCXJldHVybiAkdGhpcy0+X2NhbGxQYXJlbnQoJGZ1bmN0aW9uLCAkYXJncyk7Cgl9CgoJZnVuY3Rpb24gX2FwcGVuZFBsdWdpbigkZnVuY3Rpb24sICRhcmdzKSB7CgkJJHJldHVybiA9ICR0aGlzLT5fY2FsbFBhcmVudCgkZnVuY3Rpb24sICRhcmdzKTsKCQlmb3JlYWNoICgkdGhpcy0+cGx1Z2lucyBhcyAkcGx1Z2luKSB7CgkJCWlmIChtZXRob2RfZXhpc3RzKCRwbHVnaW4sICRmdW5jdGlvbikpIHsKCQkJCSRyZXR1cm4gKz0gY2FsbF91c2VyX2Z1bmNfYXJyYXkoYXJyYXkoCgkJCQkJCQkJCQkJCQkgJHBsdWdpbiwgJGZ1bmN0aW9uCgkJCQkJCQkJCQkJCSksICRhcmdzKTsKCQkJfQoJCX0KCQlyZXR1cm4gJHJldHVybjsKCX0KCgkvLyBhcHBlbmRQbHVnaW4KCglmdW5jdGlvbiBkdW1wRm9ybWF0KCkgewoJCSRhcmdzID0gZnVuY19nZXRfYXJncygpOwoJCXJldHVybiAkdGhpcy0+X2FwcGVuZFBsdWdpbihfX0ZVTkNUSU9OX18sICRhcmdzKTsKCX0KCglmdW5jdGlvbiBkdW1wT3V0cHV0KCkgewoJCSRhcmdzID0gZnVuY19nZXRfYXJncygpOwoJCXJldHVybiAkdGhpcy0+X2FwcGVuZFBsdWdpbihfX0ZVTkNUSU9OX18sICRhcmdzKTsKCX0KCglmdW5jdGlvbiBlZGl0RnVuY3Rpb25zKCkgewoJCSRhcmdzID0gZnVuY19nZXRfYXJncygpOwoJCXJldHVybiAkdGhpcy0+X2FwcGVuZFBsdWdpbihfX0ZVTkNUSU9OX18sICRhcmdzKTsKCX0KCgkvLyBhcHBseVBsdWdpbgoKCWZ1bmN0aW9uIG5hbWUoKSB7CgkJJGFyZ3MgPSBmdW5jX2dldF9hcmdzKCk7CgkJcmV0dXJuICR0aGlzLT5fYXBwbHlQbHVnaW4oX19GVU5DVElPTl9fLCAkYXJncyk7Cgl9CgoJZnVuY3Rpb24gY3JlZGVudGlhbHMoKSB7CgkJJGFyZ3MgPSBmdW5jX2dldF9hcmdzKCk7CgkJcmV0dXJuICR0aGlzLT5fYXBwbHlQbHVnaW4oX19GVU5DVElPTl9fLCAkYXJncyk7Cgl9CgoJZnVuY3Rpb24gcGVybWFuZW50TG9naW4oKSB7CgkJJGFyZ3MgPSBmdW5jX2dldF9hcmdzKCk7CgkJcmV0dXJuICR0aGlzLT5fYXBwbHlQbHVnaW4oX19GVU5DVElPTl9fLCAkYXJncyk7Cgl9CgoJZnVuY3Rpb24gZGF0YWJhc2UoKSB7CgkJJGFyZ3MgPSBmdW5jX2dldF9hcmdzKCk7CgkJcmV0dXJuICR0aGlzLT5fYXBwbHlQbHVnaW4oX19GVU5DVElPTl9fLCAkYXJncyk7Cgl9CgoJZnVuY3Rpb24gaGVhZGVycygpIHsKCQkkYXJncyA9IGZ1bmNfZ2V0X2FyZ3MoKTsKCQlyZXR1cm4gJHRoaXMtPl9hcHBseVBsdWdpbihfX0ZVTkNUSU9OX18sICRhcmdzKTsKCX0KCglmdW5jdGlvbiBoZWFkKCkgewoJCSRhcmdzID0gZnVuY19nZXRfYXJncygpOwoJCXJldHVybiAkdGhpcy0+X2FwcGx5UGx1Z2luKF9fRlVOQ1RJT05fXywgJGFyZ3MpOwoJfQoKCWZ1bmN0aW9uIGxvZ2luRm9ybSgpIHsKCQkkYXJncyA9IGZ1bmNfZ2V0X2FyZ3MoKTsKCQlyZXR1cm4gJHRoaXMtPl9hcHBseVBsdWdpbihfX0ZVTkNUSU9OX18sICRhcmdzKTsKCX0KCglmdW5jdGlvbiBsb2dpbigpIHsKCQkkYXJncyA9IGZ1bmNfZ2V0X2FyZ3MoKTsKCQlyZXR1cm4gJHRoaXMtPl9hcHBseVBsdWdpbihfX0ZVTkNUSU9OX18sICRhcmdzKTsKCX0KCglmdW5jdGlvbiB0YWJsZU5hbWUoKSB7CgkJJGFyZ3MgPSBmdW5jX2dldF9hcmdzKCk7CgkJcmV0dXJuICR0aGlzLT5fYXBwbHlQbHVnaW4oX19GVU5DVElPTl9fLCAkYXJncyk7Cgl9CgoJZnVuY3Rpb24gZmllbGROYW1lKCkgewoJCSRhcmdzID0gZnVuY19nZXRfYXJncygpOwoJCXJldHVybiAkdGhpcy0+X2FwcGx5UGx1Z2luKF9fRlVOQ1RJT05fXywgJGFyZ3MpOwoJfQoKCWZ1bmN0aW9uIHNlbGVjdExpbmtzKCkgewoJCSRhcmdzID0gZnVuY19nZXRfYXJncygpOwoJCXJldHVybiAkdGhpcy0+X2FwcGx5UGx1Z2luKF9fRlVOQ1RJT05fXywgJGFyZ3MpOwoJfQoKCWZ1bmN0aW9uIGZvcmVpZ25LZXlzKCkgewoJCSRhcmdzID0gZnVuY19nZXRfYXJncygpOwoJCXJldHVybiAkdGhpcy0+X2FwcGx5UGx1Z2luKF9fRlVOQ1RJT05fXywgJGFyZ3MpOwoJfQoKCWZ1bmN0aW9uIGJhY2t3YXJkS2V5cygpIHsKCQkkYXJncyA9IGZ1bmNfZ2V0X2FyZ3MoKTsKCQlyZXR1cm4gJHRoaXMtPl9hcHBseVBsdWdpbihfX0ZVTkNUSU9OX18sICRhcmdzKTsKCX0KCglmdW5jdGlvbiBiYWNrd2FyZEtleXNQcmludCgpIHsKCQkkYXJncyA9IGZ1bmNfZ2V0X2FyZ3MoKTsKCQlyZXR1cm4gJHRoaXMtPl9hcHBseVBsdWdpbihfX0ZVTkNUSU9OX18sICRhcmdzKTsKCX0KCglmdW5jdGlvbiBzZWxlY3RRdWVyeSgpIHsKCQkkYXJncyA9IGZ1bmNfZ2V0X2FyZ3MoKTsKCQlyZXR1cm4gJHRoaXMtPl9hcHBseVBsdWdpbihfX0ZVTkNUSU9OX18sICRhcmdzKTsKCX0KCglmdW5jdGlvbiByb3dEZXNjcmlwdGlvbigpIHsKCQkkYXJncyA9IGZ1bmNfZ2V0X2FyZ3MoKTsKCQlyZXR1cm4gJHRoaXMtPl9hcHBseVBsdWdpbihfX0ZVTkNUSU9OX18sICRhcmdzKTsKCX0KCglmdW5jdGlvbiByb3dEZXNjcmlwdGlvbnMoKSB7CgkJJGFyZ3MgPSBmdW5jX2dldF9hcmdzKCk7CgkJcmV0dXJuICR0aGlzLT5fYXBwbHlQbHVnaW4oX19GVU5DVElPTl9fLCAkYXJncyk7Cgl9CgoJZnVuY3Rpb24gc2VsZWN0VmFsKCkgewoJCSRhcmdzID0gZnVuY19nZXRfYXJncygpOwoJCXJldHVybiAkdGhpcy0+X2FwcGx5UGx1Z2luKF9fRlVOQ1RJT05fXywgJGFyZ3MpOwoJfQoKCWZ1bmN0aW9uIGVkaXRWYWwoKSB7CgkJJGFyZ3MgPSBmdW5jX2dldF9hcmdzKCk7CgkJcmV0dXJuICR0aGlzLT5fYXBwbHlQbHVnaW4oX19GVU5DVElPTl9fLCAkYXJncyk7Cgl9CgoJZnVuY3Rpb24gc2VsZWN0Q29sdW1uc1ByaW50KCkgewoJCSRhcmdzID0gZnVuY19nZXRfYXJncygpOwoJCXJldHVybiAkdGhpcy0+X2FwcGx5UGx1Z2luKF9fRlVOQ1RJT05fXywgJGFyZ3MpOwoJfQoKCWZ1bmN0aW9uIHNlbGVjdFNlYXJjaFByaW50KCkgewoJCSRhcmdzID0gZnVuY19nZXRfYXJncygpOwoJCXJldHVybiAkdGhpcy0+X2FwcGx5UGx1Z2luKF9fRlVOQ1RJT05fXywgJGFyZ3MpOwoJfQoKCWZ1bmN0aW9uIHNlbGVjdE9yZGVyUHJpbnQoKSB7CgkJJGFyZ3MgPSBmdW5jX2dldF9hcmdzKCk7CgkJcmV0dXJuICR0aGlzLT5fYXBwbHlQbHVnaW4oX19GVU5DVElPTl9fLCAkYXJncyk7Cgl9CgoJZnVuY3Rpb24gc2VsZWN0TGltaXRQcmludCgpIHsKCQkkYXJncyA9IGZ1bmNfZ2V0X2FyZ3MoKTsKCQlyZXR1cm4gJHRoaXMtPl9hcHBseVBsdWdpbihfX0ZVTkNUSU9OX18sICRhcmdzKTsKCX0KCglmdW5jdGlvbiBzZWxlY3RMZW5ndGhQcmludCgpIHsKCQkkYXJncyA9IGZ1bmNfZ2V0X2FyZ3MoKTsKCQlyZXR1cm4gJHRoaXMtPl9hcHBseVBsdWdpbihfX0ZVTkNUSU9OX18sICRhcmdzKTsKCX0KCglmdW5jdGlvbiBzZWxlY3RBY3Rpb25QcmludCgpIHsKCQkkYXJncyA9IGZ1bmNfZ2V0X2FyZ3MoKTsKCQlyZXR1cm4gJHRoaXMtPl9hcHBseVBsdWdpbihfX0ZVTkNUSU9OX18sICRhcmdzKTsKCX0KCglmdW5jdGlvbiBzZWxlY3RDb21tYW5kUHJpbnQoKSB7CgkJJGFyZ3MgPSBmdW5jX2dldF9hcmdzKCk7CgkJcmV0dXJuICR0aGlzLT5fYXBwbHlQbHVnaW4oX19GVU5DVElPTl9fLCAkYXJncyk7Cgl9CgoJZnVuY3Rpb24gc2VsZWN0SW1wb3J0UHJpbnQoKSB7CgkJJGFyZ3MgPSBmdW5jX2dldF9hcmdzKCk7CgkJcmV0dXJuICR0aGlzLT5fYXBwbHlQbHVnaW4oX19GVU5DVElPTl9fLCAkYXJncyk7Cgl9CgoJZnVuY3Rpb24gc2VsZWN0RW1haWxQcmludCgpIHsKCQkkYXJncyA9IGZ1bmNfZ2V0X2FyZ3MoKTsKCQlyZXR1cm4gJHRoaXMtPl9hcHBseVBsdWdpbihfX0ZVTkNUSU9OX18sICRhcmdzKTsKCX0KCglmdW5jdGlvbiBzZWxlY3RDb2x1bW5zUHJvY2VzcygpIHsKCQkkYXJncyA9IGZ1bmNfZ2V0X2FyZ3MoKTsKCQlyZXR1cm4gJHRoaXMtPl9hcHBseVBsdWdpbihfX0ZVTkNUSU9OX18sICRhcmdzKTsKCX0KCglmdW5jdGlvbiBzZWxlY3RTZWFyY2hQcm9jZXNzKCkgewoJCSRhcmdzID0gZnVuY19nZXRfYXJncygpOwoJCXJldHVybiAkdGhpcy0+X2FwcGx5UGx1Z2luKF9fRlVOQ1RJT05fXywgJGFyZ3MpOwoJfQoKCWZ1bmN0aW9uIHNlbGVjdE9yZGVyUHJvY2VzcygpIHsKCQkkYXJncyA9IGZ1bmNfZ2V0X2FyZ3MoKTsKCQlyZXR1cm4gJHRoaXMtPl9hcHBseVBsdWdpbihfX0ZVTkNUSU9OX18sICRhcmdzKTsKCX0KCglmdW5jdGlvbiBzZWxlY3RMaW1pdFByb2Nlc3MoKSB7CgkJJGFyZ3MgPSBmdW5jX2dldF9hcmdzKCk7CgkJcmV0dXJuICR0aGlzLT5fYXBwbHlQbHVnaW4oX19GVU5DVElPTl9fLCAkYXJncyk7Cgl9CgoJZnVuY3Rpb24gc2VsZWN0TGVuZ3RoUHJvY2VzcygpIHsKCQkkYXJncyA9IGZ1bmNfZ2V0X2FyZ3MoKTsKCQlyZXR1cm4gJHRoaXMtPl9hcHBseVBsdWdpbihfX0ZVTkNUSU9OX18sICRhcmdzKTsKCX0KCglmdW5jdGlvbiBzZWxlY3RFbWFpbFByb2Nlc3MoKSB7CgkJJGFyZ3MgPSBmdW5jX2dldF9hcmdzKCk7CgkJcmV0dXJuICR0aGlzLT5fYXBwbHlQbHVnaW4oX19GVU5DVElPTl9fLCAkYXJncyk7Cgl9CgoJZnVuY3Rpb24gbWVzc2FnZVF1ZXJ5KCkgewoJCSRhcmdzID0gZnVuY19nZXRfYXJncygpOwoJCXJldHVybiAkdGhpcy0+X2FwcGx5UGx1Z2luKF9fRlVOQ1RJT05fXywgJGFyZ3MpOwoJfQoKCWZ1bmN0aW9uIGVkaXRJbnB1dCgpIHsKCQkkYXJncyA9IGZ1bmNfZ2V0X2FyZ3MoKTsKCQlyZXR1cm4gJHRoaXMtPl9hcHBseVBsdWdpbihfX0ZVTkNUSU9OX18sICRhcmdzKTsKCX0KCglmdW5jdGlvbiBwcm9jZXNzSW5wdXQoKSB7CgkJJGFyZ3MgPSBmdW5jX2dldF9hcmdzKCk7CgkJcmV0dXJuICR0aGlzLT5fYXBwbHlQbHVnaW4oX19GVU5DVElPTl9fLCAkYXJncyk7Cgl9CgoJZnVuY3Rpb24gZHVtcFRhYmxlKCkgewoJCSRhcmdzID0gZnVuY19nZXRfYXJncygpOwoJCXJldHVybiAkdGhpcy0+X2FwcGx5UGx1Z2luKF9fRlVOQ1RJT05fXywgJGFyZ3MpOwoJfQoKCWZ1bmN0aW9uIGR1bXBEYXRhKCkgewoJCSRhcmdzID0gZnVuY19nZXRfYXJncygpOwoJCXJldHVybiAkdGhpcy0+X2FwcGx5UGx1Z2luKF9fRlVOQ1RJT05fXywgJGFyZ3MpOwoJfQoKCWZ1bmN0aW9uIGR1bXBIZWFkZXJzKCkgewoJCSRhcmdzID0gZnVuY19nZXRfYXJncygpOwoJCXJldHVybiAkdGhpcy0+X2FwcGx5UGx1Z2luKF9fRlVOQ1RJT05fXywgJGFyZ3MpOwoJfQoKCWZ1bmN0aW9uIGhvbWVwYWdlKCkgewoJCSRhcmdzID0gZnVuY19nZXRfYXJncygpOwoJCXJldHVybiAkdGhpcy0+X2FwcGx5UGx1Z2luKF9fRlVOQ1RJT05fXywgJGFyZ3MpOwoJfQoKCWZ1bmN0aW9uIG5hdmlnYXRpb24oKSB7CgkJJGFyZ3MgPSBmdW5jX2dldF9hcmdzKCk7CgkJcmV0dXJuICR0aGlzLT5fYXBwbHlQbHVnaW4oX19GVU5DVElPTl9fLCAkYXJncyk7Cgl9CgoJZnVuY3Rpb24gdGFibGVzUHJpbnQoKSB7CgkJJGFyZ3MgPSBmdW5jX2dldF9hcmdzKCk7CgkJcmV0dXJuICR0aGlzLT5fYXBwbHlQbHVnaW4oX19GVU5DVElPTl9fLCAkYXJncyk7Cgl9Cgp9Cj8+]]></data>
	</file>
	<file>
	  <filename>/adminer/plugins/tinymce.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKiBFZGl0IGFsbCBmaWVsZHMgY29udGFpbmluZyAiX2h0bWwiIGJ5IEhUTUwgZWRpdG9yIFRpbnlNQ0UgYW5kIGRpc3BsYXkgdGhlIEhUTUwgaW4gc2VsZWN0CiogQHVzZXMgVGlueU1DRSwgaHR0cDovL3RpbnltY2UubW94aWVjb2RlLmNvbS8KKiBAYXV0aG9yIEpha3ViIFZyYW5hLCBodHRwOi8vd3d3LnZyYW5hLmN6LwoqIEBsaWNlbnNlIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMCBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKiBAbGljZW5zZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLTIuMC5odG1sIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLCB2ZXJzaW9uIDIgKG9uZSBvciBvdGhlcikKKi8KY2xhc3MgQWRtaW5lclRpbnltY2UgewoJLyoqIEB2YXIgc3RyaW5nIEBhY2Nlc3MgcHJvdGVjdGVkICovCgl2YXIgJHBhdGg7CgkKCS8qKgoJKiBAcGFyYW0gc3RyaW5nCgkqLwoJZnVuY3Rpb24gQWRtaW5lclRpbnltY2UoJHBhdGggPSAidGlueV9tY2UvdGlueV9tY2UuanMiKSB7CgkJJHRoaXMtPnBhdGggPSAkcGF0aDsKCX0KCQoJZnVuY3Rpb24gaGVhZCgpIHsKCQkkbGFuZyA9ICJlbiI7CgkJaWYgKGZ1bmN0aW9uX2V4aXN0cygnZ2V0X2xhbmcnKSkgeyAvLyBzaW5jZSBBZG1pbmVyIDMuMi4wCgkJCSRsYW5nID0gZ2V0X2xhbmcoKTsKCQkJJGxhbmcgPSAoJGxhbmcgPT0gInpoIiA/ICJ6aC1jbiIgOiAoJGxhbmcgPT0gInpoLXR3IiA/ICJ6aCIgOiAkbGFuZykpOwoJCQlpZiAoIWZpbGVfZXhpc3RzKGRpcm5hbWUoJHRoaXMtPnBhdGgpIC4gIi9sYW5ncy8kbGFuZy5qcyIpKSB7CgkJCQkkbGFuZyA9ICJlbiI7CgkJCX0KCQl9CgkJPz4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iPD9waHAgZWNobyBoKCR0aGlzLT5wYXRoKTsgPz4iPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CnRpbnlNQ0UuaW5pdCh7Cgltb2RlOiAnbm9uZScsCgl0aGVtZTogJ2FkdmFuY2VkJywKCXBsdWdpbnM6ICdjb250ZXh0bWVudSxwYXN0ZSx0YWJsZScsCgllbnRpdHlfZW5jb2Rpbmc6ICdyYXcnLAoJdGhlbWVfYWR2YW5jZWRfYnV0dG9uczE6ICdib2xkLGl0YWxpYyxsaW5rLHVubGluayx8LHN1YixzdXAsfCxidWxsaXN0LG51bWxpc3QsfCxjbGVhbnVwLGNvZGUnLAoJdGhlbWVfYWR2YW5jZWRfYnV0dG9uczI6ICd0YWJsZWNvbnRyb2xzJywKCXRoZW1lX2FkdmFuY2VkX2J1dHRvbnMzOiAnJywKCXRoZW1lX2FkdmFuY2VkX3Rvb2xiYXJfbG9jYXRpb246ICd0b3AnLAoJdGhlbWVfYWR2YW5jZWRfdG9vbGJhcl9hbGlnbjogJ2xlZnQnLAoJbGFuZ3VhZ2U6ICc8P3BocCBlY2hvICRsYW5nOyA/PicKfSk7Cjwvc2NyaXB0Pgo8P3BocAoJfQoJCglmdW5jdGlvbiBzZWxlY3RWYWwoJiR2YWwsICRsaW5rLCAkZmllbGQpIHsKCQlpZiAoZXJlZygiX2h0bWwiLCAkZmllbGRbImZpZWxkIl0pICYmICR2YWwgIT0gJyZuYnNwOycpIHsKCQkJJHNob3J0ZW5lZCA9IChzdWJzdHIoJHZhbCwgLTEwKSA9PSAiPGk+Li4uPC9pPiIpOwoJCQlpZiAoJHNob3J0ZW5lZCkgewoJCQkJJHZhbCA9IHN1YnN0cigkdmFsLCAwLCAtMTApOwoJCQl9CgkJCS8vISBzaG9ydGVuIHdpdGggcmVnYXJkIHRvIEhUTUwgdGFncyAtIGh0dHA6Ly9waHAudnJhbmEuY3ovemtyYWNlbmktdGV4dHUtcy14aHRtbC16bmFja2FtaS5waHAKCQkJJHZhbCA9IHByZWdfcmVwbGFjZSgnfjxbXj5dKiR+JywgJycsIGh0bWxfZW50aXR5X2RlY29kZSgkdmFsLCBFTlRfUVVPVEVTKSk7IC8vIHJlbW92ZSBlbmRpbmcgaW5jb21wbGV0ZSB0YWcgKHRleHQgY2FuIGJlIHNob3J0ZW5lZCkKCQkJaWYgKCRzaG9ydGVuZWQpIHsKCQkJCSR2YWwgLj0gIjxpPi4uLjwvaT4iOwoJCQl9CgkJCWlmIChjbGFzc19leGlzdHMoJ0RPTURvY3VtZW50JykpIHsgLy8gY2xvc2UgYWxsIG9wZW5lZCB0YWdzCgkJCQkkZG9tID0gbmV3IERPTURvY3VtZW50OwoJCQkJaWYgKEAkZG9tLT5sb2FkSFRNTCgiPG1ldGEgaHR0cC1lcXVpdj0nQ29udGVudC1UeXBlJyBjb250ZW50PSd0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgnPjwvaGVhZD4kdmFsIikpIHsgLy8gQCAtICR2YWwgY2FuIGNvbnRhaW4gZXJyb3JzCgkJCQkJJHZhbCA9IHByZWdfcmVwbGFjZSgnfi4qPGJvZHlbXj5dKj4oLiopPC9ib2R5Pi4qfmlzJywgJ1xcMScsICRkb20tPnNhdmVIVE1MKCkpOwoJCQkJfQoJCQl9CgkJfQoJfQoJCglmdW5jdGlvbiBlZGl0SW5wdXQoJHRhYmxlLCAkZmllbGQsICRhdHRycywgJHZhbHVlKSB7CgkJaWYgKGVyZWcoInRleHQiLCAkZmllbGRbInR5cGUiXSkgJiYgZXJlZygiX2h0bWwiLCAkZmllbGRbImZpZWxkIl0pKSB7CgkJCXJldHVybiAiPHRleHRhcmVhJGF0dHJzIGlkPSdmaWVsZHMtIiAuIGgoJGZpZWxkWyJmaWVsZCJdKSAuICInIHJvd3M9JzEyJyBjb2xzPSc1MCc+IiAuIGgoJHZhbHVlKSAuICI8L3RleHRhcmVhPjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz4KdGlueU1DRS5yZW1vdmUodGlueU1DRS5nZXQoJ2ZpZWxkcy0iIC4ganNfZXNjYXBlKCRmaWVsZFsiZmllbGQiXSkgLiAiJykgfHwgeyB9KTsKdGlueU1DRS5leGVjQ29tbWFuZCgnbWNlQWRkQ29udHJvbCcsIHRydWUsICdmaWVsZHMtIiAuIGpzX2VzY2FwZSgkZmllbGRbImZpZWxkIl0pIC4gIicpOwpkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZm9ybScpLm9uc3VibWl0ID0gZnVuY3Rpb24gKCkgewoJdGlueU1DRS5lYWNoKHRpbnlNQ0UuZWRpdG9ycywgZnVuY3Rpb24gKGVkKSB7CgkJZWQucmVtb3ZlKCk7Cgl9KTsKfTsKPC9zY3JpcHQ+IjsKCQl9Cgl9CgkKfQo=]]></data>
	</file>
	<file>
	  <filename>/adminer/plugins/version-noverify.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKiBEaXNhYmxlIHZlcnNpb24gY2hlY2tlcgoqIEBhdXRob3IgSmFrdWIgVnJhbmEsIGh0dHA6Ly93d3cudnJhbmEuY3ovCiogQGxpY2Vuc2UgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAoqIEBsaWNlbnNlIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMi4wLmh0bWwgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIHZlcnNpb24gMiAob25lIG9yIG90aGVyKQoqLwpjbGFzcyBBZG1pbmVyVmVyc2lvbk5vdmVyaWZ5IHsKCQoJZnVuY3Rpb24gbmF2aWdhdGlvbigkbWlzc2luZykgewoJCT8+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KdmVyaWZ5VmVyc2lvbiA9IGZ1bmN0aW9uICgpIHsKfTsKPC9zY3JpcHQ+Cjw/cGhwCgl9CgkKfQo=]]></data>
	</file>
	<file>
	  <filename>/btAdminer.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTW9kdWxlIDogYnRBZG1pbmVyIChjKSAyMDExIGJ5IGJsYXR0ZXJ0ZWNoIGluZm9ybWF0aWsgKGluZm9AYmxhdHRlcnRlY2guY2gpDQojICAgICAgICAgIGEgQWRtaW5lciBleHRlbnNpb24gZm9yIENNUyBNYWRlIFNpbXBsZQ0KIyAgICAgICAgICBUaGUgcHJvamVjdHMgaG9tZXBhZ2UgaXMgZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2J0YWRtaW5lci8NCiMgICAgICAgICAgQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA0LTIwMTAgYnkgVGVkIEt1bHANCiMgICAgICAgICAgVGhlIHByb2plY3RzIGhvbWVwYWdlIGlzOiBjbXNtYWRlc2ltcGxlLm9yZw0KIyBWZXJzaW9uOiAxLjANCiMgRmlsZSAgIDogYnRBZG1pbmVyLm1vZHVsZS5waHANCiMgUHVycG9zZTogaW5pdGlhbCBtb2R1bGUgY2xhc3MuIHRoaXMgaXMgdGhlIGludGVyZmFjZSB0byB0aGUgTW9kdWxlIEFQSQ0KIyBMaWNlbnNlOiBHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCmNsYXNzIGJ0QWRtaW5lciBleHRlbmRzIENNU01vZHVsZQ0Kew0KCXB1YmxpYyAkY29uZmlnOw0KDQoJcHVibGljIGZ1bmN0aW9uIEdldE5hbWUoKSAJCQkJCXsJcmV0dXJuICdidEFkbWluZXInOwl9DQoNCglwdWJsaWMgZnVuY3Rpb24gR2V0RnJpZW5kbHlOYW1lKCkJCXsgcmV0dXJuICJidEFkbWluZXIiOwl9DQoNCglwdWJsaWMgZnVuY3Rpb24gR2V0VmVyc2lvbigpCQkJCXsJcmV0dXJuICcxLjEuMCc7CX0NCg0KCXB1YmxpYyBmdW5jdGlvbiBHZXRIZWxwKCkgCQkJCQl7CXJldHVybiAkdGhpcy0+TGFuZygnaGVscCcpOwl9DQoNCglmdW5jdGlvbiBHZXRBdXRob3IoKQkJCQkJCQkJewlyZXR1cm4gJ2JsYXR0ZXJ0ZWNoIGluZm9ybWF0aWsnOyB9DQoNCglmdW5jdGlvbiBHZXRBdXRob3JFbWFpbCgpCQkJCQkJewlyZXR1cm4gJ2luZm9AYmxhdHRlcnRlY2guY2gnOwl9DQoNCglmdW5jdGlvbiBJc1BsdWdpbk1vZHVsZSgpCQkJCQkJewlyZXR1cm4gZmFsc2U7CX0NCg0KCWZ1bmN0aW9uIEhhc0FkbWluKCkJCQkJCQkJCQl7CXJldHVybiB0cnVlOwl9DQoNCglmdW5jdGlvbiBHZXRBZG1pblNlY3Rpb24oKQkJCQkJewlyZXR1cm4gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2FkbWluX3NlY3Rpb24nKTsgfQ0KDQoJZnVuY3Rpb24gR2V0QWRtaW5EZXNjcmlwdGlvbigpCQkJewlyZXR1cm4gJHRoaXMtPkxhbmcoJ21vZGRlc2NyaXB0aW9uJyk7CX0NCg0KCWZ1bmN0aW9uIFZpc2libGVUb0FkbWluVXNlcigpCQkJCXsJcmV0dXJuICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1VzZSBidEFkbWluZXInKTsJfQ0KDQoJZnVuY3Rpb24gTWluaW11bUNNU1ZlcnNpb24oKQkJCQl7CXJldHVybiAiMS45LjQuMiI7CX0NCg0KCWZ1bmN0aW9uIE1heGltdW1DTVNWZXJzaW9uKCkJCQkJewlyZXR1cm4gIjEuMTAiOwl9DQoNCglmdW5jdGlvbiBJbnN0YWxsUG9zdE1lc3NhZ2UoKQkJCQl7CXJldHVybiAkdGhpcy0+TGFuZygncG9zdGluc3RhbGwnKTsJfQ0KDQoJZnVuY3Rpb24gVW5pbnN0YWxsUG9zdE1lc3NhZ2UoKQkJCXsJcmV0dXJuICR0aGlzLT5MYW5nKCdwb3N0dW5pbnN0YWxsJyk7IH0NCg0KCWZ1bmN0aW9uIFVuaW5zdGFsbFByZU1lc3NhZ2UoKQkJCXsJcmV0dXJuICR0aGlzLT5MYW5nKCdyZWFsbHlfdW5pbnN0YWxsJyk7CX0NCg0KCS8qKg0KCSAqIE1ldGhvZDogR2V0SGVhZGVySFRNTA0KCSAqDQoJICoNCgkgKiBAc2VlIFNjcmlwdERlcGxveTo6R2V0SGVhZGVySFRNTCgpDQoJICogQGFjY2VzcyBwdWJsaWMNCgkgKiBAcmV0dXJuIEhlYWRlciBKUyBhbmQgQ1NTDQoJICovDQoJcHVibGljIGZ1bmN0aW9uIEdldEhlYWRlckhUTUwoKXsNCgkJJHRoaXMtPmNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOw0KCQkkc2NyaXB0ID0gIiI7DQoJCSRzY3JpcHQgLj0gJzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij52YXIgR0JfUk9PVF9ESVIgPSAiJy4kdGhpcy0+Y29uZmlnWydyb290X3VybCddLicvbW9kdWxlcy9idEFkbWluZXIvc3R5bGUvZ3JleWJveC8iOzwvc2NyaXB0PicuIlxuIjsNCgkJJHNjcmlwdCAuPSAnPHNjcmlwdCBsYW5ndWFnZT0iSmF2YVNjcmlwdCIgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IicuJHRoaXMtPmNvbmZpZ1sncm9vdF91cmwnXS4nL21vZHVsZXMvYnRBZG1pbmVyL3N0eWxlL2dyZXlib3gvQUpTLmpzIiA+PC9zY3JpcHQ+Jy4iXG4iOw0KCQkkc2NyaXB0IC49ICc8c2NyaXB0IGxhbmd1YWdlPSJKYXZhU2NyaXB0IiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iJy4kdGhpcy0+Y29uZmlnWydyb290X3VybCddLicvbW9kdWxlcy9idEFkbWluZXIvc3R5bGUvZ3JleWJveC9BSlNfZnguanMiID48L3NjcmlwdD4nLiJcbiI7DQoJCSRzY3JpcHQgLj0gJzxzY3JpcHQgbGFuZ3VhZ2U9IkphdmFTY3JpcHQiIHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSInLiR0aGlzLT5jb25maWdbJ3Jvb3RfdXJsJ10uJy9tb2R1bGVzL2J0QWRtaW5lci9zdHlsZS9ncmV5Ym94L2diX3NjcmlwdHMuanMiID48L3NjcmlwdD4nLiJcbiI7DQoJCSRzY3JpcHQgLj0gJzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9IicuJHRoaXMtPmNvbmZpZ1sncm9vdF91cmwnXS4nL21vZHVsZXMvYnRBZG1pbmVyL3N0eWxlL2dyZXlib3gvZ2Jfc3R5bGVzLmNzcyIgLz4nLiJcbiI7DQoJCXJldHVybiAkc2NyaXB0Ow0KCX0NCn0NCg0KDQpjbGFzcyBidExvZ2dpbmcgew0KCXByaXZhdGUgJGxvZ19maWxlID0gIiI7DQoJcHJpdmF0ZSAkbG9nX2ZpbGVfZXh0ID0gIi50eHQiOw0KCXByaXZhdGUgJGZwID0gbnVsbDsNCglwcml2YXRlICR3ZGF0ZTsNCg0KCXB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkbGZuYW1lID0gImxvZ2ZpbGUiLCAkd3JpdGVkYXRlID0gZmFsc2UpIHsNCgkJJHRoaXMtPmxvZ19maWxlID0gJGxmbmFtZS4kdGhpcy0+bG9nX2ZpbGVfZXh0Ow0KCQkkdGhpcy0+d2RhdGUgPSBpbnR2YWwoJHdyaXRlZGF0ZSk7DQoJfQ0KDQoJcHVibGljIGZ1bmN0aW9uIGx3cml0ZSgkbWVzc2FnZSl7DQoJCWlmICghJHRoaXMtPmZwKSAkdGhpcy0+bG9wZW4oKTsNCgkJJHNjcmlwdF9uYW1lID0gcGF0aGluZm8oJF9TRVJWRVJbJ1BIUF9TRUxGJ10sIFBBVEhJTkZPX0ZJTEVOQU1FKTsNCgkJJHRpbWUgPSBkYXRlKCdIOmk6cycpOw0KCQlpZiAoaXNfYXJyYXkoJG1lc3NhZ2UpKSAkbWVzc2FnZSA9IHByaW50X3IoJG1lc3NhZ2UsdHJ1ZSk7DQoJCWZ3cml0ZSgkdGhpcy0+ZnAsICIkdGltZSAoJHNjcmlwdF9uYW1lKSAkbWVzc2FnZVxuIik7DQoJfQ0KCXByaXZhdGUgZnVuY3Rpb24gbG9wZW4oKXsNCgkJJHRoaXMtPmxvZ19maWxlID0gZGlybmFtZShfX0ZJTEVfXykgLicvJy4kdGhpcy0+bG9nX2ZpbGU7DQoJCWlmICghaXNfZGlyKGRpcm5hbWUoJHRoaXMtPmxvZ19maWxlKSkpCW1rZGlyKGRpcm5hbWUoJHRoaXMtPmxvZ19maWxlKSwwNzU1KTsNCgkJJGxmaWxlID0gcGF0aGluZm8oJHRoaXMtPmxvZ19maWxlKTsNCgkJJHRvZGF5ID0gZGF0ZSgnWS1tLWQnKTsNCgkJaWYgKCR0aGlzLT53ZGF0ZSkNCgkJCSR0aGlzLT5mcCA9IGZvcGVuKCRsZmlsZVsnZGlybmFtZSddIC4gJy8nLiRsZmlsZVsnZmlsZW5hbWUnXSAuICctJyAuJHRvZGF5LicuJy4kbGZpbGVbJ2V4dGVuc2lvbiddLCAnYScpIG9yIGV4aXQoIkNhbid0IG9wZW4gJGxmaWxlISIpOw0KCQllbHNlDQoJCQkkdGhpcy0+ZnAgPSBmb3BlbigkdGhpcy0+bG9nX2ZpbGUsICdhJykgb3IgZXhpdCgiQ2FuJ3Qgb3BlbiAkbGZpbGUhIik7DQoJfQ0KfQ0K]]></data>
	</file>
	<file>
	  <filename>/btAdminer.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTW9kdWxlIDogYnRBZG1pbmVyIChjKSAyMDExIGJ5IGJsYXR0ZXJ0ZWNoIGluZm9ybWF0aWsgKGluZm9AYmxhdHRlcnRlY2guY2gpDQojICAgICAgICAgIGEgQWRtaW5lciBleHRlbnNpb24gZm9yIENNUyBNYWRlIFNpbXBsZQ0KIyAgICAgICAgICBUaGUgcHJvamVjdHMgaG9tZXBhZ2UgaXMgZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2J0YWRtaW5lci8NCiMgICAgICAgICAgQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA0LTIwMTAgYnkgVGVkIEt1bHANCiMgICAgICAgICAgVGhlIHByb2plY3RzIGhvbWVwYWdlIGlzOiBjbXNtYWRlc2ltcGxlLm9yZw0KIyBWZXJzaW9uOiAxLjANCiMgRmlsZSAgIDogYnRBZG1pbmVyLnBocA0KIyBQdXJwb3NlOiBpbmNsdWRlIHRoZSBBZG1pbmVyIHdpdGggb3duIHByZWZlcmVuY2VzDQojIExpY2Vuc2U6IEdQTA0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KJHNlc3Npb25fbmFtZSA9ICdidEFkbWluZXInOw0Kc2Vzc2lvbl9uYW1lKCRzZXNzaW9uX25hbWUpOw0Kc2Vzc2lvbl9zdGFydCgpOw0KDQppZiAoIWlzc2V0KCRfU0VTU0lPTlsnQURNX3VzZXInXSkgYW5kICFpc3NldCgkX1NFU1NJT05bJ0FETV9zZXJ2ZXInXSkpIHsNCgloZWFkZXIoIkhUVFAvMS4wIDQwMyBGb3JiaWRkZW4iKTsNCglpZiAoJF9HRVRbJ2xhbmcnXSA9PSAiZGUiKSB7DQoJCWVjaG8gIg0KCQkJPGh0bWw+DQoJCQkJPGhlYWQ+DQoJCQkJPHRpdGxlPjQwMyBadWdyaWZmIG5pY2h0IGVybGF1YnQ8L3RpdGxlPg0KCQkJCTwvaGVhZD4NCgkJCTxib2R5Pg0KCQkJCTxwPlNpZSBoYWJlbiBrZWluZW4gWnVncmlmZiBhdWYgZGllc2UgRGF0ZWkuPGJyIC8+DQoJCQkJTcO2Z2xpY2hlcndlaXNlIGlzdCBJaHJlIFNlc3Npb24gYWJnZWxhdWZlbi4gPGJyIC8+DQoJCQkJQml0dGUgbG9nZ2VuIFNpZSBzaWNoIG5ldSBlaW4gb2RlciBsYWRlbiBzaWUgZGllIE1vZHVsc2VpdGUgbmV1LjwvcD4NCgkJCTwvYm9keT4NCgkJCTwvaHRtbD4NCgkJIjsNCgl9DQoJZWxzZSB7DQoJCWVjaG8gIg0KCQkJPGh0bWw+DQoJCQkJPGhlYWQ+DQoJCQkJPHRpdGxlPjQwMyBGb3JiaWRkZW48L3RpdGxlPg0KCQkJCTwvaGVhZD4NCgkJCTxib2R5Pg0KCQkJCTxwPllvdSBoYXZlIG5vIGFjY2Vzcy4gUGxlYXNlIGxvZ2luIG9yIHJlbG9hZCBtb2R1bCBpbiBCYWNrZW5kLjwvcD4NCgkJCTwvYm9keT4NCgkJCTwvaHRtbD4NCgkJIjsNCgl9DQoJZXhpdDsNCn0NCg0KZnVuY3Rpb24gYWRtaW5lcl9vYmplY3QoKSB7DQoNCgkJLy8gcmVxdWlyZWQgdG8gcnVuIGFueSBwbHVnaW4NCglpbmNsdWRlX29uY2UgIi4vYWRtaW5lci9wbHVnaW5zL3BsdWdpbi5waHAiOw0KDQoJCS8vIGF1dG9sb2FkZXINCglmb3JlYWNoIChnbG9iKCIuL2FkbWluZXIvcGx1Z2lucy8qLnBocCIpIGFzICRmaWxlbmFtZSkgew0KCQlpbmNsdWRlX29uY2UgIi4vJGZpbGVuYW1lIjsNCgl9DQoNCgkkcGx1Z2lucyA9IGFycmF5KA0KCQkJLy8gc3BlY2lmeSBlbmFibGVkIHBsdWdpbnMgaGVyZQ0KCQluZXcgQWRtaW5lckZyYW1lcywgbmV3IEFkbWluZXJWZXJzaW9uTm92ZXJpZnkNCgkpOw0KDQoJaWYgKGlzc2V0KCRfU0VTU0lPTlsnQURNX3BsdWdpbl96aXBleHBvcnQnXSkgYW5kICRfU0VTU0lPTlsnQURNX3BsdWdpbl96aXBleHBvcnQnXSA9PSAxKSAkcGx1Z2luc1tdID0gbmV3IEFkbWluZXJEdW1wWmlwOw0KCWlmIChpc3NldCgkX1NFU1NJT05bJ0FETV9wbHVnaW5feG1sZXhwb3J0J10pIGFuZCAkX1NFU1NJT05bJ0FETV9wbHVnaW5feG1sZXhwb3J0J10gPT0gMSkgJHBsdWdpbnNbXSA9IG5ldyBBZG1pbmVyRHVtcFhtbDsNCglpZiAoaXNzZXQoJF9TRVNTSU9OWydBRE1fcGx1Z2luX2NhbGVuZGFyJ10pIGFuZCAkX1NFU1NJT05bJ0FETV9wbHVnaW5fY2FsZW5kYXInXSA9PSAxKSAkcGx1Z2luc1tdID0gbmV3IEFkbWluZXJFZGl0Q2FsZW5kYXI7DQoJaWYgKGlzc2V0KCRfU0VTU0lPTlsnQURNX3BsdWdpbl9mb3JlaWduJ10pIGFuZCAkX1NFU1NJT05bJ0FETV9wbHVnaW5fZm9yZWlnbiddID09IDEpICRwbHVnaW5zW10gPSBuZXcgQWRtaW5lckVkaXRGb3JlaWduOw0KCWlmIChpc3NldCgkX1NFU1NJT05bJ0FETV9wbHVnaW5fdGV4dGFyZWEnXSkgYW5kICRfU0VTU0lPTlsnQURNX3BsdWdpbl90ZXh0YXJlYSddID09IDEpICRwbHVnaW5zW10gPSBuZXcgQWRtaW5lckVkaXRUZXh0YXJlYTsNCglpZiAoaXNzZXQoJF9TRVNTSU9OWydBRE1fcGx1Z2luX2VudW0nXSkgYW5kICRfU0VTU0lPTlsnQURNX3BsdWdpbl9lbnVtJ10gPT0gMSkgJHBsdWdpbnNbXSA9IG5ldyBBZG1pbmVyRW51bU9wdGlvbjsNCg0KDQoJY2xhc3MgQWRtaW5lclNvZnR3YXJlIGV4dGVuZHMgQWRtaW5lclBsdWdpbiB7DQoNCgkJZnVuY3Rpb24gbmFtZSgpIHsNCgkJCS8vIGN1c3RvbSBuYW1lIGluIHRpdGxlIGFuZCBoZWFkaW5nDQoJCQlpZiAoaXNzZXQoJF9TRVNTSU9OWydBRE1fcHJvZyddKSBhbmQgJF9TRVNTSU9OWydBRE1fcHJvZyddID09ICJlZGl0b3IiKQ0KCQkJCXJldHVybiAnYnRBZG1pbmVyIEVkaXRvcic7DQoJCQllbHNlDQoJCQkJcmV0dXJuICdidEFkbWluZXInOw0KCQl9DQoNCgkJZnVuY3Rpb24gcGVybWFuZW50TG9naW4oKSB7DQoJCQkvLyBrZXkgdXNlZCBmb3IgcGVybWFuZW50IGxvZ2luDQoJCQlyZXR1cm4gIjc0Yjk0MTk5MmVmMjk3MjdjY2FiZjgyODg5ZmU4MzdhIjsNCgkJfQ0KDQoJCWZ1bmN0aW9uIGNyZWRlbnRpYWxzKCkgew0KCQkJLy8gc2VydmVyLCB1c2VybmFtZSBhbmQgcGFzc3dvcmQgZm9yIGNvbm5lY3RpbmcgdG8gZGF0YWJhc2UNCgkJCXJldHVybiBhcnJheSgNCgkJCQkkX1NFU1NJT05bJ0FETV9zZXJ2ZXInXSwgJF9TRVNTSU9OWydBRE1fdXNlciddLCAkX1NFU1NJT05bJ0FETV9wYXNzd29yZCddDQoJCQkpOw0KCQl9DQoNCgkJZnVuY3Rpb24gZGF0YWJhc2UoKSB7DQoJCQkvLyBkYXRhYmFzZSBuYW1lLCB3aWxsIGJlIGVzY2FwZWQgYnkgQWRtaW5lcg0KCQkJcmV0dXJuICRfU0VTU0lPTlsnQURNX2RiJ107DQoJCX0NCg0KCQkvKiogUHJpbnRzIHRhYmxlIGxpc3QgaW4gbWVudQ0KCQkgKiBAcGFyYW0gYXJyYXkNCgkJICogQHJldHVybiBudWxsDQoJCSAqLw0KCQlmdW5jdGlvbiB0YWJsZXNQcmludCgkdGFibGVzKSB7DQoJCQllY2hvICc8cCBpZD0idGFibGVzIj4nIC4gIlxuIjsNCgkJCWZvcmVhY2ggKCR0YWJsZXMgYXMgJHRhYmxlID0+ICR0eXBlKSB7DQoJCQkJZWNobyAnPHNwYW4gY2xhc3M9InRhYmxlcy1saW5lJzsNCgkJCQlpZiAoJF9HRVRbInNlbGVjdCJdID09ICR0YWJsZSBvciAkX0dFVFsidGFibGUiXSA9PSAkdGFibGUpIHsNCgkJCQkJZWNobyAnLWFjdGl2ZSc7DQoJCQkJfQ0KCQkJCWVjaG8gJyI+JzsNCgkJCQllY2hvICc8YSBocmVmPSInIC4gaChNRSkgLiAnc2VsZWN0PScgLiB1cmxlbmNvZGUoJHRhYmxlKSAuICciJyAuIGJvbGQoJF9HRVRbInNlbGVjdCJdID09ICR0YWJsZSkgLiAiPiIgLg0KCQkJCQlsYW5nKCdzZWxlY3QnKSAuICI8L2E+ICI7DQoJCQkJZWNobyAnPGEgaHJlZj0iJyAuIGgoTUUpIC4gJ3RhYmxlPScgLiB1cmxlbmNvZGUoJHRhYmxlKSAuICciJyAuIGJvbGQoJF9HRVRbInRhYmxlIl0gPT0gJHRhYmxlKSAuICI+IiAuDQoJCQkJCSR0aGlzLT50YWJsZU5hbWUoYXJyYXkoDQoJCQkJCQkJCQkJICAiTmFtZSIgPT4gJHRhYmxlDQoJCQkJCQkJCQkgKSkgLiAiPC9hPjwvc3Bhbj5cbiI7IC8vISBBZG1pbmVyOjp0YWJsZU5hbWUgbWF5IHdvcmsgd2l0aCBmdWxsIHRhYmxlIHN0YXR1cw0KCQkJfQ0KCQkJZWNobyAnPC9wPic7DQoJCX0NCg0KCQkvKiogUHJpbnQgaG9tZXBhZ2UNCgkJICogQHJldHVybiBib29sIHdoZXRoZXIgdG8gcHJpbnQgZGVmYXVsdCBob21lcGFnZQ0KCQkgKi8NCgkJZnVuY3Rpb24gaG9tZXBhZ2UoKSB7DQoJCQllY2hvICc8cCBjbGFzcz0idGFicyI+JyAuICgkX0dFVFsibnMiXSA9PSAiIiA/ICc8YSBocmVmPSInIC4gaChNRSkgLiAnZGF0YWJhc2U9Ij4nIC4gbGFuZygnQWx0ZXIgZGF0YWJhc2UnKSAuICI8L2E+XG4iIDogIiIpOw0KCQkJaWYgKHN1cHBvcnQoInNjaGVtZSIpKSB7DQoJCQkJZWNobyI8YSBocmVmPSciIC4gaChNRSkgLiAic2NoZW1lPSc+IiAuICgkX0dFVFsibnMiXSAhPSAiIiA/IGxhbmcoJ0FsdGVyIHNjaGVtYScpIDogbGFuZygnQ3JlYXRlIHNjaGVtYScpKSAuDQoJCQkJCSI8L2E+XG4iOw0KCQkJfQ0KCQkJcmV0dXJuIHRydWU7DQoJCX0NCg0KDQoJfQ0KDQoJcmV0dXJuIG5ldyBBZG1pbmVyU29mdHdhcmUoJHBsdWdpbnMpOw0KfQ0KDQokZmlsZSA9IGlzc2V0KCRfU0VTU0lPTlsnQURNX3Byb2cnXSk/JF9TRVNTSU9OWydBRE1fcHJvZyddOidhZG1pbmVyJzsNCg0KaW5jbHVkZSAnLi9hZG1pbmVyLycuJGZpbGUuJy0zLjMuMi5waHAnOw0K]]></data>
	</file>
	<file>
	  <filename>/function.admin_adminertab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTW9kdWxlIDogYnRBZG1pbmVyIChjKSAyMDExIGJ5IGJsYXR0ZXJ0ZWNoIGluZm9ybWF0aWsgKGluZm9AYmxhdHRlcnRlY2guY2gpDQojICAgICAgICAgIGEgQWRtaW5lciBleHRlbnNpb24gZm9yIENNUyBNYWRlIFNpbXBsZQ0KIyAgICAgICAgICBUaGUgcHJvamVjdHMgaG9tZXBhZ2UgaXMgZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2J0YWRtaW5lci8NCiMgICAgICAgICAgQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA0LTIwMTAgYnkgVGVkIEt1bHANCiMgICAgICAgICAgVGhlIHByb2plY3RzIGhvbWVwYWdlIGlzOiBjbXNtYWRlc2ltcGxlLm9yZw0KIyBWZXJzaW9uOiAxLjANCiMgRmlsZSAgIDogZnVuY3Rpb24uYWRtaW5fYWRtaW5lcnRhYi5waHANCiMgUHVycG9zZTogdGFiIHRvIGRpc3BsYXkgYnRBZG1pbmVyDQojIExpY2Vuc2U6IEdQTA0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdVc2UgYnRBZG1pbmVyJykpIHJldHVybjsNCg0KJHVybCA9ICRjb25maWdbJ3Jvb3RfdXJsJ10uJy9tb2R1bGVzL2J0QWRtaW5lci9idEFkbWluZXIucGhwP2xhbmc9Jy4kbGFuZy4nJmRiPScuJGNvbmZpZ1snZGJfbmFtZSddLicmc2VydmVyPScuJGNvbmZpZ1snZGJfaG9zdG5hbWUnXS4nJnVzZXJuYW1lPScuJGNvbmZpZ1snZGJfdXNlcm5hbWUnXTsNCg0KJHNtYXJ0eS0+YXNzaWduKCd1cmwnLCAkdXJsKTsNCiRzbWFydHktPmFzc2lnbignZnJhbWVoZWlnaHQnLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZnJhbWVoZWlnaHQnKSk7DQokc21hcnR5LT5hc3NpZ24oJ2Rpc3BsYXknLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGlzcGxheScpKTsNCiRzbWFydHktPmFzc2lnbigncHJvbXB0X29wZW5pbmxpZ2h0Ym94JywgJHRoaXMtPkxhbmcoJ29wZW5pbmxpZ2h0Ym94JykpOw0KDQplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluZXJ0YWIudHBsJyk7DQoNCg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_optiontab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTW9kdWxlIDogYnRBZG1pbmVyIChjKSAyMDExIGJ5IGJsYXR0ZXJ0ZWNoIGluZm9ybWF0aWsgKGluZm9AYmxhdHRlcnRlY2guY2gpDQojICAgICAgICAgIGEgQWRtaW5lciBleHRlbnNpb24gZm9yIENNUyBNYWRlIFNpbXBsZQ0KIyAgICAgICAgICBUaGUgcHJvamVjdHMgaG9tZXBhZ2UgaXMgZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2J0YWRtaW5lci8NCiMgICAgICAgICAgQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA0LTIwMTAgYnkgVGVkIEt1bHANCiMgICAgICAgICAgVGhlIHByb2plY3RzIGhvbWVwYWdlIGlzOiBjbXNtYWRlc2ltcGxlLm9yZw0KIyBWZXJzaW9uOiAxLjANCiMgRmlsZSAgIDogZnVuY3Rpb24uYWRtaW5fb3B0aW9udGFicy5waHANCiMgUHVycG9zZTogdGFiIHRvIGJ0QWRtaW5lciBwcmVmZXJlbmNlcw0KIyBMaWNlbnNlOiBHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCmlmICghJHRoaXMtPkNoZWNrUGVybWlzc2lvbignU2V0IGJ0QWRtaW5lciBQcmVmcycpKSByZXR1cm47DQoNCiRzbWFydHktPmFzc2lnbignc3RhcnRGb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICdhZG1pbl9lZGl0b3B0aW9uJywgJHJldHVybmlkLCdwb3N0JywnbXVsdGlwYXJ0L2Zvcm0tZGF0YScpKTsNCiRzbWFydHktPmFzc2lnbignZW5kRm9ybScsCSAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsNCiRzbWFydHktPmFzc2lnbignc3VibWl0JywgICAgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ3N1Ym1pdCcsIGxhbmcoJ3N1Ym1pdCcpKSk7DQoNCiRzbWFydHktPmFzc2lnbigncHJvbXB0X2Rpc3BsYXknLCAkdGhpcy0+TGFuZygncHJvbXB0X2Rpc3BsYXknKSk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2Rpc3BsYXknLCR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwgJ2Rpc3BsYXknLCBhcnJheSgnaUZyYW1lJyA9PiAnaWZyYW1lJywgJ0xpZ2h0Ym94JyA9PiAnbGlnaHRib3gnKSwgLTEsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkaXNwbGF5JykpKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfZnJhbWVoZWlnaHQnLCAkdGhpcy0+TGFuZygncHJvbXB0X2ZyYW1laGVpZ2h0JykpOw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9mcmFtZWhlaWdodCcsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnZnJhbWVoZWlnaHQnLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZnJhbWVoZWlnaHQnLCAnJyksIDUwKSk7DQoNCiRzbWFydHktPmFzc2lnbigncHJvbXB0X3Byb2cnLCAkdGhpcy0+TGFuZygncHJvbXB0X3Byb2cnKSk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3Byb2cnLCR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwgJ3Byb2cnLCBhcnJheSgnQWRtaW5lcicgPT4gJ2FkbWluZXInLCAnQWRtaW5lciBFZGl0b3InID0+ICdlZGl0b3InKSwgLTEsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwcm9nJykpKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfYWRtaW5fc2VjdGlvbicsICR0aGlzLT5MYW5nKCdwcm9tcHRfYWRtaW5fc2VjdGlvbicpKTsNCiRzbWFydHktPmFzc2lnbignaW5wdXRfYWRtaW5fc2VjdGlvbicsICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwgJ2FkbWluX3NlY3Rpb24nLCBhcnJheSgkdGhpcy0+TGFuZygnbmF2X21haW4nKSA9PiAnbWFpbicsICR0aGlzLT5MYW5nKCduYXZfY29udGVudCcpID0+ICdjb250ZW50JywgJHRoaXMtPkxhbmcoJ25hdl9sYXlvdXQnKSA9PiAnbGF5b3V0JywgJHRoaXMtPkxhbmcoJ25hdl91c2Vyc2dyb3VwcycpID0+ICd1c2Vyc2dyb3VwcycsICR0aGlzLT5MYW5nKCduYXZfZXh0ZW5zaW9ucycpID0+ICdleHRlbnNpb25zJywgJHRoaXMtPkxhbmcoJ25hdl9zaXRlYWRtaW4nKSA9PiAnc2l0ZWFkbWluJywgJHRoaXMtPkxhbmcoJ25hdl9teXByZWZzJykgPT4gJ215cHJlZnMnKSwgLTEsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhZG1pbl9zZWN0aW9uJykpKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCdnbG9iYWxvcHRpb25zJywgJHRoaXMtPkxhbmcoJ2dsb2JhbG9wdGlvbnMnKSk7DQoNCiRzbWFydHktPmFzc2lnbigncHJvbXB0X3htbGV4cG9ydCcsICR0aGlzLT5MYW5nKCdwcm9tcHRfeG1sZXhwb3J0JykpOw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF94bWxleHBvcnQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICd4bWxleHBvcnQnLCAnMScsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd4bWxleHBvcnQnKSkpOw0KDQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF96aXBleHBvcnQnLCAkdGhpcy0+TGFuZygncHJvbXB0X3ppcGV4cG9ydCcpKTsNCiRzbWFydHktPmFzc2lnbignaW5wdXRfemlwZXhwb3J0JywgJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAnemlwZXhwb3J0JywgJzEnLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnemlwZXhwb3J0JykpKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfY2FsZW5kYXInLCAkdGhpcy0+TGFuZygncHJvbXB0X2NhbGVuZGFyJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9jYWxlbmRhcicsICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJ2NhbGVuZGFyJywgJzEnLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY2FsZW5kYXInKSkpOw0KDQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9mb3JlaWduJywgJHRoaXMtPkxhbmcoJ3Byb21wdF9mb3JlaWduJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9mb3JlaWduJywgJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAnZm9yZWlnbicsICcxJywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2ZvcmVpZ24nKSkpOw0KDQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF90ZXh0YXJlYScsICR0aGlzLT5MYW5nKCdwcm9tcHRfdGV4dGFyZWEnKSk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3RleHRhcmVhJywgJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAndGV4dGFyZWEnLCAnMScsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd0ZXh0YXJlYScpKSk7DQoNCiRzbWFydHktPmFzc2lnbigncHJvbXB0X2VudW0nLCAkdGhpcy0+TGFuZygncHJvbXB0X2VudW0nKSk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2VudW0nLCAkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICdlbnVtJywgJzEnLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZW51bScpKSk7DQoNCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnb3B0aW9udGFiLnRwbCcpOw0KDQo=]]></data>
	</file>
	<file>
	  <filename>/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/button-hover.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAoAAAAVCAIAAADw0OikAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUKFN9kkmOBSEMQ5+l3P+4tSHEvUCUgF+0VxHOYFvE8zzcEf9wQFTvBoE/6cxEwkYCbEuyDQiiZa7tg9NsDdvbxFLM5SvGFXu5faOlyMwhW5wwRM+8GRNE2cPNe+9FQbTWDjOb735IWyFF9n6ofRPEjp65LtyHFb1KUPYwdiR4Tq8y+UhtR1TVjbMdMDP7SU5SwHz9+i5/bAuQgnNosWwAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/images/document-open.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAArElEQVR42qXQsQqCUBQG4CB6hVbBNZqEnHRzkBbHNodAeqn2HkJHnXwAX6AHMLEoqF9Pw4Huga4HL/xcONzvP3AXAGZF9TiLdjBnKnxeLWGWTMa3Y4gu9UWJFe/jAKg94H1Cf9jinrg/JZMx3c9yg0e8ZkxR4TZ3xB+oMM3Nt1b8qkZcCMz5v7kSm0WUm2UYf7qaIG+W2F5AUWEuGM8XX5sLhbGqgEKQsaJgVgaRbdb/YOydCgAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/images/error.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACZklEQVR42qWT+0tTYRjH+1s0TLsQEkH4g+aUYXYxdsxL22EXndtqeWFkUp65m+SKRBdiEqFmDoWgwAoqNZGQiDDKIupkpOtsbW7qPGfzzIJv5xzsjEj8xQe+v7y8n++X53nedxeAHem/g9/t5zI3PBYq5TLR6w4jm7DXsGyrno5f1lIrl8jMbQ0EkEi5zMFldz04vw/8owFJrL8bYcqMJVt1MNxUQWxpkHKbCd5Zx8V7Pfg1MQp+6BqS3vOS+LtebIyPIOprww+rilu0lBH/GPBOU0ayzcis9rolOOGqkfS3WLsebKsOqad+RG5cwbfaUoY2lGTIBkKf9qjTmoadBnAOg2wg9I/VFi1Wmknwj4cx30jiE1lklw2EC7TYJz/YIYJy4mZJ4LJNg2ijGvGbLkRvefG+Kp+WDWLN6iT/ZBCcxySCcuJmSeBS/VlErNUIN2gRH7mNWSIvKRuEmyqT62MDWHMYRVBO3Pg8J/IS+NNShZCpEiErifhwH16XHU4bMBdU9Gp/J7g+jwjKifE7XWAf+CUwaKwAYziDJS+FUHc7Zkpz0y0smE/Zv9t0WB+7J4Jy4mZJYEBfjkUtgbXRfrzTn8a08kB6iF9rjmV80SmZYEcLEg+H5MSYzyvsvkMCF0iVBM9TDZgq3sdMKnLkNUr6qFEQc9UFXMBzEdz9QUSvC4/GpEGgTo3IVUoYnAC3NuBFUQ43UbiH2PIpvy3PI96ojgQ/1KoQ6hLmMdCDWH8PmE43ZskTmCjMDj4vyCK2/UyvTh7KnDmeS70sOUhPK/ezU8V72UlFNj1+NIt6lr97y8+0I/0Bcq/UGoJ9DNcAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/images/information.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACm0lEQVR42qWT3U+SYRiH+1v0T+h9O2ltetBcmw3yTTvIrGGaqK10FWaDVYqJ+AUoYEMwP/KD8gtKUoQEXsnekI/Q1DcHZtDWVieQtSx/PdKGtVwnHlwnz577up/f7uc+BOBA/HOQp1/JPKkNS3PVIf54sy+RreQSWcoFPkvplR67x2b+VyDQLTMnVMF4eU8APc4oRtnNFCZ7BCLdC9DS2TgtszP7CkhXJqfFn2yeXIXNF0f3dBRy8xvcHV6GyrIKs2sDDaNh0BUTSfrKBPOXIFcTyshpXYztFltexiElRTcHghjyvMOQewM3egOQ9AfRO7sO+aMA6FJzjC4ZzkgLclSLsjKDD1buA2oHwpCQCNeMfnz5tp2iysihqpuD5IEPA88jONv0DFRhvywtyG7leJM9Co2Fx/UeP6qNPlQZOPQ519FLqOhif6P3kFhB6KZXQBcY+bTgqJzdGl94j9q+AOn0CpX3veQyCwDYIYi1bpR1zBFcuKx3w8xGQDGdW2kBLXNujXk3d7OmOpXrPKTIg3D0M5Jft1Ha7kRJmwMXCWK1AyPzRCBU/ymw8wY7D8XjJVTqvRB3unFJM4fXkU9E8B3FyhkUk9yiJhtqullobCHQp9r5PUGNTVakcmLIFUWlloVY5YKN28CPnzupCIG3H1EktxIs6HoSRsGtUSJok+0Jro5l0GJz7M6IH732NZSqHBA1T+O8YgpF9Racq5tAYd04WkZ8ZLzz5PmKGC1UpMeYghINMofzTUnpIAfTzAokBjd58lNcaLCiWuuAzhKEpI8FLahPkmJm369MFZgYKr8rfub2JDRTS3jo5glraLeGkFdrBiVoiNPCRua/y0Sf1mVSTIeUylPzlLApQQkaE6QjT5AeEdbvu0wH4hc4hsvsbED0hwAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/images/system-list-open.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAaUlEQVR42u2PPQqAMAyFe0gH127ew8HNM/QWzi6uXkOEXiFPXvBnaKWEbuLwJeEFvhAHoAot/RhgpWk9bsEZFBGRq6eCeVktJAJaLeQFGBzhrFeYZ3pBMHU6b3t8g/v/hW++wMDII6jiAHh/J/CCogq2AAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/de_DE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ1NldHplbiBTaWUgIlVzZSBidEFkbWluZXIiIHVuZCAiU2V0IGJ0QWRtaW5lciBQcmVmcyIgQmVyZWNodGlndW5nZW4gZsO8ciBkaWVzZXMgTW9kdWwhJzsNCiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnRXJmb2xncmVpY2ggZGVpbnN0YWxsaWVydCEnOw0KJGxhbmdbJ3JlYWxseV91bmluc3RhbGwnXSA9ICdXaXJrbGljaD8gTcO2Y2h0ZW4gU2llIGRpZXNlcyBNb2R1bCBkZWluc3RhbGxpZXJlbj8nOw0KJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTW9kdWwgYnRBZG1pbmVyIGRlaW5zdGFsbGllcnQuJzsNCiRsYW5nWydpbnN0YWxsZWQnXSA9ICdNb2R1bGUgYnRBZG1pbmVyIFZlcnNpb24gJXMgaW5zdGFsbGllcnQuJzsNCiRsYW5nWydwcmVmc3VwZGF0ZWQnXSA9ICdNb2R1bGVpbnN0ZWxsdW5nZW4gYWt0dWFsaXNpZXJ0Lic7DQokbGFuZ1snb3BlbmlubGlnaHRib3gnXSA9ICdidEFkbWluZXIgaW4gTGlnaHRib3ggw7ZmZm5lbic7DQokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdCaW5kZXQgZGVuIERhdGVuYmFuay1FZGl0b3IgQWRtaW5lciBlaW4uJzsNCiRsYW5nWydvcHRpb25zX3VwZGF0ZWQnXSA9ICdPcHRpb25lbiB3dXJkZW4gZXJmb2xncmVpY2ggYWt0dWFsaXNpZXJ0Lic7DQokbGFuZ1snZ2xvYmFsb3B0aW9ucyddID0gJ0FsbGdlbWVpbmUgRWluc3RlbGx1bmdlbic7DQoNCi8vIG9wdGlvbnMNCiRsYW5nWydvcHRpb25zJ10gPSAnT3B0aW9uZW4nOw0KJGxhbmdbJ3Byb21wdF9mcmFtZWhlaWdodCddID0gJ0ZyYW1laCZvdW1sO2hlIGluIFBpeGVsJzsNCiRsYW5nWydwcm9tcHRfcHJvZyddID0gJ0FkbWluZXIgQXVzZiZ1dW1sO2hydW5nIHdlbGNoZSBhbmdlemVpZ3Qgd2lyZCc7DQokbGFuZ1sncHJvbXB0X2Rpc3BsYXknXSA9ICdBbnplaWdlIGRlcyBidEFkbWluZXIgaW4gZWluZW0gRnJhbWUgb2RlciBpbiBlaW5lciBMaWdodGJveCc7DQokbGFuZ1sncHJvbXB0X29ubHliYWNrZW5kJ10gPSAnQW56ZWlnZSBkZXMgYnRBZG1pbmVyIG51ciB3ZW5uIGltIEJhY2tlbmQgZWluZ2Vsb2dndCAoa2VpbiBkaXJla3RlciBBdWZydWYgb2huZSBMb2dpbiknOw0KJGxhbmdbJ3Byb21wdF9hZG1pbl9zZWN0aW9uJ10gPSAnSGF1cHRuYXZpZ2F0aW9uc3B1bmt0IGbDvHIgTW9kdWwnOw0KDQovLyBwbHVnaW5zDQokbGFuZ1sncHJvbXB0X3ppcGV4cG9ydCddID0gJ0V4cG9ydCBEdW1wIGltIFppcC1Gb3JtYXQnOw0KJGxhbmdbJ3Byb21wdF94bWxleHBvcnQnXSA9ICdFeHBvcnQgRHVtcCBhbHMgWE1MIGluIGRlciBTdHJ1a3R1ciAmbHQ7ZGF0YWJhc2UgbmFtZT0iIiZndDsmbHQ7dGFibGUgbmFtZT0iIiZndDsmbHQ7Y29sdW1uIG5hbWU9IiImZ3Q7dmFsdWUpJzsNCiRsYW5nWydwcm9tcHRfY2FsZW5kYXInXSA9ICdFaW5iaW5kZW4gZGVzIGpRdWVyeSBVSSBUaW1lcGlja2VyIGbDvHIgamVkZXMgZGF0ZSB1bmQgZGF0ZXRpbWUgRmVsZCc7DQokbGFuZ1sncHJvbXB0X2ZvcmVpZ24nXSA9ICdmb3JlaWduIGtleSBiZWltIGJlYXJiZWl0ZW4gYXVzd8OkaGxlbiBrw7ZubmVuJzsNCiRsYW5nWydwcm9tcHRfdGV4dGFyZWEnXSA9ICcmbHQ7dGV4dGFyZWEmZ3Q7IGbDvHIgY2hhciB1bmQgdmFyY2hhciBGZWxkZXIgbnV0emVuJzsNCiRsYW5nWydwcm9tcHRfZW51bSddID0gJyZsdDtzZWxlY3Q+Jmx0O29wdGlvbiZndDsgZsO8ciBlbnVtIEZlbGRlciBhbnN0ZWxsZSB2b24gJmx0O2lucHV0IHR5cGU9InJhZGlvIiZndDsgbnV0emVuJzsNCg0KLy8gTmF2cG9pbnRzDQokbGFuZ1snbmF2X21haW4nXSA9ICdDTVMnOw0KJGxhbmdbJ25hdl9jb250ZW50J10gPSAnSW5oYWx0ZSc7DQokbGFuZ1snbmF2X2xheW91dCddID0gJ0xheW91dCc7DQokbGFuZ1snbmF2X3VzZXJzZ3JvdXBzJ10gPSAnQmVudXR6ZXJ2ZXJ3YWx0dW5nJzsNCiRsYW5nWyduYXZfZXh0ZW5zaW9ucyddID0gJ0Vyd2VpdGVydW5nZW4nOw0KJGxhbmdbJ25hdl9zaXRlYWRtaW4nXSA9ICdXZWJzZWl0ZW4tQWRtaW5pc3RyYXRpb24nOw0KJGxhbmdbJ25hdl9teXByZWZzJ10gPSAnTWVpbmUgRWluc3RlbGx1bmdlbic7DQoNCg==]]></data>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ1NldCAiVXNlIGJ0QWRtaW5lciIgYW5kICJTZXQgYnRBZG1pbmVyIFByZWZzIiBwZXJtaXNzaW9ucyB0byB1c2UgdGhpcyBtb2R1bGUhJzsNCiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnU3VjZXNzZnVsIHVuaW5zdGFsbCEnOw0KJGxhbmdbJ3JlYWxseV91bmluc3RhbGwnXSA9ICdSZWFsbHk/IFlvdVwncmUgc3VyZSB5b3Ugd2FudCB0byB1bmluc3RhbGwgdGhpcyBmaW5lIG1vZHVsZT8nOw0KJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTW9kdWxlIFVuaW5zdGFsbGVkLic7DQokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWxlIHZlcnNpb24gJXMgaW5zdGFsbGVkLic7DQokbGFuZ1sncHJlZnN1cGRhdGVkJ10gPSAnTW9kdWxlIHByZWZlcmVuY2VzIHVwZGF0ZWQuJzsNCiRsYW5nWydvcGVuaW5saWdodGJveCddID0gJ09wZW4gYnRBZG1pbmVyIGluIGEgbGlnaHRib3gnOw0KJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnRXh0ZW5kIHRoZSBhZG1pbiBpbnRlcmZhY2Ugd2l0aCBhbiBhbnkgd2Vic2l0ZSBpbiBhbiBpZnJhbWUuJzsNCiRsYW5nWydvcHRpb25zX3VwZGF0ZWQnXSA9ICdPcHRpb25zIGhhdmUgYmVlbiBzdWNjZXNzZnVsbHkgdXBkYXRlZC4nOw0KJGxhbmdbJ2dsb2JhbG9wdGlvbnMnXSA9ICdHbG9iYWwgT3B0aW9ucyc7DQoNCi8vIG9wdGlvbnMNCiRsYW5nWydvcHRpb25zJ10gPSAnT3B0aW9ucyc7DQokbGFuZ1sncHJvbXB0X2ZyYW1laGVpZ2h0J10gPSAnRnJhbWVoZWlnaHQgaW4gcGl4ZWwnOw0KJGxhbmdbJ3Byb21wdF9wcm9nJ10gPSAnQWRtaW5lciBwcm9ncmFtIHdoaWNoIGlzIHRvIGJlIGRpc3BsYXllZCc7DQokbGFuZ1sncHJvbXB0X2Rpc3BsYXknXSA9ICdEaXNwbHkgYnRBZG1pbmVyIGluIGEgaWZyYW1lIG9yIGluIGEgbGlnaHRib3gnOw0KJGxhbmdbJ3Byb21wdF9vbmx5YmFja2VuZCddID0gJ0Rpc3BsYXkgYnRBZG1pbmVyIG9ubHkgd2hlbiBsb2dnZWQgaW4nOw0KJGxhbmdbJ3Byb21wdF9hZG1pbl9zZWN0aW9uJ10gPSAnTW9kdWxlIGFkbWluIHNlY3Rpb24nOw0KDQovLyBwbHVnaW5zDQokbGFuZ1sncHJvbXB0X3ppcGV4cG9ydCddID0gJ0R1bXAgdG8gWklQIGZvcm1hdCc7DQokbGFuZ1sncHJvbXB0X3htbGV4cG9ydCddID0gJ0R1bXAgdG8gWE1MIGZvcm1hdCBpbiBzdHJ1Y3R1cmUgJmx0O2RhdGFiYXNlIG5hbWU9IiImZ3Q7Jmx0O3RhYmxlIG5hbWU9IiImZ3Q7Jmx0O2NvbHVtbiBuYW1lPSIiJmd0O3ZhbHVlKSc7DQokbGFuZ1sncHJvbXB0X2NhbGVuZGFyJ10gPSAnRGlzcGxheSBqUXVlcnkgVUkgVGltZXBpY2tlciBmb3IgZWFjaCBkYXRlIGFuZCBkYXRldGltZSBmaWVsZCc7DQokbGFuZ1sncHJvbXB0X2ZvcmVpZ24nXSA9ICdTZWxlY3QgZm9yZWlnbiBrZXkgaW4gZWRpdCBmb3JtJzsNCiRsYW5nWydwcm9tcHRfdGV4dGFyZWEnXSA9ICdVc2UgJmx0O3RleHRhcmVhJmd0OyBmb3IgY2hhciBhbmQgdmFyY2hhcic7DQokbGFuZ1sncHJvbXB0X2VudW0nXSA9ICdVc2UgJmx0O3NlbGVjdD4mbHQ7b3B0aW9uJmd0OyBmb3IgZW51bSBGZWRpdCBpbnN0ZWFkIG9mICZsdDtpbnB1dCB0eXBlPSJyYWRpbyImZ3Q7JzsNCg0KLy8gTmF2cG9pbnRzDQokbGFuZ1snbmF2X21haW4nXSA9ICdNYWluJzsNCiRsYW5nWyduYXZfY29udGVudCddID0gJ0NvbnRlbnQnOw0KJGxhbmdbJ25hdl9sYXlvdXQnXSA9ICdMYXlvdXQnOw0KJGxhbmdbJ25hdl91c2Vyc2dyb3VwcyddID0gJ1VzZXJzZ3JvdXBzJzsNCiRsYW5nWyduYXZfZXh0ZW5zaW9ucyddID0gJ0V4dGVuc2lvbnMnOw0KJGxhbmdbJ25hdl9zaXRlYWRtaW4nXSA9ICdTaXRlYWRtaW4nOw0KJGxhbmdbJ25hdl9teXByZWZzJ10gPSAnTXkgUHJlZnMnOw0K]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTW9kdWxlIDogYnRBZG1pbmVyIChjKSAyMDExIGJ5IGJsYXR0ZXJ0ZWNoIGluZm9ybWF0aWsgKGluZm9AYmxhdHRlcnRlY2guY2gpDQojICAgICAgICAgIGEgQWRtaW5lciBleHRlbnNpb24gZm9yIENNUyBNYWRlIFNpbXBsZQ0KIyAgICAgICAgICBUaGUgcHJvamVjdHMgaG9tZXBhZ2UgaXMgZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2J0YWRtaW5lci8NCiMgICAgICAgICAgQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA0LTIwMTAgYnkgVGVkIEt1bHANCiMgICAgICAgICAgVGhlIHByb2plY3RzIGhvbWVwYWdlIGlzOiBjbXNtYWRlc2ltcGxlLm9yZw0KIyBWZXJzaW9uOiAxLjANCiMgRmlsZSAgIDogbWV0aG9kLmluc3RhbGwucGhwDQojIFB1cnBvc2U6IGluc3RhbGwgYnRBZG1pbmVyDQojIExpY2Vuc2U6IEdQTA0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KLy8gc2V0IHByZWZzDQokdGhpcy0+U2V0UHJlZmVyZW5jZSgnYWRtaW5fc2VjdGlvbicsICdzaXRlYWRtaW4nKTsNCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdwcm9nJywgJ2FkbWluZXInKTsNCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdkaXNwbGF5JywgJ2lmcmFtZScpOw0KJHRoaXMtPlNldFByZWZlcmVuY2UoJ2ZyYW1laGVpZ2h0JywgJzgwMCcpOw0KJHRoaXMtPlNldFByZWZlcmVuY2UoJ3ppcGV4cG9ydCcsICcwJyk7DQokdGhpcy0+U2V0UHJlZmVyZW5jZSgneG1sZXhwb3J0JywgJzAnKTsNCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdjYWxlbmRhcicsICcwJyk7DQokdGhpcy0+U2V0UHJlZmVyZW5jZSgnZm9yZWlnbicsICcwJyk7DQokdGhpcy0+U2V0UHJlZmVyZW5jZSgndGV4dGFyZWEnLCAnMCcpOw0KJHRoaXMtPlNldFByZWZlcmVuY2UoJ2VudW0nLCAnMCcpOw0KDQovLyBzZXQgcGVybWlzc2lvbg0KJHRoaXMtPkNyZWF0ZVBlcm1pc3Npb24oJ1VzZSBidEFkbWluZXInLCAnVXNlIGJ0QWRtaW5lcicpOw0KJHRoaXMtPkNyZWF0ZVBlcm1pc3Npb24oJ1NldCBidEFkbWluZXIgUHJlZnMnLCAnU2V0IGJ0QWRtaW5lciBQcmVmcycpOw0KDQovLyBtZXNzYWdlDQokdGhpcy0+QXVkaXQoMCwgJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpLCAkdGhpcy0+TGFuZygnaW5zdGFsbGVkJywgJHRoaXMtPkdldFZlcnNpb24oKSkpOw0K]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTW9kdWxlIDogYnRBZG1pbmVyIChjKSAyMDExIGJ5IGJsYXR0ZXJ0ZWNoIGluZm9ybWF0aWsgKGluZm9AYmxhdHRlcnRlY2guY2gpDQojICAgICAgICAgIGEgQWRtaW5lciBleHRlbnNpb24gZm9yIENNUyBNYWRlIFNpbXBsZQ0KIyAgICAgICAgICBUaGUgcHJvamVjdHMgaG9tZXBhZ2UgaXMgZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2J0YWRtaW5lci8NCiMgICAgICAgICAgQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA0LTIwMTAgYnkgVGVkIEt1bHANCiMgICAgICAgICAgVGhlIHByb2plY3RzIGhvbWVwYWdlIGlzOiBjbXNtYWRlc2ltcGxlLm9yZw0KIyBWZXJzaW9uOiAxLjANCiMgRmlsZSAgIDogbWV0aG9kLnVuaW5zdGFsbC5waHANCiMgUHVycG9zZTogdW5pbnN0YWxsIGJ0QWRtaW5lcg0KIyBMaWNlbnNlOiBHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCiR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKCk7DQokdGhpcy0+UmVtb3ZlUGVybWlzc2lvbigpOw0KDQokdGhpcy0+QXVkaXQoMCwgJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpLCAkdGhpcy0+TGFuZygndW5pbnN0YWxsZWQnKSk7DQo=]]></data>
	</file>
	<file>
	  <filename>/style/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/style/greybox/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/style/greybox/AJS.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[aWYoIXdpbmRvdy5BSlMpe3ZhciBBSlM9e0JBU0VfVVJMOiIiLGFqYXhFcnJvckhhbmRsZXI6bnVsbCxnZXRRdWVyeUFyZ3VtZW50OmZ1bmN0aW9uKGYpe3ZhciBiPXdpbmRvdy5sb2NhdGlvbi5zZWFyY2guc3Vic3RyaW5nKDEpO3ZhciBjPWIuc3BsaXQoIiYiKTtmb3IodmFyIGE9MDthPGMubGVuZ3RoO2ErKyl7dmFyIGQ9Y1thXS5zcGxpdCgiPSIpO2lmKGRbMF09PWYpe3JldHVybiBkWzFdfX1yZXR1cm4gbnVsbH0sX2FnZW50Om5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKSxfYWdlbnRfdmVyc2lvbjpuYXZpZ2F0b3IucHJvZHVjdFN1Yixpc0llOmZ1bmN0aW9uKCl7cmV0dXJuKEFKUy5fYWdlbnQuaW5kZXhPZigibXNpZSIpIT0tMSYmQUpTLl9hZ2VudC5pbmRleE9mKCJvcGVyYSIpPT0tMSl9LGlzSWU4OmZ1bmN0aW9uKCl7cmV0dXJuIEFKUy5fYWdlbnQuaW5kZXhPZigibXNpZSA4IikhPS0xfSxpc1NhZmFyaTpmdW5jdGlvbihhKXtpZihhKXtyZXR1cm4gQUpTLl9hZ2VudC5pbmRleE9mKCJraHRtbCIpfXJldHVybihBSlMuX2FnZW50LmluZGV4T2YoImtodG1sIikhPS0xJiZBSlMuX2FnZW50Lm1hdGNoKC8zXC5cZFwuXGQgc2FmYXJpLyk9PW51bGwpfSxpc09wZXJhOmZ1bmN0aW9uKCl7cmV0dXJuIEFKUy5fYWdlbnQuaW5kZXhPZigib3BlcmEiKSE9LTF9LGlzTW96aWxsYTpmdW5jdGlvbigpe3JldHVybihBSlMuX2FnZW50LmluZGV4T2YoImdlY2tvIikhPS0xJiZBSlMuX2FnZW50X3ZlcnNpb24+PTIwMDMwMjEwKX0saXNNYWM6ZnVuY3Rpb24oKXtyZXR1cm4oQUpTLl9hZ2VudC5pbmRleE9mKCJtYWNpbnRvc2giKSE9LTEpfSxpc0NhbWlubzpmdW5jdGlvbigpe3JldHVybihBSlMuX2FnZW50LmluZGV4T2YoImNhbWlubyIpIT0tMSl9LGNyZWF0ZUFycmF5OmZ1bmN0aW9uKGEpe2lmKEFKUy5pc0FycmF5KGEpJiYhQUpTLmlzU3RyaW5nKGEpKXtyZXR1cm4gYX1lbHNle2lmKCFhKXtyZXR1cm5bXX1lbHNle3JldHVyblthXX19fSxmb3JjZUFycmF5OmZ1bmN0aW9uKGEpe3ZhciBjPVtdO2Zvcih2YXIgYj0wO2I8YS5sZW5ndGg7YisrKXtjLnB1c2goYVtiXSl9cmV0dXJuIGN9LGpvaW46ZnVuY3Rpb24oZCxiKXt0cnl7cmV0dXJuIGIuam9pbihkKX1jYXRjaChjKXt2YXIgYT1iWzBdfHwiIjtBSlMubWFwKGIsZnVuY3Rpb24oZil7YSs9ZCtmfSwxKTtyZXR1cm4gYSsiIn19LGlzSW46ZnVuY3Rpb24oYyxiKXt2YXIgYT1BSlMuZ2V0SW5kZXgoYyxiKTtpZihhIT0tMSl7cmV0dXJuIHRydWV9ZWxzZXtyZXR1cm4gZmFsc2V9fSxnZXRJbmRleDpmdW5jdGlvbihkLGIsYyl7Zm9yKHZhciBhPTA7YTxiLmxlbmd0aDthKyspe2lmKGMmJmMoYlthXSl8fGQ9PWJbYV0pe3JldHVybiBhfX1yZXR1cm4gLTF9LGdldEZpcnN0OmZ1bmN0aW9uKGEpe2lmKGEubGVuZ3RoPjApe3JldHVybiBhWzBdfWVsc2V7cmV0dXJuIG51bGx9fSxnZXRMYXN0OmZ1bmN0aW9uKGEpe2lmKGEubGVuZ3RoPjApe3JldHVybiBhW2EubGVuZ3RoLTFdfWVsc2V7cmV0dXJuIG51bGx9fSxnZXRSYW5kb206ZnVuY3Rpb24oYSl7cmV0dXJuIGFbTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKmEubGVuZ3RoKV19LHVwZGF0ZTpmdW5jdGlvbihiLGEpe2Zvcih2YXIgYyBpbiBhKXtiW2NdPWFbY119cmV0dXJuIGJ9LGZsYXR0ZW5MaXN0OmZ1bmN0aW9uKGcpe3ZhciBmPWZhbHNlO3ZhciBhPVtdO2Zvcih2YXIgYj0wO2I8Zy5sZW5ndGg7YisrKXt2YXIgaD1nW2JdO2lmKEFKUy5pc0FycmF5KGgpKXtmPXRydWU7YnJlYWt9aWYoaCE9bnVsbCl7YS5wdXNoKGgpfX1pZighZil7cmV0dXJuIGF9dmFyIGM9W107dmFyIGQ9ZnVuY3Rpb24oaixpKXtBSlMubWFwKGksZnVuY3Rpb24obCl7aWYobD09bnVsbCl7fWVsc2V7aWYoQUpTLmlzQXJyYXkobCkpe2QoaixsKX1lbHNle2oucHVzaChsKX19fSl9O2QoYyxnKTtyZXR1cm4gY30sZmxhdHRlbkVsbUFyZ3VtZW50czpmdW5jdGlvbihhKXtyZXR1cm4gQUpTLmZsYXR0ZW5MaXN0KEFKUy5mb3JjZUFycmF5KGEpKX0sbWFwOmZ1bmN0aW9uKGcsZixiLGQpe3ZhciBjPTAsYT1nLmxlbmd0aDtpZihiKXtjPWJ9aWYoZCl7YT1kfWZvcihjO2M8YTtjKyspe3ZhciBoPWYoZ1tjXSxjKTtpZihoIT11bmRlZmluZWQpe3JldHVybiBofX19LHJtYXA6ZnVuY3Rpb24oZCxjKXt2YXIgYj1kLmxlbmd0aC0xLGE9MDtmb3IoYjtiPj1hO2ItLSl7dmFyIGY9Yy5hcHBseShudWxsLFtkW2JdLGJdKTtpZihmIT11bmRlZmluZWQpe3JldHVybiBmfX19LGZpbHRlcjpmdW5jdGlvbihmLGMsYSxiKXt2YXIgZD1bXTtBSlMubWFwKGYsZnVuY3Rpb24oZyl7aWYoYyhnKSl7ZC5wdXNoKGcpfX0sYSxiKTtyZXR1cm4gZH0scGFydGlhbDpmdW5jdGlvbihiKXt2YXIgYT1BSlMuJEZBKGFyZ3VtZW50cyk7YS5zaGlmdCgpO3JldHVybiBmdW5jdGlvbigpe2E9YS5jb25jYXQoQUpTLiRGQShhcmd1bWVudHMpKTtyZXR1cm4gYi5hcHBseSh3aW5kb3csYSl9fSxnZXRFbGVtZW50OmZ1bmN0aW9uKGEpe2lmKEFKUy5pc1N0cmluZyhhKXx8QUpTLmlzTnVtYmVyKGEpKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYSl9ZWxzZXtyZXR1cm4gYX19LGdldEVsZW1lbnRzOmZ1bmN0aW9uKCl7dmFyIGE9QUpTLmZsYXR0ZW5FbG1Bcmd1bWVudHMoYXJndW1lbnRzKTt2YXIgZD1uZXcgQXJyYXkoKTtmb3IodmFyIGM9MDtjPGEubGVuZ3RoO2MrKyl7dmFyIGI9QUpTLmdldEVsZW1lbnQoYVtjXSk7ZC5wdXNoKGIpfXJldHVybiBkfSxnZXRFbGVtZW50c0J5VGFnQW5kQ2xhc3NOYW1lOmZ1bmN0aW9uKGEsYixuLGgpe3ZhciBnPVtdO2lmKCFBSlMuaXNEZWZpbmVkKG4pKXtuPWRvY3VtZW50fWlmKCFBSlMuaXNEZWZpbmVkKGEpKXthPSIqIn12YXIgZixkO2lmKGImJmRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUpe3ZhciBjPW4uZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShiKTtpZihhPT0iKiIpe2c9QUpTLmZvcmNlQXJyYXkoYyl9ZWxzZXt2YXIgbT1jLmxlbmd0aDtmb3IoZj0wO2Y8bTtmKyspe2lmKGNbZl0ubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09YSl7Zy5wdXNoKGNbZl0pfX19fWVsc2V7dmFyIGM9bi5nZXRFbGVtZW50c0J5VGFnTmFtZShhKTtpZighYil7Zz1BSlMuZm9yY2VBcnJheShjKX1lbHNle3ZhciBtPWMubGVuZ3RoO3ZhciBsPW5ldyBSZWdFeHAoIihefFxccykiK2IrIihcXHN8JCkiKTtmb3IoZj0wO2Y8bTtmKyspe2lmKGwudGVzdChjW2ZdLmNsYXNzTmFtZSl8fCFiKXtnLnB1c2goY1tmXSl9fX19aWYoaCl7cmV0dXJuIGdbMF19ZWxzZXtyZXR1cm4gZ319LG5vZGVOYW1lOmZ1bmN0aW9uKGEpe3JldHVybiBhLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCl9LF9ub2RlV2FsazpmdW5jdGlvbihnLGQsYixmKXt2YXIgYz1mKGcpO3ZhciBhO2lmKGQmJmIpe2E9ZnVuY3Rpb24oaCl7cmV0dXJuIEFKUy5ub2RlTmFtZShoKT09ZCYmQUpTLmhhc0NsYXNzKGgsYil9fWVsc2V7aWYoZCl7YT1mdW5jdGlvbihoKXtyZXR1cm4gQUpTLm5vZGVOYW1lKGgpPT1kfX1lbHNle2E9ZnVuY3Rpb24oaCl7cmV0dXJuIEFKUy5oYXNDbGFzcyhoLGIpfX19aWYoYShnKSl7cmV0dXJuIGd9d2hpbGUoYyl7aWYoYShjKSl7cmV0dXJuIGN9Yz1mKGMpfXJldHVybiBudWxsfSxnZXRQYXJlbnRCeXRjOmZ1bmN0aW9uKGMsYixhKXtyZXR1cm4gQUpTLl9ub2RlV2FsayhjLGIsYSxmdW5jdGlvbihkKXtpZihkKXtyZXR1cm4gZC5wYXJlbnROb2RlfX0pfSxnZXRDaGlsZEJ5dGM6ZnVuY3Rpb24oZCxjLGIpe3ZhciBhPUFKUy4kYnl0YyhjLGIsZCk7aWYoYS5sZW5ndGg+MCl7cmV0dXJuIGFbMF19ZWxzZXtyZXR1cm4gbnVsbH19LGhhc1BhcmVudDpmdW5jdGlvbihjLGIsYSl7aWYoYz09Yil7cmV0dXJuIHRydWV9aWYoYT09MCl7cmV0dXJuIGZhbHNlfXJldHVybiBBSlMuaGFzUGFyZW50KGMucGFyZW50Tm9kZSxiLGEtMSl9LGdldFByZXZpb3VzU2libGluZ0J5dGM6ZnVuY3Rpb24oYyxiLGEpe3JldHVybiBBSlMuX25vZGVXYWxrKGMsYixhLGZ1bmN0aW9uKGQpe3JldHVybiBkLnByZXZpb3VzU2libGluZ30pfSxnZXROZXh0U2libGluZ0J5dGM6ZnVuY3Rpb24oYyxiLGEpe3JldHVybiBBSlMuX25vZGVXYWxrKGMsYixhLGZ1bmN0aW9uKGQpe3JldHVybiBkLm5leHRTaWJsaW5nfSl9LGdldEJvZHk6ZnVuY3Rpb24oKXtyZXR1cm4gQUpTLiRieXRjKCJib2R5IilbMF19LGdldEZvcm1FbGVtZW50OmZ1bmN0aW9uKGMsYSl7Yz1BSlMuJChjKTt2YXIgYj1udWxsO0FKUy5tYXAoYy5lbGVtZW50cyxmdW5jdGlvbihkKXtpZihkLm5hbWUmJmQubmFtZT09YSl7Yj1kfX0pO2lmKGIpe3JldHVybiBifUFKUy5tYXAoQUpTLiRieXRjKCJzZWxlY3QiLG51bGwsYyksZnVuY3Rpb24oZCl7aWYoZC5uYW1lJiZkLm5hbWU9PWEpe2I9ZH19KTtyZXR1cm4gYn0sZ2V0U2VsZWN0VmFsdWU6ZnVuY3Rpb24oYSl7dmFyIGE9QUpTLiQoYSk7cmV0dXJuIGEub3B0aW9uc1thLnNlbGVjdGVkSW5kZXhdLnZhbHVlfSxkb2N1bWVudEluc2VydDpmdW5jdGlvbihhKXtpZih0eXBlb2YoYSk9PSJzdHJpbmciKXthPUFKUy5IVE1MMkRPTShhKX1kb2N1bWVudC53cml0ZSgnPHNwYW4gaWQ9ImR1bW15X2hvbGRlciI+PC9zcGFuPicpO0FKUy5zd2FwRE9NKEFKUy4kKCJkdW1teV9ob2xkZXIiKSxhKX0sYXBwZW5kQ2hpbGROb2RlczpmdW5jdGlvbihhKXtpZihhcmd1bWVudHMubGVuZ3RoPj0yKXtBSlMubWFwKGFyZ3VtZW50cyxmdW5jdGlvbihiKXtpZihBSlMuaXNTdHJpbmcoYikpe2I9QUpTLlROKGIpfWlmKEFKUy5pc0RlZmluZWQoYikpe2EuYXBwZW5kQ2hpbGQoYil9fSwxKX1yZXR1cm4gYX0sYXBwZW5kVG9Ub3A6ZnVuY3Rpb24oZCl7dmFyIGI9QUpTLmZsYXR0ZW5FbG1Bcmd1bWVudHMoYXJndW1lbnRzKS5zbGljZSgxKTtpZihiLmxlbmd0aD49MSl7dmFyIGM9ZC5maXJzdENoaWxkO2lmKGMpe3doaWxlKHRydWUpe3ZhciBhPWIuc2hpZnQoKTtpZihhKXtBSlMuaW5zZXJ0QmVmb3JlKGEsYyl9ZWxzZXticmVha319fWVsc2V7QUpTLkFDTi5hcHBseShudWxsLGFyZ3VtZW50cyl9fXJldHVybiBkfSxyZXBsYWNlQ2hpbGROb2RlczpmdW5jdGlvbihiKXt2YXIgYTt3aGlsZSgoYT1iLmZpcnN0Q2hpbGQpKXtBSlMuc3dhcERPTShhLG51bGwpfWlmKGFyZ3VtZW50cy5sZW5ndGg8Mil7cmV0dXJuIGJ9ZWxzZXtyZXR1cm4gQUpTLmFwcGVuZENoaWxkTm9kZXMuYXBwbHkobnVsbCxhcmd1bWVudHMpfXJldHVybiBifSxpbnNlcnRBZnRlcjpmdW5jdGlvbihiLGEpe2EucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYixhLm5leHRTaWJsaW5nKTtyZXR1cm4gYn0saW5zZXJ0QmVmb3JlOmZ1bmN0aW9uKGIsYSl7YS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShiLGEpO3JldHVybiBifSxzd2FwRE9NOmZ1bmN0aW9uKGEsYyl7YT1BSlMuZ2V0RWxlbWVudChhKTt2YXIgYj1hLnBhcmVudE5vZGU7aWYoYyl7Yz1BSlMuZ2V0RWxlbWVudChjKTtiLnJlcGxhY2VDaGlsZChjLGEpfWVsc2V7Yi5yZW1vdmVDaGlsZChhKX1yZXR1cm4gY30scmVtb3ZlRWxlbWVudDpmdW5jdGlvbigpe3ZhciBhPUFKUy5mbGF0dGVuRWxtQXJndW1lbnRzKGFyZ3VtZW50cyk7dHJ5e0FKUy5tYXAoYSxmdW5jdGlvbihjKXtpZigkKGMpKXtBSlMuc3dhcERPTShjLG51bGwpfX0pfWNhdGNoKGIpe319LGNyZWF0ZURPTTpmdW5jdGlvbihmLGQpe3ZhciBnPTAsYTt2YXIgbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KGYpO3ZhciBiPWRbMF07aWYoQUpTLmlzRGljdChkW2ddKSl7Zm9yKGsgaW4gYil7YT1iW2tdO2lmKGs9PSJzdHlsZSJ8fGs9PSJzIil7bC5zdHlsZS5jc3NUZXh0PWF9ZWxzZXtpZihrPT0iYyJ8fGs9PSJjbGFzcyJ8fGs9PSJjbGFzc05hbWUiKXtsLmNsYXNzTmFtZT1hfWVsc2V7bC5zZXRBdHRyaWJ1dGUoayxhKX19fWcrK31pZihiPT1udWxsKXtnPTF9Zm9yKHZhciBjPWc7YzxkLmxlbmd0aDtjKyspe3ZhciBhPWRbY107aWYoYSl7dmFyIGg9dHlwZW9mKGEpO2lmKGg9PSJzdHJpbmcifHxoPT0ibnVtYmVyIil7YT1BSlMuVE4oYSl9bC5hcHBlbmRDaGlsZChhKX19cmV0dXJuIGx9LF9jcmVhdGVEb21TaG9ydGN1dHM6ZnVuY3Rpb24oKXt2YXIgYj1bInVsIiwibGkiLCJ0ZCIsInRyIiwidGgiLCJ0Ym9keSIsInRhYmxlIiwiaW5wdXQiLCJzcGFuIiwiYiIsImEiLCJkaXYiLCJpbWciLCJidXR0b24iLCJoMSIsImgyIiwiaDMiLCJoNCIsImg1IiwiaDYiLCJiciIsInRleHRhcmVhIiwiZm9ybSIsInAiLCJzZWxlY3QiLCJvcHRpb24iLCJvcHRncm91cCIsImlmcmFtZSIsInNjcmlwdCIsImNlbnRlciIsImRsIiwiZHQiLCJkZCIsInNtYWxsIiwicHJlIiwiaSIsImxhYmVsIiwidGhlYWQiXTt2YXIgYT1mdW5jdGlvbihjKXtBSlNbYy50b1VwcGVyQ2FzZSgpXT1mdW5jdGlvbigpe3JldHVybiBBSlMuY3JlYXRlRE9NLmFwcGx5KG51bGwsW2MsYXJndW1lbnRzXSl9fTtBSlMubWFwKGIsYSk7QUpTLlROPWZ1bmN0aW9uKGMpe3JldHVybiBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShjKX19LHNldEhUTUw6ZnVuY3Rpb24oKXt2YXIgYT1BSlMuZmxhdHRlbkVsbUFyZ3VtZW50cyhhcmd1bWVudHMpO3ZhciBiPWEucG9wKCk7QUpTLm1hcChhLGZ1bmN0aW9uKGMpe2lmKGMpe2MuaW5uZXJIVE1MPWJ9fSk7cmV0dXJuIGFbMF19LHNldFZpc2liaWxpdHk6ZnVuY3Rpb24oKXt2YXIgYT1BSlMuZmxhdHRlbkVsbUFyZ3VtZW50cyhhcmd1bWVudHMpO3ZhciBiPWEucG9wKCkmJiJ2aXNpYmxlInx8ImhpZGRlbiI7QUpTLnNldFN0eWxlKGEsInZpc2liaWxpdHkiLGIpfSxzaG93RWxlbWVudDpmdW5jdGlvbigpe0FKUy5zZXRTdHlsZShBSlMuZmxhdHRlbkVsbUFyZ3VtZW50cyhhcmd1bWVudHMpLCJkaXNwbGF5IiwiIil9LGhpZGVFbGVtZW50OmZ1bmN0aW9uKGEpe0FKUy5zZXRTdHlsZShBSlMuZmxhdHRlbkVsbUFyZ3VtZW50cyhhcmd1bWVudHMpLCJkaXNwbGF5Iiwibm9uZSIpfSxpc0VsZW1lbnRIaWRkZW46ZnVuY3Rpb24oYSl7cmV0dXJuKChhLnN0eWxlLmRpc3BsYXk9PSJub25lIil8fChhLnN0eWxlLnZpc2liaWxpdHk9PSJoaWRkZW4iKSl9LGlzRWxlbWVudFNob3duOmZ1bmN0aW9uKGEpe3JldHVybiAhQUpTLmlzRWxlbWVudEhpZGRlbihhKX0sc2V0U3R5bGU6ZnVuY3Rpb24oKXt2YXIgYj1BSlMuZmxhdHRlbkVsbUFyZ3VtZW50cyhhcmd1bWVudHMpO3ZhciBkPWIucG9wKCk7dmFyIGE9WyJ0b3AiLCJsZWZ0IiwicmlnaHQiLCJ3aWR0aCIsImhlaWdodCJdO2lmKEFKUy5pc09iamVjdChkKSl7QUpTLm1hcChiLGZ1bmN0aW9uKGYpe0FKUy5tYXAoQUpTLmtleXMoZCksZnVuY3Rpb24oaCl7dmFyIGc9ZFtoXTtpZihBSlMuaXNJbihoLGEpKXtnPUFKUy5pc1N0cmluZyhnKSYmZ3x8ZysicHgifWYuc3R5bGVbaF09Z30pfSl9ZWxzZXt2YXIgYz1iLnBvcCgpO0FKUy5tYXAoYixmdW5jdGlvbihmKXtpZihBSlMuaXNJbihjLGEpKXtkPUFKUy5pc1N0cmluZyhkKSYmZHx8ZCsicHgifWYuc3R5bGVbY109ZH0pfX0sX19jc3NEaW06ZnVuY3Rpb24oYSxiKXt2YXIgYT1BSlMuJEZBKGEpO2Euc3BsaWNlKGEubGVuZ3RoLTEsMCxiKTtBSlMuc2V0U3R5bGUuYXBwbHkobnVsbCxhKX0sc2V0V2lkdGg6ZnVuY3Rpb24oKXtyZXR1cm4gQUpTLl9fY3NzRGltKGFyZ3VtZW50cywid2lkdGgiKX0sc2V0SGVpZ2h0OmZ1bmN0aW9uKCl7cmV0dXJuIEFKUy5fX2Nzc0RpbShhcmd1bWVudHMsImhlaWdodCIpfSxzZXRMZWZ0OmZ1bmN0aW9uKCl7cmV0dXJuIEFKUy5fX2Nzc0RpbShhcmd1bWVudHMsImxlZnQiKX0sc2V0UmlnaHQ6ZnVuY3Rpb24oKXtyZXR1cm4gQUpTLl9fY3NzRGltKGFyZ3VtZW50cywicmlnaHQiKX0sc2V0VG9wOmZ1bmN0aW9uKCl7cmV0dXJuIEFKUy5fX2Nzc0RpbShhcmd1bWVudHMsInRvcCIpfSxzZXRDbGFzczpmdW5jdGlvbigpe3ZhciBhPUFKUy5mbGF0dGVuRWxtQXJndW1lbnRzKGFyZ3VtZW50cyk7dmFyIGI9YS5wb3AoKTtBSlMubWFwKGEsZnVuY3Rpb24oYyl7Yy5jbGFzc05hbWU9Yn0pfSxhZGRDbGFzczpmdW5jdGlvbigpe3ZhciBiPUFKUy5mbGF0dGVuRWxtQXJndW1lbnRzKGFyZ3VtZW50cyk7dmFyIGE9Yi5wb3AoKTt2YXIgYz1mdW5jdGlvbihkKXtpZighbmV3IFJlZ0V4cCgiKF58XFxzKSIrYSsiKFxcc3wkKSIpLnRlc3QoZC5jbGFzc05hbWUpKXtkLmNsYXNzTmFtZSs9KGQuY2xhc3NOYW1lPyIgIjoiIikrYX19O0FKUy5tYXAoYixmdW5jdGlvbihkKXtjKGQpfSl9LGhhc0NsYXNzOmZ1bmN0aW9uKGMsYSl7aWYoIWN8fCFjLmNsYXNzTmFtZSl7cmV0dXJuIGZhbHNlfXZhciBiPWMuY2xhc3NOYW1lO3JldHVybihiLmxlbmd0aD4wJiYoYj09YXx8bmV3IFJlZ0V4cCgiKF58XFxzKSIrYSsiKFxcc3wkKSIpLnRlc3QoYikpKX0scmVtb3ZlQ2xhc3M6ZnVuY3Rpb24oKXt2YXIgYz1BSlMuZmxhdHRlbkVsbUFyZ3VtZW50cyhhcmd1bWVudHMpO3ZhciBhPWMucG9wKCk7dmFyIGI9ZnVuY3Rpb24oZCl7ZC5jbGFzc05hbWU9ZC5jbGFzc05hbWUucmVwbGFjZShuZXcgUmVnRXhwKCIoXnxcXHMpIithLCJnIiksIiIpfTtBSlMubWFwKGMsZnVuY3Rpb24oZCl7YihkKX0pfSxzZXRPcGFjaXR5OmZ1bmN0aW9uKGIsYSl7aWYoYT09MSl7Yi5zdHlsZS5vcGFjaXR5PTE7Yi5zdHlsZS5maWx0ZXI9IiJ9ZWxzZXtiLnN0eWxlLm9wYWNpdHk9YTtiLnN0eWxlLmZpbHRlcj0iYWxwaGEob3BhY2l0eT0iK2EqMTAwKyIpIn19LEhUTUwyRE9NOmZ1bmN0aW9uKGEsYyl7dmFyIGI9QUpTLkRJVigpO2IuaW5uZXJIVE1MPWE7aWYoYyl7cmV0dXJuIGIuY2hpbGROb2Rlc1swXX1lbHNle3JldHVybiBifX0scHJlbG9hZEltYWdlczpmdW5jdGlvbigpe0FKUy5BRVYod2luZG93LCJsb2FkIixBSlMuJHAoZnVuY3Rpb24oYSl7QUpTLm1hcChhLGZ1bmN0aW9uKGMpe3ZhciBiPW5ldyBJbWFnZSgpO2Iuc3JjPWN9KX0sYXJndW1lbnRzKSl9LFJORDpmdW5jdGlvbihhLGQsYyl7Yz1jfHx3aW5kb3c7dmFyIGI9ZnVuY3Rpb24oZixsKXtsPWwuc3BsaXQoInwiKTt2YXIgaj1kW2xbMF1dO2Zvcih2YXIgaD0xO2g8bC5sZW5ndGg7aCsrKXtqPWNbbFtoXV0oail9aWYoaj09IiIpe3JldHVybiIifWlmKGo9PTB8fGo9PS0xKXtqKz0iIn1yZXR1cm4ganx8Zn07cmV0dXJuIGEucmVwbGFjZSgvJVwoKFtBLVphLXowLTlffC5dKilcKS9nLGIpfSxnZXRYTUxIdHRwUmVxdWVzdDpmdW5jdGlvbigpe3ZhciBiPVtmdW5jdGlvbigpe3JldHVybiBuZXcgWE1MSHR0cFJlcXVlc3QoKX0sZnVuY3Rpb24oKXtyZXR1cm4gbmV3IEFjdGl2ZVhPYmplY3QoIk1zeG1sMi5YTUxIVFRQIil9LGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBBY3RpdmVYT2JqZWN0KCJNaWNyb3NvZnQuWE1MSFRUUCIpfSxmdW5jdGlvbigpe3JldHVybiBuZXcgQWN0aXZlWE9iamVjdCgiTXN4bWwyLlhNTEhUVFAuNC4wIil9LGZ1bmN0aW9uKCl7dGhyb3ciQnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IFhNTEh0dHBSZXF1ZXN0In1dO2Zvcih2YXIgYT0wO2E8Yi5sZW5ndGg7YSsrKXt2YXIgYz1iW2FdO3RyeXtyZXR1cm4gYygpfWNhdGNoKGQpe319fSxnZXRSZXF1ZXN0OmZ1bmN0aW9uKGEsYyl7dmFyIGI9QUpTLmdldFhNTEh0dHBSZXF1ZXN0KCk7aWYoYS5tYXRjaCgvXmh0dHBzPzpcL1wvLyk9PW51bGwpe2lmKEFKUy5CQVNFX1VSTCE9IiIpe2lmKEFKUy5CQVNFX1VSTC5sYXN0SW5kZXhPZigiLyIpIT1BSlMuQkFTRV9VUkwubGVuZ3RoLTEpe0FKUy5CQVNFX1VSTCs9Ii8ifWE9QUpTLkJBU0VfVVJMK2F9fWlmKCFjKXtjPSJQT1NUIn1yZXR1cm4gbmV3IEFKU0RlZmVycmVkKGIsYyxhKX0sc2VyaWFsaXplSlNPTjpmdW5jdGlvbihqKXt2YXIgYT10eXBlb2Yoaik7aWYoYT09InVuZGVmaW5lZCIpe3JldHVybiJudWxsIn1lbHNle2lmKGE9PSJudW1iZXIifHxhPT0iYm9vbGVhbiIpe3JldHVybiBqKyIifWVsc2V7aWYoaj09PW51bGwpe3JldHVybiJudWxsIn19fWlmKGE9PSJzdHJpbmciKXtyZXR1cm4gQUpTLl9yZXByU3RyaW5nKGopfWlmKGE9PSJvYmplY3QiJiZqLmdldEZ1bGxZZWFyKXtyZXR1cm4gQUpTLl9yZXByRGF0ZShqKX12YXIgZj1hcmd1bWVudHMuY2FsbGVlO2lmKGEhPSJmdW5jdGlvbiImJnR5cGVvZihqLmxlbmd0aCk9PSJudW1iZXIiKXt2YXIgZD1bXTtmb3IodmFyIGM9MDtjPGoubGVuZ3RoO2MrKyl7dmFyIGg9ZihqW2NdKTtpZih0eXBlb2YoaCkhPSJzdHJpbmciKXtoPSJ1bmRlZmluZWQifWQucHVzaChoKX1yZXR1cm4iWyIrZC5qb2luKCIsIikrIl0ifWlmKGE9PSJmdW5jdGlvbiIpe3JldHVybiBudWxsfWQ9W107Zm9yKHZhciBiIGluIGope3ZhciBnO2lmKHR5cGVvZihiKT09Im51bWJlciIpe2c9JyInK2IrJyInfWVsc2V7aWYodHlwZW9mKGIpPT0ic3RyaW5nIil7Zz1BSlMuX3JlcHJTdHJpbmcoYil9ZWxzZXtjb250aW51ZX19aD1mKGpbYl0pO2lmKHR5cGVvZihoKSE9InN0cmluZyIpe2NvbnRpbnVlfWQucHVzaChnKyI6IitoKX1yZXR1cm4ieyIrZC5qb2luKCIsIikrIn0ifSxsb2FkSlNPTjpmdW5jdGlvbihiLGMsYSl7dmFyIGc9QUpTLmdldFJlcXVlc3QoYixjKTt2YXIgZj1mdW5jdGlvbihoLGQpe3ZhciBpPWQucmVzcG9uc2VUZXh0O2lmKGk9PSJFcnJvciIpe2cuZXJyYmFjayhkKX1lbHNle3JldHVybiBBSlMuZXZhbFR4dChpKX19O2cuYWRkQ2FsbGJhY2soZik7cmV0dXJuIGd9LGV2YWxUeHQ6ZnVuY3Rpb24odHh0KXt0cnl7cmV0dXJuIGV2YWwoIigiK3R4dCsiKSIpfWNhdGNoKGUpe3JldHVybiBldmFsKHR4dCl9fSxldmFsU2NyaXB0VGFnczpmdW5jdGlvbihodG1sKXt2YXIgc2NyaXB0X2RhdGE9aHRtbC5tYXRjaCgvPHNjcmlwdC4qPz4oKFxufFxyfC4pKj8pPFwvc2NyaXB0Pi9nKTtpZihzY3JpcHRfZGF0YSE9bnVsbCl7Zm9yKHZhciBpPTA7aTxzY3JpcHRfZGF0YS5sZW5ndGg7aSsrKXt2YXIgc2NyaXB0X29ubHk9c2NyaXB0X2RhdGFbaV0ucmVwbGFjZSgvPHNjcmlwdC4qPz4vZywiIik7c2NyaXB0X29ubHk9c2NyaXB0X29ubHkucmVwbGFjZSgvPFwvc2NyaXB0Pi9nLCIiKTtldmFsKHNjcmlwdF9vbmx5KX19fSxlbmNvZGVBcmd1bWVudHM6ZnVuY3Rpb24oYSl7dmFyIGI9W107Zm9yKGsgaW4gYSl7Yi5wdXNoKGsrIj0iK0FKUy51cmxlbmNvZGUoYVtrXSkpfXJldHVybiBiLmpvaW4oIiYiKX0sX3JlcHJTdHJpbmc6ZnVuY3Rpb24oYSl7cmV0dXJuKCciJythLnJlcGxhY2UoLyhbIlxcXSkvZywiXFwkMSIpKyciJykucmVwbGFjZSgvW1xmXS9nLCJcXGYiKS5yZXBsYWNlKC9bXGJdL2csIlxcYiIpLnJlcGxhY2UoL1tcbl0vZywiXFxuIikucmVwbGFjZSgvW1x0XS9nLCJcXHQiKS5yZXBsYWNlKC9bXHJdL2csIlxcciIpfSxfcmVwckRhdGU6ZnVuY3Rpb24oYyl7dmFyIGQ9Yy5nZXRVVENGdWxsWWVhcigpO3ZhciBhPWMuZ2V0VVRDRGF0ZSgpO3ZhciBmPWMuZ2V0VVRDTW9udGgoKSsxO3ZhciBiPWZ1bmN0aW9uKGcpe2lmKGc8MTApe2c9IjAiK2d9cmV0dXJuIGd9O3JldHVybiciJytkKyItIitmKyItIithKyJUIitiKGMuZ2V0VVRDSG91cnMoKSkrIjoiK2IoYy5nZXRVVENNaW51dGVzKCkpKyI6IitiKGMuZ2V0VVRDU2Vjb25kcygpKSsnIid9LGdldE1vdXNlUG9zOmZ1bmN0aW9uKGIpe3ZhciBhPTA7dmFyIGM9MDtpZighYil7dmFyIGI9d2luZG93LmV2ZW50fWlmKGIucGFnZVh8fGIucGFnZVkpe2E9Yi5wYWdlWDtjPWIucGFnZVl9ZWxzZXtpZihiLmNsaWVudFh8fGIuY2xpZW50WSl7YT1iLmNsaWVudFgrZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0K2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0O2M9Yi5jbGllbnRZK2RvY3VtZW50LmJvZHkuc2Nyb2xsVG9wK2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3B9fXJldHVybnt4OmEseTpjfX0sZ2V0U2Nyb2xsVG9wOmZ1bmN0aW9uKCl7dmFyIGE7aWYoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50JiZkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wKXthPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3B9ZWxzZXtpZihkb2N1bWVudC5ib2R5KXthPWRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wfX1yZXR1cm4gYX0sYWJzb2x1dGVQb3NpdGlvbjpmdW5jdGlvbihjKXtpZighYyl7cmV0dXJue3g6MCx5OjB9fWlmKGMuc2Nyb2xsTGVmdCl7cmV0dXJue3g6Yy5zY3JvbGxMZWZ0LHk6Yy5zY3JvbGxUb3B9fWVsc2V7aWYoYy5jbGllbnRYKXtyZXR1cm57eDpjLmNsaWVudFgseTpjLmNsaWVudFl9fX12YXIgYj17eDpjLm9mZnNldExlZnQseTpjLm9mZnNldFRvcH07aWYoYy5vZmZzZXRQYXJlbnQpe3ZhciBhPWMub2Zmc2V0UGFyZW50O3doaWxlKGEpe2IueCs9YS5vZmZzZXRMZWZ0O2IueSs9YS5vZmZzZXRUb3A7YT1hLm9mZnNldFBhcmVudH19aWYoQUpTLmlzU2FmYXJpKCkmJmMuc3R5bGUucG9zaXRpb249PSJhYnNvbHV0ZSIpe2IueC09ZG9jdW1lbnQuYm9keS5vZmZzZXRMZWZ0O2IueS09ZG9jdW1lbnQuYm9keS5vZmZzZXRUb3B9cmV0dXJuIGJ9LGdldFdpbmRvd1NpemU6ZnVuY3Rpb24oYyl7Yz1jfHxkb2N1bWVudDt2YXIgYixhO2lmKHNlbGYuaW5uZXJIZWlnaHQpe2I9c2VsZi5pbm5lcldpZHRoO2E9c2VsZi5pbm5lckhlaWdodH1lbHNle2lmKGMuZG9jdW1lbnRFbGVtZW50JiZjLmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQpe2I9Yy5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGg7YT1jLmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHR9ZWxzZXtpZihjLmJvZHkpe2I9Yy5ib2R5LmNsaWVudFdpZHRoO2E9Yy5ib2R5LmNsaWVudEhlaWdodH19fXJldHVybnt3OmIsaDphfX0saXNPdmVybGFwcGluZzpmdW5jdGlvbihnLGMpe3ZhciBqPUFKUy5hYnNvbHV0ZVBvc2l0aW9uKGcpO3ZhciBpPUFKUy5hYnNvbHV0ZVBvc2l0aW9uKGMpO3ZhciBtPWoueTt2YXIgbz1qLng7dmFyIGY9bytnLm9mZnNldFdpZHRoO3ZhciBkPW0rZy5vZmZzZXRIZWlnaHQ7dmFyIGw9aS55O3ZhciBuPWkueDt2YXIgYj1uK2Mub2Zmc2V0V2lkdGg7dmFyIGE9bCtjLm9mZnNldEhlaWdodDt2YXIgaD1mdW5jdGlvbihwKXtpZihwPjApe3JldHVybiIrIn1lbHNle2lmKHA8MCl7cmV0dXJuIi0ifWVsc2V7cmV0dXJuIDB9fX07aWYoKGgobS1hKSE9aChkLWwpKSYmKGgoby1iKSE9aChmLW4pKSl7cmV0dXJuIHRydWV9cmV0dXJuIGZhbHNlfSxnZXRFdmVudEVsbTpmdW5jdGlvbihiKXtpZihiJiYhYi50eXBlJiYhYi5rZXlDb2RlKXtyZXR1cm4gYn12YXIgYTtpZighYil7dmFyIGI9d2luZG93LmV2ZW50fWlmKGIudGFyZ2V0KXthPWIudGFyZ2V0fWVsc2V7aWYoYi5zcmNFbGVtZW50KXthPWIuc3JjRWxlbWVudH19aWYoYSYmYS5ub2RlVHlwZT09Myl7YT1hLnBhcmVudE5vZGV9cmV0dXJuIGF9LHNldEV2ZW50S2V5OmZ1bmN0aW9uKGEpe2lmKCFhKXthPXdpbmRvdy5ldmVudH1hLmtleT1hLmtleUNvZGU/YS5rZXlDb2RlOmEuY2hhckNvZGU7YS5jdHJsPWEuY3RybEtleTthLmFsdD1hLmFsdEtleTthLm1ldGE9YS5tZXRhS2V5O2Euc2hpZnQ9YS5zaGlmdEtleX0sb25FdmVudDpmdW5jdGlvbihjLGIsYSxkKXtjPUFKUy4kQShjKTtBSlMubWFwKGMsZnVuY3Rpb24oZil7aWYoZi5ldmVudHMpe2YuZXZlbnRzW2JdPXt9fX0pO3JldHVybiBBSlMuQUVWKGMsYixhLGQpfSxyZWFkeV9ib3VuZDpmYWxzZSxpc19yZWFkeTpmYWxzZSxiaW5kUmVhZHk6ZnVuY3Rpb24oKXtpZihBSlMucmVhZHlfYm91bmQpe3JldHVybn1BSlMucmVhZHlfYm91bmQ9dHJ1ZTtpZihkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKXtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixmdW5jdGlvbigpe2RvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLGFyZ3VtZW50cy5jYWxsZWUsZmFsc2UpO0FKUy5yZWFkeSgpfSxmYWxzZSl9ZWxzZXtpZihkb2N1bWVudC5hdHRhY2hFdmVudCl7ZG9jdW1lbnQuYXR0YWNoRXZlbnQoIm9ucmVhZHlzdGF0ZWNoYW5nZSIsZnVuY3Rpb24oKXtpZihkb2N1bWVudC5yZWFkeVN0YXRlPT09ImNvbXBsZXRlIil7ZG9jdW1lbnQuZGV0YWNoRXZlbnQoIm9ucmVhZHlzdGF0ZWNoYW5nZSIsYXJndW1lbnRzLmNhbGxlZSk7QUpTLnJlYWR5KCl9fSk7aWYoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmRvU2Nyb2xsJiZ3aW5kb3c9PXdpbmRvdy50b3ApeyhmdW5jdGlvbigpe2lmKEFKUy5pc19yZWFkeSl7cmV0dXJufXRyeXtkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZG9TY3JvbGwoImxlZnQiKX1jYXRjaChhKXtzZXRUaW1lb3V0KGFyZ3VtZW50cy5jYWxsZWUsMCk7cmV0dXJufUFKUy5yZWFkeSgpfSkoKX19fUFKUy5BRVYod2luZG93LCJsb2FkIixBSlMucmVhZHkpfSxyZWFkeV9saXN0OltdLHJlYWR5OmZ1bmN0aW9uKGEpe2lmKEFKUy5pc19yZWFkeSl7cmV0dXJufUFKUy5pc19yZWFkeT10cnVlO0FKUy5tYXAoQUpTLnJlYWR5X2xpc3QsZnVuY3Rpb24oYil7Yi5jYWxsKHdpbmRvdyl9KTtBSlMucmVhZHlfbGlzdD1bXX0sX2ZfZ3VpZDowLF93aXBlX2d1aWQ6MCxhZGRFdmVudExpc3RlbmVyOmZ1bmN0aW9uKGMsYSxiLGQpe2M9QUpTLiRBKGMpO2E9QUpTLiRBKGEpO0FKUy5tYXAoYyxmdW5jdGlvbihmKXtpZihkKXtiLmxpc3Rlbl9vbmNlPXRydWV9aWYoIWIuJGZfZ3VpZCl7Yi4kZl9ndWlkPUFKUy5fZl9ndWlkKyt9aWYoIWYuZXZlbnRzKXtmLmV2ZW50cz17fX1BSlMubWFwKGEsZnVuY3Rpb24oaCl7dmFyIGc9Zi5ldmVudHNbaF07aWYoZj09d2luZG93JiZoPT0ibG9hZCIpe0FKUy5yZWFkeV9saXN0LnB1c2goYil9ZWxzZXtpZihoPT0ibGF6eV9sb2FkIil7aD0ibG9hZCJ9aWYoIWcpe2c9Zi5ldmVudHNbaF09e307aWYoZlsib24iK2hdKXtnWzBdPWZbIm9uIitoXX19aWYoIWYuX3dpcGVfZ3VpZCl7Zi5fd2lwZV9ndWlkPUFKUy5fd2lwZV9ndWlkKyt9Z1tiLiRmX2d1aWRdPWI7Zlsib24iK2hdPUFKUy5oYW5kbGVFdmVudH19KTtmPW51bGx9KX0saGFuZGxlRXZlbnQ6ZnVuY3Rpb24oaCl7dmFyIGc9dGhpcztoPWh8fHdpbmRvdy5ldmVudDtpZighaCl7cmV0dXJufWlmKCFoLmN0cmwmJmgudHlwZS5pbmRleE9mKCJrZXkiKSE9LTEpe0FKUy5zZXRFdmVudEtleShoKX12YXIgYj10aGlzLmV2ZW50c1toLnR5cGVdO3ZhciBhPVtdO3ZhciBkPXRydWU7Zm9yKHZhciBjIGluIGIpe3ZhciBmPXRoaXMuJCRoYW5kbGVFdmVudD1iW2NdO2lmKGY9PUFKUy5oYW5kbGVFdmVudCl7Y29udGludWV9ZD1mKGgpO2lmKGYubGlzdGVuX29uY2Upe2EucHVzaChmKX19aWYoYS5sZW5ndGg+MCl7QUpTLm1hcChhLGZ1bmN0aW9uKGkpe2RlbGV0ZSBnLmV2ZW50c1toLnR5cGVdW2kuJGZfZ3VpZF19KX1yZXR1cm4gZH0scmVtb3ZlRXZlbnRMaXN0ZW5lcjpmdW5jdGlvbihjLGIsYSl7Yz1BSlMuJEEoYyk7bWFwKGMsZnVuY3Rpb24oZCl7aWYoZC5ldmVudHMmJmQuZXZlbnRzW2JdKXtkZWxldGUgZC5ldmVudHNbYl1bYS4kZl9ndWlkXX19KX0sYmluZDpmdW5jdGlvbihiLGEsYyl7Yi5fY3Njb3BlPWE7cmV0dXJuIEFKUy5fZ2V0UmVhbFNjb3BlKGIsYyl9LGJpbmRNZXRob2RzOmZ1bmN0aW9uKGIpe2Zvcih2YXIgYSBpbiBiKXt2YXIgYz1iW2FdO2lmKHR5cGVvZihjKT09ImZ1bmN0aW9uIil7YlthXT1BSlMuJGIoYyxiKX19fSxwcmV2ZW50RGVmYXVsdDpmdW5jdGlvbihhKXtpZihBSlMuaXNJZSgpKXt3aW5kb3cuZXZlbnQucmV0dXJuVmFsdWU9ZmFsc2V9ZWxzZXthLnByZXZlbnREZWZhdWx0KCl9fSxfbGlzdGVuT25jZTpmdW5jdGlvbihkLGIsYSl7dmFyIGM9ZnVuY3Rpb24oKXtBSlMucmVtb3ZlRXZlbnRMaXN0ZW5lcihkLGIsYyk7YShhcmd1bWVudHMpfTtyZXR1cm4gY30sX2dldFJlYWxTY29wZTpmdW5jdGlvbihiLGMpe2M9QUpTLiRBKGMpO3ZhciBhPWIuX2NzY29wZXx8d2luZG93O3JldHVybiBmdW5jdGlvbigpe3RyeXt2YXIgZD1BSlMuJEZBKGFyZ3VtZW50cykuY29uY2F0KGMpO3JldHVybiBiLmFwcGx5KGEsZCl9Y2F0Y2goZil7fX19LF9yZWNjcnVpbmdfdG9zOnt9LHNldFNpbmdsZVRpbWVvdXQ6ZnVuY3Rpb24oYixjLGEpe3ZhciBkPUFKUy5fcmVjY3J1aW5nX3Rvc1tiXTtpZihkKXtjbGVhclRpbWVvdXQoZCl9QUpTLl9yZWNjcnVpbmdfdG9zW2JdPXNldFRpbWVvdXQoYyxhKX0sa2V5czpmdW5jdGlvbihiKXt2YXIgYT1bXTtmb3IodmFyIGMgaW4gYil7YS5wdXNoKGMpfXJldHVybiBhfSx2YWx1ZXM6ZnVuY3Rpb24oYil7dmFyIGE9W107Zm9yKHZhciBjIGluIGIpe2EucHVzaChiW2NdKX1yZXR1cm4gYX0sdXJsZW5jb2RlOmZ1bmN0aW9uKGEpe3JldHVybiBlbmNvZGVVUklDb21wb25lbnQoQUpTLmlzRGVmaW5lZChhKSYmYS50b1N0cmluZygpfHwiIil9LHVybGRlY29kZTpmdW5jdGlvbihiKXt2YXIgYT1kZWNvZGVVUklDb21wb25lbnQoQUpTLmlzRGVmaW5lZChiKSYmYi50b1N0cmluZygpfHwiIik7cmV0dXJuIGEucmVwbGFjZSgvXCsvZywiICIpfSxpc0RlZmluZWQ6ZnVuY3Rpb24oYSl7cmV0dXJuKGEhPSJ1bmRlZmluZWQiJiZhIT1udWxsKX0saXNBcnJheTpmdW5jdGlvbihiKXt0cnl7cmV0dXJuIGIgaW5zdGFuY2VvZiBBcnJheX1jYXRjaChhKXtyZXR1cm4gZmFsc2V9fSxpc1N0cmluZzpmdW5jdGlvbihhKXtyZXR1cm4odHlwZW9mIGE9PSJzdHJpbmciKX0saXNOdW1iZXI6ZnVuY3Rpb24oYSl7cmV0dXJuKHR5cGVvZiBhPT0ibnVtYmVyIil9LGlzT2JqZWN0OmZ1bmN0aW9uKGEpe3JldHVybih0eXBlb2YgYT09Im9iamVjdCIpfSxpc0Z1bmN0aW9uOmZ1bmN0aW9uKGEpe3JldHVybih0eXBlb2YgYT09ImZ1bmN0aW9uIil9LGlzRGljdDpmdW5jdGlvbihiKXt2YXIgYT1TdHJpbmcoYik7cmV0dXJuIGEuaW5kZXhPZigiIE9iamVjdCIpIT0tMX0sZXhwb3J0VG9HbG9iYWxTY29wZTpmdW5jdGlvbihhKXthPWF8fHdpbmRvdztmb3IoZSBpbiBBSlMpe2lmKGUhPSJhZGRFdmVudExpc3RlbmVyIil7YVtlXT1BSlNbZV19fX0sbG9nOmZ1bmN0aW9uKGIpe3RyeXtpZih3aW5kb3cuX2ZpcmVidWcpe3dpbmRvdy5fZmlyZWJ1Zy5sb2coYil9ZWxzZXtpZih3aW5kb3cuY29uc29sZSl7Y29uc29sZS5sb2coYil9fX1jYXRjaChhKXt9fSxzdHJpcDpmdW5jdGlvbihhKXtyZXR1cm4gYS5yZXBsYWNlKC9eXHMrLywiIikucmVwbGFjZSgvXHMrJC9nLCIiKX0sdHJpbV9pZl9uZWVkZWQ6ZnVuY3Rpb24oYyxhLGIpe2lmKGMubGVuZ3RoPmEpe3JldHVybiBjLnN1YnN0cmluZygwLGEpKyhifHwiLi4uIil9cmV0dXJuIGN9fTtBSlMuQ2xhc3M9ZnVuY3Rpb24oYSl7dmFyIGI9ZnVuY3Rpb24oKXtpZihhcmd1bWVudHNbMF0hPSJub19pbml0Iil7cmV0dXJuIHRoaXMuaW5pdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fTtiLnByb3RvdHlwZT1hO0FKUy51cGRhdGUoYixBSlMuQ2xhc3MucHJvdG90eXBlKTtyZXR1cm4gYn07QUpTLkNsYXNzLnByb3RvdHlwZT17ZXh0ZW5kOmZ1bmN0aW9uKGEpe3ZhciBiPW5ldyB0aGlzKCJub19pbml0Iik7Zm9yKGsgaW4gYSl7dmFyIGM9YltrXTt2YXIgZD1hW2tdO2lmKGMmJmMhPWQmJnR5cGVvZiBkPT0iZnVuY3Rpb24iKXtkPXRoaXMuX3BhcmVudGl6ZShkLGMpfWJba109ZH1yZXR1cm4gbmV3IEFKUy5DbGFzcyhiKX0saW1wbGVtZW50OmZ1bmN0aW9uKGEpe0FKUy51cGRhdGUodGhpcy5wcm90b3R5cGUsYSl9LF9wYXJlbnRpemU6ZnVuY3Rpb24oYixhKXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnBhcmVudD1hO3JldHVybiBiLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19fTtBSlMuJD1BSlMuZ2V0RWxlbWVudDtBSlMuJCQ9QUpTLmdldEVsZW1lbnRzO0FKUy4kZj1BSlMuZ2V0Rm9ybUVsZW1lbnQ7QUpTLiRiPUFKUy5iaW5kO0FKUy4kcD1BSlMucGFydGlhbDtBSlMuJEZBPUFKUy5mb3JjZUFycmF5O0FKUy4kQT1BSlMuY3JlYXRlQXJyYXk7QUpTLkRJPUFKUy5kb2N1bWVudEluc2VydDtBSlMuQUNOPUFKUy5hcHBlbmRDaGlsZE5vZGVzO0FKUy5SQ049QUpTLnJlcGxhY2VDaGlsZE5vZGVzO0FKUy5BRVY9QUpTLmFkZEV2ZW50TGlzdGVuZXI7QUpTLlJFVj1BSlMucmVtb3ZlRXZlbnRMaXN0ZW5lcjtBSlMuJGJ5dGM9QUpTLmdldEVsZW1lbnRzQnlUYWdBbmRDbGFzc05hbWU7QUpTLiRBUD1BSlMuYWJzb2x1dGVQb3NpdGlvbjtBSlMubG9hZEpTT05Eb2M9QUpTLmxvYWRKU09OO0FKUy5xdWVyeUFyZ3VtZW50cz1BSlMuZW5jb2RlQXJndW1lbnRzO0FKUy4kZ3A9QUpTLmdldFBhcmVudEJ5dGM7QUpTLiRnYz1BSlMuZ2V0Q2hpbGRCeXRjO0FKUy4kc3Y9QUpTLnNldFZpc2liaWxpdHk7QUpTLmdlbmVyYWxFcnJvcmJhY2s9bnVsbDtBSlMuZ2VuZXJhbENhbGxiYWNrPW51bGw7QUpTRGVmZXJyZWQ9ZnVuY3Rpb24oYixjLGEpe3RoaXMuY2FsbGJhY2tzPVtdO3RoaXMuZXJyYmFja3M9W107dGhpcy5yZXE9Yjt0aGlzLmh0dHBfbWV0aG9kPWM7dGhpcy5odHRwX3VybD1hfTtBSlNEZWZlcnJlZC5wcm90b3R5cGU9e2V4Y0NhbGxiYWNrU2VxOmZ1bmN0aW9uKGMsZil7dmFyIGQ9Yy5yZXNwb25zZVRleHQ7aWYoQUpTLmdlbmVyYWxDYWxsYmFjayl7ZD1BSlMuZ2VuZXJhbENhbGxiYWNrKGMsZik7aWYoIWQpe3JldHVybn19d2hpbGUoZi5sZW5ndGg+MCl7dmFyIGI9Zi5wb3AoKTt2YXIgYT1iKGQsYyk7aWYoYSl7ZD1hfWVsc2V7aWYoYT09ZmFsc2Upe2JyZWFrfX19fSxjYWxsYmFjazpmdW5jdGlvbigpe3RoaXMuZXhjQ2FsbGJhY2tTZXEodGhpcy5yZXEsdGhpcy5jYWxsYmFja3MpfSxlcnJiYWNrOmZ1bmN0aW9uKCl7aWYodGhpcy5lcnJiYWNrcy5sZW5ndGg9PTApe2lmKEFKUy5hamF4RXJyb3JIYW5kbGVyKXtBSlMuYWpheEVycm9ySGFuZGxlcihyZXEucmVzcG9uc2VUZXh0LHJlcSl9ZWxzZXt2YXIgYj10aGlzLnJlcS5yZXNwb25zZVRleHQuc3Vic3RyaW5nKDAsMjAwKTtpZihBSlMuc3RyaXAoYikmJmIuaW5kZXhPZigiPGh0bWwiKT09LTEpe2FsZXJ0KCJFcnJvciBlbmNvdW50ZXJlZDpcbiIrYil9fX1pZihBSlMuZ2VuZXJhbEVycm9yYmFjayl7dmFyIGE9QUpTLmdlbmVyYWxFcnJvcmJhY2sodGhpcy5yZXEpO2lmKCFhKXtyZXR1cm59fXRoaXMuZXhjQ2FsbGJhY2tTZXEodGhpcy5yZXEsdGhpcy5lcnJiYWNrcyl9LGFkZEVycmJhY2s6ZnVuY3Rpb24oYSl7dGhpcy5lcnJiYWNrcy51bnNoaWZ0KGEpfSxhZGRDYWxsYmFjazpmdW5jdGlvbihhKXt0aGlzLmNhbGxiYWNrcy51bnNoaWZ0KGEpfSxhYm9ydDpmdW5jdGlvbigpe3RoaXMucmVxLmFib3J0KCl9LGFkZENhbGxiYWNrczpmdW5jdGlvbihiLGEpe3RoaXMuYWRkQ2FsbGJhY2soYik7dGhpcy5hZGRFcnJiYWNrKGEpfSxfb25yZWFkeXN0YXRlY2hhbmdlOmZ1bmN0aW9uKCl7dmFyIGI9dGhpcy5yZXE7dmFyIGY9dGhpcztpZihiLnJlYWR5U3RhdGU9PTQpe3ZhciBhPSIiO3RyeXthPWIuc3RhdHVzfWNhdGNoKGMpe31pZihhPT0yMDB8fGE9PTMwNHx8Yi5yZXNwb25zZVRleHQ9PW51bGwpe3RoaXMuY2FsbGJhY2soKX1lbHNle3RoaXMuZXJyYmFjaygpfX19LHNlbmRSZXE6ZnVuY3Rpb24oZCl7dmFyIGM9dGhpcy5yZXE7dmFyIGI9dGhpcy5odHRwX21ldGhvZDt2YXIgYT10aGlzLmh0dHBfdXJsO2lmKGI9PSJQT1NUIil7Yy5vcGVuKGIsYSx0cnVlKTtjLm9ucmVhZHlzdGF0ZWNoYW5nZT1BSlMuJGIodGhpcy5fb25yZWFkeXN0YXRlY2hhbmdlLHRoaXMpO2Muc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC10eXBlIiwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIik7aWYoQUpTLmlzT2JqZWN0KGQpKXtjLnNlbmQoQUpTLmVuY29kZUFyZ3VtZW50cyhkKSl9ZWxzZXtpZihBSlMuaXNEZWZpbmVkKGQpKXtjLnNlbmQoZCl9ZWxzZXtjLnNlbmQoIiIpfX19ZWxzZXtjLm9wZW4oIkdFVCIsYSx0cnVlKTtjLm9ucmVhZHlzdGF0ZWNoYW5nZT1BSlMuJGIodGhpcy5fb25yZWFkeXN0YXRlY2hhbmdlLHRoaXMpO2Muc2VuZChudWxsKX19fTtBSlMuX2NyZWF0ZURvbVNob3J0Y3V0cygpfXNjcmlwdF9sb2FkZWQ9dHJ1ZTtBSlMuZXhwb3J0VG9HbG9iYWxTY29wZSgpO0FKUy5iaW5kUmVhZHkoKTsKc2NyaXB0X2xvYWRlZD10cnVlOw==]]></data>
	</file>
	<file>
	  <filename>/style/greybox/AJS_fx.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QUpTLmZ4PXtfc2hhZGVzOnswOiJmZmZmZmYiLDE6ImZmZmZlZSIsMjoiZmZmZmRkIiwzOiJmZmZmY2MiLDQ6ImZmZmZiYiIsNToiZmZmZmFhIiw2OiJmZmZmOTkifSxoaWdobGlnaHQ6ZnVuY3Rpb24oYyxhKXt2YXIgYj1uZXcgQUpTLmZ4LkJhc2UoKTtiLmVsbT1BSlMuJChjKTtiLm9wdGlvbnMuZHVyYXRpb249NjAwO2Iuc2V0T3B0aW9ucyhhKTtBSlMudXBkYXRlKGIse2luY3JlYXNlOmZ1bmN0aW9uKCl7aWYodGhpcy5ub3c9PTcpe2Muc3R5bGUuYmFja2dyb3VuZENvbG9yPSIjZmZmIn1lbHNle2Muc3R5bGUuYmFja2dyb3VuZENvbG9yPSIjIitBSlMuZnguX3NoYWRlc1tNYXRoLmZsb29yKHRoaXMubm93KV19fX0pO3JldHVybiBiLmN1c3RvbSg2LDApfSxmYWRlSW46ZnVuY3Rpb24oYyxhKXthPWF8fHt9O2lmKCFhLmZyb20pe2EuZnJvbT0wO0FKUy5zZXRPcGFjaXR5KGMsMCl9aWYoIWEudG8pe2EudG89MX12YXIgYj1uZXcgQUpTLmZ4LlN0eWxlKGMsIm9wYWNpdHkiLGEpO3JldHVybiBiLmN1c3RvbShhLmZyb20sYS50byl9LGZhZGVPdXQ6ZnVuY3Rpb24oYyxhKXthPWF8fHt9O2lmKCFhLmZyb20pe2EuZnJvbT0xfWlmKCFhLnRvKXthLnRvPTB9YS5kdXJhdGlvbj0zMDA7dmFyIGI9bmV3IEFKUy5meC5TdHlsZShjLCJvcGFjaXR5IixhKTtyZXR1cm4gYi5jdXN0b20oYS5mcm9tLGEudG8pfSxzZXRXaWR0aDpmdW5jdGlvbihjLGEpe3ZhciBiPW5ldyBBSlMuZnguU3R5bGUoYywid2lkdGgiLGEpO3JldHVybiBiLmN1c3RvbShhLmZyb20sYS50byl9LHNldEhlaWdodDpmdW5jdGlvbihjLGEpe3ZhciBiPW5ldyBBSlMuZnguU3R5bGUoYywiaGVpZ2h0IixhKTtyZXR1cm4gYi5jdXN0b20oYS5mcm9tLGEudG8pfX07QUpTLmZ4LkJhc2U9bmV3IEFKUy5DbGFzcyh7aW5pdDpmdW5jdGlvbihhKXt0aGlzLm9wdGlvbnM9e29uU3RhcnQ6ZnVuY3Rpb24oKXt9LG9uQ29tcGxldGU6ZnVuY3Rpb24oKXt9LHRyYW5zaXRpb246QUpTLmZ4LlRyYW5zaXRpb25zLnNpbmVJbk91dCxkdXJhdGlvbjo1MDAsd2FpdDp0cnVlLGZwczo1MH07QUpTLnVwZGF0ZSh0aGlzLm9wdGlvbnMsYSk7QUpTLmJpbmRNZXRob2RzKHRoaXMpfSxzZXRPcHRpb25zOmZ1bmN0aW9uKGEpe0FKUy51cGRhdGUodGhpcy5vcHRpb25zLGEpfSxzdGVwOmZ1bmN0aW9uKCl7dmFyIGE9bmV3IERhdGUoKS5nZXRUaW1lKCk7aWYoYTx0aGlzLnRpbWUrdGhpcy5vcHRpb25zLmR1cmF0aW9uKXt0aGlzLmNUaW1lPWEtdGhpcy50aW1lO3RoaXMuc2V0Tm93KCl9ZWxzZXtzZXRUaW1lb3V0KEFKUy4kYih0aGlzLm9wdGlvbnMub25Db21wbGV0ZSx0aGlzLFt0aGlzLmVsbV0pLDEwKTt0aGlzLmNsZWFyVGltZXIoKTt0aGlzLm5vdz10aGlzLnRvfXRoaXMuaW5jcmVhc2UoKX0sc2V0Tm93OmZ1bmN0aW9uKCl7dGhpcy5ub3c9dGhpcy5jb21wdXRlKHRoaXMuZnJvbSx0aGlzLnRvKX0sY29tcHV0ZTpmdW5jdGlvbihjLGIpe3ZhciBhPWItYztyZXR1cm4gdGhpcy5vcHRpb25zLnRyYW5zaXRpb24odGhpcy5jVGltZSxjLGEsdGhpcy5vcHRpb25zLmR1cmF0aW9uKX0sY2xlYXJUaW1lcjpmdW5jdGlvbigpe2NsZWFySW50ZXJ2YWwodGhpcy50aW1lcik7dGhpcy50aW1lcj1udWxsO3JldHVybiB0aGlzfSxfc3RhcnQ6ZnVuY3Rpb24oYixhKXtpZighdGhpcy5vcHRpb25zLndhaXQpe3RoaXMuY2xlYXJUaW1lcigpfWlmKHRoaXMudGltZXIpe3JldHVybn1zZXRUaW1lb3V0KEFKUy4kcCh0aGlzLm9wdGlvbnMub25TdGFydCx0aGlzLmVsbSksMTApO3RoaXMuZnJvbT1iO3RoaXMudG89YTt0aGlzLnRpbWU9bmV3IERhdGUoKS5nZXRUaW1lKCk7dGhpcy50aW1lcj1zZXRJbnRlcnZhbCh0aGlzLnN0ZXAsTWF0aC5yb3VuZCgxMDAwL3RoaXMub3B0aW9ucy5mcHMpKTtyZXR1cm4gdGhpc30sY3VzdG9tOmZ1bmN0aW9uKGIsYSl7cmV0dXJuIHRoaXMuX3N0YXJ0KGIsYSl9LHNldDpmdW5jdGlvbihhKXt0aGlzLm5vdz1hO3RoaXMuaW5jcmVhc2UoKTtyZXR1cm4gdGhpc30sc2V0U3R5bGU6ZnVuY3Rpb24oYyxhLGIpe2lmKHRoaXMucHJvcGVydHk9PSJvcGFjaXR5Iil7QUpTLnNldE9wYWNpdHkoYyxiKX1lbHNle0FKUy5zZXRTdHlsZShjLGEsYil9fX0pO0FKUy5meC5TdHlsZT1BSlMuZnguQmFzZS5leHRlbmQoe2luaXQ6ZnVuY3Rpb24oYyxiLGEpe3RoaXMucGFyZW50KCk7dGhpcy5lbG09Yzt0aGlzLnNldE9wdGlvbnMoYSk7dGhpcy5wcm9wZXJ0eT1ifSxpbmNyZWFzZTpmdW5jdGlvbigpe3RoaXMuc2V0U3R5bGUodGhpcy5lbG0sdGhpcy5wcm9wZXJ0eSx0aGlzLm5vdyl9fSk7QUpTLmZ4LlN0eWxlcz1BSlMuZnguQmFzZS5leHRlbmQoe2luaXQ6ZnVuY3Rpb24oYixhKXt0aGlzLnBhcmVudCgpO3RoaXMuZWxtPUFKUy4kKGIpO3RoaXMuc2V0T3B0aW9ucyhhKTt0aGlzLm5vdz17fX0sc2V0Tm93OmZ1bmN0aW9uKCl7Zm9yKHAgaW4gdGhpcy5mcm9tKXt0aGlzLm5vd1twXT10aGlzLmNvbXB1dGUodGhpcy5mcm9tW3BdLHRoaXMudG9bcF0pfX0sY3VzdG9tOmZ1bmN0aW9uKGEpe2lmKHRoaXMudGltZXImJnRoaXMub3B0aW9ucy53YWl0KXtyZXR1cm59dmFyIGM9e307dmFyIGI9e307Zm9yKHAgaW4gYSl7Y1twXT1hW3BdWzBdO2JbcF09YVtwXVsxXX1yZXR1cm4gdGhpcy5fc3RhcnQoYyxiKX0saW5jcmVhc2U6ZnVuY3Rpb24oKXtmb3IodmFyIGEgaW4gdGhpcy5ub3cpe3RoaXMuc2V0U3R5bGUodGhpcy5lbG0sYSx0aGlzLm5vd1thXSl9fX0pO0FKUy5meC5UcmFuc2l0aW9ucz17bGluZWFyOmZ1bmN0aW9uKGUsYSxnLGYpe3JldHVybiBnKmUvZithfSxzaW5lSW5PdXQ6ZnVuY3Rpb24oZSxhLGcsZil7cmV0dXJuIC1nLzIqKE1hdGguY29zKE1hdGguUEkqZS9mKS0xKSthfX07c2NyaXB0X2xvYWRlZD10cnVlOwpzY3JpcHRfbG9hZGVkPXRydWU7]]></data>
	</file>
	<file>
	  <filename>/style/greybox/gb_scripts.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dmFyIEdCX0NVUlJFTlQ9bnVsbDtHQl9oaWRlPWZ1bmN0aW9uKGEpe0dCX0NVUlJFTlQuaGlkZShhKX07R3JleUJveD1uZXcgQUpTLkNsYXNzKHtpbml0OmZ1bmN0aW9uKGMpe3RoaXMudXNlX2Z4PUFKUy5meDt0aGlzLnR5cGU9InBhZ2UiO3RoaXMub3ZlcmxheV9jbGlja19jbG9zZT1mYWxzZTt0aGlzLnNhbHQ9MDt0aGlzLnJvb3RfZGlyPUdCX1JPT1RfRElSO3RoaXMuY2FsbGJhY2tfZm5zPVtdO3RoaXMucmVsb2FkX29uX2Nsb3NlPWZhbHNlO3RoaXMuc3JjX2xvYWRlcj10aGlzLnJvb3RfZGlyKyJsb2FkZXJfZnJhbWUuaHRtbCI7dmFyIGI9d2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLmluZGV4T2YoInd3dyIpO3ZhciBhPXRoaXMuc3JjX2xvYWRlci5pbmRleE9mKCJ3d3ciKTtpZihiIT0tMSYmYT09LTEpe3RoaXMuc3JjX2xvYWRlcj10aGlzLnNyY19sb2FkZXIucmVwbGFjZSgiOi8vIiwiOi8vd3d3LiIpfWlmKGI9PS0xJiZhIT0tMSl7dGhpcy5zcmNfbG9hZGVyPXRoaXMuc3JjX2xvYWRlci5yZXBsYWNlKCI6Ly93d3cuIiwiOi8vIil9dGhpcy5zaG93X2xvYWRpbmc9dHJ1ZTtBSlMudXBkYXRlKHRoaXMsYyl9LGFkZENhbGxiYWNrOmZ1bmN0aW9uKGEpe2lmKGEpe3RoaXMuY2FsbGJhY2tfZm5zLnB1c2goYSl9fSxzaG93OmZ1bmN0aW9uKGEpe0dCX0NVUlJFTlQ9dGhpczt0aGlzLnVybD1hO3ZhciBiPVtBSlMuJGJ5dGMoIm9iamVjdCIpLEFKUy4kYnl0Yygic2VsZWN0IildO0FKUy5tYXAoQUpTLmZsYXR0ZW5MaXN0KGIpLGZ1bmN0aW9uKGMpe2Muc3R5bGUudmlzaWJpbGl0eT0iaGlkZGVuIn0pO3RoaXMuY3JlYXRlRWxlbWVudHMoKTtyZXR1cm4gZmFsc2V9LGhpZGU6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcztzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dmFyIGQ9Yi5jYWxsYmFja19mbnM7aWYoZCE9W10pe0FKUy5tYXAoZCxmdW5jdGlvbihmKXtmKCl9KX1iLm9uSGlkZSgpO2lmKGIudXNlX2Z4KXt2YXIgZT1iLm92ZXJsYXk7QUpTLmZ4LmZhZGVPdXQoYi5vdmVybGF5LHtvbkNvbXBsZXRlOmZ1bmN0aW9uKCl7QUpTLnJlbW92ZUVsZW1lbnQoZSk7ZT1udWxsfSxkdXJhdGlvbjozMDB9KTtBSlMucmVtb3ZlRWxlbWVudChiLmdfd2luZG93KX1lbHNle0FKUy5yZW1vdmVFbGVtZW50KGIuZ193aW5kb3csYi5vdmVybGF5KX1iLnJlbW92ZUZyYW1lKCk7QUpTLlJFVih3aW5kb3csInNjcm9sbCIsX0dCX3NldE92ZXJsYXlEaW1lbnNpb24pO0FKUy5SRVYod2luZG93LCJyZXNpemUiLF9HQl91cGRhdGUpO3ZhciBjPVtBSlMuJGJ5dGMoIm9iamVjdCIpLEFKUy4kYnl0Yygic2VsZWN0IildO0FKUy5tYXAoQUpTLmZsYXR0ZW5MaXN0KGMpLGZ1bmN0aW9uKGYpe2Yuc3R5bGUudmlzaWJpbGl0eT0idmlzaWJsZSJ9KTtHQl9DVVJSRU5UPW51bGw7aWYoYi5yZWxvYWRfb25fY2xvc2Upe3dpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKX1pZihBSlMuaXNGdW5jdGlvbihhKSl7YSgpfX0sMTApfSx1cGRhdGU6ZnVuY3Rpb24oKXt0aGlzLnNldE92ZXJsYXlEaW1lbnNpb24oKTt0aGlzLnNldEZyYW1lU2l6ZSgpO3RoaXMuc2V0V2luZG93UG9zaXRpb24oKX0sY3JlYXRlRWxlbWVudHM6ZnVuY3Rpb24oKXt0aGlzLmluaXRPdmVybGF5KCk7dGhpcy5nX3dpbmRvdz1BSlMuRElWKHtpZDoiR0Jfd2luZG93In0pO0FKUy5oaWRlRWxlbWVudCh0aGlzLmdfd2luZG93KTtBSlMuZ2V0Qm9keSgpLmluc2VydEJlZm9yZSh0aGlzLmdfd2luZG93LHRoaXMub3ZlcmxheS5uZXh0U2libGluZyk7dGhpcy5pbml0RnJhbWUoKTt0aGlzLmluaXRIb29rKCk7dGhpcy51cGRhdGUoKTt2YXIgYT10aGlzO2lmKHRoaXMudXNlX2Z4KXtBSlMuZnguZmFkZUluKHRoaXMub3ZlcmxheSx7ZHVyYXRpb246MzAwLHRvOjAuNyxvbkNvbXBsZXRlOmZ1bmN0aW9uKCl7YS5vblNob3coKTtBSlMuc2hvd0VsZW1lbnQoYS5nX3dpbmRvdyk7YS5zdGFydExvYWRpbmcoKX19KX1lbHNle0FKUy5zZXRPcGFjaXR5KHRoaXMub3ZlcmxheSwwLjcpO0FKUy5zaG93RWxlbWVudCh0aGlzLmdfd2luZG93KTt0aGlzLm9uU2hvdygpO3RoaXMuc3RhcnRMb2FkaW5nKCl9QUpTLkFFVih3aW5kb3csInNjcm9sbCIsX0dCX3NldE92ZXJsYXlEaW1lbnNpb24pO0FKUy5BRVYod2luZG93LCJyZXNpemUiLF9HQl91cGRhdGUpfSxyZW1vdmVGcmFtZTpmdW5jdGlvbigpe3RyeXtBSlMucmVtb3ZlRWxlbWVudCh0aGlzLmlmcmFtZSl9Y2F0Y2goYSl7fXRoaXMuaWZyYW1lPW51bGx9LHN0YXJ0TG9hZGluZzpmdW5jdGlvbigpe3RoaXMuaWZyYW1lLnNyYz10aGlzLnNyY19sb2FkZXIrIj9zPSIrdGhpcy5zYWx0Kys7QUpTLnNob3dFbGVtZW50KHRoaXMuaWZyYW1lKX0sc2V0T3ZlcmxheURpbWVuc2lvbjpmdW5jdGlvbigpe3ZhciBiPUFKUy5nZXRXaW5kb3dTaXplKCk7aWYoQUpTLmlzTW96aWxsYSgpfHxBSlMuaXNPcGVyYSgpKXtBSlMuc2V0V2lkdGgodGhpcy5vdmVybGF5LCIxMDAlIil9ZWxzZXtBSlMuc2V0V2lkdGgodGhpcy5vdmVybGF5LGIudyl9dmFyIGE9TWF0aC5tYXgoQUpTLmdldFNjcm9sbFRvcCgpK2IuaCxBSlMuZ2V0U2Nyb2xsVG9wKCkrdGhpcy5oZWlnaHQpO2lmKGE8QUpTLmdldFNjcm9sbFRvcCgpKXtBSlMuc2V0SGVpZ2h0KHRoaXMub3ZlcmxheSxhKX1lbHNle0FKUy5zZXRIZWlnaHQodGhpcy5vdmVybGF5LEFKUy5nZXRTY3JvbGxUb3AoKStiLmgpfX0saW5pdE92ZXJsYXk6ZnVuY3Rpb24oKXt0aGlzLm92ZXJsYXk9QUpTLkRJVih7aWQ6IkdCX292ZXJsYXkifSk7aWYodGhpcy5vdmVybGF5X2NsaWNrX2Nsb3NlKXtBSlMuQUVWKHRoaXMub3ZlcmxheSwiY2xpY2siLEdCX2hpZGUpfUFKUy5zZXRPcGFjaXR5KHRoaXMub3ZlcmxheSwwKTtBSlMuZ2V0Qm9keSgpLmluc2VydEJlZm9yZSh0aGlzLm92ZXJsYXksQUpTLmdldEJvZHkoKS5maXJzdENoaWxkKX0saW5pdEZyYW1lOmZ1bmN0aW9uKCl7aWYoIXRoaXMuaWZyYW1lKXt2YXIgYT17bmFtZToiR0JfZnJhbWUiLCJjbGFzcyI6IkdCX2ZyYW1lIixmcmFtZUJvcmRlcjowfTtpZihBSlMuaXNJZSgpKXthLnNyYz0namF2YXNjcmlwdDpmYWxzZTtkb2N1bWVudC53cml0ZSgiIik7J310aGlzLmlmcmFtZT1BSlMuSUZSQU1FKGEpO3RoaXMubWlkZGxlX2NudD1BSlMuRElWKHsiY2xhc3MiOiJjb250ZW50In0sdGhpcy5pZnJhbWUpO3RoaXMudG9wX2NudD1BSlMuRElWKCk7dGhpcy5ib3R0b21fY250PUFKUy5ESVYoKTtBSlMuQUNOKHRoaXMuZ193aW5kb3csdGhpcy50b3BfY250LHRoaXMubWlkZGxlX2NudCx0aGlzLmJvdHRvbV9jbnQpfX0sb25IaWRlOmZ1bmN0aW9uKCl7fSxvblNob3c6ZnVuY3Rpb24oKXt9LHNldEZyYW1lU2l6ZTpmdW5jdGlvbigpe30sc2V0V2luZG93UG9zaXRpb246ZnVuY3Rpb24oKXt9LGluaXRIb29rOmZ1bmN0aW9uKCl7fX0pO19HQl91cGRhdGU9ZnVuY3Rpb24oKXtpZihHQl9DVVJSRU5UKXtHQl9DVVJSRU5ULnVwZGF0ZSgpfX07X0dCX3NldE92ZXJsYXlEaW1lbnNpb249ZnVuY3Rpb24oKXtpZihHQl9DVVJSRU5UKXtHQl9DVVJSRU5ULnNldE92ZXJsYXlEaW1lbnNpb24oKX19O0FKUy5wcmVsb2FkSW1hZ2VzKEdCX1JPT1RfRElSKyJpbmRpY2F0b3IuZ2lmIik7c2NyaXB0X2xvYWRlZD10cnVlO3ZhciBHQl9TRVRTPXt9O2Z1bmN0aW9uIGRlY29HcmV5Ym94TGlua3MoKXt2YXIgYT1BSlMuJGJ5dGMoImEiKTtBSlMubWFwKGEsZnVuY3Rpb24oYyl7aWYoYy5nZXRBdHRyaWJ1dGUoImhyZWYiKSYmYy5nZXRBdHRyaWJ1dGUoInJlbCIpKXt2YXIgYj1jLmdldEF0dHJpYnV0ZSgicmVsIik7aWYoYi5pbmRleE9mKCJnYl8iKT09MCl7dmFyIGY9Yi5tYXRjaCgvXHcrLylbMF07dmFyIGU9Yi5tYXRjaCgvXFsoLiopXF0vKVsxXTt2YXIgZD0wO3ZhciBnPXtjYXB0aW9uOmMudGl0bGV8fCIiLHVybDpjLmhyZWZ9O2lmKGY9PSJnYl9wYWdlc2V0Inx8Zj09ImdiX2ltYWdlc2V0Iil7aWYoIUdCX1NFVFNbZV0pe0dCX1NFVFNbZV09W119R0JfU0VUU1tlXS5wdXNoKGcpO2Q9R0JfU0VUU1tlXS5sZW5ndGh9aWYoZj09ImdiX3BhZ2VzZXQiKXtjLm9uY2xpY2s9ZnVuY3Rpb24oKXtHQl9zaG93RnVsbFNjcmVlblNldChHQl9TRVRTW2VdLGQpO3JldHVybiBmYWxzZX19aWYoZj09ImdiX2ltYWdlc2V0Iil7Yy5vbmNsaWNrPWZ1bmN0aW9uKCl7R0Jfc2hvd0ltYWdlU2V0KEdCX1NFVFNbZV0sZCk7cmV0dXJuIGZhbHNlfX1pZihmPT0iZ2JfaW1hZ2UiKXtjLm9uY2xpY2s9ZnVuY3Rpb24oKXtHQl9zaG93SW1hZ2UoZy5jYXB0aW9uLGcudXJsKTtyZXR1cm4gZmFsc2V9fWlmKGY9PSJnYl9wYWdlIil7Yy5vbmNsaWNrPWZ1bmN0aW9uKCl7dmFyIGg9ZS5zcGxpdCgvLCA/Lyk7R0Jfc2hvdyhnLmNhcHRpb24sZy51cmwscGFyc2VJbnQoaFsxXSkscGFyc2VJbnQoaFswXSkpO3JldHVybiBmYWxzZX19aWYoZj09ImdiX3BhZ2VfZnMiKXtjLm9uY2xpY2s9ZnVuY3Rpb24oKXtHQl9zaG93RnVsbFNjcmVlbihnLmNhcHRpb24sZy51cmwpO3JldHVybiBmYWxzZX19aWYoZj09ImdiX3BhZ2VfY2VudGVyIil7Yy5vbmNsaWNrPWZ1bmN0aW9uKCl7dmFyIGg9ZS5zcGxpdCgvLCA/Lyk7R0Jfc2hvd0NlbnRlcihnLmNhcHRpb24sZy51cmwscGFyc2VJbnQoaFsxXSkscGFyc2VJbnQoaFswXSkpO3JldHVybiBmYWxzZX19fX19KX1BSlMuQUVWKHdpbmRvdywibG9hZCIsZGVjb0dyZXlib3hMaW5rcyk7R0Jfc2hvd0ltYWdlPWZ1bmN0aW9uKGEsYyxlKXt2YXIgYj17d2lkdGg6MzAwLGhlaWdodDozMDAsdHlwZToiaW1hZ2UiLGZ1bGxzY3JlZW46ZmFsc2UsY2VudGVyX3dpbjp0cnVlLGNhcHRpb246YSxjYWxsYmFja19mbjplfTt2YXIgZD1uZXcgR0JfR2FsbGVyeShiKTtyZXR1cm4gZC5zaG93KGMpfTtHQl9zaG93UGFnZT1mdW5jdGlvbihhLGMsZSl7dmFyIGI9e3R5cGU6InBhZ2UiLGNhcHRpb246YSxjYWxsYmFja19mbjplLGZ1bGxzY3JlZW46dHJ1ZSxjZW50ZXJfd2luOmZhbHNlfTt2YXIgZD1uZXcgR0JfR2FsbGVyeShiKTtyZXR1cm4gZC5zaG93KGMpfTtHQl9HYWxsZXJ5PUdyZXlCb3guZXh0ZW5kKHtpbml0OmZ1bmN0aW9uKGEpe3RoaXMucGFyZW50KHt9KTt0aGlzLmltZ19jbG9zZT10aGlzLnJvb3RfZGlyKyJnX2Nsb3NlLmdpZiI7QUpTLnVwZGF0ZSh0aGlzLGEpO3RoaXMuYWRkQ2FsbGJhY2sodGhpcy5jYWxsYmFja19mbil9LGluaXRIb29rOmZ1bmN0aW9uKCl7QUpTLmFkZENsYXNzKHRoaXMuZ193aW5kb3csIkdCX0dhbGxlcnkiKTt2YXIgYz1BSlMuRElWKHsiY2xhc3MiOiJpbm5lciJ9KTt0aGlzLmhlYWRlcj1BSlMuRElWKHsiY2xhc3MiOiJHQl9oZWFkZXIifSxjKTtBSlMuc2V0T3BhY2l0eSh0aGlzLmhlYWRlciwwKTtBSlMuZ2V0Qm9keSgpLmluc2VydEJlZm9yZSh0aGlzLmhlYWRlcix0aGlzLm92ZXJsYXkubmV4dFNpYmxpbmcpO3ZhciBlPUFKUy5URCh7aWQ6IkdCX2NhcHRpb24iLCJjbGFzcyI6ImNhcHRpb24iLHdpZHRoOiI0MCUifSx0aGlzLmNhcHRpb24pO3ZhciBiPUFKUy5URCh7aWQ6IkdCX21pZGRsZSIsImNsYXNzIjoibWlkZGxlIix3aWR0aDoiMjAlIn0pO3ZhciBmPUFKUy5JTUcoe3NyYzp0aGlzLmltZ19jbG9zZX0pO0FKUy5BRVYoZiwiY2xpY2siLEdCX2hpZGUpO3ZhciBhPUFKUy5URCh7ImNsYXNzIjoiY2xvc2UiLHdpZHRoOiI0MCUifSxmKTt2YXIgZD1BSlMuVEJPRFkoQUpTLlRSKGUsYixhKSk7dmFyIGc9QUpTLlRBQkxFKHtjZWxsc3BhY2luZzoiMCIsY2VsbHBhZGRpbmc6MCxib3JkZXI6MH0sZCk7QUpTLkFDTihjLGcpO2lmKHRoaXMuZnVsbHNjcmVlbil7QUpTLkFFVih3aW5kb3csInNjcm9sbCIsQUpTLiRiKHRoaXMuc2V0V2luZG93UG9zaXRpb24sdGhpcykpfWVsc2V7QUpTLkFFVih3aW5kb3csInNjcm9sbCIsQUpTLiRiKHRoaXMuX3NldEhlYWRlclBvcyx0aGlzKSl9fSxzZXRGcmFtZVNpemU6ZnVuY3Rpb24oKXt2YXIgYj10aGlzLm92ZXJsYXkub2Zmc2V0V2lkdGg7dmFyIGE9QUpTLmdldFdpbmRvd1NpemUoKTtpZih0aGlzLmZ1bGxzY3JlZW4pe3RoaXMud2lkdGg9Yi00MDt0aGlzLmhlaWdodD1hLmgtODB9QUpTLnNldFdpZHRoKHRoaXMuaWZyYW1lLHRoaXMud2lkdGgpO0FKUy5zZXRIZWlnaHQodGhpcy5pZnJhbWUsdGhpcy5oZWlnaHQpO0FKUy5zZXRXaWR0aCh0aGlzLmhlYWRlcixiKX0sX3NldEhlYWRlclBvczpmdW5jdGlvbigpe0FKUy5zZXRUb3AodGhpcy5oZWFkZXIsQUpTLmdldFNjcm9sbFRvcCgpKzEwKX0sc2V0V2luZG93UG9zaXRpb246ZnVuY3Rpb24oKXt2YXIgYz10aGlzLm92ZXJsYXkub2Zmc2V0V2lkdGg7dmFyIGE9QUpTLmdldFdpbmRvd1NpemUoKTtBSlMuc2V0TGVmdCh0aGlzLmdfd2luZG93LCgoYy01MC10aGlzLndpZHRoKS8yKSk7dmFyIGQ9QUpTLmdldFNjcm9sbFRvcCgpKzU1O2lmKCF0aGlzLmNlbnRlcl93aW4pe0FKUy5zZXRUb3AodGhpcy5nX3dpbmRvdyxkKX1lbHNle3ZhciBiPSgoYS5oLXRoaXMuaGVpZ2h0KS8yKSsyMCtBSlMuZ2V0U2Nyb2xsVG9wKCk7aWYoYjwwKXtiPTB9aWYoZD5iKXtiPWR9QUpTLnNldFRvcCh0aGlzLmdfd2luZG93LGIpfXRoaXMuX3NldEhlYWRlclBvcygpfSxvbkhpZGU6ZnVuY3Rpb24oKXtBSlMucmVtb3ZlRWxlbWVudCh0aGlzLmhlYWRlcik7QUpTLnJlbW92ZUNsYXNzKHRoaXMuZ193aW5kb3csIkdCX0dhbGxlcnkiKX0sb25TaG93OmZ1bmN0aW9uKCl7aWYodGhpcy51c2VfZngpe0FKUy5meC5mYWRlSW4odGhpcy5oZWFkZXIse3RvOjF9KX1lbHNle0FKUy5zZXRPcGFjaXR5KHRoaXMuaGVhZGVyLDEpfX19KTtBSlMucHJlbG9hZEltYWdlcyhHQl9ST09UX0RJUisiZ19jbG9zZS5naWYiKTtHQl9zaG93RnVsbFNjcmVlblNldD1mdW5jdGlvbihlLGEsZCl7dmFyIGI9e3R5cGU6InBhZ2UiLGZ1bGxzY3JlZW46dHJ1ZSxjZW50ZXJfd2luOmZhbHNlfTt2YXIgYz1uZXcgR0JfU2V0cyhiLGUpO2MuYWRkQ2FsbGJhY2soZCk7Yy5zaG93U2V0KGEtMSk7cmV0dXJuIGZhbHNlfTtHQl9zaG93SW1hZ2VTZXQ9ZnVuY3Rpb24oZSxhLGQpe3ZhciBiPXt0eXBlOiJpbWFnZSIsZnVsbHNjcmVlbjpmYWxzZSxjZW50ZXJfd2luOnRydWUsd2lkdGg6MzAwLGhlaWdodDozMDB9O3ZhciBjPW5ldyBHQl9TZXRzKGIsZSk7Yy5hZGRDYWxsYmFjayhkKTtjLnNob3dTZXQoYS0xKTtyZXR1cm4gZmFsc2V9O0dCX1NldHM9R0JfR2FsbGVyeS5leHRlbmQoe2luaXQ6ZnVuY3Rpb24oYSxiKXt0aGlzLnBhcmVudChhKTtpZighdGhpcy5pbWdfbmV4dCl7dGhpcy5pbWdfbmV4dD10aGlzLnJvb3RfZGlyKyJuZXh0LmdpZiJ9aWYoIXRoaXMuaW1nX3ByZXYpe3RoaXMuaW1nX3ByZXY9dGhpcy5yb290X2RpcisicHJldi5naWYifXRoaXMuY3VycmVudF9zZXQ9Yn0sc2hvd1NldDpmdW5jdGlvbihhKXt0aGlzLmN1cnJlbnRfaW5kZXg9YTt2YXIgYj10aGlzLmN1cnJlbnRfc2V0W3RoaXMuY3VycmVudF9pbmRleF07dGhpcy5zaG93KGIudXJsKTt0aGlzLl9zZXRDYXB0aW9uKGIuY2FwdGlvbik7dGhpcy5idG5fcHJldj1BSlMuSU1HKHsiY2xhc3MiOiJsZWZ0IixzcmM6dGhpcy5pbWdfcHJldn0pO3RoaXMuYnRuX25leHQ9QUpTLklNRyh7ImNsYXNzIjoicmlnaHQiLHNyYzp0aGlzLmltZ19uZXh0fSk7QUpTLkFFVih0aGlzLmJ0bl9wcmV2LCJjbGljayIsQUpTLiRiKHRoaXMuc3dpdGNoUHJldix0aGlzKSk7QUpTLkFFVih0aGlzLmJ0bl9uZXh0LCJjbGljayIsQUpTLiRiKHRoaXMuc3dpdGNoTmV4dCx0aGlzKSk7R0JfU1RBVFVTPUFKUy5TUEFOKHsiY2xhc3MiOiJHQl9uYXZTdGF0dXMifSk7QUpTLkFDTihBSlMuJCgiR0JfbWlkZGxlIiksdGhpcy5idG5fcHJldixHQl9TVEFUVVMsdGhpcy5idG5fbmV4dCk7dGhpcy51cGRhdGVTdGF0dXMoKX0sdXBkYXRlU3RhdHVzOmZ1bmN0aW9uKCl7QUpTLnNldEhUTUwoR0JfU1RBVFVTLCh0aGlzLmN1cnJlbnRfaW5kZXgrMSkrIiAvICIrdGhpcy5jdXJyZW50X3NldC5sZW5ndGgpO2lmKHRoaXMuY3VycmVudF9pbmRleD09MCl7QUpTLmFkZENsYXNzKHRoaXMuYnRuX3ByZXYsImRpc2FibGVkIil9ZWxzZXtBSlMucmVtb3ZlQ2xhc3ModGhpcy5idG5fcHJldiwiZGlzYWJsZWQiKX1pZih0aGlzLmN1cnJlbnRfaW5kZXg9PXRoaXMuY3VycmVudF9zZXQubGVuZ3RoLTEpe0FKUy5hZGRDbGFzcyh0aGlzLmJ0bl9uZXh0LCJkaXNhYmxlZCIpfWVsc2V7QUpTLnJlbW92ZUNsYXNzKHRoaXMuYnRuX25leHQsImRpc2FibGVkIil9fSxfc2V0Q2FwdGlvbjpmdW5jdGlvbihhKXtBSlMuc2V0SFRNTChBSlMuJCgiR0JfY2FwdGlvbiIpLGEpfSx1cGRhdGVGcmFtZTpmdW5jdGlvbigpe3ZhciBhPXRoaXMuY3VycmVudF9zZXRbdGhpcy5jdXJyZW50X2luZGV4XTt0aGlzLl9zZXRDYXB0aW9uKGEuY2FwdGlvbik7dGhpcy51cmw9YS51cmw7dGhpcy5zdGFydExvYWRpbmcoKX0sc3dpdGNoUHJldjpmdW5jdGlvbigpe2lmKHRoaXMuY3VycmVudF9pbmRleCE9MCl7dGhpcy5jdXJyZW50X2luZGV4LS07dGhpcy51cGRhdGVGcmFtZSgpO3RoaXMudXBkYXRlU3RhdHVzKCl9fSxzd2l0Y2hOZXh0OmZ1bmN0aW9uKCl7aWYodGhpcy5jdXJyZW50X2luZGV4IT10aGlzLmN1cnJlbnRfc2V0Lmxlbmd0aC0xKXt0aGlzLmN1cnJlbnRfaW5kZXgrKzt0aGlzLnVwZGF0ZUZyYW1lKCk7dGhpcy51cGRhdGVTdGF0dXMoKX19fSk7QUpTLkFFVih3aW5kb3csImxvYWQiLGZ1bmN0aW9uKCl7QUpTLnByZWxvYWRJbWFnZXMoR0JfUk9PVF9ESVIrIm5leHQuZ2lmIixHQl9ST09UX0RJUisicHJldi5naWYiKX0pO0dCX3Nob3c9ZnVuY3Rpb24oYixkLGEsZSxnKXt2YXIgYz17Y2FwdGlvbjpiLGhlaWdodDphfHw1MDAsd2lkdGg6ZXx8NTAwLGZ1bGxzY3JlZW46ZmFsc2UsY2FsbGJhY2tfZm46Z307dmFyIGY9bmV3IEdCX1dpbmRvdyhjKTtyZXR1cm4gZi5zaG93KGQpfTtHQl9zaG93Q2VudGVyPWZ1bmN0aW9uKGIsZCxhLGUsZyl7dmFyIGM9e2NhcHRpb246YixjZW50ZXJfd2luOnRydWUsaGVpZ2h0OmF8fDUwMCx3aWR0aDplfHw1MDAsZnVsbHNjcmVlbjpmYWxzZSxjYWxsYmFja19mbjpnfTt2YXIgZj1uZXcgR0JfV2luZG93KGMpO3JldHVybiBmLnNob3coZCl9O0dCX3Nob3dGdWxsU2NyZWVuPWZ1bmN0aW9uKGEsYyxlKXt2YXIgYj17Y2FwdGlvbjphLGZ1bGxzY3JlZW46dHJ1ZSxjYWxsYmFja19mbjplfTt2YXIgZD1uZXcgR0JfV2luZG93KGIpO3JldHVybiBkLnNob3coYyl9O0dCX1dpbmRvdz1HcmV5Qm94LmV4dGVuZCh7aW5pdDpmdW5jdGlvbihhKXt0aGlzLnBhcmVudCh7fSk7dGhpcy5pbWdfaGVhZGVyPXRoaXMucm9vdF9kaXIrImhlYWRlcl9iZy5naWYiO3RoaXMuaW1nX2Nsb3NlPXRoaXMucm9vdF9kaXIrIndfY2xvc2UuZ2lmIjt0aGlzLnNob3dfY2xvc2VfaW1nPXRydWU7QUpTLnVwZGF0ZSh0aGlzLGEpO3RoaXMuYWRkQ2FsbGJhY2sodGhpcy5jYWxsYmFja19mbil9LGluaXRIb29rOmZ1bmN0aW9uKCl7QUpTLmFkZENsYXNzKHRoaXMuZ193aW5kb3csIkdCX1dpbmRvdyIpO3RoaXMuaGVhZGVyPUFKUy5UQUJMRSh7ImNsYXNzIjoiaGVhZGVyIn0pO3RoaXMuaGVhZGVyLnN0eWxlLmJhY2tncm91bmRJbWFnZT0idXJsKCIrdGhpcy5pbWdfaGVhZGVyKyIpIjt2YXIgYj1BSlMuVEQoeyJjbGFzcyI6ImNhcHRpb24ifSx0aGlzLmNhcHRpb24pO3ZhciBhPUFKUy5URCh7ImNsYXNzIjoiY2xvc2UifSk7aWYodGhpcy5zaG93X2Nsb3NlX2ltZyl7dmFyIGU9QUpTLklNRyh7c3JjOnRoaXMuaW1nX2Nsb3NlfSk7dmFyIGQ9QUpTLlNQQU4oIkNsb3NlIik7dmFyIGM9QUpTLkRJVihlLGQpO0FKUy5BRVYoW2UsZF0sIm1vdXNlb3ZlciIsZnVuY3Rpb24oKXtBSlMuYWRkQ2xhc3MoZCwib24iKX0pO0FKUy5BRVYoW2UsZF0sIm1vdXNlb3V0IixmdW5jdGlvbigpe0FKUy5yZW1vdmVDbGFzcyhkLCJvbiIpfSk7QUpTLkFFVihbZSxkXSwibW91c2Vkb3duIixmdW5jdGlvbigpe0FKUy5hZGRDbGFzcyhkLCJjbGljayIpfSk7QUpTLkFFVihbZSxkXSwibW91c2V1cCIsZnVuY3Rpb24oKXtBSlMucmVtb3ZlQ2xhc3MoZCwiY2xpY2siKX0pO0FKUy5BRVYoW2UsZF0sImNsaWNrIixHQl9oaWRlKTtBSlMuQUNOKGEsYyl9dGJvZHlfaGVhZGVyPUFKUy5UQk9EWSgpO0FKUy5BQ04odGJvZHlfaGVhZGVyLEFKUy5UUihiLGEpKTtBSlMuQUNOKHRoaXMuaGVhZGVyLHRib2R5X2hlYWRlcik7QUpTLkFDTih0aGlzLnRvcF9jbnQsdGhpcy5oZWFkZXIpO2lmKHRoaXMuZnVsbHNjcmVlbil7QUpTLkFFVih3aW5kb3csInNjcm9sbCIsQUpTLiRiKHRoaXMuc2V0V2luZG93UG9zaXRpb24sdGhpcykpfX0sc2V0RnJhbWVTaXplOmZ1bmN0aW9uKCl7aWYodGhpcy5mdWxsc2NyZWVuKXt2YXIgYT1BSlMuZ2V0V2luZG93U2l6ZSgpO292ZXJsYXlfaD1hLmg7dGhpcy53aWR0aD1NYXRoLnJvdW5kKHRoaXMub3ZlcmxheS5vZmZzZXRXaWR0aC0odGhpcy5vdmVybGF5Lm9mZnNldFdpZHRoLzEwMCkqMTApO3RoaXMuaGVpZ2h0PU1hdGgucm91bmQob3ZlcmxheV9oLShvdmVybGF5X2gvMTAwKSoxMCl9QUpTLnNldFdpZHRoKHRoaXMuaGVhZGVyLHRoaXMud2lkdGgrNik7QUpTLnNldFdpZHRoKHRoaXMuaWZyYW1lLHRoaXMud2lkdGgpO0FKUy5zZXRIZWlnaHQodGhpcy5pZnJhbWUsdGhpcy5oZWlnaHQpfSxzZXRXaW5kb3dQb3NpdGlvbjpmdW5jdGlvbigpe3ZhciBhPUFKUy5nZXRXaW5kb3dTaXplKCk7QUpTLnNldExlZnQodGhpcy5nX3dpbmRvdywoKGEudy10aGlzLndpZHRoKS8yKS0xMyk7aWYoIXRoaXMuY2VudGVyX3dpbil7QUpTLnNldFRvcCh0aGlzLmdfd2luZG93LEFKUy5nZXRTY3JvbGxUb3AoKSl9ZWxzZXt2YXIgYj0oKGEuaC10aGlzLmhlaWdodCkvMiktMjArQUpTLmdldFNjcm9sbFRvcCgpO2lmKGI8MCl7Yj0wfUFKUy5zZXRUb3AodGhpcy5nX3dpbmRvdyxiKX19fSk7QUpTLnByZWxvYWRJbWFnZXMoR0JfUk9PVF9ESVIrIndfY2xvc2UuZ2lmIixHQl9ST09UX0RJUisiaGVhZGVyX2JnLmdpZiIpOwpzY3JpcHRfbG9hZGVkPXRydWU7]]></data>
	</file>
	<file>
	  <filename>/style/greybox/gb_styles.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogTGFzdC1Nb2RpZmllZDogMjgvMDYvMDYgMDA6MDg6MjIgKi8KI0dCX292ZXJsYXkgewogICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIG1hcmdpbjogYXV0bzsKICAgIHRvcDogMDsKICAgIGxlZnQ6IDA7CiAgICB6LWluZGV4OiAxMDA7Cn0KCiNHQl93aW5kb3cgewogICAgbGVmdDogMDsKICAgIHRvcDogMDsKICAgIGZvbnQtc2l6ZTogMXB4OwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgb3ZlcmZsb3c6IHZpc2libGU7CiAgICB6LWluZGV4OiAxNTA7Cn0KCiNHQl93aW5kb3cgLmNvbnRlbnQgewogICAgd2lkdGg6IGF1dG87CiAgICBtYXJnaW46IDA7CiAgICBwYWRkaW5nOiAwOwp9CgojR0JfZnJhbWUgewogICAgYm9yZGVyOiAwOwogICAgbWFyZ2luOiAwOwogICAgcGFkZGluZzogMDsKICAgIG92ZXJmbG93OiBhdXRvOwogICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKfQoKCi5HQl9HYWxsZXJ5IHsKICAgIG1hcmdpbjogMCAxMHB4IDAgMTBweDsKfQoKLkdCX0dhbGxlcnkgLmNvbnRlbnQgewogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICAgIGJvcmRlcjogM3B4IHNvbGlkICNkZGQ7Cn0KCi5HQl9oZWFkZXIgewogICAgdG9wOiAxMHB4OwogICAgbGVmdDogMDsKICAgIG1hcmdpbjogMDsKICAgIHotaW5kZXg6IDUwMDsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjNTU1OwogICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICM1NTU7Cn0KCi5HQl9oZWFkZXIgLmlubmVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzM7CiAgICBmb250LWZhbWlseTogQXJpYWwsIFZlcmRhbmEsIHNhbnMtc2VyaWY7CiAgICBwYWRkaW5nOiAycHggMjBweCAycHggMjBweDsKfQoKLkdCX2hlYWRlciB0YWJsZSB7CiAgICBtYXJnaW46IDA7CiAgICB3aWR0aDogMTAwJTsKICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7Cn0KCi5HQl9oZWFkZXIgLmNhcHRpb24gewogICAgdGV4dC1hbGlnbjogbGVmdDsKICAgIGNvbG9yOiAjZWVlOwogICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgIGZvbnQtc2l6ZTogMjBweDsKfQoKLkdCX2hlYWRlciAuY2xvc2UgewogICAgdGV4dC1hbGlnbjogcmlnaHQ7Cn0KCi5HQl9oZWFkZXIgLmNsb3NlIGltZyB7CiAgICB6LWluZGV4OiA1MDA7CiAgICBjdXJzb3I6IHBvaW50ZXI7Cn0KCi5HQl9oZWFkZXIgLm1pZGRsZSB7CiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgdGV4dC1hbGlnbjogY2VudGVyOwp9CgoKI0dCX21pZGRsZSB7CiAgICBjb2xvcjogI2VlZTsKfQoKI0dCX21pZGRsZSBpbWcgewogICAgY3Vyc29yOiBwb2ludGVyOwogICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKfQoKI0dCX21pZGRsZSAuZGlzYWJsZWQgewogICAgY3Vyc29yOiBkZWZhdWx0Owp9CgojR0JfbWlkZGxlIC5sZWZ0IHsKICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7Cn0KCiNHQl9taWRkbGUgLnJpZ2h0IHsKICAgIHBhZGRpbmctbGVmdDogMTBweDsKfQoKCi5HQl9XaW5kb3cgLmNvbnRlbnQgewogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICAgIGJvcmRlcjogM3B4IHNvbGlkICNjY2M7CiAgICBib3JkZXItdG9wOiBub25lOwp9CgouR0JfV2luZG93IC5oZWFkZXIgewogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNhYWE7CiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzk5OTsKICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgI2NjYzsKICAgIGJvcmRlci1yaWdodDogM3B4IHNvbGlkICNjY2M7CiAgICBtYXJnaW46IDA7CgogICAgaGVpZ2h0OiAyMnB4OwogICAgZm9udC1zaXplOiAxMnB4OwogICAgcGFkZGluZzogM3B4IDA7CiAgICBjb2xvcjogIzMzMzsKfQoKLkdCX1dpbmRvdyAuY2FwdGlvbiB7CiAgICBmb250LXNpemU6IDEycHg7CiAgICB0ZXh0LWFsaWduOiBsZWZ0OwogICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgcGFkZGluZy1yaWdodDogMjBweDsKfQoKLkdCX1dpbmRvdyAuY2xvc2UgeyB0ZXh0LWFsaWduOiByaWdodDsgfQouR0JfV2luZG93IC5jbG9zZSBzcGFuIHsKICAgIGZvbnQtc2l6ZTogMTJweDsKICAgIGN1cnNvcjogcG9pbnRlcjsKfQouR0JfV2luZG93IC5jbG9zZSBpbWcgewogICAgY3Vyc29yOiBwb2ludGVyOwogICAgcGFkZGluZzogMCAzcHggMCAwOwp9CgouR0JfV2luZG93IC5vbiB7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMzMzOyB9Ci5HQl9XaW5kb3cgLmNsaWNrIHsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJlZDsgfQo=]]></data>
	</file>
	<file>
	  <filename>/style/greybox/g_close.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhGQAeANU8AP///5mZmZ+fn3R0dH19faenp56ennx8fPr6+s3NzczMzE9PT+Xl5T09PTU1Nezs7O/v76CgoHFxcVhYWNbW1oWFhYODg+np6fLy8vj4+Ovr6/n5+d/f36ysrLOzs9nZ2cbGxlxcXNra2jY2NoeHh9LS0ujo6MLCwkRERLu7u0NDQ/Hx8e3t7cHBwYKCgnNzc6ampu7u7k1NTVtbWz4+Pry8vMvLy7m5ub29vTQ0NL+/vz8/PzMzMwAAAAAAAAAAACH5BAEAADwALAAAAAAZAB4AAAb/QJ5wSCwaj8ikctiYSFwVl2TSWA5lh4B2uz0slI6BVpCimDQmSkqgHTiODULAYEMA7ngAImEIEKpEDnIFEHmGdxAFfjlEYgUZh5EZigNDC3OFkZExfV88WQl4HAoKJXgbpAoPdwkBBzwqARF2dxtsAQp3N1oeeAgRASohAS2GDFsPH2MYeS0BM2IihyBaMLcchsovFgEXkR1cOocXARYkASyR1FsfhywBJNzexlwBAhuG5BbRhrZaIOAC9MojIsCAYScMedDSAQCGW7nwnAgQAoUsWgBKLLvDAdmdXwFQfAoQ6g6Dk8zwPDi5CkCrVzwuGcikyRCETkMcQaqJZ5LBOkCDVvAEsEIRgTdE4sxJgDHPnj5/jowQY68GBQ1YKeC4NWCEkgVZ6nXxZIWGkwpop+ywwrat27dsgwAAOw==]]></data>
	</file>
	<file>
	  <filename>/style/greybox/header_bg.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlh3wAjAMQAAPr6+tPT0+vr6+Pj49vb2/X19c3Nze/w7+Dg4d/e3unp6Ojn6Ofo597e3ufm5uDf4Obm5ujp6d/g3+Hg4Pf29+7u7vn4+O/u7vf4+O/w8PHx8fPz89jY2Pz8/M/Pz////yH5BAAAAAAALAAAAADfACMAAAX/oCGOZGmeaKqubOu+cCzPdG3feK7vfL96wKBwSCwaj8ikcslsOp/QqHS6DFCL1qt2y+0Ks15kYEwum8/otHrNbrvf8Lh8Tq/b7/i8fs/v+/+AgYKDhIVkHIiJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqORBKanpxyoqKqrrq8EiKatsKyttLWzsbu0t7m/tbjAqcPFu8HGycrLzM3Oz9DR0tPLDdbX2Nna29zd3t/g4eLj5OXm5+jhEusPD+wIEu7t8ezu8O3y+Pfx+Q8I9vPi/UPwT+BAePTeuaO3kOG6e//8SSg4zx5BeezW8WuYcN8+h/jq0Ru4MWLFgPYE/9ZrhzDhRH33MIbc2DDkyYkJH0wYMKEngp07eSIY8JOo0Z4DeCYlCnQoT6QEkwKVutQpU6pYoy5VSnToUKBBkXKV+rMp151WvQZ9ulVqULVCn4oF+9Wn3LVle4LFmrSoW6phxwJGOrXqW6ttEytezLix48eQI0ueTLmy5cuXIWjezLmz58+gQ4seTbq06dOoU6tezbo0g9evF8ReIFs2g9q4a8OmTXt37Nm5b/8W7vt2cOO8dfdGvnt5ct6wjQOfHh268OfMh1O3rfu3c9vXrYfnbr279Ny9y4N/rUBBhPbw3cMXIJ++gPftI+jXnz++fP/+4QcgfAK6V+B8BL5X4P99+tHX34DyHUiggQXiJ2F79/XH34MQ5seggfQpqKCBEQIYIokoXmihhQ7OJ8CLMMYo44w01mjjjTjmqOOOPPbo449ABpljBUQWaeSRSCap5JJMNunkk1BGKeWUVFZp5ZMHZHDAllx2qaWWXWYJ5pZjfjlmlmF+SaaaZ4pJZpphcplBmXF6+Wadd6LZpptu7jlnnWqiCaiceMb55553/vmmooLaCagGkEYq6aSUVmrppZhmqummnHbq6aeghirqphuUauqpqKaq6qqsturqq7DGKuustNZq662wFqDrrrz26uuvwAYr7LDEFmvsscgmq+yyzBZLwbPQRivttNRWa+3/tdhmq+223Hbr7bfghqutBRZggAG55FJQLrrknrsuuuqyK2+76c5rL7ru0nvvvfmau++78+YbMLsCC4zvwPuea/C/8cb7b8ALPwzvvgBUbLEFF1usccUYbwwAuhd37PHIIo/MscYlo4wxuSGnvDHLLoOcMsgffyxyySuzXLPNOs9sMs8474zyyT17DDPPJuss9M9MN+3001BHLfXUVFdt9dVYW9zB1lx37fXXYIct9thkl2322WinrfbabLe99gdhw532B3DLLffXd8fddd5u48032Hn/DbjdfZ8tuNh0H6741oR7bXfikEcu+eSUV2755ZhnrvnmnHfu+eeghy76Ieikl2766ainrvrqrLfu+uuwxy777LTXbvvtuOeuO+whAAA7]]></data>
	</file>
	<file>
	  <filename>/style/greybox/indicator.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhZABkAPQAAP///1VVVbOzs5qamnh4eHx8fJKSkmdnZ2BgYHJycoyMjIeHh6ioqK6urmxsbFVVVaOjo4KCgltbWwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH+GkNyZWF0ZWQgd2l0aCBhamF4bG9hZC5pbmZvACH5BAAHAAAAIf8LTkVUU0NBUEUyLjADAQAAACwAAAAAZABkAAAF/yAgjmRpnmiqrmzrvnAsz3Rt33iu73zfMgoDw0csAgSEh/JBEBifucRymYBaaYzpdHjtuhba5cJLXoHDj3HZBykkIpDWAP0YrHsDiV5faB3CB3c8EHuFdisNDlMHTi4NEI2CJwWFewQuAwtBMAIKQZGSJAmVelVGEAaeXKEkEaQSpkUNngYNrCWEpIdGj6C3IpSFfb+CAwkOCbvEy8zNzs/Q0dLT1NUrAgOf1kUMBwjfB8rbOQLe3+C24wxCNwPn7wrjEAv0qzMK7+eX2wb0mzXu8iGIty1TPRvlBKazJgBVnBsN8okbRy6VgoUUM2rcyLGjx48gQ4ocSbKkyZMoJf8JMFCAwAJfKU0gOUDzgAOYHiE8XDGAJoKaalAoObHERFESU0oMFbF06YikKQQsiKCJBYGaNR2ocPr0AQCuQ8F6Fdt1rNeuLSBQjRDB3qSfPm1uPYvUbN2jTO2izQs171e6J9SuxXjCAFaaQYkC9ku2MWCnYR2rkDqV4IoEWG/O5fp3ceS7nuk2Db0YBQS3UVm6xBmztevXsGPLnk27tu3buHOvQU3bgIPflscJ4C3D92/gFNUWgHPj2G+bmhkWWL78xvPjDog/azCdOmsXzrF/dyYgAvUI7Y7bDF5N+QLCM4whM7BxvO77+PPr38+//w4GbhSw0xMQDKCdJAwkcIx2ggMSsQABENLHzALILDhMERAQ0BKE8IUSwYILPjEAhCQ2yMoCClaYmA8NQLhhh5I0oOCCB5rAQI0mGEDiRLfMQhWOI3CXgIYwotBAA/aN09KQCVw4m4wEMElAkTEhIWUCSaL0IJPsySZVlC/5J+aYZJZppgghAAAh+QQABwABACwAAAAAZABkAAAF/yAgjmRpnmiqrmzrvnAsz3Rt33iu73zfMhAIw0csAgQDhESCGAiM0NzgsawOolgaQ1ldIobZsAvS7ULE6BW5vDynfUiFsyVgL58rwQLxOCzeKwwHCIQHYCsLbH95Dg+OjgeAKAKDhIUNLA2JVQt4KhGPoYuSJEmWlgYuSBCYLRKhjwikJQqnlgpFsKGzJAa2hLhEuo6yvCKUv549BcOjxgOVhFdFdbAOysYNCgQK2HDMVAXexuTl5ufo6err7O3kAgKs4+48AhEH+ATz9Dj2+P8EWvET0YDBPlX/Eh7i18CAgm42ICT8l2ogAAYPFSyU0WAiPjcDtSkwIHCGAAITE/+UpCeg4EqTKPGptEikpQEGL2nq3Mmzp8+fQIMKHUq0qNGjSJO6E8DA4RyleQw4mOqgk1F4LRo4OEDVwTQUjk48MjGWxC6zD0aEBbBWbdlJBhYsAJlC6lSuDiKoaOuWbdq+fMMG/us37eCsCuRaVWG3q94UfEUIJlz48GHJsND6VaFJ8UEAWrdS/SqWMubNgClP1nz67ebIJQTEnduicdWDZ92aXq17N+G1kV2nwEqnqYGnUJMrX868ufPn0KNLn069Or+N0hksSFCArkWmORgkcJCgvHeWCiIYOB9jAfnx3D+fE5A+woKKNSLAh4+dXYMI9gEonwoKlPeeON8ZAOCgfTc0UB5/OiERwQA5xaCJff3xM6B1HHbo4YcghigiNXFBhEVLGc5yEgEJEKBPFBBEUEAE7M0yAIs44leTjDNGUKEkBrQopDM+NFDAjEf+CMiNQhJAWpE8zqjkG/8JGcGGIjCQIgoMyOhjOkwNMMCWJTTkInJZNYAlPQYU4KKT0xnpopsFTKmUPW8ScOV0N7oJ53TxJAbBmiMWauihiIIYAgAh+QQABwACACwAAAAAZABkAAAF/yAgjmRpnmiqrmzrvnAsz3Rt33iu73zv/8AZo4BAFBjBpI5xKBYPSKWURnA6CdNszGrVeltc5zcoYDReiXDCBSkQCpDxShA52AuCFoQribMKEoGBA3IpdQh2B1h6TQgOfisDgpOQhSMNiYkIZy4CnC0Ek4IFliVMmnYGQAmigWull5mJUT6srRGwJESZrz+SrZWwAgSJDp8/gJOkuaYKwUADCQ4JhMzW19jZ2tvc3d7f4NoCCwgPCAs4AwQODqrhIgIOD/PzBzYDDgfsDgrvAAX0AqKjIW0fuzzhJASk56CGwXwOaH1bGLBGQX0H31Gch6CGgYf93gGkOJCGgYIh3/8JUBjQHg6J/gSMlBABob+bOHPq3Mmzp8+fQIMKHUq0qNEUAiBAOHZ0RYN10p41PZGg6jQHNk/M07q1BD2vX0l0BdB1rIiKKhgoMMD0BANpVqmpMHv2AVm7I7aa1Yu3bl6+YvuuUEDYXdq40qqhoHu38d+wfvf2pRjYcYq1a0FNg5vVBGPAfy03lhwa8mjBJxqs7Yzi6WapgemaPh0b9diythnjSAqB9dTfwIMLH068uPHjyJMrX84cnIABCwz4Hj4uAYEEeHIOMAAbhjrr1lO+g65gQXcX0a5fL/nOwIL3imlAUG/d8DsI7xfAlEFH/SKcEAywHw3b9dbcgQgmqOByggw26KAIDAxwnnAGEGAhe0AIoEAE0mXzlBsWTojDhhFwmE0bFroR3w8RLNAiLtg8ZaGFbfVgwIv2WaOOGzn+IIABCqx4TRk1pkXYgMQNUUAERyhnwJIFFNAjcTdGaWJydCxZ03INBFjkg2CGKeaYCYYAACH5BAAHAAMALAAAAABkAGQAAAX/ICCOZGmeaKqubOu+cCzPdG3feK7vfO//wBnDUCAMBMGkTkA4OA8EpHJKMzyfBqo2VkBcEYWtuNW8HsJjoIDReC2e3kPEJRgojulVPeFIGKQrEGYOgCoMBwiJBwx5KQMOkJBZLQILkAuFKQ2IiYqZjQANfA4HkAltdKgtBp2tA6AlDJGzjD8KrZ0KsCSipJCltT63uAiTuyIGsw66asQHn6ACCpEKqj8DrQevxyVr0D4NCgTV3OXm5+jp6uvs7e7v6gIQEQkFEDgNCxELwfACBRICBtxGQ1QCPgn6uRsgsOE9GgoQ8inwLV2ChgLRzKCHsI9Cdg4wBkxQw9LBPhTh/wG4KHIODQYnDz6Ex1DkTCEL6t189w+jRhsf/Q04WACPyqNIkypdyrSp06dQo0qdSrWqVUcL+NER0MAa1AYOHoh9kKCiiEoE6nl1emDsWAIrcqYlkDKF2BNjTeQl4bbEXRF//47oe8KABLdjg4qAOTcBAcWAH+iVLBjA3cqXJQ/WbDkzX84oFCAey+wEg8Zp136e3Pnz3sitN28mDLsyiQWjxRo7EaFxXRS2W2OmDNqz7NrDY5swkPsB5FC91a6gHRm08OKvYWu3nd1EW8Rw9XA1q1TAd7Flr76wo1W9+/fw48ufT7++/fv48+s/wXUABPLwCWAAAQRiolQD/+FDIKRdBOz0TjgKkGNDAwsSSJBKEESowHOUEFjEY0lJEyGAegyw4G5HNcAAiS0g2ACL+8Uo44w01mjjjTi+wMCKMs5TQAQO+iCPAQme00AEP/4IIw0DZLVAkLA0kGQBBajGQ5MLKIDiMUcmGYGVO0CQZXvnCIAkkFOsYQCH0XQVAwP+sRlgVvssadU8+6Cp3zz66JmfNBFE8EeMKrqZ46GIJqrooi6EAAAh+QQABwAEACwAAAAAZABkAAAF/yAgjmRpnmiqrmzrvnAsz3Rt33iu73zv/0Baw2BoBI88g2N5MCCfNgZz6WBArzEl1dHEeluGw9Sh+JpTg+1y8GpABGdWQxFZWF0L7nLhEhAOgBFwcScNCYcOCXctAwsRbC5/gIGEJwuIh3xADJOdg5UjEQmJowlBYZ2AEKAkeZgFQZypB0asIgyYCatBCakEtiQMBQkFu0GGkwSfwGYQBovM0dLT1NXW19jZ2ts+AgYKA8s0As6Q3AADBwjrB9AzogkEytwN6uvs4jAQ8fxO2wr3ApqTMYAfgQSatBEIeK8MjQEHIzrUBpAhgoEyIkSct62BxQP5YAhoZCDktQEB2/+d66ZAQZGVMGPKnEmzps2bOHPq3Mmzp88v5Iz9ZLFAgtGLjCIU8IezqFGjDzCagCBPntQSDx6cyKoVa1avX0mEBRB2rAiuXU00eMoWwQoF8grIW2H2rFazX/HeTUs2Lde+YvmegMCWrVATC+RWpSsYsN6/I/LyHYtWL+ATAwo/PVyCatWrgU1IDm3Zst2+k/eiEKBZgtsVA5SGY1wXcmTVt2v77aq7cSvNoIeOcOo6uPARAhhwPs68ufPn0KNLn069uvXrfQpklSAoRwOT1lhXdgC+BQSlEZZb0175QcJ3Sgt039Y+6+sZDQrI119LW/26MUQQ33zaSFDfATY0kFh2euewV9l748AkwAGVITidAAA9gACE2HXo4YcghijiiN0YEIEC5e3QAAP9RWOiIxMd0xKK0zhSRwRPMNCSAepVYoCNTMnoUopxNDLbEysSuVIDLVLXyALGMSfAAgsosICSP01J5ZXWQUBlj89hSeKYZJZpJoghAAAh+QQABwAFACwAAAAAZABkAAAF/yAgjmRpnmiqrmzrvnAsz3Rt33iu73zv/0Bag8FoBI+8RmKZMCKfNQbTkSAIoNgYZElNOBjZcGtLLUPE6JSg601cXQ3IO60SQAzyF9l7bgkMbQNzdCUCC1UJEWAuAgOCLwYOkpIDhCdbBIiVQFIOB5IHVpYlBpmmC0EMk6t9oyIDplUGqZ+ek06uAAwEpqJBCqsOs7kjDAYLCoM/DQa1ycSEEBCL0NXW19jZ2tvc3d7fPwJDAsoz4hC44AIFB+0R5TGwvAbw2Q0E7fnvNQIEBbwEqHVj0A5BvgPpYtzj9W+TNwUHDR4QqBAgr1bdIBzMlzCGgX8EFtTD1sBTPgQFRv/6YTAgDzgAJfP5eslDAAMFDTrS3Mmzp8+fQIMKHUq0qNGjSJMisYNR6YotCBAE9GPAgE6fEKJqnbiiQYQCYCmaePDgBNmyJc6mVUuC7Ai3AOC+ZWuipAStUQusGFDgawQFK+TOjYtWhFvBhwsTnlsWseITDfDibVoCAtivgFUINtxY8VnHiwdz/ty2MwoBkrVSJtEAbNjAjxeDnu25cOLaoU2sSa236wCrKglvpss5t/DHcuEO31z57laxTisniErganQSNldf3869u/fv4MOLH0++vHk/A5YQeISjQfBr6yTIl5/Sxp2/76sNmM9fuwsDESyAHzgJ8DdfbzN4JWCkBBFYd40DBsqXgA0DMIhMfsQUGGEENjRQIR4v7Rehfy9gWE18/DkEnh0RJELieTDGKOOMNAa1DlkS1Bceap894ICJUNjhCJAyFNAjWahAA8ECTKrow5FkIVDNMcgMAwSUzFnCAJMLvHiDBFBKWQ1LLgERAZRJBpVTiQ70eMBQDSigAHSnLYCAj2kCJYCcBjwz3h98EnkUM1adJ2iNiCaq6KKLhgAAIfkEAAcABgAsAAAAAGQAZAAABf8gII5kaZ5oqq5s675wLM90bd94ru987//AoHAYEywShIWAyKwtCMjEokmFCaJQwrLKVTWy0UZ3jCqAC+SfoCF+NQrIQrvFWEQU87RpQOgbYg0MMAwJDoUEeXoiX2Z9iT0LhgmTU4okEH0EZgNCk4WFEZYkX5kEEEJwhoaVoiIGmklDEJOSgq0jDAOnRBBwBba3wcLDxMXGx8jJysvMzUJbzgAGn7s2DQsFEdXLCg4HDt6cNhHZ2dDJAuDqhtbkBe+Pxgze4N8ON+Tu58jp6+A3DPJtU9aNnoM/OBrs4wYuAcJoPYBBnEixosWLGDNq3Mixo8ePIEOKxGHEjIGFKBj/DLyY7oDLA1pYKIgQQcmKBw9O4MxZYmdPnyRwjhAKgOhQoCcWvDyA4IC4FAHtaLvJM2hOo0WvVs3K9ehRrVZZeFsKc0UDmnZW/jQhFOtOt2C9ingLt+uJsU1dolmhwI5NFVjnxhVsl2tdwkgNby0RgSyCpyogqGWbOOvitlvfriVc2LKKli9jjkRhRNPJ0ahTq17NurXr17Bjy55NG0UDBQpOvx6AoHdTiTQgGICsrIFv3wdQvoCwoC9xZAqO+34Ow0DfBQ+VEZDeW4GNOgsWTC4WnTv1QQaAJ2vA9Hhy1wPaN42XWoD1Acpr69/Pv79/ZgN8ch5qBUhgoIF7BSMAfAT07TDAgRCON8ZtuDWYQwIQHpigKAzgpoCEOGCYoQQJKGidARaaYB12LhAwogShKMhAiqMc8JYDNELwIojJ2EjXAS0UCOGAywxA105EjgBBBAlMZdECR+LESmpQRjklagxE+YB6oyVwZImtCUDAW6K51mF6/6Wp5po2hAAAIfkEAAcABwAsAAAAAGQAZAAABf8gII5kaZ5oqq5s675wLM90bd94ru987//AoHAYE0AWC4iAyKwNCFDCoEmFCSJRQmRZ7aoaBWi40PCaUc/o9OwTNMqvhiE84LYYg4GSnWpEChEQMQ0MVlgJWnZ8I36AgHBAT4iIa4uMjo9CC5MECZWWAI2Oij4GnaefoEcFBYVCAlCIBK6gIwwNpEACCgsGubXAwcLDxMXGx8jJysvMZ7/KDAsRC5A1DQO9z8YMCQ4J39UzBhHTCtrDAgXf3gkKNg3S0hHhx9zs3hE3BvLmzOnd6xbcYDCuXzMI677RenfOGAR1CxY26yFxosWLGDNq3Mixo8ePIEOKHEmyZDEBAwz/GGDQcISAlhMFLHBwwIEDXyyOZFvx4MGJnj5LABU6lETPEUcBJEVa9MQAm1Ad0CshE4mCqUaDZlWqlatXpl9FLB26NGyKCFBr3lyxCwk1nl3F+iwLlO7crmPr4r17NqpNAzkXKMCpoqxcs0ftItaaWLFhEk9p2jyAlSrMukTjNs5qOO9hzipkRiVsMgXKwSxLq17NurXr17Bjy55Nu7ZtIoRWwizZIMGB3wR2f4FQuVjv38gLCD8hR8HVg78RIEdQnAUD5woqHjMgPfpv7S92Oa8ujAHy8+TZ3prYgED331tkp0Mef7YbJctv69/Pv7//HOlI0JNyQ+xCwHPACOCAmV4S5AfDAAhEKF0qfCyg14BANCChhAc4CAQCFz6mgwIbSggYKCGKmAOJJSLgDiggXiiBC9cQ5wJ3LVJ4hoUX5rMCPBIEKcFbPx5QYofAHKAXkissIKSQArGgIYfgsaGAki62JMCTT8J0Wh0cQcClkIK8JuaYEpTpGgMIjIlAlSYNMKaOq6HUpgQIgDkbAxBAAOd/gAYqKA0hAAAh+QQABwAIACwAAAAAZABkAAAF/yAgjmRpnmiqrmzrvnAsz3Rt33iu73zv/8CgcChrQAYNotImiBQKi+RyCjM4nwOqtmV4Og3bcIpRuDLEaBNDoTjDGg1BWmVQGORDA2GfnZusCxFgQg17BAUEUn4jEYGNQwOHhhCLJFYREQpDEIZ7ipUCVgqfQAt7BYOVYkduqq6vsLGys7S1tre4ubq7UwIDBn04DAOUuwJ7CQQReDUMC8/FuXrJydE0Bs92uwvUBAnBNM7P4LcK3ufkMxDAvMfnBbw9oQsDzPH3+Pn6+/z9/v8AAwocSLCgwYO9IECwh9AEBAcJHCRq0aAOqRMPHmDMaCKjRhIeP47gKIIkyZEeU/8IgMiSABc2mlacRAlgJkebGnGizCmyZk8UAxIIHdoqRR02LGaW5AkyZFOfT5c6pamURFCWES+aCGWgKIqqN3uGfapzqU+xTFEIiChUYo+pO0uM3fnzpMm6VUs8jDixoVoIDBj6HUy4sOHDiBMrXsy4sWMSTSRkLCD4ltcZK0M+QFB5lgIHEFPNWKB5cq7PDg6AFh0DQem8sVaCBn0gQY3XsGExSD0bdI0DryXgks0bYg3SpeHhQj07HQzgIR10lmWAr/MYC1wjWDD9sffv4MOLR3j1m5J1l/0UkMCevXIgDRIcQHCAQHctENrrv55D/oH/B7ynnn7t2fYDAwD+R59zVmEkQCB7BvqgQIIAphdGBA9K4JILcbzQAID0/cfgFvk9aE0KDyFA34kp+AdgBK4MQKCAKEqg4o0sniBAAQBS9goEESQQQY4nJHDjjRGy0EBg/Rx55GFO3ngYAVFuWBiCRx4w4kENFKBiAVuOJ+aYZIoZAgAh+QQABwAJACwAAAAAZABkAAAF/yAgjmRpnmiqrmzrvnAsz3Rt33iu73zv/8CgcChrMBoNotImUCwiiuRyCoNErhEIdduCPJ9arhgleEYWgrHaxIBAGDFkep1iGBhzobUQkdJLDAtOYUENEXx8fn8iBguOBkMNiImLJF6CA0MCBYh9lSMCEAYQikAMnBFwn2MCRquvsLGys7S1tre4ubq7vDqtpL5HvAIGBMYDeTTECgrJtwwEBcYEzjIMzKO7A9PGpUUGzN61EMbSBOIxoei0ZdOQvTuhAw3V8Pb3+Pn6+/z9/v8AAwocSBCQo0wFUwhI8KDhgwPrerUSUK8EAYcOD/CTRCABGhUMMGJ8d6JhSZMlHP+mVEkCJQCULkVgVFggQUcCC1QoEOlQQYqYMh+8FDrCZEyjRIMWRdoyaZ2bNhOoOmGAZ8OcKIAO3bqUpdKjSXk25XqiQdSb60JaJWlCK9OlZLeChetVrtMSm85iTXFRpMafdYfefRsUqEuYg7WWkGTTk4qFGB1EHEavIpuDCTNr3sy5s+fPoEOLHk063YCaCZD1mlpjk4TXrwtYjgWh5gLWMiDA3o3wFoQECRwExw2jwG7YCXDlFS58r4wEx187wMUgOHDgEWpEiC4h+a281h34pKE7em9b1YUDn7xiwHHZugKdYc/CSoIss0vr38+/v//RTRAQhRIC4AHLAAcgoCCkAuf50IACDkTYzCcCJLiggvTRAKEDB0TIFh0GXLjgeD4wwGGEESaQIREKiKggiT2YiOKJxI0xgIsIfKgCPS+YFWGHwq2oiYULHpCfCFZE+FELBszoQIN0NEDkATWaIACHB2TpwJEAEGOdaqsIMIACYLKwQJZoHuDcCkZweUsBaCKQJQGfEZBmlgV8ZkCCceqYWXVpUgOamNEYIOR/iCaq6KIAhAAAIfkEAAcACgAsAAAAAGQAZAAABf8gII5kaZ5oqq5s675wLM90bd94ru987//AoHBIExCPOMhiAUE6ZYLl0vissqJSqnWLGiwUA64Y1WiMfwKGmSgwgM+otsKwFhoWkYgBbmIo/gxEeXgLfCUNfwp1QQp4eoaHakdRelqQl5iZmpucnZ6foKGioz8LCA8IC5akOAcPr68Oq6CzMguwuAWjEBEFC4syDriwEqICvcg2w7iiDQXPBRHAMKfLD8bR0RE2t8u6ogzPEU01AsK4ErWdAtMzxxKvBeqs9PX29/j5+vv8/f7/AAMKNAEBwryBJAYgkMCwEMIUAxhKlOBQn4AB0cKsWDiRYTsRr07AMjGSBDOT10D/pgyJkmUXAjAJkEMBoaPEmSRTogTgkue1niGB6hwptAXMAgR8qahpU4JGkTpHBI06bGdRlSdV+lQRE6aCjU3n9dRatCzVoT/NqjCAFCbOExE7VoQ6tqTUtC2jbtW6967eE2wjPFWhUOLchzQNIl7MuLHjx5AjS55MubJlGQ3cKDj4kMEBBKARDKZ1ZwDnFQI+hwb9UZMAAglgb6uhcDXor6EUwN49GoYC26AJiFoQu3jvF7Vt4wZloDjstzBS2z7QWtPuBKpseA594LinAQYU37g45/Tl8+jTq19fmUF4yq8PfE5QPQeEAgkKBLpUQL7/BEJAkMCADiSwHx8NyIeAfH8IHOgDfgUm4MBhY0Dg34V7ACEhgQnMxocACyoon4M9EBfhhJdEcOEBwrkwQAQLeHcCAwNKSEB9VRzjHwHmAbCAA0Ci6AIDeCjiGgQ4jjBAkAcAKSNCCgQZ5HKOGQBkk0Bm+BgDUjZJYmMGYOmAlpFlRgd7aKap5poyhAAAIfkEAAcACwAsAAAAAGQAZAAABf8gII5kaZ5oqq5s675wLM90bd94ru987//AoHBIExCPOIHB0EA6ZUqFwmB8WlkCqbR69S0cD8SCy2JMGd3f4cFmO8irRjPdW7TvEaEAYkDTTwh3bRJCEAoLC35/JIJ3QgaICwaLJYGND0IDkRCUJHaNBXoDAxBwlGt3EqadRwIFEmwFq6y0tba3uLm6u7y9viYQEQkFpb8/AxLJybLGI7MwEMrSA81KEQNzNK/SyQnGWQsREZM1CdzJDsYN4RHh2TIR5xLev1nt4zbR59TqCuOcNVxxY1btXcABBBIkGPCsmcOHECNKnEixosWLGDNq3MjxCIRiHV0wIIAAQQKAIVX/MDhQsqQElBUFNFCAjUWBli0dGGSEyUQbn2xKOOI5IigAo0V/pmBQIEIBgigg4MS5MynQoz1FBEWKtatVrVuzel2h4GlTflGntnzGFexYrErdckXaiGjbEv6aEltxc+qbFHfD2hUr+GvXuIfFmmD6NEJVEg1Y4oQJtC3ixDwtZzWqWfGJBksajmhA0iTllCk+ikbNurXr17Bjy55Nu7bt20HkKGCwOiWDBAeC63S4B1vvFAIIBF+e4DEuAQsISCdHI/Ly5ad1QZBeQLrzMssRLFdgDKF0AgUUybB+/YB6XiO7Sz9+QkAE8cEREPh+y8B5hjbYtxxU6kDQAH3I7XEgnG4MNujggxBGCAVvt2XhwIUK8JfEIX3YYsCFB2CoRwEJJEQAgkM0ANyFLL7HgwElxphdGhCwCKIDLu4QXYwEUEeJAAnc6EACOeowAI8n1TKAjQ74uIIAo9Bnn4kRoDgElEEmQIULNWY54wkMjAKSLQq+IMCQQwZp5UVdZpnkbBC4OeSXqCXnJpG1qahQc7c1wAADGkoo6KCEFrpCCAA7AAAAAAAAAAAA]]></data>
	</file>
	<file>
	  <filename>/style/greybox/loader_frame.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLQpOb3RpY2U6IEkgZmVlbCBzbyBkaXJ0eSBkb2luZyB0aGlzLCBidXQgaXRzIHRoZSBvbmx5IHdheSB0byBtYWtlIGl0IGNyb3NzIGJyb3dzZXIuCi0tPgo8aHRtbD4KPGhlYWQ+CiAgPHNjcmlwdD4KICAgIHZhciBHQiA9IHBhcmVudC5HQl9DVVJSRU5UOwogICAgZG9jdW1lbnQud3JpdGUoJzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IkFKUy5qcyI+PFwvc2NyaXB0PicpOwogICAgaWYoR0IudXNlX2Z4KSB7CiAgICAgICAgZG9jdW1lbnQud3JpdGUoJzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IkFKU19meC5qcyI+PFwvc2NyaXB0PicpOwogICAgfQogIDwvc2NyaXB0PgogIDxzdHlsZT4KICAgIGJvZHkgewogICAgICBwYWRkaW5nOiAwOwogICAgICBtYXJnaW46IDA7CiAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICB9CgogICAgI0dCX2ZyYW1lIHsKICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOwogICAgICB3aWR0aDogMTAwJTsKICAgICAgaGVpZ2h0OiAxMDAlOwogICAgfQoKICAgICNsb2FkaW5nIHsKICAgICAgcGFkZGluZy10b3A6IDUwcHg7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIHRvcDogMDsKICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogICAgfQogIDwvc3R5bGU+CjwvaGVhZD4KPGJvZHk+Cgo8ZGl2IGlkPSJsb2FkaW5nIj4KICA8aW1nIHNyYz0iaW5kaWNhdG9yLmdpZiI+CjwvZGl2PgoKPHNjcmlwdD4KdmFyIGxvYWRpbmcgPSBBSlMuJCgnbG9hZGluZycpOwp2YXIgZ2JfdHlwZSA9IEdCLnR5cGU7CnZhciBnYl91cmwgPSBHQi51cmw7CgovL1N0YXJ0IGxvYWRpbmcgaW4gdGhlIGlmcmFtZQppZihnYl90eXBlID09ICJwYWdlIikgewogIGRvY3VtZW50LndyaXRlKCc8aWZyYW1lIGlkPSJHQl9mcmFtZSIgc3JjPSInICsgZ2JfdXJsICsgJyIgZnJhbWVib3JkZXI9IjAiPjwvaWZyYW1lPicpOwp9CmVsc2UgewogIHZhciBpbWdfaG9sZGVyID0gbmV3IEltYWdlKCk7CiAgaW1nX2hvbGRlci5zcmMgPSBnYl91cmw7CiAgZG9jdW1lbnQud3JpdGUoJzxpbWcgaWQ9IkdCX2ZyYW1lIiBzcmM9IicgKyBnYl91cmwgKyAnIj4nKTsKfQp2YXIgZnJhbWUgPSBBSlMuJCgnR0JfZnJhbWUnKTsKPC9zY3JpcHQ+Cgo8L2JvZHk+CjxzY3JpcHQ+CmZ1bmN0aW9uIHNldHVwT3V0ZXJHQigpIHsKICAgIGZyYW1lLnN0eWxlLnZpc2liaWxpdHkgPSAndmlzaWJsZSc7CiAgICBHQi5zZXRGcmFtZVNpemUoKTsKICAgIEdCLnNldFdpbmRvd1Bvc2l0aW9uKCk7Cn0KCmZ1bmN0aW9uIGxvYWRlZCgpIHsKICAgIEFKUy5yZW1vdmVFbGVtZW50KGxvYWRpbmcpOwoKICAgIEdCLm92ZXJsYXkuaW5uZXJIVE1MICs9ICImbmJzcDsiOyAvL1NhZmFyaSBidWdmaXgKICAgIAogICAgaWYoZ2JfdHlwZSA9PSAiaW1hZ2UiKSB7CiAgICAgICAgaWYoaW1nX2hvbGRlci53aWR0aCAhPSAwICYmIGltZ19ob2xkZXIuaGVpZ2h0ICE9IDApIHsKICAgICAgICAgICAgdmFyIHdpZHRoID0gaW1nX2hvbGRlci53aWR0aDsKICAgICAgICAgICAgdmFyIGhlaWdodCA9IGltZ19ob2xkZXIuaGVpZ2h0OwoKICAgICAgICAgICAgR0Iud2lkdGggPSB3aWR0aDsKICAgICAgICAgICAgR0IuaGVpZ2h0ID0gaGVpZ2h0OwoKICAgICAgICAgICAgc2V0dXBPdXRlckdCKCk7CgogICAgICAgICAgICBpZihHQi51c2VfZngpIHsKICAgICAgICAgICAgICAgIEFKUy5zZXRPcGFjaXR5KGZyYW1lLCAwKTsKICAgICAgICAgICAgICAgIEFKUy5meC5mYWRlSW4oZnJhbWUpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgZWxzZSB7CiAgICAgICAgR0Iud2lkdGggPSBmcmFtZS5vZmZzZXRXaWR0aDsKICAgICAgICBHQi5oZWlnaHQgPSBmcmFtZS5vZmZzZXRIZWlnaHQ7CiAgICAgICAgc2V0dXBPdXRlckdCKCk7CiAgICB9Cn0KCmlmKEdCLnNob3dfbG9hZGluZykgewogICAgQUpTLkFFVih3aW5kb3csICdsb2FkJywgZnVuY3Rpb24oZSkgewogICAgICAgIGxvYWRlZCgpOwogICAgfSk7Cn0KZWxzZSB7CiAgICBsb2FkZWQoKTsKfQo8L3NjcmlwdD4KPC9odG1sPgo=]]></data>
	</file>
	<file>
	  <filename>/style/greybox/next.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhGQAeANU5AP///5mZme/v73R0dHx8fPr6+qenp319fZ6enuvr69bW1s3NzU9PT5+fn729vT09PaCgoDU1NcnJyf7+/lhYWHFxcenp6YODg62trfj4+IWFhVxcXKOjo9ra2qSkpOjo6MLCwjY2Nru7u/Hx8cvLy0RERIKCgu3t7cHBwYeHh0NDQ93d3TQ0NO7u7nNzc9nZ2U1NTby8vD4+Puzs7JqamltbW9HR0ff39z8/PzMzMwAAAAAAAAAAAAAAAAAAAAAAACH5BAEAADkALAAAAAAZAB4AAAb/wJxwSCwaj8ikcvigVEwaU4XyWA5hhIB2uyUwlJGBtiFSfBIfhaihHUSOj0MAQSoA7nhAYYEIHKpEEXIGAnmGdwIGfixEYgYZh5EZigNDDHOFADYYnBgkkS19XzlZC3gTDlwSkQsBBDkqARB2p6lbq4YFEAEqGwEoh6iqhygBNWIdkcK3hi8BLhcBFpEAy1q4dxYBFykBJ9QAHzRbHjd4JwEp0dORCWxaHpnZ28jt7wHxhh0BA74gh+62cJCHB0SADSVk0bqTYJeWgYd0BShBKoCpOzMcBoB4qNWrHJcQZFqhoKQCgngEiBriCBI4PJP4BRo04iWAEYoOvCESZ86CLYV59vT5cySEmAANYihIwFSBg3cDQihhkIULFy9WhMhwoqHrFBxZw4odSxZJEAA7]]></data>
	</file>
	<file>
	  <filename>/style/greybox/prev.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhGQAeANU4AP///5mZme/v73R0dOvr6/r6+nx8fH19fZ6enqenp9bW1p+fn83NzU9PT729vT09PaCgoDU1Nf7+/snJyXFxcVhYWPj4+Onp6YWFha2trYODg6SkpFxcXOjo6KOjo9ra2u3t7YeHh8vLyzY2NsLCwvHx8YKCgsHBwbu7u0NDQ0RERHNzc93d3TQ0NJqamry8vNHR0T4+PtnZ2ff39z8/P+7u7ltbW01NTTMzMwAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAADgALAAAAAAZAB4AAAb/QJxwSCwaj8ikcvioUEwYE6XyWA5vhoB2uzU0lJGBdoFSdAgdBWqhHUSOj0MAISoA7nhAgYEIHKpEEXIJAnmGdwIJfi1EYgkWh5EWigNDDXOFhyIZnBkwdzV9XzhZDJETXA4SeAwBBjgpARB2hqhbqnkFEAEpHAEnh7ZauIYnATZiH7Wpq4cyASsaARd5wgHEhxcBGiEBIHgzG1suHZF3IAEh0tR4AuJjBObaGsmG7lsL8YcfAQO+JIcEeMCnLw+JABxUyKKVR+AWCAX17FJBKoCpgAO1QGTlSsglBJnsKRipgAUiUUMcQTKXZ1K/QINKsLxTQtGBN0TizGHAMBcfKj+AiowQE2DBCwUEkipwwKbfCCUNsnDh4sWKkBhOMGidQsOq169gwyIJAgA7]]></data>
	</file>
	<file>
	  <filename>/style/greybox/w_close.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhCwALAJEAAEVFRYiIiP/W1gAAACH5BAAAAAAALAAAAAALAAsAAAIbjI8my6zdHmBTPDGrDU1vijlcuFQX9KFLwgYFADs=]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery-ui-i18n.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogQWZyaWthYW5zIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBSZW5pZXIgUHJldG9yaXVzLiAqLwpqUXVlcnkoZnVuY3Rpb24oJCl7CgkkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2FmJ10gPSB7CgkJY2xvc2VUZXh0OiAnU2VsZWt0ZWVyJywKCQlwcmV2VGV4dDogJ1ZvcmlnZScsCgkJbmV4dFRleHQ6ICdWb2xnZW5kZScsCgkJY3VycmVudFRleHQ6ICdWYW5kYWcnLAoJCW1vbnRoTmFtZXM6IFsnSmFudWFyaWUnLCdGZWJydWFyaWUnLCdNYWFydCcsJ0FwcmlsJywnTWVpJywnSnVuaWUnLAoJCSdKdWxpZScsJ0F1Z3VzdHVzJywnU2VwdGVtYmVyJywnT2t0b2JlcicsJ05vdmVtYmVyJywnRGVzZW1iZXInXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnSmFuJywgJ0ZlYicsICdNcnQnLCAnQXByJywgJ01laScsICdKdW4nLAoJCSdKdWwnLCAnQXVnJywgJ1NlcCcsICdPa3QnLCAnTm92JywgJ0RlcyddLAoJCWRheU5hbWVzOiBbJ1NvbmRhZycsICdNYWFuZGFnJywgJ0RpbnNkYWcnLCAnV29lbnNkYWcnLCAnRG9uZGVyZGFnJywgJ1ZyeWRhZycsICdTYXRlcmRhZyddLAoJCWRheU5hbWVzU2hvcnQ6IFsnU29uJywgJ01hYScsICdEaW4nLCAnV29lJywgJ0RvbicsICdWcnknLCAnU2F0J10sCgkJZGF5TmFtZXNNaW46IFsnU28nLCdNYScsJ0RpJywnV28nLCdEbycsJ1ZyJywnU2EnXSwKCQl3ZWVrSGVhZGVyOiAnV2snLAoJCWRhdGVGb3JtYXQ6ICdkZC9tbS95eScsCgkJZmlyc3REYXk6IDEsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnYWYnXSk7Cn0pOwovKiBBbGdlcmlhbiBBcmFiaWMgVHJhbnNsYXRpb24gZm9yIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uIChjYW4gYmUgdXNlZCBmb3IgVHVuaXNpYSkqLwovKiBNb2hhbWVkIENoZXJpZiBCT1VDSEVMQUdIRU0gLS0gY2hlcmlmYm91Y2hlbGFnaGVtQHlhaG9vLmZyICovCgpqUXVlcnkoZnVuY3Rpb24oJCl7CgkkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2FyLURaJ10gPSB7CgkJY2xvc2VUZXh0OiAn2KXYutmE2KfZgicsCgkJcHJldlRleHQ6ICcmI3gzYzvYp9mE2LPYp9io2YInLAoJCW5leHRUZXh0OiAn2KfZhNiq2KfZhNmKJiN4M2U7JywKCQljdXJyZW50VGV4dDogJ9in2YTZitmI2YUnLAoJCW1vbnRoTmFtZXM6IFsn2KzYp9mG2YHZiicsICfZgdmK2YHYsdmKJywgJ9mF2KfYsdizJywgJ9ij2YHYsdmK2YQnLCAn2YXYp9mKJywgJ9is2YjYp9mGJywKCQkn2KzZiNmK2YTZitipJywgJ9ij2YjYqicsICfYs9io2KrZhdio2LEnLCfYo9mD2KrZiNio2LEnLCAn2YbZiNmB2YXYqNixJywgJ9iv2YrYs9mF2KjYsSddLAoJCW1vbnRoTmFtZXNTaG9ydDogWycxJywgJzInLCAnMycsICc0JywgJzUnLCAnNicsICc3JywgJzgnLCAnOScsICcxMCcsICcxMScsICcxMiddLAoJCWRheU5hbWVzOiBbJ9in2YTYo9it2K8nLCAn2KfZhNin2KvZhtmK2YYnLCAn2KfZhNir2YTYp9ir2KfYoScsICfYp9mE2KPYsdio2LnYp9ihJywgJ9in2YTYrtmF2YrYsycsICfYp9mE2KzZhdi52KknLCAn2KfZhNiz2KjYqiddLAoJCWRheU5hbWVzU2hvcnQ6IFsn2KfZhNij2K3YrycsICfYp9mE2KfYq9mG2YrZhicsICfYp9mE2KvZhNin2KvYp9ihJywgJ9in2YTYo9ix2KjYudin2KEnLCAn2KfZhNiu2YXZitizJywgJ9in2YTYrNmF2LnYqScsICfYp9mE2LPYqNiqJ10sCgkJZGF5TmFtZXNNaW46IFsn2KfZhNij2K3YrycsICfYp9mE2KfYq9mG2YrZhicsICfYp9mE2KvZhNin2KvYp9ihJywgJ9in2YTYo9ix2KjYudin2KEnLCAn2KfZhNiu2YXZitizJywgJ9in2YTYrNmF2LnYqScsICfYp9mE2LPYqNiqJ10sCgkJd2Vla0hlYWRlcjogJ9ij2LPYqNmI2LknLAoJCWRhdGVGb3JtYXQ6ICdkZC9tbS95eScsCgkJZmlyc3REYXk6IDYsCiAgCQlpc1JUTDogdHJ1ZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2FyLURaJ10pOwp9KTsKLyogQXJhYmljIFRyYW5zbGF0aW9uIGZvciBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAqLwovKiBLaGFsZWQgQWxob3VyYW5pIC0tIG1lQGtoYWxlZGFsaG91cmFuaS5jb20gKi8KLyogTk9URTogbW9udGhOYW1lcyBhcmUgdGhlIG9yaWdpbmFsIG1vbnRocyBuYW1lcyBhbmQgdGhleSBhcmUgdGhlIEFyYWJpYyBuYW1lcywgbm90IHRoZSBuZXcgbW9udGhzIG5hbWUg2YHYqNix2KfZitixIC0g2YrZhtin2YrYsSBhbmQgdGhlcmUgaXNuJ3QgYW55IEFyYWJpYyByb290cyBmb3IgdGhlc2UgbW9udGhzICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnYXInXSA9IHsKCQljbG9zZVRleHQ6ICfYpdi62YTYp9mCJywKCQlwcmV2VGV4dDogJyYjeDNjO9in2YTYs9in2KjZgicsCgkJbmV4dFRleHQ6ICfYp9mE2KrYp9mE2YomI3gzZTsnLAoJCWN1cnJlbnRUZXh0OiAn2KfZhNmK2YjZhScsCgkJbW9udGhOYW1lczogWyfZg9in2YbZiNmGINin2YTYq9in2YbZiicsICfYtNio2KfYtycsICfYotiw2KfYsScsICfZhtmK2LPYp9mGJywgJ9mF2KfZitmIJywgJ9it2LLZitix2KfZhicsCgkJJ9iq2YXZiNiyJywgJ9ii2KgnLCAn2KPZitmE2YjZhCcsCSfYqti02LHZitmGINin2YTYo9mI2YQnLCAn2KrYtNix2YrZhiDYp9mE2KvYp9mG2YonLCAn2YPYp9mG2YjZhiDYp9mE2KPZiNmEJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJzEnLCAnMicsICczJywgJzQnLCAnNScsICc2JywgJzcnLCAnOCcsICc5JywgJzEwJywgJzExJywgJzEyJ10sCgkJZGF5TmFtZXM6IFsn2KfZhNij2K3YrycsICfYp9mE2KfYq9mG2YrZhicsICfYp9mE2KvZhNin2KvYp9ihJywgJ9in2YTYo9ix2KjYudin2KEnLCAn2KfZhNiu2YXZitizJywgJ9in2YTYrNmF2LnYqScsICfYp9mE2LPYqNiqJ10sCgkJZGF5TmFtZXNTaG9ydDogWyfYp9mE2KPYrdivJywgJ9in2YTYp9ir2YbZitmGJywgJ9in2YTYq9mE2KfYq9in2KEnLCAn2KfZhNij2LHYqNi52KfYoScsICfYp9mE2K7ZhdmK2LMnLCAn2KfZhNis2YXYudipJywgJ9in2YTYs9io2KonXSwKCQlkYXlOYW1lc01pbjogWyfYp9mE2KPYrdivJywgJ9in2YTYp9ir2YbZitmGJywgJ9in2YTYq9mE2KfYq9in2KEnLCAn2KfZhNij2LHYqNi52KfYoScsICfYp9mE2K7ZhdmK2LMnLCAn2KfZhNis2YXYudipJywgJ9in2YTYs9io2KonXSwKCQl3ZWVrSGVhZGVyOiAn2KPYs9io2YjYuScsCgkJZGF0ZUZvcm1hdDogJ2RkL21tL3l5JywKCQlmaXJzdERheTogNiwKICAJCWlzUlRMOiB0cnVlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnYXInXSk7Cn0pOy8qIEF6ZXJiYWlqYW5pIChVVEYtOCkgaW5pdGlhbGlzYXRpb24gZm9yIHRoZSBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAqLwovKiBXcml0dGVuIGJ5IEphbWlsIE5hamFmb3YgKG5lY2Vmb3YzM0BnbWFpbC5jb20pLiAqLwpqUXVlcnkoZnVuY3Rpb24oJCkgewoJJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydheiddID0gewoJCWNsb3NlVGV4dDogJ0JhxJ9sYScsCgkJcHJldlRleHQ6ICcmI3gzYztHZXJpJywKCQluZXh0VGV4dDogJ8SwcsmZbGkmI3gzZTsnLAoJCWN1cnJlbnRUZXh0OiAnQnVnw7xuJywKCQltb250aE5hbWVzOiBbJ1lhbnZhcicsJ0ZldnJhbCcsJ01hcnQnLCdBcHJlbCcsJ01heScsJ8SweXVuJywKCQknxLB5dWwnLCdBdnF1c3QnLCdTZW50eWFicicsJ09rdHlhYnInLCdOb3lhYnInLCdEZWthYnInXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnWWFuJywnRmV2JywnTWFyJywnQXByJywnTWF5JywnxLB5dW4nLAoJCSfEsHl1bCcsJ0F2cScsJ1NlbicsJ09rdCcsJ05veScsJ0RlayddLAoJCWRheU5hbWVzOiBbJ0JhemFyJywnQmF6YXIgZXJ0yZlzaScsJ8OHyZlyxZ/JmW5iyZkgYXjFn2FtxLEnLCfDh8mZcsWfyZluYsmZJywnQ8O8bcmZIGF4xZ9hbcSxJywnQ8O8bcmZJywnxZ7JmW5iyZknXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ0InLCdCZScsJ8OHYScsJ8OHJywnQ2EnLCdDJywnxZ4nXSwKCQlkYXlOYW1lc01pbjogWydCJywnQicsJ8OHJywn0KEnLCfDhycsJ0MnLCfFniddLAoJCXdlZWtIZWFkZXI6ICdIZicsCgkJZGF0ZUZvcm1hdDogJ2RkLm1tLnl5JywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydheiddKTsKfSk7LyogQnVsZ2FyaWFuIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBTdG95YW4gS3lvc2V2IChodHRwOi8vc3Zlc3Qub3JnKS4gKi8KalF1ZXJ5KGZ1bmN0aW9uKCQpewogICAgJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydiZyddID0gewogICAgICAgIGNsb3NlVGV4dDogJ9C30LDRgtCy0L7RgNC4JywKICAgICAgICBwcmV2VGV4dDogJyYjeDNjO9C90LDQt9Cw0LQnLAogICAgICAgIG5leHRUZXh0OiAn0L3QsNC/0YDQtdC0JiN4M2U7JywKCQluZXh0QmlnVGV4dDogJyYjeDNlOyYjeDNlOycsCiAgICAgICAgY3VycmVudFRleHQ6ICfQtNC90LXRgScsCiAgICAgICAgbW9udGhOYW1lczogWyfQr9C90YPQsNGA0LgnLCfQpNC10LLRgNGD0LDRgNC4Jywn0JzQsNGA0YInLCfQkNC/0YDQuNC7Jywn0JzQsNC5Jywn0K7QvdC4JywKICAgICAgICAn0K7Qu9C4Jywn0JDQstCz0YPRgdGCJywn0KHQtdC/0YLQtdC80LLRgNC4Jywn0J7QutGC0L7QvNCy0YDQuCcsJ9Cd0L7QtdC80LLRgNC4Jywn0JTQtdC60LXQvNCy0YDQuCddLAogICAgICAgIG1vbnRoTmFtZXNTaG9ydDogWyfQr9C90YMnLCfQpNC10LInLCfQnNCw0YAnLCfQkNC/0YAnLCfQnNCw0LknLCfQrtC90LgnLAogICAgICAgICfQrtC70LgnLCfQkNCy0LMnLCfQodC10L8nLCfQntC60YInLCfQndC+0LInLCfQlNC10LonXSwKICAgICAgICBkYXlOYW1lczogWyfQndC10LTQtdC70Y8nLCfQn9C+0L3QtdC00LXQu9C90LjQuicsJ9CS0YLQvtGA0L3QuNC6Jywn0KHRgNGP0LTQsCcsJ9Cn0LXRgtCy0YrRgNGC0YrQuicsJ9Cf0LXRgtGK0LonLCfQodGK0LHQvtGC0LAnXSwKICAgICAgICBkYXlOYW1lc1Nob3J0OiBbJ9Cd0LXQtCcsJ9Cf0L7QvScsJ9CS0YLQvicsJ9Ch0YDRjycsJ9Cn0LXRgicsJ9Cf0LXRgicsJ9Ch0YrQsSddLAogICAgICAgIGRheU5hbWVzTWluOiBbJ9Cd0LUnLCfQn9C+Jywn0JLRgicsJ9Ch0YAnLCfQp9C1Jywn0J/QtScsJ9Ch0YonXSwKCQl3ZWVrSGVhZGVyOiAnV2snLAogICAgICAgIGRhdGVGb3JtYXQ6ICdkZC5tbS55eScsCgkJZmlyc3REYXk6IDEsCiAgICAgICAgaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwogICAgJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnYmcnXSk7Cn0pOwovKiBCb3NuaWFuIGkxOG4gZm9yIHRoZSBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAqLwovKiBXcml0dGVuIGJ5IEtlbmFuIEtvbmpvLiAqLwpqUXVlcnkoZnVuY3Rpb24oJCl7CgkkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2JzJ10gPSB7CgkJY2xvc2VUZXh0OiAnWmF0dm9yaScsIAoJCXByZXZUZXh0OiAnJiN4M2M7JywgCgkJbmV4dFRleHQ6ICcmI3gzZTsnLCAKCQljdXJyZW50VGV4dDogJ0RhbmFzJywgCgkJbW9udGhOYW1lczogWydKYW51YXInLCdGZWJydWFyJywnTWFydCcsJ0FwcmlsJywnTWFqJywnSnVuaScsCgkJJ0p1bGknLCdBdWd1c3QnLCdTZXB0ZW1iYXInLCdPa3RvYmFyJywnTm92ZW1iYXInLCdEZWNlbWJhciddLAoJCW1vbnRoTmFtZXNTaG9ydDogWydKYW4nLCdGZWInLCdNYXInLCdBcHInLCdNYWonLCdKdW4nLAoJCSdKdWwnLCdBdWcnLCdTZXAnLCdPa3QnLCdOb3YnLCdEZWMnXSwKCQlkYXlOYW1lczogWydOZWRlbGphJywnUG9uZWRlbGphaycsJ1V0b3JhaycsJ1NyaWplZGEnLCfEjGV0dnJ0YWsnLCdQZXRhaycsJ1N1Ym90YSddLAoJCWRheU5hbWVzU2hvcnQ6IFsnTmVkJywnUG9uJywnVXRvJywnU3JpJywnxIxldCcsJ1BldCcsJ1N1YiddLAoJCWRheU5hbWVzTWluOiBbJ05lJywnUG8nLCdVdCcsJ1NyJywnxIxlJywnUGUnLCdTdSddLAoJCXdlZWtIZWFkZXI6ICdXaycsCgkJZGF0ZUZvcm1hdDogJ2RkLm1tLnl5JywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydicyddKTsKfSk7LyogSW5pY2lhbGl0emFjacOzIGVuIGNhdGFsw6AgcGVyIGEgbCdleHRlbmNpw7MgJ2NhbGVuZGFyJyBwZXIgalF1ZXJ5LiAqLwovKiBXcml0ZXJzOiAoam9hbi5sZW9uQGdtYWlsLmNvbSkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnY2EnXSA9IHsKCQljbG9zZVRleHQ6ICdUYW5jYXInLAoJCXByZXZUZXh0OiAnJiN4M2M7QW50JywKCQluZXh0VGV4dDogJ1NlZyYjeDNlOycsCgkJY3VycmVudFRleHQ6ICdBdnVpJywKCQltb250aE5hbWVzOiBbJ0dlbmVyJywnRmVicmVyJywnTWFyJmNjZWRpbDsnLCdBYnJpbCcsJ01haWcnLCdKdW55JywKCQknSnVsaW9sJywnQWdvc3QnLCdTZXRlbWJyZScsJ09jdHVicmUnLCdOb3ZlbWJyZScsJ0Rlc2VtYnJlJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ0dlbicsJ0ZlYicsJ01hcicsJ0FicicsJ01haScsJ0p1bicsCgkJJ0p1bCcsJ0FnbycsJ1NldCcsJ09jdCcsJ05vdicsJ0RlcyddLAoJCWRheU5hbWVzOiBbJ0RpdW1lbmdlJywnRGlsbHVucycsJ0RpbWFydHMnLCdEaW1lY3JlcycsJ0Rpam91cycsJ0RpdmVuZHJlcycsJ0Rpc3NhYnRlJ10sCgkJZGF5TmFtZXNTaG9ydDogWydEdWcnLCdEbG4nLCdEbXQnLCdEbWMnLCdEanMnLCdEdm4nLCdEc2InXSwKCQlkYXlOYW1lc01pbjogWydEZycsJ0RsJywnRHQnLCdEYycsJ0RqJywnRHYnLCdEcyddLAoJCXdlZWtIZWFkZXI6ICdTbScsCgkJZGF0ZUZvcm1hdDogJ2RkL21tL3l5JywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydjYSddKTsKfSk7LyogQ3plY2ggaW5pdGlhbGlzYXRpb24gZm9yIHRoZSBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAqLwovKiBXcml0dGVuIGJ5IFRvbWFzIE11bGxlciAodG9tYXNAdG9tYXMtbXVsbGVyLm5ldCkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnY3MnXSA9IHsKCQljbG9zZVRleHQ6ICdaYXbFmcOtdCcsCgkJcHJldlRleHQ6ICcmI3gzYztExZnDrXZlJywKCQluZXh0VGV4dDogJ1BvemTEm2ppJiN4M2U7JywKCQljdXJyZW50VGV4dDogJ055bsOtJywKCQltb250aE5hbWVzOiBbJ2xlZGVuJywnw7pub3InLCdixZllemVuJywnZHViZW4nLCdrdsSbdGVuJywnxI1lcnZlbicsCiAgICAgICAgJ8SNZXJ2ZW5lYycsJ3NycGVuJywnesOhxZnDrScsJ8WZw61qZW4nLCdsaXN0b3BhZCcsJ3Byb3NpbmVjJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ2xlZCcsJ8O6bm8nLCdixZllJywnZHViJywna3bEmycsJ8SNZXInLAoJCSfEjXZjJywnc3JwJywnesOhxZknLCfFmcOtaicsJ2xpcycsJ3BybyddLAoJCWRheU5hbWVzOiBbJ25lZMSbbGUnLCAncG9uZMSbbMOtJywgJ8O6dGVyw70nLCAnc3TFmWVkYScsICfEjXR2cnRlaycsICdww6F0ZWsnLCAnc29ib3RhJ10sCgkJZGF5TmFtZXNTaG9ydDogWyduZScsICdwbycsICfDunQnLCAnc3QnLCAnxI10JywgJ3DDoScsICdzbyddLAoJCWRheU5hbWVzTWluOiBbJ25lJywncG8nLCfDunQnLCdzdCcsJ8SNdCcsJ3DDoScsJ3NvJ10sCgkJd2Vla0hlYWRlcjogJ1TDvWQnLAoJCWRhdGVGb3JtYXQ6ICdkZC5tbS55eScsCgkJZmlyc3REYXk6IDEsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnY3MnXSk7Cn0pOwovKiBEYW5pc2ggaW5pdGlhbGlzYXRpb24gZm9yIHRoZSBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAqLwovKiBXcml0dGVuIGJ5IEphbiBDaHJpc3RlbnNlbiAoIGRlbGV0ZXN0dWZmQGdtYWlsLmNvbSkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKICAgICQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZGEnXSA9IHsKCQljbG9zZVRleHQ6ICdMdWsnLAogICAgICAgIHByZXZUZXh0OiAnJiN4M2M7Rm9ycmlnZScsCgkJbmV4dFRleHQ6ICdOw6ZzdGUmI3gzZTsnLAoJCWN1cnJlbnRUZXh0OiAnSWRhZycsCiAgICAgICAgbW9udGhOYW1lczogWydKYW51YXInLCdGZWJydWFyJywnTWFydHMnLCdBcHJpbCcsJ01haicsJ0p1bmknLAogICAgICAgICdKdWxpJywnQXVndXN0JywnU2VwdGVtYmVyJywnT2t0b2JlcicsJ05vdmVtYmVyJywnRGVjZW1iZXInXSwKICAgICAgICBtb250aE5hbWVzU2hvcnQ6IFsnSmFuJywnRmViJywnTWFyJywnQXByJywnTWFqJywnSnVuJywKICAgICAgICAnSnVsJywnQXVnJywnU2VwJywnT2t0JywnTm92JywnRGVjJ10sCgkJZGF5TmFtZXM6IFsnU8O4bmRhZycsJ01hbmRhZycsJ1RpcnNkYWcnLCdPbnNkYWcnLCdUb3JzZGFnJywnRnJlZGFnJywnTMO4cmRhZyddLAoJCWRheU5hbWVzU2hvcnQ6IFsnU8O4bicsJ01hbicsJ1RpcicsJ09ucycsJ1RvcicsJ0ZyZScsJ0zDuHInXSwKCQlkYXlOYW1lc01pbjogWydTw7gnLCdNYScsJ1RpJywnT24nLCdUbycsJ0ZyJywnTMO4J10sCgkJd2Vla0hlYWRlcjogJ1VnZScsCiAgICAgICAgZGF0ZUZvcm1hdDogJ2RkLW1tLXl5JywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CiAgICAkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydkYSddKTsKfSk7Ci8qIEdlcm1hbiBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgTWlsaWFuIFdvbGZmIChtYWlsQG1pbGlhbncuZGUpLiAqLwpqUXVlcnkoZnVuY3Rpb24oJCl7CgkkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2RlJ10gPSB7CgkJY2xvc2VUZXh0OiAnc2NobGllw59lbicsCgkJcHJldlRleHQ6ICcmI3gzYzt6dXLDvGNrJywKCQluZXh0VGV4dDogJ1ZvciYjeDNlOycsCgkJY3VycmVudFRleHQ6ICdoZXV0ZScsCgkJbW9udGhOYW1lczogWydKYW51YXInLCdGZWJydWFyJywnTcOkcnonLCdBcHJpbCcsJ01haScsJ0p1bmknLAoJCSdKdWxpJywnQXVndXN0JywnU2VwdGVtYmVyJywnT2t0b2JlcicsJ05vdmVtYmVyJywnRGV6ZW1iZXInXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnSmFuJywnRmViJywnTcOkcicsJ0FwcicsJ01haScsJ0p1bicsCgkJJ0p1bCcsJ0F1ZycsJ1NlcCcsJ09rdCcsJ05vdicsJ0RleiddLAoJCWRheU5hbWVzOiBbJ1Nvbm50YWcnLCdNb250YWcnLCdEaWVuc3RhZycsJ01pdHR3b2NoJywnRG9ubmVyc3RhZycsJ0ZyZWl0YWcnLCdTYW1zdGFnJ10sCgkJZGF5TmFtZXNTaG9ydDogWydTbycsJ01vJywnRGknLCdNaScsJ0RvJywnRnInLCdTYSddLAoJCWRheU5hbWVzTWluOiBbJ1NvJywnTW8nLCdEaScsJ01pJywnRG8nLCdGcicsJ1NhJ10sCgkJd2Vla0hlYWRlcjogJ1dvJywKCQlkYXRlRm9ybWF0OiAnZGQubW0ueXknLAoJCWZpcnN0RGF5OiAxLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2RlJ10pOwp9KTsKLyogR3JlZWsgKGVsKSBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgQWxleCBDaWNvdmljIChodHRwOi8vd3d3LmFsZXhjaWNvdmljLmNvbSkgKi8KalF1ZXJ5KGZ1bmN0aW9uKCQpewoJJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydlbCddID0gewoJCWNsb3NlVGV4dDogJ86azrvOtc6vz4POuc68zr8nLAoJCXByZXZUZXh0OiAnzqDPgc6/zrfOs86/z43OvM61zr3Ov8+CJywKCQluZXh0VGV4dDogJ86Vz4DPjM68zrXOvc6/z4InLAoJCWN1cnJlbnRUZXh0OiAnzqTPgc6tz4fPic69IM6czq7Ovc6xz4InLAoJCW1vbnRoTmFtZXM6IFsnzpnOsc69zr/Phc6sz4HOuc6/z4InLCfOps61zrLPgc6/z4XOrM+BzrnOv8+CJywnzpzOrM+Bz4TOuc6/z4InLCfOkc+Az4HOr867zrnOv8+CJywnzpzOrM65zr/PgicsJ86Zzr/Pjc69zrnOv8+CJywKCQknzpnOv8+NzrvOuc6/z4InLCfOkc+NzrPOv8+Fz4PPhM6/z4InLCfOo861z4DPhM6tzrzOss+BzrnOv8+CJywnzp/Ous+Ez47Oss+BzrnOv8+CJywnzp3Ov86tzrzOss+BzrnOv8+CJywnzpTOtc66zq3OvM6yz4HOuc6/z4InXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnzpnOsc69JywnzqbOtc6yJywnzpzOsc+BJywnzpHPgM+BJywnzpzOsc65JywnzpnOv8+Fzr0nLAoJCSfOmc6/z4XOuycsJ86Rz4XOsycsJ86jzrXPgCcsJ86fzrrPhCcsJ86dzr/OtScsJ86UzrXOuiddLAoJCWRheU5hbWVzOiBbJ86az4XPgc65zrHOus6uJywnzpTOtc+Fz4TOrc+BzrEnLCfOpM+Bzq/PhM63JywnzqTOtc+EzqzPgc+EzrcnLCfOoM6tzrzPgM+EzrcnLCfOoM6xz4HOsc+DzrrOtc+Fzq4nLCfOo86szrLOss6xz4TOvyddLAoJCWRheU5hbWVzU2hvcnQ6IFsnzprPhc+BJywnzpTOtc+FJywnzqTPgc65JywnzqTOtc+EJywnzqDOtc68JywnzqDOsc+BJywnzqPOsc6yJ10sCgkJZGF5TmFtZXNNaW46IFsnzprPhScsJ86UzrUnLCfOpM+BJywnzqTOtScsJ86gzrUnLCfOoM6xJywnzqPOsSddLAoJCXdlZWtIZWFkZXI6ICfOlc6yzrQnLAoJCWRhdGVGb3JtYXQ6ICdkZC9tbS95eScsCgkJZmlyc3REYXk6IDEsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZWwnXSk7Cn0pOy8qIEVuZ2xpc2gvQXVzdHJhbGlhIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogQmFzZWQgb24gdGhlIGVuLUdCIGluaXRpYWxpc2F0aW9uLiAqLwpqUXVlcnkoZnVuY3Rpb24oJCl7CgkkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2VuLUFVJ10gPSB7CgkJY2xvc2VUZXh0OiAnRG9uZScsCgkJcHJldlRleHQ6ICdQcmV2JywKCQluZXh0VGV4dDogJ05leHQnLAoJCWN1cnJlbnRUZXh0OiAnVG9kYXknLAoJCW1vbnRoTmFtZXM6IFsnSmFudWFyeScsJ0ZlYnJ1YXJ5JywnTWFyY2gnLCdBcHJpbCcsJ01heScsJ0p1bmUnLAoJCSdKdWx5JywnQXVndXN0JywnU2VwdGVtYmVyJywnT2N0b2JlcicsJ05vdmVtYmVyJywnRGVjZW1iZXInXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnSmFuJywgJ0ZlYicsICdNYXInLCAnQXByJywgJ01heScsICdKdW4nLAoJCSdKdWwnLCAnQXVnJywgJ1NlcCcsICdPY3QnLCAnTm92JywgJ0RlYyddLAoJCWRheU5hbWVzOiBbJ1N1bmRheScsICdNb25kYXknLCAnVHVlc2RheScsICdXZWRuZXNkYXknLCAnVGh1cnNkYXknLCAnRnJpZGF5JywgJ1NhdHVyZGF5J10sCgkJZGF5TmFtZXNTaG9ydDogWydTdW4nLCAnTW9uJywgJ1R1ZScsICdXZWQnLCAnVGh1JywgJ0ZyaScsICdTYXQnXSwKCQlkYXlOYW1lc01pbjogWydTdScsJ01vJywnVHUnLCdXZScsJ1RoJywnRnInLCdTYSddLAoJCXdlZWtIZWFkZXI6ICdXaycsCgkJZGF0ZUZvcm1hdDogJ2RkL21tL3l5JywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydlbi1BVSddKTsKfSk7Ci8qIEVuZ2xpc2gvVUsgaW5pdGlhbGlzYXRpb24gZm9yIHRoZSBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAqLwovKiBXcml0dGVuIGJ5IFN0dWFydC4gKi8KalF1ZXJ5KGZ1bmN0aW9uKCQpewoJJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydlbi1HQiddID0gewoJCWNsb3NlVGV4dDogJ0RvbmUnLAoJCXByZXZUZXh0OiAnUHJldicsCgkJbmV4dFRleHQ6ICdOZXh0JywKCQljdXJyZW50VGV4dDogJ1RvZGF5JywKCQltb250aE5hbWVzOiBbJ0phbnVhcnknLCdGZWJydWFyeScsJ01hcmNoJywnQXByaWwnLCdNYXknLCdKdW5lJywKCQknSnVseScsJ0F1Z3VzdCcsJ1NlcHRlbWJlcicsJ09jdG9iZXInLCdOb3ZlbWJlcicsJ0RlY2VtYmVyJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ0phbicsICdGZWInLCAnTWFyJywgJ0FwcicsICdNYXknLCAnSnVuJywKCQknSnVsJywgJ0F1ZycsICdTZXAnLCAnT2N0JywgJ05vdicsICdEZWMnXSwKCQlkYXlOYW1lczogWydTdW5kYXknLCAnTW9uZGF5JywgJ1R1ZXNkYXknLCAnV2VkbmVzZGF5JywgJ1RodXJzZGF5JywgJ0ZyaWRheScsICdTYXR1cmRheSddLAoJCWRheU5hbWVzU2hvcnQ6IFsnU3VuJywgJ01vbicsICdUdWUnLCAnV2VkJywgJ1RodScsICdGcmknLCAnU2F0J10sCgkJZGF5TmFtZXNNaW46IFsnU3UnLCdNbycsJ1R1JywnV2UnLCdUaCcsJ0ZyJywnU2EnXSwKCQl3ZWVrSGVhZGVyOiAnV2snLAoJCWRhdGVGb3JtYXQ6ICdkZC9tbS95eScsCgkJZmlyc3REYXk6IDEsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZW4tR0InXSk7Cn0pOwovKiBFbmdsaXNoL05ldyBaZWFsYW5kIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogQmFzZWQgb24gdGhlIGVuLUdCIGluaXRpYWxpc2F0aW9uLiAqLwpqUXVlcnkoZnVuY3Rpb24oJCl7CgkkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2VuLU5aJ10gPSB7CgkJY2xvc2VUZXh0OiAnRG9uZScsCgkJcHJldlRleHQ6ICdQcmV2JywKCQluZXh0VGV4dDogJ05leHQnLAoJCWN1cnJlbnRUZXh0OiAnVG9kYXknLAoJCW1vbnRoTmFtZXM6IFsnSmFudWFyeScsJ0ZlYnJ1YXJ5JywnTWFyY2gnLCdBcHJpbCcsJ01heScsJ0p1bmUnLAoJCSdKdWx5JywnQXVndXN0JywnU2VwdGVtYmVyJywnT2N0b2JlcicsJ05vdmVtYmVyJywnRGVjZW1iZXInXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnSmFuJywgJ0ZlYicsICdNYXInLCAnQXByJywgJ01heScsICdKdW4nLAoJCSdKdWwnLCAnQXVnJywgJ1NlcCcsICdPY3QnLCAnTm92JywgJ0RlYyddLAoJCWRheU5hbWVzOiBbJ1N1bmRheScsICdNb25kYXknLCAnVHVlc2RheScsICdXZWRuZXNkYXknLCAnVGh1cnNkYXknLCAnRnJpZGF5JywgJ1NhdHVyZGF5J10sCgkJZGF5TmFtZXNTaG9ydDogWydTdW4nLCAnTW9uJywgJ1R1ZScsICdXZWQnLCAnVGh1JywgJ0ZyaScsICdTYXQnXSwKCQlkYXlOYW1lc01pbjogWydTdScsJ01vJywnVHUnLCdXZScsJ1RoJywnRnInLCdTYSddLAoJCXdlZWtIZWFkZXI6ICdXaycsCgkJZGF0ZUZvcm1hdDogJ2RkL21tL3l5JywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydlbi1OWiddKTsKfSk7Ci8qIEVzcGVyYW50byBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgT2xpdmllciBNLiAob2xpdmllcndlYkBpZnJhbmNlLmNvbSkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZW8nXSA9IHsKCQljbG9zZVRleHQ6ICdGZXJtaScsCgkJcHJldlRleHQ6ICcmbHQ7QW50YScsCgkJbmV4dFRleHQ6ICdTZWt2Jmd0OycsCgkJY3VycmVudFRleHQ6ICdOdW5hJywKCQltb250aE5hbWVzOiBbJ0phbnVhcm8nLCdGZWJydWFybycsJ01hcnRvJywnQXByaWxvJywnTWFqbycsJ0p1bmlvJywKCQknSnVsaW8nLCdBxa1ndXN0bycsJ1NlcHRlbWJybycsJ09rdG9icm8nLCdOb3ZlbWJybycsJ0RlY2VtYnJvJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ0phbicsJ0ZlYicsJ01hcicsJ0FwcicsJ01haicsJ0p1bicsCgkJJ0p1bCcsJ0HFrWcnLCdTZXAnLCdPa3QnLCdOb3YnLCdEZWMnXSwKCQlkYXlOYW1lczogWydEaW1hbsSJbycsJ0x1bmRvJywnTWFyZG8nLCdNZXJrcmVkbycsJ8S0YcWtZG8nLCdWZW5kcmVkbycsJ1NhYmF0byddLAoJCWRheU5hbWVzU2hvcnQ6IFsnRGltJywnTHVuJywnTWFyJywnTWVyJywnxLRhxa0nLCdWZW4nLCdTYWInXSwKCQlkYXlOYW1lc01pbjogWydEaScsJ0x1JywnTWEnLCdNZScsJ8S0YScsJ1ZlJywnU2EnXSwKCQl3ZWVrSGVhZGVyOiAnU2InLAoJCWRhdGVGb3JtYXQ6ICdkZC9tbS95eScsCgkJZmlyc3REYXk6IDAsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZW8nXSk7Cn0pOwovKiBJbmljaWFsaXphY2nDs24gZW4gZXNwYcOxb2wgcGFyYSBsYSBleHRlbnNpw7NuICdVSSBkYXRlIHBpY2tlcicgcGFyYSBqUXVlcnkuICovCi8qIFRyYWR1Y2lkbyBwb3IgVmVzdGVyICh4dmVzdGVyQGdtYWlsLmNvbSkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZXMnXSA9IHsKCQljbG9zZVRleHQ6ICdDZXJyYXInLAoJCXByZXZUZXh0OiAnJiN4M2M7QW50JywKCQluZXh0VGV4dDogJ1NpZyYjeDNlOycsCgkJY3VycmVudFRleHQ6ICdIb3knLAoJCW1vbnRoTmFtZXM6IFsnRW5lcm8nLCdGZWJyZXJvJywnTWFyem8nLCdBYnJpbCcsJ01heW8nLCdKdW5pbycsCgkJJ0p1bGlvJywnQWdvc3RvJywnU2VwdGllbWJyZScsJ09jdHVicmUnLCdOb3ZpZW1icmUnLCdEaWNpZW1icmUnXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnRW5lJywnRmViJywnTWFyJywnQWJyJywnTWF5JywnSnVuJywKCQknSnVsJywnQWdvJywnU2VwJywnT2N0JywnTm92JywnRGljJ10sCgkJZGF5TmFtZXM6IFsnRG9taW5nbycsJ0x1bmVzJywnTWFydGVzJywnTWkmZWFjdXRlO3Jjb2xlcycsJ0p1ZXZlcycsJ1ZpZXJuZXMnLCdTJmFhY3V0ZTtiYWRvJ10sCgkJZGF5TmFtZXNTaG9ydDogWydEb20nLCdMdW4nLCdNYXInLCdNaSZlYWN1dGU7JywnSnV2JywnVmllJywnUyZhYWN1dGU7YiddLAoJCWRheU5hbWVzTWluOiBbJ0RvJywnTHUnLCdNYScsJ01pJywnSnUnLCdWaScsJ1MmYWFjdXRlOyddLAoJCXdlZWtIZWFkZXI6ICdTbScsCgkJZGF0ZUZvcm1hdDogJ2RkL21tL3l5JywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydlcyddKTsKfSk7LyogRXN0b25pYW4gaW5pdGlhbGlzYXRpb24gZm9yIHRoZSBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAqLwovKiBXcml0dGVuIGJ5IE1hcnQgU8O1bWVybWFhIChtcnRzLnB5ZGV2IGF0IGdtYWlsIGNvbSkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZXQnXSA9IHsKCQljbG9zZVRleHQ6ICdTdWxnZScsCgkJcHJldlRleHQ6ICdFZWxuZXYnLAoJCW5leHRUZXh0OiAnSsOkcmduZXYnLAoJCWN1cnJlbnRUZXh0OiAnVMOkbmEnLAoJCW1vbnRoTmFtZXM6IFsnSmFhbnVhcicsJ1ZlZWJydWFyJywnTcOkcnRzJywnQXByaWxsJywnTWFpJywnSnV1bmknLAoJCSdKdXVsaScsJ0F1Z3VzdCcsJ1NlcHRlbWJlcicsJ09rdG9vYmVyJywnTm92ZW1iZXInLCdEZXRzZW1iZXInXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnSmFhbicsICdWZWVicicsICdNw6RydHMnLCAnQXByJywgJ01haScsICdKdXVuaScsCgkJJ0p1dWxpJywgJ0F1ZycsICdTZXB0JywgJ09rdCcsICdOb3YnLCAnRGV0cyddLAoJCWRheU5hbWVzOiBbJ1DDvGhhcMOkZXYnLCAnRXNtYXNww6RldicsICdUZWlzaXDDpGV2JywgJ0tvbG1hcMOkZXYnLCAnTmVsamFww6RldicsICdSZWVkZScsICdMYXVww6RldiddLAoJCWRheU5hbWVzU2hvcnQ6IFsnUMO8aGFwJywgJ0VzbWFzcCcsICdUZWlzaXAnLCAnS29sbWFwJywgJ05lbGphcCcsICdSZWVkZScsICdMYXVwJ10sCgkJZGF5TmFtZXNNaW46IFsnUCcsJ0UnLCdUJywnSycsJ04nLCdSJywnTCddLAoJCXdlZWtIZWFkZXI6ICdTbScsCgkJZGF0ZUZvcm1hdDogJ2RkLm1tLnl5JywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydldCddKTsKfSk7IC8qIEV1c2thcmFrbyBvaW5hcnJpYSAnVUkgZGF0ZSBwaWNrZXInIGpxdWVyeS1rbyBleHRlbnRzaW9hcmVudHphdCAqLwovKiBLYXJyaWthcy1layBpdHp1bGlhIChrYXJyaWthc0BrYXJyaWthcy5jb20pICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZXUnXSA9IHsKCQljbG9zZVRleHQ6ICdFZ2luYScsCgkJcHJldlRleHQ6ICcmI3gzYztBdXInLAoJCW5leHRUZXh0OiAnSHVyJiN4M2U7JywKCQljdXJyZW50VGV4dDogJ0dhdXInLAoJCW1vbnRoTmFtZXM6IFsnVXJ0YXJyaWxhJywnT3RzYWlsYScsJ01hcnR4b2EnLCdBcGlyaWxhJywnTWFpYXR6YScsJ0VrYWluYScsCgkJJ1V6dGFpbGEnLCdBYnV6dHVhJywnSXJhaWxhJywnVXJyaWEnLCdBemFyb2EnLCdBYmVuZHVhJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ1VydCcsJ090cycsJ01hcicsJ0FwaScsJ01haScsJ0VrYScsCgkJJ1V6dCcsJ0FidScsJ0lyYScsJ1VycicsJ0F6YScsJ0FiZSddLAoJCWRheU5hbWVzOiBbJ0lnYW5kZWEnLCdBc3RlbGVoZW5hJywnQXN0ZWFydGVhJywnQXN0ZWF6a2VuYScsJ09zdGVndW5hJywnT3N0aXJhbGEnLCdMYXJ1bmJhdGEnXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ0lnYScsJ0FzdCcsJ0FzdCcsJ0FzdCcsJ09zdCcsJ09zdCcsJ0xhciddLAoJCWRheU5hbWVzTWluOiBbJ0lnJywnQXMnLCdBcycsJ0FzJywnT3MnLCdPcycsJ0xhJ10sCgkJd2Vla0hlYWRlcjogJ1drJywKCQlkYXRlRm9ybWF0OiAneXkvbW0vZGQnLAoJCWZpcnN0RGF5OiAxLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2V1J10pOwp9KTsvKiBQZXJzaWFuIChGYXJzaSkgVHJhbnNsYXRpb24gZm9yIHRoZSBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAqLwovKiBKYXZhZCBNb3dsYW5lemhhZCAtLSBqbW93bGFAZ21haWwuY29tICovCi8qIEphbGFsaSBjYWxlbmRhciBzaG91bGQgc3VwcG9ydGVkIHNvb24hIChJdHMgaW1wbGVtZW50ZWQgYnV0IEkgaGF2ZSB0byB0ZXN0IGl0KSAqLwpqUXVlcnkoZnVuY3Rpb24oJCkgewoJJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydmYSddID0gewoJCWNsb3NlVGV4dDogJ9io2LPYqtmGJywKCQlwcmV2VGV4dDogJyYjeDNjO9mC2KjZhNmKJywKCQluZXh0VGV4dDogJ9io2LnYr9mKJiN4M2U7JywKCQljdXJyZW50VGV4dDogJ9in2YXYsdmI2LInLAoJCW1vbnRoTmFtZXM6IFsn2YHYsdmI2LHYr9mK2YYnLCfYp9ix2K/Zitio2YfYtNiqJywn2K7Ysdiv2KfYrycsJ9iq2YrYsScsJ9mF2LHYr9in2K8nLCfYtNmH2LHZitmI2LEnLAoJCSfZhdmH2LEnLCfYotio2KfZhicsJ9ii2LDYsScsJ9iv2YonLCfYqNmH2YXZhicsJ9in2LPZgdmG2K8nXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnMScsJzInLCczJywnNCcsJzUnLCc2JywnNycsJzgnLCc5JywnMTAnLCcxMScsJzEyJ10sCgkJZGF5TmFtZXM6IFsn2Yraqdi02YbYqNmHJywn2K/ZiNi02YbYqNmHJywn2LPZh+KAjNi02YbYqNmHJywn2obZh9in2LHYtNmG2KjZhycsJ9m+2YbYrNi02YbYqNmHJywn2KzZhdi52YcnLCfYtNmG2KjZhyddLAoJCWRheU5hbWVzU2hvcnQ6IFsn2YonLCfYrycsJ9izJywn2oYnLCfZvicsJ9isJywgJ9i0J10sCgkJZGF5TmFtZXNNaW46IFsn2YonLCfYrycsJ9izJywn2oYnLCfZvicsJ9isJywgJ9i0J10sCgkJd2Vla0hlYWRlcjogJ9mH2YEnLAoJCWRhdGVGb3JtYXQ6ICd5eS9tbS9kZCcsCgkJZmlyc3REYXk6IDYsCgkJaXNSVEw6IHRydWUsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydmYSddKTsKfSk7LyogRmlubmlzaCBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgSGFycmkgS2lscGnvv70gKGhhcnJpa2lscGlvQGdtYWlsLmNvbSkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKICAgICQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZmknXSA9IHsKCQljbG9zZVRleHQ6ICdTdWxqZScsCgkJcHJldlRleHQ6ICcmbGFxdW87RWRlbGxpbmVuJywKCQluZXh0VGV4dDogJ1NldXJhYXZhJnJhcXVvOycsCgkJY3VycmVudFRleHQ6ICdUJmF1bWw7biZhdW1sOyZhdW1sO24nLAogICAgICAgIG1vbnRoTmFtZXM6IFsnVGFtbWlrdXUnLCdIZWxtaWt1dScsJ01hYWxpc2t1dScsJ0h1aHRpa3V1JywnVG91a29rdXUnLCdLZXMmYXVtbDtrdXUnLAogICAgICAgICdIZWluJmF1bWw7a3V1JywnRWxva3V1JywnU3l5c2t1dScsJ0xva2FrdXUnLCdNYXJyYXNrdXUnLCdKb3VsdWt1dSddLAogICAgICAgIG1vbnRoTmFtZXNTaG9ydDogWydUYW1taScsJ0hlbG1pJywnTWFhbGlzJywnSHVodGknLCdUb3VrbycsJ0tlcyZhdW1sOycsCiAgICAgICAgJ0hlaW4mYXVtbDsnLCdFbG8nLCdTeXlzJywnTG9rYScsJ01hcnJhcycsJ0pvdWx1J10sCgkJZGF5TmFtZXNTaG9ydDogWydTdScsJ01hJywnVGknLCdLZScsJ1RvJywnUGUnLCdTdSddLAoJCWRheU5hbWVzOiBbJ1N1bm51bnRhaScsJ01hYW5hbnRhaScsJ1RpaXN0YWknLCdLZXNraXZpaWtrbycsJ1RvcnN0YWknLCdQZXJqYW50YWknLCdMYXVhbnRhaSddLAoJCWRheU5hbWVzTWluOiBbJ1N1JywnTWEnLCdUaScsJ0tlJywnVG8nLCdQZScsJ0xhJ10sCgkJd2Vla0hlYWRlcjogJ1ZrJywKICAgICAgICBkYXRlRm9ybWF0OiAnZGQubW0ueXknLAoJCWZpcnN0RGF5OiAxLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKICAgICQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2ZpJ10pOwp9KTsKLyogRmFyb2VzZSBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4gKi8KLyogV3JpdHRlbiBieSBTdmVycmkgTW9ociBPbHNlbiwgc3ZlcnJpbW9AZ21haWwuY29tICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZm8nXSA9IHsKCQljbG9zZVRleHQ6ICdMYXQgYWZ0dXInLAoJCXByZXZUZXh0OiAnJiN4M2M7RnlycmEnLAoJCW5leHRUZXh0OiAnTsOmc3RhJiN4M2U7JywKCQljdXJyZW50VGV4dDogJ8ONIGRhZycsCgkJbW9udGhOYW1lczogWydKYW51YXInLCdGZWJydWFyJywnTWFycycsJ0FwcsOtbCcsJ01laScsJ0p1bmknLAoJCSdKdWxpJywnQXVndXN0JywnU2VwdGVtYmVyJywnT2t0b2JlcicsJ05vdmVtYmVyJywnRGVzZW1iZXInXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnSmFuJywnRmViJywnTWFyJywnQXByJywnTWVpJywnSnVuJywKCQknSnVsJywnQXVnJywnU2VwJywnT2t0JywnTm92JywnRGVzJ10sCgkJZGF5TmFtZXM6IFsnU3VubnVkYWd1cicsJ03DoW5hZGFndXInLCdUw71zZGFndXInLCdNaWt1ZGFndXInLCdIw7NzZGFndXInLCdGcsOtZ2dqYWRhZ3VyJywnTGV5YXJkYWd1ciddLAoJCWRheU5hbWVzU2hvcnQ6IFsnU3VuJywnTcOhbicsJ1TDvXMnLCdNaWsnLCdIw7NzJywnRnLDrScsJ0xleSddLAoJCWRheU5hbWVzTWluOiBbJ1N1JywnTcOhJywnVMO9JywnTWknLCdIw7MnLCdGcicsJ0xlJ10sCgkJd2Vla0hlYWRlcjogJ1ZrJywKCQlkYXRlRm9ybWF0OiAnZGQtbW0teXknLAoJCWZpcnN0RGF5OiAwLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2ZvJ10pOwp9KTsKLyogU3dpc3MtRnJlbmNoIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBNYXJ0aW4gVm9lbGtsZSAobWFydGluLnZvZWxrbGVAZS10Yy5jaCkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZnItQ0gnXSA9IHsKCQljbG9zZVRleHQ6ICdGZXJtZXInLAoJCXByZXZUZXh0OiAnJiN4M2M7UHLDqWMnLAoJCW5leHRUZXh0OiAnU3VpdiYjeDNlOycsCgkJY3VycmVudFRleHQ6ICdDb3VyYW50JywKCQltb250aE5hbWVzOiBbJ0phbnZpZXInLCdGw6l2cmllcicsJ01hcnMnLCdBdnJpbCcsJ01haScsJ0p1aW4nLAoJCSdKdWlsbGV0JywnQW/Du3QnLCdTZXB0ZW1icmUnLCdPY3RvYnJlJywnTm92ZW1icmUnLCdEw6ljZW1icmUnXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnSmFuJywnRsOpdicsJ01hcicsJ0F2cicsJ01haScsJ0p1bicsCgkJJ0p1bCcsJ0Fvw7snLCdTZXAnLCdPY3QnLCdOb3YnLCdEw6ljJ10sCgkJZGF5TmFtZXM6IFsnRGltYW5jaGUnLCdMdW5kaScsJ01hcmRpJywnTWVyY3JlZGknLCdKZXVkaScsJ1ZlbmRyZWRpJywnU2FtZWRpJ10sCgkJZGF5TmFtZXNTaG9ydDogWydEaW0nLCdMdW4nLCdNYXInLCdNZXInLCdKZXUnLCdWZW4nLCdTYW0nXSwKCQlkYXlOYW1lc01pbjogWydEaScsJ0x1JywnTWEnLCdNZScsJ0plJywnVmUnLCdTYSddLAoJCXdlZWtIZWFkZXI6ICdTbScsCgkJZGF0ZUZvcm1hdDogJ2RkLm1tLnl5JywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydmci1DSCddKTsKfSk7LyogRnJlbmNoIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBLZWl0aCBXb29kIChrYndvb2R7YXR9aWluZXQuY29tLmF1KSwKICAgICAgICAgICAgICBTdMOpcGhhbmUgTmFobWFuaSAoc2hvbGJ5QHNob2xieS5uZXQpLAogICAgICAgICAgICAgIFN0w6lwaGFuZSBSYWltYmF1bHQgPHN0ZXBoYW5lLnJhaW1iYXVsdEBnbWFpbC5jb20+ICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZnInXSA9IHsKCQljbG9zZVRleHQ6ICdGZXJtZXInLAoJCXByZXZUZXh0OiAnUHLDqWPDqWRlbnQnLAoJCW5leHRUZXh0OiAnU3VpdmFudCcsCgkJY3VycmVudFRleHQ6ICdBdWpvdXJkXCdodWknLAoJCW1vbnRoTmFtZXM6IFsnSmFudmllcicsJ0bDqXZyaWVyJywnTWFycycsJ0F2cmlsJywnTWFpJywnSnVpbicsCgkJJ0p1aWxsZXQnLCdBb8O7dCcsJ1NlcHRlbWJyZScsJ09jdG9icmUnLCdOb3ZlbWJyZScsJ0TDqWNlbWJyZSddLAoJCW1vbnRoTmFtZXNTaG9ydDogWydKYW52LicsJ0bDqXZyLicsJ01hcnMnLCdBdnJpbCcsJ01haScsJ0p1aW4nLAoJCSdKdWlsLicsJ0Fvw7t0JywnU2VwdC4nLCdPY3QuJywnTm92LicsJ0TDqWMuJ10sCgkJZGF5TmFtZXM6IFsnRGltYW5jaGUnLCdMdW5kaScsJ01hcmRpJywnTWVyY3JlZGknLCdKZXVkaScsJ1ZlbmRyZWRpJywnU2FtZWRpJ10sCgkJZGF5TmFtZXNTaG9ydDogWydEaW0uJywnTHVuLicsJ01hci4nLCdNZXIuJywnSmV1LicsJ1Zlbi4nLCdTYW0uJ10sCgkJZGF5TmFtZXNNaW46IFsnRCcsJ0wnLCdNJywnTScsJ0onLCdWJywnUyddLAoJCXdlZWtIZWFkZXI6ICdTZW0uJywKCQlkYXRlRm9ybWF0OiAnZGQvbW0veXknLAoJCWZpcnN0RGF5OiAxLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2ZyJ10pOwp9KTsKLyogR2FsaWNpYW4gbG9jYWxpemF0aW9uIGZvciAnVUkgZGF0ZSBwaWNrZXInIGpRdWVyeSBleHRlbnNpb24uICovCi8qIFRyYW5zbGF0ZWQgYnkgSm9yZ2UgQmFycmVpcm8gPHlvcnR4LmJhcnJ5QGdtYWlsLmNvbT4uICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZ2wnXSA9IHsKCQljbG9zZVRleHQ6ICdQZWNoYXInLAoJCXByZXZUZXh0OiAnJiN4M2M7QW50JywKCQluZXh0VGV4dDogJ1NlZyYjeDNlOycsCgkJY3VycmVudFRleHQ6ICdIb3hlJywKCQltb250aE5hbWVzOiBbJ1hhbmVpcm8nLCdGZWJyZWlybycsJ01hcnpvJywnQWJyaWwnLCdNYWlvJywnWHXDsW8nLAoJCSdYdWxsbycsJ0Fnb3N0bycsJ1NldGVtYnJvJywnT3V0dWJybycsJ05vdmVtYnJvJywnRGVjZW1icm8nXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnWGFuJywnRmViJywnTWFyJywnQWJyJywnTWFpJywnWHXDsScsCgkJJ1h1bCcsJ0FnbycsJ1NldCcsJ091dCcsJ05vdicsJ0RlYyddLAoJCWRheU5hbWVzOiBbJ0RvbWluZ28nLCdMdW5zJywnTWFydGVzJywnTSZlYWN1dGU7cmNvcmVzJywnWG92ZXMnLCdWZW5yZXMnLCdTJmFhY3V0ZTtiYWRvJ10sCgkJZGF5TmFtZXNTaG9ydDogWydEb20nLCdMdW4nLCdNYXInLCdNJmVhY3V0ZTtyJywnWG92JywnVmVuJywnUyZhYWN1dGU7YiddLAoJCWRheU5hbWVzTWluOiBbJ0RvJywnTHUnLCdNYScsJ00mZWFjdXRlOycsJ1hvJywnVmUnLCdTJmFhY3V0ZTsnXSwKCQl3ZWVrSGVhZGVyOiAnU20nLAoJCWRhdGVGb3JtYXQ6ICdkZC9tbS95eScsCgkJZmlyc3REYXk6IDEsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZ2wnXSk7Cn0pOy8qIEhlYnJldyBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIFVJIERhdGVwaWNrZXIgZXh0ZW5zaW9uLiAqLwovKiBXcml0dGVuIGJ5IEFtaXIgSGFyZG9uIChhaGFyZG9uIGF0IGdtYWlsIGRvdCBjb20pLiAqLwpqUXVlcnkoZnVuY3Rpb24oJCl7CgkkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2hlJ10gPSB7CgkJY2xvc2VUZXh0OiAn16HXkteV16gnLAoJCXByZXZUZXh0OiAnJiN4M2M715TXp9eV15PXnScsCgkJbmV4dFRleHQ6ICfXlNeR15AmI3gzZTsnLAoJCWN1cnJlbnRUZXh0OiAn15TXmdeV150nLAoJCW1vbnRoTmFtZXM6IFsn15nXoNeV15DXqCcsJ9ek15HXqNeV15DXqCcsJ9ee16jXpScsJ9eQ16TXqNeZ15wnLCfXnteQ15knLCfXmdeV16DXmScsCgkJJ9eZ15XXnNeZJywn15DXldeS15XXodeYJywn16HXpNeY157XkdeoJywn15DXlden15jXldeR16gnLCfXoNeV15HXnteR16gnLCfXk9em157XkdeoJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJzEnLCcyJywnMycsJzQnLCc1JywnNicsCgkJJzcnLCc4JywnOScsJzEwJywnMTEnLCcxMiddLAoJCWRheU5hbWVzOiBbJ9eo15DXqdeV158nLCfXqdeg15knLCfXqdec15nXqdeZJywn16jXkdeZ16LXmScsJ9eX157Xmdep15knLCfXqdeZ16nXmScsJ9ep15HXqiddLAoJCWRheU5hbWVzU2hvcnQ6IFsn15BcJycsJ9eRXCcnLCfXklwnJywn15NcJycsJ9eUXCcnLCfXlVwnJywn16nXkdeqJ10sCgkJZGF5TmFtZXNNaW46IFsn15BcJycsJ9eRXCcnLCfXklwnJywn15NcJycsJ9eUXCcnLCfXlVwnJywn16nXkdeqJ10sCgkJd2Vla0hlYWRlcjogJ1drJywKCQlkYXRlRm9ybWF0OiAnZGQvbW0veXknLAoJCWZpcnN0RGF5OiAwLAoJCWlzUlRMOiB0cnVlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnaGUnXSk7Cn0pOwovKiBDcm9hdGlhbiBpMThuIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBWamVrb3NsYXYgTmVzZWsuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnaHInXSA9IHsKCQljbG9zZVRleHQ6ICdaYXR2b3JpJywKCQlwcmV2VGV4dDogJyYjeDNjOycsCgkJbmV4dFRleHQ6ICcmI3gzZTsnLAoJCWN1cnJlbnRUZXh0OiAnRGFuYXMnLAoJCW1vbnRoTmFtZXM6IFsnU2lqZcSNYW5qJywnVmVsamHEjWEnLCdPxb51amFrJywnVHJhdmFuaicsJ1N2aWJhbmonLCdMaXBhbmonLAoJCSdTcnBhbmonLCdLb2xvdm96JywnUnVqYW4nLCdMaXN0b3BhZCcsJ1N0dWRlbmknLCdQcm9zaW5hYyddLAoJCW1vbnRoTmFtZXNTaG9ydDogWydTaWonLCdWZWxqJywnT8W+dScsJ1RyYScsJ1N2aScsJ0xpcCcsCgkJJ1NycCcsJ0tvbCcsJ1J1aicsJ0xpcycsJ1N0dScsJ1BybyddLAoJCWRheU5hbWVzOiBbJ05lZGplbGphJywnUG9uZWRqZWxqYWsnLCdVdG9yYWsnLCdTcmlqZWRhJywnxIxldHZydGFrJywnUGV0YWsnLCdTdWJvdGEnXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ05lZCcsJ1BvbicsJ1V0bycsJ1NyaScsJ8SMZXQnLCdQZXQnLCdTdWInXSwKCQlkYXlOYW1lc01pbjogWydOZScsJ1BvJywnVXQnLCdTcicsJ8SMZScsJ1BlJywnU3UnXSwKCQl3ZWVrSGVhZGVyOiAnVGplJywKCQlkYXRlRm9ybWF0OiAnZGQubW0ueXkuJywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydociddKTsKfSk7LyogSHVuZ2FyaWFuIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBJc3R2YW4gS2FyYXN6aSAoanF1ZXJ5QHNwYW0ucmFzemkuaHUpLiAqLwpqUXVlcnkoZnVuY3Rpb24oJCl7CgkkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2h1J10gPSB7CgkJY2xvc2VUZXh0OiAnYmV6w6Fyw6FzJywKCQlwcmV2VGV4dDogJyZsYXF1bzsmbmJzcDt2aXNzemEnLAoJCW5leHRUZXh0OiAnZWzFkXJlJm5ic3A7JnJhcXVvOycsCgkJY3VycmVudFRleHQ6ICdtYScsCgkJbW9udGhOYW1lczogWydKYW51w6FyJywgJ0ZlYnJ1w6FyJywgJ03DoXJjaXVzJywgJ8OBcHJpbGlzJywgJ03DoWp1cycsICdKw7puaXVzJywKCQknSsO6bGl1cycsICdBdWd1c3p0dXMnLCAnU3plcHRlbWJlcicsICdPa3TDs2JlcicsICdOb3ZlbWJlcicsICdEZWNlbWJlciddLAoJCW1vbnRoTmFtZXNTaG9ydDogWydKYW4nLCAnRmViJywgJ03DoXInLCAnw4FwcicsICdNw6FqJywgJ0rDum4nLAoJCSdKw7psJywgJ0F1ZycsICdTemVwJywgJ09rdCcsICdOb3YnLCAnRGVjJ10sCgkJZGF5TmFtZXM6IFsnVmFzw6FybmFwJywgJ0jDqXRmw7YnLCAnS2VkZCcsICdTemVyZGEnLCAnQ3PDvHTDtnJ0w7ZrJywgJ1DDqW50ZWsnLCAnU3pvbWJhdCddLAoJCWRheU5hbWVzU2hvcnQ6IFsnVmFzJywgJ0jDqXQnLCAnS2VkJywgJ1N6ZScsICdDc8O8JywgJ1DDqW4nLCAnU3pvJ10sCgkJZGF5TmFtZXNNaW46IFsnVicsICdIJywgJ0snLCAnU3plJywgJ0NzJywgJ1AnLCAnU3pvJ10sCgkJd2Vla0hlYWRlcjogJ0jDqScsCgkJZGF0ZUZvcm1hdDogJ3l5LW1tLWRkJywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiB0cnVlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2h1J10pOwp9KTsKLyogQXJtZW5pYW4oVVRGLTgpIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBMZXZvbiBaYWthcnlhbiAobGV2b24uemFrYXJ5YW5AZ21haWwuY29tKSovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnaHknXSA9IHsKCQljbG9zZVRleHQ6ICfVk9Wh1a/VpdWsJywKCQlwcmV2VGV4dDogJyYjeDNjO9WG1aHVrS4nLAoJCW5leHRUZXh0OiAn1YDVodW7LiYjeDNlOycsCgkJY3VycmVudFRleHQ6ICfUsdW11b3WhdaAJywKCQltb250aE5hbWVzOiBbJ9WA1bjWgtW21b7VodaAJywn1ZPVpdW/1oDVvtWh1oAnLCfVhNWh1oDVvycsJ9Sx1brWgNWr1awnLCfVhNWh1bXVq9W9Jywn1YDVuNaC1bbVq9W9JywKCQkn1YDVuNaC1azVq9W9Jywn1ZXVo9W41b3Vv9W41b0nLCfVjdWl1brVv9Wl1bTVotWl1oAnLCfVgNW41a/Vv9Wl1bTVotWl1oAnLCfVhtW41bXVpdW01aLVpdaAJywn1LTVpdWv1b/VpdW01aLVpdaAJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ9WA1bjWgtW21b4nLCfVk9Wl1b/WgCcsJ9WE1aHWgNW/Jywn1LHVutaAJywn1YTVodW11avVvScsJ9WA1bjWgtW21avVvScsCgkJJ9WA1bjWgtWsJywn1ZXVo9W9Jywn1Y3VpdW6Jywn1YDVuNWvJywn1YbVuNW1Jywn1LTVpdWvJ10sCgkJZGF5TmFtZXM6IFsn1a/Vq9aA1aHVr9WrJywn1aXVr9W41oLVt9Wh1aLVqdWrJywn1aXWgNWl1oTVt9Wh1aLVqdWrJywn1bnVuNaA1aXWhNW31aHVotWp1asnLCfVsNWr1bbVo9W31aHVotWp1asnLCfVuNaC1oDVotWh1aknLCfVt9Wh1aLVodWpJ10sCgkJZGF5TmFtZXNTaG9ydDogWyfVr9Wr1oAnLCfVpdaA1a8nLCfVpdaA1oQnLCfVudaA1oQnLCfVsNW21aMnLCfVuNaC1oDVoicsJ9W31aLVqSddLAoJCWRheU5hbWVzTWluOiBbJ9Wv1avWgCcsJ9Wl1oDVrycsJ9Wl1oDWhCcsJ9W51oDWhCcsJ9Ww1bbVoycsJ9W41oLWgNWiJywn1bfVotWpJ10sCgkJd2Vla0hlYWRlcjogJ9WH1LLVjycsCgkJZGF0ZUZvcm1hdDogJ2RkLm1tLnl5JywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydoeSddKTsKfSk7LyogSW5kb25lc2lhbiBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgRGVkZW4gRmF0aHVyYWhtYW4gKGRlZGVuZkBnbWFpbC5jb20pLiAqLwpqUXVlcnkoZnVuY3Rpb24oJCl7CgkkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2lkJ10gPSB7CgkJY2xvc2VUZXh0OiAnVHV0dXAnLAoJCXByZXZUZXh0OiAnJiN4M2M7bXVuZHVyJywKCQluZXh0VGV4dDogJ21hanUmI3gzZTsnLAoJCWN1cnJlbnRUZXh0OiAnaGFyaSBpbmknLAoJCW1vbnRoTmFtZXM6IFsnSmFudWFyaScsJ0ZlYnJ1YXJpJywnTWFyZXQnLCdBcHJpbCcsJ01laScsJ0p1bmknLAoJCSdKdWxpJywnQWd1c3R1cycsJ1NlcHRlbWJlcicsJ09rdG9iZXInLCdOb3BlbWJlcicsJ0Rlc2VtYmVyJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ0phbicsJ0ZlYicsJ01hcicsJ0FwcicsJ01laScsJ0p1bicsCgkJJ0p1bCcsJ0FndXMnLCdTZXAnLCdPa3QnLCdOb3AnLCdEZXMnXSwKCQlkYXlOYW1lczogWydNaW5nZ3UnLCdTZW5pbicsJ1NlbGFzYScsJ1JhYnUnLCdLYW1pcycsJ0p1bWF0JywnU2FidHUnXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ01pbicsJ1NlbicsJ1NlbCcsJ1JhYicsJ2thbScsJ0p1bScsJ1NhYiddLAoJCWRheU5hbWVzTWluOiBbJ01nJywnU24nLCdTbCcsJ1JiJywnS20nLCdqbScsJ1NiJ10sCgkJd2Vla0hlYWRlcjogJ01nJywKCQlkYXRlRm9ybWF0OiAnZGQvbW0veXknLAoJCWZpcnN0RGF5OiAwLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2lkJ10pOwp9KTsvKiBJY2VsYW5kaWMgaW5pdGlhbGlzYXRpb24gZm9yIHRoZSBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAqLwovKiBXcml0dGVuIGJ5IEhhdWt1ciBILiBUaG9yc3NvbiAoaGF1a3VyQGVza2lsbC5pcykuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnaXMnXSA9IHsKCQljbG9zZVRleHQ6ICdMb2thJywKCQlwcmV2VGV4dDogJyYjeDNjOyBGeXJyaScsCgkJbmV4dFRleHQ6ICdOJmFlbGlnO3N0aSAmI3gzZTsnLAoJCWN1cnJlbnRUZXh0OiAnJklhY3V0ZTsgZGFnJywKCQltb250aE5hbWVzOiBbJ0phbiZ1YWN1dGU7YXInLCdGZWJyJnVhY3V0ZTthcicsJ01hcnMnLCdBcHImaWFjdXRlO2wnLCdNYSZpYWN1dGUnLCdKJnVhY3V0ZTtuJmlhY3V0ZTsnLAoJCSdKJnVhY3V0ZTtsJmlhY3V0ZTsnLCcmQWFjdXRlO2cmdWFjdXRlO3N0JywnU2VwdGVtYmVyJywnT2t0Jm9hY3V0ZTtiZXInLCdOJm9hY3V0ZTt2ZW1iZXInLCdEZXNlbWJlciddLAoJCW1vbnRoTmFtZXNTaG9ydDogWydKYW4nLCdGZWInLCdNYXInLCdBcHInLCdNYSZpYWN1dGU7JywnSiZ1YWN1dGU7bicsCgkJJ0omdWFjdXRlO2wnLCcmQWFjdXRlO2cmdWFjdXRlOycsJ1NlcCcsJ09rdCcsJ04mb2FjdXRlO3YnLCdEZXMnXSwKCQlkYXlOYW1lczogWydTdW5udWRhZ3VyJywnTSZhYWN1dGU7bnVkYWd1cicsJyZUSE9STjtyaSZldGg7anVkYWd1cicsJ01pJmV0aDt2aWt1ZGFndXInLCdGaW1tdHVkYWd1cicsJ0Ymb3VtbDtzdHVkYWd1cicsJ0xhdWdhcmRhZ3VyJ10sCgkJZGF5TmFtZXNTaG9ydDogWydTdW4nLCdNJmFhY3V0ZTtuJywnJlRIT1JOO3JpJywnTWkmZXRoOycsJ0ZpbScsJ0Ymb3VtbDtzJywnTGF1J10sCgkJZGF5TmFtZXNNaW46IFsnU3UnLCdNJmFhY3V0ZTsnLCcmVEhPUk47cicsJ01pJywnRmknLCdGJm91bWw7JywnTGEnXSwKCQl3ZWVrSGVhZGVyOiAnVmlrYScsCgkJZGF0ZUZvcm1hdDogJ2RkL21tL3l5JywKCQlmaXJzdERheTogMCwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydpcyddKTsKfSk7LyogSXRhbGlhbiBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgQW50b25lbGxvIFBhc2VsbGEgKGFudG9uZWxsby5wYXNlbGxhQGdtYWlsLmNvbSkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnaXQnXSA9IHsKCQljbG9zZVRleHQ6ICdDaGl1ZGknLAoJCXByZXZUZXh0OiAnJiN4M2M7UHJlYycsCgkJbmV4dFRleHQ6ICdTdWNjJiN4M2U7JywKCQljdXJyZW50VGV4dDogJ09nZ2knLAoJCW1vbnRoTmFtZXM6IFsnR2VubmFpbycsJ0ZlYmJyYWlvJywnTWFyem8nLCdBcHJpbGUnLCdNYWdnaW8nLCdHaXVnbm8nLAoJCQknTHVnbGlvJywnQWdvc3RvJywnU2V0dGVtYnJlJywnT3R0b2JyZScsJ05vdmVtYnJlJywnRGljZW1icmUnXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnR2VuJywnRmViJywnTWFyJywnQXByJywnTWFnJywnR2l1JywKCQkJJ0x1ZycsJ0FnbycsJ1NldCcsJ090dCcsJ05vdicsJ0RpYyddLAoJCWRheU5hbWVzOiBbJ0RvbWVuaWNhJywnTHVuZWQmIzIzNicsJ01hcnRlZCYjMjM2JywnTWVyY29sZWQmIzIzNicsJ0dpb3ZlZCYjMjM2JywnVmVuZXJkJiMyMzYnLCdTYWJhdG8nXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ0RvbScsJ0x1bicsJ01hcicsJ01lcicsJ0dpbycsJ1ZlbicsJ1NhYiddLAoJCWRheU5hbWVzTWluOiBbJ0RvJywnTHUnLCdNYScsJ01lJywnR2knLCdWZScsJ1NhJ10sCgkJd2Vla0hlYWRlcjogJ1NtJywKCQlkYXRlRm9ybWF0OiAnZGQvbW0veXknLAoJCWZpcnN0RGF5OiAxLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2l0J10pOwp9KTsKLyogSmFwYW5lc2UgaW5pdGlhbGlzYXRpb24gZm9yIHRoZSBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAqLwovKiBXcml0dGVuIGJ5IEtlbnRhcm8gU0FUTyAoa2VudGFyb0ByYW52aXMuY29tKS4gKi8KalF1ZXJ5KGZ1bmN0aW9uKCQpewoJJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydqYSddID0gewoJCWNsb3NlVGV4dDogJ+mWieOBmOOCiycsCgkJcHJldlRleHQ6ICcmI3gzYzvliY0nLAoJCW5leHRUZXh0OiAn5qyhJiN4M2U7JywKCQljdXJyZW50VGV4dDogJ+S7iuaXpScsCgkJbW9udGhOYW1lczogWycx5pyIJywnMuaciCcsJzPmnIgnLCc05pyIJywnNeaciCcsJzbmnIgnLAoJCSc35pyIJywnOOaciCcsJznmnIgnLCcxMOaciCcsJzEx5pyIJywnMTLmnIgnXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnMeaciCcsJzLmnIgnLCcz5pyIJywnNOaciCcsJzXmnIgnLCc25pyIJywKCQknN+aciCcsJzjmnIgnLCc55pyIJywnMTDmnIgnLCcxMeaciCcsJzEy5pyIJ10sCgkJZGF5TmFtZXM6IFsn5pel5puc5pelJywn5pyI5puc5pelJywn54Gr5puc5pelJywn5rC05puc5pelJywn5pyo5puc5pelJywn6YeR5puc5pelJywn5Zyf5puc5pelJ10sCgkJZGF5TmFtZXNTaG9ydDogWyfml6UnLCfmnIgnLCfngasnLCfmsLQnLCfmnKgnLCfph5EnLCflnJ8nXSwKCQlkYXlOYW1lc01pbjogWyfml6UnLCfmnIgnLCfngasnLCfmsLQnLCfmnKgnLCfph5EnLCflnJ8nXSwKCQl3ZWVrSGVhZGVyOiAn6YCxJywKCQlkYXRlRm9ybWF0OiAneXkvbW0vZGQnLAoJCWZpcnN0RGF5OiAwLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IHRydWUsCgkJeWVhclN1ZmZpeDogJ+W5tCd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnamEnXSk7Cn0pOy8qIEtvcmVhbiBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBjYWxlbmRhciBleHRlbnNpb24uICovCi8qIFdyaXR0ZW4gYnkgRGFlS3dvbiBLYW5nIChuY3Jhc2guZGtAZ21haWwuY29tKS4gKi8KalF1ZXJ5KGZ1bmN0aW9uKCQpewoJJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydrbyddID0gewoJCWNsb3NlVGV4dDogJ+uLq+q4sCcsCgkJcHJldlRleHQ6ICfsnbTsoITri6wnLAoJCW5leHRUZXh0OiAn64uk7J2M64usJywKCQljdXJyZW50VGV4dDogJ+yYpOuKmCcsCgkJbW9udGhOYW1lczogWycx7JuUKEpBTiknLCcy7JuUKEZFQiknLCcz7JuUKE1BUiknLCc07JuUKEFQUiknLCc17JuUKE1BWSknLCc27JuUKEpVTiknLAoJCSc37JuUKEpVTCknLCc47JuUKEFVRyknLCc57JuUKFNFUCknLCcxMOyblChPQ1QpJywnMTHsm5QoTk9WKScsJzEy7JuUKERFQyknXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnMeyblChKQU4pJywnMuyblChGRUIpJywnM+yblChNQVIpJywnNOyblChBUFIpJywnNeyblChNQVkpJywnNuyblChKVU4pJywKCQknN+yblChKVUwpJywnOOyblChBVUcpJywnOeyblChTRVApJywnMTDsm5QoT0NUKScsJzEx7JuUKE5PViknLCcxMuyblChERUMpJ10sCgkJZGF5TmFtZXM6IFsn7J28Jywn7JuUJywn7ZmUJywn7IiYJywn66qpJywn6riIJywn7YagJ10sCgkJZGF5TmFtZXNTaG9ydDogWyfsnbwnLCfsm5QnLCftmZQnLCfsiJgnLCfrqqknLCfquIgnLCfthqAnXSwKCQlkYXlOYW1lc01pbjogWyfsnbwnLCfsm5QnLCftmZQnLCfsiJgnLCfrqqknLCfquIgnLCfthqAnXSwKCQl3ZWVrSGVhZGVyOiAnV2snLAoJCWRhdGVGb3JtYXQ6ICd5eS1tbS1kZCcsCgkJZmlyc3REYXk6IDAsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJ+uFhCd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsna28nXSk7Cn0pOy8qIEthemFraCAoVVRGLTgpIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBEbWl0cml5IEthcmFzeW92IChkbWl0cml5LmthcmFzeW92QGdtYWlsLmNvbSkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsna3onXSA9IHsKCQljbG9zZVRleHQ6ICfQltCw0LHRgycsCgkJcHJldlRleHQ6ICcmI3gzYzvQkNC70LTRi9Kj0pPRiycsCgkJbmV4dFRleHQ6ICfQmtC10LvQtdGB0ZYmI3gzZTsnLAoJCWN1cnJlbnRUZXh0OiAn0JHSr9Cz0ZbQvScsCgkJbW9udGhOYW1lczogWyfSmtCw0qPRgtCw0YAnLCfQkNKb0L/QsNC9Jywn0J3QsNGD0YDRi9C3Jywn0KHTmdGD0ZbRgCcsJ9Cc0LDQvNGL0YAnLCfQnNCw0YPRgdGL0LwnLAoJCSfQqNGW0LvQtNC1Jywn0KLQsNC80YvQtycsJ9Ka0YvRgNC60q/QudC10LonLCfSmtCw0LfQsNC9Jywn0prQsNGA0LDRiNCwJywn0JbQtdC70YLQvtKb0YHQsNC9J10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ9Ka0LDSoycsJ9CQ0pvQvycsJ9Cd0LDRgycsJ9Ch05nRgycsJ9Cc0LDQvCcsJ9Cc0LDRgycsCgkJJ9Co0ZbQuycsJ9Ci0LDQvCcsJ9Ka0YvRgCcsJ9Ka0LDQtycsJ9Ka0LDRgCcsJ9CW0LXQuyddLAoJCWRheU5hbWVzOiBbJ9CW0LXQutGB0LXQvdCx0ZYnLCfQlNKv0LnRgdC10L3QsdGWJywn0KHQtdC50YHQtdC90LHRlicsJ9Ch05nRgNGB0LXQvdCx0ZYnLCfQkdC10LnRgdC10L3QsdGWJywn0JbSsdC80LAnLCfQodC10L3QsdGWJ10sCgkJZGF5TmFtZXNTaG9ydDogWyfQttC60YEnLCfQtNGB0L0nLCfRgdGB0L0nLCfRgdGA0YEnLCfQsdGB0L0nLCfQttC80LAnLCfRgdC90LEnXSwKCQlkYXlOYW1lc01pbjogWyfQltC6Jywn0JTRgScsJ9Ch0YEnLCfQodGAJywn0JHRgScsJ9CW0LwnLCfQodC9J10sCgkJd2Vla0hlYWRlcjogJ9Cd0LUnLAoJCWRhdGVGb3JtYXQ6ICdkZC5tbS55eScsCgkJZmlyc3REYXk6IDEsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsna3onXSk7Cn0pOwovKiBMaXRodWFuaWFuIChVVEYtOCkgaW5pdGlhbGlzYXRpb24gZm9yIHRoZSBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAqLwovKiBAYXV0aG9yIEFydHVyYXMgUGFsZWljaWthcyA8YXJ0dXJhc0BhdmFsb24ubHQ+ICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnbHQnXSA9IHsKCQljbG9zZVRleHQ6ICdVxb5kYXJ5dGknLAoJCXByZXZUZXh0OiAnJiN4M2M7QXRnYWwnLAoJCW5leHRUZXh0OiAnUGlybXluJiN4M2U7JywKCQljdXJyZW50VGV4dDogJ8WgaWFuZGllbicsCgkJbW9udGhOYW1lczogWydTYXVzaXMnLCdWYXNhcmlzJywnS292YXMnLCdCYWxhbmRpcycsJ0dlZ3XFvsSXJywnQmlyxb5lbGlzJywKCQknTGllcGEnLCdSdWdwasWrdGlzJywnUnVnc8SXamlzJywnU3BhbGlzJywnTGFwa3JpdGlzJywnR3J1b2RpcyddLAoJCW1vbnRoTmFtZXNTaG9ydDogWydTYXUnLCdWYXMnLCdLb3YnLCdCYWwnLCdHZWcnLCdCaXInLAoJCSdMaWUnLCdSdWdwJywnUnVncycsJ1NwYScsJ0xhcCcsJ0dydSddLAoJCWRheU5hbWVzOiBbJ3Nla21hZGllbmlzJywncGlybWFkaWVuaXMnLCdhbnRyYWRpZW5pcycsJ3RyZcSNaWFkaWVuaXMnLCdrZXR2aXJ0YWRpZW5pcycsJ3Blbmt0YWRpZW5pcycsJ8WhZcWhdGFkaWVuaXMnXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ3NlaycsJ3BpcicsJ2FudCcsJ3RyZScsJ2tldCcsJ3BlbicsJ8WhZcWhJ10sCgkJZGF5TmFtZXNNaW46IFsnU2UnLCdQcicsJ0FuJywnVHInLCdLZScsJ1BlJywnxaBlJ10sCgkJd2Vla0hlYWRlcjogJ1drJywKCQlkYXRlRm9ybWF0OiAneXktbW0tZGQnLAoJCWZpcnN0RGF5OiAxLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2x0J10pOwp9KTsvKiBMYXR2aWFuIChVVEYtOCkgaW5pdGlhbGlzYXRpb24gZm9yIHRoZSBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAqLwovKiBAYXV0aG9yIEFydHVyYXMgUGFsZWljaWthcyA8YXJ0dXJhcy5wYWxlaWNpa2FzQG1ldGFzaXRlLm5ldD4gKi8KalF1ZXJ5KGZ1bmN0aW9uKCQpewoJJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydsdiddID0gewoJCWNsb3NlVGV4dDogJ0FpenbEk3J0JywKCQlwcmV2VGV4dDogJ0llcHInLAoJCW5leHRUZXh0OiAnTsSBa2EnLAoJCWN1cnJlbnRUZXh0OiAnxaBvZGllbicsCgkJbW9udGhOYW1lczogWydKYW52xIFyaXMnLCdGZWJydcSBcmlzJywnTWFydHMnLCdBcHLEq2xpcycsJ01haWpzJywnSsWrbmlqcycsCgkJJ0rFq2xpanMnLCdBdWd1c3RzJywnU2VwdGVtYnJpcycsJ09rdG9icmlzJywnTm92ZW1icmlzJywnRGVjZW1icmlzJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ0phbicsJ0ZlYicsJ01hcicsJ0FwcicsJ01haScsJ0rFq24nLAoJCSdKxatsJywnQXVnJywnU2VwJywnT2t0JywnTm92JywnRGVjJ10sCgkJZGF5TmFtZXM6IFsnc3bEk3RkaWVuYScsJ3Bpcm1kaWVuYScsJ290cmRpZW5hJywndHJlxaFkaWVuYScsJ2NldHVydGRpZW5hJywncGlla3RkaWVuYScsJ3Nlc3RkaWVuYSddLAoJCWRheU5hbWVzU2hvcnQ6IFsnc3Z0JywncHJtJywnb3RyJywndHJlJywnY3RyJywncGt0Jywnc3N0J10sCgkJZGF5TmFtZXNNaW46IFsnU3YnLCdQcicsJ090JywnVHInLCdDdCcsJ1BrJywnU3MnXSwKCQl3ZWVrSGVhZGVyOiAnTmF2JywKCQlkYXRlRm9ybWF0OiAnZGQtbW0teXknLAoJCWZpcnN0RGF5OiAxLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2x2J10pOwp9KTsvKiBNYWxheWFsYW0gKFVURi04KSBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgU2FqaSBOZWRpeWFuY2hhdGggKHNhamk4OUBnbWFpbC5jb20pLiAqLwpqUXVlcnkoZnVuY3Rpb24oJCl7CgkkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ21sJ10gPSB7CgkJY2xvc2VUZXh0OiAn4LS24LSw4LS/JywKCQlwcmV2VGV4dDogJ+C0ruC1geC0qOC1jeC0qOC0pOC1jeC0pOC1hicsICAKCQluZXh0VGV4dDogJ+C0heC0n+C1geC0pOC1jeC0pOC0pOC1jSAnLAoJCWN1cnJlbnRUZXh0OiAn4LSH4LSo4LWN4LSo4LWNJywKCQltb250aE5hbWVzOiBbJ+C0nOC0qOC1geC0teC0sOC0vycsJ+C0q+C1huC0rOC1jeC0sOC1geC0teC0sOC0vycsJ+C0ruC0vuC0sOC1jeKAjeC0muC1jeC0muC1jScsJ+C0j+C0quC1jeC0sOC0v+C0suC1jeKAjScsJ+C0ruC1h+C0r+C1jScsJ+C0nOC1guC0o+C1jeKAjScsCgkJJ+C0nOC1guC0suC1iCcsJ+C0huC0l+C0uOC1jeC0seC1jeC0seC1jScsJ+C0uOC1huC0quC1jeC0seC1jeC0seC0guC0rOC0sOC1jeKAjScsJ+C0kuC0leC1jeC0n+C1i+C0rOC0sOC1jeKAjScsJ+C0qOC0teC0guC0rOC0sOC1jeKAjScsJ+C0oeC0v+C0uOC0guC0rOC0sOC1jeKAjSddLAoJCW1vbnRoTmFtZXNTaG9ydDogWyfgtJzgtKjgtYEnLCAn4LSr4LWG4LSs4LWNJywgJ+C0ruC0vuC0sOC1jeKAjScsICfgtI/gtKrgtY3gtLDgtL8nLCAn4LSu4LWH4LSv4LWNJywgJ+C0nOC1guC0o+C1jeKAjScsCgkJJ+C0nOC1guC0suC0vicsICfgtIbgtJcnLCAn4LS44LWG4LSq4LWNJywgJ+C0kuC0leC1jeC0n+C1iycsICfgtKjgtLXgtIInLCAn4LSh4LS/4LS4J10sCgkJZGF5TmFtZXM6IFsn4LSe4LS+4LSv4LSw4LWN4oCNJywgJ+C0pOC0v+C0meC1jeC0leC0s+C1jeKAjScsICfgtJrgtYrgtLXgtY3gtLUnLCAn4LSs4LWB4LSn4LSo4LWN4oCNJywgJ+C0teC1jeC0r+C0vuC0tOC0gicsICfgtLXgtYbgtLPgtY3gtLPgtL8nLCAn4LS24LSo4LS/J10sCgkJZGF5TmFtZXNTaG9ydDogWyfgtJ7gtL7gtK8nLCAn4LSk4LS/4LSZ4LWN4LSVJywgJ+C0muC1iuC0teC1jeC0tScsICfgtKzgtYHgtKcnLCAn4LS14LWN4LSv4LS+4LS04LSCJywgJ+C0teC1huC0s+C1jeC0s+C0vycsICfgtLbgtKjgtL8nXSwKCQlkYXlOYW1lc01pbjogWyfgtJ7gtL4nLCfgtKTgtL8nLCfgtJrgtYonLCfgtKzgtYEnLCfgtLXgtY3gtK/gtL4nLCfgtLXgtYYnLCfgtLYnXSwKCQl3ZWVrSGVhZGVyOiAn4LSGJywKCQlkYXRlRm9ybWF0OiAnZGQvbW0veXknLAoJCWZpcnN0RGF5OiAxLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ21sJ10pOwp9KTsKLyogTWFsYXlzaWFuIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBNb2hkIE5hd2F3aSBNb2hhbWFkIEphbWlsaSAobmF3YXdpQHJvbmdnZW5nLm5ldCkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnbXMnXSA9IHsKCQljbG9zZVRleHQ6ICdUdXR1cCcsCgkJcHJldlRleHQ6ICcmI3gzYztTZWJlbHVtJywKCQluZXh0VGV4dDogJ1NlbGVwYXMmI3gzZTsnLAoJCWN1cnJlbnRUZXh0OiAnaGFyaSBpbmknLAoJCW1vbnRoTmFtZXM6IFsnSmFudWFyaScsJ0ZlYnJ1YXJpJywnTWFjJywnQXByaWwnLCdNZWknLCdKdW4nLAoJCSdKdWxhaScsJ09nb3MnLCdTZXB0ZW1iZXInLCdPa3RvYmVyJywnTm92ZW1iZXInLCdEaXNlbWJlciddLAoJCW1vbnRoTmFtZXNTaG9ydDogWydKYW4nLCdGZWInLCdNYWMnLCdBcHInLCdNZWknLCdKdW4nLAoJCSdKdWwnLCdPZ28nLCdTZXAnLCdPa3QnLCdOb3YnLCdEaXMnXSwKCQlkYXlOYW1lczogWydBaGFkJywnSXNuaW4nLCdTZWxhc2EnLCdSYWJ1JywnS2hhbWlzJywnSnVtYWF0JywnU2FidHUnXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ0FoYScsJ0lzbicsJ1NlbCcsJ1JhYicsJ2toYScsJ0p1bScsJ1NhYiddLAoJCWRheU5hbWVzTWluOiBbJ0FoJywnSXMnLCdTZScsJ1JhJywnS2gnLCdKdScsJ1NhJ10sCgkJd2Vla0hlYWRlcjogJ01nJywKCQlkYXRlRm9ybWF0OiAnZGQvbW0veXknLAoJCWZpcnN0RGF5OiAwLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ21zJ10pOwp9KTsvKiBEdXRjaCAoVVRGLTgpIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBNYXRoaWFzIEJ5bmVucyA8aHR0cDovL21hdGhpYXNieW5lbnMuYmUvPiAqLwpqUXVlcnkoZnVuY3Rpb24oJCl7CgkkLmRhdGVwaWNrZXIucmVnaW9uYWwubmwgPSB7CgkJY2xvc2VUZXh0OiAnU2x1aXRlbicsCgkJcHJldlRleHQ6ICfihpAnLAoJCW5leHRUZXh0OiAn4oaSJywKCQljdXJyZW50VGV4dDogJ1ZhbmRhYWcnLAoJCW1vbnRoTmFtZXM6IFsnamFudWFyaScsICdmZWJydWFyaScsICdtYWFydCcsICdhcHJpbCcsICdtZWknLCAnanVuaScsCgkJJ2p1bGknLCAnYXVndXN0dXMnLCAnc2VwdGVtYmVyJywgJ29rdG9iZXInLCAnbm92ZW1iZXInLCAnZGVjZW1iZXInXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnamFuJywgJ2ZlYicsICdtYWEnLCAnYXByJywgJ21laScsICdqdW4nLAoJCSdqdWwnLCAnYXVnJywgJ3NlcCcsICdva3QnLCAnbm92JywgJ2RlYyddLAoJCWRheU5hbWVzOiBbJ3pvbmRhZycsICdtYWFuZGFnJywgJ2RpbnNkYWcnLCAnd29lbnNkYWcnLCAnZG9uZGVyZGFnJywgJ3ZyaWpkYWcnLCAnemF0ZXJkYWcnXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ3pvbicsICdtYWEnLCAnZGluJywgJ3dvZScsICdkb24nLCAndnJpJywgJ3phdCddLAoJCWRheU5hbWVzTWluOiBbJ3pvJywgJ21hJywgJ2RpJywgJ3dvJywgJ2RvJywgJ3ZyJywgJ3phJ10sCgkJd2Vla0hlYWRlcjogJ1drJywKCQlkYXRlRm9ybWF0OiAnZGQtbW0teXknLAoJCWZpcnN0RGF5OiAxLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWwubmwpOwp9KTsvKiBOb3J3ZWdpYW4gaW5pdGlhbGlzYXRpb24gZm9yIHRoZSBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAqLwovKiBXcml0dGVuIGJ5IE5haW1kam9uIFRha2hpcm92IChuYWltZGpvbkBnbWFpbC5jb20pLiAqLwoKalF1ZXJ5KGZ1bmN0aW9uKCQpewogICQuZGF0ZXBpY2tlci5yZWdpb25hbFsnbm8nXSA9IHsKICAgIGNsb3NlVGV4dDogJ0x1a2snLAogICAgcHJldlRleHQ6ICcmbGFxdW87Rm9ycmlnZScsCiAgICBuZXh0VGV4dDogJ05lc3RlJnJhcXVvOycsCiAgICBjdXJyZW50VGV4dDogJ0kgZGFnJywKICAgIG1vbnRoTmFtZXM6IFsnamFudWFyJywnZmVicnVhcicsJ21hcnMnLCdhcHJpbCcsJ21haScsJ2p1bmknLCdqdWxpJywnYXVndXN0Jywnc2VwdGVtYmVyJywnb2t0b2JlcicsJ25vdmVtYmVyJywnZGVzZW1iZXInXSwKICAgIG1vbnRoTmFtZXNTaG9ydDogWydqYW4nLCdmZWInLCdtYXInLCdhcHInLCdtYWknLCdqdW4nLCdqdWwnLCdhdWcnLCdzZXAnLCdva3QnLCdub3YnLCdkZXMnXSwKICAgIGRheU5hbWVzU2hvcnQ6IFsnc8O4bicsJ21hbicsJ3RpcicsJ29ucycsJ3RvcicsJ2ZyZScsJ2zDuHInXSwKICAgIGRheU5hbWVzOiBbJ3PDuG5kYWcnLCdtYW5kYWcnLCd0aXJzZGFnJywnb25zZGFnJywndG9yc2RhZycsJ2ZyZWRhZycsJ2zDuHJkYWcnXSwKICAgIGRheU5hbWVzTWluOiBbJ3PDuCcsJ21hJywndGknLCdvbicsJ3RvJywnZnInLCdsw7gnXSwKICAgIHdlZWtIZWFkZXI6ICdVa2UnLAogICAgZGF0ZUZvcm1hdDogJ2RkLm1tLnl5JywKICAgIGZpcnN0RGF5OiAxLAogICAgaXNSVEw6IGZhbHNlLAogICAgc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKICAgIHllYXJTdWZmaXg6ICcnCiAgfTsKICAkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydubyddKTsKfSk7Ci8qIFBvbGlzaCBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgSmFjZWsgV3lzb2NraSAoamFjZWsud3lzb2NraUBnbWFpbC5jb20pLiAqLwpqUXVlcnkoZnVuY3Rpb24oJCl7CgkkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ3BsJ10gPSB7CgkJY2xvc2VUZXh0OiAnWmFta25paicsCgkJcHJldlRleHQ6ICcmI3gzYztQb3ByemVkbmknLAoJCW5leHRUZXh0OiAnTmFzdMSZcG55JiN4M2U7JywKCQljdXJyZW50VGV4dDogJ0R6acWbJywKCQltb250aE5hbWVzOiBbJ1N0eWN6ZcWEJywnTHV0eScsJ01hcnplYycsJ0t3aWVjaWXFhCcsJ01haicsJ0N6ZXJ3aWVjJywKCQknTGlwaWVjJywnU2llcnBpZcWEJywnV3J6ZXNpZcWEJywnUGHFumR6aWVybmlrJywnTGlzdG9wYWQnLCdHcnVkemllxYQnXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnU3R5JywnTHUnLCdNYXInLCdLdycsJ01haicsJ0N6ZScsCgkJJ0xpcCcsJ1NpZScsJ1dyeicsJ1BhJywnTGlzJywnR3J1J10sCgkJZGF5TmFtZXM6IFsnTmllZHppZWxhJywnUG9uaWVkemlhxYJlaycsJ1d0b3JlaycsJ8Wacm9kYScsJ0N6d2FydGVrJywnUGnEhXRlaycsJ1NvYm90YSddLAoJCWRheU5hbWVzU2hvcnQ6IFsnTmllJywnUG4nLCdXdCcsJ8WacicsJ0N6dycsJ1B0JywnU28nXSwKCQlkYXlOYW1lc01pbjogWydOJywnUG4nLCdXdCcsJ8WacicsJ0N6JywnUHQnLCdTbyddLAoJCXdlZWtIZWFkZXI6ICdUeWR6JywKCQlkYXRlRm9ybWF0OiAnZGQubW0ueXknLAoJCWZpcnN0RGF5OiAxLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ3BsJ10pOwp9KTsKLyogQnJhemlsaWFuIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBMZW9uaWxkbyBDb3N0YSBTaWx2YSAobGVvY3NpbHZhQGdtYWlsLmNvbSkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsncHQtQlInXSA9IHsKCQljbG9zZVRleHQ6ICdGZWNoYXInLAoJCXByZXZUZXh0OiAnJiN4M2M7QW50ZXJpb3InLAoJCW5leHRUZXh0OiAnUHImb2FjdXRlO3hpbW8mI3gzZTsnLAoJCWN1cnJlbnRUZXh0OiAnSG9qZScsCgkJbW9udGhOYW1lczogWydKYW5laXJvJywnRmV2ZXJlaXJvJywnTWFyJmNjZWRpbDtvJywnQWJyaWwnLCdNYWlvJywnSnVuaG8nLAoJCSdKdWxobycsJ0Fnb3N0bycsJ1NldGVtYnJvJywnT3V0dWJybycsJ05vdmVtYnJvJywnRGV6ZW1icm8nXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnSmFuJywnRmV2JywnTWFyJywnQWJyJywnTWFpJywnSnVuJywKCQknSnVsJywnQWdvJywnU2V0JywnT3V0JywnTm92JywnRGV6J10sCgkJZGF5TmFtZXM6IFsnRG9taW5nbycsJ1NlZ3VuZGEtZmVpcmEnLCdUZXImY2NlZGlsO2EtZmVpcmEnLCdRdWFydGEtZmVpcmEnLCdRdWludGEtZmVpcmEnLCdTZXh0YS1mZWlyYScsJ1MmYWFjdXRlO2JhZG8nXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ0RvbScsJ1NlZycsJ1RlcicsJ1F1YScsJ1F1aScsJ1NleCcsJ1MmYWFjdXRlO2InXSwKCQlkYXlOYW1lc01pbjogWydEb20nLCdTZWcnLCdUZXInLCdRdWEnLCdRdWknLCdTZXgnLCdTJmFhY3V0ZTtiJ10sCgkJd2Vla0hlYWRlcjogJ1NtJywKCQlkYXRlRm9ybWF0OiAnZGQvbW0veXknLAoJCWZpcnN0RGF5OiAwLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ3B0LUJSJ10pOwp9KTsvKiBQb3J0dWd1ZXNlIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KalF1ZXJ5KGZ1bmN0aW9uKCQpewoJJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydwdCddID0gewoJCWNsb3NlVGV4dDogJ0ZlY2hhcicsCgkJcHJldlRleHQ6ICcmI3gzYztBbnRlcmlvcicsCgkJbmV4dFRleHQ6ICdTZWd1aW50ZScsCgkJY3VycmVudFRleHQ6ICdIb2plJywKCQltb250aE5hbWVzOiBbJ0phbmVpcm8nLCdGZXZlcmVpcm8nLCdNYXImY2NlZGlsO28nLCdBYnJpbCcsJ01haW8nLCdKdW5obycsCgkJJ0p1bGhvJywnQWdvc3RvJywnU2V0ZW1icm8nLCdPdXR1YnJvJywnTm92ZW1icm8nLCdEZXplbWJybyddLAoJCW1vbnRoTmFtZXNTaG9ydDogWydKYW4nLCdGZXYnLCdNYXInLCdBYnInLCdNYWknLCdKdW4nLAoJCSdKdWwnLCdBZ28nLCdTZXQnLCdPdXQnLCdOb3YnLCdEZXonXSwKCQlkYXlOYW1lczogWydEb21pbmdvJywnU2VndW5kYS1mZWlyYScsJ1RlciZjY2VkaWw7YS1mZWlyYScsJ1F1YXJ0YS1mZWlyYScsJ1F1aW50YS1mZWlyYScsJ1NleHRhLWZlaXJhJywnUyZhYWN1dGU7YmFkbyddLAoJCWRheU5hbWVzU2hvcnQ6IFsnRG9tJywnU2VnJywnVGVyJywnUXVhJywnUXVpJywnU2V4JywnUyZhYWN1dGU7YiddLAoJCWRheU5hbWVzTWluOiBbJ0RvbScsJ1NlZycsJ1RlcicsJ1F1YScsJ1F1aScsJ1NleCcsJ1MmYWFjdXRlO2InXSwKCQl3ZWVrSGVhZGVyOiAnU2VtJywKCQlkYXRlRm9ybWF0OiAnZGQvbW0veXknLAoJCWZpcnN0RGF5OiAwLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ3B0J10pOwp9KTsvKiBSb21hbnNoIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBZdm9ubmUgR2llbmFsICh5dm9ubmUuZ2llbmFsQGVkdWNhLmNoKS4gKi8KalF1ZXJ5KGZ1bmN0aW9uKCQpewoJJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydybSddID0gewoJCWNsb3NlVGV4dDogJ1NlcnJhcicsCgkJcHJldlRleHQ6ICcmI3gzYztTdWFuZGFudCcsCgkJbmV4dFRleHQ6ICdQcmVjZWRlbnQmI3gzZTsnLAoJCWN1cnJlbnRUZXh0OiAnQWN0dWFsJywKCQltb250aE5hbWVzOiBbJ1NjaGFuZXInLCdGYXZyZXInLCdNYXJzJywnQXZyaWdsJywnTWF0ZycsJ1plcmNsYWR1cicsICdGYW5hZHVyJywnQXZ1c3QnLCdTZXR0ZW1iZXInLCdPY3RvYmVyJywnTm92ZW1iZXInLCdEZWNlbWJlciddLAoJCW1vbnRoTmFtZXNTaG9ydDogWydTY2hhJywnRmV2JywnTWFyJywnQXZyJywnTWF0ZycsJ1plcicsICdGYW4nLCdBdnUnLCdTZXR0JywnT2N0JywnTm92JywnRGVjJ10sCgkJZGF5TmFtZXM6IFsnRHVtZW5naWEnLCdHbGluZGVzZGknLCdNYXJkaScsJ01lc2VtbmEnLCdHaWV2Z2lhJywnVmVuZGVyZGknLCdTb25kYSddLAoJCWRheU5hbWVzU2hvcnQ6IFsnRHVtJywnR2xpJywnTWFyJywnTWVzJywnR2llJywnVmVuJywnU29tJ10sCgkJZGF5TmFtZXNNaW46IFsnRHUnLCdHbCcsJ01hJywnTWUnLCdHaScsJ1ZlJywnU28nXSwKCQl3ZWVrSGVhZGVyOiAnZW1uYScsCgkJZGF0ZUZvcm1hdDogJ2RkL21tL3l5JywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydybSddKTsKfSk7Ci8qIFJvbWFuaWFuIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4KICoKICogV3JpdHRlbiBieSBFZG1vbmQgTC4gKGxsX2VkbW9uZEB3YWxsYS5jb20pCiAqIGFuZCBJb251dCBHLiBTdGFuIChpb251dC5nLnN0YW5AZ21haWwuY29tKQogKi8KalF1ZXJ5KGZ1bmN0aW9uKCQpewoJJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydybyddID0gewoJCWNsb3NlVGV4dDogJ8OObmNoaWRlJywKCQlwcmV2VGV4dDogJyZsYXF1bzsgTHVuYSBwcmVjZWRlbnTEgycsCgkJbmV4dFRleHQ6ICdMdW5hIHVybcSDdG9hcmUgJnJhcXVvOycsCgkJY3VycmVudFRleHQ6ICdBemknLAoJCW1vbnRoTmFtZXM6IFsnSWFudWFyaWUnLCdGZWJydWFyaWUnLCdNYXJ0aWUnLCdBcHJpbGllJywnTWFpJywnSXVuaWUnLAoJCSdJdWxpZScsJ0F1Z3VzdCcsJ1NlcHRlbWJyaWUnLCdPY3RvbWJyaWUnLCdOb2llbWJyaWUnLCdEZWNlbWJyaWUnXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnSWFuJywgJ0ZlYicsICdNYXInLCAnQXByJywgJ01haScsICdJdW4nLAoJCSdJdWwnLCAnQXVnJywgJ1NlcCcsICdPY3QnLCAnTm92JywgJ0RlYyddLAoJCWRheU5hbWVzOiBbJ0R1bWluaWPEgycsICdMdW5pJywgJ01hcsWjaScsICdNaWVyY3VyaScsICdKb2knLCAnVmluZXJpJywgJ1PDom1ixIN0xIMnXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ0R1bScsICdMdW4nLCAnTWFyJywgJ01pZScsICdKb2knLCAnVmluJywgJ1PDom0nXSwKCQlkYXlOYW1lc01pbjogWydEdScsJ0x1JywnTWEnLCdNaScsJ0pvJywnVmknLCdTw6InXSwKCQl3ZWVrSGVhZGVyOiAnU8SDcHQnLAoJCWRhdGVGb3JtYXQ6ICdkZC5tbS55eScsCgkJZmlyc3REYXk6IDEsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsncm8nXSk7Cn0pOwovKiBSdXNzaWFuIChVVEYtOCkgaW5pdGlhbGlzYXRpb24gZm9yIHRoZSBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAqLwovKiBXcml0dGVuIGJ5IEFuZHJldyBTdHJvbW5vdiAoc3Ryb21ub3ZAZ21haWwuY29tKS4gKi8KalF1ZXJ5KGZ1bmN0aW9uKCQpewoJJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydydSddID0gewoJCWNsb3NlVGV4dDogJ9CX0LDQutGA0YvRgtGMJywKCQlwcmV2VGV4dDogJyYjeDNjO9Cf0YDQtdC0JywKCQluZXh0VGV4dDogJ9Ch0LvQtdC0JiN4M2U7JywKCQljdXJyZW50VGV4dDogJ9Ch0LXQs9C+0LTQvdGPJywKCQltb250aE5hbWVzOiBbJ9Cv0L3QstCw0YDRjCcsJ9Ck0LXQstGA0LDQu9GMJywn0JzQsNGA0YInLCfQkNC/0YDQtdC70YwnLCfQnNCw0LknLCfQmNGO0L3RjCcsCgkJJ9CY0Y7Qu9GMJywn0JDQstCz0YPRgdGCJywn0KHQtdC90YLRj9Cx0YDRjCcsJ9Ce0LrRgtGP0LHRgNGMJywn0J3QvtGP0LHRgNGMJywn0JTQtdC60LDQsdGA0YwnXSwKCQltb250aE5hbWVzU2hvcnQ6IFsn0K/QvdCyJywn0KTQtdCyJywn0JzQsNGAJywn0JDQv9GAJywn0JzQsNC5Jywn0JjRjtC9JywKCQkn0JjRjtC7Jywn0JDQstCzJywn0KHQtdC9Jywn0J7QutGCJywn0J3QvtGPJywn0JTQtdC6J10sCgkJZGF5TmFtZXM6IFsn0LLQvtGB0LrRgNC10YHQtdC90YzQtScsJ9C/0L7QvdC10LTQtdC70YzQvdC40LonLCfQstGC0L7RgNC90LjQuicsJ9GB0YDQtdC00LAnLCfRh9C10YLQstC10YDQsycsJ9C/0Y/RgtC90LjRhtCwJywn0YHRg9Cx0LHQvtGC0LAnXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ9Cy0YHQuicsJ9C/0L3QtCcsJ9Cy0YLRgCcsJ9GB0YDQtCcsJ9GH0YLQsicsJ9C/0YLQvScsJ9GB0LHRgiddLAoJCWRheU5hbWVzTWluOiBbJ9CS0YEnLCfQn9C9Jywn0JLRgicsJ9Ch0YAnLCfQp9GCJywn0J/RgicsJ9Ch0LEnXSwKCQl3ZWVrSGVhZGVyOiAn0J3QtdC0JywKCQlkYXRlRm9ybWF0OiAnZGQubW0ueXknLAoJCWZpcnN0RGF5OiAxLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ3J1J10pOwp9KTsvKiBTbG92YWsgaW5pdGlhbGlzYXRpb24gZm9yIHRoZSBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAqLwovKiBXcml0dGVuIGJ5IFZvanRlY2ggUmluaWsgKHZvanRvQGhtbS5zaykuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnc2snXSA9IHsKCQljbG9zZVRleHQ6ICdaYXZyaWXFpScsCgkJcHJldlRleHQ6ICcmI3gzYztQcmVkY2jDoWR6YWrDumNpJywKCQluZXh0VGV4dDogJ05hc2xlZHVqw7pjaSYjeDNlOycsCgkJY3VycmVudFRleHQ6ICdEbmVzJywKCQltb250aE5hbWVzOiBbJ0phbnXDoXInLCdGZWJydcOhcicsJ01hcmVjJywnQXByw61sJywnTcOhaicsJ0rDum4nLAoJCSdKw7psJywnQXVndXN0JywnU2VwdGVtYmVyJywnT2t0w7NiZXInLCdOb3ZlbWJlcicsJ0RlY2VtYmVyJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ0phbicsJ0ZlYicsJ01hcicsJ0FwcicsJ03DoWonLCdKw7puJywKCQknSsO6bCcsJ0F1ZycsJ1NlcCcsJ09rdCcsJ05vdicsJ0RlYyddLAoJCWRheU5hbWVzOiBbJ05lZGXEvmEnLCdQb25kZWxvaycsJ1V0b3JvaycsJ1N0cmVkYScsJ8WgdHZydG9rJywnUGlhdG9rJywnU29ib3RhJ10sCgkJZGF5TmFtZXNTaG9ydDogWydOZWQnLCdQb24nLCdVdG8nLCdTdHInLCfFoHR2JywnUGlhJywnU29iJ10sCgkJZGF5TmFtZXNNaW46IFsnTmUnLCdQbycsJ1V0JywnU3QnLCfFoHQnLCdQaWEnLCdTbyddLAoJCXdlZWtIZWFkZXI6ICdUeScsCgkJZGF0ZUZvcm1hdDogJ2RkLm1tLnl5JywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydzayddKTsKfSk7Ci8qIFNsb3ZlbmlhbiBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgSmFrYSBKYW5jYXIgKGpha2FAa3ViamUub3JnKS4gKi8KLyogYyA9ICYjeDEwRDssIHMgPSAmI3gxNjE7IHogPSAmI3gxN0U7IEMgPSAmI3gxMEM7IFMgPSAmI3gxNjA7IFogPSAmI3gxN0Q7ICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnc2wnXSA9IHsKCQljbG9zZVRleHQ6ICdaYXByaScsCgkJcHJldlRleHQ6ICcmbHQ7UHJlaiYjeDE2MTtuamknLAoJCW5leHRUZXh0OiAnTmFzbGVkbmppJmd0OycsCgkJY3VycmVudFRleHQ6ICdUcmVudXRuaScsCgkJbW9udGhOYW1lczogWydKYW51YXInLCdGZWJydWFyJywnTWFyZWMnLCdBcHJpbCcsJ01haicsJ0p1bmlqJywKCQknSnVsaWonLCdBdmd1c3QnLCdTZXB0ZW1iZXInLCdPa3RvYmVyJywnTm92ZW1iZXInLCdEZWNlbWJlciddLAoJCW1vbnRoTmFtZXNTaG9ydDogWydKYW4nLCdGZWInLCdNYXInLCdBcHInLCdNYWonLCdKdW4nLAoJCSdKdWwnLCdBdmcnLCdTZXAnLCdPa3QnLCdOb3YnLCdEZWMnXSwKCQlkYXlOYW1lczogWydOZWRlbGphJywnUG9uZWRlbGplaycsJ1RvcmVrJywnU3JlZGEnLCcmI3gxMEM7ZXRydGVrJywnUGV0ZWsnLCdTb2JvdGEnXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ05lZCcsJ1BvbicsJ1RvcicsJ1NyZScsJyYjeDEwQztldCcsJ1BldCcsJ1NvYiddLAoJCWRheU5hbWVzTWluOiBbJ05lJywnUG8nLCdUbycsJ1NyJywnJiN4MTBDO2UnLCdQZScsJ1NvJ10sCgkJd2Vla0hlYWRlcjogJ1RlZGVuJywKCQlkYXRlRm9ybWF0OiAnZGQubW0ueXknLAoJCWZpcnN0RGF5OiAxLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ3NsJ10pOwp9KTsKLyogQWxiYW5pYW4gaW5pdGlhbGlzYXRpb24gZm9yIHRoZSBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAqLwovKiBXcml0dGVuIGJ5IEZsYWtyb24gQnl0eXFpIChmbGFrcm9uQGdtYWlsLmNvbSkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnc3EnXSA9IHsKCQljbG9zZVRleHQ6ICdtYnlsbGUnLAoJCXByZXZUZXh0OiAnJiN4M2M7bWJyYXBhJywKCQluZXh0VGV4dDogJ1DDq3JwYXJhJiN4M2U7JywKCQljdXJyZW50VGV4dDogJ3NvdCcsCgkJbW9udGhOYW1lczogWydKYW5hcicsJ1Noa3VydCcsJ01hcnMnLCdQcmlsbCcsJ01haicsJ1FlcnNob3InLAoJCSdLb3JyaWsnLCdHdXNodCcsJ1NodGF0b3InLCdUZXRvcicsJ07Dq250b3InLCdEaGpldG9yJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ0phbicsJ1NoaycsJ01hcicsJ1ByaScsJ01haicsJ1FlcicsCgkJJ0tvcicsJ0d1cycsJ1NodCcsJ1RldCcsJ07Dq24nLCdEaGonXSwKCQlkYXlOYW1lczogWydFIERpZWwnLCdFIEjDq27DqycsJ0UgTWFydMOrJywnRSBNw6tya3Vyw6snLCdFIEVuanRlJywnRSBQcmVtdGUnLCdFIFNodHVuZSddLAoJCWRheU5hbWVzU2hvcnQ6IFsnRGknLCdIw6snLCdNYScsJ03DqycsJ0VuJywnUHInLCdTaCddLAoJCWRheU5hbWVzTWluOiBbJ0RpJywnSMOrJywnTWEnLCdNw6snLCdFbicsJ1ByJywnU2gnXSwKCQl3ZWVrSGVhZGVyOiAnSmEnLAoJCWRhdGVGb3JtYXQ6ICdkZC5tbS55eScsCgkJZmlyc3REYXk6IDEsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnc3EnXSk7Cn0pOwovKiBTZXJiaWFuIGkxOG4gZm9yIHRoZSBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAqLwovKiBXcml0dGVuIGJ5IERlamFuIERpbWnEhy4gKi8KalF1ZXJ5KGZ1bmN0aW9uKCQpewoJJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydzci1TUiddID0gewoJCWNsb3NlVGV4dDogJ1phdHZvcmknLAoJCXByZXZUZXh0OiAnJiN4M2M7JywKCQluZXh0VGV4dDogJyYjeDNlOycsCgkJY3VycmVudFRleHQ6ICdEYW5hcycsCgkJbW9udGhOYW1lczogWydKYW51YXInLCdGZWJydWFyJywnTWFydCcsJ0FwcmlsJywnTWFqJywnSnVuJywKCQknSnVsJywnQXZndXN0JywnU2VwdGVtYmFyJywnT2t0b2JhcicsJ05vdmVtYmFyJywnRGVjZW1iYXInXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnSmFuJywnRmViJywnTWFyJywnQXByJywnTWFqJywnSnVuJywKCQknSnVsJywnQXZnJywnU2VwJywnT2t0JywnTm92JywnRGVjJ10sCgkJZGF5TmFtZXM6IFsnTmVkZWxqYScsJ1BvbmVkZWxqYWsnLCdVdG9yYWsnLCdTcmVkYScsJ8SMZXR2cnRhaycsJ1BldGFrJywnU3Vib3RhJ10sCgkJZGF5TmFtZXNTaG9ydDogWydOZWQnLCdQb24nLCdVdG8nLCdTcmUnLCfEjGV0JywnUGV0JywnU3ViJ10sCgkJZGF5TmFtZXNNaW46IFsnTmUnLCdQbycsJ1V0JywnU3InLCfEjGUnLCdQZScsJ1N1J10sCgkJd2Vla0hlYWRlcjogJ1NlZCcsCgkJZGF0ZUZvcm1hdDogJ2RkL21tL3l5JywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydzci1TUiddKTsKfSk7Ci8qIFNlcmJpYW4gaTE4biBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgRGVqYW4gRGltacSHLiAqLwpqUXVlcnkoZnVuY3Rpb24oJCl7CgkkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ3NyJ10gPSB7CgkJY2xvc2VUZXh0OiAn0JfQsNGC0LLQvtGA0LgnLAoJCXByZXZUZXh0OiAnJiN4M2M7JywKCQluZXh0VGV4dDogJyYjeDNlOycsCgkJY3VycmVudFRleHQ6ICfQlNCw0L3QsNGBJywKCQltb250aE5hbWVzOiBbJ9CI0LDQvdGD0LDRgCcsJ9Ck0LXQsdGA0YPQsNGAJywn0JzQsNGA0YInLCfQkNC/0YDQuNC7Jywn0JzQsNGYJywn0IjRg9C9JywKCQkn0IjRg9C7Jywn0JDQstCz0YPRgdGCJywn0KHQtdC/0YLQtdC80LHQsNGAJywn0J7QutGC0L7QsdCw0YAnLCfQndC+0LLQtdC80LHQsNGAJywn0JTQtdGG0LXQvNCx0LDRgCddLAoJCW1vbnRoTmFtZXNTaG9ydDogWyfQiNCw0L0nLCfQpNC10LEnLCfQnNCw0YAnLCfQkNC/0YAnLCfQnNCw0ZgnLCfQiNGD0L0nLAoJCSfQiNGD0LsnLCfQkNCy0LMnLCfQodC10L8nLCfQntC60YInLCfQndC+0LInLCfQlNC10YYnXSwKCQlkYXlOYW1lczogWyfQndC10LTQtdGZ0LAnLCfQn9C+0L3QtdC00LXRmdCw0LonLCfQo9GC0L7RgNCw0LonLCfQodGA0LXQtNCwJywn0KfQtdGC0LLRgNGC0LDQuicsJ9Cf0LXRgtCw0LonLCfQodGD0LHQvtGC0LAnXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ9Cd0LXQtCcsJ9Cf0L7QvScsJ9Cj0YLQvicsJ9Ch0YDQtScsJ9Cn0LXRgicsJ9Cf0LXRgicsJ9Ch0YPQsSddLAoJCWRheU5hbWVzTWluOiBbJ9Cd0LUnLCfQn9C+Jywn0KPRgicsJ9Ch0YAnLCfQp9C1Jywn0J/QtScsJ9Ch0YMnXSwKCQl3ZWVrSGVhZGVyOiAn0KHQtdC0JywKCQlkYXRlRm9ybWF0OiAnZGQvbW0veXknLAoJCWZpcnN0RGF5OiAxLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ3NyJ10pOwp9KTsKLyogU3dlZGlzaCBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgQW5kZXJzIEVrZGFobCAoIGFuZGVyc0Bub21hZGl6LnNlKS4gKi8KalF1ZXJ5KGZ1bmN0aW9uKCQpewogICAgJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydzdiddID0gewoJCWNsb3NlVGV4dDogJ1N0w6RuZycsCiAgICAgICAgcHJldlRleHQ6ICcmbGFxdW87RsO2cnJhJywKCQluZXh0VGV4dDogJ07DpHN0YSZyYXF1bzsnLAoJCWN1cnJlbnRUZXh0OiAnSWRhZycsCiAgICAgICAgbW9udGhOYW1lczogWydKYW51YXJpJywnRmVicnVhcmknLCdNYXJzJywnQXByaWwnLCdNYWonLCdKdW5pJywKICAgICAgICAnSnVsaScsJ0F1Z3VzdGknLCdTZXB0ZW1iZXInLCdPa3RvYmVyJywnTm92ZW1iZXInLCdEZWNlbWJlciddLAogICAgICAgIG1vbnRoTmFtZXNTaG9ydDogWydKYW4nLCdGZWInLCdNYXInLCdBcHInLCdNYWonLCdKdW4nLAogICAgICAgICdKdWwnLCdBdWcnLCdTZXAnLCdPa3QnLCdOb3YnLCdEZWMnXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ1PDtm4nLCdNw6VuJywnVGlzJywnT25zJywnVG9yJywnRnJlJywnTMO2ciddLAoJCWRheU5hbWVzOiBbJ1PDtm5kYWcnLCdNw6VuZGFnJywnVGlzZGFnJywnT25zZGFnJywnVG9yc2RhZycsJ0ZyZWRhZycsJ0zDtnJkYWcnXSwKCQlkYXlOYW1lc01pbjogWydTw7YnLCdNw6UnLCdUaScsJ09uJywnVG8nLCdGcicsJ0zDtiddLAoJCXdlZWtIZWFkZXI6ICdWZScsCiAgICAgICAgZGF0ZUZvcm1hdDogJ3l5LW1tLWRkJywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CiAgICAkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydzdiddKTsKfSk7Ci8qIFRhbWlsIChVVEYtOCkgaW5pdGlhbGlzYXRpb24gZm9yIHRoZSBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAqLwovKiBXcml0dGVuIGJ5IFMgQSBTdXJlc2hrdW1hciAoc2Fza3VtYXJAbGl2ZS5jb20pLiAqLwpqUXVlcnkoZnVuY3Rpb24oJCl7CgkkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ3RhJ10gPSB7CgkJY2xvc2VUZXh0OiAn4K6u4K+C4K6f4K+BJywKCQlwcmV2VGV4dDogJ+CuruCvgeCuqeCvjeCuqeCviOCur+CupOCvgScsCgkJbmV4dFRleHQ6ICfgroXgrp/gr4HgrqTgr43grqTgrqTgr4EnLAoJCWN1cnJlbnRUZXh0OiAn4K6H4K6p4K+N4K6x4K+BJywKCQltb250aE5hbWVzOiBbJ+CupOCviCcsJ+CuruCuvuCumuCuvycsJ+CuquCumeCvjeCuleCvgeCuqeCuvycsJ+CumuCuv+CupOCvjeCupOCuv+CusOCviCcsJ+CuteCviOCuleCuvuCumuCuvycsJ+CuhuCuqeCuvycsCgkJJ+CuhuCun+CuvycsJ+CuhuCuteCuo+CuvycsJ+CuquCvgeCusOCun+CvjeCun+CuvuCumuCuvycsJ+CukOCuquCvjeCuquCumuCuvycsJ+CuleCuvuCusOCvjeCupOCvjeCupOCuv+CuleCviCcsJ+CuruCuvuCusOCvjeCuleCutOCuvyddLAoJCW1vbnRoTmFtZXNTaG9ydDogWyfgrqTgr4gnLCfgrq7grr7grprgrr8nLCfgrqrgrpngr40nLCfgrprgrr/grqTgr40nLCfgrrXgr4jgrpXgrr4nLCfgrobgrqngrr8nLAoJCSfgrobgrp/grr8nLCfgrobgrrUnLCfgrqrgr4HgrrAnLCfgrpDgrqrgr40nLCfgrpXgrr7grrDgr40nLCfgrq7grr7grrDgr40nXSwKCQlkYXlOYW1lczogWyfgrp7grr7grq/grr/grrHgr43grrHgr4HgrpXgr43grpXgrr/grrTgrq7gr4gnLCfgrqTgrr/grpngr43grpXgrp/gr43grpXgrr/grrTgrq7gr4gnLCfgrprgr4bgrrXgr43grrXgrr7grq/gr43grpXgr43grpXgrr/grrTgrq7gr4gnLCfgrqrgr4HgrqTgrqngr43grpXgrr/grrTgrq7gr4gnLCfgrrXgrr/grq/grr7grrTgrpXgr43grpXgrr/grrTgrq7gr4gnLCfgrrXgr4bgrrPgr43grrPgrr/grpXgr43grpXgrr/grrTgrq7gr4gnLCfgrprgrqngrr/grpXgr43grpXgrr/grrTgrq7gr4gnXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ+CunuCuvuCur+Cuv+CuseCvgScsJ+CupOCuv+CumeCvjeCuleCus+CvjScsJ+CumuCvhuCuteCvjeCuteCuvuCur+CvjScsJ+CuquCvgeCupOCuqeCvjScsJ+CuteCuv+Cur+CuvuCutOCuqeCvjScsJ+CuteCvhuCus+CvjeCus+CuvycsJ+CumuCuqeCuvyddLAoJCWRheU5hbWVzTWluOiBbJ+CunuCuvicsJ+CupOCuvycsJ+CumuCvhicsJ+CuquCvgScsJ+CuteCuvycsJ+CuteCvhicsJ+CumiddLAoJCXdlZWtIZWFkZXI6ICfQndC1JywKCQlkYXRlRm9ybWF0OiAnZGQvbW0veXknLAoJCWZpcnN0RGF5OiAxLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ3RhJ10pOwp9KTsKLyogVGhhaSBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgcGlwbyAocGlwb0BzaXhoZWFkLmNvbSkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsndGgnXSA9IHsKCQljbG9zZVRleHQ6ICfguJvguLTguJQnLAoJCXByZXZUZXh0OiAnJmxhcXVvOyZuYnNwO+C4ouC5ieC4reC4mScsCgkJbmV4dFRleHQ6ICfguJbguLHguJTguYTguJsmbmJzcDsmcmFxdW87JywKCQljdXJyZW50VGV4dDogJ+C4p+C4seC4meC4meC4teC5iScsCgkJbW9udGhOYW1lczogWyfguKHguIHguKPguLLguITguKEnLCfguIHguLjguKHguKDguLLguJ7guLHguJnguJjguYwnLCfguKHguLXguJnguLLguITguKEnLCfguYDguKHguKnguLLguKLguJknLCfguJ7guKTguKnguKDguLLguITguKEnLCfguKHguLTguJbguLjguJnguLLguKLguJknLAoJCSfguIHguKPguIHguI7guLLguITguKEnLCfguKrguLTguIfguKvguLLguITguKEnLCfguIHguLHguJnguKLguLLguKLguJknLCfguJXguLjguKXguLLguITguKEnLCfguJ7guKTguKjguIjguLTguIHguLLguKLguJknLCfguJjguLHguJnguKfguLLguITguKEnXSwKCQltb250aE5hbWVzU2hvcnQ6IFsn4LihLuC4hC4nLCfguIEu4LieLicsJ+C4oeC4tS7guIQuJywn4LmA4LihLuC4oi4nLCfguJ4u4LiELicsJ+C4oeC4tC7guKIuJywKCQkn4LiBLuC4hC4nLCfguKou4LiELicsJ+C4gS7guKIuJywn4LiVLuC4hC4nLCfguJ4u4LiiLicsJ+C4mC7guIQuJ10sCgkJZGF5TmFtZXM6IFsn4Lit4Liy4LiX4Li04LiV4Lii4LmMJywn4LiI4Lix4LiZ4LiX4Lij4LmMJywn4Lit4Lix4LiH4LiE4Liy4LijJywn4Lie4Li44LiYJywn4Lie4Lik4Lir4Lix4Liq4Lia4LiU4Li1Jywn4Lio4Li44LiB4Lij4LmMJywn4LmA4Liq4Liy4Lij4LmMJ10sCgkJZGF5TmFtZXNTaG9ydDogWyfguK3guLIuJywn4LiILicsJ+C4rS4nLCfguJ4uJywn4Lie4LikLicsJ+C4qC4nLCfguKouJ10sCgkJZGF5TmFtZXNNaW46IFsn4Lit4LiyLicsJ+C4iC4nLCfguK0uJywn4LieLicsJ+C4nuC4pC4nLCfguKguJywn4LiqLiddLAoJCXdlZWtIZWFkZXI6ICdXaycsCgkJZGF0ZUZvcm1hdDogJ2RkL21tL3l5JywKCQlmaXJzdERheTogMCwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWyd0aCddKTsKfSk7LyogVGFqaWtpIChVVEYtOCkgaW5pdGlhbGlzYXRpb24gZm9yIHRoZSBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAqLwovKiBXcml0dGVuIGJ5IEFiZHVyYWhtb24gU2FpZG92IChzYWlkb3ZhYkBnbWFpbC5jb20pLiAqLwpqUXVlcnkoZnVuY3Rpb24oJCl7CgkkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ3RqJ10gPSB7CgkJY2xvc2VUZXh0OiAn0JjQtNC+0LzQsCcsCgkJcHJldlRleHQ6ICcmI3gzYzvSmtCw0YTQvicsCgkJbmV4dFRleHQ6ICfQn9C10YgmI3gzZTsnLAoJCWN1cnJlbnRUZXh0OiAn0JjQvNGA06/QtycsCgkJbW9udGhOYW1lczogWyfQr9C90LLQsNGAJywn0KTQtdCy0YDQsNC7Jywn0JzQsNGA0YInLCfQkNC/0YDQtdC7Jywn0JzQsNC5Jywn0JjRjtC9JywKCQkn0JjRjtC7Jywn0JDQstCz0YPRgdGCJywn0KHQtdC90YLRj9Cx0YAnLCfQntC60YLRj9Cx0YAnLCfQndC+0Y/QsdGAJywn0JTQtdC60LDQsdGAJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ9Cv0L3QsicsJ9Ck0LXQsicsJ9Cc0LDRgCcsJ9CQ0L/RgCcsJ9Cc0LDQuScsJ9CY0Y7QvScsCgkJJ9CY0Y7QuycsJ9CQ0LLQsycsJ9Ch0LXQvScsJ9Ce0LrRgicsJ9Cd0L7RjycsJ9CU0LXQuiddLAoJCWRheU5hbWVzOiBbJ9GP0LrRiNCw0L3QsdC1Jywn0LTRg9GI0LDQvdCx0LUnLCfRgdC10YjQsNC90LHQtScsJ9GH0L7RgNGI0LDQvdCx0LUnLCfQv9Cw0L3St9GI0LDQvdCx0LUnLCfSt9GD0LzRitCwJywn0YjQsNC90LHQtSddLAoJCWRheU5hbWVzU2hvcnQ6IFsn0Y/QutGIJywn0LTRg9GIJywn0YHQtdGIJywn0YfQvtGAJywn0L/QsNC9Jywn0rfRg9C8Jywn0YjQsNC9J10sCgkJZGF5TmFtZXNNaW46IFsn0K/QuicsJ9CU0YgnLCfQodGIJywn0KfRiCcsJ9Cf0YgnLCfSttC8Jywn0KjQvSddLAoJCXdlZWtIZWFkZXI6ICfQpdGEJywKCQlkYXRlRm9ybWF0OiAnZGQubW0ueXknLAoJCWZpcnN0RGF5OiAxLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ3RqJ10pOwp9KTsvKiBUdXJraXNoIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBJenpldCBFbXJlIEVya2FuIChrYXJhQGthcmFsYW1hbGFyLm5ldCkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsndHInXSA9IHsKCQljbG9zZVRleHQ6ICdrYXBhdCcsCgkJcHJldlRleHQ6ICcmI3gzYztnZXJpJywKCQluZXh0VGV4dDogJ2lsZXJpJiN4M2UnLAoJCWN1cnJlbnRUZXh0OiAnYnVnw7xuJywKCQltb250aE5hbWVzOiBbJ09jYWsnLCfFnnViYXQnLCdNYXJ0JywnTmlzYW4nLCdNYXnEsXMnLCdIYXppcmFuJywKCQknVGVtbXV6JywnQcSfdXN0b3MnLCdFeWzDvGwnLCdFa2ltJywnS2FzxLFtJywnQXJhbMSxayddLAoJCW1vbnRoTmFtZXNTaG9ydDogWydPY2EnLCfFnnViJywnTWFyJywnTmlzJywnTWF5JywnSGF6JywKCQknVGVtJywnQcSfdScsJ0V5bCcsJ0VraScsJ0thcycsJ0FyYSddLAoJCWRheU5hbWVzOiBbJ1BhemFyJywnUGF6YXJ0ZXNpJywnU2FsxLEnLCfDh2FyxZ9hbWJhJywnUGVyxZ9lbWJlJywnQ3VtYScsJ0N1bWFydGVzaSddLAoJCWRheU5hbWVzU2hvcnQ6IFsnUHonLCdQdCcsJ1NhJywnw4dhJywnUGUnLCdDdScsJ0N0J10sCgkJZGF5TmFtZXNNaW46IFsnUHonLCdQdCcsJ1NhJywnw4dhJywnUGUnLCdDdScsJ0N0J10sCgkJd2Vla0hlYWRlcjogJ0hmJywKCQlkYXRlRm9ybWF0OiAnZGQubW0ueXknLAoJCWZpcnN0RGF5OiAxLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ3RyJ10pOwp9KTsvKiBVa3JhaW5pYW4gKFVURi04KSBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgTWF4aW0gRHJvZ29iaXRza2l5IChtYXhkYW9AZ21haWwuY29tKS4gKi8KalF1ZXJ5KGZ1bmN0aW9uKCQpewoJJC5kYXRlcGlja2VyLnJlZ2lvbmFsWyd1ayddID0gewoJCWNsb3NlVGV4dDogJ9CX0LDQutGA0LjRgtC4JywKCQlwcmV2VGV4dDogJyYjeDNjOycsCgkJbmV4dFRleHQ6ICcmI3gzZTsnLAoJCWN1cnJlbnRUZXh0OiAn0KHRjNC+0LPQvtC00L3RlicsCgkJbW9udGhOYW1lczogWyfQodGW0YfQtdC90YwnLCfQm9GO0YLQuNC5Jywn0JHQtdGA0LXQt9C10L3RjCcsJ9Ca0LLRltGC0LXQvdGMJywn0KLRgNCw0LLQtdC90YwnLCfQp9C10YDQstC10L3RjCcsCgkJJ9Cb0LjQv9C10L3RjCcsJ9Ch0LXRgNC/0LXQvdGMJywn0JLQtdGA0LXRgdC10L3RjCcsJ9CW0L7QstGC0LXQvdGMJywn0JvQuNGB0YLQvtC/0LDQtCcsJ9CT0YDRg9C00LXQvdGMJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ9Ch0ZbRhycsJ9Cb0Y7RgicsJ9CR0LXRgCcsJ9Ca0LLRlicsJ9Ci0YDQsCcsJ9Cn0LXRgCcsCgkJJ9Cb0LjQvycsJ9Ch0LXRgCcsJ9CS0LXRgCcsJ9CW0L7QsicsJ9Cb0LjRgScsJ9CT0YDRgyddLAoJCWRheU5hbWVzOiBbJ9C90LXQtNGW0LvRjycsJ9C/0L7QvdC10LTRltC70L7QuicsJ9Cy0ZbQstGC0L7RgNC+0LonLCfRgdC10YDQtdC00LAnLCfRh9C10YLQstC10YAnLCfQv+KAmdGP0YLQvdC40YbRjycsJ9GB0YPQsdC+0YLQsCddLAoJCWRheU5hbWVzU2hvcnQ6IFsn0L3QtdC0Jywn0L/QvdC0Jywn0LLRltCyJywn0YHRgNC0Jywn0YfRgtCyJywn0L/RgtC9Jywn0YHQsdGCJ10sCgkJZGF5TmFtZXNNaW46IFsn0J3QtCcsJ9Cf0L0nLCfQktGCJywn0KHRgCcsJ9Cn0YInLCfQn9GCJywn0KHQsSddLAoJCXdlZWtIZWFkZXI6ICfQndC1JywKCQlkYXRlRm9ybWF0OiAnZGQvbW0veXknLAoJCWZpcnN0RGF5OiAxLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ3VrJ10pOwp9KTsvKiBWaWV0bmFtZXNlIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogVHJhbnNsYXRlZCBieSBMZSBUaGFuaCBIdXkgKGx0aGFuaGh1eUBjaXQuY3R1LmVkdS52bikuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsndmknXSA9IHsKCQljbG9zZVRleHQ6ICfEkMOzbmcnLAoJCXByZXZUZXh0OiAnJiN4M2M7VHLGsOG7m2MnLAoJCW5leHRUZXh0OiAnVGnhur9wJiN4M2U7JywKCQljdXJyZW50VGV4dDogJ0jDtG0gbmF5JywKCQltb250aE5hbWVzOiBbJ1Row6FuZyBN4buZdCcsICdUaMOhbmcgSGFpJywgJ1Row6FuZyBCYScsICdUaMOhbmcgVMawJywgJ1Row6FuZyBOxINtJywgJ1Row6FuZyBTw6F1JywKCQknVGjDoW5nIELhuqN5JywgJ1Row6FuZyBUw6FtJywgJ1Row6FuZyBDaMOtbicsICdUaMOhbmcgTcaw4budaScsICdUaMOhbmcgTcaw4budaSBN4buZdCcsICdUaMOhbmcgTcaw4budaSBIYWknXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnVGjDoW5nIDEnLCAnVGjDoW5nIDInLCAnVGjDoW5nIDMnLCAnVGjDoW5nIDQnLCAnVGjDoW5nIDUnLCAnVGjDoW5nIDYnLAoJCSdUaMOhbmcgNycsICdUaMOhbmcgOCcsICdUaMOhbmcgOScsICdUaMOhbmcgMTAnLCAnVGjDoW5nIDExJywgJ1Row6FuZyAxMiddLAoJCWRheU5hbWVzOiBbJ0No4bunIE5o4bqtdCcsICdUaOG7qSBIYWknLCAnVGjhu6kgQmEnLCAnVGjhu6kgVMawJywgJ1Ro4bupIE7Eg20nLCAnVGjhu6kgU8OhdScsICdUaOG7qSBC4bqjeSddLAoJCWRheU5hbWVzU2hvcnQ6IFsnQ04nLCAnVDInLCAnVDMnLCAnVDQnLCAnVDUnLCAnVDYnLCAnVDcnXSwKCQlkYXlOYW1lc01pbjogWydDTicsICdUMicsICdUMycsICdUNCcsICdUNScsICdUNicsICdUNyddLAoJCXdlZWtIZWFkZXI6ICdUdScsCgkJZGF0ZUZvcm1hdDogJ2RkL21tL3l5JywKCQlmaXJzdERheTogMCwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWyd2aSddKTsKfSk7Ci8qIENoaW5lc2UgaW5pdGlhbGlzYXRpb24gZm9yIHRoZSBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAqLwovKiBXcml0dGVuIGJ5IENsb3VkcmVhbSAoY2xvdWRyZWFtQGdtYWlsLmNvbSkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnemgtQ04nXSA9IHsKCQljbG9zZVRleHQ6ICflhbPpl60nLAoJCXByZXZUZXh0OiAnJiN4M2M75LiK5pyIJywKCQluZXh0VGV4dDogJ+S4i+aciCYjeDNlOycsCgkJY3VycmVudFRleHQ6ICfku4rlpKknLAoJCW1vbnRoTmFtZXM6IFsn5LiA5pyIJywn5LqM5pyIJywn5LiJ5pyIJywn5Zub5pyIJywn5LqU5pyIJywn5YWt5pyIJywKCQkn5LiD5pyIJywn5YWr5pyIJywn5Lmd5pyIJywn5Y2B5pyIJywn5Y2B5LiA5pyIJywn5Y2B5LqM5pyIJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ+S4gCcsJ+S6jCcsJ+S4iScsJ+WbmycsJ+S6lCcsJ+WFrScsCgkJJ+S4gycsJ+WFqycsJ+S5nScsJ+WNgScsJ+WNgeS4gCcsJ+WNgeS6jCddLAoJCWRheU5hbWVzOiBbJ+aYn+acn+aXpScsJ+aYn+acn+S4gCcsJ+aYn+acn+S6jCcsJ+aYn+acn+S4iScsJ+aYn+acn+WbmycsJ+aYn+acn+S6lCcsJ+aYn+acn+WFrSddLAoJCWRheU5hbWVzU2hvcnQ6IFsn5ZGo5pelJywn5ZGo5LiAJywn5ZGo5LqMJywn5ZGo5LiJJywn5ZGo5ZubJywn5ZGo5LqUJywn5ZGo5YWtJ10sCgkJZGF5TmFtZXNNaW46IFsn5pelJywn5LiAJywn5LqMJywn5LiJJywn5ZubJywn5LqUJywn5YWtJ10sCgkJd2Vla0hlYWRlcjogJ+WRqCcsCgkJZGF0ZUZvcm1hdDogJ3l5LW1tLWRkJywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiB0cnVlLAoJCXllYXJTdWZmaXg6ICflubQnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ3poLUNOJ10pOwp9KTsKLyogQ2hpbmVzZSBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgU0NDWSAoc2FtdWVsY3ljaGFuQGdtYWlsLmNvbSkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnemgtSEsnXSA9IHsKCQljbG9zZVRleHQ6ICfpl5zploknLAoJCXByZXZUZXh0OiAnJiN4M2M75LiK5pyIJywKCQluZXh0VGV4dDogJ+S4i+aciCYjeDNlOycsCgkJY3VycmVudFRleHQ6ICfku4rlpKknLAoJCW1vbnRoTmFtZXM6IFsn5LiA5pyIJywn5LqM5pyIJywn5LiJ5pyIJywn5Zub5pyIJywn5LqU5pyIJywn5YWt5pyIJywKCQkn5LiD5pyIJywn5YWr5pyIJywn5Lmd5pyIJywn5Y2B5pyIJywn5Y2B5LiA5pyIJywn5Y2B5LqM5pyIJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ+S4gCcsJ+S6jCcsJ+S4iScsJ+WbmycsJ+S6lCcsJ+WFrScsCgkJJ+S4gycsJ+WFqycsJ+S5nScsJ+WNgScsJ+WNgeS4gCcsJ+WNgeS6jCddLAoJCWRheU5hbWVzOiBbJ+aYn+acn+aXpScsJ+aYn+acn+S4gCcsJ+aYn+acn+S6jCcsJ+aYn+acn+S4iScsJ+aYn+acn+WbmycsJ+aYn+acn+S6lCcsJ+aYn+acn+WFrSddLAoJCWRheU5hbWVzU2hvcnQ6IFsn5ZGo5pelJywn5ZGo5LiAJywn5ZGo5LqMJywn5ZGo5LiJJywn5ZGo5ZubJywn5ZGo5LqUJywn5ZGo5YWtJ10sCgkJZGF5TmFtZXNNaW46IFsn5pelJywn5LiAJywn5LqMJywn5LiJJywn5ZubJywn5LqUJywn5YWtJ10sCgkJd2Vla0hlYWRlcjogJ+WRqCcsCgkJZGF0ZUZvcm1hdDogJ2RkLW1tLXl5JywKCQlmaXJzdERheTogMCwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiB0cnVlLAoJCXllYXJTdWZmaXg6ICflubQnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ3poLUhLJ10pOwp9KTsKLyogQ2hpbmVzZSBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgUmVzc29sIChyZXNzb2xAZ21haWwuY29tKS4gKi8KalF1ZXJ5KGZ1bmN0aW9uKCQpewoJJC5kYXRlcGlja2VyLnJlZ2lvbmFsWyd6aC1UVyddID0gewoJCWNsb3NlVGV4dDogJ+mXnOmWiScsCgkJcHJldlRleHQ6ICcmI3gzYzvkuIrmnIgnLAoJCW5leHRUZXh0OiAn5LiL5pyIJiN4M2U7JywKCQljdXJyZW50VGV4dDogJ+S7iuWkqScsCgkJbW9udGhOYW1lczogWyfkuIDmnIgnLCfkuozmnIgnLCfkuInmnIgnLCflm5vmnIgnLCfkupTmnIgnLCflha3mnIgnLAoJCSfkuIPmnIgnLCflhavmnIgnLCfkuZ3mnIgnLCfljYHmnIgnLCfljYHkuIDmnIgnLCfljYHkuozmnIgnXSwKCQltb250aE5hbWVzU2hvcnQ6IFsn5LiAJywn5LqMJywn5LiJJywn5ZubJywn5LqUJywn5YWtJywKCQkn5LiDJywn5YWrJywn5LmdJywn5Y2BJywn5Y2B5LiAJywn5Y2B5LqMJ10sCgkJZGF5TmFtZXM6IFsn5pif5pyf5pelJywn5pif5pyf5LiAJywn5pif5pyf5LqMJywn5pif5pyf5LiJJywn5pif5pyf5ZubJywn5pif5pyf5LqUJywn5pif5pyf5YWtJ10sCgkJZGF5TmFtZXNTaG9ydDogWyflkajml6UnLCflkajkuIAnLCflkajkuownLCflkajkuIknLCflkajlm5snLCflkajkupQnLCflkajlha0nXSwKCQlkYXlOYW1lc01pbjogWyfml6UnLCfkuIAnLCfkuownLCfkuIknLCflm5snLCfkupQnLCflha0nXSwKCQl3ZWVrSGVhZGVyOiAn5ZGoJywKCQlkYXRlRm9ybWF0OiAneXkvbW0vZGQnLAoJCWZpcnN0RGF5OiAxLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IHRydWUsCgkJeWVhclN1ZmZpeDogJ+W5tCd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnemgtVFcnXSk7Cn0pOwo=]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-af.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogQWZyaWthYW5zIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBSZW5pZXIgUHJldG9yaXVzLiAqLwpqUXVlcnkoZnVuY3Rpb24oJCl7CgkkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2FmJ10gPSB7CgkJY2xvc2VUZXh0OiAnU2VsZWt0ZWVyJywKCQlwcmV2VGV4dDogJ1ZvcmlnZScsCgkJbmV4dFRleHQ6ICdWb2xnZW5kZScsCgkJY3VycmVudFRleHQ6ICdWYW5kYWcnLAoJCW1vbnRoTmFtZXM6IFsnSmFudWFyaWUnLCdGZWJydWFyaWUnLCdNYWFydCcsJ0FwcmlsJywnTWVpJywnSnVuaWUnLAoJCSdKdWxpZScsJ0F1Z3VzdHVzJywnU2VwdGVtYmVyJywnT2t0b2JlcicsJ05vdmVtYmVyJywnRGVzZW1iZXInXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnSmFuJywgJ0ZlYicsICdNcnQnLCAnQXByJywgJ01laScsICdKdW4nLAoJCSdKdWwnLCAnQXVnJywgJ1NlcCcsICdPa3QnLCAnTm92JywgJ0RlcyddLAoJCWRheU5hbWVzOiBbJ1NvbmRhZycsICdNYWFuZGFnJywgJ0RpbnNkYWcnLCAnV29lbnNkYWcnLCAnRG9uZGVyZGFnJywgJ1ZyeWRhZycsICdTYXRlcmRhZyddLAoJCWRheU5hbWVzU2hvcnQ6IFsnU29uJywgJ01hYScsICdEaW4nLCAnV29lJywgJ0RvbicsICdWcnknLCAnU2F0J10sCgkJZGF5TmFtZXNNaW46IFsnU28nLCdNYScsJ0RpJywnV28nLCdEbycsJ1ZyJywnU2EnXSwKCQl3ZWVrSGVhZGVyOiAnV2snLAoJCWRhdGVGb3JtYXQ6ICdkZC9tbS95eScsCgkJZmlyc3REYXk6IDEsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnYWYnXSk7Cn0pOwo=]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-ar-DZ.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogQWxnZXJpYW4gQXJhYmljIFRyYW5zbGF0aW9uIGZvciBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAoY2FuIGJlIHVzZWQgZm9yIFR1bmlzaWEpKi8KLyogTW9oYW1lZCBDaGVyaWYgQk9VQ0hFTEFHSEVNIC0tIGNoZXJpZmJvdWNoZWxhZ2hlbUB5YWhvby5mciAqLwoKalF1ZXJ5KGZ1bmN0aW9uKCQpewoJJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydhci1EWiddID0gewoJCWNsb3NlVGV4dDogJ9il2LrZhNin2YInLAoJCXByZXZUZXh0OiAnJiN4M2M72KfZhNiz2KfYqNmCJywKCQluZXh0VGV4dDogJ9in2YTYqtin2YTZiiYjeDNlOycsCgkJY3VycmVudFRleHQ6ICfYp9mE2YrZiNmFJywKCQltb250aE5hbWVzOiBbJ9is2KfZhtmB2YonLCAn2YHZitmB2LHZiicsICfZhdin2LHYsycsICfYo9mB2LHZitmEJywgJ9mF2KfZiicsICfYrNmI2KfZhicsCgkJJ9is2YjZitmE2YrYqScsICfYo9mI2KonLCAn2LPYqNiq2YXYqNixJywn2KPZg9iq2YjYqNixJywgJ9mG2YjZgdmF2KjYsScsICfYr9mK2LPZhdio2LEnXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnMScsICcyJywgJzMnLCAnNCcsICc1JywgJzYnLCAnNycsICc4JywgJzknLCAnMTAnLCAnMTEnLCAnMTInXSwKCQlkYXlOYW1lczogWyfYp9mE2KPYrdivJywgJ9in2YTYp9ir2YbZitmGJywgJ9in2YTYq9mE2KfYq9in2KEnLCAn2KfZhNij2LHYqNi52KfYoScsICfYp9mE2K7ZhdmK2LMnLCAn2KfZhNis2YXYudipJywgJ9in2YTYs9io2KonXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ9in2YTYo9it2K8nLCAn2KfZhNin2KvZhtmK2YYnLCAn2KfZhNir2YTYp9ir2KfYoScsICfYp9mE2KPYsdio2LnYp9ihJywgJ9in2YTYrtmF2YrYsycsICfYp9mE2KzZhdi52KknLCAn2KfZhNiz2KjYqiddLAoJCWRheU5hbWVzTWluOiBbJ9in2YTYo9it2K8nLCAn2KfZhNin2KvZhtmK2YYnLCAn2KfZhNir2YTYp9ir2KfYoScsICfYp9mE2KPYsdio2LnYp9ihJywgJ9in2YTYrtmF2YrYsycsICfYp9mE2KzZhdi52KknLCAn2KfZhNiz2KjYqiddLAoJCXdlZWtIZWFkZXI6ICfYo9iz2KjZiNi5JywKCQlkYXRlRm9ybWF0OiAnZGQvbW0veXknLAoJCWZpcnN0RGF5OiA2LAogIAkJaXNSVEw6IHRydWUsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydhci1EWiddKTsKfSk7Cg==]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-ar.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogQXJhYmljIFRyYW5zbGF0aW9uIGZvciBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAqLwovKiBLaGFsZWQgQWxob3VyYW5pIC0tIG1lQGtoYWxlZGFsaG91cmFuaS5jb20gKi8KLyogTk9URTogbW9udGhOYW1lcyBhcmUgdGhlIG9yaWdpbmFsIG1vbnRocyBuYW1lcyBhbmQgdGhleSBhcmUgdGhlIEFyYWJpYyBuYW1lcywgbm90IHRoZSBuZXcgbW9udGhzIG5hbWUg2YHYqNix2KfZitixIC0g2YrZhtin2YrYsSBhbmQgdGhlcmUgaXNuJ3QgYW55IEFyYWJpYyByb290cyBmb3IgdGhlc2UgbW9udGhzICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnYXInXSA9IHsKCQljbG9zZVRleHQ6ICfYpdi62YTYp9mCJywKCQlwcmV2VGV4dDogJyYjeDNjO9in2YTYs9in2KjZgicsCgkJbmV4dFRleHQ6ICfYp9mE2KrYp9mE2YomI3gzZTsnLAoJCWN1cnJlbnRUZXh0OiAn2KfZhNmK2YjZhScsCgkJbW9udGhOYW1lczogWyfZg9in2YbZiNmGINin2YTYq9in2YbZiicsICfYtNio2KfYtycsICfYotiw2KfYsScsICfZhtmK2LPYp9mGJywgJ9mF2KfZitmIJywgJ9it2LLZitix2KfZhicsCgkJJ9iq2YXZiNiyJywgJ9ii2KgnLCAn2KPZitmE2YjZhCcsCSfYqti02LHZitmGINin2YTYo9mI2YQnLCAn2KrYtNix2YrZhiDYp9mE2KvYp9mG2YonLCAn2YPYp9mG2YjZhiDYp9mE2KPZiNmEJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJzEnLCAnMicsICczJywgJzQnLCAnNScsICc2JywgJzcnLCAnOCcsICc5JywgJzEwJywgJzExJywgJzEyJ10sCgkJZGF5TmFtZXM6IFsn2KfZhNij2K3YrycsICfYp9mE2KfYq9mG2YrZhicsICfYp9mE2KvZhNin2KvYp9ihJywgJ9in2YTYo9ix2KjYudin2KEnLCAn2KfZhNiu2YXZitizJywgJ9in2YTYrNmF2LnYqScsICfYp9mE2LPYqNiqJ10sCgkJZGF5TmFtZXNTaG9ydDogWyfYp9mE2KPYrdivJywgJ9in2YTYp9ir2YbZitmGJywgJ9in2YTYq9mE2KfYq9in2KEnLCAn2KfZhNij2LHYqNi52KfYoScsICfYp9mE2K7ZhdmK2LMnLCAn2KfZhNis2YXYudipJywgJ9in2YTYs9io2KonXSwKCQlkYXlOYW1lc01pbjogWyfYp9mE2KPYrdivJywgJ9in2YTYp9ir2YbZitmGJywgJ9in2YTYq9mE2KfYq9in2KEnLCAn2KfZhNij2LHYqNi52KfYoScsICfYp9mE2K7ZhdmK2LMnLCAn2KfZhNis2YXYudipJywgJ9in2YTYs9io2KonXSwKCQl3ZWVrSGVhZGVyOiAn2KPYs9io2YjYuScsCgkJZGF0ZUZvcm1hdDogJ2RkL21tL3l5JywKCQlmaXJzdERheTogNiwKICAJCWlzUlRMOiB0cnVlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnYXInXSk7Cn0pOw==]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-az.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogQXplcmJhaWphbmkgKFVURi04KSBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgSmFtaWwgTmFqYWZvdiAobmVjZWZvdjMzQGdtYWlsLmNvbSkuICovCmpRdWVyeShmdW5jdGlvbigkKSB7CgkkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2F6J10gPSB7CgkJY2xvc2VUZXh0OiAnQmHEn2xhJywKCQlwcmV2VGV4dDogJyYjeDNjO0dlcmknLAoJCW5leHRUZXh0OiAnxLByyZlsaSYjeDNlOycsCgkJY3VycmVudFRleHQ6ICdCdWfDvG4nLAoJCW1vbnRoTmFtZXM6IFsnWWFudmFyJywnRmV2cmFsJywnTWFydCcsJ0FwcmVsJywnTWF5JywnxLB5dW4nLAoJCSfEsHl1bCcsJ0F2cXVzdCcsJ1NlbnR5YWJyJywnT2t0eWFicicsJ05veWFicicsJ0Rla2FiciddLAoJCW1vbnRoTmFtZXNTaG9ydDogWydZYW4nLCdGZXYnLCdNYXInLCdBcHInLCdNYXknLCfEsHl1bicsCgkJJ8SweXVsJywnQXZxJywnU2VuJywnT2t0JywnTm95JywnRGVrJ10sCgkJZGF5TmFtZXM6IFsnQmF6YXInLCdCYXphciBlcnTJmXNpJywnw4fJmXLFn8mZbmLJmSBheMWfYW3EsScsJ8OHyZlyxZ/JmW5iyZknLCdDw7xtyZkgYXjFn2FtxLEnLCdDw7xtyZknLCfFnsmZbmLJmSddLAoJCWRheU5hbWVzU2hvcnQ6IFsnQicsJ0JlJywnw4dhJywnw4cnLCdDYScsJ0MnLCfFniddLAoJCWRheU5hbWVzTWluOiBbJ0InLCdCJywnw4cnLCfQoScsJ8OHJywnQycsJ8WeJ10sCgkJd2Vla0hlYWRlcjogJ0hmJywKCQlkYXRlRm9ybWF0OiAnZGQubW0ueXknLAoJCWZpcnN0RGF5OiAxLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2F6J10pOwp9KTs=]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-bg.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogQnVsZ2FyaWFuIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBTdG95YW4gS3lvc2V2IChodHRwOi8vc3Zlc3Qub3JnKS4gKi8KalF1ZXJ5KGZ1bmN0aW9uKCQpewogICAgJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydiZyddID0gewogICAgICAgIGNsb3NlVGV4dDogJ9C30LDRgtCy0L7RgNC4JywKICAgICAgICBwcmV2VGV4dDogJyYjeDNjO9C90LDQt9Cw0LQnLAogICAgICAgIG5leHRUZXh0OiAn0L3QsNC/0YDQtdC0JiN4M2U7JywKCQluZXh0QmlnVGV4dDogJyYjeDNlOyYjeDNlOycsCiAgICAgICAgY3VycmVudFRleHQ6ICfQtNC90LXRgScsCiAgICAgICAgbW9udGhOYW1lczogWyfQr9C90YPQsNGA0LgnLCfQpNC10LLRgNGD0LDRgNC4Jywn0JzQsNGA0YInLCfQkNC/0YDQuNC7Jywn0JzQsNC5Jywn0K7QvdC4JywKICAgICAgICAn0K7Qu9C4Jywn0JDQstCz0YPRgdGCJywn0KHQtdC/0YLQtdC80LLRgNC4Jywn0J7QutGC0L7QvNCy0YDQuCcsJ9Cd0L7QtdC80LLRgNC4Jywn0JTQtdC60LXQvNCy0YDQuCddLAogICAgICAgIG1vbnRoTmFtZXNTaG9ydDogWyfQr9C90YMnLCfQpNC10LInLCfQnNCw0YAnLCfQkNC/0YAnLCfQnNCw0LknLCfQrtC90LgnLAogICAgICAgICfQrtC70LgnLCfQkNCy0LMnLCfQodC10L8nLCfQntC60YInLCfQndC+0LInLCfQlNC10LonXSwKICAgICAgICBkYXlOYW1lczogWyfQndC10LTQtdC70Y8nLCfQn9C+0L3QtdC00LXQu9C90LjQuicsJ9CS0YLQvtGA0L3QuNC6Jywn0KHRgNGP0LTQsCcsJ9Cn0LXRgtCy0YrRgNGC0YrQuicsJ9Cf0LXRgtGK0LonLCfQodGK0LHQvtGC0LAnXSwKICAgICAgICBkYXlOYW1lc1Nob3J0OiBbJ9Cd0LXQtCcsJ9Cf0L7QvScsJ9CS0YLQvicsJ9Ch0YDRjycsJ9Cn0LXRgicsJ9Cf0LXRgicsJ9Ch0YrQsSddLAogICAgICAgIGRheU5hbWVzTWluOiBbJ9Cd0LUnLCfQn9C+Jywn0JLRgicsJ9Ch0YAnLCfQp9C1Jywn0J/QtScsJ9Ch0YonXSwKCQl3ZWVrSGVhZGVyOiAnV2snLAogICAgICAgIGRhdGVGb3JtYXQ6ICdkZC5tbS55eScsCgkJZmlyc3REYXk6IDEsCiAgICAgICAgaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwogICAgJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnYmcnXSk7Cn0pOwo=]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-bs.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogQm9zbmlhbiBpMThuIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBLZW5hbiBLb25qby4gKi8KalF1ZXJ5KGZ1bmN0aW9uKCQpewoJJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydicyddID0gewoJCWNsb3NlVGV4dDogJ1phdHZvcmknLCAKCQlwcmV2VGV4dDogJyYjeDNjOycsIAoJCW5leHRUZXh0OiAnJiN4M2U7JywgCgkJY3VycmVudFRleHQ6ICdEYW5hcycsIAoJCW1vbnRoTmFtZXM6IFsnSmFudWFyJywnRmVicnVhcicsJ01hcnQnLCdBcHJpbCcsJ01haicsJ0p1bmknLAoJCSdKdWxpJywnQXVndXN0JywnU2VwdGVtYmFyJywnT2t0b2JhcicsJ05vdmVtYmFyJywnRGVjZW1iYXInXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnSmFuJywnRmViJywnTWFyJywnQXByJywnTWFqJywnSnVuJywKCQknSnVsJywnQXVnJywnU2VwJywnT2t0JywnTm92JywnRGVjJ10sCgkJZGF5TmFtZXM6IFsnTmVkZWxqYScsJ1BvbmVkZWxqYWsnLCdVdG9yYWsnLCdTcmlqZWRhJywnxIxldHZydGFrJywnUGV0YWsnLCdTdWJvdGEnXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ05lZCcsJ1BvbicsJ1V0bycsJ1NyaScsJ8SMZXQnLCdQZXQnLCdTdWInXSwKCQlkYXlOYW1lc01pbjogWydOZScsJ1BvJywnVXQnLCdTcicsJ8SMZScsJ1BlJywnU3UnXSwKCQl3ZWVrSGVhZGVyOiAnV2snLAoJCWRhdGVGb3JtYXQ6ICdkZC5tbS55eScsCgkJZmlyc3REYXk6IDEsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnYnMnXSk7Cn0pOw==]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-ca.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogSW5pY2lhbGl0emFjacOzIGVuIGNhdGFsw6AgcGVyIGEgbCdleHRlbmNpw7MgJ2NhbGVuZGFyJyBwZXIgalF1ZXJ5LiAqLwovKiBXcml0ZXJzOiAoam9hbi5sZW9uQGdtYWlsLmNvbSkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnY2EnXSA9IHsKCQljbG9zZVRleHQ6ICdUYW5jYXInLAoJCXByZXZUZXh0OiAnJiN4M2M7QW50JywKCQluZXh0VGV4dDogJ1NlZyYjeDNlOycsCgkJY3VycmVudFRleHQ6ICdBdnVpJywKCQltb250aE5hbWVzOiBbJ0dlbmVyJywnRmVicmVyJywnTWFyJmNjZWRpbDsnLCdBYnJpbCcsJ01haWcnLCdKdW55JywKCQknSnVsaW9sJywnQWdvc3QnLCdTZXRlbWJyZScsJ09jdHVicmUnLCdOb3ZlbWJyZScsJ0Rlc2VtYnJlJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ0dlbicsJ0ZlYicsJ01hcicsJ0FicicsJ01haScsJ0p1bicsCgkJJ0p1bCcsJ0FnbycsJ1NldCcsJ09jdCcsJ05vdicsJ0RlcyddLAoJCWRheU5hbWVzOiBbJ0RpdW1lbmdlJywnRGlsbHVucycsJ0RpbWFydHMnLCdEaW1lY3JlcycsJ0Rpam91cycsJ0RpdmVuZHJlcycsJ0Rpc3NhYnRlJ10sCgkJZGF5TmFtZXNTaG9ydDogWydEdWcnLCdEbG4nLCdEbXQnLCdEbWMnLCdEanMnLCdEdm4nLCdEc2InXSwKCQlkYXlOYW1lc01pbjogWydEZycsJ0RsJywnRHQnLCdEYycsJ0RqJywnRHYnLCdEcyddLAoJCXdlZWtIZWFkZXI6ICdTbScsCgkJZGF0ZUZvcm1hdDogJ2RkL21tL3l5JywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydjYSddKTsKfSk7]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-cs.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogQ3plY2ggaW5pdGlhbGlzYXRpb24gZm9yIHRoZSBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAqLwovKiBXcml0dGVuIGJ5IFRvbWFzIE11bGxlciAodG9tYXNAdG9tYXMtbXVsbGVyLm5ldCkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnY3MnXSA9IHsKCQljbG9zZVRleHQ6ICdaYXbFmcOtdCcsCgkJcHJldlRleHQ6ICcmI3gzYztExZnDrXZlJywKCQluZXh0VGV4dDogJ1BvemTEm2ppJiN4M2U7JywKCQljdXJyZW50VGV4dDogJ055bsOtJywKCQltb250aE5hbWVzOiBbJ2xlZGVuJywnw7pub3InLCdixZllemVuJywnZHViZW4nLCdrdsSbdGVuJywnxI1lcnZlbicsCiAgICAgICAgJ8SNZXJ2ZW5lYycsJ3NycGVuJywnesOhxZnDrScsJ8WZw61qZW4nLCdsaXN0b3BhZCcsJ3Byb3NpbmVjJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ2xlZCcsJ8O6bm8nLCdixZllJywnZHViJywna3bEmycsJ8SNZXInLAoJCSfEjXZjJywnc3JwJywnesOhxZknLCfFmcOtaicsJ2xpcycsJ3BybyddLAoJCWRheU5hbWVzOiBbJ25lZMSbbGUnLCAncG9uZMSbbMOtJywgJ8O6dGVyw70nLCAnc3TFmWVkYScsICfEjXR2cnRlaycsICdww6F0ZWsnLCAnc29ib3RhJ10sCgkJZGF5TmFtZXNTaG9ydDogWyduZScsICdwbycsICfDunQnLCAnc3QnLCAnxI10JywgJ3DDoScsICdzbyddLAoJCWRheU5hbWVzTWluOiBbJ25lJywncG8nLCfDunQnLCdzdCcsJ8SNdCcsJ3DDoScsJ3NvJ10sCgkJd2Vla0hlYWRlcjogJ1TDvWQnLAoJCWRhdGVGb3JtYXQ6ICdkZC5tbS55eScsCgkJZmlyc3REYXk6IDEsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnY3MnXSk7Cn0pOwo=]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-da.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogRGFuaXNoIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBKYW4gQ2hyaXN0ZW5zZW4gKCBkZWxldGVzdHVmZkBnbWFpbC5jb20pLiAqLwpqUXVlcnkoZnVuY3Rpb24oJCl7CiAgICAkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2RhJ10gPSB7CgkJY2xvc2VUZXh0OiAnTHVrJywKICAgICAgICBwcmV2VGV4dDogJyYjeDNjO0ZvcnJpZ2UnLAoJCW5leHRUZXh0OiAnTsOmc3RlJiN4M2U7JywKCQljdXJyZW50VGV4dDogJ0lkYWcnLAogICAgICAgIG1vbnRoTmFtZXM6IFsnSmFudWFyJywnRmVicnVhcicsJ01hcnRzJywnQXByaWwnLCdNYWonLCdKdW5pJywKICAgICAgICAnSnVsaScsJ0F1Z3VzdCcsJ1NlcHRlbWJlcicsJ09rdG9iZXInLCdOb3ZlbWJlcicsJ0RlY2VtYmVyJ10sCiAgICAgICAgbW9udGhOYW1lc1Nob3J0OiBbJ0phbicsJ0ZlYicsJ01hcicsJ0FwcicsJ01haicsJ0p1bicsCiAgICAgICAgJ0p1bCcsJ0F1ZycsJ1NlcCcsJ09rdCcsJ05vdicsJ0RlYyddLAoJCWRheU5hbWVzOiBbJ1PDuG5kYWcnLCdNYW5kYWcnLCdUaXJzZGFnJywnT25zZGFnJywnVG9yc2RhZycsJ0ZyZWRhZycsJ0zDuHJkYWcnXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ1PDuG4nLCdNYW4nLCdUaXInLCdPbnMnLCdUb3InLCdGcmUnLCdMw7hyJ10sCgkJZGF5TmFtZXNNaW46IFsnU8O4JywnTWEnLCdUaScsJ09uJywnVG8nLCdGcicsJ0zDuCddLAoJCXdlZWtIZWFkZXI6ICdVZ2UnLAogICAgICAgIGRhdGVGb3JtYXQ6ICdkZC1tbS15eScsCgkJZmlyc3REYXk6IDEsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwogICAgJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZGEnXSk7Cn0pOwo=]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-de.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogR2VybWFuIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBNaWxpYW4gV29sZmYgKG1haWxAbWlsaWFudy5kZSkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZGUnXSA9IHsKCQljbG9zZVRleHQ6ICdzY2hsaWXDn2VuJywKCQlwcmV2VGV4dDogJyYjeDNjO3p1csO8Y2snLAoJCW5leHRUZXh0OiAnVm9yJiN4M2U7JywKCQljdXJyZW50VGV4dDogJ2hldXRlJywKCQltb250aE5hbWVzOiBbJ0phbnVhcicsJ0ZlYnJ1YXInLCdNw6RyeicsJ0FwcmlsJywnTWFpJywnSnVuaScsCgkJJ0p1bGknLCdBdWd1c3QnLCdTZXB0ZW1iZXInLCdPa3RvYmVyJywnTm92ZW1iZXInLCdEZXplbWJlciddLAoJCW1vbnRoTmFtZXNTaG9ydDogWydKYW4nLCdGZWInLCdNw6RyJywnQXByJywnTWFpJywnSnVuJywKCQknSnVsJywnQXVnJywnU2VwJywnT2t0JywnTm92JywnRGV6J10sCgkJZGF5TmFtZXM6IFsnU29ubnRhZycsJ01vbnRhZycsJ0RpZW5zdGFnJywnTWl0dHdvY2gnLCdEb25uZXJzdGFnJywnRnJlaXRhZycsJ1NhbXN0YWcnXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ1NvJywnTW8nLCdEaScsJ01pJywnRG8nLCdGcicsJ1NhJ10sCgkJZGF5TmFtZXNNaW46IFsnU28nLCdNbycsJ0RpJywnTWknLCdEbycsJ0ZyJywnU2EnXSwKCQl3ZWVrSGVhZGVyOiAnV28nLAoJCWRhdGVGb3JtYXQ6ICdkZC5tbS55eScsCgkJZmlyc3REYXk6IDEsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZGUnXSk7Cn0pOwo=]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-el.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogR3JlZWsgKGVsKSBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgQWxleCBDaWNvdmljIChodHRwOi8vd3d3LmFsZXhjaWNvdmljLmNvbSkgKi8KalF1ZXJ5KGZ1bmN0aW9uKCQpewoJJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydlbCddID0gewoJCWNsb3NlVGV4dDogJ86azrvOtc6vz4POuc68zr8nLAoJCXByZXZUZXh0OiAnzqDPgc6/zrfOs86/z43OvM61zr3Ov8+CJywKCQluZXh0VGV4dDogJ86Vz4DPjM68zrXOvc6/z4InLAoJCWN1cnJlbnRUZXh0OiAnzqTPgc6tz4fPic69IM6czq7Ovc6xz4InLAoJCW1vbnRoTmFtZXM6IFsnzpnOsc69zr/Phc6sz4HOuc6/z4InLCfOps61zrLPgc6/z4XOrM+BzrnOv8+CJywnzpzOrM+Bz4TOuc6/z4InLCfOkc+Az4HOr867zrnOv8+CJywnzpzOrM65zr/PgicsJ86Zzr/Pjc69zrnOv8+CJywKCQknzpnOv8+NzrvOuc6/z4InLCfOkc+NzrPOv8+Fz4PPhM6/z4InLCfOo861z4DPhM6tzrzOss+BzrnOv8+CJywnzp/Ous+Ez47Oss+BzrnOv8+CJywnzp3Ov86tzrzOss+BzrnOv8+CJywnzpTOtc66zq3OvM6yz4HOuc6/z4InXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnzpnOsc69JywnzqbOtc6yJywnzpzOsc+BJywnzpHPgM+BJywnzpzOsc65JywnzpnOv8+Fzr0nLAoJCSfOmc6/z4XOuycsJ86Rz4XOsycsJ86jzrXPgCcsJ86fzrrPhCcsJ86dzr/OtScsJ86UzrXOuiddLAoJCWRheU5hbWVzOiBbJ86az4XPgc65zrHOus6uJywnzpTOtc+Fz4TOrc+BzrEnLCfOpM+Bzq/PhM63JywnzqTOtc+EzqzPgc+EzrcnLCfOoM6tzrzPgM+EzrcnLCfOoM6xz4HOsc+DzrrOtc+Fzq4nLCfOo86szrLOss6xz4TOvyddLAoJCWRheU5hbWVzU2hvcnQ6IFsnzprPhc+BJywnzpTOtc+FJywnzqTPgc65JywnzqTOtc+EJywnzqDOtc68JywnzqDOsc+BJywnzqPOsc6yJ10sCgkJZGF5TmFtZXNNaW46IFsnzprPhScsJ86UzrUnLCfOpM+BJywnzqTOtScsJ86gzrUnLCfOoM6xJywnzqPOsSddLAoJCXdlZWtIZWFkZXI6ICfOlc6yzrQnLAoJCWRhdGVGb3JtYXQ6ICdkZC9tbS95eScsCgkJZmlyc3REYXk6IDEsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZWwnXSk7Cn0pOw==]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-en-AU.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogRW5nbGlzaC9BdXN0cmFsaWEgaW5pdGlhbGlzYXRpb24gZm9yIHRoZSBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAqLwovKiBCYXNlZCBvbiB0aGUgZW4tR0IgaW5pdGlhbGlzYXRpb24uICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZW4tQVUnXSA9IHsKCQljbG9zZVRleHQ6ICdEb25lJywKCQlwcmV2VGV4dDogJ1ByZXYnLAoJCW5leHRUZXh0OiAnTmV4dCcsCgkJY3VycmVudFRleHQ6ICdUb2RheScsCgkJbW9udGhOYW1lczogWydKYW51YXJ5JywnRmVicnVhcnknLCdNYXJjaCcsJ0FwcmlsJywnTWF5JywnSnVuZScsCgkJJ0p1bHknLCdBdWd1c3QnLCdTZXB0ZW1iZXInLCdPY3RvYmVyJywnTm92ZW1iZXInLCdEZWNlbWJlciddLAoJCW1vbnRoTmFtZXNTaG9ydDogWydKYW4nLCAnRmViJywgJ01hcicsICdBcHInLCAnTWF5JywgJ0p1bicsCgkJJ0p1bCcsICdBdWcnLCAnU2VwJywgJ09jdCcsICdOb3YnLCAnRGVjJ10sCgkJZGF5TmFtZXM6IFsnU3VuZGF5JywgJ01vbmRheScsICdUdWVzZGF5JywgJ1dlZG5lc2RheScsICdUaHVyc2RheScsICdGcmlkYXknLCAnU2F0dXJkYXknXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ1N1bicsICdNb24nLCAnVHVlJywgJ1dlZCcsICdUaHUnLCAnRnJpJywgJ1NhdCddLAoJCWRheU5hbWVzTWluOiBbJ1N1JywnTW8nLCdUdScsJ1dlJywnVGgnLCdGcicsJ1NhJ10sCgkJd2Vla0hlYWRlcjogJ1drJywKCQlkYXRlRm9ybWF0OiAnZGQvbW0veXknLAoJCWZpcnN0RGF5OiAxLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2VuLUFVJ10pOwp9KTsK]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-en-GB.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogRW5nbGlzaC9VSyBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgU3R1YXJ0LiAqLwpqUXVlcnkoZnVuY3Rpb24oJCl7CgkkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2VuLUdCJ10gPSB7CgkJY2xvc2VUZXh0OiAnRG9uZScsCgkJcHJldlRleHQ6ICdQcmV2JywKCQluZXh0VGV4dDogJ05leHQnLAoJCWN1cnJlbnRUZXh0OiAnVG9kYXknLAoJCW1vbnRoTmFtZXM6IFsnSmFudWFyeScsJ0ZlYnJ1YXJ5JywnTWFyY2gnLCdBcHJpbCcsJ01heScsJ0p1bmUnLAoJCSdKdWx5JywnQXVndXN0JywnU2VwdGVtYmVyJywnT2N0b2JlcicsJ05vdmVtYmVyJywnRGVjZW1iZXInXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnSmFuJywgJ0ZlYicsICdNYXInLCAnQXByJywgJ01heScsICdKdW4nLAoJCSdKdWwnLCAnQXVnJywgJ1NlcCcsICdPY3QnLCAnTm92JywgJ0RlYyddLAoJCWRheU5hbWVzOiBbJ1N1bmRheScsICdNb25kYXknLCAnVHVlc2RheScsICdXZWRuZXNkYXknLCAnVGh1cnNkYXknLCAnRnJpZGF5JywgJ1NhdHVyZGF5J10sCgkJZGF5TmFtZXNTaG9ydDogWydTdW4nLCAnTW9uJywgJ1R1ZScsICdXZWQnLCAnVGh1JywgJ0ZyaScsICdTYXQnXSwKCQlkYXlOYW1lc01pbjogWydTdScsJ01vJywnVHUnLCdXZScsJ1RoJywnRnInLCdTYSddLAoJCXdlZWtIZWFkZXI6ICdXaycsCgkJZGF0ZUZvcm1hdDogJ2RkL21tL3l5JywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydlbi1HQiddKTsKfSk7Cg==]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-en-NZ.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogRW5nbGlzaC9OZXcgWmVhbGFuZCBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIEJhc2VkIG9uIHRoZSBlbi1HQiBpbml0aWFsaXNhdGlvbi4gKi8KalF1ZXJ5KGZ1bmN0aW9uKCQpewoJJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydlbi1OWiddID0gewoJCWNsb3NlVGV4dDogJ0RvbmUnLAoJCXByZXZUZXh0OiAnUHJldicsCgkJbmV4dFRleHQ6ICdOZXh0JywKCQljdXJyZW50VGV4dDogJ1RvZGF5JywKCQltb250aE5hbWVzOiBbJ0phbnVhcnknLCdGZWJydWFyeScsJ01hcmNoJywnQXByaWwnLCdNYXknLCdKdW5lJywKCQknSnVseScsJ0F1Z3VzdCcsJ1NlcHRlbWJlcicsJ09jdG9iZXInLCdOb3ZlbWJlcicsJ0RlY2VtYmVyJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ0phbicsICdGZWInLCAnTWFyJywgJ0FwcicsICdNYXknLCAnSnVuJywKCQknSnVsJywgJ0F1ZycsICdTZXAnLCAnT2N0JywgJ05vdicsICdEZWMnXSwKCQlkYXlOYW1lczogWydTdW5kYXknLCAnTW9uZGF5JywgJ1R1ZXNkYXknLCAnV2VkbmVzZGF5JywgJ1RodXJzZGF5JywgJ0ZyaWRheScsICdTYXR1cmRheSddLAoJCWRheU5hbWVzU2hvcnQ6IFsnU3VuJywgJ01vbicsICdUdWUnLCAnV2VkJywgJ1RodScsICdGcmknLCAnU2F0J10sCgkJZGF5TmFtZXNNaW46IFsnU3UnLCdNbycsJ1R1JywnV2UnLCdUaCcsJ0ZyJywnU2EnXSwKCQl3ZWVrSGVhZGVyOiAnV2snLAoJCWRhdGVGb3JtYXQ6ICdkZC9tbS95eScsCgkJZmlyc3REYXk6IDEsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZW4tTlonXSk7Cn0pOwo=]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-eo.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogRXNwZXJhbnRvIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBPbGl2aWVyIE0uIChvbGl2aWVyd2ViQGlmcmFuY2UuY29tKS4gKi8KalF1ZXJ5KGZ1bmN0aW9uKCQpewoJJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydlbyddID0gewoJCWNsb3NlVGV4dDogJ0Zlcm1pJywKCQlwcmV2VGV4dDogJyZsdDtBbnRhJywKCQluZXh0VGV4dDogJ1Nla3YmZ3Q7JywKCQljdXJyZW50VGV4dDogJ051bmEnLAoJCW1vbnRoTmFtZXM6IFsnSmFudWFybycsJ0ZlYnJ1YXJvJywnTWFydG8nLCdBcHJpbG8nLCdNYWpvJywnSnVuaW8nLAoJCSdKdWxpbycsJ0HFrWd1c3RvJywnU2VwdGVtYnJvJywnT2t0b2JybycsJ05vdmVtYnJvJywnRGVjZW1icm8nXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnSmFuJywnRmViJywnTWFyJywnQXByJywnTWFqJywnSnVuJywKCQknSnVsJywnQcWtZycsJ1NlcCcsJ09rdCcsJ05vdicsJ0RlYyddLAoJCWRheU5hbWVzOiBbJ0RpbWFuxIlvJywnTHVuZG8nLCdNYXJkbycsJ01lcmtyZWRvJywnxLRhxa1kbycsJ1ZlbmRyZWRvJywnU2FiYXRvJ10sCgkJZGF5TmFtZXNTaG9ydDogWydEaW0nLCdMdW4nLCdNYXInLCdNZXInLCfEtGHFrScsJ1ZlbicsJ1NhYiddLAoJCWRheU5hbWVzTWluOiBbJ0RpJywnTHUnLCdNYScsJ01lJywnxLRhJywnVmUnLCdTYSddLAoJCXdlZWtIZWFkZXI6ICdTYicsCgkJZGF0ZUZvcm1hdDogJ2RkL21tL3l5JywKCQlmaXJzdERheTogMCwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydlbyddKTsKfSk7Cg==]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-es.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogSW5pY2lhbGl6YWNpw7NuIGVuIGVzcGHDsW9sIHBhcmEgbGEgZXh0ZW5zacOzbiAnVUkgZGF0ZSBwaWNrZXInIHBhcmEgalF1ZXJ5LiAqLwovKiBUcmFkdWNpZG8gcG9yIFZlc3RlciAoeHZlc3RlckBnbWFpbC5jb20pLiAqLwpqUXVlcnkoZnVuY3Rpb24oJCl7CgkkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2VzJ10gPSB7CgkJY2xvc2VUZXh0OiAnQ2VycmFyJywKCQlwcmV2VGV4dDogJyYjeDNjO0FudCcsCgkJbmV4dFRleHQ6ICdTaWcmI3gzZTsnLAoJCWN1cnJlbnRUZXh0OiAnSG95JywKCQltb250aE5hbWVzOiBbJ0VuZXJvJywnRmVicmVybycsJ01hcnpvJywnQWJyaWwnLCdNYXlvJywnSnVuaW8nLAoJCSdKdWxpbycsJ0Fnb3N0bycsJ1NlcHRpZW1icmUnLCdPY3R1YnJlJywnTm92aWVtYnJlJywnRGljaWVtYnJlJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ0VuZScsJ0ZlYicsJ01hcicsJ0FicicsJ01heScsJ0p1bicsCgkJJ0p1bCcsJ0FnbycsJ1NlcCcsJ09jdCcsJ05vdicsJ0RpYyddLAoJCWRheU5hbWVzOiBbJ0RvbWluZ28nLCdMdW5lcycsJ01hcnRlcycsJ01pJmVhY3V0ZTtyY29sZXMnLCdKdWV2ZXMnLCdWaWVybmVzJywnUyZhYWN1dGU7YmFkbyddLAoJCWRheU5hbWVzU2hvcnQ6IFsnRG9tJywnTHVuJywnTWFyJywnTWkmZWFjdXRlOycsJ0p1dicsJ1ZpZScsJ1MmYWFjdXRlO2InXSwKCQlkYXlOYW1lc01pbjogWydEbycsJ0x1JywnTWEnLCdNaScsJ0p1JywnVmknLCdTJmFhY3V0ZTsnXSwKCQl3ZWVrSGVhZGVyOiAnU20nLAoJCWRhdGVGb3JtYXQ6ICdkZC9tbS95eScsCgkJZmlyc3REYXk6IDEsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZXMnXSk7Cn0pOw==]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-et.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogRXN0b25pYW4gaW5pdGlhbGlzYXRpb24gZm9yIHRoZSBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAqLwovKiBXcml0dGVuIGJ5IE1hcnQgU8O1bWVybWFhIChtcnRzLnB5ZGV2IGF0IGdtYWlsIGNvbSkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZXQnXSA9IHsKCQljbG9zZVRleHQ6ICdTdWxnZScsCgkJcHJldlRleHQ6ICdFZWxuZXYnLAoJCW5leHRUZXh0OiAnSsOkcmduZXYnLAoJCWN1cnJlbnRUZXh0OiAnVMOkbmEnLAoJCW1vbnRoTmFtZXM6IFsnSmFhbnVhcicsJ1ZlZWJydWFyJywnTcOkcnRzJywnQXByaWxsJywnTWFpJywnSnV1bmknLAoJCSdKdXVsaScsJ0F1Z3VzdCcsJ1NlcHRlbWJlcicsJ09rdG9vYmVyJywnTm92ZW1iZXInLCdEZXRzZW1iZXInXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnSmFhbicsICdWZWVicicsICdNw6RydHMnLCAnQXByJywgJ01haScsICdKdXVuaScsCgkJJ0p1dWxpJywgJ0F1ZycsICdTZXB0JywgJ09rdCcsICdOb3YnLCAnRGV0cyddLAoJCWRheU5hbWVzOiBbJ1DDvGhhcMOkZXYnLCAnRXNtYXNww6RldicsICdUZWlzaXDDpGV2JywgJ0tvbG1hcMOkZXYnLCAnTmVsamFww6RldicsICdSZWVkZScsICdMYXVww6RldiddLAoJCWRheU5hbWVzU2hvcnQ6IFsnUMO8aGFwJywgJ0VzbWFzcCcsICdUZWlzaXAnLCAnS29sbWFwJywgJ05lbGphcCcsICdSZWVkZScsICdMYXVwJ10sCgkJZGF5TmFtZXNNaW46IFsnUCcsJ0UnLCdUJywnSycsJ04nLCdSJywnTCddLAoJCXdlZWtIZWFkZXI6ICdTbScsCgkJZGF0ZUZvcm1hdDogJ2RkLm1tLnl5JywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydldCddKTsKfSk7IA==]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-eu.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogRXVza2FyYWtvIG9pbmFycmlhICdVSSBkYXRlIHBpY2tlcicganF1ZXJ5LWtvIGV4dGVudHNpb2FyZW50emF0ICovCi8qIEthcnJpa2FzLWVrIGl0enVsaWEgKGthcnJpa2FzQGthcnJpa2FzLmNvbSkgKi8KalF1ZXJ5KGZ1bmN0aW9uKCQpewoJJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydldSddID0gewoJCWNsb3NlVGV4dDogJ0VnaW5hJywKCQlwcmV2VGV4dDogJyYjeDNjO0F1cicsCgkJbmV4dFRleHQ6ICdIdXImI3gzZTsnLAoJCWN1cnJlbnRUZXh0OiAnR2F1cicsCgkJbW9udGhOYW1lczogWydVcnRhcnJpbGEnLCdPdHNhaWxhJywnTWFydHhvYScsJ0FwaXJpbGEnLCdNYWlhdHphJywnRWthaW5hJywKCQknVXp0YWlsYScsJ0FidXp0dWEnLCdJcmFpbGEnLCdVcnJpYScsJ0F6YXJvYScsJ0FiZW5kdWEnXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnVXJ0JywnT3RzJywnTWFyJywnQXBpJywnTWFpJywnRWthJywKCQknVXp0JywnQWJ1JywnSXJhJywnVXJyJywnQXphJywnQWJlJ10sCgkJZGF5TmFtZXM6IFsnSWdhbmRlYScsJ0FzdGVsZWhlbmEnLCdBc3RlYXJ0ZWEnLCdBc3RlYXprZW5hJywnT3N0ZWd1bmEnLCdPc3RpcmFsYScsJ0xhcnVuYmF0YSddLAoJCWRheU5hbWVzU2hvcnQ6IFsnSWdhJywnQXN0JywnQXN0JywnQXN0JywnT3N0JywnT3N0JywnTGFyJ10sCgkJZGF5TmFtZXNNaW46IFsnSWcnLCdBcycsJ0FzJywnQXMnLCdPcycsJ09zJywnTGEnXSwKCQl3ZWVrSGVhZGVyOiAnV2snLAoJCWRhdGVGb3JtYXQ6ICd5eS9tbS9kZCcsCgkJZmlyc3REYXk6IDEsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZXUnXSk7Cn0pOw==]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-fa.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogUGVyc2lhbiAoRmFyc2kpIFRyYW5zbGF0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogSmF2YWQgTW93bGFuZXpoYWQgLS0gam1vd2xhQGdtYWlsLmNvbSAqLwovKiBKYWxhbGkgY2FsZW5kYXIgc2hvdWxkIHN1cHBvcnRlZCBzb29uISAoSXRzIGltcGxlbWVudGVkIGJ1dCBJIGhhdmUgdG8gdGVzdCBpdCkgKi8KalF1ZXJ5KGZ1bmN0aW9uKCQpIHsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZmEnXSA9IHsKCQljbG9zZVRleHQ6ICfYqNiz2KrZhicsCgkJcHJldlRleHQ6ICcmI3gzYzvZgtio2YTZiicsCgkJbmV4dFRleHQ6ICfYqNi52K/ZiiYjeDNlOycsCgkJY3VycmVudFRleHQ6ICfYp9mF2LHZiNiyJywKCQltb250aE5hbWVzOiBbJ9mB2LHZiNix2K/ZitmGJywn2KfYsdiv2YrYqNmH2LTYqicsJ9iu2LHYr9in2K8nLCfYqtmK2LEnLCfZhdix2K/Yp9ivJywn2LTZh9ix2YrZiNixJywKCQkn2YXZh9ixJywn2KLYqNin2YYnLCfYotiw2LEnLCfYr9mKJywn2KjZh9mF2YYnLCfYp9iz2YHZhtivJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJzEnLCcyJywnMycsJzQnLCc1JywnNicsJzcnLCc4JywnOScsJzEwJywnMTEnLCcxMiddLAoJCWRheU5hbWVzOiBbJ9mK2qnYtNmG2KjZhycsJ9iv2YjYtNmG2KjZhycsJ9iz2YfigIzYtNmG2KjZhycsJ9qG2YfYp9ix2LTZhtio2YcnLCfZvtmG2KzYtNmG2KjZhycsJ9is2YXYudmHJywn2LTZhtio2YcnXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ9mKJywn2K8nLCfYsycsJ9qGJywn2b4nLCfYrCcsICfYtCddLAoJCWRheU5hbWVzTWluOiBbJ9mKJywn2K8nLCfYsycsJ9qGJywn2b4nLCfYrCcsICfYtCddLAoJCXdlZWtIZWFkZXI6ICfZh9mBJywKCQlkYXRlRm9ybWF0OiAneXkvbW0vZGQnLAoJCWZpcnN0RGF5OiA2LAoJCWlzUlRMOiB0cnVlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZmEnXSk7Cn0pOw==]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-fi.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogRmlubmlzaCBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgSGFycmkgS2lscGnvv70gKGhhcnJpa2lscGlvQGdtYWlsLmNvbSkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKICAgICQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZmknXSA9IHsKCQljbG9zZVRleHQ6ICdTdWxqZScsCgkJcHJldlRleHQ6ICcmbGFxdW87RWRlbGxpbmVuJywKCQluZXh0VGV4dDogJ1NldXJhYXZhJnJhcXVvOycsCgkJY3VycmVudFRleHQ6ICdUJmF1bWw7biZhdW1sOyZhdW1sO24nLAogICAgICAgIG1vbnRoTmFtZXM6IFsnVGFtbWlrdXUnLCdIZWxtaWt1dScsJ01hYWxpc2t1dScsJ0h1aHRpa3V1JywnVG91a29rdXUnLCdLZXMmYXVtbDtrdXUnLAogICAgICAgICdIZWluJmF1bWw7a3V1JywnRWxva3V1JywnU3l5c2t1dScsJ0xva2FrdXUnLCdNYXJyYXNrdXUnLCdKb3VsdWt1dSddLAogICAgICAgIG1vbnRoTmFtZXNTaG9ydDogWydUYW1taScsJ0hlbG1pJywnTWFhbGlzJywnSHVodGknLCdUb3VrbycsJ0tlcyZhdW1sOycsCiAgICAgICAgJ0hlaW4mYXVtbDsnLCdFbG8nLCdTeXlzJywnTG9rYScsJ01hcnJhcycsJ0pvdWx1J10sCgkJZGF5TmFtZXNTaG9ydDogWydTdScsJ01hJywnVGknLCdLZScsJ1RvJywnUGUnLCdTdSddLAoJCWRheU5hbWVzOiBbJ1N1bm51bnRhaScsJ01hYW5hbnRhaScsJ1RpaXN0YWknLCdLZXNraXZpaWtrbycsJ1RvcnN0YWknLCdQZXJqYW50YWknLCdMYXVhbnRhaSddLAoJCWRheU5hbWVzTWluOiBbJ1N1JywnTWEnLCdUaScsJ0tlJywnVG8nLCdQZScsJ0xhJ10sCgkJd2Vla0hlYWRlcjogJ1ZrJywKICAgICAgICBkYXRlRm9ybWF0OiAnZGQubW0ueXknLAoJCWZpcnN0RGF5OiAxLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKICAgICQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2ZpJ10pOwp9KTsK]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-fo.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogRmFyb2VzZSBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4gKi8KLyogV3JpdHRlbiBieSBTdmVycmkgTW9ociBPbHNlbiwgc3ZlcnJpbW9AZ21haWwuY29tICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZm8nXSA9IHsKCQljbG9zZVRleHQ6ICdMYXQgYWZ0dXInLAoJCXByZXZUZXh0OiAnJiN4M2M7RnlycmEnLAoJCW5leHRUZXh0OiAnTsOmc3RhJiN4M2U7JywKCQljdXJyZW50VGV4dDogJ8ONIGRhZycsCgkJbW9udGhOYW1lczogWydKYW51YXInLCdGZWJydWFyJywnTWFycycsJ0FwcsOtbCcsJ01laScsJ0p1bmknLAoJCSdKdWxpJywnQXVndXN0JywnU2VwdGVtYmVyJywnT2t0b2JlcicsJ05vdmVtYmVyJywnRGVzZW1iZXInXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnSmFuJywnRmViJywnTWFyJywnQXByJywnTWVpJywnSnVuJywKCQknSnVsJywnQXVnJywnU2VwJywnT2t0JywnTm92JywnRGVzJ10sCgkJZGF5TmFtZXM6IFsnU3VubnVkYWd1cicsJ03DoW5hZGFndXInLCdUw71zZGFndXInLCdNaWt1ZGFndXInLCdIw7NzZGFndXInLCdGcsOtZ2dqYWRhZ3VyJywnTGV5YXJkYWd1ciddLAoJCWRheU5hbWVzU2hvcnQ6IFsnU3VuJywnTcOhbicsJ1TDvXMnLCdNaWsnLCdIw7NzJywnRnLDrScsJ0xleSddLAoJCWRheU5hbWVzTWluOiBbJ1N1JywnTcOhJywnVMO9JywnTWknLCdIw7MnLCdGcicsJ0xlJ10sCgkJd2Vla0hlYWRlcjogJ1ZrJywKCQlkYXRlRm9ybWF0OiAnZGQtbW0teXknLAoJCWZpcnN0RGF5OiAwLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2ZvJ10pOwp9KTsK]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-fr-CH.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogU3dpc3MtRnJlbmNoIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBNYXJ0aW4gVm9lbGtsZSAobWFydGluLnZvZWxrbGVAZS10Yy5jaCkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZnItQ0gnXSA9IHsKCQljbG9zZVRleHQ6ICdGZXJtZXInLAoJCXByZXZUZXh0OiAnJiN4M2M7UHLDqWMnLAoJCW5leHRUZXh0OiAnU3VpdiYjeDNlOycsCgkJY3VycmVudFRleHQ6ICdDb3VyYW50JywKCQltb250aE5hbWVzOiBbJ0phbnZpZXInLCdGw6l2cmllcicsJ01hcnMnLCdBdnJpbCcsJ01haScsJ0p1aW4nLAoJCSdKdWlsbGV0JywnQW/Du3QnLCdTZXB0ZW1icmUnLCdPY3RvYnJlJywnTm92ZW1icmUnLCdEw6ljZW1icmUnXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnSmFuJywnRsOpdicsJ01hcicsJ0F2cicsJ01haScsJ0p1bicsCgkJJ0p1bCcsJ0Fvw7snLCdTZXAnLCdPY3QnLCdOb3YnLCdEw6ljJ10sCgkJZGF5TmFtZXM6IFsnRGltYW5jaGUnLCdMdW5kaScsJ01hcmRpJywnTWVyY3JlZGknLCdKZXVkaScsJ1ZlbmRyZWRpJywnU2FtZWRpJ10sCgkJZGF5TmFtZXNTaG9ydDogWydEaW0nLCdMdW4nLCdNYXInLCdNZXInLCdKZXUnLCdWZW4nLCdTYW0nXSwKCQlkYXlOYW1lc01pbjogWydEaScsJ0x1JywnTWEnLCdNZScsJ0plJywnVmUnLCdTYSddLAoJCXdlZWtIZWFkZXI6ICdTbScsCgkJZGF0ZUZvcm1hdDogJ2RkLm1tLnl5JywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydmci1DSCddKTsKfSk7]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-fr.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogRnJlbmNoIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBLZWl0aCBXb29kIChrYndvb2R7YXR9aWluZXQuY29tLmF1KSwKICAgICAgICAgICAgICBTdMOpcGhhbmUgTmFobWFuaSAoc2hvbGJ5QHNob2xieS5uZXQpLAogICAgICAgICAgICAgIFN0w6lwaGFuZSBSYWltYmF1bHQgPHN0ZXBoYW5lLnJhaW1iYXVsdEBnbWFpbC5jb20+ICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZnInXSA9IHsKCQljbG9zZVRleHQ6ICdGZXJtZXInLAoJCXByZXZUZXh0OiAnUHLDqWPDqWRlbnQnLAoJCW5leHRUZXh0OiAnU3VpdmFudCcsCgkJY3VycmVudFRleHQ6ICdBdWpvdXJkXCdodWknLAoJCW1vbnRoTmFtZXM6IFsnSmFudmllcicsJ0bDqXZyaWVyJywnTWFycycsJ0F2cmlsJywnTWFpJywnSnVpbicsCgkJJ0p1aWxsZXQnLCdBb8O7dCcsJ1NlcHRlbWJyZScsJ09jdG9icmUnLCdOb3ZlbWJyZScsJ0TDqWNlbWJyZSddLAoJCW1vbnRoTmFtZXNTaG9ydDogWydKYW52LicsJ0bDqXZyLicsJ01hcnMnLCdBdnJpbCcsJ01haScsJ0p1aW4nLAoJCSdKdWlsLicsJ0Fvw7t0JywnU2VwdC4nLCdPY3QuJywnTm92LicsJ0TDqWMuJ10sCgkJZGF5TmFtZXM6IFsnRGltYW5jaGUnLCdMdW5kaScsJ01hcmRpJywnTWVyY3JlZGknLCdKZXVkaScsJ1ZlbmRyZWRpJywnU2FtZWRpJ10sCgkJZGF5TmFtZXNTaG9ydDogWydEaW0uJywnTHVuLicsJ01hci4nLCdNZXIuJywnSmV1LicsJ1Zlbi4nLCdTYW0uJ10sCgkJZGF5TmFtZXNNaW46IFsnRCcsJ0wnLCdNJywnTScsJ0onLCdWJywnUyddLAoJCXdlZWtIZWFkZXI6ICdTZW0uJywKCQlkYXRlRm9ybWF0OiAnZGQvbW0veXknLAoJCWZpcnN0RGF5OiAxLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2ZyJ10pOwp9KTsK]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-gl.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogR2FsaWNpYW4gbG9jYWxpemF0aW9uIGZvciAnVUkgZGF0ZSBwaWNrZXInIGpRdWVyeSBleHRlbnNpb24uICovCi8qIFRyYW5zbGF0ZWQgYnkgSm9yZ2UgQmFycmVpcm8gPHlvcnR4LmJhcnJ5QGdtYWlsLmNvbT4uICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZ2wnXSA9IHsKCQljbG9zZVRleHQ6ICdQZWNoYXInLAoJCXByZXZUZXh0OiAnJiN4M2M7QW50JywKCQluZXh0VGV4dDogJ1NlZyYjeDNlOycsCgkJY3VycmVudFRleHQ6ICdIb3hlJywKCQltb250aE5hbWVzOiBbJ1hhbmVpcm8nLCdGZWJyZWlybycsJ01hcnpvJywnQWJyaWwnLCdNYWlvJywnWHXDsW8nLAoJCSdYdWxsbycsJ0Fnb3N0bycsJ1NldGVtYnJvJywnT3V0dWJybycsJ05vdmVtYnJvJywnRGVjZW1icm8nXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnWGFuJywnRmViJywnTWFyJywnQWJyJywnTWFpJywnWHXDsScsCgkJJ1h1bCcsJ0FnbycsJ1NldCcsJ091dCcsJ05vdicsJ0RlYyddLAoJCWRheU5hbWVzOiBbJ0RvbWluZ28nLCdMdW5zJywnTWFydGVzJywnTSZlYWN1dGU7cmNvcmVzJywnWG92ZXMnLCdWZW5yZXMnLCdTJmFhY3V0ZTtiYWRvJ10sCgkJZGF5TmFtZXNTaG9ydDogWydEb20nLCdMdW4nLCdNYXInLCdNJmVhY3V0ZTtyJywnWG92JywnVmVuJywnUyZhYWN1dGU7YiddLAoJCWRheU5hbWVzTWluOiBbJ0RvJywnTHUnLCdNYScsJ00mZWFjdXRlOycsJ1hvJywnVmUnLCdTJmFhY3V0ZTsnXSwKCQl3ZWVrSGVhZGVyOiAnU20nLAoJCWRhdGVGb3JtYXQ6ICdkZC9tbS95eScsCgkJZmlyc3REYXk6IDEsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZ2wnXSk7Cn0pOw==]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-he.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogSGVicmV3IGluaXRpYWxpc2F0aW9uIGZvciB0aGUgVUkgRGF0ZXBpY2tlciBleHRlbnNpb24uICovCi8qIFdyaXR0ZW4gYnkgQW1pciBIYXJkb24gKGFoYXJkb24gYXQgZ21haWwgZG90IGNvbSkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnaGUnXSA9IHsKCQljbG9zZVRleHQ6ICfXodeS15XXqCcsCgkJcHJldlRleHQ6ICcmI3gzYzvXlNen15XXk9edJywKCQluZXh0VGV4dDogJ9eU15HXkCYjeDNlOycsCgkJY3VycmVudFRleHQ6ICfXlNeZ15XXnScsCgkJbW9udGhOYW1lczogWyfXmdeg15XXkNeoJywn16TXkdeo15XXkNeoJywn157XqNelJywn15DXpNeo15nXnCcsJ9ee15DXmScsJ9eZ15XXoNeZJywKCQkn15nXldec15knLCfXkNeV15LXldeh15gnLCfXodek15jXnteR16gnLCfXkNeV16fXmNeV15HXqCcsJ9eg15XXkdee15HXqCcsJ9eT16bXnteR16gnXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnMScsJzInLCczJywnNCcsJzUnLCc2JywKCQknNycsJzgnLCc5JywnMTAnLCcxMScsJzEyJ10sCgkJZGF5TmFtZXM6IFsn16jXkNep15XXnycsJ9ep16DXmScsJ9ep15zXmdep15knLCfXqNeR15nXoteZJywn15fXnteZ16nXmScsJ9ep15nXqdeZJywn16nXkdeqJ10sCgkJZGF5TmFtZXNTaG9ydDogWyfXkFwnJywn15FcJycsJ9eSXCcnLCfXk1wnJywn15RcJycsJ9eVXCcnLCfXqdeR16onXSwKCQlkYXlOYW1lc01pbjogWyfXkFwnJywn15FcJycsJ9eSXCcnLCfXk1wnJywn15RcJycsJ9eVXCcnLCfXqdeR16onXSwKCQl3ZWVrSGVhZGVyOiAnV2snLAoJCWRhdGVGb3JtYXQ6ICdkZC9tbS95eScsCgkJZmlyc3REYXk6IDAsCgkJaXNSVEw6IHRydWUsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydoZSddKTsKfSk7Cg==]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-hr.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogQ3JvYXRpYW4gaTE4biBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgVmpla29zbGF2IE5lc2VrLiAqLwpqUXVlcnkoZnVuY3Rpb24oJCl7CgkkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2hyJ10gPSB7CgkJY2xvc2VUZXh0OiAnWmF0dm9yaScsCgkJcHJldlRleHQ6ICcmI3gzYzsnLAoJCW5leHRUZXh0OiAnJiN4M2U7JywKCQljdXJyZW50VGV4dDogJ0RhbmFzJywKCQltb250aE5hbWVzOiBbJ1NpamXEjWFuaicsJ1ZlbGphxI1hJywnT8W+dWphaycsJ1RyYXZhbmonLCdTdmliYW5qJywnTGlwYW5qJywKCQknU3JwYW5qJywnS29sb3ZveicsJ1J1amFuJywnTGlzdG9wYWQnLCdTdHVkZW5pJywnUHJvc2luYWMnXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnU2lqJywnVmVsaicsJ0/FvnUnLCdUcmEnLCdTdmknLCdMaXAnLAoJCSdTcnAnLCdLb2wnLCdSdWonLCdMaXMnLCdTdHUnLCdQcm8nXSwKCQlkYXlOYW1lczogWydOZWRqZWxqYScsJ1BvbmVkamVsamFrJywnVXRvcmFrJywnU3JpamVkYScsJ8SMZXR2cnRhaycsJ1BldGFrJywnU3Vib3RhJ10sCgkJZGF5TmFtZXNTaG9ydDogWydOZWQnLCdQb24nLCdVdG8nLCdTcmknLCfEjGV0JywnUGV0JywnU3ViJ10sCgkJZGF5TmFtZXNNaW46IFsnTmUnLCdQbycsJ1V0JywnU3InLCfEjGUnLCdQZScsJ1N1J10sCgkJd2Vla0hlYWRlcjogJ1RqZScsCgkJZGF0ZUZvcm1hdDogJ2RkLm1tLnl5LicsCgkJZmlyc3REYXk6IDEsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnaHInXSk7Cn0pOw==]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-hu.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogSHVuZ2FyaWFuIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBJc3R2YW4gS2FyYXN6aSAoanF1ZXJ5QHNwYW0ucmFzemkuaHUpLiAqLwpqUXVlcnkoZnVuY3Rpb24oJCl7CgkkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2h1J10gPSB7CgkJY2xvc2VUZXh0OiAnYmV6w6Fyw6FzJywKCQlwcmV2VGV4dDogJyZsYXF1bzsmbmJzcDt2aXNzemEnLAoJCW5leHRUZXh0OiAnZWzFkXJlJm5ic3A7JnJhcXVvOycsCgkJY3VycmVudFRleHQ6ICdtYScsCgkJbW9udGhOYW1lczogWydKYW51w6FyJywgJ0ZlYnJ1w6FyJywgJ03DoXJjaXVzJywgJ8OBcHJpbGlzJywgJ03DoWp1cycsICdKw7puaXVzJywKCQknSsO6bGl1cycsICdBdWd1c3p0dXMnLCAnU3plcHRlbWJlcicsICdPa3TDs2JlcicsICdOb3ZlbWJlcicsICdEZWNlbWJlciddLAoJCW1vbnRoTmFtZXNTaG9ydDogWydKYW4nLCAnRmViJywgJ03DoXInLCAnw4FwcicsICdNw6FqJywgJ0rDum4nLAoJCSdKw7psJywgJ0F1ZycsICdTemVwJywgJ09rdCcsICdOb3YnLCAnRGVjJ10sCgkJZGF5TmFtZXM6IFsnVmFzw6FybmFwJywgJ0jDqXRmw7YnLCAnS2VkZCcsICdTemVyZGEnLCAnQ3PDvHTDtnJ0w7ZrJywgJ1DDqW50ZWsnLCAnU3pvbWJhdCddLAoJCWRheU5hbWVzU2hvcnQ6IFsnVmFzJywgJ0jDqXQnLCAnS2VkJywgJ1N6ZScsICdDc8O8JywgJ1DDqW4nLCAnU3pvJ10sCgkJZGF5TmFtZXNNaW46IFsnVicsICdIJywgJ0snLCAnU3plJywgJ0NzJywgJ1AnLCAnU3pvJ10sCgkJd2Vla0hlYWRlcjogJ0jDqScsCgkJZGF0ZUZvcm1hdDogJ3l5LW1tLWRkJywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiB0cnVlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2h1J10pOwp9KTsK]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-hy.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogQXJtZW5pYW4oVVRGLTgpIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBMZXZvbiBaYWthcnlhbiAobGV2b24uemFrYXJ5YW5AZ21haWwuY29tKSovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnaHknXSA9IHsKCQljbG9zZVRleHQ6ICfVk9Wh1a/VpdWsJywKCQlwcmV2VGV4dDogJyYjeDNjO9WG1aHVrS4nLAoJCW5leHRUZXh0OiAn1YDVodW7LiYjeDNlOycsCgkJY3VycmVudFRleHQ6ICfUsdW11b3WhdaAJywKCQltb250aE5hbWVzOiBbJ9WA1bjWgtW21b7VodaAJywn1ZPVpdW/1oDVvtWh1oAnLCfVhNWh1oDVvycsJ9Sx1brWgNWr1awnLCfVhNWh1bXVq9W9Jywn1YDVuNaC1bbVq9W9JywKCQkn1YDVuNaC1azVq9W9Jywn1ZXVo9W41b3Vv9W41b0nLCfVjdWl1brVv9Wl1bTVotWl1oAnLCfVgNW41a/Vv9Wl1bTVotWl1oAnLCfVhtW41bXVpdW01aLVpdaAJywn1LTVpdWv1b/VpdW01aLVpdaAJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ9WA1bjWgtW21b4nLCfVk9Wl1b/WgCcsJ9WE1aHWgNW/Jywn1LHVutaAJywn1YTVodW11avVvScsJ9WA1bjWgtW21avVvScsCgkJJ9WA1bjWgtWsJywn1ZXVo9W9Jywn1Y3VpdW6Jywn1YDVuNWvJywn1YbVuNW1Jywn1LTVpdWvJ10sCgkJZGF5TmFtZXM6IFsn1a/Vq9aA1aHVr9WrJywn1aXVr9W41oLVt9Wh1aLVqdWrJywn1aXWgNWl1oTVt9Wh1aLVqdWrJywn1bnVuNaA1aXWhNW31aHVotWp1asnLCfVsNWr1bbVo9W31aHVotWp1asnLCfVuNaC1oDVotWh1aknLCfVt9Wh1aLVodWpJ10sCgkJZGF5TmFtZXNTaG9ydDogWyfVr9Wr1oAnLCfVpdaA1a8nLCfVpdaA1oQnLCfVudaA1oQnLCfVsNW21aMnLCfVuNaC1oDVoicsJ9W31aLVqSddLAoJCWRheU5hbWVzTWluOiBbJ9Wv1avWgCcsJ9Wl1oDVrycsJ9Wl1oDWhCcsJ9W51oDWhCcsJ9Ww1bbVoycsJ9W41oLWgNWiJywn1bfVotWpJ10sCgkJd2Vla0hlYWRlcjogJ9WH1LLVjycsCgkJZGF0ZUZvcm1hdDogJ2RkLm1tLnl5JywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydoeSddKTsKfSk7]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-id.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogSW5kb25lc2lhbiBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgRGVkZW4gRmF0aHVyYWhtYW4gKGRlZGVuZkBnbWFpbC5jb20pLiAqLwpqUXVlcnkoZnVuY3Rpb24oJCl7CgkkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2lkJ10gPSB7CgkJY2xvc2VUZXh0OiAnVHV0dXAnLAoJCXByZXZUZXh0OiAnJiN4M2M7bXVuZHVyJywKCQluZXh0VGV4dDogJ21hanUmI3gzZTsnLAoJCWN1cnJlbnRUZXh0OiAnaGFyaSBpbmknLAoJCW1vbnRoTmFtZXM6IFsnSmFudWFyaScsJ0ZlYnJ1YXJpJywnTWFyZXQnLCdBcHJpbCcsJ01laScsJ0p1bmknLAoJCSdKdWxpJywnQWd1c3R1cycsJ1NlcHRlbWJlcicsJ09rdG9iZXInLCdOb3BlbWJlcicsJ0Rlc2VtYmVyJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ0phbicsJ0ZlYicsJ01hcicsJ0FwcicsJ01laScsJ0p1bicsCgkJJ0p1bCcsJ0FndXMnLCdTZXAnLCdPa3QnLCdOb3AnLCdEZXMnXSwKCQlkYXlOYW1lczogWydNaW5nZ3UnLCdTZW5pbicsJ1NlbGFzYScsJ1JhYnUnLCdLYW1pcycsJ0p1bWF0JywnU2FidHUnXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ01pbicsJ1NlbicsJ1NlbCcsJ1JhYicsJ2thbScsJ0p1bScsJ1NhYiddLAoJCWRheU5hbWVzTWluOiBbJ01nJywnU24nLCdTbCcsJ1JiJywnS20nLCdqbScsJ1NiJ10sCgkJd2Vla0hlYWRlcjogJ01nJywKCQlkYXRlRm9ybWF0OiAnZGQvbW0veXknLAoJCWZpcnN0RGF5OiAwLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2lkJ10pOwp9KTs=]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-is.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogSWNlbGFuZGljIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBIYXVrdXIgSC4gVGhvcnNzb24gKGhhdWt1ckBlc2tpbGwuaXMpLiAqLwpqUXVlcnkoZnVuY3Rpb24oJCl7CgkkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2lzJ10gPSB7CgkJY2xvc2VUZXh0OiAnTG9rYScsCgkJcHJldlRleHQ6ICcmI3gzYzsgRnlycmknLAoJCW5leHRUZXh0OiAnTiZhZWxpZztzdGkgJiN4M2U7JywKCQljdXJyZW50VGV4dDogJyZJYWN1dGU7IGRhZycsCgkJbW9udGhOYW1lczogWydKYW4mdWFjdXRlO2FyJywnRmViciZ1YWN1dGU7YXInLCdNYXJzJywnQXByJmlhY3V0ZTtsJywnTWEmaWFjdXRlJywnSiZ1YWN1dGU7biZpYWN1dGU7JywKCQknSiZ1YWN1dGU7bCZpYWN1dGU7JywnJkFhY3V0ZTtnJnVhY3V0ZTtzdCcsJ1NlcHRlbWJlcicsJ09rdCZvYWN1dGU7YmVyJywnTiZvYWN1dGU7dmVtYmVyJywnRGVzZW1iZXInXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnSmFuJywnRmViJywnTWFyJywnQXByJywnTWEmaWFjdXRlOycsJ0omdWFjdXRlO24nLAoJCSdKJnVhY3V0ZTtsJywnJkFhY3V0ZTtnJnVhY3V0ZTsnLCdTZXAnLCdPa3QnLCdOJm9hY3V0ZTt2JywnRGVzJ10sCgkJZGF5TmFtZXM6IFsnU3VubnVkYWd1cicsJ00mYWFjdXRlO251ZGFndXInLCcmVEhPUk47cmkmZXRoO2p1ZGFndXInLCdNaSZldGg7dmlrdWRhZ3VyJywnRmltbXR1ZGFndXInLCdGJm91bWw7c3R1ZGFndXInLCdMYXVnYXJkYWd1ciddLAoJCWRheU5hbWVzU2hvcnQ6IFsnU3VuJywnTSZhYWN1dGU7bicsJyZUSE9STjtyaScsJ01pJmV0aDsnLCdGaW0nLCdGJm91bWw7cycsJ0xhdSddLAoJCWRheU5hbWVzTWluOiBbJ1N1JywnTSZhYWN1dGU7JywnJlRIT1JOO3InLCdNaScsJ0ZpJywnRiZvdW1sOycsJ0xhJ10sCgkJd2Vla0hlYWRlcjogJ1Zpa2EnLAoJCWRhdGVGb3JtYXQ6ICdkZC9tbS95eScsCgkJZmlyc3REYXk6IDAsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnaXMnXSk7Cn0pOw==]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-it.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogSXRhbGlhbiBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgQW50b25lbGxvIFBhc2VsbGEgKGFudG9uZWxsby5wYXNlbGxhQGdtYWlsLmNvbSkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnaXQnXSA9IHsKCQljbG9zZVRleHQ6ICdDaGl1ZGknLAoJCXByZXZUZXh0OiAnJiN4M2M7UHJlYycsCgkJbmV4dFRleHQ6ICdTdWNjJiN4M2U7JywKCQljdXJyZW50VGV4dDogJ09nZ2knLAoJCW1vbnRoTmFtZXM6IFsnR2VubmFpbycsJ0ZlYmJyYWlvJywnTWFyem8nLCdBcHJpbGUnLCdNYWdnaW8nLCdHaXVnbm8nLAoJCQknTHVnbGlvJywnQWdvc3RvJywnU2V0dGVtYnJlJywnT3R0b2JyZScsJ05vdmVtYnJlJywnRGljZW1icmUnXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnR2VuJywnRmViJywnTWFyJywnQXByJywnTWFnJywnR2l1JywKCQkJJ0x1ZycsJ0FnbycsJ1NldCcsJ090dCcsJ05vdicsJ0RpYyddLAoJCWRheU5hbWVzOiBbJ0RvbWVuaWNhJywnTHVuZWQmIzIzNicsJ01hcnRlZCYjMjM2JywnTWVyY29sZWQmIzIzNicsJ0dpb3ZlZCYjMjM2JywnVmVuZXJkJiMyMzYnLCdTYWJhdG8nXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ0RvbScsJ0x1bicsJ01hcicsJ01lcicsJ0dpbycsJ1ZlbicsJ1NhYiddLAoJCWRheU5hbWVzTWluOiBbJ0RvJywnTHUnLCdNYScsJ01lJywnR2knLCdWZScsJ1NhJ10sCgkJd2Vla0hlYWRlcjogJ1NtJywKCQlkYXRlRm9ybWF0OiAnZGQvbW0veXknLAoJCWZpcnN0RGF5OiAxLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2l0J10pOwp9KTsK]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-ja.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogSmFwYW5lc2UgaW5pdGlhbGlzYXRpb24gZm9yIHRoZSBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAqLwovKiBXcml0dGVuIGJ5IEtlbnRhcm8gU0FUTyAoa2VudGFyb0ByYW52aXMuY29tKS4gKi8KalF1ZXJ5KGZ1bmN0aW9uKCQpewoJJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydqYSddID0gewoJCWNsb3NlVGV4dDogJ+mWieOBmOOCiycsCgkJcHJldlRleHQ6ICcmI3gzYzvliY0nLAoJCW5leHRUZXh0OiAn5qyhJiN4M2U7JywKCQljdXJyZW50VGV4dDogJ+S7iuaXpScsCgkJbW9udGhOYW1lczogWycx5pyIJywnMuaciCcsJzPmnIgnLCc05pyIJywnNeaciCcsJzbmnIgnLAoJCSc35pyIJywnOOaciCcsJznmnIgnLCcxMOaciCcsJzEx5pyIJywnMTLmnIgnXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnMeaciCcsJzLmnIgnLCcz5pyIJywnNOaciCcsJzXmnIgnLCc25pyIJywKCQknN+aciCcsJzjmnIgnLCc55pyIJywnMTDmnIgnLCcxMeaciCcsJzEy5pyIJ10sCgkJZGF5TmFtZXM6IFsn5pel5puc5pelJywn5pyI5puc5pelJywn54Gr5puc5pelJywn5rC05puc5pelJywn5pyo5puc5pelJywn6YeR5puc5pelJywn5Zyf5puc5pelJ10sCgkJZGF5TmFtZXNTaG9ydDogWyfml6UnLCfmnIgnLCfngasnLCfmsLQnLCfmnKgnLCfph5EnLCflnJ8nXSwKCQlkYXlOYW1lc01pbjogWyfml6UnLCfmnIgnLCfngasnLCfmsLQnLCfmnKgnLCfph5EnLCflnJ8nXSwKCQl3ZWVrSGVhZGVyOiAn6YCxJywKCQlkYXRlRm9ybWF0OiAneXkvbW0vZGQnLAoJCWZpcnN0RGF5OiAwLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IHRydWUsCgkJeWVhclN1ZmZpeDogJ+W5tCd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnamEnXSk7Cn0pOw==]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-ko.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogS29yZWFuIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IGNhbGVuZGFyIGV4dGVuc2lvbi4gKi8KLyogV3JpdHRlbiBieSBEYWVLd29uIEthbmcgKG5jcmFzaC5ka0BnbWFpbC5jb20pLiAqLwpqUXVlcnkoZnVuY3Rpb24oJCl7CgkkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2tvJ10gPSB7CgkJY2xvc2VUZXh0OiAn64ur6riwJywKCQlwcmV2VGV4dDogJ+ydtOyghOuLrCcsCgkJbmV4dFRleHQ6ICfri6TsnYzri6wnLAoJCWN1cnJlbnRUZXh0OiAn7Jik64qYJywKCQltb250aE5hbWVzOiBbJzHsm5QoSkFOKScsJzLsm5QoRkVCKScsJzPsm5QoTUFSKScsJzTsm5QoQVBSKScsJzXsm5QoTUFZKScsJzbsm5QoSlVOKScsCgkJJzfsm5QoSlVMKScsJzjsm5QoQVVHKScsJznsm5QoU0VQKScsJzEw7JuUKE9DVCknLCcxMeyblChOT1YpJywnMTLsm5QoREVDKSddLAoJCW1vbnRoTmFtZXNTaG9ydDogWycx7JuUKEpBTiknLCcy7JuUKEZFQiknLCcz7JuUKE1BUiknLCc07JuUKEFQUiknLCc17JuUKE1BWSknLCc27JuUKEpVTiknLAoJCSc37JuUKEpVTCknLCc47JuUKEFVRyknLCc57JuUKFNFUCknLCcxMOyblChPQ1QpJywnMTHsm5QoTk9WKScsJzEy7JuUKERFQyknXSwKCQlkYXlOYW1lczogWyfsnbwnLCfsm5QnLCftmZQnLCfsiJgnLCfrqqknLCfquIgnLCfthqAnXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ+ydvCcsJ+yblCcsJ+2ZlCcsJ+yImCcsJ+uqqScsJ+q4iCcsJ+2GoCddLAoJCWRheU5hbWVzTWluOiBbJ+ydvCcsJ+yblCcsJ+2ZlCcsJ+yImCcsJ+uqqScsJ+q4iCcsJ+2GoCddLAoJCXdlZWtIZWFkZXI6ICdXaycsCgkJZGF0ZUZvcm1hdDogJ3l5LW1tLWRkJywKCQlmaXJzdERheTogMCwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAn64WEJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydrbyddKTsKfSk7]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-kz.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogS2F6YWtoIChVVEYtOCkgaW5pdGlhbGlzYXRpb24gZm9yIHRoZSBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAqLwovKiBXcml0dGVuIGJ5IERtaXRyaXkgS2FyYXN5b3YgKGRtaXRyaXkua2FyYXN5b3ZAZ21haWwuY29tKS4gKi8KalF1ZXJ5KGZ1bmN0aW9uKCQpewoJJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydreiddID0gewoJCWNsb3NlVGV4dDogJ9CW0LDQsdGDJywKCQlwcmV2VGV4dDogJyYjeDNjO9CQ0LvQtNGL0qPSk9GLJywKCQluZXh0VGV4dDogJ9Ca0LXQu9C10YHRliYjeDNlOycsCgkJY3VycmVudFRleHQ6ICfQkdKv0LPRltC9JywKCQltb250aE5hbWVzOiBbJ9Ka0LDSo9GC0LDRgCcsJ9CQ0pvQv9Cw0L0nLCfQndCw0YPRgNGL0LcnLCfQodOZ0YPRltGAJywn0JzQsNC80YvRgCcsJ9Cc0LDRg9GB0YvQvCcsCgkJJ9Co0ZbQu9C00LUnLCfQotCw0LzRi9C3Jywn0prRi9GA0LrSr9C50LXQuicsJ9Ka0LDQt9Cw0L0nLCfSmtCw0YDQsNGI0LAnLCfQltC10LvRgtC+0pvRgdCw0L0nXSwKCQltb250aE5hbWVzU2hvcnQ6IFsn0prQsNKjJywn0JDSm9C/Jywn0J3QsNGDJywn0KHTmdGDJywn0JzQsNC8Jywn0JzQsNGDJywKCQkn0KjRltC7Jywn0KLQsNC8Jywn0prRi9GAJywn0prQsNC3Jywn0prQsNGAJywn0JbQtdC7J10sCgkJZGF5TmFtZXM6IFsn0JbQtdC60YHQtdC90LHRlicsJ9CU0q/QudGB0LXQvdCx0ZYnLCfQodC10LnRgdC10L3QsdGWJywn0KHTmdGA0YHQtdC90LHRlicsJ9CR0LXQudGB0LXQvdCx0ZYnLCfQltKx0LzQsCcsJ9Ch0LXQvdCx0ZYnXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ9C20LrRgScsJ9C00YHQvScsJ9GB0YHQvScsJ9GB0YDRgScsJ9Cx0YHQvScsJ9C20LzQsCcsJ9GB0L3QsSddLAoJCWRheU5hbWVzTWluOiBbJ9CW0LonLCfQlNGBJywn0KHRgScsJ9Ch0YAnLCfQkdGBJywn0JbQvCcsJ9Ch0L0nXSwKCQl3ZWVrSGVhZGVyOiAn0J3QtScsCgkJZGF0ZUZvcm1hdDogJ2RkLm1tLnl5JywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydreiddKTsKfSk7Cg==]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-lt.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogTGl0aHVhbmlhbiAoVVRGLTgpIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogQGF1dGhvciBBcnR1cmFzIFBhbGVpY2lrYXMgPGFydHVyYXNAYXZhbG9uLmx0PiAqLwpqUXVlcnkoZnVuY3Rpb24oJCl7CgkkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2x0J10gPSB7CgkJY2xvc2VUZXh0OiAnVcW+ZGFyeXRpJywKCQlwcmV2VGV4dDogJyYjeDNjO0F0Z2FsJywKCQluZXh0VGV4dDogJ1Bpcm15biYjeDNlOycsCgkJY3VycmVudFRleHQ6ICfFoGlhbmRpZW4nLAoJCW1vbnRoTmFtZXM6IFsnU2F1c2lzJywnVmFzYXJpcycsJ0tvdmFzJywnQmFsYW5kaXMnLCdHZWd1xb7ElycsJ0JpcsW+ZWxpcycsCgkJJ0xpZXBhJywnUnVncGrFq3RpcycsJ1J1Z3PEl2ppcycsJ1NwYWxpcycsJ0xhcGtyaXRpcycsJ0dydW9kaXMnXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnU2F1JywnVmFzJywnS292JywnQmFsJywnR2VnJywnQmlyJywKCQknTGllJywnUnVncCcsJ1J1Z3MnLCdTcGEnLCdMYXAnLCdHcnUnXSwKCQlkYXlOYW1lczogWydzZWttYWRpZW5pcycsJ3Bpcm1hZGllbmlzJywnYW50cmFkaWVuaXMnLCd0cmXEjWlhZGllbmlzJywna2V0dmlydGFkaWVuaXMnLCdwZW5rdGFkaWVuaXMnLCfFoWXFoXRhZGllbmlzJ10sCgkJZGF5TmFtZXNTaG9ydDogWydzZWsnLCdwaXInLCdhbnQnLCd0cmUnLCdrZXQnLCdwZW4nLCfFoWXFoSddLAoJCWRheU5hbWVzTWluOiBbJ1NlJywnUHInLCdBbicsJ1RyJywnS2UnLCdQZScsJ8WgZSddLAoJCXdlZWtIZWFkZXI6ICdXaycsCgkJZGF0ZUZvcm1hdDogJ3l5LW1tLWRkJywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydsdCddKTsKfSk7]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-lv.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogTGF0dmlhbiAoVVRGLTgpIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogQGF1dGhvciBBcnR1cmFzIFBhbGVpY2lrYXMgPGFydHVyYXMucGFsZWljaWthc0BtZXRhc2l0ZS5uZXQ+ICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnbHYnXSA9IHsKCQljbG9zZVRleHQ6ICdBaXp2xJNydCcsCgkJcHJldlRleHQ6ICdJZXByJywKCQluZXh0VGV4dDogJ07EgWthJywKCQljdXJyZW50VGV4dDogJ8Wgb2RpZW4nLAoJCW1vbnRoTmFtZXM6IFsnSmFudsSBcmlzJywnRmVicnXEgXJpcycsJ01hcnRzJywnQXByxKtsaXMnLCdNYWlqcycsJ0rFq25panMnLAoJCSdKxatsaWpzJywnQXVndXN0cycsJ1NlcHRlbWJyaXMnLCdPa3RvYnJpcycsJ05vdmVtYnJpcycsJ0RlY2VtYnJpcyddLAoJCW1vbnRoTmFtZXNTaG9ydDogWydKYW4nLCdGZWInLCdNYXInLCdBcHInLCdNYWknLCdKxatuJywKCQknSsWrbCcsJ0F1ZycsJ1NlcCcsJ09rdCcsJ05vdicsJ0RlYyddLAoJCWRheU5hbWVzOiBbJ3N2xJN0ZGllbmEnLCdwaXJtZGllbmEnLCdvdHJkaWVuYScsJ3RyZcWhZGllbmEnLCdjZXR1cnRkaWVuYScsJ3BpZWt0ZGllbmEnLCdzZXN0ZGllbmEnXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ3N2dCcsJ3BybScsJ290cicsJ3RyZScsJ2N0cicsJ3BrdCcsJ3NzdCddLAoJCWRheU5hbWVzTWluOiBbJ1N2JywnUHInLCdPdCcsJ1RyJywnQ3QnLCdQaycsJ1NzJ10sCgkJd2Vla0hlYWRlcjogJ05hdicsCgkJZGF0ZUZvcm1hdDogJ2RkLW1tLXl5JywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydsdiddKTsKfSk7]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-ml.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogTWFsYXlhbGFtIChVVEYtOCkgaW5pdGlhbGlzYXRpb24gZm9yIHRoZSBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAqLwovKiBXcml0dGVuIGJ5IFNhamkgTmVkaXlhbmNoYXRoIChzYWppODlAZ21haWwuY29tKS4gKi8KalF1ZXJ5KGZ1bmN0aW9uKCQpewoJJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydtbCddID0gewoJCWNsb3NlVGV4dDogJ+C0tuC0sOC0vycsCgkJcHJldlRleHQ6ICfgtK7gtYHgtKjgtY3gtKjgtKTgtY3gtKTgtYYnLCAgCgkJbmV4dFRleHQ6ICfgtIXgtJ/gtYHgtKTgtY3gtKTgtKTgtY0gJywKCQljdXJyZW50VGV4dDogJ+C0h+C0qOC1jeC0qOC1jScsCgkJbW9udGhOYW1lczogWyfgtJzgtKjgtYHgtLXgtLDgtL8nLCfgtKvgtYbgtKzgtY3gtLDgtYHgtLXgtLDgtL8nLCfgtK7gtL7gtLDgtY3igI3gtJrgtY3gtJrgtY0nLCfgtI/gtKrgtY3gtLDgtL/gtLLgtY3igI0nLCfgtK7gtYfgtK/gtY0nLCfgtJzgtYLgtKPgtY3igI0nLAoJCSfgtJzgtYLgtLLgtYgnLCfgtIbgtJfgtLjgtY3gtLHgtY3gtLHgtY0nLCfgtLjgtYbgtKrgtY3gtLHgtY3gtLHgtILgtKzgtLDgtY3igI0nLCfgtJLgtJXgtY3gtJ/gtYvgtKzgtLDgtY3igI0nLCfgtKjgtLXgtILgtKzgtLDgtY3igI0nLCfgtKHgtL/gtLjgtILgtKzgtLDgtY3igI0nXSwKCQltb250aE5hbWVzU2hvcnQ6IFsn4LSc4LSo4LWBJywgJ+C0q+C1huC0rOC1jScsICfgtK7gtL7gtLDgtY3igI0nLCAn4LSP4LSq4LWN4LSw4LS/JywgJ+C0ruC1h+C0r+C1jScsICfgtJzgtYLgtKPgtY3igI0nLAoJCSfgtJzgtYLgtLLgtL4nLCAn4LSG4LSXJywgJ+C0uOC1huC0quC1jScsICfgtJLgtJXgtY3gtJ/gtYsnLCAn4LSo4LS14LSCJywgJ+C0oeC0v+C0uCddLAoJCWRheU5hbWVzOiBbJ+C0nuC0vuC0r+C0sOC1jeKAjScsICfgtKTgtL/gtJngtY3gtJXgtLPgtY3igI0nLCAn4LSa4LWK4LS14LWN4LS1JywgJ+C0rOC1geC0p+C0qOC1jeKAjScsICfgtLXgtY3gtK/gtL7gtLTgtIInLCAn4LS14LWG4LSz4LWN4LSz4LS/JywgJ+C0tuC0qOC0vyddLAoJCWRheU5hbWVzU2hvcnQ6IFsn4LSe4LS+4LSvJywgJ+C0pOC0v+C0meC1jeC0lScsICfgtJrgtYrgtLXgtY3gtLUnLCAn4LSs4LWB4LSnJywgJ+C0teC1jeC0r+C0vuC0tOC0gicsICfgtLXgtYbgtLPgtY3gtLPgtL8nLCAn4LS24LSo4LS/J10sCgkJZGF5TmFtZXNNaW46IFsn4LSe4LS+Jywn4LSk4LS/Jywn4LSa4LWKJywn4LSs4LWBJywn4LS14LWN4LSv4LS+Jywn4LS14LWGJywn4LS2J10sCgkJd2Vla0hlYWRlcjogJ+C0hicsCgkJZGF0ZUZvcm1hdDogJ2RkL21tL3l5JywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydtbCddKTsKfSk7Cg==]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-ms.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogTWFsYXlzaWFuIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBNb2hkIE5hd2F3aSBNb2hhbWFkIEphbWlsaSAobmF3YXdpQHJvbmdnZW5nLm5ldCkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnbXMnXSA9IHsKCQljbG9zZVRleHQ6ICdUdXR1cCcsCgkJcHJldlRleHQ6ICcmI3gzYztTZWJlbHVtJywKCQluZXh0VGV4dDogJ1NlbGVwYXMmI3gzZTsnLAoJCWN1cnJlbnRUZXh0OiAnaGFyaSBpbmknLAoJCW1vbnRoTmFtZXM6IFsnSmFudWFyaScsJ0ZlYnJ1YXJpJywnTWFjJywnQXByaWwnLCdNZWknLCdKdW4nLAoJCSdKdWxhaScsJ09nb3MnLCdTZXB0ZW1iZXInLCdPa3RvYmVyJywnTm92ZW1iZXInLCdEaXNlbWJlciddLAoJCW1vbnRoTmFtZXNTaG9ydDogWydKYW4nLCdGZWInLCdNYWMnLCdBcHInLCdNZWknLCdKdW4nLAoJCSdKdWwnLCdPZ28nLCdTZXAnLCdPa3QnLCdOb3YnLCdEaXMnXSwKCQlkYXlOYW1lczogWydBaGFkJywnSXNuaW4nLCdTZWxhc2EnLCdSYWJ1JywnS2hhbWlzJywnSnVtYWF0JywnU2FidHUnXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ0FoYScsJ0lzbicsJ1NlbCcsJ1JhYicsJ2toYScsJ0p1bScsJ1NhYiddLAoJCWRheU5hbWVzTWluOiBbJ0FoJywnSXMnLCdTZScsJ1JhJywnS2gnLCdKdScsJ1NhJ10sCgkJd2Vla0hlYWRlcjogJ01nJywKCQlkYXRlRm9ybWF0OiAnZGQvbW0veXknLAoJCWZpcnN0RGF5OiAwLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ21zJ10pOwp9KTs=]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-nl.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogRHV0Y2ggKFVURi04KSBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgTWF0aGlhcyBCeW5lbnMgPGh0dHA6Ly9tYXRoaWFzYnluZW5zLmJlLz4gKi8KalF1ZXJ5KGZ1bmN0aW9uKCQpewoJJC5kYXRlcGlja2VyLnJlZ2lvbmFsLm5sID0gewoJCWNsb3NlVGV4dDogJ1NsdWl0ZW4nLAoJCXByZXZUZXh0OiAn4oaQJywKCQluZXh0VGV4dDogJ+KGkicsCgkJY3VycmVudFRleHQ6ICdWYW5kYWFnJywKCQltb250aE5hbWVzOiBbJ2phbnVhcmknLCAnZmVicnVhcmknLCAnbWFhcnQnLCAnYXByaWwnLCAnbWVpJywgJ2p1bmknLAoJCSdqdWxpJywgJ2F1Z3VzdHVzJywgJ3NlcHRlbWJlcicsICdva3RvYmVyJywgJ25vdmVtYmVyJywgJ2RlY2VtYmVyJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ2phbicsICdmZWInLCAnbWFhJywgJ2FwcicsICdtZWknLCAnanVuJywKCQknanVsJywgJ2F1ZycsICdzZXAnLCAnb2t0JywgJ25vdicsICdkZWMnXSwKCQlkYXlOYW1lczogWyd6b25kYWcnLCAnbWFhbmRhZycsICdkaW5zZGFnJywgJ3dvZW5zZGFnJywgJ2RvbmRlcmRhZycsICd2cmlqZGFnJywgJ3phdGVyZGFnJ10sCgkJZGF5TmFtZXNTaG9ydDogWyd6b24nLCAnbWFhJywgJ2RpbicsICd3b2UnLCAnZG9uJywgJ3ZyaScsICd6YXQnXSwKCQlkYXlOYW1lc01pbjogWyd6bycsICdtYScsICdkaScsICd3bycsICdkbycsICd2cicsICd6YSddLAoJCXdlZWtIZWFkZXI6ICdXaycsCgkJZGF0ZUZvcm1hdDogJ2RkLW1tLXl5JywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsLm5sKTsKfSk7]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-no.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogTm9yd2VnaWFuIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBOYWltZGpvbiBUYWtoaXJvdiAobmFpbWRqb25AZ21haWwuY29tKS4gKi8KCmpRdWVyeShmdW5jdGlvbigkKXsKICAkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ25vJ10gPSB7CiAgICBjbG9zZVRleHQ6ICdMdWtrJywKICAgIHByZXZUZXh0OiAnJmxhcXVvO0ZvcnJpZ2UnLAogICAgbmV4dFRleHQ6ICdOZXN0ZSZyYXF1bzsnLAogICAgY3VycmVudFRleHQ6ICdJIGRhZycsCiAgICBtb250aE5hbWVzOiBbJ2phbnVhcicsJ2ZlYnJ1YXInLCdtYXJzJywnYXByaWwnLCdtYWknLCdqdW5pJywnanVsaScsJ2F1Z3VzdCcsJ3NlcHRlbWJlcicsJ29rdG9iZXInLCdub3ZlbWJlcicsJ2Rlc2VtYmVyJ10sCiAgICBtb250aE5hbWVzU2hvcnQ6IFsnamFuJywnZmViJywnbWFyJywnYXByJywnbWFpJywnanVuJywnanVsJywnYXVnJywnc2VwJywnb2t0Jywnbm92JywnZGVzJ10sCiAgICBkYXlOYW1lc1Nob3J0OiBbJ3PDuG4nLCdtYW4nLCd0aXInLCdvbnMnLCd0b3InLCdmcmUnLCdsw7hyJ10sCiAgICBkYXlOYW1lczogWydzw7huZGFnJywnbWFuZGFnJywndGlyc2RhZycsJ29uc2RhZycsJ3RvcnNkYWcnLCdmcmVkYWcnLCdsw7hyZGFnJ10sCiAgICBkYXlOYW1lc01pbjogWydzw7gnLCdtYScsJ3RpJywnb24nLCd0bycsJ2ZyJywnbMO4J10sCiAgICB3ZWVrSGVhZGVyOiAnVWtlJywKICAgIGRhdGVGb3JtYXQ6ICdkZC5tbS55eScsCiAgICBmaXJzdERheTogMSwKICAgIGlzUlRMOiBmYWxzZSwKICAgIHNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCiAgICB5ZWFyU3VmZml4OiAnJwogIH07CiAgJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnbm8nXSk7Cn0pOwo=]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-pl.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogUG9saXNoIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBKYWNlayBXeXNvY2tpIChqYWNlay53eXNvY2tpQGdtYWlsLmNvbSkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsncGwnXSA9IHsKCQljbG9zZVRleHQ6ICdaYW1rbmlqJywKCQlwcmV2VGV4dDogJyYjeDNjO1BvcHJ6ZWRuaScsCgkJbmV4dFRleHQ6ICdOYXN0xJlwbnkmI3gzZTsnLAoJCWN1cnJlbnRUZXh0OiAnRHppxZsnLAoJCW1vbnRoTmFtZXM6IFsnU3R5Y3plxYQnLCdMdXR5JywnTWFyemVjJywnS3dpZWNpZcWEJywnTWFqJywnQ3plcndpZWMnLAoJCSdMaXBpZWMnLCdTaWVycGllxYQnLCdXcnplc2llxYQnLCdQYcW6ZHppZXJuaWsnLCdMaXN0b3BhZCcsJ0dydWR6aWXFhCddLAoJCW1vbnRoTmFtZXNTaG9ydDogWydTdHknLCdMdScsJ01hcicsJ0t3JywnTWFqJywnQ3plJywKCQknTGlwJywnU2llJywnV3J6JywnUGEnLCdMaXMnLCdHcnUnXSwKCQlkYXlOYW1lczogWydOaWVkemllbGEnLCdQb25pZWR6aWHFgmVrJywnV3RvcmVrJywnxZpyb2RhJywnQ3p3YXJ0ZWsnLCdQacSFdGVrJywnU29ib3RhJ10sCgkJZGF5TmFtZXNTaG9ydDogWydOaWUnLCdQbicsJ1d0JywnxZpyJywnQ3p3JywnUHQnLCdTbyddLAoJCWRheU5hbWVzTWluOiBbJ04nLCdQbicsJ1d0JywnxZpyJywnQ3onLCdQdCcsJ1NvJ10sCgkJd2Vla0hlYWRlcjogJ1R5ZHonLAoJCWRhdGVGb3JtYXQ6ICdkZC5tbS55eScsCgkJZmlyc3REYXk6IDEsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsncGwnXSk7Cn0pOwo=]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-pt-BR.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogQnJhemlsaWFuIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBMZW9uaWxkbyBDb3N0YSBTaWx2YSAobGVvY3NpbHZhQGdtYWlsLmNvbSkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsncHQtQlInXSA9IHsKCQljbG9zZVRleHQ6ICdGZWNoYXInLAoJCXByZXZUZXh0OiAnJiN4M2M7QW50ZXJpb3InLAoJCW5leHRUZXh0OiAnUHImb2FjdXRlO3hpbW8mI3gzZTsnLAoJCWN1cnJlbnRUZXh0OiAnSG9qZScsCgkJbW9udGhOYW1lczogWydKYW5laXJvJywnRmV2ZXJlaXJvJywnTWFyJmNjZWRpbDtvJywnQWJyaWwnLCdNYWlvJywnSnVuaG8nLAoJCSdKdWxobycsJ0Fnb3N0bycsJ1NldGVtYnJvJywnT3V0dWJybycsJ05vdmVtYnJvJywnRGV6ZW1icm8nXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnSmFuJywnRmV2JywnTWFyJywnQWJyJywnTWFpJywnSnVuJywKCQknSnVsJywnQWdvJywnU2V0JywnT3V0JywnTm92JywnRGV6J10sCgkJZGF5TmFtZXM6IFsnRG9taW5nbycsJ1NlZ3VuZGEtZmVpcmEnLCdUZXImY2NlZGlsO2EtZmVpcmEnLCdRdWFydGEtZmVpcmEnLCdRdWludGEtZmVpcmEnLCdTZXh0YS1mZWlyYScsJ1MmYWFjdXRlO2JhZG8nXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ0RvbScsJ1NlZycsJ1RlcicsJ1F1YScsJ1F1aScsJ1NleCcsJ1MmYWFjdXRlO2InXSwKCQlkYXlOYW1lc01pbjogWydEb20nLCdTZWcnLCdUZXInLCdRdWEnLCdRdWknLCdTZXgnLCdTJmFhY3V0ZTtiJ10sCgkJd2Vla0hlYWRlcjogJ1NtJywKCQlkYXRlRm9ybWF0OiAnZGQvbW0veXknLAoJCWZpcnN0RGF5OiAwLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ3B0LUJSJ10pOwp9KTs=]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-pt.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogUG9ydHVndWVzZSBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsncHQnXSA9IHsKCQljbG9zZVRleHQ6ICdGZWNoYXInLAoJCXByZXZUZXh0OiAnJiN4M2M7QW50ZXJpb3InLAoJCW5leHRUZXh0OiAnU2VndWludGUnLAoJCWN1cnJlbnRUZXh0OiAnSG9qZScsCgkJbW9udGhOYW1lczogWydKYW5laXJvJywnRmV2ZXJlaXJvJywnTWFyJmNjZWRpbDtvJywnQWJyaWwnLCdNYWlvJywnSnVuaG8nLAoJCSdKdWxobycsJ0Fnb3N0bycsJ1NldGVtYnJvJywnT3V0dWJybycsJ05vdmVtYnJvJywnRGV6ZW1icm8nXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnSmFuJywnRmV2JywnTWFyJywnQWJyJywnTWFpJywnSnVuJywKCQknSnVsJywnQWdvJywnU2V0JywnT3V0JywnTm92JywnRGV6J10sCgkJZGF5TmFtZXM6IFsnRG9taW5nbycsJ1NlZ3VuZGEtZmVpcmEnLCdUZXImY2NlZGlsO2EtZmVpcmEnLCdRdWFydGEtZmVpcmEnLCdRdWludGEtZmVpcmEnLCdTZXh0YS1mZWlyYScsJ1MmYWFjdXRlO2JhZG8nXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ0RvbScsJ1NlZycsJ1RlcicsJ1F1YScsJ1F1aScsJ1NleCcsJ1MmYWFjdXRlO2InXSwKCQlkYXlOYW1lc01pbjogWydEb20nLCdTZWcnLCdUZXInLCdRdWEnLCdRdWknLCdTZXgnLCdTJmFhY3V0ZTtiJ10sCgkJd2Vla0hlYWRlcjogJ1NlbScsCgkJZGF0ZUZvcm1hdDogJ2RkL21tL3l5JywKCQlmaXJzdERheTogMCwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydwdCddKTsKfSk7]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-rm.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogUm9tYW5zaCBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgWXZvbm5lIEdpZW5hbCAoeXZvbm5lLmdpZW5hbEBlZHVjYS5jaCkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsncm0nXSA9IHsKCQljbG9zZVRleHQ6ICdTZXJyYXInLAoJCXByZXZUZXh0OiAnJiN4M2M7U3VhbmRhbnQnLAoJCW5leHRUZXh0OiAnUHJlY2VkZW50JiN4M2U7JywKCQljdXJyZW50VGV4dDogJ0FjdHVhbCcsCgkJbW9udGhOYW1lczogWydTY2hhbmVyJywnRmF2cmVyJywnTWFycycsJ0F2cmlnbCcsJ01hdGcnLCdaZXJjbGFkdXInLCAnRmFuYWR1cicsJ0F2dXN0JywnU2V0dGVtYmVyJywnT2N0b2JlcicsJ05vdmVtYmVyJywnRGVjZW1iZXInXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnU2NoYScsJ0ZldicsJ01hcicsJ0F2cicsJ01hdGcnLCdaZXInLCAnRmFuJywnQXZ1JywnU2V0dCcsJ09jdCcsJ05vdicsJ0RlYyddLAoJCWRheU5hbWVzOiBbJ0R1bWVuZ2lhJywnR2xpbmRlc2RpJywnTWFyZGknLCdNZXNlbW5hJywnR2lldmdpYScsJ1ZlbmRlcmRpJywnU29uZGEnXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ0R1bScsJ0dsaScsJ01hcicsJ01lcycsJ0dpZScsJ1ZlbicsJ1NvbSddLAoJCWRheU5hbWVzTWluOiBbJ0R1JywnR2wnLCdNYScsJ01lJywnR2knLCdWZScsJ1NvJ10sCgkJd2Vla0hlYWRlcjogJ2VtbmEnLAoJCWRhdGVGb3JtYXQ6ICdkZC9tbS95eScsCgkJZmlyc3REYXk6IDEsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsncm0nXSk7Cn0pOwo=]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-ro.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogUm9tYW5pYW4gaW5pdGlhbGlzYXRpb24gZm9yIHRoZSBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLgogKgogKiBXcml0dGVuIGJ5IEVkbW9uZCBMLiAobGxfZWRtb25kQHdhbGxhLmNvbSkKICogYW5kIElvbnV0IEcuIFN0YW4gKGlvbnV0Lmcuc3RhbkBnbWFpbC5jb20pCiAqLwpqUXVlcnkoZnVuY3Rpb24oJCl7CgkkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ3JvJ10gPSB7CgkJY2xvc2VUZXh0OiAnw45uY2hpZGUnLAoJCXByZXZUZXh0OiAnJmxhcXVvOyBMdW5hIHByZWNlZGVudMSDJywKCQluZXh0VGV4dDogJ0x1bmEgdXJtxIN0b2FyZSAmcmFxdW87JywKCQljdXJyZW50VGV4dDogJ0F6aScsCgkJbW9udGhOYW1lczogWydJYW51YXJpZScsJ0ZlYnJ1YXJpZScsJ01hcnRpZScsJ0FwcmlsaWUnLCdNYWknLCdJdW5pZScsCgkJJ0l1bGllJywnQXVndXN0JywnU2VwdGVtYnJpZScsJ09jdG9tYnJpZScsJ05vaWVtYnJpZScsJ0RlY2VtYnJpZSddLAoJCW1vbnRoTmFtZXNTaG9ydDogWydJYW4nLCAnRmViJywgJ01hcicsICdBcHInLCAnTWFpJywgJ0l1bicsCgkJJ0l1bCcsICdBdWcnLCAnU2VwJywgJ09jdCcsICdOb3YnLCAnRGVjJ10sCgkJZGF5TmFtZXM6IFsnRHVtaW5pY8SDJywgJ0x1bmknLCAnTWFyxaNpJywgJ01pZXJjdXJpJywgJ0pvaScsICdWaW5lcmknLCAnU8OibWLEg3TEgyddLAoJCWRheU5hbWVzU2hvcnQ6IFsnRHVtJywgJ0x1bicsICdNYXInLCAnTWllJywgJ0pvaScsICdWaW4nLCAnU8OibSddLAoJCWRheU5hbWVzTWluOiBbJ0R1JywnTHUnLCdNYScsJ01pJywnSm8nLCdWaScsJ1PDoiddLAoJCXdlZWtIZWFkZXI6ICdTxINwdCcsCgkJZGF0ZUZvcm1hdDogJ2RkLm1tLnl5JywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydybyddKTsKfSk7Cg==]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-ru.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogUnVzc2lhbiAoVVRGLTgpIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBBbmRyZXcgU3Ryb21ub3YgKHN0cm9tbm92QGdtYWlsLmNvbSkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsncnUnXSA9IHsKCQljbG9zZVRleHQ6ICfQl9Cw0LrRgNGL0YLRjCcsCgkJcHJldlRleHQ6ICcmI3gzYzvQn9GA0LXQtCcsCgkJbmV4dFRleHQ6ICfQodC70LXQtCYjeDNlOycsCgkJY3VycmVudFRleHQ6ICfQodC10LPQvtC00L3RjycsCgkJbW9udGhOYW1lczogWyfQr9C90LLQsNGA0YwnLCfQpNC10LLRgNCw0LvRjCcsJ9Cc0LDRgNGCJywn0JDQv9GA0LXQu9GMJywn0JzQsNC5Jywn0JjRjtC90YwnLAoJCSfQmNGO0LvRjCcsJ9CQ0LLQs9GD0YHRgicsJ9Ch0LXQvdGC0Y/QsdGA0YwnLCfQntC60YLRj9Cx0YDRjCcsJ9Cd0L7Rj9Cx0YDRjCcsJ9CU0LXQutCw0LHRgNGMJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ9Cv0L3QsicsJ9Ck0LXQsicsJ9Cc0LDRgCcsJ9CQ0L/RgCcsJ9Cc0LDQuScsJ9CY0Y7QvScsCgkJJ9CY0Y7QuycsJ9CQ0LLQsycsJ9Ch0LXQvScsJ9Ce0LrRgicsJ9Cd0L7RjycsJ9CU0LXQuiddLAoJCWRheU5hbWVzOiBbJ9Cy0L7RgdC60YDQtdGB0LXQvdGM0LUnLCfQv9C+0L3QtdC00LXQu9GM0L3QuNC6Jywn0LLRgtC+0YDQvdC40LonLCfRgdGA0LXQtNCwJywn0YfQtdGC0LLQtdGA0LMnLCfQv9GP0YLQvdC40YbQsCcsJ9GB0YPQsdCx0L7RgtCwJ10sCgkJZGF5TmFtZXNTaG9ydDogWyfQstGB0LonLCfQv9C90LQnLCfQstGC0YAnLCfRgdGA0LQnLCfRh9GC0LInLCfQv9GC0L0nLCfRgdCx0YInXSwKCQlkYXlOYW1lc01pbjogWyfQktGBJywn0J/QvScsJ9CS0YInLCfQodGAJywn0KfRgicsJ9Cf0YInLCfQodCxJ10sCgkJd2Vla0hlYWRlcjogJ9Cd0LXQtCcsCgkJZGF0ZUZvcm1hdDogJ2RkLm1tLnl5JywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydydSddKTsKfSk7]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-sk.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogU2xvdmFrIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBWb2p0ZWNoIFJpbmlrICh2b2p0b0BobW0uc2spLiAqLwpqUXVlcnkoZnVuY3Rpb24oJCl7CgkkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ3NrJ10gPSB7CgkJY2xvc2VUZXh0OiAnWmF2cmllxaUnLAoJCXByZXZUZXh0OiAnJiN4M2M7UHJlZGNow6FkemFqw7pjaScsCgkJbmV4dFRleHQ6ICdOYXNsZWR1asO6Y2kmI3gzZTsnLAoJCWN1cnJlbnRUZXh0OiAnRG5lcycsCgkJbW9udGhOYW1lczogWydKYW51w6FyJywnRmVicnXDoXInLCdNYXJlYycsJ0FwcsOtbCcsJ03DoWonLCdKw7puJywKCQknSsO6bCcsJ0F1Z3VzdCcsJ1NlcHRlbWJlcicsJ09rdMOzYmVyJywnTm92ZW1iZXInLCdEZWNlbWJlciddLAoJCW1vbnRoTmFtZXNTaG9ydDogWydKYW4nLCdGZWInLCdNYXInLCdBcHInLCdNw6FqJywnSsO6bicsCgkJJ0rDumwnLCdBdWcnLCdTZXAnLCdPa3QnLCdOb3YnLCdEZWMnXSwKCQlkYXlOYW1lczogWydOZWRlxL5hJywnUG9uZGVsb2snLCdVdG9yb2snLCdTdHJlZGEnLCfFoHR2cnRvaycsJ1BpYXRvaycsJ1NvYm90YSddLAoJCWRheU5hbWVzU2hvcnQ6IFsnTmVkJywnUG9uJywnVXRvJywnU3RyJywnxaB0dicsJ1BpYScsJ1NvYiddLAoJCWRheU5hbWVzTWluOiBbJ05lJywnUG8nLCdVdCcsJ1N0JywnxaB0JywnUGlhJywnU28nXSwKCQl3ZWVrSGVhZGVyOiAnVHknLAoJCWRhdGVGb3JtYXQ6ICdkZC5tbS55eScsCgkJZmlyc3REYXk6IDEsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnc2snXSk7Cn0pOwo=]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-sl.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogU2xvdmVuaWFuIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBKYWthIEphbmNhciAoamFrYUBrdWJqZS5vcmcpLiAqLwovKiBjID0gJiN4MTBEOywgcyA9ICYjeDE2MTsgeiA9ICYjeDE3RTsgQyA9ICYjeDEwQzsgUyA9ICYjeDE2MDsgWiA9ICYjeDE3RDsgKi8KalF1ZXJ5KGZ1bmN0aW9uKCQpewoJJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydzbCddID0gewoJCWNsb3NlVGV4dDogJ1phcHJpJywKCQlwcmV2VGV4dDogJyZsdDtQcmVqJiN4MTYxO25qaScsCgkJbmV4dFRleHQ6ICdOYXNsZWRuamkmZ3Q7JywKCQljdXJyZW50VGV4dDogJ1RyZW51dG5pJywKCQltb250aE5hbWVzOiBbJ0phbnVhcicsJ0ZlYnJ1YXInLCdNYXJlYycsJ0FwcmlsJywnTWFqJywnSnVuaWonLAoJCSdKdWxpaicsJ0F2Z3VzdCcsJ1NlcHRlbWJlcicsJ09rdG9iZXInLCdOb3ZlbWJlcicsJ0RlY2VtYmVyJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ0phbicsJ0ZlYicsJ01hcicsJ0FwcicsJ01haicsJ0p1bicsCgkJJ0p1bCcsJ0F2ZycsJ1NlcCcsJ09rdCcsJ05vdicsJ0RlYyddLAoJCWRheU5hbWVzOiBbJ05lZGVsamEnLCdQb25lZGVsamVrJywnVG9yZWsnLCdTcmVkYScsJyYjeDEwQztldHJ0ZWsnLCdQZXRlaycsJ1NvYm90YSddLAoJCWRheU5hbWVzU2hvcnQ6IFsnTmVkJywnUG9uJywnVG9yJywnU3JlJywnJiN4MTBDO2V0JywnUGV0JywnU29iJ10sCgkJZGF5TmFtZXNNaW46IFsnTmUnLCdQbycsJ1RvJywnU3InLCcmI3gxMEM7ZScsJ1BlJywnU28nXSwKCQl3ZWVrSGVhZGVyOiAnVGVkZW4nLAoJCWRhdGVGb3JtYXQ6ICdkZC5tbS55eScsCgkJZmlyc3REYXk6IDEsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnc2wnXSk7Cn0pOwo=]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-sq.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogQWxiYW5pYW4gaW5pdGlhbGlzYXRpb24gZm9yIHRoZSBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAqLwovKiBXcml0dGVuIGJ5IEZsYWtyb24gQnl0eXFpIChmbGFrcm9uQGdtYWlsLmNvbSkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnc3EnXSA9IHsKCQljbG9zZVRleHQ6ICdtYnlsbGUnLAoJCXByZXZUZXh0OiAnJiN4M2M7bWJyYXBhJywKCQluZXh0VGV4dDogJ1DDq3JwYXJhJiN4M2U7JywKCQljdXJyZW50VGV4dDogJ3NvdCcsCgkJbW9udGhOYW1lczogWydKYW5hcicsJ1Noa3VydCcsJ01hcnMnLCdQcmlsbCcsJ01haicsJ1FlcnNob3InLAoJCSdLb3JyaWsnLCdHdXNodCcsJ1NodGF0b3InLCdUZXRvcicsJ07Dq250b3InLCdEaGpldG9yJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ0phbicsJ1NoaycsJ01hcicsJ1ByaScsJ01haicsJ1FlcicsCgkJJ0tvcicsJ0d1cycsJ1NodCcsJ1RldCcsJ07Dq24nLCdEaGonXSwKCQlkYXlOYW1lczogWydFIERpZWwnLCdFIEjDq27DqycsJ0UgTWFydMOrJywnRSBNw6tya3Vyw6snLCdFIEVuanRlJywnRSBQcmVtdGUnLCdFIFNodHVuZSddLAoJCWRheU5hbWVzU2hvcnQ6IFsnRGknLCdIw6snLCdNYScsJ03DqycsJ0VuJywnUHInLCdTaCddLAoJCWRheU5hbWVzTWluOiBbJ0RpJywnSMOrJywnTWEnLCdNw6snLCdFbicsJ1ByJywnU2gnXSwKCQl3ZWVrSGVhZGVyOiAnSmEnLAoJCWRhdGVGb3JtYXQ6ICdkZC5tbS55eScsCgkJZmlyc3REYXk6IDEsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnc3EnXSk7Cn0pOwo=]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-sr-SR.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogU2VyYmlhbiBpMThuIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBEZWphbiBEaW1pxIcuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnc3ItU1InXSA9IHsKCQljbG9zZVRleHQ6ICdaYXR2b3JpJywKCQlwcmV2VGV4dDogJyYjeDNjOycsCgkJbmV4dFRleHQ6ICcmI3gzZTsnLAoJCWN1cnJlbnRUZXh0OiAnRGFuYXMnLAoJCW1vbnRoTmFtZXM6IFsnSmFudWFyJywnRmVicnVhcicsJ01hcnQnLCdBcHJpbCcsJ01haicsJ0p1bicsCgkJJ0p1bCcsJ0F2Z3VzdCcsJ1NlcHRlbWJhcicsJ09rdG9iYXInLCdOb3ZlbWJhcicsJ0RlY2VtYmFyJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ0phbicsJ0ZlYicsJ01hcicsJ0FwcicsJ01haicsJ0p1bicsCgkJJ0p1bCcsJ0F2ZycsJ1NlcCcsJ09rdCcsJ05vdicsJ0RlYyddLAoJCWRheU5hbWVzOiBbJ05lZGVsamEnLCdQb25lZGVsamFrJywnVXRvcmFrJywnU3JlZGEnLCfEjGV0dnJ0YWsnLCdQZXRhaycsJ1N1Ym90YSddLAoJCWRheU5hbWVzU2hvcnQ6IFsnTmVkJywnUG9uJywnVXRvJywnU3JlJywnxIxldCcsJ1BldCcsJ1N1YiddLAoJCWRheU5hbWVzTWluOiBbJ05lJywnUG8nLCdVdCcsJ1NyJywnxIxlJywnUGUnLCdTdSddLAoJCXdlZWtIZWFkZXI6ICdTZWQnLAoJCWRhdGVGb3JtYXQ6ICdkZC9tbS95eScsCgkJZmlyc3REYXk6IDEsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnc3ItU1InXSk7Cn0pOwo=]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-sr.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogU2VyYmlhbiBpMThuIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBEZWphbiBEaW1pxIcuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnc3InXSA9IHsKCQljbG9zZVRleHQ6ICfQl9Cw0YLQstC+0YDQuCcsCgkJcHJldlRleHQ6ICcmI3gzYzsnLAoJCW5leHRUZXh0OiAnJiN4M2U7JywKCQljdXJyZW50VGV4dDogJ9CU0LDQvdCw0YEnLAoJCW1vbnRoTmFtZXM6IFsn0IjQsNC90YPQsNGAJywn0KTQtdCx0YDRg9Cw0YAnLCfQnNCw0YDRgicsJ9CQ0L/RgNC40LsnLCfQnNCw0ZgnLCfQiNGD0L0nLAoJCSfQiNGD0LsnLCfQkNCy0LPRg9GB0YInLCfQodC10L/RgtC10LzQsdCw0YAnLCfQntC60YLQvtCx0LDRgCcsJ9Cd0L7QstC10LzQsdCw0YAnLCfQlNC10YbQtdC80LHQsNGAJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ9CI0LDQvScsJ9Ck0LXQsScsJ9Cc0LDRgCcsJ9CQ0L/RgCcsJ9Cc0LDRmCcsJ9CI0YPQvScsCgkJJ9CI0YPQuycsJ9CQ0LLQsycsJ9Ch0LXQvycsJ9Ce0LrRgicsJ9Cd0L7QsicsJ9CU0LXRhiddLAoJCWRheU5hbWVzOiBbJ9Cd0LXQtNC10ZnQsCcsJ9Cf0L7QvdC10LTQtdGZ0LDQuicsJ9Cj0YLQvtGA0LDQuicsJ9Ch0YDQtdC00LAnLCfQp9C10YLQstGA0YLQsNC6Jywn0J/QtdGC0LDQuicsJ9Ch0YPQsdC+0YLQsCddLAoJCWRheU5hbWVzU2hvcnQ6IFsn0J3QtdC0Jywn0J/QvtC9Jywn0KPRgtC+Jywn0KHRgNC1Jywn0KfQtdGCJywn0J/QtdGCJywn0KHRg9CxJ10sCgkJZGF5TmFtZXNNaW46IFsn0J3QtScsJ9Cf0L4nLCfQo9GCJywn0KHRgCcsJ9Cn0LUnLCfQn9C1Jywn0KHRgyddLAoJCXdlZWtIZWFkZXI6ICfQodC10LQnLAoJCWRhdGVGb3JtYXQ6ICdkZC9tbS95eScsCgkJZmlyc3REYXk6IDEsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnc3InXSk7Cn0pOwo=]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-sv.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogU3dlZGlzaCBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgQW5kZXJzIEVrZGFobCAoIGFuZGVyc0Bub21hZGl6LnNlKS4gKi8KalF1ZXJ5KGZ1bmN0aW9uKCQpewogICAgJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydzdiddID0gewoJCWNsb3NlVGV4dDogJ1N0w6RuZycsCiAgICAgICAgcHJldlRleHQ6ICcmbGFxdW87RsO2cnJhJywKCQluZXh0VGV4dDogJ07DpHN0YSZyYXF1bzsnLAoJCWN1cnJlbnRUZXh0OiAnSWRhZycsCiAgICAgICAgbW9udGhOYW1lczogWydKYW51YXJpJywnRmVicnVhcmknLCdNYXJzJywnQXByaWwnLCdNYWonLCdKdW5pJywKICAgICAgICAnSnVsaScsJ0F1Z3VzdGknLCdTZXB0ZW1iZXInLCdPa3RvYmVyJywnTm92ZW1iZXInLCdEZWNlbWJlciddLAogICAgICAgIG1vbnRoTmFtZXNTaG9ydDogWydKYW4nLCdGZWInLCdNYXInLCdBcHInLCdNYWonLCdKdW4nLAogICAgICAgICdKdWwnLCdBdWcnLCdTZXAnLCdPa3QnLCdOb3YnLCdEZWMnXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ1PDtm4nLCdNw6VuJywnVGlzJywnT25zJywnVG9yJywnRnJlJywnTMO2ciddLAoJCWRheU5hbWVzOiBbJ1PDtm5kYWcnLCdNw6VuZGFnJywnVGlzZGFnJywnT25zZGFnJywnVG9yc2RhZycsJ0ZyZWRhZycsJ0zDtnJkYWcnXSwKCQlkYXlOYW1lc01pbjogWydTw7YnLCdNw6UnLCdUaScsJ09uJywnVG8nLCdGcicsJ0zDtiddLAoJCXdlZWtIZWFkZXI6ICdWZScsCiAgICAgICAgZGF0ZUZvcm1hdDogJ3l5LW1tLWRkJywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CiAgICAkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydzdiddKTsKfSk7Cg==]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-ta.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogVGFtaWwgKFVURi04KSBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgUyBBIFN1cmVzaGt1bWFyIChzYXNrdW1hckBsaXZlLmNvbSkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsndGEnXSA9IHsKCQljbG9zZVRleHQ6ICfgrq7gr4Lgrp/gr4EnLAoJCXByZXZUZXh0OiAn4K6u4K+B4K6p4K+N4K6p4K+I4K6v4K6k4K+BJywKCQluZXh0VGV4dDogJ+CuheCun+CvgeCupOCvjeCupOCupOCvgScsCgkJY3VycmVudFRleHQ6ICfgrofgrqngr43grrHgr4EnLAoJCW1vbnRoTmFtZXM6IFsn4K6k4K+IJywn4K6u4K6+4K6a4K6/Jywn4K6q4K6Z4K+N4K6V4K+B4K6p4K6/Jywn4K6a4K6/4K6k4K+N4K6k4K6/4K6w4K+IJywn4K614K+I4K6V4K6+4K6a4K6/Jywn4K6G4K6p4K6/JywKCQkn4K6G4K6f4K6/Jywn4K6G4K614K6j4K6/Jywn4K6q4K+B4K6w4K6f4K+N4K6f4K6+4K6a4K6/Jywn4K6Q4K6q4K+N4K6q4K6a4K6/Jywn4K6V4K6+4K6w4K+N4K6k4K+N4K6k4K6/4K6V4K+IJywn4K6u4K6+4K6w4K+N4K6V4K604K6/J10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ+CupOCviCcsJ+CuruCuvuCumuCuvycsJ+CuquCumeCvjScsJ+CumuCuv+CupOCvjScsJ+CuteCviOCuleCuvicsJ+CuhuCuqeCuvycsCgkJJ+CuhuCun+CuvycsJ+CuhuCutScsJ+CuquCvgeCusCcsJ+CukOCuquCvjScsJ+CuleCuvuCusOCvjScsJ+CuruCuvuCusOCvjSddLAoJCWRheU5hbWVzOiBbJ+CunuCuvuCur+Cuv+CuseCvjeCuseCvgeCuleCvjeCuleCuv+CutOCuruCviCcsJ+CupOCuv+CumeCvjeCuleCun+CvjeCuleCuv+CutOCuruCviCcsJ+CumuCvhuCuteCvjeCuteCuvuCur+CvjeCuleCvjeCuleCuv+CutOCuruCviCcsJ+CuquCvgeCupOCuqeCvjeCuleCuv+CutOCuruCviCcsJ+CuteCuv+Cur+CuvuCutOCuleCvjeCuleCuv+CutOCuruCviCcsJ+CuteCvhuCus+CvjeCus+Cuv+CuleCvjeCuleCuv+CutOCuruCviCcsJ+CumuCuqeCuv+CuleCvjeCuleCuv+CutOCuruCviCddLAoJCWRheU5hbWVzU2hvcnQ6IFsn4K6e4K6+4K6v4K6/4K6x4K+BJywn4K6k4K6/4K6Z4K+N4K6V4K6z4K+NJywn4K6a4K+G4K614K+N4K614K6+4K6v4K+NJywn4K6q4K+B4K6k4K6p4K+NJywn4K614K6/4K6v4K6+4K604K6p4K+NJywn4K614K+G4K6z4K+N4K6z4K6/Jywn4K6a4K6p4K6/J10sCgkJZGF5TmFtZXNNaW46IFsn4K6e4K6+Jywn4K6k4K6/Jywn4K6a4K+GJywn4K6q4K+BJywn4K614K6/Jywn4K614K+GJywn4K6aJ10sCgkJd2Vla0hlYWRlcjogJ9Cd0LUnLAoJCWRhdGVGb3JtYXQ6ICdkZC9tbS95eScsCgkJZmlyc3REYXk6IDEsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsndGEnXSk7Cn0pOwo=]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-th.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogVGhhaSBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgcGlwbyAocGlwb0BzaXhoZWFkLmNvbSkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsndGgnXSA9IHsKCQljbG9zZVRleHQ6ICfguJvguLTguJQnLAoJCXByZXZUZXh0OiAnJmxhcXVvOyZuYnNwO+C4ouC5ieC4reC4mScsCgkJbmV4dFRleHQ6ICfguJbguLHguJTguYTguJsmbmJzcDsmcmFxdW87JywKCQljdXJyZW50VGV4dDogJ+C4p+C4seC4meC4meC4teC5iScsCgkJbW9udGhOYW1lczogWyfguKHguIHguKPguLLguITguKEnLCfguIHguLjguKHguKDguLLguJ7guLHguJnguJjguYwnLCfguKHguLXguJnguLLguITguKEnLCfguYDguKHguKnguLLguKLguJknLCfguJ7guKTguKnguKDguLLguITguKEnLCfguKHguLTguJbguLjguJnguLLguKLguJknLAoJCSfguIHguKPguIHguI7guLLguITguKEnLCfguKrguLTguIfguKvguLLguITguKEnLCfguIHguLHguJnguKLguLLguKLguJknLCfguJXguLjguKXguLLguITguKEnLCfguJ7guKTguKjguIjguLTguIHguLLguKLguJknLCfguJjguLHguJnguKfguLLguITguKEnXSwKCQltb250aE5hbWVzU2hvcnQ6IFsn4LihLuC4hC4nLCfguIEu4LieLicsJ+C4oeC4tS7guIQuJywn4LmA4LihLuC4oi4nLCfguJ4u4LiELicsJ+C4oeC4tC7guKIuJywKCQkn4LiBLuC4hC4nLCfguKou4LiELicsJ+C4gS7guKIuJywn4LiVLuC4hC4nLCfguJ4u4LiiLicsJ+C4mC7guIQuJ10sCgkJZGF5TmFtZXM6IFsn4Lit4Liy4LiX4Li04LiV4Lii4LmMJywn4LiI4Lix4LiZ4LiX4Lij4LmMJywn4Lit4Lix4LiH4LiE4Liy4LijJywn4Lie4Li44LiYJywn4Lie4Lik4Lir4Lix4Liq4Lia4LiU4Li1Jywn4Lio4Li44LiB4Lij4LmMJywn4LmA4Liq4Liy4Lij4LmMJ10sCgkJZGF5TmFtZXNTaG9ydDogWyfguK3guLIuJywn4LiILicsJ+C4rS4nLCfguJ4uJywn4Lie4LikLicsJ+C4qC4nLCfguKouJ10sCgkJZGF5TmFtZXNNaW46IFsn4Lit4LiyLicsJ+C4iC4nLCfguK0uJywn4LieLicsJ+C4nuC4pC4nLCfguKguJywn4LiqLiddLAoJCXdlZWtIZWFkZXI6ICdXaycsCgkJZGF0ZUZvcm1hdDogJ2RkL21tL3l5JywKCQlmaXJzdERheTogMCwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWyd0aCddKTsKfSk7]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-tj.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogVGFqaWtpIChVVEYtOCkgaW5pdGlhbGlzYXRpb24gZm9yIHRoZSBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAqLwovKiBXcml0dGVuIGJ5IEFiZHVyYWhtb24gU2FpZG92IChzYWlkb3ZhYkBnbWFpbC5jb20pLiAqLwpqUXVlcnkoZnVuY3Rpb24oJCl7CgkkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ3RqJ10gPSB7CgkJY2xvc2VUZXh0OiAn0JjQtNC+0LzQsCcsCgkJcHJldlRleHQ6ICcmI3gzYzvSmtCw0YTQvicsCgkJbmV4dFRleHQ6ICfQn9C10YgmI3gzZTsnLAoJCWN1cnJlbnRUZXh0OiAn0JjQvNGA06/QtycsCgkJbW9udGhOYW1lczogWyfQr9C90LLQsNGAJywn0KTQtdCy0YDQsNC7Jywn0JzQsNGA0YInLCfQkNC/0YDQtdC7Jywn0JzQsNC5Jywn0JjRjtC9JywKCQkn0JjRjtC7Jywn0JDQstCz0YPRgdGCJywn0KHQtdC90YLRj9Cx0YAnLCfQntC60YLRj9Cx0YAnLCfQndC+0Y/QsdGAJywn0JTQtdC60LDQsdGAJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ9Cv0L3QsicsJ9Ck0LXQsicsJ9Cc0LDRgCcsJ9CQ0L/RgCcsJ9Cc0LDQuScsJ9CY0Y7QvScsCgkJJ9CY0Y7QuycsJ9CQ0LLQsycsJ9Ch0LXQvScsJ9Ce0LrRgicsJ9Cd0L7RjycsJ9CU0LXQuiddLAoJCWRheU5hbWVzOiBbJ9GP0LrRiNCw0L3QsdC1Jywn0LTRg9GI0LDQvdCx0LUnLCfRgdC10YjQsNC90LHQtScsJ9GH0L7RgNGI0LDQvdCx0LUnLCfQv9Cw0L3St9GI0LDQvdCx0LUnLCfSt9GD0LzRitCwJywn0YjQsNC90LHQtSddLAoJCWRheU5hbWVzU2hvcnQ6IFsn0Y/QutGIJywn0LTRg9GIJywn0YHQtdGIJywn0YfQvtGAJywn0L/QsNC9Jywn0rfRg9C8Jywn0YjQsNC9J10sCgkJZGF5TmFtZXNNaW46IFsn0K/QuicsJ9CU0YgnLCfQodGIJywn0KfRiCcsJ9Cf0YgnLCfSttC8Jywn0KjQvSddLAoJCXdlZWtIZWFkZXI6ICfQpdGEJywKCQlkYXRlRm9ybWF0OiAnZGQubW0ueXknLAoJCWZpcnN0RGF5OiAxLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ3RqJ10pOwp9KTs=]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-tr.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogVHVya2lzaCBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgSXp6ZXQgRW1yZSBFcmthbiAoa2FyYUBrYXJhbGFtYWxhci5uZXQpLiAqLwpqUXVlcnkoZnVuY3Rpb24oJCl7CgkkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ3RyJ10gPSB7CgkJY2xvc2VUZXh0OiAna2FwYXQnLAoJCXByZXZUZXh0OiAnJiN4M2M7Z2VyaScsCgkJbmV4dFRleHQ6ICdpbGVyaSYjeDNlJywKCQljdXJyZW50VGV4dDogJ2J1Z8O8bicsCgkJbW9udGhOYW1lczogWydPY2FrJywnxZ51YmF0JywnTWFydCcsJ05pc2FuJywnTWF5xLFzJywnSGF6aXJhbicsCgkJJ1RlbW11eicsJ0HEn3VzdG9zJywnRXlsw7xsJywnRWtpbScsJ0thc8SxbScsJ0FyYWzEsWsnXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnT2NhJywnxZ51YicsJ01hcicsJ05pcycsJ01heScsJ0hheicsCgkJJ1RlbScsJ0HEn3UnLCdFeWwnLCdFa2knLCdLYXMnLCdBcmEnXSwKCQlkYXlOYW1lczogWydQYXphcicsJ1BhemFydGVzaScsJ1NhbMSxJywnw4dhcsWfYW1iYScsJ1BlcsWfZW1iZScsJ0N1bWEnLCdDdW1hcnRlc2knXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ1B6JywnUHQnLCdTYScsJ8OHYScsJ1BlJywnQ3UnLCdDdCddLAoJCWRheU5hbWVzTWluOiBbJ1B6JywnUHQnLCdTYScsJ8OHYScsJ1BlJywnQ3UnLCdDdCddLAoJCXdlZWtIZWFkZXI6ICdIZicsCgkJZGF0ZUZvcm1hdDogJ2RkLm1tLnl5JywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWyd0ciddKTsKfSk7]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-uk.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogVWtyYWluaWFuIChVVEYtOCkgaW5pdGlhbGlzYXRpb24gZm9yIHRoZSBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAqLwovKiBXcml0dGVuIGJ5IE1heGltIERyb2dvYml0c2tpeSAobWF4ZGFvQGdtYWlsLmNvbSkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsndWsnXSA9IHsKCQljbG9zZVRleHQ6ICfQl9Cw0LrRgNC40YLQuCcsCgkJcHJldlRleHQ6ICcmI3gzYzsnLAoJCW5leHRUZXh0OiAnJiN4M2U7JywKCQljdXJyZW50VGV4dDogJ9Ch0YzQvtCz0L7QtNC90ZYnLAoJCW1vbnRoTmFtZXM6IFsn0KHRltGH0LXQvdGMJywn0JvRjtGC0LjQuScsJ9CR0LXRgNC10LfQtdC90YwnLCfQmtCy0ZbRgtC10L3RjCcsJ9Ci0YDQsNCy0LXQvdGMJywn0KfQtdGA0LLQtdC90YwnLAoJCSfQm9C40L/QtdC90YwnLCfQodC10YDQv9C10L3RjCcsJ9CS0LXRgNC10YHQtdC90YwnLCfQltC+0LLRgtC10L3RjCcsJ9Cb0LjRgdGC0L7Qv9Cw0LQnLCfQk9GA0YPQtNC10L3RjCddLAoJCW1vbnRoTmFtZXNTaG9ydDogWyfQodGW0YcnLCfQm9GO0YInLCfQkdC10YAnLCfQmtCy0ZYnLCfQotGA0LAnLCfQp9C10YAnLAoJCSfQm9C40L8nLCfQodC10YAnLCfQktC10YAnLCfQltC+0LInLCfQm9C40YEnLCfQk9GA0YMnXSwKCQlkYXlOYW1lczogWyfQvdC10LTRltC70Y8nLCfQv9C+0L3QtdC00ZbQu9C+0LonLCfQstGW0LLRgtC+0YDQvtC6Jywn0YHQtdGA0LXQtNCwJywn0YfQtdGC0LLQtdGAJywn0L/igJnRj9GC0L3QuNGG0Y8nLCfRgdGD0LHQvtGC0LAnXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ9C90LXQtCcsJ9C/0L3QtCcsJ9Cy0ZbQsicsJ9GB0YDQtCcsJ9GH0YLQsicsJ9C/0YLQvScsJ9GB0LHRgiddLAoJCWRheU5hbWVzTWluOiBbJ9Cd0LQnLCfQn9C9Jywn0JLRgicsJ9Ch0YAnLCfQp9GCJywn0J/RgicsJ9Ch0LEnXSwKCQl3ZWVrSGVhZGVyOiAn0J3QtScsCgkJZGF0ZUZvcm1hdDogJ2RkL21tL3l5JywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWyd1ayddKTsKfSk7]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-vi.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogVmlldG5hbWVzZSBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFRyYW5zbGF0ZWQgYnkgTGUgVGhhbmggSHV5IChsdGhhbmhodXlAY2l0LmN0dS5lZHUudm4pLiAqLwpqUXVlcnkoZnVuY3Rpb24oJCl7CgkkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ3ZpJ10gPSB7CgkJY2xvc2VUZXh0OiAnxJDDs25nJywKCQlwcmV2VGV4dDogJyYjeDNjO1RyxrDhu5tjJywKCQluZXh0VGV4dDogJ1Rp4bq/cCYjeDNlOycsCgkJY3VycmVudFRleHQ6ICdIw7RtIG5heScsCgkJbW9udGhOYW1lczogWydUaMOhbmcgTeG7mXQnLCAnVGjDoW5nIEhhaScsICdUaMOhbmcgQmEnLCAnVGjDoW5nIFTGsCcsICdUaMOhbmcgTsSDbScsICdUaMOhbmcgU8OhdScsCgkJJ1Row6FuZyBC4bqjeScsICdUaMOhbmcgVMOhbScsICdUaMOhbmcgQ2jDrW4nLCAnVGjDoW5nIE3GsOG7nWknLCAnVGjDoW5nIE3GsOG7nWkgTeG7mXQnLCAnVGjDoW5nIE3GsOG7nWkgSGFpJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ1Row6FuZyAxJywgJ1Row6FuZyAyJywgJ1Row6FuZyAzJywgJ1Row6FuZyA0JywgJ1Row6FuZyA1JywgJ1Row6FuZyA2JywKCQknVGjDoW5nIDcnLCAnVGjDoW5nIDgnLCAnVGjDoW5nIDknLCAnVGjDoW5nIDEwJywgJ1Row6FuZyAxMScsICdUaMOhbmcgMTInXSwKCQlkYXlOYW1lczogWydDaOG7pyBOaOG6rXQnLCAnVGjhu6kgSGFpJywgJ1Ro4bupIEJhJywgJ1Ro4bupIFTGsCcsICdUaOG7qSBOxINtJywgJ1Ro4bupIFPDoXUnLCAnVGjhu6kgQuG6o3knXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ0NOJywgJ1QyJywgJ1QzJywgJ1Q0JywgJ1Q1JywgJ1Q2JywgJ1Q3J10sCgkJZGF5TmFtZXNNaW46IFsnQ04nLCAnVDInLCAnVDMnLCAnVDQnLCAnVDUnLCAnVDYnLCAnVDcnXSwKCQl3ZWVrSGVhZGVyOiAnVHUnLAoJCWRhdGVGb3JtYXQ6ICdkZC9tbS95eScsCgkJZmlyc3REYXk6IDAsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsndmknXSk7Cn0pOwo=]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-zh-CN.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogQ2hpbmVzZSBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgQ2xvdWRyZWFtIChjbG91ZHJlYW1AZ21haWwuY29tKS4gKi8KalF1ZXJ5KGZ1bmN0aW9uKCQpewoJJC5kYXRlcGlja2VyLnJlZ2lvbmFsWyd6aC1DTiddID0gewoJCWNsb3NlVGV4dDogJ+WFs+mXrScsCgkJcHJldlRleHQ6ICcmI3gzYzvkuIrmnIgnLAoJCW5leHRUZXh0OiAn5LiL5pyIJiN4M2U7JywKCQljdXJyZW50VGV4dDogJ+S7iuWkqScsCgkJbW9udGhOYW1lczogWyfkuIDmnIgnLCfkuozmnIgnLCfkuInmnIgnLCflm5vmnIgnLCfkupTmnIgnLCflha3mnIgnLAoJCSfkuIPmnIgnLCflhavmnIgnLCfkuZ3mnIgnLCfljYHmnIgnLCfljYHkuIDmnIgnLCfljYHkuozmnIgnXSwKCQltb250aE5hbWVzU2hvcnQ6IFsn5LiAJywn5LqMJywn5LiJJywn5ZubJywn5LqUJywn5YWtJywKCQkn5LiDJywn5YWrJywn5LmdJywn5Y2BJywn5Y2B5LiAJywn5Y2B5LqMJ10sCgkJZGF5TmFtZXM6IFsn5pif5pyf5pelJywn5pif5pyf5LiAJywn5pif5pyf5LqMJywn5pif5pyf5LiJJywn5pif5pyf5ZubJywn5pif5pyf5LqUJywn5pif5pyf5YWtJ10sCgkJZGF5TmFtZXNTaG9ydDogWyflkajml6UnLCflkajkuIAnLCflkajkuownLCflkajkuIknLCflkajlm5snLCflkajkupQnLCflkajlha0nXSwKCQlkYXlOYW1lc01pbjogWyfml6UnLCfkuIAnLCfkuownLCfkuIknLCflm5snLCfkupQnLCflha0nXSwKCQl3ZWVrSGVhZGVyOiAn5ZGoJywKCQlkYXRlRm9ybWF0OiAneXktbW0tZGQnLAoJCWZpcnN0RGF5OiAxLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IHRydWUsCgkJeWVhclN1ZmZpeDogJ+W5tCd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnemgtQ04nXSk7Cn0pOwo=]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-zh-HK.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogQ2hpbmVzZSBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgU0NDWSAoc2FtdWVsY3ljaGFuQGdtYWlsLmNvbSkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnemgtSEsnXSA9IHsKCQljbG9zZVRleHQ6ICfpl5zploknLAoJCXByZXZUZXh0OiAnJiN4M2M75LiK5pyIJywKCQluZXh0VGV4dDogJ+S4i+aciCYjeDNlOycsCgkJY3VycmVudFRleHQ6ICfku4rlpKknLAoJCW1vbnRoTmFtZXM6IFsn5LiA5pyIJywn5LqM5pyIJywn5LiJ5pyIJywn5Zub5pyIJywn5LqU5pyIJywn5YWt5pyIJywKCQkn5LiD5pyIJywn5YWr5pyIJywn5Lmd5pyIJywn5Y2B5pyIJywn5Y2B5LiA5pyIJywn5Y2B5LqM5pyIJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ+S4gCcsJ+S6jCcsJ+S4iScsJ+WbmycsJ+S6lCcsJ+WFrScsCgkJJ+S4gycsJ+WFqycsJ+S5nScsJ+WNgScsJ+WNgeS4gCcsJ+WNgeS6jCddLAoJCWRheU5hbWVzOiBbJ+aYn+acn+aXpScsJ+aYn+acn+S4gCcsJ+aYn+acn+S6jCcsJ+aYn+acn+S4iScsJ+aYn+acn+WbmycsJ+aYn+acn+S6lCcsJ+aYn+acn+WFrSddLAoJCWRheU5hbWVzU2hvcnQ6IFsn5ZGo5pelJywn5ZGo5LiAJywn5ZGo5LqMJywn5ZGo5LiJJywn5ZGo5ZubJywn5ZGo5LqUJywn5ZGo5YWtJ10sCgkJZGF5TmFtZXNNaW46IFsn5pelJywn5LiAJywn5LqMJywn5LiJJywn5ZubJywn5LqUJywn5YWtJ10sCgkJd2Vla0hlYWRlcjogJ+WRqCcsCgkJZGF0ZUZvcm1hdDogJ2RkLW1tLXl5JywKCQlmaXJzdERheTogMCwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiB0cnVlLAoJCXllYXJTdWZmaXg6ICflubQnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ3poLUhLJ10pOwp9KTsK]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-zh-TW.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogQ2hpbmVzZSBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgUmVzc29sIChyZXNzb2xAZ21haWwuY29tKS4gKi8KalF1ZXJ5KGZ1bmN0aW9uKCQpewoJJC5kYXRlcGlja2VyLnJlZ2lvbmFsWyd6aC1UVyddID0gewoJCWNsb3NlVGV4dDogJ+mXnOmWiScsCgkJcHJldlRleHQ6ICcmI3gzYzvkuIrmnIgnLAoJCW5leHRUZXh0OiAn5LiL5pyIJiN4M2U7JywKCQljdXJyZW50VGV4dDogJ+S7iuWkqScsCgkJbW9udGhOYW1lczogWyfkuIDmnIgnLCfkuozmnIgnLCfkuInmnIgnLCflm5vmnIgnLCfkupTmnIgnLCflha3mnIgnLAoJCSfkuIPmnIgnLCflhavmnIgnLCfkuZ3mnIgnLCfljYHmnIgnLCfljYHkuIDmnIgnLCfljYHkuozmnIgnXSwKCQltb250aE5hbWVzU2hvcnQ6IFsn5LiAJywn5LqMJywn5LiJJywn5ZubJywn5LqUJywn5YWtJywKCQkn5LiDJywn5YWrJywn5LmdJywn5Y2BJywn5Y2B5LiAJywn5Y2B5LqMJ10sCgkJZGF5TmFtZXM6IFsn5pif5pyf5pelJywn5pif5pyf5LiAJywn5pif5pyf5LqMJywn5pif5pyf5LiJJywn5pif5pyf5ZubJywn5pif5pyf5LqUJywn5pif5pyf5YWtJ10sCgkJZGF5TmFtZXNTaG9ydDogWyflkajml6UnLCflkajkuIAnLCflkajkuownLCflkajkuIknLCflkajlm5snLCflkajkupQnLCflkajlha0nXSwKCQlkYXlOYW1lc01pbjogWyfml6UnLCfkuIAnLCfkuownLCfkuIknLCflm5snLCfkupQnLCflha0nXSwKCQl3ZWVrSGVhZGVyOiAn5ZGoJywKCQlkYXRlRm9ybWF0OiAneXkvbW0vZGQnLAoJCWZpcnN0RGF5OiAxLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IHRydWUsCgkJeWVhclN1ZmZpeDogJ+W5tCd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnemgtVFcnXSk7Cn0pOwo=]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/style/jquery-ui/images/ui-bg_diagonals-thick_18_b81900_40x40.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAAH7+Yj7AAABR0lEQVRYhe2XQQ6EIAxFv4R4A8Mt5v6ruY/xBm5mVq0VByhQM5MJf9mU1w9ai9PzEV77tmJeAgBg31a4ODAvAS4O7NsKFwfmJRzLJWaShbKZLg7UWeJCAHgFJcmYl8hPCRTzskyO6jVlARzEElW9Gact7TRJ+7Yeh1vy6DRJ8xKOl+UfNjM9H+ElgyS5QKqU561ADLQCUZ63Al0c9oK4pa1A7HA8lO6zTHZKClbKc5okLQwQ3xsLGDu0gvGctYKdHFrAGGgFA3D+ZPfC2KEVjOeZFezkcHRKE2x0Sj+MHVrBbukUnim5ZE2RlHp5yZtILSiWFe9ys2kFkax5l3tIK+iujX40+AvGSCeDv2SM5K1AUpa85OW6FgTcs9Fsk9SAtKrlJQ1+2xip+LujBaU0JokWRBqTpBWU05gkGpDUmCQtIK3+bpK8AYzs1B/MY0EwAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/images/ui-bg_diagonals-thick_20_666666_40x40.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAwklEQVRYhe3XXQqDMBhE0dtsIKvNwrOC+mIhTfNrlAzlm0eR4ShomFcI4U2WGGN+6Sfe++49d/S5O8tKWe37AqrhIAEq4uAEquIAnDIOCh/JStkTD9sE7sZB4w0q4KACVMFBAaiEgwyohoMEqIiDE6iKA3DKOBj4Uc+UPfGwQ8Cdx2EXuPusbgJ346ABVMBBBaiCA9sktknmyj6xTXK1zDbJalkrtklGykqxTTJTlsY2yZUysE2yVjYa2yS1sl7+cpMcegPyrqBRcaoAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/images/ui-bg_flat_10_000000_40x100.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAACgAAABkCAYAAAD0ZHJ6AAAAeUlEQVRoge3OMQHAIBAAsQf/nlsJDDfAkCjImplvHrZvB04EK8FKsBKsBCvBSrASrAQrwUqwEqwEK8FKsBKsBCvBSrASrAQrwUqwEqwEK8FKsBKsBCvBSrASrAQrwUqwEqwEK8FKsBKsBCvBSrASrAQrwUqwEqwEqx92LQHHRpDUNwAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/images/ui-bg_glass_65_ffffff_1x400.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAEAAAGQCAYAAABvWArbAAAAMElEQVQ4je3LIQ4AIBTD0O3f/8wrFgmKhMy8pKJKwkhSKeVbbGuAPU9f4PIopTxgAeS0DRtI4yK0AAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/images/ui-bg_glass_100_f6f6f6_1x400.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAEAAAGQCAYAAABvWArbAAAAL0lEQVQ4je3HsQ0AIBDDwIT9F/4igpYiAyDk5mRrZvaSJAD4liT32u7bqi0APMcBiYQKDwcroFAAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/images/ui-bg_glass_100_fdf5ce_1x400.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAEAAAGQCAYAAABvWArbAAAARElEQVQ4jWP4+/PhfyYGBgaGUWKUGCWGL/HnLQMTAwMjjGBkYmBiYGBiYGJgZEZlMcNlYRKMCMUQAwbcM6PEKDFKYCEAGrQJAcbElNQAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/images/ui-bg_gloss-wave_35_f6a828_500x100.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAfQAAABkCAYAAABwx8J9AAAOeUlEQVR4nO2dW44buxFAybH2k40ESNaZBSRZVr5i4CYzzIfdcU+5nmz2WEOfAxgjkfVi8VGSuiX3r//862gAAADwqXn51QEAAADAdSjoAAAAG0BBBwAA2AAKOgAAwAZQ0AEAADaAgg4AALABFHQAAIANoKADAABsAAUdAABgAyjoAAAAG0BBBwAA2AAKOgAAwAZQ0AEAADaAgg4AALABFHQAAIANoKADAABsAAUdAABgAyjoAAAAG0BBBwAA2AAKOgAAwAZQ0AEAADbg0X91BAAAAHAZ3qEDAABsAAUdAABgAyjoAAAAG/AYY7Tev11J1x6PMd4pHP0HR/8h69nS9KRuJHuOQfqW9rR4NXsaMibLd7Xdi13LgzUOawxWHNbYpD1r/jM5tcam+ZGxaL6lvJUXa814Y7FkrfhndTW8MWt+tL1hrUlrz1l59+ZM8xFhxRqdK9Y4tPi9teHZ1NotO9UYo/2s+ZqJM2PfOrcza8bqt84lGaOno+XJO/uz9ciKKTpXvFxa+9DKp+Yzqk9RHfPmQY7n//Jf//GXuLoBAADAU8NH7gAAABtAQQcAANgACjoAAMAGPFrjEjoAAMBnh3foAAAAG0BBBwAA2IBH876T3Xtz+w+Z1nS5jP6MfNXuKhuHjqY723b+HmEm11LX0tFiXTkfll35uDXf5znOSDaKKaNzZe6ytrN7YnbMkd6KtV3NiaeX9W31tTa/3y3bq8+Qu866SNba562t2ydeDqt+ruQ9W49W1aLW5s7QFWuhctafeLi9maA8merEZeWvbsRZG4eOpjvbVomjoqvFunI+LLtVf15OqzFldK7MXdb2TN6yPjJ6K9Z2NSfVeazancXSX32G3HXWRbIr9rmml7G3eq5X6K6KdcWZNuPLakva/FHQe2ttfP+bCiKpc+4/Yop8ZGxqdrSYPFkvlkouPM7z0NvPfjU/Mv5KHBl5T8aK93hu2fHyKf1ZOZBr9uq68XKtjSta09b6qu4dL+bIZzR3mRhmxpnFyk1T2s86Wr8mJ+1l9tMs1nrU/Fh71stxZHPWtqZbXRtRXyZW2d6SOnJ+vbFnZDVdKxZp28qd1za7D72xNqfv5OvxznFlI3TxN5Kr2K/Y1NozPmd9VJF2oueyrRpHRt6TycSn9V2xGa2l2XXjPffyPrO+ZtdLdh1m/FTzVBlnlkxuZtdDZn+v2reRrezaqqzpjGz1bKjO5dX9PrOHZ3IZrYXq3tdkvdzNnB8VP5Nj4aY4AACADbAL+hjxtZvz9Zvzv7OMh9TPxKHJarF4trR4oz5vTF581jXWjJ/MmKQ9LS4rX1HcmetRmRxZufZsa7nSbFoxRXmNrvl667lyfSsaszdvlly0XrQ+63HkX4s/2jdePNFajsbqxWHZ0vqtdRDFXyFaa1G+onFW96s13xmf1prU/mrxWfJe/jNjs/xkY9F0rLnw7FpjybRbPqrjGKP1r3//88RKBQAAgGeCj9wBAAA24KW10X780zj3WbJSJvor2zI2pKz0r9nTYozGmrVr2dNsW2OL8ujlKRqDZd9DG0tmrqXfSN/yZelb60Jry37glJkP2R7tA82O97y6fjyf0RgysUX+NZlob3h2rTg9v5W9q/2TcVrylg3Lt+fPijGj65030bxm5sEbl2Yv8mfFnHluxZMZjxejtz+icUX6VozWeDL72JKL1/9Da/QUfFlrw1gbyLPr6WT0rBijvlm7Gb9XbEVy2ViizZvVmZlT7Xl1rBm/mTFGtjKyGfmZ55kD1mur9s+MqbovPbuR79mcezLRWrniw5Ov6Ff2Q2S7sj4yMVXiWvG8Ekd0plT2RzXPmZiuttlrk4/cAQAANoCCDgAAsAEUdAAAgA04/X/o59/RO543pW2Ifk1Gtln2tWsBVruGZ9Maz4EXnxeDlZejzRp/ZNeyrel5vwkYUcl7xq+Wfysfkb4Vk7Sh/dVi9sZ6oK1nLUZrvZ91vTWTtaHFJMcbtXk+vDWq7e9orFo8GjNznWGF3at7NlpDGaz1XGFmzqJYpF7lseZfy5FXS6ycZNdLVHcqZ4uUz/jJykv7B9H5957TTXHVi/j2hflce1W/ajPrL6Mb2bmim+mPxnIlZ1571e9Q2lfMiWZD64v8ee2R7Ip5XbGusm0zcczkbvXarxazu3JftZ+RzdhZYSNqn81ZZl/PnI8zey+br8oZFp0tnr/MWThjR7b5dv3/bQ3qjNbGeL3FdG9vbcz8YlWV8dauHSwn+pc1dizz/Usp0t5f2rv/shYAYBMeq87ttYzvRcXqfmsjE/h4Tf1O/njLFeDesnL3QSn6mbtyMpr+YqT33lrXbz8Zze7r/aWp0VrtAAAF1HfowyyEow2r0Bo6Y7y1bhXf8Xr7O86V1p/ytQ/cyH/V1tklm1X79oJBvph4/8nCaO2dTO+9vbvHlRcJAL8dj/HHv9SOmTNrxVVxgN+dMUZrQ38xYeoE/b1/eX+pQX6K0MVr+3f92gsMAFjKeG3vdrJ88yzPhHP/GG2MV66hA/wOjPEaVP0/Svb6y4+jY4zW+ov9AmC043KDiKn11l94oQCfhDdRcFtr32+a+llWFufWfirQ4632oj0DBR0AysjDKLoPtPbpXVdfALT+Rb135vziQsqHWLrwHIyRWFyjtebcc9WafXl3jJ8uCY/oHq4n5sFVNgB4LoxD3Lq35+0/dwfUhnGjo6TLSxeWvW+fT+T9K/KZmHp7W3rN83hB9VMs463Jotpbj29eHm8fdqdH1s9nromP1N3iAAC/M8mvola+srr6G/erdFbZzfqmAq2Dn34FAADYgMf0d3AAAADgaeAdOgAAwAbwDh0AAGADHuYtfaPZ/9mO+pNwRruUOex4MtXbDGWs1n9YM2M74zOKIYrPsrkiror/SNay3Qr2szIV3cz8Vudk5Vo522ytvhZn1m9mr12xo8Xk+bx73Z/9HzFUc1CN42rcVrzH8xV+rXVvrcVszip7RrMZrWlrfV05x7Nn38x5ssp3BSU39ncseuKxJZ+xeUXG09H0u9M3i7TlxZDJX9SXxRt/xkd2HBWZSKfC7PxW5+SO765U5kHTm9G5SrTfV6ztu2Kt2r1bPtK/43tVlo/q+Z6JoVIbojXtxTmb9+zZN3OerPI9a/P7Yz5yBwAA2ABuigMAANiAB1/rBwAA+PzwDh0AAGADKOgAAAAbQEEHAADYAAo6AADABvC1NQAAgA3gHToAAMAG2D/9CgAAAJ8GPnIHAADYAD5yBwAA2AB+KQ4AAGADeIcOAACwAY/BNXQAAIBPz0vvrfXkne5ZuUjHsuPZn/E9w0fGcNiTf1fa1p7f6WeV/apdbx2f85tZe1GuovEdfrx5vWMvVfbys5DNTXbuIl/RXruaPxmn9rzi19ONnmv+q3p35cnyV7WdGUukU9G9C23s1Xh6b+1RVaao3+OLor7G7szBGMlcGd9HF/VZu7+SFefDTBG482Cf2Xt3FfUrehWbK6CoXzun+doaAADABnBTHAAAwAbwtTUAAIAN4B06AADABjwaP+YOAADw6fn2Dl3eGDfGj7boprnMTXWWfc2H1XaW9+QyY5C2LBkr5oxtK34r3qpcZjxevqx5y8hpMVpxRL6yMWbybJGV8daPfByNVVsjldxYcUgdbV1asUdjrpLx4elof8/2Zs4eb81o9iNfmTPKWjeRveo5lD0DZ85EzZ53xmVjqOxTLxbZpsWYlfV8yH5L31v7ll5m/0f+gjj7v//2pws7GgAAAJ4BcQ39V9T24fgdRn8UZ6bfkxnicSYvmsxI9EU6kVz03LJjjSvrz+rT/FXXlTbv0fii2CpzmB3r8fxqbNHzyjqazbWmb/nPzLclY+1pz38kZ+lm57Oyhqr7yOqL8pCxo/mv7vcM3hi82DQbq/dtJQapE9mRczSb22x+MjZ8W8pd7r/qDfvVw69qL5KZyctnK+qzcUV9K4q6Z9fz49m4q6hrbZ+pqEudFUXds+m1ZfQqNmfnoRpTde/P+L6y/7K+Mva19l2LutVXzW02tmtFnbvcAQAANoCCDgAAsAHff8t9tPdfXzueH2/tu9ImOfSj/rOM5lPa6KJfk5PxWV/FkzKaviUnbUpdLVbNr+VPjlf6kXqaTUtPxibltbm1cmz1W3hyWk68WLU58mKw1pe0beVUs6HFp/n18uKtQSt+zZ+lk5kTb01XZKy2SOdoj84Wb4zZNajFqu11Lz7Z58VvyUn/mb3l5SfKgzcXWbvRnjjbrZxdZzvRXojOIhm7Fpvsi85oza/0HcVRPXOy9c3yMc7X0GVgQ3mc+Xy/0u/5rMQh2zNxRnazNjUdL8bIZiV2z19kd/XzrF+rr5q7TAyV9ZXZB7N+I58r/WTmZXafrPAf7d2Kj+wa9Px6j6M+K5bqWXf1rKjkbsZudu/Pnrve44r/at+Mn+z5M5PfbH2z23P/OUvv7dL3VWfsVX2ujrHKFf8fEbv0cfw3Plf8enFHY9LiuZqDWRvZWO6cp7t83hVzdX6fiTvOnxVk9lM2rit786OpxFNZdyvOg5W5qto9n9HJcT9siROrJz9jb/aHCH4VV/x/ROzRD1issFmx/9HxrIjlznm6y+ddMVfn95m44/xZQfYHaVbZehYq8VTW3YrzYGWuqnYr8t/7H6P0sRUAAAA8I9zlDgAAsAEvren3BZ6J+rN6XbTJ55ZuL8h6/ioyXemXMXm+z7qW/ShuLV+RjWgs8q9lPxqXFqtHdo4qa60S4xX7V+bPsx2tPet5FFs1Fk3e6oviysR0heoe1PqzedfkLZ9RLjJrtbrOIr/RGLP5y8pkYsrqZ3LhPY7GWR2PVbsqezNzHli2vLazv8fspsgye2BldaP2qC/ra7aoRzFUdVcVgOzGyMSUka/Y+yxFPWNrxdqLZCoHZZbdi3qlzfL1UUU9q5vt+wxFPWvD29cri7qns6qoz9iXzx9tvAYuAAAA4Nn5H1zs1G5bhz0MAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/images/ui-bg_highlight-soft_75_ffe45c_1x100.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAEAAABkCAYAAABHLFpgAAAASElEQVQYldWPwQmAQBADJ+m/DfuzgN2ND/WjX+HwMzAQBkL2LQb4EZLCZLAYnDSWGpO6lBSGwjy1sHjvRN+pM1oYBmv5349xADIyLQUayPX/AAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/images/ui-bg_highlight-soft_100_eeeeee_1x100.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAEAAABkCAYAAABHLFpgAAAAIUlEQVQYlWP48ePHfyYGBgaGIUT8//8fO5cSFn6J4UQAAJSgIpAFCJPdAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/images/ui-icons_228ef1_256x240.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAQAAAADwCAMAAADYSUr5AAAA7VBMVEUkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvRBIJjhAAAATnRSTlMAGBAyBAhQv4OZLiJUcEBmYBoSzQwgPBZCSEoeWiYwUiyFNIeBw2rJz8c4RBy9uXyrtaWNqa2zKP2fJO8KBgKPo2KVoa9s351GPm5+kWho0kj9AAAPhUlEQVR4nO1djWLbthEGyUiq5YSSLXtp7FpLOmfzkmxr126tmi2p03RJ1/Xe/3EGgARxPyAgRbIk2/hkSz4CJO4+HsE7AJSVysjI2AMUUOxahZ2iANhzBtZWr4BoIRSYAVN5u4QwDwQDRbcwfUi5KS3wFuDmFnQLa4Dtb//cqktwD5QEFFwfUs7PoCCA7y4bEJVFizcIob8KmhAplwwqVjt+9FBl3uINQniwEiryEyw9JHqGpQdEFNi+B4QQ7QOiHhysIPoAxUqxvdvvA9K42bsAv4S2fxfYOe57IJSRkZGRkZGxx7jxSHDHcRBXQMTyIjInBgHwBJ/bEx8PEANC+uhbpSSggCBAVODVabpI1S/k4WLZpTn6NpMhoX9Y40hxYERFpMcqUs4AloCtDQdID1YhnyXZ2hLjAYWiO9Dy1PDB7tPhIqLx+uMB8grZaR+Qxl2/C2RkZGRkZGRk7A7rBf7J0DR5/LUTjzUPIPSPGvQJiVJiB7kcQCiUOJrcFNtDZIf2xarQ3aGvLNxAVIFAabz90BFiBIlycTBhgWwOWCH0FLYHlPqwHaCvcIn2ZbosCevfPTRiFFcgvHukCjWwrc3GrGh1fsAof8EaUReKXkCB4/MzFNo97qLpFiKFYv/kNR5YQxQbQEofkZ2OuEOHqqT6gFTpru8CN7x/+jaZkZGRkZGRcV+x/rLUNcMMqUAscgnFocmpqkTzqymwVAPxfJ5PnIUUQOUKT04tEdWZyv3JCQSn96WS4pD97QfyW25A7NhSAbyhmVj0FEltA4vdiygBibXhoUYgykCUP7HwPTDeEqAIcHVMkZg7Zx4k0uFANs63hPQXCoRLAwdgGsr9Az7Qv7sgQGgg1aPl/BJLExBWgG4RFRLFImGmIquPC/klEGyCG0AuAXaJJC+B8FVe9NYQDEcXB8g6AQcjYJ1goJIggHWCrFR0S6kRHN5+4BzFi8NaoN35NRxUvL+JJdZr7PV4wK6fj8nIyMjIyNhr3OxdXAYq7FHZwB6bDSzSh4sF0utChqo0NAvaT1hLzXwFinmCzmeDucEQK18TTaQoFgP7bNC+RZ4OT4T6gQogDFYk+1QxQlj19QGSAWKiLYp8P0Ag1Gbz1ULfWHLg9iUnQNK5QQJcukm04blKLH2GgEJCY+HzXAZWCvHKco3Bp6MIaCjSXXRJyOxeqhnzEaF93MfFGW/O16ZvDL5TM4MJIjujz/cHypkQuuzRwWJ93BKdIt+wCRAPl9kpe2Ikkb2mFgGlxh/i40d3EHfdvoyMjIyMu43ylt/IAmGHnN5iIt7wKfbv01RAcJqFRl9lcjYQSnbQqKgC4fYOwSJt6N6trE0twZ9kN/PqNpTQeICvr4TLsDYC06U7BMjshS+v1/aT7IwQYD5LcgRQXMT2FrBfBLjZ6151jDElk9tPFfpUgk2yregusX25BJbwAFEfM+YI6vGAti4bTtizB+TjfQCrERyhKb2X8D6A9wX75P4t4neBYJeP6pdhg/gQl8MWvytzeSTjgOQBynQdh/iXKdxOrGJ/RkZGRsb9QmXihGr5+g8GGg9uTh+KoVZuNIzV+CwRucFBEyr1mVjx4irOxwM1BhirB6Q+2eNQi4eqR+aF6mELtoMzCR7V9RAFe/ZvQogNiyY8FPSUTFsLp8TeTmMui5mtw7bcaT0Yw2AA4wFRQIlkgq+1DQrNhkmoxS5Jq+u6bMAIGRECEANgXHTgWzwgBOhDH2l0oTQ4D8D5NMktBgNywAEMjo8rwATMZrPY7JGxBoJCkIBDQiAY09EGTUiBCWkUpISfGPR5AAwBfZiG2z7Ayc1yeKTxid39xBNwfHr4O0LA48ePFTvhYrF1r4tyAoz9n2MCqEuBtp/6GDR0oAYfG/R6wJExHYZHfhygsv7fEWCOj4bYmsP5A+pL4MkTfAnMlD4F+r3bobKvTyTA2P/w7PN+Agq2QW8piqMCpTBwenoKvX0AHGkGtP2YAPvTEWA7QUTAudn7/NxtOG46wWNmDtpBEkBzN7rBEvAFHp+YTB/q97qPAN4gHFqgBi8uLsC7qPCA6mg41G/+ErByPwEXDdoNxRhOx+M5jPEzQugS0ht+b1/Y3gEnYMAIAOIBE29/hIDucE8tmMsNOgK4B1RHFu4UCRlMHzv0xzcajcfdXWDs2h8TArBCkoDUJYDLmz6w7ip3BFS0ve5wTRwAn6keMA9I3QYbfSZ0DKbyt+7OXjGI1idPcfNyAyfAMlCrzaGqphYrxHocLHRJVycnfGUcbtT+jIyMjIw9x7Nn8fJSzG0TmFtO8rZT+XT3S3ub+tKJbbLd5diTVp50+zahyeHSslJ/YPrU0fuazrZO2CZ92/ZCCVXlGRiZKPJyPPRxyIFWeXLQBXJBKiq/3divEAN6ZwM200Qjm7EJBZeWm/PRWVCbYK7s7u2l4XaCz+lzgOfMfhMonXr7TWzeZb98dbgIzBT8Ub8eYYUqfZ4rVJ/MDbIDgPqTulJ/xvntWAtjIisqnwxOkGz0n077FARoY79GdA6HPE4rOy196NiMWHTZlSSApcOgXpy/fHV2joaNKu3ffsAnRcBf4K/6NcIG6tIxk3HyoXPjASqfUgXbYN5PzpL2njkR9QMjeDTVHDTCgRuxOegjoO0FvKzP/t/gmVdI24+G7NIe8JX6Wv3dDyldMA+4YB5wwTygtd+dwRqaTqrLb1l73zTSN52CNpnHuQOYPsDblybgxfkXh/oVtr+N1DEBJdhRJyd/Bd/q1z+cbNrD17iVKyajcnv9arhOkRPgsruuD6DmNPwpDNrLw2CoTgHni4yALr0L29+tiKAEIPn868ejx//8rpWP3OEOl5On9OwpcQm0MhafP/ey8f1uvDNIgGLQG8z4YO99ENgg95etwv4uYJYY8fUGHYH6j6fscHFZMftlAl9i+9XL73X3N/n+ZStOzfVfRvYXhrbdKOpEgVQTg/wsDuDD3kwOfQNMTJ5y+/ltUDWLunyxnRF46IqlBzGMY4X7inggREFioIyMjIyMHWCIB6ZNKAcXseo3vLTQTkVE7348dlwJJSz0+wLfmi8BhZqfw3D4ww/wHVLnEd5/fgYvXsDZ3MlsvYUbbnDjDZ3MN3TJG4+bxjAaDl8TBri9qxEw1ccao2wTNAMLHo2f+sjrXwb/9qHoYqgPMBXJTVfOpmrZH23y6uvo0LHSyY6fHGwKfHJlAuMFvObjDYrIqxBgQi20h7Hd/nYVLmno+eaNUm/eeH2GCuopntnhBJAlI2AHo9CCh1I1QxUdAbqqGY9BBLwyc3W4wYVhvY8A4BoIc1l5M7vnPWphZW9/Ses3n37y9a0uGqFwFQZsQQbd386DogpgEk+dzynsAZMJXq8+ns9NeukJ0PYrNATGGefJQlhkLo7DTXr+y3bNiOsDvrXTz/C2q1DXZH84iRNwrP88Nj+u2DjYEE6RBxD9Knj16ujVHC67A7422o02RwD3gB+t7EblWvu9geOFxSnd3ROmT+nJyQkhoPlsxVONc/3TEdBos+jtA+ZzcwHgTvD1cDjaYCcItA8w9i88A8b+mqSjc6Pvqd998QguEQPmQMeo23ODN86+p0/bn1buBkT6+oBhNZ/PYY4ZAHYb3PRd4LkZmPX68NRtMZn4ASvdA+qf0jMA5MP9eeg28Nug9QiLnj5A33U1MAES6xHAUNpz/9zFAYE1gqQDMT3G6xI9pwdw/aIgKoHCS1YGlRnSq9yCjdXjgN3j+N27YyROHxmuNAeNKPpYuXIyIyMjYy0M8eros59MF/PT2c602T7eA7zvhJ9dr/vzDjXaLp4Yc5+0wllzxzHv3gdmMMM7/CcQzKgVBqYTmFn+Z+mKm8J7k0A5F/jgCfjQ1WBhQyiOqD0lYuqBb+AyzMw9Ha2G3m6c8qQx+AlqnIceQp+Sb6i9UyQWbhr54+AjnZ0VzW2TAN0DmBT6PWmc6jDBE2PK2u+nF43dyP7Q0t1pOcX2fdRvH0mF2Q4JqN35rnHjVIeaXfIAVyUuw/aHCCiJy9iF5l1621zweI8KZrPZ9iJdb7DXJ3US0OSrtZ10imt7wHY7QesAzUMz1oZ3noB3qFJ/H18j97FYuw8QDN4oeKf30osvcSW2ExLo+VcbuAuo/sUIm8fMG9xocO3Ea19J9gFYivnHJ2KnyfovZlgW3v6ySx32abQiIyMjIyPjhlFDTLxpwIgFMnTp6A3g4IDKNY+stkwAMAoIAbasxBXqUWneSAWTMjt50lTqT29rFjvXohjsDNm2YPXDFlICmrJOZ3t6tHm8AiEAl0sCeLIIorIRt+cFbew/QRsoAXb4o1XSfoywzm0FTMAoYBNvLyFu8v8HpLBtD1iKgC17wHb7AI6d9wFbvguAIGTHd4E9wG7jgIyMjIyM+434c2R3HeV/Ffx6jtZu6ijl8h59T655jhR+rdHzDOP6beABCheb8O8/WFXeOyzgf5oAhVYnKxP7CwaAf1afJu8bSrhS6tdaXeGnrRenOqOlz9d6QwYnA/3TLd+GE7qe3chA5YF5DfY0vK3adfOX/gyNp2BW25MHdxAB9qvRiiP3/XpQQFGYDU4+Mi///XumXG8pjvaUAOsBGlf4jJt+YYEzeEzAdw06F19R3juM7D1wita86GR0CKfDHgLuXCc4Bri6vMLdfjMc4VNSUNsdodo2xu/1+Xl/K5+az8jIyMhYG/z5gJTMF1GtKq/a3rpyCvz5gJTMl9GtKq/a3rpyCmfQ4WwZmS+kXFVetb115ST48wEf/AGcfG1iw+tWbpbS2vJ3nQxcVr3lH3z5h972FUTLzYpOVk7l5hD+eYcYwDcAnewOotrZ4OtrPDucqi/LRX0/RR4qx7Nn4U8g+qjffvuN6Gf+nC85vwauHjaYyubqvWYKY4VEfSUMitdnBCT1Ue63R5439m+OgCn6DroAAaHPVQxKth/wkJgHmG8bmQMsT0D6EjDfvhVRKO3ywOQUgRA7nmL1uawZmHf1k+DPBwQ6NdcJ+k6Md1LA5f5ONdhJ8vZ5J0vLHT99srkGOjmJbd/G1r2Nriqnse1AZt1AalU5jW2HsuuG0qvKGRkZGRkZGRG0gcONyXsP9v8D0/IdJADiBNiXl3327WRGgOL/9HC/0XwlIURkRhC4tz6Z/fu7fUf2gHvfB9z3u0BGRkZGRkbGplHcnkgguQoSqtUXuhbs/wPtMwqV0HUJAvj5vk32b8IDuL23yn7qAXZ5u32hbRX7d3o82Df1FZXvbh9QOfhyxldr/+3xgXU9oKmvsHyr7F/XA269/eveBXrsv7N9QALe/tvjA0kPWAXGbvebkbHn+D/J5nMcHzx1UAAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/images/ui-icons_222222_256x240.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAQAAAADwCAMAAADYSUr5AAAA7VBMVEUkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiTww4gUAAAATnRSTlMAGBAyBAhQv4OZLiJUcEBmYBoSzQwgPBZCSEoeWiYwUiyFNIeBw2rJz8c4RBy9uXyrtaWNqa2zKP2fJO8KBgKPo2KVoa9s351GPm5+kWho0kj9AAAPhUlEQVR4nO1djWLbthEGyUiq5YSSLXtp7FpLOmfzkmxr126tmi2p03RJ1/Xe/3EGgARxPyAgRbIk2/hkSz4CJO4+HsE7AJSVysjI2AMUUOxahZ2iANhzBtZWr4BoIRSYAVN5u4QwDwQDRbcwfUi5KS3wFuDmFnQLa4Dtb//cqktwD5QEFFwfUs7PoCCA7y4bEJVFizcIob8KmhAplwwqVjt+9FBl3uINQniwEiryEyw9JHqGpQdEFNi+B4QQ7QOiHhysIPoAxUqxvdvvA9K42bsAv4S2fxfYOe57IJSRkZGRkZGxx7jxSHDHcRBXQMTyIjInBgHwBJ/bEx8PEANC+uhbpSSggCBAVODVabpI1S/k4WLZpTn6NpMhoX9Y40hxYERFpMcqUs4AloCtDQdID1YhnyXZ2hLjAYWiO9Dy1PDB7tPhIqLx+uMB8grZaR+Qxl2/C2RkZGRkZGRk7A7rBf7J0DR5/LUTjzUPIPSPGvQJiVJiB7kcQCiUOJrcFNtDZIf2xarQ3aGvLNxAVIFAabz90BFiBIlycTBhgWwOWCH0FLYHlPqwHaCvcIn2ZbosCevfPTRiFFcgvHukCjWwrc3GrGh1fsAof8EaUReKXkCB4/MzFNo97qLpFiKFYv/kNR5YQxQbQEofkZ2OuEOHqqT6gFTpru8CN7x/+jaZkZGRkZGRcV+x/rLUNcMMqUAscgnFocmpqkTzqymwVAPxfJ5PnIUUQOUKT04tEdWZyv3JCQSn96WS4pD97QfyW25A7NhSAbyhmVj0FEltA4vdiygBibXhoUYgykCUP7HwPTDeEqAIcHVMkZg7Zx4k0uFANs63hPQXCoRLAwdgGsr9Az7Qv7sgQGgg1aPl/BJLExBWgG4RFRLFImGmIquPC/klEGyCG0AuAXaJJC+B8FVe9NYQDEcXB8g6AQcjYJ1goJIggHWCrFR0S6kRHN5+4BzFi8NaoN35NRxUvL+JJdZr7PV4wK6fj8nIyMjIyNhr3OxdXAYq7FHZwB6bDSzSh4sF0utChqo0NAvaT1hLzXwFinmCzmeDucEQK18TTaQoFgP7bNC+RZ4OT4T6gQogDFYk+1QxQlj19QGSAWKiLYp8P0Ag1Gbz1ULfWHLg9iUnQNK5QQJcukm04blKLH2GgEJCY+HzXAZWCvHKco3Bp6MIaCjSXXRJyOxeqhnzEaF93MfFGW/O16ZvDL5TM4MJIjujz/cHypkQuuzRwWJ93BKdIt+wCRAPl9kpe2Ikkb2mFgGlxh/i40d3EHfdvoyMjIyMu43ylt/IAmGHnN5iIt7wKfbv01RAcJqFRl9lcjYQSnbQqKgC4fYOwSJt6N6trE0twZ9kN/PqNpTQeICvr4TLsDYC06U7BMjshS+v1/aT7IwQYD5LcgRQXMT2FrBfBLjZ6151jDElk9tPFfpUgk2yregusX25BJbwAFEfM+YI6vGAti4bTtizB+TjfQCrERyhKb2X8D6A9wX75P4t4neBYJeP6pdhg/gQl8MWvytzeSTjgOQBynQdh/iXKdxOrGJ/RkZGRsb9QmXihGr5+g8GGg9uTh+KoVZuNIzV+CwRucFBEyr1mVjx4irOxwM1BhirB6Q+2eNQi4eqR+aF6mELtoMzCR7V9RAFe/ZvQogNiyY8FPSUTFsLp8TeTmMui5mtw7bcaT0Yw2AA4wFRQIlkgq+1DQrNhkmoxS5Jq+u6bMAIGRECEANgXHTgWzwgBOhDH2l0oTQ4D8D5NMktBgNywAEMjo8rwATMZrPY7JGxBoJCkIBDQiAY09EGTUiBCWkUpISfGPR5AAwBfZiG2z7Ayc1yeKTxid39xBNwfHr4O0LA48ePFTvhYrF1r4tyAoz9n2MCqEuBtp/6GDR0oAYfG/R6wJExHYZHfhygsv7fEWCOj4bYmsP5A+pL4MkTfAnMlD4F+r3bobKvTyTA2P/w7PN+Agq2QW8piqMCpTBwenoKvX0AHGkGtP2YAPvTEWA7QUTAudn7/NxtOG46wWNmDtpBEkBzN7rBEvAFHp+YTB/q97qPAN4gHFqgBi8uLsC7qPCA6mg41G/+ErByPwEXDdoNxRhOx+M5jPEzQugS0ht+b1/Y3gEnYMAIAOIBE29/hIDucE8tmMsNOgK4B1RHFu4UCRlMHzv0xzcajcfdXWDs2h8TArBCkoDUJYDLmz6w7ip3BFS0ve5wTRwAn6keMA9I3QYbfSZ0DKbyt+7OXjGI1idPcfNyAyfAMlCrzaGqphYrxHocLHRJVycnfGUcbtT+jIyMjIw9x7Nn8fJSzG0TmFtO8rZT+XT3S3ub+tKJbbLd5diTVp50+zahyeHSslJ/YPrU0fuazrZO2CZ92/ZCCVXlGRiZKPJyPPRxyIFWeXLQBXJBKiq/3divEAN6ZwM200Qjm7EJBZeWm/PRWVCbYK7s7u2l4XaCz+lzgOfMfhMonXr7TWzeZb98dbgIzBT8Ub8eYYUqfZ4rVJ/MDbIDgPqTulJ/xvntWAtjIisqnwxOkGz0n077FARoY79GdA6HPE4rOy196NiMWHTZlSSApcOgXpy/fHV2joaNKu3ffsAnRcBf4K/6NcIG6tIxk3HyoXPjASqfUgXbYN5PzpL2njkR9QMjeDTVHDTCgRuxOegjoO0FvKzP/t/gmVdI24+G7NIe8JX6Wv3dDyldMA+4YB5wwTygtd+dwRqaTqrLb1l73zTSN52CNpnHuQOYPsDblybgxfkXh/oVtr+N1DEBJdhRJyd/Bd/q1z+cbNrD17iVKyajcnv9arhOkRPgsruuD6DmNPwpDNrLw2CoTgHni4yALr0L29+tiKAEIPn868ejx//8rpWP3OEOl5On9OwpcQm0MhafP/ey8f1uvDNIgGLQG8z4YO99ENgg95etwv4uYJYY8fUGHYH6j6fscHFZMftlAl9i+9XL73X3N/n+ZStOzfVfRvYXhrbdKOpEgVQTg/wsDuDD3kwOfQNMTJ5y+/ltUDWLunyxnRF46IqlBzGMY4X7inggREFioIyMjIyMHWCIB6ZNKAcXseo3vLTQTkVE7348dlwJJSz0+wLfmi8BhZqfw3D4ww/wHVLnEd5/fgYvXsDZ3MlsvYUbbnDjDZ3MN3TJG4+bxjAaDl8TBri9qxEw1ccao2wTNAMLHo2f+sjrXwb/9qHoYqgPMBXJTVfOpmrZH23y6uvo0LHSyY6fHGwKfHJlAuMFvObjDYrIqxBgQi20h7Hd/nYVLmno+eaNUm/eeH2GCuopntnhBJAlI2AHo9CCh1I1QxUdAbqqGY9BBLwyc3W4wYVhvY8A4BoIc1l5M7vnPWphZW9/Ses3n37y9a0uGqFwFQZsQQbd386DogpgEk+dzynsAZMJXq8+ns9NeukJ0PYrNATGGefJQlhkLo7DTXr+y3bNiOsDvrXTz/C2q1DXZH84iRNwrP88Nj+u2DjYEE6RBxD9Knj16ujVHC67A7422o02RwD3gB+t7EblWvu9geOFxSnd3ROmT+nJyQkhoPlsxVONc/3TEdBos+jtA+ZzcwHgTvD1cDjaYCcItA8w9i88A8b+mqSjc6Pvqd998QguEQPmQMeo23ODN86+p0/bn1buBkT6+oBhNZ/PYY4ZAHYb3PRd4LkZmPX68NRtMZn4ASvdA+qf0jMA5MP9eeg28Nug9QiLnj5A33U1MAES6xHAUNpz/9zFAYE1gqQDMT3G6xI9pwdw/aIgKoHCS1YGlRnSq9yCjdXjgN3j+N27YyROHxmuNAeNKPpYuXIyIyMjYy0M8eros59MF/PT2c602T7eA7zvhJ9dr/vzDjXaLp4Yc5+0wllzxzHv3gdmMMM7/CcQzKgVBqYTmFn+Z+mKm8J7k0A5F/jgCfjQ1WBhQyiOqD0lYuqBb+AyzMw9Ha2G3m6c8qQx+AlqnIceQp+Sb6i9UyQWbhr54+AjnZ0VzW2TAN0DmBT6PWmc6jDBE2PK2u+nF43dyP7Q0t1pOcX2fdRvH0mF2Q4JqN35rnHjVIeaXfIAVyUuw/aHCCiJy9iF5l1621zweI8KZrPZ9iJdb7DXJ3US0OSrtZ10imt7wHY7QesAzUMz1oZ3noB3qFJ/H18j97FYuw8QDN4oeKf30osvcSW2ExLo+VcbuAuo/sUIm8fMG9xocO3Ea19J9gFYivnHJ2KnyfovZlgW3v6ySx32abQiIyMjIyPjhlFDTLxpwIgFMnTp6A3g4IDKNY+stkwAMAoIAbasxBXqUWneSAWTMjt50lTqT29rFjvXohjsDNm2YPXDFlICmrJOZ3t6tHm8AiEAl0sCeLIIorIRt+cFbew/QRsoAXb4o1XSfoywzm0FTMAoYBNvLyFu8v8HpLBtD1iKgC17wHb7AI6d9wFbvguAIGTHd4E9wG7jgIyMjIyM+434c2R3HeV/Ffx6jtZu6ijl8h59T655jhR+rdHzDOP6beABCheb8O8/WFXeOyzgf5oAhVYnKxP7CwaAf1afJu8bSrhS6tdaXeGnrRenOqOlz9d6QwYnA/3TLd+GE7qe3chA5YF5DfY0vK3adfOX/gyNp2BW25MHdxAB9qvRiiP3/XpQQFGYDU4+Mi///XumXG8pjvaUAOsBGlf4jJt+YYEzeEzAdw06F19R3juM7D1wita86GR0CKfDHgLuXCc4Bri6vMLdfjMc4VNSUNsdodo2xu/1+Xl/K5+az8jIyMhYG/z5gJTMF1GtKq/a3rpyCvz5gJTMl9GtKq/a3rpyCmfQ4WwZmS+kXFVetb115ST48wEf/AGcfG1iw+tWbpbS2vJ3nQxcVr3lH3z5h972FUTLzYpOVk7l5hD+eYcYwDcAnewOotrZ4OtrPDucqi/LRX0/RR4qx7Nn4U8g+qjffvuN6Gf+nC85vwauHjaYyubqvWYKY4VEfSUMitdnBCT1Ue63R5439m+OgCn6DroAAaHPVQxKth/wkJgHmG8bmQMsT0D6EjDfvhVRKO3ywOQUgRA7nmL1uawZmHf1k+DPBwQ6NdcJ+k6Md1LA5f5ONdhJ8vZ5J0vLHT99srkGOjmJbd/G1r2Nriqnse1AZt1AalU5jW2HsuuG0qvKGRkZGRkZGRG0gcONyXsP9v8D0/IdJADiBNiXl3327WRGgOL/9HC/0XwlIURkRhC4tz6Z/fu7fUf2gHvfB9z3u0BGRkZGRkbGplHcnkgguQoSqtUXuhbs/wPtMwqV0HUJAvj5vk32b8IDuL23yn7qAXZ5u32hbRX7d3o82Df1FZXvbh9QOfhyxldr/+3xgXU9oKmvsHyr7F/XA269/eveBXrsv7N9QALe/tvjA0kPWAXGbvebkbHn+D/J5nMcHzx1UAAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/images/ui-icons_ef8c08_256x240.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAQAAAADwCAMAAADYSUr5AAAA7VBMVEXsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgxbIsyZAAAATnRSTlMAGBAyBAhQv4OZLiJUcEBmYBoSzQwgPBZCSEoeWiYwUiyFNIeBw2rJz8c4RBy9uXyrtaWNqa2zKP2fJO8KBgKPo2KVoa9s351GPm5+kWho0kj9AAAPhUlEQVR4nO1djWLbthEGyUiq5YSSLXtp7FpLOmfzkmxr126tmi2p03RJ1/Xe/3EGgARxPyAgRbIk2/hkSz4CJO4+HsE7AJSVysjI2AMUUOxahZ2iANhzBtZWr4BoIRSYAVN5u4QwDwQDRbcwfUi5KS3wFuDmFnQLa4Dtb//cqktwD5QEFFwfUs7PoCCA7y4bEJVFizcIob8KmhAplwwqVjt+9FBl3uINQniwEiryEyw9JHqGpQdEFNi+B4QQ7QOiHhysIPoAxUqxvdvvA9K42bsAv4S2fxfYOe57IJSRkZGRkZGxx7jxSHDHcRBXQMTyIjInBgHwBJ/bEx8PEANC+uhbpSSggCBAVODVabpI1S/k4WLZpTn6NpMhoX9Y40hxYERFpMcqUs4AloCtDQdID1YhnyXZ2hLjAYWiO9Dy1PDB7tPhIqLx+uMB8grZaR+Qxl2/C2RkZGRkZGRk7A7rBf7J0DR5/LUTjzUPIPSPGvQJiVJiB7kcQCiUOJrcFNtDZIf2xarQ3aGvLNxAVIFAabz90BFiBIlycTBhgWwOWCH0FLYHlPqwHaCvcIn2ZbosCevfPTRiFFcgvHukCjWwrc3GrGh1fsAof8EaUReKXkCB4/MzFNo97qLpFiKFYv/kNR5YQxQbQEofkZ2OuEOHqqT6gFTpru8CN7x/+jaZkZGRkZGRcV+x/rLUNcMMqUAscgnFocmpqkTzqymwVAPxfJ5PnIUUQOUKT04tEdWZyv3JCQSn96WS4pD97QfyW25A7NhSAbyhmVj0FEltA4vdiygBibXhoUYgykCUP7HwPTDeEqAIcHVMkZg7Zx4k0uFANs63hPQXCoRLAwdgGsr9Az7Qv7sgQGgg1aPl/BJLExBWgG4RFRLFImGmIquPC/klEGyCG0AuAXaJJC+B8FVe9NYQDEcXB8g6AQcjYJ1goJIggHWCrFR0S6kRHN5+4BzFi8NaoN35NRxUvL+JJdZr7PV4wK6fj8nIyMjIyNhr3OxdXAYq7FHZwB6bDSzSh4sF0utChqo0NAvaT1hLzXwFinmCzmeDucEQK18TTaQoFgP7bNC+RZ4OT4T6gQogDFYk+1QxQlj19QGSAWKiLYp8P0Ag1Gbz1ULfWHLg9iUnQNK5QQJcukm04blKLH2GgEJCY+HzXAZWCvHKco3Bp6MIaCjSXXRJyOxeqhnzEaF93MfFGW/O16ZvDL5TM4MJIjujz/cHypkQuuzRwWJ93BKdIt+wCRAPl9kpe2Ikkb2mFgGlxh/i40d3EHfdvoyMjIyMu43ylt/IAmGHnN5iIt7wKfbv01RAcJqFRl9lcjYQSnbQqKgC4fYOwSJt6N6trE0twZ9kN/PqNpTQeICvr4TLsDYC06U7BMjshS+v1/aT7IwQYD5LcgRQXMT2FrBfBLjZ6151jDElk9tPFfpUgk2yregusX25BJbwAFEfM+YI6vGAti4bTtizB+TjfQCrERyhKb2X8D6A9wX75P4t4neBYJeP6pdhg/gQl8MWvytzeSTjgOQBynQdh/iXKdxOrGJ/RkZGRsb9QmXihGr5+g8GGg9uTh+KoVZuNIzV+CwRucFBEyr1mVjx4irOxwM1BhirB6Q+2eNQi4eqR+aF6mELtoMzCR7V9RAFe/ZvQogNiyY8FPSUTFsLp8TeTmMui5mtw7bcaT0Yw2AA4wFRQIlkgq+1DQrNhkmoxS5Jq+u6bMAIGRECEANgXHTgWzwgBOhDH2l0oTQ4D8D5NMktBgNywAEMjo8rwATMZrPY7JGxBoJCkIBDQiAY09EGTUiBCWkUpISfGPR5AAwBfZiG2z7Ayc1yeKTxid39xBNwfHr4O0LA48ePFTvhYrF1r4tyAoz9n2MCqEuBtp/6GDR0oAYfG/R6wJExHYZHfhygsv7fEWCOj4bYmsP5A+pL4MkTfAnMlD4F+r3bobKvTyTA2P/w7PN+Agq2QW8piqMCpTBwenoKvX0AHGkGtP2YAPvTEWA7QUTAudn7/NxtOG46wWNmDtpBEkBzN7rBEvAFHp+YTB/q97qPAN4gHFqgBi8uLsC7qPCA6mg41G/+ErByPwEXDdoNxRhOx+M5jPEzQugS0ht+b1/Y3gEnYMAIAOIBE29/hIDucE8tmMsNOgK4B1RHFu4UCRlMHzv0xzcajcfdXWDs2h8TArBCkoDUJYDLmz6w7ip3BFS0ve5wTRwAn6keMA9I3QYbfSZ0DKbyt+7OXjGI1idPcfNyAyfAMlCrzaGqphYrxHocLHRJVycnfGUcbtT+jIyMjIw9x7Nn8fJSzG0TmFtO8rZT+XT3S3ub+tKJbbLd5diTVp50+zahyeHSslJ/YPrU0fuazrZO2CZ92/ZCCVXlGRiZKPJyPPRxyIFWeXLQBXJBKiq/3divEAN6ZwM200Qjm7EJBZeWm/PRWVCbYK7s7u2l4XaCz+lzgOfMfhMonXr7TWzeZb98dbgIzBT8Ub8eYYUqfZ4rVJ/MDbIDgPqTulJ/xvntWAtjIisqnwxOkGz0n077FARoY79GdA6HPE4rOy196NiMWHTZlSSApcOgXpy/fHV2joaNKu3ffsAnRcBf4K/6NcIG6tIxk3HyoXPjASqfUgXbYN5PzpL2njkR9QMjeDTVHDTCgRuxOegjoO0FvKzP/t/gmVdI24+G7NIe8JX6Wv3dDyldMA+4YB5wwTygtd+dwRqaTqrLb1l73zTSN52CNpnHuQOYPsDblybgxfkXh/oVtr+N1DEBJdhRJyd/Bd/q1z+cbNrD17iVKyajcnv9arhOkRPgsruuD6DmNPwpDNrLw2CoTgHni4yALr0L29+tiKAEIPn868ejx//8rpWP3OEOl5On9OwpcQm0MhafP/ey8f1uvDNIgGLQG8z4YO99ENgg95etwv4uYJYY8fUGHYH6j6fscHFZMftlAl9i+9XL73X3N/n+ZStOzfVfRvYXhrbdKOpEgVQTg/wsDuDD3kwOfQNMTJ5y+/ltUDWLunyxnRF46IqlBzGMY4X7inggREFioIyMjIyMHWCIB6ZNKAcXseo3vLTQTkVE7348dlwJJSz0+wLfmi8BhZqfw3D4ww/wHVLnEd5/fgYvXsDZ3MlsvYUbbnDjDZ3MN3TJG4+bxjAaDl8TBri9qxEw1ccao2wTNAMLHo2f+sjrXwb/9qHoYqgPMBXJTVfOpmrZH23y6uvo0LHSyY6fHGwKfHJlAuMFvObjDYrIqxBgQi20h7Hd/nYVLmno+eaNUm/eeH2GCuopntnhBJAlI2AHo9CCh1I1QxUdAbqqGY9BBLwyc3W4wYVhvY8A4BoIc1l5M7vnPWphZW9/Ses3n37y9a0uGqFwFQZsQQbd386DogpgEk+dzynsAZMJXq8+ns9NeukJ0PYrNATGGefJQlhkLo7DTXr+y3bNiOsDvrXTz/C2q1DXZH84iRNwrP88Nj+u2DjYEE6RBxD9Knj16ujVHC67A7422o02RwD3gB+t7EblWvu9geOFxSnd3ROmT+nJyQkhoPlsxVONc/3TEdBos+jtA+ZzcwHgTvD1cDjaYCcItA8w9i88A8b+mqSjc6Pvqd998QguEQPmQMeo23ODN86+p0/bn1buBkT6+oBhNZ/PYY4ZAHYb3PRd4LkZmPX68NRtMZn4ASvdA+qf0jMA5MP9eeg28Nug9QiLnj5A33U1MAES6xHAUNpz/9zFAYE1gqQDMT3G6xI9pwdw/aIgKoHCS1YGlRnSq9yCjdXjgN3j+N27YyROHxmuNAeNKPpYuXIyIyMjYy0M8eros59MF/PT2c602T7eA7zvhJ9dr/vzDjXaLp4Yc5+0wllzxzHv3gdmMMM7/CcQzKgVBqYTmFn+Z+mKm8J7k0A5F/jgCfjQ1WBhQyiOqD0lYuqBb+AyzMw9Ha2G3m6c8qQx+AlqnIceQp+Sb6i9UyQWbhr54+AjnZ0VzW2TAN0DmBT6PWmc6jDBE2PK2u+nF43dyP7Q0t1pOcX2fdRvH0mF2Q4JqN35rnHjVIeaXfIAVyUuw/aHCCiJy9iF5l1621zweI8KZrPZ9iJdb7DXJ3US0OSrtZ10imt7wHY7QesAzUMz1oZ3noB3qFJ/H18j97FYuw8QDN4oeKf30osvcSW2ExLo+VcbuAuo/sUIm8fMG9xocO3Ea19J9gFYivnHJ2KnyfovZlgW3v6ySx32abQiIyMjIyPjhlFDTLxpwIgFMnTp6A3g4IDKNY+stkwAMAoIAbasxBXqUWneSAWTMjt50lTqT29rFjvXohjsDNm2YPXDFlICmrJOZ3t6tHm8AiEAl0sCeLIIorIRt+cFbew/QRsoAXb4o1XSfoywzm0FTMAoYBNvLyFu8v8HpLBtD1iKgC17wHb7AI6d9wFbvguAIGTHd4E9wG7jgIyMjIyM+434c2R3HeV/Ffx6jtZu6ijl8h59T655jhR+rdHzDOP6beABCheb8O8/WFXeOyzgf5oAhVYnKxP7CwaAf1afJu8bSrhS6tdaXeGnrRenOqOlz9d6QwYnA/3TLd+GE7qe3chA5YF5DfY0vK3adfOX/gyNp2BW25MHdxAB9qvRiiP3/XpQQFGYDU4+Mi///XumXG8pjvaUAOsBGlf4jJt+YYEzeEzAdw06F19R3juM7D1wita86GR0CKfDHgLuXCc4Bri6vMLdfjMc4VNSUNsdodo2xu/1+Xl/K5+az8jIyMhYG/z5gJTMF1GtKq/a3rpyCvz5gJTMl9GtKq/a3rpyCmfQ4WwZmS+kXFVetb115ST48wEf/AGcfG1iw+tWbpbS2vJ3nQxcVr3lH3z5h972FUTLzYpOVk7l5hD+eYcYwDcAnewOotrZ4OtrPDucqi/LRX0/RR4qx7Nn4U8g+qjffvuN6Gf+nC85vwauHjaYyubqvWYKY4VEfSUMitdnBCT1Ue63R5439m+OgCn6DroAAaHPVQxKth/wkJgHmG8bmQMsT0D6EjDfvhVRKO3ywOQUgRA7nmL1uawZmHf1k+DPBwQ6NdcJ+k6Md1LA5f5ONdhJ8vZ5J0vLHT99srkGOjmJbd/G1r2Nriqnse1AZt1AalU5jW2HsuuG0qvKGRkZGRkZGRG0gcONyXsP9v8D0/IdJADiBNiXl3327WRGgOL/9HC/0XwlIURkRhC4tz6Z/fu7fUf2gHvfB9z3u0BGRkZGRkbGplHcnkgguQoSqtUXuhbs/wPtMwqV0HUJAvj5vk32b8IDuL23yn7qAXZ5u32hbRX7d3o82Df1FZXvbh9QOfhyxldr/+3xgXU9oKmvsHyr7F/XA269/eveBXrsv7N9QALe/tvjA0kPWAXGbvebkbHn+D/J5nMcHzx1UAAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/images/ui-icons_ffd27a_256x240.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAQAAAADwCAMAAADYSUr5AAAA7VBMVEX80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nzkx5/eAAAATnRSTlMAGBAyBAhQv4OZLiJUcEBmYBoSzQwgPBZCSEoeWiYwUiyFNIeBw2rJz8c4RBy9uXyrtaWNqa2zKP2fJO8KBgKPo2KVoa9s351GPm5+kWho0kj9AAAPhUlEQVR4nO1djWLbthEGyUiq5YSSLXtp7FpLOmfzkmxr126tmi2p03RJ1/Xe/3EGgARxPyAgRbIk2/hkSz4CJO4+HsE7AJSVysjI2AMUUOxahZ2iANhzBtZWr4BoIRSYAVN5u4QwDwQDRbcwfUi5KS3wFuDmFnQLa4Dtb//cqktwD5QEFFwfUs7PoCCA7y4bEJVFizcIob8KmhAplwwqVjt+9FBl3uINQniwEiryEyw9JHqGpQdEFNi+B4QQ7QOiHhysIPoAxUqxvdvvA9K42bsAv4S2fxfYOe57IJSRkZGRkZGxx7jxSHDHcRBXQMTyIjInBgHwBJ/bEx8PEANC+uhbpSSggCBAVODVabpI1S/k4WLZpTn6NpMhoX9Y40hxYERFpMcqUs4AloCtDQdID1YhnyXZ2hLjAYWiO9Dy1PDB7tPhIqLx+uMB8grZaR+Qxl2/C2RkZGRkZGRk7A7rBf7J0DR5/LUTjzUPIPSPGvQJiVJiB7kcQCiUOJrcFNtDZIf2xarQ3aGvLNxAVIFAabz90BFiBIlycTBhgWwOWCH0FLYHlPqwHaCvcIn2ZbosCevfPTRiFFcgvHukCjWwrc3GrGh1fsAof8EaUReKXkCB4/MzFNo97qLpFiKFYv/kNR5YQxQbQEofkZ2OuEOHqqT6gFTpru8CN7x/+jaZkZGRkZGRcV+x/rLUNcMMqUAscgnFocmpqkTzqymwVAPxfJ5PnIUUQOUKT04tEdWZyv3JCQSn96WS4pD97QfyW25A7NhSAbyhmVj0FEltA4vdiygBibXhoUYgykCUP7HwPTDeEqAIcHVMkZg7Zx4k0uFANs63hPQXCoRLAwdgGsr9Az7Qv7sgQGgg1aPl/BJLExBWgG4RFRLFImGmIquPC/klEGyCG0AuAXaJJC+B8FVe9NYQDEcXB8g6AQcjYJ1goJIggHWCrFR0S6kRHN5+4BzFi8NaoN35NRxUvL+JJdZr7PV4wK6fj8nIyMjIyNhr3OxdXAYq7FHZwB6bDSzSh4sF0utChqo0NAvaT1hLzXwFinmCzmeDucEQK18TTaQoFgP7bNC+RZ4OT4T6gQogDFYk+1QxQlj19QGSAWKiLYp8P0Ag1Gbz1ULfWHLg9iUnQNK5QQJcukm04blKLH2GgEJCY+HzXAZWCvHKco3Bp6MIaCjSXXRJyOxeqhnzEaF93MfFGW/O16ZvDL5TM4MJIjujz/cHypkQuuzRwWJ93BKdIt+wCRAPl9kpe2Ikkb2mFgGlxh/i40d3EHfdvoyMjIyMu43ylt/IAmGHnN5iIt7wKfbv01RAcJqFRl9lcjYQSnbQqKgC4fYOwSJt6N6trE0twZ9kN/PqNpTQeICvr4TLsDYC06U7BMjshS+v1/aT7IwQYD5LcgRQXMT2FrBfBLjZ6151jDElk9tPFfpUgk2yregusX25BJbwAFEfM+YI6vGAti4bTtizB+TjfQCrERyhKb2X8D6A9wX75P4t4neBYJeP6pdhg/gQl8MWvytzeSTjgOQBynQdh/iXKdxOrGJ/RkZGRsb9QmXihGr5+g8GGg9uTh+KoVZuNIzV+CwRucFBEyr1mVjx4irOxwM1BhirB6Q+2eNQi4eqR+aF6mELtoMzCR7V9RAFe/ZvQogNiyY8FPSUTFsLp8TeTmMui5mtw7bcaT0Yw2AA4wFRQIlkgq+1DQrNhkmoxS5Jq+u6bMAIGRECEANgXHTgWzwgBOhDH2l0oTQ4D8D5NMktBgNywAEMjo8rwATMZrPY7JGxBoJCkIBDQiAY09EGTUiBCWkUpISfGPR5AAwBfZiG2z7Ayc1yeKTxid39xBNwfHr4O0LA48ePFTvhYrF1r4tyAoz9n2MCqEuBtp/6GDR0oAYfG/R6wJExHYZHfhygsv7fEWCOj4bYmsP5A+pL4MkTfAnMlD4F+r3bobKvTyTA2P/w7PN+Agq2QW8piqMCpTBwenoKvX0AHGkGtP2YAPvTEWA7QUTAudn7/NxtOG46wWNmDtpBEkBzN7rBEvAFHp+YTB/q97qPAN4gHFqgBi8uLsC7qPCA6mg41G/+ErByPwEXDdoNxRhOx+M5jPEzQugS0ht+b1/Y3gEnYMAIAOIBE29/hIDucE8tmMsNOgK4B1RHFu4UCRlMHzv0xzcajcfdXWDs2h8TArBCkoDUJYDLmz6w7ip3BFS0ve5wTRwAn6keMA9I3QYbfSZ0DKbyt+7OXjGI1idPcfNyAyfAMlCrzaGqphYrxHocLHRJVycnfGUcbtT+jIyMjIw9x7Nn8fJSzG0TmFtO8rZT+XT3S3ub+tKJbbLd5diTVp50+zahyeHSslJ/YPrU0fuazrZO2CZ92/ZCCVXlGRiZKPJyPPRxyIFWeXLQBXJBKiq/3divEAN6ZwM200Qjm7EJBZeWm/PRWVCbYK7s7u2l4XaCz+lzgOfMfhMonXr7TWzeZb98dbgIzBT8Ub8eYYUqfZ4rVJ/MDbIDgPqTulJ/xvntWAtjIisqnwxOkGz0n077FARoY79GdA6HPE4rOy196NiMWHTZlSSApcOgXpy/fHV2joaNKu3ffsAnRcBf4K/6NcIG6tIxk3HyoXPjASqfUgXbYN5PzpL2njkR9QMjeDTVHDTCgRuxOegjoO0FvKzP/t/gmVdI24+G7NIe8JX6Wv3dDyldMA+4YB5wwTygtd+dwRqaTqrLb1l73zTSN52CNpnHuQOYPsDblybgxfkXh/oVtr+N1DEBJdhRJyd/Bd/q1z+cbNrD17iVKyajcnv9arhOkRPgsruuD6DmNPwpDNrLw2CoTgHni4yALr0L29+tiKAEIPn868ejx//8rpWP3OEOl5On9OwpcQm0MhafP/ey8f1uvDNIgGLQG8z4YO99ENgg95etwv4uYJYY8fUGHYH6j6fscHFZMftlAl9i+9XL73X3N/n+ZStOzfVfRvYXhrbdKOpEgVQTg/wsDuDD3kwOfQNMTJ5y+/ltUDWLunyxnRF46IqlBzGMY4X7inggREFioIyMjIyMHWCIB6ZNKAcXseo3vLTQTkVE7348dlwJJSz0+wLfmi8BhZqfw3D4ww/wHVLnEd5/fgYvXsDZ3MlsvYUbbnDjDZ3MN3TJG4+bxjAaDl8TBri9qxEw1ccao2wTNAMLHo2f+sjrXwb/9qHoYqgPMBXJTVfOpmrZH23y6uvo0LHSyY6fHGwKfHJlAuMFvObjDYrIqxBgQi20h7Hd/nYVLmno+eaNUm/eeH2GCuopntnhBJAlI2AHo9CCh1I1QxUdAbqqGY9BBLwyc3W4wYVhvY8A4BoIc1l5M7vnPWphZW9/Ses3n37y9a0uGqFwFQZsQQbd386DogpgEk+dzynsAZMJXq8+ns9NeukJ0PYrNATGGefJQlhkLo7DTXr+y3bNiOsDvrXTz/C2q1DXZH84iRNwrP88Nj+u2DjYEE6RBxD9Knj16ujVHC67A7422o02RwD3gB+t7EblWvu9geOFxSnd3ROmT+nJyQkhoPlsxVONc/3TEdBos+jtA+ZzcwHgTvD1cDjaYCcItA8w9i88A8b+mqSjc6Pvqd998QguEQPmQMeo23ODN86+p0/bn1buBkT6+oBhNZ/PYY4ZAHYb3PRd4LkZmPX68NRtMZn4ASvdA+qf0jMA5MP9eeg28Nug9QiLnj5A33U1MAES6xHAUNpz/9zFAYE1gqQDMT3G6xI9pwdw/aIgKoHCS1YGlRnSq9yCjdXjgN3j+N27YyROHxmuNAeNKPpYuXIyIyMjYy0M8eros59MF/PT2c602T7eA7zvhJ9dr/vzDjXaLp4Yc5+0wllzxzHv3gdmMMM7/CcQzKgVBqYTmFn+Z+mKm8J7k0A5F/jgCfjQ1WBhQyiOqD0lYuqBb+AyzMw9Ha2G3m6c8qQx+AlqnIceQp+Sb6i9UyQWbhr54+AjnZ0VzW2TAN0DmBT6PWmc6jDBE2PK2u+nF43dyP7Q0t1pOcX2fdRvH0mF2Q4JqN35rnHjVIeaXfIAVyUuw/aHCCiJy9iF5l1621zweI8KZrPZ9iJdb7DXJ3US0OSrtZ10imt7wHY7QesAzUMz1oZ3noB3qFJ/H18j97FYuw8QDN4oeKf30osvcSW2ExLo+VcbuAuo/sUIm8fMG9xocO3Ea19J9gFYivnHJ2KnyfovZlgW3v6ySx32abQiIyMjIyPjhlFDTLxpwIgFMnTp6A3g4IDKNY+stkwAMAoIAbasxBXqUWneSAWTMjt50lTqT29rFjvXohjsDNm2YPXDFlICmrJOZ3t6tHm8AiEAl0sCeLIIorIRt+cFbew/QRsoAXb4o1XSfoywzm0FTMAoYBNvLyFu8v8HpLBtD1iKgC17wHb7AI6d9wFbvguAIGTHd4E9wG7jgIyMjIyM+434c2R3HeV/Ffx6jtZu6ijl8h59T655jhR+rdHzDOP6beABCheb8O8/WFXeOyzgf5oAhVYnKxP7CwaAf1afJu8bSrhS6tdaXeGnrRenOqOlz9d6QwYnA/3TLd+GE7qe3chA5YF5DfY0vK3adfOX/gyNp2BW25MHdxAB9qvRiiP3/XpQQFGYDU4+Mi///XumXG8pjvaUAOsBGlf4jJt+YYEzeEzAdw06F19R3juM7D1wita86GR0CKfDHgLuXCc4Bri6vMLdfjMc4VNSUNsdodo2xu/1+Xl/K5+az8jIyMhYG/z5gJTMF1GtKq/a3rpyCvz5gJTMl9GtKq/a3rpyCmfQ4WwZmS+kXFVetb115ST48wEf/AGcfG1iw+tWbpbS2vJ3nQxcVr3lH3z5h972FUTLzYpOVk7l5hD+eYcYwDcAnewOotrZ4OtrPDucqi/LRX0/RR4qx7Nn4U8g+qjffvuN6Gf+nC85vwauHjaYyubqvWYKY4VEfSUMitdnBCT1Ue63R5439m+OgCn6DroAAaHPVQxKth/wkJgHmG8bmQMsT0D6EjDfvhVRKO3ywOQUgRA7nmL1uawZmHf1k+DPBwQ6NdcJ+k6Md1LA5f5ONdhJ8vZ5J0vLHT99srkGOjmJbd/G1r2Nriqnse1AZt1AalU5jW2HsuuG0qvKGRkZGRkZGRG0gcONyXsP9v8D0/IdJADiBNiXl3327WRGgOL/9HC/0XwlIURkRhC4tz6Z/fu7fUf2gHvfB9z3u0BGRkZGRkbGplHcnkgguQoSqtUXuhbs/wPtMwqV0HUJAvj5vk32b8IDuL23yn7qAXZ5u32hbRX7d3o82Df1FZXvbh9QOfhyxldr/+3xgXU9oKmvsHyr7F/XA269/eveBXrsv7N9QALe/tvjA0kPWAXGbvebkbHn+D/J5nMcHzx1UAAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/images/ui-icons_ffffff_256x240.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAQAAAADwCAMAAADYSUr5AAAA7VBMVEX8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vywC3+8AAAATnRSTlMAGBAyBAhQv4OZLiJUcEBmYBoSzQwgPBZCSEoeWiYwUiyFNIeBw2rJz8c4RBy9uXyrtaWNqa2zKP2fJO8KBgKPo2KVoa9s351GPm5+kWho0kj9AAAPhUlEQVR4nO1djWLbthEGyUiq5YSSLXtp7FpLOmfzkmxr126tmi2p03RJ1/Xe/3EGgARxPyAgRbIk2/hkSz4CJO4+HsE7AJSVysjI2AMUUOxahZ2iANhzBtZWr4BoIRSYAVN5u4QwDwQDRbcwfUi5KS3wFuDmFnQLa4Dtb//cqktwD5QEFFwfUs7PoCCA7y4bEJVFizcIob8KmhAplwwqVjt+9FBl3uINQniwEiryEyw9JHqGpQdEFNi+B4QQ7QOiHhysIPoAxUqxvdvvA9K42bsAv4S2fxfYOe57IJSRkZGRkZGxx7jxSHDHcRBXQMTyIjInBgHwBJ/bEx8PEANC+uhbpSSggCBAVODVabpI1S/k4WLZpTn6NpMhoX9Y40hxYERFpMcqUs4AloCtDQdID1YhnyXZ2hLjAYWiO9Dy1PDB7tPhIqLx+uMB8grZaR+Qxl2/C2RkZGRkZGRk7A7rBf7J0DR5/LUTjzUPIPSPGvQJiVJiB7kcQCiUOJrcFNtDZIf2xarQ3aGvLNxAVIFAabz90BFiBIlycTBhgWwOWCH0FLYHlPqwHaCvcIn2ZbosCevfPTRiFFcgvHukCjWwrc3GrGh1fsAof8EaUReKXkCB4/MzFNo97qLpFiKFYv/kNR5YQxQbQEofkZ2OuEOHqqT6gFTpru8CN7x/+jaZkZGRkZGRcV+x/rLUNcMMqUAscgnFocmpqkTzqymwVAPxfJ5PnIUUQOUKT04tEdWZyv3JCQSn96WS4pD97QfyW25A7NhSAbyhmVj0FEltA4vdiygBibXhoUYgykCUP7HwPTDeEqAIcHVMkZg7Zx4k0uFANs63hPQXCoRLAwdgGsr9Az7Qv7sgQGgg1aPl/BJLExBWgG4RFRLFImGmIquPC/klEGyCG0AuAXaJJC+B8FVe9NYQDEcXB8g6AQcjYJ1goJIggHWCrFR0S6kRHN5+4BzFi8NaoN35NRxUvL+JJdZr7PV4wK6fj8nIyMjIyNhr3OxdXAYq7FHZwB6bDSzSh4sF0utChqo0NAvaT1hLzXwFinmCzmeDucEQK18TTaQoFgP7bNC+RZ4OT4T6gQogDFYk+1QxQlj19QGSAWKiLYp8P0Ag1Gbz1ULfWHLg9iUnQNK5QQJcukm04blKLH2GgEJCY+HzXAZWCvHKco3Bp6MIaCjSXXRJyOxeqhnzEaF93MfFGW/O16ZvDL5TM4MJIjujz/cHypkQuuzRwWJ93BKdIt+wCRAPl9kpe2Ikkb2mFgGlxh/i40d3EHfdvoyMjIyMu43ylt/IAmGHnN5iIt7wKfbv01RAcJqFRl9lcjYQSnbQqKgC4fYOwSJt6N6trE0twZ9kN/PqNpTQeICvr4TLsDYC06U7BMjshS+v1/aT7IwQYD5LcgRQXMT2FrBfBLjZ6151jDElk9tPFfpUgk2yregusX25BJbwAFEfM+YI6vGAti4bTtizB+TjfQCrERyhKb2X8D6A9wX75P4t4neBYJeP6pdhg/gQl8MWvytzeSTjgOQBynQdh/iXKdxOrGJ/RkZGRsb9QmXihGr5+g8GGg9uTh+KoVZuNIzV+CwRucFBEyr1mVjx4irOxwM1BhirB6Q+2eNQi4eqR+aF6mELtoMzCR7V9RAFe/ZvQogNiyY8FPSUTFsLp8TeTmMui5mtw7bcaT0Yw2AA4wFRQIlkgq+1DQrNhkmoxS5Jq+u6bMAIGRECEANgXHTgWzwgBOhDH2l0oTQ4D8D5NMktBgNywAEMjo8rwATMZrPY7JGxBoJCkIBDQiAY09EGTUiBCWkUpISfGPR5AAwBfZiG2z7Ayc1yeKTxid39xBNwfHr4O0LA48ePFTvhYrF1r4tyAoz9n2MCqEuBtp/6GDR0oAYfG/R6wJExHYZHfhygsv7fEWCOj4bYmsP5A+pL4MkTfAnMlD4F+r3bobKvTyTA2P/w7PN+Agq2QW8piqMCpTBwenoKvX0AHGkGtP2YAPvTEWA7QUTAudn7/NxtOG46wWNmDtpBEkBzN7rBEvAFHp+YTB/q97qPAN4gHFqgBi8uLsC7qPCA6mg41G/+ErByPwEXDdoNxRhOx+M5jPEzQugS0ht+b1/Y3gEnYMAIAOIBE29/hIDucE8tmMsNOgK4B1RHFu4UCRlMHzv0xzcajcfdXWDs2h8TArBCkoDUJYDLmz6w7ip3BFS0ve5wTRwAn6keMA9I3QYbfSZ0DKbyt+7OXjGI1idPcfNyAyfAMlCrzaGqphYrxHocLHRJVycnfGUcbtT+jIyMjIw9x7Nn8fJSzG0TmFtO8rZT+XT3S3ub+tKJbbLd5diTVp50+zahyeHSslJ/YPrU0fuazrZO2CZ92/ZCCVXlGRiZKPJyPPRxyIFWeXLQBXJBKiq/3divEAN6ZwM200Qjm7EJBZeWm/PRWVCbYK7s7u2l4XaCz+lzgOfMfhMonXr7TWzeZb98dbgIzBT8Ub8eYYUqfZ4rVJ/MDbIDgPqTulJ/xvntWAtjIisqnwxOkGz0n077FARoY79GdA6HPE4rOy196NiMWHTZlSSApcOgXpy/fHV2joaNKu3ffsAnRcBf4K/6NcIG6tIxk3HyoXPjASqfUgXbYN5PzpL2njkR9QMjeDTVHDTCgRuxOegjoO0FvKzP/t/gmVdI24+G7NIe8JX6Wv3dDyldMA+4YB5wwTygtd+dwRqaTqrLb1l73zTSN52CNpnHuQOYPsDblybgxfkXh/oVtr+N1DEBJdhRJyd/Bd/q1z+cbNrD17iVKyajcnv9arhOkRPgsruuD6DmNPwpDNrLw2CoTgHni4yALr0L29+tiKAEIPn868ejx//8rpWP3OEOl5On9OwpcQm0MhafP/ey8f1uvDNIgGLQG8z4YO99ENgg95etwv4uYJYY8fUGHYH6j6fscHFZMftlAl9i+9XL73X3N/n+ZStOzfVfRvYXhrbdKOpEgVQTg/wsDuDD3kwOfQNMTJ5y+/ltUDWLunyxnRF46IqlBzGMY4X7inggREFioIyMjIyMHWCIB6ZNKAcXseo3vLTQTkVE7348dlwJJSz0+wLfmi8BhZqfw3D4ww/wHVLnEd5/fgYvXsDZ3MlsvYUbbnDjDZ3MN3TJG4+bxjAaDl8TBri9qxEw1ccao2wTNAMLHo2f+sjrXwb/9qHoYqgPMBXJTVfOpmrZH23y6uvo0LHSyY6fHGwKfHJlAuMFvObjDYrIqxBgQi20h7Hd/nYVLmno+eaNUm/eeH2GCuopntnhBJAlI2AHo9CCh1I1QxUdAbqqGY9BBLwyc3W4wYVhvY8A4BoIc1l5M7vnPWphZW9/Ses3n37y9a0uGqFwFQZsQQbd386DogpgEk+dzynsAZMJXq8+ns9NeukJ0PYrNATGGefJQlhkLo7DTXr+y3bNiOsDvrXTz/C2q1DXZH84iRNwrP88Nj+u2DjYEE6RBxD9Knj16ujVHC67A7422o02RwD3gB+t7EblWvu9geOFxSnd3ROmT+nJyQkhoPlsxVONc/3TEdBos+jtA+ZzcwHgTvD1cDjaYCcItA8w9i88A8b+mqSjc6Pvqd998QguEQPmQMeo23ODN86+p0/bn1buBkT6+oBhNZ/PYY4ZAHYb3PRd4LkZmPX68NRtMZn4ASvdA+qf0jMA5MP9eeg28Nug9QiLnj5A33U1MAES6xHAUNpz/9zFAYE1gqQDMT3G6xI9pwdw/aIgKoHCS1YGlRnSq9yCjdXjgN3j+N27YyROHxmuNAeNKPpYuXIyIyMjYy0M8eros59MF/PT2c602T7eA7zvhJ9dr/vzDjXaLp4Yc5+0wllzxzHv3gdmMMM7/CcQzKgVBqYTmFn+Z+mKm8J7k0A5F/jgCfjQ1WBhQyiOqD0lYuqBb+AyzMw9Ha2G3m6c8qQx+AlqnIceQp+Sb6i9UyQWbhr54+AjnZ0VzW2TAN0DmBT6PWmc6jDBE2PK2u+nF43dyP7Q0t1pOcX2fdRvH0mF2Q4JqN35rnHjVIeaXfIAVyUuw/aHCCiJy9iF5l1621zweI8KZrPZ9iJdb7DXJ3US0OSrtZ10imt7wHY7QesAzUMz1oZ3noB3qFJ/H18j97FYuw8QDN4oeKf30osvcSW2ExLo+VcbuAuo/sUIm8fMG9xocO3Ea19J9gFYivnHJ2KnyfovZlgW3v6ySx32abQiIyMjIyPjhlFDTLxpwIgFMnTp6A3g4IDKNY+stkwAMAoIAbasxBXqUWneSAWTMjt50lTqT29rFjvXohjsDNm2YPXDFlICmrJOZ3t6tHm8AiEAl0sCeLIIorIRt+cFbew/QRsoAXb4o1XSfoywzm0FTMAoYBNvLyFu8v8HpLBtD1iKgC17wHb7AI6d9wFbvguAIGTHd4E9wG7jgIyMjIyM+434c2R3HeV/Ffx6jtZu6ijl8h59T655jhR+rdHzDOP6beABCheb8O8/WFXeOyzgf5oAhVYnKxP7CwaAf1afJu8bSrhS6tdaXeGnrRenOqOlz9d6QwYnA/3TLd+GE7qe3chA5YF5DfY0vK3adfOX/gyNp2BW25MHdxAB9qvRiiP3/XpQQFGYDU4+Mi///XumXG8pjvaUAOsBGlf4jJt+YYEzeEzAdw06F19R3juM7D1wita86GR0CKfDHgLuXCc4Bri6vMLdfjMc4VNSUNsdodo2xu/1+Xl/K5+az8jIyMhYG/z5gJTMF1GtKq/a3rpyCvz5gJTMl9GtKq/a3rpyCmfQ4WwZmS+kXFVetb115ST48wEf/AGcfG1iw+tWbpbS2vJ3nQxcVr3lH3z5h972FUTLzYpOVk7l5hD+eYcYwDcAnewOotrZ4OtrPDucqi/LRX0/RR4qx7Nn4U8g+qjffvuN6Gf+nC85vwauHjaYyubqvWYKY4VEfSUMitdnBCT1Ue63R5439m+OgCn6DroAAaHPVQxKth/wkJgHmG8bmQMsT0D6EjDfvhVRKO3ywOQUgRA7nmL1uawZmHf1k+DPBwQ6NdcJ+k6Md1LA5f5ONdhJ8vZ5J0vLHT99srkGOjmJbd/G1r2Nriqnse1AZt1AalU5jW2HsuuG0qvKGRkZGRkZGRG0gcONyXsP9v8D0/IdJADiBNiXl3327WRGgOL/9HC/0XwlIURkRhC4tz6Z/fu7fUf2gHvfB9z3u0BGRkZGRkbGplHcnkgguQoSqtUXuhbs/wPtMwqV0HUJAvj5vk32b8IDuL23yn7qAXZ5u32hbRX7d3o82Df1FZXvbh9QOfhyxldr/+3xgXU9oKmvsHyr7F/XA269/eveBXrsv7N9QALe/tvjA0kPWAXGbvebkbHn+D/J5nMcHzx1UAAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/jquery-ui-timepicker-addon.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LnVpLXRpbWVwaWNrZXItZGl2IC51aS13aWRnZXQtaGVhZGVyIHsgbWFyZ2luLWJvdHRvbTogOHB4OyB9Ci51aS10aW1lcGlja2VyLWRpdiBkbCB7IHRleHQtYWxpZ246IGxlZnQ7IH0KLnVpLXRpbWVwaWNrZXItZGl2IGRsIGR0IHsgaGVpZ2h0OiAyNXB4OyB9Ci51aS10aW1lcGlja2VyLWRpdiBkbCBkZCB7IG1hcmdpbjogLTI1cHggMTBweCAxMHB4IDY1cHg7IH0KLnVpLXRpbWVwaWNrZXItZGl2IHRkIHsgZm9udC1zaXplOiA5MCU7IH0K]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/jquery-ui-timepicker-addon.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKKiBqUXVlcnkgdGltZXBpY2tlciBhZGRvbgoqIEJ5OiBUcmVudCBSaWNoYXJkc29uIFtodHRwOi8vdHJlbnRyaWNoYXJkc29uLmNvbV0KKiBWZXJzaW9uIDAuOS41CiogTGFzdCBNb2RpZmllZDogMDUvMjUvMjAxMQoqIAoqIENvcHlyaWdodCAyMDExIFRyZW50IFJpY2hhcmRzb24KKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgYW5kIEdQTCBsaWNlbnNlcy4KKiBodHRwOi8vdHJlbnRyaWNoYXJkc29uLmNvbS9JbXByb21wdHUvR1BMLUxJQ0VOU0UudHh0CiogaHR0cDovL3RyZW50cmljaGFyZHNvbi5jb20vSW1wcm9tcHR1L01JVC1MSUNFTlNFLnR4dAoqIAoqIEhFUkVTIFRIRSBDU1M6CiogLnVpLXRpbWVwaWNrZXItZGl2IC51aS13aWRnZXQtaGVhZGVyeyBtYXJnaW4tYm90dG9tOiA4cHg7IH0KKiAudWktdGltZXBpY2tlci1kaXYgZGx7IHRleHQtYWxpZ246IGxlZnQ7IH0KKiAudWktdGltZXBpY2tlci1kaXYgZGwgZHR7IGhlaWdodDogMjVweDsgfQoqIC51aS10aW1lcGlja2VyLWRpdiBkbCBkZHsgbWFyZ2luOiAtMjVweCAxMHB4IDEwcHggNjVweDsgfQoqIC51aS10aW1lcGlja2VyLWRpdiB0ZCB7IGZvbnQtc2l6ZTogOTAlOyB9CiovCgooZnVuY3Rpb24oJCkgewoKJC5leHRlbmQoJC51aSwgeyB0aW1lcGlja2VyOiB7IHZlcnNpb246ICIwLjkuNSIgfSB9KTsKCi8qIFRpbWUgcGlja2VyIG1hbmFnZXIuCiAgIFVzZSB0aGUgc2luZ2xldG9uIGluc3RhbmNlIG9mIHRoaXMgY2xhc3MsICQudGltZXBpY2tlciwgdG8gaW50ZXJhY3Qgd2l0aCB0aGUgdGltZSBwaWNrZXIuCiAgIFNldHRpbmdzIGZvciAoZ3JvdXBzIG9mKSB0aW1lIHBpY2tlcnMgYXJlIG1haW50YWluZWQgaW4gYW4gaW5zdGFuY2Ugb2JqZWN0LAogICBhbGxvd2luZyBtdWx0aXBsZSBkaWZmZXJlbnQgc2V0dGluZ3Mgb24gdGhlIHNhbWUgcGFnZS4gKi8KCmZ1bmN0aW9uIFRpbWVwaWNrZXIoKSB7Cgl0aGlzLnJlZ2lvbmFsID0gW107IC8vIEF2YWlsYWJsZSByZWdpb25hbCBzZXR0aW5ncywgaW5kZXhlZCBieSBsYW5ndWFnZSBjb2RlCgl0aGlzLnJlZ2lvbmFsWycnXSA9IHsgLy8gRGVmYXVsdCByZWdpb25hbCBzZXR0aW5ncwoJCWN1cnJlbnRUZXh0OiAnTm93JywKCQljbG9zZVRleHQ6ICdEb25lJywKCQlhbXBtOiBmYWxzZSwKCQl0aW1lRm9ybWF0OiAnaGg6bW0gdHQnLAoJCXRpbWVPbmx5VGl0bGU6ICdDaG9vc2UgVGltZScsCgkJdGltZVRleHQ6ICdUaW1lJywKCQlob3VyVGV4dDogJ0hvdXInLAoJCW1pbnV0ZVRleHQ6ICdNaW51dGUnLAoJCXNlY29uZFRleHQ6ICdTZWNvbmQnLAoJCXRpbWV6b25lVGV4dDogJ1RpbWUgWm9uZScKCX07Cgl0aGlzLl9kZWZhdWx0cyA9IHsgLy8gR2xvYmFsIGRlZmF1bHRzIGZvciBhbGwgdGhlIGRhdGV0aW1lIHBpY2tlciBpbnN0YW5jZXMKCQlzaG93QnV0dG9uUGFuZWw6IHRydWUsCgkJdGltZU9ubHk6IGZhbHNlLAoJCXNob3dIb3VyOiB0cnVlLAoJCXNob3dNaW51dGU6IHRydWUsCgkJc2hvd1NlY29uZDogZmFsc2UsCgkJc2hvd1RpbWV6b25lOiBmYWxzZSwKCQlzaG93VGltZTogdHJ1ZSwKCQlzdGVwSG91cjogMC4wNSwKCQlzdGVwTWludXRlOiAwLjA1LAoJCXN0ZXBTZWNvbmQ6IDAuMDUsCgkJaG91cjogMCwKCQltaW51dGU6IDAsCgkJc2Vjb25kOiAwLAoJCXRpbWV6b25lOiAnKzAwMDAnLAoJCWhvdXJNaW46IDAsCgkJbWludXRlTWluOiAwLAoJCXNlY29uZE1pbjogMCwKCQlob3VyTWF4OiAyMywKCQltaW51dGVNYXg6IDU5LAoJCXNlY29uZE1heDogNTksCgkJbWluRGF0ZVRpbWU6IG51bGwsCgkJbWF4RGF0ZVRpbWU6IG51bGwsCgkJaG91ckdyaWQ6IDAsCgkJbWludXRlR3JpZDogMCwKCQlzZWNvbmRHcmlkOiAwLAoJCWFsd2F5c1NldFRpbWU6IHRydWUsCgkJc2VwYXJhdG9yOiAnICcsCgkJYWx0RmllbGRUaW1lT25seTogdHJ1ZSwKCQlzaG93VGltZXBpY2tlcjogdHJ1ZSwKCQl0aW1lem9uZUxpc3Q6IFsiLTExMDAiLCAiLTEwMDAiLCAiLTA5MDAiLCAiLTA4MDAiLCAiLTA3MDAiLCAiLTA2MDAiLAoJCQkgICAgICAgIi0wNTAwIiwgIi0wNDAwIiwgIi0wMzAwIiwgIi0wMjAwIiwgIi0wMTAwIiwgIiswMDAwIiwKCQkJICAgICAgICIrMDEwMCIsICIrMDIwMCIsICIrMDMwMCIsICIrMDQwMCIsICIrMDUwMCIsICIrMDYwMCIsCgkJCSAgICAgICAiKzA3MDAiLCAiKzA4MDAiLCAiKzA5MDAiLCAiKzEwMDAiLCAiKzExMDAiLCAiKzEyMDAiXQoJfTsKCSQuZXh0ZW5kKHRoaXMuX2RlZmF1bHRzLCB0aGlzLnJlZ2lvbmFsWycnXSk7Cn0KCiQuZXh0ZW5kKFRpbWVwaWNrZXIucHJvdG90eXBlLCB7CgkkaW5wdXQ6IG51bGwsCgkkYWx0SW5wdXQ6IG51bGwsCgkkdGltZU9iajogbnVsbCwKCWluc3Q6IG51bGwsCglob3VyX3NsaWRlcjogbnVsbCwKCW1pbnV0ZV9zbGlkZXI6IG51bGwsCglzZWNvbmRfc2xpZGVyOiBudWxsLAoJdGltZXpvbmVfc2VsZWN0OiBudWxsLAoJaG91cjogMCwKCW1pbnV0ZTogMCwKCXNlY29uZDogMCwKCXRpbWV6b25lOiAnKzAwMDAnLAoJaG91ck1pbk9yaWdpbmFsOiBudWxsLAoJbWludXRlTWluT3JpZ2luYWw6IG51bGwsCglzZWNvbmRNaW5PcmlnaW5hbDogbnVsbCwKCWhvdXJNYXhPcmlnaW5hbDogbnVsbCwKCW1pbnV0ZU1heE9yaWdpbmFsOiBudWxsLAoJc2Vjb25kTWF4T3JpZ2luYWw6IG51bGwsCglhbXBtOiAnJywKCWZvcm1hdHRlZERhdGU6ICcnLAoJZm9ybWF0dGVkVGltZTogJycsCglmb3JtYXR0ZWREYXRlVGltZTogJycsCgl0aW1lem9uZUxpc3Q6IFsiLTExMDAiLCAiLTEwMDAiLCAiLTA5MDAiLCAiLTA4MDAiLCAiLTA3MDAiLCAiLTA2MDAiLAoJCQkiLTA1MDAiLCAiLTA0MDAiLCAiLTAzMDAiLCAiLTAyMDAiLCAiLTAxMDAiLCAiKzAwMDAiLAoJCQkiKzAxMDAiLCAiKzAyMDAiLCAiKzAzMDAiLCAiKzA0MDAiLCAiKzA1MDAiLCAiKzA2MDAiLAoJCQkiKzA3MDAiLCAiKzA4MDAiLCAiKzA5MDAiLCAiKzEwMDAiLCAiKzExMDAiLCAiKzEyMDAiXSwKCgkvKiBPdmVycmlkZSB0aGUgZGVmYXVsdCBzZXR0aW5ncyBmb3IgYWxsIGluc3RhbmNlcyBvZiB0aGUgdGltZSBwaWNrZXIuCgkgICBAcGFyYW0gIHNldHRpbmdzICBvYmplY3QgLSB0aGUgbmV3IHNldHRpbmdzIHRvIHVzZSBhcyBkZWZhdWx0cyAoYW5vbnltb3VzIG9iamVjdCkKCSAgIEByZXR1cm4gdGhlIG1hbmFnZXIgb2JqZWN0ICovCglzZXREZWZhdWx0czogZnVuY3Rpb24oc2V0dGluZ3MpIHsKCQlleHRlbmRSZW1vdmUodGhpcy5fZGVmYXVsdHMsIHNldHRpbmdzIHx8IHt9KTsKCQlyZXR1cm4gdGhpczsKCX0sCgoJLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCS8vIENyZWF0ZSBhIG5ldyBUaW1lcGlja2VyIGluc3RhbmNlCgkvLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoJX25ld0luc3Q6IGZ1bmN0aW9uKCRpbnB1dCwgbykgewoJCXZhciB0cF9pbnN0ID0gbmV3IFRpbWVwaWNrZXIoKSwKCQkJaW5saW5lU2V0dGluZ3MgPSB7fTsKCQkJCgkJZm9yICh2YXIgYXR0ck5hbWUgaW4gdGhpcy5fZGVmYXVsdHMpIHsKCQkJdmFyIGF0dHJWYWx1ZSA9ICRpbnB1dC5hdHRyKCd0aW1lOicgKyBhdHRyTmFtZSk7CgkJCWlmIChhdHRyVmFsdWUpIHsKCQkJCXRyeSB7CgkJCQkJaW5saW5lU2V0dGluZ3NbYXR0ck5hbWVdID0gZXZhbChhdHRyVmFsdWUpOwoJCQkJfSBjYXRjaCAoZXJyKSB7CgkJCQkJaW5saW5lU2V0dGluZ3NbYXR0ck5hbWVdID0gYXR0clZhbHVlOwoJCQkJfQoJCQl9CgkJfQoJCXRwX2luc3QuX2RlZmF1bHRzID0gJC5leHRlbmQoe30sIHRoaXMuX2RlZmF1bHRzLCBpbmxpbmVTZXR0aW5ncywgbywgewoJCQliZWZvcmVTaG93OiBmdW5jdGlvbihpbnB1dCwgZHBfaW5zdCkgewoJCQkJaWYgKCQuaXNGdW5jdGlvbihvLmJlZm9yZVNob3cpKQoJCQkJCW8uYmVmb3JlU2hvdyhpbnB1dCwgZHBfaW5zdCwgdHBfaW5zdCk7CgkJCX0sCgkJCW9uQ2hhbmdlTW9udGhZZWFyOiBmdW5jdGlvbih5ZWFyLCBtb250aCwgZHBfaW5zdCkgewoJCQkJLy8gVXBkYXRlIHRoZSB0aW1lIGFzIHdlbGwgOiB0aGlzIHByZXZlbnRzIHRoZSB0aW1lIGZyb20gZGlzYXBwZWFyaW5nIGZyb20gdGhlICRpbnB1dCBmaWVsZC4KCQkJCXRwX2luc3QuX3VwZGF0ZURhdGVUaW1lKGRwX2luc3QpOwoJCQkJaWYgKCQuaXNGdW5jdGlvbihvLm9uQ2hhbmdlTW9udGhZZWFyKSkKCQkJCQlvLm9uQ2hhbmdlTW9udGhZZWFyLmNhbGwoJGlucHV0WzBdLCB5ZWFyLCBtb250aCwgZHBfaW5zdCwgdHBfaW5zdCk7CgkJCX0sCgkJCW9uQ2xvc2U6IGZ1bmN0aW9uKGRhdGVUZXh0LCBkcF9pbnN0KSB7CgkJCQlpZiAodHBfaW5zdC50aW1lRGVmaW5lZCA9PT0gdHJ1ZSAmJiAkaW5wdXQudmFsKCkgIT0gJycpCgkJCQkJdHBfaW5zdC5fdXBkYXRlRGF0ZVRpbWUoZHBfaW5zdCk7CgkJCQlpZiAoJC5pc0Z1bmN0aW9uKG8ub25DbG9zZSkpCgkJCQkJby5vbkNsb3NlLmNhbGwoJGlucHV0WzBdLCBkYXRlVGV4dCwgZHBfaW5zdCwgdHBfaW5zdCk7CgkJCX0sCgkJCXRpbWVwaWNrZXI6IHRwX2luc3QgLy8gYWRkIHRpbWVwaWNrZXIgYXMgYSBwcm9wZXJ0eSBvZiBkYXRlcGlja2VyOiAkLmRhdGVwaWNrZXIuX2dldChkcF9pbnN0LCAndGltZXBpY2tlcicpOwoJCX0pOwoKCQl0cF9pbnN0LmhvdXIgPSB0cF9pbnN0Ll9kZWZhdWx0cy5ob3VyOwoJCXRwX2luc3QubWludXRlID0gdHBfaW5zdC5fZGVmYXVsdHMubWludXRlOwoJCXRwX2luc3Quc2Vjb25kID0gdHBfaW5zdC5fZGVmYXVsdHMuc2Vjb25kOwoJCXRwX2luc3QuYW1wbSA9ICcnOwoJCXRwX2luc3QuJGlucHV0ID0gJGlucHV0OwoKCQlpZiAoby5hbHRGaWVsZCkKCQkJdHBfaW5zdC4kYWx0SW5wdXQgPSAkKG8uYWx0RmllbGQpCgkJCQkuY3NzKHsgY3Vyc29yOiAncG9pbnRlcicgfSkKCQkJCS5mb2N1cyhmdW5jdGlvbigpeyAkaW5wdXQudHJpZ2dlcigiZm9jdXMiKTsgfSk7CgkJCQkJCQoJCS8vIGRhdGVwaWNrZXIgbmVlZHMgbWluRGF0ZS9tYXhEYXRlLCB0aW1lcGlja2VyIG5lZWRzIG1pbkRhdGVUaW1lL21heERhdGVUaW1lLi4KCQlpZih0cF9pbnN0Ll9kZWZhdWx0cy5taW5EYXRlICE9PSB1bmRlZmluZWQgJiYgdHBfaW5zdC5fZGVmYXVsdHMubWluRGF0ZSBpbnN0YW5jZW9mIERhdGUpCgkJCXRwX2luc3QuX2RlZmF1bHRzLm1pbkRhdGVUaW1lID0gbmV3IERhdGUodHBfaW5zdC5fZGVmYXVsdHMubWluRGF0ZS5nZXRUaW1lKCkpOwoJCWlmKHRwX2luc3QuX2RlZmF1bHRzLm1pbkRhdGVUaW1lICE9PSB1bmRlZmluZWQgJiYgdHBfaW5zdC5fZGVmYXVsdHMubWluRGF0ZVRpbWUgaW5zdGFuY2VvZiBEYXRlKQoJCQl0cF9pbnN0Ll9kZWZhdWx0cy5taW5EYXRlID0gbmV3IERhdGUodHBfaW5zdC5fZGVmYXVsdHMubWluRGF0ZVRpbWUuZ2V0VGltZSgpKTsKCQlpZih0cF9pbnN0Ll9kZWZhdWx0cy5tYXhEYXRlICE9PSB1bmRlZmluZWQgJiYgdHBfaW5zdC5fZGVmYXVsdHMubWF4RGF0ZSBpbnN0YW5jZW9mIERhdGUpCgkJCXRwX2luc3QuX2RlZmF1bHRzLm1heERhdGVUaW1lID0gbmV3IERhdGUodHBfaW5zdC5fZGVmYXVsdHMubWF4RGF0ZS5nZXRUaW1lKCkpOwoJCWlmKHRwX2luc3QuX2RlZmF1bHRzLm1heERhdGVUaW1lICE9PSB1bmRlZmluZWQgJiYgdHBfaW5zdC5fZGVmYXVsdHMubWF4RGF0ZVRpbWUgaW5zdGFuY2VvZiBEYXRlKQoJCQl0cF9pbnN0Ll9kZWZhdWx0cy5tYXhEYXRlID0gbmV3IERhdGUodHBfaW5zdC5fZGVmYXVsdHMubWF4RGF0ZVRpbWUuZ2V0VGltZSgpKTsKCQkJCgkJcmV0dXJuIHRwX2luc3Q7Cgl9LAoKCS8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgkvLyBhZGQgb3VyIHNsaWRlcnMgdG8gdGhlIGNhbGVuZGFyCgkvLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoJX2FkZFRpbWVQaWNrZXI6IGZ1bmN0aW9uKGRwX2luc3QpIHsKCQl2YXIgY3VyckRUID0gKHRoaXMuJGFsdElucHV0ICYmIHRoaXMuX2RlZmF1bHRzLmFsdEZpZWxkVGltZU9ubHkpID8KCQkJCXRoaXMuJGlucHV0LnZhbCgpICsgJyAnICsgdGhpcy4kYWx0SW5wdXQudmFsKCkgOiAKCQkJCXRoaXMuJGlucHV0LnZhbCgpOwoKCQl0aGlzLnRpbWVEZWZpbmVkID0gdGhpcy5fcGFyc2VUaW1lKGN1cnJEVCk7CgkJdGhpcy5fbGltaXRNaW5NYXhEYXRlVGltZShkcF9pbnN0LCBmYWxzZSk7CgkJdGhpcy5faW5qZWN0VGltZVBpY2tlcigpOwoJfSwKCgkvLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoJLy8gcGFyc2UgdGhlIHRpbWUgc3RyaW5nIGZyb20gaW5wdXQgdmFsdWUgb3IgX3NldFRpbWUKCS8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCglfcGFyc2VUaW1lOiBmdW5jdGlvbih0aW1lU3RyaW5nLCB3aXRoRGF0ZSkgewoJCXZhciByZWdzdHIgPSB0aGlzLl9kZWZhdWx0cy50aW1lRm9ybWF0LnRvU3RyaW5nKCkKCQkJCS5yZXBsYWNlKC9oezEsMn0vaWcsICcoXFxkP1xcZCknKQoJCQkJLnJlcGxhY2UoL217MSwyfS9pZywgJyhcXGQ/XFxkKScpCgkJCQkucmVwbGFjZSgvc3sxLDJ9L2lnLCAnKFxcZD9cXGQpJykKCQkJCS5yZXBsYWNlKC90ezEsMn0vaWcsICcoYW18cG18YXxwKT8nKQoJCQkJLnJlcGxhY2UoL3p7MX0vaWcsICcoKFxcK3wtKVxcZFxcZFxcZFxcZCk/JykKCQkJCS5yZXBsYWNlKC9ccy9nLCAnXFxzPycpICsgJyQnLAoJCQlvcmRlciA9IHRoaXMuX2dldEZvcm1hdFBvc2l0aW9ucygpLAoJCQl0cmVnOwoKCQlpZiAoIXRoaXMuaW5zdCkgdGhpcy5pbnN0ID0gJC5kYXRlcGlja2VyLl9nZXRJbnN0KHRoaXMuJGlucHV0WzBdKTsKCgkJaWYgKHdpdGhEYXRlIHx8ICF0aGlzLl9kZWZhdWx0cy50aW1lT25seSkgewoJCQkvLyB0aGUgdGltZSBzaG91bGQgY29tZSBhZnRlciB4IG51bWJlciBvZiBjaGFyYWN0ZXJzIGFuZCBhIHNwYWNlLgoJCQkvLyB4ID0gYXQgbGVhc3QgdGhlIGxlbmd0aCBvZiB0ZXh0IHNwZWNpZmllZCBieSB0aGUgZGF0ZSBmb3JtYXQKCQkJdmFyIGRwX2RhdGVGb3JtYXQgPSAkLmRhdGVwaWNrZXIuX2dldCh0aGlzLmluc3QsICdkYXRlRm9ybWF0Jyk7CgkJCS8vIGVzY2FwZSBzcGVjaWFsIHJlZ2V4IGNoYXJhY3RlcnMgaW4gdGhlIHNlcGVyYXRvcgoJCQl2YXIgc3BlY2lhbHMgPSBuZXcgUmVnRXhwKCJbLiorP3woKVxcW1xcXXt9XFxcXF0iLCAiZyIpOwoJCQlyZWdzdHIgPSAnLnsnICsgZHBfZGF0ZUZvcm1hdC5sZW5ndGggKyAnLH0nICsgdGhpcy5fZGVmYXVsdHMuc2VwYXJhdG9yLnJlcGxhY2Uoc3BlY2lhbHMsICJcXCQmIikgKyByZWdzdHI7CgkJfQoJCQoJCXRyZWcgPSB0aW1lU3RyaW5nLm1hdGNoKG5ldyBSZWdFeHAocmVnc3RyLCAnaScpKTsKCgkJaWYgKHRyZWcpIHsKCQkJaWYgKG9yZGVyLnQgIT09IC0xKQoJCQkJdGhpcy5hbXBtID0gKCh0cmVnW29yZGVyLnRdID09PSB1bmRlZmluZWQgfHwgdHJlZ1tvcmRlci50XS5sZW5ndGggPT09IDApID8KCQkJCQknJyA6CgkJCQkJKHRyZWdbb3JkZXIudF0uY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgPT0gJ0EnKSA/ICdBTScgOiAnUE0nKS50b1VwcGVyQ2FzZSgpOwoKCQkJaWYgKG9yZGVyLmggIT09IC0xKSB7CgkJCQlpZiAodGhpcy5hbXBtID09ICdBTScgJiYgdHJlZ1tvcmRlci5oXSA9PSAnMTInKSAKCQkJCQl0aGlzLmhvdXIgPSAwOyAvLyAxMmFtID0gMCBob3VyCgkJCQllbHNlIGlmICh0aGlzLmFtcG0gPT0gJ1BNJyAmJiB0cmVnW29yZGVyLmhdICE9ICcxMicpIAoJCQkJCXRoaXMuaG91ciA9IChwYXJzZUZsb2F0KHRyZWdbb3JkZXIuaF0pICsgMTIpLnRvRml4ZWQoMCk7IC8vIDEycG0gPSAxMiBob3VyLCBhbnkgb3RoZXIgcG0gPSBob3VyICsgMTIKCQkJCWVsc2UgdGhpcy5ob3VyID0gTnVtYmVyKHRyZWdbb3JkZXIuaF0pOwoJCQl9CgoJCQlpZiAob3JkZXIubSAhPT0gLTEpIHRoaXMubWludXRlID0gTnVtYmVyKHRyZWdbb3JkZXIubV0pOwoJCQlpZiAob3JkZXIucyAhPT0gLTEpIHRoaXMuc2Vjb25kID0gTnVtYmVyKHRyZWdbb3JkZXIuc10pOwoJCQlpZiAob3JkZXIueiAhPT0gLTEpIHRoaXMudGltZXpvbmUgPSB0cmVnW29yZGVyLnpdOwoJCQkKCQkJcmV0dXJuIHRydWU7CgoJCX0KCQlyZXR1cm4gZmFsc2U7Cgl9LAoKCS8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgkvLyBmaWd1cmUgb3V0IHBvc2l0aW9uIG9mIHRpbWUgZWxlbWVudHMuLiBjYXVzZSBqcyBjYW50IGRvIG5hbWVkIGNhcHR1cmVzCgkvLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoJX2dldEZvcm1hdFBvc2l0aW9uczogZnVuY3Rpb24oKSB7CgkJdmFyIGZpbmRzID0gdGhpcy5fZGVmYXVsdHMudGltZUZvcm1hdC50b0xvd2VyQ2FzZSgpLm1hdGNoKC8oaHsxLDJ9fG17MSwyfXxzezEsMn18dHsxLDJ9fHopL2cpLAoJCQlvcmRlcnMgPSB7IGg6IC0xLCBtOiAtMSwgczogLTEsIHQ6IC0xLCB6OiAtMSB9OwoKCQlpZiAoZmluZHMpCgkJCWZvciAodmFyIGkgPSAwOyBpIDwgZmluZHMubGVuZ3RoOyBpKyspCgkJCQlpZiAob3JkZXJzW2ZpbmRzW2ldLnRvU3RyaW5nKCkuY2hhckF0KDApXSA9PSAtMSkKCQkJCQlvcmRlcnNbZmluZHNbaV0udG9TdHJpbmcoKS5jaGFyQXQoMCldID0gaSArIDE7CgoJCXJldHVybiBvcmRlcnM7Cgl9LAoKCS8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgkvLyBnZW5lcmF0ZSBhbmQgaW5qZWN0IGh0bWwgZm9yIHRpbWVwaWNrZXIgaW50byB1aSBkYXRlcGlja2VyCgkvLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoJX2luamVjdFRpbWVQaWNrZXI6IGZ1bmN0aW9uKCkgewoJCXZhciAkZHAgPSB0aGlzLmluc3QuZHBEaXYsCgkJCW8gPSB0aGlzLl9kZWZhdWx0cywKCQkJdHBfaW5zdCA9IHRoaXMsCgkJCS8vIEFkZGVkIGJ5IFBldGVyIE1lZGVpcm9zOgoJCQkvLyAtIEZpZ3VyZSBvdXQgd2hhdCB0aGUgaG91ci9taW51dGUvc2Vjb25kIG1heCBzaG91bGQgYmUgYmFzZWQgb24gdGhlIHN0ZXAgdmFsdWVzLgoJCQkvLyAtIEV4YW1wbGU6IGlmIHN0ZXBNaW51dGUgaXMgMTUsIHRoZW4gbWluTWF4IGlzIDQ1LgoJCQlob3VyTWF4ID0gKG8uaG91ck1heCAtIChvLmhvdXJNYXggJSBvLnN0ZXBIb3VyKSkudG9GaXhlZCgwKSwKCQkJbWluTWF4ICA9IChvLm1pbnV0ZU1heCAtIChvLm1pbnV0ZU1heCAlIG8uc3RlcE1pbnV0ZSkpLnRvRml4ZWQoMCksCgkJCXNlY01heCAgPSAoby5zZWNvbmRNYXggLSAoby5zZWNvbmRNYXggJSBvLnN0ZXBTZWNvbmQpKS50b0ZpeGVkKDApLAoJCQlkcF9pZCA9IHRoaXMuaW5zdC5pZC50b1N0cmluZygpLnJlcGxhY2UoLyhbXkEtWmEtejAtOV9dKS9nLCAnJyk7CgoJCS8vIFByZXZlbnQgZGlzcGxheWluZyB0d2ljZQoJCS8vaWYgKCRkcC5maW5kKCJkaXYjdWktdGltZXBpY2tlci1kaXYtIisgZHBfaWQpLmxlbmd0aCA9PT0gMCkgewoJCWlmICgkZHAuZmluZCgiZGl2I3VpLXRpbWVwaWNrZXItZGl2LSIrIGRwX2lkKS5sZW5ndGggPT09IDAgJiYgby5zaG93VGltZXBpY2tlcikgewoJCQl2YXIgbm9EaXNwbGF5ID0gJyBzdHlsZT0iZGlzcGxheTpub25lOyInLAoJCQkJaHRtbCA9CSc8ZGl2IGNsYXNzPSJ1aS10aW1lcGlja2VyLWRpdiIgaWQ9InVpLXRpbWVwaWNrZXItZGl2LScgKyBkcF9pZCArICciPjxkbD4nICsKCQkJCQkJJzxkdCBjbGFzcz0idWlfdHBpY2tlcl90aW1lX2xhYmVsIiBpZD0idWlfdHBpY2tlcl90aW1lX2xhYmVsXycgKyBkcF9pZCArICciJyArCgkJCQkJCSgoby5zaG93VGltZSkgPyAnJyA6IG5vRGlzcGxheSkgKyAnPicgKyBvLnRpbWVUZXh0ICsgJzwvZHQ+JyArCgkJCQkJCSc8ZGQgY2xhc3M9InVpX3RwaWNrZXJfdGltZSIgaWQ9InVpX3RwaWNrZXJfdGltZV8nICsgZHBfaWQgKyAnIicgKwoJCQkJCQkoKG8uc2hvd1RpbWUpID8gJycgOiBub0Rpc3BsYXkpICsgJz48L2RkPicgKwoJCQkJCQknPGR0IGNsYXNzPSJ1aV90cGlja2VyX2hvdXJfbGFiZWwiIGlkPSJ1aV90cGlja2VyX2hvdXJfbGFiZWxfJyArIGRwX2lkICsgJyInICsKCQkJCQkJKChvLnNob3dIb3VyKSA/ICcnIDogbm9EaXNwbGF5KSArICc+JyArIG8uaG91clRleHQgKyAnPC9kdD4nLAoJCQkJaG91ckdyaWRTaXplID0gMCwKCQkJCW1pbnV0ZUdyaWRTaXplID0gMCwKCQkJCXNlY29uZEdyaWRTaXplID0gMCwKCQkJCXNpemU7CiAKCQkJaWYgKG8uc2hvd0hvdXIgJiYgby5ob3VyR3JpZCA+IDApIHsKCQkJCWh0bWwgKz0gJzxkZCBjbGFzcz0idWlfdHBpY2tlcl9ob3VyIj4nICsKCQkJCQkJJzxkaXYgaWQ9InVpX3RwaWNrZXJfaG91cl8nICsgZHBfaWQgKyAnIicgKyAoKG8uc2hvd0hvdXIpICAgPyAnJyA6IG5vRGlzcGxheSkgKyAnPjwvZGl2PicgKwoJCQkJCQknPGRpdiBzdHlsZT0icGFkZGluZy1sZWZ0OiAxcHgiPjx0YWJsZT48dHI+JzsKCgkJCQlmb3IgKHZhciBoID0gby5ob3VyTWluOyBoIDwgaG91ck1heDsgaCArPSBvLmhvdXJHcmlkKSB7CgkJCQkJaG91ckdyaWRTaXplKys7CgkJCQkJdmFyIHRtcGggPSAoby5hbXBtICYmIGggPiAxMikgPyBoLTEyIDogaDsKCQkJCQlpZiAodG1waCA8IDEwKSB0bXBoID0gJzAnICsgdG1waDsKCQkJCQlpZiAoby5hbXBtKSB7CgkJCQkJCWlmIChoID09IDApIHRtcGggPSAxMiArJ2EnOwoJCQkJCQllbHNlIGlmIChoIDwgMTIpIHRtcGggKz0gJ2EnOwoJCQkJCQllbHNlIHRtcGggKz0gJ3AnOwoJCQkJCX0KCQkJCQlodG1sICs9ICc8dGQ+JyArIHRtcGggKyAnPC90ZD4nOwoJCQkJfQoKCQkJCWh0bWwgKz0gJzwvdHI+PC90YWJsZT48L2Rpdj4nICsKCQkJCQkJJzwvZGQ+JzsKCQkJfSBlbHNlIGh0bWwgKz0gJzxkZCBjbGFzcz0idWlfdHBpY2tlcl9ob3VyIiBpZD0idWlfdHBpY2tlcl9ob3VyXycgKyBkcF9pZCArICciJyArCgkJCQkJCQkoKG8uc2hvd0hvdXIpID8gJycgOiBub0Rpc3BsYXkpICsgJz48L2RkPic7CgoJCQlodG1sICs9ICc8ZHQgY2xhc3M9InVpX3RwaWNrZXJfbWludXRlX2xhYmVsIiBpZD0idWlfdHBpY2tlcl9taW51dGVfbGFiZWxfJyArIGRwX2lkICsgJyInICsKCQkJCQkoKG8uc2hvd01pbnV0ZSkgPyAnJyA6IG5vRGlzcGxheSkgKyAnPicgKyBvLm1pbnV0ZVRleHQgKyAnPC9kdD4nOwoKCQkJaWYgKG8uc2hvd01pbnV0ZSAmJiBvLm1pbnV0ZUdyaWQgPiAwKSB7CgkJCQlodG1sICs9ICc8ZGQgY2xhc3M9InVpX3RwaWNrZXJfbWludXRlIHVpX3RwaWNrZXJfbWludXRlXycgKyBvLm1pbnV0ZUdyaWQgKyAnIj4nICsKCQkJCQkJJzxkaXYgaWQ9InVpX3RwaWNrZXJfbWludXRlXycgKyBkcF9pZCArICciJyArCgkJCQkJCSgoby5zaG93TWludXRlKSA/ICcnIDogbm9EaXNwbGF5KSArICc+PC9kaXY+JyArCgkJCQkJCSc8ZGl2IHN0eWxlPSJwYWRkaW5nLWxlZnQ6IDFweCI+PHRhYmxlPjx0cj4nOwoKCQkJCWZvciAodmFyIG0gPSBvLm1pbnV0ZU1pbjsgbSA8IG1pbk1heDsgbSArPSBvLm1pbnV0ZUdyaWQpIHsKCQkJCQltaW51dGVHcmlkU2l6ZSsrOwoJCQkJCWh0bWwgKz0gJzx0ZD4nICsgKChtIDwgMTApID8gJzAnIDogJycpICsgbSArICc8L3RkPic7CgkJCQl9CgoJCQkJaHRtbCArPSAnPC90cj48L3RhYmxlPjwvZGl2PicgKwoJCQkJCQknPC9kZD4nOwoJCQl9IGVsc2UgaHRtbCArPSAnPGRkIGNsYXNzPSJ1aV90cGlja2VyX21pbnV0ZSIgaWQ9InVpX3RwaWNrZXJfbWludXRlXycgKyBkcF9pZCArICciJyArCgkJCQkJCQkoKG8uc2hvd01pbnV0ZSkgPyAnJyA6IG5vRGlzcGxheSkgKyAnPjwvZGQ+JzsKCgkJCWh0bWwgKz0gJzxkdCBjbGFzcz0idWlfdHBpY2tlcl9zZWNvbmRfbGFiZWwiIGlkPSJ1aV90cGlja2VyX3NlY29uZF9sYWJlbF8nICsgZHBfaWQgKyAnIicgKwoJCQkJCSgoby5zaG93U2Vjb25kKSA/ICcnIDogbm9EaXNwbGF5KSArICc+JyArIG8uc2Vjb25kVGV4dCArICc8L2R0Pic7CgoJCQlpZiAoby5zaG93U2Vjb25kICYmIG8uc2Vjb25kR3JpZCA+IDApIHsKCQkJCWh0bWwgKz0gJzxkZCBjbGFzcz0idWlfdHBpY2tlcl9zZWNvbmQgdWlfdHBpY2tlcl9zZWNvbmRfJyArIG8uc2Vjb25kR3JpZCArICciPicgKwoJCQkJCQknPGRpdiBpZD0idWlfdHBpY2tlcl9zZWNvbmRfJyArIGRwX2lkICsgJyInICsKCQkJCQkJKChvLnNob3dTZWNvbmQpID8gJycgOiBub0Rpc3BsYXkpICsgJz48L2Rpdj4nICsKCQkJCQkJJzxkaXYgc3R5bGU9InBhZGRpbmctbGVmdDogMXB4Ij48dGFibGU+PHRyPic7CgoJCQkJZm9yICh2YXIgcyA9IG8uc2Vjb25kTWluOyBzIDwgc2VjTWF4OyBzICs9IG8uc2Vjb25kR3JpZCkgewoJCQkJCXNlY29uZEdyaWRTaXplKys7CgkJCQkJaHRtbCArPSAnPHRkPicgKyAoKHMgPCAxMCkgPyAnMCcgOiAnJykgKyBzICsgJzwvdGQ+JzsKCQkJCX0KCgkJCQlodG1sICs9ICc8L3RyPjwvdGFibGU+PC9kaXY+JyArCgkJCQkJCSc8L2RkPic7CgkJCX0gZWxzZSBodG1sICs9ICc8ZGQgY2xhc3M9InVpX3RwaWNrZXJfc2Vjb25kIiBpZD0idWlfdHBpY2tlcl9zZWNvbmRfJyArIGRwX2lkICsgJyInCSsKCQkJCQkJCSgoby5zaG93U2Vjb25kKSA/ICcnIDogbm9EaXNwbGF5KSArICc+PC9kZD4nOwoJCQkJCQkJCgkJCWh0bWwgKz0gJzxkdCBjbGFzcz0idWlfdHBpY2tlcl90aW1lem9uZV9sYWJlbCIgaWQ9InVpX3RwaWNrZXJfdGltZXpvbmVfbGFiZWxfJyArIGRwX2lkICsgJyInICsKCQkJCQkoKG8uc2hvd1RpbWV6b25lKSA/ICcnIDogbm9EaXNwbGF5KSArICc+JyArIG8udGltZXpvbmVUZXh0ICsgJzwvZHQ+JzsKCQkJaHRtbCArPSAnPGRkIGNsYXNzPSJ1aV90cGlja2VyX3RpbWV6b25lIiBpZD0idWlfdHBpY2tlcl90aW1lem9uZV8nICsgZHBfaWQgKyAnIicJKwoJCQkJCQkJKChvLnNob3dUaW1lem9uZSkgPyAnJyA6IG5vRGlzcGxheSkgKyAnPjwvZGQ+JzsKCgkJCWh0bWwgKz0gJzwvZGw+PC9kaXY+JzsKCQkJJHRwID0gJChodG1sKTsKCgkJCQkvLyBpZiB3ZSBvbmx5IHdhbnQgdGltZSBwaWNrZXIuLi4KCQkJaWYgKG8udGltZU9ubHkgPT09IHRydWUpIHsKCQkJCSR0cC5wcmVwZW5kKAoJCQkJCSc8ZGl2IGNsYXNzPSJ1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItYWxsIj4nICsKCQkJCQkJJzxkaXYgY2xhc3M9InVpLWRhdGVwaWNrZXItdGl0bGUiPicgKyBvLnRpbWVPbmx5VGl0bGUgKyAnPC9kaXY+JyArCgkJCQkJJzwvZGl2PicpOwoJCQkJJGRwLmZpbmQoJy51aS1kYXRlcGlja2VyLWhlYWRlciwgLnVpLWRhdGVwaWNrZXItY2FsZW5kYXInKS5oaWRlKCk7CgkJCX0KCgkJCXRoaXMuaG91cl9zbGlkZXIgPSAkdHAuZmluZCgnI3VpX3RwaWNrZXJfaG91cl8nKyBkcF9pZCkuc2xpZGVyKHsKCQkJCW9yaWVudGF0aW9uOiAiaG9yaXpvbnRhbCIsCgkJCQl2YWx1ZTogdGhpcy5ob3VyLAoJCQkJbWluOiBvLmhvdXJNaW4sCgkJCQltYXg6IGhvdXJNYXgsCgkJCQlzdGVwOiBvLnN0ZXBIb3VyLAoJCQkJc2xpZGU6IGZ1bmN0aW9uKGV2ZW50LCB1aSkgewoJCQkJCXRwX2luc3QuaG91cl9zbGlkZXIuc2xpZGVyKCAib3B0aW9uIiwgInZhbHVlIiwgdWkudmFsdWUpOwoJCQkJCXRwX2luc3QuX29uVGltZUNoYW5nZSgpOwoJCQkJfQoJCQl9KTsKCgkJCS8vIFVwZGF0ZWQgYnkgUGV0ZXIgTWVkZWlyb3M6CgkJCS8vIC0gUGFzcyBpbiBFdmVudCBhbmQgVUkgaW5zdGFuY2UgaW50byBzbGlkZSBmdW5jdGlvbgoJCQl0aGlzLm1pbnV0ZV9zbGlkZXIgPSAkdHAuZmluZCgnI3VpX3RwaWNrZXJfbWludXRlXycrIGRwX2lkKS5zbGlkZXIoewoJCQkJb3JpZW50YXRpb246ICJob3Jpem9udGFsIiwKCQkJCXZhbHVlOiB0aGlzLm1pbnV0ZSwKCQkJCW1pbjogby5taW51dGVNaW4sCgkJCQltYXg6IG1pbk1heCwKCQkJCXN0ZXA6IG8uc3RlcE1pbnV0ZSwKCQkJCXNsaWRlOiBmdW5jdGlvbihldmVudCwgdWkpIHsKCQkJCQkvLyB1cGRhdGUgdGhlIGdsb2JhbCBtaW51dGUgc2xpZGVyIGluc3RhbmNlIHZhbHVlIHdpdGggdGhlIGN1cnJlbnQgc2xpZGVyIHZhbHVlCgkJCQkJdHBfaW5zdC5taW51dGVfc2xpZGVyLnNsaWRlciggIm9wdGlvbiIsICJ2YWx1ZSIsIHVpLnZhbHVlKTsKCQkJCQl0cF9pbnN0Ll9vblRpbWVDaGFuZ2UoKTsKCQkJCX0KCQkJfSk7CgoJCQl0aGlzLnNlY29uZF9zbGlkZXIgPSAkdHAuZmluZCgnI3VpX3RwaWNrZXJfc2Vjb25kXycrIGRwX2lkKS5zbGlkZXIoewoJCQkJb3JpZW50YXRpb246ICJob3Jpem9udGFsIiwKCQkJCXZhbHVlOiB0aGlzLnNlY29uZCwKCQkJCW1pbjogby5zZWNvbmRNaW4sCgkJCQltYXg6IHNlY01heCwKCQkJCXN0ZXA6IG8uc3RlcFNlY29uZCwKCQkJCXNsaWRlOiBmdW5jdGlvbihldmVudCwgdWkpIHsKCQkJCQl0cF9pbnN0LnNlY29uZF9zbGlkZXIuc2xpZGVyKCAib3B0aW9uIiwgInZhbHVlIiwgdWkudmFsdWUpOwoJCQkJCXRwX2luc3QuX29uVGltZUNoYW5nZSgpOwoJCQkJfQoJCQl9KTsKCQkJCgkJCQoJCQl0aGlzLnRpbWV6b25lX3NlbGVjdCA9ICR0cC5maW5kKCcjdWlfdHBpY2tlcl90aW1lem9uZV8nKyBkcF9pZCkuYXBwZW5kKCc8c2VsZWN0Pjwvc2VsZWN0PicpLmZpbmQoInNlbGVjdCIpOwoJCQkkLmZuLmFwcGVuZC5hcHBseSh0aGlzLnRpbWV6b25lX3NlbGVjdCwKCQkJCSQubWFwKG8udGltZXpvbmVMaXN0LCBmdW5jdGlvbih2YWwsIGlkeCkgewoJCQkJCXJldHVybiAkKCI8b3B0aW9uIC8+IikKCQkJCQkJLnZhbCh0eXBlb2YgdmFsID09ICJvYmplY3QiID8gdmFsLnZhbHVlIDogdmFsKQoJCQkJCQkudGV4dCh0eXBlb2YgdmFsID09ICJvYmplY3QiID8gdmFsLmxhYmVsIDogdmFsKTsKCQkJCX0pCgkJCSk7CgkJCXRoaXMudGltZXpvbmVfc2VsZWN0LnZhbCgodHlwZW9mIHRoaXMudGltZXpvbmUgIT0gInVuZGVmaW5lZCIgJiYgdGhpcy50aW1lem9uZSAhPSBudWxsICYmIHRoaXMudGltZXpvbmUgIT0gIiIpID8gdGhpcy50aW1lem9uZSA6IG8udGltZXpvbmUpOwoJCQl0aGlzLnRpbWV6b25lX3NlbGVjdC5jaGFuZ2UoZnVuY3Rpb24oKSB7CgkJCQl0cF9pbnN0Ll9vblRpbWVDaGFuZ2UoKTsKCQkJfSk7CgoJCQkvLyBBZGQgZ3JpZCBmdW5jdGlvbmFsaXR5CgkJCWlmIChvLnNob3dIb3VyICYmIG8uaG91ckdyaWQgPiAwKSB7CgkJCQlzaXplID0gMTAwICogaG91ckdyaWRTaXplICogby5ob3VyR3JpZCAvIChob3VyTWF4IC0gby5ob3VyTWluKTsKCgkJCQkkdHAuZmluZCgiLnVpX3RwaWNrZXJfaG91ciB0YWJsZSIpLmNzcyh7CgkJCQkJd2lkdGg6IHNpemUgKyAiJSIsCgkJCQkJbWFyZ2luTGVmdDogKHNpemUgLyAoLTIgKiBob3VyR3JpZFNpemUpKSArICIlIiwKCQkJCQlib3JkZXJDb2xsYXBzZTogJ2NvbGxhcHNlJwoJCQkJfSkuZmluZCgidGQiKS5lYWNoKCBmdW5jdGlvbihpbmRleCkgewoJCQkJCSQodGhpcykuY2xpY2soZnVuY3Rpb24oKSB7CgkJCQkJCXZhciBoID0gJCh0aGlzKS5odG1sKCk7CgkJCQkJCWlmKG8uYW1wbSkJewoJCQkJCQkJdmFyIGFwID0gaC5zdWJzdHJpbmcoMikudG9Mb3dlckNhc2UoKSwKCQkJCQkJCQlhcGggPSBwYXJzZUludChoLnN1YnN0cmluZygwLDIpKTsKCQkJCQkJCWlmIChhcCA9PSAnYScpIHsKCQkJCQkJCQlpZiAoYXBoID09IDEyKSBoID0gMDsKCQkJCQkJCQllbHNlIGggPSBhcGg7CgkJCQkJCQl9IGVsc2UgaWYgKGFwaCA9PSAxMikgaCA9IDEyOwoJCQkJCQkJZWxzZSBoID0gYXBoICsgMTI7CgkJCQkJCX0KCQkJCQkJdHBfaW5zdC5ob3VyX3NsaWRlci5zbGlkZXIoIm9wdGlvbiIsICJ2YWx1ZSIsIGgpOwoJCQkJCQl0cF9pbnN0Ll9vblRpbWVDaGFuZ2UoKTsKCQkJCQkJdHBfaW5zdC5fb25TZWxlY3RIYW5kbGVyKCk7CgkJCQkJfSkuY3NzKHsKCQkJCQkJY3Vyc29yOiAncG9pbnRlcicsCgkJCQkJCXdpZHRoOiAoMTAwIC8gaG91ckdyaWRTaXplKSArICclJywKCQkJCQkJdGV4dEFsaWduOiAnY2VudGVyJywKCQkJCQkJb3ZlcmZsb3c6ICdoaWRkZW4nCgkJCQkJfSk7CgkJCQl9KTsKCQkJfQoKCQkJaWYgKG8uc2hvd01pbnV0ZSAmJiBvLm1pbnV0ZUdyaWQgPiAwKSB7CgkJCQlzaXplID0gMTAwICogbWludXRlR3JpZFNpemUgKiBvLm1pbnV0ZUdyaWQgLyAobWluTWF4IC0gby5taW51dGVNaW4pOwoJCQkJJHRwLmZpbmQoIi51aV90cGlja2VyX21pbnV0ZSB0YWJsZSIpLmNzcyh7CgkJCQkJd2lkdGg6IHNpemUgKyAiJSIsCgkJCQkJbWFyZ2luTGVmdDogKHNpemUgLyAoLTIgKiBtaW51dGVHcmlkU2l6ZSkpICsgIiUiLAoJCQkJCWJvcmRlckNvbGxhcHNlOiAnY29sbGFwc2UnCgkJCQl9KS5maW5kKCJ0ZCIpLmVhY2goZnVuY3Rpb24oaW5kZXgpIHsKCQkJCQkkKHRoaXMpLmNsaWNrKGZ1bmN0aW9uKCkgewoJCQkJCQl0cF9pbnN0Lm1pbnV0ZV9zbGlkZXIuc2xpZGVyKCJvcHRpb24iLCAidmFsdWUiLCAkKHRoaXMpLmh0bWwoKSk7CgkJCQkJCXRwX2luc3QuX29uVGltZUNoYW5nZSgpOwoJCQkJCQl0cF9pbnN0Ll9vblNlbGVjdEhhbmRsZXIoKTsKCQkJCQl9KS5jc3MoewoJCQkJCQljdXJzb3I6ICdwb2ludGVyJywKCQkJCQkJd2lkdGg6ICgxMDAgLyBtaW51dGVHcmlkU2l6ZSkgKyAnJScsCgkJCQkJCXRleHRBbGlnbjogJ2NlbnRlcicsCgkJCQkJCW92ZXJmbG93OiAnaGlkZGVuJwoJCQkJCX0pOwoJCQkJfSk7CgkJCX0KCgkJCWlmIChvLnNob3dTZWNvbmQgJiYgby5zZWNvbmRHcmlkID4gMCkgewoJCQkJJHRwLmZpbmQoIi51aV90cGlja2VyX3NlY29uZCB0YWJsZSIpLmNzcyh7CgkJCQkJd2lkdGg6IHNpemUgKyAiJSIsCgkJCQkJbWFyZ2luTGVmdDogKHNpemUgLyAoLTIgKiBzZWNvbmRHcmlkU2l6ZSkpICsgIiUiLAoJCQkJCWJvcmRlckNvbGxhcHNlOiAnY29sbGFwc2UnCgkJCQl9KS5maW5kKCJ0ZCIpLmVhY2goZnVuY3Rpb24oaW5kZXgpIHsKCQkJCQkkKHRoaXMpLmNsaWNrKGZ1bmN0aW9uKCkgewoJCQkJCQl0cF9pbnN0LnNlY29uZF9zbGlkZXIuc2xpZGVyKCJvcHRpb24iLCAidmFsdWUiLCAkKHRoaXMpLmh0bWwoKSk7CgkJCQkJCXRwX2luc3QuX29uVGltZUNoYW5nZSgpOwoJCQkJCQl0cF9pbnN0Ll9vblNlbGVjdEhhbmRsZXIoKTsKCQkJCQl9KS5jc3MoewoJCQkJCQljdXJzb3I6ICdwb2ludGVyJywKCQkJCQkJd2lkdGg6ICgxMDAgLyBzZWNvbmRHcmlkU2l6ZSkgKyAnJScsCgkJCQkJCXRleHRBbGlnbjogJ2NlbnRlcicsCgkJCQkJCW92ZXJmbG93OiAnaGlkZGVuJwoJCQkJCX0pOwoJCQkJfSk7CgkJCX0KCgkJCXZhciAkYnV0dG9uUGFuZWwgPSAkZHAuZmluZCgnLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZScpOwoJCQlpZiAoJGJ1dHRvblBhbmVsLmxlbmd0aCkgJGJ1dHRvblBhbmVsLmJlZm9yZSgkdHApOwoJCQllbHNlICRkcC5hcHBlbmQoJHRwKTsKCgkJCXRoaXMuJHRpbWVPYmogPSAkdHAuZmluZCgnI3VpX3RwaWNrZXJfdGltZV8nKyBkcF9pZCk7CgoJCQlpZiAodGhpcy5pbnN0ICE9PSBudWxsKSB7CgkJCQl2YXIgdGltZURlZmluZWQgPSB0aGlzLnRpbWVEZWZpbmVkOwoJCQkJdGhpcy5fb25UaW1lQ2hhbmdlKCk7CgkJCQl0aGlzLnRpbWVEZWZpbmVkID0gdGltZURlZmluZWQ7CgkJCX0KCgkJCS8vRW11bGF0ZSBkYXRlcGlja2VyIG9uU2VsZWN0IGJlaGF2aW9yLiBDYWxsIG9uIHNsaWRlc3RvcC4KCQkJdmFyIG9uU2VsZWN0RGVsZWdhdGUgPSBmdW5jdGlvbigpIHsKCQkJCXRwX2luc3QuX29uU2VsZWN0SGFuZGxlcigpOwoJCQl9OwoJCQl0aGlzLmhvdXJfc2xpZGVyLmJpbmQoJ3NsaWRlc3RvcCcsb25TZWxlY3REZWxlZ2F0ZSk7CgkJCXRoaXMubWludXRlX3NsaWRlci5iaW5kKCdzbGlkZXN0b3AnLG9uU2VsZWN0RGVsZWdhdGUpOwoJCQl0aGlzLnNlY29uZF9zbGlkZXIuYmluZCgnc2xpZGVzdG9wJyxvblNlbGVjdERlbGVnYXRlKTsKCQl9Cgl9LAoKCS8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgkvLyBUaGlzIGZ1bmN0aW9uIHRyaWVzIHRvIGxpbWl0IHRoZSBhYmlsaXR5IHRvIGdvIG91dHNpZGUgdGhlIAoJLy8gbWluL21heCBkYXRlIHJhbmdlCgkvLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoJX2xpbWl0TWluTWF4RGF0ZVRpbWU6IGZ1bmN0aW9uKGRwX2luc3QsIGFkanVzdFNsaWRlcnMpewoJCXZhciBvID0gdGhpcy5fZGVmYXVsdHMsCgkJCWRwX2RhdGUgPSBuZXcgRGF0ZShkcF9pbnN0LnNlbGVjdGVkWWVhciwgZHBfaW5zdC5zZWxlY3RlZE1vbnRoLCBkcF9pbnN0LnNlbGVjdGVkRGF5KTsKCgkJaWYoIXRoaXMuX2RlZmF1bHRzLnNob3dUaW1lcGlja2VyKSByZXR1cm47IC8vIE5vIHRpbWUgc28gbm90aGluZyB0byBjaGVjayBoZXJlCgoJCWlmKHRoaXMuX2RlZmF1bHRzLm1pbkRhdGVUaW1lICE9PSBudWxsICYmIGRwX2RhdGUpewoJCQl2YXIgbWluRGF0ZVRpbWUgPSB0aGlzLl9kZWZhdWx0cy5taW5EYXRlVGltZSwKCQkJCW1pbkRhdGVUaW1lRGF0ZSA9IG5ldyBEYXRlKG1pbkRhdGVUaW1lLmdldEZ1bGxZZWFyKCksIG1pbkRhdGVUaW1lLmdldE1vbnRoKCksIG1pbkRhdGVUaW1lLmdldERhdGUoKSwgMCwgMCwgMCwgMCk7CgoJCQlpZih0aGlzLmhvdXJNaW5PcmlnaW5hbCA9PT0gbnVsbCB8fCB0aGlzLm1pbnV0ZU1pbk9yaWdpbmFsID09PSBudWxsIHx8IHRoaXMuc2Vjb25kTWluT3JpZ2luYWwgPT09IG51bGwpewoJCQkJdGhpcy5ob3VyTWluT3JpZ2luYWwgPSBvLmhvdXJNaW47CgkJCQl0aGlzLm1pbnV0ZU1pbk9yaWdpbmFsID0gby5taW51dGVNaW47CgkJCQl0aGlzLnNlY29uZE1pbk9yaWdpbmFsID0gby5zZWNvbmRNaW47CgkJCX0KCgkJCWlmKGRwX2luc3Quc2V0dGluZ3MudGltZU9ubHkgfHwgbWluRGF0ZVRpbWVEYXRlLmdldFRpbWUoKSA9PSBkcF9kYXRlLmdldFRpbWUoKSkgewoJCQkJdGhpcy5fZGVmYXVsdHMuaG91ck1pbiA9IG1pbkRhdGVUaW1lLmdldEhvdXJzKCk7CgkJCQlpZiAodGhpcy5ob3VyIDw9IHRoaXMuX2RlZmF1bHRzLmhvdXJNaW4pIHsKCQkJCQl0aGlzLmhvdXIgPSB0aGlzLl9kZWZhdWx0cy5ob3VyTWluOwoJCQkJCXRoaXMuX2RlZmF1bHRzLm1pbnV0ZU1pbiA9IG1pbkRhdGVUaW1lLmdldE1pbnV0ZXMoKTsKCQkJCQlpZiAodGhpcy5taW51dGUgPD0gdGhpcy5fZGVmYXVsdHMubWludXRlTWluKSB7CgkJCQkJCXRoaXMubWludXRlID0gdGhpcy5fZGVmYXVsdHMubWludXRlTWluOwoJCQkJCQl0aGlzLl9kZWZhdWx0cy5zZWNvbmRNaW4gPSBtaW5EYXRlVGltZS5nZXRTZWNvbmRzKCk7CgkJCQkJfSBlbHNlIHsKCQkJCQkJaWYodGhpcy5zZWNvbmQgPCB0aGlzLl9kZWZhdWx0cy5zZWNvbmRNaW4pIHRoaXMuc2Vjb25kID0gdGhpcy5fZGVmYXVsdHMuc2Vjb25kTWluOwoJCQkJCQl0aGlzLl9kZWZhdWx0cy5zZWNvbmRNaW4gPSB0aGlzLnNlY29uZE1pbk9yaWdpbmFsOwoJCQkJCX0KCQkJCX0gZWxzZSB7CgkJCQkJdGhpcy5fZGVmYXVsdHMubWludXRlTWluID0gdGhpcy5taW51dGVNaW5PcmlnaW5hbDsKCQkJCQl0aGlzLl9kZWZhdWx0cy5zZWNvbmRNaW4gPSB0aGlzLnNlY29uZE1pbk9yaWdpbmFsOwoJCQkJfQoJCQl9ZWxzZXsKCQkJCXRoaXMuX2RlZmF1bHRzLmhvdXJNaW4gPSB0aGlzLmhvdXJNaW5PcmlnaW5hbDsKCQkJCXRoaXMuX2RlZmF1bHRzLm1pbnV0ZU1pbiA9IHRoaXMubWludXRlTWluT3JpZ2luYWw7CgkJCQl0aGlzLl9kZWZhdWx0cy5zZWNvbmRNaW4gPSB0aGlzLnNlY29uZE1pbk9yaWdpbmFsOwoJCQl9CgkJfQoKCQlpZih0aGlzLl9kZWZhdWx0cy5tYXhEYXRlVGltZSAhPT0gbnVsbCAmJiBkcF9kYXRlKXsKCQkJdmFyIG1heERhdGVUaW1lID0gdGhpcy5fZGVmYXVsdHMubWF4RGF0ZVRpbWUsCgkJCQltYXhEYXRlVGltZURhdGUgPSBuZXcgRGF0ZShtYXhEYXRlVGltZS5nZXRGdWxsWWVhcigpLCBtYXhEYXRlVGltZS5nZXRNb250aCgpLCBtYXhEYXRlVGltZS5nZXREYXRlKCksIDAsIDAsIDAsIDApOwoJCgkJCWlmKHRoaXMuaG91ck1heE9yaWdpbmFsID09PSBudWxsIHx8IHRoaXMubWludXRlTWF4T3JpZ2luYWwgPT09IG51bGwgfHwgdGhpcy5zZWNvbmRNYXhPcmlnaW5hbCA9PT0gbnVsbCl7CgkJCQl0aGlzLmhvdXJNYXhPcmlnaW5hbCA9IG8uaG91ck1heDsKCQkJCXRoaXMubWludXRlTWF4T3JpZ2luYWwgPSBvLm1pbnV0ZU1heDsKCQkJCXRoaXMuc2Vjb25kTWF4T3JpZ2luYWwgPSBvLnNlY29uZE1heDsKCQkJfQoKCQkJaWYoZHBfaW5zdC5zZXR0aW5ncy50aW1lT25seSB8fCBtYXhEYXRlVGltZURhdGUuZ2V0VGltZSgpID09IGRwX2RhdGUuZ2V0VGltZSgpKXsKCQkJCXRoaXMuX2RlZmF1bHRzLmhvdXJNYXggPSBtYXhEYXRlVGltZS5nZXRIb3VycygpOwoJCQkJaWYgKHRoaXMuaG91ciA+PSB0aGlzLl9kZWZhdWx0cy5ob3VyTWF4KSB7CgkJCQkJdGhpcy5ob3VyID0gdGhpcy5fZGVmYXVsdHMuaG91ck1heDsKCQkJCQl0aGlzLl9kZWZhdWx0cy5taW51dGVNYXggPSBtYXhEYXRlVGltZS5nZXRNaW51dGVzKCk7CgkJCQkJaWYgKHRoaXMubWludXRlID49IHRoaXMuX2RlZmF1bHRzLm1pbnV0ZU1heCkgewoJCQkJCQl0aGlzLm1pbnV0ZSA9IHRoaXMuX2RlZmF1bHRzLm1pbnV0ZU1heDsKCQkJCQkJdGhpcy5fZGVmYXVsdHMuc2Vjb25kTWluID0gbWF4RGF0ZVRpbWUuZ2V0U2Vjb25kcygpOwoJCQkJCX0gZWxzZSB7CgkJCQkJCWlmKHRoaXMuc2Vjb25kID4gdGhpcy5fZGVmYXVsdHMuc2Vjb25kTWF4KSB0aGlzLnNlY29uZCA9IHRoaXMuX2RlZmF1bHRzLnNlY29uZE1heDsKCQkJCQkJdGhpcy5fZGVmYXVsdHMuc2Vjb25kTWF4ID0gdGhpcy5zZWNvbmRNYXhPcmlnaW5hbDsKCQkJCQl9CgkJCQl9IGVsc2UgewoJCQkJCXRoaXMuX2RlZmF1bHRzLm1pbnV0ZU1heCA9IHRoaXMubWludXRlTWF4T3JpZ2luYWw7CgkJCQkJdGhpcy5fZGVmYXVsdHMuc2Vjb25kTWF4ID0gdGhpcy5zZWNvbmRNYXhPcmlnaW5hbDsKCQkJCX0KCQkJfWVsc2V7CgkJCQl0aGlzLl9kZWZhdWx0cy5ob3VyTWF4ID0gdGhpcy5ob3VyTWF4T3JpZ2luYWw7CgkJCQl0aGlzLl9kZWZhdWx0cy5taW51dGVNYXggPSB0aGlzLm1pbnV0ZU1heE9yaWdpbmFsOwoJCQkJdGhpcy5fZGVmYXVsdHMuc2Vjb25kTWF4ID0gdGhpcy5zZWNvbmRNYXhPcmlnaW5hbDsKCQkJfQoJCX0KCgkJaWYoYWRqdXN0U2xpZGVycyAhPT0gdW5kZWZpbmVkICYmIGFkanVzdFNsaWRlcnMgPT09IHRydWUpewoJCQl0aGlzLmhvdXJfc2xpZGVyLnNsaWRlcigib3B0aW9uIiwgeyBtaW46IHRoaXMuX2RlZmF1bHRzLmhvdXJNaW4sIG1heDogdGhpcy5fZGVmYXVsdHMuaG91ck1heCB9KS5zbGlkZXIoJ3ZhbHVlJywgdGhpcy5ob3VyKTsKCQkJdGhpcy5taW51dGVfc2xpZGVyLnNsaWRlcigib3B0aW9uIiwgeyBtaW46IHRoaXMuX2RlZmF1bHRzLm1pbnV0ZU1pbiwgbWF4OiB0aGlzLl9kZWZhdWx0cy5taW51dGVNYXggfSkuc2xpZGVyKCd2YWx1ZScsIHRoaXMubWludXRlKTsKCQkJdGhpcy5zZWNvbmRfc2xpZGVyLnNsaWRlcigib3B0aW9uIiwgeyBtaW46IHRoaXMuX2RlZmF1bHRzLnNlY29uZE1pbiwgbWF4OiB0aGlzLl9kZWZhdWx0cy5zZWNvbmRNYXggfSkuc2xpZGVyKCd2YWx1ZScsIHRoaXMuc2Vjb25kKTsKCQl9CgoJfSwKCgkKCS8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgkvLyB3aGVuIGEgc2xpZGVyIG1vdmVzLCBzZXQgdGhlIGludGVybmFsIHRpbWUuLi4KCS8vIG9uIHRpbWUgY2hhbmdlIGlzIGFsc28gY2FsbGVkIHdoZW4gdGhlIHRpbWUgaXMgdXBkYXRlZCBpbiB0aGUgdGV4dCBmaWVsZAoJLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCV9vblRpbWVDaGFuZ2U6IGZ1bmN0aW9uKCkgewoJCXZhciBob3VyICAgPSAodGhpcy5ob3VyX3NsaWRlcikgPyB0aGlzLmhvdXJfc2xpZGVyLnNsaWRlcigndmFsdWUnKSA6IGZhbHNlLAoJCQltaW51dGUgPSAodGhpcy5taW51dGVfc2xpZGVyKSA/IHRoaXMubWludXRlX3NsaWRlci5zbGlkZXIoJ3ZhbHVlJykgOiBmYWxzZSwKCQkJc2Vjb25kID0gKHRoaXMuc2Vjb25kX3NsaWRlcikgPyB0aGlzLnNlY29uZF9zbGlkZXIuc2xpZGVyKCd2YWx1ZScpIDogZmFsc2UsCgkJCXRpbWV6b25lID0gKHRoaXMudGltZXpvbmVfc2VsZWN0KSA/IHRoaXMudGltZXpvbmVfc2VsZWN0LnZhbCgpIDogZmFsc2U7CgkJCgkJaWYgKGhvdXIgIT09IGZhbHNlKSBob3VyID0gcGFyc2VJbnQoaG91ciwxMCk7CgkJaWYgKG1pbnV0ZSAhPT0gZmFsc2UpIG1pbnV0ZSA9IHBhcnNlSW50KG1pbnV0ZSwxMCk7CgkJaWYgKHNlY29uZCAhPT0gZmFsc2UpIHNlY29uZCA9IHBhcnNlSW50KHNlY29uZCwxMCk7CgoJCXZhciBhbXBtID0gKGhvdXIgPCAxMikgPyAnQU0nIDogJ1BNJzsKCQkJCgkJLy8gSWYgdGhlIHVwZGF0ZSB3YXMgZG9uZSBpbiB0aGUgaW5wdXQgZmllbGQsIHRoZSBpbnB1dCBmaWVsZCBzaG91bGQgbm90IGJlIHVwZGF0ZWQuCgkJLy8gSWYgdGhlIHVwZGF0ZSB3YXMgZG9uZSB1c2luZyB0aGUgc2xpZGVycywgdXBkYXRlIHRoZSBpbnB1dCBmaWVsZC4KCQl2YXIgaGFzQ2hhbmdlZCA9IChob3VyICE9IHRoaXMuaG91ciB8fCBtaW51dGUgIT0gdGhpcy5taW51dGUgfHwgc2Vjb25kICE9IHRoaXMuc2Vjb25kIHx8ICh0aGlzLmFtcG0ubGVuZ3RoID4gMCAmJiB0aGlzLmFtcG0gIT0gYW1wbSkgfHwgdGltZXpvbmUgIT0gdGhpcy50aW1lem9uZSk7CgkJCgkJaWYgKGhhc0NoYW5nZWQpIHsKCgkJCWlmIChob3VyICE9PSBmYWxzZSl0aGlzLmhvdXIgPSBob3VyOwoJCQlpZiAobWludXRlICE9PSBmYWxzZSkgdGhpcy5taW51dGUgPSBtaW51dGU7CgkJCWlmIChzZWNvbmQgIT09IGZhbHNlKSB0aGlzLnNlY29uZCA9IHNlY29uZDsKCQkJaWYgKHRpbWV6b25lICE9PSBmYWxzZSkgdGhpcy50aW1lem9uZSA9IHRpbWV6b25lOwoJCQl0aGlzLl9saW1pdE1pbk1heERhdGVUaW1lKHRoaXMuaW5zdCwgdHJ1ZSk7CgkJfQoJCWlmICh0aGlzLl9kZWZhdWx0cy5hbXBtKSB0aGlzLmFtcG0gPSBhbXBtOwoJCQoJCXRoaXMuX2Zvcm1hdFRpbWUoKTsKCQlpZiAodGhpcy4kdGltZU9iaikgdGhpcy4kdGltZU9iai50ZXh0KHRoaXMuZm9ybWF0dGVkVGltZSk7CgkJdGhpcy50aW1lRGVmaW5lZCA9IHRydWU7CgkJaWYgKGhhc0NoYW5nZWQpIHRoaXMuX3VwZGF0ZURhdGVUaW1lKCk7Cgl9LAogICAgCgkvLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoJLy8gY2FsbCBjdXN0b20gb25TZWxlY3QuIAoJLy8gYmluZCB0byBzbGlkZXJzIHNsaWRlc3RvcCwgYW5kIGdyaWQgY2xpY2suCgkvLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoJX29uU2VsZWN0SGFuZGxlcjogZnVuY3Rpb24oKSB7CgkJdmFyIG9uU2VsZWN0ID0gdGhpcy5fZGVmYXVsdHNbJ29uU2VsZWN0J107CgkJdmFyIGlucHV0RWwgPSB0aGlzLiRpbnB1dCA/IHRoaXMuJGlucHV0WzBdIDogbnVsbDsKCQlpZiAob25TZWxlY3QgJiYgaW5wdXRFbCkgewoJCQlvblNlbGVjdC5hcHBseShpbnB1dEVsLCBbdGhpcy5mb3JtYXR0ZWREYXRlVGltZSwgdGhpc10pOwoJCX0KCX0sCgoJLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCS8vIGZvcm1hdCB0aGUgdGltZSBhbGwgcHJldHR5Li4uCgkvLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoJX2Zvcm1hdFRpbWU6IGZ1bmN0aW9uKHRpbWUsIGZvcm1hdCwgYW1wbSkgewoJCWlmIChhbXBtID09IHVuZGVmaW5lZCkgYW1wbSA9IHRoaXMuX2RlZmF1bHRzLmFtcG07CgkJdGltZSA9IHRpbWUgfHwgeyBob3VyOiB0aGlzLmhvdXIsIG1pbnV0ZTogdGhpcy5taW51dGUsIHNlY29uZDogdGhpcy5zZWNvbmQsIGFtcG06IHRoaXMuYW1wbSwgdGltZXpvbmU6IHRoaXMudGltZXpvbmUgfTsKCQl2YXIgdG1wdGltZSA9IGZvcm1hdCB8fCB0aGlzLl9kZWZhdWx0cy50aW1lRm9ybWF0LnRvU3RyaW5nKCk7CgoJCWlmIChhbXBtKSB7CgkJCXZhciBob3VyMTIgPSAoKHRpbWUuYW1wbSA9PSAnQU0nKSA/ICh0aW1lLmhvdXIpIDogKHRpbWUuaG91ciAlIDEyKSk7CgkJCWhvdXIxMiA9IChOdW1iZXIoaG91cjEyKSA9PT0gMCkgPyAxMiA6IGhvdXIxMjsKCQkJdG1wdGltZSA9IHRtcHRpbWUudG9TdHJpbmcoKQoJCQkJLnJlcGxhY2UoL2hoL2csICgoaG91cjEyIDwgMTApID8gJzAnIDogJycpICsgaG91cjEyKQoJCQkJLnJlcGxhY2UoL2gvZywgaG91cjEyKQoJCQkJLnJlcGxhY2UoL21tL2csICgodGltZS5taW51dGUgPCAxMCkgPyAnMCcgOiAnJykgKyB0aW1lLm1pbnV0ZSkKCQkJCS5yZXBsYWNlKC9tL2csIHRpbWUubWludXRlKQoJCQkJLnJlcGxhY2UoL3NzL2csICgodGltZS5zZWNvbmQgPCAxMCkgPyAnMCcgOiAnJykgKyB0aW1lLnNlY29uZCkKCQkJCS5yZXBsYWNlKC9zL2csIHRpbWUuc2Vjb25kKQoJCQkJLnJlcGxhY2UoL1RUL2csIHRpbWUuYW1wbS50b1VwcGVyQ2FzZSgpKQoJCQkJLnJlcGxhY2UoL1R0L2csIHRpbWUuYW1wbS50b1VwcGVyQ2FzZSgpKQoJCQkJLnJlcGxhY2UoL3RUL2csIHRpbWUuYW1wbS50b0xvd2VyQ2FzZSgpKQoJCQkJLnJlcGxhY2UoL3R0L2csIHRpbWUuYW1wbS50b0xvd2VyQ2FzZSgpKQoJCQkJLnJlcGxhY2UoL1QvZywgdGltZS5hbXBtLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpKQoJCQkJLnJlcGxhY2UoL3QvZywgdGltZS5hbXBtLmNoYXJBdCgwKS50b0xvd2VyQ2FzZSgpKQoJCQkJLnJlcGxhY2UoL3ovZywgdGltZS50aW1lem9uZSk7CgkJfSBlbHNlIHsKCQkJdG1wdGltZSA9IHRtcHRpbWUudG9TdHJpbmcoKQoJCQkJLnJlcGxhY2UoL2hoL2csICgodGltZS5ob3VyIDwgMTApID8gJzAnIDogJycpICsgdGltZS5ob3VyKQoJCQkJLnJlcGxhY2UoL2gvZywgdGltZS5ob3VyKQoJCQkJLnJlcGxhY2UoL21tL2csICgodGltZS5taW51dGUgPCAxMCkgPyAnMCcgOiAnJykgKyB0aW1lLm1pbnV0ZSkKCQkJCS5yZXBsYWNlKC9tL2csIHRpbWUubWludXRlKQoJCQkJLnJlcGxhY2UoL3NzL2csICgodGltZS5zZWNvbmQgPCAxMCkgPyAnMCcgOiAnJykgKyB0aW1lLnNlY29uZCkKCQkJCS5yZXBsYWNlKC9zL2csIHRpbWUuc2Vjb25kKQoJCQkJLnJlcGxhY2UoL3ovZywgdGltZS50aW1lem9uZSk7CgkJCXRtcHRpbWUgPSAkLnRyaW0odG1wdGltZS5yZXBsYWNlKC90L2dpLCAnJykpOwoJCX0KCgkJaWYgKGFyZ3VtZW50cy5sZW5ndGgpIHJldHVybiB0bXB0aW1lOwoJCWVsc2UgdGhpcy5mb3JtYXR0ZWRUaW1lID0gdG1wdGltZTsKCX0sCgoJLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCS8vIHVwZGF0ZSBvdXIgaW5wdXQgd2l0aCB0aGUgbmV3IGRhdGUgdGltZS4uCgkvLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoJX3VwZGF0ZURhdGVUaW1lOiBmdW5jdGlvbihkcF9pbnN0KSB7CgkJZHBfaW5zdCA9IHRoaXMuaW5zdCB8fCBkcF9pbnN0LAoJCQlkdCA9IG5ldyBEYXRlKGRwX2luc3Quc2VsZWN0ZWRZZWFyLCBkcF9pbnN0LnNlbGVjdGVkTW9udGgsIGRwX2luc3Quc2VsZWN0ZWREYXkpLAoJCQlkYXRlRm10ID0gJC5kYXRlcGlja2VyLl9nZXQoZHBfaW5zdCwgJ2RhdGVGb3JtYXQnKSwKCQkJZm9ybWF0Q2ZnID0gJC5kYXRlcGlja2VyLl9nZXRGb3JtYXRDb25maWcoZHBfaW5zdCksCgkJCXRpbWVBdmFpbGFibGUgPSBkdCAhPT0gbnVsbCAmJiB0aGlzLnRpbWVEZWZpbmVkOwoJCXRoaXMuZm9ybWF0dGVkRGF0ZSA9ICQuZGF0ZXBpY2tlci5mb3JtYXREYXRlKGRhdGVGbXQsIChkdCA9PT0gbnVsbCA/IG5ldyBEYXRlKCkgOiBkdCksIGZvcm1hdENmZyk7CgkJdmFyIGZvcm1hdHRlZERhdGVUaW1lID0gdGhpcy5mb3JtYXR0ZWREYXRlOwoJCWlmIChkcF9pbnN0Lmxhc3RWYWwgIT09IHVuZGVmaW5lZCAmJiAoZHBfaW5zdC5sYXN0VmFsLmxlbmd0aCA+IDAgJiYgdGhpcy4kaW5wdXQudmFsKCkubGVuZ3RoID09PSAwKSkKCQkJcmV0dXJuOwoKCQlpZiAodGhpcy5fZGVmYXVsdHMudGltZU9ubHkgPT09IHRydWUpIHsKCQkJZm9ybWF0dGVkRGF0ZVRpbWUgPSB0aGlzLmZvcm1hdHRlZFRpbWU7CgkJfSBlbHNlIGlmICh0aGlzLl9kZWZhdWx0cy50aW1lT25seSAhPT0gdHJ1ZSAmJiAodGhpcy5fZGVmYXVsdHMuYWx3YXlzU2V0VGltZSB8fCB0aW1lQXZhaWxhYmxlKSkgewoJCQlmb3JtYXR0ZWREYXRlVGltZSArPSB0aGlzLl9kZWZhdWx0cy5zZXBhcmF0b3IgKyB0aGlzLmZvcm1hdHRlZFRpbWU7CgkJfQoKCQl0aGlzLmZvcm1hdHRlZERhdGVUaW1lID0gZm9ybWF0dGVkRGF0ZVRpbWU7CgoJCWlmKCF0aGlzLl9kZWZhdWx0cy5zaG93VGltZXBpY2tlcikgewoJCQl0aGlzLiRpbnB1dC52YWwodGhpcy5mb3JtYXR0ZWREYXRlKTsKCQl9IGVsc2UgaWYgKHRoaXMuJGFsdElucHV0ICYmIHRoaXMuX2RlZmF1bHRzLmFsdEZpZWxkVGltZU9ubHkgPT09IHRydWUpIHsKCQkJdGhpcy4kYWx0SW5wdXQudmFsKHRoaXMuZm9ybWF0dGVkVGltZSk7CgkJCXRoaXMuJGlucHV0LnZhbCh0aGlzLmZvcm1hdHRlZERhdGUpOwoJCX0gZWxzZSBpZih0aGlzLiRhbHRJbnB1dCkgewoJCQl0aGlzLiRhbHRJbnB1dC52YWwoZm9ybWF0dGVkRGF0ZVRpbWUpOwoJCQl0aGlzLiRpbnB1dC52YWwoZm9ybWF0dGVkRGF0ZVRpbWUpOwoJCX0gZWxzZSB7CgkJCXRoaXMuJGlucHV0LnZhbChmb3JtYXR0ZWREYXRlVGltZSk7CgkJfQoJCQoJCXRoaXMuJGlucHV0LnRyaWdnZXIoImNoYW5nZSIpOwoJfQoKfSk7CgokLmZuLmV4dGVuZCh7CgkvLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoJLy8gc2hvcnRoYW5kIGp1c3QgdG8gdXNlIHRpbWVwaWNrZXIuLgoJLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCXRpbWVwaWNrZXI6IGZ1bmN0aW9uKG8pIHsKCQlvID0gbyB8fCB7fTsKCQl2YXIgdG1wX2FyZ3MgPSBhcmd1bWVudHM7CgoJCWlmICh0eXBlb2YgbyA9PSAnb2JqZWN0JykgdG1wX2FyZ3NbMF0gPSAkLmV4dGVuZChvLCB7IHRpbWVPbmx5OiB0cnVlIH0pOwoKCQlyZXR1cm4gJCh0aGlzKS5lYWNoKGZ1bmN0aW9uKCkgewoJCQkkLmZuLmRhdGV0aW1lcGlja2VyLmFwcGx5KCQodGhpcyksIHRtcF9hcmdzKTsKCQl9KTsKCX0sCgoJLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCS8vIGV4dGVuZCB0aW1lcGlja2VyIHRvIGRhdGVwaWNrZXIKCS8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCglkYXRldGltZXBpY2tlcjogZnVuY3Rpb24obykgewoJCW8gPSBvIHx8IHt9OwoJCXZhciAkaW5wdXQgPSB0aGlzLAoJCXRtcF9hcmdzID0gYXJndW1lbnRzOwoKCQlpZiAodHlwZW9mKG8pID09ICdzdHJpbmcnKXsKCQkJaWYobyA9PSAnZ2V0RGF0ZScpIAoJCQkJcmV0dXJuICQuZm4uZGF0ZXBpY2tlci5hcHBseSgkKHRoaXNbMF0pLCB0bXBfYXJncyk7CgkJCWVsc2UgCgkJCQlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCkgewoJCQkJCXZhciAkdCA9ICQodGhpcyk7CgkJCQkJJHQuZGF0ZXBpY2tlci5hcHBseSgkdCwgdG1wX2FyZ3MpOwoJCQkJfSk7CgkJfQoJCWVsc2UKCQkJcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpIHsKCQkJCXZhciAkdCA9ICQodGhpcyk7CgkJCQkkdC5kYXRlcGlja2VyKCQudGltZXBpY2tlci5fbmV3SW5zdCgkdCwgbykuX2RlZmF1bHRzKTsKCQkJfSk7Cgl9Cn0pOwoKLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLy8gdGhlIGJhZCBoYWNrIDovIG92ZXJyaWRlIGRhdGVwaWNrZXIgc28gaXQgZG9lc250IGNsb3NlIG9uIHNlbGVjdAovLyBpbnNwaXJlZDogaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8xMjUyNTEyL2pxdWVyeS1kYXRlcGlja2VyLXByZXZlbnQtY2xvc2luZy1waWNrZXItd2hlbi1jbGlja2luZy1hLWRhdGUvMTc2MjM3OCMxNzYyMzc4Ci8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiQuZGF0ZXBpY2tlci5fYmFzZV9zZWxlY3REYXRlID0gJC5kYXRlcGlja2VyLl9zZWxlY3REYXRlOwokLmRhdGVwaWNrZXIuX3NlbGVjdERhdGUgPSBmdW5jdGlvbiAoaWQsIGRhdGVTdHIpIHsKCXZhciBpbnN0ID0gdGhpcy5fZ2V0SW5zdCgkKGlkKVswXSksCgkJdHBfaW5zdCA9IHRoaXMuX2dldChpbnN0LCAndGltZXBpY2tlcicpOwoKCWlmICh0cF9pbnN0KSB7CgkJdHBfaW5zdC5fbGltaXRNaW5NYXhEYXRlVGltZShpbnN0LCB0cnVlKTsKCQlpbnN0LmlubGluZSA9IGluc3Quc3RheV9vcGVuID0gdHJ1ZTsKCQkvL1RoaXMgd2F5IHRoZSBvblNlbGVjdCBoYW5kbGVyIGNhbGxlZCBmcm9tIGNhbGVuZGFycGlja2VyIGdldCB0aGUgZnVsbCBkYXRlVGltZQoJCXRoaXMuX2Jhc2Vfc2VsZWN0RGF0ZShpZCwgZGF0ZVN0ciArIHRwX2luc3QuX2RlZmF1bHRzLnNlcGFyYXRvciArIHRwX2luc3QuZm9ybWF0dGVkVGltZSk7CgkJaW5zdC5pbmxpbmUgPSBpbnN0LnN0YXlfb3BlbiA9IGZhbHNlOwoJCXRoaXMuX25vdGlmeUNoYW5nZShpbnN0KTsKCQl0aGlzLl91cGRhdGVEYXRlcGlja2VyKGluc3QpOwoJfQoJZWxzZSB0aGlzLl9iYXNlX3NlbGVjdERhdGUoaWQsIGRhdGVTdHIpOwp9OwoKLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLy8gc2Vjb25kIGJhZCBoYWNrIDovIG92ZXJyaWRlIGRhdGVwaWNrZXIgc28gaXQgdHJpZ2dlcnMgYW4gZXZlbnQgd2hlbiBjaGFuZ2luZyB0aGUgaW5wdXQgZmllbGQKLy8gYW5kIGRvZXMgbm90IHJlZHJhdyB0aGUgZGF0ZXBpY2tlciBvbiBldmVyeSBzZWxlY3REYXRlIGV2ZW50Ci8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiQuZGF0ZXBpY2tlci5fYmFzZV91cGRhdGVEYXRlcGlja2VyID0gJC5kYXRlcGlja2VyLl91cGRhdGVEYXRlcGlja2VyOwokLmRhdGVwaWNrZXIuX3VwZGF0ZURhdGVwaWNrZXIgPSBmdW5jdGlvbihpbnN0KSB7CglpZiAodHlwZW9mKGluc3Quc3RheV9vcGVuKSAhPT0gJ2Jvb2xlYW4nIHx8IGluc3Quc3RheV9vcGVuID09PSBmYWxzZSkgewoJCQkJCgkJdGhpcy5fYmFzZV91cGRhdGVEYXRlcGlja2VyKGluc3QpOwoJCQoJCS8vIFJlbG9hZCB0aGUgdGltZSBjb250cm9sIHdoZW4gY2hhbmdpbmcgc29tZXRoaW5nIGluIHRoZSBpbnB1dCB0ZXh0IGZpZWxkLgoJCXZhciB0cF9pbnN0ID0gdGhpcy5fZ2V0KGluc3QsICd0aW1lcGlja2VyJyk7CgkJaWYodHBfaW5zdCkgdHBfaW5zdC5fYWRkVGltZVBpY2tlcihpbnN0KTsKCX0KfTsKCi8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi8vIHRoaXJkIGJhZCBoYWNrIDovIG92ZXJyaWRlIGRhdGVwaWNrZXIgc28gaXQgYWxsb3dzIHNwYWNlcyBhbmQgY29sYW4gaW4gdGhlIGlucHV0IGZpZWxkCi8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiQuZGF0ZXBpY2tlci5fYmFzZV9kb0tleVByZXNzID0gJC5kYXRlcGlja2VyLl9kb0tleVByZXNzOwokLmRhdGVwaWNrZXIuX2RvS2V5UHJlc3MgPSBmdW5jdGlvbihldmVudCkgewoJdmFyIGluc3QgPSAkLmRhdGVwaWNrZXIuX2dldEluc3QoZXZlbnQudGFyZ2V0KSwKCQl0cF9pbnN0ID0gJC5kYXRlcGlja2VyLl9nZXQoaW5zdCwgJ3RpbWVwaWNrZXInKTsKCglpZiAodHBfaW5zdCkgewoJCWlmICgkLmRhdGVwaWNrZXIuX2dldChpbnN0LCAnY29uc3RyYWluSW5wdXQnKSkgewoJCQl2YXIgYW1wbSA9IHRwX2luc3QuX2RlZmF1bHRzLmFtcG0sCgkJCQlkYXRldGltZUNoYXJzID0gdHBfaW5zdC5fZGVmYXVsdHMudGltZUZvcm1hdC50b1N0cmluZygpCgkJCQkJCQkJLnJlcGxhY2UoL1tobXNdL2csICcnKQoJCQkJCQkJCS5yZXBsYWNlKC9UVC9nLCBhbXBtID8gJ0FQTScgOiAnJykKCQkJCQkJCQkucmVwbGFjZSgvVHQvZywgYW1wbSA/ICdBYVBwTW0nIDogJycpCgkJCQkJCQkJLnJlcGxhY2UoL3RUL2csIGFtcG0gPyAnQWFQcE1tJyA6ICcnKQoJCQkJCQkJCS5yZXBsYWNlKC9UL2csIGFtcG0gPyAnQVAnIDogJycpCgkJCQkJCQkJLnJlcGxhY2UoL3R0L2csIGFtcG0gPyAnYXBtJyA6ICcnKQoJCQkJCQkJCS5yZXBsYWNlKC90L2csIGFtcG0gPyAnYXAnIDogJycpICsKCQkJCQkJCQkiICIgKwoJCQkJCQkJCXRwX2luc3QuX2RlZmF1bHRzLnNlcGFyYXRvciArCgkJCQkJCQkJJC5kYXRlcGlja2VyLl9wb3NzaWJsZUNoYXJzKCQuZGF0ZXBpY2tlci5fZ2V0KGluc3QsICdkYXRlRm9ybWF0JykpLAoJCQkJY2hyID0gU3RyaW5nLmZyb21DaGFyQ29kZShldmVudC5jaGFyQ29kZSA9PT0gdW5kZWZpbmVkID8gZXZlbnQua2V5Q29kZSA6IGV2ZW50LmNoYXJDb2RlKTsKCQkJcmV0dXJuIGV2ZW50LmN0cmxLZXkgfHwgKGNociA8ICcgJyB8fCAhZGF0ZXRpbWVDaGFycyB8fCBkYXRldGltZUNoYXJzLmluZGV4T2YoY2hyKSA+IC0xKTsKCQl9Cgl9CgkKCXJldHVybiAkLmRhdGVwaWNrZXIuX2Jhc2VfZG9LZXlQcmVzcyhldmVudCk7Cn07CgovLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwovLyBPdmVycmlkZSBrZXkgdXAgZXZlbnQgdG8gc3luYyBtYW51YWwgaW5wdXQgY2hhbmdlcy4KLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKJC5kYXRlcGlja2VyLl9iYXNlX2RvS2V5VXAgPSAkLmRhdGVwaWNrZXIuX2RvS2V5VXA7CiQuZGF0ZXBpY2tlci5fZG9LZXlVcCA9IGZ1bmN0aW9uIChldmVudCkgewoJdmFyIGluc3QgPSAkLmRhdGVwaWNrZXIuX2dldEluc3QoZXZlbnQudGFyZ2V0KSwKCQl0cF9pbnN0ID0gJC5kYXRlcGlja2VyLl9nZXQoaW5zdCwgJ3RpbWVwaWNrZXInKTsKCglpZiAodHBfaW5zdCkgewoJCWlmICh0cF9pbnN0Ll9kZWZhdWx0cy50aW1lT25seSAmJiAoaW5zdC5pbnB1dC52YWwoKSAhPSBpbnN0Lmxhc3RWYWwpKSB7CgkJCXRyeSB7CgkJCQkkLmRhdGVwaWNrZXIuX3VwZGF0ZURhdGVwaWNrZXIoaW5zdCk7CgkJCX0KCQkJY2F0Y2ggKGVycikgewoJCQkJJC5kYXRlcGlja2VyLmxvZyhlcnIpOwoJCQl9CgkJfQoJfQoKCXJldHVybiAkLmRhdGVwaWNrZXIuX2Jhc2VfZG9LZXlVcChldmVudCk7Cn07CgovLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwovLyBvdmVycmlkZSAiVG9kYXkiIGJ1dHRvbiB0byBhbHNvIGdyYWIgdGhlIHRpbWUuCi8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiQuZGF0ZXBpY2tlci5fYmFzZV9nb3RvVG9kYXkgPSAkLmRhdGVwaWNrZXIuX2dvdG9Ub2RheTsKJC5kYXRlcGlja2VyLl9nb3RvVG9kYXkgPSBmdW5jdGlvbihpZCkgewoJdGhpcy5fYmFzZV9nb3RvVG9kYXkoaWQpOwoJdGhpcy5fc2V0VGltZSh0aGlzLl9nZXRJbnN0KCQoaWQpWzBdKSwgbmV3IERhdGUoKSk7Cn07CgovLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwovLyBEaXNhYmxlICYgZW5hYmxlIHRoZSBUaW1lIGluIHRoZSBkYXRldGltZXBpY2tlcgovLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwokLmRhdGVwaWNrZXIuX2Rpc2FibGVUaW1lcGlja2VyRGF0ZXBpY2tlciA9IGZ1bmN0aW9uKHRhcmdldCwgZGF0ZSwgd2l0aERhdGUpIHsKCXZhciBpbnN0ID0gdGhpcy5fZ2V0SW5zdCh0YXJnZXQpLAoJdHBfaW5zdCA9IHRoaXMuX2dldChpbnN0LCAndGltZXBpY2tlcicpOwoJJCh0YXJnZXQpLmRhdGVwaWNrZXIoJ2dldERhdGUnKTsgLy8gSW5pdCBzZWxlY3RlZFtZZWFyfE1vbnRofERheV0KCWlmICh0cF9pbnN0KSB7CgkJdHBfaW5zdC5fZGVmYXVsdHMuc2hvd1RpbWVwaWNrZXIgPSBmYWxzZTsKCQl0cF9pbnN0Ll91cGRhdGVEYXRlVGltZShpbnN0KTsKCX0KfTsKCiQuZGF0ZXBpY2tlci5fZW5hYmxlVGltZXBpY2tlckRhdGVwaWNrZXIgPSBmdW5jdGlvbih0YXJnZXQsIGRhdGUsIHdpdGhEYXRlKSB7Cgl2YXIgaW5zdCA9IHRoaXMuX2dldEluc3QodGFyZ2V0KSwKCXRwX2luc3QgPSB0aGlzLl9nZXQoaW5zdCwgJ3RpbWVwaWNrZXInKTsKCSQodGFyZ2V0KS5kYXRlcGlja2VyKCdnZXREYXRlJyk7IC8vIEluaXQgc2VsZWN0ZWRbWWVhcnxNb250aHxEYXldCglpZiAodHBfaW5zdCkgewoJCXRwX2luc3QuX2RlZmF1bHRzLnNob3dUaW1lcGlja2VyID0gdHJ1ZTsKCQl0cF9pbnN0Ll9hZGRUaW1lUGlja2VyKGluc3QpOyAvLyBDb3VsZCBiZSBkaXNhYmxlZCBvbiBwYWdlIGxvYWQKCQl0cF9pbnN0Ll91cGRhdGVEYXRlVGltZShpbnN0KTsKCX0KfTsKCi8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi8vIENyZWF0ZSBvdXIgb3duIHNldCB0aW1lIGZ1bmN0aW9uCi8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiQuZGF0ZXBpY2tlci5fc2V0VGltZSA9IGZ1bmN0aW9uKGluc3QsIGRhdGUpIHsKCXZhciB0cF9pbnN0ID0gdGhpcy5fZ2V0KGluc3QsICd0aW1lcGlja2VyJyk7CglpZiAodHBfaW5zdCkgewoJCXZhciBkZWZhdWx0cyA9IHRwX2luc3QuX2RlZmF1bHRzLAoJCQkvLyBjYWxsaW5nIF9zZXRUaW1lIHdpdGggbm8gZGF0ZSBzZXRzIHRpbWUgdG8gZGVmYXVsdHMKCQkJaG91ciA9IGRhdGUgPyBkYXRlLmdldEhvdXJzKCkgOiBkZWZhdWx0cy5ob3VyLAoJCQltaW51dGUgPSBkYXRlID8gZGF0ZS5nZXRNaW51dGVzKCkgOiBkZWZhdWx0cy5taW51dGUsCgkJCXNlY29uZCA9IGRhdGUgPyBkYXRlLmdldFNlY29uZHMoKSA6IGRlZmF1bHRzLnNlY29uZDsKCgkJLy9jaGVjayBpZiB3aXRoaW4gbWluL21heCB0aW1lcy4uCgkJaWYgKChob3VyIDwgZGVmYXVsdHMuaG91ck1pbiB8fCBob3VyID4gZGVmYXVsdHMuaG91ck1heCkgfHwgKG1pbnV0ZSA8IGRlZmF1bHRzLm1pbnV0ZU1pbiB8fCBtaW51dGUgPiBkZWZhdWx0cy5taW51dGVNYXgpIHx8IChzZWNvbmQgPCBkZWZhdWx0cy5zZWNvbmRNaW4gfHwgc2Vjb25kID4gZGVmYXVsdHMuc2Vjb25kTWF4KSkgewoJCQlob3VyID0gZGVmYXVsdHMuaG91ck1pbjsKCQkJbWludXRlID0gZGVmYXVsdHMubWludXRlTWluOwoJCQlzZWNvbmQgPSBkZWZhdWx0cy5zZWNvbmRNaW47CgkJfQoKCQlpZiAodHBfaW5zdC5ob3VyX3NsaWRlcikgdHBfaW5zdC5ob3VyX3NsaWRlci5zbGlkZXIoJ3ZhbHVlJywgaG91cik7CgkJZWxzZSB0cF9pbnN0LmhvdXIgPSBob3VyOwoJCWlmICh0cF9pbnN0Lm1pbnV0ZV9zbGlkZXIpIHRwX2luc3QubWludXRlX3NsaWRlci5zbGlkZXIoJ3ZhbHVlJywgbWludXRlKTsKCQllbHNlIHRwX2luc3QubWludXRlID0gbWludXRlOwoJCWlmICh0cF9pbnN0LnNlY29uZF9zbGlkZXIpIHRwX2luc3Quc2Vjb25kX3NsaWRlci5zbGlkZXIoJ3ZhbHVlJywgc2Vjb25kKTsKCQllbHNlIHRwX2luc3Quc2Vjb25kID0gc2Vjb25kOwoKCQl0cF9pbnN0Ll9vblRpbWVDaGFuZ2UoKTsKCQl0cF9pbnN0Ll91cGRhdGVEYXRlVGltZShpbnN0KTsKCX0KfTsKCi8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi8vIENyZWF0ZSBuZXcgcHVibGljIG1ldGhvZCB0byBzZXQgb25seSB0aW1lLCBjYWxsYWJsZSBhcyAkKCkuZGF0ZXBpY2tlcignc2V0VGltZScsIGRhdGUpCi8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiQuZGF0ZXBpY2tlci5fc2V0VGltZURhdGVwaWNrZXIgPSBmdW5jdGlvbih0YXJnZXQsIGRhdGUsIHdpdGhEYXRlKSB7Cgl2YXIgaW5zdCA9IHRoaXMuX2dldEluc3QodGFyZ2V0KSwKCQl0cF9pbnN0ID0gdGhpcy5fZ2V0KGluc3QsICd0aW1lcGlja2VyJyk7CgoJaWYgKHRwX2luc3QpIHsKCQl0aGlzLl9zZXREYXRlRnJvbUZpZWxkKGluc3QpOwoJCXZhciB0cF9kYXRlOwoJCWlmIChkYXRlKSB7CgkJCWlmICh0eXBlb2YgZGF0ZSA9PSAic3RyaW5nIikgewoJCQkJdHBfaW5zdC5fcGFyc2VUaW1lKGRhdGUsIHdpdGhEYXRlKTsKCQkJCXRwX2RhdGUgPSBuZXcgRGF0ZSgpOwoJCQkJdHBfZGF0ZS5zZXRIb3Vycyh0cF9pbnN0LmhvdXIsIHRwX2luc3QubWludXRlLCB0cF9pbnN0LnNlY29uZCk7CgkJCX0KCQkJZWxzZSB0cF9kYXRlID0gbmV3IERhdGUoZGF0ZS5nZXRUaW1lKCkpOwoJCQlpZiAodHBfZGF0ZS50b1N0cmluZygpID09ICdJbnZhbGlkIERhdGUnKSB0cF9kYXRlID0gdW5kZWZpbmVkOwoJCQl0aGlzLl9zZXRUaW1lKGluc3QsIHRwX2RhdGUpOwoJCX0KCX0KCn07CgovLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwovLyBvdmVycmlkZSBzZXREYXRlKCkgdG8gYWxsb3cgc2V0dGluZyB0aW1lIHRvbyB3aXRoaW4gRGF0ZSBvYmplY3QKLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKJC5kYXRlcGlja2VyLl9iYXNlX3NldERhdGVEYXRlcGlja2VyID0gJC5kYXRlcGlja2VyLl9zZXREYXRlRGF0ZXBpY2tlcjsKJC5kYXRlcGlja2VyLl9zZXREYXRlRGF0ZXBpY2tlciA9IGZ1bmN0aW9uKHRhcmdldCwgZGF0ZSkgewoJdmFyIGluc3QgPSB0aGlzLl9nZXRJbnN0KHRhcmdldCksCgl0cF9kYXRlID0gKGRhdGUgaW5zdGFuY2VvZiBEYXRlKSA/IG5ldyBEYXRlKGRhdGUuZ2V0VGltZSgpKSA6IGRhdGU7CgoJdGhpcy5fdXBkYXRlRGF0ZXBpY2tlcihpbnN0KTsKCXRoaXMuX2Jhc2Vfc2V0RGF0ZURhdGVwaWNrZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKCXRoaXMuX3NldFRpbWVEYXRlcGlja2VyKHRhcmdldCwgdHBfZGF0ZSwgdHJ1ZSk7Cn07CgovLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwovLyBvdmVycmlkZSBnZXREYXRlKCkgdG8gYWxsb3cgZ2V0dGluZyB0aW1lIHRvbyB3aXRoaW4gRGF0ZSBvYmplY3QKLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKJC5kYXRlcGlja2VyLl9iYXNlX2dldERhdGVEYXRlcGlja2VyID0gJC5kYXRlcGlja2VyLl9nZXREYXRlRGF0ZXBpY2tlcjsKJC5kYXRlcGlja2VyLl9nZXREYXRlRGF0ZXBpY2tlciA9IGZ1bmN0aW9uKHRhcmdldCwgbm9EZWZhdWx0KSB7Cgl2YXIgaW5zdCA9IHRoaXMuX2dldEluc3QodGFyZ2V0KSwKCQl0cF9pbnN0ID0gdGhpcy5fZ2V0KGluc3QsICd0aW1lcGlja2VyJyk7CgoJaWYgKHRwX2luc3QpIHsKCQl0aGlzLl9zZXREYXRlRnJvbUZpZWxkKGluc3QsIG5vRGVmYXVsdCk7CgkJdmFyIGRhdGUgPSB0aGlzLl9nZXREYXRlKGluc3QpOwoJCWlmIChkYXRlICYmIHRwX2luc3QuX3BhcnNlVGltZSgkKHRhcmdldCkudmFsKCksIHRwX2luc3QudGltZU9ubHkpKSBkYXRlLnNldEhvdXJzKHRwX2luc3QuaG91ciwgdHBfaW5zdC5taW51dGUsIHRwX2luc3Quc2Vjb25kKTsKCQlyZXR1cm4gZGF0ZTsKCX0KCXJldHVybiB0aGlzLl9iYXNlX2dldERhdGVEYXRlcGlja2VyKHRhcmdldCwgbm9EZWZhdWx0KTsKfTsKCi8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi8vIGpRdWVyeSBleHRlbmQgbm93IGlnbm9yZXMgbnVsbHMhCi8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCmZ1bmN0aW9uIGV4dGVuZFJlbW92ZSh0YXJnZXQsIHByb3BzKSB7CgkkLmV4dGVuZCh0YXJnZXQsIHByb3BzKTsKCWZvciAodmFyIG5hbWUgaW4gcHJvcHMpCgkJaWYgKHByb3BzW25hbWVdID09PSBudWxsIHx8IHByb3BzW25hbWVdID09PSB1bmRlZmluZWQpCgkJCXRhcmdldFtuYW1lXSA9IHByb3BzW25hbWVdOwoJcmV0dXJuIHRhcmdldDsKfQoKJC50aW1lcGlja2VyID0gbmV3IFRpbWVwaWNrZXIoKTsgLy8gc2luZ2xldG9uIGluc3RhbmNlCiQudGltZXBpY2tlci52ZXJzaW9uID0gIjAuOS41IjsKCn0pKGpRdWVyeSk7Cg==]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/jquery-ui.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogalF1ZXJ5IFVJIENTUyBGcmFtZXdvcmsgMS44LjYKICoKICogQ29weXJpZ2h0IDIwMTAsIEFVVEhPUlMudHh0IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0KQogKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQogKgogKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL1RoZW1pbmcvQVBJCiAqLwoKLyogTGF5b3V0IGhlbHBlcnMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi51aS1oZWxwZXItaGlkZGVuIHsgZGlzcGxheTogbm9uZTsgfQoudWktaGVscGVyLWhpZGRlbi1hY2Nlc3NpYmxlIHsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAtOTk5OTk5OTlweDsgfQoudWktaGVscGVyLXJlc2V0IHsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyBib3JkZXI6IDA7IG91dGxpbmU6IDA7IGxpbmUtaGVpZ2h0OiAxLjM7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgZm9udC1zaXplOiAxMDAlOyBsaXN0LXN0eWxlOiBub25lOyB9Ci51aS1oZWxwZXItY2xlYXJmaXg6YWZ0ZXIgeyBjb250ZW50OiAiLiI7IGRpc3BsYXk6IGJsb2NrOyBoZWlnaHQ6IDA7IGNsZWFyOiBib3RoOyB2aXNpYmlsaXR5OiBoaWRkZW47IH0KLnVpLWhlbHBlci1jbGVhcmZpeCB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgfQovKiByZXF1aXJlZCBjb21tZW50IGZvciBjbGVhcmZpeCB0byB3b3JrIGluIE9wZXJhIFwqLwoqIGh0bWwgLnVpLWhlbHBlci1jbGVhcmZpeCB7IGhlaWdodDoxJTsgfQoudWktaGVscGVyLWNsZWFyZml4IHsgZGlzcGxheTpibG9jazsgfQovKiBlbmQgY2xlYXJmaXggKi8KLnVpLWhlbHBlci16Zml4IHsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgdG9wOiAwOyBsZWZ0OiAwOyBwb3NpdGlvbjogYWJzb2x1dGU7IG9wYWNpdHk6IDA7IGZpbHRlcjpBbHBoYShPcGFjaXR5PTApOyB9CgoKLyogSW50ZXJhY3Rpb24gQ3VlcwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLnVpLXN0YXRlLWRpc2FibGVkIHsgY3Vyc29yOiBkZWZhdWx0ICFpbXBvcnRhbnQ7IH0KCgovKiBJY29ucwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KCi8qIHN0YXRlcyBhbmQgaW1hZ2VzICovCi51aS1pY29uIHsgZGlzcGxheTogYmxvY2s7IHRleHQtaW5kZW50OiAtOTk5OTlweDsgb3ZlcmZsb3c6IGhpZGRlbjsgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfQoKCi8qIE1pc2MgdmlzdWFscwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KCi8qIE92ZXJsYXlzICovCi51aS13aWRnZXQtb3ZlcmxheSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiAwOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyB9CgoKLyoKICogalF1ZXJ5IFVJIENTUyBGcmFtZXdvcmsgMS44LjYKICoKICogQ29weXJpZ2h0IDIwMTAsIEFVVEhPUlMudHh0IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0KQogKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQogKgogKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL1RoZW1pbmcvQVBJCiAqCiAqIFRvIHZpZXcgYW5kIG1vZGlmeSB0aGlzIHRoZW1lLCB2aXNpdCBodHRwOi8vanF1ZXJ5dWkuY29tL3RoZW1lcm9sbGVyLz9mZkRlZmF1bHQ9VHJlYnVjaGV0JTIwTVMsJTIwVGFob21hLCUyMFZlcmRhbmEsJTIwQXJpYWwsJTIwc2Fucy1zZXJpZiZmd0RlZmF1bHQ9Ym9sZCZmc0RlZmF1bHQ9MS4xZW0mY29ybmVyUmFkaXVzPTRweCZiZ0NvbG9ySGVhZGVyPWY2YTgyOCZiZ1RleHR1cmVIZWFkZXI9MTJfZ2xvc3Nfd2F2ZS5wbmcmYmdJbWdPcGFjaXR5SGVhZGVyPTM1JmJvcmRlckNvbG9ySGVhZGVyPWU3OGYwOCZmY0hlYWRlcj1mZmZmZmYmaWNvbkNvbG9ySGVhZGVyPWZmZmZmZiZiZ0NvbG9yQ29udGVudD1lZWVlZWUmYmdUZXh0dXJlQ29udGVudD0wM19oaWdobGlnaHRfc29mdC5wbmcmYmdJbWdPcGFjaXR5Q29udGVudD0xMDAmYm9yZGVyQ29sb3JDb250ZW50PWRkZGRkZCZmY0NvbnRlbnQ9MzMzMzMzJmljb25Db2xvckNvbnRlbnQ9MjIyMjIyJmJnQ29sb3JEZWZhdWx0PWY2ZjZmNiZiZ1RleHR1cmVEZWZhdWx0PTAyX2dsYXNzLnBuZyZiZ0ltZ09wYWNpdHlEZWZhdWx0PTEwMCZib3JkZXJDb2xvckRlZmF1bHQ9Y2NjY2NjJmZjRGVmYXVsdD0xYzk0YzQmaWNvbkNvbG9yRGVmYXVsdD1lZjhjMDgmYmdDb2xvckhvdmVyPWZkZjVjZSZiZ1RleHR1cmVIb3Zlcj0wMl9nbGFzcy5wbmcmYmdJbWdPcGFjaXR5SG92ZXI9MTAwJmJvcmRlckNvbG9ySG92ZXI9ZmJjYjA5JmZjSG92ZXI9Yzc3NDA1Jmljb25Db2xvckhvdmVyPWVmOGMwOCZiZ0NvbG9yQWN0aXZlPWZmZmZmZiZiZ1RleHR1cmVBY3RpdmU9MDJfZ2xhc3MucG5nJmJnSW1nT3BhY2l0eUFjdGl2ZT02NSZib3JkZXJDb2xvckFjdGl2ZT1mYmQ4NTAmZmNBY3RpdmU9ZWI4ZjAwJmljb25Db2xvckFjdGl2ZT1lZjhjMDgmYmdDb2xvckhpZ2hsaWdodD1mZmU0NWMmYmdUZXh0dXJlSGlnaGxpZ2h0PTAzX2hpZ2hsaWdodF9zb2Z0LnBuZyZiZ0ltZ09wYWNpdHlIaWdobGlnaHQ9NzUmYm9yZGVyQ29sb3JIaWdobGlnaHQ9ZmVkMjJmJmZjSGlnaGxpZ2h0PTM2MzYzNiZpY29uQ29sb3JIaWdobGlnaHQ9MjI4ZWYxJmJnQ29sb3JFcnJvcj1iODE5MDAmYmdUZXh0dXJlRXJyb3I9MDhfZGlhZ29uYWxzX3RoaWNrLnBuZyZiZ0ltZ09wYWNpdHlFcnJvcj0xOCZib3JkZXJDb2xvckVycm9yPWNkMGEwYSZmY0Vycm9yPWZmZmZmZiZpY29uQ29sb3JFcnJvcj1mZmQyN2EmYmdDb2xvck92ZXJsYXk9NjY2NjY2JmJnVGV4dHVyZU92ZXJsYXk9MDhfZGlhZ29uYWxzX3RoaWNrLnBuZyZiZ0ltZ09wYWNpdHlPdmVybGF5PTIwJm9wYWNpdHlPdmVybGF5PTUwJmJnQ29sb3JTaGFkb3c9MDAwMDAwJmJnVGV4dHVyZVNoYWRvdz0wMV9mbGF0LnBuZyZiZ0ltZ09wYWNpdHlTaGFkb3c9MTAmb3BhY2l0eVNoYWRvdz0yMCZ0aGlja25lc3NTaGFkb3c9NXB4Jm9mZnNldFRvcFNoYWRvdz0tNXB4Jm9mZnNldExlZnRTaGFkb3c9LTVweCZjb3JuZXJSYWRpdXNTaGFkb3c9NXB4CiAqLwoKCi8qIENvbXBvbmVudCBjb250YWluZXJzCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoudWktd2lkZ2V0IHsgZm9udC1mYW1pbHk6IFRyZWJ1Y2hldCBNUywgVGFob21hLCBWZXJkYW5hLCBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxLjFlbTsgfQoudWktd2lkZ2V0IC51aS13aWRnZXQgeyBmb250LXNpemU6IDFlbTsgfQoudWktd2lkZ2V0IGlucHV0LCAudWktd2lkZ2V0IHNlbGVjdCwgLnVpLXdpZGdldCB0ZXh0YXJlYSwgLnVpLXdpZGdldCBidXR0b24geyBmb250LWZhbWlseTogVHJlYnVjaGV0IE1TLCBUYWhvbWEsIFZlcmRhbmEsIEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDFlbTsgfQoudWktd2lkZ2V0LWNvbnRlbnQgeyBib3JkZXI6IDFweCBzb2xpZCAjZGRkZGRkOyBiYWNrZ3JvdW5kOiAjZWVlZWVlIHVybChpbWFnZXMvdWktYmdfaGlnaGxpZ2h0LXNvZnRfMTAwX2VlZWVlZV8xeDEwMC5wbmcpIDUwJSB0b3AgcmVwZWF0LXg7IGNvbG9yOiAjMzMzMzMzOyB9Ci51aS13aWRnZXQtY29udGVudCBhIHsgY29sb3I6ICMzMzMzMzM7IH0KLnVpLXdpZGdldC1oZWFkZXIgeyBib3JkZXI6IDFweCBzb2xpZCAjZTc4ZjA4OyBiYWNrZ3JvdW5kOiAjZjZhODI4IHVybChpbWFnZXMvdWktYmdfZ2xvc3Mtd2F2ZV8zNV9mNmE4MjhfNTAweDEwMC5wbmcpIDUwJSA1MCUgcmVwZWF0LXg7IGNvbG9yOiAjZmZmZmZmOyBmb250LXdlaWdodDogYm9sZDsgfQoudWktd2lkZ2V0LWhlYWRlciBhIHsgY29sb3I6ICNmZmZmZmY7IH0KCi8qIEludGVyYWN0aW9uIHN0YXRlcwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLnVpLXN0YXRlLWRlZmF1bHQsIC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZGVmYXVsdCwgLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWRlZmF1bHQgeyBib3JkZXI6IDFweCBzb2xpZCAjY2NjY2NjOyBiYWNrZ3JvdW5kOiAjZjZmNmY2IHVybChpbWFnZXMvdWktYmdfZ2xhc3NfMTAwX2Y2ZjZmNl8xeDQwMC5wbmcpIDUwJSA1MCUgcmVwZWF0LXg7IGZvbnQtd2VpZ2h0OiBib2xkOyBjb2xvcjogIzFjOTRjNDsgfQoudWktc3RhdGUtZGVmYXVsdCBhLCAudWktc3RhdGUtZGVmYXVsdCBhOmxpbmssIC51aS1zdGF0ZS1kZWZhdWx0IGE6dmlzaXRlZCB7IGNvbG9yOiAjMWM5NGM0OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH0KLnVpLXN0YXRlLWhvdmVyLCAudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWhvdmVyLCAudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtaG92ZXIsIC51aS1zdGF0ZS1mb2N1cywgLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1mb2N1cywgLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWZvY3VzIHsgYm9yZGVyOiAxcHggc29saWQgI2ZiY2IwOTsgYmFja2dyb3VuZDogI2ZkZjVjZSB1cmwoaW1hZ2VzL3VpLWJnX2dsYXNzXzEwMF9mZGY1Y2VfMXg0MDAucG5nKSA1MCUgNTAlIHJlcGVhdC14OyBmb250LXdlaWdodDogYm9sZDsgY29sb3I6ICNjNzc0MDU7IH0KLnVpLXN0YXRlLWhvdmVyIGEsIC51aS1zdGF0ZS1ob3ZlciBhOmhvdmVyIHsgY29sb3I6ICNjNzc0MDU7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfQoudWktc3RhdGUtYWN0aXZlLCAudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWFjdGl2ZSwgLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWFjdGl2ZSB7IGJvcmRlcjogMXB4IHNvbGlkICNmYmQ4NTA7IGJhY2tncm91bmQ6ICNmZmZmZmYgdXJsKGltYWdlcy91aS1iZ19nbGFzc182NV9mZmZmZmZfMXg0MDAucG5nKSA1MCUgNTAlIHJlcGVhdC14OyBmb250LXdlaWdodDogYm9sZDsgY29sb3I6ICNlYjhmMDA7IH0KLnVpLXN0YXRlLWFjdGl2ZSBhLCAudWktc3RhdGUtYWN0aXZlIGE6bGluaywgLnVpLXN0YXRlLWFjdGl2ZSBhOnZpc2l0ZWQgeyBjb2xvcjogI2ViOGYwMDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9Ci51aS13aWRnZXQgOmFjdGl2ZSB7IG91dGxpbmU6IG5vbmU7IH0KCi8qIEludGVyYWN0aW9uIEN1ZXMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi51aS1zdGF0ZS1oaWdobGlnaHQsIC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtaGlnaGxpZ2h0LCAudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtaGlnaGxpZ2h0ICB7Ym9yZGVyOiAxcHggc29saWQgI2ZlZDIyZjsgYmFja2dyb3VuZDogI2ZmZTQ1YyB1cmwoaW1hZ2VzL3VpLWJnX2hpZ2hsaWdodC1zb2Z0Xzc1X2ZmZTQ1Y18xeDEwMC5wbmcpIDUwJSB0b3AgcmVwZWF0LXg7IGNvbG9yOiAjMzYzNjM2OyB9Ci51aS1zdGF0ZS1oaWdobGlnaHQgYSwgLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1oaWdobGlnaHQgYSwudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtaGlnaGxpZ2h0IGEgeyBjb2xvcjogIzM2MzYzNjsgfQoudWktc3RhdGUtZXJyb3IsIC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZXJyb3IsIC51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1lcnJvciB7Ym9yZGVyOiAxcHggc29saWQgI2NkMGEwYTsgYmFja2dyb3VuZDogI2I4MTkwMCB1cmwoaW1hZ2VzL3VpLWJnX2RpYWdvbmFscy10aGlja18xOF9iODE5MDBfNDB4NDAucG5nKSA1MCUgNTAlIHJlcGVhdDsgY29sb3I6ICNmZmZmZmY7IH0KLnVpLXN0YXRlLWVycm9yIGEsIC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZXJyb3IgYSwgLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWVycm9yIGEgeyBjb2xvcjogI2ZmZmZmZjsgfQoudWktc3RhdGUtZXJyb3ItdGV4dCwgLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1lcnJvci10ZXh0LCAudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZXJyb3ItdGV4dCB7IGNvbG9yOiAjZmZmZmZmOyB9Ci51aS1wcmlvcml0eS1wcmltYXJ5LCAudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXByaW9yaXR5LXByaW1hcnksIC51aS13aWRnZXQtaGVhZGVyIC51aS1wcmlvcml0eS1wcmltYXJ5IHsgZm9udC13ZWlnaHQ6IGJvbGQ7IH0KLnVpLXByaW9yaXR5LXNlY29uZGFyeSwgLnVpLXdpZGdldC1jb250ZW50IC51aS1wcmlvcml0eS1zZWNvbmRhcnksICAudWktd2lkZ2V0LWhlYWRlciAudWktcHJpb3JpdHktc2Vjb25kYXJ5IHsgb3BhY2l0eTogLjc7IGZpbHRlcjpBbHBoYShPcGFjaXR5PTcwKTsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfQoudWktc3RhdGUtZGlzYWJsZWQsIC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZGlzYWJsZWQsIC51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1kaXNhYmxlZCB7IG9wYWNpdHk6IC4zNTsgZmlsdGVyOkFscGhhKE9wYWNpdHk9MzUpOyBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9CgovKiBJY29ucwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KCi8qIHN0YXRlcyBhbmQgaW1hZ2VzICovCi51aS1pY29uIHsgd2lkdGg6IDE2cHg7IGhlaWdodDogMTZweDsgYmFja2dyb3VuZC1pbWFnZTogdXJsKGltYWdlcy91aS1pY29uc18yMjIyMjJfMjU2eDI0MC5wbmcpOyB9Ci51aS13aWRnZXQtY29udGVudCAudWktaWNvbiB7YmFja2dyb3VuZC1pbWFnZTogdXJsKGltYWdlcy91aS1pY29uc18yMjIyMjJfMjU2eDI0MC5wbmcpOyB9Ci51aS13aWRnZXQtaGVhZGVyIC51aS1pY29uIHtiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaW1hZ2VzL3VpLWljb25zX2ZmZmZmZl8yNTZ4MjQwLnBuZyk7IH0KLnVpLXN0YXRlLWRlZmF1bHQgLnVpLWljb24geyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaW1hZ2VzL3VpLWljb25zX2VmOGMwOF8yNTZ4MjQwLnBuZyk7IH0KLnVpLXN0YXRlLWhvdmVyIC51aS1pY29uLCAudWktc3RhdGUtZm9jdXMgLnVpLWljb24ge2JhY2tncm91bmQtaW1hZ2U6IHVybChpbWFnZXMvdWktaWNvbnNfZWY4YzA4XzI1NngyNDAucG5nKTsgfQoudWktc3RhdGUtYWN0aXZlIC51aS1pY29uIHtiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaW1hZ2VzL3VpLWljb25zX2VmOGMwOF8yNTZ4MjQwLnBuZyk7IH0KLnVpLXN0YXRlLWhpZ2hsaWdodCAudWktaWNvbiB7YmFja2dyb3VuZC1pbWFnZTogdXJsKGltYWdlcy91aS1pY29uc18yMjhlZjFfMjU2eDI0MC5wbmcpOyB9Ci51aS1zdGF0ZS1lcnJvciAudWktaWNvbiwgLnVpLXN0YXRlLWVycm9yLXRleHQgLnVpLWljb24ge2JhY2tncm91bmQtaW1hZ2U6IHVybChpbWFnZXMvdWktaWNvbnNfZmZkMjdhXzI1NngyNDAucG5nKTsgfQoKLyogcG9zaXRpb25pbmcgKi8KLnVpLWljb24tY2FyYXQtMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9Ci51aS1pY29uLWNhcmF0LTEtbmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAwOyB9Ci51aS1pY29uLWNhcmF0LTEtZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IDA7IH0KLnVpLWljb24tY2FyYXQtMS1zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IDA7IH0KLnVpLWljb24tY2FyYXQtMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggMDsgfQoudWktaWNvbi1jYXJhdC0xLXN3IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggMDsgfQoudWktaWNvbi1jYXJhdC0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAwOyB9Ci51aS1pY29uLWNhcmF0LTEtbncgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggMDsgfQoudWktaWNvbi1jYXJhdC0yLW4tcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAwOyB9Ci51aS1pY29uLWNhcmF0LTItZS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IDA7IH0KLnVpLWljb24tdHJpYW5nbGUtMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTZweDsgfQoudWktaWNvbi10cmlhbmdsZS0xLW5lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTE2cHg7IH0KLnVpLWljb24tdHJpYW5nbGUtMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTE2cHg7IH0KLnVpLWljb24tdHJpYW5nbGUtMS1zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0xNnB4OyB9Ci51aS1pY29uLXRyaWFuZ2xlLTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xNnB4OyB9Ci51aS1pY29uLXRyaWFuZ2xlLTEtc3cgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTZweDsgfQoudWktaWNvbi10cmlhbmdsZS0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTZweDsgfQoudWktaWNvbi10cmlhbmdsZS0xLW53IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC0xNnB4OyB9Ci51aS1pY29uLXRyaWFuZ2xlLTItbi1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC0xNnB4OyB9Ci51aS1pY29uLXRyaWFuZ2xlLTItZS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xNnB4OyB9Ci51aS1pY29uLWFycm93LTEtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTMycHg7IH0KLnVpLWljb24tYXJyb3ctMS1uZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0zMnB4OyB9Ci51aS1pY29uLWFycm93LTEtZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0zMnB4OyB9Ci51aS1pY29uLWFycm93LTEtc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMzJweDsgfQoudWktaWNvbi1hcnJvdy0xLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMzJweDsgfQoudWktaWNvbi1hcnJvdy0xLXN3IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTMycHg7IH0KLnVpLWljb24tYXJyb3ctMS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTMycHg7IH0KLnVpLWljb24tYXJyb3ctMS1udyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtMzJweDsgfQoudWktaWNvbi1hcnJvdy0yLW4tcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtMzJweDsgfQoudWktaWNvbi1hcnJvdy0yLW5lLXN3IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0zMnB4OyB9Ci51aS1pY29uLWFycm93LTItZS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC0zMnB4OyB9Ci51aS1pY29uLWFycm93LTItc2UtbncgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc2cHggLTMycHg7IH0KLnVpLWljb24tYXJyb3dzdG9wLTEtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xOTJweCAtMzJweDsgfQoudWktaWNvbi1hcnJvd3N0b3AtMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwOHB4IC0zMnB4OyB9Ci51aS1pY29uLWFycm93c3RvcC0xLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjI0cHggLTMycHg7IH0KLnVpLWljb24tYXJyb3dzdG9wLTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yNDBweCAtMzJweDsgfQoudWktaWNvbi1hcnJvd3RoaWNrLTEtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTQ4cHg7IH0KLnVpLWljb24tYXJyb3d0aGljay0xLW5lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTQ4cHg7IH0KLnVpLWljb24tYXJyb3d0aGljay0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtNDhweDsgfQoudWktaWNvbi1hcnJvd3RoaWNrLTEtc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtNDhweDsgfQoudWktaWNvbi1hcnJvd3RoaWNrLTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC00OHB4OyB9Ci51aS1pY29uLWFycm93dGhpY2stMS1zdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC00OHB4OyB9Ci51aS1pY29uLWFycm93dGhpY2stMS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTQ4cHg7IH0KLnVpLWljb24tYXJyb3d0aGljay0xLW53IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC00OHB4OyB9Ci51aS1pY29uLWFycm93dGhpY2stMi1uLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTQ4cHg7IH0KLnVpLWljb24tYXJyb3d0aGljay0yLW5lLXN3IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC00OHB4OyB9Ci51aS1pY29uLWFycm93dGhpY2stMi1lLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTYwcHggLTQ4cHg7IH0KLnVpLWljb24tYXJyb3d0aGljay0yLXNlLW53IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE3NnB4IC00OHB4OyB9Ci51aS1pY29uLWFycm93dGhpY2tzdG9wLTEtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xOTJweCAtNDhweDsgfQoudWktaWNvbi1hcnJvd3RoaWNrc3RvcC0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA4cHggLTQ4cHg7IH0KLnVpLWljb24tYXJyb3d0aGlja3N0b3AtMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIyNHB4IC00OHB4OyB9Ci51aS1pY29uLWFycm93dGhpY2tzdG9wLTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yNDBweCAtNDhweDsgfQoudWktaWNvbi1hcnJvd3JldHVybnRoaWNrLTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTY0cHg7IH0KLnVpLWljb24tYXJyb3dyZXR1cm50aGljay0xLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtNjRweDsgfQoudWktaWNvbi1hcnJvd3JldHVybnRoaWNrLTEtZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC02NHB4OyB9Ci51aS1pY29uLWFycm93cmV0dXJudGhpY2stMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTY0cHg7IH0KLnVpLWljb24tYXJyb3dyZXR1cm4tMS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTY0cHg7IH0KLnVpLWljb24tYXJyb3dyZXR1cm4tMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTY0cHg7IH0KLnVpLWljb24tYXJyb3dyZXR1cm4tMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTY0cHg7IH0KLnVpLWljb24tYXJyb3dyZXR1cm4tMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC02NHB4OyB9Ci51aS1pY29uLWFycm93cmVmcmVzaC0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTY0cHg7IH0KLnVpLWljb24tYXJyb3dyZWZyZXNoLTEtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtNjRweDsgfQoudWktaWNvbi1hcnJvd3JlZnJlc2gtMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC02NHB4OyB9Ci51aS1pY29uLWFycm93cmVmcmVzaC0xLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc2cHggLTY0cHg7IH0KLnVpLWljb24tYXJyb3ctNCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTgwcHg7IH0KLnVpLWljb24tYXJyb3ctNC1kaWFnIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTgwcHg7IH0KLnVpLWljb24tZXh0bGluayB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC04MHB4OyB9Ci51aS1pY29uLW5ld3dpbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC04MHB4OyB9Ci51aS1pY29uLXJlZnJlc2ggeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtODBweDsgfQoudWktaWNvbi1zaHVmZmxlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTgwcHg7IH0KLnVpLWljb24tdHJhbnNmZXItZS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTgwcHg7IH0KLnVpLWljb24tdHJhbnNmZXJ0aGljay1lLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTgwcHg7IH0KLnVpLWljb24tZm9sZGVyLWNvbGxhcHNlZCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTk2cHg7IH0KLnVpLWljb24tZm9sZGVyLW9wZW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtOTZweDsgfQoudWktaWNvbi1kb2N1bWVudCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC05NnB4OyB9Ci51aS1pY29uLWRvY3VtZW50LWIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtOTZweDsgfQoudWktaWNvbi1ub3RlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTk2cHg7IH0KLnVpLWljb24tbWFpbC1jbG9zZWQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtOTZweDsgfQoudWktaWNvbi1tYWlsLW9wZW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtOTZweDsgfQoudWktaWNvbi1zdWl0Y2FzZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtOTZweDsgfQoudWktaWNvbi1jb21tZW50IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC05NnB4OyB9Ci51aS1pY29uLXBlcnNvbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtOTZweDsgfQoudWktaWNvbi1wcmludCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNjBweCAtOTZweDsgfQoudWktaWNvbi10cmFzaCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtOTZweDsgfQoudWktaWNvbi1sb2NrZWQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkycHggLTk2cHg7IH0KLnVpLWljb24tdW5sb2NrZWQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA4cHggLTk2cHg7IH0KLnVpLWljb24tYm9va21hcmsgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjI0cHggLTk2cHg7IH0KLnVpLWljb24tdGFnIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0MHB4IC05NnB4OyB9Ci51aS1pY29uLWhvbWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMTJweDsgfQoudWktaWNvbi1mbGFnIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTExMnB4OyB9Ci51aS1pY29uLWNhbGVuZGFyIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTExMnB4OyB9Ci51aS1pY29uLWNhcnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMTEycHg7IH0KLnVpLWljb24tcGVuY2lsIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTExMnB4OyB9Ci51aS1pY29uLWNsb2NrIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTExMnB4OyB9Ci51aS1pY29uLWRpc2sgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTEycHg7IH0KLnVpLWljb24tY2FsY3VsYXRvciB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtMTEycHg7IH0KLnVpLWljb24tem9vbWluIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC0xMTJweDsgfQoudWktaWNvbi16b29tb3V0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xMTJweDsgfQoudWktaWNvbi1zZWFyY2ggeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTYwcHggLTExMnB4OyB9Ci51aS1pY29uLXdyZW5jaCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtMTEycHg7IH0KLnVpLWljb24tZ2VhciB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xOTJweCAtMTEycHg7IH0KLnVpLWljb24taGVhcnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA4cHggLTExMnB4OyB9Ci51aS1pY29uLXN0YXIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjI0cHggLTExMnB4OyB9Ci51aS1pY29uLWxpbmsgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQwcHggLTExMnB4OyB9Ci51aS1pY29uLWNhbmNlbCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTEyOHB4OyB9Ci51aS1pY29uLXBsdXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMTI4cHg7IH0KLnVpLWljb24tcGx1c3RoaWNrIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTEyOHB4OyB9Ci51aS1pY29uLW1pbnVzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTEyOHB4OyB9Ci51aS1pY29uLW1pbnVzdGhpY2sgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMTI4cHg7IH0KLnVpLWljb24tY2xvc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTI4cHg7IH0KLnVpLWljb24tY2xvc2V0aGljayB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0xMjhweDsgfQoudWktaWNvbi1rZXkgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTEyOHB4OyB9Ci51aS1pY29uLWxpZ2h0YnVsYiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtMTI4cHg7IH0KLnVpLWljb24tc2Npc3NvcnMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTEyOHB4OyB9Ci51aS1pY29uLWNsaXBib2FyZCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNjBweCAtMTI4cHg7IH0KLnVpLWljb24tY29weSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtMTI4cHg7IH0KLnVpLWljb24tY29udGFjdCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xOTJweCAtMTI4cHg7IH0KLnVpLWljb24taW1hZ2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA4cHggLTEyOHB4OyB9Ci51aS1pY29uLXZpZGVvIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIyNHB4IC0xMjhweDsgfQoudWktaWNvbi1zY3JpcHQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQwcHggLTEyOHB4OyB9Ci51aS1pY29uLWFsZXJ0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTQ0cHg7IH0KLnVpLWljb24taW5mbyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xNDRweDsgfQoudWktaWNvbi1ub3RpY2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMTQ0cHg7IH0KLnVpLWljb24taGVscCB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0xNDRweDsgfQoudWktaWNvbi1jaGVjayB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xNDRweDsgfQoudWktaWNvbi1idWxsZXQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTQ0cHg7IH0KLnVpLWljb24tcmFkaW8tb2ZmIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTE0NHB4OyB9Ci51aS1pY29uLXJhZGlvLW9uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC0xNDRweDsgfQoudWktaWNvbi1waW4tdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtMTQ0cHg7IH0KLnVpLWljb24tcGluLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTE0NHB4OyB9Ci51aS1pY29uLXBsYXkgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNjBweDsgfQoudWktaWNvbi1wYXVzZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xNjBweDsgfQoudWktaWNvbi1zZWVrLW5leHQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMTYwcHg7IH0KLnVpLWljb24tc2Vlay1wcmV2IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTE2MHB4OyB9Ci51aS1pY29uLXNlZWstZW5kIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTE2MHB4OyB9Ci51aS1pY29uLXNlZWstc3RhcnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTYwcHg7IH0KLyogdWktaWNvbi1zZWVrLWZpcnN0IGlzIGRlcHJlY2F0ZWQsIHVzZSB1aS1pY29uLXNlZWstc3RhcnQgaW5zdGVhZCAqLwoudWktaWNvbi1zZWVrLWZpcnN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTE2MHB4OyB9Ci51aS1pY29uLXN0b3AgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTYwcHg7IH0KLnVpLWljb24tZWplY3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTE2MHB4OyB9Ci51aS1pY29uLXZvbHVtZS1vZmYgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTE2MHB4OyB9Ci51aS1pY29uLXZvbHVtZS1vbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtMTYwcHg7IH0KLnVpLWljb24tcG93ZXIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNzZweDsgfQoudWktaWNvbi1zaWduYWwtZGlhZyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xNzZweDsgfQoudWktaWNvbi1zaWduYWwgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMTc2cHg7IH0KLnVpLWljb24tYmF0dGVyeS0wIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTE3NnB4OyB9Ci51aS1pY29uLWJhdHRlcnktMSB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xNzZweDsgfQoudWktaWNvbi1iYXR0ZXJ5LTIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTc2cHg7IH0KLnVpLWljb24tYmF0dGVyeS0zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTE3NnB4OyB9Ci51aS1pY29uLWNpcmNsZS1wbHVzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTkycHg7IH0KLnVpLWljb24tY2lyY2xlLW1pbnVzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTE5MnB4OyB9Ci51aS1pY29uLWNpcmNsZS1jbG9zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0xOTJweDsgfQoudWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0xOTJweDsgfQoudWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xOTJweDsgfQoudWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xOTJweDsgfQoudWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0xOTJweDsgfQoudWktaWNvbi1jaXJjbGUtYXJyb3ctZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtMTkycHg7IH0KLnVpLWljb24tY2lyY2xlLWFycm93LXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTE5MnB4OyB9Ci51aS1pY29uLWNpcmNsZS1hcnJvdy13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xOTJweDsgfQoudWktaWNvbi1jaXJjbGUtYXJyb3ctbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNjBweCAtMTkycHg7IH0KLnVpLWljb24tY2lyY2xlLXpvb21pbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtMTkycHg7IH0KLnVpLWljb24tY2lyY2xlLXpvb21vdXQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkycHggLTE5MnB4OyB9Ci51aS1pY29uLWNpcmNsZS1jaGVjayB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMDhweCAtMTkycHg7IH0KLnVpLWljb24tY2lyY2xlc21hbGwtcGx1cyB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTIwOHB4OyB9Ci51aS1pY29uLWNpcmNsZXNtYWxsLW1pbnVzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTIwOHB4OyB9Ci51aS1pY29uLWNpcmNsZXNtYWxsLWNsb3NlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTIwOHB4OyB9Ci51aS1pY29uLXNxdWFyZXNtYWxsLXBsdXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMjA4cHg7IH0KLnVpLWljb24tc3F1YXJlc21hbGwtbWludXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMjA4cHg7IH0KLnVpLWljb24tc3F1YXJlc21hbGwtY2xvc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMjA4cHg7IH0KLnVpLWljb24tZ3JpcC1kb3R0ZWQtdmVydGljYWwgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yMjRweDsgfQoudWktaWNvbi1ncmlwLWRvdHRlZC1ob3Jpem9udGFsIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTIyNHB4OyB9Ci51aS1pY29uLWdyaXAtc29saWQtdmVydGljYWwgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMjI0cHg7IH0KLnVpLWljb24tZ3JpcC1zb2xpZC1ob3Jpem9udGFsIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTIyNHB4OyB9Ci51aS1pY29uLWdyaXBzbWFsbC1kaWFnb25hbC1zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0yMjRweDsgfQoudWktaWNvbi1ncmlwLWRpYWdvbmFsLXNlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTIyNHB4OyB9CgoKLyogTWlzYyB2aXN1YWxzCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoKLyogQ29ybmVyIHJhZGl1cyAqLwoudWktY29ybmVyLXRsIHsgLW1vei1ib3JkZXItcmFkaXVzLXRvcGxlZnQ6IDRweDsgLXdlYmtpdC1ib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7IGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDRweDsgfQoudWktY29ybmVyLXRyIHsgLW1vei1ib3JkZXItcmFkaXVzLXRvcHJpZ2h0OiA0cHg7IC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDsgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDsgfQoudWktY29ybmVyLWJsIHsgLW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbWxlZnQ6IDRweDsgLXdlYmtpdC1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7IGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRweDsgfQoudWktY29ybmVyLWJyIHsgLW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbXJpZ2h0OiA0cHg7IC13ZWJraXQtYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDsgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDsgfQoudWktY29ybmVyLXRvcCB7IC1tb3otYm9yZGVyLXJhZGl1cy10b3BsZWZ0OiA0cHg7IC13ZWJraXQtYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNHB4OyBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7IC1tb3otYm9yZGVyLXJhZGl1cy10b3ByaWdodDogNHB4OyAtd2Via2l0LWJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7IGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7IH0KLnVpLWNvcm5lci1ib3R0b20geyAtbW96LWJvcmRlci1yYWRpdXMtYm90dG9tbGVmdDogNHB4OyAtd2Via2l0LWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRweDsgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4OyAtbW96LWJvcmRlci1yYWRpdXMtYm90dG9tcmlnaHQ6IDRweDsgLXdlYmtpdC1ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4OyBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4OyB9Ci51aS1jb3JuZXItcmlnaHQgeyAgLW1vei1ib3JkZXItcmFkaXVzLXRvcHJpZ2h0OiA0cHg7IC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDsgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDsgLW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbXJpZ2h0OiA0cHg7IC13ZWJraXQtYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDsgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDsgfQoudWktY29ybmVyLWxlZnQgeyAtbW96LWJvcmRlci1yYWRpdXMtdG9wbGVmdDogNHB4OyAtd2Via2l0LWJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDRweDsgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNHB4OyAtbW96LWJvcmRlci1yYWRpdXMtYm90dG9tbGVmdDogNHB4OyAtd2Via2l0LWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRweDsgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4OyB9Ci51aS1jb3JuZXItYWxsIHsgLW1vei1ib3JkZXItcmFkaXVzOiA0cHg7IC13ZWJraXQtYm9yZGVyLXJhZGl1czogNHB4OyBib3JkZXItcmFkaXVzOiA0cHg7IH0KCi8qIE92ZXJsYXlzICovCi51aS13aWRnZXQtb3ZlcmxheSB7IGJhY2tncm91bmQ6ICM2NjY2NjYgdXJsKGltYWdlcy91aS1iZ19kaWFnb25hbHMtdGhpY2tfMjBfNjY2NjY2XzQweDQwLnBuZykgNTAlIDUwJSByZXBlYXQ7IG9wYWNpdHk6IC41MDtmaWx0ZXI6QWxwaGEoT3BhY2l0eT01MCk7IH0KLnVpLXdpZGdldC1zaGFkb3cgeyBtYXJnaW46IC01cHggMCAwIC01cHg7IHBhZGRpbmc6IDVweDsgYmFja2dyb3VuZDogIzAwMDAwMCB1cmwoaW1hZ2VzL3VpLWJnX2ZsYXRfMTBfMDAwMDAwXzQweDEwMC5wbmcpIDUwJSA1MCUgcmVwZWF0LXg7IG9wYWNpdHk6IC4yMDtmaWx0ZXI6QWxwaGEoT3BhY2l0eT0yMCk7IC1tb3otYm9yZGVyLXJhZGl1czogNXB4OyAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDVweDsgYm9yZGVyLXJhZGl1czogNXB4OyB9LyoKICogalF1ZXJ5IFVJIFNsaWRlciAxLjguNgogKgogKiBDb3B5cmlnaHQgMjAxMCwgQVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20vYWJvdXQpCiAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBvciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2VzLgogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCiAqCiAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20vVUkvU2xpZGVyI3RoZW1pbmcKICovCi51aS1zbGlkZXIgeyBwb3NpdGlvbjogcmVsYXRpdmU7IHRleHQtYWxpZ246IGxlZnQ7IH0KLnVpLXNsaWRlciAudWktc2xpZGVyLWhhbmRsZSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgei1pbmRleDogMjsgd2lkdGg6IDEuMmVtOyBoZWlnaHQ6IDEuMmVtOyBjdXJzb3I6IGRlZmF1bHQ7IH0KLnVpLXNsaWRlciAudWktc2xpZGVyLXJhbmdlIHsgcG9zaXRpb246IGFic29sdXRlOyB6LWluZGV4OiAxOyBmb250LXNpemU6IC43ZW07IGRpc3BsYXk6IGJsb2NrOyBib3JkZXI6IDA7IGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfQoKLnVpLXNsaWRlci1ob3Jpem9udGFsIHsgaGVpZ2h0OiAuOGVtOyB9Ci51aS1zbGlkZXItaG9yaXpvbnRhbCAudWktc2xpZGVyLWhhbmRsZSB7IHRvcDogLS4zZW07IG1hcmdpbi1sZWZ0OiAtLjZlbTsgfQoudWktc2xpZGVyLWhvcml6b250YWwgLnVpLXNsaWRlci1yYW5nZSB7IHRvcDogMDsgaGVpZ2h0OiAxMDAlOyB9Ci51aS1zbGlkZXItaG9yaXpvbnRhbCAudWktc2xpZGVyLXJhbmdlLW1pbiB7IGxlZnQ6IDA7IH0KLnVpLXNsaWRlci1ob3Jpem9udGFsIC51aS1zbGlkZXItcmFuZ2UtbWF4IHsgcmlnaHQ6IDA7IH0KCi51aS1zbGlkZXItdmVydGljYWwgeyB3aWR0aDogLjhlbTsgaGVpZ2h0OiAxMDBweDsgfQoudWktc2xpZGVyLXZlcnRpY2FsIC51aS1zbGlkZXItaGFuZGxlIHsgbGVmdDogLS4zZW07IG1hcmdpbi1sZWZ0OiAwOyBtYXJnaW4tYm90dG9tOiAtLjZlbTsgfQoudWktc2xpZGVyLXZlcnRpY2FsIC51aS1zbGlkZXItcmFuZ2UgeyBsZWZ0OiAwOyB3aWR0aDogMTAwJTsgfQoudWktc2xpZGVyLXZlcnRpY2FsIC51aS1zbGlkZXItcmFuZ2UtbWluIHsgYm90dG9tOiAwOyB9Ci51aS1zbGlkZXItdmVydGljYWwgLnVpLXNsaWRlci1yYW5nZS1tYXggeyB0b3A6IDA7IH0vKgogKiBqUXVlcnkgVUkgRGF0ZXBpY2tlciAxLjguNgogKgogKiBDb3B5cmlnaHQgMjAxMCwgQVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20vYWJvdXQpCiAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBvciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2VzLgogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCiAqCiAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20vVUkvRGF0ZXBpY2tlciN0aGVtaW5nCiAqLwoudWktZGF0ZXBpY2tlciB7IHdpZHRoOiAxN2VtOyBwYWRkaW5nOiAuMmVtIC4yZW0gMDsgfQoudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1oZWFkZXIgeyBwb3NpdGlvbjpyZWxhdGl2ZTsgcGFkZGluZzouMmVtIDA7IH0KLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldiwgLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dCB7IHBvc2l0aW9uOmFic29sdXRlOyB0b3A6IDJweDsgd2lkdGg6IDEuOGVtOyBoZWlnaHQ6IDEuOGVtOyB9Ci51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXYtaG92ZXIsIC51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHQtaG92ZXIgeyB0b3A6IDFweDsgfQoudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2IHsgbGVmdDoycHg7IH0KLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dCB7IHJpZ2h0OjJweDsgfQoudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2LWhvdmVyIHsgbGVmdDoxcHg7IH0KLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dC1ob3ZlciB7IHJpZ2h0OjFweDsgfQoudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2IHNwYW4sIC51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHQgc3BhbiB7IGRpc3BsYXk6IGJsb2NrOyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDUwJTsgbWFyZ2luLWxlZnQ6IC04cHg7IHRvcDogNTAlOyBtYXJnaW4tdG9wOiAtOHB4OyAgfQoudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci10aXRsZSB7IG1hcmdpbjogMCAyLjNlbTsgbGluZS1oZWlnaHQ6IDEuOGVtOyB0ZXh0LWFsaWduOiBjZW50ZXI7IH0KLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItdGl0bGUgc2VsZWN0IHsgZm9udC1zaXplOjFlbTsgbWFyZ2luOjFweCAwOyB9Ci51aS1kYXRlcGlja2VyIHNlbGVjdC51aS1kYXRlcGlja2VyLW1vbnRoLXllYXIge3dpZHRoOiAxMDAlO30KLnVpLWRhdGVwaWNrZXIgc2VsZWN0LnVpLWRhdGVwaWNrZXItbW9udGgsCi51aS1kYXRlcGlja2VyIHNlbGVjdC51aS1kYXRlcGlja2VyLXllYXIgeyB3aWR0aDogNDklO30KLnVpLWRhdGVwaWNrZXIgdGFibGUge3dpZHRoOiAxMDAlOyBmb250LXNpemU6IC45ZW07IGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IG1hcmdpbjowIDAgLjRlbTsgfQoudWktZGF0ZXBpY2tlciB0aCB7IHBhZGRpbmc6IC43ZW0gLjNlbTsgdGV4dC1hbGlnbjogY2VudGVyOyBmb250LXdlaWdodDogYm9sZDsgYm9yZGVyOiAwOyAgfQoudWktZGF0ZXBpY2tlciB0ZCB7IGJvcmRlcjogMDsgcGFkZGluZzogMXB4OyB9Ci51aS1kYXRlcGlja2VyIHRkIHNwYW4sIC51aS1kYXRlcGlja2VyIHRkIGEgeyBkaXNwbGF5OiBibG9jazsgcGFkZGluZzogLjJlbTsgdGV4dC1hbGlnbjogcmlnaHQ7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfQoudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIHsgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgbWFyZ2luOiAuN2VtIDAgMCAwOyBwYWRkaW5nOjAgLjJlbTsgYm9yZGVyLWxlZnQ6IDA7IGJvcmRlci1yaWdodDogMDsgYm9yZGVyLWJvdHRvbTogMDsgfQoudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIGJ1dHRvbiB7IGZsb2F0OiByaWdodDsgbWFyZ2luOiAuNWVtIC4yZW0gLjRlbTsgY3Vyc29yOiBwb2ludGVyOyBwYWRkaW5nOiAuMmVtIC42ZW0gLjNlbSAuNmVtOyB3aWR0aDphdXRvOyBvdmVyZmxvdzp2aXNpYmxlOyB9Ci51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgYnV0dG9uLnVpLWRhdGVwaWNrZXItY3VycmVudCB7IGZsb2F0OmxlZnQ7IH0KCi8qIHdpdGggbXVsdGlwbGUgY2FsZW5kYXJzICovCi51aS1kYXRlcGlja2VyLnVpLWRhdGVwaWNrZXItbXVsdGkgeyB3aWR0aDphdXRvOyB9Ci51aS1kYXRlcGlja2VyLW11bHRpIC51aS1kYXRlcGlja2VyLWdyb3VwIHsgZmxvYXQ6bGVmdDsgfQoudWktZGF0ZXBpY2tlci1tdWx0aSAudWktZGF0ZXBpY2tlci1ncm91cCB0YWJsZSB7IHdpZHRoOjk1JTsgbWFyZ2luOjAgYXV0byAuNGVtOyB9Ci51aS1kYXRlcGlja2VyLW11bHRpLTIgLnVpLWRhdGVwaWNrZXItZ3JvdXAgeyB3aWR0aDo1MCU7IH0KLnVpLWRhdGVwaWNrZXItbXVsdGktMyAudWktZGF0ZXBpY2tlci1ncm91cCB7IHdpZHRoOjMzLjMlOyB9Ci51aS1kYXRlcGlja2VyLW11bHRpLTQgLnVpLWRhdGVwaWNrZXItZ3JvdXAgeyB3aWR0aDoyNSU7IH0KLnVpLWRhdGVwaWNrZXItbXVsdGkgLnVpLWRhdGVwaWNrZXItZ3JvdXAtbGFzdCAudWktZGF0ZXBpY2tlci1oZWFkZXIgeyBib3JkZXItbGVmdC13aWR0aDowOyB9Ci51aS1kYXRlcGlja2VyLW11bHRpIC51aS1kYXRlcGlja2VyLWdyb3VwLW1pZGRsZSAudWktZGF0ZXBpY2tlci1oZWFkZXIgeyBib3JkZXItbGVmdC13aWR0aDowOyB9Ci51aS1kYXRlcGlja2VyLW11bHRpIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgeyBjbGVhcjpsZWZ0OyB9Ci51aS1kYXRlcGlja2VyLXJvdy1icmVhayB7IGNsZWFyOmJvdGg7IHdpZHRoOjEwMCU7IH0KCi8qIFJUTCBzdXBwb3J0ICovCi51aS1kYXRlcGlja2VyLXJ0bCB7IGRpcmVjdGlvbjogcnRsOyB9Ci51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1wcmV2IHsgcmlnaHQ6IDJweDsgbGVmdDogYXV0bzsgfQoudWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItbmV4dCB7IGxlZnQ6IDJweDsgcmlnaHQ6IGF1dG87IH0KLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLXByZXY6aG92ZXIgeyByaWdodDogMXB4OyBsZWZ0OiBhdXRvOyB9Ci51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1uZXh0OmhvdmVyIHsgbGVmdDogMXB4OyByaWdodDogYXV0bzsgfQoudWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSB7IGNsZWFyOnJpZ2h0OyB9Ci51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIGJ1dHRvbiB7IGZsb2F0OiBsZWZ0OyB9Ci51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIGJ1dHRvbi51aS1kYXRlcGlja2VyLWN1cnJlbnQgeyBmbG9hdDpyaWdodDsgfQoudWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItZ3JvdXAgeyBmbG9hdDpyaWdodDsgfQoudWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItZ3JvdXAtbGFzdCAudWktZGF0ZXBpY2tlci1oZWFkZXIgeyBib3JkZXItcmlnaHQtd2lkdGg6MDsgYm9yZGVyLWxlZnQtd2lkdGg6MXB4OyB9Ci51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1ncm91cC1taWRkbGUgLnVpLWRhdGVwaWNrZXItaGVhZGVyIHsgYm9yZGVyLXJpZ2h0LXdpZHRoOjA7IGJvcmRlci1sZWZ0LXdpZHRoOjFweDsgfQoKLyogSUU2IElGUkFNRSBGSVggKHRha2VuIGZyb20gZGF0ZXBpY2tlciAxLjUuMyAqLwoudWktZGF0ZXBpY2tlci1jb3ZlciB7CiAgICBkaXNwbGF5OiBub25lOyAvKnNvcnJ5IGZvciBJRTUqLwogICAgZGlzcGxheS8qKi86IGJsb2NrOyAvKnNvcnJ5IGZvciBJRTUqLwogICAgcG9zaXRpb246IGFic29sdXRlOyAvKm11c3QgaGF2ZSovCiAgICB6LWluZGV4OiAtMTsgLyptdXN0IGhhdmUqLwogICAgZmlsdGVyOiBtYXNrKCk7IC8qbXVzdCBoYXZlKi8KICAgIHRvcDogLTRweDsgLyptdXN0IGhhdmUqLwogICAgbGVmdDogLTRweDsgLyptdXN0IGhhdmUqLwogICAgd2lkdGg6IDIwMHB4OyAvKm11c3QgaGF2ZSovCiAgICBoZWlnaHQ6IDIwMHB4OyAvKm11c3QgaGF2ZSovCn0=]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/jquery-ui.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyohCiAqIGpRdWVyeSBVSSAxLjguMTQKICoKICogQ29weXJpZ2h0IDIwMTEsIEFVVEhPUlMudHh0IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0KQogKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQogKgogKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJCiAqLwooZnVuY3Rpb24oYyxqKXtmdW5jdGlvbiBrKGEsYil7dmFyIGQ9YS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO2lmKCJhcmVhIj09PWQpe2I9YS5wYXJlbnROb2RlO2Q9Yi5uYW1lO2lmKCFhLmhyZWZ8fCFkfHxiLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkhPT0ibWFwIilyZXR1cm4gZmFsc2U7YT1jKCJpbWdbdXNlbWFwPSMiK2QrIl0iKVswXTtyZXR1cm4hIWEmJmwoYSl9cmV0dXJuKC9pbnB1dHxzZWxlY3R8dGV4dGFyZWF8YnV0dG9ufG9iamVjdC8udGVzdChkKT8hYS5kaXNhYmxlZDoiYSI9PWQ/YS5ocmVmfHxiOmIpJiZsKGEpfWZ1bmN0aW9uIGwoYSl7cmV0dXJuIWMoYSkucGFyZW50cygpLmFuZFNlbGYoKS5maWx0ZXIoZnVuY3Rpb24oKXtyZXR1cm4gYy5jdXJDU1ModGhpcywidmlzaWJpbGl0eSIpPT09ImhpZGRlbiJ8fGMuZXhwci5maWx0ZXJzLmhpZGRlbih0aGlzKX0pLmxlbmd0aH1jLnVpPWMudWl8fHt9O2lmKCFjLnVpLnZlcnNpb24pe2MuZXh0ZW5kKGMudWkse3ZlcnNpb246IjEuOC4xNCIsCmtleUNvZGU6e0FMVDoxOCxCQUNLU1BBQ0U6OCxDQVBTX0xPQ0s6MjAsQ09NTUE6MTg4LENPTU1BTkQ6OTEsQ09NTUFORF9MRUZUOjkxLENPTU1BTkRfUklHSFQ6OTMsQ09OVFJPTDoxNyxERUxFVEU6NDYsRE9XTjo0MCxFTkQ6MzUsRU5URVI6MTMsRVNDQVBFOjI3LEhPTUU6MzYsSU5TRVJUOjQ1LExFRlQ6MzcsTUVOVTo5MyxOVU1QQURfQUREOjEwNyxOVU1QQURfREVDSU1BTDoxMTAsTlVNUEFEX0RJVklERToxMTEsTlVNUEFEX0VOVEVSOjEwOCxOVU1QQURfTVVMVElQTFk6MTA2LE5VTVBBRF9TVUJUUkFDVDoxMDksUEFHRV9ET1dOOjM0LFBBR0VfVVA6MzMsUEVSSU9EOjE5MCxSSUdIVDozOSxTSElGVDoxNixTUEFDRTozMixUQUI6OSxVUDozOCxXSU5ET1dTOjkxfX0pO2MuZm4uZXh0ZW5kKHtfZm9jdXM6Yy5mbi5mb2N1cyxmb2N1czpmdW5jdGlvbihhLGIpe3JldHVybiB0eXBlb2YgYT09PSJudW1iZXIiP3RoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBkPXRoaXM7c2V0VGltZW91dChmdW5jdGlvbigpe2MoZCkuZm9jdXMoKTsKYiYmYi5jYWxsKGQpfSxhKX0pOnRoaXMuX2ZvY3VzLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sc2Nyb2xsUGFyZW50OmZ1bmN0aW9uKCl7dmFyIGE7YT1jLmJyb3dzZXIubXNpZSYmLyhzdGF0aWN8cmVsYXRpdmUpLy50ZXN0KHRoaXMuY3NzKCJwb3NpdGlvbiIpKXx8L2Fic29sdXRlLy50ZXN0KHRoaXMuY3NzKCJwb3NpdGlvbiIpKT90aGlzLnBhcmVudHMoKS5maWx0ZXIoZnVuY3Rpb24oKXtyZXR1cm4vKHJlbGF0aXZlfGFic29sdXRlfGZpeGVkKS8udGVzdChjLmN1ckNTUyh0aGlzLCJwb3NpdGlvbiIsMSkpJiYvKGF1dG98c2Nyb2xsKS8udGVzdChjLmN1ckNTUyh0aGlzLCJvdmVyZmxvdyIsMSkrYy5jdXJDU1ModGhpcywib3ZlcmZsb3cteSIsMSkrYy5jdXJDU1ModGhpcywib3ZlcmZsb3cteCIsMSkpfSkuZXEoMCk6dGhpcy5wYXJlbnRzKCkuZmlsdGVyKGZ1bmN0aW9uKCl7cmV0dXJuLyhhdXRvfHNjcm9sbCkvLnRlc3QoYy5jdXJDU1ModGhpcywib3ZlcmZsb3ciLDEpK2MuY3VyQ1NTKHRoaXMsCiJvdmVyZmxvdy15IiwxKStjLmN1ckNTUyh0aGlzLCJvdmVyZmxvdy14IiwxKSl9KS5lcSgwKTtyZXR1cm4vZml4ZWQvLnRlc3QodGhpcy5jc3MoInBvc2l0aW9uIikpfHwhYS5sZW5ndGg/Yyhkb2N1bWVudCk6YX0sekluZGV4OmZ1bmN0aW9uKGEpe2lmKGEhPT1qKXJldHVybiB0aGlzLmNzcygiekluZGV4IixhKTtpZih0aGlzLmxlbmd0aCl7YT1jKHRoaXNbMF0pO2Zvcih2YXIgYjthLmxlbmd0aCYmYVswXSE9PWRvY3VtZW50Oyl7Yj1hLmNzcygicG9zaXRpb24iKTtpZihiPT09ImFic29sdXRlInx8Yj09PSJyZWxhdGl2ZSJ8fGI9PT0iZml4ZWQiKXtiPXBhcnNlSW50KGEuY3NzKCJ6SW5kZXgiKSwxMCk7aWYoIWlzTmFOKGIpJiZiIT09MClyZXR1cm4gYn1hPWEucGFyZW50KCl9fXJldHVybiAwfSxkaXNhYmxlU2VsZWN0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYmluZCgoYy5zdXBwb3J0LnNlbGVjdHN0YXJ0PyJzZWxlY3RzdGFydCI6Im1vdXNlZG93biIpKyIudWktZGlzYWJsZVNlbGVjdGlvbiIsCmZ1bmN0aW9uKGEpe2EucHJldmVudERlZmF1bHQoKX0pfSxlbmFibGVTZWxlY3Rpb246ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy51bmJpbmQoIi51aS1kaXNhYmxlU2VsZWN0aW9uIil9fSk7Yy5lYWNoKFsiV2lkdGgiLCJIZWlnaHQiXSxmdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGQoZixnLG0sbil7Yy5lYWNoKGUsZnVuY3Rpb24oKXtnLT1wYXJzZUZsb2F0KGMuY3VyQ1NTKGYsInBhZGRpbmciK3RoaXMsdHJ1ZSkpfHwwO2lmKG0pZy09cGFyc2VGbG9hdChjLmN1ckNTUyhmLCJib3JkZXIiK3RoaXMrIldpZHRoIix0cnVlKSl8fDA7aWYobilnLT1wYXJzZUZsb2F0KGMuY3VyQ1NTKGYsIm1hcmdpbiIrdGhpcyx0cnVlKSl8fDB9KTtyZXR1cm4gZ312YXIgZT1iPT09IldpZHRoIj9bIkxlZnQiLCJSaWdodCJdOlsiVG9wIiwiQm90dG9tIl0saD1iLnRvTG93ZXJDYXNlKCksaT17aW5uZXJXaWR0aDpjLmZuLmlubmVyV2lkdGgsaW5uZXJIZWlnaHQ6Yy5mbi5pbm5lckhlaWdodCxvdXRlcldpZHRoOmMuZm4ub3V0ZXJXaWR0aCwKb3V0ZXJIZWlnaHQ6Yy5mbi5vdXRlckhlaWdodH07Yy5mblsiaW5uZXIiK2JdPWZ1bmN0aW9uKGYpe2lmKGY9PT1qKXJldHVybiBpWyJpbm5lciIrYl0uY2FsbCh0aGlzKTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7Yyh0aGlzKS5jc3MoaCxkKHRoaXMsZikrInB4Iil9KX07Yy5mblsib3V0ZXIiK2JdPWZ1bmN0aW9uKGYsZyl7aWYodHlwZW9mIGYhPT0ibnVtYmVyIilyZXR1cm4gaVsib3V0ZXIiK2JdLmNhbGwodGhpcyxmKTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7Yyh0aGlzKS5jc3MoaCxkKHRoaXMsZix0cnVlLGcpKyJweCIpfSl9fSk7Yy5leHRlbmQoYy5leHByWyI6Il0se2RhdGE6ZnVuY3Rpb24oYSxiLGQpe3JldHVybiEhYy5kYXRhKGEsZFszXSl9LGZvY3VzYWJsZTpmdW5jdGlvbihhKXtyZXR1cm4gayhhLCFpc05hTihjLmF0dHIoYSwidGFiaW5kZXgiKSkpfSx0YWJiYWJsZTpmdW5jdGlvbihhKXt2YXIgYj1jLmF0dHIoYSwidGFiaW5kZXgiKSxkPWlzTmFOKGIpOwpyZXR1cm4oZHx8Yj49MCkmJmsoYSwhZCl9fSk7YyhmdW5jdGlvbigpe3ZhciBhPWRvY3VtZW50LmJvZHksYj1hLmFwcGVuZENoaWxkKGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikpO2MuZXh0ZW5kKGIuc3R5bGUse21pbkhlaWdodDoiMTAwcHgiLGhlaWdodDoiYXV0byIscGFkZGluZzowLGJvcmRlcldpZHRoOjB9KTtjLnN1cHBvcnQubWluSGVpZ2h0PWIub2Zmc2V0SGVpZ2h0PT09MTAwO2Muc3VwcG9ydC5zZWxlY3RzdGFydD0ib25zZWxlY3RzdGFydCJpbiBiO2EucmVtb3ZlQ2hpbGQoYikuc3R5bGUuZGlzcGxheT0ibm9uZSJ9KTtjLmV4dGVuZChjLnVpLHtwbHVnaW46e2FkZDpmdW5jdGlvbihhLGIsZCl7YT1jLnVpW2FdLnByb3RvdHlwZTtmb3IodmFyIGUgaW4gZCl7YS5wbHVnaW5zW2VdPWEucGx1Z2luc1tlXXx8W107YS5wbHVnaW5zW2VdLnB1c2goW2IsZFtlXV0pfX0sY2FsbDpmdW5jdGlvbihhLGIsZCl7aWYoKGI9YS5wbHVnaW5zW2JdKSYmYS5lbGVtZW50WzBdLnBhcmVudE5vZGUpZm9yKHZhciBlPQowO2U8Yi5sZW5ndGg7ZSsrKWEub3B0aW9uc1tiW2VdWzBdXSYmYltlXVsxXS5hcHBseShhLmVsZW1lbnQsZCl9fSxjb250YWluczpmdW5jdGlvbihhLGIpe3JldHVybiBkb2N1bWVudC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbj9hLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpJjE2OmEhPT1iJiZhLmNvbnRhaW5zKGIpfSxoYXNTY3JvbGw6ZnVuY3Rpb24oYSxiKXtpZihjKGEpLmNzcygib3ZlcmZsb3ciKT09PSJoaWRkZW4iKXJldHVybiBmYWxzZTtiPWImJmI9PT0ibGVmdCI/InNjcm9sbExlZnQiOiJzY3JvbGxUb3AiO3ZhciBkPWZhbHNlO2lmKGFbYl0+MClyZXR1cm4gdHJ1ZTthW2JdPTE7ZD1hW2JdPjA7YVtiXT0wO3JldHVybiBkfSxpc092ZXJBeGlzOmZ1bmN0aW9uKGEsYixkKXtyZXR1cm4gYT5iJiZhPGIrZH0saXNPdmVyOmZ1bmN0aW9uKGEsYixkLGUsaCxpKXtyZXR1cm4gYy51aS5pc092ZXJBeGlzKGEsZCxoKSYmYy51aS5pc092ZXJBeGlzKGIsZSxpKX19KX19KShqUXVlcnkpOwo7LyohCiAqIGpRdWVyeSBVSSBXaWRnZXQgMS44LjE0CiAqCiAqIENvcHlyaWdodCAyMDExLCBBVVRIT1JTLnR4dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMuCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKICoKICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9XaWRnZXQKICovCihmdW5jdGlvbihiLGope2lmKGIuY2xlYW5EYXRhKXt2YXIgaz1iLmNsZWFuRGF0YTtiLmNsZWFuRGF0YT1mdW5jdGlvbihhKXtmb3IodmFyIGM9MCxkOyhkPWFbY10pIT1udWxsO2MrKyliKGQpLnRyaWdnZXJIYW5kbGVyKCJyZW1vdmUiKTtrKGEpfX1lbHNle3ZhciBsPWIuZm4ucmVtb3ZlO2IuZm4ucmVtb3ZlPWZ1bmN0aW9uKGEsYyl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2lmKCFjKWlmKCFhfHxiLmZpbHRlcihhLFt0aGlzXSkubGVuZ3RoKWIoIioiLHRoaXMpLmFkZChbdGhpc10pLmVhY2goZnVuY3Rpb24oKXtiKHRoaXMpLnRyaWdnZXJIYW5kbGVyKCJyZW1vdmUiKX0pO3JldHVybiBsLmNhbGwoYih0aGlzKSxhLGMpfSl9fWIud2lkZ2V0PWZ1bmN0aW9uKGEsYyxkKXt2YXIgZT1hLnNwbGl0KCIuIilbMF0sZjthPWEuc3BsaXQoIi4iKVsxXTtmPWUrIi0iK2E7aWYoIWQpe2Q9YztjPWIuV2lkZ2V0fWIuZXhwclsiOiJdW2ZdPWZ1bmN0aW9uKGgpe3JldHVybiEhYi5kYXRhKGgsCmEpfTtiW2VdPWJbZV18fHt9O2JbZV1bYV09ZnVuY3Rpb24oaCxnKXthcmd1bWVudHMubGVuZ3RoJiZ0aGlzLl9jcmVhdGVXaWRnZXQoaCxnKX07Yz1uZXcgYztjLm9wdGlvbnM9Yi5leHRlbmQodHJ1ZSx7fSxjLm9wdGlvbnMpO2JbZV1bYV0ucHJvdG90eXBlPWIuZXh0ZW5kKHRydWUsYyx7bmFtZXNwYWNlOmUsd2lkZ2V0TmFtZTphLHdpZGdldEV2ZW50UHJlZml4OmJbZV1bYV0ucHJvdG90eXBlLndpZGdldEV2ZW50UHJlZml4fHxhLHdpZGdldEJhc2VDbGFzczpmfSxkKTtiLndpZGdldC5icmlkZ2UoYSxiW2VdW2FdKX07Yi53aWRnZXQuYnJpZGdlPWZ1bmN0aW9uKGEsYyl7Yi5mblthXT1mdW5jdGlvbihkKXt2YXIgZT10eXBlb2YgZD09PSJzdHJpbmciLGY9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpLGg9dGhpcztkPSFlJiZmLmxlbmd0aD9iLmV4dGVuZC5hcHBseShudWxsLFt0cnVlLGRdLmNvbmNhdChmKSk6ZDtpZihlJiZkLmNoYXJBdCgwKT09PSJfIilyZXR1cm4gaDsKZT90aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgZz1iLmRhdGEodGhpcyxhKSxpPWcmJmIuaXNGdW5jdGlvbihnW2RdKT9nW2RdLmFwcGx5KGcsZik6ZztpZihpIT09ZyYmaSE9PWope2g9aTtyZXR1cm4gZmFsc2V9fSk6dGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGc9Yi5kYXRhKHRoaXMsYSk7Zz9nLm9wdGlvbihkfHx7fSkuX2luaXQoKTpiLmRhdGEodGhpcyxhLG5ldyBjKGQsdGhpcykpfSk7cmV0dXJuIGh9fTtiLldpZGdldD1mdW5jdGlvbihhLGMpe2FyZ3VtZW50cy5sZW5ndGgmJnRoaXMuX2NyZWF0ZVdpZGdldChhLGMpfTtiLldpZGdldC5wcm90b3R5cGU9e3dpZGdldE5hbWU6IndpZGdldCIsd2lkZ2V0RXZlbnRQcmVmaXg6IiIsb3B0aW9uczp7ZGlzYWJsZWQ6ZmFsc2V9LF9jcmVhdGVXaWRnZXQ6ZnVuY3Rpb24oYSxjKXtiLmRhdGEoYyx0aGlzLndpZGdldE5hbWUsdGhpcyk7dGhpcy5lbGVtZW50PWIoYyk7dGhpcy5vcHRpb25zPWIuZXh0ZW5kKHRydWUse30sdGhpcy5vcHRpb25zLAp0aGlzLl9nZXRDcmVhdGVPcHRpb25zKCksYSk7dmFyIGQ9dGhpczt0aGlzLmVsZW1lbnQuYmluZCgicmVtb3ZlLiIrdGhpcy53aWRnZXROYW1lLGZ1bmN0aW9uKCl7ZC5kZXN0cm95KCl9KTt0aGlzLl9jcmVhdGUoKTt0aGlzLl90cmlnZ2VyKCJjcmVhdGUiKTt0aGlzLl9pbml0KCl9LF9nZXRDcmVhdGVPcHRpb25zOmZ1bmN0aW9uKCl7cmV0dXJuIGIubWV0YWRhdGEmJmIubWV0YWRhdGEuZ2V0KHRoaXMuZWxlbWVudFswXSlbdGhpcy53aWRnZXROYW1lXX0sX2NyZWF0ZTpmdW5jdGlvbigpe30sX2luaXQ6ZnVuY3Rpb24oKXt9LGRlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLmVsZW1lbnQudW5iaW5kKCIuIit0aGlzLndpZGdldE5hbWUpLnJlbW92ZURhdGEodGhpcy53aWRnZXROYW1lKTt0aGlzLndpZGdldCgpLnVuYmluZCgiLiIrdGhpcy53aWRnZXROYW1lKS5yZW1vdmVBdHRyKCJhcmlhLWRpc2FibGVkIikucmVtb3ZlQ2xhc3ModGhpcy53aWRnZXRCYXNlQ2xhc3MrIi1kaXNhYmxlZCB1aS1zdGF0ZS1kaXNhYmxlZCIpfSwKd2lkZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWxlbWVudH0sb3B0aW9uOmZ1bmN0aW9uKGEsYyl7dmFyIGQ9YTtpZihhcmd1bWVudHMubGVuZ3RoPT09MClyZXR1cm4gYi5leHRlbmQoe30sdGhpcy5vcHRpb25zKTtpZih0eXBlb2YgYT09PSJzdHJpbmciKXtpZihjPT09ailyZXR1cm4gdGhpcy5vcHRpb25zW2FdO2Q9e307ZFthXT1jfXRoaXMuX3NldE9wdGlvbnMoZCk7cmV0dXJuIHRoaXN9LF9zZXRPcHRpb25zOmZ1bmN0aW9uKGEpe3ZhciBjPXRoaXM7Yi5lYWNoKGEsZnVuY3Rpb24oZCxlKXtjLl9zZXRPcHRpb24oZCxlKX0pO3JldHVybiB0aGlzfSxfc2V0T3B0aW9uOmZ1bmN0aW9uKGEsYyl7dGhpcy5vcHRpb25zW2FdPWM7aWYoYT09PSJkaXNhYmxlZCIpdGhpcy53aWRnZXQoKVtjPyJhZGRDbGFzcyI6InJlbW92ZUNsYXNzIl0odGhpcy53aWRnZXRCYXNlQ2xhc3MrIi1kaXNhYmxlZCB1aS1zdGF0ZS1kaXNhYmxlZCIpLmF0dHIoImFyaWEtZGlzYWJsZWQiLGMpO3JldHVybiB0aGlzfSwKZW5hYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3NldE9wdGlvbigiZGlzYWJsZWQiLGZhbHNlKX0sZGlzYWJsZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9zZXRPcHRpb24oImRpc2FibGVkIix0cnVlKX0sX3RyaWdnZXI6ZnVuY3Rpb24oYSxjLGQpe3ZhciBlPXRoaXMub3B0aW9uc1thXTtjPWIuRXZlbnQoYyk7Yy50eXBlPShhPT09dGhpcy53aWRnZXRFdmVudFByZWZpeD9hOnRoaXMud2lkZ2V0RXZlbnRQcmVmaXgrYSkudG9Mb3dlckNhc2UoKTtkPWR8fHt9O2lmKGMub3JpZ2luYWxFdmVudCl7YT1iLmV2ZW50LnByb3BzLmxlbmd0aDtmb3IodmFyIGY7YTspe2Y9Yi5ldmVudC5wcm9wc1stLWFdO2NbZl09Yy5vcmlnaW5hbEV2ZW50W2ZdfX10aGlzLmVsZW1lbnQudHJpZ2dlcihjLGQpO3JldHVybiEoYi5pc0Z1bmN0aW9uKGUpJiZlLmNhbGwodGhpcy5lbGVtZW50WzBdLGMsZCk9PT1mYWxzZXx8Yy5pc0RlZmF1bHRQcmV2ZW50ZWQoKSl9fX0pKGpRdWVyeSk7CjsvKiEKICogalF1ZXJ5IFVJIE1vdXNlIDEuOC4xNAogKgogKiBDb3B5cmlnaHQgMjAxMSwgQVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20vYWJvdXQpCiAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBvciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2VzLgogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCiAqCiAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20vVUkvTW91c2UKICoKICogRGVwZW5kczoKICoJanF1ZXJ5LnVpLndpZGdldC5qcwogKi8KKGZ1bmN0aW9uKGIpe3ZhciBkPWZhbHNlO2IoZG9jdW1lbnQpLm1vdXNlZG93bihmdW5jdGlvbigpe2Q9ZmFsc2V9KTtiLndpZGdldCgidWkubW91c2UiLHtvcHRpb25zOntjYW5jZWw6IjppbnB1dCxvcHRpb24iLGRpc3RhbmNlOjEsZGVsYXk6MH0sX21vdXNlSW5pdDpmdW5jdGlvbigpe3ZhciBhPXRoaXM7dGhpcy5lbGVtZW50LmJpbmQoIm1vdXNlZG93bi4iK3RoaXMud2lkZ2V0TmFtZSxmdW5jdGlvbihjKXtyZXR1cm4gYS5fbW91c2VEb3duKGMpfSkuYmluZCgiY2xpY2suIit0aGlzLndpZGdldE5hbWUsZnVuY3Rpb24oYyl7aWYodHJ1ZT09PWIuZGF0YShjLnRhcmdldCxhLndpZGdldE5hbWUrIi5wcmV2ZW50Q2xpY2tFdmVudCIpKXtiLnJlbW92ZURhdGEoYy50YXJnZXQsYS53aWRnZXROYW1lKyIucHJldmVudENsaWNrRXZlbnQiKTtjLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO3JldHVybiBmYWxzZX19KTt0aGlzLnN0YXJ0ZWQ9ZmFsc2V9LF9tb3VzZURlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLmVsZW1lbnQudW5iaW5kKCIuIisKdGhpcy53aWRnZXROYW1lKX0sX21vdXNlRG93bjpmdW5jdGlvbihhKXtpZighZCl7dGhpcy5fbW91c2VTdGFydGVkJiZ0aGlzLl9tb3VzZVVwKGEpO3RoaXMuX21vdXNlRG93bkV2ZW50PWE7dmFyIGM9dGhpcyxmPWEud2hpY2g9PTEsZz10eXBlb2YgdGhpcy5vcHRpb25zLmNhbmNlbD09InN0cmluZyI/YihhLnRhcmdldCkuY2xvc2VzdCh0aGlzLm9wdGlvbnMuY2FuY2VsKS5sZW5ndGg6ZmFsc2U7aWYoIWZ8fGd8fCF0aGlzLl9tb3VzZUNhcHR1cmUoYSkpcmV0dXJuIHRydWU7dGhpcy5tb3VzZURlbGF5TWV0PSF0aGlzLm9wdGlvbnMuZGVsYXk7aWYoIXRoaXMubW91c2VEZWxheU1ldCl0aGlzLl9tb3VzZURlbGF5VGltZXI9c2V0VGltZW91dChmdW5jdGlvbigpe2MubW91c2VEZWxheU1ldD10cnVlfSx0aGlzLm9wdGlvbnMuZGVsYXkpO2lmKHRoaXMuX21vdXNlRGlzdGFuY2VNZXQoYSkmJnRoaXMuX21vdXNlRGVsYXlNZXQoYSkpe3RoaXMuX21vdXNlU3RhcnRlZD10aGlzLl9tb3VzZVN0YXJ0KGEpIT09CmZhbHNlO2lmKCF0aGlzLl9tb3VzZVN0YXJ0ZWQpe2EucHJldmVudERlZmF1bHQoKTtyZXR1cm4gdHJ1ZX19dHJ1ZT09PWIuZGF0YShhLnRhcmdldCx0aGlzLndpZGdldE5hbWUrIi5wcmV2ZW50Q2xpY2tFdmVudCIpJiZiLnJlbW92ZURhdGEoYS50YXJnZXQsdGhpcy53aWRnZXROYW1lKyIucHJldmVudENsaWNrRXZlbnQiKTt0aGlzLl9tb3VzZU1vdmVEZWxlZ2F0ZT1mdW5jdGlvbihlKXtyZXR1cm4gYy5fbW91c2VNb3ZlKGUpfTt0aGlzLl9tb3VzZVVwRGVsZWdhdGU9ZnVuY3Rpb24oZSl7cmV0dXJuIGMuX21vdXNlVXAoZSl9O2IoZG9jdW1lbnQpLmJpbmQoIm1vdXNlbW92ZS4iK3RoaXMud2lkZ2V0TmFtZSx0aGlzLl9tb3VzZU1vdmVEZWxlZ2F0ZSkuYmluZCgibW91c2V1cC4iK3RoaXMud2lkZ2V0TmFtZSx0aGlzLl9tb3VzZVVwRGVsZWdhdGUpO2EucHJldmVudERlZmF1bHQoKTtyZXR1cm4gZD10cnVlfX0sX21vdXNlTW92ZTpmdW5jdGlvbihhKXtpZihiLmJyb3dzZXIubXNpZSYmCiEoZG9jdW1lbnQuZG9jdW1lbnRNb2RlPj05KSYmIWEuYnV0dG9uKXJldHVybiB0aGlzLl9tb3VzZVVwKGEpO2lmKHRoaXMuX21vdXNlU3RhcnRlZCl7dGhpcy5fbW91c2VEcmFnKGEpO3JldHVybiBhLnByZXZlbnREZWZhdWx0KCl9aWYodGhpcy5fbW91c2VEaXN0YW5jZU1ldChhKSYmdGhpcy5fbW91c2VEZWxheU1ldChhKSkodGhpcy5fbW91c2VTdGFydGVkPXRoaXMuX21vdXNlU3RhcnQodGhpcy5fbW91c2VEb3duRXZlbnQsYSkhPT1mYWxzZSk/dGhpcy5fbW91c2VEcmFnKGEpOnRoaXMuX21vdXNlVXAoYSk7cmV0dXJuIXRoaXMuX21vdXNlU3RhcnRlZH0sX21vdXNlVXA6ZnVuY3Rpb24oYSl7Yihkb2N1bWVudCkudW5iaW5kKCJtb3VzZW1vdmUuIit0aGlzLndpZGdldE5hbWUsdGhpcy5fbW91c2VNb3ZlRGVsZWdhdGUpLnVuYmluZCgibW91c2V1cC4iK3RoaXMud2lkZ2V0TmFtZSx0aGlzLl9tb3VzZVVwRGVsZWdhdGUpO2lmKHRoaXMuX21vdXNlU3RhcnRlZCl7dGhpcy5fbW91c2VTdGFydGVkPQpmYWxzZTthLnRhcmdldD09dGhpcy5fbW91c2VEb3duRXZlbnQudGFyZ2V0JiZiLmRhdGEoYS50YXJnZXQsdGhpcy53aWRnZXROYW1lKyIucHJldmVudENsaWNrRXZlbnQiLHRydWUpO3RoaXMuX21vdXNlU3RvcChhKX1yZXR1cm4gZmFsc2V9LF9tb3VzZURpc3RhbmNlTWV0OmZ1bmN0aW9uKGEpe3JldHVybiBNYXRoLm1heChNYXRoLmFicyh0aGlzLl9tb3VzZURvd25FdmVudC5wYWdlWC1hLnBhZ2VYKSxNYXRoLmFicyh0aGlzLl9tb3VzZURvd25FdmVudC5wYWdlWS1hLnBhZ2VZKSk+PXRoaXMub3B0aW9ucy5kaXN0YW5jZX0sX21vdXNlRGVsYXlNZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tb3VzZURlbGF5TWV0fSxfbW91c2VTdGFydDpmdW5jdGlvbigpe30sX21vdXNlRHJhZzpmdW5jdGlvbigpe30sX21vdXNlU3RvcDpmdW5jdGlvbigpe30sX21vdXNlQ2FwdHVyZTpmdW5jdGlvbigpe3JldHVybiB0cnVlfX0pfSkoalF1ZXJ5KTsKOy8qCiAqIGpRdWVyeSBVSSBQb3NpdGlvbiAxLjguMTQKICoKICogQ29weXJpZ2h0IDIwMTEsIEFVVEhPUlMudHh0IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0KQogKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQogKgogKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL1Bvc2l0aW9uCiAqLwooZnVuY3Rpb24oYyl7Yy51aT1jLnVpfHx7fTt2YXIgbj0vbGVmdHxjZW50ZXJ8cmlnaHQvLG89L3RvcHxjZW50ZXJ8Ym90dG9tLyx0PWMuZm4ucG9zaXRpb24sdT1jLmZuLm9mZnNldDtjLmZuLnBvc2l0aW9uPWZ1bmN0aW9uKGIpe2lmKCFifHwhYi5vZilyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyk7Yj1jLmV4dGVuZCh7fSxiKTt2YXIgYT1jKGIub2YpLGQ9YVswXSxnPShiLmNvbGxpc2lvbnx8ImZsaXAiKS5zcGxpdCgiICIpLGU9Yi5vZmZzZXQ/Yi5vZmZzZXQuc3BsaXQoIiAiKTpbMCwwXSxoLGssajtpZihkLm5vZGVUeXBlPT09OSl7aD1hLndpZHRoKCk7az1hLmhlaWdodCgpO2o9e3RvcDowLGxlZnQ6MH19ZWxzZSBpZihkLnNldFRpbWVvdXQpe2g9YS53aWR0aCgpO2s9YS5oZWlnaHQoKTtqPXt0b3A6YS5zY3JvbGxUb3AoKSxsZWZ0OmEuc2Nyb2xsTGVmdCgpfX1lbHNlIGlmKGQucHJldmVudERlZmF1bHQpe2IuYXQ9ImxlZnQgdG9wIjtoPWs9MDtqPXt0b3A6Yi5vZi5wYWdlWSwKbGVmdDpiLm9mLnBhZ2VYfX1lbHNle2g9YS5vdXRlcldpZHRoKCk7az1hLm91dGVySGVpZ2h0KCk7aj1hLm9mZnNldCgpfWMuZWFjaChbIm15IiwiYXQiXSxmdW5jdGlvbigpe3ZhciBmPShiW3RoaXNdfHwiIikuc3BsaXQoIiAiKTtpZihmLmxlbmd0aD09PTEpZj1uLnRlc3QoZlswXSk/Zi5jb25jYXQoWyJjZW50ZXIiXSk6by50ZXN0KGZbMF0pP1siY2VudGVyIl0uY29uY2F0KGYpOlsiY2VudGVyIiwiY2VudGVyIl07ZlswXT1uLnRlc3QoZlswXSk/ZlswXToiY2VudGVyIjtmWzFdPW8udGVzdChmWzFdKT9mWzFdOiJjZW50ZXIiO2JbdGhpc109Zn0pO2lmKGcubGVuZ3RoPT09MSlnWzFdPWdbMF07ZVswXT1wYXJzZUludChlWzBdLDEwKXx8MDtpZihlLmxlbmd0aD09PTEpZVsxXT1lWzBdO2VbMV09cGFyc2VJbnQoZVsxXSwxMCl8fDA7aWYoYi5hdFswXT09PSJyaWdodCIpai5sZWZ0Kz1oO2Vsc2UgaWYoYi5hdFswXT09PSJjZW50ZXIiKWoubGVmdCs9aC8yO2lmKGIuYXRbMV09PT0iYm90dG9tIilqLnRvcCs9Cms7ZWxzZSBpZihiLmF0WzFdPT09ImNlbnRlciIpai50b3ArPWsvMjtqLmxlZnQrPWVbMF07ai50b3ArPWVbMV07cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBmPWModGhpcyksbD1mLm91dGVyV2lkdGgoKSxtPWYub3V0ZXJIZWlnaHQoKSxwPXBhcnNlSW50KGMuY3VyQ1NTKHRoaXMsIm1hcmdpbkxlZnQiLHRydWUpKXx8MCxxPXBhcnNlSW50KGMuY3VyQ1NTKHRoaXMsIm1hcmdpblRvcCIsdHJ1ZSkpfHwwLHY9bCtwKyhwYXJzZUludChjLmN1ckNTUyh0aGlzLCJtYXJnaW5SaWdodCIsdHJ1ZSkpfHwwKSx3PW0rcSsocGFyc2VJbnQoYy5jdXJDU1ModGhpcywibWFyZ2luQm90dG9tIix0cnVlKSl8fDApLGk9Yy5leHRlbmQoe30saikscjtpZihiLm15WzBdPT09InJpZ2h0IilpLmxlZnQtPWw7ZWxzZSBpZihiLm15WzBdPT09ImNlbnRlciIpaS5sZWZ0LT1sLzI7aWYoYi5teVsxXT09PSJib3R0b20iKWkudG9wLT1tO2Vsc2UgaWYoYi5teVsxXT09PSJjZW50ZXIiKWkudG9wLT0KbS8yO2kubGVmdD1NYXRoLnJvdW5kKGkubGVmdCk7aS50b3A9TWF0aC5yb3VuZChpLnRvcCk7cj17bGVmdDppLmxlZnQtcCx0b3A6aS50b3AtcX07Yy5lYWNoKFsibGVmdCIsInRvcCJdLGZ1bmN0aW9uKHMseCl7Yy51aS5wb3NpdGlvbltnW3NdXSYmYy51aS5wb3NpdGlvbltnW3NdXVt4XShpLHt0YXJnZXRXaWR0aDpoLHRhcmdldEhlaWdodDprLGVsZW1XaWR0aDpsLGVsZW1IZWlnaHQ6bSxjb2xsaXNpb25Qb3NpdGlvbjpyLGNvbGxpc2lvbldpZHRoOnYsY29sbGlzaW9uSGVpZ2h0Oncsb2Zmc2V0OmUsbXk6Yi5teSxhdDpiLmF0fSl9KTtjLmZuLmJnaWZyYW1lJiZmLmJnaWZyYW1lKCk7Zi5vZmZzZXQoYy5leHRlbmQoaSx7dXNpbmc6Yi51c2luZ30pKX0pfTtjLnVpLnBvc2l0aW9uPXtmaXQ6e2xlZnQ6ZnVuY3Rpb24oYixhKXt2YXIgZD1jKHdpbmRvdyk7ZD1hLmNvbGxpc2lvblBvc2l0aW9uLmxlZnQrYS5jb2xsaXNpb25XaWR0aC1kLndpZHRoKCktZC5zY3JvbGxMZWZ0KCk7Yi5sZWZ0PQpkPjA/Yi5sZWZ0LWQ6TWF0aC5tYXgoYi5sZWZ0LWEuY29sbGlzaW9uUG9zaXRpb24ubGVmdCxiLmxlZnQpfSx0b3A6ZnVuY3Rpb24oYixhKXt2YXIgZD1jKHdpbmRvdyk7ZD1hLmNvbGxpc2lvblBvc2l0aW9uLnRvcCthLmNvbGxpc2lvbkhlaWdodC1kLmhlaWdodCgpLWQuc2Nyb2xsVG9wKCk7Yi50b3A9ZD4wP2IudG9wLWQ6TWF0aC5tYXgoYi50b3AtYS5jb2xsaXNpb25Qb3NpdGlvbi50b3AsYi50b3ApfX0sZmxpcDp7bGVmdDpmdW5jdGlvbihiLGEpe2lmKGEuYXRbMF0hPT0iY2VudGVyIil7dmFyIGQ9Yyh3aW5kb3cpO2Q9YS5jb2xsaXNpb25Qb3NpdGlvbi5sZWZ0K2EuY29sbGlzaW9uV2lkdGgtZC53aWR0aCgpLWQuc2Nyb2xsTGVmdCgpO3ZhciBnPWEubXlbMF09PT0ibGVmdCI/LWEuZWxlbVdpZHRoOmEubXlbMF09PT0icmlnaHQiP2EuZWxlbVdpZHRoOjAsZT1hLmF0WzBdPT09ImxlZnQiP2EudGFyZ2V0V2lkdGg6LWEudGFyZ2V0V2lkdGgsaD0tMiphLm9mZnNldFswXTtiLmxlZnQrPQphLmNvbGxpc2lvblBvc2l0aW9uLmxlZnQ8MD9nK2UraDpkPjA/ZytlK2g6MH19LHRvcDpmdW5jdGlvbihiLGEpe2lmKGEuYXRbMV0hPT0iY2VudGVyIil7dmFyIGQ9Yyh3aW5kb3cpO2Q9YS5jb2xsaXNpb25Qb3NpdGlvbi50b3ArYS5jb2xsaXNpb25IZWlnaHQtZC5oZWlnaHQoKS1kLnNjcm9sbFRvcCgpO3ZhciBnPWEubXlbMV09PT0idG9wIj8tYS5lbGVtSGVpZ2h0OmEubXlbMV09PT0iYm90dG9tIj9hLmVsZW1IZWlnaHQ6MCxlPWEuYXRbMV09PT0idG9wIj9hLnRhcmdldEhlaWdodDotYS50YXJnZXRIZWlnaHQsaD0tMiphLm9mZnNldFsxXTtiLnRvcCs9YS5jb2xsaXNpb25Qb3NpdGlvbi50b3A8MD9nK2UraDpkPjA/ZytlK2g6MH19fX07aWYoIWMub2Zmc2V0LnNldE9mZnNldCl7Yy5vZmZzZXQuc2V0T2Zmc2V0PWZ1bmN0aW9uKGIsYSl7aWYoL3N0YXRpYy8udGVzdChjLmN1ckNTUyhiLCJwb3NpdGlvbiIpKSliLnN0eWxlLnBvc2l0aW9uPSJyZWxhdGl2ZSI7dmFyIGQ9YyhiKSwKZz1kLm9mZnNldCgpLGU9cGFyc2VJbnQoYy5jdXJDU1MoYiwidG9wIix0cnVlKSwxMCl8fDAsaD1wYXJzZUludChjLmN1ckNTUyhiLCJsZWZ0Iix0cnVlKSwxMCl8fDA7Zz17dG9wOmEudG9wLWcudG9wK2UsbGVmdDphLmxlZnQtZy5sZWZ0K2h9OyJ1c2luZyJpbiBhP2EudXNpbmcuY2FsbChiLGcpOmQuY3NzKGcpfTtjLmZuLm9mZnNldD1mdW5jdGlvbihiKXt2YXIgYT10aGlzWzBdO2lmKCFhfHwhYS5vd25lckRvY3VtZW50KXJldHVybiBudWxsO2lmKGIpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2Mub2Zmc2V0LnNldE9mZnNldCh0aGlzLGIpfSk7cmV0dXJuIHUuY2FsbCh0aGlzKX19fSkoalF1ZXJ5KTsKOy8qCiAqIGpRdWVyeSBVSSBTbGlkZXIgMS44LjE0CiAqCiAqIENvcHlyaWdodCAyMDExLCBBVVRIT1JTLnR4dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMuCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKICoKICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9TbGlkZXIKICoKICogRGVwZW5kczoKICoJanF1ZXJ5LnVpLmNvcmUuanMKICoJanF1ZXJ5LnVpLm1vdXNlLmpzCiAqCWpxdWVyeS51aS53aWRnZXQuanMKICovCihmdW5jdGlvbihkKXtkLndpZGdldCgidWkuc2xpZGVyIixkLnVpLm1vdXNlLHt3aWRnZXRFdmVudFByZWZpeDoic2xpZGUiLG9wdGlvbnM6e2FuaW1hdGU6ZmFsc2UsZGlzdGFuY2U6MCxtYXg6MTAwLG1pbjowLG9yaWVudGF0aW9uOiJob3Jpem9udGFsIixyYW5nZTpmYWxzZSxzdGVwOjEsdmFsdWU6MCx2YWx1ZXM6bnVsbH0sX2NyZWF0ZTpmdW5jdGlvbigpe3ZhciBiPXRoaXMsYT10aGlzLm9wdGlvbnMsYz10aGlzLmVsZW1lbnQuZmluZCgiLnVpLXNsaWRlci1oYW5kbGUiKS5hZGRDbGFzcygidWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIiksZj1hLnZhbHVlcyYmYS52YWx1ZXMubGVuZ3RofHwxLGU9W107dGhpcy5fbW91c2VTbGlkaW5nPXRoaXMuX2tleVNsaWRpbmc9ZmFsc2U7dGhpcy5fYW5pbWF0ZU9mZj10cnVlO3RoaXMuX2hhbmRsZUluZGV4PW51bGw7dGhpcy5fZGV0ZWN0T3JpZW50YXRpb24oKTt0aGlzLl9tb3VzZUluaXQoKTt0aGlzLmVsZW1lbnQuYWRkQ2xhc3MoInVpLXNsaWRlciB1aS1zbGlkZXItIisKdGhpcy5vcmllbnRhdGlvbisiIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIisoYS5kaXNhYmxlZD8iIHVpLXNsaWRlci1kaXNhYmxlZCB1aS1kaXNhYmxlZCI6IiIpKTt0aGlzLnJhbmdlPWQoW10pO2lmKGEucmFuZ2Upe2lmKGEucmFuZ2U9PT10cnVlKXtpZighYS52YWx1ZXMpYS52YWx1ZXM9W3RoaXMuX3ZhbHVlTWluKCksdGhpcy5fdmFsdWVNaW4oKV07aWYoYS52YWx1ZXMubGVuZ3RoJiZhLnZhbHVlcy5sZW5ndGghPT0yKWEudmFsdWVzPVthLnZhbHVlc1swXSxhLnZhbHVlc1swXV19dGhpcy5yYW5nZT1kKCI8ZGl2PjwvZGl2PiIpLmFwcGVuZFRvKHRoaXMuZWxlbWVudCkuYWRkQ2xhc3MoInVpLXNsaWRlci1yYW5nZSB1aS13aWRnZXQtaGVhZGVyIisoYS5yYW5nZT09PSJtaW4ifHxhLnJhbmdlPT09Im1heCI/IiB1aS1zbGlkZXItcmFuZ2UtIithLnJhbmdlOiIiKSl9Zm9yKHZhciBqPWMubGVuZ3RoO2o8ZjtqKz0xKWUucHVzaCgiPGEgY2xhc3M9J3VpLXNsaWRlci1oYW5kbGUgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsJyBocmVmPScjJz48L2E+Iik7CnRoaXMuaGFuZGxlcz1jLmFkZChkKGUuam9pbigiIikpLmFwcGVuZFRvKGIuZWxlbWVudCkpO3RoaXMuaGFuZGxlPXRoaXMuaGFuZGxlcy5lcSgwKTt0aGlzLmhhbmRsZXMuYWRkKHRoaXMucmFuZ2UpLmZpbHRlcigiYSIpLmNsaWNrKGZ1bmN0aW9uKGcpe2cucHJldmVudERlZmF1bHQoKX0pLmhvdmVyKGZ1bmN0aW9uKCl7YS5kaXNhYmxlZHx8ZCh0aGlzKS5hZGRDbGFzcygidWktc3RhdGUtaG92ZXIiKX0sZnVuY3Rpb24oKXtkKHRoaXMpLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1ob3ZlciIpfSkuZm9jdXMoZnVuY3Rpb24oKXtpZihhLmRpc2FibGVkKWQodGhpcykuYmx1cigpO2Vsc2V7ZCgiLnVpLXNsaWRlciAudWktc3RhdGUtZm9jdXMiKS5yZW1vdmVDbGFzcygidWktc3RhdGUtZm9jdXMiKTtkKHRoaXMpLmFkZENsYXNzKCJ1aS1zdGF0ZS1mb2N1cyIpfX0pLmJsdXIoZnVuY3Rpb24oKXtkKHRoaXMpLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1mb2N1cyIpfSk7dGhpcy5oYW5kbGVzLmVhY2goZnVuY3Rpb24oZyl7ZCh0aGlzKS5kYXRhKCJpbmRleC51aS1zbGlkZXItaGFuZGxlIiwKZyl9KTt0aGlzLmhhbmRsZXMua2V5ZG93bihmdW5jdGlvbihnKXt2YXIgaz10cnVlLGw9ZCh0aGlzKS5kYXRhKCJpbmRleC51aS1zbGlkZXItaGFuZGxlIiksaSxoLG07aWYoIWIub3B0aW9ucy5kaXNhYmxlZCl7c3dpdGNoKGcua2V5Q29kZSl7Y2FzZSBkLnVpLmtleUNvZGUuSE9NRTpjYXNlIGQudWkua2V5Q29kZS5FTkQ6Y2FzZSBkLnVpLmtleUNvZGUuUEFHRV9VUDpjYXNlIGQudWkua2V5Q29kZS5QQUdFX0RPV046Y2FzZSBkLnVpLmtleUNvZGUuVVA6Y2FzZSBkLnVpLmtleUNvZGUuUklHSFQ6Y2FzZSBkLnVpLmtleUNvZGUuRE9XTjpjYXNlIGQudWkua2V5Q29kZS5MRUZUOms9ZmFsc2U7aWYoIWIuX2tleVNsaWRpbmcpe2IuX2tleVNsaWRpbmc9dHJ1ZTtkKHRoaXMpLmFkZENsYXNzKCJ1aS1zdGF0ZS1hY3RpdmUiKTtpPWIuX3N0YXJ0KGcsbCk7aWYoaT09PWZhbHNlKXJldHVybn1icmVha31tPWIub3B0aW9ucy5zdGVwO2k9Yi5vcHRpb25zLnZhbHVlcyYmYi5vcHRpb25zLnZhbHVlcy5sZW5ndGg/CihoPWIudmFsdWVzKGwpKTooaD1iLnZhbHVlKCkpO3N3aXRjaChnLmtleUNvZGUpe2Nhc2UgZC51aS5rZXlDb2RlLkhPTUU6aD1iLl92YWx1ZU1pbigpO2JyZWFrO2Nhc2UgZC51aS5rZXlDb2RlLkVORDpoPWIuX3ZhbHVlTWF4KCk7YnJlYWs7Y2FzZSBkLnVpLmtleUNvZGUuUEFHRV9VUDpoPWIuX3RyaW1BbGlnblZhbHVlKGkrKGIuX3ZhbHVlTWF4KCktYi5fdmFsdWVNaW4oKSkvNSk7YnJlYWs7Y2FzZSBkLnVpLmtleUNvZGUuUEFHRV9ET1dOOmg9Yi5fdHJpbUFsaWduVmFsdWUoaS0oYi5fdmFsdWVNYXgoKS1iLl92YWx1ZU1pbigpKS81KTticmVhaztjYXNlIGQudWkua2V5Q29kZS5VUDpjYXNlIGQudWkua2V5Q29kZS5SSUdIVDppZihpPT09Yi5fdmFsdWVNYXgoKSlyZXR1cm47aD1iLl90cmltQWxpZ25WYWx1ZShpK20pO2JyZWFrO2Nhc2UgZC51aS5rZXlDb2RlLkRPV046Y2FzZSBkLnVpLmtleUNvZGUuTEVGVDppZihpPT09Yi5fdmFsdWVNaW4oKSlyZXR1cm47aD1iLl90cmltQWxpZ25WYWx1ZShpLQptKTticmVha31iLl9zbGlkZShnLGwsaCk7cmV0dXJuIGt9fSkua2V5dXAoZnVuY3Rpb24oZyl7dmFyIGs9ZCh0aGlzKS5kYXRhKCJpbmRleC51aS1zbGlkZXItaGFuZGxlIik7aWYoYi5fa2V5U2xpZGluZyl7Yi5fa2V5U2xpZGluZz1mYWxzZTtiLl9zdG9wKGcsayk7Yi5fY2hhbmdlKGcsayk7ZCh0aGlzKS5yZW1vdmVDbGFzcygidWktc3RhdGUtYWN0aXZlIil9fSk7dGhpcy5fcmVmcmVzaFZhbHVlKCk7dGhpcy5fYW5pbWF0ZU9mZj1mYWxzZX0sZGVzdHJveTpmdW5jdGlvbigpe3RoaXMuaGFuZGxlcy5yZW1vdmUoKTt0aGlzLnJhbmdlLnJlbW92ZSgpO3RoaXMuZWxlbWVudC5yZW1vdmVDbGFzcygidWktc2xpZGVyIHVpLXNsaWRlci1ob3Jpem9udGFsIHVpLXNsaWRlci12ZXJ0aWNhbCB1aS1zbGlkZXItZGlzYWJsZWQgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwiKS5yZW1vdmVEYXRhKCJzbGlkZXIiKS51bmJpbmQoIi5zbGlkZXIiKTt0aGlzLl9tb3VzZURlc3Ryb3koKTsKcmV0dXJuIHRoaXN9LF9tb3VzZUNhcHR1cmU6ZnVuY3Rpb24oYil7dmFyIGE9dGhpcy5vcHRpb25zLGMsZixlLGosZztpZihhLmRpc2FibGVkKXJldHVybiBmYWxzZTt0aGlzLmVsZW1lbnRTaXplPXt3aWR0aDp0aGlzLmVsZW1lbnQub3V0ZXJXaWR0aCgpLGhlaWdodDp0aGlzLmVsZW1lbnQub3V0ZXJIZWlnaHQoKX07dGhpcy5lbGVtZW50T2Zmc2V0PXRoaXMuZWxlbWVudC5vZmZzZXQoKTtjPXRoaXMuX25vcm1WYWx1ZUZyb21Nb3VzZSh7eDpiLnBhZ2VYLHk6Yi5wYWdlWX0pO2Y9dGhpcy5fdmFsdWVNYXgoKS10aGlzLl92YWx1ZU1pbigpKzE7aj10aGlzO3RoaXMuaGFuZGxlcy5lYWNoKGZ1bmN0aW9uKGspe3ZhciBsPU1hdGguYWJzKGMtai52YWx1ZXMoaykpO2lmKGY+bCl7Zj1sO2U9ZCh0aGlzKTtnPWt9fSk7aWYoYS5yYW5nZT09PXRydWUmJnRoaXMudmFsdWVzKDEpPT09YS5taW4pe2crPTE7ZT1kKHRoaXMuaGFuZGxlc1tnXSl9aWYodGhpcy5fc3RhcnQoYixnKT09PWZhbHNlKXJldHVybiBmYWxzZTsKdGhpcy5fbW91c2VTbGlkaW5nPXRydWU7ai5faGFuZGxlSW5kZXg9ZztlLmFkZENsYXNzKCJ1aS1zdGF0ZS1hY3RpdmUiKS5mb2N1cygpO2E9ZS5vZmZzZXQoKTt0aGlzLl9jbGlja09mZnNldD0hZChiLnRhcmdldCkucGFyZW50cygpLmFuZFNlbGYoKS5pcygiLnVpLXNsaWRlci1oYW5kbGUiKT97bGVmdDowLHRvcDowfTp7bGVmdDpiLnBhZ2VYLWEubGVmdC1lLndpZHRoKCkvMix0b3A6Yi5wYWdlWS1hLnRvcC1lLmhlaWdodCgpLzItKHBhcnNlSW50KGUuY3NzKCJib3JkZXJUb3BXaWR0aCIpLDEwKXx8MCktKHBhcnNlSW50KGUuY3NzKCJib3JkZXJCb3R0b21XaWR0aCIpLDEwKXx8MCkrKHBhcnNlSW50KGUuY3NzKCJtYXJnaW5Ub3AiKSwxMCl8fDApfTt0aGlzLmhhbmRsZXMuaGFzQ2xhc3MoInVpLXN0YXRlLWhvdmVyIil8fHRoaXMuX3NsaWRlKGIsZyxjKTtyZXR1cm4gdGhpcy5fYW5pbWF0ZU9mZj10cnVlfSxfbW91c2VTdGFydDpmdW5jdGlvbigpe3JldHVybiB0cnVlfSxfbW91c2VEcmFnOmZ1bmN0aW9uKGIpe3ZhciBhPQp0aGlzLl9ub3JtVmFsdWVGcm9tTW91c2Uoe3g6Yi5wYWdlWCx5OmIucGFnZVl9KTt0aGlzLl9zbGlkZShiLHRoaXMuX2hhbmRsZUluZGV4LGEpO3JldHVybiBmYWxzZX0sX21vdXNlU3RvcDpmdW5jdGlvbihiKXt0aGlzLmhhbmRsZXMucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSIpO3RoaXMuX21vdXNlU2xpZGluZz1mYWxzZTt0aGlzLl9zdG9wKGIsdGhpcy5faGFuZGxlSW5kZXgpO3RoaXMuX2NoYW5nZShiLHRoaXMuX2hhbmRsZUluZGV4KTt0aGlzLl9jbGlja09mZnNldD10aGlzLl9oYW5kbGVJbmRleD1udWxsO3JldHVybiB0aGlzLl9hbmltYXRlT2ZmPWZhbHNlfSxfZGV0ZWN0T3JpZW50YXRpb246ZnVuY3Rpb24oKXt0aGlzLm9yaWVudGF0aW9uPXRoaXMub3B0aW9ucy5vcmllbnRhdGlvbj09PSJ2ZXJ0aWNhbCI/InZlcnRpY2FsIjoiaG9yaXpvbnRhbCJ9LF9ub3JtVmFsdWVGcm9tTW91c2U6ZnVuY3Rpb24oYil7dmFyIGE7aWYodGhpcy5vcmllbnRhdGlvbj09PSJob3Jpem9udGFsIil7YT0KdGhpcy5lbGVtZW50U2l6ZS53aWR0aDtiPWIueC10aGlzLmVsZW1lbnRPZmZzZXQubGVmdC0odGhpcy5fY2xpY2tPZmZzZXQ/dGhpcy5fY2xpY2tPZmZzZXQubGVmdDowKX1lbHNle2E9dGhpcy5lbGVtZW50U2l6ZS5oZWlnaHQ7Yj1iLnktdGhpcy5lbGVtZW50T2Zmc2V0LnRvcC0odGhpcy5fY2xpY2tPZmZzZXQ/dGhpcy5fY2xpY2tPZmZzZXQudG9wOjApfWE9Yi9hO2lmKGE+MSlhPTE7aWYoYTwwKWE9MDtpZih0aGlzLm9yaWVudGF0aW9uPT09InZlcnRpY2FsIilhPTEtYTtiPXRoaXMuX3ZhbHVlTWF4KCktdGhpcy5fdmFsdWVNaW4oKTtyZXR1cm4gdGhpcy5fdHJpbUFsaWduVmFsdWUodGhpcy5fdmFsdWVNaW4oKSthKmIpfSxfc3RhcnQ6ZnVuY3Rpb24oYixhKXt2YXIgYz17aGFuZGxlOnRoaXMuaGFuZGxlc1thXSx2YWx1ZTp0aGlzLnZhbHVlKCl9O2lmKHRoaXMub3B0aW9ucy52YWx1ZXMmJnRoaXMub3B0aW9ucy52YWx1ZXMubGVuZ3RoKXtjLnZhbHVlPXRoaXMudmFsdWVzKGEpOwpjLnZhbHVlcz10aGlzLnZhbHVlcygpfXJldHVybiB0aGlzLl90cmlnZ2VyKCJzdGFydCIsYixjKX0sX3NsaWRlOmZ1bmN0aW9uKGIsYSxjKXt2YXIgZjtpZih0aGlzLm9wdGlvbnMudmFsdWVzJiZ0aGlzLm9wdGlvbnMudmFsdWVzLmxlbmd0aCl7Zj10aGlzLnZhbHVlcyhhPzA6MSk7aWYodGhpcy5vcHRpb25zLnZhbHVlcy5sZW5ndGg9PT0yJiZ0aGlzLm9wdGlvbnMucmFuZ2U9PT10cnVlJiYoYT09PTAmJmM+Znx8YT09PTEmJmM8ZikpYz1mO2lmKGMhPT10aGlzLnZhbHVlcyhhKSl7Zj10aGlzLnZhbHVlcygpO2ZbYV09YztiPXRoaXMuX3RyaWdnZXIoInNsaWRlIixiLHtoYW5kbGU6dGhpcy5oYW5kbGVzW2FdLHZhbHVlOmMsdmFsdWVzOmZ9KTt0aGlzLnZhbHVlcyhhPzA6MSk7YiE9PWZhbHNlJiZ0aGlzLnZhbHVlcyhhLGMsdHJ1ZSl9fWVsc2UgaWYoYyE9PXRoaXMudmFsdWUoKSl7Yj10aGlzLl90cmlnZ2VyKCJzbGlkZSIsYix7aGFuZGxlOnRoaXMuaGFuZGxlc1thXSx2YWx1ZTpjfSk7CmIhPT1mYWxzZSYmdGhpcy52YWx1ZShjKX19LF9zdG9wOmZ1bmN0aW9uKGIsYSl7dmFyIGM9e2hhbmRsZTp0aGlzLmhhbmRsZXNbYV0sdmFsdWU6dGhpcy52YWx1ZSgpfTtpZih0aGlzLm9wdGlvbnMudmFsdWVzJiZ0aGlzLm9wdGlvbnMudmFsdWVzLmxlbmd0aCl7Yy52YWx1ZT10aGlzLnZhbHVlcyhhKTtjLnZhbHVlcz10aGlzLnZhbHVlcygpfXRoaXMuX3RyaWdnZXIoInN0b3AiLGIsYyl9LF9jaGFuZ2U6ZnVuY3Rpb24oYixhKXtpZighdGhpcy5fa2V5U2xpZGluZyYmIXRoaXMuX21vdXNlU2xpZGluZyl7dmFyIGM9e2hhbmRsZTp0aGlzLmhhbmRsZXNbYV0sdmFsdWU6dGhpcy52YWx1ZSgpfTtpZih0aGlzLm9wdGlvbnMudmFsdWVzJiZ0aGlzLm9wdGlvbnMudmFsdWVzLmxlbmd0aCl7Yy52YWx1ZT10aGlzLnZhbHVlcyhhKTtjLnZhbHVlcz10aGlzLnZhbHVlcygpfXRoaXMuX3RyaWdnZXIoImNoYW5nZSIsYixjKX19LHZhbHVlOmZ1bmN0aW9uKGIpe2lmKGFyZ3VtZW50cy5sZW5ndGgpe3RoaXMub3B0aW9ucy52YWx1ZT0KdGhpcy5fdHJpbUFsaWduVmFsdWUoYik7dGhpcy5fcmVmcmVzaFZhbHVlKCk7dGhpcy5fY2hhbmdlKG51bGwsMCl9ZWxzZSByZXR1cm4gdGhpcy5fdmFsdWUoKX0sdmFsdWVzOmZ1bmN0aW9uKGIsYSl7dmFyIGMsZixlO2lmKGFyZ3VtZW50cy5sZW5ndGg+MSl7dGhpcy5vcHRpb25zLnZhbHVlc1tiXT10aGlzLl90cmltQWxpZ25WYWx1ZShhKTt0aGlzLl9yZWZyZXNoVmFsdWUoKTt0aGlzLl9jaGFuZ2UobnVsbCxiKX1lbHNlIGlmKGFyZ3VtZW50cy5sZW5ndGgpaWYoZC5pc0FycmF5KGFyZ3VtZW50c1swXSkpe2M9dGhpcy5vcHRpb25zLnZhbHVlcztmPWFyZ3VtZW50c1swXTtmb3IoZT0wO2U8Yy5sZW5ndGg7ZSs9MSl7Y1tlXT10aGlzLl90cmltQWxpZ25WYWx1ZShmW2VdKTt0aGlzLl9jaGFuZ2UobnVsbCxlKX10aGlzLl9yZWZyZXNoVmFsdWUoKX1lbHNlIHJldHVybiB0aGlzLm9wdGlvbnMudmFsdWVzJiZ0aGlzLm9wdGlvbnMudmFsdWVzLmxlbmd0aD90aGlzLl92YWx1ZXMoYik6CnRoaXMudmFsdWUoKTtlbHNlIHJldHVybiB0aGlzLl92YWx1ZXMoKX0sX3NldE9wdGlvbjpmdW5jdGlvbihiLGEpe3ZhciBjLGY9MDtpZihkLmlzQXJyYXkodGhpcy5vcHRpb25zLnZhbHVlcykpZj10aGlzLm9wdGlvbnMudmFsdWVzLmxlbmd0aDtkLldpZGdldC5wcm90b3R5cGUuX3NldE9wdGlvbi5hcHBseSh0aGlzLGFyZ3VtZW50cyk7c3dpdGNoKGIpe2Nhc2UgImRpc2FibGVkIjppZihhKXt0aGlzLmhhbmRsZXMuZmlsdGVyKCIudWktc3RhdGUtZm9jdXMiKS5ibHVyKCk7dGhpcy5oYW5kbGVzLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1ob3ZlciIpO3RoaXMuaGFuZGxlcy5hdHRyKCJkaXNhYmxlZCIsImRpc2FibGVkIik7dGhpcy5lbGVtZW50LmFkZENsYXNzKCJ1aS1kaXNhYmxlZCIpfWVsc2V7dGhpcy5oYW5kbGVzLnJlbW92ZUF0dHIoImRpc2FibGVkIik7dGhpcy5lbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1kaXNhYmxlZCIpfWJyZWFrO2Nhc2UgIm9yaWVudGF0aW9uIjp0aGlzLl9kZXRlY3RPcmllbnRhdGlvbigpOwp0aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLXNsaWRlci1ob3Jpem9udGFsIHVpLXNsaWRlci12ZXJ0aWNhbCIpLmFkZENsYXNzKCJ1aS1zbGlkZXItIit0aGlzLm9yaWVudGF0aW9uKTt0aGlzLl9yZWZyZXNoVmFsdWUoKTticmVhaztjYXNlICJ2YWx1ZSI6dGhpcy5fYW5pbWF0ZU9mZj10cnVlO3RoaXMuX3JlZnJlc2hWYWx1ZSgpO3RoaXMuX2NoYW5nZShudWxsLDApO3RoaXMuX2FuaW1hdGVPZmY9ZmFsc2U7YnJlYWs7Y2FzZSAidmFsdWVzIjp0aGlzLl9hbmltYXRlT2ZmPXRydWU7dGhpcy5fcmVmcmVzaFZhbHVlKCk7Zm9yKGM9MDtjPGY7Yys9MSl0aGlzLl9jaGFuZ2UobnVsbCxjKTt0aGlzLl9hbmltYXRlT2ZmPWZhbHNlO2JyZWFrfX0sX3ZhbHVlOmZ1bmN0aW9uKCl7dmFyIGI9dGhpcy5vcHRpb25zLnZhbHVlO3JldHVybiBiPXRoaXMuX3RyaW1BbGlnblZhbHVlKGIpfSxfdmFsdWVzOmZ1bmN0aW9uKGIpe3ZhciBhLGM7aWYoYXJndW1lbnRzLmxlbmd0aCl7YT10aGlzLm9wdGlvbnMudmFsdWVzW2JdOwpyZXR1cm4gYT10aGlzLl90cmltQWxpZ25WYWx1ZShhKX1lbHNle2E9dGhpcy5vcHRpb25zLnZhbHVlcy5zbGljZSgpO2ZvcihjPTA7YzxhLmxlbmd0aDtjKz0xKWFbY109dGhpcy5fdHJpbUFsaWduVmFsdWUoYVtjXSk7cmV0dXJuIGF9fSxfdHJpbUFsaWduVmFsdWU6ZnVuY3Rpb24oYil7aWYoYjw9dGhpcy5fdmFsdWVNaW4oKSlyZXR1cm4gdGhpcy5fdmFsdWVNaW4oKTtpZihiPj10aGlzLl92YWx1ZU1heCgpKXJldHVybiB0aGlzLl92YWx1ZU1heCgpO3ZhciBhPXRoaXMub3B0aW9ucy5zdGVwPjA/dGhpcy5vcHRpb25zLnN0ZXA6MSxjPShiLXRoaXMuX3ZhbHVlTWluKCkpJWE7YWxpZ25WYWx1ZT1iLWM7aWYoTWF0aC5hYnMoYykqMj49YSlhbGlnblZhbHVlKz1jPjA/YTotYTtyZXR1cm4gcGFyc2VGbG9hdChhbGlnblZhbHVlLnRvRml4ZWQoNSkpfSxfdmFsdWVNaW46ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vcHRpb25zLm1pbn0sX3ZhbHVlTWF4OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub3B0aW9ucy5tYXh9LApfcmVmcmVzaFZhbHVlOmZ1bmN0aW9uKCl7dmFyIGI9dGhpcy5vcHRpb25zLnJhbmdlLGE9dGhpcy5vcHRpb25zLGM9dGhpcyxmPSF0aGlzLl9hbmltYXRlT2ZmP2EuYW5pbWF0ZTpmYWxzZSxlLGo9e30sZyxrLGwsaTtpZih0aGlzLm9wdGlvbnMudmFsdWVzJiZ0aGlzLm9wdGlvbnMudmFsdWVzLmxlbmd0aCl0aGlzLmhhbmRsZXMuZWFjaChmdW5jdGlvbihoKXtlPShjLnZhbHVlcyhoKS1jLl92YWx1ZU1pbigpKS8oYy5fdmFsdWVNYXgoKS1jLl92YWx1ZU1pbigpKSoxMDA7altjLm9yaWVudGF0aW9uPT09Imhvcml6b250YWwiPyJsZWZ0IjoiYm90dG9tIl09ZSsiJSI7ZCh0aGlzKS5zdG9wKDEsMSlbZj8iYW5pbWF0ZSI6ImNzcyJdKGosYS5hbmltYXRlKTtpZihjLm9wdGlvbnMucmFuZ2U9PT10cnVlKWlmKGMub3JpZW50YXRpb249PT0iaG9yaXpvbnRhbCIpe2lmKGg9PT0wKWMucmFuZ2Uuc3RvcCgxLDEpW2Y/ImFuaW1hdGUiOiJjc3MiXSh7bGVmdDplKyIlIn0sYS5hbmltYXRlKTsKaWYoaD09PTEpYy5yYW5nZVtmPyJhbmltYXRlIjoiY3NzIl0oe3dpZHRoOmUtZysiJSJ9LHtxdWV1ZTpmYWxzZSxkdXJhdGlvbjphLmFuaW1hdGV9KX1lbHNle2lmKGg9PT0wKWMucmFuZ2Uuc3RvcCgxLDEpW2Y/ImFuaW1hdGUiOiJjc3MiXSh7Ym90dG9tOmUrIiUifSxhLmFuaW1hdGUpO2lmKGg9PT0xKWMucmFuZ2VbZj8iYW5pbWF0ZSI6ImNzcyJdKHtoZWlnaHQ6ZS1nKyIlIn0se3F1ZXVlOmZhbHNlLGR1cmF0aW9uOmEuYW5pbWF0ZX0pfWc9ZX0pO2Vsc2V7az10aGlzLnZhbHVlKCk7bD10aGlzLl92YWx1ZU1pbigpO2k9dGhpcy5fdmFsdWVNYXgoKTtlPWkhPT1sPyhrLWwpLyhpLWwpKjEwMDowO2pbYy5vcmllbnRhdGlvbj09PSJob3Jpem9udGFsIj8ibGVmdCI6ImJvdHRvbSJdPWUrIiUiO3RoaXMuaGFuZGxlLnN0b3AoMSwxKVtmPyJhbmltYXRlIjoiY3NzIl0oaixhLmFuaW1hdGUpO2lmKGI9PT0ibWluIiYmdGhpcy5vcmllbnRhdGlvbj09PSJob3Jpem9udGFsIil0aGlzLnJhbmdlLnN0b3AoMSwKMSlbZj8iYW5pbWF0ZSI6ImNzcyJdKHt3aWR0aDplKyIlIn0sYS5hbmltYXRlKTtpZihiPT09Im1heCImJnRoaXMub3JpZW50YXRpb249PT0iaG9yaXpvbnRhbCIpdGhpcy5yYW5nZVtmPyJhbmltYXRlIjoiY3NzIl0oe3dpZHRoOjEwMC1lKyIlIn0se3F1ZXVlOmZhbHNlLGR1cmF0aW9uOmEuYW5pbWF0ZX0pO2lmKGI9PT0ibWluIiYmdGhpcy5vcmllbnRhdGlvbj09PSJ2ZXJ0aWNhbCIpdGhpcy5yYW5nZS5zdG9wKDEsMSlbZj8iYW5pbWF0ZSI6ImNzcyJdKHtoZWlnaHQ6ZSsiJSJ9LGEuYW5pbWF0ZSk7aWYoYj09PSJtYXgiJiZ0aGlzLm9yaWVudGF0aW9uPT09InZlcnRpY2FsIil0aGlzLnJhbmdlW2Y/ImFuaW1hdGUiOiJjc3MiXSh7aGVpZ2h0OjEwMC1lKyIlIn0se3F1ZXVlOmZhbHNlLGR1cmF0aW9uOmEuYW5pbWF0ZX0pfX19KTtkLmV4dGVuZChkLnVpLnNsaWRlcix7dmVyc2lvbjoiMS44LjE0In0pfSkoalF1ZXJ5KTsKOy8qCiAqIGpRdWVyeSBVSSBEYXRlcGlja2VyIDEuOC4xNAogKgogKiBDb3B5cmlnaHQgMjAxMSwgQVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20vYWJvdXQpCiAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBvciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2VzLgogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCiAqCiAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20vVUkvRGF0ZXBpY2tlcgogKgogKiBEZXBlbmRzOgogKglqcXVlcnkudWkuY29yZS5qcwogKi8KKGZ1bmN0aW9uKGQsQyl7ZnVuY3Rpb24gTSgpe3RoaXMuZGVidWc9ZmFsc2U7dGhpcy5fY3VySW5zdD1udWxsO3RoaXMuX2tleUV2ZW50PWZhbHNlO3RoaXMuX2Rpc2FibGVkSW5wdXRzPVtdO3RoaXMuX2luRGlhbG9nPXRoaXMuX2RhdGVwaWNrZXJTaG93aW5nPWZhbHNlO3RoaXMuX21haW5EaXZJZD0idWktZGF0ZXBpY2tlci1kaXYiO3RoaXMuX2lubGluZUNsYXNzPSJ1aS1kYXRlcGlja2VyLWlubGluZSI7dGhpcy5fYXBwZW5kQ2xhc3M9InVpLWRhdGVwaWNrZXItYXBwZW5kIjt0aGlzLl90cmlnZ2VyQ2xhc3M9InVpLWRhdGVwaWNrZXItdHJpZ2dlciI7dGhpcy5fZGlhbG9nQ2xhc3M9InVpLWRhdGVwaWNrZXItZGlhbG9nIjt0aGlzLl9kaXNhYmxlQ2xhc3M9InVpLWRhdGVwaWNrZXItZGlzYWJsZWQiO3RoaXMuX3Vuc2VsZWN0YWJsZUNsYXNzPSJ1aS1kYXRlcGlja2VyLXVuc2VsZWN0YWJsZSI7dGhpcy5fY3VycmVudENsYXNzPSJ1aS1kYXRlcGlja2VyLWN1cnJlbnQtZGF5Ijt0aGlzLl9kYXlPdmVyQ2xhc3M9CiJ1aS1kYXRlcGlja2VyLWRheXMtY2VsbC1vdmVyIjt0aGlzLnJlZ2lvbmFsPVtdO3RoaXMucmVnaW9uYWxbIiJdPXtjbG9zZVRleHQ6IkRvbmUiLHByZXZUZXh0OiJQcmV2IixuZXh0VGV4dDoiTmV4dCIsY3VycmVudFRleHQ6IlRvZGF5Iixtb250aE5hbWVzOlsiSmFudWFyeSIsIkZlYnJ1YXJ5IiwiTWFyY2giLCJBcHJpbCIsIk1heSIsIkp1bmUiLCJKdWx5IiwiQXVndXN0IiwiU2VwdGVtYmVyIiwiT2N0b2JlciIsIk5vdmVtYmVyIiwiRGVjZW1iZXIiXSxtb250aE5hbWVzU2hvcnQ6WyJKYW4iLCJGZWIiLCJNYXIiLCJBcHIiLCJNYXkiLCJKdW4iLCJKdWwiLCJBdWciLCJTZXAiLCJPY3QiLCJOb3YiLCJEZWMiXSxkYXlOYW1lczpbIlN1bmRheSIsIk1vbmRheSIsIlR1ZXNkYXkiLCJXZWRuZXNkYXkiLCJUaHVyc2RheSIsIkZyaWRheSIsIlNhdHVyZGF5Il0sZGF5TmFtZXNTaG9ydDpbIlN1biIsIk1vbiIsIlR1ZSIsIldlZCIsIlRodSIsIkZyaSIsIlNhdCJdLGRheU5hbWVzTWluOlsiU3UiLAoiTW8iLCJUdSIsIldlIiwiVGgiLCJGciIsIlNhIl0sd2Vla0hlYWRlcjoiV2siLGRhdGVGb3JtYXQ6Im1tL2RkL3l5IixmaXJzdERheTowLGlzUlRMOmZhbHNlLHNob3dNb250aEFmdGVyWWVhcjpmYWxzZSx5ZWFyU3VmZml4OiIifTt0aGlzLl9kZWZhdWx0cz17c2hvd09uOiJmb2N1cyIsc2hvd0FuaW06ImZhZGVJbiIsc2hvd09wdGlvbnM6e30sZGVmYXVsdERhdGU6bnVsbCxhcHBlbmRUZXh0OiIiLGJ1dHRvblRleHQ6Ii4uLiIsYnV0dG9uSW1hZ2U6IiIsYnV0dG9uSW1hZ2VPbmx5OmZhbHNlLGhpZGVJZk5vUHJldk5leHQ6ZmFsc2UsbmF2aWdhdGlvbkFzRGF0ZUZvcm1hdDpmYWxzZSxnb3RvQ3VycmVudDpmYWxzZSxjaGFuZ2VNb250aDpmYWxzZSxjaGFuZ2VZZWFyOmZhbHNlLHllYXJSYW5nZToiYy0xMDpjKzEwIixzaG93T3RoZXJNb250aHM6ZmFsc2Usc2VsZWN0T3RoZXJNb250aHM6ZmFsc2Usc2hvd1dlZWs6ZmFsc2UsY2FsY3VsYXRlV2Vlazp0aGlzLmlzbzg2MDFXZWVrLHNob3J0WWVhckN1dG9mZjoiKzEwIiwKbWluRGF0ZTpudWxsLG1heERhdGU6bnVsbCxkdXJhdGlvbjoiZmFzdCIsYmVmb3JlU2hvd0RheTpudWxsLGJlZm9yZVNob3c6bnVsbCxvblNlbGVjdDpudWxsLG9uQ2hhbmdlTW9udGhZZWFyOm51bGwsb25DbG9zZTpudWxsLG51bWJlck9mTW9udGhzOjEsc2hvd0N1cnJlbnRBdFBvczowLHN0ZXBNb250aHM6MSxzdGVwQmlnTW9udGhzOjEyLGFsdEZpZWxkOiIiLGFsdEZvcm1hdDoiIixjb25zdHJhaW5JbnB1dDp0cnVlLHNob3dCdXR0b25QYW5lbDpmYWxzZSxhdXRvU2l6ZTpmYWxzZX07ZC5leHRlbmQodGhpcy5fZGVmYXVsdHMsdGhpcy5yZWdpb25hbFsiIl0pO3RoaXMuZHBEaXY9TihkKCc8ZGl2IGlkPSInK3RoaXMuX21haW5EaXZJZCsnIiBjbGFzcz0idWktZGF0ZXBpY2tlciB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci1hbGwiPjwvZGl2PicpKX1mdW5jdGlvbiBOKGEpe3JldHVybiBhLmJpbmQoIm1vdXNlb3V0IixmdW5jdGlvbihiKXtiPQpkKGIudGFyZ2V0KS5jbG9zZXN0KCJidXR0b24sIC51aS1kYXRlcGlja2VyLXByZXYsIC51aS1kYXRlcGlja2VyLW5leHQsIC51aS1kYXRlcGlja2VyLWNhbGVuZGFyIHRkIGEiKTtiLmxlbmd0aCYmYi5yZW1vdmVDbGFzcygidWktc3RhdGUtaG92ZXIgdWktZGF0ZXBpY2tlci1wcmV2LWhvdmVyIHVpLWRhdGVwaWNrZXItbmV4dC1ob3ZlciIpfSkuYmluZCgibW91c2VvdmVyIixmdW5jdGlvbihiKXtiPWQoYi50YXJnZXQpLmNsb3Nlc3QoImJ1dHRvbiwgLnVpLWRhdGVwaWNrZXItcHJldiwgLnVpLWRhdGVwaWNrZXItbmV4dCwgLnVpLWRhdGVwaWNrZXItY2FsZW5kYXIgdGQgYSIpO2lmKCEoZC5kYXRlcGlja2VyLl9pc0Rpc2FibGVkRGF0ZXBpY2tlcihKLmlubGluZT9hLnBhcmVudCgpWzBdOkouaW5wdXRbMF0pfHwhYi5sZW5ndGgpKXtiLnBhcmVudHMoIi51aS1kYXRlcGlja2VyLWNhbGVuZGFyIikuZmluZCgiYSIpLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1ob3ZlciIpO2IuYWRkQ2xhc3MoInVpLXN0YXRlLWhvdmVyIik7CmIuaGFzQ2xhc3MoInVpLWRhdGVwaWNrZXItcHJldiIpJiZiLmFkZENsYXNzKCJ1aS1kYXRlcGlja2VyLXByZXYtaG92ZXIiKTtiLmhhc0NsYXNzKCJ1aS1kYXRlcGlja2VyLW5leHQiKSYmYi5hZGRDbGFzcygidWktZGF0ZXBpY2tlci1uZXh0LWhvdmVyIil9fSl9ZnVuY3Rpb24gSChhLGIpe2QuZXh0ZW5kKGEsYik7Zm9yKHZhciBjIGluIGIpaWYoYltjXT09bnVsbHx8YltjXT09QylhW2NdPWJbY107cmV0dXJuIGF9ZC5leHRlbmQoZC51aSx7ZGF0ZXBpY2tlcjp7dmVyc2lvbjoiMS44LjE0In19KTt2YXIgQT0obmV3IERhdGUpLmdldFRpbWUoKSxKO2QuZXh0ZW5kKE0ucHJvdG90eXBlLHttYXJrZXJDbGFzc05hbWU6Imhhc0RhdGVwaWNrZXIiLG1heFJvd3M6NCxsb2c6ZnVuY3Rpb24oKXt0aGlzLmRlYnVnJiZjb25zb2xlLmxvZy5hcHBseSgiIixhcmd1bWVudHMpfSxfd2lkZ2V0RGF0ZXBpY2tlcjpmdW5jdGlvbigpe3JldHVybiB0aGlzLmRwRGl2fSxzZXREZWZhdWx0czpmdW5jdGlvbihhKXtIKHRoaXMuX2RlZmF1bHRzLAphfHx7fSk7cmV0dXJuIHRoaXN9LF9hdHRhY2hEYXRlcGlja2VyOmZ1bmN0aW9uKGEsYil7dmFyIGM9bnVsbDtmb3IodmFyIGUgaW4gdGhpcy5fZGVmYXVsdHMpe3ZhciBmPWEuZ2V0QXR0cmlidXRlKCJkYXRlOiIrZSk7aWYoZil7Yz1jfHx7fTt0cnl7Y1tlXT1ldmFsKGYpfWNhdGNoKGgpe2NbZV09Zn19fWU9YS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO2Y9ZT09ImRpdiJ8fGU9PSJzcGFuIjtpZighYS5pZCl7dGhpcy51dWlkKz0xO2EuaWQ9ImRwIit0aGlzLnV1aWR9dmFyIGk9dGhpcy5fbmV3SW5zdChkKGEpLGYpO2kuc2V0dGluZ3M9ZC5leHRlbmQoe30sYnx8e30sY3x8e30pO2lmKGU9PSJpbnB1dCIpdGhpcy5fY29ubmVjdERhdGVwaWNrZXIoYSxpKTtlbHNlIGYmJnRoaXMuX2lubGluZURhdGVwaWNrZXIoYSxpKX0sX25ld0luc3Q6ZnVuY3Rpb24oYSxiKXtyZXR1cm57aWQ6YVswXS5pZC5yZXBsYWNlKC8oW15BLVphLXowLTlfLV0pL2csIlxcXFwkMSIpLGlucHV0OmEsc2VsZWN0ZWREYXk6MCwKc2VsZWN0ZWRNb250aDowLHNlbGVjdGVkWWVhcjowLGRyYXdNb250aDowLGRyYXdZZWFyOjAsaW5saW5lOmIsZHBEaXY6IWI/dGhpcy5kcERpdjpOKGQoJzxkaXYgY2xhc3M9IicrdGhpcy5faW5saW5lQ2xhc3MrJyB1aS1kYXRlcGlja2VyIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLWFsbCI+PC9kaXY+JykpfX0sX2Nvbm5lY3REYXRlcGlja2VyOmZ1bmN0aW9uKGEsYil7dmFyIGM9ZChhKTtiLmFwcGVuZD1kKFtdKTtiLnRyaWdnZXI9ZChbXSk7aWYoIWMuaGFzQ2xhc3ModGhpcy5tYXJrZXJDbGFzc05hbWUpKXt0aGlzLl9hdHRhY2htZW50cyhjLGIpO2MuYWRkQ2xhc3ModGhpcy5tYXJrZXJDbGFzc05hbWUpLmtleWRvd24odGhpcy5fZG9LZXlEb3duKS5rZXlwcmVzcyh0aGlzLl9kb0tleVByZXNzKS5rZXl1cCh0aGlzLl9kb0tleVVwKS5iaW5kKCJzZXREYXRhLmRhdGVwaWNrZXIiLGZ1bmN0aW9uKGUsZixoKXtiLnNldHRpbmdzW2ZdPQpofSkuYmluZCgiZ2V0RGF0YS5kYXRlcGlja2VyIixmdW5jdGlvbihlLGYpe3JldHVybiB0aGlzLl9nZXQoYixmKX0pO3RoaXMuX2F1dG9TaXplKGIpO2QuZGF0YShhLCJkYXRlcGlja2VyIixiKX19LF9hdHRhY2htZW50czpmdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuX2dldChiLCJhcHBlbmRUZXh0IiksZT10aGlzLl9nZXQoYiwiaXNSVEwiKTtiLmFwcGVuZCYmYi5hcHBlbmQucmVtb3ZlKCk7aWYoYyl7Yi5hcHBlbmQ9ZCgnPHNwYW4gY2xhc3M9IicrdGhpcy5fYXBwZW5kQ2xhc3MrJyI+JytjKyI8L3NwYW4+Iik7YVtlPyJiZWZvcmUiOiJhZnRlciJdKGIuYXBwZW5kKX1hLnVuYmluZCgiZm9jdXMiLHRoaXMuX3Nob3dEYXRlcGlja2VyKTtiLnRyaWdnZXImJmIudHJpZ2dlci5yZW1vdmUoKTtjPXRoaXMuX2dldChiLCJzaG93T24iKTtpZihjPT0iZm9jdXMifHxjPT0iYm90aCIpYS5mb2N1cyh0aGlzLl9zaG93RGF0ZXBpY2tlcik7aWYoYz09ImJ1dHRvbiJ8fGM9PSJib3RoIil7Yz0KdGhpcy5fZ2V0KGIsImJ1dHRvblRleHQiKTt2YXIgZj10aGlzLl9nZXQoYiwiYnV0dG9uSW1hZ2UiKTtiLnRyaWdnZXI9ZCh0aGlzLl9nZXQoYiwiYnV0dG9uSW1hZ2VPbmx5Iik/ZCgiPGltZy8+IikuYWRkQ2xhc3ModGhpcy5fdHJpZ2dlckNsYXNzKS5hdHRyKHtzcmM6ZixhbHQ6Yyx0aXRsZTpjfSk6ZCgnPGJ1dHRvbiB0eXBlPSJidXR0b24iPjwvYnV0dG9uPicpLmFkZENsYXNzKHRoaXMuX3RyaWdnZXJDbGFzcykuaHRtbChmPT0iIj9jOmQoIjxpbWcvPiIpLmF0dHIoe3NyYzpmLGFsdDpjLHRpdGxlOmN9KSkpO2FbZT8iYmVmb3JlIjoiYWZ0ZXIiXShiLnRyaWdnZXIpO2IudHJpZ2dlci5jbGljayhmdW5jdGlvbigpe2QuZGF0ZXBpY2tlci5fZGF0ZXBpY2tlclNob3dpbmcmJmQuZGF0ZXBpY2tlci5fbGFzdElucHV0PT1hWzBdP2QuZGF0ZXBpY2tlci5faGlkZURhdGVwaWNrZXIoKTpkLmRhdGVwaWNrZXIuX3Nob3dEYXRlcGlja2VyKGFbMF0pO3JldHVybiBmYWxzZX0pfX0sX2F1dG9TaXplOmZ1bmN0aW9uKGEpe2lmKHRoaXMuX2dldChhLAoiYXV0b1NpemUiKSYmIWEuaW5saW5lKXt2YXIgYj1uZXcgRGF0ZSgyMDA5LDExLDIwKSxjPXRoaXMuX2dldChhLCJkYXRlRm9ybWF0Iik7aWYoYy5tYXRjaCgvW0RNXS8pKXt2YXIgZT1mdW5jdGlvbihmKXtmb3IodmFyIGg9MCxpPTAsZz0wO2c8Zi5sZW5ndGg7ZysrKWlmKGZbZ10ubGVuZ3RoPmgpe2g9ZltnXS5sZW5ndGg7aT1nfXJldHVybiBpfTtiLnNldE1vbnRoKGUodGhpcy5fZ2V0KGEsYy5tYXRjaCgvTU0vKT8ibW9udGhOYW1lcyI6Im1vbnRoTmFtZXNTaG9ydCIpKSk7Yi5zZXREYXRlKGUodGhpcy5fZ2V0KGEsYy5tYXRjaCgvREQvKT8iZGF5TmFtZXMiOiJkYXlOYW1lc1Nob3J0IikpKzIwLWIuZ2V0RGF5KCkpfWEuaW5wdXQuYXR0cigic2l6ZSIsdGhpcy5fZm9ybWF0RGF0ZShhLGIpLmxlbmd0aCl9fSxfaW5saW5lRGF0ZXBpY2tlcjpmdW5jdGlvbihhLGIpe3ZhciBjPWQoYSk7aWYoIWMuaGFzQ2xhc3ModGhpcy5tYXJrZXJDbGFzc05hbWUpKXtjLmFkZENsYXNzKHRoaXMubWFya2VyQ2xhc3NOYW1lKS5hcHBlbmQoYi5kcERpdikuYmluZCgic2V0RGF0YS5kYXRlcGlja2VyIiwKZnVuY3Rpb24oZSxmLGgpe2Iuc2V0dGluZ3NbZl09aH0pLmJpbmQoImdldERhdGEuZGF0ZXBpY2tlciIsZnVuY3Rpb24oZSxmKXtyZXR1cm4gdGhpcy5fZ2V0KGIsZil9KTtkLmRhdGEoYSwiZGF0ZXBpY2tlciIsYik7dGhpcy5fc2V0RGF0ZShiLHRoaXMuX2dldERlZmF1bHREYXRlKGIpLHRydWUpO3RoaXMuX3VwZGF0ZURhdGVwaWNrZXIoYik7dGhpcy5fdXBkYXRlQWx0ZXJuYXRlKGIpO2IuZHBEaXYuc2hvdygpfX0sX2RpYWxvZ0RhdGVwaWNrZXI6ZnVuY3Rpb24oYSxiLGMsZSxmKXthPXRoaXMuX2RpYWxvZ0luc3Q7aWYoIWEpe3RoaXMudXVpZCs9MTt0aGlzLl9kaWFsb2dJbnB1dD1kKCc8aW5wdXQgdHlwZT0idGV4dCIgaWQ9IicrKCJkcCIrdGhpcy51dWlkKSsnIiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyB0b3A6IC0xMDBweDsgd2lkdGg6IDBweDsgei1pbmRleDogLTEwOyIvPicpO3RoaXMuX2RpYWxvZ0lucHV0LmtleWRvd24odGhpcy5fZG9LZXlEb3duKTtkKCJib2R5IikuYXBwZW5kKHRoaXMuX2RpYWxvZ0lucHV0KTsKYT10aGlzLl9kaWFsb2dJbnN0PXRoaXMuX25ld0luc3QodGhpcy5fZGlhbG9nSW5wdXQsZmFsc2UpO2Euc2V0dGluZ3M9e307ZC5kYXRhKHRoaXMuX2RpYWxvZ0lucHV0WzBdLCJkYXRlcGlja2VyIixhKX1IKGEuc2V0dGluZ3MsZXx8e30pO2I9YiYmYi5jb25zdHJ1Y3Rvcj09RGF0ZT90aGlzLl9mb3JtYXREYXRlKGEsYik6Yjt0aGlzLl9kaWFsb2dJbnB1dC52YWwoYik7dGhpcy5fcG9zPWY/Zi5sZW5ndGg/ZjpbZi5wYWdlWCxmLnBhZ2VZXTpudWxsO2lmKCF0aGlzLl9wb3MpdGhpcy5fcG9zPVtkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgvMi0xMDArKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0fHxkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQpLGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQvMi0xNTArKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3B8fGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wKV07dGhpcy5fZGlhbG9nSW5wdXQuY3NzKCJsZWZ0IiwKdGhpcy5fcG9zWzBdKzIwKyJweCIpLmNzcygidG9wIix0aGlzLl9wb3NbMV0rInB4Iik7YS5zZXR0aW5ncy5vblNlbGVjdD1jO3RoaXMuX2luRGlhbG9nPXRydWU7dGhpcy5kcERpdi5hZGRDbGFzcyh0aGlzLl9kaWFsb2dDbGFzcyk7dGhpcy5fc2hvd0RhdGVwaWNrZXIodGhpcy5fZGlhbG9nSW5wdXRbMF0pO2QuYmxvY2tVSSYmZC5ibG9ja1VJKHRoaXMuZHBEaXYpO2QuZGF0YSh0aGlzLl9kaWFsb2dJbnB1dFswXSwiZGF0ZXBpY2tlciIsYSk7cmV0dXJuIHRoaXN9LF9kZXN0cm95RGF0ZXBpY2tlcjpmdW5jdGlvbihhKXt2YXIgYj1kKGEpLGM9ZC5kYXRhKGEsImRhdGVwaWNrZXIiKTtpZihiLmhhc0NsYXNzKHRoaXMubWFya2VyQ2xhc3NOYW1lKSl7dmFyIGU9YS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO2QucmVtb3ZlRGF0YShhLCJkYXRlcGlja2VyIik7aWYoZT09ImlucHV0Iil7Yy5hcHBlbmQucmVtb3ZlKCk7Yy50cmlnZ2VyLnJlbW92ZSgpO2IucmVtb3ZlQ2xhc3ModGhpcy5tYXJrZXJDbGFzc05hbWUpLnVuYmluZCgiZm9jdXMiLAp0aGlzLl9zaG93RGF0ZXBpY2tlcikudW5iaW5kKCJrZXlkb3duIix0aGlzLl9kb0tleURvd24pLnVuYmluZCgia2V5cHJlc3MiLHRoaXMuX2RvS2V5UHJlc3MpLnVuYmluZCgia2V5dXAiLHRoaXMuX2RvS2V5VXApfWVsc2UgaWYoZT09ImRpdiJ8fGU9PSJzcGFuIiliLnJlbW92ZUNsYXNzKHRoaXMubWFya2VyQ2xhc3NOYW1lKS5lbXB0eSgpfX0sX2VuYWJsZURhdGVwaWNrZXI6ZnVuY3Rpb24oYSl7dmFyIGI9ZChhKSxjPWQuZGF0YShhLCJkYXRlcGlja2VyIik7aWYoYi5oYXNDbGFzcyh0aGlzLm1hcmtlckNsYXNzTmFtZSkpe3ZhciBlPWEubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtpZihlPT0iaW5wdXQiKXthLmRpc2FibGVkPWZhbHNlO2MudHJpZ2dlci5maWx0ZXIoImJ1dHRvbiIpLmVhY2goZnVuY3Rpb24oKXt0aGlzLmRpc2FibGVkPWZhbHNlfSkuZW5kKCkuZmlsdGVyKCJpbWciKS5jc3Moe29wYWNpdHk6IjEuMCIsY3Vyc29yOiIifSl9ZWxzZSBpZihlPT0iZGl2Inx8ZT09InNwYW4iKXtiPQpiLmNoaWxkcmVuKCIuIit0aGlzLl9pbmxpbmVDbGFzcyk7Yi5jaGlsZHJlbigpLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1kaXNhYmxlZCIpO2IuZmluZCgic2VsZWN0LnVpLWRhdGVwaWNrZXItbW9udGgsIHNlbGVjdC51aS1kYXRlcGlja2VyLXllYXIiKS5yZW1vdmVBdHRyKCJkaXNhYmxlZCIpfXRoaXMuX2Rpc2FibGVkSW5wdXRzPWQubWFwKHRoaXMuX2Rpc2FibGVkSW5wdXRzLGZ1bmN0aW9uKGYpe3JldHVybiBmPT1hP251bGw6Zn0pfX0sX2Rpc2FibGVEYXRlcGlja2VyOmZ1bmN0aW9uKGEpe3ZhciBiPWQoYSksYz1kLmRhdGEoYSwiZGF0ZXBpY2tlciIpO2lmKGIuaGFzQ2xhc3ModGhpcy5tYXJrZXJDbGFzc05hbWUpKXt2YXIgZT1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7aWYoZT09ImlucHV0Iil7YS5kaXNhYmxlZD10cnVlO2MudHJpZ2dlci5maWx0ZXIoImJ1dHRvbiIpLmVhY2goZnVuY3Rpb24oKXt0aGlzLmRpc2FibGVkPXRydWV9KS5lbmQoKS5maWx0ZXIoImltZyIpLmNzcyh7b3BhY2l0eToiMC41IiwKY3Vyc29yOiJkZWZhdWx0In0pfWVsc2UgaWYoZT09ImRpdiJ8fGU9PSJzcGFuIil7Yj1iLmNoaWxkcmVuKCIuIit0aGlzLl9pbmxpbmVDbGFzcyk7Yi5jaGlsZHJlbigpLmFkZENsYXNzKCJ1aS1zdGF0ZS1kaXNhYmxlZCIpO2IuZmluZCgic2VsZWN0LnVpLWRhdGVwaWNrZXItbW9udGgsIHNlbGVjdC51aS1kYXRlcGlja2VyLXllYXIiKS5hdHRyKCJkaXNhYmxlZCIsImRpc2FibGVkIil9dGhpcy5fZGlzYWJsZWRJbnB1dHM9ZC5tYXAodGhpcy5fZGlzYWJsZWRJbnB1dHMsZnVuY3Rpb24oZil7cmV0dXJuIGY9PWE/bnVsbDpmfSk7dGhpcy5fZGlzYWJsZWRJbnB1dHNbdGhpcy5fZGlzYWJsZWRJbnB1dHMubGVuZ3RoXT1hfX0sX2lzRGlzYWJsZWREYXRlcGlja2VyOmZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiBmYWxzZTtmb3IodmFyIGI9MDtiPHRoaXMuX2Rpc2FibGVkSW5wdXRzLmxlbmd0aDtiKyspaWYodGhpcy5fZGlzYWJsZWRJbnB1dHNbYl09PWEpcmV0dXJuIHRydWU7cmV0dXJuIGZhbHNlfSwKX2dldEluc3Q6ZnVuY3Rpb24oYSl7dHJ5e3JldHVybiBkLmRhdGEoYSwiZGF0ZXBpY2tlciIpfWNhdGNoKGIpe3Rocm93Ik1pc3NpbmcgaW5zdGFuY2UgZGF0YSBmb3IgdGhpcyBkYXRlcGlja2VyIjt9fSxfb3B0aW9uRGF0ZXBpY2tlcjpmdW5jdGlvbihhLGIsYyl7dmFyIGU9dGhpcy5fZ2V0SW5zdChhKTtpZihhcmd1bWVudHMubGVuZ3RoPT0yJiZ0eXBlb2YgYj09InN0cmluZyIpcmV0dXJuIGI9PSJkZWZhdWx0cyI/ZC5leHRlbmQoe30sZC5kYXRlcGlja2VyLl9kZWZhdWx0cyk6ZT9iPT0iYWxsIj9kLmV4dGVuZCh7fSxlLnNldHRpbmdzKTp0aGlzLl9nZXQoZSxiKTpudWxsO3ZhciBmPWJ8fHt9O2lmKHR5cGVvZiBiPT0ic3RyaW5nIil7Zj17fTtmW2JdPWN9aWYoZSl7dGhpcy5fY3VySW5zdD09ZSYmdGhpcy5faGlkZURhdGVwaWNrZXIoKTt2YXIgaD10aGlzLl9nZXREYXRlRGF0ZXBpY2tlcihhLHRydWUpLGk9dGhpcy5fZ2V0TWluTWF4RGF0ZShlLCJtaW4iKSxnPXRoaXMuX2dldE1pbk1heERhdGUoZSwKIm1heCIpO0goZS5zZXR0aW5ncyxmKTtpZihpIT09bnVsbCYmZi5kYXRlRm9ybWF0IT09QyYmZi5taW5EYXRlPT09QyllLnNldHRpbmdzLm1pbkRhdGU9dGhpcy5fZm9ybWF0RGF0ZShlLGkpO2lmKGchPT1udWxsJiZmLmRhdGVGb3JtYXQhPT1DJiZmLm1heERhdGU9PT1DKWUuc2V0dGluZ3MubWF4RGF0ZT10aGlzLl9mb3JtYXREYXRlKGUsZyk7dGhpcy5fYXR0YWNobWVudHMoZChhKSxlKTt0aGlzLl9hdXRvU2l6ZShlKTt0aGlzLl9zZXREYXRlKGUsaCk7dGhpcy5fdXBkYXRlQWx0ZXJuYXRlKGUpO3RoaXMuX3VwZGF0ZURhdGVwaWNrZXIoZSl9fSxfY2hhbmdlRGF0ZXBpY2tlcjpmdW5jdGlvbihhLGIsYyl7dGhpcy5fb3B0aW9uRGF0ZXBpY2tlcihhLGIsYyl9LF9yZWZyZXNoRGF0ZXBpY2tlcjpmdW5jdGlvbihhKXsoYT10aGlzLl9nZXRJbnN0KGEpKSYmdGhpcy5fdXBkYXRlRGF0ZXBpY2tlcihhKX0sX3NldERhdGVEYXRlcGlja2VyOmZ1bmN0aW9uKGEsYil7aWYoYT10aGlzLl9nZXRJbnN0KGEpKXt0aGlzLl9zZXREYXRlKGEsCmIpO3RoaXMuX3VwZGF0ZURhdGVwaWNrZXIoYSk7dGhpcy5fdXBkYXRlQWx0ZXJuYXRlKGEpfX0sX2dldERhdGVEYXRlcGlja2VyOmZ1bmN0aW9uKGEsYil7KGE9dGhpcy5fZ2V0SW5zdChhKSkmJiFhLmlubGluZSYmdGhpcy5fc2V0RGF0ZUZyb21GaWVsZChhLGIpO3JldHVybiBhP3RoaXMuX2dldERhdGUoYSk6bnVsbH0sX2RvS2V5RG93bjpmdW5jdGlvbihhKXt2YXIgYj1kLmRhdGVwaWNrZXIuX2dldEluc3QoYS50YXJnZXQpLGM9dHJ1ZSxlPWIuZHBEaXYuaXMoIi51aS1kYXRlcGlja2VyLXJ0bCIpO2IuX2tleUV2ZW50PXRydWU7aWYoZC5kYXRlcGlja2VyLl9kYXRlcGlja2VyU2hvd2luZylzd2l0Y2goYS5rZXlDb2RlKXtjYXNlIDk6ZC5kYXRlcGlja2VyLl9oaWRlRGF0ZXBpY2tlcigpO2M9ZmFsc2U7YnJlYWs7Y2FzZSAxMzpjPWQoInRkLiIrZC5kYXRlcGlja2VyLl9kYXlPdmVyQ2xhc3MrIjpub3QoLiIrZC5kYXRlcGlja2VyLl9jdXJyZW50Q2xhc3MrIikiLGIuZHBEaXYpOwpjWzBdP2QuZGF0ZXBpY2tlci5fc2VsZWN0RGF5KGEudGFyZ2V0LGIuc2VsZWN0ZWRNb250aCxiLnNlbGVjdGVkWWVhcixjWzBdKTpkLmRhdGVwaWNrZXIuX2hpZGVEYXRlcGlja2VyKCk7cmV0dXJuIGZhbHNlO2Nhc2UgMjc6ZC5kYXRlcGlja2VyLl9oaWRlRGF0ZXBpY2tlcigpO2JyZWFrO2Nhc2UgMzM6ZC5kYXRlcGlja2VyLl9hZGp1c3REYXRlKGEudGFyZ2V0LGEuY3RybEtleT8tZC5kYXRlcGlja2VyLl9nZXQoYiwic3RlcEJpZ01vbnRocyIpOi1kLmRhdGVwaWNrZXIuX2dldChiLCJzdGVwTW9udGhzIiksIk0iKTticmVhaztjYXNlIDM0OmQuZGF0ZXBpY2tlci5fYWRqdXN0RGF0ZShhLnRhcmdldCxhLmN0cmxLZXk/K2QuZGF0ZXBpY2tlci5fZ2V0KGIsInN0ZXBCaWdNb250aHMiKTorZC5kYXRlcGlja2VyLl9nZXQoYiwic3RlcE1vbnRocyIpLCJNIik7YnJlYWs7Y2FzZSAzNTppZihhLmN0cmxLZXl8fGEubWV0YUtleSlkLmRhdGVwaWNrZXIuX2NsZWFyRGF0ZShhLnRhcmdldCk7CmM9YS5jdHJsS2V5fHxhLm1ldGFLZXk7YnJlYWs7Y2FzZSAzNjppZihhLmN0cmxLZXl8fGEubWV0YUtleSlkLmRhdGVwaWNrZXIuX2dvdG9Ub2RheShhLnRhcmdldCk7Yz1hLmN0cmxLZXl8fGEubWV0YUtleTticmVhaztjYXNlIDM3OmlmKGEuY3RybEtleXx8YS5tZXRhS2V5KWQuZGF0ZXBpY2tlci5fYWRqdXN0RGF0ZShhLnRhcmdldCxlPysxOi0xLCJEIik7Yz1hLmN0cmxLZXl8fGEubWV0YUtleTtpZihhLm9yaWdpbmFsRXZlbnQuYWx0S2V5KWQuZGF0ZXBpY2tlci5fYWRqdXN0RGF0ZShhLnRhcmdldCxhLmN0cmxLZXk/LWQuZGF0ZXBpY2tlci5fZ2V0KGIsInN0ZXBCaWdNb250aHMiKTotZC5kYXRlcGlja2VyLl9nZXQoYiwic3RlcE1vbnRocyIpLCJNIik7YnJlYWs7Y2FzZSAzODppZihhLmN0cmxLZXl8fGEubWV0YUtleSlkLmRhdGVwaWNrZXIuX2FkanVzdERhdGUoYS50YXJnZXQsLTcsIkQiKTtjPWEuY3RybEtleXx8YS5tZXRhS2V5O2JyZWFrO2Nhc2UgMzk6aWYoYS5jdHJsS2V5fHwKYS5tZXRhS2V5KWQuZGF0ZXBpY2tlci5fYWRqdXN0RGF0ZShhLnRhcmdldCxlPy0xOisxLCJEIik7Yz1hLmN0cmxLZXl8fGEubWV0YUtleTtpZihhLm9yaWdpbmFsRXZlbnQuYWx0S2V5KWQuZGF0ZXBpY2tlci5fYWRqdXN0RGF0ZShhLnRhcmdldCxhLmN0cmxLZXk/K2QuZGF0ZXBpY2tlci5fZ2V0KGIsInN0ZXBCaWdNb250aHMiKTorZC5kYXRlcGlja2VyLl9nZXQoYiwic3RlcE1vbnRocyIpLCJNIik7YnJlYWs7Y2FzZSA0MDppZihhLmN0cmxLZXl8fGEubWV0YUtleSlkLmRhdGVwaWNrZXIuX2FkanVzdERhdGUoYS50YXJnZXQsKzcsIkQiKTtjPWEuY3RybEtleXx8YS5tZXRhS2V5O2JyZWFrO2RlZmF1bHQ6Yz1mYWxzZX1lbHNlIGlmKGEua2V5Q29kZT09MzYmJmEuY3RybEtleSlkLmRhdGVwaWNrZXIuX3Nob3dEYXRlcGlja2VyKHRoaXMpO2Vsc2UgYz1mYWxzZTtpZihjKXthLnByZXZlbnREZWZhdWx0KCk7YS5zdG9wUHJvcGFnYXRpb24oKX19LF9kb0tleVByZXNzOmZ1bmN0aW9uKGEpe3ZhciBiPQpkLmRhdGVwaWNrZXIuX2dldEluc3QoYS50YXJnZXQpO2lmKGQuZGF0ZXBpY2tlci5fZ2V0KGIsImNvbnN0cmFpbklucHV0Iikpe2I9ZC5kYXRlcGlja2VyLl9wb3NzaWJsZUNoYXJzKGQuZGF0ZXBpY2tlci5fZ2V0KGIsImRhdGVGb3JtYXQiKSk7dmFyIGM9U3RyaW5nLmZyb21DaGFyQ29kZShhLmNoYXJDb2RlPT1DP2Eua2V5Q29kZTphLmNoYXJDb2RlKTtyZXR1cm4gYS5jdHJsS2V5fHxhLm1ldGFLZXl8fGM8IiAifHwhYnx8Yi5pbmRleE9mKGMpPi0xfX0sX2RvS2V5VXA6ZnVuY3Rpb24oYSl7YT1kLmRhdGVwaWNrZXIuX2dldEluc3QoYS50YXJnZXQpO2lmKGEuaW5wdXQudmFsKCkhPWEubGFzdFZhbCl0cnl7aWYoZC5kYXRlcGlja2VyLnBhcnNlRGF0ZShkLmRhdGVwaWNrZXIuX2dldChhLCJkYXRlRm9ybWF0IiksYS5pbnB1dD9hLmlucHV0LnZhbCgpOm51bGwsZC5kYXRlcGlja2VyLl9nZXRGb3JtYXRDb25maWcoYSkpKXtkLmRhdGVwaWNrZXIuX3NldERhdGVGcm9tRmllbGQoYSk7CmQuZGF0ZXBpY2tlci5fdXBkYXRlQWx0ZXJuYXRlKGEpO2QuZGF0ZXBpY2tlci5fdXBkYXRlRGF0ZXBpY2tlcihhKX19Y2F0Y2goYil7ZC5kYXRlcGlja2VyLmxvZyhiKX1yZXR1cm4gdHJ1ZX0sX3Nob3dEYXRlcGlja2VyOmZ1bmN0aW9uKGEpe2E9YS50YXJnZXR8fGE7aWYoYS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpIT0iaW5wdXQiKWE9ZCgiaW5wdXQiLGEucGFyZW50Tm9kZSlbMF07aWYoIShkLmRhdGVwaWNrZXIuX2lzRGlzYWJsZWREYXRlcGlja2VyKGEpfHxkLmRhdGVwaWNrZXIuX2xhc3RJbnB1dD09YSkpe3ZhciBiPWQuZGF0ZXBpY2tlci5fZ2V0SW5zdChhKTtpZihkLmRhdGVwaWNrZXIuX2N1ckluc3QmJmQuZGF0ZXBpY2tlci5fY3VySW5zdCE9Yil7ZC5kYXRlcGlja2VyLl9kYXRlcGlja2VyU2hvd2luZyYmZC5kYXRlcGlja2VyLl90cmlnZ2VyT25DbG9zZShkLmRhdGVwaWNrZXIuX2N1ckluc3QpO2QuZGF0ZXBpY2tlci5fY3VySW5zdC5kcERpdi5zdG9wKHRydWUsdHJ1ZSl9dmFyIGM9CmQuZGF0ZXBpY2tlci5fZ2V0KGIsImJlZm9yZVNob3ciKTtIKGIuc2V0dGluZ3MsYz9jLmFwcGx5KGEsW2EsYl0pOnt9KTtiLmxhc3RWYWw9bnVsbDtkLmRhdGVwaWNrZXIuX2xhc3RJbnB1dD1hO2QuZGF0ZXBpY2tlci5fc2V0RGF0ZUZyb21GaWVsZChiKTtpZihkLmRhdGVwaWNrZXIuX2luRGlhbG9nKWEudmFsdWU9IiI7aWYoIWQuZGF0ZXBpY2tlci5fcG9zKXtkLmRhdGVwaWNrZXIuX3Bvcz1kLmRhdGVwaWNrZXIuX2ZpbmRQb3MoYSk7ZC5kYXRlcGlja2VyLl9wb3NbMV0rPWEub2Zmc2V0SGVpZ2h0fXZhciBlPWZhbHNlO2QoYSkucGFyZW50cygpLmVhY2goZnVuY3Rpb24oKXtlfD1kKHRoaXMpLmNzcygicG9zaXRpb24iKT09ImZpeGVkIjtyZXR1cm4hZX0pO2lmKGUmJmQuYnJvd3Nlci5vcGVyYSl7ZC5kYXRlcGlja2VyLl9wb3NbMF0tPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0O2QuZGF0ZXBpY2tlci5fcG9zWzFdLT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wfWM9CntsZWZ0OmQuZGF0ZXBpY2tlci5fcG9zWzBdLHRvcDpkLmRhdGVwaWNrZXIuX3Bvc1sxXX07ZC5kYXRlcGlja2VyLl9wb3M9bnVsbDtiLmRwRGl2LmVtcHR5KCk7Yi5kcERpdi5jc3Moe3Bvc2l0aW9uOiJhYnNvbHV0ZSIsZGlzcGxheToiYmxvY2siLHRvcDoiLTEwMDBweCJ9KTtkLmRhdGVwaWNrZXIuX3VwZGF0ZURhdGVwaWNrZXIoYik7Yz1kLmRhdGVwaWNrZXIuX2NoZWNrT2Zmc2V0KGIsYyxlKTtiLmRwRGl2LmNzcyh7cG9zaXRpb246ZC5kYXRlcGlja2VyLl9pbkRpYWxvZyYmZC5ibG9ja1VJPyJzdGF0aWMiOmU/ImZpeGVkIjoiYWJzb2x1dGUiLGRpc3BsYXk6Im5vbmUiLGxlZnQ6Yy5sZWZ0KyJweCIsdG9wOmMudG9wKyJweCJ9KTtpZighYi5pbmxpbmUpe2M9ZC5kYXRlcGlja2VyLl9nZXQoYiwic2hvd0FuaW0iKTt2YXIgZj1kLmRhdGVwaWNrZXIuX2dldChiLCJkdXJhdGlvbiIpLGg9ZnVuY3Rpb24oKXt2YXIgaT1iLmRwRGl2LmZpbmQoImlmcmFtZS51aS1kYXRlcGlja2VyLWNvdmVyIik7CmlmKGkubGVuZ3RoKXt2YXIgZz1kLmRhdGVwaWNrZXIuX2dldEJvcmRlcnMoYi5kcERpdik7aS5jc3Moe2xlZnQ6LWdbMF0sdG9wOi1nWzFdLHdpZHRoOmIuZHBEaXYub3V0ZXJXaWR0aCgpLGhlaWdodDpiLmRwRGl2Lm91dGVySGVpZ2h0KCl9KX19O2IuZHBEaXYuekluZGV4KGQoYSkuekluZGV4KCkrMSk7ZC5kYXRlcGlja2VyLl9kYXRlcGlja2VyU2hvd2luZz10cnVlO2QuZWZmZWN0cyYmZC5lZmZlY3RzW2NdP2IuZHBEaXYuc2hvdyhjLGQuZGF0ZXBpY2tlci5fZ2V0KGIsInNob3dPcHRpb25zIiksZixoKTpiLmRwRGl2W2N8fCJzaG93Il0oYz9mOm51bGwsaCk7aWYoIWN8fCFmKWgoKTtiLmlucHV0LmlzKCI6dmlzaWJsZSIpJiYhYi5pbnB1dC5pcygiOmRpc2FibGVkIikmJmIuaW5wdXQuZm9jdXMoKTtkLmRhdGVwaWNrZXIuX2N1ckluc3Q9Yn19fSxfdXBkYXRlRGF0ZXBpY2tlcjpmdW5jdGlvbihhKXt0aGlzLm1heFJvd3M9NDt2YXIgYj1kLmRhdGVwaWNrZXIuX2dldEJvcmRlcnMoYS5kcERpdik7Cko9YTthLmRwRGl2LmVtcHR5KCkuYXBwZW5kKHRoaXMuX2dlbmVyYXRlSFRNTChhKSk7dmFyIGM9YS5kcERpdi5maW5kKCJpZnJhbWUudWktZGF0ZXBpY2tlci1jb3ZlciIpO2MubGVuZ3RoJiZjLmNzcyh7bGVmdDotYlswXSx0b3A6LWJbMV0sd2lkdGg6YS5kcERpdi5vdXRlcldpZHRoKCksaGVpZ2h0OmEuZHBEaXYub3V0ZXJIZWlnaHQoKX0pO2EuZHBEaXYuZmluZCgiLiIrdGhpcy5fZGF5T3ZlckNsYXNzKyIgYSIpLm1vdXNlb3ZlcigpO2I9dGhpcy5fZ2V0TnVtYmVyT2ZNb250aHMoYSk7Yz1iWzFdO2EuZHBEaXYucmVtb3ZlQ2xhc3MoInVpLWRhdGVwaWNrZXItbXVsdGktMiB1aS1kYXRlcGlja2VyLW11bHRpLTMgdWktZGF0ZXBpY2tlci1tdWx0aS00Iikud2lkdGgoIiIpO2M+MSYmYS5kcERpdi5hZGRDbGFzcygidWktZGF0ZXBpY2tlci1tdWx0aS0iK2MpLmNzcygid2lkdGgiLDE3KmMrImVtIik7YS5kcERpdlsoYlswXSE9MXx8YlsxXSE9MT8iYWRkIjoicmVtb3ZlIikrIkNsYXNzIl0oInVpLWRhdGVwaWNrZXItbXVsdGkiKTsKYS5kcERpdlsodGhpcy5fZ2V0KGEsImlzUlRMIik/ImFkZCI6InJlbW92ZSIpKyJDbGFzcyJdKCJ1aS1kYXRlcGlja2VyLXJ0bCIpO2E9PWQuZGF0ZXBpY2tlci5fY3VySW5zdCYmZC5kYXRlcGlja2VyLl9kYXRlcGlja2VyU2hvd2luZyYmYS5pbnB1dCYmYS5pbnB1dC5pcygiOnZpc2libGUiKSYmIWEuaW5wdXQuaXMoIjpkaXNhYmxlZCIpJiZhLmlucHV0WzBdIT1kb2N1bWVudC5hY3RpdmVFbGVtZW50JiZhLmlucHV0LmZvY3VzKCk7aWYoYS55ZWFyc2h0bWwpe3ZhciBlPWEueWVhcnNodG1sO3NldFRpbWVvdXQoZnVuY3Rpb24oKXtlPT09YS55ZWFyc2h0bWwmJmEueWVhcnNodG1sJiZhLmRwRGl2LmZpbmQoInNlbGVjdC51aS1kYXRlcGlja2VyLXllYXI6Zmlyc3QiKS5yZXBsYWNlV2l0aChhLnllYXJzaHRtbCk7ZT1hLnllYXJzaHRtbD1udWxsfSwwKX19LF9nZXRCb3JkZXJzOmZ1bmN0aW9uKGEpe3ZhciBiPWZ1bmN0aW9uKGMpe3JldHVybnt0aGluOjEsbWVkaXVtOjIsdGhpY2s6M31bY118fApjfTtyZXR1cm5bcGFyc2VGbG9hdChiKGEuY3NzKCJib3JkZXItbGVmdC13aWR0aCIpKSkscGFyc2VGbG9hdChiKGEuY3NzKCJib3JkZXItdG9wLXdpZHRoIikpKV19LF9jaGVja09mZnNldDpmdW5jdGlvbihhLGIsYyl7dmFyIGU9YS5kcERpdi5vdXRlcldpZHRoKCksZj1hLmRwRGl2Lm91dGVySGVpZ2h0KCksaD1hLmlucHV0P2EuaW5wdXQub3V0ZXJXaWR0aCgpOjAsaT1hLmlucHV0P2EuaW5wdXQub3V0ZXJIZWlnaHQoKTowLGc9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoK2QoZG9jdW1lbnQpLnNjcm9sbExlZnQoKSxqPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQrZChkb2N1bWVudCkuc2Nyb2xsVG9wKCk7Yi5sZWZ0LT10aGlzLl9nZXQoYSwiaXNSVEwiKT9lLWg6MDtiLmxlZnQtPWMmJmIubGVmdD09YS5pbnB1dC5vZmZzZXQoKS5sZWZ0P2QoZG9jdW1lbnQpLnNjcm9sbExlZnQoKTowO2IudG9wLT1jJiZiLnRvcD09YS5pbnB1dC5vZmZzZXQoKS50b3ArCmk/ZChkb2N1bWVudCkuc2Nyb2xsVG9wKCk6MDtiLmxlZnQtPU1hdGgubWluKGIubGVmdCxiLmxlZnQrZT5nJiZnPmU/TWF0aC5hYnMoYi5sZWZ0K2UtZyk6MCk7Yi50b3AtPU1hdGgubWluKGIudG9wLGIudG9wK2Y+aiYmaj5mP01hdGguYWJzKGYraSk6MCk7cmV0dXJuIGJ9LF9maW5kUG9zOmZ1bmN0aW9uKGEpe2Zvcih2YXIgYj10aGlzLl9nZXQodGhpcy5fZ2V0SW5zdChhKSwiaXNSVEwiKTthJiYoYS50eXBlPT0iaGlkZGVuInx8YS5ub2RlVHlwZSE9MXx8ZC5leHByLmZpbHRlcnMuaGlkZGVuKGEpKTspYT1hW2I/InByZXZpb3VzU2libGluZyI6Im5leHRTaWJsaW5nIl07YT1kKGEpLm9mZnNldCgpO3JldHVyblthLmxlZnQsYS50b3BdfSxfdHJpZ2dlck9uQ2xvc2U6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5fZ2V0KGEsIm9uQ2xvc2UiKTtpZihiKWIuYXBwbHkoYS5pbnB1dD9hLmlucHV0WzBdOm51bGwsW2EuaW5wdXQ/YS5pbnB1dC52YWwoKToiIixhXSl9LF9oaWRlRGF0ZXBpY2tlcjpmdW5jdGlvbihhKXt2YXIgYj0KdGhpcy5fY3VySW5zdDtpZighKCFifHxhJiZiIT1kLmRhdGEoYSwiZGF0ZXBpY2tlciIpKSlpZih0aGlzLl9kYXRlcGlja2VyU2hvd2luZyl7YT10aGlzLl9nZXQoYiwic2hvd0FuaW0iKTt2YXIgYz10aGlzLl9nZXQoYiwiZHVyYXRpb24iKSxlPWZ1bmN0aW9uKCl7ZC5kYXRlcGlja2VyLl90aWR5RGlhbG9nKGIpO3RoaXMuX2N1ckluc3Q9bnVsbH07ZC5lZmZlY3RzJiZkLmVmZmVjdHNbYV0/Yi5kcERpdi5oaWRlKGEsZC5kYXRlcGlja2VyLl9nZXQoYiwic2hvd09wdGlvbnMiKSxjLGUpOmIuZHBEaXZbYT09InNsaWRlRG93biI/InNsaWRlVXAiOmE9PSJmYWRlSW4iPyJmYWRlT3V0IjoiaGlkZSJdKGE/YzpudWxsLGUpO2F8fGUoKTtkLmRhdGVwaWNrZXIuX3RyaWdnZXJPbkNsb3NlKGIpO3RoaXMuX2RhdGVwaWNrZXJTaG93aW5nPWZhbHNlO3RoaXMuX2xhc3RJbnB1dD1udWxsO2lmKHRoaXMuX2luRGlhbG9nKXt0aGlzLl9kaWFsb2dJbnB1dC5jc3Moe3Bvc2l0aW9uOiJhYnNvbHV0ZSIsCmxlZnQ6IjAiLHRvcDoiLTEwMHB4In0pO2lmKGQuYmxvY2tVSSl7ZC51bmJsb2NrVUkoKTtkKCJib2R5IikuYXBwZW5kKHRoaXMuZHBEaXYpfX10aGlzLl9pbkRpYWxvZz1mYWxzZX19LF90aWR5RGlhbG9nOmZ1bmN0aW9uKGEpe2EuZHBEaXYucmVtb3ZlQ2xhc3ModGhpcy5fZGlhbG9nQ2xhc3MpLnVuYmluZCgiLnVpLWRhdGVwaWNrZXItY2FsZW5kYXIiKX0sX2NoZWNrRXh0ZXJuYWxDbGljazpmdW5jdGlvbihhKXtpZihkLmRhdGVwaWNrZXIuX2N1ckluc3Qpe2E9ZChhLnRhcmdldCk7YVswXS5pZCE9ZC5kYXRlcGlja2VyLl9tYWluRGl2SWQmJmEucGFyZW50cygiIyIrZC5kYXRlcGlja2VyLl9tYWluRGl2SWQpLmxlbmd0aD09MCYmIWEuaGFzQ2xhc3MoZC5kYXRlcGlja2VyLm1hcmtlckNsYXNzTmFtZSkmJiFhLmhhc0NsYXNzKGQuZGF0ZXBpY2tlci5fdHJpZ2dlckNsYXNzKSYmZC5kYXRlcGlja2VyLl9kYXRlcGlja2VyU2hvd2luZyYmIShkLmRhdGVwaWNrZXIuX2luRGlhbG9nJiYKZC5ibG9ja1VJKSYmZC5kYXRlcGlja2VyLl9oaWRlRGF0ZXBpY2tlcigpfX0sX2FkanVzdERhdGU6ZnVuY3Rpb24oYSxiLGMpe2E9ZChhKTt2YXIgZT10aGlzLl9nZXRJbnN0KGFbMF0pO2lmKCF0aGlzLl9pc0Rpc2FibGVkRGF0ZXBpY2tlcihhWzBdKSl7dGhpcy5fYWRqdXN0SW5zdERhdGUoZSxiKyhjPT0iTSI/dGhpcy5fZ2V0KGUsInNob3dDdXJyZW50QXRQb3MiKTowKSxjKTt0aGlzLl91cGRhdGVEYXRlcGlja2VyKGUpfX0sX2dvdG9Ub2RheTpmdW5jdGlvbihhKXthPWQoYSk7dmFyIGI9dGhpcy5fZ2V0SW5zdChhWzBdKTtpZih0aGlzLl9nZXQoYiwiZ290b0N1cnJlbnQiKSYmYi5jdXJyZW50RGF5KXtiLnNlbGVjdGVkRGF5PWIuY3VycmVudERheTtiLmRyYXdNb250aD1iLnNlbGVjdGVkTW9udGg9Yi5jdXJyZW50TW9udGg7Yi5kcmF3WWVhcj1iLnNlbGVjdGVkWWVhcj1iLmN1cnJlbnRZZWFyfWVsc2V7dmFyIGM9bmV3IERhdGU7Yi5zZWxlY3RlZERheT1jLmdldERhdGUoKTtiLmRyYXdNb250aD0KYi5zZWxlY3RlZE1vbnRoPWMuZ2V0TW9udGgoKTtiLmRyYXdZZWFyPWIuc2VsZWN0ZWRZZWFyPWMuZ2V0RnVsbFllYXIoKX10aGlzLl9ub3RpZnlDaGFuZ2UoYik7dGhpcy5fYWRqdXN0RGF0ZShhKX0sX3NlbGVjdE1vbnRoWWVhcjpmdW5jdGlvbihhLGIsYyl7YT1kKGEpO3ZhciBlPXRoaXMuX2dldEluc3QoYVswXSk7ZS5fc2VsZWN0aW5nTW9udGhZZWFyPWZhbHNlO2VbInNlbGVjdGVkIisoYz09Ik0iPyJNb250aCI6IlllYXIiKV09ZVsiZHJhdyIrKGM9PSJNIj8iTW9udGgiOiJZZWFyIildPXBhcnNlSW50KGIub3B0aW9uc1tiLnNlbGVjdGVkSW5kZXhdLnZhbHVlLDEwKTt0aGlzLl9ub3RpZnlDaGFuZ2UoZSk7dGhpcy5fYWRqdXN0RGF0ZShhKX0sX2NsaWNrTW9udGhZZWFyOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuX2dldEluc3QoZChhKVswXSk7Yi5pbnB1dCYmYi5fc2VsZWN0aW5nTW9udGhZZWFyJiZzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yi5pbnB1dC5mb2N1cygpfSwwKTtiLl9zZWxlY3RpbmdNb250aFllYXI9CiFiLl9zZWxlY3RpbmdNb250aFllYXJ9LF9zZWxlY3REYXk6ZnVuY3Rpb24oYSxiLGMsZSl7dmFyIGY9ZChhKTtpZighKGQoZSkuaGFzQ2xhc3ModGhpcy5fdW5zZWxlY3RhYmxlQ2xhc3MpfHx0aGlzLl9pc0Rpc2FibGVkRGF0ZXBpY2tlcihmWzBdKSkpe2Y9dGhpcy5fZ2V0SW5zdChmWzBdKTtmLnNlbGVjdGVkRGF5PWYuY3VycmVudERheT1kKCJhIixlKS5odG1sKCk7Zi5zZWxlY3RlZE1vbnRoPWYuY3VycmVudE1vbnRoPWI7Zi5zZWxlY3RlZFllYXI9Zi5jdXJyZW50WWVhcj1jO3RoaXMuX3NlbGVjdERhdGUoYSx0aGlzLl9mb3JtYXREYXRlKGYsZi5jdXJyZW50RGF5LGYuY3VycmVudE1vbnRoLGYuY3VycmVudFllYXIpKX19LF9jbGVhckRhdGU6ZnVuY3Rpb24oYSl7YT1kKGEpO3RoaXMuX2dldEluc3QoYVswXSk7dGhpcy5fc2VsZWN0RGF0ZShhLCIiKX0sX3NlbGVjdERhdGU6ZnVuY3Rpb24oYSxiKXthPXRoaXMuX2dldEluc3QoZChhKVswXSk7Yj1iIT1udWxsP2I6dGhpcy5fZm9ybWF0RGF0ZShhKTsKYS5pbnB1dCYmYS5pbnB1dC52YWwoYik7dGhpcy5fdXBkYXRlQWx0ZXJuYXRlKGEpO3ZhciBjPXRoaXMuX2dldChhLCJvblNlbGVjdCIpO2lmKGMpYy5hcHBseShhLmlucHV0P2EuaW5wdXRbMF06bnVsbCxbYixhXSk7ZWxzZSBhLmlucHV0JiZhLmlucHV0LnRyaWdnZXIoImNoYW5nZSIpO2lmKGEuaW5saW5lKXRoaXMuX3VwZGF0ZURhdGVwaWNrZXIoYSk7ZWxzZXt0aGlzLl9oaWRlRGF0ZXBpY2tlcigpO3RoaXMuX2xhc3RJbnB1dD1hLmlucHV0WzBdO3R5cGVvZiBhLmlucHV0WzBdIT0ib2JqZWN0IiYmYS5pbnB1dC5mb2N1cygpO3RoaXMuX2xhc3RJbnB1dD1udWxsfX0sX3VwZGF0ZUFsdGVybmF0ZTpmdW5jdGlvbihhKXt2YXIgYj10aGlzLl9nZXQoYSwiYWx0RmllbGQiKTtpZihiKXt2YXIgYz10aGlzLl9nZXQoYSwiYWx0Rm9ybWF0Iil8fHRoaXMuX2dldChhLCJkYXRlRm9ybWF0IiksZT10aGlzLl9nZXREYXRlKGEpLGY9dGhpcy5mb3JtYXREYXRlKGMsZSx0aGlzLl9nZXRGb3JtYXRDb25maWcoYSkpOwpkKGIpLmVhY2goZnVuY3Rpb24oKXtkKHRoaXMpLnZhbChmKX0pfX0sbm9XZWVrZW5kczpmdW5jdGlvbihhKXthPWEuZ2V0RGF5KCk7cmV0dXJuW2E+MCYmYTw2LCIiXX0saXNvODYwMVdlZWs6ZnVuY3Rpb24oYSl7YT1uZXcgRGF0ZShhLmdldFRpbWUoKSk7YS5zZXREYXRlKGEuZ2V0RGF0ZSgpKzQtKGEuZ2V0RGF5KCl8fDcpKTt2YXIgYj1hLmdldFRpbWUoKTthLnNldE1vbnRoKDApO2Euc2V0RGF0ZSgxKTtyZXR1cm4gTWF0aC5mbG9vcihNYXRoLnJvdW5kKChiLWEpLzg2NEU1KS83KSsxfSxwYXJzZURhdGU6ZnVuY3Rpb24oYSxiLGMpe2lmKGE9PW51bGx8fGI9PW51bGwpdGhyb3ciSW52YWxpZCBhcmd1bWVudHMiO2I9dHlwZW9mIGI9PSJvYmplY3QiP2IudG9TdHJpbmcoKTpiKyIiO2lmKGI9PSIiKXJldHVybiBudWxsO3ZhciBlPShjP2Muc2hvcnRZZWFyQ3V0b2ZmOm51bGwpfHx0aGlzLl9kZWZhdWx0cy5zaG9ydFllYXJDdXRvZmY7ZT10eXBlb2YgZSE9InN0cmluZyI/ZToobmV3IERhdGUpLmdldEZ1bGxZZWFyKCklCjEwMCtwYXJzZUludChlLDEwKTtmb3IodmFyIGY9KGM/Yy5kYXlOYW1lc1Nob3J0Om51bGwpfHx0aGlzLl9kZWZhdWx0cy5kYXlOYW1lc1Nob3J0LGg9KGM/Yy5kYXlOYW1lczpudWxsKXx8dGhpcy5fZGVmYXVsdHMuZGF5TmFtZXMsaT0oYz9jLm1vbnRoTmFtZXNTaG9ydDpudWxsKXx8dGhpcy5fZGVmYXVsdHMubW9udGhOYW1lc1Nob3J0LGc9KGM/Yy5tb250aE5hbWVzOm51bGwpfHx0aGlzLl9kZWZhdWx0cy5tb250aE5hbWVzLGo9Yz0tMSxsPS0xLHU9LTEsaz1mYWxzZSxvPWZ1bmN0aW9uKHApeyhwPUIrMTxhLmxlbmd0aCYmYS5jaGFyQXQoQisxKT09cCkmJkIrKztyZXR1cm4gcH0sbT1mdW5jdGlvbihwKXt2YXIgRD1vKHApO3A9bmV3IFJlZ0V4cCgiXlxcZHsxLCIrKHA9PSJAIj8xNDpwPT0iISI/MjA6cD09InkiJiZEPzQ6cD09Im8iPzM6MikrIn0iKTtwPWIuc3Vic3RyaW5nKHEpLm1hdGNoKHApO2lmKCFwKXRocm93Ik1pc3NpbmcgbnVtYmVyIGF0IHBvc2l0aW9uICIrcTtxKz0KcFswXS5sZW5ndGg7cmV0dXJuIHBhcnNlSW50KHBbMF0sMTApfSxuPWZ1bmN0aW9uKHAsRCxLKXtwPWQubWFwKG8ocCk/SzpELGZ1bmN0aW9uKHcseCl7cmV0dXJuW1t4LHddXX0pLnNvcnQoZnVuY3Rpb24odyx4KXtyZXR1cm4tKHdbMV0ubGVuZ3RoLXhbMV0ubGVuZ3RoKX0pO3ZhciBFPS0xO2QuZWFjaChwLGZ1bmN0aW9uKHcseCl7dz14WzFdO2lmKGIuc3Vic3RyKHEsdy5sZW5ndGgpLnRvTG93ZXJDYXNlKCk9PXcudG9Mb3dlckNhc2UoKSl7RT14WzBdO3ErPXcubGVuZ3RoO3JldHVybiBmYWxzZX19KTtpZihFIT0tMSlyZXR1cm4gRSsxO2Vsc2UgdGhyb3ciVW5rbm93biBuYW1lIGF0IHBvc2l0aW9uICIrcTt9LHM9ZnVuY3Rpb24oKXtpZihiLmNoYXJBdChxKSE9YS5jaGFyQXQoQikpdGhyb3ciVW5leHBlY3RlZCBsaXRlcmFsIGF0IHBvc2l0aW9uICIrcTtxKyt9LHE9MCxCPTA7QjxhLmxlbmd0aDtCKyspaWYoaylpZihhLmNoYXJBdChCKT09IiciJiYhbygiJyIpKWs9ZmFsc2U7CmVsc2UgcygpO2Vsc2Ugc3dpdGNoKGEuY2hhckF0KEIpKXtjYXNlICJkIjpsPW0oImQiKTticmVhaztjYXNlICJEIjpuKCJEIixmLGgpO2JyZWFrO2Nhc2UgIm8iOnU9bSgibyIpO2JyZWFrO2Nhc2UgIm0iOmo9bSgibSIpO2JyZWFrO2Nhc2UgIk0iOmo9bigiTSIsaSxnKTticmVhaztjYXNlICJ5IjpjPW0oInkiKTticmVhaztjYXNlICJAIjp2YXIgdj1uZXcgRGF0ZShtKCJAIikpO2M9di5nZXRGdWxsWWVhcigpO2o9di5nZXRNb250aCgpKzE7bD12LmdldERhdGUoKTticmVhaztjYXNlICIhIjp2PW5ldyBEYXRlKChtKCIhIiktdGhpcy5fdGlja3NUbzE5NzApLzFFNCk7Yz12LmdldEZ1bGxZZWFyKCk7aj12LmdldE1vbnRoKCkrMTtsPXYuZ2V0RGF0ZSgpO2JyZWFrO2Nhc2UgIiciOmlmKG8oIiciKSlzKCk7ZWxzZSBrPXRydWU7YnJlYWs7ZGVmYXVsdDpzKCl9aWYocTxiLmxlbmd0aCl0aHJvdyJFeHRyYS91bnBhcnNlZCBjaGFyYWN0ZXJzIGZvdW5kIGluIGRhdGU6ICIrYi5zdWJzdHJpbmcocSk7CmlmKGM9PS0xKWM9KG5ldyBEYXRlKS5nZXRGdWxsWWVhcigpO2Vsc2UgaWYoYzwxMDApYys9KG5ldyBEYXRlKS5nZXRGdWxsWWVhcigpLShuZXcgRGF0ZSkuZ2V0RnVsbFllYXIoKSUxMDArKGM8PWU/MDotMTAwKTtpZih1Pi0xKXtqPTE7bD11O2Rve2U9dGhpcy5fZ2V0RGF5c0luTW9udGgoYyxqLTEpO2lmKGw8PWUpYnJlYWs7aisrO2wtPWV9d2hpbGUoMSl9dj10aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdChuZXcgRGF0ZShjLGotMSxsKSk7aWYodi5nZXRGdWxsWWVhcigpIT1jfHx2LmdldE1vbnRoKCkrMSE9anx8di5nZXREYXRlKCkhPWwpdGhyb3ciSW52YWxpZCBkYXRlIjtyZXR1cm4gdn0sQVRPTToieXktbW0tZGQiLENPT0tJRToiRCwgZGQgTSB5eSIsSVNPXzg2MDE6Inl5LW1tLWRkIixSRkNfODIyOiJELCBkIE0geSIsUkZDXzg1MDoiREQsIGRkLU0teSIsUkZDXzEwMzY6IkQsIGQgTSB5IixSRkNfMTEyMzoiRCwgZCBNIHl5IixSRkNfMjgyMjoiRCwgZCBNIHl5IixSU1M6IkQsIGQgTSB5IiwKVElDS1M6IiEiLFRJTUVTVEFNUDoiQCIsVzNDOiJ5eS1tbS1kZCIsX3RpY2tzVG8xOTcwOig3MTg2ODUrTWF0aC5mbG9vcig0OTIuNSktTWF0aC5mbG9vcigxOS43KStNYXRoLmZsb29yKDQuOTI1KSkqMjQqNjAqNjAqMUU3LGZvcm1hdERhdGU6ZnVuY3Rpb24oYSxiLGMpe2lmKCFiKXJldHVybiIiO3ZhciBlPShjP2MuZGF5TmFtZXNTaG9ydDpudWxsKXx8dGhpcy5fZGVmYXVsdHMuZGF5TmFtZXNTaG9ydCxmPShjP2MuZGF5TmFtZXM6bnVsbCl8fHRoaXMuX2RlZmF1bHRzLmRheU5hbWVzLGg9KGM/Yy5tb250aE5hbWVzU2hvcnQ6bnVsbCl8fHRoaXMuX2RlZmF1bHRzLm1vbnRoTmFtZXNTaG9ydDtjPShjP2MubW9udGhOYW1lczpudWxsKXx8dGhpcy5fZGVmYXVsdHMubW9udGhOYW1lczt2YXIgaT1mdW5jdGlvbihvKXsobz1rKzE8YS5sZW5ndGgmJmEuY2hhckF0KGsrMSk9PW8pJiZrKys7cmV0dXJuIG99LGc9ZnVuY3Rpb24obyxtLG4pe209IiIrbTtpZihpKG8pKWZvcig7bS5sZW5ndGg8Cm47KW09IjAiK207cmV0dXJuIG19LGo9ZnVuY3Rpb24obyxtLG4scyl7cmV0dXJuIGkobyk/c1ttXTpuW21dfSxsPSIiLHU9ZmFsc2U7aWYoYilmb3IodmFyIGs9MDtrPGEubGVuZ3RoO2srKylpZih1KWlmKGEuY2hhckF0KGspPT0iJyImJiFpKCInIikpdT1mYWxzZTtlbHNlIGwrPWEuY2hhckF0KGspO2Vsc2Ugc3dpdGNoKGEuY2hhckF0KGspKXtjYXNlICJkIjpsKz1nKCJkIixiLmdldERhdGUoKSwyKTticmVhaztjYXNlICJEIjpsKz1qKCJEIixiLmdldERheSgpLGUsZik7YnJlYWs7Y2FzZSAibyI6bCs9ZygibyIsTWF0aC5yb3VuZCgoKG5ldyBEYXRlKGIuZ2V0RnVsbFllYXIoKSxiLmdldE1vbnRoKCksYi5nZXREYXRlKCkpKS5nZXRUaW1lKCktKG5ldyBEYXRlKGIuZ2V0RnVsbFllYXIoKSwwLDApKS5nZXRUaW1lKCkpLzg2NEU1KSwzKTticmVhaztjYXNlICJtIjpsKz1nKCJtIixiLmdldE1vbnRoKCkrMSwyKTticmVhaztjYXNlICJNIjpsKz1qKCJNIixiLmdldE1vbnRoKCksaCwKYyk7YnJlYWs7Y2FzZSAieSI6bCs9aSgieSIpP2IuZ2V0RnVsbFllYXIoKTooYi5nZXRZZWFyKCklMTAwPDEwPyIwIjoiIikrYi5nZXRZZWFyKCklMTAwO2JyZWFrO2Nhc2UgIkAiOmwrPWIuZ2V0VGltZSgpO2JyZWFrO2Nhc2UgIiEiOmwrPWIuZ2V0VGltZSgpKjFFNCt0aGlzLl90aWNrc1RvMTk3MDticmVhaztjYXNlICInIjppZihpKCInIikpbCs9IiciO2Vsc2UgdT10cnVlO2JyZWFrO2RlZmF1bHQ6bCs9YS5jaGFyQXQoayl9cmV0dXJuIGx9LF9wb3NzaWJsZUNoYXJzOmZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0iIixjPWZhbHNlLGU9ZnVuY3Rpb24oaCl7KGg9ZisxPGEubGVuZ3RoJiZhLmNoYXJBdChmKzEpPT1oKSYmZisrO3JldHVybiBofSxmPTA7ZjxhLmxlbmd0aDtmKyspaWYoYylpZihhLmNoYXJBdChmKT09IiciJiYhZSgiJyIpKWM9ZmFsc2U7ZWxzZSBiKz1hLmNoYXJBdChmKTtlbHNlIHN3aXRjaChhLmNoYXJBdChmKSl7Y2FzZSAiZCI6Y2FzZSAibSI6Y2FzZSAieSI6Y2FzZSAiQCI6Yis9CiIwMTIzNDU2Nzg5IjticmVhaztjYXNlICJEIjpjYXNlICJNIjpyZXR1cm4gbnVsbDtjYXNlICInIjppZihlKCInIikpYis9IiciO2Vsc2UgYz10cnVlO2JyZWFrO2RlZmF1bHQ6Yis9YS5jaGFyQXQoZil9cmV0dXJuIGJ9LF9nZXQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5zZXR0aW5nc1tiXSE9PUM/YS5zZXR0aW5nc1tiXTp0aGlzLl9kZWZhdWx0c1tiXX0sX3NldERhdGVGcm9tRmllbGQ6ZnVuY3Rpb24oYSxiKXtpZihhLmlucHV0LnZhbCgpIT1hLmxhc3RWYWwpe3ZhciBjPXRoaXMuX2dldChhLCJkYXRlRm9ybWF0IiksZT1hLmxhc3RWYWw9YS5pbnB1dD9hLmlucHV0LnZhbCgpOm51bGwsZixoO2Y9aD10aGlzLl9nZXREZWZhdWx0RGF0ZShhKTt2YXIgaT10aGlzLl9nZXRGb3JtYXRDb25maWcoYSk7dHJ5e2Y9dGhpcy5wYXJzZURhdGUoYyxlLGkpfHxofWNhdGNoKGcpe3RoaXMubG9nKGcpO2U9Yj8iIjplfWEuc2VsZWN0ZWREYXk9Zi5nZXREYXRlKCk7YS5kcmF3TW9udGg9YS5zZWxlY3RlZE1vbnRoPQpmLmdldE1vbnRoKCk7YS5kcmF3WWVhcj1hLnNlbGVjdGVkWWVhcj1mLmdldEZ1bGxZZWFyKCk7YS5jdXJyZW50RGF5PWU/Zi5nZXREYXRlKCk6MDthLmN1cnJlbnRNb250aD1lP2YuZ2V0TW9udGgoKTowO2EuY3VycmVudFllYXI9ZT9mLmdldEZ1bGxZZWFyKCk6MDt0aGlzLl9hZGp1c3RJbnN0RGF0ZShhKX19LF9nZXREZWZhdWx0RGF0ZTpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5fcmVzdHJpY3RNaW5NYXgoYSx0aGlzLl9kZXRlcm1pbmVEYXRlKGEsdGhpcy5fZ2V0KGEsImRlZmF1bHREYXRlIiksbmV3IERhdGUpKX0sX2RldGVybWluZURhdGU6ZnVuY3Rpb24oYSxiLGMpe3ZhciBlPWZ1bmN0aW9uKGgpe3ZhciBpPW5ldyBEYXRlO2kuc2V0RGF0ZShpLmdldERhdGUoKStoKTtyZXR1cm4gaX0sZj1mdW5jdGlvbihoKXt0cnl7cmV0dXJuIGQuZGF0ZXBpY2tlci5wYXJzZURhdGUoZC5kYXRlcGlja2VyLl9nZXQoYSwiZGF0ZUZvcm1hdCIpLGgsZC5kYXRlcGlja2VyLl9nZXRGb3JtYXRDb25maWcoYSkpfWNhdGNoKGkpe312YXIgZz0KKGgudG9Mb3dlckNhc2UoKS5tYXRjaCgvXmMvKT9kLmRhdGVwaWNrZXIuX2dldERhdGUoYSk6bnVsbCl8fG5ldyBEYXRlLGo9Zy5nZXRGdWxsWWVhcigpLGw9Zy5nZXRNb250aCgpO2c9Zy5nZXREYXRlKCk7Zm9yKHZhciB1PS8oWystXT9bMC05XSspXHMqKGR8RHx3fFd8bXxNfHl8WSk/L2csaz11LmV4ZWMoaCk7azspe3N3aXRjaChrWzJdfHwiZCIpe2Nhc2UgImQiOmNhc2UgIkQiOmcrPXBhcnNlSW50KGtbMV0sMTApO2JyZWFrO2Nhc2UgInciOmNhc2UgIlciOmcrPXBhcnNlSW50KGtbMV0sMTApKjc7YnJlYWs7Y2FzZSAibSI6Y2FzZSAiTSI6bCs9cGFyc2VJbnQoa1sxXSwxMCk7Zz1NYXRoLm1pbihnLGQuZGF0ZXBpY2tlci5fZ2V0RGF5c0luTW9udGgoaixsKSk7YnJlYWs7Y2FzZSAieSI6Y2FzZSAiWSI6ais9cGFyc2VJbnQoa1sxXSwxMCk7Zz1NYXRoLm1pbihnLGQuZGF0ZXBpY2tlci5fZ2V0RGF5c0luTW9udGgoaixsKSk7YnJlYWt9az11LmV4ZWMoaCl9cmV0dXJuIG5ldyBEYXRlKGosCmwsZyl9O2lmKGI9KGI9Yj09bnVsbHx8Yj09PSIiP2M6dHlwZW9mIGI9PSJzdHJpbmciP2YoYik6dHlwZW9mIGI9PSJudW1iZXIiP2lzTmFOKGIpP2M6ZShiKTpuZXcgRGF0ZShiLmdldFRpbWUoKSkpJiZiLnRvU3RyaW5nKCk9PSJJbnZhbGlkIERhdGUiP2M6Yil7Yi5zZXRIb3VycygwKTtiLnNldE1pbnV0ZXMoMCk7Yi5zZXRTZWNvbmRzKDApO2Iuc2V0TWlsbGlzZWNvbmRzKDApfXJldHVybiB0aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdChiKX0sX2RheWxpZ2h0U2F2aW5nQWRqdXN0OmZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiBudWxsO2Euc2V0SG91cnMoYS5nZXRIb3VycygpPjEyP2EuZ2V0SG91cnMoKSsyOjApO3JldHVybiBhfSxfc2V0RGF0ZTpmdW5jdGlvbihhLGIsYyl7dmFyIGU9IWIsZj1hLnNlbGVjdGVkTW9udGgsaD1hLnNlbGVjdGVkWWVhcjtiPXRoaXMuX3Jlc3RyaWN0TWluTWF4KGEsdGhpcy5fZGV0ZXJtaW5lRGF0ZShhLGIsbmV3IERhdGUpKTthLnNlbGVjdGVkRGF5PQphLmN1cnJlbnREYXk9Yi5nZXREYXRlKCk7YS5kcmF3TW9udGg9YS5zZWxlY3RlZE1vbnRoPWEuY3VycmVudE1vbnRoPWIuZ2V0TW9udGgoKTthLmRyYXdZZWFyPWEuc2VsZWN0ZWRZZWFyPWEuY3VycmVudFllYXI9Yi5nZXRGdWxsWWVhcigpO2lmKChmIT1hLnNlbGVjdGVkTW9udGh8fGghPWEuc2VsZWN0ZWRZZWFyKSYmIWMpdGhpcy5fbm90aWZ5Q2hhbmdlKGEpO3RoaXMuX2FkanVzdEluc3REYXRlKGEpO2lmKGEuaW5wdXQpYS5pbnB1dC52YWwoZT8iIjp0aGlzLl9mb3JtYXREYXRlKGEpKX0sX2dldERhdGU6ZnVuY3Rpb24oYSl7cmV0dXJuIWEuY3VycmVudFllYXJ8fGEuaW5wdXQmJmEuaW5wdXQudmFsKCk9PSIiP251bGw6dGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUoYS5jdXJyZW50WWVhcixhLmN1cnJlbnRNb250aCxhLmN1cnJlbnREYXkpKX0sX2dlbmVyYXRlSFRNTDpmdW5jdGlvbihhKXt2YXIgYj1uZXcgRGF0ZTtiPXRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KG5ldyBEYXRlKGIuZ2V0RnVsbFllYXIoKSwKYi5nZXRNb250aCgpLGIuZ2V0RGF0ZSgpKSk7dmFyIGM9dGhpcy5fZ2V0KGEsImlzUlRMIiksZT10aGlzLl9nZXQoYSwic2hvd0J1dHRvblBhbmVsIiksZj10aGlzLl9nZXQoYSwiaGlkZUlmTm9QcmV2TmV4dCIpLGg9dGhpcy5fZ2V0KGEsIm5hdmlnYXRpb25Bc0RhdGVGb3JtYXQiKSxpPXRoaXMuX2dldE51bWJlck9mTW9udGhzKGEpLGc9dGhpcy5fZ2V0KGEsInNob3dDdXJyZW50QXRQb3MiKSxqPXRoaXMuX2dldChhLCJzdGVwTW9udGhzIiksbD1pWzBdIT0xfHxpWzFdIT0xLHU9dGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QoIWEuY3VycmVudERheT9uZXcgRGF0ZSg5OTk5LDksOSk6bmV3IERhdGUoYS5jdXJyZW50WWVhcixhLmN1cnJlbnRNb250aCxhLmN1cnJlbnREYXkpKSxrPXRoaXMuX2dldE1pbk1heERhdGUoYSwibWluIiksbz10aGlzLl9nZXRNaW5NYXhEYXRlKGEsIm1heCIpO2c9YS5kcmF3TW9udGgtZzt2YXIgbT1hLmRyYXdZZWFyO2lmKGc8MCl7Zys9MTI7bS0tfWlmKG8pe3ZhciBuPQp0aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdChuZXcgRGF0ZShvLmdldEZ1bGxZZWFyKCksby5nZXRNb250aCgpLWlbMF0qaVsxXSsxLG8uZ2V0RGF0ZSgpKSk7Zm9yKG49ayYmbjxrP2s6bjt0aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdChuZXcgRGF0ZShtLGcsMSkpPm47KXtnLS07aWYoZzwwKXtnPTExO20tLX19fWEuZHJhd01vbnRoPWc7YS5kcmF3WWVhcj1tO249dGhpcy5fZ2V0KGEsInByZXZUZXh0Iik7bj0haD9uOnRoaXMuZm9ybWF0RGF0ZShuLHRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KG5ldyBEYXRlKG0sZy1qLDEpKSx0aGlzLl9nZXRGb3JtYXRDb25maWcoYSkpO249dGhpcy5fY2FuQWRqdXN0TW9udGgoYSwtMSxtLGcpPyc8YSBjbGFzcz0idWktZGF0ZXBpY2tlci1wcmV2IHVpLWNvcm5lci1hbGwiIG9uY2xpY2s9IkRQX2pRdWVyeV8nK0ErIi5kYXRlcGlja2VyLl9hZGp1c3REYXRlKCcjIithLmlkKyInLCAtIitqKyIsICdNJyk7XCIgdGl0bGU9XCIiK24rJyI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtJysKKGM/ImUiOiJ3IikrJyI+JytuKyI8L3NwYW4+PC9hPiI6Zj8iIjonPGEgY2xhc3M9InVpLWRhdGVwaWNrZXItcHJldiB1aS1jb3JuZXItYWxsIHVpLXN0YXRlLWRpc2FibGVkIiB0aXRsZT0iJytuKyciPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2lyY2xlLXRyaWFuZ2xlLScrKGM/ImUiOiJ3IikrJyI+JytuKyI8L3NwYW4+PC9hPiI7dmFyIHM9dGhpcy5fZ2V0KGEsIm5leHRUZXh0Iik7cz0haD9zOnRoaXMuZm9ybWF0RGF0ZShzLHRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KG5ldyBEYXRlKG0sZytqLDEpKSx0aGlzLl9nZXRGb3JtYXRDb25maWcoYSkpO2Y9dGhpcy5fY2FuQWRqdXN0TW9udGgoYSwrMSxtLGcpPyc8YSBjbGFzcz0idWktZGF0ZXBpY2tlci1uZXh0IHVpLWNvcm5lci1hbGwiIG9uY2xpY2s9IkRQX2pRdWVyeV8nK0ErIi5kYXRlcGlja2VyLl9hZGp1c3REYXRlKCcjIithLmlkKyInLCArIitqKyIsICdNJyk7XCIgdGl0bGU9XCIiK3MrJyI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtJysKKGM/InciOiJlIikrJyI+JytzKyI8L3NwYW4+PC9hPiI6Zj8iIjonPGEgY2xhc3M9InVpLWRhdGVwaWNrZXItbmV4dCB1aS1jb3JuZXItYWxsIHVpLXN0YXRlLWRpc2FibGVkIiB0aXRsZT0iJytzKyciPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2lyY2xlLXRyaWFuZ2xlLScrKGM/InciOiJlIikrJyI+JytzKyI8L3NwYW4+PC9hPiI7aj10aGlzLl9nZXQoYSwiY3VycmVudFRleHQiKTtzPXRoaXMuX2dldChhLCJnb3RvQ3VycmVudCIpJiZhLmN1cnJlbnREYXk/dTpiO2o9IWg/ajp0aGlzLmZvcm1hdERhdGUoaixzLHRoaXMuX2dldEZvcm1hdENvbmZpZyhhKSk7aD0hYS5pbmxpbmU/JzxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0idWktZGF0ZXBpY2tlci1jbG9zZSB1aS1zdGF0ZS1kZWZhdWx0IHVpLXByaW9yaXR5LXByaW1hcnkgdWktY29ybmVyLWFsbCIgb25jbGljaz0iRFBfalF1ZXJ5XycrQSsnLmRhdGVwaWNrZXIuX2hpZGVEYXRlcGlja2VyKCk7Ij4nK3RoaXMuX2dldChhLAoiY2xvc2VUZXh0IikrIjwvYnV0dG9uPiI6IiI7ZT1lPyc8ZGl2IGNsYXNzPSJ1aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgdWktd2lkZ2V0LWNvbnRlbnQiPicrKGM/aDoiIikrKHRoaXMuX2lzSW5SYW5nZShhLHMpPyc8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9InVpLWRhdGVwaWNrZXItY3VycmVudCB1aS1zdGF0ZS1kZWZhdWx0IHVpLXByaW9yaXR5LXNlY29uZGFyeSB1aS1jb3JuZXItYWxsIiBvbmNsaWNrPSJEUF9qUXVlcnlfJytBKyIuZGF0ZXBpY2tlci5fZ290b1RvZGF5KCcjIithLmlkKyInKTtcIj4iK2orIjwvYnV0dG9uPiI6IiIpKyhjPyIiOmgpKyI8L2Rpdj4iOiIiO2g9cGFyc2VJbnQodGhpcy5fZ2V0KGEsImZpcnN0RGF5IiksMTApO2g9aXNOYU4oaCk/MDpoO2o9dGhpcy5fZ2V0KGEsInNob3dXZWVrIik7cz10aGlzLl9nZXQoYSwiZGF5TmFtZXMiKTt0aGlzLl9nZXQoYSwiZGF5TmFtZXNTaG9ydCIpO3ZhciBxPXRoaXMuX2dldChhLCJkYXlOYW1lc01pbiIpLEI9CnRoaXMuX2dldChhLCJtb250aE5hbWVzIiksdj10aGlzLl9nZXQoYSwibW9udGhOYW1lc1Nob3J0IikscD10aGlzLl9nZXQoYSwiYmVmb3JlU2hvd0RheSIpLEQ9dGhpcy5fZ2V0KGEsInNob3dPdGhlck1vbnRocyIpLEs9dGhpcy5fZ2V0KGEsInNlbGVjdE90aGVyTW9udGhzIik7dGhpcy5fZ2V0KGEsImNhbGN1bGF0ZVdlZWsiKTtmb3IodmFyIEU9dGhpcy5fZ2V0RGVmYXVsdERhdGUoYSksdz0iIix4PTA7eDxpWzBdO3grKyl7dmFyIE89IiI7dGhpcy5tYXhSb3dzPTQ7Zm9yKHZhciBHPTA7RzxpWzFdO0crKyl7dmFyIFA9dGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUobSxnLGEuc2VsZWN0ZWREYXkpKSx0PSIgdWktY29ybmVyLWFsbCIseT0iIjtpZihsKXt5Kz0nPGRpdiBjbGFzcz0idWktZGF0ZXBpY2tlci1ncm91cCc7aWYoaVsxXT4xKXN3aXRjaChHKXtjYXNlIDA6eSs9IiB1aS1kYXRlcGlja2VyLWdyb3VwLWZpcnN0Ijt0PSIgdWktY29ybmVyLSIrKGM/InJpZ2h0IjoKImxlZnQiKTticmVhaztjYXNlIGlbMV0tMTp5Kz0iIHVpLWRhdGVwaWNrZXItZ3JvdXAtbGFzdCI7dD0iIHVpLWNvcm5lci0iKyhjPyJsZWZ0IjoicmlnaHQiKTticmVhaztkZWZhdWx0OnkrPSIgdWktZGF0ZXBpY2tlci1ncm91cC1taWRkbGUiO3Q9IiI7YnJlYWt9eSs9JyI+J315Kz0nPGRpdiBjbGFzcz0idWktZGF0ZXBpY2tlci1oZWFkZXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXgnK3QrJyI+JysoL2FsbHxsZWZ0Ly50ZXN0KHQpJiZ4PT0wP2M/ZjpuOiIiKSsoL2FsbHxyaWdodC8udGVzdCh0KSYmeD09MD9jP246ZjoiIikrdGhpcy5fZ2VuZXJhdGVNb250aFllYXJIZWFkZXIoYSxnLG0sayxvLHg+MHx8Rz4wLEIsdikrJzwvZGl2Pjx0YWJsZSBjbGFzcz0idWktZGF0ZXBpY2tlci1jYWxlbmRhciI+PHRoZWFkPjx0cj4nO3ZhciB6PWo/Jzx0aCBjbGFzcz0idWktZGF0ZXBpY2tlci13ZWVrLWNvbCI+Jyt0aGlzLl9nZXQoYSwid2Vla0hlYWRlciIpKyI8L3RoPiI6CiIiO2Zvcih0PTA7dDw3O3QrKyl7dmFyIHI9KHQraCklNzt6Kz0iPHRoIisoKHQraCs2KSU3Pj01PycgY2xhc3M9InVpLWRhdGVwaWNrZXItd2Vlay1lbmQiJzoiIikrJz48c3BhbiB0aXRsZT0iJytzW3JdKyciPicrcVtyXSsiPC9zcGFuPjwvdGg+In15Kz16KyI8L3RyPjwvdGhlYWQ+PHRib2R5PiI7ej10aGlzLl9nZXREYXlzSW5Nb250aChtLGcpO2lmKG09PWEuc2VsZWN0ZWRZZWFyJiZnPT1hLnNlbGVjdGVkTW9udGgpYS5zZWxlY3RlZERheT1NYXRoLm1pbihhLnNlbGVjdGVkRGF5LHopO3Q9KHRoaXMuX2dldEZpcnN0RGF5T2ZNb250aChtLGcpLWgrNyklNzt6PU1hdGguY2VpbCgodCt6KS83KTt0aGlzLm1heFJvd3M9ej1sP3RoaXMubWF4Um93cz56P3RoaXMubWF4Um93czp6Ono7cj10aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdChuZXcgRGF0ZShtLGcsMS10KSk7Zm9yKHZhciBRPTA7UTx6O1ErKyl7eSs9Ijx0cj4iO3ZhciBSPSFqPyIiOic8dGQgY2xhc3M9InVpLWRhdGVwaWNrZXItd2Vlay1jb2wiPicrCnRoaXMuX2dldChhLCJjYWxjdWxhdGVXZWVrIikocikrIjwvdGQ+Ijtmb3IodD0wO3Q8Nzt0Kyspe3ZhciBJPXA/cC5hcHBseShhLmlucHV0P2EuaW5wdXRbMF06bnVsbCxbcl0pOlt0cnVlLCIiXSxGPXIuZ2V0TW9udGgoKSE9ZyxMPUYmJiFLfHwhSVswXXx8ayYmcjxrfHxvJiZyPm87Uis9Jzx0ZCBjbGFzcz0iJysoKHQraCs2KSU3Pj01PyIgdWktZGF0ZXBpY2tlci13ZWVrLWVuZCI6IiIpKyhGPyIgdWktZGF0ZXBpY2tlci1vdGhlci1tb250aCI6IiIpKyhyLmdldFRpbWUoKT09UC5nZXRUaW1lKCkmJmc9PWEuc2VsZWN0ZWRNb250aCYmYS5fa2V5RXZlbnR8fEUuZ2V0VGltZSgpPT1yLmdldFRpbWUoKSYmRS5nZXRUaW1lKCk9PVAuZ2V0VGltZSgpPyIgIit0aGlzLl9kYXlPdmVyQ2xhc3M6IiIpKyhMPyIgIit0aGlzLl91bnNlbGVjdGFibGVDbGFzcysiIHVpLXN0YXRlLWRpc2FibGVkIjoiIikrKEYmJiFEPyIiOiIgIitJWzFdKyhyLmdldFRpbWUoKT09dS5nZXRUaW1lKCk/IiAiKwp0aGlzLl9jdXJyZW50Q2xhc3M6IiIpKyhyLmdldFRpbWUoKT09Yi5nZXRUaW1lKCk/IiB1aS1kYXRlcGlja2VyLXRvZGF5IjoiIikpKyciJysoKCFGfHxEKSYmSVsyXT8nIHRpdGxlPSInK0lbMl0rJyInOiIiKSsoTD8iIjonIG9uY2xpY2s9IkRQX2pRdWVyeV8nK0ErIi5kYXRlcGlja2VyLl9zZWxlY3REYXkoJyMiK2EuaWQrIicsIityLmdldE1vbnRoKCkrIiwiK3IuZ2V0RnVsbFllYXIoKSsnLCB0aGlzKTtyZXR1cm4gZmFsc2U7IicpKyI+IisoRiYmIUQ/IiYjeGEwOyI6TD8nPHNwYW4gY2xhc3M9InVpLXN0YXRlLWRlZmF1bHQiPicrci5nZXREYXRlKCkrIjwvc3Bhbj4iOic8YSBjbGFzcz0idWktc3RhdGUtZGVmYXVsdCcrKHIuZ2V0VGltZSgpPT1iLmdldFRpbWUoKT8iIHVpLXN0YXRlLWhpZ2hsaWdodCI6IiIpKyhyLmdldFRpbWUoKT09dS5nZXRUaW1lKCk/IiB1aS1zdGF0ZS1hY3RpdmUiOiIiKSsoRj8iIHVpLXByaW9yaXR5LXNlY29uZGFyeSI6IiIpKyciIGhyZWY9IiMiPicrCnIuZ2V0RGF0ZSgpKyI8L2E+IikrIjwvdGQ+IjtyLnNldERhdGUoci5nZXREYXRlKCkrMSk7cj10aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdChyKX15Kz1SKyI8L3RyPiJ9ZysrO2lmKGc+MTEpe2c9MDttKyt9eSs9IjwvdGJvZHk+PC90YWJsZT4iKyhsPyI8L2Rpdj4iKyhpWzBdPjAmJkc9PWlbMV0tMT8nPGRpdiBjbGFzcz0idWktZGF0ZXBpY2tlci1yb3ctYnJlYWsiPjwvZGl2Pic6IiIpOiIiKTtPKz15fXcrPU99dys9ZSsoZC5icm93c2VyLm1zaWUmJnBhcnNlSW50KGQuYnJvd3Nlci52ZXJzaW9uLDEwKTw3JiYhYS5pbmxpbmU/JzxpZnJhbWUgc3JjPSJqYXZhc2NyaXB0OmZhbHNlOyIgY2xhc3M9InVpLWRhdGVwaWNrZXItY292ZXIiIGZyYW1lYm9yZGVyPSIwIj48L2lmcmFtZT4nOiIiKTthLl9rZXlFdmVudD1mYWxzZTtyZXR1cm4gd30sX2dlbmVyYXRlTW9udGhZZWFySGVhZGVyOmZ1bmN0aW9uKGEsYixjLGUsZixoLGksZyl7dmFyIGo9dGhpcy5fZ2V0KGEsImNoYW5nZU1vbnRoIiksCmw9dGhpcy5fZ2V0KGEsImNoYW5nZVllYXIiKSx1PXRoaXMuX2dldChhLCJzaG93TW9udGhBZnRlclllYXIiKSxrPSc8ZGl2IGNsYXNzPSJ1aS1kYXRlcGlja2VyLXRpdGxlIj4nLG89IiI7aWYoaHx8IWopbys9JzxzcGFuIGNsYXNzPSJ1aS1kYXRlcGlja2VyLW1vbnRoIj4nK2lbYl0rIjwvc3Bhbj4iO2Vsc2V7aT1lJiZlLmdldEZ1bGxZZWFyKCk9PWM7dmFyIG09ZiYmZi5nZXRGdWxsWWVhcigpPT1jO28rPSc8c2VsZWN0IGNsYXNzPSJ1aS1kYXRlcGlja2VyLW1vbnRoIiBvbmNoYW5nZT0iRFBfalF1ZXJ5XycrQSsiLmRhdGVwaWNrZXIuX3NlbGVjdE1vbnRoWWVhcignIyIrYS5pZCsiJywgdGhpcywgJ00nKTtcIiBvbmNsaWNrPVwiRFBfalF1ZXJ5XyIrQSsiLmRhdGVwaWNrZXIuX2NsaWNrTW9udGhZZWFyKCcjIithLmlkKyInKTtcIj4iO2Zvcih2YXIgbj0wO248MTI7bisrKWlmKCghaXx8bj49ZS5nZXRNb250aCgpKSYmKCFtfHxuPD1mLmdldE1vbnRoKCkpKW8rPSc8b3B0aW9uIHZhbHVlPSInKwpuKyciJysobj09Yj8nIHNlbGVjdGVkPSJzZWxlY3RlZCInOiIiKSsiPiIrZ1tuXSsiPC9vcHRpb24+IjtvKz0iPC9zZWxlY3Q+In11fHwoays9bysoaHx8IShqJiZsKT8iJiN4YTA7IjoiIikpO2lmKCFhLnllYXJzaHRtbCl7YS55ZWFyc2h0bWw9IiI7aWYoaHx8IWwpays9JzxzcGFuIGNsYXNzPSJ1aS1kYXRlcGlja2VyLXllYXIiPicrYysiPC9zcGFuPiI7ZWxzZXtnPXRoaXMuX2dldChhLCJ5ZWFyUmFuZ2UiKS5zcGxpdCgiOiIpO3ZhciBzPShuZXcgRGF0ZSkuZ2V0RnVsbFllYXIoKTtpPWZ1bmN0aW9uKHEpe3E9cS5tYXRjaCgvY1srLV0uKi8pP2MrcGFyc2VJbnQocS5zdWJzdHJpbmcoMSksMTApOnEubWF0Y2goL1srLV0uKi8pP3MrcGFyc2VJbnQocSwxMCk6cGFyc2VJbnQocSwxMCk7cmV0dXJuIGlzTmFOKHEpP3M6cX07Yj1pKGdbMF0pO2c9TWF0aC5tYXgoYixpKGdbMV18fCIiKSk7Yj1lP01hdGgubWF4KGIsZS5nZXRGdWxsWWVhcigpKTpiO2c9Zj9NYXRoLm1pbihnLGYuZ2V0RnVsbFllYXIoKSk6Cmc7Zm9yKGEueWVhcnNodG1sKz0nPHNlbGVjdCBjbGFzcz0idWktZGF0ZXBpY2tlci15ZWFyIiBvbmNoYW5nZT0iRFBfalF1ZXJ5XycrQSsiLmRhdGVwaWNrZXIuX3NlbGVjdE1vbnRoWWVhcignIyIrYS5pZCsiJywgdGhpcywgJ1knKTtcIiBvbmNsaWNrPVwiRFBfalF1ZXJ5XyIrQSsiLmRhdGVwaWNrZXIuX2NsaWNrTW9udGhZZWFyKCcjIithLmlkKyInKTtcIj4iO2I8PWc7YisrKWEueWVhcnNodG1sKz0nPG9wdGlvbiB2YWx1ZT0iJytiKyciJysoYj09Yz8nIHNlbGVjdGVkPSJzZWxlY3RlZCInOiIiKSsiPiIrYisiPC9vcHRpb24+IjthLnllYXJzaHRtbCs9Ijwvc2VsZWN0PiI7ays9YS55ZWFyc2h0bWw7YS55ZWFyc2h0bWw9bnVsbH19ays9dGhpcy5fZ2V0KGEsInllYXJTdWZmaXgiKTtpZih1KWsrPShofHwhKGomJmwpPyImI3hhMDsiOiIiKStvO2srPSI8L2Rpdj4iO3JldHVybiBrfSxfYWRqdXN0SW5zdERhdGU6ZnVuY3Rpb24oYSxiLGMpe3ZhciBlPWEuZHJhd1llYXIrKGM9PQoiWSI/YjowKSxmPWEuZHJhd01vbnRoKyhjPT0iTSI/YjowKTtiPU1hdGgubWluKGEuc2VsZWN0ZWREYXksdGhpcy5fZ2V0RGF5c0luTW9udGgoZSxmKSkrKGM9PSJEIj9iOjApO2U9dGhpcy5fcmVzdHJpY3RNaW5NYXgoYSx0aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdChuZXcgRGF0ZShlLGYsYikpKTthLnNlbGVjdGVkRGF5PWUuZ2V0RGF0ZSgpO2EuZHJhd01vbnRoPWEuc2VsZWN0ZWRNb250aD1lLmdldE1vbnRoKCk7YS5kcmF3WWVhcj1hLnNlbGVjdGVkWWVhcj1lLmdldEZ1bGxZZWFyKCk7aWYoYz09Ik0ifHxjPT0iWSIpdGhpcy5fbm90aWZ5Q2hhbmdlKGEpfSxfcmVzdHJpY3RNaW5NYXg6ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzLl9nZXRNaW5NYXhEYXRlKGEsIm1pbiIpO2E9dGhpcy5fZ2V0TWluTWF4RGF0ZShhLCJtYXgiKTtiPWMmJmI8Yz9jOmI7cmV0dXJuIGI9YSYmYj5hP2E6Yn0sX25vdGlmeUNoYW5nZTpmdW5jdGlvbihhKXt2YXIgYj10aGlzLl9nZXQoYSwib25DaGFuZ2VNb250aFllYXIiKTsKaWYoYiliLmFwcGx5KGEuaW5wdXQ/YS5pbnB1dFswXTpudWxsLFthLnNlbGVjdGVkWWVhcixhLnNlbGVjdGVkTW9udGgrMSxhXSl9LF9nZXROdW1iZXJPZk1vbnRoczpmdW5jdGlvbihhKXthPXRoaXMuX2dldChhLCJudW1iZXJPZk1vbnRocyIpO3JldHVybiBhPT1udWxsP1sxLDFdOnR5cGVvZiBhPT0ibnVtYmVyIj9bMSxhXTphfSxfZ2V0TWluTWF4RGF0ZTpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLl9kZXRlcm1pbmVEYXRlKGEsdGhpcy5fZ2V0KGEsYisiRGF0ZSIpLG51bGwpfSxfZ2V0RGF5c0luTW9udGg6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gMzItdGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUoYSxiLDMyKSkuZ2V0RGF0ZSgpfSxfZ2V0Rmlyc3REYXlPZk1vbnRoOmZ1bmN0aW9uKGEsYil7cmV0dXJuKG5ldyBEYXRlKGEsYiwxKSkuZ2V0RGF5KCl9LF9jYW5BZGp1c3RNb250aDpmdW5jdGlvbihhLGIsYyxlKXt2YXIgZj10aGlzLl9nZXROdW1iZXJPZk1vbnRocyhhKTsKYz10aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdChuZXcgRGF0ZShjLGUrKGI8MD9iOmZbMF0qZlsxXSksMSkpO2I8MCYmYy5zZXREYXRlKHRoaXMuX2dldERheXNJbk1vbnRoKGMuZ2V0RnVsbFllYXIoKSxjLmdldE1vbnRoKCkpKTtyZXR1cm4gdGhpcy5faXNJblJhbmdlKGEsYyl9LF9pc0luUmFuZ2U6ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzLl9nZXRNaW5NYXhEYXRlKGEsIm1pbiIpO2E9dGhpcy5fZ2V0TWluTWF4RGF0ZShhLCJtYXgiKTtyZXR1cm4oIWN8fGIuZ2V0VGltZSgpPj1jLmdldFRpbWUoKSkmJighYXx8Yi5nZXRUaW1lKCk8PWEuZ2V0VGltZSgpKX0sX2dldEZvcm1hdENvbmZpZzpmdW5jdGlvbihhKXt2YXIgYj10aGlzLl9nZXQoYSwic2hvcnRZZWFyQ3V0b2ZmIik7Yj10eXBlb2YgYiE9InN0cmluZyI/YjoobmV3IERhdGUpLmdldEZ1bGxZZWFyKCklMTAwK3BhcnNlSW50KGIsMTApO3JldHVybntzaG9ydFllYXJDdXRvZmY6YixkYXlOYW1lc1Nob3J0OnRoaXMuX2dldChhLAoiZGF5TmFtZXNTaG9ydCIpLGRheU5hbWVzOnRoaXMuX2dldChhLCJkYXlOYW1lcyIpLG1vbnRoTmFtZXNTaG9ydDp0aGlzLl9nZXQoYSwibW9udGhOYW1lc1Nob3J0IiksbW9udGhOYW1lczp0aGlzLl9nZXQoYSwibW9udGhOYW1lcyIpfX0sX2Zvcm1hdERhdGU6ZnVuY3Rpb24oYSxiLGMsZSl7aWYoIWIpe2EuY3VycmVudERheT1hLnNlbGVjdGVkRGF5O2EuY3VycmVudE1vbnRoPWEuc2VsZWN0ZWRNb250aDthLmN1cnJlbnRZZWFyPWEuc2VsZWN0ZWRZZWFyfWI9Yj90eXBlb2YgYj09Im9iamVjdCI/Yjp0aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdChuZXcgRGF0ZShlLGMsYikpOnRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KG5ldyBEYXRlKGEuY3VycmVudFllYXIsYS5jdXJyZW50TW9udGgsYS5jdXJyZW50RGF5KSk7cmV0dXJuIHRoaXMuZm9ybWF0RGF0ZSh0aGlzLl9nZXQoYSwiZGF0ZUZvcm1hdCIpLGIsdGhpcy5fZ2V0Rm9ybWF0Q29uZmlnKGEpKX19KTtkLmZuLmRhdGVwaWNrZXI9CmZ1bmN0aW9uKGEpe2lmKCF0aGlzLmxlbmd0aClyZXR1cm4gdGhpcztpZighZC5kYXRlcGlja2VyLmluaXRpYWxpemVkKXtkKGRvY3VtZW50KS5tb3VzZWRvd24oZC5kYXRlcGlja2VyLl9jaGVja0V4dGVybmFsQ2xpY2spLmZpbmQoImJvZHkiKS5hcHBlbmQoZC5kYXRlcGlja2VyLmRwRGl2KTtkLmRhdGVwaWNrZXIuaW5pdGlhbGl6ZWQ9dHJ1ZX12YXIgYj1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMSk7aWYodHlwZW9mIGE9PSJzdHJpbmciJiYoYT09ImlzRGlzYWJsZWQifHxhPT0iZ2V0RGF0ZSJ8fGE9PSJ3aWRnZXQiKSlyZXR1cm4gZC5kYXRlcGlja2VyWyJfIithKyJEYXRlcGlja2VyIl0uYXBwbHkoZC5kYXRlcGlja2VyLFt0aGlzWzBdXS5jb25jYXQoYikpO2lmKGE9PSJvcHRpb24iJiZhcmd1bWVudHMubGVuZ3RoPT0yJiZ0eXBlb2YgYXJndW1lbnRzWzFdPT0ic3RyaW5nIilyZXR1cm4gZC5kYXRlcGlja2VyWyJfIithKyJEYXRlcGlja2VyIl0uYXBwbHkoZC5kYXRlcGlja2VyLApbdGhpc1swXV0uY29uY2F0KGIpKTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dHlwZW9mIGE9PSJzdHJpbmciP2QuZGF0ZXBpY2tlclsiXyIrYSsiRGF0ZXBpY2tlciJdLmFwcGx5KGQuZGF0ZXBpY2tlcixbdGhpc10uY29uY2F0KGIpKTpkLmRhdGVwaWNrZXIuX2F0dGFjaERhdGVwaWNrZXIodGhpcyxhKX0pfTtkLmRhdGVwaWNrZXI9bmV3IE07ZC5kYXRlcGlja2VyLmluaXRpYWxpemVkPWZhbHNlO2QuZGF0ZXBpY2tlci51dWlkPShuZXcgRGF0ZSkuZ2V0VGltZSgpO2QuZGF0ZXBpY2tlci52ZXJzaW9uPSIxLjguMTQiO3dpbmRvd1siRFBfalF1ZXJ5XyIrQV09ZH0pKGpRdWVyeSk7Cjs=]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/jquery.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyohCiAqIGpRdWVyeSBKYXZhU2NyaXB0IExpYnJhcnkgdjEuNS4xCiAqIGh0dHA6Ly9qcXVlcnkuY29tLwogKgogKiBDb3B5cmlnaHQgMjAxMSwgSm9obiBSZXNpZwogKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQogKgogKiBJbmNsdWRlcyBTaXp6bGUuanMKICogaHR0cDovL3NpenpsZWpzLmNvbS8KICogQ29weXJpZ2h0IDIwMTEsIFRoZSBEb2pvIEZvdW5kYXRpb24KICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCwgQlNELCBhbmQgR1BMIExpY2Vuc2VzLgogKgogKiBEYXRlOiBXZWQgRmViIDIzIDEzOjU1OjI5IDIwMTEgLTA1MDAKICovCihmdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGNnKGEpe3JldHVybiBkLmlzV2luZG93KGEpP2E6YS5ub2RlVHlwZT09PTk/YS5kZWZhdWx0Vmlld3x8YS5wYXJlbnRXaW5kb3c6ITF9ZnVuY3Rpb24gY2QoYSl7aWYoIWJaW2FdKXt2YXIgYj1kKCI8IithKyI+IikuYXBwZW5kVG8oImJvZHkiKSxjPWIuY3NzKCJkaXNwbGF5Iik7Yi5yZW1vdmUoKTtpZihjPT09Im5vbmUifHxjPT09IiIpYz0iYmxvY2siO2JaW2FdPWN9cmV0dXJuIGJaW2FdfWZ1bmN0aW9uIGNjKGEsYil7dmFyIGM9e307ZC5lYWNoKGNiLmNvbmNhdC5hcHBseShbXSxjYi5zbGljZSgwLGIpKSxmdW5jdGlvbigpe2NbdGhpc109YX0pO3JldHVybiBjfWZ1bmN0aW9uIGJZKCl7dHJ5e3JldHVybiBuZXcgYS5BY3RpdmVYT2JqZWN0KCJNaWNyb3NvZnQuWE1MSFRUUCIpfWNhdGNoKGIpe319ZnVuY3Rpb24gYlgoKXt0cnl7cmV0dXJuIG5ldyBhLlhNTEh0dHBSZXF1ZXN0fWNhdGNoKGIpe319ZnVuY3Rpb24gYlcoKXtkKGEpLnVubG9hZChmdW5jdGlvbigpe2Zvcih2YXIgYSBpbiBiVSliVVthXSgwLDEpfSl9ZnVuY3Rpb24gYlEoYSxjKXthLmRhdGFGaWx0ZXImJihjPWEuZGF0YUZpbHRlcihjLGEuZGF0YVR5cGUpKTt2YXIgZT1hLmRhdGFUeXBlcyxmPXt9LGcsaCxpPWUubGVuZ3RoLGosaz1lWzBdLGwsbSxuLG8scDtmb3IoZz0xO2c8aTtnKyspe2lmKGc9PT0xKWZvcihoIGluIGEuY29udmVydGVycyl0eXBlb2YgaD09PSJzdHJpbmciJiYoZltoLnRvTG93ZXJDYXNlKCldPWEuY29udmVydGVyc1toXSk7bD1rLGs9ZVtnXTtpZihrPT09IioiKWs9bDtlbHNlIGlmKGwhPT0iKiImJmwhPT1rKXttPWwrIiAiK2ssbj1mW21dfHxmWyIqICIra107aWYoIW4pe3A9Yjtmb3IobyBpbiBmKXtqPW8uc3BsaXQoIiAiKTtpZihqWzBdPT09bHx8alswXT09PSIqIil7cD1mW2pbMV0rIiAiK2tdO2lmKHApe289ZltvXSxvPT09ITA/bj1wOnA9PT0hMCYmKG49byk7YnJlYWt9fX19IW4mJiFwJiZkLmVycm9yKCJObyBjb252ZXJzaW9uIGZyb20gIittLnJlcGxhY2UoIiAiLCIgdG8gIikpLG4hPT0hMCYmKGM9bj9uKGMpOnAobyhjKSkpfX1yZXR1cm4gY31mdW5jdGlvbiBiUChhLGMsZCl7dmFyIGU9YS5jb250ZW50cyxmPWEuZGF0YVR5cGVzLGc9YS5yZXNwb25zZUZpZWxkcyxoLGksaixrO2ZvcihpIGluIGcpaSBpbiBkJiYoY1tnW2ldXT1kW2ldKTt3aGlsZShmWzBdPT09IioiKWYuc2hpZnQoKSxoPT09YiYmKGg9YS5taW1lVHlwZXx8Yy5nZXRSZXNwb25zZUhlYWRlcigiY29udGVudC10eXBlIikpO2lmKGgpZm9yKGkgaW4gZSlpZihlW2ldJiZlW2ldLnRlc3QoaCkpe2YudW5zaGlmdChpKTticmVha31pZihmWzBdaW4gZClqPWZbMF07ZWxzZXtmb3IoaSBpbiBkKXtpZighZlswXXx8YS5jb252ZXJ0ZXJzW2krIiAiK2ZbMF1dKXtqPWk7YnJlYWt9a3x8KGs9aSl9aj1qfHxrfWlmKGope2ohPT1mWzBdJiZmLnVuc2hpZnQoaik7cmV0dXJuIGRbal19fWZ1bmN0aW9uIGJPKGEsYixjLGUpe2lmKGQuaXNBcnJheShiKSYmYi5sZW5ndGgpZC5lYWNoKGIsZnVuY3Rpb24oYixmKXtjfHxicS50ZXN0KGEpP2UoYSxmKTpiTyhhKyJbIisodHlwZW9mIGY9PT0ib2JqZWN0Inx8ZC5pc0FycmF5KGYpP2I6IiIpKyJdIixmLGMsZSl9KTtlbHNlIGlmKGN8fGI9PW51bGx8fHR5cGVvZiBiIT09Im9iamVjdCIpZShhLGIpO2Vsc2UgaWYoZC5pc0FycmF5KGIpfHxkLmlzRW1wdHlPYmplY3QoYikpZShhLCIiKTtlbHNlIGZvcih2YXIgZiBpbiBiKWJPKGErIlsiK2YrIl0iLGJbZl0sYyxlKX1mdW5jdGlvbiBiTihhLGMsZCxlLGYsZyl7Zj1mfHxjLmRhdGFUeXBlc1swXSxnPWd8fHt9LGdbZl09ITA7dmFyIGg9YVtmXSxpPTAsaj1oP2gubGVuZ3RoOjAsaz1hPT09YkgsbDtmb3IoO2k8aiYmKGt8fCFsKTtpKyspbD1oW2ldKGMsZCxlKSx0eXBlb2YgbD09PSJzdHJpbmciJiYoIWt8fGdbbF0/bD1iOihjLmRhdGFUeXBlcy51bnNoaWZ0KGwpLGw9Yk4oYSxjLGQsZSxsLGcpKSk7KGt8fCFsKSYmIWdbIioiXSYmKGw9Yk4oYSxjLGQsZSwiKiIsZykpO3JldHVybiBsfWZ1bmN0aW9uIGJNKGEpe3JldHVybiBmdW5jdGlvbihiLGMpe3R5cGVvZiBiIT09InN0cmluZyImJihjPWIsYj0iKiIpO2lmKGQuaXNGdW5jdGlvbihjKSl7dmFyIGU9Yi50b0xvd2VyQ2FzZSgpLnNwbGl0KGJCKSxmPTAsZz1lLmxlbmd0aCxoLGksajtmb3IoO2Y8ZztmKyspaD1lW2ZdLGo9L15cKy8udGVzdChoKSxqJiYoaD1oLnN1YnN0cigxKXx8IioiKSxpPWFbaF09YVtoXXx8W10saVtqPyJ1bnNoaWZ0IjoicHVzaCJdKGMpfX19ZnVuY3Rpb24gYm8oYSxiLGMpe3ZhciBlPWI9PT0id2lkdGgiP2JpOmJqLGY9Yj09PSJ3aWR0aCI/YS5vZmZzZXRXaWR0aDphLm9mZnNldEhlaWdodDtpZihjPT09ImJvcmRlciIpcmV0dXJuIGY7ZC5lYWNoKGUsZnVuY3Rpb24oKXtjfHwoZi09cGFyc2VGbG9hdChkLmNzcyhhLCJwYWRkaW5nIit0aGlzKSl8fDApLGM9PT0ibWFyZ2luIj9mKz1wYXJzZUZsb2F0KGQuY3NzKGEsIm1hcmdpbiIrdGhpcykpfHwwOmYtPXBhcnNlRmxvYXQoZC5jc3MoYSwiYm9yZGVyIit0aGlzKyJXaWR0aCIpKXx8MH0pO3JldHVybiBmfWZ1bmN0aW9uIGJhKGEsYil7Yi5zcmM/ZC5hamF4KHt1cmw6Yi5zcmMsYXN5bmM6ITEsZGF0YVR5cGU6InNjcmlwdCJ9KTpkLmdsb2JhbEV2YWwoYi50ZXh0fHxiLnRleHRDb250ZW50fHxiLmlubmVySFRNTHx8IiIpLGIucGFyZW50Tm9kZSYmYi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGIpfWZ1bmN0aW9uIF8oYSl7cmV0dXJuImdldEVsZW1lbnRzQnlUYWdOYW1lImluIGE/YS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpOiJxdWVyeVNlbGVjdG9yQWxsImluIGE/YS5xdWVyeVNlbGVjdG9yQWxsKCIqIik6W119ZnVuY3Rpb24gJChhLGIpe2lmKGIubm9kZVR5cGU9PT0xKXt2YXIgYz1iLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7Yi5jbGVhckF0dHJpYnV0ZXMoKSxiLm1lcmdlQXR0cmlidXRlcyhhKTtpZihjPT09Im9iamVjdCIpYi5vdXRlckhUTUw9YS5vdXRlckhUTUw7ZWxzZSBpZihjIT09ImlucHV0Inx8YS50eXBlIT09ImNoZWNrYm94IiYmYS50eXBlIT09InJhZGlvIil7aWYoYz09PSJvcHRpb24iKWIuc2VsZWN0ZWQ9YS5kZWZhdWx0U2VsZWN0ZWQ7ZWxzZSBpZihjPT09ImlucHV0Inx8Yz09PSJ0ZXh0YXJlYSIpYi5kZWZhdWx0VmFsdWU9YS5kZWZhdWx0VmFsdWV9ZWxzZSBhLmNoZWNrZWQmJihiLmRlZmF1bHRDaGVja2VkPWIuY2hlY2tlZD1hLmNoZWNrZWQpLGIudmFsdWUhPT1hLnZhbHVlJiYoYi52YWx1ZT1hLnZhbHVlKTtiLnJlbW92ZUF0dHJpYnV0ZShkLmV4cGFuZG8pfX1mdW5jdGlvbiBaKGEsYil7aWYoYi5ub2RlVHlwZT09PTEmJmQuaGFzRGF0YShhKSl7dmFyIGM9ZC5leHBhbmRvLGU9ZC5kYXRhKGEpLGY9ZC5kYXRhKGIsZSk7aWYoZT1lW2NdKXt2YXIgZz1lLmV2ZW50cztmPWZbY109ZC5leHRlbmQoe30sZSk7aWYoZyl7ZGVsZXRlIGYuaGFuZGxlLGYuZXZlbnRzPXt9O2Zvcih2YXIgaCBpbiBnKWZvcih2YXIgaT0wLGo9Z1toXS5sZW5ndGg7aTxqO2krKylkLmV2ZW50LmFkZChiLGgrKGdbaF1baV0ubmFtZXNwYWNlPyIuIjoiIikrZ1toXVtpXS5uYW1lc3BhY2UsZ1toXVtpXSxnW2hdW2ldLmRhdGEpfX19fWZ1bmN0aW9uIFkoYSxiKXtyZXR1cm4gZC5ub2RlTmFtZShhLCJ0YWJsZSIpP2EuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInRib2R5IilbMF18fGEuYXBwZW5kQ2hpbGQoYS5vd25lckRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRib2R5IikpOmF9ZnVuY3Rpb24gTyhhLGIsYyl7aWYoZC5pc0Z1bmN0aW9uKGIpKXJldHVybiBkLmdyZXAoYSxmdW5jdGlvbihhLGQpe3ZhciBlPSEhYi5jYWxsKGEsZCxhKTtyZXR1cm4gZT09PWN9KTtpZihiLm5vZGVUeXBlKXJldHVybiBkLmdyZXAoYSxmdW5jdGlvbihhLGQpe3JldHVybiBhPT09Yj09PWN9KTtpZih0eXBlb2YgYj09PSJzdHJpbmciKXt2YXIgZT1kLmdyZXAoYSxmdW5jdGlvbihhKXtyZXR1cm4gYS5ub2RlVHlwZT09PTF9KTtpZihKLnRlc3QoYikpcmV0dXJuIGQuZmlsdGVyKGIsZSwhYyk7Yj1kLmZpbHRlcihiLGUpfXJldHVybiBkLmdyZXAoYSxmdW5jdGlvbihhLGUpe3JldHVybiBkLmluQXJyYXkoYSxiKT49MD09PWN9KX1mdW5jdGlvbiBOKGEpe3JldHVybiFhfHwhYS5wYXJlbnROb2RlfHxhLnBhcmVudE5vZGUubm9kZVR5cGU9PT0xMX1mdW5jdGlvbiBGKGEsYil7cmV0dXJuKGEmJmEhPT0iKiI/YSsiLiI6IiIpK2IucmVwbGFjZShyLCJgIikucmVwbGFjZShzLCImIil9ZnVuY3Rpb24gRShhKXt2YXIgYixjLGUsZixnLGgsaSxqLGssbCxtLG4sbyxxPVtdLHI9W10scz1kLl9kYXRhKHRoaXMsImV2ZW50cyIpO2lmKGEubGl2ZUZpcmVkIT09dGhpcyYmcyYmcy5saXZlJiYhYS50YXJnZXQuZGlzYWJsZWQmJighYS5idXR0b258fGEudHlwZSE9PSJjbGljayIpKXthLm5hbWVzcGFjZSYmKG49bmV3IFJlZ0V4cCgiKF58XFwuKSIrYS5uYW1lc3BhY2Uuc3BsaXQoIi4iKS5qb2luKCJcXC4oPzouKlxcLik/IikrIihcXC58JCkiKSksYS5saXZlRmlyZWQ9dGhpczt2YXIgdD1zLmxpdmUuc2xpY2UoMCk7Zm9yKGk9MDtpPHQubGVuZ3RoO2krKylnPXRbaV0sZy5vcmlnVHlwZS5yZXBsYWNlKHAsIiIpPT09YS50eXBlP3IucHVzaChnLnNlbGVjdG9yKTp0LnNwbGljZShpLS0sMSk7Zj1kKGEudGFyZ2V0KS5jbG9zZXN0KHIsYS5jdXJyZW50VGFyZ2V0KTtmb3Ioaj0wLGs9Zi5sZW5ndGg7ajxrO2orKyl7bT1mW2pdO2ZvcihpPTA7aTx0Lmxlbmd0aDtpKyspe2c9dFtpXTtpZihtLnNlbGVjdG9yPT09Zy5zZWxlY3RvciYmKCFufHxuLnRlc3QoZy5uYW1lc3BhY2UpKSYmIW0uZWxlbS5kaXNhYmxlZCl7aD1tLmVsZW0sZT1udWxsO2lmKGcucHJlVHlwZT09PSJtb3VzZWVudGVyInx8Zy5wcmVUeXBlPT09Im1vdXNlbGVhdmUiKWEudHlwZT1nLnByZVR5cGUsZT1kKGEucmVsYXRlZFRhcmdldCkuY2xvc2VzdChnLnNlbGVjdG9yKVswXTsoIWV8fGUhPT1oKSYmcS5wdXNoKHtlbGVtOmgsaGFuZGxlT2JqOmcsbGV2ZWw6bS5sZXZlbH0pfX19Zm9yKGo9MCxrPXEubGVuZ3RoO2o8aztqKyspe2Y9cVtqXTtpZihjJiZmLmxldmVsPmMpYnJlYWs7YS5jdXJyZW50VGFyZ2V0PWYuZWxlbSxhLmRhdGE9Zi5oYW5kbGVPYmouZGF0YSxhLmhhbmRsZU9iaj1mLmhhbmRsZU9iaixvPWYuaGFuZGxlT2JqLm9yaWdIYW5kbGVyLmFwcGx5KGYuZWxlbSxhcmd1bWVudHMpO2lmKG89PT0hMXx8YS5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpKXtjPWYubGV2ZWwsbz09PSExJiYoYj0hMSk7aWYoYS5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZCgpKWJyZWFrfX1yZXR1cm4gYn19ZnVuY3Rpb24gQyhhLGMsZSl7dmFyIGY9ZC5leHRlbmQoe30sZVswXSk7Zi50eXBlPWEsZi5vcmlnaW5hbEV2ZW50PXt9LGYubGl2ZUZpcmVkPWIsZC5ldmVudC5oYW5kbGUuY2FsbChjLGYpLGYuaXNEZWZhdWx0UHJldmVudGVkKCkmJmVbMF0ucHJldmVudERlZmF1bHQoKX1mdW5jdGlvbiB3KCl7cmV0dXJuITB9ZnVuY3Rpb24gdigpe3JldHVybiExfWZ1bmN0aW9uIGcoYSl7Zm9yKHZhciBiIGluIGEpaWYoYiE9PSJ0b0pTT04iKXJldHVybiExO3JldHVybiEwfWZ1bmN0aW9uIGYoYSxjLGYpe2lmKGY9PT1iJiZhLm5vZGVUeXBlPT09MSl7Zj1hLmdldEF0dHJpYnV0ZSgiZGF0YS0iK2MpO2lmKHR5cGVvZiBmPT09InN0cmluZyIpe3RyeXtmPWY9PT0idHJ1ZSI/ITA6Zj09PSJmYWxzZSI/ITE6Zj09PSJudWxsIj9udWxsOmQuaXNOYU4oZik/ZS50ZXN0KGYpP2QucGFyc2VKU09OKGYpOmY6cGFyc2VGbG9hdChmKX1jYXRjaChnKXt9ZC5kYXRhKGEsYyxmKX1lbHNlIGY9Yn1yZXR1cm4gZn12YXIgYz1hLmRvY3VtZW50LGQ9ZnVuY3Rpb24oKXtmdW5jdGlvbiBJKCl7aWYoIWQuaXNSZWFkeSl7dHJ5e2MuZG9jdW1lbnRFbGVtZW50LmRvU2Nyb2xsKCJsZWZ0Iil9Y2F0Y2goYSl7c2V0VGltZW91dChJLDEpO3JldHVybn1kLnJlYWR5KCl9fXZhciBkPWZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBkLmZuLmluaXQoYSxiLGcpfSxlPWEualF1ZXJ5LGY9YS4kLGcsaD0vXig/OltePF0qKDxbXHdcV10rPilbXj5dKiR8IyhbXHdcLV0rKSQpLyxpPS9cUy8saj0vXlxzKy8saz0vXHMrJC8sbD0vXGQvLG09L148KFx3KylccypcLz8+KD86PFwvXDE+KT8kLyxuPS9eW1xdLDp7fVxzXSokLyxvPS9cXCg/OlsiXFxcL2JmbnJ0XXx1WzAtOWEtZkEtRl17NH0pL2cscD0vIlteIlxcXG5ccl0qInx0cnVlfGZhbHNlfG51bGx8LT9cZCsoPzpcLlxkKik/KD86W2VFXVsrXC1dP1xkKyk/L2cscT0vKD86Xnw6fCwpKD86XHMqXFspKy9nLHI9Lyh3ZWJraXQpWyBcL10oW1x3Ll0rKS8scz0vKG9wZXJhKSg/Oi4qdmVyc2lvbik/WyBcL10oW1x3Ll0rKS8sdD0vKG1zaWUpIChbXHcuXSspLyx1PS8obW96aWxsYSkoPzouKj8gcnY6KFtcdy5dKykpPy8sdj1uYXZpZ2F0b3IudXNlckFnZW50LHcseD0hMSx5LHo9InRoZW4gZG9uZSBmYWlsIGlzUmVzb2x2ZWQgaXNSZWplY3RlZCBwcm9taXNlIi5zcGxpdCgiICIpLEEsQj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLEM9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxEPUFycmF5LnByb3RvdHlwZS5wdXNoLEU9QXJyYXkucHJvdG90eXBlLnNsaWNlLEY9U3RyaW5nLnByb3RvdHlwZS50cmltLEc9QXJyYXkucHJvdG90eXBlLmluZGV4T2YsSD17fTtkLmZuPWQucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpkLGluaXQ6ZnVuY3Rpb24oYSxlLGYpe3ZhciBnLGksaixrO2lmKCFhKXJldHVybiB0aGlzO2lmKGEubm9kZVR5cGUpe3RoaXMuY29udGV4dD10aGlzWzBdPWEsdGhpcy5sZW5ndGg9MTtyZXR1cm4gdGhpc31pZihhPT09ImJvZHkiJiYhZSYmYy5ib2R5KXt0aGlzLmNvbnRleHQ9Yyx0aGlzWzBdPWMuYm9keSx0aGlzLnNlbGVjdG9yPSJib2R5Iix0aGlzLmxlbmd0aD0xO3JldHVybiB0aGlzfWlmKHR5cGVvZiBhPT09InN0cmluZyIpe2c9aC5leGVjKGEpO2lmKCFnfHwhZ1sxXSYmZSlyZXR1cm4hZXx8ZS5qcXVlcnk/KGV8fGYpLmZpbmQoYSk6dGhpcy5jb25zdHJ1Y3RvcihlKS5maW5kKGEpO2lmKGdbMV0pe2U9ZSBpbnN0YW5jZW9mIGQ/ZVswXTplLGs9ZT9lLm93bmVyRG9jdW1lbnR8fGU6YyxqPW0uZXhlYyhhKSxqP2QuaXNQbGFpbk9iamVjdChlKT8oYT1bYy5jcmVhdGVFbGVtZW50KGpbMV0pXSxkLmZuLmF0dHIuY2FsbChhLGUsITApKTphPVtrLmNyZWF0ZUVsZW1lbnQoalsxXSldOihqPWQuYnVpbGRGcmFnbWVudChbZ1sxXV0sW2tdKSxhPShqLmNhY2hlYWJsZT9kLmNsb25lKGouZnJhZ21lbnQpOmouZnJhZ21lbnQpLmNoaWxkTm9kZXMpO3JldHVybiBkLm1lcmdlKHRoaXMsYSl9aT1jLmdldEVsZW1lbnRCeUlkKGdbMl0pO2lmKGkmJmkucGFyZW50Tm9kZSl7aWYoaS5pZCE9PWdbMl0pcmV0dXJuIGYuZmluZChhKTt0aGlzLmxlbmd0aD0xLHRoaXNbMF09aX10aGlzLmNvbnRleHQ9Yyx0aGlzLnNlbGVjdG9yPWE7cmV0dXJuIHRoaXN9aWYoZC5pc0Z1bmN0aW9uKGEpKXJldHVybiBmLnJlYWR5KGEpO2Euc2VsZWN0b3IhPT1iJiYodGhpcy5zZWxlY3Rvcj1hLnNlbGVjdG9yLHRoaXMuY29udGV4dD1hLmNvbnRleHQpO3JldHVybiBkLm1ha2VBcnJheShhLHRoaXMpfSxzZWxlY3RvcjoiIixqcXVlcnk6IjEuNS4xIixsZW5ndGg6MCxzaXplOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubGVuZ3RofSx0b0FycmF5OmZ1bmN0aW9uKCl7cmV0dXJuIEUuY2FsbCh0aGlzLDApfSxnZXQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PW51bGw/dGhpcy50b0FycmF5KCk6YTwwP3RoaXNbdGhpcy5sZW5ndGgrYV06dGhpc1thXX0scHVzaFN0YWNrOmZ1bmN0aW9uKGEsYixjKXt2YXIgZT10aGlzLmNvbnN0cnVjdG9yKCk7ZC5pc0FycmF5KGEpP0QuYXBwbHkoZSxhKTpkLm1lcmdlKGUsYSksZS5wcmV2T2JqZWN0PXRoaXMsZS5jb250ZXh0PXRoaXMuY29udGV4dCxiPT09ImZpbmQiP2Uuc2VsZWN0b3I9dGhpcy5zZWxlY3RvcisodGhpcy5zZWxlY3Rvcj8iICI6IiIpK2M6YiYmKGUuc2VsZWN0b3I9dGhpcy5zZWxlY3RvcisiLiIrYisiKCIrYysiKSIpO3JldHVybiBlfSxlYWNoOmZ1bmN0aW9uKGEsYil7cmV0dXJuIGQuZWFjaCh0aGlzLGEsYil9LHJlYWR5OmZ1bmN0aW9uKGEpe2QuYmluZFJlYWR5KCkseS5kb25lKGEpO3JldHVybiB0aGlzfSxlcTpmdW5jdGlvbihhKXtyZXR1cm4gYT09PS0xP3RoaXMuc2xpY2UoYSk6dGhpcy5zbGljZShhLCthKzEpfSxmaXJzdDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVxKDApfSxsYXN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZXEoLTEpfSxzbGljZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLnB1c2hTdGFjayhFLmFwcGx5KHRoaXMsYXJndW1lbnRzKSwic2xpY2UiLEUuY2FsbChhcmd1bWVudHMpLmpvaW4oIiwiKSl9LG1hcDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soZC5tYXAodGhpcyxmdW5jdGlvbihiLGMpe3JldHVybiBhLmNhbGwoYixjLGIpfSkpfSxlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wcmV2T2JqZWN0fHx0aGlzLmNvbnN0cnVjdG9yKG51bGwpfSxwdXNoOkQsc29ydDpbXS5zb3J0LHNwbGljZTpbXS5zcGxpY2V9LGQuZm4uaW5pdC5wcm90b3R5cGU9ZC5mbixkLmV4dGVuZD1kLmZuLmV4dGVuZD1mdW5jdGlvbigpe3ZhciBhLGMsZSxmLGcsaCxpPWFyZ3VtZW50c1swXXx8e30saj0xLGs9YXJndW1lbnRzLmxlbmd0aCxsPSExO3R5cGVvZiBpPT09ImJvb2xlYW4iJiYobD1pLGk9YXJndW1lbnRzWzFdfHx7fSxqPTIpLHR5cGVvZiBpIT09Im9iamVjdCImJiFkLmlzRnVuY3Rpb24oaSkmJihpPXt9KSxrPT09aiYmKGk9dGhpcywtLWopO2Zvcig7ajxrO2orKylpZigoYT1hcmd1bWVudHNbal0pIT1udWxsKWZvcihjIGluIGEpe2U9aVtjXSxmPWFbY107aWYoaT09PWYpY29udGludWU7bCYmZiYmKGQuaXNQbGFpbk9iamVjdChmKXx8KGc9ZC5pc0FycmF5KGYpKSk/KGc/KGc9ITEsaD1lJiZkLmlzQXJyYXkoZSk/ZTpbXSk6aD1lJiZkLmlzUGxhaW5PYmplY3QoZSk/ZTp7fSxpW2NdPWQuZXh0ZW5kKGwsaCxmKSk6ZiE9PWImJihpW2NdPWYpfXJldHVybiBpfSxkLmV4dGVuZCh7bm9Db25mbGljdDpmdW5jdGlvbihiKXthLiQ9ZixiJiYoYS5qUXVlcnk9ZSk7cmV0dXJuIGR9LGlzUmVhZHk6ITEscmVhZHlXYWl0OjEscmVhZHk6ZnVuY3Rpb24oYSl7YT09PSEwJiZkLnJlYWR5V2FpdC0tO2lmKCFkLnJlYWR5V2FpdHx8YSE9PSEwJiYhZC5pc1JlYWR5KXtpZighYy5ib2R5KXJldHVybiBzZXRUaW1lb3V0KGQucmVhZHksMSk7ZC5pc1JlYWR5PSEwO2lmKGEhPT0hMCYmLS1kLnJlYWR5V2FpdD4wKXJldHVybjt5LnJlc29sdmVXaXRoKGMsW2RdKSxkLmZuLnRyaWdnZXImJmQoYykudHJpZ2dlcigicmVhZHkiKS51bmJpbmQoInJlYWR5Iil9fSxiaW5kUmVhZHk6ZnVuY3Rpb24oKXtpZigheCl7eD0hMDtpZihjLnJlYWR5U3RhdGU9PT0iY29tcGxldGUiKXJldHVybiBzZXRUaW1lb3V0KGQucmVhZHksMSk7aWYoYy5hZGRFdmVudExpc3RlbmVyKWMuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsQSwhMSksYS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixkLnJlYWR5LCExKTtlbHNlIGlmKGMuYXR0YWNoRXZlbnQpe2MuYXR0YWNoRXZlbnQoIm9ucmVhZHlzdGF0ZWNoYW5nZSIsQSksYS5hdHRhY2hFdmVudCgib25sb2FkIixkLnJlYWR5KTt2YXIgYj0hMTt0cnl7Yj1hLmZyYW1lRWxlbWVudD09bnVsbH1jYXRjaChlKXt9Yy5kb2N1bWVudEVsZW1lbnQuZG9TY3JvbGwmJmImJkkoKX19fSxpc0Z1bmN0aW9uOmZ1bmN0aW9uKGEpe3JldHVybiBkLnR5cGUoYSk9PT0iZnVuY3Rpb24ifSxpc0FycmF5OkFycmF5LmlzQXJyYXl8fGZ1bmN0aW9uKGEpe3JldHVybiBkLnR5cGUoYSk9PT0iYXJyYXkifSxpc1dpbmRvdzpmdW5jdGlvbihhKXtyZXR1cm4gYSYmdHlwZW9mIGE9PT0ib2JqZWN0IiYmInNldEludGVydmFsImluIGF9LGlzTmFOOmZ1bmN0aW9uKGEpe3JldHVybiBhPT1udWxsfHwhbC50ZXN0KGEpfHxpc05hTihhKX0sdHlwZTpmdW5jdGlvbihhKXtyZXR1cm4gYT09bnVsbD9TdHJpbmcoYSk6SFtCLmNhbGwoYSldfHwib2JqZWN0In0saXNQbGFpbk9iamVjdDpmdW5jdGlvbihhKXtpZighYXx8ZC50eXBlKGEpIT09Im9iamVjdCJ8fGEubm9kZVR5cGV8fGQuaXNXaW5kb3coYSkpcmV0dXJuITE7aWYoYS5jb25zdHJ1Y3RvciYmIUMuY2FsbChhLCJjb25zdHJ1Y3RvciIpJiYhQy5jYWxsKGEuY29uc3RydWN0b3IucHJvdG90eXBlLCJpc1Byb3RvdHlwZU9mIikpcmV0dXJuITE7dmFyIGM7Zm9yKGMgaW4gYSl7fXJldHVybiBjPT09Ynx8Qy5jYWxsKGEsYyl9LGlzRW1wdHlPYmplY3Q6ZnVuY3Rpb24oYSl7Zm9yKHZhciBiIGluIGEpcmV0dXJuITE7cmV0dXJuITB9LGVycm9yOmZ1bmN0aW9uKGEpe3Rocm93IGF9LHBhcnNlSlNPTjpmdW5jdGlvbihiKXtpZih0eXBlb2YgYiE9PSJzdHJpbmcifHwhYilyZXR1cm4gbnVsbDtiPWQudHJpbShiKTtpZihuLnRlc3QoYi5yZXBsYWNlKG8sIkAiKS5yZXBsYWNlKHAsIl0iKS5yZXBsYWNlKHEsIiIpKSlyZXR1cm4gYS5KU09OJiZhLkpTT04ucGFyc2U/YS5KU09OLnBhcnNlKGIpOihuZXcgRnVuY3Rpb24oInJldHVybiAiK2IpKSgpO2QuZXJyb3IoIkludmFsaWQgSlNPTjogIitiKX0scGFyc2VYTUw6ZnVuY3Rpb24oYixjLGUpe2EuRE9NUGFyc2VyPyhlPW5ldyBET01QYXJzZXIsYz1lLnBhcnNlRnJvbVN0cmluZyhiLCJ0ZXh0L3htbCIpKTooYz1uZXcgQWN0aXZlWE9iamVjdCgiTWljcm9zb2Z0LlhNTERPTSIpLGMuYXN5bmM9ImZhbHNlIixjLmxvYWRYTUwoYikpLGU9Yy5kb2N1bWVudEVsZW1lbnQsKCFlfHwhZS5ub2RlTmFtZXx8ZS5ub2RlTmFtZT09PSJwYXJzZXJlcnJvciIpJiZkLmVycm9yKCJJbnZhbGlkIFhNTDogIitiKTtyZXR1cm4gY30sbm9vcDpmdW5jdGlvbigpe30sZ2xvYmFsRXZhbDpmdW5jdGlvbihhKXtpZihhJiZpLnRlc3QoYSkpe3ZhciBiPWMuaGVhZHx8Yy5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdfHxjLmRvY3VtZW50RWxlbWVudCxlPWMuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7ZC5zdXBwb3J0LnNjcmlwdEV2YWwoKT9lLmFwcGVuZENoaWxkKGMuY3JlYXRlVGV4dE5vZGUoYSkpOmUudGV4dD1hLGIuaW5zZXJ0QmVmb3JlKGUsYi5maXJzdENoaWxkKSxiLnJlbW92ZUNoaWxkKGUpfX0sbm9kZU5hbWU6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5ub2RlTmFtZSYmYS5ub2RlTmFtZS50b1VwcGVyQ2FzZSgpPT09Yi50b1VwcGVyQ2FzZSgpfSxlYWNoOmZ1bmN0aW9uKGEsYyxlKXt2YXIgZixnPTAsaD1hLmxlbmd0aCxpPWg9PT1ifHxkLmlzRnVuY3Rpb24oYSk7aWYoZSl7aWYoaSl7Zm9yKGYgaW4gYSlpZihjLmFwcGx5KGFbZl0sZSk9PT0hMSlicmVha31lbHNlIGZvcig7ZzxoOylpZihjLmFwcGx5KGFbZysrXSxlKT09PSExKWJyZWFrfWVsc2UgaWYoaSl7Zm9yKGYgaW4gYSlpZihjLmNhbGwoYVtmXSxmLGFbZl0pPT09ITEpYnJlYWt9ZWxzZSBmb3IodmFyIGo9YVswXTtnPGgmJmMuY2FsbChqLGcsaikhPT0hMTtqPWFbKytnXSl7fXJldHVybiBhfSx0cmltOkY/ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PW51bGw/IiI6Ri5jYWxsKGEpfTpmdW5jdGlvbihhKXtyZXR1cm4gYT09bnVsbD8iIjooYSsiIikucmVwbGFjZShqLCIiKS5yZXBsYWNlKGssIiIpfSxtYWtlQXJyYXk6ZnVuY3Rpb24oYSxiKXt2YXIgYz1ifHxbXTtpZihhIT1udWxsKXt2YXIgZT1kLnR5cGUoYSk7YS5sZW5ndGg9PW51bGx8fGU9PT0ic3RyaW5nInx8ZT09PSJmdW5jdGlvbiJ8fGU9PT0icmVnZXhwInx8ZC5pc1dpbmRvdyhhKT9ELmNhbGwoYyxhKTpkLm1lcmdlKGMsYSl9cmV0dXJuIGN9LGluQXJyYXk6ZnVuY3Rpb24oYSxiKXtpZihiLmluZGV4T2YpcmV0dXJuIGIuaW5kZXhPZihhKTtmb3IodmFyIGM9MCxkPWIubGVuZ3RoO2M8ZDtjKyspaWYoYltjXT09PWEpcmV0dXJuIGM7cmV0dXJuLTF9LG1lcmdlOmZ1bmN0aW9uKGEsYyl7dmFyIGQ9YS5sZW5ndGgsZT0wO2lmKHR5cGVvZiBjLmxlbmd0aD09PSJudW1iZXIiKWZvcih2YXIgZj1jLmxlbmd0aDtlPGY7ZSsrKWFbZCsrXT1jW2VdO2Vsc2Ugd2hpbGUoY1tlXSE9PWIpYVtkKytdPWNbZSsrXTthLmxlbmd0aD1kO3JldHVybiBhfSxncmVwOmZ1bmN0aW9uKGEsYixjKXt2YXIgZD1bXSxlO2M9ISFjO2Zvcih2YXIgZj0wLGc9YS5sZW5ndGg7ZjxnO2YrKyllPSEhYihhW2ZdLGYpLGMhPT1lJiZkLnB1c2goYVtmXSk7cmV0dXJuIGR9LG1hcDpmdW5jdGlvbihhLGIsYyl7dmFyIGQ9W10sZTtmb3IodmFyIGY9MCxnPWEubGVuZ3RoO2Y8ZztmKyspZT1iKGFbZl0sZixjKSxlIT1udWxsJiYoZFtkLmxlbmd0aF09ZSk7cmV0dXJuIGQuY29uY2F0LmFwcGx5KFtdLGQpfSxndWlkOjEscHJveHk6ZnVuY3Rpb24oYSxjLGUpe2FyZ3VtZW50cy5sZW5ndGg9PT0yJiYodHlwZW9mIGM9PT0ic3RyaW5nIj8oZT1hLGE9ZVtjXSxjPWIpOmMmJiFkLmlzRnVuY3Rpb24oYykmJihlPWMsYz1iKSksIWMmJmEmJihjPWZ1bmN0aW9uKCl7cmV0dXJuIGEuYXBwbHkoZXx8dGhpcyxhcmd1bWVudHMpfSksYSYmKGMuZ3VpZD1hLmd1aWQ9YS5ndWlkfHxjLmd1aWR8fGQuZ3VpZCsrKTtyZXR1cm4gY30sYWNjZXNzOmZ1bmN0aW9uKGEsYyxlLGYsZyxoKXt2YXIgaT1hLmxlbmd0aDtpZih0eXBlb2YgYz09PSJvYmplY3QiKXtmb3IodmFyIGogaW4gYylkLmFjY2VzcyhhLGosY1tqXSxmLGcsZSk7cmV0dXJuIGF9aWYoZSE9PWIpe2Y9IWgmJmYmJmQuaXNGdW5jdGlvbihlKTtmb3IodmFyIGs9MDtrPGk7aysrKWcoYVtrXSxjLGY/ZS5jYWxsKGFba10sayxnKGFba10sYykpOmUsaCk7cmV0dXJuIGF9cmV0dXJuIGk/ZyhhWzBdLGMpOmJ9LG5vdzpmdW5jdGlvbigpe3JldHVybihuZXcgRGF0ZSkuZ2V0VGltZSgpfSxfRGVmZXJyZWQ6ZnVuY3Rpb24oKXt2YXIgYT1bXSxiLGMsZSxmPXtkb25lOmZ1bmN0aW9uKCl7aWYoIWUpe3ZhciBjPWFyZ3VtZW50cyxnLGgsaSxqLGs7YiYmKGs9YixiPTApO2ZvcihnPTAsaD1jLmxlbmd0aDtnPGg7ZysrKWk9Y1tnXSxqPWQudHlwZShpKSxqPT09ImFycmF5Ij9mLmRvbmUuYXBwbHkoZixpKTpqPT09ImZ1bmN0aW9uIiYmYS5wdXNoKGkpO2smJmYucmVzb2x2ZVdpdGgoa1swXSxrWzFdKX1yZXR1cm4gdGhpc30scmVzb2x2ZVdpdGg6ZnVuY3Rpb24oZCxmKXtpZighZSYmIWImJiFjKXtjPTE7dHJ5e3doaWxlKGFbMF0pYS5zaGlmdCgpLmFwcGx5KGQsZil9Y2F0Y2goZyl7dGhyb3cgZ31maW5hbGx5e2I9W2QsZl0sYz0wfX1yZXR1cm4gdGhpc30scmVzb2x2ZTpmdW5jdGlvbigpe2YucmVzb2x2ZVdpdGgoZC5pc0Z1bmN0aW9uKHRoaXMucHJvbWlzZSk/dGhpcy5wcm9taXNlKCk6dGhpcyxhcmd1bWVudHMpO3JldHVybiB0aGlzfSxpc1Jlc29sdmVkOmZ1bmN0aW9uKCl7cmV0dXJuIGN8fGJ9LGNhbmNlbDpmdW5jdGlvbigpe2U9MSxhPVtdO3JldHVybiB0aGlzfX07cmV0dXJuIGZ9LERlZmVycmVkOmZ1bmN0aW9uKGEpe3ZhciBiPWQuX0RlZmVycmVkKCksYz1kLl9EZWZlcnJlZCgpLGU7ZC5leHRlbmQoYix7dGhlbjpmdW5jdGlvbihhLGMpe2IuZG9uZShhKS5mYWlsKGMpO3JldHVybiB0aGlzfSxmYWlsOmMuZG9uZSxyZWplY3RXaXRoOmMucmVzb2x2ZVdpdGgscmVqZWN0OmMucmVzb2x2ZSxpc1JlamVjdGVkOmMuaXNSZXNvbHZlZCxwcm9taXNlOmZ1bmN0aW9uKGEpe2lmKGE9PW51bGwpe2lmKGUpcmV0dXJuIGU7ZT1hPXt9fXZhciBjPXoubGVuZ3RoO3doaWxlKGMtLSlhW3pbY11dPWJbeltjXV07cmV0dXJuIGF9fSksYi5kb25lKGMuY2FuY2VsKS5mYWlsKGIuY2FuY2VsKSxkZWxldGUgYi5jYW5jZWwsYSYmYS5jYWxsKGIsYik7cmV0dXJuIGJ9LHdoZW46ZnVuY3Rpb24oYSl7dmFyIGI9YXJndW1lbnRzLmxlbmd0aCxjPWI8PTEmJmEmJmQuaXNGdW5jdGlvbihhLnByb21pc2UpP2E6ZC5EZWZlcnJlZCgpLGU9Yy5wcm9taXNlKCk7aWYoYj4xKXt2YXIgZj1FLmNhbGwoYXJndW1lbnRzLDApLGc9YixoPWZ1bmN0aW9uKGEpe3JldHVybiBmdW5jdGlvbihiKXtmW2FdPWFyZ3VtZW50cy5sZW5ndGg+MT9FLmNhbGwoYXJndW1lbnRzLDApOmIsLS1nfHxjLnJlc29sdmVXaXRoKGUsZil9fTt3aGlsZShiLS0pYT1mW2JdLGEmJmQuaXNGdW5jdGlvbihhLnByb21pc2UpP2EucHJvbWlzZSgpLnRoZW4oaChiKSxjLnJlamVjdCk6LS1nO2d8fGMucmVzb2x2ZVdpdGgoZSxmKX1lbHNlIGMhPT1hJiZjLnJlc29sdmUoYSk7cmV0dXJuIGV9LHVhTWF0Y2g6ZnVuY3Rpb24oYSl7YT1hLnRvTG93ZXJDYXNlKCk7dmFyIGI9ci5leGVjKGEpfHxzLmV4ZWMoYSl8fHQuZXhlYyhhKXx8YS5pbmRleE9mKCJjb21wYXRpYmxlIik8MCYmdS5leGVjKGEpfHxbXTtyZXR1cm57YnJvd3NlcjpiWzFdfHwiIix2ZXJzaW9uOmJbMl18fCIwIn19LHN1YjpmdW5jdGlvbigpe2Z1bmN0aW9uIGEoYixjKXtyZXR1cm4gbmV3IGEuZm4uaW5pdChiLGMpfWQuZXh0ZW5kKCEwLGEsdGhpcyksYS5zdXBlcmNsYXNzPXRoaXMsYS5mbj1hLnByb3RvdHlwZT10aGlzKCksYS5mbi5jb25zdHJ1Y3Rvcj1hLGEuc3ViY2xhc3M9dGhpcy5zdWJjbGFzcyxhLmZuLmluaXQ9ZnVuY3Rpb24gYihiLGMpe2MmJmMgaW5zdGFuY2VvZiBkJiYhKGMgaW5zdGFuY2VvZiBhKSYmKGM9YShjKSk7cmV0dXJuIGQuZm4uaW5pdC5jYWxsKHRoaXMsYixjLGUpfSxhLmZuLmluaXQucHJvdG90eXBlPWEuZm47dmFyIGU9YShjKTtyZXR1cm4gYX0sYnJvd3Nlcjp7fX0pLHk9ZC5fRGVmZXJyZWQoKSxkLmVhY2goIkJvb2xlYW4gTnVtYmVyIFN0cmluZyBGdW5jdGlvbiBBcnJheSBEYXRlIFJlZ0V4cCBPYmplY3QiLnNwbGl0KCIgIiksZnVuY3Rpb24oYSxiKXtIWyJbb2JqZWN0ICIrYisiXSJdPWIudG9Mb3dlckNhc2UoKX0pLHc9ZC51YU1hdGNoKHYpLHcuYnJvd3NlciYmKGQuYnJvd3Nlclt3LmJyb3dzZXJdPSEwLGQuYnJvd3Nlci52ZXJzaW9uPXcudmVyc2lvbiksZC5icm93c2VyLndlYmtpdCYmKGQuYnJvd3Nlci5zYWZhcmk9ITApLEcmJihkLmluQXJyYXk9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gRy5jYWxsKGIsYSl9KSxpLnRlc3QoIsKgIikmJihqPS9eW1xzXHhBMF0rLyxrPS9bXHNceEEwXSskLyksZz1kKGMpLGMuYWRkRXZlbnRMaXN0ZW5lcj9BPWZ1bmN0aW9uKCl7Yy5yZW1vdmVFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixBLCExKSxkLnJlYWR5KCl9OmMuYXR0YWNoRXZlbnQmJihBPWZ1bmN0aW9uKCl7Yy5yZWFkeVN0YXRlPT09ImNvbXBsZXRlIiYmKGMuZGV0YWNoRXZlbnQoIm9ucmVhZHlzdGF0ZWNoYW5nZSIsQSksZC5yZWFkeSgpKX0pO3JldHVybiBkfSgpOyhmdW5jdGlvbigpe2Quc3VwcG9ydD17fTt2YXIgYj1jLmNyZWF0ZUVsZW1lbnQoImRpdiIpO2Iuc3R5bGUuZGlzcGxheT0ibm9uZSIsYi5pbm5lckhUTUw9IiAgIDxsaW5rLz48dGFibGU+PC90YWJsZT48YSBocmVmPScvYScgc3R5bGU9J2NvbG9yOnJlZDtmbG9hdDpsZWZ0O29wYWNpdHk6LjU1Oyc+YTwvYT48aW5wdXQgdHlwZT0nY2hlY2tib3gnLz4iO3ZhciBlPWIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKSxmPWIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImEiKVswXSxnPWMuY3JlYXRlRWxlbWVudCgic2VsZWN0IiksaD1nLmFwcGVuZENoaWxkKGMuY3JlYXRlRWxlbWVudCgib3B0aW9uIikpLGk9Yi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaW5wdXQiKVswXTtpZihlJiZlLmxlbmd0aCYmZil7ZC5zdXBwb3J0PXtsZWFkaW5nV2hpdGVzcGFjZTpiLmZpcnN0Q2hpbGQubm9kZVR5cGU9PT0zLHRib2R5OiFiLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0Ym9keSIpLmxlbmd0aCxodG1sU2VyaWFsaXplOiEhYi5nZXRFbGVtZW50c0J5VGFnTmFtZSgibGluayIpLmxlbmd0aCxzdHlsZTovcmVkLy50ZXN0KGYuZ2V0QXR0cmlidXRlKCJzdHlsZSIpKSxocmVmTm9ybWFsaXplZDpmLmdldEF0dHJpYnV0ZSgiaHJlZiIpPT09Ii9hIixvcGFjaXR5Oi9eMC41NSQvLnRlc3QoZi5zdHlsZS5vcGFjaXR5KSxjc3NGbG9hdDohIWYuc3R5bGUuY3NzRmxvYXQsY2hlY2tPbjppLnZhbHVlPT09Im9uIixvcHRTZWxlY3RlZDpoLnNlbGVjdGVkLGRlbGV0ZUV4cGFuZG86ITAsb3B0RGlzYWJsZWQ6ITEsY2hlY2tDbG9uZTohMSxub0Nsb25lRXZlbnQ6ITAsbm9DbG9uZUNoZWNrZWQ6ITAsYm94TW9kZWw6bnVsbCxpbmxpbmVCbG9ja05lZWRzTGF5b3V0OiExLHNocmlua1dyYXBCbG9ja3M6ITEscmVsaWFibGVIaWRkZW5PZmZzZXRzOiEwfSxpLmNoZWNrZWQ9ITAsZC5zdXBwb3J0Lm5vQ2xvbmVDaGVja2VkPWkuY2xvbmVOb2RlKCEwKS5jaGVja2VkLGcuZGlzYWJsZWQ9ITAsZC5zdXBwb3J0Lm9wdERpc2FibGVkPSFoLmRpc2FibGVkO3ZhciBqPW51bGw7ZC5zdXBwb3J0LnNjcmlwdEV2YWw9ZnVuY3Rpb24oKXtpZihqPT09bnVsbCl7dmFyIGI9Yy5kb2N1bWVudEVsZW1lbnQsZT1jLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpLGY9InNjcmlwdCIrZC5ub3coKTt0cnl7ZS5hcHBlbmRDaGlsZChjLmNyZWF0ZVRleHROb2RlKCJ3aW5kb3cuIitmKyI9MTsiKSl9Y2F0Y2goZyl7fWIuaW5zZXJ0QmVmb3JlKGUsYi5maXJzdENoaWxkKSxhW2ZdPyhqPSEwLGRlbGV0ZSBhW2ZdKTpqPSExLGIucmVtb3ZlQ2hpbGQoZSksYj1lPWY9bnVsbH1yZXR1cm4gan07dHJ5e2RlbGV0ZSBiLnRlc3R9Y2F0Y2goayl7ZC5zdXBwb3J0LmRlbGV0ZUV4cGFuZG89ITF9IWIuYWRkRXZlbnRMaXN0ZW5lciYmYi5hdHRhY2hFdmVudCYmYi5maXJlRXZlbnQmJihiLmF0dGFjaEV2ZW50KCJvbmNsaWNrIixmdW5jdGlvbiBsKCl7ZC5zdXBwb3J0Lm5vQ2xvbmVFdmVudD0hMSxiLmRldGFjaEV2ZW50KCJvbmNsaWNrIixsKX0pLGIuY2xvbmVOb2RlKCEwKS5maXJlRXZlbnQoIm9uY2xpY2siKSksYj1jLmNyZWF0ZUVsZW1lbnQoImRpdiIpLGIuaW5uZXJIVE1MPSI8aW5wdXQgdHlwZT0ncmFkaW8nIG5hbWU9J3JhZGlvdGVzdCcgY2hlY2tlZD0nY2hlY2tlZCcvPiI7dmFyIG09Yy5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7bS5hcHBlbmRDaGlsZChiLmZpcnN0Q2hpbGQpLGQuc3VwcG9ydC5jaGVja0Nsb25lPW0uY2xvbmVOb2RlKCEwKS5jbG9uZU5vZGUoITApLmxhc3RDaGlsZC5jaGVja2VkLGQoZnVuY3Rpb24oKXt2YXIgYT1jLmNyZWF0ZUVsZW1lbnQoImRpdiIpLGI9Yy5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYm9keSIpWzBdO2lmKGIpe2Euc3R5bGUud2lkdGg9YS5zdHlsZS5wYWRkaW5nTGVmdD0iMXB4IixiLmFwcGVuZENoaWxkKGEpLGQuYm94TW9kZWw9ZC5zdXBwb3J0LmJveE1vZGVsPWEub2Zmc2V0V2lkdGg9PT0yLCJ6b29tImluIGEuc3R5bGUmJihhLnN0eWxlLmRpc3BsYXk9ImlubGluZSIsYS5zdHlsZS56b29tPTEsZC5zdXBwb3J0LmlubGluZUJsb2NrTmVlZHNMYXlvdXQ9YS5vZmZzZXRXaWR0aD09PTIsYS5zdHlsZS5kaXNwbGF5PSIiLGEuaW5uZXJIVE1MPSI8ZGl2IHN0eWxlPSd3aWR0aDo0cHg7Jz48L2Rpdj4iLGQuc3VwcG9ydC5zaHJpbmtXcmFwQmxvY2tzPWEub2Zmc2V0V2lkdGghPT0yKSxhLmlubmVySFRNTD0iPHRhYmxlPjx0cj48dGQgc3R5bGU9J3BhZGRpbmc6MDtib3JkZXI6MDtkaXNwbGF5Om5vbmUnPjwvdGQ+PHRkPnQ8L3RkPjwvdHI+PC90YWJsZT4iO3ZhciBlPWEuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInRkIik7ZC5zdXBwb3J0LnJlbGlhYmxlSGlkZGVuT2Zmc2V0cz1lWzBdLm9mZnNldEhlaWdodD09PTAsZVswXS5zdHlsZS5kaXNwbGF5PSIiLGVbMV0uc3R5bGUuZGlzcGxheT0ibm9uZSIsZC5zdXBwb3J0LnJlbGlhYmxlSGlkZGVuT2Zmc2V0cz1kLnN1cHBvcnQucmVsaWFibGVIaWRkZW5PZmZzZXRzJiZlWzBdLm9mZnNldEhlaWdodD09PTAsYS5pbm5lckhUTUw9IiIsYi5yZW1vdmVDaGlsZChhKS5zdHlsZS5kaXNwbGF5PSJub25lIixhPWU9bnVsbH19KTt2YXIgbj1mdW5jdGlvbihhKXt2YXIgYj1jLmNyZWF0ZUVsZW1lbnQoImRpdiIpO2E9Im9uIithO2lmKCFiLmF0dGFjaEV2ZW50KXJldHVybiEwO3ZhciBkPWEgaW4gYjtkfHwoYi5zZXRBdHRyaWJ1dGUoYSwicmV0dXJuOyIpLGQ9dHlwZW9mIGJbYV09PT0iZnVuY3Rpb24iKSxiPW51bGw7cmV0dXJuIGR9O2Quc3VwcG9ydC5zdWJtaXRCdWJibGVzPW4oInN1Ym1pdCIpLGQuc3VwcG9ydC5jaGFuZ2VCdWJibGVzPW4oImNoYW5nZSIpLGI9ZT1mPW51bGx9fSkoKTt2YXIgZT0vXig/Olx7LipcfXxcWy4qXF0pJC87ZC5leHRlbmQoe2NhY2hlOnt9LHV1aWQ6MCxleHBhbmRvOiJqUXVlcnkiKyhkLmZuLmpxdWVyeStNYXRoLnJhbmRvbSgpKS5yZXBsYWNlKC9cRC9nLCIiKSxub0RhdGE6e2VtYmVkOiEwLG9iamVjdDoiY2xzaWQ6RDI3Q0RCNkUtQUU2RC0xMWNmLTk2QjgtNDQ0NTUzNTQwMDAwIixhcHBsZXQ6ITB9LGhhc0RhdGE6ZnVuY3Rpb24oYSl7YT1hLm5vZGVUeXBlP2QuY2FjaGVbYVtkLmV4cGFuZG9dXTphW2QuZXhwYW5kb107cmV0dXJuISFhJiYhZyhhKX0sZGF0YTpmdW5jdGlvbihhLGMsZSxmKXtpZihkLmFjY2VwdERhdGEoYSkpe3ZhciBnPWQuZXhwYW5kbyxoPXR5cGVvZiBjPT09InN0cmluZyIsaSxqPWEubm9kZVR5cGUsaz1qP2QuY2FjaGU6YSxsPWo/YVtkLmV4cGFuZG9dOmFbZC5leHBhbmRvXSYmZC5leHBhbmRvO2lmKCghbHx8ZiYmbCYmIWtbbF1bZ10pJiZoJiZlPT09YilyZXR1cm47bHx8KGo/YVtkLmV4cGFuZG9dPWw9KytkLnV1aWQ6bD1kLmV4cGFuZG8pLGtbbF18fChrW2xdPXt9LGp8fChrW2xdLnRvSlNPTj1kLm5vb3ApKTtpZih0eXBlb2YgYz09PSJvYmplY3QifHx0eXBlb2YgYz09PSJmdW5jdGlvbiIpZj9rW2xdW2ddPWQuZXh0ZW5kKGtbbF1bZ10sYyk6a1tsXT1kLmV4dGVuZChrW2xdLGMpO2k9a1tsXSxmJiYoaVtnXXx8KGlbZ109e30pLGk9aVtnXSksZSE9PWImJihpW2NdPWUpO2lmKGM9PT0iZXZlbnRzIiYmIWlbY10pcmV0dXJuIGlbZ10mJmlbZ10uZXZlbnRzO3JldHVybiBoP2lbY106aX19LHJlbW92ZURhdGE6ZnVuY3Rpb24oYixjLGUpe2lmKGQuYWNjZXB0RGF0YShiKSl7dmFyIGY9ZC5leHBhbmRvLGg9Yi5ub2RlVHlwZSxpPWg/ZC5jYWNoZTpiLGo9aD9iW2QuZXhwYW5kb106ZC5leHBhbmRvO2lmKCFpW2pdKXJldHVybjtpZihjKXt2YXIgaz1lP2lbal1bZl06aVtqXTtpZihrKXtkZWxldGUga1tjXTtpZighZyhrKSlyZXR1cm59fWlmKGUpe2RlbGV0ZSBpW2pdW2ZdO2lmKCFnKGlbal0pKXJldHVybn12YXIgbD1pW2pdW2ZdO2Quc3VwcG9ydC5kZWxldGVFeHBhbmRvfHxpIT1hP2RlbGV0ZSBpW2pdOmlbal09bnVsbCxsPyhpW2pdPXt9LGh8fChpW2pdLnRvSlNPTj1kLm5vb3ApLGlbal1bZl09bCk6aCYmKGQuc3VwcG9ydC5kZWxldGVFeHBhbmRvP2RlbGV0ZSBiW2QuZXhwYW5kb106Yi5yZW1vdmVBdHRyaWJ1dGU/Yi5yZW1vdmVBdHRyaWJ1dGUoZC5leHBhbmRvKTpiW2QuZXhwYW5kb109bnVsbCl9fSxfZGF0YTpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGQuZGF0YShhLGIsYywhMCl9LGFjY2VwdERhdGE6ZnVuY3Rpb24oYSl7aWYoYS5ub2RlTmFtZSl7dmFyIGI9ZC5ub0RhdGFbYS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpXTtpZihiKXJldHVybiBiIT09ITAmJmEuZ2V0QXR0cmlidXRlKCJjbGFzc2lkIik9PT1ifXJldHVybiEwfX0pLGQuZm4uZXh0ZW5kKHtkYXRhOmZ1bmN0aW9uKGEsYyl7dmFyIGU9bnVsbDtpZih0eXBlb2YgYT09PSJ1bmRlZmluZWQiKXtpZih0aGlzLmxlbmd0aCl7ZT1kLmRhdGEodGhpc1swXSk7aWYodGhpc1swXS5ub2RlVHlwZT09PTEpe3ZhciBnPXRoaXNbMF0uYXR0cmlidXRlcyxoO2Zvcih2YXIgaT0wLGo9Zy5sZW5ndGg7aTxqO2krKyloPWdbaV0ubmFtZSxoLmluZGV4T2YoImRhdGEtIik9PT0wJiYoaD1oLnN1YnN0cig1KSxmKHRoaXNbMF0saCxlW2hdKSl9fXJldHVybiBlfWlmKHR5cGVvZiBhPT09Im9iamVjdCIpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2QuZGF0YSh0aGlzLGEpfSk7dmFyIGs9YS5zcGxpdCgiLiIpO2tbMV09a1sxXT8iLiIra1sxXToiIjtpZihjPT09Yil7ZT10aGlzLnRyaWdnZXJIYW5kbGVyKCJnZXREYXRhIitrWzFdKyIhIixba1swXV0pLGU9PT1iJiZ0aGlzLmxlbmd0aCYmKGU9ZC5kYXRhKHRoaXNbMF0sYSksZT1mKHRoaXNbMF0sYSxlKSk7cmV0dXJuIGU9PT1iJiZrWzFdP3RoaXMuZGF0YShrWzBdKTplfXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYj1kKHRoaXMpLGU9W2tbMF0sY107Yi50cmlnZ2VySGFuZGxlcigic2V0RGF0YSIra1sxXSsiISIsZSksZC5kYXRhKHRoaXMsYSxjKSxiLnRyaWdnZXJIYW5kbGVyKCJjaGFuZ2VEYXRhIitrWzFdKyIhIixlKX0pfSxyZW1vdmVEYXRhOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtkLnJlbW92ZURhdGEodGhpcyxhKX0pfX0pLGQuZXh0ZW5kKHtxdWV1ZTpmdW5jdGlvbihhLGIsYyl7aWYoYSl7Yj0oYnx8ImZ4IikrInF1ZXVlIjt2YXIgZT1kLl9kYXRhKGEsYik7aWYoIWMpcmV0dXJuIGV8fFtdOyFlfHxkLmlzQXJyYXkoYyk/ZT1kLl9kYXRhKGEsYixkLm1ha2VBcnJheShjKSk6ZS5wdXNoKGMpO3JldHVybiBlfX0sZGVxdWV1ZTpmdW5jdGlvbihhLGIpe2I9Ynx8ImZ4Ijt2YXIgYz1kLnF1ZXVlKGEsYiksZT1jLnNoaWZ0KCk7ZT09PSJpbnByb2dyZXNzIiYmKGU9Yy5zaGlmdCgpKSxlJiYoYj09PSJmeCImJmMudW5zaGlmdCgiaW5wcm9ncmVzcyIpLGUuY2FsbChhLGZ1bmN0aW9uKCl7ZC5kZXF1ZXVlKGEsYil9KSksYy5sZW5ndGh8fGQucmVtb3ZlRGF0YShhLGIrInF1ZXVlIiwhMCl9fSksZC5mbi5leHRlbmQoe3F1ZXVlOmZ1bmN0aW9uKGEsYyl7dHlwZW9mIGEhPT0ic3RyaW5nIiYmKGM9YSxhPSJmeCIpO2lmKGM9PT1iKXJldHVybiBkLnF1ZXVlKHRoaXNbMF0sYSk7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihiKXt2YXIgZT1kLnF1ZXVlKHRoaXMsYSxjKTthPT09ImZ4IiYmZVswXSE9PSJpbnByb2dyZXNzIiYmZC5kZXF1ZXVlKHRoaXMsYSl9KX0sZGVxdWV1ZTpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7ZC5kZXF1ZXVlKHRoaXMsYSl9KX0sZGVsYXk6ZnVuY3Rpb24oYSxiKXthPWQuZng/ZC5meC5zcGVlZHNbYV18fGE6YSxiPWJ8fCJmeCI7cmV0dXJuIHRoaXMucXVldWUoYixmdW5jdGlvbigpe3ZhciBjPXRoaXM7c2V0VGltZW91dChmdW5jdGlvbigpe2QuZGVxdWV1ZShjLGIpfSxhKX0pfSxjbGVhclF1ZXVlOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnF1ZXVlKGF8fCJmeCIsW10pfX0pO3ZhciBoPS9bXG5cdFxyXS9nLGk9L1xzKy8saj0vXHIvZyxrPS9eKD86aHJlZnxzcmN8c3R5bGUpJC8sbD0vXig/OmJ1dHRvbnxpbnB1dCkkL2ksbT0vXig/OmJ1dHRvbnxpbnB1dHxvYmplY3R8c2VsZWN0fHRleHRhcmVhKSQvaSxuPS9eYSg/OnJlYSk/JC9pLG89L14oPzpyYWRpb3xjaGVja2JveCkkL2k7ZC5wcm9wcz17ImZvciI6Imh0bWxGb3IiLCJjbGFzcyI6ImNsYXNzTmFtZSIscmVhZG9ubHk6InJlYWRPbmx5IixtYXhsZW5ndGg6Im1heExlbmd0aCIsY2VsbHNwYWNpbmc6ImNlbGxTcGFjaW5nIixyb3dzcGFuOiJyb3dTcGFuIixjb2xzcGFuOiJjb2xTcGFuIix0YWJpbmRleDoidGFiSW5kZXgiLHVzZW1hcDoidXNlTWFwIixmcmFtZWJvcmRlcjoiZnJhbWVCb3JkZXIifSxkLmZuLmV4dGVuZCh7YXR0cjpmdW5jdGlvbihhLGIpe3JldHVybiBkLmFjY2Vzcyh0aGlzLGEsYiwhMCxkLmF0dHIpfSxyZW1vdmVBdHRyOmZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2QuYXR0cih0aGlzLGEsIiIpLHRoaXMubm9kZVR5cGU9PT0xJiZ0aGlzLnJlbW92ZUF0dHJpYnV0ZShhKX0pfSxhZGRDbGFzczpmdW5jdGlvbihhKXtpZihkLmlzRnVuY3Rpb24oYSkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihiKXt2YXIgYz1kKHRoaXMpO2MuYWRkQ2xhc3MoYS5jYWxsKHRoaXMsYixjLmF0dHIoImNsYXNzIikpKX0pO2lmKGEmJnR5cGVvZiBhPT09InN0cmluZyIpe3ZhciBiPShhfHwiIikuc3BsaXQoaSk7Zm9yKHZhciBjPTAsZT10aGlzLmxlbmd0aDtjPGU7YysrKXt2YXIgZj10aGlzW2NdO2lmKGYubm9kZVR5cGU9PT0xKWlmKGYuY2xhc3NOYW1lKXt2YXIgZz0iICIrZi5jbGFzc05hbWUrIiAiLGg9Zi5jbGFzc05hbWU7Zm9yKHZhciBqPTAsaz1iLmxlbmd0aDtqPGs7aisrKWcuaW5kZXhPZigiICIrYltqXSsiICIpPDAmJihoKz0iICIrYltqXSk7Zi5jbGFzc05hbWU9ZC50cmltKGgpfWVsc2UgZi5jbGFzc05hbWU9YX19cmV0dXJuIHRoaXN9LHJlbW92ZUNsYXNzOmZ1bmN0aW9uKGEpe2lmKGQuaXNGdW5jdGlvbihhKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGIpe3ZhciBjPWQodGhpcyk7Yy5yZW1vdmVDbGFzcyhhLmNhbGwodGhpcyxiLGMuYXR0cigiY2xhc3MiKSkpfSk7aWYoYSYmdHlwZW9mIGE9PT0ic3RyaW5nInx8YT09PWIpe3ZhciBjPShhfHwiIikuc3BsaXQoaSk7Zm9yKHZhciBlPTAsZj10aGlzLmxlbmd0aDtlPGY7ZSsrKXt2YXIgZz10aGlzW2VdO2lmKGcubm9kZVR5cGU9PT0xJiZnLmNsYXNzTmFtZSlpZihhKXt2YXIgaj0oIiAiK2cuY2xhc3NOYW1lKyIgIikucmVwbGFjZShoLCIgIik7Zm9yKHZhciBrPTAsbD1jLmxlbmd0aDtrPGw7aysrKWo9ai5yZXBsYWNlKCIgIitjW2tdKyIgIiwiICIpO2cuY2xhc3NOYW1lPWQudHJpbShqKX1lbHNlIGcuY2xhc3NOYW1lPSIifX1yZXR1cm4gdGhpc30sdG9nZ2xlQ2xhc3M6ZnVuY3Rpb24oYSxiKXt2YXIgYz10eXBlb2YgYSxlPXR5cGVvZiBiPT09ImJvb2xlYW4iO2lmKGQuaXNGdW5jdGlvbihhKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGMpe3ZhciBlPWQodGhpcyk7ZS50b2dnbGVDbGFzcyhhLmNhbGwodGhpcyxjLGUuYXR0cigiY2xhc3MiKSxiKSxiKX0pO3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtpZihjPT09InN0cmluZyIpe3ZhciBmLGc9MCxoPWQodGhpcyksaj1iLGs9YS5zcGxpdChpKTt3aGlsZShmPWtbZysrXSlqPWU/ajohaC5oYXNDbGFzcyhmKSxoW2o/ImFkZENsYXNzIjoicmVtb3ZlQ2xhc3MiXShmKX1lbHNlIGlmKGM9PT0idW5kZWZpbmVkInx8Yz09PSJib29sZWFuIil0aGlzLmNsYXNzTmFtZSYmZC5fZGF0YSh0aGlzLCJfX2NsYXNzTmFtZV9fIix0aGlzLmNsYXNzTmFtZSksdGhpcy5jbGFzc05hbWU9dGhpcy5jbGFzc05hbWV8fGE9PT0hMT8iIjpkLl9kYXRhKHRoaXMsIl9fY2xhc3NOYW1lX18iKXx8IiJ9KX0saGFzQ2xhc3M6ZnVuY3Rpb24oYSl7dmFyIGI9IiAiK2ErIiAiO2Zvcih2YXIgYz0wLGQ9dGhpcy5sZW5ndGg7YzxkO2MrKylpZigoIiAiK3RoaXNbY10uY2xhc3NOYW1lKyIgIikucmVwbGFjZShoLCIgIikuaW5kZXhPZihiKT4tMSlyZXR1cm4hMDtyZXR1cm4hMX0sdmFsOmZ1bmN0aW9uKGEpe2lmKCFhcmd1bWVudHMubGVuZ3RoKXt2YXIgYz10aGlzWzBdO2lmKGMpe2lmKGQubm9kZU5hbWUoYywib3B0aW9uIikpe3ZhciBlPWMuYXR0cmlidXRlcy52YWx1ZTtyZXR1cm4hZXx8ZS5zcGVjaWZpZWQ/Yy52YWx1ZTpjLnRleHR9aWYoZC5ub2RlTmFtZShjLCJzZWxlY3QiKSl7dmFyIGY9Yy5zZWxlY3RlZEluZGV4LGc9W10saD1jLm9wdGlvbnMsaT1jLnR5cGU9PT0ic2VsZWN0LW9uZSI7aWYoZjwwKXJldHVybiBudWxsO2Zvcih2YXIgaz1pP2Y6MCxsPWk/ZisxOmgubGVuZ3RoO2s8bDtrKyspe3ZhciBtPWhba107aWYobS5zZWxlY3RlZCYmKGQuc3VwcG9ydC5vcHREaXNhYmxlZD8hbS5kaXNhYmxlZDptLmdldEF0dHJpYnV0ZSgiZGlzYWJsZWQiKT09PW51bGwpJiYoIW0ucGFyZW50Tm9kZS5kaXNhYmxlZHx8IWQubm9kZU5hbWUobS5wYXJlbnROb2RlLCJvcHRncm91cCIpKSl7YT1kKG0pLnZhbCgpO2lmKGkpcmV0dXJuIGE7Zy5wdXNoKGEpfX1pZihpJiYhZy5sZW5ndGgmJmgubGVuZ3RoKXJldHVybiBkKGhbZl0pLnZhbCgpO3JldHVybiBnfWlmKG8udGVzdChjLnR5cGUpJiYhZC5zdXBwb3J0LmNoZWNrT24pcmV0dXJuIGMuZ2V0QXR0cmlidXRlKCJ2YWx1ZSIpPT09bnVsbD8ib24iOmMudmFsdWU7cmV0dXJuKGMudmFsdWV8fCIiKS5yZXBsYWNlKGosIiIpfXJldHVybiBifXZhciBuPWQuaXNGdW5jdGlvbihhKTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGIpe3ZhciBjPWQodGhpcyksZT1hO2lmKHRoaXMubm9kZVR5cGU9PT0xKXtuJiYoZT1hLmNhbGwodGhpcyxiLGMudmFsKCkpKSxlPT1udWxsP2U9IiI6dHlwZW9mIGU9PT0ibnVtYmVyIj9lKz0iIjpkLmlzQXJyYXkoZSkmJihlPWQubWFwKGUsZnVuY3Rpb24oYSl7cmV0dXJuIGE9PW51bGw/IiI6YSsiIn0pKTtpZihkLmlzQXJyYXkoZSkmJm8udGVzdCh0aGlzLnR5cGUpKXRoaXMuY2hlY2tlZD1kLmluQXJyYXkoYy52YWwoKSxlKT49MDtlbHNlIGlmKGQubm9kZU5hbWUodGhpcywic2VsZWN0Iikpe3ZhciBmPWQubWFrZUFycmF5KGUpO2QoIm9wdGlvbiIsdGhpcykuZWFjaChmdW5jdGlvbigpe3RoaXMuc2VsZWN0ZWQ9ZC5pbkFycmF5KGQodGhpcykudmFsKCksZik+PTB9KSxmLmxlbmd0aHx8KHRoaXMuc2VsZWN0ZWRJbmRleD0tMSl9ZWxzZSB0aGlzLnZhbHVlPWV9fSl9fSksZC5leHRlbmQoe2F0dHJGbjp7dmFsOiEwLGNzczohMCxodG1sOiEwLHRleHQ6ITAsZGF0YTohMCx3aWR0aDohMCxoZWlnaHQ6ITAsb2Zmc2V0OiEwfSxhdHRyOmZ1bmN0aW9uKGEsYyxlLGYpe2lmKCFhfHxhLm5vZGVUeXBlPT09M3x8YS5ub2RlVHlwZT09PTh8fGEubm9kZVR5cGU9PT0yKXJldHVybiBiO2lmKGYmJmMgaW4gZC5hdHRyRm4pcmV0dXJuIGQoYSlbY10oZSk7dmFyIGc9YS5ub2RlVHlwZSE9PTF8fCFkLmlzWE1MRG9jKGEpLGg9ZSE9PWI7Yz1nJiZkLnByb3BzW2NdfHxjO2lmKGEubm9kZVR5cGU9PT0xKXt2YXIgaT1rLnRlc3QoYyk7aWYoYz09PSJzZWxlY3RlZCImJiFkLnN1cHBvcnQub3B0U2VsZWN0ZWQpe3ZhciBqPWEucGFyZW50Tm9kZTtqJiYoai5zZWxlY3RlZEluZGV4LGoucGFyZW50Tm9kZSYmai5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXgpfWlmKChjIGluIGF8fGFbY10hPT1iKSYmZyYmIWkpe2gmJihjPT09InR5cGUiJiZsLnRlc3QoYS5ub2RlTmFtZSkmJmEucGFyZW50Tm9kZSYmZC5lcnJvcigidHlwZSBwcm9wZXJ0eSBjYW4ndCBiZSBjaGFuZ2VkIiksZT09PW51bGw/YS5ub2RlVHlwZT09PTEmJmEucmVtb3ZlQXR0cmlidXRlKGMpOmFbY109ZSk7aWYoZC5ub2RlTmFtZShhLCJmb3JtIikmJmEuZ2V0QXR0cmlidXRlTm9kZShjKSlyZXR1cm4gYS5nZXRBdHRyaWJ1dGVOb2RlKGMpLm5vZGVWYWx1ZTtpZihjPT09InRhYkluZGV4Iil7dmFyIG89YS5nZXRBdHRyaWJ1dGVOb2RlKCJ0YWJJbmRleCIpO3JldHVybiBvJiZvLnNwZWNpZmllZD9vLnZhbHVlOm0udGVzdChhLm5vZGVOYW1lKXx8bi50ZXN0KGEubm9kZU5hbWUpJiZhLmhyZWY/MDpifXJldHVybiBhW2NdfWlmKCFkLnN1cHBvcnQuc3R5bGUmJmcmJmM9PT0ic3R5bGUiKXtoJiYoYS5zdHlsZS5jc3NUZXh0PSIiK2UpO3JldHVybiBhLnN0eWxlLmNzc1RleHR9aCYmYS5zZXRBdHRyaWJ1dGUoYywiIitlKTtpZighYS5hdHRyaWJ1dGVzW2NdJiYoYS5oYXNBdHRyaWJ1dGUmJiFhLmhhc0F0dHJpYnV0ZShjKSkpcmV0dXJuIGI7dmFyIHA9IWQuc3VwcG9ydC5ocmVmTm9ybWFsaXplZCYmZyYmaT9hLmdldEF0dHJpYnV0ZShjLDIpOmEuZ2V0QXR0cmlidXRlKGMpO3JldHVybiBwPT09bnVsbD9iOnB9aCYmKGFbY109ZSk7cmV0dXJuIGFbY119fSk7dmFyIHA9L1wuKC4qKSQvLHE9L14oPzp0ZXh0YXJlYXxpbnB1dHxzZWxlY3QpJC9pLHI9L1wuL2cscz0vIC9nLHQ9L1teXHdccy58YF0vZyx1PWZ1bmN0aW9uKGEpe3JldHVybiBhLnJlcGxhY2UodCwiXFwkJiIpfTtkLmV2ZW50PXthZGQ6ZnVuY3Rpb24oYyxlLGYsZyl7aWYoYy5ub2RlVHlwZSE9PTMmJmMubm9kZVR5cGUhPT04KXt0cnl7ZC5pc1dpbmRvdyhjKSYmKGMhPT1hJiYhYy5mcmFtZUVsZW1lbnQpJiYoYz1hKX1jYXRjaChoKXt9aWYoZj09PSExKWY9djtlbHNlIGlmKCFmKXJldHVybjt2YXIgaSxqO2YuaGFuZGxlciYmKGk9ZixmPWkuaGFuZGxlciksZi5ndWlkfHwoZi5ndWlkPWQuZ3VpZCsrKTt2YXIgaz1kLl9kYXRhKGMpO2lmKCFrKXJldHVybjt2YXIgbD1rLmV2ZW50cyxtPWsuaGFuZGxlO2x8fChrLmV2ZW50cz1sPXt9KSxtfHwoay5oYW5kbGU9bT1mdW5jdGlvbigpe3JldHVybiB0eXBlb2YgZCE9PSJ1bmRlZmluZWQiJiYhZC5ldmVudC50cmlnZ2VyZWQ/ZC5ldmVudC5oYW5kbGUuYXBwbHkobS5lbGVtLGFyZ3VtZW50cyk6Yn0pLG0uZWxlbT1jLGU9ZS5zcGxpdCgiICIpO3ZhciBuLG89MCxwO3doaWxlKG49ZVtvKytdKXtqPWk/ZC5leHRlbmQoe30saSk6e2hhbmRsZXI6ZixkYXRhOmd9LG4uaW5kZXhPZigiLiIpPi0xPyhwPW4uc3BsaXQoIi4iKSxuPXAuc2hpZnQoKSxqLm5hbWVzcGFjZT1wLnNsaWNlKDApLnNvcnQoKS5qb2luKCIuIikpOihwPVtdLGoubmFtZXNwYWNlPSIiKSxqLnR5cGU9bixqLmd1aWR8fChqLmd1aWQ9Zi5ndWlkKTt2YXIgcT1sW25dLHI9ZC5ldmVudC5zcGVjaWFsW25dfHx7fTtpZighcSl7cT1sW25dPVtdO2lmKCFyLnNldHVwfHxyLnNldHVwLmNhbGwoYyxnLHAsbSk9PT0hMSljLmFkZEV2ZW50TGlzdGVuZXI/Yy5hZGRFdmVudExpc3RlbmVyKG4sbSwhMSk6Yy5hdHRhY2hFdmVudCYmYy5hdHRhY2hFdmVudCgib24iK24sbSl9ci5hZGQmJihyLmFkZC5jYWxsKGMsaiksai5oYW5kbGVyLmd1aWR8fChqLmhhbmRsZXIuZ3VpZD1mLmd1aWQpKSxxLnB1c2goaiksZC5ldmVudC5nbG9iYWxbbl09ITB9Yz1udWxsfX0sZ2xvYmFsOnt9LHJlbW92ZTpmdW5jdGlvbihhLGMsZSxmKXtpZihhLm5vZGVUeXBlIT09MyYmYS5ub2RlVHlwZSE9PTgpe2U9PT0hMSYmKGU9dik7dmFyIGcsaCxpLGosaz0wLGwsbSxuLG8scCxxLHIscz1kLmhhc0RhdGEoYSkmJmQuX2RhdGEoYSksdD1zJiZzLmV2ZW50cztpZighc3x8IXQpcmV0dXJuO2MmJmMudHlwZSYmKGU9Yy5oYW5kbGVyLGM9Yy50eXBlKTtpZighY3x8dHlwZW9mIGM9PT0ic3RyaW5nIiYmYy5jaGFyQXQoMCk9PT0iLiIpe2M9Y3x8IiI7Zm9yKGggaW4gdClkLmV2ZW50LnJlbW92ZShhLGgrYyk7cmV0dXJufWM9Yy5zcGxpdCgiICIpO3doaWxlKGg9Y1trKytdKXtyPWgscT1udWxsLGw9aC5pbmRleE9mKCIuIik8MCxtPVtdLGx8fChtPWguc3BsaXQoIi4iKSxoPW0uc2hpZnQoKSxuPW5ldyBSZWdFeHAoIihefFxcLikiK2QubWFwKG0uc2xpY2UoMCkuc29ydCgpLHUpLmpvaW4oIlxcLig/Oi4qXFwuKT8iKSsiKFxcLnwkKSIpKSxwPXRbaF07aWYoIXApY29udGludWU7aWYoIWUpe2ZvcihqPTA7ajxwLmxlbmd0aDtqKyspe3E9cFtqXTtpZihsfHxuLnRlc3QocS5uYW1lc3BhY2UpKWQuZXZlbnQucmVtb3ZlKGEscixxLmhhbmRsZXIsaikscC5zcGxpY2Uoai0tLDEpfWNvbnRpbnVlfW89ZC5ldmVudC5zcGVjaWFsW2hdfHx7fTtmb3Ioaj1mfHwwO2o8cC5sZW5ndGg7aisrKXtxPXBbal07aWYoZS5ndWlkPT09cS5ndWlkKXtpZihsfHxuLnRlc3QocS5uYW1lc3BhY2UpKWY9PW51bGwmJnAuc3BsaWNlKGotLSwxKSxvLnJlbW92ZSYmby5yZW1vdmUuY2FsbChhLHEpO2lmKGYhPW51bGwpYnJlYWt9fWlmKHAubGVuZ3RoPT09MHx8ZiE9bnVsbCYmcC5sZW5ndGg9PT0xKSghby50ZWFyZG93bnx8by50ZWFyZG93bi5jYWxsKGEsbSk9PT0hMSkmJmQucmVtb3ZlRXZlbnQoYSxoLHMuaGFuZGxlKSxnPW51bGwsZGVsZXRlIHRbaF19aWYoZC5pc0VtcHR5T2JqZWN0KHQpKXt2YXIgdz1zLmhhbmRsZTt3JiYody5lbGVtPW51bGwpLGRlbGV0ZSBzLmV2ZW50cyxkZWxldGUgcy5oYW5kbGUsZC5pc0VtcHR5T2JqZWN0KHMpJiZkLnJlbW92ZURhdGEoYSxiLCEwKX19fSx0cmlnZ2VyOmZ1bmN0aW9uKGEsYyxlKXt2YXIgZj1hLnR5cGV8fGEsZz1hcmd1bWVudHNbM107aWYoIWcpe2E9dHlwZW9mIGE9PT0ib2JqZWN0Ij9hW2QuZXhwYW5kb10/YTpkLmV4dGVuZChkLkV2ZW50KGYpLGEpOmQuRXZlbnQoZiksZi5pbmRleE9mKCIhIik+PTAmJihhLnR5cGU9Zj1mLnNsaWNlKDAsLTEpLGEuZXhjbHVzaXZlPSEwKSxlfHwoYS5zdG9wUHJvcGFnYXRpb24oKSxkLmV2ZW50Lmdsb2JhbFtmXSYmZC5lYWNoKGQuY2FjaGUsZnVuY3Rpb24oKXt2YXIgYj1kLmV4cGFuZG8sZT10aGlzW2JdO2UmJmUuZXZlbnRzJiZlLmV2ZW50c1tmXSYmZC5ldmVudC50cmlnZ2VyKGEsYyxlLmhhbmRsZS5lbGVtKX0pKTtpZighZXx8ZS5ub2RlVHlwZT09PTN8fGUubm9kZVR5cGU9PT04KXJldHVybiBiO2EucmVzdWx0PWIsYS50YXJnZXQ9ZSxjPWQubWFrZUFycmF5KGMpLGMudW5zaGlmdChhKX1hLmN1cnJlbnRUYXJnZXQ9ZTt2YXIgaD1kLl9kYXRhKGUsImhhbmRsZSIpO2gmJmguYXBwbHkoZSxjKTt2YXIgaT1lLnBhcmVudE5vZGV8fGUub3duZXJEb2N1bWVudDt0cnl7ZSYmZS5ub2RlTmFtZSYmZC5ub0RhdGFbZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpXXx8ZVsib24iK2ZdJiZlWyJvbiIrZl0uYXBwbHkoZSxjKT09PSExJiYoYS5yZXN1bHQ9ITEsYS5wcmV2ZW50RGVmYXVsdCgpKX1jYXRjaChqKXt9aWYoIWEuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSYmaSlkLmV2ZW50LnRyaWdnZXIoYSxjLGksITApO2Vsc2UgaWYoIWEuaXNEZWZhdWx0UHJldmVudGVkKCkpe3ZhciBrLGw9YS50YXJnZXQsbT1mLnJlcGxhY2UocCwiIiksbj1kLm5vZGVOYW1lKGwsImEiKSYmbT09PSJjbGljayIsbz1kLmV2ZW50LnNwZWNpYWxbbV18fHt9O2lmKCghby5fZGVmYXVsdHx8by5fZGVmYXVsdC5jYWxsKGUsYSk9PT0hMSkmJiFuJiYhKGwmJmwubm9kZU5hbWUmJmQubm9EYXRhW2wubm9kZU5hbWUudG9Mb3dlckNhc2UoKV0pKXt0cnl7bFttXSYmKGs9bFsib24iK21dLGsmJihsWyJvbiIrbV09bnVsbCksZC5ldmVudC50cmlnZ2VyZWQ9ITAsbFttXSgpKX1jYXRjaChxKXt9ayYmKGxbIm9uIittXT1rKSxkLmV2ZW50LnRyaWdnZXJlZD0hMX19fSxoYW5kbGU6ZnVuY3Rpb24oYyl7dmFyIGUsZixnLGgsaSxqPVtdLGs9ZC5tYWtlQXJyYXkoYXJndW1lbnRzKTtjPWtbMF09ZC5ldmVudC5maXgoY3x8YS5ldmVudCksYy5jdXJyZW50VGFyZ2V0PXRoaXMsZT1jLnR5cGUuaW5kZXhPZigiLiIpPDAmJiFjLmV4Y2x1c2l2ZSxlfHwoZz1jLnR5cGUuc3BsaXQoIi4iKSxjLnR5cGU9Zy5zaGlmdCgpLGo9Zy5zbGljZSgwKS5zb3J0KCksaD1uZXcgUmVnRXhwKCIoXnxcXC4pIitqLmpvaW4oIlxcLig/Oi4qXFwuKT8iKSsiKFxcLnwkKSIpKSxjLm5hbWVzcGFjZT1jLm5hbWVzcGFjZXx8ai5qb2luKCIuIiksaT1kLl9kYXRhKHRoaXMsImV2ZW50cyIpLGY9KGl8fHt9KVtjLnR5cGVdO2lmKGkmJmYpe2Y9Zi5zbGljZSgwKTtmb3IodmFyIGw9MCxtPWYubGVuZ3RoO2w8bTtsKyspe3ZhciBuPWZbbF07aWYoZXx8aC50ZXN0KG4ubmFtZXNwYWNlKSl7Yy5oYW5kbGVyPW4uaGFuZGxlcixjLmRhdGE9bi5kYXRhLGMuaGFuZGxlT2JqPW47dmFyIG89bi5oYW5kbGVyLmFwcGx5KHRoaXMsayk7byE9PWImJihjLnJlc3VsdD1vLG89PT0hMSYmKGMucHJldmVudERlZmF1bHQoKSxjLnN0b3BQcm9wYWdhdGlvbigpKSk7aWYoYy5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZCgpKWJyZWFrfX19cmV0dXJuIGMucmVzdWx0fSxwcm9wczoiYWx0S2V5IGF0dHJDaGFuZ2UgYXR0ck5hbWUgYnViYmxlcyBidXR0b24gY2FuY2VsYWJsZSBjaGFyQ29kZSBjbGllbnRYIGNsaWVudFkgY3RybEtleSBjdXJyZW50VGFyZ2V0IGRhdGEgZGV0YWlsIGV2ZW50UGhhc2UgZnJvbUVsZW1lbnQgaGFuZGxlciBrZXlDb2RlIGxheWVyWCBsYXllclkgbWV0YUtleSBuZXdWYWx1ZSBvZmZzZXRYIG9mZnNldFkgcGFnZVggcGFnZVkgcHJldlZhbHVlIHJlbGF0ZWROb2RlIHJlbGF0ZWRUYXJnZXQgc2NyZWVuWCBzY3JlZW5ZIHNoaWZ0S2V5IHNyY0VsZW1lbnQgdGFyZ2V0IHRvRWxlbWVudCB2aWV3IHdoZWVsRGVsdGEgd2hpY2giLnNwbGl0KCIgIiksZml4OmZ1bmN0aW9uKGEpe2lmKGFbZC5leHBhbmRvXSlyZXR1cm4gYTt2YXIgZT1hO2E9ZC5FdmVudChlKTtmb3IodmFyIGY9dGhpcy5wcm9wcy5sZW5ndGgsZztmOylnPXRoaXMucHJvcHNbLS1mXSxhW2ddPWVbZ107YS50YXJnZXR8fChhLnRhcmdldD1hLnNyY0VsZW1lbnR8fGMpLGEudGFyZ2V0Lm5vZGVUeXBlPT09MyYmKGEudGFyZ2V0PWEudGFyZ2V0LnBhcmVudE5vZGUpLCFhLnJlbGF0ZWRUYXJnZXQmJmEuZnJvbUVsZW1lbnQmJihhLnJlbGF0ZWRUYXJnZXQ9YS5mcm9tRWxlbWVudD09PWEudGFyZ2V0P2EudG9FbGVtZW50OmEuZnJvbUVsZW1lbnQpO2lmKGEucGFnZVg9PW51bGwmJmEuY2xpZW50WCE9bnVsbCl7dmFyIGg9Yy5kb2N1bWVudEVsZW1lbnQsaT1jLmJvZHk7YS5wYWdlWD1hLmNsaWVudFgrKGgmJmguc2Nyb2xsTGVmdHx8aSYmaS5zY3JvbGxMZWZ0fHwwKS0oaCYmaC5jbGllbnRMZWZ0fHxpJiZpLmNsaWVudExlZnR8fDApLGEucGFnZVk9YS5jbGllbnRZKyhoJiZoLnNjcm9sbFRvcHx8aSYmaS5zY3JvbGxUb3B8fDApLShoJiZoLmNsaWVudFRvcHx8aSYmaS5jbGllbnRUb3B8fDApfWEud2hpY2g9PW51bGwmJihhLmNoYXJDb2RlIT1udWxsfHxhLmtleUNvZGUhPW51bGwpJiYoYS53aGljaD1hLmNoYXJDb2RlIT1udWxsP2EuY2hhckNvZGU6YS5rZXlDb2RlKSwhYS5tZXRhS2V5JiZhLmN0cmxLZXkmJihhLm1ldGFLZXk9YS5jdHJsS2V5KSwhYS53aGljaCYmYS5idXR0b24hPT1iJiYoYS53aGljaD1hLmJ1dHRvbiYxPzE6YS5idXR0b24mMj8zOmEuYnV0dG9uJjQ/MjowKTtyZXR1cm4gYX0sZ3VpZDoxZTgscHJveHk6ZC5wcm94eSxzcGVjaWFsOntyZWFkeTp7c2V0dXA6ZC5iaW5kUmVhZHksdGVhcmRvd246ZC5ub29wfSxsaXZlOnthZGQ6ZnVuY3Rpb24oYSl7ZC5ldmVudC5hZGQodGhpcyxGKGEub3JpZ1R5cGUsYS5zZWxlY3RvciksZC5leHRlbmQoe30sYSx7aGFuZGxlcjpFLGd1aWQ6YS5oYW5kbGVyLmd1aWR9KSl9LHJlbW92ZTpmdW5jdGlvbihhKXtkLmV2ZW50LnJlbW92ZSh0aGlzLEYoYS5vcmlnVHlwZSxhLnNlbGVjdG9yKSxhKX19LGJlZm9yZXVubG9hZDp7c2V0dXA6ZnVuY3Rpb24oYSxiLGMpe2QuaXNXaW5kb3codGhpcykmJih0aGlzLm9uYmVmb3JldW5sb2FkPWMpfSx0ZWFyZG93bjpmdW5jdGlvbihhLGIpe3RoaXMub25iZWZvcmV1bmxvYWQ9PT1iJiYodGhpcy5vbmJlZm9yZXVubG9hZD1udWxsKX19fX0sZC5yZW1vdmVFdmVudD1jLnJlbW92ZUV2ZW50TGlzdGVuZXI/ZnVuY3Rpb24oYSxiLGMpe2EucmVtb3ZlRXZlbnRMaXN0ZW5lciYmYS5yZW1vdmVFdmVudExpc3RlbmVyKGIsYywhMSl9OmZ1bmN0aW9uKGEsYixjKXthLmRldGFjaEV2ZW50JiZhLmRldGFjaEV2ZW50KCJvbiIrYixjKX0sZC5FdmVudD1mdW5jdGlvbihhKXtpZighdGhpcy5wcmV2ZW50RGVmYXVsdClyZXR1cm4gbmV3IGQuRXZlbnQoYSk7YSYmYS50eXBlPyh0aGlzLm9yaWdpbmFsRXZlbnQ9YSx0aGlzLnR5cGU9YS50eXBlLHRoaXMuaXNEZWZhdWx0UHJldmVudGVkPWEuZGVmYXVsdFByZXZlbnRlZHx8YS5yZXR1cm5WYWx1ZT09PSExfHxhLmdldFByZXZlbnREZWZhdWx0JiZhLmdldFByZXZlbnREZWZhdWx0KCk/dzp2KTp0aGlzLnR5cGU9YSx0aGlzLnRpbWVTdGFtcD1kLm5vdygpLHRoaXNbZC5leHBhbmRvXT0hMH0sZC5FdmVudC5wcm90b3R5cGU9e3ByZXZlbnREZWZhdWx0OmZ1bmN0aW9uKCl7dGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQ9dzt2YXIgYT10aGlzLm9yaWdpbmFsRXZlbnQ7YSYmKGEucHJldmVudERlZmF1bHQ/YS5wcmV2ZW50RGVmYXVsdCgpOmEucmV0dXJuVmFsdWU9ITEpfSxzdG9wUHJvcGFnYXRpb246ZnVuY3Rpb24oKXt0aGlzLmlzUHJvcGFnYXRpb25TdG9wcGVkPXc7dmFyIGE9dGhpcy5vcmlnaW5hbEV2ZW50O2EmJihhLnN0b3BQcm9wYWdhdGlvbiYmYS5zdG9wUHJvcGFnYXRpb24oKSxhLmNhbmNlbEJ1YmJsZT0hMCl9LHN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbjpmdW5jdGlvbigpe3RoaXMuaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQ9dyx0aGlzLnN0b3BQcm9wYWdhdGlvbigpfSxpc0RlZmF1bHRQcmV2ZW50ZWQ6dixpc1Byb3BhZ2F0aW9uU3RvcHBlZDp2LGlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkOnZ9O3ZhciB4PWZ1bmN0aW9uKGEpe3ZhciBiPWEucmVsYXRlZFRhcmdldDt0cnl7aWYoYiE9PWMmJiFiLnBhcmVudE5vZGUpcmV0dXJuO3doaWxlKGImJmIhPT10aGlzKWI9Yi5wYXJlbnROb2RlO2IhPT10aGlzJiYoYS50eXBlPWEuZGF0YSxkLmV2ZW50LmhhbmRsZS5hcHBseSh0aGlzLGFyZ3VtZW50cykpfWNhdGNoKGUpe319LHk9ZnVuY3Rpb24oYSl7YS50eXBlPWEuZGF0YSxkLmV2ZW50LmhhbmRsZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9O2QuZWFjaCh7bW91c2VlbnRlcjoibW91c2VvdmVyIixtb3VzZWxlYXZlOiJtb3VzZW91dCJ9LGZ1bmN0aW9uKGEsYil7ZC5ldmVudC5zcGVjaWFsW2FdPXtzZXR1cDpmdW5jdGlvbihjKXtkLmV2ZW50LmFkZCh0aGlzLGIsYyYmYy5zZWxlY3Rvcj95OngsYSl9LHRlYXJkb3duOmZ1bmN0aW9uKGEpe2QuZXZlbnQucmVtb3ZlKHRoaXMsYixhJiZhLnNlbGVjdG9yP3k6eCl9fX0pLGQuc3VwcG9ydC5zdWJtaXRCdWJibGVzfHwoZC5ldmVudC5zcGVjaWFsLnN1Ym1pdD17c2V0dXA6ZnVuY3Rpb24oYSxiKXtpZih0aGlzLm5vZGVOYW1lJiZ0aGlzLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkhPT0iZm9ybSIpZC5ldmVudC5hZGQodGhpcywiY2xpY2suc3BlY2lhbFN1Ym1pdCIsZnVuY3Rpb24oYSl7dmFyIGI9YS50YXJnZXQsYz1iLnR5cGU7KGM9PT0ic3VibWl0Inx8Yz09PSJpbWFnZSIpJiZkKGIpLmNsb3Nlc3QoImZvcm0iKS5sZW5ndGgmJkMoInN1Ym1pdCIsdGhpcyxhcmd1bWVudHMpfSksZC5ldmVudC5hZGQodGhpcywia2V5cHJlc3Muc3BlY2lhbFN1Ym1pdCIsZnVuY3Rpb24oYSl7dmFyIGI9YS50YXJnZXQsYz1iLnR5cGU7KGM9PT0idGV4dCJ8fGM9PT0icGFzc3dvcmQiKSYmZChiKS5jbG9zZXN0KCJmb3JtIikubGVuZ3RoJiZhLmtleUNvZGU9PT0xMyYmQygic3VibWl0Iix0aGlzLGFyZ3VtZW50cyl9KTtlbHNlIHJldHVybiExfSx0ZWFyZG93bjpmdW5jdGlvbihhKXtkLmV2ZW50LnJlbW92ZSh0aGlzLCIuc3BlY2lhbFN1Ym1pdCIpfX0pO2lmKCFkLnN1cHBvcnQuY2hhbmdlQnViYmxlcyl7dmFyIHosQT1mdW5jdGlvbihhKXt2YXIgYj1hLnR5cGUsYz1hLnZhbHVlO2I9PT0icmFkaW8ifHxiPT09ImNoZWNrYm94Ij9jPWEuY2hlY2tlZDpiPT09InNlbGVjdC1tdWx0aXBsZSI/Yz1hLnNlbGVjdGVkSW5kZXg+LTE/ZC5tYXAoYS5vcHRpb25zLGZ1bmN0aW9uKGEpe3JldHVybiBhLnNlbGVjdGVkfSkuam9pbigiLSIpOiIiOmEubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PSJzZWxlY3QiJiYoYz1hLnNlbGVjdGVkSW5kZXgpO3JldHVybiBjfSxCPWZ1bmN0aW9uIEIoYSl7dmFyIGM9YS50YXJnZXQsZSxmO2lmKHEudGVzdChjLm5vZGVOYW1lKSYmIWMucmVhZE9ubHkpe2U9ZC5fZGF0YShjLCJfY2hhbmdlX2RhdGEiKSxmPUEoYyksKGEudHlwZSE9PSJmb2N1c291dCJ8fGMudHlwZSE9PSJyYWRpbyIpJiZkLl9kYXRhKGMsIl9jaGFuZ2VfZGF0YSIsZik7aWYoZT09PWJ8fGY9PT1lKXJldHVybjtpZihlIT1udWxsfHxmKWEudHlwZT0iY2hhbmdlIixhLmxpdmVGaXJlZD1iLGQuZXZlbnQudHJpZ2dlcihhLGFyZ3VtZW50c1sxXSxjKX19O2QuZXZlbnQuc3BlY2lhbC5jaGFuZ2U9e2ZpbHRlcnM6e2ZvY3Vzb3V0OkIsYmVmb3JlZGVhY3RpdmF0ZTpCLGNsaWNrOmZ1bmN0aW9uKGEpe3ZhciBiPWEudGFyZ2V0LGM9Yi50eXBlOyhjPT09InJhZGlvInx8Yz09PSJjaGVja2JveCJ8fGIubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PSJzZWxlY3QiKSYmQi5jYWxsKHRoaXMsYSl9LGtleWRvd246ZnVuY3Rpb24oYSl7dmFyIGI9YS50YXJnZXQsYz1iLnR5cGU7KGEua2V5Q29kZT09PTEzJiZiLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkhPT0idGV4dGFyZWEifHxhLmtleUNvZGU9PT0zMiYmKGM9PT0iY2hlY2tib3gifHxjPT09InJhZGlvIil8fGM9PT0ic2VsZWN0LW11bHRpcGxlIikmJkIuY2FsbCh0aGlzLGEpfSxiZWZvcmVhY3RpdmF0ZTpmdW5jdGlvbihhKXt2YXIgYj1hLnRhcmdldDtkLl9kYXRhKGIsIl9jaGFuZ2VfZGF0YSIsQShiKSl9fSxzZXR1cDpmdW5jdGlvbihhLGIpe2lmKHRoaXMudHlwZT09PSJmaWxlIilyZXR1cm4hMTtmb3IodmFyIGMgaW4geilkLmV2ZW50LmFkZCh0aGlzLGMrIi5zcGVjaWFsQ2hhbmdlIix6W2NdKTtyZXR1cm4gcS50ZXN0KHRoaXMubm9kZU5hbWUpfSx0ZWFyZG93bjpmdW5jdGlvbihhKXtkLmV2ZW50LnJlbW92ZSh0aGlzLCIuc3BlY2lhbENoYW5nZSIpO3JldHVybiBxLnRlc3QodGhpcy5ub2RlTmFtZSl9fSx6PWQuZXZlbnQuc3BlY2lhbC5jaGFuZ2UuZmlsdGVycyx6LmZvY3VzPXouYmVmb3JlYWN0aXZhdGV9Yy5hZGRFdmVudExpc3RlbmVyJiZkLmVhY2goe2ZvY3VzOiJmb2N1c2luIixibHVyOiJmb2N1c291dCJ9LGZ1bmN0aW9uKGEsYil7ZnVuY3Rpb24gYyhhKXthPWQuZXZlbnQuZml4KGEpLGEudHlwZT1iO3JldHVybiBkLmV2ZW50LmhhbmRsZS5jYWxsKHRoaXMsYSl9ZC5ldmVudC5zcGVjaWFsW2JdPXtzZXR1cDpmdW5jdGlvbigpe3RoaXMuYWRkRXZlbnRMaXN0ZW5lcihhLGMsITApfSx0ZWFyZG93bjpmdW5jdGlvbigpe3RoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihhLGMsITApfX19KSxkLmVhY2goWyJiaW5kIiwib25lIl0sZnVuY3Rpb24oYSxjKXtkLmZuW2NdPWZ1bmN0aW9uKGEsZSxmKXtpZih0eXBlb2YgYT09PSJvYmplY3QiKXtmb3IodmFyIGcgaW4gYSl0aGlzW2NdKGcsZSxhW2ddLGYpO3JldHVybiB0aGlzfWlmKGQuaXNGdW5jdGlvbihlKXx8ZT09PSExKWY9ZSxlPWI7dmFyIGg9Yz09PSJvbmUiP2QucHJveHkoZixmdW5jdGlvbihhKXtkKHRoaXMpLnVuYmluZChhLGgpO3JldHVybiBmLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pOmY7aWYoYT09PSJ1bmxvYWQiJiZjIT09Im9uZSIpdGhpcy5vbmUoYSxlLGYpO2Vsc2UgZm9yKHZhciBpPTAsaj10aGlzLmxlbmd0aDtpPGo7aSsrKWQuZXZlbnQuYWRkKHRoaXNbaV0sYSxoLGUpO3JldHVybiB0aGlzfX0pLGQuZm4uZXh0ZW5kKHt1bmJpbmQ6ZnVuY3Rpb24oYSxiKXtpZih0eXBlb2YgYSE9PSJvYmplY3QifHxhLnByZXZlbnREZWZhdWx0KWZvcih2YXIgZT0wLGY9dGhpcy5sZW5ndGg7ZTxmO2UrKylkLmV2ZW50LnJlbW92ZSh0aGlzW2VdLGEsYik7ZWxzZSBmb3IodmFyIGMgaW4gYSl0aGlzLnVuYmluZChjLGFbY10pO3JldHVybiB0aGlzfSxkZWxlZ2F0ZTpmdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gdGhpcy5saXZlKGIsYyxkLGEpfSx1bmRlbGVnYXRlOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD09PTA/dGhpcy51bmJpbmQoImxpdmUiKTp0aGlzLmRpZShiLG51bGwsYyxhKX0sdHJpZ2dlcjpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtkLmV2ZW50LnRyaWdnZXIoYSxiLHRoaXMpfSl9LHRyaWdnZXJIYW5kbGVyOmZ1bmN0aW9uKGEsYil7aWYodGhpc1swXSl7dmFyIGM9ZC5FdmVudChhKTtjLnByZXZlbnREZWZhdWx0KCksYy5zdG9wUHJvcGFnYXRpb24oKSxkLmV2ZW50LnRyaWdnZXIoYyxiLHRoaXNbMF0pO3JldHVybiBjLnJlc3VsdH19LHRvZ2dsZTpmdW5jdGlvbihhKXt2YXIgYj1hcmd1bWVudHMsYz0xO3doaWxlKGM8Yi5sZW5ndGgpZC5wcm94eShhLGJbYysrXSk7cmV0dXJuIHRoaXMuY2xpY2soZC5wcm94eShhLGZ1bmN0aW9uKGUpe3ZhciBmPShkLl9kYXRhKHRoaXMsImxhc3RUb2dnbGUiK2EuZ3VpZCl8fDApJWM7ZC5fZGF0YSh0aGlzLCJsYXN0VG9nZ2xlIithLmd1aWQsZisxKSxlLnByZXZlbnREZWZhdWx0KCk7cmV0dXJuIGJbZl0uYXBwbHkodGhpcyxhcmd1bWVudHMpfHwhMX0pKX0saG92ZXI6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5tb3VzZWVudGVyKGEpLm1vdXNlbGVhdmUoYnx8YSl9fSk7dmFyIEQ9e2ZvY3VzOiJmb2N1c2luIixibHVyOiJmb2N1c291dCIsbW91c2VlbnRlcjoibW91c2VvdmVyIixtb3VzZWxlYXZlOiJtb3VzZW91dCJ9O2QuZWFjaChbImxpdmUiLCJkaWUiXSxmdW5jdGlvbihhLGMpe2QuZm5bY109ZnVuY3Rpb24oYSxlLGYsZyl7dmFyIGgsaT0wLGosayxsLG09Z3x8dGhpcy5zZWxlY3RvcixuPWc/dGhpczpkKHRoaXMuY29udGV4dCk7aWYodHlwZW9mIGE9PT0ib2JqZWN0IiYmIWEucHJldmVudERlZmF1bHQpe2Zvcih2YXIgbyBpbiBhKW5bY10obyxlLGFbb10sbSk7cmV0dXJuIHRoaXN9ZC5pc0Z1bmN0aW9uKGUpJiYoZj1lLGU9YiksYT0oYXx8IiIpLnNwbGl0KCIgIik7d2hpbGUoKGg9YVtpKytdKSE9bnVsbCl7aj1wLmV4ZWMoaCksaz0iIixqJiYoaz1qWzBdLGg9aC5yZXBsYWNlKHAsIiIpKTtpZihoPT09ImhvdmVyIil7YS5wdXNoKCJtb3VzZWVudGVyIitrLCJtb3VzZWxlYXZlIitrKTtjb250aW51ZX1sPWgsaD09PSJmb2N1cyJ8fGg9PT0iYmx1ciI/KGEucHVzaChEW2hdK2spLGg9aCtrKTpoPShEW2hdfHxoKStrO2lmKGM9PT0ibGl2ZSIpZm9yKHZhciBxPTAscj1uLmxlbmd0aDtxPHI7cSsrKWQuZXZlbnQuYWRkKG5bcV0sImxpdmUuIitGKGgsbSkse2RhdGE6ZSxzZWxlY3RvcjptLGhhbmRsZXI6ZixvcmlnVHlwZTpoLG9yaWdIYW5kbGVyOmYscHJlVHlwZTpsfSk7ZWxzZSBuLnVuYmluZCgibGl2ZS4iK0YoaCxtKSxmKX1yZXR1cm4gdGhpc319KSxkLmVhY2goImJsdXIgZm9jdXMgZm9jdXNpbiBmb2N1c291dCBsb2FkIHJlc2l6ZSBzY3JvbGwgdW5sb2FkIGNsaWNrIGRibGNsaWNrIG1vdXNlZG93biBtb3VzZXVwIG1vdXNlbW92ZSBtb3VzZW92ZXIgbW91c2VvdXQgbW91c2VlbnRlciBtb3VzZWxlYXZlIGNoYW5nZSBzZWxlY3Qgc3VibWl0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgZXJyb3IiLnNwbGl0KCIgIiksZnVuY3Rpb24oYSxiKXtkLmZuW2JdPWZ1bmN0aW9uKGEsYyl7Yz09bnVsbCYmKGM9YSxhPW51bGwpO3JldHVybiBhcmd1bWVudHMubGVuZ3RoPjA/dGhpcy5iaW5kKGIsYSxjKTp0aGlzLnRyaWdnZXIoYil9LGQuYXR0ckZuJiYoZC5hdHRyRm5bYl09ITApfSksZnVuY3Rpb24oKXtmdW5jdGlvbiB1KGEsYixjLGQsZSxmKXtmb3IodmFyIGc9MCxoPWQubGVuZ3RoO2c8aDtnKyspe3ZhciBpPWRbZ107aWYoaSl7dmFyIGo9ITE7aT1pW2FdO3doaWxlKGkpe2lmKGkuc2l6Y2FjaGU9PT1jKXtqPWRbaS5zaXpzZXRdO2JyZWFrfWlmKGkubm9kZVR5cGU9PT0xKXtmfHwoaS5zaXpjYWNoZT1jLGkuc2l6c2V0PWcpO2lmKHR5cGVvZiBiIT09InN0cmluZyIpe2lmKGk9PT1iKXtqPSEwO2JyZWFrfX1lbHNlIGlmKGsuZmlsdGVyKGIsW2ldKS5sZW5ndGg+MCl7aj1pO2JyZWFrfX1pPWlbYV19ZFtnXT1qfX19ZnVuY3Rpb24gdChhLGIsYyxkLGUsZil7Zm9yKHZhciBnPTAsaD1kLmxlbmd0aDtnPGg7ZysrKXt2YXIgaT1kW2ddO2lmKGkpe3ZhciBqPSExO2k9aVthXTt3aGlsZShpKXtpZihpLnNpemNhY2hlPT09Yyl7aj1kW2kuc2l6c2V0XTticmVha31pLm5vZGVUeXBlPT09MSYmIWYmJihpLnNpemNhY2hlPWMsaS5zaXpzZXQ9Zyk7aWYoaS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09Yil7aj1pO2JyZWFrfWk9aVthXX1kW2ddPWp9fX12YXIgYT0vKCg/OlwoKD86XChbXigpXStcKXxbXigpXSspK1wpfFxbKD86XFtbXlxbXF1dKlxdfFsnIl1bXiciXSpbJyJdfFteXFtcXSciXSspK1xdfFxcLnxbXiA+K34sKFxbXFxdKykrfFs+K35dKShccyosXHMqKT8oKD86LnxccnxcbikqKS9nLGU9MCxmPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcsZz0hMSxoPSEwLGk9L1xcL2csaj0vXFcvO1swLDBdLnNvcnQoZnVuY3Rpb24oKXtoPSExO3JldHVybiAwfSk7dmFyIGs9ZnVuY3Rpb24oYixkLGUsZyl7ZT1lfHxbXSxkPWR8fGM7dmFyIGg9ZDtpZihkLm5vZGVUeXBlIT09MSYmZC5ub2RlVHlwZSE9PTkpcmV0dXJuW107aWYoIWJ8fHR5cGVvZiBiIT09InN0cmluZyIpcmV0dXJuIGU7dmFyIGksaixuLG8scSxyLHMsdCx1PSEwLHc9ay5pc1hNTChkKSx4PVtdLHk9Yjtkb3thLmV4ZWMoIiIpLGk9YS5leGVjKHkpO2lmKGkpe3k9aVszXSx4LnB1c2goaVsxXSk7aWYoaVsyXSl7bz1pWzNdO2JyZWFrfX19d2hpbGUoaSk7aWYoeC5sZW5ndGg+MSYmbS5leGVjKGIpKWlmKHgubGVuZ3RoPT09MiYmbC5yZWxhdGl2ZVt4WzBdXSlqPXYoeFswXSt4WzFdLGQpO2Vsc2V7aj1sLnJlbGF0aXZlW3hbMF1dP1tkXTprKHguc2hpZnQoKSxkKTt3aGlsZSh4Lmxlbmd0aCliPXguc2hpZnQoKSxsLnJlbGF0aXZlW2JdJiYoYis9eC5zaGlmdCgpKSxqPXYoYixqKX1lbHNleyFnJiZ4Lmxlbmd0aD4xJiZkLm5vZGVUeXBlPT09OSYmIXcmJmwubWF0Y2guSUQudGVzdCh4WzBdKSYmIWwubWF0Y2guSUQudGVzdCh4W3gubGVuZ3RoLTFdKSYmKHE9ay5maW5kKHguc2hpZnQoKSxkLHcpLGQ9cS5leHByP2suZmlsdGVyKHEuZXhwcixxLnNldClbMF06cS5zZXRbMF0pO2lmKGQpe3E9Zz97ZXhwcjp4LnBvcCgpLHNldDpwKGcpfTprLmZpbmQoeC5wb3AoKSx4Lmxlbmd0aD09PTEmJih4WzBdPT09In4ifHx4WzBdPT09IisiKSYmZC5wYXJlbnROb2RlP2QucGFyZW50Tm9kZTpkLHcpLGo9cS5leHByP2suZmlsdGVyKHEuZXhwcixxLnNldCk6cS5zZXQseC5sZW5ndGg+MD9uPXAoaik6dT0hMTt3aGlsZSh4Lmxlbmd0aClyPXgucG9wKCkscz1yLGwucmVsYXRpdmVbcl0/cz14LnBvcCgpOnI9IiIscz09bnVsbCYmKHM9ZCksbC5yZWxhdGl2ZVtyXShuLHMsdyl9ZWxzZSBuPXg9W119bnx8KG49aiksbnx8ay5lcnJvcihyfHxiKTtpZihmLmNhbGwobik9PT0iW29iamVjdCBBcnJheV0iKWlmKHUpaWYoZCYmZC5ub2RlVHlwZT09PTEpZm9yKHQ9MDtuW3RdIT1udWxsO3QrKyluW3RdJiYoblt0XT09PSEwfHxuW3RdLm5vZGVUeXBlPT09MSYmay5jb250YWlucyhkLG5bdF0pKSYmZS5wdXNoKGpbdF0pO2Vsc2UgZm9yKHQ9MDtuW3RdIT1udWxsO3QrKyluW3RdJiZuW3RdLm5vZGVUeXBlPT09MSYmZS5wdXNoKGpbdF0pO2Vsc2UgZS5wdXNoLmFwcGx5KGUsbik7ZWxzZSBwKG4sZSk7byYmKGsobyxoLGUsZyksay51bmlxdWVTb3J0KGUpKTtyZXR1cm4gZX07ay51bmlxdWVTb3J0PWZ1bmN0aW9uKGEpe2lmKHIpe2c9aCxhLnNvcnQocik7aWYoZylmb3IodmFyIGI9MTtiPGEubGVuZ3RoO2IrKylhW2JdPT09YVtiLTFdJiZhLnNwbGljZShiLS0sMSl9cmV0dXJuIGF9LGsubWF0Y2hlcz1mdW5jdGlvbihhLGIpe3JldHVybiBrKGEsbnVsbCxudWxsLGIpfSxrLm1hdGNoZXNTZWxlY3Rvcj1mdW5jdGlvbihhLGIpe3JldHVybiBrKGIsbnVsbCxudWxsLFthXSkubGVuZ3RoPjB9LGsuZmluZD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ7aWYoIWEpcmV0dXJuW107Zm9yKHZhciBlPTAsZj1sLm9yZGVyLmxlbmd0aDtlPGY7ZSsrKXt2YXIgZyxoPWwub3JkZXJbZV07aWYoZz1sLmxlZnRNYXRjaFtoXS5leGVjKGEpKXt2YXIgaj1nWzFdO2cuc3BsaWNlKDEsMSk7aWYoai5zdWJzdHIoai5sZW5ndGgtMSkhPT0iXFwiKXtnWzFdPShnWzFdfHwiIikucmVwbGFjZShpLCIiKSxkPWwuZmluZFtoXShnLGIsYyk7aWYoZCE9bnVsbCl7YT1hLnJlcGxhY2UobC5tYXRjaFtoXSwiIik7YnJlYWt9fX19ZHx8KGQ9dHlwZW9mIGIuZ2V0RWxlbWVudHNCeVRhZ05hbWUhPT0idW5kZWZpbmVkIj9iLmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIik6W10pO3JldHVybntzZXQ6ZCxleHByOmF9fSxrLmZpbHRlcj1mdW5jdGlvbihhLGMsZCxlKXt2YXIgZixnLGg9YSxpPVtdLGo9YyxtPWMmJmNbMF0mJmsuaXNYTUwoY1swXSk7d2hpbGUoYSYmYy5sZW5ndGgpe2Zvcih2YXIgbiBpbiBsLmZpbHRlcilpZigoZj1sLmxlZnRNYXRjaFtuXS5leGVjKGEpKSE9bnVsbCYmZlsyXSl7dmFyIG8scCxxPWwuZmlsdGVyW25dLHI9ZlsxXTtnPSExLGYuc3BsaWNlKDEsMSk7aWYoci5zdWJzdHIoci5sZW5ndGgtMSk9PT0iXFwiKWNvbnRpbnVlO2o9PT1pJiYoaT1bXSk7aWYobC5wcmVGaWx0ZXJbbl0pe2Y9bC5wcmVGaWx0ZXJbbl0oZixqLGQsaSxlLG0pO2lmKGYpe2lmKGY9PT0hMCljb250aW51ZX1lbHNlIGc9bz0hMH1pZihmKWZvcih2YXIgcz0wOyhwPWpbc10pIT1udWxsO3MrKylpZihwKXtvPXEocCxmLHMsaik7dmFyIHQ9ZV4hIW87ZCYmbyE9bnVsbD90P2c9ITA6altzXT0hMTp0JiYoaS5wdXNoKHApLGc9ITApfWlmKG8hPT1iKXtkfHwoaj1pKSxhPWEucmVwbGFjZShsLm1hdGNoW25dLCIiKTtpZighZylyZXR1cm5bXTticmVha319aWYoYT09PWgpaWYoZz09bnVsbClrLmVycm9yKGEpO2Vsc2UgYnJlYWs7aD1hfXJldHVybiBqfSxrLmVycm9yPWZ1bmN0aW9uKGEpe3Rocm93IlN5bnRheCBlcnJvciwgdW5yZWNvZ25pemVkIGV4cHJlc3Npb246ICIrYX07dmFyIGw9ay5zZWxlY3RvcnM9e29yZGVyOlsiSUQiLCJOQU1FIiwiVEFHIl0sbWF0Y2g6e0lEOi8jKCg/Oltcd1x1MDBjMC1cdUZGRkZcLV18XFwuKSspLyxDTEFTUzovXC4oKD86W1x3XHUwMGMwLVx1RkZGRlwtXXxcXC4pKykvLE5BTUU6L1xbbmFtZT1bJyJdKigoPzpbXHdcdTAwYzAtXHVGRkZGXC1dfFxcLikrKVsnIl0qXF0vLEFUVFI6L1xbXHMqKCg/Oltcd1x1MDBjMC1cdUZGRkZcLV18XFwuKSspXHMqKD86KFxTPz0pXHMqKD86KFsnIl0pKC4qPylcM3woIz8oPzpbXHdcdTAwYzAtXHVGRkZGXC1dfFxcLikqKXwpfClccypcXS8sVEFHOi9eKCg/Oltcd1x1MDBjMC1cdUZGRkZcKlwtXXxcXC4pKykvLENISUxEOi86KG9ubHl8bnRofGxhc3R8Zmlyc3QpLWNoaWxkKD86XChccyooZXZlbnxvZGR8KD86WytcLV0/XGQrfCg/OlsrXC1dP1xkKik/blxzKig/OlsrXC1dXHMqXGQrKT8pKVxzKlwpKT8vLFBPUzovOihudGh8ZXF8Z3R8bHR8Zmlyc3R8bGFzdHxldmVufG9kZCkoPzpcKChcZCopXCkpPyg/PVteXC1dfCQpLyxQU0VVRE86LzooKD86W1x3XHUwMGMwLVx1RkZGRlwtXXxcXC4pKykoPzpcKChbJyJdPykoKD86XChbXlwpXStcKXxbXlwoXCldKikrKVwyXCkpPy99LGxlZnRNYXRjaDp7fSxhdHRyTWFwOnsiY2xhc3MiOiJjbGFzc05hbWUiLCJmb3IiOiJodG1sRm9yIn0sYXR0ckhhbmRsZTp7aHJlZjpmdW5jdGlvbihhKXtyZXR1cm4gYS5nZXRBdHRyaWJ1dGUoImhyZWYiKX0sdHlwZTpmdW5jdGlvbihhKXtyZXR1cm4gYS5nZXRBdHRyaWJ1dGUoInR5cGUiKX19LHJlbGF0aXZlOnsiKyI6ZnVuY3Rpb24oYSxiKXt2YXIgYz10eXBlb2YgYj09PSJzdHJpbmciLGQ9YyYmIWoudGVzdChiKSxlPWMmJiFkO2QmJihiPWIudG9Mb3dlckNhc2UoKSk7Zm9yKHZhciBmPTAsZz1hLmxlbmd0aCxoO2Y8ZztmKyspaWYoaD1hW2ZdKXt3aGlsZSgoaD1oLnByZXZpb3VzU2libGluZykmJmgubm9kZVR5cGUhPT0xKXt9YVtmXT1lfHxoJiZoLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1iP2h8fCExOmg9PT1ifWUmJmsuZmlsdGVyKGIsYSwhMCl9LCI+IjpmdW5jdGlvbihhLGIpe3ZhciBjLGQ9dHlwZW9mIGI9PT0ic3RyaW5nIixlPTAsZj1hLmxlbmd0aDtpZihkJiYhai50ZXN0KGIpKXtiPWIudG9Mb3dlckNhc2UoKTtmb3IoO2U8ZjtlKyspe2M9YVtlXTtpZihjKXt2YXIgZz1jLnBhcmVudE5vZGU7YVtlXT1nLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1iP2c6ITF9fX1lbHNle2Zvcig7ZTxmO2UrKyljPWFbZV0sYyYmKGFbZV09ZD9jLnBhcmVudE5vZGU6Yy5wYXJlbnROb2RlPT09Yik7ZCYmay5maWx0ZXIoYixhLCEwKX19LCIiOmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxmPWUrKyxnPXU7dHlwZW9mIGI9PT0ic3RyaW5nIiYmIWoudGVzdChiKSYmKGI9Yi50b0xvd2VyQ2FzZSgpLGQ9YixnPXQpLGcoInBhcmVudE5vZGUiLGIsZixhLGQsYyl9LCJ+IjpmdW5jdGlvbihhLGIsYyl7dmFyIGQsZj1lKyssZz11O3R5cGVvZiBiPT09InN0cmluZyImJiFqLnRlc3QoYikmJihiPWIudG9Mb3dlckNhc2UoKSxkPWIsZz10KSxnKCJwcmV2aW91c1NpYmxpbmciLGIsZixhLGQsYyl9fSxmaW5kOntJRDpmdW5jdGlvbihhLGIsYyl7aWYodHlwZW9mIGIuZ2V0RWxlbWVudEJ5SWQhPT0idW5kZWZpbmVkIiYmIWMpe3ZhciBkPWIuZ2V0RWxlbWVudEJ5SWQoYVsxXSk7cmV0dXJuIGQmJmQucGFyZW50Tm9kZT9bZF06W119fSxOQU1FOmZ1bmN0aW9uKGEsYil7aWYodHlwZW9mIGIuZ2V0RWxlbWVudHNCeU5hbWUhPT0idW5kZWZpbmVkIil7dmFyIGM9W10sZD1iLmdldEVsZW1lbnRzQnlOYW1lKGFbMV0pO2Zvcih2YXIgZT0wLGY9ZC5sZW5ndGg7ZTxmO2UrKylkW2VdLmdldEF0dHJpYnV0ZSgibmFtZSIpPT09YVsxXSYmYy5wdXNoKGRbZV0pO3JldHVybiBjLmxlbmd0aD09PTA/bnVsbDpjfX0sVEFHOmZ1bmN0aW9uKGEsYil7aWYodHlwZW9mIGIuZ2V0RWxlbWVudHNCeVRhZ05hbWUhPT0idW5kZWZpbmVkIilyZXR1cm4gYi5nZXRFbGVtZW50c0J5VGFnTmFtZShhWzFdKX19LHByZUZpbHRlcjp7Q0xBU1M6ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe2E9IiAiK2FbMV0ucmVwbGFjZShpLCIiKSsiICI7aWYoZilyZXR1cm4gYTtmb3IodmFyIGc9MCxoOyhoPWJbZ10pIT1udWxsO2crKyloJiYoZV4oaC5jbGFzc05hbWUmJigiICIraC5jbGFzc05hbWUrIiAiKS5yZXBsYWNlKC9bXHRcblxyXS9nLCIgIikuaW5kZXhPZihhKT49MCk/Y3x8ZC5wdXNoKGgpOmMmJihiW2ddPSExKSk7cmV0dXJuITF9LElEOmZ1bmN0aW9uKGEpe3JldHVybiBhWzFdLnJlcGxhY2UoaSwiIil9LFRBRzpmdW5jdGlvbihhLGIpe3JldHVybiBhWzFdLnJlcGxhY2UoaSwiIikudG9Mb3dlckNhc2UoKX0sQ0hJTEQ6ZnVuY3Rpb24oYSl7aWYoYVsxXT09PSJudGgiKXthWzJdfHxrLmVycm9yKGFbMF0pLGFbMl09YVsyXS5yZXBsYWNlKC9eXCt8XHMqL2csIiIpO3ZhciBiPS8oLT8pKFxkKikoPzpuKFsrXC1dP1xkKikpPy8uZXhlYyhhWzJdPT09ImV2ZW4iJiYiMm4ifHxhWzJdPT09Im9kZCImJiIybisxInx8IS9cRC8udGVzdChhWzJdKSYmIjBuKyIrYVsyXXx8YVsyXSk7YVsyXT1iWzFdKyhiWzJdfHwxKS0wLGFbM109YlszXS0wfWVsc2UgYVsyXSYmay5lcnJvcihhWzBdKTthWzBdPWUrKztyZXR1cm4gYX0sQVRUUjpmdW5jdGlvbihhLGIsYyxkLGUsZil7dmFyIGc9YVsxXT1hWzFdLnJlcGxhY2UoaSwiIik7IWYmJmwuYXR0ck1hcFtnXSYmKGFbMV09bC5hdHRyTWFwW2ddKSxhWzRdPShhWzRdfHxhWzVdfHwiIikucmVwbGFjZShpLCIiKSxhWzJdPT09In49IiYmKGFbNF09IiAiK2FbNF0rIiAiKTtyZXR1cm4gYX0sUFNFVURPOmZ1bmN0aW9uKGIsYyxkLGUsZil7aWYoYlsxXT09PSJub3QiKWlmKChhLmV4ZWMoYlszXSl8fCIiKS5sZW5ndGg+MXx8L15cdy8udGVzdChiWzNdKSliWzNdPWsoYlszXSxudWxsLG51bGwsYyk7ZWxzZXt2YXIgZz1rLmZpbHRlcihiWzNdLGMsZCwhMF5mKTtkfHxlLnB1c2guYXBwbHkoZSxnKTtyZXR1cm4hMX1lbHNlIGlmKGwubWF0Y2guUE9TLnRlc3QoYlswXSl8fGwubWF0Y2guQ0hJTEQudGVzdChiWzBdKSlyZXR1cm4hMDtyZXR1cm4gYn0sUE9TOmZ1bmN0aW9uKGEpe2EudW5zaGlmdCghMCk7cmV0dXJuIGF9fSxmaWx0ZXJzOntlbmFibGVkOmZ1bmN0aW9uKGEpe3JldHVybiBhLmRpc2FibGVkPT09ITEmJmEudHlwZSE9PSJoaWRkZW4ifSxkaXNhYmxlZDpmdW5jdGlvbihhKXtyZXR1cm4gYS5kaXNhYmxlZD09PSEwfSxjaGVja2VkOmZ1bmN0aW9uKGEpe3JldHVybiBhLmNoZWNrZWQ9PT0hMH0sc2VsZWN0ZWQ6ZnVuY3Rpb24oYSl7YS5wYXJlbnROb2RlJiZhLnBhcmVudE5vZGUuc2VsZWN0ZWRJbmRleDtyZXR1cm4gYS5zZWxlY3RlZD09PSEwfSxwYXJlbnQ6ZnVuY3Rpb24oYSl7cmV0dXJuISFhLmZpcnN0Q2hpbGR9LGVtcHR5OmZ1bmN0aW9uKGEpe3JldHVybiFhLmZpcnN0Q2hpbGR9LGhhczpmdW5jdGlvbihhLGIsYyl7cmV0dXJuISFrKGNbM10sYSkubGVuZ3RofSxoZWFkZXI6ZnVuY3Rpb24oYSl7cmV0dXJuL2hcZC9pLnRlc3QoYS5ub2RlTmFtZSl9LHRleHQ6ZnVuY3Rpb24oYSl7cmV0dXJuInRleHQiPT09YS5nZXRBdHRyaWJ1dGUoInR5cGUiKX0scmFkaW86ZnVuY3Rpb24oYSl7cmV0dXJuInJhZGlvIj09PWEudHlwZX0sY2hlY2tib3g6ZnVuY3Rpb24oYSl7cmV0dXJuImNoZWNrYm94Ij09PWEudHlwZX0sZmlsZTpmdW5jdGlvbihhKXtyZXR1cm4iZmlsZSI9PT1hLnR5cGV9LHBhc3N3b3JkOmZ1bmN0aW9uKGEpe3JldHVybiJwYXNzd29yZCI9PT1hLnR5cGV9LHN1Ym1pdDpmdW5jdGlvbihhKXtyZXR1cm4ic3VibWl0Ij09PWEudHlwZX0saW1hZ2U6ZnVuY3Rpb24oYSl7cmV0dXJuImltYWdlIj09PWEudHlwZX0scmVzZXQ6ZnVuY3Rpb24oYSl7cmV0dXJuInJlc2V0Ij09PWEudHlwZX0sYnV0dG9uOmZ1bmN0aW9uKGEpe3JldHVybiJidXR0b24iPT09YS50eXBlfHxhLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT0iYnV0dG9uIn0saW5wdXQ6ZnVuY3Rpb24oYSl7cmV0dXJuL2lucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b24vaS50ZXN0KGEubm9kZU5hbWUpfX0sc2V0RmlsdGVyczp7Zmlyc3Q6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYj09PTB9LGxhc3Q6ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIGI9PT1kLmxlbmd0aC0xfSxldmVuOmZ1bmN0aW9uKGEsYil7cmV0dXJuIGIlMj09PTB9LG9kZDpmdW5jdGlvbihhLGIpe3JldHVybiBiJTI9PT0xfSxsdDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGI8Y1szXS0wfSxndDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGI+Y1szXS0wfSxudGg6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBjWzNdLTA9PT1ifSxlcTpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGNbM10tMD09PWJ9fSxmaWx0ZXI6e1BTRVVETzpmdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1iWzFdLGY9bC5maWx0ZXJzW2VdO2lmKGYpcmV0dXJuIGYoYSxjLGIsZCk7aWYoZT09PSJjb250YWlucyIpcmV0dXJuKGEudGV4dENvbnRlbnR8fGEuaW5uZXJUZXh0fHxrLmdldFRleHQoW2FdKXx8IiIpLmluZGV4T2YoYlszXSk+PTA7aWYoZT09PSJub3QiKXt2YXIgZz1iWzNdO2Zvcih2YXIgaD0wLGk9Zy5sZW5ndGg7aDxpO2grKylpZihnW2hdPT09YSlyZXR1cm4hMTtyZXR1cm4hMH1rLmVycm9yKGUpfSxDSElMRDpmdW5jdGlvbihhLGIpe3ZhciBjPWJbMV0sZD1hO3N3aXRjaChjKXtjYXNlIm9ubHkiOmNhc2UiZmlyc3QiOndoaWxlKGQ9ZC5wcmV2aW91c1NpYmxpbmcpaWYoZC5ub2RlVHlwZT09PTEpcmV0dXJuITE7aWYoYz09PSJmaXJzdCIpcmV0dXJuITA7ZD1hO2Nhc2UibGFzdCI6d2hpbGUoZD1kLm5leHRTaWJsaW5nKWlmKGQubm9kZVR5cGU9PT0xKXJldHVybiExO3JldHVybiEwO2Nhc2UibnRoIjp2YXIgZT1iWzJdLGY9YlszXTtpZihlPT09MSYmZj09PTApcmV0dXJuITA7dmFyIGc9YlswXSxoPWEucGFyZW50Tm9kZTtpZihoJiYoaC5zaXpjYWNoZSE9PWd8fCFhLm5vZGVJbmRleCkpe3ZhciBpPTA7Zm9yKGQ9aC5maXJzdENoaWxkO2Q7ZD1kLm5leHRTaWJsaW5nKWQubm9kZVR5cGU9PT0xJiYoZC5ub2RlSW5kZXg9KytpKTtoLnNpemNhY2hlPWd9dmFyIGo9YS5ub2RlSW5kZXgtZjtyZXR1cm4gZT09PTA/aj09PTA6aiVlPT09MCYmai9lPj0wfX0sSUQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5ub2RlVHlwZT09PTEmJmEuZ2V0QXR0cmlidXRlKCJpZCIpPT09Yn0sVEFHOmZ1bmN0aW9uKGEsYil7cmV0dXJuIGI9PT0iKiImJmEubm9kZVR5cGU9PT0xfHxhLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1ifSxDTEFTUzpmdW5jdGlvbihhLGIpe3JldHVybigiICIrKGEuY2xhc3NOYW1lfHxhLmdldEF0dHJpYnV0ZSgiY2xhc3MiKSkrIiAiKS5pbmRleE9mKGIpPi0xfSxBVFRSOmZ1bmN0aW9uKGEsYil7dmFyIGM9YlsxXSxkPWwuYXR0ckhhbmRsZVtjXT9sLmF0dHJIYW5kbGVbY10oYSk6YVtjXSE9bnVsbD9hW2NdOmEuZ2V0QXR0cmlidXRlKGMpLGU9ZCsiIixmPWJbMl0sZz1iWzRdO3JldHVybiBkPT1udWxsP2Y9PT0iIT0iOmY9PT0iPSI/ZT09PWc6Zj09PSIqPSI/ZS5pbmRleE9mKGcpPj0wOmY9PT0ifj0iPygiICIrZSsiICIpLmluZGV4T2YoZyk+PTA6Zz9mPT09IiE9Ij9lIT09ZzpmPT09Il49Ij9lLmluZGV4T2YoZyk9PT0wOmY9PT0iJD0iP2Uuc3Vic3RyKGUubGVuZ3RoLWcubGVuZ3RoKT09PWc6Zj09PSJ8PSI/ZT09PWd8fGUuc3Vic3RyKDAsZy5sZW5ndGgrMSk9PT1nKyItIjohMTplJiZkIT09ITF9LFBPUzpmdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1iWzJdLGY9bC5zZXRGaWx0ZXJzW2VdO2lmKGYpcmV0dXJuIGYoYSxjLGIsZCl9fX0sbT1sLm1hdGNoLlBPUyxuPWZ1bmN0aW9uKGEsYil7cmV0dXJuIlxcIisoYi0wKzEpfTtmb3IodmFyIG8gaW4gbC5tYXRjaClsLm1hdGNoW29dPW5ldyBSZWdFeHAobC5tYXRjaFtvXS5zb3VyY2UrLyg/IVteXFtdKlxdKSg/IVteXChdKlwpKS8uc291cmNlKSxsLmxlZnRNYXRjaFtvXT1uZXcgUmVnRXhwKC8oXig/Oi58XHJ8XG4pKj8pLy5zb3VyY2UrbC5tYXRjaFtvXS5zb3VyY2UucmVwbGFjZSgvXFwoXGQrKS9nLG4pKTt2YXIgcD1mdW5jdGlvbihhLGIpe2E9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYSwwKTtpZihiKXtiLnB1c2guYXBwbHkoYixhKTtyZXR1cm4gYn1yZXR1cm4gYX07dHJ5e0FycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGMuZG9jdW1lbnRFbGVtZW50LmNoaWxkTm9kZXMsMClbMF0ubm9kZVR5cGV9Y2F0Y2gocSl7cD1mdW5jdGlvbihhLGIpe3ZhciBjPTAsZD1ifHxbXTtpZihmLmNhbGwoYSk9PT0iW29iamVjdCBBcnJheV0iKUFycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KGQsYSk7ZWxzZSBpZih0eXBlb2YgYS5sZW5ndGg9PT0ibnVtYmVyIilmb3IodmFyIGU9YS5sZW5ndGg7YzxlO2MrKylkLnB1c2goYVtjXSk7ZWxzZSBmb3IoO2FbY107YysrKWQucHVzaChhW2NdKTtyZXR1cm4gZH19dmFyIHIscztjLmRvY3VtZW50RWxlbWVudC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbj9yPWZ1bmN0aW9uKGEsYil7aWYoYT09PWIpe2c9ITA7cmV0dXJuIDB9aWYoIWEuY29tcGFyZURvY3VtZW50UG9zaXRpb258fCFiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKXJldHVybiBhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uPy0xOjE7cmV0dXJuIGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikmND8tMToxfToocj1mdW5jdGlvbihhLGIpe3ZhciBjLGQsZT1bXSxmPVtdLGg9YS5wYXJlbnROb2RlLGk9Yi5wYXJlbnROb2RlLGo9aDtpZihhPT09Yil7Zz0hMDtyZXR1cm4gMH1pZihoPT09aSlyZXR1cm4gcyhhLGIpO2lmKCFoKXJldHVybi0xO2lmKCFpKXJldHVybiAxO3doaWxlKGopZS51bnNoaWZ0KGopLGo9ai5wYXJlbnROb2RlO2o9aTt3aGlsZShqKWYudW5zaGlmdChqKSxqPWoucGFyZW50Tm9kZTtjPWUubGVuZ3RoLGQ9Zi5sZW5ndGg7Zm9yKHZhciBrPTA7azxjJiZrPGQ7aysrKWlmKGVba10hPT1mW2tdKXJldHVybiBzKGVba10sZltrXSk7cmV0dXJuIGs9PT1jP3MoYSxmW2tdLC0xKTpzKGVba10sYiwxKX0scz1mdW5jdGlvbihhLGIsYyl7aWYoYT09PWIpcmV0dXJuIGM7dmFyIGQ9YS5uZXh0U2libGluZzt3aGlsZShkKXtpZihkPT09YilyZXR1cm4tMTtkPWQubmV4dFNpYmxpbmd9cmV0dXJuIDF9KSxrLmdldFRleHQ9ZnVuY3Rpb24oYSl7dmFyIGI9IiIsYztmb3IodmFyIGQ9MDthW2RdO2QrKyljPWFbZF0sYy5ub2RlVHlwZT09PTN8fGMubm9kZVR5cGU9PT00P2IrPWMubm9kZVZhbHVlOmMubm9kZVR5cGUhPT04JiYoYis9ay5nZXRUZXh0KGMuY2hpbGROb2RlcykpO3JldHVybiBifSxmdW5jdGlvbigpe3ZhciBhPWMuY3JlYXRlRWxlbWVudCgiZGl2IiksZD0ic2NyaXB0IisobmV3IERhdGUpLmdldFRpbWUoKSxlPWMuZG9jdW1lbnRFbGVtZW50O2EuaW5uZXJIVE1MPSI8YSBuYW1lPSciK2QrIicvPiIsZS5pbnNlcnRCZWZvcmUoYSxlLmZpcnN0Q2hpbGQpLGMuZ2V0RWxlbWVudEJ5SWQoZCkmJihsLmZpbmQuSUQ9ZnVuY3Rpb24oYSxjLGQpe2lmKHR5cGVvZiBjLmdldEVsZW1lbnRCeUlkIT09InVuZGVmaW5lZCImJiFkKXt2YXIgZT1jLmdldEVsZW1lbnRCeUlkKGFbMV0pO3JldHVybiBlP2UuaWQ9PT1hWzFdfHx0eXBlb2YgZS5nZXRBdHRyaWJ1dGVOb2RlIT09InVuZGVmaW5lZCImJmUuZ2V0QXR0cmlidXRlTm9kZSgiaWQiKS5ub2RlVmFsdWU9PT1hWzFdP1tlXTpiOltdfX0sbC5maWx0ZXIuSUQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz10eXBlb2YgYS5nZXRBdHRyaWJ1dGVOb2RlIT09InVuZGVmaW5lZCImJmEuZ2V0QXR0cmlidXRlTm9kZSgiaWQiKTtyZXR1cm4gYS5ub2RlVHlwZT09PTEmJmMmJmMubm9kZVZhbHVlPT09Yn0pLGUucmVtb3ZlQ2hpbGQoYSksZT1hPW51bGx9KCksZnVuY3Rpb24oKXt2YXIgYT1jLmNyZWF0ZUVsZW1lbnQoImRpdiIpO2EuYXBwZW5kQ2hpbGQoYy5jcmVhdGVDb21tZW50KCIiKSksYS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpLmxlbmd0aD4wJiYobC5maW5kLlRBRz1mdW5jdGlvbihhLGIpe3ZhciBjPWIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoYVsxXSk7aWYoYVsxXT09PSIqIil7dmFyIGQ9W107Zm9yKHZhciBlPTA7Y1tlXTtlKyspY1tlXS5ub2RlVHlwZT09PTEmJmQucHVzaChjW2VdKTtjPWR9cmV0dXJuIGN9KSxhLmlubmVySFRNTD0iPGEgaHJlZj0nIyc+PC9hPiIsYS5maXJzdENoaWxkJiZ0eXBlb2YgYS5maXJzdENoaWxkLmdldEF0dHJpYnV0ZSE9PSJ1bmRlZmluZWQiJiZhLmZpcnN0Q2hpbGQuZ2V0QXR0cmlidXRlKCJocmVmIikhPT0iIyImJihsLmF0dHJIYW5kbGUuaHJlZj1mdW5jdGlvbihhKXtyZXR1cm4gYS5nZXRBdHRyaWJ1dGUoImhyZWYiLDIpfSksYT1udWxsfSgpLGMucXVlcnlTZWxlY3RvckFsbCYmZnVuY3Rpb24oKXt2YXIgYT1rLGI9Yy5jcmVhdGVFbGVtZW50KCJkaXYiKSxkPSJfX3NpenpsZV9fIjtiLmlubmVySFRNTD0iPHAgY2xhc3M9J1RFU1QnPjwvcD4iO2lmKCFiLnF1ZXJ5U2VsZWN0b3JBbGx8fGIucXVlcnlTZWxlY3RvckFsbCgiLlRFU1QiKS5sZW5ndGghPT0wKXtrPWZ1bmN0aW9uKGIsZSxmLGcpe2U9ZXx8YztpZighZyYmIWsuaXNYTUwoZSkpe3ZhciBoPS9eKFx3KyQpfF5cLihbXHdcLV0rJCl8XiMoW1x3XC1dKyQpLy5leGVjKGIpO2lmKGgmJihlLm5vZGVUeXBlPT09MXx8ZS5ub2RlVHlwZT09PTkpKXtpZihoWzFdKXJldHVybiBwKGUuZ2V0RWxlbWVudHNCeVRhZ05hbWUoYiksZik7aWYoaFsyXSYmbC5maW5kLkNMQVNTJiZlLmdldEVsZW1lbnRzQnlDbGFzc05hbWUpcmV0dXJuIHAoZS5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGhbMl0pLGYpfWlmKGUubm9kZVR5cGU9PT05KXtpZihiPT09ImJvZHkiJiZlLmJvZHkpcmV0dXJuIHAoW2UuYm9keV0sZik7aWYoaCYmaFszXSl7dmFyIGk9ZS5nZXRFbGVtZW50QnlJZChoWzNdKTtpZighaXx8IWkucGFyZW50Tm9kZSlyZXR1cm4gcChbXSxmKTtpZihpLmlkPT09aFszXSlyZXR1cm4gcChbaV0sZil9dHJ5e3JldHVybiBwKGUucXVlcnlTZWxlY3RvckFsbChiKSxmKX1jYXRjaChqKXt9fWVsc2UgaWYoZS5ub2RlVHlwZT09PTEmJmUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSE9PSJvYmplY3QiKXt2YXIgbT1lLG49ZS5nZXRBdHRyaWJ1dGUoImlkIiksbz1ufHxkLHE9ZS5wYXJlbnROb2RlLHI9L15ccypbK35dLy50ZXN0KGIpO24/bz1vLnJlcGxhY2UoLycvZywiXFwkJiIpOmUuc2V0QXR0cmlidXRlKCJpZCIsbyksciYmcSYmKGU9ZS5wYXJlbnROb2RlKTt0cnl7aWYoIXJ8fHEpcmV0dXJuIHAoZS5xdWVyeVNlbGVjdG9yQWxsKCJbaWQ9JyIrbysiJ10gIitiKSxmKX1jYXRjaChzKXt9ZmluYWxseXtufHxtLnJlbW92ZUF0dHJpYnV0ZSgiaWQiKX19fXJldHVybiBhKGIsZSxmLGcpfTtmb3IodmFyIGUgaW4gYSlrW2VdPWFbZV07Yj1udWxsfX0oKSxmdW5jdGlvbigpe3ZhciBhPWMuZG9jdW1lbnRFbGVtZW50LGI9YS5tYXRjaGVzU2VsZWN0b3J8fGEubW96TWF0Y2hlc1NlbGVjdG9yfHxhLndlYmtpdE1hdGNoZXNTZWxlY3Rvcnx8YS5tc01hdGNoZXNTZWxlY3RvcixkPSExO3RyeXtiLmNhbGwoYy5kb2N1bWVudEVsZW1lbnQsIlt0ZXN0IT0nJ106c2l6emxlIil9Y2F0Y2goZSl7ZD0hMH1iJiYoay5tYXRjaGVzU2VsZWN0b3I9ZnVuY3Rpb24oYSxjKXtjPWMucmVwbGFjZSgvXD1ccyooW14nIlxdXSopXHMqXF0vZywiPSckMSddIik7aWYoIWsuaXNYTUwoYSkpdHJ5e2lmKGR8fCFsLm1hdGNoLlBTRVVETy50ZXN0KGMpJiYhLyE9Ly50ZXN0KGMpKXJldHVybiBiLmNhbGwoYSxjKX1jYXRjaChlKXt9cmV0dXJuIGsoYyxudWxsLG51bGwsW2FdKS5sZW5ndGg+MH0pfSgpLGZ1bmN0aW9uKCl7dmFyIGE9Yy5jcmVhdGVFbGVtZW50KCJkaXYiKTthLmlubmVySFRNTD0iPGRpdiBjbGFzcz0ndGVzdCBlJz48L2Rpdj48ZGl2IGNsYXNzPSd0ZXN0Jz48L2Rpdj4iO2lmKGEuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSYmYS5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJlIikubGVuZ3RoIT09MCl7YS5sYXN0Q2hpbGQuY2xhc3NOYW1lPSJlIjtpZihhLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoImUiKS5sZW5ndGg9PT0xKXJldHVybjtsLm9yZGVyLnNwbGljZSgxLDAsIkNMQVNTIiksbC5maW5kLkNMQVNTPWZ1bmN0aW9uKGEsYixjKXtpZih0eXBlb2YgYi5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lIT09InVuZGVmaW5lZCImJiFjKXJldHVybiBiLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoYVsxXSl9LGE9bnVsbH19KCksYy5kb2N1bWVudEVsZW1lbnQuY29udGFpbnM/ay5jb250YWlucz1mdW5jdGlvbihhLGIpe3JldHVybiBhIT09YiYmKGEuY29udGFpbnM/YS5jb250YWlucyhiKTohMCl9OmMuZG9jdW1lbnRFbGVtZW50LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uP2suY29udGFpbnM9ZnVuY3Rpb24oYSxiKXtyZXR1cm4hIShhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpJjE2KX06ay5jb250YWlucz1mdW5jdGlvbigpe3JldHVybiExfSxrLmlzWE1MPWZ1bmN0aW9uKGEpe3ZhciBiPShhP2Eub3duZXJEb2N1bWVudHx8YTowKS5kb2N1bWVudEVsZW1lbnQ7cmV0dXJuIGI/Yi5ub2RlTmFtZSE9PSJIVE1MIjohMX07dmFyIHY9ZnVuY3Rpb24oYSxiKXt2YXIgYyxkPVtdLGU9IiIsZj1iLm5vZGVUeXBlP1tiXTpiO3doaWxlKGM9bC5tYXRjaC5QU0VVRE8uZXhlYyhhKSllKz1jWzBdLGE9YS5yZXBsYWNlKGwubWF0Y2guUFNFVURPLCIiKTthPWwucmVsYXRpdmVbYV0/YSsiKiI6YTtmb3IodmFyIGc9MCxoPWYubGVuZ3RoO2c8aDtnKyspayhhLGZbZ10sZCk7cmV0dXJuIGsuZmlsdGVyKGUsZCl9O2QuZmluZD1rLGQuZXhwcj1rLnNlbGVjdG9ycyxkLmV4cHJbIjoiXT1kLmV4cHIuZmlsdGVycyxkLnVuaXF1ZT1rLnVuaXF1ZVNvcnQsZC50ZXh0PWsuZ2V0VGV4dCxkLmlzWE1MRG9jPWsuaXNYTUwsZC5jb250YWlucz1rLmNvbnRhaW5zfSgpO3ZhciBHPS9VbnRpbCQvLEg9L14oPzpwYXJlbnRzfHByZXZVbnRpbHxwcmV2QWxsKS8sST0vLC8sSj0vXi5bXjojXFtcLixdKiQvLEs9QXJyYXkucHJvdG90eXBlLnNsaWNlLEw9ZC5leHByLm1hdGNoLlBPUyxNPXtjaGlsZHJlbjohMCxjb250ZW50czohMCxuZXh0OiEwLHByZXY6ITB9O2QuZm4uZXh0ZW5kKHtmaW5kOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMucHVzaFN0YWNrKCIiLCJmaW5kIixhKSxjPTA7Zm9yKHZhciBlPTAsZj10aGlzLmxlbmd0aDtlPGY7ZSsrKXtjPWIubGVuZ3RoLGQuZmluZChhLHRoaXNbZV0sYik7aWYoZT4wKWZvcih2YXIgZz1jO2c8Yi5sZW5ndGg7ZysrKWZvcih2YXIgaD0wO2g8YztoKyspaWYoYltoXT09PWJbZ10pe2Iuc3BsaWNlKGctLSwxKTticmVha319cmV0dXJuIGJ9LGhhczpmdW5jdGlvbihhKXt2YXIgYj1kKGEpO3JldHVybiB0aGlzLmZpbHRlcihmdW5jdGlvbigpe2Zvcih2YXIgYT0wLGM9Yi5sZW5ndGg7YTxjO2ErKylpZihkLmNvbnRhaW5zKHRoaXMsYlthXSkpcmV0dXJuITB9KX0sbm90OmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnB1c2hTdGFjayhPKHRoaXMsYSwhMSksIm5vdCIsYSl9LGZpbHRlcjpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soTyh0aGlzLGEsITApLCJmaWx0ZXIiLGEpfSxpczpmdW5jdGlvbihhKXtyZXR1cm4hIWEmJmQuZmlsdGVyKGEsdGhpcykubGVuZ3RoPjB9LGNsb3Nlc3Q6ZnVuY3Rpb24oYSxiKXt2YXIgYz1bXSxlLGYsZz10aGlzWzBdO2lmKGQuaXNBcnJheShhKSl7dmFyIGgsaSxqPXt9LGs9MTtpZihnJiZhLmxlbmd0aCl7Zm9yKGU9MCxmPWEubGVuZ3RoO2U8ZjtlKyspaT1hW2VdLGpbaV18fChqW2ldPWQuZXhwci5tYXRjaC5QT1MudGVzdChpKT9kKGksYnx8dGhpcy5jb250ZXh0KTppKTt3aGlsZShnJiZnLm93bmVyRG9jdW1lbnQmJmchPT1iKXtmb3IoaSBpbiBqKWg9altpXSwoaC5qcXVlcnk/aC5pbmRleChnKT4tMTpkKGcpLmlzKGgpKSYmYy5wdXNoKHtzZWxlY3RvcjppLGVsZW06ZyxsZXZlbDprfSk7Zz1nLnBhcmVudE5vZGUsaysrfX1yZXR1cm4gY312YXIgbD1MLnRlc3QoYSk/ZChhLGJ8fHRoaXMuY29udGV4dCk6bnVsbDtmb3IoZT0wLGY9dGhpcy5sZW5ndGg7ZTxmO2UrKyl7Zz10aGlzW2VdO3doaWxlKGcpe2lmKGw/bC5pbmRleChnKT4tMTpkLmZpbmQubWF0Y2hlc1NlbGVjdG9yKGcsYSkpe2MucHVzaChnKTticmVha31nPWcucGFyZW50Tm9kZTtpZighZ3x8IWcub3duZXJEb2N1bWVudHx8Zz09PWIpYnJlYWt9fWM9Yy5sZW5ndGg+MT9kLnVuaXF1ZShjKTpjO3JldHVybiB0aGlzLnB1c2hTdGFjayhjLCJjbG9zZXN0IixhKX0saW5kZXg6ZnVuY3Rpb24oYSl7aWYoIWF8fHR5cGVvZiBhPT09InN0cmluZyIpcmV0dXJuIGQuaW5BcnJheSh0aGlzWzBdLGE/ZChhKTp0aGlzLnBhcmVudCgpLmNoaWxkcmVuKCkpO3JldHVybiBkLmluQXJyYXkoYS5qcXVlcnk/YVswXTphLHRoaXMpfSxhZGQ6ZnVuY3Rpb24oYSxiKXt2YXIgYz10eXBlb2YgYT09PSJzdHJpbmciP2QoYSxiKTpkLm1ha2VBcnJheShhKSxlPWQubWVyZ2UodGhpcy5nZXQoKSxjKTtyZXR1cm4gdGhpcy5wdXNoU3RhY2soTihjWzBdKXx8TihlWzBdKT9lOmQudW5pcXVlKGUpKX0sYW5kU2VsZjpmdW5jdGlvbigpe3JldHVybiB0aGlzLmFkZCh0aGlzLnByZXZPYmplY3QpfX0pLGQuZWFjaCh7cGFyZW50OmZ1bmN0aW9uKGEpe3ZhciBiPWEucGFyZW50Tm9kZTtyZXR1cm4gYiYmYi5ub2RlVHlwZSE9PTExP2I6bnVsbH0scGFyZW50czpmdW5jdGlvbihhKXtyZXR1cm4gZC5kaXIoYSwicGFyZW50Tm9kZSIpfSxwYXJlbnRzVW50aWw6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBkLmRpcihhLCJwYXJlbnROb2RlIixjKX0sbmV4dDpmdW5jdGlvbihhKXtyZXR1cm4gZC5udGgoYSwyLCJuZXh0U2libGluZyIpfSxwcmV2OmZ1bmN0aW9uKGEpe3JldHVybiBkLm50aChhLDIsInByZXZpb3VzU2libGluZyIpfSxuZXh0QWxsOmZ1bmN0aW9uKGEpe3JldHVybiBkLmRpcihhLCJuZXh0U2libGluZyIpfSxwcmV2QWxsOmZ1bmN0aW9uKGEpe3JldHVybiBkLmRpcihhLCJwcmV2aW91c1NpYmxpbmciKX0sbmV4dFVudGlsOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gZC5kaXIoYSwibmV4dFNpYmxpbmciLGMpfSxwcmV2VW50aWw6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBkLmRpcihhLCJwcmV2aW91c1NpYmxpbmciLGMpfSxzaWJsaW5nczpmdW5jdGlvbihhKXtyZXR1cm4gZC5zaWJsaW5nKGEucGFyZW50Tm9kZS5maXJzdENoaWxkLGEpfSxjaGlsZHJlbjpmdW5jdGlvbihhKXtyZXR1cm4gZC5zaWJsaW5nKGEuZmlyc3RDaGlsZCl9LGNvbnRlbnRzOmZ1bmN0aW9uKGEpe3JldHVybiBkLm5vZGVOYW1lKGEsImlmcmFtZSIpP2EuY29udGVudERvY3VtZW50fHxhLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQ6ZC5tYWtlQXJyYXkoYS5jaGlsZE5vZGVzKX19LGZ1bmN0aW9uKGEsYil7ZC5mblthXT1mdW5jdGlvbihjLGUpe3ZhciBmPWQubWFwKHRoaXMsYixjKSxnPUsuY2FsbChhcmd1bWVudHMpO0cudGVzdChhKXx8KGU9YyksZSYmdHlwZW9mIGU9PT0ic3RyaW5nIiYmKGY9ZC5maWx0ZXIoZSxmKSksZj10aGlzLmxlbmd0aD4xJiYhTVthXT9kLnVuaXF1ZShmKTpmLCh0aGlzLmxlbmd0aD4xfHxJLnRlc3QoZSkpJiZILnRlc3QoYSkmJihmPWYucmV2ZXJzZSgpKTtyZXR1cm4gdGhpcy5wdXNoU3RhY2soZixhLGcuam9pbigiLCIpKX19KSxkLmV4dGVuZCh7ZmlsdGVyOmZ1bmN0aW9uKGEsYixjKXtjJiYoYT0iOm5vdCgiK2ErIikiKTtyZXR1cm4gYi5sZW5ndGg9PT0xP2QuZmluZC5tYXRjaGVzU2VsZWN0b3IoYlswXSxhKT9bYlswXV06W106ZC5maW5kLm1hdGNoZXMoYSxiKX0sZGlyOmZ1bmN0aW9uKGEsYyxlKXt2YXIgZj1bXSxnPWFbY107d2hpbGUoZyYmZy5ub2RlVHlwZSE9PTkmJihlPT09Ynx8Zy5ub2RlVHlwZSE9PTF8fCFkKGcpLmlzKGUpKSlnLm5vZGVUeXBlPT09MSYmZi5wdXNoKGcpLGc9Z1tjXTtyZXR1cm4gZn0sbnRoOmZ1bmN0aW9uKGEsYixjLGQpe2I9Ynx8MTt2YXIgZT0wO2Zvcig7YTthPWFbY10paWYoYS5ub2RlVHlwZT09PTEmJisrZT09PWIpYnJlYWs7cmV0dXJuIGF9LHNpYmxpbmc6ZnVuY3Rpb24oYSxiKXt2YXIgYz1bXTtmb3IoO2E7YT1hLm5leHRTaWJsaW5nKWEubm9kZVR5cGU9PT0xJiZhIT09YiYmYy5wdXNoKGEpO3JldHVybiBjfX0pO3ZhciBQPS8galF1ZXJ5XGQrPSIoPzpcZCt8bnVsbCkiL2csUT0vXlxzKy8sUj0vPCg/IWFyZWF8YnJ8Y29sfGVtYmVkfGhyfGltZ3xpbnB1dHxsaW5rfG1ldGF8cGFyYW0pKChbXHc6XSspW14+XSopXC8+L2lnLFM9LzwoW1x3Ol0rKS8sVD0vPHRib2R5L2ksVT0vPHwmIz9cdys7LyxWPS88KD86c2NyaXB0fG9iamVjdHxlbWJlZHxvcHRpb258c3R5bGUpL2ksVz0vY2hlY2tlZFxzKig/OltePV18PVxzKi5jaGVja2VkLikvaSxYPXtvcHRpb246WzEsIjxzZWxlY3QgbXVsdGlwbGU9J211bHRpcGxlJz4iLCI8L3NlbGVjdD4iXSxsZWdlbmQ6WzEsIjxmaWVsZHNldD4iLCI8L2ZpZWxkc2V0PiJdLHRoZWFkOlsxLCI8dGFibGU+IiwiPC90YWJsZT4iXSx0cjpbMiwiPHRhYmxlPjx0Ym9keT4iLCI8L3Rib2R5PjwvdGFibGU+Il0sdGQ6WzMsIjx0YWJsZT48dGJvZHk+PHRyPiIsIjwvdHI+PC90Ym9keT48L3RhYmxlPiJdLGNvbDpbMiwiPHRhYmxlPjx0Ym9keT48L3Rib2R5Pjxjb2xncm91cD4iLCI8L2NvbGdyb3VwPjwvdGFibGU+Il0sYXJlYTpbMSwiPG1hcD4iLCI8L21hcD4iXSxfZGVmYXVsdDpbMCwiIiwiIl19O1gub3B0Z3JvdXA9WC5vcHRpb24sWC50Ym9keT1YLnRmb290PVguY29sZ3JvdXA9WC5jYXB0aW9uPVgudGhlYWQsWC50aD1YLnRkLGQuc3VwcG9ydC5odG1sU2VyaWFsaXplfHwoWC5fZGVmYXVsdD1bMSwiZGl2PGRpdj4iLCI8L2Rpdj4iXSksZC5mbi5leHRlbmQoe3RleHQ6ZnVuY3Rpb24oYSl7aWYoZC5pc0Z1bmN0aW9uKGEpKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oYil7dmFyIGM9ZCh0aGlzKTtjLnRleHQoYS5jYWxsKHRoaXMsYixjLnRleHQoKSkpfSk7aWYodHlwZW9mIGEhPT0ib2JqZWN0IiYmYSE9PWIpcmV0dXJuIHRoaXMuZW1wdHkoKS5hcHBlbmQoKHRoaXNbMF0mJnRoaXNbMF0ub3duZXJEb2N1bWVudHx8YykuY3JlYXRlVGV4dE5vZGUoYSkpO3JldHVybiBkLnRleHQodGhpcyl9LHdyYXBBbGw6ZnVuY3Rpb24oYSl7aWYoZC5pc0Z1bmN0aW9uKGEpKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oYil7ZCh0aGlzKS53cmFwQWxsKGEuY2FsbCh0aGlzLGIpKX0pO2lmKHRoaXNbMF0pe3ZhciBiPWQoYSx0aGlzWzBdLm93bmVyRG9jdW1lbnQpLmVxKDApLmNsb25lKCEwKTt0aGlzWzBdLnBhcmVudE5vZGUmJmIuaW5zZXJ0QmVmb3JlKHRoaXNbMF0pLGIubWFwKGZ1bmN0aW9uKCl7dmFyIGE9dGhpczt3aGlsZShhLmZpcnN0Q2hpbGQmJmEuZmlyc3RDaGlsZC5ub2RlVHlwZT09PTEpYT1hLmZpcnN0Q2hpbGQ7cmV0dXJuIGF9KS5hcHBlbmQodGhpcyl9cmV0dXJuIHRoaXN9LHdyYXBJbm5lcjpmdW5jdGlvbihhKXtpZihkLmlzRnVuY3Rpb24oYSkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihiKXtkKHRoaXMpLndyYXBJbm5lcihhLmNhbGwodGhpcyxiKSl9KTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGI9ZCh0aGlzKSxjPWIuY29udGVudHMoKTtjLmxlbmd0aD9jLndyYXBBbGwoYSk6Yi5hcHBlbmQoYSl9KX0sd3JhcDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7ZCh0aGlzKS53cmFwQWxsKGEpfSl9LHVud3JhcDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnBhcmVudCgpLmVhY2goZnVuY3Rpb24oKXtkLm5vZGVOYW1lKHRoaXMsImJvZHkiKXx8ZCh0aGlzKS5yZXBsYWNlV2l0aCh0aGlzLmNoaWxkTm9kZXMpfSkuZW5kKCl9LGFwcGVuZDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmRvbU1hbmlwKGFyZ3VtZW50cywhMCxmdW5jdGlvbihhKXt0aGlzLm5vZGVUeXBlPT09MSYmdGhpcy5hcHBlbmRDaGlsZChhKX0pfSxwcmVwZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZG9tTWFuaXAoYXJndW1lbnRzLCEwLGZ1bmN0aW9uKGEpe3RoaXMubm9kZVR5cGU9PT0xJiZ0aGlzLmluc2VydEJlZm9yZShhLHRoaXMuZmlyc3RDaGlsZCl9KX0sYmVmb3JlOmZ1bmN0aW9uKCl7aWYodGhpc1swXSYmdGhpc1swXS5wYXJlbnROb2RlKXJldHVybiB0aGlzLmRvbU1hbmlwKGFyZ3VtZW50cywhMSxmdW5jdGlvbihhKXt0aGlzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsdGhpcyl9KTtpZihhcmd1bWVudHMubGVuZ3RoKXt2YXIgYT1kKGFyZ3VtZW50c1swXSk7YS5wdXNoLmFwcGx5KGEsdGhpcy50b0FycmF5KCkpO3JldHVybiB0aGlzLnB1c2hTdGFjayhhLCJiZWZvcmUiLGFyZ3VtZW50cyl9fSxhZnRlcjpmdW5jdGlvbigpe2lmKHRoaXNbMF0mJnRoaXNbMF0ucGFyZW50Tm9kZSlyZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1bWVudHMsITEsZnVuY3Rpb24oYSl7dGhpcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShhLHRoaXMubmV4dFNpYmxpbmcpfSk7aWYoYXJndW1lbnRzLmxlbmd0aCl7dmFyIGE9dGhpcy5wdXNoU3RhY2sodGhpcywiYWZ0ZXIiLGFyZ3VtZW50cyk7YS5wdXNoLmFwcGx5KGEsZChhcmd1bWVudHNbMF0pLnRvQXJyYXkoKSk7cmV0dXJuIGF9fSxyZW1vdmU6ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9MCxlOyhlPXRoaXNbY10pIT1udWxsO2MrKylpZighYXx8ZC5maWx0ZXIoYSxbZV0pLmxlbmd0aCkhYiYmZS5ub2RlVHlwZT09PTEmJihkLmNsZWFuRGF0YShlLmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIikpLGQuY2xlYW5EYXRhKFtlXSkpLGUucGFyZW50Tm9kZSYmZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGUpO3JldHVybiB0aGlzfSxlbXB0eTpmdW5jdGlvbigpe2Zvcih2YXIgYT0wLGI7KGI9dGhpc1thXSkhPW51bGw7YSsrKXtiLm5vZGVUeXBlPT09MSYmZC5jbGVhbkRhdGEoYi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpKTt3aGlsZShiLmZpcnN0Q2hpbGQpYi5yZW1vdmVDaGlsZChiLmZpcnN0Q2hpbGQpfXJldHVybiB0aGlzfSxjbG9uZTpmdW5jdGlvbihhLGIpe2E9YT09bnVsbD8hMTphLGI9Yj09bnVsbD9hOmI7cmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uKCl7cmV0dXJuIGQuY2xvbmUodGhpcyxhLGIpfSl9LGh0bWw6ZnVuY3Rpb24oYSl7aWYoYT09PWIpcmV0dXJuIHRoaXNbMF0mJnRoaXNbMF0ubm9kZVR5cGU9PT0xP3RoaXNbMF0uaW5uZXJIVE1MLnJlcGxhY2UoUCwiIik6bnVsbDtpZih0eXBlb2YgYSE9PSJzdHJpbmcifHxWLnRlc3QoYSl8fCFkLnN1cHBvcnQubGVhZGluZ1doaXRlc3BhY2UmJlEudGVzdChhKXx8WFsoUy5leGVjKGEpfHxbIiIsIiJdKVsxXS50b0xvd2VyQ2FzZSgpXSlkLmlzRnVuY3Rpb24oYSk/dGhpcy5lYWNoKGZ1bmN0aW9uKGIpe3ZhciBjPWQodGhpcyk7Yy5odG1sKGEuY2FsbCh0aGlzLGIsYy5odG1sKCkpKX0pOnRoaXMuZW1wdHkoKS5hcHBlbmQoYSk7ZWxzZXthPWEucmVwbGFjZShSLCI8JDE+PC8kMj4iKTt0cnl7Zm9yKHZhciBjPTAsZT10aGlzLmxlbmd0aDtjPGU7YysrKXRoaXNbY10ubm9kZVR5cGU9PT0xJiYoZC5jbGVhbkRhdGEodGhpc1tjXS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpKSx0aGlzW2NdLmlubmVySFRNTD1hKX1jYXRjaChmKXt0aGlzLmVtcHR5KCkuYXBwZW5kKGEpfX1yZXR1cm4gdGhpc30scmVwbGFjZVdpdGg6ZnVuY3Rpb24oYSl7aWYodGhpc1swXSYmdGhpc1swXS5wYXJlbnROb2RlKXtpZihkLmlzRnVuY3Rpb24oYSkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihiKXt2YXIgYz1kKHRoaXMpLGU9Yy5odG1sKCk7Yy5yZXBsYWNlV2l0aChhLmNhbGwodGhpcyxiLGUpKX0pO3R5cGVvZiBhIT09InN0cmluZyImJihhPWQoYSkuZGV0YWNoKCkpO3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYj10aGlzLm5leHRTaWJsaW5nLGM9dGhpcy5wYXJlbnROb2RlO2QodGhpcykucmVtb3ZlKCksYj9kKGIpLmJlZm9yZShhKTpkKGMpLmFwcGVuZChhKX0pfXJldHVybiB0aGlzLnB1c2hTdGFjayhkKGQuaXNGdW5jdGlvbihhKT9hKCk6YSksInJlcGxhY2VXaXRoIixhKX0sZGV0YWNoOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnJlbW92ZShhLCEwKX0sZG9tTWFuaXA6ZnVuY3Rpb24oYSxjLGUpe3ZhciBmLGcsaCxpLGo9YVswXSxrPVtdO2lmKCFkLnN1cHBvcnQuY2hlY2tDbG9uZSYmYXJndW1lbnRzLmxlbmd0aD09PTMmJnR5cGVvZiBqPT09InN0cmluZyImJlcudGVzdChqKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7ZCh0aGlzKS5kb21NYW5pcChhLGMsZSwhMCl9KTtpZihkLmlzRnVuY3Rpb24oaikpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihmKXt2YXIgZz1kKHRoaXMpO2FbMF09ai5jYWxsKHRoaXMsZixjP2cuaHRtbCgpOmIpLGcuZG9tTWFuaXAoYSxjLGUpfSk7aWYodGhpc1swXSl7aT1qJiZqLnBhcmVudE5vZGUsZC5zdXBwb3J0LnBhcmVudE5vZGUmJmkmJmkubm9kZVR5cGU9PT0xMSYmaS5jaGlsZE5vZGVzLmxlbmd0aD09PXRoaXMubGVuZ3RoP2Y9e2ZyYWdtZW50Oml9OmY9ZC5idWlsZEZyYWdtZW50KGEsdGhpcyxrKSxoPWYuZnJhZ21lbnQsaC5jaGlsZE5vZGVzLmxlbmd0aD09PTE/Zz1oPWguZmlyc3RDaGlsZDpnPWguZmlyc3RDaGlsZDtpZihnKXtjPWMmJmQubm9kZU5hbWUoZywidHIiKTtmb3IodmFyIGw9MCxtPXRoaXMubGVuZ3RoLG49bS0xO2w8bTtsKyspZS5jYWxsKGM/WSh0aGlzW2xdLGcpOnRoaXNbbF0sZi5jYWNoZWFibGV8fG0+MSYmbDxuP2QuY2xvbmUoaCwhMCwhMCk6aCl9ay5sZW5ndGgmJmQuZWFjaChrLGJhKX1yZXR1cm4gdGhpc319KSxkLmJ1aWxkRnJhZ21lbnQ9ZnVuY3Rpb24oYSxiLGUpe3ZhciBmLGcsaCxpPWImJmJbMF0/YlswXS5vd25lckRvY3VtZW50fHxiWzBdOmM7YS5sZW5ndGg9PT0xJiZ0eXBlb2YgYVswXT09PSJzdHJpbmciJiZhWzBdLmxlbmd0aDw1MTImJmk9PT1jJiZhWzBdLmNoYXJBdCgwKT09PSI8IiYmIVYudGVzdChhWzBdKSYmKGQuc3VwcG9ydC5jaGVja0Nsb25lfHwhVy50ZXN0KGFbMF0pKSYmKGc9ITAsaD1kLmZyYWdtZW50c1thWzBdXSxoJiYoaCE9PTEmJihmPWgpKSksZnx8KGY9aS5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCksZC5jbGVhbihhLGksZixlKSksZyYmKGQuZnJhZ21lbnRzW2FbMF1dPWg/ZjoxKTtyZXR1cm57ZnJhZ21lbnQ6ZixjYWNoZWFibGU6Z319LGQuZnJhZ21lbnRzPXt9LGQuZWFjaCh7YXBwZW5kVG86ImFwcGVuZCIscHJlcGVuZFRvOiJwcmVwZW5kIixpbnNlcnRCZWZvcmU6ImJlZm9yZSIsaW5zZXJ0QWZ0ZXI6ImFmdGVyIixyZXBsYWNlQWxsOiJyZXBsYWNlV2l0aCJ9LGZ1bmN0aW9uKGEsYil7ZC5mblthXT1mdW5jdGlvbihjKXt2YXIgZT1bXSxmPWQoYyksZz10aGlzLmxlbmd0aD09PTEmJnRoaXNbMF0ucGFyZW50Tm9kZTtpZihnJiZnLm5vZGVUeXBlPT09MTEmJmcuY2hpbGROb2Rlcy5sZW5ndGg9PT0xJiZmLmxlbmd0aD09PTEpe2ZbYl0odGhpc1swXSk7cmV0dXJuIHRoaXN9Zm9yKHZhciBoPTAsaT1mLmxlbmd0aDtoPGk7aCsrKXt2YXIgaj0oaD4wP3RoaXMuY2xvbmUoITApOnRoaXMpLmdldCgpO2QoZltoXSlbYl0oaiksZT1lLmNvbmNhdChqKX1yZXR1cm4gdGhpcy5wdXNoU3RhY2soZSxhLGYuc2VsZWN0b3IpfX0pLGQuZXh0ZW5kKHtjbG9uZTpmdW5jdGlvbihhLGIsYyl7dmFyIGU9YS5jbG9uZU5vZGUoITApLGYsZyxoO2lmKCghZC5zdXBwb3J0Lm5vQ2xvbmVFdmVudHx8IWQuc3VwcG9ydC5ub0Nsb25lQ2hlY2tlZCkmJihhLm5vZGVUeXBlPT09MXx8YS5ub2RlVHlwZT09PTExKSYmIWQuaXNYTUxEb2MoYSkpeyQoYSxlKSxmPV8oYSksZz1fKGUpO2ZvcihoPTA7ZltoXTsrK2gpJChmW2hdLGdbaF0pfWlmKGIpe1ooYSxlKTtpZihjKXtmPV8oYSksZz1fKGUpO2ZvcihoPTA7ZltoXTsrK2gpWihmW2hdLGdbaF0pfX1yZXR1cm4gZX0sY2xlYW46ZnVuY3Rpb24oYSxiLGUsZil7Yj1ifHxjLHR5cGVvZiBiLmNyZWF0ZUVsZW1lbnQ9PT0idW5kZWZpbmVkIiYmKGI9Yi5vd25lckRvY3VtZW50fHxiWzBdJiZiWzBdLm93bmVyRG9jdW1lbnR8fGMpO3ZhciBnPVtdO2Zvcih2YXIgaD0wLGk7KGk9YVtoXSkhPW51bGw7aCsrKXt0eXBlb2YgaT09PSJudW1iZXIiJiYoaSs9IiIpO2lmKCFpKWNvbnRpbnVlO2lmKHR5cGVvZiBpIT09InN0cmluZyJ8fFUudGVzdChpKSl7aWYodHlwZW9mIGk9PT0ic3RyaW5nIil7aT1pLnJlcGxhY2UoUiwiPCQxPjwvJDI+Iik7dmFyIGo9KFMuZXhlYyhpKXx8WyIiLCIiXSlbMV0udG9Mb3dlckNhc2UoKSxrPVhbal18fFguX2RlZmF1bHQsbD1rWzBdLG09Yi5jcmVhdGVFbGVtZW50KCJkaXYiKTttLmlubmVySFRNTD1rWzFdK2kra1syXTt3aGlsZShsLS0pbT1tLmxhc3RDaGlsZDtpZighZC5zdXBwb3J0LnRib2R5KXt2YXIgbj1ULnRlc3QoaSksbz1qPT09InRhYmxlIiYmIW4/bS5maXJzdENoaWxkJiZtLmZpcnN0Q2hpbGQuY2hpbGROb2RlczprWzFdPT09Ijx0YWJsZT4iJiYhbj9tLmNoaWxkTm9kZXM6W107Zm9yKHZhciBwPW8ubGVuZ3RoLTE7cD49MDstLXApZC5ub2RlTmFtZShvW3BdLCJ0Ym9keSIpJiYhb1twXS5jaGlsZE5vZGVzLmxlbmd0aCYmb1twXS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG9bcF0pfSFkLnN1cHBvcnQubGVhZGluZ1doaXRlc3BhY2UmJlEudGVzdChpKSYmbS5pbnNlcnRCZWZvcmUoYi5jcmVhdGVUZXh0Tm9kZShRLmV4ZWMoaSlbMF0pLG0uZmlyc3RDaGlsZCksaT1tLmNoaWxkTm9kZXN9fWVsc2UgaT1iLmNyZWF0ZVRleHROb2RlKGkpO2kubm9kZVR5cGU/Zy5wdXNoKGkpOmc9ZC5tZXJnZShnLGkpfWlmKGUpZm9yKGg9MDtnW2hdO2grKykhZnx8IWQubm9kZU5hbWUoZ1toXSwic2NyaXB0Iil8fGdbaF0udHlwZSYmZ1toXS50eXBlLnRvTG93ZXJDYXNlKCkhPT0idGV4dC9qYXZhc2NyaXB0Ij8oZ1toXS5ub2RlVHlwZT09PTEmJmcuc3BsaWNlLmFwcGx5KGcsW2grMSwwXS5jb25jYXQoZC5tYWtlQXJyYXkoZ1toXS5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IikpKSksZS5hcHBlbmRDaGlsZChnW2hdKSk6Zi5wdXNoKGdbaF0ucGFyZW50Tm9kZT9nW2hdLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZ1toXSk6Z1toXSk7cmV0dXJuIGd9LGNsZWFuRGF0YTpmdW5jdGlvbihhKXt2YXIgYixjLGU9ZC5jYWNoZSxmPWQuZXhwYW5kbyxnPWQuZXZlbnQuc3BlY2lhbCxoPWQuc3VwcG9ydC5kZWxldGVFeHBhbmRvO2Zvcih2YXIgaT0wLGo7KGo9YVtpXSkhPW51bGw7aSsrKXtpZihqLm5vZGVOYW1lJiZkLm5vRGF0YVtqLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldKWNvbnRpbnVlO2M9altkLmV4cGFuZG9dO2lmKGMpe2I9ZVtjXSYmZVtjXVtmXTtpZihiJiZiLmV2ZW50cyl7Zm9yKHZhciBrIGluIGIuZXZlbnRzKWdba10/ZC5ldmVudC5yZW1vdmUoaixrKTpkLnJlbW92ZUV2ZW50KGosayxiLmhhbmRsZSk7Yi5oYW5kbGUmJihiLmhhbmRsZS5lbGVtPW51bGwpfWg/ZGVsZXRlIGpbZC5leHBhbmRvXTpqLnJlbW92ZUF0dHJpYnV0ZSYmai5yZW1vdmVBdHRyaWJ1dGUoZC5leHBhbmRvKSxkZWxldGUgZVtjXX19fX0pO3ZhciBiYj0vYWxwaGFcKFteKV0qXCkvaSxiYz0vb3BhY2l0eT0oW14pXSopLyxiZD0vLShbYS16XSkvaWcsYmU9LyhbQS1aXSkvZyxiZj0vXi0/XGQrKD86cHgpPyQvaSxiZz0vXi0/XGQvLGJoPXtwb3NpdGlvbjoiYWJzb2x1dGUiLHZpc2liaWxpdHk6ImhpZGRlbiIsZGlzcGxheToiYmxvY2sifSxiaT1bIkxlZnQiLCJSaWdodCJdLGJqPVsiVG9wIiwiQm90dG9tIl0sYmssYmwsYm0sYm49ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYi50b1VwcGVyQ2FzZSgpfTtkLmZuLmNzcz1mdW5jdGlvbihhLGMpe2lmKGFyZ3VtZW50cy5sZW5ndGg9PT0yJiZjPT09YilyZXR1cm4gdGhpcztyZXR1cm4gZC5hY2Nlc3ModGhpcyxhLGMsITAsZnVuY3Rpb24oYSxjLGUpe3JldHVybiBlIT09Yj9kLnN0eWxlKGEsYyxlKTpkLmNzcyhhLGMpfSl9LGQuZXh0ZW5kKHtjc3NIb29rczp7b3BhY2l0eTp7Z2V0OmZ1bmN0aW9uKGEsYil7aWYoYil7dmFyIGM9YmsoYSwib3BhY2l0eSIsIm9wYWNpdHkiKTtyZXR1cm4gYz09PSIiPyIxIjpjfXJldHVybiBhLnN0eWxlLm9wYWNpdHl9fX0sY3NzTnVtYmVyOnt6SW5kZXg6ITAsZm9udFdlaWdodDohMCxvcGFjaXR5OiEwLHpvb206ITAsbGluZUhlaWdodDohMH0sY3NzUHJvcHM6eyJmbG9hdCI6ZC5zdXBwb3J0LmNzc0Zsb2F0PyJjc3NGbG9hdCI6InN0eWxlRmxvYXQifSxzdHlsZTpmdW5jdGlvbihhLGMsZSxmKXtpZihhJiZhLm5vZGVUeXBlIT09MyYmYS5ub2RlVHlwZSE9PTgmJmEuc3R5bGUpe3ZhciBnLGg9ZC5jYW1lbENhc2UoYyksaT1hLnN0eWxlLGo9ZC5jc3NIb29rc1toXTtjPWQuY3NzUHJvcHNbaF18fGg7aWYoZT09PWIpe2lmKGomJiJnZXQiaW4gaiYmKGc9ai5nZXQoYSwhMSxmKSkhPT1iKXJldHVybiBnO3JldHVybiBpW2NdfWlmKHR5cGVvZiBlPT09Im51bWJlciImJmlzTmFOKGUpfHxlPT1udWxsKXJldHVybjt0eXBlb2YgZT09PSJudW1iZXIiJiYhZC5jc3NOdW1iZXJbaF0mJihlKz0icHgiKTtpZighanx8ISgic2V0ImluIGopfHwoZT1qLnNldChhLGUpKSE9PWIpdHJ5e2lbY109ZX1jYXRjaChrKXt9fX0sY3NzOmZ1bmN0aW9uKGEsYyxlKXt2YXIgZixnPWQuY2FtZWxDYXNlKGMpLGg9ZC5jc3NIb29rc1tnXTtjPWQuY3NzUHJvcHNbZ118fGc7aWYoaCYmImdldCJpbiBoJiYoZj1oLmdldChhLCEwLGUpKSE9PWIpcmV0dXJuIGY7aWYoYmspcmV0dXJuIGJrKGEsYyxnKX0sc3dhcDpmdW5jdGlvbihhLGIsYyl7dmFyIGQ9e307Zm9yKHZhciBlIGluIGIpZFtlXT1hLnN0eWxlW2VdLGEuc3R5bGVbZV09YltlXTtjLmNhbGwoYSk7Zm9yKGUgaW4gYilhLnN0eWxlW2VdPWRbZV19LGNhbWVsQ2FzZTpmdW5jdGlvbihhKXtyZXR1cm4gYS5yZXBsYWNlKGJkLGJuKX19KSxkLmN1ckNTUz1kLmNzcyxkLmVhY2goWyJoZWlnaHQiLCJ3aWR0aCJdLGZ1bmN0aW9uKGEsYil7ZC5jc3NIb29rc1tiXT17Z2V0OmZ1bmN0aW9uKGEsYyxlKXt2YXIgZjtpZihjKXthLm9mZnNldFdpZHRoIT09MD9mPWJvKGEsYixlKTpkLnN3YXAoYSxiaCxmdW5jdGlvbigpe2Y9Ym8oYSxiLGUpfSk7aWYoZjw9MCl7Zj1iayhhLGIsYiksZj09PSIwcHgiJiZibSYmKGY9Ym0oYSxiLGIpKTtpZihmIT1udWxsKXJldHVybiBmPT09IiJ8fGY9PT0iYXV0byI/IjBweCI6Zn1pZihmPDB8fGY9PW51bGwpe2Y9YS5zdHlsZVtiXTtyZXR1cm4gZj09PSIifHxmPT09ImF1dG8iPyIwcHgiOmZ9cmV0dXJuIHR5cGVvZiBmPT09InN0cmluZyI/ZjpmKyJweCJ9fSxzZXQ6ZnVuY3Rpb24oYSxiKXtpZighYmYudGVzdChiKSlyZXR1cm4gYjtiPXBhcnNlRmxvYXQoYik7aWYoYj49MClyZXR1cm4gYisicHgifX19KSxkLnN1cHBvcnQub3BhY2l0eXx8KGQuY3NzSG9va3Mub3BhY2l0eT17Z2V0OmZ1bmN0aW9uKGEsYil7cmV0dXJuIGJjLnRlc3QoKGImJmEuY3VycmVudFN0eWxlP2EuY3VycmVudFN0eWxlLmZpbHRlcjphLnN0eWxlLmZpbHRlcil8fCIiKT9wYXJzZUZsb2F0KFJlZ0V4cC4kMSkvMTAwKyIiOmI/IjEiOiIifSxzZXQ6ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLnN0eWxlO2Muem9vbT0xO3ZhciBlPWQuaXNOYU4oYik/IiI6ImFscGhhKG9wYWNpdHk9IitiKjEwMCsiKSIsZj1jLmZpbHRlcnx8IiI7Yy5maWx0ZXI9YmIudGVzdChmKT9mLnJlcGxhY2UoYmIsZSk6Yy5maWx0ZXIrIiAiK2V9fSksYy5kZWZhdWx0VmlldyYmYy5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlJiYoYmw9ZnVuY3Rpb24oYSxjLGUpe3ZhciBmLGcsaDtlPWUucmVwbGFjZShiZSwiLSQxIikudG9Mb3dlckNhc2UoKTtpZighKGc9YS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3KSlyZXR1cm4gYjtpZihoPWcuZ2V0Q29tcHV0ZWRTdHlsZShhLG51bGwpKWY9aC5nZXRQcm9wZXJ0eVZhbHVlKGUpLGY9PT0iIiYmIWQuY29udGFpbnMoYS5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxhKSYmKGY9ZC5zdHlsZShhLGUpKTtyZXR1cm4gZn0pLGMuZG9jdW1lbnRFbGVtZW50LmN1cnJlbnRTdHlsZSYmKGJtPWZ1bmN0aW9uKGEsYil7dmFyIGMsZD1hLmN1cnJlbnRTdHlsZSYmYS5jdXJyZW50U3R5bGVbYl0sZT1hLnJ1bnRpbWVTdHlsZSYmYS5ydW50aW1lU3R5bGVbYl0sZj1hLnN0eWxlOyFiZi50ZXN0KGQpJiZiZy50ZXN0KGQpJiYoYz1mLmxlZnQsZSYmKGEucnVudGltZVN0eWxlLmxlZnQ9YS5jdXJyZW50U3R5bGUubGVmdCksZi5sZWZ0PWI9PT0iZm9udFNpemUiPyIxZW0iOmR8fDAsZD1mLnBpeGVsTGVmdCsicHgiLGYubGVmdD1jLGUmJihhLnJ1bnRpbWVTdHlsZS5sZWZ0PWUpKTtyZXR1cm4gZD09PSIiPyJhdXRvIjpkfSksYms9Ymx8fGJtLGQuZXhwciYmZC5leHByLmZpbHRlcnMmJihkLmV4cHIuZmlsdGVycy5oaWRkZW49ZnVuY3Rpb24oYSl7dmFyIGI9YS5vZmZzZXRXaWR0aCxjPWEub2Zmc2V0SGVpZ2h0O3JldHVybiBiPT09MCYmYz09PTB8fCFkLnN1cHBvcnQucmVsaWFibGVIaWRkZW5PZmZzZXRzJiYoYS5zdHlsZS5kaXNwbGF5fHxkLmNzcyhhLCJkaXNwbGF5IikpPT09Im5vbmUifSxkLmV4cHIuZmlsdGVycy52aXNpYmxlPWZ1bmN0aW9uKGEpe3JldHVybiFkLmV4cHIuZmlsdGVycy5oaWRkZW4oYSl9KTt2YXIgYnA9LyUyMC9nLGJxPS9cW1xdJC8sYnI9L1xyP1xuL2csYnM9LyMuKiQvLGJ0PS9eKC4qPyk6WyBcdF0qKFteXHJcbl0qKVxyPyQvbWcsYnU9L14oPzpjb2xvcnxkYXRlfGRhdGV0aW1lfGVtYWlsfGhpZGRlbnxtb250aHxudW1iZXJ8cGFzc3dvcmR8cmFuZ2V8c2VhcmNofHRlbHx0ZXh0fHRpbWV8dXJsfHdlZWspJC9pLGJ2PS8oPzpeZmlsZXxed2lkZ2V0fFwtZXh0ZW5zaW9uKTokLyxidz0vXig/OkdFVHxIRUFEKSQvLGJ4PS9eXC9cLy8sYnk9L1w/Lyxiej0vPHNjcmlwdFxiW148XSooPzooPyE8XC9zY3JpcHQ+KTxbXjxdKikqPFwvc2NyaXB0Pi9naSxiQT0vXig/OnNlbGVjdHx0ZXh0YXJlYSkvaSxiQj0vXHMrLyxiQz0vKFs/Jl0pXz1bXiZdKi8sYkQ9LyhefFwtKShbYS16XSkvZyxiRT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGIrYy50b1VwcGVyQ2FzZSgpfSxiRj0vXihbXHdcK1wuXC1dKzopXC9cLyhbXlwvPyM6XSopKD86OihcZCspKT8vLGJHPWQuZm4ubG9hZCxiSD17fSxiST17fSxiSixiSzt0cnl7Yko9Yy5sb2NhdGlvbi5ocmVmfWNhdGNoKGJMKXtiSj1jLmNyZWF0ZUVsZW1lbnQoImEiKSxiSi5ocmVmPSIiLGJKPWJKLmhyZWZ9Yks9YkYuZXhlYyhiSi50b0xvd2VyQ2FzZSgpKSxkLmZuLmV4dGVuZCh7bG9hZDpmdW5jdGlvbihhLGMsZSl7aWYodHlwZW9mIGEhPT0ic3RyaW5nIiYmYkcpcmV0dXJuIGJHLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtpZighdGhpcy5sZW5ndGgpcmV0dXJuIHRoaXM7dmFyIGY9YS5pbmRleE9mKCIgIik7aWYoZj49MCl7dmFyIGc9YS5zbGljZShmLGEubGVuZ3RoKTthPWEuc2xpY2UoMCxmKX12YXIgaD0iR0VUIjtjJiYoZC5pc0Z1bmN0aW9uKGMpPyhlPWMsYz1iKTp0eXBlb2YgYz09PSJvYmplY3QiJiYoYz1kLnBhcmFtKGMsZC5hamF4U2V0dGluZ3MudHJhZGl0aW9uYWwpLGg9IlBPU1QiKSk7dmFyIGk9dGhpcztkLmFqYXgoe3VybDphLHR5cGU6aCxkYXRhVHlwZToiaHRtbCIsZGF0YTpjLGNvbXBsZXRlOmZ1bmN0aW9uKGEsYixjKXtjPWEucmVzcG9uc2VUZXh0LGEuaXNSZXNvbHZlZCgpJiYoYS5kb25lKGZ1bmN0aW9uKGEpe2M9YX0pLGkuaHRtbChnP2QoIjxkaXY+IikuYXBwZW5kKGMucmVwbGFjZShieiwiIikpLmZpbmQoZyk6YykpLGUmJmkuZWFjaChlLFtjLGIsYV0pfX0pO3JldHVybiB0aGlzfSxzZXJpYWxpemU6ZnVuY3Rpb24oKXtyZXR1cm4gZC5wYXJhbSh0aGlzLnNlcmlhbGl6ZUFycmF5KCkpfSxzZXJpYWxpemVBcnJheTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1hcChmdW5jdGlvbigpe3JldHVybiB0aGlzLmVsZW1lbnRzP2QubWFrZUFycmF5KHRoaXMuZWxlbWVudHMpOnRoaXN9KS5maWx0ZXIoZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5uYW1lJiYhdGhpcy5kaXNhYmxlZCYmKHRoaXMuY2hlY2tlZHx8YkEudGVzdCh0aGlzLm5vZGVOYW1lKXx8YnUudGVzdCh0aGlzLnR5cGUpKX0pLm1hcChmdW5jdGlvbihhLGIpe3ZhciBjPWQodGhpcykudmFsKCk7cmV0dXJuIGM9PW51bGw/bnVsbDpkLmlzQXJyYXkoYyk/ZC5tYXAoYyxmdW5jdGlvbihhLGMpe3JldHVybntuYW1lOmIubmFtZSx2YWx1ZTphLnJlcGxhY2UoYnIsIlxyXG4iKX19KTp7bmFtZTpiLm5hbWUsdmFsdWU6Yy5yZXBsYWNlKGJyLCJcclxuIil9fSkuZ2V0KCl9fSksZC5lYWNoKCJhamF4U3RhcnQgYWpheFN0b3AgYWpheENvbXBsZXRlIGFqYXhFcnJvciBhamF4U3VjY2VzcyBhamF4U2VuZCIuc3BsaXQoIiAiKSxmdW5jdGlvbihhLGIpe2QuZm5bYl09ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuYmluZChiLGEpfX0pLGQuZWFjaChbImdldCIsInBvc3QiXSxmdW5jdGlvbihhLGMpe2RbY109ZnVuY3Rpb24oYSxlLGYsZyl7ZC5pc0Z1bmN0aW9uKGUpJiYoZz1nfHxmLGY9ZSxlPWIpO3JldHVybiBkLmFqYXgoe3R5cGU6Yyx1cmw6YSxkYXRhOmUsc3VjY2VzczpmLGRhdGFUeXBlOmd9KX19KSxkLmV4dGVuZCh7Z2V0U2NyaXB0OmZ1bmN0aW9uKGEsYyl7cmV0dXJuIGQuZ2V0KGEsYixjLCJzY3JpcHQiKX0sZ2V0SlNPTjpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGQuZ2V0KGEsYixjLCJqc29uIil9LGFqYXhTZXR1cDpmdW5jdGlvbihhLGIpe2I/ZC5leHRlbmQoITAsYSxkLmFqYXhTZXR0aW5ncyxiKTooYj1hLGE9ZC5leHRlbmQoITAsZC5hamF4U2V0dGluZ3MsYikpO2Zvcih2YXIgYyBpbiB7Y29udGV4dDoxLHVybDoxfSljIGluIGI/YVtjXT1iW2NdOmMgaW4gZC5hamF4U2V0dGluZ3MmJihhW2NdPWQuYWpheFNldHRpbmdzW2NdKTtyZXR1cm4gYX0sYWpheFNldHRpbmdzOnt1cmw6YkosaXNMb2NhbDpidi50ZXN0KGJLWzFdKSxnbG9iYWw6ITAsdHlwZToiR0VUIixjb250ZW50VHlwZToiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIixwcm9jZXNzRGF0YTohMCxhc3luYzohMCxhY2NlcHRzOnt4bWw6ImFwcGxpY2F0aW9uL3htbCwgdGV4dC94bWwiLGh0bWw6InRleHQvaHRtbCIsdGV4dDoidGV4dC9wbGFpbiIsanNvbjoiYXBwbGljYXRpb24vanNvbiwgdGV4dC9qYXZhc2NyaXB0IiwiKiI6IiovKiJ9LGNvbnRlbnRzOnt4bWw6L3htbC8saHRtbDovaHRtbC8sanNvbjovanNvbi99LHJlc3BvbnNlRmllbGRzOnt4bWw6InJlc3BvbnNlWE1MIix0ZXh0OiJyZXNwb25zZVRleHQifSxjb252ZXJ0ZXJzOnsiKiB0ZXh0IjphLlN0cmluZywidGV4dCBodG1sIjohMCwidGV4dCBqc29uIjpkLnBhcnNlSlNPTiwidGV4dCB4bWwiOmQucGFyc2VYTUx9fSxhamF4UHJlZmlsdGVyOmJNKGJIKSxhamF4VHJhbnNwb3J0OmJNKGJJKSxhamF4OmZ1bmN0aW9uKGEsYyl7ZnVuY3Rpb24gdihhLGMsbCxuKXtpZihyIT09Mil7cj0yLHAmJmNsZWFyVGltZW91dChwKSxvPWIsbT1ufHwiIix1LnJlYWR5U3RhdGU9YT80OjA7dmFyIHEsdCx2LHc9bD9iUChlLHUsbCk6Yix4LHk7aWYoYT49MjAwJiZhPDMwMHx8YT09PTMwNCl7aWYoZS5pZk1vZGlmaWVkKXtpZih4PXUuZ2V0UmVzcG9uc2VIZWFkZXIoIkxhc3QtTW9kaWZpZWQiKSlkLmxhc3RNb2RpZmllZFtrXT14O2lmKHk9dS5nZXRSZXNwb25zZUhlYWRlcigiRXRhZyIpKWQuZXRhZ1trXT15fWlmKGE9PT0zMDQpYz0ibm90bW9kaWZpZWQiLHE9ITA7ZWxzZSB0cnl7dD1iUShlLHcpLGM9InN1Y2Nlc3MiLHE9ITB9Y2F0Y2goeil7Yz0icGFyc2VyZXJyb3IiLHY9en19ZWxzZXt2PWM7aWYoIWN8fGEpYz0iZXJyb3IiLGE8MCYmKGE9MCl9dS5zdGF0dXM9YSx1LnN0YXR1c1RleHQ9YyxxP2gucmVzb2x2ZVdpdGgoZixbdCxjLHVdKTpoLnJlamVjdFdpdGgoZixbdSxjLHZdKSx1LnN0YXR1c0NvZGUoaiksaj1iLHMmJmcudHJpZ2dlcigiYWpheCIrKHE/IlN1Y2Nlc3MiOiJFcnJvciIpLFt1LGUscT90OnZdKSxpLnJlc29sdmVXaXRoKGYsW3UsY10pLHMmJihnLnRyaWdnZXIoImFqYXhDb21wbGV0ZSIsW3UsZV0pLC0tZC5hY3RpdmV8fGQuZXZlbnQudHJpZ2dlcigiYWpheFN0b3AiKSl9fXR5cGVvZiBhPT09Im9iamVjdCImJihjPWEsYT1iKSxjPWN8fHt9O3ZhciBlPWQuYWpheFNldHVwKHt9LGMpLGY9ZS5jb250ZXh0fHxlLGc9ZiE9PWUmJihmLm5vZGVUeXBlfHxmIGluc3RhbmNlb2YgZCk/ZChmKTpkLmV2ZW50LGg9ZC5EZWZlcnJlZCgpLGk9ZC5fRGVmZXJyZWQoKSxqPWUuc3RhdHVzQ29kZXx8e30sayxsPXt9LG0sbixvLHAscSxyPTAscyx0LHU9e3JlYWR5U3RhdGU6MCxzZXRSZXF1ZXN0SGVhZGVyOmZ1bmN0aW9uKGEsYil7cnx8KGxbYS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoYkQsYkUpXT1iKTtyZXR1cm4gdGhpc30sZ2V0QWxsUmVzcG9uc2VIZWFkZXJzOmZ1bmN0aW9uKCl7cmV0dXJuIHI9PT0yP206bnVsbH0sZ2V0UmVzcG9uc2VIZWFkZXI6ZnVuY3Rpb24oYSl7dmFyIGM7aWYocj09PTIpe2lmKCFuKXtuPXt9O3doaWxlKGM9YnQuZXhlYyhtKSluW2NbMV0udG9Mb3dlckNhc2UoKV09Y1syXX1jPW5bYS50b0xvd2VyQ2FzZSgpXX1yZXR1cm4gYz09PWI/bnVsbDpjfSxvdmVycmlkZU1pbWVUeXBlOmZ1bmN0aW9uKGEpe3J8fChlLm1pbWVUeXBlPWEpO3JldHVybiB0aGlzfSxhYm9ydDpmdW5jdGlvbihhKXthPWF8fCJhYm9ydCIsbyYmby5hYm9ydChhKSx2KDAsYSk7cmV0dXJuIHRoaXN9fTtoLnByb21pc2UodSksdS5zdWNjZXNzPXUuZG9uZSx1LmVycm9yPXUuZmFpbCx1LmNvbXBsZXRlPWkuZG9uZSx1LnN0YXR1c0NvZGU9ZnVuY3Rpb24oYSl7aWYoYSl7dmFyIGI7aWYocjwyKWZvcihiIGluIGEpaltiXT1baltiXSxhW2JdXTtlbHNlIGI9YVt1LnN0YXR1c10sdS50aGVuKGIsYil9cmV0dXJuIHRoaXN9LGUudXJsPSgoYXx8ZS51cmwpKyIiKS5yZXBsYWNlKGJzLCIiKS5yZXBsYWNlKGJ4LGJLWzFdKyIvLyIpLGUuZGF0YVR5cGVzPWQudHJpbShlLmRhdGFUeXBlfHwiKiIpLnRvTG93ZXJDYXNlKCkuc3BsaXQoYkIpLGUuY3Jvc3NEb21haW58fChxPWJGLmV4ZWMoZS51cmwudG9Mb3dlckNhc2UoKSksZS5jcm9zc0RvbWFpbj1xJiYocVsxXSE9YktbMV18fHFbMl0hPWJLWzJdfHwocVszXXx8KHFbMV09PT0iaHR0cDoiPzgwOjQ0MykpIT0oYktbM118fChiS1sxXT09PSJodHRwOiI/ODA6NDQzKSkpKSxlLmRhdGEmJmUucHJvY2Vzc0RhdGEmJnR5cGVvZiBlLmRhdGEhPT0ic3RyaW5nIiYmKGUuZGF0YT1kLnBhcmFtKGUuZGF0YSxlLnRyYWRpdGlvbmFsKSksYk4oYkgsZSxjLHUpO2lmKHI9PT0yKXJldHVybiExO3M9ZS5nbG9iYWwsZS50eXBlPWUudHlwZS50b1VwcGVyQ2FzZSgpLGUuaGFzQ29udGVudD0hYncudGVzdChlLnR5cGUpLHMmJmQuYWN0aXZlKys9PT0wJiZkLmV2ZW50LnRyaWdnZXIoImFqYXhTdGFydCIpO2lmKCFlLmhhc0NvbnRlbnQpe2UuZGF0YSYmKGUudXJsKz0oYnkudGVzdChlLnVybCk/IiYiOiI/IikrZS5kYXRhKSxrPWUudXJsO2lmKGUuY2FjaGU9PT0hMSl7dmFyIHc9ZC5ub3coKSx4PWUudXJsLnJlcGxhY2UoYkMsIiQxXz0iK3cpO2UudXJsPXgrKHg9PT1lLnVybD8oYnkudGVzdChlLnVybCk/IiYiOiI/IikrIl89Iit3OiIiKX19aWYoZS5kYXRhJiZlLmhhc0NvbnRlbnQmJmUuY29udGVudFR5cGUhPT0hMXx8Yy5jb250ZW50VHlwZSlsWyJDb250ZW50LVR5cGUiXT1lLmNvbnRlbnRUeXBlO2UuaWZNb2RpZmllZCYmKGs9a3x8ZS51cmwsZC5sYXN0TW9kaWZpZWRba10mJihsWyJJZi1Nb2RpZmllZC1TaW5jZSJdPWQubGFzdE1vZGlmaWVkW2tdKSxkLmV0YWdba10mJihsWyJJZi1Ob25lLU1hdGNoIl09ZC5ldGFnW2tdKSksbC5BY2NlcHQ9ZS5kYXRhVHlwZXNbMF0mJmUuYWNjZXB0c1tlLmRhdGFUeXBlc1swXV0/ZS5hY2NlcHRzW2UuZGF0YVR5cGVzWzBdXSsoZS5kYXRhVHlwZXNbMF0hPT0iKiI/IiwgKi8qOyBxPTAuMDEiOiIiKTplLmFjY2VwdHNbIioiXTtmb3IodCBpbiBlLmhlYWRlcnMpdS5zZXRSZXF1ZXN0SGVhZGVyKHQsZS5oZWFkZXJzW3RdKTtpZihlLmJlZm9yZVNlbmQmJihlLmJlZm9yZVNlbmQuY2FsbChmLHUsZSk9PT0hMXx8cj09PTIpKXt1LmFib3J0KCk7cmV0dXJuITF9Zm9yKHQgaW4ge3N1Y2Nlc3M6MSxlcnJvcjoxLGNvbXBsZXRlOjF9KXVbdF0oZVt0XSk7bz1iTihiSSxlLGMsdSk7aWYobyl7dS5yZWFkeVN0YXRlPTEscyYmZy50cmlnZ2VyKCJhamF4U2VuZCIsW3UsZV0pLGUuYXN5bmMmJmUudGltZW91dD4wJiYocD1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dS5hYm9ydCgidGltZW91dCIpfSxlLnRpbWVvdXQpKTt0cnl7cj0xLG8uc2VuZChsLHYpfWNhdGNoKHkpe3N0YXR1czwyP3YoLTEseSk6ZC5lcnJvcih5KX19ZWxzZSB2KC0xLCJObyBUcmFuc3BvcnQiKTtyZXR1cm4gdX0scGFyYW06ZnVuY3Rpb24oYSxjKXt2YXIgZT1bXSxmPWZ1bmN0aW9uKGEsYil7Yj1kLmlzRnVuY3Rpb24oYik/YigpOmIsZVtlLmxlbmd0aF09ZW5jb2RlVVJJQ29tcG9uZW50KGEpKyI9IitlbmNvZGVVUklDb21wb25lbnQoYil9O2M9PT1iJiYoYz1kLmFqYXhTZXR0aW5ncy50cmFkaXRpb25hbCk7aWYoZC5pc0FycmF5KGEpfHxhLmpxdWVyeSYmIWQuaXNQbGFpbk9iamVjdChhKSlkLmVhY2goYSxmdW5jdGlvbigpe2YodGhpcy5uYW1lLHRoaXMudmFsdWUpfSk7ZWxzZSBmb3IodmFyIGcgaW4gYSliTyhnLGFbZ10sYyxmKTtyZXR1cm4gZS5qb2luKCImIikucmVwbGFjZShicCwiKyIpfX0pLGQuZXh0ZW5kKHthY3RpdmU6MCxsYXN0TW9kaWZpZWQ6e30sZXRhZzp7fX0pO3ZhciBiUj1kLm5vdygpLGJTPS8oXD0pXD8oJnwkKXwoKVw/XD8oKS9pO2QuYWpheFNldHVwKHtqc29ucDoiY2FsbGJhY2siLGpzb25wQ2FsbGJhY2s6ZnVuY3Rpb24oKXtyZXR1cm4gZC5leHBhbmRvKyJfIitiUisrfX0pLGQuYWpheFByZWZpbHRlcigianNvbiBqc29ucCIsZnVuY3Rpb24oYixjLGUpe3ZhciBmPXR5cGVvZiBiLmRhdGE9PT0ic3RyaW5nIjtpZihiLmRhdGFUeXBlc1swXT09PSJqc29ucCJ8fGMuanNvbnBDYWxsYmFja3x8Yy5qc29ucCE9bnVsbHx8Yi5qc29ucCE9PSExJiYoYlMudGVzdChiLnVybCl8fGYmJmJTLnRlc3QoYi5kYXRhKSkpe3ZhciBnLGg9Yi5qc29ucENhbGxiYWNrPWQuaXNGdW5jdGlvbihiLmpzb25wQ2FsbGJhY2spP2IuanNvbnBDYWxsYmFjaygpOmIuanNvbnBDYWxsYmFjayxpPWFbaF0saj1iLnVybCxrPWIuZGF0YSxsPSIkMSIraCsiJDIiLG09ZnVuY3Rpb24oKXthW2hdPWksZyYmZC5pc0Z1bmN0aW9uKGkpJiZhW2hdKGdbMF0pfTtiLmpzb25wIT09ITEmJihqPWoucmVwbGFjZShiUyxsKSxiLnVybD09PWomJihmJiYoaz1rLnJlcGxhY2UoYlMsbCkpLGIuZGF0YT09PWsmJihqKz0oL1w/Ly50ZXN0KGopPyImIjoiPyIpK2IuanNvbnArIj0iK2gpKSksYi51cmw9aixiLmRhdGE9ayxhW2hdPWZ1bmN0aW9uKGEpe2c9W2FdfSxlLnRoZW4obSxtKSxiLmNvbnZlcnRlcnNbInNjcmlwdCBqc29uIl09ZnVuY3Rpb24oKXtnfHxkLmVycm9yKGgrIiB3YXMgbm90IGNhbGxlZCIpO3JldHVybiBnWzBdfSxiLmRhdGFUeXBlc1swXT0ianNvbiI7cmV0dXJuInNjcmlwdCJ9fSksZC5hamF4U2V0dXAoe2FjY2VwdHM6e3NjcmlwdDoidGV4dC9qYXZhc2NyaXB0LCBhcHBsaWNhdGlvbi9qYXZhc2NyaXB0LCBhcHBsaWNhdGlvbi9lY21hc2NyaXB0LCBhcHBsaWNhdGlvbi94LWVjbWFzY3JpcHQifSxjb250ZW50czp7c2NyaXB0Oi9qYXZhc2NyaXB0fGVjbWFzY3JpcHQvfSxjb252ZXJ0ZXJzOnsidGV4dCBzY3JpcHQiOmZ1bmN0aW9uKGEpe2QuZ2xvYmFsRXZhbChhKTtyZXR1cm4gYX19fSksZC5hamF4UHJlZmlsdGVyKCJzY3JpcHQiLGZ1bmN0aW9uKGEpe2EuY2FjaGU9PT1iJiYoYS5jYWNoZT0hMSksYS5jcm9zc0RvbWFpbiYmKGEudHlwZT0iR0VUIixhLmdsb2JhbD0hMSl9KSxkLmFqYXhUcmFuc3BvcnQoInNjcmlwdCIsZnVuY3Rpb24oYSl7aWYoYS5jcm9zc0RvbWFpbil7dmFyIGQsZT1jLmhlYWR8fGMuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXXx8Yy5kb2N1bWVudEVsZW1lbnQ7cmV0dXJue3NlbmQ6ZnVuY3Rpb24oZixnKXtkPWMuY3JlYXRlRWxlbWVudCgic2NyaXB0IiksZC5hc3luYz0iYXN5bmMiLGEuc2NyaXB0Q2hhcnNldCYmKGQuY2hhcnNldD1hLnNjcmlwdENoYXJzZXQpLGQuc3JjPWEudXJsLGQub25sb2FkPWQub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKGEsYyl7aWYoIWQucmVhZHlTdGF0ZXx8L2xvYWRlZHxjb21wbGV0ZS8udGVzdChkLnJlYWR5U3RhdGUpKWQub25sb2FkPWQub25yZWFkeXN0YXRlY2hhbmdlPW51bGwsZSYmZC5wYXJlbnROb2RlJiZlLnJlbW92ZUNoaWxkKGQpLGQ9YixjfHxnKDIwMCwic3VjY2VzcyIpfSxlLmluc2VydEJlZm9yZShkLGUuZmlyc3RDaGlsZCl9LGFib3J0OmZ1bmN0aW9uKCl7ZCYmZC5vbmxvYWQoMCwxKX19fX0pO3ZhciBiVD1kLm5vdygpLGJVLGJWO2QuYWpheFNldHRpbmdzLnhocj1hLkFjdGl2ZVhPYmplY3Q/ZnVuY3Rpb24oKXtyZXR1cm4hdGhpcy5pc0xvY2FsJiZiWCgpfHxiWSgpfTpiWCxiVj1kLmFqYXhTZXR0aW5ncy54aHIoKSxkLnN1cHBvcnQuYWpheD0hIWJWLGQuc3VwcG9ydC5jb3JzPWJWJiYid2l0aENyZWRlbnRpYWxzImluIGJWLGJWPWIsZC5zdXBwb3J0LmFqYXgmJmQuYWpheFRyYW5zcG9ydChmdW5jdGlvbihhKXtpZighYS5jcm9zc0RvbWFpbnx8ZC5zdXBwb3J0LmNvcnMpe3ZhciBjO3JldHVybntzZW5kOmZ1bmN0aW9uKGUsZil7dmFyIGc9YS54aHIoKSxoLGk7YS51c2VybmFtZT9nLm9wZW4oYS50eXBlLGEudXJsLGEuYXN5bmMsYS51c2VybmFtZSxhLnBhc3N3b3JkKTpnLm9wZW4oYS50eXBlLGEudXJsLGEuYXN5bmMpO2lmKGEueGhyRmllbGRzKWZvcihpIGluIGEueGhyRmllbGRzKWdbaV09YS54aHJGaWVsZHNbaV07YS5taW1lVHlwZSYmZy5vdmVycmlkZU1pbWVUeXBlJiZnLm92ZXJyaWRlTWltZVR5cGUoYS5taW1lVHlwZSksKCFhLmNyb3NzRG9tYWlufHxhLmhhc0NvbnRlbnQpJiYhZVsiWC1SZXF1ZXN0ZWQtV2l0aCJdJiYoZVsiWC1SZXF1ZXN0ZWQtV2l0aCJdPSJYTUxIdHRwUmVxdWVzdCIpO3RyeXtmb3IoaSBpbiBlKWcuc2V0UmVxdWVzdEhlYWRlcihpLGVbaV0pfWNhdGNoKGope31nLnNlbmQoYS5oYXNDb250ZW50JiZhLmRhdGF8fG51bGwpLGM9ZnVuY3Rpb24oZSxpKXt2YXIgaixrLGwsbSxuO3RyeXtpZihjJiYoaXx8Zy5yZWFkeVN0YXRlPT09NCkpe2M9YixoJiYoZy5vbnJlYWR5c3RhdGVjaGFuZ2U9ZC5ub29wLGRlbGV0ZSBiVVtoXSk7aWYoaSlnLnJlYWR5U3RhdGUhPT00JiZnLmFib3J0KCk7ZWxzZXtqPWcuc3RhdHVzLGw9Zy5nZXRBbGxSZXNwb25zZUhlYWRlcnMoKSxtPXt9LG49Zy5yZXNwb25zZVhNTCxuJiZuLmRvY3VtZW50RWxlbWVudCYmKG0ueG1sPW4pLG0udGV4dD1nLnJlc3BvbnNlVGV4dDt0cnl7az1nLnN0YXR1c1RleHR9Y2F0Y2gobyl7az0iIn1qfHwhYS5pc0xvY2FsfHxhLmNyb3NzRG9tYWluP2o9PT0xMjIzJiYoaj0yMDQpOmo9bS50ZXh0PzIwMDo0MDR9fX1jYXRjaChwKXtpfHxmKC0xLHApfW0mJmYoaixrLG0sbCl9LGEuYXN5bmMmJmcucmVhZHlTdGF0ZSE9PTQ/KGJVfHwoYlU9e30sYlcoKSksaD1iVCsrLGcub25yZWFkeXN0YXRlY2hhbmdlPWJVW2hdPWMpOmMoKX0sYWJvcnQ6ZnVuY3Rpb24oKXtjJiZjKDAsMSl9fX19KTt2YXIgYlo9e30sYiQ9L14oPzp0b2dnbGV8c2hvd3xoaWRlKSQvLGJfPS9eKFsrXC1dPSk/KFtcZCsuXC1dKykoW2EteiVdKikkL2ksY2EsY2I9W1siaGVpZ2h0IiwibWFyZ2luVG9wIiwibWFyZ2luQm90dG9tIiwicGFkZGluZ1RvcCIsInBhZGRpbmdCb3R0b20iXSxbIndpZHRoIiwibWFyZ2luTGVmdCIsIm1hcmdpblJpZ2h0IiwicGFkZGluZ0xlZnQiLCJwYWRkaW5nUmlnaHQiXSxbIm9wYWNpdHkiXV07ZC5mbi5leHRlbmQoe3Nob3c6ZnVuY3Rpb24oYSxiLGMpe3ZhciBlLGY7aWYoYXx8YT09PTApcmV0dXJuIHRoaXMuYW5pbWF0ZShjYygic2hvdyIsMyksYSxiLGMpO2Zvcih2YXIgZz0wLGg9dGhpcy5sZW5ndGg7ZzxoO2crKyllPXRoaXNbZ10sZj1lLnN0eWxlLmRpc3BsYXksIWQuX2RhdGEoZSwib2xkZGlzcGxheSIpJiZmPT09Im5vbmUiJiYoZj1lLnN0eWxlLmRpc3BsYXk9IiIpLGY9PT0iIiYmZC5jc3MoZSwiZGlzcGxheSIpPT09Im5vbmUiJiZkLl9kYXRhKGUsIm9sZGRpc3BsYXkiLGNkKGUubm9kZU5hbWUpKTtmb3IoZz0wO2c8aDtnKyspe2U9dGhpc1tnXSxmPWUuc3R5bGUuZGlzcGxheTtpZihmPT09IiJ8fGY9PT0ibm9uZSIpZS5zdHlsZS5kaXNwbGF5PWQuX2RhdGEoZSwib2xkZGlzcGxheSIpfHwiIn1yZXR1cm4gdGhpc30saGlkZTpmdW5jdGlvbihhLGIsYyl7aWYoYXx8YT09PTApcmV0dXJuIHRoaXMuYW5pbWF0ZShjYygiaGlkZSIsMyksYSxiLGMpO2Zvcih2YXIgZT0wLGY9dGhpcy5sZW5ndGg7ZTxmO2UrKyl7dmFyIGc9ZC5jc3ModGhpc1tlXSwiZGlzcGxheSIpO2chPT0ibm9uZSImJiFkLl9kYXRhKHRoaXNbZV0sIm9sZGRpc3BsYXkiKSYmZC5fZGF0YSh0aGlzW2VdLCJvbGRkaXNwbGF5IixnKX1mb3IoZT0wO2U8ZjtlKyspdGhpc1tlXS5zdHlsZS5kaXNwbGF5PSJub25lIjtyZXR1cm4gdGhpc30sX3RvZ2dsZTpkLmZuLnRvZ2dsZSx0b2dnbGU6ZnVuY3Rpb24oYSxiLGMpe3ZhciBlPXR5cGVvZiBhPT09ImJvb2xlYW4iO2QuaXNGdW5jdGlvbihhKSYmZC5pc0Z1bmN0aW9uKGIpP3RoaXMuX3RvZ2dsZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk6YT09bnVsbHx8ZT90aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYj1lP2E6ZCh0aGlzKS5pcygiOmhpZGRlbiIpO2QodGhpcylbYj8ic2hvdyI6ImhpZGUiXSgpfSk6dGhpcy5hbmltYXRlKGNjKCJ0b2dnbGUiLDMpLGEsYixjKTtyZXR1cm4gdGhpc30sZmFkZVRvOmZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiB0aGlzLmZpbHRlcigiOmhpZGRlbiIpLmNzcygib3BhY2l0eSIsMCkuc2hvdygpLmVuZCgpLmFuaW1hdGUoe29wYWNpdHk6Yn0sYSxjLGQpfSxhbmltYXRlOmZ1bmN0aW9uKGEsYixjLGUpe3ZhciBmPWQuc3BlZWQoYixjLGUpO2lmKGQuaXNFbXB0eU9iamVjdChhKSlyZXR1cm4gdGhpcy5lYWNoKGYuY29tcGxldGUpO3JldHVybiB0aGlzW2YucXVldWU9PT0hMT8iZWFjaCI6InF1ZXVlIl0oZnVuY3Rpb24oKXt2YXIgYj1kLmV4dGVuZCh7fSxmKSxjLGU9dGhpcy5ub2RlVHlwZT09PTEsZz1lJiZkKHRoaXMpLmlzKCI6aGlkZGVuIiksaD10aGlzO2ZvcihjIGluIGEpe3ZhciBpPWQuY2FtZWxDYXNlKGMpO2MhPT1pJiYoYVtpXT1hW2NdLGRlbGV0ZSBhW2NdLGM9aSk7aWYoYVtjXT09PSJoaWRlIiYmZ3x8YVtjXT09PSJzaG93IiYmIWcpcmV0dXJuIGIuY29tcGxldGUuY2FsbCh0aGlzKTtpZihlJiYoYz09PSJoZWlnaHQifHxjPT09IndpZHRoIikpe2Iub3ZlcmZsb3c9W3RoaXMuc3R5bGUub3ZlcmZsb3csdGhpcy5zdHlsZS5vdmVyZmxvd1gsdGhpcy5zdHlsZS5vdmVyZmxvd1ldO2lmKGQuY3NzKHRoaXMsImRpc3BsYXkiKT09PSJpbmxpbmUiJiZkLmNzcyh0aGlzLCJmbG9hdCIpPT09Im5vbmUiKWlmKGQuc3VwcG9ydC5pbmxpbmVCbG9ja05lZWRzTGF5b3V0KXt2YXIgaj1jZCh0aGlzLm5vZGVOYW1lKTtqPT09ImlubGluZSI/dGhpcy5zdHlsZS5kaXNwbGF5PSJpbmxpbmUtYmxvY2siOih0aGlzLnN0eWxlLmRpc3BsYXk9ImlubGluZSIsdGhpcy5zdHlsZS56b29tPTEpfWVsc2UgdGhpcy5zdHlsZS5kaXNwbGF5PSJpbmxpbmUtYmxvY2sifWQuaXNBcnJheShhW2NdKSYmKChiLnNwZWNpYWxFYXNpbmc9Yi5zcGVjaWFsRWFzaW5nfHx7fSlbY109YVtjXVsxXSxhW2NdPWFbY11bMF0pfWIub3ZlcmZsb3chPW51bGwmJih0aGlzLnN0eWxlLm92ZXJmbG93PSJoaWRkZW4iKSxiLmN1ckFuaW09ZC5leHRlbmQoe30sYSksZC5lYWNoKGEsZnVuY3Rpb24oYyxlKXt2YXIgZj1uZXcgZC5meChoLGIsYyk7aWYoYiQudGVzdChlKSlmW2U9PT0idG9nZ2xlIj9nPyJzaG93IjoiaGlkZSI6ZV0oYSk7ZWxzZXt2YXIgaT1iXy5leGVjKGUpLGo9Zi5jdXIoKTtpZihpKXt2YXIgaz1wYXJzZUZsb2F0KGlbMl0pLGw9aVszXXx8KGQuY3NzTnVtYmVyW2NdPyIiOiJweCIpO2whPT0icHgiJiYoZC5zdHlsZShoLGMsKGt8fDEpK2wpLGo9KGt8fDEpL2YuY3VyKCkqaixkLnN0eWxlKGgsYyxqK2wpKSxpWzFdJiYoaz0oaVsxXT09PSItPSI/LTE6MSkqaytqKSxmLmN1c3RvbShqLGssbCl9ZWxzZSBmLmN1c3RvbShqLGUsIiIpfX0pO3JldHVybiEwfSl9LHN0b3A6ZnVuY3Rpb24oYSxiKXt2YXIgYz1kLnRpbWVyczthJiZ0aGlzLnF1ZXVlKFtdKSx0aGlzLmVhY2goZnVuY3Rpb24oKXtmb3IodmFyIGE9Yy5sZW5ndGgtMTthPj0wO2EtLSljW2FdLmVsZW09PT10aGlzJiYoYiYmY1thXSghMCksYy5zcGxpY2UoYSwxKSl9KSxifHx0aGlzLmRlcXVldWUoKTtyZXR1cm4gdGhpc319KSxkLmVhY2goe3NsaWRlRG93bjpjYygic2hvdyIsMSksc2xpZGVVcDpjYygiaGlkZSIsMSksc2xpZGVUb2dnbGU6Y2MoInRvZ2dsZSIsMSksZmFkZUluOntvcGFjaXR5OiJzaG93In0sZmFkZU91dDp7b3BhY2l0eToiaGlkZSJ9LGZhZGVUb2dnbGU6e29wYWNpdHk6InRvZ2dsZSJ9fSxmdW5jdGlvbihhLGIpe2QuZm5bYV09ZnVuY3Rpb24oYSxjLGQpe3JldHVybiB0aGlzLmFuaW1hdGUoYixhLGMsZCl9fSksZC5leHRlbmQoe3NwZWVkOmZ1bmN0aW9uKGEsYixjKXt2YXIgZT1hJiZ0eXBlb2YgYT09PSJvYmplY3QiP2QuZXh0ZW5kKHt9LGEpOntjb21wbGV0ZTpjfHwhYyYmYnx8ZC5pc0Z1bmN0aW9uKGEpJiZhLGR1cmF0aW9uOmEsZWFzaW5nOmMmJmJ8fGImJiFkLmlzRnVuY3Rpb24oYikmJmJ9O2UuZHVyYXRpb249ZC5meC5vZmY/MDp0eXBlb2YgZS5kdXJhdGlvbj09PSJudW1iZXIiP2UuZHVyYXRpb246ZS5kdXJhdGlvbiBpbiBkLmZ4LnNwZWVkcz9kLmZ4LnNwZWVkc1tlLmR1cmF0aW9uXTpkLmZ4LnNwZWVkcy5fZGVmYXVsdCxlLm9sZD1lLmNvbXBsZXRlLGUuY29tcGxldGU9ZnVuY3Rpb24oKXtlLnF1ZXVlIT09ITEmJmQodGhpcykuZGVxdWV1ZSgpLGQuaXNGdW5jdGlvbihlLm9sZCkmJmUub2xkLmNhbGwodGhpcyl9O3JldHVybiBlfSxlYXNpbmc6e2xpbmVhcjpmdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gYytkKmF9LHN3aW5nOmZ1bmN0aW9uKGEsYixjLGQpe3JldHVybigtTWF0aC5jb3MoYSpNYXRoLlBJKS8yKy41KSpkK2N9fSx0aW1lcnM6W10sZng6ZnVuY3Rpb24oYSxiLGMpe3RoaXMub3B0aW9ucz1iLHRoaXMuZWxlbT1hLHRoaXMucHJvcD1jLGIub3JpZ3x8KGIub3JpZz17fSl9fSksZC5meC5wcm90b3R5cGU9e3VwZGF0ZTpmdW5jdGlvbigpe3RoaXMub3B0aW9ucy5zdGVwJiZ0aGlzLm9wdGlvbnMuc3RlcC5jYWxsKHRoaXMuZWxlbSx0aGlzLm5vdyx0aGlzKSwoZC5meC5zdGVwW3RoaXMucHJvcF18fGQuZnguc3RlcC5fZGVmYXVsdCkodGhpcyl9LGN1cjpmdW5jdGlvbigpe2lmKHRoaXMuZWxlbVt0aGlzLnByb3BdIT1udWxsJiYoIXRoaXMuZWxlbS5zdHlsZXx8dGhpcy5lbGVtLnN0eWxlW3RoaXMucHJvcF09PW51bGwpKXJldHVybiB0aGlzLmVsZW1bdGhpcy5wcm9wXTt2YXIgYSxiPWQuY3NzKHRoaXMuZWxlbSx0aGlzLnByb3ApO3JldHVybiBpc05hTihhPXBhcnNlRmxvYXQoYikpPyFifHxiPT09ImF1dG8iPzA6YjphfSxjdXN0b206ZnVuY3Rpb24oYSxiLGMpe2Z1bmN0aW9uIGcoYSl7cmV0dXJuIGUuc3RlcChhKX12YXIgZT10aGlzLGY9ZC5meDt0aGlzLnN0YXJ0VGltZT1kLm5vdygpLHRoaXMuc3RhcnQ9YSx0aGlzLmVuZD1iLHRoaXMudW5pdD1jfHx0aGlzLnVuaXR8fChkLmNzc051bWJlclt0aGlzLnByb3BdPyIiOiJweCIpLHRoaXMubm93PXRoaXMuc3RhcnQsdGhpcy5wb3M9dGhpcy5zdGF0ZT0wLGcuZWxlbT10aGlzLmVsZW0sZygpJiZkLnRpbWVycy5wdXNoKGcpJiYhY2EmJihjYT1zZXRJbnRlcnZhbChmLnRpY2ssZi5pbnRlcnZhbCkpfSxzaG93OmZ1bmN0aW9uKCl7dGhpcy5vcHRpb25zLm9yaWdbdGhpcy5wcm9wXT1kLnN0eWxlKHRoaXMuZWxlbSx0aGlzLnByb3ApLHRoaXMub3B0aW9ucy5zaG93PSEwLHRoaXMuY3VzdG9tKHRoaXMucHJvcD09PSJ3aWR0aCJ8fHRoaXMucHJvcD09PSJoZWlnaHQiPzE6MCx0aGlzLmN1cigpKSxkKHRoaXMuZWxlbSkuc2hvdygpfSxoaWRlOmZ1bmN0aW9uKCl7dGhpcy5vcHRpb25zLm9yaWdbdGhpcy5wcm9wXT1kLnN0eWxlKHRoaXMuZWxlbSx0aGlzLnByb3ApLHRoaXMub3B0aW9ucy5oaWRlPSEwLHRoaXMuY3VzdG9tKHRoaXMuY3VyKCksMCl9LHN0ZXA6ZnVuY3Rpb24oYSl7dmFyIGI9ZC5ub3coKSxjPSEwO2lmKGF8fGI+PXRoaXMub3B0aW9ucy5kdXJhdGlvbit0aGlzLnN0YXJ0VGltZSl7dGhpcy5ub3c9dGhpcy5lbmQsdGhpcy5wb3M9dGhpcy5zdGF0ZT0xLHRoaXMudXBkYXRlKCksdGhpcy5vcHRpb25zLmN1ckFuaW1bdGhpcy5wcm9wXT0hMDtmb3IodmFyIGUgaW4gdGhpcy5vcHRpb25zLmN1ckFuaW0pdGhpcy5vcHRpb25zLmN1ckFuaW1bZV0hPT0hMCYmKGM9ITEpO2lmKGMpe2lmKHRoaXMub3B0aW9ucy5vdmVyZmxvdyE9bnVsbCYmIWQuc3VwcG9ydC5zaHJpbmtXcmFwQmxvY2tzKXt2YXIgZj10aGlzLmVsZW0sZz10aGlzLm9wdGlvbnM7ZC5lYWNoKFsiIiwiWCIsIlkiXSxmdW5jdGlvbihhLGIpe2Yuc3R5bGVbIm92ZXJmbG93IitiXT1nLm92ZXJmbG93W2FdfSl9dGhpcy5vcHRpb25zLmhpZGUmJmQodGhpcy5lbGVtKS5oaWRlKCk7aWYodGhpcy5vcHRpb25zLmhpZGV8fHRoaXMub3B0aW9ucy5zaG93KWZvcih2YXIgaCBpbiB0aGlzLm9wdGlvbnMuY3VyQW5pbSlkLnN0eWxlKHRoaXMuZWxlbSxoLHRoaXMub3B0aW9ucy5vcmlnW2hdKTt0aGlzLm9wdGlvbnMuY29tcGxldGUuY2FsbCh0aGlzLmVsZW0pfXJldHVybiExfXZhciBpPWItdGhpcy5zdGFydFRpbWU7dGhpcy5zdGF0ZT1pL3RoaXMub3B0aW9ucy5kdXJhdGlvbjt2YXIgaj10aGlzLm9wdGlvbnMuc3BlY2lhbEVhc2luZyYmdGhpcy5vcHRpb25zLnNwZWNpYWxFYXNpbmdbdGhpcy5wcm9wXSxrPXRoaXMub3B0aW9ucy5lYXNpbmd8fChkLmVhc2luZy5zd2luZz8ic3dpbmciOiJsaW5lYXIiKTt0aGlzLnBvcz1kLmVhc2luZ1tqfHxrXSh0aGlzLnN0YXRlLGksMCwxLHRoaXMub3B0aW9ucy5kdXJhdGlvbiksdGhpcy5ub3c9dGhpcy5zdGFydCsodGhpcy5lbmQtdGhpcy5zdGFydCkqdGhpcy5wb3MsdGhpcy51cGRhdGUoKTtyZXR1cm4hMH19LGQuZXh0ZW5kKGQuZngse3RpY2s6ZnVuY3Rpb24oKXt2YXIgYT1kLnRpbWVycztmb3IodmFyIGI9MDtiPGEubGVuZ3RoO2IrKylhW2JdKCl8fGEuc3BsaWNlKGItLSwxKTthLmxlbmd0aHx8ZC5meC5zdG9wKCl9LGludGVydmFsOjEzLHN0b3A6ZnVuY3Rpb24oKXtjbGVhckludGVydmFsKGNhKSxjYT1udWxsfSxzcGVlZHM6e3Nsb3c6NjAwLGZhc3Q6MjAwLF9kZWZhdWx0OjQwMH0sc3RlcDp7b3BhY2l0eTpmdW5jdGlvbihhKXtkLnN0eWxlKGEuZWxlbSwib3BhY2l0eSIsYS5ub3cpfSxfZGVmYXVsdDpmdW5jdGlvbihhKXthLmVsZW0uc3R5bGUmJmEuZWxlbS5zdHlsZVthLnByb3BdIT1udWxsP2EuZWxlbS5zdHlsZVthLnByb3BdPShhLnByb3A9PT0id2lkdGgifHxhLnByb3A9PT0iaGVpZ2h0Ij9NYXRoLm1heCgwLGEubm93KTphLm5vdykrYS51bml0OmEuZWxlbVthLnByb3BdPWEubm93fX19KSxkLmV4cHImJmQuZXhwci5maWx0ZXJzJiYoZC5leHByLmZpbHRlcnMuYW5pbWF0ZWQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGQuZ3JlcChkLnRpbWVycyxmdW5jdGlvbihiKXtyZXR1cm4gYT09PWIuZWxlbX0pLmxlbmd0aH0pO3ZhciBjZT0vXnQoPzphYmxlfGR8aCkkL2ksY2Y9L14oPzpib2R5fGh0bWwpJC9pOyJnZXRCb3VuZGluZ0NsaWVudFJlY3QiaW4gYy5kb2N1bWVudEVsZW1lbnQ/ZC5mbi5vZmZzZXQ9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpc1swXSxjO2lmKGEpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihiKXtkLm9mZnNldC5zZXRPZmZzZXQodGhpcyxhLGIpfSk7aWYoIWJ8fCFiLm93bmVyRG9jdW1lbnQpcmV0dXJuIG51bGw7aWYoYj09PWIub3duZXJEb2N1bWVudC5ib2R5KXJldHVybiBkLm9mZnNldC5ib2R5T2Zmc2V0KGIpO3RyeXtjPWIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCl9Y2F0Y2goZSl7fXZhciBmPWIub3duZXJEb2N1bWVudCxnPWYuZG9jdW1lbnRFbGVtZW50O2lmKCFjfHwhZC5jb250YWlucyhnLGIpKXJldHVybiBjP3t0b3A6Yy50b3AsbGVmdDpjLmxlZnR9Ont0b3A6MCxsZWZ0OjB9O3ZhciBoPWYuYm9keSxpPWNnKGYpLGo9Zy5jbGllbnRUb3B8fGguY2xpZW50VG9wfHwwLGs9Zy5jbGllbnRMZWZ0fHxoLmNsaWVudExlZnR8fDAsbD1pLnBhZ2VZT2Zmc2V0fHxkLnN1cHBvcnQuYm94TW9kZWwmJmcuc2Nyb2xsVG9wfHxoLnNjcm9sbFRvcCxtPWkucGFnZVhPZmZzZXR8fGQuc3VwcG9ydC5ib3hNb2RlbCYmZy5zY3JvbGxMZWZ0fHxoLnNjcm9sbExlZnQsbj1jLnRvcCtsLWosbz1jLmxlZnQrbS1rO3JldHVybnt0b3A6bixsZWZ0Om99fTpkLmZuLm9mZnNldD1mdW5jdGlvbihhKXt2YXIgYj10aGlzWzBdO2lmKGEpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihiKXtkLm9mZnNldC5zZXRPZmZzZXQodGhpcyxhLGIpfSk7aWYoIWJ8fCFiLm93bmVyRG9jdW1lbnQpcmV0dXJuIG51bGw7aWYoYj09PWIub3duZXJEb2N1bWVudC5ib2R5KXJldHVybiBkLm9mZnNldC5ib2R5T2Zmc2V0KGIpO2Qub2Zmc2V0LmluaXRpYWxpemUoKTt2YXIgYyxlPWIub2Zmc2V0UGFyZW50LGY9YixnPWIub3duZXJEb2N1bWVudCxoPWcuZG9jdW1lbnRFbGVtZW50LGk9Zy5ib2R5LGo9Zy5kZWZhdWx0VmlldyxrPWo/ai5nZXRDb21wdXRlZFN0eWxlKGIsbnVsbCk6Yi5jdXJyZW50U3R5bGUsbD1iLm9mZnNldFRvcCxtPWIub2Zmc2V0TGVmdDt3aGlsZSgoYj1iLnBhcmVudE5vZGUpJiZiIT09aSYmYiE9PWgpe2lmKGQub2Zmc2V0LnN1cHBvcnRzRml4ZWRQb3NpdGlvbiYmay5wb3NpdGlvbj09PSJmaXhlZCIpYnJlYWs7Yz1qP2ouZ2V0Q29tcHV0ZWRTdHlsZShiLG51bGwpOmIuY3VycmVudFN0eWxlLGwtPWIuc2Nyb2xsVG9wLG0tPWIuc2Nyb2xsTGVmdCxiPT09ZSYmKGwrPWIub2Zmc2V0VG9wLG0rPWIub2Zmc2V0TGVmdCxkLm9mZnNldC5kb2VzTm90QWRkQm9yZGVyJiYoIWQub2Zmc2V0LmRvZXNBZGRCb3JkZXJGb3JUYWJsZUFuZENlbGxzfHwhY2UudGVzdChiLm5vZGVOYW1lKSkmJihsKz1wYXJzZUZsb2F0KGMuYm9yZGVyVG9wV2lkdGgpfHwwLG0rPXBhcnNlRmxvYXQoYy5ib3JkZXJMZWZ0V2lkdGgpfHwwKSxmPWUsZT1iLm9mZnNldFBhcmVudCksZC5vZmZzZXQuc3VidHJhY3RzQm9yZGVyRm9yT3ZlcmZsb3dOb3RWaXNpYmxlJiZjLm92ZXJmbG93IT09InZpc2libGUiJiYobCs9cGFyc2VGbG9hdChjLmJvcmRlclRvcFdpZHRoKXx8MCxtKz1wYXJzZUZsb2F0KGMuYm9yZGVyTGVmdFdpZHRoKXx8MCksaz1jfWlmKGsucG9zaXRpb249PT0icmVsYXRpdmUifHxrLnBvc2l0aW9uPT09InN0YXRpYyIpbCs9aS5vZmZzZXRUb3AsbSs9aS5vZmZzZXRMZWZ0O2Qub2Zmc2V0LnN1cHBvcnRzRml4ZWRQb3NpdGlvbiYmay5wb3NpdGlvbj09PSJmaXhlZCImJihsKz1NYXRoLm1heChoLnNjcm9sbFRvcCxpLnNjcm9sbFRvcCksbSs9TWF0aC5tYXgoaC5zY3JvbGxMZWZ0LGkuc2Nyb2xsTGVmdCkpO3JldHVybnt0b3A6bCxsZWZ0Om19fSxkLm9mZnNldD17aW5pdGlhbGl6ZTpmdW5jdGlvbigpe3ZhciBhPWMuYm9keSxiPWMuY3JlYXRlRWxlbWVudCgiZGl2IiksZSxmLGcsaCxpPXBhcnNlRmxvYXQoZC5jc3MoYSwibWFyZ2luVG9wIikpfHwwLGo9IjxkaXYgc3R5bGU9J3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDttYXJnaW46MDtib3JkZXI6NXB4IHNvbGlkICMwMDA7cGFkZGluZzowO3dpZHRoOjFweDtoZWlnaHQ6MXB4Oyc+PGRpdj48L2Rpdj48L2Rpdj48dGFibGUgc3R5bGU9J3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDttYXJnaW46MDtib3JkZXI6NXB4IHNvbGlkICMwMDA7cGFkZGluZzowO3dpZHRoOjFweDtoZWlnaHQ6MXB4OycgY2VsbHBhZGRpbmc9JzAnIGNlbGxzcGFjaW5nPScwJz48dHI+PHRkPjwvdGQ+PC90cj48L3RhYmxlPiI7ZC5leHRlbmQoYi5zdHlsZSx7cG9zaXRpb246ImFic29sdXRlIix0b3A6MCxsZWZ0OjAsbWFyZ2luOjAsYm9yZGVyOjAsd2lkdGg6IjFweCIsaGVpZ2h0OiIxcHgiLHZpc2liaWxpdHk6ImhpZGRlbiJ9KSxiLmlubmVySFRNTD1qLGEuaW5zZXJ0QmVmb3JlKGIsYS5maXJzdENoaWxkKSxlPWIuZmlyc3RDaGlsZCxmPWUuZmlyc3RDaGlsZCxoPWUubmV4dFNpYmxpbmcuZmlyc3RDaGlsZC5maXJzdENoaWxkLHRoaXMuZG9lc05vdEFkZEJvcmRlcj1mLm9mZnNldFRvcCE9PTUsdGhpcy5kb2VzQWRkQm9yZGVyRm9yVGFibGVBbmRDZWxscz1oLm9mZnNldFRvcD09PTUsZi5zdHlsZS5wb3NpdGlvbj0iZml4ZWQiLGYuc3R5bGUudG9wPSIyMHB4Iix0aGlzLnN1cHBvcnRzRml4ZWRQb3NpdGlvbj1mLm9mZnNldFRvcD09PTIwfHxmLm9mZnNldFRvcD09PTE1LGYuc3R5bGUucG9zaXRpb249Zi5zdHlsZS50b3A9IiIsZS5zdHlsZS5vdmVyZmxvdz0iaGlkZGVuIixlLnN0eWxlLnBvc2l0aW9uPSJyZWxhdGl2ZSIsdGhpcy5zdWJ0cmFjdHNCb3JkZXJGb3JPdmVyZmxvd05vdFZpc2libGU9Zi5vZmZzZXRUb3A9PT0tNSx0aGlzLmRvZXNOb3RJbmNsdWRlTWFyZ2luSW5Cb2R5T2Zmc2V0PWEub2Zmc2V0VG9wIT09aSxhLnJlbW92ZUNoaWxkKGIpLGE9Yj1lPWY9Zz1oPW51bGwsZC5vZmZzZXQuaW5pdGlhbGl6ZT1kLm5vb3B9LGJvZHlPZmZzZXQ6ZnVuY3Rpb24oYSl7dmFyIGI9YS5vZmZzZXRUb3AsYz1hLm9mZnNldExlZnQ7ZC5vZmZzZXQuaW5pdGlhbGl6ZSgpLGQub2Zmc2V0LmRvZXNOb3RJbmNsdWRlTWFyZ2luSW5Cb2R5T2Zmc2V0JiYoYis9cGFyc2VGbG9hdChkLmNzcyhhLCJtYXJnaW5Ub3AiKSl8fDAsYys9cGFyc2VGbG9hdChkLmNzcyhhLCJtYXJnaW5MZWZ0IikpfHwwKTtyZXR1cm57dG9wOmIsbGVmdDpjfX0sc2V0T2Zmc2V0OmZ1bmN0aW9uKGEsYixjKXt2YXIgZT1kLmNzcyhhLCJwb3NpdGlvbiIpO2U9PT0ic3RhdGljIiYmKGEuc3R5bGUucG9zaXRpb249InJlbGF0aXZlIik7dmFyIGY9ZChhKSxnPWYub2Zmc2V0KCksaD1kLmNzcyhhLCJ0b3AiKSxpPWQuY3NzKGEsImxlZnQiKSxqPWU9PT0iYWJzb2x1dGUiJiZkLmluQXJyYXkoImF1dG8iLFtoLGldKT4tMSxrPXt9LGw9e30sbSxuO2omJihsPWYucG9zaXRpb24oKSksbT1qP2wudG9wOnBhcnNlSW50KGgsMTApfHwwLG49aj9sLmxlZnQ6cGFyc2VJbnQoaSwxMCl8fDAsZC5pc0Z1bmN0aW9uKGIpJiYoYj1iLmNhbGwoYSxjLGcpKSxiLnRvcCE9bnVsbCYmKGsudG9wPWIudG9wLWcudG9wK20pLGIubGVmdCE9bnVsbCYmKGsubGVmdD1iLmxlZnQtZy5sZWZ0K24pLCJ1c2luZyJpbiBiP2IudXNpbmcuY2FsbChhLGspOmYuY3NzKGspfX0sZC5mbi5leHRlbmQoe3Bvc2l0aW9uOmZ1bmN0aW9uKCl7aWYoIXRoaXNbMF0pcmV0dXJuIG51bGw7dmFyIGE9dGhpc1swXSxiPXRoaXMub2Zmc2V0UGFyZW50KCksYz10aGlzLm9mZnNldCgpLGU9Y2YudGVzdChiWzBdLm5vZGVOYW1lKT97dG9wOjAsbGVmdDowfTpiLm9mZnNldCgpO2MudG9wLT1wYXJzZUZsb2F0KGQuY3NzKGEsIm1hcmdpblRvcCIpKXx8MCxjLmxlZnQtPXBhcnNlRmxvYXQoZC5jc3MoYSwibWFyZ2luTGVmdCIpKXx8MCxlLnRvcCs9cGFyc2VGbG9hdChkLmNzcyhiWzBdLCJib3JkZXJUb3BXaWR0aCIpKXx8MCxlLmxlZnQrPXBhcnNlRmxvYXQoZC5jc3MoYlswXSwiYm9yZGVyTGVmdFdpZHRoIikpfHwwO3JldHVybnt0b3A6Yy50b3AtZS50b3AsbGVmdDpjLmxlZnQtZS5sZWZ0fX0sb2Zmc2V0UGFyZW50OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vZmZzZXRQYXJlbnR8fGMuYm9keTt3aGlsZShhJiYoIWNmLnRlc3QoYS5ub2RlTmFtZSkmJmQuY3NzKGEsInBvc2l0aW9uIik9PT0ic3RhdGljIikpYT1hLm9mZnNldFBhcmVudDtyZXR1cm4gYX0pfX0pLGQuZWFjaChbIkxlZnQiLCJUb3AiXSxmdW5jdGlvbihhLGMpe3ZhciBlPSJzY3JvbGwiK2M7ZC5mbltlXT1mdW5jdGlvbihjKXt2YXIgZj10aGlzWzBdLGc7aWYoIWYpcmV0dXJuIG51bGw7aWYoYyE9PWIpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2c9Y2codGhpcyksZz9nLnNjcm9sbFRvKGE/ZChnKS5zY3JvbGxMZWZ0KCk6YyxhP2M6ZChnKS5zY3JvbGxUb3AoKSk6dGhpc1tlXT1jfSk7Zz1jZyhmKTtyZXR1cm4gZz8icGFnZVhPZmZzZXQiaW4gZz9nW2E/InBhZ2VZT2Zmc2V0IjoicGFnZVhPZmZzZXQiXTpkLnN1cHBvcnQuYm94TW9kZWwmJmcuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50W2VdfHxnLmRvY3VtZW50LmJvZHlbZV06ZltlXX19KSxkLmVhY2goWyJIZWlnaHQiLCJXaWR0aCJdLGZ1bmN0aW9uKGEsYyl7dmFyIGU9Yy50b0xvd2VyQ2FzZSgpO2QuZm5bImlubmVyIitjXT1mdW5jdGlvbigpe3JldHVybiB0aGlzWzBdP3BhcnNlRmxvYXQoZC5jc3ModGhpc1swXSxlLCJwYWRkaW5nIikpOm51bGx9LGQuZm5bIm91dGVyIitjXT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpc1swXT9wYXJzZUZsb2F0KGQuY3NzKHRoaXNbMF0sZSxhPyJtYXJnaW4iOiJib3JkZXIiKSk6bnVsbH0sZC5mbltlXT1mdW5jdGlvbihhKXt2YXIgZj10aGlzWzBdO2lmKCFmKXJldHVybiBhPT1udWxsP251bGw6dGhpcztpZihkLmlzRnVuY3Rpb24oYSkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihiKXt2YXIgYz1kKHRoaXMpO2NbZV0oYS5jYWxsKHRoaXMsYixjW2VdKCkpKX0pO2lmKGQuaXNXaW5kb3coZikpe3ZhciBnPWYuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50WyJjbGllbnQiK2NdO3JldHVybiBmLmRvY3VtZW50LmNvbXBhdE1vZGU9PT0iQ1NTMUNvbXBhdCImJmd8fGYuZG9jdW1lbnQuYm9keVsiY2xpZW50IitjXXx8Z31pZihmLm5vZGVUeXBlPT09OSlyZXR1cm4gTWF0aC5tYXgoZi5kb2N1bWVudEVsZW1lbnRbImNsaWVudCIrY10sZi5ib2R5WyJzY3JvbGwiK2NdLGYuZG9jdW1lbnRFbGVtZW50WyJzY3JvbGwiK2NdLGYuYm9keVsib2Zmc2V0IitjXSxmLmRvY3VtZW50RWxlbWVudFsib2Zmc2V0IitjXSk7aWYoYT09PWIpe3ZhciBoPWQuY3NzKGYsZSksaT1wYXJzZUZsb2F0KGgpO3JldHVybiBkLmlzTmFOKGkpP2g6aX1yZXR1cm4gdGhpcy5jc3MoZSx0eXBlb2YgYT09PSJzdHJpbmciP2E6YSsicHgiKX19KSxhLmpRdWVyeT1hLiQ9ZH0pKHdpbmRvdyk7]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/adminertab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[77u/DQp7aWYgJGRpc3BsYXkgPT0gJ2xpZ2h0Ym94JyB9DQoJPHA+PGEgaHJlZj0ieyR1cmx9IiBvbmNsaWNrPSJyZXR1cm4gR0Jfc2hvd0Z1bGxTY3JlZW4oJ2J0QWRtaW5lcicsIHRoaXMuaHJlZikiPnskcHJvbXB0X29wZW5pbmxpZ2h0Ym94fTwvYT48L3A+DQp7ZWxzZX0NCgk8aWZyYW1lIHNyYz0ieyR1cmx9IiBuYW1lPSJidEFkbWluZXIiIHNjcm9sbGluZz0iYXV0byIgbWFyZ2luaGVpZ2h0PSIwIiBtYXJnaW53aWR0aD0iMCIgaGVpZ2h0PSJ7JGZyYW1laGVpZ2h0fSIgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgZnJhbWVib3JkZXI9IjAiPjwvaWZyYW1lPg0Key9pZn0=]]></data>
	</file>
	<file>
	  <filename>/templates/optiontab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[77u/eyRzdGFydEZvcm19DQo8ZmllbGRzZXQ+DQo8bGVnZW5kPnskZ2xvYmFsb3B0aW9uc308L2xlZ2VuZD4NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2Rpc3BsYXl9OjwvcD4NCgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9kaXNwbGF5fTwvcD4NCgk8L2Rpdj4NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2ZyYW1laGVpZ2h0fTo8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfZnJhbWVoZWlnaHR9PC9wPg0KCTwvZGl2Pg0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfcHJvZ306PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3Byb2d9PC9wPg0KCTwvZGl2Pg0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfYWRtaW5fc2VjdGlvbn06PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2FkbWluX3NlY3Rpb259PC9wPg0KCTwvZGl2Pg0KPC9maWVsZHNldD4NCjxmaWVsZHNldD4NCgk8bGVnZW5kPlBsdWdpbnM8L2xlZ2VuZD4NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X3htbGV4cG9ydH06PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3htbGV4cG9ydH08L3A+DQoJPC9kaXY+DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF96aXBleHBvcnR9OjwvcD4NCgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF96aXBleHBvcnR9PC9wPg0KCTwvZGl2Pg0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfY2FsZW5kYXJ9OjwvcD4NCgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9jYWxlbmRhcn08L3A+DQoJPC9kaXY+DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9mb3JlaWdufTo8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfZm9yZWlnbn08L3A+DQoJPC9kaXY+DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF90ZXh0YXJlYX06PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3RleHRhcmVhfTwvcD4NCgk8L2Rpdj4NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2VudW19OjwvcD4NCgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9lbnVtfTwvcD4NCgk8L2Rpdj4NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4NCgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRzdWJtaXR9PC9wPg0KCTwvZGl2Pg0KPC9maWVsZHNldD4NCnskZW5kRm9ybX0=]]></data>
	</file>
</module>
