<?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.0.1</version>
  <mincmsversion>1.9.4.2</mincmsversion>
	<help><![CDATA[LS1BZGQgTWUgLSBtb2R1bGU6YnRBZG1pbmVyIHN0cmluZzpoZWxwLS08aDM+UGFyYW1ldGVyPC9oMz48dWw+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gbGFuZz0iZW5fVVMiIC0gRGllc2VyIFBhcmFtZXRlciBsZWd0IGRpZSBTcHJhY2hlIGZlc3QsIGRpZSB2b20gTW9kdWwgZiZ1dW1sO3IgZGllIEF1c2dhYmUgYXVmIGRlciBXZWJzZWl0ZSB2ZXJ3ZW5kZXQgd2lyZC4gRGllcyB3aXJkIGplZG9jaCBuaWNodCB2b24gYWxsZW4gTW9kdWxlbiB1bnRlcnN0JnV1bWw7dHp0IGJ6dy4gYmVuJm91bWw7dGlndC48L2xpPjwvdWw+]]></help>
	<about><![CDATA[PGJyIC8+QXV0b3I6IGJsYXR0ZXJ0ZWNoIGluZm9ybWF0aWsgJmx0O2luZm9AYmxhdHRlcnRlY2guY2gmZ3Q7PGJyIC8+PGJyIC8+VmVyc2lvbiA6IDEuMC4xPGJyIC8+]]></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[DQpib2R5IHsNCiAgICBmb250LXNpemU6IDExcHg7DQogICAgbGluZS1oZWlnaHQ6IDE0cHg7DQogICAgZm9udC1mYW1pbHk6IFZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7DQp9DQpjb2RlIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCn0NCnRhYmxlIHsNCiAgICBmb250LXNpemU6IDExcHg7DQogICAgYmFja2dyb3VuZDogbm9uZSByZXBlYXQgc2Nyb2xsIDAgMCAjRkZGRkZGOw0KICAgIGJvcmRlcjogMXB4IHNvbGlkICNBMkFBQjg7DQp9DQp0YWJsZS5ub3dyYXAgew0KICAgIGJhY2tncm91bmQ6IG5vbmUgcmVwZWF0IHNjcm9sbCAwIDAgI0ZGRkZGRjsNCiAgICBib3JkZXI6IDFweCBzb2xpZCAjQTJBQUI4Ow0KfQ0KdGhlYWQgdGQsIHRoZWFkIHRoLCB0aGVhZCB0cjpob3ZlciB0ZCwgdGhlYWQgdHI6aG92ZXIgdGggew0KICAgIGJhY2tncm91bmQtY29sb3I6ICM1ODU4NTg7DQogICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQoY2VudGVyIHRvcCwgIzdGN0Y3RiAxMCUsICM1QjVCNUIgMTAwJSk7DQogICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14Ow0KICAgIGNvbG9yOiAjRkZGRkZGOw0KICAgIGZvbnQtc2l6ZTogMTBweDsNCiAgICBoZWlnaHQ6IDIwcHg7DQogICAgbGluZS1oZWlnaHQ6IDE5cHg7DQp9DQp0ciB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjsNCn0NCnRyLm9kZCB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI0Y3RjdGNzsNCn0NCnRkLCB0aCB7DQogICAgYm9yZGVyOiBtZWRpdW0gbm9uZTsNCiAgICBiYWNrZ3JvdW5kOiBub25lOw0KfQ0KdGJvZHkgdHI6aG92ZXIgdGQsIHRib2R5IHRyOmhvdmVyIHRoIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREVERURFOw0KfQ0KYSB7DQogICAgY29sb3I6IGJsYWNrOw0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBjdXJzb3I6IHBvaW50ZXI7DQp9DQphOmxpbmsgew0KICAgIGNvbG9yOiBibGFjazsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgY3Vyc29yOiBwb2ludGVyOw0KfQ0KYTp2aXNpdGVkIHsNCiAgICBjb2xvcjogYmxhY2s7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGN1cnNvcjogcG9pbnRlcjsNCn0NCmE6aG92ZXIgew0KICAgIGNvbG9yOiBibGFjazsNCiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsNCn0NCmE6YWN0aXZlIHsNCiAgICBjb2xvcjogYmxhY2s7DQogICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7DQp9DQp0YWJsZS5ub3dyYXAgYVtocmVmKj0iZWRpdD0iXVtocmVmKj0iJndoZXJlIl0gew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBsZWZ0OiA0cHg7DQogICAgd2lkdGg6IDE2cHg7DQogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICAgIG92ZXJmbG93OiBoaWRkZW47DQp9DQoNCnRhYmxlLm5vd3JhcCBhW2hyZWYqPSJlZGl0PSJdW2hyZWYqPSImd2hlcmUiXTpob3ZlciB7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KfQ0KdGFibGUubm93cmFwIGFbaHJlZio9ImVkaXQ9Il1baHJlZio9IiZ3aGVyZSJdOmJlZm9yZSB7DQogICAgY29udGVudDogIlwwMGEwIjsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImltYWdlcy9kb2N1bWVudC1vcGVuLnBuZyIpOw0KICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IDA7DQogICAgaGVpZ2h0OiAxNnB4Ow0KICAgIHdpZHRoOiAxNnB4Ow0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICBvdmVyZmxvdzogaGlkZGVuOw0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCn0NCnRhYmxlLm5vd3JhcCB0aGVhZCB0aCBhLCB0YWJsZS5ub3dyYXAgdGhlYWQgdGQgYSB7DQogICAgY29sb3I6IHdoaXRlOw0KfQ0KDQpwI2JyZWFkY3J1bWIgew0KICAgIGJvcmRlcjogbWVkaXVtIG5vbmU7DQp9DQpwI2JyZWFkY3J1bWIgYSB7DQogICAgY29sb3I6ICNGRkZGRkY7DQp9DQojbWVudSB7DQogICAgbWFyZ2luOiAwOw0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICB0b3A6IDA7DQogICAgYm90dG9tOiAwOw0KICAgIGxlZnQ6IDA7DQogICAgd2lkdGg6IDI3MHB4Ow0KICAgIHBhZGRpbmc6IDA7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI0VCRUJFQjsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQU1BQUFBQkNBWUFBQUFiNEJTMEFBQUFHRWxFUVZSNDJnRU5BUEwvQU1qSXlFekl5TWl6eU1qSS96aHZDUWVsYUhQUEFBQUFBRWxGVGtTdVFtQ0MiKTsNCiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXk7DQogICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2VudGVyOw0KfQ0KI21lbnUgZm9ybVttZXRob2QqPSJwb3N0Il0gew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNEQURBREE7DQogICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFNQUFBQUJDQVlBQUFBYjRCUzBBQUFBR0VsRVFWUjQyZ0VOQVBML0FMaTR1RXk0dUxpMHVMaTQvelNFQ0hpanB3TUdBQUFBQUVsRlRrU3VRbUNDIik7DQogICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC15Ow0KICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNlbnRlcjsNCn0NCiNtZW51IHAgew0KICAgIG1hcmdpbjogMDsNCiAgICBwYWRkaW5nOiA0cHggMTBweDsNCiAgICBib3JkZXI6IG1lZGl1bSBub25lOw0KfQ0KI21lbnUgcCBzZWxlY3Qgew0KICAgIHdpZHRoOiAxMDAlOw0KfQ0KDQojbWVudSBoMSB7DQogICAgaGVpZ2h0OiAyMnB4Ow0KICAgIHBhZGRpbmc6IDAgMTBweDsNCiAgICBtYXJnaW46IDA7DQogICAgbGluZS1oZWlnaHQ6IDIwcHg7DQogICAgZGlzcGxheTogYmxvY2s7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzU4NTg1ODsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQU1BQUFBQkNBWUFBQUFiNEJTMEFBQUFHRWxFUVZSNDJnRU5BUEwvQUVCQVFFeEFRRUN6UUVCQS94YjNCRDhDSEJOMEFBQUFBRWxGVGtTdVFtQ0MiKTsNCiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXk7DQogICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2VudGVyOw0KICAgIGNvbG9yOiAjRkZGRkZGOw0KICAgIGZvbnQtc2l6ZTogMTBweDsNCiAgICBib3JkZXI6IG1lZGl1bSBub25lOw0KfQ0KDQojbWVudSBoMSBhIHsNCiAgICBmb250LXNpemU6IDEzcHg7DQogICAgY29sb3I6ICNGRkZGRkY7DQp9DQoNCiNtZW51IGgxIC52ZXJzaW9uIHsNCiAgICBmb250LXNpemU6IDlweDsNCiAgICBjb2xvcjogI0ZGRkZGRjsNCn0NCg0KI21lbnUgKiB7DQogICAgbWFyZ2luOiAwOw0KICAgIHBhZGRpbmc6IDA7DQp9DQoNCnAjdGFibGVzIHsNCiAgICBtYXJnaW46IDA7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIHRvcDogOTdweDsNCiAgICBib3R0b206IDA7DQogICAgbGVmdDogMDsNCiAgICBwYWRkaW5nOiAwIDAgMCA1cHg7DQogICAgb3ZlcmZsb3cteDogaGlkZGVuOw0KICAgIG92ZXJmbG93LXk6IGF1dG87DQogICAgd2lkdGg6IDI2NXB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAxOHB4Ow0KICAgIGJhY2tncm91bmQtY29sb3I6ICNFQkVCRUI7DQogICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFNQUFBQUJDQVlBQUFBYjRCUzBBQUFBR0VsRVFWUjQyZ0VOQVBML0FNakl5RXpJeU1penlNakkvemh2Q1FlbGFIUFBBQUFBQUVsRlRrU3VRbUNDIik7DQogICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC15Ow0KICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNlbnRlcjsNCn0NCg0KcCN0YWJsZXMgYSB7DQogICAgZGlzcGxheTogYmxvY2s7DQogICAgbWFyZ2luOiAwOw0KICAgIHBhZGRpbmc6IDA7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIG1hcmdpbi10b3A6IDFweDsNCiAgICB0b3A6IDBweDsNCn0NCg0KcCN0YWJsZXMgYVtocmVmKj0ic2VsZWN0PSJdIHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgbGVmdDogMTBweDsNCiAgICB3aWR0aDogMTZweDsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICBvdmVyZmxvdzogaGlkZGVuOw0KfQ0KDQpwI3RhYmxlcyBhW2hyZWYqPSJzZWxlY3Q9Il06YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXDAwYTAiOw0KICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiaW1hZ2VzL3N5c3RlbS1saXN0LW9wZW4ucG5nIik7DQogICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggMDsNCiAgICBoZWlnaHQ6IDE2cHg7DQogICAgd2lkdGg6IDE2cHg7DQogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICAgIG92ZXJmbG93OiBoaWRkZW47DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIGxpbmUtaGVpZ2h0OiAxOHB4Ow0KfQ0KDQpwI3RhYmxlcyBhW2hyZWYqPSJ0YWJsZT0iXSB7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIGxlZnQ6IDM2cHg7DQogICAgd2lkdGg6IDIwMHB4Ow0KfQ0KcCN0YWJsZXMgc3Bhbi50YWJsZXMtbGluZSB7DQogICAgZGlzcGxheTogbGlzdC1pdGVtOw0KICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50Ow0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZQ0KfQ0KcCN0YWJsZXMgc3Bhbi50YWJsZXMtbGluZS1hY3RpdmUgew0KICAgIGRpc3BsYXk6IGxpc3QtaXRlbTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjhGOEY4Ow0KICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRDdEN0Q3Ow0KICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0Q3RDdENzsNCiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI0Q3RDdENzsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQp9DQpwI3RhYmxlcyBzcGFuLnRhYmxlcy1saW5lOmhvdmVyIHsNCiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0Q3RDdENzsNCiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNEN0Q3RDc7DQogICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNEN0Q3RDc7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI0YyRjJGMjsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQU1BQUFBQkNBWUFBQUFiNEJTMEFBQUFHRWxFUVZSNDJnRU5BUEwvQU1qSXlFekl5TWl6eU1qSS96aHZDUWVsYUhQUEFBQUFBRWxGVGtTdVFtQ0MiKTsNCiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBjZW50ZXI7DQogICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC15Ow0KICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7DQogICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDsNCn0NCiNsYW5nIHsNCiAgICB0b3A6IDFweDsNCiAgICByaWdodDogMThweDsNCiAgICBsZWZ0OiBhdXRvOw0KICAgIG1hcmdpbjogMDsNCiAgICBwYWRkaW5nOiAwOw0KICAgIHotaW5kZXg6IDEwOw0KICAgIGNvbG9yOiAjRkZGRkZGOw0KfQ0KI2xhbmcgc2VsZWN0IHsNCiAgICBoZWlnaHQ6IDE4cHg7DQp9DQoNCiNjb250ZW50IHsNCiAgICBtYXJnaW46IDA7DQogICAgcGFkZGluZzogMCAxMHB4IDEwcHggMTBweDsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgbGVmdDogMjcwcHg7DQogICAgcmlnaHQ6IDA7DQogICAgdG9wOiA0OXB4Ow0KICAgIGJvdHRvbTogMDsNCiAgICBvdmVyZmxvdzogYXV0bzsNCn0NCiNjb250ZW50IHRhYmxlIHRyOm50aC1jaGlsZCgybikgdGQsICNjb250ZW50IHRhYmxlIHRyOm50aC1jaGlsZCgybikgdGggew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNGN0Y3Rjc7DQp9DQojY29udGVudCB0YWJsZSB0Ym9keSB0cjpob3ZlciB0ZCwgI2NvbnRlbnQgdGFibGUgdGJvZHkgdHI6aG92ZXIgdGggew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNERURFREU7DQp9DQojY29udGVudCBoMiB7DQogICAgZGlzcGxheTogYmxvY2s7DQogICAgbWFyZ2luOiAwOw0KICAgIGhlaWdodDogMjFweDsNCiAgICBwb3NpdGlvbjogZml4ZWQ7DQogICAgbGVmdDogMjcwcHg7DQogICAgcmlnaHQ6IDA7DQogICAgdG9wOiAyMnB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAyMnB4Ow0KICAgIHBhZGRpbmc6IDAgMCA2cHggMTBweDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREFEQURBOw0KICAgIGZvbnQtc2l6ZTogMTJweDsNCiAgICBib3JkZXI6IG1lZGl1bSBub25lOw0KICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KfQ0KDQpoMSwgaDIsIGgzLCBoNCB7DQogICAgY29sb3I6ICM1NTU1NTU7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQp9DQpoMyB7DQogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNDRENEQ0Q7DQogICAgcGFkZGluZy1ib3R0b206IDZweDsNCn0NCiNicmVhZGNydW1iIHsNCiAgICBwb3NpdGlvbjogZml4ZWQ7DQogICAgbGVmdDogMjcwcHg7DQogICAgcmlnaHQ6IDA7DQogICAgdG9wOiAwOw0KICAgIGhlaWdodDogMjJweDsNCiAgICBtYXJnaW46IDA7DQogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM5OTk7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzU4NTg1ODsNCiAgICBjb2xvcjogI0ZGRkZGRjsNCn0NCg0KaW5wdXQsIHRleHRhcmVhLCBzZWxlY3QsIGJ1dHRvbiB7DQogICAgZm9udC1mYW1pbHk6IFZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7DQogICAgZm9udC1zaXplOiAxMXB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAxNnB4Ow0KfQ0KaW5wdXRbdHlwZT0ic3VibWl0Il0sIGlucHV0W3R5cGU9ImJ1dHRvbiJdLCBpbnB1dFt0eXBlPSJyZXNldCJdIHsNCiAgICBib3JkZXI6IDFweCBzb2xpZCAjQUNCM0JFOw0KICAgIGNvbG9yOiAjMzMzMzMzOw0KICAgIGN1cnNvcjogcG9pbnRlcjsNCiAgICBoZWlnaHQ6IDE5cHg7DQogICAgbWFyZ2luLWxlZnQ6IDVweDsNCiAgICBwYWRkaW5nOiAwIDRweCAycHg7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI0Y2RjZGNjsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2ltYWdlcy9idXR0b24ucG5nJyk7DQogICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KGNlbnRlciB0b3AsICNmNmY2ZjYgMTAlLCAjZDVkNWQ1IDkwJSk7DQogICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQoY2VudGVyIHRvcCwgI2Y2ZjZmNiAxMCUsICNkNWQ1ZDUgOTAlKTsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCUgMCUsIDAlIDEwMCUsIGNvbG9yLXN0b3AoMC4xLCAjZjZmNmY2KSwgY29sb3Itc3RvcCgwLjksICNkNWQ1ZDUpKTsNCiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgYm90dG9tOw0KICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDsNCiAgICBib3JkZXItcmFkaXVzOiAxcHg7DQogICAgLW1vei1ib3JkZXItcmFkaXVzOiAxcHg7DQp9DQppbnB1dFt0eXBlPSJzdWJtaXQiXTpob3ZlciwgaW5wdXRbdHlwZT0iYnV0dG9uIl06aG92ZXIsIGlucHV0W3R5cGU9InJlc2V0Il06aG92ZXIgew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNjOGM4Yzg7DQogICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdpbWFnZXMvYnV0dG9uLWhvdmVyLnBuZycpOw0KICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChjZW50ZXIgdG9wLCAjZjZmNmY2IDEwJSwgI2M4YzhjOCA5MCUpOw0KICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KGNlbnRlciB0b3AsICNmNmY2ZjYgMTAlLCAjYmRiY2JjIDkwJSk7DQogICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAlIDAlLCAwJSAxMDAlLCBjb2xvci1zdG9wKDAuMSwgI2Y2ZjZmNiksIGNvbG9yLXN0b3AoMC45LCAjYzhjOGM4KSk7DQogICAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tOw0KICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDsNCiAgICBib3JkZXI6IDFweCBzb2xpZCAjNzM3ZjkxOw0KICAgIGNvbG9yOiAjMWUxZTFlOw0KICAgIGN1cnNvcjogcG9pbnRlcjsNCn0NCiNtZW51IGlucHV0W3R5cGU9InN1Ym1pdCJdLCAjbWVudSBpbnB1dFt0eXBlPSJidXR0b24iXSwgI21lbnUgaW5wdXRbdHlwZT0icmVzZXQiXSB7DQogICAgcGFkZGluZzogMCA0cHggMnB4Ow0KICAgIG1hcmdpbi1sZWZ0OiA1cHg7DQp9DQoubWVzc2FnZSwgLmVycm9yIHsNCiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMHB4IDEycHg7DQogICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsNCiAgICBib3JkZXI6IDFweCBzb2xpZDsNCiAgICBtYXJnaW4tYm90dG9tOiA0cHg7DQogICAgcGFkZGluZzogMTJweCAxMnB4IDEycHggMzZweDsNCn0NCi5tZXNzYWdlIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUFGN0ZGOw0KICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiaW1hZ2VzL2luZm9ybWF0aW9uLnBuZyIpOw0KICAgIGJvcmRlci1jb2xvcjogI0M1REJFNjsNCiAgICBjb2xvcjogIzRDNzNBMTsNCn0NCi5lcnJvciB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI0Y2RDNDRjsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImltYWdlcy9lcnJvci5wbmciKTsNCiAgICBib3JkZXItY29sb3I6ICNENjZDNjg7DQogICAgY29sb3I6ICNBQTAyMjU7DQp9DQojbG9hZGVyIHsNCiAgICB0b3A6IDJlbTsNCiAgICBsZWZ0OiA1OWVtOw0KfQ0KcC50YWJzIHsNCiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0FEQURBRDsNCiAgICBwYWRkaW5nOiAzcHggMCAzcHggMTBweDsNCn0NCnAudGFicyBhIHsNCiAgICAtbW96LWJvcmRlci1ib3R0b20tY29sb3JzOiBub25lOw0KICAgIC1tb3otYm9yZGVyLWltYWdlOiBub25lOw0KICAgIC1tb3otYm9yZGVyLWxlZnQtY29sb3JzOiBub25lOw0KICAgIC1tb3otYm9yZGVyLXJpZ2h0LWNvbG9yczogbm9uZTsNCiAgICAtbW96LWJvcmRlci10b3AtY29sb3JzOiBub25lOw0KICAgIGJhY2tncm91bmQ6IG5vbmUgcmVwZWF0IHNjcm9sbCAwIDAgI0RBREFEQTsNCiAgICBib3JkZXItY29sb3I6ICNBREFEQUQgI0FEQURBRCAtbW96LXVzZS10ZXh0LWNvbG9yOw0KICAgIGJvcmRlci1zdHlsZTogc29saWQgc29saWQgbm9uZTsNCiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7DQogICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDsNCiAgICBib3JkZXItd2lkdGg6IDFweCAxcHggbWVkaXVtOw0KICAgIGNvbG9yOiAjNjA2MDYwOw0KICAgIHBhZGRpbmc6IDRweCAxMHB4Ow0KICAgIG1hcmdpbjogMCAtMXB4IDAgLTJweDsNCiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0MwQzBDMDsNCn0NCnAudGFicyBhOmhvdmVyIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUVFRUVFOw0KICAgIGJvcmRlci1jb2xvcjogI0FEQURBRDsNCiAgICBjb2xvcjogIzYwNjA2MDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQp9DQpwLnRhYnMgYS5hY3RpdmUgew0KICAgIGJhY2tncm91bmQ6IG5vbmUgcmVwZWF0IHNjcm9sbCAwIDAgI0ZGRkZGRjsNCiAgICBjb2xvcjogIzAwMDAwMDsNCiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0ZGRkZGRjsNCn0=]]></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.2.2.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqIEFkbWluZXIgLSBDb21wYWN0IGRhdGFiYXNlIG1hbmFnZW1lbnQKKiBAbGluayBodHRwOi8vd3d3LmFkbWluZXIub3JnLwoqIEBhdXRob3IgSmFrdWIgVnJhbmEsIGh0dHA6Ly93d3cudnJhbmEuY3ovCiogQGNvcHlyaWdodCAyMDA3IEpha3ViIFZyYW5hCiogQGxpY2Vuc2UgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAoqIEBsaWNlbnNlIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMi4wLmh0bWwgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIHZlcnNpb24gMiAob25lIG9yIG90aGVyKQoqL2Vycm9yX3JlcG9ydGluZyg2MTM1KTskX2U9KCFlcmVnKCdeKHVuc2FmZV9yYXcpPyQnLGluaV9nZXQoImZpbHRlci5kZWZhdWx0IikpfHxpbmlfZ2V0KCJmaWx0ZXIuZGVmYXVsdF9mbGFncyIpKTtpZigkX2Upe2ZvcmVhY2goYXJyYXkoJ19HRVQnLCdfUE9TVCcsJ19DT09LSUUnLCdfU0VSVkVSJylhcyRiKXskYmU9ZmlsdGVyX2lucHV0X2FycmF5KGNvbnN0YW50KCJJTlBVVCRiIiksRklMVEVSX1VOU0FGRV9SQVcpO2lmKCRiZSl7JCRiPSRiZTt9fX1pZihpc3NldCgkX0dFVFsiZmlsZSJdKSl7aGVhZGVyKCJFeHBpcmVzOiAiLmdtZGF0ZSgiRCwgZCBNIFkgSDppOnMiLHRpbWUoKSszNjUqMjQqNjAqNjApLiIgR01UIik7aWYoJF9HRVRbImZpbGUiXT09ImZhdmljb24uaWNvIil7aGVhZGVyKCJDb250ZW50LVR5cGU6IGltYWdlL3gtaWNvbiIpO2VjaG8KYmFzZTY0X2RlY29kZSgiQUFBQkFBRUFFQkFRQUFFQUJBQW9BUUFBRmdBQUFDZ0FBQUFRQUFBQUlBQUFBQUVBQkFBQUFBQUF3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQS8vLy9BQUFBL3dCaFRnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRVJFUkFBQUFBQUVUTXpFUUFBQUFBVEVSRXhBQUFBQUJNUkVURUFBQUFBRXhFUk1RQUFBQUFURVJFeEFBQUFBQk1SRVRFQUFBQUFFek16TVJFUkVRQVRFUkV4RWhFaEFCRXpNeEVoRVJFQUFSRVJFaEVSSVJBQUFBQVJJUkVTRUFBQUFBRVNFaUVRQUFBQUFCRVJFUUFBQUFBQUFBQUFELy85VUF3UC9WQUlCL0FBQ0FmL0FBZ0gra0FJQi9nQUNBZndBQWdIOEFBSUFCQUFDQUFmOEFnQUgvQU1BQS93RCtBUDhBL3dBSUFmK0IxUUQvLzlVQSIpO31lbHNlaWYoJF9HRVRbImZpbGUiXT09ImRlZmF1bHQuY3NzIil7aGVhZGVyKCJDb250ZW50LVR5cGU6IHRleHQvY3NzOyBjaGFyc2V0PXV0Zi04Iik7ZWNobydib2R5e2NvbG9yOiMwMDA7YmFja2dyb3VuZDojZmZmO2ZvbnQ6OTAlLzEuMjUgVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZjttYXJnaW46MDt9YXtjb2xvcjpibHVlO31hOnZpc2l0ZWR7Y29sb3I6bmF2eTt9YTpob3Zlcntjb2xvcjpyZWQ7fWgxe2ZvbnQtc2l6ZToxNTAlO21hcmdpbjowO3BhZGRpbmc6LjhlbSAxZW07Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzk5OTtmb250LXdlaWdodDpub3JtYWw7Y29sb3I6Izc3NztiYWNrZ3JvdW5kOiNlZWU7fWgye2ZvbnQtc2l6ZToxNTAlO21hcmdpbjowIDAgMjBweCAtMThweDtwYWRkaW5nOi44ZW0gMWVtO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICMwMDA7Y29sb3I6IzAwMDtmb250LXdlaWdodDpub3JtYWw7YmFja2dyb3VuZDojZGRmO31oM3tmb250LXdlaWdodDpub3JtYWw7Zm9udC1zaXplOjEzMCU7bWFyZ2luOjFlbSAwIDA7fWZvcm17bWFyZ2luOjA7fXRhYmxle21hcmdpbjoxZW0gMjBweCAwIDA7Ym9yZGVyOjA7Ym9yZGVyLXRvcDoxcHggc29saWQgIzk5OTtib3JkZXItbGVmdDoxcHggc29saWQgIzk5OTtmb250LXNpemU6OTAlO310ZCx0aHtib3JkZXI6MDtib3JkZXItcmlnaHQ6MXB4IHNvbGlkICM5OTk7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzk5OTtwYWRkaW5nOi4yZW0gLjNlbTt9dGh7YmFja2dyb3VuZDojZWVlO3RleHQtYWxpZ246bGVmdDt9dGhlYWQgdGh7dGV4dC1hbGlnbjpjZW50ZXI7fXRoZWFkIHRkLHRoZWFkIHRoe2JhY2tncm91bmQ6I2RkZjt9ZmllbGRzZXR7ZGlzcGxheTppbmxpbmU7dmVydGljYWwtYWxpZ246dG9wO3BhZGRpbmc6LjVlbSAuOGVtO21hcmdpbjouOGVtIC41ZW0gMCAwO2JvcmRlcjoxcHggc29saWQgIzk5OTt9cHttYXJnaW46LjhlbSAyMHB4IDAgMDt9aW1ne3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtib3JkZXI6MDt9dGQgaW1ne21heC13aWR0aDoyMDBweDttYXgtaGVpZ2h0OjIwMHB4O31jb2Rle2JhY2tncm91bmQ6I2VlZTt9dHI6aG92ZXIgdGQsdHI6aG92ZXIgdGh7YmFja2dyb3VuZDojZGRmO31wcmV7bWFyZ2luOjFlbSAwIDA7fS52ZXJzaW9ue2NvbG9yOiM3Nzc7Zm9udC1zaXplOjY3JTt9LmpzIC5oaWRkZW4sLm5vanMgLmpzb25seXtkaXNwbGF5Om5vbmU7fS5ub3dyYXAgdGQsLm5vd3JhcCB0aCx0ZC5ub3dyYXB7d2hpdGUtc3BhY2U6cHJlO30ud3JhcCB0ZHt3aGl0ZS1zcGFjZTpub3JtYWw7fS5lcnJvcntjb2xvcjpyZWQ7YmFja2dyb3VuZDojZmVlO30uZXJyb3IgYntiYWNrZ3JvdW5kOiNmZmY7Zm9udC13ZWlnaHQ6bm9ybWFsO30ubWVzc2FnZXtjb2xvcjpncmVlbjtiYWNrZ3JvdW5kOiNlZmU7fS5lcnJvciwubWVzc2FnZXtwYWRkaW5nOi41ZW0gLjhlbTttYXJnaW46MWVtIDIwcHggMCAwO30uY2hhcntjb2xvcjojMDA3RjAwO30uZGF0ZXtjb2xvcjojN0YwMDdGO30uZW51bXtjb2xvcjojMDA3RjdGO30uYmluYXJ5e2NvbG9yOnJlZDt9Lm9kZCB0ZHtiYWNrZ3JvdW5kOiNGNUY1RjU7fS50aW1le2NvbG9yOnNpbHZlcjtmb250LXNpemU6NzAlO30uZnVuY3Rpb257dGV4dC1hbGlnbjpyaWdodDt9Lm51bWJlcnt0ZXh0LWFsaWduOnJpZ2h0O30uZGF0ZXRpbWV7dGV4dC1hbGlnbjpyaWdodDt9LnR5cGV7d2lkdGg6MTVleDt3aWR0aDphdXRvXFw5O30ub3B0aW9ucyBzZWxlY3R7d2lkdGg6MjBleDt3aWR0aDphdXRvXFw5O30uYWN0aXZle2ZvbnQtd2VpZ2h0OmJvbGQ7fS5zcWxhcmVhe3dpZHRoOjk4JTt9I21lbnV7cG9zaXRpb246YWJzb2x1dGU7bWFyZ2luOjEwcHggMCAwO3BhZGRpbmc6MCAwIDMwcHggMDt0b3A6MmVtO2xlZnQ6MDt3aWR0aDoxOWVtO292ZXJmbG93OmF1dG87b3ZlcmZsb3cteTpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO30jbWVudSBwe3BhZGRpbmc6LjhlbSAxZW07bWFyZ2luOjA7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2NjYzt9I2NvbnRlbnR7bWFyZ2luOjJlbSAwIDAgMjFlbTtwYWRkaW5nOjEwcHggMjBweCAyMHB4IDA7fSNsYW5ne3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtsaW5lLWhlaWdodDoxLjhlbTtwYWRkaW5nOi4zZW0gMWVtO30jYnJlYWRjcnVtYnt3aGl0ZS1zcGFjZTpub3dyYXA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDoyMWVtO2JhY2tncm91bmQ6I2VlZTtoZWlnaHQ6MmVtO2xpbmUtaGVpZ2h0OjEuOGVtO3BhZGRpbmc6MCAxZW07bWFyZ2luOjAgMCAwIC0xOHB4O30jbG9hZGVye3Bvc2l0aW9uOmZpeGVkO3RvcDowO2xlZnQ6MThlbTt6LWluZGV4OjE7fSNoMXtjb2xvcjojNzc3O3RleHQtZGVjb3JhdGlvbjpub25lO2ZvbnQtc3R5bGU6aXRhbGljO30jdmVyc2lvbntmb250LXNpemU6NjclO2NvbG9yOnJlZDt9I3NjaGVtYXttYXJnaW4tbGVmdDo2MHB4O3Bvc2l0aW9uOnJlbGF0aXZlO30jc2NoZW1hIC50YWJsZXtib3JkZXI6MXB4IHNvbGlkIHNpbHZlcjtwYWRkaW5nOjAgMnB4O2N1cnNvcjptb3ZlO3Bvc2l0aW9uOmFic29sdXRlO30jc2NoZW1hIC5yZWZlcmVuY2Vze3Bvc2l0aW9uOmFic29sdXRlO30ucnRsIGgye21hcmdpbjowIC0xOHB4IDIwcHggMDt9LnJ0bCBwLC5ydGwgdGFibGUsLnJ0bCAuZXJyb3IsLnJ0bCAubWVzc2FnZXttYXJnaW46MWVtIDAgMCAyMHB4O30ucnRsICNjb250ZW50e21hcmdpbjoyZW0gMjFlbSAwIDA7cGFkZGluZzoxMHB4IDAgMjBweCAyMHB4O30ucnRsICNicmVhZGNydW1ie2xlZnQ6YXV0bztyaWdodDoyMWVtO21hcmdpbjowIC0xOHB4IDAgMDt9LnJ0bCAjbGFuZywucnRsICNtZW51e2xlZnQ6YXV0bztyaWdodDowO31AbWVkaWEgcHJpbnR7I2xhbmcsI21lbnV7ZGlzcGxheTpub25lO30jY29udGVudHttYXJnaW4tbGVmdDoxZW07fSNicmVhZGNydW1ie2xlZnQ6MWVtO30ubm93cmFwIHRkLC5ub3dyYXAgdGgsdGQubm93cmFwe3doaXRlLXNwYWNlOm5vcm1hbDt9fSc7fWVsc2VpZigkX0dFVFsiZmlsZSJdPT0iZnVuY3Rpb25zLmpzIil7aGVhZGVyKCJDb250ZW50LVR5cGU6IHRleHQvamF2YXNjcmlwdDsgY2hhcnNldD11dGYtOCIpOz8+CmZ1bmN0aW9uIHRvZ2dsZShpZCl7dmFyIGVsPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTtlbC5jbGFzc05hbWU9KGVsLmNsYXNzTmFtZT09J2hpZGRlbic/Jyc6J2hpZGRlbicpO3JldHVybiB0cnVlO30KZnVuY3Rpb24gY29va2llKGFzc2lnbixkYXlzKXt2YXIgZGF0ZT1uZXcgRGF0ZSgpO2RhdGUuc2V0RGF0ZShkYXRlLmdldERhdGUoKStkYXlzKTtkb2N1bWVudC5jb29raWU9YXNzaWduKyc7IGV4cGlyZXM9JytkYXRlO30KZnVuY3Rpb24gdmVyaWZ5VmVyc2lvbigpe2Nvb2tpZSgnYWRtaW5lcl92ZXJzaW9uPTAnLDEpO3ZhciBzY3JpcHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7c2NyaXB0LnNyYz1sb2NhdGlvbi5wcm90b2NvbCsnLy93d3cuYWRtaW5lci5vcmcvdmVyc2lvbi5waHAnO2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2NyaXB0KTt9CmZ1bmN0aW9uIHNlbGVjdFZhbHVlKHNlbGVjdCl7dmFyIHNlbGVjdGVkPXNlbGVjdC5vcHRpb25zW3NlbGVjdC5zZWxlY3RlZEluZGV4XTtyZXR1cm4oKHNlbGVjdGVkLmF0dHJpYnV0ZXMudmFsdWV8fHt9KS5zcGVjaWZpZWQ/c2VsZWN0ZWQudmFsdWU6c2VsZWN0ZWQudGV4dCk7fQpmdW5jdGlvbiBmb3JtQ2hlY2soZWwsbmFtZSl7dmFyIGVsZW1zPWVsLmZvcm0uZWxlbWVudHM7Zm9yKHZhciBpPTA7aTxlbGVtcy5sZW5ndGg7aSsrKXtpZihuYW1lLnRlc3QoZWxlbXNbaV0ubmFtZSkpe2VsZW1zW2ldLmNoZWNrZWQ9ZWwuY2hlY2tlZDt9fX0KZnVuY3Rpb24gZm9ybVVuY2hlY2soaWQpe2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKS5jaGVja2VkPWZhbHNlO30KZnVuY3Rpb24gZm9ybUNoZWNrZWQoZWwsbmFtZSl7dmFyIGNoZWNrZWQ9MDt2YXIgZWxlbXM9ZWwuZm9ybS5lbGVtZW50cztmb3IodmFyIGk9MDtpPGVsZW1zLmxlbmd0aDtpKyspe2lmKG5hbWUudGVzdChlbGVtc1tpXS5uYW1lKSYmZWxlbXNbaV0uY2hlY2tlZCl7Y2hlY2tlZCsrO319CnJldHVybiBjaGVja2VkO30KZnVuY3Rpb24gdGFibGVDbGljayhldmVudCl7dmFyIGVsPWV2ZW50LnRhcmdldHx8ZXZlbnQuc3JjRWxlbWVudDt3aGlsZSghL150ciQvaS50ZXN0KGVsLnRhZ05hbWUpKXtpZigvXih0YWJsZXxhfGlucHV0fHRleHRhcmVhKSQvaS50ZXN0KGVsLnRhZ05hbWUpKXtyZXR1cm47fQplbD1lbC5wYXJlbnROb2RlO30KZWw9ZWwuZmlyc3RDaGlsZC5maXJzdENoaWxkO2VsLmNsaWNrJiZlbC5jbGljaygpO2VsLm9uY2xpY2smJmVsLm9uY2xpY2soKTt9CmZ1bmN0aW9uIHNldEh0bWwoaWQsaHRtbCl7dmFyIGVsPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTtpZihlbCl7aWYoaHRtbD09dW5kZWZpbmVkKXtlbC5wYXJlbnROb2RlLmlubmVySFRNTD0nJm5ic3A7Jzt9ZWxzZXtlbC5pbm5lckhUTUw9aHRtbC5yZXBsYWNlKC88bm9zY3JpcHQ+Lio8XC9ub3NjcmlwdD4vaSwnJyk7fX19CmZ1bmN0aW9uIG5vZGVQb3NpdGlvbihlbCl7dmFyIHBvcz0wO3doaWxlKGVsPWVsLnByZXZpb3VzU2libGluZyl7cG9zKys7fQpyZXR1cm4gcG9zO30KZnVuY3Rpb24gcGFnZUNsaWNrKGhyZWYscGFnZSxldmVudCl7aWYoIWlzTmFOKHBhZ2UpJiZwYWdlKXtocmVmKz0ocGFnZSE9MT8nJnBhZ2U9JysocGFnZS0xKTonJyk7aWYoIWFqYXhTZW5kKGhyZWYpKXtsb2NhdGlvbi5ocmVmPWhyZWY7fX19CmZ1bmN0aW9uIHNlbGVjdEFkZFJvdyhmaWVsZCl7ZmllbGQub25jaGFuZ2U9ZnVuY3Rpb24oKXt9O3ZhciByb3c9ZmllbGQucGFyZW50Tm9kZS5jbG9uZU5vZGUodHJ1ZSk7dmFyIHNlbGVjdHM9cm93LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzZWxlY3QnKTtmb3IodmFyIGk9MDtpPHNlbGVjdHMubGVuZ3RoO2krKyl7c2VsZWN0c1tpXS5uYW1lPXNlbGVjdHNbaV0ubmFtZS5yZXBsYWNlKC9bYS16XVxbXGQrLywnJCYxJyk7c2VsZWN0c1tpXS5zZWxlY3RlZEluZGV4PTA7fQp2YXIgaW5wdXRzPXJvdy5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaW5wdXQnKTtpZihpbnB1dHMubGVuZ3RoKXtpbnB1dHNbMF0ubmFtZT1pbnB1dHNbMF0ubmFtZS5yZXBsYWNlKC9bYS16XVxbXGQrLywnJCYxJyk7aW5wdXRzWzBdLnZhbHVlPScnO2lucHV0c1swXS5jbGFzc05hbWU9Jyc7fQpmaWVsZC5wYXJlbnROb2RlLnBhcmVudE5vZGUuYXBwZW5kQ2hpbGQocm93KTt9CmZ1bmN0aW9uIHRleHRhcmVhS2V5ZG93bih0YXJnZXQsZXZlbnQpe2lmKCFldmVudC5zaGlmdEtleSYmIWV2ZW50LmFsdEtleSYmIWV2ZW50LmN0cmxLZXkmJiFldmVudC5tZXRhS2V5KXtpZihldmVudC5rZXlDb2RlPT05KXtpZih0YXJnZXQuc2V0U2VsZWN0aW9uUmFuZ2Upe3ZhciBzdGFydD10YXJnZXQuc2VsZWN0aW9uU3RhcnQ7dmFyIHNjcm9sbGVkPXRhcmdldC5zY3JvbGxUb3A7dGFyZ2V0LnZhbHVlPXRhcmdldC52YWx1ZS5zdWJzdHIoMCxzdGFydCkrJ1x0Jyt0YXJnZXQudmFsdWUuc3Vic3RyKHRhcmdldC5zZWxlY3Rpb25FbmQpO3RhcmdldC5zZXRTZWxlY3Rpb25SYW5nZShzdGFydCsxLHN0YXJ0KzEpO3RhcmdldC5zY3JvbGxUb3A9c2Nyb2xsZWQ7cmV0dXJuIGZhbHNlO31lbHNlIGlmKHRhcmdldC5jcmVhdGVUZXh0UmFuZ2Upe2RvY3VtZW50LnNlbGVjdGlvbi5jcmVhdGVSYW5nZSgpLnRleHQ9J1x0JztyZXR1cm4gZmFsc2U7fX0KaWYoZXZlbnQua2V5Q29kZT09Mjcpe3ZhciBlbHM9dGFyZ2V0LmZvcm0uZWxlbWVudHM7Zm9yKHZhciBpPTE7aTxlbHMubGVuZ3RoO2krKyl7aWYoZWxzW2ktMV09PXRhcmdldCl7ZWxzW2ldLmZvY3VzKCk7YnJlYWs7fX0KcmV0dXJuIGZhbHNlO319CnJldHVybiB0cnVlO30KZnVuY3Rpb24gYm9keUtleWRvd24oZXZlbnQpe3ZhciB0YXJnZXQ9ZXZlbnQudGFyZ2V0fHxldmVudC5zcmNFbGVtZW50O2lmKGV2ZW50LmN0cmxLZXkmJihldmVudC5rZXlDb2RlPT0xM3x8ZXZlbnQua2V5Q29kZT09MTApJiYhZXZlbnQuYWx0S2V5JiYhZXZlbnQubWV0YUtleSYmL3NlbGVjdHx0ZXh0YXJlYS9pLnRlc3QodGFyZ2V0LnRhZ05hbWUpKXt0YXJnZXQuYmx1cigpO2lmKCghdGFyZ2V0LmZvcm0ub25zdWJtaXR8fHRhcmdldC5mb3JtLm9uc3VibWl0KCkhPT1mYWxzZSkmJiFhamF4Rm9ybSh0YXJnZXQuZm9ybSkpe3RhcmdldC5mb3JtLnN1Ym1pdCgpO30KcmV0dXJuIGZhbHNlO319CmZ1bmN0aW9uIGVkaXRpbmdLZXlkb3duKGV2ZW50KXtpZigoZXZlbnQua2V5Q29kZT09NDB8fGV2ZW50LmtleUNvZGU9PTM4KSYmZXZlbnQuY3RybEtleSYmIWV2ZW50LmFsdEtleSYmIWV2ZW50Lm1ldGFLZXkpe3ZhciB0YXJnZXQ9ZXZlbnQudGFyZ2V0fHxldmVudC5zcmNFbGVtZW50O3ZhciBzaWJsaW5nPShldmVudC5rZXlDb2RlPT00MD8nbmV4dFNpYmxpbmcnOidwcmV2aW91c1NpYmxpbmcnKTt2YXIgZWw9dGFyZ2V0LnBhcmVudE5vZGUucGFyZW50Tm9kZVtzaWJsaW5nXTtpZihlbCYmKC9edHIkL2kudGVzdChlbC50YWdOYW1lKXx8KGVsPWVsW3NpYmxpbmddKSkmJi9edHIkL2kudGVzdChlbC50YWdOYW1lKSYmKGVsPWVsLmNoaWxkTm9kZXNbbm9kZVBvc2l0aW9uKHRhcmdldC5wYXJlbnROb2RlKV0pJiYoZWw9ZWwuY2hpbGROb2Rlc1tub2RlUG9zaXRpb24odGFyZ2V0KV0pKXtlbC5mb2N1cygpO30KcmV0dXJuIGZhbHNlO30KcmV0dXJuIHRydWU7fQpmdW5jdGlvbiBmdW5jdGlvbkNoYW5nZShzZWxlY3Qpe3ZhciBpbnB1dD1zZWxlY3QuZm9ybVtzZWxlY3QubmFtZS5yZXBsYWNlKC9eZnVuY3Rpb24vLCdmaWVsZHMnKV07aWYoc2VsZWN0VmFsdWUoc2VsZWN0KSl7aWYoaW5wdXQub3JpZ01heExlbmd0aD09PXVuZGVmaW5lZCl7aW5wdXQub3JpZ01heExlbmd0aD1pbnB1dC5tYXhMZW5ndGg7fQppbnB1dC5yZW1vdmVBdHRyaWJ1dGUoJ21heGxlbmd0aCcpO31lbHNlIGlmKGlucHV0Lm9yaWdNYXhMZW5ndGg+PTApe2lucHV0Lm1heExlbmd0aD1pbnB1dC5vcmlnTWF4TGVuZ3RoO319CmZ1bmN0aW9uIGFqYXgodXJsLGNhbGxiYWNrLGRhdGEpe3ZhciB4bWxodHRwPSh3aW5kb3cuWE1MSHR0cFJlcXVlc3Q/bmV3IFhNTEh0dHBSZXF1ZXN0KCk6KHdpbmRvdy5BY3RpdmVYT2JqZWN0P25ldyBBY3RpdmVYT2JqZWN0KCdNaWNyb3NvZnQuWE1MSFRUUCcpOmZhbHNlKSk7aWYoeG1saHR0cCl7eG1saHR0cC5vcGVuKChkYXRhPydQT1NUJzonR0VUJyksdXJsKTtpZihkYXRhKXt4bWxodHRwLnNldFJlcXVlc3RIZWFkZXIoJ0NvbnRlbnQtVHlwZScsJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcpO30KeG1saHR0cC5zZXRSZXF1ZXN0SGVhZGVyKCdYLVJlcXVlc3RlZC1XaXRoJywnWE1MSHR0cFJlcXVlc3QnKTt4bWxodHRwLm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigpe2lmKHhtbGh0dHAucmVhZHlTdGF0ZT09NCl7Y2FsbGJhY2soeG1saHR0cCk7fX07eG1saHR0cC5zZW5kKGRhdGEpO30KcmV0dXJuIHhtbGh0dHA7fQpmdW5jdGlvbiBhamF4U2V0SHRtbCh1cmwpe3JldHVybiBhamF4KHVybCxmdW5jdGlvbih4bWxodHRwKXtpZih4bWxodHRwLnN0YXR1cyl7dmFyIGRhdGE9ZXZhbCgnKCcreG1saHR0cC5yZXNwb25zZVRleHQrJyknKTtmb3IodmFyIGtleSBpbiBkYXRhKXtzZXRIdG1sKGtleSxkYXRhW2tleV0pO319fSk7fQpmdW5jdGlvbiByZXBsYWNlRmF2aWNvbihocmVmKXt2YXIgZmF2aWNvbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZmF2aWNvbicpO2Zhdmljb24uaHJlZj1ocmVmO2Zhdmljb24ucGFyZW50Tm9kZS5hcHBlbmRDaGlsZChmYXZpY29uKTt9CnZhciBhamF4U3RhdGU9MDtmdW5jdGlvbiBhamF4U2VuZCh1cmwsZGF0YSxwb3BTdGF0ZSl7aWYoIWhpc3RvcnkucHVzaFN0YXRlKXtyZXR1cm4gZmFsc2U7fQp2YXIgY3VycmVudFN0YXRlPSsrYWpheFN0YXRlO29uYmx1cj1mdW5jdGlvbigpe3JlcGxhY2VGYXZpY29uKGxvY2F0aW9uLnBhdGhuYW1lKyc/ZmlsZT1sb2FkZXIuZ2lmJmFtcDt2ZXJzaW9uPTMuMi4yJyk7fTtzZXRIdG1sKCdsb2FkZXInLCc8aW1nIHNyYz0iJytsb2NhdGlvbi5wYXRobmFtZSsnP2ZpbGU9bG9hZGVyLmdpZiZhbXA7dmVyc2lvbj0zLjIuMiIgYWx0PSIiPicpO3JldHVybiBhamF4KHVybCxmdW5jdGlvbih4bWxodHRwKXtpZihjdXJyZW50U3RhdGU9PWFqYXhTdGF0ZSl7dmFyIHRpdGxlPXhtbGh0dHAuZ2V0UmVzcG9uc2VIZWFkZXIoJ1gtQUpBWC1UaXRsZScpO2lmKHRpdGxlKXtkb2N1bWVudC50aXRsZT1kZWNvZGVVUklDb21wb25lbnQodGl0bGUpO30KdmFyIHJlZGlyZWN0PXhtbGh0dHAuZ2V0UmVzcG9uc2VIZWFkZXIoJ1gtQUpBWC1SZWRpcmVjdCcpO2lmKHJlZGlyZWN0KXtyZXR1cm4gYWpheFNlbmQocmVkaXJlY3QsJycscG9wU3RhdGUpO30Kb25ibHVyPWZ1bmN0aW9uKCl7fTtyZXBsYWNlRmF2aWNvbihsb2NhdGlvbi5wYXRobmFtZSsnP2ZpbGU9ZmF2aWNvbi5pY28mYW1wO3ZlcnNpb249My4yLjInKTtpZigheG1saHR0cC5zdGF0dXMpe3NldEh0bWwoJ2xvYWRlcicsJycpO31lbHNle2lmKCFwb3BTdGF0ZSl7aWYoZGF0YXx8dXJsIT1sb2NhdGlvbi5ocmVmKXtoaXN0b3J5LnB1c2hTdGF0ZShkYXRhLCcnLHVybCk7fQpzY3JvbGxUbygwLDApO30Kc2V0SHRtbCgnY29udGVudCcseG1saHR0cC5yZXNwb25zZVRleHQpO3ZhciBjb250ZW50PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb250ZW50Jyk7dmFyIHNjcmlwdHM9Y29udGVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2NyaXB0Jyk7dmFyIGxlbmd0aD1zY3JpcHRzLmxlbmd0aDtmb3IodmFyIGk9MDtpPGxlbmd0aDtpKyspe3ZhciBzY3JpcHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7c2NyaXB0LnRleHQ9c2NyaXB0c1tpXS50ZXh0O2NvbnRlbnQuYXBwZW5kQ2hpbGQoc2NyaXB0KTt9CnZhciBhcz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbWVudScpLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdhJyk7dmFyIGhyZWY9bG9jYXRpb24uaHJlZi5yZXBsYWNlKC8oJihzcWw9fGR1bXA9fChzZWxlY3R8dGFibGUpPVteJl0qKSkuKi8sJyQxJyk7Zm9yKHZhciBpPTA7aTxhcy5sZW5ndGg7aSsrKXtpZihocmVmPT1hc1tpXS5ocmVmKXthc1tpXS5jbGFzc05hbWU9J2FjdGl2ZSc7fWVsc2UgaWYoYXNbaV0uY2xhc3NOYW1lPT0nYWN0aXZlJyl7YXNbaV0uY2xhc3NOYW1lPScnO319CnZhciBkdW1wPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkdW1wJyk7aWYoZHVtcCl7dmFyIG1hdGNoPS8mKHNlbGVjdHx0YWJsZSk9KFteJl0rKS8uZXhlYyhocmVmKTtkdW1wLmhyZWY9ZHVtcC5ocmVmLnJlcGxhY2UoL1tePV0rJC8sJycpKyhtYXRjaD9tYXRjaFsyXTonJyk7fQppZih3aW5kb3cuanVzaCl7anVzaC5oaWdobGlnaHRfdGFnKCdjb2RlJywwKTt9fX19LGRhdGEpO30Kb25wb3BzdGF0ZT1mdW5jdGlvbihldmVudCl7aWYoYWpheFN0YXRlfHxldmVudC5zdGF0ZSl7YWpheFNlbmQobG9jYXRpb24uaHJlZiwoZXZlbnQuc3RhdGUmJmNvbmZpcm0oYXJlWW91U3VyZSk/ZXZlbnQuc3RhdGU6JycpLDEpO31lbHNle2FqYXhTdGF0ZSsrO319CmZ1bmN0aW9uIGFqYXhGb3JtKGZvcm0sZGF0YSl7aWYoLyYoZGF0YWJhc2V8c2NoZW1lfGNyZWF0ZXx2aWV3fHNxbHx1c2VyfGR1bXB8Y2FsbCk9Ly50ZXN0KGxvY2F0aW9uLmhyZWYpJiYhL1wuLy50ZXN0KGRhdGEpKXtyZXR1cm4gZmFsc2U7fQp2YXIgcGFyYW1zPVtdO2Zvcih2YXIgaT0wO2k8Zm9ybS5lbGVtZW50cy5sZW5ndGg7aSsrKXt2YXIgZWw9Zm9ybS5lbGVtZW50c1tpXTtpZigvZmlsZS9pLnRlc3QoZWwudHlwZSkmJmVsLnZhbHVlKXtyZXR1cm4gZmFsc2U7fWVsc2UgaWYoZWwubmFtZSYmKCEvY2hlY2tib3h8cmFkaW98c3VibWl0fGZpbGUvaS50ZXN0KGVsLnR5cGUpfHxlbC5jaGVja2VkKSl7cGFyYW1zLnB1c2goZW5jb2RlVVJJQ29tcG9uZW50KGVsLm5hbWUpKyc9JytlbmNvZGVVUklDb21wb25lbnQoL3NlbGVjdC9pLnRlc3QoZWwudGFnTmFtZSk/c2VsZWN0VmFsdWUoZWwpOmVsLnZhbHVlKSk7fX0KaWYoZGF0YSl7cGFyYW1zLnB1c2goZGF0YSk7fQppZihmb3JtLm1ldGhvZD09J3Bvc3QnKXtyZXR1cm4gYWpheFNlbmQoKC9cPy8udGVzdChmb3JtLmFjdGlvbik/Zm9ybS5hY3Rpb246bG9jYXRpb24uaHJlZikscGFyYW1zLmpvaW4oJyYnKSk7fQpyZXR1cm4gYWpheFNlbmQoKGZvcm0uYWN0aW9ufHxsb2NhdGlvbi5ocmVmKS5yZXBsYWNlKC9cPy4qLywnJykrJz8nK3BhcmFtcy5qb2luKCcmJykpO30KZnVuY3Rpb24gc2VsZWN0RGJsQ2xpY2sodGQsZXZlbnQsdGV4dCl7dGQub25kYmxjbGljaz1mdW5jdGlvbigpe307dmFyIHBvcz1ldmVudC5yYW5nZU9mZnNldDt2YXIgdmFsdWU9KHRkLmZpcnN0Q2hpbGQuYWx0P3RkLmZpcnN0Q2hpbGQuYWx0Oih0ZC50ZXh0Q29udGVudD90ZC50ZXh0Q29udGVudDp0ZC5pbm5lclRleHQpKTt2YXIgaW5wdXQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0ZXh0Pyd0ZXh0YXJlYSc6J2lucHV0Jyk7aW5wdXQuc3R5bGUud2lkdGg9TWF0aC5tYXgodGQuY2xpZW50V2lkdGgtMTQsMjApKydweCc7aWYodGV4dCl7dmFyIHJvd3M9MTt2YWx1ZS5yZXBsYWNlKC9cbi9nLGZ1bmN0aW9uKCl7cm93cysrO30pO2lucHV0LnJvd3M9cm93czt9CmlmKHZhbHVlPT0nXHUwMEEwJ3x8dGQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2knKS5sZW5ndGgpe3ZhbHVlPScnO30KaWYoZG9jdW1lbnQuc2VsZWN0aW9uKXt2YXIgcmFuZ2U9ZG9jdW1lbnQuc2VsZWN0aW9uLmNyZWF0ZVJhbmdlKCk7cmFuZ2UubW92ZVRvUG9pbnQoZXZlbnQuY2xpZW50WCxldmVudC5jbGllbnRZKTt2YXIgcmFuZ2UyPXJhbmdlLmR1cGxpY2F0ZSgpO3JhbmdlMi5tb3ZlVG9FbGVtZW50VGV4dCh0ZCk7cmFuZ2UyLnNldEVuZFBvaW50KCdFbmRUb0VuZCcscmFuZ2UpO3Bvcz1yYW5nZTIudGV4dC5sZW5ndGg7fQp0ZC5pbm5lckhUTUw9Jyc7dGQuYXBwZW5kQ2hpbGQoaW5wdXQpO2lucHV0LmZvY3VzKCk7aWYodGV4dD09Mil7cmV0dXJuIGFqYXgobG9jYXRpb24uaHJlZisnJicrZW5jb2RlVVJJQ29tcG9uZW50KHRkLmlkKSsnPScsZnVuY3Rpb24oeG1saHR0cCl7aWYoeG1saHR0cC5zdGF0dXMpe2lucHV0LnZhbHVlPXhtbGh0dHAucmVzcG9uc2VUZXh0O2lucHV0Lm5hbWU9dGQuaWQ7fX0pO30KaW5wdXQudmFsdWU9dmFsdWU7aW5wdXQubmFtZT10ZC5pZDtpbnB1dC5zZWxlY3Rpb25TdGFydD1wb3M7aW5wdXQuc2VsZWN0aW9uRW5kPXBvcztpZihkb2N1bWVudC5zZWxlY3Rpb24pe3ZhciByYW5nZT1kb2N1bWVudC5zZWxlY3Rpb24uY3JlYXRlUmFuZ2UoKTtyYW5nZS5tb3ZlRW5kKCdjaGFyYWN0ZXInLC1pbnB1dC52YWx1ZS5sZW5ndGgrcG9zKTtyYW5nZS5zZWxlY3QoKTt9fQpmdW5jdGlvbiBib2R5Q2xpY2soZXZlbnQsZGIsbnMpe2lmKGV2ZW50LmJ1dHRvbnx8ZXZlbnQuY3RybEtleXx8ZXZlbnQuc2hpZnRLZXl8fGV2ZW50LmFsdEtleXx8ZXZlbnQubWV0YUtleSl7cmV0dXJuO30KaWYoZXZlbnQuZ2V0UHJldmVudERlZmF1bHQ/ZXZlbnQuZ2V0UHJldmVudERlZmF1bHQoKTpldmVudC5yZXR1cm5WYWx1ZT09PWZhbHNlKXtyZXR1cm4gZmFsc2U7fQp2YXIgZWw9ZXZlbnQudGFyZ2V0fHxldmVudC5zcmNFbGVtZW50O2lmKC9eYSQvaS50ZXN0KGVsLnBhcmVudE5vZGUudGFnTmFtZSkpe2VsPWVsLnBhcmVudE5vZGU7fQppZigvXmEkL2kudGVzdChlbC50YWdOYW1lKSYmIS9eOnwjfCZkb3dubG9hZD0vaS50ZXN0KGVsLmdldEF0dHJpYnV0ZSgnaHJlZicpKSYmL1smP111c2VybmFtZT0vLnRlc3QoZWwuaHJlZikpe3ZhciBtYXRjaD0vJmRiPShbXiZdKikvLmV4ZWMoZWwuaHJlZik7dmFyIG1hdGNoMj0vJm5zPShbXiZdKikvLmV4ZWMoZWwuaHJlZik7cmV0dXJuIShkYj09KG1hdGNoP21hdGNoWzFdOicnKSYmbnM9PShtYXRjaDI/bWF0Y2gyWzFdOicnKSYmYWpheFNlbmQoZWwuaHJlZikpO30KaWYoL15pbnB1dCQvaS50ZXN0KGVsLnRhZ05hbWUpJiYvaW1hZ2V8c3VibWl0Ly50ZXN0KGVsLnR5cGUpKXtyZXR1cm4hYWpheEZvcm0oZWwuZm9ybSwoZWwubmFtZT9lbmNvZGVVUklDb21wb25lbnQoZWwubmFtZSkrKGVsLnR5cGU9PSdpbWFnZSc/Jy54JzonJykrJz0xJzonJykpO30KcmV0dXJuIHRydWU7fQpmdW5jdGlvbiBldmVudFN0b3AoZXZlbnQpe2lmKGV2ZW50LnN0b3BQcm9wYWdhdGlvbil7ZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7fWVsc2V7ZXZlbnQuY2FuY2VsQnViYmxlPXRydWU7fX0KdmFyIGp1c2hSb290PWxvY2F0aW9uLnByb3RvY29sICsgJy8vd3d3LmFkbWluZXIub3JnL3N0YXRpYy8nO2Z1bmN0aW9uIGJvZHlMb2FkKHZlcnNpb24pe2lmKGhpc3Rvcnkuc3RhdGUhPT11bmRlZmluZWQpe29ucG9wc3RhdGUoaGlzdG9yeSk7fQppZihqdXNoUm9vdCl7dmFyIHNjcmlwdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtzY3JpcHQuc3JjPWp1c2hSb290KydqdXNoLmpzJztzY3JpcHQub25sb2FkPWZ1bmN0aW9uKCl7aWYod2luZG93Lmp1c2gpe2p1c2guY3JlYXRlX2xpbmtzPScgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9yZWZlcnJlciInO2p1c2gudXJscy5zcWxfc3Fsc2V0PWp1c2gudXJscy5zcWxbMF09anVzaC51cmxzLnNxbHNldFswXT1qdXNoLnVybHMuc3Fsc3RhdHVzWzBdPSdodHRwOi8vZGV2Lm15c3FsLmNvbS9kb2MvcmVmbWFuLycrdmVyc2lvbisnL2VuLyRrZXknO3ZhciBwZ3NxbD0naHR0cDovL3d3dy5wb3N0Z3Jlc3FsLm9yZy9kb2NzLycrdmVyc2lvbisnL3N0YXRpYy8nO2p1c2gudXJscy5wZ3NxbF9wZ3NxbHNldD1qdXNoLnVybHMucGdzcWxbMF09cGdzcWwrJyRrZXknO2p1c2gudXJscy5wZ3NxbHNldFswXT1wZ3NxbCsncnVudGltZS1jb25maWctJGtleS5odG1sI0dVQy0kMSc7anVzaC5zdHlsZShqdXNoUm9vdCsnanVzaC5jc3MnKTtpZih3aW5kb3cuanVzaExpbmtzKXtqdXNoLmN1c3RvbV9saW5rcz1qdXNoTGlua3M7fQpqdXNoLmhpZ2hsaWdodF90YWcoJ2NvZGUnLDApO319O3NjcmlwdC5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rpb24oKXtpZigvXihsb2FkZWR8Y29tcGxldGUpJC8udGVzdChzY3JpcHQucmVhZHlTdGF0ZSkpe3NjcmlwdC5vbmxvYWQoKTt9fTtkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHNjcmlwdCk7fX0KZnVuY3Rpb24gZm9ybUZpZWxkKGZvcm0sbmFtZSl7Zm9yKHZhciBpPTA7aTxmb3JtLmxlbmd0aDtpKyspe2lmKGZvcm1baV0ubmFtZT09bmFtZSl7cmV0dXJuIGZvcm1baV07fX19CmZ1bmN0aW9uIHR5cGVQYXNzd29yZChlbCxkaXNhYmxlKXt0cnl7ZWwudHlwZT0oZGlzYWJsZT8ndGV4dCc6J3Bhc3N3b3JkJyk7fWNhdGNoKGUpe319CmZ1bmN0aW9uIGxvZ2luRHJpdmVyKGRyaXZlcil7dmFyIHRycz1kcml2ZXIucGFyZW50Tm9kZS5wYXJlbnROb2RlLnBhcmVudE5vZGUucm93cztmb3IodmFyIGk9MTtpPHRycy5sZW5ndGg7aSsrKXt0cnNbaV0uY2xhc3NOYW1lPSgvc3FsaXRlLy50ZXN0KGRyaXZlci52YWx1ZSk/J2hpZGRlbic6JycpO319CnZhciBhZGRlZD0nLicscm93Q291bnQ7ZnVuY3Rpb24gZGVsaW1pdGVyRXF1YWwodmFsLGEsYil7cmV0dXJuKHZhbD09YSsnXycrYnx8dmFsPT1hK2J8fHZhbD09YStiLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpK2Iuc3Vic3RyKDEpKTt9CmZ1bmN0aW9uIGlkZkVzY2FwZShzKXtyZXR1cm4gcy5yZXBsYWNlKC9gLywnYGAnKTt9CmZ1bmN0aW9uIGVkaXRpbmdOYW1lQ2hhbmdlKGZpZWxkKXt2YXIgbmFtZT1maWVsZC5uYW1lLnN1YnN0cigwLGZpZWxkLm5hbWUubGVuZ3RoLTcpO3ZhciB0eXBlPWZvcm1GaWVsZChmaWVsZC5mb3JtLG5hbWUrJ1t0eXBlXScpO3ZhciBvcHRzPXR5cGUub3B0aW9uczt2YXIgY2FuZGlkYXRlO3ZhciB2YWw9ZmllbGQudmFsdWU7Zm9yKHZhciBpPW9wdHMubGVuZ3RoO2ktLTspe3ZhciBtYXRjaD0vKC4rKWAoLispLy5leGVjKG9wdHNbaV0udmFsdWUpO2lmKCFtYXRjaCl7aWYoY2FuZGlkYXRlJiZpPT1vcHRzLmxlbmd0aC0yJiZ2YWw9PW9wdHNbY2FuZGlkYXRlXS52YWx1ZS5yZXBsYWNlKC8uK2AvLCcnKSYmbmFtZT09J2ZpZWxkc1sxXScpe3JldHVybjt9CmJyZWFrO30KdmFyIHRhYmxlPW1hdGNoWzFdO3ZhciBjb2x1bW49bWF0Y2hbMl07dmFyIHRhYmxlcz1bdGFibGUsdGFibGUucmVwbGFjZSgvcyQvLCcnKSx0YWJsZS5yZXBsYWNlKC9lcyQvLCcnKV07Zm9yKHZhciBqPTA7ajx0YWJsZXMubGVuZ3RoO2orKyl7dGFibGU9dGFibGVzW2pdO2lmKHZhbD09Y29sdW1ufHx2YWw9PXRhYmxlfHxkZWxpbWl0ZXJFcXVhbCh2YWwsdGFibGUsY29sdW1uKXx8ZGVsaW1pdGVyRXF1YWwodmFsLGNvbHVtbix0YWJsZSkpe2lmKGNhbmRpZGF0ZSl7cmV0dXJuO30KY2FuZGlkYXRlPWk7YnJlYWs7fX19CmlmKGNhbmRpZGF0ZSl7dHlwZS5zZWxlY3RlZEluZGV4PWNhbmRpZGF0ZTt0eXBlLm9uY2hhbmdlKCk7fX0KZnVuY3Rpb24gZWRpdGluZ0FkZFJvdyhidXR0b24sYWxsb3dlZCxmb2N1cyl7aWYoYWxsb3dlZCYmcm93Q291bnQ+PWFsbG93ZWQpe3JldHVybiBmYWxzZTt9CnZhciBtYXRjaD0vKFxkKykoXC5cZCspPy8uZXhlYyhidXR0b24ubmFtZSk7dmFyIHg9bWF0Y2hbMF0rKG1hdGNoWzJdP2FkZGVkLnN1YnN0cihtYXRjaFsyXS5sZW5ndGgpOmFkZGVkKSsnMSc7dmFyIHJvdz1idXR0b24ucGFyZW50Tm9kZS5wYXJlbnROb2RlO3ZhciByb3cyPXJvdy5jbG9uZU5vZGUodHJ1ZSk7dmFyIHRhZ3M9cm93LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzZWxlY3QnKTt2YXIgdGFnczI9cm93Mi5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2VsZWN0Jyk7Zm9yKHZhciBpPTA7aTx0YWdzLmxlbmd0aDtpKyspe3RhZ3MyW2ldLm5hbWU9dGFnc1tpXS5uYW1lLnJlcGxhY2UoLyhbMC05Ll0rKS8seCk7dGFnczJbaV0uc2VsZWN0ZWRJbmRleD10YWdzW2ldLnNlbGVjdGVkSW5kZXg7fQp0YWdzPXJvdy5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaW5wdXQnKTt0YWdzMj1yb3cyLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdpbnB1dCcpO3ZhciBpbnB1dD10YWdzMlswXTtmb3IodmFyIGk9MDtpPHRhZ3MubGVuZ3RoO2krKyl7aWYodGFnc1tpXS5uYW1lPT0nYXV0b19pbmNyZW1lbnRfY29sJyl7dGFnczJbaV0udmFsdWU9eDt0YWdzMltpXS5jaGVja2VkPWZhbHNlO30KdGFnczJbaV0ubmFtZT10YWdzW2ldLm5hbWUucmVwbGFjZSgvKFswLTkuXSspLyx4KTtpZigvXFsob3JpZ3xmaWVsZHxjb21tZW50fGRlZmF1bHQpLy50ZXN0KHRhZ3NbaV0ubmFtZSkpe3RhZ3MyW2ldLnZhbHVlPScnO30KaWYoL1xbKGhhc19kZWZhdWx0KS8udGVzdCh0YWdzW2ldLm5hbWUpKXt0YWdzMltpXS5jaGVja2VkPWZhbHNlO319CnRhZ3NbMF0ub25jaGFuZ2U9ZnVuY3Rpb24oKXtlZGl0aW5nTmFtZUNoYW5nZSh0YWdzWzBdKTt9O3Jvdy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShyb3cyLHJvdy5uZXh0U2libGluZyk7aWYoZm9jdXMpe2lucHV0Lm9uY2hhbmdlPWZ1bmN0aW9uKCl7ZWRpdGluZ05hbWVDaGFuZ2UoaW5wdXQpO307aW5wdXQuZm9jdXMoKTt9CmFkZGVkKz0nMCc7cm93Q291bnQrKztyZXR1cm4gdHJ1ZTt9CmZ1bmN0aW9uIGVkaXRpbmdSZW1vdmVSb3coYnV0dG9uKXt2YXIgZmllbGQ9Zm9ybUZpZWxkKGJ1dHRvbi5mb3JtLGJ1dHRvbi5uYW1lLnJlcGxhY2UoL2Ryb3BfY29sKC4rKS8sJ2ZpZWxkcyQxW2ZpZWxkXScpKTtmaWVsZC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGZpZWxkKTtidXR0b24ucGFyZW50Tm9kZS5wYXJlbnROb2RlLnN0eWxlLmRpc3BsYXk9J25vbmUnO3JldHVybiB0cnVlO30KdmFyIGxhc3RUeXBlPScnO2Z1bmN0aW9uIGVkaXRpbmdUeXBlQ2hhbmdlKHR5cGUpe3ZhciBuYW1lPXR5cGUubmFtZS5zdWJzdHIoMCx0eXBlLm5hbWUubGVuZ3RoLTYpO3ZhciB0ZXh0PXNlbGVjdFZhbHVlKHR5cGUpO2Zvcih2YXIgaT0wO2k8dHlwZS5mb3JtLmVsZW1lbnRzLmxlbmd0aDtpKyspe3ZhciBlbD10eXBlLmZvcm0uZWxlbWVudHNbaV07aWYoZWwubmFtZT09bmFtZSsnW2xlbmd0aF0nJiYhKCgvKGNoYXJ8YmluYXJ5KSQvLnRlc3QobGFzdFR5cGUpJiYvKGNoYXJ8YmluYXJ5KSQvLnRlc3QodGV4dCkpfHwoLyhlbnVtfHNldCkkLy50ZXN0KGxhc3RUeXBlKSYmLyhlbnVtfHNldCkkLy50ZXN0KHRleHQpKSkpe2VsLnZhbHVlPScnO30KaWYobGFzdFR5cGU9PSd0aW1lc3RhbXAnJiZlbC5uYW1lPT1uYW1lKydbaGFzX2RlZmF1bHRdJyYmL3RpbWVzdGFtcC9pLnRlc3QoZm9ybUZpZWxkKHR5cGUuZm9ybSxuYW1lKydbZGVmYXVsdF0nKS52YWx1ZSkpe2VsLmNoZWNrZWQ9ZmFsc2U7fQppZihlbC5uYW1lPT1uYW1lKydbY29sbGF0aW9uXScpe2VsLmNsYXNzTmFtZT0oLyhjaGFyfHRleHR8ZW51bXxzZXQpJC8udGVzdCh0ZXh0KT8nJzonaGlkZGVuJyk7fQppZihlbC5uYW1lPT1uYW1lKydbdW5zaWduZWRdJyl7ZWwuY2xhc3NOYW1lPSgvKGludHxmbG9hdHxkb3VibGV8ZGVjaW1hbCkkLy50ZXN0KHRleHQpPycnOidoaWRkZW4nKTt9CmlmKGVsLm5hbWU9PW5hbWUrJ1tvbl9kZWxldGVdJyl7ZWwuY2xhc3NOYW1lPSgvYC8udGVzdCh0ZXh0KT8nJzonaGlkZGVuJyk7fX19CmZ1bmN0aW9uIGVkaXRpbmdMZW5ndGhGb2N1cyhmaWVsZCl7dmFyIHRkPWZpZWxkLnBhcmVudE5vZGU7aWYoLyhlbnVtfHNldCkkLy50ZXN0KHNlbGVjdFZhbHVlKHRkLnByZXZpb3VzU2libGluZy5maXJzdENoaWxkKSkpe3ZhciBlZGl0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdlbnVtLWVkaXQnKTt2YXIgdmFsPWZpZWxkLnZhbHVlO2VkaXQudmFsdWU9KC9eJy4rJywnLisnJC8udGVzdCh2YWwpP3ZhbC5zdWJzdHIoMSx2YWwubGVuZ3RoLTIpLnJlcGxhY2UoLycsJy9nLCJcbiIpLnJlcGxhY2UoLycnL2csIiciKTp2YWwpO3RkLmFwcGVuZENoaWxkKGVkaXQpO2ZpZWxkLnN0eWxlLmRpc3BsYXk9J25vbmUnO2VkaXQuc3R5bGUuZGlzcGxheT0naW5saW5lJztlZGl0LmZvY3VzKCk7fX0KZnVuY3Rpb24gZWRpdGluZ0xlbmd0aEJsdXIoZWRpdCl7dmFyIGZpZWxkPWVkaXQucGFyZW50Tm9kZS5maXJzdENoaWxkO3ZhciB2YWw9ZWRpdC52YWx1ZTtmaWVsZC52YWx1ZT0oL1xuLy50ZXN0KHZhbCk/IiciK3ZhbC5yZXBsYWNlKC9cbiskLywnJykucmVwbGFjZSgvJy9nLCInJyIpLnJlcGxhY2UoL1xuL2csIicsJyIpKyInIjp2YWwpO2ZpZWxkLnN0eWxlLmRpc3BsYXk9J2lubGluZSc7ZWRpdC5zdHlsZS5kaXNwbGF5PSdub25lJzt9CmZ1bmN0aW9uIGNvbHVtblNob3coY2hlY2tlZCxjb2x1bW4pe3ZhciB0cnM9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2VkaXQtZmllbGRzJykuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3RyJyk7Zm9yKHZhciBpPTA7aTx0cnMubGVuZ3RoO2krKyl7dHJzW2ldLmdldEVsZW1lbnRzQnlUYWdOYW1lKCd0ZCcpW2NvbHVtbl0uY2xhc3NOYW1lPShjaGVja2VkPycnOidoaWRkZW4nKTt9fQpmdW5jdGlvbiBwYXJ0aXRpb25CeUNoYW5nZShlbCl7dmFyIHBhcnRpdGlvblRhYmxlPS9SQU5HRXxMSVNULy50ZXN0KHNlbGVjdFZhbHVlKGVsKSk7ZWwuZm9ybVsncGFydGl0aW9ucyddLmNsYXNzTmFtZT0ocGFydGl0aW9uVGFibGV8fCFlbC5zZWxlY3RlZEluZGV4PydoaWRkZW4nOicnKTtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGFydGl0aW9uLXRhYmxlJykuY2xhc3NOYW1lPShwYXJ0aXRpb25UYWJsZT8nJzonaGlkZGVuJyk7fQpmdW5jdGlvbiBwYXJ0aXRpb25OYW1lQ2hhbmdlKGVsKXt2YXIgcm93PWVsLnBhcmVudE5vZGUucGFyZW50Tm9kZS5jbG9uZU5vZGUodHJ1ZSk7cm93LmZpcnN0Q2hpbGQuZmlyc3RDaGlsZC52YWx1ZT0nJztlbC5wYXJlbnROb2RlLnBhcmVudE5vZGUucGFyZW50Tm9kZS5hcHBlbmRDaGlsZChyb3cpO2VsLm9uY2hhbmdlPWZ1bmN0aW9uKCl7fTt9CmZ1bmN0aW9uIGZvcmVpZ25BZGRSb3coZmllbGQpe2ZpZWxkLm9uY2hhbmdlPWZ1bmN0aW9uKCl7fTt2YXIgcm93PWZpZWxkLnBhcmVudE5vZGUucGFyZW50Tm9kZS5jbG9uZU5vZGUodHJ1ZSk7dmFyIHNlbGVjdHM9cm93LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzZWxlY3QnKTtmb3IodmFyIGk9MDtpPHNlbGVjdHMubGVuZ3RoO2krKyl7c2VsZWN0c1tpXS5uYW1lPXNlbGVjdHNbaV0ubmFtZS5yZXBsYWNlKC9cXS8sJzEkJicpO3NlbGVjdHNbaV0uc2VsZWN0ZWRJbmRleD0wO30KZmllbGQucGFyZW50Tm9kZS5wYXJlbnROb2RlLnBhcmVudE5vZGUuYXBwZW5kQ2hpbGQocm93KTt9CmZ1bmN0aW9uIGluZGV4ZXNBZGRSb3coZmllbGQpe2ZpZWxkLm9uY2hhbmdlPWZ1bmN0aW9uKCl7fTt2YXIgcm93PWZpZWxkLnBhcmVudE5vZGUucGFyZW50Tm9kZS5jbG9uZU5vZGUodHJ1ZSk7dmFyIHNwYW5zPXJvdy5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc3BhbicpO2Zvcih2YXIgaT0wO2k8c3BhbnMubGVuZ3RoLTE7aSsrKXtyb3cucmVtb3ZlQ2hpbGQoc3BhbnNbaV0pO30KdmFyIHNlbGVjdHM9cm93LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzZWxlY3QnKTtmb3IodmFyIGk9MDtpPHNlbGVjdHMubGVuZ3RoO2krKyl7c2VsZWN0c1tpXS5uYW1lPXNlbGVjdHNbaV0ubmFtZS5yZXBsYWNlKC9pbmRleGVzXFtcZCsvLCckJjEnKTtzZWxlY3RzW2ldLnNlbGVjdGVkSW5kZXg9MDt9CnZhciBpbnB1dD1yb3cuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2lucHV0JylbMF07aW5wdXQubmFtZT1pbnB1dC5uYW1lLnJlcGxhY2UoL2luZGV4ZXNcW1xkKy8sJyQmMScpO2lucHV0LnZhbHVlPScnO2ZpZWxkLnBhcmVudE5vZGUucGFyZW50Tm9kZS5wYXJlbnROb2RlLmFwcGVuZENoaWxkKHJvdyk7fQpmdW5jdGlvbiBpbmRleGVzQWRkQ29sdW1uKGZpZWxkKXtmaWVsZC5vbmNoYW5nZT1mdW5jdGlvbigpe307dmFyIGNvbHVtbj1maWVsZC5wYXJlbnROb2RlLmNsb25lTm9kZSh0cnVlKTt2YXIgc2VsZWN0PWNvbHVtbi5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2VsZWN0JylbMF07c2VsZWN0Lm5hbWU9c2VsZWN0Lm5hbWUucmVwbGFjZSgvXF1cW1xkKy8sJyQmMScpO3NlbGVjdC5zZWxlY3RlZEluZGV4PTA7dmFyIGlucHV0PWNvbHVtbi5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaW5wdXQnKVswXTtpbnB1dC5uYW1lPWlucHV0Lm5hbWUucmVwbGFjZSgvXF1cW1xkKy8sJyQmMScpO2lucHV0LnZhbHVlPScnO2ZpZWxkLnBhcmVudE5vZGUucGFyZW50Tm9kZS5hcHBlbmRDaGlsZChjb2x1bW4pO3NlbGVjdD1maWVsZC5mb3JtW2ZpZWxkLm5hbWUucmVwbGFjZSgvXF0uKi8sJ11bdHlwZV0nKV07aWYoIXNlbGVjdC5zZWxlY3RlZEluZGV4KXtzZWxlY3Quc2VsZWN0ZWRJbmRleD0zO319CnZhciB0aGF0LHgseSxlbSx0YWJsZVBvcztmdW5jdGlvbiBzY2hlbWFNb3VzZWRvd24oZWwsZXZlbnQpe3RoYXQ9ZWw7eD1ldmVudC5jbGllbnRYLWVsLm9mZnNldExlZnQ7eT1ldmVudC5jbGllbnRZLWVsLm9mZnNldFRvcDt9CmZ1bmN0aW9uIHNjaGVtYU1vdXNlbW92ZShldil7aWYodGhhdCE9PXVuZGVmaW5lZCl7ZXY9ZXZ8fGV2ZW50O3ZhciBsZWZ0PShldi5jbGllbnRYLXgpL2VtO3ZhciB0b3A9KGV2LmNsaWVudFkteSkvZW07dmFyIGRpdnM9dGhhdC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnZGl2Jyk7dmFyIGxpbmVTZXQ9e307Zm9yKHZhciBpPTA7aTxkaXZzLmxlbmd0aDtpKyspe2lmKGRpdnNbaV0uY2xhc3NOYW1lPT0ncmVmZXJlbmNlcycpe3ZhciBkaXYyPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKChkaXZzW2ldLmlkLnN1YnN0cigwLDQpPT0ncmVmcyc/J3JlZmQnOidyZWZzJykrZGl2c1tpXS5pZC5zdWJzdHIoNCkpO3ZhciByZWY9KHRhYmxlUG9zW2RpdnNbaV0udGl0bGVdP3RhYmxlUG9zW2RpdnNbaV0udGl0bGVdOltkaXYyLnBhcmVudE5vZGUub2Zmc2V0VG9wL2VtLDBdKTt2YXIgbGVmdDE9LTE7dmFyIGlzVG9wPXRydWU7dmFyIGlkPWRpdnNbaV0uaWQucmVwbGFjZSgvXnJlZi4oLispLS4rLywnJDEnKTtpZihkaXZzW2ldLnBhcmVudE5vZGUhPWRpdjIucGFyZW50Tm9kZSl7bGVmdDE9TWF0aC5taW4oMCxyZWZbMV0tbGVmdCktMTtkaXZzW2ldLnN0eWxlLmxlZnQ9bGVmdDErJ2VtJztkaXZzW2ldLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdkaXYnKVswXS5zdHlsZS53aWR0aD0tbGVmdDErJ2VtJzt2YXIgbGVmdDI9TWF0aC5taW4oMCxsZWZ0LXJlZlsxXSktMTtkaXYyLnN0eWxlLmxlZnQ9bGVmdDIrJ2VtJztkaXYyLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdkaXYnKVswXS5zdHlsZS53aWR0aD0tbGVmdDIrJ2VtJztpc1RvcD0oZGl2Mi5vZmZzZXRUb3ArcmVmWzBdKmVtPmRpdnNbaV0ub2Zmc2V0VG9wK3RvcCplbSk7fQppZighbGluZVNldFtpZF0pe3ZhciBsaW5lPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGRpdnNbaV0uaWQucmVwbGFjZSgvXi4uLi4oLispLVxkKyQvLCdyZWZsJDEnKSk7dmFyIHNoaWZ0PWV2LmNsaWVudFkteS10aGF0Lm9mZnNldFRvcDtsaW5lLnN0eWxlLmxlZnQ9KGxlZnQrbGVmdDEpKydlbSc7aWYoaXNUb3Ape2xpbmUuc3R5bGUudG9wPShsaW5lLm9mZnNldFRvcCtzaGlmdCkvZW0rJ2VtJzt9CmlmKGRpdnNbaV0ucGFyZW50Tm9kZSE9ZGl2Mi5wYXJlbnROb2RlKXtsaW5lPWxpbmUuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2RpdicpWzBdO2xpbmUuc3R5bGUuaGVpZ2h0PShsaW5lLm9mZnNldEhlaWdodCsoaXNUb3A/LTE6MSkqc2hpZnQpL2VtKydlbSc7fQpsaW5lU2V0W2lkXT10cnVlO319fQp0aGF0LnN0eWxlLmxlZnQ9bGVmdCsnZW0nO3RoYXQuc3R5bGUudG9wPXRvcCsnZW0nO319CmZ1bmN0aW9uIHNjaGVtYU1vdXNldXAoZXYsZGIpe2lmKHRoYXQhPT11bmRlZmluZWQpe2V2PWV2fHxldmVudDt0YWJsZVBvc1t0aGF0LmZpcnN0Q2hpbGQuZmlyc3RDaGlsZC5maXJzdENoaWxkLmRhdGFdPVsoZXYuY2xpZW50WS15KS9lbSwoZXYuY2xpZW50WC14KS9lbV07dGhhdD11bmRlZmluZWQ7dmFyIHM9Jyc7Zm9yKHZhciBrZXkgaW4gdGFibGVQb3Mpe3MrPSdfJytrZXkrJzonK01hdGgucm91bmQodGFibGVQb3Nba2V5XVswXSoxMDAwMCkvMTAwMDArJ3gnK01hdGgucm91bmQodGFibGVQb3Nba2V5XVsxXSoxMDAwMCkvMTAwMDA7fQpzPWVuY29kZVVSSUNvbXBvbmVudChzLnN1YnN0cigxKSk7dmFyIGxpbms9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NjaGVtYS1saW5rJyk7bGluay5ocmVmPWxpbmsuaHJlZi5yZXBsYWNlKC9bXj1dKyQvLCcnKStzO2Nvb2tpZSgnYWRtaW5lcl9zY2hlbWEtJytkYisnPScrcywzMCk7fX08P3BocAp9ZWxzZXtoZWFkZXIoIkNvbnRlbnQtVHlwZTogaW1hZ2UvZ2lmIik7c3dpdGNoKCRfR0VUWyJmaWxlIl0pe2Nhc2UicGx1cy5naWYiOmVjaG8KYmFzZTY0X2RlY29kZSgiUjBsR09EZGhFZ0FTQUtFQUFPN3U3Z0FBQUptWm1RQUFBQ3dBQUFBQUVnQVNBQUFDSVlTUHFjdnREMDBJOGN3cUtiNXYrcThwSUFoeGxSbWhaWWkxN2lQRThrekxCUUE3Iik7YnJlYWs7Y2FzZSJjcm9zcy5naWYiOmVjaG8KYmFzZTY0X2RlY29kZSgiUjBsR09EZGhFZ0FTQUtFQUFPN3U3Z0FBQUptWm1RQUFBQ3dBQUFBQUVnQVNBQUFDSTRTUHFjdnREeU1LWWRaR2IzNTV3eTZCWDNkaGxPRXg1N0ZLN2d0SHdrelhObDBBQURzPSIpO2JyZWFrO2Nhc2UidXAuZ2lmIjplY2hvCmJhc2U2NF9kZWNvZGUoIlIwbEdPRGRoRWdBU0FLRUFBTzd1N2dBQUFKbVptUUFBQUN3QUFBQUFFZ0FTQUFBQ0lJU1BxY3Z0RDAwSVVVNEs3MzBUOUo1aEZUaUtFWG1hWWNXMnJnREg4aHdYQURzPSIpO2JyZWFrO2Nhc2UiZG93bi5naWYiOmVjaG8KYmFzZTY0X2RlY29kZSgiUjBsR09EZGhFZ0FTQUtFQUFPN3U3Z0FBQUptWm1RQUFBQ3dBQUFBQUVnQVNBQUFDSUlTUHFjdnREMDBJOGN3cUtiNWJWLzVjb3NkTUp0bWNIY2EybFFESDhod1hBRHM9Iik7YnJlYWs7Y2FzZSJhcnJvdy5naWYiOmVjaG8KYmFzZTY0X2RlY29kZSgiUjBsR09EbGhDQUFLQUlBQUFJQ0FnUC8vL3lINUJBRUFBQUVBTEFBQUFBQUlBQW9BQUFJUEJJSnBsckdMbnBRUnF0T3kzcnNBQURzPSIpO2JyZWFrO2Nhc2UibG9hZGVyLmdpZiI6ZWNobwpiYXNlNjRfZGVjb2RlKCJSMGxHT0RsaEVBQVFBUElBQVAvLy93QUFBTUxDd2tKQ1FnQUFBR0ppWW9LQ2dwS1NraUgvQzA1RlZGTkRRVkJGTWk0d0F3RUFBQUFoL2hwRGNtVmhkR1ZrSUhkcGRHZ2dZV3BoZUd4dllXUXVhVzVtYndBaCtRUUpDZ0FBQUN3QUFBQUFFQUFRQUFBRE13aTYzUDR3eWtsckUyTUlPZ2dabkFkT21HWUpSYkV4d3JvVW1jRzJMbURFd25IUUxWc1lPZDJtQnprWURBZEthK2RJQUFBaCtRUUpDZ0FBQUN3QUFBQUFFQUFRQUFBRE5BaTYzUDVPakNFZ0c0UU11N0RtaWtSeFFsRlVZREVaSUdCTVJWc2FxSHdjdFhYZjdXRVlCNEFnMXhqaWhrTVpzaVVrS2hJQUlma0VDUW9BQUFBc0FBQUFBQkFBRUFBQUF6WUl1aklqSzhwQnlKRE1sRll2Qm9WakhBNzBHVTd4U1VKaG1LdHdIUEFLekxPOUhNYW9Ld0paN1JmOEFZUEREektwWkJxZnZ3UUFJZmtFQ1FvQUFBQXNBQUFBQUJBQUVBQUFBek1JdW1JbEs4b3locEhzbkZaZmhZdW1DWVVoREFReFJJZGhIQkdxUm9LdzBSOERZbEpkOHowZk1EZ3NHby9JcEhJNVRBQUFJZmtFQ1FvQUFBQXNBQUFBQUJBQUVBQUFBeklJdW5Jbkswcm5aQlR3R1BOTWdRd21kc05nWEdKVWxJV0V1UjVvV1VJcHo4cEFFQU1lNlR3Znd5WXNHby9JcEZLU0FBQWgrUVFKQ2dBQUFDd0FBQUFBRUFBUUFBQURNd2k2SU1LUU9SZmpkT2U4MnA0d0djY2M0Q0V1UXJhZHlsZXNvakVNQmdzVWMyRzdzRFgzbFFHQk1MQUppYnVmYlNsS0FBQWgrUVFKQ2dBQUFDd0FBQUFBRUFBUUFBQURNZ2k2M1A3d0NSSFpuRlZkbWdIdTJuRndsV0NJM1dHYzNUU1doVUZHeFRBVWtHQ2J0Z0VOQk1KQUVKc3hnTUxXenBFQUFDSDVCQWtLQUFBQUxBQUFBQUFRQUJBQUFBTXlDTHJjL2pES1NhdGxRdFNjS2RjZUNBakRJSTdIY1E0RU1UQ3B5ckN1VUJqQ1lSZ0hWdHFsQWlCMVloaUNubHNSa0FBQU93QUFBQUFBQUFBQUFBPT0iKTticmVhazt9fWV4aXQ7fWZ1bmN0aW9uCmNvbm5lY3Rpb24oKXtnbG9iYWwkZztyZXR1cm4kZzt9ZnVuY3Rpb24KaWRmX3VuZXNjYXBlKCROKXskeGI9c3Vic3RyKCROLC0xKTtyZXR1cm4Kc3RyX3JlcGxhY2UoJHhiLiR4YiwkeGIsc3Vic3RyKCROLDEsLTEpKTt9ZnVuY3Rpb24KZXNjYXBlX3N0cmluZygkYil7cmV0dXJuCnN1YnN0cihxKCRiKSwxLC0xKTt9ZnVuY3Rpb24KcmVtb3ZlX3NsYXNoZXMoJHViKXtpZihnZXRfbWFnaWNfcXVvdGVzX2dwYygpKXt3aGlsZShsaXN0KCRkLCRiKT1lYWNoKCR1Yikpe2ZvcmVhY2goJGIKYXMkTWE9PiR5KXt1bnNldCgkdWJbJGRdWyRNYV0pO2lmKGlzX2FycmF5KCR5KSl7JHViWyRkXVtzdHJpcHNsYXNoZXMoJE1hKV09JHk7JHViW109JiR1YlskZF1bc3RyaXBzbGFzaGVzKCRNYSldO31lbHNleyR1YlskZF1bc3RyaXBzbGFzaGVzKCRNYSldPSgkX2U/JHk6c3RyaXBzbGFzaGVzKCR5KSk7fX19fX1mdW5jdGlvbgpicmFja2V0X2VzY2FwZSgkTiwkcGY9ZmFsc2Upe3N0YXRpYyRYZD1hcnJheSgnOic9Pic6MScsJ10nPT4nOjInLCdbJz0+JzozJyk7cmV0dXJuCnN0cnRyKCROLCgkcGY/YXJyYXlfZmxpcCgkWGQpOiRYZCkpO31mdW5jdGlvbgpoKCRJKXtyZXR1cm4KaHRtbHNwZWNpYWxjaGFycygkSSxFTlRfUVVPVEVTKTt9ZnVuY3Rpb24KbmJzcCgkSSl7cmV0dXJuKHRyaW0oJEkpIT0iIj9oKCRJKToiJm5ic3A7Iik7fWZ1bmN0aW9uCm5sX2JyKCRJKXtyZXR1cm4Kc3RyX3JlcGxhY2UoIlxuIiwiPGJyPiIsJEkpO31mdW5jdGlvbgpjaGVja2JveCgkZiwkcSwkYWIsJFVkPSIiLCRhZT0iIil7c3RhdGljJFM9MDskUysrOyRjPSI8aW5wdXQgdHlwZT0nY2hlY2tib3gnIi4oJGY/IiBuYW1lPSckZicgdmFsdWU9JyIuaCgkcSkuIiciOiIgY2xhc3M9J2pzb25seSciKS4oJGFiPyIgY2hlY2tlZCI6IiIpLigkYWU/IiBvbmNsaWNrPVwiJGFlXCIiOiIiKS4iIGlkPSdjaGVja2JveC0kUyc+IjtyZXR1cm4oJFVkIT0iIj8iPGxhYmVsIGZvcj0nY2hlY2tib3gtJFMnPiRjIi5oKCRVZCkuIjwvbGFiZWw+IjokYyk7fWZ1bmN0aW9uCm9wdGlvbmxpc3QoJFdjLCRNZj1udWxsLCRvZT1mYWxzZSl7JGM9IiI7Zm9yZWFjaCgkV2MKYXMkTWE9PiR5KXskZ2U9YXJyYXkoJE1hPT4keSk7aWYoaXNfYXJyYXkoJHkpKXskYy49JzxvcHRncm91cCBsYWJlbD0iJy5oKCRNYSkuJyI+JzskZ2U9JHk7fWZvcmVhY2goJGdlCmFzJGQ9PiRiKXskYy49JzxvcHRpb24nLigkb2V8fGlzX3N0cmluZygkZCk/JyB2YWx1ZT0iJy5oKCRkKS4nIic6JycpLigoJG9lfHxpc19zdHJpbmcoJGQpPyhzdHJpbmcpJGQ6JGIpPT09JE1mPycgc2VsZWN0ZWQnOicnKS4nPicuaCgkYik7fWlmKGlzX2FycmF5KCR5KSl7JGMuPSc8L29wdGdyb3VwPic7fX1yZXR1cm4kYzt9ZnVuY3Rpb24KaHRtbF9zZWxlY3QoJGYsJFdjLCRxPSIiLCRRYj10cnVlKXtpZigkUWIpe3JldHVybiI8c2VsZWN0IG5hbWU9JyIuaCgkZikuIiciLihpc19zdHJpbmcoJFFiKT8iIG9uY2hhbmdlPVwiJFFiXCIiOiIiKS4iPiIub3B0aW9ubGlzdCgkV2MsJHEpLiI8L3NlbGVjdD4iO30kYz0iIjtmb3JlYWNoKCRXYwphcyRkPT4kYil7JGMuPSI8bGFiZWw+PGlucHV0IHR5cGU9J3JhZGlvJyBuYW1lPSciLmgoJGYpLiInIHZhbHVlPSciLmgoJGQpLiInIi4oJGQ9PSRxPyIgY2hlY2tlZCI6IiIpLiI+Ii5oKCRiKS4iPC9sYWJlbD4iO31yZXR1cm4kYzt9ZnVuY3Rpb24KY29uZmlybSgkUWM9IiIsJFNmPWZhbHNlKXtyZXR1cm4iIG9uY2xpY2s9XCIiLigkU2Y/ImV2ZW50U3RvcChldmVudCk7ICI6IiIpLiJyZXR1cm4gY29uZmlybSgnIi5sYW5nKDApLigkUWM/IiAoJyArICRRYyArICcpIjoiIikuIicpO1wiIjt9ZnVuY3Rpb24KanNfZXNjYXBlKCRJKXtyZXR1cm4KYWRkY3NsYXNoZXMoJEksIlxyXG4nXFwvIik7fWZ1bmN0aW9uCmluaV9ib29sKCRSZil7JGI9aW5pX2dldCgkUmYpO3JldHVybihlcmVnaSgnXihvbnx0cnVlfHllcykkJywkYil8fChpbnQpJGIpO31mdW5jdGlvbgpzaWQoKXtzdGF0aWMkYztpZighaXNzZXQoJGMpKXskYz0oU0lEJiYhKCRfQ09PS0lFJiZpbmlfYm9vbCgic2Vzc2lvbi51c2VfY29va2llcyIpKSk7fXJldHVybiRjO31mdW5jdGlvbgpxKCRJKXtnbG9iYWwkZztyZXR1cm4kZy0+cXVvdGUoJEkpO31mdW5jdGlvbgpnZXRfdmFscygkaiwkQz0wKXtnbG9iYWwkZzskYz1hcnJheSgpOyRpPSRnLT5xdWVyeSgkaik7aWYoaXNfb2JqZWN0KCRpKSl7d2hpbGUoJGE9JGktPmZldGNoX3JvdygpKXskY1tdPSRhWyRDXTt9fXJldHVybiRjO31mdW5jdGlvbgpnZXRfa2V5X3ZhbHMoJGosJEc9bnVsbCl7Z2xvYmFsJGc7aWYoIWlzX29iamVjdCgkRykpeyRHPSRnO30kYz1hcnJheSgpOyRpPSRHLT5xdWVyeSgkaik7aWYoaXNfb2JqZWN0KCRpKSl7d2hpbGUoJGE9JGktPmZldGNoX3JvdygpKXskY1skYVswXV09JGFbMV07fX1yZXR1cm4kYzt9ZnVuY3Rpb24KZ2V0X3Jvd3MoJGosJEc9bnVsbCwkbj0iPHAgY2xhc3M9J2Vycm9yJz4iKXtnbG9iYWwkZztpZighaXNfb2JqZWN0KCRHKSl7JEc9JGc7fSRjPWFycmF5KCk7JGk9JEctPnF1ZXJ5KCRqKTtpZihpc19vYmplY3QoJGkpKXt3aGlsZSgkYT0kaS0+ZmV0Y2hfYXNzb2MoKSl7JGNbXT0kYTt9fWVsc2VpZighJGkmJiRnLT5lcnJvciYmJG4mJmRlZmluZWQoIlBBR0VfSEVBREVSIikpe2VjaG8kbi5lcnJvcigpLiJcbiI7fXJldHVybiRjO31mdW5jdGlvbgp1bmlxdWVfYXJyYXkoJGEsJEope2ZvcmVhY2goJEoKYXMkeCl7aWYoZXJlZygiUFJJTUFSWXxVTklRVUUiLCR4WyJ0eXBlIl0pKXskYz1hcnJheSgpO2ZvcmVhY2goJHhbImNvbHVtbnMiXWFzJGQpe2lmKCFpc3NldCgkYVskZF0pKXtjb250aW51ZQoyO30kY1skZF09JGFbJGRdO31yZXR1cm4kYzt9fSRjPWFycmF5KCk7Zm9yZWFjaCgkYQphcyRkPT4kYil7aWYoIXByZWdfbWF0Y2goJ35eKENPVU5UXFwoKFxcKnwoRElTVElOQ1QgKT9gKD86W15gXXxgYCkrYClcXCl8KEFWR3xHUk9VUF9DT05DQVR8TUFYfE1JTnxTVU0pXFwoYCg/OlteYF18YGApK2BcXCkpJH4nLCRkKSl7JGNbJGRdPSRiO319cmV0dXJuJGM7fWZ1bmN0aW9uCndoZXJlKCRzKXtnbG9iYWwkdjskYz1hcnJheSgpO2ZvcmVhY2goKGFycmF5KSRzWyJ3aGVyZSJdYXMkZD0+JGIpeyRjW109aWRmX2VzY2FwZShicmFja2V0X2VzY2FwZSgkZCwxKSkuKGVyZWcoJ1xcLicsJGIpfHwkdj09Im1zc3FsIj8iIExJS0UgIi5leGFjdF92YWx1ZShhZGRjc2xhc2hlcygkYiwiJV8iKSk6IiA9ICIuZXhhY3RfdmFsdWUoJGIpKTt9Zm9yZWFjaCgoYXJyYXkpJHNbIm51bGwiXWFzJGQpeyRjW109aWRmX2VzY2FwZSgkZCkuIiBJUyBOVUxMIjt9cmV0dXJuCmltcGxvZGUoIiBBTkQgIiwkYyk7fWZ1bmN0aW9uCndoZXJlX2NoZWNrKCRiKXtwYXJzZV9zdHIoJGIsJGZlKTtyZW1vdmVfc2xhc2hlcyhhcnJheSgmJGZlKSk7cmV0dXJuCndoZXJlKCRmZSk7fWZ1bmN0aW9uCndoZXJlX2xpbmsoJGwsJEMsJHEsJElmPSI9Iil7cmV0dXJuIiZ3aGVyZSU1QiRsJTVEJTVCY29sJTVEPSIudXJsZW5jb2RlKCRDKS4iJndoZXJlJTVCJGwlNUQlNUJvcCU1RD0iLnVybGVuY29kZSgoaXNzZXQoJHEpPyRJZjoiSVMgTlVMTCIpKS4iJndoZXJlJTVCJGwlNUQlNUJ2YWwlNUQ9Ii51cmxlbmNvZGUoJHEpO31mdW5jdGlvbgpjb29raWUoJGYsJHEpe2dsb2JhbCRBYzskeGM9YXJyYXkoJGYsKGVyZWcoIlxuIiwkcSk/IiI6JHEpLHRpbWUoKSsyNTkyMDAwLHByZWdfcmVwbGFjZSgnflxcPy4qficsJycsJF9TRVJWRVJbIlJFUVVFU1RfVVJJIl0pLCIiLCRBYyk7aWYodmVyc2lvbl9jb21wYXJlKFBIUF9WRVJTSU9OLCc1LjIuMCcpPj0wKXskeGNbXT10cnVlO31yZXR1cm4KY2FsbF91c2VyX2Z1bmNfYXJyYXkoJ3NldGNvb2tpZScsJHhjKTt9ZnVuY3Rpb24KcmVzdGFydF9zZXNzaW9uKCl7aWYoIWluaV9ib29sKCJzZXNzaW9uLnVzZV9jb29raWVzIikpe3Nlc3Npb25fc3RhcnQoKTt9fWZ1bmN0aW9uJmdldF9zZXNzaW9uKCRkKXtyZXR1cm4kX1NFU1NJT05bJGRdW0RSSVZFUl1bU0VSVkVSXVskX0dFVFsidXNlcm5hbWUiXV07fWZ1bmN0aW9uCnNldF9zZXNzaW9uKCRkLCRiKXskX1NFU1NJT05bJGRdW0RSSVZFUl1bU0VSVkVSXVskX0dFVFsidXNlcm5hbWUiXV09JGI7fWZ1bmN0aW9uCmF1dGhfdXJsKCRJYiwkRiwkUCl7Z2xvYmFsJG5hO3ByZWdfbWF0Y2goJ34oW14/XSopXFw/PyguKil+JyxyZW1vdmVfZnJvbV91cmkoaW1wbG9kZSgifCIsYXJyYXlfa2V5cygkbmEpKS4ifHVzZXJuYW1lfCIuc2Vzc2lvbl9uYW1lKCkpLCRrKTtyZXR1cm4iJGtbMV0/Ii4oc2lkKCk/U0lELiImIjoiIikuKCRJYiE9InNlcnZlciJ8fCRGIT0iIj91cmxlbmNvZGUoJEliKS4iPSIudXJsZW5jb2RlKCRGKS4iJiI6IiIpLiJ1c2VybmFtZT0iLnVybGVuY29kZSgkUCkuKCRrWzJdPyImJGtbMl0iOiIiKTt9ZnVuY3Rpb24KaXNfYWpheCgpe3JldHVybigkX1NFUlZFUlsiSFRUUF9YX1JFUVVFU1RFRF9XSVRIIl09PSJYTUxIdHRwUmVxdWVzdCIpO31mdW5jdGlvbgpyZWRpcmVjdCgkZ2EsJHZhPW51bGwpe2lmKGlzc2V0KCR2YSkpe3Jlc3RhcnRfc2Vzc2lvbigpOyRfU0VTU0lPTlsibWVzc2FnZXMiXVtwcmVnX3JlcGxhY2UoJ35eW14/XSp+JywnJywoaXNzZXQoJGdhKT8kZ2E6JF9TRVJWRVJbIlJFUVVFU1RfVVJJIl0pKV1bXT0kdmE7fWlmKGlzc2V0KCRnYSkpe2lmKCRnYT09IiIpeyRnYT0iLiI7fWhlYWRlcigoaXNfYWpheCgpPyJYLUFKQVgtUmVkaXJlY3QiOiJMb2NhdGlvbiIpLiI6ICRnYSIpO2V4aXQ7fX1mdW5jdGlvbgpxdWVyeV9yZWRpcmVjdCgkaiwkZ2EsJHZhLCRmZD10cnVlLCRFZj10cnVlLCRiZj1mYWxzZSl7Z2xvYmFsJGcsJG4sJG87aWYoJEVmKXskYmY9ISRnLT5xdWVyeSgkaik7fSR4ZD0iIjtpZigkail7JHhkPSRvLT5tZXNzYWdlUXVlcnkoIiRqOyIpO31pZigkYmYpeyRuPWVycm9yKCkuJHhkO3JldHVybgpmYWxzZTt9aWYoJGZkKXtyZWRpcmVjdCgkZ2EsJHZhLiR4ZCk7fXJldHVybgp0cnVlO31mdW5jdGlvbgpxdWVyaWVzKCRqPW51bGwpe2dsb2JhbCRnO3N0YXRpYyRqYj1hcnJheSgpO2lmKCFpc3NldCgkaikpe3JldHVybgppbXBsb2RlKCI7XG4iLCRqYik7fSRqYltdPShlcmVnKCc7JCcsJGopPyJERUxJTUlURVIgOztcbiRqO1xuREVMSU1JVEVSICI6JGopO3JldHVybiRnLT5xdWVyeSgkaik7fWZ1bmN0aW9uCmFwcGx5X3F1ZXJpZXMoJGosJEUsJERmPSd0YWJsZScpe2ZvcmVhY2goJEUKYXMkaCl7aWYoIXF1ZXJpZXMoIiRqICIuJERmKCRoKSkpe3JldHVybgpmYWxzZTt9fXJldHVybgp0cnVlO31mdW5jdGlvbgpxdWVyaWVzX3JlZGlyZWN0KCRnYSwkdmEsJGZkKXtyZXR1cm4KcXVlcnlfcmVkaXJlY3QocXVlcmllcygpLCRnYSwkdmEsJGZkLGZhbHNlLCEkZmQpO31mdW5jdGlvbgpyZW1vdmVfZnJvbV91cmkoJFphPSIiKXtyZXR1cm4Kc3Vic3RyKHByZWdfcmVwbGFjZSgifig/PD1bPyZdKSgkWmEiLihTSUQ/IiI6InwiLnNlc3Npb25fbmFtZSgpKS4iKT1bXiZdKiZ+IiwnJywiJF9TRVJWRVJbUkVRVUVTVF9VUkldJiIpLDAsLTEpO31mdW5jdGlvbgpwYWdpbmF0aW9uKCRjYSwkemYpe3JldHVybiIgIi4oJGNhPT0kemY/JGNhKzE6JzxhIGhyZWY9IicuaChyZW1vdmVfZnJvbV91cmkoInBhZ2UiKS4oJGNhPyImcGFnZT0kY2EiOiIiKSkuJyI+Jy4oJGNhKzEpLiI8L2E+Iik7fWZ1bmN0aW9uCmdldF9maWxlKCRkLCRzZD1mYWxzZSl7JElhPSRfRklMRVNbJGRdO2lmKCEkSWF8fCRJYVsiZXJyb3IiXSl7cmV0dXJuJElhWyJlcnJvciJdO30kYz1maWxlX2dldF9jb250ZW50cygkc2QmJmVyZWcoJ1xcLmd6JCcsJElhWyJuYW1lIl0pPyJjb21wcmVzcy56bGliOi8vJElhW3RtcF9uYW1lXSI6KCRzZCYmZXJlZygnXFwuYnoyJCcsJElhWyJuYW1lIl0pPyJjb21wcmVzcy5iemlwMjovLyRJYVt0bXBfbmFtZV0iOiRJYVsidG1wX25hbWUiXSkpO2lmKCRzZCl7JEZiPXN1YnN0cigkYywwLDMpO2lmKGZ1bmN0aW9uX2V4aXN0cygiaWNvbnYiKSYmZXJlZygiXlx4RkVceEZGfF5ceEZGXHhGRSIsJEZiLCRYZikpeyRjPWljb252KCJ1dGYtMTYiLCJ1dGYtOCIsJGMpO31lbHNlaWYoJEZiPT0iXHhFRlx4QkJceEJGIil7JGM9c3Vic3RyKCRjLDMpO319cmV0dXJuJGM7fWZ1bmN0aW9uCnVwbG9hZF9lcnJvcigkbil7JGdmPSgkbj09VVBMT0FEX0VSUl9JTklfU0laRT9pbmlfZ2V0KCJ1cGxvYWRfbWF4X2ZpbGVzaXplIik6bnVsbCk7cmV0dXJuKCRuP2xhbmcoMSkuKCRnZj8iICIubGFuZygyLCRnZik6IiIpOmxhbmcoMykpO31mdW5jdGlvbgpvZGQoJGM9JyBjbGFzcz0ib2RkIicpe3N0YXRpYyRsPTA7aWYoISRjKXskbD0tMTt9cmV0dXJuKCRsKyslCjI/JGM6JycpO31mdW5jdGlvbgpqc29uX3JvdygkZCwkYj1udWxsKXtzdGF0aWMkQmE9dHJ1ZTtpZigkQmEpe2VjaG8ieyI7fWlmKCRkIT0iIil7ZWNobygkQmE/IiI6IiwiKS4iXG5cdFwiIi5hZGRjc2xhc2hlcygkZCwiXHJcblwiXFwiKS4nIjogJy4oaXNzZXQoJGIpPyciJy5hZGRjc2xhc2hlcygkYiwiXHJcblwiXFwiKS4nIic6J3VuZGVmaW5lZCcpOyRCYT1mYWxzZTt9ZWxzZXtlY2hvIlxufVxuIjskQmE9dHJ1ZTt9fWZ1bmN0aW9uCmlzX3V0ZjgoJGIpe3JldHVybihwcmVnX21hdGNoKCd+fnUnLCRiKSYmIXByZWdfbWF0Y2goJ35bXFwwLVxceDhcXHhCXFx4Q1xceEUtXFx4MUZdficsJGIpKTt9ZnVuY3Rpb24KcmVwZWF0X3BhdHRlcm4oJGJhLCRXKXtyZXR1cm4Kc3RyX3JlcGVhdCgiJGJhezAsNjU1MzV9IiwkVy82NTUzNSkuIiRiYXswLCIuKCRXCiUKNjU1MzUpLiJ9Ijt9ZnVuY3Rpb24Kc2hvcnRlbl91dGY4KCRJLCRXPTgwLCRBZj0iIil7aWYoIXByZWdfbWF0Y2goIiheKCIucmVwZWF0X3BhdHRlcm4oIltcdFxyXG4gLVx4e0ZGRkZ9XSIsJFcpLiIpKCQpPyl1IiwkSSwkaykpe3ByZWdfbWF0Y2goIiheKCIucmVwZWF0X3BhdHRlcm4oIltcdFxyXG4gLX5dIiwkVykuIikoJCk/KSIsJEksJGspO31yZXR1cm4KaCgka1sxXSkuJEFmLihpc3NldCgka1syXSk/IiI6IjxpPi4uLjwvaT4iKTt9ZnVuY3Rpb24KZnJpZW5kbHlfdXJsKCRiKXtyZXR1cm4KcHJlZ19yZXBsYWNlKCd+W15hLXowLTlfXX5pJywnLScsJGIpO31mdW5jdGlvbgpoaWRkZW5fZmllbGRzKCR1YiwkUWY9YXJyYXkoKSl7d2hpbGUobGlzdCgkZCwkYik9ZWFjaCgkdWIpKXtpZihpc19hcnJheSgkYikpe2ZvcmVhY2goJGIKYXMkTWE9PiR5KXskdWJbJGQuIlskTWFdIl09JHk7fX1lbHNlaWYoIWluX2FycmF5KCRkLCRRZikpe2VjaG8nPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJy5oKCRkKS4nIiB2YWx1ZT0iJy5oKCRiKS4nIj4nO319fWZ1bmN0aW9uCmhpZGRlbl9maWVsZHNfZ2V0KCl7ZWNobyhzaWQoKT8nPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJy5zZXNzaW9uX25hbWUoKS4nIiB2YWx1ZT0iJy5oKHNlc3Npb25faWQoKSkuJyI+JzonJyksKFNFUlZFUiE9PW51bGw/JzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IicuRFJJVkVSLiciIHZhbHVlPSInLmgoU0VSVkVSKS4nIj4nOiIiKSwnPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idXNlcm5hbWUiIHZhbHVlPSInLmgoJF9HRVRbInVzZXJuYW1lIl0pLiciPic7fWZ1bmN0aW9uCmNvbHVtbl9mb3JlaWduX2tleXMoJGgpe2dsb2JhbCRvOyRjPWFycmF5KCk7Zm9yZWFjaCgkby0+Zm9yZWlnbktleXMoJGgpYXMkQSl7Zm9yZWFjaCgkQVsic291cmNlIl1hcyRiKXskY1skYl1bXT0kQTt9fXJldHVybiRjO31mdW5jdGlvbgplbnVtX2lucHV0KCR6LCRSYSwkZSwkcSwkaGM9bnVsbCl7Z2xvYmFsJG87cHJlZ19tYXRjaF9hbGwoIn4nKCg/OlteJ118JycpKiknfiIsJGVbImxlbmd0aCJdLCRvYSk7JGM9KGlzc2V0KCRoYyk/IjxsYWJlbD48aW5wdXQgdHlwZT0nJHonJFJhIHZhbHVlPSckaGMnIi4oKGlzX2FycmF5KCRxKT9pbl9hcnJheSgkaGMsJHEpOiRxPT09MCk/IiBjaGVja2VkIjoiIikuIj48aT4iLmxhbmcoNCkuIjwvaT48L2xhYmVsPiI6IiIpO2ZvcmVhY2goJG9hWzFdYXMkbD0+JGIpeyRiPXN0cmlwY3NsYXNoZXMoc3RyX3JlcGxhY2UoIicnIiwiJyIsJGIpKTskYWI9KGlzX2ludCgkcSk/JHE9PSRsKzE6KGlzX2FycmF5KCRxKT9pbl9hcnJheSgkbCsxLCRxKTokcT09PSRiKSk7JGMuPSIgPGxhYmVsPjxpbnB1dCB0eXBlPSckeickUmEgdmFsdWU9JyIuKCRsKzEpLiInIi4oJGFiPycgY2hlY2tlZCc6JycpLic+Jy5oKCRvLT5lZGl0VmFsKCRiLCRlKSkuJzwvbGFiZWw+Jzt9cmV0dXJuJGM7fWZ1bmN0aW9uCmlucHV0KCRlLCRxLCRLKXtnbG9iYWwkUiwkbywkdjskZj1oKGJyYWNrZXRfZXNjYXBlKCRlWyJmaWVsZCJdKSk7ZWNobyI8dGQgY2xhc3M9J2Z1bmN0aW9uJz4iOyREZT0oJHY9PSJtc3NxbCImJiRlWyJhdXRvX2luY3JlbWVudCJdKTtpZigkRGUmJiEkX1BPU1RbInNhdmUiXSl7JEs9bnVsbDt9JGRhPShpc3NldCgkX0dFVFsic2VsZWN0Il0pfHwkRGU/YXJyYXkoIm9yaWciPT5sYW5nKDUpKTphcnJheSgpKSskby0+ZWRpdEZ1bmN0aW9ucygkZSk7JFJhPSIgbmFtZT0nZmllbGRzWyRmXSciO2lmKCRlWyJ0eXBlIl09PSJlbnVtIil7ZWNobwpuYnNwKCRkYVsiIl0pLiI8dGQ+Ii4kby0+ZWRpdElucHV0KCRfR0VUWyJlZGl0Il0sJGUsJFJhLCRxKTt9ZWxzZXskQmE9MDtmb3JlYWNoKCRkYQphcyRkPT4kYil7aWYoJGQ9PT0iInx8ISRiKXticmVhazt9JEJhKys7fSRRYj0oJEJhPyIgb25jaGFuZ2U9XCJ2YXIgZiA9IHRoaXMuZm9ybVsnZnVuY3Rpb25bIi5qc19lc2NhcGUoJGYpLiJdJ107IGlmICgkQmEgPiBmLnNlbGVjdGVkSW5kZXgpIGYuc2VsZWN0ZWRJbmRleCA9ICRCYTtcIiI6IiIpOyRSYS49JFFiO2VjaG8oY291bnQoJGRhKT4xP2h0bWxfc2VsZWN0KCJmdW5jdGlvblskZl0iLCRkYSwhaXNzZXQoJEspfHxpbl9hcnJheSgkSywkZGEpfHxpc3NldCgkZGFbJEtdKT8kSzoiIiwiZnVuY3Rpb25DaGFuZ2UodGhpcyk7Iik6bmJzcChyZXNldCgkZGEpKSkuJzx0ZD4nOyRBZT0kby0+ZWRpdElucHV0KCRfR0VUWyJlZGl0Il0sJGUsJFJhLCRxKTtpZigkQWUhPSIiKXtlY2hvJEFlO31lbHNlaWYoJGVbInR5cGUiXT09InNldCIpe3ByZWdfbWF0Y2hfYWxsKCJ+JygoPzpbXiddfCcnKSopJ34iLCRlWyJsZW5ndGgiXSwkb2EpO2ZvcmVhY2goJG9hWzFdYXMkbD0+JGIpeyRiPXN0cmlwY3NsYXNoZXMoc3RyX3JlcGxhY2UoIicnIiwiJyIsJGIpKTskYWI9KGlzX2ludCgkcSk/KCRxPj4kbCkmMTppbl9hcnJheSgkYixleHBsb2RlKCIsIiwkcSksdHJ1ZSkpO2VjaG8iIDxsYWJlbD48aW5wdXQgdHlwZT0nY2hlY2tib3gnIG5hbWU9J2ZpZWxkc1skZl1bJGxdJyB2YWx1ZT0nIi4oMTw8JGwpLiInIi4oJGFiPycgY2hlY2tlZCc6JycpLiIkUWI+Ii5oKCRvLT5lZGl0VmFsKCRiLCRlKSkuJzwvbGFiZWw+Jzt9fWVsc2VpZihlcmVnKCdibG9ifGJ5dGVhfHJhd3xmaWxlJywkZVsidHlwZSJdKSYmaW5pX2Jvb2woImZpbGVfdXBsb2FkcyIpKXtlY2hvIjxpbnB1dCB0eXBlPSdmaWxlJyBuYW1lPSdmaWVsZHMtJGYnJFFiPiI7fWVsc2VpZihlcmVnKCd0ZXh0fGxvYicsJGVbInR5cGUiXSkpe2VjaG8iPHRleHRhcmVhICIuKCR2IT0ic3FsaXRlInx8ZXJlZygiXG4iLCRxKT8iY29scz0nNTAnIHJvd3M9JzEyJyI6ImNvbHM9JzMwJyByb3dzPScxJyBzdHlsZT0naGVpZ2h0OiAxLjJlbTsnIikuIiRSYT4iLmgoJHEpLic8L3RleHRhcmVhPic7fWVsc2V7JG5kPSghZXJlZygnaW50JywkZVsidHlwZSJdKSYmcHJlZ19tYXRjaCgnfl4oXFxkKykoLChcXGQrKSk/JH4nLCRlWyJsZW5ndGgiXSwkayk/KChlcmVnKCJiaW5hcnkiLCRlWyJ0eXBlIl0pPzI6MSkqJGtbMV0rKCRrWzNdPzE6MCkrKCRrWzJdJiYhJGVbInVuc2lnbmVkIl0/MTowKSk6KCRSWyRlWyJ0eXBlIl1dPyRSWyRlWyJ0eXBlIl1dKygkZVsidW5zaWduZWQiXT8wOjEpOjApKTtlY2hvIjxpbnB1dCB2YWx1ZT0nIi5oKCRxKS4iJyIuKCRuZD8iIG1heGxlbmd0aD0nJG5kJyI6IiIpLihlcmVnKCdjaGFyfGJpbmFyeScsJGVbInR5cGUiXSkmJiRuZD4yMD8iIHNpemU9JzQwJyI6IiIpLiIkUmE+Ijt9fX1mdW5jdGlvbgpwcm9jZXNzX2lucHV0KCRlKXtnbG9iYWwkbzskTj1icmFja2V0X2VzY2FwZSgkZVsiZmllbGQiXSk7JEs9JF9QT1NUWyJmdW5jdGlvbiJdWyROXTskcT0kX1BPU1RbImZpZWxkcyJdWyROXTtpZigkZVsidHlwZSJdPT0iZW51bSIpe2lmKCRxPT0tMSl7cmV0dXJuCmZhbHNlO31pZigkcT09IiIpe3JldHVybiJOVUxMIjt9cmV0dXJuKyRxO31pZigkZVsiYXV0b19pbmNyZW1lbnQiXSYmJHE9PSIiKXtyZXR1cm4KbnVsbDt9aWYoJEs9PSJvcmlnIil7cmV0dXJuCmZhbHNlO31pZigkSz09Ik5VTEwiKXtyZXR1cm4iTlVMTCI7fWlmKCRlWyJ0eXBlIl09PSJzZXQiKXtyZXR1cm4KYXJyYXlfc3VtKChhcnJheSkkcSk7fWlmKGVyZWcoJ2Jsb2J8Ynl0ZWF8cmF3fGZpbGUnLCRlWyJ0eXBlIl0pJiZpbmlfYm9vbCgiZmlsZV91cGxvYWRzIikpeyRJYT1nZXRfZmlsZSgiZmllbGRzLSROIik7aWYoIWlzX3N0cmluZygkSWEpKXtyZXR1cm4KZmFsc2U7fXJldHVybgpxKCRJYSk7fXJldHVybiRvLT5wcm9jZXNzSW5wdXQoJGUsJHEsJEspO31mdW5jdGlvbgpzZWFyY2hfdGFibGVzKCl7Z2xvYmFsJG8sJGc7JF9HRVRbIndoZXJlIl1bMF1bIm9wIl09IkxJS0UgJSUiOyRfR0VUWyJ3aGVyZSJdWzBdWyJ2YWwiXT0kX1BPU1RbInF1ZXJ5Il07JHRhPWZhbHNlO2ZvcmVhY2godGFibGVfc3RhdHVzKClhcyRoPT4kRCl7JGY9JG8tPnRhYmxlTmFtZSgkRCk7aWYoaXNzZXQoJERbIkVuZ2luZSJdKSYmJGYhPSIiJiYoISRfUE9TVFsidGFibGVzIl18fGluX2FycmF5KCRoLCRfUE9TVFsidGFibGVzIl0pKSl7JGk9JGctPnF1ZXJ5KCJTRUxFQ1QiLmxpbWl0KCIxIEZST00gIi50YWJsZSgkaCksIiBXSEVSRSAiLmltcGxvZGUoIiBBTkQgIiwkby0+c2VsZWN0U2VhcmNoUHJvY2VzcyhmaWVsZHMoJGgpLGFycmF5KCkpKSwxKSk7aWYoJGktPmZldGNoX3JvdygpKXtpZighJHRhKXtlY2hvIjx1bD5cbiI7JHRhPXRydWU7fWVjaG8iPGxpPjxhIGhyZWY9JyIuaChNRS4ic2VsZWN0PSIudXJsZW5jb2RlKCRoKS4iJndoZXJlWzBdW29wXT0iLnVybGVuY29kZSgkX0dFVFsid2hlcmUiXVswXVsib3AiXSkuIiZ3aGVyZVswXVt2YWxdPSIudXJsZW5jb2RlKCRfR0VUWyJ3aGVyZSJdWzBdWyJ2YWwiXSkpLiInPiRmPC9hPlxuIjt9fX1lY2hvKCR0YT8iPC91bD4iOiI8cCBjbGFzcz0nbWVzc2FnZSc+Ii5sYW5nKDYpKS4iXG4iO31mdW5jdGlvbgpkdW1wX2hlYWRlcnMoJFNjLCRfZD1mYWxzZSl7Z2xvYmFsJG87JGM9JG8tPmR1bXBIZWFkZXJzKCRTYywkX2QpOyROYT0kX1BPU1RbIm91dHB1dCJdO2lmKCROYSE9InRleHQiKXtoZWFkZXIoIkNvbnRlbnQtRGlzcG9zaXRpb246IGF0dGFjaG1lbnQ7IGZpbGVuYW1lPSIuKCRTYyE9IiI/ZnJpZW5kbHlfdXJsKCRTYyk6ImR1bXAiKS4iLiRjIi4oJE5hIT0iZmlsZSImJiFlcmVnKCdbXjAtOWEtel0nLCROYSk/Ii4kTmEiOiIiKSk7fXNlc3Npb25fd3JpdGVfY2xvc2UoKTtyZXR1cm4kYzt9ZnVuY3Rpb24KZHVtcF9jc3YoJGEpe2ZvcmVhY2goJGEKYXMkZD0+JGIpe2lmKHByZWdfbWF0Y2goIn5bXCJcbiw7XHRdfiIsJGIpfHwkYj09PSIiKXskYVskZF09JyInLnN0cl9yZXBsYWNlKCciJywnIiInLCRiKS4nIic7fX1lY2hvCmltcGxvZGUoKCRfUE9TVFsiZm9ybWF0Il09PSJjc3YiPyIsIjooJF9QT1NUWyJmb3JtYXQiXT09InRzdiI/Ilx0IjoiOyIpKSwkYSkuIlxyXG4iO31mdW5jdGlvbgphcHBseV9zcWxfZnVuY3Rpb24oJEssJEMpe3JldHVybigkSz8oJEs9PSJ1bml4ZXBvY2giPyJEQVRFVElNRSgkQywgJyRLJykiOigkSz09ImNvdW50IGRpc3RpbmN0Ij8iQ09VTlQoRElTVElOQ1QgIjpzdHJ0b3VwcGVyKCIkSygiKSkuIiRDKSIpOiRDKTt9ZnVuY3Rpb24KcGFzc3dvcmRfZmlsZSgpeyRSYz1pbmlfZ2V0KCJ1cGxvYWRfdG1wX2RpciIpO2lmKCEkUmMpe2lmKGZ1bmN0aW9uX2V4aXN0cygnc3lzX2dldF90ZW1wX2RpcicpKXskUmM9c3lzX2dldF90ZW1wX2RpcigpO31lbHNleyRqYT1AdGVtcG5hbSgiIiwiIik7aWYoISRqYSl7cmV0dXJuCmZhbHNlO30kUmM9ZGlybmFtZSgkamEpO3VubGluaygkamEpO319JGphPSIkUmMvYWRtaW5lci5rZXkiOyRjPUBmaWxlX2dldF9jb250ZW50cygkamEpO2lmKCRjKXtyZXR1cm4kYzt9JFBhPUBmb3BlbigkamEsInciKTtpZigkUGEpeyRjPW1kNSh1bmlxaWQobXRfcmFuZCgpLHRydWUpKTtmd3JpdGUoJFBhLCRjKTtmY2xvc2UoJFBhKTt9cmV0dXJuJGM7fWZ1bmN0aW9uCmlzX21haWwoJHhmKXskTmU9J1stYS16MC05ISMkJSZcJyorLz0/Xl9ge3x9fl0nOyR2Yz0nW2EtejAtOV0oWy1hLXowLTldezAsNjF9W2EtejAtOV0pJzskYmE9IiROZSsoXFwuJE5lKykqQCgkdmM/XFwuKSskdmMiO3JldHVybgpwcmVnX21hdGNoKCIoXiRiYSgsXFxzKiRiYSkqXCQpaSIsJHhmKTt9ZnVuY3Rpb24KaXNfdXJsKCRJKXskdmM9J1thLXowLTldKFstYS16MC05XXswLDYxfVthLXowLTldKSc7cmV0dXJuKHByZWdfbWF0Y2goIn5eKGh0dHBzPyk6Ly8oJHZjP1xcLikrJHZjKDpcXGQrKT8oLy4qKT8oXFw/LiopPygjLiopP1wkfmkiLCRJLCRrKT9zdHJ0b2xvd2VyKCRrWzFdKToiIik7fWZ1bmN0aW9uCnByaW50X2ZpZWxkc2V0KCRTLCRPZiwkS2Y9ZmFsc2Upe2VjaG8iPGZpZWxkc2V0PjxsZWdlbmQ+PGEgaHJlZj0nI2ZpZWxkc2V0LSRTJyBvbmNsaWNrPVwicmV0dXJuICF0b2dnbGUoJ2ZpZWxkc2V0LSRTJyk7XCI+JE9mPC9hPjwvbGVnZW5kPjxkaXYgaWQ9J2ZpZWxkc2V0LSRTJyIuKCRLZj8iIjoiIGNsYXNzPSdoaWRkZW4nIikuIj5cbiI7fWZ1bmN0aW9uCmJvbGQoJExmKXtyZXR1cm4oJExmPyIgY2xhc3M9J2FjdGl2ZSciOiIiKTt9Z2xvYmFsJG8sJGcsJG5hLCROYiwkR2IsJG4sJGRhLCRsYiwkQWMsJGpjLCR2LCR1YSwkTGIsJGZiLCRMYSwkTSwkWSwkUiwkb2IsJHRjO2lmKCFpc3NldCgkX1NFUlZFUlsiUkVRVUVTVF9VUkkiXSkpeyRfU0VSVkVSWyJSRVFVRVNUX1VSSSJdPSRfU0VSVkVSWyJPUklHX1BBVEhfSU5GTyJdLigkX1NFUlZFUlsiUVVFUllfU1RSSU5HIl0hPSIiPyI/JF9TRVJWRVJbUVVFUllfU1RSSU5HXSI6IiIpO30kQWM9JF9TRVJWRVJbIkhUVFBTIl0mJnN0cmNhc2VjbXAoJF9TRVJWRVJbIkhUVFBTIl0sIm9mZiIpO0Bpbmlfc2V0KCJzZXNzaW9uLnVzZV90cmFuc19zaWQiLGZhbHNlKTtpZighZGVmaW5lZCgiU0lEIikpe3Nlc3Npb25fbmFtZSgiYWRtaW5lcl9zaWQiKTskeGM9YXJyYXkoMCxwcmVnX3JlcGxhY2UoJ35cXD8uKn4nLCcnLCRfU0VSVkVSWyJSRVFVRVNUX1VSSSJdKSwiIiwkQWMpO2lmKHZlcnNpb25fY29tcGFyZShQSFBfVkVSU0lPTiwnNS4yLjAnKT49MCl7JHhjW109dHJ1ZTt9Y2FsbF91c2VyX2Z1bmNfYXJyYXkoJ3Nlc3Npb25fc2V0X2Nvb2tpZV9wYXJhbXMnLCR4Yyk7c2Vzc2lvbl9zdGFydCgpO31yZW1vdmVfc2xhc2hlcyhhcnJheSgmJF9HRVQsJiRfUE9TVCwmJF9DT09LSUUpKTtpZihmdW5jdGlvbl9leGlzdHMoInNldF9tYWdpY19xdW90ZXNfcnVudGltZSIpKXtzZXRfbWFnaWNfcXVvdGVzX3J1bnRpbWUoZmFsc2UpO31Ac2V0X3RpbWVfbGltaXQoMCk7QGluaV9zZXQoInplbmQuemUxX2NvbXBhdGliaWxpdHlfbW9kZSIsZmFsc2UpO0Bpbmlfc2V0KCJwcmVjaXNpb24iLDIwKTskTGI9YXJyYXkoJ2VuJz0+J0VuZ2xpc2gnLCdjcyc9PifEjGXFoXRpbmEnLCdzayc9PidTbG92ZW7EjWluYScsJ25sJz0+J05lZGVybGFuZHMnLCdlcyc9PidFc3Bhw7FvbCcsJ2RlJz0+J0RldXRzY2gnLCdmcic9PidGcmFuw6dhaXMnLCdpdCc9PidJdGFsaWFubycsJ2V0Jz0+J0Vlc3RpJywnaHUnPT4nTWFneWFyJywncGwnPT4nUG9sc2tpJywnY2EnPT4nQ2F0YWzDoCcsJ3B0Jz0+J1BvcnR1Z3XDqnMnLCdzbCc9PidTbG92ZW5za2knLCd0cic9PidUw7xya8OnZScsJ3J1Jz0+J9Cg0YPRgdGB0LrQuNC5INGP0LfRi9C6JywnemgnPT4n566A5L2T5Lit5paHJywnemgtdHcnPT4n57mB6auU5Lit5paHJywnamEnPT4n5pel5pys6KqeJywndGEnPT4n4K6k4oCM4K6u4K6/4K604K+NJywnYXInPT4n2KfZhNi52LHYqNmK2KknLCk7ZnVuY3Rpb24KZ2V0X2xhbmcoKXtnbG9iYWwkdWE7cmV0dXJuJHVhO31mdW5jdGlvbgpsYW5nKCROLCRsYz1udWxsKXtnbG9iYWwkdWEsJFk7JGtjPSRZWyROXTtpZihpc19hcnJheSgka2MpJiYka2MpeyR1Yz0oJGxjPT0xfHwoISRsYyYmJHVhPT0nZnInKT8wOigkdWE9PSdzbCcmJighJGxjfHwkbGM+Mik/MTowKSsoKCEkbGN8fCRsYz49NSkmJmVyZWcoJ2NzfHNrfHJ1fHNsfHBsJywkdWEpPzI6MSkpOyRrYz0ka2NbJHVjXTt9JEJlPWZ1bmNfZ2V0X2FyZ3MoKTthcnJheV9zaGlmdCgkQmUpO3JldHVybgp2c3ByaW50ZigoaXNzZXQoJGtjKT8ka2M6JE4pLCRCZSk7fWZ1bmN0aW9uCnN3aXRjaF9sYW5nKCl7Z2xvYmFsJHVhLCRMYjtlY2hvIjxmb3JtIGFjdGlvbj0nJz5cbjxkaXYgaWQ9J2xhbmcnPiI7aGlkZGVuX2ZpZWxkcygkX0dFVCxhcnJheSgnbGFuZycpKTtlY2hvCmxhbmcoNykuIjogIi5odG1sX3NlbGVjdCgibGFuZyIsJExiLCR1YSwidmFyIGxvYyA9IGxvY2F0aW9uLnNlYXJjaC5yZXBsYWNlKC9bPyZdbGFuZz1bXiZdKi8sICcnKTsgbG9jYXRpb24uc2VhcmNoID0gbG9jICsgKGxvYyA/ICcmJyA6ICcnKSArICdsYW5nPScgKyB0aGlzLnZhbHVlOyIpLCIgPGlucHV0IHR5cGU9J3N1Ym1pdCcgdmFsdWU9JyIubGFuZyg4KS4iJyBjbGFzcz0naGlkZGVuJz5cbiIsIjwvZGl2PlxuPC9mb3JtPlxuIjt9aWYoaXNzZXQoJF9HRVRbImxhbmciXSkpeyRfQ09PS0lFWyJhZG1pbmVyX2xhbmciXT0kX0dFVFsibGFuZyJdOyRfU0VTU0lPTlsibGFuZyJdPSRfR0VUWyJsYW5nIl07fSR1YT0iZW4iO2lmKGlzc2V0KCRMYlskX0NPT0tJRVsiYWRtaW5lcl9sYW5nIl1dKSl7Y29va2llKCJhZG1pbmVyX2xhbmciLCRfQ09PS0lFWyJhZG1pbmVyX2xhbmciXSk7JHVhPSRfQ09PS0lFWyJhZG1pbmVyX2xhbmciXTt9ZWxzZWlmKGlzc2V0KCRMYlskX1NFU1NJT05bImxhbmciXV0pKXskdWE9JF9TRVNTSU9OWyJsYW5nIl07fWVsc2V7JGNkPWFycmF5KCk7cHJlZ19tYXRjaF9hbGwoJ34oWy1hLXpdKykoO3E9KFswLTkuXSspKT9+JyxzdHJfcmVwbGFjZSgiXyIsIi0iLHN0cnRvbG93ZXIoJF9TRVJWRVJbIkhUVFBfQUNDRVBUX0xBTkdVQUdFIl0pKSwkb2EsUFJFR19TRVRfT1JERVIpO2ZvcmVhY2goJG9hCmFzJGspeyRjZFska1sxXV09KGlzc2V0KCRrWzNdKT8ka1szXToxKTt9YXJzb3J0KCRjZCk7Zm9yZWFjaCgkY2QKYXMkZD0+JGFhKXtpZihpc3NldCgkTGJbJGRdKSl7JHVhPSRkO2JyZWFrO30kZD1wcmVnX3JlcGxhY2UoJ34tLip+JywnJywkZCk7aWYoIWlzc2V0KCRjZFskZF0pJiZpc3NldCgkTGJbJGRdKSl7JHVhPSRkO2JyZWFrO319fXN3aXRjaCgkdWEpe2Nhc2UiZW4iOiRZPWFycmF5KCdBcmUgeW91IHN1cmU/JywnVW5hYmxlIHRvIHVwbG9hZCBhIGZpbGUuJywnTWF4aW11bSBhbGxvd2VkIGZpbGUgc2l6ZSBpcyAlc0IuJywnRmlsZSBkb2VzIG5vdCBleGlzdC4nLCdlbXB0eScsJ29yaWdpbmFsJywnTm8gdGFibGVzLicsJ0xhbmd1YWdlJywnVXNlJywnUGxlYXNlIHVzZSBvbmUgb2YgdGhlIGV4dGVuc2lvbnMgJXMuJywnRmlsZSBleGlzdHMuJywnVXNlciB0eXBlcycsJ051bWJlcnMnLCdEYXRlIGFuZCB0aW1lJywnU3RyaW5ncycsJ0JpbmFyeScsJ05ldHdvcmsnLCdHZW9tZXRyeScsJ0xpc3RzJywnU3lzdGVtJywnU2VydmVyJywnVXNlcm5hbWUnLCdQYXNzd29yZCcsJ0xvZ2luJywnUGVybWFuZW50IGxvZ2luJywnU2VsZWN0IGRhdGEnLCdTaG93IHN0cnVjdHVyZScsJ0FsdGVyIHZpZXcnLCdBbHRlciB0YWJsZScsJ05ldyBpdGVtJywnTGFzdCBwYWdlJywnRWRpdCcsYXJyYXkoJyVkIGJ5dGUnLCclZCBieXRlcycpLCdTZWxlY3QnLCdGdW5jdGlvbnMnLCdBZ2dyZWdhdGlvbicsJ1NlYXJjaCcsJ2FueXdoZXJlJywnU29ydCcsJ2Rlc2NlbmRpbmcnLCdMaW1pdCcsJ1RleHQgbGVuZ3RoJywnQWN0aW9uJywnU1FMIGNvbW1hbmQnLCdvcGVuJywnc2F2ZScsJ0FsdGVyIGRhdGFiYXNlJywnQWx0ZXIgc2NoZW1hJywnQ3JlYXRlIHNjaGVtYScsJ0R1bXAnLCdMb2dvdXQnLCdkYXRhYmFzZScsJ3NjaGVtYScsJ0NyZWF0ZSBuZXcgdGFibGUnLCdzZWxlY3QnLCdsdHInLCdSZXNlbmQgUE9TVCBkYXRhPycsJ0ludmFsaWQgQ1NSRiB0b2tlbi4gU2VuZCB0aGUgZm9ybSBhZ2Fpbi4nLCdMb2dvdXQgc3VjY2Vzc2Z1bC4nLCdTZXNzaW9uIHN1cHBvcnQgbXVzdCBiZSBlbmFibGVkLicsJ1Nlc3Npb24gZXhwaXJlZCwgcGxlYXNlIGxvZ2luIGFnYWluLicsJ0ludmFsaWQgY3JlZGVudGlhbHMuJywnTm8gZXh0ZW5zaW9uJywnTm9uZSBvZiB0aGUgc3VwcG9ydGVkIFBIUCBleHRlbnNpb25zICglcykgYXJlIGF2YWlsYWJsZS4nLCdUb28gYmlnIFBPU1QgZGF0YS4gUmVkdWNlIHRoZSBkYXRhIG9yIGluY3JlYXNlIHRoZSAlcyBjb25maWd1cmF0aW9uIGRpcmVjdGl2ZS4nLCdEYXRhYmFzZScsJ0ludmFsaWQgZGF0YWJhc2UuJywnRGF0YWJhc2VzIGhhdmUgYmVlbiBkcm9wcGVkLicsJ1NlbGVjdCBkYXRhYmFzZScsJ0NyZWF0ZSBuZXcgZGF0YWJhc2UnLCdQcml2aWxlZ2VzJywnUHJvY2VzcyBsaXN0JywnVmFyaWFibGVzJywnU3RhdHVzJywnJXMgdmVyc2lvbjogJXMgdGhyb3VnaCBQSFAgZXh0ZW5zaW9uICVzJywnTG9nZ2VkIGFzOiAlcycsJ0NvbGxhdGlvbicsJ1RhYmxlcycsJ0Ryb3AnLCdSZWZyZXNoJywnU2NoZW1hJywnSW52YWxpZCBzY2hlbWEuJywnTm8gcm93cy4nLCclLjNmIHMnLCdGb3JlaWduIGtleXMnLCdjb2xsYXRpb24nLCdPTiBERUxFVEUnLCdDb2x1bW4gbmFtZScsJ1BhcmFtZXRlciBuYW1lJywnVHlwZScsJ0xlbmd0aCcsJ09wdGlvbnMnLCdBdXRvIEluY3JlbWVudCcsJ0RlZmF1bHQgdmFsdWVzJywnQ29tbWVudCcsJ0FkZCBuZXh0JywnTW92ZSB1cCcsJ01vdmUgZG93bicsJ1JlbW92ZScsJ1ZpZXcnLCdUYWJsZScsJ0NvbHVtbicsJ0luZGV4ZXMnLCdBbHRlciBpbmRleGVzJywnU291cmNlJywnVGFyZ2V0JywnT04gVVBEQVRFJywnQWx0ZXInLCdBZGQgZm9yZWlnbiBrZXknLCdUcmlnZ2VycycsJ0FkZCB0cmlnZ2VyJywnRGF0YWJhc2Ugc2NoZW1hJywnUGVybWFuZW50IGxpbmsnLCdFeHBvcnQnLCdPdXRwdXQnLCdGb3JtYXQnLCdSb3V0aW5lcycsJ0V2ZW50cycsJ0RhdGEnLCdlZGl0JywnQ3JlYXRlIHVzZXInLGFycmF5KCdRdWVyeSBleGVjdXRlZCBPSywgJWQgcm93IGFmZmVjdGVkLicsJ1F1ZXJ5IGV4ZWN1dGVkIE9LLCAlZCByb3dzIGFmZmVjdGVkLicpLGFycmF5KCclZCByb3cnLCclZCByb3dzJyksJ0Vycm9yIGluIHF1ZXJ5JywnTm8gY29tbWFuZHMgdG8gZXhlY3V0ZS4nLGFycmF5KCclZCBxdWVyeSBleGVjdXRlZCBPSy4nLCclZCBxdWVyaWVzIGV4ZWN1dGVkIE9LLicpLCdGaWxlIHVwbG9hZCcsJ0ZpbGUgdXBsb2FkcyBhcmUgZGlzYWJsZWQuJywnRXhlY3V0ZScsJ1N0b3Agb24gZXJyb3InLCdTaG93IG9ubHkgZXJyb3JzJywnRnJvbSBzZXJ2ZXInLCdXZWJzZXJ2ZXIgZmlsZSAlcycsJ1J1biBmaWxlJywnSGlzdG9yeScsJ0NsZWFyJywnRWRpdCBhbGwnLCdJdGVtIGhhcyBiZWVuIGRlbGV0ZWQuJywnSXRlbSBoYXMgYmVlbiB1cGRhdGVkLicsJ0l0ZW0lcyBoYXMgYmVlbiBpbnNlcnRlZC4nLCdJbnNlcnQnLCdTYXZlJywnU2F2ZSBhbmQgY29udGludWUgZWRpdCcsJ1NhdmUgYW5kIGluc2VydCBuZXh0JywnRGVsZXRlJywnVGFibGUgaGFzIGJlZW4gZHJvcHBlZC4nLCdUYWJsZSBoYXMgYmVlbiBhbHRlcmVkLicsJ1RhYmxlIGhhcyBiZWVuIGNyZWF0ZWQuJywnQ3JlYXRlIHRhYmxlJywnTWF4aW11bSBudW1iZXIgb2YgYWxsb3dlZCBmaWVsZHMgZXhjZWVkZWQuIFBsZWFzZSBpbmNyZWFzZSAlcyBhbmQgJXMuJywnVGFibGUgbmFtZScsJ2VuZ2luZScsJ1BhcnRpdGlvbiBieScsJ1BhcnRpdGlvbnMnLCdQYXJ0aXRpb24gbmFtZScsJ1ZhbHVlcycsJ0luZGV4ZXMgaGF2ZSBiZWVuIGFsdGVyZWQuJywnSW5kZXggVHlwZScsJ0NvbHVtbiAobGVuZ3RoKScsJ0RhdGFiYXNlIGhhcyBiZWVuIGRyb3BwZWQuJywnRGF0YWJhc2UgaGFzIGJlZW4gcmVuYW1lZC4nLCdEYXRhYmFzZSBoYXMgYmVlbiBjcmVhdGVkLicsJ0RhdGFiYXNlIGhhcyBiZWVuIGFsdGVyZWQuJywnQ3JlYXRlIGRhdGFiYXNlJywnU2NoZW1hIGhhcyBiZWVuIGRyb3BwZWQuJywnU2NoZW1hIGhhcyBiZWVuIGNyZWF0ZWQuJywnU2NoZW1hIGhhcyBiZWVuIGFsdGVyZWQuJywnQ2FsbCcsYXJyYXkoJ1JvdXRpbmUgaGFzIGJlZW4gY2FsbGVkLCAlZCByb3cgYWZmZWN0ZWQuJywnUm91dGluZSBoYXMgYmVlbiBjYWxsZWQsICVkIHJvd3MgYWZmZWN0ZWQuJyksJ0ZvcmVpZ24ga2V5IGhhcyBiZWVuIGRyb3BwZWQuJywnRm9yZWlnbiBrZXkgaGFzIGJlZW4gYWx0ZXJlZC4nLCdGb3JlaWduIGtleSBoYXMgYmVlbiBjcmVhdGVkLicsJ1NvdXJjZSBhbmQgdGFyZ2V0IGNvbHVtbnMgbXVzdCBoYXZlIHRoZSBzYW1lIGRhdGEgdHlwZSwgdGhlcmUgbXVzdCBiZSBhbiBpbmRleCBvbiB0aGUgdGFyZ2V0IGNvbHVtbnMgYW5kIHJlZmVyZW5jZWQgZGF0YSBtdXN0IGV4aXN0LicsJ0ZvcmVpZ24ga2V5JywnVGFyZ2V0IHRhYmxlJywnQ2hhbmdlJywnQWRkIGNvbHVtbicsJ1ZpZXcgaGFzIGJlZW4gZHJvcHBlZC4nLCdWaWV3IGhhcyBiZWVuIGFsdGVyZWQuJywnVmlldyBoYXMgYmVlbiBjcmVhdGVkLicsJ0NyZWF0ZSB2aWV3JywnTmFtZScsJ0V2ZW50IGhhcyBiZWVuIGRyb3BwZWQuJywnRXZlbnQgaGFzIGJlZW4gYWx0ZXJlZC4nLCdFdmVudCBoYXMgYmVlbiBjcmVhdGVkLicsJ0FsdGVyIGV2ZW50JywnQ3JlYXRlIGV2ZW50JywnU3RhcnQnLCdFbmQnLCdFdmVyeScsJ09uIGNvbXBsZXRpb24gcHJlc2VydmUnLCdSb3V0aW5lIGhhcyBiZWVuIGRyb3BwZWQuJywnUm91dGluZSBoYXMgYmVlbiBhbHRlcmVkLicsJ1JvdXRpbmUgaGFzIGJlZW4gY3JlYXRlZC4nLCdBbHRlciBmdW5jdGlvbicsJ0FsdGVyIHByb2NlZHVyZScsJ0NyZWF0ZSBmdW5jdGlvbicsJ0NyZWF0ZSBwcm9jZWR1cmUnLCdSZXR1cm4gdHlwZScsJ1NlcXVlbmNlIGhhcyBiZWVuIGRyb3BwZWQuJywnU2VxdWVuY2UgaGFzIGJlZW4gY3JlYXRlZC4nLCdTZXF1ZW5jZSBoYXMgYmVlbiBhbHRlcmVkLicsJ0FsdGVyIHNlcXVlbmNlJywnQ3JlYXRlIHNlcXVlbmNlJywnVHlwZSBoYXMgYmVlbiBkcm9wcGVkLicsJ1R5cGUgaGFzIGJlZW4gY3JlYXRlZC4nLCdBbHRlciB0eXBlJywnQ3JlYXRlIHR5cGUnLCdUcmlnZ2VyIGhhcyBiZWVuIGRyb3BwZWQuJywnVHJpZ2dlciBoYXMgYmVlbiBhbHRlcmVkLicsJ1RyaWdnZXIgaGFzIGJlZW4gY3JlYXRlZC4nLCdBbHRlciB0cmlnZ2VyJywnQ3JlYXRlIHRyaWdnZXInLCdUaW1lJywnRXZlbnQnLCdVc2VyIGhhcyBiZWVuIGRyb3BwZWQuJywnVXNlciBoYXMgYmVlbiBhbHRlcmVkLicsJ1VzZXIgaGFzIGJlZW4gY3JlYXRlZC4nLCdIYXNoZWQnLCdSb3V0aW5lJywnR3JhbnQnLCdSZXZva2UnLGFycmF5KCclZCBwcm9jZXNzIGhhcyBiZWVuIGtpbGxlZC4nLCclZCBwcm9jZXNzZXMgaGF2ZSBiZWVuIGtpbGxlZC4nKSwnJWQgaW4gdG90YWwnLCdLaWxsJyxhcnJheSgnJWQgaXRlbSBoYXMgYmVlbiBhZmZlY3RlZC4nLCclZCBpdGVtcyBoYXZlIGJlZW4gYWZmZWN0ZWQuJyksJ0RvdWJsZSBjbGljayBvbiBhIHZhbHVlIHRvIG1vZGlmeSBpdC4nLGFycmF5KCclZCByb3cgaGFzIGJlZW4gaW1wb3J0ZWQuJywnJWQgcm93cyBoYXZlIGJlZW4gaW1wb3J0ZWQuJyksJ1VuYWJsZSB0byBzZWxlY3QgdGhlIHRhYmxlJywnUmVsYXRpb25zJywnVXNlIGVkaXQgbGluayB0byBtb2RpZnkgdGhpcyB2YWx1ZS4nLCdQYWdlJywnbGFzdCcsJ3dob2xlIHJlc3VsdCcsJ0Nsb25lJywnSW1wb3J0JywnLCcsJ1RhYmxlcyBoYXZlIGJlZW4gdHJ1bmNhdGVkLicsJ1RhYmxlcyBoYXZlIGJlZW4gbW92ZWQuJywnVGFibGVzIGhhdmUgYmVlbiBjb3BpZWQuJywnVGFibGVzIGhhdmUgYmVlbiBkcm9wcGVkLicsJ1RhYmxlcyBhbmQgdmlld3MnLCdTZWFyY2ggZGF0YSBpbiB0YWJsZXMnLCdFbmdpbmUnLCdEYXRhIExlbmd0aCcsJ0luZGV4IExlbmd0aCcsJ0RhdGEgRnJlZScsJ1Jvd3MnLCdBbmFseXplJywnT3B0aW1pemUnLCdDaGVjaycsJ1JlcGFpcicsJ1RydW5jYXRlJywnTW92ZSB0byBvdGhlciBkYXRhYmFzZScsJ01vdmUnLCdDb3B5JywnU2VxdWVuY2VzJywnU2NoZWR1bGUnLCdBdCBnaXZlbiB0aW1lJyxhcnJheSgnJWQgZS1tYWlsIGhhcyBiZWVuIHNlbnQuJywnJWQgZS1tYWlscyBoYXZlIGJlZW4gc2VudC4nKSk7YnJlYWs7Y2FzZSJjcyI6JFk9YXJyYXkoJ09wcmF2ZHU/JywnTmVwb2RhxZlpbG8gc2UgbmFocsOhdCBzb3Vib3IuJywnTWF4aW3DoWxuw60gcG92b2xlbsOhIHZlbGlrb3N0IHNvdWJvcnUgamUgJXNCLicsJ1NvdWJvciBuZWV4aXN0dWplLicsJ3Byw6F6ZG7DqScsJ3DFr3ZvZG7DrScsJ8W9w6FkbsOpIHRhYnVsa3kuJywnSmF6eWsnLCdWeWJyYXQnLCdQcm9zw61tIHBvdcW+aWp0ZSBqZWRudSB6IGtvbmNvdmVrICVzLicsJ1NvdWJvciBleGlzdHVqZS4nLCdVxb5pdmF0ZWxza8OpIHR5cHknLCfEjMOtc2xhJywnRGF0dW0gYSDEjWFzJywnxZhldMSbemNlJywnQmluw6FybsOtJywnU8OtxaUnLCdHZW9tZXRyaWUnLCdTZXpuYW15JywnU3lzdMOpbScsJ1NlcnZlcicsJ1XFvml2YXRlbCcsJ0hlc2xvJywnUMWZaWhsw6FzaXQgc2UnLCdUcnZhbMOpIHDFmWlobMOhxaFlbsOtJywnVnlwc2F0IGRhdGEnLCdab2JyYXppdCBzdHJ1a3R1cnUnLCdQb3ptxJtuaXQgcG9obGVkJywnUG96bcSbbml0IHRhYnVsa3UnLCdOb3bDoSBwb2xvxb5rYScsJ1Bvc2xlZG7DrSBzdHLDoW5rYScsJ1VwcmF2aXQnLGFycmF5KCclZCBiYWp0JywnJWQgYmFqdHknLCclZCBiYWp0xa8nKSwnVnlwc2F0JywnRnVua2NlJywnQWdyZWdhY2UnLCdWeWhsZWRhdCcsJ2tkZWtvbGl2JywnU2XFmWFkaXQnLCdzZXN0dXBuxJsnLCdMaW1pdCcsJ0TDqWxrYSB0ZXh0xa8nLCdBa2NlJywnU1FMIHDFmcOta2F6Jywnb3RldsWZw610JywndWxvxb5pdCcsJ1Bvem3Em25pdCBkYXRhYsOhemknLCdQb3ptxJtuaXQgc2Now6ltYScsJ1Z5dHZvxZlpdCBzY2jDqW1hJywnRXhwb3J0JywnT2RobMOhc2l0JywnZGF0YWLDoXplJywnc2Now6ltYScsJ1Z5dHZvxZlpdCBub3ZvdSB0YWJ1bGt1Jywndnlwc2F0JywnbHRyJywnWm5vdnUgb2Rlc2xhdCBQT1NUIGRhdGE/JywnTmVwbGF0bsO9IHRva2VuIENTUkYuIE9kZcWhbGV0ZSBmb3JtdWzDocWZIHpub3Z1LicsJ09kaGzDocWhZW7DrSBwcm9ixJtobG8gdiBwb8WZw6Fka3UuJywnU2Vzc2lvbiBwcm9txJtubsOpIG11c8OtIGLDvXQgcG92b2xlbsOpLicsJ1Nlc3Npb24gdnlwcsWhZWxhLCBwxZlpaGxhxaF0ZSBzZSBwcm9zw61tIHpub3Z1LicsJ05lcGxhdG7DqSBwxZlpaGxhxaFvdmFjw60gw7pkYWplLicsJ8W9w6FkbsOhIGV4dGVuemUnLCdOZW7DrSBkb3N0dXBuw6Egxb7DoWRuw6EgeiBwb2Rwb3JvdmFuw71jaCBQSFAgZXh0ZW56w60gKCVzKS4nLCdQxZnDrWxpxaEgdmVsa8OhIFBPU1QgZGF0YS4gWm1lbsWhZXRlIGRhdGEgbmVibyB6dnnFoXRlIGhvZG5vdHUga29uZmlndXJhxI1uw60gZGlyZWt0aXZ5ICVzLicsJ0RhdGFiw6F6ZScsJ05lc3Byw6F2bsOhIGRhdGFiw6F6ZS4nLCdEYXRhYsOhemUgYnlseSBvZHN0cmFuxJtueS4nLCdWeWJyYXQgZGF0YWLDoXppJywnVnl0dm/FmWl0IG5vdm91IGRhdGFiw6F6aScsJ09wcsOhdm7Em27DrScsJ1Nlem5hbSBwcm9jZXPFrycsJ1Byb23Em25uw6knLCdTdGF2JywnVmVyemUgJXM6ICVzIHDFmWVzIFBIUCBleHRlbnppICVzJywnUMWZaWhsw6HFoWVuIGpha286ICVzJywnUG9yb3Zuw6F2w6Fuw60nLCdUYWJ1bGt5JywnT2RzdHJhbml0JywnT2Jub3ZpdCcsJ1NjaMOpbWEnLCdOZXNwcsOhdm7DqSBzY2jDqW1hLicsJ8W9w6FkbsOpIMWZw6Fka3kuJywnJS4zZiBzJywnQ2l6w60ga2zDrcSNZScsJ3Bvcm92bsOhdsOhbsOtJywnUMWZaSBzbWF6w6Fuw60nLCdOw6F6ZXYgc2xvdXBjZScsJ07DoXpldiBwYXJhbWV0cnUnLCdUeXAnLCdEw6lsa2EnLCdWb2xieScsJ0F1dG8gSW5jcmVtZW50JywnVsO9Y2hvesOtIGhvZG5vdHknLCdLb21lbnTDocWZJywnUMWZaWRhdCBkYWzFocOtJywnUMWZZXN1bm91dCBuYWhvcnUnLCdQxZllc3Vub3V0IGRvbMWvJywnT2RlYnJhdCcsJ1BvaGxlZCcsJ1RhYnVsa2EnLCdTbG91cGVjJywnSW5kZXh5JywnUG96bcSbbml0IGluZGV4eScsJ1pkcm9qJywnQ8OtbCcsJ1DFmWkgem3Em27EmycsJ1ptxJtuaXQnLCdQxZlpZGF0IGNpesOtIGtsw63EjScsJ1RyaWdnZXJ5JywnUMWZaWRhdCB0cmlnZ2VyJywnU2Now6ltYSBkYXRhYsOhemUnLCdUcnZhbMO9IG9ka2F6JywnRXhwb3J0JywnVsO9c3R1cCcsJ0Zvcm3DoXQnLCdQcm9jZWR1cnkgYSBmdW5rY2UnLCdVZMOhbG9zdGknLCdEYXRhJywndXByYXZpdCcsJ1Z5dHZvxZlpdCB1xb5pdmF0ZWxlJyxhcnJheSgnUMWZw61rYXogcHJvYsSbaGwgdiBwb8WZw6Fka3UsIGJ5bCB6bcSbbsSbbiAlZCB6w6F6bmFtLicsJ1DFmcOta2F6IHByb2LEm2hsIHYgcG/FmcOhZGt1LCBieWx5IHptxJtuxJtueSAlZCB6w6F6bmFteS4nLCdQxZnDrWtheiBwcm9ixJtobCB2IHBvxZnDoWRrdSwgYnlsbyB6bcSbbsSbbm8gJWQgesOhem5hbcWvLicpLGFycmF5KCclZCDFmcOhZGVrJywnJWQgxZnDoWRreScsJyVkIMWZw6Fka8WvJyksJ0NoeWJhIHYgZG90YXp1Jywnxb3DoWRuw6kgcMWZw61rYXp5IGsgdnlrb27DoW7DrS4nLGFycmF5KCclZCBwxZnDrWtheiBwcm9ixJtobCB2IHBvxZnDoWRrdS4nLCclZCBwxZnDrWthenkgcHJvYsSbaGx5IHYgcG/FmcOhZGt1LicsJyVkIHDFmcOta2F6xa8gcHJvYsSbaGxvIHYgcG/FmcOhZGt1LicpLCdOYWhyw6Fuw60gc291Ym9ydScsJ05haHLDoXbDoW7DrSBzb3Vib3LFryBuZW7DrSBwb3ZvbGVuby4nLCdQcm92w6lzdCcsJ1phc3Rhdml0IHDFmWkgY2h5YsSbJywnWm9icmF6aXQgcG91emUgY2h5YnknLCdaZSBzZXJ2ZXJ1JywnU291Ym9yICVzIG5hIHdlYm92w6ltIHNlcnZlcnUnLCdTcHVzdGl0IHNvdWJvcicsJ0hpc3RvcmllJywnVnnEjWlzdGl0JywnVXByYXZpdCB2xaFlJywnUG9sb8W+a2EgYnlsYSBzbWF6w6FuYS4nLCdQb2xvxb5rYSBieWxhIGFrdHVhbGl6b3bDoW5hLicsJ1BvbG/FvmthJXMgYnlsYSB2bG/FvmVuYS4nLCdWbG/Fvml0JywnVWxvxb5pdCcsJ1Vsb8W+aXQgYSBwb2tyYcSNb3ZhdCB2IGVkaXRhY2knLCdVbG/Fvml0IGEgdmxvxb5pdCBkYWzFocOtJywnU21hemF0JywnVGFidWxrYSBieWxhIG9kc3RyYW7Em25hLicsJ1RhYnVsa2EgYnlsYSB6bcSbbsSbbmEuJywnVGFidWxrYSBieWxhIHZ5dHZvxZllbmEuJywnVnl0dm/FmWl0IHRhYnVsa3UnLCdCeWwgcMWZZWtyb8SNZW4gbWF4aW3DoWxuw60gcG92b2xlbsO9IHBvxI1ldCBwb2zDrS4gWnZ5xaF0ZSBwcm9zw61tICVzIGEgJXMuJywnTsOhemV2IHRhYnVsa3knLCfDumxvxb5pxaF0xJsnLCdSb3pkxJtsaXQgcG9kbGUnLCdPZGTDrWx5JywnTsOhemV2IG9kZMOtbHUnLCdIb2Rub3R5JywnSW5kZXh5IGJ5bHkgem3Em27Em255LicsJ1R5cCBpbmRleHUnLCdTbG91cGVjIChkw6lsa2EpJywnRGF0YWLDoXplIGJ5bGEgb2RzdHJhbsSbbmEuJywnRGF0YWLDoXplIGJ5bGEgcMWZZWptZW5vdsOhbmEuJywnRGF0YWLDoXplIGJ5bGEgdnl0dm/FmWVuYS4nLCdEYXRhYsOhemUgYnlsYSB6bcSbbsSbbmEuJywnVnl0dm/FmWl0IGRhdGFiw6F6aScsJ1NjaMOpbWEgYnlsbyBvZHN0cmFuxJtuby4nLCdTY2jDqW1hIGJ5bG8gdnl0dm/FmWVuby4nLCdTY2jDqW1hIGJ5bG8gem3Em27Em25vLicsJ1phdm9sYXQnLGFycmF5KCdQcm9jZWR1cmEgYnlsYSB6YXZvbMOhbmEsIGJ5bCB6bcSbbsSbbiAlZCB6w6F6bmFtLicsJ1Byb2NlZHVyYSBieWxhIHphdm9sw6FuYSwgYnlseSB6bcSbbsSbbnkgJWQgesOhem5hbXkuJywnUHJvY2VkdXJhIGJ5bGEgemF2b2zDoW5hLCBieWxvIHptxJtuxJtubyAlZCB6w6F6bmFtxa8uJyksJ0NpesOtIGtsw63EjSBieWwgb2RzdHJhbsSbbi4nLCdDaXrDrSBrbMOtxI0gYnlsIHptxJtuxJtuLicsJ0NpesOtIGtsw63EjSBieWwgdnl0dm/FmWVuLicsJ1pkcm9qb3bDqSBhIGPDrWxvdsOpIHNsb3VwY2UgbXVzw60gbcOtdCBzdGVqbsO9IGRhdG92w70gdHlwLCBuYWQgY8OtbG92w71taSBzbG91cGNpIG11c8OtIGLDvXQgZGVmaW5vdsOhbiBpbmRleCBhIG9ka2F6b3ZhbsOhIGRhdGEgbXVzw60gZXhpc3RvdmF0LicsJ0NpesOtIGtsw63EjScsJ0PDrWxvdsOhIHRhYnVsa2EnLCdabcSbbml0JywnUMWZaWRhdCBzbG91cGVjJywnUG9obGVkIGJ5bCBvZHN0cmFuxJtuLicsJ1BvaGxlZCBieWwgem3Em27Em24uJywnUG9obGVkIGJ5bCB2eXR2b8WZZW4uJywnVnl0dm/FmWl0IHBvaGxlZCcsJ07DoXpldicsJ1Vkw6Fsb3N0IGJ5bGEgb2RzdHJhbsSbbmEuJywnVWTDoWxvc3QgYnlsYSB6bcSbbsSbbmEuJywnVWTDoWxvc3QgYnlsYSB2eXR2b8WZZW5hLicsJ1Bvem3Em25pdCB1ZMOhbG9zdCcsJ1Z5dHZvxZlpdCB1ZMOhbG9zdCcsJ1phxI3DoXRlaycsJ0tvbmVjJywnS2HFvmTDvWNoJywnUG8gZG9rb27EjWVuw60gemFjaG92YXQnLCdQcm9jZWR1cmEgYnlsYSBvZHN0cmFuxJtuYS4nLCdQcm9jZWR1cmEgYnlsYSB6bcSbbsSbbmEuJywnUHJvY2VkdXJhIGJ5bGEgdnl0dm/FmWVuYS4nLCdabcSbbml0IGZ1bmtjaScsJ1ptxJtuaXQgcHJvY2VkdXJ1JywnVnl0dm/FmWl0IGZ1bmtjaScsJ1Z5dHZvxZlpdCBwcm9jZWR1cnUnLCdOw6F2cmF0b3bDvSB0eXAnLCdTZWt2ZW5jZSBieWxhIG9kc3RyYW7Em25hLicsJ1Nla3ZlbmNlIGJ5bGEgdnl0dm/FmWVuYS4nLCdTZWt2ZW5jZSBieWxhIHptxJtuxJtuYS4nLCdQb3ptxJtuaXQgc2VrdmVuY2knLCdWeXR2b8WZaXQgc2VrdmVuY2knLCdUeXAgYnlsIG9kc3RyYW7Em24uJywnVHlwIGJ5bCB2eXR2b8WZZW4uJywnUG96bcSbbml0IHR5cCcsJ1Z5dHZvxZlpdCB0eXAnLCdUcmlnZ2VyIGJ5bCBvZHN0cmFuxJtuLicsJ1RyaWdnZXIgYnlsIHptxJtuxJtuLicsJ1RyaWdnZXIgYnlsIHZ5dHZvxZllbi4nLCdabcSbbml0IHRyaWdnZXInLCdWeXR2b8WZaXQgdHJpZ2dlcicsJ8SMYXMnLCdVZMOhbG9zdCcsJ1XFvml2YXRlbCBieWwgb2RzdHJhbsSbbi4nLCdVxb5pdmF0ZWwgYnlsIHptxJtuxJtuLicsJ1XFvml2YXRlbCBieWwgdnl0dm/FmWVuLicsJ1phaGHFoW92YW7DqScsJ1Byb2NlZHVyYScsJ1Bvdm9saXQnLCdaYWvDoXphdCcsYXJyYXkoJ0J5bCB1a29uxI1lbiAlZCBwcm9jZXMuJywnQnlseSB1a29uxI1lbnkgJWQgcHJvY2VzeS4nLCdCeWxvIHVrb27EjWVubyAlZCBwcm9jZXPFry4nKSwnJWQgY2Vsa2VtJywnVWtvbsSNaXQnLGFycmF5KCdCeWwgb3ZsaXZuxJtuICVkIHrDoXpuYW0uJywnQnlseSBvdmxpdm7Em255ICVkIHrDoXpuYW15LicsJ0J5bG8gb3ZsaXZuxJtubyAlZCB6w6F6bmFtxa8uJyksJ0R2b2prbGlrbsSbdGUgbmEgcG9sw63EjWtvLCBrdGVyw6kgY2hjZXRlIHptxJtuaXQuJyxhcnJheSgnQnlsIGltcG9ydG92w6FuICVkIHrDoXpuYW0uJywnQnlseSBpbXBvcnRvdsOhbnkgJWQgesOhem5hbXkuJywnQnlsbyBpbXBvcnRvdsOhbm8gJWQgesOhem5hbcWvLicpLCdOZXBvZGHFmWlsbyBzZSB2eXBzYXQgdGFidWxrdScsJ1Z6dGFoeScsJ0tlIHptxJtuxJsgdMOpdG8gaG9kbm90eSBwb3XFvmlqdGUgb2RrYXogdXByYXZpdC4nLCdTdHLDoW5rYScsJ3Bvc2xlZG7DrScsJ2NlbMO9IHbDvXNsZWRlaycsJ0tsb25vdmF0JywnSW1wb3J0JywnICcsJ1RhYnVsa3kgYnlseSB2eXByw6F6ZG7Em255LicsJ1RhYnVsa3kgYnlseSBwxZllc3VudXR5LicsJ1RhYnVsa3kgYnlseSB6a29ww61yb3bDoW55LicsJ1RhYnVsa3kgYnlseSBvZHN0cmFuxJtueS4nLCdUYWJ1bGt5IGEgcG9obGVkeScsJ1Z5aGxlZGF0IGRhdGEgdiB0YWJ1bGvDoWNoJywnw5psb8W+acWhdMSbJywnVmVsaWtvc3QgZGF0JywnVmVsaWtvc3QgaW5kZXjFrycsJ1ZvbG7DqSBtw61zdG8nLCfFmMOhZGvFrycsJ0FuYWx5em92YXQnLCdPcHRpbWFsaXpvdmF0JywnWmtvbnRyb2xvdmF0JywnT3ByYXZpdCcsJ1Z5cHLDoXpkbml0JywnUMWZZXN1bm91dCBkbyBqaW7DqSBkYXRhYsOhemUnLCdQxZllc3Vub3V0JywnWmtvcMOtcm92YXQnLCdTZWt2ZW5jZScsJ1Bsw6FuJywnViBkYW7DvSDEjWFzJywndGXEjycpO2JyZWFrO2Nhc2Uic2siOiRZPWFycmF5KCdOYW96YWo/JywnU8O6Ym9yIHNhIG5lcG9kYXJpbG8gbmFocmHFpS4nLCdNYXhpbcOhbG5hIHBvdm9sZW7DoSB2ZcS+a29zxaUgc8O6Ym9ydSBqZSAlc0IuJywnU8O6Ym9yIG5lZXhpc3R1amUuJywncHLDoXpkbmUnLCdvcmlnaW7DoWwnLCfFvWlhZG5lIHRhYnXEvmt5LicsJ0phenlrJywnVnlicmHFpScsJ1Byb3PDrW0gdnliZXJ0ZSBqZWRudSB6IGtvbmNvdmllayAlcy4nLCdTw7pib3IgZXhpc3R1amUuJywnVcW+w612YXRlxL5za8OpIHR5cHknLCfEjMOtc2xhJywnRMOhdHVtIGEgxI1hcycsJ1JlxaVhemNlJywnQmluw6FybmUnLCdTaWXFpScsJ0dlb21ldHJpYScsJ1pvem5hbXknLCdTeXN0w6ltJywnU2VydmVyJywnUG91xb7DrXZhdGXEvicsJ0hlc2xvJywnUHJpaGzDoXNpxaUgc2EnLCdUcnZhbMOpIHByaWhsw6FzZW5pZScsJ1Z5cMOtc2HFpSBkw6F0YScsJ1pvYnJhemnFpSDFoXRydWt0w7pydScsJ1ptZW5pxaUgcG9oxL5hZCcsJ1ptZW5pxaUgdGFidcS+a3UnLCdOb3bDoSBwb2xvxb5rYScsJ1Bvc2xlZG7DoSBzdHLDoW5rYScsJ1VwcmF2acWlJyxhcnJheSgnJWQgYmFqdCcsJyVkIGJhanR5JywnJWQgYmFqdG92JyksJ1Z5cMOtc2HFpScsJ0Z1bmtjaWUnLCdBZ3JlZ8OhY2lhJywnVnloxL5hZGHFpScsJ2tkZWtvxL52ZWsnLCdab3RyaWVkacWlJywnem9zdHVwbmUnLCdMaW1pdCcsJ0TEusW+a2EgdGV4dG92JywnQWtjaWEnLCdTUUwgcHLDrWtheicsJ290dm9yacWlJywndWxvxb5pxaUnLCdabWVuacWlIGRhdGFiw6F6dScsJ1Bvem1lbmnFpSBzY2jDqW11JywnVnl0dm9yacWlIHNjaMOpbXUnLCdFeHBvcnQnLCdPZGhsw6FzacWlJywnZGF0YWLDoXphJywnc2Now6ltYScsJ1Z5dHZvcmnFpSBub3bDuiB0YWJ1xL5rdScsJ3Z5cMOtc2HFpScsJ2x0cicsJ1Jlc2VuZCBQT1NUIGRhdGE/JywnTmVwbGF0bsO9IHRva2VuIENTUkYuIE9kb8WhbGl0ZSBmb3JtdWzDoXIgem5vdmEuJywnT2RobMOhc2VuaWUgcHJlYmVobG8gdiBwb3JpYWRrdS4nLCdTZXNzaW9uIHByZW1lbm7DqSBtdXNpYSBiecWlIHBvdm9sZW7DqS4nLCdTZXNzaW9uIHZ5cHLFoWFsYSwgcHJpaGzDoXN0ZSBzYSBwcm9zw61tIHpub3ZhLicsJ05lcGxhdG7DqSBwcmlobGFzb3ZhY2llIMO6ZGFqZS4nLCfFvWlhZG5lIHJvesWhw61yZW5pZScsJ05pZSBqZSBkb3N0dXBuw6kgxb5pYWRuZSB6IHBvZHBvcm92YW7DvWNoIHJvesWhw61yZW7DrSAoJXMpLicsJ1Byw61sacWhIHZlxL5rw6kgUE9TVCBkw6F0YS4gWm1lbsWhaXRlIGTDoXRhIGFsZWJvIHp2w73FoXRlIGhvZG5vdHUga29uZmlndXJhxI1laiBkaXJla3TDrXZ5ICVzLicsJ0RhdGFiw6F6YScsJ05lc3Byw6F2bmEgZGF0YWLDoXphLicsJ0RhdGFiw6F6eSBib2xpIG9kc3Ryw6FuZW7DqS4nLCdWeWJyYcWlIGRhdGFiw6F6dScsJ1Z5dHZvcmnFpSBub3bDuiBkYXRhYsOhenUnLCdPcHLDoXZuZW5pYScsJ1pvem5hbSBwcm9jZXNvdicsJ1ByZW1lbm7DqScsJ1N0YXYnLCdWZXJ6aWEgJXM6ICVzIGNleiBQSFAgcm96xaHDrXJlbmllICVzJywnUHJpaGzDoXNlbsO9IGFrbzogJXMnLCdQb3Jvdm7DoXZhbmllJywnVGFidcS+a3knLCdPZHN0csOhbmnFpScsJ09ibm92acWlJywnU2Now6ltYScsJ05lcGxhdG7DqSBzY2jDqW1hLicsJ8W9aWFkbmUgcmlhZGt5LicsJyUuM2YgcycsJ0N1ZHppZSBrxL7DusSNZScsJ3Bvcm92bsOhdmFuaWUnLCdPTiBERUxFVEUnLCdOw6F6b3Ygc3TEunBjYScsJ07DoXpvdiBwYXJhbWV0cmEnLCdUeXAnLCdExLrFvmthJywnVm/EvmJ5JywnQXV0byBJbmNyZW1lbnQnLCdWw71jaG9kemllIGhvZG5vdHknLCdLb21lbnTDoXInLCdQcmlkYcWlIMSPYWzFocOtJywnUHJlc3Vuw7rFpSBob3JlJywnUHJlc3Vuw7rFpSBkb2x1JywnT2RvYnJhxaUnLCdQb2jEvmFkJywnVGFidcS+a2EnLCdTdMS6cGVjJywnSW5kZXh5JywnWm1lbmnFpSBpbmRleHknLCdaZHJvaicsJ0NpZcS+JywnT04gVVBEQVRFJywnWm1lbmnFpScsJ1ByaWRhxaUgY3VkesOtIGvEvsO6xI0nLCdUcmlnZ2VyeScsJ1ByaWRhxaUgdHJpZ2dlcicsJ1NjaMOpbWEgZGF0YWLDoXp5JywnUGVybWFuZW50IGxpbmsnLCdFeHBvcnQnLCdWw71zdHVwJywnRm9ybcOhdCcsJ1Byb2NlZMO6cnknLCdVZGFsb3N0aScsJ0TDoXRhJywndXByYXZpxaUnLCdWeXR2b3JpxaUgcG91xb7DrXZhdGXEvmEnLGFycmF5KCdQcsOta2F6IHByZWJlaG9sIHYgcG9yaWFka3UsIGJvbCB6bWVuZW7DvSAlZCB6w6F6bmFtLicsJ1Byw61rYXogcHJlYmVob2wgdiBwb3JpYWRrdSBib2xpIHptZW5lbsOpICVkIHrDoXpuYW15LicsJ1Byw61rYXogcHJlYmVob2wgdiBwb3JpYWRrdSBib2xvIHptZW5lbsO9Y2ggJWQgesOhem5hbW92LicpLGFycmF5KCclZCByaWFkb2snLCclZCByaWFka3knLCclZCByaWFka292JyksJ0NoeWJhIHYgZG90YXplJywnxb1pYWRuZSBwcsOta2F6eSBuYSB2eWtvbmFuaWUuJyxhcnJheSgnQm9sIHZ5a29uYW7DvSAlZCBkb3Rhei4nLCdCb2xpIHZ5a29uYW7DqSAlZCBkb3RhenkuJywnQm9sbyB2eWtvbmFuw71jaCAlZCBkb3Rhem92LicpLCdOYWhyYW5pZSBzw7pib3J1JywnTmFocsOhdsOhbmllIHPDumJvcm92IG5pZSBqZSBwb3ZvbGVuw6kuJywnVnlrb25hxaUnLCdaYXN0YXZpxaUgcHJpIGNoeWJlJywnWm9icmF6acWlIGliYSBjaHlieScsJ1pvIHNlcnZlcnUnLCdTw7pib3IgJXMgbmEgd2Vib3ZvbSBzZXJ2ZXJpJywnU3B1c3RpxaUgc8O6Ym9yJywnSGlzdMOzcmlhJywnVnnEjWlzdGnFpScsJ0VkaXQgYWxsJywnUG9sb8W+a2EgYm9sYSB2eW1hemFuw6EuJywnUG9sb8W+a2EgYm9sYSBha3R1YWxpem92YW7DoS4nLCdQb2xvxb5rYSVzIGJvbGEgdmxvxb5lbsOhLicsJ1Zsb8W+acWlJywnVWxvxb5pxaUnLCdVbG/FvmnFpSBhIHBva3JhxI1vdmHFpSB2IMO6cHJhdsOhY2gnLCdVbG/FvmnFpSBhIHZsb8W+acWlIMSPYWzFocOtJywnWm1hemHFpScsJ1RhYnXEvmthIGJvbGEgb2RzdHLDoW5lbsOhLicsJ1RhYnXEvmthIGJvbGEgem1lbmVuw6EuJywnVGFidcS+a2EgYm9sYSB2eXR2b3JlbsOhLicsJ1Z5dHZvcmnFpSB0YWJ1xL5rdScsJ0JvbCBwcmVrcm/EjWVuw70gbWF4aW3DoWxueSBwb8SNZXQgcG92b2xlbsO9Y2ggcG9sw60uIFp2w73FoXRlIHByb3PDrW0gJXMgYSAlcy4nLCdOw6F6b3YgdGFidcS+a3knLCfDumxvxb5pc2tvJywnUm96ZGVsacWlIHBvZMS+YScsJ09kZGllbHknLCdOw6F6b3Ygb2RkaWVsdScsJ0hvZG5vdHknLCdJbmRleHkgYm9saSB6bWVuZW7DqS4nLCdUeXAgaW5kZXh1JywnU3TEunBlYyAoZMS6xb5rYSknLCdEYXRhYsOhemEgYm9sYSBvZHN0csOhbmVuw6EuJywnRGF0YWLDoXphIGJvbGEgcHJlbWVub3ZhbsOhLicsJ0RhdGFiw6F6YSBib2xhIHZ5dHZvcmVuw6EuJywnRGF0YWLDoXphIGJvbGEgem1lbmVuw6EuJywnVnl0dm9yacWlIGRhdGFiw6F6dScsJ1NjaMOpbWEgYm9sYSBvZHN0csOhbmVuw6EuJywnU2Now6ltYSBib2xhIHZ5dHZvcmVuw6EuJywnU2Now6ltYSBib2xhIHptZW5lbsOhLicsJ1phdm9sYcWlJyxhcnJheSgnUHJvY2Vkw7pyYSBib2xhIHphdm9sYW7DoSwgYm9sIHptZW5lbsO9ICVkIHrDoXpuYW0uJywnUHJvY2Vkw7pyYSBib2xhIHphdm9sYW7DoSwgYm9saSB6bWVuZW7DqSAlZCB6w6F6bmFteS4nLCdQcm9jZWTDunJhIGJvbGEgemF2b2xhbsOhLCBib2xvIHptZW5lbsO9Y2ggJWQgesOhem5hbW92LicpLCdDdWR6w60ga8S+w7rEjSBib2wgb2RzdHLDoW5lbsO9LicsJ0N1ZHrDrSBrxL7DusSNIGJvbCB6bWVuZW7DvS4nLCdDdWR6w60ga8S+w7rEjSBib2wgdnl0dm9yZW7DvS4nLCdaZHJvam92w6kgYSBjaWXEvm92w6kgc3TEunBjZSBtdXNpYSBtYcWlIHJvdm5ha8O9IGRhdG92w70gdHlwLCBuYWQgY2llxL5vdsO9bWkgc3TEunBjYW1pIG11c8OtIGJ5xaUgZGVmaW5vdmFuw70gaW5kZXggYSBvZGthem92YW7DqSBkw6F0YSBtdXNpYSBleGlzdG92YcWlLicsJ0N1ZHrDrSBrxL7DusSNJywnQ2llxL5vdsOhIHRhYnXEvmthJywnWm1lbmnFpScsJ1ByaWRhxaUgc3TEunBlYycsJ1BvaMS+YWQgYm9sIG9kc3Ryw6FuZW7DvS4nLCdQb2jEvmFkIGJvbCB6bWVuZW7DvS4nLCdQb2jEvmFkIGJvbCB2eXR2b3JlbsO9LicsJ1Z5dHZvcmnFpSBwb2jEvmFkJywnTsOhem92JywnVWRhbG9zxaUgYm9sYSBvZHN0csOhbmVuw6EuJywnVWRhbG9zxaUgYm9sYSB6bWVuZW7DoS4nLCdVZGFsb3PFpSBib2xhIHZ5dHZvcmVuw6EuJywnVXByYXZpxaUgdWRhbG9zxaUnLCdWeXR2b3JpxaUgdWRhbG9zxaUnLCdaYcSNaWF0b2snLCdLb25pZWMnLCdLYcW+ZMO9Y2gnLCdQbyBkb2tvbsSNZW7DrSB6YWNob3ZhdCcsJ1Byb2NlZMO6cmEgYm9sYSBvZHN0csOhbmVuw6EuJywnUHJvY2Vkw7pyYSBib2xhIHptZW5lbsOhLicsJ1Byb2NlZMO6cmEgYm9sYSB2eXR2b3JlbsOhLicsJ1ptZW5pxaUgZnVua2NpdScsJ1ptZW5pxaUgcHJvY2Vkw7pydScsJ1Z5dHZvcmnFpSBmdW5rY2l1JywnVnl0dm9yacWlIHByb2NlZMO6cnUnLCdOw6F2cmF0b3bDvSB0eXAnLCdTZWt2ZW5jaWEgYm9sYSBvZHN0csOhbmVuw6EuJywnU2VrdmVuY2lhIGJvbGEgdnl0dm9yZW7DoS4nLCdTZWt2ZW5jaWEgYm9sYSB6bWVuZW7DoS4nLCdQb3ptZW5pxaUgc2VrdmVuY2l1JywnVnl0dm9yacWlIHNla3ZlbmNpdScsJ1R5cCBib2wgb2RzdHLDoW5lbsO9LicsJ1R5cCBib2wgdnl0dm9yZW7DvS4nLCdQb3ptZW5pxaUgdHlwJywnVnl0dm9yacWlIHR5cCcsJ1RyaWdnZXIgYm9sIG9kc3Ryw6FuZW7DvS4nLCdUcmlnZ2VyIGJvbCB6bWVuZW7DvS4nLCdUcmlnZ2VyIGJvbCB2eXR2b3JlbsO9LicsJ1ptZW5pxaUgdHJpZ2dlcicsJ1Z5dHZvcmnFpSB0cmlnZ2VyJywnxIxhcycsJ1VkYWxvc8WlJywnUG91xb7DrXZhdGXEviBib2wgb2RzdHLDoW5lbsO9LicsJ1BvdcW+w612YXRlxL4gYm9sIHptZW5lbsO9LicsJ1BvdcW+w612YXRlxL4gYm9sIHZ5dHZvcmVuw70uJywnWmFoYcWhb3ZhbsOpJywnUHJvY2Vkw7pyYScsJ1Bvdm9sacWlJywnWmFrw6F6YcWlJyxhcnJheSgnQm9sIHVrb27EjWVuw70gJWQgcHJvY2VzLicsJ0JvbGkgdWtvbsSNZW7DqSAlZCBwcm9jZXN5LicsJ0JvbG8gdWtvbsSNZW7DvWNoICVkIHByb2Nlc292LicpLCclZCBjZWxrb20nLCdVa29uxI1pxaUnLCclZCBwb2xvxb5pZWsgYm9sbyBvdnBseXZuZW7DvWNoLicsJ0R2b2prbGlrbml0ZSBuYSBwb2zDrcSNa28sIGt0b3LDqSBjaGNldGUgem1lbmnFpS4nLGFycmF5KCdCb2wgaW1wb3J0b3ZhbsO9ICVkIHrDoXpuYW0uJywnQm9saSBpbXBvcnRvdmFuw6kgJWQgesOhem5hbXkuJywnQm9sbyBpbXBvcnRvdmFuw71jaCAlZCB6w6F6bmFtb3YuJyksJ1RhYnXEvmt1IHNhIG5lcG9kYXJpbG8gdnlww61zYcWlJywnVnrFpWFoeScsJ1ByZSB6bWVudSB0ZWp0byBob2Rub3R5IHBvdcW+aXRlIG9ka2F6IHVwcmF2acWlLicsJ1N0csOhbmthJywncG9zbGVkbsO9JywnY2Vsw70gdsO9c2xlZG9rJywnS2xvbm92YcWlJywnSW1wb3J0JywnICcsJ1RhYnXEvmthIGJvbGEgdnlwcsOhemRuZW7DoS4nLCdUYWJ1xL5rYSBib2xhIHByZXN1bnV0w6EuJywnVGFibGVzIGhhdmUgYmVlbiBjb3BpZWQuJywnVGFidcS+a2EgYm9sYSBvZHN0csOhbmVuw6EuJywnVGFidcS+a3kgYSBwb2jEvmFkeScsJ1Z5aMS+YWRhxaUgZMOhdGEgdiB0YWJ1xL5rw6FjaCcsJ1R5cCcsJ1ZlxL5rb3PFpSBkw6F0JywnVmXEvmtvc8WlIGluZGV4dScsJ1ZvxL5uw6kgbWllc3RvJywnUmlhZGt5JywnQW5hbHl6b3ZhxaUnLCdPcHRpbWFsaXpvdmHFpScsJ1Nrb250cm9sb3ZhxaUnLCdPcHJhdmnFpScsJ1Z5cHLDoXpkbmnFpScsJ1ByZXN1bsO6xaUgZG8gaW5laiBkYXRhYsOhenknLCdQcmVzdW7DusWlJywnQ29weScsJ1Nla3ZlbmNpYScsJ1Bsw6FuJywnViBzdGFub3ZlbsO9IMSNYXMnLCd0ZXJheicpO2JyZWFrO2Nhc2UibmwiOiRZPWFycmF5KCdXZWV0IHUgaGV0IHpla2VyPycsJ09ubW9nZWxpamsgYmVzdGFuZCB0ZSB1cGxvYWRlbi4nLCdNYXhpbXVtIHRvZWdlbGF0ZW4gYmVzdGFuZHNncm9vdHRlIGlzICVzQi4nLCdCZXN0YW5kIG5pZXQgZ2V2b25kZW4uJywnbGVlZycsJ29yaWdpbmVlbCcsJ0dlZW4gdGFiZWxsZW4uJywnVGFhbCcsJ0dlYnJ1aWsnLCdHZWJydWlrIDEgdmFuIHZvbGdlbmRlIGV4dGVuc2llczogJXMuJywnQmVzdGFuZCBiZXN0YWF0IHJlZWRzLicsJ0dlYnJ1aWtlcnNnZWRlZmluacOrZXJkZSB0eXBlcycsJ0dldGFsbGVuJywnRGF0dW0gZW4gdGlqZCcsJ1Rla3N0JywnQmluYWlyZSBnZWdldmVucycsJ05ldHdlcmsnLCdHZW9tZXRyaWUnLCdMaWpzdGVuJywnRGF0YWJhc2VzeXN0ZWVtJywnU2VydmVyJywnR2VicnVpa2Vyc25hYW0nLCdXYWNodHdvb3JkJywnSW5sb2dnZW4nLCdCbGlqZiBhYW5nZW1lbGQnLCdHZWdldmVucyBzZWxlY3RlcmVuJywnVG9vbiBzdHJ1Y3R1dXInLCdWaWV3IGFhbnBhc3NlbicsJ1RhYmVsIGFhbnBhc3NlbicsJ05pZXV3IGl0ZW0nLCdMYWF0c3RlIHBhZ2luYScsJ0Jld2VyaycsYXJyYXkoJyVkIGJ5dGUnLCclZCBieXRlcycpLCdLaWVzJywnRnVuY3RpZXMnLCdUb3RhbGVuJywnWm9la2VuJywnb3ZlcmFsJywnU29ydGVyZW4nLCdBZmxvcGVuZCcsJ0JlcGVyaycsJ1Rla3N0IGxlbmd0ZScsJ0FjdGllcycsJ1NRTCBvcGRyYWNodCcsJ29wZW5lbicsJ29wc2xhYW4nLCdEYXRhYmFzZSBhYW5wYXNzZW4nLCdTY2hlbWEgd2lqemlnZW4nLCdTY2hlbWEgbWFrZW4nLCdFeHBvcnRlZXInLCdVaXRsb2dnZW4nLCdkYXRhYmFzZScsJ3NjaGVtYScsJ05pZXV3ZSB0YWJlbCcsJ2tpZXMnLCdsdHInLCdSZXNlbmQgUE9TVCBkYXRhPycsJ09uZ2VsZGlnIENTUkYgdG9rZW4uIFZlcnN0dXVyIGhldCBmb3JtdWxpZXIgb3BuaWV1dy4nLCdVaXRsb2dnZW4gZ2VzbGFhZ2QuJywnU2Vzc2llcyBtb2V0ZW4gZ2VhY3RpdmVlcmQgemlqbi4nLCdVdyBzZXNzaWUgaXMgdmVybG9wZW4uIEdlbGlldmUgb3BuaWV1dyBpbiB0ZSBsb2dnZW4uJywnT25nZWxkaWdlIGxvZ2luZ2VnZXZlbnMuJywnR2VlbiBleHRlbnNpZScsJ0dlZW4gZ2VsZGlnZSBQSFAgZXh0ZW5zaWVzIGJlc2NoaWtiYWFyICglcykuJywnUE9TVC1kYXRhIGlzIHRlIGdyb290LiBWZXJrbGVpbiBkZSBob2V2ZWVsaGVpZCBkYXRhIG9mIHZlcmhvb2cgZGUgJXMgY29uZmlndXJhdGllLicsJ0RhdGFiYXNlJywnT25nZWxkaWdlIGRhdGFiYXNlLicsJ0RhdGFiYXNlcyB2ZXJ3aWpkZXJkLicsJ0RhdGFiYXNlIHNlbGVjdGVyZW4nLCdOaWV1d2UgZGF0YWJhc2UnLCdSZWNodGVuJywnUHJvY2VzbGlqc3QnLCdWYXJpYWJlbGVuJywnU3RhdHVzJywnJXMgdmVyc2llOiAlcyBtZXQgUEhQIGV4dGVuc2llICVzJywnQWFuZ2VtZWxkIGFsczogJXMnLCdDb2xsYXRpZScsJ1RhYmVsbGVuJywnVmVyd2lqZGVyZW4nLCdWZXJuaWV1d2VuJywnU2NoZW1hJywnT25nZWxkaWcgc2NoZW1hLicsJ0dlZW4gcmlqZW4uJywnJS4zZiBzJywnRm9yZWlnbiBrZXlzJywnY29sbGF0aW9uJywnT04gREVMRVRFJywnS29sb21uYWFtJywnUGFyYW1ldGVybmFhbScsJ1R5cGUnLCdMZW5ndGUnLCdPcHRpZXMnLCdBdXRvIG51bW1lcmluZycsJ1N0YW5kYWFyZCB3YWFyZGVuJywnQ29tbWVudGFhcicsJ1ZvbGdlbmRlIHRvZXZvZWdlbicsJ09taG9vZycsJ09tbGFhZycsJ1ZlcndpamRlcmVuJywnVmlldycsJ1RhYmVsJywnS29sb20nLCdJbmRleGVuJywnSW5kZXhlbiBhYW5wYXNzZW4nLCdCcm9uJywnRG9lbCcsJ09OIFVQREFURScsJ0FhbnBhc3NlbicsJ0ZvcmVpZ24ga2V5IGFhbm1ha2VuJywnVHJpZ2dlcnMnLCdUcmlnZ2VyIGFhbm1ha2VuJywnRGF0YWJhc2Ugc2NoZW1hJywnUGVybWFuZW50IGxpbmsnLCdFeHBvcnRlcmVuJywnVWl0dm9lcicsJ0Zvcm1hYXQnLCdQcm9jZWR1cmVzJywnRXZlbnRzJywnRGF0YScsJ2Jld2VyaycsJ0dlYnJ1aWtlciBhYW5tYWtlbicsYXJyYXkoJ1F1ZXJ5IHVpdGdldm9lcmQsICVkIHJpaiBnZXJhYWt0LicsJ1F1ZXJ5IHVpdGdldm9lcmQsICVkIHJpamVuIGdlcmFha3QuJyksYXJyYXkoJyVkIHJpaicsJyVkIHJpamVuJyksJ0ZvdXQgaW4gcXVlcnknLCdHZWVuIG9wZHJhY2h0ZW4gdWl0IHRlIHZvZXJlbi4nLGFycmF5KCclZCBxdWVyeSBzdWNjZXN2b2wgdWl0Z2V2b2VyZC4nLCclZCBxdWVyeXMgc3VjY2Vzdm9sIHVpdGdldm9lcmQnKSwnQmVzdGFuZCB1cGxvYWRlbicsJ0Jlc3RhbmRlbiB1cGxvYWRlbiBpcyB1aXRnZXNjaGFrZWxkLicsJ1VpdHZvZXJlbicsJ1N0b3BwZW4gYmlqIGZvdXQnLCdFbmtlbCBmb3V0ZW4gdG9uZW4nLCdWYW4gc2VydmVyJywnV2Vic2VydmVyIGJlc3RhbmQgJXMnLCdCZXN0YW5kIHVpdHZvZXJlbicsJ0dlc2NoaWVkZW5pcycsJ1dpc3NlbicsJ0VkaXQgYWxsJywnSXRlbSB2ZXJ3aWpkZXJkLicsJ0l0ZW0gYWFuZ2VwYXN0LicsJ0l0ZW0lcyB0b2VnZXZvZWdkLicsJ1RvZXZvZWdlbicsJ09wc2xhYW4nLCdPcHNsYWFuIGVuIHZlcmRlciBiZXdlcmtlbicsJ09wc2xhYW4sIGRhYXJuYSB0b2V2b2VnZW4nLCdWZXJ3aWpkZXJlbicsJ1RhYmVsIHZlcndpamRlcmQuJywnVGFiZWwgYWFuZ2VwYXN0LicsJ1RhYmVsIGFhbmdlbWFha3QuJywnVGFiZWwgYWFubWFrZW4nLCdNYXhpbXVtIGFhbnRhbCB2ZWxkZW4gYmVyZWlrdC4gVmVyaG9vZyAlcyBlbiAlcy4nLCdUYWJlbG5hYW0nLCdlbmdpbmUnLCdQYXJ0aXRpb25lcmVuIG9wJywnUGFydGl0aWVzJywnUGFydGl0aWUgbmFhbScsJ1dhYXJkZW4nLCdJbmRleCBhYW5nZXBhc3QuJywnSW5kZXggdHlwZScsJ0tvbG9tIChsZW5ndGUpJywnRGF0YWJhc2UgdmVyd2lqZGVyZC4nLCdEYXRhYmFzZSBoZXJub2VtZC4nLCdEYXRhYmFzZSBhYW5nZW1hYWt0LicsJ0RhdGFiYXNlIGFhbmdlcGFzdC4nLCdEYXRhYmFzZSBhYW5tYWtlbicsJ1NjaGVtYSB2ZXJ3aWpkZXJkLicsJ1NjaGVtYSBhYW5nZW1hYWt0LicsJ1NjaGVtYSBnZXdpanppZ2QuJywnVWl0dm9lcmVuJyxhcnJheSgnUHJvY2VkdXJlIHVpdGdldm9lcmQsICVkIHJpaiBnZXJhYWt0LicsJ1Byb2NlZHVyZSB1aXRnZXZvZXJkLCAlZCByaWplbiBnZXJhYWt0LicpLCdGb3JlaWduIGtleSB2ZXJ3aWpkZXJkLicsJ0ZvcmVpZ24ga2V5IGFhbmdlcGFzdC4nLCdGb3JlaWduIGtleSBhYW5nZW1hYWt0LicsJ0Jyb24tIGVuIGRvZWxrb2xvbW1lbiBtb2V0ZW4gdmFuIGhldHplbGZkZSBkYXRhIHR5cGUgemlqbiwgZXIgbW9ldCBlZW4gaW5kZXggYmVzdGFhbiBvcCBkZSBnZWtvemVuIGtvbG9tbWVuIGVuIGVyIG1vZXQgZ2VyZWxhdGVlcmRlIGRhdGEgYmVzdGFhbi4nLCdGb3JlaWduIGtleScsJ0RvZWx0YWJlbCcsJ1ZlcmFuZGVyZW4nLCdLb2xvbSB0b2V2b2VnZW4nLCdWaWV3IHZlcndpamRlcmQuJywnVmlldyBhYW5nZXBhc3QuJywnVmlldyBhYW5nZW1hYWt0LicsJ1ZpZXcgYWFubWFrZW4nLCdOYWFtJywnRXZlbnQgd2VyZCB2ZXJ3aWpkZXJkLicsJ0V2ZW50IHdlcmQgYWFuZ2VwYXN0LicsJ0V2ZW50IHdlcmQgYWFuZ2VtYWFrdC4nLCdFdmVudCBhYW5wYXNzZW4nLCdFdmVudCBhYW5tYWtlbicsJ1N0YXJ0JywnU3RvcCcsJ0llZGVyZScsJ0Jld2FyZW4gbmEgdm9sdG9vaWluZycsJ1Byb2NlZHVyZSB2ZXJ3aWpkZXJkLicsJ1Byb2NlZHVyZSBhYW5nZXBhc3QuJywnUHJvY2VkdXJlIGFhbmdlbWFha3QuJywnRnVuY3RpZSBhYW5wYXNzZW4nLCdQcm9jZWR1cmUgYWFucGFzc2VuJywnRnVuY3RpZSBhYW5tYWtlbicsJ1Byb2NlZHVyZSBhYW5tYWtlbicsJ1JldHVybiB0eXBlJywnU2VxdWVuY2UgdmVyd2lqZGVyZC4nLCdTZXF1ZW5jZSBhYW5nZW1hYWt0LicsJ1NlcXVlbmNlIGdld2lqemlnZC4nLCdTZXF1ZW5jZSB3aWp6aWdlbicsJ1NlcXVlbmNlIG1ha2VuJywnVHlwZSB2ZXJ3aWpkZXJkLicsJ1R5cGUgYWFuZ2VtYWFrdC4nLCdUeXBlIHdpanppZ2VuJywnVHlwZSBtYWtlbicsJ1RyaWdnZXIgdmVyd2lqZGVyZC4nLCdUcmlnZ2VyIGFhbmdlcGFzdC4nLCdUcmlnZ2VyIGFhbmdlbWFha3QuJywnVHJpZ2dlciBhYW5wYXNzZW4nLCdUcmlnZ2VyIGFhbm1ha2VuJywnVGltZScsJ0V2ZW50JywnR2VicnVpa2VyIHZlcndpamRlcmQuJywnR2VicnVpa2VyIGFhbmdlcGFzdC4nLCdHZWJydWlrZXIgYWFuZ2VtYWFrdC4nLCdHZWhhc2hlZCcsJ1JvdXRpbmUnLCdUb2VrZW5uZW4nLCdJbnRyZWtrZW4nLGFycmF5KCclZCBwcm9jZXMgZ2VzdG9wdC4nLCclZCBwcm9jZXNzZW4gZ2VzdG9wdC4nKSwnJWQgaW4gdG90YWFsJywnU3RvcHBlbicsYXJyYXkoJyVkIGl0ZW0gYWFuZ2VwYXN0LicsJyVkIGl0ZW1zIGFhbmdlcGFzdC4nKSwnRHViYmVsa2xpayBvcCBlZW4gd2FhcmRlIG9tIGRlemUgdGUgYmV3ZXJrZW4uJyxhcnJheSgnJWQgcmlqIHdlcmQgZ2XDr21wb3J0ZWVyZC4nLCclZCByaWplbiB3ZXJkZW4gZ2XDr21wb3J0ZWVyZC4nKSwnT25tb2dlbGlqayB0YWJlbCB0ZSBzZWxlY3RlcmVuJywnUmVsYXRpZXMnLCdHZWJydWlrIGRlIGxpbmsgImJld2VyayIgb20gZGV6ZSB3YWFyZGUgdGUgd2lqemlnZW4uJywnUGFnaW5hJywnbGFhdHN0ZScsJ3ZvbGxlZGlnIHJlc3VsdGFhdCcsJ0R1cGxpY2VlcicsJ0ltcG9ydGVyZW4nLCcuJywnVGFiZWxsZW4gd2VyZGVuIGdlbGVlZ2QuJywnVGFiZWxsZW4gd2VyZGVuIHZlcnBsYWF0c3QuJywnVGFibGVzIGhhdmUgYmVlbiBjb3BpZWQuJywnVGFiZWxsZW4gd2VyZGVuIHZlcndpamRlcmQuJywnVGFiZWxsZW4gZW4gdmlld3MnLCdab2VrZW4gaW4gZGF0YWJhc2UnLCdFbmdpbmUnLCdEYXRhIGxlbmd0ZScsJ0luZGV4IGxlbmd0ZScsJ0RhdGEgVnJpaicsJ1JpamVuJywnQW5hbHlzZWVyJywnT3B0aW1hbGlzZWVyJywnQ29udHJvbGVlcicsJ0hlcnN0ZWwnLCdMZWdlbicsJ1ZlcnBsYWF0cyBuYWFyIGFuZGVyZSBkYXRhYmFzZScsJ1ZlcnBsYWF0cycsJ0NvcHknLCdTZXF1ZW5jZXMnLCdTY2hlZHVsZScsJ09wIGFhbmdlZ2V2ZW4gdGlqZCcsJ251Jyk7YnJlYWs7Y2FzZSJlcyI6JFk9YXJyYXkoJ0VzdMOhIHNlZ3Vybz8nLCdObyBlcyBwb3NpYmxlIGltcG9ydGFyIGFyY2hpdm8uJywnVGFtYcOxbyBtw6F4aW1vIGRlIGFyY2hpdm8gZXMgJXNCLicsJ0FyY2hpdm8gbm8gZXhpc3RlLicsJ25pbmfDum5vJywnb3JpZ2luYWwnLCdObyBleGlzdGVuIHRhYmxhcy4nLCdJZGlvbWEnLCdVc2FyJywnUG9yIGZhdm9yIHVzZSB1bmEgZGUgbGFzIGV4dGVuc2lvbmVzICVzLicsJ0FyY2hpdm8geWEgZXhpc3RlLicsJ1RpcG9zIGRlZmluaWRvIHBvciBlbCB1c3VhcmlvJywnTsO6bWVyb3MnLCdGZWNoYSB5IGhvcmEnLCdDYWRlbmEnLCdCaW5hcmlvJywnUmVkJywnR2VvbWV0csOtYScsJ0xpc3RhcycsJ01vdG9yIGRlIGJhc2UgZGUgZGF0b3MnLCdTZXJ2aWRvcicsJ1VzdWFyaW8nLCdDb250cmFzZcOxYScsJ0xvZ2luJywnR3VhcmRhciBjb250cmFzZcOxYScsJ1NlbGVjY2lvbmFyIGRhdG9zJywnTW9zdHJhciBlc3RydWN0dXJhJywnTW9kaWZpY2FyIHZpc3RhJywnTW9kaWZpcXVlIGVzdHJ1Y3R1cmEnLCdOdWV2byBSZWdpc3RybycsJ1VsdGltYSBww6FnaW5hJywnTW9kaWZpY2FyJyxhcnJheSgnJWQgYnl0ZScsJyVkIGJ5dGVzJyksJ01vc3RyYXInLCdGdW5jaW9uZXMnLCdBZ3JlZ2FjaW9uZXMnLCdDb25kaWNpw7NuJywnZG9uZGUgc2VhJywnT3JkZW5hcicsJ2Rlc2NlbmRpZW50ZScsJ0xpbWl0JywnTG9uZ2l0dWQgZGUgdGV4dG8nLCdBY2Npw7NuJywnQ29tYW5kbyBTUUwnLCdtb3N0cmFyJywnYXJjaGl2bycsJ01vZGlmaWNhciBCYXNlIGRlIGRhdG9zJywnTW9kaWZpY2FyIGVzcXVlbWEnLCdDcmVhciBlc3F1ZW1hJywnRXhwb3J0JywnTG9nb3V0JywnYmFzZSBkZSBkYXRvcycsJ2VzcXVlbWEnLCdOdWV2YSB0YWJsYScsJ3JlZ2lzdHJvcycsJ2x0cicsJ1Jlc2VuZCBQT1NUIGRhdGE/JywnVG9rZW4gQ1NSRiBpbnbDoWxpZG8uIFZ1ZWx2YSBhIGVudmlhciBsb3MgZGF0b3MgZGVsIGZvcm11bGFyaW8uJywnU2FsaWRhIGV4aXRvc2EuJywnRGViZW4gZXN0YXIgaGFiaWxpdGFkYXMgbGFzIHNlc2lvbmVzLicsJ1Nlc2nDs24gZXhwaXJhZGEsIHBvciBmYXZvciBpbmdyZXNlIHN1IGNsYXZlIGRlIG51ZXZvLicsJ0lkZW50aWZpY2FjaW9uIGludsOhbGlkYS4nLCdObyBoYXkgZXh0ZW5zaW9uJywnTmluZ3VuYSBkZSBsYXMgZXh0ZW5zaW9uZXMgUEhQIHNvcG9ydGFkYXMgKCVzKSBlc3TDoSBkaXNwb25pYmxlLicsJ1BPU1QgZGF0YSBkZW1hc2lhZG8gZ3JhbmRlLiBSZWR1emNhIGVsIHRhbWHDsW8gbyBhdW1lbnRlIGxhIGRpcmVjdGl2YSBkZSBjb25maWd1cmFjacOzbiAlcy4nLCdCYXNlIGRlIGRhdG9zJywnQmFzZSBkZSBkYXRvcyBpbnbDoWxpZGEuJywnQmFzZXMgZGUgZGF0b3MgZWxpbWluYWRhcy4nLCdTZWxlY2Npb25hciBCYXNlIGRlIGRhdG9zJywnSW5ncmVzZSBudWV2YSBiYXNlIGRlIGRhdG9zJywnUHJpdmlsZWdpb3MnLCdMaXN0YSBkZSBwcm9jZXNvcycsJ1ZhcmlhYmxlcycsJ0VzdGFkbycsJ1ZlcnNpw7NuICVzOiAlcyBhIHRyYXbDqXMgZGUgZXh0ZW5zacOzbiBQSFAgJXMnLCdMb2dlYWRvIGNvbW86ICVzJywnQ29sYWNpw7NuJywnVGFibGFzJywnRWxpbWluYXInLCdSZWZyZXNjYXInLCdFc3F1ZW1hJywnRXNxdWVtYSBpbnbDoWxpZG8uJywnTm8gZXhpc3RlbiByZWdpc3Ryb3MuJywnJS4zZiBzJywnQ2xhdmVzIGZvcsOhbmVhcycsJ2NvbGFjacOzbicsJ09OIERFTEVURScsJ05vbWJyZSBkZSBjb2x1bW5hJywnTm9tYnJlIGRlIFBhcsOhbWV0cm8nLCdUaXBvJywnTG9uZ2l0dWQnLCdPcGNpb25lcycsJ0luY3JlbWVudG8gYXV0b23DoXRpY28nLCdWYWxvcmVzIHByZWRldGVybWluYWRvcycsJ0NvbWVudGFyaW8nLCdBZ3JlZ2FyJywnTW92ZXIgYXJyaWJhJywnTW92ZXIgYWJham8nLCdFbGltaW5hcicsJ1Zpc3RhcycsJ1RhYmxhJywnQ29sdW1uYScsJ0luZGljZXMnLCdNb2RpZmljYXIgaW5kaWNlcycsJ09yaWdlbicsJ0Rlc3Rpbm8nLCdPTiBVUERBVEUnLCdNb2RpZmljYXInLCdBZ3JlZ2FyIGNsYXZlIGZvcsOhbmVhJywnVHJpZ2dlcnMnLCdBZ3JlZ2FyIHRyaWdnZXInLCdFc3F1ZW1hIGRlIGJhc2UgZGUgZGF0b3MnLCdQZXJtYW5lbnQgbGluaycsJ0V4cG9ydGFyJywnU2FsaWRhJywnRm9ybWF0bycsJ1Byb2NlZGltaWVudG9zJywnRXZlbnRvcycsJ0RhdG9zJywnbW9kaWZpY2FyJywnQ3JlYXIgVXN1YXJpbycsYXJyYXkoJ0NvbnN1bHRhIGVqZWN1dGFkYSwgJWQgcmVnaXN0cm8gYWZlY3RhZG8uJywnQ29uc3VsdGEgZWplY3V0YWRhLCAlZCByZWdpc3Ryb3MgYWZlY3RhZG9zLicpLGFycmF5KCclZCByZWdpc3RybycsJyVkIHJlZ2lzdHJvcycpLCdFcnJvciBlbiBjb25zdWx0YScsJ05vIGhheSBjb21hbmRvIHBhcmEgZWplY3V0YXIuJyxhcnJheSgnJWQgc2VudGVuY2lhIHNxbCBlamVjdXRhZGEgY29ycmVjdGFtZW50ZS4nLCclZCBzZW50ZW5jaWFzIHNxbCBlamVjdXRhZGFzIGNvcnJlY3RhbWVudGUuJyksJ0ltcG9ydGFyIGFyY2hpdm8nLCdJbXBvcnRhY2nDs24gZGUgYXJjaGl2b3MgZGVzaGFibGlsaXRhZG8uJywnRWplY3V0YXInLCdQYXJhciBlbiBjYXNvIGRlIGVycm9yJywnTW9zdHJhciBzb2xhbWVudGUgZXJyb3JlcycsJ0Rlc2RlIHNlcnZpZG9yJywnQXJjaGl2byBkZSBzZXJ2aWRvciB3ZWIgJXMnLCdFamVjdXRhciBBcmNoaXZvJywnSGlzdG9yeScsJ1ZhY2lhcicsJ0VkaXQgYWxsJywnUmVnaXN0cm8gZWxpbWluYWRvLicsJ1JlZ2lzdHJvIG1vZGlmaWNhZG8uJywnUmVnaXN0cm8lcyBpbnNlcnRhZG8uJywnQWdyZWdhcicsJ0d1YXJkYXInLCdHdWFyZGFyIHkgY29udGludWFyIGVkaXRhbmRvJywnR3VhcmRhciBlIGluc2VydGFyIG90cm8nLCdFbGltaW5hcicsJ1RhYmxhIGVsaW1pbmFkYS4nLCdUYWJsYSBtb2RpZmljYWRhLicsJ1RhYmxhIGNyZWFkYS4nLCdDcmVlIHRhYmxhJywnQ2FudGlkYSBtw6F4aW1hIGRlIGNhbXBvcyBwZXJtaXRpZG9zIGV4Y2VkaWRvcy4gUG9yIGZhdm9yIGF1bWVudGUgJXMgeSAlcy4nLCdOb21icmUgZGUgbGEgdGFibGEnLCdtb3RvcicsJ1BhcnRpY2lvbmFyIHBvcicsJ1BhcnRpY2lvbmVzJywnTm9tYnJlIGRlIFBhcnRpY2nDs24nLCdWYWxvcmVzJywnSW5kaWNlcyBtb2RpZmljYWRvcy4nLCdUaXBvIGRlIMOtbmRpY2UnLCdDb2x1bW5hIChsb25naXR1ZCknLCdCYXNlIGRlIGRhdG9zIGVsaW1pbmFkYS4nLCdCYXNlIGRlIGRhdG9zIHJlbm9tYnJhZGEuJywnQmFzZSBkZSBkYXRvcyBjcmVhZGEuJywnQmFzZSBkZSBkYXRvcyBtb2RpZmljYWRhLicsJ0NyZWFyIEJhc2UgZGUgZGF0b3MnLCdFc3F1ZW1hIGVsaW1pbmFkby4nLCdFc3F1ZW1hIGNyZWFkby4nLCdFc3F1ZW1hIG1vZGlmaWNhZG8uJywnTGxhbWFyJyxhcnJheSgnQ29uc3VsdGEgZWplY3V0YWRhLCAlZCByZWdpc3RybyBhZmVjdGFkby4nLCdDb25zdWx0YSBlamVjdXRhZGEsICVkIHJlZ2lzdHJvcyBhZmVjdGFkb3MuJyksJ0NsYXZlIGV4dGVybmEgZWxpbWluYWRhLicsJ0NsYXZlIGV4dGVybmEgbW9kaWZpY2FkYS4nLCdDbGF2ZSBleHRlcm5hIGNyZWFkYS4nLCdMYXMgY29sdW1uYXMgZGUgb3JpZ2VuIHkgZGVzdGlubyBkZWJlbiBzZXIgZGVsIG1pc21vIHRpcG8sIGRlYmUgZXhpc3RpciB1biDDrW5kaWNlIGVudHJlIGxhcyBjb2x1bW5hcyBkZWwgZGVzdGlubyB5IGVsIHJlZ2lzdHJvIHJlZmVyZW5jaWFkbyBkZWJlIGV4aXN0aXIuJywnQ2xhdmUgZXh0ZXJuYScsJ1RhYmxhIGRlIGRlc3Rpbm8nLCdNb2RpZmljYXInLCdBZ3JlZ2FyIGNvbHVtbmEnLCdWaXN0YSBlbGltaW5hZGEuJywnVmlzdGEgbW9kaWZpY2FkYS4nLCdWaXN0YSBjcmVhZGEuJywnQ2VhciB2aXN0YScsJ05vbWJyZScsJ0V2ZW50byBlbGltaW5hZG8uJywnRXZlbnRvIG1vZGlmaWNhZG8uJywnRXZlbnRvIGNyZWFkby4nLCdNb2RpZmljYXIgRXZlbnRvJywnQ3JlYXIgRXZlbnRvJywnSW5pY2lvJywnRmluJywnQ2FkYScsJ0FsIGNvbXBsZXRhciBwcmVzZXJ2YXInLCdQcm9jZWRpbWllbnRvIGVsaW1pbmFkby4nLCdQcm9jZWRpbWllbnRvIG1vZGlmaWNhZG8uJywnUHJvY2VkaW1pZW50byBjcmVhZG8uJywnTW9kaWZpY2FyIEZ1bmNpw7NuJywnTW9kaWZpY2FyIHByb2NlZGltaWVudG8nLCdDcmVhciBmdW5jacOzbicsJ0NyZWFyIHByb2NlZGltaWVudG8nLCdUaXBvIGRlIHZhbG9yIGRlIHJlZ3Jlc28nLCdTZWN1ZW5jaWEgZWxpbWluYWRhLicsJ1NlY3VlbmNpYSBjcmVhZGEuJywnU2VjdWVuY2lhIG1vZGlmaWNhZGEuJywnTW9kaWZpY2FyIHNlY3VlbmNpYScsJ0NyZWFyIHNlY3VlbmNpYXMnLCdUaXBvIGVsaW1pbmFkby4nLCdUaXBvIGNyZWFkby4nLCdNb2RpZmljYXIgdGlwbycsJ0NyZWFyIHRpcG8nLCdUcmlnZ2VyIGVsaW1pbmFkby4nLCdUcmlnZ2VyIG1vZGlmaWNhZG8uJywnVHJpZ2dlciBjcmVhZG8uJywnTW9kaWZpY2FyIFRyaWdnZXInLCdBZ3JlZ2FyIFRyaWdnZXInLCdUaWVtcG8nLCdFdmVudG8nLCdVc3VhcmlvIGVsaW1pbmFkby4nLCdVc3VhcmlvIG1vZGlmaWNhZG8uJywnVXN1YXJpbyBjcmVhZG8uJywnSGFzaCcsJ1J1dGluYScsJ0NvbmNlZGVyJywnSW1wZWRpcicsYXJyYXkoJyVkIHByb2Nlc28gZGV0ZW5pZG8uJywnJWQgcHJvY2Vzb3MgZGV0ZW5pZG9zLicpLCclZCBlbiB0b3RhbCcsJ0RldGVuZXInLGFycmF5KCclZCDDrXRlbSBhZmVjdGFkby4nLCclZCBpdGVtZXMgYWZlY3RhZG9zLicpLCdEb2JsZS1jbGljIHNvYnJlIGVsIHZhbG9yIHBhcmEgZWRpdGFybG8uJyxhcnJheSgnJWQgcmVnaXN0cm8gaW1wb3J0YWRvLicsJyVkIHJlZ2lzdHJvcyBpbXBvcnRhZG9zLicpLCdObyBlcyBwb3NpYmxlIHNlbGVjY2lvbmFyIGxhIHRhYmxhJywnUmVsYWNpb25lcycsJ1V0aWxpY2UgZWwgZW5sYWNlIGRlIG1vZGlmaWNhciBwYXJhIHJlYWxpemFyIGxvcyBjYW1iaW9zLicsJ1DDoWdpbmEnLCfDumx0aW1vJywncmVzdWx0YWRvIGNvbXBsZXRvJywnQ2xvbmFyJywnSW1wb3J0YXInLCcgJywnVGFibGFzIHZhY2lhZGFzICh0cnVuY2F0ZSkuJywnU2UgbW92aWVyb24gbGFzIHRhYmxhcy4nLCdUYWJsZXMgaGF2ZSBiZWVuIGNvcGllZC4nLCdUYWJsYXMgZWxpbWluYWRhcy4nLCdUYWJsYXMgeSB2aXN0YXMnLCdCdXNjYXIgZGF0b3MgZW4gdGFibGFzJywnTW90b3InLCdMb25naXR1ZCBkZSBkYXRvcycsJ0xvbmdpdHVkIGRlIMOtbmRpY2UnLCdFc3BhY2lvIGxpYnJlJywnUmVnaXN0cm9zJywnQW5hbGl6YXInLCdPcHRpbWl6YXInLCdDb21wcm9iYXInLCdSZXBhcmFyJywnVmFjaWFyJywnTW92ZXIgYSBvdHJhIGJhc2UgZGUgZGF0b3MnLCdNb3ZlcicsJ0NvcHknLCdTZWN1ZW5jaWFzJywnQWdlbmRhJywnQSBob3JhIGRldGVybWluYWRhJywnYWhvcmEnKTticmVhaztjYXNlImRlIjokWT1hcnJheSgnU2luZCBTaWUgc2ljaGVyID8nLCdIb2NobGFkZW4gdm9uIERhdGVpIGZlaGxnZXNjaGxhZ2VuLicsJ01heGltYWwgZXJsYXVidGUgRGF0ZWlncsO2c3NlIGlzdCAlc0IuJywnRGF0ZWkgZXhpc3RpZXJ0IG5pY2h0LicsJ2xlZXInLCdPcmlnaW5hbCcsJ0tlaW5lIFRhYmVsbGVuLicsJ1NwcmFjaGUnLCdCZW51dHp1bmcnLCdCaXR0ZSBlaW5lbiBkZXIgRGF0ZWl0eXBlbiAlcyBiZW51dHplbi4nLCdEYXRlaSBleGlzdGllcnQgc2Nob24uJywnQmVudXR6ZXItZGVmaW5pZXJ0ZSBUeXBlbicsJ1phaGxlbicsJ0RhdHVtIG9kZXIgWmVpdCcsJ1plaWNoZW5rZXR0ZW4nLCdCaW7DpHInLCdOZXR6d2VyaycsJ0dlb21ldHJpZScsJ0xpc3RlbicsJ0RhdGVuYmFuayBTeXN0ZW0nLCdTZXJ2ZXInLCdCZW51dHplcicsJ1Bhc3N3b3J0JywnTG9naW4nLCdQYXNzd29ydCBzcGVpY2hlcm4nLCdEYXRlbiBhdXN3w6RobGVuJywnU3RydWt0dXIgYW56ZWlnZW4nLCdWaWV3IMOkbmRlcm4nLCdUYWJlbGxlIMOkbmRlcm4nLCdOZXVlciBEYXRlbnNhdHonLCdMZXR6dGUgU2VpdGUnLCfDhG5kZXJuJyxhcnJheSgnJWQgQnl0ZScsJyVkIEJ5dGVzJyksJ0RhdGVuIHplaWdlbiB2b24nLCdGdW5rdGlvbmVuJywnQWdyZWdhdGlvbmVuJywnU3VjaGVuJywnYmVsaWViaWcnLCdPcmRuZW4nLCdhYnN0ZWlnZW5kJywnQmVncmVuenVuZycsJ1RleHRsw6RuZ2UnLCdBa3Rpb24nLCdTUUwtUXVlcnknLCdhbnplaWdlbicsJ0RhdGVpJywnRGF0ZW5iYW5rIMOkbmRlcm4nLCdTY2hlbWEgw6RuZGVybicsJ05ldWVzIFNjaGVtYScsJ0V4cG9ydCcsJ0FibWVsZGVuJywnRGF0ZW5iYW5rJywnU2NoZW1hJywnTmV1ZSBUYWJlbGxlJywnemVpZ2VuJywnbHRyJywnUmVzZW5kIFBPU1QgZGF0YT8nLCdDU1JGIFRva2VuIHVuZ8O8bHRpZy4gQml0dGUgZGllIEZvcm11bGFyZGF0ZW4gZXJuZXV0IGFic2NoaWNrZW4uJywnQWJtZWxkdW5nIGVyZm9sZ3JlaWNoLicsJ1NpdHp1bmdlbiBtw7xzc2VuIGFrdGl2aWVydCBzZWluLicsJ1NpdHp1bmdzZGF1ZXIgYWJnZWxhdWZlbiwgYml0dGUgZXJuZXV0IGFubWVsZGVuLicsJ1VuZ8O8bHRpZ2UgQW5tZWxkZS1JbmZvcm1hdGlvbmVuLicsJ0tlaW5lIEVyd2VpdGVydW5nZW4gaW5zdGFsbGllcnQnLCdLZWluZSBkZXIgdW50ZXJzdMO8dHp0ZW4gUEhQLUVyd2VpdGVydW5nZW4gKCVzKSBpc3Qgdm9yaGFuZGVuLicsJ1BPU1QgZGF0YSB6dSBncm9zcy4gUmVkdXppZXJlbiBTaWUgZGllIEdyw7Zzc2Ugb2RlciB2ZXJncsO2c3Nlcm4gU2llIGRlbiBXZXJ0ICVzIGluIGRlciBLb25maWd1cmF0aW9uLicsJ0RhdGVuYmFuaycsJ0RhdGVuYmFuayB1bmfDvGx0aWcuJywnRGF0ZW5iYW5rZW4gZW50ZmVybnQuJywnRGF0ZW5iYW5rIGF1c3fDpGhsZW4nLCdOZXVlIERhdGVuYmFuaycsJ1JlY2h0ZScsJ1Byb3plc3NsaXN0ZScsJ1ZhcmlhYmxlbicsJ1N0YXR1cycsJ1ZlcnNpb24gJXM6ICVzLCBtaXQgUEhQLUVyd2VpdGVydW5nICVzJywnQW5nZW1lbGRldCBhbHM6ICVzJywnQ29sbGF0aW9uJywnVGFiZWxsZW4nLCdFbnRmZXJuZW4nLCdBa3R1YWxpc2llcmVuJywnU2NoZW1hJywnU2NoZW1hIG5pY2h0IGfDvGx0aWcuJywnS2VpbmUgRGF0ZW4uJywnJS4zZiBzJywnRnJlbWRzY2hsw7xzc2VsJywnS29sbGF0aW9uJywnT04gREVMRVRFJywnU3BhbHRlbm5hbWUnLCdOYW1lIGRlcyBQYXJhbWV0ZXJzJywnVHlwJywnTMOkbmdlJywnT3B0aW9uZW4nLCdBdXRvLUlua3JlbWVudCcsJ1ZvcmdhYmV3ZXJ0ZSBmZXN0bGVnZW4nLCdLb21tZW50YXInLCdIaW56dWbDvGdlbicsJ05hY2ggb2JlbicsJ05hY2ggdW50ZW4nLCdFbnRmZXJuZW4nLCdWaWV3JywnVGFiZWxsZScsJ1NwYWx0ZScsJ0luZGl6ZXMnLCdJbmRpemVzIMOkbmRlcm4nLCdVcnNwcnVuZycsJ1ppZWwnLCdPTiBVUERBVEUnLCfDhG5kZXJuJywnRnJlbWRzY2hsw7xzc2VsIGhpbnp1ZsO8Z2VuJywnVHJpZ2dlcicsJ1RyaWdnZXIgaGluenVmw7xnZW4nLCdEYXRlbmJhbmtzY2hlbWEnLCdQZXJtYW5lbnQgbGluaycsJ0V4cG9ydGllcmVuJywnRXJnZWJuaXMnLCdGb3JtYXQnLCdQcm96ZWR1cmVuJywnRXJlaWduaXNzZScsJ0RhdGVuJywnw6RuZGVybicsJ05ldWVyIEJlbnV0emVyJyxhcnJheSgnQWJmcmFnZSBhdXNnZWbDvGhydCwgJWQgRGF0ZW5zYXR6IGJldHJvZmZlbi4nLCdBYmZyYWdlIGF1c2dlZsO8aHJ0LCAlZCBEYXRlbnPDpHR6ZSBiZXRyb2ZmZW4uJyksYXJyYXkoJyVkIERhdGVuc2F0eicsJyVkIERhdGVuc8OkdHplJyksJ0ZlaGxlciBpbiBkZXIgU1FMLUFiZnJhZ2UnLCdLZWluIEtvbW1hbmRvIHZvcmhhbmRlbi4nLGFycmF5KCdTUUwtUXVlcnkgZXJmb2xncmVpY2ggYXVzZ2Vmw7xocnQuJywnJWQgU1FMLVF1ZXJpZXMgZXJmb2xncmVpY2ggYXVzZ2Vmw7xocnQuJyksJ0RhdGVpIGltcG9ydGllcmVuJywnSW1wb3J0aWVyZW4gdm9uIERhdGVpZW4gYWJnZXNjaGFsdGV0LicsJ0F1c2bDvGhyZW4nLCdCZWkgRmVobGVyIGFuaGFsdGVuJywnTnVyIEZlaGxlciBhbnplaWdlbicsJ0F1ZiBTZXJ2ZXInLCdXZWJzZXJ2ZXIgRGF0ZWkgJXMnLCdEYXRlaSBhdXNmw7xocmVuJywnSGlzdG9yeScsJ0VudGxlZXJlbicsJ0VkaXQgYWxsJywnRGF0ZW5zYXR6IGdlbMO2c2NodC4nLCdEYXRlbnNhdHogZ2XDpG5kZXJ0LicsJ0RhdGVuc2F0eiVzIGhpbnp1Z2Vmw7xndC4nLCdIaW56dWbDvGdlbicsJ1NwZWljaGVybicsJ1NwZWljaGVybiB1bmQgd2VpdGVyIGJlYXJiZWl0ZW4nLCdTcGVpY2hlcm4gdW5kIG7DpGNoc3RlbiBoaW56dWbDvGdlbicsJ0VudGZlcm5lbicsJ1RhYmVsbGUgZW50ZmVybnQuJywnVGFiZWxsZSBnZcOkbmRlcnQuJywnVGFiZWxsZSBlcnN0ZWxsdC4nLCdOZXVlIFRhYmVsbGUgZXJzdGVsbGVuJywnRGllIG1heGltYWwgZXJsYXVidGUgQW56YWhsIGRlciBGZWxkZXIgaXN0IMO8YmVyc2Nocml0dGVuLiBCaXR0ZSAlcyB1bmQgJXMgZXJow7ZoZW4uJywnTmFtZSBkZXIgVGFiZWxsZScsJ01vdG9yJywnUGFydGl0aW9uaWVyZW4gdW0nLCdQYXJ0aXRpb25lbicsJ05hbWUgZGVyIFBhcnRpdGlvbicsJ1dlcnRlJywnSW5kaXplcyBnZcOkbmRlcnQuJywnSW5kZXgtVHlwJywnU3BhbHRlIChMw6RuZ2UpJywnRGF0ZW5iYW5rIGVudGZlcm50LicsJ0RhdGVuYmFuayB1bWJlbmFubnQuJywnRGF0ZW5iYW5rIGVyc3RlbGx0LicsJ0RhdGVuYmFuayBnZcOkbmRlcnQuJywnTmV1ZSBEYXRlbmJhbmsnLCdTY2hlbWEgd3VyZGUgZ2Vsw7ZzY2h0LicsJ05ldWVzIFNjaGVtYSBlcnN0ZWxsdC4nLCdTY2hlbWEgZ2XDpG5kZXJ0LicsJ0F1ZnJ1ZmVuJyxhcnJheSgnS29tbWFuZG8gU1FMIGF1c2dlZsO8aHJ0LCAlZCBEYXRlbnNhdHogYmV0cm9mZmVuLicsJ0tvbW1hbmRvIFNRTCBhdXNnZWbDvGhydCwgJWQgRGF0ZW5zw6R0emUgYmV0cm9mZmVuLicpLCdGcmVtZHNjaGzDvHNzZWwgZW50ZmVybnQuJywnRnJlbWRzY2hsw7xzc2VsIGdlw6RuZGVydC4nLCdGcmVtZHNjaGzDvHNzZWwgZXJzdGVsbHQuJywnU3BhbHRlbiBkZXMgVXJzcHJ1bmdzIHVuZCBkZXMgWmllbGVzIG3DvHNzZW4gdm9tIGdsZWljaGVuIERhdGVudHlwIHNlaW4sIGVzIG11c3MgdW50ZXIgZGVuIFppZWxzcGFsdGVuIGVpbiBJbmRleCBleGlzdGllcmVuIHVuZCBkaWUgcmVmZXJlbnppZXJ0ZW4gRGF0ZW4gbcO8c3NlbiBleGlzdGllcmVuLicsJ0ZyZW1kc2NobMO8c3NlbCcsJ1ppZWx0YWJlbGxlJywnw4RuZGVybicsJ1NwYWx0ZSBoaW56dWbDvGdlbicsJ1ZpZXcgZW50ZmVybnQuJywnVmlldyBnZcOkbmRlcnQuJywnVmlldyBlcnN0ZWxsdC4nLCdOZXVlIFZpZXcgZXJzdGVsbGVuJywnTmFtZScsJ0VyZWlnbmlzIGVudGZlcm50LicsJ0VyZWlnbmlzIGdlw6RuZGVydC4nLCdFcmVpZ25pcyBlcnN0ZWxsdC4nLCdFcmVpZ25pcyDDpG5kZXJuJywnRXJlaWduaXMgZXJzdGVsbGVuJywnU3RhcnQnLCdFbmRlJywnSmVkZScsJ05hY2ggZGVyIEF1c2bDvGhydW5nIGVyaGFsdGVuJywnUHJvemVkdXIgZW50ZmVybnQuJywnUHJvemVkdXIgZ2XDpG5kZXJ0LicsJ1Byb3plZHVyIGVyc3RlbGx0LicsJ0Z1bmt0aW9uIMOkbmRlcm4nLCdQcm96ZWR1ciDDpG5kZXJuJywnTmV1ZSBGdW5rdGlvbicsJ05ldWUgUHJvemVkdXInLCdUeXAgZGVzIFLDvGNrZ2FiZXdlcnRlcycsJ1NlcXVlbnogZ2Vsw7ZzY2h0LicsJ05ldWUgU2VxdWVueiBlcnN0ZWxsdC4nLCdTZXF1ZW56IGdlw6RuZGVydC4nLCdTZXF1ZW56IMOkbmRlcm4nLCdOZXVlIFNlcXVlbnonLCdUeXAgZ2Vsw7ZzY2h0LicsJ1R5cCBlcnN0ZWxsdC4nLCdUeXAgw6RuZGVybicsJ1R5cCBlcnN0ZWxsZW4nLCdUcmlnZ2VyIGVudGZlcm50LicsJ1RyaWdnZXIgZ2XDpG5kZXJ0LicsJ1RyaWdnZXIgZXJzdGVsbHQuJywnVHJpZ2dlciDDpG5kZXJuJywnVHJpZ2dlciBoaW56dWbDvGdlbicsJ1plaXRwdW5rdCcsJ0VyZWlnbmlzJywnQmVudXR6ZXIgZW50ZmVybnQuJywnQmVudXR6ZXIgZ2XDpG5kZXJ0LicsJ0JlbnV0emVyIGVyc3RlbGx0LicsJ0hhc2hlZCcsJ1J1dGluZScsJ0VybGF1YmVuJywnVmVyYmlldGVuJyxhcnJheSgnJWQgUHJvemVzcyBnZXN0b3BwdC4nLCclZCBQcm96ZXNzZSBnZXN0b3BwdC4nKSwnJWQgaW5zZ2VzYW10JywnQW5oYWx0ZW4nLCclZCBBcnRpa2VsIGJldHJvZmZlbi4nLCdEb3BwZWxrbGljayB6dW0gQmVhcmJlaXRlbiBkZXMgV2VydGVzLicsYXJyYXkoJyVkIERhdGVuc2F0eiBpbXBvcnRpZXJ0LicsJyVkIERhdGVuc8OkdHplIHd1cmRlbiBpbXBvcnRpZXJ0LicpLCdBdXN3YWhsIGRlciBUYWJlbGxlIGZlaGxnZXNjaGxhZ2VuJywnUmVsYXRpb25lbicsJ0JlbnV0emVuIFNpZSBkZW4gTGluayB6dW0gZWRpdGllcmVuIGRpZXNlcyBXZXJ0ZXMuJywnU2VpdGUnLCdsZXR6dGUnLCdHZXNhbXRlcmdlYm5pcycsJ0tsb25lbicsJ0ltcG9ydGllcmVuJywnICcsJ1RhYmVsbGVuIHNpbmQgZW50bGVlcnQgd29yZGVuICh0cnVuY2F0ZSkuJywnVGFiZWxsZW4gdmVyc2Nob2Jlbi4nLCdUYWJsZXMgaGF2ZSBiZWVuIGNvcGllZC4nLCdUYWJlbGxlbiB3dXJkZW4gZW50ZmVybnQgKGRyb3ApLicsJ1RhYmVsbGVuIHVuZCBWaWV3cycsJ1N1Y2hlIGluIFRhYmVsbGVuJywnTW90b3InLCdEYXRlbmdyw7Zzc2UnLCdJbmRleGdyw7Zzc2UnLCdGcmVpZXIgQmVyZWljaCcsJ0RhdGVuc8OkdHplJywnQW5hbHlzaWVyZW4nLCdPcHRpbWllcmVuJywnUHLDvGZlbicsJ1JlcGFyaWVyZW4nLCdFbnRsZWVyZW4gKHRydW5jYXRlKScsJ0luIGFuZGVyZSBEYXRlbmJhbmsgdmVyc2NoaWViZW4nLCdWZXJzY2hpZWJlbicsJ0NvcHknLCdTZXF1ZW56JywnWmVpdHBsYW4nLCdadXIgYW5nZWdlYmVuZW4gWmVpdCcsJ2pldHp0Jyk7YnJlYWs7Y2FzZSJmciI6JFk9YXJyYXkoJ8OKdGVzLXZvdXMgY2VydGFpbiA/JywnSW1wb3NzaWJsZSBkXCdpbXBvcnRlciBsZSBmaWNoaWVyLicsJ0xhIHRhaWxsZSBtYXhpbWFsZSBkZXMgZmljaGllcnMgZXN0IGRlICVzQi4nLCdMZSBmaWNoaWVyIGVzdCBpbnRyb3V2YWJsZS4nLCd2aWRlJywnb3JpZ2luYWwnLCdBdWN1bmUgdGFibGUuJywnTGFuZ3VlJywnVXRpbGlzZXInLCdWZXVpbGxleiB1dGlsaXNlciBsXCd1bmUgZGVzIGV4dGVuc2lvbnMgJXMuJywnTGUgZmljaGllciBleGlzdGUuJywnVHlwZXMgdXRpbGlzYXRldXInLCdOb21icmVzJywnRGF0ZSBldCBoZXVyZScsJ0NoYcOubmVzJywnQmluYWlyZXMnLCdSw6lzZWF1JywnR8Opb23DqXRyaWUnLCdMaXN0ZXMnLCdTeXN0w6htZScsJ1NlcnZldXInLCdVdGlsaXNhdGV1cicsJ01vdCBkZSBwYXNzZScsJ0F1dGhlbnRpZmljYXRpb24nLCdBdXRoZW50aWZpY2F0aW9uIHBlcm1hbmVudGUnLCdBZmZpY2hlciBsZXMgZG9ubsOpZXMnLCdBZmZpY2hlciBsYSBzdHJ1Y3R1cmUnLCdNb2RpZmllciB1bmUgdnVlJywnTW9kaWZpZXIgbGEgdGFibGUnLCdOb3V2ZWwgw6lsw6ltZW50JywnRGVybmnDqHJlIHBhZ2UnLCdNb2RpZmllcicsYXJyYXkoJyVkIG9jdGV0JywnJWQgb2N0ZXRzJyksJ1NlbGVjdCcsJ0ZvbmN0aW9ucycsJ0FncsOpZ2F0aW9uJywnUmVjaGVyY2hlcicsJ25cJ2ltcG9ydGUgb8O5JywnVHJpZXInLCdkw6ljcm9pc3NhbnQnLCdMaW1pdGUnLCdMb25ndWV1ciBkdSB0ZXh0ZScsJ0FjdGlvbicsJ1JlcXXDqnRlIFNRTCcsJ291dnJpcicsJ3NhdXZlZ2FyZGVyJywnTW9kaWZpZXIgbGEgYmFzZSBkZSBkb25uw6llcycsJ01vZGlmaWVyIGxlIHNjaMOpbWEnLCdDcsOpZXIgdW4gc2Now6ltYScsJ0V4cG9ydGVyJywnRMOpY29ubmV4aW9uJywnYmFzZSBkZSBkb25uw6llcycsJ3NjaMOpbWEnLCdDcsOpZXIgdW5lIG5vdXZlbGxlIHRhYmxlJywnc2VsZWN0JywnbHRyJywnUmVzZW5kIFBPU1QgZGF0YT8nLCdUb2tlbiBDU1JGIGludmFsaWRlLiBWZXVpbGxleiByw6llbnZveWVyIGxlIGZvcm11bGFpcmUuJywnQXUgcmV2b2lyICEnLCdWZXVpbGxleiBhY3RpdmVyIGxlcyBzZXNzaW9ucy4nLCdTZXNzaW9uIGV4cGlyw6llLCB2ZXVpbGxleiB2b3VzIGF1dGhlbnRpZmllciDDoCBub3V2ZWF1LicsJ0F1dGhlbnRpZmljYXRpb24gw6ljaG91w6llLicsJ0V4dGVuc2lvbiBpbnRyb3V2YWJsZScsJ0F1Y3VuZSBkZXMgZXh0ZW5zaW9ucyBQSFAgc3VwcG9ydMOpZXMgKCVzKSBuXCdlc3QgZGlzcG9uaWJsZS4nLCdEb25uw6llcyBQT1NUIHRyb3AgZ3JhbmRlcy4gUsOpZHVpc2V6IGxhIHRhaWxsZSBkZXMgZG9ubsOpZXMgb3UgYXVnbWVudGV6IGxhIHZhbGV1ciBkZSAlcyBkYW5zIGxhIGNvbmZpZ3VyYXRpb24gZGUgUEhQLicsJ0Jhc2UgZGUgZG9ubsOpZXMnLCdCYXNlIGRlIGRvbm7DqWVzIGludmFsaWRlLicsJ0xlcyBiYXNlcyBkZSBkb25uw6llcyBvbnQgw6l0w6kgc3VwcHJpbcOpZXMuJywnU8OpbGVjdGlvbm5lciBsYSBiYXNlIGRlIGRvbm7DqWVzJywnQ3LDqWVyIHVuZSBiYXNlIGRlIGRvbm7DqWVzJywnUHJpdmlsw6hnZXMnLCdMaXN0ZSBkZXMgcHJvY2Vzc3VzJywnVmFyaWFibGVzJywnU3RhdHV0JywnVmVyc2lvbiBkZSAlcyA6ICVzIHZpYSBsXCdleHRlbnNpb24gUEhQICVzJywnQXV0aGVudGlmacOpIGVuIHRhbnQgcXVlIDogJXMnLCdJbnRlcmNsYXNzZW1lbnQnLCdUYWJsZXMnLCdTdXBwcmltZXInLCdSYWZyYcOuY2hpcicsJ1NjaMOpbWEnLCdTY2jDqW1hIGludmFsaWRlLicsJ0F1Y3VuIHLDqXN1bHRhdC4nLCclLjNmIHMnLCdDbMOpcyDDqXRyYW5nw6hyZXMnLCdpbnRlcmNsYXNzZW1lbnQnLCdPTiBERUxFVEUnLCdOb20gZGUgbGEgY29sb25uZScsJ05vbSBkdSBwYXJhbcOodHJlJywnVHlwZScsJ0xvbmd1ZXVyJywnT3B0aW9ucycsJ0F1dG8gaW5jcmVtZW50JywnVmFsZXVycyBwYXIgZMOpZmF1dCcsJ0NvbW1lbnRhaXJlJywnQWpvdXRlciBsZSBwcm9jaGFpbicsJ0TDqXBsYWNlciB2ZXJzIGxlIGhhdXQnLCdEw6lwbGFjZXIgdmVycyBsZSBiYXMnLCdFZmZhY2VyJywnVnVlJywnVGFibGUnLCdDb2xvbm5lJywnSW5kZXgnLCdNb2RpZmllciBsZXMgaW5kZXgnLCdTb3VyY2UnLCdDaWJsZScsJ09OIFVQREFURScsJ01vZGlmaWVyJywnQWpvdXRlciB1bmUgY2zDqSDDqXRyYW5nw6hyZScsJ1RyaWdnZXJzJywnQWpvdXRlciB1biB0cmlnZ2VyJywnU2Now6ltYSBkZSBsYSBiYXNlIGRlIGRvbm7DqWVzJywnUGVybWFuZW50IGxpbmsnLCdFeHBvcnRlcicsJ1NvcnRpZScsJ0Zvcm1hdCcsJ1JvdXRpbmVzJywnw4l2w6huZW1lbnRzJywnRG9ubsOpZXMnLCdtb2RpZmllcicsJ0Nyw6llciB1biB1dGlsaXNhdGV1cicsYXJyYXkoJ1JlcXXDqnRlIGV4w6ljdXTDqWUgYXZlYyBzdWNjw6hzLCAlZCBsaWduZSBtb2RpZmnDqWUuJywnUmVxdcOqdGUgZXjDqWN1dMOpZSBhdmVjIHN1Y2PDqHMsICVkIGxpZ25lcyBtb2RpZmnDqWVzLicpLGFycmF5KCclZCBsaWduZScsJyVkIGxpZ25lcycpLCdFcnJldXIgZGFucyBsYSByZXF1w6p0ZScsJ0F1Y3VuZSBjb21tYW5kZSDDoCBleMOpY3V0ZXIuJyxhcnJheSgnJWQgcmVxdcOqdGUgZXjDqWN1dMOpZSBhdmVjIHN1Y2PDqHMuJywnJWQgcmVxdcOqdGVzIGV4w6ljdXTDqWVzIGF2ZWMgc3VjY8Oocy4nKSwnSW1wb3J0ZXIgdW4gZmljaGllcicsJ0xcJ2ltcG9ydGF0aW9uIGRlIGZpY2hpZXIgZXN0IGTDqXNhY3RpdsOpZS4nLCdFeMOpY3V0ZXInLCdBcnLDqnRlciBlbiBjYXMgZFwnZXJyZXVyJywnTW9udHJlciBzZXVsZW1lbnQgbGVzIGVycmV1cnMnLCdEZXB1aXMgbGUgc2VydmV1cicsJ0ZpY2hpZXIgJXMgZHUgc2VydmV1ciBXZWInLCdFeMOpY3V0ZXIgbGUgZmljaGllcicsJ0hpc3RvcmlxdWUnLCdFZmZhY2VyJywnRWRpdCBhbGwnLCdMXCfDqWzDqW1lbnQgYSDDqXTDqSBzdXBwcmltw6kuJywnTFwnw6lsw6ltZW50IGEgw6l0w6kgbW9kaWZpw6kuJywnTFwnw6lsw6ltZW50JXMgYSDDqXTDqSBpbnPDqXLDqS4nLCdJbnPDqXJlcicsJ1NhdXZlZ2FyZGVyJywnU2F1dmVnYXJkZXIgZXQgY29udGludWVyIGxcJ8OpZGl0aW9uJywnU2F1dmVnYXJkZXIgZXQgaW5zw6lyZXIgbGUgcHJvY2hhaW4nLCdFZmZhY2VyJywnTGEgdGFibGUgYSDDqXTDqSBlZmZhY8OpZS4nLCdMYSB0YWJsZSBhIMOpdMOpIG1vZGlmacOpZS4nLCdMYSB0YWJsZSBhIMOpdMOpIGNyw6nDqWUuJywnQ3LDqWVyIHVuZSB0YWJsZScsJ0xlIG5vbWJyZSBtYXhpbXVtIGRlIGNoYW1wcyBlc3QgZMOpcGFzc8OpLiBWZXVpbGxleiBhdWdtZW50ZXIgJXMgZXQgJXMuJywnTm9tIGRlIGxhIHRhYmxlJywnbW90ZXVyJywnUGFydGl0aW9ubmVyIHBhcicsJ1BhcnRpdGlvbnMnLCdOb20gZGUgbGEgcGFydGl0aW9uJywnVmFsZXVycycsJ0luZGV4IG1vZGlmacOpcy4nLCdUeXBlIGRcJ2luZGV4JywnQ29sb25uZSAobG9uZ3VldXIpJywnTGEgYmFzZSBkZSBkb25uw6llcyBhIMOpdMOpIHN1cHByaW3DqWUuJywnTGEgYmFzZSBkZSBkb25uw6llcyBhIMOpdMOpIHJlbm9tbcOpZS4nLCdMYSBiYXNlIGRlIGRvbm7DqWVzIGEgw6l0w6kgY3LDqcOpZS4nLCdMYSBiYXNlIGRlIGRvbm7DqWVzIGEgw6l0w6kgbW9kaWZpw6llLicsJ0Nyw6llciB1bmUgYmFzZSBkZSBkb25uw6llcycsJ0xlIHNjaMOpbWEgYSDDqXTDqSBzdXBwcmltw6kuJywnTGUgc2Now6ltYSBhIMOpdMOpIGNyw6nDqS4nLCdMZSBzY2jDqW1hIGEgw6l0w6kgbW9kaWZpw6kuJywnQXBwZWxlcicsYXJyYXkoJ0xhIHJvdXRpbmUgYSDDqXTDqSBleMOpY3V0w6llLCAlZCBsaWduZSBtb2RpZmnDqWUuJywnTGEgcm91dGluZSBhIMOpdMOpIGV4w6ljdXTDqWUsICVkIGxpZ25lcyBtb2RpZmnDqWVzLicpLCdMYSBjbMOpIMOpdHJhbmfDqHJlIGEgw6l0w6kgZWZmYWPDqWUuJywnTGEgY2zDqSDDqXRyYW5nw6hyZSBhIMOpdMOpIG1vZGlmacOpZS4nLCdMYSBjbMOpIMOpdHJhbmfDqHJlIGEgw6l0w6kgY3LDqcOpZS4nLCdMZXMgY29sb25uZXMgZGUgc291cmNlIGV0IGRlIGRlc3RpbmF0aW9uIGRvaXZlbnQgw6p0cmUgZHUgbcOqbWUgdHlwZSwgaWwgZG9pdCB5IGF2b2lyIHVuIGluZGV4IHN1ciBsZXMgY29sb25uZXMgZGUgZGVzdGluYXRpb24gZXQgbGVzIGRvbm7DqWVzIHLDqWbDqXJlbmPDqWVzIGRvaXZlbnQgZXhpc3Rlci4nLCdDbMOpIMOpdHJhbmfDqHJlJywnVGFibGUgdmlzw6llJywnTW9kaWZpZXInLCdBam91dGVyIHVuZSBjb2xvbm5lJywnTGEgdnVlIGEgw6l0w6kgZWZmYWPDqWUuJywnTGEgdnVlIGEgw6l0w6kgbW9kaWZpw6llLicsJ0xhIHZ1ZSBhIMOpdMOpIGNyw6nDqWUuJywnQ3LDqWVyIHVuZSB2dWUnLCdOb20nLCdMXCfDqXbDqG5lbWVudCBhIMOpdMOpIHN1cHByaW3DqS4nLCdMXCfDqXbDqG5lbWVudCBhIMOpdMOpIG1vZGlmacOpLicsJ0xcJ8OpdsOobmVtZW50IGEgw6l0w6kgY3LDqcOpLicsJ01vZGlmaWVyIHVuIMOpdsOobmVtZW50JywnQ3LDqWVyIHVuIMOpdsOobmVtZW50JywnRMOpbWFycmVyJywnVGVybWluZXInLCdDaGFxdWUnLCdDb25zZXJ2ZXIgcXVhbmQgY29tcGzDqXTDqScsJ0xhIHJvdXRpbmUgYSDDqXTDqSBzdXBwcmltw6llLicsJ0xhIHJvdXRpbmUgYSDDqXTDqSBtb2RpZmnDqWUuJywnTGEgcm91dGluZSBhIMOpdMOpIGNyw6nDqWUuJywnTW9kaWZpZXIgbGEgZm9uY3Rpb24nLCdNb2RpZmllciBsYSBwcm9jw6lkdXJlJywnQ3LDqWVyIHVuZSBmb25jdGlvbicsJ0Nyw6llciB1bmUgcHJvY8OpZHVyZScsJ1R5cGUgZGUgcmV0b3VyJywnTGEgc8OpcXVlbmNlIGEgw6l0w6kgc3VwcHJpbcOpZS4nLCdMYSBzw6lxdWVuY2UgYSDDqXTDqSBjcsOpw6llLicsJ0xhIHPDqXF1ZW5jZSBhIMOpdMOpIG1vZGlmacOpZS4nLCdNb2RpZmllciBsYSBzw6lxdWVuY2UnLCdDcsOpZXIgdW5lIHPDqXF1ZW5jZScsJ0xlIHR5cGUgYSDDqXTDqSBzdXBwcmltw6kuJywnTGUgdHlwZSBhIMOpdMOpIGNyw6nDqS4nLCdNb2RpZmllciBsZSB0eXBlJywnQ3LDqWVyIHVuIHR5cGUnLCdMZSB0cmlnZ2VyIGEgw6l0w6kgc3VwcHJpbcOpLicsJ0xlIHRyaWdnZXIgYSDDqXTDqSBtb2RpZmnDqS4nLCdMZSB0cmlnZ2VyIGEgw6l0w6kgY3LDqcOpLicsJ01vZGlmaWVyIHVuIHRyaWdnZXInLCdBam91dGVyIHVuIHRyaWdnZXInLCdUZW1wcycsJ8OJdsOobmVtZW50JywnTFwndXRpbGlzYXRldXIgYSDDqXTDqSBlZmZhY8OpLicsJ0xcJ3V0aWxpc2F0ZXVyIGEgw6l0w6kgbW9kaWZpw6kuJywnTFwndXRpbGlzYXRldXIgYSDDqXTDqSBjcsOpw6kuJywnSGFjaMOpJywnUm91dGluZScsJ0dyYW50JywnUmV2b2tlJyxhcnJheSgnJWQgcHJvY2Vzc3VzIGEgw6l0w6kgYXJyw6p0w6kuJywnJWQgcHJvY2Vzc3VzIG9udCDDqXTDqSBhcnLDqnTDqXMuJyksJyVkIGF1IHRvdGFsJywnQXJyw6p0ZXInLGFycmF5KCclZCDDqWzDqW1lbnQgYSDDqXTDqSBtb2RpZmnDqS4nLCclZCDDqWzDqW1lbnRzIG9udCDDqXTDqSBtb2RpZmnDqXMuJyksJ0RvdWJsZS1jbGlxdWV6IHN1ciB1bmUgdmFsZXVyIHBvdXIgbGEgbW9kaWZpZXIuJyxhcnJheSgnJWQgbGlnbmUgYSDDqXTDqSBpbXBvcnTDqWUuJywnJWQgbGlnbmVzIG9udCDDqXTDqSBpbXBvcnTDqWVzLicpLCdJbXBvc3NpYmxlIGRlIHPDqWxlY3Rpb25uZXIgbGEgdGFibGUnLCdSZWxhdGlvbnMnLCdVdGlsaXNleiBsZSBsaWVuICJtb2RpZmllciIgcG91ciBtb2RpZmllciBjZXR0ZSB2YWxldXIuJywnUGFnZScsJ2Rlcm5pw6hyZScsJ3LDqXN1bHRhdCBlbnRpZXInLCdDbG9uZXInLCdJbXBvcnRlcicsJywnLCdMZXMgdGFibGVzIG9udCDDqXTDqSB0cm9ucXXDqWVzLicsJ0xlcyB0YWJsZXMgb250IMOpdMOpIGTDqXBsYWPDqWVzLicsJ1RhYmxlcyBoYXZlIGJlZW4gY29waWVkLicsJ0xlcyB0YWJsZXMgb250IMOpdMOpIGVmZmFjw6llcy4nLCdUYWJsZXMgZXQgdnVlcycsJ1JlY2hlcmNoZXIgZGFucyBsZXMgdGFibGVzJywnTW90ZXVyJywnTG9uZ3VldXIgZGVzIGRvbm7DqWVzJywnTG9uZ3VldXIgZGUgbFwnaW5kZXgnLCdFc3BhY2UgaW51dGlsaXPDqScsJ0xpZ25lcycsJ0FuYWx5c2VyJywnT3B0aW1pc2VyJywnVsOpcmlmaWVyJywnUsOpcGFyZXInLCdUcm9ucXVlcicsJ0TDqXBsYWNlciB2ZXJzIHVuZSBhdXRyZSBiYXNlIGRlIGRvbm7DqWVzJywnRMOpcGxhY2VyJywnQ29weScsJ1PDqXF1ZW5jZXMnLCdIb3JhaXJlJywnw4AgdW4gbW9tZW50IHByw6ljaXMnLCdtYWludGVuYW50Jyk7YnJlYWs7Y2FzZSJpdCI6JFk9YXJyYXkoJ1NpY3Vybz8nLCdDYXJpY2FtZW50byBkZWwgZmlsZSBub24gcml1c2NpdG8uJywnTGEgZGltZW5zaW9uZSBtYXNzaW1hIGRlbCBmaWxlIMOoICVzQi4nLCdJbCBmaWxlIG5vbiBlc2lzdGUuJywndnVvdG8nLCdvcmlnaW5hbGUnLCdObyB0YWJlbGxlLicsJ0xpbmd1YScsJ1VzYScsJ1VzYSB1bmEgZGVsbGUgZXN0ZW5zaW9uaSAlcy4nLCdJbCBmaWxlIGVzaXN0ZSBnacOgLicsJ1RpcGkgZGVmaW5pdGkgZGFsbFwndXRlbnRlJywnTnVtZXJpJywnRGF0YSBlIG9yYScsJ1N0cmluZ2hlJywnQmluYXJpJywnUmV0ZScsJ0dlb21ldHJpYScsJ0xpc3RlJywnU2lzdGVtYScsJ1NlcnZlcicsJ1V0ZW50ZScsJ1Bhc3N3b3JkJywnQXV0ZW50aWNhemlvbmUnLCdMb2dpbiBwZXJtYW5lbnRlJywnVmlzdWFsaXp6YSBkYXRpJywnVmlzdWFsaXp6YSBzdHJ1dHR1cmEnLCdNb2RpZmljYSB2aXN0YScsJ01vZGlmaWNhIHRhYmVsbGEnLCdOdW92byBlbGVtZW50bycsJ1VsdGltYSBwYWdpbmEnLCdNb2RpZmljYScsYXJyYXkoJyVkIGJ5dGUnLCclZCBieXRlcycpLCdTZWxlemlvbmEnLCdGdW56aW9uaScsJ0FnZ3JlZ2F6aW9uZScsJ0NlcmNhJywnb3Z1bnF1ZScsJ09yZGluYScsJ2Rpc2NlbmRlbnRlJywnTGltaXRlJywnTHVuZ2hlenphIHRlc3RvJywnQXppb25lJywnQ29tYW5kbyBTUUwnLCdhcHJpJywnc2FsdmEnLCdNb2RpZmljYSBkYXRhYmFzZScsJ01vZGlmaWNhIHNjaGVtYScsJ0NyZWEgc2NoZW1hJywnRHVtcCcsJ0VzY2knLCdkYXRhYmFzZScsJ3NjaGVtYScsJ0NyZWEgbnVvdmEgdGFiZWxsYScsJ3NlbGV6aW9uYScsJ2x0cicsJ1Jlc2VuZCBQT1NUIGRhdGE/JywnVG9rZW4gQ1NSRiBub24gdmFsaWRvLiBSZWludmlhIGxhIHJpY2hpZXN0YS4nLCdVc2NpdGEgZWZmZXR0dWF0YSBjb24gc3VjY2Vzc28uJywnTGUgc2Vzc2lvbmkgZGV2b25vIGVzc2VyZSBhYmlsaXRhdGUuJywnU2Vzc2lvbmUgc2NhZHV0YSwgYXV0ZW50aWNhcnNpIGRpIG51b3ZvLicsJ0NyZWRlbnppYWxpIG5vbiB2YWxpZGUuJywnRXN0ZW5zaW9uaSBub24gcHJlc2VudGknLCdOZXNzdW5hIGRlbGxlIGVzdGVuc2lvbmkgUEhQIHN1cHBvcnRhdGUgKCVzKSBkaXNwb25pYmlsZS4nLCdUcm9wcGkgZGF0aSB2aWEgUE9TVC4gUmlkdXJyZSBpIGRhdGkgbyBhdW1lbnRhcmUgbGEgZGlyZXR0aXZhIGRpIGNvbmZpZ3VyYXppb25lICVzLicsJ0RhdGFiYXNlJywnRGF0YWJhc2Ugbm9uIHZhbGlkby4nLCdEYXRhYmFzZSBlbGltaW5hdGkuJywnU2VsZXppb25hIGRhdGFiYXNlJywnQ3JlYSBudW92byBkYXRhYmFzZScsJ1ByaXZpbGVnaScsJ0VsZW5jbyBwcm9jZXNzaScsJ1ZhcmlhYmlsaScsJ1N0YXRvJywnVmVyc2lvbmUgJXM6ICVzIHZpYSBlc3RlbnNpb25lIFBIUCAlcycsJ0F1dGVudGljYXRvIGNvbWU6ICVzJywnQ29sbGF6aW9uZScsJ1RhYmVsbGUnLCdFbGltaW5hJywnQWdnaW9ybmEnLCdTY2hlbWEnLCdTY2hlbWEgbm9uIHZhbGlkby4nLCdOZXNzdW5hIHJpZ2EuJywnJS4zZiBzJywnQ2hpYXZpIGVzdGVybmUnLCdjb2xsYXppb25lJywnT04gREVMRVRFJywnTm9tZSBjb2xvbm5hJywnTm9tZSBwYXJhbWV0cm8nLCdUaXBvJywnTHVuZ2hlenphJywnT3B6aW9uaScsJ0F1dG8gaW5jcmVtZW50bycsJ1ZhbG9yaSBwcmVkZWZpbml0aScsJ0NvbW1lbnRvJywnQWdnaXVuZ2kgYWx0cm8nLCdTcG9zdGEgc3UnLCdTcG9zdGEgZ2l1JywnUmltdW92aScsJ1ZlZGknLCdUYWJlbGxhJywnQ29sb25uYScsJ0luZGljaScsJ01vZGlmaWNhIGluZGljaScsJ1NvcmdlbnRlJywnT2JpZXR0aXZvJywnT04gVVBEQVRFJywnTW9kaWZpY2EnLCdBZ2dpdW5naSBmb3JlaWduIGtleScsJ1RyaWdnZXInLCdBZ2dpdW5naSB0cmlnZ2VyJywnU2NoZW1hIGRhdGFiYXNlJywnUGVybWFuZW50IGxpbmsnLCdFc3BvcnRhJywnUmlzdWx0YXRvJywnRm9ybWF0bycsJ1JvdXRpbmUnLCdFdmVudGknLCdEYXRpJywnbW9kaWZpY2EnLCdDcmVhIHV0ZW50ZScsYXJyYXkoJ0VzZWN1emlvbmUgZGVsbGEgcXVlcnkgT0ssICVkIHJpZ2EgaW50ZXJlc3NhdGEuJywnRXNlY3V6aW9uZSBkZWxsYSBxdWVyeSBPSywgJWQgcmlnaGUgaW50ZXJlc3NhdGUuJyksYXJyYXkoJyVkIHJpZ2EnLCclZCByaWdoZScpLCdFcnJvcmUgbmVsbGEgcXVlcnknLCdOZXNzdW4gY29tbWFuZG8gZGEgZXNlZ3VpcmUuJyxhcnJheSgnJWQgcXVlcnkgZXNlZ3VpdGEgY29uIHN1Y2Nlc3NvLicsJyVkIHF1ZXJ5IGVzZWd1aXRlIGNvbiBzdWNjZXNzby4nKSwnQ2FyaWNhbWVudG8gZmlsZScsJ0NhcmljYW1lbnRvIGZpbGUgZGlzYWJpbGl0YXRvLicsJ0VzZWd1aScsJ1N0b3Agc3UgZXJyb3JlJywnTW9zdHJhIHNvbG8gZ2xpIGVycm9yaScsJ0RhbCBzZXJ2ZXInLCdXZWJzZXJ2ZXIgZmlsZSAlcycsJ0VzZWd1aSBmaWxlJywnU3RvcmljbycsJ1B1bGlzY2knLCdFZGl0IGFsbCcsJ0VsZW1lbnRvIGVsaW1pbmF0by4nLCdFbGVtZW50byBhZ2dpb3JuYXRvLicsJ0VsZW1lbnRvJXMgaW5zZXJpdG8uJywnSW5zZXJpc2NpJywnU2FsdmEnLCdTYWx2YSBlIGNvbnRpbnVhJywnU2FsdmEgZSBpbnNlcmlzY2kgdW4gYWx0cm8nLCdFbGltaW5hJywnVGFiZWxsYSBlbGltaW5hdGEuJywnVGFiZWxsYSBtb2RpZmljYXRhLicsJ1RhYmVsbGEgY3JlYXRhLicsJ0NyZWEgdGFiZWxsYScsJ1Ryb3BwaSBjYW1waS4gUGVyIGZhdm9yZSBhdW1lbnRhcmUgJXMgZSAlcy4nLCdOb21lIHRhYmVsbGEnLCdtb3RvcmUnLCdQYXJ0aXppb25hIHBlcicsJ1BhcnRpemlvbmknLCdOb21lIHBhcnRpemlvbmUnLCdWYWxvcmknLCdJbmRpY2kgbW9kaWZpY2F0aS4nLCdUaXBvIGluZGljZScsJ0NvbG9ubmEgKGx1bmdoZXp6YSknLCdEYXRhYmFzZSBlbGltaW5hdG8uJywnRGF0YWJhc2Ugcmlub21pbmF0by4nLCdEYXRhYmFzZSBjcmVhdG8uJywnRGF0YWJhc2UgbW9kaWZpY2F0by4nLCdDcmVhIGRhdGFiYXNlJywnU2NoZW1hIGVsaW1pbmF0by4nLCdTY2hlbWEgY3JlYXRvLicsJ1NjaGVtYSBtb2RpZmljYXRvLicsJ0NoaWFtYScsYXJyYXkoJ1JvdXRpbmUgY2hpYW1hdGEsICVkIHJpZ2EgaW50ZXJlc3NhdGEuJywnUm91dGluZSBjaGlhbWF0YSwgJWQgcmlnaGUgaW50ZXJlc3NhdGUuJyksJ0ZvcmVpZ24ga2V5IGVsaW1pbmF0YS4nLCdGb3JlaWduIGtleSBtb2RpZmljYXRhLicsJ0ZvcmVpZ24ga2V5IGNyZWF0YS4nLCdMZSBjb2xvbm5lIHNvcmdlbnRlIGUgZGVzdGluYXppb25lIGRldm9ubyBlc3NlcmUgZGVsbG8gc3Rlc3NvIHRpcG8gZSBjaSBkZXZlIGVzc2VyZSB1biBpbmRpY2Ugc3VsbGEgY29sb25uYSBkaSBkZXN0aW5hemlvbmUgZSBzdWkgZGF0aSByZWZlcmVuemlhdGkuJywnRm9yZWlnbiBrZXknLCdUYWJlbGxhIG9iaWV0dGl2bycsJ0NhbWJpYScsJ0FnZ2l1bmdpIGNvbG9ubmEnLCdWaXN0YSBlbGltaW5hdGEuJywnVmlzdGEgbW9kaWZpY2F0YS4nLCdWaXN0YSBjcmVhdGEuJywnQ3JlYSB2aXN0YScsJ05vbWUnLCdFdmVudG8gZWxpbWluYXRvLicsJ0V2ZW50byBtb2RpZmljYXRvLicsJ0V2ZW50byBjcmVhdG8uJywnTW9kaWZpY2EgZXZlbnRvJywnQ3JlYSBldmVudG8nLCdJbml6aW8nLCdGaW5lJywnT2duaScsJ0FsIHRlcm1pbmUgcHJlc2VydmFyZScsJ1JvdXRpbmUgZWxpbWluYXRhLicsJ1JvdXRpbmUgbW9kaWZpY2F0YS4nLCdSb3V0aW5lIGNyZWF0YS4nLCdNb2RpZmljYSBmdW56aW9uZScsJ01vZGlmaWNhIHByb2NlZHVyYScsJ0NyZWEgZnVuemlvbmUnLCdDcmVhIHByb2NlZHVyYScsJ1JldHVybiB0eXBlJywnU2VxdWVuemEgZWxpbWluYXRhLicsJ1NlcXVlbnphIGNyZWF0YS4nLCdTZXF1ZW56YSBtb2RpZmljYXRhLicsJ01vZGlmaWNhIHNlcXVlbnphJywnQ3JlYSBzZXF1ZW56YScsJ1RpcG8gZGVmaW5pdG8gZGFsbFwndXRlbnRlIGVsaW1pbmF0by4nLCdUaXBvIGRlZmluaXRvIGRhbGxcJ3V0ZW50ZSBjcmVhdG8uJywnTW9kaWZpY2EgdGlwbyBkZWZpbml0byBkYWxsXCd1dGVudGUnLCdDcmVhIHRpcG8gZGVmaW5pdG8gZGFsbFwndXRlbnRlJywnVHJpZ2dlciBlbGltaW5hdG8uJywnVHJpZ2dlciBtb2RpZmljYXRvLicsJ1RyaWdnZXIgY3JlYXRvLicsJ01vZGlmaWNhIHRyaWdnZXInLCdDcmVhIHRyaWdnZXInLCdPcmFyaW8nLCdFdmVudG8nLCdVdGVudGUgZWxpbWluYXRvLicsJ1V0ZW50ZSBtb2RpZmljYXRvLicsJ1V0ZW50ZSBjcmVhdG8uJywnSGFzaGVkJywnUm91dGluZScsJ1Blcm1ldHRpJywnUmV2b2NhJyxhcnJheSgnJWQgcHJvY2Vzc28gaW50ZXJyb3R0by4nLCclZCBwcm9jZXNzaSBpbnRlcnJvdHRpLicpLCclZCBpbiB0b3RhbGUnLCdJbnRlcnJvbXBpJyxhcnJheSgnSWwgcmlzdWx0YXRvIGNvbnNpc3RlIGluICVkIGVsZW1lbnRvLicsJ0lsIHJpc3VsdGF0byBjb25zaXN0ZSBpbiAlZCBlbGVtZW50aS4nKSwnRmFpIGRvcHBpbyBjbGljayBzdSB1biB2YWxvcmUgcGVyIG1vZGlmaWNhcmxvLicsYXJyYXkoJyVkIHJpZ2EgaW1wb3J0YXRhLicsJyVkIHJpZ2hlIGltcG9ydGF0ZS4nKSwnU2VsZXppb25lIGRlbGxhIHRhYmVsbGEgbm9uIHJpdXNjaXRhJywnUmVsYXppb25pJywnVXNhIGlsIGxpbmsgbW9kaWZpY2EgcGVyIG1vZGlmaWNhcmUgcXVlc3RvIHZhbG9yZS4nLCdQYWdpbmEnLCd1bHRpbWEnLCdpbnRlcm8gcmlzdWx0YXRvJywnQ2xvbmEnLCdJbXBvcnRhJywnLicsJ0xlIHRhYmVsbGUgc29ubyBzdGF0ZSBzdnVvdGF0ZS4nLCdMZSB0YWJlbGxlIHNvbm8gc3RhdGUgc3Bvc3RhdGUuJywnVGFibGVzIGhhdmUgYmVlbiBjb3BpZWQuJywnTGUgdGFiZWxsZSBzb25vIHN0YXRlIGVsaW1pbmF0ZS4nLCdUYWJlbGxlIGUgdmlzdGUnLCdDZXJjYSBuZWxsZSB0YWJlbGxlJywnTW90b3JlJywnTHVuZ2hlenphIGRhdG8nLCdMdW5naGV6emEgaW5kaWNlJywnRGF0aSBsaWJlcmknLCdSaWdoZScsJ0FuYWxpenphJywnT3R0aW1penphJywnQ29udHJvbGxhJywnUmlwYXJhJywnU3Z1b3RhJywnU3Bvc3RhIGluIGFsdHJvIGRhdGFiYXNlJywnU3Bvc3RhJywnQ29weScsJ1NlcXVlbnphJywnUGlhbmlmaWNhJywnQSB0ZW1wbyBwcmVzdGFiaWxpdG8nLCdhZGVzc28nKTticmVhaztjYXNlImV0IjokWT1hcnJheSgnS2FzIG9sZWQga2luZGVsPycsJ0ZhaWxpIMO8bGVzbGFhZGltaW5lIHBvbGUgdsO1aW1hbGlrLicsJ01ha3NpbWFhbG5lIGZhaWxpc3V1cnVzICVzQi4nLCdGYWlsaSBlaSBsZWl0dWQuJywndMO8aGknLCdvcmlnaW5hYWwnLCdUYWJlbGVpZCBlaSBsZWl0dWQuJywnS2VlbCcsJ0thc3V0YScsJ1BhbHVuIGthc3V0YSDDvGh0IGxhaWVuZHVzdGVzdCAlcy4nLCdGYWlsIGp1YmEgZWtzaXN0ZWVyaWIuJywnS2FzdXRhamF0w7zDvGJpZCcsJ051bWJyaWxpc2VkJywnS3V1cMOkZXYgamEga2VsbGFhZWcnLCdUZWtzdGlkJywnQmluYWFyJywnVsO1cmsgKG5ldHdvcmspJywnR2VvbWVldHJpYScsJ0xpc3RpZCcsJ0FuZG1lYmFhc2ltb290b3InLCdTZXJ2ZXInLCdLYXN1dGFqYW5pbWknLCdQYXJvb2wnLCdMb2dpIHNpc3NlJywnSsOkdGEgbWluZCBtZWVsZGUnLCdWYWF0YSBhbmRtZWlkJywnTsOkaXRhIHN0cnVrdHV1cmknLCdNdXVkYSB2YWFkZXQgKFZJRVcpJywnTXV1ZGEgdGFiZWxpIHN0cnVrdHV1cmknLCdMaXNhIGtpcmplJywnVmlpbWFuZSBsZWhla8O8bGcnLCdNdXVkYScsYXJyYXkoJyVkIGJhaXQnLCclZCBiYWl0aScpLCdLdXZhJywnRnVua3RzaW9vbmlkJywnTGlpdG1pbmUnLCdPdHNpJywndmFoZXQgcG9sZScsJ1NvcnRlZXJpJywna2FoYW5ldmFsdCcsJ1BpaXJhJywnVGVrc3RpIHBpa2t1cycsJ1RlZ2V2dXMnLCdTUUwtUMOkcmluZycsJ27DpGl0YSBicmF1c2VyaXMnLCdzYWx2ZXN0YSBmYWlsaW5hJywnTXV1ZGEgYW5kbWViYWFzaScsJ011dWRhIHN0cnVrdHV1cmknLCdMb28gc3RydWt0dXVyJywnRWtzcG9yZGknLCdMb2dpIHbDpGxqYScsJ2FuZG1lYmFhcycsJ3N0cnVrdHV1cicsJ0xvbyB1dXMgdGFiZWwnLCdrdXZhJywnbHRyJywnUmVzZW5kIFBPU1QgZGF0YT8nLCdTb2JpbWF0dSBDU1JGLCBwYWx1biBwb3N0aXRhZ2Ugdm9ybSB1dWVzdGkuJywnVsOkbGphbG9naW1pbmUgw7VubmVzdHVzLicsJ1Nlc3Npb29uaWQgcGVhdmFkIG9sZW1hIGx1YmF0dWQuJywnU2Vzc2lvb24gb24gYWVndW51ZCwgcGFsdW4gbG9naWdlIHV1ZXN0aSBzaXNzZS4nLCdFYmFrb3JyZWt0c2VkIGFuZG1lZC4nLCdFaSBsZWl0dWQgbGFpZW5kdXN0JywnU2VydmVyaXMgcG9sZSDDvGh0ZWdpIHRvZXRhdHVkIFBIUCBsYWllbmR1c3Rlc3QgKCVzKS4nLCdQT1NULWFuZG1ldGUgbWFodCBvbiBsaWlhbHQgc3V1ci4gUGFsdW4gdsOkaGVuZGFnZSBhbmRtZWlkIHbDtWkgc3V1cmVuZGFnZSAlcyBwaHAtc2VhZGV0LicsJ0FuZG1lYmFhcycsJ1R1bmRtYXR1IGFuZG1lYmFhcy4nLCdBbmRtZWJhYXNpZCBvbiBlZHVrYWx0IGt1c3R1dGF0dWQuJywnVmFsaSBhbmRtZWJhYXMnLCdMb28gdXVzIGFuZG1lYmFhcycsJ8OVaWd1c2VkJywnUHJvdHNlc3NpZGUgbmltZWtpcmknLCdNdXV0dWphZCcsJ1N0YWF0dXMnLCclcyB2ZXJzaW9vbjogJXMsIGthc3V0YXR1ZCBQSFAgbW9vZHVsOiAlcycsJ1Npc3NlIGxvZ2l0dWQ6ICVzJywnVMOkaGV0YWJlbCcsJ1RhYmVsaWQnLCdLdXN0dXRhJywnVXVlbmRhJywnU3RydWt0dXVyJywnU29iaW1hdHUgc2tlZW1hLicsJ1Npc3Nla2FuZGVkIHB1dWR1dmFkLicsJyUuM2YgcycsJ1bDtcO1cnbDtXRtZWQgKGZvcmVpZ24ga2V5KScsJ3TDpGhldGFiZWwnLCdPTiBERUxFVEUnLCdWZWVydSBuaW1pJywnUGFyYW1lZXRyaSBuaW1pJywnVMO8w7xwJywnUGlra3VzJywnVmFsaWt1ZCcsJ0F1dG9tYWF0c2VsdCBzdXVyZW5ldicsJ1ZhaWtpbWlzaSB2w6TDpHJ0dXNlZCcsJ0tvbW1lbnRhYXInLCdMaXNhIGrDpHJnbWluZScsJ0xpaWd1dGEgw7xsZXNwb29sZScsJ0xpaWd1dGEgYWxsYXBvb2xlJywnRWVtYWxkYScsJ1ZhYXRhJywnVGFiZWwnLCdWZWVyZycsJ0luZGVrc2lkJywnTXV1ZGEgaW5kZWtzZWlkJywnQWxsaWthcycsJ1NpaHRrb2h0JywnT04gVVBEQVRFJywnTXV1ZGEnLCdMaXNhIHbDtcO1cnbDtXRpJywnUMOkw6RzdGlrdWQgKHRyaWdnZXIpJywnTGlzYSBww6TDpHN0aWsgKFRSSUdHRVIpJywnQW5kbWViYWFzaSBza2VlbScsJ1Blcm1hbmVudCBsaW5rJywnRWtzcG9yZGknLCdWw6RsanVuZCcsJ0Zvcm1hYXQnLCdQcm90c2VkdXVyaWQnLCdTw7xuZG11c2VkIChFVkVOVFMpJywnQW5kbWVkJywnbXV1ZGEnLCdMb28gdXVzIGthc3V0YWphJywnUMOkcmluZyDDtW5uZXN0dXMsIG3DtWp1dGF0YXR1ZCByaWR1OiAlZC4nLCclZCByaWRhJywnUMOkcmluZ3VzIGVzaW5lcyB2aWdhJywnS8Okc2sgcHV1ZHViLicsYXJyYXkoJyVkIHDDpHJpbmcgZWR1a2FsdCBrw6Rpdml0YXR1ZC4nLCclZCBww6RyaW5ndXQgZWR1a2FsdCBrw6Rpdml0YXR1ZC4nKSwnRmFpbGkgw7xsZXNsYWFkaW1pbmUnLCdGYWlsaWRlIMO8bGVzbGFhZGltaW5lIG9uIGtlZWxhdHVkLicsJ0vDpGl2aXRhJywnUGVhdHVkYSB2ZWEgZXNpbmVtaXNlbCcsJ0t1dmEgdmFpZCB2ZWF0ZWF0ZWlkJywnU2VydmVyaXN0JywnRmFpbCBzZXJ2ZXJpczogJXMnLCdLw6Rpdml0YSBmYWlsJywnQWphbHVndScsJ1B1aGFzdGEnLCdFZGl0IGFsbCcsJ0t1c3R1dGFtaW5lIMO1bm5lc3R1cy4nLCdVdWVuZGFtaW5lIMO1bm5lc3R1cy4nLCdLaXJqZSVzIG9uIGVkdWthbHQgbGlzYXR1ZC4nLCdTaXNlc3RhJywnU2FsdmVzdGEnLCdTYWx2ZXN0YSBqYSBqw6R0a2EgbXV1dG1pc3QnLCdTYWx2ZXN0YSBqYSBsaXNhIGrDpHJnbWluZScsJ0t1c3R1dGEnLCdUYWJlbCBvbiBlZHVrYWx0IGt1c3R1dGF0dWQuJywnVGFiZWxpIGFuZG1lZCBvbiBlZHVrYWx0IG11dWRldHVkLicsJ1RhYmVsIG9uIGVkdWthbHQgbG9vZHVkLicsJ0xvbyB1dXMgdGFiZWwnLCdNYWtzaW1hYWxuZSB2w6RsamFkZSBhcnYgw7xsZXRhdHVkLiBQYWx1biBzdXVyZW5kYWdlICVzIGphICVzLicsJ1RhYmVsaSBuaW1pJywnYW5kbWViYWFzaW1vb3RvcicsJ1BhcnRpdHNpb29uaScsJ1BhcnRpdHNpb29uaWQnLCdQYXJ0aXRzaW9vbmkgbmltaScsJ1bDpMOkcnR1c2VkJywnSW5kZWtzaXRlIGFuZG1lZCBvbiBlZHVrYWx0IHV1ZW5kYXR1ZC4nLCdJbmRla3NpIHTDvMO8cCcsJ1ZlZXJnIChwaWtrdXMpJywnQW5kbWViYWFzIG9uIGVkdWthbHQga3VzdHV0YXR1ZC4nLCdBbmRtZWJhYXMgb24gZWR1a2FsdCDDvG1iZXIgbmltZXRhdHVkLicsJ0FuZG1lYmFhcyBvbiBlZHVrYWx0IGxvb2R1ZC4nLCdBbmRtZWJhYXNpIHN0cnVrdHV1cmkgdXVlbmRhbWluZSDDtW5uZXN0dXMuJywnTG9vIHV1cyBhbmRtZWJhYXMnLCdTdHJ1a3R1dXIgb24gZWR1a2FsdCBrdXN0dXRhdHVkLicsJ1N0cnVrdHV1ciBvbiBlZHVrYWx0IGxvb2R1ZC4nLCdTdHJ1a3R1dXIgb24gZWR1a2FsdCBtdXVkZXR1ZC4nLCdLw6Rpdml0YScsJ1Byb3RzZWR1dXIgdMOkaWRldGkgZWR1a2FsdCwgbcO1anV0YXR1ZCByaWR1OiAlZC4nLCdWw7XDtXJ2w7V0aSBvbiBlZHVrYWx0IGt1c3R1dGF0dWQuJywnVsO1w7VydsO1dG1lIGFuZG1lZCBvbiBlZHVrYWx0IG11dWRldHVkLicsJ1bDtcO1cnbDtXJpIG9uIGVkdWthbHQgbG9vZHVkLicsJ0zDpGh0ZS0gamEgc2lodHZlZXJ1ZCBwZWF2YWQgZWtzaXN0ZWVyaW1hIGphIG9tYW1hIHNhbWEgYW5kbWV0w7zDvHBpLCBzaWh0dmVlcmd1ZGVsIHBlYWIgb2xlbWEgbcOkw6RyYXR1ZCBpbmRla3MgbmluZyB2aWlkYXR1ZCBhbmRtZWQgcGVhdmFkIGVrc2lzdGVlcmltYS4nLCdWw7XDtXJ2w7V0aScsJ1NpaHQtdGFiZWwnLCdNdXVkYScsJ0xpc2EgdmVlcmcnLCdWYWFkZSAoVklFVykgb24gZWR1a2FsdCBrdXN0dXRhdHVkLicsJ1ZhYWRlIChWSUVXKSBvbiBlZHVrYWx0IG11dWRldHVkLicsJ1ZhYWRlIChWSUVXKSBvbiBlZHVrYWx0IGxvb2R1ZC4nLCdMb28gdXVzIHZhYWRlIChWSUVXKScsJ05pbWknLCdTw7xuZG11cyBvbiBlZHVrYWx0IGt1c3R1dGF0dWQuJywnU8O8bmRtdXNlIGFuZG1lZCBvbiBlZHVrYWx0IHV1ZW5kYXR1ZC4nLCdTw7xuZG11cyBvbiBlZHVrYWx0IGxvb2R1ZC4nLCdNdXVkYSBzw7xuZG11c2UgYW5kbWVpZCcsJ0xvbyB1dXMgc8O8bmRtdXMgKEVWRU5UKScsJ0FsdXN0YScsJ0zDtXBldGEnLCdJZ2EnLCdMw7VwZXRhbWlzZWwgasOkdGEgc8O8bmRtdXMgYWxsZXMnLCdQcm90c2VkdXVyIG9uIGVkdWthbHQga3VzdHV0YXR1ZC4nLCdQcm90c2VkdXVyaSBhbmRtZWQgb24gZWR1a2FsdCBtdXVkZXR1ZC4nLCdQcm90c2VkdXVyIG9uIGVkdWthbHQgbG9vZHVkLicsJ011dWRhIGZ1bmt0c2lvb25pJywnTXV1ZGEgcHJvdHNlZHV1cmknLCdMb28gdXVzIGZ1bmt0c2lvb24nLCdMb28gdXVzIHByb3RzZWR1dXInLCdUYWdhc3R1c3TDvMO8cCcsJ0phZGEgb24gZWR1a2FsdCBrdXN0dXRhdHVkLicsJ0phZGEgb24gZWR1a2FsdCBsb29kdWQuJywnSmFkYSBvbiBlZHVrYWx0IG11dWRldHVkLicsJ011dWRhIGphZGEnLCdMb28gamFkYScsJ1TDvMO8cCBvbiBlZHVrYWx0IGt1c3R1dGF0dWQuJywnVMO8w7xwIG9uIGVkdWthbHQgbG9vZHVkLicsJ011dWRhIHTDvMO8cGknLCdMb28gdMO8w7xwJywnUMOkw6RzdGlrIG9uIGVkdWthbHQga3VzdHV0YXR1ZC4nLCdQw6TDpHN0aWt1IGFuZG1lZCBvbiBlZHVrYWx0IHV1ZW5kYXR1ZC4nLCdVdXMgcMOkw6RzdGlrIG9uIGVkdWthbHQgbG9vZHVkLicsJ011dWRhIHDDpMOkc3Rpa3UgYW5kbWVpZCcsJ0xvbyB1dXMgcMOkw6RzdGlrIChUUklHR0VSKScsJ0FlZycsJ1PDvG5kbXVzJywnS2FzdXRhamEgb24gZWR1a2FsdCBrdXN0dXRhdHVkLicsJ0thc3V0YWphIGFuZG1lZCBvbiBlZHVrYWx0IG11dWRldHVkLicsJ0thc3V0YWphIG9uIGVkdWthbHQgbGlzYXR1ZC4nLCdIw6RzaGl0dWQgKEhhc2hlZCknLCdQcm90c2VkdXVyJywnQW5uYScsJ0VlbWFsZGEnLGFycmF5KCdQcm90c2VzcyBvbiBlZHVrYWx0IHBlYXRhdHVkICglZCkuJywnVmFsaXR1ZCBwcm90c2Vzc2lkICglZCkgb24gZWR1a2FsdCBwZWF0YXR1ZC4nKSwnS29ra3U6ICVkJywnUGVhdGEnLCdNw7VqdXRhdHVkIGtpcmplaWQ6ICVkLicsJ1bDpMOkcnR1c2UgbXV1dG1pc2VrcyB0b3BlbHQta2xpa2kgc2VsbGVsLicsJ0ltcG9yZGl0aSAlZCByaWRhLicsJ1RhYmVsaSB2YWxpbWluZSBlYmHDtW5uZXN0dXMnLCdTZW9zZWQnLCdWw6TDpHJ0dXNlIG11dXRtaXNla3Mga2FzdXRhIG11dXRtaXNsaW5raS4nLCdMZWhla8O8bGcnLCd2aWltYW5lJywnVMOkaWVsaWt1ZCB0dWxlbXVzZWQnLCdLbG9vbicsJ0ltcG9yZGknLCcsJywnVmFsaWR1ZCB0YWJlbGlkIG9uIGVkdWthbHQgdMO8aGplbmRhdHVkLicsJ1ZhbGl0dWQgdGFiZWxpZCBvbiBlZHVrYWx0IGxpaWd1dGF0dWQuJywnVGFibGVzIGhhdmUgYmVlbiBjb3BpZWQuJywnVmFsaXR1ZCB0YWJlbGlkIG9uIGVkdWthbHQga3VzdHV0YXR1ZC4nLCdUYWJlbGlkIGphIHZhYXRlZCcsJ090c2kga29ndSBhbmRtZWJhYXNpc3QnLCdJbXBsZW1lbnRhdHNpb29uJywnQW5kbWV0ZSBwaWtrdXMnLCdJbmRla3NpIHBpa2t1cycsJ1ZhYmEgcnV1bWknLCdSaWR1JywnQW5hbMO8w7xzaScsJ09wdGltZWVyaScsJ0tvbnRyb2xsaScsJ1BhcmFuZGEnLCdUw7xoamVuZGEnLCdMaWlndXRhIHRlaXNlIGFuZG1lYmFhc2knLCdMaWlndXRhJywnQ29weScsJ0phZGFkIChzZXF1ZW5jZXMpJywnQWpha2F2YScsJ0FudHVkIGFqYWhldGtlbCcsJ27DvMO8ZCcpO2JyZWFrO2Nhc2UiaHUiOiRZPWFycmF5KCdCaXp0b3MgYmVubmU/JywnTmVtIHR1ZG9tIGZlbHTDtmx0ZW5pIGEgZsOhamx0LicsJ0EgbWF4aW3DoWxpcyBmw6FqbG3DqXJldCAlcyBCLicsJ0EgZsOhamwgbmVtIGzDqXRlemlrLicsJ8O8cmVzJywnZXJlZGV0aScsJ05pbmNzIHTDoWJsYS4nLCdOeWVsdicsJ0hhc3puw6FsJywnSGFzem7DoWxqYSBhKHopICVzIGtpdGVyamVzenTDqXN0LicsJ0EgZsOhamwgbMOpdGV6aWsuJywnRmVsaGFzem7DoWzDs2kgdMOtcHVzJywnU3rDoW0nLCdEw6F0dW0gw6lzIGlkxZEnLCdTesO2dmVnJywnQmluw6FyaXMnLCdIw6Fsw7N6YXQnLCdHZW9tZXRyaWEnLCdMaXN0YScsJ0FkYXRiw6F6aXMnLCdTemVydmVyJywnRmVsaGFzem7DoWzDsycsJ0plbHN6w7MnLCdCZWzDqXDDqXMnLCdFbWzDqWtlenogcsOhbScsJ1RhcnRhbG9tJywnU3RydWt0w7pyYScsJ07DqXpldCBtw7Nkb3PDrXTDoXNhJywnVMOhYmxhIG3Ds2Rvc8OtdMOhc2EnLCfDmmogdMOpdGVsJywnVXRvbHPDsyBvbGRhbCcsJ1N6ZXJrZXN6dCcsYXJyYXkoJyVkIGLDoWp0JywnJWQgYsOhanQnLCclZCBiw6FqdCcpLCdLaXbDoWxhc3p0JywnRnVua2Npw7NrJywnQWdncmVnw6Fsw6FzJywnS2VyZXPDqXMnLCdiw6FyaG9sJywnU29yYmEgcmVuZGV6w6lzJywnY3PDtmtrZW7FkScsJ2tvcmzDoXQnLCdTesO2dmVnIGhvc3N6JywnTcWxdmVsZXQnLCdTUUwgcGFyYW5jcycsJ21lZ255aXQnLCdtZW50JywnQWRhdGLDoXppcyBtw7Nkb3PDrXTDoXNhJywnU8OpbWEgbcOzZG9zw610w6FzYScsJ1PDqW1hIGzDqXRyZWhvesOhc2EnLCdFeHBvcnTDoWzDoXMnLCdLaWzDqXDDqXMnLCdhZGF0YsOhemlzJywnc8OpbWEnLCfDmmogdMOhYmxhJywna2l2w6FsYXN6dCcsJ2x0cicsJ1Jlc2VuZCBQT1NUIGRhdGE/Jywnw4lydsOpbnl0ZWxlbiBDU1JGIGF6b25vc8OtdMOzLiBLw7xsZGQgw7pqcmEgYXogxbFybGFwb3QuJywnU2lrZXJlcyBraWzDqXDDqXMuJywnQSBtdW5rYW1lbmV0ZWtuZWsgKHNlc3Npb24pIGVuZ2Vkw6lseWV6dmUga2VsbCBsZW5uaWUuJywnTXVua2FtZW5ldCBsZWrDoXJ0LCBqZWxlbnRrZXp6IGJlIMO6anJhLicsJ8OJcnbDqW55dGVsZW4gYWRhdG9rLicsJ05pbmNzIGtpdGVyamVzenTDqXMnLCdOaW5jcyBlZ3kgZWzDqXJoZXTFkSB0w6Ftb2dhdG90dCBQSFAga2l0ZXJqZXN6dMOpcyAoJXMpIHNlbS4nLCdUw7psIHNvayBhIFBPU1QgYWRhdCEgQ3PDtmtrZW50c2QgYXogYWRhdCBtw6lyZXTDqXQsIHZhZ3kgbsO2dmVsZCBhICVzIGJlw6FsbMOtdMOhc3QuJywnQWRhdGLDoXppcycsJ8OJcnbDqW55dGVsZW4gYWRhdGLDoXppcy4nLCdBZGF0YsOhemlzIGVsZG9idmEuJywnQWRhdGLDoXppcyBraXbDoWxhc3p0w6FzYScsJ8OaaiBhZGF0YsOhemlzJywnUHJpdmlsw6lnaXVtb2snLCdGb2x5YW1hdG9rJywnVsOhbHRvesOzaycsJ8OBbGxhcG90JywnJXMgdmVyemnDszogJXMsIFBIUDogJXMnLCdCZWzDqXB2ZTogJXMnLCdFZ3liZXZldMOpcycsJ1TDoWJsw6FrJywnRWxkb2InLCdGcmlzc8OtdMOpcycsJ1PDqW1hJywnw4lydsOpbnl0ZWxlbiBzw6ltYS4nLCdOaW5jcyBtZWdqZWxlbsOtdGhldMWRIGVyZWRtw6lueS4nLCclLjNmIG3DoXNvZHBlcmMnLCdJZGVnZW4ga3VsY3MnLCdlZ3liZXZldMOpcycsJ3TDtnJsw6lza29yJywnT3N6bG9wIG5ldmUnLCdQYXJhbcOpdGVyIG5ldmUnLCdUw61wdXMnLCdIb3NzeicsJ09wY2nDs2snLCdBdXRvbWF0aWt1cyBuw7Z2ZWzDqXMnLCdBbGFww6lydGVsbWV6ZXR0IMOpcnTDqWtlaycsJ01lZ2plZ3l6w6lzJywnS8O2dmV0a2V6xZEgaG96esOhYWTDoXNhJywnRmVsZmVsw6knLCdMZWZlbMOpJywnRWx0w6F2b2zDrXTDoXMnLCdOw6l6ZXQnLCdUw6FibGEnLCdPc3psb3AnLCdJbmRleGVrJywnSW5kZXggbcOzZG9zw610w6FzYScsJ0ZvcnLDoXMnLCdDw6lsJywnZnJpc3PDrXTDqXNrb3InLCdNw7Nkb3PDrXTDoXMnLCdJZGVnZW4ga3VsY3MgaG96emFkw6FzYScsJ1RyaWdnZXInLCdUcmlnZ2VyIGhvenrDoWFkw6FzYScsJ0FkYXRiw6F6aXMgc8OpbWEnLCdQZXJtYW5lbnQgbGluaycsJ0V4cG9ydCcsJ0tpbWVuZXQnLCdGb3Jtw6F0dW0nLCdSdXRpbm9rJywnRXNlbcOpbnknLCdBZGF0Jywnc3plcmtlc3p0JywnRmVsaGFzem7DoWzDsyBob3p6w6FhZMOhc2EnLGFycmF5KCdMZWvDqXJkZXrDqXMgc2lrZXJlc2VuIHbDqWdyZWhhanR2YSwgJWQgc29yIMOpcmludGV0dC4nLCdMZWvDqXJkZXrDqXMgc2lrZXJlc2VuIHbDqWdyZWhhanR2YSwgJWQgc29yIMOpcmludGV0dC4nLCdMZWvDqXJkZXrDqXMgc2lrZXJlc2VuIHbDqWdyZWhhanR2YSwgJWQgc29yIMOpcmludGV0dC4nKSxhcnJheSgnJWQgc29yJywnJWQgc29yJywnJWQgc29yJyksJ0hpYmEgYSBsZWvDqXJkZXrDqXNiZW4nLCdOaW5jcyB2w6lncmVoYWp0aGF0w7MgcGFyYW5jcy4nLCclZCBzaWtlcmVzIGxla8OpcmRlesOpcy4nLCdGw6FqbCBmZWx0w7ZsdMOpc2UnLCdBIGbDoWpsIGZlbHTDtmx0w6lzIGxlIHZhbiB0aWx0dmEuJywnVsOpZ3JlaGFqdCcsJ0hpYmEgZXNldMOpbiBtZWfDoWxsJywnQ3NhayBhIGhpYsOhayBtdXRhdMOhc2EnLCdTemVydmVycsWRbCcsJ1dlYnN6ZXJ2ZXIgZsOhamwgJXMnLCdGw6FqbCBmdXR0YXTDoXNhJywnVMO2cnTDqW5ldCcsJ1TDtnJsw6lzJywnRWRpdCBhbGwnLCdBIHTDqXRlbCB0w7Zyw7ZsdmUuJywnQSB0w6l0ZWwgZnJpc3PDrXR2ZS4nLCclcyB0w6l0ZWwgYmVzesO6cnZhLicsJ0Jlc3rDunInLCdNZW50w6lzJywnTWVudMOpcyDDqXMgc3plcmtlc3p0w6lzIGZvbHl0YXTDoXNhJywnTWVudMOpcyDDqXMgw7pqYXQgYmVzesO6cicsJ1TDtnJsw6lzJywnQSB0w6FibGEgZWxkb2J2YS4nLCdBIHTDoWJsYSBtw7Nkb3N1bHQuJywnQSB0w6FibGEgbMOpdHJlasO2dHQuJywnVMOhYmxhIGzDqXRyZWhvesOhc2EnLCdBIG1heGltw6FsaXMgbWV6xZFzesOhbW90IGVsw6lydGVkLiBOw7Z2ZWxkIG1lZyBlemVrZXQ6ICVzLCAlcy4nLCdUw6FibGEgbsOpdicsJ21vdG9yJywnUGFydGljaW9uw6Fsw6FzIGV6emVsJywnUGFydGljacOzaycsJ1BhcnRpY2nDsyBuZXZlJywnw4lydMOpa2VrJywnQXogaW5kZXhlayBtZWd2w6FsdG96dGFrLicsJ0luZGV4IHTDrXB1c2EnLCdPc3pvcCAobcOpcmV0KScsJ0F6IGFkYXRiw6F6aXMgZWxkb2J2YS4nLCdBeiBhZGFkdGLDoXppcyDDoXRuZXZlenZlLicsJ0F6IGFkYXRiw6F6aXMgbMOpdHJlasO2dHQuJywnQXogYWRhdGLDoXppcyBtw7Nkb3N1bHQuJywnQWRhdGLDoXppcyBsw6l0cmVob3rDoXNhJywnU8OpbWEgZWxkb2J2YS4nLCdTw6ltYSBsw6l0cmVqw7Z0dC4nLCdTw6ltYSBtw7Nkb3N1bHQuJywnTWVnaMOtdicsYXJyYXkoJ1J1dGluIG1lZ2jDrXZ2YSwgJWQgc29yIMOpcmludGV0dC4nLCdSdXRpbiBtZWdow612dmEsICVkIHNvciDDqXJpbnRldHQuJywnUnV0aW4gbWVnaMOtdnZhLCAlZCBzb3Igw6lyaW50ZXR0LicpLCdJZGVnZW4ga3VsY3MgZWxkb2J2YS4nLCdJZGVnZW4ga3VsY3MgbcOzZG9zdWx0LicsJ0lkZWdlbiBrdWxjcyBsw6l0cmVqw7Z0dC4nLCdBIGZvcnLDoXMgw6lzIGPDqWwgb3N6bG9wb2tuYWsgYXpvbm9zIHTDrXB1c8O6YWsgbGVneWVuZWssIGEgY8OpbCBvc3psb3BvayBpbmRleGVsdGVrIGxlZ3llbmVrLCDDqXMgYSBoaXZhdGtvem90dCBhZGF0bmFrIGzDqXRlem5pZSBrZWxsLicsJ0lkZWdlbiBrdWxjcycsJ0PDqWwgdMOhYmxhJywnVsOhbHRvenRhdCcsJ09zemxvcCBob3p6w6FhZMOhc2EnLCdBIG7DqXpldCBlbGRvYnZhLicsJ0EgbsOpemV0IG3Ds2Rvc3VsdC4nLCdBIG7DqXpldCBsw6l0cmVqw7Z0dC4nLCdOw6l6ZXQgbMOpdHJlaG96w6FzYScsJ07DqXYnLCdBeiBlc2Vtw6lueSBlbGRvYnZhLicsJ0F6IGVzZW3DqW55IG3Ds2Rvc3VsdC4nLCdBeiBlc2Vtw6lueSBsw6l0cmVqw7Z0dC4nLCdFc2Vtw6lueSBtw7Nkb3PDrXTDoXNhJywnRXNlbcOpbnkgbMOpdHJlaG96w6FzYScsJ0tlemQnLCdWw6lnZScsJ01pbmRlbicsJ0JlZmVqZXrDqXNrb3IgbWVnxZFyemknLCdBIHJ1dGluIGVsZG9idmEuJywnQSBydXRpbiBtw7Nkb3N1bHQuJywnQSBydXRpbiBsw6l0cmVqw7Z0dC4nLCdGdW5rY2nDsyBtw7Nkb3PDrXTDoXNhJywnRWxqw6Fyw6FzIG3Ds2Rvc8OtdMOhc2EnLCdGdW5rY2nDsyBsw6l0cmVob3rDoXNhJywnRWxqw6Fyw6FzIGzDqXRyZWhvesOhc2EnLCdWaXNzemF0w6lyw6lzaSDDqXJ0w6lrJywnU29yb3phdCBlbGRvYnZhLicsJ1Nvcm96YXQgbMOpdHJlasO2dHQuJywnU29yb3phdCBtw7Nkb3N1bHQuJywnU29yb3phdCBtw7Nkb3PDrXTDoXNhJywnU29yb3phdCBsw6l0cmVob3rDoXNhJywnVMOtcHVzIGVsZG9idmEuJywnVMOtcHVzIGzDqXRyZWhvenZhLicsJ1TDrXB1cyBtw7Nkb3PDrXTDoXNhJywnVMOtcHVzIGzDqXRyZWhvesOhc2EnLCdBIHRyaWdnZXIgZWxkb2J2YS4nLCdBIHRyaWdnZXIgbcOzZG9zdWx0LicsJ0EgdHJpZ2dlciBsw6l0cmVqw7Z0dC4nLCdUcmlnZ2VyIG3Ds2Rvc8OtdMOhc2EnLCdUcmlnZ2VyIGzDqXRyZWhvesOhc2EnLCdJZMWRJywnRXNlbcOpbnknLCdBIGZlbGhhc3puw6Fsw7MgZWxkb2J2YS4nLCdBIGZlbGhhc3puw6Fsw7MgbcOzZG9zdWx0LicsJ0EgZmVsaGFzem7DoWzDsyBsw6l0cmVqw7Z0dC4nLCdIYXNoZWQnLCdSdXRpbicsJ0VuZ2Vkw6lseWV6w6lzJywnVmlzc3phdm9uw6FzJyxhcnJheSgnJWQgZm9seWFtYXQgbGXDoWxsw610dmEuJywnJWQgZm9seWFtYXQgbGXDoWxsw610dmEuJywnJWQgZm9seWFtYXQgbGXDoWxsw610dmEuJyksJ8O2c3N6ZXNlbiAlZCcsJ0xlw6FsbMOtdCcsYXJyYXkoJyVkIHTDqXRlbCDDqXJpbnRldHQuJywnJWQgdMOpdGVsIMOpcmludGV0dC4nLCclZCB0w6l0ZWwgw6lyaW50ZXR0LicpLCdLYXR0aW50cyBrw6l0c3plciBheiDDqXJ0w6lrcmUgYSBzemVya2VzenTDqXNoZXouJyxhcnJheSgnJWQgc29yIGltcG9ydMOhbHZhLicsJyVkIHNvciBpbXBvcnTDoWx2YS4nLCclZCBzb3IgaW1wb3J0w6FsdmEuJyksJ05lbSB0dWRvbSBraXbDoWxhc3p0YW5pIGEgdMOhYmzDoXQnLCdSZWzDoWNpw7MnLCdIYXN6bsOhbGQgYSBzemVya2VzenTDqXMgaGl2YXRrb3rDoXN0IGV6ZW4gw6lydMOpayBtw7Nkb3PDrXTDoXPDoWhvei4nLCdvbGRhbCcsJ3V0b2xqw6FyYScsJ8O2c3N6ZXMgZXJlZG3DqW55dCBtdXRhdMOhc2EnLCdLbMOzbm96JywnSW1wb3J0w6Fsw6FzJywnICcsJ0EgdMOhYmxhIGZlbHN6YWJhZMOtdHZhLicsJ1TDoWJsw6FrIMOhdGhlbHllenZlLicsJ1RhYmxlcyBoYXZlIGJlZW4gY29waWVkLicsJ1TDoWJsw6FrIGVsZG9idmEuJywnVMOhYmzDoWsgw6lzIG7DqXpldGVrJywnS2VyZXPDqXMgYSB0w6FibMOha2JhbicsJ01vdG9yJywnTcOpcmV0JywnSW5kZXggaG9zc3onLCdBZGF0IHN6YWJhZCcsJ09zemxvcCcsJ0VsZW16w6lzJywnT3B0aW1hbGl6w6FsJywnRWxsZW7FkXJ6w6lzJywnSmF2w610JywnRmVsc3phYmFkw610Jywnw4F0aGVseWV6w6lzIG3DoXNpayBhZGF0YsOhemlzYmEnLCfDgXRoZWx5ZXonLCdDb3B5JywnU29yb3phdG9rJywnw5x0ZW16w6lzJywnTWVnYWRvdHQgaWTFkWJlbicsJ21vc3QnKTticmVhaztjYXNlInBsIjokWT1hcnJheSgnQ3p5IGplc3RlxZsgcGV3aWVuPycsJ1dncmFuaWUgcGxpa3UgYnnFgm8gbmllbW/FvGxpd2UuJywnTWFrc3ltYWxuYSB3aWVsa2/Fm8SHIHBsaWt1IHRvICVzQi4nLCdQbGlrIG5pZSBpc3RuaWVqZS4nLCdwdXN0ZScsJ2JleiB6bWlhbicsJ0JyYWsgdGFiZWwuJywnSsSZenlrJywnV3liaWVyeicsJ1Byb3N6xJkgdcW8ecSHIGplZG5lZ28geiByb3pzemVyemXFhDogJXMuJywnUGxpayBqdcW8IGlzdG5pZWplLicsJ1R5cHkgdcW8eXRrb3duaWthJywnTnVtZXJ5Y3puZScsJ0RhdGEgaSBjemFzJywnVGVrc3Rvd2UnLCdCaW5hcm5lJywnU2llxIcnLCdHZW9tZXRyaWEnLCdMaXN0eScsJ1JvZHphaiBiYXp5JywnU2Vyd2VyJywnVcW8eXRrb3duaWsnLCdIYXPFgm8nLCdaYWxvZ3VqIHNpxJknLCdaYXBhbWnEmXRhaiBzZXNqxJknLCdQb2thxbwgZGFuZScsJ1N0cnVrdHVyYSB0YWJlbGknLCdabWllxYQgcGVyc3Bla3R5d8SZJywnWm1pZcWEIHRhYmVsxJknLCdOb3d5IHJla29yZCcsJ09zdGF0bmlhIHN0cm9uYScsJ0VkeXR1aicsYXJyYXkoJyVkIGJhanQnLCclZCBiYWp0eScsJyVkIGJhanTDs3cnKSwncG9rYcW8JywnRnVua2NqZScsJ0FncmVnYWNqZScsJ1N6dWthaicsJ2dkemlla29sd2llaycsJ1NvcnR1aicsJ21hbGVqxIVjbycsJ0xpbWl0JywnRMWCdWdvxZvEhyB0ZWtzdHUnLCdDenlubm/Fm8SHJywnWmFweXRhbmllIFNRTCcsJ290d8OzcnonLCd6YXBpc3onLCdabWllxYQgYmF6xJkgZGFueWNoJywnWm1pZcWEIHNjaGVtYXQnLCdVdHfDs3J6IHNjaGVtYXQnLCdFa3Nwb3J0JywnV3lsb2d1aicsJ2JhemEgZGFueWNoJywnc2NoZW1hdCcsJ1V0d8Ozcnogbm93xIUgdGFiZWzEmScsJ3ByemVnbMSFZGFqJywnbHRyJywnUmVzZW5kIFBPU1QgZGF0YT8nLCdOaWVwcmF3aWTFgm93eSB0b2tlbiBDU1JGLiBTcHLDs2J1aiB3eXPFgmHEhyBmb3JtdWxhcnogcG9ub3duaWUuJywnV3lsb2dvd2FubyBwb215xZtsbmllLicsJ1d5bWFnYW5hIGplc3Qgb2JzxYJ1Z2Egc2VzamkgdyBQSFAuJywnU2VzamEgd3lnYXPFgmEsIHphbG9ndWogc2nEmSBwb25vd25pZS4nLCdOaWVwcmF3aWTFgm93ZSBkYW5lIGxvZ293YW5pYS4nLCdCcmFrIHJvenN6ZXJ6ZW5pYScsJ8W7YWRuZSB6IHJvenN6ZXJ6ZcWEIFBIUCB1bW/FvGxpd2lhasSFY3ljaCBwb8WCxIVjemVuaWUgc2nEmSB6IGJhesSFIGRhbnljaCAoJXMpIG5pZSBqZXN0IGRvc3TEmXBuZS4nLCdQcnplc8WCYW5vIHpieXQgZHXFvG8gZGFueWNoLiBabW5pZWpzeiBvYmrEmXRvxZvEhyBkYW55Y2ggbHViIHp3acSZa3N6IHptaWVubsSFIGtvbmZpZ3VyYWN5am7EhSAlcy4nLCdCYXphIGRhbnljaCcsJ05pZSB6bmFsZXppb25vIGJhenkgZGFueWNoLicsJ0JhenkgZGFueWNoIHpvc3RhxYJ5IHVzdW5pxJl0ZS4nLCdXeWJpZXJ6IGJhesSZIGRhbnljaCcsJ1V0d8Ozcnogbm93xIUgYmF6xJkgZGFueWNoJywnVXByYXduaWVuaWEgdcW8eXRrb3duaWvDs3cnLCdMaXN0YSBwcm9jZXPDs3cnLCdabWllbm5lJywnU3RhdHVzJywnV2Vyc2phICVzOiAlcyB6YSBwb21vY8SFICVzJywnWmFsb2dvd2FueSBqYWtvOiAlcycsJ1BvcsOzd255d2FuaWUgem5ha8OzdycsJ1RhYmVsZScsJ1VzdcWEJywnT2TFm3dpZcW8JywnU2NoZW1hdCcsJ05pZXByYXdpZMWCb3d5IHNjaGVtYXQuJywnQnJhayByZWtvcmTDs3cuJywnJS4zZiBzJywnS2x1Y3plIG9iY2UnLCdwb3LDs3dueXdhbmllIHpuYWvDs3cnLCdXIHByenlwYWRrdSB1c3VuacSZY2lhJywnTmF6d2Ega29sdW1ueScsJ05hendhIHBhcmFtZXRydScsJ1R5cCcsJ0TFgnVnb8WbxIcnLCdPcGNqZScsJ0F1dG8gSW5jcmVtZW50JywnV2FydG/Fm2NpIGRvbXnFm2xuZScsJ0tvbWVudGFyeicsJ0RvZGFqIG5hc3TEmXBueScsJ1ByemVzdcWEIHcgZ8OzcsSZJywnUHJ6ZXN1xYQgdyBkw7PFgicsJ1VzdcWEJywnUGVyc3Bla3R5d2EnLCdUYWJlbGEnLCdLb2x1bW5hJywnSW5kZWtzeScsJ1ptaWXFhCBpbmRla3N5Jywnxblyw7NkxYJvJywnQ2VsJywnVyBwcnp5cGFka3Ugem1pYW55JywnWm1pZcWEJywnRG9kYWoga2x1Y3ogb2JjeScsJ1d5endhbGFjemUnLCdEb2RhaiB3eXp3YWxhY3onLCdTY2hlbWF0IGJhenkgZGFueWNoJywnVHJ3YcWCeSBsaW5rJywnRWtzcG9ydCcsJ1JlenVsdGF0JywnRm9ybWF0JywnUHJvY2VkdXJ5IGkgZnVua2NqZScsJ1d5ZGFyemVuaWEnLCdEYW5lJywnZWR5dHVqJywnRG9kYWogdcW8eXRrb3duaWthJyxhcnJheSgnWmFweXRhbmllIHd5a29uYW5lIHBvbXnFm2xuaWUsIHptaWVuaW9ubyAlZCByZWtvcmQuJywnWmFweXRhbmllIHd5a29uYW5lIHBvbXnFm2xuaWUsIHptaWVuaW9ubyAlZCByZWtvcmR5LicsJ1phcHl0YW5pZSB3eWtvbmFuZSBwb215xZtsbmllLCB6bWllbmlvbm8gJWQgcmVrb3Jkw7N3LicpLGFycmF5KCclZCByZWtvcmQnLCclZCByZWtvcmR5JywnJWQgcmVrb3Jkw7N3JyksJ0LFgsSFZCB3IHphcHl0YW5pdScsJ05pYyBkbyB3eWtvbmFuaWEuJyxhcnJheSgnUG9tecWbbG5pZSB3eWtvbmFubyAlZCB6YXB5dGFuaWUuJywnUG9tecWbbG5pZSB3eWtvbmFubyAlZCB6YXB5dGFuaWEuJywnUG9tecWbbG5pZSB3eWtvbmFubyAlZCB6YXB5dGHFhC4nKSwnV2dyYW5pZSBwbGlrdScsJ1dncnl3YW5pZSBwbGlrw7N3IGplc3Qgd3nFgsSFY3pvbmUuJywnV3lrb25haicsJ1phdHJ6eW1haiB3IHByenlwYWRrdSBixYLEmWR1JywnUG9rYcW8IHR5bGtvIGLFgsSZZHknLCdaIHNlcndlcmEnLCdQbGlrICVzIG5hIHNlcndlcnplJywnVXJ1Y2hvbSB6IHBsaWt1JywnSGlzdG9yaWEnLCdXeWN6ecWbxIcnLCdFZGl0IGFsbCcsJ1Jla29yZCB6b3N0YcWCIHVzdW5pxJl0eS4nLCdSZWtvcmQgem9zdGHFgiB6YWt0dWFsaXpvd2FueS4nLCdSZWtvcmQlcyB6b3N0YcWCIGRvZGFueS4nLCdEb2RhaicsJ1phcGlzeiB6bWlhbnknLCdaYXBpc3ogaSBrb250eW51dWogZWR5Y2rEmScsJ1phcGlzeiBpIGRvZGFqIG5hc3TEmXBueScsJ1VzdcWEJywnVGFiZWxhIHpvc3RhxYJhIHVzdW5pxJl0YS4nLCdUYWJlbGEgem9zdGHFgmEgem1pZW5pb25hLicsJ1RhYmVsYSB6b3N0YcWCYSB1dHdvcnpvbmEuJywnVXR3w7NyeiB0YWJlbMSZJywnUHJ6ZWtyb2N6b25vIG1ha3N5bWFsbsSFIGxpY3pixJkgcMOzbC4gWndpxJlrc3ogJXMgaSAlcy4nLCdOYXp3YSB0YWJlbGknLCdza8WCYWRvd2FuaWUnLCdQYXJ0eWNqb25vd2FuaWUnLCdQYXJ0eWNqZScsJ05hendhIHBhcnR5Y2ppJywnV2FydG/Fm2NpJywnSW5kZWtzeSB6b3N0YcWCeSB6bWllbmlvbmUuJywnVHlwIGluZGVrc3UnLCdLb2x1bW5hIChkxYJ1Z2/Fm8SHKScsJ0JhemEgZGFueWNoIHpvc3RhxYJhIHVzdW5pxJl0YS4nLCdOYXp3YSBiYXp5IGRhbnljaCB6b3N0YcWCYSB6bWllbmlvbmEuJywnQmF6YSBkYW55Y2ggem9zdGHFgmEgdXR3b3J6b25hLicsJ0JhemEgZGFueWNoIHpvc3RhxYJhIHptaWVuaW9uYS4nLCdVdHfDs3J6IGJhesSZIGRhbnljaCcsJ1NjaGVtYXQgem9zdGHFgiB1c3VuacSZdHkuJywnU2NoZW1hdCB6b3N0YcWCIHV0d29yem9ueS4nLCdTY2hlbWF0IHpvc3RhxYIgem1pZW5pb255LicsJ1VydWNob20nLGFycmF5KCdQcm9jZWR1cmEgem9zdGHFgmEgdXJ1Y2hvbWlvbmEsIHptaWVuaW9ubyAlZCByZWtvcmQuJywnUHJvY2VkdXJhIHpvc3RhxYJhIHVydWNob21pb25hLCB6bWllbmlvbm8gJWQgcmVrb3JkeS4nLCdQcm9jZWR1cmEgem9zdGHFgmEgdXJ1Y2hvbWlvbmEsIHptaWVuaW9ubyAlZCByZWtvcmTDs3cuJyksJ0tsdWN6IG9iY3kgem9zdGHFgiB1c3VuacSZdHkuJywnS2x1Y3ogb2JjeSB6b3N0YcWCIHptaWVuaW9ueS4nLCdLbHVjeiBvYmN5IHpvc3RhxYIgdXR3b3J6b255LicsJ8W5csOzZMWCb3dhIGkgZG9jZWxvd2Ega29sdW1uYSBtdXN6xIUgYnnEhyB0ZWdvIHNhbWVnbyB0eXB1LCBwb3dpbmllbiBpc3RuaWXEhyBpbmRla3MgbmEgZG9jZWxvd2VqIGtvbHVtbmllIG9yYXogbXVzesSFIGlzdG5pZcSHIGRhbmUgcmVmZXJlbmN5am5lLicsJ0tsdWN6IG9iY3knLCdUYWJlbGEgZG9jZWxvd2EnLCdabWllxYQnLCdEb2RhaiBrb2x1bW7EmScsJ1BlcnNwZWt0eXdhIHpvc3RhxYJhIHVzdW5pxJl0YS4nLCdQZXJzcGVrdHl3YSB6b3N0YcWCYSB6bWllbmlvbmEuJywnUGVyc3Bla3R5d2Egem9zdGHFgmEgdXR3b3J6b25hLicsJ1V0d8OzcnogcGVyc3Bla3R5d8SZJywnTmF6d2EnLCdXeWRhcnplbmllIHpvc3RhxYJvIHVzdW5pxJl0ZS4nLCdXeWRhcnplbmllIHpvc3RhxYJvIHptaWVuaW9uZS4nLCdXeWRhcnplbmllIHpvc3RhxYJvIHV0d29yem9uZS4nLCdabWllxYQgd3lkYXJ6ZW5pZScsJ1V0d8Ozcnogd3lkYXJ6ZW5pZScsJ1BvY3rEhXRlaycsJ0tvbmllYycsJ1d5a29udWogY28nLCdOaWUga2FzdWogd3lkYXJ6ZW5pYSBwbyBwcnpldGVybWlub3dhbml1JywnUHJvY2VkdXJhIHpvc3RhxYJhIHVzdW5pxJl0YS4nLCdQcm9jZWR1cmEgem9zdGHFgmEgem1pZW5pb25hLicsJ1Byb2NlZHVyYSB6b3N0YcWCYSB1dHdvcnpvbmEuJywnWm1pZcWEIGZ1bmtjasSZJywnWm1pZcWEIHByb2NlZHVyxJknLCdVdHfDs3J6IGZ1bmtjasSZJywnVXR3w7NyeiBwcm9jZWR1csSZJywnWndyYWNhbnkgdHlwJywnU2Vrd2VuY2phIHpvc3RhxYJhIHVzdW5pxJl0YS4nLCdTZWt3ZW5jamEgem9zdGHFgmEgdXR3b3J6b25hLicsJ1Nla3dlbmNqYSB6b3N0YcWCYSB6bWllbmlvbmEuJywnWm1pZcWEIHNla3dlbmNqxJknLCdVdHfDs3J6IHNla3dlbmNqxJknLCdUeXAgem9zdGHFgiB1c3VuacSZdHkuJywnVHlwIHpvc3RhxYIgdXR3b3J6b255LicsJ1ptaWXFhCB0eXAnLCdVdHfDs3J6IHR5cCcsJ1d5endhbGFjeiB6b3N0YcWCIHVzdW5pxJl0eS4nLCdXeXp3YWxhY3ogem9zdGHFgiB6bWllbmlvbnkuJywnV3l6d2FsYWN6IHpvc3RhxYIgdXR3b3J6b255LicsJ1ptaWXFhCB3eXp3YWxhY3onLCdVdHfDs3J6IHd5endhbGFjeicsJ0N6YXMnLCdXeWRhcnplbmllJywnVcW8eXRrb3duaWsgem9zdGHFgiB1c3VuacSZdHkuJywnVcW8eXRrb3duaWsgem9zdGHFgiB6bWllbmlvbnkuJywnVcW8eXRrb3duaWsgem9zdGHFgiBkb2RhbnkuJywnWmFoYXNob3dhbmUnLCdQcm9jZWR1cmEnLCdVcHJhd25pZW5pYScsJ1VzdcWEIHVwcmF3bmllbmlhJyxhcnJheSgnUHJ6ZXJ3YW5vICVkIHfEhXRlay4nLCdQcnplcndhbm8gJWQgd8SFdGtpLicsJ1ByemVyd2FubyAlZCB3xIV0a8Ozdy4nKSwnJWQgdyBzdW1pZScsJ1ByemVyd2lqIHd5a29ueXdhbmllJyxhcnJheSgnWm1pZW5pb25vICVkIHJla29yZC4nLCdabWllbmlvbm8gJWQgcmVrb3JkeS4nLCdabWllbmlvbm8gJWQgcmVrb3Jkw7N3LicpLCdLbGlrbmlqIHBvZHfDs2puaWUgd2FydG/Fm8SHLCBhYnkgasSFIGVkeXRvd2HEhy4nLGFycmF5KCclZCByZWtvcmQgem9zdGHFgiB6YWltcG9ydG93YW55LicsJyVkIHJla29yZHkgem9zdGHFgnkgemFpbXBvcnRvd2FuZS4nLCclZCByZWtvcmTDs3cgem9zdGHFgm8gemFpbXBvcnRvd2FueWNoLicpLCdOaWUgdWRhxYJvIHNpxJkgcG9icmHEhyBkYW55Y2ggeiB0YWJlbGknLCdSZWxhY2plJywnVcW8eWogbGlua3UgZWR5Y2ppIGFieSB6bWllbmnEhyB0xJkgd2FydG/Fm8SHLicsJ1N0cm9uYScsJ29zdGF0bmknLCd3eWJpZXJ6IHdzenlzdGtpZScsJ0R1cGxpa3VqJywnSW1wb3J0JywnICcsJ1RhYmVsZSB6b3N0YcWCeSBvcHLDs8W8bmlvbmUuJywnVGFiZWxlIHpvc3RhxYJ5IHByemVuaWVzaW9uZS4nLCdUYWJlbGUgem9zdGHFgnkgc2tvcGlvd2FuZS4nLCdUYWJlbGUgem9zdGHFgnkgdXN1bmnEmXRlLicsJ1RhYmVsZSBpIHBlcnNwZWt0eXd5JywnV3lzenVrYWogd2Ugd3N6eXN0a2ljaCB0YWJlbGFjaCcsJ1NrxYJhZG93YW5pZScsJ1Jvem1pYXIgZGFueWNoJywnUm96bWlhciBpbmRla3PDs3cnLCdXb2xuZSBtaWVqc2NlJywnTGljemJhIHJla29yZMOzdycsJ0FuYWxpenVqJywnT3B0eW1hbGl6dWonLCdTcHJhd2TFuicsJ05hcHJhdycsJ09wcsOzxbxuaWonLCdQcnplbmllxZsgZG8gaW5uZWogYmF6eSBkYW55Y2gnLCdQcnplbmllxZsnLCdLb3BpdWonLCdTZWt3ZW5jamUnLCdIYXJtb25vZ3JhbScsJ08gZGFueW0gY3phc2llJywndGVyYXonKTticmVhaztjYXNlImNhIjokWT1hcnJheSgnRXN0w6BzIHNlZ3VyPycsJ0ltcG9zc2libGUgYWRqdW50YXIgZWwgZml0eGVyLicsJ0xhIG1pZGEgbcOgeGltYSBwZXJtZXNhIGRlbCBmaXR4ZXIgw6lzIGRlICVzQi4nLCdFbCBmaXR4ZXIgbm8gZXhpc3RlaXguJywnYnVpdCcsJ29yaWdpbmFsJywnTm8gaGkgaGEgY2FwIHRhdWxhLicsJ0lkaW9tYScsJ1V0aWxpdHphJywnU2kgdXMgcGxhdSwgdXRpbGl0emEgdW5hIGRlIGxlcyBleHRlbnNpb25zICVzLicsJ0VsIGZpdHhlciBqYSBleGlzdGVpeC4nLCdUaXB1cyBkZSBsXCd1c3VhcmknLCdOb21icmVzJywnRGF0YSBpIGhvcmEnLCdDYWRlbmVzJywnQmluYXJpJywnWGFyeGEnLCdHZW9tZXRyaWEnLCdMbGlzdGVzJywnU2lzdGVtYScsJ1NlcnZpZG9yJywnTm9tIGRcJ3VzdWFyaScsJ0NvbnRyYXNlbnlhJywnSW5pY2lhIGxhIHNlc3Npw7MnLCdTZXNzacOzIHBlcm1hbmVudCcsJ1NlbGVjY2lvbmEgZGFkZXMnLCdNb3N0cmEgbFwnZXN0cnVjdHVyYScsJ01vZGlmaWNhIGxhIHZpc3RhJywnTW9kaWZpY2EgbGEgdGF1bGEnLCdOb3UgZWxlbWVudCcsJ0RhcnJlcmEgcGxhbmEnLCdFZGl0YScsYXJyYXkoJyVkIGJ5dGUnLCclZCBieXRlcycpLCdTZWxlY2Npb25hJywnRnVuY2lvbnMnLCdBZ3JlZ2FjacOzJywnQ2VyY2EnLCdhIHF1YWxzZXZvbCBsbG9jJywnT3JkZW5hJywnZGVzY2VuZGVudCcsJ0zDrW1pdCcsJ0xvbmdpdHVkIGRlbCB0ZXh0JywnQWNjacOzJywnT3JkcmUgU1FMJywnb2JyZScsJ2Rlc2EnLCdNb2RpZmljYSBsYSBiYXNlIGRlIGRhZGVzJywnTW9kaWZpY2EgbFwnZXNxdWVtYScsJ0NyZWEgdW4gZXNxdWVtYScsJ0V4cG9ydGEnLCdEZXNjb25uZWN0YScsJ2Jhc2UgZGUgZGFkZXMnLCdlc3F1ZW1hJywnQ3JlYSB1bmEgbm92YSB0YXVsYScsJ3JlZ2lzdHJlcycsJ2x0cicsJ1Jlc2VuZCBQT1NUIGRhdGE/JywnVG9rZW4gQ1NSRiBpbnbDoGxpZC4gVG9ybmEgYSBlbnZpYXIgZWwgZm9ybXVsYXJpLicsJ0Rlc2Nvbm5leGnDsyBjb3JyZWN0YS4nLCdDYWwgcXVlIGVzdGlndWkgcGVybcOocyBsXCd1cyBkZSBzZXNzaW9ucy4nLCdMYSBzZXNzacOzIGhhIGV4cGlyYXQsIHRvcm5hIGEgaW5pY2lhci1uZSB1bmEuJywnQ3JlZGVuY2lhbHMgaW52w6BsaWRzLicsJ0NhcCBleHRlbnNpw7MnLCdObyBoaSBoYSBjYXAgZGUgbGVzIGV4dGVuc2lvbnMgUEhQIHNvcG9yYXRhZGVzICglcykgZGlzcG9uaWJsZS4nLCdMZXMgZGFkZXMgUE9TVCBzw7NuIG1hc3NhIGdyYW5zLiBSZWR1ZWl4IGxlcyBkYWRlcyBvIGluY3JlbWVudGEgbGEgZGlyZWN0aXZhIGRlIGNvbmZpZ3VyYWNpw7MgJXMuJywnQmFzZSBkZSBkYWRlcycsJ0Jhc2UgZGUgZGFkZXMgaW52w6BsaWRhLicsJ1NcJ2hhbiBzdXByaW1pdCBsZXMgYmFzZXMgZGUgZGFkZXMuJywnU2VsZWNjaW9uYSBiYXNlIGRlIGRhZGVzJywnQ3JlYSB1bmEgbm92YSBiYXNlIGRlIGRhZGVzJywnUHJpdmlsZWdpcycsJ0xsaXN0YSBkZSBwcm9jZXNzb3MnLCdWYXJpYWJsZXMnLCdFc3RhdCcsJ1ZlcnNpw7MgJXM6ICVzIGFtYiBsXCdleHRlbnNpw7MgZGUgUEhQICVzJywnQ29ubmVjdGF0IGNvbTogJXMnLCdDb21wYWdpbmFjacOzJywnVGF1bGVzJywnU3VwcmltZWl4JywnUmVmcmVzY2EnLCdFc3F1ZW1hJywnRXNxdWVtYSBpbnbDoGxpZC4nLCdObyBoaSBoYSBjYXAgZmlsYS4nLCclLjNmIHMnLCdDbGF1cyBmb3JhbmVzJywnY29tcGFnaW5hY2nDsycsJ09OIERFTEVURScsJ05vbSBkZSBsYSBjb2x1bW5hJywnTm9tIGRlbCBwYXLDoG1ldHJlJywnVGlwdXMnLCdMbGFyZ2FkYScsJ09wY2lvbnMnLCdJbmNyZW1lbnQgYXV0b23DoHRpYycsJ1ZhbG9ycyBwZXIgZGVmZWN0ZScsJ0NvbWVudGFyaScsJ0FmZWdlaXggZWwgc2Vnw7xlbnQnLCdNb3UgYSBkYWx0JywnTW91IGEgYmFpeCcsJ1N1cHJpbWVpeCcsJ1Zpc3RhJywnVGF1bGEnLCdDb2x1bW5hJywnw41uZGV4cycsJ01vZGlmaWNhIGVscyDDrW5kZXhzJywnRm9udCcsJ0Rlc3TDrScsJ09OIFVQREFURScsJ01vZGlmaWNhJywnQWZlZ2VpeCB1bmEgY2xhdSBmb3JhbmEnLCdBY3RpdmFkb3JzJywnQWZlZ2VpeCB1biBhY3RpdmFkb3InLCdFc3F1ZW1hIGRlIGxhIGJhc2UgZGUgZGFkZXMnLCdQZXJtYW5lbnQgbGluaycsJ0V4cG9ydGEnLCdTb3J0aWRhJywnRm9ybWF0JywnUnV0aW5lcycsJ0V2ZW50cycsJ0RhdGEnLCdlZGl0YScsJ0NyZWEgdW4gdXN1YXJpJyxhcnJheSgnQ29uc3VsdGEgZXhlY3V0YWRhIGNvcnJlY3RhbWVudCwgJWQgZmlsYSBtb2RpZmljYWRhLicsJ0NvbnN1bHRhIGV4ZWN1dGFkYSBjb3JyZWN0YW1lbnQsICVkIGZpbGVzIG1vZGlmaWNhZGVzLicpLGFycmF5KCclZCBmaWxhJywnJWQgZmlsZXMnKSwnRXJyb3IgZW4gbGEgY29uc3VsdGEnLCdDYXAgY29tYW5kYSBwZXIgZXhlY3V0YXIuJyxhcnJheSgnJWQgY29uc3VsdGEgZXhlY3V0YWRhIGNvcnJlY3RhbWVudC4nLCclZCBjb25zdWx0ZXMgZXhlY3V0YWRlcyBjb3JyZWN0YW1lbnQuJyksJ0FkanVudGEgdW4gZml0eGVyJywnTFwnZGRqdW5jacOzIGRlIGZpdHhlcnMgZXN0w6AgZGVzYWN0aXZhZGEuJywnRXhlY3V0YScsJ0F0dXJhIGVuIHRyb2JhciB1biBlcnJvcicsJ01vc3RyYSBub23DqXMgZWxzIGVycm9ycycsJ0VuIGVsIHNlcnZpZG9yJywnRml0eGVyICVzIGRlbCBzZXJ2aWRvciB3ZWInLCdFeGVjdXRhIGVsIGZpdHhlcicsJ0hpc3TDsnJpYScsJ1N1cHJpbWVpeCcsJ0VkaXQgYWxsJywnU1wnaGEgc3Vwcm1pdCBsXCdlbGVtZW50LicsJ1NcJ2hhIGFjdHVhbGl0emF0IGxcJ2VsZW1lbnQuJywnU1wnaGEgaW5zZXJ0YXQgbFwnZWxlbWVudCVzLicsJ0luc2VyZWl4JywnRGVzYScsJ0Rlc2EgaSBzZWd1ZWl4IGVkaXRhbnQnLCdEZXNhIGkgaW5zZXJlaXggZWwgc2Vnw7xlbnQnLCdTdXByaW1laXgnLCdTXCdoYSBzdXByaW1pdCBsYSB0YXVsYS4nLCdTXCdoYSBtb2RpZmljYXQgbGEgdGF1bGEuJywnU1wnaGEgY3JlYXQgbGEgdGF1bGEuJywnQ3JlYSB1bmEgdGF1bGEnLCdTXCdoYSBhc3NvbGl0IGVsIG5vbWJyZSBtw6B4aW0gZGUgY2FtcHMuIEluY3JlbWVudGEgJXMgaSAlcy4nLCdOb20gZGUgbGEgdGF1bGEnLCdtb3RvcicsJ0ZlcyBwYXJ0aWNpb25zIHNlZ29ucycsJ1BhcnRpY2lvbnMnLCdOb20gZGUgbGEgcGFydGljacOzJywnVmFsb3JzJywnU1wnaGFuIG1vZGlmaWNhdCBlbHMgw61uZGV4cy4nLCdUaXB1cyBkXCfDrW5kZXgnLCdDb2x1bW5hIChsb25naXR1ZCknLCdTXCdoYSBzdXByaW1pdCBsYSBiYXNlIGRlIGRhZGVzLicsJ1NcJ2hhIGNhbnZpYXQgZWwgbm9tIGRlIGxhIGJhc2UgZGUgZGFkZXMuJywnU1wnaGEgY3JlYXQgbGEgYmFzZSBkZSBkYWRlcy4nLCdTXCdoYSBtb2RpZmljYXQgbGEgYmFzZSBkZSBkYWRlcy4nLCdDcmVhIHVuYSBiYXNlIGRlIGRhZGVzJywnU1wnaGEgc3VwcmltaXQgbFwnZXNxdWVtYS4nLCdTXCdoYSBjcmVhdCBsXCdlc3F1ZW1hLicsJ1NcJ2hhIG1vZGlmaWNhdCBsXCdlc3F1ZW1hLicsJ0NyaWRhJyxhcnJheSgnU1wnaGEgY3JpZGF0IGxhIHJ1dGluYSwgJWQgZmlsYSBtb2RpZmljYWRhLicsJ1NcJ2hhIGNyaWRhdCBsYSBydXRpbmEsICVkIGZpbGVzIG1vZGlmaWNhZGVzLicpLCdTXCdoYSBzdXByaW1pdCBsYSBjbGF1IGZvcmFuYS4nLCdTXCdoYSBtb2RpZmljYXQgbGEgY2xhdSBmb3JhbmEuJywnU1wnaGEgY3JlYXQgbGEgY2xhdSBmb3JhbmEuJywnTGVzIGNvbHVtbmVzIG9yaWdlbiBpIGRlc3TDrSBoYW4gZGUgc2VyIGRlbCBtYXRlaXggdGlwdXMsIGxhIGNvbHVtbmEgZGVzdMOtIGhhIGRcJ2VzdGFyIGluZGV4YWRhIGkgbGVzIGRhZGVzIHJlZmVyZW5jaWFkZXMgaGFuIGRcJ2V4aXN0aXIuJywnQ2xhdSBmb3JhbmEnLCdUYXVsYSBkZSBkZXN0w60nLCdDYW52aScsJ0FmZWdlaXggdW5hIGNvbHVtbmEnLCdTXCdoYSBzdXByaW1pdCBsYSB2aXN0YS4nLCdTXCdoYSBtb2RpZmljYXQgbGEgdmlzdGEuJywnU1wnaGEgY3JlYXQgbGEgdmlzdGEuJywnQ3JlYSB1bmEgdmlzdGEnLCdOb20nLCdTXCdoYSBzdXByaW1pdCBsXCdldmVudC4nLCdTXCdoYSBtb2RpZmljYXQgbFwnZXZlbnQuJywnU1wnaGEgY3JlYXQgbFwnZXZlbnQuJywnTW9kaWZpY2EgbFwnZXZlbnQnLCdDcmVhIHVuIGV2ZW50JywnQ29tZW7Dp2EnLCdBY2FiYScsJ0NhZGEnLCdDb25zZXJ2YXIgZW4gY29tcGxldGFyJywnU1wnaGEgc3VwcmltaXQgbGEgcnV0aW5hLicsJ1NcJ2hhIG1vZGlmaWNhdCBsYSBydXRpbmEuJywnU1wnaGEgY3JlYXQgbGEgcnV0aW5hLicsJ01vZGlmaWNhIGxhIGZ1bmNpw7MnLCdNb2RpZmljYSBlbCBwcm9jZWRpbWVudCcsJ0NyZWEgdW5hIGZ1bmNpw7MnLCdDcmVhIHVuIHByb2NlZGltZW50JywnVGlwdXMgcmV0b3JuYXQnLCdTXCdoYSBzdXByaW1pdCBsYSBzZXHDvMOobmNpYS4nLCdTXCdoYSBjcmVhdCBsYSBzZXHDvMOobmNpYS4nLCdTXCdoYSBtb2RpZmljYXQgbGEgc2Vxw7zDqG5jaWEuJywnTW9kaWZpY2EgbGEgc2Vxw7zDqG5jaWEnLCdDcmVhIHVuYSBzZXHDvMOobmNpYScsJ1NcJ2hhIHN1cHJpbWl0IGVsIHRpcHVzLicsJ1NcJ2hhIGNyZWF0IGVsIHRpcHVzLicsJ01vZGlmaWNhIGVsIHRpcHVzJywnQ3JlYSB1biB0aXB1cycsJ1NcJ2hhIHN1cHJpbWl0IGxcJ2FjdGl2YWRvci4nLCdTXCdoYSBtb2RpZmljYXQgbFwnYWN0aXZhZG9yLicsJ1NcJ2hhIGNyZWF0IGxcJ2FjdGl2YWRvci4nLCdNb2RpZmljYSBsXCdhY3RpdmFkb3InLCdDcmVhIHVuIGFjdGl2YWRvcicsJ1RlbXBzJywnRXZlbnQnLCdTXCdoYSBzdXByaW1pdCBsXCd1c3VhcmkuJywnU1wnaGEgbW9kaWZpY2F0IGxcJ3VzdWFyaS4nLCdTXCdoYSBjcmVhdCBsXCd1c3VhcmkuJywnSGFzaGVkJywnUnV0aW5hJywnR3JhbnQnLCdSZXZva2UnLGFycmF5KCdTXCdoYSBhdHVyYXQgJWQgcHJvY8Opcy4nLCdTXCdoYW4gYXR1cmF0ICVkIHByb2Nlc3Nvcy4nKSwnJWQgZW4gdG90YWwnLCdBdHVyYScsYXJyYXkoJ1NcJ2hhIG1vZGlmaWNhdCAlZCBlbGVtZW50LicsJ1NcJ2hhbiBtb2RpZmljYXQgJWQgZWxlbWVudHMuJyksJ0ZlcyB1biBkb2JsZSBjbGljIGEgdW4gdmFsb3IgcGVyIG1vZGlmaWNhci1sby4nLGFycmF5KCdTXCdoYSBpbXBvcnRhdCAlZCBmaWxhLicsJ1NcJ2hhbiBpbXBvcnRhdCAlZCBmaWxlcy4nKSwnSW1wb3NzaWJsZSBzZWxlY2Npb25hciBsYSB0YXVsYScsJ1JlbGFjaW9ucycsJ1V0aWxpdHphIGxcJ2VubGxhw6cgZFwnZWRpY2nDsyBwZXIgbW9kaWZpY2FyIGFxdWVzdCB2YWxvci4nLCdQbGFuYScsJ2RhcnJlcmEnLCd0b3RzIGVscyByZXN1bHRhdHMnLCdDbG9uYScsJ0ltcG9ydGEnLCcsJywnU1wnaGFuIGVzY2Fww6dhdCBsZXMgdGF1bGVzLicsJ1NcJ2hhbiBkZXNwbGHDp2F0IGxlcyB0YXVsZXMuJywnVGFibGVzIGhhdmUgYmVlbiBjb3BpZWQuJywnU1wnaGFuIHN1cHJpbWl0IGxlcyB0YXVsZXMuJywnVGF1bGVzIGkgdmlzdGVzJywnQ2VyY2EgZGFkZXMgZW4gbGVzIHRhdWxlcycsJ01vdG9yJywnTG9uZ2l0dWQgZGUgbGVzIGRhZGVzJywnTFwnb25naXR1ZCBkZSBsXCfDrW5kZXgnLCdFc3BhaSBsbGl1cmUnLCdGaWxlcycsJ0FuYWxpdHphJywnT3B0aW1pdHphJywnVmVyaWZpY2EnLCdSZXBhcmEnLCdFc2NhcMOnYScsJ0Rlc3BsYcOnYSBhIHVuYSBhbHRyYSBiYXNlIGRlIGRhZGVzJywnRGVzcGxhw6dhJywnQ29weScsJ1NlccO8w6huY2llcycsJ0hvcmFyaScsJ0EgdW4gbW9tZW50IGRvbmF0JywnYXJhJyk7YnJlYWs7Y2FzZSJwdCI6JFk9YXJyYXkoJ0VzdMOhIHNlZ3Vybz8nLCdOw6NvIMOpIHBvc3NpdmVsIGVudmlhciBvIGFycXVpdm8uJywnVGFtYW5obyBtw6F4aW1vIGRvIGFycXVpdm8gw6kgJXNCLicsJ0FycXVpdm8gbsOjbyBleGlzdGUuJywndmF6aW8nLCdvcmlnaW5hbCcsJ07Do28gZXhpc3RlbSB0YWJlbGFzLicsJ0lkaW9tYScsJ1VzYXInLCdQb3IgZmF2b3IgdXNlIHVtYSBkYXMgZXh0ZW5zw7VlcyAlcy4nLCdBcnF1aXZvIGphIGV4aXN0ZS4nLCdUaXBvcyBkZWZpbmlkbyBwZWxvIHVzdWFyaW8nLCdOw7ptZXJvcycsJ0RhdGEgZSBob3JhJywnQ2FkZW5hJywnQmluYXJpbycsJ1JlZGUnLCdHZW9tZXRyw61hJywnTGlzdGFzJywnTW90b3IgZGUgQmFzZSBkZSBkYWRvcycsJ1NlcnZpZG9yJywnVXN1YXJpbycsJ1NlbmhhJywnRW50cmFyJywnU2FsdmFyIFNlbmhhJywnU2VsZWNpb25hciBkYWRvcycsJ01vc3RyYXIgZXN0cnV0dXJhJywnTW9kaWZpY2FyIHZpc3RhJywnTW9kaWZpY2FyIGVzdHJ1dHVyYScsJ05vdm8gUmVnaXN0cm8nLCdVbHRpbWEgcMOhZ2luYScsJ01vZGlmaWNhcicsYXJyYXkoJyVkIGJ5dGUnLCclZCBieXRlcycpLCdTZWxlY2lvbmFyJywnRnVuw6fDtWVzJywnQWRpw6fDtWVzJywnUHJvY3VyYXInLCdxdWFscXVlciBsb2NhbCcsJ09yZGVuYXInLCdkZWNyZXNjZW50ZScsJ0xpbWl0ZScsJ1RhbWFuaG8gZGUgdGV4dG8nLCdBw6fDo28nLCdDb21hbmRvIFNRTCcsJ21vc3RyYXInLCdzYWx2YXMnLCdNb2RpZmljYXIgQmFzZSBkZSBkYWRvcycsJ01vZGlmaWNhciBlc3F1ZW1hJywnQ3JpYXIgZXNxdWVtYScsJ0V4cG9ydGFyJywnU2FpcicsJ2Jhc2UgZGUgZGFkb3MnLCdlc3F1ZW1hJywnTm92YSB0YWJlbGEnLCdyZWdpc3Ryb3MnLCdsdHInLCdSZXNlbmQgUE9TVCBkYXRhPycsJ1Rva2VuIENTUkYgaW52w6FsaWRvLiBFbnZpYXIgbyBmb3JtdWxhcmlvIG5vdmFtZW50ZS4nLCdTYWlkYSBiZW0gc3VjZWRpZGEuJywnRGV2ZW0gZXN0YXIgaGFiaWxpdGFkYXMgYXMgc2Vzc8O1ZXMuJywnU2Vzc8OjbyBleHBpcmFkYSwgcG9yIGZhdm9yIGVudHJlIHN1YSBDaGF2ZSBkZSBub3ZvLicsJ0lkZW50aWZpY2HDp8OjbyBpbnbDoWxpZGEuJywnTsOjbyBoYSBleHRlbnNpb24nLCdOZW5odW1hIGRhcyBleHRlbnPDtWVzIFBIUCBzb3BvcnRhZGFzICglcykgZXN0w6EgZGlzcG9uaXZlbC4nLCdQT1NUIGRhdGEgZGVtYXNpYWRvIGdyYW5kZS4gUmVkdXphIG8gdGFtYW5obyBvdSBhdW1lbnRlIGEgZGlyZXRpdmEgZGUgY29uZmlndXJhw6fDo28gJXMuJywnQmFzZSBkZSBkYWRvcycsJ0Jhc2UgZGUgZGFkb3MgaW52w6FsaWRhLicsJ0Jhc2VzIGRlIGRhZG9zIGVsaW1pbmFkYXMuJywnU2VsZWNpb25hciBCYXNlIGRlIGRhZG9zJywnQ3JpYXIgbm92YSBiYXNlIGRlIGRhZG9zJywnUHJpdmlsZWdpb3MnLCdMaXN0YSBkZSBwcm9jZXNzb3MnLCdWYXJpYXZlaXMnLCdFc3RhZG8nLCdWZXJzw6NvICVzOiAlcyBhdHJhdsOpcyBkYSBleHRlbnPDo28gUEhQICVzJywnTG9nYWRvIGNvbW86ICVzJywnQ29sYcOnw6NvJywnVGFiZWxhcycsJ1JlbW92ZXInLCdBdHVhbGl6YXInLCdFc3F1ZW1hJywnRXNxdWVtYSBpbnbDoWxpZG8uJywnTsOjbyBleGlzdGVtIHJlZ2lzdHJvcy4nLCclLjNmIHMnLCdDaGF2ZXMgZm9yw6FuZWFzJywnY29sbGF0aW9uJywnT04gREVMRVRFJywnTm9tZSBkYSBjb2x1bmEnLCdOb21lIGRlIFBhcmFtZXRybycsJ1RpcG8nLCdUYW1hbmhvJywnT3DDp8O1ZXMnLCdJbmNyZW1lbnRvIEF1dG9tw6F0aWNvJywnVmFsb3JlcyBwcmVkZXRlcm1pbmFkb3MnLCdDb21lbnRhcmlvJywnQWRpY2lvbmFyIHByb3hpbW8nLCdNb3ZlciBhY2ltYScsJ01vdmVyIGFiYWl4bycsJ1JlbW92ZXInLCdWaXN1YWxpemFyJywnVGFiZWxhJywnQ29sdW5hJywnSW5kaWNlcycsJ01vZGlmaWNhciBpbmRpY2VzJywnT3JpZ2VtJywnRGVzdGlubycsJ09OIFVQREFURScsJ01vZGlmaWNhcicsJ0FkaWNpb25hciBDaGF2ZSBmb3LDoW5lYScsJ1RyaWdnZXJzJywnQWRpY2lvbmFyIHRyaWdnZXInLCdFc3F1ZW1hIGRlIEJhc2UgZGUgZGFkb3MnLCdQZXJtYW5lbnQgbGluaycsJ0V4cG9ydGFyJywnU2FpZGEnLCdGb3JtYXRvJywnUHJvY2VkaW1lbnRvcycsJ0V2ZW50b3MnLCdEYWRvcycsJ21vZGlmaWNhcicsJ0NyaWFyIFVzdWFyaW8nLGFycmF5KCdDb25zdWx0YSBleGVjdXRhZGEsICVkIHJlZ2lzdHJvIGFmZXRhZG9zLicsJ0NvbnN1bHRhIGV4ZWN1dGFkYSwgJWQgcmVnaXN0cm9zIGFmZXRhZG9zLicpLGFycmF5KCclZCByZWdpc3RybycsJyVkIHJlZ2lzdHJvcycpLCdFcnJvIG5hIGNvbnN1bHRhJywnTmVuaHVtIGNvbWFuZG8gcGFyYSBleGVjdXRhci4nLGFycmF5KCclZCBjb25zdWx0YSBzcWwgZXhlY3V0YWRhIGNvcnJldGFtZW50ZS4nLCclZCBjb25zdWx0YSBzcWwgZXhlY3V0YWRhcyBjb3JyZXRhbWVudGUuJyksJ0ltcG9ydGFyIGFycXVpdm8nLCdJbXBvcnRhw6fDo28gZGUgYXJxdWl2b3MgZGVzYWJsaWxpdGFkby4nLCdFeGVjdXRhcicsJ1BhcmFyIGVtIGNhc28gZGUgZXJybycsJ01vc3RyYXIgc29tZW50ZSBlcnJvcycsJ0Rlc2RlIHNlcnZpZG9yJywnQXJxdWl2byBkbyBzZXJ2aWRvciB3ZWIgJXMnLCdFeGVjdXRhciBBcnF1aXZvJywnSGlzdG9yaWNvJywnTGltcGFyJywnRWRpdCBhbGwnLCdSZWdpc3RybyBlbGltaW5hZG8uJywnUmVnaXN0cm8gbW9kaWZpY2Fkby4nLCdSZWdpc3RybyVzIGluc2VyaWRvLicsJ0luc2VyaXInLCdTYWx2YXInLCdTYWx2YXIgZSBjb250aW51YXIgZWRpdGFuZG8nLCdTYWx2YXIgZSBpbnNlcmlyIG91dHJvJywnQXBhZ2FyJywnVGFiZWxhIGVsaW1pbmFkYS4nLCdUYWJlbGEgbW9kaWZpY2FkYS4nLCdUYWJlbGEgY3JpYWRhLicsJ0NyaWFyIHRhYmVsYScsJ0NhbnRpZGEgbcOheGltYSBkZSBjYW1wb3MgcGVybWl0aWRvcyBleGNlZGlkb3MuIFBvciBmYXZvciBhdW1lbnRlICVzIHkgJXMuJywnTm9tZSBkYSB0YWJlbGEnLCdtb3RvcicsJ1BhcnRpY2lvbmFyIHBvcicsJ1BhcnRpw6fDtWVzJywnTm9tZSBkYSBQYXJ0acOnw6NvJywnVmFsb3JlcycsJ0luZGljZXMgbW9kaWZpY2Fkb3MuJywnVGlwbyBkZSDDrW5kaWNlJywnY29sdW5hICh0YW1hbmhvKScsJ0Jhc2UgZGUgZGFkb3MgZWxpbWluYWRhLicsJ0Jhc2UgZGUgZGFkb3MgcmVub21lYWRhLicsJ0Jhc2UgZGUgZGFkb3MgY3JpYWRhLicsJ0Jhc2UgZGUgZGFkb3MgbW9kaWZpY2FkYS4nLCdDcmlhciBCYXNlIGRlIGRhZG9zJywnRXNxdWVtYSBlbGltaW5hZG8uJywnRXNxdWVtYSBjcmlhZG8uJywnRXNxdWVtYSBtb2RpZmljYWRvLicsJ0NoYW1hcicsYXJyYXkoJ0NvbnN1bHRhIGV4ZWN1dGFkYSwgJWQgcmVnaXN0cm8gYWZldGFkby4nLCdDb25zdWx0YSBleGVjdXRhZGEsICVkIHJlZ2lzdHJvcyBhZmV0YWRvcy4nKSwnQ2hhdmUgZXh0ZXJuYSBlbGltaW5hZGEuJywnQ2hhdmUgZXh0ZXJuYSBtb2RpZmljYWRhLicsJ0NoYXZlIGV4dGVybmEgY3JpYWRhLicsJ0FzIGNvbHVuYXMgZGUgb3JpZ2VuIGUgZGVzdGlubyBkZXZlbSBzZXIgZG8gbWVzbW8gdGlwbywgZGV2ZSBleGlzdGlyIHVtIMOtbmRpY2UgZW50cmUgYXMgY29sdW5hcyBkZSBkZXN0aW5vIGUgbyByZWdpc3RybyByZWZlcmVuY2lhZG8gZGV2ZSBleGlzdGlyLicsJ0NoYXZlIGV4dGVybmEnLCdUYWJlbGEgZGUgZGVzdGlubycsJ01vZGlmaWNhcicsJ0FkaWNpb25hciBjb2x1bmEnLCdWaXN0YSBlbGltaW5hZGEuJywnVmlzdGEgbW9kaWZpY2FkYS4nLCdWaXN0YSBjcmlhZGEuJywnQ3JpYXIgdmlzdGEnLCdOb21lJywnRXZlbnRvIGVsaW1pbmFkby4nLCdFdmVudG8gbW9kaWZpY2Fkby4nLCdFdmVudG8gY3JpYWRvLicsJ01vZGlmaWNhciBFdmVudG8nLCdDcmlhciBFdmVudG8nLCdJbmljaW8nLCdGaW0nLCdDYWRhJywnQW8gY29tcGxldGFyIHByZXNlcnZhcicsJ1Byb2NlZGltZW50byBlbGltaW5hZG8uJywnUHJvY2VkaW1lbnRvIG1vZGlmaWNhZG8uJywnUHJvY2VkaW1lbnRvIGNyaWFkby4nLCdNb2RpZmljYXIgRnVuw6fDo28nLCdNb2RpZmljYXIgcHJvY2VkaW1pZW50bycsJ0NyaWFyIGZ1bsOnw6NvJywnQ3JpYXIgcHJvY2VkaW1lbnRvJywnVGlwbyBkZSB2YWxvciBkZSByZWdyZXNvJywnU2VxdWVuY2lhIGVsaW1pbmFkYS4nLCdTZXF1ZW5jaWEgY3JpYWRhLicsJ1NlcXVlbmNpYSBtb2RpZmljYWRhLicsJ01vZGlmaWNhciBzZXF1ZW5jaWEnLCdDcmlhciBzZXF1ZW5jaWFzJywnVGlwbyBlbGltaW5hZG8uJywnVGlwbyBjcmlhZG8uJywnTW9kaWZpY2FyIHRpcG8nLCdDcmlhciB0aXBvJywnVHJpZ2dlciBlbGltaW5hZG8uJywnVHJpZ2dlciBtb2RpZmljYWRvLicsJ1RyaWdnZXIgY3JpYWRvLicsJ01vZGlmaWNhciBUcmlnZ2VyJywnQWRpY2lvbmFyIFRyaWdnZXInLCdUZW1wbycsJ0V2ZW50bycsJ1VzdWFyaW8gZWxpbWluYWRvLicsJ1VzdWFyaW8gbW9kaWZpY2Fkby4nLCdVc3VhcmlvIGNyaWFkby4nLCdIYXNoJywnUm90aW5hJywnQ29uY2VkZXInLCdJbXBlZGlyJyxhcnJheSgnJWQgcHJvY2Vzc28gdGVybWluYWRvLicsJyVkIHByb2Nlc3NvcyB0ZXJtaW5hZG9zLicpLCclZCBubyB0b3RhbCcsJ1BhcmFyJyxhcnJheSgnJWQgw610ZW0gYWZldGFkby4nLCclZCBpdGVucyBhZmV0YWRvcy4nKSwnRG9ibGUtY2xpYyBzb2JyZSBvIHZhbG9yIHBhcmEgZWRpdGEtbG8uJyxhcnJheSgnJWQgcmVnaXN0cm8gaW1wb3J0YWRvLicsJyVkIHJlZ2lzdHJvcyBpbXBvcnRhZG9zLicpLCdOw6NvIMOpIHBvc3NpdmVsIHNlbGVjaW9uYXIgYSBUYWJlbGEnLCdSZWxhw6fDtWVzJywnVXRpbGl6ZSBvIGxpbmsgbW9kaWZpY2FyIHBhcmEgYWx0ZXJhci4nLCdQw6FnaW5hJywnw7psdGltbycsJ3Jlc3VsdGFkbyBjb21wbGV0bycsJ0Nsb25hcicsJ0ltcG9ydGFyJywnICcsJ1RhYmVsYXMgdHJ1bmNhZGFzICh0cnVuY2F0ZSkuJywnQXMgVGFiZWxhcyBmb3JhbSBtb3ZpZGFzLicsJ1RhYmxlcyBoYXZlIGJlZW4gY29waWVkLicsJ1RhYmVsYXMgZWxpbWluYWRhcy4nLCdUYWJlbGFzIGUgdmlzdGFzJywnQnVzY2FyIGRhZG9zIG5hcyBUYWJlbGFzJywnTW90b3InLCdUYW1hbmhvIGRlIGRhZG9zJywnVGFtYW5obyBkZSDDrW5kaWNlJywnRXNwYcOnbyBMaXZyZScsJ1JlZ2lzdHJvcycsJ0FuYWxpemFyJywnT3RpbWl6YXInLCdWZXJpZmljYXInLCdSZXBhcmFyJywnVHJ1bmNhcicsJ01vdmVyIG91dHJhIEJhc2UgZGUgZGFkb3MnLCdNb3ZlcicsJ0NvcHknLCdTZXF1ZW5jaWFzJywnQWdlbmRhJywnQSBob3JhIGRldGVybWluYWRhJywnYWdvcmEnKTticmVhaztjYXNlInNsIjokWT1hcnJheSgnU3RlIHByZXByacSNYW5pPycsJ05lIG1vcmVtIG5hbG/Fvml0aSBkYXRvdGVrZS4nLCdOYWp2ZcSNamEgdmVsaWtvc3QgZGF0b3Rla2UgamUgJXNCLicsJ0RhdG90ZWthIG5lIG9ic3RhamEuJywncHJhem5vJywnb3JpZ2luYWwnLCdOaSB0YWJlbC4nLCdKZXppaycsJ1Vwb3JhYmknLCdQcm9zaW0sIHVwb3JhYml0ZSBlbmVnYSBvZCBkb2RhdGtvdiAlcy4nLCdEYXRvdGVrYSBvYnN0YWphLicsJ1Vwb3JhYm5pxaFraSB0aXBpJywnxaB0ZXZpbGEnLCdEYXR1bSBpbiDEjWFzJywnTml6aScsJ0JpbmFybmknLCdNcmXFvm5pJywnR2VvbWV0csSNbmknLCdTZXpuYW1pJywnU2lzdGVtJywnU3RyZcW+bmlrJywnVXBvcmFibmnFoWtvIGltZScsJ0dlc2xvJywnUHJpamF2aSBzZScsJ1RyYWpuYSBwcmlqYXZhJywnSXpiZXJpIHBvZGF0a2UnLCdQb2thxb5pIHpncmFkYm8nLCdTcHJlbWVuaSBwb2dsZWQnLCdTcHJlbWVuaSB0YWJlbG8nLCdOb3YgcHJlZG1ldCcsJ1phZG5qYSBzdHJhbicsJ1VyZWRpJyxhcnJheSgnJWQgYmFqdCcsJyVkIGJhanRhJywnJWQgYmFqdGknLCclZCBiYWp0b3YnKSwnSXpiZXJpJywnRnVua2NpamUnLCdaZHJ1xb5pdGV2JywnScWhxI1pJywna2plcmtvbGknLCdTb3J0aXJhaicsJ3BhZGFqb8SNZScsJ0xpbWl0YScsJ0RvbMW+aW5hIHRla3N0YScsJ0RlamFuamUnLCdVa2F6IFNRTCcsJ29kcHJpJywnc2hyYW5pJywnU3ByZW1lbmkgYmF6bycsJ1NwcmVtZW5pIHNoZW1vJywnVXN0dmFyaSBzaGVtbycsJ0l6dm96aScsJ09kamF2aSBzZScsJ2JhemEnLCdzaGVtYScsJ1VzdHZhcmkgbm92byB0YWJlbG8nLCdpemJlcmknLCdsdHInLCdSZXNlbmQgUE9TVCBkYXRhPycsJ05ldmVsamF2ZW4gdG9rZW4gQ1NSRi4gUG/FoWxqaXRlIGZvcm11bGFyIMWhZSBlbmtyYXQuJywnUHJpamF2YSB1c3BlxaFuYS4nLCdQb2Rwb3JhIHphIHNlamUgbW9yYSBiaXRpIG9tb2dvxI1lbmEuJywnU2VqYSBqZSBwb3Rla2xhLiBQcm9zaW1vLCBwb25vdm5vIHNlIHByaWphdml0ZS4nLCdOZXZlbGphdm5lIHByYXZpY2UuJywnQnJleiBkb2RhdGtvdicsJ05vYmVuIG9kIHBvZHBydGloIGRvZGF0a292IHphIFBIUCAoJXMpIG5pIG5hIHZvbGpvLicsJ1ByZXZlbGlrbyBwb2RhdGtvdiB6YSBQT1NULiBabWFuasWhYWp0ZSDFoXRldmlsbyBwb2RhdGtvdiBhbGkgcG92ZcSNYWp0ZSBuYXN0YXZpdGV2IHphICVzLicsJ0JhemEnLCdOZXZlbGphdm5hIGJhemEuJywnQmF6ZSBzbyB6YXZyxb5lbmUuJywnSXpiZXJpIGJhem8nLCdVc3R2YXJpIG5vdm8gYmF6bycsJ1ByYXZpY2UnLCdTZXpuYW0gcHJvY2Vzb3YnLCdTcHJlbWVubGppdmtlJywnU3RhbmplJywnVmVyemlqYSAlczogJXMgcHJla28gZG9kYXRrYSB6YSBQSFAgJXMnLCdQcmlqYXZsamVuIGtvdDogJXMnLCdaYmlyYW5qZScsJ1RhYmVsZScsJ1phdnJ6aScsJ09zdmXFvmknLCdTaGVtYScsJ05ldmVsamF2bmEgc2hlbWEuJywnTmkgdnJzdGljLicsJyUuM2YgcycsJ1R1amkga2xqdcSNaScsJ3piaXJhbmplJywncHJpIGJyaXNhbmp1JywnSW1lIHN0b2xwY2EnLCdJbWUgcGFyYW1ldHJhJywnVGlwJywnRG9sxb5pbmEnLCdNb8W+bm9zdGknLCdTYW1vZGVqbm8gcG92ZcSNZXZhbmplJywnUHJpdnpldGUgdnJlZG5vc3RpJywnS29tZW50YXInLCdEb2RhaiBuYXNsZWRuamVnYScsJ1ByZW1ha25pIGdvcicsJ1ByZW1ha25pIGRvbCcsJ09kc3RyYW5pJywnUG9nbGVkaScsJ1RhYmVsYScsJ1N0b2xwZWMnLCdJbmRla3NpJywnU3ByZW1lbmkgaW5kZWtzZScsJ0l6dm9yJywnQ2lsaicsJ3ByaSBwb3NvZGFibGphbmp1JywnU3ByZW1lbmknLCdEb2RhaiB0dWoga2xqdcSNJywnU3Byb8W+aWxuaWtpJywnRG9kYWogc3Byb8W+aWxuaWsnLCdTaGVtYSBiYXplJywnUGVybWFuZW50IGxpbmsnLCdJenZvemknLCdJemhvZCByZXp1bHRhdGEnLCdGb3JtYXQnLCdQb3N0b3BraScsJ0RvZ29ka2knLCdQb2RhdGtpJywndXJlZGknLCdVc3R2YXJpIHVwb3JhYm5pa2EnLGFycmF5KCdQb2l6dmVkYmEgc2UgamUgdXNwZcWhbm8gaXp2ZWRsYSwgc3ByZW1lbmplbmEgamUgJWQgdnJzdGljYS4nLCdQb2l6dmVkYmEgc2UgamUgdXNwZcWhbm8gaXp2ZWRsYSwgc3ByZW1lbmplbmkgc3RhICVkIHZyc3RpY2kuJywnUG9penZlZGJhIHNlIGplIHVzcGXFoW5vIGl6dmVkbGEsIHNwcmVtZW5qZW5lIHNvICVkIHZyc3RpY2UuJywnUG9penZlZGJhIHNlIGplIHVzcGXFoW5vIGl6dmVkbGEsIHNwcmVtZW5qZW5paCBqZSAlZCB2cnN0aWMuJyksYXJyYXkoJyVkIHZyc3RpY2EnLCclZCB2cnN0aWNpJywnJWQgdnJzdGljZScsJyVkIHZyc3RpYycpLCdOYXBha2EgdiBwb2l6dmVkYmknLCdOaSB1a2F6b3YgemEgaXp2ZWRiby4nLGFycmF5KCdVc3BlxaFubyBzZSBqZSBrb27EjWFsYSAlZCBwb2l6dmVkYmEuJywnVXNwZcWhbm8gc3RhIHNlIGtvbsSNYWxpICVkIHBvaXp2ZWRiaS4nLCdVc3BlxaFubyBzbyBzZSBrb27EjWFsZSAlZCBwb2l6dmVkYmUuJywnVXNwZcWhbm8gc2UgamUga29uxI1hbG8gJWQgcG9penZlZGIuJyksJ05hbG/FvmkgZGF0b3Rla28nLCdOYWxhZ2FuamUgZGF0b3RlayBqZSBvbmVtb2dvxI1lbm8uJywnSXp2ZWRpJywnVXN0YXZpIG9iIG5hcGFraScsJ1Bva2HFvmkgc2FtbyBuYXBha2UnLCd6IHN0cmXFvm5pa2EnLCdEYXRvdGVrYSBuYSBzcGxldG5lbSBzdHJlxb5uaWt1ICVzJywnWmHFvmVuaSBkYXRvdGVrbycsJ1pnb2RvdmluYScsJ1BvxI1pc3RpJywnRWRpdCBhbGwnLCdQcmVkbWV0IGplIGl6YnJpc2FuLicsJ1ByZWRtZXQgamUgcG9zb2RvYmxqZW4uJywnUHJlZG1ldCVzIGplIHZzdGF2bGplbi4nLCdWc3RhdmknLCdTaHJhbmknLCdTaHJhbmkgaW4gbmFkYWxqdWogeiB1cmVqYW5qZW0nLCdTaHJhbmkgaW4gdnN0YXZpIHRla3N0JywnSXpicmnFoWknLCdUYWJlbGEgamUgemF2csW+ZW5hLicsJ1RhYmVsYSBqZSBzcHJlbWVuamVuYS4nLCdUYWJlbGEgamUgdXN0dmFyamVuYS4nLCdVc3R2YXJpIHRhYmVsbycsJ05hanZlxI1qZSDFoXRldmlsbyBkb3ZvbGplbmloIHBvbGplIGplIHByZXNlxb5lbm8uIFByb3NpbW8sIHBvdmXEjWFqdGUgJXMgaW4gJXMuJywnSW1lIHRhYmVsZScsJ3BvZ29uJywnUG9yYXpkZWxpIHBvJywnUG9yYXpkZWxpdHZlJywnSW1lIHBvcmF6ZGVsaXR2ZScsJ1ZyZWRub3N0aScsJ0luZGVrc2kgc28gc3ByZW1lbmplbmkuJywnVGlwIGluZGVrc2EnLCdTdG9scGVjIChkb2zFvmluYSknLCdCYXphIGplIHphdnLFvmVuYS4nLCdCYXphIGplIHByZWltZW5vdmFuYS4nLCdCYXphIGplIHVzdHZhcmplbmEuJywnQmF6YSBqZSBzcHJlbWVuamVuYS4nLCdVc3R2YXJpIGJhem8nLCdTaGVtYSBqZSB6YXZyxb5lbmEuJywnU2hlbWEgamUgdXN0dmFyamVuYS4nLCdTaGVtYSBqZSBzcHJlbWVuamVuYS4nLCdQb2tsacSNaScsYXJyYXkoJ0tsaWNhbiBqZSBiaWwgcG9zdG9wZWssIHNwcmVtZW5qZW5hIGplICVkIHZyc3RpY2EuJywnS2xpY2FuIGplIGJpbCBwb3N0b3Blaywgc3ByZW1lbmplbmkgc3RhICVkIHZyc3RpY2kuJywnS2xpY2FuIGplIGJpbCBwb3N0b3Blaywgc3ByZW1lbmplbmUgc28gJWQgdnJzdGljZS4nLCdLbGljYW4gamUgYmlsIHBvc3RvcGVrLCBzcHJlbWVuamVuaWggamUgJWQgdnJzdGljLicpLCdUdWoga2xqdcSNIGplIHphdnLFvmVuLicsJ1R1aiBrbGp1xI0gamUgc3ByZW1lbmplbi4nLCdUdWoga2xqdcSNIGplIHVzdHZhcmplbi4nLCdJenZvcm5pIGluIGNpbGpuaSBzdG9scGVjIG1vcmEgaW1ldGkgaXN0aSBwb2RhdGtvdm5pIHRpcC4gT2JzdGFqYXRpIG1vcmEgaW5kZWtzIG5hIGNpbGpuaWggc3RvbHBjaWggaW4gb2JzdGFqYXRpIG1vcmFqbyByZWZlcmVuxI1uaSBwb2RhdGtpLicsJ1R1aiBrbGp1xI0nLCdDaWxqbmEgdGFiZWxhJywnU3ByZW1lbmknLCdEb2RhaiBzdG9scGVjJywnUG9nbGVkIGplIHphdnLFvmVuLicsJ1BvZ2xlZCBqZSBzcHJlbWVuamVuLicsJ1BvZ2xlZCBqZSB1c3R2YXJqZW4uJywnVXN0dmFyaSBwb2dsZWQnLCdOYXppdicsJ0RvZ29kZWsgamUgemF2csW+ZW4uJywnRG9nb2RlayBqZSBzcHJlbWVuamVuLicsJ0RvZ29kZWsgamUgdXN0dmFyamVuLicsJ1NwcmVtZW5pIGRvZ29kZWsnLCdVc3R2YXJpIGRvZ29kZWsnLCdaYcSNZXRlaycsJ0tvbmVjJywndnNha2UnLCdQbyB6YWtsanXEjWt1IG9ocmFuaScsJ1Bvc3RvcGVrIGplIHphdnLFvmVuLicsJ1Bvc3RvcGVrIGplIHNwcmVtZW5qZW4uJywnUG9zdG9wZWsgamUgdXN0dmFyamVuLicsJ1NwcmVtZW5pIGZ1bmtjaWpvJywnU3ByZW1lbmkgcG9zdG9wZWsnLCdVc3R2YXJpIGZ1bmtjaWpvJywnVXN0dmFyaSBwb3N0b3BlaycsJ1ZyYcSNYWxuaSB0aXAnLCdTZWt2ZW5jYSBqZSB6YXZyxb5lbmEuJywnU2VrdmVuY2UgamUgdXN0dmFyamVuYS4nLCdTZWt2ZW5jZSBqZSBzcHJlbWVuamVuYS4nLCdTcHJlbW5pIHNla3ZlbmNvJywnVXN0dmFyaSBzZWt2ZW5jbycsJ1RpcCBqZSB6YXZyxb5lbi4nLCdUaXAgamUgdXN0dmFyamVuLicsJ1NwcmVtZW5pIHRpcCcsJ1VzdHZhcmkgdGlwJywnU3Byb8W+aWxuaWsgamUgb2RzdHJhbmplbi4nLCdTcHJvxb5pbG5payBqZSBzcHJlbWVuamVuLicsJ1Nwcm/FvmlsbmlrIGplIHVzdHZhcmplbi4nLCdTcHJlbWVuaSBzcHJvxb5pbG5paycsJ1VzdHZhcmkgc3Byb8W+aWxuaWsnLCfEjGFzJywnRG9nb2RlaycsJ1Vwb3JhYm5payBqZSBvZHN0cmFuamVuLicsJ1Vwb3JhYm5payBqZSBzcHJlbWVuamVuLicsJ1Vwb3JhYm5payBqZSB1c3R2YXJqZW4uJywnWmFrb2RpcmFubycsJ1Bvc3RvcGVrJywnRG92b2xpJywnT2R2emVtaScsYXJyYXkoJ0tvbsSNYW4gamUgJWQgcHJvY2VzLicsJ0tvbsSNYW5hIHN0YSAlZCBwcm9jZXNhLicsJ0tvbsSNYW5pIHNvICVkIHByb2Nlc2kuJywnS29uxI1hbmloIGplICVkIHByb2Nlc292LicpLCdTa3VwYWogJWQnLCdLb27EjWFqJyxhcnJheSgnU3ByZW1lbmplbiBqZSAlZCBwcmVkbWV0LicsJ1NwcmVtZW5qZW5hIHN0YSAlZCBwcmVkbWV0YS4nLCdTcHJlbWVuamVuaSBzbyAlZCBwcmVkbWV0aS4nLCdTcHJlbWVuamVuaWggamUgJWQgcHJlZG1ldG92LicpLCdEdm9qbmkga2xpayBuYSB2cmVkbm9zdCB6YSB1cmVqYW5qZS4nLGFycmF5KCdVdm/FvmVuYSBqZSAlZCB2cnN0aWNhLicsJ1V2b8W+ZW5pIHN0YSAlZCB2cnN0aWNpLicsJ1V2b8W+ZW5lIHNvICVkIHZyc3RpY2UuJywnVXZvxb5lbmloIGplICVkIHZyc3RpYy4nKSwnTmUgbW9yZW0gaXpicmF0aSB0YWJlbGUnLCdSZWxhY2lqc2tpJywnVXBvcmFiaXRlIHVyZWphbmplIHBvdmV6YXZlIHphIHNwcmVtaW5qYW5qZSB0ZSB2cmVkbm9zdGkuJywnU3RyYW4nLCdaYWRuamEnLCdjZWwgcmF6dWx0YXQnLCdLbG9uaXJhaicsJ1V2b3ppJywnICcsJ1RhYmVsZSBzbyBza3JhasWhYW5lLicsJ1RhYmVsZSBzbyBwcmVtYWtuamVuZS4nLCdUYWJlbGUgc28ga29waXJhbmUuJywnVGFiZWxlIHNvIHphdnLFvmVuZS4nLCdUYWJlbGUgaW4gcG9nbGVkaScsJ0nFocSNZSBwb2RhdGtlIHBvIHRhYmVsYWgnLCdQb2dvbicsJ1ZlbGlrb3N0IHBvZGF0a292JywnVmVsaWtvc3QgaW5kZWtzYScsJ1BvZGF0a292IHByb3N0byAnLCdWcnN0aWMnLCdBbmFsaXppcmFqJywnT3B0aW1pemlyYWonLCdQcmV2ZXJpJywnUG9wcmF2aScsJ1NrcmFqxaFhaicsJ1ByZW1ha25pIHYgZHJ1Z28gYmF6bycsJ1ByZW1ha25pJywnS29waXJhaicsJ1Nla3ZlbmNlJywnVXJuaWsnLCd2IGRhbmVtIMSNYXN1JywnemRhaicpO2JyZWFrO2Nhc2UidHIiOiRZPWFycmF5KCdFbWluIG1pc2luPycsJ0Rvc3lhIGfDtm5kZXJpbGVtaXlvci4nLCdCaXIgZG9zeWEgacOnaW4gaXppbiB2ZXJpbGVuIGRvc3lhIHPEsW7EsXLEsSAlc0IuJywnRG9zeWEgbWV2Y3V0IGRlxJ9pbC4nLCdib8WfJywnb3JpamluYWwnLCdUYWJsbyB5b2suJywnRGlsJywnS3VsbGFuJywnJXMgdXphbnTEsWxhcsSxbmRhbiBiaXJpbmkga3VsbGFuxLFuLicsJ0Rvc3lhIG1ldmN1dC4nLCdLdWxsYW7EsWPEsSB0w7xybGVyaScsJ1NhecSxbGFyJywnVGFyaWggdmUgemFtYW4nLCdTw7Z6Y8O8a2xlcicsJ8Swa2lsaScsJ0HEnycsJ0dlb21ldHJpJywnTGlzdGVsZXInLCdTaXN0ZW0nLCdTdW51Y3UnLCdLdWxsYW7EsWPEsScsJ1Bhcm9sYScsJ0dpcmnFnycsJ0thbMSxY8SxIGdpcmnFnycsJ1Zlcmkgc2XDpycsJ1lhcMSxecSxIGfDtnN0ZXInLCdEZcSfacWfaW0gZ8O2csO8bsO8bScsJ1RhYmxvIGRlxJ9pxZ90aXInLCdZZW5pIMO2xJ9lJywnU29uIHNheWZhJywnRMO8emVuJyxhcnJheSgnJWQgYmF5dCcsJyVkIGthZGFyIGJheXQnKSwnU2XDpycsJ0ZvbmtzaXlvbmxhcicsJ0vDvG1lbGVtZScsJ0FyYW1hJywnaGVyaGFuZ2kgYmlyIHllcicsJ1PEsXJhbGEnLCdhemFsYW4nLCdzxLFuxLFyJywnWWF6xLEgdXp1bmx1xJ91JywnRXlsZW0nLCdTUUwga29tdXR1JywnYcOnJywna2F5ZGV0JywnVmVyaXRhYmFuxLEgZGXEn2nFn3RpcicsJ0RlxJ9pxZ9pbSDFn2VtYXPEsScsJ1lhcmF0xLFtIMWfZW1hc8SxJywnRMO2a8O8bScsJ8OHxLFrxLHFnycsJ3Zlcml0YWJhbsSxJywnxZ9lbWEnLCdZZW5pIHRhYmxvIHlhcmF0Jywnc2XDpycsJ2x0cicsJ1Jlc2VuZCBQT1NUIGRhdGE/JywnR2XDp2Vyc2l6IENyb3NzLXNpdGUgcmVxdWVzdCBmb3JnZXJ5IChDU1JGKSBqZXRvbnUuIEZvcnVtdSB0ZWtyYXIgeW9sbGEuJywnQmHFn2FyxLF5bGEgw6fEsWvEsWxkxLEuJywnT3R1cnVtIGRlc3RlxJ9pIGV0a2luIG9sbWFsxLFkxLFyLicsJ090dXJ1bSBzw7xyZXNpIGRvbGR1LCBsw7x0ZmVuIHRla3JhciBnaXJpxZ8geWFwxLFuLicsJ0dlw6dlcnNpeiBraW1saWsuJywnVXphbnTEsSB5b2snLCdEZXN0ZWtsZW5lbiBQSFAgdXphbnTEsWxhcsSxbmRhbiAoJXMpIGhpw6diaXJpIG1ldmN1dCBkZcSfaWwuJywnw4dvayBiw7x5w7xrIFBPU1QgdmVyaXNpLCB2ZXJpeWkgYXphbHTEsW4geWEgZGEgYXlhciB5w7ZuZXJnZXNpbmkgdXlndW4gb2xhcmFrIHlhcMSxbGFuZMSxcsSxbi4nLCdWZXJpdGFiYW7EsScsJ0dlw6dlcnNpeiB2ZXJpdGFiYW7EsS4nLCdWZXJpdGFiYW5sYXLEsSBkw7zFn8O8w7xsZMO8LicsJ1Zlcml0YWJhbsSxIHNlw6cnLCdZZW5pIHZlcml0YWJhbsSxIHlhcmF0JywnxLB6aW5sZXInLCfEsMWfbGVtIGxpc3Rlc2knLCdEZcSfacWfa2VubGVyJywnRHVydW0nLCclcyBzw7xyw7xtOiAlcyBQSFAgdXphbnTEsXPEsSBpbGUgJXMnLCclcyBvbGFyYWsgZ2lyacWfIHlhcMSxbGTEsS4nLCdLYXLFn8SxbGHFn3TEsXJtYScsJ1RhYmxvbGFyJywnRMO8xZ/DvHInLCdUYXplbGUnLCfFnmVtYScsJ0dlw6dlcnNpeiDFn2VtYS4nLCdTxLFyYSB5b2suJywnJS4zZiBzJywnRMSxxZ8gYW5haHRhcmxhcicsJ2thcsWfxLFsYcWfdMSxcm1hJywnU2lsaW5tZWsgw7x6ZXJlJywnS29sb24gYWTEsScsJ1BhcmFtZXRyZSBhZMSxJywnVMO8cicsJ1V6dW5sdWsnLCdTZcOnZW5la2xlcicsJ090b21hdGlrIHnDvGtzZWx0JywnVmFyc2F5xLFsYW4gZGXEn2VybGVyJywnWW9ydW0nLCdTb25yYXlhIGVrbGUnLCdZdWthcsSxIHRhxZ/EsScsJ0HFnmHEn8SxIHRhxZ8nLCdLYWxkxLFyJywnR8O2csO8bsO8bScsJ1RhYmxvJywnS29sb24nLCdEaXppbmxlcicsJ0RpemlubGVyaSBkZcSfacWfdGlyJywnS2F5bmFrJywnSGVkZWYnLCdZw7xrc2VsdGlsbWVrIMO8emVyZScsJ0RlxJ9pxZ90aXInLCdExLHFnyBhbmFodGFyIGVrbGUnLCdUZXRpa2xlcicsJ1RldGlrIGVrbGUnLCdWZXJpdGFiYW7EsSDFn2VtYXPEsScsJ1Blcm1hbmVudCBsaW5rJywnxLBocmHDpycsJ8OHxLFrdMSxJywnQmnDp2ltJywnWW9yZGFtbGFyJywnT2xheWxhcicsJ1ZlcmknLCdkw7x6ZW4nLCdLdWxsYW7EsWPEsSB5YXJhdCcsYXJyYXkoJ1Nvcmd1IGnFn2xldGlsbWVzaSB0YW1hbWxhbmTEsS4gJWQgc8SxcmEocm93KSBldGtpbGVuZGkuJywnU29yZ3UgacWfbGV0aWxtZXNpIHRhbWFtbGFuZMSxLiBCdW5kYW4gJWQga2FkYXIgc8SxcmEgZXRraWxlbmRpLicpLGFycmF5KCclZCBzxLFyYSknLCclZCBrYWRhciBzxLFyYScpLCdTb3JndWRhIGhhdGEnLCfEsMWfbGV0aWxtZWsgacOnaW4ga29tdXQgeW9rLicsYXJyYXkoJyVkIHNvcmd1bnVuIGnFn2xldGlsbWVzaSB0YW1hbWxhbmTEsS4nLCclZCBrYWRhciBzb3JndW51biBpxZ9sZXRpbG1lc2kgdGFtYW1sYW5kxLEuJyksJ0Rvc3lhIGfDtm5kZXInLCdEb3N5YSBnw7ZuZGVyaW1pIGV0a2luIGRlxJ9pbC4nLCfEsMWfbGV0JywnRHVyIGhhdGEnLCdTYWRlY2UgaGF0YWxhcsSxIGfDtnN0ZXIuJywnU3VudWN1ZGFuJywnJXMgd2ViIHN1bnVjdXN1IGRvc3lhc8SxJywnRG9zeWEgw6dhbMSxxZ90xLFyJywnVGFyaWgnLCdCb8WfbHVrJywnRWRpdCBhbGwnLCfDlsSfZSBzaWxpbmRpLicsJ8OWxJ9lIGfDvG5jZWxsZW5kaS4nLCfDlsSfZWxlciBla2xlbmRpLicsJ0VrbGUnLCdLYXlkZXQnLCdLYXlkZXQgdmUgZMO8emVubGVtZXllIGRldmFtIGV0JywnS2F5ZGV0IHZlIHNvbnJha2luIGVrbGUnLCdTaWwnLCdUYWJsbyBkw7zFn8O8csO8bGTDvC4nLCdUYWJsbyBkZcSfacWfdGlyaWxkaS4nLCdUYWJsbyB5YXJhdMSxbGTEsS4nLCdUYWJsbyB5YXJhdCcsJ2thYnVsIGVkaWxlYmlsaXIgYWxhbiBzYXnEsXPEsSBhxZ/EsWxkxLEuIEzDvHRmZW4gJXMgdmUgJXMgZMO8xZ/DvHLDvG4uJywnVGFibG8gYWTEsScsJ21vdG9yJywnQsO2bMO8bcO8IHRhcmFmxLFuZGFuJywnQsO2bMO8bWxlcicsJ0LDlmzDvG0gYWTEsScsJ0RlxJ9lcmxlcicsJ0RpemlubGVyIGRlxJ9pxZ90aXJpbGlkaS4nLCdEaXppbiBUw7xyw7wnLCdLb2xvbiAodXp1bmx1xJ91KScsJ1Zlcml0YWJhbsSxIGTDvMWfw7xyw7xsZMO8LicsJ1Zlcml0YWJhbsSxbsSxbiBpc21pIGRlxJ9pxZ90aXJpbGRpLicsJ1Zlcml0YWJhbsSxIHlhcmF0xLFsZMSxLicsJ1Zlcml0YWJhbsSxIGRlxJ9pxZ90aXJpbGRpLicsJ1Zlcml0YWJhbsSxIHlhcmF0JywnxZ5lbWEgZMO8xZ/DvHLDvGxkw7wuJywnxZ5lbWEgeWFyYXTEsWxkxLEuJywnxZ5lbWEgZGXEn2nFn3RpcmlsZGkuJywnw4dhxJ9yxLEnLGFycmF5KCdZb3JkYW0gw6dhxJ9yxLFsZMSxLCAlZCBzxLFyYShyb3cpIGV0a2lsZW5kaS4nLCdZb3JkYW0gw6dhxJ9yxLFsZMSxLCAlZCBzxLFyYWxhcihyb3dzKSBldGtpbGVuZGkuJyksJ0TEscWfIGFuYWh0YXIgZMO8xZ/DvHLDvGxkw7wuJywnRMSxxZ8gYW5haHRhciBkZcSfacWfdGlyLicsJ0TEscWfIGFuYWh0YXIgeWFyYXQuJywnS2F5bmFrIHZlIGhlZGVmIGtvbG9ubGFyIGF5bsSxIHZlcmkgdMO8csO8IG9sbWFrIHpvcnVuZGEsIGhlZGVmIGtvbG9uZGEgYmlyIGRpemluIHZlIGJhxZ92dXJ1bGFuIHZlcmkgYnVsdW5tYWzEsS4nLCdExLHFnyBhbmFodGFyJywnSGVkZWYgdGFibG8nLCdEZcSfacWfJywnS29sb24gZWtsZGUnLCdHw7Zyw7xuw7xtIGTDvMWfw7xyw7xsZMO8LicsJ0fDtnLDvG7DvG0gZGXEn2nFn3RpcmlsZGkuJywnR8O2csO8bsO8bSB5YXJhdMSxbGTEsS4nLCdHw7Zyw7xuw7xtIHlhcmF0JywnQWQnLCdPbGF5IGTDvMWfw7xkw7xsZMO8LicsJ09sYXkgZGXEn2nFn3RpcmlsZGkuJywnT2xheSB5YXJhdMSxbGTEsS4nLCdEZcSfacWfdGlybWUgb2xhecSxJywnWWFyYXRtYSBvbGF5xLEnLCdCYcWfbGEnLCdTb24nLCdIZXJ6YW1hbicsJ1RhbWFtbGFtYSBrb3J1bWFzxLEgQcOHSUsnLCdZb3JkYW0gZMO8xZ/DvHLDvGxkw7wuJywnWW9yZGFtIGRlxJ9pxZ90aXJpbGRpLicsJ1lvcmRhbSB5YXJhdMSxbGTEsS4nLCdEZcSfacWfdGlybWUgZm9ua3N5aW9udScsJ0RlxJ9pxZ90aXJtZSB5w7ZudGVtaScsJ0ZvbmtzaXlvbiB5YXJhdCcsJ1nDtm50ZW0geWFyYXQnLCdHZXJpIGTDtm7DvMWfIHTDvHLDvCcsJ0RpemkgZMO8xZ/DvHLDvGxkw7wuJywnRGl6aSB5YXJhdMSxbGTEsS4nLCdEaXppIGRlxJ9pxZ90aXJpbGRpLicsJ0RpemkgZGXEn2nFn3RpcicsJ0RpemkgeWFyYXQnLCdUw7xyIGTDvMWfw7xyw7xsZMO8LicsJ1TDvHIgeWFyYXTEsWxkxLEuJywnVMO8ciBkZcSfacWfdGlyJywnVMO8ciB5YXJhdCcsJ1RldGlrIGTDvMWfw7xyw7xsZMO8LicsJ1RldGlrIGRlxJ9pxZ90aXJpbGRpLicsJ1RldGlrIHlhcmF0xLFsZMSxLicsJ1RldGlrIGRlxJ9pxZ90aXIuJywnVGV0aWsgeWFyYXQnLCdaYW1hbicsJ09sYXknLCdLdWxsYW7EsWPEsSBkw7zFn8O8csO8bGTDvC4nLCdLdWxsYW7EsWPEsSBkZcSfacWfdGlyaWxkaS4nLCdLdWxsYW7EsWPEsSB5YXJhdMSxbGTEsS4nLCdIYXJtYW5sYW5kxLEuJywnWW9yZGFtJywnxLBtdGl5YXonLCdHZXJpIGFsJyxhcnJheSgnJWQgc8O8cmXDpyDDtmxkw7xyw7xsZMO8LicsJyVkIGFkZXQgc8O8cmXDpyDDtmxkw7xyw7xsZMO8LicpLCclZCB0b3BsYW1kYScsJ8OWbGTDvHInLGFycmF5KCclZCDDtsSfZSBldGtpbGVuZGkuJywnJWQga2FkYXIgw7bEn2UgZXRraWxlbmRpLicpLCdEZcSfZXJpbiDDvHplcmluZSDDp2lmdCB0xLFrbGF5xLFuIHZlIGRlxJ9pxZ90aXJpbi4nLGFycmF5KCclZCBzxLFyYSBpdGhhbCBlZGlsZGkuJywnJWQga2FkYXIgc8SxcmEgaXRoYWwgZWRpbGRpLicpLCdUYWJsbyBzZcOnaWxlbWVkaScsJ8SwbGnFn2tpbGVyJywnRGXEn2VyaSBkZcSfacWfdGlybWVrIGnDp2luIGTDvHplbmxlbWUgYmHEn2xhbnTEsXPEsW7EsSBrdWxsYW7EsW4uJywnU2F5ZmEnLCdzb24nLCd0w7xtIHNvbnXDpycsJ0tsb25sYScsJ8SwdGhhbCcsJyAnLCdUYWJsb2xhciBidWRhbmTEsS4nLCdUYWJsb2xhciB0YcWfxLFuZMSxLicsJ1RhYmxvbGFyIGtvcHlhbGFuZMSxLicsJ1RhYmxvbGFyIGTDvMWfw7xyw7xsZMO8LicsJ1RhYmxvbGFyIHZlIGfDtnLDvG7DvG1sZXInLCdUYWJsb2xhcmRhIHZlcmkgYXJhLicsJ01vdG9yJywnVmVyaSB1enVubHXEn3UnLCdEaXppbiB1enVubHXEn3UnLCdTZXJiZXN0IHZlcmknLCdTxLFyYWxhciAoUm93cyknLCfDh8O2esO8bWxlbWUnLCdFbiB1eWd1biBoYWxlIGdldGlybWUnLCdEZW5ldGxlbWUnLCdUYW1pcicsJ0J1ZGEnLCdEacSfZXIgdmVyaXRhYmFuxLFuYSB0YcWfxLEnLCdUYcWfxLEnLCdLb3B5YWxhJywnRGl6aWxlcicsJ1Rha3ZpbWxpJywnQmlyIGFuZGEnLCfFn2ltZGknKTticmVhaztjYXNlInJ1IjokWT1hcnJheSgn0JLRiyDRg9Cy0LXRgNC10L3Riz8nLCfQndC1INGD0LTQsNC70L7RgdGMINC30LDQs9GA0YPQt9C40YLRjCDRhNCw0LnQuyDQvdCwINGB0LXRgNCy0LXRgC4nLCfQnNCw0LrRgdC40LzQsNC70YzQvdGL0Lkg0YDQsNC30YDQtdGI0LXQvdC90YvQuSDRgNCw0LfQvNC10YAg0YTQsNC50LvQsCAtICVzQi4nLCfQotCw0LrQvtCz0L4g0YTQsNC50LvQsCDQvdC1INGB0YPRidC10YHRgtCy0YPQtdGCLicsJ9C/0YPRgdGC0L4nLCfQuNGB0YXQvtC00L3Ri9C5Jywn0JIg0LHQsNC30LUg0LTQsNC90L3Ri9GFINC90LXRgiDRgtCw0LHQu9C40YYuJywn0K/Qt9GL0LonLCfQktGL0LHRgNCw0YLRjCcsJ9CY0YHQv9C+0LvRjNC30YPQudGC0LUg0L7QtNC90L4g0LjQtyDRjdGC0LjRhSDRgNCw0YHRiNC40YDQtdC90LjQuSAlcy4nLCfQpNCw0LnQuyDRg9C20LUg0YHRg9GJ0LXRgdGC0LLRg9C10YIuJywn0KLQuNC/0Ysg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C10LknLCfQp9C40YHQu9C+Jywn0JTQsNGC0LAg0Lgg0LLRgNC10LzRjycsJ9Ch0YLRgNC+0LrQuCcsJ9CU0LLQvtC40YfQvdGL0Lkg0YLQuNC/Jywn0KHQtdGC0YwnLCfQk9C10L7QvNC10YLRgNC40Y8nLCfQodC/0LjRgdC60LgnLCfQlNCy0LjQttC+0LonLCfQodC10YDQstC10YAnLCfQmNC80Y8g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPJywn0J/QsNGA0L7Qu9GMJywn0JLQvtC50YLQuCcsJ9Ce0YHRgtCw0LLQsNGC0YzRgdGPINCyINGB0LjRgdGC0LXQvNC1Jywn0JLRi9Cx0YDQsNGC0YwnLCfQn9C+0LrQsNC30LDRgtGMINGB0YLRgNGD0LrRgtGD0YDRgycsJ9CY0LfQvNC10L3QuNGC0Ywg0L/RgNC10LTRgdGC0LDQstC70LXQvdC40LUnLCfQmNC30LzQtdC90LjRgtGMINGC0LDQsdC70LjRhtGDJywn0J3QvtCy0LDRjyDQt9Cw0L/QuNGB0YwnLCfQn9C+0YHQu9C10LTQvdGP0Y8g0YHRgtGA0LDQvdC40YbQsCcsJ9Cg0LXQtNCw0LrRgtC40YDQvtCy0LDRgtGMJyxhcnJheSgnJWQg0LHQsNC50YInLCclZCDQsdCw0LnRgtCwJywnJWQg0LHQsNC50YLQvtCyJyksJ9CS0YvQsdGA0LDRgtGMJywn0KTRg9C90LrRhtC40LgnLCfQkNCz0YDQtdCz0LDRhtC40Y8nLCfQn9C+0LjRgdC6Jywn0LIg0LvRjtCx0L7QvCDQvNC10YHRgtC1Jywn0KHQvtGA0YLQuNGA0L7QstCw0YLRjCcsJ9C/0L4g0YPQsdGL0LLQsNC90LjRjicsJ9Cb0LjQvNC40YInLCfQlNC70LjQvdCwINGC0LXQutGB0YLQsCcsJ9CU0LXQudGB0YLQstC40LUnLCdTUUwg0LfQsNC/0YDQvtGBJywn0L7RgtC60YDRi9GC0YwnLCfRgdC+0YXRgNCw0L3QuNGC0YwnLCfQmNC30LzQtdC90LjRgtGMINCx0LDQt9GDINC00LDQvdC90YvRhScsJ9CY0LfQvNC10L3QuNGC0Ywg0YHRhdC10LzRgycsJ9Cd0L7QstCw0Y8g0YHRhdC10LzQsCcsJ9CU0LDQvNC/Jywn0JLRi9C50YLQuCcsJ9Cx0LDQt9CwINC00LDQvdC90YvRhScsJ9GB0YXQtdC80LAnLCfQodC+0LfQtNCw0YLRjCDQvdC+0LLRg9GOINGC0LDQsdC70LjRhtGDJywn0LLRi9Cx0YDQsNGC0YwnLCdsdHInLCdSZXNlbmQgUE9TVCBkYXRhPycsJ9Cd0LXQtNC10LnRgdGC0LLQuNGC0LXQu9GM0L3Ri9C5IENTUkYg0YLQvtC60LXQvS4g0J7RgtC/0YDQsNCy0LjRgtC1INGE0L7RgNC80YMg0LXRidGRINGA0LDQty4nLCfQktGLINGD0YHQv9C10YjQvdC+INC/0L7QutC40L3Rg9C70Lgg0YHQuNGB0YLQtdC80YMuJywn0KHQtdGB0YHQuNC4INC00L7Qu9C20L3RiyDQsdGL0YLRjCDQstC60LvRjtGH0LXQvdGLLicsJ9Ch0YDQvtC6INC00LXQudGB0YLQstC40Y8g0YHQtdGB0YHQuCDQuNGB0YLQtdC6LCDQvdGD0LbQvdC+INGB0L3QvtCy0LAg0LLQvtC50YLQuCDQsiDRgdC40YHRgtC10LzRgy4nLCfQndC10L/RgNCw0LLQuNC70YzQvdC+0LUg0LjQvNGPINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyDQuNC70Lgg0L/QsNGA0L7Qu9GMLicsJ9Cd0LXRgiDRgNCw0YHRiNC40YDQtdC90LjQuScsJ9Cd0LUg0LTQvtGB0YLRg9C/0L3QviDQvdC4INC+0LTQvdC+0LPQviDRgNCw0YHRiNC40YDQtdC90LjRjyDQuNC3INC/0L7QtNC00LXRgNC20LjQstCw0LXQvNGL0YUgKCVzKS4nLCfQodC70LjRiNC60L7QvCDQsdC+0LvRjNGI0L7QuSDQvtCx0YrQtdC8IFBPU1Qt0LTQsNC90L3Ri9GFLiDQn9C+0YjQu9C40YLQtSDQvNC10L3RjNGI0LjQuSDQvtCx0YrQtdC8INC00LDQvdC90YvRhSDQuNC70Lgg0YPQstC10LvQuNGH0YzRgtC1INC/0LDRgNCw0LzQtdGC0YAg0LrQvtC90YTQuNCz0YPRgNCw0YbQuNC+0L3QvdC+0Lkg0LTQuNGA0LXQutGC0LjQstGLICVzLicsJ9CR0LDQt9CwINC00LDQvdC90YvRhScsJ9Cf0LvQvtGF0LDRjyDQsdCw0LfQsCDQtNCw0L3QvdGL0YUuJywn0JHQsNC30Ysg0LTQsNC90L3Ri9GFINGD0LTQsNC70LXQvdGLLicsJ9CS0YvQsdGA0LDRgtGMINCx0LDQt9GDINC00LDQvdC90YvRhScsJ9Ch0L7Qt9C00LDRgtGMINC90L7QstGD0Y4g0LHQsNC30YMg0LTQsNC90L3Ri9GFJywn0J/QvtC70L3QvtC80L7Rh9C40Y8nLCfQodC/0LjRgdC+0Log0L/RgNC+0YbQtdGB0YHQvtCyJywn0J/QtdGA0LXQvNC10L3QvdGL0LUnLCfQodC+0YHRgtC+0Y/QvdC40LUnLCfQktC10YDRgdC40Y8gJXM6ICVzINGBIFBIUC3RgNCw0YHRiNC40YDQtdC90LjQtdC8ICVzJywn0JLRiyDQstC+0YjQu9C4INC60LDQujogJXMnLCfQoNC10LbQuNC8INGB0L7Qv9C+0YHRgtCw0LLQu9C10L3QuNGPJywn0KLQsNCx0LvQuNGG0YsnLCfQo9C00LDQu9C40YLRjCcsJ9Ce0LHQvdC+0LLQuNGC0YwnLCfQodGF0LXQvNCwJywn0J3QtdC/0YDQsNCy0LjQu9GM0L3QsNGPINGB0YXQtdC80LAuJywn0J3QtdGCINC30LDQv9C40YHQtdC5LicsJyUuM2YgcycsJ9CS0L3QtdGI0L3QuNC1INC60LvRjtGH0LgnLCfRgNC10LbQuNC8INGB0L7Qv9C+0YHRgtCw0LLQu9C10L3QuNGPJywn0J/RgNC4INGB0YLQuNGA0LDQvdC40LgnLCfQndCw0LfQstCw0L3QuNC1INC/0L7Qu9GPJywn0J3QsNC30LLQsNC90LjQtSDQv9Cw0YDQsNC80LXRgtGA0LAnLCfQotC40L8nLCfQlNC70LjQvdCwJywn0JTQtdC50YHRgtCy0LjQtScsJ9CQ0LLRgtC+0LzQsNGC0LjRh9C10YHQutC+0LUg0L/RgNC40YDQsNGJ0LXQvdC40LUnLCfQl9C90LDRh9C10L3QuNGPINC/0L4g0YPQvNC+0LvRh9Cw0L3QuNGOJywn0JrQvtC80LzQtdC90YLQsNGA0LjQuScsJ9CU0L7QsdCw0LLQuNGC0Ywg0LXRidC1Jywn0J/QtdGA0LXQvNC10YHRgtC40YLRjCDQstCy0LXRgNGFJywn0J/QtdGA0LXQvNC10YHRgtC40YLRjCDQstC90LjQtycsJ9Cj0LTQsNC70LjRgtGMJywn0J/RgNC10LTRgdGC0LDQstC70LXQvdC40LUnLCfQotCw0LHQu9C40YbQsCcsJ9Ca0L7Qu9C+0L3QutCwJywn0JjQvdC00LXQutGB0YsnLCfQmNC30LzQtdC90LjRgtGMINC40L3QtNC10LrRgdGLJywn0JjRgdGC0L7Rh9C90LjQuicsJ9Cm0LXQu9GMJywn0J/RgNC4INC+0LHQvdC+0LLQu9C10L3QuNC4Jywn0JjQt9C80LXQvdC40YLRjCcsJ9CU0L7QsdCw0LLQuNGC0Ywg0LLQvdC10YjQvdC40Lkg0LrQu9GO0YcnLCfQotGA0LjQs9Cz0LXRgNGLJywn0JTQvtCx0LDQstC40YLRjCDRgtGA0LjQs9Cz0LXRgCcsJ9Ch0YXQtdC80LAg0LHQsNC30Ysg0LTQsNC90L3Ri9GFJywnUGVybWFuZW50IGxpbmsnLCfQrdC60YHQv9C+0YDRgicsJ9CS0YvRhdC+0LTQvdGL0LUg0LTQsNC90L3Ri9C1Jywn0KTQvtGA0LzQsNGCJywn0KXRgNCw0L3QuNC80YvQtSDQv9GA0L7RhtC10LTRg9GA0Ysg0Lgg0YTRg9C90LrRhtC40LgnLCfQodC+0LHRi9GC0LjRjycsJ9CU0LDQvdC90YvQtScsJ9GA0LXQtNCw0LrRgtC40YDQvtCy0LDRgtGMJywn0KHQvtC30LTQsNGC0Ywg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPJyxhcnJheSgn0JfQsNC/0YDQvtGBINC30LDQstC10YDRiNC10L0sINC40LfQvNC10L3QtdC90LAgJWQg0LfQsNC/0LjRgdGMLicsJ9CX0LDQv9GA0L7RgSDQt9Cw0LLQtdGA0YjQtdC9LCDQuNC30LzQtdC90LXQvdGLICVkINC30LDQv9C40YHQuC4nLCfQl9Cw0L/RgNC+0YEg0LfQsNCy0LXRgNGI0LXQvSwg0LjQt9C80LXQvdC10L3QviAlZCDQt9Cw0L/QuNGB0LXQuS4nKSxhcnJheSgnJWQg0YHRgtGA0L7QutCwJywnJWQg0YHRgtGA0L7QutC4JywnJWQg0YHRgtGA0L7QuicpLCfQntGI0LjQsdC60LAg0LIg0LfQsNC/0YDQvtGBZScsJ9Cd0LXRgiDQutC+0LzQsNC90LQg0LTQu9GPINCy0YvQv9C+0LvQvdC10L3QuNGPLicsYXJyYXkoJyVkINC30LDQv9GA0L7RgSDQstGL0L/QvtC70L3QtdC9INGD0YHQv9C10YjQvdC+LicsJyVkINC30LDQv9GA0L7RgdCwINCy0YvQv9C+0LvQvdC10L3QviDRg9GB0L/QtdGI0L3Qvi4nLCclZCDQt9Cw0L/RgNC+0YHQvtCyINCy0YvQv9C+0LvQvdC10L3QviDRg9GB0L/QtdGI0L3Qvi4nKSwn0JfQsNCz0YDRg9C30LjRgtGMINGE0LDQudC7INC90LAg0YHQtdGA0LLQtdGAJywn0JfQsNCz0YDRg9C30LrQsCDRhNCw0LnQu9C+0LIg0L3QsCDRgdC10YDQstC10YAg0LfQsNC/0YDQtdGJ0LXQvdCwLicsJ9CS0YvQv9C+0LvQvdC40YLRjCcsJ9Ce0YHRgtCw0L3QvtCy0LjRgtGMINC/0YDQuCDQvtGI0LjQsdC60LUnLCfQotC+0LvRjNC60L4g0L7RiNC40LHQutC4Jywn0KEg0YHQtdGA0LLQtdGA0LAnLCfQpNCw0LnQuyAlcyDQvdCwINCy0LXQsdGB0LXRgNCy0LXRgNC1Jywn0JfQsNC/0YPRgdGC0LjRgtGMINGE0LDQudC7Jywn0JjRgdGC0L7RgNC40Y8nLCfQntGH0LjRgdGC0LjRgtGMJywnRWRpdCBhbGwnLCfQl9Cw0L/QuNGB0Ywg0YPQtNCw0LvQtdC90LAuJywn0JfQsNC/0LjRgdGMINC+0LHQvdC+0LLQu9C10L3QsC4nLCfQl9Cw0L/QuNGB0YwlcyDQsdGL0LvQsCDQstGB0YLQsNCy0LvQtdC90LAuJywn0JLRgdGC0LDQstC40YLRjCcsJ9Ch0L7RhdGA0LDQvdC40YLRjCcsJ9Ch0L7RhdGA0LDQvdC40YLRjCDQuCDQv9GA0L7QtNC+0LvQttC40YLRjCDRgNC10LTQsNC60YLQuNGA0L7QstCw0L3QuNC1Jywn0KHQvtGF0YDQsNC90LjRgtGMINC4INCy0YHRgtCw0LLQuNGC0Ywg0LXRidC1Jywn0KHRgtC10YDQtdGC0YwnLCfQotCw0LHQu9C40YbQsCDQsdGL0LvQsCDRg9C00LDQu9C10L3QsC4nLCfQotCw0LHQu9C40YbQsCDQsdGL0LvQsCDQuNC30LzQtdC90LXQvdCwLicsJ9Ci0LDQsdC70LjRhtCwINCx0YvQu9CwINGB0L7Qt9C00LDQvdCwLicsJ9Ch0L7Qt9C00LDRgtGMINGC0LDQsdC70LjRhtGDJywn0JTQvtGB0YLQuNCz0L3Rg9GC0L4g0LzQsNC60YHQuNC80LDQu9GM0L3QvtC1INC30L3QsNGH0LXQvdC40LUg0LrQvtC70LjRh9C10YHRgtCy0LAg0LTQvtGB0YLRg9C/0L3Ri9GFINC/0L7Qu9C10LkuINCj0LLQtdC70LjRh9GM0YLQtSAlcyDQuCAlcy4nLCfQndCw0LfQstCw0L3QuNC1INGC0LDQsdC70LjRhtGLJywn0YLQuNC/Jywn0KDQsNC30LTQtdC70LjRgtGMINC/0L4nLCfQoNCw0LfQtNC10LvRiycsJ9Cd0LDQt9Cy0LDQvdC40LUg0YDQsNC30LTQtdC70LAnLCfQn9Cw0YDQsNC80LXRgtGA0YsnLCfQmNC90LTQtdC60YHRiyDQuNC30LzQtdC90LXQvdGLLicsJ9Ci0LjQvyDQuNC90LTQtdC60YHQsCcsJ9Ca0L7Qu9C+0L3QutCwICjQtNC70LjQvdCwKScsJ9CR0LDQt9CwINC00LDQvdC90YvRhSDQsdGL0LvQsCDRg9C00LDQu9C10L3QsC4nLCfQkdCw0LfQsCDQtNCw0L3QvdGL0YUg0LHRi9C70LAg0L/QtdGA0LXQuNC80LXQvdC+0LLQsNC90LAuJywn0JHQsNC30LAg0LTQsNC90L3Ri9GFINCx0YvQu9CwINGB0L7Qt9C00LDQvdCwLicsJ9CR0LDQt9CwINC00LDQvdC90YvRhSDQsdGL0LvQsCDQuNC30LzQtdC90LXQvdCwLicsJ9Ch0L7Qt9C00LDRgtGMINCx0LDQt9GDINC00LDQvdC90YvRhScsJ9Ch0YXQtdC80LAg0YPQtNCw0LvQtdC90LAuJywn0KHQvtC30LTQsNC90LAg0L3QvtCy0LDRjyDRgdGF0LXQvNCwLicsJ9Ch0YXQtdC80LAg0LjQt9C80LXQvdC10L3QsC4nLCfQktGL0LfQstCw0YLRjCcsYXJyYXkoJ9CR0YvQu9CwINCy0YvQt9Cy0LDQvdCwINC/0YDQvtGG0LXQtNGD0YDQsCwgJWQg0LfQsNC/0LjRgdGMINCx0YvQu9CwINC40LfQvNC10L3QtdC90LAuJywn0JHRi9C70LAg0LLRi9C30LLQsNC90LAg0L/RgNC+0YbQtdC00YPRgNCwLCAlZCDQt9Cw0L/QuNGB0Lgg0LHRi9C70L4g0LjQt9C80LXQvdC10L3Qvi4nLCfQkdGL0LvQsCDQstGL0LfQstCw0L3QsCDQv9GA0L7RhtC10LTRg9GA0LAsICVkINC30LDQv9C40YHQtdC5INCx0YvQu9C+INC40LfQvNC10L3QtdC90L4uJyksJ9CS0L3QtdGI0L3QuNC5INC60LvRjtGHINCx0YvQuyDRg9C00LDQu9C10L0uJywn0JLQvdC10YjQvdC40Lkg0LrQu9GO0Ycg0LHRi9C7INC40LfQvNC10L3QtdC9LicsJ9CS0L3QtdGI0L3QuNC5INC60LvRjtGHINCx0YvQuyDRgdC+0LfQtNCw0L0uJywn0JrQvtC70L7QvdC60Lgg0LTQvtC70LbQvdGLINC40LzQtdGC0Ywg0L7QtNC40L3QsNC60L7QstGL0LUg0YLQuNC/0Ysg0LTQsNC90L3Ri9GFLCDQsiDRgNC10LfRg9C70YzRgtC40YDRg9GO0YnQtdC5INC60L7Qu9C+0L3QutC1INC00L7Qu9C20LXQvSDQsdGL0YLRjCDQuNC90LTQtdC60YEsINC00LDQvdC90YvQtSDQtNC70Y8g0LjQvNC/0L7RgNGC0LAg0LTQvtC70LbQvdGLINGB0YPRidC10YHRgtCy0L7QstCw0YLRjC4nLCfQktC90LXRiNC90LjQuSDQutC70Y7RhycsJ9Cg0LXQt9GD0LvRjNGC0LjRgNGD0Y7RidCw0Y8g0YLQsNCx0LvQuNGG0LAnLCfQmNC30LzQtdC90LjRgtGMJywn0JTQvtCx0LDQstC40YLRjCDQutC+0LvQvtC90LrRgycsJ9Cf0YDQtdC00YHRgtCw0LLQu9C10L3QuNC1INCx0YvQu9C+INGD0LTQsNC70LXQvdC+LicsJ9Cf0YDQtdC00YHRgtCw0LLQu9C10L3QuNC1INCx0YvQu9C+INC40LfQvNC10L3QtdC90L4uJywn0J/RgNC10LTRgdGC0LDQstC70LXQvdC40LUg0LHRi9C70L4g0YHQvtC30LTQsNC90L4uJywn0KHQvtC30LTQsNGC0Ywg0L/RgNC10LTRgdGC0LDQstC70LXQvdC40LUnLCfQndCw0LfQstCw0L3QuNC1Jywn0KHQvtCx0YvRgtC40LUg0LHRi9C70L4g0YPQtNCw0LvQtdC90L4uJywn0KHQvtCx0YvRgtC40LUg0LHRi9C70L4g0LjQt9C80LXQvdC10L3Qvi4nLCfQodC+0LHRi9GC0LjQtSDQsdGL0LvQviDRgdC+0LfQtNCw0L3Qvi4nLCfQmNC30LzQtdC90LjRgtGMINGB0L7QsdGL0YLQuNC1Jywn0KHQvtC30LTQsNGC0Ywg0YHQvtCx0YvRgtC40LUnLCfQndCw0YfQsNC70L4nLCfQmtC+0L3QtdGGJywn0JrQsNC20LTRi9C1Jywn0J/QvtGB0LvQtSDQt9Cw0LLQtdGA0YjQtdC90LjRjyDRgdC+0YXRgNCw0L3QuNGC0YwnLCfQn9GA0L7RhtC10LTRg9GA0LAg0LHRi9C70LAg0YPQtNCw0LvQtdC90LAuJywn0J/RgNC+0YbQtdC00YPRgNCwINCx0YvQu9CwINC40LfQvNC10L3QtdC90LAuJywn0J/RgNC+0YbQtdC00YPRgNCwINCx0YvQu9CwINGB0L7Qt9C00LDQvdCwLicsJ9CY0LfQvNC10L3QuNGC0Ywg0YTRg9C90LrRhtC40Y4nLCfQmNC30LzQtdC90LjRgtGMINC/0YDQvtGG0LXQtNGD0YDRgycsJ9Ch0L7Qt9C00LDRgtGMINGE0YPQvdC60YbQuNGOJywn0KHQvtC30LTQsNGC0Ywg0L/RgNC+0YbQtdC00YPRgNGDJywn0JLQvtC30LLRgNCw0YnQsNC10LzRi9C5INGC0LjQvycsJ8Kr0J/QvtGB0LvQtdC00L7QstCw0YLQtdC70YzQvdC+0YHRgtGMwrsg0YPQtNCw0LvQtdC90LAuJywn0KHQvtC30LTQsNC90LAg0L3QvtCy0LDRjyDCq9C/0L7RgdC70LXQtNC+0LLQsNGC0LXQu9GM0L3QvtGB0YLRjMK7LicsJ8Kr0J/QvtGB0LvQtdC00L7QstCw0YLQtdC70YzQvdC+0YHRgtGMwrsg0LjQt9C80LXQvdC10L3QsC4nLCfQmNC30LzQtdC90LjRgtGMIMKr0L/QvtGB0LvQtdC00L7QstCw0YLQtdC70YzQvdC+0YHRgtGMwrsnLCfQodC+0LfQtNCw0YLRjCDCq9C/0L7RgdC70LXQtNC+0LLQsNGC0LXQu9GM0L3QvtGB0YLRjMK7Jywn0KLQuNC/INGD0LTQsNC70LXQvS4nLCfQodC+0LfQtNCw0L0g0L3QvtCy0YvQuSDRgtC40L8uJywn0JjQt9C80LXQvdC40YLRjCDRgtC40L8nLCfQodC+0LfQtNCw0YLRjCDRgtC40L8nLCfQotGA0LjQs9Cz0LXRgCDQsdGL0Lsg0YPQtNCw0LvQtdC9LicsJ9Ci0YDQuNCz0LPQtdGAINCx0YvQuyDQuNC30LzQtdC90LXQvS4nLCfQotGA0LjQs9Cz0LXRgCDQsdGL0Lsg0YHQvtC30LTQsNC9LicsJ9CY0LfQvNC10L3QuNGC0Ywg0YLRgNC40LPQs9C10YAnLCfQodC+0LfQtNCw0YLRjCDRgtGA0LjQs9Cz0LXRgCcsJ9CS0YDQtdC80Y8nLCfQodC+0LHRi9GC0LjQtScsJ9Cf0L7Qu9GM0LfQvtCy0LDRgtC10LvRjCDQsdGL0Lsg0YPQtNCw0LvQtdC9LicsJ9Cf0L7Qu9GM0LfQvtCy0LDRgtC10LvRjCDQsdGL0Lsg0LjQt9C80LXQvdC10L0uJywn0J/QvtC70YzQt9C+0LLQsNGC0LXQu9GMINCx0YvQuyDRgdC+0LfQtNCw0L0uJywn0KXQtdGI0LjRgNC+0LLQsNC90L4nLCfQn9GA0L7RhtC10LTRg9GA0LAnLCfQn9C+0LfQstC+0LvQuNGC0YwnLCfQl9Cw0L/RgNC10YLQuNGC0YwnLGFycmF5KCfQkdGL0Lsg0LfQsNCy0LXRgNGI0LXQvSAlZCDQv9GA0L7RhtC10YHRgS4nLCfQkdGL0LvQviDQt9Cw0LLQtdGA0YjQtdC90L4gJWQg0L/RgNC+0YbQtdGB0YHQsC4nLCfQkdGL0LvQviDQt9Cw0LLQtdGA0YjRkdC90L4gJWQg0L/RgNC+0YbQtdGB0YHQvtCyLicpLCfQktGB0LXQs9C+ICVkJywn0JfQsNCy0LXRgNGI0LjRgtGMJyxhcnJheSgn0JHRi9C70LAg0LjQt9C80LXQvdC10L3QsCAlZCDQt9Cw0L/QuNGB0YwuJywn0JHRi9C70Lgg0LjQt9C80LXQvdC10L3RiyAlZCDQt9Cw0L/QuNGB0LguJywn0JHRi9C70L4g0LjQt9C80LXQvdC10L3QviAlZCDQt9Cw0L/QuNGB0LXQuS4nKSwn0JrQu9C40LrQvdC4INC00LLQsCDRgNCw0LfQsCDQv9C+INC30L3QsNGH0LXQvdC40Y4sINGH0YLQvtCx0Ysg0LXQs9C+INC40LfQvNC10L3QuNGC0YwuJyxhcnJheSgn0JjQvNC/0L7RgNGC0LjRgNC+0LLQsNC90LAgJWQg0YHRgtGA0L7QutCwLicsJ9CY0LzQv9C+0YDRgtC40YDQvtCy0LDQvdC+ICVkINGB0YLRgNC+0LrQuC4nLCfQmNC80L/QvtGA0YLQuNGA0L7QstCw0L3QviAlZCDRgdGC0YDQvtC6LicpLCfQndC1INGD0LTQsNC70L7RgdGMINC/0L7Qu9GD0YfQuNGC0Ywg0LTQsNC90L3Ri9C1INC40Lcg0YLQsNCx0LvQuNGG0YsnLCfQoNC10LvRj9GG0LjQuCcsJ9CY0LfQvNC10L3QuNGC0Ywg0Y3RgtC+INC30L3QsNGH0LXQvdC40LUg0LzQvtC20L3QviDRgSDQv9C+0LzQvtGJ0YzRjiDRgdGB0YvQu9C60LggwqvQuNC30LzQtdC90LjRgtGMwrsuJywn0KHRgtGA0LDQvdC40YbQsCcsJ9C/0L7RgdC70LXQtNC90Y/RjycsJ9Cy0LXRgdGMINGA0LXQt9GD0LvRjNGC0LDRgicsJ9Ca0LvQvtC90LjRgNC+0LLQsNGC0YwnLCfQmNC80L/QvtGA0YInLCcgJywn0KLQsNCx0LvQuNGG0Ysg0LHRi9C70Lgg0L7Rh9C40YnQtdC90YsuJywn0KLQsNCx0LvQuNGG0Ysg0LHRi9C70Lgg0L/QtdGA0LXQvNC10YnQtdC90YsuJywnVGFibGVzIGhhdmUgYmVlbiBjb3BpZWQuJywn0KLQsNCx0LvQuNGG0Ysg0LHRi9C70Lgg0YPQtNCw0LvQtdC90YsuJywn0KLQsNCx0LvQuNGG0Ysg0Lgg0L/RgNC10LTRgdGC0LDQstC70LXQvdC40Y8nLCfQn9C+0LjRgdC6INCyINGC0LDQsdC70LjRhtCw0YUnLCfQotC40L8nLCfQntCx0YrRkdC8INC00LDQvdC90YvRhScsJ9Ce0LHRitGR0Lwg0LjQvdC00LXQutGB0L7QsicsJ9Ch0LLQvtCx0L7QtNC90L7QtSDQvNC10YHRgtC+Jywn0KHRgtGA0L7QuicsJ9CQ0L3QsNC70LjQt9C40YDQvtCy0LDRgtGMJywn0J7Qv9GC0LjQvNC40LfQuNGA0L7QstCw0YLRjCcsJ9Cf0YDQvtCy0LXRgNC40YLRjCcsJ9CY0YHQv9GA0LDQstC40YLRjCcsJ9Ce0YfQuNGB0YLQuNGC0YwnLCfQn9C10YDQtdC80LXRgdGC0LjRgtGMINCyINC00YDRg9Cz0L7RjiDQsdCw0LfRgyDQtNCw0L3QvdGL0YUnLCfQn9C10YDQtdC80LXRgdGC0LjRgtGMJywnQ29weScsJ8Kr0J/QvtGB0LvQtdC00L7QstCw0YLQtdC70YzQvdC+0YHRgtC4wrsnLCfQoNCw0YHQv9C40YHQsNC90LjQtScsJ9CSINC00LDQvdC90L7QtSDQstGA0LXQvNGPJywn0YHQtdC50YfQsNGBJyk7YnJlYWs7Y2FzZSJ6aCI6JFk9YXJyYXkoJ+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+WvvOWHuicsJ+azqOmUgCcsJ+aVsOaNruW6kycsJ+aooeW8jycsJ+WIm+W7uuaWsOihqCcsJ+mAieaLqScsJ2x0cicsJ1Jlc2VuZCBQT1NUIGRhdGE/Jywn5peg5pWIIENTUkYg5Luk54mM44CC6YeN5paw5Y+R6YCB6KGo5Y2V44CCJywn5rOo6ZSA5oiQ5Yqf44CCJywn5Lya6K+d5b+F6aG76KKr5ZCv55So44CCJywn5Lya6K+d5bey6L+H5pyf77yM6K+36YeN5paw55m75b2V44CCJywn5peg5pWI5Yet5o2u44CCJywn5rKh5pyJ5omp5bGVJywn5rKh5pyJ5pSv5oyB55qEIFBIUCDmianlsZXlj6/nlKjvvIglc++8ieOAgicsJ+WkquWkp+eahCBQT1NUIOaVsOaNruOAguWHj+WwkeaVsOaNruaIluiAheWinuWKoCAlcyDphY3nva7lkb3ku6TjgIInLCfmlbDmja7lupMnLCfml6DmlYjmlbDmja7lupPjgIInLCflt7LkuKLlvIPmlbDmja7lupPjgIInLCfpgInmi6nmlbDmja7lupMnLCfliJvlu7rmlrDmlbDmja7lupMnLCfmnYPpmZAnLCfov5vnqIvliJfooagnLCflj5jph48nLCfnirbmgIEnLCclcyDniYjmnKzvvJolcyDpgJrov4cgUEhQIOaJqeWxlSAlcycsJ+eZu+W9leS4uu+8miVzJywn5qCh5a+5Jywn6KGoJywn5Lii5byDJywn5Yi35pawJywn5qih5byPJywn6Z2e5rOV5qih5byP44CCJywn5rKh5pyJ6KGM44CCJywnJS4zZiDnp5InLCflpJbplK4nLCfmoKHlr7knLCdPTiBERUxFVEUnLCfliJflkI0nLCflj4LmlbDlkI0nLCfnsbvlnosnLCfplb/luqYnLCfpgInpobknLCfoh6rliqjlop7ph48nLCfpu5jorqTlgLwnLCfms6jph4onLCfmt7vliqDkuIvkuIDkuKonLCfkuIrnp7snLCfkuIvnp7snLCfnp7vpmaQnLCfop4blm74nLCfooagnLCfliJcnLCfntKLlvJUnLCfmm7TmlLnntKLlvJUnLCfmupAnLCfnm67moIcnLCdPTiBVUERBVEUnLCfmm7TmlLknLCfmt7vliqDlpJbplK4nLCfop6blj5HlmagnLCfliJvlu7rop6blj5HlmagnLCfmlbDmja7lupPmpoLopoEnLCdQZXJtYW5lbnQgbGluaycsJ+WvvOWHuicsJ+i+k+WHuicsJ+agvOW8jycsJ+WtkOeoi+W6jycsJ+S6i+S7ticsJ+aVsOaNricsJ+e8lui+kScsJ+WIm+W7uueUqOaItycsJ+aJp+ihjOafpeivok9L77yMJWQg6KGM5Y+X5b2x5ZON44CCJywnJWQg6KGMJywn5p+l6K+i5Ye66ZSZJywn5rKh5pyJ5ZG95Luk5omn6KGM44CCJywnJWQg5p2h5p+l6K+i5bey5oiQ5Yqf5omn6KGM44CCJywn5paH5Lu25LiK5LygJywn5paH5Lu25LiK5Lyg6KKr56aB55So44CCJywn5omn6KGMJywn5Ye66ZSZ5pe25YGc5q2iJywn5LuF5pi+56S66ZSZ6K+vJywn5p2l6Ieq5pyN5Yqh5ZmoJywnV2Vi5pyN5Yqh5Zmo5paH5Lu2ICVzJywn6L+Q6KGM5paH5Lu2Jywn5Y6G5Y+yJywn5riF6ZmkJywnRWRpdCBhbGwnLCflt7LliKDpmaTpobnnm67jgIInLCflt7Lmm7TmlrDpobnnm67jgIInLCflt7Lmj5LlhaXpobnnm64lc+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/5bqm77yJJywn5bey5Lii5byD5pWw5o2u5bqT44CCJywn5bey6YeN5ZG95ZCN5pWw5o2u5bqT44CCJywn5bey5Yib5bu65pWw5o2u5bqT44CCJywn5bey5pu05pS55pWw5o2u5bqT44CCJywn5Yib5bu65pWw5o2u5bqTJywn5bey5Lii5byD5qih5byP44CCJywn5bey5Yib5bu65qih5byP44CCJywn5bey5pu05pS55qih5byP44CCJywn6LCD55SoJywn5a2Q56iL5bqP6KKr6LCD55So77yMJWQg6KGM6KKr5b2x5ZON44CCJywn5bey5Yig6Zmk5aSW6ZSu44CCJywn5bey5pu05pS55aSW6ZSu44CCJywn5bey5Yib5bu65aSW6ZSu44CCJywn5rqQ5YiX5ZKM55uu5qCH5YiX5b+F6aG75YW35pyJ55u45ZCM55qE5pWw5o2u57G75Z6L77yM5Zyo55uu5qCH5YiX5LiK5b+F6aG75pyJ5LiA5Liq57Si5byV5bm25LiU5byV55So55qE5pWw5o2u5b+F6aG75a2Y5Zyo44CCJywn5aSW6ZSuJywn55uu5qCH6KGoJywn5pu05pS5Jywn5aKe5Yqg5YiXJywn5bey5Lii5byD6KeG5Zu+44CCJywn5bey5pu05pS56KeG5Zu+44CCJywn5bey5Yib5bu66KeG5Zu+44CCJywn5Yib5bu66KeG5Zu+Jywn5ZCN56ewJywn5bey5Lii5byD5LqL5Lu244CCJywn5bey5pu05pS55LqL5Lu244CCJywn5bey5Yib5bu65LqL5Lu244CCJywn5pu05pS55LqL5Lu2Jywn5Yib5bu65LqL5Lu2Jywn5byA5aeLJywn57uT5p2fJywn5q+PJywn5a6M5oiQ5ZCO5L+d5a2YJywn5bey5Lii5byD5a2Q56iL5bqP44CCJywn5bey5pu05pS55a2Q56iL5bqP44CCJywn5bey5Yib5bu65a2Q56iL5bqP44CCJywn5pu05pS55Ye95pWwJywn5pu05pS56L+H56iLJywn5Yib5bu65Ye95pWwJywn5Yib5bu66L+H56iLJywn6L+U5Zue57G75Z6LJywn5bey5Lii5byD5bqP5YiX44CCJywn5bey5Yib5bu65bqP5YiX44CCJywn5bey5pu05pS55bqP5YiX44CCJywn5pu05pS55bqP5YiXJywn5Yib5bu65bqP5YiXJywn5bey5Lii5byD57G75Z6L44CCJywn5bey5Yib5bu657G75Z6L44CCJywn5pu05pS557G75Z6LJywn5Yib5bu657G75Z6LJywn5bey5Lii5byD6Kem5Y+R5Zmo44CCJywn5bey5pu05pS56Kem5Y+R5Zmo44CCJywn5bey5Yib5bu66Kem5Y+R5Zmo44CCJywn5pu05pS56Kem5Y+R5ZmoJywn5Yib5bu66Kem5Y+R5ZmoJywn5pe26Ze0Jywn5LqL5Lu2Jywn5bey5Lii5byD55So5oi344CCJywn5bey5pu05pS555So5oi344CCJywn5bey5Yib5bu655So5oi344CCJywnSGFzaGVkJywn5a2Q56iL5bqPJywn5o6I5p2DJywn5bqf6ZmkJywnJWQg5Liq6L+b56iL6KKr57uI5q2iJywn5YWx6K6hICVkJywn57uI5q2iJywnJWQg5Liq6aG555uu5Y+X5Yiw5b2x5ZON44CCJywn5Zyo5YC85LiK5Y+M5Ye757G75L+u5pS55a6D44CCJywnJWQg6KGM5bey5a+85YWl44CCJywn5LiN6IO96YCJ5oup6K+l6KGoJywn5YWz6IGU5L+h5oGvJywn5L2/55So57yW6L6R6ZO+5o6l5p2l5L+u5pS56K+l5YC844CCJywn6aG16Z2iJywn5pyA5ZCOJywn5omA5pyJ57uT5p6cJywn5YWL6ZqGJywn5a+85YWlJywnLCcsJ+W3sua4heepuuihqOOAgicsJ+W3sui9rOenu+ihqOOAgicsJ1RhYmxlcyBoYXZlIGJlZW4gY29waWVkLicsJ+W3suS4ouW8g+ihqOOAgicsJ+ihqOWSjOinhuWbvicsJ+WcqOihqOS4reaQnOe0ouaVsOaNricsJ+W8leaTjicsJ+aVsOaNrumVv+W6picsJ+e0ouW8lemVv+W6picsJ+aVsOaNruepuumXsicsJ+ihjOaVsCcsJ+WIhuaekCcsJ+S8mOWMlicsJ+ajgOafpScsJ+S/ruWkjScsJ+a4heepuicsJ+i9rOenu+WIsOWFtuWug+aVsOaNruW6kycsJ+i9rOenuycsJ0NvcHknLCfluo/liJcnLCfosIPluqYnLCflnKjmjIflrprml7bpl7QnLCfnjrDlnKgnKTticmVhaztjYXNlInpoLXR3IjokWT1hcnJheSgn5L2g56K65a6a5ZeO77yfJywn54Sh5rOV5LiK5YKz5qqU5qGI44CCJywn5YWB6Kix55qE5qqU5qGI5LiK6ZmQ5aSn5bCP54K6JXNCJywn5qqU5qGI5LiN5a2Y5ZyoJywn56m65YC8Jywn5Y6f5aeLJywn5rKS5pyJ6LOH5paZ6KGo44CCJywn6Kqe6KiAJywn5L2/55SoJywn6KuL5L2/55So5LiL5YiX5YW25Lit5LiA5YCLIGV4dGVuc2lvbiAlc+OAgicsJ+aqlOahiOW3suWtmOWcqOOAgicsJ+S9v+eUqOiAhemhnuWeiycsJ+aVuOWtlycsJ+aXpeacn+aZgumWkycsJ+Wtl+espuS4sicsJ+S6jOmAsuWIticsJ+e2sui3rycsJ+W5vuS9lScsJ+WIl+ihqCcsJ+izh+aWmeW6q+ezu+e1sScsJ+S8uuacjeWZqCcsJ+W4s+iZnycsJ+WvhueivCcsJ+eZu+WFpScsJ+awuOS5heeZu+WFpScsJ+mBuOaTh+izh+aWmScsJ+engOWHuue1kOaniycsJ+abtOaUueaqouimluihqCcsJ+abtOaUueizh+aWmeihqCcsJ+aWsOW7uumghScsJ+acgOW+jOS4gOmggScsJ+e3qOi8rycsJyVkIGJ5dGUocyknLCfpgbjmk4cnLCflh73mlbgnLCfpm4blkIgnLCfmkJzlsIsnLCfku7vmhI/kvY3nva4nLCfmjpLluo8nLCfpmY3lhqonLCfpmZDlrponLCdUZXh0IOmVt+W6picsJ+WLleS9nCcsJ1NRTOWRveS7pCcsJ+aJk+mWiycsJ+WEsuWtmCcsJ+abtOaUueizh+aWmeW6qycsJ+abtOaUueizh+aWmeihqOe1kOaniycsJ+W7uueri+izh+aWmeihqOe1kOaniycsJ+WwjuWFpS/lsI7lh7onLCfnmbvlh7onLCfos4fmlpnluqsnLCfos4fmlpnooajntZDmp4snLCflu7rnq4vmlrDos4fmlpnooagnLCfpgbjmk4cnLCdsdHInLCdSZXNlbmQgUE9TVCBkYXRhPycsJ+eEoeaViOeahCBDU1JGIHRva2Vu44CC6KuL6YeN5paw55m86YCB6KGo5Zau44CCJywn55m75Ye65oiQ5Yqf44CCJywnU2Vzc2lvbiDlv4XpoIjooqvllZ/nlKjjgIInLCdTZXNzaW9uIOW3sumBjuacn++8jOiri+mHjeaWsOeZu+WFpeOAgicsJ+eEoeaViOeahOaGkeitieOAgicsJ+aykuaciSDmk7TlhYXmqKHntYQnLCfmspLmnInku7vkvZXmlK/mj7TnmoRQSFDmk7TlhYXmqKHntYTvvIglc++8ieOAgicsJ1BPU1Qg6LOH5paZ5aSq5aSn44CC5rib5bCR6LOH5paZ5oiW6ICF5aKe5YqgICVzIOeahOioreWumuWAvOOAgicsJ+izh+aWmeW6qycsJ+eEoeaViOeahOizh+aWmeW6q+OAgicsJ+izh+aWmeW6q+W3suWIqumZpOOAgicsJ+mBuOaTh+izh+aWmeW6qycsJ+W7uueri+aWsOizh+aWmeW6qycsJ+asiumZkCcsJ+mAsueoi+WIl+ihqCcsJ+iuiuaVuCcsJ+eLgOaFiycsJyVz54mI5pys77yaJXMg6YCP6YGOUEhQ5pO05YWF5qih57WEICVzJywn55m76YyE54K677yaJXMnLCfmoKHlsI0nLCfos4fmlpnooagnLCfkuJ/mo4QnLCfph43mlrDovInlhaUnLCfos4fmlpnooajntZDmp4snLCfnhKHmlYjnmoTos4fmlpnooajntZDmp4vjgIInLCfmspLmnInooYzjgIInLCclLjNm56eSJywn5aSW6Y21Jywn5qCh5bCNJywnT04gREVMRVRFJywn5YiX5ZCNJywn5Y+D5pW45ZCN56ixJywn6aGe5Z6LJywn6ZW35bqmJywn6YG46aCFJywn6Ieq5YuV5aKe5YqgJywn6aCQ6Kit5YC8Jywn6Ki76KejJywn5paw5aKe5LiL5LiA5YCLJywn5LiK56e7Jywn5LiL56e7Jywn56e76ZmkJywn5qqi6KaW6KGoJywn6LOH5paZ6KGoJywn5YiXJywn57Si5byVJywn5pu05pS557Si5byVJywn5L6G5rqQJywn55uu5qiZJywnT04gVVBEQVRFJywn5pu05pS5Jywn5paw5aKe5aSW6Y21Jywn6Ke455m85ZmoJywn5bu656uL6Ke455m85ZmoJywn6LOH5paZ5bqr5p625qeLJywnUGVybWFuZW50IGxpbmsnLCfljK/lh7onLCfovLjlh7onLCfmoLzlvI8nLCfnqIvluo8nLCfkuovku7YnLCfos4fmlpknLCfnt6jovK8nLCflu7rnq4vkvb/nlKjogIUnLCfln7fooYzmn6XoqaJPS++8jCVk6KGM5Y+X5b2x6Z+/JywnJWTooYwnLCfmn6XoqaLlh7rpjK8nLCfmspLmnInlkb3ku6Tlj6/ln7fooYzjgIInLCflt7LpoIbliKnln7fooYwgJWQg5YCL5p+l6Kmi44CCJywn5qqU5qGI5LiK5YKzJywn5qqU5qGI5LiK5YKz6KKr56aB55So44CCJywn5Z+36KGMJywn5Ye66Yyv5pmC5YGc5q2iJywn5YOF6aGv56S66Yyv6Kqk6KiK5oGvJywn5b6e5Ly65pyN5ZmoJywn57ay6aCB5Ly65pyN5Zmo5qqU5qGIICVzJywn5Z+36KGM5qqU5qGIJywn5q235Y+yJywn5riF6ZmkJywnRWRpdCBhbGwnLCfoqbLpoIXnm67lt7LooqvliKrpmaQnLCflt7Lmm7TmlrDpoIXnm67jgIInLCflt7Lmj5LlhaXpoIXnm64lc+OAgicsJ+aPkuWFpScsJ+WEsuWtmCcsJ+S/neWtmOS4pue5vOe6jOe3qOi8rycsJ+WEsuWtmOS4puaPkuWFpeS4i+S4gOWAiycsJ+WIqumZpCcsJ+W3sue2k+WIqumZpOizh+aWmeihqOOAgicsJ+izh+aWmeihqOW3suabtOaUueOAgicsJ+izh+aWmeihqOW3suabtOaUueOAgicsJ+W7uueri+izh+aWmeihqOihqCcsJ+i2hemBjuacgOWkmuWFgeioseeahOWtl+auteaVuOmHj+OAguiri+WinuWKoCVz5ZKMJXMg44CCJywn6LOH5paZ6KGo5ZCN56ixJywn5byV5pOOJywn5YiG5Y2A6aGe5Z6LJywn5YiG5Y2AJywn5YiG5Y2A5ZCNJywn5YC8Jywn5bey5pu05pS557Si5byV44CCJywn57Si5byV6aGe5Z6LJywn5YiX77yI6ZW35bqm77yJJywn6LOH5paZ5bqr5bey5Yiq6Zmk44CCJywn5bey6YeN5paw5ZG95ZCN6LOH5paZ5bqr44CCJywn5bey5bu656uL6LOH5paZ5bqr44CCJywn5bey5pu05pS56LOH5paZ5bqr44CCJywn5bu656uL6LOH5paZ5bqrJywn5bey5Yiq6Zmk6LOH5paZ6KGo57WQ5qeL44CCJywn5bey5bu656uL6LOH5paZ6KGo57WQ5qeL44CCJywn5bey5pu05pS56LOH5paZ6KGo57WQ5qeL44CCJywn5ZG85Y+rJywn56iL5bqP5bey6KKr5Z+36KGM77yMJWTooYzooqvlvbHpn78nLCflt7LliKrpmaTlpJbpjbXjgIInLCflt7Lmm7TmlLnlpJbpjbXjgIInLCflt7Llu7rnq4vlpJbpjbXjgIInLCfmupDliJflkoznm67mqJnliJflv4XpoIjlhbfmnInnm7jlkIznmoTmlbjmk5rpoZ7lnovvvIzlnKjnm67mqJnliJfkuIrlv4XpoIjmnInkuIDlgIvntKLlvJXkuKbkuJTlvJXnlKjnmoTmlbjmk5rlv4XpoIjlrZjlnKjjgIInLCflpJbpjbUnLCfnm67mqJnos4fmlpnooagnLCfmm7TmlLknLCfmlrDlop7os4fmlpnliJcnLCflt7LkuJ/mo4TmqqLoppbooajjgIInLCflt7Lmm7TmlLnmqqLoppbooajjgIInLCflt7Llu7rnq4vmqqLoppbooajjgIInLCflu7rnq4vmqqLoppbooagnLCflkI3nqLEnLCflt7LkuJ/mo4Tkuovku7bjgIInLCflt7Lmm7TmlLnkuovku7bjgIInLCflt7Llu7rnq4vkuovku7bjgIInLCfmm7TmlLnkuovku7YnLCflu7rnq4vkuovku7YnLCfplovlp4snLCfntZDmnZ8nLCfmr48nLCflnKjlrozmiJDlvozkv53lrZgnLCflt7LkuJ/mo4TnqIvluo/jgIInLCflt7Lmm7TmlLnlrZDnqIvluo/jgIInLCflt7Llu7rnq4vlrZDnqIvluo/jgIInLCfmm7TmlLnlh73mlbgnLCfmm7TmlLnpgY7nqIsnLCflu7rnq4vlh73mlbgnLCflu7rnq4vpoJDlrZjnqIvluo8nLCfov5Tlm57poZ7lnosnLCflt7LliKrpmaQgc2VxdWVuY2XjgIInLCflt7Llu7rnq4sgc2VxdWVuY2XjgIInLCflt7Lmm7TmlLkgc2VxdWVuY2XjgIInLCfmm7TmlLkgc2VxdWVuY2UnLCflu7rnq4sgc2VxdWVuY2UnLCflt7LliKrpmaTpoZ7lnovjgIInLCflt7Llu7rnq4vpoZ7lnovjgIInLCfmm7TmlLnpoZ7lnosnLCflu7rnq4vpoZ7lnosnLCflt7LkuJ/mo4Top7jnmbzlmajjgIInLCflt7Lmm7TmlLnop7jnmbzlmajjgIInLCflt7Llu7rnq4vop7jnmbzlmajjgIInLCfmm7TmlLnop7jnmbzlmagnLCflu7rnq4vop7jnmbzlmagnLCfmmYLplpMnLCfkuovku7YnLCflt7LkuJ/mo4Tkvb/nlKjogIXjgIInLCflt7Lmm7TmlLnkvb/nlKjogIXjgIInLCflt7Llu7rnq4vkvb/nlKjogIXjgIInLCdIYXNoZWQnLCfnqIvluo8nLCfmjojmrIonLCflu6LpmaQnLCclZCDlgIsgUHJvY2Vzcyhlcykg6KKr57WC5q2iJywn57i95YWxICVkIOWAiycsJ+e1guatoicsJyVk5YCL6aCF55uu5Y+X5Yiw5b2x6Z+/44CCJywn6ZuZ5pOK5Lul6YCy6KGM5L+u5pS544CCJywnJWTooYzlt7LlsI7lhaXjgIInLCfnhKHms5Xpgbjmk4foqbLos4fmlpnooagnLCfpl5zoga8nLCfkvb/nlKjnt6jovK/pgKPntZDkvobkv67mlLnjgIInLCfpoIEnLCfmnIDlvozkuIDpoIEnLCfmiYDmnInntZDmnpwnLCfopIfoo70nLCfljK/lhaUnLCcsJywn5bey5riF56m66LOH5paZ6KGo44CCJywn5bey6L2J56e76LOH5paZ6KGo44CCJywnVGFibGVzIGhhdmUgYmVlbiBjb3BpZWQuJywn5bey5Lif5qOE6KGo44CCJywn6LOH5paZ6KGo5ZKM5qqi6KaW6KGoJywn5Zyo6LOH5paZ5bqr5pCc5bCLJywn5byV5pOOJywn6LOH5paZ6ZW35bqmJywn57Si5byV6ZW35bqmJywn6LOH5paZ56m66ZaSJywn6KGM5pW4Jywn5YiG5p6QJywn5YSq5YyWJywn5qqi5p+lJywn5L+u5b6pJywn5riF56m6Jywn6L2J56e75Yiw5YW25a6D6LOH5paZ5bqrJywn6L2J56e7JywnQ29weScsJ1NlcXVlbmNlcycsJ+iqv+W6picsJ+WcqOaMh+WumuaZgumWkycsJ+ePvuWcqCcpO2JyZWFrO2Nhc2UiamEiOiRZPWFycmF5KCflrp/ooYzjgZfjgb7jgZnjgYvvvJ8nLCfjg5XjgqHjgqTjg6vjgpLjgqLjg4Pjg5fjg63jg7zjg4njgafjgY3jgb7jgZvjgpMnLCfmnIDlpKfjg5XjgqHjgqTjg6vjgrXjgqTjgrogJXNCJywn44OV44Kh44Kk44Or44Gv5a2Y5Zyo44GX44G+44Gb44KTJywn56m6Jywn5YWDJywn44OG44O844OW44Or44GM44GC44KK44G+44Gb44KT44CCJywn6KiA6KqeJywn5L2/55SoJywn44GE44Ga44KM44GL44Gu5ouh5by15qmf6IO944KS5L2/44Gj44Gm44GP44Gg44GV44GEICVzJywn44OV44Kh44Kk44Or44GM5pei44Gr5a2Y5Zyo44GX44G+44GZJywn44Om44O844K244O85a6a576p5Z6LJywn5pWw5a2XJywn5pel5pmCJywn5paH5a2X5YiXJywn44OQ44Kk44OK44OqJywn44ON44OD44OI44Ov44O844Kv5Z6LJywn44K444Kq44Oh44OI44Oq5Z6LJywn44Oq44K544OIJywn44OH44O844K/44OZ44O844K556iu6aGeJywn44K144O844OQJywn44Om44O844K25ZCNJywn44OR44K544Ov44O844OJJywn44Ot44Kw44Kk44OzJywn5rC457aa55qE44Gr44Ot44Kw44Kk44OzJywn44OH44O844K/Jywn5qeL6YCgJywn44OT44Ol44O844KS5aSJ5pu0Jywn44OG44O844OW44Or44Gu5aSJ5pu0Jywn6aCF55uu44Gu5L2c5oiQJywn5pyA5b6M44Gu44Oa44O844K4Jywn57eo6ZuGJywnJWQg44OQ44Kk44OIJywn6YG45oqeJywn6Zai5pWwJywn6ZuG5ZCIJywn5qSc57SiJywn5Lu75oSPJywn44K944O844OIJywn6ZmN6aCGJywn5Yi257SEJywn5paH5a2X5YiX44Gu6ZW344GVJywn5YuV5L2cJywnU1FM44Kz44Oe44Oz44OJJywn6ZaL44GPJywn5L+d5a2YJywn44OH44O844K/44OZ44O844K544KS5aSJ5pu0Jywn44K544Kt44O844Oe5aSJ5pu0Jywn44K544Kt44O844Oe6L+95YqgJywn44OA44Oz44OXJywn44Ot44Kw44Ki44Km44OIJywn44OH44O844K/44OZ44O844K5Jywn44K544Kt44O844OeJywn44OG44O844OW44Or44KS5L2c5oiQJywn6YG45oqeJywnbHRyJywnUmVzZW5kIFBPU1QgZGF0YT8nLCfkuI3mraPjgapDU1JG44OI44O844Kv44Oz44CC5YaN6YCB5L+h44GX44Gm44GP44Gg44GV44GEJywn44Ot44Kw44Ki44Km44OIJywn44K744OD44K344On44Oz44KS5pyJ5Yq544Gr44GX44Gm44GP44Gg44GV44GEJywn44K744OD44K344On44Oz44Gu5pyf6ZmQ5YiH44KM44CC44Ot44Kw44Kk44Oz44GX55u044GX44Gm44GP44Gg44GV44GEJywn5LiN5q2j44Gq44Ot44Kw44Kk44OzJywn5ouh5by15qmf6IO944GM44GC44KK44G+44Gb44KTJywnUEhQ44Gu5ouh5by15qmf6IO977yIJXPvvInjgYzjgrvjg4Pjg4jjgqLjg4Pjg5fjgZXjgozjgabjgYTjgb7jgZvjgpMnLCdQT1NU44OH44O844K/44GM5aSn44GN44GZ44GO44G+44GZ44CC44OH44O844K/44K144Kk44K644KS5bCP44GV44GP44GZ44KL44GLICVzIOioreWumuOCkuWkp+OBjeOBj+OBl+OBpuOBj+OBoOOBleOBhCcsJ+ODh+ODvOOCv+ODmeODvOOCuScsJ+S4jeato+OBquODh+ODvOOCv+ODmeODvOOCuScsJ+ODh+ODvOOCv+ODmeODvOOCueOCkuWJiumZpOOBl+OBvuOBl+OBnycsJ+ODh+ODvOOCv+ODmeODvOOCueOCkumBuOaKnuOBl+OBpuOBj+OBoOOBleOBhCcsJ+aWsOimj+OBq+ODh+ODvOOCv+ODmeODvOOCueOCkuS9nOaIkCcsJ+aoqemZkCcsJ+ODl+ODreOCu+OCueS4gOimpycsJ+WkieaVsCcsJ+eKtuaFiycsJyVz44OQ44O844K444On44Oz77yaJXPjgIEgUEhQ5ouh5by15qmf6IO9ICVzJywn44Ot44Kw77yaJXMnLCfnhaflkIjpoIbluo8nLCfjg4bjg7zjg5bjg6snLCfliYrpmaQnLCfjg6rjg5Xjg6zjg4Pjgrfjg6UnLCfjgrnjgq3jg7zjg54nLCfnhKHlirnjgarjgrnjgq3jg7zjg54nLCfooYzjgYzjgYLjgorjgb7jgZvjgpMnLCclLjNmIOenkicsJ+WklumDqOOCreODvCcsJ+eFp+WQiOmghuW6jycsJ09OIERFTEVURScsJ+WIl+WQjScsJ+WPguaVsOWQjScsJ+WeiycsJ+mVt+OBlScsJ+ioreWumicsJ+mAo+eVqicsJ+imj+WumuWApCcsJ+OCs+ODoeODs+ODiCcsJ+i/veWKoCcsJ+S4iicsJ+S4iycsJ+mZpOWklicsJ+ODk+ODpeODvCcsJ+ODhuODvOODluODqycsJ+WIlycsJ+e0ouW8lScsJ+e0ouW8leOBruWkieabtCcsJ+OCveODvOOCuScsJ+OCv+ODvOOCsuODg+ODiCcsJ09OIFVQREFURScsJ+WkieabtCcsJ+WklumDqOOCreODvOOCkui/veWKoCcsJ+ODiOODquOCrOODvCcsJ+ODiOODquOCrOODvOOBrui/veWKoCcsJ+ani+mAoCcsJ1Blcm1hbmVudCBsaW5rJywn44Ko44Kv44K544Od44O844OIJywn5Ye65YqbJywn5b2i5byPJywn44Or44O844OB44OzJywn44Kk44OZ44Oz44OIJywn44OH44O844K/Jywn57eo6ZuGJywn44Om44O844K244KS5L2c5oiQJywn44Kv44Ko44Oq44O844KS5a6f6KGM44GX44G+44GX44Gf44CCJWQg6KGM44KS5aSJ5pu044GX44G+44GX44GfJywnJWQg6KGMJywn44Kv44Ko44Oq44O844Gu44Ko44Op44O8Jywn5a6f6KGM44GZ44KL44Kz44Oe44Oz44OJ44GM44GC44KK44G+44Gb44KTJywnJWQg44Kv44Ko44Oq44O844KS5a6f6KGM44GX44G+44GX44GfJywn44OV44Kh44Kk44Or44KS44Ki44OD44OX44Ot44O844OJJywn44OV44Kh44Kk44Or44Gu44Ki44OD44OX44Ot44O844OJ44GM54Sh5Yq544Gn44GZJywn5a6f6KGMJywn44Ko44Op44O844Gu5aC05ZCI44Gv5YGc5q2iJywn44Ko44Op44O844Gu44G/6KGo56S6Jywn44K144O844OQ44O844GL44KJ5a6f6KGMJywnV2Vi44K144O844OQ44OV44Kh44Kk44OrICVzJywn44OV44Kh44Kk44Or44KS5a6f6KGMJywn5bGl5q20Jywn5raI5Y67JywnRWRpdCBhbGwnLCfpoIXnm67jgpLliYrpmaTjgZfjgb7jgZfjgZ8nLCfpoIXnm67jgpLmm7TmlrDjgZfjgb7jgZfjgZ8nLCclc+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/jgaDjgZXjgYTjgIInLCfjg4bjg7zjg5bjg6vlkI0nLCfjgqjjg7Pjgrjjg7MnLCfjg5Hjg7zjg4bjgqPjgrfjg6fjg7MnLCfjg5Hjg7zjg4bjgqPjgrfjg6fjg7MnLCfjg5Hjg7zjg4bjgqPjgrfjg6fjg7PlkI0nLCflgKQnLCfntKLlvJXjgpLlpInmm7TjgZfjgb7jgZfjgZ8nLCfntKLlvJXjga7lnosnLCfliJfvvIjplbfjgZXvvIknLCfjg4fjg7zjgr/jg5njg7zjgrnjgpLliYrpmaTjgZfjgb7jgZfjgZ8nLCfjg4fjg7zjgr/jg5njg7zjgrnjga7lkI3liY3jgpLlpInjgYjjgb7jgZfjgZ8nLCfjg4fjg7zjgr/jg5njg7zjgrnjgpLkvZzmiJDjgZfjgb7jgZfjgZ8nLCfjg4fjg7zjgr/jg5njg7zjgrnjgpLlpInmm7TjgZfjgb7jgZfjgZ8nLCfjg4fjg7zjgr/jg5njg7zjgrnjgpLkvZzmiJAnLCfjgrnjgq3jg7zjg57jgpLliYrpmaTjgZfjgb7jgZfjgZ8nLCfjgrnjgq3jg7zjg57jgpLov73liqDjgZfjgb7jgZfjgZ8nLCfjgrnjgq3jg7zjg57jgpLlpInmm7TjgZfjgb7jgZfjgZ8nLCflkbzlh7rjgZcnLCfjg6vjg7zjg4Hjg7PjgpLlkbzjgbPjgb7jgZfjgZ/jgIIlZCDooYzjgpLlpInmm7TjgZfjgb7jgZfjgZ8nLCflpJbpg6jjgq3jg7zjgpLliYrpmaTjgZfjgb7jgZfjgZ8nLCflpJbpg6jjgq3jg7zjgpLlpInmm7TjgZfjgb7jgZfjgZ8nLCflpJbpg6jjgq3jg7zjgpLkvZzmiJDjgZfjgb7jgZfjgZ8nLCfjgr3jg7zjgrnjgajjgr/jg7zjgrLjg4Pjg4jjga7liJfjga/lkIzjgZjjg4fjg7zjgr/lnovjgafjgarjgZHjgozjgbDjgarjgorjgb7jgZvjgpPjgILjgr/jg7zjgrLjg4Pjg4jliJfjgavntKLlvJXjgYzjgYLjgorjgIHjg4fjg7zjgr/jgYzlrZjlnKjjgZfjgarjgZHjgozjgbDjgarjgorjgb7jgZvjgpPjgIInLCflpJbjgq3jg7wnLCfjg4bjg7zjg5bjg6snLCflpInmm7QnLCfliJfjgpLov73liqAnLCfjg5Pjg6Xjg7zjgpLliYrpmaTjgZfjgb7jgZfjgZ8nLCfjg5Pjg6Xjg7zjgpLlpInmm7TjgZfjgb7jgZfjgZ8nLCfjg5Pjg6Xjg7zjgpLkvZzmiJDjgZfjgb7jgZfjgZ8nLCfjg5Pjg6Xjg7zjgpLkvZzmiJAnLCflkI3np7AnLCfliYrpmaTjgZfjgb7jgZfjgZ8nLCflpInmm7TjgZfjgb7jgZfjgZ8nLCfkvZzmiJDjgZfjgb7jgZfjgZ8nLCflpInmm7QnLCfkvZzmiJAnLCfplovlp4snLCfntYLkuoYnLCfmr47lm54nLCflrozmiJDlvozjgavkv53lrZgnLCfjg6vjg7zjg4Hjg7PjgpLkvZzmiJAnLCfjg6vjg7zjg4Hjg7PjgpLlpInmm7QnLCfjg6vjg7zjg4Hjg7PjgpLkvZzmiJAnLCfplqLmlbDjga7lpInmm7QnLCfjg5fjg63jgrfjg7zjgrjjg6Pjga7lpInmm7QnLCfplqLmlbDjga7kvZzmiJAnLCfjg5fjg63jgrfjg7zjgrjjg6Pjga7kvZzmiJAnLCfmiLvjgorlgKTjga7lnosnLCfjgrfjg7zjgrHjg7PjgrnjgpLliYrpmaTjgZfjgb7jgZfjgZ8nLCfjgrfjg7zjgrHjg7PjgrnjgpLov73liqDjgZfjgb7jgZfjgZ8nLCfjgrfjg7zjgrHjg7PjgrnjgpLlpInmm7TjgZfjgb7jgZfjgZ8nLCfjgrfjg7zjgrHjg7PjgrnlpInmm7QnLCfjgrfjg7zjgrHjg7PjgrnkvZzmiJAnLCfjg6bjg7zjgrbjg7zlrprnvqnlnovjgpLliYrpmaTjgZfjgb7jgZfjgZ8nLCfjg6bjg7zjgrbjg7zlrprnvqnlnovjgpLov73liqDjgZfjgb7jgZfjgZ8nLCfjg6bjg7zjgrbjg7zlrprnvqnlnovlpInmm7QnLCfjg6bjg7zjgrbjg7zlrprnvqnlnovkvZzmiJAnLCfjg4jjg6rjgqzjg7zjgpLliYrpmaTjgZfjgb7jgZfjgZ8nLCfjg4jjg6rjgqzjg7zjgpLlpInmm7TjgZfjgb7jgZfjgZ8nLCfjg4jjg6rjgqzjg7zjgpLov73liqDjgZfjgb7jgZfjgZ8nLCfjg4jjg6rjgqzjg7zjga7lpInmm7QnLCfjg4jjg6rjgqzjg7zjga7kvZzmiJAnLCfmmYLplpMnLCfjgqTjg5njg7Pjg4gnLCfjg6bjg7zjgrbjgpLliYrpmaQnLCfjg6bjg7zjgrbjgpLlpInmm7QnLCfjg6bjg7zjgrbjgpLkvZzmiJAnLCdIYXNoZWQnLCfjg6vjg7zjg4Hjg7MnLCfmqKnpmZDjga7ku5jkuI4nLCfmqKnpmZDjga7lj5bmtojjgZcnLCclZCDjg5fjg63jgrvjgrnjgpLlvLfliLbntYLkuobjgZfjgb7jgZfjgZ8nLCflkIjoqIggJWQnLCflvLfliLbntYLkuoYnLCclZCDjgpLmm7TmlrDjgZfjgb7jgZfjgZ8nLCfjg4Djg5bjg6vjgq/jg6rjg4Pjgq/jgZfjgabnt6jpm4YnLCclZCDooYzjgpLjgqTjg7Pjg53jg7zjg4jjgZfjgb7jgZfjgZ8nLCfjg4bjg7zjg5bjg6vjgpLpgbjmip7jgafjgY3jgb7jgZvjgpMnLCfplqLkv4InLCfjg6rjg7Pjgq/jgpLnt6jpm4bjgZnjgosnLCfjg5rjg7zjgrgnLCfmnIDntYInLCflhajntZDmnpwnLCfjgq/jg63jg7zjg7MnLCfjgqTjg7Pjg53jg7zjg4gnLCcsJywn44OG44O844OW44Or44KSdHJ1bmNhdGXjgZfjgb7jgZfjgZ8nLCfjg4bjg7zjg5bjg6vjgpLnp7vli5XjgZfjgb7jgZfjgZ8nLCdUYWJsZXMgaGF2ZSBiZWVuIGNvcGllZC4nLCfjg4bjg7zjg5bjg6vjgpLliYrpmaTjgZfjgb7jgZfjgZ8nLCfjg4bjg7zjg5bjg6vjgajjg5Pjg6Xjg7wnLCfjg4fjg7zjgr/jgpLmpJzntKLjgZnjgosnLCfjgqjjg7Pjgrjjg7MnLCfjg4fjg7zjgr/plbcnLCfntKLlvJXplbcnLCfnqbrjgY0nLCfooYzmlbAnLCfliIbmnpAnLCfmnIDpganljJYnLCfjg4Hjgqfjg4Pjgq8nLCfkv67lvqknLCdUcnVuY2F0ZScsJ+WIpeOBruODh+ODvOOCv+ODmeODvOOCueOBuOenu+WLlScsJ+enu+WLlScsJ0NvcHknLCfjgrfjg7zjgrHjg7PjgrknLCfjgrnjgrHjgrjjg6Xjg7zjg6snLCfmjIflrprmmYLliLsnLCfnj77lnKjjga7ml6XmmYInKTticmVhaztjYXNlInRhIjokWT1hcnJheSgn4K6o4K6/4K6a4K+N4K6a4oCM4K6v4oCM4K6u4K6+4K6V4oCMID8nLCfgrpXgr4vgrqrgr43grqrgr4gg4K6u4K+H4K6y4K+H4K6x4K+N4K6x4oCM4K6u4K+NICh1cGxvYWQpIOCumuCvhuCur+CvjeCur+KAjCDgrofgrq/grrLigIzgrrXgrr/grrLgr43grrLgr4guJywn4K6V4K+L4K6q4K+N4K6q4K6/4K6p4K+NIOCuheCupOCuv+CuleKAjOCuquKAjOCun+CvjeCumuKAjCDgroXgrrPigIzgrrXgr4EgJXNCLicsJ+CuleCvi+CuquCvjeCuquCvgSDgrofgrrLgr43grrLgr4guJywn4K614K+G4K6x4K+B4K6u4K+IIChlbXB0eSknLCfgroXgrprigIzgrrLgr40nLCfgroXgrp/gr43grp/igIzgrrXigIzgrqPgr4gg4K6H4K6y4K+N4K6y4K+ILicsJ+CuruCviuCutOCuvycsJ+CuieCuquKAjOCur+Cvi+CuleCuvycsJ+CupOKAjOCur+KAjOCuteCvgSDgrprgr4bgrq/gr43grqTgr4Eg4K6S4K6w4K+BIOCuteCuv+CusOCuv+CuteCuv+CuqeCviCAlcyAoZXh0ZW5zaW9uKSDgrongrqrigIzgrq/gr4vgrpXgrr/grpXgr43grpXigIzgrrXgr4Hgrq7gr40uJywn4K6V4K+L4K6q4K+N4K6q4K+BIOCuieCus+CvjeCus+KAjOCupOCvgS4nLCfgrqrigIzgrq/igIzgrqngrr7grrPigIzgrrDgr40g4K614oCM4K6V4K+I4K6V4oCM4K6z4K+NJywn4K6O4K6j4K+N4K6V4oCM4K6z4K+NJywn4K6k4K+H4K6k4K6/IOCuruKAjOCuseCvjeCuseCvgeCuruCvjSDgrqjgr4fgrrDigIzgrq7gr40nLCfgrprigIzgrrDigIzgrq7gr40gKFN0cmluZyknLCfgrqrgr4jgrqnigIzgrrDgrr8nLCfgrqjgr4bgrp/gr43grrXgr4rgrrDgr43grpXgr40nLCfgrrXigIzgrp/grr/grrXigIzgrrXgrr/grq/igIzgrrLgr40gKEdlb21ldHJ5KScsJ+CuquKAjOCun+CvjeCun+Cuv+Cur+KAjOCusuCvjScsJ+CumuCuv+CuuOCvjeCun+KAjOCuruCvjSAoU3lzdGVtKScsJ+CuteKAjOCutOKAjOCumeCvjeCuleCuvyAoU2VydmVyKScsJ+CuquKAjOCur+KAjOCuqeCuvuCus+KAjOCusOCvjSAoVXNlciknLCfgrpXigIzgrp/igIzgrrXgr4Hgrprgr43grprgr4rgrrLgr40nLCfgrqjgr4HgrrTgr4gnLCfgrqjgrr/grrDigIzgrqjgr43grqTigIzgrrDigIzgrq7grr7grpXigIwg4K6o4K+B4K604K+I4K6v4oCM4K614K+B4K6u4K+NJywn4K6k4oCM4K6V4oCM4K614oCM4K6y4K+IIOCupOCvh+CusOCvjeCuteCvgSDgrprgr4bgrq/gr40nLCfgrpXigIzgrp/gr43grp/igIzgrq7gr4jgrqrgr43grqrgr4gg4K6V4K6+4K6j4K+N4K6q4K6/4K6V4K+N4K6V4oCM4K614K+B4K6u4K+NJywn4K6k4K+L4K6x4K+N4K6x4oCM4K6k4K+N4K6k4K+IIOCuruCuvuCuseCvjeCuseCvgScsJ+CuheCun+CvjeCun+KAjOCuteKAjOCuo+CviOCur+CviCDgrq7grr7grrHgr43grrHgr4EnLCfgrqrgr4HgrqTgrr/grq/igIwg4K6J4K6w4K+B4K6q4K+N4K6q4oCM4K6f4K6/Jywn4K6V4oCM4K6f4K+I4K6a4K6/IOCuquKAjOCuleCvjeCuleKAjOCuruCvjScsJ+CupOCviuCuleCvgScsYXJyYXkoJyVkIOCuquCviOCun+CvjScsJyVkIOCuquCviOCun+CvjeCun+CvgeCuleKAjOCus+CvjScpLCfgrqTgr4fgrrDgr43grrXgr4Eg4K6a4K+G4K6v4K+NJywnRnVuY3Rpb25zJywn4K6k4K6/4K6w4oCM4K6z4K+N4K614K+BIChBZ2dyZWdhdGlvbiknLCfgrqTgr4fgrp/gr4EnLCfgro7grpngr43grpXgrr7grq/grr/grqngr4Hgrq7gr40nLCfgrqTigIzgrrDigIzgrq7gr40g4K6q4K6/4K6w4K6/Jywn4K6H4K6x4oCM4K6Z4K+N4K6V4K+B4K6u4K+B4K6V4oCM4K6u4K6+4K6p4oCMJywn4K614oCM4K6w4oCM4K6u4K+N4K6q4K+BJywn4K6J4K6w4K+IIOCuqOCvgOCus+KAjOCuruCvjScsJ+CumuCvhuCur+KAjOCusuCvjScsJ1NRTCDgrpXigIzgrp/gr43grp/igIzgrrPgr4gnLCfgrqTgrr/grrHigIwnLCfgrprgr4fgrq7grr8nLCfgrqTigIzgrpXigIzgrrXigIzgrrLgr43grqTigIzgrrPigIzgrqTgr43grqTgr4gg4K6u4K6+4K6x4K+N4K6x4K+BJywn4K6F4K6u4K+I4K6q4K+N4K6q4K+B4K6u4K+B4K6x4K+I4K6v4K+IIOCuruCuvuCuseCvjeCuseCvgScsJ+CuheCuruCviOCuquCvjeCuquCvgeCuruCvgeCuseCviOCur+CviCDgrongrrDgr4HgrrXgrr7grpXgr43grpXgr4EnLCdEdW1wJywn4K614K+G4K6z4K6/4K6v4K+H4K6x4K+BJywn4K6k4oCM4K6V4oCM4K614oCM4K6y4K+N4K6k4oCM4K6z4oCM4K6u4K+NJywn4K6F4K6u4K+I4K6q4K+N4K6q4K+B4K6u4K+B4K6x4K+IJywn4K6q4K+B4K6k4K6/4K6v4oCMIOCuheCun+CvjeCun+KAjOCuteKAjOCuo+CviOCur+CviCDgrongrrDgr4HgrrXgrr7grpXgr43grpXgr4EnLCfgrqTgr4fgrrDgr43grrXgr4Eg4K6a4K+G4K6v4K+NJywnbHRyJywnUmVzZW5kIFBPU1QgZGF0YT8nLCdDU1JGIOCun+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+CuteKAjOCuruCviOCuquCvjeCuquCviCAoY29uZmlndXJhdGlvbiBkaXJlY3RpdmUpIOCuruCuvuCuseCvjeCuseKAjOCuteCvgeCuruCvjS4nLCfgrqTigIzgrpXigIzgrrXigIzgrrLgr43grqTigIzgrrPigIzgrq7gr40nLCfgrqTigIzgrpXigIzgrrXigIzgrrLgr43grqTigIzgrrPigIzgrq7gr40g4K6a4oCM4K6w4K6/4K6v4K6+4K6p4K6k4K6y4K+N4K6y4oCMLicsJ+CupOKAjOCuleKAjOCuteKAjOCusuCvjSDgrqTigIzgrrPigIzgrpngr43grpXigIzgrrPgr40g4K6o4K+A4K6V4K+N4K6V4oCM4K6q4K+N4K6q4oCM4K6f4K+N4K6f4K6p4oCMLicsJ+CupOKAjOCuleKAjOCuteKAjOCusuCvjeCupOKAjOCus+KAjOCupOCvjeCupOCviCDgrqTgr4fgrrDgr43grrXgr4Eg4K6a4K+G4K6v4K+NJywn4K6q4K+B4K6k4K6/4K6v4oCMIOCupOKAjOCuleKAjOCuteKAjOCusuCvjeCupOKAjOCus+KAjOCupOCvjeCupOCviCDgrongrrDgr4HgrrXgrr7grpXgr43grpXgr4EnLCfgrprigIzgrrLgr4HgrpXgr4jgrpXigIzgrrPgr40gLyDgrprgrr/grrHigIzgrqrgr43grqrgr4HgrrDgrr/grq7gr4jgrpXigIzgrrPgr40nLCfgrrXgr4fgrrLgr4jgrpXigIzgrrPgrr/grqngr40g4K6q4oCM4K6f4K+N4K6f4K6/Jywn4K6u4K6+4K6x4K6/4K6y4K6/4K6V4oCM4K6z4K+NIChWYXJpYWJsZXMpJywn4K6o4K6/4K6V4oCM4K604K+N4K6o4K6/4K6y4K+IIChTdGF0dXMpJywnJXMg4K6q4oCM4K6k4K6/4K6q4K+N4K6q4K+BOiAlcyB0aHJvdWdoIFBIUCBleHRlbnNpb24gJXMnLCfgrqrigIzgrq/igIzgrqngrr7grrPgrrDgr406ICVzJywn4K6V4K+K4K6y4K+H4K6a4oCM4K6p4K+NJywn4K6F4K6f4K+N4K6f4oCM4K614oCM4K6j4K+IJywn4K6o4K+A4K6V4K+N4K6V4K+BJywn4K6q4K+B4K6k4K+B4K6q4K+N4K6q4K6/IChSZWZyZXNoKScsJ+CuheCuruCviOCuquCvjeCuquCvgeCuruCvgeCuseCviCcsJ+CuheCuruCviOCuquCvjeCuquCvgeCuruCvgeCuseCviCDgrprigIzgrrDgrr/grq/grr7grqnigIzgrqTigIzgrrLgr43grrLigIwgKEludmFsaWQgU2NoZW1hKS4nLCfgrrXigIzgrrDgrr/grprgr4gg4K6H4K6y4K+N4K6y4K+ILicsJyUuM2YgcycsJ+CuteCvh+CuseCvjeCuseCvgSDgrrXgrr/grprgr4jgrpXigIzgrrPgr40nLCfgrpXgr4rgrrLgr4fgrprigIzgrqngr40nLCdPTiBERUxFVEUnLCfgrqjgr4bgrp/gr4HgrrXigIzgrrDgrr/grprgr4jgrq/grr/grqngr40g4K6q4K+G4K6v4oCM4K6w4K+NJywn4K6F4K6z4oCM4K6q4K+B4K6w4K+BIChQYXJhbWV0ZXIpIOCuquCvhuCur+KAjOCusOCvjScsJ+CuteKAjOCuleCviCcsJ+CuqOCvgOCus+CuruCvjScsJ+CuteCvh+Cuo+CvjeCun+Cuv+Cur+KAjOCuteKAjOCuseCvjeCuseCviCAnLCfgro/grrHgr4Hgrq7grr7grqnigIzgrq7gr40nLCfgrongrrPgr43grrPgrr/grrDgr4HgrpXgr43grpXgr4Hgrq7gr40gKERlZmF1bHQpIOCuruKAjOCupOCuv+CuquCvjeCuquCvgeCuleKAjOCus+CvjSAnLCfgrpXgr4HgrrHgrr/grqrgr43grqrgr4EnLCfgroXgrp/gr4HgrqTgr43grqTigIzgrqTgr4gg4K6a4K+H4K6w4K+N4K6V4K+N4K6V4oCM4K614K+B4K6u4K+NJywn4K6u4K+H4K6y4K+HIOCuqOKAjOCuleKAjOCusOCvjeCupOCvjeCupOCvgScsJ+CuleCvgOCutOCvhyDgrqjgrpXigIzgrrDgr43grqTgr43grqTgr4EnLCfgrqjgr4DgrpXgr43grpXgr4EnLCfgrqTgr4vgrrHgr43grrHgrq7gr40nLCfgroXgrp/gr43grp/igIzgrrXigIzgrqPgr4gnLCfgrqjgr4bgrp/gr4HgrrXigIzgrrDgrr/grprgr4gnLCfgroXgrpXigIzgrrXigIzgrrDgrr/grprgr4jgrpXigIzgrrPgr40gKEluZGV4KSAnLCfgroXgrpXigIzgrrXigIzgrrDgrr/grprgr4jgrq/gr4ggKEluZGV4KSDgrq7grr7grrHgr43grrHgr4EnLCfgrq7gr4LgrrLigIzgrq7gr40nLCfgrofgrrLigIzgrpXgr43grpXgr4EnLCdPTiBVUERBVEUnLCfgrq7grr7grrHgr43grrHgr4EnLCfgrrXgr4fgrrHgr43grrHgr4Eg4K614K6/4K6a4K+IIOCumuCvh+CusOCvjeCuleCvjeCuleKAjOCuteCvgeCuruCvjScsJ+CupOCvguCuo+CvjeCun+CvgeCupOKAjOCusuCvjeCuleKAjOCus+CvjScsJ+CupOCvguCuo+CvjeCun+CvgSDgrrXgrr/grprgr4jgrq/gr4gg4K6a4K+H4K6w4K+NJywn4K6k4oCM4K6V4oCM4K614oCM4K6y4K+N4K6k4oCM4K6z4oCMIOCuheCuruCviOCuquCvjeCuquCvgSDgrq7gr4HgrrHgr4jgrpXigIzgrrPgr40nLCdQZXJtYW5lbnQgbGluaycsJ+Cuj+CuseCvjeCuseCvgeCuruKAjOCupOCuvycsJ+CuteCvhuCus+Cuv+Cur+CvgOCun+CvgScsJ+Cug+CuquCuvuCusOCvjeCuruKAjOCun+CvjSAoRm9ybWF0KScsJ+CusOCviuCun+CvjeCun+CvgOCuqeCvjSAnLCfgrqjgrr/grpXigIzgrrTgr43grprgr43grprgrr/grpXigIzgrrPgr40nLCfgrqTigIzgrpXigIzgrrXigIzgrrLgr40nLCfgrqTgr4rgrpXgr4EnLCfgrqrigIzgrq/igIzgrqngrr7grrPigIzgrrDgr4gg4K6J4K6w4K+B4K614K6+4K6V4K+N4K6V4K+BJyxhcnJheSgn4K614K6/4K6p4oCM4K614oCM4K6y4K+NIOCumuCvhuCur+KAjOCusuCvjeCuquKAjOCun+CvgeCupOCvjeCupOKAjOCuquCvjeCuquKAjOCun+CvjeCun+KAjOCupOCvgSwgJWQg4K614oCM4K6w4K6/4K6a4K+IIOCuruCuvuCuseCvjeCuseKAjOCuquCvjeCuquKAjOCun+CvjeCun+KAjOCupOCvgS4nLCfgrrXgrr/grqnigIzgrrXigIzgrrLgr40g4K6a4K+G4K6v4oCM4K6y4K+N4K6q4oCM4K6f4K+B4K6k4K+N4K6k4oCM4K6q4K+N4K6q4oCM4K6f4K+N4K6f4oCM4K6k4K+BLCAlZCDgrrXigIzgrrDgrr/grprgr4jgrpXigIzgrrPgr40g4K6u4K6+4K6x4K+N4K6x4K6q4K+N4K6q4oCM4K6f4K+N4K6f4oCM4K6p4oCMLicpLGFycmF5KCclZCDgrrXigIzgrrDgrr/grprgr4gnLCclZCDgrrXigIzgrrDgrr/grprgr4jgrpXigIzgrrPgr40nKSwn4K614K6/4K6p4oCM4K614oCM4K6y4K6/4K6y4K+NIOCupOKAjOCuteKAjOCuseCvgeCus+CvjeCus+KAjOCupOCvgScsJ+CumuCvhuCur+KAjOCusuCvjSDgrqrigIzgrp/gr4HgrqTgr43grqTigIwg4K6O4K6o4K+N4K6k4oCMIOCuleKAjOCun+CvjeCun+KAjOCus+CviOCuleKAjOCus+CvgeCuruCvjSDgrofgrrLgr43grrLgr4guJyxhcnJheSgnJWQg4K614K6/4K6p4oCM4K614oCM4K6y4K+NIOCumuCvhuCur+KAjOCusuCvjeCuquKAjOCun+CvgeCupOCvjeCupOKAjOCuquCvjeCuquKAjOCun+CvjeCun+KAjOCupOCvgS4nLCclZCDgrrXgrr/grqnigIzgrrXigIzgrrLgr43grpXigIzgrrPgr40g4K6a4K+G4K6v4oCM4K6y4K+N4K6q4oCM4K6f4K+B4K6k4K+N4K6k4oCM4K6q4K+N4K6q4oCM4K6f4K+N4K6f4oCM4K6p4oCMLicpLCfgrpXgr4vgrqrgr43grqrgr4gg4K6u4K+H4K6y4K+H4K6x4K+N4K6x4K+BICh1cGxvYWQpICcsJ+CuleCvi+CuquCvjeCuquCvgeCuleKAjOCus+CvjSDgrq7gr4fgrrLgr4fgrrHgr43grrHgrq7gr40gKHVwbG9hZCngrq7gr4Hgrp/igIzgrpXgr43grpXigIzgrqrgr43grqrigIzgrp/gr43grp/gr4HgrrPgr43grrPigIzgrqnigIwuJywn4K6a4K+G4K6v4oCM4K6y4K+N4K6q4oCM4K6f4K+B4K6k4K+N4K6k4K+BJywn4K6q4K6/4K604K+IIOCuj+CuseCvjeCuquKAjOCun+Cuv+CuqeCvjSDgrqjgrr/grrHgr43grpXigIwnLCfgrqrgrr/grrTgr4jgrpXigIzgrrPgr4gg4K6u4oCM4K6f4K+N4K6f4K+B4K6u4K+NIOCuleCuvuCuo+CvjeCuquCuv+CuleCvjeCuleKAjOCuteCvgeCuruCvjScsJ+CumuCvhuCusOCvjeCuteKAjOCusOCuv+CusuCvjSDgrofgrrDgr4Hgrqjgr43grqTgr4EnLCfgrrXgr4bgrqrgr40g4K6a4oCM4K6w4K+N4K614oCM4K6w4K+NIOCuleCvi+CuquCvjeCuquCvgSAlcycsJ+CuleCvi+CuquCvjeCuquCuv+CuqeCviCDgrofgrq/igIzgrpXgr43grpXigIzgrrXgr4Hgrq7gr40nLCfgrrXigIzgrrDigIzgrrLgrr7grrHgr4EnLCfgrqTgr4Hgrp/gr4ggKENsZWFyKScsJ0VkaXQgYWxsJywn4K6J4K6w4K+B4K6q4K+N4K6q4K6f4K6/IOCuqOCvgOCuleCvjeCuleKAjOCuquCvjeCuquKAjOCun+CvjeCun+KAjOCupOCvgS4nLCfgrongrrDgr4Hgrqrgr43grqrigIzgrp/grr8g4K6q4K+B4K6k4K+B4K6q4K+N4K6q4K6/4K6V4K+N4K6V4oCM4K6q4K+N4K6q4oCM4K6f4K+N4K6f4oCM4K6k4K+BLicsJ+CuieCusOCvgeCuquCvjeCuquKAjOCun+CuvyAoSXRlbSkg4K6a4K+H4K6w4K+N4K6V4K+N4K6V4oCM4K6q4K+N4K6q4oCM4K6f4K+N4K6f4oCM4K6k4K+BLicsJ+CuquCvgeCuleCvgeCupOCvjeCupOCvgScsJ+CumuCvh+CuruCuvycsJ+CumuCvh+CuruCuv+CupOCvjeCupOKAjCDgrqrgrr/grrHigIzgrpXgr4Eg4K6k4K+K4K6V4K+B4K6q4K+N4K6q4oCM4K6k4K+IIOCupOCviuCun+KAjOCusOKAjOCuteCvgeCuruCvjScsJ+CumuCvh+CuruCuv+CupOCvjeCupOKAjOCuquCvjSDgrqrgrr/grqngr40g4K6F4K6f4K+B4K6k4K+N4K6k4oCM4K6k4K+IIOCuquCvgeCuleCvgeCupOCvjeCupOCvgScsJ+CuqOCvgOCuleCvjeCuleCvgScsJ+CuheCun+CvjeCun+KAjOCuteKAjOCuo+CviCDgrqjgr4DgrpXgr43grpXigIzgrqrgr43grqrigIzgrp/gr43grp/igIzgrqTgr4EuJywn4K6F4K6f4K+N4K6f4oCM4K614K6j4K+IIOCuruCuvuCuseCvjeCuseKAjOCuquCvjeCuquKAjOCun+CvjeCun+KAjOCupOCvgS4nLCfgroXgrp/gr43grp/igIzgrrXigIzgrqPgr4gg4K6J4K6w4K+B4K614K6+4K6V4K+N4K6V4oCM4K6q4K+N4K6q4oCM4K6f4K+N4K6f4oCM4K6k4K+BLicsJ+CuheCun+CvjeCun+KAjOCuteKAjOCuo+CviOCur+CviCDgrongrrDgr4HgrrXgrr7grpXgr43grpXgr4EnLCfgroXgrqngr4Hgrq7igIzgrqTgrr/grpXgr43grpXigIzgrqrgr43grqrigIzgrp/gr43grp/igIwg4K6F4K6k4K6/4K6V4oCM4K6q4oCM4K6f4K+N4K6a4oCMIOCuleCvi+CuquCvjeCuquCvgeCuleKAjOCus+Cuv+CuqeCvjSDgro7grqPgr43grqPgrr/grpXgr43grpXgr4gg4K6u4K+A4K6x4oCM4K6q4K+N4K6q4oCM4K6f4K+N4K6f4oCM4K6k4K+BLiDgrqTigIzgrq/igIzgrrXgr4Eg4K6a4K+G4K6v4K+N4K6k4K+BICVzIOCuruKAjOCuseCvjeCuseCvgeCuruCvjSAlcyDgrq/gr4gg4K6F4K6k4K6/4K6V4oCM4K6w4K6/4K6V4K+N4K6V4oCM4K614K+B4K6u4K+NLicsJ+CuheCun+CvjeCun+KAjOCuteKAjOCuo+CviOCuquCvjSDgrqrgr4bgrq/igIzgrrDgr40nLCfgro7grp7gr43grprgrr/grqngr40nLCfgrqrgrr/grrDgrr/grqTgr43grqTigIzgrqTgr4EnLCfgrqrgrr/grrDgrr/grrXgr4HgrpXigIzgrrPgr40nLCfgrqrgrr/grrDgrr/grrXgrr/grqngr40g4K6q4K+G4K6v4oCM4K6w4K+NJywn4K6u4oCM4K6k4K6/4K6q4K+N4K6q4K+B4K6V4oCM4K6z4K+NJywn4K6F4K6V4oCM4K614oCM4K6w4K6/4K6a4K+I4K6V4oCM4K6z4K+NIChJbmRleGVzKSDgrq7grr7grrHgr43grrHigIzgrqrgr43grqrgrp/gr43grp/igIzgrqTgr4EuJywn4K6F4K6V4oCM4K614oCM4K6w4K6/4K6a4K+IIOCuteKAjOCuleCviCAoSW5kZXggVHlwZSknLCfgrqjgr4bgrp/gr4HgrrXigIzgrrDgrr/grprgr4ggKOCuqOCvgOCus+KAjOCuruCvjSknLCfgrqTigIzgrpXigIzgrrXigIzgrrLgr43grqTigIzgrrPigIzgrq7gr40g4K6o4K+A4K6V4K+N4K6V4oCM4K6q4K+N4K6q4oCM4K6f4K+N4K6f4oCM4K6k4K+BLicsJ+CupOKAjOCuleKAjOCuteKAjOCusuCvjeCupOKAjOCus+KAjOCuruCvjSDgrqrgr4bgrq/igIzgrrDgr40g4K6u4K6+4K6x4K+N4K6x4oCM4K6q4K+N4K6q4oCM4K6f4K+N4K6f4oCM4K6k4K+BLicsJ+CupOKAjOCuleKAjOCuteKAjOCusuCvjeCupOKAjOCus+KAjOCuruCvjSDgrongrrDgr4HgrrXgrr7grpXgr43grpXigIzgrqrgr43grqrigIzgrp/gr43grp/igIzgrqTgr4EuJywn4K6k4oCM4K6V4oCM4K614oCM4K6y4K+N4K6k4oCM4K6z4oCM4K6u4K+NIOCuruCuvuCuseCvjeCuseKAjOCuquCvjeCuquKAjOCun+CvjeCun+KAjOCupOCvgS4nLCfgrqTigIzgrpXigIzgrrXigIzgrrLgr43grqTigIzgrrPigIzgrqTgr43grqTgr4gg4K6J4K6w4K+B4K614K6+4K6V4K+N4K6V4K+BJywn4K6F4K6u4K+I4K6q4K+N4K6q4K+B4K6u4K+B4K6x4K+IIOCuqOCvgOCuleCvjeCuleKAjOCuquCvjeCuquKAjOCun+CvjeCun+KAjOCupOCvgS4nLCfgroXgrq7gr4jgrqrgr43grqrgr4Hgrq7gr4HgrrHgr4gg4K6J4K6w4K+B4K614K6+4K6V4K+N4K6V4oCM4K6q4K+N4K6q4oCM4K6f4K+N4K6f4oCM4K6k4K+BLicsJ+CuheCuruCviOCuquCvjeCuquCvgeCuruCvgeCuseCviCDgrq7grr7grrHgr43grrHigIzgrqrgr43grqrigIzgrp/gr43grp/igIzgrqTgr4EuJywn4K6F4K604K+IJyxhcnJheSgn4K6w4K+K4K6f4K+N4K6f4K+A4K6p4K+N4K6V4oCM4K6z4K+NIOCuheCutOCviOCuleCvjeCuleKAjOCuquCvjeCuquCun+CvjeCun+CvgeCus+CvjeCus+KAjOCuqeKAjCwgJWQg4K614oCM4K6w4K6/4K6a4K+IIOCuruCuvuCuseCvjeCuseKAjOCuruCvjSDgroXgrp/gr4jgrqjgr43grqTigIzgrqTgr4EuJywn4K6w4K+K4K6f4K+N4K6f4K+A4K6p4K+N4K6V4oCM4K6z4K+NIOCuheCutOCviOCuleCvjeCuleKAjOCuquCvjeCuquKAjOCun+CvjeCun+CvgeCus+CvjeCus+KAjOCuqeKAjCwgJWQg4K614oCM4K6w4K6/4K6a4K+I4K6V4oCM4K6z4K+NIOCuruCuvuCuseCvjeCuseCuruCvjSDgroXgrp/gr4jgrqjgr43grqTgr4HgrrPgr43grrPigIzgrqnigIwuJyksJ+CuteCvh+CuseCvjeCuseCvgSDgrrXgrr/grprgr4gg4K6o4K+A4K6V4K+N4K6V4oCM4K6q4K+N4K6q4oCM4K6f4K+N4K6f4oCM4K6k4K+BLicsJ+CuteCvh+CuseCvjeCuseCvgSDgrrXgrr/grprgr4gg4K6u4K6+4K6x4K+N4K6x4oCM4K6q4K+N4K6q4oCM4K6f4K+N4K6f4oCM4K6k4K+BLicsJ+CuteCvh+CuseCvjeCuseCvgSDgrrXgrr/grprgr4gg4K6J4K6w4K+B4K614K6+4K6V4K+N4K6V4oCM4K6q4K+N4K6q4oCM4K6f4K+N4K6f4oCM4K6k4K+BLicsJ+Cuh+CusuKAjOCuleCvjeCuleCvgSDgrqjgr4bgrp/gr4HgrrXigIzgrrDgrr/grprgr4jgrq/grr/grrLgr40g4K6F4K6V4oCM4K614oCM4K6w4K6/4K6a4K+IIChJbmRleCkg4K6u4oCM4K6x4K+N4K6x4K+B4K6u4K+NIOCuleCvgeCuseCuv+CuleCvjeCuleKAjOCuquCvjeCuquKAjOCun+CvjeCun+KAjCDgrqTigIzgrpXigIzgrrXgrrLgr40gKFJlZmVyZW5jZWQgREFUQSkg4K6V4oCM4K6j4K+N4K6f4K6/4K6q4K+N4K6q4K6+4K6V4oCMIOCuh+CusOCvgeCupOCvjeCupOKAjOCusuCvjSDgrrXgr4fgrqPgr43grp/gr4Hgrq7gr40uIOCuruCvguCusuKAjCDgrqjgr4bgrp/gr4HgrrXigIzgrrDgrr/grprgr4gg4K6u4oCM4K6x4K+N4K6x4K+B4K6u4K+NIOCuh+CusuCuleCvjeCuleCvgSDgrqjgr4bgrp/gr4HgrrXigIzgrrDgrr/grprgr4jgrq/grr/grqngr40g4K6k4oCM4K6V4oCM4K614oCM4K6y4K+NIOCuteKAjOCun+Cuv+CuteKAjOCuruCvjSAoREFUQSBUWVBFKSDgrpLgrqngr43grrHgrr7grpXigIwg4K6H4K6w4K+B4K6V4K+N4K6V4oCMIOCuteCvh+Cuo+CvjeCun+CvgeCuruCvjS4nLCfgrrXgr4fgrrHgr43grrHgr4Eg4K614K6/4K6a4K+IJywn4K6F4K6f4K+N4K6f4oCM4K614oCM4K6j4K+IIOCuh+CusuKAjOCuleCvjeCuleCvgScsJ+CuruCuvuCuseCvjeCuseCvgScsJ+CuqOCvhuCun+CvgSDgrrXigIzgrrDgrr/grprgr4jgrq/gr4gg4K6a4K+H4K6w4K+N4K6V4K+N4K6V4oCM4K614K+B4K6u4K+NJywn4K6k4K+L4K6x4K+N4K6x4oCM4K6u4K+NIOCuqOCvgOCuleCvjeCuleKAjOCuquCvjeCuquKAjOCun+CvjeCun+KAjOCupOCvgS4nLCfgrqTgr4vgrrHgr43grrHgrq7gr40g4K6u4K6+4K6x4K+N4K6x4K6q4K+N4K6q4oCM4K6f4K+N4K6f4oCM4K6k4K+BLicsJ+CupOCvi+CuseCvjeCuseKAjOCuruCvjSDgrongrrDgr4HgrrXgrr7grpXgr43grpXigIzgrqrgr43grqrigIzgrp/gr43grp/igIzgrqTgr4EuJywn4K6k4K+L4K6x4K+N4K6x4K6k4K+N4K6k4K+IIOCuieCusOCvgeCuteCuvuCuleCvjeCuleCvgScsJ+CuquCvhuCur+KAjOCusOCvjScsJ+CuqOCuv+CuleKAjOCutOCvjeCumuCvjeCumuCuvyAoRXZlbnQpIOCuqOCvgOCuleCvjeCuleKAjOCuquCvjeCuquKAjOCun+CvjeCun+KAjOCupOCvgS4nLCfgrqjgrr/grpXigIzgrrTgr43grprgr43grprgrr8gKEV2ZW50KSDgrq7grr7grrHgr43grrHgrqrgr43grqrigIzgrp/gr43grp/igIzgrqTgr4EuJywn4K6o4K6/4K6V4oCM4K604K+N4K6a4K+N4K6a4K6/IChFdmVudCkg4K6J4K6w4K+B4K614K6+4K6V4K+N4K6V4oCM4oCM4K6q4K+N4K6q4oCM4K6f4K+N4K6f4oCM4K6k4K+BLicsJ+CuqOCuv+CuleKAjOCutOCvjeCumuCvjeCumuCuv+Cur+CviCAoRXZlbnQpIOCuruCuvuCuseCvjeCuseCvgScsJ+CuqOCuv+CuleKAjOCutOCvjeCumuCvjeCumuCuv+Cur+CviCAoRXZlbnQpIOCuieCusOCvgeCuteCuvuCuleCvjeCuleCvgScsJ+CupOCviuCun+KAjOCumeCvjeCuleCvgScsJ+CuruCvgeCun+CuvyAo4K614K+BKScsJ+CukuCuteCvjeCuteCviuCusOCvgScsJ+CuruCvgeCun+Cuv+CuqOCvjeCupOKAjOCupOCuv+CuqeCvjSDgrqrgrr/grqngr40g4K6q4K6+4K6k4K+B4K6V4K6+4K6V4K+N4K6V4oCM4K614K+B4K6u4K+NJywn4K6w4K+K4K6f4K+N4K6f4K+A4K6p4K+NIOCuqOCvgOCuleCvjeCuleKAjOCuquCvjeCuquKAjOCun+CvjeCun+KAjOCupOCvgS4nLCfgrrDgr4rgrp/gr43grp/gr4Dgrqngr40g4K6u4K6+4K6x4K+N4K6x4oCM4K6q4K+N4K6q4oCM4K6f4K+N4K6f4K6k4K+BLicsJ+CusOCviuCun+CvjeCun+CvgOCuqeCvjSDgrongrrDgr4HgrrXgrr7grpXgr43grpXigIzgrqrgr43grqrigIzgrp/gr43grp/igIzgrqTgr4EuJywnRnVuY3Rpb24g4K6u4K6+4K6x4K+N4K6x4K+BJywn4K6a4K+G4K6v4oCM4K6y4K+N4K6u4K+B4K6x4K+I4K6v4K+IIOCuruCuvuCuseCvjeCuseCvgScsJ0Z1bmN0aW9uIOCuieCusOCvgeCuteCuvuCuleCvjeCuleCvgScsJ+CumuCvhuCur+CvjeCuruCvgeCuseCviOCur+CviCDgrongrrDgr4HgrrXgrr7grpXgr43grpXgr4EnLCfgrqTgrr/grrDgr4Hgrq7gr43grqrgr4Eg4K614oCM4K6V4K+IJywn4K614oCM4K6w4K6/4K6a4K+I4K6u4K+B4K6x4K+IIOCuqOCvgOCuleCvjeCuleKAjOCuquCvjeCuquKAjOCun+CvjeCun+KAjOCupOCvgS4nLCfgrrXigIzgrrDgrr/grprgr4jgrq7gr4HgrrHgr4gg4K6J4K6w4K+B4K614K6+4K6V4K+N4K6V4oCM4K6q4K+N4K6q4oCM4K6f4K+N4K6f4oCM4K6k4K+BLicsJ+CuteKAjOCusOCuv+CumuCviOCuruCvgeCuseCviCDgrq7grr7grrHgr43grrHigIzgrqrgr43grqrigIzgrp/gr43grp/igIzgrqTgr4EuJywn4K614oCM4K6w4K6/4K6a4K+I4K6u4K+B4K6x4K+I4K6v4K+IIOCuruCuvuCuseCvjeCuseCvgScsJ+CuteKAjOCusOCuv+CumuCviOCuruCvgeCuseCviOCur+CviCDgrongrrDgr4HgrrXgrr7grpXgr43grpXgr4EnLCfgrrXigIzgrpXgr4ggKHR5cGUpIOCuqOCvgOCuleCvjeCuleKAjOCuquCvjeCuquKAjOCun+CvjeCun+KAjOCupOCvgS4nLCfgrrXigIzgrpXgr4ggKHR5cGUpIOCuieCusOCvgeCuteCuvuCuleCvjeCuleKAjOCuquCvjeCuquKAjOCun+CvjeCun+KAjOCupOCvgS4nLCfgrrXigIzgrpXgr4jgrq/grr/grqngr4ggKHR5cGUpIOCuruCuvuCuseCvjeCuseCvgScsJ+CuteKAjOCuleCviOCur+CviCDgrongrrDgr4HgrrXgrr7grpXgr43grpXgr4EnLCfgrqTgr4LgrqPgr43grp/gr4Eg4K614K6/4K6a4K+IIOCuqOCvgOCuleCvjeCuleKAjOCuquCvjeCuquKAjOCun+CvjeCun+KAjOCupOCvgS4nLCfgrqTgr4LgrqPgr43grp/gr4Eg4K614K6/4K6a4K+IIOCuruCuvuCuseCvjeCuseKAjOCuquCvjeCuquKAjOCun+CvjeCun+KAjOCupOCvgS4nLCfgrqTgr4LgrqPgr43grp/gr4Eg4K614K6/4K6a4K+IIOCuieCusOCvgeCuteCuvuCuleCvjeCuleKAjOCuquCvjeCuquKAjOCun+CvjeCun+KAjOCupOCvgS4nLCfgrqTgr4LgrqPgr43grp/gr4Eg4K614K6/4K6a4K+I4K6v4K+IIOCuruCuvuCuseCvjeCuseCvgScsJ+CupOCvguCuo+CvjeCun+CvgSDgrrXgrr/grprgr4jgrq/gr4gg4K6J4K6w4K+B4K614K6+4K6V4K+N4K6V4K+BJywn4K6o4K+H4K6w4oCM4K6u4K+NJywn4K6o4K6/4K6V4oCM4K604K+N4K6a4K+N4K6a4K6/Jywn4K6q4oCM4K6v4K6p4K+A4K6f4K+N4K6f4K6+4K6z4oCM4K6w4K+NIOCuqOCvgOCuleCvjeCuleKAjOCuquCvjeCuquKAjOCun+CvjeCun+CuvuCusOCvjS4nLCfgrqrigIzgrq/grqngr4Dgrp/gr43grp/grr7grrPigIzgrrDgr40g4K6u4K6+4K6x4K+N4K6x4K6q4K+N4K6q4oCM4K6f4K+N4K6f4K6+4K6w4K+NLicsJ+CuquKAjOCur+KAjOCuqeCvgOCun+CvjeCun+CuvuCus+KAjOCusOCvjSDgrongrrDgr4HgrrXgrr7grpXgr43grpXigIzgrqrgr43grqrigIzgrp/gr43grp/igIzgrqTgr4EuJywnSGFzaGVkJywn4K6w4K+K4K6f4K+N4K6f4K+A4K6p4K+NJywn4K6F4K6p4K+B4K6u4oCM4K6k4K6/4K6v4oCM4K6z4K6/Jywn4K6H4K6w4oCM4K6k4K+N4K6k4K+B4K6a4K+N4K6a4K+G4K6v4K+NJyxhcnJheSgnJWQg4K614K+H4K6y4K+IIOCuteKAjOCusuCvgeCuteCuv+CusuCvjSDgrqjgrr/grrHgr4HgrqTgr43grqTigIzgrqrigIzgrp/gr43grp/igIzgrqTgr4EuJywnJWQg4K614K+H4K6y4K+I4K6V4oCM4K6z4K+NIOCuteKAjOCusuCvgeCuteCuv+CusuCvjSDgrqjgrr/grrHgr4HgrqTgr43grqTigIzgrqrigIzgrp/gr43grp/igIzgrqnigIwuJyksJ+CuruCviuCupOCvjeCupOCuruCvjSAlZCAnLCfgrrXigIzgrrLgr4HgrrXgrr/grrLgr40g4K6o4K6/4K6x4K+B4K6k4K+N4K6k4K+BJyxhcnJheSgnJWQg4K6J4K6w4K+B4K6q4K+N4K6q4oCM4K6f4K6/IOCuruCuvuCuseCvjeCuseKAjOCuruKAjOCun+CviOCuqOCvjeCupOCupOCvgS4nLCclZCDgrongrrDgr4Hgrqrgr43grqrigIzgrp/grr/grpXigIzgrrPgr40g4K6u4K6+4K6x4K+N4K6x4oCM4K6u4oCM4K6f4K+I4K6o4K+N4K6k4oCM4K6p4oCMLicpLCfgrq7igIzgrqTgrr/grqrgr43grqrgrr/grqngr4gg4K6u4K6+4K6x4K+N4K6xIOCuheCupOKAjOCuqeCvjSDgrq7gr4DgrqTgr4Eg4K6H4K6w4K+B4K6u4K+B4K6x4K+IIOCumuCviuCun+CvgeCuleCvjeCuleKAjOCuteCvgeCuruCvjSAoRG91YmxlIGNsaWNrKS4nLGFycmF5KCclZCDgrrXigIzgrrDgrr/grprgr4gg4K6H4K6x4oCM4K6V4K+N4K6V4K+B4K6u4oCM4K6k4K6/IChJbXBvcnQpIOCumuCvhuCur+CvjeCur+KAjOCuquCvjeCuquKAjOCun+CvjeCun+KAjOCupOCvgS4nLCclZCDgrrXigIzgrrDgrr/grprgr4jgrpXigIzgrrPgr40g4K6H4K6x4oCM4K6V4K+N4K6V4K+B4K6u4oCM4K6k4K6/IChJbXBvcnQpIOCumuCvhuCur+CvjeCur+KAjOCuquCvjeCuquKAjOCun+CvjeCun+CuqeKAjC4nKSwn4K6F4K6f4K+N4K6f4oCM4K614oCM4K6j4K+I4K6v4K+IIOCupOCvh+CusOCvjeCuteCvgSDgrprgr4bgrq/gr43grq/igIwg4K6u4K+B4K6f4K6/4K6v4oCM4K614K6/4K6y4K+N4K6y4K+IJywn4K6J4K6x4oCM4K614K+B4K6V4oCM4K6z4K+NIChSZWxhdGlvbnMpJywn4K6H4K6o4K+N4K6k4oCMIOCuruKAjOCupOCuv+CuquCvjeCuquCuv+CuqeCviCDgrq7grr7grrHgr43grrHigIwsIOCupOCviuCuleCvgeCuquCvjeCuquCvgSDgrofgrqPgr4jgrqrgr43grqrgrr/grqngr4gg4K6J4K6q4oCM4K6v4K+L4K6V4K6/4K6V4K+N4K6V4oCM4K614K+B4K6u4K+NLicsJ+CuquKAjOCuleCvjeCuleKAjOCuruCvjScsJ+CuleKAjOCun+CviOCumuCuvycsJ+CuruCvgeCutOCvgeCuruCviOCur+CuvuCuqeKAjCDgrq7gr4Hgrp/grr/grrXgr4EnLCfgrqjigIzgrpXigIzgrrLgrr8gKENsb25lKScsJ+Cuh+CuseKAjOCuleCvjeCuleCvgeCuruKAjOCupOCuvyAoSW1wb3J0KScsJywnLCfgroXgrp/gr43grp/igIzgrrXigIzgrqPgr4gg4K6V4K+B4K6x4K+I4K6V4K+N4K6V4oCM4K6q4K+N4K6q4oCM4K6f4K+N4K6f4oCM4K6k4K+BICh0cnVuY2F0ZWQpLicsJ+CuheCun+CvjeCun+KAjOCuteKAjOCuo+CviCDgrqjigIzgrpXigIzgrrDgr43grqTgr43grqTigIzgrqrgr43grqrigIzgrp/gr43grp/igIzgrqTgr4EuJywnVGFibGVzIGhhdmUgYmVlbiBjb3BpZWQuJywn4K6F4K6f4K+N4K6f4oCM4K614oCM4K6j4K+IIOCuqOCvgOCuleCvjeCuleKAjOCuquCvjeCuquKAjOCun+CvjeCun+KAjOCupOCvgS4nLCfgroXgrp/gr43grp/igIzgrrXigIzgrqPgr4jgrpXigIzgrrPgr4Hgrq7gr40g4K6q4K6+4K6w4K+N4K614K+I4K6V4oCM4K6z4K+B4K6u4K+NJywn4K6k4oCM4K6V4oCM4K614oCM4K6y4K+IIOCuheCun+CvjeCun+KAjOCuteKAjOCuo+CviOCur+Cuv+CusuCvjSDgrqTgr4fgrp/gr4EnLCfgro7grp7gr43grprgrr/grqngr40gKEVuZ2luZSknLCfgrqTigIzgrpXigIzgrrXigIzgrrLgr40g4K6o4K+A4K6z4oCM4K6u4K+NJywnSW5kZXgg4K6o4K+A4K6z4oCM4K6u4K+NJywnRGF0YSBGcmVlJywn4K614oCM4K6w4K6/4K6a4K+I4K6V4oCM4K6z4K+NJywn4K6o4K+B4K6j4K+B4K6V4K6/IOCuhuCusOCuvuCur+KAjOCuteCvgeCuruCvjScsJ+CuieCuleKAjOCuquCvjeCuquCuvuCuleCvjeCuleCvgSAoT3B0aW1pemUpJywn4K6q4oCM4K6w4K6/4K6a4K+L4K6k4K6/Jywn4K6q4oCM4K604K+B4K6k4K+BIOCuquCuvuCusOCvjScsJ+CuleCvgeCuseCviCAoVHJ1bmNhdGUpJywn4K6u4oCM4K6x4K+N4K6x4oCMIOCupOKAjOCuleKAjOCuteKAjOCusuCvjSDgrqTgrrPigIzgrqTgr43grqTgrr/grrHgr43grpXgr43grpXgr4Eg4K6o4oCM4K6V4oCM4K6w4K+N4K6k4K+N4K6k4K+BJywn4K6o4oCM4K6V4oCM4K6w4K+N4K6k4K+N4K6k4K+BJywnQ29weScsJ+CuteKAjOCusOCuv+CumuCviOCuruCvgeCuseCviCcsJ+CuleCuvuCusuKAjCDgroXgrp/gr43grp/igIzgrrXigIzgrqPgr4gnLCfgrpXgr4HgrrHgrr/grqTgr43grqTigIwg4K6o4K+H4K6w4oCM4K6k4K+N4K6k4K6/4K6y4K+NJywn4K6H4K6q4K+N4K6q4K+K4K604K+B4K6k4K+BJyk7YnJlYWs7Y2FzZSJhciI6JFk9YXJyYXkoJ9mH2YQg2KPZhtiqINmF2KrYo9mD2K/YnycsJ9mF2YYg2LrZitixINin2YTZhdmF2YPZhiDYsdmB2Lkg2KfZhNmF2YTZgS4nLCfYrdis2YUg2KfZhNmF2YTZgSDYp9mE2KPZgti12Ykg2YfZiCAlc0IuJywn2KfZhNmF2YTZgSDYutmK2LEg2YXZiNis2YjYry4nLCfZgdin2LHYuicsJ9in2YTYo9i12YTZiicsJ9mE2Kcg2KrZiNis2K8g2KzYr9in2YjZhC4nLCfYp9mE2YTYutipJywn2KfZhNmF2LPYqti52YXZhCcsJ9mF2YYg2YHYttmE2YMg2KXYs9iq2LnZhdmEINil2K3Yr9mJINin2YTYutmF2KrYr9in2K/Yp9iqOiAlcy4nLCfYp9mE2YXZhNmBINmF2YjYrNmI2K8uJywn2YbZiNi5INin2YTZhdiz2KrYrtiv2YUnLCfYo9i52K/Yp9ivJywn2KfZhNiq2KfYsdmK2K4g2Ygg2KfZhNmI2YLYqicsJ9iz2YTYp9iz2YQnLCfYq9mG2KfYptmK2KknLCfYtNio2YPYqScsJ9mH2YbYr9iz2KknLCfZgtmI2KfYptmFJywn2KfZhNmG2LjYp9mFJywn2KfZhNiu2KfYr9mFJywn2KfZhNmF2LPYqti52YXZhCcsJ9mD2YTZhdipINin2YTZhdix2YjYsScsJ9iq2LPYrNmK2YQg2KfZhNiv2K7ZiNmEJywn2KrYs9is2YrZhCDYr9iu2YjZhCDYr9in2KbZhScsJ9i52LHYtiDYp9mE2KjZitin2YbYp9iqJywn2LnYsdi2INin2YTYqtix2YPZitio2KknLCfYqti52K/ZitmEINi52LHYticsJ9iq2LnYr9mK2YQg2KfZhNis2K/ZiNmEJywn2LnZhti12LEg2KzYr9mK2K8nLCfYp9mE2LXZgdit2Kkg2KfZhNiz2KfYqNmC2KknLCfYqti52K/ZitmEJywnJWQg2KjYp9mK2KonLCfYpdiu2KrZitin2LEnLCfYp9mE2K/ZiNin2YQnLCfYqtis2YXZiti5Jywn2KjYrdirJywn2YHZiiDYp9mKINmF2YPYp9mGJywn2KrYsdiq2YrYqCcsJ9iq2YbYp9iy2YTZiicsJ9it2K8nLCfYt9mI2YQg2KfZhNmG2LUnLCfYrdix2YPYqScsJ9il2LPYqti52YTYp9mFIFNRTCcsJ9mB2KrYrScsJ9it2YHYuCcsJ9iq2LnYr9mK2YQg2YLYp9i52K/YqSDYp9mE2KjZitin2YbYp9iqJywn2KrYudiv2YrZhCDYp9mE2YXYrti32LcnLCfYpdmG2LTYp9ihINmF2K7Yt9i3Jywn2KrYtdiv2YrYsScsJ9iq2LPYrNmK2YQg2KfZhNiu2LHZiNisJywn2YLYp9i52K/YqSDYqNmK2KfZhtin2KonLCfYp9mE2YXYrti32LcnLCfYo9mG2LTYpiDYrNiv2YjZhCDYrNiv2YrYrycsJ9iq2K3Yr9mK2K8nLCdydGwnLCdSZXNlbmQgUE9TVCBkYXRhPycsJ0NTUkYgVG9rZW4g2K7Yp9i32KYuINmF2YYg2YHYttmE2YMg2KPYudivINil2LHYs9in2YQg2KfZhNil2LPYqtmF2KfYsdipLicsJ9mF2Lkg2KfZhNiz2YTYp9mF2KkuJywn2LnZhNmK2YMg2KrZgdi52YrZhCDZhti42KfZhSDYp9mE2KzZhNiz2KfYqi4nLCfYpdmG2KrZh9iqINin2YTYrNmE2LPYqdiMINmF2YYg2YHYttmE2YMg2KPYudivINiq2LPYrNmK2YQg2KfZhNiv2K7ZiNmELicsJ9mB2LTZhCDZgdmKINiq2LPYrNmK2YQg2KfZhNiv2K7ZiNmELicsJ9il2YXYqtiv2KfYryDYutmK2LEg2YXZiNis2YjYrycsJ9il2YXYqtiv2KfYr9in2KogcGhwINin2YTZhdiv2LnZiNmF2Kkg2LrZitixINmF2YjYrNmI2K/YqS4nLCfZhdi52YTZiNmF2KfYqiBQT1NUINmD2KjZitix2Kkg2KzYr9inLiDZgtmFINio2KrZgtmE2YrYtSDYrdis2YUg2KfZhNmF2LnZhNmI2YXYp9iqINij2Ygg2YLZhSDYqNiy2YrYp9iv2Kkg2YLZitmF2KkgJXMg2YHZiiDYrtmK2KfYsdin2Kog2KfZhCBQSFAuJywn2YLYp9i52K/YqSDYqNmK2KfZhtin2KonLCfZgtin2LnYr9ipINio2YrYp9mG2KfYqiDYrtin2LfYptipLicsJ9iq2YUg2K3YsNmBINmC2YjYp9i52K8g2KfZhNio2YrYp9mG2KfYqi4nLCfYpdiu2KrYsSDZgtin2LnYr9ipINin2YTYqNmK2KfZhtin2KonLCfYo9mG2LTYpiDZgdin2LnYr9ipINio2YrYp9mG2KfYqicsJ9in2YTYpdmF2KrZitin2LLYp9iqJywn2YLYp9im2YXYqSDYp9mE2KXYrNix2KfYodin2KonLCfZhdiq2LrZitix2KfYqicsJ9it2KfZhNipJywn2KfZhNmG2LPYrtipICVzIDogJXMg2LnZhiDYt9ix2YrZgiDYpdmF2KrYr9in2K8g2KfZhCBQSFAgJXMnLCfYqtmFINiq2LPYrNmK2YQg2KfZhNiv2K7ZiNmEINio2KXYs9mFICVzJywn2KrYsdiq2YrYqCcsJ9is2K/Yp9mI2YQnLCfYrdiw2YEnLCfYqtit2K/ZitirJywn2KfZhNmF2K7Yt9i3Jywn2YXYrti32Lcg2K7Yp9i32KYuJywn2YTYpyDYqtmI2KzYryDZhtiq2KfYptisLicsJyUuM2YgcycsJ9mF2YHYp9iq2YrYrSDYo9is2YbYqNmK2KknLCfYp9mE2KrYsdiq2YrYqCcsJ09OIERFTEVURScsJ9il2LPZhSDYp9mE2LnZhdmI2K8nLCfYpdiz2YUg2KfZhNmF2KrYutmK2LEnLCfYp9mE2YbZiNi5Jywn2KfZhNi32YjZhCcsJ9iu2YrYp9ix2KfYqicsJ9iq2LLYp9mK2K8g2KrZhNmC2KfYptmKJywn2KfZhNmC2YrZhdipINin2YTYpdmB2KrYsdin2LbZitipJywn2KrYudmE2YrZgicsJ9il2LbYp9mB2Kkg2KfZhNiq2KfZhNmKJywn2YbZgtmEINmE2YTYo9i52YTZiScsJ9mG2YLZhCDZhNmE2KPYs9mB2YQnLCfZhdiz2K0nLCfYudix2LYnLCfYrNiv2YjZhCcsJ9i52YXZiNivJywn2KfZhNmF2KTYtNix2KfYqicsJ9iq2LnYr9mK2YQg2KfZhNmF2KTYtNix2KfYqicsJ9in2YTZhdi12K/YsScsJ9in2YTZh9iv2YEnLCdPTiBVUERBVEUnLCfYqti52K/ZitmEJywn2KXYttin2YHYqSDZhdmB2KrYp9itINij2KzZhtio2YonLCfYp9mE2LLZhtin2K/Yp9iqJywn2KXYttin2YHYqSDYstmG2KfYrycsJ9mF2K7Yt9i3INmB2KfYudiv2Kkg2KfZhNio2YrYp9mG2KfYqicsJ1Blcm1hbmVudCBsaW5rJywn2KrYtdiv2YrYsScsJ9il2K7Ysdin2KwnLCfYp9mE2LXZiti62KknLCfYp9mE2LHZiNiq2YrZhtin2KonLCfYp9mE2KPYrdiv2KfYqycsJ9mF2LnZhNmI2YXYp9iqJywn2KrYudiv2YrZhCcsJ9il2YbYtNin2KEg2YXYs9iq2K7Yr9mFJywn2KrZhSDYqtmG2YHYs9iwINin2YTYpdiz2KrYudmE2KfZhSwgJWQg2LnYr9ivINin2YTYo9iz2LfYsSDYp9mE2YXYudiv2YTYqS4nLCclZCDYo9iz2LfYsScsJ9mH2YbYp9mDINiu2LfYoyDZgdmKINin2YTYpdiz2KrYudmE2KfZhScsJ9mE2Kcg2KrZiNis2K8g2KPZiNin2YXYsSDZhNmE2KrZhtmB2YrYsC4nLGFycmF5KCfYqtmFINiq2YbZgdmK2LAg2KfZhNil2LPYqti52YTYp9mFICVkINio2YbYrNin2K0uJywn2KrZhSDYqtmG2YHZitiwINin2YTYpdiz2KrYudmE2KfZhdin2KogJWQg2KjZhtis2KfYrS4nKSwn2LHZgdi5INmF2YTZgScsJ9iq2YUg2KXZhNi62KfYoSDYsdmB2Lkg2KfZhNmF2YTZgdin2KouJywn2KrZhtmB2YrYsCcsJ9ij2YjZgtmBINmB2Yog2K3Yp9mE2Kkg2K3Yr9mI2Ksg2K7Yt9ijJywn2KXYudix2LYg2KfZhNij2K7Yt9in2KEg2YHZgti3Jywn2YXZhiDYp9mE2K7Yp9iv2YUnLCfZhdmE2YEgJXMg2YXZhiDYrtin2K/ZhSDYp9mE2YjZitioJywn2YbZgdiwINin2YTZhdmE2YEnLCfYqtin2LHZitiuJywn2YXYs9itJywnRWRpdCBhbGwnLCfYqtmFINit2LDZgSDYp9mE2LnZhti12LEuJywn2KrZhSDYqti52K/ZitmEINin2YTYudmG2LXYsS4nLCfYqtmFINil2K/Ysdin2Kwg2KfZhNi52YbYtdixLicsJ9il2YbYtNin2KEnLCfYrdmB2LgnLCfYpdit2YHYuCDZiCDZiNin2LXZhCDYp9mE2KrYudiv2YrZhCcsJ9is2YHYuCDZiCDYpdmG2LTYp9ihINin2YTYqtin2YTZiicsJ9mF2LPYrScsJ9iq2YUg2K3YsNmBINin2YTYrNiv2YjZhC4nLCfYqtmFINiq2LnYr9mK2YQg2KfZhNis2K/ZiNmELicsJ9iq2YUg2KXZhti02KfYoSDYp9mE2KzYr9mI2YQuJywn2KXZhti02KfYoSDYrNiv2YjZhCcsJ9mE2YLYryDYqtis2KfZiNiy2Kog2KfZhNi52K/YryDYp9mE2KPZgti12Ykg2YTZhNit2YLZiNmELiDZitix2KzZiSDYp9mE2LHZgdi5INmF2YYgJXMg2YggJXMuJywn2KXYs9mFINin2YTYrNiv2YjZhCcsJ9in2YTZhdit2LHZgycsJ9mF2YLYs9mFINio2YjYp9iz2LfYqScsJ9in2YTYqtmC2LPZitmF2KfYqicsJ9il2LPZhSDYp9mE2KrZgtiz2YrZhScsJ9in2YTZgtmK2YUnLCfYqtmFINiq2LnYr9mK2YQg2KfZhNmF2KTYtNixLicsJ9mG2YjYuSDYp9mE2YXYpNi02LEnLCfYp9mE2LnZhdmI2K8gKNin2YTYt9mI2YQpJywn2KrZhSDYrdiw2YEg2YLYp9i52K/YqSDYp9mE2KjZitin2YbYp9iqLicsJ9iq2YXYqiDYpdi52KfYr9ipINiq2LPZhdmK2Kkg2YHYp9i52K/YqSDYp9mE2KjZitin2YbYp9iqLicsJ9iq2YUg2KXZhti02KfYoSDZgtin2LnYr9ipINin2YTYqNmK2KfZhtin2KouJywn2KrZhSDYqti52K/ZitmEINmC2KfYudiv2Kkg2KfZhNio2YrYp9mG2KfYqi4nLCfYpdmG2LTYp9ihINmC2KfYudiv2Kkg2KjZitin2YbYp9iqJywn2KrZhSDYrdiw2YEg2KfZhNmF2K7Yt9i3LicsJ9iq2YUg2KXZhti02KfYoSDYp9mE2YXYrti32LcuJywn2KrZhSDYqti52K/ZitmEINin2YTZhdiu2LfYty4nLCfYpdiz2KrYr9i52KfYoScsJ9iq2YUg2KXYs9iq2K/Yudin2KEg2KfZhNix2YjYqtmK2YYsINi52K/YryDYp9mE2KPYs9i32LEg2KfZhNmF2LnYr9mE2KkgJWQuJywn2KfZhNmF2YHYqtin2K0g2KfZhNij2KzZhtio2Yog2KrZhSDZhdiz2K3Zhy4nLCfYp9mE2YXZgdiq2KfYrSDYp9mE2KPYrNmG2KjZiiDYqtmFINiq2LnYr9mK2YTZhy4nLCfYp9mE2YXZgdiq2KfYrSDYp9mE2KPYrNmG2KjZiiDYqtmFINil2YbYtNin2KTZhy4nLCfYo9i52YXYr9ipINin2YTZhdi12K/YsSDZiCDYp9mE2YfYr9mBINmK2KzYqCDYo9mGINiq2YPZiNmGINio2YbZgdizINin2YTZhtmI2LksINmK2KzYqCDYo9mGINmK2YPZiNmGINmH2YbYp9mDINmF2KTYtNixINmB2Yog2KPYudmF2K/YqSDYp9mE2YfYr9mBINmIINin2YTYqNmK2KfZhtin2Kog2KfZhNmF2LHYrNi52YrYqSDZitis2Kgg2KfZhiDYqtmD2YjZhiDZhdmI2KzZiNiv2KkuJywn2YXZgdiq2KfYrSDYo9is2YbYqNmKJywn2KfZhNis2K/ZiNmEINin2YTZhdiz2KrZh9iv2YEnLCfYqti52K/ZitmEJywn2KPYttmBINi52YXZiNivJywn2KrZhSDZhdiz2K0g2KfZhNi52LHYti4nLCfYqtmFINiq2LnYr9mK2YQg2KfZhNi52LHYti4nLCfYqtmFINil2YbYtNin2KEg2KfZhNi52LHYti4nLCfYpdmG2LTYp9ihINi52LHYticsJ9in2YTYpdiz2YUnLCfYqtmFINmF2LPYrSDYp9mE2K3Yr9irLicsJ9iq2YUg2KrYudiv2YrZhCDYp9mE2K3Yr9irLicsJ9iq2YUg2KXZhti02KfYoSDYp9mE2K3Yr9irLicsJ9iq2LnYr9mK2YQg2K3Yr9irJywn2KXZhti02KfYoSDYrdiv2KsnLCfYpdio2K/YoycsJ9il2YbZh9in2KEnLCfZg9mEJywn2K3Zgdi4INi52YbYryDYp9mE2KXZhtiq2YfYp9ihJywn2KrZhSDYrdiw2YEg2KfZhNix2YjYqtmK2YYuJywn2KrZhSDYqti52K/ZitmEINin2YTYsdmI2KrZitmGLicsJ9iq2YUg2KXZhti02KfYoSDYp9mE2LHZiNiq2YrZhi4nLCfYqti52K/ZitmEINin2YTYr9in2YTYqScsJ9iq2LnYr9mK2YQg2KfZhNil2KzYsdin2KEnLCfYpdmG2LTYp9ihINiv2KfZhNipJywn2KXZhti02KfYoSDYpdis2LHYp9ihJywn2YbZiNi5INin2YTYudmI2K/YqScsJ9iq2YUg2K3YsNmBINin2YTYs9mE2LPZhNipLicsJ9iq2YUg2KXZhti02KfYoSDYp9mE2LPZhNiz2YTYqS4nLCfYqtmFINiq2LnYr9mK2YQg2KfZhNiz2YTYs9mE2KkuJywn2KrYudiv2YrZhCDYs9mE2LPZhNipJywn2KXZhti02KfYoSDYs9mE2LPZhNipJywn2KrZhSDYrdiw2YEg2KfZhNmG2YjYuS4nLCfYqtmFINil2YbYtNin2KEg2KfZhNmG2YjYuS4nLCfYqti52K/ZitmEINmG2YjYuScsJ9il2YbYtNin2KEg2YbZiNi5Jywn2KrZhSDYrdiw2YEg2KfZhNiy2YbYp9ivLicsJ9iq2YUg2KrYudiv2YrZhCDYp9mE2LLZhtin2K8uJywn2KrZhSDYpdmG2LTYp9ihINin2YTYstmG2KfYry4nLCfYqti52K/ZitmEINiy2YbYp9ivJywn2KXZhti02KfYoSDYstmG2KfYrycsJ9in2YTZiNmC2KonLCfYp9mE2K3Yr9irJywn2KrZhSDYrdiw2YEg2KfZhNmF2LPYqtiu2K/ZhS4nLCfYqtmFINiq2LnYr9mK2YQg2KfZhNmF2LPYqtiu2K/ZhS4nLCfYqtmFINil2YbYtNin2KEg2KfZhNmF2LPYqtiu2K/ZhS4nLCfYqtmE2KjZitivJywn2LHZiNiq2YrZhicsJ0dyYW50JywnUmV2b2tlJywn2LnYr9ivINin2YTYpdis2LHYp9ih2KfYqiDYp9mE2KrZiiDYqtmFINil2YrZgtin2YHZh9inICVkLicsJyVkINmB2Yog2KfZhNmF2KzZhdmI2LknLCfYpdmK2YLYp9mBJywn2LnYr9ivINin2YTYudmG2KfYtdixINin2YTZhdi52K/ZhNipINmH2YggJWQuJywn2KPZhtmC2LEg2YbZgtix2Kcg2YXYstiv2YjYrNinINi52YTZiSDZgtmK2YXYqSDZhNiq2LnYr9mK2YTZh9inLicsJ9i52K/YryDYp9mE2KPYs9i32LEg2KfZhNmF2LPYqtmI2LHYr9ipINmH2YggJWQuJywn2YXZhiDYutmK2LEg2KfZhNmF2YXZg9mGINil2K7YqtmK2KfYsSDYp9mE2KzYr9mI2YQnLCfYudmE2KfZgtin2KonLCfYpdiz2KrYudmF2YQg2KfZhNix2KfYqNi3ICLYqti52K/ZitmEIiDZhNiq2LnYr9mK2YQg2YfYsNmHINin2YTZgtmK2YXYqS4nLCfYtdmB2K3YqScsJ9in2YTYo9iu2YrYsdipJywn2YbYqtmK2KzYqSDZg9in2YXZhNipJywn2YbYs9iuJywn2KXYs9iq2YrYsdin2K8nLCcsJywn2KrZhSDZgti32Lkg2KfZhNis2K/Yp9mI2YQuJywn2KrZhSDZhtmC2YQg2KfZhNis2K/Yp9mI2YQuJywnVGFibGVzIGhhdmUgYmVlbiBjb3BpZWQuJywn2KrZhSDYrdiw2YEg2KfZhNis2K/Yp9mI2YQuJywn2KfZhNis2K/Yp9mI2YQg2Ygg2KfZhNi52LHZiNi2Jywn2KjYrdirINmB2Yog2KfZhNis2K/Yp9mI2YQnLCfYp9mE2YXYrdix2YMnLCfYt9mI2YQg2KfZhNmF2LnYt9mK2KfYqi4nLCfYt9mI2YQg2KfZhNmF2KTYtNixLicsJ9in2YTZhdiz2KfYrdipINin2YTYrdix2KknLCfYp9mE2KPYs9i32LEnLCfYqtit2YTZitmEJywn2KrYrdiz2YrZhicsJ9mB2K3YtScsJ9il2LXZhNin2K0nLCfZgti32LknLCfZhtmC2YQg2KXZhNmJINmC2KfYudiv2Kkg2KjZitin2YbYp9iqINij2K7YsdmJJywn2YbZgtmEJywnQ29weScsJ9in2YTYs9mE2KfYs9mEJywn2YXZiNin2LnZitivJywn2YHZiiDZiNmC2Kog2YXYrdiv2K8nLCfYp9mE2KLZhicpO2JyZWFrO31pZihleHRlbnNpb25fbG9hZGVkKCdwZG8nKSl7Y2xhc3MKTWluX1BETwpleHRlbmRzClBET3t2YXIkX3Jlc3VsdCwkc2VydmVyX2luZm8sJGFmZmVjdGVkX3Jvd3MsJGVycm9yO2Z1bmN0aW9uCl9fY29uc3RydWN0KCl7fWZ1bmN0aW9uCmRzbigkbGYsJFAsJFQsJG9mPSdhdXRoX2Vycm9yJyl7c2V0X2V4Y2VwdGlvbl9oYW5kbGVyKCRvZik7cGFyZW50OjpfX2NvbnN0cnVjdCgkbGYsJFAsJFQpO3Jlc3RvcmVfZXhjZXB0aW9uX2hhbmRsZXIoKTskdGhpcy0+c2V0QXR0cmlidXRlKDEzLGFycmF5KCdNaW5fUERPU3RhdGVtZW50JykpOyR0aGlzLT5zZXJ2ZXJfaW5mbz0kdGhpcy0+Z2V0QXR0cmlidXRlKDQpO31mdW5jdGlvbgpxdWVyeSgkaiwkZGI9ZmFsc2UpeyRpPXBhcmVudDo6cXVlcnkoJGopO2lmKCEkaSl7JG5mPSR0aGlzLT5lcnJvckluZm8oKTskdGhpcy0+ZXJyb3I9JG5mWzJdO3JldHVybgpmYWxzZTt9JHRoaXMtPnN0b3JlX3Jlc3VsdCgkaSk7cmV0dXJuJGk7fWZ1bmN0aW9uCm11bHRpX3F1ZXJ5KCRqKXtyZXR1cm4kdGhpcy0+X3Jlc3VsdD0kdGhpcy0+cXVlcnkoJGopO31mdW5jdGlvbgpzdG9yZV9yZXN1bHQoJGk9bnVsbCl7aWYoISRpKXskaT0kdGhpcy0+X3Jlc3VsdDt9aWYoJGktPmNvbHVtbkNvdW50KCkpeyRpLT5udW1fcm93cz0kaS0+cm93Q291bnQoKTtyZXR1cm4kaTt9JHRoaXMtPmFmZmVjdGVkX3Jvd3M9JGktPnJvd0NvdW50KCk7cmV0dXJuCnRydWU7fWZ1bmN0aW9uCm5leHRfcmVzdWx0KCl7cmV0dXJuJHRoaXMtPl9yZXN1bHQtPm5leHRSb3dzZXQoKTt9ZnVuY3Rpb24KcmVzdWx0KCRqLCRlPTApeyRpPSR0aGlzLT5xdWVyeSgkaik7aWYoISRpKXtyZXR1cm4KZmFsc2U7fSRhPSRpLT5mZXRjaCgpO3JldHVybiRhWyRlXTt9fWNsYXNzCk1pbl9QRE9TdGF0ZW1lbnQKZXh0ZW5kcwpQRE9TdGF0ZW1lbnR7dmFyJF9vZmZzZXQ9MCwkbnVtX3Jvd3M7ZnVuY3Rpb24KZmV0Y2hfYXNzb2MoKXtyZXR1cm4kdGhpcy0+ZmV0Y2goMik7fWZ1bmN0aW9uCmZldGNoX3Jvdygpe3JldHVybiR0aGlzLT5mZXRjaCgzKTt9ZnVuY3Rpb24KZmV0Y2hfZmllbGQoKXskYT0ob2JqZWN0KSR0aGlzLT5nZXRDb2x1bW5NZXRhKCR0aGlzLT5fb2Zmc2V0KyspOyRhLT5vcmd0YWJsZT0kYS0+dGFibGU7JGEtPm9yZ25hbWU9JGEtPm5hbWU7JGEtPmNoYXJzZXRucj0oaW5fYXJyYXkoImJsb2IiLCRhLT5mbGFncyk/NjM6MCk7cmV0dXJuJGE7fX19JG5hPWFycmF5KCk7JG5hWyJzcWxpdGUiXT0iU1FMaXRlIDMiOyRuYVsic3FsaXRlMiJdPSJTUUxpdGUgMiI7aWYoaXNzZXQoJF9HRVRbInNxbGl0ZSJdKXx8aXNzZXQoJF9HRVRbInNxbGl0ZTIiXSkpeyRvYz1hcnJheSgoaXNzZXQoJF9HRVRbInNxbGl0ZSJdKT8iU1FMaXRlMyI6IlNRTGl0ZSIpLCJQRE9fU1FMaXRlIik7ZGVmaW5lKCJEUklWRVIiLChpc3NldCgkX0dFVFsic3FsaXRlIl0pPyJzcWxpdGUiOiJzcWxpdGUyIikpO2lmKGV4dGVuc2lvbl9sb2FkZWQoaXNzZXQoJF9HRVRbInNxbGl0ZSJdKT8ic3FsaXRlMyI6InNxbGl0ZSIpKXtpZihpc3NldCgkX0dFVFsic3FsaXRlIl0pKXtjbGFzcwpNaW5fU1FMaXRle3ZhciRleHRlbnNpb249IlNRTGl0ZTMiLCRzZXJ2ZXJfaW5mbywkYWZmZWN0ZWRfcm93cywkZXJyb3IsJF9saW5rO2Z1bmN0aW9uCk1pbl9TUUxpdGUoJGphKXskdGhpcy0+X2xpbms9bmV3ClNRTGl0ZTMoJGphKTskS2Q9JHRoaXMtPl9saW5rLT52ZXJzaW9uKCk7JHRoaXMtPnNlcnZlcl9pbmZvPSRLZFsidmVyc2lvblN0cmluZyJdO31mdW5jdGlvbgpxdWVyeSgkail7JGk9QCR0aGlzLT5fbGluay0+cXVlcnkoJGopO2lmKCEkaSl7JHRoaXMtPmVycm9yPSR0aGlzLT5fbGluay0+bGFzdEVycm9yTXNnKCk7cmV0dXJuCmZhbHNlO31lbHNlaWYoJGktPm51bUNvbHVtbnMoKSl7cmV0dXJuCm5ldwpNaW5fUmVzdWx0KCRpKTt9JHRoaXMtPmFmZmVjdGVkX3Jvd3M9JHRoaXMtPl9saW5rLT5jaGFuZ2VzKCk7cmV0dXJuCnRydWU7fWZ1bmN0aW9uCnF1b3RlKCRJKXtyZXR1cm4iJyIuJHRoaXMtPl9saW5rLT5lc2NhcGVTdHJpbmcoJEkpLiInIjt9ZnVuY3Rpb24Kc3RvcmVfcmVzdWx0KCl7cmV0dXJuJHRoaXMtPl9yZXN1bHQ7fWZ1bmN0aW9uCnJlc3VsdCgkaiwkZT0wKXskaT0kdGhpcy0+cXVlcnkoJGopO2lmKCFpc19vYmplY3QoJGkpKXtyZXR1cm4KZmFsc2U7fSRhPSRpLT5fcmVzdWx0LT5mZXRjaEFycmF5KCk7cmV0dXJuJGFbJGVdO319Y2xhc3MKTWluX1Jlc3VsdHt2YXIkX3Jlc3VsdCwkX29mZnNldD0wLCRudW1fcm93cztmdW5jdGlvbgpNaW5fUmVzdWx0KCRpKXskdGhpcy0+X3Jlc3VsdD0kaTt9ZnVuY3Rpb24KZmV0Y2hfYXNzb2MoKXtyZXR1cm4kdGhpcy0+X3Jlc3VsdC0+ZmV0Y2hBcnJheShTUUxJVEUzX0FTU09DKTt9ZnVuY3Rpb24KZmV0Y2hfcm93KCl7cmV0dXJuJHRoaXMtPl9yZXN1bHQtPmZldGNoQXJyYXkoU1FMSVRFM19OVU0pO31mdW5jdGlvbgpmZXRjaF9maWVsZCgpeyRDPSR0aGlzLT5fb2Zmc2V0Kys7JHo9JHRoaXMtPl9yZXN1bHQtPmNvbHVtblR5cGUoJEMpO3JldHVybihvYmplY3QpYXJyYXkoIm5hbWUiPT4kdGhpcy0+X3Jlc3VsdC0+Y29sdW1uTmFtZSgkQyksInR5cGUiPT4keiwiY2hhcnNldG5yIj0+KCR6PT1TUUxJVEUzX0JMT0I/NjM6MCksKTt9ZnVuY3Rpb24KX19kZXNjdHJ1Y3QoKXtyZXR1cm4kdGhpcy0+X3Jlc3VsdC0+ZmluYWxpemUoKTt9fX1lbHNle2NsYXNzCk1pbl9TUUxpdGV7dmFyJGV4dGVuc2lvbj0iU1FMaXRlIiwkc2VydmVyX2luZm8sJGFmZmVjdGVkX3Jvd3MsJGVycm9yLCRfbGluaztmdW5jdGlvbgpNaW5fU1FMaXRlKCRqYSl7JHRoaXMtPnNlcnZlcl9pbmZvPXNxbGl0ZV9saWJ2ZXJzaW9uKCk7JHRoaXMtPl9saW5rPW5ldwpTUUxpdGVEYXRhYmFzZSgkamEpO31mdW5jdGlvbgpxdWVyeSgkaiwkZGI9ZmFsc2UpeyRxZj0oJGRiPyJ1bmJ1ZmZlcmVkUXVlcnkiOiJxdWVyeSIpOyRpPUAkdGhpcy0+X2xpbmstPiRxZigkaixTUUxJVEVfQk9USCwkbik7aWYoISRpKXskdGhpcy0+ZXJyb3I9JG47cmV0dXJuCmZhbHNlO31lbHNlaWYoJGk9PT10cnVlKXskdGhpcy0+YWZmZWN0ZWRfcm93cz0kdGhpcy0+Y2hhbmdlcygpO3JldHVybgp0cnVlO31yZXR1cm4KbmV3Ck1pbl9SZXN1bHQoJGkpO31mdW5jdGlvbgpxdW90ZSgkSSl7cmV0dXJuIiciLnNxbGl0ZV9lc2NhcGVfc3RyaW5nKCRJKS4iJyI7fWZ1bmN0aW9uCnN0b3JlX3Jlc3VsdCgpe3JldHVybiR0aGlzLT5fcmVzdWx0O31mdW5jdGlvbgpyZXN1bHQoJGosJGU9MCl7JGk9JHRoaXMtPnF1ZXJ5KCRqKTtpZighaXNfb2JqZWN0KCRpKSl7cmV0dXJuCmZhbHNlO30kYT0kaS0+X3Jlc3VsdC0+ZmV0Y2goKTtyZXR1cm4kYVskZV07fX1jbGFzcwpNaW5fUmVzdWx0e3ZhciRfcmVzdWx0LCRfb2Zmc2V0PTAsJG51bV9yb3dzO2Z1bmN0aW9uCk1pbl9SZXN1bHQoJGkpeyR0aGlzLT5fcmVzdWx0PSRpO2lmKG1ldGhvZF9leGlzdHMoJGksJ251bVJvd3MnKSl7JHRoaXMtPm51bV9yb3dzPSRpLT5udW1Sb3dzKCk7fX1mdW5jdGlvbgpmZXRjaF9hc3NvYygpeyRhPSR0aGlzLT5fcmVzdWx0LT5mZXRjaChTUUxJVEVfQVNTT0MpO2lmKCEkYSl7cmV0dXJuCmZhbHNlO30kYz1hcnJheSgpO2ZvcmVhY2goJGEKYXMkZD0+JGIpeyRjWygkZFswXT09JyInP2lkZl91bmVzY2FwZSgkZCk6JGQpXT0kYjt9cmV0dXJuJGM7fWZ1bmN0aW9uCmZldGNoX3Jvdygpe3JldHVybiR0aGlzLT5fcmVzdWx0LT5mZXRjaChTUUxJVEVfTlVNKTt9ZnVuY3Rpb24KZmV0Y2hfZmllbGQoKXskZj0kdGhpcy0+X3Jlc3VsdC0+ZmllbGROYW1lKCR0aGlzLT5fb2Zmc2V0KyspOyRiYT0nKFxcWy4qXXwiKD86W14iXXwiIikqInwoLispKSc7aWYocHJlZ19tYXRjaCgifl4oJGJhXFwuKT8kYmFcJH4iLCRmLCRrKSl7JGg9KCRrWzNdIT0iIj8ka1szXTppZGZfdW5lc2NhcGUoJGtbMl0pKTskZj0oJGtbNV0hPSIiPyRrWzVdOmlkZl91bmVzY2FwZSgka1s0XSkpO31yZXR1cm4ob2JqZWN0KWFycmF5KCJuYW1lIj0+JGYsIm9yZ25hbWUiPT4kZiwib3JndGFibGUiPT4kaCwpO319fX1lbHNlaWYoZXh0ZW5zaW9uX2xvYWRlZCgicGRvX3NxbGl0ZSIpKXtjbGFzcwpNaW5fU1FMaXRlCmV4dGVuZHMKTWluX1BET3t2YXIkZXh0ZW5zaW9uPSJQRE9fU1FMaXRlIjtmdW5jdGlvbgpNaW5fU1FMaXRlKCRqYSl7JHRoaXMtPmRzbihEUklWRVIuIjokamEiLCIiLCIiKTt9fX1pZihjbGFzc19leGlzdHMoIk1pbl9TUUxpdGUiKSl7Y2xhc3MKTWluX0RCCmV4dGVuZHMKTWluX1NRTGl0ZXtmdW5jdGlvbgpNaW5fREIoKXskdGhpcy0+TWluX1NRTGl0ZSgiOm1lbW9yeToiKTt9ZnVuY3Rpb24Kc2VsZWN0X2RiKCRqYSl7aWYoaXNfcmVhZGFibGUoJGphKSYmJHRoaXMtPnF1ZXJ5KCJBVFRBQ0ggIi4kdGhpcy0+cXVvdGUoZXJlZygiKF5bL1xcXXw6KSIsJGphKT8kamE6ZGlybmFtZSgkX1NFUlZFUlsiU0NSSVBUX0ZJTEVOQU1FIl0pLiIvJGphIikuIiBBUyBhIikpeyR0aGlzLT5NaW5fU1FMaXRlKCRqYSk7cmV0dXJuCnRydWU7fXJldHVybgpmYWxzZTt9ZnVuY3Rpb24KbXVsdGlfcXVlcnkoJGope3JldHVybiR0aGlzLT5fcmVzdWx0PSR0aGlzLT5xdWVyeSgkaik7fWZ1bmN0aW9uCm5leHRfcmVzdWx0KCl7cmV0dXJuCmZhbHNlO319fWZ1bmN0aW9uCmlkZl9lc2NhcGUoJE4pe3JldHVybiciJy5zdHJfcmVwbGFjZSgnIicsJyIiJywkTikuJyInO31mdW5jdGlvbgp0YWJsZSgkTil7cmV0dXJuCmlkZl9lc2NhcGUoJE4pO31mdW5jdGlvbgpjb25uZWN0KCl7cmV0dXJuCm5ldwpNaW5fREI7fWZ1bmN0aW9uCmdldF9kYXRhYmFzZXMoKXtyZXR1cm4KYXJyYXkoKTt9ZnVuY3Rpb24KbGltaXQoJGosJHMsJE8sJEw9MCwkV2E9IiAiKXtyZXR1cm4iICRqJHMiLihpc3NldCgkTyk/JFdhLiJMSU1JVCAkTyIuKCRMPyIgT0ZGU0VUICRMIjoiIik6IiIpO31mdW5jdGlvbgpsaW1pdDEoJGosJHMpe2dsb2JhbCRnO3JldHVybigkZy0+cmVzdWx0KCJTRUxFQ1Qgc3FsaXRlX2NvbXBpbGVvcHRpb25fdXNlZCgnRU5BQkxFX1VQREFURV9ERUxFVEVfTElNSVQnKSIpP2xpbWl0KCRqLCRzLDEpOiIgJGokcyIpO31mdW5jdGlvbgpkYl9jb2xsYXRpb24oJHQsJFope2dsb2JhbCRnO3JldHVybiRnLT5yZXN1bHQoIlBSQUdNQSBlbmNvZGluZyIpO31mdW5jdGlvbgplbmdpbmVzKCl7cmV0dXJuCmFycmF5KCk7fWZ1bmN0aW9uCmxvZ2dlZF91c2VyKCl7cmV0dXJuCmdldF9jdXJyZW50X3VzZXIoKTt9ZnVuY3Rpb24KdGFibGVzX2xpc3QoKXtyZXR1cm4KZ2V0X2tleV92YWxzKCJTRUxFQ1QgbmFtZSwgdHlwZSBGUk9NIHNxbGl0ZV9tYXN0ZXIgV0hFUkUgdHlwZSBJTiAoJ3RhYmxlJywgJ3ZpZXcnKSBPUkRFUiBCWSAobmFtZSA9ICdzcWxpdGVfc2VxdWVuY2UnKSwgbmFtZSIsMSk7fWZ1bmN0aW9uCmNvdW50X3RhYmxlcygkXyl7cmV0dXJuCmFycmF5KCk7fWZ1bmN0aW9uCnRhYmxlX3N0YXR1cygkZj0iIil7JGM9YXJyYXkoKTtmb3JlYWNoKGdldF9yb3dzKCJTRUxFQ1QgbmFtZSBBUyBOYW1lLCB0eXBlIEFTIEVuZ2luZSBGUk9NIHNxbGl0ZV9tYXN0ZXIgV0hFUkUgdHlwZSBJTiAoJ3RhYmxlJywgJ3ZpZXcnKSIuKCRmIT0iIj8iIEFORCBuYW1lID0gIi5xKCRmKToiIikpYXMkYSl7JGFbIkF1dG9faW5jcmVtZW50Il09IiI7JGNbJGFbIk5hbWUiXV09JGE7fWZvcmVhY2goZ2V0X3Jvd3MoIlNFTEVDVCAqIEZST00gc3FsaXRlX3NlcXVlbmNlIixudWxsLCIiKWFzJGEpeyRjWyRhWyJuYW1lIl1dWyJBdXRvX2luY3JlbWVudCJdPSRhWyJzZXEiXTt9cmV0dXJuKCRmIT0iIj8kY1skZl06JGMpO31mdW5jdGlvbgppc192aWV3KCREKXtyZXR1cm4kRFsiRW5naW5lIl09PSJ2aWV3Ijt9ZnVuY3Rpb24KZmtfc3VwcG9ydCgkRCl7Z2xvYmFsJGc7cmV0dXJuISRnLT5yZXN1bHQoIlNFTEVDVCBzcWxpdGVfY29tcGlsZW9wdGlvbl91c2VkKCdPTUlUX0ZPUkVJR05fS0VZJykiKTt9ZnVuY3Rpb24KZmllbGRzKCRoKXskYz1hcnJheSgpO2ZvcmVhY2goZ2V0X3Jvd3MoIlBSQUdNQSB0YWJsZV9pbmZvKCIudGFibGUoJGgpLiIpIilhcyRhKXskej1zdHJ0b2xvd2VyKCRhWyJ0eXBlIl0pOyR6YT0kYVsiZGZsdF92YWx1ZSJdOyRjWyRhWyJuYW1lIl1dPWFycmF5KCJmaWVsZCI9PiRhWyJuYW1lIl0sInR5cGUiPT4oZXJlZ2koImludCIsJHopPyJpbnRlZ2VyIjooZXJlZ2koImNoYXJ8Y2xvYnx0ZXh0Iiwkeik/InRleHQiOihlcmVnaSgiYmxvYiIsJHopPyJibG9iIjooZXJlZ2koInJlYWx8ZmxvYXxkb3ViIiwkeik/InJlYWwiOiJudW1lcmljIikpKSksImZ1bGxfdHlwZSI9PiR6LCJkZWZhdWx0Ij0+KGVyZWcoIicoLiopJyIsJHphLCRrKT9zdHJfcmVwbGFjZSgiJyciLCInIiwka1sxXSk6KCR6YT09Ik5VTEwiP251bGw6JHphKSksIm51bGwiPT4hJGFbIm5vdG51bGwiXSwiYXV0b19pbmNyZW1lbnQiPT5lcmVnaSgnXmludGVnZXIkJywkeikmJiRhWyJwayJdLCJwcml2aWxlZ2VzIj0+YXJyYXkoInNlbGVjdCI9PjEsImluc2VydCI9PjEsInVwZGF0ZSI9PjEpLCJwcmltYXJ5Ij0+JGFbInBrIl0sKTt9cmV0dXJuJGM7fWZ1bmN0aW9uCmluZGV4ZXMoJGgsJEc9bnVsbCl7JGM9YXJyYXkoKTskUWE9YXJyYXkoKTtmb3JlYWNoKGZpZWxkcygkaClhcyRlKXtpZigkZVsicHJpbWFyeSJdKXskUWFbXT0kZVsiZmllbGQiXTt9fWlmKCRRYSl7JGNbIiJdPWFycmF5KCJ0eXBlIj0+IlBSSU1BUlkiLCJjb2x1bW5zIj0+JFFhLCJsZW5ndGhzIj0+YXJyYXkoKSk7fWZvcmVhY2goZ2V0X3Jvd3MoIlBSQUdNQSBpbmRleF9saXN0KCIudGFibGUoJGgpLiIpIilhcyRhKXskY1skYVsibmFtZSJdXVsidHlwZSJdPSgkYVsidW5pcXVlIl0/IlVOSVFVRSI6IklOREVYIik7JGNbJGFbIm5hbWUiXV1bImxlbmd0aHMiXT1hcnJheSgpO2ZvcmVhY2goZ2V0X3Jvd3MoIlBSQUdNQSBpbmRleF9pbmZvKCIuaWRmX2VzY2FwZSgkYVsibmFtZSJdKS4iKSIpYXMkZGQpeyRjWyRhWyJuYW1lIl1dWyJjb2x1bW5zIl1bXT0kZGRbIm5hbWUiXTt9fXJldHVybiRjO31mdW5jdGlvbgpmb3JlaWduX2tleXMoJGgpeyRjPWFycmF5KCk7Zm9yZWFjaChnZXRfcm93cygiUFJBR01BIGZvcmVpZ25fa2V5X2xpc3QoIi50YWJsZSgkaCkuIikiKWFzJGEpeyRBPSYkY1skYVsiaWQiXV07aWYoISRBKXskQT0kYTt9JEFbInNvdXJjZSJdW109JGFbImZyb20iXTskQVsidGFyZ2V0Il1bXT0kYVsidG8iXTt9cmV0dXJuJGM7fWZ1bmN0aW9uCnZpZXcoJGYpe2dsb2JhbCRnO3JldHVybgphcnJheSgic2VsZWN0Ij0+cHJlZ19yZXBsYWNlKCd+Xig/OlteYCJbXSt8YFteYF0qYHwiW14iXSoiKSogQVNcXHMrfmlVJywnJywkZy0+cmVzdWx0KCJTRUxFQ1Qgc3FsIEZST00gc3FsaXRlX21hc3RlciBXSEVSRSBuYW1lID0gIi5xKCRmKSkpKTt9ZnVuY3Rpb24KY29sbGF0aW9ucygpe3JldHVybihpc3NldCgkX0dFVFsiY3JlYXRlIl0pP2dldF92YWxzKCJQUkFHTUEgY29sbGF0aW9uX2xpc3QiLDEpOmFycmF5KCkpO31mdW5jdGlvbgppbmZvcm1hdGlvbl9zY2hlbWEoJHQpe3JldHVybgpmYWxzZTt9ZnVuY3Rpb24KZXJyb3IoKXtnbG9iYWwkZztyZXR1cm4KaCgkZy0+ZXJyb3IpO31mdW5jdGlvbgpleGFjdF92YWx1ZSgkYil7cmV0dXJuCnEoJGIpO31mdW5jdGlvbgpjaGVja19zcWxpdGVfbmFtZSgkZil7Z2xvYmFsJGc7JFJlPSJkYnxzZGJ8c3FsaXRlIjtpZighcHJlZ19tYXRjaCgifl5bXlxcMF0qXFwuKCRSZSlcJH4iLCRmKSl7JGctPmVycm9yPWxhbmcoOSxzdHJfcmVwbGFjZSgifCIsIiwgIiwkUmUpKTtyZXR1cm4KZmFsc2U7fXJldHVybgp0cnVlO31mdW5jdGlvbgpjcmVhdGVfZGF0YWJhc2UoJHQsJFUpe2dsb2JhbCRnO2lmKGZpbGVfZXhpc3RzKCR0KSl7JGctPmVycm9yPWxhbmcoMTApO3JldHVybgpmYWxzZTt9aWYoIWNoZWNrX3NxbGl0ZV9uYW1lKCR0KSl7cmV0dXJuCmZhbHNlO30kdz1uZXcKTWluX1NRTGl0ZSgkdCk7JHctPnF1ZXJ5KCdQUkFHTUEgZW5jb2RpbmcgPSAiVVRGLTgiJyk7JHctPnF1ZXJ5KCdDUkVBVEUgVEFCTEUgYWRtaW5lciAoaSknKTskdy0+cXVlcnkoJ0RST1AgVEFCTEUgYWRtaW5lcicpO3JldHVybgp0cnVlO31mdW5jdGlvbgpkcm9wX2RhdGFiYXNlcygkXyl7Z2xvYmFsJGc7JGctPk1pbl9TUUxpdGUoIjptZW1vcnk6Iik7Zm9yZWFjaCgkXwphcyR0KXtpZighQHVubGluaygkdCkpeyRnLT5lcnJvcj1sYW5nKDEwKTtyZXR1cm4KZmFsc2U7fX1yZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24KcmVuYW1lX2RhdGFiYXNlKCRmLCRVKXtnbG9iYWwkZztpZighY2hlY2tfc3FsaXRlX25hbWUoJGYpKXtyZXR1cm4KZmFsc2U7fSRnLT5NaW5fU1FMaXRlKCI6bWVtb3J5OiIpOyRnLT5lcnJvcj1sYW5nKDEwKTtyZXR1cm5AcmVuYW1lKERCLCRmKTt9ZnVuY3Rpb24KYXV0b19pbmNyZW1lbnQoKXtyZXR1cm4iIFBSSU1BUlkgS0VZIi4oRFJJVkVSPT0ic3FsaXRlIj8iIEFVVE9JTkNSRU1FTlQiOiIiKTt9ZnVuY3Rpb24KYWx0ZXJfdGFibGUoJGgsJGYsJHAsJE9hLCRfYSwkeWIsJFUsJFNhLCR2Yil7JHU9YXJyYXkoKTtmb3JlYWNoKCRwCmFzJGUpe2lmKCRlWzFdKXskdVtdPSgkaCE9IiImJiRlWzBdPT0iIj8iQUREICI6IiAgIikuaW1wbG9kZSgkZVsxXSk7fX0kdT1hcnJheV9tZXJnZSgkdSwkT2EpO2lmKCRoIT0iIil7Zm9yZWFjaCgkdQphcyRiKXtpZighcXVlcmllcygiQUxURVIgVEFCTEUgIi50YWJsZSgkaCkuIiAkYiIpKXtyZXR1cm4KZmFsc2U7fX1pZigkaCE9JGYmJiFxdWVyaWVzKCJBTFRFUiBUQUJMRSAiLnRhYmxlKCRoKS4iIFJFTkFNRSBUTyAiLnRhYmxlKCRmKSkpe3JldHVybgpmYWxzZTt9fWVsc2VpZighcXVlcmllcygiQ1JFQVRFIFRBQkxFICIudGFibGUoJGYpLiIgKFxuIi5pbXBsb2RlKCIsXG4iLCR1KS4iXG4pIikpe3JldHVybgpmYWxzZTt9aWYoJFNhKXtxdWVyaWVzKCJVUERBVEUgc3FsaXRlX3NlcXVlbmNlIFNFVCBzZXEgPSAkU2EgV0hFUkUgbmFtZSA9ICIucSgkZikpO31yZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24KYWx0ZXJfaW5kZXhlcygkaCwkdSl7Zm9yZWFjaCgkdQphcyRiKXtpZighcXVlcmllcygoJGJbMl0/IkRST1AgSU5ERVgiOiJDUkVBVEUiLigkYlswXSE9IklOREVYIj8iIFVOSVFVRSI6IiIpLiIgSU5ERVggIi5pZGZfZXNjYXBlKHVuaXFpZCgkaC4iXyIpKS4iIE9OICIudGFibGUoJGgpKS4iICRiWzFdIikpe3JldHVybgpmYWxzZTt9fXJldHVybgp0cnVlO31mdW5jdGlvbgp0cnVuY2F0ZV90YWJsZXMoJEUpe3JldHVybgphcHBseV9xdWVyaWVzKCJERUxFVEUgRlJPTSIsJEUpO31mdW5jdGlvbgpkcm9wX3ZpZXdzKCRYKXtyZXR1cm4KYXBwbHlfcXVlcmllcygiRFJPUCBWSUVXIiwkWCk7fWZ1bmN0aW9uCmRyb3BfdGFibGVzKCRFKXtyZXR1cm4KYXBwbHlfcXVlcmllcygiRFJPUCBUQUJMRSIsJEUpO31mdW5jdGlvbgptb3ZlX3RhYmxlcygkRSwkWCwkZWEpe3JldHVybgpmYWxzZTt9ZnVuY3Rpb24KdHJpZ2dlcigkZil7Z2xvYmFsJGc7cHJlZ19tYXRjaCgnfl5DUkVBVEVcXHMrVFJJR0dFUlxccyooPzpbXmAiXFxzXSt8YFteYF0qYHwiW14iXSoiKStcXHMqKFthLXpdKylcXHMrKFthLXpdKylcXHMrT05cXHMqKD86W15gIlxcc10rfGBbXmBdKmB8IlteIl0qIikrXFxzKig/OkZPUlxccypFQUNIXFxzKlJPV1xccyk/KC4qKX5pcycsJGctPnJlc3VsdCgiU0VMRUNUIHNxbCBGUk9NIHNxbGl0ZV9tYXN0ZXIgV0hFUkUgbmFtZSA9ICIucSgkZikpLCRrKTtyZXR1cm4KYXJyYXkoIlRpbWluZyI9PnN0cnRvdXBwZXIoJGtbMV0pLCJFdmVudCI9PnN0cnRvdXBwZXIoJGtbMl0pLCJUcmlnZ2VyIj0+JGYsIlN0YXRlbWVudCI9PiRrWzNdKTt9ZnVuY3Rpb24KdHJpZ2dlcnMoJGgpeyRjPWFycmF5KCk7Zm9yZWFjaChnZXRfcm93cygiU0VMRUNUICogRlJPTSBzcWxpdGVfbWFzdGVyIFdIRVJFIHR5cGUgPSAndHJpZ2dlcicgQU5EIHRibF9uYW1lID0gIi5xKCRoKSlhcyRhKXtwcmVnX21hdGNoKCd+XkNSRUFURVxccytUUklHR0VSXFxzKig/OlteYCJcXHNdK3xgW15gXSpgfCJbXiJdKiIpK1xccyooW2Etel0rKVxccyooW2Etel0rKX5pJywkYVsic3FsIl0sJGspOyRjWyRhWyJuYW1lIl1dPWFycmF5KCRrWzFdLCRrWzJdKTt9cmV0dXJuJGM7fWZ1bmN0aW9uCnRyaWdnZXJfb3B0aW9ucygpe3JldHVybgphcnJheSgiVGltaW5nIj0+YXJyYXkoIkJFRk9SRSIsIkFGVEVSIiwiSU5TVEVBRCBPRiIpLCJUeXBlIj0+YXJyYXkoIkZPUiBFQUNIIFJPVyIpLCk7fWZ1bmN0aW9uCnJvdXRpbmUoJGYsJHope31mdW5jdGlvbgpyb3V0aW5lcygpe31mdW5jdGlvbgpiZWdpbigpe3JldHVybgpxdWVyaWVzKCJCRUdJTiIpO31mdW5jdGlvbgppbnNlcnRfaW50bygkaCwkcil7cmV0dXJuCnF1ZXJpZXMoIklOU0VSVCBJTlRPICIudGFibGUoJGgpLigkcj8iICgiLmltcGxvZGUoIiwgIixhcnJheV9rZXlzKCRyKSkuIilcblZBTFVFUyAoIi5pbXBsb2RlKCIsICIsJHIpLiIpIjoiREVGQVVMVCBWQUxVRVMiKSk7fWZ1bmN0aW9uCmluc2VydF91cGRhdGUoJGgsJHIsJFFhKXtyZXR1cm4KcXVlcmllcygiUkVQTEFDRSBJTlRPICIudGFibGUoJGgpLiIgKCIuaW1wbG9kZSgiLCAiLGFycmF5X2tleXMoJHIpKS4iKSBWQUxVRVMgKCIuaW1wbG9kZSgiLCAiLCRyKS4iKSIpO31mdW5jdGlvbgpsYXN0X2lkKCl7Z2xvYmFsJGc7cmV0dXJuJGctPnJlc3VsdCgiU0VMRUNUIExBU1RfSU5TRVJUX1JPV0lEKCkiKTt9ZnVuY3Rpb24KZXhwbGFpbigkZywkail7cmV0dXJuJGctPnF1ZXJ5KCJFWFBMQUlOICRqIik7fWZ1bmN0aW9uCnR5cGVzKCl7cmV0dXJuCmFycmF5KCk7fWZ1bmN0aW9uCnNjaGVtYXMoKXtyZXR1cm4KYXJyYXkoKTt9ZnVuY3Rpb24KZ2V0X3NjaGVtYSgpe3JldHVybiIiO31mdW5jdGlvbgpzZXRfc2NoZW1hKCRFZCl7cmV0dXJuCnRydWU7fWZ1bmN0aW9uCmNyZWF0ZV9zcWwoJGgsJFNhKXtnbG9iYWwkZztyZXR1cm4kZy0+cmVzdWx0KCJTRUxFQ1Qgc3FsIEZST00gc3FsaXRlX21hc3RlciBXSEVSRSB0eXBlID0gJ3RhYmxlJyBBTkQgbmFtZSA9ICIucSgkaCkpO31mdW5jdGlvbgp0cnVuY2F0ZV9zcWwoJGgpe3JldHVybiJERUxFVEUgRlJPTSAiLnRhYmxlKCRoKTt9ZnVuY3Rpb24KdXNlX3NxbCgkaWEpe31mdW5jdGlvbgp0cmlnZ2VyX3NxbCgkaCwkVil7cmV0dXJuCmltcGxvZGUoZ2V0X3ZhbHMoIlNFTEVDVCBzcWwgfHwgJzs7XG4nIEZST00gc3FsaXRlX21hc3RlciBXSEVSRSB0eXBlID0gJ3RyaWdnZXInIEFORCBuYW1lID0gIi5xKCRoKSkpO31mdW5jdGlvbgpzaG93X3ZhcmlhYmxlcygpe2dsb2JhbCRnOyRjPWFycmF5KCk7Zm9yZWFjaChhcnJheSgiYXV0b192YWN1dW0iLCJjYWNoZV9zaXplIiwiY291bnRfY2hhbmdlcyIsImRlZmF1bHRfY2FjaGVfc2l6ZSIsImVtcHR5X3Jlc3VsdF9jYWxsYmFja3MiLCJlbmNvZGluZyIsImZvcmVpZ25fa2V5cyIsImZ1bGxfY29sdW1uX25hbWVzIiwiZnVsbGZzeW5jIiwiam91cm5hbF9tb2RlIiwiam91cm5hbF9zaXplX2xpbWl0IiwibGVnYWN5X2ZpbGVfZm9ybWF0IiwibG9ja2luZ19tb2RlIiwicGFnZV9zaXplIiwibWF4X3BhZ2VfY291bnQiLCJyZWFkX3VuY29tbWl0dGVkIiwicmVjdXJzaXZlX3RyaWdnZXJzIiwicmV2ZXJzZV91bm9yZGVyZWRfc2VsZWN0cyIsInNlY3VyZV9kZWxldGUiLCJzaG9ydF9jb2x1bW5fbmFtZXMiLCJzeW5jaHJvbm91cyIsInRlbXBfc3RvcmUiLCJ0ZW1wX3N0b3JlX2RpcmVjdG9yeSIsInNjaGVtYV92ZXJzaW9uIiwiaW50ZWdyaXR5X2NoZWNrIiwicXVpY2tfY2hlY2siKWFzJGQpeyRjWyRkXT0kZy0+cmVzdWx0KCJQUkFHTUEgJGQiKTt9cmV0dXJuJGM7fWZ1bmN0aW9uCnNob3dfc3RhdHVzKCl7JGM9YXJyYXkoKTtmb3JlYWNoKGdldF92YWxzKCJQUkFHTUEgY29tcGlsZV9vcHRpb25zIilhcyRzZil7bGlzdCgkZCwkYik9ZXhwbG9kZSgiPSIsJHNmLDIpOyRjWyRkXT0kYjt9cmV0dXJuJGM7fWZ1bmN0aW9uCnN1cHBvcnQoJHJiKXtyZXR1cm4KZXJlZygnXih2aWV3fHRyaWdnZXJ8dmFyaWFibGVzfHN0YXR1c3xkdW1wKSQnLCRyYik7fSR2PSJzcWxpdGUiOyRSPWFycmF5KCJpbnRlZ2VyIj0+MCwicmVhbCI9PjAsIm51bWVyaWMiPT4wLCJ0ZXh0Ij0+MCwiYmxvYiI9PjApOyRMYT1hcnJheV9rZXlzKCRSKTskb2I9YXJyYXkoKTskZ2M9YXJyYXkoIj0iLCI8IiwiPiIsIjw9IiwiPj0iLCIhPSIsIkxJS0UiLCJMSUtFICUlIiwiSU4iLCJJUyBOVUxMIiwiTk9UIExJS0UiLCJOT1QgSU4iLCJJUyBOT1QgTlVMTCIsIiIpOyRkYT1hcnJheSgiaGV4IiwibGVuZ3RoIiwibG93ZXIiLCJyb3VuZCIsInVuaXhlcG9jaCIsInVwcGVyIik7JGxiPWFycmF5KCJhdmciLCJjb3VudCIsImNvdW50IGRpc3RpbmN0IiwiZ3JvdXBfY29uY2F0IiwibWF4IiwibWluIiwic3VtIik7JE5iPWFycmF5KGFycmF5KCksYXJyYXkoImludGVnZXJ8cmVhbHxudW1lcmljIj0+IisvLSIsInRleHQiPT4ifHwiLCkpO30kbmFbInBnc3FsIl09IlBvc3RncmVTUUwiO2lmKGlzc2V0KCRfR0VUWyJwZ3NxbCJdKSl7JG9jPWFycmF5KCJQZ1NRTCIsIlBET19QZ1NRTCIpO2RlZmluZSgiRFJJVkVSIiwicGdzcWwiKTtpZihleHRlbnNpb25fbG9hZGVkKCJwZ3NxbCIpKXtjbGFzcwpNaW5fREJ7dmFyJGV4dGVuc2lvbj0iUGdTUUwiLCRfbGluaywkX3Jlc3VsdCwkX3N0cmluZywkX2RhdGFiYXNlPXRydWUsJHNlcnZlcl9pbmZvLCRhZmZlY3RlZF9yb3dzLCRlcnJvcjtmdW5jdGlvbgpfZXJyb3IoJG1mLCRuKXtpZihpbmlfYm9vbCgiaHRtbF9lcnJvcnMiKSl7JG49aHRtbF9lbnRpdHlfZGVjb2RlKHN0cmlwX3RhZ3MoJG4pKTt9JG49ZXJlZ19yZXBsYWNlKCdeW146XSo6ICcsJycsJG4pOyR0aGlzLT5lcnJvcj0kbjt9ZnVuY3Rpb24KY29ubmVjdCgkRiwkUCwkVCl7c2V0X2Vycm9yX2hhbmRsZXIoYXJyYXkoJHRoaXMsJ19lcnJvcicpKTskdGhpcy0+X3N0cmluZz0iaG9zdD0nIi5zdHJfcmVwbGFjZSgiOiIsIicgcG9ydD0nIixhZGRjc2xhc2hlcygkRiwiJ1xcIikpLiInIHVzZXI9JyIuYWRkY3NsYXNoZXMoJFAsIidcXCIpLiInIHBhc3N3b3JkPSciLmFkZGNzbGFzaGVzKCRULCInXFwiKS4iJyI7JHRoaXMtPl9saW5rPUBwZ19jb25uZWN0KCR0aGlzLT5fc3RyaW5nLihEQiE9IiI/IiBkYm5hbWU9JyIuYWRkY3NsYXNoZXMoREIsIidcXCIpLiInIjoiIGRibmFtZT0ndGVtcGxhdGUxJyIpLFBHU1FMX0NPTk5FQ1RfRk9SQ0VfTkVXKTtpZighJHRoaXMtPl9saW5rJiZEQiE9IiIpeyR0aGlzLT5fZGF0YWJhc2U9ZmFsc2U7JHRoaXMtPl9saW5rPUBwZ19jb25uZWN0KCIkdGhpcy0+X3N0cmluZyBkYm5hbWU9J3RlbXBsYXRlMSciLFBHU1FMX0NPTk5FQ1RfRk9SQ0VfTkVXKTt9cmVzdG9yZV9lcnJvcl9oYW5kbGVyKCk7aWYoJHRoaXMtPl9saW5rKXskS2Q9cGdfdmVyc2lvbigkdGhpcy0+X2xpbmspOyR0aGlzLT5zZXJ2ZXJfaW5mbz0kS2RbInNlcnZlciJdO3BnX3NldF9jbGllbnRfZW5jb2RpbmcoJHRoaXMtPl9saW5rLCJVVEY4Iik7fXJldHVybihib29sKSR0aGlzLT5fbGluazt9ZnVuY3Rpb24KcXVvdGUoJEkpe3JldHVybiInIi5wZ19lc2NhcGVfc3RyaW5nKCR0aGlzLT5fbGluaywkSSkuIiciO31mdW5jdGlvbgpzZWxlY3RfZGIoJGlhKXtpZigkaWE9PURCKXtyZXR1cm4kdGhpcy0+X2RhdGFiYXNlO30kYz1AcGdfY29ubmVjdCgiJHRoaXMtPl9zdHJpbmcgZGJuYW1lPSciLmFkZGNzbGFzaGVzKCRpYSwiJ1xcIikuIiciLFBHU1FMX0NPTk5FQ1RfRk9SQ0VfTkVXKTtpZigkYyl7JHRoaXMtPl9saW5rPSRjO31yZXR1cm4kYzt9ZnVuY3Rpb24KY2xvc2UoKXskdGhpcy0+X2xpbms9QHBnX2Nvbm5lY3QoIiR0aGlzLT5fc3RyaW5nIGRibmFtZT0ndGVtcGxhdGUxJyIpO31mdW5jdGlvbgpxdWVyeSgkaiwkZGI9ZmFsc2UpeyRpPUBwZ19xdWVyeSgkdGhpcy0+X2xpbmssJGopO2lmKCEkaSl7JHRoaXMtPmVycm9yPXBnX2xhc3RfZXJyb3IoJHRoaXMtPl9saW5rKTtyZXR1cm4KZmFsc2U7fWVsc2VpZighcGdfbnVtX2ZpZWxkcygkaSkpeyR0aGlzLT5hZmZlY3RlZF9yb3dzPXBnX2FmZmVjdGVkX3Jvd3MoJGkpO3JldHVybgp0cnVlO31yZXR1cm4KbmV3Ck1pbl9SZXN1bHQoJGkpO31mdW5jdGlvbgptdWx0aV9xdWVyeSgkail7cmV0dXJuJHRoaXMtPl9yZXN1bHQ9JHRoaXMtPnF1ZXJ5KCRqKTt9ZnVuY3Rpb24Kc3RvcmVfcmVzdWx0KCl7cmV0dXJuJHRoaXMtPl9yZXN1bHQ7fWZ1bmN0aW9uCm5leHRfcmVzdWx0KCl7cmV0dXJuCmZhbHNlO31mdW5jdGlvbgpyZXN1bHQoJGosJGU9MCl7JGk9JHRoaXMtPnF1ZXJ5KCRqKTtpZighJGl8fCEkaS0+bnVtX3Jvd3Mpe3JldHVybgpmYWxzZTt9cmV0dXJuCnBnX2ZldGNoX3Jlc3VsdCgkaS0+X3Jlc3VsdCwwLCRlKTt9fWNsYXNzCk1pbl9SZXN1bHR7dmFyJF9yZXN1bHQsJF9vZmZzZXQ9MCwkbnVtX3Jvd3M7ZnVuY3Rpb24KTWluX1Jlc3VsdCgkaSl7JHRoaXMtPl9yZXN1bHQ9JGk7JHRoaXMtPm51bV9yb3dzPXBnX251bV9yb3dzKCRpKTt9ZnVuY3Rpb24KZmV0Y2hfYXNzb2MoKXtyZXR1cm4KcGdfZmV0Y2hfYXNzb2MoJHRoaXMtPl9yZXN1bHQpO31mdW5jdGlvbgpmZXRjaF9yb3coKXtyZXR1cm4KcGdfZmV0Y2hfcm93KCR0aGlzLT5fcmVzdWx0KTt9ZnVuY3Rpb24KZmV0Y2hfZmllbGQoKXskQz0kdGhpcy0+X29mZnNldCsrOyRjPW5ldwpzdGRDbGFzcztpZihmdW5jdGlvbl9leGlzdHMoJ3BnX2ZpZWxkX3RhYmxlJykpeyRjLT5vcmd0YWJsZT1wZ19maWVsZF90YWJsZSgkdGhpcy0+X3Jlc3VsdCwkQyk7fSRjLT5uYW1lPXBnX2ZpZWxkX25hbWUoJHRoaXMtPl9yZXN1bHQsJEMpOyRjLT5vcmduYW1lPSRjLT5uYW1lOyRjLT50eXBlPXBnX2ZpZWxkX3R5cGUoJHRoaXMtPl9yZXN1bHQsJEMpOyRjLT5jaGFyc2V0bnI9KCRjLT50eXBlPT0iYnl0ZWEiPzYzOjApO3JldHVybiRjO31mdW5jdGlvbgpfX2Rlc3RydWN0KCl7cGdfZnJlZV9yZXN1bHQoJHRoaXMtPl9yZXN1bHQpO319fWVsc2VpZihleHRlbnNpb25fbG9hZGVkKCJwZG9fcGdzcWwiKSl7Y2xhc3MKTWluX0RCCmV4dGVuZHMKTWluX1BET3t2YXIkZXh0ZW5zaW9uPSJQRE9fUGdTUUwiO2Z1bmN0aW9uCmNvbm5lY3QoJEYsJFAsJFQpeyRJPSJwZ3NxbDpob3N0PSciLnN0cl9yZXBsYWNlKCI6IiwiJyBwb3J0PSciLGFkZGNzbGFzaGVzKCRGLCInXFwiKSkuIicgb3B0aW9ucz0nLWMgY2xpZW50X2VuY29kaW5nPXV0ZjgnIjskdGhpcy0+ZHNuKCRJLihEQiE9IiI/IiBkYm5hbWU9JyIuYWRkY3NsYXNoZXMoREIsIidcXCIpLiInIjoiIiksJFAsJFQpO3JldHVybgp0cnVlO31mdW5jdGlvbgpzZWxlY3RfZGIoJGlhKXtyZXR1cm4oREI9PSRpYSk7fWZ1bmN0aW9uCmNsb3NlKCl7fX19ZnVuY3Rpb24KaWRmX2VzY2FwZSgkTil7cmV0dXJuJyInLnN0cl9yZXBsYWNlKCciJywnIiInLCROKS4nIic7fWZ1bmN0aW9uCnRhYmxlKCROKXtyZXR1cm4KaWRmX2VzY2FwZSgkTik7fWZ1bmN0aW9uCmNvbm5lY3QoKXtnbG9iYWwkbzskZz1uZXcKTWluX0RCOyR5YT0kby0+Y3JlZGVudGlhbHMoKTtpZigkZy0+Y29ubmVjdCgkeWFbMF0sJHlhWzFdLCR5YVsyXSkpe3JldHVybiRnO31yZXR1cm4kZy0+ZXJyb3I7fWZ1bmN0aW9uCmdldF9kYXRhYmFzZXMoKXtyZXR1cm4KZ2V0X3ZhbHMoIlNFTEVDVCBkYXRuYW1lIEZST00gcGdfZGF0YWJhc2UiKTt9ZnVuY3Rpb24KbGltaXQoJGosJHMsJE8sJEw9MCwkV2E9IiAiKXtyZXR1cm4iICRqJHMiLihpc3NldCgkTyk/JFdhLiJMSU1JVCAkTyIuKCRMPyIgT0ZGU0VUICRMIjoiIik6IiIpO31mdW5jdGlvbgpsaW1pdDEoJGosJHMpe3JldHVybiIgJGokcyI7fWZ1bmN0aW9uCmRiX2NvbGxhdGlvbigkdCwkWil7Z2xvYmFsJGc7cmV0dXJuJGctPnJlc3VsdCgiU0hPVyBMQ19DT0xMQVRFIik7fWZ1bmN0aW9uCmVuZ2luZXMoKXtyZXR1cm4KYXJyYXkoKTt9ZnVuY3Rpb24KbG9nZ2VkX3VzZXIoKXtnbG9iYWwkZztyZXR1cm4kZy0+cmVzdWx0KCJTRUxFQ1QgdXNlciIpO31mdW5jdGlvbgp0YWJsZXNfbGlzdCgpe3JldHVybgpnZXRfa2V5X3ZhbHMoIlNFTEVDVCB0YWJsZV9uYW1lLCB0YWJsZV90eXBlIEZST00gaW5mb3JtYXRpb25fc2NoZW1hLnRhYmxlcyBXSEVSRSB0YWJsZV9zY2hlbWEgPSBjdXJyZW50X3NjaGVtYSgpIE9SREVSIEJZIHRhYmxlX25hbWUiKTt9ZnVuY3Rpb24KY291bnRfdGFibGVzKCRfKXtyZXR1cm4KYXJyYXkoKTt9ZnVuY3Rpb24KdGFibGVfc3RhdHVzKCRmPSIiKXskYz1hcnJheSgpO2ZvcmVhY2goZ2V0X3Jvd3MoIlNFTEVDVCByZWxuYW1lIEFTIFwiTmFtZVwiLCBDQVNFIHJlbGtpbmQgV0hFTiAncicgVEhFTiAnJyBFTFNFICd2aWV3JyBFTkQgQVMgXCJFbmdpbmVcIiwgcGdfcmVsYXRpb25fc2l6ZShvaWQpIEFTIFwiRGF0YV9sZW5ndGhcIiwgcGdfdG90YWxfcmVsYXRpb25fc2l6ZShvaWQpIC0gcGdfcmVsYXRpb25fc2l6ZShvaWQpIEFTIFwiSW5kZXhfbGVuZ3RoXCIsIG9ial9kZXNjcmlwdGlvbihvaWQsICdwZ19jbGFzcycpIEFTIFwiQ29tbWVudFwiLCByZWxoYXNvaWRzIEFTIFwiT2lkXCIKRlJPTSBwZ19jbGFzcwpXSEVSRSByZWxraW5kIElOICgncicsJ3YnKQpBTkQgcmVsbmFtZXNwYWNlID0gKFNFTEVDVCBvaWQgRlJPTSBwZ19uYW1lc3BhY2UgV0hFUkUgbnNwbmFtZSA9IGN1cnJlbnRfc2NoZW1hKCkpIi4oJGYhPSIiPyIgQU5EIHJlbG5hbWUgPSAiLnEoJGYpOiIiKSlhcyRhKXskY1skYVsiTmFtZSJdXT0kYTt9cmV0dXJuKCRmIT0iIj8kY1skZl06JGMpO31mdW5jdGlvbgppc192aWV3KCREKXtyZXR1cm4kRFsiRW5naW5lIl09PSJ2aWV3Ijt9ZnVuY3Rpb24KZmtfc3VwcG9ydCgkRCl7cmV0dXJuCnRydWU7fWZ1bmN0aW9uCmZpZWxkcygkaCl7JGM9YXJyYXkoKTtmb3JlYWNoKGdldF9yb3dzKCJTRUxFQ1QgYS5hdHRuYW1lIEFTIGZpZWxkLCBmb3JtYXRfdHlwZShhLmF0dHR5cGlkLCBhLmF0dHR5cG1vZCkgQVMgZnVsbF90eXBlLCBkLmFkc3JjIEFTIGRlZmF1bHQsIGEuYXR0bm90bnVsbCwgY29sX2Rlc2NyaXB0aW9uKGMub2lkLCBhLmF0dG51bSkgQVMgY29tbWVudApGUk9NIHBnX2NsYXNzIGMKSk9JTiBwZ19uYW1lc3BhY2UgbiBPTiBjLnJlbG5hbWVzcGFjZSA9IG4ub2lkCkpPSU4gcGdfYXR0cmlidXRlIGEgT04gYy5vaWQgPSBhLmF0dHJlbGlkCkxFRlQgSk9JTiBwZ19hdHRyZGVmIGQgT04gYy5vaWQgPSBkLmFkcmVsaWQgQU5EIGEuYXR0bnVtID0gZC5hZG51bQpXSEVSRSBjLnJlbG5hbWUgPSAiLnEoJGgpLiIKQU5EIG4ubnNwbmFtZSA9IGN1cnJlbnRfc2NoZW1hKCkKQU5EIE5PVCBhLmF0dGlzZHJvcHBlZApBTkQgYS5hdHRudW0gPiAwCk9SREVSIEJZIGEuYXR0bnVtIilhcyRhKXtlcmVnKCcoLiopKFxcKCguKilcXCkpPycsJGFbImZ1bGxfdHlwZSJdLCRrKTtsaXN0KCwkYVsidHlwZSJdLCwkYVsibGVuZ3RoIl0pPSRrOyRhWyJmdWxsX3R5cGUiXT0kYVsidHlwZSJdLigkYVsibGVuZ3RoIl0/IigkYVtsZW5ndGhdKSI6IiIpOyRhWyJudWxsIl09KCRhWyJhdHRub3RudWxsIl09PSJmIik7JGFbImF1dG9faW5jcmVtZW50Il09ZXJlZ2koIl5uZXh0dmFsXFwoIiwkYVsiZGVmYXVsdCJdKTskYVsicHJpdmlsZWdlcyJdPWFycmF5KCJpbnNlcnQiPT4xLCJzZWxlY3QiPT4xLCJ1cGRhdGUiPT4xKTskY1skYVsiZmllbGQiXV09JGE7fXJldHVybiRjO31mdW5jdGlvbgppbmRleGVzKCRoLCRHPW51bGwpe2dsb2JhbCRnO2lmKCFpc19vYmplY3QoJEcpKXskRz0kZzt9JGM9YXJyYXkoKTskYWY9JEctPnJlc3VsdCgiU0VMRUNUIG9pZCBGUk9NIHBnX2NsYXNzIFdIRVJFIHJlbG5hbWUgPSAiLnEoJGgpKTskQj1nZXRfa2V5X3ZhbHMoIlNFTEVDVCBhdHRudW0sIGF0dG5hbWUgRlJPTSBwZ19hdHRyaWJ1dGUgV0hFUkUgYXR0cmVsaWQgPSAkYWYgQU5EIGF0dG51bSA+IDAiLCRHKTtmb3JlYWNoKGdldF9yb3dzKCJTRUxFQ1QgcmVsbmFtZSwgaW5kaXN1bmlxdWUsIGluZGlzcHJpbWFyeSwgaW5ka2V5IEZST00gcGdfaW5kZXggaSwgcGdfY2xhc3MgY2kgV0hFUkUgaS5pbmRyZWxpZCA9ICRhZiBBTkQgY2kub2lkID0gaS5pbmRleHJlbGlkIiwkRylhcyRhKXskY1skYVsicmVsbmFtZSJdXVsidHlwZSJdPSgkYVsiaW5kaXNwcmltYXJ5Il09PSJ0Ij8iUFJJTUFSWSI6KCRhWyJpbmRpc3VuaXF1ZSJdPT0idCI/IlVOSVFVRSI6IklOREVYIikpOyRjWyRhWyJyZWxuYW1lIl1dWyJjb2x1bW5zIl09YXJyYXkoKTtmb3JlYWNoKGV4cGxvZGUoIiAiLCRhWyJpbmRrZXkiXSlhcyR5Zil7JGNbJGFbInJlbG5hbWUiXV1bImNvbHVtbnMiXVtdPSRCWyR5Zl07fSRjWyRhWyJyZWxuYW1lIl1dWyJsZW5ndGhzIl09YXJyYXkoKTt9cmV0dXJuJGM7fWZ1bmN0aW9uCmZvcmVpZ25fa2V5cygkaCl7JGM9YXJyYXkoKTtmb3JlYWNoKGdldF9yb3dzKCJTRUxFQ1QgdGMuY29uc3RyYWludF9uYW1lLCBrY3UuY29sdW1uX25hbWUsIHJjLnVwZGF0ZV9ydWxlIEFTIG9uX3VwZGF0ZSwgcmMuZGVsZXRlX3J1bGUgQVMgb25fZGVsZXRlLCBjY3UudGFibGVfbmFtZSBBUyB0YWJsZSwgY2N1LmNvbHVtbl9uYW1lIEFTIHJlZgpGUk9NIGluZm9ybWF0aW9uX3NjaGVtYS50YWJsZV9jb25zdHJhaW50cyB0YwpMRUZUIEpPSU4gaW5mb3JtYXRpb25fc2NoZW1hLmtleV9jb2x1bW5fdXNhZ2Uga2N1IFVTSU5HIChjb25zdHJhaW50X2NhdGFsb2csIGNvbnN0cmFpbnRfc2NoZW1hLCBjb25zdHJhaW50X25hbWUpCkxFRlQgSk9JTiBpbmZvcm1hdGlvbl9zY2hlbWEucmVmZXJlbnRpYWxfY29uc3RyYWludHMgcmMgVVNJTkcgKGNvbnN0cmFpbnRfY2F0YWxvZywgY29uc3RyYWludF9zY2hlbWEsIGNvbnN0cmFpbnRfbmFtZSkKTEVGVCBKT0lOIGluZm9ybWF0aW9uX3NjaGVtYS5jb25zdHJhaW50X2NvbHVtbl91c2FnZSBjY3UgT04gcmMudW5pcXVlX2NvbnN0cmFpbnRfY2F0YWxvZyA9IGNjdS5jb25zdHJhaW50X2NhdGFsb2cgQU5EIHJjLnVuaXF1ZV9jb25zdHJhaW50X3NjaGVtYSA9IGNjdS5jb25zdHJhaW50X3NjaGVtYSBBTkQgcmMudW5pcXVlX2NvbnN0cmFpbnRfbmFtZSA9IGNjdS5jb25zdHJhaW50X25hbWUKV0hFUkUgdGMuY29uc3RyYWludF90eXBlID0gJ0ZPUkVJR04gS0VZJyBBTkQgdGMudGFibGVfbmFtZSA9ICIucSgkaCkpYXMkYSl7JEE9JiRjWyRhWyJjb25zdHJhaW50X25hbWUiXV07aWYoISRBKXskQT0kYTt9JEFbInNvdXJjZSJdW109JGFbImNvbHVtbl9uYW1lIl07JEFbInRhcmdldCJdW109JGFbInJlZiJdO31yZXR1cm4kYzt9ZnVuY3Rpb24KdmlldygkZil7Z2xvYmFsJGc7cmV0dXJuCmFycmF5KCJzZWxlY3QiPT4kZy0+cmVzdWx0KCJTRUxFQ1QgcGdfZ2V0X3ZpZXdkZWYoIi5xKCRmKS4iKSIpKTt9ZnVuY3Rpb24KY29sbGF0aW9ucygpe3JldHVybgphcnJheSgpO31mdW5jdGlvbgppbmZvcm1hdGlvbl9zY2hlbWEoJHQpe3JldHVybigkdD09ImluZm9ybWF0aW9uX3NjaGVtYSIpO31mdW5jdGlvbgplcnJvcigpe2dsb2JhbCRnOyRjPWgoJGctPmVycm9yKTtpZihwcmVnX21hdGNoKCd+XiguKlxcbik/KFteXFxuXSopXFxuKCAqKVxcXihcXG4uKik/JH5zJywkYywkaykpeyRjPSRrWzFdLnByZWdfcmVwbGFjZSgnfigoPzpbXiZdfCZbXjtdKjspeycuc3RybGVuKCRrWzNdKS4nfSkoLiopficsJ1xcMTxiPlxcMjwvYj4nLCRrWzJdKS4ka1s0XTt9cmV0dXJuCm5sX2JyKCRjKTt9ZnVuY3Rpb24KZXhhY3RfdmFsdWUoJGIpe3JldHVybgpxKCRiKTt9ZnVuY3Rpb24KY3JlYXRlX2RhdGFiYXNlKCR0LCRVKXtyZXR1cm4KcXVlcmllcygiQ1JFQVRFIERBVEFCQVNFICIuaWRmX2VzY2FwZSgkdCkuKCRVPyIgRU5DT0RJTkcgIi5pZGZfZXNjYXBlKCRVKToiIikpO31mdW5jdGlvbgpkcm9wX2RhdGFiYXNlcygkXyl7Z2xvYmFsJGc7JGctPmNsb3NlKCk7cmV0dXJuCmFwcGx5X3F1ZXJpZXMoIkRST1AgREFUQUJBU0UiLCRfLCdpZGZfZXNjYXBlJyk7fWZ1bmN0aW9uCnJlbmFtZV9kYXRhYmFzZSgkZiwkVSl7cmV0dXJuCnF1ZXJpZXMoIkFMVEVSIERBVEFCQVNFICIuaWRmX2VzY2FwZShEQikuIiBSRU5BTUUgVE8gIi5pZGZfZXNjYXBlKCRmKSk7fWZ1bmN0aW9uCmF1dG9faW5jcmVtZW50KCl7cmV0dXJuIiI7fWZ1bmN0aW9uCmFsdGVyX3RhYmxlKCRoLCRmLCRwLCRPYSwkX2EsJHliLCRVLCRTYSwkdmIpeyR1PWFycmF5KCk7JGpiPWFycmF5KCk7Zm9yZWFjaCgkcAphcyRlKXskQz1pZGZfZXNjYXBlKCRlWzBdKTskYj0kZVsxXTtpZighJGIpeyR1W109IkRST1AgJEMiO31lbHNleyRvZD0kYls1XTt1bnNldCgkYls1XSk7aWYoaXNzZXQoJGJbNl0pJiYkZVswXT09IiIpeyRiWzFdPSgkYlsxXT09ImJpZ2ludCI/IiBiaWciOiIgIikuInNlcmlhbCI7fWlmKCRlWzBdPT0iIil7JHVbXT0oJGghPSIiPyJBREQgIjoiICAiKS5pbXBsb2RlKCRiKTt9ZWxzZXtpZigkQyE9JGJbMF0peyRqYltdPSJBTFRFUiBUQUJMRSAiLnRhYmxlKCRoKS4iIFJFTkFNRSAkQyBUTyAkYlswXSI7fSR1W109IkFMVEVSICRDIFRZUEUkYlsxXSI7aWYoISRiWzZdKXskdVtdPSJBTFRFUiAkQyAiLigkYlszXT8iU0VUJGJbM10iOiJEUk9QIERFRkFVTFQiKTskdVtdPSJBTFRFUiAkQyAiLigkYlsyXT09IiBOVUxMIj8iRFJPUCBOT1QiOiJTRVQiKS4kYlsyXTt9fWlmKCRlWzBdIT0iInx8JG9kIT0iIil7JGpiW109IkNPTU1FTlQgT04gQ09MVU1OICIudGFibGUoJGgpLiIuJGJbMF0gSVMgIi4oJG9kIT0iIj9zdWJzdHIoJG9kLDkpOiInJyIpO319fSR1PWFycmF5X21lcmdlKCR1LCRPYSk7aWYoJGg9PSIiKXthcnJheV91bnNoaWZ0KCRqYiwiQ1JFQVRFIFRBQkxFICIudGFibGUoJGYpLiIgKFxuIi5pbXBsb2RlKCIsXG4iLCR1KS4iXG4pIik7fWVsc2VpZigkdSl7YXJyYXlfdW5zaGlmdCgkamIsIkFMVEVSIFRBQkxFICIudGFibGUoJGgpLiJcbiIuaW1wbG9kZSgiLFxuIiwkdSkpO31pZigkaCE9IiImJiRoIT0kZil7JGpiW109IkFMVEVSIFRBQkxFICIudGFibGUoJGgpLiIgUkVOQU1FIFRPICIudGFibGUoJGYpO31pZigkaCE9IiJ8fCRfYSE9IiIpeyRqYltdPSJDT01NRU5UIE9OIFRBQkxFICIudGFibGUoJGYpLiIgSVMgIi5xKCRfYSk7fWlmKCRTYSE9IiIpe31mb3JlYWNoKCRqYgphcyRqKXtpZighcXVlcmllcygkaikpe3JldHVybgpmYWxzZTt9fXJldHVybgp0cnVlO31mdW5jdGlvbgphbHRlcl9pbmRleGVzKCRoLCR1KXskbGE9YXJyYXkoKTskSGE9YXJyYXkoKTtmb3JlYWNoKCR1CmFzJGIpe2lmKCRiWzBdIT0iSU5ERVgiKXskbGFbXT0oJGJbMl0/IlxuRFJPUCBDT05TVFJBSU5UICI6IlxuQUREICRiWzBdICIuKCRiWzBdPT0iUFJJTUFSWSI/IktFWSAiOiIiKSkuJGJbMV07fWVsc2VpZigkYlsyXSl7JEhhW109JGJbMV07fWVsc2VpZighcXVlcmllcygiQ1JFQVRFIElOREVYICIuaWRmX2VzY2FwZSh1bmlxaWQoJGguIl8iKSkuIiBPTiAiLnRhYmxlKCRoKS4iICRiWzFdIikpe3JldHVybgpmYWxzZTt9fXJldHVybigoISRsYXx8cXVlcmllcygiQUxURVIgVEFCTEUgIi50YWJsZSgkaCkuaW1wbG9kZSgiLCIsJGxhKSkpJiYoISRIYXx8cXVlcmllcygiRFJPUCBJTkRFWCAiLmltcGxvZGUoIiwgIiwkSGEpKSkpO31mdW5jdGlvbgp0cnVuY2F0ZV90YWJsZXMoJEUpe3JldHVybgpxdWVyaWVzKCJUUlVOQ0FURSAiLmltcGxvZGUoIiwgIixhcnJheV9tYXAoJ3RhYmxlJywkRSkpKTtyZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24KZHJvcF92aWV3cygkWCl7cmV0dXJuCnF1ZXJpZXMoIkRST1AgVklFVyAiLmltcGxvZGUoIiwgIixhcnJheV9tYXAoJ3RhYmxlJywkWCkpKTt9ZnVuY3Rpb24KZHJvcF90YWJsZXMoJEUpe3JldHVybgpxdWVyaWVzKCJEUk9QIFRBQkxFICIuaW1wbG9kZSgiLCAiLGFycmF5X21hcCgndGFibGUnLCRFKSkpO31mdW5jdGlvbgptb3ZlX3RhYmxlcygkRSwkWCwkZWEpe2ZvcmVhY2goJEUKYXMkaCl7aWYoIXF1ZXJpZXMoIkFMVEVSIFRBQkxFICIudGFibGUoJGgpLiIgU0VUIFNDSEVNQSAiLmlkZl9lc2NhcGUoJGVhKSkpe3JldHVybgpmYWxzZTt9fWZvcmVhY2goJFgKYXMkaCl7aWYoIXF1ZXJpZXMoIkFMVEVSIFZJRVcgIi50YWJsZSgkaCkuIiBTRVQgU0NIRU1BICIuaWRmX2VzY2FwZSgkZWEpKSl7cmV0dXJuCmZhbHNlO319cmV0dXJuCnRydWU7fWZ1bmN0aW9uCnRyaWdnZXIoJGYpeyRIPWdldF9yb3dzKCdTRUxFQ1QgdHJpZ2dlcl9uYW1lIEFTICJUcmlnZ2VyIiwgY29uZGl0aW9uX3RpbWluZyBBUyAiVGltaW5nIiwgZXZlbnRfbWFuaXB1bGF0aW9uIEFTICJFdmVudCIsIFwnRk9SIEVBQ0ggXCcgfHwgYWN0aW9uX29yaWVudGF0aW9uIEFTICJUeXBlIiwgYWN0aW9uX3N0YXRlbWVudCBBUyAiU3RhdGVtZW50IiBGUk9NIGluZm9ybWF0aW9uX3NjaGVtYS50cmlnZ2VycyBXSEVSRSBldmVudF9vYmplY3RfdGFibGUgPSAnLnEoJF9HRVRbInRyaWdnZXIiXSkuJyBBTkQgdHJpZ2dlcl9uYW1lID0gJy5xKCRmKSk7cmV0dXJuCnJlc2V0KCRIKTt9ZnVuY3Rpb24KdHJpZ2dlcnMoJGgpeyRjPWFycmF5KCk7Zm9yZWFjaChnZXRfcm93cygiU0VMRUNUICogRlJPTSBpbmZvcm1hdGlvbl9zY2hlbWEudHJpZ2dlcnMgV0hFUkUgZXZlbnRfb2JqZWN0X3RhYmxlID0gIi5xKCRoKSlhcyRhKXskY1skYVsidHJpZ2dlcl9uYW1lIl1dPWFycmF5KCRhWyJjb25kaXRpb25fdGltaW5nIl0sJGFbImV2ZW50X21hbmlwdWxhdGlvbiJdKTt9cmV0dXJuJGM7fWZ1bmN0aW9uCnRyaWdnZXJfb3B0aW9ucygpe3JldHVybgphcnJheSgiVGltaW5nIj0+YXJyYXkoIkJFRk9SRSIsIkFGVEVSIiksIlR5cGUiPT5hcnJheSgiRk9SIEVBQ0ggUk9XIiwiRk9SIEVBQ0ggU1RBVEVNRU5UIiksKTt9ZnVuY3Rpb24KYmVnaW4oKXtyZXR1cm4KcXVlcmllcygiQkVHSU4iKTt9ZnVuY3Rpb24KaW5zZXJ0X2ludG8oJGgsJHIpe3JldHVybgpxdWVyaWVzKCJJTlNFUlQgSU5UTyAiLnRhYmxlKCRoKS4oJHI/IiAoIi5pbXBsb2RlKCIsICIsYXJyYXlfa2V5cygkcikpLiIpXG5WQUxVRVMgKCIuaW1wbG9kZSgiLCAiLCRyKS4iKSI6IkRFRkFVTFQgVkFMVUVTIikpO31mdW5jdGlvbgppbnNlcnRfdXBkYXRlKCRoLCRyLCRRYSl7Z2xvYmFsJGc7JHFhPWFycmF5KCk7JHM9YXJyYXkoKTtmb3JlYWNoKCRyCmFzJGQ9PiRiKXskcWFbXT0iJGQgPSAkYiI7aWYoaXNzZXQoJFFhW2lkZl91bmVzY2FwZSgkZCldKSl7JHNbXT0iJGQgPSAkYiI7fX1yZXR1cm4oJHMmJnF1ZXJpZXMoIlVQREFURSAiLnRhYmxlKCRoKS4iIFNFVCAiLmltcGxvZGUoIiwgIiwkcWEpLiIgV0hFUkUgIi5pbXBsb2RlKCIgQU5EICIsJHMpKSYmJGctPmFmZmVjdGVkX3Jvd3MpfHxxdWVyaWVzKCJJTlNFUlQgSU5UTyAiLnRhYmxlKCRoKS4iICgiLmltcGxvZGUoIiwgIixhcnJheV9rZXlzKCRyKSkuIikgVkFMVUVTICgiLmltcGxvZGUoIiwgIiwkcikuIikiKTt9ZnVuY3Rpb24KbGFzdF9pZCgpe3JldHVybgowO31mdW5jdGlvbgpleHBsYWluKCRnLCRqKXtyZXR1cm4kZy0+cXVlcnkoIkVYUExBSU4gJGoiKTt9ZnVuY3Rpb24KdHlwZXMoKXtyZXR1cm4KZ2V0X3ZhbHMoIlNFTEVDVCB0eXBuYW1lCkZST00gcGdfdHlwZQpXSEVSRSB0eXBuYW1lc3BhY2UgPSAoU0VMRUNUIG9pZCBGUk9NIHBnX25hbWVzcGFjZSBXSEVSRSBuc3BuYW1lID0gY3VycmVudF9zY2hlbWEoKSkKQU5EIHR5cHR5cGUgSU4gKCdiJywnZCcsJ2UnKQpBTkQgdHlwZWxlbSA9IDAiKTt9ZnVuY3Rpb24Kc2NoZW1hcygpe3JldHVybgpnZXRfdmFscygiU0VMRUNUIG5zcG5hbWUgRlJPTSBwZ19uYW1lc3BhY2UiKTt9ZnVuY3Rpb24KZ2V0X3NjaGVtYSgpe2dsb2JhbCRnO3JldHVybiRnLT5yZXN1bHQoIlNFTEVDVCBjdXJyZW50X3NjaGVtYSgpIik7fWZ1bmN0aW9uCnNldF9zY2hlbWEoJEthKXtnbG9iYWwkZywkUiwkTGE7JGM9JGctPnF1ZXJ5KCJTRVQgc2VhcmNoX3BhdGggVE8gIi5pZGZfZXNjYXBlKCRLYSkpO2ZvcmVhY2godHlwZXMoKWFzJHope2lmKCFpc3NldCgkUlskel0pKXskUlskel09MDskTGFbbGFuZygxMSldW109JHo7fX1yZXR1cm4kYzt9ZnVuY3Rpb24KdXNlX3NxbCgkaWEpe3JldHVybiJcY29ubmVjdCAiLmlkZl9lc2NhcGUoJGlhKTt9ZnVuY3Rpb24Kc2hvd192YXJpYWJsZXMoKXtyZXR1cm4KZ2V0X2tleV92YWxzKCJTSE9XIEFMTCIpO31mdW5jdGlvbgpzaG93X3N0YXR1cygpe31mdW5jdGlvbgpzdXBwb3J0KCRyYil7cmV0dXJuCmVyZWcoJ14oY29tbWVudHx2aWV3fHNjaGVtZXxzZXF1ZW5jZXx0cmlnZ2VyfHR5cGV8dmFyaWFibGVzfGRyb3BfY29sKSQnLCRyYik7fSR2PSJwZ3NxbCI7JFI9YXJyYXkoKTskTGE9YXJyYXkoKTtmb3JlYWNoKGFycmF5KGxhbmcoMTIpPT5hcnJheSgic21hbGxpbnQiPT41LCJpbnRlZ2VyIj0+MTAsImJpZ2ludCI9PjE5LCJib29sZWFuIj0+MSwibnVtZXJpYyI9PjAsInJlYWwiPT43LCJkb3VibGUgcHJlY2lzaW9uIj0+MTYsIm1vbmV5Ij0+MjApLGxhbmcoMTMpPT5hcnJheSgiZGF0ZSI9PjEzLCJ0aW1lIj0+MTcsInRpbWVzdGFtcCI9PjIwLCJpbnRlcnZhbCI9PjApLGxhbmcoMTQpPT5hcnJheSgiY2hhcmFjdGVyIj0+MCwiY2hhcmFjdGVyIHZhcnlpbmciPT4wLCJ0ZXh0Ij0+MCwidHNxdWVyeSI9PjAsInRzdmVjdG9yIj0+MCwidXVpZCI9PjAsInhtbCI9PjApLGxhbmcoMTUpPT5hcnJheSgiYml0Ij0+MCwiYml0IHZhcnlpbmciPT4wLCJieXRlYSI9PjApLGxhbmcoMTYpPT5hcnJheSgiY2lkciI9PjQzLCJpbmV0Ij0+NDMsIm1hY2FkZHIiPT4xNywidHhpZF9zbmFwc2hvdCI9PjApLGxhbmcoMTcpPT5hcnJheSgiYm94Ij0+MCwiY2lyY2xlIj0+MCwibGluZSI9PjAsImxzZWciPT4wLCJwYXRoIj0+MCwicG9pbnQiPT4wLCJwb2x5Z29uIj0+MCksKWFzJGQ9PiRiKXskUis9JGI7JExhWyRkXT1hcnJheV9rZXlzKCRiKTt9JG9iPWFycmF5KCk7JGdjPWFycmF5KCI9IiwiPCIsIj4iLCI8PSIsIj49IiwiIT0iLCJ+IiwiIX4iLCJMSUtFIiwiTElLRSAlJSIsIklOIiwiSVMgTlVMTCIsIk5PVCBMSUtFIiwiTk9UIElOIiwiSVMgTk9UIE5VTEwiLCIiKTskZGE9YXJyYXkoImNoYXJfbGVuZ3RoIiwibG93ZXIiLCJyb3VuZCIsInRvX2hleCIsInRvX3RpbWVzdGFtcCIsInVwcGVyIik7JGxiPWFycmF5KCJhdmciLCJjb3VudCIsImNvdW50IGRpc3RpbmN0IiwibWF4IiwibWluIiwic3VtIik7JE5iPWFycmF5KGFycmF5KCJjaGFyIj0+Im1kNSIsImRhdGV8dGltZSI9PiJub3ciLCksYXJyYXkoImludHxudW1lcmljfHJlYWx8bW9uZXkiPT4iKy8tIiwiZGF0ZXx0aW1lIj0+IisgaW50ZXJ2YWwvLSBpbnRlcnZhbCIsImNoYXJ8dGV4dCI9PiJ8fCIsKSk7fSRuYVsib3JhY2xlIl09Ik9yYWNsZSI7aWYoaXNzZXQoJF9HRVRbIm9yYWNsZSJdKSl7JG9jPWFycmF5KCJPQ0k4IiwiUERPX09DSSIpO2RlZmluZSgiRFJJVkVSIiwib3JhY2xlIik7aWYoZXh0ZW5zaW9uX2xvYWRlZCgib2NpOCIpKXtjbGFzcwpNaW5fREJ7dmFyJGV4dGVuc2lvbj0ib2NpOCIsJF9saW5rLCRfcmVzdWx0LCRzZXJ2ZXJfaW5mbywkYWZmZWN0ZWRfcm93cywkZXJyb3I7ZnVuY3Rpb24KX2Vycm9yKCRtZiwkbil7aWYoaW5pX2Jvb2woImh0bWxfZXJyb3JzIikpeyRuPWh0bWxfZW50aXR5X2RlY29kZShzdHJpcF90YWdzKCRuKSk7fSRuPWVyZWdfcmVwbGFjZSgnXlteOl0qOiAnLCcnLCRuKTskdGhpcy0+ZXJyb3I9JG47fWZ1bmN0aW9uCmNvbm5lY3QoJEYsJFAsJFQpeyR0aGlzLT5fbGluaz1Ab2NpX25ld19jb25uZWN0KCRQLCRULCRGLCJBTDMyVVRGOCIpO2lmKCR0aGlzLT5fbGluayl7JHRoaXMtPnNlcnZlcl9pbmZvPW9jaV9zZXJ2ZXJfdmVyc2lvbigkdGhpcy0+X2xpbmspO3JldHVybgp0cnVlO30kbj1vY2lfZXJyb3IoKTskdGhpcy0+ZXJyb3I9JG5bIm1lc3NhZ2UiXTtyZXR1cm4KZmFsc2U7fWZ1bmN0aW9uCnF1b3RlKCRJKXtyZXR1cm4iJyIuc3RyX3JlcGxhY2UoIiciLCInJyIsJEkpLiInIjt9ZnVuY3Rpb24Kc2VsZWN0X2RiKCRpYSl7cmV0dXJuCnRydWU7fWZ1bmN0aW9uCnF1ZXJ5KCRqLCRkYj1mYWxzZSl7JGk9b2NpX3BhcnNlKCR0aGlzLT5fbGluaywkaik7aWYoISRpKXskbj1vY2lfZXJyb3IoJHRoaXMtPl9saW5rKTskdGhpcy0+ZXJyb3I9JG5bIm1lc3NhZ2UiXTtyZXR1cm4KZmFsc2U7fXNldF9lcnJvcl9oYW5kbGVyKGFycmF5KCR0aGlzLCdfZXJyb3InKSk7JGM9QG9jaV9leGVjdXRlKCRpKTtyZXN0b3JlX2Vycm9yX2hhbmRsZXIoKTtpZigkYyl7aWYob2NpX251bV9maWVsZHMoJGkpKXtyZXR1cm4KbmV3Ck1pbl9SZXN1bHQoJGkpO30kdGhpcy0+YWZmZWN0ZWRfcm93cz1vY2lfbnVtX3Jvd3MoJGkpO31yZXR1cm4kYzt9ZnVuY3Rpb24KbXVsdGlfcXVlcnkoJGope3JldHVybiR0aGlzLT5fcmVzdWx0PSR0aGlzLT5xdWVyeSgkaik7fWZ1bmN0aW9uCnN0b3JlX3Jlc3VsdCgpe3JldHVybiR0aGlzLT5fcmVzdWx0O31mdW5jdGlvbgpuZXh0X3Jlc3VsdCgpe3JldHVybgpmYWxzZTt9ZnVuY3Rpb24KcmVzdWx0KCRqLCRlPTEpeyRpPSR0aGlzLT5xdWVyeSgkaik7aWYoIWlzX29iamVjdCgkaSl8fCFvY2lfZmV0Y2goJGktPl9yZXN1bHQpKXtyZXR1cm4KZmFsc2U7fXJldHVybgpvY2lfcmVzdWx0KCRpLT5fcmVzdWx0LCRlKTt9fWNsYXNzCk1pbl9SZXN1bHR7dmFyJF9yZXN1bHQsJF9vZmZzZXQ9MSwkbnVtX3Jvd3M7ZnVuY3Rpb24KTWluX1Jlc3VsdCgkaSl7JHRoaXMtPl9yZXN1bHQ9JGk7fWZ1bmN0aW9uCl9jb252ZXJ0KCRhKXtmb3JlYWNoKChhcnJheSkkYQphcyRkPT4kYil7aWYoaXNfYSgkYiwnT0NJLUxvYicpKXskYVskZF09JGItPmxvYWQoKTt9fXJldHVybiRhO31mdW5jdGlvbgpmZXRjaF9hc3NvYygpe3JldHVybiR0aGlzLT5fY29udmVydChvY2lfZmV0Y2hfYXNzb2MoJHRoaXMtPl9yZXN1bHQpKTt9ZnVuY3Rpb24KZmV0Y2hfcm93KCl7cmV0dXJuJHRoaXMtPl9jb252ZXJ0KG9jaV9mZXRjaF9yb3coJHRoaXMtPl9yZXN1bHQpKTt9ZnVuY3Rpb24KZmV0Y2hfZmllbGQoKXskQz0kdGhpcy0+X29mZnNldCsrOyRjPW5ldwpzdGRDbGFzczskYy0+bmFtZT1vY2lfZmllbGRfbmFtZSgkdGhpcy0+X3Jlc3VsdCwkQyk7JGMtPm9yZ25hbWU9JGMtPm5hbWU7JGMtPnR5cGU9b2NpX2ZpZWxkX3R5cGUoJHRoaXMtPl9yZXN1bHQsJEMpOyRjLT5jaGFyc2V0bnI9KGVyZWcoInJhd3xibG9ifGJmaWxlIiwkYy0+dHlwZSk/NjM6MCk7cmV0dXJuJGM7fWZ1bmN0aW9uCl9fZGVzdHJ1Y3QoKXtvY2lfZnJlZV9zdGF0ZW1lbnQoJHRoaXMtPl9yZXN1bHQpO319fWVsc2VpZihleHRlbnNpb25fbG9hZGVkKCJwZG9fb2NpIikpe2NsYXNzCk1pbl9EQgpleHRlbmRzCk1pbl9QRE97dmFyJGV4dGVuc2lvbj0iUERPX09DSSI7ZnVuY3Rpb24KY29ubmVjdCgkRiwkUCwkVCl7JHRoaXMtPmRzbigib2NpOmRibmFtZT0vLyRGO2NoYXJzZXQ9QUwzMlVURjgiLCRQLCRUKTtyZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24Kc2VsZWN0X2RiKCRpYSl7cmV0dXJuCnRydWU7fX19ZnVuY3Rpb24KaWRmX2VzY2FwZSgkTil7cmV0dXJuJyInLnN0cl9yZXBsYWNlKCciJywnIiInLCROKS4nIic7fWZ1bmN0aW9uCnRhYmxlKCROKXtyZXR1cm4KaWRmX2VzY2FwZSgkTik7fWZ1bmN0aW9uCmNvbm5lY3QoKXtnbG9iYWwkbzskZz1uZXcKTWluX0RCOyR5YT0kby0+Y3JlZGVudGlhbHMoKTtpZigkZy0+Y29ubmVjdCgkeWFbMF0sJHlhWzFdLCR5YVsyXSkpe3JldHVybiRnO31yZXR1cm4kZy0+ZXJyb3I7fWZ1bmN0aW9uCmdldF9kYXRhYmFzZXMoKXtyZXR1cm4KZ2V0X3ZhbHMoIlNFTEVDVCB0YWJsZXNwYWNlX25hbWUgRlJPTSB1c2VyX3RhYmxlc3BhY2VzIik7fWZ1bmN0aW9uCmxpbWl0KCRqLCRzLCRPLCRMPTAsJFdhPSIgIil7cmV0dXJuIiAkaiRzIi4oaXNzZXQoJE8pPygkcz8iIEFORCI6JFdhLiJXSEVSRSIpLigkTD8iIHJvd251bSA+ICRMIEFORCI6IiIpLiIgcm93bnVtIDw9ICIuKCRPKyRMKToiIik7fWZ1bmN0aW9uCmxpbWl0MSgkaiwkcyl7cmV0dXJuIiAkaiRzIjt9ZnVuY3Rpb24KZGJfY29sbGF0aW9uKCR0LCRaKXtnbG9iYWwkZztyZXR1cm4kZy0+cmVzdWx0KCJTRUxFQ1QgdmFsdWUgRlJPTSBubHNfZGF0YWJhc2VfcGFyYW1ldGVycyBXSEVSRSBwYXJhbWV0ZXIgPSAnTkxTX0NIQVJBQ1RFUlNFVCciKTt9ZnVuY3Rpb24KZW5naW5lcygpe3JldHVybgphcnJheSgpO31mdW5jdGlvbgpsb2dnZWRfdXNlcigpe2dsb2JhbCRnO3JldHVybiRnLT5yZXN1bHQoIlNFTEVDVCBVU0VSIEZST00gRFVBTCIpO31mdW5jdGlvbgp0YWJsZXNfbGlzdCgpe3JldHVybgpnZXRfa2V5X3ZhbHMoIlNFTEVDVCB0YWJsZV9uYW1lLCAndGFibGUnIEZST00gYWxsX3RhYmxlcyBXSEVSRSB0YWJsZXNwYWNlX25hbWUgPSAiLnEoREIpLiIKVU5JT04gU0VMRUNUIHZpZXdfbmFtZSwgJ3ZpZXcnIEZST00gdXNlcl92aWV3cyIpO31mdW5jdGlvbgpjb3VudF90YWJsZXMoJF8pe3JldHVybgphcnJheSgpO31mdW5jdGlvbgp0YWJsZV9zdGF0dXMoJGY9IiIpeyRjPWFycmF5KCk7JFZlPXEoJGYpO2ZvcmVhY2goZ2V0X3Jvd3MoJ1NFTEVDVCB0YWJsZV9uYW1lICJOYW1lIiwgXCd0YWJsZVwnICJFbmdpbmUiIEZST00gYWxsX3RhYmxlcyBXSEVSRSB0YWJsZXNwYWNlX25hbWUgPSAnLnEoREIpLigkZiE9IiI/IiBBTkQgdGFibGVfbmFtZSA9ICRWZSI6IiIpLiIKVU5JT04gU0VMRUNUIHZpZXdfbmFtZSwgJ3ZpZXcnIEZST00gdXNlcl92aWV3cyIuKCRmIT0iIj8iIFdIRVJFIHZpZXdfbmFtZSA9ICRWZSI6IiIpKWFzJGEpe2lmKCRmIT0iIil7cmV0dXJuJGE7fSRjWyRhWyJOYW1lIl1dPSRhO31yZXR1cm4kYzt9ZnVuY3Rpb24KaXNfdmlldygkRCl7cmV0dXJuJERbIkVuZ2luZSJdPT0idmlldyI7fWZ1bmN0aW9uCmZrX3N1cHBvcnQoJEQpe3JldHVybgp0cnVlO31mdW5jdGlvbgpmaWVsZHMoJGgpeyRjPWFycmF5KCk7Zm9yZWFjaChnZXRfcm93cygiU0VMRUNUICogRlJPTSBhbGxfdGFiX2NvbHVtbnMgV0hFUkUgdGFibGVfbmFtZSA9ICIucSgkaCkuIiBPUkRFUiBCWSBjb2x1bW5faWQiKWFzJGEpeyR6PSRhWyJEQVRBX1RZUEUiXTskVz0iJGFbREFUQV9QUkVDSVNJT05dLCRhW0RBVEFfU0NBTEVdIjtpZigkVz09IiwiKXskVz0kYVsiREFUQV9MRU5HVEgiXTt9JGNbJGFbIkNPTFVNTl9OQU1FIl1dPWFycmF5KCJmaWVsZCI9PiRhWyJDT0xVTU5fTkFNRSJdLCJmdWxsX3R5cGUiPT4kei4oJFc/IigkVykiOiIiKSwidHlwZSI9PnN0cnRvbG93ZXIoJHopLCJsZW5ndGgiPT4kVywiZGVmYXVsdCI9PiRhWyJEQVRBX0RFRkFVTFQiXSwibnVsbCI9PigkYVsiTlVMTEFCTEUiXT09IlkiKSwicHJpdmlsZWdlcyI9PmFycmF5KCJpbnNlcnQiPT4xLCJzZWxlY3QiPT4xLCJ1cGRhdGUiPT4xKSwpO31yZXR1cm4kYzt9ZnVuY3Rpb24KaW5kZXhlcygkaCwkRz1udWxsKXtyZXR1cm4KYXJyYXkoKTt9ZnVuY3Rpb24KdmlldygkZil7JEg9Z2V0X3Jvd3MoJ1NFTEVDVCB0ZXh0ICJzZWxlY3QiIEZST00gdXNlcl92aWV3cyBXSEVSRSB2aWV3X25hbWUgPSAnLnEoJGYpKTtyZXR1cm4KcmVzZXQoJEgpO31mdW5jdGlvbgpjb2xsYXRpb25zKCl7cmV0dXJuCmFycmF5KCk7fWZ1bmN0aW9uCmluZm9ybWF0aW9uX3NjaGVtYSgkdCl7cmV0dXJuCmZhbHNlO31mdW5jdGlvbgplcnJvcigpe2dsb2JhbCRnO3JldHVybgpoKCRnLT5lcnJvcik7fWZ1bmN0aW9uCmV4YWN0X3ZhbHVlKCRiKXtyZXR1cm4KcSgkYik7fWZ1bmN0aW9uCmV4cGxhaW4oJGcsJGopeyRnLT5xdWVyeSgiRVhQTEFJTiBQTEFOIEZPUiAkaiIpO3JldHVybiRnLT5xdWVyeSgiU0VMRUNUICogRlJPTSBwbGFuX3RhYmxlIik7fWZ1bmN0aW9uCmFsdGVyX3RhYmxlKCRoLCRmLCRwLCRPYSwkX2EsJHliLCRVLCRTYSwkdmIpeyR1PSRIYT1hcnJheSgpO2ZvcmVhY2goJHAKYXMkZSl7JGI9JGVbMV07aWYoJGImJiRlWzBdIT0iIiYmaWRmX2VzY2FwZSgkZVswXSkhPSRiWzBdKXtxdWVyaWVzKCJBTFRFUiBUQUJMRSAiLnRhYmxlKCRoKS4iIFJFTkFNRSBDT0xVTU4gIi5pZGZfZXNjYXBlKCRlWzBdKS4iIFRPICRiWzBdIik7fWlmKCRiKXskdVtdPSgkaCE9IiI/KCRlWzBdIT0iIj8iTU9ESUZZICgiOiJBREQgKCIpOiIgICIpLmltcGxvZGUoJGIpLigkaCE9IiI/IikiOiIiKTt9ZWxzZXskSGFbXT1pZGZfZXNjYXBlKCRlWzBdKTt9fWlmKCRoPT0iIil7cmV0dXJuCnF1ZXJpZXMoIkNSRUFURSBUQUJMRSAiLnRhYmxlKCRmKS4iIChcbiIuaW1wbG9kZSgiLFxuIiwkdSkuIlxuKSIpO31yZXR1cm4oISR1fHxxdWVyaWVzKCJBTFRFUiBUQUJMRSAiLnRhYmxlKCRoKS4iXG4iLmltcGxvZGUoIlxuIiwkdSkpKSYmKCEkSGF8fHF1ZXJpZXMoIkFMVEVSIFRBQkxFICIudGFibGUoJGgpLiIgRFJPUCAoIi5pbXBsb2RlKCIsICIsJEhhKS4iKSIpKSYmKCRoPT0kZnx8cXVlcmllcygiQUxURVIgVEFCTEUgIi50YWJsZSgkaCkuIiBSRU5BTUUgVE8gIi50YWJsZSgkZikpKTt9ZnVuY3Rpb24KZm9yZWlnbl9rZXlzKCRoKXtyZXR1cm4KYXJyYXkoKTt9ZnVuY3Rpb24KdHJ1bmNhdGVfdGFibGVzKCRFKXtyZXR1cm4KYXBwbHlfcXVlcmllcygiVFJVTkNBVEUgVEFCTEUiLCRFKTt9ZnVuY3Rpb24KZHJvcF92aWV3cygkWCl7cmV0dXJuCmFwcGx5X3F1ZXJpZXMoIkRST1AgVklFVyIsJFgpO31mdW5jdGlvbgpkcm9wX3RhYmxlcygkRSl7cmV0dXJuCmFwcGx5X3F1ZXJpZXMoIkRST1AgVEFCTEUiLCRFKTt9ZnVuY3Rpb24KYmVnaW4oKXtyZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24KaW5zZXJ0X2ludG8oJGgsJHIpe3JldHVybgpxdWVyaWVzKCJJTlNFUlQgSU5UTyAiLnRhYmxlKCRoKS4iICgiLmltcGxvZGUoIiwgIixhcnJheV9rZXlzKCRyKSkuIilcblZBTFVFUyAoIi5pbXBsb2RlKCIsICIsJHIpLiIpIik7fWZ1bmN0aW9uCmxhc3RfaWQoKXtyZXR1cm4KMDt9ZnVuY3Rpb24Kc2NoZW1hcygpe3JldHVybgphcnJheSgpO31mdW5jdGlvbgpnZXRfc2NoZW1hKCl7cmV0dXJuIiI7fWZ1bmN0aW9uCnNldF9zY2hlbWEoJEVkKXtyZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24Kc2hvd192YXJpYWJsZXMoKXtyZXR1cm4KZ2V0X2tleV92YWxzKCdTRUxFQ1QgbmFtZSwgZGlzcGxheV92YWx1ZSBGUk9NIHYkcGFyYW1ldGVyJyk7fWZ1bmN0aW9uCnNob3dfc3RhdHVzKCl7JEg9Z2V0X3Jvd3MoJ1NFTEVDVCAqIEZST00gdiRpbnN0YW5jZScpO3JldHVybgpyZXNldCgkSCk7fWZ1bmN0aW9uCnN1cHBvcnQoJHJiKXtyZXR1cm4KZXJlZygidmlld3xkcm9wX2NvbHx2YXJpYWJsZXN8c3RhdHVzIiwkcmIpO30kdj0ib3JhY2xlIjskUj1hcnJheSgpOyRMYT1hcnJheSgpO2ZvcmVhY2goYXJyYXkobGFuZygxMik9PmFycmF5KCJudW1iZXIiPT4zOCwiYmluYXJ5X2Zsb2F0Ij0+MTIsImJpbmFyeV9kb3VibGUiPT4yMSksbGFuZygxMyk9PmFycmF5KCJkYXRlIj0+MTAsInRpbWVzdGFtcCI9PjI5LCJpbnRlcnZhbCB5ZWFyIj0+MTIsImludGVydmFsIGRheSI9PjI4KSxsYW5nKDE0KT0+YXJyYXkoImNoYXIiPT4yMDAwLCJ2YXJjaGFyMiI9PjQwMDAsIm5jaGFyIj0+MjAwMCwibnZhcmNoYXIyIj0+NDAwMCwiY2xvYiI9PjQyOTQ5NjcyOTUsIm5jbG9iIj0+NDI5NDk2NzI5NSksbGFuZygxNSk9PmFycmF5KCJyYXciPT4yMDAwLCJsb25nIHJhdyI9PjIxNDc0ODM2NDgsImJsb2IiPT40Mjk0OTY3Mjk1LCJiZmlsZSI9PjQyOTQ5NjcyOTYpLClhcyRkPT4kYil7JFIrPSRiOyRMYVskZF09YXJyYXlfa2V5cygkYik7fSRvYj1hcnJheSgpOyRnYz1hcnJheSgiPSIsIjwiLCI+IiwiPD0iLCI+PSIsIiE9IiwiTElLRSIsIkxJS0UgJSUiLCJJTiIsIklTIE5VTEwiLCJOT1QgTElLRSIsIk5PVCBSRUdFWFAiLCJOT1QgSU4iLCJJUyBOT1QgTlVMTCIsIiIpOyRkYT1hcnJheSgibGVuZ3RoIiwibG93ZXIiLCJyb3VuZCIsInVwcGVyIik7JGxiPWFycmF5KCJhdmciLCJjb3VudCIsImNvdW50IGRpc3RpbmN0IiwibWF4IiwibWluIiwic3VtIik7JE5iPWFycmF5KGFycmF5KCJkYXRlIj0+ImN1cnJlbnRfZGF0ZSIsInRpbWVzdGFtcCI9PiJjdXJyZW50X3RpbWVzdGFtcCIsKSxhcnJheSgibnVtYmVyfGZsb2F0fGRvdWJsZSI9PiIrLy0iLCJkYXRlfHRpbWVzdGFtcCI9PiIrIGludGVydmFsLy0gaW50ZXJ2YWwiLCJjaGFyfGNsb2IiPT4ifHwiLCkpO30kbmFbIm1zc3FsIl09Ik1TIFNRTCI7aWYoaXNzZXQoJF9HRVRbIm1zc3FsIl0pKXskb2M9YXJyYXkoIlNRTFNSViIsIk1TU1FMIik7ZGVmaW5lKCJEUklWRVIiLCJtc3NxbCIpO2lmKGV4dGVuc2lvbl9sb2FkZWQoInNxbHNydiIpKXtjbGFzcwpNaW5fREJ7dmFyJGV4dGVuc2lvbj0ic3Fsc3J2IiwkX2xpbmssJF9yZXN1bHQsJHNlcnZlcl9pbmZvLCRhZmZlY3RlZF9yb3dzLCRlcnJvcjtmdW5jdGlvbgpfZ2V0X2Vycm9yKCl7JHRoaXMtPmVycm9yPSIiO2ZvcmVhY2goc3Fsc3J2X2Vycm9ycygpYXMkbil7JHRoaXMtPmVycm9yLj0iJG5bbWVzc2FnZV1cbiI7fSR0aGlzLT5lcnJvcj1ydHJpbSgkdGhpcy0+ZXJyb3IpO31mdW5jdGlvbgpjb25uZWN0KCRGLCRQLCRUKXskdGhpcy0+X2xpbms9QHNxbHNydl9jb25uZWN0KCRGLGFycmF5KCJVSUQiPT4kUCwiUFdEIj0+JFQpKTtpZigkdGhpcy0+X2xpbmspeyRyZj1zcWxzcnZfc2VydmVyX2luZm8oJHRoaXMtPl9saW5rKTskdGhpcy0+c2VydmVyX2luZm89JHJmWydTUUxTZXJ2ZXJWZXJzaW9uJ107fWVsc2V7JHRoaXMtPl9nZXRfZXJyb3IoKTt9cmV0dXJuKGJvb2wpJHRoaXMtPl9saW5rO31mdW5jdGlvbgpxdW90ZSgkSSl7cmV0dXJuIiciLnN0cl9yZXBsYWNlKCInIiwiJyciLCRJKS4iJyI7fWZ1bmN0aW9uCnNlbGVjdF9kYigkaWEpe3JldHVybiR0aGlzLT5xdWVyeSgiVVNFICRpYSIpO31mdW5jdGlvbgpxdWVyeSgkaiwkZGI9ZmFsc2UpeyRpPXNxbHNydl9xdWVyeSgkdGhpcy0+X2xpbmssJGopO2lmKCEkaSl7JHRoaXMtPl9nZXRfZXJyb3IoKTtyZXR1cm4KZmFsc2U7fXJldHVybiR0aGlzLT5zdG9yZV9yZXN1bHQoJGkpO31mdW5jdGlvbgptdWx0aV9xdWVyeSgkail7JHRoaXMtPl9yZXN1bHQ9c3Fsc3J2X3F1ZXJ5KCR0aGlzLT5fbGluaywkaik7aWYoISR0aGlzLT5fcmVzdWx0KXskdGhpcy0+X2dldF9lcnJvcigpO3JldHVybgpmYWxzZTt9cmV0dXJuCnRydWU7fWZ1bmN0aW9uCnN0b3JlX3Jlc3VsdCgkaT1udWxsKXtpZighJGkpeyRpPSR0aGlzLT5fcmVzdWx0O31pZihzcWxzcnZfZmllbGRfbWV0YWRhdGEoJGkpKXtyZXR1cm4KbmV3Ck1pbl9SZXN1bHQoJGkpO30kdGhpcy0+YWZmZWN0ZWRfcm93cz1zcWxzcnZfcm93c19hZmZlY3RlZCgkaSk7cmV0dXJuCnRydWU7fWZ1bmN0aW9uCm5leHRfcmVzdWx0KCl7cmV0dXJuCnNxbHNydl9uZXh0X3Jlc3VsdCgkdGhpcy0+X3Jlc3VsdCk7fWZ1bmN0aW9uCnJlc3VsdCgkaiwkZT0wKXskaT0kdGhpcy0+cXVlcnkoJGopO2lmKCFpc19vYmplY3QoJGkpKXtyZXR1cm4KZmFsc2U7fSRhPSRpLT5mZXRjaF9yb3coKTtyZXR1cm4kYVskZV07fX1jbGFzcwpNaW5fUmVzdWx0e3ZhciRfcmVzdWx0LCRfb2Zmc2V0PTAsJF9maWVsZHMsJG51bV9yb3dzO2Z1bmN0aW9uCk1pbl9SZXN1bHQoJGkpeyR0aGlzLT5fcmVzdWx0PSRpO31mdW5jdGlvbgpfY29udmVydCgkYSl7Zm9yZWFjaCgoYXJyYXkpJGEKYXMkZD0+JGIpe2lmKGlzX2EoJGIsJ0RhdGVUaW1lJykpeyRhWyRkXT0kYi0+Zm9ybWF0KCJZLW0tZCBIOmk6cyIpO319cmV0dXJuJGE7fWZ1bmN0aW9uCmZldGNoX2Fzc29jKCl7cmV0dXJuJHRoaXMtPl9jb252ZXJ0KHNxbHNydl9mZXRjaF9hcnJheSgkdGhpcy0+X3Jlc3VsdCxTUUxTUlZfRkVUQ0hfQVNTT0MsU1FMU1JWX1NDUk9MTF9ORVhUKSk7fWZ1bmN0aW9uCmZldGNoX3Jvdygpe3JldHVybiR0aGlzLT5fY29udmVydChzcWxzcnZfZmV0Y2hfYXJyYXkoJHRoaXMtPl9yZXN1bHQsU1FMU1JWX0ZFVENIX05VTUVSSUMsU1FMU1JWX1NDUk9MTF9ORVhUKSk7fWZ1bmN0aW9uCmZldGNoX2ZpZWxkKCl7aWYoISR0aGlzLT5fZmllbGRzKXskdGhpcy0+X2ZpZWxkcz1zcWxzcnZfZmllbGRfbWV0YWRhdGEoJHRoaXMtPl9yZXN1bHQpO30kZT0kdGhpcy0+X2ZpZWxkc1skdGhpcy0+X29mZnNldCsrXTskYz1uZXcKc3RkQ2xhc3M7JGMtPm5hbWU9JGVbIk5hbWUiXTskYy0+b3JnbmFtZT0kZVsiTmFtZSJdOyRjLT50eXBlPSgkZVsiVHlwZSJdPT0xPzI1NDowKTtyZXR1cm4kYzt9ZnVuY3Rpb24Kc2VlaygkTCl7Zm9yKCRsPTA7JGw8JEw7JGwrKyl7c3Fsc3J2X2ZldGNoKCR0aGlzLT5fcmVzdWx0KTt9fWZ1bmN0aW9uCl9fZGVzdHJ1Y3QoKXtzcWxzcnZfZnJlZV9zdG10KCR0aGlzLT5fcmVzdWx0KTt9fX1lbHNlaWYoZXh0ZW5zaW9uX2xvYWRlZCgibXNzcWwiKSl7Y2xhc3MKTWluX0RCe3ZhciRleHRlbnNpb249Ik1TU1FMIiwkX2xpbmssJF9yZXN1bHQsJHNlcnZlcl9pbmZvLCRhZmZlY3RlZF9yb3dzLCRlcnJvcjtmdW5jdGlvbgpjb25uZWN0KCRGLCRQLCRUKXskdGhpcy0+X2xpbms9QG1zc3FsX2Nvbm5lY3QoJEYsJFAsJFQpO2lmKCR0aGlzLT5fbGluayl7JGk9JHRoaXMtPnF1ZXJ5KCJTRUxFQ1QgU0VSVkVSUFJPUEVSVFkoJ1Byb2R1Y3RMZXZlbCcpLCBTRVJWRVJQUk9QRVJUWSgnRWRpdGlvbicpIik7JGE9JGktPmZldGNoX3JvdygpOyR0aGlzLT5zZXJ2ZXJfaW5mbz0kdGhpcy0+cmVzdWx0KCJzcF9zZXJ2ZXJfaW5mbyAyIiwyKS4iIFskYVswXV0gJGFbMV0iO31lbHNleyR0aGlzLT5lcnJvcj1tc3NxbF9nZXRfbGFzdF9tZXNzYWdlKCk7fXJldHVybihib29sKSR0aGlzLT5fbGluazt9ZnVuY3Rpb24KcXVvdGUoJEkpe3JldHVybiInIi5zdHJfcmVwbGFjZSgiJyIsIicnIiwkSSkuIiciO31mdW5jdGlvbgpzZWxlY3RfZGIoJGlhKXtyZXR1cm4KbXNzcWxfc2VsZWN0X2RiKCRpYSk7fWZ1bmN0aW9uCnF1ZXJ5KCRqLCRkYj1mYWxzZSl7JGk9bXNzcWxfcXVlcnkoJGosJHRoaXMtPl9saW5rKTtpZighJGkpeyR0aGlzLT5lcnJvcj1tc3NxbF9nZXRfbGFzdF9tZXNzYWdlKCk7cmV0dXJuCmZhbHNlO31pZigkaT09PXRydWUpeyR0aGlzLT5hZmZlY3RlZF9yb3dzPW1zc3FsX3Jvd3NfYWZmZWN0ZWQoJHRoaXMtPl9saW5rKTtyZXR1cm4KdHJ1ZTt9cmV0dXJuCm5ldwpNaW5fUmVzdWx0KCRpKTt9ZnVuY3Rpb24KbXVsdGlfcXVlcnkoJGope3JldHVybiR0aGlzLT5fcmVzdWx0PSR0aGlzLT5xdWVyeSgkaik7fWZ1bmN0aW9uCnN0b3JlX3Jlc3VsdCgpe3JldHVybiR0aGlzLT5fcmVzdWx0O31mdW5jdGlvbgpuZXh0X3Jlc3VsdCgpe3JldHVybgptc3NxbF9uZXh0X3Jlc3VsdCgkdGhpcy0+X3Jlc3VsdCk7fWZ1bmN0aW9uCnJlc3VsdCgkaiwkZT0wKXskaT0kdGhpcy0+cXVlcnkoJGopO2lmKCFpc19vYmplY3QoJGkpKXtyZXR1cm4KZmFsc2U7fXJldHVybgptc3NxbF9yZXN1bHQoJGktPl9yZXN1bHQsMCwkZSk7fX1jbGFzcwpNaW5fUmVzdWx0e3ZhciRfcmVzdWx0LCRfb2Zmc2V0PTAsJF9maWVsZHMsJG51bV9yb3dzO2Z1bmN0aW9uCk1pbl9SZXN1bHQoJGkpeyR0aGlzLT5fcmVzdWx0PSRpOyR0aGlzLT5udW1fcm93cz1tc3NxbF9udW1fcm93cygkaSk7fWZ1bmN0aW9uCmZldGNoX2Fzc29jKCl7cmV0dXJuCm1zc3FsX2ZldGNoX2Fzc29jKCR0aGlzLT5fcmVzdWx0KTt9ZnVuY3Rpb24KZmV0Y2hfcm93KCl7cmV0dXJuCm1zc3FsX2ZldGNoX3JvdygkdGhpcy0+X3Jlc3VsdCk7fWZ1bmN0aW9uCm51bV9yb3dzKCl7cmV0dXJuCm1zc3FsX251bV9yb3dzKCR0aGlzLT5fcmVzdWx0KTt9ZnVuY3Rpb24KZmV0Y2hfZmllbGQoKXskYz1tc3NxbF9mZXRjaF9maWVsZCgkdGhpcy0+X3Jlc3VsdCk7JGMtPm9yZ3RhYmxlPSRjLT50YWJsZTskYy0+b3JnbmFtZT0kYy0+bmFtZTtyZXR1cm4kYzt9ZnVuY3Rpb24Kc2VlaygkTCl7bXNzcWxfZGF0YV9zZWVrKCR0aGlzLT5fcmVzdWx0LCRMKTt9ZnVuY3Rpb24KX19kZXN0cnVjdCgpe21zc3FsX2ZyZWVfcmVzdWx0KCR0aGlzLT5fcmVzdWx0KTt9fX1mdW5jdGlvbgppZGZfZXNjYXBlKCROKXtyZXR1cm4iWyIuc3RyX3JlcGxhY2UoIl0iLCJdXSIsJE4pLiJdIjt9ZnVuY3Rpb24KdGFibGUoJE4pe3JldHVybigkX0dFVFsibnMiXSE9IiI/aWRmX2VzY2FwZSgkX0dFVFsibnMiXSkuIi4iOiIiKS5pZGZfZXNjYXBlKCROKTt9ZnVuY3Rpb24KY29ubmVjdCgpe2dsb2JhbCRvOyRnPW5ldwpNaW5fREI7JHlhPSRvLT5jcmVkZW50aWFscygpO2lmKCRnLT5jb25uZWN0KCR5YVswXSwkeWFbMV0sJHlhWzJdKSl7cmV0dXJuJGc7fXJldHVybiRnLT5lcnJvcjt9ZnVuY3Rpb24KZ2V0X2RhdGFiYXNlcygpe3JldHVybgpnZXRfdmFscygiRVhFQyBzcF9kYXRhYmFzZXMiKTt9ZnVuY3Rpb24KbGltaXQoJGosJHMsJE8sJEw9MCwkV2E9IiAiKXtyZXR1cm4oaXNzZXQoJE8pPyIgVE9QICgiLigkTyskTCkuIikiOiIiKS4iICRqJHMiO31mdW5jdGlvbgpsaW1pdDEoJGosJHMpe3JldHVybgpsaW1pdCgkaiwkcywxKTt9ZnVuY3Rpb24KZGJfY29sbGF0aW9uKCR0LCRaKXtnbG9iYWwkZztyZXR1cm4kZy0+cmVzdWx0KCJTRUxFQ1QgY29sbGF0aW9uX25hbWUgRlJPTSBzeXMuZGF0YWJhc2VzIFdIRVJFIG5hbWUgPSAgIi5xKCR0KSk7fWZ1bmN0aW9uCmVuZ2luZXMoKXtyZXR1cm4KYXJyYXkoKTt9ZnVuY3Rpb24KbG9nZ2VkX3VzZXIoKXtnbG9iYWwkZztyZXR1cm4kZy0+cmVzdWx0KCJTRUxFQ1QgU1VTRVJfTkFNRSgpIik7fWZ1bmN0aW9uCnRhYmxlc19saXN0KCl7cmV0dXJuCmdldF9rZXlfdmFscygiU0VMRUNUIG5hbWUsIHR5cGVfZGVzYyBGUk9NIHN5cy5hbGxfb2JqZWN0cyBXSEVSRSBzY2hlbWFfaWQgPSBTQ0hFTUFfSUQoIi5xKGdldF9zY2hlbWEoKSkuIikgQU5EIHR5cGUgSU4gKCdTJywgJ1UnLCAnVicpIE9SREVSIEJZIG5hbWUiKTt9ZnVuY3Rpb24KY291bnRfdGFibGVzKCRfKXtnbG9iYWwkZzskYz1hcnJheSgpO2ZvcmVhY2goJF8KYXMkdCl7JGctPnNlbGVjdF9kYigkdCk7JGNbJHRdPSRnLT5yZXN1bHQoIlNFTEVDVCBDT1VOVCgqKSBGUk9NIElORk9STUFUSU9OX1NDSEVNQS5UQUJMRVMiKTt9cmV0dXJuJGM7fWZ1bmN0aW9uCnRhYmxlX3N0YXR1cygkZj0iIil7JGM9YXJyYXkoKTtmb3JlYWNoKGdldF9yb3dzKCJTRUxFQ1QgbmFtZSBBUyBOYW1lLCB0eXBlX2Rlc2MgQVMgRW5naW5lIEZST00gc3lzLmFsbF9vYmplY3RzIFdIRVJFIHNjaGVtYV9pZCA9IFNDSEVNQV9JRCgiLnEoZ2V0X3NjaGVtYSgpKS4iKSBBTkQgdHlwZSBJTiAoJ1MnLCAnVScsICdWJykiLigkZiE9IiI/IiBBTkQgbmFtZSA9ICIucSgkZik6IiIpKWFzJGEpe2lmKCRmIT0iIil7cmV0dXJuJGE7fSRjWyRhWyJOYW1lIl1dPSRhO31yZXR1cm4kYzt9ZnVuY3Rpb24KaXNfdmlldygkRCl7cmV0dXJuJERbIkVuZ2luZSJdPT0iVklFVyI7fWZ1bmN0aW9uCmZrX3N1cHBvcnQoJEQpe3JldHVybgp0cnVlO31mdW5jdGlvbgpmaWVsZHMoJGgpeyRjPWFycmF5KCk7Zm9yZWFjaChnZXRfcm93cygiU0VMRUNUIGMuKiwgdC5uYW1lIHR5cGUsIGQuZGVmaW5pdGlvbiBbZGVmYXVsdF0KRlJPTSBzeXMuYWxsX2NvbHVtbnMgYwpKT0lOIHN5cy5hbGxfb2JqZWN0cyBvIE9OIGMub2JqZWN0X2lkID0gby5vYmplY3RfaWQKSk9JTiBzeXMudHlwZXMgdCBPTiBjLnVzZXJfdHlwZV9pZCA9IHQudXNlcl90eXBlX2lkCkxFRlQgSk9JTiBzeXMuZGVmYXVsdF9jb25zdHJhaW50cyBkIE9OIGMuZGVmYXVsdF9vYmplY3RfaWQgPSBkLnBhcmVudF9jb2x1bW5faWQKV0hFUkUgby5zY2hlbWFfaWQgPSBTQ0hFTUFfSUQoIi5xKGdldF9zY2hlbWEoKSkuIikgQU5EIG8udHlwZSBJTiAoJ1MnLCAnVScsICdWJykgQU5EIG8ubmFtZSA9ICIucSgkaCkpYXMkYSl7JHo9JGFbInR5cGUiXTskVz0oZXJlZygiY2hhcnxiaW5hcnkiLCR6KT8kYVsibWF4X2xlbmd0aCJdOigkej09ImRlY2ltYWwiPyIkYVtwcmVjaXNpb25dLCRhW3NjYWxlXSI6IiIpKTskY1skYVsibmFtZSJdXT1hcnJheSgiZmllbGQiPT4kYVsibmFtZSJdLCJmdWxsX3R5cGUiPT4kei4oJFc/IigkVykiOiIiKSwidHlwZSI9PiR6LCJsZW5ndGgiPT4kVywiZGVmYXVsdCI9PiRhWyJkZWZhdWx0Il0sIm51bGwiPT4kYVsiaXNfbnVsbGFibGUiXSwiYXV0b19pbmNyZW1lbnQiPT4kYVsiaXNfaWRlbnRpdHkiXSwiY29sbGF0aW9uIj0+JGFbImNvbGxhdGlvbl9uYW1lIl0sInByaXZpbGVnZXMiPT5hcnJheSgiaW5zZXJ0Ij0+MSwic2VsZWN0Ij0+MSwidXBkYXRlIj0+MSksInByaW1hcnkiPT4kYVsiaXNfaWRlbnRpdHkiXSwpO31yZXR1cm4kYzt9ZnVuY3Rpb24KaW5kZXhlcygkaCwkRz1udWxsKXtnbG9iYWwkZztpZighaXNfb2JqZWN0KCRHKSl7JEc9JGc7fSRjPWFycmF5KCk7Zm9yZWFjaChnZXRfcm93cygiU0VMRUNUIGkubmFtZSwga2V5X29yZGluYWwsIGlzX3VuaXF1ZSwgaXNfcHJpbWFyeV9rZXksIGMubmFtZSBBUyBjb2x1bW5fbmFtZQpGUk9NIHN5cy5pbmRleGVzIGkKSU5ORVIgSk9JTiBzeXMuaW5kZXhfY29sdW1ucyBpYyBPTiBpLm9iamVjdF9pZCA9IGljLm9iamVjdF9pZCBBTkQgaS5pbmRleF9pZCA9IGljLmluZGV4X2lkCklOTkVSIEpPSU4gc3lzLmNvbHVtbnMgYyBPTiBpYy5vYmplY3RfaWQgPSBjLm9iamVjdF9pZCBBTkQgaWMuY29sdW1uX2lkID0gYy5jb2x1bW5faWQKV0hFUkUgT0JKRUNUX05BTUUoaS5vYmplY3RfaWQpID0gIi5xKCRoKSwkRylhcyRhKXskY1skYVsibmFtZSJdXVsidHlwZSJdPSgkYVsiaXNfcHJpbWFyeV9rZXkiXT8iUFJJTUFSWSI6KCRhWyJpc191bmlxdWUiXT8iVU5JUVVFIjoiSU5ERVgiKSk7JGNbJGFbIm5hbWUiXV1bImxlbmd0aHMiXT1hcnJheSgpOyRjWyRhWyJuYW1lIl1dWyJjb2x1bW5zIl1bJGFbImtleV9vcmRpbmFsIl1dPSRhWyJjb2x1bW5fbmFtZSJdO31yZXR1cm4kYzt9ZnVuY3Rpb24KdmlldygkZil7Z2xvYmFsJGc7cmV0dXJuCmFycmF5KCJzZWxlY3QiPT5wcmVnX3JlcGxhY2UoJ35eKD86W15bXXxcXFtbXl1dKl0pKlxccytBU1xccyt+aXNVJywnJywkZy0+cmVzdWx0KCJTRUxFQ1QgVklFV19ERUZJTklUSU9OIEZST00gSU5GT1JNQVRJT05fU0NIRU1BLlZJRVdTIFdIRVJFIFRBQkxFX1NDSEVNQSA9IFNDSEVNQV9OQU1FKCkgQU5EIFRBQkxFX05BTUUgPSAiLnEoJGYpKSkpO31mdW5jdGlvbgpjb2xsYXRpb25zKCl7JGM9YXJyYXkoKTtmb3JlYWNoKGdldF92YWxzKCJTRUxFQ1QgbmFtZSBGUk9NIGZuX2hlbHBjb2xsYXRpb25zKCkiKWFzJFUpeyRjW2VyZWdfcmVwbGFjZSgiXy4qIiwiIiwkVSldW109JFU7fXJldHVybiRjO31mdW5jdGlvbgppbmZvcm1hdGlvbl9zY2hlbWEoJHQpe3JldHVybgpmYWxzZTt9ZnVuY3Rpb24KZXJyb3IoKXtnbG9iYWwkZztyZXR1cm4KbmxfYnIoaChwcmVnX3JlcGxhY2UoJ35eKFxcW1teXV0qXSkrfm0nLCcnLCRnLT5lcnJvcikpKTt9ZnVuY3Rpb24KZXhhY3RfdmFsdWUoJGIpe3JldHVybgpxKCRiKTt9ZnVuY3Rpb24KY3JlYXRlX2RhdGFiYXNlKCR0LCRVKXtyZXR1cm4KcXVlcmllcygiQ1JFQVRFIERBVEFCQVNFICIuaWRmX2VzY2FwZSgkdCkuKGVyZWdpKCdeW2EtejAtOV9dKyQnLCRVKT8iIENPTExBVEUgJFUiOiIiKSk7fWZ1bmN0aW9uCmRyb3BfZGF0YWJhc2VzKCRfKXtyZXR1cm4KcXVlcmllcygiRFJPUCBEQVRBQkFTRSAiLmltcGxvZGUoIiwgIixhcnJheV9tYXAoJ2lkZl9lc2NhcGUnLCRfKSkpO31mdW5jdGlvbgpyZW5hbWVfZGF0YWJhc2UoJGYsJFUpe2lmKGVyZWdpKCdeW2EtejAtOV9dKyQnLCRVKSl7cXVlcmllcygiQUxURVIgREFUQUJBU0UgIi5pZGZfZXNjYXBlKERCKS4iIENPTExBVEUgJFUiKTt9cXVlcmllcygiQUxURVIgREFUQUJBU0UgIi5pZGZfZXNjYXBlKERCKS4iIE1PRElGWSBOQU1FID0gIi5pZGZfZXNjYXBlKCRmKSk7cmV0dXJuCnRydWU7fWZ1bmN0aW9uCmF1dG9faW5jcmVtZW50KCl7cmV0dXJuIiBJREVOVElUWSIuKCRfUE9TVFsiQXV0b19pbmNyZW1lbnQiXSE9IiI/IigiLigrJF9QT1NUWyJBdXRvX2luY3JlbWVudCJdKS4iLDEpIjoiIikuIiBQUklNQVJZIEtFWSI7fWZ1bmN0aW9uCmFsdGVyX3RhYmxlKCRoLCRmLCRwLCRPYSwkX2EsJHliLCRVLCRTYSwkdmIpeyR1PWFycmF5KCk7Zm9yZWFjaCgkcAphcyRlKXskQz1pZGZfZXNjYXBlKCRlWzBdKTskYj0kZVsxXTtpZighJGIpeyR1WyJEUk9QIl1bXT0iIENPTFVNTiAkQyI7fWVsc2V7JGJbMV09cHJlZ19yZXBsYWNlKCJ+KCBDT0xMQVRFICknKFxcdyspJ34iLCJcXDFcXDIiLCRiWzFdKTtpZigkZVswXT09IiIpeyR1WyJBREQiXVtdPSJcbiAgIi5pbXBsb2RlKCIiLCRiKS4oJGg9PSIiP3N1YnN0cigkT2FbJGJbMF1dLDE2K3N0cmxlbigkYlswXSkpOiIiKTt9ZWxzZXt1bnNldCgkYls2XSk7aWYoJEMhPSRiWzBdKXtxdWVyaWVzKCJFWEVDIHNwX3JlbmFtZSAiLnEodGFibGUoJGgpLiIuJEMiKS4iLCAiLnEoaWRmX3VuZXNjYXBlKCRiWzBdKSkuIiwgJ0NPTFVNTiciKTt9JHVbIkFMVEVSIENPTFVNTiAiLmltcGxvZGUoIiIsJGIpXVtdPSIiO319fWlmKCRoPT0iIil7cmV0dXJuCnF1ZXJpZXMoIkNSRUFURSBUQUJMRSAiLnRhYmxlKCRmKS4iICgiLmltcGxvZGUoIiwiLChhcnJheSkkdVsiQUREIl0pLiJcbikiKTt9aWYoJGghPSRmKXtxdWVyaWVzKCJFWEVDIHNwX3JlbmFtZSAiLnEodGFibGUoJGgpKS4iLCAiLnEoJGYpKTt9aWYoJE9hKXskdVsiIl09JE9hO31mb3JlYWNoKCR1CmFzJGQ9PiRiKXtpZighcXVlcmllcygiQUxURVIgVEFCTEUgIi5pZGZfZXNjYXBlKCRmKS4iICRkIi5pbXBsb2RlKCIsIiwkYikpKXtyZXR1cm4KZmFsc2U7fX1yZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24KYWx0ZXJfaW5kZXhlcygkaCwkdSl7JHg9YXJyYXkoKTskSGE9YXJyYXkoKTtmb3JlYWNoKCR1CmFzJGIpe2lmKCRiWzJdKXtpZigkYlswXT09IlBSSU1BUlkiKXskSGFbXT0kYlsxXTt9ZWxzZXskeFtdPSIkYlsxXSBPTiAiLnRhYmxlKCRoKTt9fWVsc2VpZighcXVlcmllcygoJGJbMF0hPSJQUklNQVJZIj8iQ1JFQVRFIi4oJGJbMF0hPSJJTkRFWCI/IiBVTklRVUUiOiIiKS4iIElOREVYICIuaWRmX2VzY2FwZSh1bmlxaWQoJGguIl8iKSkuIiBPTiAiLnRhYmxlKCRoKToiQUxURVIgVEFCTEUgIi50YWJsZSgkaCkuIiBBREQgUFJJTUFSWSBLRVkiKS4iICRiWzFdIikpe3JldHVybgpmYWxzZTt9fXJldHVybighJHh8fHF1ZXJpZXMoIkRST1AgSU5ERVggIi5pbXBsb2RlKCIsICIsJHgpKSkmJighJEhhfHxxdWVyaWVzKCJBTFRFUiBUQUJMRSAiLnRhYmxlKCRoKS4iIERST1AgIi5pbXBsb2RlKCIsICIsJEhhKSkpO31mdW5jdGlvbgpiZWdpbigpe3JldHVybgpxdWVyaWVzKCJCRUdJTiBUUkFOU0FDVElPTiIpO31mdW5jdGlvbgppbnNlcnRfaW50bygkaCwkcil7cmV0dXJuCnF1ZXJpZXMoIklOU0VSVCBJTlRPICIudGFibGUoJGgpLigkcj8iICgiLmltcGxvZGUoIiwgIixhcnJheV9rZXlzKCRyKSkuIilcblZBTFVFUyAoIi5pbXBsb2RlKCIsICIsJHIpLiIpIjoiREVGQVVMVCBWQUxVRVMiKSk7fWZ1bmN0aW9uCmluc2VydF91cGRhdGUoJGgsJHIsJFFhKXskcWE9YXJyYXkoKTskcz1hcnJheSgpO2ZvcmVhY2goJHIKYXMkZD0+JGIpeyRxYVtdPSIkZCA9ICRiIjtpZihpc3NldCgkUWFbaWRmX3VuZXNjYXBlKCRkKV0pKXskc1tdPSIkZCA9ICRiIjt9fXJldHVybgpxdWVyaWVzKCJNRVJHRSAiLnRhYmxlKCRoKS4iIFVTSU5HIChWQUxVRVMoIi5pbXBsb2RlKCIsICIsJHIpLiIpKSBBUyBzb3VyY2UgKGMiLmltcGxvZGUoIiwgYyIscmFuZ2UoMSxjb3VudCgkcikpKS4iKSBPTiAiLmltcGxvZGUoIiBBTkQgIiwkcykuIiBXSEVOIE1BVENIRUQgVEhFTiBVUERBVEUgU0VUICIuaW1wbG9kZSgiLCAiLCRxYSkuIiBXSEVOIE5PVCBNQVRDSEVEIFRIRU4gSU5TRVJUICgiLmltcGxvZGUoIiwgIixhcnJheV9rZXlzKCRyKSkuIikgVkFMVUVTICgiLmltcGxvZGUoIiwgIiwkcikuIik7Iik7fWZ1bmN0aW9uCmxhc3RfaWQoKXtnbG9iYWwkZztyZXR1cm4kZy0+cmVzdWx0KCJTRUxFQ1QgU0NPUEVfSURFTlRJVFkoKSIpO31mdW5jdGlvbgpleHBsYWluKCRnLCRqKXskZy0+cXVlcnkoIlNFVCBTSE9XUExBTl9BTEwgT04iKTskYz0kZy0+cXVlcnkoJGopOyRnLT5xdWVyeSgiU0VUIFNIT1dQTEFOX0FMTCBPRkYiKTtyZXR1cm4kYzt9ZnVuY3Rpb24KZm9yZWlnbl9rZXlzKCRoKXskYz1hcnJheSgpO2ZvcmVhY2goZ2V0X3Jvd3MoIkVYRUMgc3BfZmtleXMgQGZrdGFibGVfbmFtZSA9ICIucSgkaCkpYXMkYSl7JEE9JiRjWyRhWyJGS19OQU1FIl1dOyRBWyJ0YWJsZSJdPSRhWyJQS1RBQkxFX05BTUUiXTskQVsic291cmNlIl1bXT0kYVsiRktDT0xVTU5fTkFNRSJdOyRBWyJ0YXJnZXQiXVtdPSRhWyJQS0NPTFVNTl9OQU1FIl07fXJldHVybiRjO31mdW5jdGlvbgp0cnVuY2F0ZV90YWJsZXMoJEUpe3JldHVybgphcHBseV9xdWVyaWVzKCJUUlVOQ0FURSBUQUJMRSIsJEUpO31mdW5jdGlvbgpkcm9wX3ZpZXdzKCRYKXtyZXR1cm4KcXVlcmllcygiRFJPUCBWSUVXICIuaW1wbG9kZSgiLCAiLGFycmF5X21hcCgndGFibGUnLCRYKSkpO31mdW5jdGlvbgpkcm9wX3RhYmxlcygkRSl7cmV0dXJuCnF1ZXJpZXMoIkRST1AgVEFCTEUgIi5pbXBsb2RlKCIsICIsYXJyYXlfbWFwKCd0YWJsZScsJEUpKSk7fWZ1bmN0aW9uCm1vdmVfdGFibGVzKCRFLCRYLCRlYSl7cmV0dXJuCmFwcGx5X3F1ZXJpZXMoIkFMVEVSIFNDSEVNQSAiLmlkZl9lc2NhcGUoJGVhKS4iIFRSQU5TRkVSIixhcnJheV9tZXJnZSgkRSwkWCkpO31mdW5jdGlvbgp0cmlnZ2VyKCRmKXskSD1nZXRfcm93cygiU0VMRUNUIHMubmFtZSBbVHJpZ2dlcl0sCkNBU0UgV0hFTiBPQkpFQ1RQUk9QRVJUWShzLmlkLCAnRXhlY0lzSW5zZXJ0VHJpZ2dlcicpID0gMSBUSEVOICdJTlNFUlQnIFdIRU4gT0JKRUNUUFJPUEVSVFkocy5pZCwgJ0V4ZWNJc1VwZGF0ZVRyaWdnZXInKSA9IDEgVEhFTiAnVVBEQVRFJyBXSEVOIE9CSkVDVFBST1BFUlRZKHMuaWQsICdFeGVjSXNEZWxldGVUcmlnZ2VyJykgPSAxIFRIRU4gJ0RFTEVURScgRU5EIFtFdmVudF0sCkNBU0UgV0hFTiBPQkpFQ1RQUk9QRVJUWShzLmlkLCAnRXhlY0lzSW5zdGVhZE9mVHJpZ2dlcicpID0gMSBUSEVOICdJTlNURUFEIE9GJyBFTFNFICdBRlRFUicgRU5EIFtUaW1pbmddLApjLnRleHQKRlJPTSBzeXNvYmplY3RzIHMKSk9JTiBzeXNjb21tZW50cyBjIE9OIHMuaWQgPSBjLmlkCldIRVJFIHMueHR5cGUgPSAnVFInIEFORCBzLm5hbWUgPSAiLnEoJGYpKTskYz1yZXNldCgkSCk7aWYoJGMpeyRjWyJTdGF0ZW1lbnQiXT1wcmVnX3JlcGxhY2UoJ35eLitcXHMrQVNcXHMrfmlzVScsJycsJGNbInRleHQiXSk7fXJldHVybiRjO31mdW5jdGlvbgp0cmlnZ2VycygkaCl7JGM9YXJyYXkoKTtmb3JlYWNoKGdldF9yb3dzKCJTRUxFQ1Qgc3lzMS5uYW1lLApDQVNFIFdIRU4gT0JKRUNUUFJPUEVSVFkoc3lzMS5pZCwgJ0V4ZWNJc0luc2VydFRyaWdnZXInKSA9IDEgVEhFTiAnSU5TRVJUJyBXSEVOIE9CSkVDVFBST1BFUlRZKHN5czEuaWQsICdFeGVjSXNVcGRhdGVUcmlnZ2VyJykgPSAxIFRIRU4gJ1VQREFURScgV0hFTiBPQkpFQ1RQUk9QRVJUWShzeXMxLmlkLCAnRXhlY0lzRGVsZXRlVHJpZ2dlcicpID0gMSBUSEVOICdERUxFVEUnIEVORCBbRXZlbnRdLApDQVNFIFdIRU4gT0JKRUNUUFJPUEVSVFkoc3lzMS5pZCwgJ0V4ZWNJc0luc3RlYWRPZlRyaWdnZXInKSA9IDEgVEhFTiAnSU5TVEVBRCBPRicgRUxTRSAnQUZURVInIEVORCBbVGltaW5nXQpGUk9NIHN5c29iamVjdHMgc3lzMQpKT0lOIHN5c29iamVjdHMgc3lzMiBPTiBzeXMxLnBhcmVudF9vYmogPSBzeXMyLmlkCldIRVJFIHN5czEueHR5cGUgPSAnVFInIEFORCBzeXMyLm5hbWUgPSAiLnEoJGgpKWFzJGEpeyRjWyRhWyJuYW1lIl1dPWFycmF5KCRhWyJUaW1pbmciXSwkYVsiRXZlbnQiXSk7fXJldHVybiRjO31mdW5jdGlvbgp0cmlnZ2VyX29wdGlvbnMoKXtyZXR1cm4KYXJyYXkoIlRpbWluZyI9PmFycmF5KCJBRlRFUiIsIklOU1RFQUQgT0YiKSwiVHlwZSI9PmFycmF5KCJBUyIpLCk7fWZ1bmN0aW9uCnNjaGVtYXMoKXtyZXR1cm4KZ2V0X3ZhbHMoIlNFTEVDVCBuYW1lIEZST00gc3lzLnNjaGVtYXMiKTt9ZnVuY3Rpb24KZ2V0X3NjaGVtYSgpe2dsb2JhbCRnO2lmKCRfR0VUWyJucyJdIT0iIil7cmV0dXJuJF9HRVRbIm5zIl07fXJldHVybiRnLT5yZXN1bHQoIlNFTEVDVCBTQ0hFTUFfTkFNRSgpIik7fWZ1bmN0aW9uCnNldF9zY2hlbWEoJEthKXtyZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24KdXNlX3NxbCgkaWEpe3JldHVybiJVU0UgIi5pZGZfZXNjYXBlKCRpYSk7fWZ1bmN0aW9uCnNob3dfdmFyaWFibGVzKCl7cmV0dXJuCmFycmF5KCk7fWZ1bmN0aW9uCnNob3dfc3RhdHVzKCl7cmV0dXJuCmFycmF5KCk7fWZ1bmN0aW9uCnN1cHBvcnQoJHJiKXtyZXR1cm4KZXJlZygnXihzY2hlbWV8dHJpZ2dlcnx2aWV3fGRyb3BfY29sKSQnLCRyYik7fSR2PSJtc3NxbCI7JFI9YXJyYXkoKTskTGE9YXJyYXkoKTtmb3JlYWNoKGFycmF5KGxhbmcoMTIpPT5hcnJheSgidGlueWludCI9PjMsInNtYWxsaW50Ij0+NSwiaW50Ij0+MTAsImJpZ2ludCI9PjIwLCJiaXQiPT4xLCJkZWNpbWFsIj0+MCwicmVhbCI9PjEyLCJmbG9hdCI9PjUzLCJzbWFsbG1vbmV5Ij0+MTAsIm1vbmV5Ij0+MjApLGxhbmcoMTMpPT5hcnJheSgiZGF0ZSI9PjEwLCJzbWFsbGRhdGV0aW1lIj0+MTksImRhdGV0aW1lIj0+MTksImRhdGV0aW1lMiI9PjE5LCJ0aW1lIj0+OCwiZGF0ZXRpbWVvZmZzZXQiPT4xMCksbGFuZygxNCk9PmFycmF5KCJjaGFyIj0+ODAwMCwidmFyY2hhciI9PjgwMDAsInRleHQiPT4yMTQ3NDgzNjQ3LCJuY2hhciI9PjQwMDAsIm52YXJjaGFyIj0+NDAwMCwibnRleHQiPT4xMDczNzQxODIzKSxsYW5nKDE1KT0+YXJyYXkoImJpbmFyeSI9PjgwMDAsInZhcmJpbmFyeSI9PjgwMDAsImltYWdlIj0+MjE0NzQ4MzY0NyksKWFzJGQ9PiRiKXskUis9JGI7JExhWyRkXT1hcnJheV9rZXlzKCRiKTt9JG9iPWFycmF5KCk7JGdjPWFycmF5KCI9IiwiPCIsIj4iLCI8PSIsIj49IiwiIT0iLCJMSUtFIiwiTElLRSAlJSIsIklOIiwiSVMgTlVMTCIsIk5PVCBMSUtFIiwiTk9UIElOIiwiSVMgTk9UIE5VTEwiLCIiKTskZGE9YXJyYXkoImxlbiIsImxvd2VyIiwicm91bmQiLCJ1cHBlciIpOyRsYj1hcnJheSgiYXZnIiwiY291bnQiLCJjb3VudCBkaXN0aW5jdCIsIm1heCIsIm1pbiIsInN1bSIpOyROYj1hcnJheShhcnJheSgiZGF0ZXx0aW1lIj0+ImdldGRhdGUiLCksYXJyYXkoImludHxkZWNpbWFsfHJlYWx8ZmxvYXR8bW9uZXl8ZGF0ZXRpbWUiPT4iKy8tIiwiY2hhcnx0ZXh0Ij0+IisiLCkpO30kbmE9YXJyYXkoInNlcnZlciI9PiJNeVNRTCIpKyRuYTtpZighZGVmaW5lZCgiRFJJVkVSIikpeyRvYz1hcnJheSgiTXlTUUxpIiwiTXlTUUwiLCJQRE9fTXlTUUwiKTtkZWZpbmUoIkRSSVZFUiIsInNlcnZlciIpO2lmKGV4dGVuc2lvbl9sb2FkZWQoIm15c3FsaSIpKXtjbGFzcwpNaW5fREIKZXh0ZW5kcwpNeVNRTGl7dmFyJGV4dGVuc2lvbj0iTXlTUUxpIjtmdW5jdGlvbgpNaW5fREIoKXtwYXJlbnQ6OmluaXQoKTt9ZnVuY3Rpb24KY29ubmVjdCgkRiwkUCwkVCl7bXlzcWxpX3JlcG9ydChNWVNRTElfUkVQT1JUX09GRik7bGlzdCgkdGYsJExjKT1leHBsb2RlKCI6IiwkRiwyKTskYz1AJHRoaXMtPnJlYWxfY29ubmVjdCgoJEYhPSIiPyR0ZjppbmlfZ2V0KCJteXNxbGkuZGVmYXVsdF9ob3N0IikpLCgiJEYkUCIhPSIiPyRQOmluaV9nZXQoIm15c3FsaS5kZWZhdWx0X3VzZXIiKSksKCIkRiRQJFQiIT0iIj8kVDppbmlfZ2V0KCJteXNxbGkuZGVmYXVsdF9wdyIpKSxudWxsLChpc19udW1lcmljKCRMYyk/JExjOmluaV9nZXQoIm15c3FsaS5kZWZhdWx0X3BvcnQiKSksKCFpc19udW1lcmljKCRMYyk/JExjOm51bGwpKTtpZigkYyl7aWYobWV0aG9kX2V4aXN0cygkdGhpcywnc2V0X2NoYXJzZXQnKSl7JHRoaXMtPnNldF9jaGFyc2V0KCJ1dGY4Iik7fWVsc2V7JHRoaXMtPnF1ZXJ5KCJTRVQgTkFNRVMgdXRmOCIpO319cmV0dXJuJGM7fWZ1bmN0aW9uCnJlc3VsdCgkaiwkZT0wKXskaT0kdGhpcy0+cXVlcnkoJGopO2lmKCEkaSl7cmV0dXJuCmZhbHNlO30kYT0kaS0+ZmV0Y2hfYXJyYXkoKTtyZXR1cm4kYVskZV07fWZ1bmN0aW9uCnF1b3RlKCRJKXtyZXR1cm4iJyIuJHRoaXMtPmVzY2FwZV9zdHJpbmcoJEkpLiInIjt9fX1lbHNlaWYoZXh0ZW5zaW9uX2xvYWRlZCgibXlzcWwiKSl7Y2xhc3MKTWluX0RCe3ZhciRleHRlbnNpb249Ik15U1FMIiwkc2VydmVyX2luZm8sJGFmZmVjdGVkX3Jvd3MsJGVycm9yLCRfbGluaywkX3Jlc3VsdDtmdW5jdGlvbgpjb25uZWN0KCRGLCRQLCRUKXskdGhpcy0+X2xpbms9QG15c3FsX2Nvbm5lY3QoKCRGIT0iIj8kRjppbmlfZ2V0KCJteXNxbC5kZWZhdWx0X2hvc3QiKSksKCIkRiRQIiE9IiI/JFA6aW5pX2dldCgibXlzcWwuZGVmYXVsdF91c2VyIikpLCgiJEYkUCRUIiE9IiI/JFQ6aW5pX2dldCgibXlzcWwuZGVmYXVsdF9wYXNzd29yZCIpKSx0cnVlLDEzMTA3Mik7aWYoJHRoaXMtPl9saW5rKXskdGhpcy0+c2VydmVyX2luZm89bXlzcWxfZ2V0X3NlcnZlcl9pbmZvKCR0aGlzLT5fbGluayk7aWYoZnVuY3Rpb25fZXhpc3RzKCdteXNxbF9zZXRfY2hhcnNldCcpKXtteXNxbF9zZXRfY2hhcnNldCgidXRmOCIsJHRoaXMtPl9saW5rKTt9ZWxzZXskdGhpcy0+cXVlcnkoIlNFVCBOQU1FUyB1dGY4Iik7fX1lbHNleyR0aGlzLT5lcnJvcj1teXNxbF9lcnJvcigpO31yZXR1cm4oYm9vbCkkdGhpcy0+X2xpbms7fWZ1bmN0aW9uCnF1b3RlKCRJKXtyZXR1cm4iJyIubXlzcWxfcmVhbF9lc2NhcGVfc3RyaW5nKCRJLCR0aGlzLT5fbGluaykuIiciO31mdW5jdGlvbgpzZWxlY3RfZGIoJGlhKXtyZXR1cm4KbXlzcWxfc2VsZWN0X2RiKCRpYSwkdGhpcy0+X2xpbmspO31mdW5jdGlvbgpxdWVyeSgkaiwkZGI9ZmFsc2UpeyRpPUAoJGRiP215c3FsX3VuYnVmZmVyZWRfcXVlcnkoJGosJHRoaXMtPl9saW5rKTpteXNxbF9xdWVyeSgkaiwkdGhpcy0+X2xpbmspKTtpZighJGkpeyR0aGlzLT5lcnJvcj1teXNxbF9lcnJvcigkdGhpcy0+X2xpbmspO3JldHVybgpmYWxzZTt9aWYoJGk9PT10cnVlKXskdGhpcy0+YWZmZWN0ZWRfcm93cz1teXNxbF9hZmZlY3RlZF9yb3dzKCR0aGlzLT5fbGluayk7JHRoaXMtPmluZm89bXlzcWxfaW5mbygkdGhpcy0+X2xpbmspO3JldHVybgp0cnVlO31yZXR1cm4KbmV3Ck1pbl9SZXN1bHQoJGkpO31mdW5jdGlvbgptdWx0aV9xdWVyeSgkail7cmV0dXJuJHRoaXMtPl9yZXN1bHQ9JHRoaXMtPnF1ZXJ5KCRqKTt9ZnVuY3Rpb24Kc3RvcmVfcmVzdWx0KCl7cmV0dXJuJHRoaXMtPl9yZXN1bHQ7fWZ1bmN0aW9uCm5leHRfcmVzdWx0KCl7cmV0dXJuCmZhbHNlO31mdW5jdGlvbgpyZXN1bHQoJGosJGU9MCl7JGk9JHRoaXMtPnF1ZXJ5KCRqKTtpZighJGl8fCEkaS0+bnVtX3Jvd3Mpe3JldHVybgpmYWxzZTt9cmV0dXJuCm15c3FsX3Jlc3VsdCgkaS0+X3Jlc3VsdCwwLCRlKTt9fWNsYXNzCk1pbl9SZXN1bHR7dmFyJG51bV9yb3dzLCRfcmVzdWx0LCRfb2Zmc2V0PTA7ZnVuY3Rpb24KTWluX1Jlc3VsdCgkaSl7JHRoaXMtPl9yZXN1bHQ9JGk7JHRoaXMtPm51bV9yb3dzPW15c3FsX251bV9yb3dzKCRpKTt9ZnVuY3Rpb24KZmV0Y2hfYXNzb2MoKXtyZXR1cm4KbXlzcWxfZmV0Y2hfYXNzb2MoJHRoaXMtPl9yZXN1bHQpO31mdW5jdGlvbgpmZXRjaF9yb3coKXtyZXR1cm4KbXlzcWxfZmV0Y2hfcm93KCR0aGlzLT5fcmVzdWx0KTt9ZnVuY3Rpb24KZmV0Y2hfZmllbGQoKXskYz1teXNxbF9mZXRjaF9maWVsZCgkdGhpcy0+X3Jlc3VsdCwkdGhpcy0+X29mZnNldCsrKTskYy0+b3JndGFibGU9JGMtPnRhYmxlOyRjLT5vcmduYW1lPSRjLT5uYW1lOyRjLT5jaGFyc2V0bnI9KCRjLT5ibG9iPzYzOjApO3JldHVybiRjO31mdW5jdGlvbgpfX2Rlc3RydWN0KCl7bXlzcWxfZnJlZV9yZXN1bHQoJHRoaXMtPl9yZXN1bHQpO319fWVsc2VpZihleHRlbnNpb25fbG9hZGVkKCJwZG9fbXlzcWwiKSl7Y2xhc3MKTWluX0RCCmV4dGVuZHMKTWluX1BET3t2YXIkZXh0ZW5zaW9uPSJQRE9fTXlTUUwiO2Z1bmN0aW9uCmNvbm5lY3QoJEYsJFAsJFQpeyR0aGlzLT5kc24oIm15c3FsOmhvc3Q9Ii5zdHJfcmVwbGFjZSgiOiIsIjt1bml4X3NvY2tldD0iLHByZWdfcmVwbGFjZSgnfjooXFxkKX4nLCc7cG9ydD1cXDEnLCRGKSksJFAsJFQpOyR0aGlzLT5xdWVyeSgiU0VUIE5BTUVTIHV0ZjgiKTtyZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24Kc2VsZWN0X2RiKCRpYSl7cmV0dXJuJHRoaXMtPnF1ZXJ5KCJVU0UgIi5pZGZfZXNjYXBlKCRpYSkpO31mdW5jdGlvbgpxdWVyeSgkaiwkZGI9ZmFsc2UpeyR0aGlzLT5zZXRBdHRyaWJ1dGUoMTAwMCwhJGRiKTtyZXR1cm4KcGFyZW50OjpxdWVyeSgkaiwkZGIpO319fWZ1bmN0aW9uCmlkZl9lc2NhcGUoJE4pe3JldHVybiJgIi5zdHJfcmVwbGFjZSgiYCIsImBgIiwkTikuImAiO31mdW5jdGlvbgp0YWJsZSgkTil7cmV0dXJuCmlkZl9lc2NhcGUoJE4pO31mdW5jdGlvbgpjb25uZWN0KCl7Z2xvYmFsJG87JGc9bmV3Ck1pbl9EQjskeWE9JG8tPmNyZWRlbnRpYWxzKCk7aWYoJGctPmNvbm5lY3QoJHlhWzBdLCR5YVsxXSwkeWFbMl0pKXskZy0+cXVlcnkoIlNFVCBzcWxfcXVvdGVfc2hvd19jcmVhdGUgPSAxIik7cmV0dXJuJGc7fXJldHVybiRnLT5lcnJvcjt9ZnVuY3Rpb24KZ2V0X2RhdGFiYXNlcygkamY9dHJ1ZSl7Z2xvYmFsJGc7JGM9JmdldF9zZXNzaW9uKCJkYnMiKTtpZighaXNzZXQoJGMpKXtpZigkamYpe3Jlc3RhcnRfc2Vzc2lvbigpO29iX2ZsdXNoKCk7Zmx1c2goKTt9JGM9Z2V0X3ZhbHMoJGctPnNlcnZlcl9pbmZvPj01PyJTRUxFQ1QgU0NIRU1BX05BTUUgRlJPTSBpbmZvcm1hdGlvbl9zY2hlbWEuU0NIRU1BVEEiOiJTSE9XIERBVEFCQVNFUyIpO31yZXR1cm4kYzt9ZnVuY3Rpb24KbGltaXQoJGosJHMsJE8sJEw9MCwkV2E9IiAiKXtyZXR1cm4iICRqJHMiLihpc3NldCgkTyk/JFdhLiJMSU1JVCAkTyIuKCRMPyIgT0ZGU0VUICRMIjoiIik6IiIpO31mdW5jdGlvbgpsaW1pdDEoJGosJHMpe3JldHVybgpsaW1pdCgkaiwkcywxKTt9ZnVuY3Rpb24KZGJfY29sbGF0aW9uKCR0LCRaKXtnbG9iYWwkZzskYz1udWxsOyRsYT0kZy0+cmVzdWx0KCJTSE9XIENSRUFURSBEQVRBQkFTRSAiLmlkZl9lc2NhcGUoJHQpLDEpO2lmKHByZWdfbWF0Y2goJ34gQ09MTEFURSAoW14gXSspficsJGxhLCRrKSl7JGM9JGtbMV07fWVsc2VpZihwcmVnX21hdGNoKCd+IENIQVJBQ1RFUiBTRVQgKFteIF0rKX4nLCRsYSwkaykpeyRjPSRaWyRrWzFdXVstMV07fXJldHVybiRjO31mdW5jdGlvbgplbmdpbmVzKCl7JGM9YXJyYXkoKTtmb3JlYWNoKGdldF9yb3dzKCJTSE9XIEVOR0lORVMiKWFzJGEpe2lmKGVyZWcoIllFU3xERUZBVUxUIiwkYVsiU3VwcG9ydCJdKSl7JGNbXT0kYVsiRW5naW5lIl07fX1yZXR1cm4kYzt9ZnVuY3Rpb24KbG9nZ2VkX3VzZXIoKXtnbG9iYWwkZztyZXR1cm4kZy0+cmVzdWx0KCJTRUxFQ1QgVVNFUigpIik7fWZ1bmN0aW9uCnRhYmxlc19saXN0KCl7Z2xvYmFsJGc7cmV0dXJuCmdldF9rZXlfdmFscygiU0hPVyIuKCRnLT5zZXJ2ZXJfaW5mbz49NT8iIEZVTEwiOiIiKS4iIFRBQkxFUyIpO31mdW5jdGlvbgpjb3VudF90YWJsZXMoJF8peyRjPWFycmF5KCk7Zm9yZWFjaCgkXwphcyR0KXskY1skdF09Y291bnQoZ2V0X3ZhbHMoIlNIT1cgVEFCTEVTIElOICIuaWRmX2VzY2FwZSgkdCkpKTt9cmV0dXJuJGM7fWZ1bmN0aW9uCnRhYmxlX3N0YXR1cygkZj0iIil7JGM9YXJyYXkoKTtmb3JlYWNoKGdldF9yb3dzKCJTSE9XIFRBQkxFIFNUQVRVUyIuKCRmIT0iIj8iIExJS0UgIi5xKGFkZGNzbGFzaGVzKCRmLCIlXyIpKToiIikpYXMkYSl7aWYoJGFbIkVuZ2luZSJdPT0iSW5ub0RCIil7JGFbIkNvbW1lbnQiXT1wcmVnX3JlcGxhY2UoJ34oPzooLispOyApP0lubm9EQiBmcmVlOiAuKn4nLCdcXDEnLCRhWyJDb21tZW50Il0pO31pZighaXNzZXQoJGFbIlJvd3MiXSkpeyRhWyJDb21tZW50Il09IiI7fWlmKCRmIT0iIil7cmV0dXJuJGE7fSRjWyRhWyJOYW1lIl1dPSRhO31yZXR1cm4kYzt9ZnVuY3Rpb24KaXNfdmlldygkRCl7cmV0dXJuIWlzc2V0KCREWyJSb3dzIl0pO31mdW5jdGlvbgpma19zdXBwb3J0KCREKXtyZXR1cm4oJERbIkVuZ2luZSJdPT0iSW5ub0RCIik7fWZ1bmN0aW9uCmZpZWxkcygkaCl7JGM9YXJyYXkoKTtmb3JlYWNoKGdldF9yb3dzKCJTSE9XIEZVTEwgQ09MVU1OUyBGUk9NICIudGFibGUoJGgpKWFzJGEpe3ByZWdfbWF0Y2goJ35eKFteKCBdKykoPzpcXCgoLispXFwpKT8oIHVuc2lnbmVkKT8oIHplcm9maWxsKT8kficsJGFbIlR5cGUiXSwkayk7JGNbJGFbIkZpZWxkIl1dPWFycmF5KCJmaWVsZCI9PiRhWyJGaWVsZCJdLCJmdWxsX3R5cGUiPT4kYVsiVHlwZSJdLCJ0eXBlIj0+JGtbMV0sImxlbmd0aCI9PiRrWzJdLCJ1bnNpZ25lZCI9Pmx0cmltKCRrWzNdLiRrWzRdKSwiZGVmYXVsdCI9PigkYVsiRGVmYXVsdCJdIT0iInx8ZXJlZygiY2hhciIsJGtbMV0pPyRhWyJEZWZhdWx0Il06bnVsbCksIm51bGwiPT4oJGFbIk51bGwiXT09IllFUyIpLCJhdXRvX2luY3JlbWVudCI9PigkYVsiRXh0cmEiXT09ImF1dG9faW5jcmVtZW50IiksIm9uX3VwZGF0ZSI9PihlcmVnaSgnXm9uIHVwZGF0ZSAoLispJywkYVsiRXh0cmEiXSwkayk/JGtbMV06IiIpLCJjb2xsYXRpb24iPT4kYVsiQ29sbGF0aW9uIl0sInByaXZpbGVnZXMiPT5hcnJheV9mbGlwKGV4cGxvZGUoIiwiLCRhWyJQcml2aWxlZ2VzIl0pKSwiY29tbWVudCI9PiRhWyJDb21tZW50Il0sInByaW1hcnkiPT4oJGFbIktleSJdPT0iUFJJIiksKTt9cmV0dXJuJGM7fWZ1bmN0aW9uCmluZGV4ZXMoJGgsJEc9bnVsbCl7Z2xvYmFsJGc7aWYoIWlzX29iamVjdCgkRykpeyRHPSRnO30kYz1hcnJheSgpO2ZvcmVhY2goZ2V0X3Jvd3MoIlNIT1cgSU5ERVggRlJPTSAiLnRhYmxlKCRoKSwkRylhcyRhKXskY1skYVsiS2V5X25hbWUiXV1bInR5cGUiXT0oJGFbIktleV9uYW1lIl09PSJQUklNQVJZIj8iUFJJTUFSWSI6KCRhWyJJbmRleF90eXBlIl09PSJGVUxMVEVYVCI/IkZVTExURVhUIjooJGFbIk5vbl91bmlxdWUiXT8iSU5ERVgiOiJVTklRVUUiKSkpOyRjWyRhWyJLZXlfbmFtZSJdXVsiY29sdW1ucyJdW109JGFbIkNvbHVtbl9uYW1lIl07JGNbJGFbIktleV9uYW1lIl1dWyJsZW5ndGhzIl1bXT0kYVsiU3ViX3BhcnQiXTt9cmV0dXJuJGM7fWZ1bmN0aW9uCmZvcmVpZ25fa2V5cygkaCl7Z2xvYmFsJGcsJGZiO3N0YXRpYyRiYT0nYCg/OlteYF18YGApK2AnOyRjPWFycmF5KCk7JGlmPSRnLT5yZXN1bHQoIlNIT1cgQ1JFQVRFIFRBQkxFICIudGFibGUoJGgpLDEpO2lmKCRpZil7cHJlZ19tYXRjaF9hbGwoIn5DT05TVFJBSU5UICgkYmEpIEZPUkVJR04gS0VZIFxcKCgoPzokYmEsPyA/KSspXFwpIFJFRkVSRU5DRVMgKCRiYSkoPzpcXC4oJGJhKSk/IFxcKCgoPzokYmEsPyA/KSspXFwpKD86IE9OIERFTEVURSAoIi5pbXBsb2RlKCJ8IiwkZmIpLiIpKT8oPzogT04gVVBEQVRFICgiLmltcGxvZGUoInwiLCRmYikuIikpP34iLCRpZiwkb2EsUFJFR19TRVRfT1JERVIpO2ZvcmVhY2goJG9hCmFzJGspe3ByZWdfbWF0Y2hfYWxsKCJ+JGJhfiIsJGtbMl0sJEdhKTtwcmVnX21hdGNoX2FsbCgifiRiYX4iLCRrWzVdLCRlYSk7JGNbaWRmX3VuZXNjYXBlKCRrWzFdKV09YXJyYXkoImRiIj0+aWRmX3VuZXNjYXBlKCRrWzRdIT0iIj8ka1szXToka1s0XSksInRhYmxlIj0+aWRmX3VuZXNjYXBlKCRrWzRdIT0iIj8ka1s0XToka1szXSksInNvdXJjZSI9PmFycmF5X21hcCgnaWRmX3VuZXNjYXBlJywkR2FbMF0pLCJ0YXJnZXQiPT5hcnJheV9tYXAoJ2lkZl91bmVzY2FwZScsJGVhWzBdKSwib25fZGVsZXRlIj0+JGtbNl0sIm9uX3VwZGF0ZSI9PiRrWzddLCk7fX1yZXR1cm4kYzt9ZnVuY3Rpb24KdmlldygkZil7Z2xvYmFsJGc7cmV0dXJuCmFycmF5KCJzZWxlY3QiPT5wcmVnX3JlcGxhY2UoJ35eKD86W15gXXxgW15gXSpgKSpcXHMrQVNcXHMrfmlzVScsJycsJGctPnJlc3VsdCgiU0hPVyBDUkVBVEUgVklFVyAiLnRhYmxlKCRmKSwxKSkpO31mdW5jdGlvbgpjb2xsYXRpb25zKCl7JGM9YXJyYXkoKTtmb3JlYWNoKGdldF9yb3dzKCJTSE9XIENPTExBVElPTiIpYXMkYSl7aWYoJGFbIkRlZmF1bHQiXSl7JGNbJGFbIkNoYXJzZXQiXV1bLTFdPSRhWyJDb2xsYXRpb24iXTt9ZWxzZXskY1skYVsiQ2hhcnNldCJdXVtdPSRhWyJDb2xsYXRpb24iXTt9fWtzb3J0KCRjKTtmb3JlYWNoKCRjCmFzJGQ9PiRiKXthc29ydCgkY1skZF0pO31yZXR1cm4kYzt9ZnVuY3Rpb24KaW5mb3JtYXRpb25fc2NoZW1hKCR0KXtnbG9iYWwkZztyZXR1cm4oJGctPnNlcnZlcl9pbmZvPj01JiYkdD09ImluZm9ybWF0aW9uX3NjaGVtYSIpO31mdW5jdGlvbgplcnJvcigpe2dsb2JhbCRnO3JldHVybgpoKHByZWdfcmVwbGFjZSgnfl5Zb3UgaGF2ZSBhbiBlcnJvci4qc3ludGF4IHRvIHVzZX5VJywiU3ludGF4IGVycm9yIiwkZy0+ZXJyb3IpKTt9ZnVuY3Rpb24KZXhhY3RfdmFsdWUoJGIpe3JldHVybgpxKCRiKS4iIENPTExBVEUgdXRmOF9iaW4iO31mdW5jdGlvbgpjcmVhdGVfZGF0YWJhc2UoJHQsJFUpe3NldF9zZXNzaW9uKCJkYnMiLG51bGwpO3JldHVybgpxdWVyaWVzKCJDUkVBVEUgREFUQUJBU0UgIi5pZGZfZXNjYXBlKCR0KS4oJFU/IiBDT0xMQVRFICIucSgkVSk6IiIpKTt9ZnVuY3Rpb24KZHJvcF9kYXRhYmFzZXMoJF8pe3NldF9zZXNzaW9uKCJkYnMiLG51bGwpO3JldHVybgphcHBseV9xdWVyaWVzKCJEUk9QIERBVEFCQVNFIiwkXywnaWRmX2VzY2FwZScpO31mdW5jdGlvbgpyZW5hbWVfZGF0YWJhc2UoJGYsJFUpe2lmKGNyZWF0ZV9kYXRhYmFzZSgkZiwkVSkpeyRkYz1hcnJheSgpO2ZvcmVhY2godGFibGVzX2xpc3QoKWFzJGg9PiR6KXskZGNbXT10YWJsZSgkaCkuIiBUTyAiLmlkZl9lc2NhcGUoJGYpLiIuIi50YWJsZSgkaCk7fWlmKCEkZGN8fHF1ZXJpZXMoIlJFTkFNRSBUQUJMRSAiLmltcGxvZGUoIiwgIiwkZGMpKSl7cXVlcmllcygiRFJPUCBEQVRBQkFTRSAiLmlkZl9lc2NhcGUoREIpKTtyZXR1cm4KdHJ1ZTt9fXJldHVybgpmYWxzZTt9ZnVuY3Rpb24KYXV0b19pbmNyZW1lbnQoKXskRGQ9IiBQUklNQVJZIEtFWSI7aWYoJF9HRVRbImNyZWF0ZSJdIT0iIiYmJF9QT1NUWyJhdXRvX2luY3JlbWVudF9jb2wiXSl7Zm9yZWFjaChpbmRleGVzKCRfR0VUWyJjcmVhdGUiXSlhcyR4KXtpZihpbl9hcnJheSgkX1BPU1RbImZpZWxkcyJdWyRfUE9TVFsiYXV0b19pbmNyZW1lbnRfY29sIl1dWyJvcmlnIl0sJHhbImNvbHVtbnMiXSx0cnVlKSl7JERkPSIiO2JyZWFrO31pZigkeFsidHlwZSJdPT0iUFJJTUFSWSIpeyREZD0iIFVOSVFVRSI7fX19cmV0dXJuIiBBVVRPX0lOQ1JFTUVOVCREZCI7fWZ1bmN0aW9uCmFsdGVyX3RhYmxlKCRoLCRmLCRwLCRPYSwkX2EsJHliLCRVLCRTYSwkdmIpeyR1PWFycmF5KCk7Zm9yZWFjaCgkcAphcyRlKXskdVtdPSgkZVsxXT8oJGghPSIiPygkZVswXSE9IiI/IkNIQU5HRSAiLmlkZl9lc2NhcGUoJGVbMF0pOiJBREQiKToiICIpLiIgIi5pbXBsb2RlKCRlWzFdKS4oJGghPSIiPyIgJGVbMl0iOiIiKToiRFJPUCAiLmlkZl9lc2NhcGUoJGVbMF0pKTt9JHU9YXJyYXlfbWVyZ2UoJHUsJE9hKTskZmM9IkNPTU1FTlQ9Ii5xKCRfYSkuKCR5Yj8iIEVOR0lORT0iLnEoJHliKToiIikuKCRVPyIgQ09MTEFURSAiLnEoJFUpOiIiKS4oJFNhIT0iIj8iIEFVVE9fSU5DUkVNRU5UPSRTYSI6IiIpLiR2YjtpZigkaD09IiIpe3JldHVybgpxdWVyaWVzKCJDUkVBVEUgVEFCTEUgIi50YWJsZSgkZikuIiAoXG4iLmltcGxvZGUoIixcbiIsJHUpLiJcbikgJGZjIik7fWlmKCRoIT0kZil7JHVbXT0iUkVOQU1FIFRPICIudGFibGUoJGYpO30kdVtdPSRmYztyZXR1cm4KcXVlcmllcygiQUxURVIgVEFCTEUgIi50YWJsZSgkaCkuIlxuIi5pbXBsb2RlKCIsXG4iLCR1KSk7fWZ1bmN0aW9uCmFsdGVyX2luZGV4ZXMoJGgsJHUpe2ZvcmVhY2goJHUKYXMkZD0+JGIpeyR1WyRkXT0oJGJbMl0/IlxuRFJPUCBJTkRFWCAiOiJcbkFERCAkYlswXSAiLigkYlswXT09IlBSSU1BUlkiPyJLRVkgIjoiIikpLiRiWzFdO31yZXR1cm4KcXVlcmllcygiQUxURVIgVEFCTEUgIi50YWJsZSgkaCkuaW1wbG9kZSgiLCIsJHUpKTt9ZnVuY3Rpb24KdHJ1bmNhdGVfdGFibGVzKCRFKXtyZXR1cm4KYXBwbHlfcXVlcmllcygiVFJVTkNBVEUgVEFCTEUiLCRFKTt9ZnVuY3Rpb24KZHJvcF92aWV3cygkWCl7cmV0dXJuCnF1ZXJpZXMoIkRST1AgVklFVyAiLmltcGxvZGUoIiwgIixhcnJheV9tYXAoJ3RhYmxlJywkWCkpKTt9ZnVuY3Rpb24KZHJvcF90YWJsZXMoJEUpe3JldHVybgpxdWVyaWVzKCJEUk9QIFRBQkxFICIuaW1wbG9kZSgiLCAiLGFycmF5X21hcCgndGFibGUnLCRFKSkpO31mdW5jdGlvbgptb3ZlX3RhYmxlcygkRSwkWCwkZWEpeyRkYz1hcnJheSgpO2ZvcmVhY2goYXJyYXlfbWVyZ2UoJEUsJFgpYXMkaCl7JGRjW109dGFibGUoJGgpLiIgVE8gIi5pZGZfZXNjYXBlKCRlYSkuIi4iLnRhYmxlKCRoKTt9cmV0dXJuCnF1ZXJpZXMoIlJFTkFNRSBUQUJMRSAiLmltcGxvZGUoIiwgIiwkZGMpKTt9ZnVuY3Rpb24KY29weV90YWJsZXMoJEUsJFgsJGVhKXtmb3JlYWNoKCRFCmFzJGgpeyRmPSgkZWE9PURCP3RhYmxlKCJjb3B5XyRoIik6aWRmX2VzY2FwZSgkZWEpLiIuIi50YWJsZSgkaCkpO2lmKCFxdWVyaWVzKCJEUk9QIFRBQkxFIElGIEVYSVNUUyAkZiIpfHwhcXVlcmllcygiQ1JFQVRFIFRBQkxFICRmIExJS0UgIi50YWJsZSgkaCkpfHwhcXVlcmllcygiSU5TRVJUIElOVE8gJGYgU0VMRUNUICogRlJPTSAiLnRhYmxlKCRoKSkpe3JldHVybgpmYWxzZTt9fWZvcmVhY2goJFgKYXMkaCl7JGY9KCRlYT09REI/dGFibGUoImNvcHlfJGgiKTppZGZfZXNjYXBlKCRlYSkuIi4iLnRhYmxlKCRoKSk7JGNjPXZpZXcoJGgpO2lmKCFxdWVyaWVzKCJEUk9QIFZJRVcgSUYgRVhJU1RTICRmIil8fCFxdWVyaWVzKCJDUkVBVEUgVklFVyAkZiBBUyAkY2Nbc2VsZWN0XSIpKXtyZXR1cm4KZmFsc2U7fX1yZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24KdHJpZ2dlcigkZil7JEg9Z2V0X3Jvd3MoIlNIT1cgVFJJR0dFUlMgV0hFUkUgYFRyaWdnZXJgID0gIi5xKCRmKSk7cmV0dXJuCnJlc2V0KCRIKTt9ZnVuY3Rpb24KdHJpZ2dlcnMoJGgpeyRjPWFycmF5KCk7Zm9yZWFjaChnZXRfcm93cygiU0hPVyBUUklHR0VSUyBMSUtFICIucShhZGRjc2xhc2hlcygkaCwiJV8iKSkpYXMkYSl7JGNbJGFbIlRyaWdnZXIiXV09YXJyYXkoJGFbIlRpbWluZyJdLCRhWyJFdmVudCJdKTt9cmV0dXJuJGM7fWZ1bmN0aW9uCnRyaWdnZXJfb3B0aW9ucygpe3JldHVybgphcnJheSgiVGltaW5nIj0+YXJyYXkoIkJFRk9SRSIsIkFGVEVSIiksIlR5cGUiPT5hcnJheSgiRk9SIEVBQ0ggUk9XIiksKTt9ZnVuY3Rpb24Kcm91dGluZSgkZiwkeil7Z2xvYmFsJGcsJEdiLCRqYywkUjska2Y9YXJyYXkoImJvb2wiLCJib29sZWFuIiwiaW50ZWdlciIsImRvdWJsZSBwcmVjaXNpb24iLCJyZWFsIiwiZGVjIiwibnVtZXJpYyIsImZpeGVkIiwibmF0aW9uYWwgY2hhciIsIm5hdGlvbmFsIHZhcmNoYXIiKTskQ2U9IigoIi5pbXBsb2RlKCJ8IixhcnJheV9tZXJnZShhcnJheV9rZXlzKCRSKSwka2YpKS4iKSg/OlxccypcXCgoKD86W14nXCIpXSp8JEdiKSspXFwpKT9cXHMqKHplcm9maWxsXFxzKik/KHVuc2lnbmVkKD86XFxzK3plcm9maWxsKT8pPykoPzpcXHMqKD86Q0hBUlNFVHxDSEFSQUNURVJcXHMrU0VUKVxccypbJ1wiXT8oW14nXCJcXHNdKylbJ1wiXT8pPyI7JGJhPSJcXHMqKCIuKCR6PT0iRlVOQ1RJT04iPyIiOmltcGxvZGUoInwiLCRqYykpLiIpP1xccyooPzpgKCg/OlteYF18YGApKilgXFxzKnxcXGIoXFxTKylcXHMrKSRDZSI7JGxhPSRnLT5yZXN1bHQoIlNIT1cgQ1JFQVRFICR6ICIuaWRmX2VzY2FwZSgkZiksMik7cHJlZ19tYXRjaCgiflxcKCgoPzokYmFcXHMqLD8pKilcXCkiLigkej09IkZVTkNUSU9OIj8iXFxzKlJFVFVSTlNcXHMrJENlIjoiIikuIlxccyooLiopfmlzIiwkbGEsJGspOyRwPWFycmF5KCk7cHJlZ19tYXRjaF9hbGwoIn4kYmFcXHMqLD9+aXMiLCRrWzFdLCRvYSxQUkVHX1NFVF9PUkRFUik7Zm9yZWFjaCgkb2EKYXMkWmEpeyRmPXN0cl9yZXBsYWNlKCJgYCIsImAiLCRaYVsyXSkuJFphWzNdOyRwW109YXJyYXkoImZpZWxkIj0+JGYsInR5cGUiPT5zdHJ0b2xvd2VyKCRaYVs1XSksImxlbmd0aCI9PnByZWdfcmVwbGFjZV9jYWxsYmFjaygifiRHYn5zIiwnbm9ybWFsaXplX2VudW0nLCRaYVs2XSksInVuc2lnbmVkIj0+c3RydG9sb3dlcihwcmVnX3JlcGxhY2UoJ35cXHMrficsJyAnLHRyaW0oIiRaYVs4XSAkWmFbN10iKSkpLCJmdWxsX3R5cGUiPT4kWmFbNF0sImlub3V0Ij0+c3RydG91cHBlcigkWmFbMV0pLCJjb2xsYXRpb24iPT5zdHJ0b2xvd2VyKCRaYVs5XSksKTt9aWYoJHohPSJGVU5DVElPTiIpe3JldHVybgphcnJheSgiZmllbGRzIj0+JHAsImRlZmluaXRpb24iPT4ka1sxMV0pO31yZXR1cm4KYXJyYXkoImZpZWxkcyI9PiRwLCJyZXR1cm5zIj0+YXJyYXkoInR5cGUiPT4ka1sxMl0sImxlbmd0aCI9PiRrWzEzXSwidW5zaWduZWQiPT4ka1sxNV0sImNvbGxhdGlvbiI9PiRrWzE2XSksImRlZmluaXRpb24iPT4ka1sxN10sKTt9ZnVuY3Rpb24Kcm91dGluZXMoKXtyZXR1cm4KZ2V0X3Jvd3MoIlNFTEVDVCAqIEZST00gaW5mb3JtYXRpb25fc2NoZW1hLlJPVVRJTkVTIFdIRVJFIFJPVVRJTkVfU0NIRU1BID0gIi5xKERCKSk7fWZ1bmN0aW9uCmJlZ2luKCl7cmV0dXJuCnF1ZXJpZXMoIkJFR0lOIik7fWZ1bmN0aW9uCmluc2VydF9pbnRvKCRoLCRyKXtyZXR1cm4KcXVlcmllcygiSU5TRVJUIElOVE8gIi50YWJsZSgkaCkuIiAoIi5pbXBsb2RlKCIsICIsYXJyYXlfa2V5cygkcikpLiIpXG5WQUxVRVMgKCIuaW1wbG9kZSgiLCAiLCRyKS4iKSIpO31mdW5jdGlvbgppbnNlcnRfdXBkYXRlKCRoLCRyLCRRYSl7Zm9yZWFjaCgkcgphcyRkPT4kYil7JHJbJGRdPSIkZCA9ICRiIjt9JHFhPWltcGxvZGUoIiwgIiwkcik7cmV0dXJuCnF1ZXJpZXMoIklOU0VSVCBJTlRPICIudGFibGUoJGgpLiIgU0VUICRxYSBPTiBEVVBMSUNBVEUgS0VZIFVQREFURSAkcWEiKTt9ZnVuY3Rpb24KbGFzdF9pZCgpe2dsb2JhbCRnO3JldHVybiRnLT5yZXN1bHQoIlNFTEVDVCBMQVNUX0lOU0VSVF9JRCgpIik7fWZ1bmN0aW9uCmV4cGxhaW4oJGcsJGope3JldHVybiRnLT5xdWVyeSgiRVhQTEFJTiAkaiIpO31mdW5jdGlvbgp0eXBlcygpe3JldHVybgphcnJheSgpO31mdW5jdGlvbgpzY2hlbWFzKCl7cmV0dXJuCmFycmF5KCk7fWZ1bmN0aW9uCmdldF9zY2hlbWEoKXtyZXR1cm4iIjt9ZnVuY3Rpb24Kc2V0X3NjaGVtYSgkS2Epe3JldHVybgp0cnVlO31mdW5jdGlvbgpjcmVhdGVfc3FsKCRoLCRTYSl7Z2xvYmFsJGc7JGM9JGctPnJlc3VsdCgiU0hPVyBDUkVBVEUgVEFCTEUgIi50YWJsZSgkaCksMSk7aWYoISRTYSl7JGM9cHJlZ19yZXBsYWNlKCd+IEFVVE9fSU5DUkVNRU5UPVxcZCt+JywnJywkYyk7fXJldHVybiRjO31mdW5jdGlvbgp0cnVuY2F0ZV9zcWwoJGgpe3JldHVybiJUUlVOQ0FURSAiLnRhYmxlKCRoKTt9ZnVuY3Rpb24KdXNlX3NxbCgkaWEpe3JldHVybiJVU0UgIi5pZGZfZXNjYXBlKCRpYSk7fWZ1bmN0aW9uCnRyaWdnZXJfc3FsKCRoLCRWKXskYz0iIjtmb3JlYWNoKGdldF9yb3dzKCJTSE9XIFRSSUdHRVJTIExJS0UgIi5xKGFkZGNzbGFzaGVzKCRoLCIlXyIpKSxudWxsLCItLSAiKWFzJGEpeyRjLj0iXG4iLigkVj09J0NSRUFURStBTFRFUic/IkRST1AgVFJJR0dFUiBJRiBFWElTVFMgIi5pZGZfZXNjYXBlKCRhWyJUcmlnZ2VyIl0pLiI7O1xuIjoiIikuIkNSRUFURSBUUklHR0VSICIuaWRmX2VzY2FwZSgkYVsiVHJpZ2dlciJdKS4iICRhW1RpbWluZ10gJGFbRXZlbnRdIE9OICIudGFibGUoJGFbIlRhYmxlIl0pLiIgRk9SIEVBQ0ggUk9XXG4kYVtTdGF0ZW1lbnRdOztcbiI7fXJldHVybiRjO31mdW5jdGlvbgpzaG93X3ZhcmlhYmxlcygpe3JldHVybgpnZXRfa2V5X3ZhbHMoIlNIT1cgVkFSSUFCTEVTIik7fWZ1bmN0aW9uCnNob3dfc3RhdHVzKCl7cmV0dXJuCmdldF9rZXlfdmFscygiU0hPVyBTVEFUVVMiKTt9ZnVuY3Rpb24Kc3VwcG9ydCgkcmIpe2dsb2JhbCRnO3JldHVybiFlcmVnKCJzY2hlbWV8c2VxdWVuY2V8dHlwZSIuKCRnLT5zZXJ2ZXJfaW5mbzw1LjE/InxldmVudHxwYXJ0aXRpb25pbmciLigkZy0+c2VydmVyX2luZm88NT8ifHZpZXd8cm91dGluZXx0cmlnZ2VyIjoiIik6IiIpLCRyYik7fSR2PSJzcWwiOyRSPWFycmF5KCk7JExhPWFycmF5KCk7Zm9yZWFjaChhcnJheShsYW5nKDEyKT0+YXJyYXkoInRpbnlpbnQiPT4zLCJzbWFsbGludCI9PjUsIm1lZGl1bWludCI9PjgsImludCI9PjEwLCJiaWdpbnQiPT4yMCwiZGVjaW1hbCI9PjY2LCJmbG9hdCI9PjEyLCJkb3VibGUiPT4yMSksbGFuZygxMyk9PmFycmF5KCJkYXRlIj0+MTAsImRhdGV0aW1lIj0+MTksInRpbWVzdGFtcCI9PjE5LCJ0aW1lIj0+MTAsInllYXIiPT40KSxsYW5nKDE0KT0+YXJyYXkoImNoYXIiPT4yNTUsInZhcmNoYXIiPT42NTUzNSwidGlueXRleHQiPT4yNTUsInRleHQiPT42NTUzNSwibWVkaXVtdGV4dCI9PjE2Nzc3MjE1LCJsb25ndGV4dCI9PjQyOTQ5NjcyOTUpLGxhbmcoMTUpPT5hcnJheSgiYml0Ij0+MjAsImJpbmFyeSI9PjI1NSwidmFyYmluYXJ5Ij0+NjU1MzUsInRpbnlibG9iIj0+MjU1LCJibG9iIj0+NjU1MzUsIm1lZGl1bWJsb2IiPT4xNjc3NzIxNSwibG9uZ2Jsb2IiPT40Mjk0OTY3Mjk1KSxsYW5nKDE4KT0+YXJyYXkoImVudW0iPT42NTUzNSwic2V0Ij0+NjQpLClhcyRkPT4kYil7JFIrPSRiOyRMYVskZF09YXJyYXlfa2V5cygkYik7fSRvYj1hcnJheSgidW5zaWduZWQiLCJ6ZXJvZmlsbCIsInVuc2lnbmVkIHplcm9maWxsIik7JGdjPWFycmF5KCI9IiwiPCIsIj4iLCI8PSIsIj49IiwiIT0iLCJMSUtFIiwiTElLRSAlJSIsIlJFR0VYUCIsIklOIiwiSVMgTlVMTCIsIk5PVCBMSUtFIiwiTk9UIFJFR0VYUCIsIk5PVCBJTiIsIklTIE5PVCBOVUxMIiwiIik7JGRhPWFycmF5KCJjaGFyX2xlbmd0aCIsImRhdGUiLCJmcm9tX3VuaXh0aW1lIiwiaGV4IiwibG93ZXIiLCJyb3VuZCIsInNlY190b190aW1lIiwidGltZV90b19zZWMiLCJ1cHBlciIpOyRsYj1hcnJheSgiYXZnIiwiY291bnQiLCJjb3VudCBkaXN0aW5jdCIsImdyb3VwX2NvbmNhdCIsIm1heCIsIm1pbiIsInN1bSIpOyROYj1hcnJheShhcnJheSgiY2hhciI9PiJtZDUvc2hhMS9wYXNzd29yZC9lbmNyeXB0L3V1aWQiLCJiaW5hcnkiPT4ibWQ1L3NoYTEvaGV4IiwiZGF0ZXx0aW1lIj0+Im5vdyIsKSxhcnJheSgiaW50fGZsb2F0fGRvdWJsZXxkZWNpbWFsIj0+IisvLSIsImRhdGUiPT4iKyBpbnRlcnZhbC8tIGludGVydmFsIiwidGltZSI9PiJhZGR0aW1lL3N1YnRpbWUiLCJjaGFyfHRleHQiPT4iY29uY2F0IiwpKTt9ZGVmaW5lKCJTRVJWRVIiLCRfR0VUW0RSSVZFUl0pO2RlZmluZSgiREIiLCRfR0VUWyJkYiJdKTtkZWZpbmUoIk1FIixwcmVnX3JlcGxhY2UoJ35eW14/XSovKFteP10qKS4qficsJ1xcMScsJF9TRVJWRVJbIlJFUVVFU1RfVVJJIl0pLic/Jy4oc2lkKCk/U0lELicmJzonJykuKFNFUlZFUiE9PW51bGw/RFJJVkVSLiI9Ii51cmxlbmNvZGUoU0VSVkVSKS4nJic6JycpLihpc3NldCgkX0dFVFsidXNlcm5hbWUiXSk/InVzZXJuYW1lPSIudXJsZW5jb2RlKCRfR0VUWyJ1c2VybmFtZSJdKS4nJic6JycpLihEQiE9IiI/J2RiPScudXJsZW5jb2RlKERCKS4nJicuKGlzc2V0KCRfR0VUWyJucyJdKT8ibnM9Ii51cmxlbmNvZGUoJF9HRVRbIm5zIl0pLiImIjoiIik6JycpKTskdGM9IjMuMi4yIjtjbGFzcwpBZG1pbmVye3ZhciRvcGVyYXRvcnM7ZnVuY3Rpb24KbmFtZSgpe3JldHVybiJBZG1pbmVyIjt9ZnVuY3Rpb24KY3JlZGVudGlhbHMoKXtyZXR1cm4KYXJyYXkoU0VSVkVSLCRfR0VUWyJ1c2VybmFtZSJdLGdldF9zZXNzaW9uKCJwd2RzIikpO31mdW5jdGlvbgpwZXJtYW5lbnRMb2dpbigpe3JldHVybgpwYXNzd29yZF9maWxlKCk7fWZ1bmN0aW9uCmRhdGFiYXNlKCl7cmV0dXJuCkRCO31mdW5jdGlvbgpoZWFkZXJzKCl7aGVhZGVyKCJYLUZyYW1lLU9wdGlvbnM6IGRlbnkiKTtoZWFkZXIoIlgtWFNTLVByb3RlY3Rpb246IDAiKTt9ZnVuY3Rpb24KaGVhZCgpe3JldHVybgp0cnVlO31mdW5jdGlvbgpsb2dpbkZvcm0oKXtnbG9iYWwkbmE7ZWNobyc8dGFibGUgY2VsbHNwYWNpbmc9IjAiPgo8dHI+PHRoPicsbGFuZygxOSksJzx0ZD4nLGh0bWxfc2VsZWN0KCJkcml2ZXIiLCRuYSxEUklWRVIsImxvZ2luRHJpdmVyKHRoaXMpOyIpLCc8dHI+PHRoPicsbGFuZygyMCksJzx0ZD48aW5wdXQgbmFtZT0ic2VydmVyIiB2YWx1ZT0iJyxoKFNFUlZFUiksJyI+Cjx0cj48dGg+JyxsYW5nKDIxKSwnPHRkPjxpbnB1dCBpZD0idXNlcm5hbWUiIG5hbWU9InVzZXJuYW1lIiB2YWx1ZT0iJyxoKCRfR0VUWyJ1c2VybmFtZSJdKSwnIj4KPHRyPjx0aD4nLGxhbmcoMjIpOz8+PHRkPjxpbnB1dCB0eXBlPSJwYXNzd29yZCIgbmFtZT0icGFzc3dvcmQiPgo8L3RhYmxlPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CnZhciB1c2VybmFtZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd1c2VybmFtZScpOwp1c2VybmFtZS5mb2N1cygpOwp1c2VybmFtZS5mb3JtWydkcml2ZXInXS5vbmNoYW5nZSgpOwo8L3NjcmlwdD4KPD9waHAKCmVjaG8iPHA+PGlucHV0IHR5cGU9J3N1Ym1pdCcgdmFsdWU9JyIubGFuZygyMykuIic+XG4iLGNoZWNrYm94KCJwZXJtYW5lbnQiLDEsJF9DT09LSUVbImFkbWluZXJfcGVybWFuZW50Il0sbGFuZygyNCkpLiJcbiI7fWZ1bmN0aW9uCmxvZ2luKCRWZiwkVCl7cmV0dXJuCnRydWU7fWZ1bmN0aW9uCnRhYmxlTmFtZSgkZ2Qpe3JldHVybgpoKCRnZFsiTmFtZSJdKTt9ZnVuY3Rpb24KZmllbGROYW1lKCRlLCRYYT0wKXtyZXR1cm4nPHNwYW4gdGl0bGU9IicuaCgkZVsiZnVsbF90eXBlIl0pLiciPicuaCgkZVsiZmllbGQiXSkuJzwvc3Bhbj4nO31mdW5jdGlvbgpzZWxlY3RMaW5rcygkZ2QsJHI9IiIpe2VjaG8nPHAgY2xhc3M9InRhYnMiPic7JEphPWFycmF5KCJzZWxlY3QiPT5sYW5nKDI1KSwidGFibGUiPT5sYW5nKDI2KSk7aWYoaXNfdmlldygkZ2QpKXskSmFbInZpZXciXT1sYW5nKDI3KTt9ZWxzZXskSmFbImNyZWF0ZSJdPWxhbmcoMjgpO31pZihpc3NldCgkcikpeyRKYVsiZWRpdCJdPWxhbmcoMjkpO31mb3JlYWNoKCRKYQphcyRkPT4kYil7ZWNobyIgPGEgaHJlZj0nIi5oKE1FKS4iJGQ9Ii51cmxlbmNvZGUoJGdkWyJOYW1lIl0pLigkZD09ImVkaXQiPyRyOiIiKS4iJyIuYm9sZChpc3NldCgkX0dFVFskZF0pKS4iPiRiPC9hPiI7fWVjaG8iXG4iO31mdW5jdGlvbgpmb3JlaWduS2V5cygkaCl7cmV0dXJuCmZvcmVpZ25fa2V5cygkaCk7fWZ1bmN0aW9uCmJhY2t3YXJkS2V5cygkaCwkWmYpe3JldHVybgphcnJheSgpO31mdW5jdGlvbgpiYWNrd2FyZEtleXNQcmludCgkYWcsJGEpe31mdW5jdGlvbgpzZWxlY3RRdWVyeSgkail7Z2xvYmFsJHY7cmV0dXJuIjxwPjxhIGhyZWY9JyIuaChyZW1vdmVfZnJvbV91cmkoInBhZ2UiKSkuIiZhbXA7cGFnZT1sYXN0JyB0aXRsZT0nIi5sYW5nKDMwKS4iJz4mZ3Q7Jmd0OzwvYT4gPGNvZGUgY2xhc3M9J2p1c2gtJHYnPiIuaChzdHJfcmVwbGFjZSgiXG4iLCIgIiwkaikpLiI8L2NvZGU+IDxhIGhyZWY9JyIuaChNRSkuInNxbD0iLnVybGVuY29kZSgkaikuIic+Ii5sYW5nKDMxKS4iPC9hPjwvcD5cbiI7fWZ1bmN0aW9uCnJvd0Rlc2NyaXB0aW9uKCRoKXtyZXR1cm4iIjt9ZnVuY3Rpb24Kcm93RGVzY3JpcHRpb25zKCRILCR2Zil7cmV0dXJuJEg7fWZ1bmN0aW9uCnNlbGVjdFZhbCgkYiwkdywkZSl7JGM9KCRiIT0iPGk+TlVMTDwvaT4iJiZlcmVnKCJjaGFyfGJpbmFyeSIsJGVbInR5cGUiXSkmJiFlcmVnKCJ2YXIiLCRlWyJ0eXBlIl0pPyI8Y29kZT4kYjwvY29kZT4iOiRiKTtpZihlcmVnKCdibG9ifGJ5dGVhfHJhd3xmaWxlJywkZVsidHlwZSJdKSYmIWlzX3V0ZjgoJGIpKXskYz1sYW5nKDMyLHN0cmxlbihodG1sX2VudGl0eV9kZWNvZGUoJGIsRU5UX1FVT1RFUykpKTt9cmV0dXJuKCR3PyI8YSBocmVmPSckdyc+JGM8L2E+IjokYyk7fWZ1bmN0aW9uCmVkaXRWYWwoJGIsJGUpe3JldHVybihlcmVnKCJiaW5hcnkiLCRlWyJ0eXBlIl0pP3Jlc2V0KHVucGFjaygiSCoiLCRiKSk6JGIpO31mdW5jdGlvbgpzZWxlY3RDb2x1bW5zUHJpbnQoJFEsJEIpe2dsb2JhbCRkYSwkbGI7cHJpbnRfZmllbGRzZXQoInNlbGVjdCIsbGFuZygzMyksJFEpOyRsPTA7JE9lPWFycmF5KGxhbmcoMzQpPT4kZGEsbGFuZygzNSk9PiRsYik7Zm9yZWFjaCgkUQphcyRkPT4kYil7JGI9JF9HRVRbImNvbHVtbnMiXVskZF07ZWNobyI8ZGl2PiIuaHRtbF9zZWxlY3QoImNvbHVtbnNbJGxdW2Z1bl0iLGFycmF5KC0xPT4iIikrJE9lLCRiWyJmdW4iXSksIig8c2VsZWN0IG5hbWU9J2NvbHVtbnNbJGxdW2NvbF0nPjxvcHRpb24+Ii5vcHRpb25saXN0KCRCLCRiWyJjb2wiXSx0cnVlKS4iPC9zZWxlY3Q+KTwvZGl2PlxuIjskbCsrO31lY2hvIjxkaXY+Ii5odG1sX3NlbGVjdCgiY29sdW1uc1skbF1bZnVuXSIsYXJyYXkoLTE9PiIiKSskT2UsIiIsInRoaXMubmV4dFNpYmxpbmcubmV4dFNpYmxpbmcub25jaGFuZ2UoKTsiKSwiKDxzZWxlY3QgbmFtZT0nY29sdW1uc1skbF1bY29sXScgb25jaGFuZ2U9J3NlbGVjdEFkZFJvdyh0aGlzKTsnPjxvcHRpb24+Ii5vcHRpb25saXN0KCRCLG51bGwsdHJ1ZSkuIjwvc2VsZWN0Pik8L2Rpdj5cbiIsIjwvZGl2PjwvZmllbGRzZXQ+XG4iO31mdW5jdGlvbgpzZWxlY3RTZWFyY2hQcmludCgkcywkQiwkSil7cHJpbnRfZmllbGRzZXQoInNlYXJjaCIsbGFuZygzNiksJHMpO2ZvcmVhY2goJEoKYXMkbD0+JHgpe2lmKCR4WyJ0eXBlIl09PSJGVUxMVEVYVCIpe2VjaG8iKDxpPiIuaW1wbG9kZSgiPC9pPiwgPGk+IixhcnJheV9tYXAoJ2gnLCR4WyJjb2x1bW5zIl0pKS4iPC9pPikgQUdBSU5TVCIsIiA8aW5wdXQgbmFtZT0nZnVsbHRleHRbJGxdJyB2YWx1ZT0nIi5oKCRfR0VUWyJmdWxsdGV4dCJdWyRsXSkuIic+IixjaGVja2JveCgiYm9vbGVhblskbF0iLDEsaXNzZXQoJF9HRVRbImJvb2xlYW4iXVskbF0pLCJCT09MIiksIjxicj5cbiI7fX0kbD0wO2ZvcmVhY2goKGFycmF5KSRfR0VUWyJ3aGVyZSJdYXMkYil7aWYoIiRiW2NvbF0kYlt2YWxdIiE9IiImJmluX2FycmF5KCRiWyJvcCJdLCR0aGlzLT5vcGVyYXRvcnMpKXtlY2hvIjxkaXY+PHNlbGVjdCBuYW1lPSd3aGVyZVskbF1bY29sXSc+PG9wdGlvbiB2YWx1ZT0nJz4oIi5sYW5nKDM3KS4iKSIub3B0aW9ubGlzdCgkQiwkYlsiY29sIl0sdHJ1ZSkuIjwvc2VsZWN0PiIsaHRtbF9zZWxlY3QoIndoZXJlWyRsXVtvcF0iLCR0aGlzLT5vcGVyYXRvcnMsJGJbIm9wIl0pLCI8aW5wdXQgbmFtZT0nd2hlcmVbJGxdW3ZhbF0nIHZhbHVlPSciLmgoJGJbInZhbCJdKS4iJz48L2Rpdj5cbiI7JGwrKzt9fWVjaG8iPGRpdj48c2VsZWN0IG5hbWU9J3doZXJlWyRsXVtjb2xdJyBvbmNoYW5nZT0nc2VsZWN0QWRkUm93KHRoaXMpOyc+PG9wdGlvbiB2YWx1ZT0nJz4oIi5sYW5nKDM3KS4iKSIub3B0aW9ubGlzdCgkQixudWxsLHRydWUpLiI8L3NlbGVjdD4iLGh0bWxfc2VsZWN0KCJ3aGVyZVskbF1bb3BdIiwkdGhpcy0+b3BlcmF0b3JzLCI9IiksIjxpbnB1dCBuYW1lPSd3aGVyZVskbF1bdmFsXSc+PC9kaXY+XG4iLCI8L2Rpdj48L2ZpZWxkc2V0PlxuIjt9ZnVuY3Rpb24Kc2VsZWN0T3JkZXJQcmludCgkWGEsJEIsJEope3ByaW50X2ZpZWxkc2V0KCJzb3J0IixsYW5nKDM4KSwkWGEpOyRsPTA7Zm9yZWFjaCgoYXJyYXkpJF9HRVRbIm9yZGVyIl1hcyRkPT4kYil7aWYoaXNzZXQoJEJbJGJdKSl7ZWNobyI8ZGl2PjxzZWxlY3QgbmFtZT0nb3JkZXJbJGxdJz48b3B0aW9uPiIub3B0aW9ubGlzdCgkQiwkYix0cnVlKS4iPC9zZWxlY3Q+IixjaGVja2JveCgiZGVzY1skbF0iLDEsaXNzZXQoJF9HRVRbImRlc2MiXVskZF0pLGxhbmcoMzkpKS4iPC9kaXY+XG4iOyRsKys7fX1lY2hvIjxkaXY+PHNlbGVjdCBuYW1lPSdvcmRlclskbF0nIG9uY2hhbmdlPSdzZWxlY3RBZGRSb3codGhpcyk7Jz48b3B0aW9uPiIub3B0aW9ubGlzdCgkQixudWxsLHRydWUpLiI8L3NlbGVjdD4iLCI8bGFiZWw+PGlucHV0IHR5cGU9J2NoZWNrYm94JyBuYW1lPSdkZXNjWyRsXScgdmFsdWU9JzEnPiIubGFuZygzOSkuIjwvbGFiZWw+PC9kaXY+XG4iO2VjaG8iPC9kaXY+PC9maWVsZHNldD5cbiI7fWZ1bmN0aW9uCnNlbGVjdExpbWl0UHJpbnQoJE8pe2VjaG8iPGZpZWxkc2V0PjxsZWdlbmQ+Ii5sYW5nKDQwKS4iPC9sZWdlbmQ+PGRpdj4iO2VjaG8iPGlucHV0IG5hbWU9J2xpbWl0JyBzaXplPSczJyB2YWx1ZT0nIi5oKCRPKS4iJz4iLCI8L2Rpdj48L2ZpZWxkc2V0PlxuIjt9ZnVuY3Rpb24Kc2VsZWN0TGVuZ3RoUHJpbnQoJERiKXtpZihpc3NldCgkRGIpKXtlY2hvIjxmaWVsZHNldD48bGVnZW5kPiIubGFuZyg0MSkuIjwvbGVnZW5kPjxkaXY+IiwnPGlucHV0IG5hbWU9InRleHRfbGVuZ3RoIiBzaXplPSIzIiB2YWx1ZT0iJy5oKCREYikuJyI+JywiPC9kaXY+PC9maWVsZHNldD5cbiI7fX1mdW5jdGlvbgpzZWxlY3RBY3Rpb25QcmludCgpe2VjaG8iPGZpZWxkc2V0PjxsZWdlbmQ+Ii5sYW5nKDQyKS4iPC9sZWdlbmQ+PGRpdj4iLCI8aW5wdXQgdHlwZT0nc3VibWl0JyB2YWx1ZT0nIi5sYW5nKDMzKS4iJz4iLCI8L2Rpdj48L2ZpZWxkc2V0PlxuIjt9ZnVuY3Rpb24Kc2VsZWN0RW1haWxQcmludCgkYmcsJEIpe31mdW5jdGlvbgpzZWxlY3RDb2x1bW5zUHJvY2VzcygkQiwkSil7Z2xvYmFsJGRhLCRsYjskUT1hcnJheSgpOyRwYT1hcnJheSgpO2ZvcmVhY2goKGFycmF5KSRfR0VUWyJjb2x1bW5zIl1hcyRkPT4kYil7aWYoJGJbImZ1biJdPT0iY291bnQifHwoaXNzZXQoJEJbJGJbImNvbCJdXSkmJighJGJbImZ1biJdfHxpbl9hcnJheSgkYlsiZnVuIl0sJGRhKXx8aW5fYXJyYXkoJGJbImZ1biJdLCRsYikpKSl7JFFbJGRdPWFwcGx5X3NxbF9mdW5jdGlvbigkYlsiZnVuIl0sKGlzc2V0KCRCWyRiWyJjb2wiXV0pP2lkZl9lc2NhcGUoJGJbImNvbCJdKToiKiIpKTtpZighaW5fYXJyYXkoJGJbImZ1biJdLCRsYikpeyRwYVtdPSRRWyRkXTt9fX1yZXR1cm4KYXJyYXkoJFEsJHBhKTt9ZnVuY3Rpb24Kc2VsZWN0U2VhcmNoUHJvY2VzcygkcCwkSil7Z2xvYmFsJHY7JGM9YXJyYXkoKTtmb3JlYWNoKCRKCmFzJGw9PiR4KXtpZigkeFsidHlwZSJdPT0iRlVMTFRFWFQiJiYkX0dFVFsiZnVsbHRleHQiXVskbF0hPSIiKXskY1tdPSJNQVRDSCAoIi5pbXBsb2RlKCIsICIsYXJyYXlfbWFwKCdpZGZfZXNjYXBlJywkeFsiY29sdW1ucyJdKSkuIikgQUdBSU5TVCAoIi5xKCRfR0VUWyJmdWxsdGV4dCJdWyRsXSkuKGlzc2V0KCRfR0VUWyJib29sZWFuIl1bJGxdKT8iIElOIEJPT0xFQU4gTU9ERSI6IiIpLiIpIjt9fWZvcmVhY2goKGFycmF5KSRfR0VUWyJ3aGVyZSJdYXMkYil7aWYoIiRiW2NvbF0kYlt2YWxdIiE9IiImJmluX2FycmF5KCRiWyJvcCJdLCR0aGlzLT5vcGVyYXRvcnMpKXskVWI9IiAkYltvcF0iO2lmKGVyZWcoJ0lOJCcsJGJbIm9wIl0pKXskVGI9cHJvY2Vzc19sZW5ndGgoJGJbInZhbCJdKTskVWIuPSIgKCIuKCRUYiE9IiI/JFRiOiJOVUxMIikuIikiO31lbHNlaWYoISRiWyJvcCJdKXskVWIuPSRiWyJ2YWwiXTt9ZWxzZWlmKCRiWyJvcCJdPT0iTElLRSAlJSIpeyRVYj0iIExJS0UgIi4kdGhpcy0+cHJvY2Vzc0lucHV0KCRwWyRiWyJjb2wiXV0sIiUkYlt2YWxdJSIpO31lbHNlaWYoIWVyZWcoJ05VTEwkJywkYlsib3AiXSkpeyRVYi49IiAiLiR0aGlzLT5wcm9jZXNzSW5wdXQoJHBbJGJbImNvbCJdXSwkYlsidmFsIl0pO31pZigkYlsiY29sIl0hPSIiKXskY1tdPWlkZl9lc2NhcGUoJGJbImNvbCJdKS4kVWI7fWVsc2V7JG1iPWFycmF5KCk7Zm9yZWFjaCgkcAphcyRmPT4kZSl7aWYoaXNfbnVtZXJpYygkYlsidmFsIl0pfHwhZXJlZygnaW50fGZsb2F0fGRvdWJsZXxkZWNpbWFsJywkZVsidHlwZSJdKSl7JGY9aWRmX2VzY2FwZSgkZik7JG1iW109KCR2PT0ic3FsIiYmZXJlZygnY2hhcnx0ZXh0fGVudW18c2V0JywkZVsidHlwZSJdKSYmIWVyZWcoJ151dGY4JywkZVsiY29sbGF0aW9uIl0pPyJDT05WRVJUKCRmIFVTSU5HIHV0ZjgpIjokZik7fX0kY1tdPSgkbWI/IigiLmltcGxvZGUoIiRVYiBPUiAiLCRtYikuIiRVYikiOiIwIik7fX19cmV0dXJuJGM7fWZ1bmN0aW9uCnNlbGVjdE9yZGVyUHJvY2VzcygkcCwkSil7JGM9YXJyYXkoKTtmb3JlYWNoKChhcnJheSkkX0dFVFsib3JkZXIiXWFzJGQ9PiRiKXtpZihpc3NldCgkcFskYl0pfHxwcmVnX21hdGNoKCd+XigoQ09VTlRcXChESVNUSU5DVCB8W0EtWjAtOV9dK1xcKCkoYCg/OlteYF18YGApK2B8Iig/OlteIl18IiIpKyIpXFwpfENPVU5UXFwoXFwqXFwpKSR+JywkYikpeyRjW109KGlzc2V0KCRwWyRiXSk/aWRmX2VzY2FwZSgkYik6JGIpLihpc3NldCgkX0dFVFsiZGVzYyJdWyRkXSk/IiBERVNDIjoiIik7fX1yZXR1cm4kYzt9ZnVuY3Rpb24Kc2VsZWN0TGltaXRQcm9jZXNzKCl7cmV0dXJuKGlzc2V0KCRfR0VUWyJsaW1pdCJdKT8kX0dFVFsibGltaXQiXToiMzAiKTt9ZnVuY3Rpb24Kc2VsZWN0TGVuZ3RoUHJvY2Vzcygpe3JldHVybihpc3NldCgkX0dFVFsidGV4dF9sZW5ndGgiXSk/JF9HRVRbInRleHRfbGVuZ3RoIl06IjEwMCIpO31mdW5jdGlvbgpzZWxlY3RFbWFpbFByb2Nlc3MoJHMsJHZmKXtyZXR1cm4KZmFsc2U7fWZ1bmN0aW9uCm1lc3NhZ2VRdWVyeSgkail7Z2xvYmFsJHY7c3RhdGljJFFjPTA7cmVzdGFydF9zZXNzaW9uKCk7JFM9InNxbC0iLigkUWMrKyk7JGViPSZnZXRfc2Vzc2lvbigicXVlcmllcyIpO2lmKHN0cmxlbigkaik+MWU2KXskaj1lcmVnX3JlcGxhY2UoJ1tceDgwLVx4RkZdKyQnLCcnLHN1YnN0cigkaiwwLDFlNikpLiJcbi4uLiI7fSRlYlskX0dFVFsiZGIiXV1bXT0kajtyZXR1cm4iIDxhIGhyZWY9JyMkUycgb25jbGljaz1cInJldHVybiAhdG9nZ2xlKCckUycpO1wiPiIubGFuZyg0MykuIjwvYT48ZGl2IGlkPSckUycgY2xhc3M9J2hpZGRlbic+PHByZT48Y29kZSBjbGFzcz0nanVzaC0kdic+Ii5zaG9ydGVuX3V0ZjgoJGosMTAwMCkuJzwvY29kZT48L3ByZT48cD48YSBocmVmPSInLmgoc3RyX3JlcGxhY2UoImRiPSIudXJsZW5jb2RlKERCKSwiZGI9Ii51cmxlbmNvZGUoJF9HRVRbImRiIl0pLE1FKS4nc3FsPSZoaXN0b3J5PScuKGNvdW50KCRlYlskX0dFVFsiZGIiXV0pLTEpKS4nIj4nLmxhbmcoMzEpLic8L2E+PC9kaXY+Jzt9ZnVuY3Rpb24KZWRpdEZ1bmN0aW9ucygkZSl7Z2xvYmFsJE5iOyRjPSgkZVsibnVsbCJdPyJOVUxMLyI6IiIpO2ZvcmVhY2goJE5iCmFzJGQ9PiRkYSl7aWYoISRkfHwoIWlzc2V0KCRfR0VUWyJjYWxsIl0pJiYoaXNzZXQoJF9HRVRbInNlbGVjdCJdKXx8d2hlcmUoJF9HRVQpKSkpe2ZvcmVhY2goJGRhCmFzJGJhPT4kYil7aWYoISRiYXx8ZXJlZygkYmEsJGVbInR5cGUiXSkpeyRjLj0iLyRiIjt9fWlmKCRkJiYhZXJlZygnc2V0fGJsb2J8Ynl0ZWF8cmF3fGZpbGUnLCRlWyJ0eXBlIl0pKXskYy49Ii89Ijt9fX1yZXR1cm4KZXhwbG9kZSgiLyIsJGMpO31mdW5jdGlvbgplZGl0SW5wdXQoJGgsJGUsJFJhLCRxKXtpZigkZVsidHlwZSJdPT0iZW51bSIpe3JldHVybihpc3NldCgkX0dFVFsic2VsZWN0Il0pPyI8bGFiZWw+PGlucHV0IHR5cGU9J3JhZGlvJyRSYSB2YWx1ZT0nLTEnIGNoZWNrZWQ+PGk+Ii5sYW5nKDUpLiI8L2k+PC9sYWJlbD4gIjoiIikuKCRlWyJudWxsIl0/IjxsYWJlbD48aW5wdXQgdHlwZT0ncmFkaW8nJFJhIHZhbHVlPScnIi4oaXNzZXQoJHEpfHxpc3NldCgkX0dFVFsic2VsZWN0Il0pPyIiOiIgY2hlY2tlZCIpLiI+PGk+TlVMTDwvaT48L2xhYmVsPiAiOiIiKS5lbnVtX2lucHV0KCJyYWRpbyIsJFJhLCRlLCRxLDApO31yZXR1cm4iIjt9ZnVuY3Rpb24KcHJvY2Vzc0lucHV0KCRlLCRxLCRLPSIiKXtpZigkSz09Ij0iKXtyZXR1cm4kcTt9JGY9JGVbImZpZWxkIl07JGM9KCRlWyJ0eXBlIl09PSJiaXQiJiZlcmVnKCdeWzAtOV0rJCcsJHEpPyRxOnEoJHEpKTtpZihlcmVnKCdeKG5vd3xnZXRkYXRlfHV1aWQpJCcsJEspKXskYz0iJEsoKSI7fWVsc2VpZihlcmVnKCdeY3VycmVudF8oZGF0ZXx0aW1lc3RhbXApJCcsJEspKXskYz0kSzt9ZWxzZWlmKGVyZWcoJ14oWystXXxcXHxcXHwpJCcsJEspKXskYz1pZGZfZXNjYXBlKCRmKS4iICRLICRjIjt9ZWxzZWlmKGVyZWcoJ15bKy1dIGludGVydmFsJCcsJEspKXskYz1pZGZfZXNjYXBlKCRmKS4iICRLICIuKHByZWdfbWF0Y2goIn5eKFxcZCt8J1swLTkuOiAtXScpIFtBLVpfXSskfmkiLCRxKT8kcTokYyk7fWVsc2VpZihlcmVnKCdeKGFkZHRpbWV8c3VidGltZXxjb25jYXQpJCcsJEspKXskYz0iJEsoIi5pZGZfZXNjYXBlKCRmKS4iLCAkYykiO31lbHNlaWYoZXJlZygnXihtZDV8c2hhMXxwYXNzd29yZHxlbmNyeXB0fGhleCkkJywkSykpeyRjPSIkSygkYykiO31pZihlcmVnKCJiaW5hcnkiLCRlWyJ0eXBlIl0pKXskYz0idW5oZXgoJGMpIjt9cmV0dXJuJGM7fWZ1bmN0aW9uCmR1bXBPdXRwdXQoKXskYz1hcnJheSgndGV4dCc9PmxhbmcoNDQpLCdmaWxlJz0+bGFuZyg0NSkpO2lmKGZ1bmN0aW9uX2V4aXN0cygnZ3plbmNvZGUnKSl7JGNbJ2d6J109J2d6aXAnO31pZihmdW5jdGlvbl9leGlzdHMoJ2J6Y29tcHJlc3MnKSl7JGNbJ2J6MiddPSdiemlwMic7fXJldHVybiRjO31mdW5jdGlvbgpkdW1wRm9ybWF0KCl7cmV0dXJuCmFycmF5KCdzcWwnPT4nU1FMJywnY3N2Jz0+J0NTViwnLCdjc3Y7Jz0+J0NTVjsnLCd0c3YnPT4nVFNWJyk7fWZ1bmN0aW9uCmR1bXBUYWJsZSgkaCwkViwkYmQ9ZmFsc2Upe2lmKCRfUE9TVFsiZm9ybWF0Il0hPSJzcWwiKXtlY2hvIlx4ZWZceGJiXHhiZiI7aWYoJFYpe2R1bXBfY3N2KGFycmF5X2tleXMoZmllbGRzKCRoKSkpO319ZWxzZWlmKCRWKXskbGE9Y3JlYXRlX3NxbCgkaCwkX1BPU1RbImF1dG9faW5jcmVtZW50Il0pO2lmKCRsYSl7aWYoJFY9PSJEUk9QK0NSRUFURSIpe2VjaG8iRFJPUCAiLigkYmQ/IlZJRVciOiJUQUJMRSIpLiIgSUYgRVhJU1RTICIudGFibGUoJGgpLiI7XG4iO31pZigkYmQpeyRsYT1wcmVnX3JlcGxhY2UoJ35eKFtBLVogPV0rKSBERUZJTkVSPWAnLnByZWdfcmVwbGFjZSgnfkAoLiopficsJ2BAYCglfFxcMSknLGxvZ2dlZF91c2VyKCkpLidgficsJ1xcMScsJGxhKTt9ZWNobygkViE9IkNSRUFURStBTFRFUiI/JGxhOigkYmQ/c3Vic3RyX3JlcGxhY2UoJGxhLCIgT1IgUkVQTEFDRSIsNiwwKTpzdWJzdHJfcmVwbGFjZSgkbGEsIiBJRiBOT1QgRVhJU1RTIiwxMiwwKSkpLiI7XG5cbiI7fWlmKCRWPT0iQ1JFQVRFK0FMVEVSIiYmISRiZCl7JGo9IlNFTEVDVCBDT0xVTU5fTkFNRSwgQ09MVU1OX0RFRkFVTFQsIElTX05VTExBQkxFLCBDT0xMQVRJT05fTkFNRSwgQ09MVU1OX1RZUEUsIEVYVFJBLCBDT0xVTU5fQ09NTUVOVCBGUk9NIGluZm9ybWF0aW9uX3NjaGVtYS5DT0xVTU5TIFdIRVJFIFRBQkxFX1NDSEVNQSA9IERBVEFCQVNFKCkgQU5EIFRBQkxFX05BTUUgPSAiLnEoJGgpLiIgT1JERVIgQlkgT1JESU5BTF9QT1NJVElPTiI7ZWNobyJERUxJTUlURVIgOzsKQ1JFQVRFIFBST0NFRFVSRSBhZG1pbmVyX2FsdGVyIChJTk9VVCBhbHRlcl9jb21tYW5kIHRleHQpIEJFR0lOCglERUNMQVJFIF9jb2x1bW5fbmFtZSwgX2NvbGxhdGlvbl9uYW1lLCBhZnRlciB2YXJjaGFyKDY0KSBERUZBVUxUICcnOwoJREVDTEFSRSBfY29sdW1uX3R5cGUsIF9jb2x1bW5fZGVmYXVsdCB0ZXh0OwoJREVDTEFSRSBfaXNfbnVsbGFibGUgY2hhcigzKTsKCURFQ0xBUkUgX2V4dHJhIHZhcmNoYXIoMzApOwoJREVDTEFSRSBfY29sdW1uX2NvbW1lbnQgdmFyY2hhcigyNTUpOwoJREVDTEFSRSBkb25lLCBzZXRfYWZ0ZXIgYm9vbCBERUZBVUxUIDA7CglERUNMQVJFIGFkZF9jb2x1bW5zIHRleHQgREVGQVVMVCAnIjskcD1hcnJheSgpOyRKYj0iIjtmb3JlYWNoKGdldF9yb3dzKCRqKWFzJGEpeyR6YT0kYVsiQ09MVU1OX0RFRkFVTFQiXTskYVsiZGVmYXVsdCJdPShpc3NldCgkemEpP3EoJHphKToiTlVMTCIpOyRhWyJhZnRlciJdPXEoJEpiKTskYVsiYWx0ZXIiXT1lc2NhcGVfc3RyaW5nKGlkZl9lc2NhcGUoJGFbIkNPTFVNTl9OQU1FIl0pLiIgJGFbQ09MVU1OX1RZUEVdIi4oJGFbIkNPTExBVElPTl9OQU1FIl0/IiBDT0xMQVRFICRhW0NPTExBVElPTl9OQU1FXSI6IiIpLihpc3NldCgkemEpPyIgREVGQVVMVCAiLigkemE9PSJDVVJSRU5UX1RJTUVTVEFNUCI/JHphOiRhWyJkZWZhdWx0Il0pOiIiKS4oJGFbIklTX05VTExBQkxFIl09PSJZRVMiPyIiOiIgTk9UIE5VTEwiKS4oJGFbIkVYVFJBIl0/IiAkYVtFWFRSQV0iOiIiKS4oJGFbIkNPTFVNTl9DT01NRU5UIl0/IiBDT01NRU5UICIucSgkYVsiQ09MVU1OX0NPTU1FTlQiXSk6IiIpLigkSmI/IiBBRlRFUiAiLmlkZl9lc2NhcGUoJEpiKToiIEZJUlNUIikpO2VjaG8iLCBBREQgJGFbYWx0ZXJdIjskcFtdPSRhOyRKYj0kYVsiQ09MVU1OX05BTUUiXTt9ZWNobyInOwoJREVDTEFSRSBjb2x1bW5zIENVUlNPUiBGT1IgJGo7CglERUNMQVJFIENPTlRJTlVFIEhBTkRMRVIgRk9SIE5PVCBGT1VORCBTRVQgZG9uZSA9IDE7CglTRVQgQGFsdGVyX3RhYmxlID0gJyc7CglPUEVOIGNvbHVtbnM7CglSRVBFQVQKCQlGRVRDSCBjb2x1bW5zIElOVE8gX2NvbHVtbl9uYW1lLCBfY29sdW1uX2RlZmF1bHQsIF9pc19udWxsYWJsZSwgX2NvbGxhdGlvbl9uYW1lLCBfY29sdW1uX3R5cGUsIF9leHRyYSwgX2NvbHVtbl9jb21tZW50OwoJCUlGIE5PVCBkb25lIFRIRU4KCQkJU0VUIHNldF9hZnRlciA9IDE7CgkJCUNBU0UgX2NvbHVtbl9uYW1lIjtmb3JlYWNoKCRwCmFzJGEpe2VjaG8iCgkJCQlXSEVOICIucSgkYVsiQ09MVU1OX05BTUUiXSkuIiBUSEVOCgkJCQkJU0VUIGFkZF9jb2x1bW5zID0gUkVQTEFDRShhZGRfY29sdW1ucywgJywgQUREICRhW2FsdGVyXScsICcnKTsKCQkJCQlJRiBOT1QgKF9jb2x1bW5fZGVmYXVsdCA8PT4gJGFbZGVmYXVsdF0pIE9SIF9pc19udWxsYWJsZSAhPSAnJGFbSVNfTlVMTEFCTEVdJyBPUiBfY29sbGF0aW9uX25hbWUgIT0gJyRhW0NPTExBVElPTl9OQU1FXScgT1IgX2NvbHVtbl90eXBlICE9ICIucSgkYVsiQ09MVU1OX1RZUEUiXSkuIiBPUiBfZXh0cmEgIT0gJyRhW0VYVFJBXScgT1IgX2NvbHVtbl9jb21tZW50ICE9ICIucSgkYVsiQ09MVU1OX0NPTU1FTlQiXSkuIiBPUiBhZnRlciAhPSAkYVthZnRlcl0gVEhFTgoJCQkJCQlTRVQgQGFsdGVyX3RhYmxlID0gQ09OQ0FUKEBhbHRlcl90YWJsZSwgJywgTU9ESUZZICRhW2FsdGVyXScpOwoJCQkJCUVORCBJRjsiO31lY2hvIgoJCQkJRUxTRQoJCQkJCVNFVCBAYWx0ZXJfdGFibGUgPSBDT05DQVQoQGFsdGVyX3RhYmxlLCAnLCBEUk9QICcsIF9jb2x1bW5fbmFtZSk7CgkJCQkJU0VUIHNldF9hZnRlciA9IDA7CgkJCUVORCBDQVNFOwoJCQlJRiBzZXRfYWZ0ZXIgVEhFTgoJCQkJU0VUIGFmdGVyID0gX2NvbHVtbl9uYW1lOwoJCQlFTkQgSUY7CgkJRU5EIElGOwoJVU5USUwgZG9uZSBFTkQgUkVQRUFUOwoJQ0xPU0UgY29sdW1uczsKCUlGIEBhbHRlcl90YWJsZSAhPSAnJyBPUiBhZGRfY29sdW1ucyAhPSAnJyBUSEVOCgkJU0VUIGFsdGVyX2NvbW1hbmQgPSBDT05DQVQoYWx0ZXJfY29tbWFuZCwgJ0FMVEVSIFRBQkxFICIudGFibGUoJGgpLiInLCBTVUJTVFIoQ09OQ0FUKGFkZF9jb2x1bW5zLCBAYWx0ZXJfdGFibGUpLCAyKSwgJztcXG4nKTsKCUVORCBJRjsKRU5EOzsKREVMSU1JVEVSIDsKQ0FMTCBhZG1pbmVyX2FsdGVyKEBhZG1pbmVyX2FsdGVyKTsKRFJPUCBQUk9DRURVUkUgYWRtaW5lcl9hbHRlcjsKCiI7fX19ZnVuY3Rpb24KZHVtcERhdGEoJGgsJFYsJGope2dsb2JhbCRnLCR2OyRLZT0oJHY9PSJzcWxpdGUiPzA6MTA0ODU3Nik7aWYoJFYpe2lmKCRfUE9TVFsiZm9ybWF0Il09PSJzcWwiJiYkVj09IlRSVU5DQVRFK0lOU0VSVCIpe2VjaG8KdHJ1bmNhdGVfc3FsKCRoKS4iO1xuIjt9aWYoJF9QT1NUWyJmb3JtYXQiXT09InNxbCIpeyRwPWZpZWxkcygkaCk7fSRpPSRnLT5xdWVyeSgkaiwxKTtpZigkaSl7JHNjPSIiOyRrYj0iIjt3aGlsZSgkYT0kaS0+ZmV0Y2hfYXNzb2MoKSl7aWYoJF9QT1NUWyJmb3JtYXQiXSE9InNxbCIpe2lmKCRWPT0idGFibGUiKXtkdW1wX2NzdihhcnJheV9rZXlzKCRhKSk7JFY9IklOU0VSVCI7fWR1bXBfY3N2KCRhKTt9ZWxzZXtpZighJHNjKXskc2M9IklOU0VSVCBJTlRPICIudGFibGUoJGgpLiIgKCIuaW1wbG9kZSgiLCAiLGFycmF5X21hcCgnaWRmX2VzY2FwZScsYXJyYXlfa2V5cygkYSkpKS4iKSBWQUxVRVMiO31mb3JlYWNoKCRhCmFzJGQ9PiRiKXskYVskZF09KGlzc2V0KCRiKT8oZXJlZygnaW50fGZsb2F0fGRvdWJsZXxkZWNpbWFsJywkcFskZF1bInR5cGUiXSk/JGI6cSgkYikpOiJOVUxMIik7fSRtYT1pbXBsb2RlKCIsXHQiLCRhKTtpZigkVj09IklOU0VSVCtVUERBVEUiKXskcj1hcnJheSgpO2ZvcmVhY2goJGEKYXMkZD0+JGIpeyRyW109aWRmX2VzY2FwZSgkZCkuIiA9ICRiIjt9ZWNobyIkc2MgKCRtYSkgT04gRFVQTElDQVRFIEtFWSBVUERBVEUgIi5pbXBsb2RlKCIsICIsJHIpLiI7XG4iO31lbHNleyRtYT0oJEtlPyJcbiI6IiAiKS4iKCRtYSkiO2lmKCEka2IpeyRrYj0kc2MuJG1hO31lbHNlaWYoc3RybGVuKCRrYikrMitzdHJsZW4oJG1hKTwkS2UpeyRrYi49IiwkbWEiO31lbHNleyRrYi49IjtcbiI7ZWNobyRrYjska2I9JHNjLiRtYTt9fX19aWYoJF9QT1NUWyJmb3JtYXQiXT09InNxbCImJiRWIT0iSU5TRVJUK1VQREFURSImJiRrYil7JGtiLj0iO1xuIjtlY2hvJGtiO319ZWxzZWlmKCRfUE9TVFsiZm9ybWF0Il09PSJzcWwiKXtlY2hvIi0tICIuc3RyX3JlcGxhY2UoIlxuIiwiICIsJGctPmVycm9yKS4iXG4iO319fWZ1bmN0aW9uCmR1bXBIZWFkZXJzKCRTYywkX2Q9ZmFsc2UpeyROYT0kX1BPU1RbIm91dHB1dCJdOyRIYj0oJF9QT1NUWyJmb3JtYXQiXT09InNxbCI/InNxbCI6KCRfZD8idGFyIjoiY3N2IikpO2hlYWRlcigiQ29udGVudC1UeXBlOiAiLigkTmE9PSJiejIiPyJhcHBsaWNhdGlvbi94LWJ6aXAiOigkTmE9PSJneiI/ImFwcGxpY2F0aW9uL3gtZ3ppcCI6KCRIYj09InRhciI/ImFwcGxpY2F0aW9uL3gtdGFyIjooJEhiPT0ic3FsInx8JE5hIT0iZmlsZSI/InRleHQvcGxhaW4iOiJ0ZXh0L2NzdiIpLiI7IGNoYXJzZXQ9dXRmLTgiKSkpKTtpZigkTmE9PSJiejIiKXtvYl9zdGFydCgnYnpjb21wcmVzcycsMWU2KTt9aWYoJE5hPT0iZ3oiKXtvYl9zdGFydCgnZ3plbmNvZGUnLDFlNik7fXJldHVybiRIYjt9ZnVuY3Rpb24KaG9tZXBhZ2UoKXtlY2hvJzxwPicuKCRfR0VUWyJucyJdPT0iIj8nPGEgaHJlZj0iJy5oKE1FKS4nZGF0YWJhc2U9Ij4nLmxhbmcoNDYpLiI8L2E+XG4iOiIiKTtpZihzdXBwb3J0KCJzY2hlbWUiKSl7ZWNobyI8YSBocmVmPSciLmgoTUUpLiJzY2hlbWU9Jz4iLigkX0dFVFsibnMiXSE9IiI/bGFuZyg0Nyk6bGFuZyg0OCkpLiI8L2E+XG4iO31yZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24KbmF2aWdhdGlvbigkWmIpe2dsb2JhbCR0YywkZywkTSwkdiwkbmE7ZWNobyc8aDE+CjxhIGhyZWY9Imh0dHA6Ly93d3cuYWRtaW5lci5vcmcvIiBpZD0iaDEiPicsJHRoaXMtPm5hbWUoKSwnPC9hPgo8c3BhbiBjbGFzcz0idmVyc2lvbiI+JywkdGMsJzwvc3Bhbj4KPGEgaHJlZj0iaHR0cDovL3d3dy5hZG1pbmVyLm9yZy8jZG93bmxvYWQiIGlkPSJ2ZXJzaW9uIj4nLCh2ZXJzaW9uX2NvbXBhcmUoJHRjLCRfQ09PS0lFWyJhZG1pbmVyX3ZlcnNpb24iXSk8MD9oKCRfQ09PS0lFWyJhZG1pbmVyX3ZlcnNpb24iXSk6IiIpLCc8L2E+CjwvaDE+Cic7aWYoJFpiPT0iYXV0aCIpeyRCYT10cnVlO2ZvcmVhY2goKGFycmF5KSRfU0VTU0lPTlsicHdkcyJdYXMkSWI9PiRVZil7Zm9yZWFjaCgkVWYKYXMkRj0+JE5mKXtmb3JlYWNoKCROZgphcyRQPT4kVCl7aWYoaXNzZXQoJFQpKXtpZigkQmEpe2VjaG8iPHAgb25jbGljaz0nZXZlbnRTdG9wKGV2ZW50KTsnPlxuIjskQmE9ZmFsc2U7fWVjaG8iPGEgaHJlZj0nIi5oKGF1dGhfdXJsKCRJYiwkRiwkUCkpLiInPigkbmFbJEliXSkgIi5oKCRQLigkRiE9IiI/IkAkRiI6IiIpKS4iPC9hPjxicj5cbiI7fX19fX1lbHNleyRfPWdldF9kYXRhYmFzZXMoKTtlY2hvJzxmb3JtIGFjdGlvbj0iIiBtZXRob2Q9InBvc3QiPgo8cCBjbGFzcz0ibG9nb3V0Ij4KJztpZihEQj09IiJ8fCEkWmIpe2VjaG8iPGEgaHJlZj0nIi5oKE1FKS4ic3FsPSciLmJvbGQoaXNzZXQoJF9HRVRbInNxbCJdKSkuIj4iLmxhbmcoNDMpLiI8L2E+XG4iO2lmKHN1cHBvcnQoImR1bXAiKSl7ZWNobyI8YSBocmVmPSciLmgoTUUpLiJkdW1wPSIudXJsZW5jb2RlKGlzc2V0KCRfR0VUWyJ0YWJsZSJdKT8kX0dFVFsidGFibGUiXTokX0dFVFsic2VsZWN0Il0pLiInIGlkPSdkdW1wJyIuYm9sZChpc3NldCgkX0dFVFsiZHVtcCJdKSkuIj4iLmxhbmcoNDkpLiI8L2E+XG4iO319ZWNobyc8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJsb2dvdXQiIHZhbHVlPSInLGxhbmcoNTApLCciIG9uY2xpY2s9ImV2ZW50U3RvcChldmVudCk7Ij4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idG9rZW4iIHZhbHVlPSInLCRNLCciPgo8L3A+CjwvZm9ybT4KPGZvcm0gYWN0aW9uPSIiPgo8cD4KJztoaWRkZW5fZmllbGRzX2dldCgpO2VjaG8oJF8/aHRtbF9zZWxlY3QoImRiIixhcnJheSgiIj0+IigiLmxhbmcoNTEpLiIpIikrJF8sREIsInRoaXMuZm9ybS5zdWJtaXQoKTsiKTonPGlucHV0IG5hbWU9ImRiIiB2YWx1ZT0iJy5oKERCKS4nIj4nKSwnPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IicsbGFuZyg4KSwnIicsKCRfPyIgY2xhc3M9J2hpZGRlbiciOiIiKSwnIG9uY2xpY2s9ImV2ZW50U3RvcChldmVudCk7Ij4KJztpZigkWmIhPSJkYiImJkRCIT0iIiYmJGctPnNlbGVjdF9kYihEQikpe2lmKHN1cHBvcnQoInNjaGVtZSIpKXtlY2hvIjxicj4iLmh0bWxfc2VsZWN0KCJucyIsYXJyYXkoIiI9PiIoIi5sYW5nKDUyKS4iKSIpK3NjaGVtYXMoKSwkX0dFVFsibnMiXSwidGhpcy5mb3JtLnN1Ym1pdCgpOyIpO2lmKCRfR0VUWyJucyJdIT0iIil7c2V0X3NjaGVtYSgkX0dFVFsibnMiXSk7fX1pZigkX0dFVFsibnMiXSE9PSIiJiYhJFpiKXtlY2hvJzxwPjxhIGhyZWY9IicuaChNRSkuJ2NyZWF0ZT0iJy5ib2xkKCRfR0VUWyJjcmVhdGUiXT09PSIiKS4iPiIubGFuZyg1MykuIjwvYT5cbiI7JEU9dGFibGVzX2xpc3QoKTtpZighJEUpe2VjaG8iPHAgY2xhc3M9J21lc3NhZ2UnPiIubGFuZyg2KS4iXG4iO31lbHNleyR0aGlzLT50YWJsZXNQcmludCgkRSk7JEphPWFycmF5KCk7Zm9yZWFjaCgkRQphcyRoPT4keil7JEphW109cHJlZ19xdW90ZSgkaCwnLycpO31lY2hvIjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz5cbiIsInZhciBqdXNoTGlua3MgPSB7ICR2OiBbICciLmpzX2VzY2FwZShNRSkuInRhYmxlPVwkJicsIC9cXGIoIi5pbXBsb2RlKCJ8IiwkSmEpLiIpXFxiL2cgXSB9O1xuIjtmb3JlYWNoKGFycmF5KCJiYWMiLCJicmEiLCJzcWxpdGVfcXVvIiwibXNzcWxfYnJhIilhcyRiKXtlY2hvImp1c2hMaW5rcy4kYiA9IGp1c2hMaW5rcy4kdjtcbiI7fWVjaG8iPC9zY3JpcHQ+XG4iO319fWVjaG8oaXNzZXQoJF9HRVRbInNxbCJdKT8nPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ic3FsIiB2YWx1ZT0iIj4nOihpc3NldCgkX0dFVFsic2NoZW1hIl0pPyc8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJzY2hlbWEiIHZhbHVlPSIiPic6KGlzc2V0KCRfR0VUWyJkdW1wIl0pPyc8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkdW1wIiB2YWx1ZT0iIj4nOiIiKSkpLCI8L3A+PC9mb3JtPlxuIjt9fWZ1bmN0aW9uCnRhYmxlc1ByaW50KCRFKXtlY2hvIjxwIGlkPSd0YWJsZXMnPlxuIjtmb3JlYWNoKCRFCmFzJGg9PiR6KXtlY2hvJzxhIGhyZWY9IicuaChNRSkuJ3NlbGVjdD0nLnVybGVuY29kZSgkaCkuJyInLmJvbGQoJF9HRVRbInNlbGVjdCJdPT0kaCkuIj4iLmxhbmcoNTQpLiI8L2E+ICIsJzxhIGhyZWY9IicuaChNRSkuJ3RhYmxlPScudXJsZW5jb2RlKCRoKS4nIicuYm9sZCgkX0dFVFsidGFibGUiXT09JGgpLiI+Ii4kdGhpcy0+dGFibGVOYW1lKGFycmF5KCJOYW1lIj0+JGgpKS4iPC9hPjxicj5cbiI7fX19JG89KGZ1bmN0aW9uX2V4aXN0cygnYWRtaW5lcl9vYmplY3QnKT9hZG1pbmVyX29iamVjdCgpOm5ldwpBZG1pbmVyKTtpZighaXNzZXQoJG8tPm9wZXJhdG9ycykpeyRvLT5vcGVyYXRvcnM9JGdjO31mdW5jdGlvbgpwYWdlX2hlYWRlcigkSmUsJG49IiIsJHBjPWFycmF5KCksJEllPSIiKXtnbG9iYWwkdWEsJG8sJGcsJG5hO2hlYWRlcigiQ29udGVudC1UeXBlOiB0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiKTskby0+aGVhZGVycygpOyRIZT0kSmUuKCRJZSE9IiI/IjogIi5oKCRJZSk6IiIpOyRMZT1zdHJpcF90YWdzKCRIZS4oU0VSVkVSIT0iIiYmU0VSVkVSIT0ibG9jYWxob3N0Ij9oKCIgLSAiLlNFUlZFUik6IiIpLiIgLSAiLiRvLT5uYW1lKCkpO2lmKGlzX2FqYXgoKSl7aGVhZGVyKCJYLUFKQVgtVGl0bGU6ICIucmF3dXJsZW5jb2RlKCRMZSkpO31lbHNle2VjaG8nPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEvL0VOIj4KPGh0bWwgbGFuZz0iJywkdWEsJyIgZGlyPSInLGxhbmcoNTUpLCciPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCI+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtU2NyaXB0LVR5cGUiIGNvbnRlbnQ9InRleHQvamF2YXNjcmlwdCI+CjxtZXRhIG5hbWU9InJvYm90cyIgY29udGVudD0ibm9pbmRleCI+Cjx0aXRsZT4nLCRMZSwnPC90aXRsZT4KPGxpbmsgcmVsPSJzaG9ydGN1dCBpY29uIiB0eXBlPSJpbWFnZS94LWljb24iIGhyZWY9IicsaChwcmVnX3JlcGxhY2UoIn5cXD8uKn4iLCIiLE1FKSkuIj9maWxlPWZhdmljb24uaWNvJmFtcDt2ZXJzaW9uPTMuMi4yIiwnIiBpZD0iZmF2aWNvbiI+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9IicsaChwcmVnX3JlcGxhY2UoIn5cXD8uKn4iLCIiLE1FKSkuIj9maWxlPWRlZmF1bHQuY3NzJmFtcDt2ZXJzaW9uPTMuMi4yIiwnIj4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgp2YXIgYXJlWW91U3VyZSA9IFwnJyxsYW5nKDU2KSwnXCc7Cjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSInLGgocHJlZ19yZXBsYWNlKCJ+XFw/Lip+IiwiIixNRSkpLiI/ZmlsZT1mdW5jdGlvbnMuanMmYW1wO3ZlcnNpb249My4yLjIiLCciPjwvc2NyaXB0PgonO2lmKCRvLT5oZWFkKCkmJmZpbGVfZXhpc3RzKCJhZG1pbmVyLmNzcyIpKXtlY2hvJzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9ImFkbWluZXIuY3NzIj4KJzt9ZWNobycKPGJvZHkgY2xhc3M9IicsbGFuZyg1NSksJyBub2pzIiBvbmNsaWNrPSJyZXR1cm4gYm9keUNsaWNrKGV2ZW50LCBcJycsanNfZXNjYXBlKERCKSwnXCcsIFwnJyxqc19lc2NhcGUoJF9HRVRbIm5zIl0pLCdcJyk7IiBvbmtleWRvd249ImJvZHlLZXlkb3duKGV2ZW50KTsiIG9ubG9hZD0iYm9keUxvYWQoXCcnLChpc19vYmplY3QoJGcpP3N1YnN0cigkZy0+c2VydmVyX2luZm8sMCwzKToiIiksJ1wnKTsnLChpc3NldCgkX0NPT0tJRVsiYWRtaW5lcl92ZXJzaW9uIl0pPyIiOiIgdmVyaWZ5VmVyc2lvbigpOyIpOz8+Ij4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgpkb2N1bWVudC5ib2R5LmNsYXNzTmFtZSA9IGRvY3VtZW50LmJvZHkuY2xhc3NOYW1lLnJlcGxhY2UoLyhefFxzKW5vanMoXHN8JCkvLCAnJDFqcyQyJyk7Cjwvc2NyaXB0PgoKPGRpdiBpZD0iY29udGVudCI+Cjw/cGhwCn1pZihpc3NldCgkcGMpKXskdz1zdWJzdHIocHJlZ19yZXBsYWNlKCd+KHVzZXJuYW1lfGRifG5zKT1bXiZdKiZ+JywnJyxNRSksMCwtMSk7ZWNobyc8cCBpZD0iYnJlYWRjcnVtYiI+PGEgaHJlZj0iJy4oJHc/aCgkdyk6Ii4iKS4nIj4nLiRuYVtEUklWRVJdLic8L2E+ICZyYXF1bzsgJzskdz1zdWJzdHIocHJlZ19yZXBsYWNlKCd+KGRifG5zKT1bXiZdKiZ+JywnJyxNRSksMCwtMSk7JEY9KFNFUlZFUiE9IiI/aChTRVJWRVIpOmxhbmcoMjApKTtpZigkcGM9PT1mYWxzZSl7ZWNobyIkRlxuIjt9ZWxzZXtlY2hvIjxhIGhyZWY9JyIuKCR3P2goJHcpOiIuIikuIic+JEY8L2E+ICZyYXF1bzsgIjtpZigkX0dFVFsibnMiXSE9IiJ8fChEQiE9IiImJmlzX2FycmF5KCRwYykpKXtlY2hvJzxhIGhyZWY9IicuaCgkdy4iJmRiPSIudXJsZW5jb2RlKERCKS4oc3VwcG9ydCgic2NoZW1lIik/IiZucz0iOiIiKSkuJyI+Jy5oKERCKS4nPC9hPiAmcmFxdW87ICc7fWlmKGlzX2FycmF5KCRwYykpe2lmKCRfR0VUWyJucyJdIT0iIil7ZWNobyc8YSBocmVmPSInLmgoc3Vic3RyKE1FLDAsLTEpKS4nIj4nLmgoJF9HRVRbIm5zIl0pLic8L2E+ICZyYXF1bzsgJzt9Zm9yZWFjaCgkcGMKYXMkZD0+JGIpeyRyYz0oaXNfYXJyYXkoJGIpPyRiWzFdOiRiKTtpZigkcmMhPSIiKXtlY2hvJzxhIGhyZWY9IicuaChNRS4iJGQ9IikudXJsZW5jb2RlKGlzX2FycmF5KCRiKT8kYlswXTokYikuJyI+Jy5oKCRyYykuJzwvYT4gJnJhcXVvOyAnO319fWVjaG8iJEplXG4iO319ZWNobyI8c3BhbiBpZD0nbG9hZGVyJz48L3NwYW4+XG4iLCI8aDI+JEhlPC9oMj5cbiI7cmVzdGFydF9zZXNzaW9uKCk7JE1lPXByZWdfcmVwbGFjZSgnfl5bXj9dKn4nLCcnLCRfU0VSVkVSWyJSRVFVRVNUX1VSSSJdKTskUWU9JF9TRVNTSU9OWyJtZXNzYWdlcyJdWyRNZV07aWYoJFFlKXtlY2hvIjxkaXYgY2xhc3M9J21lc3NhZ2UnPiIuaW1wbG9kZSgiPC9kaXY+XG48ZGl2IGNsYXNzPSdtZXNzYWdlJz4iLCRRZSkuIjwvZGl2PlxuIjt1bnNldCgkX1NFU1NJT05bIm1lc3NhZ2VzIl1bJE1lXSk7fSRfPSZnZXRfc2Vzc2lvbigiZGJzIik7aWYoREIhPSIiJiYkXyYmIWluX2FycmF5KERCLCRfLHRydWUpKXskXz1udWxsO31pZigkbil7ZWNobyI8ZGl2IGNsYXNzPSdlcnJvcic+JG48L2Rpdj5cbiI7fWRlZmluZSgiUEFHRV9IRUFERVIiLDEpO31mdW5jdGlvbgpwYWdlX2Zvb3RlcigkWmI9IiIpe2dsb2JhbCRvO2lmKCFpc19hamF4KCkpe2VjaG8nPC9kaXY+CgonO3N3aXRjaF9sYW5nKCk7ZWNobyc8ZGl2IGlkPSJtZW51Ij4KJzskby0+bmF2aWdhdGlvbigkWmIpO2VjaG8nPC9kaXY+Cic7fX1mdW5jdGlvbgppbnQzMigkZmEpe3doaWxlKCRmYT49MjE0NzQ4MzY0OCl7JGZhLT00Mjk0OTY3Mjk2O313aGlsZSgkZmE8PS0yMTQ3NDgzNjQ5KXskZmErPTQyOTQ5NjcyOTY7fXJldHVybihpbnQpJGZhO31mdW5jdGlvbgpsb25nMnN0cigkeSwkSGQpeyRtYT0nJztmb3JlYWNoKCR5CmFzJGIpeyRtYS49cGFjaygnVicsJGIpO31pZigkSGQpe3JldHVybgpzdWJzdHIoJG1hLDAsZW5kKCR5KSk7fXJldHVybiRtYTt9ZnVuY3Rpb24Kc3RyMmxvbmcoJG1hLCRIZCl7JHk9YXJyYXlfdmFsdWVzKHVucGFjaygnVionLHN0cl9wYWQoJG1hLDQqY2VpbChzdHJsZW4oJG1hKS80KSwiXDAiKSkpO2lmKCRIZCl7JHlbXT1zdHJsZW4oJG1hKTt9cmV0dXJuJHk7fWZ1bmN0aW9uCnh4dGVhX214KCRDYSwkeGEsJEZhLCRNYSl7cmV0dXJuCmludDMyKCgoJENhPj41JjB4N0ZGRkZGRileJHhhPDwyKSsoKCR4YT4+MyYweDFGRkZGRkZGKV4kQ2E8PDQpKV5pbnQzMigoJEZhXiR4YSkrKCRNYV4kQ2EpKTt9ZnVuY3Rpb24KZW5jcnlwdF9zdHJpbmcoJEZjLCRkKXtpZigkRmM9PSIiKXtyZXR1cm4iIjt9JGQ9YXJyYXlfdmFsdWVzKHVucGFjaygiVioiLHBhY2soIkgqIixtZDUoJGQpKSkpOyR5PXN0cjJsb25nKCRGYyx0cnVlKTskZmE9Y291bnQoJHkpLTE7JENhPSR5WyRmYV07JHhhPSR5WzBdOyRhYT1mbG9vcig2KzUyLygkZmErMSkpOyRGYT0wO3doaWxlKCRhYS0tPjApeyRGYT1pbnQzMigkRmErMHg5RTM3NzlCOSk7JEVjPSRGYT4+MiYzO2Zvcigkd2E9MDskd2E8JGZhOyR3YSsrKXskeGE9JHlbJHdhKzFdOyRNYj14eHRlYV9teCgkQ2EsJHhhLCRGYSwkZFskd2EmM14kRWNdKTskQ2E9aW50MzIoJHlbJHdhXSskTWIpOyR5WyR3YV09JENhO30keGE9JHlbMF07JE1iPXh4dGVhX214KCRDYSwkeGEsJEZhLCRkWyR3YSYzXiRFY10pOyRDYT1pbnQzMigkeVskZmFdKyRNYik7JHlbJGZhXT0kQ2E7fXJldHVybgpsb25nMnN0cigkeSxmYWxzZSk7fWZ1bmN0aW9uCmRlY3J5cHRfc3RyaW5nKCRGYywkZCl7aWYoJEZjPT0iIil7cmV0dXJuIiI7fSRkPWFycmF5X3ZhbHVlcyh1bnBhY2soIlYqIixwYWNrKCJIKiIsbWQ1KCRkKSkpKTskeT1zdHIybG9uZygkRmMsZmFsc2UpOyRmYT1jb3VudCgkeSktMTskQ2E9JHlbJGZhXTskeGE9JHlbMF07JGFhPWZsb29yKDYrNTIvKCRmYSsxKSk7JEZhPWludDMyKCRhYSoweDlFMzc3OUI5KTt3aGlsZSgkRmEpeyRFYz0kRmE+PjImMztmb3IoJHdhPSRmYTskd2E+MDskd2EtLSl7JENhPSR5WyR3YS0xXTskTWI9eHh0ZWFfbXgoJENhLCR4YSwkRmEsJGRbJHdhJjNeJEVjXSk7JHhhPWludDMyKCR5WyR3YV0tJE1iKTskeVskd2FdPSR4YTt9JENhPSR5WyRmYV07JE1iPXh4dGVhX214KCRDYSwkeGEsJEZhLCRkWyR3YSYzXiRFY10pOyR4YT1pbnQzMigkeVswXS0kTWIpOyR5WzBdPSR4YTskRmE9aW50MzIoJEZhLTB4OUUzNzc5QjkpO31yZXR1cm4KbG9uZzJzdHIoJHksdHJ1ZSk7fSRnPScnOyRNPSRfU0VTU0lPTlsidG9rZW4iXTtpZighJF9TRVNTSU9OWyJ0b2tlbiJdKXskX1NFU1NJT05bInRva2VuIl09cmFuZCgxLDFlNik7fSRfYj1hcnJheSgpO2lmKCRfQ09PS0lFWyJhZG1pbmVyX3Blcm1hbmVudCJdKXtmb3JlYWNoKGV4cGxvZGUoIiAiLCRfQ09PS0lFWyJhZG1pbmVyX3Blcm1hbmVudCJdKWFzJGIpe2xpc3QoJGQpPWV4cGxvZGUoIjoiLCRiKTskX2JbJGRdPSRiO319aWYoaXNzZXQoJF9QT1NUWyJzZXJ2ZXIiXSkpe3Nlc3Npb25fcmVnZW5lcmF0ZV9pZCgpOyRfU0VTU0lPTlsicHdkcyJdWyRfUE9TVFsiZHJpdmVyIl1dWyRfUE9TVFsic2VydmVyIl1dWyRfUE9TVFsidXNlcm5hbWUiXV09JF9QT1NUWyJwYXNzd29yZCJdO2lmKCRfUE9TVFsicGVybWFuZW50Il0peyRkPWJhc2U2NF9lbmNvZGUoJF9QT1NUWyJkcml2ZXIiXSkuIi0iLmJhc2U2NF9lbmNvZGUoJF9QT1NUWyJzZXJ2ZXIiXSkuIi0iLmJhc2U2NF9lbmNvZGUoJF9QT1NUWyJ1c2VybmFtZSJdKTskVmM9JG8tPnBlcm1hbmVudExvZ2luKCk7JF9iWyRkXT0iJGQ6Ii5iYXNlNjRfZW5jb2RlKCRWYz9lbmNyeXB0X3N0cmluZygkX1BPU1RbInBhc3N3b3JkIl0sJFZjKToiIik7Y29va2llKCJhZG1pbmVyX3Blcm1hbmVudCIsaW1wbG9kZSgiICIsJF9iKSk7fWlmKGNvdW50KCRfUE9TVCk9PSgkX1BPU1RbInBlcm1hbmVudCJdPzU6NCl8fERSSVZFUiE9JF9QT1NUWyJkcml2ZXIiXXx8U0VSVkVSIT0kX1BPU1RbInNlcnZlciJdfHwkX0dFVFsidXNlcm5hbWUiXSE9PSRfUE9TVFsidXNlcm5hbWUiXSl7cmVkaXJlY3QoYXV0aF91cmwoJF9QT1NUWyJkcml2ZXIiXSwkX1BPU1RbInNlcnZlciJdLCRfUE9TVFsidXNlcm5hbWUiXSkpO319ZWxzZWlmKCRfUE9TVFsibG9nb3V0Il0pe2lmKCRNJiYkX1BPU1RbInRva2VuIl0hPSRNKXtwYWdlX2hlYWRlcihsYW5nKDUwKSxsYW5nKDU3KSk7cGFnZV9mb290ZXIoImRiIik7ZXhpdDt9ZWxzZXtmb3JlYWNoKGFycmF5KCJwd2RzIiwiZGJzIiwicXVlcmllcyIpYXMkZCl7c2V0X3Nlc3Npb24oJGQsbnVsbCk7fSRkPWJhc2U2NF9lbmNvZGUoRFJJVkVSKS4iLSIuYmFzZTY0X2VuY29kZShTRVJWRVIpLiItIi5iYXNlNjRfZW5jb2RlKCRfR0VUWyJ1c2VybmFtZSJdKTtpZigkX2JbJGRdKXt1bnNldCgkX2JbJGRdKTtjb29raWUoImFkbWluZXJfcGVybWFuZW50IixpbXBsb2RlKCIgIiwkX2IpKTt9cmVkaXJlY3Qoc3Vic3RyKHByZWdfcmVwbGFjZSgnfih1c2VybmFtZXxkYnxucyk9W14mXSomficsJycsTUUpLDAsLTEpLGxhbmcoNTgpKTt9fWVsc2VpZigkX2ImJiEkX1NFU1NJT05bInB3ZHMiXSl7c2Vzc2lvbl9yZWdlbmVyYXRlX2lkKCk7JFZjPSRvLT5wZXJtYW5lbnRMb2dpbigpO2ZvcmVhY2goJF9iCmFzJGQ9PiRiKXtsaXN0KCwkUGYpPWV4cGxvZGUoIjoiLCRiKTtsaXN0KCRJYiwkRiwkUCk9YXJyYXlfbWFwKCdiYXNlNjRfZGVjb2RlJyxleHBsb2RlKCItIiwkZCkpOyRfU0VTU0lPTlsicHdkcyJdWyRJYl1bJEZdWyRQXT1kZWNyeXB0X3N0cmluZyhiYXNlNjRfZGVjb2RlKCRQZiksJFZjKTt9fWZ1bmN0aW9uCmF1dGhfZXJyb3IoJHplPW51bGwpe2dsb2JhbCRnLCRvLCRNOyRUYz1zZXNzaW9uX25hbWUoKTskbj0iIjtpZighJF9DT09LSUVbJFRjXSYmJF9HRVRbJFRjXSYmaW5pX2Jvb2woInNlc3Npb24udXNlX29ubHlfY29va2llcyIpKXskbj1sYW5nKDU5KTt9ZWxzZWlmKGlzc2V0KCRfR0VUWyJ1c2VybmFtZSJdKSl7aWYoKCRfQ09PS0lFWyRUY118fCRfR0VUWyRUY10pJiYhJE0peyRuPWxhbmcoNjApO31lbHNleyRUPSZnZXRfc2Vzc2lvbigicHdkcyIpO2lmKGlzc2V0KCRUKSl7JG49aCgkemU/JHplLT5nZXRNZXNzYWdlKCk6KGlzX3N0cmluZygkZyk/JGc6bGFuZyg2MSkpKTskVD1udWxsO319fXBhZ2VfaGVhZGVyKGxhbmcoMjMpLCRuLG51bGwpO2VjaG8iPGZvcm0gYWN0aW9uPScnIG1ldGhvZD0ncG9zdCcgb25jbGljaz0nZXZlbnRTdG9wKGV2ZW50KTsnPlxuIjskby0+bG9naW5Gb3JtKCk7ZWNobyI8ZGl2PiI7aGlkZGVuX2ZpZWxkcygkX1BPU1QsYXJyYXkoImRyaXZlciIsInNlcnZlciIsInVzZXJuYW1lIiwicGFzc3dvcmQiLCJwZXJtYW5lbnQiKSk7ZWNobyI8L2Rpdj5cbiIsIjwvZm9ybT5cbiI7cGFnZV9mb290ZXIoImF1dGgiKTt9aWYoaXNzZXQoJF9HRVRbInVzZXJuYW1lIl0pKXtpZighY2xhc3NfZXhpc3RzKCJNaW5fREIiKSl7dW5zZXQoJF9TRVNTSU9OWyJwd2RzIl1bRFJJVkVSXSk7cGFnZV9oZWFkZXIobGFuZyg2MiksbGFuZyg2MyxpbXBsb2RlKCIsICIsJG9jKSksZmFsc2UpO3BhZ2VfZm9vdGVyKCJhdXRoIik7ZXhpdDt9JGc9Y29ubmVjdCgpO31pZihpc19zdHJpbmcoJGcpfHwhJG8tPmxvZ2luKCRfR0VUWyJ1c2VybmFtZSJdLGdldF9zZXNzaW9uKCJwd2RzIikpKXthdXRoX2Vycm9yKCk7ZXhpdDt9JE09JF9TRVNTSU9OWyJ0b2tlbiJdO2lmKGlzc2V0KCRfUE9TVFsic2VydmVyIl0pJiYkX1BPU1RbInRva2VuIl0peyRfUE9TVFsidG9rZW4iXT0kTTt9JG49KCRfUE9TVD8oJF9QT1NUWyJ0b2tlbiJdPT0kTT8iIjpsYW5nKDU3KSk6KCRfU0VSVkVSWyJSRVFVRVNUX01FVEhPRCJdIT0iUE9TVCI/IiI6bGFuZyg2NCwnInBvc3RfbWF4X3NpemUiJykpKTtmdW5jdGlvbgpjb25uZWN0X2Vycm9yKCl7Z2xvYmFsJGcsJE0sJG4sJG5hOyRfPWFycmF5KCk7aWYoREIhPSIiKXtwYWdlX2hlYWRlcihsYW5nKDY1KS4iOiAiLmgoREIpLGxhbmcoNjYpLHRydWUpO31lbHNle2lmKCRfUE9TVFsiZGIiXSYmISRuKXtxdWVyaWVzX3JlZGlyZWN0KHN1YnN0cihNRSwwLC0xKSxsYW5nKDY3KSxkcm9wX2RhdGFiYXNlcygkX1BPU1RbImRiIl0pKTt9cGFnZV9oZWFkZXIobGFuZyg2OCksJG4sZmFsc2UpO2VjaG8iPHA+PGEgaHJlZj0nIi5oKE1FKS4iZGF0YWJhc2U9Jz4iLmxhbmcoNjkpLiI8L2E+XG4iO2ZvcmVhY2goYXJyYXkoJ3ByaXZpbGVnZXMnPT5sYW5nKDcwKSwncHJvY2Vzc2xpc3QnPT5sYW5nKDcxKSwndmFyaWFibGVzJz0+bGFuZyg3MiksJ3N0YXR1cyc9PmxhbmcoNzMpLClhcyRkPT4kYil7aWYoc3VwcG9ydCgkZCkpe2VjaG8iPGEgaHJlZj0nIi5oKE1FKS4iJGQ9Jz4kYjwvYT5cbiI7fX1lY2hvIjxwPiIubGFuZyg3NCwkbmFbRFJJVkVSXSwiPGI+JGctPnNlcnZlcl9pbmZvPC9iPiIsIjxiPiRnLT5leHRlbnNpb248L2I+IikuIlxuIiwiPHA+Ii5sYW5nKDc1LCI8Yj4iLmgobG9nZ2VkX3VzZXIoKSkuIjwvYj4iKS4iXG4iO2lmKCRfR0VUWyJyZWZyZXNoIl0pe3NldF9zZXNzaW9uKCJkYnMiLG51bGwpO30kXz1nZXRfZGF0YWJhc2VzKCk7aWYoJF8peyRFZD1zdXBwb3J0KCJzY2hlbWUiKTskWj1jb2xsYXRpb25zKCk7ZWNobyI8Zm9ybSBhY3Rpb249JycgbWV0aG9kPSdwb3N0Jz5cbiIsIjx0YWJsZSBjZWxsc3BhY2luZz0nMCcgb25jbGljaz0ndGFibGVDbGljayhldmVudCk7Jz5cbiIsIjx0aGVhZD48dHI+PHRkPiZuYnNwOzx0aD4iLmxhbmcoNjUpLiI8dGQ+Ii5sYW5nKDc2KS4iPHRkPiIubGFuZyg3NykuIjwvdGhlYWQ+XG4iO2ZvcmVhY2goJF8KYXMkdCl7JEpkPWgoTUUpLiJkYj0iLnVybGVuY29kZSgkdCk7ZWNobyI8dHIiLm9kZCgpLiI+PHRkPiIuY2hlY2tib3goImRiW10iLCR0LGluX2FycmF5KCR0LChhcnJheSkkX1BPU1RbImRiIl0pKSwiPHRoPjxhIGhyZWY9JyRKZCc+Ii5oKCR0KS4iPC9hPiIsIjx0ZD48YSBocmVmPSckSmQiLigkRWQ/IiZhbXA7bnM9IjoiIikuIiZhbXA7ZGF0YWJhc2U9Jz4iLm5ic3AoZGJfY29sbGF0aW9uKCR0LCRaKSkuIjwvYT4iLCI8dGQgYWxpZ249J3JpZ2h0Jz48YSBocmVmPSckSmQmYW1wO3NjaGVtYT0nIGlkPSd0YWJsZXMtIi5oKCR0KS4iJz4/PC9hPiIsIlxuIjt9ZWNobyI8L3RhYmxlPlxuIiwiPHA+PGlucHV0IHR5cGU9J3N1Ym1pdCcgbmFtZT0nZHJvcCcgdmFsdWU9JyIubGFuZyg3OCkuIiciLmNvbmZpcm0oImZvcm1DaGVja2VkKHRoaXMsIC9kYi8pIiwxKS4iPlxuIjtlY2hvIjxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J3Rva2VuJyB2YWx1ZT0nJE0nPlxuIiwiPGEgaHJlZj0nIi5oKE1FKS4icmVmcmVzaD0xJyBvbmNsaWNrPSdldmVudFN0b3AoZXZlbnQpOyc+Ii5sYW5nKDc5KS4iPC9hPlxuIiwiPC9mb3JtPlxuIjt9fXBhZ2VfZm9vdGVyKCJkYiIpO2lmKCRfKXtlY2hvIjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz5hamF4U2V0SHRtbCgnIi5qc19lc2NhcGUoTUUpLiJzY3JpcHQ9Y29ubmVjdCcpOzwvc2NyaXB0PlxuIjt9fWlmKGlzc2V0KCRfR0VUWyJzdGF0dXMiXSkpeyRfR0VUWyJ2YXJpYWJsZXMiXT0kX0dFVFsic3RhdHVzIl07fWlmKCEoREIhPSIiPyRnLT5zZWxlY3RfZGIoREIpOmlzc2V0KCRfR0VUWyJzcWwiXSl8fGlzc2V0KCRfR0VUWyJkdW1wIl0pfHxpc3NldCgkX0dFVFsiZGF0YWJhc2UiXSl8fGlzc2V0KCRfR0VUWyJwcm9jZXNzbGlzdCJdKXx8aXNzZXQoJF9HRVRbInByaXZpbGVnZXMiXSl8fGlzc2V0KCRfR0VUWyJ1c2VyIl0pfHxpc3NldCgkX0dFVFsidmFyaWFibGVzIl0pfHwkX0dFVFsic2NyaXB0Il09PSJjb25uZWN0Iikpe2lmKERCIT0iIil7c2V0X3Nlc3Npb24oImRicyIsbnVsbCk7fWNvbm5lY3RfZXJyb3IoKTtleGl0O31pZihzdXBwb3J0KCJzY2hlbWUiKSYmREIhPSIiJiYkX0dFVFsibnMiXSE9PSIiKXtpZighaXNzZXQoJF9HRVRbIm5zIl0pKXtyZWRpcmVjdChwcmVnX3JlcGxhY2UoJ35ucz1bXiZdKiZ+JywnJyxNRSkuIm5zPSIuZ2V0X3NjaGVtYSgpKTt9aWYoIXNldF9zY2hlbWEoJF9HRVRbIm5zIl0pKXtwYWdlX2hlYWRlcihsYW5nKDgwKS4iOiAiLmgoJF9HRVRbIm5zIl0pLGxhbmcoODEpLHRydWUpO3BhZ2VfZm9vdGVyKCJucyIpO2V4aXQ7fX1mdW5jdGlvbgpzZWxlY3QoJGksJEc9bnVsbCwkeWU9IiIpeyRKYT1hcnJheSgpOyRKPWFycmF5KCk7JEI9YXJyYXkoKTskeGU9YXJyYXkoKTskUj1hcnJheSgpO29kZCgnJyk7Zm9yKCRsPTA7JGE9JGktPmZldGNoX3JvdygpOyRsKyspe2lmKCEkbCl7ZWNobyI8dGFibGUgY2VsbHNwYWNpbmc9JzAnIGNsYXNzPSdub3dyYXAnPlxuIiwiPHRoZWFkPjx0cj4iO2ZvcigkcmE9MDskcmE8Y291bnQoJGEpOyRyYSsrKXskZT0kaS0+ZmV0Y2hfZmllbGQoKTskRGE9JGUtPm9yZ3RhYmxlOyRCYz0kZS0+b3JnbmFtZTtpZigkRGEhPSIiKXtpZighaXNzZXQoJEpbJERhXSkpeyRKWyREYV09YXJyYXkoKTtmb3JlYWNoKGluZGV4ZXMoJERhLCRHKWFzJHgpe2lmKCR4WyJ0eXBlIl09PSJQUklNQVJZIil7JEpbJERhXT1hcnJheV9mbGlwKCR4WyJjb2x1bW5zIl0pO2JyZWFrO319JEJbJERhXT0kSlskRGFdO31pZihpc3NldCgkQlskRGFdWyRCY10pKXt1bnNldCgkQlskRGFdWyRCY10pOyRKWyREYV1bJEJjXT0kcmE7JEphWyRyYV09JERhO319aWYoJGUtPmNoYXJzZXRucj09NjMpeyR4ZVskcmFdPXRydWU7fSRSWyRyYV09JGUtPnR5cGU7JGY9aCgkZS0+bmFtZSk7ZWNobyI8dGgiLigkRGEhPSIifHwkZS0+bmFtZSE9JEJjPyIgdGl0bGU9JyIuaCgoJERhIT0iIj8iJERhLiI6IiIpLiRCYykuIiciOiIiKS4iPiIuKCR5ZT8iPGEgaHJlZj0nJHllIi5zdHJ0b2xvd2VyKCRmKS4iJyB0YXJnZXQ9J19ibGFuaycgcmVsPSdub3JlZmVycmVyJz4kZjwvYT4iOiRmKTt9ZWNobyI8L3RoZWFkPlxuIjt9ZWNobyI8dHIiLm9kZCgpLiI+Ijtmb3JlYWNoKCRhCmFzJGQ9PiRiKXtpZighaXNzZXQoJGIpKXskYj0iPGk+TlVMTDwvaT4iO31lbHNle2lmKCR4ZVskZF0mJiFpc191dGY4KCRiKSl7JGI9IjxpPiIubGFuZygzMixzdHJsZW4oJGIpKS4iPC9pPiI7fWVsc2VpZighc3RybGVuKCRiKSl7JGI9IiZuYnNwOyI7fWVsc2V7JGI9aCgkYik7aWYoJFJbJGRdPT0yNTQpeyRiPSI8Y29kZT4kYjwvY29kZT4iO319aWYoaXNzZXQoJEphWyRkXSkmJiEkQlskSmFbJGRdXSl7JHc9ImVkaXQ9Ii51cmxlbmNvZGUoJEphWyRkXSk7Zm9yZWFjaCgkSlskSmFbJGRdXWFzJFBjPT4kcmEpeyR3Lj0iJndoZXJlIi51cmxlbmNvZGUoIlsiLmJyYWNrZXRfZXNjYXBlKCRQYykuIl0iKS4iPSIudXJsZW5jb2RlKCRhWyRyYV0pO30kYj0iPGEgaHJlZj0nIi5oKE1FLiR3KS4iJz4kYjwvYT4iO319ZWNobyI8dGQ+JGIiO319ZWNobygkbD8iPC90YWJsZT4iOiI8cCBjbGFzcz0nbWVzc2FnZSc+Ii5sYW5nKDgyKSkuIlxuIjt9ZnVuY3Rpb24KcmVmZXJlbmNhYmxlX3ByaW1hcnkoJFRmKXskYz1hcnJheSgpO2ZvcmVhY2godGFibGVfc3RhdHVzKClhcyRFYT0+JGgpe2lmKCRFYSE9JFRmJiZma19zdXBwb3J0KCRoKSl7Zm9yZWFjaChmaWVsZHMoJEVhKWFzJGUpe2lmKCRlWyJwcmltYXJ5Il0pe2lmKCRjWyRFYV0pe3Vuc2V0KCRjWyRFYV0pO2JyZWFrO30kY1skRWFdPSRlO319fX1yZXR1cm4kYzt9ZnVuY3Rpb24KdGV4dGFyZWEoJGYsJHEsJEg9MTAsJG1iPTgwKXtlY2hvIjx0ZXh0YXJlYSBuYW1lPSckZicgcm93cz0nJEgnIGNvbHM9JyRtYicgY2xhc3M9J3NxbGFyZWEnIHNwZWxsY2hlY2s9J2ZhbHNlJyB3cmFwPSdvZmYnIG9ua2V5ZG93bj0ncmV0dXJuIHRleHRhcmVhS2V5ZG93bih0aGlzLCBldmVudCk7Jz4iO2lmKGlzX2FycmF5KCRxKSl7Zm9yZWFjaCgkcQphcyRiKXtlY2hvCmgoJGIpLiJcblxuXG4iO319ZWxzZXtlY2hvCmgoJHEpO31lY2hvIjwvdGV4dGFyZWE+Ijt9ZnVuY3Rpb24KZm9ybWF0X3RpbWUoJEZiLCRDYyl7cmV0dXJuIiA8c3BhbiBjbGFzcz0ndGltZSc+KCIubGFuZyg4MyxtYXgoMCwkQ2NbMF0tJEZiWzBdKyRDY1sxXS0kRmJbMV0pKS4iKTwvc3Bhbj4iO31mdW5jdGlvbgplZGl0X3R5cGUoJGQsJGUsJFosJGhhPWFycmF5KCkpe2dsb2JhbCRMYSwkUiwkb2IsJGZiO2VjaG8nPHRkPjxzZWxlY3QgbmFtZT0iJywkZCwnW3R5cGVdIiBjbGFzcz0idHlwZSIgb25mb2N1cz0ibGFzdFR5cGUgPSBzZWxlY3RWYWx1ZSh0aGlzKTsiIG9uY2hhbmdlPSJlZGl0aW5nVHlwZUNoYW5nZSh0aGlzKTsiPicsb3B0aW9ubGlzdCgoISRlWyJ0eXBlIl18fGlzc2V0KCRSWyRlWyJ0eXBlIl1dKT9hcnJheSgpOmFycmF5KCRlWyJ0eXBlIl0pKSskTGErKCRoYT9hcnJheShsYW5nKDg0KT0+JGhhKTphcnJheSgpKSwkZVsidHlwZSJdKSwnPC9zZWxlY3Q+Cjx0ZD48aW5wdXQgbmFtZT0iJywkZCwnW2xlbmd0aF0iIHZhbHVlPSInLGgoJGVbImxlbmd0aCJdKSwnIiBzaXplPSIzIiBvbmZvY3VzPSJlZGl0aW5nTGVuZ3RoRm9jdXModGhpcyk7Ij48dGQgY2xhc3M9Im9wdGlvbnMiPicsIjxzZWxlY3QgbmFtZT0nJGQiLiJbY29sbGF0aW9uXSciLihlcmVnKCcoY2hhcnx0ZXh0fGVudW18c2V0KSQnLCRlWyJ0eXBlIl0pPyIiOiIgY2xhc3M9J2hpZGRlbiciKS4nPjxvcHRpb24gdmFsdWU9IiI+KCcubGFuZyg4NSkuJyknLm9wdGlvbmxpc3QoJFosJGVbImNvbGxhdGlvbiJdKS4nPC9zZWxlY3Q+JywoJG9iPyI8c2VsZWN0IG5hbWU9JyRkIi4iW3Vuc2lnbmVkXSciLighJGVbInR5cGUiXXx8ZXJlZygnKGludHxmbG9hdHxkb3VibGV8ZGVjaW1hbCkkJywkZVsidHlwZSJdKT8iIjoiIGNsYXNzPSdoaWRkZW4nIikuJz48b3B0aW9uPicub3B0aW9ubGlzdCgkb2IsJGVbInVuc2lnbmVkIl0pLic8L3NlbGVjdD4nOicnKSwoJGhhPyI8c2VsZWN0IG5hbWU9JyRkIi4iW29uX2RlbGV0ZV0nIi4oZXJlZygiYCIsJGVbInR5cGUiXSk/IiI6IiBjbGFzcz0naGlkZGVuJyIpLiI+PG9wdGlvbiB2YWx1ZT0nJz4oIi5sYW5nKDg2KS4iKSIub3B0aW9ubGlzdCgkZmIsJGVbIm9uX2RlbGV0ZSJdKS4iPC9zZWxlY3Q+ICI6IiAiKTt9ZnVuY3Rpb24KcHJvY2Vzc19sZW5ndGgoJFcpe2dsb2JhbCRHYjtyZXR1cm4ocHJlZ19tYXRjaCgifl5cXHMqKD86JEdiKSg/OlxccyosXFxzKig/OiRHYikpKlxccypcJH4iLCRXKSYmcHJlZ19tYXRjaF9hbGwoIn4kR2J+IiwkVywkb2EpP2ltcGxvZGUoIiwiLCRvYVswXSk6cHJlZ19yZXBsYWNlKCd+W14wLTksKy1dficsJycsJFcpKTt9ZnVuY3Rpb24KcHJvY2Vzc190eXBlKCRlLCREYz0iQ09MTEFURSIpe2dsb2JhbCRvYjtyZXR1cm4iICRlW3R5cGVdIi4oJGVbImxlbmd0aCJdIT0iIj8iKCIucHJvY2Vzc19sZW5ndGgoJGVbImxlbmd0aCJdKS4iKSI6IiIpLihlcmVnKCdpbnR8ZmxvYXR8ZG91YmxlfGRlY2ltYWwnLCRlWyJ0eXBlIl0pJiZpbl9hcnJheSgkZVsidW5zaWduZWQiXSwkb2IpPyIgJGVbdW5zaWduZWRdIjoiIikuKGVyZWcoJ2NoYXJ8dGV4dHxlbnVtfHNldCcsJGVbInR5cGUiXSkmJiRlWyJjb2xsYXRpb24iXT8iICREYyAiLnEoJGVbImNvbGxhdGlvbiJdKToiIik7fWZ1bmN0aW9uCnByb2Nlc3NfZmllbGQoJGUsJFVjKXtyZXR1cm4KYXJyYXkoaWRmX2VzY2FwZSgkZVsiZmllbGQiXSkscHJvY2Vzc190eXBlKCRVYyksKCRlWyJudWxsIl0/IiBOVUxMIjoiIE5PVCBOVUxMIiksKGlzc2V0KCRlWyJkZWZhdWx0Il0pPyIgREVGQVVMVCAiLigkZVsidHlwZSJdPT0idGltZXN0YW1wIiYmZXJlZ2koIl5DVVJSRU5UX1RJTUVTVEFNUCQiLCRlWyJkZWZhdWx0Il0pPyRlWyJkZWZhdWx0Il06cSgkZVsiZGVmYXVsdCJdKSk6IiIpLCgkZVsib25fdXBkYXRlIl0/IiBPTiBVUERBVEUgJGVbb25fdXBkYXRlXSI6IiIpLChzdXBwb3J0KCJjb21tZW50IikmJiRlWyJjb21tZW50Il0hPSIiPyIgQ09NTUVOVCAiLnEoJGVbImNvbW1lbnQiXSk6IiIpLCgkZVsiYXV0b19pbmNyZW1lbnQiXT9hdXRvX2luY3JlbWVudCgpOm51bGwpLCk7fWZ1bmN0aW9uCnR5cGVfY2xhc3MoJHope2ZvcmVhY2goYXJyYXkoJ2NoYXInPT4ndGV4dCcsJ2RhdGUnPT4ndGltZXx5ZWFyJywnYmluYXJ5Jz0+J2Jsb2InLCdlbnVtJz0+J3NldCcsKWFzJGQ9PiRiKXtpZihlcmVnKCIkZHwkYiIsJHopKXtyZXR1cm4iIGNsYXNzPSckZCciO319fWZ1bmN0aW9uCmVkaXRfZmllbGRzKCRwLCRaLCR6PSJUQUJMRSIsJHdlPTAsJGhhPWFycmF5KCksJEtiPWZhbHNlKXtnbG9iYWwkamM7Zm9yZWFjaCgkcAphcyRlKXtpZigkZVsiY29tbWVudCJdIT0iIil7JEtiPXRydWU7YnJlYWs7fX1lY2hvJzx0aGVhZD48dHIgY2xhc3M9IndyYXAiPgonO2lmKCR6PT0iUFJPQ0VEVVJFIil7ZWNobyc8dGQ+Jm5ic3A7Jzt9ZWNobyc8dGg+JywoJHo9PSJUQUJMRSI/bGFuZyg4Nyk6bGFuZyg4OCkpLCc8dGQ+JyxsYW5nKDg5KSwnPHRleHRhcmVhIGlkPSJlbnVtLWVkaXQiIHJvd3M9IjQiIGNvbHM9IjEyIiB3cmFwPSJvZmYiIHN0eWxlPSJkaXNwbGF5OiBub25lOyIgb25ibHVyPSJlZGl0aW5nTGVuZ3RoQmx1cih0aGlzKTsiPjwvdGV4dGFyZWE+Cjx0ZD4nLGxhbmcoOTApLCc8dGQ+JyxsYW5nKDkxKTtpZigkej09IlRBQkxFIil7ZWNobyc8dGQ+TlVMTAo8dGQ+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJhdXRvX2luY3JlbWVudF9jb2wiIHZhbHVlPSIiPjxhY3JvbnltIHRpdGxlPSInLGxhbmcoOTIpLCciPkFJPC9hY3JvbnltPgo8dGQgY2xhc3M9ImhpZGRlbiI+JyxsYW5nKDkzKSwoc3VwcG9ydCgiY29tbWVudCIpPyI8dGQiLigkS2I/IiI6IiBjbGFzcz0naGlkZGVuJyIpLiI+Ii5sYW5nKDk0KToiIik7fWVjaG8nPHRkPicsIjxpbnB1dCB0eXBlPSdpbWFnZScgbmFtZT0nYWRkWyIuKHN1cHBvcnQoIm1vdmVfY29sIik/MDpjb3VudCgkcCkpLiJdJyBzcmM9JyIuaChwcmVnX3JlcGxhY2UoIn5cXD8uKn4iLCIiLE1FKSkuIj9wbGZpbGU9cGx1cy5naWYmYW1wO3ZlcnNpb249My4yLjInIGFsdD0nKycgdGl0bGU9JyIubGFuZyg5NSkuIic+IiwnPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPnJvd19jb3VudCA9ICcsY291bnQoJHApLCc7PC9zY3JpcHQ+CjwvdGhlYWQ+Cjx0Ym9keSBvbmtleWRvd249InJldHVybiBlZGl0aW5nS2V5ZG93bihldmVudCk7Ij4KJztmb3JlYWNoKCRwCmFzJGw9PiRlKXskbCsrOyR6ZD0kZVsoJF9QT1NUPyJvcmlnIjoiZmllbGQiKV07JEVlPShpc3NldCgkX1BPU1RbImFkZCJdWyRsLTFdKXx8KGlzc2V0KCRlWyJmaWVsZCJdKSYmISRfUE9TVFsiZHJvcF9jb2wiXVskbF0pKSYmKHN1cHBvcnQoImRyb3BfY29sIil8fCR6ZD09IiIpO2VjaG8nPHRyJywoJEVlPyIiOiIgc3R5bGU9J2Rpc3BsYXk6IG5vbmU7JyIpLCc+CicsKCR6PT0iUFJPQ0VEVVJFIj8iPHRkPiIuaHRtbF9zZWxlY3QoImZpZWxkc1skbF1baW5vdXRdIiwkamMsJGVbImlub3V0Il0pOiIiKSwnPHRoPic7aWYoJEVlKXtlY2hvJzxpbnB1dCBuYW1lPSJmaWVsZHNbJywkbCwnXVtmaWVsZF0iIHZhbHVlPSInLGgoJGVbImZpZWxkIl0pLCciIG9uY2hhbmdlPSInLCgkZVsiZmllbGQiXSE9IiJ8fGNvdW50KCRwKT4xPyIiOiJlZGl0aW5nQWRkUm93KHRoaXMsICR3ZSk7ICIpLCdlZGl0aW5nTmFtZUNoYW5nZSh0aGlzKTsiIG1heGxlbmd0aD0iNjQiPic7fWVjaG8nPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZmllbGRzWycsJGwsJ11bb3JpZ10iIHZhbHVlPSInLGgoJHpkKSwnIj4KJztlZGl0X3R5cGUoImZpZWxkc1skbF0iLCRlLCRaLCRoYSk7aWYoJHo9PSJUQUJMRSIpe2VjaG8nPHRkPicsY2hlY2tib3goImZpZWxkc1skbF1bbnVsbF0iLDEsJGVbIm51bGwiXSksJzx0ZD48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9ImF1dG9faW5jcmVtZW50X2NvbCIgdmFsdWU9IicsJGwsJyInO2lmKCRlWyJhdXRvX2luY3JlbWVudCJdKXtlY2hvJyBjaGVja2VkJzt9Pz4gb25jbGljaz0idmFyIGZpZWxkID0gdGhpcy5mb3JtWydmaWVsZHNbJyArIHRoaXMudmFsdWUgKyAnXVtmaWVsZF0nXTsgaWYgKCFmaWVsZC52YWx1ZSkgeyBmaWVsZC52YWx1ZSA9ICdpZCc7IGZpZWxkLm9uY2hhbmdlKCk7IH0iPgo8dGQgY2xhc3M9ImhpZGRlbiI+PD9waHAgZWNobwpjaGVja2JveCgiZmllbGRzWyRsXVtoYXNfZGVmYXVsdF0iLDEsJGVbImhhc19kZWZhdWx0Il0pLCc8aW5wdXQgbmFtZT0iZmllbGRzWycsJGwsJ11bZGVmYXVsdF0iIHZhbHVlPSInLGgoJGVbImRlZmF1bHQiXSksJyIgb25jaGFuZ2U9InRoaXMucHJldmlvdXNTaWJsaW5nLmNoZWNrZWQgPSB0cnVlOyI+CicsKHN1cHBvcnQoImNvbW1lbnQiKT8iPHRkIi4oJEtiPyIiOiIgY2xhc3M9J2hpZGRlbiciKS4iPjxpbnB1dCBuYW1lPSdmaWVsZHNbJGxdW2NvbW1lbnRdJyB2YWx1ZT0nIi5oKCRlWyJjb21tZW50Il0pLiInIG1heGxlbmd0aD0nMjU1Jz4iOiIiKTt9ZWNobyI8dGQ+Iiwoc3VwcG9ydCgibW92ZV9jb2wiKT8iPGlucHV0IHR5cGU9J2ltYWdlJyBuYW1lPSdhZGRbJGxdJyBzcmM9JyIuaChwcmVnX3JlcGxhY2UoIn5cXD8uKn4iLCIiLE1FKSkuIj9maWxlPXBsdXMuZ2lmJmFtcDt2ZXJzaW9uPTMuMi4yJyBhbHQ9JysnIHRpdGxlPSciLmxhbmcoOTUpLiInIG9uY2xpY2s9J3JldHVybiAhZWRpdGluZ0FkZFJvdyh0aGlzLCAkd2UsIDEpOyc+Jm5ic3A7Ii4iPGlucHV0IHR5cGU9J2ltYWdlJyBuYW1lPSd1cFskbF0nIHNyYz0nIi5oKHByZWdfcmVwbGFjZSgiflxcPy4qfiIsIiIsTUUpKS4iP2ZpbGU9dXAuZ2lmJmFtcDt2ZXJzaW9uPTMuMi4yJyBhbHQ9J14nIHRpdGxlPSciLmxhbmcoOTYpLiInPiZuYnNwOyIuIjxpbnB1dCB0eXBlPSdpbWFnZScgbmFtZT0nZG93blskbF0nIHNyYz0nIi5oKHByZWdfcmVwbGFjZSgiflxcPy4qfiIsIiIsTUUpKS4iP2ZpbGU9ZG93bi5naWYmYW1wO3ZlcnNpb249My4yLjInIGFsdD0ndicgdGl0bGU9JyIubGFuZyg5NykuIic+Jm5ic3A7IjoiIiksKCR6ZD09IiJ8fHN1cHBvcnQoImRyb3BfY29sIik/IjxpbnB1dCB0eXBlPSdpbWFnZScgbmFtZT0nZHJvcF9jb2xbJGxdJyBzcmM9JyIuaChwcmVnX3JlcGxhY2UoIn5cXD8uKn4iLCIiLE1FKSkuIj9maWxlPWNyb3NzLmdpZiZhbXA7dmVyc2lvbj0zLjIuMicgYWx0PSd4JyB0aXRsZT0nIi5sYW5nKDk4KS4iJyBvbmNsaWNrPSdyZXR1cm4gIWVkaXRpbmdSZW1vdmVSb3codGhpcyk7Jz4iOiIiKSwiXG4iO31yZXR1cm4kS2I7fWZ1bmN0aW9uCnByb2Nlc3NfZmllbGRzKCYkcCl7a3NvcnQoJHApOyRMPTA7aWYoJF9QT1NUWyJ1cCJdKXskeGI9MDtmb3JlYWNoKCRwCmFzJGQ9PiRlKXtpZihrZXkoJF9QT1NUWyJ1cCJdKT09JGQpe3Vuc2V0KCRwWyRkXSk7YXJyYXlfc3BsaWNlKCRwLCR4YiwwLGFycmF5KCRlKSk7YnJlYWs7fWlmKGlzc2V0KCRlWyJmaWVsZCJdKSl7JHhiPSRMO30kTCsrO319aWYoJF9QT1NUWyJkb3duIl0peyR0YT1mYWxzZTtmb3JlYWNoKCRwCmFzJGQ9PiRlKXtpZihpc3NldCgkZVsiZmllbGQiXSkmJiR0YSl7dW5zZXQoJHBba2V5KCRfUE9TVFsiZG93biJdKV0pO2FycmF5X3NwbGljZSgkcCwkTCwwLGFycmF5KCR0YSkpO2JyZWFrO31pZihrZXkoJF9QT1NUWyJkb3duIl0pPT0kZCl7JHRhPSRlO30kTCsrO319JHA9YXJyYXlfdmFsdWVzKCRwKTtpZigkX1BPU1RbImFkZCJdKXthcnJheV9zcGxpY2UoJHAsa2V5KCRfUE9TVFsiYWRkIl0pLDAsYXJyYXkoYXJyYXkoKSkpO319ZnVuY3Rpb24Kbm9ybWFsaXplX2VudW0oJGspe3JldHVybiInIi5zdHJfcmVwbGFjZSgiJyIsIicnIixhZGRjc2xhc2hlcyhzdHJpcGNzbGFzaGVzKHN0cl9yZXBsYWNlKCRrWzBdWzBdLiRrWzBdWzBdLCRrWzBdWzBdLHN1YnN0cigka1swXSwxLC0xKSkpLCdcXCcpKS4iJyI7fWZ1bmN0aW9uCmdyYW50KCRrYSwkc2EsJEIsJENiKXtpZighJHNhKXtyZXR1cm4KdHJ1ZTt9aWYoJHNhPT1hcnJheSgiQUxMIFBSSVZJTEVHRVMiLCJHUkFOVCBPUFRJT04iKSl7cmV0dXJuKCRrYT09IkdSQU5UIj9xdWVyaWVzKCIka2EgQUxMIFBSSVZJTEVHRVMkQ2IgV0lUSCBHUkFOVCBPUFRJT04iKTpxdWVyaWVzKCIka2EgQUxMIFBSSVZJTEVHRVMkQ2IiKSYmcXVlcmllcygiJGthIEdSQU5UIE9QVElPTiRDYiIpKTt9cmV0dXJuCnF1ZXJpZXMoIiRrYSAiLnByZWdfcmVwbGFjZSgnfihHUkFOVCBPUFRJT04pXFwoW14pXSpcXCl+JywnXFwxJyxpbXBsb2RlKCIkQiwgIiwkc2EpLiRCKS4kQ2IpO31mdW5jdGlvbgpkcm9wX2NyZWF0ZSgkSGEsJGxhLCRnYSwkU2UsJEpmLCRCZiwkZil7aWYoJF9QT1NUWyJkcm9wIl0pe3JldHVybgpxdWVyeV9yZWRpcmVjdCgkSGEsJGdhLCRTZSx0cnVlLCEkX1BPU1RbImRyb3BwZWQiXSk7fSRoYj0kZiE9IiImJigkX1BPU1RbImRyb3BwZWQiXXx8cXVlcmllcygkSGEpKTskX2Y9cXVlcmllcygkbGEpO2lmKCFxdWVyaWVzX3JlZGlyZWN0KCRnYSwoJGYhPSIiPyRKZjokQmYpLCRfZikmJiRoYil7cmVkaXJlY3QobnVsbCwkU2UpO31yZXR1cm4kaGI7fWZ1bmN0aW9uCnRhcl9maWxlKCRqYSwkcmQpeyRjPXBhY2soImExMDBhOGE4YThhMTJhMTIiLCRqYSw2NDQsMCwwLGRlY29jdChzdHJsZW4oJHJkKSksZGVjb2N0KHRpbWUoKSkpOyRlZj04KjMyO2ZvcigkbD0wOyRsPHN0cmxlbigkYyk7JGwrKyl7JGVmKz1vcmQoJGN7JGx9KTt9JGMuPXNwcmludGYoIiUwNm8iLCRlZikuIlwwICI7cmV0dXJuJGMuc3RyX3JlcGVhdCgiXDAiLDUxMi1zdHJsZW4oJGMpKS4kcmQuc3RyX3JlcGVhdCgiXDAiLDUxMS0oc3RybGVuKCRyZCkrNTExKSUKNTEyKTt9c2Vzc2lvbl9jYWNoZV9saW1pdGVyKCIiKTtpZighaW5pX2Jvb2woInNlc3Npb24udXNlX2Nvb2tpZXMiKXx8QGluaV9zZXQoInNlc3Npb24udXNlX2Nvb2tpZXMiLGZhbHNlKSE9PWZhbHNlKXtzZXNzaW9uX3dyaXRlX2Nsb3NlKCk7fSRmYj1hcnJheSgiUkVTVFJJQ1QiLCJDQVNDQURFIiwiU0VUIE5VTEwiLCJOTyBBQ1RJT04iKTskR2I9IicoPzonJ3xbXidcXFxcXXxcXFxcLikqKyciOyRqYz1hcnJheSgiSU4iLCJPVVQiLCJJTk9VVCIpO2lmKGlzc2V0KCRfR0VUWyJzZWxlY3QiXSkmJigkX1BPU1RbImVkaXQiXXx8JF9QT1NUWyJjbG9uZSJdKSYmISRfUE9TVFsic2F2ZSJdKXskX0dFVFsiZWRpdCJdPSRfR0VUWyJzZWxlY3QiXTt9aWYoaXNzZXQoJF9HRVRbImNhbGxmIl0pKXskX0dFVFsiY2FsbCJdPSRfR0VUWyJjYWxsZiJdO31pZihpc3NldCgkX0dFVFsiZnVuY3Rpb24iXSkpeyRfR0VUWyJwcm9jZWR1cmUiXT0kX0dFVFsiZnVuY3Rpb24iXTt9aWYoaXNzZXQoJF9HRVRbImRvd25sb2FkIl0pKXskbT0kX0dFVFsiZG93bmxvYWQiXTtoZWFkZXIoIkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIik7aGVhZGVyKCJDb250ZW50LURpc3Bvc2l0aW9uOiBhdHRhY2htZW50OyBmaWxlbmFtZT0iLmZyaWVuZGx5X3VybCgiJG0tIi5pbXBsb2RlKCJfIiwkX0dFVFsid2hlcmUiXSkpLiIuIi5mcmllbmRseV91cmwoJF9HRVRbImZpZWxkIl0pKTtlY2hvJGctPnJlc3VsdCgiU0VMRUNUIi5saW1pdChpZGZfZXNjYXBlKCRfR0VUWyJmaWVsZCJdKS4iIEZST00gIi50YWJsZSgkbSksIiBXSEVSRSAiLndoZXJlKCRfR0VUKSwxKSk7ZXhpdDt9ZWxzZWlmKGlzc2V0KCRfR0VUWyJ0YWJsZSJdKSl7JG09JF9HRVRbInRhYmxlIl07JHA9ZmllbGRzKCRtKTtpZighJHApeyRuPWVycm9yKCk7fSREPSgkcD90YWJsZV9zdGF0dXMoJG0pOmFycmF5KCkpO3BhZ2VfaGVhZGVyKCgkcCYmaXNfdmlldygkRCk/bGFuZyg5OSk6bGFuZygxMDApKS4iOiAiLmgoJG0pLCRuKTskby0+c2VsZWN0TGlua3MoJEQpOyRfYT0kRFsiQ29tbWVudCJdO2lmKCRfYSE9IiIpe2VjaG8iPHA+Ii5sYW5nKDk0KS4iOiAiLmgoJF9hKS4iXG4iO31pZigkcCl7ZWNobyI8dGFibGUgY2VsbHNwYWNpbmc9JzAnPlxuIiwiPHRoZWFkPjx0cj48dGg+Ii5sYW5nKDEwMSkuIjx0ZD4iLmxhbmcoODkpLihzdXBwb3J0KCJjb21tZW50Iik/Ijx0ZD4iLmxhbmcoOTQpOiIiKS4iPC90aGVhZD5cbiI7Zm9yZWFjaCgkcAphcyRlKXtlY2hvIjx0ciIub2RkKCkuIj48dGg+Ii5oKCRlWyJmaWVsZCJdKSwiPHRkPiIuaCgkZVsiZnVsbF90eXBlIl0pLigkZVsibnVsbCJdPyIgPGk+TlVMTDwvaT4iOiIiKS4oJGVbImF1dG9faW5jcmVtZW50Il0/IiA8aT4iLmxhbmcoOTIpLiI8L2k+IjoiIiksKHN1cHBvcnQoImNvbW1lbnQiKT8iPHRkPiIubmJzcCgkZVsiY29tbWVudCJdKToiIiksIlxuIjt9ZWNobyI8L3RhYmxlPlxuIjtpZighaXNfdmlldygkRCkpe2VjaG8iPGgzPiIubGFuZygxMDIpLiI8L2gzPlxuIjskSj1pbmRleGVzKCRtKTtpZigkSil7ZWNobyI8dGFibGUgY2VsbHNwYWNpbmc9JzAnPlxuIjtmb3JlYWNoKCRKCmFzJGY9PiR4KXtrc29ydCgkeFsiY29sdW1ucyJdKTskemI9YXJyYXkoKTtmb3JlYWNoKCR4WyJjb2x1bW5zIl1hcyRkPT4kYil7JHpiW109IjxpPiIuaCgkYikuIjwvaT4iLigkeFsibGVuZ3RocyJdWyRkXT8iKCIuJHhbImxlbmd0aHMiXVskZF0uIikiOiIiKTt9ZWNobyI8dHIgdGl0bGU9JyIuaCgkZikuIic+PHRoPiR4W3R5cGVdPHRkPiIuaW1wbG9kZSgiLCAiLCR6YikuIlxuIjt9ZWNobyI8L3RhYmxlPlxuIjt9ZWNobyc8cD48YSBocmVmPSInLmgoTUUpLidpbmRleGVzPScudXJsZW5jb2RlKCRtKS4nIj4nLmxhbmcoMTAzKS4iPC9hPlxuIjtpZihma19zdXBwb3J0KCREKSl7ZWNobyI8aDM+Ii5sYW5nKDg0KS4iPC9oMz5cbiI7JGhhPWZvcmVpZ25fa2V5cygkbSk7aWYoJGhhKXtlY2hvIjx0YWJsZSBjZWxsc3BhY2luZz0nMCc+XG4iLCI8dGhlYWQ+PHRyPjx0aD4iLmxhbmcoMTA0KS4iPHRkPiIubGFuZygxMDUpLiI8dGQ+Ii5sYW5nKDg2KS4iPHRkPiIubGFuZygxMDYpLigkdiE9InNxbGl0ZSI/Ijx0ZD4mbmJzcDsiOiIiKS4iPC90aGVhZD5cbiI7Zm9yZWFjaCgkaGEKYXMkZj0+JEEpeyR3PSgkQVsiZGIiXSE9IiI/IjxiPiIuaCgkQVsiZGIiXSkuIjwvYj4uIjoiIikuaCgkQVsidGFibGUiXSk7ZWNobyI8dHI+IiwiPHRoPjxpPiIuaW1wbG9kZSgiPC9pPiwgPGk+IixhcnJheV9tYXAoJ2gnLCRBWyJzb3VyY2UiXSkpLiI8L2k+IiwiPHRkPjxhIGhyZWY9JyIuaCgkQVsiZGIiXSE9IiI/cHJlZ19yZXBsYWNlKCd+ZGI9W14mXSp+JywiZGI9Ii51cmxlbmNvZGUoJEFbImRiIl0pLE1FKTpNRSkuInRhYmxlPSIudXJsZW5jb2RlKCRBWyJ0YWJsZSJdKS4iJz4kdzwvYT4iLCIoPGk+Ii5pbXBsb2RlKCI8L2k+LCA8aT4iLGFycmF5X21hcCgnaCcsJEFbInRhcmdldCJdKSkuIjwvaT4pIiwiPHRkPiRBW29uX2RlbGV0ZV1cbiIsIjx0ZD4kQVtvbl91cGRhdGVdXG4iO2lmKCR2IT0ic3FsaXRlIil7ZWNobyc8dGQ+PGEgaHJlZj0iJy5oKE1FLidmb3JlaWduPScudXJsZW5jb2RlKCRtKS4nJm5hbWU9Jy51cmxlbmNvZGUoJGYpKS4nIj4nLmxhbmcoMTA3KS4nPC9hPic7fX1lY2hvIjwvdGFibGU+XG4iO31pZigkdiE9InNxbGl0ZSIpe2VjaG8nPHA+PGEgaHJlZj0iJy5oKE1FKS4nZm9yZWlnbj0nLnVybGVuY29kZSgkbSkuJyI+Jy5sYW5nKDEwOCkuIjwvYT5cbiI7fX1pZihzdXBwb3J0KCJ0cmlnZ2VyIikpe2VjaG8iPGgzPiIubGFuZygxMDkpLiI8L2gzPlxuIjskTWM9dHJpZ2dlcnMoJG0pO2lmKCRNYyl7ZWNobyI8dGFibGUgY2VsbHNwYWNpbmc9JzAnPlxuIjtmb3JlYWNoKCRNYwphcyRkPT4kYil7ZWNobyI8dHIgdmFsaWduPSd0b3AnPjx0ZD4kYlswXTx0ZD4kYlsxXTx0aD4iLmgoJGQpLiI8dGQ+PGEgaHJlZj0nIi5oKE1FLid0cmlnZ2VyPScudXJsZW5jb2RlKCRtKS4nJm5hbWU9Jy51cmxlbmNvZGUoJGQpKS4iJz4iLmxhbmcoMTA3KS4iPC9hPlxuIjt9ZWNobyI8L3RhYmxlPlxuIjt9ZWNobyc8cD48YSBocmVmPSInLmgoTUUpLid0cmlnZ2VyPScudXJsZW5jb2RlKCRtKS4nIj4nLmxhbmcoMTEwKS4iPC9hPlxuIjt9fX19ZWxzZWlmKGlzc2V0KCRfR0VUWyJzY2hlbWEiXSkpe3BhZ2VfaGVhZGVyKGxhbmcoMTExKSwiIixhcnJheSgpLERCKTskc2I9YXJyYXkoKTskdmU9YXJyYXkoKTskZj0iYWRtaW5lcl9zY2hlbWEiOyRoZj0oJF9HRVRbInNjaGVtYSJdPyRfR0VUWyJzY2hlbWEiXTokX0NPT0tJRVsoJF9DT09LSUVbIiRmLSIuREJdPyIkZi0iLkRCOiRmKV0pO3ByZWdfbWF0Y2hfYWxsKCd+KFteOl0rKTooWy0wLTkuXSspeChbLTAtOS5dKykoX3wkKX4nLCRoZiwkb2EsUFJFR19TRVRfT1JERVIpO2ZvcmVhY2goJG9hCmFzJGw9PiRrKXskc2JbJGtbMV1dPWFycmF5KCRrWzJdLCRrWzNdKTskdmVbXT0iXG5cdCciLmpzX2VzY2FwZSgka1sxXSkuIic6IFsgJGtbMl0sICRrWzNdIF0iO30kV2I9MDskY2Y9LTE7JEthPWFycmF5KCk7JGRmPWFycmF5KCk7JFdlPWFycmF5KCk7Zm9yZWFjaCh0YWJsZV9zdGF0dXMoKWFzJGEpe2lmKCFpc3NldCgkYVsiRW5naW5lIl0pKXtjb250aW51ZTt9JHVjPTA7JEthWyRhWyJOYW1lIl1dWyJmaWVsZHMiXT1hcnJheSgpO2ZvcmVhY2goZmllbGRzKCRhWyJOYW1lIl0pYXMkZj0+JGUpeyR1Yys9MS4yNTskZVsicG9zIl09JHVjOyRLYVskYVsiTmFtZSJdXVsiZmllbGRzIl1bJGZdPSRlO30kS2FbJGFbIk5hbWUiXV1bInBvcyJdPSgkc2JbJGFbIk5hbWUiXV0/JHNiWyRhWyJOYW1lIl1dOmFycmF5KCRXYiwwKSk7Zm9yZWFjaCgkby0+Zm9yZWlnbktleXMoJGFbIk5hbWUiXSlhcyRiKXtpZighJGJbImRiIl0peyRBYT0kY2Y7aWYoJHNiWyRhWyJOYW1lIl1dWzFdfHwkc2JbJGJbInRhYmxlIl1dWzFdKXskQWE9bWluKGZsb2F0dmFsKCRzYlskYVsiTmFtZSJdXVsxXSksZmxvYXR2YWwoJHNiWyRiWyJ0YWJsZSJdXVsxXSkpLTE7fWVsc2V7JGNmLT0uMTt9d2hpbGUoJFdlWyhzdHJpbmcpJEFhXSl7JEFhLT0uMDAwMTt9JEthWyRhWyJOYW1lIl1dWyJyZWZlcmVuY2VzIl1bJGJbInRhYmxlIl1dWyhzdHJpbmcpJEFhXT1hcnJheSgkYlsic291cmNlIl0sJGJbInRhcmdldCJdKTskZGZbJGJbInRhYmxlIl1dWyRhWyJOYW1lIl1dWyhzdHJpbmcpJEFhXT0kYlsidGFyZ2V0Il07JFdlWyhzdHJpbmcpJEFhXT10cnVlO319JFdiPW1heCgkV2IsJEthWyRhWyJOYW1lIl1dWyJwb3MiXVswXSsyLjUrJHVjKTt9ZWNobyc8ZGl2IGlkPSJzY2hlbWEiIHN0eWxlPSJoZWlnaHQ6ICcsJFdiLCdlbTsiPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CnRhYmxlUG9zID0geycsaW1wbG9kZSgiLCIsJHZlKS4iXG4iLCd9OwplbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwnc2NoZW1hXCcpLm9mZnNldEhlaWdodCAvICcsJFdiLCc7CmRvY3VtZW50Lm9ubW91c2Vtb3ZlID0gc2NoZW1hTW91c2Vtb3ZlOwpkb2N1bWVudC5vbm1vdXNldXAgPSBmdW5jdGlvbiAoZXYpIHsKCXNjaGVtYU1vdXNldXAoZXYsIFwnJyxqc19lc2NhcGUoREIpLCdcJyk7Cn07Cjwvc2NyaXB0PgonO2ZvcmVhY2goJEthCmFzJGY9PiRoKXtlY2hvIjxkaXYgY2xhc3M9J3RhYmxlJyBzdHlsZT0ndG9wOiAiLiRoWyJwb3MiXVswXS4iZW07IGxlZnQ6ICIuJGhbInBvcyJdWzFdLiJlbTsnIG9ubW91c2Vkb3duPSdzY2hlbWFNb3VzZWRvd24odGhpcywgZXZlbnQpOyc+IiwnPGEgaHJlZj0iJy5oKE1FKS4ndGFibGU9Jy51cmxlbmNvZGUoJGYpLiciPjxiPicuaCgkZikuIjwvYj48L2E+PGJyPlxuIjtmb3JlYWNoKCRoWyJmaWVsZHMiXWFzJGUpeyRiPSc8c3BhbicudHlwZV9jbGFzcygkZVsidHlwZSJdKS4nIHRpdGxlPSInLmgoJGVbImZ1bGxfdHlwZSJdLigkZVsibnVsbCJdPyIgTlVMTCI6JycpKS4nIj4nLmgoJGVbImZpZWxkIl0pLic8L3NwYW4+JztlY2hvKCRlWyJwcmltYXJ5Il0/IjxpPiRiPC9pPiI6JGIpLiI8YnI+XG4iO31mb3JlYWNoKChhcnJheSkkaFsicmVmZXJlbmNlcyJdYXMkVmI9PiRfYyl7Zm9yZWFjaCgkX2MKYXMkQWE9PiRoZCl7JHdjPSRBYS0kc2JbJGZdWzFdOyRsPTA7Zm9yZWFjaCgkaGRbMF1hcyRHYSl7ZWNobyI8ZGl2IGNsYXNzPSdyZWZlcmVuY2VzJyB0aXRsZT0nIi5oKCRWYikuIicgaWQ9J3JlZnMkQWEtIi4oJGwrKykuIicgc3R5bGU9J2xlZnQ6ICR3YyIuImVtOyB0b3A6ICIuJGhbImZpZWxkcyJdWyRHYV1bInBvcyJdLiJlbTsgcGFkZGluZy10b3A6IC41ZW07Jz48ZGl2IHN0eWxlPSdib3JkZXItdG9wOiAxcHggc29saWQgR3JheTsgd2lkdGg6ICIuKC0kd2MpLiJlbTsnPjwvZGl2PjwvZGl2PlxuIjt9fX1mb3JlYWNoKChhcnJheSkkZGZbJGZdYXMkVmI9PiRfYyl7Zm9yZWFjaCgkX2MKYXMkQWE9PiRCKXskd2M9JEFhLSRzYlskZl1bMV07JGw9MDtmb3JlYWNoKCRCCmFzJGVhKXtlY2hvIjxkaXYgY2xhc3M9J3JlZmVyZW5jZXMnIHRpdGxlPSciLmgoJFZiKS4iJyBpZD0ncmVmZCRBYS0iLigkbCsrKS4iJyBzdHlsZT0nbGVmdDogJHdjIi4iZW07IHRvcDogIi4kaFsiZmllbGRzIl1bJGVhXVsicG9zIl0uImVtOyBoZWlnaHQ6IDEuMjVlbTsgYmFja2dyb3VuZDogdXJsKCIuaChwcmVnX3JlcGxhY2UoIn5cXD8uKn4iLCIiLE1FKSkuIj9maWxlPWFycm93LmdpZikgbm8tcmVwZWF0IHJpZ2h0IGNlbnRlcjsmYW1wO3ZlcnNpb249My4yLjInPjxkaXYgc3R5bGU9J2hlaWdodDogLjVlbTsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIEdyYXk7IHdpZHRoOiAiLigtJHdjKS4iZW07Jz48L2Rpdj48L2Rpdj5cbiI7fX19ZWNobyI8L2Rpdj5cbiI7fWZvcmVhY2goJEthCmFzJGY9PiRoKXtmb3JlYWNoKChhcnJheSkkaFsicmVmZXJlbmNlcyJdYXMkVmI9PiRfYyl7Zm9yZWFjaCgkX2MKYXMkQWE9PiRoZCl7JGVkPSRXYjskdWQ9LTEwO2ZvcmVhY2goJGhkWzBdYXMkZD0+JEdhKXskVGU9JGhbInBvcyJdWzBdKyRoWyJmaWVsZHMiXVskR2FdWyJwb3MiXTskWGU9JEthWyRWYl1bInBvcyJdWzBdKyRLYVskVmJdWyJmaWVsZHMiXVskaGRbMV1bJGRdXVsicG9zIl07JGVkPW1pbigkZWQsJFRlLCRYZSk7JHVkPW1heCgkdWQsJFRlLCRYZSk7fWVjaG8iPGRpdiBjbGFzcz0ncmVmZXJlbmNlcycgaWQ9J3JlZmwkQWEnIHN0eWxlPSdsZWZ0OiAkQWEiLiJlbTsgdG9wOiAkZWQiLiJlbTsgcGFkZGluZzogLjVlbSAwOyc+PGRpdiBzdHlsZT0nYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgR3JheTsgbWFyZ2luLXRvcDogMXB4OyBoZWlnaHQ6ICIuKCR1ZC0kZWQpLiJlbTsnPjwvZGl2PjwvZGl2PlxuIjt9fX1lY2hvJzwvZGl2Pgo8cD48YSBocmVmPSInLGgoTUUuInNjaGVtYT0iLnVybGVuY29kZSgkaGYpKSwnIiBpZD0ic2NoZW1hLWxpbmsiPicsbGFuZygxMTIpLCc8L2E+Cic7fWVsc2VpZihpc3NldCgkX0dFVFsiZHVtcCJdKSl7JG09JF9HRVRbImR1bXAiXTtpZigkX1BPU1QpeyRZZT0iIjtmb3JlYWNoKGFycmF5KCJvdXRwdXQiLCJmb3JtYXQiLCJkYl9zdHlsZSIsInJvdXRpbmVzIiwiZXZlbnRzIiwidGFibGVfc3R5bGUiLCJhdXRvX2luY3JlbWVudCIsInRyaWdnZXJzIiwiZGF0YV9zdHlsZSIpYXMkZCl7JFllLj0iJiRkPSIudXJsZW5jb2RlKCRfUE9TVFskZF0pO31jb29raWUoImFkbWluZXJfZXhwb3J0IixzdWJzdHIoJFllLDEpKTskSGI9ZHVtcF9oZWFkZXJzKCgkbSE9IiI/JG06REIpLChEQj09IiJ8fGNvdW50KChhcnJheSkkX1BPU1RbInRhYmxlcyJdKyhhcnJheSkkX1BPU1RbImRhdGEiXSk+MSkpOyR0Yj0oJF9QT1NUWyJmb3JtYXQiXT09InNxbCIpO2lmKCR0Yil7ZWNobyItLSBBZG1pbmVyICR0YyAiLiRuYVtEUklWRVJdLiIgZHVtcAoKIi4oJHYhPSJzcWwiPyIiOiJTRVQgTkFNRVMgdXRmODsKU0VUIGZvcmVpZ25fa2V5X2NoZWNrcyA9IDA7ClNFVCB0aW1lX3pvbmUgPSAiLnEoJGctPnJlc3VsdCgiU0VMRUNUIEBAdGltZV96b25lIikpLiI7ClNFVCBzcWxfbW9kZSA9ICdOT19BVVRPX1ZBTFVFX09OX1pFUk8nOwoKIik7fSRWPSRfUE9TVFsiZGJfc3R5bGUiXTskXz1hcnJheShEQik7aWYoREI9PSIiKXskXz0kX1BPU1RbImRhdGFiYXNlcyJdO2lmKGlzX3N0cmluZygkXykpeyRfPWV4cGxvZGUoIlxuIixydHJpbShzdHJfcmVwbGFjZSgiXHIiLCIiLCRfKSwiXG4iKSk7fX1mb3JlYWNoKChhcnJheSkkXwphcyR0KXtpZigkZy0+c2VsZWN0X2RiKCR0KSl7aWYoJHRiJiZlcmVnKCdDUkVBVEUnLCRWKSYmKCRsYT0kZy0+cmVzdWx0KCJTSE9XIENSRUFURSBEQVRBQkFTRSAiLmlkZl9lc2NhcGUoJHQpLDEpKSl7aWYoJFY9PSJEUk9QK0NSRUFURSIpe2VjaG8iRFJPUCBEQVRBQkFTRSBJRiBFWElTVFMgIi5pZGZfZXNjYXBlKCR0KS4iO1xuIjt9ZWNobygkVj09IkNSRUFURStBTFRFUiI/cHJlZ19yZXBsYWNlKCd+XkNSRUFURSBEQVRBQkFTRSB+JywnXFwwSUYgTk9UIEVYSVNUUyAnLCRsYSk6JGxhKS4iO1xuIjt9aWYoJHRiKXtpZigkVil7ZWNobwp1c2Vfc3FsKCR0KS4iO1xuXG4iO31pZihpbl9hcnJheSgiQ1JFQVRFK0FMVEVSIixhcnJheSgkViwkX1BPU1RbInRhYmxlX3N0eWxlIl0pKSl7ZWNobyJTRVQgQGFkbWluZXJfYWx0ZXIgPSAnJztcblxuIjt9JHFiPSIiO2lmKCRfUE9TVFsicm91dGluZXMiXSl7Zm9yZWFjaChhcnJheSgiRlVOQ1RJT04iLCJQUk9DRURVUkUiKWFzJFRhKXtmb3JlYWNoKGdldF9yb3dzKCJTSE9XICRUYSBTVEFUVVMgV0hFUkUgRGIgPSAiLnEoJHQpLG51bGwsIi0tICIpYXMkYSl7JHFiLj0oJFYhPSdEUk9QK0NSRUFURSc/IkRST1AgJFRhIElGIEVYSVNUUyAiLmlkZl9lc2NhcGUoJGFbIk5hbWUiXSkuIjs7XG4iOiIiKS4kZy0+cmVzdWx0KCJTSE9XIENSRUFURSAkVGEgIi5pZGZfZXNjYXBlKCRhWyJOYW1lIl0pLDIpLiI7O1xuXG4iO319fWlmKCRfUE9TVFsiZXZlbnRzIl0pe2ZvcmVhY2goZ2V0X3Jvd3MoIlNIT1cgRVZFTlRTIixudWxsLCItLSAiKWFzJGEpeyRxYi49KCRWIT0nRFJPUCtDUkVBVEUnPyJEUk9QIEVWRU5UIElGIEVYSVNUUyAiLmlkZl9lc2NhcGUoJGFbIk5hbWUiXSkuIjs7XG4iOiIiKS4kZy0+cmVzdWx0KCJTSE9XIENSRUFURSBFVkVOVCAiLmlkZl9lc2NhcGUoJGFbIk5hbWUiXSksMykuIjs7XG5cbiI7fX1pZigkcWIpe2VjaG8iREVMSU1JVEVSIDs7XG5cbiRxYiIuIkRFTElNSVRFUiA7XG5cbiI7fX1pZigkX1BPU1RbInRhYmxlX3N0eWxlIl18fCRfUE9TVFsiZGF0YV9zdHlsZSJdKXskWD1hcnJheSgpO2ZvcmVhY2godGFibGVfc3RhdHVzKClhcyRhKXskaD0oREI9PSIifHxpbl9hcnJheSgkYVsiTmFtZSJdLChhcnJheSkkX1BPU1RbInRhYmxlcyJdKSk7JFplPShEQj09IiJ8fGluX2FycmF5KCRhWyJOYW1lIl0sKGFycmF5KSRfUE9TVFsiZGF0YSJdKSk7aWYoJGh8fCRaZSl7aWYoIWlzX3ZpZXcoJGEpKXtpZigkSGI9PSJ0YXIiKXtvYl9zdGFydCgpO30kby0+ZHVtcFRhYmxlKCRhWyJOYW1lIl0sKCRoPyRfUE9TVFsidGFibGVfc3R5bGUiXToiIikpO2lmKCRaZSl7JG8tPmR1bXBEYXRhKCRhWyJOYW1lIl0sJF9QT1NUWyJkYXRhX3N0eWxlIl0sIlNFTEVDVCAqIEZST00gIi50YWJsZSgkYVsiTmFtZSJdKSk7fWlmKCR0YiYmJF9QT1NUWyJ0cmlnZ2VycyJdJiYkaCYmKCRNYz10cmlnZ2VyX3NxbCgkYVsiTmFtZSJdLCRfUE9TVFsidGFibGVfc3R5bGUiXSkpKXtlY2hvIlxuREVMSU1JVEVSIDs7XG4kTWNcbkRFTElNSVRFUiA7XG4iO31pZigkSGI9PSJ0YXIiKXtlY2hvCnRhcl9maWxlKChEQiE9IiI/IiI6IiR0LyIpLiIkYVtOYW1lXS5jc3YiLG9iX2dldF9jbGVhbigpKTt9ZWxzZWlmKCR0Yil7ZWNobyJcbiI7fX1lbHNlaWYoJHRiKXskWFtdPSRhWyJOYW1lIl07fX19Zm9yZWFjaCgkWAphcyRjYyl7JG8tPmR1bXBUYWJsZSgkY2MsJF9QT1NUWyJ0YWJsZV9zdHlsZSJdLHRydWUpO31pZigkSGI9PSJ0YXIiKXtlY2hvCnBhY2soIng1MTIiKTt9fWlmKCRWPT0iQ1JFQVRFK0FMVEVSIiYmJHRiKXskaj0iU0VMRUNUIFRBQkxFX05BTUUsIEVOR0lORSwgVEFCTEVfQ09MTEFUSU9OLCBUQUJMRV9DT01NRU5UIEZST00gaW5mb3JtYXRpb25fc2NoZW1hLlRBQkxFUyBXSEVSRSBUQUJMRV9TQ0hFTUEgPSBEQVRBQkFTRSgpIjtlY2hvIkRFTElNSVRFUiA7OwpDUkVBVEUgUFJPQ0VEVVJFIGFkbWluZXJfYWx0ZXIgKElOT1VUIGFsdGVyX2NvbW1hbmQgdGV4dCkgQkVHSU4KCURFQ0xBUkUgX3RhYmxlX25hbWUsIF9lbmdpbmUsIF90YWJsZV9jb2xsYXRpb24gdmFyY2hhcig2NCk7CglERUNMQVJFIF90YWJsZV9jb21tZW50IHZhcmNoYXIoNjQpOwoJREVDTEFSRSBkb25lIGJvb2wgREVGQVVMVCAwOwoJREVDTEFSRSB0YWJsZXMgQ1VSU09SIEZPUiAkajsKCURFQ0xBUkUgQ09OVElOVUUgSEFORExFUiBGT1IgTk9UIEZPVU5EIFNFVCBkb25lID0gMTsKCU9QRU4gdGFibGVzOwoJUkVQRUFUCgkJRkVUQ0ggdGFibGVzIElOVE8gX3RhYmxlX25hbWUsIF9lbmdpbmUsIF90YWJsZV9jb2xsYXRpb24sIF90YWJsZV9jb21tZW50OwoJCUlGIE5PVCBkb25lIFRIRU4KCQkJQ0FTRSBfdGFibGVfbmFtZSI7Zm9yZWFjaChnZXRfcm93cygkailhcyRhKXskX2E9cSgkYVsiRU5HSU5FIl09PSJJbm5vREIiP3ByZWdfcmVwbGFjZSgnfig/OiguKyk7ICk/SW5ub0RCIGZyZWU6IC4qficsJ1xcMScsJGFbIlRBQkxFX0NPTU1FTlQiXSk6JGFbIlRBQkxFX0NPTU1FTlQiXSk7ZWNobyIKCQkJCVdIRU4gIi5xKCRhWyJUQUJMRV9OQU1FIl0pLiIgVEhFTgoJCQkJCSIuKGlzc2V0KCRhWyJFTkdJTkUiXSk/IklGIF9lbmdpbmUgIT0gJyRhW0VOR0lORV0nIE9SIF90YWJsZV9jb2xsYXRpb24gIT0gJyRhW1RBQkxFX0NPTExBVElPTl0nIE9SIF90YWJsZV9jb21tZW50ICE9ICRfYSBUSEVOCgkJCQkJCUFMVEVSIFRBQkxFICIuaWRmX2VzY2FwZSgkYVsiVEFCTEVfTkFNRSJdKS4iIEVOR0lORT0kYVtFTkdJTkVdIENPTExBVEU9JGFbVEFCTEVfQ09MTEFUSU9OXSBDT01NRU5UPSRfYTsKCQkJCQlFTkQgSUYiOiJCRUdJTiBFTkQiKS4iOyI7fWVjaG8iCgkJCQlFTFNFCgkJCQkJU0VUIGFsdGVyX2NvbW1hbmQgPSBDT05DQVQoYWx0ZXJfY29tbWFuZCwgJ0RST1AgVEFCTEUgYCcsIFJFUExBQ0UoX3RhYmxlX25hbWUsICdgJywgJ2BgJyksICdgO1xcbicpOwoJCQlFTkQgQ0FTRTsKCQlFTkQgSUY7CglVTlRJTCBkb25lIEVORCBSRVBFQVQ7CglDTE9TRSB0YWJsZXM7CkVORDs7CkRFTElNSVRFUiA7CkNBTEwgYWRtaW5lcl9hbHRlcihAYWRtaW5lcl9hbHRlcik7CkRST1AgUFJPQ0VEVVJFIGFkbWluZXJfYWx0ZXI7CiI7fWlmKGluX2FycmF5KCJDUkVBVEUrQUxURVIiLGFycmF5KCRWLCRfUE9TVFsidGFibGVfc3R5bGUiXSkpJiYkdGIpe2VjaG8iU0VMRUNUIEBhZG1pbmVyX2FsdGVyO1xuIjt9fX1pZigkdGIpe2VjaG8iLS0gIi4kZy0+cmVzdWx0KCJTRUxFQ1QgTk9XKCkiKS4iXG4iO31leGl0O31wYWdlX2hlYWRlcihsYW5nKDExMyksIiIsKCRfR0VUWyJleHBvcnQiXSE9IiI/YXJyYXkoInRhYmxlIj0+JF9HRVRbImV4cG9ydCJdKTphcnJheSgpKSxEQik7ZWNobycKPGZvcm0gYWN0aW9uPSIiIG1ldGhvZD0icG9zdCI+Cjx0YWJsZSBjZWxsc3BhY2luZz0iMCI+Cic7JEdlPWFycmF5KCcnLCdVU0UnLCdEUk9QK0NSRUFURScsJ0NSRUFURScpOyRzZT1hcnJheSgnJywnRFJPUCtDUkVBVEUnLCdDUkVBVEUnKTskVmQ9YXJyYXkoJycsJ1RSVU5DQVRFK0lOU0VSVCcsJ0lOU0VSVCcpO2lmKCR2PT0ic3FsIil7JEdlW109J0NSRUFURStBTFRFUic7JHNlW109J0NSRUFURStBTFRFUic7JFZkW109J0lOU0VSVCtVUERBVEUnO31wYXJzZV9zdHIoJF9DT09LSUVbImFkbWluZXJfZXhwb3J0Il0sJGEpO2lmKCEkYSl7JGE9YXJyYXkoIm91dHB1dCI9PiJ0ZXh0IiwiZm9ybWF0Ij0+InNxbCIsImRiX3N0eWxlIj0+KERCIT0iIj8iIjoiQ1JFQVRFIiksInRhYmxlX3N0eWxlIj0+IkRST1ArQ1JFQVRFIiwiZGF0YV9zdHlsZSI9PiJJTlNFUlQiKTt9aWYoIWlzc2V0KCRhWyJldmVudHMiXSkpeyRhWyJyb3V0aW5lcyJdPSRhWyJldmVudHMiXT0oJF9HRVRbImR1bXAiXT09IiIpOyRhWyJhdXRvX2luY3JlbWVudCJdPSRhWyJ0cmlnZ2VycyJdPSRhWyJ0YWJsZV9zdHlsZSJdO31lY2hvIjx0cj48dGg+Ii5sYW5nKDExNCkuIjx0ZD4iLmh0bWxfc2VsZWN0KCJvdXRwdXQiLCRvLT5kdW1wT3V0cHV0KCksJGFbIm91dHB1dCJdLDApLiJcbiI7ZWNobyI8dHI+PHRoPiIubGFuZygxMTUpLiI8dGQ+Ii5odG1sX3NlbGVjdCgiZm9ybWF0Iiwkby0+ZHVtcEZvcm1hdCgpLCRhWyJmb3JtYXQiXSwwKS4iXG4iO2VjaG8oJHY9PSJzcWxpdGUiPyIiOiI8dHI+PHRoPiIubGFuZyg2NSkuIjx0ZD4iLmh0bWxfc2VsZWN0KCdkYl9zdHlsZScsJEdlLCRhWyJkYl9zdHlsZSJdKS4oc3VwcG9ydCgicm91dGluZSIpP2NoZWNrYm94KCJyb3V0aW5lcyIsMSwkYVsicm91dGluZXMiXSxsYW5nKDExNikpOiIiKS4oc3VwcG9ydCgiZXZlbnQiKT9jaGVja2JveCgiZXZlbnRzIiwxLCRhWyJldmVudHMiXSxsYW5nKDExNykpOiIiKSksIjx0cj48dGg+Ii5sYW5nKDc3KS4iPHRkPiIuaHRtbF9zZWxlY3QoJ3RhYmxlX3N0eWxlJywkc2UsJGFbInRhYmxlX3N0eWxlIl0pLmNoZWNrYm94KCJhdXRvX2luY3JlbWVudCIsMSwkYVsiYXV0b19pbmNyZW1lbnQiXSxsYW5nKDkyKSkuKHN1cHBvcnQoInRyaWdnZXIiKT9jaGVja2JveCgidHJpZ2dlcnMiLDEsJGFbInRyaWdnZXJzIl0sbGFuZygxMDkpKToiIiksIjx0cj48dGg+Ii5sYW5nKDExOCkuIjx0ZD4iLmh0bWxfc2VsZWN0KCdkYXRhX3N0eWxlJywkVmQsJGFbImRhdGFfc3R5bGUiXSksJzwvdGFibGU+CjxwPjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSInLGxhbmcoMTEzKSwnIj4KCjx0YWJsZSBjZWxsc3BhY2luZz0iMCI+Cic7JGtkPWFycmF5KCk7aWYoREIhPSIiKXskYWI9KCRtIT0iIj8iIjoiIGNoZWNrZWQiKTtlY2hvIjx0aGVhZD48dHI+IiwiPHRoIHN0eWxlPSd0ZXh0LWFsaWduOiBsZWZ0Oyc+PGxhYmVsPjxpbnB1dCB0eXBlPSdjaGVja2JveCcgaWQ9J2NoZWNrLXRhYmxlcyckYWIgb25jbGljaz0nZm9ybUNoZWNrKHRoaXMsIC9edGFibGVzXFxbLyk7Jz4iLmxhbmcoNzcpLiI8L2xhYmVsPiIsIjx0aCBzdHlsZT0ndGV4dC1hbGlnbjogcmlnaHQ7Jz48bGFiZWw+Ii5sYW5nKDExOCkuIjxpbnB1dCB0eXBlPSdjaGVja2JveCcgaWQ9J2NoZWNrLWRhdGEnJGFiIG9uY2xpY2s9J2Zvcm1DaGVjayh0aGlzLCAvXmRhdGFcXFsvKTsnPjwvbGFiZWw+IiwiPC90aGVhZD5cbiI7JFg9IiI7Zm9yZWFjaCh0YWJsZV9zdGF0dXMoKWFzJGEpeyRmPSRhWyJOYW1lIl07JHpjPWVyZWdfcmVwbGFjZSgiXy4qIiwiIiwkZik7JGFiPSgkbT09IiJ8fCRtPT0oc3Vic3RyKCRtLC0xKT09IiUiPyIkemMlIjokZikpOyR6Yj0iPHRyPjx0ZD4iLmNoZWNrYm94KCJ0YWJsZXNbXSIsJGYsJGFiLCRmLCJmb3JtVW5jaGVjaygnY2hlY2stdGFibGVzJyk7Iik7aWYoaXNfdmlldygkYSkpeyRYLj0iJHpiXG4iO31lbHNle2VjaG8iJHpiPHRkIGFsaWduPSdyaWdodCc+PGxhYmVsPiIuKCRhWyJFbmdpbmUiXT09Iklubm9EQiImJiRhWyJSb3dzIl0/In4gIjoiIikuJGFbIlJvd3MiXS5jaGVja2JveCgiZGF0YVtdIiwkZiwkYWIsIiIsImZvcm1VbmNoZWNrKCdjaGVjay1kYXRhJyk7IikuIjwvbGFiZWw+XG4iO30ka2RbJHpjXSsrO31lY2hvJFg7fWVsc2V7ZWNobyI8dGhlYWQ+PHRyPjx0aCBzdHlsZT0ndGV4dC1hbGlnbjogbGVmdDsnPjxsYWJlbD48aW5wdXQgdHlwZT0nY2hlY2tib3gnIGlkPSdjaGVjay1kYXRhYmFzZXMnIi4oJG09PSIiPyIgY2hlY2tlZCI6IiIpLiIgb25jbGljaz0nZm9ybUNoZWNrKHRoaXMsIC9eZGF0YWJhc2VzXFxbLyk7Jz4iLmxhbmcoNjUpLiI8L2xhYmVsPjwvdGhlYWQ+XG4iOyRfPWdldF9kYXRhYmFzZXMoKTtpZigkXyl7Zm9yZWFjaCgkXwphcyR0KXtpZighaW5mb3JtYXRpb25fc2NoZW1hKCR0KSl7JHpjPWVyZWdfcmVwbGFjZSgiXy4qIiwiIiwkdCk7ZWNobyI8dHI+PHRkPiIuY2hlY2tib3goImRhdGFiYXNlc1tdIiwkdCwkbT09IiJ8fCRtPT0iJHpjJSIsJHQsImZvcm1VbmNoZWNrKCdjaGVjay1kYXRhYmFzZXMnKTsiKS4iPC9sYWJlbD5cbiI7JGtkWyR6Y10rKzt9fX1lbHNle2VjaG8iPHRyPjx0ZD48dGV4dGFyZWEgbmFtZT0nZGF0YWJhc2VzJyByb3dzPScxMCcgY29scz0nMjAnPjwvdGV4dGFyZWE+Ijt9fWVjaG8nPC90YWJsZT4KPC9mb3JtPgonOyRCYT10cnVlO2ZvcmVhY2goJGtkCmFzJGQ9PiRiKXtpZigkZCE9IiImJiRiPjEpe2VjaG8oJEJhPyI8cD4iOiIgIikuIjxhIGhyZWY9JyIuaChNRSkuImR1bXA9Ii51cmxlbmNvZGUoIiRkJSIpLiInPiIuaCgkZCkuIjwvYT4iOyRCYT1mYWxzZTt9fX1lbHNlaWYoaXNzZXQoJF9HRVRbInByaXZpbGVnZXMiXSkpe3BhZ2VfaGVhZGVyKGxhbmcoNzApKTskaT0kZy0+cXVlcnkoIlNFTEVDVCBVc2VyLCBIb3N0IEZST00gbXlzcWwudXNlciBPUkRFUiBCWSBIb3N0LCBVc2VyIik7aWYoISRpKXtlY2hvJzxmb3JtIGFjdGlvbj0iIj48cD4KJztoaWRkZW5fZmllbGRzX2dldCgpO2VjaG8KbGFuZygyMSksJzogPGlucHV0IG5hbWU9InVzZXIiPgonLGxhbmcoMjApLCc6IDxpbnB1dCBuYW1lPSJob3N0IiB2YWx1ZT0ibG9jYWxob3N0Ij4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZ3JhbnQiIHZhbHVlPSIiPgo8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iJyxsYW5nKDMxKSwnIj4KPC9mb3JtPgonOyRpPSRnLT5xdWVyeSgiU0VMRUNUIFNVQlNUUklOR19JTkRFWChDVVJSRU5UX1VTRVIsICdAJywgMSkgQVMgVXNlciwgU1VCU1RSSU5HX0lOREVYKENVUlJFTlRfVVNFUiwgJ0AnLCAtMSkgQVMgSG9zdCIpO31lY2hvIjx0YWJsZSBjZWxsc3BhY2luZz0nMCc+XG4iLCI8dGhlYWQ+PHRyPjx0aD4mbmJzcDs8dGg+Ii5sYW5nKDIxKS4iPHRoPiIubGFuZygyMCkuIjwvdGhlYWQ+XG4iO3doaWxlKCRhPSRpLT5mZXRjaF9hc3NvYygpKXtlY2hvJzx0cicub2RkKCkuJz48dGQ+PGEgaHJlZj0iJy5oKE1FLid1c2VyPScudXJsZW5jb2RlKCRhWyJVc2VyIl0pLicmaG9zdD0nLnVybGVuY29kZSgkYVsiSG9zdCJdKSkuJyI+Jy5sYW5nKDExOSkuJzwvYT48dGQ+Jy5oKCRhWyJVc2VyIl0pLiI8dGQ+Ii5oKCRhWyJIb3N0Il0pLiJcbiI7fWVjaG8iPC90YWJsZT5cbiIsJzxwPjxhIGhyZWY9IicuaChNRSkuJ3VzZXI9Ij4nLmxhbmcoMTIwKS4iPC9hPiI7fWVsc2VpZihpc3NldCgkX0dFVFsic3FsIl0pKXtpZighJG4mJiRfUE9TVFsiZXhwb3J0Il0pe2R1bXBfaGVhZGVycygic3FsIik7JG8tPmR1bXBUYWJsZSgiIiwiIik7JG8tPmR1bXBEYXRhKCIiLCJ0YWJsZSIsJF9QT1NUWyJxdWVyeSJdKTtleGl0O31yZXN0YXJ0X3Nlc3Npb24oKTskRmY9JmdldF9zZXNzaW9uKCJxdWVyaWVzIik7JGViPSYkRmZbREJdO2lmKCEkbiYmJF9QT1NUWyJjbGVhciJdKXskZWI9YXJyYXkoKTtyZWRpcmVjdChyZW1vdmVfZnJvbV91cmkoImhpc3RvcnkiKSk7fXBhZ2VfaGVhZGVyKGxhbmcoNDMpLCRuKTtpZighJG4mJiRfUE9TVCl7JFBhPWZhbHNlOyRqPSRfUE9TVFsicXVlcnkiXTtpZigkX1BPU1RbIndlYmZpbGUiXSl7JFBhPUBmb3BlbigoZmlsZV9leGlzdHMoImFkbWluZXIuc3FsIik/ImFkbWluZXIuc3FsIjooZmlsZV9leGlzdHMoImFkbWluZXIuc3FsLmd6Iik/ImNvbXByZXNzLnpsaWI6Ly9hZG1pbmVyLnNxbC5neiI6ImNvbXByZXNzLmJ6aXAyOi8vYWRtaW5lci5zcWwuYnoyIikpLCJyYiIpOyRqPSgkUGE/ZnJlYWQoJFBhLDFlNik6ZmFsc2UpO31lbHNlaWYoJF9GSUxFUyYmJF9GSUxFU1sic3FsX2ZpbGUiXVsiZXJyb3IiXSE9NCl7JGo9Z2V0X2ZpbGUoInNxbF9maWxlIix0cnVlKTt9aWYoaXNfc3RyaW5nKCRqKSl7aWYoZnVuY3Rpb25fZXhpc3RzKCdtZW1vcnlfZ2V0X3VzYWdlJykpe0Bpbmlfc2V0KCJtZW1vcnlfbGltaXQiLDIqc3RybGVuKCRqKSttZW1vcnlfZ2V0X3VzYWdlKCkrOGU2KTt9aWYoJGohPSIiJiZzdHJsZW4oJGopPDFlNil7JGFhPSRqLihlcmVnKCc7JCcsJGopPyIiOiI7Iik7aWYoISRlYnx8ZW5kKCRlYikhPSRhYSl7JGViW109JGFhO319JHljPSIoPzpcXHN8L1xcKi4qXFwqL3woPzojfC0tIClbXlxuXSpcbnwtLVxuKSI7aWYoIWluaV9ib29sKCJzZXNzaW9uLnVzZV9jb29raWVzIikpe3Nlc3Npb25fd3JpdGVfY2xvc2UoKTt9JGxkPSI7IjskTD0wOyRoYz10cnVlOyRHPWNvbm5lY3QoKTtpZihpc19vYmplY3QoJEcpJiZEQiE9IiIpeyRHLT5zZWxlY3RfZGIoREIpO30kQWI9MDskWmM9YXJyYXkoKTskR2Y9J1tcJ2AiXScuKCR2PT0icGdzcWwiPyd8XFwkW14kXSpcXCQnOigkdj09Im1zc3FsInx8JHY9PSJzcWxpdGUiPyd8XFxbJzonJykpLid8L1xcKnwtLSB8Iyc7JEhmPWV4cGxvZGUoIiAiLG1pY3JvdGltZSgpKTtwYXJzZV9zdHIoJF9DT09LSUVbImFkbWluZXJfZXhwb3J0Il0sJFhiKTskUmQ9JG8tPmR1bXBGb3JtYXQoKTt1bnNldCgkUmRbInNxbCJdKTt3aGlsZSgkaiE9IiIpe2lmKCEkTCYmJHY9PSJzcWwiJiZwcmVnX21hdGNoKCJ+XiR5YypERUxJTUlURVJcXHMrKC4rKX5pIiwkaiwkaykpeyRsZD0ka1sxXTskaj1zdWJzdHIoJGosc3RybGVuKCRrWzBdKSk7fWVsc2V7cHJlZ19tYXRjaCgnKCcucHJlZ19xdW90ZSgkbGQpLiJ8JEdmfFwkKSIsJGosJGssUFJFR19PRkZTRVRfQ0FQVFVSRSwkTCk7JHRhPSRrWzBdWzBdOyRMPSRrWzBdWzFdK3N0cmxlbigkdGEpO2lmKCEkdGEmJiRQYSYmIWZlb2YoJFBhKSl7JGouPWZyZWFkKCRQYSwxZTUpO31lbHNle2lmKCEkdGEmJnJ0cmltKCRqKT09IiIpe2JyZWFrO31pZigkdGEmJiR0YSE9JGxkKXt3aGlsZShwcmVnX21hdGNoKCcoJy4oJHRhPT0nLyonPydcXCovJzooJHRhPT0nWyc/J10nOihlcmVnKCdeLS0gfF4jJywkdGEpPyJcbiI6cHJlZ19xdW90ZSgkdGEpLiJ8XFxcXC4iKSkpLid8JClzJywkaiwkayxQUkVHX09GRlNFVF9DQVBUVVJFLCRMKSl7JG1hPSRrWzBdWzBdOyRMPSRrWzBdWzFdK3N0cmxlbigkbWEpO2lmKCEkbWEmJiRQYSYmIWZlb2YoJFBhKSl7JGouPWZyZWFkKCRQYSwxZTYpO31lbHNlaWYoJG1hWzBdIT0iXFwiKXticmVhazt9fX1lbHNleyRoYz1mYWxzZTskYWE9c3Vic3RyKCRqLDAsJGtbMF1bMV0pOyRBYisrOyR6Yj0iPHByZSBpZD0nc3FsLSRBYic+PGNvZGUgY2xhc3M9J2p1c2gtJHYnPiIuc2hvcnRlbl91dGY4KHRyaW0oJGFhKSwxMDAwKS4iPC9jb2RlPjwvcHJlPlxuIjtpZighJF9QT1NUWyJvbmx5X2Vycm9ycyJdKXtlY2hvJHpiO29iX2ZsdXNoKCk7Zmx1c2goKTt9JEZiPWV4cGxvZGUoIiAiLG1pY3JvdGltZSgpKTtpZigkZy0+bXVsdGlfcXVlcnkoJGFhKSl7aWYoaXNfb2JqZWN0KCRHKSYmcHJlZ19tYXRjaCgifl4keWMqVVNFXFxifmlzVSIsJGFhKSl7JEctPnF1ZXJ5KCRhYSk7fWRveyRpPSRnLT5zdG9yZV9yZXN1bHQoKTskQ2M9ZXhwbG9kZSgiICIsbWljcm90aW1lKCkpOyRRZD1mb3JtYXRfdGltZSgkRmIsJENjKS4oc3RybGVuKCRhYSk8MTAwMD8iIDxhIGhyZWY9JyIuaChNRSkuInNxbD0iLnVybGVuY29kZSh0cmltKCRhYSkpLiInPiIubGFuZygzMSkuIjwvYT4iOiIiKTtpZighaXNfb2JqZWN0KCRpKSl7aWYocHJlZ19tYXRjaCgifl4keWMqKENSRUFURXxEUk9QfEFMVEVSKSR5YysoREFUQUJBU0V8U0NIRU1BKVxcYn5pc1UiLCRhYSkpe3Jlc3RhcnRfc2Vzc2lvbigpO3NldF9zZXNzaW9uKCJkYnMiLG51bGwpO3Nlc3Npb25fd3JpdGVfY2xvc2UoKTt9aWYoISRfUE9TVFsib25seV9lcnJvcnMiXSl7ZWNobyI8cCBjbGFzcz0nbWVzc2FnZScgdGl0bGU9JyIuaCgkZy0+aW5mbykuIic+Ii5sYW5nKDEyMSwkZy0+YWZmZWN0ZWRfcm93cykuIiRRZFxuIjt9fWVsc2V7c2VsZWN0KCRpLCRHKTtpZighJF9QT1NUWyJvbmx5X2Vycm9ycyJdKXtlY2hvIjxmb3JtIGFjdGlvbj0nJyBtZXRob2Q9J3Bvc3QnPlxuIiwiPHA+Ii4oJGktPm51bV9yb3dzP2xhbmcoMTIyLCRpLT5udW1fcm93cyk6IiIpLiRRZDskUz0iZXhwb3J0LSRBYiI7JE9kPSIsIDxhIGhyZWY9JyMkUycgb25jbGljaz1cInJldHVybiAhdG9nZ2xlKCckUycpO1wiPiIubGFuZygxMTMpLiI8L2E+PHNwYW4gaWQ9JyRTJyBjbGFzcz0naGlkZGVuJz46ICIuaHRtbF9zZWxlY3QoIm91dHB1dCIsJG8tPmR1bXBPdXRwdXQoKSwkWGJbIm91dHB1dCJdKS4iICIuaHRtbF9zZWxlY3QoImZvcm1hdCIsJFJkLCRYYlsiZm9ybWF0Il0pLiI8aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSdxdWVyeScgdmFsdWU9JyIuaCgkYWEpLiInPiIuIiA8aW5wdXQgdHlwZT0nc3VibWl0JyBuYW1lPSdleHBvcnQnIHZhbHVlPSciLmxhbmcoMTEzKS4iJyBvbmNsaWNrPSdldmVudFN0b3AoZXZlbnQpOyc+PGlucHV0IHR5cGU9J2hpZGRlbicgbmFtZT0ndG9rZW4nIHZhbHVlPSckTSc+PC9zcGFuPiI7aWYoJEcmJnByZWdfbWF0Y2goIn5eKCR5Y3xcXCgpKlNFTEVDVFxcYn5pc1UiLCRhYSkmJigkQ2Y9ZXhwbGFpbigkRywkYWEpKSl7JFM9ImV4cGxhaW4tJEFiIjtlY2hvIiwgPGEgaHJlZj0nIyRTJyBvbmNsaWNrPVwicmV0dXJuICF0b2dnbGUoJyRTJyk7XCI+RVhQTEFJTjwvYT4kT2RcbiIsIjxkaXYgaWQ9JyRTJyBjbGFzcz0naGlkZGVuJz5cbiI7c2VsZWN0KCRDZiwkRywoJHY9PSJzcWwiPyJodHRwOi8vZGV2Lm15c3FsLmNvbS9kb2MvcmVmbWFuLyIuc3Vic3RyKCRnLT5zZXJ2ZXJfaW5mbywwLDMpLiIvZW4vZXhwbGFpbi1vdXRwdXQuaHRtbCMiOiIiKSk7ZWNobyI8L2Rpdj5cbiI7fWVsc2V7ZWNobyIkT2RcbiI7fWVjaG8iPC9mb3JtPlxuIjt9fSRGYj0kQ2M7fXdoaWxlKCRnLT5uZXh0X3Jlc3VsdCgpKTt9ZWxzZWlmKCRnLT5lcnJvcil7ZWNobygkX1BPU1RbIm9ubHlfZXJyb3JzIl0/JHpiOiIiKSwiPHAgY2xhc3M9J2Vycm9yJz4iLmxhbmcoMTIzKS4iOiAiLmVycm9yKCkuIlxuIjskWmNbXT0iIDxhIGhyZWY9JyNzcWwtJEFiJz4kQWI8L2E+IjtpZigkX1BPU1RbImVycm9yX3N0b3BzIl0pe2JyZWFrO319JGo9c3Vic3RyKCRqLCRMKTskTD0wO319fX1pZigkaGMpe2VjaG8iPHAgY2xhc3M9J21lc3NhZ2UnPiIubGFuZygxMjQpLiJcbiI7fWVsc2VpZigkX1BPU1RbIm9ubHlfZXJyb3JzIl0pe2VjaG8iPHAgY2xhc3M9J21lc3NhZ2UnPiIubGFuZygxMjUsJEFiLWNvdW50KCRaYykpLmZvcm1hdF90aW1lKCRIZixleHBsb2RlKCIgIixtaWNyb3RpbWUoKSkpLiJcbiI7fWVsc2VpZigkWmMmJiRBYj4xKXtlY2hvIjxwIGNsYXNzPSdlcnJvcic+Ii5sYW5nKDEyMykuIjogIi5pbXBsb2RlKCIiLCRaYykuIlxuIjt9fWVsc2V7ZWNobyI8cCBjbGFzcz0nZXJyb3InPiIudXBsb2FkX2Vycm9yKCRqKS4iXG4iO319ZWNobycKPGZvcm0gYWN0aW9uPSIiIG1ldGhvZD0icG9zdCIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSI+CjxwPic7JGFhPSRfR0VUWyJzcWwiXTtpZigkX1BPU1QpeyRhYT0kX1BPU1RbInF1ZXJ5Il07fWVsc2VpZigkX0dFVFsiaGlzdG9yeSJdPT0iYWxsIil7JGFhPSRlYjt9ZWxzZWlmKCRfR0VUWyJoaXN0b3J5Il0hPSIiKXskYWE9JGViWyRfR0VUWyJoaXN0b3J5Il1dO310ZXh0YXJlYSgicXVlcnkiLCRhYSwyMCk7ZWNobygkX1BPU1Q/IiI6IjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz5kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgndGV4dGFyZWEnKVswXS5mb2N1cygpOzwvc2NyaXB0PlxuIiksIjxwPiIuKGluaV9ib29sKCJmaWxlX3VwbG9hZHMiKT9sYW5nKDEyNikuJzogPGlucHV0IHR5cGU9ImZpbGUiIG5hbWU9InNxbF9maWxlIicuKCRfRklMRVMmJiRfRklMRVNbInNxbF9maWxlIl1bImVycm9yIl0hPTQ/Jyc6JyBvbmNoYW5nZT0idGhpcy5mb3JtW1wnb25seV9lcnJvcnNcJ10uY2hlY2tlZCA9IHRydWU7IicpLic+ICgmbHQ7ICcuaW5pX2dldCgidXBsb2FkX21heF9maWxlc2l6ZSIpLidCKSc6bGFuZygxMjcpKSwnPHA+CjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSInLGxhbmcoMTI4KSwnIiB0aXRsZT0iQ3RybCtFbnRlciI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InRva2VuIiB2YWx1ZT0iJywkTSwnIj4KJyxjaGVja2JveCgiZXJyb3Jfc3RvcHMiLDEsJF9QT1NUWyJlcnJvcl9zdG9wcyJdLGxhbmcoMTI5KSkuIlxuIixjaGVja2JveCgib25seV9lcnJvcnMiLDEsJF9QT1NUWyJvbmx5X2Vycm9ycyJdLGxhbmcoMTMwKSkuIlxuIjtwcmludF9maWVsZHNldCgid2ViZmlsZSIsbGFuZygxMzEpLCRfUE9TVFsid2ViZmlsZSJdKTskdGQ9YXJyYXkoKTtmb3JlYWNoKGFycmF5KCJneiI9PiJ6bGliIiwiYnoyIj0+ImJ6MiIpYXMkZD0+JGIpe2lmKGV4dGVuc2lvbl9sb2FkZWQoJGIpKXskdGRbXT0iLiRkIjt9fWVjaG8KbGFuZygxMzIsIjxjb2RlPmFkbWluZXIuc3FsIi4oJHRkPyJbIi5pbXBsb2RlKCJ8IiwkdGQpLiJdIjoiIikuIjwvY29kZT4iKSwnIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9IndlYmZpbGUiIHZhbHVlPSInLmxhbmcoMTMzKS4nIj4nLCI8L2Rpdj48L2ZpZWxkc2V0PlxuIjtpZigkZWIpe3ByaW50X2ZpZWxkc2V0KCJoaXN0b3J5IixsYW5nKDEzNCksJF9HRVRbImhpc3RvcnkiXSE9IiIpO2ZvcmVhY2goJGViCmFzJGQ9PiRiKXtlY2hvJzxhIGhyZWY9IicuaChNRS4ic3FsPSZoaXN0b3J5PSRkIikuJyI+Jy5sYW5nKDMxKS4iPC9hPiA8Y29kZSBjbGFzcz0nanVzaC0kdic+Ii5zaG9ydGVuX3V0ZjgobHRyaW0oc3RyX3JlcGxhY2UoIlxuIiwiICIsc3RyX3JlcGxhY2UoIlxyIiwiIixwcmVnX3JlcGxhY2UoJ35eKCN8LS0gKS4qfm0nLCcnLCRiKSkpKSw4MCwiPC9jb2RlPiIpLiI8YnI+XG4iO31lY2hvIjxpbnB1dCB0eXBlPSdzdWJtaXQnIG5hbWU9J2NsZWFyJyB2YWx1ZT0nIi5sYW5nKDEzNSkuIic+XG4iLCI8YSBocmVmPSciLmgoTUUuInNxbD0maGlzdG9yeT1hbGwiKS4iJz4iLmxhbmcoMTM2KS4iPC9hPlxuIiwiPC9kaXY+PC9maWVsZHNldD5cbiI7fWVjaG8nCjwvZm9ybT4KJzt9ZWxzZWlmKGlzc2V0KCRfR0VUWyJlZGl0Il0pKXskbT0kX0dFVFsiZWRpdCJdOyRzPShpc3NldCgkX0dFVFsic2VsZWN0Il0pPyhjb3VudCgkX1BPU1RbImNoZWNrIl0pPT0xP3doZXJlX2NoZWNrKCRfUE9TVFsiY2hlY2siXVswXSk6IiIpOndoZXJlKCRfR0VUKSk7JHFhPShpc3NldCgkX0dFVFsic2VsZWN0Il0pPyRfUE9TVFsiZWRpdCJdOiRzKTskcD1maWVsZHMoJG0pO2ZvcmVhY2goJHAKYXMkZj0+JGUpe2lmKCFpc3NldCgkZVsicHJpdmlsZWdlcyJdWyRxYT8idXBkYXRlIjoiaW5zZXJ0Il0pfHwkby0+ZmllbGROYW1lKCRlKT09IiIpe3Vuc2V0KCRwWyRmXSk7fX1pZigkX1BPU1QmJiEkbiYmIWlzc2V0KCRfR0VUWyJzZWxlY3QiXSkpeyRnYT0kX1BPU1RbInJlZmVyZXIiXTtpZigkX1BPU1RbImluc2VydCJdKXskZ2E9KCRxYT9udWxsOiRfU0VSVkVSWyJSRVFVRVNUX1VSSSJdKTt9ZWxzZWlmKCFlcmVnKCdeLismc2VsZWN0PS4rJCcsJGdhKSl7JGdhPU1FLiJzZWxlY3Q9Ii51cmxlbmNvZGUoJG0pO31pZihpc3NldCgkX1BPU1RbImRlbGV0ZSJdKSl7cXVlcnlfcmVkaXJlY3QoIkRFTEVURSIubGltaXQxKCJGUk9NICIudGFibGUoJG0pLCIgV0hFUkUgJHMiKSwkZ2EsbGFuZygxMzcpKTt9ZWxzZXskcj1hcnJheSgpO2ZvcmVhY2goJHAKYXMkZj0+JGUpeyRiPXByb2Nlc3NfaW5wdXQoJGUpO2lmKCRiIT09ZmFsc2UmJiRiIT09bnVsbCl7JHJbaWRmX2VzY2FwZSgkZildPSgkcWE/IlxuIi5pZGZfZXNjYXBlKCRmKS4iID0gJGIiOiRiKTt9fWlmKCRxYSl7aWYoISRyKXtyZWRpcmVjdCgkZ2EpO31xdWVyeV9yZWRpcmVjdCgiVVBEQVRFIi5saW1pdDEodGFibGUoJG0pLiIgU0VUIi5pbXBsb2RlKCIsIiwkciksIlxuV0hFUkUgJHMiKSwkZ2EsbGFuZygxMzgpKTt9ZWxzZXskaT1pbnNlcnRfaW50bygkbSwkcik7JHVlPSgkaT9sYXN0X2lkKCk6MCk7cXVlcmllc19yZWRpcmVjdCgkZ2EsbGFuZygxMzksKCR1ZT8iICR1ZSI6IiIpKSwkaSk7fX19JEVhPSRvLT50YWJsZU5hbWUodGFibGVfc3RhdHVzKCRtKSk7cGFnZV9oZWFkZXIoKCRxYT9sYW5nKDMxKTpsYW5nKDE0MCkpLCRuLGFycmF5KCJzZWxlY3QiPT5hcnJheSgkbSwkRWEpKSwkRWEpOyRhPW51bGw7aWYoJF9QT1NUWyJzYXZlIl0peyRhPShhcnJheSkkX1BPU1RbImZpZWxkcyJdO31lbHNlaWYoJHMpeyRRPWFycmF5KCk7Zm9yZWFjaCgkcAphcyRmPT4kZSl7aWYoaXNzZXQoJGVbInByaXZpbGVnZXMiXVsic2VsZWN0Il0pKXskUVtdPSgkX1BPU1RbImNsb25lIl0mJiRlWyJhdXRvX2luY3JlbWVudCJdPyInJyBBUyAiOihlcmVnKCJlbnVtfHNldCIsJGVbInR5cGUiXSk/IjEqIi5pZGZfZXNjYXBlKCRmKS4iIEFTICI6IiIpKS5pZGZfZXNjYXBlKCRmKTt9fSRhPWFycmF5KCk7aWYoJFEpeyRIPWdldF9yb3dzKCJTRUxFQ1QiLmxpbWl0KGltcGxvZGUoIiwgIiwkUSkuIiBGUk9NICIudGFibGUoJG0pLCIgV0hFUkUgJHMiLChpc3NldCgkX0dFVFsic2VsZWN0Il0pPzI6MSkpKTskYT0oaXNzZXQoJF9HRVRbInNlbGVjdCJdKSYmY291bnQoJEgpIT0xP251bGw6cmVzZXQoJEgpKTt9fWVjaG8nCjxmb3JtIGFjdGlvbj0iIiBtZXRob2Q9InBvc3QiIGVuY3R5cGU9Im11bHRpcGFydC9mb3JtLWRhdGEiIGlkPSJmb3JtIj4KJztpZigkcCl7ZWNobyI8dGFibGUgY2VsbHNwYWNpbmc9JzAnIG9ua2V5ZG93bj0ncmV0dXJuIGVkaXRpbmdLZXlkb3duKGV2ZW50KTsnPlxuIjtmb3JlYWNoKCRwCmFzJGY9PiRlKXtlY2hvIjx0cj48dGg+Ii4kby0+ZmllbGROYW1lKCRlKTskemE9JF9HRVRbInNldCJdW2JyYWNrZXRfZXNjYXBlKCRmKV07JHE9KGlzc2V0KCRhKT8oJGFbJGZdIT0iIiYmZXJlZygiZW51bXxzZXQiLCRlWyJ0eXBlIl0pPyskYVskZl06JGFbJGZdKTooISRxYSYmJGVbImF1dG9faW5jcmVtZW50Il0/IiI6KGlzc2V0KCRfR0VUWyJzZWxlY3QiXSk/ZmFsc2U6KGlzc2V0KCR6YSk/JHphOiRlWyJkZWZhdWx0Il0pKSkpO2lmKCEkX1BPU1RbInNhdmUiXSYmaXNfc3RyaW5nKCRxKSl7JHE9JG8tPmVkaXRWYWwoJHEsJGUpO30kSz0oJF9QT1NUWyJzYXZlIl0/KHN0cmluZykkX1BPU1RbImZ1bmN0aW9uIl1bJGZdOigkcyYmJGVbIm9uX3VwZGF0ZSJdPT0iQ1VSUkVOVF9USU1FU1RBTVAiPyJub3ciOigkcT09PWZhbHNlP251bGw6KGlzc2V0KCRxKT8nJzonTlVMTCcpKSkpO2lmKCRlWyJ0eXBlIl09PSJ0aW1lc3RhbXAiJiYkcT09IkNVUlJFTlRfVElNRVNUQU1QIil7JHE9IiI7JEs9Im5vdyI7fWlucHV0KCRlLCRxLCRLKTtlY2hvIlxuIjt9ZWNobyI8L3RhYmxlPlxuIjt9ZWNobyc8cD4KJztpZigkcCl7ZWNobyI8aW5wdXQgdHlwZT0nc3VibWl0JyB2YWx1ZT0nIi5sYW5nKDE0MSkuIic+XG4iO2lmKCFpc3NldCgkX0dFVFsic2VsZWN0Il0pKXtlY2hvJzxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9Imluc2VydCIgdmFsdWU9IicuKCRxYT9sYW5nKDE0Mik6bGFuZygxNDMpKS4iXCI+XG4iO319ZWNobygkcWE/IjxpbnB1dCB0eXBlPSdzdWJtaXQnIG5hbWU9J2RlbGV0ZScgdmFsdWU9JyIubGFuZygxNDQpLiInIG9uY2xpY2s9XCJyZXR1cm4gY29uZmlybSgnIi5sYW5nKDApLiInKTtcIj5cbiI6KCRfUE9TVHx8ISRwPyIiOiI8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCc+ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Zvcm0nKS5nZXRFbGVtZW50c0J5VGFnTmFtZSgndGQnKVsxXS5maXJzdENoaWxkLmZvY3VzKCk7PC9zY3JpcHQ+XG4iKSk7aWYoaXNzZXQoJF9HRVRbInNlbGVjdCJdKSl7aGlkZGVuX2ZpZWxkcyhhcnJheSgiY2hlY2siPT4oYXJyYXkpJF9QT1NUWyJjaGVjayJdLCJjbG9uZSI9PiRfUE9TVFsiY2xvbmUiXSwiYWxsIj0+JF9QT1NUWyJhbGwiXSkpO31lY2hvJzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InJlZmVyZXIiIHZhbHVlPSInLGgoaXNzZXQoJF9QT1NUWyJyZWZlcmVyIl0pPyRfUE9TVFsicmVmZXJlciJdOiRfU0VSVkVSWyJIVFRQX1JFRkVSRVIiXSksJyI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InNhdmUiIHZhbHVlPSIxIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idG9rZW4iIHZhbHVlPSInLCRNLCciPgo8L2Zvcm0+Cic7fWVsc2VpZihpc3NldCgkX0dFVFsiY3JlYXRlIl0pKXskbT0kX0dFVFsiY3JlYXRlIl07JHBlPWFycmF5KCdIQVNIJywnTElORUFSIEhBU0gnLCdLRVknLCdMSU5FQVIgS0VZJywnUkFOR0UnLCdMSVNUJyk7JGNlPXJlZmVyZW5jYWJsZV9wcmltYXJ5KCRtKTskaGE9YXJyYXkoKTtmb3JlYWNoKCRjZQphcyRFYT0+JGUpeyRoYVtzdHJfcmVwbGFjZSgiYCIsImBgIiwkRWEpLiJgIi5zdHJfcmVwbGFjZSgiYCIsImBgIiwkZVsiZmllbGQiXSldPSRFYTt9JEtjPWFycmF5KCk7JEpjPWFycmF5KCk7aWYoJG0hPSIiKXskS2M9ZmllbGRzKCRtKTskSmM9dGFibGVfc3RhdHVzKCRtKTt9aWYoJF9QT1NUJiYhJF9QT1NUWyJmaWVsZHMiXSl7JF9QT1NUWyJmaWVsZHMiXT1hcnJheSgpO31pZigkX1BPU1QmJiEkbiYmISRfUE9TVFsiYWRkIl0mJiEkX1BPU1RbImRyb3BfY29sIl0mJiEkX1BPU1RbInVwIl0mJiEkX1BPU1RbImRvd24iXSl7aWYoJF9QT1NUWyJkcm9wIl0pe3F1ZXJ5X3JlZGlyZWN0KCJEUk9QIFRBQkxFICIudGFibGUoJG0pLHN1YnN0cihNRSwwLC0xKSxsYW5nKDE0NSkpO31lbHNleyRwPWFycmF5KCk7JE9hPWFycmF5KCk7a3NvcnQoJF9QT1NUWyJmaWVsZHMiXSk7JHZkPXJlc2V0KCRLYyk7JEpiPSJGSVJTVCI7Zm9yZWFjaCgkX1BPU1RbImZpZWxkcyJdYXMkZD0+JGUpeyRBPSRoYVskZVsidHlwZSJdXTskVWM9KGlzc2V0KCRBKT8kY2VbJEFdOiRlKTtpZigkZVsiZmllbGQiXSE9IiIpe2lmKCEkZVsiaGFzX2RlZmF1bHQiXSl7JGVbImRlZmF1bHQiXT1udWxsO30kemE9ZXJlZ2lfcmVwbGFjZSgiICpvbiB1cGRhdGUgQ1VSUkVOVF9USU1FU1RBTVAiLCIiLCRlWyJkZWZhdWx0Il0pO2lmKCR6YSE9JGVbImRlZmF1bHQiXSl7JGVbIm9uX3VwZGF0ZSJdPSJDVVJSRU5UX1RJTUVTVEFNUCI7JGVbImRlZmF1bHQiXT0kemE7fWlmKCRkPT0kX1BPU1RbImF1dG9faW5jcmVtZW50X2NvbCJdKXskZVsiYXV0b19pbmNyZW1lbnQiXT10cnVlO30kcWU9cHJvY2Vzc19maWVsZCgkZSwkVWMpO2lmKCRxZSE9cHJvY2Vzc19maWVsZCgkdmQsJHZkKSl7JHBbXT1hcnJheSgkZVsib3JpZyJdLCRxZSwkSmIpO31pZihpc3NldCgkQSkpeyRPYVtpZGZfZXNjYXBlKCRlWyJmaWVsZCJdKV09KCRtIT0iIj8iQUREIjoiICIpLiIgRk9SRUlHTiBLRVkgKCIuaWRmX2VzY2FwZSgkZVsiZmllbGQiXSkuIikgUkVGRVJFTkNFUyAiLnRhYmxlKCRoYVskZVsidHlwZSJdXSkuIiAoIi5pZGZfZXNjYXBlKCRVY1siZmllbGQiXSkuIikiLihpbl9hcnJheSgkZVsib25fZGVsZXRlIl0sJGZiKT8iIE9OIERFTEVURSAkZVtvbl9kZWxldGVdIjoiIik7fSRKYj0iQUZURVIgIi5pZGZfZXNjYXBlKCRlWyJmaWVsZCJdKTt9ZWxzZWlmKCRlWyJvcmlnIl0hPSIiKXskcFtdPWFycmF5KCRlWyJvcmlnIl0pO31pZigkZVsib3JpZyJdIT0iIil7JHZkPW5leHQoJEtjKTt9fSR2Yj0iIjtpZihpbl9hcnJheSgkX1BPU1RbInBhcnRpdGlvbl9ieSJdLCRwZSkpeyR5ZD1hcnJheSgpO2lmKCRfUE9TVFsicGFydGl0aW9uX2J5Il09PSdSQU5HRSd8fCRfUE9TVFsicGFydGl0aW9uX2J5Il09PSdMSVNUJyl7Zm9yZWFjaChhcnJheV9maWx0ZXIoJF9QT1NUWyJwYXJ0aXRpb25fbmFtZXMiXSlhcyRkPT4kYil7JHE9JF9QT1NUWyJwYXJ0aXRpb25fdmFsdWVzIl1bJGRdOyR5ZFtdPSJcblBBUlRJVElPTiAiLmlkZl9lc2NhcGUoJGIpLiIgVkFMVUVTICIuKCRfUE9TVFsicGFydGl0aW9uX2J5Il09PSdSQU5HRSc/IkxFU1MgVEhBTiI6IklOIikuKCRxIT0iIj8iICgkcSkiOiIgTUFYVkFMVUUiKTt9fSR2Yi49IlxuUEFSVElUSU9OIEJZICRfUE9TVFtwYXJ0aXRpb25fYnldKCRfUE9TVFtwYXJ0aXRpb25dKSIuKCR5ZD8iICgiLmltcGxvZGUoIiwiLCR5ZCkuIlxuKSI6KCRfUE9TVFsicGFydGl0aW9ucyJdPyIgUEFSVElUSU9OUyAiLigrJF9QT1NUWyJwYXJ0aXRpb25zIl0pOiIiKSk7fWVsc2VpZigkbSE9IiImJnN1cHBvcnQoInBhcnRpdGlvbmluZyIpKXskdmIuPSJcblJFTU9WRSBQQVJUSVRJT05JTkciO30kdmE9bGFuZygxNDYpO2lmKCRtPT0iIil7Y29va2llKCJhZG1pbmVyX2VuZ2luZSIsJF9QT1NUWyJFbmdpbmUiXSk7JHZhPWxhbmcoMTQ3KTt9cXVlcmllc19yZWRpcmVjdChNRS4idGFibGU9Ii51cmxlbmNvZGUoJF9QT1NUWyJuYW1lIl0pLCR2YSxhbHRlcl90YWJsZSgkbSwkX1BPU1RbIm5hbWUiXSwkcCwkT2EsJF9QT1NUWyJDb21tZW50Il0sKCRfUE9TVFsiRW5naW5lIl0mJiRfUE9TVFsiRW5naW5lIl0hPSRKY1siRW5naW5lIl0/JF9QT1NUWyJFbmdpbmUiXToiIiksKCRfUE9TVFsiQ29sbGF0aW9uIl0mJiRfUE9TVFsiQ29sbGF0aW9uIl0hPSRKY1siQ29sbGF0aW9uIl0/JF9QT1NUWyJDb2xsYXRpb24iXToiIiksKCRfUE9TVFsiQXV0b19pbmNyZW1lbnQiXSE9IiI/KyRfUE9TVFsiQXV0b19pbmNyZW1lbnQiXToiIiksJHZiKSk7fX1wYWdlX2hlYWRlcigoJG0hPSIiP2xhbmcoMjgpOmxhbmcoMTQ4KSksJG4sYXJyYXkoInRhYmxlIj0+JG0pLCRtKTskYT1hcnJheSgiRW5naW5lIj0+JF9DT09LSUVbImFkbWluZXJfZW5naW5lIl0sImZpZWxkcyI9PmFycmF5KGFycmF5KCJmaWVsZCI9PiIiLCJ0eXBlIj0+KGlzc2V0KCRSWyJpbnQiXSk/ImludCI6KGlzc2V0KCRSWyJpbnRlZ2VyIl0pPyJpbnRlZ2VyIjoiIikpKSksInBhcnRpdGlvbl9uYW1lcyI9PmFycmF5KCIiKSwpO2lmKCRfUE9TVCl7JGE9JF9QT1NUO2lmKCRhWyJhdXRvX2luY3JlbWVudF9jb2wiXSl7JGFbImZpZWxkcyJdWyRhWyJhdXRvX2luY3JlbWVudF9jb2wiXV1bImF1dG9faW5jcmVtZW50Il09dHJ1ZTt9cHJvY2Vzc19maWVsZHMoJGFbImZpZWxkcyJdKTt9ZWxzZWlmKCRtIT0iIil7JGE9JEpjOyRhWyJuYW1lIl09JG07JGFbImZpZWxkcyJdPWFycmF5KCk7aWYoISRfR0VUWyJhdXRvX2luY3JlbWVudCJdKXskYVsiQXV0b19pbmNyZW1lbnQiXT0iIjt9Zm9yZWFjaCgkS2MKYXMkZSl7JGVbImhhc19kZWZhdWx0Il09aXNzZXQoJGVbImRlZmF1bHQiXSk7aWYoJGVbIm9uX3VwZGF0ZSJdKXskZVsiZGVmYXVsdCJdLj0iIE9OIFVQREFURSAkZVtvbl91cGRhdGVdIjt9JGFbImZpZWxkcyJdW109JGU7fWlmKHN1cHBvcnQoInBhcnRpdGlvbmluZyIpKXskWWI9IkZST00gaW5mb3JtYXRpb25fc2NoZW1hLlBBUlRJVElPTlMgV0hFUkUgVEFCTEVfU0NIRU1BID0gIi5xKERCKS4iIEFORCBUQUJMRV9OQU1FID0gIi5xKCRtKTskaT0kZy0+cXVlcnkoIlNFTEVDVCBQQVJUSVRJT05fTUVUSE9ELCBQQVJUSVRJT05fT1JESU5BTF9QT1NJVElPTiwgUEFSVElUSU9OX0VYUFJFU1NJT04gJFliIE9SREVSIEJZIFBBUlRJVElPTl9PUkRJTkFMX1BPU0lUSU9OIERFU0MgTElNSVQgMSIpO2xpc3QoJGFbInBhcnRpdGlvbl9ieSJdLCRhWyJwYXJ0aXRpb25zIl0sJGFbInBhcnRpdGlvbiJdKT0kaS0+ZmV0Y2hfcm93KCk7JGFbInBhcnRpdGlvbl9uYW1lcyJdPWFycmF5KCk7JGFbInBhcnRpdGlvbl92YWx1ZXMiXT1hcnJheSgpO2ZvcmVhY2goZ2V0X3Jvd3MoIlNFTEVDVCBQQVJUSVRJT05fTkFNRSwgUEFSVElUSU9OX0RFU0NSSVBUSU9OICRZYiBBTkQgUEFSVElUSU9OX05BTUUgIT0gJycgT1JERVIgQlkgUEFSVElUSU9OX09SRElOQUxfUE9TSVRJT04iKWFzJGRkKXskYVsicGFydGl0aW9uX25hbWVzIl1bXT0kZGRbIlBBUlRJVElPTl9OQU1FIl07JGFbInBhcnRpdGlvbl92YWx1ZXMiXVtdPSRkZFsiUEFSVElUSU9OX0RFU0NSSVBUSU9OIl07fSRhWyJwYXJ0aXRpb25fbmFtZXMiXVtdPSIiO319JFo9Y29sbGF0aW9ucygpOyRxZD1mbG9vcihleHRlbnNpb25fbG9hZGVkKCJzdWhvc2luIik/KG1pbihpbmlfZ2V0KCJzdWhvc2luLnJlcXVlc3QubWF4X3ZhcnMiKSxpbmlfZ2V0KCJzdWhvc2luLnBvc3QubWF4X3ZhcnMiKSktMTMpLzEwOjApO2lmKCRxZCYmY291bnQoJGFbImZpZWxkcyJdKT4kcWQpe2VjaG8iPHAgY2xhc3M9J2Vycm9yJz4iLmgobGFuZygxNDksJ3N1aG9zaW4ucG9zdC5tYXhfdmFycycsJ3N1aG9zaW4ucmVxdWVzdC5tYXhfdmFycycpKS4iXG4iO30kd2Q9ZW5naW5lcygpO2ZvcmVhY2goJHdkCmFzJHliKXtpZighc3RyY2FzZWNtcCgkeWIsJGFbIkVuZ2luZSJdKSl7JGFbIkVuZ2luZSJdPSR5YjticmVhazt9fWVjaG8nCjxmb3JtIGFjdGlvbj0iIiBtZXRob2Q9InBvc3QiIGlkPSJmb3JtIj4KPHA+CicsbGFuZygxNTApLCc6IDxpbnB1dCBuYW1lPSJuYW1lIiBtYXhsZW5ndGg9IjY0IiB2YWx1ZT0iJyxoKCRhWyJuYW1lIl0pLCciPgonO2lmKCRtPT0iIiYmISRfUE9TVCl7Pz48c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCc+ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Zvcm0nKVsnbmFtZSddLmZvY3VzKCk7PC9zY3JpcHQ+PD9waHAgfWVjaG8oJHdkP2h0bWxfc2VsZWN0KCJFbmdpbmUiLGFycmF5KCIiPT4iKCIubGFuZygxNTEpLiIpIikrJHdkLCRhWyJFbmdpbmUiXSk6IiIpLCcgJywoJFomJiFlcmVnKCJzcWxpdGV8bXNzcWwiLCR2KT9odG1sX3NlbGVjdCgiQ29sbGF0aW9uIixhcnJheSgiIj0+IigiLmxhbmcoODUpLiIpIikrJFosJGFbIkNvbGxhdGlvbiJdKToiIiksJyA8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iJyxsYW5nKDE0MSksJyI+Cjx0YWJsZSBjZWxsc3BhY2luZz0iMCIgaWQ9ImVkaXQtZmllbGRzIiBjbGFzcz0ibm93cmFwIj4KJzskS2I9ZWRpdF9maWVsZHMoJGFbImZpZWxkcyJdLCRaLCJUQUJMRSIsJHFkLCRoYSwkYVsiQ29tbWVudCJdIT0iIik7ZWNobyc8L3RhYmxlPgo8cD4KJyxsYW5nKDkyKSwnOiA8aW5wdXQgbmFtZT0iQXV0b19pbmNyZW1lbnQiIHNpemU9IjYiIHZhbHVlPSInLGgoJGFbIkF1dG9faW5jcmVtZW50Il0pLCciPgo8bGFiZWwgY2xhc3M9Impzb25seSI+PGlucHV0IHR5cGU9ImNoZWNrYm94IiBvbmNsaWNrPSJjb2x1bW5TaG93KHRoaXMuY2hlY2tlZCwgNSk7Ij4nLGxhbmcoOTMpLCc8L2xhYmVsPgonLChzdXBwb3J0KCJjb21tZW50Iik/Y2hlY2tib3goIiIsIiIsJEtiLGxhbmcoOTQpLCJjb2x1bW5TaG93KHRoaXMuY2hlY2tlZCwgNik7IHRvZ2dsZSgnQ29tbWVudCcpOyBpZiAodGhpcy5jaGVja2VkKSB0aGlzLmZvcm1bJ0NvbW1lbnQnXS5mb2N1cygpOyIpLicgPGlucHV0IGlkPSJDb21tZW50IiBuYW1lPSJDb21tZW50IiB2YWx1ZT0iJy5oKCRhWyJDb21tZW50Il0pLiciIG1heGxlbmd0aD0iNjAiJy4oJEtiPycnOicgY2xhc3M9ImhpZGRlbiInKS4nPic6JycpLCc8cD4KPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IicsbGFuZygxNDEpLCciPgonO2lmKCRfR0VUWyJjcmVhdGUiXSE9IiIpe2VjaG8nPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0iZHJvcCIgdmFsdWU9IicsbGFuZyg3OCksJyInLGNvbmZpcm0oKSwnPic7fWVjaG8nPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idG9rZW4iIHZhbHVlPSInLCRNLCciPgonO2lmKHN1cHBvcnQoInBhcnRpdGlvbmluZyIpKXskbWU9ZXJlZygnUkFOR0V8TElTVCcsJGFbInBhcnRpdGlvbl9ieSJdKTtwcmludF9maWVsZHNldCgicGFydGl0aW9uIixsYW5nKDE1MiksJGFbInBhcnRpdGlvbl9ieSJdKTtlY2hvJzxwPgonLGh0bWxfc2VsZWN0KCJwYXJ0aXRpb25fYnkiLGFycmF5KC0xPT4iIikrJHBlLCRhWyJwYXJ0aXRpb25fYnkiXSwicGFydGl0aW9uQnlDaGFuZ2UodGhpcyk7IiksJyg8aW5wdXQgbmFtZT0icGFydGl0aW9uIiB2YWx1ZT0iJyxoKCRhWyJwYXJ0aXRpb24iXSksJyI+KQonLGxhbmcoMTUzKSwnOiA8aW5wdXQgbmFtZT0icGFydGl0aW9ucyIgc2l6ZT0iMiIgdmFsdWU9IicsaCgkYVsicGFydGl0aW9ucyJdKSwnIicsKCRtZXx8ISRhWyJwYXJ0aXRpb25fYnkiXT8iIGNsYXNzPSdoaWRkZW4nIjoiIiksJz4KPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBpZD0icGFydGl0aW9uLXRhYmxlIicsKCRtZT8iIjoiIGNsYXNzPSdoaWRkZW4nIiksJz4KPHRoZWFkPjx0cj48dGg+JyxsYW5nKDE1NCksJzx0aD4nLGxhbmcoMTU1KSwnPC90aGVhZD4KJztmb3JlYWNoKCRhWyJwYXJ0aXRpb25fbmFtZXMiXWFzJGQ9PiRiKXtlY2hvJzx0cj4nLCc8dGQ+PGlucHV0IG5hbWU9InBhcnRpdGlvbl9uYW1lc1tdIiB2YWx1ZT0iJy5oKCRiKS4nIicuKCRkPT1jb3VudCgkYVsicGFydGl0aW9uX25hbWVzIl0pLTE/JyBvbmNoYW5nZT0icGFydGl0aW9uTmFtZUNoYW5nZSh0aGlzKTsiJzonJykuJz4nLCc8dGQ+PGlucHV0IG5hbWU9InBhcnRpdGlvbl92YWx1ZXNbXSIgdmFsdWU9IicuaCgkYVsicGFydGl0aW9uX3ZhbHVlcyJdWyRkXSkuJyI+Jzt9ZWNobyc8L3RhYmxlPgo8L2Rpdj48L2ZpZWxkc2V0PgonO31lY2hvJzwvZm9ybT4KJzt9ZWxzZWlmKGlzc2V0KCRfR0VUWyJpbmRleGVzIl0pKXskbT0kX0dFVFsiaW5kZXhlcyJdOyROYz1hcnJheSgiUFJJTUFSWSIsIlVOSVFVRSIsIklOREVYIik7JEQ9dGFibGVfc3RhdHVzKCRtKTtpZihlcmVnaSgiTXlJU0FNfE0/YXJpYSIsJERbIkVuZ2luZSJdKSl7JE5jW109IkZVTExURVhUIjt9JEo9aW5kZXhlcygkbSk7aWYoJHY9PSJzcWxpdGUiKXt1bnNldCgkTmNbMF0pO3Vuc2V0KCRKWyIiXSk7fWlmKCRfUE9TVCYmISRuJiYhJF9QT1NUWyJhZGQiXSl7JHU9YXJyYXkoKTtmb3JlYWNoKCRfUE9TVFsiaW5kZXhlcyJdYXMkeCl7aWYoaW5fYXJyYXkoJHhbInR5cGUiXSwkTmMpKXskQj1hcnJheSgpOyRlYz1hcnJheSgpOyRyPWFycmF5KCk7a3NvcnQoJHhbImNvbHVtbnMiXSk7Zm9yZWFjaCgkeFsiY29sdW1ucyJdYXMkZD0+JEMpe2lmKCRDIT0iIil7JFc9JHhbImxlbmd0aHMiXVskZF07JHJbXT1pZGZfZXNjYXBlKCRDKS4oJFc/IigiLigrJFcpLiIpIjoiIik7JEJbXT0kQzskZWNbXT0oJFc/JFc6bnVsbCk7fX1pZigkQil7Zm9yZWFjaCgkSgphcyRmPT4kQmIpe2tzb3J0KCRCYlsiY29sdW1ucyJdKTtrc29ydCgkQmJbImxlbmd0aHMiXSk7aWYoJHhbInR5cGUiXT09JEJiWyJ0eXBlIl0mJmFycmF5X3ZhbHVlcygkQmJbImNvbHVtbnMiXSk9PT0kQiYmKCEkQmJbImxlbmd0aHMiXXx8YXJyYXlfdmFsdWVzKCRCYlsibGVuZ3RocyJdKT09PSRlYykpe3Vuc2V0KCRKWyRmXSk7Y29udGludWUKMjt9fSR1W109YXJyYXkoJHhbInR5cGUiXSwiKCIuaW1wbG9kZSgiLCAiLCRyKS4iKSIpO319fWZvcmVhY2goJEoKYXMkZj0+JEJiKXskdVtdPWFycmF5KCRCYlsidHlwZSJdLGlkZl9lc2NhcGUoJGYpLCJEUk9QIik7fWlmKCEkdSl7cmVkaXJlY3QoTUUuInRhYmxlPSIudXJsZW5jb2RlKCRtKSk7fXF1ZXJpZXNfcmVkaXJlY3QoTUUuInRhYmxlPSIudXJsZW5jb2RlKCRtKSxsYW5nKDE1NiksYWx0ZXJfaW5kZXhlcygkbSwkdSkpO31wYWdlX2hlYWRlcihsYW5nKDEwMiksJG4sYXJyYXkoInRhYmxlIj0+JG0pLCRtKTskcD1hcnJheV9rZXlzKGZpZWxkcygkbSkpOyRhPWFycmF5KCJpbmRleGVzIj0+JEopO2lmKCRfUE9TVCl7JGE9JF9QT1NUO2lmKCRfUE9TVFsiYWRkIl0pe2ZvcmVhY2goJGFbImluZGV4ZXMiXWFzJGQ9PiR4KXtpZigkeFsiY29sdW1ucyJdW2NvdW50KCR4WyJjb2x1bW5zIl0pXSE9IiIpeyRhWyJpbmRleGVzIl1bJGRdWyJjb2x1bW5zIl1bXT0iIjt9fSR4PWVuZCgkYVsiaW5kZXhlcyJdKTtpZigkeFsidHlwZSJdfHxhcnJheV9maWx0ZXIoJHhbImNvbHVtbnMiXSwnc3RybGVuJyl8fGFycmF5X2ZpbHRlcigkeFsibGVuZ3RocyJdLCdzdHJsZW4nKSl7JGFbImluZGV4ZXMiXVtdPWFycmF5KCJjb2x1bW5zIj0+YXJyYXkoMT0+IiIpKTt9fX1lbHNle2ZvcmVhY2goJGFbImluZGV4ZXMiXWFzJGQ9PiR4KXskYVsiaW5kZXhlcyJdWyRkXVsiY29sdW1ucyJdW109IiI7fSRhWyJpbmRleGVzIl1bXT1hcnJheSgiY29sdW1ucyI9PmFycmF5KDE9PiIiKSk7fWVjaG8nCjxmb3JtIGFjdGlvbj0iIiBtZXRob2Q9InBvc3QiPgo8dGFibGUgY2VsbHNwYWNpbmc9IjAiIGNsYXNzPSJub3dyYXAiPgo8dGhlYWQ+PHRyPjx0aD4nLGxhbmcoMTU3KSwnPHRoPicsbGFuZygxNTgpLCc8L3RoZWFkPgonOyRyYT0xO2ZvcmVhY2goJGFbImluZGV4ZXMiXWFzJHgpe2VjaG8iPHRyPjx0ZD4iLmh0bWxfc2VsZWN0KCJpbmRleGVzWyRyYV1bdHlwZV0iLGFycmF5KC0xPT4iIikrJE5jLCR4WyJ0eXBlIl0sKCRyYT09Y291bnQoJGFbImluZGV4ZXMiXSk/ImluZGV4ZXNBZGRSb3codGhpcyk7IjoxKSkuIjx0ZD4iO2tzb3J0KCR4WyJjb2x1bW5zIl0pOyRsPTE7Zm9yZWFjaCgkeFsiY29sdW1ucyJdYXMkZD0+JEMpe2VjaG8iPHNwYW4+Ii5odG1sX3NlbGVjdCgiaW5kZXhlc1skcmFdW2NvbHVtbnNdWyRsXSIsYXJyYXkoLTE9PiIiKSskcCwkQywoJGw9PWNvdW50KCR4WyJjb2x1bW5zIl0pPyJpbmRleGVzQWRkQ29sdW1uKHRoaXMpOyI6MSkpLCI8aW5wdXQgbmFtZT0naW5kZXhlc1skcmFdW2xlbmd0aHNdWyRsXScgc2l6ZT0nMicgdmFsdWU9JyIuaCgkeFsibGVuZ3RocyJdWyRkXSkuIic+IDwvc3Bhbj4iOyRsKys7fSRyYSsrO31lY2hvJzwvdGFibGU+CjxwPgo8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iJyxsYW5nKDE0MSksJyI+Cjxub3NjcmlwdD48cD48aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJhZGQiIHZhbHVlPSInLGxhbmcoOTUpLCciPjwvbm9zY3JpcHQ+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InRva2VuIiB2YWx1ZT0iJywkTSwnIj4KPC9mb3JtPgonO31lbHNlaWYoaXNzZXQoJF9HRVRbImRhdGFiYXNlIl0pKXtpZigkX1BPU1QmJiEkbiYmIWlzc2V0KCRfUE9TVFsiYWRkX3giXSkpe3Jlc3RhcnRfc2Vzc2lvbigpO2lmKCRfUE9TVFsiZHJvcCJdKXskX0dFVFsiZGIiXT0iIjtxdWVyaWVzX3JlZGlyZWN0KHJlbW92ZV9mcm9tX3VyaSgiZGJ8ZGF0YWJhc2UiKSxsYW5nKDE1OSksZHJvcF9kYXRhYmFzZXMoYXJyYXkoREIpKSk7fWVsc2VpZihEQiE9PSRfUE9TVFsibmFtZSJdKXtpZihEQiE9IiIpeyRfR0VUWyJkYiJdPSRfUE9TVFsibmFtZSJdO3F1ZXJpZXNfcmVkaXJlY3QocHJlZ19yZXBsYWNlKCd+ZGI9W14mXSomficsJycsTUUpLiJkYj0iLnVybGVuY29kZSgkX1BPU1RbIm5hbWUiXSksbGFuZygxNjApLHJlbmFtZV9kYXRhYmFzZSgkX1BPU1RbIm5hbWUiXSwkX1BPU1RbImNvbGxhdGlvbiJdKSk7fWVsc2V7JF89ZXhwbG9kZSgiXG4iLHN0cl9yZXBsYWNlKCJcciIsIiIsJF9QT1NUWyJuYW1lIl0pKTskZWU9dHJ1ZTskeGI9IiI7Zm9yZWFjaCgkXwphcyR0KXtpZihjb3VudCgkXyk9PTF8fCR0IT0iIil7aWYoIWNyZWF0ZV9kYXRhYmFzZSgkdCwkX1BPU1RbImNvbGxhdGlvbiJdKSl7JGVlPWZhbHNlO30keGI9JHQ7fX1xdWVyaWVzX3JlZGlyZWN0KE1FLiJkYj0iLnVybGVuY29kZSgkeGIpLGxhbmcoMTYxKSwkZWUpO319ZWxzZXtpZighJF9QT1NUWyJjb2xsYXRpb24iXSl7cmVkaXJlY3Qoc3Vic3RyKE1FLDAsLTEpKTt9cXVlcnlfcmVkaXJlY3QoIkFMVEVSIERBVEFCQVNFICIuaWRmX2VzY2FwZSgkX1BPU1RbIm5hbWUiXSkuKGVyZWdpKCdeW2EtejAtOV9dKyQnLCRfUE9TVFsiY29sbGF0aW9uIl0pPyIgQ09MTEFURSAkX1BPU1RbY29sbGF0aW9uXSI6IiIpLHN1YnN0cihNRSwwLC0xKSxsYW5nKDE2MikpO319cGFnZV9oZWFkZXIoREIhPSIiP2xhbmcoNDYpOmxhbmcoMTYzKSwkbixhcnJheSgpLERCKTskWj1jb2xsYXRpb25zKCk7JGY9REI7JERjPW51bGw7aWYoJF9QT1NUKXskZj0kX1BPU1RbIm5hbWUiXTskRGM9JF9QT1NUWyJjb2xsYXRpb24iXTt9ZWxzZWlmKERCIT0iIil7JERjPWRiX2NvbGxhdGlvbihEQiwkWik7fWVsc2VpZigkdj09InNxbCIpe2ZvcmVhY2goZ2V0X3ZhbHMoIlNIT1cgR1JBTlRTIilhcyRrYSl7aWYocHJlZ19tYXRjaCgnfiBPTiAoYCgoW15cXFxcYF18YGB8XFxcXC4pKiklYFxcLlxcKik/ficsJGthLCRrKSYmJGtbMV0peyRmPXN0cmlwY3NsYXNoZXMoaWRmX3VuZXNjYXBlKCJgJGtbMl1gIikpO2JyZWFrO319fWVjaG8nCjxmb3JtIGFjdGlvbj0iIiBtZXRob2Q9InBvc3QiPgo8cD4KJywoJF9QT1NUWyJhZGRfeCJdfHxzdHJwb3MoJGYsIlxuIik/Jzx0ZXh0YXJlYSBpZD0ibmFtZSIgbmFtZT0ibmFtZSIgcm93cz0iMTAiIGNvbHM9IjQwIj4nLmgoJGYpLic8L3RleHRhcmVhPjxicj4nOic8aW5wdXQgaWQ9Im5hbWUiIG5hbWU9Im5hbWUiIHZhbHVlPSInLmgoJGYpLiciIG1heGxlbmd0aD0iNjQiPicpLiJcbiIuKCRaP2h0bWxfc2VsZWN0KCJjb2xsYXRpb24iLGFycmF5KCIiPT4iKCIubGFuZyg4NSkuIikiKSskWiwkRGMpOiIiKTs/Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCc+ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25hbWUnKS5mb2N1cygpOzwvc2NyaXB0Pgo8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iPD9waHAgZWNobwpsYW5nKDE0MSksJyI+Cic7aWYoREIhPSIiKXtlY2hvIjxpbnB1dCB0eXBlPSdzdWJtaXQnIG5hbWU9J2Ryb3AnIHZhbHVlPSciLmxhbmcoNzgpLiInIi5jb25maXJtKCkuIj5cbiI7fWVsc2VpZighJF9QT1NUWyJhZGRfeCJdJiYkX0dFVFsiZGIiXT09IiIpe2VjaG8iPGlucHV0IHR5cGU9J2ltYWdlJyBuYW1lPSdhZGQnIHNyYz0nIi5oKHByZWdfcmVwbGFjZSgiflxcPy4qfiIsIiIsTUUpKS4iP2ZpbGU9cGx1cy5naWYmYW1wO3ZlcnNpb249My4yLjInIGFsdD0nKycgdGl0bGU9JyIubGFuZyg5NSkuIic+XG4iO31lY2hvJzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InRva2VuIiB2YWx1ZT0iJywkTSwnIj4KPC9mb3JtPgonO31lbHNlaWYoaXNzZXQoJF9HRVRbInNjaGVtZSJdKSl7aWYoJF9QT1NUJiYhJG4peyR3PXByZWdfcmVwbGFjZSgnfm5zPVteJl0qJn4nLCcnLE1FKS4ibnM9IjtpZigkX1BPU1RbImRyb3AiXSl7cXVlcnlfcmVkaXJlY3QoIkRST1AgU0NIRU1BICIuaWRmX2VzY2FwZSgkX0dFVFsibnMiXSksJHcsbGFuZygxNjQpKTt9ZWxzZXskdy49dXJsZW5jb2RlKCRfUE9TVFsibmFtZSJdKTtpZigkX0dFVFsibnMiXT09IiIpe3F1ZXJ5X3JlZGlyZWN0KCJDUkVBVEUgU0NIRU1BICIuaWRmX2VzY2FwZSgkX1BPU1RbIm5hbWUiXSksJHcsbGFuZygxNjUpKTt9ZWxzZWlmKCRfR0VUWyJucyJdIT0kX1BPU1RbIm5hbWUiXSl7cXVlcnlfcmVkaXJlY3QoIkFMVEVSIFNDSEVNQSAiLmlkZl9lc2NhcGUoJF9HRVRbIm5zIl0pLiIgUkVOQU1FIFRPICIuaWRmX2VzY2FwZSgkX1BPU1RbIm5hbWUiXSksJHcsbGFuZygxNjYpKTt9ZWxzZXtyZWRpcmVjdCgkdyk7fX19cGFnZV9oZWFkZXIoJF9HRVRbIm5zIl0hPSIiP2xhbmcoNDcpOmxhbmcoNDgpLCRuKTskYT1hcnJheSgibmFtZSI9PiRfR0VUWyJucyJdKTtpZigkX1BPU1QpeyRhPSRfUE9TVDt9ZWNobycKPGZvcm0gYWN0aW9uPSIiIG1ldGhvZD0icG9zdCI+CjxwPjxpbnB1dCBuYW1lPSJuYW1lIiB2YWx1ZT0iJyxoKCRhWyJuYW1lIl0pLCciPgo8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iJyxsYW5nKDE0MSksJyI+Cic7aWYoJF9HRVRbIm5zIl0hPSIiKXtlY2hvIjxpbnB1dCB0eXBlPSdzdWJtaXQnIG5hbWU9J2Ryb3AnIHZhbHVlPSciLmxhbmcoNzgpLiInIi5jb25maXJtKCkuIj5cbiI7fWVjaG8nPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idG9rZW4iIHZhbHVlPSInLCRNLCciPgo8L2Zvcm0+Cic7fWVsc2VpZihpc3NldCgkX0dFVFsiY2FsbCJdKSl7JFZhPSRfR0VUWyJjYWxsIl07cGFnZV9oZWFkZXIobGFuZygxNjcpLiI6ICIuaCgkVmEpLCRuKTskVGE9cm91dGluZSgkVmEsKGlzc2V0KCRfR0VUWyJjYWxsZiJdKT8iRlVOQ1RJT04iOiJQUk9DRURVUkUiKSk7JFRiPWFycmF5KCk7JHFiPWFycmF5KCk7Zm9yZWFjaCgkVGFbImZpZWxkcyJdYXMkbD0+JGUpe2lmKHN1YnN0cigkZVsiaW5vdXQiXSwtMyk9PSJPVVQiKXskcWJbJGxdPSJAIi5pZGZfZXNjYXBlKCRlWyJmaWVsZCJdKS4iIEFTICIuaWRmX2VzY2FwZSgkZVsiZmllbGQiXSk7fWlmKCEkZVsiaW5vdXQiXXx8c3Vic3RyKCRlWyJpbm91dCJdLDAsMik9PSJJTiIpeyRUYltdPSRsO319aWYoISRuJiYkX1BPU1QpeyRkZT1hcnJheSgpO2ZvcmVhY2goJFRhWyJmaWVsZHMiXWFzJGQ9PiRlKXtpZihpbl9hcnJheSgkZCwkVGIpKXskYj1wcm9jZXNzX2lucHV0KCRlKTtpZigkYj09PWZhbHNlKXskYj0iJyciO31pZihpc3NldCgkcWJbJGRdKSl7JGctPnF1ZXJ5KCJTRVQgQCIuaWRmX2VzY2FwZSgkZVsiZmllbGQiXSkuIiA9ICRiIik7fX0kZGVbXT0oaXNzZXQoJHFiWyRkXSk/IkAiLmlkZl9lc2NhcGUoJGVbImZpZWxkIl0pOiRiKTt9JGo9KGlzc2V0KCRfR0VUWyJjYWxsZiJdKT8iU0VMRUNUIjoiQ0FMTCIpLiIgIi5pZGZfZXNjYXBlKCRWYSkuIigiLmltcGxvZGUoIiwgIiwkZGUpLiIpIjtlY2hvIjxwPjxjb2RlIGNsYXNzPSdqdXNoLSR2Jz4iLmgoJGopLiI8L2NvZGU+IDxhIGhyZWY9JyIuaChNRSkuInNxbD0iLnVybGVuY29kZSgkaikuIic+Ii5sYW5nKDMxKS4iPC9hPlxuIjtpZighJGctPm11bHRpX3F1ZXJ5KCRqKSl7ZWNobyI8cCBjbGFzcz0nZXJyb3InPiIuZXJyb3IoKS4iXG4iO31lbHNle2RveyRpPSRnLT5zdG9yZV9yZXN1bHQoKTtpZihpc19vYmplY3QoJGkpKXtzZWxlY3QoJGkpO31lbHNle2VjaG8iPHAgY2xhc3M9J21lc3NhZ2UnPiIubGFuZygxNjgsJGctPmFmZmVjdGVkX3Jvd3MpLiJcbiI7fX13aGlsZSgkZy0+bmV4dF9yZXN1bHQoKSk7aWYoJHFiKXtzZWxlY3QoJGctPnF1ZXJ5KCJTRUxFQ1QgIi5pbXBsb2RlKCIsICIsJHFiKSkpO319fWVjaG8nCjxmb3JtIGFjdGlvbj0iIiBtZXRob2Q9InBvc3QiPgonO2lmKCRUYil7ZWNobyI8dGFibGUgY2VsbHNwYWNpbmc9JzAnPlxuIjtmb3JlYWNoKCRUYgphcyRkKXskZT0kVGFbImZpZWxkcyJdWyRkXTskZj0kZVsiZmllbGQiXTtlY2hvIjx0cj48dGg+Ii4kby0+ZmllbGROYW1lKCRlKTskcT0kX1BPU1RbImZpZWxkcyJdWyRmXTtpZigkcSE9IiIpe2lmKCRlWyJ0eXBlIl09PSJlbnVtIil7JHE9KyRxO31pZigkZVsidHlwZSJdPT0ic2V0Iil7JHE9YXJyYXlfc3VtKCRxKTt9fWlucHV0KCRlLCRxLChzdHJpbmcpJF9QT1NUWyJmdW5jdGlvbiJdWyRmXSk7ZWNobyJcbiI7fWVjaG8iPC90YWJsZT5cbiI7fWVjaG8nPHA+CjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSInLGxhbmcoMTY3KSwnIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idG9rZW4iIHZhbHVlPSInLCRNLCciPgo8L2Zvcm0+Cic7fWVsc2VpZihpc3NldCgkX0dFVFsiZm9yZWlnbiJdKSl7JG09JF9HRVRbImZvcmVpZ24iXTtpZigkX1BPU1QmJiEkbiYmISRfUE9TVFsiYWRkIl0mJiEkX1BPU1RbImNoYW5nZSJdJiYhJF9QT1NUWyJjaGFuZ2UtanMiXSl7aWYoJF9QT1NUWyJkcm9wIl0pe3F1ZXJ5X3JlZGlyZWN0KCJBTFRFUiBUQUJMRSAiLnRhYmxlKCRtKS4iXG5EUk9QICIuKCR2PT0ic3FsIj8iRk9SRUlHTiBLRVkgIjoiQ09OU1RSQUlOVCAiKS5pZGZfZXNjYXBlKCRfR0VUWyJuYW1lIl0pLE1FLiJ0YWJsZT0iLnVybGVuY29kZSgkbSksbGFuZygxNjkpKTt9ZWxzZXskR2E9YXJyYXlfZmlsdGVyKCRfUE9TVFsic291cmNlIl0sJ3N0cmxlbicpO2tzb3J0KCRHYSk7JGVhPWFycmF5KCk7Zm9yZWFjaCgkR2EKYXMkZD0+JGIpeyRlYVskZF09JF9QT1NUWyJ0YXJnZXQiXVskZF07fXF1ZXJ5X3JlZGlyZWN0KCJBTFRFUiBUQUJMRSAiLnRhYmxlKCRtKS4oJF9HRVRbIm5hbWUiXSE9IiI/IlxuRFJPUCBGT1JFSUdOIEtFWSAiLmlkZl9lc2NhcGUoJF9HRVRbIm5hbWUiXSkuIiwiOiIiKS4iXG5BREQgRk9SRUlHTiBLRVkgKCIuaW1wbG9kZSgiLCAiLGFycmF5X21hcCgnaWRmX2VzY2FwZScsJEdhKSkuIikgUkVGRVJFTkNFUyAiLnRhYmxlKCRfUE9TVFsidGFibGUiXSkuIiAoIi5pbXBsb2RlKCIsICIsYXJyYXlfbWFwKCdpZGZfZXNjYXBlJywkZWEpKS4iKSIuKGluX2FycmF5KCRfUE9TVFsib25fZGVsZXRlIl0sJGZiKT8iIE9OIERFTEVURSAkX1BPU1Rbb25fZGVsZXRlXSI6IiIpLihpbl9hcnJheSgkX1BPU1RbIm9uX3VwZGF0ZSJdLCRmYik/IiBPTiBVUERBVEUgJF9QT1NUW29uX3VwZGF0ZV0iOiIiKSxNRS4idGFibGU9Ii51cmxlbmNvZGUoJG0pLCgkX0dFVFsibmFtZSJdIT0iIj9sYW5nKDE3MCk6bGFuZygxNzEpKSk7JG49bGFuZygxNzIpLiI8YnI+JG4iO319cGFnZV9oZWFkZXIobGFuZygxNzMpLCRuLGFycmF5KCJ0YWJsZSI9PiRtKSwkbSk7JGE9YXJyYXkoInRhYmxlIj0+JG0sInNvdXJjZSI9PmFycmF5KCIiKSk7aWYoJF9QT1NUKXskYT0kX1BPU1Q7a3NvcnQoJGFbInNvdXJjZSJdKTtpZigkX1BPU1RbImFkZCJdKXskYVsic291cmNlIl1bXT0iIjt9ZWxzZWlmKCRfUE9TVFsiY2hhbmdlIl18fCRfUE9TVFsiY2hhbmdlLWpzIl0peyRhWyJ0YXJnZXQiXT1hcnJheSgpO319ZWxzZWlmKCRfR0VUWyJuYW1lIl0hPSIiKXskaGE9Zm9yZWlnbl9rZXlzKCRtKTskYT0kaGFbJF9HRVRbIm5hbWUiXV07JGFbInNvdXJjZSJdW109IiI7fSRHYT1hcnJheV9rZXlzKGZpZWxkcygkbSkpOyRlYT0oJG09PT0kYVsidGFibGUiXT8kR2E6YXJyYXlfa2V5cyhmaWVsZHMoJGFbInRhYmxlIl0pKSk7JGplPWFycmF5KCk7Zm9yZWFjaCh0YWJsZV9zdGF0dXMoKWFzJGY9PiREKXtpZihma19zdXBwb3J0KCREKSl7JGplW109JGY7fX1lY2hvJwo8Zm9ybSBhY3Rpb249IiIgbWV0aG9kPSJwb3N0Ij4KPHA+Cic7aWYoJGFbImRiIl09PSIiKXtlY2hvCmxhbmcoMTc0KSwnOgonLGh0bWxfc2VsZWN0KCJ0YWJsZSIsJGplLCRhWyJ0YWJsZSJdLCJ0aGlzLmZvcm1bJ2NoYW5nZS1qcyddLnZhbHVlID0gJzEnOyB0aGlzLmZvcm0uc3VibWl0KCk7IiksJzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImNoYW5nZS1qcyIgdmFsdWU9IiI+Cjxub3NjcmlwdD48cD48aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJjaGFuZ2UiIHZhbHVlPSInLGxhbmcoMTc1KSwnIj48L25vc2NyaXB0Pgo8dGFibGUgY2VsbHNwYWNpbmc9IjAiPgo8dGhlYWQ+PHRyPjx0aD4nLGxhbmcoMTA0KSwnPHRoPicsbGFuZygxMDUpLCc8L3RoZWFkPgonOyRyYT0wO2ZvcmVhY2goJGFbInNvdXJjZSJdYXMkZD0+JGIpe2VjaG8iPHRyPiIsIjx0ZD4iLmh0bWxfc2VsZWN0KCJzb3VyY2VbIi4oKyRkKS4iXSIsYXJyYXkoLTE9PiIiKSskR2EsJGIsKCRyYT09Y291bnQoJGFbInNvdXJjZSJdKS0xPyJmb3JlaWduQWRkUm93KHRoaXMpOyI6MSkpLCI8dGQ+Ii5odG1sX3NlbGVjdCgidGFyZ2V0WyIuKCskZCkuIl0iLCRlYSwkYVsidGFyZ2V0Il1bJGRdKTskcmErKzt9ZWNobyc8L3RhYmxlPgo8cD4KJyxsYW5nKDg2KSwnOiAnLGh0bWxfc2VsZWN0KCJvbl9kZWxldGUiLGFycmF5KC0xPT4iIikrJGZiLCRhWyJvbl9kZWxldGUiXSksJyAnLGxhbmcoMTA2KSwnOiAnLGh0bWxfc2VsZWN0KCJvbl91cGRhdGUiLGFycmF5KC0xPT4iIikrJGZiLCRhWyJvbl91cGRhdGUiXSksJzxwPgo8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iJyxsYW5nKDE0MSksJyI+Cjxub3NjcmlwdD48cD48aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJhZGQiIHZhbHVlPSInLGxhbmcoMTc2KSwnIj48L25vc2NyaXB0PgonO31pZigkX0dFVFsibmFtZSJdIT0iIil7ZWNobyc8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJkcm9wIiB2YWx1ZT0iJyxsYW5nKDc4KSwnIicsY29uZmlybSgpLCc+Jzt9ZWNobyc8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ0b2tlbiIgdmFsdWU9IicsJE0sJyI+CjwvZm9ybT4KJzt9ZWxzZWlmKGlzc2V0KCRfR0VUWyJ2aWV3Il0pKXskbT0kX0dFVFsidmlldyJdOyRoYj1mYWxzZTtpZigkX1BPU1QmJiEkbil7JGhiPWRyb3BfY3JlYXRlKCJEUk9QIFZJRVcgIi50YWJsZSgkbSksIkNSRUFURSBWSUVXICIudGFibGUoJF9QT1NUWyJuYW1lIl0pLiIgQVNcbiRfUE9TVFtzZWxlY3RdIiwoJF9QT1NUWyJkcm9wIl0/c3Vic3RyKE1FLDAsLTEpOk1FLiJ0YWJsZT0iLnVybGVuY29kZSgkX1BPU1RbIm5hbWUiXSkpLGxhbmcoMTc3KSxsYW5nKDE3OCksbGFuZygxNzkpLCRtKTt9cGFnZV9oZWFkZXIoKCRtIT0iIj9sYW5nKDI3KTpsYW5nKDE4MCkpLCRuLGFycmF5KCJ0YWJsZSI9PiRtKSwkbSk7JGE9YXJyYXkoKTtpZigkX1BPU1QpeyRhPSRfUE9TVDt9ZWxzZWlmKCRtIT0iIil7JGE9dmlldygkbSk7JGFbIm5hbWUiXT0kbTt9ZWNobycKPGZvcm0gYWN0aW9uPSIiIG1ldGhvZD0icG9zdCI+CjxwPicsbGFuZygxODEpLCc6IDxpbnB1dCBuYW1lPSJuYW1lIiB2YWx1ZT0iJyxoKCRhWyJuYW1lIl0pLCciIG1heGxlbmd0aD0iNjQiPgo8cD4nO3RleHRhcmVhKCJzZWxlY3QiLCRhWyJzZWxlY3QiXSk7ZWNobyc8cD4KJztpZigkaGIpe2VjaG8nPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZHJvcHBlZCIgdmFsdWU9IjEiPic7fWVjaG8nPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IicsbGFuZygxNDEpLCciPgonO2lmKCRfR0VUWyJ2aWV3Il0hPSIiKXtlY2hvJzxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9ImRyb3AiIHZhbHVlPSInLGxhbmcoNzgpLCciJyxjb25maXJtKCksJz4nO31lY2hvJzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InRva2VuIiB2YWx1ZT0iJywkTSwnIj4KPC9mb3JtPgonO31lbHNlaWYoaXNzZXQoJF9HRVRbImV2ZW50Il0pKXskaWI9JF9HRVRbImV2ZW50Il07JGllPWFycmF5KCJZRUFSIiwiUVVBUlRFUiIsIk1PTlRIIiwiREFZIiwiSE9VUiIsIk1JTlVURSIsIldFRUsiLCJTRUNPTkQiLCJZRUFSX01PTlRIIiwiREFZX0hPVVIiLCJEQVlfTUlOVVRFIiwiREFZX1NFQ09ORCIsIkhPVVJfTUlOVVRFIiwiSE9VUl9TRUNPTkQiLCJNSU5VVEVfU0VDT05EIik7JE1kPWFycmF5KCJFTkFCTEVEIj0+IkVOQUJMRSIsIkRJU0FCTEVEIj0+IkRJU0FCTEUiLCJTTEFWRVNJREVfRElTQUJMRUQiPT4iRElTQUJMRSBPTiBTTEFWRSIpO2lmKCRfUE9TVCYmISRuKXtpZigkX1BPU1RbImRyb3AiXSl7cXVlcnlfcmVkaXJlY3QoIkRST1AgRVZFTlQgIi5pZGZfZXNjYXBlKCRpYiksc3Vic3RyKE1FLDAsLTEpLGxhbmcoMTgyKSk7fWVsc2VpZihpbl9hcnJheSgkX1BPU1RbIklOVEVSVkFMX0ZJRUxEIl0sJGllKSYmaXNzZXQoJE1kWyRfUE9TVFsiU1RBVFVTIl1dKSl7JGhlPSJcbk9OIFNDSEVEVUxFICIuKCRfUE9TVFsiSU5URVJWQUxfVkFMVUUiXT8iRVZFUlkgIi5xKCRfUE9TVFsiSU5URVJWQUxfVkFMVUUiXSkuIiAkX1BPU1RbSU5URVJWQUxfRklFTERdIi4oJF9QT1NUWyJTVEFSVFMiXT8iIFNUQVJUUyAiLnEoJF9QT1NUWyJTVEFSVFMiXSk6IiIpLigkX1BPU1RbIkVORFMiXT8iIEVORFMgIi5xKCRfUE9TVFsiRU5EUyJdKToiIik6IkFUICIucSgkX1BPU1RbIlNUQVJUUyJdKSkuIiBPTiBDT01QTEVUSU9OIi4oJF9QT1NUWyJPTl9DT01QTEVUSU9OIl0/IiI6IiBOT1QiKS4iIFBSRVNFUlZFIjtxdWVyaWVzX3JlZGlyZWN0KHN1YnN0cihNRSwwLC0xKSwoJGliIT0iIj9sYW5nKDE4Myk6bGFuZygxODQpKSxxdWVyaWVzKCgkaWIhPSIiPyJBTFRFUiBFVkVOVCAiLmlkZl9lc2NhcGUoJGliKS4kaGUuKCRpYiE9JF9QT1NUWyJFVkVOVF9OQU1FIl0/IlxuUkVOQU1FIFRPICIuaWRmX2VzY2FwZSgkX1BPU1RbIkVWRU5UX05BTUUiXSk6IiIpOiJDUkVBVEUgRVZFTlQgIi5pZGZfZXNjYXBlKCRfUE9TVFsiRVZFTlRfTkFNRSJdKS4kaGUpLiJcbiIuJE1kWyRfUE9TVFsiU1RBVFVTIl1dLiIgQ09NTUVOVCAiLnEoJF9QT1NUWyJFVkVOVF9DT01NRU5UIl0pLnJ0cmltKCIgRE9cbiRfUE9TVFtFVkVOVF9ERUZJTklUSU9OXSIsIjsiKS4iOyIpKTt9fXBhZ2VfaGVhZGVyKCgkaWIhPSIiP2xhbmcoMTg1KS4iOiAiLmgoJGliKTpsYW5nKDE4NikpLCRuKTskYT1hcnJheSgpO2lmKCRfUE9TVCl7JGE9JF9QT1NUO31lbHNlaWYoJGliIT0iIil7JEg9Z2V0X3Jvd3MoIlNFTEVDVCAqIEZST00gaW5mb3JtYXRpb25fc2NoZW1hLkVWRU5UUyBXSEVSRSBFVkVOVF9TQ0hFTUEgPSAiLnEoREIpLiIgQU5EIEVWRU5UX05BTUUgPSAiLnEoJGliKSk7JGE9cmVzZXQoJEgpO31lY2hvJwo8Zm9ybSBhY3Rpb249IiIgbWV0aG9kPSJwb3N0Ij4KPHRhYmxlIGNlbGxzcGFjaW5nPSIwIj4KPHRyPjx0aD4nLGxhbmcoMTgxKSwnPHRkPjxpbnB1dCBuYW1lPSJFVkVOVF9OQU1FIiB2YWx1ZT0iJyxoKCRhWyJFVkVOVF9OQU1FIl0pLCciIG1heGxlbmd0aD0iNjQiPgo8dHI+PHRoPicsbGFuZygxODcpLCc8dGQ+PGlucHV0IG5hbWU9IlNUQVJUUyIgdmFsdWU9IicsaCgiJGFbRVhFQ1VURV9BVF0kYVtTVEFSVFNdIiksJyI+Cjx0cj48dGg+JyxsYW5nKDE4OCksJzx0ZD48aW5wdXQgbmFtZT0iRU5EUyIgdmFsdWU9IicsaCgkYVsiRU5EUyJdKSwnIj4KPHRyPjx0aD4nLGxhbmcoMTg5KSwnPHRkPjxpbnB1dCBuYW1lPSJJTlRFUlZBTF9WQUxVRSIgdmFsdWU9IicsaCgkYVsiSU5URVJWQUxfVkFMVUUiXSksJyIgc2l6ZT0iNiI+ICcsaHRtbF9zZWxlY3QoIklOVEVSVkFMX0ZJRUxEIiwkaWUsJGFbIklOVEVSVkFMX0ZJRUxEIl0pLCc8dHI+PHRoPicsbGFuZyg3MyksJzx0ZD4nLGh0bWxfc2VsZWN0KCJTVEFUVVMiLCRNZCwkYVsiU1RBVFVTIl0pLCc8dHI+PHRoPicsbGFuZyg5NCksJzx0ZD48aW5wdXQgbmFtZT0iRVZFTlRfQ09NTUVOVCIgdmFsdWU9IicsaCgkYVsiRVZFTlRfQ09NTUVOVCJdKSwnIiBtYXhsZW5ndGg9IjY0Ij4KPHRyPjx0aD4mbmJzcDs8dGQ+JyxjaGVja2JveCgiT05fQ09NUExFVElPTiIsIlBSRVNFUlZFIiwkYVsiT05fQ09NUExFVElPTiJdPT0iUFJFU0VSVkUiLGxhbmcoMTkwKSksJzwvdGFibGU+CjxwPic7dGV4dGFyZWEoIkVWRU5UX0RFRklOSVRJT04iLCRhWyJFVkVOVF9ERUZJTklUSU9OIl0pO2VjaG8nPHA+CjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSInLGxhbmcoMTQxKSwnIj4KJztpZigkaWIhPSIiKXtlY2hvJzxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9ImRyb3AiIHZhbHVlPSInLGxhbmcoNzgpLCciJyxjb25maXJtKCksJz4nO31lY2hvJzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InRva2VuIiB2YWx1ZT0iJywkTSwnIj4KPC9mb3JtPgonO31lbHNlaWYoaXNzZXQoJF9HRVRbInByb2NlZHVyZSJdKSl7JFZhPSRfR0VUWyJwcm9jZWR1cmUiXTskVGE9KGlzc2V0KCRfR0VUWyJmdW5jdGlvbiJdKT8iRlVOQ1RJT04iOiJQUk9DRURVUkUiKTskaGI9ZmFsc2U7aWYoJF9QT1NUJiYhJG4mJiEkX1BPU1RbImFkZCJdJiYhJF9QT1NUWyJkcm9wX2NvbCJdJiYhJF9QT1NUWyJ1cCJdJiYhJF9QT1NUWyJkb3duIl0peyRyPWFycmF5KCk7JHA9KGFycmF5KSRfUE9TVFsiZmllbGRzIl07a3NvcnQoJHApO2ZvcmVhY2goJHAKYXMkZSl7aWYoJGVbImZpZWxkIl0hPSIiKXskcltdPShpbl9hcnJheSgkZVsiaW5vdXQiXSwkamMpPyIkZVtpbm91dF0gIjoiIikuaWRmX2VzY2FwZSgkZVsiZmllbGQiXSkucHJvY2Vzc190eXBlKCRlLCJDSEFSQUNURVIgU0VUIik7fX0kaGI9ZHJvcF9jcmVhdGUoIkRST1AgJFRhICIuaWRmX2VzY2FwZSgkVmEpLCJDUkVBVEUgJFRhICIuaWRmX2VzY2FwZSgkX1BPU1RbIm5hbWUiXSkuIiAoIi5pbXBsb2RlKCIsICIsJHIpLiIpIi4oaXNzZXQoJF9HRVRbImZ1bmN0aW9uIl0pPyIgUkVUVVJOUyIucHJvY2Vzc190eXBlKCRfUE9TVFsicmV0dXJucyJdLCJDSEFSQUNURVIgU0VUIik6IiIpLnJ0cmltKCJcbiRfUE9TVFtkZWZpbml0aW9uXSIsIjsiKS4iOyIsc3Vic3RyKE1FLDAsLTEpLGxhbmcoMTkxKSxsYW5nKDE5MiksbGFuZygxOTMpLCRWYSk7fXBhZ2VfaGVhZGVyKCgkVmEhPSIiPyhpc3NldCgkX0dFVFsiZnVuY3Rpb24iXSk/bGFuZygxOTQpOmxhbmcoMTk1KSkuIjogIi5oKCRWYSk6KGlzc2V0KCRfR0VUWyJmdW5jdGlvbiJdKT9sYW5nKDE5Nik6bGFuZygxOTcpKSksJG4pOyRaPWdldF92YWxzKCJTSE9XIENIQVJBQ1RFUiBTRVQiKTtzb3J0KCRaKTskYT1hcnJheSgiZmllbGRzIj0+YXJyYXkoKSk7aWYoJF9QT1NUKXskYT0kX1BPU1Q7JGFbImZpZWxkcyJdPShhcnJheSkkYVsiZmllbGRzIl07cHJvY2Vzc19maWVsZHMoJGFbImZpZWxkcyJdKTt9ZWxzZWlmKCRWYSE9IiIpeyRhPXJvdXRpbmUoJFZhLCRUYSk7JGFbIm5hbWUiXT0kVmE7fWVjaG8nCjxmb3JtIGFjdGlvbj0iIiBtZXRob2Q9InBvc3QiIGlkPSJmb3JtIj4KPHA+JyxsYW5nKDE4MSksJzogPGlucHV0IG5hbWU9Im5hbWUiIHZhbHVlPSInLGgoJGFbIm5hbWUiXSksJyIgbWF4bGVuZ3RoPSI2NCI+Cjx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2xhc3M9Im5vd3JhcCI+Cic7ZWRpdF9maWVsZHMoJGFbImZpZWxkcyJdLCRaLCRUYSk7aWYoaXNzZXQoJF9HRVRbImZ1bmN0aW9uIl0pKXtlY2hvIjx0cj48dGQ+Ii5sYW5nKDE5OCk7ZWRpdF90eXBlKCJyZXR1cm5zIiwkYVsicmV0dXJucyJdLCRaKTt9ZWNobyc8L3RhYmxlPgo8cD4nO3RleHRhcmVhKCJkZWZpbml0aW9uIiwkYVsiZGVmaW5pdGlvbiJdKTtlY2hvJzxwPgo8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iJyxsYW5nKDE0MSksJyI+Cic7aWYoJFZhIT0iIil7ZWNobyc8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJkcm9wIiB2YWx1ZT0iJyxsYW5nKDc4KSwnIicsY29uZmlybSgpLCc+Jzt9aWYoJGhiKXtlY2hvJzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImRyb3BwZWQiIHZhbHVlPSIxIj4nO31lY2hvJzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InRva2VuIiB2YWx1ZT0iJywkTSwnIj4KPC9mb3JtPgonO31lbHNlaWYoaXNzZXQoJF9HRVRbInNlcXVlbmNlIl0pKXskRWI9JF9HRVRbInNlcXVlbmNlIl07aWYoJF9QT1NUJiYhJG4peyR3PXN1YnN0cihNRSwwLC0xKTtpZigkX1BPU1RbImRyb3AiXSl7cXVlcnlfcmVkaXJlY3QoIkRST1AgU0VRVUVOQ0UgIi5pZGZfZXNjYXBlKCRFYiksJHcsbGFuZygxOTkpKTt9ZWxzZWlmKCRFYj09IiIpe3F1ZXJ5X3JlZGlyZWN0KCJDUkVBVEUgU0VRVUVOQ0UgIi5pZGZfZXNjYXBlKCRfUE9TVFsibmFtZSJdKSwkdyxsYW5nKDIwMCkpO31lbHNlaWYoJEViIT0kX1BPU1RbIm5hbWUiXSl7cXVlcnlfcmVkaXJlY3QoIkFMVEVSIFNFUVVFTkNFICIuaWRmX2VzY2FwZSgkRWIpLiIgUkVOQU1FIFRPICIuaWRmX2VzY2FwZSgkX1BPU1RbIm5hbWUiXSksJHcsbGFuZygyMDEpKTt9ZWxzZXtyZWRpcmVjdCgkdyk7fX1wYWdlX2hlYWRlcigkRWIhPSIiP2xhbmcoMjAyKS4iOiAiLmgoJEViKTpsYW5nKDIwMyksJG4pOyRhPWFycmF5KCJuYW1lIj0+JEViKTtpZigkX1BPU1QpeyRhPSRfUE9TVDt9ZWNobycKPGZvcm0gYWN0aW9uPSIiIG1ldGhvZD0icG9zdCI+CjxwPjxpbnB1dCBuYW1lPSJuYW1lIiB2YWx1ZT0iJyxoKCRhWyJuYW1lIl0pLCciPgo8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iJyxsYW5nKDE0MSksJyI+Cic7aWYoJEViIT0iIil7ZWNobyI8aW5wdXQgdHlwZT0nc3VibWl0JyBuYW1lPSdkcm9wJyB2YWx1ZT0nIi5sYW5nKDc4KS4iJyIuY29uZmlybSgpLiI+XG4iO31lY2hvJzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InRva2VuIiB2YWx1ZT0iJywkTSwnIj4KPC9mb3JtPgonO31lbHNlaWYoaXNzZXQoJF9HRVRbInR5cGUiXSkpeyRPYz0kX0dFVFsidHlwZSJdO2lmKCRfUE9TVCYmISRuKXskdz1zdWJzdHIoTUUsMCwtMSk7aWYoJF9QT1NUWyJkcm9wIl0pe3F1ZXJ5X3JlZGlyZWN0KCJEUk9QIFRZUEUgIi5pZGZfZXNjYXBlKCRPYyksJHcsbGFuZygyMDQpKTt9ZWxzZXtxdWVyeV9yZWRpcmVjdCgiQ1JFQVRFIFRZUEUgIi5pZGZfZXNjYXBlKCRfUE9TVFsibmFtZSJdKS4iICRfUE9TVFthc10iLCR3LGxhbmcoMjA1KSk7fX1wYWdlX2hlYWRlcigkT2MhPSIiP2xhbmcoMjA2KS4iOiAiLmgoJE9jKTpsYW5nKDIwNyksJG4pOyRhWyJhcyJdPSJBUyAiO2lmKCRfUE9TVCl7JGE9JF9QT1NUO31lY2hvJwo8Zm9ybSBhY3Rpb249IiIgbWV0aG9kPSJwb3N0Ij4KPHA+Cic7aWYoJE9jIT0iIil7ZWNobyI8aW5wdXQgdHlwZT0nc3VibWl0JyBuYW1lPSdkcm9wJyB2YWx1ZT0nIi5sYW5nKDc4KS4iJyIuY29uZmlybSgpLiI+XG4iO31lbHNle2VjaG8iPGlucHV0IG5hbWU9J25hbWUnIHZhbHVlPSciLmgoJGFbJ25hbWUnXSkuIic+XG4iO3RleHRhcmVhKCJhcyIsJGFbImFzIl0pO2VjaG8iPHA+PGlucHV0IHR5cGU9J3N1Ym1pdCcgdmFsdWU9JyIubGFuZygxNDEpLiInPlxuIjt9ZWNobyc8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ0b2tlbiIgdmFsdWU9IicsJE0sJyI+CjwvZm9ybT4KJzt9ZWxzZWlmKGlzc2V0KCRfR0VUWyJ0cmlnZ2VyIl0pKXskbT0kX0dFVFsidHJpZ2dlciJdOyRJYz10cmlnZ2VyX29wdGlvbnMoKTskdGU9YXJyYXkoIklOU0VSVCIsIlVQREFURSIsIkRFTEVURSIpOyRoYj1mYWxzZTtpZigkX1BPU1QmJiEkbiYmaW5fYXJyYXkoJF9QT1NUWyJUaW1pbmciXSwkSWNbIlRpbWluZyJdKSYmaW5fYXJyYXkoJF9QT1NUWyJFdmVudCJdLCR0ZSkmJmluX2FycmF5KCRfUE9TVFsiVHlwZSJdLCRJY1siVHlwZSJdKSl7JHJlPSIgJF9QT1NUW1RpbWluZ10gJF9QT1NUW0V2ZW50XSI7JENiPSIgT04gIi50YWJsZSgkbSk7JGhiPWRyb3BfY3JlYXRlKCJEUk9QIFRSSUdHRVIgIi5pZGZfZXNjYXBlKCRfR0VUWyJuYW1lIl0pLigkdj09InBnc3FsIj8kQ2I6IiIpLCJDUkVBVEUgVFJJR0dFUiAiLmlkZl9lc2NhcGUoJF9QT1NUWyJUcmlnZ2VyIl0pLigkdj09Im1zc3FsIj8kQ2IuJHJlOiRyZS4kQ2IpLnJ0cmltKCIgJF9QT1NUW1R5cGVdXG4kX1BPU1RbU3RhdGVtZW50XSIsIjsiKS4iOyIsTUUuInRhYmxlPSIudXJsZW5jb2RlKCRtKSxsYW5nKDIwOCksbGFuZygyMDkpLGxhbmcoMjEwKSwkX0dFVFsibmFtZSJdKTt9cGFnZV9oZWFkZXIoKCRfR0VUWyJuYW1lIl0hPSIiP2xhbmcoMjExKS4iOiAiLmgoJF9HRVRbIm5hbWUiXSk6bGFuZygyMTIpKSwkbixhcnJheSgidGFibGUiPT4kbSkpOyRhPWFycmF5KCJUcmlnZ2VyIj0+JG0uIl9iaSIpO2lmKCRfUE9TVCl7JGE9JF9QT1NUO31lbHNlaWYoJF9HRVRbIm5hbWUiXSE9IiIpeyRhPXRyaWdnZXIoJF9HRVRbIm5hbWUiXSk7fWVjaG8nCjxmb3JtIGFjdGlvbj0iIiBtZXRob2Q9InBvc3QiIGlkPSJmb3JtIj4KPHRhYmxlIGNlbGxzcGFjaW5nPSIwIj4KPHRyPjx0aD4nLGxhbmcoMjEzKSwnPHRkPicsaHRtbF9zZWxlY3QoIlRpbWluZyIsJEljWyJUaW1pbmciXSwkYVsiVGltaW5nIl0sImlmICgvXiIuaChwcmVnX3F1b3RlKCRtLCIvIikpLiJfW2JhXVtpdWRdJC8udGVzdCh0aGlzLmZvcm1bJ1RyaWdnZXInXS52YWx1ZSkpIHRoaXMuZm9ybVsnVHJpZ2dlciddLnZhbHVlID0gJyIuaChqc19lc2NhcGUoJG0pKS4iXycgKyBzZWxlY3RWYWx1ZSh0aGlzKS5jaGFyQXQoMCkudG9Mb3dlckNhc2UoKSArIHNlbGVjdFZhbHVlKHRoaXMuZm9ybVsnRXZlbnQnXSkuY2hhckF0KDApLnRvTG93ZXJDYXNlKCk7IiksJzx0cj48dGg+JyxsYW5nKDIxNCksJzx0ZD4nLGh0bWxfc2VsZWN0KCJFdmVudCIsJHRlLCRhWyJFdmVudCJdLCJ0aGlzLmZvcm1bJ1RpbWluZyddLm9uY2hhbmdlKCk7IiksJzx0cj48dGg+JyxsYW5nKDg5KSwnPHRkPicsaHRtbF9zZWxlY3QoIlR5cGUiLCRJY1siVHlwZSJdLCRhWyJUeXBlIl0pLCc8L3RhYmxlPgo8cD4nLGxhbmcoMTgxKSwnOiA8aW5wdXQgbmFtZT0iVHJpZ2dlciIgdmFsdWU9IicsaCgkYVsiVHJpZ2dlciJdKSwnIiBtYXhsZW5ndGg9IjY0Ij4KPHA+Jzt0ZXh0YXJlYSgiU3RhdGVtZW50IiwkYVsiU3RhdGVtZW50Il0pO2VjaG8nPHA+CjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSInLGxhbmcoMTQxKSwnIj4KJztpZigkX0dFVFsibmFtZSJdIT0iIil7ZWNobyc8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJkcm9wIiB2YWx1ZT0iJyxsYW5nKDc4KSwnIicsY29uZmlybSgpLCc+Jzt9aWYoJGhiKXtlY2hvJzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImRyb3BwZWQiIHZhbHVlPSIxIj4nO31lY2hvJzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InRva2VuIiB2YWx1ZT0iJywkTSwnIj4KPC9mb3JtPgonO31lbHNlaWYoaXNzZXQoJF9HRVRbInVzZXIiXSkpeyRGZD0kX0dFVFsidXNlciJdOyRzYT1hcnJheSgiIj0+YXJyYXkoIkFsbCBwcml2aWxlZ2VzIj0+IiIpKTtmb3JlYWNoKGdldF9yb3dzKCJTSE9XIFBSSVZJTEVHRVMiKWFzJGEpe2ZvcmVhY2goZXhwbG9kZSgiLCIsKCRhWyJQcml2aWxlZ2UiXT09IkdyYW50IG9wdGlvbiI/IiI6JGFbIkNvbnRleHQiXSkpYXMkR2MpeyRzYVskR2NdWyRhWyJQcml2aWxlZ2UiXV09JGFbIkNvbW1lbnQiXTt9fSRzYVsiU2VydmVyIEFkbWluIl0rPSRzYVsiRmlsZSBhY2Nlc3Mgb24gc2VydmVyIl07JHNhWyJEYXRhYmFzZXMiXVsiQ3JlYXRlIHJvdXRpbmUiXT0kc2FbIlByb2NlZHVyZXMiXVsiQ3JlYXRlIHJvdXRpbmUiXTt1bnNldCgkc2FbIlByb2NlZHVyZXMiXVsiQ3JlYXRlIHJvdXRpbmUiXSk7JHNhWyJDb2x1bW5zIl09YXJyYXkoKTtmb3JlYWNoKGFycmF5KCJTZWxlY3QiLCJJbnNlcnQiLCJVcGRhdGUiLCJSZWZlcmVuY2VzIilhcyRiKXskc2FbIkNvbHVtbnMiXVskYl09JHNhWyJUYWJsZXMiXVskYl07fXVuc2V0KCRzYVsiU2VydmVyIEFkbWluIl1bIlVzYWdlIl0pO2ZvcmVhY2goJHNhWyJUYWJsZXMiXWFzJGQ9PiRiKXt1bnNldCgkc2FbIkRhdGFiYXNlcyJdWyRkXSk7fSRuYz1hcnJheSgpO2lmKCRfUE9TVCl7Zm9yZWFjaCgkX1BPU1RbIm9iamVjdHMiXWFzJGQ9PiRiKXskbmNbJGJdPShhcnJheSkkbmNbJGJdKyhhcnJheSkkX1BPU1RbImdyYW50cyJdWyRkXTt9fSRuYj1hcnJheSgpOyRYYz0iIjtpZihpc3NldCgkX0dFVFsiaG9zdCJdKSYmKCRpPSRnLT5xdWVyeSgiU0hPVyBHUkFOVFMgRk9SICIucSgkRmQpLiJAIi5xKCRfR0VUWyJob3N0Il0pKSkpe3doaWxlKCRhPSRpLT5mZXRjaF9yb3coKSl7aWYocHJlZ19tYXRjaCgnfkdSQU5UICguKikgT04gKC4qKSBUTyB+JywkYVswXSwkaykmJnByZWdfbWF0Y2hfYWxsKCd+ICooW14oLF0qW14gLChdKSggKlxcKFteKV0rXFwpKT9+Jywka1sxXSwkb2EsUFJFR19TRVRfT1JERVIpKXtmb3JlYWNoKCRvYQphcyRiKXtpZigkYlsxXSE9IlVTQUdFIil7JG5iWyIka1syXSRiWzJdIl1bJGJbMV1dPXRydWU7fWlmKGVyZWcoJyBXSVRIIEdSQU5UIE9QVElPTicsJGFbMF0pKXskbmJbIiRrWzJdJGJbMl0iXVsiR1JBTlQgT1BUSU9OIl09dHJ1ZTt9fX1pZihwcmVnX21hdGNoKCJ+IElERU5USUZJRUQgQlkgUEFTU1dPUkQgJyhbXiddKyl+IiwkYVswXSwkaykpeyRYYz0ka1sxXTt9fX1pZigkX1BPU1QmJiEkbil7JGFjPShpc3NldCgkX0dFVFsiaG9zdCJdKT9xKCRGZCkuIkAiLnEoJF9HRVRbImhvc3QiXSk6IicnIik7JHBiPXEoJF9QT1NUWyJ1c2VyIl0pLiJAIi5xKCRfUE9TVFsiaG9zdCJdKTskQWQ9cSgkX1BPU1RbInBhc3MiXSk7aWYoJF9QT1NUWyJkcm9wIl0pe3F1ZXJ5X3JlZGlyZWN0KCJEUk9QIFVTRVIgJGFjIixNRS4icHJpdmlsZWdlcz0iLGxhbmcoMjE1KSk7fWVsc2V7aWYoJGFjIT0kcGIpeyRuPSFxdWVyaWVzKCgkZy0+c2VydmVyX2luZm88NT8iR1JBTlQgVVNBR0UgT04gKi4qIFRPIjoiQ1JFQVRFIFVTRVIiKS4iICRwYiBJREVOVElGSUVEIEJZIi4oJF9QT1NUWyJoYXNoZWQiXT8iIFBBU1NXT1JEIjoiIikuIiAkQWQiKTt9ZWxzZWlmKCRfUE9TVFsicGFzcyJdIT0kWGN8fCEkX1BPU1RbImhhc2hlZCJdKXtxdWVyaWVzKCJTRVQgUEFTU1dPUkQgRk9SICRwYiA9ICIuKCRfUE9TVFsiaGFzaGVkIl0/JEFkOiJQQVNTV09SRCgkQWQpIikpO31pZighJG4peyRxYz1hcnJheSgpO2ZvcmVhY2goJG5jCmFzJGJiPT4ka2Epe2lmKGlzc2V0KCRfR0VUWyJncmFudCJdKSl7JGthPWFycmF5X2ZpbHRlcigka2EpO30ka2E9YXJyYXlfa2V5cygka2EpO2lmKGlzc2V0KCRfR0VUWyJncmFudCJdKSl7JHFjPWFycmF5X2RpZmYoYXJyYXlfa2V5cyhhcnJheV9maWx0ZXIoJG5jWyRiYl0sJ3N0cmxlbicpKSwka2EpO31lbHNlaWYoJGFjPT0kcGIpeyRTZD1hcnJheV9rZXlzKChhcnJheSkkbmJbJGJiXSk7JHFjPWFycmF5X2RpZmYoJFNkLCRrYSk7JGthPWFycmF5X2RpZmYoJGthLCRTZCk7dW5zZXQoJG5iWyRiYl0pO31pZihwcmVnX21hdGNoKCd+XiguKylcXHMqKFxcKC4qXFwpKT8kflUnLCRiYiwkaykmJighZ3JhbnQoIlJFVk9LRSIsJHFjLCRrWzJdLCIgT04gJGtbMV0gRlJPTSAkcGIiKXx8IWdyYW50KCJHUkFOVCIsJGthLCRrWzJdLCIgT04gJGtbMV0gVE8gJHBiIikpKXskbj10cnVlO2JyZWFrO319fWlmKCEkbiYmaXNzZXQoJF9HRVRbImhvc3QiXSkpe2lmKCRhYyE9JHBiKXtxdWVyaWVzKCJEUk9QIFVTRVIgJGFjIik7fWVsc2VpZighaXNzZXQoJF9HRVRbImdyYW50Il0pKXtmb3JlYWNoKCRuYgphcyRiYj0+JHFjKXtpZihwcmVnX21hdGNoKCd+XiguKykoXFwoLipcXCkpPyR+VScsJGJiLCRrKSl7Z3JhbnQoIlJFVk9LRSIsYXJyYXlfa2V5cygkcWMpLCRrWzJdLCIgT04gJGtbMV0gRlJPTSAkcGIiKTt9fX19cXVlcmllc19yZWRpcmVjdChNRS4icHJpdmlsZWdlcz0iLChpc3NldCgkX0dFVFsiaG9zdCJdKT9sYW5nKDIxNik6bGFuZygyMTcpKSwhJG4pO2lmKCRhYyE9JHBiKXskZy0+cXVlcnkoIkRST1AgVVNFUiAkcGIiKTt9fX1wYWdlX2hlYWRlcigoaXNzZXQoJF9HRVRbImhvc3QiXSk/bGFuZygyMSkuIjogIi5oKCIkRmRAJF9HRVRbaG9zdF0iKTpsYW5nKDEyMCkpLCRuLGFycmF5KCJwcml2aWxlZ2VzIj0+YXJyYXkoJycsbGFuZyg3MCkpKSk7aWYoJF9QT1NUKXskYT0kX1BPU1Q7JG5iPSRuYzt9ZWxzZXskYT0kX0dFVCthcnJheSgiaG9zdCI9PiRnLT5yZXN1bHQoIlNFTEVDVCBTVUJTVFJJTkdfSU5ERVgoQ1VSUkVOVF9VU0VSLCAnQCcsIC0xKSIpKTskYVsicGFzcyJdPSRYYztpZigkWGMhPSIiKXskYVsiaGFzaGVkIl09dHJ1ZTt9JG5iWyIiXT10cnVlO31lY2hvJzxmb3JtIGFjdGlvbj0iIiBtZXRob2Q9InBvc3QiPgo8dGFibGUgY2VsbHNwYWNpbmc9IjAiPgo8dHI+PHRoPicsbGFuZygyMSksJzx0ZD48aW5wdXQgbmFtZT0idXNlciIgbWF4bGVuZ3RoPSIxNiIgdmFsdWU9IicsaCgkYVsidXNlciJdKSwnIj4KPHRyPjx0aD4nLGxhbmcoMjApLCc8dGQ+PGlucHV0IG5hbWU9Imhvc3QiIG1heGxlbmd0aD0iNjAiIHZhbHVlPSInLGgoJGFbImhvc3QiXSksJyI+Cjx0cj48dGg+JyxsYW5nKDIyKSwnPHRkPjxpbnB1dCBpZD0icGFzcyIgbmFtZT0icGFzcyIgdmFsdWU9IicsaCgkYVsicGFzcyJdKSwnIj4KJztpZighJGFbImhhc2hlZCJdKXtlY2hvJzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij50eXBlUGFzc3dvcmQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCdwYXNzXCcpKTs8L3NjcmlwdD4nO31lY2hvCmNoZWNrYm94KCJoYXNoZWQiLDEsJGFbImhhc2hlZCJdLGxhbmcoMjE4KSwidHlwZVBhc3N3b3JkKHRoaXMuZm9ybVsncGFzcyddLCB0aGlzLmNoZWNrZWQpOyIpLCc8L3RhYmxlPgoKJztlY2hvIjx0YWJsZSBjZWxsc3BhY2luZz0nMCc+XG4iLCI8dGhlYWQ+PHRyPjx0aCBjb2xzcGFuPScyJz48YSBocmVmPSdodHRwOi8vZGV2Lm15c3FsLmNvbS9kb2MvcmVmbWFuLyIuc3Vic3RyKCRnLT5zZXJ2ZXJfaW5mbywwLDMpLiIvZW4vZ3JhbnQuaHRtbCNwcml2X2xldmVsJyB0YXJnZXQ9J19ibGFuaycgcmVsPSdub3JlZmVycmVyJz4iLmxhbmcoNzApLiI8L2E+IjskbD0wO2ZvcmVhY2goJG5iCmFzJGJiPT4ka2Epe2VjaG8nPHRoPicuKCRiYiE9IiouKiI/IjxpbnB1dCBuYW1lPSdvYmplY3RzWyRsXScgdmFsdWU9JyIuaCgkYmIpLiInIHNpemU9JzEwJz4iOiI8aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSdvYmplY3RzWyRsXScgdmFsdWU9JyouKicgc2l6ZT0nMTAnPiouKiIpOyRsKys7fWVjaG8iPC90aGVhZD5cbiI7Zm9yZWFjaChhcnJheSgiIj0+IiIsIlNlcnZlciBBZG1pbiI9PmxhbmcoMjApLCJEYXRhYmFzZXMiPT5sYW5nKDY1KSwiVGFibGVzIj0+bGFuZygxMDApLCJDb2x1bW5zIj0+bGFuZygxMDEpLCJQcm9jZWR1cmVzIj0+bGFuZygyMTkpLClhcyRHYz0+JHJjKXtmb3JlYWNoKChhcnJheSkkc2FbJEdjXWFzJG1jPT4kX2Epe2VjaG8iPHRyIi5vZGQoKS4iPjx0ZCIuKCRyYz8iPiRyYzx0ZCI6IiBjb2xzcGFuPScyJyIpLicgbGFuZz0iZW4iIHRpdGxlPSInLmgoJF9hKS4nIj4nLmgoJG1jKTskbD0wO2ZvcmVhY2goJG5iCmFzJGJiPT4ka2EpeyRmPSInZ3JhbnRzWyRsXVsiLmgoc3RydG91cHBlcigkbWMpKS4iXSciOyRxPSRrYVtzdHJ0b3VwcGVyKCRtYyldO2lmKCRHYz09IlNlcnZlciBBZG1pbiImJiRiYiE9KGlzc2V0KCRuYlsiKi4qIl0pPyIqLioiOiIiKSl7ZWNobyI8dGQ+Jm5ic3A7Ijt9ZWxzZWlmKGlzc2V0KCRfR0VUWyJncmFudCJdKSl7ZWNobyI8dGQ+PHNlbGVjdCBuYW1lPSRmPjxvcHRpb24+PG9wdGlvbiB2YWx1ZT0nMSciLigkcT8iIHNlbGVjdGVkIjoiIikuIj4iLmxhbmcoMjIwKS4iPG9wdGlvbiB2YWx1ZT0nMCciLigkcT09IjAiPyIgc2VsZWN0ZWQiOiIiKS4iPiIubGFuZygyMjEpLiI8L3NlbGVjdD4iO31lbHNle2VjaG8iPHRkIGFsaWduPSdjZW50ZXInPjxpbnB1dCB0eXBlPSdjaGVja2JveCcgbmFtZT0kZiB2YWx1ZT0nMSciLigkcT8iIGNoZWNrZWQiOiIiKS4oJG1jPT0iQWxsIHByaXZpbGVnZXMiPyIgaWQ9J2dyYW50cy0kbC1hbGwnIjooJG1jPT0iR3JhbnQgb3B0aW9uIj8iIjoiIG9uY2xpY2s9XCJpZiAodGhpcy5jaGVja2VkKSBmb3JtVW5jaGVjaygnZ3JhbnRzLSRsLWFsbCcpO1wiIikpLiI+Ijt9JGwrKzt9fX1lY2hvIjwvdGFibGU+XG4iLCc8cD4KPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IicsbGFuZygxNDEpLCciPgonO2lmKGlzc2V0KCRfR0VUWyJob3N0Il0pKXtlY2hvJzxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9ImRyb3AiIHZhbHVlPSInLGxhbmcoNzgpLCciJyxjb25maXJtKCksJz4nO31lY2hvJzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InRva2VuIiB2YWx1ZT0iJywkTSwnIj4KPC9mb3JtPgonO31lbHNlaWYoaXNzZXQoJF9HRVRbInByb2Nlc3NsaXN0Il0pKXtpZigkX1BPU1QmJiEkbil7JElkPTA7Zm9yZWFjaCgoYXJyYXkpJF9QT1NUWyJraWxsIl1hcyRiKXtpZihxdWVyaWVzKCJLSUxMICIuKCskYikpKXskSWQrKzt9fXF1ZXJpZXNfcmVkaXJlY3QoTUUuInByb2Nlc3NsaXN0PSIsbGFuZygyMjIsJElkKSwkSWR8fCEkX1BPU1RbImtpbGwiXSk7fXBhZ2VfaGVhZGVyKGxhbmcoNzEpLCRuKTtlY2hvJwo8Zm9ybSBhY3Rpb249IiIgbWV0aG9kPSJwb3N0Ij4KPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBvbmNsaWNrPSJ0YWJsZUNsaWNrKGV2ZW50KTsiIGNsYXNzPSJub3dyYXAiPgonOyRsPS0xO2ZvcmVhY2goZ2V0X3Jvd3MoIlNIT1cgRlVMTCBQUk9DRVNTTElTVCIpYXMkbD0+JGEpe2lmKCEkbCl7ZWNobyI8dGhlYWQ+PHRyIGxhbmc9J2VuJz48dGg+Jm5ic3A7PHRoPiIuaW1wbG9kZSgiPHRoPiIsYXJyYXlfa2V5cygkYSkpLiI8L3RoZWFkPlxuIjt9ZWNobyI8dHIiLm9kZCgpLiI+PHRkPiIuY2hlY2tib3goImtpbGxbXSIsJGFbIklkIl0sMCk7Zm9yZWFjaCgkYQphcyRkPT4kYil7ZWNobyI8dGQ+Ii4oJGQ9PSJJbmZvIiYmJGIhPSIiPyI8Y29kZSBjbGFzcz0nanVzaC0kdic+Ii5zaG9ydGVuX3V0ZjgoJGIsMTAwLCI8L2NvZGU+IikuJyA8YSBocmVmPSInLmgoTUUuKCRhWyJkYiJdIT0iIj8iZGI9Ii51cmxlbmNvZGUoJGFbImRiIl0pLiImIjoiIikuInNxbD0iLnVybGVuY29kZSgkYikpLiciPicubGFuZygzMSkuJzwvYT4nOm5ic3AoJGIpKTt9ZWNobyJcbiI7fWVjaG8nPC90YWJsZT4KPHA+JywoJGwrMSkuIi8iLmxhbmcoMjIzLCRnLT5yZXN1bHQoIlNFTEVDVCBAQG1heF9jb25uZWN0aW9ucyIpKSwnPHA+CjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSInLGxhbmcoMjI0KSwnIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idG9rZW4iIHZhbHVlPSInLCRNLCciPgo8L2Zvcm0+Cic7fWVsc2VpZihpc3NldCgkX0dFVFsic2VsZWN0Il0pKXskbT0kX0dFVFsic2VsZWN0Il07JEQ9dGFibGVfc3RhdHVzKCRtKTskSj1pbmRleGVzKCRtKTskcD1maWVsZHMoJG0pOyRoYT1jb2x1bW5fZm9yZWlnbl9rZXlzKCRtKTtpZigkRFsiT2lkIl09PSJ0Iil7JEpbXT1hcnJheSgidHlwZSI9PiJQUklNQVJZIiwiY29sdW1ucyI9PmFycmF5KCJvaWQiKSk7fSRUZD1hcnJheSgpOyRCPWFycmF5KCk7JERiPW51bGw7Zm9yZWFjaCgkcAphcyRkPT4kZSl7JGY9JG8tPmZpZWxkTmFtZSgkZSk7aWYoaXNzZXQoJGVbInByaXZpbGVnZXMiXVsic2VsZWN0Il0pJiYkZiE9IiIpeyRCWyRkXT1odG1sX2VudGl0eV9kZWNvZGUoc3RyaXBfdGFncygkZikpO2lmKGVyZWcoJ3RleHR8bG9iJywkZVsidHlwZSJdKSl7JERiPSRvLT5zZWxlY3RMZW5ndGhQcm9jZXNzKCk7fX0kVGQrPSRlWyJwcml2aWxlZ2VzIl07fWxpc3QoJFEsJHBhKT0kby0+c2VsZWN0Q29sdW1uc1Byb2Nlc3MoJEIsJEopOyRzPSRvLT5zZWxlY3RTZWFyY2hQcm9jZXNzKCRwLCRKKTskWGE9JG8tPnNlbGVjdE9yZGVyUHJvY2VzcygkcCwkSik7JE89JG8tPnNlbGVjdExpbWl0UHJvY2VzcygpOyRZYj0oJFE/aW1wbG9kZSgiLCAiLCRRKTooJERbIk9pZCJdPT0idCI/Im9pZCwgIjoiIikuIioiKS4iXG5GUk9NICIudGFibGUoJG0pOyRMZD0oJHBhJiZjb3VudCgkcGEpPGNvdW50KCRRKT8iXG5HUk9VUCBCWSAiLmltcGxvZGUoIiwgIiwkcGEpOiIiKS4oJFhhPyJcbk9SREVSIEJZICIuaW1wbG9kZSgiLCAiLCRYYSk6IiIpO2lmKCRfR0VUWyJ2YWwiXSYmaXNfYWpheCgpKXtoZWFkZXIoIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIpO2ZvcmVhY2goJF9HRVRbInZhbCJdYXMkZ2I9PiRhKXtlY2hvJGctPnJlc3VsdCgiU0VMRUNUIi5saW1pdChpZGZfZXNjYXBlKGtleSgkYSkpLiIgRlJPTSAiLnRhYmxlKCRtKSwiIFdIRVJFICIud2hlcmVfY2hlY2soJGdiKS4oJHM/IiBBTkQgIi5pbXBsb2RlKCIgQU5EICIsJHMpOiIiKS4oJFhhPyIgT1JERVIgQlkgIi5pbXBsb2RlKCIsICIsJFhhKToiIiksMSkpO31leGl0O31pZigkX1BPU1QmJiEkbil7JG5lPSIoIi5pbXBsb2RlKCIpIE9SICgiLGFycmF5X21hcCgnd2hlcmVfY2hlY2snLChhcnJheSkkX1BPU1RbImNoZWNrIl0pKS4iKSI7JFFhPSRhZD1udWxsO2ZvcmVhY2goJEoKYXMkeCl7aWYoJHhbInR5cGUiXT09IlBSSU1BUlkiKXskUWE9YXJyYXlfZmxpcCgkeFsiY29sdW1ucyJdKTskYWQ9KCRRPyRRYTphcnJheSgpKTticmVhazt9fWZvcmVhY2goJFEKYXMkZD0+JGIpeyRiPSRfR0VUWyJjb2x1bW5zIl1bJGRdO2lmKCEkYlsiZnVuIl0pe3Vuc2V0KCRhZFskYlsiY29sIl1dKTt9fWlmKCRfUE9TVFsiZXhwb3J0Il0pe2R1bXBfaGVhZGVycygkbSk7JG8tPmR1bXBUYWJsZSgkbSwiIik7aWYoIWlzX2FycmF5KCRfUE9TVFsiY2hlY2siXSl8fCRhZD09PWFycmF5KCkpeyRiYz0kcztpZihpc19hcnJheSgkX1BPU1RbImNoZWNrIl0pKXskYmNbXT0iKCRuZSkiO30kaj0iU0VMRUNUICRZYiIuKCRiYz8iXG5XSEVSRSAiLmltcGxvZGUoIiBBTkQgIiwkYmMpOiIiKS4kTGQ7fWVsc2V7JFpkPWFycmF5KCk7Zm9yZWFjaCgkX1BPU1RbImNoZWNrIl1hcyRiKXskWmRbXT0iKFNFTEVDVCIubGltaXQoJFliLCJcbldIRVJFICIuKCRzP2ltcGxvZGUoIiBBTkQgIiwkcykuIiBBTkQgIjoiIikud2hlcmVfY2hlY2soJGIpLiRMZCwxKS4iKSI7fSRqPWltcGxvZGUoIiBVTklPTiBBTEwgIiwkWmQpO30kby0+ZHVtcERhdGEoJG0sInRhYmxlIiwkaik7ZXhpdDt9aWYoISRvLT5zZWxlY3RFbWFpbFByb2Nlc3MoJHMsJGhhKSl7aWYoJF9QT1NUWyJzYXZlIl18fCRfUE9TVFsiZGVsZXRlIl0peyRpPXRydWU7JHdiPTA7JGo9dGFibGUoJG0pOyRyPWFycmF5KCk7aWYoISRfUE9TVFsiZGVsZXRlIl0pe2ZvcmVhY2goJEIKYXMkZj0+JGIpeyRiPXByb2Nlc3NfaW5wdXQoJHBbJGZdKTtpZigkYiE9PW51bGwpe2lmKCRfUE9TVFsiY2xvbmUiXSl7JHJbaWRmX2VzY2FwZSgkZildPSgkYiE9PWZhbHNlPyRiOmlkZl9lc2NhcGUoJGYpKTt9ZWxzZWlmKCRiIT09ZmFsc2UpeyRyW109aWRmX2VzY2FwZSgkZikuIiA9ICRiIjt9fX0kai49KCRfUE9TVFsiY2xvbmUiXT8iICgiLmltcGxvZGUoIiwgIixhcnJheV9rZXlzKCRyKSkuIilcblNFTEVDVCAiLmltcGxvZGUoIiwgIiwkcikuIlxuRlJPTSAiLnRhYmxlKCRtKToiIFNFVFxuIi5pbXBsb2RlKCIsXG4iLCRyKSk7fWlmKCRfUE9TVFsiZGVsZXRlIl18fCRyKXskaWQ9IlVQREFURSI7aWYoJF9QT1NUWyJkZWxldGUiXSl7JGlkPSJERUxFVEUiOyRqPSJGUk9NICRqIjt9aWYoJF9QT1NUWyJjbG9uZSJdKXskaWQ9IklOU0VSVCI7JGo9IklOVE8gJGoiO31pZigkX1BPU1RbImFsbCJdfHwoJGFkPT09YXJyYXkoKSYmJF9QT1NUWyJjaGVjayJdKXx8Y291bnQoJHBhKTxjb3VudCgkUSkpeyRpPXF1ZXJpZXMoJGlkLiIgJGoiLigkX1BPU1RbImFsbCJdPygkcz8iXG5XSEVSRSAiLmltcGxvZGUoIiBBTkQgIiwkcyk6IiIpOiJcbldIRVJFICRuZSIpKTskd2I9JGctPmFmZmVjdGVkX3Jvd3M7fWVsc2V7Zm9yZWFjaCgoYXJyYXkpJF9QT1NUWyJjaGVjayJdYXMkYil7JGk9cXVlcmllcygkaWQubGltaXQxKCRqLCJcbldIRVJFICIud2hlcmVfY2hlY2soJGIpKSk7aWYoISRpKXticmVhazt9JHdiKz0kZy0+YWZmZWN0ZWRfcm93czt9fX1xdWVyaWVzX3JlZGlyZWN0KHJlbW92ZV9mcm9tX3VyaSgicGFnZSIpLGxhbmcoMjI1LCR3YiksJGkpO31lbHNlaWYoISRfUE9TVFsiaW1wb3J0Il0pe2lmKCEkX1BPU1RbInZhbCJdKXskbj1sYW5nKDIyNik7fWVsc2V7JGk9dHJ1ZTskd2I9MDtmb3JlYWNoKCRfUE9TVFsidmFsIl1hcyRnYj0+JGEpeyRyPWFycmF5KCk7Zm9yZWFjaCgkYQphcyRkPT4kYil7JGQ9YnJhY2tldF9lc2NhcGUoJGQsMSk7JHJbXT1pZGZfZXNjYXBlKCRkKS4iID0gIi4oZXJlZygnY2hhcnx0ZXh0JywkcFskZF1bInR5cGUiXSl8fCRiIT0iIj8kby0+cHJvY2Vzc0lucHV0KCRwWyRkXSwkYik6Ik5VTEwiKTt9JGo9dGFibGUoJG0pLiIgU0VUICIuaW1wbG9kZSgiLCAiLCRyKTskYmM9IiBXSEVSRSAiLndoZXJlX2NoZWNrKCRnYikuKCRzPyIgQU5EICIuaW1wbG9kZSgiIEFORCAiLCRzKToiIik7JGk9cXVlcmllcygiVVBEQVRFIi4oY291bnQoJHBhKTxjb3VudCgkUSk/IiAkaiRiYyI6bGltaXQxKCRqLCRiYykpKTtpZighJGkpe2JyZWFrO30kd2IrPSRnLT5hZmZlY3RlZF9yb3dzO31xdWVyaWVzX3JlZGlyZWN0KHJlbW92ZV9mcm9tX3VyaSgpLGxhbmcoMjI1LCR3YiksJGkpO319ZWxzZWlmKGlzX3N0cmluZygkSWE9Z2V0X2ZpbGUoImNzdl9maWxlIix0cnVlKSkpeyRpPXRydWU7JG1iPWFycmF5X2tleXMoJHApO3ByZWdfbWF0Y2hfYWxsKCd+KD8+IlteIl0qInxbXiJcXHJcXG5dKykrficsJElhLCRvYSk7JHdiPWNvdW50KCRvYVswXSk7YmVnaW4oKTskV2E9KCRfUE9TVFsic2VwYXJhdG9yIl09PSJjc3YiPyIsIjooJF9QT1NUWyJzZXBhcmF0b3IiXT09InRzdiI/Ilx0IjoiOyIpKTtmb3JlYWNoKCRvYVswXWFzJGQ9PiRiKXtwcmVnX21hdGNoX2FsbCgifigoXCJbXlwiXSpcIikrfFteJFdhXSopJFdhfiIsJGIuJFdhLCRHZCk7aWYoISRkJiYhYXJyYXlfZGlmZigkR2RbMV0sJG1iKSl7JG1iPSRHZFsxXTskd2ItLTt9ZWxzZXskcj1hcnJheSgpO2ZvcmVhY2goJEdkWzFdYXMkbD0+JFBjKXskcltpZGZfZXNjYXBlKCRtYlskbF0pXT0oJFBjPT0iIiYmJHBbJG1iWyRsXV1bIm51bGwiXT8iTlVMTCI6cShzdHJfcmVwbGFjZSgnIiInLCciJyxwcmVnX3JlcGxhY2UoJ35eInwiJH4nLCcnLCRQYykpKSk7fSRpPWluc2VydF91cGRhdGUoJG0sJHIsJFFhKTtpZighJGkpe2JyZWFrO319fWlmKCRpKXtxdWVyaWVzKCJDT01NSVQiKTt9cXVlcmllc19yZWRpcmVjdChyZW1vdmVfZnJvbV91cmkoInBhZ2UiKSxsYW5nKDIyNywkd2IpLCRpKTtxdWVyaWVzKCJST0xMQkFDSyIpO31lbHNleyRuPXVwbG9hZF9lcnJvcigkSWEpO319fSRFYT0kby0+dGFibGVOYW1lKCREKTtwYWdlX2hlYWRlcihsYW5nKDMzKS4iOiAkRWEiLCRuKTtzZXNzaW9uX3dyaXRlX2Nsb3NlKCk7JHI9bnVsbDtpZihpc3NldCgkVGRbImluc2VydCJdKSl7JHI9IiI7Zm9yZWFjaCgoYXJyYXkpJF9HRVRbIndoZXJlIl1hcyRiKXtpZihjb3VudCgkaGFbJGJbImNvbCJdXSk9PTEmJigkYlsib3AiXT09Ij0ifHwoISRiWyJvcCJdJiYhZXJlZygnW18lXScsJGJbInZhbCJdKSkpKXskci49IiZzZXQiLnVybGVuY29kZSgiWyIuYnJhY2tldF9lc2NhcGUoJGJbImNvbCJdKS4iXSIpLiI9Ii51cmxlbmNvZGUoJGJbInZhbCJdKTt9fX0kby0+c2VsZWN0TGlua3MoJEQsJHIpO2lmKCEkQil7ZWNobyI8cCBjbGFzcz0nZXJyb3InPiIubGFuZygyMjgpLigkcD8iLiI6IjogIi5lcnJvcigpKS4iXG4iO31lbHNle2VjaG8iPGZvcm0gYWN0aW9uPScnIGlkPSdmb3JtJz5cbiIsIjxkaXYgc3R5bGU9J2Rpc3BsYXk6IG5vbmU7Jz4iO2hpZGRlbl9maWVsZHNfZ2V0KCk7ZWNobyhEQiE9IiI/JzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImRiIiB2YWx1ZT0iJy5oKERCKS4nIj4nLihpc3NldCgkX0dFVFsibnMiXSk/JzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im5zIiB2YWx1ZT0iJy5oKCRfR0VUWyJucyJdKS4nIj4nOiIiKToiIik7ZWNobyc8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJzZWxlY3QiIHZhbHVlPSInLmgoJG0pLiciPicsIjwvZGl2PlxuIjskby0+c2VsZWN0Q29sdW1uc1ByaW50KCRRLCRCKTskby0+c2VsZWN0U2VhcmNoUHJpbnQoJHMsJEIsJEopOyRvLT5zZWxlY3RPcmRlclByaW50KCRYYSwkQiwkSik7JG8tPnNlbGVjdExpbWl0UHJpbnQoJE8pOyRvLT5zZWxlY3RMZW5ndGhQcmludCgkRGIpOyRvLT5zZWxlY3RBY3Rpb25QcmludCgkRGIpO2VjaG8iPC9mb3JtPlxuIjskY2E9JF9HRVRbInBhZ2UiXTtpZigkY2E9PSJsYXN0Iil7JFlhPSRnLT5yZXN1bHQoIlNFTEVDVCBDT1VOVCgqKSBGUk9NICIudGFibGUoJG0pLigkcz8iIFdIRVJFICIuaW1wbG9kZSgiIEFORCAiLCRzKToiIikpOyRjYT1mbG9vcihtYXgoMCwkWWEtMSkvJE8pO30kaj0iU0VMRUNUIi5saW1pdCgoKyRPJiYkcGEmJmNvdW50KCRwYSk8Y291bnQoJFEpJiYkdj09InNxbCI/IlNRTF9DQUxDX0ZPVU5EX1JPV1MgIjoiIikuJFliLCgkcz8iXG5XSEVSRSAiLmltcGxvZGUoIiBBTkQgIiwkcyk6IiIpLiRMZCwoJE8hPSIiPyskTzpudWxsKSwoJGNhPyRPKiRjYTowKSwiXG4iKTtlY2hvJG8tPnNlbGVjdFF1ZXJ5KCRqKTskaT0kZy0+cXVlcnkoJGopO2lmKCEkaSl7ZWNobyI8cCBjbGFzcz0nZXJyb3InPiIuZXJyb3IoKS4iXG4iO31lbHNle2lmKCR2PT0ibXNzcWwiKXskaS0+c2VlaygkTyokY2EpO30kSGM9YXJyYXkoKTtlY2hvIjxmb3JtIGFjdGlvbj0nJyBtZXRob2Q9J3Bvc3QnIGVuY3R5cGU9J211bHRpcGFydC9mb3JtLWRhdGEnPlxuIjskSD1hcnJheSgpO3doaWxlKCRhPSRpLT5mZXRjaF9hc3NvYygpKXskSFtdPSRhO31pZigkX0dFVFsicGFnZSJdIT0ibGFzdCIpeyRZYT0oKyRPJiYkcGEmJmNvdW50KCRwYSk8Y291bnQoJFEpPygkdj09InNxbCI/JGctPnJlc3VsdCgiIFNFTEVDVCBGT1VORF9ST1dTKCkiKTokZy0+cmVzdWx0KCJTRUxFQ1QgQ09VTlQoKikgRlJPTSAoJGopIHgiKSk6Y291bnQoJEgpKTt9aWYoISRIKXtlY2hvIjxwIGNsYXNzPSdtZXNzYWdlJz4iLmxhbmcoODIpLiJcbiI7fWVsc2V7JEJkPSRvLT5iYWNrd2FyZEtleXMoJG0sJEVhKTtlY2hvIjx0YWJsZSBjZWxsc3BhY2luZz0nMCcgY2xhc3M9J25vd3JhcCcgb25jbGljaz0ndGFibGVDbGljayhldmVudCk7JyBvbmtleWRvd249J3JldHVybiBlZGl0aW5nS2V5ZG93bihldmVudCk7Jz5cbiIsIjx0aGVhZD48dHI+Ii4oISRwYSYmJFE/IiI6Ijx0ZD48aW5wdXQgdHlwZT0nY2hlY2tib3gnIGlkPSdhbGwtcGFnZScgb25jbGljaz0nZm9ybUNoZWNrKHRoaXMsIC9jaGVjay8pOyc+IDxhIGhyZWY9JyIuaCgkX0dFVFsibW9kaWZ5Il0/cmVtb3ZlX2Zyb21fdXJpKCJtb2RpZnkiKTokX1NFUlZFUlsiUkVRVUVTVF9VUkkiXS4iJm1vZGlmeT0xIikuIic+Ii5sYW5nKDExOSkuIjwvYT4iKTskQ2Q9YXJyYXkoKTskZGE9YXJyYXkoKTtyZXNldCgkUSk7JGtlPTE7Zm9yZWFjaCgkSFswXWFzJGQ9PiRiKXtpZigkRFsiT2lkIl0hPSJ0Inx8JGQhPSJvaWQiKXskYj0kX0dFVFsiY29sdW1ucyJdW2tleSgkUSldOyRlPSRwWyRRPyRiWyJjb2wiXTokZF07JGY9KCRlPyRvLT5maWVsZE5hbWUoJGUsJGtlKToiKiIpO2lmKCRmIT0iIil7JGtlKys7JENkWyRkXT0kZjskQz1pZGZfZXNjYXBlKCRkKTtlY2hvJzx0aD48YSBocmVmPSInLmgocmVtb3ZlX2Zyb21fdXJpKCcob3JkZXJ8ZGVzYylbXj1dKnxwYWdlJykuJyZvcmRlciU1QjAlNUQ9Jy51cmxlbmNvZGUoJGQpLigkWGFbMF09PSRDfHwkWGFbMF09PSRkfHwoISRYYSYmJHBhWzBdPT0kQyk/JyZkZXNjJTVCMCU1RD0xJzonJykpLiciPicuYXBwbHlfc3FsX2Z1bmN0aW9uKCRiWyJmdW4iXSwkZikuIjwvYT4iO30kZGFbJGRdPSRiWyJmdW4iXTtuZXh0KCRRKTt9fSRlYz1hcnJheSgpO2lmKCRfR0VUWyJtb2RpZnkiXSl7Zm9yZWFjaCgkSAphcyRhKXtmb3JlYWNoKCRhCmFzJGQ9PiRiKXskZWNbJGRdPW1heCgkZWNbJGRdLG1pbig0MCxzdHJsZW4odXRmOF9kZWNvZGUoJGIpKSkpO319fWVjaG8oJEJkPyI8dGg+Ii5sYW5nKDIyOSk6IiIpLiI8L3RoZWFkPlxuIjtmb3JlYWNoKCRvLT5yb3dEZXNjcmlwdGlvbnMoJEgsJGhhKWFzJGZhPT4kYSl7JHBkPXVuaXF1ZV9hcnJheSgkSFskZmFdLCRKKTskZ2I9IiI7Zm9yZWFjaCgkcGQKYXMkZD0+JGIpeyRnYi49IiYiLihpc3NldCgkYik/dXJsZW5jb2RlKCJ3aGVyZVsiLmJyYWNrZXRfZXNjYXBlKCRkKS4iXSIpLiI9Ii51cmxlbmNvZGUoJGIpOiJudWxsJTVCJTVEPSIudXJsZW5jb2RlKCRkKSk7fWVjaG8iPHRyIi5vZGQoKS4iPiIuKCEkcGEmJiRRPyIiOiI8dGQ+Ii5jaGVja2JveCgiY2hlY2tbXSIsc3Vic3RyKCRnYiwxKSxpbl9hcnJheShzdWJzdHIoJGdiLDEpLChhcnJheSkkX1BPU1RbImNoZWNrIl0pLCIiLCJ0aGlzLmZvcm1bJ2FsbCddLmNoZWNrZWQgPSBmYWxzZTsgZm9ybVVuY2hlY2soJ2FsbC1wYWdlJyk7IikuKGNvdW50KCRwYSk8Y291bnQoJFEpfHxpbmZvcm1hdGlvbl9zY2hlbWEoREIpPyIiOiIgPGEgaHJlZj0nIi5oKE1FLiJlZGl0PSIudXJsZW5jb2RlKCRtKS4kZ2IpLiInPiIubGFuZygxMTkpLiI8L2E+IikpO2ZvcmVhY2goJGEKYXMkZD0+JGIpe2lmKGlzc2V0KCRDZFskZF0pKXskZT0kcFskZF07aWYoJGIhPSIiJiYoIWlzc2V0KCRIY1skZF0pfHwkSGNbJGRdIT0iIikpeyRIY1skZF09KGlzX21haWwoJGIpPyRDZFskZF06IiIpO30kdz0iIjskYj0kby0+ZWRpdFZhbCgkYiwkZSk7aWYoIWlzc2V0KCRiKSl7JGI9IjxpPk5VTEw8L2k+Ijt9ZWxzZXtpZihlcmVnKCdibG9ifGJ5dGVhfHJhd3xmaWxlJywkZVsidHlwZSJdKSYmJGIhPSIiKXskdz1oKE1FLidkb3dubG9hZD0nLnVybGVuY29kZSgkbSkuJyZmaWVsZD0nLnVybGVuY29kZSgkZCkuJGdiKTt9aWYoJGI9PT0iIil7JGI9IiZuYnNwOyI7fWVsc2VpZigkRGIhPSIiJiZlcmVnKCd0ZXh0fGJsb2InLCRlWyJ0eXBlIl0pJiZpc191dGY4KCRiKSl7JGI9c2hvcnRlbl91dGY4KCRiLG1heCgwLCskRGIpKTt9ZWxzZXskYj1oKCRiKTt9aWYoISR3KXtmb3JlYWNoKChhcnJheSkkaGFbJGRdYXMkQSl7aWYoY291bnQoJGhhWyRkXSk9PTF8fGVuZCgkQVsic291cmNlIl0pPT0kZCl7JHc9IiI7Zm9yZWFjaCgkQVsic291cmNlIl1hcyRsPT4kR2EpeyR3Lj13aGVyZV9saW5rKCRsLCRBWyJ0YXJnZXQiXVskbF0sJEhbJGZhXVskR2FdKTt9JHc9aCgoJEFbImRiIl0hPSIiP3ByZWdfcmVwbGFjZSgnfihbPyZdZGI9KVteJl0rficsJ1xcMScudXJsZW5jb2RlKCRBWyJkYiJdKSxNRSk6TUUpLidzZWxlY3Q9Jy51cmxlbmNvZGUoJEFbInRhYmxlIl0pLiR3KTtpZihjb3VudCgkQVsic291cmNlIl0pPT0xKXticmVhazt9fX19aWYoJGQ9PSJDT1VOVCgqKSIpeyR3PWgoTUUuInNlbGVjdD0iLnVybGVuY29kZSgkbSkpOyRsPTA7Zm9yZWFjaCgoYXJyYXkpJF9HRVRbIndoZXJlIl1hcyR5KXtpZighYXJyYXlfa2V5X2V4aXN0cygkeVsiY29sIl0sJHBkKSl7JHcuPWgod2hlcmVfbGluaygkbCsrLCR5WyJjb2wiXSwkeVsidmFsIl0sJHlbIm9wIl0pKTt9fWZvcmVhY2goJHBkCmFzJE1hPT4keSl7JHcuPWgod2hlcmVfbGluaygkbCsrLCRNYSwkeSkpO319fWlmKCEkdyl7aWYoaXNfbWFpbCgkYikpeyR3PSJtYWlsdG86JGIiO31pZigkbGU9aXNfdXJsKCRhWyRkXSkpeyR3PSgkbGU9PSJodHRwIiYmJEFjPyRhWyRkXToiJGxlOi8vd3d3LmFkbWluZXIub3JnL3JlZGlyZWN0Lz91cmw9Ii51cmxlbmNvZGUoJGFbJGRdKSk7fX0kUz1oKCJ2YWxbJGdiXVsiLmJyYWNrZXRfZXNjYXBlKCRkKS4iXSIpOyRxPSRfUE9TVFsidmFsIl1bJGdiXVticmFja2V0X2VzY2FwZSgkZCldOyRQZD1oKGlzc2V0KCRxKT8kcTokYVskZF0pOyR1Zj1zdHJwb3MoJGIsIjxpPi4uLjwvaT4iKTskWWQ9aXNfdXRmOCgkYikmJiRIWyRmYV1bJGRdPT0kYVskZF0mJiEkZGFbJGRdOyRXZD1lcmVnKCd0ZXh0fGxvYicsJGVbInR5cGUiXSk7ZWNobygoJF9HRVRbIm1vZGlmeSJdJiYkWWQpfHxpc3NldCgkcSk/Ijx0ZD4iLigkV2Q/Ijx0ZXh0YXJlYSBuYW1lPSckUycgY29scz0nMzAnIHJvd3M9JyIuKHN1YnN0cl9jb3VudCgkYVskZF0sIlxuIikrMSkuIic+JFBkPC90ZXh0YXJlYT4iOiI8aW5wdXQgbmFtZT0nJFMnIHZhbHVlPSckUGQnIHNpemU9JyRlY1skZF0nPiIpOiI8dGQgaWQ9JyRTJyBvbmRibGNsaWNrPVwiIi4oJFlkPyJzZWxlY3REYmxDbGljayh0aGlzLCBldmVudCIuKCR1Zj8iLCAyIjooJFdkPyIsIDEiOiIiKSkuIikiOiJhbGVydCgnIi5oKGxhbmcoMjMwKSkuIicpIikuIjtcIj4iLiRvLT5zZWxlY3RWYWwoJGIsJHcsJGUpKTt9fWlmKCRCZCl7ZWNobyI8dGQ+Ijt9JG8tPmJhY2t3YXJkS2V5c1ByaW50KCRCZCwkSFskZmFdKTtlY2hvIjwvdHI+XG4iO31lY2hvIjwvdGFibGU+XG4iO31wYXJzZV9zdHIoJF9DT09LSUVbImFkbWluZXJfZXhwb3J0Il0sJFhiKTtpZigkSHx8JGNhKXskbWQ9dHJ1ZTtpZigkX0dFVFsicGFnZSJdIT0ibGFzdCImJiskTyYmY291bnQoJHBhKT49Y291bnQoJFEpJiYoJFlhPj0kT3x8JGNhKSl7JFlhPSREWyJSb3dzIl07aWYoIWlzc2V0KCRZYSl8fCRzfHwoJERbIkVuZ2luZSJdPT0iSW5ub0RCIiYmJFlhPG1heCgxZTQsMiooJGNhKzEpKiRPKSkpe29iX2ZsdXNoKCk7Zmx1c2goKTskWWE9JGctPnJlc3VsdCgiU0VMRUNUIENPVU5UKCopIEZST00gIi50YWJsZSgkbSkuKCRzPyIgV0hFUkUgIi5pbXBsb2RlKCIgQU5EICIsJHMpOiIiKSk7fWVsc2V7JG1kPWZhbHNlO319ZWNobyI8cCBjbGFzcz0ncGFnZXMnPiI7aWYoKyRPJiYkWWE+JE8peyROZD1mbG9vcigoJFlhLTEpLyRPKTtlY2hvJzxhIGhyZWY9IicuaChyZW1vdmVfZnJvbV91cmkoInBhZ2UiKSkuIlwiIG9uY2xpY2s9XCJwYWdlQ2xpY2sodGhpcy5ocmVmLCArcHJvbXB0KCciLmxhbmcoMjMxKS4iJywgJyIuKCRjYSsxKS4iJyksIGV2ZW50KTsgcmV0dXJuIGZhbHNlO1wiPiIubGFuZygyMzEpLiI8L2E+OiIscGFnaW5hdGlvbigwLCRjYSkuKCRjYT41PyIgLi4uIjoiIik7Zm9yKCRsPW1heCgxLCRjYS00KTskbDxtaW4oJE5kLCRjYSs1KTskbCsrKXtlY2hvCnBhZ2luYXRpb24oJGwsJGNhKTt9ZWNobygkY2ErNTwkTmQ/IiAuLi4iOiIiKS4oJG1kP3BhZ2luYXRpb24oJE5kLCRjYSk6JyA8YSBocmVmPSInLmgocmVtb3ZlX2Zyb21fdXJpKCkuIiZwYWdlPWxhc3QiKS4nIj4nLmxhbmcoMjMyKS4iPC9hPiIpO31lY2hvIiAoIi4oJG1kPyIiOiJ+ICIpLmxhbmcoMTIyLCRZYSkuIikgIi5jaGVja2JveCgiYWxsIiwxLDAsbGFuZygyMzMpKS4iXG4iO2lmKCFpbmZvcm1hdGlvbl9zY2hlbWEoREIpKXtlY2hvJzxmaWVsZHNldD48bGVnZW5kPicsbGFuZygzMSksJzwvbGVnZW5kPjxkaXY+CjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSInLGxhbmcoMTQxKSwnIiB0aXRsZT0iJyxsYW5nKDIyNiksJyIgY2xhc3M9Impzb25seSI+CjxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9ImVkaXQiIHZhbHVlPSInLGxhbmcoMzEpLCciPgo8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJjbG9uZSIgdmFsdWU9IicsbGFuZygyMzQpLCciPgo8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJkZWxldGUiIHZhbHVlPSInLGxhbmcoMTQ0KSwnIiBvbmNsaWNrPSJyZXR1cm4gY29uZmlybShcJycsbGFuZygwKTs/PiAoJyArICh0aGlzLmZvcm1bJ2FsbCddLmNoZWNrZWQgPyA8P3BocCBlY2hvJFlhLCcgOiBmb3JtQ2hlY2tlZCh0aGlzLCAvY2hlY2svKSkgKyBcJylcJyk7Ij4KPC9kaXY+PC9maWVsZHNldD4KJzt9cHJpbnRfZmllbGRzZXQoImV4cG9ydCIsbGFuZygxMTMpKTskTmE9JG8tPmR1bXBPdXRwdXQoKTtlY2hvKCROYT9odG1sX3NlbGVjdCgib3V0cHV0IiwkTmEsJFhiWyJvdXRwdXQiXSkuIiAiOiIiKSxodG1sX3NlbGVjdCgiZm9ybWF0Iiwkby0+ZHVtcEZvcm1hdCgpLCRYYlsiZm9ybWF0Il0pLCIgPGlucHV0IHR5cGU9J3N1Ym1pdCcgbmFtZT0nZXhwb3J0JyB2YWx1ZT0nIi5sYW5nKDExMykuIicgb25jbGljaz0nZXZlbnRTdG9wKGV2ZW50KTsnPlxuIiwiPC9kaXY+PC9maWVsZHNldD5cbiI7fXByaW50X2ZpZWxkc2V0KCJpbXBvcnQiLGxhbmcoMjM1KSwhJEgpO2VjaG8iPGlucHV0IHR5cGU9J2ZpbGUnIG5hbWU9J2Nzdl9maWxlJz4gIixodG1sX3NlbGVjdCgic2VwYXJhdG9yIixhcnJheSgiY3N2Ij0+IkNTViwiLCJjc3Y7Ij0+IkNTVjsiLCJ0c3YiPT4iVFNWIiksJFhiWyJmb3JtYXQiXSwxKTtlY2hvIiA8aW5wdXQgdHlwZT0nc3VibWl0JyBuYW1lPSdpbXBvcnQnIHZhbHVlPSciLmxhbmcoMjM1KS4iJz4iLCI8aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSd0b2tlbicgdmFsdWU9JyRNJz5cbiIsIjwvZGl2PjwvZmllbGRzZXQ+XG4iOyRvLT5zZWxlY3RFbWFpbFByaW50KGFycmF5X2ZpbHRlcigkSGMsJ3N0cmxlbicpLCRCKTtlY2hvIjwvZm9ybT5cbiI7fX19ZWxzZWlmKGlzc2V0KCRfR0VUWyJ2YXJpYWJsZXMiXSkpeyRmYz1pc3NldCgkX0dFVFsic3RhdHVzIl0pO3BhZ2VfaGVhZGVyKCRmYz9sYW5nKDczKTpsYW5nKDcyKSk7JFBlPSgkZmM/c2hvd19zdGF0dXMoKTpzaG93X3ZhcmlhYmxlcygpKTtpZighJFBlKXtlY2hvIjxwIGNsYXNzPSdtZXNzYWdlJz4iLmxhbmcoODIpLiJcbiI7fWVsc2V7ZWNobyI8dGFibGUgY2VsbHNwYWNpbmc9JzAnPlxuIjtmb3JlYWNoKCRQZQphcyRkPT4kYil7ZWNobyI8dHI+IiwiPHRoPjxjb2RlIGNsYXNzPSdqdXNoLSIuJHYuKCRmYz8ic3RhdHVzIjoic2V0IikuIic+Ii5oKCRkKS4iPC9jb2RlPiIsIjx0ZD4iLm5ic3AoJGIpO31lY2hvIjwvdGFibGU+XG4iO319ZWxzZWlmKGlzc2V0KCRfR0VUWyJzY3JpcHQiXSkpe2hlYWRlcigiQ29udGVudC1UeXBlOiB0ZXh0L2phdmFzY3JpcHQ7IGNoYXJzZXQ9dXRmLTgiKTtpZigkX0dFVFsic2NyaXB0Il09PSJkYiIpeyRZYz1hcnJheSgiRGF0YV9sZW5ndGgiPT4wLCJJbmRleF9sZW5ndGgiPT4wLCJEYXRhX2ZyZWUiPT4wKTtmb3JlYWNoKHRhYmxlX3N0YXR1cygpYXMkYSl7JFM9anNfZXNjYXBlKCRhWyJOYW1lIl0pO2pzb25fcm93KCJDb21tZW50LSRTIixuYnNwKCRhWyJDb21tZW50Il0pKTtpZighaXNfdmlldygkYSkpe2ZvcmVhY2goYXJyYXkoIkVuZ2luZSIsIkNvbGxhdGlvbiIpYXMkZCl7anNvbl9yb3coIiRkLSRTIixuYnNwKCRhWyRkXSkpO31mb3JlYWNoKCRZYythcnJheSgiQXV0b19pbmNyZW1lbnQiPT4wLCJSb3dzIj0+MClhcyRkPT4kYil7aWYoJGFbJGRdIT0iIil7JGI9bnVtYmVyX2Zvcm1hdCgkYVskZF0sMCwnLicsbGFuZygyMzYpKTtqc29uX3JvdygiJGQtJFMiLCgkZD09IlJvd3MiJiYkYVsiRW5naW5lIl09PSJJbm5vREIiJiYkYj8ifiAkYiI6JGIpKTtpZihpc3NldCgkWWNbJGRdKSl7JFljWyRkXSs9KCRhWyJFbmdpbmUiXSE9Iklubm9EQiJ8fCRkIT0iRGF0YV9mcmVlIj8kYVskZF06MCk7fX1lbHNlaWYoYXJyYXlfa2V5X2V4aXN0cygkZCwkYSkpe2pzb25fcm93KCIkZC0kUyIpO319fX1mb3JlYWNoKCRZYwphcyRkPT4kYil7anNvbl9yb3coInN1bS0kZCIsbnVtYmVyX2Zvcm1hdCgkYiwwLCcuJyxsYW5nKDIzNikpKTt9anNvbl9yb3coIiIpO31lbHNle2ZvcmVhY2goY291bnRfdGFibGVzKGdldF9kYXRhYmFzZXMoKSlhcyR0PT4kYil7anNvbl9yb3coInRhYmxlcy0iLmpzX2VzY2FwZSgkdCksJGIpO31qc29uX3JvdygiIik7fWV4aXQ7fWVsc2V7JEZlPWFycmF5X21lcmdlKChhcnJheSkkX1BPU1RbInRhYmxlcyJdLChhcnJheSkkX1BPU1RbInZpZXdzIl0pO2lmKCRGZSYmISRuJiYhJF9QT1NUWyJzZWFyY2giXSl7JGk9dHJ1ZTskdmE9IiI7aWYoJHY9PSJzcWwiJiZjb3VudCgkX1BPU1RbInRhYmxlcyJdKT4xJiYoJF9QT1NUWyJkcm9wIl18fCRfUE9TVFsidHJ1bmNhdGUiXXx8JF9QT1NUWyJjb3B5Il0pKXtxdWVyaWVzKCJTRVQgZm9yZWlnbl9rZXlfY2hlY2tzID0gMCIpO31pZigkX1BPU1RbInRydW5jYXRlIl0pe2lmKCRfUE9TVFsidGFibGVzIl0peyRpPXRydW5jYXRlX3RhYmxlcygkX1BPU1RbInRhYmxlcyJdKTt9JHZhPWxhbmcoMjM3KTt9ZWxzZWlmKCRfUE9TVFsibW92ZSJdKXskaT1tb3ZlX3RhYmxlcygoYXJyYXkpJF9QT1NUWyJ0YWJsZXMiXSwoYXJyYXkpJF9QT1NUWyJ2aWV3cyJdLCRfUE9TVFsidGFyZ2V0Il0pOyR2YT1sYW5nKDIzOCk7fWVsc2VpZigkX1BPU1RbImNvcHkiXSl7JGk9Y29weV90YWJsZXMoKGFycmF5KSRfUE9TVFsidGFibGVzIl0sKGFycmF5KSRfUE9TVFsidmlld3MiXSwkX1BPU1RbInRhcmdldCJdKTskdmE9bGFuZygyMzkpO31lbHNlaWYoJF9QT1NUWyJkcm9wIl0pe2lmKCRfUE9TVFsidmlld3MiXSl7JGk9ZHJvcF92aWV3cygkX1BPU1RbInZpZXdzIl0pO31pZigkaSYmJF9QT1NUWyJ0YWJsZXMiXSl7JGk9ZHJvcF90YWJsZXMoJF9QT1NUWyJ0YWJsZXMiXSk7fSR2YT1sYW5nKDI0MCk7fWVsc2VpZigkX1BPU1RbInRhYmxlcyJdJiYoJGk9cXVlcmllcygoJF9QT1NUWyJvcHRpbWl6ZSJdPyJPUFRJTUlaRSI6KCRfUE9TVFsiY2hlY2siXT8iQ0hFQ0siOigkX1BPU1RbInJlcGFpciJdPyJSRVBBSVIiOiJBTkFMWVpFIikpKS4iIFRBQkxFICIuaW1wbG9kZSgiLCAiLGFycmF5X21hcCgnaWRmX2VzY2FwZScsJF9QT1NUWyJ0YWJsZXMiXSkpKSkpe3doaWxlKCRhPSRpLT5mZXRjaF9hc3NvYygpKXskdmEuPSI8Yj4iLmgoJGFbIlRhYmxlIl0pLiI8L2I+OiAiLmgoJGFbIk1zZ190ZXh0Il0pLiI8YnI+Ijt9fXF1ZXJpZXNfcmVkaXJlY3Qoc3Vic3RyKE1FLDAsLTEpLCR2YSwkaSk7fXBhZ2VfaGVhZGVyKCgkX0dFVFsibnMiXT09IiI/bGFuZyg2NSkuIjogIi5oKERCKTpsYW5nKDgwKS4iOiAiLmgoJF9HRVRbIm5zIl0pKSwkbix0cnVlKTtpZigkby0+aG9tZXBhZ2UoKSl7aWYoJF9HRVRbIm5zIl0hPT0iIil7ZWNobyc8YSBocmVmPSInLmgoTUUpLidzY2hlbWE9Ij4nLmxhbmcoMTExKS4iPC9hPlxuIiwiPGgzPiIubGFuZygyNDEpLiI8L2gzPlxuIjskamQ9dGFibGVzX2xpc3QoKTtpZighJGpkKXtlY2hvIjxwIGNsYXNzPSdtZXNzYWdlJz4iLmxhbmcoNikuIlxuIjt9ZWxzZXtlY2hvIjxmb3JtIGFjdGlvbj0nJyBtZXRob2Q9J3Bvc3QnPlxuIiwiPHA+Ii5sYW5nKDI0MikuIjogPGlucHV0IG5hbWU9J3F1ZXJ5JyB2YWx1ZT0nIi5oKCRfUE9TVFsicXVlcnkiXSkuIic+IDxpbnB1dCB0eXBlPSdzdWJtaXQnIG5hbWU9J3NlYXJjaCcgdmFsdWU9JyIubGFuZygzNikuIic+XG4iO2lmKCRfUE9TVFsic2VhcmNoIl0mJiRfUE9TVFsicXVlcnkiXSE9IiIpe3NlYXJjaF90YWJsZXMoKTt9ZWNobyI8dGFibGUgY2VsbHNwYWNpbmc9JzAnIGNsYXNzPSdub3dyYXAnIG9uY2xpY2s9J3RhYmxlQ2xpY2soZXZlbnQpOyc+XG4iLCc8dGhlYWQ+PHRyIGNsYXNzPSJ3cmFwIj48dGQ+PGlucHV0IGlkPSJjaGVjay1hbGwiIHR5cGU9ImNoZWNrYm94IiBvbmNsaWNrPSJmb3JtQ2hlY2sodGhpcywgL14odGFibGVzfHZpZXdzKVxbLyk7Ij48dGg+Jy5sYW5nKDEwMCkuJzx0ZD4nLmxhbmcoMjQzKS4nPHRkPicubGFuZyg3NikuJzx0ZD4nLmxhbmcoMjQ0KS4nPHRkPicubGFuZygyNDUpLic8dGQ+Jy5sYW5nKDI0NikuJzx0ZD4nLmxhbmcoOTIpLic8dGQ+Jy5sYW5nKDI0NykuKHN1cHBvcnQoImNvbW1lbnQiKT8nPHRkPicubGFuZyg5NCk6JycpLiI8L3RoZWFkPlxuIjtmb3JlYWNoKCRqZAphcyRmPT4keil7JGNjPShpc3NldCgkeikmJiFlcmVnaSgidGFibGUiLCR6KSk7ZWNobyc8dHInLm9kZCgpLic+PHRkPicuY2hlY2tib3goKCRjYz8idmlld3NbXSI6InRhYmxlc1tdIiksJGYsaW5fYXJyYXkoJGYsJEZlLHRydWUpLCIiLCJmb3JtVW5jaGVjaygnY2hlY2stYWxsJyk7IiksJzx0aD48YSBocmVmPSInLmgoTUUpLid0YWJsZT0nLnVybGVuY29kZSgkZikuJyI+Jy5oKCRmKS4nPC9hPic7aWYoJGNjKXtlY2hvJzx0ZCBjb2xzcGFuPSI2Ij48YSBocmVmPSInLmgoTUUpLiJ2aWV3PSIudXJsZW5jb2RlKCRmKS4nIj4nLmxhbmcoOTkpLic8L2E+JywnPHRkIGFsaWduPSJyaWdodCI+PGEgaHJlZj0iJy5oKE1FKS4ic2VsZWN0PSIudXJsZW5jb2RlKCRmKS4nIj4/PC9hPic7fWVsc2V7Zm9yZWFjaChhcnJheSgiRW5naW5lIj0+IiIsIkNvbGxhdGlvbiI9PiIiLCJEYXRhX2xlbmd0aCI9PiJjcmVhdGUiLCJJbmRleF9sZW5ndGgiPT4iaW5kZXhlcyIsIkRhdGFfZnJlZSI9PiJlZGl0IiwiQXV0b19pbmNyZW1lbnQiPT4iYXV0b19pbmNyZW1lbnQ9MSZjcmVhdGUiLCJSb3dzIj0+InNlbGVjdCIpYXMkZD0+JHcpe2VjaG8oJHc/Ijx0ZCBhbGlnbj0ncmlnaHQnPjxhIGhyZWY9JyIuaChNRS4iJHc9IikudXJsZW5jb2RlKCRmKS4iJyBpZD0nJGQtIi5oKCRmKS4iJz4/PC9hPiI6Ijx0ZCBpZD0nJGQtIi5oKCRmKS4iJz4mbmJzcDsiKTt9fWVjaG8oc3VwcG9ydCgiY29tbWVudCIpPyI8dGQgaWQ9J0NvbW1lbnQtIi5oKCRmKS4iJz4mbmJzcDsiOiIiKTt9ZWNobyI8dHI+PHRkPiZuYnNwOzx0aD4iLmxhbmcoMjIzLGNvdW50KCRqZCkpLCI8dGQ+Ii5uYnNwKCR2PT0ic3FsIj8kZy0+cmVzdWx0KCJTRUxFQ1QgQEBzdG9yYWdlX2VuZ2luZSIpOiIiKSwiPHRkPiIubmJzcChkYl9jb2xsYXRpb24oREIsY29sbGF0aW9ucygpKSk7Zm9yZWFjaChhcnJheSgiRGF0YV9sZW5ndGgiLCJJbmRleF9sZW5ndGgiLCJEYXRhX2ZyZWUiKWFzJGQpe2VjaG8iPHRkIGFsaWduPSdyaWdodCcgaWQ9J3N1bS0kZCc+Jm5ic3A7Ijt9ZWNobyI8L3RhYmxlPlxuIjtpZighaW5mb3JtYXRpb25fc2NoZW1hKERCKSl7ZWNobyI8cD4iLigkdj09InNxbCI/IjxpbnB1dCB0eXBlPSdzdWJtaXQnIHZhbHVlPSciLmxhbmcoMjQ4KS4iJz4gPGlucHV0IHR5cGU9J3N1Ym1pdCcgbmFtZT0nb3B0aW1pemUnIHZhbHVlPSciLmxhbmcoMjQ5KS4iJz4gPGlucHV0IHR5cGU9J3N1Ym1pdCcgbmFtZT0nY2hlY2snIHZhbHVlPSciLmxhbmcoMjUwKS4iJz4gPGlucHV0IHR5cGU9J3N1Ym1pdCcgbmFtZT0ncmVwYWlyJyB2YWx1ZT0nIi5sYW5nKDI1MSkuIic+ICI6IiIpLiI8aW5wdXQgdHlwZT0nc3VibWl0JyBuYW1lPSd0cnVuY2F0ZScgdmFsdWU9JyIubGFuZygyNTIpLiInIi5jb25maXJtKCJmb3JtQ2hlY2tlZCh0aGlzLCAvdGFibGVzLykiKS4iPiA8aW5wdXQgdHlwZT0nc3VibWl0JyBuYW1lPSdkcm9wJyB2YWx1ZT0nIi5sYW5nKDc4KS4iJyIuY29uZmlybSgiZm9ybUNoZWNrZWQodGhpcywgL3RhYmxlc3x2aWV3cy8pIiwxKS4iPlxuIjskXz0oc3VwcG9ydCgic2NoZW1lIik/c2NoZW1hcygpOmdldF9kYXRhYmFzZXMoKSk7aWYoY291bnQoJF8pIT0xJiYkdiE9InNxbGl0ZSIpeyR0PShpc3NldCgkX1BPU1RbInRhcmdldCJdKT8kX1BPU1RbInRhcmdldCJdOihzdXBwb3J0KCJzY2hlbWUiKT8kX0dFVFsibnMiXTpEQikpO2VjaG8iPHA+Ii5sYW5nKDI1MykuIjogIiwoJF8/aHRtbF9zZWxlY3QoInRhcmdldCIsJF8sJHQpOic8aW5wdXQgbmFtZT0idGFyZ2V0IiB2YWx1ZT0iJy5oKCR0KS4nIj4nKSwiIDxpbnB1dCB0eXBlPSdzdWJtaXQnIG5hbWU9J21vdmUnIHZhbHVlPSciLmxhbmcoMjU0KS4iJyBvbmNsaWNrPSdldmVudFN0b3AoZXZlbnQpOyc+Iiwoc3VwcG9ydCgiY29weSIpPyIgPGlucHV0IHR5cGU9J3N1Ym1pdCcgbmFtZT0nY29weScgdmFsdWU9JyIubGFuZygyNTUpLiInIG9uY2xpY2s9J2V2ZW50U3RvcChldmVudCk7Jz4iOiIiKSwiXG4iO31lY2hvIjxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J3Rva2VuJyB2YWx1ZT0nJE0nPlxuIjt9ZWNobyI8L2Zvcm0+XG4iO31lY2hvJzxwPjxhIGhyZWY9IicuaChNRSkuJ2NyZWF0ZT0iPicubGFuZygxNDgpLiI8L2E+XG4iO2lmKHN1cHBvcnQoInZpZXciKSl7ZWNobyc8YSBocmVmPSInLmgoTUUpLid2aWV3PSI+Jy5sYW5nKDE4MCkuIjwvYT5cbiI7fWlmKHN1cHBvcnQoInJvdXRpbmUiKSl7ZWNobyI8aDM+Ii5sYW5nKDExNikuIjwvaDM+XG4iOyRVZT1yb3V0aW5lcygpO2lmKCRVZSl7ZWNobyI8dGFibGUgY2VsbHNwYWNpbmc9JzAnPlxuIiwnPHRoZWFkPjx0cj48dGg+Jy5sYW5nKDE4MSkuJzx0ZD4nLmxhbmcoODkpLic8dGQ+Jy5sYW5nKDE5OCkuIjx0ZD4mbmJzcDs8L3RoZWFkPlxuIjtvZGQoJycpO2ZvcmVhY2goJFVlCmFzJGEpe2VjaG8nPHRyJy5vZGQoKS4nPicsJzx0aD48YSBocmVmPSInLmgoTUUpLigkYVsiUk9VVElORV9UWVBFIl09PSJGVU5DVElPTiI/J2NhbGxmPSc6J2NhbGw9JykudXJsZW5jb2RlKCRhWyJST1VUSU5FX05BTUUiXSkuJyI+Jy5oKCRhWyJST1VUSU5FX05BTUUiXSkuJzwvYT4nLCc8dGQ+Jy5oKCRhWyJST1VUSU5FX1RZUEUiXSksJzx0ZD4nLmgoJGFbIkRURF9JREVOVElGSUVSIl0pLCc8dGQ+PGEgaHJlZj0iJy5oKE1FKS4oJGFbIlJPVVRJTkVfVFlQRSJdPT0iRlVOQ1RJT04iPydmdW5jdGlvbj0nOidwcm9jZWR1cmU9JykudXJsZW5jb2RlKCRhWyJST1VUSU5FX05BTUUiXSkuJyI+Jy5sYW5nKDEwNykuIjwvYT4iO31lY2hvIjwvdGFibGU+XG4iO31lY2hvJzxwPjxhIGhyZWY9IicuaChNRSkuJ3Byb2NlZHVyZT0iPicubGFuZygxOTcpLic8L2E+IDxhIGhyZWY9IicuaChNRSkuJ2Z1bmN0aW9uPSI+Jy5sYW5nKDE5NikuIjwvYT5cbiI7fWlmKHN1cHBvcnQoInNlcXVlbmNlIikpe2VjaG8iPGgzPiIubGFuZygyNTYpLiI8L2gzPlxuIjskZmY9Z2V0X3ZhbHMoIlNFTEVDVCBzZXF1ZW5jZV9uYW1lIEZST00gaW5mb3JtYXRpb25fc2NoZW1hLnNlcXVlbmNlcyBXSEVSRSBzZXF1ZW5jZV9zY2hlbWEgPSBjdXJyZW50X3NjaGVtYSgpIik7aWYoJGZmKXtlY2hvIjx0YWJsZSBjZWxsc3BhY2luZz0nMCc+XG4iLCI8dGhlYWQ+PHRyPjx0aD4iLmxhbmcoMTgxKS4iPC90aGVhZD5cbiI7b2RkKCcnKTtmb3JlYWNoKCRmZgphcyRiKXtlY2hvIjx0ciIub2RkKCkuIj48dGg+PGEgaHJlZj0nIi5oKE1FKS4ic2VxdWVuY2U9Ii51cmxlbmNvZGUoJGIpLiInPiIuaCgkYikuIjwvYT5cbiI7fWVjaG8iPC90YWJsZT5cbiI7fWVjaG8iPHA+PGEgaHJlZj0nIi5oKE1FKS4ic2VxdWVuY2U9Jz4iLmxhbmcoMjAzKS4iPC9hPlxuIjt9aWYoc3VwcG9ydCgidHlwZSIpKXtlY2hvIjxoMz4iLmxhbmcoMTEpLiI8L2gzPlxuIjskUj10eXBlcygpO2lmKCRSKXtlY2hvIjx0YWJsZSBjZWxsc3BhY2luZz0nMCc+XG4iLCI8dGhlYWQ+PHRyPjx0aD4iLmxhbmcoMTgxKS4iPC90aGVhZD5cbiI7b2RkKCcnKTtmb3JlYWNoKCRSCmFzJGIpe2VjaG8iPHRyIi5vZGQoKS4iPjx0aD48YSBocmVmPSciLmgoTUUpLiJ0eXBlPSIudXJsZW5jb2RlKCRiKS4iJz4iLmgoJGIpLiI8L2E+XG4iO31lY2hvIjwvdGFibGU+XG4iO31lY2hvIjxwPjxhIGhyZWY9JyIuaChNRSkuInR5cGU9Jz4iLmxhbmcoMjA3KS4iPC9hPlxuIjt9aWYoc3VwcG9ydCgiZXZlbnQiKSl7ZWNobyI8aDM+Ii5sYW5nKDExNykuIjwvaDM+XG4iOyRIPWdldF9yb3dzKCJTSE9XIEVWRU5UUyIpO2lmKCRIKXtlY2hvIjx0YWJsZSBjZWxsc3BhY2luZz0nMCc+XG4iLCI8dGhlYWQ+PHRyPjx0aD4iLmxhbmcoMTgxKS4iPHRkPiIubGFuZygyNTcpLiI8dGQ+Ii5sYW5nKDE4NykuIjx0ZD4iLmxhbmcoMTg4KS4iPC90aGVhZD5cbiI7Zm9yZWFjaCgkSAphcyRhKXtlY2hvIjx0cj4iLCc8dGg+PGEgaHJlZj0iJy5oKE1FKS4nZXZlbnQ9Jy51cmxlbmNvZGUoJGFbIk5hbWUiXSkuJyI+Jy5oKCRhWyJOYW1lIl0pLiI8L2E+IiwiPHRkPiIuKCRhWyJFeGVjdXRlIGF0Il0/bGFuZygyNTgpLiI8dGQ+Ii4kYVsiRXhlY3V0ZSBhdCJdOmxhbmcoMTg5KS4iICIuJGFbIkludGVydmFsIHZhbHVlIl0uIiAiLiRhWyJJbnRlcnZhbCBmaWVsZCJdLiI8dGQ+JGFbU3RhcnRzXSIpLCI8dGQ+JGFbRW5kc10iO31lY2hvIjwvdGFibGU+XG4iO31lY2hvJzxwPjxhIGhyZWY9IicuaChNRSkuJ2V2ZW50PSI+Jy5sYW5nKDE4NikuIjwvYT5cbiI7fWlmKCRqZCl7ZWNobyI8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCc+YWpheFNldEh0bWwoJyIuanNfZXNjYXBlKE1FKS4ic2NyaXB0PWRiJyk7PC9zY3JpcHQ+XG4iO319fX1wYWdlX2Zvb3RlcigpOw==]]></data>
	</file>
	<file>
	  <filename>/adminer/editor-3.2.2.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqIEFkbWluZXIgRWRpdG9yIC0gQ29tcGFjdCBkYXRhYmFzZSBlZGl0b3IKKiBAbGluayBodHRwOi8vd3d3LmFkbWluZXIub3JnLwoqIEBhdXRob3IgSmFrdWIgVnJhbmEsIGh0dHA6Ly93d3cudnJhbmEuY3ovCiogQGNvcHlyaWdodCAyMDA5IEpha3ViIFZyYW5hCiogQGxpY2Vuc2UgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAoqIEBsaWNlbnNlIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMi4wLmh0bWwgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIHZlcnNpb24gMiAob25lIG9yIG90aGVyKQoqL2Vycm9yX3JlcG9ydGluZyg2MTM1KTskVWM9KCFlcmVnKCdeKHVuc2FmZV9yYXcpPyQnLGluaV9nZXQoImZpbHRlci5kZWZhdWx0IikpfHxpbmlfZ2V0KCJmaWx0ZXIuZGVmYXVsdF9mbGFncyIpKTtpZigkVWMpe2ZvcmVhY2goYXJyYXkoJ19HRVQnLCdfUE9TVCcsJ19DT09LSUUnLCdfU0VSVkVSJylhcyRhKXskZ2Q9ZmlsdGVyX2lucHV0X2FycmF5KGNvbnN0YW50KCJJTlBVVCRhIiksRklMVEVSX1VOU0FGRV9SQVcpO2lmKCRnZCl7JCRhPSRnZDt9fX1pZihpc3NldCgkX0dFVFsiZmlsZSJdKSl7aGVhZGVyKCJFeHBpcmVzOiAiLmdtZGF0ZSgiRCwgZCBNIFkgSDppOnMiLHRpbWUoKSszNjUqMjQqNjAqNjApLiIgR01UIik7aWYoJF9HRVRbImZpbGUiXT09ImZhdmljb24uaWNvIil7aGVhZGVyKCJDb250ZW50LVR5cGU6IGltYWdlL3gtaWNvbiIpO2VjaG8KYmFzZTY0X2RlY29kZSgiQUFBQkFBRUFFQkFRQUFFQUJBQW9BUUFBRmdBQUFDZ0FBQUFRQUFBQUlBQUFBQUVBQkFBQUFBQUF3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQS8vLy9BQUFBL3dCaFRnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRVJFUkFBQUFBQUVUTXpFUUFBQUFBVEVSRXhBQUFBQUJNUkVURUFBQUFBRXhFUk1RQUFBQUFURVJFeEFBQUFBQk1SRVRFQUFBQUFFek16TVJFUkVRQVRFUkV4RWhFaEFCRXpNeEVoRVJFQUFSRVJFaEVSSVJBQUFBQVJJUkVTRUFBQUFBRVNFaUVRQUFBQUFCRVJFUUFBQUFBQUFBQUFELy85VUF3UC9WQUlCL0FBQ0FmL0FBZ0gra0FJQi9nQUNBZndBQWdIOEFBSUFCQUFDQUFmOEFnQUgvQU1BQS93RCtBUDhBL3dBSUFmK0IxUUQvLzlVQSIpO31lbHNlaWYoJF9HRVRbImZpbGUiXT09ImRlZmF1bHQuY3NzIil7aGVhZGVyKCJDb250ZW50LVR5cGU6IHRleHQvY3NzOyBjaGFyc2V0PXV0Zi04Iik7ZWNobydib2R5e2NvbG9yOiMwMDA7YmFja2dyb3VuZDojZmZmO2ZvbnQ6OTAlLzEuMjUgVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZjttYXJnaW46MDt9YXtjb2xvcjpibHVlO31hOnZpc2l0ZWR7Y29sb3I6bmF2eTt9YTpob3Zlcntjb2xvcjpyZWQ7fWgxe2ZvbnQtc2l6ZToxNTAlO21hcmdpbjowO3BhZGRpbmc6LjhlbSAxZW07Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzk5OTtmb250LXdlaWdodDpub3JtYWw7Y29sb3I6Izc3NztiYWNrZ3JvdW5kOiNlZWU7fWgye2ZvbnQtc2l6ZToxNTAlO21hcmdpbjowIDAgMjBweCAtMThweDtwYWRkaW5nOi44ZW0gMWVtO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICMwMDA7Y29sb3I6IzAwMDtmb250LXdlaWdodDpub3JtYWw7YmFja2dyb3VuZDojZGRmO31oM3tmb250LXdlaWdodDpub3JtYWw7Zm9udC1zaXplOjEzMCU7bWFyZ2luOjFlbSAwIDA7fWZvcm17bWFyZ2luOjA7fXRhYmxle21hcmdpbjoxZW0gMjBweCAwIDA7Ym9yZGVyOjA7Ym9yZGVyLXRvcDoxcHggc29saWQgIzk5OTtib3JkZXItbGVmdDoxcHggc29saWQgIzk5OTtmb250LXNpemU6OTAlO310ZCx0aHtib3JkZXI6MDtib3JkZXItcmlnaHQ6MXB4IHNvbGlkICM5OTk7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzk5OTtwYWRkaW5nOi4yZW0gLjNlbTt9dGh7YmFja2dyb3VuZDojZWVlO3RleHQtYWxpZ246bGVmdDt9dGhlYWQgdGh7dGV4dC1hbGlnbjpjZW50ZXI7fXRoZWFkIHRkLHRoZWFkIHRoe2JhY2tncm91bmQ6I2RkZjt9ZmllbGRzZXR7ZGlzcGxheTppbmxpbmU7dmVydGljYWwtYWxpZ246dG9wO3BhZGRpbmc6LjVlbSAuOGVtO21hcmdpbjouOGVtIC41ZW0gMCAwO2JvcmRlcjoxcHggc29saWQgIzk5OTt9cHttYXJnaW46LjhlbSAyMHB4IDAgMDt9aW1ne3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtib3JkZXI6MDt9dGQgaW1ne21heC13aWR0aDoyMDBweDttYXgtaGVpZ2h0OjIwMHB4O31jb2Rle2JhY2tncm91bmQ6I2VlZTt9dHI6aG92ZXIgdGQsdHI6aG92ZXIgdGh7YmFja2dyb3VuZDojZGRmO31wcmV7bWFyZ2luOjFlbSAwIDA7fS52ZXJzaW9ue2NvbG9yOiM3Nzc7Zm9udC1zaXplOjY3JTt9LmpzIC5oaWRkZW4sLm5vanMgLmpzb25seXtkaXNwbGF5Om5vbmU7fS5ub3dyYXAgdGQsLm5vd3JhcCB0aCx0ZC5ub3dyYXB7d2hpdGUtc3BhY2U6cHJlO30ud3JhcCB0ZHt3aGl0ZS1zcGFjZTpub3JtYWw7fS5lcnJvcntjb2xvcjpyZWQ7YmFja2dyb3VuZDojZmVlO30uZXJyb3IgYntiYWNrZ3JvdW5kOiNmZmY7Zm9udC13ZWlnaHQ6bm9ybWFsO30ubWVzc2FnZXtjb2xvcjpncmVlbjtiYWNrZ3JvdW5kOiNlZmU7fS5lcnJvciwubWVzc2FnZXtwYWRkaW5nOi41ZW0gLjhlbTttYXJnaW46MWVtIDIwcHggMCAwO30uY2hhcntjb2xvcjojMDA3RjAwO30uZGF0ZXtjb2xvcjojN0YwMDdGO30uZW51bXtjb2xvcjojMDA3RjdGO30uYmluYXJ5e2NvbG9yOnJlZDt9Lm9kZCB0ZHtiYWNrZ3JvdW5kOiNGNUY1RjU7fS50aW1le2NvbG9yOnNpbHZlcjtmb250LXNpemU6NzAlO30uZnVuY3Rpb257dGV4dC1hbGlnbjpyaWdodDt9Lm51bWJlcnt0ZXh0LWFsaWduOnJpZ2h0O30uZGF0ZXRpbWV7dGV4dC1hbGlnbjpyaWdodDt9LnR5cGV7d2lkdGg6MTVleDt3aWR0aDphdXRvXFw5O30ub3B0aW9ucyBzZWxlY3R7d2lkdGg6MjBleDt3aWR0aDphdXRvXFw5O30uYWN0aXZle2ZvbnQtd2VpZ2h0OmJvbGQ7fS5zcWxhcmVhe3dpZHRoOjk4JTt9I21lbnV7cG9zaXRpb246YWJzb2x1dGU7bWFyZ2luOjEwcHggMCAwO3BhZGRpbmc6MCAwIDMwcHggMDt0b3A6MmVtO2xlZnQ6MDt3aWR0aDoxOWVtO292ZXJmbG93OmF1dG87b3ZlcmZsb3cteTpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO30jbWVudSBwe3BhZGRpbmc6LjhlbSAxZW07bWFyZ2luOjA7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2NjYzt9I2NvbnRlbnR7bWFyZ2luOjJlbSAwIDAgMjFlbTtwYWRkaW5nOjEwcHggMjBweCAyMHB4IDA7fSNsYW5ne3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtsaW5lLWhlaWdodDoxLjhlbTtwYWRkaW5nOi4zZW0gMWVtO30jYnJlYWRjcnVtYnt3aGl0ZS1zcGFjZTpub3dyYXA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDoyMWVtO2JhY2tncm91bmQ6I2VlZTtoZWlnaHQ6MmVtO2xpbmUtaGVpZ2h0OjEuOGVtO3BhZGRpbmc6MCAxZW07bWFyZ2luOjAgMCAwIC0xOHB4O30jbG9hZGVye3Bvc2l0aW9uOmZpeGVkO3RvcDowO2xlZnQ6MThlbTt6LWluZGV4OjE7fSNoMXtjb2xvcjojNzc3O3RleHQtZGVjb3JhdGlvbjpub25lO2ZvbnQtc3R5bGU6aXRhbGljO30jdmVyc2lvbntmb250LXNpemU6NjclO2NvbG9yOnJlZDt9I3NjaGVtYXttYXJnaW4tbGVmdDo2MHB4O3Bvc2l0aW9uOnJlbGF0aXZlO30jc2NoZW1hIC50YWJsZXtib3JkZXI6MXB4IHNvbGlkIHNpbHZlcjtwYWRkaW5nOjAgMnB4O2N1cnNvcjptb3ZlO3Bvc2l0aW9uOmFic29sdXRlO30jc2NoZW1hIC5yZWZlcmVuY2Vze3Bvc2l0aW9uOmFic29sdXRlO30ucnRsIGgye21hcmdpbjowIC0xOHB4IDIwcHggMDt9LnJ0bCBwLC5ydGwgdGFibGUsLnJ0bCAuZXJyb3IsLnJ0bCAubWVzc2FnZXttYXJnaW46MWVtIDAgMCAyMHB4O30ucnRsICNjb250ZW50e21hcmdpbjoyZW0gMjFlbSAwIDA7cGFkZGluZzoxMHB4IDAgMjBweCAyMHB4O30ucnRsICNicmVhZGNydW1ie2xlZnQ6YXV0bztyaWdodDoyMWVtO21hcmdpbjowIC0xOHB4IDAgMDt9LnJ0bCAjbGFuZywucnRsICNtZW51e2xlZnQ6YXV0bztyaWdodDowO31AbWVkaWEgcHJpbnR7I2xhbmcsI21lbnV7ZGlzcGxheTpub25lO30jY29udGVudHttYXJnaW4tbGVmdDoxZW07fSNicmVhZGNydW1ie2xlZnQ6MWVtO30ubm93cmFwIHRkLC5ub3dyYXAgdGgsdGQubm93cmFwe3doaXRlLXNwYWNlOm5vcm1hbDt9fSc7fWVsc2VpZigkX0dFVFsiZmlsZSJdPT0iZnVuY3Rpb25zLmpzIil7aGVhZGVyKCJDb250ZW50LVR5cGU6IHRleHQvamF2YXNjcmlwdDsgY2hhcnNldD11dGYtOCIpOz8+CmZ1bmN0aW9uIHRvZ2dsZShpZCl7dmFyIGVsPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTtlbC5jbGFzc05hbWU9KGVsLmNsYXNzTmFtZT09J2hpZGRlbic/Jyc6J2hpZGRlbicpO3JldHVybiB0cnVlO30KZnVuY3Rpb24gY29va2llKGFzc2lnbixkYXlzKXt2YXIgZGF0ZT1uZXcgRGF0ZSgpO2RhdGUuc2V0RGF0ZShkYXRlLmdldERhdGUoKStkYXlzKTtkb2N1bWVudC5jb29raWU9YXNzaWduKyc7IGV4cGlyZXM9JytkYXRlO30KZnVuY3Rpb24gdmVyaWZ5VmVyc2lvbigpe2Nvb2tpZSgnYWRtaW5lcl92ZXJzaW9uPTAnLDEpO3ZhciBzY3JpcHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7c2NyaXB0LnNyYz1sb2NhdGlvbi5wcm90b2NvbCsnLy93d3cuYWRtaW5lci5vcmcvdmVyc2lvbi5waHAnO2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2NyaXB0KTt9CmZ1bmN0aW9uIHNlbGVjdFZhbHVlKHNlbGVjdCl7dmFyIHNlbGVjdGVkPXNlbGVjdC5vcHRpb25zW3NlbGVjdC5zZWxlY3RlZEluZGV4XTtyZXR1cm4oKHNlbGVjdGVkLmF0dHJpYnV0ZXMudmFsdWV8fHt9KS5zcGVjaWZpZWQ/c2VsZWN0ZWQudmFsdWU6c2VsZWN0ZWQudGV4dCk7fQpmdW5jdGlvbiBmb3JtQ2hlY2soZWwsbmFtZSl7dmFyIGVsZW1zPWVsLmZvcm0uZWxlbWVudHM7Zm9yKHZhciBpPTA7aTxlbGVtcy5sZW5ndGg7aSsrKXtpZihuYW1lLnRlc3QoZWxlbXNbaV0ubmFtZSkpe2VsZW1zW2ldLmNoZWNrZWQ9ZWwuY2hlY2tlZDt9fX0KZnVuY3Rpb24gZm9ybVVuY2hlY2soaWQpe2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKS5jaGVja2VkPWZhbHNlO30KZnVuY3Rpb24gZm9ybUNoZWNrZWQoZWwsbmFtZSl7dmFyIGNoZWNrZWQ9MDt2YXIgZWxlbXM9ZWwuZm9ybS5lbGVtZW50cztmb3IodmFyIGk9MDtpPGVsZW1zLmxlbmd0aDtpKyspe2lmKG5hbWUudGVzdChlbGVtc1tpXS5uYW1lKSYmZWxlbXNbaV0uY2hlY2tlZCl7Y2hlY2tlZCsrO319CnJldHVybiBjaGVja2VkO30KZnVuY3Rpb24gdGFibGVDbGljayhldmVudCl7dmFyIGVsPWV2ZW50LnRhcmdldHx8ZXZlbnQuc3JjRWxlbWVudDt3aGlsZSghL150ciQvaS50ZXN0KGVsLnRhZ05hbWUpKXtpZigvXih0YWJsZXxhfGlucHV0fHRleHRhcmVhKSQvaS50ZXN0KGVsLnRhZ05hbWUpKXtyZXR1cm47fQplbD1lbC5wYXJlbnROb2RlO30KZWw9ZWwuZmlyc3RDaGlsZC5maXJzdENoaWxkO2VsLmNsaWNrJiZlbC5jbGljaygpO2VsLm9uY2xpY2smJmVsLm9uY2xpY2soKTt9CmZ1bmN0aW9uIHNldEh0bWwoaWQsaHRtbCl7dmFyIGVsPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTtpZihlbCl7aWYoaHRtbD09dW5kZWZpbmVkKXtlbC5wYXJlbnROb2RlLmlubmVySFRNTD0nJm5ic3A7Jzt9ZWxzZXtlbC5pbm5lckhUTUw9aHRtbC5yZXBsYWNlKC88bm9zY3JpcHQ+Lio8XC9ub3NjcmlwdD4vaSwnJyk7fX19CmZ1bmN0aW9uIG5vZGVQb3NpdGlvbihlbCl7dmFyIHBvcz0wO3doaWxlKGVsPWVsLnByZXZpb3VzU2libGluZyl7cG9zKys7fQpyZXR1cm4gcG9zO30KZnVuY3Rpb24gcGFnZUNsaWNrKGhyZWYscGFnZSxldmVudCl7aWYoIWlzTmFOKHBhZ2UpJiZwYWdlKXtocmVmKz0ocGFnZSE9MT8nJnBhZ2U9JysocGFnZS0xKTonJyk7aWYoIWFqYXhTZW5kKGhyZWYpKXtsb2NhdGlvbi5ocmVmPWhyZWY7fX19CmZ1bmN0aW9uIHNlbGVjdEFkZFJvdyhmaWVsZCl7ZmllbGQub25jaGFuZ2U9ZnVuY3Rpb24oKXt9O3ZhciByb3c9ZmllbGQucGFyZW50Tm9kZS5jbG9uZU5vZGUodHJ1ZSk7dmFyIHNlbGVjdHM9cm93LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzZWxlY3QnKTtmb3IodmFyIGk9MDtpPHNlbGVjdHMubGVuZ3RoO2krKyl7c2VsZWN0c1tpXS5uYW1lPXNlbGVjdHNbaV0ubmFtZS5yZXBsYWNlKC9bYS16XVxbXGQrLywnJCYxJyk7c2VsZWN0c1tpXS5zZWxlY3RlZEluZGV4PTA7fQp2YXIgaW5wdXRzPXJvdy5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaW5wdXQnKTtpZihpbnB1dHMubGVuZ3RoKXtpbnB1dHNbMF0ubmFtZT1pbnB1dHNbMF0ubmFtZS5yZXBsYWNlKC9bYS16XVxbXGQrLywnJCYxJyk7aW5wdXRzWzBdLnZhbHVlPScnO2lucHV0c1swXS5jbGFzc05hbWU9Jyc7fQpmaWVsZC5wYXJlbnROb2RlLnBhcmVudE5vZGUuYXBwZW5kQ2hpbGQocm93KTt9CmZ1bmN0aW9uIHRleHRhcmVhS2V5ZG93bih0YXJnZXQsZXZlbnQpe2lmKCFldmVudC5zaGlmdEtleSYmIWV2ZW50LmFsdEtleSYmIWV2ZW50LmN0cmxLZXkmJiFldmVudC5tZXRhS2V5KXtpZihldmVudC5rZXlDb2RlPT05KXtpZih0YXJnZXQuc2V0U2VsZWN0aW9uUmFuZ2Upe3ZhciBzdGFydD10YXJnZXQuc2VsZWN0aW9uU3RhcnQ7dmFyIHNjcm9sbGVkPXRhcmdldC5zY3JvbGxUb3A7dGFyZ2V0LnZhbHVlPXRhcmdldC52YWx1ZS5zdWJzdHIoMCxzdGFydCkrJ1x0Jyt0YXJnZXQudmFsdWUuc3Vic3RyKHRhcmdldC5zZWxlY3Rpb25FbmQpO3RhcmdldC5zZXRTZWxlY3Rpb25SYW5nZShzdGFydCsxLHN0YXJ0KzEpO3RhcmdldC5zY3JvbGxUb3A9c2Nyb2xsZWQ7cmV0dXJuIGZhbHNlO31lbHNlIGlmKHRhcmdldC5jcmVhdGVUZXh0UmFuZ2Upe2RvY3VtZW50LnNlbGVjdGlvbi5jcmVhdGVSYW5nZSgpLnRleHQ9J1x0JztyZXR1cm4gZmFsc2U7fX0KaWYoZXZlbnQua2V5Q29kZT09Mjcpe3ZhciBlbHM9dGFyZ2V0LmZvcm0uZWxlbWVudHM7Zm9yKHZhciBpPTE7aTxlbHMubGVuZ3RoO2krKyl7aWYoZWxzW2ktMV09PXRhcmdldCl7ZWxzW2ldLmZvY3VzKCk7YnJlYWs7fX0KcmV0dXJuIGZhbHNlO319CnJldHVybiB0cnVlO30KZnVuY3Rpb24gYm9keUtleWRvd24oZXZlbnQpe3ZhciB0YXJnZXQ9ZXZlbnQudGFyZ2V0fHxldmVudC5zcmNFbGVtZW50O2lmKGV2ZW50LmN0cmxLZXkmJihldmVudC5rZXlDb2RlPT0xM3x8ZXZlbnQua2V5Q29kZT09MTApJiYhZXZlbnQuYWx0S2V5JiYhZXZlbnQubWV0YUtleSYmL3NlbGVjdHx0ZXh0YXJlYS9pLnRlc3QodGFyZ2V0LnRhZ05hbWUpKXt0YXJnZXQuYmx1cigpO2lmKCghdGFyZ2V0LmZvcm0ub25zdWJtaXR8fHRhcmdldC5mb3JtLm9uc3VibWl0KCkhPT1mYWxzZSkmJiFhamF4Rm9ybSh0YXJnZXQuZm9ybSkpe3RhcmdldC5mb3JtLnN1Ym1pdCgpO30KcmV0dXJuIGZhbHNlO319CmZ1bmN0aW9uIGVkaXRpbmdLZXlkb3duKGV2ZW50KXtpZigoZXZlbnQua2V5Q29kZT09NDB8fGV2ZW50LmtleUNvZGU9PTM4KSYmZXZlbnQuY3RybEtleSYmIWV2ZW50LmFsdEtleSYmIWV2ZW50Lm1ldGFLZXkpe3ZhciB0YXJnZXQ9ZXZlbnQudGFyZ2V0fHxldmVudC5zcmNFbGVtZW50O3ZhciBzaWJsaW5nPShldmVudC5rZXlDb2RlPT00MD8nbmV4dFNpYmxpbmcnOidwcmV2aW91c1NpYmxpbmcnKTt2YXIgZWw9dGFyZ2V0LnBhcmVudE5vZGUucGFyZW50Tm9kZVtzaWJsaW5nXTtpZihlbCYmKC9edHIkL2kudGVzdChlbC50YWdOYW1lKXx8KGVsPWVsW3NpYmxpbmddKSkmJi9edHIkL2kudGVzdChlbC50YWdOYW1lKSYmKGVsPWVsLmNoaWxkTm9kZXNbbm9kZVBvc2l0aW9uKHRhcmdldC5wYXJlbnROb2RlKV0pJiYoZWw9ZWwuY2hpbGROb2Rlc1tub2RlUG9zaXRpb24odGFyZ2V0KV0pKXtlbC5mb2N1cygpO30KcmV0dXJuIGZhbHNlO30KcmV0dXJuIHRydWU7fQpmdW5jdGlvbiBmdW5jdGlvbkNoYW5nZShzZWxlY3Qpe3ZhciBpbnB1dD1zZWxlY3QuZm9ybVtzZWxlY3QubmFtZS5yZXBsYWNlKC9eZnVuY3Rpb24vLCdmaWVsZHMnKV07aWYoc2VsZWN0VmFsdWUoc2VsZWN0KSl7aWYoaW5wdXQub3JpZ01heExlbmd0aD09PXVuZGVmaW5lZCl7aW5wdXQub3JpZ01heExlbmd0aD1pbnB1dC5tYXhMZW5ndGg7fQppbnB1dC5yZW1vdmVBdHRyaWJ1dGUoJ21heGxlbmd0aCcpO31lbHNlIGlmKGlucHV0Lm9yaWdNYXhMZW5ndGg+PTApe2lucHV0Lm1heExlbmd0aD1pbnB1dC5vcmlnTWF4TGVuZ3RoO319CmZ1bmN0aW9uIGFqYXgodXJsLGNhbGxiYWNrLGRhdGEpe3ZhciB4bWxodHRwPSh3aW5kb3cuWE1MSHR0cFJlcXVlc3Q/bmV3IFhNTEh0dHBSZXF1ZXN0KCk6KHdpbmRvdy5BY3RpdmVYT2JqZWN0P25ldyBBY3RpdmVYT2JqZWN0KCdNaWNyb3NvZnQuWE1MSFRUUCcpOmZhbHNlKSk7aWYoeG1saHR0cCl7eG1saHR0cC5vcGVuKChkYXRhPydQT1NUJzonR0VUJyksdXJsKTtpZihkYXRhKXt4bWxodHRwLnNldFJlcXVlc3RIZWFkZXIoJ0NvbnRlbnQtVHlwZScsJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcpO30KeG1saHR0cC5zZXRSZXF1ZXN0SGVhZGVyKCdYLVJlcXVlc3RlZC1XaXRoJywnWE1MSHR0cFJlcXVlc3QnKTt4bWxodHRwLm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigpe2lmKHhtbGh0dHAucmVhZHlTdGF0ZT09NCl7Y2FsbGJhY2soeG1saHR0cCk7fX07eG1saHR0cC5zZW5kKGRhdGEpO30KcmV0dXJuIHhtbGh0dHA7fQpmdW5jdGlvbiBhamF4U2V0SHRtbCh1cmwpe3JldHVybiBhamF4KHVybCxmdW5jdGlvbih4bWxodHRwKXtpZih4bWxodHRwLnN0YXR1cyl7dmFyIGRhdGE9ZXZhbCgnKCcreG1saHR0cC5yZXNwb25zZVRleHQrJyknKTtmb3IodmFyIGtleSBpbiBkYXRhKXtzZXRIdG1sKGtleSxkYXRhW2tleV0pO319fSk7fQpmdW5jdGlvbiByZXBsYWNlRmF2aWNvbihocmVmKXt2YXIgZmF2aWNvbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZmF2aWNvbicpO2Zhdmljb24uaHJlZj1ocmVmO2Zhdmljb24ucGFyZW50Tm9kZS5hcHBlbmRDaGlsZChmYXZpY29uKTt9CnZhciBhamF4U3RhdGU9MDtmdW5jdGlvbiBhamF4U2VuZCh1cmwsZGF0YSxwb3BTdGF0ZSl7aWYoIWhpc3RvcnkucHVzaFN0YXRlKXtyZXR1cm4gZmFsc2U7fQp2YXIgY3VycmVudFN0YXRlPSsrYWpheFN0YXRlO29uYmx1cj1mdW5jdGlvbigpe3JlcGxhY2VGYXZpY29uKGxvY2F0aW9uLnBhdGhuYW1lKyc/ZmlsZT1sb2FkZXIuZ2lmJmFtcDt2ZXJzaW9uPTMuMi4yJyk7fTtzZXRIdG1sKCdsb2FkZXInLCc8aW1nIHNyYz0iJytsb2NhdGlvbi5wYXRobmFtZSsnP2ZpbGU9bG9hZGVyLmdpZiZhbXA7dmVyc2lvbj0zLjIuMiIgYWx0PSIiPicpO3JldHVybiBhamF4KHVybCxmdW5jdGlvbih4bWxodHRwKXtpZihjdXJyZW50U3RhdGU9PWFqYXhTdGF0ZSl7dmFyIHRpdGxlPXhtbGh0dHAuZ2V0UmVzcG9uc2VIZWFkZXIoJ1gtQUpBWC1UaXRsZScpO2lmKHRpdGxlKXtkb2N1bWVudC50aXRsZT1kZWNvZGVVUklDb21wb25lbnQodGl0bGUpO30KdmFyIHJlZGlyZWN0PXhtbGh0dHAuZ2V0UmVzcG9uc2VIZWFkZXIoJ1gtQUpBWC1SZWRpcmVjdCcpO2lmKHJlZGlyZWN0KXtyZXR1cm4gYWpheFNlbmQocmVkaXJlY3QsJycscG9wU3RhdGUpO30Kb25ibHVyPWZ1bmN0aW9uKCl7fTtyZXBsYWNlRmF2aWNvbihsb2NhdGlvbi5wYXRobmFtZSsnP2ZpbGU9ZmF2aWNvbi5pY28mYW1wO3ZlcnNpb249My4yLjInKTtpZigheG1saHR0cC5zdGF0dXMpe3NldEh0bWwoJ2xvYWRlcicsJycpO31lbHNle2lmKCFwb3BTdGF0ZSl7aWYoZGF0YXx8dXJsIT1sb2NhdGlvbi5ocmVmKXtoaXN0b3J5LnB1c2hTdGF0ZShkYXRhLCcnLHVybCk7fQpzY3JvbGxUbygwLDApO30Kc2V0SHRtbCgnY29udGVudCcseG1saHR0cC5yZXNwb25zZVRleHQpO3ZhciBjb250ZW50PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb250ZW50Jyk7dmFyIHNjcmlwdHM9Y29udGVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2NyaXB0Jyk7dmFyIGxlbmd0aD1zY3JpcHRzLmxlbmd0aDtmb3IodmFyIGk9MDtpPGxlbmd0aDtpKyspe3ZhciBzY3JpcHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7c2NyaXB0LnRleHQ9c2NyaXB0c1tpXS50ZXh0O2NvbnRlbnQuYXBwZW5kQ2hpbGQoc2NyaXB0KTt9CnZhciBhcz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbWVudScpLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdhJyk7dmFyIGhyZWY9bG9jYXRpb24uaHJlZi5yZXBsYWNlKC8oJihzcWw9fGR1bXA9fChzZWxlY3R8dGFibGUpPVteJl0qKSkuKi8sJyQxJyk7Zm9yKHZhciBpPTA7aTxhcy5sZW5ndGg7aSsrKXtpZihocmVmPT1hc1tpXS5ocmVmKXthc1tpXS5jbGFzc05hbWU9J2FjdGl2ZSc7fWVsc2UgaWYoYXNbaV0uY2xhc3NOYW1lPT0nYWN0aXZlJyl7YXNbaV0uY2xhc3NOYW1lPScnO319CnZhciBkdW1wPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkdW1wJyk7aWYoZHVtcCl7dmFyIG1hdGNoPS8mKHNlbGVjdHx0YWJsZSk9KFteJl0rKS8uZXhlYyhocmVmKTtkdW1wLmhyZWY9ZHVtcC5ocmVmLnJlcGxhY2UoL1tePV0rJC8sJycpKyhtYXRjaD9tYXRjaFsyXTonJyk7fQppZih3aW5kb3cuanVzaCl7anVzaC5oaWdobGlnaHRfdGFnKCdjb2RlJywwKTt9fX19LGRhdGEpO30Kb25wb3BzdGF0ZT1mdW5jdGlvbihldmVudCl7aWYoYWpheFN0YXRlfHxldmVudC5zdGF0ZSl7YWpheFNlbmQobG9jYXRpb24uaHJlZiwoZXZlbnQuc3RhdGUmJmNvbmZpcm0oYXJlWW91U3VyZSk/ZXZlbnQuc3RhdGU6JycpLDEpO31lbHNle2FqYXhTdGF0ZSsrO319CmZ1bmN0aW9uIGFqYXhGb3JtKGZvcm0sZGF0YSl7aWYoLyYoZGF0YWJhc2V8c2NoZW1lfGNyZWF0ZXx2aWV3fHNxbHx1c2VyfGR1bXB8Y2FsbCk9Ly50ZXN0KGxvY2F0aW9uLmhyZWYpJiYhL1wuLy50ZXN0KGRhdGEpKXtyZXR1cm4gZmFsc2U7fQp2YXIgcGFyYW1zPVtdO2Zvcih2YXIgaT0wO2k8Zm9ybS5lbGVtZW50cy5sZW5ndGg7aSsrKXt2YXIgZWw9Zm9ybS5lbGVtZW50c1tpXTtpZigvZmlsZS9pLnRlc3QoZWwudHlwZSkmJmVsLnZhbHVlKXtyZXR1cm4gZmFsc2U7fWVsc2UgaWYoZWwubmFtZSYmKCEvY2hlY2tib3h8cmFkaW98c3VibWl0fGZpbGUvaS50ZXN0KGVsLnR5cGUpfHxlbC5jaGVja2VkKSl7cGFyYW1zLnB1c2goZW5jb2RlVVJJQ29tcG9uZW50KGVsLm5hbWUpKyc9JytlbmNvZGVVUklDb21wb25lbnQoL3NlbGVjdC9pLnRlc3QoZWwudGFnTmFtZSk/c2VsZWN0VmFsdWUoZWwpOmVsLnZhbHVlKSk7fX0KaWYoZGF0YSl7cGFyYW1zLnB1c2goZGF0YSk7fQppZihmb3JtLm1ldGhvZD09J3Bvc3QnKXtyZXR1cm4gYWpheFNlbmQoKC9cPy8udGVzdChmb3JtLmFjdGlvbik/Zm9ybS5hY3Rpb246bG9jYXRpb24uaHJlZikscGFyYW1zLmpvaW4oJyYnKSk7fQpyZXR1cm4gYWpheFNlbmQoKGZvcm0uYWN0aW9ufHxsb2NhdGlvbi5ocmVmKS5yZXBsYWNlKC9cPy4qLywnJykrJz8nK3BhcmFtcy5qb2luKCcmJykpO30KZnVuY3Rpb24gc2VsZWN0RGJsQ2xpY2sodGQsZXZlbnQsdGV4dCl7dGQub25kYmxjbGljaz1mdW5jdGlvbigpe307dmFyIHBvcz1ldmVudC5yYW5nZU9mZnNldDt2YXIgdmFsdWU9KHRkLmZpcnN0Q2hpbGQuYWx0P3RkLmZpcnN0Q2hpbGQuYWx0Oih0ZC50ZXh0Q29udGVudD90ZC50ZXh0Q29udGVudDp0ZC5pbm5lclRleHQpKTt2YXIgaW5wdXQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0ZXh0Pyd0ZXh0YXJlYSc6J2lucHV0Jyk7aW5wdXQuc3R5bGUud2lkdGg9TWF0aC5tYXgodGQuY2xpZW50V2lkdGgtMTQsMjApKydweCc7aWYodGV4dCl7dmFyIHJvd3M9MTt2YWx1ZS5yZXBsYWNlKC9cbi9nLGZ1bmN0aW9uKCl7cm93cysrO30pO2lucHV0LnJvd3M9cm93czt9CmlmKHZhbHVlPT0nXHUwMEEwJ3x8dGQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2knKS5sZW5ndGgpe3ZhbHVlPScnO30KaWYoZG9jdW1lbnQuc2VsZWN0aW9uKXt2YXIgcmFuZ2U9ZG9jdW1lbnQuc2VsZWN0aW9uLmNyZWF0ZVJhbmdlKCk7cmFuZ2UubW92ZVRvUG9pbnQoZXZlbnQuY2xpZW50WCxldmVudC5jbGllbnRZKTt2YXIgcmFuZ2UyPXJhbmdlLmR1cGxpY2F0ZSgpO3JhbmdlMi5tb3ZlVG9FbGVtZW50VGV4dCh0ZCk7cmFuZ2UyLnNldEVuZFBvaW50KCdFbmRUb0VuZCcscmFuZ2UpO3Bvcz1yYW5nZTIudGV4dC5sZW5ndGg7fQp0ZC5pbm5lckhUTUw9Jyc7dGQuYXBwZW5kQ2hpbGQoaW5wdXQpO2lucHV0LmZvY3VzKCk7aWYodGV4dD09Mil7cmV0dXJuIGFqYXgobG9jYXRpb24uaHJlZisnJicrZW5jb2RlVVJJQ29tcG9uZW50KHRkLmlkKSsnPScsZnVuY3Rpb24oeG1saHR0cCl7aWYoeG1saHR0cC5zdGF0dXMpe2lucHV0LnZhbHVlPXhtbGh0dHAucmVzcG9uc2VUZXh0O2lucHV0Lm5hbWU9dGQuaWQ7fX0pO30KaW5wdXQudmFsdWU9dmFsdWU7aW5wdXQubmFtZT10ZC5pZDtpbnB1dC5zZWxlY3Rpb25TdGFydD1wb3M7aW5wdXQuc2VsZWN0aW9uRW5kPXBvcztpZihkb2N1bWVudC5zZWxlY3Rpb24pe3ZhciByYW5nZT1kb2N1bWVudC5zZWxlY3Rpb24uY3JlYXRlUmFuZ2UoKTtyYW5nZS5tb3ZlRW5kKCdjaGFyYWN0ZXInLC1pbnB1dC52YWx1ZS5sZW5ndGgrcG9zKTtyYW5nZS5zZWxlY3QoKTt9fQpmdW5jdGlvbiBib2R5Q2xpY2soZXZlbnQsZGIsbnMpe2lmKGV2ZW50LmJ1dHRvbnx8ZXZlbnQuY3RybEtleXx8ZXZlbnQuc2hpZnRLZXl8fGV2ZW50LmFsdEtleXx8ZXZlbnQubWV0YUtleSl7cmV0dXJuO30KaWYoZXZlbnQuZ2V0UHJldmVudERlZmF1bHQ/ZXZlbnQuZ2V0UHJldmVudERlZmF1bHQoKTpldmVudC5yZXR1cm5WYWx1ZT09PWZhbHNlKXtyZXR1cm4gZmFsc2U7fQp2YXIgZWw9ZXZlbnQudGFyZ2V0fHxldmVudC5zcmNFbGVtZW50O2lmKC9eYSQvaS50ZXN0KGVsLnBhcmVudE5vZGUudGFnTmFtZSkpe2VsPWVsLnBhcmVudE5vZGU7fQppZigvXmEkL2kudGVzdChlbC50YWdOYW1lKSYmIS9eOnwjfCZkb3dubG9hZD0vaS50ZXN0KGVsLmdldEF0dHJpYnV0ZSgnaHJlZicpKSYmL1smP111c2VybmFtZT0vLnRlc3QoZWwuaHJlZikpe3ZhciBtYXRjaD0vJmRiPShbXiZdKikvLmV4ZWMoZWwuaHJlZik7dmFyIG1hdGNoMj0vJm5zPShbXiZdKikvLmV4ZWMoZWwuaHJlZik7cmV0dXJuIShkYj09KG1hdGNoP21hdGNoWzFdOicnKSYmbnM9PShtYXRjaDI/bWF0Y2gyWzFdOicnKSYmYWpheFNlbmQoZWwuaHJlZikpO30KaWYoL15pbnB1dCQvaS50ZXN0KGVsLnRhZ05hbWUpJiYvaW1hZ2V8c3VibWl0Ly50ZXN0KGVsLnR5cGUpKXtyZXR1cm4hYWpheEZvcm0oZWwuZm9ybSwoZWwubmFtZT9lbmNvZGVVUklDb21wb25lbnQoZWwubmFtZSkrKGVsLnR5cGU9PSdpbWFnZSc/Jy54JzonJykrJz0xJzonJykpO30KcmV0dXJuIHRydWU7fQpmdW5jdGlvbiBldmVudFN0b3AoZXZlbnQpe2lmKGV2ZW50LnN0b3BQcm9wYWdhdGlvbil7ZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7fWVsc2V7ZXZlbnQuY2FuY2VsQnViYmxlPXRydWU7fX0KZnVuY3Rpb24gYm9keUxvYWQodmVyc2lvbil7aWYoaGlzdG9yeS5zdGF0ZSE9PXVuZGVmaW5lZCl7b25wb3BzdGF0ZShoaXN0b3J5KTt9fTw/cGhwCn1lbHNle2hlYWRlcigiQ29udGVudC1UeXBlOiBpbWFnZS9naWYiKTtzd2l0Y2goJF9HRVRbImZpbGUiXSl7Y2FzZSJwbHVzLmdpZiI6ZWNobwpiYXNlNjRfZGVjb2RlKCJSMGxHT0RkaEVnQVNBS0VBQU83dTdnQUFBSm1abVFBQUFDd0FBQUFBRWdBU0FBQUNJWVNQcWN2dEQwMEk4Y3dxS2I1ditxOHBJQWh4bFJtaFpZaTE3aVBFOGt6TEJRQTciKTticmVhaztjYXNlImNyb3NzLmdpZiI6ZWNobwpiYXNlNjRfZGVjb2RlKCJSMGxHT0RkaEVnQVNBS0VBQU83dTdnQUFBSm1abVFBQUFDd0FBQUFBRWdBU0FBQUNJNFNQcWN2dER5TUtZZFpHYjM1NXd5NkJYM2RobE9FeDU3Rks3Z3RId2t6WE5sMEFBRHM9Iik7YnJlYWs7Y2FzZSJ1cC5naWYiOmVjaG8KYmFzZTY0X2RlY29kZSgiUjBsR09EZGhFZ0FTQUtFQUFPN3U3Z0FBQUptWm1RQUFBQ3dBQUFBQUVnQVNBQUFDSUlTUHFjdnREMDBJVVU0SzczMFQ5SjVoRlRpS0VYbWFZY1cycmdESDhod1hBRHM9Iik7YnJlYWs7Y2FzZSJkb3duLmdpZiI6ZWNobwpiYXNlNjRfZGVjb2RlKCJSMGxHT0RkaEVnQVNBS0VBQU83dTdnQUFBSm1abVFBQUFDd0FBQUFBRWdBU0FBQUNJSVNQcWN2dEQwMEk4Y3dxS2I1YlYvNWNvc2RNSnRtY0hjYTJsUURIOGh3WEFEcz0iKTticmVhaztjYXNlImFycm93LmdpZiI6ZWNobwpiYXNlNjRfZGVjb2RlKCJSMGxHT0RsaENBQUtBSUFBQUlDQWdQLy8veUg1QkFFQUFBRUFMQUFBQUFBSUFBb0FBQUlQQklKcGxyR0xucFFScXRPeTNyc0FBRHM9Iik7YnJlYWs7Y2FzZSJsb2FkZXIuZ2lmIjplY2hvCmJhc2U2NF9kZWNvZGUoIlIwbEdPRGxoRUFBUUFQSUFBUC8vL3dBQUFNTEN3a0pDUWdBQUFHSmlZb0tDZ3BLU2tpSC9DMDVGVkZORFFWQkZNaTR3QXdFQUFBQWgvaHBEY21WaGRHVmtJSGRwZEdnZ1lXcGhlR3h2WVdRdWFXNW1id0FoK1FRSkNnQUFBQ3dBQUFBQUVBQVFBQUFETXdpNjNQNHd5a2xyRTJNSU9nZ1puQWRPbUdZSlJiRXh3cm9VbWNHMkxtREV3bkhRTFZzWU9kMm1CemtZREFkS2ErZElBQUFoK1FRSkNnQUFBQ3dBQUFBQUVBQVFBQUFETkFpNjNQNU9qQ0VnRzRRTXU3RG1pa1J4UWxGVVlERVpJR0JNUlZzYXFId2N0WFhmN1dFWUI0QWcxeGppaGtNWnNpVWtLaElBSWZrRUNRb0FBQUFzQUFBQUFCQUFFQUFBQXpZSXVqSWpLOHBCeUpETWxGWXZCb1ZqSEE3MEdVN3hTVUpobUt0d0hQQUt6TE85SE1hb0t3Slo3UmY4QVlQRER6S3BaQnFmdndRQUlma0VDUW9BQUFBc0FBQUFBQkFBRUFBQUF6TUl1bUlsSzhveWhwSHNuRlpmaFl1bUNZVWhEQVF4UklkaEhCR3FSb0t3MFI4RFlsSmQ4ejBmTURnc0dvL0lwSEk1VEFBQUlma0VDUW9BQUFBc0FBQUFBQkFBRUFBQUF6SUl1bkluSzByblpCVHdHUE5NZ1F3bWRzTmdYR0pVbElXRXVSNW9XVUlwejhwQUVBTWU2VHdmd3lZc0dvL0lwRktTQUFBaCtRUUpDZ0FBQUN3QUFBQUFFQUFRQUFBRE13aTZJTUtRT1JmamRPZTgycDR3R2NjYzRDRXVRcmFkeWxlc29qRU1CZ3NVYzJHN3NEWDNsUUdCTUxBSmlidWZiU2xLQUFBaCtRUUpDZ0FBQUN3QUFBQUFFQUFRQUFBRE1naTYzUDd3Q1JIWm5GVmRtZ0h1Mm5Gd2xXQ0kzV0djM1RTV2hVRkd4VEFVa0dDYnRnRU5CTUpBRUpzeGdNTFd6cEVBQUNINUJBa0tBQUFBTEFBQUFBQVFBQkFBQUFNeUNMcmMvakRLU2F0bFF0U2NLZGNlQ0FqRElJN0hjUTRFTVRDcHlyQ3VVQmpDWVJnSFZ0cWxBaUIxWWhpQ25sc1JrQUFBT3dBQUFBQUFBQUFBQUE9PSIpO2JyZWFrO319ZXhpdDt9ZnVuY3Rpb24KY29ubmVjdGlvbigpe2dsb2JhbCRmO3JldHVybiRmO31mdW5jdGlvbgppZGZfdW5lc2NhcGUoJEIpeyR0Yz1zdWJzdHIoJEIsLTEpO3JldHVybgpzdHJfcmVwbGFjZSgkdGMuJHRjLCR0YyxzdWJzdHIoJEIsMSwtMSkpO31mdW5jdGlvbgplc2NhcGVfc3RyaW5nKCRhKXtyZXR1cm4Kc3Vic3RyKHEoJGEpLDEsLTEpO31mdW5jdGlvbgpyZW1vdmVfc2xhc2hlcygkTGEpe2lmKGdldF9tYWdpY19xdW90ZXNfZ3BjKCkpe3doaWxlKGxpc3QoJGQsJGEpPWVhY2goJExhKSl7Zm9yZWFjaCgkYQphcyRzYT0+JHMpe3Vuc2V0KCRMYVskZF1bJHNhXSk7aWYoaXNfYXJyYXkoJHMpKXskTGFbJGRdW3N0cmlwc2xhc2hlcygkc2EpXT0kczskTGFbXT0mJExhWyRkXVtzdHJpcHNsYXNoZXMoJHNhKV07fWVsc2V7JExhWyRkXVtzdHJpcHNsYXNoZXMoJHNhKV09KCRVYz8kczpzdHJpcHNsYXNoZXMoJHMpKTt9fX19fWZ1bmN0aW9uCmJyYWNrZXRfZXNjYXBlKCRCLCRDZD1mYWxzZSl7c3RhdGljJFNjPWFycmF5KCc6Jz0+JzoxJywnXSc9Pic6MicsJ1snPT4nOjMnKTtyZXR1cm4Kc3RydHIoJEIsKCRDZD9hcnJheV9mbGlwKCRTYyk6JFNjKSk7fWZ1bmN0aW9uCmgoJHgpe3JldHVybgpodG1sc3BlY2lhbGNoYXJzKCR4LEVOVF9RVU9URVMpO31mdW5jdGlvbgpuYnNwKCR4KXtyZXR1cm4odHJpbSgkeCkhPSIiP2goJHgpOiImbmJzcDsiKTt9ZnVuY3Rpb24KbmxfYnIoJHgpe3JldHVybgpzdHJfcmVwbGFjZSgiXG4iLCI8YnI+IiwkeCk7fWZ1bmN0aW9uCmNoZWNrYm94KCRlLCRuLCR6YiwkR2M9IiIsJEtjPSIiKXtzdGF0aWMkYmE9MDskYmErKzskYj0iPGlucHV0IHR5cGU9J2NoZWNrYm94JyIuKCRlPyIgbmFtZT0nJGUnIHZhbHVlPSciLmgoJG4pLiInIjoiIGNsYXNzPSdqc29ubHknIikuKCR6Yj8iIGNoZWNrZWQiOiIiKS4oJEtjPyIgb25jbGljaz1cIiRLY1wiIjoiIikuIiBpZD0nY2hlY2tib3gtJGJhJz4iO3JldHVybigkR2MhPSIiPyI8bGFiZWwgZm9yPSdjaGVja2JveC0kYmEnPiRiIi5oKCRHYykuIjwvbGFiZWw+IjokYik7fWZ1bmN0aW9uCm9wdGlvbmxpc3QoJElhLCRRZD1udWxsLCROYz1mYWxzZSl7JGI9IiI7Zm9yZWFjaCgkSWEKYXMkc2E9PiRzKXskT2M9YXJyYXkoJHNhPT4kcyk7aWYoaXNfYXJyYXkoJHMpKXskYi49JzxvcHRncm91cCBsYWJlbD0iJy5oKCRzYSkuJyI+JzskT2M9JHM7fWZvcmVhY2goJE9jCmFzJGQ9PiRhKXskYi49JzxvcHRpb24nLigkTmN8fGlzX3N0cmluZygkZCk/JyB2YWx1ZT0iJy5oKCRkKS4nIic6JycpLigoJE5jfHxpc19zdHJpbmcoJGQpPyhzdHJpbmcpJGQ6JGEpPT09JFFkPycgc2VsZWN0ZWQnOicnKS4nPicuaCgkYSk7fWlmKGlzX2FycmF5KCRzKSl7JGIuPSc8L29wdGdyb3VwPic7fX1yZXR1cm4kYjt9ZnVuY3Rpb24KaHRtbF9zZWxlY3QoJGUsJElhLCRuPSIiLCRZYT10cnVlKXtpZigkWWEpe3JldHVybiI8c2VsZWN0IG5hbWU9JyIuaCgkZSkuIiciLihpc19zdHJpbmcoJFlhKT8iIG9uY2hhbmdlPVwiJFlhXCIiOiIiKS4iPiIub3B0aW9ubGlzdCgkSWEsJG4pLiI8L3NlbGVjdD4iO30kYj0iIjtmb3JlYWNoKCRJYQphcyRkPT4kYSl7JGIuPSI8bGFiZWw+PGlucHV0IHR5cGU9J3JhZGlvJyBuYW1lPSciLmgoJGUpLiInIHZhbHVlPSciLmgoJGQpLiInIi4oJGQ9PSRuPyIgY2hlY2tlZCI6IiIpLiI+Ii5oKCRhKS4iPC9sYWJlbD4iO31yZXR1cm4kYjt9ZnVuY3Rpb24KY29uZmlybSgkamQ9IiIsJFNkPWZhbHNlKXtyZXR1cm4iIG9uY2xpY2s9XCIiLigkU2Q/ImV2ZW50U3RvcChldmVudCk7ICI6IiIpLiJyZXR1cm4gY29uZmlybSgnIi5sYW5nKDApLigkamQ/IiAoJyArICRqZCArICcpIjoiIikuIicpO1wiIjt9ZnVuY3Rpb24KanNfZXNjYXBlKCR4KXtyZXR1cm4KYWRkY3NsYXNoZXMoJHgsIlxyXG4nXFwvIik7fWZ1bmN0aW9uCmluaV9ib29sKCRWZCl7JGE9aW5pX2dldCgkVmQpO3JldHVybihlcmVnaSgnXihvbnx0cnVlfHllcykkJywkYSl8fChpbnQpJGEpO31mdW5jdGlvbgpzaWQoKXtzdGF0aWMkYjtpZighaXNzZXQoJGIpKXskYj0oU0lEJiYhKCRfQ09PS0lFJiZpbmlfYm9vbCgic2Vzc2lvbi51c2VfY29va2llcyIpKSk7fXJldHVybiRiO31mdW5jdGlvbgpxKCR4KXtnbG9iYWwkZjtyZXR1cm4kZi0+cXVvdGUoJHgpO31mdW5jdGlvbgpnZXRfdmFscygkaiwkdT0wKXtnbG9iYWwkZjskYj1hcnJheSgpOyRpPSRmLT5xdWVyeSgkaik7aWYoaXNfb2JqZWN0KCRpKSl7d2hpbGUoJGM9JGktPmZldGNoX3JvdygpKXskYltdPSRjWyR1XTt9fXJldHVybiRiO31mdW5jdGlvbgpnZXRfa2V5X3ZhbHMoJGosJE09bnVsbCl7Z2xvYmFsJGY7aWYoIWlzX29iamVjdCgkTSkpeyRNPSRmO30kYj1hcnJheSgpOyRpPSRNLT5xdWVyeSgkaik7aWYoaXNfb2JqZWN0KCRpKSl7d2hpbGUoJGM9JGktPmZldGNoX3JvdygpKXskYlskY1swXV09JGNbMV07fX1yZXR1cm4kYjt9ZnVuY3Rpb24KZ2V0X3Jvd3MoJGosJE09bnVsbCwkcD0iPHAgY2xhc3M9J2Vycm9yJz4iKXtnbG9iYWwkZjtpZighaXNfb2JqZWN0KCRNKSl7JE09JGY7fSRiPWFycmF5KCk7JGk9JE0tPnF1ZXJ5KCRqKTtpZihpc19vYmplY3QoJGkpKXt3aGlsZSgkYz0kaS0+ZmV0Y2hfYXNzb2MoKSl7JGJbXT0kYzt9fWVsc2VpZighJGkmJiRmLT5lcnJvciYmJHAmJmRlZmluZWQoIlBBR0VfSEVBREVSIikpe2VjaG8kcC5lcnJvcigpLiJcbiI7fXJldHVybiRiO31mdW5jdGlvbgp1bmlxdWVfYXJyYXkoJGMsJFUpe2ZvcmVhY2goJFUKYXMkWCl7aWYoZXJlZygiUFJJTUFSWXxVTklRVUUiLCRYWyJ0eXBlIl0pKXskYj1hcnJheSgpO2ZvcmVhY2goJFhbImNvbHVtbnMiXWFzJGQpe2lmKCFpc3NldCgkY1skZF0pKXtjb250aW51ZQoyO30kYlskZF09JGNbJGRdO31yZXR1cm4kYjt9fSRiPWFycmF5KCk7Zm9yZWFjaCgkYwphcyRkPT4kYSl7aWYoIXByZWdfbWF0Y2goJ35eKENPVU5UXFwoKFxcKnwoRElTVElOQ1QgKT9gKD86W15gXXxgYCkrYClcXCl8KEFWR3xHUk9VUF9DT05DQVR8TUFYfE1JTnxTVU0pXFwoYCg/OlteYF18YGApK2BcXCkpJH4nLCRkKSl7JGJbJGRdPSRhO319cmV0dXJuJGI7fWZ1bmN0aW9uCndoZXJlKCRtKXtnbG9iYWwkdmE7JGI9YXJyYXkoKTtmb3JlYWNoKChhcnJheSkkbVsid2hlcmUiXWFzJGQ9PiRhKXskYltdPWlkZl9lc2NhcGUoYnJhY2tldF9lc2NhcGUoJGQsMSkpLihlcmVnKCdcXC4nLCRhKXx8JHZhPT0ibXNzcWwiPyIgTElLRSAiLmV4YWN0X3ZhbHVlKGFkZGNzbGFzaGVzKCRhLCIlXyIpKToiID0gIi5leGFjdF92YWx1ZSgkYSkpO31mb3JlYWNoKChhcnJheSkkbVsibnVsbCJdYXMkZCl7JGJbXT1pZGZfZXNjYXBlKCRkKS4iIElTIE5VTEwiO31yZXR1cm4KaW1wbG9kZSgiIEFORCAiLCRiKTt9ZnVuY3Rpb24Kd2hlcmVfY2hlY2soJGEpe3BhcnNlX3N0cigkYSwkTGMpO3JlbW92ZV9zbGFzaGVzKGFycmF5KCYkTGMpKTtyZXR1cm4Kd2hlcmUoJExjKTt9ZnVuY3Rpb24Kd2hlcmVfbGluaygkcSwkdSwkbiwkWGQ9Ij0iKXtyZXR1cm4iJndoZXJlJTVCJHElNUQlNUJjb2wlNUQ9Ii51cmxlbmNvZGUoJHUpLiImd2hlcmUlNUIkcSU1RCU1Qm9wJTVEPSIudXJsZW5jb2RlKChpc3NldCgkbik/JFhkOiJJUyBOVUxMIikpLiImd2hlcmUlNUIkcSU1RCU1QnZhbCU1RD0iLnVybGVuY29kZSgkbik7fWZ1bmN0aW9uCmNvb2tpZSgkZSwkbil7Z2xvYmFsJG9iOyRxYj1hcnJheSgkZSwoZXJlZygiXG4iLCRuKT8iIjokbiksdGltZSgpKzI1OTIwMDAscHJlZ19yZXBsYWNlKCd+XFw/Lip+JywnJywkX1NFUlZFUlsiUkVRVUVTVF9VUkkiXSksIiIsJG9iKTtpZih2ZXJzaW9uX2NvbXBhcmUoUEhQX1ZFUlNJT04sJzUuMi4wJyk+PTApeyRxYltdPXRydWU7fXJldHVybgpjYWxsX3VzZXJfZnVuY19hcnJheSgnc2V0Y29va2llJywkcWIpO31mdW5jdGlvbgpyZXN0YXJ0X3Nlc3Npb24oKXtpZighaW5pX2Jvb2woInNlc3Npb24udXNlX2Nvb2tpZXMiKSl7c2Vzc2lvbl9zdGFydCgpO319ZnVuY3Rpb24mZ2V0X3Nlc3Npb24oJGQpe3JldHVybiRfU0VTU0lPTlskZF1bRFJJVkVSXVtTRVJWRVJdWyRfR0VUWyJ1c2VybmFtZSJdXTt9ZnVuY3Rpb24Kc2V0X3Nlc3Npb24oJGQsJGEpeyRfU0VTU0lPTlskZF1bRFJJVkVSXVtTRVJWRVJdWyRfR0VUWyJ1c2VybmFtZSJdXT0kYTt9ZnVuY3Rpb24KYXV0aF91cmwoJFdiLCRfLCRFKXtnbG9iYWwkdGE7cHJlZ19tYXRjaCgnfihbXj9dKilcXD8/KC4qKX4nLHJlbW92ZV9mcm9tX3VyaShpbXBsb2RlKCJ8IixhcnJheV9rZXlzKCR0YSkpLiJ8dXNlcm5hbWV8Ii5zZXNzaW9uX25hbWUoKSksJGspO3JldHVybiIka1sxXT8iLihzaWQoKT9TSUQuIiYiOiIiKS4oJFdiIT0ic2VydmVyInx8JF8hPSIiP3VybGVuY29kZSgkV2IpLiI9Ii51cmxlbmNvZGUoJF8pLiImIjoiIikuInVzZXJuYW1lPSIudXJsZW5jb2RlKCRFKS4oJGtbMl0/IiYka1syXSI6IiIpO31mdW5jdGlvbgppc19hamF4KCl7cmV0dXJuKCRfU0VSVkVSWyJIVFRQX1hfUkVRVUVTVEVEX1dJVEgiXT09IlhNTEh0dHBSZXF1ZXN0Iik7fWZ1bmN0aW9uCnJlZGlyZWN0KCRZLCR3YT1udWxsKXtpZihpc3NldCgkd2EpKXtyZXN0YXJ0X3Nlc3Npb24oKTskX1NFU1NJT05bIm1lc3NhZ2VzIl1bcHJlZ19yZXBsYWNlKCd+XlteP10qficsJycsKGlzc2V0KCRZKT8kWTokX1NFUlZFUlsiUkVRVUVTVF9VUkkiXSkpXVtdPSR3YTt9aWYoaXNzZXQoJFkpKXtpZigkWT09IiIpeyRZPSIuIjt9aGVhZGVyKChpc19hamF4KCk/IlgtQUpBWC1SZWRpcmVjdCI6IkxvY2F0aW9uIikuIjogJFkiKTtleGl0O319ZnVuY3Rpb24KcXVlcnlfcmVkaXJlY3QoJGosJFksJHdhLCRVYj10cnVlLCR6ZD10cnVlLCRrZD1mYWxzZSl7Z2xvYmFsJGYsJHAsJGw7aWYoJHpkKXska2Q9ISRmLT5xdWVyeSgkaik7fSRrYz0iIjtpZigkail7JGtjPSRsLT5tZXNzYWdlUXVlcnkoIiRqOyIpO31pZigka2QpeyRwPWVycm9yKCkuJGtjO3JldHVybgpmYWxzZTt9aWYoJFViKXtyZWRpcmVjdCgkWSwkd2EuJGtjKTt9cmV0dXJuCnRydWU7fWZ1bmN0aW9uCnF1ZXJpZXMoJGo9bnVsbCl7Z2xvYmFsJGY7c3RhdGljJEthPWFycmF5KCk7aWYoIWlzc2V0KCRqKSl7cmV0dXJuCmltcGxvZGUoIjtcbiIsJEthKTt9JEthW109KGVyZWcoJzskJywkaik/IkRFTElNSVRFUiA7O1xuJGo7XG5ERUxJTUlURVIgIjokaik7cmV0dXJuJGYtPnF1ZXJ5KCRqKTt9ZnVuY3Rpb24KYXBwbHlfcXVlcmllcygkaiwkeiwkR2Q9J3RhYmxlJyl7Zm9yZWFjaCgkegphcyRoKXtpZighcXVlcmllcygiJGogIi4kR2QoJGgpKSl7cmV0dXJuCmZhbHNlO319cmV0dXJuCnRydWU7fWZ1bmN0aW9uCnF1ZXJpZXNfcmVkaXJlY3QoJFksJHdhLCRVYil7cmV0dXJuCnF1ZXJ5X3JlZGlyZWN0KHF1ZXJpZXMoKSwkWSwkd2EsJFViLGZhbHNlLCEkVWIpO31mdW5jdGlvbgpyZW1vdmVfZnJvbV91cmkoJEVhPSIiKXtyZXR1cm4Kc3Vic3RyKHByZWdfcmVwbGFjZSgifig/PD1bPyZdKSgkRWEiLihTSUQ/IiI6InwiLnNlc3Npb25fbmFtZSgpKS4iKT1bXiZdKiZ+IiwnJywiJF9TRVJWRVJbUkVRVUVTVF9VUkldJiIpLDAsLTEpO31mdW5jdGlvbgpwYWdpbmF0aW9uKCRRLCRKZCl7cmV0dXJuIiAiLigkUT09JEpkPyRRKzE6JzxhIGhyZWY9IicuaChyZW1vdmVfZnJvbV91cmkoInBhZ2UiKS4oJFE/IiZwYWdlPSRRIjoiIikpLiciPicuKCRRKzEpLiI8L2E+Iik7fWZ1bmN0aW9uCmdldF9maWxlKCRkLCRFYz1mYWxzZSl7JHFhPSRfRklMRVNbJGRdO2lmKCEkcWF8fCRxYVsiZXJyb3IiXSl7cmV0dXJuJHFhWyJlcnJvciJdO30kYj1maWxlX2dldF9jb250ZW50cygkRWMmJmVyZWcoJ1xcLmd6JCcsJHFhWyJuYW1lIl0pPyJjb21wcmVzcy56bGliOi8vJHFhW3RtcF9uYW1lXSI6KCRFYyYmZXJlZygnXFwuYnoyJCcsJHFhWyJuYW1lIl0pPyJjb21wcmVzcy5iemlwMjovLyRxYVt0bXBfbmFtZV0iOiRxYVsidG1wX25hbWUiXSkpO2lmKCRFYyl7JHJkPXN1YnN0cigkYiwwLDMpO2lmKGZ1bmN0aW9uX2V4aXN0cygiaWNvbnYiKSYmZXJlZygiXlx4RkVceEZGfF5ceEZGXHhGRSIsJHJkLCRmZSkpeyRiPWljb252KCJ1dGYtMTYiLCJ1dGYtOCIsJGIpO31lbHNlaWYoJHJkPT0iXHhFRlx4QkJceEJGIil7JGI9c3Vic3RyKCRiLDMpO319cmV0dXJuJGI7fWZ1bmN0aW9uCnVwbG9hZF9lcnJvcigkcCl7JGxkPSgkcD09VVBMT0FEX0VSUl9JTklfU0laRT9pbmlfZ2V0KCJ1cGxvYWRfbWF4X2ZpbGVzaXplIik6bnVsbCk7cmV0dXJuKCRwP2xhbmcoMSkuKCRsZD8iICIubGFuZygyLCRsZCk6IiIpOmxhbmcoMykpO31mdW5jdGlvbgpvZGQoJGI9JyBjbGFzcz0ib2RkIicpe3N0YXRpYyRxPTA7aWYoISRiKXskcT0tMTt9cmV0dXJuKCRxKyslCjI/JGI6JycpO31mdW5jdGlvbgpqc29uX3JvdygkZCwkYT1udWxsKXtzdGF0aWMkemE9dHJ1ZTtpZigkemEpe2VjaG8ieyI7fWlmKCRkIT0iIil7ZWNobygkemE/IiI6IiwiKS4iXG5cdFwiIi5hZGRjc2xhc2hlcygkZCwiXHJcblwiXFwiKS4nIjogJy4oaXNzZXQoJGEpPyciJy5hZGRjc2xhc2hlcygkYSwiXHJcblwiXFwiKS4nIic6J3VuZGVmaW5lZCcpOyR6YT1mYWxzZTt9ZWxzZXtlY2hvIlxufVxuIjskemE9dHJ1ZTt9fWZ1bmN0aW9uCmlzX3V0ZjgoJGEpe3JldHVybihwcmVnX21hdGNoKCd+fnUnLCRhKSYmIXByZWdfbWF0Y2goJ35bXFwwLVxceDhcXHhCXFx4Q1xceEUtXFx4MUZdficsJGEpKTt9ZnVuY3Rpb24KcmVwZWF0X3BhdHRlcm4oJFMsJGthKXtyZXR1cm4Kc3RyX3JlcGVhdCgiJFN7MCw2NTUzNX0iLCRrYS82NTUzNSkuIiRTezAsIi4oJGthCiUKNjU1MzUpLiJ9Ijt9ZnVuY3Rpb24Kc2hvcnRlbl91dGY4KCR4LCRrYT04MCwkZGU9IiIpe2lmKCFwcmVnX21hdGNoKCIoXigiLnJlcGVhdF9wYXR0ZXJuKCJbXHRcclxuIC1ceHtGRkZGfV0iLCRrYSkuIikoJCk/KXUiLCR4LCRrKSl7cHJlZ19tYXRjaCgiKF4oIi5yZXBlYXRfcGF0dGVybigiW1x0XHJcbiAtfl0iLCRrYSkuIikoJCk/KSIsJHgsJGspO31yZXR1cm4KaCgka1sxXSkuJGRlLihpc3NldCgka1syXSk/IiI6IjxpPi4uLjwvaT4iKTt9ZnVuY3Rpb24KZnJpZW5kbHlfdXJsKCRhKXtyZXR1cm4KcHJlZ19yZXBsYWNlKCd+W15hLXowLTlfXX5pJywnLScsJGEpO31mdW5jdGlvbgpoaWRkZW5fZmllbGRzKCRMYSwkVGQ9YXJyYXkoKSl7d2hpbGUobGlzdCgkZCwkYSk9ZWFjaCgkTGEpKXtpZihpc19hcnJheSgkYSkpe2ZvcmVhY2goJGEKYXMkc2E9PiRzKXskTGFbJGQuIlskc2FdIl09JHM7fX1lbHNlaWYoIWluX2FycmF5KCRkLCRUZCkpe2VjaG8nPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJy5oKCRkKS4nIiB2YWx1ZT0iJy5oKCRhKS4nIj4nO319fWZ1bmN0aW9uCmhpZGRlbl9maWVsZHNfZ2V0KCl7ZWNobyhzaWQoKT8nPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJy5zZXNzaW9uX25hbWUoKS4nIiB2YWx1ZT0iJy5oKHNlc3Npb25faWQoKSkuJyI+JzonJyksKFNFUlZFUiE9PW51bGw/JzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IicuRFJJVkVSLiciIHZhbHVlPSInLmgoU0VSVkVSKS4nIj4nOiIiKSwnPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idXNlcm5hbWUiIHZhbHVlPSInLmgoJF9HRVRbInVzZXJuYW1lIl0pLiciPic7fWZ1bmN0aW9uCmNvbHVtbl9mb3JlaWduX2tleXMoJGgpe2dsb2JhbCRsOyRiPWFycmF5KCk7Zm9yZWFjaCgkbC0+Zm9yZWlnbktleXMoJGgpYXMkSSl7Zm9yZWFjaCgkSVsic291cmNlIl1hcyRhKXskYlskYV1bXT0kSTt9fXJldHVybiRiO31mdW5jdGlvbgplbnVtX2lucHV0KCRBLCRoYSwkZywkbiwkemM9bnVsbCl7Z2xvYmFsJGw7cHJlZ19tYXRjaF9hbGwoIn4nKCg/OlteJ118JycpKiknfiIsJGdbImxlbmd0aCJdLCRkYSk7JGI9KGlzc2V0KCR6Yyk/IjxsYWJlbD48aW5wdXQgdHlwZT0nJEEnJGhhIHZhbHVlPSckemMnIi4oKGlzX2FycmF5KCRuKT9pbl9hcnJheSgkemMsJG4pOiRuPT09MCk/IiBjaGVja2VkIjoiIikuIj48aT4iLmxhbmcoNCkuIjwvaT48L2xhYmVsPiI6IiIpO2ZvcmVhY2goJGRhWzFdYXMkcT0+JGEpeyRhPXN0cmlwY3NsYXNoZXMoc3RyX3JlcGxhY2UoIicnIiwiJyIsJGEpKTskemI9KGlzX2ludCgkbik/JG49PSRxKzE6KGlzX2FycmF5KCRuKT9pbl9hcnJheSgkcSsxLCRuKTokbj09PSRhKSk7JGIuPSIgPGxhYmVsPjxpbnB1dCB0eXBlPSckQSckaGEgdmFsdWU9JyIuKCRxKzEpLiInIi4oJHpiPycgY2hlY2tlZCc6JycpLic+Jy5oKCRsLT5lZGl0VmFsKCRhLCRnKSkuJzwvbGFiZWw+Jzt9cmV0dXJuJGI7fWZ1bmN0aW9uCmlucHV0KCRnLCRuLCRMKXtnbG9iYWwkWiwkbCwkdmE7JGU9aChicmFja2V0X2VzY2FwZSgkZ1siZmllbGQiXSkpO2VjaG8iPHRkIGNsYXNzPSdmdW5jdGlvbic+IjskSGM9KCR2YT09Im1zc3FsIiYmJGdbImF1dG9faW5jcmVtZW50Il0pO2lmKCRIYyYmISRfUE9TVFsic2F2ZSJdKXskTD1udWxsO30kZWE9KGlzc2V0KCRfR0VUWyJzZWxlY3QiXSl8fCRIYz9hcnJheSgib3JpZyI9PmxhbmcoNSkpOmFycmF5KCkpKyRsLT5lZGl0RnVuY3Rpb25zKCRnKTskaGE9IiBuYW1lPSdmaWVsZHNbJGVdJyI7aWYoJGdbInR5cGUiXT09ImVudW0iKXtlY2hvCm5ic3AoJGVhWyIiXSkuIjx0ZD4iLiRsLT5lZGl0SW5wdXQoJF9HRVRbImVkaXQiXSwkZywkaGEsJG4pO31lbHNleyR6YT0wO2ZvcmVhY2goJGVhCmFzJGQ9PiRhKXtpZigkZD09PSIifHwhJGEpe2JyZWFrO30kemErKzt9JFlhPSgkemE/IiBvbmNoYW5nZT1cInZhciBmID0gdGhpcy5mb3JtWydmdW5jdGlvblsiLmpzX2VzY2FwZSgkZSkuIl0nXTsgaWYgKCR6YSA+IGYuc2VsZWN0ZWRJbmRleCkgZi5zZWxlY3RlZEluZGV4ID0gJHphO1wiIjoiIik7JGhhLj0kWWE7ZWNobyhjb3VudCgkZWEpPjE/aHRtbF9zZWxlY3QoImZ1bmN0aW9uWyRlXSIsJGVhLCFpc3NldCgkTCl8fGluX2FycmF5KCRMLCRlYSl8fGlzc2V0KCRlYVskTF0pPyRMOiIiLCJmdW5jdGlvbkNoYW5nZSh0aGlzKTsiKTpuYnNwKHJlc2V0KCRlYSkpKS4nPHRkPic7JGZkPSRsLT5lZGl0SW5wdXQoJF9HRVRbImVkaXQiXSwkZywkaGEsJG4pO2lmKCRmZCE9IiIpe2VjaG8kZmQ7fWVsc2VpZigkZ1sidHlwZSJdPT0ic2V0Iil7cHJlZ19tYXRjaF9hbGwoIn4nKCg/OlteJ118JycpKiknfiIsJGdbImxlbmd0aCJdLCRkYSk7Zm9yZWFjaCgkZGFbMV1hcyRxPT4kYSl7JGE9c3RyaXBjc2xhc2hlcyhzdHJfcmVwbGFjZSgiJyciLCInIiwkYSkpOyR6Yj0oaXNfaW50KCRuKT8oJG4+PiRxKSYxOmluX2FycmF5KCRhLGV4cGxvZGUoIiwiLCRuKSx0cnVlKSk7ZWNobyIgPGxhYmVsPjxpbnB1dCB0eXBlPSdjaGVja2JveCcgbmFtZT0nZmllbGRzWyRlXVskcV0nIHZhbHVlPSciLigxPDwkcSkuIiciLigkemI/JyBjaGVja2VkJzonJykuIiRZYT4iLmgoJGwtPmVkaXRWYWwoJGEsJGcpKS4nPC9sYWJlbD4nO319ZWxzZWlmKGVyZWcoJ2Jsb2J8Ynl0ZWF8cmF3fGZpbGUnLCRnWyJ0eXBlIl0pJiZpbmlfYm9vbCgiZmlsZV91cGxvYWRzIikpe2VjaG8iPGlucHV0IHR5cGU9J2ZpbGUnIG5hbWU9J2ZpZWxkcy0kZSckWWE+Ijt9ZWxzZWlmKGVyZWcoJ3RleHR8bG9iJywkZ1sidHlwZSJdKSl7ZWNobyI8dGV4dGFyZWEgIi4oJHZhIT0ic3FsaXRlInx8ZXJlZygiXG4iLCRuKT8iY29scz0nNTAnIHJvd3M9JzEyJyI6ImNvbHM9JzMwJyByb3dzPScxJyBzdHlsZT0naGVpZ2h0OiAxLjJlbTsnIikuIiRoYT4iLmgoJG4pLic8L3RleHRhcmVhPic7fWVsc2V7JEJjPSghZXJlZygnaW50JywkZ1sidHlwZSJdKSYmcHJlZ19tYXRjaCgnfl4oXFxkKykoLChcXGQrKSk/JH4nLCRnWyJsZW5ndGgiXSwkayk/KChlcmVnKCJiaW5hcnkiLCRnWyJ0eXBlIl0pPzI6MSkqJGtbMV0rKCRrWzNdPzE6MCkrKCRrWzJdJiYhJGdbInVuc2lnbmVkIl0/MTowKSk6KCRaWyRnWyJ0eXBlIl1dPyRaWyRnWyJ0eXBlIl1dKygkZ1sidW5zaWduZWQiXT8wOjEpOjApKTtlY2hvIjxpbnB1dCB2YWx1ZT0nIi5oKCRuKS4iJyIuKCRCYz8iIG1heGxlbmd0aD0nJEJjJyI6IiIpLihlcmVnKCdjaGFyfGJpbmFyeScsJGdbInR5cGUiXSkmJiRCYz4yMD8iIHNpemU9JzQwJyI6IiIpLiIkaGE+Ijt9fX1mdW5jdGlvbgpwcm9jZXNzX2lucHV0KCRnKXtnbG9iYWwkbDskQj1icmFja2V0X2VzY2FwZSgkZ1siZmllbGQiXSk7JEw9JF9QT1NUWyJmdW5jdGlvbiJdWyRCXTskbj0kX1BPU1RbImZpZWxkcyJdWyRCXTtpZigkZ1sidHlwZSJdPT0iZW51bSIpe2lmKCRuPT0tMSl7cmV0dXJuCmZhbHNlO31pZigkbj09IiIpe3JldHVybiJOVUxMIjt9cmV0dXJuKyRuO31pZigkZ1siYXV0b19pbmNyZW1lbnQiXSYmJG49PSIiKXtyZXR1cm4KbnVsbDt9aWYoJEw9PSJvcmlnIil7cmV0dXJuCmZhbHNlO31pZigkTD09Ik5VTEwiKXtyZXR1cm4iTlVMTCI7fWlmKCRnWyJ0eXBlIl09PSJzZXQiKXtyZXR1cm4KYXJyYXlfc3VtKChhcnJheSkkbik7fWlmKGVyZWcoJ2Jsb2J8Ynl0ZWF8cmF3fGZpbGUnLCRnWyJ0eXBlIl0pJiZpbmlfYm9vbCgiZmlsZV91cGxvYWRzIikpeyRxYT1nZXRfZmlsZSgiZmllbGRzLSRCIik7aWYoIWlzX3N0cmluZygkcWEpKXtyZXR1cm4KZmFsc2U7fXJldHVybgpxKCRxYSk7fXJldHVybiRsLT5wcm9jZXNzSW5wdXQoJGcsJG4sJEwpO31mdW5jdGlvbgpzZWFyY2hfdGFibGVzKCl7Z2xvYmFsJGwsJGY7JF9HRVRbIndoZXJlIl1bMF1bIm9wIl09IkxJS0UgJSUiOyRfR0VUWyJ3aGVyZSJdWzBdWyJ2YWwiXT0kX1BPU1RbInF1ZXJ5Il07JF9jPWZhbHNlO2ZvcmVhY2godGFibGVfc3RhdHVzKClhcyRoPT4kRCl7JGU9JGwtPnRhYmxlTmFtZSgkRCk7aWYoaXNzZXQoJERbIkVuZ2luZSJdKSYmJGUhPSIiJiYoISRfUE9TVFsidGFibGVzIl18fGluX2FycmF5KCRoLCRfUE9TVFsidGFibGVzIl0pKSl7JGk9JGYtPnF1ZXJ5KCJTRUxFQ1QiLmxpbWl0KCIxIEZST00gIi50YWJsZSgkaCksIiBXSEVSRSAiLmltcGxvZGUoIiBBTkQgIiwkbC0+c2VsZWN0U2VhcmNoUHJvY2VzcyhmaWVsZHMoJGgpLGFycmF5KCkpKSwxKSk7aWYoJGktPmZldGNoX3JvdygpKXtpZighJF9jKXtlY2hvIjx1bD5cbiI7JF9jPXRydWU7fWVjaG8iPGxpPjxhIGhyZWY9JyIuaChNRS4ic2VsZWN0PSIudXJsZW5jb2RlKCRoKS4iJndoZXJlWzBdW29wXT0iLnVybGVuY29kZSgkX0dFVFsid2hlcmUiXVswXVsib3AiXSkuIiZ3aGVyZVswXVt2YWxdPSIudXJsZW5jb2RlKCRfR0VUWyJ3aGVyZSJdWzBdWyJ2YWwiXSkpLiInPiRlPC9hPlxuIjt9fX1lY2hvKCRfYz8iPC91bD4iOiI8cCBjbGFzcz0nbWVzc2FnZSc+Ii5sYW5nKDYpKS4iXG4iO31mdW5jdGlvbgpkdW1wX2hlYWRlcnMoJFpiLCRiZD1mYWxzZSl7Z2xvYmFsJGw7JGI9JGwtPmR1bXBIZWFkZXJzKCRaYiwkYmQpOyRaYT0kX1BPU1RbIm91dHB1dCJdO2lmKCRaYSE9InRleHQiKXtoZWFkZXIoIkNvbnRlbnQtRGlzcG9zaXRpb246IGF0dGFjaG1lbnQ7IGZpbGVuYW1lPSIuKCRaYiE9IiI/ZnJpZW5kbHlfdXJsKCRaYik6ImR1bXAiKS4iLiRiIi4oJFphIT0iZmlsZSImJiFlcmVnKCdbXjAtOWEtel0nLCRaYSk/Ii4kWmEiOiIiKSk7fXNlc3Npb25fd3JpdGVfY2xvc2UoKTtyZXR1cm4kYjt9ZnVuY3Rpb24KZHVtcF9jc3YoJGMpe2ZvcmVhY2goJGMKYXMkZD0+JGEpe2lmKHByZWdfbWF0Y2goIn5bXCJcbiw7XHRdfiIsJGEpfHwkYT09PSIiKXskY1skZF09JyInLnN0cl9yZXBsYWNlKCciJywnIiInLCRhKS4nIic7fX1lY2hvCmltcGxvZGUoKCRfUE9TVFsiZm9ybWF0Il09PSJjc3YiPyIsIjooJF9QT1NUWyJmb3JtYXQiXT09InRzdiI/Ilx0IjoiOyIpKSwkYykuIlxyXG4iO31mdW5jdGlvbgphcHBseV9zcWxfZnVuY3Rpb24oJEwsJHUpe3JldHVybigkTD8oJEw9PSJ1bml4ZXBvY2giPyJEQVRFVElNRSgkdSwgJyRMJykiOigkTD09ImNvdW50IGRpc3RpbmN0Ij8iQ09VTlQoRElTVElOQ1QgIjpzdHJ0b3VwcGVyKCIkTCgiKSkuIiR1KSIpOiR1KTt9ZnVuY3Rpb24KcGFzc3dvcmRfZmlsZSgpeyRkYz1pbmlfZ2V0KCJ1cGxvYWRfdG1wX2RpciIpO2lmKCEkZGMpe2lmKGZ1bmN0aW9uX2V4aXN0cygnc3lzX2dldF90ZW1wX2RpcicpKXskZGM9c3lzX2dldF90ZW1wX2RpcigpO31lbHNleyRWPUB0ZW1wbmFtKCIiLCIiKTtpZighJFYpe3JldHVybgpmYWxzZTt9JGRjPWRpcm5hbWUoJFYpO3VubGluaygkVik7fX0kVj0iJGRjL2FkbWluZXIua2V5IjskYj1AZmlsZV9nZXRfY29udGVudHMoJFYpO2lmKCRiKXtyZXR1cm4kYjt9JERjPUBmb3BlbigkViwidyIpO2lmKCREYyl7JGI9bWQ1KHVuaXFpZChtdF9yYW5kKCksdHJ1ZSkpO2Z3cml0ZSgkRGMsJGIpO2ZjbG9zZSgkRGMpO31yZXR1cm4kYjt9ZnVuY3Rpb24KaXNfbWFpbCgkbWIpeyRhZD0nWy1hLXowLTkhIyQlJlwnKisvPT9eX2B7fH1+XSc7JEJiPSdbYS16MC05XShbLWEtejAtOV17MCw2MX1bYS16MC05XSknOyRTPSIkYWQrKFxcLiRhZCspKkAoJEJiP1xcLikrJEJiIjtyZXR1cm4KcHJlZ19tYXRjaCgiKF4kUygsXFxzKiRTKSpcJClpIiwkbWIpO31mdW5jdGlvbgppc191cmwoJHgpeyRCYj0nW2EtejAtOV0oWy1hLXowLTldezAsNjF9W2EtejAtOV0pJztyZXR1cm4ocHJlZ19tYXRjaCgifl4oaHR0cHM/KTovLygkQmI/XFwuKSskQmIoOlxcZCspPygvLiopPyhcXD8uKik/KCMuKik/XCR+aSIsJHgsJGspP3N0cnRvbG93ZXIoJGtbMV0pOiIiKTt9ZnVuY3Rpb24KcHJpbnRfZmllbGRzZXQoJGJhLCRJZCwkTGQ9ZmFsc2Upe2VjaG8iPGZpZWxkc2V0PjxsZWdlbmQ+PGEgaHJlZj0nI2ZpZWxkc2V0LSRiYScgb25jbGljaz1cInJldHVybiAhdG9nZ2xlKCdmaWVsZHNldC0kYmEnKTtcIj4kSWQ8L2E+PC9sZWdlbmQ+PGRpdiBpZD0nZmllbGRzZXQtJGJhJyIuKCRMZD8iIjoiIGNsYXNzPSdoaWRkZW4nIikuIj5cbiI7fWZ1bmN0aW9uCmJvbGQoJGFlKXtyZXR1cm4oJGFlPyIgY2xhc3M9J2FjdGl2ZSciOiIiKTt9Z2xvYmFsJGwsJGYsJHRhLCRGYiwkQWMsJHAsJGVhLCRJYiwkb2IsJHBkLCR2YSwkZmEsJFNhLCRTYiwkSGEsJHhhLCROLCRaLCRHYiwkUWI7aWYoIWlzc2V0KCRfU0VSVkVSWyJSRVFVRVNUX1VSSSJdKSl7JF9TRVJWRVJbIlJFUVVFU1RfVVJJIl09JF9TRVJWRVJbIk9SSUdfUEFUSF9JTkZPIl0uKCRfU0VSVkVSWyJRVUVSWV9TVFJJTkciXSE9IiI/Ij8kX1NFUlZFUltRVUVSWV9TVFJJTkddIjoiIik7fSRvYj0kX1NFUlZFUlsiSFRUUFMiXSYmc3RyY2FzZWNtcCgkX1NFUlZFUlsiSFRUUFMiXSwib2ZmIik7QGluaV9zZXQoInNlc3Npb24udXNlX3RyYW5zX3NpZCIsZmFsc2UpO2lmKCFkZWZpbmVkKCJTSUQiKSl7c2Vzc2lvbl9uYW1lKCJhZG1pbmVyX3NpZCIpOyRxYj1hcnJheSgwLHByZWdfcmVwbGFjZSgnflxcPy4qficsJycsJF9TRVJWRVJbIlJFUVVFU1RfVVJJIl0pLCIiLCRvYik7aWYodmVyc2lvbl9jb21wYXJlKFBIUF9WRVJTSU9OLCc1LjIuMCcpPj0wKXskcWJbXT10cnVlO31jYWxsX3VzZXJfZnVuY19hcnJheSgnc2Vzc2lvbl9zZXRfY29va2llX3BhcmFtcycsJHFiKTtzZXNzaW9uX3N0YXJ0KCk7fXJlbW92ZV9zbGFzaGVzKGFycmF5KCYkX0dFVCwmJF9QT1NULCYkX0NPT0tJRSkpO2lmKGZ1bmN0aW9uX2V4aXN0cygic2V0X21hZ2ljX3F1b3Rlc19ydW50aW1lIikpe3NldF9tYWdpY19xdW90ZXNfcnVudGltZShmYWxzZSk7fUBzZXRfdGltZV9saW1pdCgwKTtAaW5pX3NldCgiemVuZC56ZTFfY29tcGF0aWJpbGl0eV9tb2RlIixmYWxzZSk7QGluaV9zZXQoInByZWNpc2lvbiIsMjApOyRTYT1hcnJheSgnZW4nPT4nRW5nbGlzaCcsJ2NzJz0+J8SMZcWhdGluYScsJ3NrJz0+J1Nsb3ZlbsSNaW5hJywnbmwnPT4nTmVkZXJsYW5kcycsJ2VzJz0+J0VzcGHDsW9sJywnZGUnPT4nRGV1dHNjaCcsJ2ZyJz0+J0ZyYW7Dp2FpcycsJ2l0Jz0+J0l0YWxpYW5vJywnZXQnPT4nRWVzdGknLCdodSc9PidNYWd5YXInLCdwbCc9PidQb2xza2knLCdjYSc9PidDYXRhbMOgJywncHQnPT4nUG9ydHVndcOqcycsJ3NsJz0+J1Nsb3ZlbnNraScsJ3RyJz0+J1TDvHJrw6dlJywncnUnPT4n0KDRg9GB0YHQutC40Lkg0Y/Qt9GL0LonLCd6aCc9PifnroDkvZPkuK3mlocnLCd6aC10dyc9PifnuYHpq5TkuK3mlocnLCdqYSc9Pifml6XmnKzoqp4nLCd0YSc9PifgrqTigIzgrq7grr/grrTgr40nLCdhcic9PifYp9mE2LnYsdio2YrYqScsKTtmdW5jdGlvbgpnZXRfbGFuZygpe2dsb2JhbCRmYTtyZXR1cm4kZmE7fWZ1bmN0aW9uCmxhbmcoJEIsJG5iPW51bGwpe2dsb2JhbCRmYSwkTjskbGI9JE5bJEJdO2lmKGlzX2FycmF5KCRsYikmJiRsYil7JFJkPSgkbmI9PTF8fCghJG5iJiYkZmE9PSdmcicpPzA6KCRmYT09J3NsJyYmKCEkbmJ8fCRuYj4yKT8xOjApKygoISRuYnx8JG5iPj01KSYmZXJlZygnY3N8c2t8cnV8c2x8cGwnLCRmYSk/MjoxKSk7JGxiPSRsYlskUmRdO30kaWQ9ZnVuY19nZXRfYXJncygpO2FycmF5X3NoaWZ0KCRpZCk7cmV0dXJuCnZzcHJpbnRmKChpc3NldCgkbGIpPyRsYjokQiksJGlkKTt9ZnVuY3Rpb24Kc3dpdGNoX2xhbmcoKXtnbG9iYWwkZmEsJFNhO2VjaG8iPGZvcm0gYWN0aW9uPScnPlxuPGRpdiBpZD0nbGFuZyc+IjtoaWRkZW5fZmllbGRzKCRfR0VULGFycmF5KCdsYW5nJykpO2VjaG8KbGFuZyg3KS4iOiAiLmh0bWxfc2VsZWN0KCJsYW5nIiwkU2EsJGZhLCJ2YXIgbG9jID0gbG9jYXRpb24uc2VhcmNoLnJlcGxhY2UoL1s/Jl1sYW5nPVteJl0qLywgJycpOyBsb2NhdGlvbi5zZWFyY2ggPSBsb2MgKyAobG9jID8gJyYnIDogJycpICsgJ2xhbmc9JyArIHRoaXMudmFsdWU7IiksIiA8aW5wdXQgdHlwZT0nc3VibWl0JyB2YWx1ZT0nIi5sYW5nKDgpLiInIGNsYXNzPSdoaWRkZW4nPlxuIiwiPC9kaXY+XG48L2Zvcm0+XG4iO31pZihpc3NldCgkX0dFVFsibGFuZyJdKSl7JF9DT09LSUVbImFkbWluZXJfbGFuZyJdPSRfR0VUWyJsYW5nIl07JF9TRVNTSU9OWyJsYW5nIl09JF9HRVRbImxhbmciXTt9JGZhPSJlbiI7aWYoaXNzZXQoJFNhWyRfQ09PS0lFWyJhZG1pbmVyX2xhbmciXV0pKXtjb29raWUoImFkbWluZXJfbGFuZyIsJF9DT09LSUVbImFkbWluZXJfbGFuZyJdKTskZmE9JF9DT09LSUVbImFkbWluZXJfbGFuZyJdO31lbHNlaWYoaXNzZXQoJFNhWyRfU0VTU0lPTlsibGFuZyJdXSkpeyRmYT0kX1NFU1NJT05bImxhbmciXTt9ZWxzZXskYmM9YXJyYXkoKTtwcmVnX21hdGNoX2FsbCgnfihbLWEtel0rKSg7cT0oWzAtOS5dKykpP34nLHN0cl9yZXBsYWNlKCJfIiwiLSIsc3RydG9sb3dlcigkX1NFUlZFUlsiSFRUUF9BQ0NFUFRfTEFOR1VBR0UiXSkpLCRkYSxQUkVHX1NFVF9PUkRFUik7Zm9yZWFjaCgkZGEKYXMkayl7JGJjWyRrWzFdXT0oaXNzZXQoJGtbM10pPyRrWzNdOjEpO31hcnNvcnQoJGJjKTtmb3JlYWNoKCRiYwphcyRkPT4kUmIpe2lmKGlzc2V0KCRTYVskZF0pKXskZmE9JGQ7YnJlYWs7fSRkPXByZWdfcmVwbGFjZSgnfi0uKn4nLCcnLCRkKTtpZighaXNzZXQoJGJjWyRkXSkmJmlzc2V0KCRTYVskZF0pKXskZmE9JGQ7YnJlYWs7fX19c3dpdGNoKCRmYSl7Y2FzZSJlbiI6JE49YXJyYXkoJ0FyZSB5b3Ugc3VyZT8nLCdVbmFibGUgdG8gdXBsb2FkIGEgZmlsZS4nLCdNYXhpbXVtIGFsbG93ZWQgZmlsZSBzaXplIGlzICVzQi4nLCdGaWxlIGRvZXMgbm90IGV4aXN0LicsJ2VtcHR5Jywnb3JpZ2luYWwnLCdObyB0YWJsZXMuJywnTGFuZ3VhZ2UnLCdVc2UnLCdQbGVhc2UgdXNlIG9uZSBvZiB0aGUgZXh0ZW5zaW9ucyAlcy4nLCdGaWxlIGV4aXN0cy4nLCdVc2VyIHR5cGVzJywnTnVtYmVycycsJ0RhdGUgYW5kIHRpbWUnLCdTdHJpbmdzJywnQmluYXJ5JywnTmV0d29yaycsJ0dlb21ldHJ5JywnTGlzdHMnLCdFZGl0b3InLCdVc2VybmFtZScsJ1Bhc3N3b3JkJywnTG9naW4nLCdQZXJtYW5lbnQgbG9naW4nLCdOZXcgaXRlbScsJ0xhc3QgcGFnZScsYXJyYXkoJyVkIGJ5dGUnLCclZCBieXRlcycpLCckMS0kMy0kNScsJ1NlYXJjaCcsJ2FueXdoZXJlJywnU29ydCcsJ0xpbWl0JywnQWN0aW9uJywnU2VsZWN0JywnRS1tYWlsJywnRnJvbScsJ1N1YmplY3QnLCdJbnNlcnQnLCdBdHRhY2htZW50cycsJ1NlbmQnLGFycmF5KCclZCBlLW1haWwgaGFzIGJlZW4gc2VudC4nLCclZCBlLW1haWxzIGhhdmUgYmVlbiBzZW50LicpLCdub3cnLCdISDpNTTpTUycsJ1t5eXl5XS1tbS1kZCcsJ0xvZ291dCcsJ2x0cicsJ1Jlc2VuZCBQT1NUIGRhdGE/JywnU2VydmVyJywnSW52YWxpZCBDU1JGIHRva2VuLiBTZW5kIHRoZSBmb3JtIGFnYWluLicsJ0xvZ291dCBzdWNjZXNzZnVsLicsJ1Nlc3Npb24gc3VwcG9ydCBtdXN0IGJlIGVuYWJsZWQuJywnU2Vzc2lvbiBleHBpcmVkLCBwbGVhc2UgbG9naW4gYWdhaW4uJywnSW52YWxpZCBjcmVkZW50aWFscy4nLCdObyBleHRlbnNpb24nLCdOb25lIG9mIHRoZSBzdXBwb3J0ZWQgUEhQIGV4dGVuc2lvbnMgKCVzKSBhcmUgYXZhaWxhYmxlLicsJ1RvbyBiaWcgUE9TVCBkYXRhLiBSZWR1Y2UgdGhlIGRhdGEgb3IgaW5jcmVhc2UgdGhlICVzIGNvbmZpZ3VyYXRpb24gZGlyZWN0aXZlLicsJ0l0ZW0gaGFzIGJlZW4gZGVsZXRlZC4nLCdJdGVtIGhhcyBiZWVuIHVwZGF0ZWQuJywnSXRlbSVzIGhhcyBiZWVuIGluc2VydGVkLicsJ0VkaXQnLCdTYXZlJywnU2F2ZSBhbmQgY29udGludWUgZWRpdCcsJ1NhdmUgYW5kIGluc2VydCBuZXh0JywnRGVsZXRlJyxhcnJheSgnJWQgaXRlbSBoYXMgYmVlbiBhZmZlY3RlZC4nLCclZCBpdGVtcyBoYXZlIGJlZW4gYWZmZWN0ZWQuJyksJ0RvdWJsZSBjbGljayBvbiBhIHZhbHVlIHRvIG1vZGlmeSBpdC4nLGFycmF5KCclZCByb3cgaGFzIGJlZW4gaW1wb3J0ZWQuJywnJWQgcm93cyBoYXZlIGJlZW4gaW1wb3J0ZWQuJyksJ1VuYWJsZSB0byBzZWxlY3QgdGhlIHRhYmxlJywnTm8gcm93cy4nLCdlZGl0JywnUmVsYXRpb25zJywnVXNlIGVkaXQgbGluayB0byBtb2RpZnkgdGhpcyB2YWx1ZS4nLCdQYWdlJywnbGFzdCcsYXJyYXkoJyVkIHJvdycsJyVkIHJvd3MnKSwnd2hvbGUgcmVzdWx0JywnQ2xvbmUnLCdFeHBvcnQnLCdJbXBvcnQnLCdTZWFyY2ggZGF0YSBpbiB0YWJsZXMnLCdUYWJsZScsJ1Jvd3MnLCcsJyxhcnJheSgnJWQgcXVlcnkgZXhlY3V0ZWQgT0suJywnJWQgcXVlcmllcyBleGVjdXRlZCBPSy4nKSk7YnJlYWs7Y2FzZSJjcyI6JE49YXJyYXkoJ09wcmF2ZHU/JywnTmVwb2RhxZlpbG8gc2UgbmFocsOhdCBzb3Vib3IuJywnTWF4aW3DoWxuw60gcG92b2xlbsOhIHZlbGlrb3N0IHNvdWJvcnUgamUgJXNCLicsJ1NvdWJvciBuZWV4aXN0dWplLicsJ3Byw6F6ZG7DqScsJ3DFr3ZvZG7DrScsJ8W9w6FkbsOpIHRhYnVsa3kuJywnSmF6eWsnLCdWeWJyYXQnLCdQcm9zw61tIHBvdcW+aWp0ZSBqZWRudSB6IGtvbmNvdmVrICVzLicsJ1NvdWJvciBleGlzdHVqZS4nLCdVxb5pdmF0ZWxza8OpIHR5cHknLCfEjMOtc2xhJywnRGF0dW0gYSDEjWFzJywnxZhldMSbemNlJywnQmluw6FybsOtJywnU8OtxaUnLCdHZW9tZXRyaWUnLCdTZXpuYW15JywnRWRpdG9yJywnVcW+aXZhdGVsJywnSGVzbG8nLCdQxZlpaGzDoXNpdCBzZScsJ1RydmFsw6kgcMWZaWhsw6HFoWVuw60nLCdOb3bDoSBwb2xvxb5rYScsJ1Bvc2xlZG7DrSBzdHLDoW5rYScsYXJyYXkoJyVkIGJhanQnLCclZCBiYWp0eScsJyVkIGJhanTFrycpLCckNi4kNC4kMScsJ1Z5aGxlZGF0Jywna2Rla29saXYnLCdTZcWZYWRpdCcsJ0xpbWl0JywnQWtjZScsJ1Z5cHNhdCcsJ0UtbWFpbCcsJ09kZXPDrWxhdGVsJywnUMWZZWRtxJt0JywnVmxvxb5pdCcsJ1DFmcOtbG9oeScsJ09kZXNsYXQnLGFycmF5KCdCeWwgb2Rlc2zDoW4gJWQgZS1tYWlsLicsJ0J5bHkgb2Rlc2zDoW55ICVkIGUtbWFpbHkuJywnQnlsbyBvZGVzbMOhbm8gJWQgZS1tYWlsxa8uJyksJ3RlxI8nLCdISDpNTTpTUycsJ2QubS5bcnJycl0nLCdPZGhsw6FzaXQnLCdsdHInLCdabm92dSBvZGVzbGF0IFBPU1QgZGF0YT8nLCdTZXJ2ZXInLCdOZXBsYXRuw70gdG9rZW4gQ1NSRi4gT2RlxaFsZXRlIGZvcm11bMOhxZkgem5vdnUuJywnT2RobMOhxaFlbsOtIHByb2LEm2hsbyB2IHBvxZnDoWRrdS4nLCdTZXNzaW9uIHByb23Em25uw6kgbXVzw60gYsO9dCBwb3ZvbGVuw6kuJywnU2Vzc2lvbiB2eXByxaFlbGEsIHDFmWlobGHFoXRlIHNlIHByb3PDrW0gem5vdnUuJywnTmVwbGF0bsOpIHDFmWlobGHFoW92YWPDrSDDumRhamUuJywnxb3DoWRuw6EgZXh0ZW56ZScsJ05lbsOtIGRvc3R1cG7DoSDFvsOhZG7DoSB6IHBvZHBvcm92YW7DvWNoIFBIUCBleHRlbnrDrSAoJXMpLicsJ1DFmcOtbGnFoSB2ZWxrw6EgUE9TVCBkYXRhLiBabWVuxaFldGUgZGF0YSBuZWJvIHp2ecWhdGUgaG9kbm90dSBrb25maWd1cmHEjW7DrSBkaXJla3RpdnkgJXMuJywnUG9sb8W+a2EgYnlsYSBzbWF6w6FuYS4nLCdQb2xvxb5rYSBieWxhIGFrdHVhbGl6b3bDoW5hLicsJ1BvbG/FvmthJXMgYnlsYSB2bG/FvmVuYS4nLCdVcHJhdml0JywnVWxvxb5pdCcsJ1Vsb8W+aXQgYSBwb2tyYcSNb3ZhdCB2IGVkaXRhY2knLCdVbG/Fvml0IGEgdmxvxb5pdCBkYWzFocOtJywnU21hemF0JyxhcnJheSgnQnlsIG92bGl2bsSbbiAlZCB6w6F6bmFtLicsJ0J5bHkgb3ZsaXZuxJtueSAlZCB6w6F6bmFteS4nLCdCeWxvIG92bGl2bsSbbm8gJWQgesOhem5hbcWvLicpLCdEdm9qa2xpa27Em3RlIG5hIHBvbMOtxI1rbywga3RlcsOpIGNoY2V0ZSB6bcSbbml0LicsYXJyYXkoJ0J5bCBpbXBvcnRvdsOhbiAlZCB6w6F6bmFtLicsJ0J5bHkgaW1wb3J0b3bDoW55ICVkIHrDoXpuYW15LicsJ0J5bG8gaW1wb3J0b3bDoW5vICVkIHrDoXpuYW3Fry4nKSwnTmVwb2RhxZlpbG8gc2Ugdnlwc2F0IHRhYnVsa3UnLCfFvcOhZG7DqSDFmcOhZGt5LicsJ3VwcmF2aXQnLCdWenRhaHknLCdLZSB6bcSbbsSbIHTDqXRvIGhvZG5vdHkgcG91xb5panRlIG9ka2F6IHVwcmF2aXQuJywnU3Ryw6Fua2EnLCdwb3NsZWRuw60nLGFycmF5KCclZCDFmcOhZGVrJywnJWQgxZnDoWRreScsJyVkIMWZw6Fka8WvJyksJ2NlbMO9IHbDvXNsZWRlaycsJ0tsb25vdmF0JywnRXhwb3J0JywnSW1wb3J0JywnVnlobGVkYXQgZGF0YSB2IHRhYnVsa8OhY2gnLCdUYWJ1bGthJywnxZjDoWRrxa8nLCcgJywnUG96bcSbbml0IHR5cCcpO2JyZWFrO2Nhc2Uic2siOiROPWFycmF5KCdOYW96YWo/JywnU8O6Ym9yIHNhIG5lcG9kYXJpbG8gbmFocmHFpS4nLCdNYXhpbcOhbG5hIHBvdm9sZW7DoSB2ZcS+a29zxaUgc8O6Ym9ydSBqZSAlc0IuJywnU8O6Ym9yIG5lZXhpc3R1amUuJywncHLDoXpkbmUnLCdvcmlnaW7DoWwnLCfFvWlhZG5lIHRhYnXEvmt5LicsJ0phenlrJywnVnlicmHFpScsJ1Byb3PDrW0gdnliZXJ0ZSBqZWRudSB6IGtvbmNvdmllayAlcy4nLCdTw7pib3IgZXhpc3R1amUuJywnVcW+w612YXRlxL5za8OpIHR5cHknLCfEjMOtc2xhJywnRMOhdHVtIGEgxI1hcycsJ1JlxaVhemNlJywnQmluw6FybmUnLCdTaWXFpScsJ0dlb21ldHJpYScsJ1pvem5hbXknLCdFZGl0b3InLCdQb3XFvsOtdmF0ZcS+JywnSGVzbG8nLCdQcmlobMOhc2nFpSBzYScsJ1RydmFsw6kgcHJpaGzDoXNlbmllJywnTm92w6EgcG9sb8W+a2EnLCdQb3NsZWRuw6Egc3Ryw6Fua2EnLGFycmF5KCclZCBiYWp0JywnJWQgYmFqdHknLCclZCBiYWp0b3YnKSwnJDYuJDQuJDEnLCdWeWjEvmFkYcWlJywna2Rla2/EvnZlaycsJ1pvdHJpZWRpxaUnLCdMaW1pdCcsJ0FrY2lhJywnVnlww61zYcWlJywnRS1tYWlsJywnT2Rvc2llbGF0ZcS+JywnUHJlZG1ldCcsJ1Zsb8W+acWlJywnUHLDrWxvaHknLCdPZG9zbGHFpScsYXJyYXkoJ0JvbCBvZG9zbGFuw70gJWQgZS1tYWlsLicsJ0JvbGkgb2Rvc2xhbsOpICVkIGUtbWFpbHkuJywnQm9sbyBvZG9zbGFuw71jaCAlZCBlLW1haWxvdi4nKSwndGVyYXonLCdISDpNTTpTUycsJ2QubS5bcnJycl0nLCdPZGhsw6FzacWlJywnbHRyJywnUmVzZW5kIFBPU1QgZGF0YT8nLCdTZXJ2ZXInLCdOZXBsYXRuw70gdG9rZW4gQ1NSRi4gT2RvxaFsaXRlIGZvcm11bMOhciB6bm92YS4nLCdPZGhsw6FzZW5pZSBwcmViZWhsbyB2IHBvcmlhZGt1LicsJ1Nlc3Npb24gcHJlbWVubsOpIG11c2lhIGJ5xaUgcG92b2xlbsOpLicsJ1Nlc3Npb24gdnlwcsWhYWxhLCBwcmlobMOhc3RlIHNhIHByb3PDrW0gem5vdmEuJywnTmVwbGF0bsOpIHByaWhsYXNvdmFjaWUgw7pkYWplLicsJ8W9aWFkbmUgcm96xaHDrXJlbmllJywnTmllIGplIGRvc3R1cG7DqSDFvmlhZG5lIHogcG9kcG9yb3ZhbsO9Y2ggcm96xaHDrXJlbsOtICglcykuJywnUHLDrWxpxaEgdmXEvmvDqSBQT1NUIGTDoXRhLiBabWVuxaFpdGUgZMOhdGEgYWxlYm8genbDvcWhdGUgaG9kbm90dSBrb25maWd1cmHEjWVqIGRpcmVrdMOtdnkgJXMuJywnUG9sb8W+a2EgYm9sYSB2eW1hemFuw6EuJywnUG9sb8W+a2EgYm9sYSBha3R1YWxpem92YW7DoS4nLCdQb2xvxb5rYSVzIGJvbGEgdmxvxb5lbsOhLicsJ1VwcmF2acWlJywnVWxvxb5pxaUnLCdVbG/FvmnFpSBhIHBva3JhxI1vdmHFpSB2IMO6cHJhdsOhY2gnLCdVbG/FvmnFpSBhIHZsb8W+acWlIMSPYWzFocOtJywnWm1hemHFpScsJyVkIHBvbG/FvmllayBib2xvIG92cGx5dm5lbsO9Y2guJywnRHZvamtsaWtuaXRlIG5hIHBvbMOtxI1rbywga3RvcsOpIGNoY2V0ZSB6bWVuacWlLicsYXJyYXkoJ0JvbCBpbXBvcnRvdmFuw70gJWQgesOhem5hbS4nLCdCb2xpIGltcG9ydG92YW7DqSAlZCB6w6F6bmFteS4nLCdCb2xvIGltcG9ydG92YW7DvWNoICVkIHrDoXpuYW1vdi4nKSwnVGFidcS+a3Ugc2EgbmVwb2RhcmlsbyB2eXDDrXNhxaUnLCfFvWlhZG5lIHJpYWRreS4nLCd1cHJhdmnFpScsJ1Z6xaVhaHknLCdQcmUgem1lbnUgdGVqdG8gaG9kbm90eSBwb3XFvml0ZSBvZGtheiB1cHJhdmnFpS4nLCdTdHLDoW5rYScsJ3Bvc2xlZG7DvScsYXJyYXkoJyVkIHJpYWRvaycsJyVkIHJpYWRreScsJyVkIHJpYWRrb3YnKSwnY2Vsw70gdsO9c2xlZG9rJywnS2xvbm92YcWlJywnRXhwb3J0JywnSW1wb3J0JywnVnloxL5hZGHFpSBkw6F0YSB2IHRhYnXEvmvDoWNoJywnVGFidcS+a2EnLCdSaWFka3knLCcgJywnTmVwbGF0bsOpIHNjaMOpbWEuJyk7YnJlYWs7Y2FzZSJubCI6JE49YXJyYXkoJ1dlZXQgdSBoZXQgemVrZXI/JywnT25tb2dlbGlqayBiZXN0YW5kIHRlIHVwbG9hZGVuLicsJ01heGltdW0gdG9lZ2VsYXRlbiBiZXN0YW5kc2dyb290dGUgaXMgJXNCLicsJ0Jlc3RhbmQgbmlldCBnZXZvbmRlbi4nLCdsZWVnJywnb3JpZ2luZWVsJywnR2VlbiB0YWJlbGxlbi4nLCdUYWFsJywnR2VicnVpaycsJ0dlYnJ1aWsgMSB2YW4gdm9sZ2VuZGUgZXh0ZW5zaWVzOiAlcy4nLCdCZXN0YW5kIGJlc3RhYXQgcmVlZHMuJywnR2VicnVpa2Vyc2dlZGVmaW5pw6tlcmRlIHR5cGVzJywnR2V0YWxsZW4nLCdEYXR1bSBlbiB0aWpkJywnVGVrc3QnLCdCaW5haXJlIGdlZ2V2ZW5zJywnTmV0d2VyaycsJ0dlb21ldHJpZScsJ0xpanN0ZW4nLCdFZGl0b3InLCdHZWJydWlrZXJzbmFhbScsJ1dhY2h0d29vcmQnLCdJbmxvZ2dlbicsJ0JsaWpmIGFhbmdlbWVsZCcsJ05pZXV3IGl0ZW0nLCdMYWF0c3RlIHBhZ2luYScsYXJyYXkoJyVkIGJ5dGUnLCclZCBieXRlcycpLCckNS0kMy0kMScsJ1pvZWtlbicsJ292ZXJhbCcsJ1NvcnRlcmVuJywnQmVwZXJrJywnQWN0aWVzJywnS2llcycsJ0UtbWFpbCcsJ1ZhbicsJ09uZGVyd2VycCcsJ1RvZXZvZWdlbicsJ0JpamxhZ2VuJywnVmVyemVuZGVuJyxhcnJheSgnJWQgZS1tYWlsIHZlcnpvbmRlbi4nLCclZCBlLW1haWxzIHZlcnpvbmRlbi4nKSwnbnUnLCdISDpNTTpTUycsJ2RkLW1tLVtqampqXScsJ1VpdGxvZ2dlbicsJ2x0cicsJ1Jlc2VuZCBQT1NUIGRhdGE/JywnU2VydmVyJywnT25nZWxkaWcgQ1NSRiB0b2tlbi4gVmVyc3R1dXIgaGV0IGZvcm11bGllciBvcG5pZXV3LicsJ1VpdGxvZ2dlbiBnZXNsYWFnZC4nLCdTZXNzaWVzIG1vZXRlbiBnZWFjdGl2ZWVyZCB6aWpuLicsJ1V3IHNlc3NpZSBpcyB2ZXJsb3Blbi4gR2VsaWV2ZSBvcG5pZXV3IGluIHRlIGxvZ2dlbi4nLCdPbmdlbGRpZ2UgbG9naW5nZWdldmVucy4nLCdHZWVuIGV4dGVuc2llJywnR2VlbiBnZWxkaWdlIFBIUCBleHRlbnNpZXMgYmVzY2hpa2JhYXIgKCVzKS4nLCdQT1NULWRhdGEgaXMgdGUgZ3Jvb3QuIFZlcmtsZWluIGRlIGhvZXZlZWxoZWlkIGRhdGEgb2YgdmVyaG9vZyBkZSAlcyBjb25maWd1cmF0aWUuJywnSXRlbSB2ZXJ3aWpkZXJkLicsJ0l0ZW0gYWFuZ2VwYXN0LicsJ0l0ZW0lcyB0b2VnZXZvZWdkLicsJ0Jld2VyaycsJ09wc2xhYW4nLCdPcHNsYWFuIGVuIHZlcmRlciBiZXdlcmtlbicsJ09wc2xhYW4sIGRhYXJuYSB0b2V2b2VnZW4nLCdWZXJ3aWpkZXJlbicsYXJyYXkoJyVkIGl0ZW0gYWFuZ2VwYXN0LicsJyVkIGl0ZW1zIGFhbmdlcGFzdC4nKSwnRHViYmVsa2xpayBvcCBlZW4gd2FhcmRlIG9tIGRlemUgdGUgYmV3ZXJrZW4uJyxhcnJheSgnJWQgcmlqIHdlcmQgZ2XDr21wb3J0ZWVyZC4nLCclZCByaWplbiB3ZXJkZW4gZ2XDr21wb3J0ZWVyZC4nKSwnT25tb2dlbGlqayB0YWJlbCB0ZSBzZWxlY3RlcmVuJywnR2VlbiByaWplbi4nLCdiZXdlcmsnLCdSZWxhdGllcycsJ0dlYnJ1aWsgZGUgbGluayAiYmV3ZXJrIiBvbSBkZXplIHdhYXJkZSB0ZSB3aWp6aWdlbi4nLCdQYWdpbmEnLCdsYWF0c3RlJyxhcnJheSgnJWQgcmlqJywnJWQgcmlqZW4nKSwndm9sbGVkaWcgcmVzdWx0YWF0JywnRHVwbGljZWVyJywnRXhwb3J0ZXJlbicsJ0ltcG9ydGVyZW4nLCdab2VrZW4gaW4gZGF0YWJhc2UnLCdUYWJlbCcsJ1JpamVuJywnLicsJ09uZ2VsZGlnIHNjaGVtYS4nKTticmVhaztjYXNlImVzIjokTj1hcnJheSgnRXN0w6Egc2VndXJvPycsJ05vIGVzIHBvc2libGUgaW1wb3J0YXIgYXJjaGl2by4nLCdUYW1hw7FvIG3DoXhpbW8gZGUgYXJjaGl2byBlcyAlc0IuJywnQXJjaGl2byBubyBleGlzdGUuJywnbmluZ8O6bm8nLCdvcmlnaW5hbCcsJ05vIGV4aXN0ZW4gdGFibGFzLicsJ0lkaW9tYScsJ1VzYXInLCdQb3IgZmF2b3IgdXNlIHVuYSBkZSBsYXMgZXh0ZW5zaW9uZXMgJXMuJywnQXJjaGl2byB5YSBleGlzdGUuJywnVGlwb3MgZGVmaW5pZG8gcG9yIGVsIHVzdWFyaW8nLCdOw7ptZXJvcycsJ0ZlY2hhIHkgaG9yYScsJ0NhZGVuYScsJ0JpbmFyaW8nLCdSZWQnLCdHZW9tZXRyw61hJywnTGlzdGFzJywnRWRpdG9yJywnVXN1YXJpbycsJ0NvbnRyYXNlw7FhJywnTG9naW4nLCdHdWFyZGFyIGNvbnRyYXNlw7FhJywnTnVldm8gUmVnaXN0cm8nLCdVbHRpbWEgcMOhZ2luYScsYXJyYXkoJyVkIGJ5dGUnLCclZCBieXRlcycpLCckNS8kMy8kMScsJ0NvbmRpY2nDs24nLCdkb25kZSBzZWEnLCdPcmRlbmFyJywnTGltaXQnLCdBY2Npw7NuJywnTW9zdHJhcicsJ0VtYWlsJywnRGUnLCdBc3VudG8nLCdBZ3JlZ2FyJywnQWRqdW50b3MnLCdFbnZpYXInLGFycmF5KCclZCBlbWFpbCBlbnZpYWRvLicsJyVkIGVtYWlscyBlbnZpYWRvcy4nKSwnYWhvcmEnLCdISDpNTTpTUycsJ2RkL21tL1thYWFhXScsJ0xvZ291dCcsJ2x0cicsJ1Jlc2VuZCBQT1NUIGRhdGE/JywnU2Vydmlkb3InLCdUb2tlbiBDU1JGIGludsOhbGlkby4gVnVlbHZhIGEgZW52aWFyIGxvcyBkYXRvcyBkZWwgZm9ybXVsYXJpby4nLCdTYWxpZGEgZXhpdG9zYS4nLCdEZWJlbiBlc3RhciBoYWJpbGl0YWRhcyBsYXMgc2VzaW9uZXMuJywnU2VzacOzbiBleHBpcmFkYSwgcG9yIGZhdm9yIGluZ3Jlc2Ugc3UgY2xhdmUgZGUgbnVldm8uJywnSWRlbnRpZmljYWNpb24gaW52w6FsaWRhLicsJ05vIGhheSBleHRlbnNpb24nLCdOaW5ndW5hIGRlIGxhcyBleHRlbnNpb25lcyBQSFAgc29wb3J0YWRhcyAoJXMpIGVzdMOhIGRpc3BvbmlibGUuJywnUE9TVCBkYXRhIGRlbWFzaWFkbyBncmFuZGUuIFJlZHV6Y2EgZWwgdGFtYcOxbyBvIGF1bWVudGUgbGEgZGlyZWN0aXZhIGRlIGNvbmZpZ3VyYWNpw7NuICVzLicsJ1JlZ2lzdHJvIGVsaW1pbmFkby4nLCdSZWdpc3RybyBtb2RpZmljYWRvLicsJ1JlZ2lzdHJvJXMgaW5zZXJ0YWRvLicsJ01vZGlmaWNhcicsJ0d1YXJkYXInLCdHdWFyZGFyIHkgY29udGludWFyIGVkaXRhbmRvJywnR3VhcmRhciBlIGluc2VydGFyIG90cm8nLCdFbGltaW5hcicsYXJyYXkoJyVkIMOtdGVtIGFmZWN0YWRvLicsJyVkIGl0ZW1lcyBhZmVjdGFkb3MuJyksJ0RvYmxlLWNsaWMgc29icmUgZWwgdmFsb3IgcGFyYSBlZGl0YXJsby4nLGFycmF5KCclZCByZWdpc3RybyBpbXBvcnRhZG8uJywnJWQgcmVnaXN0cm9zIGltcG9ydGFkb3MuJyksJ05vIGVzIHBvc2libGUgc2VsZWNjaW9uYXIgbGEgdGFibGEnLCdObyBleGlzdGVuIHJlZ2lzdHJvcy4nLCdtb2RpZmljYXInLCdSZWxhY2lvbmVzJywnVXRpbGljZSBlbCBlbmxhY2UgZGUgbW9kaWZpY2FyIHBhcmEgcmVhbGl6YXIgbG9zIGNhbWJpb3MuJywnUMOhZ2luYScsJ8O6bHRpbW8nLGFycmF5KCclZCByZWdpc3RybycsJyVkIHJlZ2lzdHJvcycpLCdyZXN1bHRhZG8gY29tcGxldG8nLCdDbG9uYXInLCdFeHBvcnRhcicsJ0ltcG9ydGFyJywnQnVzY2FyIGRhdG9zIGVuIHRhYmxhcycsJ1RhYmxhJywnUmVnaXN0cm9zJywnICcsJ0VzcXVlbWEgaW52w6FsaWRvLicpO2JyZWFrO2Nhc2UiZGUiOiROPWFycmF5KCdTaW5kIFNpZSBzaWNoZXIgPycsJ0hvY2hsYWRlbiB2b24gRGF0ZWkgZmVobGdlc2NobGFnZW4uJywnTWF4aW1hbCBlcmxhdWJ0ZSBEYXRlaWdyw7Zzc2UgaXN0ICVzQi4nLCdEYXRlaSBleGlzdGllcnQgbmljaHQuJywnbGVlcicsJ09yaWdpbmFsJywnS2VpbmUgVGFiZWxsZW4uJywnU3ByYWNoZScsJ0JlbnV0enVuZycsJ0JpdHRlIGVpbmVuIGRlciBEYXRlaXR5cGVuICVzIGJlbnV0emVuLicsJ0RhdGVpIGV4aXN0aWVydCBzY2hvbi4nLCdCZW51dHplci1kZWZpbmllcnRlIFR5cGVuJywnWmFobGVuJywnRGF0dW0gb2RlciBaZWl0JywnWmVpY2hlbmtldHRlbicsJ0JpbsOkcicsJ05ldHp3ZXJrJywnR2VvbWV0cmllJywnTGlzdGVuJywnRWRpdG9yJywnQmVudXR6ZXInLCdQYXNzd29ydCcsJ0xvZ2luJywnUGFzc3dvcnQgc3BlaWNoZXJuJywnTmV1ZXIgRGF0ZW5zYXR6JywnTGV0enRlIFNlaXRlJyxhcnJheSgnJWQgQnl0ZScsJyVkIEJ5dGVzJyksJyQ2LiQ0LiQxJywnU3VjaGVuJywnYmVsaWViaWcnLCdPcmRuZW4nLCdCZWdyZW56dW5nJywnQWt0aW9uJywnRGF0ZW4gemVpZ2VuIHZvbicsJ0UtbWFpbCcsJ1ZvbicsJ0JldHJlZmYnLCdIaW56dWbDvGdlbicsJ0FuaMOkbmdlJywnQWJzY2hpY2tlbicsYXJyYXkoJyVkIGUtbWFpbCBhYmdlc2NoaWNrdC4nLCclZCBlLW1haWxzIGFiZ2VzY2hpY2t0LicpLCdqZXR6dCcsJ0hIOk1NOlNTJywndC5tLltqampqXScsJ0FibWVsZGVuJywnbHRyJywnUmVzZW5kIFBPU1QgZGF0YT8nLCdTZXJ2ZXInLCdDU1JGIFRva2VuIHVuZ8O8bHRpZy4gQml0dGUgZGllIEZvcm11bGFyZGF0ZW4gZXJuZXV0IGFic2NoaWNrZW4uJywnQWJtZWxkdW5nIGVyZm9sZ3JlaWNoLicsJ1NpdHp1bmdlbiBtw7xzc2VuIGFrdGl2aWVydCBzZWluLicsJ1NpdHp1bmdzZGF1ZXIgYWJnZWxhdWZlbiwgYml0dGUgZXJuZXV0IGFubWVsZGVuLicsJ1VuZ8O8bHRpZ2UgQW5tZWxkZS1JbmZvcm1hdGlvbmVuLicsJ0tlaW5lIEVyd2VpdGVydW5nZW4gaW5zdGFsbGllcnQnLCdLZWluZSBkZXIgdW50ZXJzdMO8dHp0ZW4gUEhQLUVyd2VpdGVydW5nZW4gKCVzKSBpc3Qgdm9yaGFuZGVuLicsJ1BPU1QgZGF0YSB6dSBncm9zcy4gUmVkdXppZXJlbiBTaWUgZGllIEdyw7Zzc2Ugb2RlciB2ZXJncsO2c3Nlcm4gU2llIGRlbiBXZXJ0ICVzIGluIGRlciBLb25maWd1cmF0aW9uLicsJ0RhdGVuc2F0eiBnZWzDtnNjaHQuJywnRGF0ZW5zYXR6IGdlw6RuZGVydC4nLCdEYXRlbnNhdHolcyBoaW56dWdlZsO8Z3QuJywnw4RuZGVybicsJ1NwZWljaGVybicsJ1NwZWljaGVybiB1bmQgd2VpdGVyIGJlYXJiZWl0ZW4nLCdTcGVpY2hlcm4gdW5kIG7DpGNoc3RlbiBoaW56dWbDvGdlbicsJ0VudGZlcm5lbicsJyVkIEFydGlrZWwgYmV0cm9mZmVuLicsJ0RvcHBlbGtsaWNrIHp1bSBCZWFyYmVpdGVuIGRlcyBXZXJ0ZXMuJyxhcnJheSgnJWQgRGF0ZW5zYXR6IGltcG9ydGllcnQuJywnJWQgRGF0ZW5zw6R0emUgd3VyZGVuIGltcG9ydGllcnQuJyksJ0F1c3dhaGwgZGVyIFRhYmVsbGUgZmVobGdlc2NobGFnZW4nLCdLZWluZSBEYXRlbi4nLCfDpG5kZXJuJywnUmVsYXRpb25lbicsJ0JlbnV0emVuIFNpZSBkZW4gTGluayB6dW0gZWRpdGllcmVuIGRpZXNlcyBXZXJ0ZXMuJywnU2VpdGUnLCdsZXR6dGUnLGFycmF5KCclZCBEYXRlbnNhdHonLCclZCBEYXRlbnPDpHR6ZScpLCdHZXNhbXRlcmdlYm5pcycsJ0tsb25lbicsJ0V4cG9ydGllcmVuJywnSW1wb3J0aWVyZW4nLCdTdWNoZSBpbiBUYWJlbGxlbicsJ1RhYmVsbGUnLCdEYXRlbnPDpHR6ZScsJyAnLCdTY2hlbWEgbmljaHQgZ8O8bHRpZy4nKTticmVhaztjYXNlImZyIjokTj1hcnJheSgnw4p0ZXMtdm91cyBjZXJ0YWluID8nLCdJbXBvc3NpYmxlIGRcJ2ltcG9ydGVyIGxlIGZpY2hpZXIuJywnTGEgdGFpbGxlIG1heGltYWxlIGRlcyBmaWNoaWVycyBlc3QgZGUgJXNCLicsJ0xlIGZpY2hpZXIgZXN0IGludHJvdXZhYmxlLicsJ3ZpZGUnLCdvcmlnaW5hbCcsJ0F1Y3VuZSB0YWJsZS4nLCdMYW5ndWUnLCdVdGlsaXNlcicsJ1ZldWlsbGV6IHV0aWxpc2VyIGxcJ3VuZSBkZXMgZXh0ZW5zaW9ucyAlcy4nLCdMZSBmaWNoaWVyIGV4aXN0ZS4nLCdUeXBlcyB1dGlsaXNhdGV1cicsJ05vbWJyZXMnLCdEYXRlIGV0IGhldXJlJywnQ2hhw65uZXMnLCdCaW5haXJlcycsJ1LDqXNlYXUnLCdHw6lvbcOpdHJpZScsJ0xpc3RlcycsJ0VkaXRldXInLCdVdGlsaXNhdGV1cicsJ01vdCBkZSBwYXNzZScsJ0F1dGhlbnRpZmljYXRpb24nLCdBdXRoZW50aWZpY2F0aW9uIHBlcm1hbmVudGUnLCdOb3V2ZWwgw6lsw6ltZW50JywnRGVybmnDqHJlIHBhZ2UnLGFycmF5KCclZCBvY3RldCcsJyVkIG9jdGV0cycpLCckNS8kMy8kMScsJ1JlY2hlcmNoZXInLCduXCdpbXBvcnRlIG/DuScsJ1RyaWVyJywnTGltaXRlJywnQWN0aW9uJywnU2VsZWN0JywnQ291cnJpZWwnLCdEZScsJ1N1amV0JywnSW5zw6lyZXInLCdQacOoY2VzIGpvaW50ZXMnLCdFbnZveWVyJyxhcnJheSgnJWQgbWVzc2FnZSBhIMOpdMOpIGVudm95w6kuJywnJWQgbWVzc2FnZXMgb250IMOpdMOpIGVudm95w6lzLicpLCdtYWludGVuYW50JywnSEg6TU06U1MnLCdqai9tbS9bYWFhYV0nLCdEw6ljb25uZXhpb24nLCdsdHInLCdSZXNlbmQgUE9TVCBkYXRhPycsJ1NlcnZldXInLCdUb2tlbiBDU1JGIGludmFsaWRlLiBWZXVpbGxleiByw6llbnZveWVyIGxlIGZvcm11bGFpcmUuJywnQXUgcmV2b2lyICEnLCdWZXVpbGxleiBhY3RpdmVyIGxlcyBzZXNzaW9ucy4nLCdTZXNzaW9uIGV4cGlyw6llLCB2ZXVpbGxleiB2b3VzIGF1dGhlbnRpZmllciDDoCBub3V2ZWF1LicsJ0F1dGhlbnRpZmljYXRpb24gw6ljaG91w6llLicsJ0V4dGVuc2lvbiBpbnRyb3V2YWJsZScsJ0F1Y3VuZSBkZXMgZXh0ZW5zaW9ucyBQSFAgc3VwcG9ydMOpZXMgKCVzKSBuXCdlc3QgZGlzcG9uaWJsZS4nLCdEb25uw6llcyBQT1NUIHRyb3AgZ3JhbmRlcy4gUsOpZHVpc2V6IGxhIHRhaWxsZSBkZXMgZG9ubsOpZXMgb3UgYXVnbWVudGV6IGxhIHZhbGV1ciBkZSAlcyBkYW5zIGxhIGNvbmZpZ3VyYXRpb24gZGUgUEhQLicsJ0xcJ8OpbMOpbWVudCBhIMOpdMOpIHN1cHByaW3DqS4nLCdMXCfDqWzDqW1lbnQgYSDDqXTDqSBtb2RpZmnDqS4nLCdMXCfDqWzDqW1lbnQlcyBhIMOpdMOpIGluc8OpcsOpLicsJ01vZGlmaWVyJywnU2F1dmVnYXJkZXInLCdTYXV2ZWdhcmRlciBldCBjb250aW51ZXIgbFwnw6lkaXRpb24nLCdTYXV2ZWdhcmRlciBldCBpbnPDqXJlciBsZSBwcm9jaGFpbicsJ0VmZmFjZXInLGFycmF5KCclZCDDqWzDqW1lbnQgYSDDqXTDqSBtb2RpZmnDqS4nLCclZCDDqWzDqW1lbnRzIG9udCDDqXTDqSBtb2RpZmnDqXMuJyksJ0RvdWJsZS1jbGlxdWV6IHN1ciB1bmUgdmFsZXVyIHBvdXIgbGEgbW9kaWZpZXIuJyxhcnJheSgnJWQgbGlnbmUgYSDDqXTDqSBpbXBvcnTDqWUuJywnJWQgbGlnbmVzIG9udCDDqXTDqSBpbXBvcnTDqWVzLicpLCdJbXBvc3NpYmxlIGRlIHPDqWxlY3Rpb25uZXIgbGEgdGFibGUnLCdBdWN1biByw6lzdWx0YXQuJywnbW9kaWZpZXInLCdSZWxhdGlvbnMnLCdVdGlsaXNleiBsZSBsaWVuICJtb2RpZmllciIgcG91ciBtb2RpZmllciBjZXR0ZSB2YWxldXIuJywnUGFnZScsJ2Rlcm5pw6hyZScsYXJyYXkoJyVkIGxpZ25lJywnJWQgbGlnbmVzJyksJ3LDqXN1bHRhdCBlbnRpZXInLCdDbG9uZXInLCdFeHBvcnRlcicsJ0ltcG9ydGVyJywnUmVjaGVyY2hlciBkYW5zIGxlcyB0YWJsZXMnLCdUYWJsZScsJ0xpZ25lcycsJywnLCdTY2jDqW1hIGludmFsaWRlLicpO2JyZWFrO2Nhc2UiaXQiOiROPWFycmF5KCdTaWN1cm8/JywnQ2FyaWNhbWVudG8gZGVsIGZpbGUgbm9uIHJpdXNjaXRvLicsJ0xhIGRpbWVuc2lvbmUgbWFzc2ltYSBkZWwgZmlsZSDDqCAlc0IuJywnSWwgZmlsZSBub24gZXNpc3RlLicsJ3Z1b3RvJywnb3JpZ2luYWxlJywnTm8gdGFiZWxsZS4nLCdMaW5ndWEnLCdVc2EnLCdVc2EgdW5hIGRlbGxlIGVzdGVuc2lvbmkgJXMuJywnSWwgZmlsZSBlc2lzdGUgZ2nDoC4nLCdUaXBpIGRlZmluaXRpIGRhbGxcJ3V0ZW50ZScsJ051bWVyaScsJ0RhdGEgZSBvcmEnLCdTdHJpbmdoZScsJ0JpbmFyaScsJ1JldGUnLCdHZW9tZXRyaWEnLCdMaXN0ZScsJ0VkaXRvcicsJ1V0ZW50ZScsJ1Bhc3N3b3JkJywnQXV0ZW50aWNhemlvbmUnLCdMb2dpbiBwZXJtYW5lbnRlJywnTnVvdm8gZWxlbWVudG8nLCdVbHRpbWEgcGFnaW5hJyxhcnJheSgnJWQgYnl0ZScsJyVkIGJ5dGVzJyksJyQ1LyQzLyQxJywnQ2VyY2EnLCdvdnVucXVlJywnT3JkaW5hJywnTGltaXRlJywnQXppb25lJywnU2VsZXppb25hJywnRS1tYWlsJywnRGEnLCdPZ2dldHRvJywnSW5zZXJpc2NpJywnQWxsZWdhdGknLCdJbnZpYScsYXJyYXkoJyVkIGUtbWFpbCBpbnZpYXRhLicsJyVkIGUtbWFpbCBpbnZpYXRlLicpLCdhZGVzc28nLCdISDpNTTpTUycsJ2RkL21tL1t5eXl5XScsJ0VzY2knLCdsdHInLCdSZXNlbmQgUE9TVCBkYXRhPycsJ1NlcnZlcicsJ1Rva2VuIENTUkYgbm9uIHZhbGlkby4gUmVpbnZpYSBsYSByaWNoaWVzdGEuJywnVXNjaXRhIGVmZmV0dHVhdGEgY29uIHN1Y2Nlc3NvLicsJ0xlIHNlc3Npb25pIGRldm9ubyBlc3NlcmUgYWJpbGl0YXRlLicsJ1Nlc3Npb25lIHNjYWR1dGEsIGF1dGVudGljYXJzaSBkaSBudW92by4nLCdDcmVkZW56aWFsaSBub24gdmFsaWRlLicsJ0VzdGVuc2lvbmkgbm9uIHByZXNlbnRpJywnTmVzc3VuYSBkZWxsZSBlc3RlbnNpb25pIFBIUCBzdXBwb3J0YXRlICglcykgZGlzcG9uaWJpbGUuJywnVHJvcHBpIGRhdGkgdmlhIFBPU1QuIFJpZHVycmUgaSBkYXRpIG8gYXVtZW50YXJlIGxhIGRpcmV0dGl2YSBkaSBjb25maWd1cmF6aW9uZSAlcy4nLCdFbGVtZW50byBlbGltaW5hdG8uJywnRWxlbWVudG8gYWdnaW9ybmF0by4nLCdFbGVtZW50byVzIGluc2VyaXRvLicsJ01vZGlmaWNhJywnU2FsdmEnLCdTYWx2YSBlIGNvbnRpbnVhJywnU2FsdmEgZSBpbnNlcmlzY2kgdW4gYWx0cm8nLCdFbGltaW5hJyxhcnJheSgnSWwgcmlzdWx0YXRvIGNvbnNpc3RlIGluICVkIGVsZW1lbnRvLicsJ0lsIHJpc3VsdGF0byBjb25zaXN0ZSBpbiAlZCBlbGVtZW50aS4nKSwnRmFpIGRvcHBpbyBjbGljayBzdSB1biB2YWxvcmUgcGVyIG1vZGlmaWNhcmxvLicsYXJyYXkoJyVkIHJpZ2EgaW1wb3J0YXRhLicsJyVkIHJpZ2hlIGltcG9ydGF0ZS4nKSwnU2VsZXppb25lIGRlbGxhIHRhYmVsbGEgbm9uIHJpdXNjaXRhJywnTmVzc3VuYSByaWdhLicsJ21vZGlmaWNhJywnUmVsYXppb25pJywnVXNhIGlsIGxpbmsgbW9kaWZpY2EgcGVyIG1vZGlmaWNhcmUgcXVlc3RvIHZhbG9yZS4nLCdQYWdpbmEnLCd1bHRpbWEnLGFycmF5KCclZCByaWdhJywnJWQgcmlnaGUnKSwnaW50ZXJvIHJpc3VsdGF0bycsJ0Nsb25hJywnRXNwb3J0YScsJ0ltcG9ydGEnLCdDZXJjYSBuZWxsZSB0YWJlbGxlJywnVGFiZWxsYScsJ1JpZ2hlJywnLicsJ1NjaGVtYSBub24gdmFsaWRvLicpO2JyZWFrO2Nhc2UiZXQiOiROPWFycmF5KCdLYXMgb2xlZCBraW5kZWw/JywnRmFpbGkgw7xsZXNsYWFkaW1pbmUgcG9sZSB2w7VpbWFsaWsuJywnTWFrc2ltYWFsbmUgZmFpbGlzdXVydXMgJXNCLicsJ0ZhaWxpIGVpIGxlaXR1ZC4nLCd0w7xoaScsJ29yaWdpbmFhbCcsJ1RhYmVsZWlkIGVpIGxlaXR1ZC4nLCdLZWVsJywnS2FzdXRhJywnUGFsdW4ga2FzdXRhIMO8aHQgbGFpZW5kdXN0ZXN0ICVzLicsJ0ZhaWwganViYSBla3Npc3RlZXJpYi4nLCdLYXN1dGFqYXTDvMO8YmlkJywnTnVtYnJpbGlzZWQnLCdLdXVww6RldiBqYSBrZWxsYWFlZycsJ1Rla3N0aWQnLCdCaW5hYXInLCdWw7VyayAobmV0d29yayknLCdHZW9tZWV0cmlhJywnTGlzdGlkJywnUmVkYWt0b3InLCdLYXN1dGFqYW5pbWknLCdQYXJvb2wnLCdMb2dpIHNpc3NlJywnSsOkdGEgbWluZCBtZWVsZGUnLCdMaXNhIGtpcmplJywnVmlpbWFuZSBsZWhla8O8bGcnLGFycmF5KCclZCBiYWl0JywnJWQgYmFpdGknKSwnJDYuJDQuJDEnLCdPdHNpJywndmFoZXQgcG9sZScsJ1NvcnRlZXJpJywnUGlpcmEnLCdUZWdldnVzJywnS3V2YScsJ0UtcG9zdCcsJ0tlbGxlbHQnLCdQZWFsa2lyaScsJ1Npc2VzdGEnLCdNYW51c2VkJywnU2FhZGEnLCdTYWFkZXR1ZCBraXJqdTogJWQuJywnbsO8w7xkJywnSEg6TU06U1MnLCdkLm0uW3l5eXldJywnTG9naSB2w6RsamEnLCdsdHInLCdSZXNlbmQgUE9TVCBkYXRhPycsJ1NlcnZlcicsJ1NvYmltYXR1IENTUkYsIHBhbHVuIHBvc3RpdGFnZSB2b3JtIHV1ZXN0aS4nLCdWw6RsamFsb2dpbWluZSDDtW5uZXN0dXMuJywnU2Vzc2lvb25pZCBwZWF2YWQgb2xlbWEgbHViYXR1ZC4nLCdTZXNzaW9vbiBvbiBhZWd1bnVkLCBwYWx1biBsb2dpZ2UgdXVlc3RpIHNpc3NlLicsJ0ViYWtvcnJla3RzZWQgYW5kbWVkLicsJ0VpIGxlaXR1ZCBsYWllbmR1c3QnLCdTZXJ2ZXJpcyBwb2xlIMO8aHRlZ2kgdG9ldGF0dWQgUEhQIGxhaWVuZHVzdGVzdCAoJXMpLicsJ1BPU1QtYW5kbWV0ZSBtYWh0IG9uIGxpaWFsdCBzdXVyLiBQYWx1biB2w6RoZW5kYWdlIGFuZG1laWQgdsO1aSBzdXVyZW5kYWdlICVzIHBocC1zZWFkZXQuJywnS3VzdHV0YW1pbmUgw7VubmVzdHVzLicsJ1V1ZW5kYW1pbmUgw7VubmVzdHVzLicsJ0tpcmplJXMgb24gZWR1a2FsdCBsaXNhdHVkLicsJ011dWRhJywnU2FsdmVzdGEnLCdTYWx2ZXN0YSBqYSBqw6R0a2EgbXV1dG1pc3QnLCdTYWx2ZXN0YSBqYSBsaXNhIGrDpHJnbWluZScsJ0t1c3R1dGEnLCdNw7VqdXRhdHVkIGtpcmplaWQ6ICVkLicsJ1bDpMOkcnR1c2UgbXV1dG1pc2VrcyB0b3BlbHQta2xpa2kgc2VsbGVsLicsJ0ltcG9yZGl0aSAlZCByaWRhLicsJ1RhYmVsaSB2YWxpbWluZSBlYmHDtW5uZXN0dXMnLCdTaXNzZWthbmRlZCBwdXVkdXZhZC4nLCdtdXVkYScsJ1Nlb3NlZCcsJ1bDpMOkcnR1c2UgbXV1dG1pc2VrcyBrYXN1dGEgbXV1dG1pc2xpbmtpLicsJ0xlaGVrw7xsZycsJ3ZpaW1hbmUnLCclZCByaWRhJywnVMOkaWVsaWt1ZCB0dWxlbXVzZWQnLCdLbG9vbicsJ0Vrc3BvcmRpJywnSW1wb3JkaScsJ090c2kga29ndSBhbmRtZWJhYXNpc3QnLCdUYWJlbCcsJ1JpZHUnLCcsJywnU29iaW1hdHUgc2tlZW1hLicpO2JyZWFrO2Nhc2UiaHUiOiROPWFycmF5KCdCaXp0b3MgYmVubmU/JywnTmVtIHR1ZG9tIGZlbHTDtmx0ZW5pIGEgZsOhamx0LicsJ0EgbWF4aW3DoWxpcyBmw6FqbG3DqXJldCAlcyBCLicsJ0EgZsOhamwgbmVtIGzDqXRlemlrLicsJ8O8cmVzJywnZXJlZGV0aScsJ05pbmNzIHTDoWJsYS4nLCdOeWVsdicsJ0hhc3puw6FsJywnSGFzem7DoWxqYSBhKHopICVzIGtpdGVyamVzenTDqXN0LicsJ0EgZsOhamwgbMOpdGV6aWsuJywnRmVsaGFzem7DoWzDs2kgdMOtcHVzJywnU3rDoW0nLCdEw6F0dW0gw6lzIGlkxZEnLCdTesO2dmVnJywnQmluw6FyaXMnLCdIw6Fsw7N6YXQnLCdHZW9tZXRyaWEnLCdMaXN0YScsJ1N6ZXJrZXN6dMWRJywnRmVsaGFzem7DoWzDsycsJ0plbHN6w7MnLCdCZWzDqXDDqXMnLCdFbWzDqWtlenogcsOhbScsJ8OaaiB0w6l0ZWwnLCdVdG9sc8OzIG9sZGFsJyxhcnJheSgnJWQgYsOhanQnLCclZCBiw6FqdCcsJyVkIGLDoWp0JyksJyQ2LiQ0LiQxJywnS2VyZXPDqXMnLCdiw6FyaG9sJywnU29yYmEgcmVuZGV6w6lzJywna29ybMOhdCcsJ03FsXZlbGV0JywnS2l2w6FsYXN6dCcsJ0UtbWFpbCcsJ0ZlbGFkw7MnLCdUw6FyZ3knLCdCZXN6w7pyJywnQ3NhdG9sbcOhbnknLCdLw7xsZMOpcycsYXJyYXkoJyVkIGUtbWFpbCBlbGvDvGxkdmUuJywnJWQgZS1tYWlsIGVsa8O8bGR2ZS4nLCclZCBlLW1haWwgZWxrw7xsZHZlLicpLCdtb3N0JywnSEg6TU06U1MnLCdbeXl5eV0ubS5kJywnS2lsw6lww6lzJywnbHRyJywnUmVzZW5kIFBPU1QgZGF0YT8nLCdTemVydmVyJywnw4lydsOpbnl0ZWxlbiBDU1JGIGF6b25vc8OtdMOzLiBLw7xsZGQgw7pqcmEgYXogxbFybGFwb3QuJywnU2lrZXJlcyBraWzDqXDDqXMuJywnQSBtdW5rYW1lbmV0ZWtuZWsgKHNlc3Npb24pIGVuZ2Vkw6lseWV6dmUga2VsbCBsZW5uaWUuJywnTXVua2FtZW5ldCBsZWrDoXJ0LCBqZWxlbnRrZXp6IGJlIMO6anJhLicsJ8OJcnbDqW55dGVsZW4gYWRhdG9rLicsJ05pbmNzIGtpdGVyamVzenTDqXMnLCdOaW5jcyBlZ3kgZWzDqXJoZXTFkSB0w6Ftb2dhdG90dCBQSFAga2l0ZXJqZXN6dMOpcyAoJXMpIHNlbS4nLCdUw7psIHNvayBhIFBPU1QgYWRhdCEgQ3PDtmtrZW50c2QgYXogYWRhdCBtw6lyZXTDqXQsIHZhZ3kgbsO2dmVsZCBhICVzIGJlw6FsbMOtdMOhc3QuJywnQSB0w6l0ZWwgdMO2csO2bHZlLicsJ0EgdMOpdGVsIGZyaXNzw610dmUuJywnJXMgdMOpdGVsIGJlc3rDunJ2YS4nLCdTemVya2VzenQnLCdNZW50w6lzJywnTWVudMOpcyDDqXMgc3plcmtlc3p0w6lzIGZvbHl0YXTDoXNhJywnTWVudMOpcyDDqXMgw7pqYXQgYmVzesO6cicsJ1TDtnJsw6lzJyxhcnJheSgnJWQgdMOpdGVsIMOpcmludGV0dC4nLCclZCB0w6l0ZWwgw6lyaW50ZXR0LicsJyVkIHTDqXRlbCDDqXJpbnRldHQuJyksJ0thdHRpbnRzIGvDqXRzemVyIGF6IMOpcnTDqWtyZSBhIHN6ZXJrZXN6dMOpc2hlei4nLGFycmF5KCclZCBzb3IgaW1wb3J0w6FsdmEuJywnJWQgc29yIGltcG9ydMOhbHZhLicsJyVkIHNvciBpbXBvcnTDoWx2YS4nKSwnTmVtIHR1ZG9tIGtpdsOhbGFzenRhbmkgYSB0w6FibMOhdCcsJ05pbmNzIG1lZ2plbGVuw610aGV0xZEgZXJlZG3DqW55LicsJ3N6ZXJrZXN6dCcsJ1JlbMOhY2nDsycsJ0hhc3puw6FsZCBhIHN6ZXJrZXN6dMOpcyBoaXZhdGtvesOhc3QgZXplbiDDqXJ0w6lrIG3Ds2Rvc8OtdMOhc8OhaG96LicsJ29sZGFsJywndXRvbGrDoXJhJyxhcnJheSgnJWQgc29yJywnJWQgc29yJywnJWQgc29yJyksJ8O2c3N6ZXMgZXJlZG3DqW55dCBtdXRhdMOhc2EnLCdLbMOzbm96JywnRXhwb3J0JywnSW1wb3J0w6Fsw6FzJywnS2VyZXPDqXMgYSB0w6FibMOha2JhbicsJ1TDoWJsYScsJ09zemxvcCcsJyAnLCfDiXJ2w6lueXRlbGVuIHPDqW1hLicpO2JyZWFrO2Nhc2UicGwiOiROPWFycmF5KCdDenkgamVzdGXFmyBwZXdpZW4/JywnV2dyYW5pZSBwbGlrdSBiecWCbyBuaWVtb8W8bGl3ZS4nLCdNYWtzeW1hbG5hIHdpZWxrb8WbxIcgcGxpa3UgdG8gJXNCLicsJ1BsaWsgbmllIGlzdG5pZWplLicsJ3B1c3RlJywnYmV6IHptaWFuJywnQnJhayB0YWJlbC4nLCdKxJl6eWsnLCdXeWJpZXJ6JywnUHJvc3rEmSB1xbx5xIcgamVkbmVnbyB6IHJvenN6ZXJ6ZcWEOiAlcy4nLCdQbGlrIGp1xbwgaXN0bmllamUuJywnVHlweSB1xbx5dGtvd25pa2EnLCdOdW1lcnljem5lJywnRGF0YSBpIGN6YXMnLCdUZWtzdG93ZScsJ0JpbmFybmUnLCdTaWXEhycsJ0dlb21ldHJpYScsJ0xpc3R5JywnRWR5dG9yJywnVcW8eXRrb3duaWsnLCdIYXPFgm8nLCdaYWxvZ3VqIHNpxJknLCdaYXBhbWnEmXRhaiBzZXNqxJknLCdOb3d5IHJla29yZCcsJ09zdGF0bmlhIHN0cm9uYScsYXJyYXkoJyVkIGJhanQnLCclZCBiYWp0eScsJyVkIGJhanTDs3cnKSwnJDYuJDQuJDEnLCdTenVrYWonLCdnZHppZWtvbHdpZWsnLCdTb3J0dWonLCdMaW1pdCcsJ0N6eW5ub8WbxIcnLCdwb2thxbwnLCdFLW1haWwnLCdOYWRhd2NhJywnVGVtYXQnLCdEb2RhaicsJ1phxYLEhWN6bmlraScsJ1d5xZtsaWonLGFycmF5KCdXeXPFgmFubyAlZCBlLW1haWwuJywnV3lzxYJhbm8gJWQgZS1tYWlsZS4nLCdXeXPFgmFubyAlZCBlLW1haWxpLicpLCd0ZXJheicsJ0hIOk1NOlNTJywnZC5tLltycnJyXScsJ1d5bG9ndWonLCdsdHInLCdSZXNlbmQgUE9TVCBkYXRhPycsJ1NlcndlcicsJ05pZXByYXdpZMWCb3d5IHRva2VuIENTUkYuIFNwcsOzYnVqIHd5c8WCYcSHIGZvcm11bGFyeiBwb25vd25pZS4nLCdXeWxvZ293YW5vIHBvbXnFm2xuaWUuJywnV3ltYWdhbmEgamVzdCBvYnPFgnVnYSBzZXNqaSB3IFBIUC4nLCdTZXNqYSB3eWdhc8WCYSwgemFsb2d1aiBzacSZIHBvbm93bmllLicsJ05pZXByYXdpZMWCb3dlIGRhbmUgbG9nb3dhbmlhLicsJ0JyYWsgcm96c3plcnplbmlhJywnxbthZG5lIHogcm96c3plcnplxYQgUEhQIHVtb8W8bGl3aWFqxIVjeWNoIHBvxYLEhWN6ZW5pZSBzacSZIHogYmF6xIUgZGFueWNoICglcykgbmllIGplc3QgZG9zdMSZcG5lLicsJ1ByemVzxYJhbm8gemJ5dCBkdcW8byBkYW55Y2guIFptbmllanN6IG9iasSZdG/Fm8SHIGRhbnljaCBsdWIgendpxJlrc3ogem1pZW5uxIUga29uZmlndXJhY3lqbsSFICVzLicsJ1Jla29yZCB6b3N0YcWCIHVzdW5pxJl0eS4nLCdSZWtvcmQgem9zdGHFgiB6YWt0dWFsaXpvd2FueS4nLCdSZWtvcmQlcyB6b3N0YcWCIGRvZGFueS4nLCdFZHl0dWonLCdaYXBpc3ogem1pYW55JywnWmFwaXN6IGkga29udHludXVqIGVkeWNqxJknLCdaYXBpc3ogaSBkb2RhaiBuYXN0xJlwbnknLCdVc3XFhCcsYXJyYXkoJ1ptaWVuaW9ubyAlZCByZWtvcmQuJywnWm1pZW5pb25vICVkIHJla29yZHkuJywnWm1pZW5pb25vICVkIHJla29yZMOzdy4nKSwnS2xpa25paiBwb2R3w7NqbmllIHdhcnRvxZvEhywgYWJ5IGrEhSBlZHl0b3dhxIcuJyxhcnJheSgnJWQgcmVrb3JkIHpvc3RhxYIgemFpbXBvcnRvd2FueS4nLCclZCByZWtvcmR5IHpvc3RhxYJ5IHphaW1wb3J0b3dhbmUuJywnJWQgcmVrb3Jkw7N3IHpvc3RhxYJvIHphaW1wb3J0b3dhbnljaC4nKSwnTmllIHVkYcWCbyBzacSZIHBvYnJhxIcgZGFueWNoIHogdGFiZWxpJywnQnJhayByZWtvcmTDs3cuJywnZWR5dHVqJywnUmVsYWNqZScsJ1XFvHlqIGxpbmt1IGVkeWNqaSBhYnkgem1pZW5pxIcgdMSZIHdhcnRvxZvEhy4nLCdTdHJvbmEnLCdvc3RhdG5pJyxhcnJheSgnJWQgcmVrb3JkJywnJWQgcmVrb3JkeScsJyVkIHJla29yZMOzdycpLCd3eWJpZXJ6IHdzenlzdGtpZScsJ0R1cGxpa3VqJywnRWtzcG9ydCcsJ0ltcG9ydCcsJ1d5c3p1a2FqIHdlIHdzenlzdGtpY2ggdGFiZWxhY2gnLCdUYWJlbGEnLCdMaWN6YmEgcmVrb3Jkw7N3JywnICcsJ1ptaWXFhCB0eXAnKTticmVhaztjYXNlImNhIjokTj1hcnJheSgnRXN0w6BzIHNlZ3VyPycsJ0ltcG9zc2libGUgYWRqdW50YXIgZWwgZml0eGVyLicsJ0xhIG1pZGEgbcOgeGltYSBwZXJtZXNhIGRlbCBmaXR4ZXIgw6lzIGRlICVzQi4nLCdFbCBmaXR4ZXIgbm8gZXhpc3RlaXguJywnYnVpdCcsJ29yaWdpbmFsJywnTm8gaGkgaGEgY2FwIHRhdWxhLicsJ0lkaW9tYScsJ1V0aWxpdHphJywnU2kgdXMgcGxhdSwgdXRpbGl0emEgdW5hIGRlIGxlcyBleHRlbnNpb25zICVzLicsJ0VsIGZpdHhlciBqYSBleGlzdGVpeC4nLCdUaXB1cyBkZSBsXCd1c3VhcmknLCdOb21icmVzJywnRGF0YSBpIGhvcmEnLCdDYWRlbmVzJywnQmluYXJpJywnWGFyeGEnLCdHZW9tZXRyaWEnLCdMbGlzdGVzJywnRWRpdG9yJywnTm9tIGRcJ3VzdWFyaScsJ0NvbnRyYXNlbnlhJywnSW5pY2lhIGxhIHNlc3Npw7MnLCdTZXNzacOzIHBlcm1hbmVudCcsJ05vdSBlbGVtZW50JywnRGFycmVyYSBwbGFuYScsYXJyYXkoJyVkIGJ5dGUnLCclZCBieXRlcycpLCckNS8kMy8kMScsJ0NlcmNhJywnYSBxdWFsc2V2b2wgbGxvYycsJ09yZGVuYScsJ0zDrW1pdCcsJ0FjY2nDsycsJ1NlbGVjY2lvbmEnLCdDb3JyZXUgZWxlY3Ryw7JuaWMnLCdEZScsJ0Fzc3VtcHRlJywnSW5zZXJlaXgnLCdBZGp1bmNpb25zJywnRW52aWEnLGFycmF5KCdTXCdoYSBlbnZpYXQgJWQgY29ycmV1IGVsZWN0csOybmljLicsJ1NcJ2hhbiBlbnZpYXQgJWQgY29ycmV1cyBlbGVjdHLDsm5pY3MuJyksJ2FyYScsJ0hIOk1NOlNTJywnZGQvbW0vW2FhYWFdJywnRGVzY29ubmVjdGEnLCdsdHInLCdSZXNlbmQgUE9TVCBkYXRhPycsJ1NlcnZpZG9yJywnVG9rZW4gQ1NSRiBpbnbDoGxpZC4gVG9ybmEgYSBlbnZpYXIgZWwgZm9ybXVsYXJpLicsJ0Rlc2Nvbm5leGnDsyBjb3JyZWN0YS4nLCdDYWwgcXVlIGVzdGlndWkgcGVybcOocyBsXCd1cyBkZSBzZXNzaW9ucy4nLCdMYSBzZXNzacOzIGhhIGV4cGlyYXQsIHRvcm5hIGEgaW5pY2lhci1uZSB1bmEuJywnQ3JlZGVuY2lhbHMgaW52w6BsaWRzLicsJ0NhcCBleHRlbnNpw7MnLCdObyBoaSBoYSBjYXAgZGUgbGVzIGV4dGVuc2lvbnMgUEhQIHNvcG9yYXRhZGVzICglcykgZGlzcG9uaWJsZS4nLCdMZXMgZGFkZXMgUE9TVCBzw7NuIG1hc3NhIGdyYW5zLiBSZWR1ZWl4IGxlcyBkYWRlcyBvIGluY3JlbWVudGEgbGEgZGlyZWN0aXZhIGRlIGNvbmZpZ3VyYWNpw7MgJXMuJywnU1wnaGEgc3Vwcm1pdCBsXCdlbGVtZW50LicsJ1NcJ2hhIGFjdHVhbGl0emF0IGxcJ2VsZW1lbnQuJywnU1wnaGEgaW5zZXJ0YXQgbFwnZWxlbWVudCVzLicsJ0VkaXRhJywnRGVzYScsJ0Rlc2EgaSBzZWd1ZWl4IGVkaXRhbnQnLCdEZXNhIGkgaW5zZXJlaXggZWwgc2Vnw7xlbnQnLCdTdXByaW1laXgnLGFycmF5KCdTXCdoYSBtb2RpZmljYXQgJWQgZWxlbWVudC4nLCdTXCdoYW4gbW9kaWZpY2F0ICVkIGVsZW1lbnRzLicpLCdGZXMgdW4gZG9ibGUgY2xpYyBhIHVuIHZhbG9yIHBlciBtb2RpZmljYXItbG8uJyxhcnJheSgnU1wnaGEgaW1wb3J0YXQgJWQgZmlsYS4nLCdTXCdoYW4gaW1wb3J0YXQgJWQgZmlsZXMuJyksJ0ltcG9zc2libGUgc2VsZWNjaW9uYXIgbGEgdGF1bGEnLCdObyBoaSBoYSBjYXAgZmlsYS4nLCdlZGl0YScsJ1JlbGFjaW9ucycsJ1V0aWxpdHphIGxcJ2VubGxhw6cgZFwnZWRpY2nDsyBwZXIgbW9kaWZpY2FyIGFxdWVzdCB2YWxvci4nLCdQbGFuYScsJ2RhcnJlcmEnLGFycmF5KCclZCBmaWxhJywnJWQgZmlsZXMnKSwndG90cyBlbHMgcmVzdWx0YXRzJywnQ2xvbmEnLCdFeHBvcnRhJywnSW1wb3J0YScsJ0NlcmNhIGRhZGVzIGVuIGxlcyB0YXVsZXMnLCdUYXVsYScsJ0ZpbGVzJywnLCcsJ0VzcXVlbWEgaW52w6BsaWQuJyk7YnJlYWs7Y2FzZSJwdCI6JE49YXJyYXkoJ0VzdMOhIHNlZ3Vybz8nLCdOw6NvIMOpIHBvc3NpdmVsIGVudmlhciBvIGFycXVpdm8uJywnVGFtYW5obyBtw6F4aW1vIGRvIGFycXVpdm8gw6kgJXNCLicsJ0FycXVpdm8gbsOjbyBleGlzdGUuJywndmF6aW8nLCdvcmlnaW5hbCcsJ07Do28gZXhpc3RlbSB0YWJlbGFzLicsJ0lkaW9tYScsJ1VzYXInLCdQb3IgZmF2b3IgdXNlIHVtYSBkYXMgZXh0ZW5zw7VlcyAlcy4nLCdBcnF1aXZvIGphIGV4aXN0ZS4nLCdUaXBvcyBkZWZpbmlkbyBwZWxvIHVzdWFyaW8nLCdOw7ptZXJvcycsJ0RhdGEgZSBob3JhJywnQ2FkZW5hJywnQmluYXJpbycsJ1JlZGUnLCdHZW9tZXRyw61hJywnTGlzdGFzJywnRWRpdG9yJywnVXN1YXJpbycsJ1NlbmhhJywnRW50cmFyJywnU2FsdmFyIFNlbmhhJywnTm92byBSZWdpc3RybycsJ1VsdGltYSBww6FnaW5hJyxhcnJheSgnJWQgYnl0ZScsJyVkIGJ5dGVzJyksJyQ1LyQzLyQxJywnUHJvY3VyYXInLCdxdWFscXVlciBsb2NhbCcsJ09yZGVuYXInLCdMaW1pdGUnLCdBw6fDo28nLCdTZWxlY2lvbmFyJywnRS1tYWlsJywnRGUnLCdBc3N1bnRvJywnSW5zZXJpcicsJ0FuZXhvcycsJ0VudmlhcicsYXJyYXkoJyVkIGVtYWlsIGVudmlhZG8uJywnJWQgZW1haWxzIGVudmlhZG9zLicpLCdhZ29yYScsJ0hIOk1NOlNTJywnZGQvbW0vW2FhYWFdJywnU2FpcicsJ2x0cicsJ1Jlc2VuZCBQT1NUIGRhdGE/JywnU2Vydmlkb3InLCdUb2tlbiBDU1JGIGludsOhbGlkby4gRW52aWFyIG8gZm9ybXVsYXJpbyBub3ZhbWVudGUuJywnU2FpZGEgYmVtIHN1Y2VkaWRhLicsJ0RldmVtIGVzdGFyIGhhYmlsaXRhZGFzIGFzIHNlc3PDtWVzLicsJ1Nlc3PDo28gZXhwaXJhZGEsIHBvciBmYXZvciBlbnRyZSBzdWEgQ2hhdmUgZGUgbm92by4nLCdJZGVudGlmaWNhw6fDo28gaW52w6FsaWRhLicsJ07Do28gaGEgZXh0ZW5zaW9uJywnTmVuaHVtYSBkYXMgZXh0ZW5zw7VlcyBQSFAgc29wb3J0YWRhcyAoJXMpIGVzdMOhIGRpc3Bvbml2ZWwuJywnUE9TVCBkYXRhIGRlbWFzaWFkbyBncmFuZGUuIFJlZHV6YSBvIHRhbWFuaG8gb3UgYXVtZW50ZSBhIGRpcmV0aXZhIGRlIGNvbmZpZ3VyYcOnw6NvICVzLicsJ1JlZ2lzdHJvIGVsaW1pbmFkby4nLCdSZWdpc3RybyBtb2RpZmljYWRvLicsJ1JlZ2lzdHJvJXMgaW5zZXJpZG8uJywnTW9kaWZpY2FyJywnU2FsdmFyJywnU2FsdmFyIGUgY29udGludWFyIGVkaXRhbmRvJywnU2FsdmFyIGUgaW5zZXJpciBvdXRybycsJ0FwYWdhcicsYXJyYXkoJyVkIMOtdGVtIGFmZXRhZG8uJywnJWQgaXRlbnMgYWZldGFkb3MuJyksJ0RvYmxlLWNsaWMgc29icmUgbyB2YWxvciBwYXJhIGVkaXRhLWxvLicsYXJyYXkoJyVkIHJlZ2lzdHJvIGltcG9ydGFkby4nLCclZCByZWdpc3Ryb3MgaW1wb3J0YWRvcy4nKSwnTsOjbyDDqSBwb3NzaXZlbCBzZWxlY2lvbmFyIGEgVGFiZWxhJywnTsOjbyBleGlzdGVtIHJlZ2lzdHJvcy4nLCdtb2RpZmljYXInLCdSZWxhw6fDtWVzJywnVXRpbGl6ZSBvIGxpbmsgbW9kaWZpY2FyIHBhcmEgYWx0ZXJhci4nLCdQw6FnaW5hJywnw7psdGltbycsYXJyYXkoJyVkIHJlZ2lzdHJvJywnJWQgcmVnaXN0cm9zJyksJ3Jlc3VsdGFkbyBjb21wbGV0bycsJ0Nsb25hcicsJ0V4cG9ydGFyJywnSW1wb3J0YXInLCdCdXNjYXIgZGFkb3MgbmFzIFRhYmVsYXMnLCdUYWJlbGEnLCdSZWdpc3Ryb3MnLCcgJywnRXNxdWVtYSBpbnbDoWxpZG8uJyk7YnJlYWs7Y2FzZSJzbCI6JE49YXJyYXkoJ1N0ZSBwcmVwcmnEjWFuaT8nLCdOZSBtb3JlbSBuYWxvxb5pdGkgZGF0b3Rla2UuJywnTmFqdmXEjWphIHZlbGlrb3N0IGRhdG90ZWtlIGplICVzQi4nLCdEYXRvdGVrYSBuZSBvYnN0YWphLicsJ3ByYXpubycsJ29yaWdpbmFsJywnTmkgdGFiZWwuJywnSmV6aWsnLCdVcG9yYWJpJywnUHJvc2ltLCB1cG9yYWJpdGUgZW5lZ2Egb2QgZG9kYXRrb3YgJXMuJywnRGF0b3Rla2Egb2JzdGFqYS4nLCdVcG9yYWJuacWha2kgdGlwaScsJ8WgdGV2aWxhJywnRGF0dW0gaW4gxI1hcycsJ05pemknLCdCaW5hcm5pJywnTXJlxb5uaScsJ0dlb21ldHLEjW5pJywnU2V6bmFtaScsJ1VyZWpldmFsbmlrJywnVXBvcmFibmnFoWtvIGltZScsJ0dlc2xvJywnUHJpamF2aSBzZScsJ1RyYWpuYSBwcmlqYXZhJywnTm92IHByZWRtZXQnLCdaYWRuamEgc3RyYW4nLGFycmF5KCclZCBiYWp0JywnJWQgYmFqdGEnLCclZCBiYWp0aScsJyVkIGJhanRvdicpLCckNi4kNC4kMScsJ0nFocSNaScsJ2tqZXJrb2xpJywnU29ydGlyYWonLCdMaW1pdGEnLCdEZWphbmplJywnSXpiZXJpJywnRS1tYWlsJywnT2QnLCdaYWRldmEnLCdWc3RhdmknLCdQcmlwb25rZScsJ1BvxaFsamknLGFycmF5KCdQb3NsYW4gamUgJWQgZS1tYWlsLicsJ1Bvc2xhbmEgc3RhICVkIGUtbWFpbGEuJywnUG9zbGFuaSBzbyAlZCBlLW1haWxpLicsJ1Bvc2xhbmloIGplICVkIGUtbWFpbG92LicpLCd6ZGFqJywnSEg6TU06U1MnLCdkLm0uW3JycnJdJywnT2RqYXZpIHNlJywnbHRyJywnUmVzZW5kIFBPU1QgZGF0YT8nLCdTdHJlxb5uaWsnLCdOZXZlbGphdmVuIHRva2VuIENTUkYuIFBvxaFsaml0ZSBmb3JtdWxhciDFoWUgZW5rcmF0LicsJ1ByaWphdmEgdXNwZcWhbmEuJywnUG9kcG9yYSB6YSBzZWplIG1vcmEgYml0aSBvbW9nb8SNZW5hLicsJ1NlamEgamUgcG90ZWtsYS4gUHJvc2ltbywgcG9ub3ZubyBzZSBwcmlqYXZpdGUuJywnTmV2ZWxqYXZuZSBwcmF2aWNlLicsJ0JyZXogZG9kYXRrb3YnLCdOb2JlbiBvZCBwb2RwcnRpaCBkb2RhdGtvdiB6YSBQSFAgKCVzKSBuaSBuYSB2b2xqby4nLCdQcmV2ZWxpa28gcG9kYXRrb3YgemEgUE9TVC4gWm1hbmrFoWFqdGUgxaF0ZXZpbG8gcG9kYXRrb3YgYWxpIHBvdmXEjWFqdGUgbmFzdGF2aXRldiB6YSAlcy4nLCdQcmVkbWV0IGplIGl6YnJpc2FuLicsJ1ByZWRtZXQgamUgcG9zb2RvYmxqZW4uJywnUHJlZG1ldCVzIGplIHZzdGF2bGplbi4nLCdVcmVkaScsJ1NocmFuaScsJ1NocmFuaSBpbiBuYWRhbGp1aiB6IHVyZWphbmplbScsJ1NocmFuaSBpbiB2c3RhdmkgdGVrc3QnLCdJemJyacWhaScsYXJyYXkoJ1NwcmVtZW5qZW4gamUgJWQgcHJlZG1ldC4nLCdTcHJlbWVuamVuYSBzdGEgJWQgcHJlZG1ldGEuJywnU3ByZW1lbmplbmkgc28gJWQgcHJlZG1ldGkuJywnU3ByZW1lbmplbmloIGplICVkIHByZWRtZXRvdi4nKSwnRHZvam5pIGtsaWsgbmEgdnJlZG5vc3QgemEgdXJlamFuamUuJyxhcnJheSgnVXZvxb5lbmEgamUgJWQgdnJzdGljYS4nLCdVdm/FvmVuaSBzdGEgJWQgdnJzdGljaS4nLCdVdm/FvmVuZSBzbyAlZCB2cnN0aWNlLicsJ1V2b8W+ZW5paCBqZSAlZCB2cnN0aWMuJyksJ05lIG1vcmVtIGl6YnJhdGkgdGFiZWxlJywnTmkgdnJzdGljLicsJ3VyZWRpJywnUmVsYWNpanNraScsJ1Vwb3JhYml0ZSB1cmVqYW5qZSBwb3ZlemF2ZSB6YSBzcHJlbWluamFuamUgdGUgdnJlZG5vc3RpLicsJ1N0cmFuJywnWmFkbmphJyxhcnJheSgnJWQgdnJzdGljYScsJyVkIHZyc3RpY2knLCclZCB2cnN0aWNlJywnJWQgdnJzdGljJyksJ2NlbCByYXp1bHRhdCcsJ0tsb25pcmFqJywnSXp2b3ppJywnVXZvemknLCdJxaHEjWUgcG9kYXRrZSBwbyB0YWJlbGFoJywnVGFiZWxhJywnVnJzdGljJywnICcsJ1NwcmVtZW5pIHRpcCcpO2JyZWFrO2Nhc2UidHIiOiROPWFycmF5KCdFbWluIG1pc2luPycsJ0Rvc3lhIGfDtm5kZXJpbGVtaXlvci4nLCdCaXIgZG9zeWEgacOnaW4gaXppbiB2ZXJpbGVuIGRvc3lhIHPEsW7EsXLEsSAlc0IuJywnRG9zeWEgbWV2Y3V0IGRlxJ9pbC4nLCdib8WfJywnb3JpamluYWwnLCdUYWJsbyB5b2suJywnRGlsJywnS3VsbGFuJywnJXMgdXphbnTEsWxhcsSxbmRhbiBiaXJpbmkga3VsbGFuxLFuLicsJ0Rvc3lhIG1ldmN1dC4nLCdLdWxsYW7EsWPEsSB0w7xybGVyaScsJ1NhecSxbGFyJywnVGFyaWggdmUgemFtYW4nLCdTw7Z6Y8O8a2xlcicsJ8Swa2lsaScsJ0HEnycsJ0dlb21ldHJpJywnTGlzdGVsZXInLCdEw7x6ZW5sZXlpY2knLCdLdWxsYW7EsWPEsScsJ1Bhcm9sYScsJ0dpcmnFnycsJ0thbMSxY8SxIGdpcmnFnycsJ1llbmkgw7bEn2UnLCdTb24gc2F5ZmEnLGFycmF5KCclZCBiYXl0JywnJWQga2FkYXIgYmF5dCcpLCckNi4kNC4kMScsJ0FyYW1hJywnaGVyaGFuZ2kgYmlyIHllcicsJ1PEsXJhbGEnLCdzxLFuxLFyJywnRXlsZW0nLCdTZcOnJywnRS1wb3N0YScsJ0fDtm5kZXJlbicsJ0tvbnUnLCdFa2xlJywnRWtsZXInLCdHw7ZuZGVyJyxhcnJheSgnJWQgZS1wb3N0YSBkw7ZuZGVyaWxkaS4nLCclZCBrYWRhciBlLXBvc3RhIGfDtm5kZXJpbGRpLicpLCfFn2ltZGknLCdISDpNTTpTUycsJ2QubS5bcnJycl0nLCfDh8Sxa8SxxZ8nLCdsdHInLCdSZXNlbmQgUE9TVCBkYXRhPycsJ1N1bnVjdScsJ0dlw6dlcnNpeiBDcm9zcy1zaXRlIHJlcXVlc3QgZm9yZ2VyeSAoQ1NSRikgamV0b251LiBGb3J1bXUgdGVrcmFyIHlvbGxhLicsJ0JhxZ9hcsSxeWxhIMOnxLFrxLFsZMSxLicsJ090dXJ1bSBkZXN0ZcSfaSBldGtpbiBvbG1hbMSxZMSxci4nLCdPdHVydW0gc8O8cmVzaSBkb2xkdSwgbMO8dGZlbiB0ZWtyYXIgZ2lyacWfIHlhcMSxbi4nLCdHZcOnZXJzaXoga2ltbGlrLicsJ1V6YW50xLEgeW9rJywnRGVzdGVrbGVuZW4gUEhQIHV6YW50xLFsYXLEsW5kYW4gKCVzKSBoacOnYmlyaSBtZXZjdXQgZGXEn2lsLicsJ8OHb2sgYsO8ecO8ayBQT1NUIHZlcmlzaSwgdmVyaXlpIGF6YWx0xLFuIHlhIGRhIGF5YXIgecO2bmVyZ2VzaW5pIHV5Z3VuIG9sYXJhayB5YXDEsWxhbmTEsXLEsW4uJywnw5bEn2Ugc2lsaW5kaS4nLCfDlsSfZSBnw7xuY2VsbGVuZGkuJywnw5bEn2VsZXIgZWtsZW5kaS4nLCdEw7x6ZW4nLCdLYXlkZXQnLCdLYXlkZXQgdmUgZMO8emVubGVtZXllIGRldmFtIGV0JywnS2F5ZGV0IHZlIHNvbnJha2luIGVrbGUnLCdTaWwnLGFycmF5KCclZCDDtsSfZSBldGtpbGVuZGkuJywnJWQga2FkYXIgw7bEn2UgZXRraWxlbmRpLicpLCdEZcSfZXJpbiDDvHplcmluZSDDp2lmdCB0xLFrbGF5xLFuIHZlIGRlxJ9pxZ90aXJpbi4nLGFycmF5KCclZCBzxLFyYSBpdGhhbCBlZGlsZGkuJywnJWQga2FkYXIgc8SxcmEgaXRoYWwgZWRpbGRpLicpLCdUYWJsbyBzZcOnaWxlbWVkaScsJ1PEsXJhIHlvay4nLCdkw7x6ZW4nLCfEsGxpxZ9raWxlcicsJ0RlxJ9lcmkgZGXEn2nFn3Rpcm1layBpw6dpbiBkw7x6ZW5sZW1lIGJhxJ9sYW50xLFzxLFuxLEga3VsbGFuxLFuLicsJ1NheWZhJywnc29uJyxhcnJheSgnJWQgc8SxcmEpJywnJWQga2FkYXIgc8SxcmEnKSwndMO8bSBzb251w6cnLCdLbG9ubGEnLCfEsGhyYcOnJywnxLB0aGFsJywnVGFibG9sYXJkYSB2ZXJpIGFyYS4nLCdUYWJsbycsJ1PEsXJhbGFyIChSb3dzKScsJyAnLCdUw7xyIGRlxJ9pxZ90aXInKTticmVhaztjYXNlInJ1IjokTj1hcnJheSgn0JLRiyDRg9Cy0LXRgNC10L3Riz8nLCfQndC1INGD0LTQsNC70L7RgdGMINC30LDQs9GA0YPQt9C40YLRjCDRhNCw0LnQuyDQvdCwINGB0LXRgNCy0LXRgC4nLCfQnNCw0LrRgdC40LzQsNC70YzQvdGL0Lkg0YDQsNC30YDQtdGI0LXQvdC90YvQuSDRgNCw0LfQvNC10YAg0YTQsNC50LvQsCAtICVzQi4nLCfQotCw0LrQvtCz0L4g0YTQsNC50LvQsCDQvdC1INGB0YPRidC10YHRgtCy0YPQtdGCLicsJ9C/0YPRgdGC0L4nLCfQuNGB0YXQvtC00L3Ri9C5Jywn0JIg0LHQsNC30LUg0LTQsNC90L3Ri9GFINC90LXRgiDRgtCw0LHQu9C40YYuJywn0K/Qt9GL0LonLCfQktGL0LHRgNCw0YLRjCcsJ9CY0YHQv9C+0LvRjNC30YPQudGC0LUg0L7QtNC90L4g0LjQtyDRjdGC0LjRhSDRgNCw0YHRiNC40YDQtdC90LjQuSAlcy4nLCfQpNCw0LnQuyDRg9C20LUg0YHRg9GJ0LXRgdGC0LLRg9C10YIuJywn0KLQuNC/0Ysg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C10LknLCfQp9C40YHQu9C+Jywn0JTQsNGC0LAg0Lgg0LLRgNC10LzRjycsJ9Ch0YLRgNC+0LrQuCcsJ9CU0LLQvtC40YfQvdGL0Lkg0YLQuNC/Jywn0KHQtdGC0YwnLCfQk9C10L7QvNC10YLRgNC40Y8nLCfQodC/0LjRgdC60LgnLCfQoNC10LTQsNC60YLQvtGAJywn0JjQvNGPINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjycsJ9Cf0LDRgNC+0LvRjCcsJ9CS0L7QudGC0LgnLCfQntGB0YLQsNCy0LDRgtGM0YHRjyDQsiDRgdC40YHRgtC10LzQtScsJ9Cd0L7QstCw0Y8g0LfQsNC/0LjRgdGMJywn0J/QvtGB0LvQtdC00L3Rj9GPINGB0YLRgNCw0L3QuNGG0LAnLGFycmF5KCclZCDQsdCw0LnRgicsJyVkINCx0LDQudGC0LAnLCclZCDQsdCw0LnRgtC+0LInKSwnJDUuJDMuJDEnLCfQn9C+0LjRgdC6Jywn0LIg0LvRjtCx0L7QvCDQvNC10YHRgtC1Jywn0KHQvtGA0YLQuNGA0L7QstCw0YLRjCcsJ9Cb0LjQvNC40YInLCfQlNC10LnRgdGC0LLQuNC1Jywn0JLRi9Cx0YDQsNGC0YwnLCfQrdC70LXQutGC0YDQvtC/0L7Rh9GC0LAnLCfQntGCJywn0JrQvtC80YMnLCfQktGB0YLQsNCy0LjRgtGMJywn0J/RgNC40LrRgNC10L/Qu9C10L3QvdGL0LUg0YTQsNC50LvRiycsJ9Cf0L7RgdC70LDRgtGMJyxhcnJheSgn0JHRi9C70L4g0L7RgtC/0YDQsNCy0LvQtdC90L4gJWQg0L/QuNGB0YzQvNC+LicsJ9CR0YvQu9C+INC+0YLQv9GA0LDQstC70LXQvdC+ICVkINC/0LjRgdGM0LzQsC4nLCfQkdGL0LvQviDQvtGC0L/RgNCw0LLQu9C10L3QviAlZCDQv9C40YHQtdC8LicpLCfRgdC10LnRh9Cw0YEnLCdISDpNTTpTUycsJ9C00LQu0LzQvC5b0LPQs9Cz0LNdJywn0JLRi9C50YLQuCcsJ2x0cicsJ1Jlc2VuZCBQT1NUIGRhdGE/Jywn0KHQtdGA0LLQtdGAJywn0J3QtdC00LXQudGB0YLQstC40YLQtdC70YzQvdGL0LkgQ1NSRiDRgtC+0LrQtdC9LiDQntGC0L/RgNCw0LLQuNGC0LUg0YTQvtGA0LzRgyDQtdGJ0ZEg0YDQsNC3LicsJ9CS0Ysg0YPRgdC/0LXRiNC90L4g0L/QvtC60LjQvdGD0LvQuCDRgdC40YHRgtC10LzRgy4nLCfQodC10YHRgdC40Lgg0LTQvtC70LbQvdGLINCx0YvRgtGMINCy0LrQu9GO0YfQtdC90YsuJywn0KHRgNC+0Log0LTQtdC50YHRgtCy0LjRjyDRgdC10YHRgdC4INC40YHRgtC10LosINC90YPQttC90L4g0YHQvdC+0LLQsCDQstC+0LnRgtC4INCyINGB0LjRgdGC0LXQvNGDLicsJ9Cd0LXQv9GA0LDQstC40LvRjNC90L7QtSDQuNC80Y8g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPINC40LvQuCDQv9Cw0YDQvtC70YwuJywn0J3QtdGCINGA0LDRgdGI0LjRgNC10L3QuNC5Jywn0J3QtSDQtNC+0YHRgtGD0L/QvdC+INC90Lgg0L7QtNC90L7Qs9C+INGA0LDRgdGI0LjRgNC10L3QuNGPINC40Lcg0L/QvtC00LTQtdGA0LbQuNCy0LDQtdC80YvRhSAoJXMpLicsJ9Ch0LvQuNGI0LrQvtC8INCx0L7Qu9GM0YjQvtC5INC+0LHRitC10LwgUE9TVC3QtNCw0L3QvdGL0YUuINCf0L7RiNC70LjRgtC1INC80LXQvdGM0YjQuNC5INC+0LHRitC10Lwg0LTQsNC90L3Ri9GFINC40LvQuCDRg9Cy0LXQu9C40YfRjNGC0LUg0L/QsNGA0LDQvNC10YLRgCDQutC+0L3RhNC40LPRg9GA0LDRhtC40L7QvdC90L7QuSDQtNC40YDQtdC60YLQuNCy0YsgJXMuJywn0JfQsNC/0LjRgdGMINGD0LTQsNC70LXQvdCwLicsJ9CX0LDQv9C40YHRjCDQvtCx0L3QvtCy0LvQtdC90LAuJywn0JfQsNC/0LjRgdGMJXMg0LHRi9C70LAg0LLRgdGC0LDQstC70LXQvdCwLicsJ9Cg0LXQtNCw0LrRgtC40YDQvtCy0LDRgtGMJywn0KHQvtGF0YDQsNC90LjRgtGMJywn0KHQvtGF0YDQsNC90LjRgtGMINC4INC/0YDQvtC00L7Qu9C20LjRgtGMINGA0LXQtNCw0LrRgtC40YDQvtCy0LDQvdC40LUnLCfQodC+0YXRgNCw0L3QuNGC0Ywg0Lgg0LLRgdGC0LDQstC40YLRjCDQtdGJ0LUnLCfQodGC0LXRgNC10YLRjCcsYXJyYXkoJ9CR0YvQu9CwINC40LfQvNC10L3QtdC90LAgJWQg0LfQsNC/0LjRgdGMLicsJ9CR0YvQu9C4INC40LfQvNC10L3QtdC90YsgJWQg0LfQsNC/0LjRgdC4LicsJ9CR0YvQu9C+INC40LfQvNC10L3QtdC90L4gJWQg0LfQsNC/0LjRgdC10LkuJyksJ9Ca0LvQuNC60L3QuCDQtNCy0LAg0YDQsNC30LAg0L/QviDQt9C90LDRh9C10L3QuNGOLCDRh9GC0L7QsdGLINC10LPQviDQuNC30LzQtdC90LjRgtGMLicsYXJyYXkoJ9CY0LzQv9C+0YDRgtC40YDQvtCy0LDQvdCwICVkINGB0YLRgNC+0LrQsC4nLCfQmNC80L/QvtGA0YLQuNGA0L7QstCw0L3QviAlZCDRgdGC0YDQvtC60LguJywn0JjQvNC/0L7RgNGC0LjRgNC+0LLQsNC90L4gJWQg0YHRgtGA0L7Qui4nKSwn0J3QtSDRg9C00LDQu9C+0YHRjCDQv9C+0LvRg9GH0LjRgtGMINC00LDQvdC90YvQtSDQuNC3INGC0LDQsdC70LjRhtGLJywn0J3QtdGCINC30LDQv9C40YHQtdC5LicsJ9GA0LXQtNCw0LrRgtC40YDQvtCy0LDRgtGMJywn0KDQtdC70Y/RhtC40LgnLCfQmNC30LzQtdC90LjRgtGMINGN0YLQviDQt9C90LDRh9C10L3QuNC1INC80L7QttC90L4g0YEg0L/QvtC80L7RidGM0Y4g0YHRgdGL0LvQutC4IMKr0LjQt9C80LXQvdC40YLRjMK7LicsJ9Ch0YLRgNCw0L3QuNGG0LAnLCfQv9C+0YHQu9C10LTQvdGP0Y8nLGFycmF5KCclZCDRgdGC0YDQvtC60LAnLCclZCDRgdGC0YDQvtC60LgnLCclZCDRgdGC0YDQvtC6JyksJ9Cy0LXRgdGMINGA0LXQt9GD0LvRjNGC0LDRgicsJ9Ca0LvQvtC90LjRgNC+0LLQsNGC0YwnLCfQrdC60YHQv9C+0YDRgicsJ9CY0LzQv9C+0YDRgicsJ9Cf0L7QuNGB0Log0LIg0YLQsNCx0LvQuNGG0LDRhScsJ9Ci0LDQsdC70LjRhtCwJywn0KHRgtGA0L7QuicsJyAnLCfQndC10L/RgNCw0LLQuNC70YzQvdCw0Y8g0YHRhdC10LzQsC4nKTticmVhaztjYXNlInpoIjokTj1hcnJheSgn5L2g56Gu5a6a5ZCX77yfJywn5LiN6IO95LiK5Lyg5paH5Lu244CCJywn5pyA5aSa5YWB6K6455qE5paH5Lu25aSn5bCP5Li6ICVzQicsJ+aWh+S7tuS4jeWtmOWcqOOAgicsJ+epuicsJ+WOn+WniycsJ+ayoeacieihqOOAgicsJ+ivreiogCcsJ+S9v+eUqCcsJ+ivt+S9v+eUqOi/meS6m+aJqeWxleS4reeahOS4gOS4qu+8miVz44CCJywn5paH5Lu25bey5a2Y5Zyo44CCJywn55So5oi357G75Z6LJywn5pWw5a2XJywn5pel5pyf5pe26Ze0Jywn5a2X56ym5LiyJywn5LqM6L+b5Yi2Jywn572R57ucJywn5Yeg5L2V5Zu+5b2iJywn5YiX6KGoJywn57yW6L6R5ZmoJywn55So5oi35ZCNJywn5a+G56CBJywn55m75b2VJywn5L+d5oyB55m75b2VJywn5paw5bu66aG5Jywn5pyr6aG1JywnJWQg5a2X6IqCJywnJDEuJDMuJDUnLCfmkJzntKInLCfku7vmhI/kvY3nva4nLCfmjpLluo8nLCfpmZDlrponLCfliqjkvZwnLCfpgInmi6knLCfnlLXlrZDpgq7ku7YnLCfmnaXoh6onLCfkuLvpopgnLCfmj5LlhaUnLCfpmYTku7YnLCflj5HpgIEnLCclZCDlsIHpgq7ku7blt7Llj5HpgIHjgIInLCfnjrDlnKgnLCdISDpNTTpTUycsJ1t5eXl5XS5tbS5kZCcsJ+azqOmUgCcsJ2x0cicsJ1Jlc2VuZCBQT1NUIGRhdGE/Jywn5pyN5Yqh5ZmoJywn5peg5pWIIENTUkYg5Luk54mM44CC6YeN5paw5Y+R6YCB6KGo5Y2V44CCJywn5rOo6ZSA5oiQ5Yqf44CCJywn5Lya6K+d5b+F6aG76KKr5ZCv55So44CCJywn5Lya6K+d5bey6L+H5pyf77yM6K+36YeN5paw55m75b2V44CCJywn5peg5pWI5Yet5o2u44CCJywn5rKh5pyJ5omp5bGVJywn5rKh5pyJ5pSv5oyB55qEIFBIUCDmianlsZXlj6/nlKjvvIglc++8ieOAgicsJ+WkquWkp+eahCBQT1NUIOaVsOaNruOAguWHj+WwkeaVsOaNruaIluiAheWinuWKoCAlcyDphY3nva7lkb3ku6TjgIInLCflt7LliKDpmaTpobnnm67jgIInLCflt7Lmm7TmlrDpobnnm67jgIInLCflt7Lmj5LlhaXpobnnm64lc+OAgicsJ+e8lui+kScsJ+S/neWtmCcsJ+S/neWtmOW5tue7p+e7ree8lui+kScsJ+S/neWtmOW5tuaPkuWFpeS4i+S4gOS4qicsJ+WIoOmZpCcsJyVkIOS4qumhueebruWPl+WIsOW9seWTjeOAgicsJ+WcqOWAvOS4iuWPjOWHu+exu+S/ruaUueWug+OAgicsJyVkIOihjOW3suWvvOWFpeOAgicsJ+S4jeiDvemAieaLqeivpeihqCcsJ+ayoeacieihjOOAgicsJ+e8lui+kScsJ+WFs+iBlOS/oeaBrycsJ+S9v+eUqOe8lui+kemTvuaOpeadpeS/ruaUueivpeWAvOOAgicsJ+mhtemdoicsJ+acgOWQjicsJyVkIOihjCcsJ+aJgOaciee7k+aenCcsJ+WFi+mahicsJ+WvvOWHuicsJ+WvvOWFpScsJ+WcqOihqOS4reaQnOe0ouaVsOaNricsJ+ihqCcsJ+ihjOaVsCcsJywnLCfpnZ7ms5XmqKHlvI/jgIInKTticmVhaztjYXNlInpoLXR3IjokTj1hcnJheSgn5L2g56K65a6a5ZeO77yfJywn54Sh5rOV5LiK5YKz5qqU5qGI44CCJywn5YWB6Kix55qE5qqU5qGI5LiK6ZmQ5aSn5bCP54K6JXNCJywn5qqU5qGI5LiN5a2Y5ZyoJywn56m65YC8Jywn5Y6f5aeLJywn5rKS5pyJ6LOH5paZ6KGo44CCJywn6Kqe6KiAJywn5L2/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+WHuicsJ2x0cicsJ1Jlc2VuZCBQT1NUIGRhdGE/Jywn5Ly65pyN5ZmoJywn54Sh5pWI55qEIENTUkYgdG9rZW7jgILoq4vph43mlrDnmbzpgIHooajllq7jgIInLCfnmbvlh7rmiJDlip/jgIInLCdTZXNzaW9uIOW/hemgiOiiq+WVn+eUqOOAgicsJ1Nlc3Npb24g5bey6YGO5pyf77yM6KuL6YeN5paw55m75YWl44CCJywn54Sh5pWI55qE5oaR6K2J44CCJywn5rKS5pyJIOaTtOWFheaooee1hCcsJ+aykuacieS7u+S9leaUr+aPtOeahFBIUOaTtOWFheaooee1hO+8iCVz77yJ44CCJywnUE9TVCDos4fmlpnlpKrlpKfjgILmuJvlsJHos4fmlpnmiJbogIXlop7liqAgJXMg55qE6Kit5a6a5YC844CCJywn6Kmy6aCF55uu5bey6KKr5Yiq6ZmkJywn5bey5pu05paw6aCF55uu44CCJywn5bey5o+S5YWl6aCF55uuJXPjgIInLCfnt6jovK8nLCflhLLlrZgnLCfkv53lrZjkuKbnubznuoznt6jovK8nLCflhLLlrZjkuKbmj5LlhaXkuIvkuIDlgIsnLCfliKrpmaQnLCclZOWAi+mgheebruWPl+WIsOW9semfv+OAgicsJ+mbmeaTiuS7pemAsuihjOS/ruaUueOAgicsJyVk6KGM5bey5bCO5YWl44CCJywn54Sh5rOV6YG45pOH6Kmy6LOH5paZ6KGoJywn5rKS5pyJ6KGM44CCJywn57eo6LyvJywn6Zec6IGvJywn5L2/55So57eo6Lyv6YCj57WQ5L6G5L+u5pS544CCJywn6aCBJywn5pyA5b6M5LiA6aCBJywnJWTooYwnLCfmiYDmnInntZDmnpwnLCfopIfoo70nLCfljK/lh7onLCfljK/lhaUnLCflnKjos4fmlpnluqvmkJzlsIsnLCfos4fmlpnooagnLCfooYzmlbgnLCcsJywn54Sh5pWI55qE6LOH5paZ6KGo57WQ5qeL44CCJyk7YnJlYWs7Y2FzZSJqYSI6JE49YXJyYXkoJ+Wun+ihjOOBl+OBvuOBmeOBi++8nycsJ+ODleOCoeOCpOODq+OCkuOCouODg+ODl+ODreODvOODieOBp+OBjeOBvuOBm+OCkycsJ+acgOWkp+ODleOCoeOCpOODq+OCteOCpOOCuiAlc0InLCfjg5XjgqHjgqTjg6vjga/lrZjlnKjjgZfjgb7jgZvjgpMnLCfnqbonLCflhYMnLCfjg4bjg7zjg5bjg6vjgYzjgYLjgorjgb7jgZvjgpPjgIInLCfoqIDoqp4nLCfkvb/nlKgnLCfjgYTjgZrjgozjgYvjga7mi6HlvLXmqZ/og73jgpLkvb/jgaPjgabjgY/jgaDjgZXjgYQgJXMnLCfjg5XjgqHjgqTjg6vjgYzml6LjgavlrZjlnKjjgZfjgb7jgZknLCfjg6bjg7zjgrbjg7zlrprnvqnlnosnLCfmlbDlrZcnLCfml6XmmYInLCfmloflrZfliJcnLCfjg5DjgqTjg4rjg6onLCfjg43jg4Pjg4jjg6/jg7zjgq/lnosnLCfjgrjjgqrjg6Hjg4jjg6rlnosnLCfjg6rjgrnjg4gnLCfjgqjjg4fjgqPjgr8nLCfjg6bjg7zjgrblkI0nLCfjg5Hjgrnjg6/jg7zjg4knLCfjg63jgrDjgqTjg7MnLCfmsLjntprnmoTjgavjg63jgrDjgqTjg7MnLCfpoIXnm67jga7kvZzmiJAnLCfmnIDlvozjga7jg5rjg7zjgrgnLCclZCDjg5DjgqTjg4gnLCckMS4kMy4kNScsJ+aknOe0oicsJ+S7u+aEjycsJ+OCveODvOODiCcsJ+WItue0hCcsJ+WLleS9nCcsJ+mBuOaKnicsJ+ODoeODvOODqycsJ+W3ruWHuuS6uicsJ+mhjOWQjScsJ+aMv+WFpScsJ+a3u+S7mOODleOCoeOCpOODqycsJ+mAgeS/oScsJyVkIOODoeODvOODq+OCkumAgeS/oeOBl+OBvuOBl+OBnycsJ+ePvuWcqOOBruaXpeaZgicsJ0hIOk1NOlNTJywnW3l5eXldLm1tLmRkJywn44Ot44Kw44Ki44Km44OIJywnbHRyJywnUmVzZW5kIFBPU1QgZGF0YT8nLCfjgrXjg7zjg5AnLCfkuI3mraPjgapDU1JG44OI44O844Kv44Oz44CC5YaN6YCB5L+h44GX44Gm44GP44Gg44GV44GEJywn44Ot44Kw44Ki44Km44OIJywn44K744OD44K344On44Oz44KS5pyJ5Yq544Gr44GX44Gm44GP44Gg44GV44GEJywn44K744OD44K344On44Oz44Gu5pyf6ZmQ5YiH44KM44CC44Ot44Kw44Kk44Oz44GX55u044GX44Gm44GP44Gg44GV44GEJywn5LiN5q2j44Gq44Ot44Kw44Kk44OzJywn5ouh5by15qmf6IO944GM44GC44KK44G+44Gb44KTJywnUEhQ44Gu5ouh5by15qmf6IO977yIJXPvvInjgYzjgrvjg4Pjg4jjgqLjg4Pjg5fjgZXjgozjgabjgYTjgb7jgZvjgpMnLCdQT1NU44OH44O844K/44GM5aSn44GN44GZ44GO44G+44GZ44CC44OH44O844K/44K144Kk44K644KS5bCP44GV44GP44GZ44KL44GLICVzIOioreWumuOCkuWkp+OBjeOBj+OBl+OBpuOBj+OBoOOBleOBhCcsJ+mgheebruOCkuWJiumZpOOBl+OBvuOBl+OBnycsJ+mgheebruOCkuabtOaWsOOBl+OBvuOBl+OBnycsJyVz6aCF55uu44KS5oy/5YWl44GX44G+44GX44GfJywn57eo6ZuGJywn5L+d5a2YJywn5L+d5a2Y44GX44Gm57aZ57aaJywn5L+d5a2Y77yP6L+95YqgJywn5YmK6ZmkJywnJWQg44KS5pu05paw44GX44G+44GX44GfJywn44OA44OW44Or44Kv44Oq44OD44Kv44GX44Gm57eo6ZuGJywnJWQg6KGM44KS44Kk44Oz44Od44O844OI44GX44G+44GX44GfJywn44OG44O844OW44Or44KS6YG45oqe44Gn44GN44G+44Gb44KTJywn6KGM44GM44GC44KK44G+44Gb44KTJywn57eo6ZuGJywn6Zai5L+CJywn44Oq44Oz44Kv44KS57eo6ZuG44GZ44KLJywn44Oa44O844K4Jywn5pyA57WCJywnJWQg6KGMJywn5YWo57WQ5p6cJywn44Kv44Ot44O844OzJywn44Ko44Kv44K544Od44O844OIJywn44Kk44Oz44Od44O844OIJywn44OH44O844K/44KS5qSc57Si44GZ44KLJywn44OG44O844OW44OrJywn6KGM5pWwJywnLCcsJ+eEoeWKueOBquOCueOCreODvOODnicpO2JyZWFrO2Nhc2UidGEiOiROPWFycmF5KCfgrqjgrr/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+CuseCvgScsJ2x0cicsJ1Jlc2VuZCBQT1NUIGRhdGE/Jywn4K614oCM4K604oCM4K6Z4K+N4K6V4K6/IChTZXJ2ZXIpJywnQ1NSRiDgrp/gr4vgrpXgr43grpXigIzgrqngr40g4K6a4K+G4K6y4K+N4K6y4K6+4K6k4K+BLiDgrqrigIzgrp/grr/grrXigIzgrqTgr43grqTgr4gg4K6u4K+A4K6j4K+N4K6f4K+B4K6u4K+NIOCuheCuqeCvgeCuquCvjeCuquKAjOCuteCvgeCuruCvjS4nLCfgrrXgr4bgrrHgr43grrHgrr/grpXigIzgrrDigIzgrq7grr7grq/gr40g4K614K+G4K6z4K6/4K6v4K+H4K6x4K6/4K6v4K6+4K6v4K6/4K6x4K+N4K6x4K+BLicsJ+CumuCvhuCut+KAjOCuqeCvjSDgrobgrqTigIzgrrDigIzgrrXgr4Eg4K6H4K6v4oCM4K6V4K+N4K6V4oCM4K6q4K+N4K6q4oCM4K6f4oCMIOCuteCvh+Cuo+CvjeCun+CvgeCuruCvjS4nLCfgrprgr4bgrrfigIzgrqngr40g4K6V4K6+4K6y4K6+4K614oCM4K6k4K6/4K6v4K6+4K6V4K6/IOCuteCuv+Cun+CvjeCun+KAjOCupOCvgS4g4K6u4K+A4K6j4K+N4K6f4K+B4K6u4K+NIOCuqOCvgeCutOCviOCur+KAjOCuteCvgeCuruCvjS4nLCfgrprigIzgrrDgrr/grq/grr7grqnigIwg4K614K6/4K6q4oCM4K6w4oCM4K6Z4K+N4K6V4oCM4K6z4K+NIOCuh+CusuCvjeCusuCviC4nLCfgrrXgrr/grrDgrr/grrXgr4EgKGV4dGVuc+Cuh+CukuCuqeCvjSkg4K6H4K6y4K+N4K6y4K+IICcsJ1BIUCDgrobgrqTigIzgrrDigIzgrrXgr4Eg4K614K6/4K6w4K6/4K614K+B4K6V4oCM4K6z4K+NICglcykg4K6H4K6y4K+N4K6y4K+ILicsJ+CuruCuv+CuleKAjCDgroXgrqTgrr/grpXigIzgrq7grr7grqnigIwgUE9TVCAg4K6k4oCM4K6V4oCM4K614oCM4K6y4K+NLiDgrqTigIzgrpXigIzgrrXigIzgrrLgr4gg4K6V4K+B4K6x4K+I4K6V4K+N4K6V4oCM4K614K+B4K6u4K+NIOCuheCusuCvjeCusuKAjOCupOCvgSAlcyDgrrXigIzgrp/grr/grrXigIzgrq7gr4jgrqrgr43grqrgr4ggKGNvbmZpZ3VyYXRpb24gZGlyZWN0aXZlKSDgrq7grr7grrHgr43grrHigIzgrrXgr4Hgrq7gr40uJywn4K6J4K6w4K+B4K6q4K+N4K6q4K6f4K6/IOCuqOCvgOCuleCvjeCuleKAjOCuquCvjeCuquKAjOCun+CvjeCun+KAjOCupOCvgS4nLCfgrongrrDgr4Hgrqrgr43grqrigIzgrp/grr8g4K6q4K+B4K6k4K+B4K6q4K+N4K6q4K6/4K6V4K+N4K6V4oCM4K6q4K+N4K6q4oCM4K6f4K+N4K6f4oCM4K6k4K+BLicsJ+CuieCusOCvgeCuquCvjeCuquKAjOCun+CuvyAoSXRlbSkg4K6a4K+H4K6w4K+N4K6V4K+N4K6V4oCM4K6q4K+N4K6q4oCM4K6f4K+N4K6f4oCM4K6k4K+BLicsJ+CupOCviuCuleCvgScsJ+CumuCvh+CuruCuvycsJ+CumuCvh+CuruCuv+CupOCvjeCupOKAjCDgrqrgrr/grrHigIzgrpXgr4Eg4K6k4K+K4K6V4K+B4K6q4K+N4K6q4oCM4K6k4K+IIOCupOCviuCun+KAjOCusOKAjOCuteCvgeCuruCvjScsJ+CumuCvh+CuruCuv+CupOCvjeCupOKAjOCuquCvjSDgrqrgrr/grqngr40g4K6F4K6f4K+B4K6k4K+N4K6k4oCM4K6k4K+IIOCuquCvgeCuleCvgeCupOCvjeCupOCvgScsJ+CuqOCvgOCuleCvjeCuleCvgScsYXJyYXkoJyVkIOCuieCusOCvgeCuquCvjeCuquKAjOCun+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+CuteKAjOCusOCuv+CumuCviCDgrofgrrLgr43grrLgr4guJywn4K6k4K+K4K6V4K+BJywn4K6J4K6x4oCM4K614K+B4K6V4oCM4K6z4K+NIChSZWxhdGlvbnMpJywn4K6H4K6o4K+N4K6k4oCMIOCuruKAjOCupOCuv+CuquCvjeCuquCuv+CuqeCviCDgrq7grr7grrHgr43grrHigIwsIOCupOCviuCuleCvgeCuquCvjeCuquCvgSDgrofgrqPgr4jgrqrgr43grqrgrr/grqngr4gg4K6J4K6q4oCM4K6v4K+L4K6V4K6/4K6V4K+N4K6V4oCM4K614K+B4K6u4K+NLicsJ+CuquKAjOCuleCvjeCuleKAjOCuruCvjScsJ+CuleKAjOCun+CviOCumuCuvycsYXJyYXkoJyVkIOCuteKAjOCusOCuv+CumuCviCcsJyVkIOCuteKAjOCusOCuv+CumuCviOCuleKAjOCus+CvjScpLCfgrq7gr4HgrrTgr4Hgrq7gr4jgrq/grr7grqnigIwg4K6u4K+B4K6f4K6/4K614K+BJywn4K6o4oCM4K6V4oCM4K6y4K6/IChDbG9uZSknLCfgro/grrHgr43grrHgr4Hgrq7igIzgrqTgrr8nLCfgrofgrrHigIzgrpXgr43grpXgr4Hgrq7igIzgrqTgrr8gKEltcG9ydCknLCfgrqTigIzgrpXigIzgrrXigIzgrrLgr4gg4K6F4K6f4K+N4K6f4oCM4K614oCM4K6j4K+I4K6v4K6/4K6y4K+NIOCupOCvh+Cun+CvgScsJ+CuheCun+CvjeCun+KAjOCuteKAjOCuo+CviCcsJ+CuteKAjOCusOCuv+CumuCviOCuleKAjOCus+CvjScsJywnLCfgroXgrq7gr4jgrqrgr43grqrgr4Hgrq7gr4HgrrHgr4gg4K6a4oCM4K6w4K6/4K6v4K6+4K6p4oCM4K6k4oCM4K6y4K+N4K6y4oCMIChJbnZhbGlkIFNjaGVtYSkuJyk7YnJlYWs7Y2FzZSJhciI6JE49YXJyYXkoJ9mH2YQg2KPZhtiqINmF2KrYo9mD2K/YnycsJ9mF2YYg2LrZitixINin2YTZhdmF2YPZhiDYsdmB2Lkg2KfZhNmF2YTZgS4nLCfYrdis2YUg2KfZhNmF2YTZgSDYp9mE2KPZgti12Ykg2YfZiCAlc0IuJywn2KfZhNmF2YTZgSDYutmK2LEg2YXZiNis2YjYry4nLCfZgdin2LHYuicsJ9in2YTYo9i12YTZiicsJ9mE2Kcg2KrZiNis2K8g2KzYr9in2YjZhC4nLCfYp9mE2YTYutipJywn2KfZhNmF2LPYqti52YXZhCcsJ9mF2YYg2YHYttmE2YMg2KXYs9iq2LnZhdmEINil2K3Yr9mJINin2YTYutmF2KrYr9in2K/Yp9iqOiAlcy4nLCfYp9mE2YXZhNmBINmF2YjYrNmI2K8uJywn2YbZiNi5INin2YTZhdiz2KrYrtiv2YUnLCfYo9i52K/Yp9ivJywn2KfZhNiq2KfYsdmK2K4g2Ygg2KfZhNmI2YLYqicsJ9iz2YTYp9iz2YQnLCfYq9mG2KfYptmK2KknLCfYtNio2YPYqScsJ9mH2YbYr9iz2KknLCfZgtmI2KfYptmFJywn2KfZhNmF2K3YsdixJywn2KfZhNmF2LPYqti52YXZhCcsJ9mD2YTZhdipINin2YTZhdix2YjYsScsJ9iq2LPYrNmK2YQg2KfZhNiv2K7ZiNmEJywn2KrYs9is2YrZhCDYr9iu2YjZhCDYr9in2KbZhScsJ9i52YbYtdixINis2K/ZitivJywn2KfZhNi12YHYrdipINin2YTYs9in2KjZgtipJywnJWQg2KjYp9mK2KonLCckNS8kMy8kMScsJ9io2K3YqycsJ9mB2Yog2KfZiiDZhdmD2KfZhicsJ9iq2LHYqtmK2KgnLCfYrdivJywn2K3YsdmD2KknLCfYpdiu2KrZitin2LEnLCfYp9mE2KjYsdmK2K8g2KfZhNil2YTZg9iq2LHZiNmG2YonLCfZhdmGJywn2KfZhNmF2YjYttmI2LknLCfYpdmG2LTYp9ihJywn2YXZhNmB2KfYqiDZhdix2YHZgtipLicsJ9il2LHYs9in2YQnLCfYqtmFINil2LHYs9in2YQgJWQg2LHYs9in2YTYqS4nLCfYp9mE2KLZhicsJ0hIOk1NOlNTJywnamovbW0vW2FhYWFdJywn2KrYs9is2YrZhCDYp9mE2K7YsdmI2KwnLCdydGwnLCdSZXNlbmQgUE9TVCBkYXRhPycsJ9in2YTYrtin2K/ZhScsJ0NTUkYgVG9rZW4g2K7Yp9i32KYuINmF2YYg2YHYttmE2YMg2KPYudivINil2LHYs9in2YQg2KfZhNil2LPYqtmF2KfYsdipLicsJ9mF2Lkg2KfZhNiz2YTYp9mF2KkuJywn2LnZhNmK2YMg2KrZgdi52YrZhCDZhti42KfZhSDYp9mE2KzZhNiz2KfYqi4nLCfYpdmG2KrZh9iqINin2YTYrNmE2LPYqdiMINmF2YYg2YHYttmE2YMg2KPYudivINiq2LPYrNmK2YQg2KfZhNiv2K7ZiNmELicsJ9mB2LTZhCDZgdmKINiq2LPYrNmK2YQg2KfZhNiv2K7ZiNmELicsJ9il2YXYqtiv2KfYryDYutmK2LEg2YXZiNis2YjYrycsJ9il2YXYqtiv2KfYr9in2KogcGhwINin2YTZhdiv2LnZiNmF2Kkg2LrZitixINmF2YjYrNmI2K/YqS4nLCfZhdi52YTZiNmF2KfYqiBQT1NUINmD2KjZitix2Kkg2KzYr9inLiDZgtmFINio2KrZgtmE2YrYtSDYrdis2YUg2KfZhNmF2LnZhNmI2YXYp9iqINij2Ygg2YLZhSDYqNiy2YrYp9iv2Kkg2YLZitmF2KkgJXMg2YHZiiDYrtmK2KfYsdin2Kog2KfZhCBQSFAuJywn2KrZhSDYrdiw2YEg2KfZhNi52YbYtdixLicsJ9iq2YUg2KrYudiv2YrZhCDYp9mE2LnZhti12LEuJywn2KrZhSDYpdiv2LHYp9isINin2YTYudmG2LXYsS4nLCfYqti52K/ZitmEJywn2K3Zgdi4Jywn2KXYrdmB2Lgg2Ygg2YjYp9i12YQg2KfZhNiq2LnYr9mK2YQnLCfYrNmB2Lgg2Ygg2KXZhti02KfYoSDYp9mE2KrYp9mE2YonLCfZhdiz2K0nLCfYudiv2K8g2KfZhNi52YbYp9i12LEg2KfZhNmF2LnYr9mE2Kkg2YfZiCAlZC4nLCfYo9mG2YLYsSDZhtmC2LHYpyDZhdiy2K/ZiNis2Kcg2LnZhNmJINmC2YrZhdipINmE2KrYudiv2YrZhNmH2KcuJywn2LnYr9ivINin2YTYo9iz2LfYsSDYp9mE2YXYs9iq2YjYsdiv2Kkg2YfZiCAlZC4nLCfZhdmGINi62YrYsSDYp9mE2YXZhdmD2YYg2KXYrtiq2YrYp9ixINin2YTYrNiv2YjZhCcsJ9mE2Kcg2KrZiNis2K8g2YbYqtin2KbYrC4nLCfYqti52K/ZitmEJywn2LnZhNin2YLYp9iqJywn2KXYs9iq2LnZhdmEINin2YTYsdin2KjYtyAi2KrYudiv2YrZhCIg2YTYqti52K/ZitmEINmH2LDZhyDYp9mE2YLZitmF2KkuJywn2LXZgdit2KknLCfYp9mE2KPYrtmK2LHYqScsJyVkINij2LPYt9ixJywn2YbYqtmK2KzYqSDZg9in2YXZhNipJywn2YbYs9iuJywn2KrYtdiv2YrYsScsJ9il2LPYqtmK2LHYp9ivJywn2KjYrdirINmB2Yog2KfZhNis2K/Yp9mI2YQnLCfYrNiv2YjZhCcsJ9in2YTYo9iz2LfYsScsJywnLCfZhdiu2LfYtyDYrtin2LfYpi4nKTticmVhazt9aWYoZXh0ZW5zaW9uX2xvYWRlZCgncGRvJykpe2NsYXNzCk1pbl9QRE8KZXh0ZW5kcwpQRE97dmFyJF9yZXN1bHQsJHNlcnZlcl9pbmZvLCRhZmZlY3RlZF9yb3dzLCRlcnJvcjtmdW5jdGlvbgpfX2NvbnN0cnVjdCgpe31mdW5jdGlvbgpkc24oJE1kLCRFLCRHLCROZD0nYXV0aF9lcnJvcicpe3NldF9leGNlcHRpb25faGFuZGxlcigkTmQpO3BhcmVudDo6X19jb25zdHJ1Y3QoJE1kLCRFLCRHKTtyZXN0b3JlX2V4Y2VwdGlvbl9oYW5kbGVyKCk7JHRoaXMtPnNldEF0dHJpYnV0ZSgxMyxhcnJheSgnTWluX1BET1N0YXRlbWVudCcpKTskdGhpcy0+c2VydmVyX2luZm89JHRoaXMtPmdldEF0dHJpYnV0ZSg0KTt9ZnVuY3Rpb24KcXVlcnkoJGosJERhPWZhbHNlKXskaT1wYXJlbnQ6OnF1ZXJ5KCRqKTtpZighJGkpeyRVZD0kdGhpcy0+ZXJyb3JJbmZvKCk7JHRoaXMtPmVycm9yPSRVZFsyXTtyZXR1cm4KZmFsc2U7fSR0aGlzLT5zdG9yZV9yZXN1bHQoJGkpO3JldHVybiRpO31mdW5jdGlvbgptdWx0aV9xdWVyeSgkail7cmV0dXJuJHRoaXMtPl9yZXN1bHQ9JHRoaXMtPnF1ZXJ5KCRqKTt9ZnVuY3Rpb24Kc3RvcmVfcmVzdWx0KCRpPW51bGwpe2lmKCEkaSl7JGk9JHRoaXMtPl9yZXN1bHQ7fWlmKCRpLT5jb2x1bW5Db3VudCgpKXskaS0+bnVtX3Jvd3M9JGktPnJvd0NvdW50KCk7cmV0dXJuJGk7fSR0aGlzLT5hZmZlY3RlZF9yb3dzPSRpLT5yb3dDb3VudCgpO3JldHVybgp0cnVlO31mdW5jdGlvbgpuZXh0X3Jlc3VsdCgpe3JldHVybiR0aGlzLT5fcmVzdWx0LT5uZXh0Um93c2V0KCk7fWZ1bmN0aW9uCnJlc3VsdCgkaiwkZz0wKXskaT0kdGhpcy0+cXVlcnkoJGopO2lmKCEkaSl7cmV0dXJuCmZhbHNlO30kYz0kaS0+ZmV0Y2goKTtyZXR1cm4kY1skZ107fX1jbGFzcwpNaW5fUERPU3RhdGVtZW50CmV4dGVuZHMKUERPU3RhdGVtZW50e3ZhciRfb2Zmc2V0PTAsJG51bV9yb3dzO2Z1bmN0aW9uCmZldGNoX2Fzc29jKCl7cmV0dXJuJHRoaXMtPmZldGNoKDIpO31mdW5jdGlvbgpmZXRjaF9yb3coKXtyZXR1cm4kdGhpcy0+ZmV0Y2goMyk7fWZ1bmN0aW9uCmZldGNoX2ZpZWxkKCl7JGM9KG9iamVjdCkkdGhpcy0+Z2V0Q29sdW1uTWV0YSgkdGhpcy0+X29mZnNldCsrKTskYy0+b3JndGFibGU9JGMtPnRhYmxlOyRjLT5vcmduYW1lPSRjLT5uYW1lOyRjLT5jaGFyc2V0bnI9KGluX2FycmF5KCJibG9iIiwkYy0+ZmxhZ3MpPzYzOjApO3JldHVybiRjO319fSR0YT1hcnJheSgpOyR0YVsic3FsaXRlIl09IlNRTGl0ZSAzIjskdGFbInNxbGl0ZTIiXT0iU1FMaXRlIDIiO2lmKGlzc2V0KCRfR0VUWyJzcWxpdGUiXSl8fGlzc2V0KCRfR0VUWyJzcWxpdGUyIl0pKXskSmI9YXJyYXkoKGlzc2V0KCRfR0VUWyJzcWxpdGUiXSk/IlNRTGl0ZTMiOiJTUUxpdGUiKSwiUERPX1NRTGl0ZSIpO2RlZmluZSgiRFJJVkVSIiwoaXNzZXQoJF9HRVRbInNxbGl0ZSJdKT8ic3FsaXRlIjoic3FsaXRlMiIpKTtpZihleHRlbnNpb25fbG9hZGVkKGlzc2V0KCRfR0VUWyJzcWxpdGUiXSk/InNxbGl0ZTMiOiJzcWxpdGUiKSl7aWYoaXNzZXQoJF9HRVRbInNxbGl0ZSJdKSl7Y2xhc3MKTWluX1NRTGl0ZXt2YXIkZXh0ZW5zaW9uPSJTUUxpdGUzIiwkc2VydmVyX2luZm8sJGFmZmVjdGVkX3Jvd3MsJGVycm9yLCRfbGluaztmdW5jdGlvbgpNaW5fU1FMaXRlKCRWKXskdGhpcy0+X2xpbms9bmV3ClNRTGl0ZTMoJFYpOyR3Yz0kdGhpcy0+X2xpbmstPnZlcnNpb24oKTskdGhpcy0+c2VydmVyX2luZm89JHdjWyJ2ZXJzaW9uU3RyaW5nIl07fWZ1bmN0aW9uCnF1ZXJ5KCRqKXskaT1AJHRoaXMtPl9saW5rLT5xdWVyeSgkaik7aWYoISRpKXskdGhpcy0+ZXJyb3I9JHRoaXMtPl9saW5rLT5sYXN0RXJyb3JNc2coKTtyZXR1cm4KZmFsc2U7fWVsc2VpZigkaS0+bnVtQ29sdW1ucygpKXtyZXR1cm4KbmV3Ck1pbl9SZXN1bHQoJGkpO30kdGhpcy0+YWZmZWN0ZWRfcm93cz0kdGhpcy0+X2xpbmstPmNoYW5nZXMoKTtyZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24KcXVvdGUoJHgpe3JldHVybiInIi4kdGhpcy0+X2xpbmstPmVzY2FwZVN0cmluZygkeCkuIiciO31mdW5jdGlvbgpzdG9yZV9yZXN1bHQoKXtyZXR1cm4kdGhpcy0+X3Jlc3VsdDt9ZnVuY3Rpb24KcmVzdWx0KCRqLCRnPTApeyRpPSR0aGlzLT5xdWVyeSgkaik7aWYoIWlzX29iamVjdCgkaSkpe3JldHVybgpmYWxzZTt9JGM9JGktPl9yZXN1bHQtPmZldGNoQXJyYXkoKTtyZXR1cm4kY1skZ107fX1jbGFzcwpNaW5fUmVzdWx0e3ZhciRfcmVzdWx0LCRfb2Zmc2V0PTAsJG51bV9yb3dzO2Z1bmN0aW9uCk1pbl9SZXN1bHQoJGkpeyR0aGlzLT5fcmVzdWx0PSRpO31mdW5jdGlvbgpmZXRjaF9hc3NvYygpe3JldHVybiR0aGlzLT5fcmVzdWx0LT5mZXRjaEFycmF5KFNRTElURTNfQVNTT0MpO31mdW5jdGlvbgpmZXRjaF9yb3coKXtyZXR1cm4kdGhpcy0+X3Jlc3VsdC0+ZmV0Y2hBcnJheShTUUxJVEUzX05VTSk7fWZ1bmN0aW9uCmZldGNoX2ZpZWxkKCl7JHU9JHRoaXMtPl9vZmZzZXQrKzskQT0kdGhpcy0+X3Jlc3VsdC0+Y29sdW1uVHlwZSgkdSk7cmV0dXJuKG9iamVjdClhcnJheSgibmFtZSI9PiR0aGlzLT5fcmVzdWx0LT5jb2x1bW5OYW1lKCR1KSwidHlwZSI9PiRBLCJjaGFyc2V0bnIiPT4oJEE9PVNRTElURTNfQkxPQj82MzowKSwpO31mdW5jdGlvbgpfX2Rlc2N0cnVjdCgpe3JldHVybiR0aGlzLT5fcmVzdWx0LT5maW5hbGl6ZSgpO319fWVsc2V7Y2xhc3MKTWluX1NRTGl0ZXt2YXIkZXh0ZW5zaW9uPSJTUUxpdGUiLCRzZXJ2ZXJfaW5mbywkYWZmZWN0ZWRfcm93cywkZXJyb3IsJF9saW5rO2Z1bmN0aW9uCk1pbl9TUUxpdGUoJFYpeyR0aGlzLT5zZXJ2ZXJfaW5mbz1zcWxpdGVfbGlidmVyc2lvbigpOyR0aGlzLT5fbGluaz1uZXcKU1FMaXRlRGF0YWJhc2UoJFYpO31mdW5jdGlvbgpxdWVyeSgkaiwkRGE9ZmFsc2UpeyRaZD0oJERhPyJ1bmJ1ZmZlcmVkUXVlcnkiOiJxdWVyeSIpOyRpPUAkdGhpcy0+X2xpbmstPiRaZCgkaixTUUxJVEVfQk9USCwkcCk7aWYoISRpKXskdGhpcy0+ZXJyb3I9JHA7cmV0dXJuCmZhbHNlO31lbHNlaWYoJGk9PT10cnVlKXskdGhpcy0+YWZmZWN0ZWRfcm93cz0kdGhpcy0+Y2hhbmdlcygpO3JldHVybgp0cnVlO31yZXR1cm4KbmV3Ck1pbl9SZXN1bHQoJGkpO31mdW5jdGlvbgpxdW90ZSgkeCl7cmV0dXJuIiciLnNxbGl0ZV9lc2NhcGVfc3RyaW5nKCR4KS4iJyI7fWZ1bmN0aW9uCnN0b3JlX3Jlc3VsdCgpe3JldHVybiR0aGlzLT5fcmVzdWx0O31mdW5jdGlvbgpyZXN1bHQoJGosJGc9MCl7JGk9JHRoaXMtPnF1ZXJ5KCRqKTtpZighaXNfb2JqZWN0KCRpKSl7cmV0dXJuCmZhbHNlO30kYz0kaS0+X3Jlc3VsdC0+ZmV0Y2goKTtyZXR1cm4kY1skZ107fX1jbGFzcwpNaW5fUmVzdWx0e3ZhciRfcmVzdWx0LCRfb2Zmc2V0PTAsJG51bV9yb3dzO2Z1bmN0aW9uCk1pbl9SZXN1bHQoJGkpeyR0aGlzLT5fcmVzdWx0PSRpO2lmKG1ldGhvZF9leGlzdHMoJGksJ251bVJvd3MnKSl7JHRoaXMtPm51bV9yb3dzPSRpLT5udW1Sb3dzKCk7fX1mdW5jdGlvbgpmZXRjaF9hc3NvYygpeyRjPSR0aGlzLT5fcmVzdWx0LT5mZXRjaChTUUxJVEVfQVNTT0MpO2lmKCEkYyl7cmV0dXJuCmZhbHNlO30kYj1hcnJheSgpO2ZvcmVhY2goJGMKYXMkZD0+JGEpeyRiWygkZFswXT09JyInP2lkZl91bmVzY2FwZSgkZCk6JGQpXT0kYTt9cmV0dXJuJGI7fWZ1bmN0aW9uCmZldGNoX3Jvdygpe3JldHVybiR0aGlzLT5fcmVzdWx0LT5mZXRjaChTUUxJVEVfTlVNKTt9ZnVuY3Rpb24KZmV0Y2hfZmllbGQoKXskZT0kdGhpcy0+X3Jlc3VsdC0+ZmllbGROYW1lKCR0aGlzLT5fb2Zmc2V0KyspOyRTPScoXFxbLipdfCIoPzpbXiJdfCIiKSoifCguKykpJztpZihwcmVnX21hdGNoKCJ+XigkU1xcLik/JFNcJH4iLCRlLCRrKSl7JGg9KCRrWzNdIT0iIj8ka1szXTppZGZfdW5lc2NhcGUoJGtbMl0pKTskZT0oJGtbNV0hPSIiPyRrWzVdOmlkZl91bmVzY2FwZSgka1s0XSkpO31yZXR1cm4ob2JqZWN0KWFycmF5KCJuYW1lIj0+JGUsIm9yZ25hbWUiPT4kZSwib3JndGFibGUiPT4kaCwpO319fX1lbHNlaWYoZXh0ZW5zaW9uX2xvYWRlZCgicGRvX3NxbGl0ZSIpKXtjbGFzcwpNaW5fU1FMaXRlCmV4dGVuZHMKTWluX1BET3t2YXIkZXh0ZW5zaW9uPSJQRE9fU1FMaXRlIjtmdW5jdGlvbgpNaW5fU1FMaXRlKCRWKXskdGhpcy0+ZHNuKERSSVZFUi4iOiRWIiwiIiwiIik7fX19aWYoY2xhc3NfZXhpc3RzKCJNaW5fU1FMaXRlIikpe2NsYXNzCk1pbl9EQgpleHRlbmRzCk1pbl9TUUxpdGV7ZnVuY3Rpb24KTWluX0RCKCl7JHRoaXMtPk1pbl9TUUxpdGUoIjptZW1vcnk6Iik7fWZ1bmN0aW9uCnNlbGVjdF9kYigkVil7aWYoaXNfcmVhZGFibGUoJFYpJiYkdGhpcy0+cXVlcnkoIkFUVEFDSCAiLiR0aGlzLT5xdW90ZShlcmVnKCIoXlsvXFxdfDopIiwkVik/JFY6ZGlybmFtZSgkX1NFUlZFUlsiU0NSSVBUX0ZJTEVOQU1FIl0pLiIvJFYiKS4iIEFTIGEiKSl7JHRoaXMtPk1pbl9TUUxpdGUoJFYpO3JldHVybgp0cnVlO31yZXR1cm4KZmFsc2U7fWZ1bmN0aW9uCm11bHRpX3F1ZXJ5KCRqKXtyZXR1cm4kdGhpcy0+X3Jlc3VsdD0kdGhpcy0+cXVlcnkoJGopO31mdW5jdGlvbgpuZXh0X3Jlc3VsdCgpe3JldHVybgpmYWxzZTt9fX1mdW5jdGlvbgppZGZfZXNjYXBlKCRCKXtyZXR1cm4nIicuc3RyX3JlcGxhY2UoJyInLCciIicsJEIpLiciJzt9ZnVuY3Rpb24KdGFibGUoJEIpe3JldHVybgppZGZfZXNjYXBlKCRCKTt9ZnVuY3Rpb24KY29ubmVjdCgpe3JldHVybgpuZXcKTWluX0RCO31mdW5jdGlvbgpnZXRfZGF0YWJhc2VzKCl7cmV0dXJuCmFycmF5KCk7fWZ1bmN0aW9uCmxpbWl0KCRqLCRtLCRGLCRUPTAsJGlhPSIgIil7cmV0dXJuIiAkaiRtIi4oaXNzZXQoJEYpPyRpYS4iTElNSVQgJEYiLigkVD8iIE9GRlNFVCAkVCI6IiIpOiIiKTt9ZnVuY3Rpb24KbGltaXQxKCRqLCRtKXtnbG9iYWwkZjtyZXR1cm4oJGYtPnJlc3VsdCgiU0VMRUNUIHNxbGl0ZV9jb21waWxlb3B0aW9uX3VzZWQoJ0VOQUJMRV9VUERBVEVfREVMRVRFX0xJTUlUJykiKT9saW1pdCgkaiwkbSwxKToiICRqJG0iKTt9ZnVuY3Rpb24KZGJfY29sbGF0aW9uKCRDLCRIYil7Z2xvYmFsJGY7cmV0dXJuJGYtPnJlc3VsdCgiUFJBR01BIGVuY29kaW5nIik7fWZ1bmN0aW9uCmVuZ2luZXMoKXtyZXR1cm4KYXJyYXkoKTt9ZnVuY3Rpb24KbG9nZ2VkX3VzZXIoKXtyZXR1cm4KZ2V0X2N1cnJlbnRfdXNlcigpO31mdW5jdGlvbgp0YWJsZXNfbGlzdCgpe3JldHVybgpnZXRfa2V5X3ZhbHMoIlNFTEVDVCBuYW1lLCB0eXBlIEZST00gc3FsaXRlX21hc3RlciBXSEVSRSB0eXBlIElOICgndGFibGUnLCAndmlldycpIE9SREVSIEJZIChuYW1lID0gJ3NxbGl0ZV9zZXF1ZW5jZScpLCBuYW1lIiwxKTt9ZnVuY3Rpb24KY291bnRfdGFibGVzKCRQKXtyZXR1cm4KYXJyYXkoKTt9ZnVuY3Rpb24KdGFibGVfc3RhdHVzKCRlPSIiKXskYj1hcnJheSgpO2ZvcmVhY2goZ2V0X3Jvd3MoIlNFTEVDVCBuYW1lIEFTIE5hbWUsIHR5cGUgQVMgRW5naW5lIEZST00gc3FsaXRlX21hc3RlciBXSEVSRSB0eXBlIElOICgndGFibGUnLCAndmlldycpIi4oJGUhPSIiPyIgQU5EIG5hbWUgPSAiLnEoJGUpOiIiKSlhcyRjKXskY1siQXV0b19pbmNyZW1lbnQiXT0iIjskYlskY1siTmFtZSJdXT0kYzt9Zm9yZWFjaChnZXRfcm93cygiU0VMRUNUICogRlJPTSBzcWxpdGVfc2VxdWVuY2UiLG51bGwsIiIpYXMkYyl7JGJbJGNbIm5hbWUiXV1bIkF1dG9faW5jcmVtZW50Il09JGNbInNlcSJdO31yZXR1cm4oJGUhPSIiPyRiWyRlXTokYik7fWZ1bmN0aW9uCmlzX3ZpZXcoJEQpe3JldHVybiREWyJFbmdpbmUiXT09InZpZXciO31mdW5jdGlvbgpma19zdXBwb3J0KCREKXtnbG9iYWwkZjtyZXR1cm4hJGYtPnJlc3VsdCgiU0VMRUNUIHNxbGl0ZV9jb21waWxlb3B0aW9uX3VzZWQoJ09NSVRfRk9SRUlHTl9LRVknKSIpO31mdW5jdGlvbgpmaWVsZHMoJGgpeyRiPWFycmF5KCk7Zm9yZWFjaChnZXRfcm93cygiUFJBR01BIHRhYmxlX2luZm8oIi50YWJsZSgkaCkuIikiKWFzJGMpeyRBPXN0cnRvbG93ZXIoJGNbInR5cGUiXSk7JGtiPSRjWyJkZmx0X3ZhbHVlIl07JGJbJGNbIm5hbWUiXV09YXJyYXkoImZpZWxkIj0+JGNbIm5hbWUiXSwidHlwZSI9PihlcmVnaSgiaW50IiwkQSk/ImludGVnZXIiOihlcmVnaSgiY2hhcnxjbG9ifHRleHQiLCRBKT8idGV4dCI6KGVyZWdpKCJibG9iIiwkQSk/ImJsb2IiOihlcmVnaSgicmVhbHxmbG9hfGRvdWIiLCRBKT8icmVhbCI6Im51bWVyaWMiKSkpKSwiZnVsbF90eXBlIj0+JEEsImRlZmF1bHQiPT4oZXJlZygiJyguKiknIiwka2IsJGspP3N0cl9yZXBsYWNlKCInJyIsIiciLCRrWzFdKTooJGtiPT0iTlVMTCI/bnVsbDoka2IpKSwibnVsbCI9PiEkY1sibm90bnVsbCJdLCJhdXRvX2luY3JlbWVudCI9PmVyZWdpKCdeaW50ZWdlciQnLCRBKSYmJGNbInBrIl0sInByaXZpbGVnZXMiPT5hcnJheSgic2VsZWN0Ij0+MSwiaW5zZXJ0Ij0+MSwidXBkYXRlIj0+MSksInByaW1hcnkiPT4kY1sicGsiXSwpO31yZXR1cm4kYjt9ZnVuY3Rpb24KaW5kZXhlcygkaCwkTT1udWxsKXskYj1hcnJheSgpOyR1YT1hcnJheSgpO2ZvcmVhY2goZmllbGRzKCRoKWFzJGcpe2lmKCRnWyJwcmltYXJ5Il0peyR1YVtdPSRnWyJmaWVsZCJdO319aWYoJHVhKXskYlsiIl09YXJyYXkoInR5cGUiPT4iUFJJTUFSWSIsImNvbHVtbnMiPT4kdWEsImxlbmd0aHMiPT5hcnJheSgpKTt9Zm9yZWFjaChnZXRfcm93cygiUFJBR01BIGluZGV4X2xpc3QoIi50YWJsZSgkaCkuIikiKWFzJGMpeyRiWyRjWyJuYW1lIl1dWyJ0eXBlIl09KCRjWyJ1bmlxdWUiXT8iVU5JUVVFIjoiSU5ERVgiKTskYlskY1sibmFtZSJdXVsibGVuZ3RocyJdPWFycmF5KCk7Zm9yZWFjaChnZXRfcm93cygiUFJBR01BIGluZGV4X2luZm8oIi5pZGZfZXNjYXBlKCRjWyJuYW1lIl0pLiIpIilhcyRBZCl7JGJbJGNbIm5hbWUiXV1bImNvbHVtbnMiXVtdPSRBZFsibmFtZSJdO319cmV0dXJuJGI7fWZ1bmN0aW9uCmZvcmVpZ25fa2V5cygkaCl7JGI9YXJyYXkoKTtmb3JlYWNoKGdldF9yb3dzKCJQUkFHTUEgZm9yZWlnbl9rZXlfbGlzdCgiLnRhYmxlKCRoKS4iKSIpYXMkYyl7JEk9JiRiWyRjWyJpZCJdXTtpZighJEkpeyRJPSRjO30kSVsic291cmNlIl1bXT0kY1siZnJvbSJdOyRJWyJ0YXJnZXQiXVtdPSRjWyJ0byJdO31yZXR1cm4kYjt9ZnVuY3Rpb24KdmlldygkZSl7Z2xvYmFsJGY7cmV0dXJuCmFycmF5KCJzZWxlY3QiPT5wcmVnX3JlcGxhY2UoJ35eKD86W15gIltdK3xgW15gXSpgfCJbXiJdKiIpKiBBU1xccyt+aVUnLCcnLCRmLT5yZXN1bHQoIlNFTEVDVCBzcWwgRlJPTSBzcWxpdGVfbWFzdGVyIFdIRVJFIG5hbWUgPSAiLnEoJGUpKSkpO31mdW5jdGlvbgpjb2xsYXRpb25zKCl7cmV0dXJuKGlzc2V0KCRfR0VUWyJjcmVhdGUiXSk/Z2V0X3ZhbHMoIlBSQUdNQSBjb2xsYXRpb25fbGlzdCIsMSk6YXJyYXkoKSk7fWZ1bmN0aW9uCmluZm9ybWF0aW9uX3NjaGVtYSgkQyl7cmV0dXJuCmZhbHNlO31mdW5jdGlvbgplcnJvcigpe2dsb2JhbCRmO3JldHVybgpoKCRmLT5lcnJvcik7fWZ1bmN0aW9uCmV4YWN0X3ZhbHVlKCRhKXtyZXR1cm4KcSgkYSk7fWZ1bmN0aW9uCmNoZWNrX3NxbGl0ZV9uYW1lKCRlKXtnbG9iYWwkZjskWWM9ImRifHNkYnxzcWxpdGUiO2lmKCFwcmVnX21hdGNoKCJ+XlteXFwwXSpcXC4oJFljKVwkfiIsJGUpKXskZi0+ZXJyb3I9bGFuZyg5LHN0cl9yZXBsYWNlKCJ8IiwiLCAiLCRZYykpO3JldHVybgpmYWxzZTt9cmV0dXJuCnRydWU7fWZ1bmN0aW9uCmNyZWF0ZV9kYXRhYmFzZSgkQywkSCl7Z2xvYmFsJGY7aWYoZmlsZV9leGlzdHMoJEMpKXskZi0+ZXJyb3I9bGFuZygxMCk7cmV0dXJuCmZhbHNlO31pZighY2hlY2tfc3FsaXRlX25hbWUoJEMpKXtyZXR1cm4KZmFsc2U7fSR2PW5ldwpNaW5fU1FMaXRlKCRDKTskdi0+cXVlcnkoJ1BSQUdNQSBlbmNvZGluZyA9ICJVVEYtOCInKTskdi0+cXVlcnkoJ0NSRUFURSBUQUJMRSBhZG1pbmVyIChpKScpOyR2LT5xdWVyeSgnRFJPUCBUQUJMRSBhZG1pbmVyJyk7cmV0dXJuCnRydWU7fWZ1bmN0aW9uCmRyb3BfZGF0YWJhc2VzKCRQKXtnbG9iYWwkZjskZi0+TWluX1NRTGl0ZSgiOm1lbW9yeToiKTtmb3JlYWNoKCRQCmFzJEMpe2lmKCFAdW5saW5rKCRDKSl7JGYtPmVycm9yPWxhbmcoMTApO3JldHVybgpmYWxzZTt9fXJldHVybgp0cnVlO31mdW5jdGlvbgpyZW5hbWVfZGF0YWJhc2UoJGUsJEgpe2dsb2JhbCRmO2lmKCFjaGVja19zcWxpdGVfbmFtZSgkZSkpe3JldHVybgpmYWxzZTt9JGYtPk1pbl9TUUxpdGUoIjptZW1vcnk6Iik7JGYtPmVycm9yPWxhbmcoMTApO3JldHVybkByZW5hbWUoREIsJGUpO31mdW5jdGlvbgphdXRvX2luY3JlbWVudCgpe3JldHVybiIgUFJJTUFSWSBLRVkiLihEUklWRVI9PSJzcWxpdGUiPyIgQVVUT0lOQ1JFTUVOVCI6IiIpO31mdW5jdGlvbgphbHRlcl90YWJsZSgkaCwkZSwkdCwkSmEsJFhhLCRnYiwkSCwkeWEsJHNiKXskcj1hcnJheSgpO2ZvcmVhY2goJHQKYXMkZyl7aWYoJGdbMV0peyRyW109KCRoIT0iIiYmJGdbMF09PSIiPyJBREQgIjoiICAiKS5pbXBsb2RlKCRnWzFdKTt9fSRyPWFycmF5X21lcmdlKCRyLCRKYSk7aWYoJGghPSIiKXtmb3JlYWNoKCRyCmFzJGEpe2lmKCFxdWVyaWVzKCJBTFRFUiBUQUJMRSAiLnRhYmxlKCRoKS4iICRhIikpe3JldHVybgpmYWxzZTt9fWlmKCRoIT0kZSYmIXF1ZXJpZXMoIkFMVEVSIFRBQkxFICIudGFibGUoJGgpLiIgUkVOQU1FIFRPICIudGFibGUoJGUpKSl7cmV0dXJuCmZhbHNlO319ZWxzZWlmKCFxdWVyaWVzKCJDUkVBVEUgVEFCTEUgIi50YWJsZSgkZSkuIiAoXG4iLmltcGxvZGUoIixcbiIsJHIpLiJcbikiKSl7cmV0dXJuCmZhbHNlO31pZigkeWEpe3F1ZXJpZXMoIlVQREFURSBzcWxpdGVfc2VxdWVuY2UgU0VUIHNlcSA9ICR5YSBXSEVSRSBuYW1lID0gIi5xKCRlKSk7fXJldHVybgp0cnVlO31mdW5jdGlvbgphbHRlcl9pbmRleGVzKCRoLCRyKXtmb3JlYWNoKCRyCmFzJGEpe2lmKCFxdWVyaWVzKCgkYVsyXT8iRFJPUCBJTkRFWCI6IkNSRUFURSIuKCRhWzBdIT0iSU5ERVgiPyIgVU5JUVVFIjoiIikuIiBJTkRFWCAiLmlkZl9lc2NhcGUodW5pcWlkKCRoLiJfIikpLiIgT04gIi50YWJsZSgkaCkpLiIgJGFbMV0iKSl7cmV0dXJuCmZhbHNlO319cmV0dXJuCnRydWU7fWZ1bmN0aW9uCnRydW5jYXRlX3RhYmxlcygkeil7cmV0dXJuCmFwcGx5X3F1ZXJpZXMoIkRFTEVURSBGUk9NIiwkeik7fWZ1bmN0aW9uCmRyb3Bfdmlld3MoJFcpe3JldHVybgphcHBseV9xdWVyaWVzKCJEUk9QIFZJRVciLCRXKTt9ZnVuY3Rpb24KZHJvcF90YWJsZXMoJHope3JldHVybgphcHBseV9xdWVyaWVzKCJEUk9QIFRBQkxFIiwkeik7fWZ1bmN0aW9uCm1vdmVfdGFibGVzKCR6LCRXLCRvYSl7cmV0dXJuCmZhbHNlO31mdW5jdGlvbgp0cmlnZ2VyKCRlKXtnbG9iYWwkZjtwcmVnX21hdGNoKCd+XkNSRUFURVxccytUUklHR0VSXFxzKig/OlteYCJcXHNdK3xgW15gXSpgfCJbXiJdKiIpK1xccyooW2Etel0rKVxccysoW2Etel0rKVxccytPTlxccyooPzpbXmAiXFxzXSt8YFteYF0qYHwiW14iXSoiKStcXHMqKD86Rk9SXFxzKkVBQ0hcXHMqUk9XXFxzKT8oLiopfmlzJywkZi0+cmVzdWx0KCJTRUxFQ1Qgc3FsIEZST00gc3FsaXRlX21hc3RlciBXSEVSRSBuYW1lID0gIi5xKCRlKSksJGspO3JldHVybgphcnJheSgiVGltaW5nIj0+c3RydG91cHBlcigka1sxXSksIkV2ZW50Ij0+c3RydG91cHBlcigka1syXSksIlRyaWdnZXIiPT4kZSwiU3RhdGVtZW50Ij0+JGtbM10pO31mdW5jdGlvbgp0cmlnZ2VycygkaCl7JGI9YXJyYXkoKTtmb3JlYWNoKGdldF9yb3dzKCJTRUxFQ1QgKiBGUk9NIHNxbGl0ZV9tYXN0ZXIgV0hFUkUgdHlwZSA9ICd0cmlnZ2VyJyBBTkQgdGJsX25hbWUgPSAiLnEoJGgpKWFzJGMpe3ByZWdfbWF0Y2goJ35eQ1JFQVRFXFxzK1RSSUdHRVJcXHMqKD86W15gIlxcc10rfGBbXmBdKmB8IlteIl0qIikrXFxzKihbYS16XSspXFxzKihbYS16XSspfmknLCRjWyJzcWwiXSwkayk7JGJbJGNbIm5hbWUiXV09YXJyYXkoJGtbMV0sJGtbMl0pO31yZXR1cm4kYjt9ZnVuY3Rpb24KdHJpZ2dlcl9vcHRpb25zKCl7cmV0dXJuCmFycmF5KCJUaW1pbmciPT5hcnJheSgiQkVGT1JFIiwiQUZURVIiLCJJTlNURUFEIE9GIiksIlR5cGUiPT5hcnJheSgiRk9SIEVBQ0ggUk9XIiksKTt9ZnVuY3Rpb24Kcm91dGluZSgkZSwkQSl7fWZ1bmN0aW9uCnJvdXRpbmVzKCl7fWZ1bmN0aW9uCmJlZ2luKCl7cmV0dXJuCnF1ZXJpZXMoIkJFR0lOIik7fWZ1bmN0aW9uCmluc2VydF9pbnRvKCRoLCRvKXtyZXR1cm4KcXVlcmllcygiSU5TRVJUIElOVE8gIi50YWJsZSgkaCkuKCRvPyIgKCIuaW1wbG9kZSgiLCAiLGFycmF5X2tleXMoJG8pKS4iKVxuVkFMVUVTICgiLmltcGxvZGUoIiwgIiwkbykuIikiOiJERUZBVUxUIFZBTFVFUyIpKTt9ZnVuY3Rpb24KaW5zZXJ0X3VwZGF0ZSgkaCwkbywkdWEpe3JldHVybgpxdWVyaWVzKCJSRVBMQUNFIElOVE8gIi50YWJsZSgkaCkuIiAoIi5pbXBsb2RlKCIsICIsYXJyYXlfa2V5cygkbykpLiIpIFZBTFVFUyAoIi5pbXBsb2RlKCIsICIsJG8pLiIpIik7fWZ1bmN0aW9uCmxhc3RfaWQoKXtnbG9iYWwkZjtyZXR1cm4kZi0+cmVzdWx0KCJTRUxFQ1QgTEFTVF9JTlNFUlRfUk9XSUQoKSIpO31mdW5jdGlvbgpleHBsYWluKCRmLCRqKXtyZXR1cm4kZi0+cXVlcnkoIkVYUExBSU4gJGoiKTt9ZnVuY3Rpb24KdHlwZXMoKXtyZXR1cm4KYXJyYXkoKTt9ZnVuY3Rpb24Kc2NoZW1hcygpe3JldHVybgphcnJheSgpO31mdW5jdGlvbgpnZXRfc2NoZW1hKCl7cmV0dXJuIiI7fWZ1bmN0aW9uCnNldF9zY2hlbWEoJEJkKXtyZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24KY3JlYXRlX3NxbCgkaCwkeWEpe2dsb2JhbCRmO3JldHVybiRmLT5yZXN1bHQoIlNFTEVDVCBzcWwgRlJPTSBzcWxpdGVfbWFzdGVyIFdIRVJFIHR5cGUgPSAndGFibGUnIEFORCBuYW1lID0gIi5xKCRoKSk7fWZ1bmN0aW9uCnRydW5jYXRlX3NxbCgkaCl7cmV0dXJuIkRFTEVURSBGUk9NICIudGFibGUoJGgpO31mdW5jdGlvbgp1c2Vfc3FsKCRSKXt9ZnVuY3Rpb24KdHJpZ2dlcl9zcWwoJGgsJHRiKXtyZXR1cm4KaW1wbG9kZShnZXRfdmFscygiU0VMRUNUIHNxbCB8fCAnOztcbicgRlJPTSBzcWxpdGVfbWFzdGVyIFdIRVJFIHR5cGUgPSAndHJpZ2dlcicgQU5EIG5hbWUgPSAiLnEoJGgpKSk7fWZ1bmN0aW9uCnNob3dfdmFyaWFibGVzKCl7Z2xvYmFsJGY7JGI9YXJyYXkoKTtmb3JlYWNoKGFycmF5KCJhdXRvX3ZhY3V1bSIsImNhY2hlX3NpemUiLCJjb3VudF9jaGFuZ2VzIiwiZGVmYXVsdF9jYWNoZV9zaXplIiwiZW1wdHlfcmVzdWx0X2NhbGxiYWNrcyIsImVuY29kaW5nIiwiZm9yZWlnbl9rZXlzIiwiZnVsbF9jb2x1bW5fbmFtZXMiLCJmdWxsZnN5bmMiLCJqb3VybmFsX21vZGUiLCJqb3VybmFsX3NpemVfbGltaXQiLCJsZWdhY3lfZmlsZV9mb3JtYXQiLCJsb2NraW5nX21vZGUiLCJwYWdlX3NpemUiLCJtYXhfcGFnZV9jb3VudCIsInJlYWRfdW5jb21taXR0ZWQiLCJyZWN1cnNpdmVfdHJpZ2dlcnMiLCJyZXZlcnNlX3Vub3JkZXJlZF9zZWxlY3RzIiwic2VjdXJlX2RlbGV0ZSIsInNob3J0X2NvbHVtbl9uYW1lcyIsInN5bmNocm9ub3VzIiwidGVtcF9zdG9yZSIsInRlbXBfc3RvcmVfZGlyZWN0b3J5Iiwic2NoZW1hX3ZlcnNpb24iLCJpbnRlZ3JpdHlfY2hlY2siLCJxdWlja19jaGVjayIpYXMkZCl7JGJbJGRdPSRmLT5yZXN1bHQoIlBSQUdNQSAkZCIpO31yZXR1cm4kYjt9ZnVuY3Rpb24Kc2hvd19zdGF0dXMoKXskYj1hcnJheSgpO2ZvcmVhY2goZ2V0X3ZhbHMoIlBSQUdNQSBjb21waWxlX29wdGlvbnMiKWFzJGJlKXtsaXN0KCRkLCRhKT1leHBsb2RlKCI9IiwkYmUsMik7JGJbJGRdPSRhO31yZXR1cm4kYjt9ZnVuY3Rpb24Kc3VwcG9ydCgkUGEpe3JldHVybgplcmVnKCdeKHZpZXd8dHJpZ2dlcnx2YXJpYWJsZXN8c3RhdHVzfGR1bXApJCcsJFBhKTt9JHZhPSJzcWxpdGUiOyRaPWFycmF5KCJpbnRlZ2VyIj0+MCwicmVhbCI9PjAsIm51bWVyaWMiPT4wLCJ0ZXh0Ij0+MCwiYmxvYiI9PjApOyRIYT1hcnJheV9rZXlzKCRaKTskR2I9YXJyYXkoKTskdWI9YXJyYXkoIj0iLCI8IiwiPiIsIjw9IiwiPj0iLCIhPSIsIkxJS0UiLCJMSUtFICUlIiwiSU4iLCJJUyBOVUxMIiwiTk9UIExJS0UiLCJOT1QgSU4iLCJJUyBOT1QgTlVMTCIsIiIpOyRlYT1hcnJheSgiaGV4IiwibGVuZ3RoIiwibG93ZXIiLCJyb3VuZCIsInVuaXhlcG9jaCIsInVwcGVyIik7JEliPWFycmF5KCJhdmciLCJjb3VudCIsImNvdW50IGRpc3RpbmN0IiwiZ3JvdXBfY29uY2F0IiwibWF4IiwibWluIiwic3VtIik7JEZiPWFycmF5KGFycmF5KCksYXJyYXkoImludGVnZXJ8cmVhbHxudW1lcmljIj0+IisvLSIsInRleHQiPT4ifHwiLCkpO30kdGFbInBnc3FsIl09IlBvc3RncmVTUUwiO2lmKGlzc2V0KCRfR0VUWyJwZ3NxbCJdKSl7JEpiPWFycmF5KCJQZ1NRTCIsIlBET19QZ1NRTCIpO2RlZmluZSgiRFJJVkVSIiwicGdzcWwiKTtpZihleHRlbnNpb25fbG9hZGVkKCJwZ3NxbCIpKXtjbGFzcwpNaW5fREJ7dmFyJGV4dGVuc2lvbj0iUGdTUUwiLCRfbGluaywkX3Jlc3VsdCwkX3N0cmluZywkX2RhdGFiYXNlPXRydWUsJHNlcnZlcl9pbmZvLCRhZmZlY3RlZF9yb3dzLCRlcnJvcjtmdW5jdGlvbgpfZXJyb3IoJGNlLCRwKXtpZihpbmlfYm9vbCgiaHRtbF9lcnJvcnMiKSl7JHA9aHRtbF9lbnRpdHlfZGVjb2RlKHN0cmlwX3RhZ3MoJHApKTt9JHA9ZXJlZ19yZXBsYWNlKCdeW146XSo6ICcsJycsJHApOyR0aGlzLT5lcnJvcj0kcDt9ZnVuY3Rpb24KY29ubmVjdCgkXywkRSwkRyl7c2V0X2Vycm9yX2hhbmRsZXIoYXJyYXkoJHRoaXMsJ19lcnJvcicpKTskdGhpcy0+X3N0cmluZz0iaG9zdD0nIi5zdHJfcmVwbGFjZSgiOiIsIicgcG9ydD0nIixhZGRjc2xhc2hlcygkXywiJ1xcIikpLiInIHVzZXI9JyIuYWRkY3NsYXNoZXMoJEUsIidcXCIpLiInIHBhc3N3b3JkPSciLmFkZGNzbGFzaGVzKCRHLCInXFwiKS4iJyI7JHRoaXMtPl9saW5rPUBwZ19jb25uZWN0KCR0aGlzLT5fc3RyaW5nLihEQiE9IiI/IiBkYm5hbWU9JyIuYWRkY3NsYXNoZXMoREIsIidcXCIpLiInIjoiIGRibmFtZT0ndGVtcGxhdGUxJyIpLFBHU1FMX0NPTk5FQ1RfRk9SQ0VfTkVXKTtpZighJHRoaXMtPl9saW5rJiZEQiE9IiIpeyR0aGlzLT5fZGF0YWJhc2U9ZmFsc2U7JHRoaXMtPl9saW5rPUBwZ19jb25uZWN0KCIkdGhpcy0+X3N0cmluZyBkYm5hbWU9J3RlbXBsYXRlMSciLFBHU1FMX0NPTk5FQ1RfRk9SQ0VfTkVXKTt9cmVzdG9yZV9lcnJvcl9oYW5kbGVyKCk7aWYoJHRoaXMtPl9saW5rKXskd2M9cGdfdmVyc2lvbigkdGhpcy0+X2xpbmspOyR0aGlzLT5zZXJ2ZXJfaW5mbz0kd2NbInNlcnZlciJdO3BnX3NldF9jbGllbnRfZW5jb2RpbmcoJHRoaXMtPl9saW5rLCJVVEY4Iik7fXJldHVybihib29sKSR0aGlzLT5fbGluazt9ZnVuY3Rpb24KcXVvdGUoJHgpe3JldHVybiInIi5wZ19lc2NhcGVfc3RyaW5nKCR0aGlzLT5fbGluaywkeCkuIiciO31mdW5jdGlvbgpzZWxlY3RfZGIoJFIpe2lmKCRSPT1EQil7cmV0dXJuJHRoaXMtPl9kYXRhYmFzZTt9JGI9QHBnX2Nvbm5lY3QoIiR0aGlzLT5fc3RyaW5nIGRibmFtZT0nIi5hZGRjc2xhc2hlcygkUiwiJ1xcIikuIiciLFBHU1FMX0NPTk5FQ1RfRk9SQ0VfTkVXKTtpZigkYil7JHRoaXMtPl9saW5rPSRiO31yZXR1cm4kYjt9ZnVuY3Rpb24KY2xvc2UoKXskdGhpcy0+X2xpbms9QHBnX2Nvbm5lY3QoIiR0aGlzLT5fc3RyaW5nIGRibmFtZT0ndGVtcGxhdGUxJyIpO31mdW5jdGlvbgpxdWVyeSgkaiwkRGE9ZmFsc2UpeyRpPUBwZ19xdWVyeSgkdGhpcy0+X2xpbmssJGopO2lmKCEkaSl7JHRoaXMtPmVycm9yPXBnX2xhc3RfZXJyb3IoJHRoaXMtPl9saW5rKTtyZXR1cm4KZmFsc2U7fWVsc2VpZighcGdfbnVtX2ZpZWxkcygkaSkpeyR0aGlzLT5hZmZlY3RlZF9yb3dzPXBnX2FmZmVjdGVkX3Jvd3MoJGkpO3JldHVybgp0cnVlO31yZXR1cm4KbmV3Ck1pbl9SZXN1bHQoJGkpO31mdW5jdGlvbgptdWx0aV9xdWVyeSgkail7cmV0dXJuJHRoaXMtPl9yZXN1bHQ9JHRoaXMtPnF1ZXJ5KCRqKTt9ZnVuY3Rpb24Kc3RvcmVfcmVzdWx0KCl7cmV0dXJuJHRoaXMtPl9yZXN1bHQ7fWZ1bmN0aW9uCm5leHRfcmVzdWx0KCl7cmV0dXJuCmZhbHNlO31mdW5jdGlvbgpyZXN1bHQoJGosJGc9MCl7JGk9JHRoaXMtPnF1ZXJ5KCRqKTtpZighJGl8fCEkaS0+bnVtX3Jvd3Mpe3JldHVybgpmYWxzZTt9cmV0dXJuCnBnX2ZldGNoX3Jlc3VsdCgkaS0+X3Jlc3VsdCwwLCRnKTt9fWNsYXNzCk1pbl9SZXN1bHR7dmFyJF9yZXN1bHQsJF9vZmZzZXQ9MCwkbnVtX3Jvd3M7ZnVuY3Rpb24KTWluX1Jlc3VsdCgkaSl7JHRoaXMtPl9yZXN1bHQ9JGk7JHRoaXMtPm51bV9yb3dzPXBnX251bV9yb3dzKCRpKTt9ZnVuY3Rpb24KZmV0Y2hfYXNzb2MoKXtyZXR1cm4KcGdfZmV0Y2hfYXNzb2MoJHRoaXMtPl9yZXN1bHQpO31mdW5jdGlvbgpmZXRjaF9yb3coKXtyZXR1cm4KcGdfZmV0Y2hfcm93KCR0aGlzLT5fcmVzdWx0KTt9ZnVuY3Rpb24KZmV0Y2hfZmllbGQoKXskdT0kdGhpcy0+X29mZnNldCsrOyRiPW5ldwpzdGRDbGFzcztpZihmdW5jdGlvbl9leGlzdHMoJ3BnX2ZpZWxkX3RhYmxlJykpeyRiLT5vcmd0YWJsZT1wZ19maWVsZF90YWJsZSgkdGhpcy0+X3Jlc3VsdCwkdSk7fSRiLT5uYW1lPXBnX2ZpZWxkX25hbWUoJHRoaXMtPl9yZXN1bHQsJHUpOyRiLT5vcmduYW1lPSRiLT5uYW1lOyRiLT50eXBlPXBnX2ZpZWxkX3R5cGUoJHRoaXMtPl9yZXN1bHQsJHUpOyRiLT5jaGFyc2V0bnI9KCRiLT50eXBlPT0iYnl0ZWEiPzYzOjApO3JldHVybiRiO31mdW5jdGlvbgpfX2Rlc3RydWN0KCl7cGdfZnJlZV9yZXN1bHQoJHRoaXMtPl9yZXN1bHQpO319fWVsc2VpZihleHRlbnNpb25fbG9hZGVkKCJwZG9fcGdzcWwiKSl7Y2xhc3MKTWluX0RCCmV4dGVuZHMKTWluX1BET3t2YXIkZXh0ZW5zaW9uPSJQRE9fUGdTUUwiO2Z1bmN0aW9uCmNvbm5lY3QoJF8sJEUsJEcpeyR4PSJwZ3NxbDpob3N0PSciLnN0cl9yZXBsYWNlKCI6IiwiJyBwb3J0PSciLGFkZGNzbGFzaGVzKCRfLCInXFwiKSkuIicgb3B0aW9ucz0nLWMgY2xpZW50X2VuY29kaW5nPXV0ZjgnIjskdGhpcy0+ZHNuKCR4LihEQiE9IiI/IiBkYm5hbWU9JyIuYWRkY3NsYXNoZXMoREIsIidcXCIpLiInIjoiIiksJEUsJEcpO3JldHVybgp0cnVlO31mdW5jdGlvbgpzZWxlY3RfZGIoJFIpe3JldHVybihEQj09JFIpO31mdW5jdGlvbgpjbG9zZSgpe319fWZ1bmN0aW9uCmlkZl9lc2NhcGUoJEIpe3JldHVybiciJy5zdHJfcmVwbGFjZSgnIicsJyIiJywkQikuJyInO31mdW5jdGlvbgp0YWJsZSgkQil7cmV0dXJuCmlkZl9lc2NhcGUoJEIpO31mdW5jdGlvbgpjb25uZWN0KCl7Z2xvYmFsJGw7JGY9bmV3Ck1pbl9EQjskZ2E9JGwtPmNyZWRlbnRpYWxzKCk7aWYoJGYtPmNvbm5lY3QoJGdhWzBdLCRnYVsxXSwkZ2FbMl0pKXtyZXR1cm4kZjt9cmV0dXJuJGYtPmVycm9yO31mdW5jdGlvbgpnZXRfZGF0YWJhc2VzKCl7cmV0dXJuCmdldF92YWxzKCJTRUxFQ1QgZGF0bmFtZSBGUk9NIHBnX2RhdGFiYXNlIik7fWZ1bmN0aW9uCmxpbWl0KCRqLCRtLCRGLCRUPTAsJGlhPSIgIil7cmV0dXJuIiAkaiRtIi4oaXNzZXQoJEYpPyRpYS4iTElNSVQgJEYiLigkVD8iIE9GRlNFVCAkVCI6IiIpOiIiKTt9ZnVuY3Rpb24KbGltaXQxKCRqLCRtKXtyZXR1cm4iICRqJG0iO31mdW5jdGlvbgpkYl9jb2xsYXRpb24oJEMsJEhiKXtnbG9iYWwkZjtyZXR1cm4kZi0+cmVzdWx0KCJTSE9XIExDX0NPTExBVEUiKTt9ZnVuY3Rpb24KZW5naW5lcygpe3JldHVybgphcnJheSgpO31mdW5jdGlvbgpsb2dnZWRfdXNlcigpe2dsb2JhbCRmO3JldHVybiRmLT5yZXN1bHQoIlNFTEVDVCB1c2VyIik7fWZ1bmN0aW9uCnRhYmxlc19saXN0KCl7cmV0dXJuCmdldF9rZXlfdmFscygiU0VMRUNUIHRhYmxlX25hbWUsIHRhYmxlX3R5cGUgRlJPTSBpbmZvcm1hdGlvbl9zY2hlbWEudGFibGVzIFdIRVJFIHRhYmxlX3NjaGVtYSA9IGN1cnJlbnRfc2NoZW1hKCkgT1JERVIgQlkgdGFibGVfbmFtZSIpO31mdW5jdGlvbgpjb3VudF90YWJsZXMoJFApe3JldHVybgphcnJheSgpO31mdW5jdGlvbgp0YWJsZV9zdGF0dXMoJGU9IiIpeyRiPWFycmF5KCk7Zm9yZWFjaChnZXRfcm93cygiU0VMRUNUIHJlbG5hbWUgQVMgXCJOYW1lXCIsIENBU0UgcmVsa2luZCBXSEVOICdyJyBUSEVOICcnIEVMU0UgJ3ZpZXcnIEVORCBBUyBcIkVuZ2luZVwiLCBwZ19yZWxhdGlvbl9zaXplKG9pZCkgQVMgXCJEYXRhX2xlbmd0aFwiLCBwZ190b3RhbF9yZWxhdGlvbl9zaXplKG9pZCkgLSBwZ19yZWxhdGlvbl9zaXplKG9pZCkgQVMgXCJJbmRleF9sZW5ndGhcIiwgb2JqX2Rlc2NyaXB0aW9uKG9pZCwgJ3BnX2NsYXNzJykgQVMgXCJDb21tZW50XCIsIHJlbGhhc29pZHMgQVMgXCJPaWRcIgpGUk9NIHBnX2NsYXNzCldIRVJFIHJlbGtpbmQgSU4gKCdyJywndicpCkFORCByZWxuYW1lc3BhY2UgPSAoU0VMRUNUIG9pZCBGUk9NIHBnX25hbWVzcGFjZSBXSEVSRSBuc3BuYW1lID0gY3VycmVudF9zY2hlbWEoKSkiLigkZSE9IiI/IiBBTkQgcmVsbmFtZSA9ICIucSgkZSk6IiIpKWFzJGMpeyRiWyRjWyJOYW1lIl1dPSRjO31yZXR1cm4oJGUhPSIiPyRiWyRlXTokYik7fWZ1bmN0aW9uCmlzX3ZpZXcoJEQpe3JldHVybiREWyJFbmdpbmUiXT09InZpZXciO31mdW5jdGlvbgpma19zdXBwb3J0KCREKXtyZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24KZmllbGRzKCRoKXskYj1hcnJheSgpO2ZvcmVhY2goZ2V0X3Jvd3MoIlNFTEVDVCBhLmF0dG5hbWUgQVMgZmllbGQsIGZvcm1hdF90eXBlKGEuYXR0dHlwaWQsIGEuYXR0dHlwbW9kKSBBUyBmdWxsX3R5cGUsIGQuYWRzcmMgQVMgZGVmYXVsdCwgYS5hdHRub3RudWxsLCBjb2xfZGVzY3JpcHRpb24oYy5vaWQsIGEuYXR0bnVtKSBBUyBjb21tZW50CkZST00gcGdfY2xhc3MgYwpKT0lOIHBnX25hbWVzcGFjZSBuIE9OIGMucmVsbmFtZXNwYWNlID0gbi5vaWQKSk9JTiBwZ19hdHRyaWJ1dGUgYSBPTiBjLm9pZCA9IGEuYXR0cmVsaWQKTEVGVCBKT0lOIHBnX2F0dHJkZWYgZCBPTiBjLm9pZCA9IGQuYWRyZWxpZCBBTkQgYS5hdHRudW0gPSBkLmFkbnVtCldIRVJFIGMucmVsbmFtZSA9ICIucSgkaCkuIgpBTkQgbi5uc3BuYW1lID0gY3VycmVudF9zY2hlbWEoKQpBTkQgTk9UIGEuYXR0aXNkcm9wcGVkCkFORCBhLmF0dG51bSA+IDAKT1JERVIgQlkgYS5hdHRudW0iKWFzJGMpe2VyZWcoJyguKikoXFwoKC4qKVxcKSk/JywkY1siZnVsbF90eXBlIl0sJGspO2xpc3QoLCRjWyJ0eXBlIl0sLCRjWyJsZW5ndGgiXSk9JGs7JGNbImZ1bGxfdHlwZSJdPSRjWyJ0eXBlIl0uKCRjWyJsZW5ndGgiXT8iKCRjW2xlbmd0aF0pIjoiIik7JGNbIm51bGwiXT0oJGNbImF0dG5vdG51bGwiXT09ImYiKTskY1siYXV0b19pbmNyZW1lbnQiXT1lcmVnaSgiXm5leHR2YWxcXCgiLCRjWyJkZWZhdWx0Il0pOyRjWyJwcml2aWxlZ2VzIl09YXJyYXkoImluc2VydCI9PjEsInNlbGVjdCI9PjEsInVwZGF0ZSI9PjEpOyRiWyRjWyJmaWVsZCJdXT0kYzt9cmV0dXJuJGI7fWZ1bmN0aW9uCmluZGV4ZXMoJGgsJE09bnVsbCl7Z2xvYmFsJGY7aWYoIWlzX29iamVjdCgkTSkpeyRNPSRmO30kYj1hcnJheSgpOyRRYz0kTS0+cmVzdWx0KCJTRUxFQ1Qgb2lkIEZST00gcGdfY2xhc3MgV0hFUkUgcmVsbmFtZSA9ICIucSgkaCkpOyRKPWdldF9rZXlfdmFscygiU0VMRUNUIGF0dG51bSwgYXR0bmFtZSBGUk9NIHBnX2F0dHJpYnV0ZSBXSEVSRSBhdHRyZWxpZCA9ICRRYyBBTkQgYXR0bnVtID4gMCIsJE0pO2ZvcmVhY2goZ2V0X3Jvd3MoIlNFTEVDVCByZWxuYW1lLCBpbmRpc3VuaXF1ZSwgaW5kaXNwcmltYXJ5LCBpbmRrZXkgRlJPTSBwZ19pbmRleCBpLCBwZ19jbGFzcyBjaSBXSEVSRSBpLmluZHJlbGlkID0gJFFjIEFORCBjaS5vaWQgPSBpLmluZGV4cmVsaWQiLCRNKWFzJGMpeyRiWyRjWyJyZWxuYW1lIl1dWyJ0eXBlIl09KCRjWyJpbmRpc3ByaW1hcnkiXT09InQiPyJQUklNQVJZIjooJGNbImluZGlzdW5pcXVlIl09PSJ0Ij8iVU5JUVVFIjoiSU5ERVgiKSk7JGJbJGNbInJlbG5hbWUiXV1bImNvbHVtbnMiXT1hcnJheSgpO2ZvcmVhY2goZXhwbG9kZSgiICIsJGNbImluZGtleSJdKWFzJE9kKXskYlskY1sicmVsbmFtZSJdXVsiY29sdW1ucyJdW109JEpbJE9kXTt9JGJbJGNbInJlbG5hbWUiXV1bImxlbmd0aHMiXT1hcnJheSgpO31yZXR1cm4kYjt9ZnVuY3Rpb24KZm9yZWlnbl9rZXlzKCRoKXskYj1hcnJheSgpO2ZvcmVhY2goZ2V0X3Jvd3MoIlNFTEVDVCB0Yy5jb25zdHJhaW50X25hbWUsIGtjdS5jb2x1bW5fbmFtZSwgcmMudXBkYXRlX3J1bGUgQVMgb25fdXBkYXRlLCByYy5kZWxldGVfcnVsZSBBUyBvbl9kZWxldGUsIGNjdS50YWJsZV9uYW1lIEFTIHRhYmxlLCBjY3UuY29sdW1uX25hbWUgQVMgcmVmCkZST00gaW5mb3JtYXRpb25fc2NoZW1hLnRhYmxlX2NvbnN0cmFpbnRzIHRjCkxFRlQgSk9JTiBpbmZvcm1hdGlvbl9zY2hlbWEua2V5X2NvbHVtbl91c2FnZSBrY3UgVVNJTkcgKGNvbnN0cmFpbnRfY2F0YWxvZywgY29uc3RyYWludF9zY2hlbWEsIGNvbnN0cmFpbnRfbmFtZSkKTEVGVCBKT0lOIGluZm9ybWF0aW9uX3NjaGVtYS5yZWZlcmVudGlhbF9jb25zdHJhaW50cyByYyBVU0lORyAoY29uc3RyYWludF9jYXRhbG9nLCBjb25zdHJhaW50X3NjaGVtYSwgY29uc3RyYWludF9uYW1lKQpMRUZUIEpPSU4gaW5mb3JtYXRpb25fc2NoZW1hLmNvbnN0cmFpbnRfY29sdW1uX3VzYWdlIGNjdSBPTiByYy51bmlxdWVfY29uc3RyYWludF9jYXRhbG9nID0gY2N1LmNvbnN0cmFpbnRfY2F0YWxvZyBBTkQgcmMudW5pcXVlX2NvbnN0cmFpbnRfc2NoZW1hID0gY2N1LmNvbnN0cmFpbnRfc2NoZW1hIEFORCByYy51bmlxdWVfY29uc3RyYWludF9uYW1lID0gY2N1LmNvbnN0cmFpbnRfbmFtZQpXSEVSRSB0Yy5jb25zdHJhaW50X3R5cGUgPSAnRk9SRUlHTiBLRVknIEFORCB0Yy50YWJsZV9uYW1lID0gIi5xKCRoKSlhcyRjKXskST0mJGJbJGNbImNvbnN0cmFpbnRfbmFtZSJdXTtpZighJEkpeyRJPSRjO30kSVsic291cmNlIl1bXT0kY1siY29sdW1uX25hbWUiXTskSVsidGFyZ2V0Il1bXT0kY1sicmVmIl07fXJldHVybiRiO31mdW5jdGlvbgp2aWV3KCRlKXtnbG9iYWwkZjtyZXR1cm4KYXJyYXkoInNlbGVjdCI9PiRmLT5yZXN1bHQoIlNFTEVDVCBwZ19nZXRfdmlld2RlZigiLnEoJGUpLiIpIikpO31mdW5jdGlvbgpjb2xsYXRpb25zKCl7cmV0dXJuCmFycmF5KCk7fWZ1bmN0aW9uCmluZm9ybWF0aW9uX3NjaGVtYSgkQyl7cmV0dXJuKCRDPT0iaW5mb3JtYXRpb25fc2NoZW1hIik7fWZ1bmN0aW9uCmVycm9yKCl7Z2xvYmFsJGY7JGI9aCgkZi0+ZXJyb3IpO2lmKHByZWdfbWF0Y2goJ35eKC4qXFxuKT8oW15cXG5dKilcXG4oICopXFxeKFxcbi4qKT8kfnMnLCRiLCRrKSl7JGI9JGtbMV0ucHJlZ19yZXBsYWNlKCd+KCg/OlteJl18JlteO10qOyl7Jy5zdHJsZW4oJGtbM10pLid9KSguKil+JywnXFwxPGI+XFwyPC9iPicsJGtbMl0pLiRrWzRdO31yZXR1cm4KbmxfYnIoJGIpO31mdW5jdGlvbgpleGFjdF92YWx1ZSgkYSl7cmV0dXJuCnEoJGEpO31mdW5jdGlvbgpjcmVhdGVfZGF0YWJhc2UoJEMsJEgpe3JldHVybgpxdWVyaWVzKCJDUkVBVEUgREFUQUJBU0UgIi5pZGZfZXNjYXBlKCRDKS4oJEg/IiBFTkNPRElORyAiLmlkZl9lc2NhcGUoJEgpOiIiKSk7fWZ1bmN0aW9uCmRyb3BfZGF0YWJhc2VzKCRQKXtnbG9iYWwkZjskZi0+Y2xvc2UoKTtyZXR1cm4KYXBwbHlfcXVlcmllcygiRFJPUCBEQVRBQkFTRSIsJFAsJ2lkZl9lc2NhcGUnKTt9ZnVuY3Rpb24KcmVuYW1lX2RhdGFiYXNlKCRlLCRIKXtyZXR1cm4KcXVlcmllcygiQUxURVIgREFUQUJBU0UgIi5pZGZfZXNjYXBlKERCKS4iIFJFTkFNRSBUTyAiLmlkZl9lc2NhcGUoJGUpKTt9ZnVuY3Rpb24KYXV0b19pbmNyZW1lbnQoKXtyZXR1cm4iIjt9ZnVuY3Rpb24KYWx0ZXJfdGFibGUoJGgsJGUsJHQsJEphLCRYYSwkZ2IsJEgsJHlhLCRzYil7JHI9YXJyYXkoKTskS2E9YXJyYXkoKTtmb3JlYWNoKCR0CmFzJGcpeyR1PWlkZl9lc2NhcGUoJGdbMF0pOyRhPSRnWzFdO2lmKCEkYSl7JHJbXT0iRFJPUCAkdSI7fWVsc2V7JENjPSRhWzVdO3Vuc2V0KCRhWzVdKTtpZihpc3NldCgkYVs2XSkmJiRnWzBdPT0iIil7JGFbMV09KCRhWzFdPT0iYmlnaW50Ij8iIGJpZyI6IiAiKS4ic2VyaWFsIjt9aWYoJGdbMF09PSIiKXskcltdPSgkaCE9IiI/IkFERCAiOiIgICIpLmltcGxvZGUoJGEpO31lbHNle2lmKCR1IT0kYVswXSl7JEthW109IkFMVEVSIFRBQkxFICIudGFibGUoJGgpLiIgUkVOQU1FICR1IFRPICRhWzBdIjt9JHJbXT0iQUxURVIgJHUgVFlQRSRhWzFdIjtpZighJGFbNl0peyRyW109IkFMVEVSICR1ICIuKCRhWzNdPyJTRVQkYVszXSI6IkRST1AgREVGQVVMVCIpOyRyW109IkFMVEVSICR1ICIuKCRhWzJdPT0iIE5VTEwiPyJEUk9QIE5PVCI6IlNFVCIpLiRhWzJdO319aWYoJGdbMF0hPSIifHwkQ2MhPSIiKXskS2FbXT0iQ09NTUVOVCBPTiBDT0xVTU4gIi50YWJsZSgkaCkuIi4kYVswXSBJUyAiLigkQ2MhPSIiP3N1YnN0cigkQ2MsOSk6IicnIik7fX19JHI9YXJyYXlfbWVyZ2UoJHIsJEphKTtpZigkaD09IiIpe2FycmF5X3Vuc2hpZnQoJEthLCJDUkVBVEUgVEFCTEUgIi50YWJsZSgkZSkuIiAoXG4iLmltcGxvZGUoIixcbiIsJHIpLiJcbikiKTt9ZWxzZWlmKCRyKXthcnJheV91bnNoaWZ0KCRLYSwiQUxURVIgVEFCTEUgIi50YWJsZSgkaCkuIlxuIi5pbXBsb2RlKCIsXG4iLCRyKSk7fWlmKCRoIT0iIiYmJGghPSRlKXskS2FbXT0iQUxURVIgVEFCTEUgIi50YWJsZSgkaCkuIiBSRU5BTUUgVE8gIi50YWJsZSgkZSk7fWlmKCRoIT0iInx8JFhhIT0iIil7JEthW109IkNPTU1FTlQgT04gVEFCTEUgIi50YWJsZSgkZSkuIiBJUyAiLnEoJFhhKTt9aWYoJHlhIT0iIil7fWZvcmVhY2goJEthCmFzJGope2lmKCFxdWVyaWVzKCRqKSl7cmV0dXJuCmZhbHNlO319cmV0dXJuCnRydWU7fWZ1bmN0aW9uCmFsdGVyX2luZGV4ZXMoJGgsJHIpeyRRYT1hcnJheSgpOyRHYT1hcnJheSgpO2ZvcmVhY2goJHIKYXMkYSl7aWYoJGFbMF0hPSJJTkRFWCIpeyRRYVtdPSgkYVsyXT8iXG5EUk9QIENPTlNUUkFJTlQgIjoiXG5BREQgJGFbMF0gIi4oJGFbMF09PSJQUklNQVJZIj8iS0VZICI6IiIpKS4kYVsxXTt9ZWxzZWlmKCRhWzJdKXskR2FbXT0kYVsxXTt9ZWxzZWlmKCFxdWVyaWVzKCJDUkVBVEUgSU5ERVggIi5pZGZfZXNjYXBlKHVuaXFpZCgkaC4iXyIpKS4iIE9OICIudGFibGUoJGgpLiIgJGFbMV0iKSl7cmV0dXJuCmZhbHNlO319cmV0dXJuKCghJFFhfHxxdWVyaWVzKCJBTFRFUiBUQUJMRSAiLnRhYmxlKCRoKS5pbXBsb2RlKCIsIiwkUWEpKSkmJighJEdhfHxxdWVyaWVzKCJEUk9QIElOREVYICIuaW1wbG9kZSgiLCAiLCRHYSkpKSk7fWZ1bmN0aW9uCnRydW5jYXRlX3RhYmxlcygkeil7cmV0dXJuCnF1ZXJpZXMoIlRSVU5DQVRFICIuaW1wbG9kZSgiLCAiLGFycmF5X21hcCgndGFibGUnLCR6KSkpO3JldHVybgp0cnVlO31mdW5jdGlvbgpkcm9wX3ZpZXdzKCRXKXtyZXR1cm4KcXVlcmllcygiRFJPUCBWSUVXICIuaW1wbG9kZSgiLCAiLGFycmF5X21hcCgndGFibGUnLCRXKSkpO31mdW5jdGlvbgpkcm9wX3RhYmxlcygkeil7cmV0dXJuCnF1ZXJpZXMoIkRST1AgVEFCTEUgIi5pbXBsb2RlKCIsICIsYXJyYXlfbWFwKCd0YWJsZScsJHopKSk7fWZ1bmN0aW9uCm1vdmVfdGFibGVzKCR6LCRXLCRvYSl7Zm9yZWFjaCgkegphcyRoKXtpZighcXVlcmllcygiQUxURVIgVEFCTEUgIi50YWJsZSgkaCkuIiBTRVQgU0NIRU1BICIuaWRmX2VzY2FwZSgkb2EpKSl7cmV0dXJuCmZhbHNlO319Zm9yZWFjaCgkVwphcyRoKXtpZighcXVlcmllcygiQUxURVIgVklFVyAiLnRhYmxlKCRoKS4iIFNFVCBTQ0hFTUEgIi5pZGZfZXNjYXBlKCRvYSkpKXtyZXR1cm4KZmFsc2U7fX1yZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24KdHJpZ2dlcigkZSl7JHk9Z2V0X3Jvd3MoJ1NFTEVDVCB0cmlnZ2VyX25hbWUgQVMgIlRyaWdnZXIiLCBjb25kaXRpb25fdGltaW5nIEFTICJUaW1pbmciLCBldmVudF9tYW5pcHVsYXRpb24gQVMgIkV2ZW50IiwgXCdGT1IgRUFDSCBcJyB8fCBhY3Rpb25fb3JpZW50YXRpb24gQVMgIlR5cGUiLCBhY3Rpb25fc3RhdGVtZW50IEFTICJTdGF0ZW1lbnQiIEZST00gaW5mb3JtYXRpb25fc2NoZW1hLnRyaWdnZXJzIFdIRVJFIGV2ZW50X29iamVjdF90YWJsZSA9ICcucSgkX0dFVFsidHJpZ2dlciJdKS4nIEFORCB0cmlnZ2VyX25hbWUgPSAnLnEoJGUpKTtyZXR1cm4KcmVzZXQoJHkpO31mdW5jdGlvbgp0cmlnZ2VycygkaCl7JGI9YXJyYXkoKTtmb3JlYWNoKGdldF9yb3dzKCJTRUxFQ1QgKiBGUk9NIGluZm9ybWF0aW9uX3NjaGVtYS50cmlnZ2VycyBXSEVSRSBldmVudF9vYmplY3RfdGFibGUgPSAiLnEoJGgpKWFzJGMpeyRiWyRjWyJ0cmlnZ2VyX25hbWUiXV09YXJyYXkoJGNbImNvbmRpdGlvbl90aW1pbmciXSwkY1siZXZlbnRfbWFuaXB1bGF0aW9uIl0pO31yZXR1cm4kYjt9ZnVuY3Rpb24KdHJpZ2dlcl9vcHRpb25zKCl7cmV0dXJuCmFycmF5KCJUaW1pbmciPT5hcnJheSgiQkVGT1JFIiwiQUZURVIiKSwiVHlwZSI9PmFycmF5KCJGT1IgRUFDSCBST1ciLCJGT1IgRUFDSCBTVEFURU1FTlQiKSwpO31mdW5jdGlvbgpiZWdpbigpe3JldHVybgpxdWVyaWVzKCJCRUdJTiIpO31mdW5jdGlvbgppbnNlcnRfaW50bygkaCwkbyl7cmV0dXJuCnF1ZXJpZXMoIklOU0VSVCBJTlRPICIudGFibGUoJGgpLigkbz8iICgiLmltcGxvZGUoIiwgIixhcnJheV9rZXlzKCRvKSkuIilcblZBTFVFUyAoIi5pbXBsb2RlKCIsICIsJG8pLiIpIjoiREVGQVVMVCBWQUxVRVMiKSk7fWZ1bmN0aW9uCmluc2VydF91cGRhdGUoJGgsJG8sJHVhKXtnbG9iYWwkZjskYWE9YXJyYXkoKTskbT1hcnJheSgpO2ZvcmVhY2goJG8KYXMkZD0+JGEpeyRhYVtdPSIkZCA9ICRhIjtpZihpc3NldCgkdWFbaWRmX3VuZXNjYXBlKCRkKV0pKXskbVtdPSIkZCA9ICRhIjt9fXJldHVybigkbSYmcXVlcmllcygiVVBEQVRFICIudGFibGUoJGgpLiIgU0VUICIuaW1wbG9kZSgiLCAiLCRhYSkuIiBXSEVSRSAiLmltcGxvZGUoIiBBTkQgIiwkbSkpJiYkZi0+YWZmZWN0ZWRfcm93cyl8fHF1ZXJpZXMoIklOU0VSVCBJTlRPICIudGFibGUoJGgpLiIgKCIuaW1wbG9kZSgiLCAiLGFycmF5X2tleXMoJG8pKS4iKSBWQUxVRVMgKCIuaW1wbG9kZSgiLCAiLCRvKS4iKSIpO31mdW5jdGlvbgpsYXN0X2lkKCl7cmV0dXJuCjA7fWZ1bmN0aW9uCmV4cGxhaW4oJGYsJGope3JldHVybiRmLT5xdWVyeSgiRVhQTEFJTiAkaiIpO31mdW5jdGlvbgp0eXBlcygpe3JldHVybgpnZXRfdmFscygiU0VMRUNUIHR5cG5hbWUKRlJPTSBwZ190eXBlCldIRVJFIHR5cG5hbWVzcGFjZSA9IChTRUxFQ1Qgb2lkIEZST00gcGdfbmFtZXNwYWNlIFdIRVJFIG5zcG5hbWUgPSBjdXJyZW50X3NjaGVtYSgpKQpBTkQgdHlwdHlwZSBJTiAoJ2InLCdkJywnZScpCkFORCB0eXBlbGVtID0gMCIpO31mdW5jdGlvbgpzY2hlbWFzKCl7cmV0dXJuCmdldF92YWxzKCJTRUxFQ1QgbnNwbmFtZSBGUk9NIHBnX25hbWVzcGFjZSIpO31mdW5jdGlvbgpnZXRfc2NoZW1hKCl7Z2xvYmFsJGY7cmV0dXJuJGYtPnJlc3VsdCgiU0VMRUNUIGN1cnJlbnRfc2NoZW1hKCkiKTt9ZnVuY3Rpb24Kc2V0X3NjaGVtYSgkeWMpe2dsb2JhbCRmLCRaLCRIYTskYj0kZi0+cXVlcnkoIlNFVCBzZWFyY2hfcGF0aCBUTyAiLmlkZl9lc2NhcGUoJHljKSk7Zm9yZWFjaCh0eXBlcygpYXMkQSl7aWYoIWlzc2V0KCRaWyRBXSkpeyRaWyRBXT0wOyRIYVtsYW5nKDExKV1bXT0kQTt9fXJldHVybiRiO31mdW5jdGlvbgp1c2Vfc3FsKCRSKXtyZXR1cm4iXGNvbm5lY3QgIi5pZGZfZXNjYXBlKCRSKTt9ZnVuY3Rpb24Kc2hvd192YXJpYWJsZXMoKXtyZXR1cm4KZ2V0X2tleV92YWxzKCJTSE9XIEFMTCIpO31mdW5jdGlvbgpzaG93X3N0YXR1cygpe31mdW5jdGlvbgpzdXBwb3J0KCRQYSl7cmV0dXJuCmVyZWcoJ14oY29tbWVudHx2aWV3fHNjaGVtZXxzZXF1ZW5jZXx0cmlnZ2VyfHR5cGV8dmFyaWFibGVzfGRyb3BfY29sKSQnLCRQYSk7fSR2YT0icGdzcWwiOyRaPWFycmF5KCk7JEhhPWFycmF5KCk7Zm9yZWFjaChhcnJheShsYW5nKDEyKT0+YXJyYXkoInNtYWxsaW50Ij0+NSwiaW50ZWdlciI9PjEwLCJiaWdpbnQiPT4xOSwiYm9vbGVhbiI9PjEsIm51bWVyaWMiPT4wLCJyZWFsIj0+NywiZG91YmxlIHByZWNpc2lvbiI9PjE2LCJtb25leSI9PjIwKSxsYW5nKDEzKT0+YXJyYXkoImRhdGUiPT4xMywidGltZSI9PjE3LCJ0aW1lc3RhbXAiPT4yMCwiaW50ZXJ2YWwiPT4wKSxsYW5nKDE0KT0+YXJyYXkoImNoYXJhY3RlciI9PjAsImNoYXJhY3RlciB2YXJ5aW5nIj0+MCwidGV4dCI9PjAsInRzcXVlcnkiPT4wLCJ0c3ZlY3RvciI9PjAsInV1aWQiPT4wLCJ4bWwiPT4wKSxsYW5nKDE1KT0+YXJyYXkoImJpdCI9PjAsImJpdCB2YXJ5aW5nIj0+MCwiYnl0ZWEiPT4wKSxsYW5nKDE2KT0+YXJyYXkoImNpZHIiPT40MywiaW5ldCI9PjQzLCJtYWNhZGRyIj0+MTcsInR4aWRfc25hcHNob3QiPT4wKSxsYW5nKDE3KT0+YXJyYXkoImJveCI9PjAsImNpcmNsZSI9PjAsImxpbmUiPT4wLCJsc2VnIj0+MCwicGF0aCI9PjAsInBvaW50Ij0+MCwicG9seWdvbiI9PjApLClhcyRkPT4kYSl7JForPSRhOyRIYVskZF09YXJyYXlfa2V5cygkYSk7fSRHYj1hcnJheSgpOyR1Yj1hcnJheSgiPSIsIjwiLCI+IiwiPD0iLCI+PSIsIiE9IiwifiIsIiF+IiwiTElLRSIsIkxJS0UgJSUiLCJJTiIsIklTIE5VTEwiLCJOT1QgTElLRSIsIk5PVCBJTiIsIklTIE5PVCBOVUxMIiwiIik7JGVhPWFycmF5KCJjaGFyX2xlbmd0aCIsImxvd2VyIiwicm91bmQiLCJ0b19oZXgiLCJ0b190aW1lc3RhbXAiLCJ1cHBlciIpOyRJYj1hcnJheSgiYXZnIiwiY291bnQiLCJjb3VudCBkaXN0aW5jdCIsIm1heCIsIm1pbiIsInN1bSIpOyRGYj1hcnJheShhcnJheSgiY2hhciI9PiJtZDUiLCJkYXRlfHRpbWUiPT4ibm93IiwpLGFycmF5KCJpbnR8bnVtZXJpY3xyZWFsfG1vbmV5Ij0+IisvLSIsImRhdGV8dGltZSI9PiIrIGludGVydmFsLy0gaW50ZXJ2YWwiLCJjaGFyfHRleHQiPT4ifHwiLCkpO30kdGFbIm9yYWNsZSJdPSJPcmFjbGUiO2lmKGlzc2V0KCRfR0VUWyJvcmFjbGUiXSkpeyRKYj1hcnJheSgiT0NJOCIsIlBET19PQ0kiKTtkZWZpbmUoIkRSSVZFUiIsIm9yYWNsZSIpO2lmKGV4dGVuc2lvbl9sb2FkZWQoIm9jaTgiKSl7Y2xhc3MKTWluX0RCe3ZhciRleHRlbnNpb249Im9jaTgiLCRfbGluaywkX3Jlc3VsdCwkc2VydmVyX2luZm8sJGFmZmVjdGVkX3Jvd3MsJGVycm9yO2Z1bmN0aW9uCl9lcnJvcigkY2UsJHApe2lmKGluaV9ib29sKCJodG1sX2Vycm9ycyIpKXskcD1odG1sX2VudGl0eV9kZWNvZGUoc3RyaXBfdGFncygkcCkpO30kcD1lcmVnX3JlcGxhY2UoJ15bXjpdKjogJywnJywkcCk7JHRoaXMtPmVycm9yPSRwO31mdW5jdGlvbgpjb25uZWN0KCRfLCRFLCRHKXskdGhpcy0+X2xpbms9QG9jaV9uZXdfY29ubmVjdCgkRSwkRywkXywiQUwzMlVURjgiKTtpZigkdGhpcy0+X2xpbmspeyR0aGlzLT5zZXJ2ZXJfaW5mbz1vY2lfc2VydmVyX3ZlcnNpb24oJHRoaXMtPl9saW5rKTtyZXR1cm4KdHJ1ZTt9JHA9b2NpX2Vycm9yKCk7JHRoaXMtPmVycm9yPSRwWyJtZXNzYWdlIl07cmV0dXJuCmZhbHNlO31mdW5jdGlvbgpxdW90ZSgkeCl7cmV0dXJuIiciLnN0cl9yZXBsYWNlKCInIiwiJyciLCR4KS4iJyI7fWZ1bmN0aW9uCnNlbGVjdF9kYigkUil7cmV0dXJuCnRydWU7fWZ1bmN0aW9uCnF1ZXJ5KCRqLCREYT1mYWxzZSl7JGk9b2NpX3BhcnNlKCR0aGlzLT5fbGluaywkaik7aWYoISRpKXskcD1vY2lfZXJyb3IoJHRoaXMtPl9saW5rKTskdGhpcy0+ZXJyb3I9JHBbIm1lc3NhZ2UiXTtyZXR1cm4KZmFsc2U7fXNldF9lcnJvcl9oYW5kbGVyKGFycmF5KCR0aGlzLCdfZXJyb3InKSk7JGI9QG9jaV9leGVjdXRlKCRpKTtyZXN0b3JlX2Vycm9yX2hhbmRsZXIoKTtpZigkYil7aWYob2NpX251bV9maWVsZHMoJGkpKXtyZXR1cm4KbmV3Ck1pbl9SZXN1bHQoJGkpO30kdGhpcy0+YWZmZWN0ZWRfcm93cz1vY2lfbnVtX3Jvd3MoJGkpO31yZXR1cm4kYjt9ZnVuY3Rpb24KbXVsdGlfcXVlcnkoJGope3JldHVybiR0aGlzLT5fcmVzdWx0PSR0aGlzLT5xdWVyeSgkaik7fWZ1bmN0aW9uCnN0b3JlX3Jlc3VsdCgpe3JldHVybiR0aGlzLT5fcmVzdWx0O31mdW5jdGlvbgpuZXh0X3Jlc3VsdCgpe3JldHVybgpmYWxzZTt9ZnVuY3Rpb24KcmVzdWx0KCRqLCRnPTEpeyRpPSR0aGlzLT5xdWVyeSgkaik7aWYoIWlzX29iamVjdCgkaSl8fCFvY2lfZmV0Y2goJGktPl9yZXN1bHQpKXtyZXR1cm4KZmFsc2U7fXJldHVybgpvY2lfcmVzdWx0KCRpLT5fcmVzdWx0LCRnKTt9fWNsYXNzCk1pbl9SZXN1bHR7dmFyJF9yZXN1bHQsJF9vZmZzZXQ9MSwkbnVtX3Jvd3M7ZnVuY3Rpb24KTWluX1Jlc3VsdCgkaSl7JHRoaXMtPl9yZXN1bHQ9JGk7fWZ1bmN0aW9uCl9jb252ZXJ0KCRjKXtmb3JlYWNoKChhcnJheSkkYwphcyRkPT4kYSl7aWYoaXNfYSgkYSwnT0NJLUxvYicpKXskY1skZF09JGEtPmxvYWQoKTt9fXJldHVybiRjO31mdW5jdGlvbgpmZXRjaF9hc3NvYygpe3JldHVybiR0aGlzLT5fY29udmVydChvY2lfZmV0Y2hfYXNzb2MoJHRoaXMtPl9yZXN1bHQpKTt9ZnVuY3Rpb24KZmV0Y2hfcm93KCl7cmV0dXJuJHRoaXMtPl9jb252ZXJ0KG9jaV9mZXRjaF9yb3coJHRoaXMtPl9yZXN1bHQpKTt9ZnVuY3Rpb24KZmV0Y2hfZmllbGQoKXskdT0kdGhpcy0+X29mZnNldCsrOyRiPW5ldwpzdGRDbGFzczskYi0+bmFtZT1vY2lfZmllbGRfbmFtZSgkdGhpcy0+X3Jlc3VsdCwkdSk7JGItPm9yZ25hbWU9JGItPm5hbWU7JGItPnR5cGU9b2NpX2ZpZWxkX3R5cGUoJHRoaXMtPl9yZXN1bHQsJHUpOyRiLT5jaGFyc2V0bnI9KGVyZWcoInJhd3xibG9ifGJmaWxlIiwkYi0+dHlwZSk/NjM6MCk7cmV0dXJuJGI7fWZ1bmN0aW9uCl9fZGVzdHJ1Y3QoKXtvY2lfZnJlZV9zdGF0ZW1lbnQoJHRoaXMtPl9yZXN1bHQpO319fWVsc2VpZihleHRlbnNpb25fbG9hZGVkKCJwZG9fb2NpIikpe2NsYXNzCk1pbl9EQgpleHRlbmRzCk1pbl9QRE97dmFyJGV4dGVuc2lvbj0iUERPX09DSSI7ZnVuY3Rpb24KY29ubmVjdCgkXywkRSwkRyl7JHRoaXMtPmRzbigib2NpOmRibmFtZT0vLyRfO2NoYXJzZXQ9QUwzMlVURjgiLCRFLCRHKTtyZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24Kc2VsZWN0X2RiKCRSKXtyZXR1cm4KdHJ1ZTt9fX1mdW5jdGlvbgppZGZfZXNjYXBlKCRCKXtyZXR1cm4nIicuc3RyX3JlcGxhY2UoJyInLCciIicsJEIpLiciJzt9ZnVuY3Rpb24KdGFibGUoJEIpe3JldHVybgppZGZfZXNjYXBlKCRCKTt9ZnVuY3Rpb24KY29ubmVjdCgpe2dsb2JhbCRsOyRmPW5ldwpNaW5fREI7JGdhPSRsLT5jcmVkZW50aWFscygpO2lmKCRmLT5jb25uZWN0KCRnYVswXSwkZ2FbMV0sJGdhWzJdKSl7cmV0dXJuJGY7fXJldHVybiRmLT5lcnJvcjt9ZnVuY3Rpb24KZ2V0X2RhdGFiYXNlcygpe3JldHVybgpnZXRfdmFscygiU0VMRUNUIHRhYmxlc3BhY2VfbmFtZSBGUk9NIHVzZXJfdGFibGVzcGFjZXMiKTt9ZnVuY3Rpb24KbGltaXQoJGosJG0sJEYsJFQ9MCwkaWE9IiAiKXtyZXR1cm4iICRqJG0iLihpc3NldCgkRik/KCRtPyIgQU5EIjokaWEuIldIRVJFIikuKCRUPyIgcm93bnVtID4gJFQgQU5EIjoiIikuIiByb3dudW0gPD0gIi4oJEYrJFQpOiIiKTt9ZnVuY3Rpb24KbGltaXQxKCRqLCRtKXtyZXR1cm4iICRqJG0iO31mdW5jdGlvbgpkYl9jb2xsYXRpb24oJEMsJEhiKXtnbG9iYWwkZjtyZXR1cm4kZi0+cmVzdWx0KCJTRUxFQ1QgdmFsdWUgRlJPTSBubHNfZGF0YWJhc2VfcGFyYW1ldGVycyBXSEVSRSBwYXJhbWV0ZXIgPSAnTkxTX0NIQVJBQ1RFUlNFVCciKTt9ZnVuY3Rpb24KZW5naW5lcygpe3JldHVybgphcnJheSgpO31mdW5jdGlvbgpsb2dnZWRfdXNlcigpe2dsb2JhbCRmO3JldHVybiRmLT5yZXN1bHQoIlNFTEVDVCBVU0VSIEZST00gRFVBTCIpO31mdW5jdGlvbgp0YWJsZXNfbGlzdCgpe3JldHVybgpnZXRfa2V5X3ZhbHMoIlNFTEVDVCB0YWJsZV9uYW1lLCAndGFibGUnIEZST00gYWxsX3RhYmxlcyBXSEVSRSB0YWJsZXNwYWNlX25hbWUgPSAiLnEoREIpLiIKVU5JT04gU0VMRUNUIHZpZXdfbmFtZSwgJ3ZpZXcnIEZST00gdXNlcl92aWV3cyIpO31mdW5jdGlvbgpjb3VudF90YWJsZXMoJFApe3JldHVybgphcnJheSgpO31mdW5jdGlvbgp0YWJsZV9zdGF0dXMoJGU9IiIpeyRiPWFycmF5KCk7JHJiPXEoJGUpO2ZvcmVhY2goZ2V0X3Jvd3MoJ1NFTEVDVCB0YWJsZV9uYW1lICJOYW1lIiwgXCd0YWJsZVwnICJFbmdpbmUiIEZST00gYWxsX3RhYmxlcyBXSEVSRSB0YWJsZXNwYWNlX25hbWUgPSAnLnEoREIpLigkZSE9IiI/IiBBTkQgdGFibGVfbmFtZSA9ICRyYiI6IiIpLiIKVU5JT04gU0VMRUNUIHZpZXdfbmFtZSwgJ3ZpZXcnIEZST00gdXNlcl92aWV3cyIuKCRlIT0iIj8iIFdIRVJFIHZpZXdfbmFtZSA9ICRyYiI6IiIpKWFzJGMpe2lmKCRlIT0iIil7cmV0dXJuJGM7fSRiWyRjWyJOYW1lIl1dPSRjO31yZXR1cm4kYjt9ZnVuY3Rpb24KaXNfdmlldygkRCl7cmV0dXJuJERbIkVuZ2luZSJdPT0idmlldyI7fWZ1bmN0aW9uCmZrX3N1cHBvcnQoJEQpe3JldHVybgp0cnVlO31mdW5jdGlvbgpmaWVsZHMoJGgpeyRiPWFycmF5KCk7Zm9yZWFjaChnZXRfcm93cygiU0VMRUNUICogRlJPTSBhbGxfdGFiX2NvbHVtbnMgV0hFUkUgdGFibGVfbmFtZSA9ICIucSgkaCkuIiBPUkRFUiBCWSBjb2x1bW5faWQiKWFzJGMpeyRBPSRjWyJEQVRBX1RZUEUiXTska2E9IiRjW0RBVEFfUFJFQ0lTSU9OXSwkY1tEQVRBX1NDQUxFXSI7aWYoJGthPT0iLCIpeyRrYT0kY1siREFUQV9MRU5HVEgiXTt9JGJbJGNbIkNPTFVNTl9OQU1FIl1dPWFycmF5KCJmaWVsZCI9PiRjWyJDT0xVTU5fTkFNRSJdLCJmdWxsX3R5cGUiPT4kQS4oJGthPyIoJGthKSI6IiIpLCJ0eXBlIj0+c3RydG9sb3dlcigkQSksImxlbmd0aCI9PiRrYSwiZGVmYXVsdCI9PiRjWyJEQVRBX0RFRkFVTFQiXSwibnVsbCI9PigkY1siTlVMTEFCTEUiXT09IlkiKSwicHJpdmlsZWdlcyI9PmFycmF5KCJpbnNlcnQiPT4xLCJzZWxlY3QiPT4xLCJ1cGRhdGUiPT4xKSwpO31yZXR1cm4kYjt9ZnVuY3Rpb24KaW5kZXhlcygkaCwkTT1udWxsKXtyZXR1cm4KYXJyYXkoKTt9ZnVuY3Rpb24KdmlldygkZSl7JHk9Z2V0X3Jvd3MoJ1NFTEVDVCB0ZXh0ICJzZWxlY3QiIEZST00gdXNlcl92aWV3cyBXSEVSRSB2aWV3X25hbWUgPSAnLnEoJGUpKTtyZXR1cm4KcmVzZXQoJHkpO31mdW5jdGlvbgpjb2xsYXRpb25zKCl7cmV0dXJuCmFycmF5KCk7fWZ1bmN0aW9uCmluZm9ybWF0aW9uX3NjaGVtYSgkQyl7cmV0dXJuCmZhbHNlO31mdW5jdGlvbgplcnJvcigpe2dsb2JhbCRmO3JldHVybgpoKCRmLT5lcnJvcik7fWZ1bmN0aW9uCmV4YWN0X3ZhbHVlKCRhKXtyZXR1cm4KcSgkYSk7fWZ1bmN0aW9uCmV4cGxhaW4oJGYsJGopeyRmLT5xdWVyeSgiRVhQTEFJTiBQTEFOIEZPUiAkaiIpO3JldHVybiRmLT5xdWVyeSgiU0VMRUNUICogRlJPTSBwbGFuX3RhYmxlIik7fWZ1bmN0aW9uCmFsdGVyX3RhYmxlKCRoLCRlLCR0LCRKYSwkWGEsJGdiLCRILCR5YSwkc2IpeyRyPSRHYT1hcnJheSgpO2ZvcmVhY2goJHQKYXMkZyl7JGE9JGdbMV07aWYoJGEmJiRnWzBdIT0iIiYmaWRmX2VzY2FwZSgkZ1swXSkhPSRhWzBdKXtxdWVyaWVzKCJBTFRFUiBUQUJMRSAiLnRhYmxlKCRoKS4iIFJFTkFNRSBDT0xVTU4gIi5pZGZfZXNjYXBlKCRnWzBdKS4iIFRPICRhWzBdIik7fWlmKCRhKXskcltdPSgkaCE9IiI/KCRnWzBdIT0iIj8iTU9ESUZZICgiOiJBREQgKCIpOiIgICIpLmltcGxvZGUoJGEpLigkaCE9IiI/IikiOiIiKTt9ZWxzZXskR2FbXT1pZGZfZXNjYXBlKCRnWzBdKTt9fWlmKCRoPT0iIil7cmV0dXJuCnF1ZXJpZXMoIkNSRUFURSBUQUJMRSAiLnRhYmxlKCRlKS4iIChcbiIuaW1wbG9kZSgiLFxuIiwkcikuIlxuKSIpO31yZXR1cm4oISRyfHxxdWVyaWVzKCJBTFRFUiBUQUJMRSAiLnRhYmxlKCRoKS4iXG4iLmltcGxvZGUoIlxuIiwkcikpKSYmKCEkR2F8fHF1ZXJpZXMoIkFMVEVSIFRBQkxFICIudGFibGUoJGgpLiIgRFJPUCAoIi5pbXBsb2RlKCIsICIsJEdhKS4iKSIpKSYmKCRoPT0kZXx8cXVlcmllcygiQUxURVIgVEFCTEUgIi50YWJsZSgkaCkuIiBSRU5BTUUgVE8gIi50YWJsZSgkZSkpKTt9ZnVuY3Rpb24KZm9yZWlnbl9rZXlzKCRoKXtyZXR1cm4KYXJyYXkoKTt9ZnVuY3Rpb24KdHJ1bmNhdGVfdGFibGVzKCR6KXtyZXR1cm4KYXBwbHlfcXVlcmllcygiVFJVTkNBVEUgVEFCTEUiLCR6KTt9ZnVuY3Rpb24KZHJvcF92aWV3cygkVyl7cmV0dXJuCmFwcGx5X3F1ZXJpZXMoIkRST1AgVklFVyIsJFcpO31mdW5jdGlvbgpkcm9wX3RhYmxlcygkeil7cmV0dXJuCmFwcGx5X3F1ZXJpZXMoIkRST1AgVEFCTEUiLCR6KTt9ZnVuY3Rpb24KYmVnaW4oKXtyZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24KaW5zZXJ0X2ludG8oJGgsJG8pe3JldHVybgpxdWVyaWVzKCJJTlNFUlQgSU5UTyAiLnRhYmxlKCRoKS4iICgiLmltcGxvZGUoIiwgIixhcnJheV9rZXlzKCRvKSkuIilcblZBTFVFUyAoIi5pbXBsb2RlKCIsICIsJG8pLiIpIik7fWZ1bmN0aW9uCmxhc3RfaWQoKXtyZXR1cm4KMDt9ZnVuY3Rpb24Kc2NoZW1hcygpe3JldHVybgphcnJheSgpO31mdW5jdGlvbgpnZXRfc2NoZW1hKCl7cmV0dXJuIiI7fWZ1bmN0aW9uCnNldF9zY2hlbWEoJEJkKXtyZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24Kc2hvd192YXJpYWJsZXMoKXtyZXR1cm4KZ2V0X2tleV92YWxzKCdTRUxFQ1QgbmFtZSwgZGlzcGxheV92YWx1ZSBGUk9NIHYkcGFyYW1ldGVyJyk7fWZ1bmN0aW9uCnNob3dfc3RhdHVzKCl7JHk9Z2V0X3Jvd3MoJ1NFTEVDVCAqIEZST00gdiRpbnN0YW5jZScpO3JldHVybgpyZXNldCgkeSk7fWZ1bmN0aW9uCnN1cHBvcnQoJFBhKXtyZXR1cm4KZXJlZygidmlld3xkcm9wX2NvbHx2YXJpYWJsZXN8c3RhdHVzIiwkUGEpO30kdmE9Im9yYWNsZSI7JFo9YXJyYXkoKTskSGE9YXJyYXkoKTtmb3JlYWNoKGFycmF5KGxhbmcoMTIpPT5hcnJheSgibnVtYmVyIj0+MzgsImJpbmFyeV9mbG9hdCI9PjEyLCJiaW5hcnlfZG91YmxlIj0+MjEpLGxhbmcoMTMpPT5hcnJheSgiZGF0ZSI9PjEwLCJ0aW1lc3RhbXAiPT4yOSwiaW50ZXJ2YWwgeWVhciI9PjEyLCJpbnRlcnZhbCBkYXkiPT4yOCksbGFuZygxNCk9PmFycmF5KCJjaGFyIj0+MjAwMCwidmFyY2hhcjIiPT40MDAwLCJuY2hhciI9PjIwMDAsIm52YXJjaGFyMiI9PjQwMDAsImNsb2IiPT40Mjk0OTY3Mjk1LCJuY2xvYiI9PjQyOTQ5NjcyOTUpLGxhbmcoMTUpPT5hcnJheSgicmF3Ij0+MjAwMCwibG9uZyByYXciPT4yMTQ3NDgzNjQ4LCJibG9iIj0+NDI5NDk2NzI5NSwiYmZpbGUiPT40Mjk0OTY3Mjk2KSwpYXMkZD0+JGEpeyRaKz0kYTskSGFbJGRdPWFycmF5X2tleXMoJGEpO30kR2I9YXJyYXkoKTskdWI9YXJyYXkoIj0iLCI8IiwiPiIsIjw9IiwiPj0iLCIhPSIsIkxJS0UiLCJMSUtFICUlIiwiSU4iLCJJUyBOVUxMIiwiTk9UIExJS0UiLCJOT1QgUkVHRVhQIiwiTk9UIElOIiwiSVMgTk9UIE5VTEwiLCIiKTskZWE9YXJyYXkoImxlbmd0aCIsImxvd2VyIiwicm91bmQiLCJ1cHBlciIpOyRJYj1hcnJheSgiYXZnIiwiY291bnQiLCJjb3VudCBkaXN0aW5jdCIsIm1heCIsIm1pbiIsInN1bSIpOyRGYj1hcnJheShhcnJheSgiZGF0ZSI9PiJjdXJyZW50X2RhdGUiLCJ0aW1lc3RhbXAiPT4iY3VycmVudF90aW1lc3RhbXAiLCksYXJyYXkoIm51bWJlcnxmbG9hdHxkb3VibGUiPT4iKy8tIiwiZGF0ZXx0aW1lc3RhbXAiPT4iKyBpbnRlcnZhbC8tIGludGVydmFsIiwiY2hhcnxjbG9iIj0+Inx8IiwpKTt9JHRhWyJtc3NxbCJdPSJNUyBTUUwiO2lmKGlzc2V0KCRfR0VUWyJtc3NxbCJdKSl7JEpiPWFycmF5KCJTUUxTUlYiLCJNU1NRTCIpO2RlZmluZSgiRFJJVkVSIiwibXNzcWwiKTtpZihleHRlbnNpb25fbG9hZGVkKCJzcWxzcnYiKSl7Y2xhc3MKTWluX0RCe3ZhciRleHRlbnNpb249InNxbHNydiIsJF9saW5rLCRfcmVzdWx0LCRzZXJ2ZXJfaW5mbywkYWZmZWN0ZWRfcm93cywkZXJyb3I7ZnVuY3Rpb24KX2dldF9lcnJvcigpeyR0aGlzLT5lcnJvcj0iIjtmb3JlYWNoKHNxbHNydl9lcnJvcnMoKWFzJHApeyR0aGlzLT5lcnJvci49IiRwW21lc3NhZ2VdXG4iO30kdGhpcy0+ZXJyb3I9cnRyaW0oJHRoaXMtPmVycm9yKTt9ZnVuY3Rpb24KY29ubmVjdCgkXywkRSwkRyl7JHRoaXMtPl9saW5rPUBzcWxzcnZfY29ubmVjdCgkXyxhcnJheSgiVUlEIj0+JEUsIlBXRCI9PiRHKSk7aWYoJHRoaXMtPl9saW5rKXskV2Q9c3Fsc3J2X3NlcnZlcl9pbmZvKCR0aGlzLT5fbGluayk7JHRoaXMtPnNlcnZlcl9pbmZvPSRXZFsnU1FMU2VydmVyVmVyc2lvbiddO31lbHNleyR0aGlzLT5fZ2V0X2Vycm9yKCk7fXJldHVybihib29sKSR0aGlzLT5fbGluazt9ZnVuY3Rpb24KcXVvdGUoJHgpe3JldHVybiInIi5zdHJfcmVwbGFjZSgiJyIsIicnIiwkeCkuIiciO31mdW5jdGlvbgpzZWxlY3RfZGIoJFIpe3JldHVybiR0aGlzLT5xdWVyeSgiVVNFICRSIik7fWZ1bmN0aW9uCnF1ZXJ5KCRqLCREYT1mYWxzZSl7JGk9c3Fsc3J2X3F1ZXJ5KCR0aGlzLT5fbGluaywkaik7aWYoISRpKXskdGhpcy0+X2dldF9lcnJvcigpO3JldHVybgpmYWxzZTt9cmV0dXJuJHRoaXMtPnN0b3JlX3Jlc3VsdCgkaSk7fWZ1bmN0aW9uCm11bHRpX3F1ZXJ5KCRqKXskdGhpcy0+X3Jlc3VsdD1zcWxzcnZfcXVlcnkoJHRoaXMtPl9saW5rLCRqKTtpZighJHRoaXMtPl9yZXN1bHQpeyR0aGlzLT5fZ2V0X2Vycm9yKCk7cmV0dXJuCmZhbHNlO31yZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24Kc3RvcmVfcmVzdWx0KCRpPW51bGwpe2lmKCEkaSl7JGk9JHRoaXMtPl9yZXN1bHQ7fWlmKHNxbHNydl9maWVsZF9tZXRhZGF0YSgkaSkpe3JldHVybgpuZXcKTWluX1Jlc3VsdCgkaSk7fSR0aGlzLT5hZmZlY3RlZF9yb3dzPXNxbHNydl9yb3dzX2FmZmVjdGVkKCRpKTtyZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24KbmV4dF9yZXN1bHQoKXtyZXR1cm4Kc3Fsc3J2X25leHRfcmVzdWx0KCR0aGlzLT5fcmVzdWx0KTt9ZnVuY3Rpb24KcmVzdWx0KCRqLCRnPTApeyRpPSR0aGlzLT5xdWVyeSgkaik7aWYoIWlzX29iamVjdCgkaSkpe3JldHVybgpmYWxzZTt9JGM9JGktPmZldGNoX3JvdygpO3JldHVybiRjWyRnXTt9fWNsYXNzCk1pbl9SZXN1bHR7dmFyJF9yZXN1bHQsJF9vZmZzZXQ9MCwkX2ZpZWxkcywkbnVtX3Jvd3M7ZnVuY3Rpb24KTWluX1Jlc3VsdCgkaSl7JHRoaXMtPl9yZXN1bHQ9JGk7fWZ1bmN0aW9uCl9jb252ZXJ0KCRjKXtmb3JlYWNoKChhcnJheSkkYwphcyRkPT4kYSl7aWYoaXNfYSgkYSwnRGF0ZVRpbWUnKSl7JGNbJGRdPSRhLT5mb3JtYXQoIlktbS1kIEg6aTpzIik7fX1yZXR1cm4kYzt9ZnVuY3Rpb24KZmV0Y2hfYXNzb2MoKXtyZXR1cm4kdGhpcy0+X2NvbnZlcnQoc3Fsc3J2X2ZldGNoX2FycmF5KCR0aGlzLT5fcmVzdWx0LFNRTFNSVl9GRVRDSF9BU1NPQyxTUUxTUlZfU0NST0xMX05FWFQpKTt9ZnVuY3Rpb24KZmV0Y2hfcm93KCl7cmV0dXJuJHRoaXMtPl9jb252ZXJ0KHNxbHNydl9mZXRjaF9hcnJheSgkdGhpcy0+X3Jlc3VsdCxTUUxTUlZfRkVUQ0hfTlVNRVJJQyxTUUxTUlZfU0NST0xMX05FWFQpKTt9ZnVuY3Rpb24KZmV0Y2hfZmllbGQoKXtpZighJHRoaXMtPl9maWVsZHMpeyR0aGlzLT5fZmllbGRzPXNxbHNydl9maWVsZF9tZXRhZGF0YSgkdGhpcy0+X3Jlc3VsdCk7fSRnPSR0aGlzLT5fZmllbGRzWyR0aGlzLT5fb2Zmc2V0KytdOyRiPW5ldwpzdGRDbGFzczskYi0+bmFtZT0kZ1siTmFtZSJdOyRiLT5vcmduYW1lPSRnWyJOYW1lIl07JGItPnR5cGU9KCRnWyJUeXBlIl09PTE/MjU0OjApO3JldHVybiRiO31mdW5jdGlvbgpzZWVrKCRUKXtmb3IoJHE9MDskcTwkVDskcSsrKXtzcWxzcnZfZmV0Y2goJHRoaXMtPl9yZXN1bHQpO319ZnVuY3Rpb24KX19kZXN0cnVjdCgpe3NxbHNydl9mcmVlX3N0bXQoJHRoaXMtPl9yZXN1bHQpO319fWVsc2VpZihleHRlbnNpb25fbG9hZGVkKCJtc3NxbCIpKXtjbGFzcwpNaW5fREJ7dmFyJGV4dGVuc2lvbj0iTVNTUUwiLCRfbGluaywkX3Jlc3VsdCwkc2VydmVyX2luZm8sJGFmZmVjdGVkX3Jvd3MsJGVycm9yO2Z1bmN0aW9uCmNvbm5lY3QoJF8sJEUsJEcpeyR0aGlzLT5fbGluaz1AbXNzcWxfY29ubmVjdCgkXywkRSwkRyk7aWYoJHRoaXMtPl9saW5rKXskaT0kdGhpcy0+cXVlcnkoIlNFTEVDVCBTRVJWRVJQUk9QRVJUWSgnUHJvZHVjdExldmVsJyksIFNFUlZFUlBST1BFUlRZKCdFZGl0aW9uJykiKTskYz0kaS0+ZmV0Y2hfcm93KCk7JHRoaXMtPnNlcnZlcl9pbmZvPSR0aGlzLT5yZXN1bHQoInNwX3NlcnZlcl9pbmZvIDIiLDIpLiIgWyRjWzBdXSAkY1sxXSI7fWVsc2V7JHRoaXMtPmVycm9yPW1zc3FsX2dldF9sYXN0X21lc3NhZ2UoKTt9cmV0dXJuKGJvb2wpJHRoaXMtPl9saW5rO31mdW5jdGlvbgpxdW90ZSgkeCl7cmV0dXJuIiciLnN0cl9yZXBsYWNlKCInIiwiJyciLCR4KS4iJyI7fWZ1bmN0aW9uCnNlbGVjdF9kYigkUil7cmV0dXJuCm1zc3FsX3NlbGVjdF9kYigkUik7fWZ1bmN0aW9uCnF1ZXJ5KCRqLCREYT1mYWxzZSl7JGk9bXNzcWxfcXVlcnkoJGosJHRoaXMtPl9saW5rKTtpZighJGkpeyR0aGlzLT5lcnJvcj1tc3NxbF9nZXRfbGFzdF9tZXNzYWdlKCk7cmV0dXJuCmZhbHNlO31pZigkaT09PXRydWUpeyR0aGlzLT5hZmZlY3RlZF9yb3dzPW1zc3FsX3Jvd3NfYWZmZWN0ZWQoJHRoaXMtPl9saW5rKTtyZXR1cm4KdHJ1ZTt9cmV0dXJuCm5ldwpNaW5fUmVzdWx0KCRpKTt9ZnVuY3Rpb24KbXVsdGlfcXVlcnkoJGope3JldHVybiR0aGlzLT5fcmVzdWx0PSR0aGlzLT5xdWVyeSgkaik7fWZ1bmN0aW9uCnN0b3JlX3Jlc3VsdCgpe3JldHVybiR0aGlzLT5fcmVzdWx0O31mdW5jdGlvbgpuZXh0X3Jlc3VsdCgpe3JldHVybgptc3NxbF9uZXh0X3Jlc3VsdCgkdGhpcy0+X3Jlc3VsdCk7fWZ1bmN0aW9uCnJlc3VsdCgkaiwkZz0wKXskaT0kdGhpcy0+cXVlcnkoJGopO2lmKCFpc19vYmplY3QoJGkpKXtyZXR1cm4KZmFsc2U7fXJldHVybgptc3NxbF9yZXN1bHQoJGktPl9yZXN1bHQsMCwkZyk7fX1jbGFzcwpNaW5fUmVzdWx0e3ZhciRfcmVzdWx0LCRfb2Zmc2V0PTAsJF9maWVsZHMsJG51bV9yb3dzO2Z1bmN0aW9uCk1pbl9SZXN1bHQoJGkpeyR0aGlzLT5fcmVzdWx0PSRpOyR0aGlzLT5udW1fcm93cz1tc3NxbF9udW1fcm93cygkaSk7fWZ1bmN0aW9uCmZldGNoX2Fzc29jKCl7cmV0dXJuCm1zc3FsX2ZldGNoX2Fzc29jKCR0aGlzLT5fcmVzdWx0KTt9ZnVuY3Rpb24KZmV0Y2hfcm93KCl7cmV0dXJuCm1zc3FsX2ZldGNoX3JvdygkdGhpcy0+X3Jlc3VsdCk7fWZ1bmN0aW9uCm51bV9yb3dzKCl7cmV0dXJuCm1zc3FsX251bV9yb3dzKCR0aGlzLT5fcmVzdWx0KTt9ZnVuY3Rpb24KZmV0Y2hfZmllbGQoKXskYj1tc3NxbF9mZXRjaF9maWVsZCgkdGhpcy0+X3Jlc3VsdCk7JGItPm9yZ3RhYmxlPSRiLT50YWJsZTskYi0+b3JnbmFtZT0kYi0+bmFtZTtyZXR1cm4kYjt9ZnVuY3Rpb24Kc2VlaygkVCl7bXNzcWxfZGF0YV9zZWVrKCR0aGlzLT5fcmVzdWx0LCRUKTt9ZnVuY3Rpb24KX19kZXN0cnVjdCgpe21zc3FsX2ZyZWVfcmVzdWx0KCR0aGlzLT5fcmVzdWx0KTt9fX1mdW5jdGlvbgppZGZfZXNjYXBlKCRCKXtyZXR1cm4iWyIuc3RyX3JlcGxhY2UoIl0iLCJdXSIsJEIpLiJdIjt9ZnVuY3Rpb24KdGFibGUoJEIpe3JldHVybigkX0dFVFsibnMiXSE9IiI/aWRmX2VzY2FwZSgkX0dFVFsibnMiXSkuIi4iOiIiKS5pZGZfZXNjYXBlKCRCKTt9ZnVuY3Rpb24KY29ubmVjdCgpe2dsb2JhbCRsOyRmPW5ldwpNaW5fREI7JGdhPSRsLT5jcmVkZW50aWFscygpO2lmKCRmLT5jb25uZWN0KCRnYVswXSwkZ2FbMV0sJGdhWzJdKSl7cmV0dXJuJGY7fXJldHVybiRmLT5lcnJvcjt9ZnVuY3Rpb24KZ2V0X2RhdGFiYXNlcygpe3JldHVybgpnZXRfdmFscygiRVhFQyBzcF9kYXRhYmFzZXMiKTt9ZnVuY3Rpb24KbGltaXQoJGosJG0sJEYsJFQ9MCwkaWE9IiAiKXtyZXR1cm4oaXNzZXQoJEYpPyIgVE9QICgiLigkRiskVCkuIikiOiIiKS4iICRqJG0iO31mdW5jdGlvbgpsaW1pdDEoJGosJG0pe3JldHVybgpsaW1pdCgkaiwkbSwxKTt9ZnVuY3Rpb24KZGJfY29sbGF0aW9uKCRDLCRIYil7Z2xvYmFsJGY7cmV0dXJuJGYtPnJlc3VsdCgiU0VMRUNUIGNvbGxhdGlvbl9uYW1lIEZST00gc3lzLmRhdGFiYXNlcyBXSEVSRSBuYW1lID0gICIucSgkQykpO31mdW5jdGlvbgplbmdpbmVzKCl7cmV0dXJuCmFycmF5KCk7fWZ1bmN0aW9uCmxvZ2dlZF91c2VyKCl7Z2xvYmFsJGY7cmV0dXJuJGYtPnJlc3VsdCgiU0VMRUNUIFNVU0VSX05BTUUoKSIpO31mdW5jdGlvbgp0YWJsZXNfbGlzdCgpe3JldHVybgpnZXRfa2V5X3ZhbHMoIlNFTEVDVCBuYW1lLCB0eXBlX2Rlc2MgRlJPTSBzeXMuYWxsX29iamVjdHMgV0hFUkUgc2NoZW1hX2lkID0gU0NIRU1BX0lEKCIucShnZXRfc2NoZW1hKCkpLiIpIEFORCB0eXBlIElOICgnUycsICdVJywgJ1YnKSBPUkRFUiBCWSBuYW1lIik7fWZ1bmN0aW9uCmNvdW50X3RhYmxlcygkUCl7Z2xvYmFsJGY7JGI9YXJyYXkoKTtmb3JlYWNoKCRQCmFzJEMpeyRmLT5zZWxlY3RfZGIoJEMpOyRiWyRDXT0kZi0+cmVzdWx0KCJTRUxFQ1QgQ09VTlQoKikgRlJPTSBJTkZPUk1BVElPTl9TQ0hFTUEuVEFCTEVTIik7fXJldHVybiRiO31mdW5jdGlvbgp0YWJsZV9zdGF0dXMoJGU9IiIpeyRiPWFycmF5KCk7Zm9yZWFjaChnZXRfcm93cygiU0VMRUNUIG5hbWUgQVMgTmFtZSwgdHlwZV9kZXNjIEFTIEVuZ2luZSBGUk9NIHN5cy5hbGxfb2JqZWN0cyBXSEVSRSBzY2hlbWFfaWQgPSBTQ0hFTUFfSUQoIi5xKGdldF9zY2hlbWEoKSkuIikgQU5EIHR5cGUgSU4gKCdTJywgJ1UnLCAnVicpIi4oJGUhPSIiPyIgQU5EIG5hbWUgPSAiLnEoJGUpOiIiKSlhcyRjKXtpZigkZSE9IiIpe3JldHVybiRjO30kYlskY1siTmFtZSJdXT0kYzt9cmV0dXJuJGI7fWZ1bmN0aW9uCmlzX3ZpZXcoJEQpe3JldHVybiREWyJFbmdpbmUiXT09IlZJRVciO31mdW5jdGlvbgpma19zdXBwb3J0KCREKXtyZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24KZmllbGRzKCRoKXskYj1hcnJheSgpO2ZvcmVhY2goZ2V0X3Jvd3MoIlNFTEVDVCBjLiosIHQubmFtZSB0eXBlLCBkLmRlZmluaXRpb24gW2RlZmF1bHRdCkZST00gc3lzLmFsbF9jb2x1bW5zIGMKSk9JTiBzeXMuYWxsX29iamVjdHMgbyBPTiBjLm9iamVjdF9pZCA9IG8ub2JqZWN0X2lkCkpPSU4gc3lzLnR5cGVzIHQgT04gYy51c2VyX3R5cGVfaWQgPSB0LnVzZXJfdHlwZV9pZApMRUZUIEpPSU4gc3lzLmRlZmF1bHRfY29uc3RyYWludHMgZCBPTiBjLmRlZmF1bHRfb2JqZWN0X2lkID0gZC5wYXJlbnRfY29sdW1uX2lkCldIRVJFIG8uc2NoZW1hX2lkID0gU0NIRU1BX0lEKCIucShnZXRfc2NoZW1hKCkpLiIpIEFORCBvLnR5cGUgSU4gKCdTJywgJ1UnLCAnVicpIEFORCBvLm5hbWUgPSAiLnEoJGgpKWFzJGMpeyRBPSRjWyJ0eXBlIl07JGthPShlcmVnKCJjaGFyfGJpbmFyeSIsJEEpPyRjWyJtYXhfbGVuZ3RoIl06KCRBPT0iZGVjaW1hbCI/IiRjW3ByZWNpc2lvbl0sJGNbc2NhbGVdIjoiIikpOyRiWyRjWyJuYW1lIl1dPWFycmF5KCJmaWVsZCI9PiRjWyJuYW1lIl0sImZ1bGxfdHlwZSI9PiRBLigka2E/Iigka2EpIjoiIiksInR5cGUiPT4kQSwibGVuZ3RoIj0+JGthLCJkZWZhdWx0Ij0+JGNbImRlZmF1bHQiXSwibnVsbCI9PiRjWyJpc19udWxsYWJsZSJdLCJhdXRvX2luY3JlbWVudCI9PiRjWyJpc19pZGVudGl0eSJdLCJjb2xsYXRpb24iPT4kY1siY29sbGF0aW9uX25hbWUiXSwicHJpdmlsZWdlcyI9PmFycmF5KCJpbnNlcnQiPT4xLCJzZWxlY3QiPT4xLCJ1cGRhdGUiPT4xKSwicHJpbWFyeSI9PiRjWyJpc19pZGVudGl0eSJdLCk7fXJldHVybiRiO31mdW5jdGlvbgppbmRleGVzKCRoLCRNPW51bGwpe2dsb2JhbCRmO2lmKCFpc19vYmplY3QoJE0pKXskTT0kZjt9JGI9YXJyYXkoKTtmb3JlYWNoKGdldF9yb3dzKCJTRUxFQ1QgaS5uYW1lLCBrZXlfb3JkaW5hbCwgaXNfdW5pcXVlLCBpc19wcmltYXJ5X2tleSwgYy5uYW1lIEFTIGNvbHVtbl9uYW1lCkZST00gc3lzLmluZGV4ZXMgaQpJTk5FUiBKT0lOIHN5cy5pbmRleF9jb2x1bW5zIGljIE9OIGkub2JqZWN0X2lkID0gaWMub2JqZWN0X2lkIEFORCBpLmluZGV4X2lkID0gaWMuaW5kZXhfaWQKSU5ORVIgSk9JTiBzeXMuY29sdW1ucyBjIE9OIGljLm9iamVjdF9pZCA9IGMub2JqZWN0X2lkIEFORCBpYy5jb2x1bW5faWQgPSBjLmNvbHVtbl9pZApXSEVSRSBPQkpFQ1RfTkFNRShpLm9iamVjdF9pZCkgPSAiLnEoJGgpLCRNKWFzJGMpeyRiWyRjWyJuYW1lIl1dWyJ0eXBlIl09KCRjWyJpc19wcmltYXJ5X2tleSJdPyJQUklNQVJZIjooJGNbImlzX3VuaXF1ZSJdPyJVTklRVUUiOiJJTkRFWCIpKTskYlskY1sibmFtZSJdXVsibGVuZ3RocyJdPWFycmF5KCk7JGJbJGNbIm5hbWUiXV1bImNvbHVtbnMiXVskY1sia2V5X29yZGluYWwiXV09JGNbImNvbHVtbl9uYW1lIl07fXJldHVybiRiO31mdW5jdGlvbgp2aWV3KCRlKXtnbG9iYWwkZjtyZXR1cm4KYXJyYXkoInNlbGVjdCI9PnByZWdfcmVwbGFjZSgnfl4oPzpbXltdfFxcW1teXV0qXSkqXFxzK0FTXFxzK35pc1UnLCcnLCRmLT5yZXN1bHQoIlNFTEVDVCBWSUVXX0RFRklOSVRJT04gRlJPTSBJTkZPUk1BVElPTl9TQ0hFTUEuVklFV1MgV0hFUkUgVEFCTEVfU0NIRU1BID0gU0NIRU1BX05BTUUoKSBBTkQgVEFCTEVfTkFNRSA9ICIucSgkZSkpKSk7fWZ1bmN0aW9uCmNvbGxhdGlvbnMoKXskYj1hcnJheSgpO2ZvcmVhY2goZ2V0X3ZhbHMoIlNFTEVDVCBuYW1lIEZST00gZm5faGVscGNvbGxhdGlvbnMoKSIpYXMkSCl7JGJbZXJlZ19yZXBsYWNlKCJfLioiLCIiLCRIKV1bXT0kSDt9cmV0dXJuJGI7fWZ1bmN0aW9uCmluZm9ybWF0aW9uX3NjaGVtYSgkQyl7cmV0dXJuCmZhbHNlO31mdW5jdGlvbgplcnJvcigpe2dsb2JhbCRmO3JldHVybgpubF9icihoKHByZWdfcmVwbGFjZSgnfl4oXFxbW15dXSpdKSt+bScsJycsJGYtPmVycm9yKSkpO31mdW5jdGlvbgpleGFjdF92YWx1ZSgkYSl7cmV0dXJuCnEoJGEpO31mdW5jdGlvbgpjcmVhdGVfZGF0YWJhc2UoJEMsJEgpe3JldHVybgpxdWVyaWVzKCJDUkVBVEUgREFUQUJBU0UgIi5pZGZfZXNjYXBlKCRDKS4oZXJlZ2koJ15bYS16MC05X10rJCcsJEgpPyIgQ09MTEFURSAkSCI6IiIpKTt9ZnVuY3Rpb24KZHJvcF9kYXRhYmFzZXMoJFApe3JldHVybgpxdWVyaWVzKCJEUk9QIERBVEFCQVNFICIuaW1wbG9kZSgiLCAiLGFycmF5X21hcCgnaWRmX2VzY2FwZScsJFApKSk7fWZ1bmN0aW9uCnJlbmFtZV9kYXRhYmFzZSgkZSwkSCl7aWYoZXJlZ2koJ15bYS16MC05X10rJCcsJEgpKXtxdWVyaWVzKCJBTFRFUiBEQVRBQkFTRSAiLmlkZl9lc2NhcGUoREIpLiIgQ09MTEFURSAkSCIpO31xdWVyaWVzKCJBTFRFUiBEQVRBQkFTRSAiLmlkZl9lc2NhcGUoREIpLiIgTU9ESUZZIE5BTUUgPSAiLmlkZl9lc2NhcGUoJGUpKTtyZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24KYXV0b19pbmNyZW1lbnQoKXtyZXR1cm4iIElERU5USVRZIi4oJF9QT1NUWyJBdXRvX2luY3JlbWVudCJdIT0iIj8iKCIuKCskX1BPU1RbIkF1dG9faW5jcmVtZW50Il0pLiIsMSkiOiIiKS4iIFBSSU1BUlkgS0VZIjt9ZnVuY3Rpb24KYWx0ZXJfdGFibGUoJGgsJGUsJHQsJEphLCRYYSwkZ2IsJEgsJHlhLCRzYil7JHI9YXJyYXkoKTtmb3JlYWNoKCR0CmFzJGcpeyR1PWlkZl9lc2NhcGUoJGdbMF0pOyRhPSRnWzFdO2lmKCEkYSl7JHJbIkRST1AiXVtdPSIgQ09MVU1OICR1Ijt9ZWxzZXskYVsxXT1wcmVnX3JlcGxhY2UoIn4oIENPTExBVEUgKScoXFx3KyknfiIsIlxcMVxcMiIsJGFbMV0pO2lmKCRnWzBdPT0iIil7JHJbIkFERCJdW109IlxuICAiLmltcGxvZGUoIiIsJGEpLigkaD09IiI/c3Vic3RyKCRKYVskYVswXV0sMTYrc3RybGVuKCRhWzBdKSk6IiIpO31lbHNle3Vuc2V0KCRhWzZdKTtpZigkdSE9JGFbMF0pe3F1ZXJpZXMoIkVYRUMgc3BfcmVuYW1lICIucSh0YWJsZSgkaCkuIi4kdSIpLiIsICIucShpZGZfdW5lc2NhcGUoJGFbMF0pKS4iLCAnQ09MVU1OJyIpO30kclsiQUxURVIgQ09MVU1OICIuaW1wbG9kZSgiIiwkYSldW109IiI7fX19aWYoJGg9PSIiKXtyZXR1cm4KcXVlcmllcygiQ1JFQVRFIFRBQkxFICIudGFibGUoJGUpLiIgKCIuaW1wbG9kZSgiLCIsKGFycmF5KSRyWyJBREQiXSkuIlxuKSIpO31pZigkaCE9JGUpe3F1ZXJpZXMoIkVYRUMgc3BfcmVuYW1lICIucSh0YWJsZSgkaCkpLiIsICIucSgkZSkpO31pZigkSmEpeyRyWyIiXT0kSmE7fWZvcmVhY2goJHIKYXMkZD0+JGEpe2lmKCFxdWVyaWVzKCJBTFRFUiBUQUJMRSAiLmlkZl9lc2NhcGUoJGUpLiIgJGQiLmltcGxvZGUoIiwiLCRhKSkpe3JldHVybgpmYWxzZTt9fXJldHVybgp0cnVlO31mdW5jdGlvbgphbHRlcl9pbmRleGVzKCRoLCRyKXskWD1hcnJheSgpOyRHYT1hcnJheSgpO2ZvcmVhY2goJHIKYXMkYSl7aWYoJGFbMl0pe2lmKCRhWzBdPT0iUFJJTUFSWSIpeyRHYVtdPSRhWzFdO31lbHNleyRYW109IiRhWzFdIE9OICIudGFibGUoJGgpO319ZWxzZWlmKCFxdWVyaWVzKCgkYVswXSE9IlBSSU1BUlkiPyJDUkVBVEUiLigkYVswXSE9IklOREVYIj8iIFVOSVFVRSI6IiIpLiIgSU5ERVggIi5pZGZfZXNjYXBlKHVuaXFpZCgkaC4iXyIpKS4iIE9OICIudGFibGUoJGgpOiJBTFRFUiBUQUJMRSAiLnRhYmxlKCRoKS4iIEFERCBQUklNQVJZIEtFWSIpLiIgJGFbMV0iKSl7cmV0dXJuCmZhbHNlO319cmV0dXJuKCEkWHx8cXVlcmllcygiRFJPUCBJTkRFWCAiLmltcGxvZGUoIiwgIiwkWCkpKSYmKCEkR2F8fHF1ZXJpZXMoIkFMVEVSIFRBQkxFICIudGFibGUoJGgpLiIgRFJPUCAiLmltcGxvZGUoIiwgIiwkR2EpKSk7fWZ1bmN0aW9uCmJlZ2luKCl7cmV0dXJuCnF1ZXJpZXMoIkJFR0lOIFRSQU5TQUNUSU9OIik7fWZ1bmN0aW9uCmluc2VydF9pbnRvKCRoLCRvKXtyZXR1cm4KcXVlcmllcygiSU5TRVJUIElOVE8gIi50YWJsZSgkaCkuKCRvPyIgKCIuaW1wbG9kZSgiLCAiLGFycmF5X2tleXMoJG8pKS4iKVxuVkFMVUVTICgiLmltcGxvZGUoIiwgIiwkbykuIikiOiJERUZBVUxUIFZBTFVFUyIpKTt9ZnVuY3Rpb24KaW5zZXJ0X3VwZGF0ZSgkaCwkbywkdWEpeyRhYT1hcnJheSgpOyRtPWFycmF5KCk7Zm9yZWFjaCgkbwphcyRkPT4kYSl7JGFhW109IiRkID0gJGEiO2lmKGlzc2V0KCR1YVtpZGZfdW5lc2NhcGUoJGQpXSkpeyRtW109IiRkID0gJGEiO319cmV0dXJuCnF1ZXJpZXMoIk1FUkdFICIudGFibGUoJGgpLiIgVVNJTkcgKFZBTFVFUygiLmltcGxvZGUoIiwgIiwkbykuIikpIEFTIHNvdXJjZSAoYyIuaW1wbG9kZSgiLCBjIixyYW5nZSgxLGNvdW50KCRvKSkpLiIpIE9OICIuaW1wbG9kZSgiIEFORCAiLCRtKS4iIFdIRU4gTUFUQ0hFRCBUSEVOIFVQREFURSBTRVQgIi5pbXBsb2RlKCIsICIsJGFhKS4iIFdIRU4gTk9UIE1BVENIRUQgVEhFTiBJTlNFUlQgKCIuaW1wbG9kZSgiLCAiLGFycmF5X2tleXMoJG8pKS4iKSBWQUxVRVMgKCIuaW1wbG9kZSgiLCAiLCRvKS4iKTsiKTt9ZnVuY3Rpb24KbGFzdF9pZCgpe2dsb2JhbCRmO3JldHVybiRmLT5yZXN1bHQoIlNFTEVDVCBTQ09QRV9JREVOVElUWSgpIik7fWZ1bmN0aW9uCmV4cGxhaW4oJGYsJGopeyRmLT5xdWVyeSgiU0VUIFNIT1dQTEFOX0FMTCBPTiIpOyRiPSRmLT5xdWVyeSgkaik7JGYtPnF1ZXJ5KCJTRVQgU0hPV1BMQU5fQUxMIE9GRiIpO3JldHVybiRiO31mdW5jdGlvbgpmb3JlaWduX2tleXMoJGgpeyRiPWFycmF5KCk7Zm9yZWFjaChnZXRfcm93cygiRVhFQyBzcF9ma2V5cyBAZmt0YWJsZV9uYW1lID0gIi5xKCRoKSlhcyRjKXskST0mJGJbJGNbIkZLX05BTUUiXV07JElbInRhYmxlIl09JGNbIlBLVEFCTEVfTkFNRSJdOyRJWyJzb3VyY2UiXVtdPSRjWyJGS0NPTFVNTl9OQU1FIl07JElbInRhcmdldCJdW109JGNbIlBLQ09MVU1OX05BTUUiXTt9cmV0dXJuJGI7fWZ1bmN0aW9uCnRydW5jYXRlX3RhYmxlcygkeil7cmV0dXJuCmFwcGx5X3F1ZXJpZXMoIlRSVU5DQVRFIFRBQkxFIiwkeik7fWZ1bmN0aW9uCmRyb3Bfdmlld3MoJFcpe3JldHVybgpxdWVyaWVzKCJEUk9QIFZJRVcgIi5pbXBsb2RlKCIsICIsYXJyYXlfbWFwKCd0YWJsZScsJFcpKSk7fWZ1bmN0aW9uCmRyb3BfdGFibGVzKCR6KXtyZXR1cm4KcXVlcmllcygiRFJPUCBUQUJMRSAiLmltcGxvZGUoIiwgIixhcnJheV9tYXAoJ3RhYmxlJywkeikpKTt9ZnVuY3Rpb24KbW92ZV90YWJsZXMoJHosJFcsJG9hKXtyZXR1cm4KYXBwbHlfcXVlcmllcygiQUxURVIgU0NIRU1BICIuaWRmX2VzY2FwZSgkb2EpLiIgVFJBTlNGRVIiLGFycmF5X21lcmdlKCR6LCRXKSk7fWZ1bmN0aW9uCnRyaWdnZXIoJGUpeyR5PWdldF9yb3dzKCJTRUxFQ1Qgcy5uYW1lIFtUcmlnZ2VyXSwKQ0FTRSBXSEVOIE9CSkVDVFBST1BFUlRZKHMuaWQsICdFeGVjSXNJbnNlcnRUcmlnZ2VyJykgPSAxIFRIRU4gJ0lOU0VSVCcgV0hFTiBPQkpFQ1RQUk9QRVJUWShzLmlkLCAnRXhlY0lzVXBkYXRlVHJpZ2dlcicpID0gMSBUSEVOICdVUERBVEUnIFdIRU4gT0JKRUNUUFJPUEVSVFkocy5pZCwgJ0V4ZWNJc0RlbGV0ZVRyaWdnZXInKSA9IDEgVEhFTiAnREVMRVRFJyBFTkQgW0V2ZW50XSwKQ0FTRSBXSEVOIE9CSkVDVFBST1BFUlRZKHMuaWQsICdFeGVjSXNJbnN0ZWFkT2ZUcmlnZ2VyJykgPSAxIFRIRU4gJ0lOU1RFQUQgT0YnIEVMU0UgJ0FGVEVSJyBFTkQgW1RpbWluZ10sCmMudGV4dApGUk9NIHN5c29iamVjdHMgcwpKT0lOIHN5c2NvbW1lbnRzIGMgT04gcy5pZCA9IGMuaWQKV0hFUkUgcy54dHlwZSA9ICdUUicgQU5EIHMubmFtZSA9ICIucSgkZSkpOyRiPXJlc2V0KCR5KTtpZigkYil7JGJbIlN0YXRlbWVudCJdPXByZWdfcmVwbGFjZSgnfl4uK1xccytBU1xccyt+aXNVJywnJywkYlsidGV4dCJdKTt9cmV0dXJuJGI7fWZ1bmN0aW9uCnRyaWdnZXJzKCRoKXskYj1hcnJheSgpO2ZvcmVhY2goZ2V0X3Jvd3MoIlNFTEVDVCBzeXMxLm5hbWUsCkNBU0UgV0hFTiBPQkpFQ1RQUk9QRVJUWShzeXMxLmlkLCAnRXhlY0lzSW5zZXJ0VHJpZ2dlcicpID0gMSBUSEVOICdJTlNFUlQnIFdIRU4gT0JKRUNUUFJPUEVSVFkoc3lzMS5pZCwgJ0V4ZWNJc1VwZGF0ZVRyaWdnZXInKSA9IDEgVEhFTiAnVVBEQVRFJyBXSEVOIE9CSkVDVFBST1BFUlRZKHN5czEuaWQsICdFeGVjSXNEZWxldGVUcmlnZ2VyJykgPSAxIFRIRU4gJ0RFTEVURScgRU5EIFtFdmVudF0sCkNBU0UgV0hFTiBPQkpFQ1RQUk9QRVJUWShzeXMxLmlkLCAnRXhlY0lzSW5zdGVhZE9mVHJpZ2dlcicpID0gMSBUSEVOICdJTlNURUFEIE9GJyBFTFNFICdBRlRFUicgRU5EIFtUaW1pbmddCkZST00gc3lzb2JqZWN0cyBzeXMxCkpPSU4gc3lzb2JqZWN0cyBzeXMyIE9OIHN5czEucGFyZW50X29iaiA9IHN5czIuaWQKV0hFUkUgc3lzMS54dHlwZSA9ICdUUicgQU5EIHN5czIubmFtZSA9ICIucSgkaCkpYXMkYyl7JGJbJGNbIm5hbWUiXV09YXJyYXkoJGNbIlRpbWluZyJdLCRjWyJFdmVudCJdKTt9cmV0dXJuJGI7fWZ1bmN0aW9uCnRyaWdnZXJfb3B0aW9ucygpe3JldHVybgphcnJheSgiVGltaW5nIj0+YXJyYXkoIkFGVEVSIiwiSU5TVEVBRCBPRiIpLCJUeXBlIj0+YXJyYXkoIkFTIiksKTt9ZnVuY3Rpb24Kc2NoZW1hcygpe3JldHVybgpnZXRfdmFscygiU0VMRUNUIG5hbWUgRlJPTSBzeXMuc2NoZW1hcyIpO31mdW5jdGlvbgpnZXRfc2NoZW1hKCl7Z2xvYmFsJGY7aWYoJF9HRVRbIm5zIl0hPSIiKXtyZXR1cm4kX0dFVFsibnMiXTt9cmV0dXJuJGYtPnJlc3VsdCgiU0VMRUNUIFNDSEVNQV9OQU1FKCkiKTt9ZnVuY3Rpb24Kc2V0X3NjaGVtYSgkeWMpe3JldHVybgp0cnVlO31mdW5jdGlvbgp1c2Vfc3FsKCRSKXtyZXR1cm4iVVNFICIuaWRmX2VzY2FwZSgkUik7fWZ1bmN0aW9uCnNob3dfdmFyaWFibGVzKCl7cmV0dXJuCmFycmF5KCk7fWZ1bmN0aW9uCnNob3dfc3RhdHVzKCl7cmV0dXJuCmFycmF5KCk7fWZ1bmN0aW9uCnN1cHBvcnQoJFBhKXtyZXR1cm4KZXJlZygnXihzY2hlbWV8dHJpZ2dlcnx2aWV3fGRyb3BfY29sKSQnLCRQYSk7fSR2YT0ibXNzcWwiOyRaPWFycmF5KCk7JEhhPWFycmF5KCk7Zm9yZWFjaChhcnJheShsYW5nKDEyKT0+YXJyYXkoInRpbnlpbnQiPT4zLCJzbWFsbGludCI9PjUsImludCI9PjEwLCJiaWdpbnQiPT4yMCwiYml0Ij0+MSwiZGVjaW1hbCI9PjAsInJlYWwiPT4xMiwiZmxvYXQiPT41Mywic21hbGxtb25leSI9PjEwLCJtb25leSI9PjIwKSxsYW5nKDEzKT0+YXJyYXkoImRhdGUiPT4xMCwic21hbGxkYXRldGltZSI9PjE5LCJkYXRldGltZSI9PjE5LCJkYXRldGltZTIiPT4xOSwidGltZSI9PjgsImRhdGV0aW1lb2Zmc2V0Ij0+MTApLGxhbmcoMTQpPT5hcnJheSgiY2hhciI9PjgwMDAsInZhcmNoYXIiPT44MDAwLCJ0ZXh0Ij0+MjE0NzQ4MzY0NywibmNoYXIiPT40MDAwLCJudmFyY2hhciI9PjQwMDAsIm50ZXh0Ij0+MTA3Mzc0MTgyMyksbGFuZygxNSk9PmFycmF5KCJiaW5hcnkiPT44MDAwLCJ2YXJiaW5hcnkiPT44MDAwLCJpbWFnZSI9PjIxNDc0ODM2NDcpLClhcyRkPT4kYSl7JForPSRhOyRIYVskZF09YXJyYXlfa2V5cygkYSk7fSRHYj1hcnJheSgpOyR1Yj1hcnJheSgiPSIsIjwiLCI+IiwiPD0iLCI+PSIsIiE9IiwiTElLRSIsIkxJS0UgJSUiLCJJTiIsIklTIE5VTEwiLCJOT1QgTElLRSIsIk5PVCBJTiIsIklTIE5PVCBOVUxMIiwiIik7JGVhPWFycmF5KCJsZW4iLCJsb3dlciIsInJvdW5kIiwidXBwZXIiKTskSWI9YXJyYXkoImF2ZyIsImNvdW50IiwiY291bnQgZGlzdGluY3QiLCJtYXgiLCJtaW4iLCJzdW0iKTskRmI9YXJyYXkoYXJyYXkoImRhdGV8dGltZSI9PiJnZXRkYXRlIiwpLGFycmF5KCJpbnR8ZGVjaW1hbHxyZWFsfGZsb2F0fG1vbmV5fGRhdGV0aW1lIj0+IisvLSIsImNoYXJ8dGV4dCI9PiIrIiwpKTt9JHRhPWFycmF5KCJzZXJ2ZXIiPT4iTXlTUUwiKSskdGE7aWYoIWRlZmluZWQoIkRSSVZFUiIpKXskSmI9YXJyYXkoIk15U1FMaSIsIk15U1FMIiwiUERPX015U1FMIik7ZGVmaW5lKCJEUklWRVIiLCJzZXJ2ZXIiKTtpZihleHRlbnNpb25fbG9hZGVkKCJteXNxbGkiKSl7Y2xhc3MKTWluX0RCCmV4dGVuZHMKTXlTUUxpe3ZhciRleHRlbnNpb249Ik15U1FMaSI7ZnVuY3Rpb24KTWluX0RCKCl7cGFyZW50Ojppbml0KCk7fWZ1bmN0aW9uCmNvbm5lY3QoJF8sJEUsJEcpe215c3FsaV9yZXBvcnQoTVlTUUxJX1JFUE9SVF9PRkYpO2xpc3QoJF9kLCRUYik9ZXhwbG9kZSgiOiIsJF8sMik7JGI9QCR0aGlzLT5yZWFsX2Nvbm5lY3QoKCRfIT0iIj8kX2Q6aW5pX2dldCgibXlzcWxpLmRlZmF1bHRfaG9zdCIpKSwoIiRfJEUiIT0iIj8kRTppbmlfZ2V0KCJteXNxbGkuZGVmYXVsdF91c2VyIikpLCgiJF8kRSRHIiE9IiI/JEc6aW5pX2dldCgibXlzcWxpLmRlZmF1bHRfcHciKSksbnVsbCwoaXNfbnVtZXJpYygkVGIpPyRUYjppbmlfZ2V0KCJteXNxbGkuZGVmYXVsdF9wb3J0IikpLCghaXNfbnVtZXJpYygkVGIpPyRUYjpudWxsKSk7aWYoJGIpe2lmKG1ldGhvZF9leGlzdHMoJHRoaXMsJ3NldF9jaGFyc2V0JykpeyR0aGlzLT5zZXRfY2hhcnNldCgidXRmOCIpO31lbHNleyR0aGlzLT5xdWVyeSgiU0VUIE5BTUVTIHV0ZjgiKTt9fXJldHVybiRiO31mdW5jdGlvbgpyZXN1bHQoJGosJGc9MCl7JGk9JHRoaXMtPnF1ZXJ5KCRqKTtpZighJGkpe3JldHVybgpmYWxzZTt9JGM9JGktPmZldGNoX2FycmF5KCk7cmV0dXJuJGNbJGddO31mdW5jdGlvbgpxdW90ZSgkeCl7cmV0dXJuIiciLiR0aGlzLT5lc2NhcGVfc3RyaW5nKCR4KS4iJyI7fX19ZWxzZWlmKGV4dGVuc2lvbl9sb2FkZWQoIm15c3FsIikpe2NsYXNzCk1pbl9EQnt2YXIkZXh0ZW5zaW9uPSJNeVNRTCIsJHNlcnZlcl9pbmZvLCRhZmZlY3RlZF9yb3dzLCRlcnJvciwkX2xpbmssJF9yZXN1bHQ7ZnVuY3Rpb24KY29ubmVjdCgkXywkRSwkRyl7JHRoaXMtPl9saW5rPUBteXNxbF9jb25uZWN0KCgkXyE9IiI/JF86aW5pX2dldCgibXlzcWwuZGVmYXVsdF9ob3N0IikpLCgiJF8kRSIhPSIiPyRFOmluaV9nZXQoIm15c3FsLmRlZmF1bHRfdXNlciIpKSwoIiRfJEUkRyIhPSIiPyRHOmluaV9nZXQoIm15c3FsLmRlZmF1bHRfcGFzc3dvcmQiKSksdHJ1ZSwxMzEwNzIpO2lmKCR0aGlzLT5fbGluayl7JHRoaXMtPnNlcnZlcl9pbmZvPW15c3FsX2dldF9zZXJ2ZXJfaW5mbygkdGhpcy0+X2xpbmspO2lmKGZ1bmN0aW9uX2V4aXN0cygnbXlzcWxfc2V0X2NoYXJzZXQnKSl7bXlzcWxfc2V0X2NoYXJzZXQoInV0ZjgiLCR0aGlzLT5fbGluayk7fWVsc2V7JHRoaXMtPnF1ZXJ5KCJTRVQgTkFNRVMgdXRmOCIpO319ZWxzZXskdGhpcy0+ZXJyb3I9bXlzcWxfZXJyb3IoKTt9cmV0dXJuKGJvb2wpJHRoaXMtPl9saW5rO31mdW5jdGlvbgpxdW90ZSgkeCl7cmV0dXJuIiciLm15c3FsX3JlYWxfZXNjYXBlX3N0cmluZygkeCwkdGhpcy0+X2xpbmspLiInIjt9ZnVuY3Rpb24Kc2VsZWN0X2RiKCRSKXtyZXR1cm4KbXlzcWxfc2VsZWN0X2RiKCRSLCR0aGlzLT5fbGluayk7fWZ1bmN0aW9uCnF1ZXJ5KCRqLCREYT1mYWxzZSl7JGk9QCgkRGE/bXlzcWxfdW5idWZmZXJlZF9xdWVyeSgkaiwkdGhpcy0+X2xpbmspOm15c3FsX3F1ZXJ5KCRqLCR0aGlzLT5fbGluaykpO2lmKCEkaSl7JHRoaXMtPmVycm9yPW15c3FsX2Vycm9yKCR0aGlzLT5fbGluayk7cmV0dXJuCmZhbHNlO31pZigkaT09PXRydWUpeyR0aGlzLT5hZmZlY3RlZF9yb3dzPW15c3FsX2FmZmVjdGVkX3Jvd3MoJHRoaXMtPl9saW5rKTskdGhpcy0+aW5mbz1teXNxbF9pbmZvKCR0aGlzLT5fbGluayk7cmV0dXJuCnRydWU7fXJldHVybgpuZXcKTWluX1Jlc3VsdCgkaSk7fWZ1bmN0aW9uCm11bHRpX3F1ZXJ5KCRqKXtyZXR1cm4kdGhpcy0+X3Jlc3VsdD0kdGhpcy0+cXVlcnkoJGopO31mdW5jdGlvbgpzdG9yZV9yZXN1bHQoKXtyZXR1cm4kdGhpcy0+X3Jlc3VsdDt9ZnVuY3Rpb24KbmV4dF9yZXN1bHQoKXtyZXR1cm4KZmFsc2U7fWZ1bmN0aW9uCnJlc3VsdCgkaiwkZz0wKXskaT0kdGhpcy0+cXVlcnkoJGopO2lmKCEkaXx8ISRpLT5udW1fcm93cyl7cmV0dXJuCmZhbHNlO31yZXR1cm4KbXlzcWxfcmVzdWx0KCRpLT5fcmVzdWx0LDAsJGcpO319Y2xhc3MKTWluX1Jlc3VsdHt2YXIkbnVtX3Jvd3MsJF9yZXN1bHQsJF9vZmZzZXQ9MDtmdW5jdGlvbgpNaW5fUmVzdWx0KCRpKXskdGhpcy0+X3Jlc3VsdD0kaTskdGhpcy0+bnVtX3Jvd3M9bXlzcWxfbnVtX3Jvd3MoJGkpO31mdW5jdGlvbgpmZXRjaF9hc3NvYygpe3JldHVybgpteXNxbF9mZXRjaF9hc3NvYygkdGhpcy0+X3Jlc3VsdCk7fWZ1bmN0aW9uCmZldGNoX3Jvdygpe3JldHVybgpteXNxbF9mZXRjaF9yb3coJHRoaXMtPl9yZXN1bHQpO31mdW5jdGlvbgpmZXRjaF9maWVsZCgpeyRiPW15c3FsX2ZldGNoX2ZpZWxkKCR0aGlzLT5fcmVzdWx0LCR0aGlzLT5fb2Zmc2V0KyspOyRiLT5vcmd0YWJsZT0kYi0+dGFibGU7JGItPm9yZ25hbWU9JGItPm5hbWU7JGItPmNoYXJzZXRucj0oJGItPmJsb2I/NjM6MCk7cmV0dXJuJGI7fWZ1bmN0aW9uCl9fZGVzdHJ1Y3QoKXtteXNxbF9mcmVlX3Jlc3VsdCgkdGhpcy0+X3Jlc3VsdCk7fX19ZWxzZWlmKGV4dGVuc2lvbl9sb2FkZWQoInBkb19teXNxbCIpKXtjbGFzcwpNaW5fREIKZXh0ZW5kcwpNaW5fUERPe3ZhciRleHRlbnNpb249IlBET19NeVNRTCI7ZnVuY3Rpb24KY29ubmVjdCgkXywkRSwkRyl7JHRoaXMtPmRzbigibXlzcWw6aG9zdD0iLnN0cl9yZXBsYWNlKCI6IiwiO3VuaXhfc29ja2V0PSIscHJlZ19yZXBsYWNlKCd+OihcXGQpficsJztwb3J0PVxcMScsJF8pKSwkRSwkRyk7JHRoaXMtPnF1ZXJ5KCJTRVQgTkFNRVMgdXRmOCIpO3JldHVybgp0cnVlO31mdW5jdGlvbgpzZWxlY3RfZGIoJFIpe3JldHVybiR0aGlzLT5xdWVyeSgiVVNFICIuaWRmX2VzY2FwZSgkUikpO31mdW5jdGlvbgpxdWVyeSgkaiwkRGE9ZmFsc2UpeyR0aGlzLT5zZXRBdHRyaWJ1dGUoMTAwMCwhJERhKTtyZXR1cm4KcGFyZW50OjpxdWVyeSgkaiwkRGEpO319fWZ1bmN0aW9uCmlkZl9lc2NhcGUoJEIpe3JldHVybiJgIi5zdHJfcmVwbGFjZSgiYCIsImBgIiwkQikuImAiO31mdW5jdGlvbgp0YWJsZSgkQil7cmV0dXJuCmlkZl9lc2NhcGUoJEIpO31mdW5jdGlvbgpjb25uZWN0KCl7Z2xvYmFsJGw7JGY9bmV3Ck1pbl9EQjskZ2E9JGwtPmNyZWRlbnRpYWxzKCk7aWYoJGYtPmNvbm5lY3QoJGdhWzBdLCRnYVsxXSwkZ2FbMl0pKXskZi0+cXVlcnkoIlNFVCBzcWxfcXVvdGVfc2hvd19jcmVhdGUgPSAxIik7cmV0dXJuJGY7fXJldHVybiRmLT5lcnJvcjt9ZnVuY3Rpb24KZ2V0X2RhdGFiYXNlcygkeGQ9dHJ1ZSl7Z2xvYmFsJGY7JGI9JmdldF9zZXNzaW9uKCJkYnMiKTtpZighaXNzZXQoJGIpKXtpZigkeGQpe3Jlc3RhcnRfc2Vzc2lvbigpO29iX2ZsdXNoKCk7Zmx1c2goKTt9JGI9Z2V0X3ZhbHMoJGYtPnNlcnZlcl9pbmZvPj01PyJTRUxFQ1QgU0NIRU1BX05BTUUgRlJPTSBpbmZvcm1hdGlvbl9zY2hlbWEuU0NIRU1BVEEiOiJTSE9XIERBVEFCQVNFUyIpO31yZXR1cm4kYjt9ZnVuY3Rpb24KbGltaXQoJGosJG0sJEYsJFQ9MCwkaWE9IiAiKXtyZXR1cm4iICRqJG0iLihpc3NldCgkRik/JGlhLiJMSU1JVCAkRiIuKCRUPyIgT0ZGU0VUICRUIjoiIik6IiIpO31mdW5jdGlvbgpsaW1pdDEoJGosJG0pe3JldHVybgpsaW1pdCgkaiwkbSwxKTt9ZnVuY3Rpb24KZGJfY29sbGF0aW9uKCRDLCRIYil7Z2xvYmFsJGY7JGI9bnVsbDskUWE9JGYtPnJlc3VsdCgiU0hPVyBDUkVBVEUgREFUQUJBU0UgIi5pZGZfZXNjYXBlKCRDKSwxKTtpZihwcmVnX21hdGNoKCd+IENPTExBVEUgKFteIF0rKX4nLCRRYSwkaykpeyRiPSRrWzFdO31lbHNlaWYocHJlZ19tYXRjaCgnfiBDSEFSQUNURVIgU0VUIChbXiBdKyl+JywkUWEsJGspKXskYj0kSGJbJGtbMV1dWy0xXTt9cmV0dXJuJGI7fWZ1bmN0aW9uCmVuZ2luZXMoKXskYj1hcnJheSgpO2ZvcmVhY2goZ2V0X3Jvd3MoIlNIT1cgRU5HSU5FUyIpYXMkYyl7aWYoZXJlZygiWUVTfERFRkFVTFQiLCRjWyJTdXBwb3J0Il0pKXskYltdPSRjWyJFbmdpbmUiXTt9fXJldHVybiRiO31mdW5jdGlvbgpsb2dnZWRfdXNlcigpe2dsb2JhbCRmO3JldHVybiRmLT5yZXN1bHQoIlNFTEVDVCBVU0VSKCkiKTt9ZnVuY3Rpb24KdGFibGVzX2xpc3QoKXtnbG9iYWwkZjtyZXR1cm4KZ2V0X2tleV92YWxzKCJTSE9XIi4oJGYtPnNlcnZlcl9pbmZvPj01PyIgRlVMTCI6IiIpLiIgVEFCTEVTIik7fWZ1bmN0aW9uCmNvdW50X3RhYmxlcygkUCl7JGI9YXJyYXkoKTtmb3JlYWNoKCRQCmFzJEMpeyRiWyRDXT1jb3VudChnZXRfdmFscygiU0hPVyBUQUJMRVMgSU4gIi5pZGZfZXNjYXBlKCRDKSkpO31yZXR1cm4kYjt9ZnVuY3Rpb24KdGFibGVfc3RhdHVzKCRlPSIiKXskYj1hcnJheSgpO2ZvcmVhY2goZ2V0X3Jvd3MoIlNIT1cgVEFCTEUgU1RBVFVTIi4oJGUhPSIiPyIgTElLRSAiLnEoYWRkY3NsYXNoZXMoJGUsIiVfIikpOiIiKSlhcyRjKXtpZigkY1siRW5naW5lIl09PSJJbm5vREIiKXskY1siQ29tbWVudCJdPXByZWdfcmVwbGFjZSgnfig/OiguKyk7ICk/SW5ub0RCIGZyZWU6IC4qficsJ1xcMScsJGNbIkNvbW1lbnQiXSk7fWlmKCFpc3NldCgkY1siUm93cyJdKSl7JGNbIkNvbW1lbnQiXT0iIjt9aWYoJGUhPSIiKXtyZXR1cm4kYzt9JGJbJGNbIk5hbWUiXV09JGM7fXJldHVybiRiO31mdW5jdGlvbgppc192aWV3KCREKXtyZXR1cm4haXNzZXQoJERbIlJvd3MiXSk7fWZ1bmN0aW9uCmZrX3N1cHBvcnQoJEQpe3JldHVybigkRFsiRW5naW5lIl09PSJJbm5vREIiKTt9ZnVuY3Rpb24KZmllbGRzKCRoKXskYj1hcnJheSgpO2ZvcmVhY2goZ2V0X3Jvd3MoIlNIT1cgRlVMTCBDT0xVTU5TIEZST00gIi50YWJsZSgkaCkpYXMkYyl7cHJlZ19tYXRjaCgnfl4oW14oIF0rKSg/OlxcKCguKylcXCkpPyggdW5zaWduZWQpPyggemVyb2ZpbGwpPyR+JywkY1siVHlwZSJdLCRrKTskYlskY1siRmllbGQiXV09YXJyYXkoImZpZWxkIj0+JGNbIkZpZWxkIl0sImZ1bGxfdHlwZSI9PiRjWyJUeXBlIl0sInR5cGUiPT4ka1sxXSwibGVuZ3RoIj0+JGtbMl0sInVuc2lnbmVkIj0+bHRyaW0oJGtbM10uJGtbNF0pLCJkZWZhdWx0Ij0+KCRjWyJEZWZhdWx0Il0hPSIifHxlcmVnKCJjaGFyIiwka1sxXSk/JGNbIkRlZmF1bHQiXTpudWxsKSwibnVsbCI9PigkY1siTnVsbCJdPT0iWUVTIiksImF1dG9faW5jcmVtZW50Ij0+KCRjWyJFeHRyYSJdPT0iYXV0b19pbmNyZW1lbnQiKSwib25fdXBkYXRlIj0+KGVyZWdpKCdeb24gdXBkYXRlICguKyknLCRjWyJFeHRyYSJdLCRrKT8ka1sxXToiIiksImNvbGxhdGlvbiI9PiRjWyJDb2xsYXRpb24iXSwicHJpdmlsZWdlcyI9PmFycmF5X2ZsaXAoZXhwbG9kZSgiLCIsJGNbIlByaXZpbGVnZXMiXSkpLCJjb21tZW50Ij0+JGNbIkNvbW1lbnQiXSwicHJpbWFyeSI9PigkY1siS2V5Il09PSJQUkkiKSwpO31yZXR1cm4kYjt9ZnVuY3Rpb24KaW5kZXhlcygkaCwkTT1udWxsKXtnbG9iYWwkZjtpZighaXNfb2JqZWN0KCRNKSl7JE09JGY7fSRiPWFycmF5KCk7Zm9yZWFjaChnZXRfcm93cygiU0hPVyBJTkRFWCBGUk9NICIudGFibGUoJGgpLCRNKWFzJGMpeyRiWyRjWyJLZXlfbmFtZSJdXVsidHlwZSJdPSgkY1siS2V5X25hbWUiXT09IlBSSU1BUlkiPyJQUklNQVJZIjooJGNbIkluZGV4X3R5cGUiXT09IkZVTExURVhUIj8iRlVMTFRFWFQiOigkY1siTm9uX3VuaXF1ZSJdPyJJTkRFWCI6IlVOSVFVRSIpKSk7JGJbJGNbIktleV9uYW1lIl1dWyJjb2x1bW5zIl1bXT0kY1siQ29sdW1uX25hbWUiXTskYlskY1siS2V5X25hbWUiXV1bImxlbmd0aHMiXVtdPSRjWyJTdWJfcGFydCJdO31yZXR1cm4kYjt9ZnVuY3Rpb24KZm9yZWlnbl9rZXlzKCRoKXtnbG9iYWwkZiwkU2I7c3RhdGljJFM9J2AoPzpbXmBdfGBgKStgJzskYj1hcnJheSgpOyRtZD0kZi0+cmVzdWx0KCJTSE9XIENSRUFURSBUQUJMRSAiLnRhYmxlKCRoKSwxKTtpZigkbWQpe3ByZWdfbWF0Y2hfYWxsKCJ+Q09OU1RSQUlOVCAoJFMpIEZPUkVJR04gS0VZIFxcKCgoPzokUyw/ID8pKylcXCkgUkVGRVJFTkNFUyAoJFMpKD86XFwuKCRTKSk/IFxcKCgoPzokUyw/ID8pKylcXCkoPzogT04gREVMRVRFICgiLmltcGxvZGUoInwiLCRTYikuIikpPyg/OiBPTiBVUERBVEUgKCIuaW1wbG9kZSgifCIsJFNiKS4iKSk/fiIsJG1kLCRkYSxQUkVHX1NFVF9PUkRFUik7Zm9yZWFjaCgkZGEKYXMkayl7cHJlZ19tYXRjaF9hbGwoIn4kU34iLCRrWzJdLCR4Yyk7cHJlZ19tYXRjaF9hbGwoIn4kU34iLCRrWzVdLCRvYSk7JGJbaWRmX3VuZXNjYXBlKCRrWzFdKV09YXJyYXkoImRiIj0+aWRmX3VuZXNjYXBlKCRrWzRdIT0iIj8ka1szXToka1s0XSksInRhYmxlIj0+aWRmX3VuZXNjYXBlKCRrWzRdIT0iIj8ka1s0XToka1szXSksInNvdXJjZSI9PmFycmF5X21hcCgnaWRmX3VuZXNjYXBlJywkeGNbMF0pLCJ0YXJnZXQiPT5hcnJheV9tYXAoJ2lkZl91bmVzY2FwZScsJG9hWzBdKSwib25fZGVsZXRlIj0+JGtbNl0sIm9uX3VwZGF0ZSI9PiRrWzddLCk7fX1yZXR1cm4kYjt9ZnVuY3Rpb24KdmlldygkZSl7Z2xvYmFsJGY7cmV0dXJuCmFycmF5KCJzZWxlY3QiPT5wcmVnX3JlcGxhY2UoJ35eKD86W15gXXxgW15gXSpgKSpcXHMrQVNcXHMrfmlzVScsJycsJGYtPnJlc3VsdCgiU0hPVyBDUkVBVEUgVklFVyAiLnRhYmxlKCRlKSwxKSkpO31mdW5jdGlvbgpjb2xsYXRpb25zKCl7JGI9YXJyYXkoKTtmb3JlYWNoKGdldF9yb3dzKCJTSE9XIENPTExBVElPTiIpYXMkYyl7aWYoJGNbIkRlZmF1bHQiXSl7JGJbJGNbIkNoYXJzZXQiXV1bLTFdPSRjWyJDb2xsYXRpb24iXTt9ZWxzZXskYlskY1siQ2hhcnNldCJdXVtdPSRjWyJDb2xsYXRpb24iXTt9fWtzb3J0KCRiKTtmb3JlYWNoKCRiCmFzJGQ9PiRhKXthc29ydCgkYlskZF0pO31yZXR1cm4kYjt9ZnVuY3Rpb24KaW5mb3JtYXRpb25fc2NoZW1hKCRDKXtnbG9iYWwkZjtyZXR1cm4oJGYtPnNlcnZlcl9pbmZvPj01JiYkQz09ImluZm9ybWF0aW9uX3NjaGVtYSIpO31mdW5jdGlvbgplcnJvcigpe2dsb2JhbCRmO3JldHVybgpoKHByZWdfcmVwbGFjZSgnfl5Zb3UgaGF2ZSBhbiBlcnJvci4qc3ludGF4IHRvIHVzZX5VJywiU3ludGF4IGVycm9yIiwkZi0+ZXJyb3IpKTt9ZnVuY3Rpb24KZXhhY3RfdmFsdWUoJGEpe3JldHVybgpxKCRhKS4iIENPTExBVEUgdXRmOF9iaW4iO31mdW5jdGlvbgpjcmVhdGVfZGF0YWJhc2UoJEMsJEgpe3NldF9zZXNzaW9uKCJkYnMiLG51bGwpO3JldHVybgpxdWVyaWVzKCJDUkVBVEUgREFUQUJBU0UgIi5pZGZfZXNjYXBlKCRDKS4oJEg/IiBDT0xMQVRFICIucSgkSCk6IiIpKTt9ZnVuY3Rpb24KZHJvcF9kYXRhYmFzZXMoJFApe3NldF9zZXNzaW9uKCJkYnMiLG51bGwpO3JldHVybgphcHBseV9xdWVyaWVzKCJEUk9QIERBVEFCQVNFIiwkUCwnaWRmX2VzY2FwZScpO31mdW5jdGlvbgpyZW5hbWVfZGF0YWJhc2UoJGUsJEgpe2lmKGNyZWF0ZV9kYXRhYmFzZSgkZSwkSCkpeyRpYj1hcnJheSgpO2ZvcmVhY2godGFibGVzX2xpc3QoKWFzJGg9PiRBKXskaWJbXT10YWJsZSgkaCkuIiBUTyAiLmlkZl9lc2NhcGUoJGUpLiIuIi50YWJsZSgkaCk7fWlmKCEkaWJ8fHF1ZXJpZXMoIlJFTkFNRSBUQUJMRSAiLmltcGxvZGUoIiwgIiwkaWIpKSl7cXVlcmllcygiRFJPUCBEQVRBQkFTRSAiLmlkZl9lc2NhcGUoREIpKTtyZXR1cm4KdHJ1ZTt9fXJldHVybgpmYWxzZTt9ZnVuY3Rpb24KYXV0b19pbmNyZW1lbnQoKXskc2M9IiBQUklNQVJZIEtFWSI7aWYoJF9HRVRbImNyZWF0ZSJdIT0iIiYmJF9QT1NUWyJhdXRvX2luY3JlbWVudF9jb2wiXSl7Zm9yZWFjaChpbmRleGVzKCRfR0VUWyJjcmVhdGUiXSlhcyRYKXtpZihpbl9hcnJheSgkX1BPU1RbImZpZWxkcyJdWyRfUE9TVFsiYXV0b19pbmNyZW1lbnRfY29sIl1dWyJvcmlnIl0sJFhbImNvbHVtbnMiXSx0cnVlKSl7JHNjPSIiO2JyZWFrO31pZigkWFsidHlwZSJdPT0iUFJJTUFSWSIpeyRzYz0iIFVOSVFVRSI7fX19cmV0dXJuIiBBVVRPX0lOQ1JFTUVOVCRzYyI7fWZ1bmN0aW9uCmFsdGVyX3RhYmxlKCRoLCRlLCR0LCRKYSwkWGEsJGdiLCRILCR5YSwkc2IpeyRyPWFycmF5KCk7Zm9yZWFjaCgkdAphcyRnKXskcltdPSgkZ1sxXT8oJGghPSIiPygkZ1swXSE9IiI/IkNIQU5HRSAiLmlkZl9lc2NhcGUoJGdbMF0pOiJBREQiKToiICIpLiIgIi5pbXBsb2RlKCRnWzFdKS4oJGghPSIiPyIgJGdbMl0iOiIiKToiRFJPUCAiLmlkZl9lc2NhcGUoJGdbMF0pKTt9JHI9YXJyYXlfbWVyZ2UoJHIsJEphKTskUGM9IkNPTU1FTlQ9Ii5xKCRYYSkuKCRnYj8iIEVOR0lORT0iLnEoJGdiKToiIikuKCRIPyIgQ09MTEFURSAiLnEoJEgpOiIiKS4oJHlhIT0iIj8iIEFVVE9fSU5DUkVNRU5UPSR5YSI6IiIpLiRzYjtpZigkaD09IiIpe3JldHVybgpxdWVyaWVzKCJDUkVBVEUgVEFCTEUgIi50YWJsZSgkZSkuIiAoXG4iLmltcGxvZGUoIixcbiIsJHIpLiJcbikgJFBjIik7fWlmKCRoIT0kZSl7JHJbXT0iUkVOQU1FIFRPICIudGFibGUoJGUpO30kcltdPSRQYztyZXR1cm4KcXVlcmllcygiQUxURVIgVEFCTEUgIi50YWJsZSgkaCkuIlxuIi5pbXBsb2RlKCIsXG4iLCRyKSk7fWZ1bmN0aW9uCmFsdGVyX2luZGV4ZXMoJGgsJHIpe2ZvcmVhY2goJHIKYXMkZD0+JGEpeyRyWyRkXT0oJGFbMl0/IlxuRFJPUCBJTkRFWCAiOiJcbkFERCAkYVswXSAiLigkYVswXT09IlBSSU1BUlkiPyJLRVkgIjoiIikpLiRhWzFdO31yZXR1cm4KcXVlcmllcygiQUxURVIgVEFCTEUgIi50YWJsZSgkaCkuaW1wbG9kZSgiLCIsJHIpKTt9ZnVuY3Rpb24KdHJ1bmNhdGVfdGFibGVzKCR6KXtyZXR1cm4KYXBwbHlfcXVlcmllcygiVFJVTkNBVEUgVEFCTEUiLCR6KTt9ZnVuY3Rpb24KZHJvcF92aWV3cygkVyl7cmV0dXJuCnF1ZXJpZXMoIkRST1AgVklFVyAiLmltcGxvZGUoIiwgIixhcnJheV9tYXAoJ3RhYmxlJywkVykpKTt9ZnVuY3Rpb24KZHJvcF90YWJsZXMoJHope3JldHVybgpxdWVyaWVzKCJEUk9QIFRBQkxFICIuaW1wbG9kZSgiLCAiLGFycmF5X21hcCgndGFibGUnLCR6KSkpO31mdW5jdGlvbgptb3ZlX3RhYmxlcygkeiwkVywkb2EpeyRpYj1hcnJheSgpO2ZvcmVhY2goYXJyYXlfbWVyZ2UoJHosJFcpYXMkaCl7JGliW109dGFibGUoJGgpLiIgVE8gIi5pZGZfZXNjYXBlKCRvYSkuIi4iLnRhYmxlKCRoKTt9cmV0dXJuCnF1ZXJpZXMoIlJFTkFNRSBUQUJMRSAiLmltcGxvZGUoIiwgIiwkaWIpKTt9ZnVuY3Rpb24KY29weV90YWJsZXMoJHosJFcsJG9hKXtmb3JlYWNoKCR6CmFzJGgpeyRlPSgkb2E9PURCP3RhYmxlKCJjb3B5XyRoIik6aWRmX2VzY2FwZSgkb2EpLiIuIi50YWJsZSgkaCkpO2lmKCFxdWVyaWVzKCJEUk9QIFRBQkxFIElGIEVYSVNUUyAkZSIpfHwhcXVlcmllcygiQ1JFQVRFIFRBQkxFICRlIExJS0UgIi50YWJsZSgkaCkpfHwhcXVlcmllcygiSU5TRVJUIElOVE8gJGUgU0VMRUNUICogRlJPTSAiLnRhYmxlKCRoKSkpe3JldHVybgpmYWxzZTt9fWZvcmVhY2goJFcKYXMkaCl7JGU9KCRvYT09REI/dGFibGUoImNvcHlfJGgiKTppZGZfZXNjYXBlKCRvYSkuIi4iLnRhYmxlKCRoKSk7JHlkPXZpZXcoJGgpO2lmKCFxdWVyaWVzKCJEUk9QIFZJRVcgSUYgRVhJU1RTICRlIil8fCFxdWVyaWVzKCJDUkVBVEUgVklFVyAkZSBBUyAkeWRbc2VsZWN0XSIpKXtyZXR1cm4KZmFsc2U7fX1yZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24KdHJpZ2dlcigkZSl7JHk9Z2V0X3Jvd3MoIlNIT1cgVFJJR0dFUlMgV0hFUkUgYFRyaWdnZXJgID0gIi5xKCRlKSk7cmV0dXJuCnJlc2V0KCR5KTt9ZnVuY3Rpb24KdHJpZ2dlcnMoJGgpeyRiPWFycmF5KCk7Zm9yZWFjaChnZXRfcm93cygiU0hPVyBUUklHR0VSUyBMSUtFICIucShhZGRjc2xhc2hlcygkaCwiJV8iKSkpYXMkYyl7JGJbJGNbIlRyaWdnZXIiXV09YXJyYXkoJGNbIlRpbWluZyJdLCRjWyJFdmVudCJdKTt9cmV0dXJuJGI7fWZ1bmN0aW9uCnRyaWdnZXJfb3B0aW9ucygpe3JldHVybgphcnJheSgiVGltaW5nIj0+YXJyYXkoIkJFRk9SRSIsIkFGVEVSIiksIlR5cGUiPT5hcnJheSgiRk9SIEVBQ0ggUk9XIiksKTt9ZnVuY3Rpb24Kcm91dGluZSgkZSwkQSl7Z2xvYmFsJGYsJEFjLCRwZCwkWjskRGQ9YXJyYXkoImJvb2wiLCJib29sZWFuIiwiaW50ZWdlciIsImRvdWJsZSBwcmVjaXNpb24iLCJyZWFsIiwiZGVjIiwibnVtZXJpYyIsImZpeGVkIiwibmF0aW9uYWwgY2hhciIsIm5hdGlvbmFsIHZhcmNoYXIiKTskdWQ9IigoIi5pbXBsb2RlKCJ8IixhcnJheV9tZXJnZShhcnJheV9rZXlzKCRaKSwkRGQpKS4iKSg/OlxccypcXCgoKD86W14nXCIpXSp8JEFjKSspXFwpKT9cXHMqKHplcm9maWxsXFxzKik/KHVuc2lnbmVkKD86XFxzK3plcm9maWxsKT8pPykoPzpcXHMqKD86Q0hBUlNFVHxDSEFSQUNURVJcXHMrU0VUKVxccypbJ1wiXT8oW14nXCJcXHNdKylbJ1wiXT8pPyI7JFM9IlxccyooIi4oJEE9PSJGVU5DVElPTiI/IiI6aW1wbG9kZSgifCIsJHBkKSkuIik/XFxzKig/OmAoKD86W15gXXxgYCkqKWBcXHMqfFxcYihcXFMrKVxccyspJHVkIjskUWE9JGYtPnJlc3VsdCgiU0hPVyBDUkVBVEUgJEEgIi5pZGZfZXNjYXBlKCRlKSwyKTtwcmVnX21hdGNoKCJ+XFwoKCg/OiRTXFxzKiw/KSopXFwpIi4oJEE9PSJGVU5DVElPTiI/IlxccypSRVRVUk5TXFxzKyR1ZCI6IiIpLiJcXHMqKC4qKX5pcyIsJFFhLCRrKTskdD1hcnJheSgpO3ByZWdfbWF0Y2hfYWxsKCJ+JFNcXHMqLD9+aXMiLCRrWzFdLCRkYSxQUkVHX1NFVF9PUkRFUik7Zm9yZWFjaCgkZGEKYXMkRWEpeyRlPXN0cl9yZXBsYWNlKCJgYCIsImAiLCRFYVsyXSkuJEVhWzNdOyR0W109YXJyYXkoImZpZWxkIj0+JGUsInR5cGUiPT5zdHJ0b2xvd2VyKCRFYVs1XSksImxlbmd0aCI9PnByZWdfcmVwbGFjZV9jYWxsYmFjaygifiRBY35zIiwnbm9ybWFsaXplX2VudW0nLCRFYVs2XSksInVuc2lnbmVkIj0+c3RydG9sb3dlcihwcmVnX3JlcGxhY2UoJ35cXHMrficsJyAnLHRyaW0oIiRFYVs4XSAkRWFbN10iKSkpLCJmdWxsX3R5cGUiPT4kRWFbNF0sImlub3V0Ij0+c3RydG91cHBlcigkRWFbMV0pLCJjb2xsYXRpb24iPT5zdHJ0b2xvd2VyKCRFYVs5XSksKTt9aWYoJEEhPSJGVU5DVElPTiIpe3JldHVybgphcnJheSgiZmllbGRzIj0+JHQsImRlZmluaXRpb24iPT4ka1sxMV0pO31yZXR1cm4KYXJyYXkoImZpZWxkcyI9PiR0LCJyZXR1cm5zIj0+YXJyYXkoInR5cGUiPT4ka1sxMl0sImxlbmd0aCI9PiRrWzEzXSwidW5zaWduZWQiPT4ka1sxNV0sImNvbGxhdGlvbiI9PiRrWzE2XSksImRlZmluaXRpb24iPT4ka1sxN10sKTt9ZnVuY3Rpb24Kcm91dGluZXMoKXtyZXR1cm4KZ2V0X3Jvd3MoIlNFTEVDVCAqIEZST00gaW5mb3JtYXRpb25fc2NoZW1hLlJPVVRJTkVTIFdIRVJFIFJPVVRJTkVfU0NIRU1BID0gIi5xKERCKSk7fWZ1bmN0aW9uCmJlZ2luKCl7cmV0dXJuCnF1ZXJpZXMoIkJFR0lOIik7fWZ1bmN0aW9uCmluc2VydF9pbnRvKCRoLCRvKXtyZXR1cm4KcXVlcmllcygiSU5TRVJUIElOVE8gIi50YWJsZSgkaCkuIiAoIi5pbXBsb2RlKCIsICIsYXJyYXlfa2V5cygkbykpLiIpXG5WQUxVRVMgKCIuaW1wbG9kZSgiLCAiLCRvKS4iKSIpO31mdW5jdGlvbgppbnNlcnRfdXBkYXRlKCRoLCRvLCR1YSl7Zm9yZWFjaCgkbwphcyRkPT4kYSl7JG9bJGRdPSIkZCA9ICRhIjt9JGFhPWltcGxvZGUoIiwgIiwkbyk7cmV0dXJuCnF1ZXJpZXMoIklOU0VSVCBJTlRPICIudGFibGUoJGgpLiIgU0VUICRhYSBPTiBEVVBMSUNBVEUgS0VZIFVQREFURSAkYWEiKTt9ZnVuY3Rpb24KbGFzdF9pZCgpe2dsb2JhbCRmO3JldHVybiRmLT5yZXN1bHQoIlNFTEVDVCBMQVNUX0lOU0VSVF9JRCgpIik7fWZ1bmN0aW9uCmV4cGxhaW4oJGYsJGope3JldHVybiRmLT5xdWVyeSgiRVhQTEFJTiAkaiIpO31mdW5jdGlvbgp0eXBlcygpe3JldHVybgphcnJheSgpO31mdW5jdGlvbgpzY2hlbWFzKCl7cmV0dXJuCmFycmF5KCk7fWZ1bmN0aW9uCmdldF9zY2hlbWEoKXtyZXR1cm4iIjt9ZnVuY3Rpb24Kc2V0X3NjaGVtYSgkeWMpe3JldHVybgp0cnVlO31mdW5jdGlvbgpjcmVhdGVfc3FsKCRoLCR5YSl7Z2xvYmFsJGY7JGI9JGYtPnJlc3VsdCgiU0hPVyBDUkVBVEUgVEFCTEUgIi50YWJsZSgkaCksMSk7aWYoISR5YSl7JGI9cHJlZ19yZXBsYWNlKCd+IEFVVE9fSU5DUkVNRU5UPVxcZCt+JywnJywkYik7fXJldHVybiRiO31mdW5jdGlvbgp0cnVuY2F0ZV9zcWwoJGgpe3JldHVybiJUUlVOQ0FURSAiLnRhYmxlKCRoKTt9ZnVuY3Rpb24KdXNlX3NxbCgkUil7cmV0dXJuIlVTRSAiLmlkZl9lc2NhcGUoJFIpO31mdW5jdGlvbgp0cmlnZ2VyX3NxbCgkaCwkdGIpeyRiPSIiO2ZvcmVhY2goZ2V0X3Jvd3MoIlNIT1cgVFJJR0dFUlMgTElLRSAiLnEoYWRkY3NsYXNoZXMoJGgsIiVfIikpLG51bGwsIi0tICIpYXMkYyl7JGIuPSJcbiIuKCR0Yj09J0NSRUFURStBTFRFUic/IkRST1AgVFJJR0dFUiBJRiBFWElTVFMgIi5pZGZfZXNjYXBlKCRjWyJUcmlnZ2VyIl0pLiI7O1xuIjoiIikuIkNSRUFURSBUUklHR0VSICIuaWRmX2VzY2FwZSgkY1siVHJpZ2dlciJdKS4iICRjW1RpbWluZ10gJGNbRXZlbnRdIE9OICIudGFibGUoJGNbIlRhYmxlIl0pLiIgRk9SIEVBQ0ggUk9XXG4kY1tTdGF0ZW1lbnRdOztcbiI7fXJldHVybiRiO31mdW5jdGlvbgpzaG93X3ZhcmlhYmxlcygpe3JldHVybgpnZXRfa2V5X3ZhbHMoIlNIT1cgVkFSSUFCTEVTIik7fWZ1bmN0aW9uCnNob3dfc3RhdHVzKCl7cmV0dXJuCmdldF9rZXlfdmFscygiU0hPVyBTVEFUVVMiKTt9ZnVuY3Rpb24Kc3VwcG9ydCgkUGEpe2dsb2JhbCRmO3JldHVybiFlcmVnKCJzY2hlbWV8c2VxdWVuY2V8dHlwZSIuKCRmLT5zZXJ2ZXJfaW5mbzw1LjE/InxldmVudHxwYXJ0aXRpb25pbmciLigkZi0+c2VydmVyX2luZm88NT8ifHZpZXd8cm91dGluZXx0cmlnZ2VyIjoiIik6IiIpLCRQYSk7fSR2YT0ic3FsIjskWj1hcnJheSgpOyRIYT1hcnJheSgpO2ZvcmVhY2goYXJyYXkobGFuZygxMik9PmFycmF5KCJ0aW55aW50Ij0+Mywic21hbGxpbnQiPT41LCJtZWRpdW1pbnQiPT44LCJpbnQiPT4xMCwiYmlnaW50Ij0+MjAsImRlY2ltYWwiPT42NiwiZmxvYXQiPT4xMiwiZG91YmxlIj0+MjEpLGxhbmcoMTMpPT5hcnJheSgiZGF0ZSI9PjEwLCJkYXRldGltZSI9PjE5LCJ0aW1lc3RhbXAiPT4xOSwidGltZSI9PjEwLCJ5ZWFyIj0+NCksbGFuZygxNCk9PmFycmF5KCJjaGFyIj0+MjU1LCJ2YXJjaGFyIj0+NjU1MzUsInRpbnl0ZXh0Ij0+MjU1LCJ0ZXh0Ij0+NjU1MzUsIm1lZGl1bXRleHQiPT4xNjc3NzIxNSwibG9uZ3RleHQiPT40Mjk0OTY3Mjk1KSxsYW5nKDE1KT0+YXJyYXkoImJpdCI9PjIwLCJiaW5hcnkiPT4yNTUsInZhcmJpbmFyeSI9PjY1NTM1LCJ0aW55YmxvYiI9PjI1NSwiYmxvYiI9PjY1NTM1LCJtZWRpdW1ibG9iIj0+MTY3NzcyMTUsImxvbmdibG9iIj0+NDI5NDk2NzI5NSksbGFuZygxOCk9PmFycmF5KCJlbnVtIj0+NjU1MzUsInNldCI9PjY0KSwpYXMkZD0+JGEpeyRaKz0kYTskSGFbJGRdPWFycmF5X2tleXMoJGEpO30kR2I9YXJyYXkoInVuc2lnbmVkIiwiemVyb2ZpbGwiLCJ1bnNpZ25lZCB6ZXJvZmlsbCIpOyR1Yj1hcnJheSgiPSIsIjwiLCI+IiwiPD0iLCI+PSIsIiE9IiwiTElLRSIsIkxJS0UgJSUiLCJSRUdFWFAiLCJJTiIsIklTIE5VTEwiLCJOT1QgTElLRSIsIk5PVCBSRUdFWFAiLCJOT1QgSU4iLCJJUyBOT1QgTlVMTCIsIiIpOyRlYT1hcnJheSgiY2hhcl9sZW5ndGgiLCJkYXRlIiwiZnJvbV91bml4dGltZSIsImhleCIsImxvd2VyIiwicm91bmQiLCJzZWNfdG9fdGltZSIsInRpbWVfdG9fc2VjIiwidXBwZXIiKTskSWI9YXJyYXkoImF2ZyIsImNvdW50IiwiY291bnQgZGlzdGluY3QiLCJncm91cF9jb25jYXQiLCJtYXgiLCJtaW4iLCJzdW0iKTskRmI9YXJyYXkoYXJyYXkoImNoYXIiPT4ibWQ1L3NoYTEvcGFzc3dvcmQvZW5jcnlwdC91dWlkIiwiYmluYXJ5Ij0+Im1kNS9zaGExL2hleCIsImRhdGV8dGltZSI9PiJub3ciLCksYXJyYXkoImludHxmbG9hdHxkb3VibGV8ZGVjaW1hbCI9PiIrLy0iLCJkYXRlIj0+IisgaW50ZXJ2YWwvLSBpbnRlcnZhbCIsInRpbWUiPT4iYWRkdGltZS9zdWJ0aW1lIiwiY2hhcnx0ZXh0Ij0+ImNvbmNhdCIsKSk7fWRlZmluZSgiU0VSVkVSIiwkX0dFVFtEUklWRVJdKTtkZWZpbmUoIkRCIiwkX0dFVFsiZGIiXSk7ZGVmaW5lKCJNRSIscHJlZ19yZXBsYWNlKCd+XlteP10qLyhbXj9dKikuKn4nLCdcXDEnLCRfU0VSVkVSWyJSRVFVRVNUX1VSSSJdKS4nPycuKHNpZCgpP1NJRC4nJic6JycpLihTRVJWRVIhPT1udWxsP0RSSVZFUi4iPSIudXJsZW5jb2RlKFNFUlZFUikuJyYnOicnKS4oaXNzZXQoJF9HRVRbInVzZXJuYW1lIl0pPyJ1c2VybmFtZT0iLnVybGVuY29kZSgkX0dFVFsidXNlcm5hbWUiXSkuJyYnOicnKS4oREIhPSIiPydkYj0nLnVybGVuY29kZShEQikuJyYnLihpc3NldCgkX0dFVFsibnMiXSk/Im5zPSIudXJsZW5jb2RlKCRfR0VUWyJucyJdKS4iJiI6IiIpOicnKSk7JFFiPSIzLjIuMiI7Y2xhc3MKQWRtaW5lcnt2YXIkb3BlcmF0b3JzPWFycmF5KCI8PSIsIj49Iik7dmFyJF92YWx1ZXM9YXJyYXkoKTtmdW5jdGlvbgpuYW1lKCl7cmV0dXJuCmxhbmcoMTkpO31mdW5jdGlvbgpjcmVkZW50aWFscygpe3JldHVybgphcnJheShTRVJWRVIsJF9HRVRbInVzZXJuYW1lIl0sZ2V0X3Nlc3Npb24oInB3ZHMiKSk7fWZ1bmN0aW9uCnBlcm1hbmVudExvZ2luKCl7cmV0dXJuCnBhc3N3b3JkX2ZpbGUoKTt9ZnVuY3Rpb24KZGF0YWJhc2UoKXtnbG9iYWwkZjskUD1nZXRfZGF0YWJhc2VzKGZhbHNlKTtyZXR1cm4oISRQPyRmLT5yZXN1bHQoIlNFTEVDVCBTVUJTVFJJTkdfSU5ERVgoQ1VSUkVOVF9VU0VSLCAnQCcsIDEpIik6JFBbKGluZm9ybWF0aW9uX3NjaGVtYSgkUFswXSk/MTowKV0pO31mdW5jdGlvbgpoZWFkZXJzKCl7aGVhZGVyKCJYLUZyYW1lLU9wdGlvbnM6IGRlbnkiKTtoZWFkZXIoIlgtWFNTLVByb3RlY3Rpb246IDAiKTt9ZnVuY3Rpb24KaGVhZCgpe3JldHVybgp0cnVlO31mdW5jdGlvbgpsb2dpbkZvcm0oKXtlY2hvJzx0YWJsZSBjZWxsc3BhY2luZz0iMCI+Cjx0cj48dGg+JyxsYW5nKDIwKSwnPHRkPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImRyaXZlciIgdmFsdWU9InNlcnZlciI+PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ic2VydmVyIiB2YWx1ZT0iIj48aW5wdXQgaWQ9InVzZXJuYW1lIiBuYW1lPSJ1c2VybmFtZSIgdmFsdWU9IicsaCgkX0dFVFsidXNlcm5hbWUiXSksJyI+Cjx0cj48dGg+JyxsYW5nKDIxKSwnPHRkPjxpbnB1dCB0eXBlPSJwYXNzd29yZCIgbmFtZT0icGFzc3dvcmQiPgo8L3RhYmxlPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwndXNlcm5hbWVcJykuZm9jdXMoKTsKPC9zY3JpcHQ+CicsIjxwPjxpbnB1dCB0eXBlPSdzdWJtaXQnIHZhbHVlPSciLmxhbmcoMjIpLiInPlxuIixjaGVja2JveCgicGVybWFuZW50IiwxLCRfQ09PS0lFWyJhZG1pbmVyX3Blcm1hbmVudCJdLGxhbmcoMjMpKS4iXG4iO31mdW5jdGlvbgpsb2dpbigkaGUsJEcpe2dsb2JhbCRmOyRmLT5xdWVyeSgiU0VUIHRpbWVfem9uZSA9ICIucShzdWJzdHJfcmVwbGFjZShAZGF0ZSgiTyIpLCI6IiwtMiwwKSkpO3JldHVybgp0cnVlO31mdW5jdGlvbgp0YWJsZU5hbWUoJHBiKXtyZXR1cm4KaCgkcGJbIkNvbW1lbnQiXSE9IiI/JHBiWyJDb21tZW50Il06JHBiWyJOYW1lIl0pO31mdW5jdGlvbgpmaWVsZE5hbWUoJGcsJHBhPTApe3JldHVybgpoKCRnWyJjb21tZW50Il0hPSIiPyRnWyJjb21tZW50Il06JGdbImZpZWxkIl0pO31mdW5jdGlvbgpzZWxlY3RMaW5rcygkcGIsJG89IiIpeyR3PSRwYlsiTmFtZSJdO2lmKGlzc2V0KCRvKSl7ZWNobyc8cCBjbGFzcz0idGFicyI+PGEgaHJlZj0iJy5oKE1FLidlZGl0PScudXJsZW5jb2RlKCR3KS4kbykuJyI+Jy5sYW5nKDI0KS4iPC9hPlxuIjt9ZWNobyI8YSBocmVmPSciLmgocmVtb3ZlX2Zyb21fdXJpKCJwYWdlIikpLiImYW1wO3BhZ2U9bGFzdCcgdGl0bGU9JyIubGFuZygyNSkuIic+Jmd0OyZndDs8L2E+XG4iO31mdW5jdGlvbgpmb3JlaWduS2V5cygkaCl7cmV0dXJuCmZvcmVpZ25fa2V5cygkaCk7fWZ1bmN0aW9uCmJhY2t3YXJkS2V5cygkaCwkRmQpeyRiPWFycmF5KCk7Zm9yZWFjaChnZXRfcm93cygiU0VMRUNUIFRBQkxFX05BTUUsIENPTlNUUkFJTlRfTkFNRSwgQ09MVU1OX05BTUUsIFJFRkVSRU5DRURfQ09MVU1OX05BTUUKRlJPTSBpbmZvcm1hdGlvbl9zY2hlbWEuS0VZX0NPTFVNTl9VU0FHRQpXSEVSRSBUQUJMRV9TQ0hFTUEgPSAiLnEoJHRoaXMtPmRhdGFiYXNlKCkpLiIKQU5EIFJFRkVSRU5DRURfVEFCTEVfU0NIRU1BID0gIi5xKCR0aGlzLT5kYXRhYmFzZSgpKS4iCkFORCBSRUZFUkVOQ0VEX1RBQkxFX05BTUUgPSAiLnEoJGgpLiIKT1JERVIgQlkgT1JESU5BTF9QT1NJVElPTiIsbnVsbCwiIilhcyRjKXskYlskY1siVEFCTEVfTkFNRSJdXVsia2V5cyJdWyRjWyJDT05TVFJBSU5UX05BTUUiXV1bJGNbIkNPTFVNTl9OQU1FIl1dPSRjWyJSRUZFUkVOQ0VEX0NPTFVNTl9OQU1FIl07fWZvcmVhY2goJGIKYXMkZD0+JGEpeyRlPSR0aGlzLT50YWJsZU5hbWUodGFibGVfc3RhdHVzKCRkKSk7aWYoJGUhPSIiKXskcmI9cHJlZ19xdW90ZSgkRmQpOyRpYT0iKDp8XFxzKi0pP1xccysiOyRiWyRkXVsibmFtZSJdPShwcmVnX21hdGNoKCIoXiRyYiRpYSguKyl8XiguKz8pJGlhJHJiXCQpaXUiLCRlLCRrKT8ka1syXS4ka1szXTokZSk7fWVsc2V7dW5zZXQoJGJbJGRdKTt9fXJldHVybiRiO31mdW5jdGlvbgpiYWNrd2FyZEtleXNQcmludCgkRWQsJGMpe2ZvcmVhY2goJEVkCmFzJGg9PiR0ZCl7Zm9yZWFjaCgkdGRbImtleXMiXWFzJFdhKXskdj1NRS4nc2VsZWN0PScudXJsZW5jb2RlKCRoKTskcT0wO2ZvcmVhY2goJFdhCmFzJHU9PiRhKXskdi49d2hlcmVfbGluaygkcSsrLCR1LCRjWyRhXSk7fWVjaG8iPGEgaHJlZj0nIi5oKCR2KS4iJz4iLmgoJHRkWyJuYW1lIl0pLiI8L2E+Ijskdj1NRS4nZWRpdD0nLnVybGVuY29kZSgkaCk7Zm9yZWFjaCgkV2EKYXMkdT0+JGEpeyR2Lj0iJnNldCIudXJsZW5jb2RlKCJbIi5icmFja2V0X2VzY2FwZSgkdSkuIl0iKS4iPSIudXJsZW5jb2RlKCRjWyRhXSk7fWVjaG8iPGEgaHJlZj0nIi5oKCR2KS4iJyB0aXRsZT0nIi5sYW5nKDI0KS4iJz4rPC9hPiAiO319fWZ1bmN0aW9uCnNlbGVjdFF1ZXJ5KCRqKXtyZXR1cm4iPCEtLVxuIi5zdHJfcmVwbGFjZSgiLS0iLCItLT48IS0tICIsJGopLiJcbi0tPlxuIjt9ZnVuY3Rpb24Kcm93RGVzY3JpcHRpb24oJGgpe2ZvcmVhY2goZmllbGRzKCRoKWFzJGcpe2lmKCRnWyJ0eXBlIl09PSJ2YXJjaGFyIil7cmV0dXJuCmlkZl9lc2NhcGUoJGdbImZpZWxkIl0pO319cmV0dXJuIiI7fWZ1bmN0aW9uCnJvd0Rlc2NyaXB0aW9ucygkeSwkRWIpeyRiPSR5O2ZvcmVhY2goJHlbMF1hcyRkPT4kYSl7Zm9yZWFjaCgoYXJyYXkpJEViWyRkXWFzJEFhKXtpZihjb3VudCgkQWFbInNvdXJjZSJdKT09MSl7JGJhPWlkZl9lc2NhcGUoJEFhWyJ0YXJnZXQiXVswXSk7JGU9JHRoaXMtPnJvd0Rlc2NyaXB0aW9uKCRBYVsidGFibGUiXSk7aWYoJGUhPSIiKXskb2Q9YXJyYXkoKTtmb3JlYWNoKCR5CmFzJGMpeyRvZFskY1skZF1dPWV4YWN0X3ZhbHVlKCRjWyRkXSk7fSRpYz0kdGhpcy0+X3ZhbHVlc1skQWFbInRhYmxlIl1dO2lmKCEkaWMpeyRpYz1nZXRfa2V5X3ZhbHMoIlNFTEVDVCAkYmEsICRlIEZST00gIi50YWJsZSgkQWFbInRhYmxlIl0pLiIgV0hFUkUgJGJhIElOICgiLmltcGxvZGUoIiwgIiwkb2QpLiIpIik7fWZvcmVhY2goJHkKYXMkTz0+JGMpe2lmKGlzc2V0KCRjWyRkXSkpeyRiWyRPXVskZF09KHN0cmluZykkaWNbJGNbJGRdXTt9fWJyZWFrO319fX1yZXR1cm4kYjt9ZnVuY3Rpb24Kc2VsZWN0VmFsKCRhLCR2LCRnKXskYj0oJGE9PSI8aT5OVUxMPC9pPiI/IiZuYnNwOyI6JGEpO2lmKGVyZWcoJ2Jsb2J8Ynl0ZWEnLCRnWyJ0eXBlIl0pJiYhaXNfdXRmOCgkYSkpeyRiPWxhbmcoMjYsc3RybGVuKCRhKSk7aWYoZXJlZygiXihHSUZ8XHhGRlx4RDhceEZGfFx4ODlceDUwXHg0RVx4NDdceDBEXHgwQVx4MUFceDBBKSIsJGEpKXskYj0iPGltZyBzcmM9JyR2JyBhbHQ9JyRiJz4iO319aWYobGlrZV9ib29sKCRnKSYmJGIhPSImbmJzcDsiKXskYj0nPGltZyBzcmM9IicuKCRhPyIiLmgocHJlZ19yZXBsYWNlKCJ+XFw/Lip+IiwiIixNRSkpLiI/ZmlsZT1wbHVzLmdpZiZhbXA7dmVyc2lvbj0zLjIuMiI6IiIuaChwcmVnX3JlcGxhY2UoIn5cXD8uKn4iLCIiLE1FKSkuIj9maWxlPWNyb3NzLmdpZiZhbXA7dmVyc2lvbj0zLjIuMiIpLiciIGFsdD0iJy5oKCRhKS4nIj4nO31pZigkdil7JGI9IjxhIGhyZWY9JyR2Jz4kYjwvYT4iO31pZighJHYmJiFsaWtlX2Jvb2woJGcpJiZlcmVnKCdpbnR8ZmxvYXR8ZG91YmxlfGRlY2ltYWwnLCRnWyJ0eXBlIl0pKXskYj0iPGRpdiBjbGFzcz0nbnVtYmVyJz4kYjwvZGl2PiI7fWVsc2VpZihlcmVnKCdkYXRlJywkZ1sidHlwZSJdKSl7JGI9IjxkaXYgY2xhc3M9J2RhdGV0aW1lJz4kYjwvZGl2PiI7fXJldHVybiRiO31mdW5jdGlvbgplZGl0VmFsKCRhLCRnKXtpZihlcmVnKCdkYXRlfHRpbWVzdGFtcCcsJGdbInR5cGUiXSkmJmlzc2V0KCRhKSl7cmV0dXJuCnByZWdfcmVwbGFjZSgnfl4oXFxkezJ9KFxcZCspKS0oMD8oXFxkKykpLSgwPyhcXGQrKSl+JyxsYW5nKDI3KSwkYSk7fXJldHVybihlcmVnKCJiaW5hcnkiLCRnWyJ0eXBlIl0pP3Jlc2V0KHVucGFjaygiSCoiLCRhKSk6JGEpO31mdW5jdGlvbgpzZWxlY3RDb2x1bW5zUHJpbnQoJEssJEope31mdW5jdGlvbgpzZWxlY3RTZWFyY2hQcmludCgkbSwkSiwkVSl7JG09KGFycmF5KSRfR0VUWyJ3aGVyZSJdO2VjaG8nPGZpZWxkc2V0PjxsZWdlbmQ+Jy5sYW5nKDI4KS4iPC9sZWdlbmQ+PGRpdj5cbiI7JGhjPWFycmF5KCk7Zm9yZWFjaCgkbQphcyRkPT4kYSl7JGhjWyRhWyJjb2wiXV09JGQ7fSRxPTA7JHQ9ZmllbGRzKCRfR0VUWyJzZWxlY3QiXSk7Zm9yZWFjaCgkdAphcyRlPT4kZyl7aWYoZXJlZygiZW51bSIsJGdbInR5cGUiXSkpeyROYT0kSlskZV07JGQ9JGhjWyRlXTskcS0tO2VjaG8iPGRpdj4iLmgoJE5hKS4iPGlucHV0IHR5cGU9J2hpZGRlbicgbmFtZT0nd2hlcmVbJHFdW2NvbF0nIHZhbHVlPSciLmgoJGUpLiInPjoiLGVudW1faW5wdXQoImNoZWNrYm94IiwiIG5hbWU9J3doZXJlWyRxXVt2YWxdW10nIiwkZywoYXJyYXkpJG1bJGRdWyJ2YWwiXSwoJGdbIm51bGwiXT8wOm51bGwpKSwiPC9kaXY+XG4iO3Vuc2V0KCRKWyRlXSk7fX1mb3JlYWNoKCRKCmFzJGU9PiROYSl7JElhPSR0aGlzLT5fZm9yZWlnbktleU9wdGlvbnMoJF9HRVRbInNlbGVjdCJdLCRlKTtpZigkSWEpe2lmKCR0WyRlXVsibnVsbCJdKXskSWFbMF09JygnLmxhbmcoNCkuJyknO30kZD0kaGNbJGVdOyRxLS07ZWNobyI8ZGl2PiIuaCgkTmEpLiI8aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSd3aGVyZVskcV1bY29sXScgdmFsdWU9JyIuaCgkZSkuIic+PGlucHV0IHR5cGU9J2hpZGRlbicgbmFtZT0nd2hlcmVbJHFdW29wXScgdmFsdWU9Jz0nPjogPHNlbGVjdCBuYW1lPSd3aGVyZVskcV1bdmFsXSc+Ii5vcHRpb25saXN0KCRJYSwkbVskZF1bInZhbCJdLHRydWUpLiI8L3NlbGVjdD48L2Rpdj5cbiI7dW5zZXQoJEpbJGVdKTt9fSRxPTA7Zm9yZWFjaCgkbQphcyRhKXtpZigoJGFbImNvbCJdPT0iInx8JEpbJGFbImNvbCJdXSkmJiIkYVtjb2xdJGFbdmFsXSIhPSIiKXtlY2hvIjxkaXY+PHNlbGVjdCBuYW1lPSd3aGVyZVskcV1bY29sXSc+PG9wdGlvbiB2YWx1ZT0nJz4oIi5sYW5nKDI5KS4iKSIub3B0aW9ubGlzdCgkSiwkYVsiY29sIl0sdHJ1ZSkuIjwvc2VsZWN0PiIsaHRtbF9zZWxlY3QoIndoZXJlWyRxXVtvcF0iLGFycmF5KC0xPT4iIikrJHRoaXMtPm9wZXJhdG9ycywkYVsib3AiXSksIjxpbnB1dCBuYW1lPSd3aGVyZVskcV1bdmFsXScgdmFsdWU9JyIuaCgkYVsidmFsIl0pLiInPjwvZGl2PlxuIjskcSsrO319ZWNobyI8ZGl2PjxzZWxlY3QgbmFtZT0nd2hlcmVbJHFdW2NvbF0nIG9uY2hhbmdlPSdzZWxlY3RBZGRSb3codGhpcyk7Jz48b3B0aW9uIHZhbHVlPScnPigiLmxhbmcoMjkpLiIpIi5vcHRpb25saXN0KCRKLG51bGwsdHJ1ZSkuIjwvc2VsZWN0PiIsaHRtbF9zZWxlY3QoIndoZXJlWyRxXVtvcF0iLGFycmF5KC0xPT4iIikrJHRoaXMtPm9wZXJhdG9ycyksIjxpbnB1dCBuYW1lPSd3aGVyZVskcV1bdmFsXSc+PC9kaXY+XG4iLCI8L2Rpdj48L2ZpZWxkc2V0PlxuIjt9ZnVuY3Rpb24Kc2VsZWN0T3JkZXJQcmludCgkcGEsJEosJFUpeyR2Yz1hcnJheSgpO2ZvcmVhY2goJFUKYXMkZD0+JFgpeyRwYT1hcnJheSgpO2ZvcmVhY2goJFhbImNvbHVtbnMiXWFzJGEpeyRwYVtdPSRKWyRhXTt9aWYoY291bnQoYXJyYXlfZmlsdGVyKCRwYSwnc3RybGVuJykpPjEmJiRkIT0iUFJJTUFSWSIpeyR2Y1skZF09aW1wbG9kZSgiLCAiLCRwYSk7fX1pZigkdmMpe2VjaG8nPGZpZWxkc2V0PjxsZWdlbmQ+Jy5sYW5nKDMwKS4iPC9sZWdlbmQ+PGRpdj4iLCI8c2VsZWN0IG5hbWU9J2luZGV4X29yZGVyJz4iLm9wdGlvbmxpc3QoYXJyYXkoIiI9PiIiKSskdmMsKCRfR0VUWyJvcmRlciJdWzBdIT0iIj8iIjokX0dFVFsiaW5kZXhfb3JkZXIiXSksdHJ1ZSkuIjwvc2VsZWN0PiIsIjwvZGl2PjwvZmllbGRzZXQ+XG4iO31pZigkX0dFVFsib3JkZXIiXSl7ZWNobyI8ZGl2IHN0eWxlPSdkaXNwbGF5OiBub25lOyc+Ii5oaWRkZW5fZmllbGRzKGFycmF5KCJvcmRlciI9PmFycmF5KDE9PnJlc2V0KCRfR0VUWyJvcmRlciJdKSksImRlc2MiPT4oJF9HRVRbImRlc2MiXT9hcnJheSgxPT4xKTphcnJheSgpKSwpKS4iPC9kaXY+XG4iO319ZnVuY3Rpb24Kc2VsZWN0TGltaXRQcmludCgkRil7ZWNobyI8ZmllbGRzZXQ+PGxlZ2VuZD4iLmxhbmcoMzEpLiI8L2xlZ2VuZD48ZGl2PiI7ZWNobwpodG1sX3NlbGVjdCgibGltaXQiLGFycmF5KCIiLCIzMCIsIjEwMCIpLCRGKSwiPC9kaXY+PC9maWVsZHNldD5cbiI7fWZ1bmN0aW9uCnNlbGVjdExlbmd0aFByaW50KCRmYil7fWZ1bmN0aW9uCnNlbGVjdEFjdGlvblByaW50KCl7ZWNobyI8ZmllbGRzZXQ+PGxlZ2VuZD4iLmxhbmcoMzIpLiI8L2xlZ2VuZD48ZGl2PiIsIjxpbnB1dCB0eXBlPSdzdWJtaXQnIHZhbHVlPSciLmxhbmcoMzMpLiInPiIsIjwvZGl2PjwvZmllbGRzZXQ+XG4iO31mdW5jdGlvbgpzZWxlY3RFbWFpbFByaW50KCRWYiwkSil7aWYoJFZiKXtwcmludF9maWVsZHNldCgiZW1haWwiLGxhbmcoMzQpLCRfUE9TVFsiZW1haWxfYXBwZW5kIl0pO2VjaG8iPHA+Ii5sYW5nKDM1KS4iOiA8aW5wdXQgbmFtZT0nZW1haWxfZnJvbScgdmFsdWU9JyIuaCgkX1BPU1Q/JF9QT1NUWyJlbWFpbF9mcm9tIl06JF9DT09LSUVbImFkbWluZXJfZW1haWwiXSkuIic+XG4iLGxhbmcoMzYpLiI6IDxpbnB1dCBuYW1lPSdlbWFpbF9zdWJqZWN0JyB2YWx1ZT0nIi5oKCRfUE9TVFsiZW1haWxfc3ViamVjdCJdKS4iJz5cbiIsIjxwPjx0ZXh0YXJlYSBuYW1lPSdlbWFpbF9tZXNzYWdlJyByb3dzPScxNScgY29scz0nNzUnPiIuaCgkX1BPU1RbImVtYWlsX21lc3NhZ2UiXS4oJF9QT1NUWyJlbWFpbF9hcHBlbmQiXT8neyQnLiIkX1BPU1RbZW1haWxfYWRkaXRpb25dfSI6IiIpKS4iPC90ZXh0YXJlYT48YnI+XG4iO2VjaG8KaHRtbF9zZWxlY3QoImVtYWlsX2FkZGl0aW9uIiwkSiwkX1BPU1RbImVtYWlsX2FkZGl0aW9uIl0pLiI8aW5wdXQgdHlwZT0nc3VibWl0JyBuYW1lPSdlbWFpbF9hcHBlbmQnIHZhbHVlPSciLmxhbmcoMzcpLiInPlxuIjtlY2hvIjxwPiIubGFuZygzOCkuIjogPGlucHV0IHR5cGU9J2ZpbGUnIG5hbWU9J2VtYWlsX2ZpbGVzW10nIG9uY2hhbmdlPVwidGhpcy5vbmNoYW5nZSA9IGZ1bmN0aW9uICgpIHsgfTsgdmFyIGVsID0gdGhpcy5jbG9uZU5vZGUodHJ1ZSk7IGVsLnZhbHVlID0gJyc7IHRoaXMucGFyZW50Tm9kZS5hcHBlbmRDaGlsZChlbCk7XCI+IiwiPHA+Ii4oY291bnQoJFZiKT09MT8nPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZW1haWxfZmllbGQiIHZhbHVlPSInLmgoa2V5KCRWYikpLiciPic6aHRtbF9zZWxlY3QoImVtYWlsX2ZpZWxkIiwkVmIpKSwiPGlucHV0IHR5cGU9J3N1Ym1pdCcgbmFtZT0nZW1haWwnIHZhbHVlPSciLmxhbmcoMzkpLiInIG9uY2xpY2s9XCJyZXR1cm4gdGhpcy5mb3JtWydkZWxldGUnXS5vbmNsaWNrKCk7XCI+XG4iLCI8L2Rpdj48L2ZpZWxkc2V0PlxuIjt9fWZ1bmN0aW9uCnNlbGVjdENvbHVtbnNQcm9jZXNzKCRKLCRVKXtyZXR1cm4KYXJyYXkoYXJyYXkoKSxhcnJheSgpKTt9ZnVuY3Rpb24Kc2VsZWN0U2VhcmNoUHJvY2VzcygkdCwkVSl7JGI9YXJyYXkoKTtmb3JlYWNoKChhcnJheSkkX0dFVFsid2hlcmUiXWFzJGQ9PiRtKXskTWE9JG1bImNvbCJdOyR2Yj0kbVsib3AiXTskYT0kbVsidmFsIl07aWYoKCRkPDA/IiI6JE1hKS4kYSE9IiIpeyREYj1hcnJheSgpO2ZvcmVhY2goKCRNYSE9IiI/YXJyYXkoJE1hPT4kdFskTWFdKTokdClhcyRlPT4kZyl7aWYoJE1hIT0iInx8aXNfbnVtZXJpYygkYSl8fCFlcmVnKCdpbnR8ZmxvYXR8ZG91YmxlfGRlY2ltYWwnLCRnWyJ0eXBlIl0pKXskZT1pZGZfZXNjYXBlKCRlKTtpZigkTWEhPSIiJiYkZ1sidHlwZSJdPT0iZW51bSIpeyREYltdPShpbl9hcnJheSgwLCRhKT8iJGUgSVMgTlVMTCBPUiAiOiIiKS4iJGUgSU4gKCIuaW1wbG9kZSgiLCAiLGFycmF5X21hcCgnaW50dmFsJywkYSkpLiIpIjt9ZWxzZXskbmQ9ZXJlZygnY2hhcnx0ZXh0fGVudW18c2V0JywkZ1sidHlwZSJdKTskbj0kdGhpcy0+cHJvY2Vzc0lucHV0KCRnLCghJHZiJiYkbmQmJmVyZWcoJ15bXiVdKyQnLCRhKT8iJSRhJSI6JGEpKTskRGJbXT0kZS4oJG49PSJOVUxMIj8iIElTIi4oJHZiPT0iPj0iPyIgTk9UIjoiIikuIiAkbiI6KGluX2FycmF5KCR2YiwkdGhpcy0+b3BlcmF0b3JzKXx8JHZiPT0iPSI/IiAkdmIgJG4iOigkbmQ/IiBMSUtFICRuIjoiIElOICgiLnN0cl9yZXBsYWNlKCIsIiwiJywgJyIsJG4pLiIpIikpKTtpZigkZDwwJiYkYT09IjAiKXskRGJbXT0iJGUgSVMgTlVMTCI7fX19fSRiW109KCREYj8iKCIuaW1wbG9kZSgiIE9SICIsJERiKS4iKSI6IjAiKTt9fXJldHVybiRiO31mdW5jdGlvbgpzZWxlY3RPcmRlclByb2Nlc3MoJHQsJFUpeyRQYj0kX0dFVFsiaW5kZXhfb3JkZXIiXTtpZigkUGIhPSIiKXt1bnNldCgkX0dFVFsib3JkZXIiXVsxXSk7fWlmKCRfR0VUWyJvcmRlciJdKXtyZXR1cm4KYXJyYXkoaWRmX2VzY2FwZShyZXNldCgkX0dFVFsib3JkZXIiXSkpLigkX0dFVFsiZGVzYyJdPyIgREVTQyI6IiIpKTt9Zm9yZWFjaCgoJFBiIT0iIj9hcnJheSgkVVskUGJdKTokVSlhcyRYKXtpZigkUGIhPSIifHwkWFsidHlwZSJdPT0iSU5ERVgiKXskTmE9ZmFsc2U7Zm9yZWFjaCgkWFsiY29sdW1ucyJdYXMkYSl7aWYoZXJlZygnZGF0ZXx0aW1lc3RhbXAnLCR0WyRhXVsidHlwZSJdKSl7JE5hPXRydWU7YnJlYWs7fX0kYj1hcnJheSgpO2ZvcmVhY2goJFhbImNvbHVtbnMiXWFzJGEpeyRiW109aWRmX2VzY2FwZSgkYSkuKCROYT8iIERFU0MiOiIiKTt9cmV0dXJuJGI7fX1yZXR1cm4KYXJyYXkoKTt9ZnVuY3Rpb24Kc2VsZWN0TGltaXRQcm9jZXNzKCl7cmV0dXJuKGlzc2V0KCRfR0VUWyJsaW1pdCJdKT8kX0dFVFsibGltaXQiXToiMzAiKTt9ZnVuY3Rpb24Kc2VsZWN0TGVuZ3RoUHJvY2Vzcygpe3JldHVybiIxMDAiO31mdW5jdGlvbgpzZWxlY3RFbWFpbFByb2Nlc3MoJG0sJEViKXtpZigkX1BPU1RbImVtYWlsX2FwcGVuZCJdKXtyZXR1cm4KdHJ1ZTt9aWYoJF9QT1NUWyJlbWFpbCJdKXskc2Q9MDtpZigkX1BPU1RbImFsbCJdfHwkX1BPU1RbImNoZWNrIl0peyRnPWlkZl9lc2NhcGUoJF9QT1NUWyJlbWFpbF9maWVsZCJdKTskS2I9JF9QT1NUWyJlbWFpbF9zdWJqZWN0Il07JHdhPSRfUE9TVFsiZW1haWxfbWVzc2FnZSJdO3ByZWdfbWF0Y2hfYWxsKCd+XFx7XFwkKFthLXowLTlfXSspXFx9fmknLCIkS2IuJHdhIiwkZGEpOyR5PWdldF9yb3dzKCJTRUxFQ1QgRElTVElOQ1QgJGciLigkZGFbMV0/IiwgIi5pbXBsb2RlKCIsICIsYXJyYXlfbWFwKCdpZGZfZXNjYXBlJyxhcnJheV91bmlxdWUoJGRhWzFdKSkpOiIiKS4iIEZST00gIi50YWJsZSgkX0dFVFsic2VsZWN0Il0pLiIgV0hFUkUgJGcgSVMgTk9UIE5VTEwgQU5EICRnICE9ICcnIi4oJG0/IiBBTkQgIi5pbXBsb2RlKCIgQU5EICIsJG0pOiIiKS4oJF9QT1NUWyJhbGwiXT8iIjoiIEFORCAoKCIuaW1wbG9kZSgiKSBPUiAoIixhcnJheV9tYXAoJ3doZXJlX2NoZWNrJywoYXJyYXkpJF9QT1NUWyJjaGVjayJdKSkuIikpIikpOyR0PWZpZWxkcygkX0dFVFsic2VsZWN0Il0pO2ZvcmVhY2goJHRoaXMtPnJvd0Rlc2NyaXB0aW9ucygkeSwkRWIpYXMkYyl7JG9jPWFycmF5KCd7XFwnPT4neycpO2ZvcmVhY2goJGRhWzFdYXMkYSl7JG9jWyd7JCcuIiRhfSJdPSR0aGlzLT5lZGl0VmFsKCRjWyRhXSwkdFskYV0pO30kbWI9JGNbJF9QT1NUWyJlbWFpbF9maWVsZCJdXTtpZihpc19tYWlsKCRtYikmJnNlbmRfbWFpbCgkbWIsc3RydHIoJEtiLCRvYyksc3RydHIoJHdhLCRvYyksJF9QT1NUWyJlbWFpbF9mcm9tIl0sJF9GSUxFU1siZW1haWxfZmlsZXMiXSkpeyRzZCsrO319fWNvb2tpZSgiYWRtaW5lcl9lbWFpbCIsJF9QT1NUWyJlbWFpbF9mcm9tIl0pO3JlZGlyZWN0KHJlbW92ZV9mcm9tX3VyaSgpLGxhbmcoNDAsJHNkKSk7fXJldHVybgpmYWxzZTt9ZnVuY3Rpb24KbWVzc2FnZVF1ZXJ5KCRqKXtyZXR1cm4iPCEtLVxuIi5zdHJfcmVwbGFjZSgiLS0iLCItLT48IS0tICIsJGopLiJcbi0tPiI7fWZ1bmN0aW9uCmVkaXRGdW5jdGlvbnMoJGcpeyRiPWFycmF5KCk7aWYoJGdbIm51bGwiXSYmZXJlZygnYmxvYicsJGdbInR5cGUiXSkpeyRiWyJOVUxMIl09bGFuZyg0KTt9JGJbIiJdPSgkZ1sibnVsbCJdfHwkZ1siYXV0b19pbmNyZW1lbnQiXXx8bGlrZV9ib29sKCRnKT8iIjoiKiIpO2lmKGVyZWcoJ2RhdGV8dGltZScsJGdbInR5cGUiXSkpeyRiWyJub3ciXT1sYW5nKDQxKTt9aWYoZXJlZ2koJ18obWQ1fHNoYTEpJCcsJGdbImZpZWxkIl0sJGspKXskYltdPXN0cnRvbG93ZXIoJGtbMV0pO31yZXR1cm4kYjt9ZnVuY3Rpb24KZWRpdElucHV0KCRoLCRnLCRoYSwkbil7aWYoJGdbInR5cGUiXT09ImVudW0iKXtyZXR1cm4oaXNzZXQoJF9HRVRbInNlbGVjdCJdKT8iPGxhYmVsPjxpbnB1dCB0eXBlPSdyYWRpbyckaGEgdmFsdWU9Jy0xJyBjaGVja2VkPjxpPiIubGFuZyg1KS4iPC9pPjwvbGFiZWw+ICI6IiIpLmVudW1faW5wdXQoInJhZGlvIiwkaGEsJGcsKCRufHxpc3NldCgkX0dFVFsic2VsZWN0Il0pPyRuOjApLCgkZ1sibnVsbCJdPyIiOm51bGwpKTt9JElhPSR0aGlzLT5fZm9yZWlnbktleU9wdGlvbnMoJGgsJGdbImZpZWxkIl0pO2lmKCRJYSl7cmV0dXJuIjxzZWxlY3QkaGE+Ii5vcHRpb25saXN0KCRJYSwkbix0cnVlKS4iPC9zZWxlY3Q+Ijt9aWYobGlrZV9ib29sKCRnKSl7cmV0dXJuJzxpbnB1dCB0eXBlPSJjaGVja2JveCIgdmFsdWU9IicuaCgkbj8kbjoxKS4nIicuKCRuPycgY2hlY2tlZCc6JycpLiIkaGE+Ijt9JGViPSIiO2lmKGVyZWcoJ3RpbWUnLCRnWyJ0eXBlIl0pKXskZWI9bGFuZyg0Mik7fWlmKGVyZWcoJ2RhdGV8dGltZXN0YW1wJywkZ1sidHlwZSJdKSl7JGViPWxhbmcoNDMpLigkZWI/IiBbJGViXSI6IiIpO31pZigkZWIpe3JldHVybiI8aW5wdXQgdmFsdWU9JyIuaCgkbikuIickaGE+ICgkZWIpIjt9aWYoZXJlZ2koJ18obWQ1fHNoYTEpJCcsJGdbImZpZWxkIl0pKXtyZXR1cm4iPGlucHV0IHR5cGU9J3Bhc3N3b3JkJyB2YWx1ZT0nIi5oKCRuKS4iJyRoYT4iO31yZXR1cm4nJzt9ZnVuY3Rpb24KcHJvY2Vzc0lucHV0KCRnLCRuLCRMPSIiKXtpZigkTD09Im5vdyIpe3JldHVybiIkTCgpIjt9JGI9JG47aWYoZXJlZygnZGF0ZXx0aW1lc3RhbXAnLCRnWyJ0eXBlIl0pJiZwcmVnX21hdGNoKCcoXicuc3RyX3JlcGxhY2UoJ1xcJDEnLCcoP1A8cDE+XFxkKiknLHByZWdfcmVwbGFjZSgnfihcXFxcXFwkKFsyLTZdKSl+JywnKD9QPHBcXDI+XFxkezEsMn0pJyxwcmVnX3F1b3RlKGxhbmcoMjcpKSkpLicoLiopKScsJG4sJGspKXskYj0oJGtbInAxIl0hPSIiPyRrWyJwMSJdOigka1sicDIiXSE9IiI/KCRrWyJwMiJdPDcwPzIwOjE5KS4ka1sicDIiXTpnbWRhdGUoIlkiKSkpLiItJGtbcDNdJGtbcDRdLSRrW3A1XSRrW3A2XSIuZW5kKCRrKTt9JGI9KCRnWyJ0eXBlIl09PSJiaXQiJiZlcmVnKCdeWzAtOV0rJCcsJG4pPyRiOnEoJGIpKTtpZighZXJlZygnY2hhcnx0ZXh0JywkZ1sidHlwZSJdKSYmIWxpa2VfYm9vbCgkZykmJiRuPT0iIil7JGI9Ik5VTEwiO31lbHNlaWYoZXJlZygnXihtZDV8c2hhMSkkJywkTCkpeyRiPSIkTCgkYikiO31pZihlcmVnKCJiaW5hcnkiLCRnWyJ0eXBlIl0pKXskYj0idW5oZXgoJGIpIjt9cmV0dXJuJGI7fWZ1bmN0aW9uCmR1bXBPdXRwdXQoKXtyZXR1cm4KYXJyYXkoKTt9ZnVuY3Rpb24KZHVtcEZvcm1hdCgpe3JldHVybgphcnJheSgnY3N2Jz0+J0NTViwnLCdjc3Y7Jz0+J0NTVjsnLCd0c3YnPT4nVFNWJyk7fWZ1bmN0aW9uCmR1bXBUYWJsZSgpe2VjaG8iXHhlZlx4YmJceGJmIjt9ZnVuY3Rpb24KZHVtcERhdGEoJGgsJHRiLCRqKXtnbG9iYWwkZjskaT0kZi0+cXVlcnkoJGosMSk7aWYoJGkpe3doaWxlKCRjPSRpLT5mZXRjaF9hc3NvYygpKXtpZigkdGI9PSJ0YWJsZSIpe2R1bXBfY3N2KGFycmF5X2tleXMoJGMpKTskdGI9IklOU0VSVCI7fWR1bXBfY3N2KCRjKTt9fX1mdW5jdGlvbgpkdW1wSGVhZGVycygkWmIsJGJkPWZhbHNlKXskUGQ9ImNzdiI7aGVhZGVyKCJDb250ZW50LVR5cGU6IHRleHQvY3N2OyBjaGFyc2V0PXV0Zi04Iik7cmV0dXJuJFBkO31mdW5jdGlvbgpob21lcGFnZSgpe3JldHVybgp0cnVlO31mdW5jdGlvbgpuYXZpZ2F0aW9uKCR3Yil7Z2xvYmFsJFFiLCR4YTtlY2hvJzxoMT4KPGEgaHJlZj0iaHR0cDovL3d3dy5hZG1pbmVyLm9yZy8iIGlkPSJoMSI+JywkdGhpcy0+bmFtZSgpLCc8L2E+CjxzcGFuIGNsYXNzPSJ2ZXJzaW9uIj4nLCRRYiwnPC9zcGFuPgo8YSBocmVmPSJodHRwOi8vd3d3LmFkbWluZXIub3JnL2VkaXRvci8jZG93bmxvYWQiIGlkPSJ2ZXJzaW9uIj4nLCh2ZXJzaW9uX2NvbXBhcmUoJFFiLCRfQ09PS0lFWyJhZG1pbmVyX3ZlcnNpb24iXSk8MD9oKCRfQ09PS0lFWyJhZG1pbmVyX3ZlcnNpb24iXSk6IiIpLCc8L2E+CjwvaDE+Cic7aWYoJHdiPT0iYXV0aCIpeyR6YT10cnVlO2ZvcmVhY2goKGFycmF5KSRfU0VTU0lPTlsicHdkcyJdWyJzZXJ2ZXIiXVsiIl1hcyRFPT4kRyl7aWYoaXNzZXQoJEcpKXtpZigkemEpe2VjaG8iPHAgb25jbGljaz0nZXZlbnRTdG9wKGV2ZW50KTsnPlxuIjskemE9ZmFsc2U7fWVjaG8iPGEgaHJlZj0nIi5oKGF1dGhfdXJsKCJzZXJ2ZXIiLCIiLCRFKSkuIic+Ii4oJEUhPSIiP2goJEUpOiI8aT4iLmxhbmcoNCkuIjwvaT4iKS4iPC9hPjxicj5cbiI7fX19ZWxzZXtlY2hvJzxmb3JtIGFjdGlvbj0iIiBtZXRob2Q9InBvc3QiPgo8cCBjbGFzcz0ibG9nb3V0Ij4KPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ibG9nb3V0IiB2YWx1ZT0iJyxsYW5nKDQ0KSwnIiBvbmNsaWNrPSJldmVudFN0b3AoZXZlbnQpOyI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InRva2VuIiB2YWx1ZT0iJywkeGEsJyI+CjwvcD4KPC9mb3JtPgonO2lmKCR3YiE9ImRiIiYmJHdiIT0ibnMiKXskRD10YWJsZV9zdGF0dXMoKTtpZighJEQpe2VjaG8iPHAgY2xhc3M9J21lc3NhZ2UnPiIubGFuZyg2KS4iXG4iO31lbHNleyR0aGlzLT50YWJsZXNQcmludCgkRCk7fX19fWZ1bmN0aW9uCnRhYmxlc1ByaW50KCR6KXtlY2hvIjxwIGlkPSd0YWJsZXMnPlxuIjtmb3JlYWNoKCR6CmFzJGMpeyRlPSR0aGlzLT50YWJsZU5hbWUoJGMpO2lmKGlzc2V0KCRjWyJFbmdpbmUiXSkmJiRlIT0iIil7ZWNobyI8YSBocmVmPSciLmgoTUUpLidzZWxlY3Q9Jy51cmxlbmNvZGUoJGNbIk5hbWUiXSkuIiciLmJvbGQoJF9HRVRbInNlbGVjdCJdPT0kY1siTmFtZSJdKS4iPiRlPC9hPjxicj5cbiI7fX19ZnVuY3Rpb24KX2ZvcmVpZ25LZXlPcHRpb25zKCRoLCR1KXskRWI9Y29sdW1uX2ZvcmVpZ25fa2V5cygkaCk7Zm9yZWFjaCgoYXJyYXkpJEViWyR1XWFzJEFhKXtpZihjb3VudCgkQWFbInNvdXJjZSJdKT09MSl7JGJhPWlkZl9lc2NhcGUoJEFhWyJ0YXJnZXQiXVswXSk7JGU9JHRoaXMtPnJvd0Rlc2NyaXB0aW9uKCRBYVsidGFibGUiXSk7aWYoJGUhPSIiKXskYj0mJHRoaXMtPl92YWx1ZXNbJEFhWyJ0YWJsZSJdXTtpZighaXNzZXQoJGIpKXskRD10YWJsZV9zdGF0dXMoJEFhWyJ0YWJsZSJdKTskYj0oJERbIlJvd3MiXT4xMDAwP2FycmF5KCk6YXJyYXkoIiI9PiIiKStnZXRfa2V5X3ZhbHMoIlNFTEVDVCAkYmEsICRlIEZST00gIi50YWJsZSgkQWFbInRhYmxlIl0pLiIgT1JERVIgQlkgMiIpKTt9cmV0dXJuJGI7fX19fX0kbD0oZnVuY3Rpb25fZXhpc3RzKCdhZG1pbmVyX29iamVjdCcpP2FkbWluZXJfb2JqZWN0KCk6bmV3CkFkbWluZXIpO2Z1bmN0aW9uCnBhZ2VfaGVhZGVyKCR2ZCwkcD0iIiwkQ2I9YXJyYXkoKSwkd2Q9IiIpe2dsb2JhbCRmYSwkbCwkZiwkdGE7aGVhZGVyKCJDb250ZW50LVR5cGU6IHRleHQvaHRtbDsgY2hhcnNldD11dGYtOCIpOyRsLT5oZWFkZXJzKCk7JHFkPSR2ZC4oJHdkIT0iIj8iOiAiLmgoJHdkKToiIik7JGNkPXN0cmlwX3RhZ3MoJHFkLihTRVJWRVIhPSIiJiZTRVJWRVIhPSJsb2NhbGhvc3QiP2goIiAtICIuU0VSVkVSKToiIikuIiAtICIuJGwtPm5hbWUoKSk7aWYoaXNfYWpheCgpKXtoZWFkZXIoIlgtQUpBWC1UaXRsZTogIi5yYXd1cmxlbmNvZGUoJGNkKSk7fWVsc2V7ZWNobyc8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wMS8vRU4iPgo8aHRtbCBsYW5nPSInLCRmYSwnIiBkaXI9IicsbGFuZyg0NSksJyI+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1TY3JpcHQtVHlwZSIgY29udGVudD0idGV4dC9qYXZhc2NyaXB0Ij4KPG1ldGEgbmFtZT0icm9ib3RzIiBjb250ZW50PSJub2luZGV4Ij4KPHRpdGxlPicsJGNkLCc8L3RpdGxlPgo8bGluayByZWw9InNob3J0Y3V0IGljb24iIHR5cGU9ImltYWdlL3gtaWNvbiIgaHJlZj0iJyxoKHByZWdfcmVwbGFjZSgiflxcPy4qfiIsIiIsTUUpKS4iP2ZpbGU9ZmF2aWNvbi5pY28mYW1wO3ZlcnNpb249My4yLjIiLCciIGlkPSJmYXZpY29uIj4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iJyxoKHByZWdfcmVwbGFjZSgiflxcPy4qfiIsIiIsTUUpKS4iP2ZpbGU9ZGVmYXVsdC5jc3MmYW1wO3ZlcnNpb249My4yLjIiLCciPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CnZhciBhcmVZb3VTdXJlID0gXCcnLGxhbmcoNDYpLCdcJzsKPC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IicsaChwcmVnX3JlcGxhY2UoIn5cXD8uKn4iLCIiLE1FKSkuIj9maWxlPWZ1bmN0aW9ucy5qcyZhbXA7dmVyc2lvbj0zLjIuMiIsJyI+PC9zY3JpcHQ+Cic7aWYoJGwtPmhlYWQoKSYmZmlsZV9leGlzdHMoImFkbWluZXIuY3NzIikpe2VjaG8nPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iYWRtaW5lci5jc3MiPgonO31lY2hvJwo8Ym9keSBjbGFzcz0iJyxsYW5nKDQ1KSwnIG5vanMiIG9uY2xpY2s9InJldHVybiBib2R5Q2xpY2soZXZlbnQsIFwnJyxqc19lc2NhcGUoREIpLCdcJywgXCcnLGpzX2VzY2FwZSgkX0dFVFsibnMiXSksJ1wnKTsiIG9ua2V5ZG93bj0iYm9keUtleWRvd24oZXZlbnQpOyIgb25sb2FkPSJib2R5TG9hZChcJycsKGlzX29iamVjdCgkZik/c3Vic3RyKCRmLT5zZXJ2ZXJfaW5mbywwLDMpOiIiKSwnXCcpOycsKGlzc2V0KCRfQ09PS0lFWyJhZG1pbmVyX3ZlcnNpb24iXSk/IiI6IiB2ZXJpZnlWZXJzaW9uKCk7Iik7Pz4iPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CmRvY3VtZW50LmJvZHkuY2xhc3NOYW1lID0gZG9jdW1lbnQuYm9keS5jbGFzc05hbWUucmVwbGFjZSgvKF58XHMpbm9qcyhcc3wkKS8sICckMWpzJDInKTsKPC9zY3JpcHQ+Cgo8ZGl2IGlkPSJjb250ZW50Ij4KPD9waHAKfWlmKGlzc2V0KCRDYikpeyR2PXN1YnN0cihwcmVnX3JlcGxhY2UoJ34odXNlcm5hbWV8ZGJ8bnMpPVteJl0qJn4nLCcnLE1FKSwwLC0xKTtlY2hvJzxwIGlkPSJicmVhZGNydW1iIj48YSBocmVmPSInLigkdj9oKCR2KToiLiIpLiciPicuJHRhW0RSSVZFUl0uJzwvYT4gJnJhcXVvOyAnOyR2PXN1YnN0cihwcmVnX3JlcGxhY2UoJ34oZGJ8bnMpPVteJl0qJn4nLCcnLE1FKSwwLC0xKTskXz0oU0VSVkVSIT0iIj9oKFNFUlZFUik6bGFuZyg0NykpO2lmKCRDYj09PWZhbHNlKXtlY2hvIiRfXG4iO31lbHNle2VjaG8iPGEgaHJlZj0nIi4oJHY/aCgkdik6Ii4iKS4iJz4kXzwvYT4gJnJhcXVvOyAiO2lmKCRfR0VUWyJucyJdIT0iInx8KERCIT0iIiYmaXNfYXJyYXkoJENiKSkpe2VjaG8nPGEgaHJlZj0iJy5oKCR2LiImZGI9Ii51cmxlbmNvZGUoREIpLihzdXBwb3J0KCJzY2hlbWUiKT8iJm5zPSI6IiIpKS4nIj4nLmgoREIpLic8L2E+ICZyYXF1bzsgJzt9aWYoaXNfYXJyYXkoJENiKSl7aWYoJF9HRVRbIm5zIl0hPSIiKXtlY2hvJzxhIGhyZWY9IicuaChzdWJzdHIoTUUsMCwtMSkpLiciPicuaCgkX0dFVFsibnMiXSkuJzwvYT4gJnJhcXVvOyAnO31mb3JlYWNoKCRDYgphcyRkPT4kYSl7JE5hPShpc19hcnJheSgkYSk/JGFbMV06JGEpO2lmKCROYSE9IiIpe2VjaG8nPGEgaHJlZj0iJy5oKE1FLiIkZD0iKS51cmxlbmNvZGUoaXNfYXJyYXkoJGEpPyRhWzBdOiRhKS4nIj4nLmgoJE5hKS4nPC9hPiAmcmFxdW87ICc7fX19ZWNobyIkdmRcbiI7fX1lY2hvIjxzcGFuIGlkPSdsb2FkZXInPjwvc3Bhbj5cbiIsIjxoMj4kcWQ8L2gyPlxuIjtyZXN0YXJ0X3Nlc3Npb24oKTskSWM9cHJlZ19yZXBsYWNlKCd+XlteP10qficsJycsJF9TRVJWRVJbIlJFUVVFU1RfVVJJIl0pOyRSYz0kX1NFU1NJT05bIm1lc3NhZ2VzIl1bJEljXTtpZigkUmMpe2VjaG8iPGRpdiBjbGFzcz0nbWVzc2FnZSc+Ii5pbXBsb2RlKCI8L2Rpdj5cbjxkaXYgY2xhc3M9J21lc3NhZ2UnPiIsJFJjKS4iPC9kaXY+XG4iO3Vuc2V0KCRfU0VTU0lPTlsibWVzc2FnZXMiXVskSWNdKTt9JFA9JmdldF9zZXNzaW9uKCJkYnMiKTtpZihEQiE9IiImJiRQJiYhaW5fYXJyYXkoREIsJFAsdHJ1ZSkpeyRQPW51bGw7fWlmKCRwKXtlY2hvIjxkaXYgY2xhc3M9J2Vycm9yJz4kcDwvZGl2PlxuIjt9ZGVmaW5lKCJQQUdFX0hFQURFUiIsMSk7fWZ1bmN0aW9uCnBhZ2VfZm9vdGVyKCR3Yj0iIil7Z2xvYmFsJGw7aWYoIWlzX2FqYXgoKSl7ZWNobyc8L2Rpdj4KCic7c3dpdGNoX2xhbmcoKTtlY2hvJzxkaXYgaWQ9Im1lbnUiPgonOyRsLT5uYXZpZ2F0aW9uKCR3Yik7ZWNobyc8L2Rpdj4KJzt9fWZ1bmN0aW9uCmludDMyKCRPKXt3aGlsZSgkTz49MjE0NzQ4MzY0OCl7JE8tPTQyOTQ5NjcyOTY7fXdoaWxlKCRPPD0tMjE0NzQ4MzY0OSl7JE8rPTQyOTQ5NjcyOTY7fXJldHVybihpbnQpJE87fWZ1bmN0aW9uCmxvbmcyc3RyKCRzLCRxYyl7JGFiPScnO2ZvcmVhY2goJHMKYXMkYSl7JGFiLj1wYWNrKCdWJywkYSk7fWlmKCRxYyl7cmV0dXJuCnN1YnN0cigkYWIsMCxlbmQoJHMpKTt9cmV0dXJuJGFiO31mdW5jdGlvbgpzdHIybG9uZygkYWIsJHFjKXskcz1hcnJheV92YWx1ZXModW5wYWNrKCdWKicsc3RyX3BhZCgkYWIsNCpjZWlsKHN0cmxlbigkYWIpLzQpLCJcMCIpKSk7aWYoJHFjKXskc1tdPXN0cmxlbigkYWIpO31yZXR1cm4kczt9ZnVuY3Rpb24KeHh0ZWFfbXgoJGxhLCRtYSwkcmEsJHNhKXtyZXR1cm4KaW50MzIoKCgkbGE+PjUmMHg3RkZGRkZGKV4kbWE8PDIpKygoJG1hPj4zJjB4MUZGRkZGRkYpXiRsYTw8NCkpXmludDMyKCgkcmFeJG1hKSsoJHNhXiRsYSkpO31mdW5jdGlvbgplbmNyeXB0X3N0cmluZygkQWIsJGQpe2lmKCRBYj09IiIpe3JldHVybiIiO30kZD1hcnJheV92YWx1ZXModW5wYWNrKCJWKiIscGFjaygiSCoiLG1kNSgkZCkpKSk7JHM9c3RyMmxvbmcoJEFiLHRydWUpOyRPPWNvdW50KCRzKS0xOyRsYT0kc1skT107JG1hPSRzWzBdOyRSYj1mbG9vcig2KzUyLygkTysxKSk7JHJhPTA7d2hpbGUoJFJiLS0+MCl7JHJhPWludDMyKCRyYSsweDlFMzc3OUI5KTskX2I9JHJhPj4yJjM7Zm9yKCRqYT0wOyRqYTwkTzskamErKyl7JG1hPSRzWyRqYSsxXTskY2I9eHh0ZWFfbXgoJGxhLCRtYSwkcmEsJGRbJGphJjNeJF9iXSk7JGxhPWludDMyKCRzWyRqYV0rJGNiKTskc1skamFdPSRsYTt9JG1hPSRzWzBdOyRjYj14eHRlYV9teCgkbGEsJG1hLCRyYSwkZFskamEmM14kX2JdKTskbGE9aW50MzIoJHNbJE9dKyRjYik7JHNbJE9dPSRsYTt9cmV0dXJuCmxvbmcyc3RyKCRzLGZhbHNlKTt9ZnVuY3Rpb24KZGVjcnlwdF9zdHJpbmcoJEFiLCRkKXtpZigkQWI9PSIiKXtyZXR1cm4iIjt9JGQ9YXJyYXlfdmFsdWVzKHVucGFjaygiVioiLHBhY2soIkgqIixtZDUoJGQpKSkpOyRzPXN0cjJsb25nKCRBYixmYWxzZSk7JE89Y291bnQoJHMpLTE7JGxhPSRzWyRPXTskbWE9JHNbMF07JFJiPWZsb29yKDYrNTIvKCRPKzEpKTskcmE9aW50MzIoJFJiKjB4OUUzNzc5QjkpO3doaWxlKCRyYSl7JF9iPSRyYT4+MiYzO2ZvcigkamE9JE87JGphPjA7JGphLS0peyRsYT0kc1skamEtMV07JGNiPXh4dGVhX214KCRsYSwkbWEsJHJhLCRkWyRqYSYzXiRfYl0pOyRtYT1pbnQzMigkc1skamFdLSRjYik7JHNbJGphXT0kbWE7fSRsYT0kc1skT107JGNiPXh4dGVhX214KCRsYSwkbWEsJHJhLCRkWyRqYSYzXiRfYl0pOyRtYT1pbnQzMigkc1swXS0kY2IpOyRzWzBdPSRtYTskcmE9aW50MzIoJHJhLTB4OUUzNzc5QjkpO31yZXR1cm4KbG9uZzJzdHIoJHMsdHJ1ZSk7fSRmPScnOyR4YT0kX1NFU1NJT05bInRva2VuIl07aWYoISRfU0VTU0lPTlsidG9rZW4iXSl7JF9TRVNTSU9OWyJ0b2tlbiJdPXJhbmQoMSwxZTYpO30kUmE9YXJyYXkoKTtpZigkX0NPT0tJRVsiYWRtaW5lcl9wZXJtYW5lbnQiXSl7Zm9yZWFjaChleHBsb2RlKCIgIiwkX0NPT0tJRVsiYWRtaW5lcl9wZXJtYW5lbnQiXSlhcyRhKXtsaXN0KCRkKT1leHBsb2RlKCI6IiwkYSk7JFJhWyRkXT0kYTt9fWlmKGlzc2V0KCRfUE9TVFsic2VydmVyIl0pKXtzZXNzaW9uX3JlZ2VuZXJhdGVfaWQoKTskX1NFU1NJT05bInB3ZHMiXVskX1BPU1RbImRyaXZlciJdXVskX1BPU1RbInNlcnZlciJdXVskX1BPU1RbInVzZXJuYW1lIl1dPSRfUE9TVFsicGFzc3dvcmQiXTtpZigkX1BPU1RbInBlcm1hbmVudCJdKXskZD1iYXNlNjRfZW5jb2RlKCRfUE9TVFsiZHJpdmVyIl0pLiItIi5iYXNlNjRfZW5jb2RlKCRfUE9TVFsic2VydmVyIl0pLiItIi5iYXNlNjRfZW5jb2RlKCRfUE9TVFsidXNlcm5hbWUiXSk7JExiPSRsLT5wZXJtYW5lbnRMb2dpbigpOyRSYVskZF09IiRkOiIuYmFzZTY0X2VuY29kZSgkTGI/ZW5jcnlwdF9zdHJpbmcoJF9QT1NUWyJwYXNzd29yZCJdLCRMYik6IiIpO2Nvb2tpZSgiYWRtaW5lcl9wZXJtYW5lbnQiLGltcGxvZGUoIiAiLCRSYSkpO31pZihjb3VudCgkX1BPU1QpPT0oJF9QT1NUWyJwZXJtYW5lbnQiXT81OjQpfHxEUklWRVIhPSRfUE9TVFsiZHJpdmVyIl18fFNFUlZFUiE9JF9QT1NUWyJzZXJ2ZXIiXXx8JF9HRVRbInVzZXJuYW1lIl0hPT0kX1BPU1RbInVzZXJuYW1lIl0pe3JlZGlyZWN0KGF1dGhfdXJsKCRfUE9TVFsiZHJpdmVyIl0sJF9QT1NUWyJzZXJ2ZXIiXSwkX1BPU1RbInVzZXJuYW1lIl0pKTt9fWVsc2VpZigkX1BPU1RbImxvZ291dCJdKXtpZigkeGEmJiRfUE9TVFsidG9rZW4iXSE9JHhhKXtwYWdlX2hlYWRlcihsYW5nKDQ0KSxsYW5nKDQ4KSk7cGFnZV9mb290ZXIoImRiIik7ZXhpdDt9ZWxzZXtmb3JlYWNoKGFycmF5KCJwd2RzIiwiZGJzIiwicXVlcmllcyIpYXMkZCl7c2V0X3Nlc3Npb24oJGQsbnVsbCk7fSRkPWJhc2U2NF9lbmNvZGUoRFJJVkVSKS4iLSIuYmFzZTY0X2VuY29kZShTRVJWRVIpLiItIi5iYXNlNjRfZW5jb2RlKCRfR0VUWyJ1c2VybmFtZSJdKTtpZigkUmFbJGRdKXt1bnNldCgkUmFbJGRdKTtjb29raWUoImFkbWluZXJfcGVybWFuZW50IixpbXBsb2RlKCIgIiwkUmEpKTt9cmVkaXJlY3Qoc3Vic3RyKHByZWdfcmVwbGFjZSgnfih1c2VybmFtZXxkYnxucyk9W14mXSomficsJycsTUUpLDAsLTEpLGxhbmcoNDkpKTt9fWVsc2VpZigkUmEmJiEkX1NFU1NJT05bInB3ZHMiXSl7c2Vzc2lvbl9yZWdlbmVyYXRlX2lkKCk7JExiPSRsLT5wZXJtYW5lbnRMb2dpbigpO2ZvcmVhY2goJFJhCmFzJGQ9PiRhKXtsaXN0KCwkWWQpPWV4cGxvZGUoIjoiLCRhKTtsaXN0KCRXYiwkXywkRSk9YXJyYXlfbWFwKCdiYXNlNjRfZGVjb2RlJyxleHBsb2RlKCItIiwkZCkpOyRfU0VTU0lPTlsicHdkcyJdWyRXYl1bJF9dWyRFXT1kZWNyeXB0X3N0cmluZyhiYXNlNjRfZGVjb2RlKCRZZCksJExiKTt9fWZ1bmN0aW9uCmF1dGhfZXJyb3IoJE1jPW51bGwpe2dsb2JhbCRmLCRsLCR4YTskT2I9c2Vzc2lvbl9uYW1lKCk7JHA9IiI7aWYoISRfQ09PS0lFWyRPYl0mJiRfR0VUWyRPYl0mJmluaV9ib29sKCJzZXNzaW9uLnVzZV9vbmx5X2Nvb2tpZXMiKSl7JHA9bGFuZyg1MCk7fWVsc2VpZihpc3NldCgkX0dFVFsidXNlcm5hbWUiXSkpe2lmKCgkX0NPT0tJRVskT2JdfHwkX0dFVFskT2JdKSYmISR4YSl7JHA9bGFuZyg1MSk7fWVsc2V7JEc9JmdldF9zZXNzaW9uKCJwd2RzIik7aWYoaXNzZXQoJEcpKXskcD1oKCRNYz8kTWMtPmdldE1lc3NhZ2UoKTooaXNfc3RyaW5nKCRmKT8kZjpsYW5nKDUyKSkpOyRHPW51bGw7fX19cGFnZV9oZWFkZXIobGFuZygyMiksJHAsbnVsbCk7ZWNobyI8Zm9ybSBhY3Rpb249JycgbWV0aG9kPSdwb3N0JyBvbmNsaWNrPSdldmVudFN0b3AoZXZlbnQpOyc+XG4iOyRsLT5sb2dpbkZvcm0oKTtlY2hvIjxkaXY+IjtoaWRkZW5fZmllbGRzKCRfUE9TVCxhcnJheSgiZHJpdmVyIiwic2VydmVyIiwidXNlcm5hbWUiLCJwYXNzd29yZCIsInBlcm1hbmVudCIpKTtlY2hvIjwvZGl2PlxuIiwiPC9mb3JtPlxuIjtwYWdlX2Zvb3RlcigiYXV0aCIpO31pZihpc3NldCgkX0dFVFsidXNlcm5hbWUiXSkpe2lmKCFjbGFzc19leGlzdHMoIk1pbl9EQiIpKXt1bnNldCgkX1NFU1NJT05bInB3ZHMiXVtEUklWRVJdKTtwYWdlX2hlYWRlcihsYW5nKDUzKSxsYW5nKDU0LGltcGxvZGUoIiwgIiwkSmIpKSxmYWxzZSk7cGFnZV9mb290ZXIoImF1dGgiKTtleGl0O30kZj1jb25uZWN0KCk7fWlmKGlzX3N0cmluZygkZil8fCEkbC0+bG9naW4oJF9HRVRbInVzZXJuYW1lIl0sZ2V0X3Nlc3Npb24oInB3ZHMiKSkpe2F1dGhfZXJyb3IoKTtleGl0O30keGE9JF9TRVNTSU9OWyJ0b2tlbiJdO2lmKGlzc2V0KCRfUE9TVFsic2VydmVyIl0pJiYkX1BPU1RbInRva2VuIl0peyRfUE9TVFsidG9rZW4iXT0keGE7fSRwPSgkX1BPU1Q/KCRfUE9TVFsidG9rZW4iXT09JHhhPyIiOmxhbmcoNDgpKTooJF9TRVJWRVJbIlJFUVVFU1RfTUVUSE9EIl0hPSJQT1NUIj8iIjpsYW5nKDU1LCcicG9zdF9tYXhfc2l6ZSInKSkpOyRmLT5zZWxlY3RfZGIoJGwtPmRhdGFiYXNlKCkpO2Z1bmN0aW9uCmVtYWlsX2hlYWRlcigkZWUpe3JldHVybiI9P1VURi04P0I/Ii5iYXNlNjRfZW5jb2RlKCRlZSkuIj89Ijt9ZnVuY3Rpb24Kc2VuZF9tYWlsKCRtYiwkS2IsJHdhLCRoYj0iIiwkTmI9YXJyYXkoImVycm9yIj0+YXJyYXkoKSkpeyRjYT0oc3RybmNhc2VjbXAoUEhQX09TLCJ3aW4iLDMpPyJcbiI6IlxyXG4iKTskd2E9c3RyX3JlcGxhY2UoIlxuIiwkY2Esd29yZHdyYXAoc3RyX3JlcGxhY2UoIlxyIiwiIiwiJHdhXG4iKSkpOyRNYj11bmlxaWQoImJvdW5kYXJ5Iik7JFliPSIiO2ZvcmVhY2goJE5iWyJlcnJvciJdYXMkZD0+JGEpe2lmKCEkYSl7JFliLj0iLS0kTWIkY2EiLiJDb250ZW50LVR5cGU6ICIuc3RyX3JlcGxhY2UoIlxuIiwiIiwkTmJbInR5cGUiXVskZF0pLiRjYS4iQ29udGVudC1EaXNwb3NpdGlvbjogYXR0YWNobWVudDsgZmlsZW5hbWU9XCIiLnByZWdfcmVwbGFjZSgnflsiXFxuXX4nLCcnLCROYlsibmFtZSJdWyRkXSkuIlwiJGNhIi4iQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogYmFzZTY0JGNhJGNhIi5jaHVua19zcGxpdChiYXNlNjRfZW5jb2RlKGZpbGVfZ2V0X2NvbnRlbnRzKCROYlsidG1wX25hbWUiXVskZF0pKSw3NiwkY2EpLiRjYTt9fSRGYz0iIjskWGI9IkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCRjYSIuIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQiO2lmKCRZYil7JFliLj0iLS0kTWItLSRjYSI7JEZjPSItLSRNYiRjYSRYYiRjYSRjYSI7JFhiPSJDb250ZW50LVR5cGU6IG11bHRpcGFydC9taXhlZDsgYm91bmRhcnk9XCIkTWJcIiI7fSRYYi49JGNhLiJNSU1FLVZlcnNpb246IDEuMCRjYSIuIlgtTWFpbGVyOiBBZG1pbmVyIEVkaXRvciIuKCRoYj8kY2EuIkZyb206ICIuc3RyX3JlcGxhY2UoIlxuIiwiIiwkaGIpOiIiKTtyZXR1cm4KbWFpbCgkbWIsZW1haWxfaGVhZGVyKCRLYiksJEZjLiR3YS4kWWIsJFhiKTt9ZnVuY3Rpb24KbGlrZV9ib29sKCRnKXtyZXR1cm4KZXJlZygiYm9vbHwodGlueWludHxiaXQpXFwoMVxcKSIsJGdbImZ1bGxfdHlwZSJdKTt9c2Vzc2lvbl9jYWNoZV9saW1pdGVyKCIiKTtpZighaW5pX2Jvb2woInNlc3Npb24udXNlX2Nvb2tpZXMiKXx8QGluaV9zZXQoInNlc3Npb24udXNlX2Nvb2tpZXMiLGZhbHNlKSE9PWZhbHNlKXtzZXNzaW9uX3dyaXRlX2Nsb3NlKCk7fSRTYj1hcnJheSgiUkVTVFJJQ1QiLCJDQVNDQURFIiwiU0VUIE5VTEwiLCJOTyBBQ1RJT04iKTskdGFbRFJJVkVSXT1sYW5nKDIyKTtpZihpc3NldCgkX0dFVFsic2VsZWN0Il0pJiYoJF9QT1NUWyJlZGl0Il18fCRfUE9TVFsiY2xvbmUiXSkmJiEkX1BPU1RbInNhdmUiXSl7JF9HRVRbImVkaXQiXT0kX0dFVFsic2VsZWN0Il07fWlmKGlzc2V0KCRfR0VUWyJkb3dubG9hZCJdKSl7JHc9JF9HRVRbImRvd25sb2FkIl07aGVhZGVyKCJDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSIpO2hlYWRlcigiQ29udGVudC1EaXNwb3NpdGlvbjogYXR0YWNobWVudDsgZmlsZW5hbWU9Ii5mcmllbmRseV91cmwoIiR3LSIuaW1wbG9kZSgiXyIsJF9HRVRbIndoZXJlIl0pKS4iLiIuZnJpZW5kbHlfdXJsKCRfR0VUWyJmaWVsZCJdKSk7ZWNobyRmLT5yZXN1bHQoIlNFTEVDVCIubGltaXQoaWRmX2VzY2FwZSgkX0dFVFsiZmllbGQiXSkuIiBGUk9NICIudGFibGUoJHcpLCIgV0hFUkUgIi53aGVyZSgkX0dFVCksMSkpO2V4aXQ7fWVsc2VpZihpc3NldCgkX0dFVFsiZWRpdCJdKSl7JHc9JF9HRVRbImVkaXQiXTskbT0oaXNzZXQoJF9HRVRbInNlbGVjdCJdKT8oY291bnQoJF9QT1NUWyJjaGVjayJdKT09MT93aGVyZV9jaGVjaygkX1BPU1RbImNoZWNrIl1bMF0pOiIiKTp3aGVyZSgkX0dFVCkpOyRhYT0oaXNzZXQoJF9HRVRbInNlbGVjdCJdKT8kX1BPU1RbImVkaXQiXTokbSk7JHQ9ZmllbGRzKCR3KTtmb3JlYWNoKCR0CmFzJGU9PiRnKXtpZighaXNzZXQoJGdbInByaXZpbGVnZXMiXVskYWE/InVwZGF0ZSI6Imluc2VydCJdKXx8JGwtPmZpZWxkTmFtZSgkZyk9PSIiKXt1bnNldCgkdFskZV0pO319aWYoJF9QT1NUJiYhJHAmJiFpc3NldCgkX0dFVFsic2VsZWN0Il0pKXskWT0kX1BPU1RbInJlZmVyZXIiXTtpZigkX1BPU1RbImluc2VydCJdKXskWT0oJGFhP251bGw6JF9TRVJWRVJbIlJFUVVFU1RfVVJJIl0pO31lbHNlaWYoIWVyZWcoJ14uKyZzZWxlY3Q9LiskJywkWSkpeyRZPU1FLiJzZWxlY3Q9Ii51cmxlbmNvZGUoJHcpO31pZihpc3NldCgkX1BPU1RbImRlbGV0ZSJdKSl7cXVlcnlfcmVkaXJlY3QoIkRFTEVURSIubGltaXQxKCJGUk9NICIudGFibGUoJHcpLCIgV0hFUkUgJG0iKSwkWSxsYW5nKDU2KSk7fWVsc2V7JG89YXJyYXkoKTtmb3JlYWNoKCR0CmFzJGU9PiRnKXskYT1wcm9jZXNzX2lucHV0KCRnKTtpZigkYSE9PWZhbHNlJiYkYSE9PW51bGwpeyRvW2lkZl9lc2NhcGUoJGUpXT0oJGFhPyJcbiIuaWRmX2VzY2FwZSgkZSkuIiA9ICRhIjokYSk7fX1pZigkYWEpe2lmKCEkbyl7cmVkaXJlY3QoJFkpO31xdWVyeV9yZWRpcmVjdCgiVVBEQVRFIi5saW1pdDEodGFibGUoJHcpLiIgU0VUIi5pbXBsb2RlKCIsIiwkbyksIlxuV0hFUkUgJG0iKSwkWSxsYW5nKDU3KSk7fWVsc2V7JGk9aW5zZXJ0X2ludG8oJHcsJG8pOyRKYz0oJGk/bGFzdF9pZCgpOjApO3F1ZXJpZXNfcmVkaXJlY3QoJFksbGFuZyg1OCwoJEpjPyIgJEpjIjoiIikpLCRpKTt9fX0keGI9JGwtPnRhYmxlTmFtZSh0YWJsZV9zdGF0dXMoJHcpKTtwYWdlX2hlYWRlcigoJGFhP2xhbmcoNTkpOmxhbmcoMzcpKSwkcCxhcnJheSgic2VsZWN0Ij0+YXJyYXkoJHcsJHhiKSksJHhiKTskYz1udWxsO2lmKCRfUE9TVFsic2F2ZSJdKXskYz0oYXJyYXkpJF9QT1NUWyJmaWVsZHMiXTt9ZWxzZWlmKCRtKXskSz1hcnJheSgpO2ZvcmVhY2goJHQKYXMkZT0+JGcpe2lmKGlzc2V0KCRnWyJwcml2aWxlZ2VzIl1bInNlbGVjdCJdKSl7JEtbXT0oJF9QT1NUWyJjbG9uZSJdJiYkZ1siYXV0b19pbmNyZW1lbnQiXT8iJycgQVMgIjooZXJlZygiZW51bXxzZXQiLCRnWyJ0eXBlIl0pPyIxKiIuaWRmX2VzY2FwZSgkZSkuIiBBUyAiOiIiKSkuaWRmX2VzY2FwZSgkZSk7fX0kYz1hcnJheSgpO2lmKCRLKXskeT1nZXRfcm93cygiU0VMRUNUIi5saW1pdChpbXBsb2RlKCIsICIsJEspLiIgRlJPTSAiLnRhYmxlKCR3KSwiIFdIRVJFICRtIiwoaXNzZXQoJF9HRVRbInNlbGVjdCJdKT8yOjEpKSk7JGM9KGlzc2V0KCRfR0VUWyJzZWxlY3QiXSkmJmNvdW50KCR5KSE9MT9udWxsOnJlc2V0KCR5KSk7fX1lY2hvJwo8Zm9ybSBhY3Rpb249IiIgbWV0aG9kPSJwb3N0IiBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIiBpZD0iZm9ybSI+Cic7aWYoJHQpe2VjaG8iPHRhYmxlIGNlbGxzcGFjaW5nPScwJyBvbmtleWRvd249J3JldHVybiBlZGl0aW5nS2V5ZG93bihldmVudCk7Jz5cbiI7Zm9yZWFjaCgkdAphcyRlPT4kZyl7ZWNobyI8dHI+PHRoPiIuJGwtPmZpZWxkTmFtZSgkZyk7JGtiPSRfR0VUWyJzZXQiXVticmFja2V0X2VzY2FwZSgkZSldOyRuPShpc3NldCgkYyk/KCRjWyRlXSE9IiImJmVyZWcoImVudW18c2V0IiwkZ1sidHlwZSJdKT8rJGNbJGVdOiRjWyRlXSk6KCEkYWEmJiRnWyJhdXRvX2luY3JlbWVudCJdPyIiOihpc3NldCgkX0dFVFsic2VsZWN0Il0pP2ZhbHNlOihpc3NldCgka2IpPyRrYjokZ1siZGVmYXVsdCJdKSkpKTtpZighJF9QT1NUWyJzYXZlIl0mJmlzX3N0cmluZygkbikpeyRuPSRsLT5lZGl0VmFsKCRuLCRnKTt9JEw9KCRfUE9TVFsic2F2ZSJdPyhzdHJpbmcpJF9QT1NUWyJmdW5jdGlvbiJdWyRlXTooJG0mJiRnWyJvbl91cGRhdGUiXT09IkNVUlJFTlRfVElNRVNUQU1QIj8ibm93IjooJG49PT1mYWxzZT9udWxsOihpc3NldCgkbik/Jyc6J05VTEwnKSkpKTtpZigkZ1sidHlwZSJdPT0idGltZXN0YW1wIiYmJG49PSJDVVJSRU5UX1RJTUVTVEFNUCIpeyRuPSIiOyRMPSJub3ciO31pbnB1dCgkZywkbiwkTCk7ZWNobyJcbiI7fWVjaG8iPC90YWJsZT5cbiI7fWVjaG8nPHA+Cic7aWYoJHQpe2VjaG8iPGlucHV0IHR5cGU9J3N1Ym1pdCcgdmFsdWU9JyIubGFuZyg2MCkuIic+XG4iO2lmKCFpc3NldCgkX0dFVFsic2VsZWN0Il0pKXtlY2hvJzxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9Imluc2VydCIgdmFsdWU9IicuKCRhYT9sYW5nKDYxKTpsYW5nKDYyKSkuIlwiPlxuIjt9fWVjaG8oJGFhPyI8aW5wdXQgdHlwZT0nc3VibWl0JyBuYW1lPSdkZWxldGUnIHZhbHVlPSciLmxhbmcoNjMpLiInIG9uY2xpY2s9XCJyZXR1cm4gY29uZmlybSgnIi5sYW5nKDApLiInKTtcIj5cbiI6KCRfUE9TVHx8ISR0PyIiOiI8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCc+ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Zvcm0nKS5nZXRFbGVtZW50c0J5VGFnTmFtZSgndGQnKVsxXS5maXJzdENoaWxkLmZvY3VzKCk7PC9zY3JpcHQ+XG4iKSk7aWYoaXNzZXQoJF9HRVRbInNlbGVjdCJdKSl7aGlkZGVuX2ZpZWxkcyhhcnJheSgiY2hlY2siPT4oYXJyYXkpJF9QT1NUWyJjaGVjayJdLCJjbG9uZSI9PiRfUE9TVFsiY2xvbmUiXSwiYWxsIj0+JF9QT1NUWyJhbGwiXSkpO31lY2hvJzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InJlZmVyZXIiIHZhbHVlPSInLGgoaXNzZXQoJF9QT1NUWyJyZWZlcmVyIl0pPyRfUE9TVFsicmVmZXJlciJdOiRfU0VSVkVSWyJIVFRQX1JFRkVSRVIiXSksJyI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InNhdmUiIHZhbHVlPSIxIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idG9rZW4iIHZhbHVlPSInLCR4YSwnIj4KPC9mb3JtPgonO31lbHNlaWYoaXNzZXQoJF9HRVRbInNlbGVjdCJdKSl7JHc9JF9HRVRbInNlbGVjdCJdOyREPXRhYmxlX3N0YXR1cygkdyk7JFU9aW5kZXhlcygkdyk7JHQ9ZmllbGRzKCR3KTskeWI9Y29sdW1uX2ZvcmVpZ25fa2V5cygkdyk7aWYoJERbIk9pZCJdPT0idCIpeyRVW109YXJyYXkoInR5cGUiPT4iUFJJTUFSWSIsImNvbHVtbnMiPT5hcnJheSgib2lkIikpO30kZGQ9YXJyYXkoKTskSj1hcnJheSgpOyRmYj1udWxsO2ZvcmVhY2goJHQKYXMkZD0+JGcpeyRlPSRsLT5maWVsZE5hbWUoJGcpO2lmKGlzc2V0KCRnWyJwcml2aWxlZ2VzIl1bInNlbGVjdCJdKSYmJGUhPSIiKXskSlskZF09aHRtbF9lbnRpdHlfZGVjb2RlKHN0cmlwX3RhZ3MoJGUpKTtpZihlcmVnKCd0ZXh0fGxvYicsJGdbInR5cGUiXSkpeyRmYj0kbC0+c2VsZWN0TGVuZ3RoUHJvY2VzcygpO319JGRkKz0kZ1sicHJpdmlsZWdlcyJdO31saXN0KCRLLCRuYSk9JGwtPnNlbGVjdENvbHVtbnNQcm9jZXNzKCRKLCRVKTskbT0kbC0+c2VsZWN0U2VhcmNoUHJvY2VzcygkdCwkVSk7JHBhPSRsLT5zZWxlY3RPcmRlclByb2Nlc3MoJHQsJFUpOyRGPSRsLT5zZWxlY3RMaW1pdFByb2Nlc3MoKTskaGI9KCRLP2ltcGxvZGUoIiwgIiwkSyk6KCREWyJPaWQiXT09InQiPyJvaWQsICI6IiIpLiIqIikuIlxuRlJPTSAiLnRhYmxlKCR3KTskcmM9KCRuYSYmY291bnQoJG5hKTxjb3VudCgkSyk/IlxuR1JPVVAgQlkgIi5pbXBsb2RlKCIsICIsJG5hKToiIikuKCRwYT8iXG5PUkRFUiBCWSAiLmltcGxvZGUoIiwgIiwkcGEpOiIiKTtpZigkX0dFVFsidmFsIl0mJmlzX2FqYXgoKSl7aGVhZGVyKCJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9dXRmLTgiKTtmb3JlYWNoKCRfR0VUWyJ2YWwiXWFzJEZhPT4kYyl7ZWNobyRmLT5yZXN1bHQoIlNFTEVDVCIubGltaXQoaWRmX2VzY2FwZShrZXkoJGMpKS4iIEZST00gIi50YWJsZSgkdyksIiBXSEVSRSAiLndoZXJlX2NoZWNrKCRGYSkuKCRtPyIgQU5EICIuaW1wbG9kZSgiIEFORCAiLCRtKToiIikuKCRwYT8iIE9SREVSIEJZICIuaW1wbG9kZSgiLCAiLCRwYSk6IiIpLDEpKTt9ZXhpdDt9aWYoJF9QT1NUJiYhJHApeyRlZD0iKCIuaW1wbG9kZSgiKSBPUiAoIixhcnJheV9tYXAoJ3doZXJlX2NoZWNrJywoYXJyYXkpJF9QT1NUWyJjaGVjayJdKSkuIikiOyR1YT0kZWM9bnVsbDtmb3JlYWNoKCRVCmFzJFgpe2lmKCRYWyJ0eXBlIl09PSJQUklNQVJZIil7JHVhPWFycmF5X2ZsaXAoJFhbImNvbHVtbnMiXSk7JGVjPSgkSz8kdWE6YXJyYXkoKSk7YnJlYWs7fX1mb3JlYWNoKCRLCmFzJGQ9PiRhKXskYT0kX0dFVFsiY29sdW1ucyJdWyRkXTtpZighJGFbImZ1biJdKXt1bnNldCgkZWNbJGFbImNvbCJdXSk7fX1pZigkX1BPU1RbImV4cG9ydCJdKXtkdW1wX2hlYWRlcnMoJHcpOyRsLT5kdW1wVGFibGUoJHcsIiIpO2lmKCFpc19hcnJheSgkX1BPU1RbImNoZWNrIl0pfHwkZWM9PT1hcnJheSgpKXskZGI9JG07aWYoaXNfYXJyYXkoJF9QT1NUWyJjaGVjayJdKSl7JGRiW109IigkZWQpIjt9JGo9IlNFTEVDVCAkaGIiLigkZGI/IlxuV0hFUkUgIi5pbXBsb2RlKCIgQU5EICIsJGRiKToiIikuJHJjO31lbHNleyRoZD1hcnJheSgpO2ZvcmVhY2goJF9QT1NUWyJjaGVjayJdYXMkYSl7JGhkW109IihTRUxFQ1QiLmxpbWl0KCRoYiwiXG5XSEVSRSAiLigkbT9pbXBsb2RlKCIgQU5EICIsJG0pLiIgQU5EICI6IiIpLndoZXJlX2NoZWNrKCRhKS4kcmMsMSkuIikiO30kaj1pbXBsb2RlKCIgVU5JT04gQUxMICIsJGhkKTt9JGwtPmR1bXBEYXRhKCR3LCJ0YWJsZSIsJGopO2V4aXQ7fWlmKCEkbC0+c2VsZWN0RW1haWxQcm9jZXNzKCRtLCR5Yikpe2lmKCRfUE9TVFsic2F2ZSJdfHwkX1BPU1RbImRlbGV0ZSJdKXskaT10cnVlOyRPYT0wOyRqPXRhYmxlKCR3KTskbz1hcnJheSgpO2lmKCEkX1BPU1RbImRlbGV0ZSJdKXtmb3JlYWNoKCRKCmFzJGU9PiRhKXskYT1wcm9jZXNzX2lucHV0KCR0WyRlXSk7aWYoJGEhPT1udWxsKXtpZigkX1BPU1RbImNsb25lIl0peyRvW2lkZl9lc2NhcGUoJGUpXT0oJGEhPT1mYWxzZT8kYTppZGZfZXNjYXBlKCRlKSk7fWVsc2VpZigkYSE9PWZhbHNlKXskb1tdPWlkZl9lc2NhcGUoJGUpLiIgPSAkYSI7fX19JGouPSgkX1BPU1RbImNsb25lIl0/IiAoIi5pbXBsb2RlKCIsICIsYXJyYXlfa2V5cygkbykpLiIpXG5TRUxFQ1QgIi5pbXBsb2RlKCIsICIsJG8pLiJcbkZST00gIi50YWJsZSgkdyk6IiBTRVRcbiIuaW1wbG9kZSgiLFxuIiwkbykpO31pZigkX1BPU1RbImRlbGV0ZSJdfHwkbyl7JGNjPSJVUERBVEUiO2lmKCRfUE9TVFsiZGVsZXRlIl0peyRjYz0iREVMRVRFIjskaj0iRlJPTSAkaiI7fWlmKCRfUE9TVFsiY2xvbmUiXSl7JGNjPSJJTlNFUlQiOyRqPSJJTlRPICRqIjt9aWYoJF9QT1NUWyJhbGwiXXx8KCRlYz09PWFycmF5KCkmJiRfUE9TVFsiY2hlY2siXSl8fGNvdW50KCRuYSk8Y291bnQoJEspKXskaT1xdWVyaWVzKCRjYy4iICRqIi4oJF9QT1NUWyJhbGwiXT8oJG0/IlxuV0hFUkUgIi5pbXBsb2RlKCIgQU5EICIsJG0pOiIiKToiXG5XSEVSRSAkZWQiKSk7JE9hPSRmLT5hZmZlY3RlZF9yb3dzO31lbHNle2ZvcmVhY2goKGFycmF5KSRfUE9TVFsiY2hlY2siXWFzJGEpeyRpPXF1ZXJpZXMoJGNjLmxpbWl0MSgkaiwiXG5XSEVSRSAiLndoZXJlX2NoZWNrKCRhKSkpO2lmKCEkaSl7YnJlYWs7fSRPYSs9JGYtPmFmZmVjdGVkX3Jvd3M7fX19cXVlcmllc19yZWRpcmVjdChyZW1vdmVfZnJvbV91cmkoInBhZ2UiKSxsYW5nKDY0LCRPYSksJGkpO31lbHNlaWYoISRfUE9TVFsiaW1wb3J0Il0pe2lmKCEkX1BPU1RbInZhbCJdKXskcD1sYW5nKDY1KTt9ZWxzZXskaT10cnVlOyRPYT0wO2ZvcmVhY2goJF9QT1NUWyJ2YWwiXWFzJEZhPT4kYyl7JG89YXJyYXkoKTtmb3JlYWNoKCRjCmFzJGQ9PiRhKXskZD1icmFja2V0X2VzY2FwZSgkZCwxKTskb1tdPWlkZl9lc2NhcGUoJGQpLiIgPSAiLihlcmVnKCdjaGFyfHRleHQnLCR0WyRkXVsidHlwZSJdKXx8JGEhPSIiPyRsLT5wcm9jZXNzSW5wdXQoJHRbJGRdLCRhKToiTlVMTCIpO30kaj10YWJsZSgkdykuIiBTRVQgIi5pbXBsb2RlKCIsICIsJG8pOyRkYj0iIFdIRVJFICIud2hlcmVfY2hlY2soJEZhKS4oJG0/IiBBTkQgIi5pbXBsb2RlKCIgQU5EICIsJG0pOiIiKTskaT1xdWVyaWVzKCJVUERBVEUiLihjb3VudCgkbmEpPGNvdW50KCRLKT8iICRqJGRiIjpsaW1pdDEoJGosJGRiKSkpO2lmKCEkaSl7YnJlYWs7fSRPYSs9JGYtPmFmZmVjdGVkX3Jvd3M7fXF1ZXJpZXNfcmVkaXJlY3QocmVtb3ZlX2Zyb21fdXJpKCksbGFuZyg2NCwkT2EpLCRpKTt9fWVsc2VpZihpc19zdHJpbmcoJHFhPWdldF9maWxlKCJjc3ZfZmlsZSIsdHJ1ZSkpKXskaT10cnVlOyRXYT1hcnJheV9rZXlzKCR0KTtwcmVnX21hdGNoX2FsbCgnfig/PiJbXiJdKiJ8W14iXFxyXFxuXSspK34nLCRxYSwkZGEpOyRPYT1jb3VudCgkZGFbMF0pO2JlZ2luKCk7JGlhPSgkX1BPU1RbInNlcGFyYXRvciJdPT0iY3N2Ij8iLCI6KCRfUE9TVFsic2VwYXJhdG9yIl09PSJ0c3YiPyJcdCI6IjsiKSk7Zm9yZWFjaCgkZGFbMF1hcyRkPT4kYSl7cHJlZ19tYXRjaF9hbGwoIn4oKFwiW15cIl0qXCIpK3xbXiRpYV0qKSRpYX4iLCRhLiRpYSwkcGMpO2lmKCEkZCYmIWFycmF5X2RpZmYoJHBjWzFdLCRXYSkpeyRXYT0kcGNbMV07JE9hLS07fWVsc2V7JG89YXJyYXkoKTtmb3JlYWNoKCRwY1sxXWFzJHE9PiRNYSl7JG9baWRmX2VzY2FwZSgkV2FbJHFdKV09KCRNYT09IiImJiR0WyRXYVskcV1dWyJudWxsIl0/Ik5VTEwiOnEoc3RyX3JlcGxhY2UoJyIiJywnIicscHJlZ19yZXBsYWNlKCd+XiJ8IiR+JywnJywkTWEpKSkpO30kaT1pbnNlcnRfdXBkYXRlKCR3LCRvLCR1YSk7aWYoISRpKXticmVhazt9fX1pZigkaSl7cXVlcmllcygiQ09NTUlUIik7fXF1ZXJpZXNfcmVkaXJlY3QocmVtb3ZlX2Zyb21fdXJpKCJwYWdlIiksbGFuZyg2NiwkT2EpLCRpKTtxdWVyaWVzKCJST0xMQkFDSyIpO31lbHNleyRwPXVwbG9hZF9lcnJvcigkcWEpO319fSR4Yj0kbC0+dGFibGVOYW1lKCREKTtwYWdlX2hlYWRlcihsYW5nKDMzKS4iOiAkeGIiLCRwKTtzZXNzaW9uX3dyaXRlX2Nsb3NlKCk7JG89bnVsbDtpZihpc3NldCgkZGRbImluc2VydCJdKSl7JG89IiI7Zm9yZWFjaCgoYXJyYXkpJF9HRVRbIndoZXJlIl1hcyRhKXtpZihjb3VudCgkeWJbJGFbImNvbCJdXSk9PTEmJigkYVsib3AiXT09Ij0ifHwoISRhWyJvcCJdJiYhZXJlZygnW18lXScsJGFbInZhbCJdKSkpKXskby49IiZzZXQiLnVybGVuY29kZSgiWyIuYnJhY2tldF9lc2NhcGUoJGFbImNvbCJdKS4iXSIpLiI9Ii51cmxlbmNvZGUoJGFbInZhbCJdKTt9fX0kbC0+c2VsZWN0TGlua3MoJEQsJG8pO2lmKCEkSil7ZWNobyI8cCBjbGFzcz0nZXJyb3InPiIubGFuZyg2NykuKCR0PyIuIjoiOiAiLmVycm9yKCkpLiJcbiI7fWVsc2V7ZWNobyI8Zm9ybSBhY3Rpb249JycgaWQ9J2Zvcm0nPlxuIiwiPGRpdiBzdHlsZT0nZGlzcGxheTogbm9uZTsnPiI7aGlkZGVuX2ZpZWxkc19nZXQoKTtlY2hvKERCIT0iIj8nPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZGIiIHZhbHVlPSInLmgoREIpLiciPicuKGlzc2V0KCRfR0VUWyJucyJdKT8nPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ibnMiIHZhbHVlPSInLmgoJF9HRVRbIm5zIl0pLiciPic6IiIpOiIiKTtlY2hvJzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InNlbGVjdCIgdmFsdWU9IicuaCgkdykuJyI+JywiPC9kaXY+XG4iOyRsLT5zZWxlY3RDb2x1bW5zUHJpbnQoJEssJEopOyRsLT5zZWxlY3RTZWFyY2hQcmludCgkbSwkSiwkVSk7JGwtPnNlbGVjdE9yZGVyUHJpbnQoJHBhLCRKLCRVKTskbC0+c2VsZWN0TGltaXRQcmludCgkRik7JGwtPnNlbGVjdExlbmd0aFByaW50KCRmYik7JGwtPnNlbGVjdEFjdGlvblByaW50KCRmYik7ZWNobyI8L2Zvcm0+XG4iOyRRPSRfR0VUWyJwYWdlIl07aWYoJFE9PSJsYXN0Iil7JEJhPSRmLT5yZXN1bHQoIlNFTEVDVCBDT1VOVCgqKSBGUk9NICIudGFibGUoJHcpLigkbT8iIFdIRVJFICIuaW1wbG9kZSgiIEFORCAiLCRtKToiIikpOyRRPWZsb29yKG1heCgwLCRCYS0xKS8kRik7fSRqPSJTRUxFQ1QiLmxpbWl0KCgrJEYmJiRuYSYmY291bnQoJG5hKTxjb3VudCgkSykmJiR2YT09InNxbCI/IlNRTF9DQUxDX0ZPVU5EX1JPV1MgIjoiIikuJGhiLCgkbT8iXG5XSEVSRSAiLmltcGxvZGUoIiBBTkQgIiwkbSk6IiIpLiRyYywoJEYhPSIiPyskRjpudWxsKSwoJFE/JEYqJFE6MCksIlxuIik7ZWNobyRsLT5zZWxlY3RRdWVyeSgkaik7JGk9JGYtPnF1ZXJ5KCRqKTtpZighJGkpe2VjaG8iPHAgY2xhc3M9J2Vycm9yJz4iLmVycm9yKCkuIlxuIjt9ZWxzZXtpZigkdmE9PSJtc3NxbCIpeyRpLT5zZWVrKCRGKiRRKTt9JGFjPWFycmF5KCk7ZWNobyI8Zm9ybSBhY3Rpb249JycgbWV0aG9kPSdwb3N0JyBlbmN0eXBlPSdtdWx0aXBhcnQvZm9ybS1kYXRhJz5cbiI7JHk9YXJyYXkoKTt3aGlsZSgkYz0kaS0+ZmV0Y2hfYXNzb2MoKSl7JHlbXT0kYzt9aWYoJF9HRVRbInBhZ2UiXSE9Imxhc3QiKXskQmE9KCskRiYmJG5hJiZjb3VudCgkbmEpPGNvdW50KCRLKT8oJHZhPT0ic3FsIj8kZi0+cmVzdWx0KCIgU0VMRUNUIEZPVU5EX1JPV1MoKSIpOiRmLT5yZXN1bHQoIlNFTEVDVCBDT1VOVCgqKSBGUk9NICgkaikgeCIpKTpjb3VudCgkeSkpO31pZighJHkpe2VjaG8iPHAgY2xhc3M9J21lc3NhZ2UnPiIubGFuZyg2OCkuIlxuIjt9ZWxzZXskdWM9JGwtPmJhY2t3YXJkS2V5cygkdywkeGIpO2VjaG8iPHRhYmxlIGNlbGxzcGFjaW5nPScwJyBjbGFzcz0nbm93cmFwJyBvbmNsaWNrPSd0YWJsZUNsaWNrKGV2ZW50KTsnIG9ua2V5ZG93bj0ncmV0dXJuIGVkaXRpbmdLZXlkb3duKGV2ZW50KTsnPlxuIiwiPHRoZWFkPjx0cj4iLighJG5hJiYkSz8iIjoiPHRkPjxpbnB1dCB0eXBlPSdjaGVja2JveCcgaWQ9J2FsbC1wYWdlJyBvbmNsaWNrPSdmb3JtQ2hlY2sodGhpcywgL2NoZWNrLyk7Jz4gPGEgaHJlZj0nIi5oKCRfR0VUWyJtb2RpZnkiXT9yZW1vdmVfZnJvbV91cmkoIm1vZGlmeSIpOiRfU0VSVkVSWyJSRVFVRVNUX1VSSSJdLiImbW9kaWZ5PTEiKS4iJz4iLmxhbmcoNjkpLiI8L2E+Iik7JG5jPWFycmF5KCk7JGVhPWFycmF5KCk7cmVzZXQoJEspOyRWYz0xO2ZvcmVhY2goJHlbMF1hcyRkPT4kYSl7aWYoJERbIk9pZCJdIT0idCJ8fCRkIT0ib2lkIil7JGE9JF9HRVRbImNvbHVtbnMiXVtrZXkoJEspXTskZz0kdFskSz8kYVsiY29sIl06JGRdOyRlPSgkZz8kbC0+ZmllbGROYW1lKCRnLCRWYyk6IioiKTtpZigkZSE9IiIpeyRWYysrOyRuY1skZF09JGU7JHU9aWRmX2VzY2FwZSgkZCk7ZWNobyc8dGg+PGEgaHJlZj0iJy5oKHJlbW92ZV9mcm9tX3VyaSgnKG9yZGVyfGRlc2MpW149XSp8cGFnZScpLicmb3JkZXIlNUIwJTVEPScudXJsZW5jb2RlKCRkKS4oJHBhWzBdPT0kdXx8JHBhWzBdPT0kZHx8KCEkcGEmJiRuYVswXT09JHUpPycmZGVzYyU1QjAlNUQ9MSc6JycpKS4nIj4nLmFwcGx5X3NxbF9mdW5jdGlvbigkYVsiZnVuIl0sJGUpLiI8L2E+Ijt9JGVhWyRkXT0kYVsiZnVuIl07bmV4dCgkSyk7fX0kamM9YXJyYXkoKTtpZigkX0dFVFsibW9kaWZ5Il0pe2ZvcmVhY2goJHkKYXMkYyl7Zm9yZWFjaCgkYwphcyRkPT4kYSl7JGpjWyRkXT1tYXgoJGpjWyRkXSxtaW4oNDAsc3RybGVuKHV0ZjhfZGVjb2RlKCRhKSkpKTt9fX1lY2hvKCR1Yz8iPHRoPiIubGFuZyg3MCk6IiIpLiI8L3RoZWFkPlxuIjtmb3JlYWNoKCRsLT5yb3dEZXNjcmlwdGlvbnMoJHksJHliKWFzJE89PiRjKXskZ2M9dW5pcXVlX2FycmF5KCR5WyRPXSwkVSk7JEZhPSIiO2ZvcmVhY2goJGdjCmFzJGQ9PiRhKXskRmEuPSImIi4oaXNzZXQoJGEpP3VybGVuY29kZSgid2hlcmVbIi5icmFja2V0X2VzY2FwZSgkZCkuIl0iKS4iPSIudXJsZW5jb2RlKCRhKToibnVsbCU1QiU1RD0iLnVybGVuY29kZSgkZCkpO31lY2hvIjx0ciIub2RkKCkuIj4iLighJG5hJiYkSz8iIjoiPHRkPiIuY2hlY2tib3goImNoZWNrW10iLHN1YnN0cigkRmEsMSksaW5fYXJyYXkoc3Vic3RyKCRGYSwxKSwoYXJyYXkpJF9QT1NUWyJjaGVjayJdKSwiIiwidGhpcy5mb3JtWydhbGwnXS5jaGVja2VkID0gZmFsc2U7IGZvcm1VbmNoZWNrKCdhbGwtcGFnZScpOyIpLihjb3VudCgkbmEpPGNvdW50KCRLKXx8aW5mb3JtYXRpb25fc2NoZW1hKERCKT8iIjoiIDxhIGhyZWY9JyIuaChNRS4iZWRpdD0iLnVybGVuY29kZSgkdykuJEZhKS4iJz4iLmxhbmcoNjkpLiI8L2E+IikpO2ZvcmVhY2goJGMKYXMkZD0+JGEpe2lmKGlzc2V0KCRuY1skZF0pKXskZz0kdFskZF07aWYoJGEhPSIiJiYoIWlzc2V0KCRhY1skZF0pfHwkYWNbJGRdIT0iIikpeyRhY1skZF09KGlzX21haWwoJGEpPyRuY1skZF06IiIpO30kdj0iIjskYT0kbC0+ZWRpdFZhbCgkYSwkZyk7aWYoIWlzc2V0KCRhKSl7JGE9IjxpPk5VTEw8L2k+Ijt9ZWxzZXtpZihlcmVnKCdibG9ifGJ5dGVhfHJhd3xmaWxlJywkZ1sidHlwZSJdKSYmJGEhPSIiKXskdj1oKE1FLidkb3dubG9hZD0nLnVybGVuY29kZSgkdykuJyZmaWVsZD0nLnVybGVuY29kZSgkZCkuJEZhKTt9aWYoJGE9PT0iIil7JGE9IiZuYnNwOyI7fWVsc2VpZigkZmIhPSIiJiZlcmVnKCd0ZXh0fGJsb2InLCRnWyJ0eXBlIl0pJiZpc191dGY4KCRhKSl7JGE9c2hvcnRlbl91dGY4KCRhLG1heCgwLCskZmIpKTt9ZWxzZXskYT1oKCRhKTt9aWYoISR2KXtmb3JlYWNoKChhcnJheSkkeWJbJGRdYXMkSSl7aWYoY291bnQoJHliWyRkXSk9PTF8fGVuZCgkSVsic291cmNlIl0pPT0kZCl7JHY9IiI7Zm9yZWFjaCgkSVsic291cmNlIl1hcyRxPT4keGMpeyR2Lj13aGVyZV9saW5rKCRxLCRJWyJ0YXJnZXQiXVskcV0sJHlbJE9dWyR4Y10pO30kdj1oKCgkSVsiZGIiXSE9IiI/cHJlZ19yZXBsYWNlKCd+KFs/Jl1kYj0pW14mXSt+JywnXFwxJy51cmxlbmNvZGUoJElbImRiIl0pLE1FKTpNRSkuJ3NlbGVjdD0nLnVybGVuY29kZSgkSVsidGFibGUiXSkuJHYpO2lmKGNvdW50KCRJWyJzb3VyY2UiXSk9PTEpe2JyZWFrO319fX1pZigkZD09IkNPVU5UKCopIil7JHY9aChNRS4ic2VsZWN0PSIudXJsZW5jb2RlKCR3KSk7JHE9MDtmb3JlYWNoKChhcnJheSkkX0dFVFsid2hlcmUiXWFzJHMpe2lmKCFhcnJheV9rZXlfZXhpc3RzKCRzWyJjb2wiXSwkZ2MpKXskdi49aCh3aGVyZV9saW5rKCRxKyssJHNbImNvbCJdLCRzWyJ2YWwiXSwkc1sib3AiXSkpO319Zm9yZWFjaCgkZ2MKYXMkc2E9PiRzKXskdi49aCh3aGVyZV9saW5rKCRxKyssJHNhLCRzKSk7fX19aWYoISR2KXtpZihpc19tYWlsKCRhKSl7JHY9Im1haWx0bzokYSI7fWlmKCRUYz1pc191cmwoJGNbJGRdKSl7JHY9KCRUYz09Imh0dHAiJiYkb2I/JGNbJGRdOiIkVGM6Ly93d3cuYWRtaW5lci5vcmcvcmVkaXJlY3QvP3VybD0iLnVybGVuY29kZSgkY1skZF0pKTt9fSRiYT1oKCJ2YWxbJEZhXVsiLmJyYWNrZXRfZXNjYXBlKCRkKS4iXSIpOyRuPSRfUE9TVFsidmFsIl1bJEZhXVticmFja2V0X2VzY2FwZSgkZCldOyRXYz1oKGlzc2V0KCRuKT8kbjokY1skZF0pOyRLZD1zdHJwb3MoJGEsIjxpPi4uLjwvaT4iKTskWGM9aXNfdXRmOCgkYSkmJiR5WyRPXVskZF09PSRjWyRkXSYmISRlYVskZF07JFpjPWVyZWcoJ3RleHR8bG9iJywkZ1sidHlwZSJdKTtlY2hvKCgkX0dFVFsibW9kaWZ5Il0mJiRYYyl8fGlzc2V0KCRuKT8iPHRkPiIuKCRaYz8iPHRleHRhcmVhIG5hbWU9JyRiYScgY29scz0nMzAnIHJvd3M9JyIuKHN1YnN0cl9jb3VudCgkY1skZF0sIlxuIikrMSkuIic+JFdjPC90ZXh0YXJlYT4iOiI8aW5wdXQgbmFtZT0nJGJhJyB2YWx1ZT0nJFdjJyBzaXplPSckamNbJGRdJz4iKToiPHRkIGlkPSckYmEnIG9uZGJsY2xpY2s9XCIiLigkWGM/InNlbGVjdERibENsaWNrKHRoaXMsIGV2ZW50Ii4oJEtkPyIsIDIiOigkWmM/IiwgMSI6IiIpKS4iKSI6ImFsZXJ0KCciLmgobGFuZyg3MSkpLiInKSIpLiI7XCI+Ii4kbC0+c2VsZWN0VmFsKCRhLCR2LCRnKSk7fX1pZigkdWMpe2VjaG8iPHRkPiI7fSRsLT5iYWNrd2FyZEtleXNQcmludCgkdWMsJHlbJE9dKTtlY2hvIjwvdHI+XG4iO31lY2hvIjwvdGFibGU+XG4iO31wYXJzZV9zdHIoJF9DT09LSUVbImFkbWluZXJfZXhwb3J0Il0sJGZjKTtpZigkeXx8JFEpeyRsYz10cnVlO2lmKCRfR0VUWyJwYWdlIl0hPSJsYXN0IiYmKyRGJiZjb3VudCgkbmEpPj1jb3VudCgkSykmJigkQmE+PSRGfHwkUSkpeyRCYT0kRFsiUm93cyJdO2lmKCFpc3NldCgkQmEpfHwkbXx8KCREWyJFbmdpbmUiXT09Iklubm9EQiImJiRCYTxtYXgoMWU0LDIqKCRRKzEpKiRGKSkpe29iX2ZsdXNoKCk7Zmx1c2goKTskQmE9JGYtPnJlc3VsdCgiU0VMRUNUIENPVU5UKCopIEZST00gIi50YWJsZSgkdykuKCRtPyIgV0hFUkUgIi5pbXBsb2RlKCIgQU5EICIsJG0pOiIiKSk7fWVsc2V7JGxjPWZhbHNlO319ZWNobyI8cCBjbGFzcz0ncGFnZXMnPiI7aWYoKyRGJiYkQmE+JEYpeyRtYz1mbG9vcigoJEJhLTEpLyRGKTtlY2hvJzxhIGhyZWY9IicuaChyZW1vdmVfZnJvbV91cmkoInBhZ2UiKSkuIlwiIG9uY2xpY2s9XCJwYWdlQ2xpY2sodGhpcy5ocmVmLCArcHJvbXB0KCciLmxhbmcoNzIpLiInLCAnIi4oJFErMSkuIicpLCBldmVudCk7IHJldHVybiBmYWxzZTtcIj4iLmxhbmcoNzIpLiI8L2E+OiIscGFnaW5hdGlvbigwLCRRKS4oJFE+NT8iIC4uLiI6IiIpO2ZvcigkcT1tYXgoMSwkUS00KTskcTxtaW4oJG1jLCRRKzUpOyRxKyspe2VjaG8KcGFnaW5hdGlvbigkcSwkUSk7fWVjaG8oJFErNTwkbWM/IiAuLi4iOiIiKS4oJGxjP3BhZ2luYXRpb24oJG1jLCRRKTonIDxhIGhyZWY9IicuaChyZW1vdmVfZnJvbV91cmkoKS4iJnBhZ2U9bGFzdCIpLiciPicubGFuZyg3MykuIjwvYT4iKTt9ZWNobyIgKCIuKCRsYz8iIjoifiAiKS5sYW5nKDc0LCRCYSkuIikgIi5jaGVja2JveCgiYWxsIiwxLDAsbGFuZyg3NSkpLiJcbiI7aWYoIWluZm9ybWF0aW9uX3NjaGVtYShEQikpe2VjaG8nPGZpZWxkc2V0PjxsZWdlbmQ+JyxsYW5nKDU5KSwnPC9sZWdlbmQ+PGRpdj4KPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IicsbGFuZyg2MCksJyIgdGl0bGU9IicsbGFuZyg2NSksJyIgY2xhc3M9Impzb25seSI+CjxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9ImVkaXQiIHZhbHVlPSInLGxhbmcoNTkpLCciPgo8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJjbG9uZSIgdmFsdWU9IicsbGFuZyg3NiksJyI+CjxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9ImRlbGV0ZSIgdmFsdWU9IicsbGFuZyg2MyksJyIgb25jbGljaz0icmV0dXJuIGNvbmZpcm0oXCcnLGxhbmcoMCk7Pz4gKCcgKyAodGhpcy5mb3JtWydhbGwnXS5jaGVja2VkID8gPD9waHAgZWNobyRCYSwnIDogZm9ybUNoZWNrZWQodGhpcywgL2NoZWNrLykpICsgXCcpXCcpOyI+CjwvZGl2PjwvZmllbGRzZXQ+Cic7fXByaW50X2ZpZWxkc2V0KCJleHBvcnQiLGxhbmcoNzcpKTskWmE9JGwtPmR1bXBPdXRwdXQoKTtlY2hvKCRaYT9odG1sX3NlbGVjdCgib3V0cHV0IiwkWmEsJGZjWyJvdXRwdXQiXSkuIiAiOiIiKSxodG1sX3NlbGVjdCgiZm9ybWF0IiwkbC0+ZHVtcEZvcm1hdCgpLCRmY1siZm9ybWF0Il0pLCIgPGlucHV0IHR5cGU9J3N1Ym1pdCcgbmFtZT0nZXhwb3J0JyB2YWx1ZT0nIi5sYW5nKDc3KS4iJyBvbmNsaWNrPSdldmVudFN0b3AoZXZlbnQpOyc+XG4iLCI8L2Rpdj48L2ZpZWxkc2V0PlxuIjt9cHJpbnRfZmllbGRzZXQoImltcG9ydCIsbGFuZyg3OCksISR5KTtlY2hvIjxpbnB1dCB0eXBlPSdmaWxlJyBuYW1lPSdjc3ZfZmlsZSc+ICIsaHRtbF9zZWxlY3QoInNlcGFyYXRvciIsYXJyYXkoImNzdiI9PiJDU1YsIiwiY3N2OyI9PiJDU1Y7IiwidHN2Ij0+IlRTViIpLCRmY1siZm9ybWF0Il0sMSk7ZWNobyIgPGlucHV0IHR5cGU9J3N1Ym1pdCcgbmFtZT0naW1wb3J0JyB2YWx1ZT0nIi5sYW5nKDc4KS4iJz4iLCI8aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSd0b2tlbicgdmFsdWU9JyR4YSc+XG4iLCI8L2Rpdj48L2ZpZWxkc2V0PlxuIjskbC0+c2VsZWN0RW1haWxQcmludChhcnJheV9maWx0ZXIoJGFjLCdzdHJsZW4nKSwkSik7ZWNobyI8L2Zvcm0+XG4iO319fWVsc2V7cGFnZV9oZWFkZXIobGFuZyg0NyksIiIsZmFsc2UpO2lmKCRsLT5ob21lcGFnZSgpKXtlY2hvIjxmb3JtIGFjdGlvbj0nJyBtZXRob2Q9J3Bvc3QnPlxuIiwiPHA+Ii5sYW5nKDc5KS4iOiA8aW5wdXQgbmFtZT0ncXVlcnknIHZhbHVlPSciLmgoJF9QT1NUWyJxdWVyeSJdKS4iJz4gPGlucHV0IHR5cGU9J3N1Ym1pdCcgdmFsdWU9JyIubGFuZygyOCkuIic+XG4iO2lmKCRfUE9TVFsicXVlcnkiXSE9IiIpe3NlYXJjaF90YWJsZXMoKTt9ZWNobyI8dGFibGUgY2VsbHNwYWNpbmc9JzAnIGNsYXNzPSdub3dyYXAnIG9uY2xpY2s9J3RhYmxlQ2xpY2soZXZlbnQpOyc+XG4iLCc8dGhlYWQ+PHRyIGNsYXNzPSJ3cmFwIj48dGQ+PGlucHV0IGlkPSJjaGVjay1hbGwiIHR5cGU9ImNoZWNrYm94IiBvbmNsaWNrPSJmb3JtQ2hlY2sodGhpcywgL150YWJsZXNcWy8pOyI+PHRoPicubGFuZyg4MCkuJzx0ZD4nLmxhbmcoODEpLiI8L3RoZWFkPlxuIjtmb3JlYWNoKHRhYmxlX3N0YXR1cygpYXMkaD0+JGMpeyRlPSRsLT50YWJsZU5hbWUoJGMpO2lmKGlzc2V0KCRjWyJFbmdpbmUiXSkmJiRlIT0iIil7ZWNobyc8dHInLm9kZCgpLic+PHRkPicuY2hlY2tib3goInRhYmxlc1tdIiwkaCxpbl9hcnJheSgkaCwoYXJyYXkpJF9QT1NUWyJ0YWJsZXMiXSx0cnVlKSwiIiwiZm9ybVVuY2hlY2soJ2NoZWNrLWFsbCcpOyIpLCI8dGg+PGEgaHJlZj0nIi5oKE1FKS4nc2VsZWN0PScudXJsZW5jb2RlKCRoKS4iJz4kZTwvYT4iOyRhPW51bWJlcl9mb3JtYXQoJGNbIlJvd3MiXSwwLCcuJyxsYW5nKDgyKSk7ZWNobyI8dGQgYWxpZ249J3JpZ2h0Jz48YSBocmVmPSciLmgoTUUuImVkaXQ9IikudXJsZW5jb2RlKCRoKS4iJz4iLigkY1siRW5naW5lIl09PSJJbm5vREIiJiYkYT8ifiAkYSI6JGEpLiI8L2E+Ijt9fWVjaG8iPC90YWJsZT5cbiIsIjwvZm9ybT5cbiI7fX1wYWdlX2Zvb3RlcigpOw==]]></data>
	</file>
	<file>
	  <filename>/adminer/plugins/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/adminer/plugins/AdminerFrames.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKiBBbGxvdyB1c2luZyBBZG1pbmVyIGluc2lkZSBhIGZyYW1lIChkaXNhYmxlcyBDbGlja0phY2tpbmcgcHJvdGVjdGlvbikKICogQGF1dGhvciBKYWt1YiBWcmFuYSwgaHR0cDovL3d3dy52cmFuYS5jei8KICogQGxpY2Vuc2UgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAogKiBAbGljZW5zZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLTIuMC5odG1sIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLCB2ZXJzaW9uIDIgKG9uZSBvciBvdGhlcikKICovCmNsYXNzIEFkbWluZXJGcmFtZXMgewoJdmFyICRzYW1lT3JpZ2luOwoKCS8qKgoJICogQHBhcmFtIGJvb2wgYWxsb3cgcnVubmluZyBmcm9tIHRoZSBzYW1lIG9yaWdpbiBvbmx5CgkgKi8KCWZ1bmN0aW9uIEFkbWluZXJGcmFtZXMoJHNhbWVPcmlnaW4gPSBmYWxzZSkgewoJCSR0aGlzLT5zYW1lT3JpZ2luID0gJHNhbWVPcmlnaW47Cgl9CgoJZnVuY3Rpb24gaGVhZGVycygpIHsKCQlpZiAoJHRoaXMtPnNhbWVPcmlnaW4pIHsKCQkJaGVhZGVyKCJYLUZyYW1lLU9wdGlvbnM6IFNhbWVPcmlnaW4iKTsKCQl9CgkJaGVhZGVyKCJYLVhTUy1Qcm90ZWN0aW9uOiAwIik7CgkJcmV0dXJuIHRydWU7Cgl9Cgp9Cj8+]]></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[PD9waHANCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTW9kdWxlIDogYnRBZG1pbmVyIChjKSAyMDExIGJ5IGJsYXR0ZXJ0ZWNoIGluZm9ybWF0aWsgKGluZm9AYmxhdHRlcnRlY2guY2gpDQojICAgICAgICAgIGEgQWRtaW5lciBleHRlbnNpb24gZm9yIENNUyBNYWRlIFNpbXBsZQ0KIyAgICAgICAgICBUaGUgcHJvamVjdHMgaG9tZXBhZ2UgaXMgZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2J0YWRtaW5lci8NCiMgICAgICAgICAgQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA0LTIwMTAgYnkgVGVkIEt1bHANCiMgICAgICAgICAgVGhlIHByb2plY3RzIGhvbWVwYWdlIGlzOiBjbXNtYWRlc2ltcGxlLm9yZw0KIyBWZXJzaW9uOiAxLjANCiMgRmlsZSAgIDogYnRBZG1pbmVyLm1vZHVsZS5waHANCiMgUHVycG9zZTogaW5pdGlhbCBtb2R1bGUgY2xhc3MuIHRoaXMgaXMgdGhlIGludGVyZmFjZSB0byB0aGUgTW9kdWxlIEFQSQ0KIyBMaWNlbnNlOiBHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCmNsYXNzIGJ0QWRtaW5lciBleHRlbmRzIENNU01vZHVsZQ0Kew0KCXB1YmxpYyAkY29uZmlnOw0KDQoJcHVibGljIGZ1bmN0aW9uIEdldE5hbWUoKSAJCQkJCXsJcmV0dXJuICdidEFkbWluZXInOwl9DQoNCglwdWJsaWMgZnVuY3Rpb24gR2V0RnJpZW5kbHlOYW1lKCkJCXsgcmV0dXJuICJidEFkbWluZXIiOwl9DQoNCglwdWJsaWMgZnVuY3Rpb24gR2V0VmVyc2lvbigpCQkJCXsJcmV0dXJuICcxLjAuMSc7CX0NCg0KCXB1YmxpYyBmdW5jdGlvbiBHZXRIZWxwKCkgCQkJCQl7CXJldHVybiAkdGhpcy0+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/JF9TRVNTSU9OWydBRE1fcHJvZyddOidhZG1pbmVyJzsNCg0KaW5jbHVkZSAnLi9hZG1pbmVyLycuJGZpbGUuJy0zLjIuMi5waHAnOw0K]]></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[LyogTGFzdC1Nb2RpZmllZDogMjgvMDYvMDYgMDA6MDg6MjIgKi8KI0dCX292ZXJsYXkgewogICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIG1hcmdpbjogYXV0bzsKICAgIHRvcDogMDsKICAgIGxlZnQ6IDA7CiAgICB6LWluZGV4OiAxMDA7Cn0KCiNHQl93aW5kb3cgewogICAgbGVmdDogMDsKICAgIHRvcDogMDsKICAgIGZvbnQtc2l6ZTogMXB4OwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgb3ZlcmZsb3c6IHZpc2libGU7CiAgICB6LWluZGV4OiAxNTA7Cn0KCiNHQl93aW5kb3cgLmNvbnRlbnQgewogICAgd2lkdGg6IGF1dG87CiAgICBtYXJnaW46IDA7CiAgICBwYWRkaW5nOiAwOwp9CgojR0JfZnJhbWUgewogICAgYm9yZGVyOiAwOwogICAgbWFyZ2luOiAwOwogICAgcGFkZGluZzogMDsKICAgIG92ZXJmbG93OiBhdXRvOwogICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKfQoKCi5HQl9HYWxsZXJ5IHsKICAgIG1hcmdpbjogMCAyMnB4IDAgMjJweDsKfQoKLkdCX0dhbGxlcnkgLmNvbnRlbnQgewogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICAgIGJvcmRlcjogM3B4IHNvbGlkICNkZGQ7Cn0KCi5HQl9oZWFkZXIgewogICAgdG9wOiAxMHB4OwogICAgbGVmdDogMDsKICAgIG1hcmdpbjogMDsKICAgIHotaW5kZXg6IDUwMDsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjNTU1OwogICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICM1NTU7Cn0KCi5HQl9oZWFkZXIgLmlubmVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzM7CiAgICBmb250LWZhbWlseTogQXJpYWwsIFZlcmRhbmEsIHNhbnMtc2VyaWY7CiAgICBwYWRkaW5nOiAycHggMjBweCAycHggMjBweDsKfQoKLkdCX2hlYWRlciB0YWJsZSB7CiAgICBtYXJnaW46IDA7CiAgICB3aWR0aDogMTAwJTsKICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7Cn0KCi5HQl9oZWFkZXIgLmNhcHRpb24gewogICAgdGV4dC1hbGlnbjogbGVmdDsKICAgIGNvbG9yOiAjZWVlOwogICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgIGZvbnQtc2l6ZTogMjBweDsKfQoKLkdCX2hlYWRlciAuY2xvc2UgewogICAgdGV4dC1hbGlnbjogcmlnaHQ7Cn0KCi5HQl9oZWFkZXIgLmNsb3NlIGltZyB7CiAgICB6LWluZGV4OiA1MDA7CiAgICBjdXJzb3I6IHBvaW50ZXI7Cn0KCi5HQl9oZWFkZXIgLm1pZGRsZSB7CiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgdGV4dC1hbGlnbjogY2VudGVyOwp9CgoKI0dCX21pZGRsZSB7CiAgICBjb2xvcjogI2VlZTsKfQoKI0dCX21pZGRsZSBpbWcgewogICAgY3Vyc29yOiBwb2ludGVyOwogICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKfQoKI0dCX21pZGRsZSAuZGlzYWJsZWQgewogICAgY3Vyc29yOiBkZWZhdWx0Owp9CgojR0JfbWlkZGxlIC5sZWZ0IHsKICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7Cn0KCiNHQl9taWRkbGUgLnJpZ2h0IHsKICAgIHBhZGRpbmctbGVmdDogMTBweDsKfQoKCi5HQl9XaW5kb3cgLmNvbnRlbnQgewogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICAgIGJvcmRlcjogM3B4IHNvbGlkICNjY2M7CiAgICBib3JkZXItdG9wOiBub25lOwp9CgouR0JfV2luZG93IC5oZWFkZXIgewogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNhYWE7CiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzk5OTsKICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgI2NjYzsKICAgIGJvcmRlci1yaWdodDogM3B4IHNvbGlkICNjY2M7CiAgICBtYXJnaW46IDA7CgogICAgaGVpZ2h0OiAyMnB4OwogICAgZm9udC1zaXplOiAxMnB4OwogICAgcGFkZGluZzogM3B4IDA7CiAgICBjb2xvcjogIzMzMzsKfQoKLkdCX1dpbmRvdyAuY2FwdGlvbiB7CiAgICBmb250LXNpemU6IDEycHg7CiAgICB0ZXh0LWFsaWduOiBsZWZ0OwogICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgcGFkZGluZy1yaWdodDogMjBweDsKfQoKLkdCX1dpbmRvdyAuY2xvc2UgeyB0ZXh0LWFsaWduOiByaWdodDsgfQouR0JfV2luZG93IC5jbG9zZSBzcGFuIHsgCiAgICBmb250LXNpemU6IDEycHg7CiAgICBjdXJzb3I6IHBvaW50ZXI7IAp9Ci5HQl9XaW5kb3cgLmNsb3NlIGltZyB7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICBwYWRkaW5nOiAwIDNweCAwIDA7Cn0KCi5HQl9XaW5kb3cgLm9uIHsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMzMzM7IH0KLkdCX1dpbmRvdyAuY2xpY2sgeyBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmVkOyB9Cg==]]></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>
