<?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.2.0</version>
  <mincmsversion>1.9.4.2</mincmsversion>
	<help><![CDATA[LS1BZGQgTWUgLSBtb2R1bGU6YnRBZG1pbmVyIHN0cmluZzpoZWxwLS08aDM+UGFyYW1ldGVyPC9oMz48dWw+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gbGFuZz0iZW5fVVMiIC0gRGllc2VyIFBhcmFtZXRlciBsZWd0IGRpZSBTcHJhY2hlIGZlc3QsIGRpZSB2b20gTW9kdWwgZiZ1dW1sO3IgZGllIEF1c2dhYmUgYXVmIGRlciBXZWJzZWl0ZSB2ZXJ3ZW5kZXQgd2lyZC4gRGllcyB3aXJkIGplZG9jaCBuaWNodCB2b24gYWxsZW4gTW9kdWxlbiB1bnRlcnN0JnV1bWw7dHp0IGJ6dy4gYmVuJm91bWw7dGlndC48L2xpPjwvdWw+]]></help>
	<about><![CDATA[PGJyIC8+QXV0b3I6IGJsYXR0ZXJ0ZWNoIGluZm9ybWF0aWsgJmx0O2luZm9AYmxhdHRlcnRlY2guY2gmZ3Q7PGJyIC8+PGJyIC8+VmVyc2lvbiA6IDEuMi4wPGJyIC8+]]></about>
	<description><![CDATA[Bindet den Datenbank-Editor Adminer ein.]]></description>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.admin_editoption.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojDQojIE1vZHVsZSA6IGJ0QWRtaW5lciAoYykgMjAxMSBieSBibGF0dGVydGVjaCBpbmZvcm1hdGlrIChpbmZvQGJsYXR0ZXJ0ZWNoLmNoKQ0KIyAgICAgICAgICBhIEFkbWluZXIgZXh0ZW5zaW9uIGZvciBDTVMgTWFkZSBTaW1wbGUNCiMgICAgICAgICAgVGhlIHByb2plY3RzIGhvbWVwYWdlIGlzIGRldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9idGFkbWluZXIvDQojICAgICAgICAgIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNC0yMDEwIGJ5IFRlZCBLdWxwDQojICAgICAgICAgIFRoZSBwcm9qZWN0cyBob21lcGFnZSBpczogY21zbWFkZXNpbXBsZS5vcmcNCiMgVmVyc2lvbjogMS4wDQojIEZpbGUgICA6IGFjdGlvbi5hZG1pbl9lZGl0b3B0aW9uLnBocA0KIyBQdXJwb3NlOiBzYXZlcyB0aGUgcHJlZmVyZW5jZXMgaW4gdGhlIGRhdGFiYXNlDQojIExpY2Vuc2U6IEdQTA0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdTZXQgYnRBZG1pbmVyIFByZWZzJykpIHJldHVybjsNCg0KJHRoaXMtPlNldFByZWZlcmVuY2UoJ2FkbWluX3NlY3Rpb24nLCBpc3NldCgkcGFyYW1zWydhZG1pbl9zZWN0aW9uJ10pID8gJHBhcmFtc1snYWRtaW5fc2VjdGlvbiddIDogJ3NpdGVhZG1pbicpOw0KJHRoaXMtPlNldFByZWZlcmVuY2UoJ3Byb2cnLCBpc3NldCgkcGFyYW1zWydwcm9nJ10pID8gJHBhcmFtc1sncHJvZyddIDogJ2FkbWluZXInKTsNCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdkaXNwbGF5JywgaXNzZXQoJHBhcmFtc1snZGlzcGxheSddKSA/ICRwYXJhbXNbJ2Rpc3BsYXknXSA6ICdpZnJhbWUnKTsNCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdmcmFtZWhlaWdodCcsIGlzc2V0KCRwYXJhbXNbJ2ZyYW1laGVpZ2h0J10pID8gJHBhcmFtc1snZnJhbWVoZWlnaHQnXSA6ICc4MDAnKTsNCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCd6aXBleHBvcnQnLCBpc3NldCgkcGFyYW1zWyd6aXBleHBvcnQnXSkgPyAkcGFyYW1zWyd6aXBleHBvcnQnXSA6ICcwJyk7DQokdGhpcy0+U2V0UHJlZmVyZW5jZSgneG1sZXhwb3J0JywgaXNzZXQoJHBhcmFtc1sneG1sZXhwb3J0J10pID8gJHBhcmFtc1sneG1sZXhwb3J0J10gOiAnMCcpOw0KJHRoaXMtPlNldFByZWZlcmVuY2UoJ2NhbGVuZGFyJywgaXNzZXQoJHBhcmFtc1snY2FsZW5kYXInXSkgPyAkcGFyYW1zWydjYWxlbmRhciddIDogJzAnKTsNCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdmb3JlaWduJywgaXNzZXQoJHBhcmFtc1snZm9yZWlnbiddKSA/ICRwYXJhbXNbJ2ZvcmVpZ24nXSA6ICcwJyk7DQokdGhpcy0+U2V0UHJlZmVyZW5jZSgndGV4dGFyZWEnLCBpc3NldCgkcGFyYW1zWyd0ZXh0YXJlYSddKSA/ICRwYXJhbXNbJ3RleHRhcmVhJ10gOiAnMCcpOw0KJHRoaXMtPlNldFByZWZlcmVuY2UoJ2VudW0nLCBpc3NldCgkcGFyYW1zWydlbnVtJ10pID8gJHBhcmFtc1snZW51bSddIDogJzAnKTsNCg0KJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgYXJyYXkoJ21lc3NhZ2UnPT4gJ29wdGlvbnNfdXBkYXRlZCcsICdhY3RpdmVfdGFiJyA9PiAnb3B0aW9udGFiJykpOw0KPz4=]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTW9kdWxlIDogYnRBZG1pbmVyIChjKSAyMDExIGJ5IGJsYXR0ZXJ0ZWNoIGluZm9ybWF0aWsgKGluZm9AYmxhdHRlcnRlY2guY2gpDQojICAgICAgICAgIGEgQWRtaW5lciBleHRlbnNpb24gZm9yIENNUyBNYWRlIFNpbXBsZQ0KIyAgICAgICAgICBUaGUgcHJvamVjdHMgaG9tZXBhZ2UgaXMgZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2J0YWRtaW5lci8NCiMgICAgICAgICAgQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA0LTIwMTAgYnkgVGVkIEt1bHANCiMgICAgICAgICAgVGhlIHByb2plY3RzIGhvbWVwYWdlIGlzOiBjbXNtYWRlc2ltcGxlLm9yZw0KIyBWZXJzaW9uOiAxLjANCiMgRmlsZSAgIDogYWN0aW9uLmRlZmF1bHRhZG1pbi5waHANCiMgUHVycG9zZTogcGVyZm9ybXMgdGhlIGRlZmF1bHQgYmFja2VuZCBhY3Rpb24gaWYgIkV4dGVuc2lvbnMtPmJ0QWRtaW5lciIgaXMgc2VsZWN0ZWQNCiMgTGljZW5zZTogR1BMDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQppZighZnVuY3Rpb25fZXhpc3RzKCdjbXNtcycpIHx8ICFpc19vYmplY3QoY21zbXMoKSkpIGV4aXQ7DQoNCmlmICghJHRoaXMtPkNoZWNrUGVybWlzc2lvbignVXNlIGJ0QWRtaW5lcicpKSB7DQoJcmV0dXJuOw0KfQ0KDQpnbG9iYWwgJGNvbmZpZzsNCiRnQ21zID0gY21zbXMoKTsNCiRsYW5ndWFnZSA9ICRnQ21zLT51c2VycHJlZnNbImRlZmF1bHRfY21zX2xhbmd1YWdlIl07DQokbGFuZ3Nob3J0ID0gc3Vic3RyKCRsYW5ndWFnZSwgMCwyKTsNCiRhZG1pbmVybGFuZyA9IGFycmF5KCJlbiIsICJjcyIsICJzayIsICJubCIsICJlcyIsICJkZSIsICJmciIsICJpdCIsICJldCIsICJodSIsICJwbCIsICJjYSIsICJwdCIsICJzbCIsICJ0ciIsICJydSIsICJ6aCIsICJhciIpOw0KDQokbGFuZyA9IGluX2FycmF5KCRsYW5nc2hvcnQsICRhZG1pbmVybGFuZykgPyAkbGFuZ3Nob3J0IDogJ2VuJzsNCg0KLy8gQWRtaW5lciBTZXNzaW9uDQovLyBOZWVkIHRvIGhhdmUgY29va2llIHZpc2libGUgZnJvbSBwYXJlbnQgZGlyZWN0b3J5DQpzZXNzaW9uX3NldF9jb29raWVfcGFyYW1zKDAsICcvJywgJycsIDApOw0KLy8gQ3JlYXRlIHNpZ25vbiBzZXNzaW9uDQokc2Vzc2lvbl9uYW1lID0gJ2J0QWRtaW5lcic7DQpzZXNzaW9uX25hbWUoJHNlc3Npb25fbmFtZSk7DQovL3Nlc3Npb25fc3RhcnQoKTsNCg0KJGhvc3QgPSAkY29uZmlnWydkYl9ob3N0bmFtZSddOw0KaWYgKGlzc2V0KCRjb25maWdbImRiX3BvcnQiXSkgYW5kICRjb25maWdbJ2RiX3BvcnQnXSAhPSAnJykgJGhvc3QuPSc6Jy4kY29uZmlnWydkYl9wb3J0J107DQoNCi8vIFN0b3JlIHRoZXJlIGNyZWRlbnRpYWxzIGluIHRoZSBzZXNzaW9uDQokX1NFU1NJT05bJ0FETV9kcml2ZXInXSA9ICdzZXJ2ZXInOw0KJF9TRVNTSU9OWydBRE1fdXNlciddID0gJGNvbmZpZ1snZGJfdXNlcm5hbWUnXTsNCiRfU0VTU0lPTlsncHdkcyddWyRfU0VTU0lPTlsnQURNX2RyaXZlciddXVskaG9zdF1bJGNvbmZpZ1snZGJfdXNlcm5hbWUnXV0gPSAkY29uZmlnWydkYl9wYXNzd29yZCddOw0KJF9TRVNTSU9OWydBRE1fcGFzc3dvcmQnXSA9ICRjb25maWdbJ2RiX3Bhc3N3b3JkJ107DQokX1NFU1NJT05bJ0FETV9zZXJ2ZXInXSA9ICRob3N0Ow0KJF9TRVNTSU9OWydBRE1fZGInXSA9ICRjb25maWdbJ2RiX25hbWUnXTsNCiRfU0VTU0lPTlsnQURNX2hpZGVPdGhlckRCcyddID0gJyc7DQovLyBHZXQgc2lnbm9uIHVyaSBmb3IgcmVkaXJlY3QNCiRfU0VTU0lPTlsnQURNX1NpZ25vblVSTCddID0gJGNvbmZpZ1sncm9vdF91cmwnXS4nL21vZHVsZXMvYnRBZG1pbmVyL2J0QWRtaW5lci5waHAnOw0KJF9TRVNTSU9OWydBRE1fTG9nb3V0VVJMJ10gPSAkY29uZmlnWydyb290X3VybCddLicvJy4kY29uZmlnWydhZG1pbl9kaXInXS4nL2xvZ291dC5waHAnOw0KJF9TRVNTSU9OWydBRE1fdXBsb2FkRGlyJ10gPSAkY29uZmlnWyd1cGxvYWRzX3BhdGgnXTsNCi8vIE9wdGlvbnMNCiRfU0VTU0lPTlsnQURNX3Byb2cnXSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwcm9nJyk7DQovLyBQbHVnaW5zDQokX1NFU1NJT05bJ0FETV9wbHVnaW5femlwZXhwb3J0J10gPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnemlwZXhwb3J0Jyk7DQokX1NFU1NJT05bJ0FETV9wbHVnaW5feG1sZXhwb3J0J10gPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgneG1sZXhwb3J0Jyk7DQokX1NFU1NJT05bJ0FETV9wbHVnaW5fY2FsZW5kYXInXSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjYWxlbmRhcicpOw0KJF9TRVNTSU9OWydBRE1fcGx1Z2luX2ZvcmVpZ24nXSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdmb3JlaWduJyk7DQokX1NFU1NJT05bJ0FETV9wbHVnaW5fdGV4dGFyZWEnXSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd0ZXh0YXJlYScpOw0KJF9TRVNTSU9OWydBRE1fcGx1Z2luX2VudW0nXSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdlbnVtJyk7DQovLyByb290X3VybA0KJF9TRVNTSU9OWydBRE1fcm9vdF91cmwnXSA9ICRjb25maWdbJ3Jvb3RfdXJsJ107DQoNCiRzaWQgPSBzZXNzaW9uX2lkKCk7DQovLyBGb3JjZSB0byBzZXQgdGhlIGNvb2tpZQ0Kc2V0Y29va2llKCRzZXNzaW9uX25hbWUsICRzaWQsIDAsICcvJywgJycpOw0KLy8gQ2xvc2UgdGhhdCBzZXNzaW9uDQpzZXNzaW9uX3dyaXRlX2Nsb3NlKCk7DQoNCg0KDQppZiAoaXNzZXQoJHBhcmFtc1snbWVzc2FnZSddKSkgew0KCWVjaG8gJHRoaXMtPlNob3dNZXNzYWdlKCR0aGlzLT5MYW5nKCRwYXJhbXNbJ21lc3NhZ2UnXSkpOw0KfQ0KDQppZiAoaXNzZXQoJHBhcmFtc1snZXJyb3JzJ10pICYmIGNvdW50KCRwYXJhbXNbJ2Vycm9ycyddKSkgew0KCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHBhcmFtc1snZXJyb3JzJ10pOw0KfQ0KDQppZigkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdTZXQgYnRBZG1pbmVyIFByZWZzJykpIHsNCg0KCWlmICghZW1wdHkoJHBhcmFtc1snYWN0aXZlX3RhYiddKSkgew0KCQkkdGFiID0gJHBhcmFtc1snYWN0aXZlX3RhYiddOw0KCX0gZWxzZSB7DQoJCSR0YWIgPSAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdTZXQgYnRBZG1pbmVyIFByZWZzJykgPyAnYWRtaW5lcnRhYicgOiAnb3B0aW9udGFiJzsNCgl9DQoNCgllY2hvICR0aGlzLT5TdGFydFRhYkhlYWRlcnMoKTsNCg0KCWVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignYWRtaW5lcnRhYicsICdidEFkbWluZXInLCAoJHRhYiA9PSAnYWRtaW5lcnRhYicpKTsNCgllY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ29wdGlvbnRhYicsICR0aGlzLT5MYW5nKCdvcHRpb25zJyksICgkdGFiID09ICdvcHRpb250YWInKSk7DQoNCg0KCWVjaG8gJHRoaXMtPkVuZFRhYkhlYWRlcnMoKTsNCgllY2hvICR0aGlzLT5TdGFydFRhYkNvbnRlbnQoKTsNCg0KCWVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdhZG1pbmVydGFiJywgJHBhcmFtcyk7DQoJaW5jbHVkZSBkaXJuYW1lKF9fRklMRV9fKSAuICcvZnVuY3Rpb24uYWRtaW5fYWRtaW5lcnRhYi5waHAnOw0KCWVjaG8gJHRoaXMtPkVuZFRhYigpOw0KDQoJZWNobyAkdGhpcy0+U3RhcnRUYWIoJ29wdGlvbnRhYicsICRwYXJhbXMpOw0KCWluY2x1ZGUgZGlybmFtZShfX0ZJTEVfXykgLiAnL2Z1bmN0aW9uLmFkbWluX29wdGlvbnRhYi5waHAnOw0KCWVjaG8gJHRoaXMtPkVuZFRhYigpOw0KDQoJZWNobyAkdGhpcy0+RW5kVGFiQ29udGVudCgpOw0KDQp9IGVsc2Ugew0KCWluY2x1ZGUgZGlybmFtZShfX0ZJTEVfXykgLiAnL2Z1bmN0aW9uLmFkbWluX2FkbWluZXJ0YWIucGhwJzsNCn0NCg==]]></data>
	</file>
	<file>
	  <filename>/adminer.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[DQpib2R5IHsNCiAgICBmb250LXNpemU6IDExcHg7DQogICAgbGluZS1oZWlnaHQ6IDE0cHg7DQogICAgZm9udC1mYW1pbHk6IFZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7DQp9DQpjb2RlIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCn0NCnRhYmxlIHsNCiAgICBmb250LXNpemU6IDExcHg7DQogICAgYmFja2dyb3VuZDogbm9uZSByZXBlYXQgc2Nyb2xsIDAgMCAjRkZGRkZGOw0KICAgIGJvcmRlcjogMXB4IHNvbGlkICNBMkFBQjg7DQp9DQp0YWJsZS5ub3dyYXAgew0KICAgIGJhY2tncm91bmQ6IG5vbmUgcmVwZWF0IHNjcm9sbCAwIDAgI0ZGRkZGRjsNCiAgICBib3JkZXI6IDFweCBzb2xpZCAjQTJBQUI4Ow0KfQ0KdGhlYWQgdGQsIHRoZWFkIHRoLCB0aGVhZCB0cjpob3ZlciB0ZCwgdGhlYWQgdHI6aG92ZXIgdGggew0KICAgIGJhY2tncm91bmQtY29sb3I6ICM1ODU4NTg7DQogICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQoY2VudGVyIHRvcCwgIzdGN0Y3RiAxMCUsICM1QjVCNUIgMTAwJSk7DQogICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14Ow0KICAgIGNvbG9yOiAjRkZGRkZGOw0KICAgIGZvbnQtc2l6ZTogMTBweDsNCiAgICBoZWlnaHQ6IDIwcHg7DQogICAgbGluZS1oZWlnaHQ6IDE5cHg7DQp9DQp0ciB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjsNCn0NCnRyLm9kZCB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI0Y3RjdGNzsNCn0NCnRkLCB0aCB7DQogICAgYm9yZGVyOiBtZWRpdW0gbm9uZTsNCiAgICBiYWNrZ3JvdW5kOiBub25lOw0KfQ0KdGJvZHkgdHI6aG92ZXIgdGQsIHRib2R5IHRyOmhvdmVyIHRoIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREVERURFOw0KfQ0KYSB7DQogICAgY29sb3I6IGJsYWNrOw0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBjdXJzb3I6IHBvaW50ZXI7DQp9DQphOmxpbmsgew0KICAgIGNvbG9yOiBibGFjazsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgY3Vyc29yOiBwb2ludGVyOw0KfQ0KYTp2aXNpdGVkIHsNCiAgICBjb2xvcjogYmxhY2s7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGN1cnNvcjogcG9pbnRlcjsNCn0NCmE6aG92ZXIgew0KICAgIGNvbG9yOiBibGFjazsNCiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsNCn0NCmE6YWN0aXZlIHsNCiAgICBjb2xvcjogYmxhY2s7DQogICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7DQp9DQp0YWJsZS5ub3dyYXAgYVtocmVmKj0iZWRpdD0iXVtocmVmKj0iJndoZXJlIl0gew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBsZWZ0OiA0cHg7DQogICAgd2lkdGg6IDE2cHg7DQogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICAgIG92ZXJmbG93OiBoaWRkZW47DQp9DQoNCnRhYmxlLm5vd3JhcCBhW2hyZWYqPSJlZGl0PSJdW2hyZWYqPSImd2hlcmUiXTpob3ZlciB7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KfQ0KdGFibGUubm93cmFwIGFbaHJlZio9ImVkaXQ9Il1baHJlZio9IiZ3aGVyZSJdOmJlZm9yZSB7DQogICAgY29udGVudDogIlwwMGEwIjsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImltYWdlcy9kb2N1bWVudC1vcGVuLnBuZyIpOw0KICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IDA7DQogICAgaGVpZ2h0OiAxNnB4Ow0KICAgIHdpZHRoOiAxNnB4Ow0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICBvdmVyZmxvdzogaGlkZGVuOw0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCn0NCnRhYmxlLm5vd3JhcCB0aGVhZCB0aCBhLCB0YWJsZS5ub3dyYXAgdGhlYWQgdGQgYSB7DQogICAgY29sb3I6IHdoaXRlOw0KfQ0KDQpwI2JyZWFkY3J1bWIgew0KICAgIGJvcmRlcjogbWVkaXVtIG5vbmU7DQp9DQpwI2JyZWFkY3J1bWIgYSB7DQogICAgY29sb3I6ICNGRkZGRkY7DQp9DQojbWVudSB7DQogICAgbWFyZ2luOiAwOw0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICB0b3A6IDA7DQogICAgYm90dG9tOiAwOw0KICAgIGxlZnQ6IDA7DQogICAgd2lkdGg6IDI3MHB4Ow0KICAgIHBhZGRpbmc6IDA7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI0VCRUJFQjsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQU1BQUFBQkNBWUFBQUFiNEJTMEFBQUFHRWxFUVZSNDJnRU5BUEwvQU1qSXlFekl5TWl6eU1qSS96aHZDUWVsYUhQUEFBQUFBRWxGVGtTdVFtQ0MiKTsNCiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXk7DQogICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2VudGVyOw0KfQ0KI21lbnUgZm9ybVttZXRob2QqPSJwb3N0Il0gew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNEQURBREE7DQogICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFNQUFBQUJDQVlBQUFBYjRCUzBBQUFBR0VsRVFWUjQyZ0VOQVBML0FMaTR1RXk0dUxpMHVMaTQvelNFQ0hpanB3TUdBQUFBQUVsRlRrU3VRbUNDIik7DQogICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC15Ow0KICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNlbnRlcjsNCn0NCiNtZW51IHAgew0KICAgIG1hcmdpbjogMDsNCiAgICBwYWRkaW5nOiA0cHggMTBweDsNCiAgICBib3JkZXI6IG1lZGl1bSBub25lOw0KfQ0KI21lbnUgcCBzZWxlY3Qgew0KICAgIHdpZHRoOiAxMDAlOw0KfQ0KDQojbWVudSBoMSB7DQogICAgaGVpZ2h0OiAyMnB4Ow0KICAgIHBhZGRpbmc6IDAgMTBweDsNCiAgICBtYXJnaW46IDA7DQogICAgbGluZS1oZWlnaHQ6IDIwcHg7DQogICAgZGlzcGxheTogYmxvY2s7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzU4NTg1ODsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQU1BQUFBQkNBWUFBQUFiNEJTMEFBQUFHRWxFUVZSNDJnRU5BUEwvQUVCQVFFeEFRRUN6UUVCQS94YjNCRDhDSEJOMEFBQUFBRWxGVGtTdVFtQ0MiKTsNCiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXk7DQogICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2VudGVyOw0KICAgIGNvbG9yOiAjRkZGRkZGOw0KICAgIGZvbnQtc2l6ZTogMTBweDsNCiAgICBib3JkZXI6IG1lZGl1bSBub25lOw0KfQ0KDQojbWVudSBoMSBhIHsNCiAgICBmb250LXNpemU6IDEzcHg7DQogICAgY29sb3I6ICNGRkZGRkY7DQp9DQoNCiNtZW51IGgxIC52ZXJzaW9uIHsNCiAgICBmb250LXNpemU6IDlweDsNCiAgICBjb2xvcjogI0ZGRkZGRjsNCn0NCg0KI21lbnUgKiB7DQogICAgbWFyZ2luOiAwOw0KICAgIHBhZGRpbmc6IDA7DQp9DQoNCnAjdGFibGVzIHsNCiAgICBtYXJnaW46IDA7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIHRvcDogOTdweDsNCiAgICBib3R0b206IDA7DQogICAgbGVmdDogMDsNCiAgICBwYWRkaW5nOiAwIDAgMCA1cHg7DQogICAgb3ZlcmZsb3cteDogaGlkZGVuOw0KICAgIG92ZXJmbG93LXk6IGF1dG87DQogICAgd2lkdGg6IDI2NXB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAxOHB4Ow0KICAgIGJhY2tncm91bmQtY29sb3I6ICNFQkVCRUI7DQogICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFNQUFBQUJDQVlBQUFBYjRCUzBBQUFBR0VsRVFWUjQyZ0VOQVBML0FNakl5RXpJeU1penlNakkvemh2Q1FlbGFIUFBBQUFBQUVsRlRrU3VRbUNDIik7DQogICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC15Ow0KICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNlbnRlcjsNCn0NCg0KcCN0YWJsZXMgYSB7DQogICAgZGlzcGxheTogYmxvY2s7DQogICAgbWFyZ2luOiAwOw0KICAgIHBhZGRpbmc6IDA7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIG1hcmdpbi10b3A6IDFweDsNCiAgICB0b3A6IDBweDsNCn0NCg0KcCN0YWJsZXMgYVtocmVmKj0ic2VsZWN0PSJdIHsNCiAgICAvKnBvc2l0aW9uOiBhYnNvbHV0ZTsqLw0KICAgIGxlZnQ6IDEwcHg7DQogICAgd2lkdGg6IDE2cHg7DQogICAgZGlzcGxheTogYmxvY2s7DQogICAgb3ZlcmZsb3c6IGhpZGRlbjsNCn0NCg0KcCN0YWJsZXMgYVtocmVmKj0ic2VsZWN0PSJdOmJlZm9yZSB7DQogICAgY29udGVudDogIlwwMGEwIjsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImltYWdlcy9zeXN0ZW0tbGlzdC1vcGVuLnBuZyIpOw0KICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IDA7DQogICAgaGVpZ2h0OiAxNnB4Ow0KICAgIHdpZHRoOiAxNnB4Ow0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICBvdmVyZmxvdzogaGlkZGVuOw0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBsaW5lLWhlaWdodDogMThweDsNCn0NCg0KcCN0YWJsZXMgYVtocmVmKj0idGFibGU9Il0gew0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICBsZWZ0OiAzNnB4Ow0KICAgIHdpZHRoOiAyMDBweDsNCn0NCnAjdGFibGVzIHNwYW4udGFibGVzLWxpbmUgew0KICAgIGRpc3BsYXk6IGxpc3QtaXRlbTsNCiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmUNCn0NCnAjdGFibGVzIHNwYW4udGFibGVzLWxpbmUtYWN0aXZlIHsNCiAgICBkaXNwbGF5OiBsaXN0LWl0ZW07DQogICAgYmFja2dyb3VuZC1jb2xvcjogI0Y4RjhGODsNCiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0Q3RDdENzsNCiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNEN0Q3RDc7DQogICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNEN0Q3RDc7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KfQ0KcCN0YWJsZXMgc3Bhbi50YWJsZXMtbGluZTpob3ZlciB7DQogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNEN0Q3RDc7DQogICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjRDdEN0Q3Ow0KICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjRDdEN0Q3Ow0KICAgIGJhY2tncm91bmQtY29sb3I6ICNGMkYyRjI7DQogICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFNQUFBQUJDQVlBQUFBYjRCUzBBQUFBR0VsRVFWUjQyZ0VOQVBML0FNakl5RXpJeU1penlNakkvemh2Q1FlbGFIUFBBQUFBQUVsRlRrU3VRbUNDIik7DQogICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2VudGVyOw0KICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteTsNCiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogM3B4Ow0KICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAzcHg7DQp9DQojbGFuZyB7DQogICAgdG9wOiAxcHg7DQogICAgcmlnaHQ6IDE4cHg7DQogICAgbGVmdDogYXV0bzsNCiAgICBtYXJnaW46IDA7DQogICAgcGFkZGluZzogMDsNCiAgICB6LWluZGV4OiAxMDsNCiAgICBjb2xvcjogI0ZGRkZGRjsNCn0NCiNsYW5nIHNlbGVjdCB7DQogICAgaGVpZ2h0OiAxOHB4Ow0KfQ0KDQojY29udGVudCB7DQogICAgbWFyZ2luOiAwOw0KICAgIHBhZGRpbmc6IDAgMTBweCAxMHB4IDEwcHg7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIGxlZnQ6IDI3MHB4Ow0KICAgIHJpZ2h0OiAwOw0KICAgIHRvcDogNDlweDsNCiAgICBib3R0b206IDA7DQogICAgb3ZlcmZsb3c6IGF1dG87DQp9DQojY29udGVudCB0YWJsZSB0cjpudGgtY2hpbGQoMm4pIHRkLCAjY29udGVudCB0YWJsZSB0cjpudGgtY2hpbGQoMm4pIHRoIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjdGN0Y3Ow0KfQ0KI2NvbnRlbnQgdGFibGUgdGJvZHkgdHI6aG92ZXIgdGQsICNjb250ZW50IHRhYmxlIHRib2R5IHRyOmhvdmVyIHRoIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREVERURFOw0KfQ0KI2NvbnRlbnQgaDIgew0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIG1hcmdpbjogMDsNCiAgICBoZWlnaHQ6IDIxcHg7DQogICAgcG9zaXRpb246IGZpeGVkOw0KICAgIGxlZnQ6IDI3MHB4Ow0KICAgIHJpZ2h0OiAwOw0KICAgIHRvcDogMjJweDsNCiAgICBsaW5lLWhlaWdodDogMjJweDsNCiAgICBwYWRkaW5nOiAwIDAgNnB4IDEwcHg7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI0RBREFEQTsNCiAgICBmb250LXNpemU6IDEycHg7DQogICAgYm9yZGVyOiBtZWRpdW0gbm9uZTsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCn0NCg0KaDEsIGgyLCBoMywgaDQgew0KICAgIGNvbG9yOiAjNTU1NTU1Ow0KICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KfQ0KaDMgew0KICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQ0RDRENEOw0KICAgIHBhZGRpbmctYm90dG9tOiA2cHg7DQp9DQojYnJlYWRjcnVtYiB7DQogICAgcG9zaXRpb246IGZpeGVkOw0KICAgIGxlZnQ6IDI3MHB4Ow0KICAgIHJpZ2h0OiAwOw0KICAgIHRvcDogMDsNCiAgICBoZWlnaHQ6IDIycHg7DQogICAgbWFyZ2luOiAwOw0KICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjOTk5Ow0KICAgIGJhY2tncm91bmQtY29sb3I6ICM1ODU4NTg7DQogICAgY29sb3I6ICNGRkZGRkY7DQp9DQoNCmlucHV0LCB0ZXh0YXJlYSwgc2VsZWN0LCBidXR0b24gew0KICAgIGZvbnQtZmFtaWx5OiBWZXJkYW5hLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOw0KICAgIGZvbnQtc2l6ZTogMTFweDsNCiAgICBsaW5lLWhlaWdodDogMTZweDsNCn0NCmlucHV0W3R5cGU9InN1Ym1pdCJdLCBpbnB1dFt0eXBlPSJidXR0b24iXSwgaW5wdXRbdHlwZT0icmVzZXQiXSB7DQogICAgYm9yZGVyOiAxcHggc29saWQgI0FDQjNCRTsNCiAgICBjb2xvcjogIzMzMzMzMzsNCiAgICBjdXJzb3I6IHBvaW50ZXI7DQogICAgaGVpZ2h0OiAxOXB4Ow0KICAgIG1hcmdpbi1sZWZ0OiA1cHg7DQogICAgcGFkZGluZzogMCA0cHggMnB4Ow0KICAgIGJhY2tncm91bmQtY29sb3I6ICNGNkY2RjY7DQogICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdpbWFnZXMvYnV0dG9uLnBuZycpOw0KICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChjZW50ZXIgdG9wLCAjZjZmNmY2IDEwJSwgI2Q1ZDVkNSA5MCUpOw0KICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KGNlbnRlciB0b3AsICNmNmY2ZjYgMTAlLCAjZDVkNWQ1IDkwJSk7DQogICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAlIDAlLCAwJSAxMDAlLCBjb2xvci1zdG9wKDAuMSwgI2Y2ZjZmNiksIGNvbG9yLXN0b3AoMC45LCAjZDVkNWQ1KSk7DQogICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGJvdHRvbTsNCiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7DQogICAgYm9yZGVyLXJhZGl1czogMXB4Ow0KICAgIC1tb3otYm9yZGVyLXJhZGl1czogMXB4Ow0KfQ0KaW5wdXRbdHlwZT0ic3VibWl0Il06aG92ZXIsIGlucHV0W3R5cGU9ImJ1dHRvbiJdOmhvdmVyLCBpbnB1dFt0eXBlPSJyZXNldCJdOmhvdmVyIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzhjOGM4Ow0KICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaW1hZ2VzL2J1dHRvbi1ob3Zlci5wbmcnKTsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoY2VudGVyIHRvcCwgI2Y2ZjZmNiAxMCUsICNjOGM4YzggOTAlKTsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChjZW50ZXIgdG9wLCAjZjZmNmY2IDEwJSwgI2JkYmNiYyA5MCUpOw0KICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwJSAwJSwgMCUgMTAwJSwgY29sb3Itc3RvcCgwLjEsICNmNmY2ZjYpLCBjb2xvci1zdG9wKDAuOSwgI2M4YzhjOCkpOw0KICAgIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbTsNCiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7DQogICAgYm9yZGVyOiAxcHggc29saWQgIzczN2Y5MTsNCiAgICBjb2xvcjogIzFlMWUxZTsNCiAgICBjdXJzb3I6IHBvaW50ZXI7DQp9DQojbWVudSBpbnB1dFt0eXBlPSJzdWJtaXQiXSwgI21lbnUgaW5wdXRbdHlwZT0iYnV0dG9uIl0sICNtZW51IGlucHV0W3R5cGU9InJlc2V0Il0gew0KICAgIHBhZGRpbmc6IDAgNHB4IDJweDsNCiAgICBtYXJnaW4tbGVmdDogNXB4Ow0KfQ0KLm1lc3NhZ2UsIC5lcnJvciB7DQogICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTBweCAxMnB4Ow0KICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7DQogICAgYm9yZGVyOiAxcHggc29saWQ7DQogICAgbWFyZ2luLWJvdHRvbTogNHB4Ow0KICAgIHBhZGRpbmc6IDEycHggMTJweCAxMnB4IDM2cHg7DQp9DQoubWVzc2FnZSB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI0VBRjdGRjsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImltYWdlcy9pbmZvcm1hdGlvbi5wbmciKTsNCiAgICBib3JkZXItY29sb3I6ICNDNURCRTY7DQogICAgY29sb3I6ICM0QzczQTE7DQp9DQouZXJyb3Igew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNGNkQzQ0Y7DQogICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCJpbWFnZXMvZXJyb3IucG5nIik7DQogICAgYm9yZGVyLWNvbG9yOiAjRDY2QzY4Ow0KICAgIGNvbG9yOiAjQUEwMjI1Ow0KfQ0KI2xvYWRlciB7DQogICAgdG9wOiAyZW07DQogICAgbGVmdDogNTllbTsNCn0NCnAudGFicyB7DQogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNBREFEQUQ7DQogICAgcGFkZGluZzogM3B4IDAgM3B4IDEwcHg7DQp9DQpwLnRhYnMgYSB7DQogICAgLW1vei1ib3JkZXItYm90dG9tLWNvbG9yczogbm9uZTsNCiAgICAtbW96LWJvcmRlci1pbWFnZTogbm9uZTsNCiAgICAtbW96LWJvcmRlci1sZWZ0LWNvbG9yczogbm9uZTsNCiAgICAtbW96LWJvcmRlci1yaWdodC1jb2xvcnM6IG5vbmU7DQogICAgLW1vei1ib3JkZXItdG9wLWNvbG9yczogbm9uZTsNCiAgICBiYWNrZ3JvdW5kOiBub25lIHJlcGVhdCBzY3JvbGwgMCAwICNEQURBREE7DQogICAgYm9yZGVyLWNvbG9yOiAjQURBREFEICNBREFEQUQgLW1vei11c2UtdGV4dC1jb2xvcjsNCiAgICBib3JkZXItc3R5bGU6IHNvbGlkIHNvbGlkIG5vbmU7DQogICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogM3B4Ow0KICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAzcHg7DQogICAgYm9yZGVyLXdpZHRoOiAxcHggMXB4IG1lZGl1bTsNCiAgICBjb2xvcjogIzYwNjA2MDsNCiAgICBwYWRkaW5nOiA0cHggMTBweDsNCiAgICBtYXJnaW46IDAgLTFweCAwIC0ycHg7DQogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNDMEMwQzA7DQp9DQpwLnRhYnMgYTpob3ZlciB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI0VFRUVFRTsNCiAgICBib3JkZXItY29sb3I6ICNBREFEQUQ7DQogICAgY29sb3I6ICM2MDYwNjA7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KfQ0KcC50YWJzIGEuYWN0aXZlIHsNCiAgICBiYWNrZ3JvdW5kOiBub25lIHJlcGVhdCBzY3JvbGwgMCAwICNGRkZGRkY7DQogICAgY29sb3I6ICMwMDAwMDA7DQogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNGRkZGRkY7DQp9]]></data>
	</file>
	<file>
	  <filename>/adminer/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/adminer/.htaccess</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[b3JkZXIgYWxsb3csZGVueQpkZW55IGZyb20gYWxs]]></data>
	</file>
	<file>
	  <filename>/adminer/adminer-3.3.3.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqIEFkbWluZXIgLSBDb21wYWN0IGRhdGFiYXNlIG1hbmFnZW1lbnQKKiBAbGluayBodHRwOi8vd3d3LmFkbWluZXIub3JnLwoqIEBhdXRob3IgSmFrdWIgVnJhbmEsIGh0dHA6Ly93d3cudnJhbmEuY3ovCiogQGNvcHlyaWdodCAyMDA3IEpha3ViIFZyYW5hCiogQGxpY2Vuc2UgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAoqIEBsaWNlbnNlIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMi4wLmh0bWwgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIHZlcnNpb24gMiAob25lIG9yIG90aGVyKQoqIEB2ZXJzaW9uIDMuMy4zCiovZXJyb3JfcmVwb3J0aW5nKDYxMzUpOyRhYz0oIWVyZWcoJ14odW5zYWZlX3Jhdyk/JCcsaW5pX2dldCgiZmlsdGVyLmRlZmF1bHQiKSkpO2lmKCRhY3x8aW5pX2dldCgiZmlsdGVyLmRlZmF1bHRfZmxhZ3MiKSl7Zm9yZWFjaChhcnJheSgnX0dFVCcsJ19QT1NUJywnX0NPT0tJRScsJ19TRVJWRVInKWFzJFcpeyRQZj1maWx0ZXJfaW5wdXRfYXJyYXkoY29uc3RhbnQoIklOUFVUJFciKSxGSUxURVJfVU5TQUZFX1JBVyk7aWYoJFBmKXskJFc9JFBmO319fWlmKGlzc2V0KCRfR0VUWyJmaWxlIl0pKXtoZWFkZXIoIkV4cGlyZXM6ICIuZ21kYXRlKCJELCBkIE0gWSBIOmk6cyIsdGltZSgpKzM2NSoyNCo2MCo2MCkuIiBHTVQiKTtpZigkX0dFVFsiZmlsZSJdPT0iZmF2aWNvbi5pY28iKXtoZWFkZXIoIkNvbnRlbnQtVHlwZTogaW1hZ2UveC1pY29uIik7ZWNobwpiYXNlNjRfZGVjb2RlKCJBQUFCQUFFQUVCQVFBQUVBQkFBb0FRQUFGZ0FBQUNnQUFBQVFBQUFBSUFBQUFBRUFCQUFBQUFBQXdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBLy8vL0FBQUEvd0JoVGdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFUkVSQUFBQUFBRVRNekVRQUFBQUFURVJFeEFBQUFBQk1SRVRFQUFBQUFFeEVSTVFBQUFBQVRFUkV4QUFBQUFCTVJFVEVBQUFBQUV6TXpNUkVSRVFBVEVSRXhFaEVoQUJFek14RWhFUkVBQVJFUkVoRVJJUkFBQUFBUklSRVNFQUFBQUFFU0VpRVFBQUFBQUJFUkVRQUFBQUFBQUFBQUQvLzlVQXdQL1ZBSUIvQUFDQWYvQUFnSCtrQUlCL2dBQ0Fmd0FBZ0g4QUFJQUJBQUNBQWY4QWdBSC9BTUFBL3dEK0FQOEEvd0FJQWYrQjFRRC8vOVVBIik7fWVsc2VpZigkX0dFVFsiZmlsZSJdPT0iZGVmYXVsdC5jc3MiKXtoZWFkZXIoIkNvbnRlbnQtVHlwZTogdGV4dC9jc3M7IGNoYXJzZXQ9dXRmLTgiKTtlY2hvJ2JvZHl7Y29sb3I6IzAwMDtiYWNrZ3JvdW5kOiNmZmY7Zm9udDo5MCUvMS4yNSBWZXJkYW5hLEFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmO21hcmdpbjowO31he2NvbG9yOmJsdWU7fWE6dmlzaXRlZHtjb2xvcjpuYXZ5O31hOmhvdmVye2NvbG9yOnJlZDt9aDF7Zm9udC1zaXplOjE1MCU7bWFyZ2luOjA7cGFkZGluZzouOGVtIDFlbTtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjOTk5O2ZvbnQtd2VpZ2h0Om5vcm1hbDtjb2xvcjojNzc3O2JhY2tncm91bmQ6I2VlZTt9aDJ7Zm9udC1zaXplOjE1MCU7bWFyZ2luOjAgMCAyMHB4IC0xOHB4O3BhZGRpbmc6LjhlbSAxZW07Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzAwMDtjb2xvcjojMDAwO2ZvbnQtd2VpZ2h0Om5vcm1hbDtiYWNrZ3JvdW5kOiNkZGY7fWgze2ZvbnQtd2VpZ2h0Om5vcm1hbDtmb250LXNpemU6MTMwJTttYXJnaW46MWVtIDAgMDt9Zm9ybXttYXJnaW46MDt9dGFibGV7bWFyZ2luOjFlbSAyMHB4IDAgMDtib3JkZXI6MDtib3JkZXItdG9wOjFweCBzb2xpZCAjOTk5O2JvcmRlci1sZWZ0OjFweCBzb2xpZCAjOTk5O2ZvbnQtc2l6ZTo5MCU7fXRkLHRoe2JvcmRlcjowO2JvcmRlci1yaWdodDoxcHggc29saWQgIzk5OTtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjOTk5O3BhZGRpbmc6LjJlbSAuM2VtO310aHtiYWNrZ3JvdW5kOiNlZWU7dGV4dC1hbGlnbjpsZWZ0O310aGVhZCB0aHt0ZXh0LWFsaWduOmNlbnRlcjt9dGhlYWQgdGQsdGhlYWQgdGh7YmFja2dyb3VuZDojZGRmO31maWVsZHNldHtkaXNwbGF5OmlubGluZTt2ZXJ0aWNhbC1hbGlnbjp0b3A7cGFkZGluZzouNWVtIC44ZW07bWFyZ2luOi44ZW0gLjVlbSAwIDA7Ym9yZGVyOjFweCBzb2xpZCAjOTk5O31we21hcmdpbjouOGVtIDIwcHggMCAwO31pbWd7dmVydGljYWwtYWxpZ246bWlkZGxlO2JvcmRlcjowO310ZCBpbWd7bWF4LXdpZHRoOjIwMHB4O21heC1oZWlnaHQ6MjAwcHg7fWNvZGV7YmFja2dyb3VuZDojZWVlO310Ym9keSB0cjpob3ZlciB0ZCx0Ym9keSB0cjpob3ZlciB0aHtiYWNrZ3JvdW5kOiNlZWU7fXByZXttYXJnaW46MWVtIDAgMDt9aW5wdXRbdHlwZT1pbWFnZV17dmVydGljYWwtYWxpZ246bWlkZGxlO30udmVyc2lvbntjb2xvcjojNzc3O2ZvbnQtc2l6ZTo2NyU7fS5qcyAuaGlkZGVuLC5ub2pzIC5qc29ubHl7ZGlzcGxheTpub25lO30ubm93cmFwIHRkLC5ub3dyYXAgdGgsdGQubm93cmFwe3doaXRlLXNwYWNlOnByZTt9LndyYXAgdGR7d2hpdGUtc3BhY2U6bm9ybWFsO30uZXJyb3J7Y29sb3I6cmVkO2JhY2tncm91bmQ6I2ZlZTt9LmVycm9yIGJ7YmFja2dyb3VuZDojZmZmO2ZvbnQtd2VpZ2h0Om5vcm1hbDt9Lm1lc3NhZ2V7Y29sb3I6Z3JlZW47YmFja2dyb3VuZDojZWZlO30uZXJyb3IsLm1lc3NhZ2V7cGFkZGluZzouNWVtIC44ZW07bWFyZ2luOjFlbSAyMHB4IDAgMDt9LmNoYXJ7Y29sb3I6IzAwN0YwMDt9LmRhdGV7Y29sb3I6IzdGMDA3Rjt9LmVudW17Y29sb3I6IzAwN0Y3Rjt9LmJpbmFyeXtjb2xvcjpyZWQ7fS5vZGQgdGR7YmFja2dyb3VuZDojRjVGNUY1O30uanMgLmNoZWNrZWQgdGQsLmpzIC5jaGVja2VkIHRoe2JhY2tncm91bmQ6I2RkZjt9LnRpbWV7Y29sb3I6c2lsdmVyO2ZvbnQtc2l6ZTo3MCU7fS5mdW5jdGlvbnt0ZXh0LWFsaWduOnJpZ2h0O30ubnVtYmVye3RleHQtYWxpZ246cmlnaHQ7fS5kYXRldGltZXt0ZXh0LWFsaWduOnJpZ2h0O30udHlwZXt3aWR0aDoxNWV4O3dpZHRoOmF1dG9cXDk7fS5vcHRpb25zIHNlbGVjdHt3aWR0aDoyMGV4O3dpZHRoOmF1dG9cXDk7fS5hY3RpdmV7Zm9udC13ZWlnaHQ6Ym9sZDt9LnNxbGFyZWF7d2lkdGg6OTglO30jbWVudXtwb3NpdGlvbjphYnNvbHV0ZTttYXJnaW46MTBweCAwIDA7cGFkZGluZzowIDAgMzBweCAwO3RvcDoyZW07bGVmdDowO3dpZHRoOjE5ZW07b3ZlcmZsb3c6YXV0bztvdmVyZmxvdy15OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7fSNtZW51IHB7cGFkZGluZzouOGVtIDFlbTttYXJnaW46MDtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjY2NjO30jY29udGVudHttYXJnaW46MmVtIDAgMCAyMWVtO3BhZGRpbmc6MTBweCAyMHB4IDIwcHggMDt9I2xhbmd7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO2xpbmUtaGVpZ2h0OjEuOGVtO3BhZGRpbmc6LjNlbSAxZW07fSNicmVhZGNydW1ie3doaXRlLXNwYWNlOm5vd3JhcDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjIxZW07YmFja2dyb3VuZDojZWVlO2hlaWdodDoyZW07bGluZS1oZWlnaHQ6MS44ZW07cGFkZGluZzowIDFlbTttYXJnaW46MCAwIDAgLTE4cHg7fSNsb2FkZXJ7cG9zaXRpb246Zml4ZWQ7dG9wOjA7bGVmdDoxOGVtO3otaW5kZXg6MTt9I2gxe2NvbG9yOiM3Nzc7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Zm9udC1zdHlsZTppdGFsaWM7fSN2ZXJzaW9ue2ZvbnQtc2l6ZTo2NyU7Y29sb3I6cmVkO30jc2NoZW1he21hcmdpbi1sZWZ0OjYwcHg7cG9zaXRpb246cmVsYXRpdmU7fSNzY2hlbWEgLnRhYmxle2JvcmRlcjoxcHggc29saWQgc2lsdmVyO3BhZGRpbmc6MCAycHg7Y3Vyc29yOm1vdmU7cG9zaXRpb246YWJzb2x1dGU7fSNzY2hlbWEgLnJlZmVyZW5jZXN7cG9zaXRpb246YWJzb2x1dGU7fS5ydGwgaDJ7bWFyZ2luOjAgLTE4cHggMjBweCAwO30ucnRsIHAsLnJ0bCB0YWJsZSwucnRsIC5lcnJvciwucnRsIC5tZXNzYWdle21hcmdpbjoxZW0gMCAwIDIwcHg7fS5ydGwgI2NvbnRlbnR7bWFyZ2luOjJlbSAyMWVtIDAgMDtwYWRkaW5nOjEwcHggMCAyMHB4IDIwcHg7fS5ydGwgI2JyZWFkY3J1bWJ7bGVmdDphdXRvO3JpZ2h0OjIxZW07bWFyZ2luOjAgLTE4cHggMCAwO30ucnRsICNsYW5nLC5ydGwgI21lbnV7bGVmdDphdXRvO3JpZ2h0OjA7fUBtZWRpYSBwcmludHsjbGFuZywjbWVudXtkaXNwbGF5Om5vbmU7fSNjb250ZW50e21hcmdpbi1sZWZ0OjFlbTt9I2JyZWFkY3J1bWJ7bGVmdDoxZW07fS5ub3dyYXAgdGQsLm5vd3JhcCB0aCx0ZC5ub3dyYXB7d2hpdGUtc3BhY2U6bm9ybWFsO319Jzt9ZWxzZWlmKCRfR0VUWyJmaWxlIl09PSJmdW5jdGlvbnMuanMiKXtoZWFkZXIoIkNvbnRlbnQtVHlwZTogdGV4dC9qYXZhc2NyaXB0OyBjaGFyc2V0PXV0Zi04Iik7Pz4KZnVuY3Rpb24gdG9nZ2xlKGlkKXt2YXIgZWw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO2VsLmNsYXNzTmFtZT0oZWwuY2xhc3NOYW1lPT0naGlkZGVuJz8nJzonaGlkZGVuJyk7cmV0dXJuIHRydWU7fQpmdW5jdGlvbiBjb29raWUoYXNzaWduLGRheXMpe3ZhciBkYXRlPW5ldyBEYXRlKCk7ZGF0ZS5zZXREYXRlKGRhdGUuZ2V0RGF0ZSgpK2RheXMpO2RvY3VtZW50LmNvb2tpZT1hc3NpZ24rJzsgZXhwaXJlcz0nK2RhdGU7fQpmdW5jdGlvbiB2ZXJpZnlWZXJzaW9uKCl7Y29va2llKCdhZG1pbmVyX3ZlcnNpb249MCcsMSk7dmFyIHNjcmlwdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtzY3JpcHQuc3JjPWxvY2F0aW9uLnByb3RvY29sKycvL3d3dy5hZG1pbmVyLm9yZy92ZXJzaW9uLnBocCc7ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzY3JpcHQpO30KZnVuY3Rpb24gc2VsZWN0VmFsdWUoc2VsZWN0KXt2YXIgc2VsZWN0ZWQ9c2VsZWN0Lm9wdGlvbnNbc2VsZWN0LnNlbGVjdGVkSW5kZXhdO3JldHVybigoc2VsZWN0ZWQuYXR0cmlidXRlcy52YWx1ZXx8e30pLnNwZWNpZmllZD9zZWxlY3RlZC52YWx1ZTpzZWxlY3RlZC50ZXh0KTt9CmZ1bmN0aW9uIHRyQ2hlY2soZWwpe3ZhciB0cj1lbC5wYXJlbnROb2RlLnBhcmVudE5vZGU7dHIuY2xhc3NOYW1lPXRyLmNsYXNzTmFtZS5yZXBsYWNlKC8oXnxccyljaGVja2VkKFxzfCQpLywnJDInKSsoZWwuY2hlY2tlZD8nIGNoZWNrZWQnOicnKTt9CmZ1bmN0aW9uIGZvcm1DaGVjayhlbCxuYW1lKXt2YXIgZWxlbXM9ZWwuZm9ybS5lbGVtZW50cztmb3IodmFyIGk9MDtpPGVsZW1zLmxlbmd0aDtpKyspe2lmKG5hbWUudGVzdChlbGVtc1tpXS5uYW1lKSl7ZWxlbXNbaV0uY2hlY2tlZD1lbC5jaGVja2VkO3RyQ2hlY2soZWxlbXNbaV0pO319fQpmdW5jdGlvbiB0YWJsZUNoZWNrKCl7dmFyIHRhYmxlcz1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgndGFibGUnKTtmb3IodmFyIGk9MDtpPHRhYmxlcy5sZW5ndGg7aSsrKXtpZigvKF58XHMpY2hlY2thYmxlKFxzfCQpLy50ZXN0KHRhYmxlc1tpXS5jbGFzc05hbWUpKXt2YXIgdHJzPXRhYmxlc1tpXS5nZXRFbGVtZW50c0J5VGFnTmFtZSgndHInKTtmb3IodmFyIGo9MDtqPHRycy5sZW5ndGg7aisrKXt0ckNoZWNrKHRyc1tqXS5maXJzdENoaWxkLmZpcnN0Q2hpbGQpO319fX0KZnVuY3Rpb24gZm9ybVVuY2hlY2soaWQpe3ZhciBlbD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7ZWwuY2hlY2tlZD1mYWxzZTt0ckNoZWNrKGVsKTt9CmZ1bmN0aW9uIGZvcm1DaGVja2VkKGVsLG5hbWUpe3ZhciBjaGVja2VkPTA7dmFyIGVsZW1zPWVsLmZvcm0uZWxlbWVudHM7Zm9yKHZhciBpPTA7aTxlbGVtcy5sZW5ndGg7aSsrKXtpZihuYW1lLnRlc3QoZWxlbXNbaV0ubmFtZSkmJmVsZW1zW2ldLmNoZWNrZWQpe2NoZWNrZWQrKzt9fQpyZXR1cm4gY2hlY2tlZDt9CmZ1bmN0aW9uIHRhYmxlQ2xpY2soZXZlbnQpe3ZhciBjbGljaz10cnVlO3ZhciBlbD1ldmVudC50YXJnZXR8fGV2ZW50LnNyY0VsZW1lbnQ7d2hpbGUoIS9edHIkL2kudGVzdChlbC50YWdOYW1lKSl7aWYoL150YWJsZSQvaS50ZXN0KGVsLnRhZ05hbWUpKXtyZXR1cm47fQppZigvXihhfGlucHV0fHRleHRhcmVhKSQvaS50ZXN0KGVsLnRhZ05hbWUpKXtjbGljaz1mYWxzZTt9CmVsPWVsLnBhcmVudE5vZGU7fQplbD1lbC5maXJzdENoaWxkLmZpcnN0Q2hpbGQ7aWYoY2xpY2spe2VsLmNsaWNrJiZlbC5jbGljaygpO2VsLm9uY2xpY2smJmVsLm9uY2xpY2soKTt9CnRyQ2hlY2soZWwpO30KZnVuY3Rpb24gc2V0SHRtbChpZCxodG1sKXt2YXIgZWw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO2lmKGVsKXtpZihodG1sPT11bmRlZmluZWQpe2VsLnBhcmVudE5vZGUuaW5uZXJIVE1MPScmbmJzcDsnO31lbHNle2VsLmlubmVySFRNTD1odG1sO319fQpmdW5jdGlvbiBub2RlUG9zaXRpb24oZWwpe3ZhciBwb3M9MDt3aGlsZShlbD1lbC5wcmV2aW91c1NpYmxpbmcpe3BvcysrO30KcmV0dXJuIHBvczt9CmZ1bmN0aW9uIHBhZ2VDbGljayhocmVmLHBhZ2UsZXZlbnQpe2lmKCFpc05hTihwYWdlKSYmcGFnZSl7aHJlZis9KHBhZ2UhPTE/JyZwYWdlPScrKHBhZ2UtMSk6JycpO2lmKCFhamF4U2VuZChocmVmKSl7bG9jYXRpb24uaHJlZj1ocmVmO319fQpmdW5jdGlvbiBzZWxlY3RBZGRSb3coZmllbGQpe2ZpZWxkLm9uY2hhbmdlPWZ1bmN0aW9uKCl7fTt2YXIgcm93PWZpZWxkLnBhcmVudE5vZGUuY2xvbmVOb2RlKHRydWUpO3ZhciBzZWxlY3RzPXJvdy5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2VsZWN0Jyk7Zm9yKHZhciBpPTA7aTxzZWxlY3RzLmxlbmd0aDtpKyspe3NlbGVjdHNbaV0ubmFtZT1zZWxlY3RzW2ldLm5hbWUucmVwbGFjZSgvW2Etel1cW1xkKy8sJyQmMScpO3NlbGVjdHNbaV0uc2VsZWN0ZWRJbmRleD0wO30KdmFyIGlucHV0cz1yb3cuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2lucHV0Jyk7aWYoaW5wdXRzLmxlbmd0aCl7aW5wdXRzWzBdLm5hbWU9aW5wdXRzWzBdLm5hbWUucmVwbGFjZSgvW2Etel1cW1xkKy8sJyQmMScpO2lucHV0c1swXS52YWx1ZT0nJztpbnB1dHNbMF0uY2xhc3NOYW1lPScnO30KZmllbGQucGFyZW50Tm9kZS5wYXJlbnROb2RlLmFwcGVuZENoaWxkKHJvdyk7fQpmdW5jdGlvbiBib2R5S2V5ZG93bihldmVudCxidXR0b24pe3ZhciB0YXJnZXQ9ZXZlbnQudGFyZ2V0fHxldmVudC5zcmNFbGVtZW50O2lmKGV2ZW50LmN0cmxLZXkmJihldmVudC5rZXlDb2RlPT0xM3x8ZXZlbnQua2V5Q29kZT09MTApJiYhZXZlbnQuYWx0S2V5JiYhZXZlbnQubWV0YUtleSYmL3NlbGVjdHx0ZXh0YXJlYXxpbnB1dC9pLnRlc3QodGFyZ2V0LnRhZ05hbWUpKXt0YXJnZXQuYmx1cigpO2lmKCFhamF4Rm9ybSh0YXJnZXQuZm9ybSwoYnV0dG9uP2J1dHRvbisnPTEnOicnKSkpe2lmKGJ1dHRvbil7dGFyZ2V0LmZvcm1bYnV0dG9uXS5jbGljaygpO31lbHNle3RhcmdldC5mb3JtLnN1Ym1pdCgpO319CnJldHVybiBmYWxzZTt9CnJldHVybiB0cnVlO30KZnVuY3Rpb24gZWRpdGluZ0tleWRvd24oZXZlbnQpe2lmKChldmVudC5rZXlDb2RlPT00MHx8ZXZlbnQua2V5Q29kZT09MzgpJiZldmVudC5jdHJsS2V5JiYhZXZlbnQuYWx0S2V5JiYhZXZlbnQubWV0YUtleSl7dmFyIHRhcmdldD1ldmVudC50YXJnZXR8fGV2ZW50LnNyY0VsZW1lbnQ7dmFyIHNpYmxpbmc9KGV2ZW50LmtleUNvZGU9PTQwPyduZXh0U2libGluZyc6J3ByZXZpb3VzU2libGluZycpO3ZhciBlbD10YXJnZXQucGFyZW50Tm9kZS5wYXJlbnROb2RlW3NpYmxpbmddO2lmKGVsJiYoL150ciQvaS50ZXN0KGVsLnRhZ05hbWUpfHwoZWw9ZWxbc2libGluZ10pKSYmL150ciQvaS50ZXN0KGVsLnRhZ05hbWUpJiYoZWw9ZWwuY2hpbGROb2Rlc1tub2RlUG9zaXRpb24odGFyZ2V0LnBhcmVudE5vZGUpXSkmJihlbD1lbC5jaGlsZE5vZGVzW25vZGVQb3NpdGlvbih0YXJnZXQpXSkpe2VsLmZvY3VzKCk7fQpyZXR1cm4gZmFsc2U7fQppZihldmVudC5zaGlmdEtleSYmIWJvZHlLZXlkb3duKGV2ZW50LCdpbnNlcnQnKSl7ZXZlbnRTdG9wKGV2ZW50KTtyZXR1cm4gZmFsc2U7fQpyZXR1cm4gdHJ1ZTt9CmZ1bmN0aW9uIGZ1bmN0aW9uQ2hhbmdlKHNlbGVjdCl7dmFyIGlucHV0PXNlbGVjdC5mb3JtW3NlbGVjdC5uYW1lLnJlcGxhY2UoL15mdW5jdGlvbi8sJ2ZpZWxkcycpXTtpZihzZWxlY3RWYWx1ZShzZWxlY3QpKXtpZihpbnB1dC5vcmlnTWF4TGVuZ3RoPT09dW5kZWZpbmVkKXtpbnB1dC5vcmlnTWF4TGVuZ3RoPWlucHV0Lm1heExlbmd0aDt9CmlucHV0LnJlbW92ZUF0dHJpYnV0ZSgnbWF4bGVuZ3RoJyk7fWVsc2UgaWYoaW5wdXQub3JpZ01heExlbmd0aD49MCl7aW5wdXQubWF4TGVuZ3RoPWlucHV0Lm9yaWdNYXhMZW5ndGg7fX0KZnVuY3Rpb24gYWpheCh1cmwsY2FsbGJhY2ssZGF0YSl7dmFyIHhtbGh0dHA9KHdpbmRvdy5YTUxIdHRwUmVxdWVzdD9uZXcgWE1MSHR0cFJlcXVlc3QoKTood2luZG93LkFjdGl2ZVhPYmplY3Q/bmV3IEFjdGl2ZVhPYmplY3QoJ01pY3Jvc29mdC5YTUxIVFRQJyk6ZmFsc2UpKTtpZih4bWxodHRwKXt4bWxodHRwLm9wZW4oKGRhdGE/J1BPU1QnOidHRVQnKSx1cmwpO2lmKGRhdGEpe3htbGh0dHAuc2V0UmVxdWVzdEhlYWRlcignQ29udGVudC1UeXBlJywnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJyk7fQp4bWxodHRwLnNldFJlcXVlc3RIZWFkZXIoJ1gtUmVxdWVzdGVkLVdpdGgnLCdYTUxIdHRwUmVxdWVzdCcpO3htbGh0dHAub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7aWYoeG1saHR0cC5yZWFkeVN0YXRlPT00KXtjYWxsYmFjayh4bWxodHRwKTt9fTt4bWxodHRwLnNlbmQoZGF0YSk7fQpyZXR1cm4geG1saHR0cDt9CmZ1bmN0aW9uIGFqYXhTZXRIdG1sKHVybCl7cmV0dXJuIGFqYXgodXJsLGZ1bmN0aW9uKHhtbGh0dHApe2lmKHhtbGh0dHAuc3RhdHVzKXt2YXIgZGF0YT1ldmFsKCcoJyt4bWxodHRwLnJlc3BvbnNlVGV4dCsnKScpO2Zvcih2YXIga2V5IGluIGRhdGEpe3NldEh0bWwoa2V5LGRhdGFba2V5XSk7fX19KTt9CnZhciBvcmlnaW5hbEZhdmljb247ZnVuY3Rpb24gcmVwbGFjZUZhdmljb24oaHJlZil7dmFyIGZhdmljb249ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Zhdmljb24nKTtpZihmYXZpY29uKXtmYXZpY29uLmhyZWY9aHJlZjtmYXZpY29uLnBhcmVudE5vZGUuYXBwZW5kQ2hpbGQoZmF2aWNvbik7fX0KdmFyIGFqYXhTdGF0ZT0wO2Z1bmN0aW9uIGFqYXhTZW5kKHVybCxkYXRhLHBvcFN0YXRlLG5vc2Nyb2xsKXtpZighaGlzdG9yeS5wdXNoU3RhdGUpe3JldHVybiBmYWxzZTt9CnZhciBjdXJyZW50U3RhdGU9KythamF4U3RhdGU7b25ibHVyPWZ1bmN0aW9uKCl7aWYoIW9yaWdpbmFsRmF2aWNvbil7b3JpZ2luYWxGYXZpY29uPShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZmF2aWNvbicpfHx7fSkuaHJlZjt9CnJlcGxhY2VGYXZpY29uKGxvY2F0aW9uLnBhdGhuYW1lKyc/ZmlsZT1sb2FkZXIuZ2lmJmFtcDt2ZXJzaW9uPTMuMy4zJyk7fTtzZXRIdG1sKCdsb2FkZXInLCc8aW1nIHNyYz0iJytsb2NhdGlvbi5wYXRobmFtZSsnP2ZpbGU9bG9hZGVyLmdpZiZhbXA7dmVyc2lvbj0zLjMuMyIgYWx0PSIiPicpO3JldHVybiBhamF4KHVybCxmdW5jdGlvbih4bWxodHRwKXtpZihjdXJyZW50U3RhdGU9PWFqYXhTdGF0ZSl7dmFyIHRpdGxlPXhtbGh0dHAuZ2V0UmVzcG9uc2VIZWFkZXIoJ1gtQUpBWC1UaXRsZScpO2lmKHRpdGxlKXtkb2N1bWVudC50aXRsZT1kZWNvZGVVUklDb21wb25lbnQodGl0bGUpO30KdmFyIHJlZGlyZWN0PXhtbGh0dHAuZ2V0UmVzcG9uc2VIZWFkZXIoJ1gtQUpBWC1SZWRpcmVjdCcpO2lmKHJlZGlyZWN0KXtyZXR1cm4gYWpheFNlbmQocmVkaXJlY3QsJycscG9wU3RhdGUpO30Kb25ibHVyPWZ1bmN0aW9uKCl7fTtpZihvcmlnaW5hbEZhdmljb24pe3JlcGxhY2VGYXZpY29uKG9yaWdpbmFsRmF2aWNvbik7fQppZigheG1saHR0cC5zdGF0dXMpe3NldEh0bWwoJ2xvYWRlcicsJycpO31lbHNle2lmKCFwb3BTdGF0ZSl7aWYoZGF0YXx8dXJsIT1sb2NhdGlvbi5ocmVmKXtoaXN0b3J5LnB1c2hTdGF0ZShkYXRhLCcnLHVybCk7fX0KaWYoIW5vc2Nyb2xsJiYhLyZvcmRlci8udGVzdCh1cmwpKXtzY3JvbGxUbygwLDApO30Kc2V0SHRtbCgnY29udGVudCcseG1saHR0cC5yZXNwb25zZVRleHQpO3ZhciBjb250ZW50PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb250ZW50Jyk7dmFyIHNjcmlwdHM9Y29udGVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2NyaXB0Jyk7dmFyIGxlbmd0aD1zY3JpcHRzLmxlbmd0aDtmb3IodmFyIGk9MDtpPGxlbmd0aDtpKyspe3ZhciBzY3JpcHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7c2NyaXB0LnRleHQ9c2NyaXB0c1tpXS50ZXh0O2NvbnRlbnQuYXBwZW5kQ2hpbGQoc2NyaXB0KTt9CnZhciBhcz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbWVudScpLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdhJyk7dmFyIGhyZWY9bG9jYXRpb24uaHJlZi5yZXBsYWNlKC8oJihzcWw9fGR1bXA9fChzZWxlY3R8dGFibGUpPVteJl0qKSkuKi8sJyQxJyk7Zm9yKHZhciBpPTA7aTxhcy5sZW5ndGg7aSsrKXthc1tpXS5jbGFzc05hbWU9KGhyZWY9PWFzW2ldLmhyZWY/J2FjdGl2ZSc6JycpO30KdmFyIGR1bXA9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2R1bXAnKTtpZihkdW1wKXt2YXIgbWF0Y2g9LyYoc2VsZWN0fHRhYmxlKT0oW14mXSspLy5leGVjKGhyZWYpO2R1bXAuaHJlZj1kdW1wLmhyZWYucmVwbGFjZSgvW149XSskLywnJykrKG1hdGNoP21hdGNoWzJdOicnKTt9CmlmKHdpbmRvdy5qdXNoKXtqdXNoLmhpZ2hsaWdodF90YWcoJ2NvZGUnLDApO319fX0sZGF0YSk7fQpvbnBvcHN0YXRlPWZ1bmN0aW9uKGV2ZW50KXtpZigoYWpheFN0YXRlfHxldmVudC5zdGF0ZSkmJiEvIy8udGVzdChsb2NhdGlvbi5ocmVmKSl7YWpheFNlbmQobG9jYXRpb24uaHJlZiwoZXZlbnQuc3RhdGUmJmNvbmZpcm0oYXJlWW91U3VyZSk/ZXZlbnQuc3RhdGU6JycpLDEpO31lbHNle2FqYXhTdGF0ZSsrO319O2Z1bmN0aW9uIGFqYXhGb3JtKGZvcm0sZGF0YSxub3Njcm9sbCl7aWYoKC8mKGRhdGFiYXNlfHNjaGVtZXxjcmVhdGV8dmlld3xzcWx8dXNlcnxkdW1wfGNhbGwpPS8udGVzdChsb2NhdGlvbi5ocmVmKSYmIS9cLi8udGVzdChkYXRhKSl8fChmb3JtLm9uc3VibWl0JiZmb3JtLm9uc3VibWl0KCk9PT1mYWxzZSkpe3JldHVybiBmYWxzZTt9CnZhciBwYXJhbXM9W107Zm9yKHZhciBpPTA7aTxmb3JtLmVsZW1lbnRzLmxlbmd0aDtpKyspe3ZhciBlbD1mb3JtLmVsZW1lbnRzW2ldO2lmKC9maWxlL2kudGVzdChlbC50eXBlKSYmZWwudmFsdWUpe3JldHVybiBmYWxzZTt9ZWxzZSBpZihlbC5uYW1lJiYoIS9jaGVja2JveHxyYWRpb3xzdWJtaXR8ZmlsZS9pLnRlc3QoZWwudHlwZSl8fGVsLmNoZWNrZWQpKXtwYXJhbXMucHVzaChlbmNvZGVVUklDb21wb25lbnQoZWwubmFtZSkrJz0nK2VuY29kZVVSSUNvbXBvbmVudCgvc2VsZWN0L2kudGVzdChlbC50YWdOYW1lKT9zZWxlY3RWYWx1ZShlbCk6ZWwudmFsdWUpKTt9fQppZihkYXRhKXtwYXJhbXMucHVzaChkYXRhKTt9CmlmKGZvcm0ubWV0aG9kPT0ncG9zdCcpe3JldHVybiBhamF4U2VuZCgoL1w/Ly50ZXN0KGZvcm0uYWN0aW9uKT9mb3JtLmFjdGlvbjpsb2NhdGlvbi5ocmVmKSxwYXJhbXMuam9pbignJicpLGZhbHNlLG5vc2Nyb2xsKTt9CnJldHVybiBhamF4U2VuZCgoZm9ybS5hY3Rpb258fGxvY2F0aW9uLmhyZWYpLnJlcGxhY2UoL1w/LiovLCcnKSsnPycrcGFyYW1zLmpvaW4oJyYnKSwnJyxmYWxzZSxub3Njcm9sbCk7fQpmdW5jdGlvbiBzZWxlY3REYmxDbGljayh0ZCxldmVudCx0ZXh0KXtpZigvaW5wdXR8dGV4dGFyZWEvaS50ZXN0KHRkLmZpcnN0Q2hpbGQudGFnTmFtZSkpe3JldHVybjt9CnZhciBvcmlnaW5hbD10ZC5pbm5lckhUTUw7dmFyIGlucHV0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGV4dD8ndGV4dGFyZWEnOidpbnB1dCcpO2lucHV0Lm9ua2V5ZG93bj1mdW5jdGlvbihldmVudCl7aWYoIWV2ZW50KXtldmVudD13aW5kb3cuZXZlbnQ7fQppZihldmVudC5rZXlDb2RlPT0yNyYmIShldmVudC5jdHJsS2V5fHxldmVudC5zaGlmdEtleXx8ZXZlbnQuYWx0S2V5fHxldmVudC5tZXRhS2V5KSl7dGQuaW5uZXJIVE1MPW9yaWdpbmFsO319O3ZhciBwb3M9ZXZlbnQucmFuZ2VPZmZzZXQ7dmFyIHZhbHVlPXRkLmZpcnN0Q2hpbGQuYWx0fHx0ZC50ZXh0Q29udGVudHx8dGQuaW5uZXJUZXh0O2lucHV0LnN0eWxlLndpZHRoPU1hdGgubWF4KHRkLmNsaWVudFdpZHRoLTE0LDIwKSsncHgnO2lmKHRleHQpe3ZhciByb3dzPTE7dmFsdWUucmVwbGFjZSgvXG4vZyxmdW5jdGlvbigpe3Jvd3MrKzt9KTtpbnB1dC5yb3dzPXJvd3M7fQppZih2YWx1ZT09J1x1MDBBMCd8fHRkLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdpJykubGVuZ3RoKXt2YWx1ZT0nJzt9CmlmKGRvY3VtZW50LnNlbGVjdGlvbil7dmFyIHJhbmdlPWRvY3VtZW50LnNlbGVjdGlvbi5jcmVhdGVSYW5nZSgpO3JhbmdlLm1vdmVUb1BvaW50KGV2ZW50LmNsaWVudFgsZXZlbnQuY2xpZW50WSk7dmFyIHJhbmdlMj1yYW5nZS5kdXBsaWNhdGUoKTtyYW5nZTIubW92ZVRvRWxlbWVudFRleHQodGQpO3JhbmdlMi5zZXRFbmRQb2ludCgnRW5kVG9FbmQnLHJhbmdlKTtwb3M9cmFuZ2UyLnRleHQubGVuZ3RoO30KdGQuaW5uZXJIVE1MPScnO3RkLmFwcGVuZENoaWxkKGlucHV0KTtpbnB1dC5mb2N1cygpO2lmKHRleHQ9PTIpe3JldHVybiBhamF4KGxvY2F0aW9uLmhyZWYrJyYnK2VuY29kZVVSSUNvbXBvbmVudCh0ZC5pZCkrJz0nLGZ1bmN0aW9uKHhtbGh0dHApe2lmKHhtbGh0dHAuc3RhdHVzKXtpbnB1dC52YWx1ZT14bWxodHRwLnJlc3BvbnNlVGV4dDtpbnB1dC5uYW1lPXRkLmlkO319KTt9CmlucHV0LnZhbHVlPXZhbHVlO2lucHV0Lm5hbWU9dGQuaWQ7aW5wdXQuc2VsZWN0aW9uU3RhcnQ9cG9zO2lucHV0LnNlbGVjdGlvbkVuZD1wb3M7aWYoZG9jdW1lbnQuc2VsZWN0aW9uKXt2YXIgcmFuZ2U9ZG9jdW1lbnQuc2VsZWN0aW9uLmNyZWF0ZVJhbmdlKCk7cmFuZ2UubW92ZUVuZCgnY2hhcmFjdGVyJywtaW5wdXQudmFsdWUubGVuZ3RoK3Bvcyk7cmFuZ2Uuc2VsZWN0KCk7fX0KZnVuY3Rpb24gYm9keUNsaWNrKGV2ZW50LGRiLG5zKXtpZihldmVudC5idXR0b258fGV2ZW50LmN0cmxLZXl8fGV2ZW50LnNoaWZ0S2V5fHxldmVudC5hbHRLZXl8fGV2ZW50Lm1ldGFLZXkpe3JldHVybjt9CmlmKGV2ZW50LmdldFByZXZlbnREZWZhdWx0P2V2ZW50LmdldFByZXZlbnREZWZhdWx0KCk6ZXZlbnQucmV0dXJuVmFsdWU9PT1mYWxzZXx8ZXZlbnQuZGVmYXVsdFByZXZlbnRlZCl7cmV0dXJuIGZhbHNlO30KdmFyIGVsPWV2ZW50LnRhcmdldHx8ZXZlbnQuc3JjRWxlbWVudDtpZigvXmEkL2kudGVzdChlbC5wYXJlbnROb2RlLnRhZ05hbWUpKXtlbD1lbC5wYXJlbnROb2RlO30KaWYoL15hJC9pLnRlc3QoZWwudGFnTmFtZSkmJiEvOnwjfCZkb3dubG9hZD0vaS50ZXN0KGVsLmdldEF0dHJpYnV0ZSgnaHJlZicpKSYmL1smP111c2VybmFtZT0vLnRlc3QoZWwuaHJlZikpe3ZhciBtYXRjaD0vJmRiPShbXiZdKikvLmV4ZWMoZWwuaHJlZik7dmFyIG1hdGNoMj0vJm5zPShbXiZdKikvLmV4ZWMoZWwuaHJlZik7cmV0dXJuIShkYj09KG1hdGNoP21hdGNoWzFdOicnKSYmbnM9PShtYXRjaDI/bWF0Y2gyWzFdOicnKSYmYWpheFNlbmQoZWwuaHJlZikpO30KaWYoL15pbnB1dCQvaS50ZXN0KGVsLnRhZ05hbWUpJiYvaW1hZ2V8c3VibWl0Ly50ZXN0KGVsLnR5cGUpKXtyZXR1cm4hYWpheEZvcm0oZWwuZm9ybSwoZWwubmFtZT9lbmNvZGVVUklDb21wb25lbnQoZWwubmFtZSkrKGVsLnR5cGU9PSdpbWFnZSc/Jy54JzonJykrJz0xJzonJyksZWwudHlwZT09J2ltYWdlJyk7fQpyZXR1cm4gdHJ1ZTt9CmZ1bmN0aW9uIGV2ZW50U3RvcChldmVudCl7aWYoZXZlbnQuc3RvcFByb3BhZ2F0aW9uKXtldmVudC5zdG9wUHJvcGFnYXRpb24oKTt9ZWxzZXtldmVudC5jYW5jZWxCdWJibGU9dHJ1ZTt9fQp2YXIganVzaFJvb3Q9bG9jYXRpb24ucHJvdG9jb2wgKyAnLy93d3cuYWRtaW5lci5vcmcvc3RhdGljLyc7ZnVuY3Rpb24gYm9keUxvYWQodmVyc2lvbil7aWYoaGlzdG9yeS5zdGF0ZSE9PXVuZGVmaW5lZCl7b25wb3BzdGF0ZShoaXN0b3J5KTt9CmlmKGp1c2hSb290KXt2YXIgc2NyaXB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO3NjcmlwdC5zcmM9anVzaFJvb3QrJ2p1c2guanMnO3NjcmlwdC5vbmxvYWQ9ZnVuY3Rpb24oKXtpZih3aW5kb3cuanVzaCl7anVzaC5jcmVhdGVfbGlua3M9JyB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub3JlZmVycmVyIic7anVzaC51cmxzLnNxbF9zcWxzZXQ9anVzaC51cmxzLnNxbFswXT1qdXNoLnVybHMuc3Fsc2V0WzBdPWp1c2gudXJscy5zcWxzdGF0dXNbMF09J2h0dHA6Ly9kZXYubXlzcWwuY29tL2RvYy9yZWZtYW4vJyt2ZXJzaW9uKycvZW4vJGtleSc7dmFyIHBnc3FsPSdodHRwOi8vd3d3LnBvc3RncmVzcWwub3JnL2RvY3MvJyt2ZXJzaW9uKycvc3RhdGljLyc7anVzaC51cmxzLnBnc3FsX3Bnc3Fsc2V0PWp1c2gudXJscy5wZ3NxbFswXT1wZ3NxbCsnJGtleSc7anVzaC51cmxzLnBnc3Fsc2V0WzBdPXBnc3FsKydydW50aW1lLWNvbmZpZy0ka2V5Lmh0bWwjR1VDLSQxJztqdXNoLnN0eWxlKGp1c2hSb290KydqdXNoLmNzcycpO2lmKHdpbmRvdy5qdXNoTGlua3Mpe2p1c2guY3VzdG9tX2xpbmtzPWp1c2hMaW5rczt9Cmp1c2guaGlnaGxpZ2h0X3RhZygnY29kZScsMCk7fX07c2NyaXB0Lm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigpe2lmKC9eKGxvYWRlZHxjb21wbGV0ZSkkLy50ZXN0KHNjcmlwdC5yZWFkeVN0YXRlKSl7c2NyaXB0Lm9ubG9hZCgpO319O2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2NyaXB0KTt9fQpmdW5jdGlvbiBmb3JtRmllbGQoZm9ybSxuYW1lKXtmb3IodmFyIGk9MDtpPGZvcm0ubGVuZ3RoO2krKyl7aWYoZm9ybVtpXS5uYW1lPT1uYW1lKXtyZXR1cm4gZm9ybVtpXTt9fX0KZnVuY3Rpb24gdHlwZVBhc3N3b3JkKGVsLGRpc2FibGUpe3RyeXtlbC50eXBlPShkaXNhYmxlPyd0ZXh0JzoncGFzc3dvcmQnKTt9Y2F0Y2goZSl7fX0KZnVuY3Rpb24gbG9naW5Ecml2ZXIoZHJpdmVyKXt2YXIgdHJzPWRyaXZlci5wYXJlbnROb2RlLnBhcmVudE5vZGUucGFyZW50Tm9kZS5yb3dzO2Zvcih2YXIgaT0xO2k8dHJzLmxlbmd0aDtpKyspe3Ryc1tpXS5jbGFzc05hbWU9KC9zcWxpdGUvLnRlc3QoZHJpdmVyLnZhbHVlKT8naGlkZGVuJzonJyk7fX0KZnVuY3Rpb24gdGV4dGFyZWFLZXlkb3duKHRhcmdldCxldmVudCl7aWYoIWV2ZW50LnNoaWZ0S2V5JiYhZXZlbnQuYWx0S2V5JiYhZXZlbnQuY3RybEtleSYmIWV2ZW50Lm1ldGFLZXkpe2lmKGV2ZW50LmtleUNvZGU9PTkpe2lmKHRhcmdldC5zZXRTZWxlY3Rpb25SYW5nZSl7dmFyIHN0YXJ0PXRhcmdldC5zZWxlY3Rpb25TdGFydDt2YXIgc2Nyb2xsZWQ9dGFyZ2V0LnNjcm9sbFRvcDt0YXJnZXQudmFsdWU9dGFyZ2V0LnZhbHVlLnN1YnN0cigwLHN0YXJ0KSsnXHQnK3RhcmdldC52YWx1ZS5zdWJzdHIodGFyZ2V0LnNlbGVjdGlvbkVuZCk7dGFyZ2V0LnNldFNlbGVjdGlvblJhbmdlKHN0YXJ0KzEsc3RhcnQrMSk7dGFyZ2V0LnNjcm9sbFRvcD1zY3JvbGxlZDtyZXR1cm4gZmFsc2U7fWVsc2UgaWYodGFyZ2V0LmNyZWF0ZVRleHRSYW5nZSl7ZG9jdW1lbnQuc2VsZWN0aW9uLmNyZWF0ZVJhbmdlKCkudGV4dD0nXHQnO3JldHVybiBmYWxzZTt9fQppZihldmVudC5rZXlDb2RlPT0yNyl7dmFyIGVscz10YXJnZXQuZm9ybS5lbGVtZW50cztmb3IodmFyIGk9MTtpPGVscy5sZW5ndGg7aSsrKXtpZihlbHNbaS0xXT09dGFyZ2V0KXtlbHNbaV0uZm9jdXMoKTticmVhazt9fQpyZXR1cm4gZmFsc2U7fX0KcmV0dXJuIHRydWU7fQp2YXIgYWRkZWQ9Jy4nLHJvd0NvdW50O2Z1bmN0aW9uIGRlbGltaXRlckVxdWFsKHZhbCxhLGIpe3JldHVybih2YWw9PWErJ18nK2J8fHZhbD09YStifHx2YWw9PWErYi5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStiLnN1YnN0cigxKSk7fQpmdW5jdGlvbiBpZGZFc2NhcGUocyl7cmV0dXJuIHMucmVwbGFjZSgvYC8sJ2BgJyk7fQpmdW5jdGlvbiBlZGl0aW5nTmFtZUNoYW5nZShmaWVsZCl7dmFyIG5hbWU9ZmllbGQubmFtZS5zdWJzdHIoMCxmaWVsZC5uYW1lLmxlbmd0aC03KTt2YXIgdHlwZT1mb3JtRmllbGQoZmllbGQuZm9ybSxuYW1lKydbdHlwZV0nKTt2YXIgb3B0cz10eXBlLm9wdGlvbnM7dmFyIGNhbmRpZGF0ZTt2YXIgdmFsPWZpZWxkLnZhbHVlO2Zvcih2YXIgaT1vcHRzLmxlbmd0aDtpLS07KXt2YXIgbWF0Y2g9LyguKylgKC4rKS8uZXhlYyhvcHRzW2ldLnZhbHVlKTtpZighbWF0Y2gpe2lmKGNhbmRpZGF0ZSYmaT09b3B0cy5sZW5ndGgtMiYmdmFsPT1vcHRzW2NhbmRpZGF0ZV0udmFsdWUucmVwbGFjZSgvLitgLywnJykmJm5hbWU9PSdmaWVsZHNbMV0nKXtyZXR1cm47fQpicmVhazt9CnZhciB0YWJsZT1tYXRjaFsxXTt2YXIgY29sdW1uPW1hdGNoWzJdO3ZhciB0YWJsZXM9W3RhYmxlLHRhYmxlLnJlcGxhY2UoL3MkLywnJyksdGFibGUucmVwbGFjZSgvZXMkLywnJyldO2Zvcih2YXIgaj0wO2o8dGFibGVzLmxlbmd0aDtqKyspe3RhYmxlPXRhYmxlc1tqXTtpZih2YWw9PWNvbHVtbnx8dmFsPT10YWJsZXx8ZGVsaW1pdGVyRXF1YWwodmFsLHRhYmxlLGNvbHVtbil8fGRlbGltaXRlckVxdWFsKHZhbCxjb2x1bW4sdGFibGUpKXtpZihjYW5kaWRhdGUpe3JldHVybjt9CmNhbmRpZGF0ZT1pO2JyZWFrO319fQppZihjYW5kaWRhdGUpe3R5cGUuc2VsZWN0ZWRJbmRleD1jYW5kaWRhdGU7dHlwZS5vbmNoYW5nZSgpO319CmZ1bmN0aW9uIGVkaXRpbmdBZGRSb3coYnV0dG9uLGFsbG93ZWQsZm9jdXMpe2lmKGFsbG93ZWQmJnJvd0NvdW50Pj1hbGxvd2VkKXtyZXR1cm4gZmFsc2U7fQp2YXIgbWF0Y2g9LyhcZCspKFwuXGQrKT8vLmV4ZWMoYnV0dG9uLm5hbWUpO3ZhciB4PW1hdGNoWzBdKyhtYXRjaFsyXT9hZGRlZC5zdWJzdHIobWF0Y2hbMl0ubGVuZ3RoKTphZGRlZCkrJzEnO3ZhciByb3c9YnV0dG9uLnBhcmVudE5vZGUucGFyZW50Tm9kZTt2YXIgcm93Mj1yb3cuY2xvbmVOb2RlKHRydWUpO3ZhciB0YWdzPXJvdy5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2VsZWN0Jyk7dmFyIHRhZ3MyPXJvdzIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NlbGVjdCcpO2Zvcih2YXIgaT0wO2k8dGFncy5sZW5ndGg7aSsrKXt0YWdzMltpXS5uYW1lPXRhZ3NbaV0ubmFtZS5yZXBsYWNlKC8oWzAtOS5dKykvLHgpO3RhZ3MyW2ldLnNlbGVjdGVkSW5kZXg9dGFnc1tpXS5zZWxlY3RlZEluZGV4O30KdGFncz1yb3cuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2lucHV0Jyk7dGFnczI9cm93Mi5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaW5wdXQnKTt2YXIgaW5wdXQ9dGFnczJbMF07Zm9yKHZhciBpPTA7aTx0YWdzLmxlbmd0aDtpKyspe2lmKHRhZ3NbaV0ubmFtZT09J2F1dG9faW5jcmVtZW50X2NvbCcpe3RhZ3MyW2ldLnZhbHVlPXg7dGFnczJbaV0uY2hlY2tlZD1mYWxzZTt9CnRhZ3MyW2ldLm5hbWU9dGFnc1tpXS5uYW1lLnJlcGxhY2UoLyhbMC05Ll0rKS8seCk7aWYoL1xbKG9yaWd8ZmllbGR8Y29tbWVudHxkZWZhdWx0KS8udGVzdCh0YWdzW2ldLm5hbWUpKXt0YWdzMltpXS52YWx1ZT0nJzt9CmlmKC9cWyhoYXNfZGVmYXVsdCkvLnRlc3QodGFnc1tpXS5uYW1lKSl7dGFnczJbaV0uY2hlY2tlZD1mYWxzZTt9fQp0YWdzWzBdLm9uY2hhbmdlPWZ1bmN0aW9uKCl7ZWRpdGluZ05hbWVDaGFuZ2UodGFnc1swXSk7fTtyb3cucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUocm93Mixyb3cubmV4dFNpYmxpbmcpO2lmKGZvY3VzKXtpbnB1dC5vbmNoYW5nZT1mdW5jdGlvbigpe2VkaXRpbmdOYW1lQ2hhbmdlKGlucHV0KTt9O2lucHV0LmZvY3VzKCk7fQphZGRlZCs9JzAnO3Jvd0NvdW50Kys7cmV0dXJuIHRydWU7fQpmdW5jdGlvbiBlZGl0aW5nUmVtb3ZlUm93KGJ1dHRvbil7dmFyIGZpZWxkPWZvcm1GaWVsZChidXR0b24uZm9ybSxidXR0b24ubmFtZS5yZXBsYWNlKC9kcm9wX2NvbCguKykvLCdmaWVsZHMkMVtmaWVsZF0nKSk7ZmllbGQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChmaWVsZCk7YnV0dG9uLnBhcmVudE5vZGUucGFyZW50Tm9kZS5zdHlsZS5kaXNwbGF5PSdub25lJztyZXR1cm4gdHJ1ZTt9CnZhciBsYXN0VHlwZT0nJztmdW5jdGlvbiBlZGl0aW5nVHlwZUNoYW5nZSh0eXBlKXt2YXIgbmFtZT10eXBlLm5hbWUuc3Vic3RyKDAsdHlwZS5uYW1lLmxlbmd0aC02KTt2YXIgdGV4dD1zZWxlY3RWYWx1ZSh0eXBlKTtmb3IodmFyIGk9MDtpPHR5cGUuZm9ybS5lbGVtZW50cy5sZW5ndGg7aSsrKXt2YXIgZWw9dHlwZS5mb3JtLmVsZW1lbnRzW2ldO2lmKGVsLm5hbWU9PW5hbWUrJ1tsZW5ndGhdJyYmISgoLyhjaGFyfGJpbmFyeSkkLy50ZXN0KGxhc3RUeXBlKSYmLyhjaGFyfGJpbmFyeSkkLy50ZXN0KHRleHQpKXx8KC8oZW51bXxzZXQpJC8udGVzdChsYXN0VHlwZSkmJi8oZW51bXxzZXQpJC8udGVzdCh0ZXh0KSkpKXtlbC52YWx1ZT0nJzt9CmlmKGxhc3RUeXBlPT0ndGltZXN0YW1wJyYmZWwubmFtZT09bmFtZSsnW2hhc19kZWZhdWx0XScmJi90aW1lc3RhbXAvaS50ZXN0KGZvcm1GaWVsZCh0eXBlLmZvcm0sbmFtZSsnW2RlZmF1bHRdJykudmFsdWUpKXtlbC5jaGVja2VkPWZhbHNlO30KaWYoZWwubmFtZT09bmFtZSsnW2NvbGxhdGlvbl0nKXtlbC5jbGFzc05hbWU9KC8oY2hhcnx0ZXh0fGVudW18c2V0KSQvLnRlc3QodGV4dCk/Jyc6J2hpZGRlbicpO30KaWYoZWwubmFtZT09bmFtZSsnW3Vuc2lnbmVkXScpe2VsLmNsYXNzTmFtZT0oLyhpbnR8ZmxvYXR8ZG91YmxlfGRlY2ltYWwpJC8udGVzdCh0ZXh0KT8nJzonaGlkZGVuJyk7fQppZihlbC5uYW1lPT1uYW1lKydbb25fZGVsZXRlXScpe2VsLmNsYXNzTmFtZT0oL2AvLnRlc3QodGV4dCk/Jyc6J2hpZGRlbicpO319fQpmdW5jdGlvbiBlZGl0aW5nTGVuZ3RoRm9jdXMoZmllbGQpe3ZhciB0ZD1maWVsZC5wYXJlbnROb2RlO2lmKC8oZW51bXxzZXQpJC8udGVzdChzZWxlY3RWYWx1ZSh0ZC5wcmV2aW91c1NpYmxpbmcuZmlyc3RDaGlsZCkpKXt2YXIgZWRpdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZW51bS1lZGl0Jyk7dmFyIHZhbD1maWVsZC52YWx1ZTtlZGl0LnZhbHVlPSgvXicuKycsJy4rJyQvLnRlc3QodmFsKT92YWwuc3Vic3RyKDEsdmFsLmxlbmd0aC0yKS5yZXBsYWNlKC8nLCcvZywiXG4iKS5yZXBsYWNlKC8nJy9nLCInIik6dmFsKTt0ZC5hcHBlbmRDaGlsZChlZGl0KTtmaWVsZC5zdHlsZS5kaXNwbGF5PSdub25lJztlZGl0LnN0eWxlLmRpc3BsYXk9J2lubGluZSc7ZWRpdC5mb2N1cygpO319CmZ1bmN0aW9uIGVkaXRpbmdMZW5ndGhCbHVyKGVkaXQpe3ZhciBmaWVsZD1lZGl0LnBhcmVudE5vZGUuZmlyc3RDaGlsZDt2YXIgdmFsPWVkaXQudmFsdWU7ZmllbGQudmFsdWU9KC9cbi8udGVzdCh2YWwpPyInIit2YWwucmVwbGFjZSgvXG4rJC8sJycpLnJlcGxhY2UoLycvZywiJyciKS5yZXBsYWNlKC9cbi9nLCInLCciKSsiJyI6dmFsKTtmaWVsZC5zdHlsZS5kaXNwbGF5PSdpbmxpbmUnO2VkaXQuc3R5bGUuZGlzcGxheT0nbm9uZSc7fQpmdW5jdGlvbiBjb2x1bW5TaG93KGNoZWNrZWQsY29sdW1uKXt2YXIgdHJzPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdlZGl0LWZpZWxkcycpLmdldEVsZW1lbnRzQnlUYWdOYW1lKCd0cicpO2Zvcih2YXIgaT0wO2k8dHJzLmxlbmd0aDtpKyspe3Ryc1tpXS5nZXRFbGVtZW50c0J5VGFnTmFtZSgndGQnKVtjb2x1bW5dLmNsYXNzTmFtZT0oY2hlY2tlZD8nJzonaGlkZGVuJyk7fX0KZnVuY3Rpb24gcGFydGl0aW9uQnlDaGFuZ2UoZWwpe3ZhciBwYXJ0aXRpb25UYWJsZT0vUkFOR0V8TElTVC8udGVzdChzZWxlY3RWYWx1ZShlbCkpO2VsLmZvcm1bJ3BhcnRpdGlvbnMnXS5jbGFzc05hbWU9KHBhcnRpdGlvblRhYmxlfHwhZWwuc2VsZWN0ZWRJbmRleD8naGlkZGVuJzonJyk7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BhcnRpdGlvbi10YWJsZScpLmNsYXNzTmFtZT0ocGFydGl0aW9uVGFibGU/Jyc6J2hpZGRlbicpO30KZnVuY3Rpb24gcGFydGl0aW9uTmFtZUNoYW5nZShlbCl7dmFyIHJvdz1lbC5wYXJlbnROb2RlLnBhcmVudE5vZGUuY2xvbmVOb2RlKHRydWUpO3Jvdy5maXJzdENoaWxkLmZpcnN0Q2hpbGQudmFsdWU9Jyc7ZWwucGFyZW50Tm9kZS5wYXJlbnROb2RlLnBhcmVudE5vZGUuYXBwZW5kQ2hpbGQocm93KTtlbC5vbmNoYW5nZT1mdW5jdGlvbigpe307fQpmdW5jdGlvbiBmb3JlaWduQWRkUm93KGZpZWxkKXtmaWVsZC5vbmNoYW5nZT1mdW5jdGlvbigpe307dmFyIHJvdz1maWVsZC5wYXJlbnROb2RlLnBhcmVudE5vZGUuY2xvbmVOb2RlKHRydWUpO3ZhciBzZWxlY3RzPXJvdy5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2VsZWN0Jyk7Zm9yKHZhciBpPTA7aTxzZWxlY3RzLmxlbmd0aDtpKyspe3NlbGVjdHNbaV0ubmFtZT1zZWxlY3RzW2ldLm5hbWUucmVwbGFjZSgvXF0vLCcxJCYnKTtzZWxlY3RzW2ldLnNlbGVjdGVkSW5kZXg9MDt9CmZpZWxkLnBhcmVudE5vZGUucGFyZW50Tm9kZS5wYXJlbnROb2RlLmFwcGVuZENoaWxkKHJvdyk7fQpmdW5jdGlvbiBpbmRleGVzQWRkUm93KGZpZWxkKXtmaWVsZC5vbmNoYW5nZT1mdW5jdGlvbigpe307dmFyIHBhcmVudD1maWVsZC5wYXJlbnROb2RlLnBhcmVudE5vZGU7dmFyIHJvdz1wYXJlbnQuY2xvbmVOb2RlKHRydWUpO3ZhciBzZWxlY3RzPXJvdy5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2VsZWN0Jyk7Zm9yKHZhciBpPTA7aTxzZWxlY3RzLmxlbmd0aDtpKyspe3NlbGVjdHNbaV0ubmFtZT1zZWxlY3RzW2ldLm5hbWUucmVwbGFjZSgvaW5kZXhlc1xbXGQrLywnJCYxJyk7c2VsZWN0c1tpXS5zZWxlY3RlZEluZGV4PTA7fQp2YXIgaW5wdXRzPXJvdy5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaW5wdXQnKTtmb3IodmFyIGk9MDtpPGlucHV0cy5sZW5ndGg7aSsrKXtpbnB1dHNbaV0ubmFtZT1pbnB1dHNbaV0ubmFtZS5yZXBsYWNlKC9pbmRleGVzXFtcZCsvLCckJjEnKTtpbnB1dHNbaV0udmFsdWU9Jyc7fQpwYXJlbnQucGFyZW50Tm9kZS5hcHBlbmRDaGlsZChyb3cpO30KZnVuY3Rpb24gaW5kZXhlc0NoYW5nZUNvbHVtbihmaWVsZCxwcmVmaXgpe3ZhciBjb2x1bW5zPWZpZWxkLnBhcmVudE5vZGUucGFyZW50Tm9kZS5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2VsZWN0Jyk7dmFyIG5hbWVzPVtdO2Zvcih2YXIgaT0wO2k8Y29sdW1ucy5sZW5ndGg7aSsrKXt2YXIgdmFsdWU9c2VsZWN0VmFsdWUoY29sdW1uc1tpXSk7aWYodmFsdWUpe25hbWVzLnB1c2godmFsdWUpO319CmZpZWxkLmZvcm1bZmllbGQubmFtZS5yZXBsYWNlKC9cXS4qLywnXVtuYW1lXScpXS52YWx1ZT1wcmVmaXgrbmFtZXMuam9pbignXycpO30KZnVuY3Rpb24gaW5kZXhlc0FkZENvbHVtbihmaWVsZCxwcmVmaXgpe2ZpZWxkLm9uY2hhbmdlPWZ1bmN0aW9uKCl7aW5kZXhlc0NoYW5nZUNvbHVtbihmaWVsZCxwcmVmaXgpO307dmFyIHNlbGVjdD1maWVsZC5mb3JtW2ZpZWxkLm5hbWUucmVwbGFjZSgvXF0uKi8sJ11bdHlwZV0nKV07aWYoIXNlbGVjdC5zZWxlY3RlZEluZGV4KXtzZWxlY3Quc2VsZWN0ZWRJbmRleD0zO3NlbGVjdC5vbmNoYW5nZSgpO30KdmFyIGNvbHVtbj1maWVsZC5wYXJlbnROb2RlLmNsb25lTm9kZSh0cnVlKTtzZWxlY3Q9Y29sdW1uLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzZWxlY3QnKVswXTtzZWxlY3QubmFtZT1zZWxlY3QubmFtZS5yZXBsYWNlKC9cXVxbXGQrLywnJCYxJyk7c2VsZWN0LnNlbGVjdGVkSW5kZXg9MDt2YXIgaW5wdXQ9Y29sdW1uLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdpbnB1dCcpWzBdO2lucHV0Lm5hbWU9aW5wdXQubmFtZS5yZXBsYWNlKC9cXVxbXGQrLywnJCYxJyk7aW5wdXQudmFsdWU9Jyc7ZmllbGQucGFyZW50Tm9kZS5wYXJlbnROb2RlLmFwcGVuZENoaWxkKGNvbHVtbik7ZmllbGQub25jaGFuZ2UoKTt9CnZhciB0aGF0LHgseSxlbSx0YWJsZVBvcztmdW5jdGlvbiBzY2hlbWFNb3VzZWRvd24oZWwsZXZlbnQpe3RoYXQ9ZWw7eD1ldmVudC5jbGllbnRYLWVsLm9mZnNldExlZnQ7eT1ldmVudC5jbGllbnRZLWVsLm9mZnNldFRvcDt9CmZ1bmN0aW9uIHNjaGVtYU1vdXNlbW92ZShldil7aWYodGhhdCE9PXVuZGVmaW5lZCl7ZXY9ZXZ8fGV2ZW50O3ZhciBsZWZ0PShldi5jbGllbnRYLXgpL2VtO3ZhciB0b3A9KGV2LmNsaWVudFkteSkvZW07dmFyIGRpdnM9dGhhdC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnZGl2Jyk7dmFyIGxpbmVTZXQ9e307Zm9yKHZhciBpPTA7aTxkaXZzLmxlbmd0aDtpKyspe2lmKGRpdnNbaV0uY2xhc3NOYW1lPT0ncmVmZXJlbmNlcycpe3ZhciBkaXYyPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKChkaXZzW2ldLmlkLnN1YnN0cigwLDQpPT0ncmVmcyc/J3JlZmQnOidyZWZzJykrZGl2c1tpXS5pZC5zdWJzdHIoNCkpO3ZhciByZWY9KHRhYmxlUG9zW2RpdnNbaV0udGl0bGVdP3RhYmxlUG9zW2RpdnNbaV0udGl0bGVdOltkaXYyLnBhcmVudE5vZGUub2Zmc2V0VG9wL2VtLDBdKTt2YXIgbGVmdDE9LTE7dmFyIGlzVG9wPXRydWU7dmFyIGlkPWRpdnNbaV0uaWQucmVwbGFjZSgvXnJlZi4oLispLS4rLywnJDEnKTtpZihkaXZzW2ldLnBhcmVudE5vZGUhPWRpdjIucGFyZW50Tm9kZSl7bGVmdDE9TWF0aC5taW4oMCxyZWZbMV0tbGVmdCktMTtkaXZzW2ldLnN0eWxlLmxlZnQ9bGVmdDErJ2VtJztkaXZzW2ldLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdkaXYnKVswXS5zdHlsZS53aWR0aD0tbGVmdDErJ2VtJzt2YXIgbGVmdDI9TWF0aC5taW4oMCxsZWZ0LXJlZlsxXSktMTtkaXYyLnN0eWxlLmxlZnQ9bGVmdDIrJ2VtJztkaXYyLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdkaXYnKVswXS5zdHlsZS53aWR0aD0tbGVmdDIrJ2VtJztpc1RvcD0oZGl2Mi5vZmZzZXRUb3ArcmVmWzBdKmVtPmRpdnNbaV0ub2Zmc2V0VG9wK3RvcCplbSk7fQppZighbGluZVNldFtpZF0pe3ZhciBsaW5lPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGRpdnNbaV0uaWQucmVwbGFjZSgvXi4uLi4oLispLVxkKyQvLCdyZWZsJDEnKSk7dmFyIHNoaWZ0PWV2LmNsaWVudFkteS10aGF0Lm9mZnNldFRvcDtsaW5lLnN0eWxlLmxlZnQ9KGxlZnQrbGVmdDEpKydlbSc7aWYoaXNUb3Ape2xpbmUuc3R5bGUudG9wPShsaW5lLm9mZnNldFRvcCtzaGlmdCkvZW0rJ2VtJzt9CmlmKGRpdnNbaV0ucGFyZW50Tm9kZSE9ZGl2Mi5wYXJlbnROb2RlKXtsaW5lPWxpbmUuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2RpdicpWzBdO2xpbmUuc3R5bGUuaGVpZ2h0PShsaW5lLm9mZnNldEhlaWdodCsoaXNUb3A/LTE6MSkqc2hpZnQpL2VtKydlbSc7fQpsaW5lU2V0W2lkXT10cnVlO319fQp0aGF0LnN0eWxlLmxlZnQ9bGVmdCsnZW0nO3RoYXQuc3R5bGUudG9wPXRvcCsnZW0nO319CmZ1bmN0aW9uIHNjaGVtYU1vdXNldXAoZXYsZGIpe2lmKHRoYXQhPT11bmRlZmluZWQpe2V2PWV2fHxldmVudDt0YWJsZVBvc1t0aGF0LmZpcnN0Q2hpbGQuZmlyc3RDaGlsZC5maXJzdENoaWxkLmRhdGFdPVsoZXYuY2xpZW50WS15KS9lbSwoZXYuY2xpZW50WC14KS9lbV07dGhhdD11bmRlZmluZWQ7dmFyIHM9Jyc7Zm9yKHZhciBrZXkgaW4gdGFibGVQb3Mpe3MrPSdfJytrZXkrJzonK01hdGgucm91bmQodGFibGVQb3Nba2V5XVswXSoxMDAwMCkvMTAwMDArJ3gnK01hdGgucm91bmQodGFibGVQb3Nba2V5XVsxXSoxMDAwMCkvMTAwMDA7fQpzPWVuY29kZVVSSUNvbXBvbmVudChzLnN1YnN0cigxKSk7dmFyIGxpbms9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NjaGVtYS1saW5rJyk7bGluay5ocmVmPWxpbmsuaHJlZi5yZXBsYWNlKC9bXj1dKyQvLCcnKStzO2Nvb2tpZSgnYWRtaW5lcl9zY2hlbWEtJytkYisnPScrcywzMCk7fX08P3BocAp9ZWxzZXtoZWFkZXIoIkNvbnRlbnQtVHlwZTogaW1hZ2UvZ2lmIik7c3dpdGNoKCRfR0VUWyJmaWxlIl0pe2Nhc2UicGx1cy5naWYiOmVjaG8KYmFzZTY0X2RlY29kZSgiUjBsR09EZGhFZ0FTQUtFQUFPN3U3Z0FBQUptWm1RQUFBQ3dBQUFBQUVnQVNBQUFDSVlTUHFjdnREMDBJOGN3cUtiNXYrcThwSUFoeGxSbWhaWWkxN2lQRThrekxCUUE3Iik7YnJlYWs7Y2FzZSJjcm9zcy5naWYiOmVjaG8KYmFzZTY0X2RlY29kZSgiUjBsR09EZGhFZ0FTQUtFQUFPN3U3Z0FBQUptWm1RQUFBQ3dBQUFBQUVnQVNBQUFDSTRTUHFjdnREeU1LWWRaR2IzNTV3eTZCWDNkaGxPRXg1N0ZLN2d0SHdrelhObDBBQURzPSIpO2JyZWFrO2Nhc2UidXAuZ2lmIjplY2hvCmJhc2U2NF9kZWNvZGUoIlIwbEdPRGRoRWdBU0FLRUFBTzd1N2dBQUFKbVptUUFBQUN3QUFBQUFFZ0FTQUFBQ0lJU1BxY3Z0RDAwSVVVNEs3MzBUOUo1aEZUaUtFWG1hWWNXMnJnREg4aHdYQURzPSIpO2JyZWFrO2Nhc2UiZG93bi5naWYiOmVjaG8KYmFzZTY0X2RlY29kZSgiUjBsR09EZGhFZ0FTQUtFQUFPN3U3Z0FBQUptWm1RQUFBQ3dBQUFBQUVnQVNBQUFDSUlTUHFjdnREMDBJOGN3cUtiNWJWLzVjb3NkTUp0bWNIY2EybFFESDhod1hBRHM9Iik7YnJlYWs7Y2FzZSJhcnJvdy5naWYiOmVjaG8KYmFzZTY0X2RlY29kZSgiUjBsR09EbGhDQUFLQUlBQUFJQ0FnUC8vL3lINUJBRUFBQUVBTEFBQUFBQUlBQW9BQUFJUEJJSnBsckdMbnBRUnF0T3kzcnNBQURzPSIpO2JyZWFrO2Nhc2UibG9hZGVyLmdpZiI6ZWNobwpiYXNlNjRfZGVjb2RlKCJSMGxHT0RsaEVBQVFBUElBQVAvLy93QUFBTUxDd2tKQ1FnQUFBR0ppWW9LQ2dwS1NraUgvQzA1RlZGTkRRVkJGTWk0d0F3RUFBQUFoL2hwRGNtVmhkR1ZrSUhkcGRHZ2dZV3BoZUd4dllXUXVhVzVtYndBaCtRUUpDZ0FBQUN3QUFBQUFFQUFRQUFBRE13aTYzUDR3eWtsckUyTUlPZ2dabkFkT21HWUpSYkV4d3JvVW1jRzJMbURFd25IUUxWc1lPZDJtQnprWURBZEthK2RJQUFBaCtRUUpDZ0FBQUN3QUFBQUFFQUFRQUFBRE5BaTYzUDVPakNFZ0c0UU11N0RtaWtSeFFsRlVZREVaSUdCTVJWc2FxSHdjdFhYZjdXRVlCNEFnMXhqaWhrTVpzaVVrS2hJQUlma0VDUW9BQUFBc0FBQUFBQkFBRUFBQUF6WUl1aklqSzhwQnlKRE1sRll2Qm9WakhBNzBHVTd4U1VKaG1LdHdIUEFLekxPOUhNYW9Ld0paN1JmOEFZUEREektwWkJxZnZ3UUFJZmtFQ1FvQUFBQXNBQUFBQUJBQUVBQUFBek1JdW1JbEs4b3locEhzbkZaZmhZdW1DWVVoREFReFJJZGhIQkdxUm9LdzBSOERZbEpkOHowZk1EZ3NHby9JcEhJNVRBQUFJZmtFQ1FvQUFBQXNBQUFBQUJBQUVBQUFBeklJdW5Jbkswcm5aQlR3R1BOTWdRd21kc05nWEdKVWxJV0V1UjVvV1VJcHo4cEFFQU1lNlR3Znd5WXNHby9JcEZLU0FBQWgrUVFKQ2dBQUFDd0FBQUFBRUFBUUFBQURNd2k2SU1LUU9SZmpkT2U4MnA0d0djY2M0Q0V1UXJhZHlsZXNvakVNQmdzVWMyRzdzRFgzbFFHQk1MQUppYnVmYlNsS0FBQWgrUVFKQ2dBQUFDd0FBQUFBRUFBUUFBQURNZ2k2M1A3d0NSSFpuRlZkbWdIdTJuRndsV0NJM1dHYzNUU1doVUZHeFRBVWtHQ2J0Z0VOQk1KQUVKc3hnTUxXenBFQUFDSDVCQWtLQUFBQUxBQUFBQUFRQUJBQUFBTXlDTHJjL2pES1NhdGxRdFNjS2RjZUNBakRJSTdIY1E0RU1UQ3B5ckN1VUJqQ1lSZ0hWdHFsQWlCMVloaUNubHNSa0FBQU93QUFBQUFBQUFBQUFBPT0iKTticmVhazt9fWV4aXQ7fWZ1bmN0aW9uCmNvbm5lY3Rpb24oKXtnbG9iYWwkZztyZXR1cm4kZzt9ZnVuY3Rpb24KYWRtaW5lcigpe2dsb2JhbCRiO3JldHVybiRiO31mdW5jdGlvbgppZGZfdW5lc2NhcGUoJHIpeyRPYz1zdWJzdHIoJHIsLTEpO3JldHVybgpzdHJfcmVwbGFjZSgkT2MuJE9jLCRPYyxzdWJzdHIoJHIsMSwtMSkpO31mdW5jdGlvbgplc2NhcGVfc3RyaW5nKCRXKXtyZXR1cm4Kc3Vic3RyKHEoJFcpLDEsLTEpO31mdW5jdGlvbgpyZW1vdmVfc2xhc2hlcygkcWUsJGFjPWZhbHNlKXtpZihnZXRfbWFnaWNfcXVvdGVzX2dwYygpKXt3aGlsZShsaXN0KCR2LCRXKT1lYWNoKCRxZSkpe2ZvcmVhY2goJFcKYXMkS2M9PiRWKXt1bnNldCgkcWVbJHZdWyRLY10pO2lmKGlzX2FycmF5KCRWKSl7JHFlWyR2XVtzdHJpcHNsYXNoZXMoJEtjKV09JFY7JHFlW109JiRxZVskdl1bc3RyaXBzbGFzaGVzKCRLYyldO31lbHNleyRxZVskdl1bc3RyaXBzbGFzaGVzKCRLYyldPSgkYWM/JFY6c3RyaXBzbGFzaGVzKCRWKSk7fX19fX1mdW5jdGlvbgpicmFja2V0X2VzY2FwZSgkciwkQmE9ZmFsc2Upe3N0YXRpYyRFZj1hcnJheSgnOic9Pic6MScsJ10nPT4nOjInLCdbJz0+JzozJyk7cmV0dXJuCnN0cnRyKCRyLCgkQmE/YXJyYXlfZmxpcCgkRWYpOiRFZikpO31mdW5jdGlvbgpoKCRMKXtyZXR1cm4KaHRtbHNwZWNpYWxjaGFycyhzdHJfcmVwbGFjZSgiXDAiLCIiLCRMKSxFTlRfUVVPVEVTKTt9ZnVuY3Rpb24KbmJzcCgkTCl7cmV0dXJuKHRyaW0oJEwpIT0iIj9oKCRMKToiJm5ic3A7Iik7fWZ1bmN0aW9uCm5sX2JyKCRMKXtyZXR1cm4Kc3RyX3JlcGxhY2UoIlxuIiwiPGJyPiIsJEwpO31mdW5jdGlvbgpjaGVja2JveCgkXywkWCwkTGEsJE1jPSIiLCREZD0iIiwkSmM9ZmFsc2Upe3N0YXRpYyRxPTA7JHErKzskRj0iPGlucHV0IHR5cGU9J2NoZWNrYm94JyBuYW1lPSckXycgdmFsdWU9JyIuaCgkWCkuIiciLigkTGE/IiBjaGVja2VkIjoiIikuKCREZD8nIG9uY2xpY2s9IicuaCgkRGQpLiciJzonJykuKCRKYz8iIGNsYXNzPSdqc29ubHknIjoiIikuIiBpZD0nY2hlY2tib3gtJHEnPiI7cmV0dXJuKCRNYyE9IiI/IjxsYWJlbCBmb3I9J2NoZWNrYm94LSRxJz4kRiIuaCgkTWMpLiI8L2xhYmVsPiI6JEYpO31mdW5jdGlvbgpvcHRpb25saXN0KCRIZCwkUGU9bnVsbCwkVWY9ZmFsc2UpeyRGPSIiO2ZvcmVhY2goJEhkCmFzJEtjPT4kVil7JElkPWFycmF5KCRLYz0+JFYpO2lmKGlzX2FycmF5KCRWKSl7JEYuPSc8b3B0Z3JvdXAgbGFiZWw9IicuaCgkS2MpLiciPic7JElkPSRWO31mb3JlYWNoKCRJZAphcyR2PT4kVyl7JEYuPSc8b3B0aW9uJy4oJFVmfHxpc19zdHJpbmcoJHYpPycgdmFsdWU9IicuaCgkdikuJyInOicnKS4oKCRVZnx8aXNfc3RyaW5nKCR2KT8oc3RyaW5nKSR2OiRXKT09PSRQZT8nIHNlbGVjdGVkJzonJykuJz4nLmgoJFcpO31pZihpc19hcnJheSgkVikpeyRGLj0nPC9vcHRncm91cD4nO319cmV0dXJuJEY7fWZ1bmN0aW9uCmh0bWxfc2VsZWN0KCRfLCRIZCwkWD0iIiwkQ2Q9dHJ1ZSl7aWYoJENkKXtyZXR1cm4iPHNlbGVjdCBuYW1lPSciLmgoJF8pLiInIi4oaXNfc3RyaW5nKCRDZCk/JyBvbmNoYW5nZT0iJy5oKCRDZCkuJyInOiIiKS4iPiIub3B0aW9ubGlzdCgkSGQsJFgpLiI8L3NlbGVjdD4iO30kRj0iIjtmb3JlYWNoKCRIZAphcyR2PT4kVyl7JEYuPSI8bGFiZWw+PGlucHV0IHR5cGU9J3JhZGlvJyBuYW1lPSciLmgoJF8pLiInIHZhbHVlPSciLmgoJHYpLiInIi4oJHY9PSRYPyIgY2hlY2tlZCI6IiIpLiI+Ii5oKCRXKS4iPC9sYWJlbD4iO31yZXR1cm4kRjt9ZnVuY3Rpb24KY29uZmlybSgkYmI9IiIsJGNmPWZhbHNlKXtyZXR1cm4iIG9uY2xpY2s9XCIiLigkY2Y/ImV2ZW50U3RvcChldmVudCk7ICI6IiIpLiJyZXR1cm4gY29uZmlybSgnIi5sYW5nKDApLigkYmI/IiAoJyArICRiYiArICcpIjoiIikuIicpO1wiIjt9ZnVuY3Rpb24KcHJpbnRfZmllbGRzZXQoJHEsJFRjLCRhZz1mYWxzZSwkRGQ9IiIpe2VjaG8iPGZpZWxkc2V0PjxsZWdlbmQ+PGEgaHJlZj0nI2ZpZWxkc2V0LSRxJyBvbmNsaWNrPVwiIi5oKCREZCkuInJldHVybiAhdG9nZ2xlKCdmaWVsZHNldC0kcScpO1wiPiRUYzwvYT48L2xlZ2VuZD48ZGl2IGlkPSdmaWVsZHNldC0kcSciLigkYWc/IiI6IiBjbGFzcz0naGlkZGVuJyIpLiI+XG4iO31mdW5jdGlvbgpib2xkKCRHYSl7cmV0dXJuKCRHYT8iIGNsYXNzPSdhY3RpdmUnIjoiIik7fWZ1bmN0aW9uCm9kZCgkRj0nIGNsYXNzPSJvZGQiJyl7c3RhdGljJHA9MDtpZighJEYpeyRwPS0xO31yZXR1cm4oJHArKyUKMj8kRjonJyk7fWZ1bmN0aW9uCmpzX2VzY2FwZSgkTCl7cmV0dXJuCmFkZGNzbGFzaGVzKCRMLCJcclxuJ1xcLyIpO31mdW5jdGlvbgpqc29uX3JvdygkdiwkVz1udWxsKXtzdGF0aWMkYmM9dHJ1ZTtpZigkYmMpe2VjaG8ieyI7fWlmKCR2IT0iIil7ZWNobygkYmM/IiI6IiwiKS4iXG5cdFwiIi5hZGRjc2xhc2hlcygkdiwiXHJcblwiXFwiKS4nIjogJy4oaXNzZXQoJFcpPyciJy5hZGRjc2xhc2hlcygkVywiXHJcblwiXFwiKS4nIic6J3VuZGVmaW5lZCcpOyRiYz1mYWxzZTt9ZWxzZXtlY2hvIlxufVxuIjskYmM9dHJ1ZTt9fWZ1bmN0aW9uCmluaV9ib29sKCRCYyl7JFc9aW5pX2dldCgkQmMpO3JldHVybihlcmVnaSgnXihvbnx0cnVlfHllcykkJywkVyl8fChpbnQpJFcpO31mdW5jdGlvbgpzaWQoKXtzdGF0aWMkRjtpZighaXNzZXQoJEYpKXskRj0oU0lEJiYhKCRfQ09PS0lFJiZpbmlfYm9vbCgic2Vzc2lvbi51c2VfY29va2llcyIpKSk7fXJldHVybiRGO31mdW5jdGlvbgpxKCRMKXtnbG9iYWwkZztyZXR1cm4kZy0+cXVvdGUoJEwpO31mdW5jdGlvbgpnZXRfdmFscygkRCwkZT0wKXtnbG9iYWwkZzskRj1hcnJheSgpOyRFPSRnLT5xdWVyeSgkRCk7aWYoaXNfb2JqZWN0KCRFKSl7d2hpbGUoJEc9JEUtPmZldGNoX3JvdygpKXskRltdPSRHWyRlXTt9fXJldHVybiRGO31mdW5jdGlvbgpnZXRfa2V5X3ZhbHMoJEQsJGg9bnVsbCl7Z2xvYmFsJGc7aWYoIWlzX29iamVjdCgkaCkpeyRoPSRnO30kRj1hcnJheSgpOyRFPSRoLT5xdWVyeSgkRCk7aWYoaXNfb2JqZWN0KCRFKSl7d2hpbGUoJEc9JEUtPmZldGNoX3JvdygpKXskRlskR1swXV09JEdbMV07fX1yZXR1cm4kRjt9ZnVuY3Rpb24KZ2V0X3Jvd3MoJEQsJGg9bnVsbCwkaz0iPHAgY2xhc3M9J2Vycm9yJz4iKXtnbG9iYWwkZztpZighaXNfb2JqZWN0KCRoKSl7JGg9JGc7fSRGPWFycmF5KCk7JEU9JGgtPnF1ZXJ5KCREKTtpZihpc19vYmplY3QoJEUpKXt3aGlsZSgkRz0kRS0+ZmV0Y2hfYXNzb2MoKSl7JEZbXT0kRzt9fWVsc2VpZighJEUmJiRnLT5lcnJvciYmJGsmJmRlZmluZWQoIlBBR0VfSEVBREVSIikpe2VjaG8kay5lcnJvcigpLiJcbiI7fXJldHVybiRGO31mdW5jdGlvbgp1bmlxdWVfYXJyYXkoJEcsJHQpe2ZvcmVhY2goJHQKYXMkcyl7aWYoZXJlZygiUFJJTUFSWXxVTklRVUUiLCRzWyJ0eXBlIl0pKXskRj1hcnJheSgpO2ZvcmVhY2goJHNbImNvbHVtbnMiXWFzJHYpe2lmKCFpc3NldCgkR1skdl0pKXtjb250aW51ZQoyO30kRlskdl09JEdbJHZdO31yZXR1cm4kRjt9fSRGPWFycmF5KCk7Zm9yZWFjaCgkRwphcyR2PT4kVyl7aWYoIXByZWdfbWF0Y2goJ35eKENPVU5UXFwoKFxcKnwoRElTVElOQ1QgKT9gKD86W15gXXxgYCkrYClcXCl8KEFWR3xHUk9VUF9DT05DQVR8TUFYfE1JTnxTVU0pXFwoYCg/OlteYF18YGApK2BcXCkpJH4nLCR2KSl7JEZbJHZdPSRXO319cmV0dXJuJEY7fWZ1bmN0aW9uCndoZXJlKCRaKXtnbG9iYWwkdTskRj1hcnJheSgpO2ZvcmVhY2goKGFycmF5KSRaWyJ3aGVyZSJdYXMkdj0+JFcpeyRGW109aWRmX2VzY2FwZShicmFja2V0X2VzY2FwZSgkdiwxKSkuKGVyZWcoJ1xcLicsJFcpfHwkdT09Im1zc3FsIj8iIExJS0UgIi5leGFjdF92YWx1ZShhZGRjc2xhc2hlcygkVywiJV9cXCIpKToiID0gIi5leGFjdF92YWx1ZSgkVykpO31mb3JlYWNoKChhcnJheSkkWlsibnVsbCJdYXMkdil7JEZbXT1pZGZfZXNjYXBlKCR2KS4iIElTIE5VTEwiO31yZXR1cm4KaW1wbG9kZSgiIEFORCAiLCRGKTt9ZnVuY3Rpb24Kd2hlcmVfY2hlY2soJFcpe3BhcnNlX3N0cigkVywkS2EpO3JlbW92ZV9zbGFzaGVzKGFycmF5KCYkS2EpKTtyZXR1cm4Kd2hlcmUoJEthKTt9ZnVuY3Rpb24Kd2hlcmVfbGluaygkcCwkZSwkWCwkRWQ9Ij0iKXtyZXR1cm4iJndoZXJlJTVCJHAlNUQlNUJjb2wlNUQ9Ii51cmxlbmNvZGUoJGUpLiImd2hlcmUlNUIkcCU1RCU1Qm9wJTVEPSIudXJsZW5jb2RlKChpc3NldCgkWCk/JEVkOiJJUyBOVUxMIikpLiImd2hlcmUlNUIkcCU1RCU1QnZhbCU1RD0iLnVybGVuY29kZSgkWCk7fWZ1bmN0aW9uCmNvb2tpZSgkXywkWCl7Z2xvYmFsJGJhOyRWZD1hcnJheSgkXywoZXJlZygiXG4iLCRYKT8iIjokWCksdGltZSgpKzI1OTIwMDAscHJlZ19yZXBsYWNlKCd+XFw/Lip+JywnJywkX1NFUlZFUlsiUkVRVUVTVF9VUkkiXSksIiIsJGJhKTtpZih2ZXJzaW9uX2NvbXBhcmUoUEhQX1ZFUlNJT04sJzUuMi4wJyk+PTApeyRWZFtdPXRydWU7fXJldHVybgpjYWxsX3VzZXJfZnVuY19hcnJheSgnc2V0Y29va2llJywkVmQpO31mdW5jdGlvbgpyZXN0YXJ0X3Nlc3Npb24oKXtpZighaW5pX2Jvb2woInNlc3Npb24udXNlX2Nvb2tpZXMiKSl7c2Vzc2lvbl9zdGFydCgpO319ZnVuY3Rpb24mZ2V0X3Nlc3Npb24oJHYpe3JldHVybiRfU0VTU0lPTlskdl1bRFJJVkVSXVtTRVJWRVJdWyRfR0VUWyJ1c2VybmFtZSJdXTt9ZnVuY3Rpb24Kc2V0X3Nlc3Npb24oJHYsJFcpeyRfU0VTU0lPTlskdl1bRFJJVkVSXVtTRVJWRVJdWyRfR0VUWyJ1c2VybmFtZSJdXT0kVzt9ZnVuY3Rpb24KYXV0aF91cmwoJHNiLCRKLCRVKXtnbG9iYWwkdGI7cHJlZ19tYXRjaCgnfihbXj9dKilcXD8/KC4qKX4nLHJlbW92ZV9mcm9tX3VyaShpbXBsb2RlKCJ8IixhcnJheV9rZXlzKCR0YikpLiJ8dXNlcm5hbWV8Ii5zZXNzaW9uX25hbWUoKSksJHopO3JldHVybiIkelsxXT8iLihzaWQoKT9TSUQuIiYiOiIiKS4oJHNiIT0ic2VydmVyInx8JEohPSIiP3VybGVuY29kZSgkc2IpLiI9Ii51cmxlbmNvZGUoJEopLiImIjoiIikuInVzZXJuYW1lPSIudXJsZW5jb2RlKCRVKS4oJHpbMl0/IiYkelsyXSI6IiIpO31mdW5jdGlvbgppc19hamF4KCl7cmV0dXJuKCRfU0VSVkVSWyJIVFRQX1hfUkVRVUVTVEVEX1dJVEgiXT09IlhNTEh0dHBSZXF1ZXN0Iik7fWZ1bmN0aW9uCnJlZGlyZWN0KCRXYywkaGQ9bnVsbCl7aWYoaXNzZXQoJGhkKSl7cmVzdGFydF9zZXNzaW9uKCk7JF9TRVNTSU9OWyJtZXNzYWdlcyJdW3ByZWdfcmVwbGFjZSgnfl5bXj9dKn4nLCcnLChpc3NldCgkV2MpPyRXYzokX1NFUlZFUlsiUkVRVUVTVF9VUkkiXSkpXVtdPSRoZDt9aWYoaXNzZXQoJFdjKSl7aWYoJFdjPT0iIil7JFdjPSIuIjt9aGVhZGVyKChpc19hamF4KCk/IlgtQUpBWC1SZWRpcmVjdCI6IkxvY2F0aW9uIikuIjogJFdjIik7ZXhpdDt9fWZ1bmN0aW9uCnF1ZXJ5X3JlZGlyZWN0KCRELCRXYywkaGQsJHZlPXRydWUsJFBiPXRydWUsJFdiPWZhbHNlKXtnbG9iYWwkZywkaywkYjtpZigkUGIpeyRXYj0hJGctPnF1ZXJ5KCREKTt9JFllPSIiO2lmKCREKXskWWU9JGItPm1lc3NhZ2VRdWVyeSgiJEQ7Iik7fWlmKCRXYil7JGs9ZXJyb3IoKS4kWWU7cmV0dXJuCmZhbHNlO31pZigkdmUpe3JlZGlyZWN0KCRXYywkaGQuJFllKTt9cmV0dXJuCnRydWU7fWZ1bmN0aW9uCnF1ZXJpZXMoJEQ9bnVsbCl7Z2xvYmFsJGc7c3RhdGljJHRlPWFycmF5KCk7aWYoIWlzc2V0KCREKSl7cmV0dXJuCmltcGxvZGUoIjtcbiIsJHRlKTt9JHRlW109KGVyZWcoJzskJywkRCk/IkRFTElNSVRFUiA7O1xuJEQ7XG5ERUxJTUlURVIgIjokRCk7cmV0dXJuJGctPnF1ZXJ5KCREKTt9ZnVuY3Rpb24KYXBwbHlfcXVlcmllcygkRCwkUCwkTGI9J3RhYmxlJyl7Zm9yZWFjaCgkUAphcyROKXtpZighcXVlcmllcygiJEQgIi4kTGIoJE4pKSl7cmV0dXJuCmZhbHNlO319cmV0dXJuCnRydWU7fWZ1bmN0aW9uCnF1ZXJpZXNfcmVkaXJlY3QoJFdjLCRoZCwkdmUpe3JldHVybgpxdWVyeV9yZWRpcmVjdChxdWVyaWVzKCksJFdjLCRoZCwkdmUsZmFsc2UsISR2ZSk7fWZ1bmN0aW9uCnJlbW92ZV9mcm9tX3VyaSgkVWQ9IiIpe3JldHVybgpzdWJzdHIocHJlZ19yZXBsYWNlKCJ+KD88PVs/Jl0pKCRVZCIuKFNJRD8iIjoifCIuc2Vzc2lvbl9uYW1lKCkpLiIpPVteJl0qJn4iLCcnLCIkX1NFUlZFUltSRVFVRVNUX1VSSV0mIiksMCwtMSk7fWZ1bmN0aW9uCnBhZ2luYXRpb24oJFRkLCRnYil7cmV0dXJuIiAiLigkVGQ9PSRnYj8kVGQrMTonPGEgaHJlZj0iJy5oKHJlbW92ZV9mcm9tX3VyaSgicGFnZSIpLigkVGQ/IiZwYWdlPSRUZCI6IiIpKS4nIj4nLigkVGQrMSkuIjwvYT4iKTt9ZnVuY3Rpb24KZ2V0X2ZpbGUoJHYsJGxiPWZhbHNlKXskWWI9JF9GSUxFU1skdl07aWYoISRZYnx8JFliWyJlcnJvciJdKXtyZXR1cm4kWWJbImVycm9yIl07fSRGPWZpbGVfZ2V0X2NvbnRlbnRzKCRsYiYmZXJlZygnXFwuZ3okJywkWWJbIm5hbWUiXSk/ImNvbXByZXNzLnpsaWI6Ly8kWWJbdG1wX25hbWVdIjooJGxiJiZlcmVnKCdcXC5iejIkJywkWWJbIm5hbWUiXSk/ImNvbXByZXNzLmJ6aXAyOi8vJFliW3RtcF9uYW1lXSI6JFliWyJ0bXBfbmFtZSJdKSk7aWYoJGxiKXskWmU9c3Vic3RyKCRGLDAsMyk7aWYoZnVuY3Rpb25fZXhpc3RzKCJpY29udiIpJiZlcmVnKCJeXHhGRVx4RkZ8Xlx4RkZceEZFIiwkWmUsJEFlKSl7JEY9aWNvbnYoInV0Zi0xNiIsInV0Zi04IiwkRik7fWVsc2VpZigkWmU9PSJceEVGXHhCQlx4QkYiKXskRj1zdWJzdHIoJEYsMyk7fX1yZXR1cm4kRjt9ZnVuY3Rpb24KdXBsb2FkX2Vycm9yKCRrKXskZmQ9KCRrPT1VUExPQURfRVJSX0lOSV9TSVpFP2luaV9nZXQoInVwbG9hZF9tYXhfZmlsZXNpemUiKTpudWxsKTtyZXR1cm4oJGs/bGFuZygxKS4oJGZkPyIgIi5sYW5nKDIsJGZkKToiIik6bGFuZygzKSk7fWZ1bmN0aW9uCnJlcGVhdF9wYXR0ZXJuKCRjZSwkdyl7cmV0dXJuCnN0cl9yZXBlYXQoIiRjZXswLDY1NTM1fSIsJHcvNjU1MzUpLiIkY2V7MCwiLigkdwolCjY1NTM1KS4ifSI7fWZ1bmN0aW9uCmlzX3V0ZjgoJFcpe3JldHVybihwcmVnX21hdGNoKCd+fnUnLCRXKSYmIXByZWdfbWF0Y2goJ35bXFwwLVxceDhcXHhCXFx4Q1xceEUtXFx4MUZdficsJFcpKTt9ZnVuY3Rpb24Kc2hvcnRlbl91dGY4KCRMLCR3PTgwLCRnZj0iIil7aWYoIXByZWdfbWF0Y2goIiheKCIucmVwZWF0X3BhdHRlcm4oIltcdFxyXG4gLVx4e0ZGRkZ9XSIsJHcpLiIpKCQpPyl1IiwkTCwkeikpe3ByZWdfbWF0Y2goIiheKCIucmVwZWF0X3BhdHRlcm4oIltcdFxyXG4gLX5dIiwkdykuIikoJCk/KSIsJEwsJHopO31yZXR1cm4KaCgkelsxXSkuJGdmLihpc3NldCgkelsyXSk/IiI6IjxpPi4uLjwvaT4iKTt9ZnVuY3Rpb24KZnJpZW5kbHlfdXJsKCRXKXtyZXR1cm4KcHJlZ19yZXBsYWNlKCd+W15hLXowLTlfXX5pJywnLScsJFcpO31mdW5jdGlvbgpoaWRkZW5fZmllbGRzKCRxZSwkeGM9YXJyYXkoKSl7d2hpbGUobGlzdCgkdiwkVyk9ZWFjaCgkcWUpKXtpZihpc19hcnJheSgkVykpe2ZvcmVhY2goJFcKYXMkS2M9PiRWKXskcWVbJHYuIlskS2NdIl09JFY7fX1lbHNlaWYoIWluX2FycmF5KCR2LCR4Yykpe2VjaG8nPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJy5oKCR2KS4nIiB2YWx1ZT0iJy5oKCRXKS4nIj4nO319fWZ1bmN0aW9uCmhpZGRlbl9maWVsZHNfZ2V0KCl7ZWNobyhzaWQoKT8nPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJy5zZXNzaW9uX25hbWUoKS4nIiB2YWx1ZT0iJy5oKHNlc3Npb25faWQoKSkuJyI+JzonJyksKFNFUlZFUiE9PW51bGw/JzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IicuRFJJVkVSLiciIHZhbHVlPSInLmgoU0VSVkVSKS4nIj4nOiIiKSwnPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idXNlcm5hbWUiIHZhbHVlPSInLmgoJF9HRVRbInVzZXJuYW1lIl0pLiciPic7fWZ1bmN0aW9uCmNvbHVtbl9mb3JlaWduX2tleXMoJE4pe2dsb2JhbCRiOyRGPWFycmF5KCk7Zm9yZWFjaCgkYi0+Zm9yZWlnbktleXMoJE4pYXMkbil7Zm9yZWFjaCgkblsic291cmNlIl1hcyRXKXskRlskV11bXT0kbjt9fXJldHVybiRGO31mdW5jdGlvbgplbnVtX2lucHV0KCRTLCR6YSwkbCwkWCwkRGI9bnVsbCl7Z2xvYmFsJGI7cHJlZ19tYXRjaF9hbGwoIn4nKCg/OlteJ118JycpKiknfiIsJGxbImxlbmd0aCJdLCRhZCk7JEY9KGlzc2V0KCREYik/IjxsYWJlbD48aW5wdXQgdHlwZT0nJFMnJHphIHZhbHVlPSckRGInIi4oKGlzX2FycmF5KCRYKT9pbl9hcnJheSgkRGIsJFgpOiRYPT09MCk/IiBjaGVja2VkIjoiIikuIj48aT4iLmxhbmcoNCkuIjwvaT48L2xhYmVsPiI6IiIpO2ZvcmVhY2goJGFkWzFdYXMkcD0+JFcpeyRXPXN0cmlwY3NsYXNoZXMoc3RyX3JlcGxhY2UoIicnIiwiJyIsJFcpKTskTGE9KGlzX2ludCgkWCk/JFg9PSRwKzE6KGlzX2FycmF5KCRYKT9pbl9hcnJheSgkcCsxLCRYKTokWD09PSRXKSk7JEYuPSIgPGxhYmVsPjxpbnB1dCB0eXBlPSckUyckemEgdmFsdWU9JyIuKCRwKzEpLiInIi4oJExhPycgY2hlY2tlZCc6JycpLic+Jy5oKCRiLT5lZGl0VmFsKCRXLCRsKSkuJzwvbGFiZWw+Jzt9cmV0dXJuJEY7fWZ1bmN0aW9uCmlucHV0KCRsLCRYLCRvKXtnbG9iYWwkVCwkYiwkdTskXz1oKGJyYWNrZXRfZXNjYXBlKCRsWyJmaWVsZCJdKSk7ZWNobyI8dGQgY2xhc3M9J2Z1bmN0aW9uJz4iOyRDZT0oJHU9PSJtc3NxbCImJiRsWyJhdXRvX2luY3JlbWVudCJdKTtpZigkQ2UmJiEkX1BPU1RbInNhdmUiXSl7JG89bnVsbDt9JGxjPShpc3NldCgkX0dFVFsic2VsZWN0Il0pfHwkQ2U/YXJyYXkoIm9yaWciPT5sYW5nKDUpKTphcnJheSgpKSskYi0+ZWRpdEZ1bmN0aW9ucygkbCk7JHphPSIgbmFtZT0nZmllbGRzWyRfXSciO2lmKCRsWyJ0eXBlIl09PSJlbnVtIil7ZWNobwpuYnNwKCRsY1siIl0pLiI8dGQ+Ii4kYi0+ZWRpdElucHV0KCRfR0VUWyJlZGl0Il0sJGwsJHphLCRYKTt9ZWxzZXskYmM9MDtmb3JlYWNoKCRsYwphcyR2PT4kVyl7aWYoJHY9PT0iInx8ISRXKXticmVhazt9JGJjKys7fSRDZD0oJGJjPyIgb25jaGFuZ2U9XCJ2YXIgZiA9IHRoaXMuZm9ybVsnZnVuY3Rpb25bIi5oKGpzX2VzY2FwZShicmFja2V0X2VzY2FwZSgkbFsiZmllbGQiXSkpKS4iXSddOyBpZiAoJGJjID4gZi5zZWxlY3RlZEluZGV4KSBmLnNlbGVjdGVkSW5kZXggPSAkYmM7XCIiOiIiKTskemEuPSRDZDtlY2hvKGNvdW50KCRsYyk+MT9odG1sX3NlbGVjdCgiZnVuY3Rpb25bJF9dIiwkbGMsIWlzc2V0KCRvKXx8aW5fYXJyYXkoJG8sJGxjKXx8aXNzZXQoJGxjWyRvXSk/JG86IiIsImZ1bmN0aW9uQ2hhbmdlKHRoaXMpOyIpOm5ic3AocmVzZXQoJGxjKSkpLic8dGQ+JzskRGM9JGItPmVkaXRJbnB1dCgkX0dFVFsiZWRpdCJdLCRsLCR6YSwkWCk7aWYoJERjIT0iIil7ZWNobyREYzt9ZWxzZWlmKCRsWyJ0eXBlIl09PSJzZXQiKXtwcmVnX21hdGNoX2FsbCgificoKD86W14nXXwnJykqKSd+IiwkbFsibGVuZ3RoIl0sJGFkKTtmb3JlYWNoKCRhZFsxXWFzJHA9PiRXKXskVz1zdHJpcGNzbGFzaGVzKHN0cl9yZXBsYWNlKCInJyIsIiciLCRXKSk7JExhPShpc19pbnQoJFgpPygkWD4+JHApJjE6aW5fYXJyYXkoJFcsZXhwbG9kZSgiLCIsJFgpLHRydWUpKTtlY2hvIiA8bGFiZWw+PGlucHV0IHR5cGU9J2NoZWNrYm94JyBuYW1lPSdmaWVsZHNbJF9dWyRwXScgdmFsdWU9JyIuKDE8PCRwKS4iJyIuKCRMYT8nIGNoZWNrZWQnOicnKS4iJENkPiIuaCgkYi0+ZWRpdFZhbCgkVywkbCkpLic8L2xhYmVsPic7fX1lbHNlaWYoZXJlZygnYmxvYnxieXRlYXxyYXd8ZmlsZScsJGxbInR5cGUiXSkmJmluaV9ib29sKCJmaWxlX3VwbG9hZHMiKSl7ZWNobyI8aW5wdXQgdHlwZT0nZmlsZScgbmFtZT0nZmllbGRzLSRfJyRDZD4iO31lbHNlaWYoZXJlZygndGV4dHxsb2InLCRsWyJ0eXBlIl0pKXtlY2hvIjx0ZXh0YXJlYSAiLigkdSE9InNxbGl0ZSJ8fGVyZWcoIlxuIiwkWCk/ImNvbHM9JzUwJyByb3dzPScxMiciOiJjb2xzPSczMCcgcm93cz0nMScgc3R5bGU9J2hlaWdodDogMS4yZW07JyIpLiIkemE+Ii5oKCRYKS4nPC90ZXh0YXJlYT4nO31lbHNleyRnZD0oIWVyZWcoJ2ludCcsJGxbInR5cGUiXSkmJnByZWdfbWF0Y2goJ35eKFxcZCspKCwoXFxkKykpPyR+JywkbFsibGVuZ3RoIl0sJHopPygoZXJlZygiYmluYXJ5IiwkbFsidHlwZSJdKT8yOjEpKiR6WzFdKygkelszXT8xOjApKygkelsyXSYmISRsWyJ1bnNpZ25lZCJdPzE6MCkpOigkVFskbFsidHlwZSJdXT8kVFskbFsidHlwZSJdXSsoJGxbInVuc2lnbmVkIl0/MDoxKTowKSk7ZWNobyI8aW5wdXQgdmFsdWU9JyIuaCgkWCkuIiciLigkZ2Q/IiBtYXhsZW5ndGg9JyRnZCciOiIiKS4oZXJlZygnY2hhcnxiaW5hcnknLCRsWyJ0eXBlIl0pJiYkZ2Q+MjA/IiBzaXplPSc0MCciOiIiKS4iJHphPiI7fX19ZnVuY3Rpb24KcHJvY2Vzc19pbnB1dCgkbCl7Z2xvYmFsJGI7JHI9YnJhY2tldF9lc2NhcGUoJGxbImZpZWxkIl0pOyRvPSRfUE9TVFsiZnVuY3Rpb24iXVskcl07JFg9JF9QT1NUWyJmaWVsZHMiXVskcl07aWYoJGxbInR5cGUiXT09ImVudW0iKXtpZigkWD09LTEpe3JldHVybgpmYWxzZTt9aWYoJFg9PSIiKXtyZXR1cm4iTlVMTCI7fXJldHVybiskWDt9aWYoJGxbImF1dG9faW5jcmVtZW50Il0mJiRYPT0iIil7cmV0dXJuCm51bGw7fWlmKCRvPT0ib3JpZyIpe3JldHVybigkbFsib25fdXBkYXRlIl09PSJDVVJSRU5UX1RJTUVTVEFNUCI/aWRmX2VzY2FwZSgkbFsiZmllbGQiXSk6ZmFsc2UpO31pZigkbz09Ik5VTEwiKXtyZXR1cm4iTlVMTCI7fWlmKCRsWyJ0eXBlIl09PSJzZXQiKXtyZXR1cm4KYXJyYXlfc3VtKChhcnJheSkkWCk7fWlmKGVyZWcoJ2Jsb2J8Ynl0ZWF8cmF3fGZpbGUnLCRsWyJ0eXBlIl0pJiZpbmlfYm9vbCgiZmlsZV91cGxvYWRzIikpeyRZYj1nZXRfZmlsZSgiZmllbGRzLSRyIik7aWYoIWlzX3N0cmluZygkWWIpKXtyZXR1cm4KZmFsc2U7fXJldHVybgpxKCRZYik7fXJldHVybiRiLT5wcm9jZXNzSW5wdXQoJGwsJFgsJG8pO31mdW5jdGlvbgpzZWFyY2hfdGFibGVzKCl7Z2xvYmFsJGIsJGc7JF9HRVRbIndoZXJlIl1bMF1bIm9wIl09IkxJS0UgJSUiOyRfR0VUWyJ3aGVyZSJdWzBdWyJ2YWwiXT0kX1BPU1RbInF1ZXJ5Il07JGdjPWZhbHNlO2ZvcmVhY2godGFibGVfc3RhdHVzKClhcyROPT4kTyl7JF89JGItPnRhYmxlTmFtZSgkTyk7aWYoaXNzZXQoJE9bIkVuZ2luZSJdKSYmJF8hPSIiJiYoISRfUE9TVFsidGFibGVzIl18fGluX2FycmF5KCROLCRfUE9TVFsidGFibGVzIl0pKSl7JEU9JGctPnF1ZXJ5KCJTRUxFQ1QiLmxpbWl0KCIxIEZST00gIi50YWJsZSgkTiksIiBXSEVSRSAiLmltcGxvZGUoIiBBTkQgIiwkYi0+c2VsZWN0U2VhcmNoUHJvY2VzcyhmaWVsZHMoJE4pLGFycmF5KCkpKSwxKSk7aWYoJEUtPmZldGNoX3JvdygpKXtpZighJGdjKXtlY2hvIjx1bD5cbiI7JGdjPXRydWU7fWVjaG8iPGxpPjxhIGhyZWY9JyIuaChNRS4ic2VsZWN0PSIudXJsZW5jb2RlKCROKS4iJndoZXJlWzBdW29wXT0iLnVybGVuY29kZSgkX0dFVFsid2hlcmUiXVswXVsib3AiXSkuIiZ3aGVyZVswXVt2YWxdPSIudXJsZW5jb2RlKCRfR0VUWyJ3aGVyZSJdWzBdWyJ2YWwiXSkpLiInPiRfPC9hPlxuIjt9fX1lY2hvKCRnYz8iPC91bD4iOiI8cCBjbGFzcz0nbWVzc2FnZSc+Ii5sYW5nKDYpKS4iXG4iO31mdW5jdGlvbgpkdW1wX2hlYWRlcnMoJHdjLCRwZD1mYWxzZSl7Z2xvYmFsJGI7JEY9JGItPmR1bXBIZWFkZXJzKCR3YywkcGQpOyRSZD0kX1BPU1RbIm91dHB1dCJdO2lmKCRSZCE9InRleHQiKXtoZWFkZXIoIkNvbnRlbnQtRGlzcG9zaXRpb246IGF0dGFjaG1lbnQ7IGZpbGVuYW1lPSIuZnJpZW5kbHlfdXJsKCR3YyE9IiI/JHdjOihTRVJWRVIhPSIiP1NFUlZFUjoibG9jYWxob3N0IikpLiIuJEYiLigkUmQhPSJmaWxlIiYmIWVyZWcoJ1teMC05YS16XScsJFJkKT8iLiRSZCI6IiIpKTt9c2Vzc2lvbl93cml0ZV9jbG9zZSgpO3JldHVybiRGO31mdW5jdGlvbgpkdW1wX2NzdigkRyl7Zm9yZWFjaCgkRwphcyR2PT4kVyl7aWYocHJlZ19tYXRjaCgifltcIlxuLDtcdF1+IiwkVyl8fCRXPT09IiIpeyRHWyR2XT0nIicuc3RyX3JlcGxhY2UoJyInLCciIicsJFcpLiciJzt9fWVjaG8KaW1wbG9kZSgoJF9QT1NUWyJmb3JtYXQiXT09ImNzdiI/IiwiOigkX1BPU1RbImZvcm1hdCJdPT0idHN2Ij8iXHQiOiI7IikpLCRHKS4iXHJcbiI7fWZ1bmN0aW9uCmFwcGx5X3NxbF9mdW5jdGlvbigkbywkZSl7cmV0dXJuKCRvPygkbz09InVuaXhlcG9jaCI/IkRBVEVUSU1FKCRlLCAnJG8nKSI6KCRvPT0iY291bnQgZGlzdGluY3QiPyJDT1VOVChESVNUSU5DVCAiOnN0cnRvdXBwZXIoIiRvKCIpKS4iJGUpIik6JGUpO31mdW5jdGlvbgpwYXNzd29yZF9maWxlKCl7JHBiPWluaV9nZXQoInVwbG9hZF90bXBfZGlyIik7aWYoISRwYil7aWYoZnVuY3Rpb25fZXhpc3RzKCdzeXNfZ2V0X3RlbXBfZGlyJykpeyRwYj1zeXNfZ2V0X3RlbXBfZGlyKCk7fWVsc2V7JFpiPUB0ZW1wbmFtKCIiLCIiKTtpZighJFpiKXtyZXR1cm4KZmFsc2U7fSRwYj1kaXJuYW1lKCRaYik7dW5saW5rKCRaYik7fX0kWmI9IiRwYi9hZG1pbmVyLmtleSI7JEY9QGZpbGVfZ2V0X2NvbnRlbnRzKCRaYik7aWYoJEYpe3JldHVybiRGO30kaWM9QGZvcGVuKCRaYiwidyIpO2lmKCRpYyl7JEY9bWQ1KHVuaXFpZChtdF9yYW5kKCksdHJ1ZSkpO2Z3cml0ZSgkaWMsJEYpO2ZjbG9zZSgkaWMpO31yZXR1cm4kRjt9ZnVuY3Rpb24KaXNfbWFpbCgkQWIpeyR5YT0nWy1hLXowLTkhIyQlJlwnKisvPT9eX2B7fH1+XSc7JHJiPSdbYS16MC05XShbLWEtejAtOV17MCw2MX1bYS16MC05XSknOyRjZT0iJHlhKyhcXC4keWErKSpAKCRyYj9cXC4pKyRyYiI7cmV0dXJuCnByZWdfbWF0Y2goIiheJGNlKCxcXHMqJGNlKSpcJClpIiwkQWIpO31mdW5jdGlvbgppc191cmwoJEwpeyRyYj0nW2EtejAtOV0oWy1hLXowLTldezAsNjF9W2EtejAtOV0pJztyZXR1cm4ocHJlZ19tYXRjaCgifl4oaHR0cHM/KTovLygkcmI/XFwuKSskcmIoOlxcZCspPygvLiopPyhcXD8uKik/KCMuKik/XCR+aSIsJEwsJHopP3N0cnRvbG93ZXIoJHpbMV0pOiIiKTt9Z2xvYmFsJGIsJGcsJHRiLCR6YiwkSGIsJGssJGxjLCRxYywkYmEsJENjLCR1LCRjYSwkTmMsJEJkLCRlZiwkUSwkUiwkVCwkUmYsJGlhO2lmKCFpc3NldCgkX1NFUlZFUlsiUkVRVUVTVF9VUkkiXSkpeyRfU0VSVkVSWyJSRVFVRVNUX1VSSSJdPSRfU0VSVkVSWyJPUklHX1BBVEhfSU5GTyJdLigkX1NFUlZFUlsiUVVFUllfU1RSSU5HIl0hPSIiPyI/JF9TRVJWRVJbUVVFUllfU1RSSU5HXSI6IiIpO30kYmE9JF9TRVJWRVJbIkhUVFBTIl0mJnN0cmNhc2VjbXAoJF9TRVJWRVJbIkhUVFBTIl0sIm9mZiIpO0Bpbmlfc2V0KCJzZXNzaW9uLnVzZV90cmFuc19zaWQiLGZhbHNlKTtpZighZGVmaW5lZCgiU0lEIikpe3Nlc3Npb25fbmFtZSgiYWRtaW5lcl9zaWQiKTskVmQ9YXJyYXkoMCxwcmVnX3JlcGxhY2UoJ35cXD8uKn4nLCcnLCRfU0VSVkVSWyJSRVFVRVNUX1VSSSJdKSwiIiwkYmEpO2lmKHZlcnNpb25fY29tcGFyZShQSFBfVkVSU0lPTiwnNS4yLjAnKT49MCl7JFZkW109dHJ1ZTt9Y2FsbF91c2VyX2Z1bmNfYXJyYXkoJ3Nlc3Npb25fc2V0X2Nvb2tpZV9wYXJhbXMnLCRWZCk7c2Vzc2lvbl9zdGFydCgpO31yZW1vdmVfc2xhc2hlcyhhcnJheSgmJF9HRVQsJiRfUE9TVCwmJF9DT09LSUUpLCRhYyk7aWYoZnVuY3Rpb25fZXhpc3RzKCJzZXRfbWFnaWNfcXVvdGVzX3J1bnRpbWUiKSl7c2V0X21hZ2ljX3F1b3Rlc19ydW50aW1lKGZhbHNlKTt9QHNldF90aW1lX2xpbWl0KDApO0Bpbmlfc2V0KCJ6ZW5kLnplMV9jb21wYXRpYmlsaXR5X21vZGUiLGZhbHNlKTtAaW5pX3NldCgicHJlY2lzaW9uIiwyMCk7JE5jPWFycmF5KCdlbic9PidFbmdsaXNoJywnY3MnPT4nxIxlxaF0aW5hJywnc2snPT4nU2xvdmVuxI1pbmEnLCdubCc9PidOZWRlcmxhbmRzJywnZXMnPT4nRXNwYcOxb2wnLCdkZSc9PidEZXV0c2NoJywnZnInPT4nRnJhbsOnYWlzJywnaXQnPT4nSXRhbGlhbm8nLCdldCc9PidFZXN0aScsJ2h1Jz0+J01hZ3lhcicsJ3BsJz0+J1BvbHNraScsJ2NhJz0+J0NhdGFsw6AnLCdwdCc9PidQb3J0dWd1w6pzJywnc2wnPT4nU2xvdmVuc2tpJywnbHQnPT4nTGlldHV2acWzJywndHInPT4nVMO8cmvDp2UnLCdybyc9PidMaW1iYSBSb23Dom7EgycsJ3J1Jz0+J9Cg0YPRgdGB0LrQuNC5INGP0LfRi9C6JywnemgnPT4n566A5L2T5Lit5paHJywnemgtdHcnPT4n57mB6auU5Lit5paHJywnamEnPT4n5pel5pys6KqeJywndGEnPT4n4K6k4oCM4K6u4K6/4K604K+NJywnYXInPT4n2KfZhNi52LHYqNmK2KknLCk7ZnVuY3Rpb24KZ2V0X2xhbmcoKXtnbG9iYWwkY2E7cmV0dXJuJGNhO31mdW5jdGlvbgpsYW5nKCRyLCR3ZD1udWxsKXtnbG9iYWwkY2EsJFI7JEZmPSRSWyRyXTtpZihpc19hcnJheSgkRmYpKXskZmU9KCR3ZD09MT8wOigkY2E9PSdjcyd8fCRjYT09J3NrJz8oJHdkJiYkd2Q8NT8xOjIpOigkY2E9PSdmcic/KCEkd2Q/MDoxKTooJGNhPT0ncGwnPygkd2QKJQoxMD4xJiYkd2QKJQoxMDw1JiYkd2QvMTAKJQoxMCE9MT8xOjIpOigkY2E9PSdzbCc/KCR3ZAolCjEwMD09MT8wOigkd2QKJQoxMDA9PTI/MTooJHdkCiUKMTAwPT0zfHwkd2QKJQoxMDA9PTQ/MjozKSkpOigkY2E9PSdsdCc/KCR3ZAolCjEwPT0xJiYkd2QKJQoxMDAhPTExPzA6KCR3ZAolCjEwPjEmJiR3ZC8xMAolCjEwIT0xPzE6MikpOigkY2E9PSdydSc/KCR3ZAolCjEwPT0xJiYkd2QKJQoxMDAhPTExPzA6KCR3ZAolCjEwPjEmJiR3ZAolCjEwPDUmJiR3ZC8xMAolCjEwIT0xPzE6MikpOjEpKSkpKSkpOyRGZj0kRmZbJGZlXTt9JHhhPWZ1bmNfZ2V0X2FyZ3MoKTthcnJheV9zaGlmdCgkeGEpO3JldHVybgp2c3ByaW50ZigoaXNzZXQoJEZmKT8kRmY6JHIpLCR4YSk7fWZ1bmN0aW9uCnN3aXRjaF9sYW5nKCl7Z2xvYmFsJGNhLCROYztlY2hvIjxmb3JtIGFjdGlvbj0nJz5cbjxkaXYgaWQ9J2xhbmcnPiI7aGlkZGVuX2ZpZWxkcygkX0dFVCxhcnJheSgnbGFuZycpKTtlY2hvCmxhbmcoNykuIjogIi5odG1sX3NlbGVjdCgibGFuZyIsJE5jLCRjYSwidmFyIGxvYyA9IGxvY2F0aW9uLnNlYXJjaC5yZXBsYWNlKC9bPyZdbGFuZz1bXiZdKi8sICcnKTsgbG9jYXRpb24uc2VhcmNoID0gbG9jICsgKGxvYyA/ICcmJyA6ICcnKSArICdsYW5nPScgKyB0aGlzLnZhbHVlOyIpLCIgPGlucHV0IHR5cGU9J3N1Ym1pdCcgdmFsdWU9JyIubGFuZyg4KS4iJyBjbGFzcz0naGlkZGVuJz5cbiIsIjwvZGl2PlxuPC9mb3JtPlxuIjt9aWYoaXNzZXQoJF9HRVRbImxhbmciXSkpeyRfQ09PS0lFWyJhZG1pbmVyX2xhbmciXT0kX0dFVFsibGFuZyJdOyRfU0VTU0lPTlsibGFuZyJdPSRfR0VUWyJsYW5nIl07fSRjYT0iZW4iO2lmKGlzc2V0KCROY1skX0NPT0tJRVsiYWRtaW5lcl9sYW5nIl1dKSl7Y29va2llKCJhZG1pbmVyX2xhbmciLCRfQ09PS0lFWyJhZG1pbmVyX2xhbmciXSk7JGNhPSRfQ09PS0lFWyJhZG1pbmVyX2xhbmciXTt9ZWxzZWlmKGlzc2V0KCROY1skX1NFU1NJT05bImxhbmciXV0pKXskY2E9JF9TRVNTSU9OWyJsYW5nIl07fWVsc2V7JHBhPWFycmF5KCk7cHJlZ19tYXRjaF9hbGwoJ34oWy1hLXpdKykoO3E9KFswLTkuXSspKT9+JyxzdHJfcmVwbGFjZSgiXyIsIi0iLHN0cnRvbG93ZXIoJF9TRVJWRVJbIkhUVFBfQUNDRVBUX0xBTkdVQUdFIl0pKSwkYWQsUFJFR19TRVRfT1JERVIpO2ZvcmVhY2goJGFkCmFzJHopeyRwYVskelsxXV09KGlzc2V0KCR6WzNdKT8kelszXToxKTt9YXJzb3J0KCRwYSk7Zm9yZWFjaCgkcGEKYXMkdj0+JEMpe2lmKGlzc2V0KCROY1skdl0pKXskY2E9JHY7YnJlYWs7fSR2PXByZWdfcmVwbGFjZSgnfi0uKn4nLCcnLCR2KTtpZighaXNzZXQoJHBhWyR2XSkmJmlzc2V0KCROY1skdl0pKXskY2E9JHY7YnJlYWs7fX19c3dpdGNoKCRjYSl7Y2FzZSJlbiI6JFI9YXJyYXkoJ0FyZSB5b3Ugc3VyZT8nLCdVbmFibGUgdG8gdXBsb2FkIGEgZmlsZS4nLCdNYXhpbXVtIGFsbG93ZWQgZmlsZSBzaXplIGlzICVzQi4nLCdGaWxlIGRvZXMgbm90IGV4aXN0LicsJ2VtcHR5Jywnb3JpZ2luYWwnLCdObyB0YWJsZXMuJywnTGFuZ3VhZ2UnLCdVc2UnLCdQbGVhc2UgdXNlIG9uZSBvZiB0aGUgZXh0ZW5zaW9ucyAlcy4nLCdGaWxlIGV4aXN0cy4nLCdVc2VyIHR5cGVzJywnTnVtYmVycycsJ0RhdGUgYW5kIHRpbWUnLCdTdHJpbmdzJywnQmluYXJ5JywnTmV0d29yaycsJ0dlb21ldHJ5JywnTGlzdHMnLCdTeXN0ZW0nLCdTZXJ2ZXInLCdVc2VybmFtZScsJ1Bhc3N3b3JkJywnTG9naW4nLCdQZXJtYW5lbnQgbG9naW4nLCdTZWxlY3QgZGF0YScsJ1Nob3cgc3RydWN0dXJlJywnQWx0ZXIgdmlldycsJ0FsdGVyIHRhYmxlJywnTmV3IGl0ZW0nLCdMYXN0IHBhZ2UnLCdFZGl0JyxhcnJheSgnJWQgYnl0ZScsJyVkIGJ5dGVzJyksJ1NlbGVjdCcsJ0Z1bmN0aW9ucycsJ0FnZ3JlZ2F0aW9uJywnU2VhcmNoJywnYW55d2hlcmUnLCdTb3J0JywnZGVzY2VuZGluZycsJ0xpbWl0JywnVGV4dCBsZW5ndGgnLCdBY3Rpb24nLCdTUUwgY29tbWFuZCcsJ29wZW4nLCdzYXZlJywnQWx0ZXIgZGF0YWJhc2UnLCdBbHRlciBzY2hlbWEnLCdDcmVhdGUgc2NoZW1hJywnRGF0YWJhc2Ugc2NoZW1hJywnUHJpdmlsZWdlcycsJ0R1bXAnLCdMb2dvdXQnLCdkYXRhYmFzZScsJ3NjaGVtYScsJ0NyZWF0ZSBuZXcgdGFibGUnLCdzZWxlY3QnLCdsdHInLCdSZXNlbmQgUE9TVCBkYXRhPycsJ0ludmFsaWQgQ1NSRiB0b2tlbi4gU2VuZCB0aGUgZm9ybSBhZ2Fpbi4nLCdMb2dvdXQgc3VjY2Vzc2Z1bC4nLCdTZXNzaW9uIHN1cHBvcnQgbXVzdCBiZSBlbmFibGVkLicsJ1Nlc3Npb24gZXhwaXJlZCwgcGxlYXNlIGxvZ2luIGFnYWluLicsJ0ludmFsaWQgY3JlZGVudGlhbHMuJywnTm8gZXh0ZW5zaW9uJywnTm9uZSBvZiB0aGUgc3VwcG9ydGVkIFBIUCBleHRlbnNpb25zICglcykgYXJlIGF2YWlsYWJsZS4nLCdUb28gYmlnIFBPU1QgZGF0YS4gUmVkdWNlIHRoZSBkYXRhIG9yIGluY3JlYXNlIHRoZSAlcyBjb25maWd1cmF0aW9uIGRpcmVjdGl2ZS4nLCdEYXRhYmFzZScsJ0ludmFsaWQgZGF0YWJhc2UuJywnRGF0YWJhc2VzIGhhdmUgYmVlbiBkcm9wcGVkLicsJ1NlbGVjdCBkYXRhYmFzZScsJ0NyZWF0ZSBuZXcgZGF0YWJhc2UnLCdQcm9jZXNzIGxpc3QnLCdWYXJpYWJsZXMnLCdTdGF0dXMnLCclcyB2ZXJzaW9uOiAlcyB0aHJvdWdoIFBIUCBleHRlbnNpb24gJXMnLCdMb2dnZWQgYXM6ICVzJywnQ29sbGF0aW9uJywnVGFibGVzJywnRHJvcCcsJ1JlZnJlc2gnLCdTY2hlbWEnLCdJbnZhbGlkIHNjaGVtYS4nLCdObyByb3dzLicsJyUuM2YgcycsJ0ZvcmVpZ24ga2V5cycsJ2NvbGxhdGlvbicsJ09OIERFTEVURScsJ0NvbHVtbiBuYW1lJywnUGFyYW1ldGVyIG5hbWUnLCdUeXBlJywnTGVuZ3RoJywnT3B0aW9ucycsJ0F1dG8gSW5jcmVtZW50JywnRGVmYXVsdCB2YWx1ZXMnLCdDb21tZW50JywnQWRkIG5leHQnLCdNb3ZlIHVwJywnTW92ZSBkb3duJywnUmVtb3ZlJywnVmlldycsJ1RhYmxlJywnQ29sdW1uJywnSW5kZXhlcycsJ0FsdGVyIGluZGV4ZXMnLCdTb3VyY2UnLCdUYXJnZXQnLCdPTiBVUERBVEUnLCdBbHRlcicsJ0FkZCBmb3JlaWduIGtleScsJ1RyaWdnZXJzJywnQWRkIHRyaWdnZXInLCdQZXJtYW5lbnQgbGluaycsJ0V4cG9ydCcsJ091dHB1dCcsJ0Zvcm1hdCcsJ1JvdXRpbmVzJywnRXZlbnRzJywnRGF0YScsJ0NyZWF0ZSB1c2VyJywnRXJyb3IgaW4gcXVlcnknLGFycmF5KCclZCByb3cnLCclZCByb3dzJyksYXJyYXkoJ1F1ZXJ5IGV4ZWN1dGVkIE9LLCAlZCByb3cgYWZmZWN0ZWQuJywnUXVlcnkgZXhlY3V0ZWQgT0ssICVkIHJvd3MgYWZmZWN0ZWQuJyksJ05vIGNvbW1hbmRzIHRvIGV4ZWN1dGUuJyxhcnJheSgnJWQgcXVlcnkgZXhlY3V0ZWQgT0suJywnJWQgcXVlcmllcyBleGVjdXRlZCBPSy4nKSwnRmlsZSB1cGxvYWQnLCdGaWxlIHVwbG9hZHMgYXJlIGRpc2FibGVkLicsJ0V4ZWN1dGUnLCdTdG9wIG9uIGVycm9yJywnU2hvdyBvbmx5IGVycm9ycycsJ0Zyb20gc2VydmVyJywnV2Vic2VydmVyIGZpbGUgJXMnLCdSdW4gZmlsZScsJ0hpc3RvcnknLCdDbGVhcicsJ0VkaXQgYWxsJywnSXRlbSBoYXMgYmVlbiBkZWxldGVkLicsJ0l0ZW0gaGFzIGJlZW4gdXBkYXRlZC4nLCdJdGVtJXMgaGFzIGJlZW4gaW5zZXJ0ZWQuJywnSW5zZXJ0JywnU2F2ZScsJ1NhdmUgYW5kIGNvbnRpbnVlIGVkaXQnLCdTYXZlIGFuZCBpbnNlcnQgbmV4dCcsJ0RlbGV0ZScsJ1RhYmxlIGhhcyBiZWVuIGRyb3BwZWQuJywnVGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4nLCdUYWJsZSBoYXMgYmVlbiBjcmVhdGVkLicsJ0NyZWF0ZSB0YWJsZScsJ01heGltdW0gbnVtYmVyIG9mIGFsbG93ZWQgZmllbGRzIGV4Y2VlZGVkLiBQbGVhc2UgaW5jcmVhc2UgJXMgYW5kICVzLicsJ1RhYmxlIG5hbWUnLCdlbmdpbmUnLCdQYXJ0aXRpb24gYnknLCdQYXJ0aXRpb25zJywnUGFydGl0aW9uIG5hbWUnLCdWYWx1ZXMnLCdJbmRleGVzIGhhdmUgYmVlbiBhbHRlcmVkLicsJ0luZGV4IFR5cGUnLCdDb2x1bW4gKGxlbmd0aCknLCdOYW1lJywnRGF0YWJhc2UgaGFzIGJlZW4gZHJvcHBlZC4nLCdEYXRhYmFzZSBoYXMgYmVlbiByZW5hbWVkLicsJ0RhdGFiYXNlIGhhcyBiZWVuIGNyZWF0ZWQuJywnRGF0YWJhc2UgaGFzIGJlZW4gYWx0ZXJlZC4nLCdDcmVhdGUgZGF0YWJhc2UnLCdTY2hlbWEgaGFzIGJlZW4gZHJvcHBlZC4nLCdTY2hlbWEgaGFzIGJlZW4gY3JlYXRlZC4nLCdTY2hlbWEgaGFzIGJlZW4gYWx0ZXJlZC4nLCdDYWxsJyxhcnJheSgnUm91dGluZSBoYXMgYmVlbiBjYWxsZWQsICVkIHJvdyBhZmZlY3RlZC4nLCdSb3V0aW5lIGhhcyBiZWVuIGNhbGxlZCwgJWQgcm93cyBhZmZlY3RlZC4nKSwnRm9yZWlnbiBrZXkgaGFzIGJlZW4gZHJvcHBlZC4nLCdGb3JlaWduIGtleSBoYXMgYmVlbiBhbHRlcmVkLicsJ0ZvcmVpZ24ga2V5IGhhcyBiZWVuIGNyZWF0ZWQuJywnU291cmNlIGFuZCB0YXJnZXQgY29sdW1ucyBtdXN0IGhhdmUgdGhlIHNhbWUgZGF0YSB0eXBlLCB0aGVyZSBtdXN0IGJlIGFuIGluZGV4IG9uIHRoZSB0YXJnZXQgY29sdW1ucyBhbmQgcmVmZXJlbmNlZCBkYXRhIG11c3QgZXhpc3QuJywnRm9yZWlnbiBrZXknLCdUYXJnZXQgdGFibGUnLCdDaGFuZ2UnLCdBZGQgY29sdW1uJywnVmlldyBoYXMgYmVlbiBkcm9wcGVkLicsJ1ZpZXcgaGFzIGJlZW4gYWx0ZXJlZC4nLCdWaWV3IGhhcyBiZWVuIGNyZWF0ZWQuJywnQ3JlYXRlIHZpZXcnLCdFdmVudCBoYXMgYmVlbiBkcm9wcGVkLicsJ0V2ZW50IGhhcyBiZWVuIGFsdGVyZWQuJywnRXZlbnQgaGFzIGJlZW4gY3JlYXRlZC4nLCdBbHRlciBldmVudCcsJ0NyZWF0ZSBldmVudCcsJ1N0YXJ0JywnRW5kJywnRXZlcnknLCdPbiBjb21wbGV0aW9uIHByZXNlcnZlJywnUm91dGluZSBoYXMgYmVlbiBkcm9wcGVkLicsJ1JvdXRpbmUgaGFzIGJlZW4gYWx0ZXJlZC4nLCdSb3V0aW5lIGhhcyBiZWVuIGNyZWF0ZWQuJywnQWx0ZXIgZnVuY3Rpb24nLCdBbHRlciBwcm9jZWR1cmUnLCdDcmVhdGUgZnVuY3Rpb24nLCdDcmVhdGUgcHJvY2VkdXJlJywnUmV0dXJuIHR5cGUnLCdTZXF1ZW5jZSBoYXMgYmVlbiBkcm9wcGVkLicsJ1NlcXVlbmNlIGhhcyBiZWVuIGNyZWF0ZWQuJywnU2VxdWVuY2UgaGFzIGJlZW4gYWx0ZXJlZC4nLCdBbHRlciBzZXF1ZW5jZScsJ0NyZWF0ZSBzZXF1ZW5jZScsJ1R5cGUgaGFzIGJlZW4gZHJvcHBlZC4nLCdUeXBlIGhhcyBiZWVuIGNyZWF0ZWQuJywnQWx0ZXIgdHlwZScsJ0NyZWF0ZSB0eXBlJywnVHJpZ2dlciBoYXMgYmVlbiBkcm9wcGVkLicsJ1RyaWdnZXIgaGFzIGJlZW4gYWx0ZXJlZC4nLCdUcmlnZ2VyIGhhcyBiZWVuIGNyZWF0ZWQuJywnQWx0ZXIgdHJpZ2dlcicsJ0NyZWF0ZSB0cmlnZ2VyJywnVGltZScsJ0V2ZW50JywnVXNlciBoYXMgYmVlbiBkcm9wcGVkLicsJ1VzZXIgaGFzIGJlZW4gYWx0ZXJlZC4nLCdVc2VyIGhhcyBiZWVuIGNyZWF0ZWQuJywnSGFzaGVkJywnUm91dGluZScsJ0dyYW50JywnUmV2b2tlJyxhcnJheSgnJWQgcHJvY2VzcyBoYXMgYmVlbiBraWxsZWQuJywnJWQgcHJvY2Vzc2VzIGhhdmUgYmVlbiBraWxsZWQuJyksJyVkIGluIHRvdGFsJywnS2lsbCcsYXJyYXkoJyVkIGl0ZW0gaGFzIGJlZW4gYWZmZWN0ZWQuJywnJWQgaXRlbXMgaGF2ZSBiZWVuIGFmZmVjdGVkLicpLCdEb3VibGUgY2xpY2sgb24gYSB2YWx1ZSB0byBtb2RpZnkgaXQuJyxhcnJheSgnJWQgcm93IGhhcyBiZWVuIGltcG9ydGVkLicsJyVkIHJvd3MgaGF2ZSBiZWVuIGltcG9ydGVkLicpLCdVbmFibGUgdG8gc2VsZWN0IHRoZSB0YWJsZScsJ2VkaXQnLCdSZWxhdGlvbnMnLCdVc2UgZWRpdCBsaW5rIHRvIG1vZGlmeSB0aGlzIHZhbHVlLicsJ1BhZ2UnLCdsYXN0Jywnd2hvbGUgcmVzdWx0JywnQ2xvbmUnLCdJbXBvcnQnLCcsJywnVGFibGVzIGhhdmUgYmVlbiB0cnVuY2F0ZWQuJywnVGFibGVzIGhhdmUgYmVlbiBtb3ZlZC4nLCdUYWJsZXMgaGF2ZSBiZWVuIGNvcGllZC4nLCdUYWJsZXMgaGF2ZSBiZWVuIGRyb3BwZWQuJywnVGFibGVzIGFuZCB2aWV3cycsJ1NlYXJjaCBkYXRhIGluIHRhYmxlcycsJ0VuZ2luZScsJ0RhdGEgTGVuZ3RoJywnSW5kZXggTGVuZ3RoJywnRGF0YSBGcmVlJywnUm93cycsJ0FuYWx5emUnLCdPcHRpbWl6ZScsJ0NoZWNrJywnUmVwYWlyJywnVHJ1bmNhdGUnLCdNb3ZlIHRvIG90aGVyIGRhdGFiYXNlJywnTW92ZScsJ0NvcHknLCdTZXF1ZW5jZXMnLCdTY2hlZHVsZScsJ0F0IGdpdmVuIHRpbWUnLGFycmF5KCclZCBlLW1haWwgaGFzIGJlZW4gc2VudC4nLCclZCBlLW1haWxzIGhhdmUgYmVlbiBzZW50LicpKTticmVhaztjYXNlImNzIjokUj1hcnJheSgnT3ByYXZkdT8nLCdOZXBvZGHFmWlsbyBzZSBuYWhyw6F0IHNvdWJvci4nLCdNYXhpbcOhbG7DrSBwb3ZvbGVuw6EgdmVsaWtvc3Qgc291Ym9ydSBqZSAlc0IuJywnU291Ym9yIG5lZXhpc3R1amUuJywncHLDoXpkbsOpJywncMWvdm9kbsOtJywnxb3DoWRuw6kgdGFidWxreS4nLCdKYXp5aycsJ1Z5YnJhdCcsJ1Byb3PDrW0gcG91xb5panRlIGplZG51IHoga29uY292ZWsgJXMuJywnU291Ym9yIGV4aXN0dWplLicsJ1XFvml2YXRlbHNrw6kgdHlweScsJ8SMw61zbGEnLCdEYXR1bSBhIMSNYXMnLCfFmGV0xJt6Y2UnLCdCaW7DoXJuw60nLCdTw63FpScsJ0dlb21ldHJpZScsJ1Nlem5hbXknLCdTeXN0w6ltJywnU2VydmVyJywnVcW+aXZhdGVsJywnSGVzbG8nLCdQxZlpaGzDoXNpdCBzZScsJ1RydmFsw6kgcMWZaWhsw6HFoWVuw60nLCdWeXBzYXQgZGF0YScsJ1pvYnJheml0IHN0cnVrdHVydScsJ1Bvem3Em25pdCBwb2hsZWQnLCdQb3ptxJtuaXQgdGFidWxrdScsJ05vdsOhIHBvbG/FvmthJywnUG9zbGVkbsOtIHN0csOhbmthJywnVXByYXZpdCcsYXJyYXkoJyVkIGJhanQnLCclZCBiYWp0eScsJyVkIGJhanTFrycpLCdWeXBzYXQnLCdGdW5rY2UnLCdBZ3JlZ2FjZScsJ1Z5aGxlZGF0Jywna2Rla29saXYnLCdTZcWZYWRpdCcsJ3Nlc3R1cG7EmycsJ0xpbWl0JywnRMOpbGthIHRleHTFrycsJ0FrY2UnLCdTUUwgcMWZw61rYXonLCdvdGV2xZnDrXQnLCd1bG/Fvml0JywnUG96bcSbbml0IGRhdGFiw6F6aScsJ1Bvem3Em25pdCBzY2jDqW1hJywnVnl0dm/FmWl0IHNjaMOpbWEnLCdTY2jDqW1hIGRhdGFiw6F6ZScsJ09wcsOhdm7Em27DrScsJ0V4cG9ydCcsJ09kaGzDoXNpdCcsJ2RhdGFiw6F6ZScsJ3NjaMOpbWEnLCdWeXR2b8WZaXQgbm92b3UgdGFidWxrdScsJ3Z5cHNhdCcsJ2x0cicsJ1pub3Z1IG9kZXNsYXQgUE9TVCBkYXRhPycsJ05lcGxhdG7DvSB0b2tlbiBDU1JGLiBPZGXFoWxldGUgZm9ybXVsw6HFmSB6bm92dS4nLCdPZGhsw6HFoWVuw60gcHJvYsSbaGxvIHYgcG/FmcOhZGt1LicsJ1Nlc3Npb24gcHJvbcSbbm7DqSBtdXPDrSBiw710IHBvdm9sZW7DqS4nLCdTZXNzaW9uIHZ5cHLFoWVsYSwgcMWZaWhsYcWhdGUgc2UgcHJvc8OtbSB6bm92dS4nLCdOZXBsYXRuw6kgcMWZaWhsYcWhb3ZhY8OtIMO6ZGFqZS4nLCfFvcOhZG7DoSBleHRlbnplJywnTmVuw60gZG9zdHVwbsOhIMW+w6FkbsOhIHogcG9kcG9yb3ZhbsO9Y2ggUEhQIGV4dGVuesOtICglcykuJywnUMWZw61sacWhIHZlbGvDoSBQT1NUIGRhdGEuIFptZW7FoWV0ZSBkYXRhIG5lYm8genZ5xaF0ZSBob2Rub3R1IGtvbmZpZ3VyYcSNbsOtIGRpcmVrdGl2eSAlcy4nLCdEYXRhYsOhemUnLCdOZXNwcsOhdm7DoSBkYXRhYsOhemUuJywnRGF0YWLDoXplIGJ5bHkgb2RzdHJhbsSbbnkuJywnVnlicmF0IGRhdGFiw6F6aScsJ1Z5dHZvxZlpdCBub3ZvdSBkYXRhYsOhemknLCdTZXpuYW0gcHJvY2Vzxa8nLCdQcm9txJtubsOpJywnU3RhdicsJ1ZlcnplICVzOiAlcyBwxZllcyBQSFAgZXh0ZW56aSAlcycsJ1DFmWlobMOhxaFlbiBqYWtvOiAlcycsJ1Bvcm92bsOhdsOhbsOtJywnVGFidWxreScsJ09kc3RyYW5pdCcsJ09ibm92aXQnLCdTY2jDqW1hJywnTmVzcHLDoXZuw6kgc2Now6ltYS4nLCfFvcOhZG7DqSDFmcOhZGt5LicsJyUuM2YgcycsJ0NpesOtIGtsw63EjWUnLCdwb3Jvdm7DoXbDoW7DrScsJ1DFmWkgc21hesOhbsOtJywnTsOhemV2IHNsb3VwY2UnLCdOw6F6ZXYgcGFyYW1ldHJ1JywnVHlwJywnRMOpbGthJywnVm9sYnknLCdBdXRvIEluY3JlbWVudCcsJ1bDvWNob3rDrSBob2Rub3R5JywnS29tZW50w6HFmScsJ1DFmWlkYXQgZGFsxaHDrScsJ1DFmWVzdW5vdXQgbmFob3J1JywnUMWZZXN1bm91dCBkb2zFrycsJ09kZWJyYXQnLCdQb2hsZWQnLCdUYWJ1bGthJywnU2xvdXBlYycsJ0luZGV4eScsJ1Bvem3Em25pdCBpbmRleHknLCdaZHJvaicsJ0PDrWwnLCdQxZlpIHptxJtuxJsnLCdabcSbbml0JywnUMWZaWRhdCBjaXrDrSBrbMOtxI0nLCdUcmlnZ2VyeScsJ1DFmWlkYXQgdHJpZ2dlcicsJ1RydmFsw70gb2RrYXonLCdFeHBvcnQnLCdWw71zdHVwJywnRm9ybcOhdCcsJ1Byb2NlZHVyeSBhIGZ1bmtjZScsJ1Vkw6Fsb3N0aScsJ0RhdGEnLCdWeXR2b8WZaXQgdcW+aXZhdGVsZScsJ0NoeWJhIHYgZG90YXp1JyxhcnJheSgnJWQgxZnDoWRlaycsJyVkIMWZw6Fka3knLCclZCDFmcOhZGvFrycpLGFycmF5KCdQxZnDrWtheiBwcm9ixJtobCB2IHBvxZnDoWRrdSwgYnlsIHptxJtuxJtuICVkIHrDoXpuYW0uJywnUMWZw61rYXogcHJvYsSbaGwgdiBwb8WZw6Fka3UsIGJ5bHkgem3Em27Em255ICVkIHrDoXpuYW15LicsJ1DFmcOta2F6IHByb2LEm2hsIHYgcG/FmcOhZGt1LCBieWxvIHptxJtuxJtubyAlZCB6w6F6bmFtxa8uJyksJ8W9w6FkbsOpIHDFmcOta2F6eSBrIHZ5a29uw6Fuw60uJyxhcnJheSgnJWQgcMWZw61rYXogcHJvYsSbaGwgdiBwb8WZw6Fka3UuJywnJWQgcMWZw61rYXp5IHByb2LEm2hseSB2IHBvxZnDoWRrdS4nLCclZCBwxZnDrWthesWvIHByb2LEm2hsbyB2IHBvxZnDoWRrdS4nKSwnTmFocsOhbsOtIHNvdWJvcnUnLCdOYWhyw6F2w6Fuw60gc291Ym9yxa8gbmVuw60gcG92b2xlbm8uJywnUHJvdsOpc3QnLCdaYXN0YXZpdCBwxZlpIGNoeWLEmycsJ1pvYnJheml0IHBvdXplIGNoeWJ5JywnWmUgc2VydmVydScsJ1NvdWJvciAlcyBuYSB3ZWJvdsOpbSBzZXJ2ZXJ1JywnU3B1c3RpdCBzb3Vib3InLCdIaXN0b3JpZScsJ1Z5xI1pc3RpdCcsJ1VwcmF2aXQgdsWhZScsJ1BvbG/FvmthIGJ5bGEgc21hesOhbmEuJywnUG9sb8W+a2EgYnlsYSBha3R1YWxpem92w6FuYS4nLCdQb2xvxb5rYSVzIGJ5bGEgdmxvxb5lbmEuJywnVmxvxb5pdCcsJ1Vsb8W+aXQnLCdVbG/Fvml0IGEgcG9rcmHEjW92YXQgdiBlZGl0YWNpJywnVWxvxb5pdCBhIHZsb8W+aXQgZGFsxaHDrScsJ1NtYXphdCcsJ1RhYnVsa2EgYnlsYSBvZHN0cmFuxJtuYS4nLCdUYWJ1bGthIGJ5bGEgem3Em27Em25hLicsJ1RhYnVsa2EgYnlsYSB2eXR2b8WZZW5hLicsJ1Z5dHZvxZlpdCB0YWJ1bGt1JywnQnlsIHDFmWVrcm/EjWVuIG1heGltw6FsbsOtIHBvdm9sZW7DvSBwb8SNZXQgcG9sw60uIFp2ecWhdGUgcHJvc8OtbSAlcyBhICVzLicsJ07DoXpldiB0YWJ1bGt5Jywnw7psb8W+acWhdMSbJywnUm96ZMSbbGl0IHBvZGxlJywnT2Rkw61seScsJ07DoXpldiBvZGTDrWx1JywnSG9kbm90eScsJ0luZGV4eSBieWx5IHptxJtuxJtueS4nLCdUeXAgaW5kZXh1JywnU2xvdXBlYyAoZMOpbGthKScsJ07DoXpldicsJ0RhdGFiw6F6ZSBieWxhIG9kc3RyYW7Em25hLicsJ0RhdGFiw6F6ZSBieWxhIHDFmWVqbWVub3bDoW5hLicsJ0RhdGFiw6F6ZSBieWxhIHZ5dHZvxZllbmEuJywnRGF0YWLDoXplIGJ5bGEgem3Em27Em25hLicsJ1Z5dHZvxZlpdCBkYXRhYsOhemknLCdTY2jDqW1hIGJ5bG8gb2RzdHJhbsSbbm8uJywnU2Now6ltYSBieWxvIHZ5dHZvxZllbm8uJywnU2Now6ltYSBieWxvIHptxJtuxJtuby4nLCdaYXZvbGF0JyxhcnJheSgnUHJvY2VkdXJhIGJ5bGEgemF2b2zDoW5hLCBieWwgem3Em27Em24gJWQgesOhem5hbS4nLCdQcm9jZWR1cmEgYnlsYSB6YXZvbMOhbmEsIGJ5bHkgem3Em27Em255ICVkIHrDoXpuYW15LicsJ1Byb2NlZHVyYSBieWxhIHphdm9sw6FuYSwgYnlsbyB6bcSbbsSbbm8gJWQgesOhem5hbcWvLicpLCdDaXrDrSBrbMOtxI0gYnlsIG9kc3RyYW7Em24uJywnQ2l6w60ga2zDrcSNIGJ5bCB6bcSbbsSbbi4nLCdDaXrDrSBrbMOtxI0gYnlsIHZ5dHZvxZllbi4nLCdaZHJvam92w6kgYSBjw61sb3bDqSBzbG91cGNlIG11c8OtIG3DrXQgc3Rlam7DvSBkYXRvdsO9IHR5cCwgbmFkIGPDrWxvdsO9bWkgc2xvdXBjaSBtdXPDrSBiw710IGRlZmlub3bDoW4gaW5kZXggYSBvZGthem92YW7DoSBkYXRhIG11c8OtIGV4aXN0b3ZhdC4nLCdDaXrDrSBrbMOtxI0nLCdDw61sb3bDoSB0YWJ1bGthJywnWm3Em25pdCcsJ1DFmWlkYXQgc2xvdXBlYycsJ1BvaGxlZCBieWwgb2RzdHJhbsSbbi4nLCdQb2hsZWQgYnlsIHptxJtuxJtuLicsJ1BvaGxlZCBieWwgdnl0dm/FmWVuLicsJ1Z5dHZvxZlpdCBwb2hsZWQnLCdVZMOhbG9zdCBieWxhIG9kc3RyYW7Em25hLicsJ1Vkw6Fsb3N0IGJ5bGEgem3Em27Em25hLicsJ1Vkw6Fsb3N0IGJ5bGEgdnl0dm/FmWVuYS4nLCdQb3ptxJtuaXQgdWTDoWxvc3QnLCdWeXR2b8WZaXQgdWTDoWxvc3QnLCdaYcSNw6F0ZWsnLCdLb25lYycsJ0thxb5kw71jaCcsJ1BvIGRva29uxI1lbsOtIHphY2hvdmF0JywnUHJvY2VkdXJhIGJ5bGEgb2RzdHJhbsSbbmEuJywnUHJvY2VkdXJhIGJ5bGEgem3Em27Em25hLicsJ1Byb2NlZHVyYSBieWxhIHZ5dHZvxZllbmEuJywnWm3Em25pdCBmdW5rY2knLCdabcSbbml0IHByb2NlZHVydScsJ1Z5dHZvxZlpdCBmdW5rY2knLCdWeXR2b8WZaXQgcHJvY2VkdXJ1JywnTsOhdnJhdG92w70gdHlwJywnU2VrdmVuY2UgYnlsYSBvZHN0cmFuxJtuYS4nLCdTZWt2ZW5jZSBieWxhIHZ5dHZvxZllbmEuJywnU2VrdmVuY2UgYnlsYSB6bcSbbsSbbmEuJywnUG96bcSbbml0IHNla3ZlbmNpJywnVnl0dm/FmWl0IHNla3ZlbmNpJywnVHlwIGJ5bCBvZHN0cmFuxJtuLicsJ1R5cCBieWwgdnl0dm/FmWVuLicsJ1Bvem3Em25pdCB0eXAnLCdWeXR2b8WZaXQgdHlwJywnVHJpZ2dlciBieWwgb2RzdHJhbsSbbi4nLCdUcmlnZ2VyIGJ5bCB6bcSbbsSbbi4nLCdUcmlnZ2VyIGJ5bCB2eXR2b8WZZW4uJywnWm3Em25pdCB0cmlnZ2VyJywnVnl0dm/FmWl0IHRyaWdnZXInLCfEjGFzJywnVWTDoWxvc3QnLCdVxb5pdmF0ZWwgYnlsIG9kc3RyYW7Em24uJywnVcW+aXZhdGVsIGJ5bCB6bcSbbsSbbi4nLCdVxb5pdmF0ZWwgYnlsIHZ5dHZvxZllbi4nLCdaYWhhxaFvdmFuw6knLCdQcm9jZWR1cmEnLCdQb3ZvbGl0JywnWmFrw6F6YXQnLGFycmF5KCdCeWwgdWtvbsSNZW4gJWQgcHJvY2VzLicsJ0J5bHkgdWtvbsSNZW55ICVkIHByb2Nlc3kuJywnQnlsbyB1a29uxI1lbm8gJWQgcHJvY2Vzxa8uJyksJyVkIGNlbGtlbScsJ1Vrb27EjWl0JyxhcnJheSgnQnlsIG92bGl2bsSbbiAlZCB6w6F6bmFtLicsJ0J5bHkgb3ZsaXZuxJtueSAlZCB6w6F6bmFteS4nLCdCeWxvIG92bGl2bsSbbm8gJWQgesOhem5hbcWvLicpLCdEdm9qa2xpa27Em3RlIG5hIHBvbMOtxI1rbywga3RlcsOpIGNoY2V0ZSB6bcSbbml0LicsYXJyYXkoJ0J5bCBpbXBvcnRvdsOhbiAlZCB6w6F6bmFtLicsJ0J5bHkgaW1wb3J0b3bDoW55ICVkIHrDoXpuYW15LicsJ0J5bG8gaW1wb3J0b3bDoW5vICVkIHrDoXpuYW3Fry4nKSwnTmVwb2RhxZlpbG8gc2Ugdnlwc2F0IHRhYnVsa3UnLCd1cHJhdml0JywnVnp0YWh5JywnS2Ugem3Em27EmyB0w6l0byBob2Rub3R5IHBvdcW+aWp0ZSBvZGtheiB1cHJhdml0LicsJ1N0csOhbmthJywncG9zbGVkbsOtJywnY2Vsw70gdsO9c2xlZGVrJywnS2xvbm92YXQnLCdJbXBvcnQnLCcgJywnVGFidWxreSBieWx5IHZ5cHLDoXpkbsSbbnkuJywnVGFidWxreSBieWx5IHDFmWVzdW51dHkuJywnVGFidWxreSBieWx5IHprb3DDrXJvdsOhbnkuJywnVGFidWxreSBieWx5IG9kc3RyYW7Em255LicsJ1RhYnVsa3kgYSBwb2hsZWR5JywnVnlobGVkYXQgZGF0YSB2IHRhYnVsa8OhY2gnLCfDmmxvxb5pxaF0xJsnLCdWZWxpa29zdCBkYXQnLCdWZWxpa29zdCBpbmRleMWvJywnVm9sbsOpIG3DrXN0bycsJ8WYw6Fka8WvJywnQW5hbHl6b3ZhdCcsJ09wdGltYWxpem92YXQnLCdaa29udHJvbG92YXQnLCdPcHJhdml0JywnVnlwcsOhemRuaXQnLCdQxZllc3Vub3V0IGRvIGppbsOpIGRhdGFiw6F6ZScsJ1DFmWVzdW5vdXQnLCdaa29ww61yb3ZhdCcsJ1Nla3ZlbmNlJywnUGzDoW4nLCdWIGRhbsO9IMSNYXMnLCd0ZcSPJyk7YnJlYWs7Y2FzZSJzayI6JFI9YXJyYXkoJ05hb3phaj8nLCdTw7pib3Igc2EgbmVwb2RhcmlsbyBuYWhyYcWlLicsJ01heGltw6FsbmEgcG92b2xlbsOhIHZlxL5rb3PFpSBzw7pib3J1IGplICVzQi4nLCdTw7pib3IgbmVleGlzdHVqZS4nLCdwcsOhemRuZScsJ29yaWdpbsOhbCcsJ8W9aWFkbmUgdGFidcS+a3kuJywnSmF6eWsnLCdWeWJyYcWlJywnUHJvc8OtbSB2eWJlcnRlIGplZG51IHoga29uY292aWVrICVzLicsJ1PDumJvciBleGlzdHVqZS4nLCdVxb7DrXZhdGXEvnNrw6kgdHlweScsJ8SMw61zbGEnLCdEw6F0dW0gYSDEjWFzJywnUmXFpWF6Y2UnLCdCaW7DoXJuZScsJ1NpZcWlJywnR2VvbWV0cmlhJywnWm96bmFteScsJ1N5c3TDqW0nLCdTZXJ2ZXInLCdQb3XFvsOtdmF0ZcS+JywnSGVzbG8nLCdQcmlobMOhc2nFpSBzYScsJ1RydmFsw6kgcHJpaGzDoXNlbmllJywnVnlww61zYcWlIGTDoXRhJywnWm9icmF6acWlIMWhdHJ1a3TDunJ1JywnWm1lbmnFpSBwb2jEvmFkJywnWm1lbmnFpSB0YWJ1xL5rdScsJ05vdsOhIHBvbG/FvmthJywnUG9zbGVkbsOhIHN0csOhbmthJywnVXByYXZpxaUnLGFycmF5KCclZCBiYWp0JywnJWQgYmFqdHknLCclZCBiYWp0b3YnKSwnVnlww61zYcWlJywnRnVua2NpZScsJ0FncmVnw6FjaWEnLCdWeWjEvmFkYcWlJywna2Rla2/EvnZlaycsJ1pvdHJpZWRpxaUnLCd6b3N0dXBuZScsJ0xpbWl0JywnRMS6xb5rYSB0ZXh0b3YnLCdBa2NpYScsJ1NRTCBwcsOta2F6Jywnb3R2b3JpxaUnLCd1bG/FvmnFpScsJ1ptZW5pxaUgZGF0YWLDoXp1JywnUG96bWVuacWlIHNjaMOpbXUnLCdWeXR2b3JpxaUgc2Now6ltdScsJ1NjaMOpbWEgZGF0YWLDoXp5JywnT3Byw6F2bmVuaWEnLCdFeHBvcnQnLCdPZGhsw6FzacWlJywnZGF0YWLDoXphJywnc2Now6ltYScsJ1Z5dHZvcmnFpSBub3bDuiB0YWJ1xL5rdScsJ3Z5cMOtc2HFpScsJ2x0cicsJ1pub3Z1IHBvc2xhxaUgUE9TVCBkYXRhPycsJ05lcGxhdG7DvSB0b2tlbiBDU1JGLiBPZG/FoWxpdGUgZm9ybXVsw6FyIHpub3ZhLicsJ09kaGzDoXNlbmllIHByZWJlaGxvIHYgcG9yaWFka3UuJywnU2Vzc2lvbiBwcmVtZW5uw6kgbXVzaWEgYnnFpSBwb3ZvbGVuw6kuJywnU2Vzc2lvbiB2eXByxaFhbGEsIHByaWhsw6FzdGUgc2EgcHJvc8OtbSB6bm92YS4nLCdOZXBsYXRuw6kgcHJpaGxhc292YWNpZSDDumRhamUuJywnxb1pYWRuZSByb3rFocOtcmVuaWUnLCdOaWUgamUgZG9zdHVwbsOpIMW+aWFkbmUgeiBwb2Rwb3JvdmFuw71jaCByb3rFocOtcmVuw60gKCVzKS4nLCdQcsOtbGnFoSB2ZcS+a8OpIFBPU1QgZMOhdGEuIFptZW7FoWl0ZSBkw6F0YSBhbGVibyB6dsO9xaF0ZSBob2Rub3R1IGtvbmZpZ3VyYcSNZWogZGlyZWt0w612eSAlcy4nLCdEYXRhYsOhemEnLCdOZXNwcsOhdm5hIGRhdGFiw6F6YS4nLCdEYXRhYsOhenkgYm9saSBvZHN0csOhbmVuw6kuJywnVnlicmHFpSBkYXRhYsOhenUnLCdWeXR2b3JpxaUgbm92w7ogZGF0YWLDoXp1JywnWm96bmFtIHByb2Nlc292JywnUHJlbWVubsOpJywnU3RhdicsJ1ZlcnppYSAlczogJXMgY2V6IFBIUCByb3rFocOtcmVuaWUgJXMnLCdQcmlobMOhc2Vuw70gYWtvOiAlcycsJ1Bvcm92bsOhdmFuaWUnLCdUYWJ1xL5reScsJ09kc3Ryw6FuacWlJywnT2Jub3ZpxaUnLCdTY2jDqW1hJywnTmVwbGF0bsOpIHNjaMOpbWEuJywnxb1pYWRuZSByaWFka3kuJywnJS4zZiBzJywnQ3VkemllIGvEvsO6xI1lJywncG9yb3Zuw6F2YW5pZScsJ09OIERFTEVURScsJ07DoXpvdiBzdMS6cGNhJywnTsOhem92IHBhcmFtZXRyYScsJ1R5cCcsJ0TEusW+a2EnLCdWb8S+YnknLCdBdXRvIEluY3JlbWVudCcsJ1bDvWNob2R6aWUgaG9kbm90eScsJ0tvbWVudMOhcicsJ1ByaWRhxaUgxI9hbMWhw60nLCdQcmVzdW7DusWlIGhvcmUnLCdQcmVzdW7DusWlIGRvbHUnLCdPZG9icmHFpScsJ1BvaMS+YWQnLCdUYWJ1xL5rYScsJ1N0xLpwZWMnLCdJbmRleHknLCdabWVuacWlIGluZGV4eScsJ1pkcm9qJywnQ2llxL4nLCdPTiBVUERBVEUnLCdabWVuacWlJywnUHJpZGHFpSBjdWR6w60ga8S+w7rEjScsJ1RyaWdnZXJ5JywnUHJpZGHFpSB0cmlnZ2VyJywnUGVybWFuZW50bsO9IG9ka2F6JywnRXhwb3J0JywnVsO9c3R1cCcsJ0Zvcm3DoXQnLCdQcm9jZWTDunJ5JywnVWRhbG9zdGknLCdEw6F0YScsJ1Z5dHZvcmnFpSBwb3XFvsOtdmF0ZcS+YScsJ0NoeWJhIHYgZG90YXplJyxhcnJheSgnJWQgcmlhZG9rJywnJWQgcmlhZGt5JywnJWQgcmlhZGtvdicpLGFycmF5KCdQcsOta2F6IHByZWJlaG9sIHYgcG9yaWFka3UsIGJvbCB6bWVuZW7DvSAlZCB6w6F6bmFtLicsJ1Byw61rYXogcHJlYmVob2wgdiBwb3JpYWRrdSBib2xpIHptZW5lbsOpICVkIHrDoXpuYW15LicsJ1Byw61rYXogcHJlYmVob2wgdiBwb3JpYWRrdSBib2xvIHptZW5lbsO9Y2ggJWQgesOhem5hbW92LicpLCfFvWlhZG5lIHByw61rYXp5IG5hIHZ5a29uYW5pZS4nLGFycmF5KCdCb2wgdnlrb25hbsO9ICVkIGRvdGF6LicsJ0JvbGkgdnlrb25hbsOpICVkIGRvdGF6eS4nLCdCb2xvIHZ5a29uYW7DvWNoICVkIGRvdGF6b3YuJyksJ05haHJhbmllIHPDumJvcnUnLCdOYWhyw6F2w6FuaWUgc8O6Ym9yb3YgbmllIGplIHBvdm9sZW7DqS4nLCdWeWtvbmHFpScsJ1phc3RhdmnFpSBwcmkgY2h5YmUnLCdab2JyYXppxaUgaWJhIGNoeWJ5JywnWm8gc2VydmVydScsJ1PDumJvciAlcyBuYSB3ZWJvdm9tIHNlcnZlcmknLCdTcHVzdGnFpSBzw7pib3InLCdIaXN0w7NyaWEnLCdWecSNaXN0acWlJywnVXByYXZpxaUgdsWhZXRrbycsJ1BvbG/FvmthIGJvbGEgdnltYXphbsOhLicsJ1BvbG/FvmthIGJvbGEgYWt0dWFsaXpvdmFuw6EuJywnUG9sb8W+a2ElcyBib2xhIHZsb8W+ZW7DoS4nLCdWbG/FvmnFpScsJ1Vsb8W+acWlJywnVWxvxb5pxaUgYSBwb2tyYcSNb3ZhxaUgdiDDunByYXbDoWNoJywnVWxvxb5pxaUgYSB2bG/FvmnFpSDEj2FsxaHDrScsJ1ptYXphxaUnLCdUYWJ1xL5rYSBib2xhIG9kc3Ryw6FuZW7DoS4nLCdUYWJ1xL5rYSBib2xhIHptZW5lbsOhLicsJ1RhYnXEvmthIGJvbGEgdnl0dm9yZW7DoS4nLCdWeXR2b3JpxaUgdGFidcS+a3UnLCdCb2wgcHJla3JvxI1lbsO9IG1heGltw6FsbnkgcG/EjWV0IHBvdm9sZW7DvWNoIHBvbMOtLiBadsO9xaF0ZSBwcm9zw61tICVzIGEgJXMuJywnTsOhem92IHRhYnXEvmt5Jywnw7psb8W+aXNrbycsJ1JvemRlbGnFpSBwb2TEvmEnLCdPZGRpZWx5JywnTsOhem92IG9kZGllbHUnLCdIb2Rub3R5JywnSW5kZXh5IGJvbGkgem1lbmVuw6kuJywnVHlwIGluZGV4dScsJ1N0xLpwZWMgKGTEusW+a2EpJywnTsOhem92JywnRGF0YWLDoXphIGJvbGEgb2RzdHLDoW5lbsOhLicsJ0RhdGFiw6F6YSBib2xhIHByZW1lbm92YW7DoS4nLCdEYXRhYsOhemEgYm9sYSB2eXR2b3JlbsOhLicsJ0RhdGFiw6F6YSBib2xhIHptZW5lbsOhLicsJ1Z5dHZvcmnFpSBkYXRhYsOhenUnLCdTY2jDqW1hIGJvbGEgb2RzdHLDoW5lbsOhLicsJ1NjaMOpbWEgYm9sYSB2eXR2b3JlbsOhLicsJ1NjaMOpbWEgYm9sYSB6bWVuZW7DoS4nLCdaYXZvbGHFpScsYXJyYXkoJ1Byb2NlZMO6cmEgYm9sYSB6YXZvbGFuw6EsIGJvbCB6bWVuZW7DvSAlZCB6w6F6bmFtLicsJ1Byb2NlZMO6cmEgYm9sYSB6YXZvbGFuw6EsIGJvbGkgem1lbmVuw6kgJWQgesOhem5hbXkuJywnUHJvY2Vkw7pyYSBib2xhIHphdm9sYW7DoSwgYm9sbyB6bWVuZW7DvWNoICVkIHrDoXpuYW1vdi4nKSwnQ3VkesOtIGvEvsO6xI0gYm9sIG9kc3Ryw6FuZW7DvS4nLCdDdWR6w60ga8S+w7rEjSBib2wgem1lbmVuw70uJywnQ3VkesOtIGvEvsO6xI0gYm9sIHZ5dHZvcmVuw70uJywnWmRyb2pvdsOpIGEgY2llxL5vdsOpIHN0xLpwY2UgbXVzaWEgbWHFpSByb3ZuYWvDvSBkYXRvdsO9IHR5cCwgbmFkIGNpZcS+b3bDvW1pIHN0xLpwY2FtaSBtdXPDrSBiecWlIGRlZmlub3ZhbsO9IGluZGV4IGEgb2RrYXpvdmFuw6kgZMOhdGEgbXVzaWEgZXhpc3RvdmHFpS4nLCdDdWR6w60ga8S+w7rEjScsJ0NpZcS+b3bDoSB0YWJ1xL5rYScsJ1ptZW5pxaUnLCdQcmlkYcWlIHN0xLpwZWMnLCdQb2jEvmFkIGJvbCBvZHN0csOhbmVuw70uJywnUG9oxL5hZCBib2wgem1lbmVuw70uJywnUG9oxL5hZCBib2wgdnl0dm9yZW7DvS4nLCdWeXR2b3JpxaUgcG9oxL5hZCcsJ1VkYWxvc8WlIGJvbGEgb2RzdHLDoW5lbsOhLicsJ1VkYWxvc8WlIGJvbGEgem1lbmVuw6EuJywnVWRhbG9zxaUgYm9sYSB2eXR2b3JlbsOhLicsJ1VwcmF2acWlIHVkYWxvc8WlJywnVnl0dm9yacWlIHVkYWxvc8WlJywnWmHEjWlhdG9rJywnS29uaWVjJywnS2HFvmTDvWNoJywnUG8gZG9rb27EjWVuw60gemFjaG92YXQnLCdQcm9jZWTDunJhIGJvbGEgb2RzdHLDoW5lbsOhLicsJ1Byb2NlZMO6cmEgYm9sYSB6bWVuZW7DoS4nLCdQcm9jZWTDunJhIGJvbGEgdnl0dm9yZW7DoS4nLCdabWVuacWlIGZ1bmtjaXUnLCdabWVuacWlIHByb2NlZMO6cnUnLCdWeXR2b3JpxaUgZnVua2NpdScsJ1Z5dHZvcmnFpSBwcm9jZWTDunJ1JywnTsOhdnJhdG92w70gdHlwJywnU2VrdmVuY2lhIGJvbGEgb2RzdHLDoW5lbsOhLicsJ1Nla3ZlbmNpYSBib2xhIHZ5dHZvcmVuw6EuJywnU2VrdmVuY2lhIGJvbGEgem1lbmVuw6EuJywnUG96bWVuacWlIHNla3ZlbmNpdScsJ1Z5dHZvcmnFpSBzZWt2ZW5jaXUnLCdUeXAgYm9sIG9kc3Ryw6FuZW7DvS4nLCdUeXAgYm9sIHZ5dHZvcmVuw70uJywnUG96bWVuacWlIHR5cCcsJ1Z5dHZvcmnFpSB0eXAnLCdUcmlnZ2VyIGJvbCBvZHN0csOhbmVuw70uJywnVHJpZ2dlciBib2wgem1lbmVuw70uJywnVHJpZ2dlciBib2wgdnl0dm9yZW7DvS4nLCdabWVuacWlIHRyaWdnZXInLCdWeXR2b3JpxaUgdHJpZ2dlcicsJ8SMYXMnLCdVZGFsb3PFpScsJ1BvdcW+w612YXRlxL4gYm9sIG9kc3Ryw6FuZW7DvS4nLCdQb3XFvsOtdmF0ZcS+IGJvbCB6bWVuZW7DvS4nLCdQb3XFvsOtdmF0ZcS+IGJvbCB2eXR2b3JlbsO9LicsJ1phaGHFoW92YW7DqScsJ1Byb2NlZMO6cmEnLCdQb3ZvbGnFpScsJ1pha8OhemHFpScsYXJyYXkoJ0JvbCB1a29uxI1lbsO9ICVkIHByb2Nlcy4nLCdCb2xpIHVrb27EjWVuw6kgJWQgcHJvY2VzeS4nLCdCb2xvIHVrb27EjWVuw71jaCAlZCBwcm9jZXNvdi4nKSwnJWQgY2Vsa29tJywnVWtvbsSNacWlJywnJWQgcG9sb8W+aWVrIGJvbG8gb3ZwbHl2bmVuw71jaC4nLCdEdm9qa2xpa25pdGUgbmEgcG9sw63EjWtvLCBrdG9yw6kgY2hjZXRlIHptZW5pxaUuJyxhcnJheSgnQm9sIGltcG9ydG92YW7DvSAlZCB6w6F6bmFtLicsJ0JvbGkgaW1wb3J0b3ZhbsOpICVkIHrDoXpuYW15LicsJ0JvbG8gaW1wb3J0b3ZhbsO9Y2ggJWQgesOhem5hbW92LicpLCdUYWJ1xL5rdSBzYSBuZXBvZGFyaWxvIHZ5cMOtc2HFpScsJ3VwcmF2acWlJywnVnrFpWFoeScsJ1ByZSB6bWVudSB0ZWp0byBob2Rub3R5IHBvdcW+aXRlIG9ka2F6IHVwcmF2acWlLicsJ1N0csOhbmthJywncG9zbGVkbsO9JywnY2Vsw70gdsO9c2xlZG9rJywnS2xvbm92YcWlJywnSW1wb3J0JywnICcsJ1RhYnXEvmthIGJvbGEgdnlwcsOhemRuZW7DoS4nLCdUYWJ1xL5rYSBib2xhIHByZXN1bnV0w6EuJywnVGFidcS+a3kgYm9saSBza29ww61yb3ZhbsOpLicsJ1RhYnXEvmthIGJvbGEgb2RzdHLDoW5lbsOhLicsJ1RhYnXEvmt5IGEgcG9oxL5hZHknLCdWeWjEvmFkYcWlIGTDoXRhIHYgdGFidcS+a8OhY2gnLCdUeXAnLCdWZcS+a29zxaUgZMOhdCcsJ1ZlxL5rb3PFpSBpbmRleHUnLCdWb8S+bsOpIG1pZXN0bycsJ1JpYWRreScsJ0FuYWx5em92YcWlJywnT3B0aW1hbGl6b3ZhxaUnLCdTa29udHJvbG92YcWlJywnT3ByYXZpxaUnLCdWeXByw6F6ZG5pxaUnLCdQcmVzdW7DusWlIGRvIGluZWogZGF0YWLDoXp5JywnUHJlc3Vuw7rFpScsJ0tvcMOtcm92YcWlJywnU2VrdmVuY2lhJywnUGzDoW4nLCdWIHN0YW5vdmVuw70gxI1hcycsJ0hIOk1NOlNTJyk7YnJlYWs7Y2FzZSJubCI6JFI9YXJyYXkoJ1dlZXQgdSBoZXQgemVrZXI/JywnT25tb2dlbGlqayBiZXN0YW5kIHRlIHVwbG9hZGVuLicsJ01heGltdW0gdG9lZ2VsYXRlbiBiZXN0YW5kc2dyb290dGUgaXMgJXNCLicsJ0Jlc3RhbmQgbmlldCBnZXZvbmRlbi4nLCdsZWVnJywnb3JpZ2luZWVsJywnR2VlbiB0YWJlbGxlbi4nLCdUYWFsJywnR2VicnVpaycsJ0dlYnJ1aWsgMSB2YW4gdm9sZ2VuZGUgZXh0ZW5zaWVzOiAlcy4nLCdCZXN0YW5kIGJlc3RhYXQgcmVlZHMuJywnR2VicnVpa2Vyc2dlZGVmaW5pw6tlcmRlIHR5cGVzJywnR2V0YWxsZW4nLCdEYXR1bSBlbiB0aWpkJywnVGVrc3QnLCdCaW5haXJlIGdlZ2V2ZW5zJywnTmV0d2VyaycsJ0dlb21ldHJpZScsJ0xpanN0ZW4nLCdEYXRhYmFzZXN5c3RlZW0nLCdTZXJ2ZXInLCdHZWJydWlrZXJzbmFhbScsJ1dhY2h0d29vcmQnLCdJbmxvZ2dlbicsJ0JsaWpmIGFhbmdlbWVsZCcsJ0dlZ2V2ZW5zIHNlbGVjdGVyZW4nLCdUb29uIHN0cnVjdHV1cicsJ1ZpZXcgYWFucGFzc2VuJywnVGFiZWwgYWFucGFzc2VuJywnTmlldXcgaXRlbScsJ0xhYXRzdGUgcGFnaW5hJywnQmV3ZXJrJyxhcnJheSgnJWQgYnl0ZScsJyVkIGJ5dGVzJyksJ0tpZXMnLCdGdW5jdGllcycsJ1RvdGFsZW4nLCdab2VrZW4nLCdvdmVyYWwnLCdTb3J0ZXJlbicsJ0FmbG9wZW5kJywnQmVwZXJrJywnVGVrc3QgbGVuZ3RlJywnQWN0aWVzJywnU1FMIG9wZHJhY2h0Jywnb3BlbmVuJywnb3BzbGFhbicsJ0RhdGFiYXNlIGFhbnBhc3NlbicsJ1NjaGVtYSB3aWp6aWdlbicsJ1NjaGVtYSBtYWtlbicsJ0RhdGFiYXNlIHNjaGVtYScsJ1JlY2h0ZW4nLCdFeHBvcnRlZXInLCdVaXRsb2dnZW4nLCdkYXRhYmFzZScsJ3NjaGVtYScsJ05pZXV3ZSB0YWJlbCcsJ2tpZXMnLCdsdHInLCdQT1NUIGRhdGEgb3BuaWV1dyB2ZXJ6ZW5kZW4nLCdPbmdlbGRpZyBDU1JGIHRva2VuLiBWZXJzdHV1ciBoZXQgZm9ybXVsaWVyIG9wbmlldXcuJywnVWl0bG9nZ2VuIGdlc2xhYWdkLicsJ1Nlc3NpZXMgbW9ldGVuIGdlYWN0aXZlZXJkIHppam4uJywnVXcgc2Vzc2llIGlzIHZlcmxvcGVuLiBHZWxpZXZlIG9wbmlldXcgaW4gdGUgbG9nZ2VuLicsJ09uZ2VsZGlnZSBsb2dpbmdlZ2V2ZW5zLicsJ0dlZW4gZXh0ZW5zaWUnLCdHZWVuIGdlbGRpZ2UgUEhQIGV4dGVuc2llcyBiZXNjaGlrYmFhciAoJXMpLicsJ1BPU1QtZGF0YSBpcyB0ZSBncm9vdC4gVmVya2xlaW4gZGUgaG9ldmVlbGhlaWQgZGF0YSBvZiB2ZXJob29nIGRlICVzIGNvbmZpZ3VyYXRpZS4nLCdEYXRhYmFzZScsJ09uZ2VsZGlnZSBkYXRhYmFzZS4nLCdEYXRhYmFzZXMgdmVyd2lqZGVyZC4nLCdEYXRhYmFzZSBzZWxlY3RlcmVuJywnTmlldXdlIGRhdGFiYXNlJywnUHJvY2VzbGlqc3QnLCdWYXJpYWJlbGVuJywnU3RhdHVzJywnJXMgdmVyc2llOiAlcyBtZXQgUEhQIGV4dGVuc2llICVzJywnQWFuZ2VtZWxkIGFsczogJXMnLCdDb2xsYXRpZScsJ1RhYmVsbGVuJywnVmVyd2lqZGVyZW4nLCdWZXJuaWV1d2VuJywnU2NoZW1hJywnT25nZWxkaWcgc2NoZW1hLicsJ0dlZW4gcmlqZW4uJywnJS4zZiBzJywnRm9yZWlnbiBrZXlzJywnY29sbGF0aW9uJywnT04gREVMRVRFJywnS29sb21uYWFtJywnUGFyYW1ldGVybmFhbScsJ1R5cGUnLCdMZW5ndGUnLCdPcHRpZXMnLCdBdXRvIG51bW1lcmluZycsJ1N0YW5kYWFyZCB3YWFyZGVuJywnQ29tbWVudGFhcicsJ1ZvbGdlbmRlIHRvZXZvZWdlbicsJ09taG9vZycsJ09tbGFhZycsJ1ZlcndpamRlcmVuJywnVmlldycsJ1RhYmVsJywnS29sb20nLCdJbmRleGVuJywnSW5kZXhlbiBhYW5wYXNzZW4nLCdCcm9uJywnRG9lbCcsJ09OIFVQREFURScsJ0FhbnBhc3NlbicsJ0ZvcmVpZ24ga2V5IGFhbm1ha2VuJywnVHJpZ2dlcnMnLCdUcmlnZ2VyIGFhbm1ha2VuJywnUGVybWFuZW50ZSBsaW5rJywnRXhwb3J0ZXJlbicsJ1VpdHZvZXInLCdGb3JtYWF0JywnUHJvY2VkdXJlcycsJ0V2ZW50cycsJ0RhdGEnLCdHZWJydWlrZXIgYWFubWFrZW4nLCdGb3V0IGluIHF1ZXJ5JyxhcnJheSgnJWQgcmlqJywnJWQgcmlqZW4nKSxhcnJheSgnUXVlcnkgdWl0Z2V2b2VyZCwgJWQgcmlqIGdlcmFha3QuJywnUXVlcnkgdWl0Z2V2b2VyZCwgJWQgcmlqZW4gZ2VyYWFrdC4nKSwnR2VlbiBvcGRyYWNodGVuIHVpdCB0ZSB2b2VyZW4uJyxhcnJheSgnJWQgcXVlcnkgc3VjY2Vzdm9sIHVpdGdldm9lcmQuJywnJWQgcXVlcnlzIHN1Y2Nlc3ZvbCB1aXRnZXZvZXJkJyksJ0Jlc3RhbmQgdXBsb2FkZW4nLCdCZXN0YW5kZW4gdXBsb2FkZW4gaXMgdWl0Z2VzY2hha2VsZC4nLCdVaXR2b2VyZW4nLCdTdG9wcGVuIGJpaiBmb3V0JywnRW5rZWwgZm91dGVuIHRvbmVuJywnVmFuIHNlcnZlcicsJ1dlYnNlcnZlciBiZXN0YW5kICVzJywnQmVzdGFuZCB1aXR2b2VyZW4nLCdHZXNjaGllZGVuaXMnLCdXaXNzZW4nLCdBbGxlcyBiZXdlcmtlbicsJ0l0ZW0gdmVyd2lqZGVyZC4nLCdJdGVtIGFhbmdlcGFzdC4nLCdJdGVtJXMgdG9lZ2V2b2VnZC4nLCdUb2V2b2VnZW4nLCdPcHNsYWFuJywnT3BzbGFhbiBlbiB2ZXJkZXIgYmV3ZXJrZW4nLCdPcHNsYWFuLCBkYWFybmEgdG9ldm9lZ2VuJywnVmVyd2lqZGVyZW4nLCdUYWJlbCB2ZXJ3aWpkZXJkLicsJ1RhYmVsIGFhbmdlcGFzdC4nLCdUYWJlbCBhYW5nZW1hYWt0LicsJ1RhYmVsIGFhbm1ha2VuJywnTWF4aW11bSBhYW50YWwgdmVsZGVuIGJlcmVpa3QuIFZlcmhvb2cgJXMgZW4gJXMuJywnVGFiZWxuYWFtJywnZW5naW5lJywnUGFydGl0aW9uZXJlbiBvcCcsJ1BhcnRpdGllcycsJ1BhcnRpdGllIG5hYW0nLCdXYWFyZGVuJywnSW5kZXggYWFuZ2VwYXN0LicsJ0luZGV4IHR5cGUnLCdLb2xvbSAobGVuZ3RlKScsJ05hYW0nLCdEYXRhYmFzZSB2ZXJ3aWpkZXJkLicsJ0RhdGFiYXNlIGhlcm5vZW1kLicsJ0RhdGFiYXNlIGFhbmdlbWFha3QuJywnRGF0YWJhc2UgYWFuZ2VwYXN0LicsJ0RhdGFiYXNlIGFhbm1ha2VuJywnU2NoZW1hIHZlcndpamRlcmQuJywnU2NoZW1hIGFhbmdlbWFha3QuJywnU2NoZW1hIGdld2lqemlnZC4nLCdVaXR2b2VyZW4nLGFycmF5KCdQcm9jZWR1cmUgdWl0Z2V2b2VyZCwgJWQgcmlqIGdlcmFha3QuJywnUHJvY2VkdXJlIHVpdGdldm9lcmQsICVkIHJpamVuIGdlcmFha3QuJyksJ0ZvcmVpZ24ga2V5IHZlcndpamRlcmQuJywnRm9yZWlnbiBrZXkgYWFuZ2VwYXN0LicsJ0ZvcmVpZ24ga2V5IGFhbmdlbWFha3QuJywnQnJvbi0gZW4gZG9lbGtvbG9tbWVuIG1vZXRlbiB2YW4gaGV0emVsZmRlIGRhdGEgdHlwZSB6aWpuLCBlciBtb2V0IGVlbiBpbmRleCBiZXN0YWFuIG9wIGRlIGdla296ZW4ga29sb21tZW4gZW4gZXIgbW9ldCBnZXJlbGF0ZWVyZGUgZGF0YSBiZXN0YWFuLicsJ0ZvcmVpZ24ga2V5JywnRG9lbHRhYmVsJywnVmVyYW5kZXJlbicsJ0tvbG9tIHRvZXZvZWdlbicsJ1ZpZXcgdmVyd2lqZGVyZC4nLCdWaWV3IGFhbmdlcGFzdC4nLCdWaWV3IGFhbmdlbWFha3QuJywnVmlldyBhYW5tYWtlbicsJ0V2ZW50IHdlcmQgdmVyd2lqZGVyZC4nLCdFdmVudCB3ZXJkIGFhbmdlcGFzdC4nLCdFdmVudCB3ZXJkIGFhbmdlbWFha3QuJywnRXZlbnQgYWFucGFzc2VuJywnRXZlbnQgYWFubWFrZW4nLCdTdGFydCcsJ1N0b3AnLCdJZWRlcmUnLCdCZXdhcmVuIG5hIHZvbHRvb2lpbmcnLCdQcm9jZWR1cmUgdmVyd2lqZGVyZC4nLCdQcm9jZWR1cmUgYWFuZ2VwYXN0LicsJ1Byb2NlZHVyZSBhYW5nZW1hYWt0LicsJ0Z1bmN0aWUgYWFucGFzc2VuJywnUHJvY2VkdXJlIGFhbnBhc3NlbicsJ0Z1bmN0aWUgYWFubWFrZW4nLCdQcm9jZWR1cmUgYWFubWFrZW4nLCdSZXR1cm4gdHlwZScsJ1NlcXVlbmNlIHZlcndpamRlcmQuJywnU2VxdWVuY2UgYWFuZ2VtYWFrdC4nLCdTZXF1ZW5jZSBnZXdpanppZ2QuJywnU2VxdWVuY2Ugd2lqemlnZW4nLCdTZXF1ZW5jZSBtYWtlbicsJ1R5cGUgdmVyd2lqZGVyZC4nLCdUeXBlIGFhbmdlbWFha3QuJywnVHlwZSB3aWp6aWdlbicsJ1R5cGUgbWFrZW4nLCdUcmlnZ2VyIHZlcndpamRlcmQuJywnVHJpZ2dlciBhYW5nZXBhc3QuJywnVHJpZ2dlciBhYW5nZW1hYWt0LicsJ1RyaWdnZXIgYWFucGFzc2VuJywnVHJpZ2dlciBhYW5tYWtlbicsJ1RpbWUnLCdFdmVudCcsJ0dlYnJ1aWtlciB2ZXJ3aWpkZXJkLicsJ0dlYnJ1aWtlciBhYW5nZXBhc3QuJywnR2VicnVpa2VyIGFhbmdlbWFha3QuJywnR2VoYXNoZWQnLCdSb3V0aW5lJywnVG9la2VubmVuJywnSW50cmVra2VuJyxhcnJheSgnJWQgcHJvY2VzIGdlc3RvcHQuJywnJWQgcHJvY2Vzc2VuIGdlc3RvcHQuJyksJyVkIGluIHRvdGFhbCcsJ1N0b3BwZW4nLGFycmF5KCclZCBpdGVtIGFhbmdlcGFzdC4nLCclZCBpdGVtcyBhYW5nZXBhc3QuJyksJ0R1YmJlbGtsaWsgb3AgZWVuIHdhYXJkZSBvbSBkZXplIHRlIGJld2Vya2VuLicsYXJyYXkoJyVkIHJpaiB3ZXJkIGdlw69tcG9ydGVlcmQuJywnJWQgcmlqZW4gd2VyZGVuIGdlw69tcG9ydGVlcmQuJyksJ09ubW9nZWxpamsgdGFiZWwgdGUgc2VsZWN0ZXJlbicsJ2Jld2VyaycsJ1JlbGF0aWVzJywnR2VicnVpayBkZSBsaW5rICJiZXdlcmsiIG9tIGRlemUgd2FhcmRlIHRlIHdpanppZ2VuLicsJ1BhZ2luYScsJ2xhYXRzdGUnLCd2b2xsZWRpZyByZXN1bHRhYXQnLCdEdXBsaWNlZXInLCdJbXBvcnRlcmVuJywnLicsJ1RhYmVsbGVuIHdlcmRlbiBnZWxlZWdkLicsJ1RhYmVsbGVuIHdlcmRlbiB2ZXJwbGFhdHN0LicsJ0RlIHRhYmVsbGVuIHppam4gZ2Vrb3BpZWVyZC4nLCdUYWJlbGxlbiB3ZXJkZW4gdmVyd2lqZGVyZC4nLCdUYWJlbGxlbiBlbiB2aWV3cycsJ1pvZWtlbiBpbiBkYXRhYmFzZScsJ0VuZ2luZScsJ0RhdGEgbGVuZ3RlJywnSW5kZXggbGVuZ3RlJywnRGF0YSBWcmlqJywnUmlqZW4nLCdBbmFseXNlZXInLCdPcHRpbWFsaXNlZXInLCdDb250cm9sZWVyJywnSGVyc3RlbCcsJ0xlZ2VuJywnVmVycGxhYXRzIG5hYXIgYW5kZXJlIGRhdGFiYXNlJywnVmVycGxhYXRzJywnS29waWVyZW4nLCdTZXF1ZW5jZXMnLCdTY2hlZHVsZScsJ09wIGFhbmdlZ2V2ZW4gdGlqZCcsJ0hIOk1NOlNTJyk7YnJlYWs7Y2FzZSJlcyI6JFI9YXJyYXkoJ0VzdMOhIHNlZ3Vybz8nLCdObyBlcyBwb3NpYmxlIGltcG9ydGFyIGFyY2hpdm8uJywnVGFtYcOxbyBtw6F4aW1vIGRlIGFyY2hpdm8gZXMgJXNCLicsJ0FyY2hpdm8gbm8gZXhpc3RlLicsJ25pbmfDum5vJywnb3JpZ2luYWwnLCdObyBleGlzdGVuIHRhYmxhcy4nLCdJZGlvbWEnLCdVc2FyJywnUG9yIGZhdm9yIHVzZSB1bmEgZGUgbGFzIGV4dGVuc2lvbmVzICVzLicsJ0FyY2hpdm8geWEgZXhpc3RlLicsJ1RpcG9zIGRlZmluaWRvIHBvciBlbCB1c3VhcmlvJywnTsO6bWVyb3MnLCdGZWNoYSB5IGhvcmEnLCdDYWRlbmEnLCdCaW5hcmlvJywnUmVkJywnR2VvbWV0csOtYScsJ0xpc3RhcycsJ01vdG9yIGRlIGJhc2UgZGUgZGF0b3MnLCdTZXJ2aWRvcicsJ1VzdWFyaW8nLCdDb250cmFzZcOxYScsJ0xvZ2luJywnR3VhcmRhciBjb250cmFzZcOxYScsJ1Zpc3VhbGl6YXIgY29udGVuaWRvJywnTW9zdHJhciBlc3RydWN0dXJhJywnTW9kaWZpY2FyIHZpc3RhJywnTW9kaWZpcXVlIGVzdHJ1Y3R1cmEnLCdOdWV2byBSZWdpc3RybycsJ1VsdGltYSBww6FnaW5hJywnTW9kaWZpY2FyJyxhcnJheSgnJWQgYnl0ZScsJyVkIGJ5dGVzJyksJ01vc3RyYXInLCdGdW5jaW9uZXMnLCdBZ3JlZ2FjaW9uZXMnLCdDb25kaWNpw7NuJywnZG9uZGUgc2VhJywnT3JkZW5hcicsJ2Rlc2NlbmRpZW50ZScsJ0xpbWl0JywnTG9uZ2l0dWQgZGUgdGV4dG8nLCdBY2Npw7NuJywnQ29tYW5kbyBTUUwnLCdtb3N0cmFyJywnYXJjaGl2bycsJ01vZGlmaWNhciBCYXNlIGRlIGRhdG9zJywnTW9kaWZpY2FyIGVzcXVlbWEnLCdDcmVhciBlc3F1ZW1hJywnRXNxdWVtYSBkZSBiYXNlIGRlIGRhdG9zJywnUHJpdmlsZWdpb3MnLCdFeHBvcnQnLCdMb2dvdXQnLCdiYXNlIGRlIGRhdG9zJywnZXNxdWVtYScsJ051ZXZhIHRhYmxhJywncmVnaXN0cm9zJywnbHRyJywnVm9sdmVyIGEgZW52aWFyIFBPU1QgZGF0YT8nLCdUb2tlbiBDU1JGIGludsOhbGlkby4gVnVlbHZhIGEgZW52aWFyIGxvcyBkYXRvcyBkZWwgZm9ybXVsYXJpby4nLCdTYWxpZGEgZXhpdG9zYS4nLCdEZWJlbiBlc3RhciBoYWJpbGl0YWRhcyBsYXMgc2VzaW9uZXMuJywnU2VzacOzbiBleHBpcmFkYSwgcG9yIGZhdm9yIGluZ3Jlc2Ugc3UgY2xhdmUgZGUgbnVldm8uJywnSWRlbnRpZmljYWNpb24gaW52w6FsaWRhLicsJ05vIGhheSBleHRlbnNpb24nLCdOaW5ndW5hIGRlIGxhcyBleHRlbnNpb25lcyBQSFAgc29wb3J0YWRhcyAoJXMpIGVzdMOhIGRpc3BvbmlibGUuJywnUE9TVCBkYXRhIGRlbWFzaWFkbyBncmFuZGUuIFJlZHV6Y2EgZWwgdGFtYcOxbyBvIGF1bWVudGUgbGEgZGlyZWN0aXZhIGRlIGNvbmZpZ3VyYWNpw7NuICVzLicsJ0Jhc2UgZGUgZGF0b3MnLCdCYXNlIGRlIGRhdG9zIGludsOhbGlkYS4nLCdCYXNlcyBkZSBkYXRvcyBlbGltaW5hZGFzLicsJ1NlbGVjY2lvbmFyIEJhc2UgZGUgZGF0b3MnLCdJbmdyZXNlIG51ZXZhIGJhc2UgZGUgZGF0b3MnLCdMaXN0YSBkZSBwcm9jZXNvcycsJ1ZhcmlhYmxlcycsJ0VzdGFkbycsJ1ZlcnNpw7NuICVzOiAlcyBhIHRyYXbDqXMgZGUgZXh0ZW5zacOzbiBQSFAgJXMnLCdMb2dlYWRvIGNvbW86ICVzJywnQ29sYWNpw7NuJywnVGFibGFzJywnRWxpbWluYXInLCdSZWZyZXNjYXInLCdFc3F1ZW1hJywnRXNxdWVtYSBpbnbDoWxpZG8uJywnTm8gZXhpc3RlbiByZWdpc3Ryb3MuJywnJS4zZiBzJywnQ2xhdmVzIGZvcsOhbmVhcycsJ2NvbGFjacOzbicsJ09OIERFTEVURScsJ05vbWJyZSBkZSBjb2x1bW5hJywnTm9tYnJlIGRlIFBhcsOhbWV0cm8nLCdUaXBvJywnTG9uZ2l0dWQnLCdPcGNpb25lcycsJ0luY3JlbWVudG8gYXV0b23DoXRpY28nLCdWYWxvcmVzIHByZWRldGVybWluYWRvcycsJ0NvbWVudGFyaW8nLCdBZ3JlZ2FyJywnTW92ZXIgYXJyaWJhJywnTW92ZXIgYWJham8nLCdFbGltaW5hcicsJ1Zpc3RhcycsJ1RhYmxhJywnQ29sdW1uYScsJ0luZGljZXMnLCdNb2RpZmljYXIgaW5kaWNlcycsJ09yaWdlbicsJ0Rlc3Rpbm8nLCdPTiBVUERBVEUnLCdNb2RpZmljYXInLCdBZ3JlZ2FyIGNsYXZlIGZvcsOhbmVhJywnVHJpZ2dlcnMnLCdBZ3JlZ2FyIHRyaWdnZXInLCdFbmxhY2UgcGVybWFuZW50ZScsJ0V4cG9ydGFyJywnU2FsaWRhJywnRm9ybWF0bycsJ1Byb2NlZGltaWVudG9zJywnRXZlbnRvcycsJ0RhdG9zJywnQ3JlYXIgVXN1YXJpbycsJ0Vycm9yIGVuIGNvbnN1bHRhJyxhcnJheSgnJWQgcmVnaXN0cm8nLCclZCByZWdpc3Ryb3MnKSxhcnJheSgnQ29uc3VsdGEgZWplY3V0YWRhLCAlZCByZWdpc3RybyBhZmVjdGFkby4nLCdDb25zdWx0YSBlamVjdXRhZGEsICVkIHJlZ2lzdHJvcyBhZmVjdGFkb3MuJyksJ05vIGhheSBjb21hbmRvIHBhcmEgZWplY3V0YXIuJyxhcnJheSgnJWQgc2VudGVuY2lhIHNxbCBlamVjdXRhZGEgY29ycmVjdGFtZW50ZS4nLCclZCBzZW50ZW5jaWFzIHNxbCBlamVjdXRhZGFzIGNvcnJlY3RhbWVudGUuJyksJ0ltcG9ydGFyIGFyY2hpdm8nLCdJbXBvcnRhY2nDs24gZGUgYXJjaGl2b3MgZGVzaGFibGlsaXRhZG8uJywnRWplY3V0YXInLCdQYXJhciBlbiBjYXNvIGRlIGVycm9yJywnTW9zdHJhciBzb2xhbWVudGUgZXJyb3JlcycsJ0Rlc2RlIHNlcnZpZG9yJywnQXJjaGl2byBkZSBzZXJ2aWRvciB3ZWIgJXMnLCdFamVjdXRhciBBcmNoaXZvJywnSGlzdG9yeScsJ1ZhY2lhcicsJ0VkaXRhciB0b2RvcycsJ1JlZ2lzdHJvIGVsaW1pbmFkby4nLCdSZWdpc3RybyBtb2RpZmljYWRvLicsJ1JlZ2lzdHJvJXMgaW5zZXJ0YWRvLicsJ0FncmVnYXInLCdHdWFyZGFyJywnR3VhcmRhciB5IGNvbnRpbnVhciBlZGl0YW5kbycsJ0d1YXJkYXIgZSBpbnNlcnRhciBvdHJvJywnRWxpbWluYXInLCdUYWJsYSBlbGltaW5hZGEuJywnVGFibGEgbW9kaWZpY2FkYS4nLCdUYWJsYSBjcmVhZGEuJywnQ3JlZSB0YWJsYScsJ0NhbnRpZGEgbcOheGltYSBkZSBjYW1wb3MgcGVybWl0aWRvcyBleGNlZGlkb3MuIFBvciBmYXZvciBhdW1lbnRlICVzIHkgJXMuJywnTm9tYnJlIGRlIGxhIHRhYmxhJywnbW90b3InLCdQYXJ0aWNpb25hciBwb3InLCdQYXJ0aWNpb25lcycsJ05vbWJyZSBkZSBQYXJ0aWNpw7NuJywnVmFsb3JlcycsJ0luZGljZXMgbW9kaWZpY2Fkb3MuJywnVGlwbyBkZSDDrW5kaWNlJywnQ29sdW1uYSAobG9uZ2l0dWQpJywnTm9tYnJlJywnQmFzZSBkZSBkYXRvcyBlbGltaW5hZGEuJywnQmFzZSBkZSBkYXRvcyByZW5vbWJyYWRhLicsJ0Jhc2UgZGUgZGF0b3MgY3JlYWRhLicsJ0Jhc2UgZGUgZGF0b3MgbW9kaWZpY2FkYS4nLCdDcmVhciBCYXNlIGRlIGRhdG9zJywnRXNxdWVtYSBlbGltaW5hZG8uJywnRXNxdWVtYSBjcmVhZG8uJywnRXNxdWVtYSBtb2RpZmljYWRvLicsJ0xsYW1hcicsYXJyYXkoJ0NvbnN1bHRhIGVqZWN1dGFkYSwgJWQgcmVnaXN0cm8gYWZlY3RhZG8uJywnQ29uc3VsdGEgZWplY3V0YWRhLCAlZCByZWdpc3Ryb3MgYWZlY3RhZG9zLicpLCdDbGF2ZSBleHRlcm5hIGVsaW1pbmFkYS4nLCdDbGF2ZSBleHRlcm5hIG1vZGlmaWNhZGEuJywnQ2xhdmUgZXh0ZXJuYSBjcmVhZGEuJywnTGFzIGNvbHVtbmFzIGRlIG9yaWdlbiB5IGRlc3Rpbm8gZGViZW4gc2VyIGRlbCBtaXNtbyB0aXBvLCBkZWJlIGV4aXN0aXIgdW4gw61uZGljZSBlbnRyZSBsYXMgY29sdW1uYXMgZGVsIGRlc3Rpbm8geSBlbCByZWdpc3RybyByZWZlcmVuY2lhZG8gZGViZSBleGlzdGlyLicsJ0NsYXZlIGV4dGVybmEnLCdUYWJsYSBkZSBkZXN0aW5vJywnTW9kaWZpY2FyJywnQWdyZWdhciBjb2x1bW5hJywnVmlzdGEgZWxpbWluYWRhLicsJ1Zpc3RhIG1vZGlmaWNhZGEuJywnVmlzdGEgY3JlYWRhLicsJ0NlYXIgdmlzdGEnLCdFdmVudG8gZWxpbWluYWRvLicsJ0V2ZW50byBtb2RpZmljYWRvLicsJ0V2ZW50byBjcmVhZG8uJywnTW9kaWZpY2FyIEV2ZW50bycsJ0NyZWFyIEV2ZW50bycsJ0luaWNpbycsJ0ZpbicsJ0NhZGEnLCdBbCBjb21wbGV0YXIgcHJlc2VydmFyJywnUHJvY2VkaW1pZW50byBlbGltaW5hZG8uJywnUHJvY2VkaW1pZW50byBtb2RpZmljYWRvLicsJ1Byb2NlZGltaWVudG8gY3JlYWRvLicsJ01vZGlmaWNhciBGdW5jacOzbicsJ01vZGlmaWNhciBwcm9jZWRpbWllbnRvJywnQ3JlYXIgZnVuY2nDs24nLCdDcmVhciBwcm9jZWRpbWllbnRvJywnVGlwbyBkZSB2YWxvciBkZSByZWdyZXNvJywnU2VjdWVuY2lhIGVsaW1pbmFkYS4nLCdTZWN1ZW5jaWEgY3JlYWRhLicsJ1NlY3VlbmNpYSBtb2RpZmljYWRhLicsJ01vZGlmaWNhciBzZWN1ZW5jaWEnLCdDcmVhciBzZWN1ZW5jaWFzJywnVGlwbyBlbGltaW5hZG8uJywnVGlwbyBjcmVhZG8uJywnTW9kaWZpY2FyIHRpcG8nLCdDcmVhciB0aXBvJywnVHJpZ2dlciBlbGltaW5hZG8uJywnVHJpZ2dlciBtb2RpZmljYWRvLicsJ1RyaWdnZXIgY3JlYWRvLicsJ01vZGlmaWNhciBUcmlnZ2VyJywnQWdyZWdhciBUcmlnZ2VyJywnVGllbXBvJywnRXZlbnRvJywnVXN1YXJpbyBlbGltaW5hZG8uJywnVXN1YXJpbyBtb2RpZmljYWRvLicsJ1VzdWFyaW8gY3JlYWRvLicsJ0hhc2gnLCdSdXRpbmEnLCdDb25jZWRlcicsJ0ltcGVkaXInLGFycmF5KCclZCBwcm9jZXNvIGRldGVuaWRvLicsJyVkIHByb2Nlc29zIGRldGVuaWRvcy4nKSwnJWQgZW4gdG90YWwnLCdEZXRlbmVyJyxhcnJheSgnJWQgw610ZW0gYWZlY3RhZG8uJywnJWQgaXRlbWVzIGFmZWN0YWRvcy4nKSwnRG9ibGUtY2xpYyBzb2JyZSBlbCB2YWxvciBwYXJhIGVkaXRhcmxvLicsYXJyYXkoJyVkIHJlZ2lzdHJvIGltcG9ydGFkby4nLCclZCByZWdpc3Ryb3MgaW1wb3J0YWRvcy4nKSwnTm8gZXMgcG9zaWJsZSBzZWxlY2Npb25hciBsYSB0YWJsYScsJ21vZGlmaWNhcicsJ1JlbGFjaW9uZXMnLCdVdGlsaWNlIGVsIGVubGFjZSBkZSBtb2RpZmljYXIgcGFyYSByZWFsaXphciBsb3MgY2FtYmlvcy4nLCdQw6FnaW5hJywnw7psdGltbycsJ3Jlc3VsdGFkbyBjb21wbGV0bycsJ0Nsb25hcicsJ0ltcG9ydGFyJywnICcsJ1RhYmxhcyB2YWNpYWRhcyAodHJ1bmNhdGUpLicsJ1NlIG1vdmllcm9uIGxhcyB0YWJsYXMuJywnVGFibGFzIGNvcGlhZGFzLicsJ1RhYmxhcyBlbGltaW5hZGFzLicsJ1RhYmxhcyB5IHZpc3RhcycsJ0J1c2NhciBkYXRvcyBlbiB0YWJsYXMnLCdNb3RvcicsJ0xvbmdpdHVkIGRlIGRhdG9zJywnTG9uZ2l0dWQgZGUgw61uZGljZScsJ0VzcGFjaW8gbGlicmUnLCdSZWdpc3Ryb3MnLCdBbmFsaXphcicsJ09wdGltaXphcicsJ0NvbXByb2JhcicsJ1JlcGFyYXInLCdWYWNpYXInLCdNb3ZlciBhIG90cmEgYmFzZSBkZSBkYXRvcycsJ01vdmVyJywnQ29waWFyJywnU2VjdWVuY2lhcycsJ0FnZW5kYScsJ0EgaG9yYSBkZXRlcm1pbmFkYScsJ0hIOk1NOlNTJyk7YnJlYWs7Y2FzZSJkZSI6JFI9YXJyYXkoJ1NpbmQgU2llIHNpY2hlciA/JywnSG9jaGxhZGVuIHZvbiBEYXRlaSBmZWhsZ2VzY2hsYWdlbi4nLCdNYXhpbWFsIGVybGF1YnRlIERhdGVpZ3LDtnNzZSBpc3QgJXNCLicsJ0RhdGVpIGV4aXN0aWVydCBuaWNodC4nLCdsZWVyJywnT3JpZ2luYWwnLCdLZWluZSBUYWJlbGxlbi4nLCdTcHJhY2hlJywnQmVudXR6dW5nJywnQml0dGUgZWluZW4gZGVyIERhdGVpdHlwZW4gJXMgYmVudXR6ZW4uJywnRGF0ZWkgZXhpc3RpZXJ0IHNjaG9uLicsJ0JlbnV0emVyLWRlZmluaWVydGUgVHlwZW4nLCdaYWhsZW4nLCdEYXR1bSBvZGVyIFplaXQnLCdaZWljaGVua2V0dGVuJywnQmluw6RyJywnTmV0endlcmsnLCdHZW9tZXRyaWUnLCdMaXN0ZW4nLCdEYXRlbmJhbmsgU3lzdGVtJywnU2VydmVyJywnQmVudXR6ZXInLCdQYXNzd29ydCcsJ0xvZ2luJywnUGFzc3dvcnQgc3BlaWNoZXJuJywnRGF0ZW4gYXVzd8OkaGxlbicsJ1N0cnVrdHVyIGFuemVpZ2VuJywnVmlldyDDpG5kZXJuJywnVGFiZWxsZSDDpG5kZXJuJywnTmV1ZXIgRGF0ZW5zYXR6JywnTGV0enRlIFNlaXRlJywnw4RuZGVybicsYXJyYXkoJyVkIEJ5dGUnLCclZCBCeXRlcycpLCdEYXRlbiB6ZWlnZW4gdm9uJywnRnVua3Rpb25lbicsJ0FncmVnYXRpb25lbicsJ1N1Y2hlbicsJ2JlbGllYmlnJywnT3JkbmVuJywnYWJzdGVpZ2VuZCcsJ0JlZ3Jlbnp1bmcnLCdUZXh0bMOkbmdlJywnQWt0aW9uJywnU1FMLVF1ZXJ5JywnYW56ZWlnZW4nLCdEYXRlaScsJ0RhdGVuYmFuayDDpG5kZXJuJywnU2NoZW1hIMOkbmRlcm4nLCdOZXVlcyBTY2hlbWEnLCdEYXRlbmJhbmtzY2hlbWEnLCdSZWNodGUnLCdFeHBvcnQnLCdBYm1lbGRlbicsJ0RhdGVuYmFuaycsJ1NjaGVtYScsJ05ldWUgVGFiZWxsZScsJ3plaWdlbicsJ2x0cicsJ1BPU1QgZGF0YSBub2NoIGVpbm1hbCBzZW5kZW4gPycsJ0NTUkYgVG9rZW4gdW5nw7xsdGlnLiBCaXR0ZSBkaWUgRm9ybXVsYXJkYXRlbiBlcm5ldXQgYWJzY2hpY2tlbi4nLCdBYm1lbGR1bmcgZXJmb2xncmVpY2guJywnU2l0enVuZ2VuIG3DvHNzZW4gYWt0aXZpZXJ0IHNlaW4uJywnU2l0enVuZ3NkYXVlciBhYmdlbGF1ZmVuLCBiaXR0ZSBlcm5ldXQgYW5tZWxkZW4uJywnVW5nw7xsdGlnZSBBbm1lbGRlLUluZm9ybWF0aW9uZW4uJywnS2VpbmUgRXJ3ZWl0ZXJ1bmdlbiBpbnN0YWxsaWVydCcsJ0tlaW5lIGRlciB1bnRlcnN0w7x0enRlbiBQSFAtRXJ3ZWl0ZXJ1bmdlbiAoJXMpIGlzdCB2b3JoYW5kZW4uJywnUE9TVCBkYXRhIHp1IGdyb3NzLiBSZWR1emllcmVuIFNpZSBkaWUgR3LDtnNzZSBvZGVyIHZlcmdyw7Zzc2VybiBTaWUgZGVuIFdlcnQgJXMgaW4gZGVyIEtvbmZpZ3VyYXRpb24uJywnRGF0ZW5iYW5rJywnRGF0ZW5iYW5rIHVuZ8O8bHRpZy4nLCdEYXRlbmJhbmtlbiBlbnRmZXJudC4nLCdEYXRlbmJhbmsgYXVzd8OkaGxlbicsJ05ldWUgRGF0ZW5iYW5rJywnUHJvemVzc2xpc3RlJywnVmFyaWFibGVuJywnU3RhdHVzJywnVmVyc2lvbiAlczogJXMsIG1pdCBQSFAtRXJ3ZWl0ZXJ1bmcgJXMnLCdBbmdlbWVsZGV0IGFsczogJXMnLCdDb2xsYXRpb24nLCdUYWJlbGxlbicsJ0VudGZlcm5lbicsJ0FrdHVhbGlzaWVyZW4nLCdTY2hlbWEnLCdTY2hlbWEgbmljaHQgZ8O8bHRpZy4nLCdLZWluZSBEYXRlbi4nLCclLjNmIHMnLCdGcmVtZHNjaGzDvHNzZWwnLCdLb2xsYXRpb24nLCdPTiBERUxFVEUnLCdTcGFsdGVubmFtZScsJ05hbWUgZGVzIFBhcmFtZXRlcnMnLCdUeXAnLCdMw6RuZ2UnLCdPcHRpb25lbicsJ0F1dG8tSW5rcmVtZW50JywnVm9yZ2FiZXdlcnRlIGZlc3RsZWdlbicsJ0tvbW1lbnRhcicsJ0hpbnp1ZsO8Z2VuJywnTmFjaCBvYmVuJywnTmFjaCB1bnRlbicsJ0VudGZlcm5lbicsJ1ZpZXcnLCdUYWJlbGxlJywnU3BhbHRlJywnSW5kaXplcycsJ0luZGl6ZXMgw6RuZGVybicsJ1Vyc3BydW5nJywnWmllbCcsJ09OIFVQREFURScsJ8OEbmRlcm4nLCdGcmVtZHNjaGzDvHNzZWwgaGluenVmw7xnZW4nLCdUcmlnZ2VyJywnVHJpZ2dlciBoaW56dWbDvGdlbicsJ0RhdWVyaGFmdGVyIExpbmsnLCdFeHBvcnRpZXJlbicsJ0VyZ2VibmlzJywnRm9ybWF0JywnUHJvemVkdXJlbicsJ0VyZWlnbmlzc2UnLCdEYXRlbicsJ05ldWVyIEJlbnV0emVyJywnRmVobGVyIGluIGRlciBTUUwtQWJmcmFnZScsYXJyYXkoJyVkIERhdGVuc2F0eicsJyVkIERhdGVuc8OkdHplJyksYXJyYXkoJ0FiZnJhZ2UgYXVzZ2Vmw7xocnQsICVkIERhdGVuc2F0eiBiZXRyb2ZmZW4uJywnQWJmcmFnZSBhdXNnZWbDvGhydCwgJWQgRGF0ZW5zw6R0emUgYmV0cm9mZmVuLicpLCdLZWluIEtvbW1hbmRvIHZvcmhhbmRlbi4nLGFycmF5KCdTUUwtUXVlcnkgZXJmb2xncmVpY2ggYXVzZ2Vmw7xocnQuJywnJWQgU1FMLVF1ZXJpZXMgZXJmb2xncmVpY2ggYXVzZ2Vmw7xocnQuJyksJ0RhdGVpIGltcG9ydGllcmVuJywnSW1wb3J0aWVyZW4gdm9uIERhdGVpZW4gYWJnZXNjaGFsdGV0LicsJ0F1c2bDvGhyZW4nLCdCZWkgRmVobGVyIGFuaGFsdGVuJywnTnVyIEZlaGxlciBhbnplaWdlbicsJ0ltIFNlcnZlcicsJ1dlYnNlcnZlciBEYXRlaSAlcycsJ0RhdGVpIGF1c2bDvGhyZW4nLCdIaXN0b3J5JywnRW50bGVlcmVuJywnQWxsZSDDpG5kZXJuJywnRGF0ZW5zYXR6IGdlbMO2c2NodC4nLCdEYXRlbnNhdHogZ2XDpG5kZXJ0LicsJ0RhdGVuc2F0eiVzIGhpbnp1Z2Vmw7xndC4nLCdIaW56dWbDvGdlbicsJ1NwZWljaGVybicsJ1NwZWljaGVybiB1bmQgd2VpdGVyIGJlYXJiZWl0ZW4nLCdTcGVpY2hlcm4gdW5kIG7DpGNoc3RlbiBoaW56dWbDvGdlbicsJ0VudGZlcm5lbicsJ1RhYmVsbGUgZW50ZmVybnQuJywnVGFiZWxsZSBnZcOkbmRlcnQuJywnVGFiZWxsZSBlcnN0ZWxsdC4nLCdOZXVlIFRhYmVsbGUgZXJzdGVsbGVuJywnRGllIG1heGltYWwgZXJsYXVidGUgQW56YWhsIGRlciBGZWxkZXIgaXN0IMO8YmVyc2Nocml0dGVuLiBCaXR0ZSAlcyB1bmQgJXMgZXJow7ZoZW4uJywnTmFtZSBkZXIgVGFiZWxsZScsJ01vdG9yJywnUGFydGl0aW9uaWVyZW4gdW0nLCdQYXJ0aXRpb25lbicsJ05hbWUgZGVyIFBhcnRpdGlvbicsJ1dlcnRlJywnSW5kaXplcyBnZcOkbmRlcnQuJywnSW5kZXgtVHlwJywnU3BhbHRlIChMw6RuZ2UpJywnTmFtZScsJ0RhdGVuYmFuayBlbnRmZXJudC4nLCdEYXRlbmJhbmsgdW1iZW5hbm50LicsJ0RhdGVuYmFuayBlcnN0ZWxsdC4nLCdEYXRlbmJhbmsgZ2XDpG5kZXJ0LicsJ05ldWUgRGF0ZW5iYW5rJywnU2NoZW1hIHd1cmRlIGdlbMO2c2NodC4nLCdOZXVlcyBTY2hlbWEgZXJzdGVsbHQuJywnU2NoZW1hIGdlw6RuZGVydC4nLCdBdWZydWZlbicsYXJyYXkoJ0tvbW1hbmRvIFNRTCBhdXNnZWbDvGhydCwgJWQgRGF0ZW5zYXR6IGJldHJvZmZlbi4nLCdLb21tYW5kbyBTUUwgYXVzZ2Vmw7xocnQsICVkIERhdGVuc8OkdHplIGJldHJvZmZlbi4nKSwnRnJlbWRzY2hsw7xzc2VsIGVudGZlcm50LicsJ0ZyZW1kc2NobMO8c3NlbCBnZcOkbmRlcnQuJywnRnJlbWRzY2hsw7xzc2VsIGVyc3RlbGx0LicsJ1NwYWx0ZW4gZGVzIFVyc3BydW5ncyB1bmQgZGVzIFppZWxlcyBtw7xzc2VuIHZvbSBnbGVpY2hlbiBEYXRlbnR5cCBzZWluLCBlcyBtdXNzIHVudGVyIGRlbiBaaWVsc3BhbHRlbiBlaW4gSW5kZXggZXhpc3RpZXJlbiB1bmQgZGllIHJlZmVyZW56aWVydGVuIERhdGVuIG3DvHNzZW4gZXhpc3RpZXJlbi4nLCdGcmVtZHNjaGzDvHNzZWwnLCdaaWVsdGFiZWxsZScsJ8OEbmRlcm4nLCdTcGFsdGUgaGluenVmw7xnZW4nLCdWaWV3IGVudGZlcm50LicsJ1ZpZXcgZ2XDpG5kZXJ0LicsJ1ZpZXcgZXJzdGVsbHQuJywnTmV1ZSBWaWV3IGVyc3RlbGxlbicsJ0VyZWlnbmlzIGVudGZlcm50LicsJ0VyZWlnbmlzIGdlw6RuZGVydC4nLCdFcmVpZ25pcyBlcnN0ZWxsdC4nLCdFcmVpZ25pcyDDpG5kZXJuJywnRXJlaWduaXMgZXJzdGVsbGVuJywnU3RhcnQnLCdFbmRlJywnSmVkZScsJ05hY2ggZGVyIEF1c2bDvGhydW5nIGVyaGFsdGVuJywnUHJvemVkdXIgZW50ZmVybnQuJywnUHJvemVkdXIgZ2XDpG5kZXJ0LicsJ1Byb3plZHVyIGVyc3RlbGx0LicsJ0Z1bmt0aW9uIMOkbmRlcm4nLCdQcm96ZWR1ciDDpG5kZXJuJywnTmV1ZSBGdW5rdGlvbicsJ05ldWUgUHJvemVkdXInLCdUeXAgZGVzIFLDvGNrZ2FiZXdlcnRlcycsJ1NlcXVlbnogZ2Vsw7ZzY2h0LicsJ05ldWUgU2VxdWVueiBlcnN0ZWxsdC4nLCdTZXF1ZW56IGdlw6RuZGVydC4nLCdTZXF1ZW56IMOkbmRlcm4nLCdOZXVlIFNlcXVlbnonLCdUeXAgZ2Vsw7ZzY2h0LicsJ1R5cCBlcnN0ZWxsdC4nLCdUeXAgw6RuZGVybicsJ1R5cCBlcnN0ZWxsZW4nLCdUcmlnZ2VyIGVudGZlcm50LicsJ1RyaWdnZXIgZ2XDpG5kZXJ0LicsJ1RyaWdnZXIgZXJzdGVsbHQuJywnVHJpZ2dlciDDpG5kZXJuJywnVHJpZ2dlciBoaW56dWbDvGdlbicsJ1plaXRwdW5rdCcsJ0VyZWlnbmlzJywnQmVudXR6ZXIgZW50ZmVybnQuJywnQmVudXR6ZXIgZ2XDpG5kZXJ0LicsJ0JlbnV0emVyIGVyc3RlbGx0LicsJ0hhc2hlZCcsJ1J1dGluZScsJ0VybGF1YmVuJywnVmVyYmlldGVuJyxhcnJheSgnJWQgUHJvemVzcyBnZXN0b3BwdC4nLCclZCBQcm96ZXNzZSBnZXN0b3BwdC4nKSwnJWQgaW5zZ2VzYW10JywnQW5oYWx0ZW4nLCclZCBBcnRpa2VsIGJldHJvZmZlbi4nLCdEb3BwZWxrbGljayB6dW0gQmVhcmJlaXRlbiBkZXMgV2VydGVzLicsYXJyYXkoJyVkIERhdGVuc2F0eiBpbXBvcnRpZXJ0LicsJyVkIERhdGVuc8OkdHplIHd1cmRlbiBpbXBvcnRpZXJ0LicpLCdBdXN3YWhsIGRlciBUYWJlbGxlIGZlaGxnZXNjaGxhZ2VuJywnw6RuZGVybicsJ1JlbGF0aW9uZW4nLCdCZW51dHplbiBTaWUgZGVuIExpbmsgenVtIGVkaXRpZXJlbiBkaWVzZXMgV2VydGVzLicsJ1NlaXRlJywnbGV0enRlJywnR2VzYW10ZXJnZWJuaXMnLCdLbG9uZW4nLCdJbXBvcnRpZXJlbicsJyAnLCdUYWJlbGxlbiBzaW5kIGVudGxlZXJ0IHdvcmRlbiAodHJ1bmNhdGUpLicsJ1RhYmVsbGVuIHZlcnNjaG9iZW4uJywnVGFiZWxsZW4gd3VyZGVuIGtvcGllcnQuJywnVGFiZWxsZW4gd3VyZGVuIGVudGZlcm50IChkcm9wKS4nLCdUYWJlbGxlbiB1bmQgVmlld3MnLCdTdWNoZSBpbiBUYWJlbGxlbicsJ01vdG9yJywnRGF0ZW5ncsO2c3NlJywnSW5kZXhncsO2c3NlJywnRnJlaWVyIEJlcmVpY2gnLCdEYXRlbnPDpHR6ZScsJ0FuYWx5c2llcmVuJywnT3B0aW1pZXJlbicsJ1Byw7xmZW4nLCdSZXBhcmllcmVuJywnRW50bGVlcmVuICh0cnVuY2F0ZSknLCdJbiBhbmRlcmUgRGF0ZW5iYW5rIHZlcnNjaGllYmVuJywnVmVyc2NoaWViZW4nLCdLb3BpZXJlbicsJ1NlcXVlbnonLCdaZWl0cGxhbicsJ1p1ciBhbmdlZ2ViZW5lbiBaZWl0JywnSEg6TU06U1MnKTticmVhaztjYXNlImZyIjokUj1hcnJheSgnw4p0ZXMtdm91cyBjZXJ0YWluID8nLCdJbXBvc3NpYmxlIGRcJ2ltcG9ydGVyIGxlIGZpY2hpZXIuJywnTGEgdGFpbGxlIG1heGltYWxlIGRlcyBmaWNoaWVycyBlc3QgZGUgJXNCLicsJ0xlIGZpY2hpZXIgZXN0IGludHJvdXZhYmxlLicsJ3ZpZGUnLCdvcmlnaW5hbCcsJ0F1Y3VuZSB0YWJsZS4nLCdMYW5ndWUnLCdVdGlsaXNlcicsJ1ZldWlsbGV6IHV0aWxpc2VyIGxcJ3VuZSBkZXMgZXh0ZW5zaW9ucyAlcy4nLCdMZSBmaWNoaWVyIGV4aXN0ZS4nLCdUeXBlcyB1dGlsaXNhdGV1cicsJ05vbWJyZXMnLCdEYXRlIGV0IGhldXJlJywnQ2hhw65uZXMnLCdCaW5haXJlcycsJ1LDqXNlYXUnLCdHw6lvbcOpdHJpZScsJ0xpc3RlcycsJ1N5c3TDqG1lJywnU2VydmV1cicsJ1V0aWxpc2F0ZXVyJywnTW90IGRlIHBhc3NlJywnQXV0aGVudGlmaWNhdGlvbicsJ0F1dGhlbnRpZmljYXRpb24gcGVybWFuZW50ZScsJ0FmZmljaGVyIGxlcyBkb25uw6llcycsJ0FmZmljaGVyIGxhIHN0cnVjdHVyZScsJ01vZGlmaWVyIHVuZSB2dWUnLCdNb2RpZmllciBsYSB0YWJsZScsJ05vdXZlbCDDqWzDqW1lbnQnLCdEZXJuacOocmUgcGFnZScsJ01vZGlmaWVyJyxhcnJheSgnJWQgb2N0ZXQnLCclZCBvY3RldHMnKSwnU2VsZWN0JywnRm9uY3Rpb25zJywnQWdyw6lnYXRpb24nLCdSZWNoZXJjaGVyJywnblwnaW1wb3J0ZSBvw7knLCdUcmllcicsJ2TDqWNyb2lzc2FudCcsJ0xpbWl0ZScsJ0xvbmd1ZXVyIGR1IHRleHRlJywnQWN0aW9uJywnUmVxdcOqdGUgU1FMJywnb3V2cmlyJywnc2F1dmVnYXJkZXInLCdNb2RpZmllciBsYSBiYXNlIGRlIGRvbm7DqWVzJywnTW9kaWZpZXIgbGUgc2Now6ltYScsJ0Nyw6llciB1biBzY2jDqW1hJywnU2Now6ltYSBkZSBsYSBiYXNlIGRlIGRvbm7DqWVzJywnUHJpdmlsw6hnZXMnLCdFeHBvcnRlcicsJ0TDqWNvbm5leGlvbicsJ2Jhc2UgZGUgZG9ubsOpZXMnLCdzY2jDqW1hJywnQ3LDqWVyIHVuZSBub3V2ZWxsZSB0YWJsZScsJ3NlbGVjdCcsJ2x0cicsJ1JlbnZveWVyIGxlcyBkb25uw6llcyBQT1NUID8nLCdUb2tlbiBDU1JGIGludmFsaWRlLiBWZXVpbGxleiByw6llbnZveWVyIGxlIGZvcm11bGFpcmUuJywnQXUgcmV2b2lyICEnLCdWZXVpbGxleiBhY3RpdmVyIGxlcyBzZXNzaW9ucy4nLCdTZXNzaW9uIGV4cGlyw6llLCB2ZXVpbGxleiB2b3VzIGF1dGhlbnRpZmllciDDoCBub3V2ZWF1LicsJ0F1dGhlbnRpZmljYXRpb24gw6ljaG91w6llLicsJ0V4dGVuc2lvbiBpbnRyb3V2YWJsZScsJ0F1Y3VuZSBkZXMgZXh0ZW5zaW9ucyBQSFAgc3VwcG9ydMOpZXMgKCVzKSBuXCdlc3QgZGlzcG9uaWJsZS4nLCdEb25uw6llcyBQT1NUIHRyb3AgZ3JhbmRlcy4gUsOpZHVpc2V6IGxhIHRhaWxsZSBkZXMgZG9ubsOpZXMgb3UgYXVnbWVudGV6IGxhIHZhbGV1ciBkZSAlcyBkYW5zIGxhIGNvbmZpZ3VyYXRpb24gZGUgUEhQLicsJ0Jhc2UgZGUgZG9ubsOpZXMnLCdCYXNlIGRlIGRvbm7DqWVzIGludmFsaWRlLicsJ0xlcyBiYXNlcyBkZSBkb25uw6llcyBvbnQgw6l0w6kgc3VwcHJpbcOpZXMuJywnU8OpbGVjdGlvbm5lciBsYSBiYXNlIGRlIGRvbm7DqWVzJywnQ3LDqWVyIHVuZSBiYXNlIGRlIGRvbm7DqWVzJywnTGlzdGUgZGVzIHByb2Nlc3N1cycsJ1ZhcmlhYmxlcycsJ1N0YXR1dCcsJ1ZlcnNpb24gZGUgJXMgOiAlcyB2aWEgbFwnZXh0ZW5zaW9uIFBIUCAlcycsJ0F1dGhlbnRpZmnDqSBlbiB0YW50IHF1ZSA6ICVzJywnSW50ZXJjbGFzc2VtZW50JywnVGFibGVzJywnU3VwcHJpbWVyJywnUmFmcmHDrmNoaXInLCdTY2jDqW1hJywnU2Now6ltYSBpbnZhbGlkZS4nLCdBdWN1biByw6lzdWx0YXQuJywnJS4zZiBzJywnQ2zDqXMgw6l0cmFuZ8OocmVzJywnaW50ZXJjbGFzc2VtZW50JywnT04gREVMRVRFJywnTm9tIGRlIGxhIGNvbG9ubmUnLCdOb20gZHUgcGFyYW3DqHRyZScsJ1R5cGUnLCdMb25ndWV1cicsJ09wdGlvbnMnLCdBdXRvIGluY3JlbWVudCcsJ1ZhbGV1cnMgcGFyIGTDqWZhdXQnLCdDb21tZW50YWlyZScsJ0Fqb3V0ZXIgbGUgcHJvY2hhaW4nLCdEw6lwbGFjZXIgdmVycyBsZSBoYXV0JywnRMOpcGxhY2VyIHZlcnMgbGUgYmFzJywnRWZmYWNlcicsJ1Z1ZScsJ1RhYmxlJywnQ29sb25uZScsJ0luZGV4JywnTW9kaWZpZXIgbGVzIGluZGV4JywnU291cmNlJywnQ2libGUnLCdPTiBVUERBVEUnLCdNb2RpZmllcicsJ0Fqb3V0ZXIgdW5lIGNsw6kgw6l0cmFuZ8OocmUnLCdUcmlnZ2VycycsJ0Fqb3V0ZXIgdW4gdHJpZ2dlcicsJ0xpZW4gcGVybWFuZW50JywnRXhwb3J0ZXInLCdTb3J0aWUnLCdGb3JtYXQnLCdSb3V0aW5lcycsJ8OJdsOobmVtZW50cycsJ0Rvbm7DqWVzJywnQ3LDqWVyIHVuIHV0aWxpc2F0ZXVyJywnRXJyZXVyIGRhbnMgbGEgcmVxdcOqdGUnLGFycmF5KCclZCBsaWduZScsJyVkIGxpZ25lcycpLGFycmF5KCdSZXF1w6p0ZSBleMOpY3V0w6llIGF2ZWMgc3VjY8OocywgJWQgbGlnbmUgbW9kaWZpw6llLicsJ1JlcXXDqnRlIGV4w6ljdXTDqWUgYXZlYyBzdWNjw6hzLCAlZCBsaWduZXMgbW9kaWZpw6llcy4nKSwnQXVjdW5lIGNvbW1hbmRlIMOgIGV4w6ljdXRlci4nLGFycmF5KCclZCByZXF1w6p0ZSBleMOpY3V0w6llIGF2ZWMgc3VjY8Oocy4nLCclZCByZXF1w6p0ZXMgZXjDqWN1dMOpZXMgYXZlYyBzdWNjw6hzLicpLCdJbXBvcnRlciB1biBmaWNoaWVyJywnTFwnaW1wb3J0YXRpb24gZGUgZmljaGllciBlc3QgZMOpc2FjdGl2w6llLicsJ0V4w6ljdXRlcicsJ0FycsOqdGVyIGVuIGNhcyBkXCdlcnJldXInLCdNb250cmVyIHNldWxlbWVudCBsZXMgZXJyZXVycycsJ0RlcHVpcyBsZSBzZXJ2ZXVyJywnRmljaGllciAlcyBkdSBzZXJ2ZXVyIFdlYicsJ0V4w6ljdXRlciBsZSBmaWNoaWVyJywnSGlzdG9yaXF1ZScsJ0VmZmFjZXInLCdUb3V0IG1vZGlmaWVyJywnTFwnw6lsw6ltZW50IGEgw6l0w6kgc3VwcHJpbcOpLicsJ0xcJ8OpbMOpbWVudCBhIMOpdMOpIG1vZGlmacOpLicsJ0xcJ8OpbMOpbWVudCVzIGEgw6l0w6kgaW5zw6lyw6kuJywnSW5zw6lyZXInLCdTYXV2ZWdhcmRlcicsJ1NhdXZlZ2FyZGVyIGV0IGNvbnRpbnVlciBsXCfDqWRpdGlvbicsJ1NhdXZlZ2FyZGVyIGV0IGluc8OpcmVyIGxlIHByb2NoYWluJywnRWZmYWNlcicsJ0xhIHRhYmxlIGEgw6l0w6kgZWZmYWPDqWUuJywnTGEgdGFibGUgYSDDqXTDqSBtb2RpZmnDqWUuJywnTGEgdGFibGUgYSDDqXTDqSBjcsOpw6llLicsJ0Nyw6llciB1bmUgdGFibGUnLCdMZSBub21icmUgbWF4aW11bSBkZSBjaGFtcHMgZXN0IGTDqXBhc3PDqS4gVmV1aWxsZXogYXVnbWVudGVyICVzIGV0ICVzLicsJ05vbSBkZSBsYSB0YWJsZScsJ21vdGV1cicsJ1BhcnRpdGlvbm5lciBwYXInLCdQYXJ0aXRpb25zJywnTm9tIGRlIGxhIHBhcnRpdGlvbicsJ1ZhbGV1cnMnLCdJbmRleCBtb2RpZmnDqXMuJywnVHlwZSBkXCdpbmRleCcsJ0NvbG9ubmUgKGxvbmd1ZXVyKScsJ05vbScsJ0xhIGJhc2UgZGUgZG9ubsOpZXMgYSDDqXTDqSBzdXBwcmltw6llLicsJ0xhIGJhc2UgZGUgZG9ubsOpZXMgYSDDqXTDqSByZW5vbW3DqWUuJywnTGEgYmFzZSBkZSBkb25uw6llcyBhIMOpdMOpIGNyw6nDqWUuJywnTGEgYmFzZSBkZSBkb25uw6llcyBhIMOpdMOpIG1vZGlmacOpZS4nLCdDcsOpZXIgdW5lIGJhc2UgZGUgZG9ubsOpZXMnLCdMZSBzY2jDqW1hIGEgw6l0w6kgc3VwcHJpbcOpLicsJ0xlIHNjaMOpbWEgYSDDqXTDqSBjcsOpw6kuJywnTGUgc2Now6ltYSBhIMOpdMOpIG1vZGlmacOpLicsJ0FwcGVsZXInLGFycmF5KCdMYSByb3V0aW5lIGEgw6l0w6kgZXjDqWN1dMOpZSwgJWQgbGlnbmUgbW9kaWZpw6llLicsJ0xhIHJvdXRpbmUgYSDDqXTDqSBleMOpY3V0w6llLCAlZCBsaWduZXMgbW9kaWZpw6llcy4nKSwnTGEgY2zDqSDDqXRyYW5nw6hyZSBhIMOpdMOpIGVmZmFjw6llLicsJ0xhIGNsw6kgw6l0cmFuZ8OocmUgYSDDqXTDqSBtb2RpZmnDqWUuJywnTGEgY2zDqSDDqXRyYW5nw6hyZSBhIMOpdMOpIGNyw6nDqWUuJywnTGVzIGNvbG9ubmVzIGRlIHNvdXJjZSBldCBkZSBkZXN0aW5hdGlvbiBkb2l2ZW50IMOqdHJlIGR1IG3Dqm1lIHR5cGUsIGlsIGRvaXQgeSBhdm9pciB1biBpbmRleCBzdXIgbGVzIGNvbG9ubmVzIGRlIGRlc3RpbmF0aW9uIGV0IGxlcyBkb25uw6llcyByw6lmw6lyZW5jw6llcyBkb2l2ZW50IGV4aXN0ZXIuJywnQ2zDqSDDqXRyYW5nw6hyZScsJ1RhYmxlIHZpc8OpZScsJ01vZGlmaWVyJywnQWpvdXRlciB1bmUgY29sb25uZScsJ0xhIHZ1ZSBhIMOpdMOpIGVmZmFjw6llLicsJ0xhIHZ1ZSBhIMOpdMOpIG1vZGlmacOpZS4nLCdMYSB2dWUgYSDDqXTDqSBjcsOpw6llLicsJ0Nyw6llciB1bmUgdnVlJywnTFwnw6l2w6huZW1lbnQgYSDDqXTDqSBzdXBwcmltw6kuJywnTFwnw6l2w6huZW1lbnQgYSDDqXTDqSBtb2RpZmnDqS4nLCdMXCfDqXbDqG5lbWVudCBhIMOpdMOpIGNyw6nDqS4nLCdNb2RpZmllciB1biDDqXbDqG5lbWVudCcsJ0Nyw6llciB1biDDqXbDqG5lbWVudCcsJ0TDqW1hcnJlcicsJ1Rlcm1pbmVyJywnQ2hhcXVlJywnQ29uc2VydmVyIHF1YW5kIGNvbXBsw6l0w6knLCdMYSByb3V0aW5lIGEgw6l0w6kgc3VwcHJpbcOpZS4nLCdMYSByb3V0aW5lIGEgw6l0w6kgbW9kaWZpw6llLicsJ0xhIHJvdXRpbmUgYSDDqXTDqSBjcsOpw6llLicsJ01vZGlmaWVyIGxhIGZvbmN0aW9uJywnTW9kaWZpZXIgbGEgcHJvY8OpZHVyZScsJ0Nyw6llciB1bmUgZm9uY3Rpb24nLCdDcsOpZXIgdW5lIHByb2PDqWR1cmUnLCdUeXBlIGRlIHJldG91cicsJ0xhIHPDqXF1ZW5jZSBhIMOpdMOpIHN1cHByaW3DqWUuJywnTGEgc8OpcXVlbmNlIGEgw6l0w6kgY3LDqcOpZS4nLCdMYSBzw6lxdWVuY2UgYSDDqXTDqSBtb2RpZmnDqWUuJywnTW9kaWZpZXIgbGEgc8OpcXVlbmNlJywnQ3LDqWVyIHVuZSBzw6lxdWVuY2UnLCdMZSB0eXBlIGEgw6l0w6kgc3VwcHJpbcOpLicsJ0xlIHR5cGUgYSDDqXTDqSBjcsOpw6kuJywnTW9kaWZpZXIgbGUgdHlwZScsJ0Nyw6llciB1biB0eXBlJywnTGUgdHJpZ2dlciBhIMOpdMOpIHN1cHByaW3DqS4nLCdMZSB0cmlnZ2VyIGEgw6l0w6kgbW9kaWZpw6kuJywnTGUgdHJpZ2dlciBhIMOpdMOpIGNyw6nDqS4nLCdNb2RpZmllciB1biB0cmlnZ2VyJywnQWpvdXRlciB1biB0cmlnZ2VyJywnVGVtcHMnLCfDiXbDqG5lbWVudCcsJ0xcJ3V0aWxpc2F0ZXVyIGEgw6l0w6kgZWZmYWPDqS4nLCdMXCd1dGlsaXNhdGV1ciBhIMOpdMOpIG1vZGlmacOpLicsJ0xcJ3V0aWxpc2F0ZXVyIGEgw6l0w6kgY3LDqcOpLicsJ0hhY2jDqScsJ1JvdXRpbmUnLCdHcmFudCcsJ1Jldm9rZScsYXJyYXkoJyVkIHByb2Nlc3N1cyBhIMOpdMOpIGFycsOqdMOpLicsJyVkIHByb2Nlc3N1cyBvbnQgw6l0w6kgYXJyw6p0w6lzLicpLCclZCBhdSB0b3RhbCcsJ0FycsOqdGVyJyxhcnJheSgnJWQgw6lsw6ltZW50IGEgw6l0w6kgbW9kaWZpw6kuJywnJWQgw6lsw6ltZW50cyBvbnQgw6l0w6kgbW9kaWZpw6lzLicpLCdEb3VibGUtY2xpcXVleiBzdXIgdW5lIHZhbGV1ciBwb3VyIGxhIG1vZGlmaWVyLicsYXJyYXkoJyVkIGxpZ25lIGEgw6l0w6kgaW1wb3J0w6llLicsJyVkIGxpZ25lcyBvbnQgw6l0w6kgaW1wb3J0w6llcy4nKSwnSW1wb3NzaWJsZSBkZSBzw6lsZWN0aW9ubmVyIGxhIHRhYmxlJywnbW9kaWZpZXInLCdSZWxhdGlvbnMnLCdVdGlsaXNleiBsZSBsaWVuICJtb2RpZmllciIgcG91ciBtb2RpZmllciBjZXR0ZSB2YWxldXIuJywnUGFnZScsJ2Rlcm5pw6hyZScsJ3LDqXN1bHRhdCBlbnRpZXInLCdDbG9uZXInLCdJbXBvcnRlcicsJywnLCdMZXMgdGFibGVzIG9udCDDqXTDqSB0cm9ucXXDqWVzLicsJ0xlcyB0YWJsZXMgb250IMOpdMOpIGTDqXBsYWPDqWVzLicsJ0xlcyB0YWJsZXMgb250IMOpdMOpIGNvcGnDqWVzLicsJ0xlcyB0YWJsZXMgb250IMOpdMOpIGVmZmFjw6llcy4nLCdUYWJsZXMgZXQgdnVlcycsJ1JlY2hlcmNoZXIgZGFucyBsZXMgdGFibGVzJywnTW90ZXVyJywnTG9uZ3VldXIgZGVzIGRvbm7DqWVzJywnTG9uZ3VldXIgZGUgbFwnaW5kZXgnLCdFc3BhY2UgaW51dGlsaXPDqScsJ0xpZ25lcycsJ0FuYWx5c2VyJywnT3B0aW1pc2VyJywnVsOpcmlmaWVyJywnUsOpcGFyZXInLCdUcm9ucXVlcicsJ0TDqXBsYWNlciB2ZXJzIHVuZSBhdXRyZSBiYXNlIGRlIGRvbm7DqWVzJywnRMOpcGxhY2VyJywnQ29waWVyJywnU8OpcXVlbmNlcycsJ0hvcmFpcmUnLCfDgCB1biBtb21lbnQgcHLDqWNpcycsJ0hIOk1NOlNTJyk7YnJlYWs7Y2FzZSJpdCI6JFI9YXJyYXkoJ1NpY3Vybz8nLCdDYXJpY2FtZW50byBkZWwgZmlsZSBub24gcml1c2NpdG8uJywnTGEgZGltZW5zaW9uZSBtYXNzaW1hIGRlbCBmaWxlIMOoICVzQi4nLCdJbCBmaWxlIG5vbiBlc2lzdGUuJywndnVvdG8nLCdvcmlnaW5hbGUnLCdObyB0YWJlbGxlLicsJ0xpbmd1YScsJ1VzYScsJ1VzYSB1bmEgZGVsbGUgZXN0ZW5zaW9uaSAlcy4nLCdJbCBmaWxlIGVzaXN0ZSBnacOgLicsJ1RpcGkgZGVmaW5pdGkgZGFsbFwndXRlbnRlJywnTnVtZXJpJywnRGF0YSBlIG9yYScsJ1N0cmluZ2hlJywnQmluYXJpJywnUmV0ZScsJ0dlb21ldHJpYScsJ0xpc3RlJywnU2lzdGVtYScsJ1NlcnZlcicsJ1V0ZW50ZScsJ1Bhc3N3b3JkJywnQXV0ZW50aWNhemlvbmUnLCdMb2dpbiBwZXJtYW5lbnRlJywnVmlzdWFsaXp6YSBkYXRpJywnVmlzdWFsaXp6YSBzdHJ1dHR1cmEnLCdNb2RpZmljYSB2aXN0YScsJ01vZGlmaWNhIHRhYmVsbGEnLCdOdW92byBlbGVtZW50bycsJ1VsdGltYSBwYWdpbmEnLCdNb2RpZmljYScsYXJyYXkoJyVkIGJ5dGUnLCclZCBieXRlcycpLCdTZWxlemlvbmEnLCdGdW56aW9uaScsJ0FnZ3JlZ2F6aW9uZScsJ0NlcmNhJywnb3Z1bnF1ZScsJ09yZGluYScsJ2Rpc2NlbmRlbnRlJywnTGltaXRlJywnTHVuZ2hlenphIHRlc3RvJywnQXppb25lJywnQ29tYW5kbyBTUUwnLCdhcHJpJywnc2FsdmEnLCdNb2RpZmljYSBkYXRhYmFzZScsJ01vZGlmaWNhIHNjaGVtYScsJ0NyZWEgc2NoZW1hJywnU2NoZW1hIGRhdGFiYXNlJywnUHJpdmlsZWdpJywnRHVtcCcsJ0VzY2knLCdkYXRhYmFzZScsJ3NjaGVtYScsJ0NyZWEgbnVvdmEgdGFiZWxsYScsJ3NlbGV6aW9uYScsJ2x0cicsJ1JlaW52aW8gaSBkYXRpIFBPU1Q/JywnVG9rZW4gQ1NSRiBub24gdmFsaWRvLiBSZWludmlhIGxhIHJpY2hpZXN0YS4nLCdVc2NpdGEgZWZmZXR0dWF0YSBjb24gc3VjY2Vzc28uJywnTGUgc2Vzc2lvbmkgZGV2b25vIGVzc2VyZSBhYmlsaXRhdGUuJywnU2Vzc2lvbmUgc2NhZHV0YSwgYXV0ZW50aWNhcnNpIGRpIG51b3ZvLicsJ0NyZWRlbnppYWxpIG5vbiB2YWxpZGUuJywnRXN0ZW5zaW9uaSBub24gcHJlc2VudGknLCdOZXNzdW5hIGRlbGxlIGVzdGVuc2lvbmkgUEhQIHN1cHBvcnRhdGUgKCVzKSBkaXNwb25pYmlsZS4nLCdUcm9wcGkgZGF0aSB2aWEgUE9TVC4gUmlkdXJyZSBpIGRhdGkgbyBhdW1lbnRhcmUgbGEgZGlyZXR0aXZhIGRpIGNvbmZpZ3VyYXppb25lICVzLicsJ0RhdGFiYXNlJywnRGF0YWJhc2Ugbm9uIHZhbGlkby4nLCdEYXRhYmFzZSBlbGltaW5hdGkuJywnU2VsZXppb25hIGRhdGFiYXNlJywnQ3JlYSBudW92byBkYXRhYmFzZScsJ0VsZW5jbyBwcm9jZXNzaScsJ1ZhcmlhYmlsaScsJ1N0YXRvJywnVmVyc2lvbmUgJXM6ICVzIHZpYSBlc3RlbnNpb25lIFBIUCAlcycsJ0F1dGVudGljYXRvIGNvbWU6ICVzJywnQ29sbGF6aW9uZScsJ1RhYmVsbGUnLCdFbGltaW5hJywnQWdnaW9ybmEnLCdTY2hlbWEnLCdTY2hlbWEgbm9uIHZhbGlkby4nLCdOZXNzdW5hIHJpZ2EuJywnJS4zZiBzJywnQ2hpYXZpIGVzdGVybmUnLCdjb2xsYXppb25lJywnT04gREVMRVRFJywnTm9tZSBjb2xvbm5hJywnTm9tZSBwYXJhbWV0cm8nLCdUaXBvJywnTHVuZ2hlenphJywnT3B6aW9uaScsJ0F1dG8gaW5jcmVtZW50bycsJ1ZhbG9yaSBwcmVkZWZpbml0aScsJ0NvbW1lbnRvJywnQWdnaXVuZ2kgYWx0cm8nLCdTcG9zdGEgc3UnLCdTcG9zdGEgZ2l1JywnUmltdW92aScsJ1ZlZGknLCdUYWJlbGxhJywnQ29sb25uYScsJ0luZGljaScsJ01vZGlmaWNhIGluZGljaScsJ1NvcmdlbnRlJywnT2JpZXR0aXZvJywnT04gVVBEQVRFJywnTW9kaWZpY2EnLCdBZ2dpdW5naSBmb3JlaWduIGtleScsJ1RyaWdnZXInLCdBZ2dpdW5naSB0cmlnZ2VyJywnTGluayBwZXJtYW5lbnRlJywnRXNwb3J0YScsJ1Jpc3VsdGF0bycsJ0Zvcm1hdG8nLCdSb3V0aW5lJywnRXZlbnRpJywnRGF0aScsJ0NyZWEgdXRlbnRlJywnRXJyb3JlIG5lbGxhIHF1ZXJ5JyxhcnJheSgnJWQgcmlnYScsJyVkIHJpZ2hlJyksYXJyYXkoJ0VzZWN1emlvbmUgZGVsbGEgcXVlcnkgT0ssICVkIHJpZ2EgaW50ZXJlc3NhdGEuJywnRXNlY3V6aW9uZSBkZWxsYSBxdWVyeSBPSywgJWQgcmlnaGUgaW50ZXJlc3NhdGUuJyksJ05lc3N1biBjb21tYW5kbyBkYSBlc2VndWlyZS4nLGFycmF5KCclZCBxdWVyeSBlc2VndWl0YSBjb24gc3VjY2Vzc28uJywnJWQgcXVlcnkgZXNlZ3VpdGUgY29uIHN1Y2Nlc3NvLicpLCdDYXJpY2FtZW50byBmaWxlJywnQ2FyaWNhbWVudG8gZmlsZSBkaXNhYmlsaXRhdG8uJywnRXNlZ3VpJywnU3RvcCBzdSBlcnJvcmUnLCdNb3N0cmEgc29sbyBnbGkgZXJyb3JpJywnRGFsIHNlcnZlcicsJ1dlYnNlcnZlciBmaWxlICVzJywnRXNlZ3VpIGZpbGUnLCdTdG9yaWNvJywnUHVsaXNjaScsJ01vZGlmaWNhIHR1dHRvJywnRWxlbWVudG8gZWxpbWluYXRvLicsJ0VsZW1lbnRvIGFnZ2lvcm5hdG8uJywnRWxlbWVudG8lcyBpbnNlcml0by4nLCdJbnNlcmlzY2knLCdTYWx2YScsJ1NhbHZhIGUgY29udGludWEnLCdTYWx2YSBlIGluc2VyaXNjaSB1biBhbHRybycsJ0VsaW1pbmEnLCdUYWJlbGxhIGVsaW1pbmF0YS4nLCdUYWJlbGxhIG1vZGlmaWNhdGEuJywnVGFiZWxsYSBjcmVhdGEuJywnQ3JlYSB0YWJlbGxhJywnVHJvcHBpIGNhbXBpLiBQZXIgZmF2b3JlIGF1bWVudGFyZSAlcyBlICVzLicsJ05vbWUgdGFiZWxsYScsJ21vdG9yZScsJ1BhcnRpemlvbmEgcGVyJywnUGFydGl6aW9uaScsJ05vbWUgcGFydGl6aW9uZScsJ1ZhbG9yaScsJ0luZGljaSBtb2RpZmljYXRpLicsJ1RpcG8gaW5kaWNlJywnQ29sb25uYSAobHVuZ2hlenphKScsJ05vbWUnLCdEYXRhYmFzZSBlbGltaW5hdG8uJywnRGF0YWJhc2Ugcmlub21pbmF0by4nLCdEYXRhYmFzZSBjcmVhdG8uJywnRGF0YWJhc2UgbW9kaWZpY2F0by4nLCdDcmVhIGRhdGFiYXNlJywnU2NoZW1hIGVsaW1pbmF0by4nLCdTY2hlbWEgY3JlYXRvLicsJ1NjaGVtYSBtb2RpZmljYXRvLicsJ0NoaWFtYScsYXJyYXkoJ1JvdXRpbmUgY2hpYW1hdGEsICVkIHJpZ2EgaW50ZXJlc3NhdGEuJywnUm91dGluZSBjaGlhbWF0YSwgJWQgcmlnaGUgaW50ZXJlc3NhdGUuJyksJ0ZvcmVpZ24ga2V5IGVsaW1pbmF0YS4nLCdGb3JlaWduIGtleSBtb2RpZmljYXRhLicsJ0ZvcmVpZ24ga2V5IGNyZWF0YS4nLCdMZSBjb2xvbm5lIHNvcmdlbnRlIGUgZGVzdGluYXppb25lIGRldm9ubyBlc3NlcmUgZGVsbG8gc3Rlc3NvIHRpcG8gZSBjaSBkZXZlIGVzc2VyZSB1biBpbmRpY2Ugc3VsbGEgY29sb25uYSBkaSBkZXN0aW5hemlvbmUgZSBzdWkgZGF0aSByZWZlcmVuemlhdGkuJywnRm9yZWlnbiBrZXknLCdUYWJlbGxhIG9iaWV0dGl2bycsJ0NhbWJpYScsJ0FnZ2l1bmdpIGNvbG9ubmEnLCdWaXN0YSBlbGltaW5hdGEuJywnVmlzdGEgbW9kaWZpY2F0YS4nLCdWaXN0YSBjcmVhdGEuJywnQ3JlYSB2aXN0YScsJ0V2ZW50byBlbGltaW5hdG8uJywnRXZlbnRvIG1vZGlmaWNhdG8uJywnRXZlbnRvIGNyZWF0by4nLCdNb2RpZmljYSBldmVudG8nLCdDcmVhIGV2ZW50bycsJ0luaXppbycsJ0ZpbmUnLCdPZ25pJywnQWwgdGVybWluZSBwcmVzZXJ2YXJlJywnUm91dGluZSBlbGltaW5hdGEuJywnUm91dGluZSBtb2RpZmljYXRhLicsJ1JvdXRpbmUgY3JlYXRhLicsJ01vZGlmaWNhIGZ1bnppb25lJywnTW9kaWZpY2EgcHJvY2VkdXJhJywnQ3JlYSBmdW56aW9uZScsJ0NyZWEgcHJvY2VkdXJhJywnUmV0dXJuIHR5cGUnLCdTZXF1ZW56YSBlbGltaW5hdGEuJywnU2VxdWVuemEgY3JlYXRhLicsJ1NlcXVlbnphIG1vZGlmaWNhdGEuJywnTW9kaWZpY2Egc2VxdWVuemEnLCdDcmVhIHNlcXVlbnphJywnVGlwbyBkZWZpbml0byBkYWxsXCd1dGVudGUgZWxpbWluYXRvLicsJ1RpcG8gZGVmaW5pdG8gZGFsbFwndXRlbnRlIGNyZWF0by4nLCdNb2RpZmljYSB0aXBvIGRlZmluaXRvIGRhbGxcJ3V0ZW50ZScsJ0NyZWEgdGlwbyBkZWZpbml0byBkYWxsXCd1dGVudGUnLCdUcmlnZ2VyIGVsaW1pbmF0by4nLCdUcmlnZ2VyIG1vZGlmaWNhdG8uJywnVHJpZ2dlciBjcmVhdG8uJywnTW9kaWZpY2EgdHJpZ2dlcicsJ0NyZWEgdHJpZ2dlcicsJ09yYXJpbycsJ0V2ZW50bycsJ1V0ZW50ZSBlbGltaW5hdG8uJywnVXRlbnRlIG1vZGlmaWNhdG8uJywnVXRlbnRlIGNyZWF0by4nLCdIYXNoZWQnLCdSb3V0aW5lJywnUGVybWV0dGknLCdSZXZvY2EnLGFycmF5KCclZCBwcm9jZXNzbyBpbnRlcnJvdHRvLicsJyVkIHByb2Nlc3NpIGludGVycm90dGkuJyksJyVkIGluIHRvdGFsZScsJ0ludGVycm9tcGknLGFycmF5KCdJbCByaXN1bHRhdG8gY29uc2lzdGUgaW4gJWQgZWxlbWVudG8uJywnSWwgcmlzdWx0YXRvIGNvbnNpc3RlIGluICVkIGVsZW1lbnRpLicpLCdGYWkgZG9wcGlvIGNsaWNrIHN1IHVuIHZhbG9yZSBwZXIgbW9kaWZpY2FybG8uJyxhcnJheSgnJWQgcmlnYSBpbXBvcnRhdGEuJywnJWQgcmlnaGUgaW1wb3J0YXRlLicpLCdTZWxlemlvbmUgZGVsbGEgdGFiZWxsYSBub24gcml1c2NpdGEnLCdtb2RpZmljYScsJ1JlbGF6aW9uaScsJ1VzYSBpbCBsaW5rIG1vZGlmaWNhIHBlciBtb2RpZmljYXJlIHF1ZXN0byB2YWxvcmUuJywnUGFnaW5hJywndWx0aW1hJywnaW50ZXJvIHJpc3VsdGF0bycsJ0Nsb25hJywnSW1wb3J0YScsJy4nLCdMZSB0YWJlbGxlIHNvbm8gc3RhdGUgc3Z1b3RhdGUuJywnTGUgdGFiZWxsZSBzb25vIHN0YXRlIHNwb3N0YXRlLicsJ0xlIHRhYmVsbGUgc29ubyBzdGF0ZSBjb3BpYXRlLicsJ0xlIHRhYmVsbGUgc29ubyBzdGF0ZSBlbGltaW5hdGUuJywnVGFiZWxsZSBlIHZpc3RlJywnQ2VyY2EgbmVsbGUgdGFiZWxsZScsJ01vdG9yZScsJ0x1bmdoZXp6YSBkYXRvJywnTHVuZ2hlenphIGluZGljZScsJ0RhdGkgbGliZXJpJywnUmlnaGUnLCdBbmFsaXp6YScsJ090dGltaXp6YScsJ0NvbnRyb2xsYScsJ1JpcGFyYScsJ1N2dW90YScsJ1Nwb3N0YSBpbiBhbHRybyBkYXRhYmFzZScsJ1Nwb3N0YScsJ0NvcGlhJywnU2VxdWVuemEnLCdQaWFuaWZpY2EnLCdBIHRlbXBvIHByZXN0YWJpbGl0bycsJ0hIOk1NOlNTJyk7YnJlYWs7Y2FzZSJldCI6JFI9YXJyYXkoJ0thcyBvbGVkIGtpbmRlbD8nLCdGYWlsaSDDvGxlc2xhYWRpbWluZSBwb2xlIHbDtWltYWxpay4nLCdNYWtzaW1hYWxuZSBmYWlsaXN1dXJ1cyAlc0IuJywnRmFpbGkgZWkgbGVpdHVkLicsJ3TDvGhpJywnb3JpZ2luYWFsJywnVGFiZWxlaWQgZWkgbGVpdHVkLicsJ0tlZWwnLCdLYXN1dGEnLCdQYWx1biBrYXN1dGEgw7xodCBsYWllbmR1c3Rlc3QgJXMuJywnRmFpbCBqdWJhIGVrc2lzdGVlcmliLicsJ0thc3V0YWphdMO8w7xiaWQnLCdOdW1icmlsaXNlZCcsJ0t1dXDDpGV2IGphIGtlbGxhYWVnJywnVGVrc3RpZCcsJ0JpbmFhcicsJ1bDtXJrIChuZXR3b3JrKScsJ0dlb21lZXRyaWEnLCdMaXN0aWQnLCdBbmRtZWJhYXNpbW9vdG9yJywnU2VydmVyJywnS2FzdXRhamFuaW1pJywnUGFyb29sJywnTG9naSBzaXNzZScsJ0rDpHRhIG1pbmQgbWVlbGRlJywnVmFhdGEgYW5kbWVpZCcsJ07DpGl0YSBzdHJ1a3R1dXJpJywnTXV1ZGEgdmFhZGV0IChWSUVXKScsJ011dWRhIHRhYmVsaSBzdHJ1a3R1dXJpJywnTGlzYSBraXJqZScsJ1ZpaW1hbmUgbGVoZWvDvGxnJywnTXV1ZGEnLGFycmF5KCclZCBiYWl0JywnJWQgYmFpdGknKSwnS3V2YScsJ0Z1bmt0c2lvb25pZCcsJ0xpaXRtaW5lJywnT3RzaScsJ3ZhaGV0IHBvbGUnLCdTb3J0ZWVyaScsJ2thaGFuZXZhbHQnLCdQaWlyYScsJ1Rla3N0aSBwaWtrdXMnLCdUZWdldnVzJywnU1FMLVDDpHJpbmcnLCduw6RpdGEgYnJhdXNlcmlzJywnc2FsdmVzdGEgZmFpbGluYScsJ011dWRhIGFuZG1lYmFhc2knLCdNdXVkYSBzdHJ1a3R1dXJpJywnTG9vIHN0cnVrdHV1cicsJ0FuZG1lYmFhc2kgc2tlZW0nLCfDlWlndXNlZCcsJ0Vrc3BvcmRpJywnTG9naSB2w6RsamEnLCdhbmRtZWJhYXMnLCdzdHJ1a3R1dXInLCdMb28gdXVzIHRhYmVsJywna3V2YScsJ2x0cicsJ1NhYWRhIFBPU1QgYW5kbWVkIHV1ZXN0aT8nLCdTb2JpbWF0dSBDU1JGLCBwYWx1biBwb3N0aXRhZ2Ugdm9ybSB1dWVzdGkuJywnVsOkbGphbG9naW1pbmUgw7VubmVzdHVzLicsJ1Nlc3Npb29uaWQgcGVhdmFkIG9sZW1hIGx1YmF0dWQuJywnU2Vzc2lvb24gb24gYWVndW51ZCwgcGFsdW4gbG9naWdlIHV1ZXN0aSBzaXNzZS4nLCdFYmFrb3JyZWt0c2VkIGFuZG1lZC4nLCdFaSBsZWl0dWQgbGFpZW5kdXN0JywnU2VydmVyaXMgcG9sZSDDvGh0ZWdpIHRvZXRhdHVkIFBIUCBsYWllbmR1c3Rlc3QgKCVzKS4nLCdQT1NULWFuZG1ldGUgbWFodCBvbiBsaWlhbHQgc3V1ci4gUGFsdW4gdsOkaGVuZGFnZSBhbmRtZWlkIHbDtWkgc3V1cmVuZGFnZSAlcyBwaHAtc2VhZGV0LicsJ0FuZG1lYmFhcycsJ1R1bmRtYXR1IGFuZG1lYmFhcy4nLCdBbmRtZWJhYXNpZCBvbiBlZHVrYWx0IGt1c3R1dGF0dWQuJywnVmFsaSBhbmRtZWJhYXMnLCdMb28gdXVzIGFuZG1lYmFhcycsJ1Byb3RzZXNzaWRlIG5pbWVraXJpJywnTXV1dHVqYWQnLCdTdGFhdHVzJywnJXMgdmVyc2lvb246ICVzLCBrYXN1dGF0dWQgUEhQIG1vb2R1bDogJXMnLCdTaXNzZSBsb2dpdHVkOiAlcycsJ1TDpGhldGFiZWwnLCdUYWJlbGlkJywnS3VzdHV0YScsJ1V1ZW5kYScsJ1N0cnVrdHV1cicsJ1NvYmltYXR1IHNrZWVtYS4nLCdTaXNzZWthbmRlZCBwdXVkdXZhZC4nLCclLjNmIHMnLCdWw7XDtXJ2w7V0bWVkIChmb3JlaWduIGtleSknLCd0w6RoZXRhYmVsJywnT04gREVMRVRFJywnVmVlcnUgbmltaScsJ1BhcmFtZWV0cmkgbmltaScsJ1TDvMO8cCcsJ1Bpa2t1cycsJ1ZhbGlrdWQnLCdBdXRvbWFhdHNlbHQgc3V1cmVuZXYnLCdWYWlraW1pc2kgdsOkw6RydHVzZWQnLCdLb21tZW50YWFyJywnTGlzYSBqw6RyZ21pbmUnLCdMaWlndXRhIMO8bGVzcG9vbGUnLCdMaWlndXRhIGFsbGFwb29sZScsJ0VlbWFsZGEnLCdWYWF0YScsJ1RhYmVsJywnVmVlcmcnLCdJbmRla3NpZCcsJ011dWRhIGluZGVrc2VpZCcsJ0FsbGlrYXMnLCdTaWh0a29odCcsJ09OIFVQREFURScsJ011dWRhJywnTGlzYSB2w7XDtXJ2w7V0aScsJ1DDpMOkc3Rpa3VkICh0cmlnZ2VyKScsJ0xpc2EgcMOkw6RzdGlrIChUUklHR0VSKScsJ1DDvHNpbGluaycsJ0Vrc3BvcmRpJywnVsOkbGp1bmQnLCdGb3JtYWF0JywnUHJvdHNlZHV1cmlkJywnU8O8bmRtdXNlZCAoRVZFTlRTKScsJ0FuZG1lZCcsJ0xvbyB1dXMga2FzdXRhamEnLCdQw6RyaW5ndXMgZXNpbmVzIHZpZ2EnLCclZCByaWRhJywnUMOkcmluZyDDtW5uZXN0dXMsIG3DtWp1dGF0YXR1ZCByaWR1OiAlZC4nLCdLw6RzayBwdXVkdWIuJyxhcnJheSgnJWQgcMOkcmluZyBlZHVrYWx0IGvDpGl2aXRhdHVkLicsJyVkIHDDpHJpbmd1dCBlZHVrYWx0IGvDpGl2aXRhdHVkLicpLCdGYWlsaSDDvGxlc2xhYWRpbWluZScsJ0ZhaWxpZGUgw7xsZXNsYWFkaW1pbmUgb24ga2VlbGF0dWQuJywnS8OkaXZpdGEnLCdQZWF0dWRhIHZlYSBlc2luZW1pc2VsJywnS3V2YSB2YWlkIHZlYXRlYXRlaWQnLCdTZXJ2ZXJpc3QnLCdGYWlsIHNlcnZlcmlzOiAlcycsJ0vDpGl2aXRhIGZhaWwnLCdBamFsdWd1JywnUHVoYXN0YScsJ011dWRhIGvDtWlraScsJ0t1c3R1dGFtaW5lIMO1bm5lc3R1cy4nLCdVdWVuZGFtaW5lIMO1bm5lc3R1cy4nLCdLaXJqZSVzIG9uIGVkdWthbHQgbGlzYXR1ZC4nLCdTaXNlc3RhJywnU2FsdmVzdGEnLCdTYWx2ZXN0YSBqYSBqw6R0a2EgbXV1dG1pc3QnLCdTYWx2ZXN0YSBqYSBsaXNhIGrDpHJnbWluZScsJ0t1c3R1dGEnLCdUYWJlbCBvbiBlZHVrYWx0IGt1c3R1dGF0dWQuJywnVGFiZWxpIGFuZG1lZCBvbiBlZHVrYWx0IG11dWRldHVkLicsJ1RhYmVsIG9uIGVkdWthbHQgbG9vZHVkLicsJ0xvbyB1dXMgdGFiZWwnLCdNYWtzaW1hYWxuZSB2w6RsamFkZSBhcnYgw7xsZXRhdHVkLiBQYWx1biBzdXVyZW5kYWdlICVzIGphICVzLicsJ1RhYmVsaSBuaW1pJywnYW5kbWViYWFzaW1vb3RvcicsJ1BhcnRpdHNpb29uaScsJ1BhcnRpdHNpb29uaWQnLCdQYXJ0aXRzaW9vbmkgbmltaScsJ1bDpMOkcnR1c2VkJywnSW5kZWtzaXRlIGFuZG1lZCBvbiBlZHVrYWx0IHV1ZW5kYXR1ZC4nLCdJbmRla3NpIHTDvMO8cCcsJ1ZlZXJnIChwaWtrdXMpJywnTmltaScsJ0FuZG1lYmFhcyBvbiBlZHVrYWx0IGt1c3R1dGF0dWQuJywnQW5kbWViYWFzIG9uIGVkdWthbHQgw7xtYmVyIG5pbWV0YXR1ZC4nLCdBbmRtZWJhYXMgb24gZWR1a2FsdCBsb29kdWQuJywnQW5kbWViYWFzaSBzdHJ1a3R1dXJpIHV1ZW5kYW1pbmUgw7VubmVzdHVzLicsJ0xvbyB1dXMgYW5kbWViYWFzJywnU3RydWt0dXVyIG9uIGVkdWthbHQga3VzdHV0YXR1ZC4nLCdTdHJ1a3R1dXIgb24gZWR1a2FsdCBsb29kdWQuJywnU3RydWt0dXVyIG9uIGVkdWthbHQgbXV1ZGV0dWQuJywnS8OkaXZpdGEnLCdQcm90c2VkdXVyIHTDpGlkZXRpIGVkdWthbHQsIG3DtWp1dGF0dWQgcmlkdTogJWQuJywnVsO1w7VydsO1dGkgb24gZWR1a2FsdCBrdXN0dXRhdHVkLicsJ1bDtcO1cnbDtXRtZSBhbmRtZWQgb24gZWR1a2FsdCBtdXVkZXR1ZC4nLCdWw7XDtXJ2w7VyaSBvbiBlZHVrYWx0IGxvb2R1ZC4nLCdMw6RodGUtIGphIHNpaHR2ZWVydWQgcGVhdmFkIGVrc2lzdGVlcmltYSBqYSBvbWFtYSBzYW1hIGFuZG1ldMO8w7xwaSwgc2lodHZlZXJndWRlbCBwZWFiIG9sZW1hIG3DpMOkcmF0dWQgaW5kZWtzIG5pbmcgdmlpZGF0dWQgYW5kbWVkIHBlYXZhZCBla3Npc3RlZXJpbWEuJywnVsO1w7VydsO1dGknLCdTaWh0LXRhYmVsJywnTXV1ZGEnLCdMaXNhIHZlZXJnJywnVmFhZGUgKFZJRVcpIG9uIGVkdWthbHQga3VzdHV0YXR1ZC4nLCdWYWFkZSAoVklFVykgb24gZWR1a2FsdCBtdXVkZXR1ZC4nLCdWYWFkZSAoVklFVykgb24gZWR1a2FsdCBsb29kdWQuJywnTG9vIHV1cyB2YWFkZSAoVklFVyknLCdTw7xuZG11cyBvbiBlZHVrYWx0IGt1c3R1dGF0dWQuJywnU8O8bmRtdXNlIGFuZG1lZCBvbiBlZHVrYWx0IHV1ZW5kYXR1ZC4nLCdTw7xuZG11cyBvbiBlZHVrYWx0IGxvb2R1ZC4nLCdNdXVkYSBzw7xuZG11c2UgYW5kbWVpZCcsJ0xvbyB1dXMgc8O8bmRtdXMgKEVWRU5UKScsJ0FsdXN0YScsJ0zDtXBldGEnLCdJZ2EnLCdMw7VwZXRhbWlzZWwgasOkdGEgc8O8bmRtdXMgYWxsZXMnLCdQcm90c2VkdXVyIG9uIGVkdWthbHQga3VzdHV0YXR1ZC4nLCdQcm90c2VkdXVyaSBhbmRtZWQgb24gZWR1a2FsdCBtdXVkZXR1ZC4nLCdQcm90c2VkdXVyIG9uIGVkdWthbHQgbG9vZHVkLicsJ011dWRhIGZ1bmt0c2lvb25pJywnTXV1ZGEgcHJvdHNlZHV1cmknLCdMb28gdXVzIGZ1bmt0c2lvb24nLCdMb28gdXVzIHByb3RzZWR1dXInLCdUYWdhc3R1c3TDvMO8cCcsJ0phZGEgb24gZWR1a2FsdCBrdXN0dXRhdHVkLicsJ0phZGEgb24gZWR1a2FsdCBsb29kdWQuJywnSmFkYSBvbiBlZHVrYWx0IG11dWRldHVkLicsJ011dWRhIGphZGEnLCdMb28gamFkYScsJ1TDvMO8cCBvbiBlZHVrYWx0IGt1c3R1dGF0dWQuJywnVMO8w7xwIG9uIGVkdWthbHQgbG9vZHVkLicsJ011dWRhIHTDvMO8cGknLCdMb28gdMO8w7xwJywnUMOkw6RzdGlrIG9uIGVkdWthbHQga3VzdHV0YXR1ZC4nLCdQw6TDpHN0aWt1IGFuZG1lZCBvbiBlZHVrYWx0IHV1ZW5kYXR1ZC4nLCdVdXMgcMOkw6RzdGlrIG9uIGVkdWthbHQgbG9vZHVkLicsJ011dWRhIHDDpMOkc3Rpa3UgYW5kbWVpZCcsJ0xvbyB1dXMgcMOkw6RzdGlrIChUUklHR0VSKScsJ0FlZycsJ1PDvG5kbXVzJywnS2FzdXRhamEgb24gZWR1a2FsdCBrdXN0dXRhdHVkLicsJ0thc3V0YWphIGFuZG1lZCBvbiBlZHVrYWx0IG11dWRldHVkLicsJ0thc3V0YWphIG9uIGVkdWthbHQgbGlzYXR1ZC4nLCdIw6RzaGl0dWQgKEhhc2hlZCknLCdQcm90c2VkdXVyJywnQW5uYScsJ0VlbWFsZGEnLGFycmF5KCdQcm90c2VzcyBvbiBlZHVrYWx0IHBlYXRhdHVkICglZCkuJywnVmFsaXR1ZCBwcm90c2Vzc2lkICglZCkgb24gZWR1a2FsdCBwZWF0YXR1ZC4nKSwnS29ra3U6ICVkJywnUGVhdGEnLCdNw7VqdXRhdHVkIGtpcmplaWQ6ICVkLicsJ1bDpMOkcnR1c2UgbXV1dG1pc2VrcyB0b3BlbHQta2xpa2kgc2VsbGVsLicsJ0ltcG9yZGl0aSAlZCByaWRhLicsJ1RhYmVsaSB2YWxpbWluZSBlYmHDtW5uZXN0dXMnLCdtdXVkYScsJ1Nlb3NlZCcsJ1bDpMOkcnR1c2UgbXV1dG1pc2VrcyBrYXN1dGEgbXV1dG1pc2xpbmtpLicsJ0xlaGVrw7xsZycsJ3ZpaW1hbmUnLCdUw6RpZWxpa3VkIHR1bGVtdXNlZCcsJ0tsb29uJywnSW1wb3JkaScsJywnLCdWYWxpZHVkIHRhYmVsaWQgb24gZWR1a2FsdCB0w7xoamVuZGF0dWQuJywnVmFsaXR1ZCB0YWJlbGlkIG9uIGVkdWthbHQgbGlpZ3V0YXR1ZC4nLCdUYWJlbGlkIG9uIGVkdWthbHQga29wZWVyaXR1ZC4nLCdWYWxpdHVkIHRhYmVsaWQgb24gZWR1a2FsdCBrdXN0dXRhdHVkLicsJ1RhYmVsaWQgamEgdmFhdGVkJywnT3RzaSBrb2d1IGFuZG1lYmFhc2lzdCcsJ0ltcGxlbWVudGF0c2lvb24nLCdBbmRtZXRlIHBpa2t1cycsJ0luZGVrc2kgcGlra3VzJywnVmFiYSBydXVtaScsJ1JpZHUnLCdBbmFsw7zDvHNpJywnT3B0aW1lZXJpJywnS29udHJvbGxpJywnUGFyYW5kYScsJ1TDvGhqZW5kYScsJ0xpaWd1dGEgdGVpc2UgYW5kbWViYWFzaScsJ0xpaWd1dGEnLCdLb3BlZXJpJywnSmFkYWQgKHNlcXVlbmNlcyknLCdBamFrYXZhJywnQW50dWQgYWphaGV0a2VsJywnSEg6TU06U1MnKTticmVhaztjYXNlImh1IjokUj1hcnJheSgnQml6dG9zIGJlbm5lPycsJ05lbSB0dWRvbSBmZWx0w7ZsdGVuaSBhIGbDoWpsdC4nLCdBIG1heGltw6FsaXMgZsOhamxtw6lyZXQgJXMgQi4nLCdBIGbDoWpsIG5lbSBsw6l0ZXppay4nLCfDvHJlcycsJ2VyZWRldGknLCdOaW5jcyB0w6FibGEuJywnTnllbHYnLCdIYXN6bsOhbCcsJ0hhc3puw6FsamEgYSh6KSAlcyBraXRlcmplc3p0w6lzdC4nLCdBIGbDoWpsIGzDqXRlemlrLicsJ0ZlbGhhc3puw6Fsw7NpIHTDrXB1cycsJ1N6w6FtJywnRMOhdHVtIMOpcyBpZMWRJywnU3rDtnZlZycsJ0JpbsOhcmlzJywnSMOhbMOzemF0JywnR2VvbWV0cmlhJywnTGlzdGEnLCdBZGF0YsOhemlzJywnU3plcnZlcicsJ0ZlbGhhc3puw6Fsw7MnLCdKZWxzesOzJywnQmVsw6lww6lzJywnRW1sw6lrZXp6IHLDoW0nLCdUYXJ0YWxvbScsJ1N0cnVrdMO6cmEnLCdOw6l6ZXQgbcOzZG9zw610w6FzYScsJ1TDoWJsYSBtw7Nkb3PDrXTDoXNhJywnw5pqIHTDqXRlbCcsJ1V0b2xzw7Mgb2xkYWwnLCdTemVya2VzenQnLGFycmF5KCclZCBiw6FqdCcsJyVkIGLDoWp0JywnJWQgYsOhanQnKSwnS2l2w6FsYXN6dMOhcycsJ0Z1bmtjacOzaycsJ0FnZ3JlZ8OhbMOhcycsJ0tlcmVzw6lzJywnYsOhcmhvbCcsJ1NvcmJhIHJlbmRlesOpcycsJ2Nzw7Zra2VuxZEnLCdrb3Jsw6F0JywnU3rDtnZlZyBob3NzeicsJ03FsXZlbGV0JywnU1FMIHBhcmFuY3MnLCdtZWdueWl0JywnbWVudCcsJ0FkYXRiw6F6aXMgbcOzZG9zw610w6FzYScsJ1PDqW1hIG3Ds2Rvc8OtdMOhc2EnLCdTw6ltYSBsw6l0cmVob3rDoXNhJywnQWRhdGLDoXppcyBzw6ltYScsJ1ByaXZpbMOpZ2l1bW9rJywnRXhwb3J0w6Fsw6FzJywnS2lsw6lww6lzJywnYWRhdGLDoXppcycsJ3PDqW1hJywnw5pqIHTDoWJsYScsJ2tpdsOhbGFzenTDoXMnLCdsdHInLCfDmmpyYWvDvGxkaSBhIFBPU1QgYWRhdG9rYXQ/Jywnw4lydsOpbnl0ZWxlbiBDU1JGIGF6b25vc8OtdMOzLiBLw7xsZGQgw7pqcmEgYXogxbFybGFwb3QuJywnU2lrZXJlcyBraWzDqXDDqXMuJywnQSBtdW5rYW1lbmV0ZWtuZWsgKHNlc3Npb24pIGVuZ2Vkw6lseWV6dmUga2VsbCBsZW5uaWUuJywnTXVua2FtZW5ldCBsZWrDoXJ0LCBqZWxlbnRrZXp6IGJlIMO6anJhLicsJ8OJcnbDqW55dGVsZW4gYWRhdG9rLicsJ05pbmNzIGtpdGVyamVzenTDqXMnLCdOaW5jcyBlZ3kgZWzDqXJoZXTFkSB0w6Ftb2dhdG90dCBQSFAga2l0ZXJqZXN6dMOpcyAoJXMpIHNlbS4nLCdUw7psIHNvayBhIFBPU1QgYWRhdCEgQ3PDtmtrZW50c2QgYXogYWRhdCBtw6lyZXTDqXQsIHZhZ3kgbsO2dmVsZCBhICVzIGJlw6FsbMOtdMOhc3QuJywnQWRhdGLDoXppcycsJ8OJcnbDqW55dGVsZW4gYWRhdGLDoXppcy4nLCdBZGF0YsOhemlzIGVsZG9idmEuJywnQWRhdGLDoXppcyBraXbDoWxhc3p0w6FzYScsJ8OaaiBhZGF0YsOhemlzJywnRm9seWFtYXRvaycsJ1bDoWx0b3rDs2snLCfDgWxsYXBvdCcsJyVzIHZlcnppw7M6ICVzLCBQSFA6ICVzJywnQmVsw6lwdmU6ICVzJywnRWd5YmV2ZXTDqXMnLCdUw6FibMOhaycsJ0VsZG9iJywnRnJpc3PDrXTDqXMnLCdTw6ltYScsJ8OJcnbDqW55dGVsZW4gc8OpbWEuJywnTmluY3MgbWVnamVsZW7DrXRoZXTFkSBlcmVkbcOpbnkuJywnJS4zZiBtw6Fzb2RwZXJjJywnSWRlZ2VuIGt1bGNzJywnZWd5YmV2ZXTDqXMnLCd0w7ZybMOpc2tvcicsJ09zemxvcCBuZXZlJywnUGFyYW3DqXRlciBuZXZlJywnVMOtcHVzJywnSG9zc3onLCdPcGNpw7NrJywnQXV0b21hdGlrdXMgbsO2dmVsw6lzJywnQWxhcMOpcnRlbG1lemV0dCDDqXJ0w6lrZWsnLCdNZWdqZWd5esOpcycsJ0vDtnZldGtlesWRIGhvenrDoWFkw6FzYScsJ0ZlbGZlbMOpJywnTGVmZWzDqScsJ0VsdMOhdm9sw610w6FzJywnTsOpemV0JywnVMOhYmxhJywnT3N6bG9wJywnSW5kZXhlaycsJ0luZGV4IG3Ds2Rvc8OtdMOhc2EnLCdGb3Jyw6FzJywnQ8OpbCcsJ2ZyaXNzw610w6lza29yJywnTcOzZG9zw610w6FzJywnSWRlZ2VuIGt1bGNzIGhvenphZMOhc2EnLCdUcmlnZ2VyJywnVHJpZ2dlciBob3p6w6FhZMOhc2EnLCdIaXZhdGtvesOhcycsJ0V4cG9ydCcsJ0tpbWVuZXQnLCdGb3Jtw6F0dW0nLCdSdXRpbm9rJywnRXNlbcOpbnknLCdBZGF0JywnRmVsaGFzem7DoWzDsyBob3p6w6FhZMOhc2EnLCdIaWJhIGEgbGVrw6lyZGV6w6lzYmVuJyxhcnJheSgnJWQgc29yJywnJWQgc29yJywnJWQgc29yJyksYXJyYXkoJ0xla8OpcmRlesOpcyBzaWtlcmVzZW4gdsOpZ3JlaGFqdHZhLCAlZCBzb3Igw6lyaW50ZXR0LicsJ0xla8OpcmRlesOpcyBzaWtlcmVzZW4gdsOpZ3JlaGFqdHZhLCAlZCBzb3Igw6lyaW50ZXR0LicsJ0xla8OpcmRlesOpcyBzaWtlcmVzZW4gdsOpZ3JlaGFqdHZhLCAlZCBzb3Igw6lyaW50ZXR0LicpLCdOaW5jcyB2w6lncmVoYWp0aGF0w7MgcGFyYW5jcy4nLCclZCBzaWtlcmVzIGxla8OpcmRlesOpcy4nLCdGw6FqbCBmZWx0w7ZsdMOpc2UnLCdBIGbDoWpsIGZlbHTDtmx0w6lzIGxlIHZhbiB0aWx0dmEuJywnVsOpZ3JlaGFqdCcsJ0hpYmEgZXNldMOpbiBtZWfDoWxsJywnQ3NhayBhIGhpYsOhayBtdXRhdMOhc2EnLCdTemVydmVycsWRbCcsJ1dlYnN6ZXJ2ZXIgZsOhamwgJXMnLCdGw6FqbCBmdXR0YXTDoXNhJywnVMO2cnTDqW5ldCcsJ1TDtnJsw6lzJywnw5Zzc3plcyBzemVya2VzenTDqXNlJywnQSB0w6l0ZWwgdMO2csO2bHZlLicsJ0EgdMOpdGVsIGZyaXNzw610dmUuJywnJXMgdMOpdGVsIGJlc3rDunJ2YS4nLCdCZXN6w7pyJywnTWVudMOpcycsJ01lbnTDqXMgw6lzIHN6ZXJrZXN6dMOpcyBmb2x5dGF0w6FzYScsJ01lbnTDqXMgw6lzIMO6amF0IGJlc3rDunInLCdUw7ZybMOpcycsJ0EgdMOhYmxhIGVsZG9idmEuJywnQSB0w6FibGEgbcOzZG9zdWx0LicsJ0EgdMOhYmxhIGzDqXRyZWrDtnR0LicsJ1TDoWJsYSBsw6l0cmVob3rDoXNhJywnQSBtYXhpbcOhbGlzIG1lesWRc3rDoW1vdCBlbMOpcnRlZC4gTsO2dmVsZCBtZWcgZXpla2V0OiAlcywgJXMuJywnVMOhYmxhIG7DqXYnLCdtb3RvcicsJ1BhcnRpY2lvbsOhbMOhcyBlenplbCcsJ1BhcnRpY2nDs2snLCdQYXJ0aWNpw7MgbmV2ZScsJ8OJcnTDqWtlaycsJ0F6IGluZGV4ZWsgbWVndsOhbHRvenRhay4nLCdJbmRleCB0w61wdXNhJywnT3N6b3AgKG3DqXJldCknLCdOw6l2JywnQXogYWRhdGLDoXppcyBlbGRvYnZhLicsJ0F6IGFkYWR0YsOhemlzIMOhdG5ldmV6dmUuJywnQXogYWRhdGLDoXppcyBsw6l0cmVqw7Z0dC4nLCdBeiBhZGF0YsOhemlzIG3Ds2Rvc3VsdC4nLCdBZGF0YsOhemlzIGzDqXRyZWhvesOhc2EnLCdTw6ltYSBlbGRvYnZhLicsJ1PDqW1hIGzDqXRyZWrDtnR0LicsJ1PDqW1hIG3Ds2Rvc3VsdC4nLCdNZWdow612JyxhcnJheSgnUnV0aW4gbWVnaMOtdnZhLCAlZCBzb3Igw6lyaW50ZXR0LicsJ1J1dGluIG1lZ2jDrXZ2YSwgJWQgc29yIMOpcmludGV0dC4nLCdSdXRpbiBtZWdow612dmEsICVkIHNvciDDqXJpbnRldHQuJyksJ0lkZWdlbiBrdWxjcyBlbGRvYnZhLicsJ0lkZWdlbiBrdWxjcyBtw7Nkb3N1bHQuJywnSWRlZ2VuIGt1bGNzIGzDqXRyZWrDtnR0LicsJ0EgZm9ycsOhcyDDqXMgY8OpbCBvc3psb3Bva25hayBhem9ub3MgdMOtcHVzw7phayBsZWd5ZW5laywgYSBjw6lsIG9zemxvcG9rIGluZGV4ZWx0ZWsgbGVneWVuZWssIMOpcyBhIGhpdmF0a296b3R0IGFkYXRuYWsgbMOpdGV6bmllIGtlbGwuJywnSWRlZ2VuIGt1bGNzJywnQ8OpbCB0w6FibGEnLCdWw6FsdG96dGF0JywnT3N6bG9wIGhvenrDoWFkw6FzYScsJ0EgbsOpemV0IGVsZG9idmEuJywnQSBuw6l6ZXQgbcOzZG9zdWx0LicsJ0EgbsOpemV0IGzDqXRyZWrDtnR0LicsJ07DqXpldCBsw6l0cmVob3rDoXNhJywnQXogZXNlbcOpbnkgZWxkb2J2YS4nLCdBeiBlc2Vtw6lueSBtw7Nkb3N1bHQuJywnQXogZXNlbcOpbnkgbMOpdHJlasO2dHQuJywnRXNlbcOpbnkgbcOzZG9zw610w6FzYScsJ0VzZW3DqW55IGzDqXRyZWhvesOhc2EnLCdLZXpkJywnVsOpZ2UnLCdNaW5kZW4nLCdCZWZlamV6w6lza29yIG1lZ8WRcnppJywnQSBydXRpbiBlbGRvYnZhLicsJ0EgcnV0aW4gbcOzZG9zdWx0LicsJ0EgcnV0aW4gbMOpdHJlasO2dHQuJywnRnVua2Npw7MgbcOzZG9zw610w6FzYScsJ0VsasOhcsOhcyBtw7Nkb3PDrXTDoXNhJywnRnVua2Npw7MgbMOpdHJlaG96w6FzYScsJ0VsasOhcsOhcyBsw6l0cmVob3rDoXNhJywnVmlzc3phdMOpcsOpc2kgw6lydMOpaycsJ1Nvcm96YXQgZWxkb2J2YS4nLCdTb3JvemF0IGzDqXRyZWrDtnR0LicsJ1Nvcm96YXQgbcOzZG9zdWx0LicsJ1Nvcm96YXQgbcOzZG9zw610w6FzYScsJ1Nvcm96YXQgbMOpdHJlaG96w6FzYScsJ1TDrXB1cyBlbGRvYnZhLicsJ1TDrXB1cyBsw6l0cmVob3p2YS4nLCdUw61wdXMgbcOzZG9zw610w6FzYScsJ1TDrXB1cyBsw6l0cmVob3rDoXNhJywnQSB0cmlnZ2VyIGVsZG9idmEuJywnQSB0cmlnZ2VyIG3Ds2Rvc3VsdC4nLCdBIHRyaWdnZXIgbMOpdHJlasO2dHQuJywnVHJpZ2dlciBtw7Nkb3PDrXTDoXNhJywnVHJpZ2dlciBsw6l0cmVob3rDoXNhJywnSWTFkScsJ0VzZW3DqW55JywnQSBmZWxoYXN6bsOhbMOzIGVsZG9idmEuJywnQSBmZWxoYXN6bsOhbMOzIG3Ds2Rvc3VsdC4nLCdBIGZlbGhhc3puw6Fsw7MgbMOpdHJlasO2dHQuJywnSGFzaGVkJywnUnV0aW4nLCdFbmdlZMOpbHllesOpcycsJ1Zpc3N6YXZvbsOhcycsYXJyYXkoJyVkIGZvbHlhbWF0IGxlw6FsbMOtdHZhLicsJyVkIGZvbHlhbWF0IGxlw6FsbMOtdHZhLicsJyVkIGZvbHlhbWF0IGxlw6FsbMOtdHZhLicpLCfDtnNzemVzZW4gJWQnLCdMZcOhbGzDrXQnLGFycmF5KCclZCB0w6l0ZWwgw6lyaW50ZXR0LicsJyVkIHTDqXRlbCDDqXJpbnRldHQuJywnJWQgdMOpdGVsIMOpcmludGV0dC4nKSwnS2F0dGludHMga8OpdHN6ZXIgYXogw6lydMOpa3JlIGEgc3plcmtlc3p0w6lzaGV6LicsYXJyYXkoJyVkIHNvciBpbXBvcnTDoWx2YS4nLCclZCBzb3IgaW1wb3J0w6FsdmEuJywnJWQgc29yIGltcG9ydMOhbHZhLicpLCdOZW0gdHVkb20ga2l2w6FsYXN6dGFuaSBhIHTDoWJsw6F0Jywnc3plcmtlc3p0JywnUmVsw6FjacOzJywnSGFzem7DoWxkIGEgc3plcmtlc3p0w6lzIGhpdmF0a296w6FzdCBlemVuIMOpcnTDqWsgbcOzZG9zw610w6Fzw6Fob3ouJywnb2xkYWwnLCd1dG9sc8OzJywnw7Zzc3plcyBlcmVkbcOpbnl0IG11dGF0w6FzYScsJ0tsw7Nub3onLCdJbXBvcnTDoWzDoXMnLCcgJywnQSB0w6FibGEgZmVsc3phYmFkw610dmEuJywnVMOhYmzDoWsgw6F0aGVseWV6dmUuJywnVMOhYmzDoWsgw6F0bcOhc29sdmEuJywnVMOhYmzDoWsgZWxkb2J2YS4nLCdUw6FibMOhayDDqXMgbsOpemV0ZWsnLCdLZXJlc8OpcyBhIHTDoWJsw6FrYmFuJywnTW90b3InLCdNw6lyZXQnLCdJbmRleCBob3NzeicsJ0FkYXQgc3phYmFkJywnT3N6bG9wJywnRWxlbXrDqXMnLCdPcHRpbWFsaXrDoWwnLCdFbGxlbsWRcnrDqXMnLCdKYXbDrXQnLCdGZWxzemFiYWTDrXQnLCfDgXRoZWx5ZXrDqXMgbcOhc2lrIGFkYXRiw6F6aXNiYScsJ8OBdGhlbHlleicsJ03DoXNvbMOhcycsJ1Nvcm96YXRvaycsJ8OcdGVtesOpcycsJ01lZ2Fkb3R0IGlkxZFiZW4nLCfDs8OzOnBwOm1tJyk7YnJlYWs7Y2FzZSJwbCI6JFI9YXJyYXkoJ0N6eSBqZXN0ZcWbIHBld2llbj8nLCdXZ3JhbmllIHBsaWt1IGJ5xYJvIG5pZW1vxbxsaXdlLicsJ01ha3N5bWFsbmEgd2llbGtvxZvEhyBwbGlrdSB0byAlc0IuJywnUGxpayBuaWUgaXN0bmllamUuJywncHVzdGUnLCdiZXogem1pYW4nLCdCcmFrIHRhYmVsLicsJ0rEmXp5aycsJ1d5YmllcnonLCdQcm9zesSZIHXFvHnEhyBqZWRuZWdvIHogcm96c3plcnplxYQ6ICVzLicsJ1BsaWsganXFvCBpc3RuaWVqZS4nLCdUeXB5IHXFvHl0a293bmlrYScsJ051bWVyeWN6bmUnLCdEYXRhIGkgY3phcycsJ1Rla3N0b3dlJywnQmluYXJuZScsJ1NpZcSHJywnR2VvbWV0cmlhJywnTGlzdHknLCdSb2R6YWogYmF6eScsJ1NlcndlcicsJ1XFvHl0a293bmlrJywnSGFzxYJvJywnWmFsb2d1aiBzacSZJywnWmFwYW1pxJl0YWogc2VzasSZJywnUG9rYcW8IGRhbmUnLCdTdHJ1a3R1cmEgdGFiZWxpJywnWm1pZcWEIHBlcnNwZWt0eXfEmScsJ1ptaWXFhCB0YWJlbMSZJywnTm93eSByZWtvcmQnLCdPc3RhdG5pYSBzdHJvbmEnLCdFZHl0dWonLGFycmF5KCclZCBiYWp0JywnJWQgYmFqdHknLCclZCBiYWp0w7N3JyksJ3Bva2HFvCcsJ0Z1bmtjamUnLCdBZ3JlZ2FjamUnLCdTenVrYWonLCdnZHppZWtvbHdpZWsnLCdTb3J0dWonLCdtYWxlasSFY28nLCdMaW1pdCcsJ0TFgnVnb8WbxIcgdGVrc3R1JywnQ3p5bm5vxZvEhycsJ1phcHl0YW5pZSBTUUwnLCdvdHfDs3J6JywnemFwaXN6JywnWm1pZcWEIGJhesSZIGRhbnljaCcsJ1ptaWXFhCBzY2hlbWF0JywnVXR3w7NyeiBzY2hlbWF0JywnU2NoZW1hdCBiYXp5IGRhbnljaCcsJ1VwcmF3bmllbmlhIHXFvHl0a293bmlrw7N3JywnRWtzcG9ydCcsJ1d5bG9ndWonLCdiYXphIGRhbnljaCcsJ3NjaGVtYXQnLCdVdHfDs3J6IG5vd8SFIHRhYmVsxJknLCdwcnplZ2zEhWRhaicsJ2x0cicsJ1d5c8WCYcSHIGRhbmUgcG9ub3duaWU/JywnTmllcHJhd2lkxYJvd3kgdG9rZW4gQ1NSRi4gU3Byw7NidWogd3lzxYJhxIcgZm9ybXVsYXJ6IHBvbm93bmllLicsJ1d5bG9nb3dhbm8gcG9tecWbbG5pZS4nLCdXeW1hZ2FuYSBqZXN0IG9ic8WCdWdhIHNlc2ppIHcgUEhQLicsJ1Nlc2phIHd5Z2FzxYJhLCB6YWxvZ3VqIHNpxJkgcG9ub3duaWUuJywnTmllcHJhd2lkxYJvd2UgZGFuZSBsb2dvd2FuaWEuJywnQnJhayByb3pzemVyemVuaWEnLCfFu2FkbmUgeiByb3pzemVyemXFhCBQSFAgdW1vxbxsaXdpYWrEhWN5Y2ggcG/FgsSFY3plbmllIHNpxJkgeiBiYXrEhSBkYW55Y2ggKCVzKSBuaWUgamVzdCBkb3N0xJlwbmUuJywnUHJ6ZXPFgmFubyB6Ynl0IGR1xbxvIGRhbnljaC4gWm1uaWVqc3ogb2JqxJl0b8WbxIcgZGFueWNoIGx1YiB6d2nEmWtzeiB6bWllbm7EhSBrb25maWd1cmFjeWpuxIUgJXMuJywnQmF6YSBkYW55Y2gnLCdOaWUgem5hbGV6aW9ubyBiYXp5IGRhbnljaC4nLCdCYXp5IGRhbnljaCB6b3N0YcWCeSB1c3VuacSZdGUuJywnV3liaWVyeiBiYXrEmSBkYW55Y2gnLCdVdHfDs3J6IG5vd8SFIGJhesSZIGRhbnljaCcsJ0xpc3RhIHByb2Nlc8OzdycsJ1ptaWVubmUnLCdTdGF0dXMnLCdXZXJzamEgJXM6ICVzIHphIHBvbW9jxIUgJXMnLCdaYWxvZ293YW55IGpha286ICVzJywnUG9yw7N3bnl3YW5pZSB6bmFrw7N3JywnVGFiZWxlJywnVXN1xYQnLCdPZMWbd2llxbwnLCdTY2hlbWF0JywnTmllcHJhd2lkxYJvd3kgc2NoZW1hdC4nLCdCcmFrIHJla29yZMOzdy4nLCclLjNmIHMnLCdLbHVjemUgb2JjZScsJ3BvcsOzd255d2FuaWUgem5ha8OzdycsJ1cgcHJ6eXBhZGt1IHVzdW5pxJljaWEnLCdOYXp3YSBrb2x1bW55JywnTmF6d2EgcGFyYW1ldHJ1JywnVHlwJywnRMWCdWdvxZvEhycsJ09wY2plJywnQXV0byBJbmNyZW1lbnQnLCdXYXJ0b8WbY2kgZG9tecWbbG5lJywnS29tZW50YXJ6JywnRG9kYWogbmFzdMSZcG55JywnUHJ6ZXN1xYQgdyBnw7NyxJknLCdQcnplc3XFhCB3IGTDs8WCJywnVXN1xYQnLCdQZXJzcGVrdHl3YScsJ1RhYmVsYScsJ0tvbHVtbmEnLCdJbmRla3N5JywnWm1pZcWEIGluZGVrc3knLCfFuXLDs2TFgm8nLCdDZWwnLCdXIHByenlwYWRrdSB6bWlhbnknLCdabWllxYQnLCdEb2RhaiBrbHVjeiBvYmN5JywnV3l6d2FsYWN6ZScsJ0RvZGFqIHd5endhbGFjeicsJ1Ryd2HFgnkgbGluaycsJ0Vrc3BvcnQnLCdSZXp1bHRhdCcsJ0Zvcm1hdCcsJ1Byb2NlZHVyeSBpIGZ1bmtjamUnLCdXeWRhcnplbmlhJywnRGFuZScsJ0RvZGFqIHXFvHl0a293bmlrYScsJ0LFgsSFZCB3IHphcHl0YW5pdScsYXJyYXkoJyVkIHJla29yZCcsJyVkIHJla29yZHknLCclZCByZWtvcmTDs3cnKSxhcnJheSgnWmFweXRhbmllIHd5a29uYW5lIHBvbXnFm2xuaWUsIHptaWVuaW9ubyAlZCByZWtvcmQuJywnWmFweXRhbmllIHd5a29uYW5lIHBvbXnFm2xuaWUsIHptaWVuaW9ubyAlZCByZWtvcmR5LicsJ1phcHl0YW5pZSB3eWtvbmFuZSBwb215xZtsbmllLCB6bWllbmlvbm8gJWQgcmVrb3Jkw7N3LicpLCdOaWMgZG8gd3lrb25hbmlhLicsYXJyYXkoJ1BvbXnFm2xuaWUgd3lrb25hbm8gJWQgemFweXRhbmllLicsJ1BvbXnFm2xuaWUgd3lrb25hbm8gJWQgemFweXRhbmlhLicsJ1BvbXnFm2xuaWUgd3lrb25hbm8gJWQgemFweXRhxYQuJyksJ1dncmFuaWUgcGxpa3UnLCdXZ3J5d2FuaWUgcGxpa8OzdyBqZXN0IHd5xYLEhWN6b25lLicsJ1d5a29uYWonLCdaYXRyenltYWogdyBwcnp5cGFka3UgYsWCxJlkdScsJ1Bva2HFvCB0eWxrbyBixYLEmWR5JywnWiBzZXJ3ZXJhJywnUGxpayAlcyBuYSBzZXJ3ZXJ6ZScsJ1VydWNob20geiBwbGlrdScsJ0hpc3RvcmlhJywnV3ljennFm8SHJywnRWR5dHVqIHdzenlzdGtpZScsJ1Jla29yZCB6b3N0YcWCIHVzdW5pxJl0eS4nLCdSZWtvcmQgem9zdGHFgiB6YWt0dWFsaXpvd2FueS4nLCdSZWtvcmQlcyB6b3N0YcWCIGRvZGFueS4nLCdEb2RhaicsJ1phcGlzeiB6bWlhbnknLCdaYXBpc3ogaSBrb250eW51dWogZWR5Y2rEmScsJ1phcGlzeiBpIGRvZGFqIG5hc3TEmXBueScsJ1VzdcWEJywnVGFiZWxhIHpvc3RhxYJhIHVzdW5pxJl0YS4nLCdUYWJlbGEgem9zdGHFgmEgem1pZW5pb25hLicsJ1RhYmVsYSB6b3N0YcWCYSB1dHdvcnpvbmEuJywnVXR3w7NyeiB0YWJlbMSZJywnUHJ6ZWtyb2N6b25vIG1ha3N5bWFsbsSFIGxpY3pixJkgcMOzbC4gWndpxJlrc3ogJXMgaSAlcy4nLCdOYXp3YSB0YWJlbGknLCdza8WCYWRvd2FuaWUnLCdQYXJ0eWNqb25vd2FuaWUnLCdQYXJ0eWNqZScsJ05hendhIHBhcnR5Y2ppJywnV2FydG/Fm2NpJywnSW5kZWtzeSB6b3N0YcWCeSB6bWllbmlvbmUuJywnVHlwIGluZGVrc3UnLCdLb2x1bW5hIChkxYJ1Z2/Fm8SHKScsJ05hendhJywnQmF6YSBkYW55Y2ggem9zdGHFgmEgdXN1bmnEmXRhLicsJ05hendhIGJhenkgZGFueWNoIHpvc3RhxYJhIHptaWVuaW9uYS4nLCdCYXphIGRhbnljaCB6b3N0YcWCYSB1dHdvcnpvbmEuJywnQmF6YSBkYW55Y2ggem9zdGHFgmEgem1pZW5pb25hLicsJ1V0d8OzcnogYmF6xJkgZGFueWNoJywnU2NoZW1hdCB6b3N0YcWCIHVzdW5pxJl0eS4nLCdTY2hlbWF0IHpvc3RhxYIgdXR3b3J6b255LicsJ1NjaGVtYXQgem9zdGHFgiB6bWllbmlvbnkuJywnVXJ1Y2hvbScsYXJyYXkoJ1Byb2NlZHVyYSB6b3N0YcWCYSB1cnVjaG9taW9uYSwgem1pZW5pb25vICVkIHJla29yZC4nLCdQcm9jZWR1cmEgem9zdGHFgmEgdXJ1Y2hvbWlvbmEsIHptaWVuaW9ubyAlZCByZWtvcmR5LicsJ1Byb2NlZHVyYSB6b3N0YcWCYSB1cnVjaG9taW9uYSwgem1pZW5pb25vICVkIHJla29yZMOzdy4nKSwnS2x1Y3ogb2JjeSB6b3N0YcWCIHVzdW5pxJl0eS4nLCdLbHVjeiBvYmN5IHpvc3RhxYIgem1pZW5pb255LicsJ0tsdWN6IG9iY3kgem9zdGHFgiB1dHdvcnpvbnkuJywnxblyw7NkxYJvd2EgaSBkb2NlbG93YSBrb2x1bW5hIG11c3rEhSBiecSHIHRlZ28gc2FtZWdvIHR5cHUsIHBvd2luaWVuIGlzdG5pZcSHIGluZGVrcyBuYSBkb2NlbG93ZWoga29sdW1uaWUgb3JheiBtdXN6xIUgaXN0bmllxIcgZGFuZSByZWZlcmVuY3lqbmUuJywnS2x1Y3ogb2JjeScsJ1RhYmVsYSBkb2NlbG93YScsJ1ptaWXFhCcsJ0RvZGFqIGtvbHVtbsSZJywnUGVyc3Bla3R5d2Egem9zdGHFgmEgdXN1bmnEmXRhLicsJ1BlcnNwZWt0eXdhIHpvc3RhxYJhIHptaWVuaW9uYS4nLCdQZXJzcGVrdHl3YSB6b3N0YcWCYSB1dHdvcnpvbmEuJywnVXR3w7NyeiBwZXJzcGVrdHl3xJknLCdXeWRhcnplbmllIHpvc3RhxYJvIHVzdW5pxJl0ZS4nLCdXeWRhcnplbmllIHpvc3RhxYJvIHptaWVuaW9uZS4nLCdXeWRhcnplbmllIHpvc3RhxYJvIHV0d29yem9uZS4nLCdabWllxYQgd3lkYXJ6ZW5pZScsJ1V0d8Ozcnogd3lkYXJ6ZW5pZScsJ1BvY3rEhXRlaycsJ0tvbmllYycsJ1d5a29udWogY28nLCdOaWUga2FzdWogd3lkYXJ6ZW5pYSBwbyBwcnpldGVybWlub3dhbml1JywnUHJvY2VkdXJhIHpvc3RhxYJhIHVzdW5pxJl0YS4nLCdQcm9jZWR1cmEgem9zdGHFgmEgem1pZW5pb25hLicsJ1Byb2NlZHVyYSB6b3N0YcWCYSB1dHdvcnpvbmEuJywnWm1pZcWEIGZ1bmtjasSZJywnWm1pZcWEIHByb2NlZHVyxJknLCdVdHfDs3J6IGZ1bmtjasSZJywnVXR3w7NyeiBwcm9jZWR1csSZJywnWndyYWNhbnkgdHlwJywnU2Vrd2VuY2phIHpvc3RhxYJhIHVzdW5pxJl0YS4nLCdTZWt3ZW5jamEgem9zdGHFgmEgdXR3b3J6b25hLicsJ1Nla3dlbmNqYSB6b3N0YcWCYSB6bWllbmlvbmEuJywnWm1pZcWEIHNla3dlbmNqxJknLCdVdHfDs3J6IHNla3dlbmNqxJknLCdUeXAgem9zdGHFgiB1c3VuacSZdHkuJywnVHlwIHpvc3RhxYIgdXR3b3J6b255LicsJ1ptaWXFhCB0eXAnLCdVdHfDs3J6IHR5cCcsJ1d5endhbGFjeiB6b3N0YcWCIHVzdW5pxJl0eS4nLCdXeXp3YWxhY3ogem9zdGHFgiB6bWllbmlvbnkuJywnV3l6d2FsYWN6IHpvc3RhxYIgdXR3b3J6b255LicsJ1ptaWXFhCB3eXp3YWxhY3onLCdVdHfDs3J6IHd5endhbGFjeicsJ0N6YXMnLCdXeWRhcnplbmllJywnVcW8eXRrb3duaWsgem9zdGHFgiB1c3VuacSZdHkuJywnVcW8eXRrb3duaWsgem9zdGHFgiB6bWllbmlvbnkuJywnVcW8eXRrb3duaWsgem9zdGHFgiBkb2RhbnkuJywnWmFoYXNob3dhbmUnLCdQcm9jZWR1cmEnLCdVcHJhd25pZW5pYScsJ1VzdcWEIHVwcmF3bmllbmlhJyxhcnJheSgnUHJ6ZXJ3YW5vICVkIHfEhXRlay4nLCdQcnplcndhbm8gJWQgd8SFdGtpLicsJ1ByemVyd2FubyAlZCB3xIV0a8Ozdy4nKSwnJWQgdyBzdW1pZScsJ1ByemVyd2lqIHd5a29ueXdhbmllJyxhcnJheSgnWm1pZW5pb25vICVkIHJla29yZC4nLCdabWllbmlvbm8gJWQgcmVrb3JkeS4nLCdabWllbmlvbm8gJWQgcmVrb3Jkw7N3LicpLCdLbGlrbmlqIHBvZHfDs2puaWUgd2FydG/Fm8SHLCBhYnkgasSFIGVkeXRvd2HEhy4nLGFycmF5KCclZCByZWtvcmQgem9zdGHFgiB6YWltcG9ydG93YW55LicsJyVkIHJla29yZHkgem9zdGHFgnkgemFpbXBvcnRvd2FuZS4nLCclZCByZWtvcmTDs3cgem9zdGHFgm8gemFpbXBvcnRvd2FueWNoLicpLCdOaWUgdWRhxYJvIHNpxJkgcG9icmHEhyBkYW55Y2ggeiB0YWJlbGknLCdlZHl0dWonLCdSZWxhY2plJywnVcW8eWogbGlua3UgZWR5Y2ppIGFieSB6bWllbmnEhyB0xJkgd2FydG/Fm8SHLicsJ1N0cm9uYScsJ29zdGF0bmknLCd3eWJpZXJ6IHdzenlzdGtpZScsJ0R1cGxpa3VqJywnSW1wb3J0JywnICcsJ1RhYmVsZSB6b3N0YcWCeSBvcHLDs8W8bmlvbmUuJywnVGFiZWxlIHpvc3RhxYJ5IHByemVuaWVzaW9uZS4nLCdUYWJlbGUgem9zdGHFgnkgc2tvcGlvd2FuZS4nLCdUYWJlbGUgem9zdGHFgnkgdXN1bmnEmXRlLicsJ1RhYmVsZSBpIHBlcnNwZWt0eXd5JywnV3lzenVrYWogd2Ugd3N6eXN0a2ljaCB0YWJlbGFjaCcsJ1NrxYJhZG93YW5pZScsJ1Jvem1pYXIgZGFueWNoJywnUm96bWlhciBpbmRla3PDs3cnLCdXb2xuZSBtaWVqc2NlJywnTGljemJhIHJla29yZMOzdycsJ0FuYWxpenVqJywnT3B0eW1hbGl6dWonLCdTcHJhd2TFuicsJ05hcHJhdycsJ09wcsOzxbxuaWonLCdQcnplbmllxZsgZG8gaW5uZWogYmF6eSBkYW55Y2gnLCdQcnplbmllxZsnLCdLb3BpdWonLCdTZWt3ZW5jamUnLCdIYXJtb25vZ3JhbScsJ08gZGFueW0gY3phc2llJywndGVyYXonKTticmVhaztjYXNlImNhIjokUj1hcnJheSgnRXN0w6BzIHNlZ3VyPycsJ0ltcG9zc2libGUgYWRqdW50YXIgZWwgZml0eGVyLicsJ0xhIG1pZGEgbcOgeGltYSBwZXJtZXNhIGRlbCBmaXR4ZXIgw6lzIGRlICVzQi4nLCdFbCBmaXR4ZXIgbm8gZXhpc3RlaXguJywnYnVpdCcsJ29yaWdpbmFsJywnTm8gaGkgaGEgY2FwIHRhdWxhLicsJ0lkaW9tYScsJ1V0aWxpdHphJywnU2kgdXMgcGxhdSwgdXRpbGl0emEgdW5hIGRlIGxlcyBleHRlbnNpb25zICVzLicsJ0VsIGZpdHhlciBqYSBleGlzdGVpeC4nLCdUaXB1cyBkZSBsXCd1c3VhcmknLCdOb21icmVzJywnRGF0YSBpIGhvcmEnLCdDYWRlbmVzJywnQmluYXJpJywnWGFyeGEnLCdHZW9tZXRyaWEnLCdMbGlzdGVzJywnU2lzdGVtYScsJ1NlcnZpZG9yJywnTm9tIGRcJ3VzdWFyaScsJ0NvbnRyYXNlbnlhJywnSW5pY2lhIGxhIHNlc3Npw7MnLCdTZXNzacOzIHBlcm1hbmVudCcsJ1NlbGVjY2lvbmEgZGFkZXMnLCdNb3N0cmEgbFwnZXN0cnVjdHVyYScsJ01vZGlmaWNhIGxhIHZpc3RhJywnTW9kaWZpY2EgbGEgdGF1bGEnLCdOb3UgZWxlbWVudCcsJ0RhcnJlcmEgcGxhbmEnLCdFZGl0YScsYXJyYXkoJyVkIGJ5dGUnLCclZCBieXRlcycpLCdTZWxlY2Npb25hJywnRnVuY2lvbnMnLCdBZ3JlZ2FjacOzJywnQ2VyY2EnLCdhIHF1YWxzZXZvbCBsbG9jJywnT3JkZW5hJywnZGVzY2VuZGVudCcsJ0zDrW1pdCcsJ0xvbmdpdHVkIGRlbCB0ZXh0JywnQWNjacOzJywnT3JkcmUgU1FMJywnb2JyZScsJ2Rlc2EnLCdNb2RpZmljYSBsYSBiYXNlIGRlIGRhZGVzJywnTW9kaWZpY2EgbFwnZXNxdWVtYScsJ0NyZWEgdW4gZXNxdWVtYScsJ0VzcXVlbWEgZGUgbGEgYmFzZSBkZSBkYWRlcycsJ1ByaXZpbGVnaXMnLCdFeHBvcnRhJywnRGVzY29ubmVjdGEnLCdiYXNlIGRlIGRhZGVzJywnZXNxdWVtYScsJ0NyZWEgdW5hIG5vdmEgdGF1bGEnLCdyZWdpc3RyZXMnLCdsdHInLCdUb3JuYSBhIGVudmlhciBsZXMgZGFkZXMgUE9TVD8nLCdUb2tlbiBDU1JGIGludsOgbGlkLiBUb3JuYSBhIGVudmlhciBlbCBmb3JtdWxhcmkuJywnRGVzY29ubmV4acOzIGNvcnJlY3RhLicsJ0NhbCBxdWUgZXN0aWd1aSBwZXJtw6hzIGxcJ3VzIGRlIHNlc3Npb25zLicsJ0xhIHNlc3Npw7MgaGEgZXhwaXJhdCwgdG9ybmEgYSBpbmljaWFyLW5lIHVuYS4nLCdDcmVkZW5jaWFscyBpbnbDoGxpZHMuJywnQ2FwIGV4dGVuc2nDsycsJ05vIGhpIGhhIGNhcCBkZSBsZXMgZXh0ZW5zaW9ucyBQSFAgc29wb3JhdGFkZXMgKCVzKSBkaXNwb25pYmxlLicsJ0xlcyBkYWRlcyBQT1NUIHPDs24gbWFzc2EgZ3JhbnMuIFJlZHVlaXggbGVzIGRhZGVzIG8gaW5jcmVtZW50YSBsYSBkaXJlY3RpdmEgZGUgY29uZmlndXJhY2nDsyAlcy4nLCdCYXNlIGRlIGRhZGVzJywnQmFzZSBkZSBkYWRlcyBpbnbDoGxpZGEuJywnU1wnaGFuIHN1cHJpbWl0IGxlcyBiYXNlcyBkZSBkYWRlcy4nLCdTZWxlY2Npb25hIGJhc2UgZGUgZGFkZXMnLCdDcmVhIHVuYSBub3ZhIGJhc2UgZGUgZGFkZXMnLCdMbGlzdGEgZGUgcHJvY2Vzc29zJywnVmFyaWFibGVzJywnRXN0YXQnLCdWZXJzacOzICVzOiAlcyBhbWIgbFwnZXh0ZW5zacOzIGRlIFBIUCAlcycsJ0Nvbm5lY3RhdCBjb206ICVzJywnQ29tcGFnaW5hY2nDsycsJ1RhdWxlcycsJ1N1cHJpbWVpeCcsJ1JlZnJlc2NhJywnRXNxdWVtYScsJ0VzcXVlbWEgaW52w6BsaWQuJywnTm8gaGkgaGEgY2FwIHJlZ2lzdHJlLicsJyUuM2YgcycsJ0NsYXVzIGZvcmFuZXMnLCdjb21wYWdpbmFjacOzJywnT04gREVMRVRFJywnTm9tIGRlIGxhIGNvbHVtbmEnLCdOb20gZGVsIHBhcsOgbWV0cmUnLCdUaXB1cycsJ0xsYXJnYWRhJywnT3BjaW9ucycsJ0luY3JlbWVudCBhdXRvbcOgdGljJywnVmFsb3JzIHBlciBkZWZlY3RlJywnQ29tZW50YXJpJywnQWZlZ2VpeCBlbCBzZWfDvGVudCcsJ01vdSBhIGRhbHQnLCdNb3UgYSBiYWl4JywnU3VwcmltZWl4JywnVmlzdGEnLCdUYXVsYScsJ0NvbHVtbmEnLCfDjW5kZXhzJywnTW9kaWZpY2EgZWxzIMOtbmRleHMnLCdGb250JywnRGVzdMOtJywnT04gVVBEQVRFJywnTW9kaWZpY2EnLCdBZmVnZWl4IHVuYSBjbGF1IGZvcmFuYScsJ0FjdGl2YWRvcnMnLCdBZmVnZWl4IHVuIGFjdGl2YWRvcicsJ0VubGxhw6cgcGVybWFuZW50JywnRXhwb3J0YScsJ1NvcnRpZGEnLCdGb3JtYXQnLCdSdXRpbmVzJywnRXZlbnRzJywnRGFkZXMnLCdDcmVhIHVuIHVzdWFyaScsJ0Vycm9yIGVuIGxhIGNvbnN1bHRhJyxhcnJheSgnJWQgcmVnaXN0cmUnLCclZCByZWdpc3RyZXMnKSxhcnJheSgnQ29uc3VsdGEgZXhlY3V0YWRhIGNvcnJlY3RhbWVudCwgJWQgcmVnaXN0cmUgbW9kaWZpY2F0LicsJ0NvbnN1bHRhIGV4ZWN1dGFkYSBjb3JyZWN0YW1lbnQsICVkIHJlZ2lzdHJlcyBtb2RpZmljYXRzLicpLCdDYXAgY29tYW5kYSBwZXIgZXhlY3V0YXIuJyxhcnJheSgnJWQgY29uc3VsdGEgZXhlY3V0YWRhIGNvcnJlY3RhbWVudC4nLCclZCBjb25zdWx0ZXMgZXhlY3V0YWRlcyBjb3JyZWN0YW1lbnQuJyksJ0FkanVudGEgdW4gZml0eGVyJywnTFwnZGRqdW5jacOzIGRlIGZpdHhlcnMgZXN0w6AgZGVzYWN0aXZhZGEuJywnRXhlY3V0YScsJ0F0dXJhIGVuIHRyb2JhciB1biBlcnJvcicsJ01vc3RyYSBub23DqXMgZWxzIGVycm9ycycsJ0VuIGVsIHNlcnZpZG9yJywnRml0eGVyICVzIGRlbCBzZXJ2aWRvciB3ZWInLCdFeGVjdXRhIGVsIGZpdHhlcicsJ0hpc3TDsnJpYScsJ1N1cHJpbWVpeCcsJ0VkaXRhLWhvIHRvdCcsJ1NcJ2hhIHN1cHJtaXQgbFwnZWxlbWVudC4nLCdTXCdoYSBhY3R1YWxpdHphdCBsXCdlbGVtZW50LicsJ1NcJ2hhIGluc2VydGF0IGxcJ2VsZW1lbnQlcy4nLCdJbnNlcmVpeCcsJ0Rlc2EnLCdEZXNhIGkgc2VndWVpeCBlZGl0YW50JywnRGVzYSBpIGluc2VyZWl4IGVsIHNlZ8O8ZW50JywnU3VwcmltZWl4JywnU1wnaGEgc3VwcmltaXQgbGEgdGF1bGEuJywnU1wnaGEgbW9kaWZpY2F0IGxhIHRhdWxhLicsJ1NcJ2hhIGNyZWF0IGxhIHRhdWxhLicsJ0NyZWEgdW5hIHRhdWxhJywnU1wnaGEgYXNzb2xpdCBlbCBub21icmUgbcOgeGltIGRlIGNhbXBzLiBJbmNyZW1lbnRhICVzIGkgJXMuJywnTm9tIGRlIGxhIHRhdWxhJywnbW90b3InLCdGZXMgcGFydGljaW9ucyBzZWdvbnMnLCdQYXJ0aWNpb25zJywnTm9tIGRlIGxhIHBhcnRpY2nDsycsJ1ZhbG9ycycsJ1NcJ2hhbiBtb2RpZmljYXQgZWxzIMOtbmRleHMuJywnVGlwdXMgZFwnw61uZGV4JywnQ29sdW1uYSAobG9uZ2l0dWQpJywnTm9tJywnU1wnaGEgc3VwcmltaXQgbGEgYmFzZSBkZSBkYWRlcy4nLCdTXCdoYSBjYW52aWF0IGVsIG5vbSBkZSBsYSBiYXNlIGRlIGRhZGVzLicsJ1NcJ2hhIGNyZWF0IGxhIGJhc2UgZGUgZGFkZXMuJywnU1wnaGEgbW9kaWZpY2F0IGxhIGJhc2UgZGUgZGFkZXMuJywnQ3JlYSB1bmEgYmFzZSBkZSBkYWRlcycsJ1NcJ2hhIHN1cHJpbWl0IGxcJ2VzcXVlbWEuJywnU1wnaGEgY3JlYXQgbFwnZXNxdWVtYS4nLCdTXCdoYSBtb2RpZmljYXQgbFwnZXNxdWVtYS4nLCdDcmlkYScsYXJyYXkoJ1NcJ2hhIGNyaWRhdCBsYSBydXRpbmEsICVkIHJlZ2lzdHJlIG1vZGlmaWNhdC4nLCdTXCdoYSBjcmlkYXQgbGEgcnV0aW5hLCAlZCByZWdpc3RyZXMgbW9kaWZpY2F0cy4nKSwnU1wnaGEgc3VwcmltaXQgbGEgY2xhdSBmb3JhbmEuJywnU1wnaGEgbW9kaWZpY2F0IGxhIGNsYXUgZm9yYW5hLicsJ1NcJ2hhIGNyZWF0IGxhIGNsYXUgZm9yYW5hLicsJ0xlcyBjb2x1bW5lcyBvcmlnZW4gaSBkZXN0w60gaGFuIGRlIHNlciBkZWwgbWF0ZWl4IHRpcHVzLCBsYSBjb2x1bW5hIGRlc3TDrSBoYSBkXCdlc3RhciBpbmRleGFkYSBpIGxlcyBkYWRlcyByZWZlcmVuY2lhZGVzIGhhbiBkXCdleGlzdGlyLicsJ0NsYXUgZm9yYW5hJywnVGF1bGEgZGUgZGVzdMOtJywnQ2FudmknLCdBZmVnZWl4IHVuYSBjb2x1bW5hJywnU1wnaGEgc3VwcmltaXQgbGEgdmlzdGEuJywnU1wnaGEgbW9kaWZpY2F0IGxhIHZpc3RhLicsJ1NcJ2hhIGNyZWF0IGxhIHZpc3RhLicsJ0NyZWEgdW5hIHZpc3RhJywnU1wnaGEgc3VwcmltaXQgbFwnZXZlbnQuJywnU1wnaGEgbW9kaWZpY2F0IGxcJ2V2ZW50LicsJ1NcJ2hhIGNyZWF0IGxcJ2V2ZW50LicsJ01vZGlmaWNhIGxcJ2V2ZW50JywnQ3JlYSB1biBldmVudCcsJ0NvbWVuw6dhJywnQWNhYmEnLCdDYWRhJywnQ29uc2VydmFyIGVuIGNvbXBsZXRhcicsJ1NcJ2hhIHN1cHJpbWl0IGxhIHJ1dGluYS4nLCdTXCdoYSBtb2RpZmljYXQgbGEgcnV0aW5hLicsJ1NcJ2hhIGNyZWF0IGxhIHJ1dGluYS4nLCdNb2RpZmljYSBsYSBmdW5jacOzJywnTW9kaWZpY2EgZWwgcHJvY2VkaW1lbnQnLCdDcmVhIHVuYSBmdW5jacOzJywnQ3JlYSB1biBwcm9jZWRpbWVudCcsJ1RpcHVzIHJldG9ybmF0JywnU1wnaGEgc3VwcmltaXQgbGEgc2Vxw7zDqG5jaWEuJywnU1wnaGEgY3JlYXQgbGEgc2Vxw7zDqG5jaWEuJywnU1wnaGEgbW9kaWZpY2F0IGxhIHNlccO8w6huY2lhLicsJ01vZGlmaWNhIGxhIHNlccO8w6huY2lhJywnQ3JlYSB1bmEgc2Vxw7zDqG5jaWEnLCdTXCdoYSBzdXByaW1pdCBlbCB0aXB1cy4nLCdTXCdoYSBjcmVhdCBlbCB0aXB1cy4nLCdNb2RpZmljYSBlbCB0aXB1cycsJ0NyZWEgdW4gdGlwdXMnLCdTXCdoYSBzdXByaW1pdCBsXCdhY3RpdmFkb3IuJywnU1wnaGEgbW9kaWZpY2F0IGxcJ2FjdGl2YWRvci4nLCdTXCdoYSBjcmVhdCBsXCdhY3RpdmFkb3IuJywnTW9kaWZpY2EgbFwnYWN0aXZhZG9yJywnQ3JlYSB1biBhY3RpdmFkb3InLCdUZW1wcycsJ0V2ZW50JywnU1wnaGEgc3VwcmltaXQgbFwndXN1YXJpLicsJ1NcJ2hhIG1vZGlmaWNhdCBsXCd1c3VhcmkuJywnU1wnaGEgY3JlYXQgbFwndXN1YXJpLicsJ0hhc2hlZCcsJ1J1dGluYScsJ0dyYW50JywnUmV2b2tlJyxhcnJheSgnU1wnaGEgYXR1cmF0ICVkIHByb2PDqXMuJywnU1wnaGFuIGF0dXJhdCAlZCBwcm9jZXNzb3MuJyksJyVkIGVuIHRvdGFsJywnQXR1cmEnLGFycmF5KCdTXCdoYSBtb2RpZmljYXQgJWQgZWxlbWVudC4nLCdTXCdoYW4gbW9kaWZpY2F0ICVkIGVsZW1lbnRzLicpLCdGZXMgdW4gZG9ibGUgY2xpYyBhIHVuIHZhbG9yIHBlciBtb2RpZmljYXItbG8uJyxhcnJheSgnU1wnaGEgaW1wb3J0YXQgJWQgcmVnaXN0cmUuJywnU1wnaGFuIGltcG9ydGF0ICVkIHJlZ2lzdHJlcy4nKSwnSW1wb3NzaWJsZSBzZWxlY2Npb25hciBsYSB0YXVsYScsJ2VkaXRhJywnUmVsYWNpb25zJywnVXRpbGl0emEgbFwnZW5sbGHDpyBkXCdlZGljacOzIHBlciBtb2RpZmljYXIgYXF1ZXN0IHZhbG9yLicsJ1BsYW5hJywnZGFycmVyYScsJ3RvdHMgZWxzIHJlc3VsdGF0cycsJ0Nsb25hJywnSW1wb3J0YScsJywnLCdTXCdoYW4gZXNjYXDDp2F0IGxlcyB0YXVsZXMuJywnU1wnaGFuIGRlc3BsYcOnYXQgbGVzIHRhdWxlcy4nLCdTXCdoYW4gY29waWF0IGxlcyB0YXVsZXMuJywnU1wnaGFuIHN1cHJpbWl0IGxlcyB0YXVsZXMuJywnVGF1bGVzIGkgdmlzdGVzJywnQ2VyY2EgZGFkZXMgZW4gbGVzIHRhdWxlcycsJ01vdG9yJywnTG9uZ2l0dWQgZGUgbGVzIGRhZGVzJywnTG9uZ2l0dWQgZGUgbFwnw61uZGV4JywnRXNwYWkgbGxpdXJlJywnRmlsZXMnLCdBbmFsaXR6YScsJ09wdGltaXR6YScsJ1ZlcmlmaWNhJywnUmVwYXJhJywnRXNjYXDDp2EnLCdEZXNwbGHDp2EgYSB1bmEgYWx0cmEgYmFzZSBkZSBkYWRlcycsJ0Rlc3BsYcOnYScsJ0PDsnBpYScsJ1NlccO8w6huY2llcycsJ0hvcmFyaScsJ0EgdW4gbW9tZW50IGRvbmF0JywnSEg6TU06U1MnKTticmVhaztjYXNlInB0IjokUj1hcnJheSgnRXN0w6Egc2VndXJvPycsJ07Do28gw6kgcG9zc2l2ZWwgZW52aWFyIG8gYXJxdWl2by4nLCdUYW1hbmhvIG3DoXhpbW8gZG8gYXJxdWl2byDDqSAlc0IuJywnQXJxdWl2byBuw6NvIGV4aXN0ZS4nLCd2YXppbycsJ29yaWdpbmFsJywnTsOjbyBleGlzdGVtIHRhYmVsYXMuJywnSWRpb21hJywnVXNhcicsJ1BvciBmYXZvciB1c2UgdW1hIGRhcyBleHRlbnPDtWVzICVzLicsJ0FycXVpdm8gamEgZXhpc3RlLicsJ1RpcG9zIGRlZmluaWRvIHBlbG8gdXN1YXJpbycsJ07Dum1lcm9zJywnRGF0YSBlIGhvcmEnLCdDYWRlbmEnLCdCaW5hcmlvJywnUmVkZScsJ0dlb21ldHLDrWEnLCdMaXN0YXMnLCdNb3RvciBkZSBCYXNlIGRlIGRhZG9zJywnU2Vydmlkb3InLCdVc3VhcmlvJywnU2VuaGEnLCdFbnRyYXInLCdTYWx2YXIgU2VuaGEnLCdTZWxlY2lvbmFyIGRhZG9zJywnTW9zdHJhciBlc3RydXR1cmEnLCdNb2RpZmljYXIgdmlzdGEnLCdNb2RpZmljYXIgZXN0cnV0dXJhJywnTm92byBSZWdpc3RybycsJ1VsdGltYSBww6FnaW5hJywnTW9kaWZpY2FyJyxhcnJheSgnJWQgYnl0ZScsJyVkIGJ5dGVzJyksJ1NlbGVjaW9uYXInLCdGdW7Dp8O1ZXMnLCdBZGnDp8O1ZXMnLCdQcm9jdXJhcicsJ3F1YWxxdWVyIGxvY2FsJywnT3JkZW5hcicsJ2RlY3Jlc2NlbnRlJywnTGltaXRlJywnVGFtYW5obyBkZSB0ZXh0bycsJ0HDp8OjbycsJ0NvbWFuZG8gU1FMJywnbW9zdHJhcicsJ3NhbHZhcycsJ01vZGlmaWNhciBCYXNlIGRlIGRhZG9zJywnTW9kaWZpY2FyIGVzcXVlbWEnLCdDcmlhciBlc3F1ZW1hJywnRXNxdWVtYSBkZSBCYXNlIGRlIGRhZG9zJywnUHJpdmlsZWdpb3MnLCdFeHBvcnRhcicsJ1NhaXInLCdiYXNlIGRlIGRhZG9zJywnZXNxdWVtYScsJ05vdmEgdGFiZWxhJywncmVnaXN0cm9zJywnbHRyJywnUmVzZW5kIFBPU1QgZGF0YT8nLCdUb2tlbiBDU1JGIGludsOhbGlkby4gRW52aWFyIG8gZm9ybXVsYXJpbyBub3ZhbWVudGUuJywnU2FpZGEgYmVtIHN1Y2VkaWRhLicsJ0RldmVtIGVzdGFyIGhhYmlsaXRhZGFzIGFzIHNlc3PDtWVzLicsJ1Nlc3PDo28gZXhwaXJhZGEsIHBvciBmYXZvciBlbnRyZSBzdWEgQ2hhdmUgZGUgbm92by4nLCdJZGVudGlmaWNhw6fDo28gaW52w6FsaWRhLicsJ07Do28gaGEgZXh0ZW5zaW9uJywnTmVuaHVtYSBkYXMgZXh0ZW5zw7VlcyBQSFAgc29wb3J0YWRhcyAoJXMpIGVzdMOhIGRpc3Bvbml2ZWwuJywnUE9TVCBkYXRhIGRlbWFzaWFkbyBncmFuZGUuIFJlZHV6YSBvIHRhbWFuaG8gb3UgYXVtZW50ZSBhIGRpcmV0aXZhIGRlIGNvbmZpZ3VyYcOnw6NvICVzLicsJ0Jhc2UgZGUgZGFkb3MnLCdCYXNlIGRlIGRhZG9zIGludsOhbGlkYS4nLCdCYXNlcyBkZSBkYWRvcyBlbGltaW5hZGFzLicsJ1NlbGVjaW9uYXIgQmFzZSBkZSBkYWRvcycsJ0NyaWFyIG5vdmEgYmFzZSBkZSBkYWRvcycsJ0xpc3RhIGRlIHByb2Nlc3NvcycsJ1ZhcmlhdmVpcycsJ0VzdGFkbycsJ1ZlcnPDo28gJXM6ICVzIGF0cmF2w6lzIGRhIGV4dGVuc8OjbyBQSFAgJXMnLCdMb2dhZG8gY29tbzogJXMnLCdDb2xhw6fDo28nLCdUYWJlbGFzJywnUmVtb3ZlcicsJ0F0dWFsaXphcicsJ0VzcXVlbWEnLCdFc3F1ZW1hIGludsOhbGlkby4nLCdOw6NvIGV4aXN0ZW0gcmVnaXN0cm9zLicsJyUuM2YgcycsJ0NoYXZlcyBmb3LDoW5lYXMnLCdjb2xsYXRpb24nLCdPTiBERUxFVEUnLCdOb21lIGRhIGNvbHVuYScsJ05vbWUgZGUgUGFyYW1ldHJvJywnVGlwbycsJ1RhbWFuaG8nLCdPcMOnw7VlcycsJ0luY3JlbWVudG8gQXV0b23DoXRpY28nLCdWYWxvcmVzIHByZWRldGVybWluYWRvcycsJ0NvbWVudGFyaW8nLCdBZGljaW9uYXIgcHJveGltbycsJ01vdmVyIGFjaW1hJywnTW92ZXIgYWJhaXhvJywnUmVtb3ZlcicsJ1Zpc3VhbGl6YXInLCdUYWJlbGEnLCdDb2x1bmEnLCdJbmRpY2VzJywnTW9kaWZpY2FyIGluZGljZXMnLCdPcmlnZW0nLCdEZXN0aW5vJywnT04gVVBEQVRFJywnTW9kaWZpY2FyJywnQWRpY2lvbmFyIENoYXZlIGZvcsOhbmVhJywnVHJpZ2dlcnMnLCdBZGljaW9uYXIgdHJpZ2dlcicsJ1Blcm1hbmVudCBsaW5rJywnRXhwb3J0YXInLCdTYWlkYScsJ0Zvcm1hdG8nLCdQcm9jZWRpbWVudG9zJywnRXZlbnRvcycsJ0RhZG9zJywnQ3JpYXIgVXN1YXJpbycsJ0Vycm8gbmEgY29uc3VsdGEnLGFycmF5KCclZCByZWdpc3RybycsJyVkIHJlZ2lzdHJvcycpLGFycmF5KCdDb25zdWx0YSBleGVjdXRhZGEsICVkIHJlZ2lzdHJvIGFmZXRhZG9zLicsJ0NvbnN1bHRhIGV4ZWN1dGFkYSwgJWQgcmVnaXN0cm9zIGFmZXRhZG9zLicpLCdOZW5odW0gY29tYW5kbyBwYXJhIGV4ZWN1dGFyLicsYXJyYXkoJyVkIGNvbnN1bHRhIHNxbCBleGVjdXRhZGEgY29ycmV0YW1lbnRlLicsJyVkIGNvbnN1bHRhIHNxbCBleGVjdXRhZGFzIGNvcnJldGFtZW50ZS4nKSwnSW1wb3J0YXIgYXJxdWl2bycsJ0ltcG9ydGHDp8OjbyBkZSBhcnF1aXZvcyBkZXNhYmxpbGl0YWRvLicsJ0V4ZWN1dGFyJywnUGFyYXIgZW0gY2FzbyBkZSBlcnJvJywnTW9zdHJhciBzb21lbnRlIGVycm9zJywnRGVzZGUgc2Vydmlkb3InLCdBcnF1aXZvIGRvIHNlcnZpZG9yIHdlYiAlcycsJ0V4ZWN1dGFyIEFycXVpdm8nLCdIaXN0b3JpY28nLCdMaW1wYXInLCdFZGl0IGFsbCcsJ1JlZ2lzdHJvIGVsaW1pbmFkby4nLCdSZWdpc3RybyBtb2RpZmljYWRvLicsJ1JlZ2lzdHJvJXMgaW5zZXJpZG8uJywnSW5zZXJpcicsJ1NhbHZhcicsJ1NhbHZhciBlIGNvbnRpbnVhciBlZGl0YW5kbycsJ1NhbHZhciBlIGluc2VyaXIgb3V0cm8nLCdBcGFnYXInLCdUYWJlbGEgZWxpbWluYWRhLicsJ1RhYmVsYSBtb2RpZmljYWRhLicsJ1RhYmVsYSBjcmlhZGEuJywnQ3JpYXIgdGFiZWxhJywnQ2FudGlkYSBtw6F4aW1hIGRlIGNhbXBvcyBwZXJtaXRpZG9zIGV4Y2VkaWRvcy4gUG9yIGZhdm9yIGF1bWVudGUgJXMgeSAlcy4nLCdOb21lIGRhIHRhYmVsYScsJ21vdG9yJywnUGFydGljaW9uYXIgcG9yJywnUGFydGnDp8O1ZXMnLCdOb21lIGRhIFBhcnRpw6fDo28nLCdWYWxvcmVzJywnSW5kaWNlcyBtb2RpZmljYWRvcy4nLCdUaXBvIGRlIMOtbmRpY2UnLCdjb2x1bmEgKHRhbWFuaG8pJywnTm9tZScsJ0Jhc2UgZGUgZGFkb3MgZWxpbWluYWRhLicsJ0Jhc2UgZGUgZGFkb3MgcmVub21lYWRhLicsJ0Jhc2UgZGUgZGFkb3MgY3JpYWRhLicsJ0Jhc2UgZGUgZGFkb3MgbW9kaWZpY2FkYS4nLCdDcmlhciBCYXNlIGRlIGRhZG9zJywnRXNxdWVtYSBlbGltaW5hZG8uJywnRXNxdWVtYSBjcmlhZG8uJywnRXNxdWVtYSBtb2RpZmljYWRvLicsJ0NoYW1hcicsYXJyYXkoJ0NvbnN1bHRhIGV4ZWN1dGFkYSwgJWQgcmVnaXN0cm8gYWZldGFkby4nLCdDb25zdWx0YSBleGVjdXRhZGEsICVkIHJlZ2lzdHJvcyBhZmV0YWRvcy4nKSwnQ2hhdmUgZXh0ZXJuYSBlbGltaW5hZGEuJywnQ2hhdmUgZXh0ZXJuYSBtb2RpZmljYWRhLicsJ0NoYXZlIGV4dGVybmEgY3JpYWRhLicsJ0FzIGNvbHVuYXMgZGUgb3JpZ2VuIGUgZGVzdGlubyBkZXZlbSBzZXIgZG8gbWVzbW8gdGlwbywgZGV2ZSBleGlzdGlyIHVtIMOtbmRpY2UgZW50cmUgYXMgY29sdW5hcyBkZSBkZXN0aW5vIGUgbyByZWdpc3RybyByZWZlcmVuY2lhZG8gZGV2ZSBleGlzdGlyLicsJ0NoYXZlIGV4dGVybmEnLCdUYWJlbGEgZGUgZGVzdGlubycsJ01vZGlmaWNhcicsJ0FkaWNpb25hciBjb2x1bmEnLCdWaXN0YSBlbGltaW5hZGEuJywnVmlzdGEgbW9kaWZpY2FkYS4nLCdWaXN0YSBjcmlhZGEuJywnQ3JpYXIgdmlzdGEnLCdFdmVudG8gZWxpbWluYWRvLicsJ0V2ZW50byBtb2RpZmljYWRvLicsJ0V2ZW50byBjcmlhZG8uJywnTW9kaWZpY2FyIEV2ZW50bycsJ0NyaWFyIEV2ZW50bycsJ0luaWNpbycsJ0ZpbScsJ0NhZGEnLCdBbyBjb21wbGV0YXIgcHJlc2VydmFyJywnUHJvY2VkaW1lbnRvIGVsaW1pbmFkby4nLCdQcm9jZWRpbWVudG8gbW9kaWZpY2Fkby4nLCdQcm9jZWRpbWVudG8gY3JpYWRvLicsJ01vZGlmaWNhciBGdW7Dp8OjbycsJ01vZGlmaWNhciBwcm9jZWRpbWllbnRvJywnQ3JpYXIgZnVuw6fDo28nLCdDcmlhciBwcm9jZWRpbWVudG8nLCdUaXBvIGRlIHZhbG9yIGRlIHJlZ3Jlc28nLCdTZXF1ZW5jaWEgZWxpbWluYWRhLicsJ1NlcXVlbmNpYSBjcmlhZGEuJywnU2VxdWVuY2lhIG1vZGlmaWNhZGEuJywnTW9kaWZpY2FyIHNlcXVlbmNpYScsJ0NyaWFyIHNlcXVlbmNpYXMnLCdUaXBvIGVsaW1pbmFkby4nLCdUaXBvIGNyaWFkby4nLCdNb2RpZmljYXIgdGlwbycsJ0NyaWFyIHRpcG8nLCdUcmlnZ2VyIGVsaW1pbmFkby4nLCdUcmlnZ2VyIG1vZGlmaWNhZG8uJywnVHJpZ2dlciBjcmlhZG8uJywnTW9kaWZpY2FyIFRyaWdnZXInLCdBZGljaW9uYXIgVHJpZ2dlcicsJ1RlbXBvJywnRXZlbnRvJywnVXN1YXJpbyBlbGltaW5hZG8uJywnVXN1YXJpbyBtb2RpZmljYWRvLicsJ1VzdWFyaW8gY3JpYWRvLicsJ0hhc2gnLCdSb3RpbmEnLCdDb25jZWRlcicsJ0ltcGVkaXInLGFycmF5KCclZCBwcm9jZXNzbyB0ZXJtaW5hZG8uJywnJWQgcHJvY2Vzc29zIHRlcm1pbmFkb3MuJyksJyVkIG5vIHRvdGFsJywnUGFyYXInLGFycmF5KCclZCDDrXRlbSBhZmV0YWRvLicsJyVkIGl0ZW5zIGFmZXRhZG9zLicpLCdEb2JsZS1jbGljIHNvYnJlIG8gdmFsb3IgcGFyYSBlZGl0YS1sby4nLGFycmF5KCclZCByZWdpc3RybyBpbXBvcnRhZG8uJywnJWQgcmVnaXN0cm9zIGltcG9ydGFkb3MuJyksJ07Do28gw6kgcG9zc2l2ZWwgc2VsZWNpb25hciBhIFRhYmVsYScsJ21vZGlmaWNhcicsJ1JlbGHDp8O1ZXMnLCdVdGlsaXplIG8gbGluayBtb2RpZmljYXIgcGFyYSBhbHRlcmFyLicsJ1DDoWdpbmEnLCfDumx0aW1vJywncmVzdWx0YWRvIGNvbXBsZXRvJywnQ2xvbmFyJywnSW1wb3J0YXInLCcgJywnVGFiZWxhcyB0cnVuY2FkYXMgKHRydW5jYXRlKS4nLCdBcyBUYWJlbGFzIGZvcmFtIG1vdmlkYXMuJywnVGFibGVzIGhhdmUgYmVlbiBjb3BpZWQuJywnVGFiZWxhcyBlbGltaW5hZGFzLicsJ1RhYmVsYXMgZSB2aXN0YXMnLCdCdXNjYXIgZGFkb3MgbmFzIFRhYmVsYXMnLCdNb3RvcicsJ1RhbWFuaG8gZGUgZGFkb3MnLCdUYW1hbmhvIGRlIMOtbmRpY2UnLCdFc3Bhw6dvIExpdnJlJywnUmVnaXN0cm9zJywnQW5hbGl6YXInLCdPdGltaXphcicsJ1ZlcmlmaWNhcicsJ1JlcGFyYXInLCdUcnVuY2FyJywnTW92ZXIgb3V0cmEgQmFzZSBkZSBkYWRvcycsJ01vdmVyJywnQ29weScsJ1NlcXVlbmNpYXMnLCdBZ2VuZGEnLCdBIGhvcmEgZGV0ZXJtaW5hZGEnLCdhZ29yYScpO2JyZWFrO2Nhc2Uic2wiOiRSPWFycmF5KCdTdGUgcHJlcHJpxI1hbmk/JywnTmUgbW9yZW0gbmFsb8W+aXRpIGRhdG90ZWtlLicsJ05hanZlxI1qYSB2ZWxpa29zdCBkYXRvdGVrZSBqZSAlc0IuJywnRGF0b3Rla2EgbmUgb2JzdGFqYS4nLCdwcmF6bm8nLCdvcmlnaW5hbCcsJ05pIHRhYmVsLicsJ0plemlrJywnVXBvcmFiaScsJ1Byb3NpbSwgdXBvcmFiaXRlIGVuZWdhIG9kIGRvZGF0a292ICVzLicsJ0RhdG90ZWthIG9ic3RhamEuJywnVXBvcmFibmnFoWtpIHRpcGknLCfFoHRldmlsYScsJ0RhdHVtIGluIMSNYXMnLCdOaXppJywnQmluYXJuaScsJ01yZcW+bmknLCdHZW9tZXRyxI1uaScsJ1Nlem5hbWknLCdTaXN0ZW0nLCdTdHJlxb5uaWsnLCdVcG9yYWJuacWha28gaW1lJywnR2VzbG8nLCdQcmlqYXZpIHNlJywnVHJham5hIHByaWphdmEnLCdJemJlcmkgcG9kYXRrZScsJ1Bva2HFvmkgemdyYWRibycsJ1NwcmVtZW5pIHBvZ2xlZCcsJ1NwcmVtZW5pIHRhYmVsbycsJ05vdiBwcmVkbWV0JywnWmFkbmphIHN0cmFuJywnVXJlZGknLGFycmF5KCclZCBiYWp0JywnJWQgYmFqdGEnLCclZCBiYWp0aScsJyVkIGJhanRvdicpLCdJemJlcmknLCdGdW5rY2lqZScsJ1pkcnXFvml0ZXYnLCdJxaHEjWknLCdramVya29saScsJ1NvcnRpcmFqJywncGFkYWpvxI1lJywnTGltaXRhJywnRG9sxb5pbmEgdGVrc3RhJywnRGVqYW5qZScsJ1VrYXogU1FMJywnb2RwcmknLCdzaHJhbmknLCdTcHJlbWVuaSBiYXpvJywnU3ByZW1lbmkgc2hlbW8nLCdVc3R2YXJpIHNoZW1vJywnU2hlbWEgYmF6ZScsJ1ByYXZpY2UnLCdJenZvemknLCdPZGphdmkgc2UnLCdiYXphJywnc2hlbWEnLCdVc3R2YXJpIG5vdm8gdGFiZWxvJywnaXpiZXJpJywnbHRyJywnUmVzZW5kIFBPU1QgZGF0YT8nLCdOZXZlbGphdmVuIHRva2VuIENTUkYuIFBvxaFsaml0ZSBmb3JtdWxhciDFoWUgZW5rcmF0LicsJ1ByaWphdmEgdXNwZcWhbmEuJywnUG9kcG9yYSB6YSBzZWplIG1vcmEgYml0aSBvbW9nb8SNZW5hLicsJ1NlamEgamUgcG90ZWtsYS4gUHJvc2ltbywgcG9ub3ZubyBzZSBwcmlqYXZpdGUuJywnTmV2ZWxqYXZuZSBwcmF2aWNlLicsJ0JyZXogZG9kYXRrb3YnLCdOb2JlbiBvZCBwb2RwcnRpaCBkb2RhdGtvdiB6YSBQSFAgKCVzKSBuaSBuYSB2b2xqby4nLCdQcmV2ZWxpa28gcG9kYXRrb3YgemEgUE9TVC4gWm1hbmrFoWFqdGUgxaF0ZXZpbG8gcG9kYXRrb3YgYWxpIHBvdmXEjWFqdGUgbmFzdGF2aXRldiB6YSAlcy4nLCdCYXphJywnTmV2ZWxqYXZuYSBiYXphLicsJ0JhemUgc28gemF2csW+ZW5lLicsJ0l6YmVyaSBiYXpvJywnVXN0dmFyaSBub3ZvIGJhem8nLCdTZXpuYW0gcHJvY2Vzb3YnLCdTcHJlbWVubGppdmtlJywnU3RhbmplJywnVmVyemlqYSAlczogJXMgcHJla28gZG9kYXRrYSB6YSBQSFAgJXMnLCdQcmlqYXZsamVuIGtvdDogJXMnLCdaYmlyYW5qZScsJ1RhYmVsZScsJ1phdnJ6aScsJ09zdmXFvmknLCdTaGVtYScsJ05ldmVsamF2bmEgc2hlbWEuJywnTmkgdnJzdGljLicsJyUuM2YgcycsJ1R1amkga2xqdcSNaScsJ3piaXJhbmplJywncHJpIGJyaXNhbmp1JywnSW1lIHN0b2xwY2EnLCdJbWUgcGFyYW1ldHJhJywnVGlwJywnRG9sxb5pbmEnLCdNb8W+bm9zdGknLCdTYW1vZGVqbm8gcG92ZcSNZXZhbmplJywnUHJpdnpldGUgdnJlZG5vc3RpJywnS29tZW50YXInLCdEb2RhaiBuYXNsZWRuamVnYScsJ1ByZW1ha25pIGdvcicsJ1ByZW1ha25pIGRvbCcsJ09kc3RyYW5pJywnUG9nbGVkaScsJ1RhYmVsYScsJ1N0b2xwZWMnLCdJbmRla3NpJywnU3ByZW1lbmkgaW5kZWtzZScsJ0l6dm9yJywnQ2lsaicsJ3ByaSBwb3NvZGFibGphbmp1JywnU3ByZW1lbmknLCdEb2RhaiB0dWoga2xqdcSNJywnU3Byb8W+aWxuaWtpJywnRG9kYWogc3Byb8W+aWxuaWsnLCdQZXJtYW5lbnQgbGluaycsJ0l6dm96aScsJ0l6aG9kIHJlenVsdGF0YScsJ0Zvcm1hdCcsJ1Bvc3RvcGtpJywnRG9nb2RraScsJ1BvZGF0a2knLCdVc3R2YXJpIHVwb3JhYm5pa2EnLCdOYXBha2EgdiBwb2l6dmVkYmknLGFycmF5KCclZCB2cnN0aWNhJywnJWQgdnJzdGljaScsJyVkIHZyc3RpY2UnLCclZCB2cnN0aWMnKSxhcnJheSgnUG9penZlZGJhIHNlIGplIHVzcGXFoW5vIGl6dmVkbGEsIHNwcmVtZW5qZW5hIGplICVkIHZyc3RpY2EuJywnUG9penZlZGJhIHNlIGplIHVzcGXFoW5vIGl6dmVkbGEsIHNwcmVtZW5qZW5pIHN0YSAlZCB2cnN0aWNpLicsJ1BvaXp2ZWRiYSBzZSBqZSB1c3BlxaFubyBpenZlZGxhLCBzcHJlbWVuamVuZSBzbyAlZCB2cnN0aWNlLicsJ1BvaXp2ZWRiYSBzZSBqZSB1c3BlxaFubyBpenZlZGxhLCBzcHJlbWVuamVuaWggamUgJWQgdnJzdGljLicpLCdOaSB1a2F6b3YgemEgaXp2ZWRiby4nLGFycmF5KCdVc3BlxaFubyBzZSBqZSBrb27EjWFsYSAlZCBwb2l6dmVkYmEuJywnVXNwZcWhbm8gc3RhIHNlIGtvbsSNYWxpICVkIHBvaXp2ZWRiaS4nLCdVc3BlxaFubyBzbyBzZSBrb27EjWFsZSAlZCBwb2l6dmVkYmUuJywnVXNwZcWhbm8gc2UgamUga29uxI1hbG8gJWQgcG9penZlZGIuJyksJ05hbG/FvmkgZGF0b3Rla28nLCdOYWxhZ2FuamUgZGF0b3RlayBqZSBvbmVtb2dvxI1lbm8uJywnSXp2ZWRpJywnVXN0YXZpIG9iIG5hcGFraScsJ1Bva2HFvmkgc2FtbyBuYXBha2UnLCd6IHN0cmXFvm5pa2EnLCdEYXRvdGVrYSBuYSBzcGxldG5lbSBzdHJlxb5uaWt1ICVzJywnWmHFvmVuaSBkYXRvdGVrbycsJ1pnb2RvdmluYScsJ1BvxI1pc3RpJywnRWRpdCBhbGwnLCdQcmVkbWV0IGplIGl6YnJpc2FuLicsJ1ByZWRtZXQgamUgcG9zb2RvYmxqZW4uJywnUHJlZG1ldCVzIGplIHZzdGF2bGplbi4nLCdWc3RhdmknLCdTaHJhbmknLCdTaHJhbmkgaW4gbmFkYWxqdWogeiB1cmVqYW5qZW0nLCdTaHJhbmkgaW4gdnN0YXZpIHRla3N0JywnSXpicmnFoWknLCdUYWJlbGEgamUgemF2csW+ZW5hLicsJ1RhYmVsYSBqZSBzcHJlbWVuamVuYS4nLCdUYWJlbGEgamUgdXN0dmFyamVuYS4nLCdVc3R2YXJpIHRhYmVsbycsJ05hanZlxI1qZSDFoXRldmlsbyBkb3ZvbGplbmloIHBvbGplIGplIHByZXNlxb5lbm8uIFByb3NpbW8sIHBvdmXEjWFqdGUgJXMgaW4gJXMuJywnSW1lIHRhYmVsZScsJ3BvZ29uJywnUG9yYXpkZWxpIHBvJywnUG9yYXpkZWxpdHZlJywnSW1lIHBvcmF6ZGVsaXR2ZScsJ1ZyZWRub3N0aScsJ0luZGVrc2kgc28gc3ByZW1lbmplbmkuJywnVGlwIGluZGVrc2EnLCdTdG9scGVjIChkb2zFvmluYSknLCdOYXppdicsJ0JhemEgamUgemF2csW+ZW5hLicsJ0JhemEgamUgcHJlaW1lbm92YW5hLicsJ0JhemEgamUgdXN0dmFyamVuYS4nLCdCYXphIGplIHNwcmVtZW5qZW5hLicsJ1VzdHZhcmkgYmF6bycsJ1NoZW1hIGplIHphdnLFvmVuYS4nLCdTaGVtYSBqZSB1c3R2YXJqZW5hLicsJ1NoZW1hIGplIHNwcmVtZW5qZW5hLicsJ1Bva2xpxI1pJyxhcnJheSgnS2xpY2FuIGplIGJpbCBwb3N0b3Blaywgc3ByZW1lbmplbmEgamUgJWQgdnJzdGljYS4nLCdLbGljYW4gamUgYmlsIHBvc3RvcGVrLCBzcHJlbWVuamVuaSBzdGEgJWQgdnJzdGljaS4nLCdLbGljYW4gamUgYmlsIHBvc3RvcGVrLCBzcHJlbWVuamVuZSBzbyAlZCB2cnN0aWNlLicsJ0tsaWNhbiBqZSBiaWwgcG9zdG9wZWssIHNwcmVtZW5qZW5paCBqZSAlZCB2cnN0aWMuJyksJ1R1aiBrbGp1xI0gamUgemF2csW+ZW4uJywnVHVqIGtsanXEjSBqZSBzcHJlbWVuamVuLicsJ1R1aiBrbGp1xI0gamUgdXN0dmFyamVuLicsJ0l6dm9ybmkgaW4gY2lsam5pIHN0b2xwZWMgbW9yYSBpbWV0aSBpc3RpIHBvZGF0a292bmkgdGlwLiBPYnN0YWphdGkgbW9yYSBpbmRla3MgbmEgY2lsam5paCBzdG9scGNpaCBpbiBvYnN0YWphdGkgbW9yYWpvIHJlZmVyZW7EjW5pIHBvZGF0a2kuJywnVHVqIGtsanXEjScsJ0NpbGpuYSB0YWJlbGEnLCdTcHJlbWVuaScsJ0RvZGFqIHN0b2xwZWMnLCdQb2dsZWQgamUgemF2csW+ZW4uJywnUG9nbGVkIGplIHNwcmVtZW5qZW4uJywnUG9nbGVkIGplIHVzdHZhcmplbi4nLCdVc3R2YXJpIHBvZ2xlZCcsJ0RvZ29kZWsgamUgemF2csW+ZW4uJywnRG9nb2RlayBqZSBzcHJlbWVuamVuLicsJ0RvZ29kZWsgamUgdXN0dmFyamVuLicsJ1NwcmVtZW5pIGRvZ29kZWsnLCdVc3R2YXJpIGRvZ29kZWsnLCdaYcSNZXRlaycsJ0tvbmVjJywndnNha2UnLCdQbyB6YWtsanXEjWt1IG9ocmFuaScsJ1Bvc3RvcGVrIGplIHphdnLFvmVuLicsJ1Bvc3RvcGVrIGplIHNwcmVtZW5qZW4uJywnUG9zdG9wZWsgamUgdXN0dmFyamVuLicsJ1NwcmVtZW5pIGZ1bmtjaWpvJywnU3ByZW1lbmkgcG9zdG9wZWsnLCdVc3R2YXJpIGZ1bmtjaWpvJywnVXN0dmFyaSBwb3N0b3BlaycsJ1ZyYcSNYWxuaSB0aXAnLCdTZWt2ZW5jYSBqZSB6YXZyxb5lbmEuJywnU2VrdmVuY2UgamUgdXN0dmFyamVuYS4nLCdTZWt2ZW5jZSBqZSBzcHJlbWVuamVuYS4nLCdTcHJlbW5pIHNla3ZlbmNvJywnVXN0dmFyaSBzZWt2ZW5jbycsJ1RpcCBqZSB6YXZyxb5lbi4nLCdUaXAgamUgdXN0dmFyamVuLicsJ1NwcmVtZW5pIHRpcCcsJ1VzdHZhcmkgdGlwJywnU3Byb8W+aWxuaWsgamUgb2RzdHJhbmplbi4nLCdTcHJvxb5pbG5payBqZSBzcHJlbWVuamVuLicsJ1Nwcm/FvmlsbmlrIGplIHVzdHZhcmplbi4nLCdTcHJlbWVuaSBzcHJvxb5pbG5paycsJ1VzdHZhcmkgc3Byb8W+aWxuaWsnLCfEjGFzJywnRG9nb2RlaycsJ1Vwb3JhYm5payBqZSBvZHN0cmFuamVuLicsJ1Vwb3JhYm5payBqZSBzcHJlbWVuamVuLicsJ1Vwb3JhYm5payBqZSB1c3R2YXJqZW4uJywnWmFrb2RpcmFubycsJ1Bvc3RvcGVrJywnRG92b2xpJywnT2R2emVtaScsYXJyYXkoJ0tvbsSNYW4gamUgJWQgcHJvY2VzLicsJ0tvbsSNYW5hIHN0YSAlZCBwcm9jZXNhLicsJ0tvbsSNYW5pIHNvICVkIHByb2Nlc2kuJywnS29uxI1hbmloIGplICVkIHByb2Nlc292LicpLCdTa3VwYWogJWQnLCdLb27EjWFqJyxhcnJheSgnU3ByZW1lbmplbiBqZSAlZCBwcmVkbWV0LicsJ1NwcmVtZW5qZW5hIHN0YSAlZCBwcmVkbWV0YS4nLCdTcHJlbWVuamVuaSBzbyAlZCBwcmVkbWV0aS4nLCdTcHJlbWVuamVuaWggamUgJWQgcHJlZG1ldG92LicpLCdEdm9qbmkga2xpayBuYSB2cmVkbm9zdCB6YSB1cmVqYW5qZS4nLGFycmF5KCdVdm/FvmVuYSBqZSAlZCB2cnN0aWNhLicsJ1V2b8W+ZW5pIHN0YSAlZCB2cnN0aWNpLicsJ1V2b8W+ZW5lIHNvICVkIHZyc3RpY2UuJywnVXZvxb5lbmloIGplICVkIHZyc3RpYy4nKSwnTmUgbW9yZW0gaXpicmF0aSB0YWJlbGUnLCd1cmVkaScsJ1JlbGFjaWpza2knLCdVcG9yYWJpdGUgdXJlamFuamUgcG92ZXphdmUgemEgc3ByZW1pbmphbmplIHRlIHZyZWRub3N0aS4nLCdTdHJhbicsJ1phZG5qYScsJ2NlbCByYXp1bHRhdCcsJ0tsb25pcmFqJywnVXZvemknLCcgJywnVGFiZWxlIHNvIHNrcmFqxaFhbmUuJywnVGFiZWxlIHNvIHByZW1ha25qZW5lLicsJ1RhYmVsZSBzbyBrb3BpcmFuZS4nLCdUYWJlbGUgc28gemF2csW+ZW5lLicsJ1RhYmVsZSBpbiBwb2dsZWRpJywnScWhxI1lIHBvZGF0a2UgcG8gdGFiZWxhaCcsJ1BvZ29uJywnVmVsaWtvc3QgcG9kYXRrb3YnLCdWZWxpa29zdCBpbmRla3NhJywnUG9kYXRrb3YgcHJvc3RvICcsJ1Zyc3RpYycsJ0FuYWxpemlyYWonLCdPcHRpbWl6aXJhaicsJ1ByZXZlcmknLCdQb3ByYXZpJywnU2tyYWrFoWFqJywnUHJlbWFrbmkgdiBkcnVnbyBiYXpvJywnUHJlbWFrbmknLCdLb3BpcmFqJywnU2VrdmVuY2UnLCdVcm5paycsJ3YgZGFuZW0gxI1hc3UnLCd6ZGFqJyk7YnJlYWs7Y2FzZSJsdCI6JFI9YXJyYXkoJ1Rpa3JhaT8nLCdOZXBhdnlrbyDEr2tlbHRpIGZhaWxvLicsJ01ha3NpbWFsdXMgZmFpbG8gZHlkaXMgLSAlc0IuJywnRmFpbGFzIG5lZWd6aXN0dW9qYS4nLCd0dcWhxI1pYScsJ29yaWdpbmFsYXMnLCdOxJdyYSBsZW50ZWxpxbMuJywnS2FsYmEnLCdOYXVkb3RpJywnTmF1ZG9raXRlIHZpZW7EhSBpxaEgcGzEl3RpbmnFsyAlcy4nLCdGYWlsYXMgZWd6aXN0dW9qYS4nLCdWYXJ0b3RvasWzIHRpcGFpJywnU2thacSNaWFpJywnRGF0YSBpciBsYWlrYXMnLCdUZWtzdGFzJywnRHZlamV0YWluaXMnLCdUaW5rbGFzJywnR2VvbWV0cmlqYScsJ1PEhXJhxaFhaScsJ1Npc3RlbWEnLCdTZXJ2ZXJpcycsJ1ZhcnRvdG9qYXMnLCdTbGFwdGHFvm9kaXMnLCdQcmlzaWp1bmd0aScsJ1Bhc3RvdnVzIHByaXNpanVuZ2ltYXMnLCdBdHJpbmt0aSBkdW9tZW5pcycsJ1JvZHl0aSBzdHJ1a3TFq3LEhScsJ1JlZGFndW90aSB2YWl6ZMSFJywnUmVkYWd1b3RpIGxlbnRlbMSZJywnTmF1amFzIMSvcmHFoWFzJywnUGFza3V0aW5pcyBwdXNsYXBpcycsJ1JlZGFndW90aScsYXJyYXkoJyVkIGJhaXRhcycsJyVkIGJhaWdhaScsJyVkIGJhaXTFsycpLCdBdHJpbmt0aScsJ0Z1bmtjaWpvcycsJ0FncmVnYWNpamEnLCdJZcWha290aScsJ3Zpc3VyJywnUmlraXVvdGknLCdtYcW+xJdqaW1vIHR2YXJrYScsJ0xpbWl0YXMnLCdUZWtzdG8gaWxnaXMnLCdWZWlrc21hcycsJ1NRTCB1xb5rbGF1c2EnLCdhdGlkYXJ5dGknLCdpxaFzYXVnb3RpJywnUmVkYWd1b3RpIGR1b21lbsWzIGJhesSZJywnS2Vpc3RpIHNjaGVtxIUnLCdTdWt1cnRpIHNjaGVtxIUnLCdEdW9tZW7FsyBiYXrEl3Mgc2NoZW1hJywnUHJpdmlsZWdpam9zJywnRWtzcG9ydHVvdGknLCdBdHNpanVuZ3RpJywnZHVvbWVuxbMgYmF6xJcnLCdzY2hlbWEnLCdTdWt1cnRpIG5hdWrEhSBsZW50ZWzEmScsJ2F0cmlua3RpJywnbHRyJywnUGVyc2nFs3N0aSBQT1NUIGR1b21lbmlzPycsJ05ldGVpc2luZ2FzIENTUkYgdG9rZW5hcy4gQmFuZHlraXRlIHNpxbNzdGkgZm9ybW9zIGR1b21lbmlzIGRhciBrYXJ0xIUuJywnSsWrcyBhdHNpanVuZ8SXdGUgbnVvIHNpc3RlbW9zLicsJ1Nlc2lqxbMgcGFsYWlreW1hcyB0dXJpIGLFq3RpIMSvanVuZ3Rhcy4nLCdTZXNpam9zIGdhbGlvamltYXMgYmFpZ8SXc2kuIFByaXNpanVua2l0ZSBpxaEgbmF1am8uJywnTmV0ZWlzaW5naSBwcmlzaWp1bmdpbW8gZHVvbWVueXMuJywnTsSXcmEgcGzEl3RpaW8nLCdOxJdyYSBuZWkgdmllbm8gacWhIHBhbGFpa29txbMgUEhQIHBsxJd0aW5pxbMgKCVzKS4nLCdQZXIgZGF1ZyBQT1NUIGR1b21lbsWzLiBTdW1hxb5pbmtpdGUgZHVvbWVuxbMga2lla8SvIGFyYmEgcGFkaWRpbmtpdGUga29uZmlnxatyYWNpam9zIG51c3RhdHltxIUgJXMuJywnRHVvbWVuxbMgYmF6xJcnLCdOZXRlaXNpbmdhIGR1b21lbsWzIGJhesSXLicsJ0R1b21lbsWzIGJhesSXcyBwYW5haWtpbnRvcy4nLCdQYXNpcmlua3RpIGR1b21lbsWzIGJhesSZJywnU3VrdXJ0aSBuYXVqxIUgZHVvbWVuxbMgYmF6xJknLCdQcm9jZXPFsyBzxIVyYcWhYXMnLCdLaW50YW1pZWppJywnQsWrc2VuYScsJyVzIHZlcnNpamE6ICVzIHBlciBQSFAgcGzEl3RpbsSvICVzJywnUHJpc2lqdW5nxJlzIGthaXA6ICVzJywnTHlnaW5pbWFzJywnTGVudGVsxJdzJywnUGHFoWFsaW50aScsJ0F0bmF1amludGknLCdTY2hlbWEnLCdOZXRlaXNpbmdhIHNjaGVtYS4nLCdOxJdyYSDEr3JhxaHFsy4nLCclLjNmIHMnLCdJxaFvcmluaWFpIHJha3RhaScsJ3BhbHlnaW5pbWFzJywnScWhdHJpbmFudCcsJ1N0dWxwZWxpbyBwYXZhZGluaW1hcycsJ1BhcmFtZXRybyBwYXZhZGluaW1hcycsJ1RpcGFzJywnSWxnaXMnLCdOdXN0YXR5bWFpJywnQXV0byBJbmNyZW1lbnQnLCdSZWlrxaFtxJdzIHBhZ2FsIG51dHlsxJdqaW3EhScsJ0tvbWVudGFyYXMnLCdQcmlkxJd0aSBraXTEhScsJ1BlcmtlbHRpIMSvIHZpcsWhxbMnLCdQZXJrZWx0aSDFvmVteW4nLCdQYcWhYWxpbnRpJywnVmFpemRhcycsJ0xlbnRlbMSXJywnU3R1bHBlbGlzJywnSW5kZWtzYWknLCdSZWRhZ3VvdGkgaW5kZWtzdXMnLCfFoGFsdGluaXMnLCdUaWtzbGFzJywnQXRuYXVqaW5hbnQnLCdSZWRhZ3VvdGknLCdQcmlkxJd0aSBpxaFvcmluxK8gcmFrdMSFJywnVHJpZ2VyaWFpJywnUHJpZMSXdGkgdHJpZ2VyxK8nLCdQYXN0b3ZpIG51b3JvZGEnLCdFa3Nwb3J0YXMnLCdJxaF2ZXN0aXMnLCdGb3JtYXRhcycsJ1Byb2NlZMWrcm9zJywnxK52eWtpYWknLCdEdW9tZW55cycsJ1N1a3VydGkgdmFydG90b2rEhScsJ0tsYWlkYSB1xb5rbGF1c29qZScsYXJyYXkoJyVkIMSvcmHFoWFzJywnJWQgxK9yYcWhYWknLCclZCDEr3JhxaHFsycpLGFycmF5KCdVxb5rbGF1c2EgxK92eWtkeXRhLiBQYWtlaXN0YXMgJWQgxK9yYcWhYXMuJywnVcW+a2xhdXNhIMSvdnlrZHl0YS4gUGFrZWlzdGkgJWQgxK9yYcWhYWkuJywnVcW+a2xhdXNhIMSvdnlrZHl0YS4gUGFrZWlzdGEgJWQgxK9yYcWhxbMuJyksJ07El3JhIHZ5a2RvbcWzIHXFvmtsYXVzxbMuJyxhcnJheSgnJWQgdcW+a2xhdXNhIMSvdnlrZHl0YS4nLCclZCB1xb5rbGF1c29zIMSvdnlrZHl0b3MuJywnJWQgdcW+a2xhdXPFsyDEr3Z5a2R5dGEuJyksJ0ZhaWxvIMSva8SXbGltYXMnLCdGYWlsxbMgxK9rxJdsaW1hcyBpxaFqdW5ndGFzLicsJ1Z5a2R5dGknLCdTdXN0YWJkeXRpIGVzYW50IGtsYWlkYWknLCdSb2R5dGkgdGlrIGtsYWlkYXMnLCdJxaEgc2VydmVyaW8nLCdGYWlsYXMgJXMgacWhIHNlcnZlcmlvJywnVnlrZHl0aSBmYWlsxIUnLCdJc3RvcmlqYScsJ0nFoXZhbHl0aScsJ1JlZGFndW90aSB2aXN1cycsJ8SucmHFoWFzIGnFoXRyaW50YXMuJywnxK5yYcWhYXMgcGFrZWlzdGFzLicsJ8SucmHFoWFzJXMgc3VrdXJ0YXMuJywnxK5yYcWheXRpJywnScWhc2F1Z290aScsJ0nFoXNhdWdvdGkgaXIgdMSZc3RpIHJlZGFnYXZpbcSFJywnScWhc2F1Z290aSBpciDEr3JhxaF5dGkga2l0xIUnLCdUcmludGknLCdMZW50ZWzElyBwYcWhYWxpbnRhLicsJ0xlbnRlbMSXIHBha2Vpc3RhLicsJ0xlbnRlbMSXIHN1a3VydGEuJywnU3VrdXJ0aSBsZW50ZWzEmScsJ1ZpcsWheXRhcyBtYWtzaW1hbHVzIGxlaWTFvmlhbcWzIHN0dWxwZWxpxbMga2lla2lzLiBQYWRpZGlua2l0ZSAlcyBpciAlcy4nLCdMZW50ZWzEl3MgcGF2YWRpbmltYXMnLCd2YXJpa2xpcycsJ1NraXJzdHl0aSBwYWdhbCcsJ1NraXJzbmlhaScsJ1NraXJzbmlvIHBhdmFkaW5pbWFzJywnUmVpa8WhbcSXcycsJ0luZGVrc2FpIHBha2Vpc3RpLicsJ0luZGVrc28gdGlwYXMnLCdTdHVscGVsaXMgKGlsZ2lzKScsJ1BhdmFkaW5pbWFzJywnRHVvbWVuxbMgYmF6xJcgcGFuYWlraW50YS4nLCdEdW9tZW7FsyBiYXrElyBwZXJ2YWRpbnRhLicsJ0R1b21lbsWzIGJhesSXIHN1a3VydGEuJywnRHVvbWVuxbMgYmF6xJcgcGFrZWlzdGEuJywnU3VrdXJ0aSBkdW9tZW7FsyBiYXrEmScsJ1NjaGVtYSBwYcWhYWxpbnRhLicsJ1NjaGVtYSBzdWt1cnRhLicsJ1NjaGVtYSBwYWtlaXN0YS4nLCdWeWtkeXRpJyxhcnJheSgnUHJvY2VkxatyYSDEr3Z5a2R5dGEuICVkIMSvcmHFoWFzIHBha2Vpc3Rhcy4nLCdQcm9jZWTFq3JhIMSvdnlrZHl0YS4gJWQgxK9yYcWhYWkgcGFrZWlzdGkuJywnUHJvY2VkxatyYSDEr3Z5a2R5dGEuICVkIMSvcmHFocWzIHBha2Vpc3RhLicpLCdJxaFvcmluaXMgcmFrdGFzIHBhxaFhbGludGFzLicsJ0nFoW9yaW5pcyByYWt0YXMgcGFrZWlzdGFzLicsJ0nFoW9yaW5pcyByYWt0YXMgc3VrdXJ0YXMuJywnxaBhbHRpbmlvIGlyIHRpa3NsaW5pcyBzdHVscGVsaXMgdHVyaSBixat0aSB0byBwYXRpZXMgdGlwbywgdGlrc2xpbmlhbWUgc3R1bHBlbHlqZSB0dXJpIGLFq3RpIG5hdWRvamFtYXMgaW5kZWtzYXMgaXIgZHVvbWVueXMgdHVyaSBlZ3ppc3R1b3RpLicsJ0nFoW9yaW5pcyByYWt0YXMnLCdUaWtzbGluxJcgbGVudGVsxJcnLCdQYWtlaXN0aScsJ1ByaWTEl3RpIHN0dWxwZWzErycsJ1ZhaXpkYXMgcGHFoWFsaW50YXMuJywnVmFpemRhcyBwYWtlaXN0YXMuJywnVmFpemRhcyBzdWt1cnRhcy4nLCdTdWt1cnRpIHZhaXpkxIUnLCfErnZ5a2lzIHBhxaFhbGludGFzLicsJ8SudnlraXMgcGFrZWlzdGFzLicsJ8SudnlraXMgc3VrdXJ0YXMuJywnUmVkYWd1b3RpIMSvdnlrxK8nLCdTdWt1cnRpIMSvdnlrxK8nLCdQcmFkxb5pYScsJ1BhYmFpZ2EnLCdLYXMnLCfErnZ5a2TFvml1cyBpxaFzYXVnb3RpJywnUHJvY2VkxatyYSBwYcWhYWxpbnRhLicsJ1Byb2NlZMWrcmEgcGFrZWlzdGEuJywnUHJvY2VkxatyYSBzdWt1cnRhLicsJ0tlaXN0aSBmdW5rY2lqxIUnLCdLZWlza3RpIHByb2NlZMWrcsSFJywnU3VrdXJ0aSBmdW5rY2lqxIUnLCdTdWt1cnRpIHByb2NlZMWrcsSFJywnR3LEhcW+aW5pbW8gdGlwYXMnLCdTZWthIHBhxaFhbGludGEuJywnU2VrYSBzdWt1cnRhLicsJ1Nla2EgcGFrZWlzdGEuJywnS2Vpc3RpIHNla8SFJywnU3VrdXJ0aSBzZWvEhScsJ1RpcGFzIHBhxaFhbGludGFzLicsJ1RpcGFzIHN1a3VydGFzLicsJ0tlaXN0aSB0aXDEhScsJ1N1a3VydGkgdGlwxIUnLCdUcmlnZXJpcyBwYcWhYWxpbnRhcy4nLCdUcmlnZXJpcyBwYWtlaXN0YXMuJywnVHJpZ2VyaXMgc3VrdXJ0YXMuJywnS2Vpc3RpIHRyaWdlcsSvJywnU3VrdXJ0aSB0cmlnZXLErycsJ0xhaWthcycsJ8SudnlraXMnLCdWYXJ0b3RvamFzIGnFoXRyaW50YXMuJywnVmFydG90b2pvIGR1b21lbnlzIHBha2Vpc3RpLicsJ1ZhcnRvdG9qYXMgc3VrdXJ0YXMuJywnxaBpZnJ1b3RhcycsJ1Byb2NlZMWrcmEnLCdTdXRlaWt0aScsJ0F0xaFhdWt0aScsYXJyYXkoJyVkIHByb2Nlc2FzIG51dHJhdWt0YXMuJywnJWQgcHJvY2VzYWkgbnV0cmF1a3RpLicsJyVkIHByb2Nlc8WzIG51dHJhdWt0YS4nKSwnJWQgacWhIHZpc28nLCdOdXRyYXVrdGknLGFycmF5KCdQYWtlaXN0YXMgJWQgxK9yYcWhYXMuJywnUGFrZWlzdGkgJWQgxK9yYcWhYWkuJywnUGFrZWlzdGFzICVkIMSvcmHFocWzLicpLCdEdSBrYXJ0dXMgc3ByYWd0ZWzEl2tpdGUgcGVseXRlIG5vcsSXZGFtaSByZWRhZ3VvdGkuJyxhcnJheSgnJWQgxK9yYcWhYXMgxK9rZWx0YS4nLCclZCDEr3JhxaFhaSDEr2tlbHRpLicsJyVkIMSvcmHFocWzIMSva2VsdGEuJyksJ05lxK9tYW5vbWEgYXRyaW5rdGkgbGVudGVsxJdzJywncmVkYWd1b3RpJywnUnnFoWlhaScsJ05vcsSXZGFtaSByZWRhZ3VvdGkgcmVpa8WhbcSZIG5hdWRva2l0ZSByZWRhZ2F2aW1vIG51b3JvZMSFLicsJ1B1c2xhcGlzJywncGFza3V0aW5pcycsJ3Zpc2FzIHJlenVsdGF0YXMnLCdLbG9udW90aScsJ0ltcG9ydGFzJywnICcsJ0xlbnRlbMSXcyBidXZvIGnFoXR1xaF0aW50b3MuJywnTGVudGVsxJdzIHBlcmtlbHRvcy4nLCdMZW50ZWzEl3MgbnVrb3BpanVvdG9zLicsJ0xlbnRlbMSXcyBwYcWhYWxpbnRvcy4nLCdMZW50ZWzEl3MgaXIgdmFpemRhaScsJ0llxaFrb3RpIGR1b21lbsWzIGxlbnRlbMSXc2UnLCdWYXJpa2xpcycsJ0R1b21lbsWzIGlsZ2lzJywnSW5kZWtzbyBpbGdpcycsJ0xhaXN2b3MgdmlldG9zJywnxK5yYcWhYWknLCdBbmFsaXp1b3RpJywnT3B0aW1penVvdGknLCdQYXRpa3JpbnRpJywnUGF0YWlzeXRpJywnVHXFoXRpbnRpJywnUGVya2VsdGkgxK8ga2l0xIUgZHVvbWVuxbMgYmF6xJknLCdQZXJrZWx0aScsJ0tvcGlqdW90aScsJ1Nla29zJywnR3JhZmlrYXMnLCdOdXJvZHl0dSBsYWlrdScsJ2RhYmFyJyk7YnJlYWs7Y2FzZSJ0ciI6JFI9YXJyYXkoJ0VtaW4gbWlzaW4/JywnRG9zeWEgZ8O2bmRlcmlsZW1peW9yLicsJ0JpciBkb3N5YSBpw6dpbiBpemluIHZlcmlsZW4gZG9zeWEgc8SxbsSxcsSxICVzQi4nLCdEb3N5YSBtZXZjdXQgZGXEn2lsLicsJ2JvxZ8nLCdvcmlqaW5hbCcsJ1RhYmxvIHlvay4nLCdEaWwnLCdLdWxsYW4nLCclcyB1emFudMSxbGFyxLFuZGFuIGJpcmluaSBrdWxsYW7EsW4uJywnRG9zeWEgbWV2Y3V0LicsJ0t1bGxhbsSxY8SxIHTDvHJsZXJpJywnU2F5xLFsYXInLCdUYXJpaCB2ZSB6YW1hbicsJ1PDtnpjw7xrbGVyJywnxLBraWxpJywnQcSfJywnR2VvbWV0cmknLCdMaXN0ZWxlcicsJ1Npc3RlbScsJ1N1bnVjdScsJ0t1bGxhbsSxY8SxJywnUGFyb2xhJywnR2lyacWfJywnS2FsxLFjxLEgZ2lyacWfJywnVmVyaSBzZcOnJywnWWFwxLF5xLEgZ8O2c3RlcicsJ0RlxJ9pxZ9pbSBnw7Zyw7xuw7xtJywnVGFibG8gZGXEn2nFn3RpcicsJ1llbmkgw7bEn2UnLCdTb24gc2F5ZmEnLCdEw7x6ZW4nLGFycmF5KCclZCBiYXl0JywnJWQga2FkYXIgYmF5dCcpLCdTZcOnJywnRm9ua3NpeW9ubGFyJywnS8O8bWVsZW1lJywnQXJhbWEnLCdoZXJoYW5naSBiaXIgeWVyJywnU8SxcmFsYScsJ2F6YWxhbicsJ3PEsW7EsXInLCdZYXrEsSB1enVubHXEn3UnLCdFeWxlbScsJ1NRTCBrb211dHUnLCdhw6cnLCdrYXlkZXQnLCdWZXJpdGFiYW7EsSBkZcSfacWfdGlyJywnRGXEn2nFn2ltIMWfZW1hc8SxJywnWWFyYXTEsW0gxZ9lbWFzxLEnLCdWZXJpdGFiYW7EsSDFn2VtYXPEsScsJ8SwemlubGVyJywnRMO2a8O8bScsJ8OHxLFrxLHFnycsJ3Zlcml0YWJhbsSxJywnxZ9lbWEnLCdZZW5pIHRhYmxvIHlhcmF0Jywnc2XDpycsJ2x0cicsJ1Jlc2VuZCBQT1NUIGRhdGE/JywnR2XDp2Vyc2l6IENyb3NzLXNpdGUgcmVxdWVzdCBmb3JnZXJ5IChDU1JGKSBqZXRvbnUuIEZvcnVtdSB0ZWtyYXIgeW9sbGEuJywnQmHFn2FyxLF5bGEgw6fEsWvEsWxkxLEuJywnT3R1cnVtIGRlc3RlxJ9pIGV0a2luIG9sbWFsxLFkxLFyLicsJ090dXJ1bSBzw7xyZXNpIGRvbGR1LCBsw7x0ZmVuIHRla3JhciBnaXJpxZ8geWFwxLFuLicsJ0dlw6dlcnNpeiBraW1saWsuJywnVXphbnTEsSB5b2snLCdEZXN0ZWtsZW5lbiBQSFAgdXphbnTEsWxhcsSxbmRhbiAoJXMpIGhpw6diaXJpIG1ldmN1dCBkZcSfaWwuJywnw4dvayBiw7x5w7xrIFBPU1QgdmVyaXNpLCB2ZXJpeWkgYXphbHTEsW4geWEgZGEgYXlhciB5w7ZuZXJnZXNpbmkgdXlndW4gb2xhcmFrIHlhcMSxbGFuZMSxcsSxbi4nLCdWZXJpdGFiYW7EsScsJ0dlw6dlcnNpeiB2ZXJpdGFiYW7EsS4nLCdWZXJpdGFiYW5sYXLEsSBkw7zFn8O8w7xsZMO8LicsJ1Zlcml0YWJhbsSxIHNlw6cnLCdZZW5pIHZlcml0YWJhbsSxIHlhcmF0JywnxLDFn2xlbSBsaXN0ZXNpJywnRGXEn2nFn2tlbmxlcicsJ0R1cnVtJywnJXMgc8O8csO8bTogJXMgUEhQIHV6YW50xLFzxLEgaWxlICVzJywnJXMgb2xhcmFrIGdpcmnFnyB5YXDEsWxkxLEuJywnS2FyxZ/EsWxhxZ90xLFybWEnLCdUYWJsb2xhcicsJ0TDvMWfw7xyJywnVGF6ZWxlJywnxZ5lbWEnLCdHZcOnZXJzaXogxZ9lbWEuJywnU8SxcmEgeW9rLicsJyUuM2YgcycsJ0TEscWfIGFuYWh0YXJsYXInLCdrYXLFn8SxbGHFn3TEsXJtYScsJ1NpbGlubWVrIMO8emVyZScsJ0tvbG9uIGFkxLEnLCdQYXJhbWV0cmUgYWTEsScsJ1TDvHInLCdVenVubHVrJywnU2XDp2VuZWtsZXInLCdPdG9tYXRpayB5w7xrc2VsdCcsJ1ZhcnNhecSxbGFuIGRlxJ9lcmxlcicsJ1lvcnVtJywnU29ucmF5YSBla2xlJywnWXVrYXLEsSB0YcWfxLEnLCdBxZ5hxJ/EsSB0YcWfJywnS2FsZMSxcicsJ0fDtnLDvG7DvG0nLCdUYWJsbycsJ0tvbG9uJywnRGl6aW5sZXInLCdEaXppbmxlcmkgZGXEn2nFn3RpcicsJ0theW5haycsJ0hlZGVmJywnWcO8a3NlbHRpbG1layDDvHplcmUnLCdEZcSfacWfdGlyJywnRMSxxZ8gYW5haHRhciBla2xlJywnVGV0aWtsZXInLCdUZXRpayBla2xlJywnUGVybWFuZW50IGxpbmsnLCfEsGhyYcOnJywnw4fEsWt0xLEnLCdCacOnaW0nLCdZb3JkYW1sYXInLCdPbGF5bGFyJywnVmVyaScsJ0t1bGxhbsSxY8SxIHlhcmF0JywnU29yZ3VkYSBoYXRhJyxhcnJheSgnJWQgc8SxcmEpJywnJWQga2FkYXIgc8SxcmEnKSxhcnJheSgnU29yZ3UgacWfbGV0aWxtZXNpIHRhbWFtbGFuZMSxLiAlZCBzxLFyYShyb3cpIGV0a2lsZW5kaS4nLCdTb3JndSBpxZ9sZXRpbG1lc2kgdGFtYW1sYW5kxLEuIEJ1bmRhbiAlZCBrYWRhciBzxLFyYSBldGtpbGVuZGkuJyksJ8SwxZ9sZXRpbG1layBpw6dpbiBrb211dCB5b2suJyxhcnJheSgnJWQgc29yZ3VudW4gacWfbGV0aWxtZXNpIHRhbWFtbGFuZMSxLicsJyVkIGthZGFyIHNvcmd1bnVuIGnFn2xldGlsbWVzaSB0YW1hbWxhbmTEsS4nKSwnRG9zeWEgZ8O2bmRlcicsJ0Rvc3lhIGfDtm5kZXJpbWkgZXRraW4gZGXEn2lsLicsJ8SwxZ9sZXQnLCdEdXIgaGF0YScsJ1NhZGVjZSBoYXRhbGFyxLEgZ8O2c3Rlci4nLCdTdW51Y3VkYW4nLCclcyB3ZWIgc3VudWN1c3UgZG9zeWFzxLEnLCdEb3N5YSDDp2FsxLHFn3TEsXInLCdUYXJpaCcsJ0JvxZ9sdWsnLCdFZGl0IGFsbCcsJ8OWxJ9lIHNpbGluZGkuJywnw5bEn2UgZ8O8bmNlbGxlbmRpLicsJ8OWxJ9lbGVyIGVrbGVuZGkuJywnRWtsZScsJ0theWRldCcsJ0theWRldCB2ZSBkw7x6ZW5sZW1leWUgZGV2YW0gZXQnLCdLYXlkZXQgdmUgc29ucmFraW4gZWtsZScsJ1NpbCcsJ1RhYmxvIGTDvMWfw7xyw7xsZMO8LicsJ1RhYmxvIGRlxJ9pxZ90aXJpbGRpLicsJ1RhYmxvIHlhcmF0xLFsZMSxLicsJ1RhYmxvIHlhcmF0Jywna2FidWwgZWRpbGViaWxpciBhbGFuIHNhecSxc8SxIGHFn8SxbGTEsS4gTMO8dGZlbiAlcyB2ZSAlcyBkw7zFn8O8csO8bi4nLCdUYWJsbyBhZMSxJywnbW90b3InLCdCw7Zsw7xtw7wgdGFyYWbEsW5kYW4nLCdCw7Zsw7xtbGVyJywnQsOWbMO8bSBhZMSxJywnRGXEn2VybGVyJywnRGl6aW5sZXIgZGXEn2nFn3RpcmlsaWRpLicsJ0RpemluIFTDvHLDvCcsJ0tvbG9uICh1enVubHXEn3UpJywnQWQnLCdWZXJpdGFiYW7EsSBkw7zFn8O8csO8bGTDvC4nLCdWZXJpdGFiYW7EsW7EsW4gaXNtaSBkZcSfacWfdGlyaWxkaS4nLCdWZXJpdGFiYW7EsSB5YXJhdMSxbGTEsS4nLCdWZXJpdGFiYW7EsSBkZcSfacWfdGlyaWxkaS4nLCdWZXJpdGFiYW7EsSB5YXJhdCcsJ8WeZW1hIGTDvMWfw7xyw7xsZMO8LicsJ8WeZW1hIHlhcmF0xLFsZMSxLicsJ8WeZW1hIGRlxJ9pxZ90aXJpbGRpLicsJ8OHYcSfcsSxJyxhcnJheSgnWW9yZGFtIMOnYcSfcsSxbGTEsSwgJWQgc8SxcmEocm93KSBldGtpbGVuZGkuJywnWW9yZGFtIMOnYcSfcsSxbGTEsSwgJWQgc8SxcmFsYXIocm93cykgZXRraWxlbmRpLicpLCdExLHFnyBhbmFodGFyIGTDvMWfw7xyw7xsZMO8LicsJ0TEscWfIGFuYWh0YXIgZGXEn2nFn3Rpci4nLCdExLHFnyBhbmFodGFyIHlhcmF0LicsJ0theW5hayB2ZSBoZWRlZiBrb2xvbmxhciBheW7EsSB2ZXJpIHTDvHLDvCBvbG1hayB6b3J1bmRhLCBoZWRlZiBrb2xvbmRhIGJpciBkaXppbiB2ZSBiYcWfdnVydWxhbiB2ZXJpIGJ1bHVubWFsxLEuJywnRMSxxZ8gYW5haHRhcicsJ0hlZGVmIHRhYmxvJywnRGXEn2nFnycsJ0tvbG9uIGVrbGRlJywnR8O2csO8bsO8bSBkw7zFn8O8csO8bGTDvC4nLCdHw7Zyw7xuw7xtIGRlxJ9pxZ90aXJpbGRpLicsJ0fDtnLDvG7DvG0geWFyYXTEsWxkxLEuJywnR8O2csO8bsO8bSB5YXJhdCcsJ09sYXkgZMO8xZ/DvGTDvGxkw7wuJywnT2xheSBkZcSfacWfdGlyaWxkaS4nLCdPbGF5IHlhcmF0xLFsZMSxLicsJ0RlxJ9pxZ90aXJtZSBvbGF5xLEnLCdZYXJhdG1hIG9sYXnEsScsJ0JhxZ9sYScsJ1NvbicsJ0hlcnphbWFuJywnVGFtYW1sYW1hIGtvcnVtYXPEsSBBw4dJSycsJ1lvcmRhbSBkw7zFn8O8csO8bGTDvC4nLCdZb3JkYW0gZGXEn2nFn3RpcmlsZGkuJywnWW9yZGFtIHlhcmF0xLFsZMSxLicsJ0RlxJ9pxZ90aXJtZSBmb25rc3lpb251JywnRGXEn2nFn3Rpcm1lIHnDtm50ZW1pJywnRm9ua3NpeW9uIHlhcmF0JywnWcO2bnRlbSB5YXJhdCcsJ0dlcmkgZMO2bsO8xZ8gdMO8csO8JywnRGl6aSBkw7zFn8O8csO8bGTDvC4nLCdEaXppIHlhcmF0xLFsZMSxLicsJ0RpemkgZGXEn2nFn3RpcmlsZGkuJywnRGl6aSBkZcSfacWfdGlyJywnRGl6aSB5YXJhdCcsJ1TDvHIgZMO8xZ/DvHLDvGxkw7wuJywnVMO8ciB5YXJhdMSxbGTEsS4nLCdUw7xyIGRlxJ9pxZ90aXInLCdUw7xyIHlhcmF0JywnVGV0aWsgZMO8xZ/DvHLDvGxkw7wuJywnVGV0aWsgZGXEn2nFn3RpcmlsZGkuJywnVGV0aWsgeWFyYXTEsWxkxLEuJywnVGV0aWsgZGXEn2nFn3Rpci4nLCdUZXRpayB5YXJhdCcsJ1phbWFuJywnT2xheScsJ0t1bGxhbsSxY8SxIGTDvMWfw7xyw7xsZMO8LicsJ0t1bGxhbsSxY8SxIGRlxJ9pxZ90aXJpbGRpLicsJ0t1bGxhbsSxY8SxIHlhcmF0xLFsZMSxLicsJ0hhcm1hbmxhbmTEsS4nLCdZb3JkYW0nLCfEsG10aXlheicsJ0dlcmkgYWwnLGFycmF5KCclZCBzw7xyZcOnIMO2bGTDvHLDvGxkw7wuJywnJWQgYWRldCBzw7xyZcOnIMO2bGTDvHLDvGxkw7wuJyksJyVkIHRvcGxhbWRhJywnw5ZsZMO8cicsYXJyYXkoJyVkIMO2xJ9lIGV0a2lsZW5kaS4nLCclZCBrYWRhciDDtsSfZSBldGtpbGVuZGkuJyksJ0RlxJ9lcmluIMO8emVyaW5lIMOnaWZ0IHTEsWtsYXnEsW4gdmUgZGXEn2nFn3RpcmluLicsYXJyYXkoJyVkIHPEsXJhIGl0aGFsIGVkaWxkaS4nLCclZCBrYWRhciBzxLFyYSBpdGhhbCBlZGlsZGkuJyksJ1RhYmxvIHNlw6dpbGVtZWRpJywnZMO8emVuJywnxLBsacWfa2lsZXInLCdEZcSfZXJpIGRlxJ9pxZ90aXJtZWsgacOnaW4gZMO8emVubGVtZSBiYcSfbGFudMSxc8SxbsSxIGt1bGxhbsSxbi4nLCdTYXlmYScsJ3NvbicsJ3TDvG0gc29udcOnJywnS2xvbmxhJywnxLB0aGFsJywnICcsJ1RhYmxvbGFyIGJ1ZGFuZMSxLicsJ1RhYmxvbGFyIHRhxZ/EsW5kxLEuJywnVGFibG9sYXIga29weWFsYW5kxLEuJywnVGFibG9sYXIgZMO8xZ/DvHLDvGxkw7wuJywnVGFibG9sYXIgdmUgZ8O2csO8bsO8bWxlcicsJ1RhYmxvbGFyZGEgdmVyaSBhcmEuJywnTW90b3InLCdWZXJpIHV6dW5sdcSfdScsJ0RpemluIHV6dW5sdcSfdScsJ1NlcmJlc3QgdmVyaScsJ1PEsXJhbGFyIChSb3dzKScsJ8OHw7Z6w7xtbGVtZScsJ0VuIHV5Z3VuIGhhbGUgZ2V0aXJtZScsJ0RlbmV0bGVtZScsJ1RhbWlyJywnQnVkYScsJ0RpxJ9lciB2ZXJpdGFiYW7EsW5hIHRhxZ/EsScsJ1RhxZ/EsScsJ0tvcHlhbGEnLCdEaXppbGVyJywnVGFrdmltbGknLCdCaXIgYW5kYScsJ8WfaW1kaScpO2JyZWFrO2Nhc2Uicm8iOiRSPWFycmF5KCdFyJl0aSBwcmVjaXM/JywnTnUgYW0gcHV0dXQgw65uY8SDcmNhIGZpyJlpZXJ1bCBwZSBzZXJ2ZXIuJywnRmnImWllcnVsIG1heGltIGFkbWlzIC0gJXNPLicsJ0HImWEgZmnImWllciBudSBleGlzdMSDLicsJ2dvbCcsJ29yaWdpbmFsJywnw45uIGJhemEgZGUgZGF0ZSBudSBzdW50IHRhYmVsZS4nLCdMaW1iYScsJ0FsZWdlJywnRm9sb3NpyJtpIHVuYSBkaW4gdXJtxIN0b2FyZWxlIGV4dGVuc2lpICVzLicsJ0ZpyJlpZXJ1bCBkZWphIGV4aXN0xIMuJywnVGlwdXJpIGRlIHV0aWxpemF0b3JpJywnTnVtxINyJywnRGF0YSDImWkgdGltcHVsJywnyJhpcmUgZGUgY2FyYWN0ZXJlJywnVGlwIGJpbmFyJywnUmXIm2VhJywnR2VvbWV0cmllJywnTGlzdGUnLCdTaXN0ZW1hJywnU2VydmVyJywnTnVtZSBkZSB1dGlsaXphdG9yJywnUGFyb2xhJywnSW50csSDJywnTG9nYXJlIHBlcm1hbmVudMSDJywnU2VsZWN0ZWF6xIMnLCdBcmF0xIMgc3RydWN0dXJhJywnTW9kaWZpY8SDIHJlcHJlemVudGFyZScsJ01vZGlmaWPEgyB0YWJlbHVsJywnw45uc2NyaWVyZSBub3XEgycsJ1VsdGltYSBwYWdpbsSDJywnRWRpdGVhesSDJyxhcnJheSgnJWQgb2N0ZXQnLCclZCBvY3RlyJtpJyksJ1NlbGVjdGVhesSDJywnRnVuY8ibaWknLCdBZ3JlZ2FyZScsJ0PEg3V0YXJlJywnb3JpdW5kZScsJ1NvcnRhcmUnLCdkZXNjcmVzY8SDdG9yJywnTGltaXQnLCdMdW5naW1lYSB0ZXh0dWx1aScsJ0FjyJtpdW5lJywnU1FMIHF1ZXJ5JywnZGVzY2hpZGUnLCdzYWx2ZWF6xIMnLCdNb2RpZmljxIMgYmF6YSBkZSBkYXRlJywnTW9kaWZpY8SDIHNjaGVtYScsJ0NyZWF6xIMgbyBzY2hlbcSDJywnU2NoZW1hIGJhemVpIGRlIGRhdGUnLCdQcml2ZWxlZ2lpJywnRHVtcCcsJ0XImWlyZScsJ2JhemEgZGUgZGF0ZScsJ3NjaGVtYScsJ0NyZWF6xIMgdGFiZWwgbm91Jywnc2VsZWN0ZWF6xIMnLCdsdHInLCdSZXRyaW1pdGUgZGF0ZWxlIFBPU1Q/JywnQ1NSRiB0b2tlbiBpbXBvc2liaWwuIFJldHJpbWl0ZSBmb3JtYS4nLCdByJtpIGXImWl0IGN1IHN1Y2Nlcy4nLCdTZXNpdW5pbGUgdHJlYnVpZSBzxIMgZmllIHBvcm5pdGUuJywnVGltcHVsIHNlc2l1bmlpIGEgZXhwaXJhdCwgcm9nIHPEgyB0ZSBsb2doZXppIGRpbiBub3UuJywnTnVtZWxlIGRlIHV0aWxpemF0b3Igc2F1IHBhcm9sYSBlc3RlIGdyZciZaXTEgy4nLCdOdSBlc3RlIGV4dGVuc2llJywnTnUgZXN0ZSBhdmlhYmlsxIMgbmljaSBvIGV4dGVuc2llIHN1cG9ydGF0xIMgKCVzKS4nLCdNZXNhanVsIFBPU1QgZXN0ZSBwcmVhIG1hcmUuIFRyaW1pdGXIm2kgbWFpIHB1yJtpbmUgZGF0ZSBzYXUgbcSDcmnIm2kgcGFyYW1ldHJ1bCBjb25maWd1cmHIm2llaSBkaXJlY3RpdmVpICVzLicsJ0JhemEgZGUgZGF0ZScsJ0JhesSDIGRlIGRlYXRlIGludmFsaWTEgy4nLCdCYXplIGRlIGRhdGUgYXUgZm9zdCDImXRlcnNlLicsJ0FsZWdlIGJhemEgZGUgZGF0ZScsJ0NyZWF6xIMgbyBiYXrEgyBkZSBkYXRlIG5vdcSDJywnTGlzdGEgcHJvY2VzZWxvcicsJ1ZhcmlhYmlsZScsJ1N0YXJlJywnVmVyc2l1bmVhICVzOiAlcyBjdSBleHRlbnNpYSBQSFAgJXMnLCdByJtpIGludHJhdCBjYTogJXMnLCdDb2xhyJtpb25hcmUnLCdUYWJlbGUnLCfImHRlcmdlJywnw45tcHJvc3DEg3RlYXrEgycsJ1NjaGVtYScsJ1NjaGVtxIMgaW5jb3JlY3TEgy4nLCdOdSBzdW50IMOubnNjcmllcmkuJywnJS4zZiBzJywnQ2hlaXVyaSBleHRlcm5lJywnY29sYcibaW9uYXJlYScsJ0xhIMiZdGVyZ2VyZScsJ0RlbnVtaXJlYSBjb2xvYW5laScsJ051bWVsZSBwYXJhbWV0cnVsdWknLCdUaXAnLCdMdW5naW1lJywnQWPIm2l1bmUnLCdDcmXImXRlcmVhIGF1dG9tYXTEgycsJ1ZhbG9hcmVhIGluacibaWFsxIMnLCdDb21lbnRhcml1JywnQWRhdWfEgyDDrm5jxIMnLCdNaciZY8SDIMOubiBzdXMnLCdNaciZY8SDIMOubiBqb3MnLCfImHRlcmdlJywnUmVwcmV6ZW50YXJlJywnVGFiZWwnLCdDb2xvYW7EgycsJ0luZGV4ZScsJ01vZGlmaWPEgyBpbmRleGUnLCdTdXJzxIMnLCdTY29wJywnTGEgbW9kaWZpY2FyZScsJ01vZGlmaWPEgycsJ0FkYXVnxIMgY2hlaSBleHRlcm4nLCdUcmlnZ2VyZScsJ0FkYXVnxIMgdHJpZ2dlcicsJ0FkcmVzxIMgcGVybWFuZW50xIMnLCdFeHBvcnQnLCdEYXRlIGRlIGXImWlyZScsJ0Zvcm1hdCcsJ1Byb2NlZHVyaSDImWkgZnVuY8ibaWkgc2FsdmF0ZScsJ0V2ZW5pbWVudGUnLCdEYXRlJywnQ3JlYXrEgyB1dGlsaXphdG9yJywnRXJvYXJlIMOubiBxdWVyeScsYXJyYXkoJyVkIMOubnNjcmllcmUnLCclZCDDrm5zY3JpZXJpJyksYXJyYXkoJ1F1ZXJ5IGV4ZWN1dGF0LCAlZCDDrm5zY3JpZXJlIG1vZGlmaWNhdMSDLicsJ1F1ZXJ5IGV4ZWN1dGF0LCAlZCDDrm5zY3JpZXJpIG1vZGlmaWNhdGUuJyksJ051IHN1bnQgY29tZW56aSBkZSBleGVjdXRhdC4nLGFycmF5KCclZCBxdWVyeSBleGVjdXRhdC4nLCclZCBxdWVyeS11cmkgZXhlY3V0YXRlIGN1IHN1Y2Nlcy4nKSwnw45uY2FyY8SDIGZpyJlpZXJ1bCcsJ8OObmPEg3JjYXJlYSBmaciZaWVyZWxvciBlc3RlIGludGVyemlzxIMuJywnRXhlY3V0xIMnLCdPcHJlyJl0ZXRlIGxhIGVyb2FyZScsJ0FyYXTEgyBkb2FyIGdyZciZZWxpJywnRGUgcGUgc2VydmVyJywnRmnImWllcnVsICVzIHBlIHNlcnZlcicsJ0V4ZWN1dMSDIGZpyJlpZXInLCdJc3RvcmlhJywnQ3VyxIPIm3AnLCdFZGl0ZWF6xIMgdG90Jywnw45ucmVnaXN0cmFyZSBhIGZvc3QgyJl0ZWFyc8SDLicsJ8OObnJlZ2lzdHJhcmUgYSBmb3N0IMOubm5vaXTEgy4nLCfDjm5yZWdpc3RyYXJlYSVzIGEgZm9zdCBpbnNlcmF0xIMuJywnSW5zZXJlYXrEgycsJ1NhbHZlYXrEgycsJ1NhbHZlYXrEgyDImWkgY29udGludcSDIGVkaXRhcmVhJywnU2FsdmVhesSDIMiZaSBtYWkgaW5zZXJlYXrEgycsJ8iYdGVyZ2UnLCdUYWJlbHVsIGEgZm9zdCDImXRlcnMuJywnVGFiZWx1bCBhIGZvc3QgbW9kaWZpY2F0LicsJ1RhYmVsdWwgYSBmb3N0IGNyZWF0LicsJ0NyZWF6xIMgdGFiZWwnLCdOdW3Eg3J1bCBtYXhpbSBkZSDDrm5zY3JpZXJpIGRpc3BvbmliaWxlIGEgZm9zdCBhdGlucy4gTWFqb3JhyJtpICVzIMiZaSAlcy4nLCdEZW51bWlyZWEgdGFiZWx1bHVpJywndGlwJywnw45tcGFydGUnLCdTZWPIm2l1bmknLCdEZW51bWlyZWEgc2VjyJtpdW5paScsJ1BhcmFtZXRydScsJ0luZGV4ZWxlIGF1IGZvc3QgbW9kaWZpY2F0ZS4nLCdUaXB1bCBpbmRleHVsdWknLCdDb2xvYW7EgyAobHVuZ2ltZWEpJywnVGl0bHUnLCdCYXphIGRlIGRhdGUgYSBmb3N0IMiZdGVhcnPEgy4nLCdCYXphIGRlIGRhdGUgYSBmb3N0IHJlZGVudW1pdMSDLicsJ0JhemEgZGUgZGF0ZSBhIGZvc3QgY3JlYXTEgy4nLCdCYXphIGRlIGRhdGUgYSBmb3N0IG1vZGlmaWNhdMSDLicsJ0NyZWF6xIMgYmF6YSBkZSBkYXRlJywnU2NoZW1hIGEgZm9zdCDImXRlYXJzxIMuJywnU2NoZW1hIGEgZm9zdCBjcmVhdMSDLicsJ1NjaGVtYSBhIGZvc3QgbW9kaWZpY2F0xIMuJywnQXBlbGVhesSDJyxhcnJheSgnQSBmb3N0IGV4ZWN1dGF0xIMgcHJvY2VkdXLEgywgJWQgw65uc2NyaWVyZSBhIGZvc3QgbW9kaWZpY2F0xIMuJywnQSBmb3N0IGV4ZWN1dGF0xIMgcHJvY2VkdXLEgywgJWQgw65uc2NyaWVyaSBhdSBmb3N0IG1vZGlmaWNhdGUuJyksJ0NoZWkgZXh0ZXJuIGEgZm9zdCDImXRlcnMuJywnQ2hlaSBleHRlcm4gYSBmb3N0IG1vZGlmaWNhdC4nLCdDaGVpIGV4dGVybiBhIGZvc3QgY3JlYXQuJywnQ29sb2FuZWxlIGFyIHRyZWJ1aSBzxIMgYWlixIMgYWNlbGVhxZ9pIHRpcHVyaSBkZSBkYXRlLCB0cmVidWllIHPEgyBleGlzdGUgZGF0ZSBkZSByZWZlcmluxaPEgyDImWkgdW4gaW5kZXggcGUgY29sb2FuZWxhLcWjaW50xIMuJywnQ2hlaSBleHRlcm4nLCdUYWJlbGEgc2NvcCcsJ01vZGlmaWPEgycsJ0FkYXVnxIMgY29sb2FuxIMnLCdSZXByZXplbnRhcmVhIGEgZm9zdCDImXRlYXJzxIMuJywnUmVwcmV6ZW50YXJlYSBhIGZvc3QgbW9kaWZpY2F0xIMuJywnUmVwcmV6ZW50YXJlYSBhIGZvc3QgY3JlYXTEgy4nLCdDcmVhesSDIHJlcHJlemVudGFyZScsJ0V2ZW5pbWVudHVsIGEgZm9zdCDImXRlcnMuJywnRXZlbmltZW50dWwgYSBmb3N0IG1vZGlmaWNhdC4nLCdFdmVuaW1lbnR1bCBhIGZvc3QgYWTEg3VnYXQuJywnTW9kaWZpY8SDIGV2ZW5pbWVudCcsJ0NyZWVhesSDIGV2ZW5pbWV0Jywnw45uY2VwdXQnLCdTdsOicsiZaXQnLCdGaWVjYXJlJywnU2FsdmVhesSDIGR1cMSDIGZpbmlzYXJlJywnUHJvY2VkdXJhIGEgZm9zdCDImXRlYXJzxIMuJywnUHJvY2VkdXJhIGEgZm9zdCBtb2RpZmljYXTEgy4nLCdQcm9jZWR1cmEgYSBmb3N0IGNyZWF0xIMuJywnTW9kaWZpY8SDIGZ1bmPIm2lhJywnTW9kaWZpY8SDIHByb2NlZHVyYScsJ0NyZWF6xIMgZnVuY8ibaWUnLCdDcmVhesSDIHByb2NlZHVyxIMnLCdUaXB1bCByZXR1cm7Eg3JpaScsJ8Krc2VjdmVuyJthwrsgYSBmb3N0IMiZdGVhcnPEgy4nLCfCq3NlY3ZlbsibYcK7IGEgZm9zdCBjcmVhdMSDLicsJ8Krc2VjdmVuyJthwrsgYSBmb3N0IG1vZGlmaWNhdMSDLicsJ01vZGlmaWPEgyDCq3NlY3ZlbsibxIPCuycsJ0NyZWF6xIMgwqtzZWN2ZW7Im8SDwrsnLCdUaWlwdWwgYSBmb3N0IMiZdGVycy4nLCdDcmVhesSDIHRpcCBub3UuJywnTW9kaWZpY8SDIHRpcCcsJ0NyZWF6xIMgdGlwIG5vaScsJ1RyaWdnZXJ1bCBhIGZvc3QgyJl0ZXJzLicsJ1RyaWdnZXJ1bCBhIGZvc3QgbW9kaWZpY2F0LicsJ1RyaWdnZXJ1bCBhIGZvc3QgY3JlYXQuJywnTW9kaWZpY8SDIHRyaWdnZXInLCdDcmVhesSDIHRyaWdnZXInLCdUaW1wJywnRXZlbmltZW50JywnVXRpbGl6YXRvcnVsIGEgZm9zdCDImXRlcnMuJywnVXRpbGl6YXRvcnVsIGEgZm9zdCBtb2RpZmljYXQuJywnVXRpbGl6YXRvcnVsIGEgZm9zdCBjcmVhdC4nLCdIYXNoZWQnLCdQcm9jZWR1csSDJywnUGVybWl0ZScsJ0ludGVyemljZScsYXJyYXkoJ0EgZm9zdCBmaW5pc2F0ICVkIHByb2Nlcy4nLCdBdSBmb3N0IGZpbmlzYXRlICVkIHByb2Nlc2UuJyksJ8OObiB0b3RhbCAlZCcsJ1Rlcm1pbsSDJyxhcnJheSgnQSBmb3N0IG1vZGlmaWNhdMSDICVkIMOubnNjcmllcmUuJywnQXUgZm9zdCBtb2RpZmljYXRlICVkIMOubnNjcmllcmkuJyksJ0R1Ymx1IGNsaWNrIHBlIG8gdmFsb2FyZSBwZW50cnUgYSBvIG1vZGlmaWNhLicsYXJyYXkoJyVkIHLDrm5kIGltcG9ydGF0LicsJyVkIHLDrm5kdXJpIGltcG9ydGF0ZS4nKSwnTnUgYW0gcHV0dXQgc2VsZWN0YSBkYXRlIGRpbiB0YWJlbCcsJ2VkaXRhcmUnLCdSZWxhyJtpaScsJ1ZhbG9hcmUgcG9hdGUgZmkgbW9kaWZpY2F0xIMgY3UgYWp1dG9ydWwgYnV0b251bHVpIMKrbW9kaWZpY8SDwrsuJywnUGFnaW5hJywndWx0aW1hJywndG90IHJlenVsdGF0dWwnLCdDbG9uZWF6xIMnLCdJbXBvcnTEgycsJywnLCdUYWJlbGVsZSBhdSBmb3N0IGN1csSDyJthdGUuJywnVGFiZWxlbGUgYXUgZm9zdCBtdXRhdGUuJywnVGFiZWxlbGUgYXUgZm9zdCBjb3BpYXRlJywnVGFiZWxlbGUgYXUgZm9zdCDImXRlcnNlLicsJ1RhYmVsZSDImWkgcmVwcmV6ZW50xINyaScsJ0NhdXTEgyDDrm4gdGFiZWxlJywnVGlwJywnQ2FudGl0YXRlYSBkZSBkYXRlJywnQ2FudGl0YXRlYSBkZSBpbmRleGUnLCdTcGHIm2l1IGxpYmVyJywnw45uc2NyaWVyaScsJ0FuYWxpemVhesSDJywnT3B0aW1pemVhesSDJywnQ29udHJvbGVhesSDJywnUmVwYXLEgycsJ0N1csSDyJvEgycsJ011dMSDIMOubiBhbHTEgyBiYXrEgyBkZSBkYXRlJywnTXV0xIMnLCdDb3BpYXrEgycsJ8KrU2VjdmVuyJtlwrsnLCdQcm9ncmFtJywnw45uIHRpbXB1bCBjdXJlbnQnLCdISDpNTTpTUycpO2JyZWFrO2Nhc2UicnUiOiRSPWFycmF5KCfQktGLINGD0LLQtdGA0LXQvdGLPycsJ9Cd0LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNCz0YDRg9C30LjRgtGMINGE0LDQudC7INC90LAg0YHQtdGA0LLQtdGALicsJ9Cc0LDQutGB0LjQvNCw0LvRjNC90YvQuSDRgNCw0LfRgNC10YjQtdC90L3Ri9C5INGA0LDQt9C80LXRgCDRhNCw0LnQu9CwIC0gJXNCLicsJ9Ci0LDQutC+0LPQviDRhNCw0LnQu9CwINC90LUg0YHRg9GJ0LXRgdGC0LLRg9C10YIuJywn0L/Rg9GB0YLQvicsJ9C40YHRhdC+0LTQvdGL0LknLCfQkiDQsdCw0LfQtSDQtNCw0L3QvdGL0YUg0L3QtdGCINGC0LDQsdC70LjRhi4nLCfQr9C30YvQuicsJ9CS0YvQsdGA0LDRgtGMJywn0JjRgdC/0L7Qu9GM0LfRg9C50YLQtSDQvtC00L3QviDQuNC3INGN0YLQuNGFINGA0LDRgdGI0LjRgNC10L3QuNC5ICVzLicsJ9Ck0LDQudC7INGD0LbQtSDRgdGD0YnQtdGB0YLQstGD0LXRgi4nLCfQotC40L/RiyDQv9C+0LvRjNC30L7QstCw0YLQtdC70LXQuScsJ9Cn0LjRgdC70L4nLCfQlNCw0YLQsCDQuCDQstGA0LXQvNGPJywn0KHRgtGA0L7QutC4Jywn0JTQstC+0LjRh9C90YvQuSDRgtC40L8nLCfQodC10YLRjCcsJ9CT0LXQvtC80LXRgtGA0LjRjycsJ9Ch0L/QuNGB0LrQuCcsJ9CU0LLQuNC20L7QuicsJ9Ch0LXRgNCy0LXRgCcsJ9CY0LzRjyDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8nLCfQn9Cw0YDQvtC70YwnLCfQktC+0LnRgtC4Jywn0J7RgdGC0LDQstCw0YLRjNGB0Y8g0LIg0YHQuNGB0YLQtdC80LUnLCfQktGL0LHRgNCw0YLRjCcsJ9Cf0L7QutCw0LfQsNGC0Ywg0YHRgtGA0YPQutGC0YPRgNGDJywn0JjQt9C80LXQvdC40YLRjCDQv9GA0LXQtNGB0YLQsNCy0LvQtdC90LjQtScsJ9CY0LfQvNC10L3QuNGC0Ywg0YLQsNCx0LvQuNGG0YMnLCfQndC+0LLQsNGPINC30LDQv9C40YHRjCcsJ9Cf0L7RgdC70LXQtNC90Y/RjyDRgdGC0YDQsNC90LjRhtCwJywn0KDQtdC00LDQutGC0LjRgNC+0LLQsNGC0YwnLGFycmF5KCclZCDQsdCw0LnRgicsJyVkINCx0LDQudGC0LAnLCclZCDQsdCw0LnRgtC+0LInKSwn0JLRi9Cx0YDQsNGC0YwnLCfQpNGD0L3QutGG0LjQuCcsJ9CQ0LPRgNC10LPQsNGG0LjRjycsJ9Cf0L7QuNGB0LonLCfQsiDQu9GO0LHQvtC8INC80LXRgdGC0LUnLCfQodC+0YDRgtC40YDQvtCy0LDRgtGMJywn0L/QviDRg9Cx0YvQstCw0L3QuNGOJywn0JvQuNC80LjRgicsJ9CU0LvQuNC90LAg0YLQtdC60YHRgtCwJywn0JTQtdC50YHRgtCy0LjQtScsJ1NRTCDQt9Cw0L/RgNC+0YEnLCfQvtGC0LrRgNGL0YLRjCcsJ9GB0L7RhdGA0LDQvdC40YLRjCcsJ9CY0LfQvNC10L3QuNGC0Ywg0LHQsNC30YMg0LTQsNC90L3Ri9GFJywn0JjQt9C80LXQvdC40YLRjCDRgdGF0LXQvNGDJywn0J3QvtCy0LDRjyDRgdGF0LXQvNCwJywn0KHRhdC10LzQsCDQsdCw0LfRiyDQtNCw0L3QvdGL0YUnLCfQn9C+0LvQvdC+0LzQvtGH0LjRjycsJ9CU0LDQvNC/Jywn0JLRi9C50YLQuCcsJ9Cx0LDQt9CwINC00LDQvdC90YvRhScsJ9GB0YXQtdC80LAnLCfQodC+0LfQtNCw0YLRjCDQvdC+0LLRg9GOINGC0LDQsdC70LjRhtGDJywn0LLRi9Cx0YDQsNGC0YwnLCdsdHInLCfQldGJ0LUg0YDQsNC3INC/0L7RgdC70LDRgtGMINC00LDQvdC90YvQtSBQT1NUINC30LDQv9GA0L7RgdCwPycsJ9Cd0LXQtNC10LnRgdGC0LLQuNGC0LXQu9GM0L3Ri9C5IENTUkYg0YLQvtC60LXQvS4g0J7RgtC/0YDQsNCy0LjRgtC1INGE0L7RgNC80YMg0LXRidGRINGA0LDQty4nLCfQktGLINGD0YHQv9C10YjQvdC+INC/0L7QutC40L3Rg9C70Lgg0YHQuNGB0YLQtdC80YMuJywn0KHQtdGB0YHQuNC4INC00L7Qu9C20L3RiyDQsdGL0YLRjCDQstC60LvRjtGH0LXQvdGLLicsJ9Ch0YDQvtC6INC00LXQudGB0YLQstC40Y8g0YHQtdGB0YHQuCDQuNGB0YLQtdC6LCDQvdGD0LbQvdC+INGB0L3QvtCy0LAg0LLQvtC50YLQuCDQsiDRgdC40YHRgtC10LzRgy4nLCfQndC10L/RgNCw0LLQuNC70YzQvdC+0LUg0LjQvNGPINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyDQuNC70Lgg0L/QsNGA0L7Qu9GMLicsJ9Cd0LXRgiDRgNCw0YHRiNC40YDQtdC90LjQuScsJ9Cd0LUg0LTQvtGB0YLRg9C/0L3QviDQvdC4INC+0LTQvdC+0LPQviDRgNCw0YHRiNC40YDQtdC90LjRjyDQuNC3INC/0L7QtNC00LXRgNC20LjQstCw0LXQvNGL0YUgKCVzKS4nLCfQodC70LjRiNC60L7QvCDQsdC+0LvRjNGI0L7QuSDQvtCx0YrQtdC8IFBPU1Qt0LTQsNC90L3Ri9GFLiDQn9C+0YjQu9C40YLQtSDQvNC10L3RjNGI0LjQuSDQvtCx0YrQtdC8INC00LDQvdC90YvRhSDQuNC70Lgg0YPQstC10LvQuNGH0YzRgtC1INC/0LDRgNCw0LzQtdGC0YAg0LrQvtC90YTQuNCz0YPRgNCw0YbQuNC+0L3QvdC+0Lkg0LTQuNGA0LXQutGC0LjQstGLICVzLicsJ9CR0LDQt9CwINC00LDQvdC90YvRhScsJ9Cf0LvQvtGF0LDRjyDQsdCw0LfQsCDQtNCw0L3QvdGL0YUuJywn0JHQsNC30Ysg0LTQsNC90L3Ri9GFINGD0LTQsNC70LXQvdGLLicsJ9CS0YvQsdGA0LDRgtGMINCx0LDQt9GDINC00LDQvdC90YvRhScsJ9Ch0L7Qt9C00LDRgtGMINC90L7QstGD0Y4g0LHQsNC30YMg0LTQsNC90L3Ri9GFJywn0KHQv9C40YHQvtC6INC/0YDQvtGG0LXRgdGB0L7QsicsJ9Cf0LXRgNC10LzQtdC90L3Ri9C1Jywn0KHQvtGB0YLQvtGP0L3QuNC1Jywn0JLQtdGA0YHQuNGPICVzOiAlcyDRgSBQSFAt0YDQsNGB0YjQuNGA0LXQvdC40LXQvCAlcycsJ9CS0Ysg0LLQvtGI0LvQuCDQutCw0Lo6ICVzJywn0KDQtdC20LjQvCDRgdC+0L/QvtGB0YLQsNCy0LvQtdC90LjRjycsJ9Ci0LDQsdC70LjRhtGLJywn0KPQtNCw0LvQuNGC0YwnLCfQntCx0L3QvtCy0LjRgtGMJywn0KHRhdC10LzQsCcsJ9Cd0LXQv9GA0LDQstC40LvRjNC90LDRjyDRgdGF0LXQvNCwLicsJ9Cd0LXRgiDQt9Cw0L/QuNGB0LXQuS4nLCclLjNmIHMnLCfQktC90LXRiNC90LjQtSDQutC70Y7Rh9C4Jywn0YDQtdC20LjQvCDRgdC+0L/QvtGB0YLQsNCy0LvQtdC90LjRjycsJ9Cf0YDQuCDRgdGC0LjRgNCw0L3QuNC4Jywn0J3QsNC30LLQsNC90LjQtSDQv9C+0LvRjycsJ9Cd0LDQt9Cy0LDQvdC40LUg0L/QsNGA0LDQvNC10YLRgNCwJywn0KLQuNC/Jywn0JTQu9C40L3QsCcsJ9CU0LXQudGB0YLQstC40LUnLCfQkNCy0YLQvtC80LDRgtC40YfQtdGB0LrQvtC1INC/0YDQuNGA0LDRidC10L3QuNC1Jywn0JfQvdCw0YfQtdC90LjRjyDQv9C+INGD0LzQvtC70YfQsNC90LjRjicsJ9Ca0L7QvNC80LXQvdGC0LDRgNC40LknLCfQlNC+0LHQsNCy0LjRgtGMINC10YnQtScsJ9Cf0LXRgNC10LzQtdGB0YLQuNGC0Ywg0LLQstC10YDRhScsJ9Cf0LXRgNC10LzQtdGB0YLQuNGC0Ywg0LLQvdC40LcnLCfQo9C00LDQu9C40YLRjCcsJ9Cf0YDQtdC00YHRgtCw0LLQu9C10L3QuNC1Jywn0KLQsNCx0LvQuNGG0LAnLCfQmtC+0LvQvtC90LrQsCcsJ9CY0L3QtNC10LrRgdGLJywn0JjQt9C80LXQvdC40YLRjCDQuNC90LTQtdC60YHRiycsJ9CY0YHRgtC+0YfQvdC40LonLCfQptC10LvRjCcsJ9Cf0YDQuCDQvtCx0L3QvtCy0LvQtdC90LjQuCcsJ9CY0LfQvNC10L3QuNGC0YwnLCfQlNC+0LHQsNCy0LjRgtGMINCy0L3QtdGI0L3QuNC5INC60LvRjtGHJywn0KLRgNC40LPQs9C10YDRiycsJ9CU0L7QsdCw0LLQuNGC0Ywg0YLRgNC40LPQs9C10YAnLCfQn9C+0YHRgtC+0Y/QvdC90LDRjyDRgdGB0YvQu9C60LAnLCfQrdC60YHQv9C+0YDRgicsJ9CS0YvRhdC+0LTQvdGL0LUg0LTQsNC90L3Ri9C1Jywn0KTQvtGA0LzQsNGCJywn0KXRgNCw0L3QuNC80YvQtSDQv9GA0L7RhtC10LTRg9GA0Ysg0Lgg0YTRg9C90LrRhtC40LgnLCfQodC+0LHRi9GC0LjRjycsJ9CU0LDQvdC90YvQtScsJ9Ch0L7Qt9C00LDRgtGMINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjycsJ9Ce0YjQuNCx0LrQsCDQsiDQt9Cw0L/RgNC+0YFlJyxhcnJheSgnJWQg0YHRgtGA0L7QutCwJywnJWQg0YHRgtGA0L7QutC4JywnJWQg0YHRgtGA0L7QuicpLGFycmF5KCfQl9Cw0L/RgNC+0YEg0LfQsNCy0LXRgNGI0LXQvSwg0LjQt9C80LXQvdC10L3QsCAlZCDQt9Cw0L/QuNGB0YwuJywn0JfQsNC/0YDQvtGBINC30LDQstC10YDRiNC10L0sINC40LfQvNC10L3QtdC90YsgJWQg0LfQsNC/0LjRgdC4LicsJ9CX0LDQv9GA0L7RgSDQt9Cw0LLQtdGA0YjQtdC9LCDQuNC30LzQtdC90LXQvdC+ICVkINC30LDQv9C40YHQtdC5LicpLCfQndC10YIg0LrQvtC80LDQvdC0INC00LvRjyDQstGL0L/QvtC70L3QtdC90LjRjy4nLGFycmF5KCclZCDQt9Cw0L/RgNC+0YEg0LLRi9C/0L7Qu9C90LXQvSDRg9GB0L/QtdGI0L3Qvi4nLCclZCDQt9Cw0L/RgNC+0YHQsCDQstGL0L/QvtC70L3QtdC90L4g0YPRgdC/0LXRiNC90L4uJywnJWQg0LfQsNC/0YDQvtGB0L7QsiDQstGL0L/QvtC70L3QtdC90L4g0YPRgdC/0LXRiNC90L4uJyksJ9CX0LDQs9GA0YPQt9C40YLRjCDRhNCw0LnQuyDQvdCwINGB0LXRgNCy0LXRgCcsJ9CX0LDQs9GA0YPQt9C60LAg0YTQsNC50LvQvtCyINC90LAg0YHQtdGA0LLQtdGAINC30LDQv9GA0LXRidC10L3QsC4nLCfQktGL0L/QvtC70L3QuNGC0YwnLCfQntGB0YLQsNC90L7QstC40YLRjCDQv9GA0Lgg0L7RiNC40LHQutC1Jywn0KLQvtC70YzQutC+INC+0YjQuNCx0LrQuCcsJ9ChINGB0LXRgNCy0LXRgNCwJywn0KTQsNC50LsgJXMg0L3QsCDQstC10LHRgdC10YDQstC10YDQtScsJ9CX0LDQv9GD0YHRgtC40YLRjCDRhNCw0LnQuycsJ9CY0YHRgtC+0YDQuNGPJywn0J7Rh9C40YHRgtC40YLRjCcsJ9Cg0LXQtNCw0LrRgtC40YDQvtCy0LDRgtGMINCy0YHRkScsJ9CX0LDQv9C40YHRjCDRg9C00LDQu9C10L3QsC4nLCfQl9Cw0L/QuNGB0Ywg0L7QsdC90L7QstC70LXQvdCwLicsJ9CX0LDQv9C40YHRjCVzINCx0YvQu9CwINCy0YHRgtCw0LLQu9C10L3QsC4nLCfQktGB0YLQsNCy0LjRgtGMJywn0KHQvtGF0YDQsNC90LjRgtGMJywn0KHQvtGF0YDQsNC90LjRgtGMINC4INC/0YDQvtC00L7Qu9C20LjRgtGMINGA0LXQtNCw0LrRgtC40YDQvtCy0LDQvdC40LUnLCfQodC+0YXRgNCw0L3QuNGC0Ywg0Lgg0LLRgdGC0LDQstC40YLRjCDQtdGJ0LUnLCfQodGC0LXRgNC10YLRjCcsJ9Ci0LDQsdC70LjRhtCwINCx0YvQu9CwINGD0LTQsNC70LXQvdCwLicsJ9Ci0LDQsdC70LjRhtCwINCx0YvQu9CwINC40LfQvNC10L3QtdC90LAuJywn0KLQsNCx0LvQuNGG0LAg0LHRi9C70LAg0YHQvtC30LTQsNC90LAuJywn0KHQvtC30LTQsNGC0Ywg0YLQsNCx0LvQuNGG0YMnLCfQlNC+0YHRgtC40LPQvdGD0YLQviDQvNCw0LrRgdC40LzQsNC70YzQvdC+0LUg0LfQvdCw0YfQtdC90LjQtSDQutC+0LvQuNGH0LXRgdGC0LLQsCDQtNC+0YHRgtGD0L/QvdGL0YUg0L/QvtC70LXQuS4g0KPQstC10LvQuNGH0YzRgtC1ICVzINC4ICVzLicsJ9Cd0LDQt9Cy0LDQvdC40LUg0YLQsNCx0LvQuNGG0YsnLCfRgtC40L8nLCfQoNCw0LfQtNC10LvQuNGC0Ywg0L/QvicsJ9Cg0LDQt9C00LXQu9GLJywn0J3QsNC30LLQsNC90LjQtSDRgNCw0LfQtNC10LvQsCcsJ9Cf0LDRgNCw0LzQtdGC0YDRiycsJ9CY0L3QtNC10LrRgdGLINC40LfQvNC10L3QtdC90YsuJywn0KLQuNC/INC40L3QtNC10LrRgdCwJywn0JrQvtC70L7QvdC60LAgKNC00LvQuNC90LApJywn0J3QsNC30LLQsNC90LjQtScsJ9CR0LDQt9CwINC00LDQvdC90YvRhSDQsdGL0LvQsCDRg9C00LDQu9C10L3QsC4nLCfQkdCw0LfQsCDQtNCw0L3QvdGL0YUg0LHRi9C70LAg0L/QtdGA0LXQuNC80LXQvdC+0LLQsNC90LAuJywn0JHQsNC30LAg0LTQsNC90L3Ri9GFINCx0YvQu9CwINGB0L7Qt9C00LDQvdCwLicsJ9CR0LDQt9CwINC00LDQvdC90YvRhSDQsdGL0LvQsCDQuNC30LzQtdC90LXQvdCwLicsJ9Ch0L7Qt9C00LDRgtGMINCx0LDQt9GDINC00LDQvdC90YvRhScsJ9Ch0YXQtdC80LAg0YPQtNCw0LvQtdC90LAuJywn0KHQvtC30LTQsNC90LAg0L3QvtCy0LDRjyDRgdGF0LXQvNCwLicsJ9Ch0YXQtdC80LAg0LjQt9C80LXQvdC10L3QsC4nLCfQktGL0LfQstCw0YLRjCcsYXJyYXkoJ9CR0YvQu9CwINCy0YvQt9Cy0LDQvdCwINC/0YDQvtGG0LXQtNGD0YDQsCwgJWQg0LfQsNC/0LjRgdGMINCx0YvQu9CwINC40LfQvNC10L3QtdC90LAuJywn0JHRi9C70LAg0LLRi9C30LLQsNC90LAg0L/RgNC+0YbQtdC00YPRgNCwLCAlZCDQt9Cw0L/QuNGB0Lgg0LHRi9C70L4g0LjQt9C80LXQvdC10L3Qvi4nLCfQkdGL0LvQsCDQstGL0LfQstCw0L3QsCDQv9GA0L7RhtC10LTRg9GA0LAsICVkINC30LDQv9C40YHQtdC5INCx0YvQu9C+INC40LfQvNC10L3QtdC90L4uJyksJ9CS0L3QtdGI0L3QuNC5INC60LvRjtGHINCx0YvQuyDRg9C00LDQu9C10L0uJywn0JLQvdC10YjQvdC40Lkg0LrQu9GO0Ycg0LHRi9C7INC40LfQvNC10L3QtdC9LicsJ9CS0L3QtdGI0L3QuNC5INC60LvRjtGHINCx0YvQuyDRgdC+0LfQtNCw0L0uJywn0JrQvtC70L7QvdC60Lgg0LTQvtC70LbQvdGLINC40LzQtdGC0Ywg0L7QtNC40L3QsNC60L7QstGL0LUg0YLQuNC/0Ysg0LTQsNC90L3Ri9GFLCDQsiDRgNC10LfRg9C70YzRgtC40YDRg9GO0YnQtdC5INC60L7Qu9C+0L3QutC1INC00L7Qu9C20LXQvSDQsdGL0YLRjCDQuNC90LTQtdC60YEsINC00LDQvdC90YvQtSDQtNC70Y8g0LjQvNC/0L7RgNGC0LAg0LTQvtC70LbQvdGLINGB0YPRidC10YHRgtCy0L7QstCw0YLRjC4nLCfQktC90LXRiNC90LjQuSDQutC70Y7RhycsJ9Cg0LXQt9GD0LvRjNGC0LjRgNGD0Y7RidCw0Y8g0YLQsNCx0LvQuNGG0LAnLCfQmNC30LzQtdC90LjRgtGMJywn0JTQvtCx0LDQstC40YLRjCDQutC+0LvQvtC90LrRgycsJ9Cf0YDQtdC00YHRgtCw0LLQu9C10L3QuNC1INCx0YvQu9C+INGD0LTQsNC70LXQvdC+LicsJ9Cf0YDQtdC00YHRgtCw0LLQu9C10L3QuNC1INCx0YvQu9C+INC40LfQvNC10L3QtdC90L4uJywn0J/RgNC10LTRgdGC0LDQstC70LXQvdC40LUg0LHRi9C70L4g0YHQvtC30LTQsNC90L4uJywn0KHQvtC30LTQsNGC0Ywg0L/RgNC10LTRgdGC0LDQstC70LXQvdC40LUnLCfQodC+0LHRi9GC0LjQtSDQsdGL0LvQviDRg9C00LDQu9C10L3Qvi4nLCfQodC+0LHRi9GC0LjQtSDQsdGL0LvQviDQuNC30LzQtdC90LXQvdC+LicsJ9Ch0L7QsdGL0YLQuNC1INCx0YvQu9C+INGB0L7Qt9C00LDQvdC+LicsJ9CY0LfQvNC10L3QuNGC0Ywg0YHQvtCx0YvRgtC40LUnLCfQodC+0LfQtNCw0YLRjCDRgdC+0LHRi9GC0LjQtScsJ9Cd0LDRh9Cw0LvQvicsJ9Ca0L7QvdC10YYnLCfQmtCw0LbQtNGL0LUnLCfQn9C+0YHQu9C1INC30LDQstC10YDRiNC10L3QuNGPINGB0L7RhdGA0LDQvdC40YLRjCcsJ9Cf0YDQvtGG0LXQtNGD0YDQsCDQsdGL0LvQsCDRg9C00LDQu9C10L3QsC4nLCfQn9GA0L7RhtC10LTRg9GA0LAg0LHRi9C70LAg0LjQt9C80LXQvdC10L3QsC4nLCfQn9GA0L7RhtC10LTRg9GA0LAg0LHRi9C70LAg0YHQvtC30LTQsNC90LAuJywn0JjQt9C80LXQvdC40YLRjCDRhNGD0L3QutGG0LjRjicsJ9CY0LfQvNC10L3QuNGC0Ywg0L/RgNC+0YbQtdC00YPRgNGDJywn0KHQvtC30LTQsNGC0Ywg0YTRg9C90LrRhtC40Y4nLCfQodC+0LfQtNCw0YLRjCDQv9GA0L7RhtC10LTRg9GA0YMnLCfQktC+0LfQstGA0LDRidCw0LXQvNGL0Lkg0YLQuNC/JywnwqvQn9C+0YHQu9C10LTQvtCy0LDRgtC10LvRjNC90L7RgdGC0YzCuyDRg9C00LDQu9C10L3QsC4nLCfQodC+0LfQtNCw0L3QsCDQvdC+0LLQsNGPIMKr0L/QvtGB0LvQtdC00L7QstCw0YLQtdC70YzQvdC+0YHRgtGMwrsuJywnwqvQn9C+0YHQu9C10LTQvtCy0LDRgtC10LvRjNC90L7RgdGC0YzCuyDQuNC30LzQtdC90LXQvdCwLicsJ9CY0LfQvNC10L3QuNGC0YwgwqvQv9C+0YHQu9C10LTQvtCy0LDRgtC10LvRjNC90L7RgdGC0YzCuycsJ9Ch0L7Qt9C00LDRgtGMIMKr0L/QvtGB0LvQtdC00L7QstCw0YLQtdC70YzQvdC+0YHRgtGMwrsnLCfQotC40L8g0YPQtNCw0LvQtdC9LicsJ9Ch0L7Qt9C00LDQvSDQvdC+0LLRi9C5INGC0LjQvy4nLCfQmNC30LzQtdC90LjRgtGMINGC0LjQvycsJ9Ch0L7Qt9C00LDRgtGMINGC0LjQvycsJ9Ci0YDQuNCz0LPQtdGAINCx0YvQuyDRg9C00LDQu9C10L0uJywn0KLRgNC40LPQs9C10YAg0LHRi9C7INC40LfQvNC10L3QtdC9LicsJ9Ci0YDQuNCz0LPQtdGAINCx0YvQuyDRgdC+0LfQtNCw0L0uJywn0JjQt9C80LXQvdC40YLRjCDRgtGA0LjQs9Cz0LXRgCcsJ9Ch0L7Qt9C00LDRgtGMINGC0YDQuNCz0LPQtdGAJywn0JLRgNC10LzRjycsJ9Ch0L7QsdGL0YLQuNC1Jywn0J/QvtC70YzQt9C+0LLQsNGC0LXQu9GMINCx0YvQuyDRg9C00LDQu9C10L0uJywn0J/QvtC70YzQt9C+0LLQsNGC0LXQu9GMINCx0YvQuyDQuNC30LzQtdC90LXQvS4nLCfQn9C+0LvRjNC30L7QstCw0YLQtdC70Ywg0LHRi9C7INGB0L7Qt9C00LDQvS4nLCfQpdC10YjQuNGA0L7QstCw0L3QvicsJ9Cf0YDQvtGG0LXQtNGD0YDQsCcsJ9Cf0L7Qt9Cy0L7Qu9C40YLRjCcsJ9CX0LDQv9GA0LXRgtC40YLRjCcsYXJyYXkoJ9CR0YvQuyDQt9Cw0LLQtdGA0YjQtdC9ICVkINC/0YDQvtGG0LXRgdGBLicsJ9CR0YvQu9C+INC30LDQstC10YDRiNC10L3QviAlZCDQv9GA0L7RhtC10YHRgdCwLicsJ9CR0YvQu9C+INC30LDQstC10YDRiNGR0L3QviAlZCDQv9GA0L7RhtC10YHRgdC+0LIuJyksJ9CS0YHQtdCz0L4gJWQnLCfQl9Cw0LLQtdGA0YjQuNGC0YwnLGFycmF5KCfQkdGL0LvQsCDQuNC30LzQtdC90LXQvdCwICVkINC30LDQv9C40YHRjC4nLCfQkdGL0LvQuCDQuNC30LzQtdC90LXQvdGLICVkINC30LDQv9C40YHQuC4nLCfQkdGL0LvQviDQuNC30LzQtdC90LXQvdC+ICVkINC30LDQv9C40YHQtdC5LicpLCfQmtC70LjQutC90Lgg0LTQstCwINGA0LDQt9CwINC/0L4g0LfQvdCw0YfQtdC90LjRjiwg0YfRgtC+0LHRiyDQtdCz0L4g0LjQt9C80LXQvdC40YLRjC4nLGFycmF5KCfQmNC80L/QvtGA0YLQuNGA0L7QstCw0L3QsCAlZCDRgdGC0YDQvtC60LAuJywn0JjQvNC/0L7RgNGC0LjRgNC+0LLQsNC90L4gJWQg0YHRgtGA0L7QutC4LicsJ9CY0LzQv9C+0YDRgtC40YDQvtCy0LDQvdC+ICVkINGB0YLRgNC+0LouJyksJ9Cd0LUg0YPQtNCw0LvQvtGB0Ywg0L/QvtC70YPRh9C40YLRjCDQtNCw0L3QvdGL0LUg0LjQtyDRgtCw0LHQu9C40YbRiycsJ9GA0LXQtNCw0LrRgtC40YDQvtCy0LDRgtGMJywn0KDQtdC70Y/RhtC40LgnLCfQmNC30LzQtdC90LjRgtGMINGN0YLQviDQt9C90LDRh9C10L3QuNC1INC80L7QttC90L4g0YEg0L/QvtC80L7RidGM0Y4g0YHRgdGL0LvQutC4IMKr0LjQt9C80LXQvdC40YLRjMK7LicsJ9Ch0YLRgNCw0L3QuNGG0LAnLCfQv9C+0YHQu9C10LTQvdGP0Y8nLCfQstC10YHRjCDRgNC10LfRg9C70YzRgtCw0YInLCfQmtC70L7QvdC40YDQvtCy0LDRgtGMJywn0JjQvNC/0L7RgNGCJywnICcsJ9Ci0LDQsdC70LjRhtGLINCx0YvQu9C4INC+0YfQuNGJ0LXQvdGLLicsJ9Ci0LDQsdC70LjRhtGLINCx0YvQu9C4INC/0LXRgNC10LzQtdGJ0LXQvdGLLicsJ9Ci0LDQsdC70LjRhtGLINGB0LrQvtC/0LjRgNC+0LLQsNC90YsuJywn0KLQsNCx0LvQuNGG0Ysg0LHRi9C70Lgg0YPQtNCw0LvQtdC90YsuJywn0KLQsNCx0LvQuNGG0Ysg0Lgg0L/RgNC10LTRgdGC0LDQstC70LXQvdC40Y8nLCfQn9C+0LjRgdC6INCyINGC0LDQsdC70LjRhtCw0YUnLCfQotC40L8nLCfQntCx0YrRkdC8INC00LDQvdC90YvRhScsJ9Ce0LHRitGR0Lwg0LjQvdC00LXQutGB0L7QsicsJ9Ch0LLQvtCx0L7QtNC90L7QtSDQvNC10YHRgtC+Jywn0KHRgtGA0L7QuicsJ9CQ0L3QsNC70LjQt9C40YDQvtCy0LDRgtGMJywn0J7Qv9GC0LjQvNC40LfQuNGA0L7QstCw0YLRjCcsJ9Cf0YDQvtCy0LXRgNC40YLRjCcsJ9CY0YHQv9GA0LDQstC40YLRjCcsJ9Ce0YfQuNGB0YLQuNGC0YwnLCfQn9C10YDQtdC80LXRgdGC0LjRgtGMINCyINC00YDRg9Cz0L7RjiDQsdCw0LfRgyDQtNCw0L3QvdGL0YUnLCfQn9C10YDQtdC80LXRgdGC0LjRgtGMJywn0JrQvtC/0LjRgNC+0LLQsNGC0YwnLCfCq9Cf0L7RgdC70LXQtNC+0LLQsNGC0LXQu9GM0L3QvtGB0YLQuMK7Jywn0KDQsNGB0L/QuNGB0LDQvdC40LUnLCfQkiDQtNCw0L3QvdC+0LUg0LLRgNC10LzRjycsJ9Cn0Kc60JzQnDrQodChJyk7YnJlYWs7Y2FzZSJ6aCI6JFI9YXJyYXkoJ+S9oOehruWumuWQl++8nycsJ+S4jeiDveS4iuS8oOaWh+S7tuOAgicsJ+acgOWkmuWFgeiuuOeahOaWh+S7tuWkp+Wwj+S4uiAlc0InLCfmlofku7bkuI3lrZjlnKjjgIInLCfnqbonLCfljp/lp4snLCfmsqHmnInooajjgIInLCfor63oqIAnLCfkvb/nlKgnLCfor7fkvb/nlKjov5nkupvmianlsZXkuK3nmoTkuIDkuKrvvJolc+OAgicsJ+aWh+S7tuW3suWtmOWcqOOAgicsJ+eUqOaIt+exu+WeiycsJ+aVsOWtlycsJ+aXpeacn+aXtumXtCcsJ+Wtl+espuS4sicsJ+S6jOi/m+WIticsJ+e9kee7nCcsJ+WHoOS9leWbvuW9oicsJ+WIl+ihqCcsJ+ezu+e7nycsJ+acjeWKoeWZqCcsJ+eUqOaIt+WQjScsJ+WvhueggScsJ+eZu+W9lScsJ+S/neaMgeeZu+W9lScsJ+mAieaLqeaVsOaNricsJ+aYvuekuue7k+aehCcsJ+abtOaUueinhuWbvicsJ+abtOaUueihqCcsJ+aWsOW7uumhuScsJ+acq+mhtScsJ+e8lui+kScsJyVkIOWtl+iKgicsJ+mAieaLqScsJ+WHveaVsCcsJ+mbhuWQiCcsJ+aQnOe0oicsJ+S7u+aEj+S9jee9ricsJ+aOkuW6jycsJ+mZjeW6jycsJ+mZkOWumicsJ+aWh+acrOmVv+W6picsJ+WKqOS9nCcsJ1NRTOWRveS7pCcsJ+aJk+W8gCcsJ+S/neWtmCcsJ+abtOaUueaVsOaNruW6kycsJ+abtOaUueaooeW8jycsJ+WIm+W7uuaooeW8jycsJ+aVsOaNruW6k+amguimgScsJ+adg+mZkCcsJ+WvvOWHuicsJ+azqOmUgCcsJ+aVsOaNruW6kycsJ+aooeW8jycsJ+WIm+W7uuaWsOihqCcsJ+mAieaLqScsJ2x0cicsJ+mHjeaWsOWPkemAgSBQT1NUIOaVsOaNru+8nycsJ+aXoOaViCBDU1JGIOS7pOeJjOOAgumHjeaWsOWPkemAgeihqOWNleOAgicsJ+azqOmUgOaIkOWKn+OAgicsJ+S8muivneW/hemhu+iiq+WQr+eUqOOAgicsJ+S8muivneW3sui/h+acn++8jOivt+mHjeaWsOeZu+W9leOAgicsJ+aXoOaViOWHreaNruOAgicsJ+ayoeacieaJqeWxlScsJ+ayoeacieaUr+aMgeeahCBQSFAg5omp5bGV5Y+v55So77yIJXPvvInjgIInLCflpKrlpKfnmoQgUE9TVCDmlbDmja7jgILlh4/lsJHmlbDmja7miJbogIXlop7liqAgJXMg6YWN572u5ZG95Luk44CCJywn5pWw5o2u5bqTJywn5peg5pWI5pWw5o2u5bqT44CCJywn5bey5Lii5byD5pWw5o2u5bqT44CCJywn6YCJ5oup5pWw5o2u5bqTJywn5Yib5bu65paw5pWw5o2u5bqTJywn6L+b56iL5YiX6KGoJywn5Y+Y6YePJywn54q25oCBJywnJXMg54mI5pys77yaJXMg6YCa6L+HIFBIUCDmianlsZUgJXMnLCfnmbvlvZXkuLrvvJolcycsJ+agoeWvuScsJ+ihqCcsJ+S4ouW8gycsJ+WIt+aWsCcsJ+aooeW8jycsJ+mdnuazleaooeW8j+OAgicsJ+ayoeacieihjOOAgicsJyUuM2Yg56eSJywn5aSW6ZSuJywn5qCh5a+5JywnT04gREVMRVRFJywn5YiX5ZCNJywn5Y+C5pWw5ZCNJywn57G75Z6LJywn6ZW/5bqmJywn6YCJ6aG5Jywn6Ieq5Yqo5aKe6YePJywn6buY6K6k5YC8Jywn5rOo6YeKJywn5re75Yqg5LiL5LiA5LiqJywn5LiK56e7Jywn5LiL56e7Jywn56e76ZmkJywn6KeG5Zu+Jywn6KGoJywn5YiXJywn57Si5byVJywn5pu05pS557Si5byVJywn5rqQJywn55uu5qCHJywnT04gVVBEQVRFJywn5pu05pS5Jywn5re75Yqg5aSW6ZSuJywn6Kem5Y+R5ZmoJywn5Yib5bu66Kem5Y+R5ZmoJywn5Zu65a6a6ZO+5o6lJywn5a+85Ye6Jywn6L6T5Ye6Jywn5qC85byPJywn5a2Q56iL5bqPJywn5LqL5Lu2Jywn5pWw5o2uJywn5Yib5bu655So5oi3Jywn5p+l6K+i5Ye66ZSZJywnJWQg6KGMJywn5omn6KGM5p+l6K+iT0vvvIwlZCDooYzlj5flvbHlk43jgIInLCfmsqHmnInlkb3ku6TmiafooYzjgIInLCclZCDmnaHmn6Xor6Llt7LmiJDlip/miafooYzjgIInLCfmlofku7bkuIrkvKAnLCfmlofku7bkuIrkvKDooqvnpoHnlKjjgIInLCfmiafooYwnLCflh7rplJnml7blgZzmraInLCfku4XmmL7npLrplJnor68nLCfmnaXoh6rmnI3liqHlmagnLCdXZWLmnI3liqHlmajmlofku7YgJXMnLCfov5DooYzmlofku7YnLCfljoblj7InLCfmuIXpmaQnLCfnvJbovpHlhajpg6gnLCflt7LliKDpmaTpobnnm67jgIInLCflt7Lmm7TmlrDpobnnm67jgIInLCflt7Lmj5LlhaXpobnnm64lc+OAgicsJ+aPkuWFpScsJ+S/neWtmCcsJ+S/neWtmOW5tue7p+e7ree8lui+kScsJ+S/neWtmOW5tuaPkuWFpeS4i+S4gOS4qicsJ+WIoOmZpCcsJ+W3suS4ouW8g+ihqOOAgicsJ+W3suabtOaUueihqOOAgicsJ+W3suWIm+W7uuihqOOAgicsJ+WIm+W7uuihqCcsJ+i2hei/h+acgOWkmuWFgeiuuOeahOWtl+auteaVsOmHj+OAguivt+WinuWKoCAlcyDlkowgJXMg44CCJywn6KGo5ZCNJywn5byV5pOOJywn5YiG5Yy657G75Z6LJywn5YiG5Yy6Jywn5YiG5Yy65ZCNJywn5YC8Jywn5bey5pu05pS557Si5byV44CCJywn57Si5byV57G75Z6LJywn5YiX77yI6ZW/5bqm77yJJywn5ZCN56ewJywn5bey5Lii5byD5pWw5o2u5bqT44CCJywn5bey6YeN5ZG95ZCN5pWw5o2u5bqT44CCJywn5bey5Yib5bu65pWw5o2u5bqT44CCJywn5bey5pu05pS55pWw5o2u5bqT44CCJywn5Yib5bu65pWw5o2u5bqTJywn5bey5Lii5byD5qih5byP44CCJywn5bey5Yib5bu65qih5byP44CCJywn5bey5pu05pS55qih5byP44CCJywn6LCD55SoJywn5a2Q56iL5bqP6KKr6LCD55So77yMJWQg6KGM6KKr5b2x5ZON44CCJywn5bey5Yig6Zmk5aSW6ZSu44CCJywn5bey5pu05pS55aSW6ZSu44CCJywn5bey5Yib5bu65aSW6ZSu44CCJywn5rqQ5YiX5ZKM55uu5qCH5YiX5b+F6aG75YW35pyJ55u45ZCM55qE5pWw5o2u57G75Z6L77yM5Zyo55uu5qCH5YiX5LiK5b+F6aG75pyJ5LiA5Liq57Si5byV5bm25LiU5byV55So55qE5pWw5o2u5b+F6aG75a2Y5Zyo44CCJywn5aSW6ZSuJywn55uu5qCH6KGoJywn5pu05pS5Jywn5aKe5Yqg5YiXJywn5bey5Lii5byD6KeG5Zu+44CCJywn5bey5pu05pS56KeG5Zu+44CCJywn5bey5Yib5bu66KeG5Zu+44CCJywn5Yib5bu66KeG5Zu+Jywn5bey5Lii5byD5LqL5Lu244CCJywn5bey5pu05pS55LqL5Lu244CCJywn5bey5Yib5bu65LqL5Lu244CCJywn5pu05pS55LqL5Lu2Jywn5Yib5bu65LqL5Lu2Jywn5byA5aeLJywn57uT5p2fJywn5q+PJywn5a6M5oiQ5ZCO5L+d5a2YJywn5bey5Lii5byD5a2Q56iL5bqP44CCJywn5bey5pu05pS55a2Q56iL5bqP44CCJywn5bey5Yib5bu65a2Q56iL5bqP44CCJywn5pu05pS55Ye95pWwJywn5pu05pS56L+H56iLJywn5Yib5bu65Ye95pWwJywn5Yib5bu66L+H56iLJywn6L+U5Zue57G75Z6LJywn5bey5Lii5byD5bqP5YiX44CCJywn5bey5Yib5bu65bqP5YiX44CCJywn5bey5pu05pS55bqP5YiX44CCJywn5pu05pS55bqP5YiXJywn5Yib5bu65bqP5YiXJywn5bey5Lii5byD57G75Z6L44CCJywn5bey5Yib5bu657G75Z6L44CCJywn5pu05pS557G75Z6LJywn5Yib5bu657G75Z6LJywn5bey5Lii5byD6Kem5Y+R5Zmo44CCJywn5bey5pu05pS56Kem5Y+R5Zmo44CCJywn5bey5Yib5bu66Kem5Y+R5Zmo44CCJywn5pu05pS56Kem5Y+R5ZmoJywn5Yib5bu66Kem5Y+R5ZmoJywn5pe26Ze0Jywn5LqL5Lu2Jywn5bey5Lii5byD55So5oi344CCJywn5bey5pu05pS555So5oi344CCJywn5bey5Yib5bu655So5oi344CCJywnSGFzaGVkJywn5a2Q56iL5bqPJywn5o6I5p2DJywn5bqf6ZmkJywnJWQg5Liq6L+b56iL6KKr57uI5q2iJywn5YWx6K6hICVkJywn57uI5q2iJywnJWQg5Liq6aG555uu5Y+X5Yiw5b2x5ZON44CCJywn5Zyo5YC85LiK5Y+M5Ye757G75L+u5pS55a6D44CCJywnJWQg6KGM5bey5a+85YWl44CCJywn5LiN6IO96YCJ5oup6K+l6KGoJywn57yW6L6RJywn5YWz6IGU5L+h5oGvJywn5L2/55So57yW6L6R6ZO+5o6l5p2l5L+u5pS56K+l5YC844CCJywn6aG16Z2iJywn5pyA5ZCOJywn5omA5pyJ57uT5p6cJywn5YWL6ZqGJywn5a+85YWlJywnLCcsJ+W3sua4heepuuihqOOAgicsJ+W3sui9rOenu+ihqOOAgicsJ+ihqOW3suWkjeWItuOAgicsJ+W3suS4ouW8g+ihqOOAgicsJ+ihqOWSjOinhuWbvicsJ+WcqOihqOS4reaQnOe0ouaVsOaNricsJ+W8leaTjicsJ+aVsOaNrumVv+W6picsJ+e0ouW8lemVv+W6picsJ+aVsOaNruepuumXsicsJ+ihjOaVsCcsJ+WIhuaekCcsJ+S8mOWMlicsJ+ajgOafpScsJ+S/ruWkjScsJ+a4heepuicsJ+i9rOenu+WIsOWFtuWug+aVsOaNruW6kycsJ+i9rOenuycsJ+WkjeWIticsJ+W6j+WIlycsJ+iwg+W6picsJ+WcqOaMh+WumuaXtumXtCcsJ0hIOk1NOlNTJyk7YnJlYWs7Y2FzZSJ6aC10dyI6JFI9YXJyYXkoJ+S9oOeiuuWumuWXju+8nycsJ+eEoeazleS4iuWCs+aqlOahiOOAgicsJ+WFgeioseeahOaqlOahiOS4iumZkOWkp+Wwj+eCuiVzQicsJ+aqlOahiOS4jeWtmOWcqCcsJ+epuuWAvCcsJ+WOn+WniycsJ+aykuacieizh+aWmeihqOOAgicsJ+iqnuiogCcsJ+S9v+eUqCcsJ+iri+S9v+eUqOS4i+WIl+WFtuS4reS4gOWAiyBleHRlbnNpb24gJXPjgIInLCfmqpTmoYjlt7LlrZjlnKjjgIInLCfkvb/nlKjogIXpoZ7lnosnLCfmlbjlrZcnLCfml6XmnJ/mmYLplpMnLCflrZfnrKbkuLInLCfkuozpgLLliLYnLCfntrLot68nLCflub7kvZUnLCfliJfooagnLCfos4fmlpnluqvns7vntbEnLCfkvLrmnI3lmagnLCfluLPomZ8nLCflr4bnorwnLCfnmbvlhaUnLCfmsLjkuYXnmbvlhaUnLCfpgbjmk4fos4fmlpknLCfnp4Dlh7rntZDmp4snLCfmm7TmlLnmqqLoppbooagnLCfmm7TmlLnos4fmlpnooagnLCfmlrDlu7rpoIUnLCfmnIDlvozkuIDpoIEnLCfnt6jovK8nLCclZCBieXRlKHMpJywn6YG45pOHJywn5Ye95pW4Jywn6ZuG5ZCIJywn5pCc5bCLJywn5Lu75oSP5L2N572uJywn5o6S5bqPJywn6ZmN5YaqJywn6ZmQ5a6aJywnVGV4dCDplbfluqYnLCfli5XkvZwnLCdTUUzlkb3ku6QnLCfmiZPplosnLCflhLLlrZgnLCfmm7TmlLnos4fmlpnluqsnLCfmm7TmlLnos4fmlpnooajntZDmp4snLCflu7rnq4vos4fmlpnooajntZDmp4snLCfos4fmlpnluqvmnrbmp4snLCfmrIrpmZAnLCflsI7lhaUv5bCO5Ye6Jywn55m75Ye6Jywn6LOH5paZ5bqrJywn6LOH5paZ6KGo57WQ5qeLJywn5bu656uL5paw6LOH5paZ6KGoJywn6YG45pOHJywnbHRyJywn6YeN5paw55m86YCB6KGo5Zau6LOH5paZPycsJ+eEoeaViOeahCBDU1JGIHRva2Vu44CC6KuL6YeN5paw55m86YCB6KGo5Zau44CCJywn55m75Ye65oiQ5Yqf44CCJywnU2Vzc2lvbiDlv4XpoIjooqvllZ/nlKjjgIInLCdTZXNzaW9uIOW3sumBjuacn++8jOiri+mHjeaWsOeZu+WFpeOAgicsJ+eEoeaViOeahOaGkeitieOAgicsJ+aykuaciSDmk7TlhYXmqKHntYQnLCfmspLmnInku7vkvZXmlK/mj7TnmoRQSFDmk7TlhYXmqKHntYTvvIglc++8ieOAgicsJ1BPU1Qg6LOH5paZ5aSq5aSn44CC5rib5bCR6LOH5paZ5oiW6ICF5aKe5YqgICVzIOeahOioreWumuWAvOOAgicsJ+izh+aWmeW6qycsJ+eEoeaViOeahOizh+aWmeW6q+OAgicsJ+izh+aWmeW6q+W3suWIqumZpOOAgicsJ+mBuOaTh+izh+aWmeW6qycsJ+W7uueri+aWsOizh+aWmeW6qycsJ+mAsueoi+WIl+ihqCcsJ+iuiuaVuCcsJ+eLgOaFiycsJyVz54mI5pys77yaJXMg6YCP6YGOUEhQ5pO05YWF5qih57WEICVzJywn55m76YyE54K677yaJXMnLCfmoKHlsI0nLCfos4fmlpnooagnLCfkuJ/mo4QnLCfph43mlrDovInlhaUnLCfos4fmlpnooajntZDmp4snLCfnhKHmlYjnmoTos4fmlpnooajntZDmp4vjgIInLCfmspLmnInooYzjgIInLCclLjNm56eSJywn5aSW6Y21Jywn5qCh5bCNJywnT04gREVMRVRFJywn5YiX5ZCNJywn5Y+D5pW45ZCN56ixJywn6aGe5Z6LJywn6ZW35bqmJywn6YG46aCFJywn6Ieq5YuV5aKe5YqgJywn6aCQ6Kit5YC8Jywn6Ki76KejJywn5paw5aKe5LiL5LiA5YCLJywn5LiK56e7Jywn5LiL56e7Jywn56e76ZmkJywn5qqi6KaW6KGoJywn6LOH5paZ6KGoJywn5YiXJywn57Si5byVJywn5pu05pS557Si5byVJywn5L6G5rqQJywn55uu5qiZJywnT04gVVBEQVRFJywn5pu05pS5Jywn5paw5aKe5aSW6Y21Jywn6Ke455m85ZmoJywn5bu656uL6Ke455m85ZmoJywn5rC45LmF6Y+I5o6lJywn5Yyv5Ye6Jywn6Ly45Ye6Jywn5qC85byPJywn56iL5bqPJywn5LqL5Lu2Jywn6LOH5paZJywn5bu656uL5L2/55So6ICFJywn5p+l6Kmi5Ye66YyvJywnJWTooYwnLCfln7fooYzmn6XoqaJPS++8jCVk6KGM5Y+X5b2x6Z+/Jywn5rKS5pyJ5ZG95Luk5Y+v5Z+36KGM44CCJywn5bey6aCG5Yip5Z+36KGMICVkIOWAi+afpeipouOAgicsJ+aqlOahiOS4iuWCsycsJ+aqlOahiOS4iuWCs+iiq+emgeeUqOOAgicsJ+Wft+ihjCcsJ+WHuumMr+aZguWBnOatoicsJ+WDhemhr+ekuumMr+iqpOioiuaBrycsJ+W+nuS8uuacjeWZqCcsJ+e2sumggeS8uuacjeWZqOaqlOahiCAlcycsJ+Wft+ihjOaqlOahiCcsJ+att+WPsicsJ+a4hemZpCcsJ+e3qOi8r+WFqOmDqCcsJ+ipsumgheebruW3suiiq+WIqumZpCcsJ+W3suabtOaWsOmgheebruOAgicsJ+W3suaPkuWFpemgheebriVz44CCJywn5o+S5YWlJywn5YSy5a2YJywn5L+d5a2Y5Lim57m857qM57eo6LyvJywn5YSy5a2Y5Lim5o+S5YWl5LiL5LiA5YCLJywn5Yiq6ZmkJywn5bey57aT5Yiq6Zmk6LOH5paZ6KGo44CCJywn6LOH5paZ6KGo5bey5pu05pS544CCJywn6LOH5paZ6KGo5bey5pu05pS544CCJywn5bu656uL6LOH5paZ6KGo6KGoJywn6LaF6YGO5pyA5aSa5YWB6Kix55qE5a2X5q615pW46YeP44CC6KuL5aKe5YqgJXPlkowlcyDjgIInLCfos4fmlpnooajlkI3nqLEnLCflvJXmk44nLCfliIbljYDpoZ7lnosnLCfliIbljYAnLCfliIbljYDlkI0nLCflgLwnLCflt7Lmm7TmlLnntKLlvJXjgIInLCfntKLlvJXpoZ7lnosnLCfliJfvvIjplbfluqbvvIknLCflkI3nqLEnLCfos4fmlpnluqvlt7LliKrpmaTjgIInLCflt7Lph43mlrDlkb3lkI3os4fmlpnluqvjgIInLCflt7Llu7rnq4vos4fmlpnluqvjgIInLCflt7Lmm7TmlLnos4fmlpnluqvjgIInLCflu7rnq4vos4fmlpnluqsnLCflt7LliKrpmaTos4fmlpnooajntZDmp4vjgIInLCflt7Llu7rnq4vos4fmlpnooajntZDmp4vjgIInLCflt7Lmm7TmlLnos4fmlpnooajntZDmp4vjgIInLCflkbzlj6snLCfnqIvluo/lt7Looqvln7fooYzvvIwlZOihjOiiq+W9semfvycsJ+W3suWIqumZpOWklumNteOAgicsJ+W3suabtOaUueWklumNteOAgicsJ+W3suW7uueri+WklumNteOAgicsJ+a6kOWIl+WSjOebruaomeWIl+W/hemgiOWFt+acieebuOWQjOeahOaVuOaTmumhnuWei++8jOWcqOebruaomeWIl+S4iuW/hemgiOacieS4gOWAi+e0ouW8leS4puS4lOW8leeUqOeahOaVuOaTmuW/hemgiOWtmOWcqOOAgicsJ+WklumNtScsJ+ebruaomeizh+aWmeihqCcsJ+abtOaUuScsJ+aWsOWinuizh+aWmeWIlycsJ+W3suS4n+ajhOaqouimluihqOOAgicsJ+W3suabtOaUueaqouimluihqOOAgicsJ+W3suW7uueri+aqouimluihqOOAgicsJ+W7uueri+aqouimluihqCcsJ+W3suS4n+ajhOS6i+S7tuOAgicsJ+W3suabtOaUueS6i+S7tuOAgicsJ+W3suW7uueri+S6i+S7tuOAgicsJ+abtOaUueS6i+S7ticsJ+W7uueri+S6i+S7ticsJ+mWi+WniycsJ+e1kOadnycsJ+avjycsJ+WcqOWujOaIkOW+jOS/neWtmCcsJ+W3suS4n+ajhOeoi+W6j+OAgicsJ+W3suabtOaUueWtkOeoi+W6j+OAgicsJ+W3suW7uueri+WtkOeoi+W6j+OAgicsJ+abtOaUueWHveaVuCcsJ+abtOaUuemBjueoiycsJ+W7uueri+WHveaVuCcsJ+W7uueri+mgkOWtmOeoi+W6jycsJ+i/lOWbnumhnuWeiycsJ+W3suWIqumZpCBzZXF1ZW5jZeOAgicsJ+W3suW7uueriyBzZXF1ZW5jZeOAgicsJ+W3suabtOaUuSBzZXF1ZW5jZeOAgicsJ+abtOaUuSBzZXF1ZW5jZScsJ+W7uueriyBzZXF1ZW5jZScsJ+W3suWIqumZpOmhnuWei+OAgicsJ+W3suW7uueri+mhnuWei+OAgicsJ+abtOaUuemhnuWeiycsJ+W7uueri+mhnuWeiycsJ+W3suS4n+ajhOinuOeZvOWZqOOAgicsJ+W3suabtOaUueinuOeZvOWZqOOAgicsJ+W3suW7uueri+inuOeZvOWZqOOAgicsJ+abtOaUueinuOeZvOWZqCcsJ+W7uueri+inuOeZvOWZqCcsJ+aZgumWkycsJ+S6i+S7ticsJ+W3suS4n+ajhOS9v+eUqOiAheOAgicsJ+W3suabtOaUueS9v+eUqOiAheOAgicsJ+W3suW7uueri+S9v+eUqOiAheOAgicsJ0hhc2hlZCcsJ+eoi+W6jycsJ+aOiOasiicsJ+W7oumZpCcsJyVkIOWAiyBQcm9jZXNzKGVzKSDooqvntYLmraInLCfnuL3lhbEgJWQg5YCLJywn57WC5q2iJywnJWTlgIvpoIXnm67lj5fliLDlvbHpn7/jgIInLCfpm5nmk4rku6XpgLLooYzkv67mlLnjgIInLCclZOihjOW3suWwjuWFpeOAgicsJ+eEoeazlemBuOaTh+ipsuizh+aWmeihqCcsJ+e3qOi8rycsJ+mXnOiBrycsJ+S9v+eUqOe3qOi8r+mAo+e1kOS+huS/ruaUueOAgicsJ+mggScsJ+acgOW+jOS4gOmggScsJ+aJgOaciee1kOaenCcsJ+ikh+ijvScsJ+WMr+WFpScsJywnLCflt7LmuIXnqbros4fmlpnooajjgIInLCflt7LovYnnp7vos4fmlpnooajjgIInLCfooajmoLzlt7LntpPopIfoo70nLCflt7LkuJ/mo4TooajjgIInLCfos4fmlpnooajlkozmqqLoppbooagnLCflnKjos4fmlpnluqvmkJzlsIsnLCflvJXmk44nLCfos4fmlpnplbfluqYnLCfntKLlvJXplbfluqYnLCfos4fmlpnnqbrplpInLCfooYzmlbgnLCfliIbmnpAnLCflhKrljJYnLCfmqqLmn6UnLCfkv67lvqknLCfmuIXnqbonLCfovYnnp7vliLDlhbblroPos4fmlpnluqsnLCfovYnnp7snLCfopIfoo70nLCdTZXF1ZW5jZXMnLCfoqr/luqYnLCflnKjmjIflrprmmYLplpMnLCdISDpNTTpTUycpO2JyZWFrO2Nhc2UiamEiOiRSPWFycmF5KCflrp/ooYzjgZfjgb7jgZnjgYvvvJ8nLCfjg5XjgqHjgqTjg6vjgpLjgqLjg4Pjg5fjg63jg7zjg4njgafjgY3jgb7jgZvjgpMnLCfmnIDlpKfjg5XjgqHjgqTjg6vjgrXjgqTjgrogJXNCJywn44OV44Kh44Kk44Or44Gv5a2Y5Zyo44GX44G+44Gb44KTJywn56m6Jywn5YWDJywn44OG44O844OW44Or44GM44GC44KK44G+44Gb44KT44CCJywn6KiA6KqeJywn5L2/55SoJywn44GE44Ga44KM44GL44Gu5ouh5by15qmf6IO944KS5L2/44Gj44Gm44GP44Gg44GV44GEICVzJywn44OV44Kh44Kk44Or44GM5pei44Gr5a2Y5Zyo44GX44G+44GZJywn44Om44O844K244O85a6a576p5Z6LJywn5pWw5a2XJywn5pel5pmCJywn5paH5a2X5YiXJywn44OQ44Kk44OK44OqJywn44ON44OD44OI44Ov44O844Kv5Z6LJywn44K444Kq44Oh44OI44Oq5Z6LJywn44Oq44K544OIJywn44OH44O844K/44OZ44O844K556iu6aGeJywn44K144O844OQJywn44Om44O844K25ZCNJywn44OR44K544Ov44O844OJJywn44Ot44Kw44Kk44OzJywn5rC457aa55qE44Gr44Ot44Kw44Kk44OzJywn44OH44O844K/Jywn5qeL6YCgJywn44OT44Ol44O844KS5aSJ5pu0Jywn44OG44O844OW44Or44Gu5aSJ5pu0Jywn6aCF55uu44Gu5L2c5oiQJywn5pyA5b6M44Gu44Oa44O844K4Jywn57eo6ZuGJywnJWQg44OQ44Kk44OIJywn6YG45oqeJywn6Zai5pWwJywn6ZuG5ZCIJywn5qSc57SiJywn5Lu75oSPJywn44K944O844OIJywn6ZmN6aCGJywn5Yi257SEJywn5paH5a2X5YiX44Gu6ZW344GVJywn5YuV5L2cJywnU1FM44Kz44Oe44Oz44OJJywn6ZaL44GPJywn5L+d5a2YJywn44OH44O844K/44OZ44O844K544KS5aSJ5pu0Jywn44K544Kt44O844Oe5aSJ5pu0Jywn44K544Kt44O844Oe6L+95YqgJywn5qeL6YCgJywn5qip6ZmQJywn44OA44Oz44OXJywn44Ot44Kw44Ki44Km44OIJywn44OH44O844K/44OZ44O844K5Jywn44K544Kt44O844OeJywn44OG44O844OW44Or44KS5L2c5oiQJywn6YG45oqeJywnbHRyJywn5YaN6YCB5L+h44GX44G+44GZ44GL77yfJywn5LiN5q2j44GqQ1NSRuODiOODvOOCr+ODs+OAguWGjemAgeS/oeOBl+OBpuOBj+OBoOOBleOBhCcsJ+ODreOCsOOCouOCpuODiCcsJ+OCu+ODg+OCt+ODp+ODs+OCkuacieWKueOBq+OBl+OBpuOBj+OBoOOBleOBhCcsJ+OCu+ODg+OCt+ODp+ODs+OBruacn+mZkOWIh+OCjOOAguODreOCsOOCpOODs+OBl+ebtOOBl+OBpuOBj+OBoOOBleOBhCcsJ+S4jeato+OBquODreOCsOOCpOODsycsJ+aLoeW8teapn+iDveOBjOOBguOCiuOBvuOBm+OCkycsJ1BIUOOBruaLoeW8teapn+iDve+8iCVz77yJ44GM44K744OD44OI44Ki44OD44OX44GV44KM44Gm44GE44G+44Gb44KTJywnUE9TVOODh+ODvOOCv+OBjOWkp+OBjeOBmeOBjuOBvuOBmeOAguODh+ODvOOCv+OCteOCpOOCuuOCkuWwj+OBleOBj+OBmeOCi+OBiyAlcyDoqK3lrprjgpLlpKfjgY3jgY/jgZfjgabjgY/jgaDjgZXjgYQnLCfjg4fjg7zjgr/jg5njg7zjgrknLCfkuI3mraPjgarjg4fjg7zjgr/jg5njg7zjgrknLCfjg4fjg7zjgr/jg5njg7zjgrnjgpLliYrpmaTjgZfjgb7jgZfjgZ8nLCfjg4fjg7zjgr/jg5njg7zjgrnjgpLpgbjmip7jgZfjgabjgY/jgaDjgZXjgYQnLCfmlrDopo/jgavjg4fjg7zjgr/jg5njg7zjgrnjgpLkvZzmiJAnLCfjg5fjg63jgrvjgrnkuIDopqcnLCflpInmlbAnLCfnirbmhYsnLCclc+ODkOODvOOCuOODp+ODs++8miVz44CBIFBIUOaLoeW8teapn+iDvSAlcycsJ+ODreOCsO+8miVzJywn54Wn5ZCI6aCG5bqPJywn44OG44O844OW44OrJywn5YmK6ZmkJywn44Oq44OV44Os44OD44K344OlJywn44K544Kt44O844OeJywn54Sh5Yq544Gq44K544Kt44O844OeJywn6KGM44GM44GC44KK44G+44Gb44KTJywnJS4zZiDnp5InLCflpJbpg6jjgq3jg7wnLCfnhaflkIjpoIbluo8nLCdPTiBERUxFVEUnLCfliJflkI0nLCflj4LmlbDlkI0nLCflnosnLCfplbfjgZUnLCfoqK3lrponLCfpgKPnlaonLCfopo/lrprlgKQnLCfjgrPjg6Hjg7Pjg4gnLCfov73liqAnLCfkuIonLCfkuIsnLCfpmaTlpJYnLCfjg5Pjg6Xjg7wnLCfjg4bjg7zjg5bjg6snLCfliJcnLCfntKLlvJUnLCfntKLlvJXjga7lpInmm7QnLCfjgr3jg7zjgrknLCfjgr/jg7zjgrLjg4Pjg4gnLCdPTiBVUERBVEUnLCflpInmm7QnLCflpJbpg6jjgq3jg7zjgpLov73liqAnLCfjg4jjg6rjgqzjg7wnLCfjg4jjg6rjgqzjg7zjga7ov73liqAnLCfjg5Hjg7zjg57jg43jg7Pjg4jjg6rjg7Pjgq8nLCfjgqjjgq/jgrnjg53jg7zjg4gnLCflh7rlipsnLCflvaLlvI8nLCfjg6vjg7zjg4Hjg7MnLCfjgqTjg5njg7Pjg4gnLCfjg4fjg7zjgr8nLCfjg6bjg7zjgrbjgpLkvZzmiJAnLCfjgq/jgqjjg6rjg7zjga7jgqjjg6njg7wnLCclZCDooYwnLCfjgq/jgqjjg6rjg7zjgpLlrp/ooYzjgZfjgb7jgZfjgZ/jgIIlZCDooYzjgpLlpInmm7TjgZfjgb7jgZfjgZ8nLCflrp/ooYzjgZnjgovjgrPjg57jg7Pjg4njgYzjgYLjgorjgb7jgZvjgpMnLCclZCDjgq/jgqjjg6rjg7zjgpLlrp/ooYzjgZfjgb7jgZfjgZ8nLCfjg5XjgqHjgqTjg6vjgpLjgqLjg4Pjg5fjg63jg7zjg4knLCfjg5XjgqHjgqTjg6vjga7jgqLjg4Pjg5fjg63jg7zjg4njgYznhKHlirnjgafjgZknLCflrp/ooYwnLCfjgqjjg6njg7zjga7loLTlkIjjga/lgZzmraInLCfjgqjjg6njg7zjga7jgb/ooajnpLonLCfjgrXjg7zjg5Djg7zjgYvjgonlrp/ooYwnLCdXZWLjgrXjg7zjg5Djg5XjgqHjgqTjg6sgJXMnLCfjg5XjgqHjgqTjg6vjgpLlrp/ooYwnLCflsaXmrbQnLCfmtojljrsnLCfjgZnjgbnjgabnt6jpm4YnLCfpoIXnm67jgpLliYrpmaTjgZfjgb7jgZfjgZ8nLCfpoIXnm67jgpLmm7TmlrDjgZfjgb7jgZfjgZ8nLCclc+mgheebruOCkuaMv+WFpeOBl+OBvuOBl+OBnycsJ+aMv+WFpScsJ+S/neWtmCcsJ+S/neWtmOOBl+OBpue2mee2micsJ+S/neWtmO+8j+i/veWKoCcsJ+WJiumZpCcsJ+ODhuODvOODluODq+OCkuWJiumZpOOBl+OBvuOBl+OBnycsJ+ODhuODvOODluODq+OCkuWkieabtOOBl+OBvuOBl+OBnycsJ+ODhuODvOODluODq+OCkuS9nOaIkOOBl+OBvuOBl+OBnycsJ+ODhuODvOODluODq+OCkuS9nOaIkCcsJ+Wumue+qeWPr+iDveOBquacgOWkp+ODleOCo+ODvOODq+ODieaVsOOCkui2iuOBiOOBvuOBl+OBn+OAgiVzIOOBqCAlcyDjgpLlopfjgoTjgZfjgabjgY/jgaDjgZXjgYTjgIInLCfjg4bjg7zjg5bjg6vlkI0nLCfjgqjjg7Pjgrjjg7MnLCfjg5Hjg7zjg4bjgqPjgrfjg6fjg7MnLCfjg5Hjg7zjg4bjgqPjgrfjg6fjg7MnLCfjg5Hjg7zjg4bjgqPjgrfjg6fjg7PlkI0nLCflgKQnLCfntKLlvJXjgpLlpInmm7TjgZfjgb7jgZfjgZ8nLCfntKLlvJXjga7lnosnLCfliJfvvIjplbfjgZXvvIknLCflkI3np7AnLCfjg4fjg7zjgr/jg5njg7zjgrnjgpLliYrpmaTjgZfjgb7jgZfjgZ8nLCfjg4fjg7zjgr/jg5njg7zjgrnjga7lkI3liY3jgpLlpInjgYjjgb7jgZfjgZ8nLCfjg4fjg7zjgr/jg5njg7zjgrnjgpLkvZzmiJDjgZfjgb7jgZfjgZ8nLCfjg4fjg7zjgr/jg5njg7zjgrnjgpLlpInmm7TjgZfjgb7jgZfjgZ8nLCfjg4fjg7zjgr/jg5njg7zjgrnjgpLkvZzmiJAnLCfjgrnjgq3jg7zjg57jgpLliYrpmaTjgZfjgb7jgZfjgZ8nLCfjgrnjgq3jg7zjg57jgpLov73liqDjgZfjgb7jgZfjgZ8nLCfjgrnjgq3jg7zjg57jgpLlpInmm7TjgZfjgb7jgZfjgZ8nLCflkbzlh7rjgZcnLCfjg6vjg7zjg4Hjg7PjgpLlkbzjgbPjgb7jgZfjgZ/jgIIlZCDooYzjgpLlpInmm7TjgZfjgb7jgZfjgZ8nLCflpJbpg6jjgq3jg7zjgpLliYrpmaTjgZfjgb7jgZfjgZ8nLCflpJbpg6jjgq3jg7zjgpLlpInmm7TjgZfjgb7jgZfjgZ8nLCflpJbpg6jjgq3jg7zjgpLkvZzmiJDjgZfjgb7jgZfjgZ8nLCfjgr3jg7zjgrnjgajjgr/jg7zjgrLjg4Pjg4jjga7liJfjga/lkIzjgZjjg4fjg7zjgr/lnovjgafjgarjgZHjgozjgbDjgarjgorjgb7jgZvjgpPjgILjgr/jg7zjgrLjg4Pjg4jliJfjgavntKLlvJXjgYzjgYLjgorjgIHjg4fjg7zjgr/jgYzlrZjlnKjjgZfjgarjgZHjgozjgbDjgarjgorjgb7jgZvjgpPjgIInLCflpJbjgq3jg7wnLCfjg4bjg7zjg5bjg6snLCflpInmm7QnLCfliJfjgpLov73liqAnLCfjg5Pjg6Xjg7zjgpLliYrpmaTjgZfjgb7jgZfjgZ8nLCfjg5Pjg6Xjg7zjgpLlpInmm7TjgZfjgb7jgZfjgZ8nLCfjg5Pjg6Xjg7zjgpLkvZzmiJDjgZfjgb7jgZfjgZ8nLCfjg5Pjg6Xjg7zjgpLkvZzmiJAnLCfliYrpmaTjgZfjgb7jgZfjgZ8nLCflpInmm7TjgZfjgb7jgZfjgZ8nLCfkvZzmiJDjgZfjgb7jgZfjgZ8nLCflpInmm7QnLCfkvZzmiJAnLCfplovlp4snLCfntYLkuoYnLCfmr47lm54nLCflrozmiJDlvozjgavkv53lrZgnLCfjg6vjg7zjg4Hjg7PjgpLkvZzmiJAnLCfjg6vjg7zjg4Hjg7PjgpLlpInmm7QnLCfjg6vjg7zjg4Hjg7PjgpLkvZzmiJAnLCfplqLmlbDjga7lpInmm7QnLCfjg5fjg63jgrfjg7zjgrjjg6Pjga7lpInmm7QnLCfplqLmlbDjga7kvZzmiJAnLCfjg5fjg63jgrfjg7zjgrjjg6Pjga7kvZzmiJAnLCfmiLvjgorlgKTjga7lnosnLCfjgrfjg7zjgrHjg7PjgrnjgpLliYrpmaTjgZfjgb7jgZfjgZ8nLCfjgrfjg7zjgrHjg7PjgrnjgpLov73liqDjgZfjgb7jgZfjgZ8nLCfjgrfjg7zjgrHjg7PjgrnjgpLlpInmm7TjgZfjgb7jgZfjgZ8nLCfjgrfjg7zjgrHjg7PjgrnlpInmm7QnLCfjgrfjg7zjgrHjg7PjgrnkvZzmiJAnLCfjg6bjg7zjgrbjg7zlrprnvqnlnovjgpLliYrpmaTjgZfjgb7jgZfjgZ8nLCfjg6bjg7zjgrbjg7zlrprnvqnlnovjgpLov73liqDjgZfjgb7jgZfjgZ8nLCfjg6bjg7zjgrbjg7zlrprnvqnlnovlpInmm7QnLCfjg6bjg7zjgrbjg7zlrprnvqnlnovkvZzmiJAnLCfjg4jjg6rjgqzjg7zjgpLliYrpmaTjgZfjgb7jgZfjgZ8nLCfjg4jjg6rjgqzjg7zjgpLlpInmm7TjgZfjgb7jgZfjgZ8nLCfjg4jjg6rjgqzjg7zjgpLov73liqDjgZfjgb7jgZfjgZ8nLCfjg4jjg6rjgqzjg7zjga7lpInmm7QnLCfjg4jjg6rjgqzjg7zjga7kvZzmiJAnLCfmmYLplpMnLCfjgqTjg5njg7Pjg4gnLCfjg6bjg7zjgrbjgpLliYrpmaQnLCfjg6bjg7zjgrbjgpLlpInmm7QnLCfjg6bjg7zjgrbjgpLkvZzmiJAnLCdIYXNoZWQnLCfjg6vjg7zjg4Hjg7MnLCfmqKnpmZDjga7ku5jkuI4nLCfmqKnpmZDjga7lj5bmtojjgZcnLCclZCDjg5fjg63jgrvjgrnjgpLlvLfliLbntYLkuobjgZfjgb7jgZfjgZ8nLCflkIjoqIggJWQnLCflvLfliLbntYLkuoYnLCclZCDjgpLmm7TmlrDjgZfjgb7jgZfjgZ8nLCfjg4Djg5bjg6vjgq/jg6rjg4Pjgq/jgZfjgabnt6jpm4YnLCclZCDooYzjgpLjgqTjg7Pjg53jg7zjg4jjgZfjgb7jgZfjgZ8nLCfjg4bjg7zjg5bjg6vjgpLpgbjmip7jgafjgY3jgb7jgZvjgpMnLCfnt6jpm4YnLCfplqLkv4InLCfjg6rjg7Pjgq/jgpLnt6jpm4bjgZnjgosnLCfjg5rjg7zjgrgnLCfmnIDntYInLCflhajntZDmnpwnLCfjgq/jg63jg7zjg7MnLCfjgqTjg7Pjg53jg7zjg4gnLCcsJywn44OG44O844OW44Or44KSdHJ1bmNhdGXjgZfjgb7jgZfjgZ8nLCfjg4bjg7zjg5bjg6vjgpLnp7vli5XjgZfjgb7jgZfjgZ8nLCfjg4bjg7zjg5bjg6vjgpLjgrPjg5Tjg7zjgZfjgb7jgZfjgZ8nLCfjg4bjg7zjg5bjg6vjgpLliYrpmaTjgZfjgb7jgZfjgZ8nLCfjg4bjg7zjg5bjg6vjgajjg5Pjg6Xjg7wnLCfjg4fjg7zjgr/jgpLmpJzntKLjgZnjgosnLCfjgqjjg7Pjgrjjg7MnLCfjg4fjg7zjgr/plbcnLCfntKLlvJXplbcnLCfnqbrjgY0nLCfooYzmlbAnLCfliIbmnpAnLCfmnIDpganljJYnLCfjg4Hjgqfjg4Pjgq8nLCfkv67lvqknLCdUcnVuY2F0ZScsJ+WIpeOBruODh+ODvOOCv+ODmeODvOOCueOBuOenu+WLlScsJ+enu+WLlScsJ+OCs+ODlOODvCcsJ+OCt+ODvOOCseODs+OCuScsJ+OCueOCseOCuOODpeODvOODqycsJ+aMh+WumuaZguWIuycsJ+aZgjrliIY656eSJyk7YnJlYWs7Y2FzZSJ0YSI6JFI9YXJyYXkoJ+CuqOCuv+CumuCvjeCumuKAjOCur+KAjOCuruCuvuCuleKAjCA/Jywn4K6V4K+L4K6q4K+N4K6q4K+IIOCuruCvh+CusuCvh+CuseCvjeCuseKAjOCuruCvjSAodXBsb2FkKSDgrprgr4bgrq/gr43grq/igIwg4K6H4K6v4K6y4oCM4K614K6/4K6y4K+N4K6y4K+ILicsJ+CuleCvi+CuquCvjeCuquCuv+CuqeCvjSDgroXgrqTgrr/grpXigIzgrqrigIzgrp/gr43grprigIwg4K6F4K6z4oCM4K614K+BICVzQi4nLCfgrpXgr4vgrqrgr43grqrgr4Eg4K6H4K6y4K+N4K6y4K+ILicsJ+CuteCvhuCuseCvgeCuruCviCAoZW1wdHkpJywn4K6F4K6a4oCM4K6y4K+NJywn4K6F4K6f4K+N4K6f4oCM4K614oCM4K6j4K+IIOCuh+CusuCvjeCusuCviC4nLCfgrq7gr4rgrrTgrr8nLCfgrongrqrigIzgrq/gr4vgrpXgrr8nLCfgrqTigIzgrq/igIzgrrXgr4Eg4K6a4K+G4K6v4K+N4K6k4K+BIOCukuCusOCvgSDgrrXgrr/grrDgrr/grrXgrr/grqngr4ggJXMgKGV4dGVuc2lvbikg4K6J4K6q4oCM4K6v4K+L4K6V4K6/4K6V4K+N4K6V4oCM4K614K+B4K6u4K+NLicsJ+CuleCvi+CuquCvjeCuquCvgSDgrongrrPgr43grrPigIzgrqTgr4EuJywn4K6q4oCM4K6v4oCM4K6p4K6+4K6z4oCM4K6w4K+NIOCuteKAjOCuleCviOCuleKAjOCus+CvjScsJ+CujuCuo+CvjeCuleKAjOCus+CvjScsJ+CupOCvh+CupOCuvyDgrq7igIzgrrHgr43grrHgr4Hgrq7gr40g4K6o4K+H4K6w4oCM4K6u4K+NJywn4K6a4oCM4K6w4oCM4K6u4K+NIChTdHJpbmcpJywn4K6q4K+I4K6p4oCM4K6w4K6/Jywn4K6o4K+G4K6f4K+N4K614K+K4K6w4K+N4K6V4K+NJywn4K614oCM4K6f4K6/4K614oCM4K614K6/4K6v4oCM4K6y4K+NIChHZW9tZXRyeSknLCfgrqrigIzgrp/gr43grp/grr/grq/igIzgrrLgr40nLCfgrprgrr/grrjgr43grp/igIzgrq7gr40gKFN5c3RlbSknLCfgrrXigIzgrrTigIzgrpngr43grpXgrr8gKFNlcnZlciknLCfgrqrigIzgrq/igIzgrqngrr7grrPigIzgrrDgr40gKFVzZXIpJywn4K6V4oCM4K6f4oCM4K614K+B4K6a4K+N4K6a4K+K4K6y4K+NJywn4K6o4K+B4K604K+IJywn4K6o4K6/4K6w4oCM4K6o4K+N4K6k4oCM4K6w4oCM4K6u4K6+4K6V4oCMIOCuqOCvgeCutOCviOCur+KAjOCuteCvgeCuruCvjScsJ+CupOKAjOCuleKAjOCuteKAjOCusuCviCDgrqTgr4fgrrDgr43grrXgr4Eg4K6a4K+G4K6v4K+NJywn4K6V4oCM4K6f4K+N4K6f4oCM4K6u4K+I4K6q4K+N4K6q4K+IIOCuleCuvuCuo+CvjeCuquCuv+CuleCvjeCuleKAjOCuteCvgeCuruCvjScsJ+CupOCvi+CuseCvjeCuseKAjOCupOCvjeCupOCviCDgrq7grr7grrHgr43grrHgr4EnLCfgroXgrp/gr43grp/igIzgrrXigIzgrqPgr4jgrq/gr4gg4K6u4K6+4K6x4K+N4K6x4K+BJywn4K6q4K+B4K6k4K6/4K6v4oCMIOCuieCusOCvgeCuquCvjeCuquKAjOCun+CuvycsJ+CuleKAjOCun+CviOCumuCuvyDgrqrigIzgrpXgr43grpXigIzgrq7gr40nLCfgrqTgr4rgrpXgr4EnLGFycmF5KCclZCDgrqrgr4jgrp/gr40nLCclZCDgrqrgr4jgrp/gr43grp/gr4HgrpXigIzgrrPgr40nKSwn4K6k4K+H4K6w4K+N4K614K+BIOCumuCvhuCur+CvjScsJ0Z1bmN0aW9ucycsJ+CupOCuv+CusOKAjOCus+CvjeCuteCvgSAoQWdncmVnYXRpb24pJywn4K6k4K+H4K6f4K+BJywn4K6O4K6Z4K+N4K6V4K6+4K6v4K6/4K6p4K+B4K6u4K+NJywn4K6k4oCM4K6w4oCM4K6u4K+NIOCuquCuv+CusOCuvycsJ+Cuh+CuseKAjOCumeCvjeCuleCvgeCuruCvgeCuleKAjOCuruCuvuCuqeKAjCcsJ+CuteKAjOCusOKAjOCuruCvjeCuquCvgScsJ+CuieCusOCviCDgrqjgr4DgrrPigIzgrq7gr40nLCfgrprgr4bgrq/igIzgrrLgr40nLCdTUUwg4K6V4oCM4K6f4K+N4K6f4oCM4K6z4K+IJywn4K6k4K6/4K6x4oCMJywn4K6a4K+H4K6u4K6/Jywn4K6k4oCM4K6V4oCM4K614oCM4K6y4K+N4K6k4oCM4K6z4oCM4K6k4K+N4K6k4K+IIOCuruCuvuCuseCvjeCuseCvgScsJ+CuheCuruCviOCuquCvjeCuquCvgeCuruCvgeCuseCviOCur+CviCDgrq7grr7grrHgr43grrHgr4EnLCfgroXgrq7gr4jgrqrgr43grqrgr4Hgrq7gr4HgrrHgr4jgrq/gr4gg4K6J4K6w4K+B4K614K6+4K6V4K+N4K6V4K+BJywn4K6k4oCM4K6V4oCM4K614oCM4K6y4K+N4K6k4oCM4K6z4oCMIOCuheCuruCviOCuquCvjeCuquCvgSDgrq7gr4HgrrHgr4jgrpXigIzgrrPgr40nLCfgrprigIzgrrLgr4HgrpXgr4jgrpXigIzgrrPgr40gLyDgrprgrr/grrHigIzgrqrgr43grqrgr4HgrrDgrr/grq7gr4jgrpXigIzgrrPgr40nLCdEdW1wJywn4K614K+G4K6z4K6/4K6v4K+H4K6x4K+BJywn4K6k4oCM4K6V4oCM4K614oCM4K6y4K+N4K6k4oCM4K6z4oCM4K6u4K+NJywn4K6F4K6u4K+I4K6q4K+N4K6q4K+B4K6u4K+B4K6x4K+IJywn4K6q4K+B4K6k4K6/4K6v4oCMIOCuheCun+CvjeCun+KAjOCuteKAjOCuo+CviOCur+CviCDgrongrrDgr4HgrrXgrr7grpXgr43grpXgr4EnLCfgrqTgr4fgrrDgr43grrXgr4Eg4K6a4K+G4K6v4K+NJywnbHRyJywnUE9TVCBkYXRhIOCuteCviCDgrq7gr4DgrqPgr43grp/gr4Hgrq7gr40g4K6F4K6p4K+B4K6q4K+N4K6q4K614K6+PycsJ0NTUkYg4K6f4K+L4K6V4K+N4K6V4oCM4K6p4K+NIOCumuCvhuCusuCvjeCusuCuvuCupOCvgS4g4K6q4oCM4K6f4K6/4K614oCM4K6k4K+N4K6k4K+IIOCuruCvgOCuo+CvjeCun+CvgeCuruCvjSDgroXgrqngr4Hgrqrgr43grqrigIzgrrXgr4Hgrq7gr40uJywn4K614K+G4K6x4K+N4K6x4K6/4K6V4oCM4K6w4oCM4K6u4K6+4K6v4K+NIOCuteCvhuCus+Cuv+Cur+Cvh+CuseCuv+Cur+CuvuCur+Cuv+CuseCvjeCuseCvgS4nLCfgrprgr4bgrrfigIzgrqngr40g4K6G4K6k4oCM4K6w4oCM4K614K+BIOCuh+Cur+KAjOCuleCvjeCuleKAjOCuquCvjeCuquKAjOCun+KAjCDgrrXgr4fgrqPgr43grp/gr4Hgrq7gr40uJywn4K6a4K+G4K634oCM4K6p4K+NIOCuleCuvuCusuCuvuCuteKAjOCupOCuv+Cur+CuvuCuleCuvyDgrrXgrr/grp/gr43grp/igIzgrqTgr4EuIOCuruCvgOCuo+CvjeCun+CvgeCuruCvjSDgrqjgr4HgrrTgr4jgrq/igIzgrrXgr4Hgrq7gr40uJywn4K6a4oCM4K6w4K6/4K6v4K6+4K6p4oCMIOCuteCuv+CuquKAjOCusOKAjOCumeCvjeCuleKAjOCus+CvjSDgrofgrrLgr43grrLgr4guJywn4K614K6/4K6w4K6/4K614K+BIChleHRlbnPgrofgrpLgrqngr40pIOCuh+CusuCvjeCusuCviCAnLCdQSFAg4K6G4K6k4oCM4K6w4oCM4K614K+BIOCuteCuv+CusOCuv+CuteCvgeCuleKAjOCus+CvjSAoJXMpIOCuh+CusuCvjeCusuCviC4nLCfgrq7grr/grpXigIwg4K6F4K6k4K6/4K6V4oCM4K6u4K6+4K6p4oCMIFBPU1QgIOCupOKAjOCuleKAjOCuteKAjOCusuCvjS4g4K6k4oCM4K6V4oCM4K614oCM4K6y4K+IIOCuleCvgeCuseCviOCuleCvjeCuleKAjOCuteCvgeCuruCvjSDgroXgrrLgr43grrLigIzgrqTgr4EgJXMg4K614oCM4K6f4K6/4K614oCM4K6u4K+I4K6q4K+N4K6q4K+IIChjb25maWd1cmF0aW9uIGRpcmVjdGl2ZSkg4K6u4K6+4K6x4K+N4K6x4oCM4K614K+B4K6u4K+NLicsJ+CupOKAjOCuleKAjOCuteKAjOCusuCvjeCupOKAjOCus+KAjOCuruCvjScsJ+CupOKAjOCuleKAjOCuteKAjOCusuCvjeCupOKAjOCus+KAjOCuruCvjSDgrprigIzgrrDgrr/grq/grr7grqngrqTgrrLgr43grrLigIwuJywn4K6k4oCM4K6V4oCM4K614oCM4K6y4K+NIOCupOKAjOCus+KAjOCumeCvjeCuleKAjOCus+CvjSDgrqjgr4DgrpXgr43grpXigIzgrqrgr43grqrigIzgrp/gr43grp/grqnigIwuJywn4K6k4oCM4K6V4oCM4K614oCM4K6y4K+N4K6k4oCM4K6z4oCM4K6k4K+N4K6k4K+IIOCupOCvh+CusOCvjeCuteCvgSDgrprgr4bgrq/gr40nLCfgrqrgr4HgrqTgrr/grq/igIwg4K6k4oCM4K6V4oCM4K614oCM4K6y4K+N4K6k4oCM4K6z4oCM4K6k4K+N4K6k4K+IIOCuieCusOCvgeCuteCuvuCuleCvjeCuleCvgScsJ+CuteCvh+CusuCviOCuleKAjOCus+Cuv+CuqeCvjSDgrqrigIzgrp/gr43grp/grr8nLCfgrq7grr7grrHgrr/grrLgrr/grpXigIzgrrPgr40gKFZhcmlhYmxlcyknLCfgrqjgrr/grpXigIzgrrTgr43grqjgrr/grrLgr4ggKFN0YXR1cyknLCclcyDgrqrigIzgrqTgrr/grqrgr43grqrgr4E6ICVzIHRocm91Z2ggUEhQIGV4dGVuc2lvbiAlcycsJ+CuquKAjOCur+KAjOCuqeCuvuCus+CusOCvjTogJXMnLCfgrpXgr4rgrrLgr4fgrprigIzgrqngr40nLCfgroXgrp/gr43grp/igIzgrrXigIzgrqPgr4gnLCfgrqjgr4DgrpXgr43grpXgr4EnLCfgrqrgr4HgrqTgr4Hgrqrgr43grqrgrr8gKFJlZnJlc2gpJywn4K6F4K6u4K+I4K6q4K+N4K6q4K+B4K6u4K+B4K6x4K+IJywn4K6F4K6u4K+I4K6q4K+N4K6q4K+B4K6u4K+B4K6x4K+IIOCumuKAjOCusOCuv+Cur+CuvuCuqeKAjOCupOKAjOCusuCvjeCusuKAjCAoSW52YWxpZCBTY2hlbWEpLicsJ+CuteKAjOCusOCuv+CumuCviCDgrofgrrLgr43grrLgr4guJywnJS4zZiBzJywn4K614K+H4K6x4K+N4K6x4K+BIOCuteCuv+CumuCviOCuleKAjOCus+CvjScsJ+CuleCviuCusuCvh+CumuKAjOCuqeCvjScsJ09OIERFTEVURScsJ+CuqOCvhuCun+CvgeCuteKAjOCusOCuv+CumuCviOCur+Cuv+CuqeCvjSDgrqrgr4bgrq/igIzgrrDgr40nLCfgroXgrrPigIzgrqrgr4HgrrDgr4EgKFBhcmFtZXRlcikg4K6q4K+G4K6v4oCM4K6w4K+NJywn4K614oCM4K6V4K+IJywn4K6o4K+A4K6z4K6u4K+NJywn4K614K+H4K6j4K+N4K6f4K6/4K6v4oCM4K614oCM4K6x4K+N4K6x4K+IICcsJ+Cuj+CuseCvgeCuruCuvuCuqeKAjOCuruCvjScsJ+CuieCus+CvjeCus+Cuv+CusOCvgeCuleCvjeCuleCvgeCuruCvjSAoRGVmYXVsdCkg4K6u4oCM4K6k4K6/4K6q4K+N4K6q4K+B4K6V4oCM4K6z4K+NICcsJ+CuleCvgeCuseCuv+CuquCvjeCuquCvgScsJ+CuheCun+CvgeCupOCvjeCupOKAjOCupOCviCDgrprgr4fgrrDgr43grpXgr43grpXigIzgrrXgr4Hgrq7gr40nLCfgrq7gr4fgrrLgr4cg4K6o4oCM4K6V4oCM4K6w4K+N4K6k4K+N4K6k4K+BJywn4K6V4K+A4K604K+HIOCuqOCuleKAjOCusOCvjeCupOCvjeCupOCvgScsJ+CuqOCvgOCuleCvjeCuleCvgScsJ+CupOCvi+CuseCvjeCuseCuruCvjScsJ+CuheCun+CvjeCun+KAjOCuteKAjOCuo+CviCcsJ+CuqOCvhuCun+CvgeCuteKAjOCusOCuv+CumuCviCcsJ+CuheCuleKAjOCuteKAjOCusOCuv+CumuCviOCuleKAjOCus+CvjSAoSW5kZXgpICcsJ+CuheCuleKAjOCuteKAjOCusOCuv+CumuCviOCur+CviCAoSW5kZXgpIOCuruCuvuCuseCvjeCuseCvgScsJ+CuruCvguCusuKAjOCuruCvjScsJ+Cuh+CusuKAjOCuleCvjeCuleCvgScsJ09OIFVQREFURScsJ+CuruCuvuCuseCvjeCuseCvgScsJ+CuteCvh+CuseCvjeCuseCvgSDgrrXgrr/grprgr4gg4K6a4K+H4K6w4K+N4K6V4K+N4K6V4oCM4K614K+B4K6u4K+NJywn4K6k4K+C4K6j4K+N4K6f4K+B4K6k4oCM4K6y4K+N4K6V4oCM4K6z4K+NJywn4K6k4K+C4K6j4K+N4K6f4K+BIOCuteCuv+CumuCviOCur+CviCDgrprgr4fgrrDgr40nLCfgrqjgrr/grrDgrqjgr43grqTgrrAg4K6H4K6j4K+I4K6q4K+N4K6q4K+BJywn4K6P4K6x4K+N4K6x4K+B4K6u4oCM4K6k4K6/Jywn4K614K+G4K6z4K6/4K6v4K+A4K6f4K+BJywn4K6D4K6q4K6+4K6w4K+N4K6u4oCM4K6f4K+NIChGb3JtYXQpJywn4K6w4K+K4K6f4K+N4K6f4K+A4K6p4K+NICcsJ+CuqOCuv+CuleKAjOCutOCvjeCumuCvjeCumuCuv+CuleKAjOCus+CvjScsJ+CupOKAjOCuleKAjOCuteKAjOCusuCvjScsJ+CuquKAjOCur+KAjOCuqeCuvuCus+KAjOCusOCviCDgrongrrDgr4HgrrXgrr7grpXgr43grpXgr4EnLCfgrrXgrr/grqnigIzgrrXigIzgrrLgrr/grrLgr40g4K6k4oCM4K614oCM4K6x4K+B4K6z4K+N4K6z4oCM4K6k4K+BJyxhcnJheSgnJWQg4K614oCM4K6w4K6/4K6a4K+IJywnJWQg4K614oCM4K6w4K6/4K6a4K+I4K6V4oCM4K6z4K+NJyksYXJyYXkoJ+CuteCuv+CuqeKAjOCuteKAjOCusuCvjSDgrprgr4bgrq/igIzgrrLgr43grqrigIzgrp/gr4HgrqTgr43grqTigIzgrqrgr43grqrigIzgrp/gr43grp/igIzgrqTgr4EsICVkIOCuteKAjOCusOCuv+CumuCviCDgrq7grr7grrHgr43grrHigIzgrqrgr43grqrigIzgrp/gr43grp/igIzgrqTgr4EuJywn4K614K6/4K6p4oCM4K614oCM4K6y4K+NIOCumuCvhuCur+KAjOCusuCvjeCuquKAjOCun+CvgeCupOCvjeCupOKAjOCuquCvjeCuquKAjOCun+CvjeCun+KAjOCupOCvgSwgJWQg4K614oCM4K6w4K6/4K6a4K+I4K6V4oCM4K6z4K+NIOCuruCuvuCuseCvjeCuseCuquCvjeCuquKAjOCun+CvjeCun+KAjOCuqeKAjC4nKSwn4K6a4K+G4K6v4oCM4K6y4K+NIOCuquKAjOCun+CvgeCupOCvjeCupOKAjCDgro7grqjgr43grqTigIwg4K6V4oCM4K6f4K+N4K6f4oCM4K6z4K+I4K6V4oCM4K6z4K+B4K6u4K+NIOCuh+CusuCvjeCusuCviC4nLGFycmF5KCclZCDgrrXgrr/grqnigIzgrrXigIzgrrLgr40g4K6a4K+G4K6v4oCM4K6y4K+N4K6q4oCM4K6f4K+B4K6k4K+N4K6k4oCM4K6q4K+N4K6q4oCM4K6f4K+N4K6f4oCM4K6k4K+BLicsJyVkIOCuteCuv+CuqeKAjOCuteKAjOCusuCvjeCuleKAjOCus+CvjSDgrprgr4bgrq/igIzgrrLgr43grqrigIzgrp/gr4HgrqTgr43grqTigIzgrqrgr43grqrigIzgrp/gr43grp/igIzgrqnigIwuJyksJ+CuleCvi+CuquCvjeCuquCviCDgrq7gr4fgrrLgr4fgrrHgr43grrHgr4EgKHVwbG9hZCkgJywn4K6V4K+L4K6q4K+N4K6q4K+B4K6V4oCM4K6z4K+NIOCuruCvh+CusuCvh+CuseCvjeCuseCuruCvjSAodXBsb2FkKeCuruCvgeCun+KAjOCuleCvjeCuleKAjOCuquCvjeCuquKAjOCun+CvjeCun+CvgeCus+CvjeCus+KAjOCuqeKAjC4nLCfgrprgr4bgrq/igIzgrrLgr43grqrigIzgrp/gr4HgrqTgr43grqTgr4EnLCfgrqrgrr/grrTgr4gg4K6P4K6x4K+N4K6q4oCM4K6f4K6/4K6p4K+NIOCuqOCuv+CuseCvjeCuleKAjCcsJ+CuquCuv+CutOCviOCuleKAjOCus+CviCDgrq7igIzgrp/gr43grp/gr4Hgrq7gr40g4K6V4K6+4K6j4K+N4K6q4K6/4K6V4K+N4K6V4oCM4K614K+B4K6u4K+NJywn4K6a4K+G4K6w4K+N4K614oCM4K6w4K6/4K6y4K+NIOCuh+CusOCvgeCuqOCvjeCupOCvgScsJ+CuteCvhuCuquCvjSDgrprigIzgrrDgr43grrXigIzgrrDgr40g4K6V4K+L4K6q4K+N4K6q4K+BICVzJywn4K6V4K+L4K6q4K+N4K6q4K6/4K6p4K+IIOCuh+Cur+KAjOCuleCvjeCuleKAjOCuteCvgeCuruCvjScsJ+CuteKAjOCusOKAjOCusuCuvuCuseCvgScsJ+CupOCvgeCun+CviCAoQ2xlYXIpJywn4K6F4K6p4K+I4K6k4K+N4K6k4K+I4K6v4K+B4K6u4K+NIOCupOCviuCuleCvgScsJ+CuieCusOCvgeCuquCvjeCuquCun+CuvyDgrqjgr4DgrpXgr43grpXigIzgrqrgr43grqrigIzgrp/gr43grp/igIzgrqTgr4EuJywn4K6J4K6w4K+B4K6q4K+N4K6q4oCM4K6f4K6/IOCuquCvgeCupOCvgeCuquCvjeCuquCuv+CuleCvjeCuleKAjOCuquCvjeCuquKAjOCun+CvjeCun+KAjOCupOCvgS4nLCfgrongrrDgr4Hgrqrgr43grqrigIzgrp/grr8gKEl0ZW0pIOCumuCvh+CusOCvjeCuleCvjeCuleKAjOCuquCvjeCuquKAjOCun+CvjeCun+KAjOCupOCvgS4nLCfgrqrgr4HgrpXgr4HgrqTgr43grqTgr4EnLCfgrprgr4fgrq7grr8nLCfgrprgr4fgrq7grr/grqTgr43grqTigIwg4K6q4K6/4K6x4oCM4K6V4K+BIOCupOCviuCuleCvgeCuquCvjeCuquKAjOCupOCviCDgrqTgr4rgrp/igIzgrrDigIzgrrXgr4Hgrq7gr40nLCfgrprgr4fgrq7grr/grqTgr43grqTigIzgrqrgr40g4K6q4K6/4K6p4K+NIOCuheCun+CvgeCupOCvjeCupOKAjOCupOCviCDgrqrgr4HgrpXgr4HgrqTgr43grqTgr4EnLCfgrqjgr4DgrpXgr43grpXgr4EnLCfgroXgrp/gr43grp/igIzgrrXigIzgrqPgr4gg4K6o4K+A4K6V4K+N4K6V4oCM4K6q4K+N4K6q4oCM4K6f4K+N4K6f4oCM4K6k4K+BLicsJ+CuheCun+CvjeCun+KAjOCuteCuo+CviCDgrq7grr7grrHgr43grrHigIzgrqrgr43grqrigIzgrp/gr43grp/igIzgrqTgr4EuJywn4K6F4K6f4K+N4K6f4oCM4K614oCM4K6j4K+IIOCuieCusOCvgeCuteCuvuCuleCvjeCuleKAjOCuquCvjeCuquKAjOCun+CvjeCun+KAjOCupOCvgS4nLCfgroXgrp/gr43grp/igIzgrrXigIzgrqPgr4jgrq/gr4gg4K6J4K6w4K+B4K614K6+4K6V4K+N4K6V4K+BJywn4K6F4K6p4K+B4K6u4oCM4K6k4K6/4K6V4K+N4K6V4oCM4K6q4K+N4K6q4oCM4K6f4K+N4K6f4oCMIOCuheCupOCuv+CuleKAjOCuquKAjOCun+CvjeCumuKAjCDgrpXgr4vgrqrgr43grqrgr4HgrpXigIzgrrPgrr/grqngr40g4K6O4K6j4K+N4K6j4K6/4K6V4K+N4K6V4K+IIOCuruCvgOCuseKAjOCuquCvjeCuquKAjOCun+CvjeCun+KAjOCupOCvgS4g4K6k4oCM4K6v4oCM4K614K+BIOCumuCvhuCur+CvjeCupOCvgSAlcyDgrq7igIzgrrHgr43grrHgr4Hgrq7gr40gJXMg4K6v4K+IIOCuheCupOCuv+CuleKAjOCusOCuv+CuleCvjeCuleKAjOCuteCvgeCuruCvjS4nLCfgroXgrp/gr43grp/igIzgrrXigIzgrqPgr4jgrqrgr40g4K6q4K+G4K6v4oCM4K6w4K+NJywn4K6O4K6e4K+N4K6a4K6/4K6p4K+NJywn4K6q4K6/4K6w4K6/4K6k4K+N4K6k4oCM4K6k4K+BJywn4K6q4K6/4K6w4K6/4K614K+B4K6V4oCM4K6z4K+NJywn4K6q4K6/4K6w4K6/4K614K6/4K6p4K+NIOCuquCvhuCur+KAjOCusOCvjScsJ+CuruKAjOCupOCuv+CuquCvjeCuquCvgeCuleKAjOCus+CvjScsJ+CuheCuleKAjOCuteKAjOCusOCuv+CumuCviOCuleKAjOCus+CvjSAoSW5kZXhlcykg4K6u4K6+4K6x4K+N4K6x4oCM4K6q4K+N4K6q4K6f4K+N4K6f4oCM4K6k4K+BLicsJ+CuheCuleKAjOCuteKAjOCusOCuv+CumuCviCDgrrXigIzgrpXgr4ggKEluZGV4IFR5cGUpJywn4K6o4K+G4K6f4K+B4K614oCM4K6w4K6/4K6a4K+IICjgrqjgr4DgrrPigIzgrq7gr40pJywn4K6q4K+G4K6v4oCM4K6w4K+NJywn4K6k4oCM4K6V4oCM4K614oCM4K6y4K+N4K6k4oCM4K6z4oCM4K6u4K+NIOCuqOCvgOCuleCvjeCuleKAjOCuquCvjeCuquKAjOCun+CvjeCun+KAjOCupOCvgS4nLCfgrqTigIzgrpXigIzgrrXigIzgrrLgr43grqTigIzgrrPigIzgrq7gr40g4K6q4K+G4K6v4oCM4K6w4K+NIOCuruCuvuCuseCvjeCuseKAjOCuquCvjeCuquKAjOCun+CvjeCun+KAjOCupOCvgS4nLCfgrqTigIzgrpXigIzgrrXigIzgrrLgr43grqTigIzgrrPigIzgrq7gr40g4K6J4K6w4K+B4K614K6+4K6V4K+N4K6V4oCM4K6q4K+N4K6q4oCM4K6f4K+N4K6f4oCM4K6k4K+BLicsJ+CupOKAjOCuleKAjOCuteKAjOCusuCvjeCupOKAjOCus+KAjOCuruCvjSDgrq7grr7grrHgr43grrHigIzgrqrgr43grqrigIzgrp/gr43grp/igIzgrqTgr4EuJywn4K6k4oCM4K6V4oCM4K614oCM4K6y4K+N4K6k4oCM4K6z4oCM4K6k4K+N4K6k4K+IIOCuieCusOCvgeCuteCuvuCuleCvjeCuleCvgScsJ+CuheCuruCviOCuquCvjeCuquCvgeCuruCvgeCuseCviCDgrqjgr4DgrpXgr43grpXigIzgrqrgr43grqrigIzgrp/gr43grp/igIzgrqTgr4EuJywn4K6F4K6u4K+I4K6q4K+N4K6q4K+B4K6u4K+B4K6x4K+IIOCuieCusOCvgeCuteCuvuCuleCvjeCuleKAjOCuquCvjeCuquKAjOCun+CvjeCun+KAjOCupOCvgS4nLCfgroXgrq7gr4jgrqrgr43grqrgr4Hgrq7gr4HgrrHgr4gg4K6u4K6+4K6x4K+N4K6x4oCM4K6q4K+N4K6q4oCM4K6f4K+N4K6f4oCM4K6k4K+BLicsJ+CuheCutOCviCcsYXJyYXkoJ+CusOCviuCun+CvjeCun+CvgOCuqeCvjeCuleKAjOCus+CvjSDgroXgrrTgr4jgrpXgr43grpXigIzgrqrgr43grqrgrp/gr43grp/gr4HgrrPgr43grrPigIzgrqnigIwsICVkIOCuteKAjOCusOCuv+CumuCviCDgrq7grr7grrHgr43grrHigIzgrq7gr40g4K6F4K6f4K+I4K6o4K+N4K6k4oCM4K6k4K+BLicsJ+CusOCviuCun+CvjeCun+CvgOCuqeCvjeCuleKAjOCus+CvjSDgroXgrrTgr4jgrpXgr43grpXigIzgrqrgr43grqrigIzgrp/gr43grp/gr4HgrrPgr43grrPigIzgrqnigIwsICVkIOCuteKAjOCusOCuv+CumuCviOCuleKAjOCus+CvjSDgrq7grr7grrHgr43grrHgrq7gr40g4K6F4K6f4K+I4K6o4K+N4K6k4K+B4K6z4K+N4K6z4oCM4K6p4oCMLicpLCfgrrXgr4fgrrHgr43grrHgr4Eg4K614K6/4K6a4K+IIOCuqOCvgOCuleCvjeCuleKAjOCuquCvjeCuquKAjOCun+CvjeCun+KAjOCupOCvgS4nLCfgrrXgr4fgrrHgr43grrHgr4Eg4K614K6/4K6a4K+IIOCuruCuvuCuseCvjeCuseKAjOCuquCvjeCuquKAjOCun+CvjeCun+KAjOCupOCvgS4nLCfgrrXgr4fgrrHgr43grrHgr4Eg4K614K6/4K6a4K+IIOCuieCusOCvgeCuteCuvuCuleCvjeCuleKAjOCuquCvjeCuquKAjOCun+CvjeCun+KAjOCupOCvgS4nLCfgrofgrrLigIzgrpXgr43grpXgr4Eg4K6o4K+G4K6f4K+B4K614oCM4K6w4K6/4K6a4K+I4K6v4K6/4K6y4K+NIOCuheCuleKAjOCuteKAjOCusOCuv+CumuCviCAoSW5kZXgpIOCuruKAjOCuseCvjeCuseCvgeCuruCvjSDgrpXgr4HgrrHgrr/grpXgr43grpXigIzgrqrgr43grqrigIzgrp/gr43grp/igIwg4K6k4oCM4K6V4oCM4K614K6y4K+NIChSZWZlcmVuY2VkIERBVEEpIOCuleKAjOCuo+CvjeCun+Cuv+CuquCvjeCuquCuvuCuleKAjCDgrofgrrDgr4HgrqTgr43grqTigIzgrrLgr40g4K614K+H4K6j4K+N4K6f4K+B4K6u4K+NLiDgrq7gr4LgrrLigIwg4K6o4K+G4K6f4K+B4K614oCM4K6w4K6/4K6a4K+IIOCuruKAjOCuseCvjeCuseCvgeCuruCvjSDgrofgrrLgrpXgr43grpXgr4Eg4K6o4K+G4K6f4K+B4K614oCM4K6w4K6/4K6a4K+I4K6v4K6/4K6p4K+NIOCupOKAjOCuleKAjOCuteKAjOCusuCvjSDgrrXigIzgrp/grr/grrXigIzgrq7gr40gKERBVEEgVFlQRSkg4K6S4K6p4K+N4K6x4K6+4K6V4oCMIOCuh+CusOCvgeCuleCvjeCuleKAjCDgrrXgr4fgrqPgr43grp/gr4Hgrq7gr40uJywn4K614K+H4K6x4K+N4K6x4K+BIOCuteCuv+CumuCviCcsJ+CuheCun+CvjeCun+KAjOCuteKAjOCuo+CviCDgrofgrrLigIzgrpXgr43grpXgr4EnLCfgrq7grr7grrHgr43grrHgr4EnLCfgrqjgr4bgrp/gr4Eg4K614oCM4K6w4K6/4K6a4K+I4K6v4K+IIOCumuCvh+CusOCvjeCuleCvjeCuleKAjOCuteCvgeCuruCvjScsJ+CupOCvi+CuseCvjeCuseKAjOCuruCvjSDgrqjgr4DgrpXgr43grpXigIzgrqrgr43grqrigIzgrp/gr43grp/igIzgrqTgr4EuJywn4K6k4K+L4K6x4K+N4K6x4K6u4K+NIOCuruCuvuCuseCvjeCuseCuquCvjeCuquKAjOCun+CvjeCun+KAjOCupOCvgS4nLCfgrqTgr4vgrrHgr43grrHigIzgrq7gr40g4K6J4K6w4K+B4K614K6+4K6V4K+N4K6V4oCM4K6q4K+N4K6q4oCM4K6f4K+N4K6f4oCM4K6k4K+BLicsJ+CupOCvi+CuseCvjeCuseCupOCvjeCupOCviCDgrongrrDgr4HgrrXgrr7grpXgr43grpXgr4EnLCfgrqjgrr/grpXigIzgrrTgr43grprgr43grprgrr8gKEV2ZW50KSDgrqjgr4DgrpXgr43grpXigIzgrqrgr43grqrigIzgrp/gr43grp/igIzgrqTgr4EuJywn4K6o4K6/4K6V4oCM4K604K+N4K6a4K+N4K6a4K6/IChFdmVudCkg4K6u4K6+4K6x4K+N4K6x4K6q4K+N4K6q4oCM4K6f4K+N4K6f4oCM4K6k4K+BLicsJ+CuqOCuv+CuleKAjOCutOCvjeCumuCvjeCumuCuvyAoRXZlbnQpIOCuieCusOCvgeCuteCuvuCuleCvjeCuleKAjOKAjOCuquCvjeCuquKAjOCun+CvjeCun+KAjOCupOCvgS4nLCfgrqjgrr/grpXigIzgrrTgr43grprgr43grprgrr/grq/gr4ggKEV2ZW50KSDgrq7grr7grrHgr43grrHgr4EnLCfgrqjgrr/grpXigIzgrrTgr43grprgr43grprgrr/grq/gr4ggKEV2ZW50KSDgrongrrDgr4HgrrXgrr7grpXgr43grpXgr4EnLCfgrqTgr4rgrp/igIzgrpngr43grpXgr4EnLCfgrq7gr4Hgrp/grr8gKOCuteCvgSknLCfgrpLgrrXgr43grrXgr4rgrrDgr4EnLCfgrq7gr4Hgrp/grr/grqjgr43grqTigIzgrqTgrr/grqngr40g4K6q4K6/4K6p4K+NIOCuquCuvuCupOCvgeCuleCuvuCuleCvjeCuleKAjOCuteCvgeCuruCvjScsJ+CusOCviuCun+CvjeCun+CvgOCuqeCvjSDgrqjgr4DgrpXgr43grpXigIzgrqrgr43grqrigIzgrp/gr43grp/igIzgrqTgr4EuJywn4K6w4K+K4K6f4K+N4K6f4K+A4K6p4K+NIOCuruCuvuCuseCvjeCuseKAjOCuquCvjeCuquKAjOCun+CvjeCun+CupOCvgS4nLCfgrrDgr4rgrp/gr43grp/gr4Dgrqngr40g4K6J4K6w4K+B4K614K6+4K6V4K+N4K6V4oCM4K6q4K+N4K6q4oCM4K6f4K+N4K6f4oCM4K6k4K+BLicsJ0Z1bmN0aW9uIOCuruCuvuCuseCvjeCuseCvgScsJ+CumuCvhuCur+KAjOCusuCvjeCuruCvgeCuseCviOCur+CviCDgrq7grr7grrHgr43grrHgr4EnLCdGdW5jdGlvbiDgrongrrDgr4HgrrXgrr7grpXgr43grpXgr4EnLCfgrprgr4bgrq/gr43grq7gr4HgrrHgr4jgrq/gr4gg4K6J4K6w4K+B4K614K6+4K6V4K+N4K6V4K+BJywn4K6k4K6/4K6w4K+B4K6u4K+N4K6q4K+BIOCuteKAjOCuleCviCcsJ+CuteKAjOCusOCuv+CumuCviOCuruCvgeCuseCviCDgrqjgr4DgrpXgr43grpXigIzgrqrgr43grqrigIzgrp/gr43grp/igIzgrqTgr4EuJywn4K614oCM4K6w4K6/4K6a4K+I4K6u4K+B4K6x4K+IIOCuieCusOCvgeCuteCuvuCuleCvjeCuleKAjOCuquCvjeCuquKAjOCun+CvjeCun+KAjOCupOCvgS4nLCfgrrXigIzgrrDgrr/grprgr4jgrq7gr4HgrrHgr4gg4K6u4K6+4K6x4K+N4K6x4oCM4K6q4K+N4K6q4oCM4K6f4K+N4K6f4oCM4K6k4K+BLicsJ+CuteKAjOCusOCuv+CumuCviOCuruCvgeCuseCviOCur+CviCDgrq7grr7grrHgr43grrHgr4EnLCfgrrXigIzgrrDgrr/grprgr4jgrq7gr4HgrrHgr4jgrq/gr4gg4K6J4K6w4K+B4K614K6+4K6V4K+N4K6V4K+BJywn4K614oCM4K6V4K+IICh0eXBlKSDgrqjgr4DgrpXgr43grpXigIzgrqrgr43grqrigIzgrp/gr43grp/igIzgrqTgr4EuJywn4K614oCM4K6V4K+IICh0eXBlKSDgrongrrDgr4HgrrXgrr7grpXgr43grpXigIzgrqrgr43grqrigIzgrp/gr43grp/igIzgrqTgr4EuJywn4K614oCM4K6V4K+I4K6v4K6/4K6p4K+IICh0eXBlKSDgrq7grr7grrHgr43grrHgr4EnLCfgrrXigIzgrpXgr4jgrq/gr4gg4K6J4K6w4K+B4K614K6+4K6V4K+N4K6V4K+BJywn4K6k4K+C4K6j4K+N4K6f4K+BIOCuteCuv+CumuCviCDgrqjgr4DgrpXgr43grpXigIzgrqrgr43grqrigIzgrp/gr43grp/igIzgrqTgr4EuJywn4K6k4K+C4K6j4K+N4K6f4K+BIOCuteCuv+CumuCviCDgrq7grr7grrHgr43grrHigIzgrqrgr43grqrigIzgrp/gr43grp/igIzgrqTgr4EuJywn4K6k4K+C4K6j4K+N4K6f4K+BIOCuteCuv+CumuCviCDgrongrrDgr4HgrrXgrr7grpXgr43grpXigIzgrqrgr43grqrigIzgrp/gr43grp/igIzgrqTgr4EuJywn4K6k4K+C4K6j4K+N4K6f4K+BIOCuteCuv+CumuCviOCur+CviCDgrq7grr7grrHgr43grrHgr4EnLCfgrqTgr4LgrqPgr43grp/gr4Eg4K614K6/4K6a4K+I4K6v4K+IIOCuieCusOCvgeCuteCuvuCuleCvjeCuleCvgScsJ+CuqOCvh+CusOKAjOCuruCvjScsJ+CuqOCuv+CuleKAjOCutOCvjeCumuCvjeCumuCuvycsJ+CuquKAjOCur+CuqeCvgOCun+CvjeCun+CuvuCus+KAjOCusOCvjSDgrqjgr4DgrpXgr43grpXigIzgrqrgr43grqrigIzgrp/gr43grp/grr7grrDgr40uJywn4K6q4oCM4K6v4K6p4K+A4K6f4K+N4K6f4K6+4K6z4oCM4K6w4K+NIOCuruCuvuCuseCvjeCuseCuquCvjeCuquKAjOCun+CvjeCun+CuvuCusOCvjS4nLCfgrqrigIzgrq/igIzgrqngr4Dgrp/gr43grp/grr7grrPigIzgrrDgr40g4K6J4K6w4K+B4K614K6+4K6V4K+N4K6V4oCM4K6q4K+N4K6q4oCM4K6f4K+N4K6f4oCM4K6k4K+BLicsJ0hhc2hlZCcsJ+CusOCviuCun+CvjeCun+CvgOCuqeCvjScsJ+CuheCuqeCvgeCuruKAjOCupOCuv+Cur+KAjOCus+CuvycsJ+Cuh+CusOKAjOCupOCvjeCupOCvgeCumuCvjeCumuCvhuCur+CvjScsYXJyYXkoJyVkIOCuteCvh+CusuCviCDgrrXigIzgrrLgr4HgrrXgrr/grrLgr40g4K6o4K6/4K6x4K+B4K6k4K+N4K6k4oCM4K6q4oCM4K6f4K+N4K6f4oCM4K6k4K+BLicsJyVkIOCuteCvh+CusuCviOCuleKAjOCus+CvjSDgrrXigIzgrrLgr4HgrrXgrr/grrLgr40g4K6o4K6/4K6x4K+B4K6k4K+N4K6k4oCM4K6q4oCM4K6f4K+N4K6f4oCM4K6p4oCMLicpLCfgrq7gr4rgrqTgr43grqTgrq7gr40gJWQgJywn4K614oCM4K6y4K+B4K614K6/4K6y4K+NIOCuqOCuv+CuseCvgeCupOCvjeCupOCvgScsYXJyYXkoJyVkIOCuieCusOCvgeCuquCvjeCuquKAjOCun+CuvyDgrq7grr7grrHgr43grrHigIzgrq7igIzgrp/gr4jgrqjgr43grqTgrqTgr4EuJywnJWQg4K6J4K6w4K+B4K6q4K+N4K6q4oCM4K6f4K6/4K6V4oCM4K6z4K+NIOCuruCuvuCuseCvjeCuseKAjOCuruKAjOCun+CviOCuqOCvjeCupOKAjOCuqeKAjC4nKSwn4K6u4oCM4K6k4K6/4K6q4K+N4K6q4K6/4K6p4K+IIOCuruCuvuCuseCvjeCusSDgroXgrqTigIzgrqngr40g4K6u4K+A4K6k4K+BIOCuh+CusOCvgeCuruCvgeCuseCviCDgrprgr4rgrp/gr4HgrpXgr43grpXigIzgrrXgr4Hgrq7gr40gKERvdWJsZSBjbGljaykuJyxhcnJheSgnJWQg4K614oCM4K6w4K6/4K6a4K+IIOCuh+CuseKAjOCuleCvjeCuleCvgeCuruKAjOCupOCuvyAoSW1wb3J0KSDgrprgr4bgrq/gr43grq/igIzgrqrgr43grqrigIzgrp/gr43grp/igIzgrqTgr4EuJywnJWQg4K614oCM4K6w4K6/4K6a4K+I4K6V4oCM4K6z4K+NIOCuh+CuseKAjOCuleCvjeCuleCvgeCuruKAjOCupOCuvyAoSW1wb3J0KSDgrprgr4bgrq/gr43grq/igIzgrqrgr43grqrigIzgrp/gr43grp/grqnigIwuJyksJ+CuheCun+CvjeCun+KAjOCuteKAjOCuo+CviOCur+CviCDgrqTgr4fgrrDgr43grrXgr4Eg4K6a4K+G4K6v4K+N4K6v4oCMIOCuruCvgeCun+Cuv+Cur+KAjOCuteCuv+CusuCvjeCusuCviCcsJ+CupOCviuCuleCvgScsJ+CuieCuseKAjOCuteCvgeCuleKAjOCus+CvjSAoUmVsYXRpb25zKScsJ+Cuh+CuqOCvjeCupOKAjCDgrq7igIzgrqTgrr/grqrgr43grqrgrr/grqngr4gg4K6u4K6+4K6x4K+N4K6x4oCMLCDgrqTgr4rgrpXgr4Hgrqrgr43grqrgr4Eg4K6H4K6j4K+I4K6q4K+N4K6q4K6/4K6p4K+IIOCuieCuquKAjOCur+Cvi+CuleCuv+CuleCvjeCuleKAjOCuteCvgeCuruCvjS4nLCfgrqrigIzgrpXgr43grpXigIzgrq7gr40nLCfgrpXigIzgrp/gr4jgrprgrr8nLCfgrq7gr4HgrrTgr4Hgrq7gr4jgrq/grr7grqnigIwg4K6u4K+B4K6f4K6/4K614K+BJywn4K6o4oCM4K6V4oCM4K6y4K6/IChDbG9uZSknLCfgrofgrrHigIzgrpXgr43grpXgr4Hgrq7igIzgrqTgrr8gKEltcG9ydCknLCcsJywn4K6F4K6f4K+N4K6f4oCM4K614oCM4K6j4K+IIOCuleCvgeCuseCviOCuleCvjeCuleKAjOCuquCvjeCuquKAjOCun+CvjeCun+KAjOCupOCvgSAodHJ1bmNhdGVkKS4nLCfgroXgrp/gr43grp/igIzgrrXigIzgrqPgr4gg4K6o4oCM4K6V4oCM4K6w4K+N4K6k4K+N4K6k4oCM4K6q4K+N4K6q4oCM4K6f4K+N4K6f4oCM4K6k4K+BLicsJ+CuheCun+CvjeCun+CuteCuo+CviOCuleCus+CvjSDgrqjgrpXgrrLgr4bgrp/gr4HgrpXgr43grpXgrqrgr40g4K6q4K6f4K+N4K6f4K6k4K+BLicsJ+CuheCun+CvjeCun+KAjOCuteKAjOCuo+CviCDgrqjgr4DgrpXgr43grpXigIzgrqrgr43grqrigIzgrp/gr43grp/igIzgrqTgr4EuJywn4K6F4K6f4K+N4K6f4oCM4K614oCM4K6j4K+I4K6V4oCM4K6z4K+B4K6u4K+NIOCuquCuvuCusOCvjeCuteCviOCuleKAjOCus+CvgeCuruCvjScsJ+CupOKAjOCuleKAjOCuteKAjOCusuCviCDgroXgrp/gr43grp/igIzgrrXigIzgrqPgr4jgrq/grr/grrLgr40g4K6k4K+H4K6f4K+BJywn4K6O4K6e4K+N4K6a4K6/4K6p4K+NIChFbmdpbmUpJywn4K6k4oCM4K6V4oCM4K614oCM4K6y4K+NIOCuqOCvgOCus+KAjOCuruCvjScsJ0luZGV4IOCuqOCvgOCus+KAjOCuruCvjScsJ0RhdGEgRnJlZScsJ+CuteKAjOCusOCuv+CumuCviOCuleKAjOCus+CvjScsJ+CuqOCvgeCuo+CvgeCuleCuvyDgrobgrrDgrr7grq/igIzgrrXgr4Hgrq7gr40nLCfgrongrpXigIzgrqrgr43grqrgrr7grpXgr43grpXgr4EgKE9wdGltaXplKScsJ+CuquKAjOCusOCuv+CumuCvi+CupOCuvycsJ+CuquKAjOCutOCvgeCupOCvgSDgrqrgrr7grrDgr40nLCfgrpXgr4HgrrHgr4ggKFRydW5jYXRlKScsJ+CuruKAjOCuseCvjeCuseKAjCDgrqTigIzgrpXigIzgrrXigIzgrrLgr40g4K6k4K6z4oCM4K6k4K+N4K6k4K6/4K6x4K+N4K6V4K+N4K6V4K+BIOCuqOKAjOCuleKAjOCusOCvjeCupOCvjeCupOCvgScsJ+CuqOKAjOCuleKAjOCusOCvjeCupOCvjeCupOCvgScsJ+CuqOCuleCusuCvjScsJ+CuteKAjOCusOCuv+CumuCviOCuruCvgeCuseCviCcsJ+CuleCuvuCusuKAjCDgroXgrp/gr43grp/igIzgrrXigIzgrqPgr4gnLCfgrpXgr4HgrrHgrr/grqTgr43grqTigIwg4K6o4K+H4K6w4oCM4K6k4K+N4K6k4K6/4K6y4K+NJywnSEg6TU06U1MnKTticmVhaztjYXNlImFyIjokUj1hcnJheSgn2YfZhCDYo9mG2Kog2YXYqtij2YPYr9ifJywn2YXZhiDYutmK2LEg2KfZhNmF2YXZg9mGINix2YHYuSDYp9mE2YXZhNmBLicsJ9it2KzZhSDYp9mE2YXZhNmBINin2YTYo9mC2LXZiSDZh9mIICVzQi4nLCfYp9mE2YXZhNmBINi62YrYsSDZhdmI2KzZiNivLicsJ9mB2KfYsdi6Jywn2KfZhNij2LXZhNmKJywn2YTYpyDYqtmI2KzYryDYrNiv2KfZiNmELicsJ9in2YTZhNi62KknLCfYp9mE2YXYs9iq2LnZhdmEJywn2YXZhiDZgdi22YTZgyDYpdiz2KrYudmF2YQg2KXYrdiv2Ykg2KfZhNil2YXYqtiv2KfYr9in2Ko6ICVzLicsJ9in2YTZhdmE2YEg2YXZiNis2YjYry4nLCfZhtmI2Lkg2KfZhNmF2LPYqtiu2K/ZhScsJ9ij2LnYr9in2K8nLCfYp9mE2KrYp9ix2YrYriDZiCDYp9mE2YjZgtiqJywn2LPZhNin2LPZhCcsJ9ir2YbYp9im2YrYqScsJ9i02KjZg9ipJywn2YfZhtiv2LPYqScsJ9mC2YjYp9im2YUnLCfYp9mE2YbYuNin2YUnLCfYp9mE2K7Yp9iv2YUnLCfYp9mE2YXYs9iq2LnZhdmEJywn2YPZhNmF2Kkg2KfZhNmF2LHZiNixJywn2KrYs9is2YrZhCDYp9mE2K/YrtmI2YQnLCfYqtiz2KzZitmEINiv2K7ZiNmEINiv2KfYptmFJywn2LnYsdi2INin2YTYqNmK2KfZhtin2KonLCfYudix2LYg2KfZhNiq2LHZg9mK2KjYqScsJ9iq2LnYr9mK2YQg2LnYsdi2Jywn2KrYudiv2YrZhCDYp9mE2KzYr9mI2YQnLCfYudmG2LXYsSDYrNiv2YrYrycsJ9in2YTYtdmB2K3YqSDYp9mE2LPYp9io2YLYqScsJ9iq2LnYr9mK2YQnLCclZCDYqNin2YrYqicsJ9il2K7YqtmK2KfYsScsJ9in2YTYr9mI2KfZhCcsJ9iq2KzZhdmK2LknLCfYqNit2KsnLCfZgdmKINin2Yog2YXZg9in2YYnLCfYqtix2KrZitioJywn2KrZhtin2LLZhNmKJywn2K3YrycsJ9i32YjZhCDYp9mE2YbYtScsJ9it2LHZg9ipJywn2KXYs9iq2LnZhNin2YUgU1FMJywn2YHYqtitJywn2K3Zgdi4Jywn2KrYudiv2YrZhCDZgtin2LnYr9ipINin2YTYqNmK2KfZhtin2KonLCfYqti52K/ZitmEINin2YTZhdiu2LfYtycsJ9il2YbYtNin2KEg2YXYrti32LcnLCfZhdiu2LfYtyDZgdin2LnYr9ipINin2YTYqNmK2KfZhtin2KonLCfYp9mE2KXZhdiq2YrYp9iy2KfYqicsJ9iq2LXYr9mK2LEnLCfYqtiz2KzZitmEINin2YTYrtix2YjYrCcsJ9mC2KfYudiv2Kkg2KjZitin2YbYp9iqJywn2KfZhNmF2K7Yt9i3Jywn2KPZhti02KYg2KzYr9mI2YQg2KzYr9mK2K8nLCfYqtit2K/ZitivJywncnRsJywn2YfZhCDYqtmI2K8g2KXYudin2K/YqSDYpdix2LPYp9mEINio2YrYp9mG2KfYqiBQT1NUINifJywnQ1NSRiBUb2tlbiDYrtin2LfYpi4g2YXZhiDZgdi22YTZgyDYo9i52K8g2KXYsdiz2KfZhCDYp9mE2KXYs9iq2YXYp9ix2KkuJywn2YXYuSDYp9mE2LPZhNin2YXYqS4nLCfYudmE2YrZgyDYqtmB2LnZitmEINmG2LjYp9mFINin2YTYrNmE2LPYp9iqLicsJ9il2YbYqtmH2Kog2KfZhNis2YTYs9ip2Iwg2YXZhiDZgdi22YTZgyDYo9i52K8g2KrYs9is2YrZhCDYp9mE2K/YrtmI2YQuJywn2YHYtNmEINmB2Yog2KrYs9is2YrZhCDYp9mE2K/YrtmI2YQuJywn2KXZhdiq2K/Yp9ivINi62YrYsSDZhdmI2KzZiNivJywn2KXZhdiq2K/Yp9iv2KfYqiBwaHAg2KfZhNmF2K/YudmI2YXYqSDYutmK2LEg2YXZiNis2YjYr9ipLicsJ9mF2LnZhNmI2YXYp9iqIFBPU1Qg2YPYqNmK2LHYqSDYrNiv2KcuINmC2YUg2KjYqtmC2YTZiti1INit2KzZhSDYp9mE2YXYudmE2YjZhdin2Kog2KPZiCDZgtmFINio2LLZitin2K/YqSDZgtmK2YXYqSAlcyDZgdmKINiu2YrYp9ix2KfYqiDYp9mEIFBIUC4nLCfZgtin2LnYr9ipINio2YrYp9mG2KfYqicsJ9mC2KfYudiv2Kkg2KjZitin2YbYp9iqINiu2KfYt9im2KkuJywn2KrZhSDYrdiw2YEg2YLZiNin2LnYryDYp9mE2KjZitin2YbYp9iqLicsJ9il2K7YqtixINmC2KfYudiv2Kkg2KfZhNio2YrYp9mG2KfYqicsJ9ij2YbYtNimINmB2KfYudiv2Kkg2KjZitin2YbYp9iqJywn2YLYp9im2YXYqSDYp9mE2KXYrNix2KfYodin2KonLCfZhdiq2LrZitix2KfYqicsJ9it2KfZhNipJywn2KfZhNmG2LPYrtipICVzIDogJXMg2LnZhiDYt9ix2YrZgiDYpdmF2KrYr9in2K8g2KfZhCBQSFAgJXMnLCfYqtmFINiq2LPYrNmK2YQg2KfZhNiv2K7ZiNmEINio2KXYs9mFICVzJywn2KrYsdiq2YrYqCcsJ9is2K/Yp9mI2YQnLCfYrdiw2YEnLCfYqtit2K/ZitirJywn2KfZhNmF2K7Yt9i3Jywn2YXYrti32Lcg2K7Yp9i32KYuJywn2YTYpyDYqtmI2KzYryDZhtiq2KfYptisLicsJyUuM2YgcycsJ9mF2YHYp9iq2YrYrSDYo9is2YbYqNmK2KknLCfYp9mE2KrYsdiq2YrYqCcsJ09OIERFTEVURScsJ9il2LPZhSDYp9mE2LnZhdmI2K8nLCfYpdiz2YUg2KfZhNmF2KrYutmK2LEnLCfYp9mE2YbZiNi5Jywn2KfZhNi32YjZhCcsJ9iu2YrYp9ix2KfYqicsJ9iq2LLYp9mK2K8g2KrZhNmC2KfYptmKJywn2KfZhNmC2YrZhdipINin2YTYpdmB2KrYsdin2LbZitipJywn2KrYudmE2YrZgicsJ9il2LbYp9mB2Kkg2KfZhNiq2KfZhNmKJywn2YbZgtmEINmE2YTYo9i52YTZiScsJ9mG2YLZhCDZhNmE2KPYs9mB2YQnLCfZhdiz2K0nLCfYudix2LYnLCfYrNiv2YjZhCcsJ9i52YXZiNivJywn2KfZhNmF2KTYtNix2KfYqicsJ9iq2LnYr9mK2YQg2KfZhNmF2KTYtNix2KfYqicsJ9in2YTZhdi12K/YsScsJ9in2YTZh9iv2YEnLCdPTiBVUERBVEUnLCfYqti52K/ZitmEJywn2KXYttin2YHYqSDZhdmB2KrYp9itINij2KzZhtio2YonLCfYp9mE2LLZhtin2K/Yp9iqJywn2KXYttin2YHYqSDYstmG2KfYrycsJ9mI2LXZhNipINiv2KfYptmF2KknLCfYqti12K/ZitixJywn2KXYrtix2KfYrCcsJ9in2YTYtdmK2LrYqScsJ9in2YTYsdmI2KrZitmG2KfYqicsJ9in2YTYo9it2K/Yp9irJywn2YXYudmE2YjZhdin2KonLCfYpdmG2LTYp9ihINmF2LPYqtiu2K/ZhScsJ9mH2YbYp9mDINiu2LfYoyDZgdmKINin2YTYpdiz2KrYudmE2KfZhScsJyVkINij2LPYt9ixJywn2KrZhSDYqtmG2YHYs9iwINin2YTYpdiz2KrYudmE2KfZhSwgJWQg2LnYr9ivINin2YTYo9iz2LfYsSDYp9mE2YXYudiv2YTYqS4nLCfZhNinINiq2YjYrNivINij2YjYp9mF2LEg2YTZhNiq2YbZgdmK2LAuJyxhcnJheSgn2KrZhSDYqtmG2YHZitiwINin2YTYpdiz2KrYudmE2KfZhSAlZCDYqNmG2KzYp9itLicsJ9iq2YUg2KrZhtmB2YrYsCDYp9mE2KXYs9iq2LnZhNin2YXYp9iqICVkINio2YbYrNin2K0uJyksJ9ix2YHYuSDZhdmE2YEnLCfYqtmFINil2YTYutin2KEg2LHZgdi5INin2YTZhdmE2YHYp9iqLicsJ9iq2YbZgdmK2LAnLCfYo9mI2YLZgSDZgdmKINit2KfZhNipINit2K/ZiNirINiu2LfYoycsJ9il2LnYsdi2INin2YTYo9iu2LfYp9ihINmB2YLYtycsJ9mF2YYg2KfZhNiu2KfYr9mFJywn2YXZhNmBICVzINmF2YYg2K7Yp9iv2YUg2KfZhNmI2YrYqCcsJ9mG2YHYsCDYp9mE2YXZhNmBJywn2KrYp9ix2YrYricsJ9mF2LPYrScsJ9iq2LnYr9mK2YQg2KfZhNmD2YQnLCfYqtmFINit2LDZgSDYp9mE2LnZhti12LEuJywn2KrZhSDYqti52K/ZitmEINin2YTYudmG2LXYsS4nLCfYqtmFINil2K/Ysdin2Kwg2KfZhNi52YbYtdixLicsJ9il2YbYtNin2KEnLCfYrdmB2LgnLCfYpdit2YHYuCDZiCDZiNin2LXZhCDYp9mE2KrYudiv2YrZhCcsJ9is2YHYuCDZiCDYpdmG2LTYp9ihINin2YTYqtin2YTZiicsJ9mF2LPYrScsJ9iq2YUg2K3YsNmBINin2YTYrNiv2YjZhC4nLCfYqtmFINiq2LnYr9mK2YQg2KfZhNis2K/ZiNmELicsJ9iq2YUg2KXZhti02KfYoSDYp9mE2KzYr9mI2YQuJywn2KXZhti02KfYoSDYrNiv2YjZhCcsJ9mE2YLYryDYqtis2KfZiNiy2Kog2KfZhNi52K/YryDYp9mE2KPZgti12Ykg2YTZhNit2YLZiNmELiDZitix2KzZiSDYp9mE2LHZgdi5INmF2YYgJXMg2YggJXMuJywn2KXYs9mFINin2YTYrNiv2YjZhCcsJ9in2YTZhdit2LHZgycsJ9mF2YLYs9mFINio2YjYp9iz2LfYqScsJ9in2YTYqtmC2LPZitmF2KfYqicsJ9il2LPZhSDYp9mE2KrZgtiz2YrZhScsJ9in2YTZgtmK2YUnLCfYqtmFINiq2LnYr9mK2YQg2KfZhNmF2KTYtNixLicsJ9mG2YjYuSDYp9mE2YXYpNi02LEnLCfYp9mE2LnZhdmI2K8gKNin2YTYt9mI2YQpJywn2KfZhNil2LPZhScsJ9iq2YUg2K3YsNmBINmC2KfYudiv2Kkg2KfZhNio2YrYp9mG2KfYqi4nLCfYqtmF2Kog2KXYudin2K/YqSDYqtiz2YXZitipINmB2KfYudiv2Kkg2KfZhNio2YrYp9mG2KfYqi4nLCfYqtmFINil2YbYtNin2KEg2YLYp9i52K/YqSDYp9mE2KjZitin2YbYp9iqLicsJ9iq2YUg2KrYudiv2YrZhCDZgtin2LnYr9ipINin2YTYqNmK2KfZhtin2KouJywn2KXZhti02KfYoSDZgtin2LnYr9ipINio2YrYp9mG2KfYqicsJ9iq2YUg2K3YsNmBINin2YTZhdiu2LfYty4nLCfYqtmFINil2YbYtNin2KEg2KfZhNmF2K7Yt9i3LicsJ9iq2YUg2KrYudiv2YrZhCDYp9mE2YXYrti32LcuJywn2KXYs9iq2K/Yudin2KEnLCfYqtmFINil2LPYqtiv2LnYp9ihINin2YTYsdmI2KrZitmGLCDYudiv2K8g2KfZhNij2LPYt9ixINin2YTZhdi52K/ZhNipICVkLicsJ9in2YTZhdmB2KrYp9itINin2YTYo9is2YbYqNmKINiq2YUg2YXYs9it2YcuJywn2KfZhNmF2YHYqtin2K0g2KfZhNij2KzZhtio2Yog2KrZhSDYqti52K/ZitmE2YcuJywn2KfZhNmF2YHYqtin2K0g2KfZhNij2KzZhtio2Yog2KrZhSDYpdmG2LTYp9ik2YcuJywn2KPYudmF2K/YqSDYp9mE2YXYtdiv2LEg2Ygg2KfZhNmH2K/ZgSDZitis2Kgg2KPZhiDYqtmD2YjZhiDYqNmG2YHYsyDYp9mE2YbZiNi5LCDZitis2Kgg2KPZhiDZitmD2YjZhiDZh9mG2KfZgyDZhdik2LTYsSDZgdmKINij2LnZhdiv2Kkg2KfZhNmH2K/ZgSDZiCDYp9mE2KjZitin2YbYp9iqINin2YTZhdix2KzYudmK2Kkg2YrYrNioINin2YYg2KrZg9mI2YYg2YXZiNis2YjYr9ipLicsJ9mF2YHYqtin2K0g2KPYrNmG2KjZiicsJ9in2YTYrNiv2YjZhCDYp9mE2YXYs9iq2YfYr9mBJywn2KrYudiv2YrZhCcsJ9ij2LbZgSDYudmF2YjYrycsJ9iq2YUg2YXYs9itINin2YTYudix2LYuJywn2KrZhSDYqti52K/ZitmEINin2YTYudix2LYuJywn2KrZhSDYpdmG2LTYp9ihINin2YTYudix2LYuJywn2KXZhti02KfYoSDYudix2LYnLCfYqtmFINmF2LPYrSDYp9mE2K3Yr9irLicsJ9iq2YUg2KrYudiv2YrZhCDYp9mE2K3Yr9irLicsJ9iq2YUg2KXZhti02KfYoSDYp9mE2K3Yr9irLicsJ9iq2LnYr9mK2YQg2K3Yr9irJywn2KXZhti02KfYoSDYrdiv2KsnLCfYpdio2K/YoycsJ9il2YbZh9in2KEnLCfZg9mEJywn2K3Zgdi4INi52YbYryDYp9mE2KXZhtiq2YfYp9ihJywn2KrZhSDYrdiw2YEg2KfZhNix2YjYqtmK2YYuJywn2KrZhSDYqti52K/ZitmEINin2YTYsdmI2KrZitmGLicsJ9iq2YUg2KXZhti02KfYoSDYp9mE2LHZiNiq2YrZhi4nLCfYqti52K/ZitmEINin2YTYr9in2YTYqScsJ9iq2LnYr9mK2YQg2KfZhNil2KzYsdin2KEnLCfYpdmG2LTYp9ihINiv2KfZhNipJywn2KXZhti02KfYoSDYpdis2LHYp9ihJywn2YbZiNi5INin2YTYudmI2K/YqScsJ9iq2YUg2K3YsNmBINin2YTYs9mE2LPZhNipLicsJ9iq2YUg2KXZhti02KfYoSDYp9mE2LPZhNiz2YTYqS4nLCfYqtmFINiq2LnYr9mK2YQg2KfZhNiz2YTYs9mE2KkuJywn2KrYudiv2YrZhCDYs9mE2LPZhNipJywn2KXZhti02KfYoSDYs9mE2LPZhNipJywn2KrZhSDYrdiw2YEg2KfZhNmG2YjYuS4nLCfYqtmFINil2YbYtNin2KEg2KfZhNmG2YjYuS4nLCfYqti52K/ZitmEINmG2YjYuScsJ9il2YbYtNin2KEg2YbZiNi5Jywn2KrZhSDYrdiw2YEg2KfZhNiy2YbYp9ivLicsJ9iq2YUg2KrYudiv2YrZhCDYp9mE2LLZhtin2K8uJywn2KrZhSDYpdmG2LTYp9ihINin2YTYstmG2KfYry4nLCfYqti52K/ZitmEINiy2YbYp9ivJywn2KXZhti02KfYoSDYstmG2KfYrycsJ9in2YTZiNmC2KonLCfYp9mE2K3Yr9irJywn2KrZhSDYrdiw2YEg2KfZhNmF2LPYqtiu2K/ZhS4nLCfYqtmFINiq2LnYr9mK2YQg2KfZhNmF2LPYqtiu2K/ZhS4nLCfYqtmFINil2YbYtNin2KEg2KfZhNmF2LPYqtiu2K/ZhS4nLCfYqtmE2KjZitivJywn2LHZiNiq2YrZhicsJ9mF2YjYp9mB2YInLCfYpdmE2LrYp9ihJywn2LnYr9ivINin2YTYpdis2LHYp9ih2KfYqiDYp9mE2KrZiiDYqtmFINil2YrZgtin2YHZh9inICVkLicsJyVkINmB2Yog2KfZhNmF2KzZhdmI2LknLCfYpdmK2YLYp9mBJywn2LnYr9ivINin2YTYudmG2KfYtdixINin2YTZhdi52K/ZhNipINmH2YggJWQuJywn2KPZhtmC2LEg2YbZgtix2Kcg2YXYstiv2YjYrNinINi52YTZiSDZgtmK2YXYqSDZhNiq2LnYr9mK2YTZh9inLicsJ9i52K/YryDYp9mE2KPYs9i32LEg2KfZhNmF2LPYqtmI2LHYr9ipINmH2YggJWQuJywn2YXZhiDYutmK2LEg2KfZhNmF2YXZg9mGINil2K7YqtmK2KfYsSDYp9mE2KzYr9mI2YQnLCfYqti52K/ZitmEJywn2LnZhNin2YLYp9iqJywn2KXYs9iq2LnZhdmEINin2YTYsdin2KjYtyAi2KrYudiv2YrZhCIg2YTYqti52K/ZitmEINmH2LDZhyDYp9mE2YLZitmF2KkuJywn2LXZgdit2KknLCfYp9mE2KPYrtmK2LHYqScsJ9mG2KrZitis2Kkg2YPYp9mF2YTYqScsJ9mG2LPYricsJ9il2LPYqtmK2LHYp9ivJywnLCcsJ9iq2YUg2YLYt9i5INin2YTYrNiv2KfZiNmELicsJ9iq2YUg2YbZgtmEINin2YTYrNiv2KfZiNmELicsJ9iq2YUg2YbYs9iuINin2YTYrNiv2KfZiNmELicsJ9iq2YUg2K3YsNmBINin2YTYrNiv2KfZiNmELicsJ9in2YTYrNiv2KfZiNmEINmIINin2YTYudix2YjYticsJ9io2K3YqyDZgdmKINin2YTYrNiv2KfZiNmEJywn2KfZhNmF2K3YsdmDJywn2LfZiNmEINin2YTZhdi52LfZitin2KouJywn2LfZiNmEINin2YTZhdik2LTYsS4nLCfYp9mE2YXYs9in2K3YqSDYp9mE2K3YsdipJywn2KfZhNij2LPYt9ixJywn2KrYrdmE2YrZhCcsJ9iq2K3Ys9mK2YYnLCfZgdit2LUnLCfYpdi12YTYp9itJywn2YLYt9i5Jywn2YbZgtmEINil2YTZiSDZgtin2LnYr9ipINio2YrYp9mG2KfYqiDYo9iu2LHZiScsJ9mG2YLZhCcsJ9mG2LPYricsJ9in2YTYs9mE2KfYs9mEJywn2YXZiNin2LnZitivJywn2YHZiiDZiNmC2Kog2YXYrdiv2K8nLCdISDpNTTpTUycpO2JyZWFrO31pZihleHRlbnNpb25fbG9hZGVkKCdwZG8nKSl7Y2xhc3MKTWluX1BETwpleHRlbmRzClBET3t2YXIkX3Jlc3VsdCwkc2VydmVyX2luZm8sJGFmZmVjdGVkX3Jvd3MsJGVycm9yO2Z1bmN0aW9uCl9fY29uc3RydWN0KCl7fWZ1bmN0aW9uCmRzbigkd2IsJFUsJEIsJE9iPSdhdXRoX2Vycm9yJyl7c2V0X2V4Y2VwdGlvbl9oYW5kbGVyKCRPYik7cGFyZW50OjpfX2NvbnN0cnVjdCgkd2IsJFUsJEIpO3Jlc3RvcmVfZXhjZXB0aW9uX2hhbmRsZXIoKTskdGhpcy0+c2V0QXR0cmlidXRlKDEzLGFycmF5KCdNaW5fUERPU3RhdGVtZW50JykpOyR0aGlzLT5zZXJ2ZXJfaW5mbz0kdGhpcy0+Z2V0QXR0cmlidXRlKDQpO31mdW5jdGlvbgpxdWVyeSgkRCwkTGY9ZmFsc2UpeyRFPXBhcmVudDo6cXVlcnkoJEQpO2lmKCEkRSl7JEpiPSR0aGlzLT5lcnJvckluZm8oKTskdGhpcy0+ZXJyb3I9JEpiWzJdO3JldHVybgpmYWxzZTt9JHRoaXMtPnN0b3JlX3Jlc3VsdCgkRSk7cmV0dXJuJEU7fWZ1bmN0aW9uCm11bHRpX3F1ZXJ5KCREKXtyZXR1cm4kdGhpcy0+X3Jlc3VsdD0kdGhpcy0+cXVlcnkoJEQpO31mdW5jdGlvbgpzdG9yZV9yZXN1bHQoJEU9bnVsbCl7aWYoISRFKXskRT0kdGhpcy0+X3Jlc3VsdDt9aWYoJEUtPmNvbHVtbkNvdW50KCkpeyRFLT5udW1fcm93cz0kRS0+cm93Q291bnQoKTtyZXR1cm4kRTt9JHRoaXMtPmFmZmVjdGVkX3Jvd3M9JEUtPnJvd0NvdW50KCk7cmV0dXJuCnRydWU7fWZ1bmN0aW9uCm5leHRfcmVzdWx0KCl7cmV0dXJuJHRoaXMtPl9yZXN1bHQtPm5leHRSb3dzZXQoKTt9ZnVuY3Rpb24KcmVzdWx0KCRELCRsPTApeyRFPSR0aGlzLT5xdWVyeSgkRCk7aWYoISRFKXtyZXR1cm4KZmFsc2U7fSRHPSRFLT5mZXRjaCgpO3JldHVybiRHWyRsXTt9fWNsYXNzCk1pbl9QRE9TdGF0ZW1lbnQKZXh0ZW5kcwpQRE9TdGF0ZW1lbnR7dmFyJF9vZmZzZXQ9MCwkbnVtX3Jvd3M7ZnVuY3Rpb24KZmV0Y2hfYXNzb2MoKXtyZXR1cm4kdGhpcy0+ZmV0Y2goMik7fWZ1bmN0aW9uCmZldGNoX3Jvdygpe3JldHVybiR0aGlzLT5mZXRjaCgzKTt9ZnVuY3Rpb24KZmV0Y2hfZmllbGQoKXskRz0ob2JqZWN0KSR0aGlzLT5nZXRDb2x1bW5NZXRhKCR0aGlzLT5fb2Zmc2V0KyspOyRHLT5vcmd0YWJsZT0kRy0+dGFibGU7JEctPm9yZ25hbWU9JEctPm5hbWU7JEctPmNoYXJzZXRucj0oaW5fYXJyYXkoImJsb2IiLCRHLT5mbGFncyk/NjM6MCk7cmV0dXJuJEc7fX19JHRiPWFycmF5KCk7JHRiWyJzcWxpdGUiXT0iU1FMaXRlIDMiOyR0Ylsic3FsaXRlMiJdPSJTUUxpdGUgMiI7aWYoaXNzZXQoJF9HRVRbInNxbGl0ZSJdKXx8aXNzZXQoJF9HRVRbInNxbGl0ZTIiXSkpeyRpZT1hcnJheSgoaXNzZXQoJF9HRVRbInNxbGl0ZSJdKT8iU1FMaXRlMyI6IlNRTGl0ZSIpLCJQRE9fU1FMaXRlIik7ZGVmaW5lKCJEUklWRVIiLChpc3NldCgkX0dFVFsic3FsaXRlIl0pPyJzcWxpdGUiOiJzcWxpdGUyIikpO2lmKGV4dGVuc2lvbl9sb2FkZWQoaXNzZXQoJF9HRVRbInNxbGl0ZSJdKT8ic3FsaXRlMyI6InNxbGl0ZSIpKXtpZihpc3NldCgkX0dFVFsic3FsaXRlIl0pKXtjbGFzcwpNaW5fU1FMaXRle3ZhciRleHRlbnNpb249IlNRTGl0ZTMiLCRzZXJ2ZXJfaW5mbywkYWZmZWN0ZWRfcm93cywkZXJyb3IsJF9saW5rO2Z1bmN0aW9uCk1pbl9TUUxpdGUoJFpiKXskdGhpcy0+X2xpbms9bmV3ClNRTGl0ZTMoJFpiKTskWWY9JHRoaXMtPl9saW5rLT52ZXJzaW9uKCk7JHRoaXMtPnNlcnZlcl9pbmZvPSRZZlsidmVyc2lvblN0cmluZyJdO31mdW5jdGlvbgpxdWVyeSgkRCl7JEU9QCR0aGlzLT5fbGluay0+cXVlcnkoJEQpO2lmKCEkRSl7JHRoaXMtPmVycm9yPSR0aGlzLT5fbGluay0+bGFzdEVycm9yTXNnKCk7cmV0dXJuCmZhbHNlO31lbHNlaWYoJEUtPm51bUNvbHVtbnMoKSl7cmV0dXJuCm5ldwpNaW5fUmVzdWx0KCRFKTt9JHRoaXMtPmFmZmVjdGVkX3Jvd3M9JHRoaXMtPl9saW5rLT5jaGFuZ2VzKCk7cmV0dXJuCnRydWU7fWZ1bmN0aW9uCnF1b3RlKCRMKXtyZXR1cm4iJyIuJHRoaXMtPl9saW5rLT5lc2NhcGVTdHJpbmcoJEwpLiInIjt9ZnVuY3Rpb24Kc3RvcmVfcmVzdWx0KCl7cmV0dXJuJHRoaXMtPl9yZXN1bHQ7fWZ1bmN0aW9uCnJlc3VsdCgkRCwkbD0wKXskRT0kdGhpcy0+cXVlcnkoJEQpO2lmKCFpc19vYmplY3QoJEUpKXtyZXR1cm4KZmFsc2U7fSRHPSRFLT5fcmVzdWx0LT5mZXRjaEFycmF5KCk7cmV0dXJuJEdbJGxdO319Y2xhc3MKTWluX1Jlc3VsdHt2YXIkX3Jlc3VsdCwkX29mZnNldD0wLCRudW1fcm93cztmdW5jdGlvbgpNaW5fUmVzdWx0KCRFKXskdGhpcy0+X3Jlc3VsdD0kRTt9ZnVuY3Rpb24KZmV0Y2hfYXNzb2MoKXtyZXR1cm4kdGhpcy0+X3Jlc3VsdC0+ZmV0Y2hBcnJheShTUUxJVEUzX0FTU09DKTt9ZnVuY3Rpb24KZmV0Y2hfcm93KCl7cmV0dXJuJHRoaXMtPl9yZXN1bHQtPmZldGNoQXJyYXkoU1FMSVRFM19OVU0pO31mdW5jdGlvbgpmZXRjaF9maWVsZCgpeyRlPSR0aGlzLT5fb2Zmc2V0Kys7JFM9JHRoaXMtPl9yZXN1bHQtPmNvbHVtblR5cGUoJGUpO3JldHVybihvYmplY3QpYXJyYXkoIm5hbWUiPT4kdGhpcy0+X3Jlc3VsdC0+Y29sdW1uTmFtZSgkZSksInR5cGUiPT4kUywiY2hhcnNldG5yIj0+KCRTPT1TUUxJVEUzX0JMT0I/NjM6MCksKTt9ZnVuY3Rpb24KX19kZXNjdHJ1Y3QoKXtyZXR1cm4kdGhpcy0+X3Jlc3VsdC0+ZmluYWxpemUoKTt9fX1lbHNle2NsYXNzCk1pbl9TUUxpdGV7dmFyJGV4dGVuc2lvbj0iU1FMaXRlIiwkc2VydmVyX2luZm8sJGFmZmVjdGVkX3Jvd3MsJGVycm9yLCRfbGluaztmdW5jdGlvbgpNaW5fU1FMaXRlKCRaYil7JHRoaXMtPnNlcnZlcl9pbmZvPXNxbGl0ZV9saWJ2ZXJzaW9uKCk7JHRoaXMtPl9saW5rPW5ldwpTUUxpdGVEYXRhYmFzZSgkWmIpO31mdW5jdGlvbgpxdWVyeSgkRCwkTGY9ZmFsc2UpeyRtZD0oJExmPyJ1bmJ1ZmZlcmVkUXVlcnkiOiJxdWVyeSIpOyRFPUAkdGhpcy0+X2xpbmstPiRtZCgkRCxTUUxJVEVfQk9USCwkayk7aWYoISRFKXskdGhpcy0+ZXJyb3I9JGs7cmV0dXJuCmZhbHNlO31lbHNlaWYoJEU9PT10cnVlKXskdGhpcy0+YWZmZWN0ZWRfcm93cz0kdGhpcy0+Y2hhbmdlcygpO3JldHVybgp0cnVlO31yZXR1cm4KbmV3Ck1pbl9SZXN1bHQoJEUpO31mdW5jdGlvbgpxdW90ZSgkTCl7cmV0dXJuIiciLnNxbGl0ZV9lc2NhcGVfc3RyaW5nKCRMKS4iJyI7fWZ1bmN0aW9uCnN0b3JlX3Jlc3VsdCgpe3JldHVybiR0aGlzLT5fcmVzdWx0O31mdW5jdGlvbgpyZXN1bHQoJEQsJGw9MCl7JEU9JHRoaXMtPnF1ZXJ5KCREKTtpZighaXNfb2JqZWN0KCRFKSl7cmV0dXJuCmZhbHNlO30kRz0kRS0+X3Jlc3VsdC0+ZmV0Y2goKTtyZXR1cm4kR1skbF07fX1jbGFzcwpNaW5fUmVzdWx0e3ZhciRfcmVzdWx0LCRfb2Zmc2V0PTAsJG51bV9yb3dzO2Z1bmN0aW9uCk1pbl9SZXN1bHQoJEUpeyR0aGlzLT5fcmVzdWx0PSRFO2lmKG1ldGhvZF9leGlzdHMoJEUsJ251bVJvd3MnKSl7JHRoaXMtPm51bV9yb3dzPSRFLT5udW1Sb3dzKCk7fX1mdW5jdGlvbgpmZXRjaF9hc3NvYygpeyRHPSR0aGlzLT5fcmVzdWx0LT5mZXRjaChTUUxJVEVfQVNTT0MpO2lmKCEkRyl7cmV0dXJuCmZhbHNlO30kRj1hcnJheSgpO2ZvcmVhY2goJEcKYXMkdj0+JFcpeyRGWygkdlswXT09JyInP2lkZl91bmVzY2FwZSgkdik6JHYpXT0kVzt9cmV0dXJuJEY7fWZ1bmN0aW9uCmZldGNoX3Jvdygpe3JldHVybiR0aGlzLT5fcmVzdWx0LT5mZXRjaChTUUxJVEVfTlVNKTt9ZnVuY3Rpb24KZmV0Y2hfZmllbGQoKXskXz0kdGhpcy0+X3Jlc3VsdC0+ZmllbGROYW1lKCR0aGlzLT5fb2Zmc2V0KyspOyRjZT0nKFxcWy4qXXwiKD86W14iXXwiIikqInwoLispKSc7aWYocHJlZ19tYXRjaCgifl4oJGNlXFwuKT8kY2VcJH4iLCRfLCR6KSl7JE49KCR6WzNdIT0iIj8kelszXTppZGZfdW5lc2NhcGUoJHpbMl0pKTskXz0oJHpbNV0hPSIiPyR6WzVdOmlkZl91bmVzY2FwZSgkels0XSkpO31yZXR1cm4ob2JqZWN0KWFycmF5KCJuYW1lIj0+JF8sIm9yZ25hbWUiPT4kXywib3JndGFibGUiPT4kTiwpO319fX1lbHNlaWYoZXh0ZW5zaW9uX2xvYWRlZCgicGRvX3NxbGl0ZSIpKXtjbGFzcwpNaW5fU1FMaXRlCmV4dGVuZHMKTWluX1BET3t2YXIkZXh0ZW5zaW9uPSJQRE9fU1FMaXRlIjtmdW5jdGlvbgpNaW5fU1FMaXRlKCRaYil7JHRoaXMtPmRzbihEUklWRVIuIjokWmIiLCIiLCIiKTt9fX1pZihjbGFzc19leGlzdHMoIk1pbl9TUUxpdGUiKSl7Y2xhc3MKTWluX0RCCmV4dGVuZHMKTWluX1NRTGl0ZXtmdW5jdGlvbgpNaW5fREIoKXskdGhpcy0+TWluX1NRTGl0ZSgiOm1lbW9yeToiKTt9ZnVuY3Rpb24Kc2VsZWN0X2RiKCRaYil7aWYoaXNfcmVhZGFibGUoJFpiKSYmJHRoaXMtPnF1ZXJ5KCJBVFRBQ0ggIi4kdGhpcy0+cXVvdGUoZXJlZygiKF5bL1xcXXw6KSIsJFpiKT8kWmI6ZGlybmFtZSgkX1NFUlZFUlsiU0NSSVBUX0ZJTEVOQU1FIl0pLiIvJFpiIikuIiBBUyBhIikpeyR0aGlzLT5NaW5fU1FMaXRlKCRaYik7cmV0dXJuCnRydWU7fXJldHVybgpmYWxzZTt9ZnVuY3Rpb24KbXVsdGlfcXVlcnkoJEQpe3JldHVybiR0aGlzLT5fcmVzdWx0PSR0aGlzLT5xdWVyeSgkRCk7fWZ1bmN0aW9uCm5leHRfcmVzdWx0KCl7cmV0dXJuCmZhbHNlO319fWZ1bmN0aW9uCmlkZl9lc2NhcGUoJHIpe3JldHVybiciJy5zdHJfcmVwbGFjZSgnIicsJyIiJywkcikuJyInO31mdW5jdGlvbgp0YWJsZSgkcil7cmV0dXJuCmlkZl9lc2NhcGUoJHIpO31mdW5jdGlvbgpjb25uZWN0KCl7cmV0dXJuCm5ldwpNaW5fREI7fWZ1bmN0aW9uCmdldF9kYXRhYmFzZXMoKXtyZXR1cm4KYXJyYXkoKTt9ZnVuY3Rpb24KbGltaXQoJEQsJFosJHgsJEE9MCwkUmU9IiAiKXtyZXR1cm4iICREJFoiLihpc3NldCgkeCk/JFJlLiJMSU1JVCAkeCIuKCRBPyIgT0ZGU0VUICRBIjoiIik6IiIpO31mdW5jdGlvbgpsaW1pdDEoJEQsJFope2dsb2JhbCRnO3JldHVybigkZy0+cmVzdWx0KCJTRUxFQ1Qgc3FsaXRlX2NvbXBpbGVvcHRpb25fdXNlZCgnRU5BQkxFX1VQREFURV9ERUxFVEVfTElNSVQnKSIpP2xpbWl0KCRELCRaLDEpOiIgJEQkWiIpO31mdW5jdGlvbgpkYl9jb2xsYXRpb24oJGosJFFhKXtnbG9iYWwkZztyZXR1cm4kZy0+cmVzdWx0KCJQUkFHTUEgZW5jb2RpbmciKTt9ZnVuY3Rpb24KZW5naW5lcygpe3JldHVybgphcnJheSgpO31mdW5jdGlvbgpsb2dnZWRfdXNlcigpe3JldHVybgpnZXRfY3VycmVudF91c2VyKCk7fWZ1bmN0aW9uCnRhYmxlc19saXN0KCl7cmV0dXJuCmdldF9rZXlfdmFscygiU0VMRUNUIG5hbWUsIHR5cGUgRlJPTSBzcWxpdGVfbWFzdGVyIFdIRVJFIHR5cGUgSU4gKCd0YWJsZScsICd2aWV3JykgT1JERVIgQlkgKG5hbWUgPSAnc3FsaXRlX3NlcXVlbmNlJyksIG5hbWUiLDEpO31mdW5jdGlvbgpjb3VudF90YWJsZXMoJGkpe3JldHVybgphcnJheSgpO31mdW5jdGlvbgp0YWJsZV9zdGF0dXMoJF89IiIpeyRGPWFycmF5KCk7Zm9yZWFjaChnZXRfcm93cygiU0VMRUNUIG5hbWUgQVMgTmFtZSwgdHlwZSBBUyBFbmdpbmUgRlJPTSBzcWxpdGVfbWFzdGVyIFdIRVJFIHR5cGUgSU4gKCd0YWJsZScsICd2aWV3JykiLigkXyE9IiI/IiBBTkQgbmFtZSA9ICIucSgkXyk6IiIpKWFzJEcpeyRHWyJBdXRvX2luY3JlbWVudCJdPSIiOyRGWyRHWyJOYW1lIl1dPSRHO31mb3JlYWNoKGdldF9yb3dzKCJTRUxFQ1QgKiBGUk9NIHNxbGl0ZV9zZXF1ZW5jZSIsbnVsbCwiIilhcyRHKXskRlskR1sibmFtZSJdXVsiQXV0b19pbmNyZW1lbnQiXT0kR1sic2VxIl07fXJldHVybigkXyE9IiI/JEZbJF9dOiRGKTt9ZnVuY3Rpb24KaXNfdmlldygkTyl7cmV0dXJuJE9bIkVuZ2luZSJdPT0idmlldyI7fWZ1bmN0aW9uCmZrX3N1cHBvcnQoJE8pe2dsb2JhbCRnO3JldHVybiRfR0VUWyJjcmVhdGUiXT09IiImJiEkZy0+cmVzdWx0KCJTRUxFQ1Qgc3FsaXRlX2NvbXBpbGVvcHRpb25fdXNlZCgnT01JVF9GT1JFSUdOX0tFWScpIik7fWZ1bmN0aW9uCmZpZWxkcygkTil7JEY9YXJyYXkoKTtmb3JlYWNoKGdldF9yb3dzKCJQUkFHTUEgdGFibGVfaW5mbygiLnRhYmxlKCROKS4iKSIpYXMkRyl7JFM9c3RydG9sb3dlcigkR1sidHlwZSJdKTskbWI9JEdbImRmbHRfdmFsdWUiXTskRlskR1sibmFtZSJdXT1hcnJheSgiZmllbGQiPT4kR1sibmFtZSJdLCJ0eXBlIj0+KGVyZWdpKCJpbnQiLCRTKT8iaW50ZWdlciI6KGVyZWdpKCJjaGFyfGNsb2J8dGV4dCIsJFMpPyJ0ZXh0IjooZXJlZ2koImJsb2IiLCRTKT8iYmxvYiI6KGVyZWdpKCJyZWFsfGZsb2F8ZG91YiIsJFMpPyJyZWFsIjoibnVtZXJpYyIpKSkpLCJmdWxsX3R5cGUiPT4kUywiZGVmYXVsdCI9PihlcmVnKCInKC4qKSciLCRtYiwkeik/c3RyX3JlcGxhY2UoIicnIiwiJyIsJHpbMV0pOigkbWI9PSJOVUxMIj9udWxsOiRtYikpLCJudWxsIj0+ISRHWyJub3RudWxsIl0sImF1dG9faW5jcmVtZW50Ij0+ZXJlZ2koJ15pbnRlZ2VyJCcsJFMpJiYkR1sicGsiXSwicHJpdmlsZWdlcyI9PmFycmF5KCJzZWxlY3QiPT4xLCJpbnNlcnQiPT4xLCJ1cGRhdGUiPT4xKSwicHJpbWFyeSI9PiRHWyJwayJdLCk7fXJldHVybiRGO31mdW5jdGlvbgppbmRleGVzKCROLCRoPW51bGwpeyRGPWFycmF5KCk7JGxlPWFycmF5KCk7Zm9yZWFjaChmaWVsZHMoJE4pYXMkbCl7aWYoJGxbInByaW1hcnkiXSl7JGxlW109JGxbImZpZWxkIl07fX1pZigkbGUpeyRGWyIiXT1hcnJheSgidHlwZSI9PiJQUklNQVJZIiwiY29sdW1ucyI9PiRsZSwibGVuZ3RocyI9PmFycmF5KCkpO31mb3JlYWNoKGdldF9yb3dzKCJQUkFHTUEgaW5kZXhfbGlzdCgiLnRhYmxlKCROKS4iKSIpYXMkRyl7JEZbJEdbIm5hbWUiXV1bInR5cGUiXT0oJEdbInVuaXF1ZSJdPyJVTklRVUUiOiJJTkRFWCIpOyRGWyRHWyJuYW1lIl1dWyJsZW5ndGhzIl09YXJyYXkoKTtmb3JlYWNoKGdldF9yb3dzKCJQUkFHTUEgaW5kZXhfaW5mbygiLmlkZl9lc2NhcGUoJEdbIm5hbWUiXSkuIikiKWFzJEplKXskRlskR1sibmFtZSJdXVsiY29sdW1ucyJdW109JEplWyJuYW1lIl07fX1yZXR1cm4kRjt9ZnVuY3Rpb24KZm9yZWlnbl9rZXlzKCROKXskRj1hcnJheSgpO2ZvcmVhY2goZ2V0X3Jvd3MoIlBSQUdNQSBmb3JlaWduX2tleV9saXN0KCIudGFibGUoJE4pLiIpIilhcyRHKXskbj0mJEZbJEdbImlkIl1dO2lmKCEkbil7JG49JEc7fSRuWyJzb3VyY2UiXVtdPSRHWyJmcm9tIl07JG5bInRhcmdldCJdW109JEdbInRvIl07fXJldHVybiRGO31mdW5jdGlvbgp2aWV3KCRfKXtnbG9iYWwkZztyZXR1cm4KYXJyYXkoInNlbGVjdCI9PnByZWdfcmVwbGFjZSgnfl4oPzpbXmAiW10rfGBbXmBdKmB8IlteIl0qIikqIEFTXFxzK35pVScsJycsJGctPnJlc3VsdCgiU0VMRUNUIHNxbCBGUk9NIHNxbGl0ZV9tYXN0ZXIgV0hFUkUgbmFtZSA9ICIucSgkXykpKSk7fWZ1bmN0aW9uCmNvbGxhdGlvbnMoKXtyZXR1cm4oaXNzZXQoJF9HRVRbImNyZWF0ZSJdKT9nZXRfdmFscygiUFJBR01BIGNvbGxhdGlvbl9saXN0IiwxKTphcnJheSgpKTt9ZnVuY3Rpb24KaW5mb3JtYXRpb25fc2NoZW1hKCRqKXtyZXR1cm4KZmFsc2U7fWZ1bmN0aW9uCmVycm9yKCl7Z2xvYmFsJGc7cmV0dXJuCmgoJGctPmVycm9yKTt9ZnVuY3Rpb24KZXhhY3RfdmFsdWUoJFcpe3JldHVybgpxKCRXKTt9ZnVuY3Rpb24KY2hlY2tfc3FsaXRlX25hbWUoJF8pe2dsb2JhbCRnOyRWYj0iZGJ8c2RifHNxbGl0ZSI7aWYoIXByZWdfbWF0Y2goIn5eW15cXDBdKlxcLigkVmIpXCR+IiwkXykpeyRnLT5lcnJvcj1sYW5nKDksc3RyX3JlcGxhY2UoInwiLCIsICIsJFZiKSk7cmV0dXJuCmZhbHNlO31yZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24KY3JlYXRlX2RhdGFiYXNlKCRqLCRkKXtnbG9iYWwkZztpZihmaWxlX2V4aXN0cygkaikpeyRnLT5lcnJvcj1sYW5nKDEwKTtyZXR1cm4KZmFsc2U7fWlmKCFjaGVja19zcWxpdGVfbmFtZSgkaikpe3JldHVybgpmYWxzZTt9JHk9bmV3Ck1pbl9TUUxpdGUoJGopOyR5LT5xdWVyeSgnUFJBR01BIGVuY29kaW5nID0gIlVURi04IicpOyR5LT5xdWVyeSgnQ1JFQVRFIFRBQkxFIGFkbWluZXIgKGkpJyk7JHktPnF1ZXJ5KCdEUk9QIFRBQkxFIGFkbWluZXInKTtyZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24KZHJvcF9kYXRhYmFzZXMoJGkpe2dsb2JhbCRnOyRnLT5NaW5fU1FMaXRlKCI6bWVtb3J5OiIpO2ZvcmVhY2goJGkKYXMkail7aWYoIUB1bmxpbmsoJGopKXskZy0+ZXJyb3I9bGFuZygxMCk7cmV0dXJuCmZhbHNlO319cmV0dXJuCnRydWU7fWZ1bmN0aW9uCnJlbmFtZV9kYXRhYmFzZSgkXywkZCl7Z2xvYmFsJGc7aWYoIWNoZWNrX3NxbGl0ZV9uYW1lKCRfKSl7cmV0dXJuCmZhbHNlO30kZy0+TWluX1NRTGl0ZSgiOm1lbW9yeToiKTskZy0+ZXJyb3I9bGFuZygxMCk7cmV0dXJuQHJlbmFtZShEQiwkXyk7fWZ1bmN0aW9uCmF1dG9faW5jcmVtZW50KCl7cmV0dXJuIiBQUklNQVJZIEtFWSIuKERSSVZFUj09InNxbGl0ZSI/IiBBVVRPSU5DUkVNRU5UIjoiIik7fWZ1bmN0aW9uCmFsdGVyX3RhYmxlKCROLCRfLCRtLCRkYywkVWEsJEZiLCRkLCRfYSwkWmQpeyRjPWFycmF5KCk7Zm9yZWFjaCgkbQphcyRsKXtpZigkbFsxXSl7JGNbXT0oJE4hPSIiJiYkbFswXT09IiI/IkFERCAiOiIgICIpLmltcGxvZGUoJGxbMV0pO319JGM9YXJyYXlfbWVyZ2UoJGMsJGRjKTtpZigkTiE9IiIpe2ZvcmVhY2goJGMKYXMkVyl7aWYoIXF1ZXJpZXMoIkFMVEVSIFRBQkxFICIudGFibGUoJE4pLiIgJFciKSl7cmV0dXJuCmZhbHNlO319aWYoJE4hPSRfJiYhcXVlcmllcygiQUxURVIgVEFCTEUgIi50YWJsZSgkTikuIiBSRU5BTUUgVE8gIi50YWJsZSgkXykpKXtyZXR1cm4KZmFsc2U7fX1lbHNlaWYoIXF1ZXJpZXMoIkNSRUFURSBUQUJMRSAiLnRhYmxlKCRfKS4iIChcbiIuaW1wbG9kZSgiLFxuIiwkYykuIlxuKSIpKXtyZXR1cm4KZmFsc2U7fWlmKCRfYSl7cXVlcmllcygiVVBEQVRFIHNxbGl0ZV9zZXF1ZW5jZSBTRVQgc2VxID0gJF9hIFdIRVJFIG5hbWUgPSAiLnEoJF8pKTt9cmV0dXJuCnRydWU7fWZ1bmN0aW9uCmFsdGVyX2luZGV4ZXMoJE4sJGMpe2ZvcmVhY2goJGMKYXMkVyl7aWYoIXF1ZXJpZXMoJFdbMl09PSJEUk9QIj8iRFJPUCBJTkRFWCAiLmlkZl9lc2NhcGUoJFdbMV0pOiJDUkVBVEUgJFdbMF0gIi4oJFdbMF0hPSJJTkRFWCI/IklOREVYICI6IiIpLmlkZl9lc2NhcGUoJFdbMV0hPSIiPyRXWzFdOnVuaXFpZCgkTi4iXyIpKS4iIE9OICIudGFibGUoJE4pLiIgJFdbMl0iKSl7cmV0dXJuCmZhbHNlO319cmV0dXJuCnRydWU7fWZ1bmN0aW9uCnRydW5jYXRlX3RhYmxlcygkUCl7cmV0dXJuCmFwcGx5X3F1ZXJpZXMoIkRFTEVURSBGUk9NIiwkUCk7fWZ1bmN0aW9uCmRyb3Bfdmlld3MoJFkpe3JldHVybgphcHBseV9xdWVyaWVzKCJEUk9QIFZJRVciLCRZKTt9ZnVuY3Rpb24KZHJvcF90YWJsZXMoJFApe3JldHVybgphcHBseV9xdWVyaWVzKCJEUk9QIFRBQkxFIiwkUCk7fWZ1bmN0aW9uCm1vdmVfdGFibGVzKCRQLCRZLCR0Zil7cmV0dXJuCmZhbHNlO31mdW5jdGlvbgp0cmlnZ2VyKCRfKXtnbG9iYWwkZztpZigkXz09IiIpe3JldHVybgphcnJheSgiU3RhdGVtZW50Ij0+IkJFR0lOXG5cdDtcbkVORCIpO31wcmVnX21hdGNoKCd+XkNSRUFURVxccytUUklHR0VSXFxzKig/OlteYCJcXHNdK3xgW15gXSpgfCJbXiJdKiIpK1xccyooW2Etel0rKVxccysoW2Etel0rKVxccytPTlxccyooPzpbXmAiXFxzXSt8YFteYF0qYHwiW14iXSoiKStcXHMqKD86Rk9SXFxzKkVBQ0hcXHMqUk9XXFxzKT8oLiopfmlzJywkZy0+cmVzdWx0KCJTRUxFQ1Qgc3FsIEZST00gc3FsaXRlX21hc3RlciBXSEVSRSBuYW1lID0gIi5xKCRfKSksJHopO3JldHVybgphcnJheSgiVGltaW5nIj0+c3RydG91cHBlcigkelsxXSksIkV2ZW50Ij0+c3RydG91cHBlcigkelsyXSksIlRyaWdnZXIiPT4kXywiU3RhdGVtZW50Ij0+JHpbM10pO31mdW5jdGlvbgp0cmlnZ2VycygkTil7JEY9YXJyYXkoKTtmb3JlYWNoKGdldF9yb3dzKCJTRUxFQ1QgKiBGUk9NIHNxbGl0ZV9tYXN0ZXIgV0hFUkUgdHlwZSA9ICd0cmlnZ2VyJyBBTkQgdGJsX25hbWUgPSAiLnEoJE4pKWFzJEcpe3ByZWdfbWF0Y2goJ35eQ1JFQVRFXFxzK1RSSUdHRVJcXHMqKD86W15gIlxcc10rfGBbXmBdKmB8IlteIl0qIikrXFxzKihbYS16XSspXFxzKihbYS16XSspfmknLCRHWyJzcWwiXSwkeik7JEZbJEdbIm5hbWUiXV09YXJyYXkoJHpbMV0sJHpbMl0pO31yZXR1cm4kRjt9ZnVuY3Rpb24KdHJpZ2dlcl9vcHRpb25zKCl7cmV0dXJuCmFycmF5KCJUaW1pbmciPT5hcnJheSgiQkVGT1JFIiwiQUZURVIiLCJJTlNURUFEIE9GIiksIlR5cGUiPT5hcnJheSgiRk9SIEVBQ0ggUk9XIiksKTt9ZnVuY3Rpb24Kcm91dGluZSgkXywkUyl7fWZ1bmN0aW9uCnJvdXRpbmVzKCl7fWZ1bmN0aW9uCnJvdXRpbmVfbGFuZ3VhZ2VzKCl7fWZ1bmN0aW9uCmJlZ2luKCl7cmV0dXJuCnF1ZXJpZXMoIkJFR0lOIik7fWZ1bmN0aW9uCmluc2VydF9pbnRvKCROLCRLKXtyZXR1cm4KcXVlcmllcygiSU5TRVJUIElOVE8gIi50YWJsZSgkTikuKCRLPyIgKCIuaW1wbG9kZSgiLCAiLGFycmF5X2tleXMoJEspKS4iKVxuVkFMVUVTICgiLmltcGxvZGUoIiwgIiwkSykuIikiOiJERUZBVUxUIFZBTFVFUyIpKTt9ZnVuY3Rpb24KaW5zZXJ0X3VwZGF0ZSgkTiwkSywkbGUpe3JldHVybgpxdWVyaWVzKCJSRVBMQUNFIElOVE8gIi50YWJsZSgkTikuIiAoIi5pbXBsb2RlKCIsICIsYXJyYXlfa2V5cygkSykpLiIpIFZBTFVFUyAoIi5pbXBsb2RlKCIsICIsJEspLiIpIik7fWZ1bmN0aW9uCmxhc3RfaWQoKXtnbG9iYWwkZztyZXR1cm4kZy0+cmVzdWx0KCJTRUxFQ1QgTEFTVF9JTlNFUlRfUk9XSUQoKSIpO31mdW5jdGlvbgpleHBsYWluKCRnLCREKXtyZXR1cm4kZy0+cXVlcnkoIkVYUExBSU4gJEQiKTt9ZnVuY3Rpb24KZm91bmRfcm93cygkTywkWil7fWZ1bmN0aW9uCnR5cGVzKCl7cmV0dXJuCmFycmF5KCk7fWZ1bmN0aW9uCnNjaGVtYXMoKXtyZXR1cm4KYXJyYXkoKTt9ZnVuY3Rpb24KZ2V0X3NjaGVtYSgpe3JldHVybiIiO31mdW5jdGlvbgpzZXRfc2NoZW1hKCROZSl7cmV0dXJuCnRydWU7fWZ1bmN0aW9uCmNyZWF0ZV9zcWwoJE4sJF9hKXtnbG9iYWwkZztyZXR1cm4kZy0+cmVzdWx0KCJTRUxFQ1Qgc3FsIEZST00gc3FsaXRlX21hc3RlciBXSEVSRSB0eXBlID0gJ3RhYmxlJyBBTkQgbmFtZSA9ICIucSgkTikpO31mdW5jdGlvbgp0cnVuY2F0ZV9zcWwoJE4pe3JldHVybiJERUxFVEUgRlJPTSAiLnRhYmxlKCROKTt9ZnVuY3Rpb24KdXNlX3NxbCgkamIpe31mdW5jdGlvbgp0cmlnZ2VyX3NxbCgkTiwkTSl7cmV0dXJuCmltcGxvZGUoZ2V0X3ZhbHMoIlNFTEVDVCBzcWwgfHwgJzs7XG4nIEZST00gc3FsaXRlX21hc3RlciBXSEVSRSB0eXBlID0gJ3RyaWdnZXInIEFORCB0YmxfbmFtZSA9ICIucSgkTikpKTt9ZnVuY3Rpb24Kc2hvd192YXJpYWJsZXMoKXtnbG9iYWwkZzskRj1hcnJheSgpO2ZvcmVhY2goYXJyYXkoImF1dG9fdmFjdXVtIiwiY2FjaGVfc2l6ZSIsImNvdW50X2NoYW5nZXMiLCJkZWZhdWx0X2NhY2hlX3NpemUiLCJlbXB0eV9yZXN1bHRfY2FsbGJhY2tzIiwiZW5jb2RpbmciLCJmb3JlaWduX2tleXMiLCJmdWxsX2NvbHVtbl9uYW1lcyIsImZ1bGxmc3luYyIsImpvdXJuYWxfbW9kZSIsImpvdXJuYWxfc2l6ZV9saW1pdCIsImxlZ2FjeV9maWxlX2Zvcm1hdCIsImxvY2tpbmdfbW9kZSIsInBhZ2Vfc2l6ZSIsIm1heF9wYWdlX2NvdW50IiwicmVhZF91bmNvbW1pdHRlZCIsInJlY3Vyc2l2ZV90cmlnZ2VycyIsInJldmVyc2VfdW5vcmRlcmVkX3NlbGVjdHMiLCJzZWN1cmVfZGVsZXRlIiwic2hvcnRfY29sdW1uX25hbWVzIiwic3luY2hyb25vdXMiLCJ0ZW1wX3N0b3JlIiwidGVtcF9zdG9yZV9kaXJlY3RvcnkiLCJzY2hlbWFfdmVyc2lvbiIsImludGVncml0eV9jaGVjayIsInF1aWNrX2NoZWNrIilhcyR2KXskRlskdl09JGctPnJlc3VsdCgiUFJBR01BICR2Iik7fXJldHVybiRGO31mdW5jdGlvbgpzaG93X3N0YXR1cygpeyRGPWFycmF5KCk7Zm9yZWFjaChnZXRfdmFscygiUFJBR01BIGNvbXBpbGVfb3B0aW9ucyIpYXMkR2Qpe2xpc3QoJHYsJFcpPWV4cGxvZGUoIj0iLCRHZCwyKTskRlskdl09JFc7fXJldHVybiRGO31mdW5jdGlvbgpzdXBwb3J0KCRYYil7cmV0dXJuCmVyZWcoJ14odmlld3x0cmlnZ2VyfHZhcmlhYmxlc3xzdGF0dXN8ZHVtcCkkJywkWGIpO30kdT0ic3FsaXRlIjskVD1hcnJheSgiaW50ZWdlciI9PjAsInJlYWwiPT4wLCJudW1lcmljIj0+MCwidGV4dCI9PjAsImJsb2IiPT4wKTskZWY9YXJyYXlfa2V5cygkVCk7JFJmPWFycmF5KCk7JEZkPWFycmF5KCI9IiwiPCIsIj4iLCI8PSIsIj49IiwiIT0iLCJMSUtFIiwiTElLRSAlJSIsIklOIiwiSVMgTlVMTCIsIk5PVCBMSUtFIiwiTk9UIElOIiwiSVMgTk9UIE5VTEwiLCIiKTskbGM9YXJyYXkoImhleCIsImxlbmd0aCIsImxvd2VyIiwicm91bmQiLCJ1bml4ZXBvY2giLCJ1cHBlciIpOyRxYz1hcnJheSgiYXZnIiwiY291bnQiLCJjb3VudCBkaXN0aW5jdCIsImdyb3VwX2NvbmNhdCIsIm1heCIsIm1pbiIsInN1bSIpOyR6Yj1hcnJheShhcnJheSgpLGFycmF5KCJpbnRlZ2VyfHJlYWx8bnVtZXJpYyI9PiIrLy0iLCJ0ZXh0Ij0+Inx8IiwpKTt9JHRiWyJwZ3NxbCJdPSJQb3N0Z3JlU1FMIjtpZihpc3NldCgkX0dFVFsicGdzcWwiXSkpeyRpZT1hcnJheSgiUGdTUUwiLCJQRE9fUGdTUUwiKTtkZWZpbmUoIkRSSVZFUiIsInBnc3FsIik7aWYoZXh0ZW5zaW9uX2xvYWRlZCgicGdzcWwiKSl7Y2xhc3MKTWluX0RCe3ZhciRleHRlbnNpb249IlBnU1FMIiwkX2xpbmssJF9yZXN1bHQsJF9zdHJpbmcsJF9kYXRhYmFzZT10cnVlLCRzZXJ2ZXJfaW5mbywkYWZmZWN0ZWRfcm93cywkZXJyb3I7ZnVuY3Rpb24KX2Vycm9yKCRJYiwkayl7aWYoaW5pX2Jvb2woImh0bWxfZXJyb3JzIikpeyRrPWh0bWxfZW50aXR5X2RlY29kZShzdHJpcF90YWdzKCRrKSk7fSRrPWVyZWdfcmVwbGFjZSgnXlteOl0qOiAnLCcnLCRrKTskdGhpcy0+ZXJyb3I9JGs7fWZ1bmN0aW9uCmNvbm5lY3QoJEosJFUsJEIpe2dsb2JhbCRiOyRqPSRiLT5kYXRhYmFzZSgpO3NldF9lcnJvcl9oYW5kbGVyKGFycmF5KCR0aGlzLCdfZXJyb3InKSk7JHRoaXMtPl9zdHJpbmc9Imhvc3Q9JyIuc3RyX3JlcGxhY2UoIjoiLCInIHBvcnQ9JyIsYWRkY3NsYXNoZXMoJEosIidcXCIpKS4iJyB1c2VyPSciLmFkZGNzbGFzaGVzKCRVLCInXFwiKS4iJyBwYXNzd29yZD0nIi5hZGRjc2xhc2hlcygkQiwiJ1xcIikuIiciOyR0aGlzLT5fbGluaz1AcGdfY29ubmVjdCgkdGhpcy0+X3N0cmluZy4oJGohPSIiPyIgZGJuYW1lPSciLmFkZGNzbGFzaGVzKCRqLCInXFwiKS4iJyI6IiBkYm5hbWU9J3RlbXBsYXRlMSciKSxQR1NRTF9DT05ORUNUX0ZPUkNFX05FVyk7aWYoISR0aGlzLT5fbGluayYmJGohPSIiKXskdGhpcy0+X2RhdGFiYXNlPWZhbHNlOyR0aGlzLT5fbGluaz1AcGdfY29ubmVjdCgiJHRoaXMtPl9zdHJpbmcgZGJuYW1lPSd0ZW1wbGF0ZTEnIixQR1NRTF9DT05ORUNUX0ZPUkNFX05FVyk7fXJlc3RvcmVfZXJyb3JfaGFuZGxlcigpO2lmKCR0aGlzLT5fbGluayl7JFlmPXBnX3ZlcnNpb24oJHRoaXMtPl9saW5rKTskdGhpcy0+c2VydmVyX2luZm89JFlmWyJzZXJ2ZXIiXTtwZ19zZXRfY2xpZW50X2VuY29kaW5nKCR0aGlzLT5fbGluaywiVVRGOCIpO31yZXR1cm4oYm9vbCkkdGhpcy0+X2xpbms7fWZ1bmN0aW9uCnF1b3RlKCRMKXtyZXR1cm4iJyIucGdfZXNjYXBlX3N0cmluZygkdGhpcy0+X2xpbmssJEwpLiInIjt9ZnVuY3Rpb24Kc2VsZWN0X2RiKCRqYil7Z2xvYmFsJGI7aWYoJGpiPT0kYi0+ZGF0YWJhc2UoKSl7cmV0dXJuJHRoaXMtPl9kYXRhYmFzZTt9JEY9QHBnX2Nvbm5lY3QoIiR0aGlzLT5fc3RyaW5nIGRibmFtZT0nIi5hZGRjc2xhc2hlcygkamIsIidcXCIpLiInIixQR1NRTF9DT05ORUNUX0ZPUkNFX05FVyk7aWYoJEYpeyR0aGlzLT5fbGluaz0kRjt9cmV0dXJuJEY7fWZ1bmN0aW9uCmNsb3NlKCl7JHRoaXMtPl9saW5rPUBwZ19jb25uZWN0KCIkdGhpcy0+X3N0cmluZyBkYm5hbWU9J3RlbXBsYXRlMSciKTt9ZnVuY3Rpb24KcXVlcnkoJEQsJExmPWZhbHNlKXskRT1AcGdfcXVlcnkoJHRoaXMtPl9saW5rLCREKTtpZighJEUpeyR0aGlzLT5lcnJvcj1wZ19sYXN0X2Vycm9yKCR0aGlzLT5fbGluayk7cmV0dXJuCmZhbHNlO31lbHNlaWYoIXBnX251bV9maWVsZHMoJEUpKXskdGhpcy0+YWZmZWN0ZWRfcm93cz1wZ19hZmZlY3RlZF9yb3dzKCRFKTtyZXR1cm4KdHJ1ZTt9cmV0dXJuCm5ldwpNaW5fUmVzdWx0KCRFKTt9ZnVuY3Rpb24KbXVsdGlfcXVlcnkoJEQpe3JldHVybiR0aGlzLT5fcmVzdWx0PSR0aGlzLT5xdWVyeSgkRCk7fWZ1bmN0aW9uCnN0b3JlX3Jlc3VsdCgpe3JldHVybiR0aGlzLT5fcmVzdWx0O31mdW5jdGlvbgpuZXh0X3Jlc3VsdCgpe3JldHVybgpmYWxzZTt9ZnVuY3Rpb24KcmVzdWx0KCRELCRsPTApeyRFPSR0aGlzLT5xdWVyeSgkRCk7aWYoISRFfHwhJEUtPm51bV9yb3dzKXtyZXR1cm4KZmFsc2U7fXJldHVybgpwZ19mZXRjaF9yZXN1bHQoJEUtPl9yZXN1bHQsMCwkbCk7fX1jbGFzcwpNaW5fUmVzdWx0e3ZhciRfcmVzdWx0LCRfb2Zmc2V0PTAsJG51bV9yb3dzO2Z1bmN0aW9uCk1pbl9SZXN1bHQoJEUpeyR0aGlzLT5fcmVzdWx0PSRFOyR0aGlzLT5udW1fcm93cz1wZ19udW1fcm93cygkRSk7fWZ1bmN0aW9uCmZldGNoX2Fzc29jKCl7cmV0dXJuCnBnX2ZldGNoX2Fzc29jKCR0aGlzLT5fcmVzdWx0KTt9ZnVuY3Rpb24KZmV0Y2hfcm93KCl7cmV0dXJuCnBnX2ZldGNoX3JvdygkdGhpcy0+X3Jlc3VsdCk7fWZ1bmN0aW9uCmZldGNoX2ZpZWxkKCl7JGU9JHRoaXMtPl9vZmZzZXQrKzskRj1uZXcKc3RkQ2xhc3M7aWYoZnVuY3Rpb25fZXhpc3RzKCdwZ19maWVsZF90YWJsZScpKXskRi0+b3JndGFibGU9cGdfZmllbGRfdGFibGUoJHRoaXMtPl9yZXN1bHQsJGUpO30kRi0+bmFtZT1wZ19maWVsZF9uYW1lKCR0aGlzLT5fcmVzdWx0LCRlKTskRi0+b3JnbmFtZT0kRi0+bmFtZTskRi0+dHlwZT1wZ19maWVsZF90eXBlKCR0aGlzLT5fcmVzdWx0LCRlKTskRi0+Y2hhcnNldG5yPSgkRi0+dHlwZT09ImJ5dGVhIj82MzowKTtyZXR1cm4kRjt9ZnVuY3Rpb24KX19kZXN0cnVjdCgpe3BnX2ZyZWVfcmVzdWx0KCR0aGlzLT5fcmVzdWx0KTt9fX1lbHNlaWYoZXh0ZW5zaW9uX2xvYWRlZCgicGRvX3Bnc3FsIikpe2NsYXNzCk1pbl9EQgpleHRlbmRzCk1pbl9QRE97dmFyJGV4dGVuc2lvbj0iUERPX1BnU1FMIjtmdW5jdGlvbgpjb25uZWN0KCRKLCRVLCRCKXtnbG9iYWwkYjskaj0kYi0+ZGF0YWJhc2UoKTskTD0icGdzcWw6aG9zdD0nIi5zdHJfcmVwbGFjZSgiOiIsIicgcG9ydD0nIixhZGRjc2xhc2hlcygkSiwiJ1xcIikpLiInIG9wdGlvbnM9Jy1jIGNsaWVudF9lbmNvZGluZz11dGY4JyI7JHRoaXMtPmRzbigkTC4oJGohPSIiPyIgZGJuYW1lPSciLmFkZGNzbGFzaGVzKCRqLCInXFwiKS4iJyI6IiIpLCRVLCRCKTtyZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24Kc2VsZWN0X2RiKCRqYil7Z2xvYmFsJGI7cmV0dXJuKCRiLT5kYXRhYmFzZSgpPT0kamIpO31mdW5jdGlvbgpjbG9zZSgpe319fWZ1bmN0aW9uCmlkZl9lc2NhcGUoJHIpe3JldHVybiciJy5zdHJfcmVwbGFjZSgnIicsJyIiJywkcikuJyInO31mdW5jdGlvbgp0YWJsZSgkcil7cmV0dXJuCmlkZl9lc2NhcGUoJHIpO31mdW5jdGlvbgpjb25uZWN0KCl7Z2xvYmFsJGI7JGc9bmV3Ck1pbl9EQjskZmI9JGItPmNyZWRlbnRpYWxzKCk7aWYoJGctPmNvbm5lY3QoJGZiWzBdLCRmYlsxXSwkZmJbMl0pKXtyZXR1cm4kZzt9cmV0dXJuJGctPmVycm9yO31mdW5jdGlvbgpnZXRfZGF0YWJhc2VzKCl7cmV0dXJuCmdldF92YWxzKCJTRUxFQ1QgZGF0bmFtZSBGUk9NIHBnX2RhdGFiYXNlIE9SREVSIEJZIGRhdG5hbWUiKTt9ZnVuY3Rpb24KbGltaXQoJEQsJFosJHgsJEE9MCwkUmU9IiAiKXtyZXR1cm4iICREJFoiLihpc3NldCgkeCk/JFJlLiJMSU1JVCAkeCIuKCRBPyIgT0ZGU0VUICRBIjoiIik6IiIpO31mdW5jdGlvbgpsaW1pdDEoJEQsJFope3JldHVybiIgJEQkWiI7fWZ1bmN0aW9uCmRiX2NvbGxhdGlvbigkaiwkUWEpe2dsb2JhbCRnO3JldHVybiRnLT5yZXN1bHQoIlNIT1cgTENfQ09MTEFURSIpO31mdW5jdGlvbgplbmdpbmVzKCl7cmV0dXJuCmFycmF5KCk7fWZ1bmN0aW9uCmxvZ2dlZF91c2VyKCl7Z2xvYmFsJGc7cmV0dXJuJGctPnJlc3VsdCgiU0VMRUNUIHVzZXIiKTt9ZnVuY3Rpb24KdGFibGVzX2xpc3QoKXtyZXR1cm4KZ2V0X2tleV92YWxzKCJTRUxFQ1QgdGFibGVfbmFtZSwgdGFibGVfdHlwZSBGUk9NIGluZm9ybWF0aW9uX3NjaGVtYS50YWJsZXMgV0hFUkUgdGFibGVfc2NoZW1hID0gY3VycmVudF9zY2hlbWEoKSBPUkRFUiBCWSB0YWJsZV9uYW1lIik7fWZ1bmN0aW9uCmNvdW50X3RhYmxlcygkaSl7cmV0dXJuCmFycmF5KCk7fWZ1bmN0aW9uCnRhYmxlX3N0YXR1cygkXz0iIil7JEY9YXJyYXkoKTtmb3JlYWNoKGdldF9yb3dzKCJTRUxFQ1QgcmVsbmFtZSBBUyBcIk5hbWVcIiwgQ0FTRSByZWxraW5kIFdIRU4gJ3InIFRIRU4gJycgRUxTRSAndmlldycgRU5EIEFTIFwiRW5naW5lXCIsIHBnX3JlbGF0aW9uX3NpemUob2lkKSBBUyBcIkRhdGFfbGVuZ3RoXCIsIHBnX3RvdGFsX3JlbGF0aW9uX3NpemUob2lkKSAtIHBnX3JlbGF0aW9uX3NpemUob2lkKSBBUyBcIkluZGV4X2xlbmd0aFwiLCBvYmpfZGVzY3JpcHRpb24ob2lkLCAncGdfY2xhc3MnKSBBUyBcIkNvbW1lbnRcIiwgcmVsaGFzb2lkcyBBUyBcIk9pZFwiCkZST00gcGdfY2xhc3MKV0hFUkUgcmVsa2luZCBJTiAoJ3InLCd2JykKQU5EIHJlbG5hbWVzcGFjZSA9IChTRUxFQ1Qgb2lkIEZST00gcGdfbmFtZXNwYWNlIFdIRVJFIG5zcG5hbWUgPSBjdXJyZW50X3NjaGVtYSgpKSIuKCRfIT0iIj8iIEFORCByZWxuYW1lID0gIi5xKCRfKToiIikpYXMkRyl7JEZbJEdbIk5hbWUiXV09JEc7fXJldHVybigkXyE9IiI/JEZbJF9dOiRGKTt9ZnVuY3Rpb24KaXNfdmlldygkTyl7cmV0dXJuJE9bIkVuZ2luZSJdPT0idmlldyI7fWZ1bmN0aW9uCmZrX3N1cHBvcnQoJE8pe3JldHVybgp0cnVlO31mdW5jdGlvbgpmaWVsZHMoJE4peyRGPWFycmF5KCk7Zm9yZWFjaChnZXRfcm93cygiU0VMRUNUIGEuYXR0bmFtZSBBUyBmaWVsZCwgZm9ybWF0X3R5cGUoYS5hdHR0eXBpZCwgYS5hdHR0eXBtb2QpIEFTIGZ1bGxfdHlwZSwgZC5hZHNyYyBBUyBkZWZhdWx0LCBhLmF0dG5vdG51bGwsIGNvbF9kZXNjcmlwdGlvbihjLm9pZCwgYS5hdHRudW0pIEFTIGNvbW1lbnQKRlJPTSBwZ19jbGFzcyBjCkpPSU4gcGdfbmFtZXNwYWNlIG4gT04gYy5yZWxuYW1lc3BhY2UgPSBuLm9pZApKT0lOIHBnX2F0dHJpYnV0ZSBhIE9OIGMub2lkID0gYS5hdHRyZWxpZApMRUZUIEpPSU4gcGdfYXR0cmRlZiBkIE9OIGMub2lkID0gZC5hZHJlbGlkIEFORCBhLmF0dG51bSA9IGQuYWRudW0KV0hFUkUgYy5yZWxuYW1lID0gIi5xKCROKS4iCkFORCBuLm5zcG5hbWUgPSBjdXJyZW50X3NjaGVtYSgpCkFORCBOT1QgYS5hdHRpc2Ryb3BwZWQKQU5EIGEuYXR0bnVtID4gMApPUkRFUiBCWSBhLmF0dG51bSIpYXMkRyl7ZXJlZygnKC4qKShcXCgoLiopXFwpKT8nLCRHWyJmdWxsX3R5cGUiXSwkeik7bGlzdCgsJEdbInR5cGUiXSwsJEdbImxlbmd0aCJdKT0kejskR1siZnVsbF90eXBlIl09JEdbInR5cGUiXS4oJEdbImxlbmd0aCJdPyIoJEdbbGVuZ3RoXSkiOiIiKTskR1sibnVsbCJdPSgkR1siYXR0bm90bnVsbCJdPT0iZiIpOyRHWyJhdXRvX2luY3JlbWVudCJdPWVyZWdpKCJebmV4dHZhbFxcKCIsJEdbImRlZmF1bHQiXSk7JEdbInByaXZpbGVnZXMiXT1hcnJheSgiaW5zZXJ0Ij0+MSwic2VsZWN0Ij0+MSwidXBkYXRlIj0+MSk7aWYocHJlZ19tYXRjaCgnfl4oLiopOjouKyR+JywkR1siZGVmYXVsdCJdLCR6KSl7JEdbImRlZmF1bHQiXT0oJHpbMV1bMF09PSInIj9pZGZfdW5lc2NhcGUoJHpbMV0pOiR6WzFdKTt9JEZbJEdbImZpZWxkIl1dPSRHO31yZXR1cm4kRjt9ZnVuY3Rpb24KaW5kZXhlcygkTiwkaD1udWxsKXtnbG9iYWwkZztpZighaXNfb2JqZWN0KCRoKSl7JGg9JGc7fSRGPWFycmF5KCk7JG5mPSRoLT5yZXN1bHQoIlNFTEVDVCBvaWQgRlJPTSBwZ19jbGFzcyBXSEVSRSByZWxuYW1lID0gIi5xKCROKSk7JGY9Z2V0X2tleV92YWxzKCJTRUxFQ1QgYXR0bnVtLCBhdHRuYW1lIEZST00gcGdfYXR0cmlidXRlIFdIRVJFIGF0dHJlbGlkID0gJG5mIEFORCBhdHRudW0gPiAwIiwkaCk7Zm9yZWFjaChnZXRfcm93cygiU0VMRUNUIHJlbG5hbWUsIGluZGlzdW5pcXVlLCBpbmRpc3ByaW1hcnksIGluZGtleSBGUk9NIHBnX2luZGV4IGksIHBnX2NsYXNzIGNpIFdIRVJFIGkuaW5kcmVsaWQgPSAkbmYgQU5EIGNpLm9pZCA9IGkuaW5kZXhyZWxpZCIsJGgpYXMkRyl7JEZbJEdbInJlbG5hbWUiXV1bInR5cGUiXT0oJEdbImluZGlzcHJpbWFyeSJdPT0idCI/IlBSSU1BUlkiOigkR1siaW5kaXN1bmlxdWUiXT09InQiPyJVTklRVUUiOiJJTkRFWCIpKTskRlskR1sicmVsbmFtZSJdXVsiY29sdW1ucyJdPWFycmF5KCk7Zm9yZWFjaChleHBsb2RlKCIgIiwkR1siaW5ka2V5Il0pYXMkX2MpeyRGWyRHWyJyZWxuYW1lIl1dWyJjb2x1bW5zIl1bXT0kZlskX2NdO30kRlskR1sicmVsbmFtZSJdXVsibGVuZ3RocyJdPWFycmF5KCk7fXJldHVybiRGO31mdW5jdGlvbgpmb3JlaWduX2tleXMoJE4pe2dsb2JhbCRCZDskRj1hcnJheSgpO2ZvcmVhY2goZ2V0X3Jvd3MoIlNFTEVDVCBjb25uYW1lLCBwZ19nZXRfY29uc3RyYWludGRlZihvaWQpIEFTIGRlZmluaXRpb24KRlJPTSBwZ19jb25zdHJhaW50CldIRVJFIGNvbnJlbGlkID0gKFNFTEVDVCBvaWQgRlJPTSBwZ19jbGFzcyBXSEVSRSByZWxuYW1lID0gIi5xKCROKS4iKQpBTkQgY29udHlwZSA9ICdmJzo6Y2hhcgpPUkRFUiBCWSBjb25rZXksIGNvbm5hbWUiKWFzJEcpe2lmKHByZWdfbWF0Y2goJ35GT1JFSUdOIEtFWVxzKlwoKC4rKVwpXHMqUkVGRVJFTkNFUyAoLispXCgoLispXCkoLiopJH5pQScsJEdbJ2RlZmluaXRpb24nXSwkeikpeyRHWydzb3VyY2UnXT1hcnJheV9tYXAoJ3RyaW0nLGV4cGxvZGUoJywnLCR6WzFdKSk7JEdbJ3RhYmxlJ109JHpbMl07aWYocHJlZ19tYXRjaCgnfiguKylcLiguKyl+JywkelsyXSwkWmMpKXskR1snbnMnXT0kWmNbMV07JEdbJ3RhYmxlJ109JFpjWzJdO30kR1sndGFyZ2V0J109YXJyYXlfbWFwKCd0cmltJyxleHBsb2RlKCcsJywkelszXSkpOyRHWydvbl9kZWxldGUnXT0ocHJlZ19tYXRjaCgifk9OIERFTEVURSAoJEJkKX4iLCR6WzRdLCRaYyk/JFpjWzFdOicnKTskR1snb25fdXBkYXRlJ109KHByZWdfbWF0Y2goIn5PTiBVUERBVEUgKCRCZCl+Iiwkels0XSwkWmMpPyRaY1sxXTonJyk7JEZbJEdbJ2Nvbm5hbWUnXV09JEc7fX1yZXR1cm4kRjt9ZnVuY3Rpb24KdmlldygkXyl7Z2xvYmFsJGc7cmV0dXJuCmFycmF5KCJzZWxlY3QiPT4kZy0+cmVzdWx0KCJTRUxFQ1QgcGdfZ2V0X3ZpZXdkZWYoIi5xKCRfKS4iKSIpKTt9ZnVuY3Rpb24KY29sbGF0aW9ucygpe3JldHVybgphcnJheSgpO31mdW5jdGlvbgppbmZvcm1hdGlvbl9zY2hlbWEoJGope3JldHVybigkaj09ImluZm9ybWF0aW9uX3NjaGVtYSIpO31mdW5jdGlvbgplcnJvcigpe2dsb2JhbCRnOyRGPWgoJGctPmVycm9yKTtpZihwcmVnX21hdGNoKCd+XiguKlxcbik/KFteXFxuXSopXFxuKCAqKVxcXihcXG4uKik/JH5zJywkRiwkeikpeyRGPSR6WzFdLnByZWdfcmVwbGFjZSgnfigoPzpbXiZdfCZbXjtdKjspeycuc3RybGVuKCR6WzNdKS4nfSkoLiopficsJ1xcMTxiPlxcMjwvYj4nLCR6WzJdKS4kels0XTt9cmV0dXJuCm5sX2JyKCRGKTt9ZnVuY3Rpb24KZXhhY3RfdmFsdWUoJFcpe3JldHVybgpxKCRXKTt9ZnVuY3Rpb24KY3JlYXRlX2RhdGFiYXNlKCRqLCRkKXtyZXR1cm4KcXVlcmllcygiQ1JFQVRFIERBVEFCQVNFICIuaWRmX2VzY2FwZSgkaikuKCRkPyIgRU5DT0RJTkcgIi5pZGZfZXNjYXBlKCRkKToiIikpO31mdW5jdGlvbgpkcm9wX2RhdGFiYXNlcygkaSl7Z2xvYmFsJGc7JGctPmNsb3NlKCk7cmV0dXJuCmFwcGx5X3F1ZXJpZXMoIkRST1AgREFUQUJBU0UiLCRpLCdpZGZfZXNjYXBlJyk7fWZ1bmN0aW9uCnJlbmFtZV9kYXRhYmFzZSgkXywkZCl7cmV0dXJuCnF1ZXJpZXMoIkFMVEVSIERBVEFCQVNFICIuaWRmX2VzY2FwZShEQikuIiBSRU5BTUUgVE8gIi5pZGZfZXNjYXBlKCRfKSk7fWZ1bmN0aW9uCmF1dG9faW5jcmVtZW50KCl7cmV0dXJuIiI7fWZ1bmN0aW9uCmFsdGVyX3RhYmxlKCROLCRfLCRtLCRkYywkVWEsJEZiLCRkLCRfYSwkWmQpeyRjPWFycmF5KCk7JHRlPWFycmF5KCk7Zm9yZWFjaCgkbQphcyRsKXskZT1pZGZfZXNjYXBlKCRsWzBdKTskVz0kbFsxXTtpZighJFcpeyRjW109IkRST1AgJGUiO31lbHNleyRXZj0kV1s1XTt1bnNldCgkV1s1XSk7aWYoaXNzZXQoJFdbNl0pJiYkbFswXT09IiIpeyRXWzFdPSgkV1sxXT09ImJpZ2ludCI/IiBiaWciOiIgIikuInNlcmlhbCI7fWlmKCRsWzBdPT0iIil7JGNbXT0oJE4hPSIiPyJBREQgIjoiICAiKS5pbXBsb2RlKCRXKTt9ZWxzZXtpZigkZSE9JFdbMF0peyR0ZVtdPSJBTFRFUiBUQUJMRSAiLnRhYmxlKCROKS4iIFJFTkFNRSAkZSBUTyAkV1swXSI7fSRjW109IkFMVEVSICRlIFRZUEUkV1sxXSI7aWYoISRXWzZdKXskY1tdPSJBTFRFUiAkZSAiLigkV1szXT8iU0VUJFdbM10iOiJEUk9QIERFRkFVTFQiKTskY1tdPSJBTFRFUiAkZSAiLigkV1syXT09IiBOVUxMIj8iRFJPUCBOT1QiOiJTRVQiKS4kV1syXTt9fWlmKCRsWzBdIT0iInx8JFdmIT0iIil7JHRlW109IkNPTU1FTlQgT04gQ09MVU1OICIudGFibGUoJE4pLiIuJFdbMF0gSVMgIi4oJFdmIT0iIj9zdWJzdHIoJFdmLDkpOiInJyIpO319fSRjPWFycmF5X21lcmdlKCRjLCRkYyk7aWYoJE49PSIiKXthcnJheV91bnNoaWZ0KCR0ZSwiQ1JFQVRFIFRBQkxFICIudGFibGUoJF8pLiIgKFxuIi5pbXBsb2RlKCIsXG4iLCRjKS4iXG4pIik7fWVsc2VpZigkYyl7YXJyYXlfdW5zaGlmdCgkdGUsIkFMVEVSIFRBQkxFICIudGFibGUoJE4pLiJcbiIuaW1wbG9kZSgiLFxuIiwkYykpO31pZigkTiE9IiImJiROIT0kXyl7JHRlW109IkFMVEVSIFRBQkxFICIudGFibGUoJE4pLiIgUkVOQU1FIFRPICIudGFibGUoJF8pO31pZigkTiE9IiJ8fCRVYSE9IiIpeyR0ZVtdPSJDT01NRU5UIE9OIFRBQkxFICIudGFibGUoJF8pLiIgSVMgIi5xKCRVYSk7fWlmKCRfYSE9IiIpe31mb3JlYWNoKCR0ZQphcyREKXtpZighcXVlcmllcygkRCkpe3JldHVybgpmYWxzZTt9fXJldHVybgp0cnVlO31mdW5jdGlvbgphbHRlcl9pbmRleGVzKCROLCRjKXskY2I9YXJyYXkoKTskdWI9YXJyYXkoKTtmb3JlYWNoKCRjCmFzJFcpe2lmKCRXWzBdIT0iSU5ERVgiKXskY2JbXT0oJFdbMl09PSJEUk9QIj8iXG5EUk9QIENPTlNUUkFJTlQgIi5pZGZfZXNjYXBlKCRXWzFdKToiXG5BREQgJFdbMF0gIi4oJFdbMF09PSJQUklNQVJZIj8iS0VZICI6IiIpLiRXWzJdKTt9ZWxzZWlmKCRXWzJdPT0iRFJPUCIpeyR1YltdPWlkZl9lc2NhcGUoJFdbMV0pO31lbHNlaWYoIXF1ZXJpZXMoIkNSRUFURSBJTkRFWCAiLmlkZl9lc2NhcGUoJFdbMV0hPSIiPyRXWzFdOnVuaXFpZCgkTi4iXyIpKS4iIE9OICIudGFibGUoJE4pLiIgJFdbMl0iKSl7cmV0dXJuCmZhbHNlO319cmV0dXJuKCghJGNifHxxdWVyaWVzKCJBTFRFUiBUQUJMRSAiLnRhYmxlKCROKS5pbXBsb2RlKCIsIiwkY2IpKSkmJighJHVifHxxdWVyaWVzKCJEUk9QIElOREVYICIuaW1wbG9kZSgiLCAiLCR1YikpKSk7fWZ1bmN0aW9uCnRydW5jYXRlX3RhYmxlcygkUCl7cmV0dXJuCnF1ZXJpZXMoIlRSVU5DQVRFICIuaW1wbG9kZSgiLCAiLGFycmF5X21hcCgndGFibGUnLCRQKSkpO3JldHVybgp0cnVlO31mdW5jdGlvbgpkcm9wX3ZpZXdzKCRZKXtyZXR1cm4KcXVlcmllcygiRFJPUCBWSUVXICIuaW1wbG9kZSgiLCAiLGFycmF5X21hcCgndGFibGUnLCRZKSkpO31mdW5jdGlvbgpkcm9wX3RhYmxlcygkUCl7cmV0dXJuCnF1ZXJpZXMoIkRST1AgVEFCTEUgIi5pbXBsb2RlKCIsICIsYXJyYXlfbWFwKCd0YWJsZScsJFApKSk7fWZ1bmN0aW9uCm1vdmVfdGFibGVzKCRQLCRZLCR0Zil7Zm9yZWFjaCgkUAphcyROKXtpZighcXVlcmllcygiQUxURVIgVEFCTEUgIi50YWJsZSgkTikuIiBTRVQgU0NIRU1BICIuaWRmX2VzY2FwZSgkdGYpKSl7cmV0dXJuCmZhbHNlO319Zm9yZWFjaCgkWQphcyROKXtpZighcXVlcmllcygiQUxURVIgVklFVyAiLnRhYmxlKCROKS4iIFNFVCBTQ0hFTUEgIi5pZGZfZXNjYXBlKCR0ZikpKXtyZXR1cm4KZmFsc2U7fX1yZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24KdHJpZ2dlcigkXyl7aWYoJF89PSIiKXtyZXR1cm4KYXJyYXkoIlN0YXRlbWVudCI9PiJFWEVDVVRFIFBST0NFRFVSRSAoKSIpO30kSD1nZXRfcm93cygnU0VMRUNUIHRyaWdnZXJfbmFtZSBBUyAiVHJpZ2dlciIsIGNvbmRpdGlvbl90aW1pbmcgQVMgIlRpbWluZyIsIGV2ZW50X21hbmlwdWxhdGlvbiBBUyAiRXZlbnQiLCBcJ0ZPUiBFQUNIIFwnIHx8IGFjdGlvbl9vcmllbnRhdGlvbiBBUyAiVHlwZSIsIGFjdGlvbl9zdGF0ZW1lbnQgQVMgIlN0YXRlbWVudCIgRlJPTSBpbmZvcm1hdGlvbl9zY2hlbWEudHJpZ2dlcnMgV0hFUkUgZXZlbnRfb2JqZWN0X3RhYmxlID0gJy5xKCRfR0VUWyJ0cmlnZ2VyIl0pLicgQU5EIHRyaWdnZXJfbmFtZSA9ICcucSgkXykpO3JldHVybgpyZXNldCgkSCk7fWZ1bmN0aW9uCnRyaWdnZXJzKCROKXskRj1hcnJheSgpO2ZvcmVhY2goZ2V0X3Jvd3MoIlNFTEVDVCAqIEZST00gaW5mb3JtYXRpb25fc2NoZW1hLnRyaWdnZXJzIFdIRVJFIGV2ZW50X29iamVjdF90YWJsZSA9ICIucSgkTikpYXMkRyl7JEZbJEdbInRyaWdnZXJfbmFtZSJdXT1hcnJheSgkR1siY29uZGl0aW9uX3RpbWluZyJdLCRHWyJldmVudF9tYW5pcHVsYXRpb24iXSk7fXJldHVybiRGO31mdW5jdGlvbgp0cmlnZ2VyX29wdGlvbnMoKXtyZXR1cm4KYXJyYXkoIlRpbWluZyI9PmFycmF5KCJCRUZPUkUiLCJBRlRFUiIpLCJUeXBlIj0+YXJyYXkoIkZPUiBFQUNIIFJPVyIsIkZPUiBFQUNIIFNUQVRFTUVOVCIpLCk7fWZ1bmN0aW9uCnJvdXRpbmVzKCl7cmV0dXJuCmdldF9yb3dzKCdTRUxFQ1QgcC5wcm9uYW1lIEFTICJST1VUSU5FX05BTUUiLCBwLnByb2FyZ3R5cGVzIEFTICJST1VUSU5FX1RZUEUiLCBwZ19jYXRhbG9nLmZvcm1hdF90eXBlKHAucHJvcmV0dHlwZSwgTlVMTCkgQVMgIkRURF9JREVOVElGSUVSIgpGUk9NIHBnX2NhdGFsb2cucGdfbmFtZXNwYWNlIG4KSk9JTiBwZ19jYXRhbG9nLnBnX3Byb2MgcCBPTiBwLnByb25hbWVzcGFjZSA9IG4ub2lkCldIRVJFIG4ubnNwbmFtZSA9IGN1cnJlbnRfc2NoZW1hKCkKT1JERVIgQlkgcC5wcm9uYW1lJyk7fWZ1bmN0aW9uCnJvdXRpbmVfbGFuZ3VhZ2VzKCl7cmV0dXJuCmdldF92YWxzKCJTRUxFQ1QgbGFuZ25hbWUgRlJPTSBwZ19jYXRhbG9nLnBnX2xhbmd1YWdlIik7fWZ1bmN0aW9uCmJlZ2luKCl7cmV0dXJuCnF1ZXJpZXMoIkJFR0lOIik7fWZ1bmN0aW9uCmluc2VydF9pbnRvKCROLCRLKXtyZXR1cm4KcXVlcmllcygiSU5TRVJUIElOVE8gIi50YWJsZSgkTikuKCRLPyIgKCIuaW1wbG9kZSgiLCAiLGFycmF5X2tleXMoJEspKS4iKVxuVkFMVUVTICgiLmltcGxvZGUoIiwgIiwkSykuIikiOiJERUZBVUxUIFZBTFVFUyIpKTt9ZnVuY3Rpb24KaW5zZXJ0X3VwZGF0ZSgkTiwkSywkbGUpe2dsb2JhbCRnOyRTZj1hcnJheSgpOyRaPWFycmF5KCk7Zm9yZWFjaCgkSwphcyR2PT4kVyl7JFNmW109IiR2ID0gJFciO2lmKGlzc2V0KCRsZVtpZGZfdW5lc2NhcGUoJHYpXSkpeyRaW109IiR2ID0gJFciO319cmV0dXJuKCRaJiZxdWVyaWVzKCJVUERBVEUgIi50YWJsZSgkTikuIiBTRVQgIi5pbXBsb2RlKCIsICIsJFNmKS4iIFdIRVJFICIuaW1wbG9kZSgiIEFORCAiLCRaKSkmJiRnLT5hZmZlY3RlZF9yb3dzKXx8cXVlcmllcygiSU5TRVJUIElOVE8gIi50YWJsZSgkTikuIiAoIi5pbXBsb2RlKCIsICIsYXJyYXlfa2V5cygkSykpLiIpIFZBTFVFUyAoIi5pbXBsb2RlKCIsICIsJEspLiIpIik7fWZ1bmN0aW9uCmxhc3RfaWQoKXtyZXR1cm4KMDt9ZnVuY3Rpb24KZXhwbGFpbigkZywkRCl7cmV0dXJuJGctPnF1ZXJ5KCJFWFBMQUlOICREIik7fWZ1bmN0aW9uCmZvdW5kX3Jvd3MoJE8sJFope2dsb2JhbCRnO2lmKGVyZWcoIiByb3dzPShbMC05XSspIiwkZy0+cmVzdWx0KCJFWFBMQUlOIFNFTEVDVCAqIEZST00gIi5pZGZfZXNjYXBlKCRPWyJOYW1lIl0pLigkWj8iIFdIRVJFICIuaW1wbG9kZSgiIEFORCAiLCRaKToiIikpLCRBZSkpe3JldHVybiRBZVsxXTt9cmV0dXJuCmZhbHNlO31mdW5jdGlvbgp0eXBlcygpe3JldHVybgpnZXRfdmFscygiU0VMRUNUIHR5cG5hbWUKRlJPTSBwZ190eXBlCldIRVJFIHR5cG5hbWVzcGFjZSA9IChTRUxFQ1Qgb2lkIEZST00gcGdfbmFtZXNwYWNlIFdIRVJFIG5zcG5hbWUgPSBjdXJyZW50X3NjaGVtYSgpKQpBTkQgdHlwdHlwZSBJTiAoJ2InLCdkJywnZScpCkFORCB0eXBlbGVtID0gMCIpO31mdW5jdGlvbgpzY2hlbWFzKCl7cmV0dXJuCmdldF92YWxzKCJTRUxFQ1QgbnNwbmFtZSBGUk9NIHBnX25hbWVzcGFjZSBPUkRFUiBCWSBuc3BuYW1lIik7fWZ1bmN0aW9uCmdldF9zY2hlbWEoKXtnbG9iYWwkZztyZXR1cm4kZy0+cmVzdWx0KCJTRUxFQ1QgY3VycmVudF9zY2hlbWEoKSIpO31mdW5jdGlvbgpzZXRfc2NoZW1hKCRNZSl7Z2xvYmFsJGcsJFQsJGVmOyRGPSRnLT5xdWVyeSgiU0VUIHNlYXJjaF9wYXRoIFRPICIuaWRmX2VzY2FwZSgkTWUpKTtmb3JlYWNoKHR5cGVzKClhcyRTKXtpZighaXNzZXQoJFRbJFNdKSl7JFRbJFNdPTA7JGVmW2xhbmcoMTEpXVtdPSRTO319cmV0dXJuJEY7fWZ1bmN0aW9uCnVzZV9zcWwoJGpiKXtyZXR1cm4iXGNvbm5lY3QgIi5pZGZfZXNjYXBlKCRqYik7fWZ1bmN0aW9uCnNob3dfdmFyaWFibGVzKCl7cmV0dXJuCmdldF9rZXlfdmFscygiU0hPVyBBTEwiKTt9ZnVuY3Rpb24KcHJvY2Vzc19saXN0KCl7cmV0dXJuCmdldF9yb3dzKCJTRUxFQ1QgKiBGUk9NIHBnX3N0YXRfYWN0aXZpdHkgT1JERVIgQlkgcHJvY3BpZCIpO31mdW5jdGlvbgpzaG93X3N0YXR1cygpe31mdW5jdGlvbgpzdXBwb3J0KCRYYil7cmV0dXJuCmVyZWcoJ14oY29tbWVudHx2aWV3fHNjaGVtZXxwcm9jZXNzbGlzdHxzZXF1ZW5jZXx0cmlnZ2VyfHR5cGV8dmFyaWFibGVzfGRyb3BfY29sKSQnLCRYYik7fSR1PSJwZ3NxbCI7JFQ9YXJyYXkoKTskZWY9YXJyYXkoKTtmb3JlYWNoKGFycmF5KGxhbmcoMTIpPT5hcnJheSgic21hbGxpbnQiPT41LCJpbnRlZ2VyIj0+MTAsImJpZ2ludCI9PjE5LCJib29sZWFuIj0+MSwibnVtZXJpYyI9PjAsInJlYWwiPT43LCJkb3VibGUgcHJlY2lzaW9uIj0+MTYsIm1vbmV5Ij0+MjApLGxhbmcoMTMpPT5hcnJheSgiZGF0ZSI9PjEzLCJ0aW1lIj0+MTcsInRpbWVzdGFtcCI9PjIwLCJpbnRlcnZhbCI9PjApLGxhbmcoMTQpPT5hcnJheSgiY2hhcmFjdGVyIj0+MCwiY2hhcmFjdGVyIHZhcnlpbmciPT4wLCJ0ZXh0Ij0+MCwidHNxdWVyeSI9PjAsInRzdmVjdG9yIj0+MCwidXVpZCI9PjAsInhtbCI9PjApLGxhbmcoMTUpPT5hcnJheSgiYml0Ij0+MCwiYml0IHZhcnlpbmciPT4wLCJieXRlYSI9PjApLGxhbmcoMTYpPT5hcnJheSgiY2lkciI9PjQzLCJpbmV0Ij0+NDMsIm1hY2FkZHIiPT4xNywidHhpZF9zbmFwc2hvdCI9PjApLGxhbmcoMTcpPT5hcnJheSgiYm94Ij0+MCwiY2lyY2xlIj0+MCwibGluZSI9PjAsImxzZWciPT4wLCJwYXRoIj0+MCwicG9pbnQiPT4wLCJwb2x5Z29uIj0+MCksKWFzJHY9PiRXKXskVCs9JFc7JGVmWyR2XT1hcnJheV9rZXlzKCRXKTt9JFJmPWFycmF5KCk7JEZkPWFycmF5KCI9IiwiPCIsIj4iLCI8PSIsIj49IiwiIT0iLCJ+IiwiIX4iLCJMSUtFIiwiTElLRSAlJSIsIklOIiwiSVMgTlVMTCIsIk5PVCBMSUtFIiwiTk9UIElOIiwiSVMgTk9UIE5VTEwiKTskbGM9YXJyYXkoImNoYXJfbGVuZ3RoIiwibG93ZXIiLCJyb3VuZCIsInRvX2hleCIsInRvX3RpbWVzdGFtcCIsInVwcGVyIik7JHFjPWFycmF5KCJhdmciLCJjb3VudCIsImNvdW50IGRpc3RpbmN0IiwibWF4IiwibWluIiwic3VtIik7JHpiPWFycmF5KGFycmF5KCJjaGFyIj0+Im1kNSIsImRhdGV8dGltZSI9PiJub3ciLCksYXJyYXkoImludHxudW1lcmljfHJlYWx8bW9uZXkiPT4iKy8tIiwiZGF0ZXx0aW1lIj0+IisgaW50ZXJ2YWwvLSBpbnRlcnZhbCIsImNoYXJ8dGV4dCI9PiJ8fCIsKSk7fSR0Ylsib3JhY2xlIl09Ik9yYWNsZSI7aWYoaXNzZXQoJF9HRVRbIm9yYWNsZSJdKSl7JGllPWFycmF5KCJPQ0k4IiwiUERPX09DSSIpO2RlZmluZSgiRFJJVkVSIiwib3JhY2xlIik7aWYoZXh0ZW5zaW9uX2xvYWRlZCgib2NpOCIpKXtjbGFzcwpNaW5fREJ7dmFyJGV4dGVuc2lvbj0ib2NpOCIsJF9saW5rLCRfcmVzdWx0LCRzZXJ2ZXJfaW5mbywkYWZmZWN0ZWRfcm93cywkZXJyb3I7ZnVuY3Rpb24KX2Vycm9yKCRJYiwkayl7aWYoaW5pX2Jvb2woImh0bWxfZXJyb3JzIikpeyRrPWh0bWxfZW50aXR5X2RlY29kZShzdHJpcF90YWdzKCRrKSk7fSRrPWVyZWdfcmVwbGFjZSgnXlteOl0qOiAnLCcnLCRrKTskdGhpcy0+ZXJyb3I9JGs7fWZ1bmN0aW9uCmNvbm5lY3QoJEosJFUsJEIpeyR0aGlzLT5fbGluaz1Ab2NpX25ld19jb25uZWN0KCRVLCRCLCRKLCJBTDMyVVRGOCIpO2lmKCR0aGlzLT5fbGluayl7JHRoaXMtPnNlcnZlcl9pbmZvPW9jaV9zZXJ2ZXJfdmVyc2lvbigkdGhpcy0+X2xpbmspO3JldHVybgp0cnVlO30kaz1vY2lfZXJyb3IoKTskdGhpcy0+ZXJyb3I9JGtbIm1lc3NhZ2UiXTtyZXR1cm4KZmFsc2U7fWZ1bmN0aW9uCnF1b3RlKCRMKXtyZXR1cm4iJyIuc3RyX3JlcGxhY2UoIiciLCInJyIsJEwpLiInIjt9ZnVuY3Rpb24Kc2VsZWN0X2RiKCRqYil7cmV0dXJuCnRydWU7fWZ1bmN0aW9uCnF1ZXJ5KCRELCRMZj1mYWxzZSl7JEU9b2NpX3BhcnNlKCR0aGlzLT5fbGluaywkRCk7aWYoISRFKXskaz1vY2lfZXJyb3IoJHRoaXMtPl9saW5rKTskdGhpcy0+ZXJyb3I9JGtbIm1lc3NhZ2UiXTtyZXR1cm4KZmFsc2U7fXNldF9lcnJvcl9oYW5kbGVyKGFycmF5KCR0aGlzLCdfZXJyb3InKSk7JEY9QG9jaV9leGVjdXRlKCRFKTtyZXN0b3JlX2Vycm9yX2hhbmRsZXIoKTtpZigkRil7aWYob2NpX251bV9maWVsZHMoJEUpKXtyZXR1cm4KbmV3Ck1pbl9SZXN1bHQoJEUpO30kdGhpcy0+YWZmZWN0ZWRfcm93cz1vY2lfbnVtX3Jvd3MoJEUpO31yZXR1cm4kRjt9ZnVuY3Rpb24KbXVsdGlfcXVlcnkoJEQpe3JldHVybiR0aGlzLT5fcmVzdWx0PSR0aGlzLT5xdWVyeSgkRCk7fWZ1bmN0aW9uCnN0b3JlX3Jlc3VsdCgpe3JldHVybiR0aGlzLT5fcmVzdWx0O31mdW5jdGlvbgpuZXh0X3Jlc3VsdCgpe3JldHVybgpmYWxzZTt9ZnVuY3Rpb24KcmVzdWx0KCRELCRsPTEpeyRFPSR0aGlzLT5xdWVyeSgkRCk7aWYoIWlzX29iamVjdCgkRSl8fCFvY2lfZmV0Y2goJEUtPl9yZXN1bHQpKXtyZXR1cm4KZmFsc2U7fXJldHVybgpvY2lfcmVzdWx0KCRFLT5fcmVzdWx0LCRsKTt9fWNsYXNzCk1pbl9SZXN1bHR7dmFyJF9yZXN1bHQsJF9vZmZzZXQ9MSwkbnVtX3Jvd3M7ZnVuY3Rpb24KTWluX1Jlc3VsdCgkRSl7JHRoaXMtPl9yZXN1bHQ9JEU7fWZ1bmN0aW9uCl9jb252ZXJ0KCRHKXtmb3JlYWNoKChhcnJheSkkRwphcyR2PT4kVyl7aWYoaXNfYSgkVywnT0NJLUxvYicpKXskR1skdl09JFctPmxvYWQoKTt9fXJldHVybiRHO31mdW5jdGlvbgpmZXRjaF9hc3NvYygpe3JldHVybiR0aGlzLT5fY29udmVydChvY2lfZmV0Y2hfYXNzb2MoJHRoaXMtPl9yZXN1bHQpKTt9ZnVuY3Rpb24KZmV0Y2hfcm93KCl7cmV0dXJuJHRoaXMtPl9jb252ZXJ0KG9jaV9mZXRjaF9yb3coJHRoaXMtPl9yZXN1bHQpKTt9ZnVuY3Rpb24KZmV0Y2hfZmllbGQoKXskZT0kdGhpcy0+X29mZnNldCsrOyRGPW5ldwpzdGRDbGFzczskRi0+bmFtZT1vY2lfZmllbGRfbmFtZSgkdGhpcy0+X3Jlc3VsdCwkZSk7JEYtPm9yZ25hbWU9JEYtPm5hbWU7JEYtPnR5cGU9b2NpX2ZpZWxkX3R5cGUoJHRoaXMtPl9yZXN1bHQsJGUpOyRGLT5jaGFyc2V0bnI9KGVyZWcoInJhd3xibG9ifGJmaWxlIiwkRi0+dHlwZSk/NjM6MCk7cmV0dXJuJEY7fWZ1bmN0aW9uCl9fZGVzdHJ1Y3QoKXtvY2lfZnJlZV9zdGF0ZW1lbnQoJHRoaXMtPl9yZXN1bHQpO319fWVsc2VpZihleHRlbnNpb25fbG9hZGVkKCJwZG9fb2NpIikpe2NsYXNzCk1pbl9EQgpleHRlbmRzCk1pbl9QRE97dmFyJGV4dGVuc2lvbj0iUERPX09DSSI7ZnVuY3Rpb24KY29ubmVjdCgkSiwkVSwkQil7JHRoaXMtPmRzbigib2NpOmRibmFtZT0vLyRKO2NoYXJzZXQ9QUwzMlVURjgiLCRVLCRCKTtyZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24Kc2VsZWN0X2RiKCRqYil7cmV0dXJuCnRydWU7fX19ZnVuY3Rpb24KaWRmX2VzY2FwZSgkcil7cmV0dXJuJyInLnN0cl9yZXBsYWNlKCciJywnIiInLCRyKS4nIic7fWZ1bmN0aW9uCnRhYmxlKCRyKXtyZXR1cm4KaWRmX2VzY2FwZSgkcik7fWZ1bmN0aW9uCmNvbm5lY3QoKXtnbG9iYWwkYjskZz1uZXcKTWluX0RCOyRmYj0kYi0+Y3JlZGVudGlhbHMoKTtpZigkZy0+Y29ubmVjdCgkZmJbMF0sJGZiWzFdLCRmYlsyXSkpe3JldHVybiRnO31yZXR1cm4kZy0+ZXJyb3I7fWZ1bmN0aW9uCmdldF9kYXRhYmFzZXMoKXtyZXR1cm4KZ2V0X3ZhbHMoIlNFTEVDVCB0YWJsZXNwYWNlX25hbWUgRlJPTSB1c2VyX3RhYmxlc3BhY2VzIik7fWZ1bmN0aW9uCmxpbWl0KCRELCRaLCR4LCRBPTAsJFJlPSIgIil7cmV0dXJuKCRBPyIgKiBGUk9NIChTRUxFQ1QgdC4qLCByb3dudW0gQVMgcm51bSBGUk9NIChTRUxFQ1QgJEQkWikgdCBXSEVSRSByb3dudW0gPD0gIi4oJHgrJEEpLiIpIFdIRVJFIHJudW0gPiAkQSI6KGlzc2V0KCR4KT8iICogRlJPTSAoU0VMRUNUICREJFopIFdIRVJFIHJvd251bSA8PSAiLigkeCskQSk6IiAkRCRaIikpO31mdW5jdGlvbgpsaW1pdDEoJEQsJFope3JldHVybiIgJEQkWiI7fWZ1bmN0aW9uCmRiX2NvbGxhdGlvbigkaiwkUWEpe2dsb2JhbCRnO3JldHVybiRnLT5yZXN1bHQoIlNFTEVDVCB2YWx1ZSBGUk9NIG5sc19kYXRhYmFzZV9wYXJhbWV0ZXJzIFdIRVJFIHBhcmFtZXRlciA9ICdOTFNfQ0hBUkFDVEVSU0VUJyIpO31mdW5jdGlvbgplbmdpbmVzKCl7cmV0dXJuCmFycmF5KCk7fWZ1bmN0aW9uCmxvZ2dlZF91c2VyKCl7Z2xvYmFsJGc7cmV0dXJuJGctPnJlc3VsdCgiU0VMRUNUIFVTRVIgRlJPTSBEVUFMIik7fWZ1bmN0aW9uCnRhYmxlc19saXN0KCl7cmV0dXJuCmdldF9rZXlfdmFscygiU0VMRUNUIHRhYmxlX25hbWUsICd0YWJsZScgRlJPTSBhbGxfdGFibGVzIFdIRVJFIHRhYmxlc3BhY2VfbmFtZSA9ICIucShEQikuIgpVTklPTiBTRUxFQ1Qgdmlld19uYW1lLCAndmlldycgRlJPTSB1c2VyX3ZpZXdzIik7fWZ1bmN0aW9uCmNvdW50X3RhYmxlcygkaSl7cmV0dXJuCmFycmF5KCk7fWZ1bmN0aW9uCnRhYmxlX3N0YXR1cygkXz0iIil7JEY9YXJyYXkoKTskT2U9cSgkXyk7Zm9yZWFjaChnZXRfcm93cygnU0VMRUNUIHRhYmxlX25hbWUgIk5hbWUiLCBcJ3RhYmxlXCcgIkVuZ2luZSIgRlJPTSBhbGxfdGFibGVzIFdIRVJFIHRhYmxlc3BhY2VfbmFtZSA9ICcucShEQikuKCRfIT0iIj8iIEFORCB0YWJsZV9uYW1lID0gJE9lIjoiIikuIgpVTklPTiBTRUxFQ1Qgdmlld19uYW1lLCAndmlldycgRlJPTSB1c2VyX3ZpZXdzIi4oJF8hPSIiPyIgV0hFUkUgdmlld19uYW1lID0gJE9lIjoiIikpYXMkRyl7aWYoJF8hPSIiKXtyZXR1cm4kRzt9JEZbJEdbIk5hbWUiXV09JEc7fXJldHVybiRGO31mdW5jdGlvbgppc192aWV3KCRPKXtyZXR1cm4kT1siRW5naW5lIl09PSJ2aWV3Ijt9ZnVuY3Rpb24KZmtfc3VwcG9ydCgkTyl7cmV0dXJuCnRydWU7fWZ1bmN0aW9uCmZpZWxkcygkTil7JEY9YXJyYXkoKTtmb3JlYWNoKGdldF9yb3dzKCJTRUxFQ1QgKiBGUk9NIGFsbF90YWJfY29sdW1ucyBXSEVSRSB0YWJsZV9uYW1lID0gIi5xKCROKS4iIE9SREVSIEJZIGNvbHVtbl9pZCIpYXMkRyl7JFM9JEdbIkRBVEFfVFlQRSJdOyR3PSIkR1tEQVRBX1BSRUNJU0lPTl0sJEdbREFUQV9TQ0FMRV0iO2lmKCR3PT0iLCIpeyR3PSRHWyJEQVRBX0xFTkdUSCJdO30kRlskR1siQ09MVU1OX05BTUUiXV09YXJyYXkoImZpZWxkIj0+JEdbIkNPTFVNTl9OQU1FIl0sImZ1bGxfdHlwZSI9PiRTLigkdz8iKCR3KSI6IiIpLCJ0eXBlIj0+c3RydG9sb3dlcigkUyksImxlbmd0aCI9PiR3LCJkZWZhdWx0Ij0+JEdbIkRBVEFfREVGQVVMVCJdLCJudWxsIj0+KCRHWyJOVUxMQUJMRSJdPT0iWSIpLCJwcml2aWxlZ2VzIj0+YXJyYXkoImluc2VydCI9PjEsInNlbGVjdCI9PjEsInVwZGF0ZSI9PjEpLCk7fXJldHVybiRGO31mdW5jdGlvbgppbmRleGVzKCROLCRoPW51bGwpeyRGPWFycmF5KCk7Zm9yZWFjaChnZXRfcm93cygiU0VMRUNUIHVpYy4qLCB1Yy5jb25zdHJhaW50X3R5cGUKRlJPTSB1c2VyX2luZF9jb2x1bW5zIHVpYwpMRUZUIEpPSU4gdXNlcl9jb25zdHJhaW50cyB1YyBPTiB1aWMuaW5kZXhfbmFtZSA9IHVjLmNvbnN0cmFpbnRfbmFtZSBBTkQgdWljLnRhYmxlX25hbWUgPSB1Yy50YWJsZV9uYW1lCldIRVJFIHVpYy50YWJsZV9uYW1lID0gIi5xKCROKS4iCk9SREVSIEJZIHVjLmNvbnN0cmFpbnRfdHlwZSwgdWljLmNvbHVtbl9wb3NpdGlvbiIsJGgpYXMkRyl7JEZbJEdbIklOREVYX05BTUUiXV1bInR5cGUiXT0oJEdbIkNPTlNUUkFJTlRfVFlQRSJdPT0iUCI/IlBSSU1BUlkiOigkR1siQ09OU1RSQUlOVF9UWVBFIl09PSJVIj8iVU5JUVVFIjoiSU5ERVgiKSk7JEZbJEdbIklOREVYX05BTUUiXV1bImNvbHVtbnMiXVtdPSRHWyJDT0xVTU5fTkFNRSJdOyRGWyRHWyJJTkRFWF9OQU1FIl1dWyJsZW5ndGhzIl1bXT0oJEdbIkNIQVJfTEVOR1RIIl0mJiRHWyJDSEFSX0xFTkdUSCJdIT0kR1siQ09MVU1OX0xFTkdUSCJdPyRHWyJDSEFSX0xFTkdUSCJdOm51bGwpO31yZXR1cm4kRjt9ZnVuY3Rpb24KdmlldygkXyl7JEg9Z2V0X3Jvd3MoJ1NFTEVDVCB0ZXh0ICJzZWxlY3QiIEZST00gdXNlcl92aWV3cyBXSEVSRSB2aWV3X25hbWUgPSAnLnEoJF8pKTtyZXR1cm4KcmVzZXQoJEgpO31mdW5jdGlvbgpjb2xsYXRpb25zKCl7cmV0dXJuCmFycmF5KCk7fWZ1bmN0aW9uCmluZm9ybWF0aW9uX3NjaGVtYSgkail7cmV0dXJuCmZhbHNlO31mdW5jdGlvbgplcnJvcigpe2dsb2JhbCRnO3JldHVybgpoKCRnLT5lcnJvcik7fWZ1bmN0aW9uCmV4YWN0X3ZhbHVlKCRXKXtyZXR1cm4KcSgkVyk7fWZ1bmN0aW9uCmV4cGxhaW4oJGcsJEQpeyRnLT5xdWVyeSgiRVhQTEFJTiBQTEFOIEZPUiAkRCIpO3JldHVybiRnLT5xdWVyeSgiU0VMRUNUICogRlJPTSBwbGFuX3RhYmxlIik7fWZ1bmN0aW9uCmZvdW5kX3Jvd3MoJE8sJFope31mdW5jdGlvbgphbHRlcl90YWJsZSgkTiwkXywkbSwkZGMsJFVhLCRGYiwkZCwkX2EsJFpkKXskYz0kdWI9YXJyYXkoKTtmb3JlYWNoKCRtCmFzJGwpeyRXPSRsWzFdO2lmKCRXJiYkbFswXSE9IiImJmlkZl9lc2NhcGUoJGxbMF0pIT0kV1swXSl7cXVlcmllcygiQUxURVIgVEFCTEUgIi50YWJsZSgkTikuIiBSRU5BTUUgQ09MVU1OICIuaWRmX2VzY2FwZSgkbFswXSkuIiBUTyAkV1swXSIpO31pZigkVyl7JGNbXT0oJE4hPSIiPygkbFswXSE9IiI/Ik1PRElGWSAoIjoiQUREICgiKToiICAiKS5pbXBsb2RlKCRXKS4oJE4hPSIiPyIpIjoiIik7fWVsc2V7JHViW109aWRmX2VzY2FwZSgkbFswXSk7fX1pZigkTj09IiIpe3JldHVybgpxdWVyaWVzKCJDUkVBVEUgVEFCTEUgIi50YWJsZSgkXykuIiAoXG4iLmltcGxvZGUoIixcbiIsJGMpLiJcbikiKTt9cmV0dXJuKCEkY3x8cXVlcmllcygiQUxURVIgVEFCTEUgIi50YWJsZSgkTikuIlxuIi5pbXBsb2RlKCJcbiIsJGMpKSkmJighJHVifHxxdWVyaWVzKCJBTFRFUiBUQUJMRSAiLnRhYmxlKCROKS4iIERST1AgKCIuaW1wbG9kZSgiLCAiLCR1YikuIikiKSkmJigkTj09JF98fHF1ZXJpZXMoIkFMVEVSIFRBQkxFICIudGFibGUoJE4pLiIgUkVOQU1FIFRPICIudGFibGUoJF8pKSk7fWZ1bmN0aW9uCmZvcmVpZ25fa2V5cygkTil7cmV0dXJuCmFycmF5KCk7fWZ1bmN0aW9uCnRydW5jYXRlX3RhYmxlcygkUCl7cmV0dXJuCmFwcGx5X3F1ZXJpZXMoIlRSVU5DQVRFIFRBQkxFIiwkUCk7fWZ1bmN0aW9uCmRyb3Bfdmlld3MoJFkpe3JldHVybgphcHBseV9xdWVyaWVzKCJEUk9QIFZJRVciLCRZKTt9ZnVuY3Rpb24KZHJvcF90YWJsZXMoJFApe3JldHVybgphcHBseV9xdWVyaWVzKCJEUk9QIFRBQkxFIiwkUCk7fWZ1bmN0aW9uCmJlZ2luKCl7cmV0dXJuCnRydWU7fWZ1bmN0aW9uCmluc2VydF9pbnRvKCROLCRLKXtyZXR1cm4KcXVlcmllcygiSU5TRVJUIElOVE8gIi50YWJsZSgkTikuIiAoIi5pbXBsb2RlKCIsICIsYXJyYXlfa2V5cygkSykpLiIpXG5WQUxVRVMgKCIuaW1wbG9kZSgiLCAiLCRLKS4iKSIpO31mdW5jdGlvbgpsYXN0X2lkKCl7cmV0dXJuCjA7fWZ1bmN0aW9uCnNjaGVtYXMoKXtyZXR1cm4KYXJyYXkoKTt9ZnVuY3Rpb24KZ2V0X3NjaGVtYSgpe3JldHVybiIiO31mdW5jdGlvbgpzZXRfc2NoZW1hKCROZSl7cmV0dXJuCnRydWU7fWZ1bmN0aW9uCnNob3dfdmFyaWFibGVzKCl7cmV0dXJuCmdldF9rZXlfdmFscygnU0VMRUNUIG5hbWUsIGRpc3BsYXlfdmFsdWUgRlJPTSB2JHBhcmFtZXRlcicpO31mdW5jdGlvbgpzaG93X3N0YXR1cygpeyRIPWdldF9yb3dzKCdTRUxFQ1QgKiBGUk9NIHYkaW5zdGFuY2UnKTtyZXR1cm4KcmVzZXQoJEgpO31mdW5jdGlvbgpzdXBwb3J0KCRYYil7cmV0dXJuCmVyZWcoInZpZXd8ZHJvcF9jb2x8dmFyaWFibGVzfHN0YXR1cyIsJFhiKTt9JHU9Im9yYWNsZSI7JFQ9YXJyYXkoKTskZWY9YXJyYXkoKTtmb3JlYWNoKGFycmF5KGxhbmcoMTIpPT5hcnJheSgibnVtYmVyIj0+MzgsImJpbmFyeV9mbG9hdCI9PjEyLCJiaW5hcnlfZG91YmxlIj0+MjEpLGxhbmcoMTMpPT5hcnJheSgiZGF0ZSI9PjEwLCJ0aW1lc3RhbXAiPT4yOSwiaW50ZXJ2YWwgeWVhciI9PjEyLCJpbnRlcnZhbCBkYXkiPT4yOCksbGFuZygxNCk9PmFycmF5KCJjaGFyIj0+MjAwMCwidmFyY2hhcjIiPT40MDAwLCJuY2hhciI9PjIwMDAsIm52YXJjaGFyMiI9PjQwMDAsImNsb2IiPT40Mjk0OTY3Mjk1LCJuY2xvYiI9PjQyOTQ5NjcyOTUpLGxhbmcoMTUpPT5hcnJheSgicmF3Ij0+MjAwMCwibG9uZyByYXciPT4yMTQ3NDgzNjQ4LCJibG9iIj0+NDI5NDk2NzI5NSwiYmZpbGUiPT40Mjk0OTY3Mjk2KSwpYXMkdj0+JFcpeyRUKz0kVzskZWZbJHZdPWFycmF5X2tleXMoJFcpO30kUmY9YXJyYXkoKTskRmQ9YXJyYXkoIj0iLCI8IiwiPiIsIjw9IiwiPj0iLCIhPSIsIkxJS0UiLCJMSUtFICUlIiwiSU4iLCJJUyBOVUxMIiwiTk9UIExJS0UiLCJOT1QgUkVHRVhQIiwiTk9UIElOIiwiSVMgTk9UIE5VTEwiLCIiKTskbGM9YXJyYXkoImxlbmd0aCIsImxvd2VyIiwicm91bmQiLCJ1cHBlciIpOyRxYz1hcnJheSgiYXZnIiwiY291bnQiLCJjb3VudCBkaXN0aW5jdCIsIm1heCIsIm1pbiIsInN1bSIpOyR6Yj1hcnJheShhcnJheSgiZGF0ZSI9PiJjdXJyZW50X2RhdGUiLCJ0aW1lc3RhbXAiPT4iY3VycmVudF90aW1lc3RhbXAiLCksYXJyYXkoIm51bWJlcnxmbG9hdHxkb3VibGUiPT4iKy8tIiwiZGF0ZXx0aW1lc3RhbXAiPT4iKyBpbnRlcnZhbC8tIGludGVydmFsIiwiY2hhcnxjbG9iIj0+Inx8IiwpKTt9JHRiWyJtc3NxbCJdPSJNUyBTUUwiO2lmKGlzc2V0KCRfR0VUWyJtc3NxbCJdKSl7JGllPWFycmF5KCJTUUxTUlYiLCJNU1NRTCIpO2RlZmluZSgiRFJJVkVSIiwibXNzcWwiKTtpZihleHRlbnNpb25fbG9hZGVkKCJzcWxzcnYiKSl7Y2xhc3MKTWluX0RCe3ZhciRleHRlbnNpb249InNxbHNydiIsJF9saW5rLCRfcmVzdWx0LCRzZXJ2ZXJfaW5mbywkYWZmZWN0ZWRfcm93cywkZXJyb3I7ZnVuY3Rpb24KX2dldF9lcnJvcigpeyR0aGlzLT5lcnJvcj0iIjtmb3JlYWNoKHNxbHNydl9lcnJvcnMoKWFzJGspeyR0aGlzLT5lcnJvci49IiRrW21lc3NhZ2VdXG4iO30kdGhpcy0+ZXJyb3I9cnRyaW0oJHRoaXMtPmVycm9yKTt9ZnVuY3Rpb24KY29ubmVjdCgkSiwkVSwkQil7JHRoaXMtPl9saW5rPUBzcWxzcnZfY29ubmVjdCgkSixhcnJheSgiVUlEIj0+JFUsIlBXRCI9PiRCKSk7aWYoJHRoaXMtPl9saW5rKXskQWM9c3Fsc3J2X3NlcnZlcl9pbmZvKCR0aGlzLT5fbGluayk7JHRoaXMtPnNlcnZlcl9pbmZvPSRBY1snU1FMU2VydmVyVmVyc2lvbiddO31lbHNleyR0aGlzLT5fZ2V0X2Vycm9yKCk7fXJldHVybihib29sKSR0aGlzLT5fbGluazt9ZnVuY3Rpb24KcXVvdGUoJEwpe3JldHVybiInIi5zdHJfcmVwbGFjZSgiJyIsIicnIiwkTCkuIiciO31mdW5jdGlvbgpzZWxlY3RfZGIoJGpiKXtyZXR1cm4kdGhpcy0+cXVlcnkoIlVTRSAkamIiKTt9ZnVuY3Rpb24KcXVlcnkoJEQsJExmPWZhbHNlKXskRT1zcWxzcnZfcXVlcnkoJHRoaXMtPl9saW5rLCREKTtpZighJEUpeyR0aGlzLT5fZ2V0X2Vycm9yKCk7cmV0dXJuCmZhbHNlO31yZXR1cm4kdGhpcy0+c3RvcmVfcmVzdWx0KCRFKTt9ZnVuY3Rpb24KbXVsdGlfcXVlcnkoJEQpeyR0aGlzLT5fcmVzdWx0PXNxbHNydl9xdWVyeSgkdGhpcy0+X2xpbmssJEQpO2lmKCEkdGhpcy0+X3Jlc3VsdCl7JHRoaXMtPl9nZXRfZXJyb3IoKTtyZXR1cm4KZmFsc2U7fXJldHVybgp0cnVlO31mdW5jdGlvbgpzdG9yZV9yZXN1bHQoJEU9bnVsbCl7aWYoISRFKXskRT0kdGhpcy0+X3Jlc3VsdDt9aWYoc3Fsc3J2X2ZpZWxkX21ldGFkYXRhKCRFKSl7cmV0dXJuCm5ldwpNaW5fUmVzdWx0KCRFKTt9JHRoaXMtPmFmZmVjdGVkX3Jvd3M9c3Fsc3J2X3Jvd3NfYWZmZWN0ZWQoJEUpO3JldHVybgp0cnVlO31mdW5jdGlvbgpuZXh0X3Jlc3VsdCgpe3JldHVybgpzcWxzcnZfbmV4dF9yZXN1bHQoJHRoaXMtPl9yZXN1bHQpO31mdW5jdGlvbgpyZXN1bHQoJEQsJGw9MCl7JEU9JHRoaXMtPnF1ZXJ5KCREKTtpZighaXNfb2JqZWN0KCRFKSl7cmV0dXJuCmZhbHNlO30kRz0kRS0+ZmV0Y2hfcm93KCk7cmV0dXJuJEdbJGxdO319Y2xhc3MKTWluX1Jlc3VsdHt2YXIkX3Jlc3VsdCwkX29mZnNldD0wLCRfZmllbGRzLCRudW1fcm93cztmdW5jdGlvbgpNaW5fUmVzdWx0KCRFKXskdGhpcy0+X3Jlc3VsdD0kRTt9ZnVuY3Rpb24KX2NvbnZlcnQoJEcpe2ZvcmVhY2goKGFycmF5KSRHCmFzJHY9PiRXKXtpZihpc19hKCRXLCdEYXRlVGltZScpKXskR1skdl09JFctPmZvcm1hdCgiWS1tLWQgSDppOnMiKTt9fXJldHVybiRHO31mdW5jdGlvbgpmZXRjaF9hc3NvYygpe3JldHVybiR0aGlzLT5fY29udmVydChzcWxzcnZfZmV0Y2hfYXJyYXkoJHRoaXMtPl9yZXN1bHQsU1FMU1JWX0ZFVENIX0FTU09DLFNRTFNSVl9TQ1JPTExfTkVYVCkpO31mdW5jdGlvbgpmZXRjaF9yb3coKXtyZXR1cm4kdGhpcy0+X2NvbnZlcnQoc3Fsc3J2X2ZldGNoX2FycmF5KCR0aGlzLT5fcmVzdWx0LFNRTFNSVl9GRVRDSF9OVU1FUklDLFNRTFNSVl9TQ1JPTExfTkVYVCkpO31mdW5jdGlvbgpmZXRjaF9maWVsZCgpe2lmKCEkdGhpcy0+X2ZpZWxkcyl7JHRoaXMtPl9maWVsZHM9c3Fsc3J2X2ZpZWxkX21ldGFkYXRhKCR0aGlzLT5fcmVzdWx0KTt9JGw9JHRoaXMtPl9maWVsZHNbJHRoaXMtPl9vZmZzZXQrK107JEY9bmV3CnN0ZENsYXNzOyRGLT5uYW1lPSRsWyJOYW1lIl07JEYtPm9yZ25hbWU9JGxbIk5hbWUiXTskRi0+dHlwZT0oJGxbIlR5cGUiXT09MT8yNTQ6MCk7cmV0dXJuJEY7fWZ1bmN0aW9uCnNlZWsoJEEpe2ZvcigkcD0wOyRwPCRBOyRwKyspe3NxbHNydl9mZXRjaCgkdGhpcy0+X3Jlc3VsdCk7fX1mdW5jdGlvbgpfX2Rlc3RydWN0KCl7c3Fsc3J2X2ZyZWVfc3RtdCgkdGhpcy0+X3Jlc3VsdCk7fX19ZWxzZWlmKGV4dGVuc2lvbl9sb2FkZWQoIm1zc3FsIikpe2NsYXNzCk1pbl9EQnt2YXIkZXh0ZW5zaW9uPSJNU1NRTCIsJF9saW5rLCRfcmVzdWx0LCRzZXJ2ZXJfaW5mbywkYWZmZWN0ZWRfcm93cywkZXJyb3I7ZnVuY3Rpb24KY29ubmVjdCgkSiwkVSwkQil7JHRoaXMtPl9saW5rPUBtc3NxbF9jb25uZWN0KCRKLCRVLCRCKTtpZigkdGhpcy0+X2xpbmspeyRFPSR0aGlzLT5xdWVyeSgiU0VMRUNUIFNFUlZFUlBST1BFUlRZKCdQcm9kdWN0TGV2ZWwnKSwgU0VSVkVSUFJPUEVSVFkoJ0VkaXRpb24nKSIpOyRHPSRFLT5mZXRjaF9yb3coKTskdGhpcy0+c2VydmVyX2luZm89JHRoaXMtPnJlc3VsdCgic3Bfc2VydmVyX2luZm8gMiIsMikuIiBbJEdbMF1dICRHWzFdIjt9ZWxzZXskdGhpcy0+ZXJyb3I9bXNzcWxfZ2V0X2xhc3RfbWVzc2FnZSgpO31yZXR1cm4oYm9vbCkkdGhpcy0+X2xpbms7fWZ1bmN0aW9uCnF1b3RlKCRMKXtyZXR1cm4iJyIuc3RyX3JlcGxhY2UoIiciLCInJyIsJEwpLiInIjt9ZnVuY3Rpb24Kc2VsZWN0X2RiKCRqYil7cmV0dXJuCm1zc3FsX3NlbGVjdF9kYigkamIpO31mdW5jdGlvbgpxdWVyeSgkRCwkTGY9ZmFsc2UpeyRFPW1zc3FsX3F1ZXJ5KCRELCR0aGlzLT5fbGluayk7aWYoISRFKXskdGhpcy0+ZXJyb3I9bXNzcWxfZ2V0X2xhc3RfbWVzc2FnZSgpO3JldHVybgpmYWxzZTt9aWYoJEU9PT10cnVlKXskdGhpcy0+YWZmZWN0ZWRfcm93cz1tc3NxbF9yb3dzX2FmZmVjdGVkKCR0aGlzLT5fbGluayk7cmV0dXJuCnRydWU7fXJldHVybgpuZXcKTWluX1Jlc3VsdCgkRSk7fWZ1bmN0aW9uCm11bHRpX3F1ZXJ5KCREKXtyZXR1cm4kdGhpcy0+X3Jlc3VsdD0kdGhpcy0+cXVlcnkoJEQpO31mdW5jdGlvbgpzdG9yZV9yZXN1bHQoKXtyZXR1cm4kdGhpcy0+X3Jlc3VsdDt9ZnVuY3Rpb24KbmV4dF9yZXN1bHQoKXtyZXR1cm4KbXNzcWxfbmV4dF9yZXN1bHQoJHRoaXMtPl9yZXN1bHQpO31mdW5jdGlvbgpyZXN1bHQoJEQsJGw9MCl7JEU9JHRoaXMtPnF1ZXJ5KCREKTtpZighaXNfb2JqZWN0KCRFKSl7cmV0dXJuCmZhbHNlO31yZXR1cm4KbXNzcWxfcmVzdWx0KCRFLT5fcmVzdWx0LDAsJGwpO319Y2xhc3MKTWluX1Jlc3VsdHt2YXIkX3Jlc3VsdCwkX29mZnNldD0wLCRfZmllbGRzLCRudW1fcm93cztmdW5jdGlvbgpNaW5fUmVzdWx0KCRFKXskdGhpcy0+X3Jlc3VsdD0kRTskdGhpcy0+bnVtX3Jvd3M9bXNzcWxfbnVtX3Jvd3MoJEUpO31mdW5jdGlvbgpmZXRjaF9hc3NvYygpe3JldHVybgptc3NxbF9mZXRjaF9hc3NvYygkdGhpcy0+X3Jlc3VsdCk7fWZ1bmN0aW9uCmZldGNoX3Jvdygpe3JldHVybgptc3NxbF9mZXRjaF9yb3coJHRoaXMtPl9yZXN1bHQpO31mdW5jdGlvbgpudW1fcm93cygpe3JldHVybgptc3NxbF9udW1fcm93cygkdGhpcy0+X3Jlc3VsdCk7fWZ1bmN0aW9uCmZldGNoX2ZpZWxkKCl7JEY9bXNzcWxfZmV0Y2hfZmllbGQoJHRoaXMtPl9yZXN1bHQpOyRGLT5vcmd0YWJsZT0kRi0+dGFibGU7JEYtPm9yZ25hbWU9JEYtPm5hbWU7cmV0dXJuJEY7fWZ1bmN0aW9uCnNlZWsoJEEpe21zc3FsX2RhdGFfc2VlaygkdGhpcy0+X3Jlc3VsdCwkQSk7fWZ1bmN0aW9uCl9fZGVzdHJ1Y3QoKXttc3NxbF9mcmVlX3Jlc3VsdCgkdGhpcy0+X3Jlc3VsdCk7fX19ZnVuY3Rpb24KaWRmX2VzY2FwZSgkcil7cmV0dXJuIlsiLnN0cl9yZXBsYWNlKCJdIiwiXV0iLCRyKS4iXSI7fWZ1bmN0aW9uCnRhYmxlKCRyKXtyZXR1cm4oJF9HRVRbIm5zIl0hPSIiP2lkZl9lc2NhcGUoJF9HRVRbIm5zIl0pLiIuIjoiIikuaWRmX2VzY2FwZSgkcik7fWZ1bmN0aW9uCmNvbm5lY3QoKXtnbG9iYWwkYjskZz1uZXcKTWluX0RCOyRmYj0kYi0+Y3JlZGVudGlhbHMoKTtpZigkZy0+Y29ubmVjdCgkZmJbMF0sJGZiWzFdLCRmYlsyXSkpe3JldHVybiRnO31yZXR1cm4kZy0+ZXJyb3I7fWZ1bmN0aW9uCmdldF9kYXRhYmFzZXMoKXtyZXR1cm4KZ2V0X3ZhbHMoIkVYRUMgc3BfZGF0YWJhc2VzIik7fWZ1bmN0aW9uCmxpbWl0KCRELCRaLCR4LCRBPTAsJFJlPSIgIil7cmV0dXJuKGlzc2V0KCR4KT8iIFRPUCAoIi4oJHgrJEEpLiIpIjoiIikuIiAkRCRaIjt9ZnVuY3Rpb24KbGltaXQxKCRELCRaKXtyZXR1cm4KbGltaXQoJEQsJFosMSk7fWZ1bmN0aW9uCmRiX2NvbGxhdGlvbigkaiwkUWEpe2dsb2JhbCRnO3JldHVybiRnLT5yZXN1bHQoIlNFTEVDVCBjb2xsYXRpb25fbmFtZSBGUk9NIHN5cy5kYXRhYmFzZXMgV0hFUkUgbmFtZSA9ICAiLnEoJGopKTt9ZnVuY3Rpb24KZW5naW5lcygpe3JldHVybgphcnJheSgpO31mdW5jdGlvbgpsb2dnZWRfdXNlcigpe2dsb2JhbCRnO3JldHVybiRnLT5yZXN1bHQoIlNFTEVDVCBTVVNFUl9OQU1FKCkiKTt9ZnVuY3Rpb24KdGFibGVzX2xpc3QoKXtyZXR1cm4KZ2V0X2tleV92YWxzKCJTRUxFQ1QgbmFtZSwgdHlwZV9kZXNjIEZST00gc3lzLmFsbF9vYmplY3RzIFdIRVJFIHNjaGVtYV9pZCA9IFNDSEVNQV9JRCgiLnEoZ2V0X3NjaGVtYSgpKS4iKSBBTkQgdHlwZSBJTiAoJ1MnLCAnVScsICdWJykgT1JERVIgQlkgbmFtZSIpO31mdW5jdGlvbgpjb3VudF90YWJsZXMoJGkpe2dsb2JhbCRnOyRGPWFycmF5KCk7Zm9yZWFjaCgkaQphcyRqKXskZy0+c2VsZWN0X2RiKCRqKTskRlskal09JGctPnJlc3VsdCgiU0VMRUNUIENPVU5UKCopIEZST00gSU5GT1JNQVRJT05fU0NIRU1BLlRBQkxFUyIpO31yZXR1cm4kRjt9ZnVuY3Rpb24KdGFibGVfc3RhdHVzKCRfPSIiKXskRj1hcnJheSgpO2ZvcmVhY2goZ2V0X3Jvd3MoIlNFTEVDVCBuYW1lIEFTIE5hbWUsIHR5cGVfZGVzYyBBUyBFbmdpbmUgRlJPTSBzeXMuYWxsX29iamVjdHMgV0hFUkUgc2NoZW1hX2lkID0gU0NIRU1BX0lEKCIucShnZXRfc2NoZW1hKCkpLiIpIEFORCB0eXBlIElOICgnUycsICdVJywgJ1YnKSIuKCRfIT0iIj8iIEFORCBuYW1lID0gIi5xKCRfKToiIikpYXMkRyl7aWYoJF8hPSIiKXtyZXR1cm4kRzt9JEZbJEdbIk5hbWUiXV09JEc7fXJldHVybiRGO31mdW5jdGlvbgppc192aWV3KCRPKXtyZXR1cm4kT1siRW5naW5lIl09PSJWSUVXIjt9ZnVuY3Rpb24KZmtfc3VwcG9ydCgkTyl7cmV0dXJuCnRydWU7fWZ1bmN0aW9uCmZpZWxkcygkTil7JEY9YXJyYXkoKTtmb3JlYWNoKGdldF9yb3dzKCJTRUxFQ1QgYy4qLCB0Lm5hbWUgdHlwZSwgZC5kZWZpbml0aW9uIFtkZWZhdWx0XQpGUk9NIHN5cy5hbGxfY29sdW1ucyBjCkpPSU4gc3lzLmFsbF9vYmplY3RzIG8gT04gYy5vYmplY3RfaWQgPSBvLm9iamVjdF9pZApKT0lOIHN5cy50eXBlcyB0IE9OIGMudXNlcl90eXBlX2lkID0gdC51c2VyX3R5cGVfaWQKTEVGVCBKT0lOIHN5cy5kZWZhdWx0X2NvbnN0cmFpbnRzIGQgT04gYy5kZWZhdWx0X29iamVjdF9pZCA9IGQucGFyZW50X2NvbHVtbl9pZApXSEVSRSBvLnNjaGVtYV9pZCA9IFNDSEVNQV9JRCgiLnEoZ2V0X3NjaGVtYSgpKS4iKSBBTkQgby50eXBlIElOICgnUycsICdVJywgJ1YnKSBBTkQgby5uYW1lID0gIi5xKCROKSlhcyRHKXskUz0kR1sidHlwZSJdOyR3PShlcmVnKCJjaGFyfGJpbmFyeSIsJFMpPyRHWyJtYXhfbGVuZ3RoIl06KCRTPT0iZGVjaW1hbCI/IiRHW3ByZWNpc2lvbl0sJEdbc2NhbGVdIjoiIikpOyRGWyRHWyJuYW1lIl1dPWFycmF5KCJmaWVsZCI9PiRHWyJuYW1lIl0sImZ1bGxfdHlwZSI9PiRTLigkdz8iKCR3KSI6IiIpLCJ0eXBlIj0+JFMsImxlbmd0aCI9PiR3LCJkZWZhdWx0Ij0+JEdbImRlZmF1bHQiXSwibnVsbCI9PiRHWyJpc19udWxsYWJsZSJdLCJhdXRvX2luY3JlbWVudCI9PiRHWyJpc19pZGVudGl0eSJdLCJjb2xsYXRpb24iPT4kR1siY29sbGF0aW9uX25hbWUiXSwicHJpdmlsZWdlcyI9PmFycmF5KCJpbnNlcnQiPT4xLCJzZWxlY3QiPT4xLCJ1cGRhdGUiPT4xKSwicHJpbWFyeSI9PiRHWyJpc19pZGVudGl0eSJdLCk7fXJldHVybiRGO31mdW5jdGlvbgppbmRleGVzKCROLCRoPW51bGwpeyRGPWFycmF5KCk7Zm9yZWFjaChnZXRfcm93cygiU0VMRUNUIGkubmFtZSwga2V5X29yZGluYWwsIGlzX3VuaXF1ZSwgaXNfcHJpbWFyeV9rZXksIGMubmFtZSBBUyBjb2x1bW5fbmFtZQpGUk9NIHN5cy5pbmRleGVzIGkKSU5ORVIgSk9JTiBzeXMuaW5kZXhfY29sdW1ucyBpYyBPTiBpLm9iamVjdF9pZCA9IGljLm9iamVjdF9pZCBBTkQgaS5pbmRleF9pZCA9IGljLmluZGV4X2lkCklOTkVSIEpPSU4gc3lzLmNvbHVtbnMgYyBPTiBpYy5vYmplY3RfaWQgPSBjLm9iamVjdF9pZCBBTkQgaWMuY29sdW1uX2lkID0gYy5jb2x1bW5faWQKV0hFUkUgT0JKRUNUX05BTUUoaS5vYmplY3RfaWQpID0gIi5xKCROKSwkaClhcyRHKXskRlskR1sibmFtZSJdXVsidHlwZSJdPSgkR1siaXNfcHJpbWFyeV9rZXkiXT8iUFJJTUFSWSI6KCRHWyJpc191bmlxdWUiXT8iVU5JUVVFIjoiSU5ERVgiKSk7JEZbJEdbIm5hbWUiXV1bImxlbmd0aHMiXT1hcnJheSgpOyRGWyRHWyJuYW1lIl1dWyJjb2x1bW5zIl1bJEdbImtleV9vcmRpbmFsIl1dPSRHWyJjb2x1bW5fbmFtZSJdO31yZXR1cm4kRjt9ZnVuY3Rpb24KdmlldygkXyl7Z2xvYmFsJGc7cmV0dXJuCmFycmF5KCJzZWxlY3QiPT5wcmVnX3JlcGxhY2UoJ35eKD86W15bXXxcXFtbXl1dKl0pKlxccytBU1xccyt+aXNVJywnJywkZy0+cmVzdWx0KCJTRUxFQ1QgVklFV19ERUZJTklUSU9OIEZST00gSU5GT1JNQVRJT05fU0NIRU1BLlZJRVdTIFdIRVJFIFRBQkxFX1NDSEVNQSA9IFNDSEVNQV9OQU1FKCkgQU5EIFRBQkxFX05BTUUgPSAiLnEoJF8pKSkpO31mdW5jdGlvbgpjb2xsYXRpb25zKCl7JEY9YXJyYXkoKTtmb3JlYWNoKGdldF92YWxzKCJTRUxFQ1QgbmFtZSBGUk9NIGZuX2hlbHBjb2xsYXRpb25zKCkiKWFzJGQpeyRGW2VyZWdfcmVwbGFjZSgiXy4qIiwiIiwkZCldW109JGQ7fXJldHVybiRGO31mdW5jdGlvbgppbmZvcm1hdGlvbl9zY2hlbWEoJGope3JldHVybgpmYWxzZTt9ZnVuY3Rpb24KZXJyb3IoKXtnbG9iYWwkZztyZXR1cm4KbmxfYnIoaChwcmVnX3JlcGxhY2UoJ35eKFxcW1teXV0qXSkrfm0nLCcnLCRnLT5lcnJvcikpKTt9ZnVuY3Rpb24KZXhhY3RfdmFsdWUoJFcpe3JldHVybgpxKCRXKTt9ZnVuY3Rpb24KY3JlYXRlX2RhdGFiYXNlKCRqLCRkKXtyZXR1cm4KcXVlcmllcygiQ1JFQVRFIERBVEFCQVNFICIuaWRmX2VzY2FwZSgkaikuKGVyZWdpKCdeW2EtejAtOV9dKyQnLCRkKT8iIENPTExBVEUgJGQiOiIiKSk7fWZ1bmN0aW9uCmRyb3BfZGF0YWJhc2VzKCRpKXtyZXR1cm4KcXVlcmllcygiRFJPUCBEQVRBQkFTRSAiLmltcGxvZGUoIiwgIixhcnJheV9tYXAoJ2lkZl9lc2NhcGUnLCRpKSkpO31mdW5jdGlvbgpyZW5hbWVfZGF0YWJhc2UoJF8sJGQpe2lmKGVyZWdpKCdeW2EtejAtOV9dKyQnLCRkKSl7cXVlcmllcygiQUxURVIgREFUQUJBU0UgIi5pZGZfZXNjYXBlKERCKS4iIENPTExBVEUgJGQiKTt9cXVlcmllcygiQUxURVIgREFUQUJBU0UgIi5pZGZfZXNjYXBlKERCKS4iIE1PRElGWSBOQU1FID0gIi5pZGZfZXNjYXBlKCRfKSk7cmV0dXJuCnRydWU7fWZ1bmN0aW9uCmF1dG9faW5jcmVtZW50KCl7cmV0dXJuIiBJREVOVElUWSIuKCRfUE9TVFsiQXV0b19pbmNyZW1lbnQiXSE9IiI/IigiLigrJF9QT1NUWyJBdXRvX2luY3JlbWVudCJdKS4iLDEpIjoiIikuIiBQUklNQVJZIEtFWSI7fWZ1bmN0aW9uCmFsdGVyX3RhYmxlKCROLCRfLCRtLCRkYywkVWEsJEZiLCRkLCRfYSwkWmQpeyRjPWFycmF5KCk7Zm9yZWFjaCgkbQphcyRsKXskZT1pZGZfZXNjYXBlKCRsWzBdKTskVz0kbFsxXTtpZighJFcpeyRjWyJEUk9QIl1bXT0iIENPTFVNTiAkZSI7fWVsc2V7JFdbMV09cHJlZ19yZXBsYWNlKCJ+KCBDT0xMQVRFICknKFxcdyspJ34iLCJcXDFcXDIiLCRXWzFdKTtpZigkbFswXT09IiIpeyRjWyJBREQiXVtdPSJcbiAgIi5pbXBsb2RlKCIiLCRXKS4oJE49PSIiP3N1YnN0cigkZGNbJFdbMF1dLDE2K3N0cmxlbigkV1swXSkpOiIiKTt9ZWxzZXt1bnNldCgkV1s2XSk7aWYoJGUhPSRXWzBdKXtxdWVyaWVzKCJFWEVDIHNwX3JlbmFtZSAiLnEodGFibGUoJE4pLiIuJGUiKS4iLCAiLnEoaWRmX3VuZXNjYXBlKCRXWzBdKSkuIiwgJ0NPTFVNTiciKTt9JGNbIkFMVEVSIENPTFVNTiAiLmltcGxvZGUoIiIsJFcpXVtdPSIiO319fWlmKCROPT0iIil7cmV0dXJuCnF1ZXJpZXMoIkNSRUFURSBUQUJMRSAiLnRhYmxlKCRfKS4iICgiLmltcGxvZGUoIiwiLChhcnJheSkkY1siQUREIl0pLiJcbikiKTt9aWYoJE4hPSRfKXtxdWVyaWVzKCJFWEVDIHNwX3JlbmFtZSAiLnEodGFibGUoJE4pKS4iLCAiLnEoJF8pKTt9aWYoJGRjKXskY1siIl09JGRjO31mb3JlYWNoKCRjCmFzJHY9PiRXKXtpZighcXVlcmllcygiQUxURVIgVEFCTEUgIi5pZGZfZXNjYXBlKCRfKS4iICR2Ii5pbXBsb2RlKCIsIiwkVykpKXtyZXR1cm4KZmFsc2U7fX1yZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24KYWx0ZXJfaW5kZXhlcygkTiwkYyl7JHM9YXJyYXkoKTskdWI9YXJyYXkoKTtmb3JlYWNoKCRjCmFzJFcpe2lmKCRXWzJdPT0iRFJPUCIpe2lmKCRXWzBdPT0iUFJJTUFSWSIpeyR1YltdPWlkZl9lc2NhcGUoJFdbMV0pO31lbHNleyRzW109aWRmX2VzY2FwZSgkV1sxXSkuIiBPTiAiLnRhYmxlKCROKTt9fWVsc2VpZighcXVlcmllcygoJFdbMF0hPSJQUklNQVJZIj8iQ1JFQVRFICRXWzBdICIuKCRXWzBdIT0iSU5ERVgiPyJJTkRFWCAiOiIiKS5pZGZfZXNjYXBlKCRXWzFdIT0iIj8kV1sxXTp1bmlxaWQoJE4uIl8iKSkuIiBPTiAiLnRhYmxlKCROKToiQUxURVIgVEFCTEUgIi50YWJsZSgkTikuIiBBREQgUFJJTUFSWSBLRVkiKS4iICRXWzJdIikpe3JldHVybgpmYWxzZTt9fXJldHVybighJHN8fHF1ZXJpZXMoIkRST1AgSU5ERVggIi5pbXBsb2RlKCIsICIsJHMpKSkmJighJHVifHxxdWVyaWVzKCJBTFRFUiBUQUJMRSAiLnRhYmxlKCROKS4iIERST1AgIi5pbXBsb2RlKCIsICIsJHViKSkpO31mdW5jdGlvbgpiZWdpbigpe3JldHVybgpxdWVyaWVzKCJCRUdJTiBUUkFOU0FDVElPTiIpO31mdW5jdGlvbgppbnNlcnRfaW50bygkTiwkSyl7cmV0dXJuCnF1ZXJpZXMoIklOU0VSVCBJTlRPICIudGFibGUoJE4pLigkSz8iICgiLmltcGxvZGUoIiwgIixhcnJheV9rZXlzKCRLKSkuIilcblZBTFVFUyAoIi5pbXBsb2RlKCIsICIsJEspLiIpIjoiREVGQVVMVCBWQUxVRVMiKSk7fWZ1bmN0aW9uCmluc2VydF91cGRhdGUoJE4sJEssJGxlKXskU2Y9YXJyYXkoKTskWj1hcnJheSgpO2ZvcmVhY2goJEsKYXMkdj0+JFcpeyRTZltdPSIkdiA9ICRXIjtpZihpc3NldCgkbGVbaWRmX3VuZXNjYXBlKCR2KV0pKXskWltdPSIkdiA9ICRXIjt9fXJldHVybgpxdWVyaWVzKCJNRVJHRSAiLnRhYmxlKCROKS4iIFVTSU5HIChWQUxVRVMoIi5pbXBsb2RlKCIsICIsJEspLiIpKSBBUyBzb3VyY2UgKGMiLmltcGxvZGUoIiwgYyIscmFuZ2UoMSxjb3VudCgkSykpKS4iKSBPTiAiLmltcGxvZGUoIiBBTkQgIiwkWikuIiBXSEVOIE1BVENIRUQgVEhFTiBVUERBVEUgU0VUICIuaW1wbG9kZSgiLCAiLCRTZikuIiBXSEVOIE5PVCBNQVRDSEVEIFRIRU4gSU5TRVJUICgiLmltcGxvZGUoIiwgIixhcnJheV9rZXlzKCRLKSkuIikgVkFMVUVTICgiLmltcGxvZGUoIiwgIiwkSykuIik7Iik7fWZ1bmN0aW9uCmxhc3RfaWQoKXtnbG9iYWwkZztyZXR1cm4kZy0+cmVzdWx0KCJTRUxFQ1QgU0NPUEVfSURFTlRJVFkoKSIpO31mdW5jdGlvbgpleHBsYWluKCRnLCREKXskZy0+cXVlcnkoIlNFVCBTSE9XUExBTl9BTEwgT04iKTskRj0kZy0+cXVlcnkoJEQpOyRnLT5xdWVyeSgiU0VUIFNIT1dQTEFOX0FMTCBPRkYiKTtyZXR1cm4kRjt9ZnVuY3Rpb24KZm91bmRfcm93cygkTywkWil7fWZ1bmN0aW9uCmZvcmVpZ25fa2V5cygkTil7JEY9YXJyYXkoKTtmb3JlYWNoKGdldF9yb3dzKCJFWEVDIHNwX2ZrZXlzIEBma3RhYmxlX25hbWUgPSAiLnEoJE4pKWFzJEcpeyRuPSYkRlskR1siRktfTkFNRSJdXTskblsidGFibGUiXT0kR1siUEtUQUJMRV9OQU1FIl07JG5bInNvdXJjZSJdW109JEdbIkZLQ09MVU1OX05BTUUiXTskblsidGFyZ2V0Il1bXT0kR1siUEtDT0xVTU5fTkFNRSJdO31yZXR1cm4kRjt9ZnVuY3Rpb24KdHJ1bmNhdGVfdGFibGVzKCRQKXtyZXR1cm4KYXBwbHlfcXVlcmllcygiVFJVTkNBVEUgVEFCTEUiLCRQKTt9ZnVuY3Rpb24KZHJvcF92aWV3cygkWSl7cmV0dXJuCnF1ZXJpZXMoIkRST1AgVklFVyAiLmltcGxvZGUoIiwgIixhcnJheV9tYXAoJ3RhYmxlJywkWSkpKTt9ZnVuY3Rpb24KZHJvcF90YWJsZXMoJFApe3JldHVybgpxdWVyaWVzKCJEUk9QIFRBQkxFICIuaW1wbG9kZSgiLCAiLGFycmF5X21hcCgndGFibGUnLCRQKSkpO31mdW5jdGlvbgptb3ZlX3RhYmxlcygkUCwkWSwkdGYpe3JldHVybgphcHBseV9xdWVyaWVzKCJBTFRFUiBTQ0hFTUEgIi5pZGZfZXNjYXBlKCR0ZikuIiBUUkFOU0ZFUiIsYXJyYXlfbWVyZ2UoJFAsJFkpKTt9ZnVuY3Rpb24KdHJpZ2dlcigkXyl7aWYoJF89PSIiKXtyZXR1cm4KYXJyYXkoKTt9JEg9Z2V0X3Jvd3MoIlNFTEVDVCBzLm5hbWUgW1RyaWdnZXJdLApDQVNFIFdIRU4gT0JKRUNUUFJPUEVSVFkocy5pZCwgJ0V4ZWNJc0luc2VydFRyaWdnZXInKSA9IDEgVEhFTiAnSU5TRVJUJyBXSEVOIE9CSkVDVFBST1BFUlRZKHMuaWQsICdFeGVjSXNVcGRhdGVUcmlnZ2VyJykgPSAxIFRIRU4gJ1VQREFURScgV0hFTiBPQkpFQ1RQUk9QRVJUWShzLmlkLCAnRXhlY0lzRGVsZXRlVHJpZ2dlcicpID0gMSBUSEVOICdERUxFVEUnIEVORCBbRXZlbnRdLApDQVNFIFdIRU4gT0JKRUNUUFJPUEVSVFkocy5pZCwgJ0V4ZWNJc0luc3RlYWRPZlRyaWdnZXInKSA9IDEgVEhFTiAnSU5TVEVBRCBPRicgRUxTRSAnQUZURVInIEVORCBbVGltaW5nXSwKYy50ZXh0CkZST00gc3lzb2JqZWN0cyBzCkpPSU4gc3lzY29tbWVudHMgYyBPTiBzLmlkID0gYy5pZApXSEVSRSBzLnh0eXBlID0gJ1RSJyBBTkQgcy5uYW1lID0gIi5xKCRfKSk7JEY9cmVzZXQoJEgpO2lmKCRGKXskRlsiU3RhdGVtZW50Il09cHJlZ19yZXBsYWNlKCd+Xi4rXFxzK0FTXFxzK35pc1UnLCcnLCRGWyJ0ZXh0Il0pO31yZXR1cm4kRjt9ZnVuY3Rpb24KdHJpZ2dlcnMoJE4peyRGPWFycmF5KCk7Zm9yZWFjaChnZXRfcm93cygiU0VMRUNUIHN5czEubmFtZSwKQ0FTRSBXSEVOIE9CSkVDVFBST1BFUlRZKHN5czEuaWQsICdFeGVjSXNJbnNlcnRUcmlnZ2VyJykgPSAxIFRIRU4gJ0lOU0VSVCcgV0hFTiBPQkpFQ1RQUk9QRVJUWShzeXMxLmlkLCAnRXhlY0lzVXBkYXRlVHJpZ2dlcicpID0gMSBUSEVOICdVUERBVEUnIFdIRU4gT0JKRUNUUFJPUEVSVFkoc3lzMS5pZCwgJ0V4ZWNJc0RlbGV0ZVRyaWdnZXInKSA9IDEgVEhFTiAnREVMRVRFJyBFTkQgW0V2ZW50XSwKQ0FTRSBXSEVOIE9CSkVDVFBST1BFUlRZKHN5czEuaWQsICdFeGVjSXNJbnN0ZWFkT2ZUcmlnZ2VyJykgPSAxIFRIRU4gJ0lOU1RFQUQgT0YnIEVMU0UgJ0FGVEVSJyBFTkQgW1RpbWluZ10KRlJPTSBzeXNvYmplY3RzIHN5czEKSk9JTiBzeXNvYmplY3RzIHN5czIgT04gc3lzMS5wYXJlbnRfb2JqID0gc3lzMi5pZApXSEVSRSBzeXMxLnh0eXBlID0gJ1RSJyBBTkQgc3lzMi5uYW1lID0gIi5xKCROKSlhcyRHKXskRlskR1sibmFtZSJdXT1hcnJheSgkR1siVGltaW5nIl0sJEdbIkV2ZW50Il0pO31yZXR1cm4kRjt9ZnVuY3Rpb24KdHJpZ2dlcl9vcHRpb25zKCl7cmV0dXJuCmFycmF5KCJUaW1pbmciPT5hcnJheSgiQUZURVIiLCJJTlNURUFEIE9GIiksIlR5cGUiPT5hcnJheSgiQVMiKSwpO31mdW5jdGlvbgpzY2hlbWFzKCl7cmV0dXJuCmdldF92YWxzKCJTRUxFQ1QgbmFtZSBGUk9NIHN5cy5zY2hlbWFzIik7fWZ1bmN0aW9uCmdldF9zY2hlbWEoKXtnbG9iYWwkZztpZigkX0dFVFsibnMiXSE9IiIpe3JldHVybiRfR0VUWyJucyJdO31yZXR1cm4kZy0+cmVzdWx0KCJTRUxFQ1QgU0NIRU1BX05BTUUoKSIpO31mdW5jdGlvbgpzZXRfc2NoZW1hKCRNZSl7cmV0dXJuCnRydWU7fWZ1bmN0aW9uCnVzZV9zcWwoJGpiKXtyZXR1cm4iVVNFICIuaWRmX2VzY2FwZSgkamIpO31mdW5jdGlvbgpzaG93X3ZhcmlhYmxlcygpe3JldHVybgphcnJheSgpO31mdW5jdGlvbgpzaG93X3N0YXR1cygpe3JldHVybgphcnJheSgpO31mdW5jdGlvbgpzdXBwb3J0KCRYYil7cmV0dXJuCmVyZWcoJ14oc2NoZW1lfHRyaWdnZXJ8dmlld3xkcm9wX2NvbCkkJywkWGIpO30kdT0ibXNzcWwiOyRUPWFycmF5KCk7JGVmPWFycmF5KCk7Zm9yZWFjaChhcnJheShsYW5nKDEyKT0+YXJyYXkoInRpbnlpbnQiPT4zLCJzbWFsbGludCI9PjUsImludCI9PjEwLCJiaWdpbnQiPT4yMCwiYml0Ij0+MSwiZGVjaW1hbCI9PjAsInJlYWwiPT4xMiwiZmxvYXQiPT41Mywic21hbGxtb25leSI9PjEwLCJtb25leSI9PjIwKSxsYW5nKDEzKT0+YXJyYXkoImRhdGUiPT4xMCwic21hbGxkYXRldGltZSI9PjE5LCJkYXRldGltZSI9PjE5LCJkYXRldGltZTIiPT4xOSwidGltZSI9PjgsImRhdGV0aW1lb2Zmc2V0Ij0+MTApLGxhbmcoMTQpPT5hcnJheSgiY2hhciI9PjgwMDAsInZhcmNoYXIiPT44MDAwLCJ0ZXh0Ij0+MjE0NzQ4MzY0NywibmNoYXIiPT40MDAwLCJudmFyY2hhciI9PjQwMDAsIm50ZXh0Ij0+MTA3Mzc0MTgyMyksbGFuZygxNSk9PmFycmF5KCJiaW5hcnkiPT44MDAwLCJ2YXJiaW5hcnkiPT44MDAwLCJpbWFnZSI9PjIxNDc0ODM2NDcpLClhcyR2PT4kVyl7JFQrPSRXOyRlZlskdl09YXJyYXlfa2V5cygkVyk7fSRSZj1hcnJheSgpOyRGZD1hcnJheSgiPSIsIjwiLCI+IiwiPD0iLCI+PSIsIiE9IiwiTElLRSIsIkxJS0UgJSUiLCJJTiIsIklTIE5VTEwiLCJOT1QgTElLRSIsIk5PVCBJTiIsIklTIE5PVCBOVUxMIik7JGxjPWFycmF5KCJsZW4iLCJsb3dlciIsInJvdW5kIiwidXBwZXIiKTskcWM9YXJyYXkoImF2ZyIsImNvdW50IiwiY291bnQgZGlzdGluY3QiLCJtYXgiLCJtaW4iLCJzdW0iKTskemI9YXJyYXkoYXJyYXkoImRhdGV8dGltZSI9PiJnZXRkYXRlIiwpLGFycmF5KCJpbnR8ZGVjaW1hbHxyZWFsfGZsb2F0fG1vbmV5fGRhdGV0aW1lIj0+IisvLSIsImNoYXJ8dGV4dCI9PiIrIiwpKTt9JHRiPWFycmF5KCJzZXJ2ZXIiPT4iTXlTUUwiKSskdGI7aWYoIWRlZmluZWQoIkRSSVZFUiIpKXskaWU9YXJyYXkoIk15U1FMaSIsIk15U1FMIiwiUERPX015U1FMIik7ZGVmaW5lKCJEUklWRVIiLCJzZXJ2ZXIiKTtpZihleHRlbnNpb25fbG9hZGVkKCJteXNxbGkiKSl7Y2xhc3MKTWluX0RCCmV4dGVuZHMKTXlTUUxpe3ZhciRleHRlbnNpb249Ik15U1FMaSI7ZnVuY3Rpb24KTWluX0RCKCl7cGFyZW50Ojppbml0KCk7fWZ1bmN0aW9uCmNvbm5lY3QoJEosJFUsJEIpe215c3FsaV9yZXBvcnQoTVlTUUxJX1JFUE9SVF9PRkYpO2xpc3QoJHVjLCRlZSk9ZXhwbG9kZSgiOiIsJEosMik7JEY9QCR0aGlzLT5yZWFsX2Nvbm5lY3QoKCRKIT0iIj8kdWM6aW5pX2dldCgibXlzcWxpLmRlZmF1bHRfaG9zdCIpKSwoJEouJFUhPSIiPyRVOmluaV9nZXQoIm15c3FsaS5kZWZhdWx0X3VzZXIiKSksKCRKLiRVLiRCIT0iIj8kQjppbmlfZ2V0KCJteXNxbGkuZGVmYXVsdF9wdyIpKSxudWxsLChpc19udW1lcmljKCRlZSk/JGVlOmluaV9nZXQoIm15c3FsaS5kZWZhdWx0X3BvcnQiKSksKCFpc19udW1lcmljKCRlZSk/JGVlOm51bGwpKTtpZigkRil7aWYobWV0aG9kX2V4aXN0cygkdGhpcywnc2V0X2NoYXJzZXQnKSl7JHRoaXMtPnNldF9jaGFyc2V0KCJ1dGY4Iik7fWVsc2V7JHRoaXMtPnF1ZXJ5KCJTRVQgTkFNRVMgdXRmOCIpO319cmV0dXJuJEY7fWZ1bmN0aW9uCnJlc3VsdCgkRCwkbD0wKXskRT0kdGhpcy0+cXVlcnkoJEQpO2lmKCEkRSl7cmV0dXJuCmZhbHNlO30kRz0kRS0+ZmV0Y2hfYXJyYXkoKTtyZXR1cm4kR1skbF07fWZ1bmN0aW9uCnF1b3RlKCRMKXtyZXR1cm4iJyIuJHRoaXMtPmVzY2FwZV9zdHJpbmcoJEwpLiInIjt9fX1lbHNlaWYoZXh0ZW5zaW9uX2xvYWRlZCgibXlzcWwiKSl7Y2xhc3MKTWluX0RCe3ZhciRleHRlbnNpb249Ik15U1FMIiwkc2VydmVyX2luZm8sJGFmZmVjdGVkX3Jvd3MsJGVycm9yLCRfbGluaywkX3Jlc3VsdDtmdW5jdGlvbgpjb25uZWN0KCRKLCRVLCRCKXskdGhpcy0+X2xpbms9QG15c3FsX2Nvbm5lY3QoKCRKIT0iIj8kSjppbmlfZ2V0KCJteXNxbC5kZWZhdWx0X2hvc3QiKSksKCIkSiRVIiE9IiI/JFU6aW5pX2dldCgibXlzcWwuZGVmYXVsdF91c2VyIikpLCgiJEokVSRCIiE9IiI/JEI6aW5pX2dldCgibXlzcWwuZGVmYXVsdF9wYXNzd29yZCIpKSx0cnVlLDEzMTA3Mik7aWYoJHRoaXMtPl9saW5rKXskdGhpcy0+c2VydmVyX2luZm89bXlzcWxfZ2V0X3NlcnZlcl9pbmZvKCR0aGlzLT5fbGluayk7aWYoZnVuY3Rpb25fZXhpc3RzKCdteXNxbF9zZXRfY2hhcnNldCcpKXtteXNxbF9zZXRfY2hhcnNldCgidXRmOCIsJHRoaXMtPl9saW5rKTt9ZWxzZXskdGhpcy0+cXVlcnkoIlNFVCBOQU1FUyB1dGY4Iik7fX1lbHNleyR0aGlzLT5lcnJvcj1teXNxbF9lcnJvcigpO31yZXR1cm4oYm9vbCkkdGhpcy0+X2xpbms7fWZ1bmN0aW9uCnF1b3RlKCRMKXtyZXR1cm4iJyIubXlzcWxfcmVhbF9lc2NhcGVfc3RyaW5nKCRMLCR0aGlzLT5fbGluaykuIiciO31mdW5jdGlvbgpzZWxlY3RfZGIoJGpiKXtyZXR1cm4KbXlzcWxfc2VsZWN0X2RiKCRqYiwkdGhpcy0+X2xpbmspO31mdW5jdGlvbgpxdWVyeSgkRCwkTGY9ZmFsc2UpeyRFPUAoJExmP215c3FsX3VuYnVmZmVyZWRfcXVlcnkoJEQsJHRoaXMtPl9saW5rKTpteXNxbF9xdWVyeSgkRCwkdGhpcy0+X2xpbmspKTtpZighJEUpeyR0aGlzLT5lcnJvcj1teXNxbF9lcnJvcigkdGhpcy0+X2xpbmspO3JldHVybgpmYWxzZTt9aWYoJEU9PT10cnVlKXskdGhpcy0+YWZmZWN0ZWRfcm93cz1teXNxbF9hZmZlY3RlZF9yb3dzKCR0aGlzLT5fbGluayk7JHRoaXMtPmluZm89bXlzcWxfaW5mbygkdGhpcy0+X2xpbmspO3JldHVybgp0cnVlO31yZXR1cm4KbmV3Ck1pbl9SZXN1bHQoJEUpO31mdW5jdGlvbgptdWx0aV9xdWVyeSgkRCl7cmV0dXJuJHRoaXMtPl9yZXN1bHQ9JHRoaXMtPnF1ZXJ5KCREKTt9ZnVuY3Rpb24Kc3RvcmVfcmVzdWx0KCl7cmV0dXJuJHRoaXMtPl9yZXN1bHQ7fWZ1bmN0aW9uCm5leHRfcmVzdWx0KCl7cmV0dXJuCmZhbHNlO31mdW5jdGlvbgpyZXN1bHQoJEQsJGw9MCl7JEU9JHRoaXMtPnF1ZXJ5KCREKTtpZighJEV8fCEkRS0+bnVtX3Jvd3Mpe3JldHVybgpmYWxzZTt9cmV0dXJuCm15c3FsX3Jlc3VsdCgkRS0+X3Jlc3VsdCwwLCRsKTt9fWNsYXNzCk1pbl9SZXN1bHR7dmFyJG51bV9yb3dzLCRfcmVzdWx0LCRfb2Zmc2V0PTA7ZnVuY3Rpb24KTWluX1Jlc3VsdCgkRSl7JHRoaXMtPl9yZXN1bHQ9JEU7JHRoaXMtPm51bV9yb3dzPW15c3FsX251bV9yb3dzKCRFKTt9ZnVuY3Rpb24KZmV0Y2hfYXNzb2MoKXtyZXR1cm4KbXlzcWxfZmV0Y2hfYXNzb2MoJHRoaXMtPl9yZXN1bHQpO31mdW5jdGlvbgpmZXRjaF9yb3coKXtyZXR1cm4KbXlzcWxfZmV0Y2hfcm93KCR0aGlzLT5fcmVzdWx0KTt9ZnVuY3Rpb24KZmV0Y2hfZmllbGQoKXskRj1teXNxbF9mZXRjaF9maWVsZCgkdGhpcy0+X3Jlc3VsdCwkdGhpcy0+X29mZnNldCsrKTskRi0+b3JndGFibGU9JEYtPnRhYmxlOyRGLT5vcmduYW1lPSRGLT5uYW1lOyRGLT5jaGFyc2V0bnI9KCRGLT5ibG9iPzYzOjApO3JldHVybiRGO31mdW5jdGlvbgpfX2Rlc3RydWN0KCl7bXlzcWxfZnJlZV9yZXN1bHQoJHRoaXMtPl9yZXN1bHQpO319fWVsc2VpZihleHRlbnNpb25fbG9hZGVkKCJwZG9fbXlzcWwiKSl7Y2xhc3MKTWluX0RCCmV4dGVuZHMKTWluX1BET3t2YXIkZXh0ZW5zaW9uPSJQRE9fTXlTUUwiO2Z1bmN0aW9uCmNvbm5lY3QoJEosJFUsJEIpeyR0aGlzLT5kc24oIm15c3FsOmhvc3Q9Ii5zdHJfcmVwbGFjZSgiOiIsIjt1bml4X3NvY2tldD0iLHByZWdfcmVwbGFjZSgnfjooXFxkKX4nLCc7cG9ydD1cXDEnLCRKKSksJFUsJEIpOyR0aGlzLT5xdWVyeSgiU0VUIE5BTUVTIHV0ZjgiKTtyZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24Kc2VsZWN0X2RiKCRqYil7cmV0dXJuJHRoaXMtPnF1ZXJ5KCJVU0UgIi5pZGZfZXNjYXBlKCRqYikpO31mdW5jdGlvbgpxdWVyeSgkRCwkTGY9ZmFsc2UpeyR0aGlzLT5zZXRBdHRyaWJ1dGUoMTAwMCwhJExmKTtyZXR1cm4KcGFyZW50OjpxdWVyeSgkRCwkTGYpO319fWZ1bmN0aW9uCmlkZl9lc2NhcGUoJHIpe3JldHVybiJgIi5zdHJfcmVwbGFjZSgiYCIsImBgIiwkcikuImAiO31mdW5jdGlvbgp0YWJsZSgkcil7cmV0dXJuCmlkZl9lc2NhcGUoJHIpO31mdW5jdGlvbgpjb25uZWN0KCl7Z2xvYmFsJGI7JGc9bmV3Ck1pbl9EQjskZmI9JGItPmNyZWRlbnRpYWxzKCk7aWYoJGctPmNvbm5lY3QoJGZiWzBdLCRmYlsxXSwkZmJbMl0pKXskZy0+cXVlcnkoIlNFVCBzcWxfcXVvdGVfc2hvd19jcmVhdGUgPSAxIik7cmV0dXJuJGc7fSRGPSRnLT5lcnJvcjtpZihmdW5jdGlvbl9leGlzdHMoJ2ljb252JykmJiFpc191dGY4KCRGKSYmc3RybGVuKCRLZT1pY29udigid2luZG93cy0xMjUwIiwidXRmLTgiLCRGKSk+c3RybGVuKCRGKSl7JEY9JEtlO31yZXR1cm4kRjt9ZnVuY3Rpb24KZ2V0X2RhdGFiYXNlcygkY2M9dHJ1ZSl7Z2xvYmFsJGc7JEY9JmdldF9zZXNzaW9uKCJkYnMiKTtpZighaXNzZXQoJEYpKXtpZigkY2Mpe3Jlc3RhcnRfc2Vzc2lvbigpO29iX2ZsdXNoKCk7Zmx1c2goKTt9JEY9Z2V0X3ZhbHMoJGctPnNlcnZlcl9pbmZvPj01PyJTRUxFQ1QgU0NIRU1BX05BTUUgRlJPTSBpbmZvcm1hdGlvbl9zY2hlbWEuU0NIRU1BVEEiOiJTSE9XIERBVEFCQVNFUyIpO31yZXR1cm4kRjt9ZnVuY3Rpb24KbGltaXQoJEQsJFosJHgsJEE9MCwkUmU9IiAiKXtyZXR1cm4iICREJFoiLihpc3NldCgkeCk/JFJlLiJMSU1JVCAkeCIuKCRBPyIgT0ZGU0VUICRBIjoiIik6IiIpO31mdW5jdGlvbgpsaW1pdDEoJEQsJFope3JldHVybgpsaW1pdCgkRCwkWiwxKTt9ZnVuY3Rpb24KZGJfY29sbGF0aW9uKCRqLCRRYSl7Z2xvYmFsJGc7JEY9bnVsbDskY2I9JGctPnJlc3VsdCgiU0hPVyBDUkVBVEUgREFUQUJBU0UgIi5pZGZfZXNjYXBlKCRqKSwxKTtpZihwcmVnX21hdGNoKCd+IENPTExBVEUgKFteIF0rKX4nLCRjYiwkeikpeyRGPSR6WzFdO31lbHNlaWYocHJlZ19tYXRjaCgnfiBDSEFSQUNURVIgU0VUIChbXiBdKyl+JywkY2IsJHopKXskRj0kUWFbJHpbMV1dWy0xXTt9cmV0dXJuJEY7fWZ1bmN0aW9uCmVuZ2luZXMoKXskRj1hcnJheSgpO2ZvcmVhY2goZ2V0X3Jvd3MoIlNIT1cgRU5HSU5FUyIpYXMkRyl7aWYoZXJlZygiWUVTfERFRkFVTFQiLCRHWyJTdXBwb3J0Il0pKXskRltdPSRHWyJFbmdpbmUiXTt9fXJldHVybiRGO31mdW5jdGlvbgpsb2dnZWRfdXNlcigpe2dsb2JhbCRnO3JldHVybiRnLT5yZXN1bHQoIlNFTEVDVCBVU0VSKCkiKTt9ZnVuY3Rpb24KdGFibGVzX2xpc3QoKXtnbG9iYWwkZztyZXR1cm4KZ2V0X2tleV92YWxzKCJTSE9XIi4oJGctPnNlcnZlcl9pbmZvPj01PyIgRlVMTCI6IiIpLiIgVEFCTEVTIik7fWZ1bmN0aW9uCmNvdW50X3RhYmxlcygkaSl7JEY9YXJyYXkoKTtmb3JlYWNoKCRpCmFzJGopeyRGWyRqXT1jb3VudChnZXRfdmFscygiU0hPVyBUQUJMRVMgSU4gIi5pZGZfZXNjYXBlKCRqKSkpO31yZXR1cm4kRjt9ZnVuY3Rpb24KdGFibGVfc3RhdHVzKCRfPSIiKXskRj1hcnJheSgpO2ZvcmVhY2goZ2V0X3Jvd3MoIlNIT1cgVEFCTEUgU1RBVFVTIi4oJF8hPSIiPyIgTElLRSAiLnEoYWRkY3NsYXNoZXMoJF8sIiVfIikpOiIiKSlhcyRHKXtpZigkR1siRW5naW5lIl09PSJJbm5vREIiKXskR1siQ29tbWVudCJdPXByZWdfcmVwbGFjZSgnfig/OiguKyk7ICk/SW5ub0RCIGZyZWU6IC4qficsJ1xcMScsJEdbIkNvbW1lbnQiXSk7fWlmKCFpc3NldCgkR1siUm93cyJdKSl7JEdbIkNvbW1lbnQiXT0iIjt9aWYoJF8hPSIiKXtyZXR1cm4kRzt9JEZbJEdbIk5hbWUiXV09JEc7fXJldHVybiRGO31mdW5jdGlvbgppc192aWV3KCRPKXtyZXR1cm4haXNzZXQoJE9bIlJvd3MiXSk7fWZ1bmN0aW9uCmZrX3N1cHBvcnQoJE8pe3JldHVybgplcmVnaSgiSW5ub0RCfElCTURCMkkiLCRPWyJFbmdpbmUiXSk7fWZ1bmN0aW9uCmZpZWxkcygkTil7JEY9YXJyYXkoKTtmb3JlYWNoKGdldF9yb3dzKCJTSE9XIEZVTEwgQ09MVU1OUyBGUk9NICIudGFibGUoJE4pKWFzJEcpe3ByZWdfbWF0Y2goJ35eKFteKCBdKykoPzpcXCgoLispXFwpKT8oIHVuc2lnbmVkKT8oIHplcm9maWxsKT8kficsJEdbIlR5cGUiXSwkeik7JEZbJEdbIkZpZWxkIl1dPWFycmF5KCJmaWVsZCI9PiRHWyJGaWVsZCJdLCJmdWxsX3R5cGUiPT4kR1siVHlwZSJdLCJ0eXBlIj0+JHpbMV0sImxlbmd0aCI9PiR6WzJdLCJ1bnNpZ25lZCI9Pmx0cmltKCR6WzNdLiR6WzRdKSwiZGVmYXVsdCI9PigkR1siRGVmYXVsdCJdIT0iInx8ZXJlZygiY2hhciIsJHpbMV0pPyRHWyJEZWZhdWx0Il06bnVsbCksIm51bGwiPT4oJEdbIk51bGwiXT09IllFUyIpLCJhdXRvX2luY3JlbWVudCI9PigkR1siRXh0cmEiXT09ImF1dG9faW5jcmVtZW50IiksIm9uX3VwZGF0ZSI9PihlcmVnaSgnXm9uIHVwZGF0ZSAoLispJywkR1siRXh0cmEiXSwkeik/JHpbMV06IiIpLCJjb2xsYXRpb24iPT4kR1siQ29sbGF0aW9uIl0sInByaXZpbGVnZXMiPT5hcnJheV9mbGlwKGV4cGxvZGUoIiwiLCRHWyJQcml2aWxlZ2VzIl0pKSwiY29tbWVudCI9PiRHWyJDb21tZW50Il0sInByaW1hcnkiPT4oJEdbIktleSJdPT0iUFJJIiksKTt9cmV0dXJuJEY7fWZ1bmN0aW9uCmluZGV4ZXMoJE4sJGg9bnVsbCl7JEY9YXJyYXkoKTtmb3JlYWNoKGdldF9yb3dzKCJTSE9XIElOREVYIEZST00gIi50YWJsZSgkTiksJGgpYXMkRyl7JEZbJEdbIktleV9uYW1lIl1dWyJ0eXBlIl09KCRHWyJLZXlfbmFtZSJdPT0iUFJJTUFSWSI/IlBSSU1BUlkiOigkR1siSW5kZXhfdHlwZSJdPT0iRlVMTFRFWFQiPyJGVUxMVEVYVCI6KCRHWyJOb25fdW5pcXVlIl0/IklOREVYIjoiVU5JUVVFIikpKTskRlskR1siS2V5X25hbWUiXV1bImNvbHVtbnMiXVtdPSRHWyJDb2x1bW5fbmFtZSJdOyRGWyRHWyJLZXlfbmFtZSJdXVsibGVuZ3RocyJdW109JEdbIlN1Yl9wYXJ0Il07fXJldHVybiRGO31mdW5jdGlvbgpmb3JlaWduX2tleXMoJE4pe2dsb2JhbCRnLCRCZDtzdGF0aWMkY2U9J2AoPzpbXmBdfGBgKStgJzskRj1hcnJheSgpOyRkYj0kZy0+cmVzdWx0KCJTSE9XIENSRUFURSBUQUJMRSAiLnRhYmxlKCROKSwxKTtpZigkZGIpe3ByZWdfbWF0Y2hfYWxsKCJ+Q09OU1RSQUlOVCAoJGNlKSBGT1JFSUdOIEtFWSBcXCgoKD86JGNlLD8gPykrKVxcKSBSRUZFUkVOQ0VTICgkY2UpKD86XFwuKCRjZSkpPyBcXCgoKD86JGNlLD8gPykrKVxcKSg/OiBPTiBERUxFVEUgKCRCZCkpPyg/OiBPTiBVUERBVEUgKCRCZCkpP34iLCRkYiwkYWQsUFJFR19TRVRfT1JERVIpO2ZvcmVhY2goJGFkCmFzJHope3ByZWdfbWF0Y2hfYWxsKCJ+JGNlfiIsJHpbMl0sJFdlKTtwcmVnX21hdGNoX2FsbCgifiRjZX4iLCR6WzVdLCR0Zik7JEZbaWRmX3VuZXNjYXBlKCR6WzFdKV09YXJyYXkoImRiIj0+aWRmX3VuZXNjYXBlKCR6WzRdIT0iIj8kelszXTokels0XSksInRhYmxlIj0+aWRmX3VuZXNjYXBlKCR6WzRdIT0iIj8kels0XTokelszXSksInNvdXJjZSI9PmFycmF5X21hcCgnaWRmX3VuZXNjYXBlJywkV2VbMF0pLCJ0YXJnZXQiPT5hcnJheV9tYXAoJ2lkZl91bmVzY2FwZScsJHRmWzBdKSwib25fZGVsZXRlIj0+JHpbNl0sIm9uX3VwZGF0ZSI9PiR6WzddLCk7fX1yZXR1cm4kRjt9ZnVuY3Rpb24KdmlldygkXyl7Z2xvYmFsJGc7cmV0dXJuCmFycmF5KCJzZWxlY3QiPT5wcmVnX3JlcGxhY2UoJ35eKD86W15gXXxgW15gXSpgKSpcXHMrQVNcXHMrfmlzVScsJycsJGctPnJlc3VsdCgiU0hPVyBDUkVBVEUgVklFVyAiLnRhYmxlKCRfKSwxKSkpO31mdW5jdGlvbgpjb2xsYXRpb25zKCl7JEY9YXJyYXkoKTtmb3JlYWNoKGdldF9yb3dzKCJTSE9XIENPTExBVElPTiIpYXMkRyl7aWYoJEdbIkRlZmF1bHQiXSl7JEZbJEdbIkNoYXJzZXQiXV1bLTFdPSRHWyJDb2xsYXRpb24iXTt9ZWxzZXskRlskR1siQ2hhcnNldCJdXVtdPSRHWyJDb2xsYXRpb24iXTt9fWtzb3J0KCRGKTtmb3JlYWNoKCRGCmFzJHY9PiRXKXthc29ydCgkRlskdl0pO31yZXR1cm4kRjt9ZnVuY3Rpb24KaW5mb3JtYXRpb25fc2NoZW1hKCRqKXtnbG9iYWwkZztyZXR1cm4oJGctPnNlcnZlcl9pbmZvPj01JiYkaj09ImluZm9ybWF0aW9uX3NjaGVtYSIpO31mdW5jdGlvbgplcnJvcigpe2dsb2JhbCRnO3JldHVybgpoKHByZWdfcmVwbGFjZSgnfl5Zb3UgaGF2ZSBhbiBlcnJvci4qc3ludGF4IHRvIHVzZX5VJywiU3ludGF4IGVycm9yIiwkZy0+ZXJyb3IpKTt9ZnVuY3Rpb24KZXhhY3RfdmFsdWUoJFcpe3JldHVybgpxKCRXKS4iIENPTExBVEUgdXRmOF9iaW4iO31mdW5jdGlvbgpjcmVhdGVfZGF0YWJhc2UoJGosJGQpe3NldF9zZXNzaW9uKCJkYnMiLG51bGwpO3JldHVybgpxdWVyaWVzKCJDUkVBVEUgREFUQUJBU0UgIi5pZGZfZXNjYXBlKCRqKS4oJGQ/IiBDT0xMQVRFICIucSgkZCk6IiIpKTt9ZnVuY3Rpb24KZHJvcF9kYXRhYmFzZXMoJGkpe3NldF9zZXNzaW9uKCJkYnMiLG51bGwpO3JldHVybgphcHBseV9xdWVyaWVzKCJEUk9QIERBVEFCQVNFIiwkaSwnaWRmX2VzY2FwZScpO31mdW5jdGlvbgpyZW5hbWVfZGF0YWJhc2UoJF8sJGQpe2lmKGNyZWF0ZV9kYXRhYmFzZSgkXywkZCkpeyRCZT1hcnJheSgpO2ZvcmVhY2godGFibGVzX2xpc3QoKWFzJE49PiRTKXskQmVbXT10YWJsZSgkTikuIiBUTyAiLmlkZl9lc2NhcGUoJF8pLiIuIi50YWJsZSgkTik7fWlmKCEkQmV8fHF1ZXJpZXMoIlJFTkFNRSBUQUJMRSAiLmltcGxvZGUoIiwgIiwkQmUpKSl7cXVlcmllcygiRFJPUCBEQVRBQkFTRSAiLmlkZl9lc2NhcGUoREIpKTtyZXR1cm4KdHJ1ZTt9fXJldHVybgpmYWxzZTt9ZnVuY3Rpb24KYXV0b19pbmNyZW1lbnQoKXskQWE9IiBQUklNQVJZIEtFWSI7aWYoJF9HRVRbImNyZWF0ZSJdIT0iIiYmJF9QT1NUWyJhdXRvX2luY3JlbWVudF9jb2wiXSl7Zm9yZWFjaChpbmRleGVzKCRfR0VUWyJjcmVhdGUiXSlhcyRzKXtpZihpbl9hcnJheSgkX1BPU1RbImZpZWxkcyJdWyRfUE9TVFsiYXV0b19pbmNyZW1lbnRfY29sIl1dWyJvcmlnIl0sJHNbImNvbHVtbnMiXSx0cnVlKSl7JEFhPSIiO2JyZWFrO31pZigkc1sidHlwZSJdPT0iUFJJTUFSWSIpeyRBYT0iIFVOSVFVRSI7fX19cmV0dXJuIiBBVVRPX0lOQ1JFTUVOVCRBYSI7fWZ1bmN0aW9uCmFsdGVyX3RhYmxlKCROLCRfLCRtLCRkYywkVWEsJEZiLCRkLCRfYSwkWmQpeyRjPWFycmF5KCk7Zm9yZWFjaCgkbQphcyRsKXskY1tdPSgkbFsxXT8oJE4hPSIiPygkbFswXSE9IiI/IkNIQU5HRSAiLmlkZl9lc2NhcGUoJGxbMF0pOiJBREQiKToiICIpLiIgIi5pbXBsb2RlKCRsWzFdKS4oJE4hPSIiPyIgJGxbMl0iOiIiKToiRFJPUCAiLmlkZl9lc2NhcGUoJGxbMF0pKTt9JGM9YXJyYXlfbWVyZ2UoJGMsJGRjKTskYWY9IkNPTU1FTlQ9Ii5xKCRVYSkuKCRGYj8iIEVOR0lORT0iLnEoJEZiKToiIikuKCRkPyIgQ09MTEFURSAiLnEoJGQpOiIiKS4oJF9hIT0iIj8iIEFVVE9fSU5DUkVNRU5UPSRfYSI6IiIpLiRaZDtpZigkTj09IiIpe3JldHVybgpxdWVyaWVzKCJDUkVBVEUgVEFCTEUgIi50YWJsZSgkXykuIiAoXG4iLmltcGxvZGUoIixcbiIsJGMpLiJcbikgJGFmIik7fWlmKCROIT0kXyl7JGNbXT0iUkVOQU1FIFRPICIudGFibGUoJF8pO30kY1tdPSRhZjtyZXR1cm4KcXVlcmllcygiQUxURVIgVEFCTEUgIi50YWJsZSgkTikuIlxuIi5pbXBsb2RlKCIsXG4iLCRjKSk7fWZ1bmN0aW9uCmFsdGVyX2luZGV4ZXMoJE4sJGMpe2ZvcmVhY2goJGMKYXMkdj0+JFcpeyRjWyR2XT0oJFdbMl09PSJEUk9QIj8iXG5EUk9QIElOREVYICIuaWRmX2VzY2FwZSgkV1sxXSk6IlxuQUREICRXWzBdICIuKCRXWzBdPT0iUFJJTUFSWSI/IktFWSAiOiIiKS4oJFdbMV0hPSIiP2lkZl9lc2NhcGUoJFdbMV0pLiIgIjoiIikuJFdbMl0pO31yZXR1cm4KcXVlcmllcygiQUxURVIgVEFCTEUgIi50YWJsZSgkTikuaW1wbG9kZSgiLCIsJGMpKTt9ZnVuY3Rpb24KdHJ1bmNhdGVfdGFibGVzKCRQKXtyZXR1cm4KYXBwbHlfcXVlcmllcygiVFJVTkNBVEUgVEFCTEUiLCRQKTt9ZnVuY3Rpb24KZHJvcF92aWV3cygkWSl7cmV0dXJuCnF1ZXJpZXMoIkRST1AgVklFVyAiLmltcGxvZGUoIiwgIixhcnJheV9tYXAoJ3RhYmxlJywkWSkpKTt9ZnVuY3Rpb24KZHJvcF90YWJsZXMoJFApe3JldHVybgpxdWVyaWVzKCJEUk9QIFRBQkxFICIuaW1wbG9kZSgiLCAiLGFycmF5X21hcCgndGFibGUnLCRQKSkpO31mdW5jdGlvbgptb3ZlX3RhYmxlcygkUCwkWSwkdGYpeyRCZT1hcnJheSgpO2ZvcmVhY2goYXJyYXlfbWVyZ2UoJFAsJFkpYXMkTil7JEJlW109dGFibGUoJE4pLiIgVE8gIi5pZGZfZXNjYXBlKCR0ZikuIi4iLnRhYmxlKCROKTt9cmV0dXJuCnF1ZXJpZXMoIlJFTkFNRSBUQUJMRSAiLmltcGxvZGUoIiwgIiwkQmUpKTt9ZnVuY3Rpb24KY29weV90YWJsZXMoJFAsJFksJHRmKXtxdWVyaWVzKCJTRVQgc3FsX21vZGUgPSAnTk9fQVVUT19WQUxVRV9PTl9aRVJPJyIpO2ZvcmVhY2goJFAKYXMkTil7JF89KCR0Zj09REI/dGFibGUoImNvcHlfJE4iKTppZGZfZXNjYXBlKCR0ZikuIi4iLnRhYmxlKCROKSk7aWYoIXF1ZXJpZXMoIkRST1AgVEFCTEUgSUYgRVhJU1RTICRfIil8fCFxdWVyaWVzKCJDUkVBVEUgVEFCTEUgJF8gTElLRSAiLnRhYmxlKCROKSl8fCFxdWVyaWVzKCJJTlNFUlQgSU5UTyAkXyBTRUxFQ1QgKiBGUk9NICIudGFibGUoJE4pKSl7cmV0dXJuCmZhbHNlO319Zm9yZWFjaCgkWQphcyROKXskXz0oJHRmPT1EQj90YWJsZSgiY29weV8kTiIpOmlkZl9lc2NhcGUoJHRmKS4iLiIudGFibGUoJE4pKTskWmY9dmlldygkTik7aWYoIXF1ZXJpZXMoIkRST1AgVklFVyBJRiBFWElTVFMgJF8iKXx8IXF1ZXJpZXMoIkNSRUFURSBWSUVXICRfIEFTICRaZltzZWxlY3RdIikpe3JldHVybgpmYWxzZTt9fXJldHVybgp0cnVlO31mdW5jdGlvbgp0cmlnZ2VyKCRfKXtpZigkXz09IiIpe3JldHVybgphcnJheSgpO30kSD1nZXRfcm93cygiU0hPVyBUUklHR0VSUyBXSEVSRSBgVHJpZ2dlcmAgPSAiLnEoJF8pKTtyZXR1cm4KcmVzZXQoJEgpO31mdW5jdGlvbgp0cmlnZ2VycygkTil7JEY9YXJyYXkoKTtmb3JlYWNoKGdldF9yb3dzKCJTSE9XIFRSSUdHRVJTIExJS0UgIi5xKGFkZGNzbGFzaGVzKCROLCIlXyIpKSlhcyRHKXskRlskR1siVHJpZ2dlciJdXT1hcnJheSgkR1siVGltaW5nIl0sJEdbIkV2ZW50Il0pO31yZXR1cm4kRjt9ZnVuY3Rpb24KdHJpZ2dlcl9vcHRpb25zKCl7cmV0dXJuCmFycmF5KCJUaW1pbmciPT5hcnJheSgiQkVGT1JFIiwiQUZURVIiKSwiVHlwZSI9PmFycmF5KCJGT1IgRUFDSCBST1ciKSwpO31mdW5jdGlvbgpyb3V0aW5lKCRfLCRTKXtnbG9iYWwkZywkSGIsJENjLCRUOyR2YT1hcnJheSgiYm9vbCIsImJvb2xlYW4iLCJpbnRlZ2VyIiwiZG91YmxlIHByZWNpc2lvbiIsInJlYWwiLCJkZWMiLCJudW1lcmljIiwiZml4ZWQiLCJuYXRpb25hbCBjaGFyIiwibmF0aW9uYWwgdmFyY2hhciIpOyRLZj0iKCgiLmltcGxvZGUoInwiLGFycmF5X21lcmdlKGFycmF5X2tleXMoJFQpLCR2YSkpLiIpKD86XFxzKlxcKCgoPzpbXidcIildKnwkSGIpKylcXCkpP1xccyooemVyb2ZpbGxcXHMqKT8odW5zaWduZWQoPzpcXHMremVyb2ZpbGwpPyk/KSg/OlxccyooPzpDSEFSU0VUfENIQVJBQ1RFUlxccytTRVQpXFxzKlsnXCJdPyhbXidcIlxcc10rKVsnXCJdPyk/IjskY2U9IlxccyooIi4oJFM9PSJGVU5DVElPTiI/IiI6JENjKS4iKT9cXHMqKD86YCgoPzpbXmBdfGBgKSopYFxccyp8XFxiKFxcUyspXFxzKykkS2YiOyRjYj0kZy0+cmVzdWx0KCJTSE9XIENSRUFURSAkUyAiLmlkZl9lc2NhcGUoJF8pLDIpO3ByZWdfbWF0Y2goIn5cXCgoKD86JGNlXFxzKiw/KSopXFwpIi4oJFM9PSJGVU5DVElPTiI/IlxccypSRVRVUk5TXFxzKyRLZiI6IiIpLiJcXHMqKC4qKX5pcyIsJGNiLCR6KTskbT1hcnJheSgpO3ByZWdfbWF0Y2hfYWxsKCJ+JGNlXFxzKiw/fmlzIiwkelsxXSwkYWQsUFJFR19TRVRfT1JERVIpO2ZvcmVhY2goJGFkCmFzJFVkKXskXz1zdHJfcmVwbGFjZSgiYGAiLCJgIiwkVWRbMl0pLiRVZFszXTskbVtdPWFycmF5KCJmaWVsZCI9PiRfLCJ0eXBlIj0+c3RydG9sb3dlcigkVWRbNV0pLCJsZW5ndGgiPT5wcmVnX3JlcGxhY2VfY2FsbGJhY2soIn4kSGJ+cyIsJ25vcm1hbGl6ZV9lbnVtJywkVWRbNl0pLCJ1bnNpZ25lZCI9PnN0cnRvbG93ZXIocHJlZ19yZXBsYWNlKCd+XFxzK34nLCcgJyx0cmltKCIkVWRbOF0gJFVkWzddIikpKSwiZnVsbF90eXBlIj0+JFVkWzRdLCJpbm91dCI9PnN0cnRvdXBwZXIoJFVkWzFdKSwiY29sbGF0aW9uIj0+c3RydG9sb3dlcigkVWRbOV0pLCk7fWlmKCRTIT0iRlVOQ1RJT04iKXtyZXR1cm4KYXJyYXkoImZpZWxkcyI9PiRtLCJkZWZpbml0aW9uIj0+JHpbMTFdKTt9cmV0dXJuCmFycmF5KCJmaWVsZHMiPT4kbSwicmV0dXJucyI9PmFycmF5KCJ0eXBlIj0+JHpbMTJdLCJsZW5ndGgiPT4kelsxM10sInVuc2lnbmVkIj0+JHpbMTVdLCJjb2xsYXRpb24iPT4kelsxNl0pLCJkZWZpbml0aW9uIj0+JHpbMTddLCJsYW5ndWFnZSI9PiJTUUwiLCk7fWZ1bmN0aW9uCnJvdXRpbmVzKCl7cmV0dXJuCmdldF9yb3dzKCJTRUxFQ1QgKiBGUk9NIGluZm9ybWF0aW9uX3NjaGVtYS5ST1VUSU5FUyBXSEVSRSBST1VUSU5FX1NDSEVNQSA9ICIucShEQikpO31mdW5jdGlvbgpyb3V0aW5lX2xhbmd1YWdlcygpe3JldHVybgphcnJheSgpO31mdW5jdGlvbgpiZWdpbigpe3JldHVybgpxdWVyaWVzKCJCRUdJTiIpO31mdW5jdGlvbgppbnNlcnRfaW50bygkTiwkSyl7cmV0dXJuCnF1ZXJpZXMoIklOU0VSVCBJTlRPICIudGFibGUoJE4pLiIgKCIuaW1wbG9kZSgiLCAiLGFycmF5X2tleXMoJEspKS4iKVxuVkFMVUVTICgiLmltcGxvZGUoIiwgIiwkSykuIikiKTt9ZnVuY3Rpb24KaW5zZXJ0X3VwZGF0ZSgkTiwkSywkbGUpe2ZvcmVhY2goJEsKYXMkdj0+JFcpeyRLWyR2XT0iJHYgPSAkVyI7fSRTZj1pbXBsb2RlKCIsICIsJEspO3JldHVybgpxdWVyaWVzKCJJTlNFUlQgSU5UTyAiLnRhYmxlKCROKS4iIFNFVCAkU2YgT04gRFVQTElDQVRFIEtFWSBVUERBVEUgJFNmIik7fWZ1bmN0aW9uCmxhc3RfaWQoKXtnbG9iYWwkZztyZXR1cm4kZy0+cmVzdWx0KCJTRUxFQ1QgTEFTVF9JTlNFUlRfSUQoKSIpO31mdW5jdGlvbgpleHBsYWluKCRnLCREKXtyZXR1cm4kZy0+cXVlcnkoIkVYUExBSU4gJEQiKTt9ZnVuY3Rpb24KZm91bmRfcm93cygkTywkWil7cmV0dXJuKCRafHwkT1siRW5naW5lIl0hPSJJbm5vREIiP251bGw6JE9bIlJvd3MiXSk7fWZ1bmN0aW9uCnR5cGVzKCl7cmV0dXJuCmFycmF5KCk7fWZ1bmN0aW9uCnNjaGVtYXMoKXtyZXR1cm4KYXJyYXkoKTt9ZnVuY3Rpb24KZ2V0X3NjaGVtYSgpe3JldHVybiIiO31mdW5jdGlvbgpzZXRfc2NoZW1hKCRNZSl7cmV0dXJuCnRydWU7fWZ1bmN0aW9uCmNyZWF0ZV9zcWwoJE4sJF9hKXtnbG9iYWwkZzskRj0kZy0+cmVzdWx0KCJTSE9XIENSRUFURSBUQUJMRSAiLnRhYmxlKCROKSwxKTtpZighJF9hKXskRj1wcmVnX3JlcGxhY2UoJ34gQVVUT19JTkNSRU1FTlQ9XFxkK34nLCcnLCRGKTt9cmV0dXJuJEY7fWZ1bmN0aW9uCnRydW5jYXRlX3NxbCgkTil7cmV0dXJuIlRSVU5DQVRFICIudGFibGUoJE4pO31mdW5jdGlvbgp1c2Vfc3FsKCRqYil7cmV0dXJuIlVTRSAiLmlkZl9lc2NhcGUoJGpiKTt9ZnVuY3Rpb24KdHJpZ2dlcl9zcWwoJE4sJE0peyRGPSIiO2ZvcmVhY2goZ2V0X3Jvd3MoIlNIT1cgVFJJR0dFUlMgTElLRSAiLnEoYWRkY3NsYXNoZXMoJE4sIiVfIikpLG51bGwsIi0tICIpYXMkRyl7JEYuPSJcbiIuKCRNPT0nQ1JFQVRFK0FMVEVSJz8iRFJPUCBUUklHR0VSIElGIEVYSVNUUyAiLmlkZl9lc2NhcGUoJEdbIlRyaWdnZXIiXSkuIjs7XG4iOiIiKS4iQ1JFQVRFIFRSSUdHRVIgIi5pZGZfZXNjYXBlKCRHWyJUcmlnZ2VyIl0pLiIgJEdbVGltaW5nXSAkR1tFdmVudF0gT04gIi50YWJsZSgkR1siVGFibGUiXSkuIiBGT1IgRUFDSCBST1dcbiRHW1N0YXRlbWVudF07O1xuIjt9cmV0dXJuJEY7fWZ1bmN0aW9uCnNob3dfdmFyaWFibGVzKCl7cmV0dXJuCmdldF9rZXlfdmFscygiU0hPVyBWQVJJQUJMRVMiKTt9ZnVuY3Rpb24KcHJvY2Vzc19saXN0KCl7cmV0dXJuCmdldF9yb3dzKCJTSE9XIEZVTEwgUFJPQ0VTU0xJU1QiKTt9ZnVuY3Rpb24Kc2hvd19zdGF0dXMoKXtyZXR1cm4KZ2V0X2tleV92YWxzKCJTSE9XIFNUQVRVUyIpO31mdW5jdGlvbgpzdXBwb3J0KCRYYil7Z2xvYmFsJGc7cmV0dXJuIWVyZWcoInNjaGVtZXxzZXF1ZW5jZXx0eXBlIi4oJGctPnNlcnZlcl9pbmZvPDUuMT8ifGV2ZW50fHBhcnRpdGlvbmluZyIuKCRnLT5zZXJ2ZXJfaW5mbzw1PyJ8dmlld3xyb3V0aW5lfHRyaWdnZXIiOiIiKToiIiksJFhiKTt9JHU9InNxbCI7JFQ9YXJyYXkoKTskZWY9YXJyYXkoKTtmb3JlYWNoKGFycmF5KGxhbmcoMTIpPT5hcnJheSgidGlueWludCI9PjMsInNtYWxsaW50Ij0+NSwibWVkaXVtaW50Ij0+OCwiaW50Ij0+MTAsImJpZ2ludCI9PjIwLCJkZWNpbWFsIj0+NjYsImZsb2F0Ij0+MTIsImRvdWJsZSI9PjIxKSxsYW5nKDEzKT0+YXJyYXkoImRhdGUiPT4xMCwiZGF0ZXRpbWUiPT4xOSwidGltZXN0YW1wIj0+MTksInRpbWUiPT4xMCwieWVhciI9PjQpLGxhbmcoMTQpPT5hcnJheSgiY2hhciI9PjI1NSwidmFyY2hhciI9PjY1NTM1LCJ0aW55dGV4dCI9PjI1NSwidGV4dCI9PjY1NTM1LCJtZWRpdW10ZXh0Ij0+MTY3NzcyMTUsImxvbmd0ZXh0Ij0+NDI5NDk2NzI5NSksbGFuZygxNSk9PmFycmF5KCJiaXQiPT4yMCwiYmluYXJ5Ij0+MjU1LCJ2YXJiaW5hcnkiPT42NTUzNSwidGlueWJsb2IiPT4yNTUsImJsb2IiPT42NTUzNSwibWVkaXVtYmxvYiI9PjE2Nzc3MjE1LCJsb25nYmxvYiI9PjQyOTQ5NjcyOTUpLGxhbmcoMTgpPT5hcnJheSgiZW51bSI9PjY1NTM1LCJzZXQiPT42NCksKWFzJHY9PiRXKXskVCs9JFc7JGVmWyR2XT1hcnJheV9rZXlzKCRXKTt9JFJmPWFycmF5KCJ1bnNpZ25lZCIsInplcm9maWxsIiwidW5zaWduZWQgemVyb2ZpbGwiKTskRmQ9YXJyYXkoIj0iLCI8IiwiPiIsIjw9IiwiPj0iLCIhPSIsIkxJS0UiLCJMSUtFICUlIiwiUkVHRVhQIiwiSU4iLCJJUyBOVUxMIiwiTk9UIExJS0UiLCJOT1QgUkVHRVhQIiwiTk9UIElOIiwiSVMgTk9UIE5VTEwiLCIiKTskbGM9YXJyYXkoImNoYXJfbGVuZ3RoIiwiZGF0ZSIsImZyb21fdW5peHRpbWUiLCJoZXgiLCJsb3dlciIsInJvdW5kIiwic2VjX3RvX3RpbWUiLCJ0aW1lX3RvX3NlYyIsInVwcGVyIik7JHFjPWFycmF5KCJhdmciLCJjb3VudCIsImNvdW50IGRpc3RpbmN0IiwiZ3JvdXBfY29uY2F0IiwibWF4IiwibWluIiwic3VtIik7JHpiPWFycmF5KGFycmF5KCJjaGFyIj0+Im1kNS9zaGExL3Bhc3N3b3JkL2VuY3J5cHQvdXVpZCIsImJpbmFyeSI9PiJtZDUvc2hhMS9oZXgiLCJkYXRlfHRpbWUiPT4ibm93IiwpLGFycmF5KCJpbnR8ZmxvYXR8ZG91YmxlfGRlY2ltYWwiPT4iKy8tIiwiZGF0ZSI9PiIrIGludGVydmFsLy0gaW50ZXJ2YWwiLCJ0aW1lIj0+ImFkZHRpbWUvc3VidGltZSIsImNoYXJ8dGV4dCI9PiJjb25jYXQiLCkpO31kZWZpbmUoIlNFUlZFUiIsJF9HRVRbRFJJVkVSXSk7ZGVmaW5lKCJEQiIsJF9HRVRbImRiIl0pO2RlZmluZSgiTUUiLHByZWdfcmVwbGFjZSgnfl5bXj9dKi8oW14/XSopLip+JywnXFwxJywkX1NFUlZFUlsiUkVRVUVTVF9VUkkiXSkuJz8nLihzaWQoKT9TSUQuJyYnOicnKS4oU0VSVkVSIT09bnVsbD9EUklWRVIuIj0iLnVybGVuY29kZShTRVJWRVIpLicmJzonJykuKGlzc2V0KCRfR0VUWyJ1c2VybmFtZSJdKT8idXNlcm5hbWU9Ii51cmxlbmNvZGUoJF9HRVRbInVzZXJuYW1lIl0pLicmJzonJykuKERCIT0iIj8nZGI9Jy51cmxlbmNvZGUoREIpLicmJy4oaXNzZXQoJF9HRVRbIm5zIl0pPyJucz0iLnVybGVuY29kZSgkX0dFVFsibnMiXSkuIiYiOiIiKTonJykpOyRpYT0iMy4zLjMiO2NsYXNzCkFkbWluZXJ7dmFyJG9wZXJhdG9ycztmdW5jdGlvbgpuYW1lKCl7cmV0dXJuIjxhIGhyZWY9J2h0dHA6Ly93d3cuYWRtaW5lci5vcmcvJyBpZD0naDEnPkFkbWluZXI8L2E+Ijt9ZnVuY3Rpb24KY3JlZGVudGlhbHMoKXtyZXR1cm4KYXJyYXkoU0VSVkVSLCRfR0VUWyJ1c2VybmFtZSJdLGdldF9zZXNzaW9uKCJwd2RzIikpO31mdW5jdGlvbgpwZXJtYW5lbnRMb2dpbigpe3JldHVybgpwYXNzd29yZF9maWxlKCk7fWZ1bmN0aW9uCmRhdGFiYXNlKCl7cmV0dXJuCkRCO31mdW5jdGlvbgpoZWFkZXJzKCl7cmV0dXJuCnRydWU7fWZ1bmN0aW9uCmhlYWQoKXtyZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24KbG9naW5Gb3JtKCl7Z2xvYmFsJHRiO2VjaG8nPHRhYmxlIGNlbGxzcGFjaW5nPSIwIj4KPHRyPjx0aD4nLGxhbmcoMTkpLCc8dGQ+JyxodG1sX3NlbGVjdCgiZHJpdmVyIiwkdGIsRFJJVkVSLCJsb2dpbkRyaXZlcih0aGlzKTsiKSwnPHRyPjx0aD4nLGxhbmcoMjApLCc8dGQ+PGlucHV0IG5hbWU9InNlcnZlciIgdmFsdWU9IicsaChTRVJWRVIpLCciIHRpdGxlPSJob3N0bmFtZVs6cG9ydF0iPgo8dHI+PHRoPicsbGFuZygyMSksJzx0ZD48aW5wdXQgaWQ9InVzZXJuYW1lIiBuYW1lPSJ1c2VybmFtZSIgdmFsdWU9IicsaCgkX0dFVFsidXNlcm5hbWUiXSksJyI+Cjx0cj48dGg+JyxsYW5nKDIyKTs/Pjx0ZD48aW5wdXQgdHlwZT0icGFzc3dvcmQiIG5hbWU9InBhc3N3b3JkIj4KPC90YWJsZT4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgp2YXIgdXNlcm5hbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndXNlcm5hbWUnKTsKdXNlcm5hbWUuZm9jdXMoKTsKdXNlcm5hbWUuZm9ybVsnZHJpdmVyJ10ub25jaGFuZ2UoKTsKPC9zY3JpcHQ+Cjw/cGhwCgplY2hvIjxwPjxpbnB1dCB0eXBlPSdzdWJtaXQnIHZhbHVlPSciLmxhbmcoMjMpLiInPlxuIixjaGVja2JveCgicGVybWFuZW50IiwxLCRfQ09PS0lFWyJhZG1pbmVyX3Blcm1hbmVudCJdLGxhbmcoMjQpKS4iXG4iO31mdW5jdGlvbgpsb2dpbigkWGMsJEIpe3JldHVybgp0cnVlO31mdW5jdGlvbgp0YWJsZU5hbWUoJGxmKXtyZXR1cm4KaCgkbGZbIk5hbWUiXSk7fWZ1bmN0aW9uCmZpZWxkTmFtZSgkbCwkSmQ9MCl7cmV0dXJuJzxzcGFuIHRpdGxlPSInLmgoJGxbImZ1bGxfdHlwZSJdKS4nIj4nLmgoJGxbImZpZWxkIl0pLic8L3NwYW4+Jzt9ZnVuY3Rpb24Kc2VsZWN0TGlua3MoJGxmLCRLPSIiKXtlY2hvJzxwIGNsYXNzPSJ0YWJzIj4nOyRWYz1hcnJheSgic2VsZWN0Ij0+bGFuZygyNSksInRhYmxlIj0+bGFuZygyNikpO2lmKGlzX3ZpZXcoJGxmKSl7JFZjWyJ2aWV3Il09bGFuZygyNyk7fWVsc2V7JFZjWyJjcmVhdGUiXT1sYW5nKDI4KTt9aWYoaXNzZXQoJEspKXskVmNbImVkaXQiXT1sYW5nKDI5KTt9Zm9yZWFjaCgkVmMKYXMkdj0+JFcpe2VjaG8iIDxhIGhyZWY9JyIuaChNRSkuIiR2PSIudXJsZW5jb2RlKCRsZlsiTmFtZSJdKS4oJHY9PSJlZGl0Ij8kSzoiIikuIiciLmJvbGQoaXNzZXQoJF9HRVRbJHZdKSkuIj4kVzwvYT4iO31lY2hvIlxuIjt9ZnVuY3Rpb24KZm9yZWlnbktleXMoJE4pe3JldHVybgpmb3JlaWduX2tleXMoJE4pO31mdW5jdGlvbgpiYWNrd2FyZEtleXMoJE4sJGtmKXtyZXR1cm4KYXJyYXkoKTt9ZnVuY3Rpb24KYmFja3dhcmRLZXlzUHJpbnQoJENhLCRHKXt9ZnVuY3Rpb24Kc2VsZWN0UXVlcnkoJEQpe2dsb2JhbCR1O3JldHVybiI8cD48YSBocmVmPSciLmgocmVtb3ZlX2Zyb21fdXJpKCJwYWdlIikpLiImYW1wO3BhZ2U9bGFzdCcgdGl0bGU9JyIubGFuZygzMCkuIic+Jmd0OyZndDs8L2E+IDxjb2RlIGNsYXNzPSdqdXNoLSR1Jz4iLmgoc3RyX3JlcGxhY2UoIlxuIiwiICIsJEQpKS4iPC9jb2RlPiA8YSBocmVmPSciLmgoTUUpLiJzcWw9Ii51cmxlbmNvZGUoJEQpLiInPiIubGFuZygzMSkuIjwvYT48L3A+XG4iO31mdW5jdGlvbgpyb3dEZXNjcmlwdGlvbigkTil7cmV0dXJuIiI7fWZ1bmN0aW9uCnJvd0Rlc2NyaXB0aW9ucygkSCwkZWMpe3JldHVybiRIO31mdW5jdGlvbgpzZWxlY3RWYWwoJFcsJHksJGwpeyRGPSgkVyE9IjxpPk5VTEw8L2k+IiYmZXJlZygiY2hhcnxiaW5hcnkiLCRsWyJ0eXBlIl0pJiYhZXJlZygidmFyIiwkbFsidHlwZSJdKT8iPGNvZGU+JFc8L2NvZGU+IjokVyk7aWYoZXJlZygnYmxvYnxieXRlYXxyYXd8ZmlsZScsJGxbInR5cGUiXSkmJiFpc191dGY4KCRXKSl7JEY9bGFuZygzMixzdHJsZW4oaHRtbF9lbnRpdHlfZGVjb2RlKCRXLEVOVF9RVU9URVMpKSk7fXJldHVybigkeT8iPGEgaHJlZj0nJHknPiRGPC9hPiI6JEYpO31mdW5jdGlvbgplZGl0VmFsKCRXLCRsKXtyZXR1cm4oZXJlZygiYmluYXJ5IiwkbFsidHlwZSJdKT9yZXNldCh1bnBhY2soIkgqIiwkVykpOiRXKTt9ZnVuY3Rpb24Kc2VsZWN0Q29sdW1uc1ByaW50KCRJLCRmKXtnbG9iYWwkbGMsJHFjO3ByaW50X2ZpZWxkc2V0KCJzZWxlY3QiLGxhbmcoMzMpLCRJKTskcD0wOyRrYz1hcnJheShsYW5nKDM0KT0+JGxjLGxhbmcoMzUpPT4kcWMpO2ZvcmVhY2goJEkKYXMkdj0+JFcpeyRXPSRfR0VUWyJjb2x1bW5zIl1bJHZdO2VjaG8iPGRpdj4iLmh0bWxfc2VsZWN0KCJjb2x1bW5zWyRwXVtmdW5dIixhcnJheSgtMT0+IiIpKyRrYywkV1siZnVuIl0pLCIoPHNlbGVjdCBuYW1lPSdjb2x1bW5zWyRwXVtjb2xdJz48b3B0aW9uPiIub3B0aW9ubGlzdCgkZiwkV1siY29sIl0sdHJ1ZSkuIjwvc2VsZWN0Pik8L2Rpdj5cbiI7JHArKzt9ZWNobyI8ZGl2PiIuaHRtbF9zZWxlY3QoImNvbHVtbnNbJHBdW2Z1bl0iLGFycmF5KC0xPT4iIikrJGtjLCIiLCJ0aGlzLm5leHRTaWJsaW5nLm5leHRTaWJsaW5nLm9uY2hhbmdlKCk7IiksIig8c2VsZWN0IG5hbWU9J2NvbHVtbnNbJHBdW2NvbF0nIG9uY2hhbmdlPSdzZWxlY3RBZGRSb3codGhpcyk7Jz48b3B0aW9uPiIub3B0aW9ubGlzdCgkZixudWxsLHRydWUpLiI8L3NlbGVjdD4pPC9kaXY+XG4iLCI8L2Rpdj48L2ZpZWxkc2V0PlxuIjt9ZnVuY3Rpb24Kc2VsZWN0U2VhcmNoUHJpbnQoJFosJGYsJHQpe3ByaW50X2ZpZWxkc2V0KCJzZWFyY2giLGxhbmcoMzYpLCRaKTtmb3JlYWNoKCR0CmFzJHA9PiRzKXtpZigkc1sidHlwZSJdPT0iRlVMTFRFWFQiKXtlY2hvIig8aT4iLmltcGxvZGUoIjwvaT4sIDxpPiIsYXJyYXlfbWFwKCdoJywkc1siY29sdW1ucyJdKSkuIjwvaT4pIEFHQUlOU1QiLCIgPGlucHV0IG5hbWU9J2Z1bGx0ZXh0WyRwXScgdmFsdWU9JyIuaCgkX0dFVFsiZnVsbHRleHQiXVskcF0pLiInPiIsY2hlY2tib3goImJvb2xlYW5bJHBdIiwxLGlzc2V0KCRfR0VUWyJib29sZWFuIl1bJHBdKSwiQk9PTCIpLCI8YnI+XG4iO319JHA9MDtmb3JlYWNoKChhcnJheSkkX0dFVFsid2hlcmUiXWFzJFcpe2lmKCIkV1tjb2xdJFdbdmFsXSIhPSIiJiZpbl9hcnJheSgkV1sib3AiXSwkdGhpcy0+b3BlcmF0b3JzKSl7ZWNobyI8ZGl2PjxzZWxlY3QgbmFtZT0nd2hlcmVbJHBdW2NvbF0nPjxvcHRpb24gdmFsdWU9Jyc+KCIubGFuZygzNykuIikiLm9wdGlvbmxpc3QoJGYsJFdbImNvbCJdLHRydWUpLiI8L3NlbGVjdD4iLGh0bWxfc2VsZWN0KCJ3aGVyZVskcF1bb3BdIiwkdGhpcy0+b3BlcmF0b3JzLCRXWyJvcCJdKSwiPGlucHV0IG5hbWU9J3doZXJlWyRwXVt2YWxdJyB2YWx1ZT0nIi5oKCRXWyJ2YWwiXSkuIic+PC9kaXY+XG4iOyRwKys7fX1lY2hvIjxkaXY+PHNlbGVjdCBuYW1lPSd3aGVyZVskcF1bY29sXScgb25jaGFuZ2U9J3NlbGVjdEFkZFJvdyh0aGlzKTsnPjxvcHRpb24gdmFsdWU9Jyc+KCIubGFuZygzNykuIikiLm9wdGlvbmxpc3QoJGYsbnVsbCx0cnVlKS4iPC9zZWxlY3Q+IixodG1sX3NlbGVjdCgid2hlcmVbJHBdW29wXSIsJHRoaXMtPm9wZXJhdG9ycywiPSIpLCI8aW5wdXQgbmFtZT0nd2hlcmVbJHBdW3ZhbF0nPjwvZGl2PlxuIiwiPC9kaXY+PC9maWVsZHNldD5cbiI7fWZ1bmN0aW9uCnNlbGVjdE9yZGVyUHJpbnQoJEpkLCRmLCR0KXtwcmludF9maWVsZHNldCgic29ydCIsbGFuZygzOCksJEpkKTskcD0wO2ZvcmVhY2goKGFycmF5KSRfR0VUWyJvcmRlciJdYXMkdj0+JFcpe2lmKGlzc2V0KCRmWyRXXSkpe2VjaG8iPGRpdj48c2VsZWN0IG5hbWU9J29yZGVyWyRwXSc+PG9wdGlvbj4iLm9wdGlvbmxpc3QoJGYsJFcsdHJ1ZSkuIjwvc2VsZWN0PiIsY2hlY2tib3goImRlc2NbJHBdIiwxLGlzc2V0KCRfR0VUWyJkZXNjIl1bJHZdKSxsYW5nKDM5KSkuIjwvZGl2PlxuIjskcCsrO319ZWNobyI8ZGl2PjxzZWxlY3QgbmFtZT0nb3JkZXJbJHBdJyBvbmNoYW5nZT0nc2VsZWN0QWRkUm93KHRoaXMpOyc+PG9wdGlvbj4iLm9wdGlvbmxpc3QoJGYsbnVsbCx0cnVlKS4iPC9zZWxlY3Q+IiwiPGxhYmVsPjxpbnB1dCB0eXBlPSdjaGVja2JveCcgbmFtZT0nZGVzY1skcF0nIHZhbHVlPScxJz4iLmxhbmcoMzkpLiI8L2xhYmVsPjwvZGl2PlxuIjtlY2hvIjwvZGl2PjwvZmllbGRzZXQ+XG4iO31mdW5jdGlvbgpzZWxlY3RMaW1pdFByaW50KCR4KXtlY2hvIjxmaWVsZHNldD48bGVnZW5kPiIubGFuZyg0MCkuIjwvbGVnZW5kPjxkaXY+IjtlY2hvIjxpbnB1dCBuYW1lPSdsaW1pdCcgc2l6ZT0nMycgdmFsdWU9JyIuaCgkeCkuIic+IiwiPC9kaXY+PC9maWVsZHNldD5cbiI7fWZ1bmN0aW9uCnNlbGVjdExlbmd0aFByaW50KCR3Zil7aWYoaXNzZXQoJHdmKSl7ZWNobyI8ZmllbGRzZXQ+PGxlZ2VuZD4iLmxhbmcoNDEpLiI8L2xlZ2VuZD48ZGl2PiIsJzxpbnB1dCBuYW1lPSJ0ZXh0X2xlbmd0aCIgc2l6ZT0iMyIgdmFsdWU9IicuaCgkd2YpLiciPicsIjwvZGl2PjwvZmllbGRzZXQ+XG4iO319ZnVuY3Rpb24Kc2VsZWN0QWN0aW9uUHJpbnQoKXtlY2hvIjxmaWVsZHNldD48bGVnZW5kPiIubGFuZyg0MikuIjwvbGVnZW5kPjxkaXY+IiwiPGlucHV0IHR5cGU9J3N1Ym1pdCcgdmFsdWU9JyIubGFuZygzMykuIic+IiwiPC9kaXY+PC9maWVsZHNldD5cbiI7fWZ1bmN0aW9uCnNlbGVjdENvbW1hbmRQcmludCgpe3JldHVybiFpbmZvcm1hdGlvbl9zY2hlbWEoREIpO31mdW5jdGlvbgpzZWxlY3RJbXBvcnRQcmludCgpe3JldHVybgp0cnVlO31mdW5jdGlvbgpzZWxlY3RFbWFpbFByaW50KCRCYiwkZil7fWZ1bmN0aW9uCnNlbGVjdENvbHVtbnNQcm9jZXNzKCRmLCR0KXtnbG9iYWwkbGMsJHFjOyRJPWFycmF5KCk7JG9jPWFycmF5KCk7Zm9yZWFjaCgoYXJyYXkpJF9HRVRbImNvbHVtbnMiXWFzJHY9PiRXKXtpZigkV1siZnVuIl09PSJjb3VudCJ8fChpc3NldCgkZlskV1siY29sIl1dKSYmKCEkV1siZnVuIl18fGluX2FycmF5KCRXWyJmdW4iXSwkbGMpfHxpbl9hcnJheSgkV1siZnVuIl0sJHFjKSkpKXskSVskdl09YXBwbHlfc3FsX2Z1bmN0aW9uKCRXWyJmdW4iXSwoaXNzZXQoJGZbJFdbImNvbCJdXSk/aWRmX2VzY2FwZSgkV1siY29sIl0pOiIqIikpO2lmKCFpbl9hcnJheSgkV1siZnVuIl0sJHFjKSl7JG9jW109JElbJHZdO319fXJldHVybgphcnJheSgkSSwkb2MpO31mdW5jdGlvbgpzZWxlY3RTZWFyY2hQcm9jZXNzKCRtLCR0KXtnbG9iYWwkdTskRj1hcnJheSgpO2ZvcmVhY2goJHQKYXMkcD0+JHMpe2lmKCRzWyJ0eXBlIl09PSJGVUxMVEVYVCImJiRfR0VUWyJmdWxsdGV4dCJdWyRwXSE9IiIpeyRGW109Ik1BVENIICgiLmltcGxvZGUoIiwgIixhcnJheV9tYXAoJ2lkZl9lc2NhcGUnLCRzWyJjb2x1bW5zIl0pKS4iKSBBR0FJTlNUICgiLnEoJF9HRVRbImZ1bGx0ZXh0Il1bJHBdKS4oaXNzZXQoJF9HRVRbImJvb2xlYW4iXVskcF0pPyIgSU4gQk9PTEVBTiBNT0RFIjoiIikuIikiO319Zm9yZWFjaCgoYXJyYXkpJF9HRVRbIndoZXJlIl1hcyRXKXtpZigiJFdbY29sXSRXW3ZhbF0iIT0iIiYmaW5fYXJyYXkoJFdbIm9wIl0sJHRoaXMtPm9wZXJhdG9ycykpeyRYYT0iICRXW29wXSI7aWYoZXJlZygnSU4kJywkV1sib3AiXSkpeyR5Yz1wcm9jZXNzX2xlbmd0aCgkV1sidmFsIl0pOyRYYS49IiAoIi4oJHljIT0iIj8keWM6Ik5VTEwiKS4iKSI7fWVsc2VpZighJFdbIm9wIl0peyRYYS49JFdbInZhbCJdO31lbHNlaWYoJFdbIm9wIl09PSJMSUtFICUlIil7JFhhPSIgTElLRSAiLiR0aGlzLT5wcm9jZXNzSW5wdXQoJG1bJFdbImNvbCJdXSwiJSRXW3ZhbF0lIik7fWVsc2VpZighZXJlZygnTlVMTCQnLCRXWyJvcCJdKSl7JFhhLj0iICIuJHRoaXMtPnByb2Nlc3NJbnB1dCgkbVskV1siY29sIl1dLCRXWyJ2YWwiXSk7fWlmKCRXWyJjb2wiXSE9IiIpeyRGW109aWRmX2VzY2FwZSgkV1siY29sIl0pLiRYYTt9ZWxzZXskUmE9YXJyYXkoKTtmb3JlYWNoKCRtCmFzJF89PiRsKXtpZihpc19udW1lcmljKCRXWyJ2YWwiXSl8fCFlcmVnKCdpbnR8ZmxvYXR8ZG91YmxlfGRlY2ltYWwnLCRsWyJ0eXBlIl0pKXskXz1pZGZfZXNjYXBlKCRfKTskUmFbXT0oJHU9PSJzcWwiJiZlcmVnKCdjaGFyfHRleHR8ZW51bXxzZXQnLCRsWyJ0eXBlIl0pJiYhZXJlZygnXnV0ZjgnLCRsWyJjb2xsYXRpb24iXSk/IkNPTlZFUlQoJF8gVVNJTkcgdXRmOCkiOiRfKTt9fSRGW109KCRSYT8iKCIuaW1wbG9kZSgiJFhhIE9SICIsJFJhKS4iJFhhKSI6IjAiKTt9fX1yZXR1cm4kRjt9ZnVuY3Rpb24Kc2VsZWN0T3JkZXJQcm9jZXNzKCRtLCR0KXskRj1hcnJheSgpO2ZvcmVhY2goKGFycmF5KSRfR0VUWyJvcmRlciJdYXMkdj0+JFcpe2lmKGlzc2V0KCRtWyRXXSl8fHByZWdfbWF0Y2goJ35eKChDT1VOVFxcKERJU1RJTkNUIHxbQS1aMC05X10rXFwoKShgKD86W15gXXxgYCkrYHwiKD86W14iXXwiIikrIilcXCl8Q09VTlRcXChcXCpcXCkpJH4nLCRXKSl7JEZbXT0oaXNzZXQoJG1bJFddKT9pZGZfZXNjYXBlKCRXKTokVykuKGlzc2V0KCRfR0VUWyJkZXNjIl1bJHZdKT8iIERFU0MiOiIiKTt9fXJldHVybiRGO31mdW5jdGlvbgpzZWxlY3RMaW1pdFByb2Nlc3MoKXtyZXR1cm4oaXNzZXQoJF9HRVRbImxpbWl0Il0pPyRfR0VUWyJsaW1pdCJdOiIzMCIpO31mdW5jdGlvbgpzZWxlY3RMZW5ndGhQcm9jZXNzKCl7cmV0dXJuKGlzc2V0KCRfR0VUWyJ0ZXh0X2xlbmd0aCJdKT8kX0dFVFsidGV4dF9sZW5ndGgiXToiMTAwIik7fWZ1bmN0aW9uCnNlbGVjdEVtYWlsUHJvY2VzcygkWiwkZWMpe3JldHVybgpmYWxzZTt9ZnVuY3Rpb24KbWVzc2FnZVF1ZXJ5KCREKXtnbG9iYWwkdTtzdGF0aWMkYmI9MDtyZXN0YXJ0X3Nlc3Npb24oKTskcT0ic3FsLSIuKCRiYisrKTskc2M9JmdldF9zZXNzaW9uKCJxdWVyaWVzIik7aWYoc3RybGVuKCREKT4xZTYpeyREPWVyZWdfcmVwbGFjZSgnW1x4ODAtXHhGRl0rJCcsJycsc3Vic3RyKCRELDAsMWU2KSkuIlxuLi4uIjt9JHNjWyRfR0VUWyJkYiJdXVtdPSREO3JldHVybiIgPGEgaHJlZj0nIyRxJyBvbmNsaWNrPVwicmV0dXJuICF0b2dnbGUoJyRxJyk7XCI+Ii5sYW5nKDQzKS4iPC9hPjxkaXYgaWQ9JyRxJyBjbGFzcz0naGlkZGVuJz48cHJlPjxjb2RlIGNsYXNzPSdqdXNoLSR1Jz4iLnNob3J0ZW5fdXRmOCgkRCwxMDAwKS4nPC9jb2RlPjwvcHJlPjxwPjxhIGhyZWY9IicuaChzdHJfcmVwbGFjZSgiZGI9Ii51cmxlbmNvZGUoREIpLCJkYj0iLnVybGVuY29kZSgkX0dFVFsiZGIiXSksTUUpLidzcWw9Jmhpc3Rvcnk9Jy4oY291bnQoJHNjWyRfR0VUWyJkYiJdXSktMSkpLiciPicubGFuZygzMSkuJzwvYT48L2Rpdj4nO31mdW5jdGlvbgplZGl0RnVuY3Rpb25zKCRsKXtnbG9iYWwkemI7JEY9KCRsWyJudWxsIl0/Ik5VTEwvIjoiIik7Zm9yZWFjaCgkemIKYXMkdj0+JGxjKXtpZighJHZ8fCghaXNzZXQoJF9HRVRbImNhbGwiXSkmJihpc3NldCgkX0dFVFsic2VsZWN0Il0pfHx3aGVyZSgkX0dFVCkpKSl7Zm9yZWFjaCgkbGMKYXMkY2U9PiRXKXtpZighJGNlfHxlcmVnKCRjZSwkbFsidHlwZSJdKSl7JEYuPSIvJFciO319aWYoJHYmJiFlcmVnKCdzZXR8YmxvYnxieXRlYXxyYXd8ZmlsZScsJGxbInR5cGUiXSkpeyRGLj0iLz0iO319fXJldHVybgpleHBsb2RlKCIvIiwkRik7fWZ1bmN0aW9uCmVkaXRJbnB1dCgkTiwkbCwkemEsJFgpe2lmKCRsWyJ0eXBlIl09PSJlbnVtIil7cmV0dXJuKGlzc2V0KCRfR0VUWyJzZWxlY3QiXSk/IjxsYWJlbD48aW5wdXQgdHlwZT0ncmFkaW8nJHphIHZhbHVlPSctMScgY2hlY2tlZD48aT4iLmxhbmcoNSkuIjwvaT48L2xhYmVsPiAiOiIiKS4oJGxbIm51bGwiXT8iPGxhYmVsPjxpbnB1dCB0eXBlPSdyYWRpbyckemEgdmFsdWU9JyciLihpc3NldCgkWCl8fGlzc2V0KCRfR0VUWyJzZWxlY3QiXSk/IiI6IiBjaGVja2VkIikuIj48aT5OVUxMPC9pPjwvbGFiZWw+ICI6IiIpLmVudW1faW5wdXQoInJhZGlvIiwkemEsJGwsJFgsMCk7fXJldHVybiIiO31mdW5jdGlvbgpwcm9jZXNzSW5wdXQoJGwsJFgsJG89IiIpe2lmKCRvPT0iPSIpe3JldHVybiRYO30kXz0kbFsiZmllbGQiXTskRj0oJGxbInR5cGUiXT09ImJpdCImJmVyZWcoIl4oWzAtOV0rfGInWzAtMV0rJylcJCIsJFgpPyRYOnEoJFgpKTtpZihlcmVnKCdeKG5vd3xnZXRkYXRlfHV1aWQpJCcsJG8pKXskRj0iJG8oKSI7fWVsc2VpZihlcmVnKCdeY3VycmVudF8oZGF0ZXx0aW1lc3RhbXApJCcsJG8pKXskRj0kbzt9ZWxzZWlmKGVyZWcoJ14oWystXXxcXHxcXHwpJCcsJG8pKXskRj1pZGZfZXNjYXBlKCRfKS4iICRvICRGIjt9ZWxzZWlmKGVyZWcoJ15bKy1dIGludGVydmFsJCcsJG8pKXskRj1pZGZfZXNjYXBlKCRfKS4iICRvICIuKHByZWdfbWF0Y2goIn5eKFxcZCt8J1swLTkuOiAtXScpIFtBLVpfXSskfmkiLCRYKT8kWDokRik7fWVsc2VpZihlcmVnKCdeKGFkZHRpbWV8c3VidGltZXxjb25jYXQpJCcsJG8pKXskRj0iJG8oIi5pZGZfZXNjYXBlKCRfKS4iLCAkRikiO31lbHNlaWYoZXJlZygnXihtZDV8c2hhMXxwYXNzd29yZHxlbmNyeXB0fGhleCkkJywkbykpeyRGPSIkbygkRikiO31pZihlcmVnKCJiaW5hcnkiLCRsWyJ0eXBlIl0pKXskRj0idW5oZXgoJEYpIjt9cmV0dXJuJEY7fWZ1bmN0aW9uCmR1bXBPdXRwdXQoKXskRj1hcnJheSgndGV4dCc9PmxhbmcoNDQpLCdmaWxlJz0+bGFuZyg0NSkpO2lmKGZ1bmN0aW9uX2V4aXN0cygnZ3plbmNvZGUnKSl7JEZbJ2d6J109J2d6aXAnO31pZihmdW5jdGlvbl9leGlzdHMoJ2J6Y29tcHJlc3MnKSl7JEZbJ2J6MiddPSdiemlwMic7fXJldHVybiRGO31mdW5jdGlvbgpkdW1wRm9ybWF0KCl7cmV0dXJuCmFycmF5KCdzcWwnPT4nU1FMJywnY3N2Jz0+J0NTViwnLCdjc3Y7Jz0+J0NTVjsnLCd0c3YnPT4nVFNWJyk7fWZ1bmN0aW9uCmR1bXBUYWJsZSgkTiwkTSwkSGM9ZmFsc2Upe2lmKCRfUE9TVFsiZm9ybWF0Il0hPSJzcWwiKXtlY2hvIlx4ZWZceGJiXHhiZiI7aWYoJE0pe2R1bXBfY3N2KGFycmF5X2tleXMoZmllbGRzKCROKSkpO319ZWxzZWlmKCRNKXskY2I9Y3JlYXRlX3NxbCgkTiwkX1BPU1RbImF1dG9faW5jcmVtZW50Il0pO2lmKCRjYil7aWYoJE09PSJEUk9QK0NSRUFURSIpe2VjaG8iRFJPUCAiLigkSGM/IlZJRVciOiJUQUJMRSIpLiIgSUYgRVhJU1RTICIudGFibGUoJE4pLiI7XG4iO31pZigkSGMpeyRjYj1wcmVnX3JlcGxhY2UoJ35eKFtBLVogPV0rKSBERUZJTkVSPWAnLnByZWdfcmVwbGFjZSgnfkAoLiopficsJ2BAYCglfFxcMSknLGxvZ2dlZF91c2VyKCkpLidgficsJ1xcMScsJGNiKTt9ZWNobygkTSE9IkNSRUFURStBTFRFUiI/JGNiOigkSGM/c3Vic3RyX3JlcGxhY2UoJGNiLCIgT1IgUkVQTEFDRSIsNiwwKTpzdWJzdHJfcmVwbGFjZSgkY2IsIiBJRiBOT1QgRVhJU1RTIiwxMiwwKSkpLiI7XG5cbiI7fWlmKCRNPT0iQ1JFQVRFK0FMVEVSIiYmISRIYyl7JEQ9IlNFTEVDVCBDT0xVTU5fTkFNRSwgQ09MVU1OX0RFRkFVTFQsIElTX05VTExBQkxFLCBDT0xMQVRJT05fTkFNRSwgQ09MVU1OX1RZUEUsIEVYVFJBLCBDT0xVTU5fQ09NTUVOVCBGUk9NIGluZm9ybWF0aW9uX3NjaGVtYS5DT0xVTU5TIFdIRVJFIFRBQkxFX1NDSEVNQSA9IERBVEFCQVNFKCkgQU5EIFRBQkxFX05BTUUgPSAiLnEoJE4pLiIgT1JERVIgQlkgT1JESU5BTF9QT1NJVElPTiI7ZWNobyJERUxJTUlURVIgOzsKQ1JFQVRFIFBST0NFRFVSRSBhZG1pbmVyX2FsdGVyIChJTk9VVCBhbHRlcl9jb21tYW5kIHRleHQpIEJFR0lOCglERUNMQVJFIF9jb2x1bW5fbmFtZSwgX2NvbGxhdGlvbl9uYW1lLCBhZnRlciB2YXJjaGFyKDY0KSBERUZBVUxUICcnOwoJREVDTEFSRSBfY29sdW1uX3R5cGUsIF9jb2x1bW5fZGVmYXVsdCB0ZXh0OwoJREVDTEFSRSBfaXNfbnVsbGFibGUgY2hhcigzKTsKCURFQ0xBUkUgX2V4dHJhIHZhcmNoYXIoMzApOwoJREVDTEFSRSBfY29sdW1uX2NvbW1lbnQgdmFyY2hhcigyNTUpOwoJREVDTEFSRSBkb25lLCBzZXRfYWZ0ZXIgYm9vbCBERUZBVUxUIDA7CglERUNMQVJFIGFkZF9jb2x1bW5zIHRleHQgREVGQVVMVCAnIjskbT1hcnJheSgpOyR1YT0iIjtmb3JlYWNoKGdldF9yb3dzKCREKWFzJEcpeyRtYj0kR1siQ09MVU1OX0RFRkFVTFQiXTskR1siZGVmYXVsdCJdPShpc3NldCgkbWIpP3EoJG1iKToiTlVMTCIpOyRHWyJhZnRlciJdPXEoJHVhKTskR1siYWx0ZXIiXT1lc2NhcGVfc3RyaW5nKGlkZl9lc2NhcGUoJEdbIkNPTFVNTl9OQU1FIl0pLiIgJEdbQ09MVU1OX1RZUEVdIi4oJEdbIkNPTExBVElPTl9OQU1FIl0/IiBDT0xMQVRFICRHW0NPTExBVElPTl9OQU1FXSI6IiIpLihpc3NldCgkbWIpPyIgREVGQVVMVCAiLigkbWI9PSJDVVJSRU5UX1RJTUVTVEFNUCI/JG1iOiRHWyJkZWZhdWx0Il0pOiIiKS4oJEdbIklTX05VTExBQkxFIl09PSJZRVMiPyIiOiIgTk9UIE5VTEwiKS4oJEdbIkVYVFJBIl0/IiAkR1tFWFRSQV0iOiIiKS4oJEdbIkNPTFVNTl9DT01NRU5UIl0/IiBDT01NRU5UICIucSgkR1siQ09MVU1OX0NPTU1FTlQiXSk6IiIpLigkdWE/IiBBRlRFUiAiLmlkZl9lc2NhcGUoJHVhKToiIEZJUlNUIikpO2VjaG8iLCBBREQgJEdbYWx0ZXJdIjskbVtdPSRHOyR1YT0kR1siQ09MVU1OX05BTUUiXTt9ZWNobyInOwoJREVDTEFSRSBjb2x1bW5zIENVUlNPUiBGT1IgJEQ7CglERUNMQVJFIENPTlRJTlVFIEhBTkRMRVIgRk9SIE5PVCBGT1VORCBTRVQgZG9uZSA9IDE7CglTRVQgQGFsdGVyX3RhYmxlID0gJyc7CglPUEVOIGNvbHVtbnM7CglSRVBFQVQKCQlGRVRDSCBjb2x1bW5zIElOVE8gX2NvbHVtbl9uYW1lLCBfY29sdW1uX2RlZmF1bHQsIF9pc19udWxsYWJsZSwgX2NvbGxhdGlvbl9uYW1lLCBfY29sdW1uX3R5cGUsIF9leHRyYSwgX2NvbHVtbl9jb21tZW50OwoJCUlGIE5PVCBkb25lIFRIRU4KCQkJU0VUIHNldF9hZnRlciA9IDE7CgkJCUNBU0UgX2NvbHVtbl9uYW1lIjtmb3JlYWNoKCRtCmFzJEcpe2VjaG8iCgkJCQlXSEVOICIucSgkR1siQ09MVU1OX05BTUUiXSkuIiBUSEVOCgkJCQkJU0VUIGFkZF9jb2x1bW5zID0gUkVQTEFDRShhZGRfY29sdW1ucywgJywgQUREICRHW2FsdGVyXScsIElGKAoJCQkJCQlfY29sdW1uX2RlZmF1bHQgPD0+ICRHW2RlZmF1bHRdIEFORCBfaXNfbnVsbGFibGUgPSAnJEdbSVNfTlVMTEFCTEVdJyBBTkQgX2NvbGxhdGlvbl9uYW1lIDw9PiAiLihpc3NldCgkR1siQ09MTEFUSU9OX05BTUUiXSk/IickR1tDT0xMQVRJT05fTkFNRV0nIjoiTlVMTCIpLiIgQU5EIF9jb2x1bW5fdHlwZSA9ICIucSgkR1siQ09MVU1OX1RZUEUiXSkuIiBBTkQgX2V4dHJhID0gJyRHW0VYVFJBXScgQU5EIF9jb2x1bW5fY29tbWVudCA9ICIucSgkR1siQ09MVU1OX0NPTU1FTlQiXSkuIiBBTkQgYWZ0ZXIgPSAkR1thZnRlcl0KCQkJCQksICcnLCAnLCBNT0RJRlkgJEdbYWx0ZXJdJykpOyI7fWVjaG8iCgkJCQlFTFNFCgkJCQkJU0VUIEBhbHRlcl90YWJsZSA9IENPTkNBVChAYWx0ZXJfdGFibGUsICcsIERST1AgJywgX2NvbHVtbl9uYW1lKTsKCQkJCQlTRVQgc2V0X2FmdGVyID0gMDsKCQkJRU5EIENBU0U7CgkJCUlGIHNldF9hZnRlciBUSEVOCgkJCQlTRVQgYWZ0ZXIgPSBfY29sdW1uX25hbWU7CgkJCUVORCBJRjsKCQlFTkQgSUY7CglVTlRJTCBkb25lIEVORCBSRVBFQVQ7CglDTE9TRSBjb2x1bW5zOwoJSUYgQGFsdGVyX3RhYmxlICE9ICcnIE9SIGFkZF9jb2x1bW5zICE9ICcnIFRIRU4KCQlTRVQgYWx0ZXJfY29tbWFuZCA9IENPTkNBVChhbHRlcl9jb21tYW5kLCAnQUxURVIgVEFCTEUgIi50YWJsZSgkTikuIicsIFNVQlNUUihDT05DQVQoYWRkX2NvbHVtbnMsIEBhbHRlcl90YWJsZSksIDIpLCAnO1xcbicpOwoJRU5EIElGOwpFTkQ7OwpERUxJTUlURVIgOwpDQUxMIGFkbWluZXJfYWx0ZXIoQGFkbWluZXJfYWx0ZXIpOwpEUk9QIFBST0NFRFVSRSBhZG1pbmVyX2FsdGVyOwoKIjt9fX1mdW5jdGlvbgpkdW1wRGF0YSgkTiwkTSwkRCl7Z2xvYmFsJGcsJHU7JGNkPSgkdT09InNxbGl0ZSI/MDoxMDQ4NTc2KTtpZigkTSl7aWYoJF9QT1NUWyJmb3JtYXQiXT09InNxbCImJiRNPT0iVFJVTkNBVEUrSU5TRVJUIil7ZWNobwp0cnVuY2F0ZV9zcWwoJE4pLiI7XG4iO31pZigkX1BPU1RbImZvcm1hdCJdPT0ic3FsIil7JG09ZmllbGRzKCROKTt9JEU9JGctPnF1ZXJ5KCRELDEpO2lmKCRFKXskRWM9IiI7JElhPSIiO3doaWxlKCRHPSRFLT5mZXRjaF9hc3NvYygpKXtpZigkX1BPU1RbImZvcm1hdCJdIT0ic3FsIil7aWYoJE09PSJ0YWJsZSIpe2R1bXBfY3N2KGFycmF5X2tleXMoJEcpKTskTT0iSU5TRVJUIjt9ZHVtcF9jc3YoJEcpO31lbHNle2lmKCEkRWMpeyRFYz0iSU5TRVJUIElOVE8gIi50YWJsZSgkTikuIiAoIi5pbXBsb2RlKCIsICIsYXJyYXlfbWFwKCdpZGZfZXNjYXBlJyxhcnJheV9rZXlzKCRHKSkpLiIpIFZBTFVFUyI7fWZvcmVhY2goJEcKYXMkdj0+JFcpeyRHWyR2XT0oaXNzZXQoJFcpPyhlcmVnKCdpbnR8ZmxvYXR8ZG91YmxlfGRlY2ltYWwnLCRtWyR2XVsidHlwZSJdKT8kVzpxKCRXKSk6Ik5VTEwiKTt9JEtlPWltcGxvZGUoIixcdCIsJEcpO2lmKCRNPT0iSU5TRVJUK1VQREFURSIpeyRLPWFycmF5KCk7Zm9yZWFjaCgkRwphcyR2PT4kVyl7JEtbXT1pZGZfZXNjYXBlKCR2KS4iID0gJFciO31lY2hvIiRFYyAoJEtlKSBPTiBEVVBMSUNBVEUgS0VZIFVQREFURSAiLmltcGxvZGUoIiwgIiwkSykuIjtcbiI7fWVsc2V7JEtlPSgkY2Q/IlxuIjoiICIpLiIoJEtlKSI7aWYoISRJYSl7JElhPSRFYy4kS2U7fWVsc2VpZihzdHJsZW4oJElhKSs0K3N0cmxlbigkS2UpPCRjZCl7JElhLj0iLCRLZSI7fWVsc2V7ZWNobyIkSWE7XG4iOyRJYT0kRWMuJEtlO319fX1pZigkX1BPU1RbImZvcm1hdCJdPT0ic3FsIiYmJE0hPSJJTlNFUlQrVVBEQVRFIiYmJElhKXskSWEuPSI7XG4iO2VjaG8kSWE7fX1lbHNlaWYoJF9QT1NUWyJmb3JtYXQiXT09InNxbCIpe2VjaG8iLS0gIi5zdHJfcmVwbGFjZSgiXG4iLCIgIiwkZy0+ZXJyb3IpLiJcbiI7fX19ZnVuY3Rpb24KZHVtcEhlYWRlcnMoJHdjLCRwZD1mYWxzZSl7JFJkPSRfUE9TVFsib3V0cHV0Il07JFRiPSgkX1BPU1RbImZvcm1hdCJdPT0ic3FsIj8ic3FsIjooJHBkPyJ0YXIiOiJjc3YiKSk7aGVhZGVyKCJDb250ZW50LVR5cGU6ICIuKCRSZD09ImJ6MiI/ImFwcGxpY2F0aW9uL3gtYnppcCI6KCRSZD09Imd6Ij8iYXBwbGljYXRpb24veC1nemlwIjooJFRiPT0idGFyIj8iYXBwbGljYXRpb24veC10YXIiOigkVGI9PSJzcWwifHwkUmQhPSJmaWxlIj8idGV4dC9wbGFpbiI6InRleHQvY3N2IikuIjsgY2hhcnNldD11dGYtOCIpKSkpO2lmKCRSZD09ImJ6MiIpe29iX3N0YXJ0KCdiemNvbXByZXNzJywxZTYpO31pZigkUmQ9PSJneiIpe29iX3N0YXJ0KCdnemVuY29kZScsMWU2KTt9cmV0dXJuJFRiO31mdW5jdGlvbgpob21lcGFnZSgpe2VjaG8nPHA+Jy4oJF9HRVRbIm5zIl09PSIiPyc8YSBocmVmPSInLmgoTUUpLidkYXRhYmFzZT0iPicubGFuZyg0NikuIjwvYT5cbiI6IiIpLChzdXBwb3J0KCJzY2hlbWUiKT8iPGEgaHJlZj0nIi5oKE1FKS4ic2NoZW1lPSc+Ii4oJF9HRVRbIm5zIl0hPSIiP2xhbmcoNDcpOmxhbmcoNDgpKS4iPC9hPlxuIjoiIiksKCRfR0VUWyJucyJdIT09IiI/JzxhIGhyZWY9IicuaChNRSkuJ3NjaGVtYT0iPicubGFuZyg0OSkuIjwvYT5cbiI6IiIpLChzdXBwb3J0KCJwcml2aWxlZ2VzIik/IjxhIGhyZWY9JyIuaChNRSkuInByaXZpbGVnZXM9Jz4iLmxhbmcoNTApLiI8L2E+XG4iOiIiKTtyZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24KbmF2aWdhdGlvbigkb2Qpe2dsb2JhbCRpYSwkZywkUSwkdSwkdGI7ZWNobyc8aDE+CicsJHRoaXMtPm5hbWUoKSwnIDxzcGFuIGNsYXNzPSJ2ZXJzaW9uIj4nLCRpYSwnPC9zcGFuPgo8YSBocmVmPSJodHRwOi8vd3d3LmFkbWluZXIub3JnLyNkb3dubG9hZCIgaWQ9InZlcnNpb24iPicsKHZlcnNpb25fY29tcGFyZSgkaWEsJF9DT09LSUVbImFkbWluZXJfdmVyc2lvbiJdKTwwP2goJF9DT09LSUVbImFkbWluZXJfdmVyc2lvbiJdKToiIiksJzwvYT4KPC9oMT4KJztpZigkb2Q9PSJhdXRoIil7JGJjPXRydWU7Zm9yZWFjaCgoYXJyYXkpJF9TRVNTSU9OWyJwd2RzIl1hcyRzYj0+JFVlKXtmb3JlYWNoKCRVZQphcyRKPT4kVmYpe2ZvcmVhY2goJFZmCmFzJFU9PiRCKXtpZihpc3NldCgkQikpe2lmKCRiYyl7ZWNobyI8cCBvbmNsaWNrPSdldmVudFN0b3AoZXZlbnQpOyc+XG4iOyRiYz1mYWxzZTt9ZWNobyI8YSBocmVmPSciLmgoYXV0aF91cmwoJHNiLCRKLCRVKSkuIic+KCR0Ylskc2JdKSAiLmgoJFUuKCRKIT0iIj8iQCRKIjoiIikpLiI8L2E+PGJyPlxuIjt9fX19fWVsc2V7JGk9Z2V0X2RhdGFiYXNlcygpO2VjaG8nPGZvcm0gYWN0aW9uPSIiIG1ldGhvZD0icG9zdCI+CjxwIGNsYXNzPSJsb2dvdXQiPgonO2lmKERCPT0iInx8ISRvZCl7ZWNobyI8YSBocmVmPSciLmgoTUUpLiJzcWw9JyIuYm9sZChpc3NldCgkX0dFVFsic3FsIl0pKS4iPiIubGFuZyg0MykuIjwvYT5cbiI7aWYoc3VwcG9ydCgiZHVtcCIpKXtlY2hvIjxhIGhyZWY9JyIuaChNRSkuImR1bXA9Ii51cmxlbmNvZGUoaXNzZXQoJF9HRVRbInRhYmxlIl0pPyRfR0VUWyJ0YWJsZSJdOiRfR0VUWyJzZWxlY3QiXSkuIicgaWQ9J2R1bXAnIi5ib2xkKGlzc2V0KCRfR0VUWyJkdW1wIl0pKS4iPiIubGFuZyg1MSkuIjwvYT5cbiI7fX1lY2hvJzxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9ImxvZ291dCIgdmFsdWU9IicsbGFuZyg1MiksJyIgb25jbGljaz0iZXZlbnRTdG9wKGV2ZW50KTsiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ0b2tlbiIgdmFsdWU9IicsJFEsJyI+CjwvcD4KPC9mb3JtPgo8Zm9ybSBhY3Rpb249IiI+CjxwPgonO2hpZGRlbl9maWVsZHNfZ2V0KCk7ZWNobygkaT9odG1sX3NlbGVjdCgiZGIiLGFycmF5KCIiPT4iKCIubGFuZyg1MykuIikiKSskaSxEQiwidGhpcy5mb3JtLnN1Ym1pdCgpOyIpOic8aW5wdXQgbmFtZT0iZGIiIHZhbHVlPSInLmgoREIpLiciPicpLCc8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iJyxsYW5nKDgpLCciJywoJGk/IiBjbGFzcz0naGlkZGVuJyI6IiIpLCcgb25jbGljaz0iZXZlbnRTdG9wKGV2ZW50KTsiPgonO2lmKCRvZCE9ImRiIiYmREIhPSIiJiYkZy0+c2VsZWN0X2RiKERCKSl7aWYoc3VwcG9ydCgic2NoZW1lIikpe2VjaG8iPGJyPiIuaHRtbF9zZWxlY3QoIm5zIixhcnJheSgiIj0+IigiLmxhbmcoNTQpLiIpIikrc2NoZW1hcygpLCRfR0VUWyJucyJdLCJ0aGlzLmZvcm0uc3VibWl0KCk7Iik7aWYoJF9HRVRbIm5zIl0hPSIiKXtzZXRfc2NoZW1hKCRfR0VUWyJucyJdKTt9fWlmKCRfR0VUWyJucyJdIT09IiImJiEkb2Qpe2VjaG8nPHA+PGEgaHJlZj0iJy5oKE1FKS4nY3JlYXRlPSInLmJvbGQoJF9HRVRbImNyZWF0ZSJdPT09IiIpLiI+Ii5sYW5nKDU1KS4iPC9hPlxuIjskUD10YWJsZXNfbGlzdCgpO2lmKCEkUCl7ZWNobyI8cCBjbGFzcz0nbWVzc2FnZSc+Ii5sYW5nKDYpLiJcbiI7fWVsc2V7JHRoaXMtPnRhYmxlc1ByaW50KCRQKTskVmM9YXJyYXkoKTtmb3JlYWNoKCRQCmFzJE49PiRTKXskVmNbXT1wcmVnX3F1b3RlKCROLCcvJyk7fWVjaG8iPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPlxuIiwidmFyIGp1c2hMaW5rcyA9IHsgJHU6IFsgJyIuanNfZXNjYXBlKE1FKS4idGFibGU9XCQmJywgL1xcYigiLmltcGxvZGUoInwiLCRWYykuIilcXGIvZyBdIH07XG4iO2ZvcmVhY2goYXJyYXkoImJhYyIsImJyYSIsInNxbGl0ZV9xdW8iLCJtc3NxbF9icmEiKWFzJFcpe2VjaG8ianVzaExpbmtzLiRXID0ganVzaExpbmtzLiR1O1xuIjt9ZWNobyI8L3NjcmlwdD5cbiI7fX19ZWNobyhpc3NldCgkX0dFVFsic3FsIl0pPyc8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJzcWwiIHZhbHVlPSIiPic6KGlzc2V0KCRfR0VUWyJzY2hlbWEiXSk/JzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InNjaGVtYSIgdmFsdWU9IiI+JzooaXNzZXQoJF9HRVRbImR1bXAiXSk/JzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImR1bXAiIHZhbHVlPSIiPic6IiIpKSksIjwvcD48L2Zvcm0+XG4iO319ZnVuY3Rpb24KdGFibGVzUHJpbnQoJFApe2VjaG8iPHAgaWQ9J3RhYmxlcyc+XG4iO2ZvcmVhY2goJFAKYXMkTj0+JFMpe2VjaG8nPGEgaHJlZj0iJy5oKE1FKS4nc2VsZWN0PScudXJsZW5jb2RlKCROKS4nIicuYm9sZCgkX0dFVFsic2VsZWN0Il09PSROKS4iPiIubGFuZyg1NikuIjwvYT4gIiwnPGEgaHJlZj0iJy5oKE1FKS4ndGFibGU9Jy51cmxlbmNvZGUoJE4pLiciJy5ib2xkKCRfR0VUWyJ0YWJsZSJdPT0kTikuIiB0aXRsZT0nIi5sYW5nKDI2KS4iJz4iLiR0aGlzLT50YWJsZU5hbWUoYXJyYXkoIk5hbWUiPT4kTikpLiI8L2E+PGJyPlxuIjt9fX0kYj0oZnVuY3Rpb25fZXhpc3RzKCdhZG1pbmVyX29iamVjdCcpP2FkbWluZXJfb2JqZWN0KCk6bmV3CkFkbWluZXIpO2lmKCFpc3NldCgkYi0+b3BlcmF0b3JzKSl7JGItPm9wZXJhdG9ycz0kRmQ7fWZ1bmN0aW9uCnBhZ2VfaGVhZGVyKCR6Ziwkaz0iIiwkSGE9YXJyYXkoKSwkX2Y9IiIpe2dsb2JhbCRjYSwkYiwkZywkdGI7aGVhZGVyKCJDb250ZW50LVR5cGU6IHRleHQvaHRtbDsgY2hhcnNldD11dGYtOCIpO2lmKCRiLT5oZWFkZXJzKCkpe2hlYWRlcigiWC1GcmFtZS1PcHRpb25zOiBkZW55Iik7aGVhZGVyKCJYLVhTUy1Qcm90ZWN0aW9uOiAwIik7fSRBZj0kemYuKCRfZiE9IiI/IjogIi5oKCRfZik6IiIpOyRCZj1zdHJpcF90YWdzKCRBZi4oU0VSVkVSIT0iIiYmU0VSVkVSIT0ibG9jYWxob3N0Ij9oKCIgLSAiLlNFUlZFUik6IiIpLiIgLSAiLiRiLT5uYW1lKCkpO2lmKGlzX2FqYXgoKSl7aGVhZGVyKCJYLUFKQVgtVGl0bGU6ICIucmF3dXJsZW5jb2RlKCRCZikpO31lbHNle2VjaG8nPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEvL0VOIj4KPGh0bWwgbGFuZz0iJywkY2EsJyIgZGlyPSInLGxhbmcoNTcpLCciPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCI+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtU2NyaXB0LVR5cGUiIGNvbnRlbnQ9InRleHQvamF2YXNjcmlwdCI+CjxtZXRhIG5hbWU9InJvYm90cyIgY29udGVudD0ibm9pbmRleCI+Cjx0aXRsZT4nLCRCZiwnPC90aXRsZT4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iJyxoKHByZWdfcmVwbGFjZSgiflxcPy4qfiIsIiIsTUUpKS4iP2ZpbGU9ZGVmYXVsdC5jc3MmYW1wO3ZlcnNpb249My4zLjMiLCciPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CnZhciBhcmVZb3VTdXJlID0gXCcnLGxhbmcoNTgpLCdcJzsKPC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IicsaChwcmVnX3JlcGxhY2UoIn5cXD8uKn4iLCIiLE1FKSkuIj9maWxlPWZ1bmN0aW9ucy5qcyZhbXA7dmVyc2lvbj0zLjMuMyIsJyI+PC9zY3JpcHQ+Cic7aWYoJGItPmhlYWQoKSl7ZWNobyc8bGluayByZWw9InNob3J0Y3V0IGljb24iIHR5cGU9ImltYWdlL3gtaWNvbiIgaHJlZj0iJyxoKHByZWdfcmVwbGFjZSgiflxcPy4qfiIsIiIsTUUpKS4iP2ZpbGU9ZmF2aWNvbi5pY28mYW1wO3ZlcnNpb249My4zLjMiLCciIGlkPSJmYXZpY29uIj4KJztpZihmaWxlX2V4aXN0cygiYWRtaW5lci5jc3MiKSl7ZWNobyc8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJhZG1pbmVyLmNzcyI+Cic7fX1lY2hvJwo8Ym9keSBjbGFzcz0iJyxsYW5nKDU3KSwnIG5vanMiJywoJF9QT1NUPyIiOiIgb25jbGljaz1cInJldHVybiBib2R5Q2xpY2soZXZlbnQsICciLmgoanNfZXNjYXBlKERCKS4iJywgJyIuanNfZXNjYXBlKCRfR0VUWyJucyJdKSkuIicpO1wiIik7ZWNobycgb25rZXlkb3duPSJib2R5S2V5ZG93bihldmVudCk7IiBvbmxvYWQ9ImJvZHlMb2FkKFwnJywoaXNfb2JqZWN0KCRnKT9zdWJzdHIoJGctPnNlcnZlcl9pbmZvLDAsMyk6IiIpLCdcJyk7JywoaXNzZXQoJF9DT09LSUVbImFkbWluZXJfdmVyc2lvbiJdKT8iIjoiIHZlcmlmeVZlcnNpb24oKTsiKTs/PiI+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KZG9jdW1lbnQuYm9keS5jbGFzc05hbWUgPSBkb2N1bWVudC5ib2R5LmNsYXNzTmFtZS5yZXBsYWNlKC8oXnxccylub2pzKFxzfCQpLywgJyQxanMkMicpOwo8L3NjcmlwdD4KCjxkaXYgaWQ9ImNvbnRlbnQiPgo8P3BocAp9aWYoaXNzZXQoJEhhKSl7JHk9c3Vic3RyKHByZWdfcmVwbGFjZSgnfih1c2VybmFtZXxkYnxucyk9W14mXSomficsJycsTUUpLDAsLTEpO2VjaG8nPHAgaWQ9ImJyZWFkY3J1bWIiPjxhIGhyZWY9IicuaCgkeT8keToiLiIpLiciPicuJHRiW0RSSVZFUl0uJzwvYT4gJnJhcXVvOyAnOyR5PXN1YnN0cihwcmVnX3JlcGxhY2UoJ34oZGJ8bnMpPVteJl0qJn4nLCcnLE1FKSwwLC0xKTskSj0oU0VSVkVSIT0iIj9oKFNFUlZFUik6bGFuZygyMCkpO2lmKCRIYT09PWZhbHNlKXtlY2hvIiRKXG4iO31lbHNle2VjaG8iPGEgaHJlZj0nIi4oJHk/aCgkeSk6Ii4iKS4iJyBhY2Nlc3NrZXk9JzEnIHRpdGxlPSdBbHQrU2hpZnQrMSc+JEo8L2E+ICZyYXF1bzsgIjtpZigkX0dFVFsibnMiXSE9IiJ8fChEQiE9IiImJmlzX2FycmF5KCRIYSkpKXtlY2hvJzxhIGhyZWY9IicuaCgkeS4iJmRiPSIudXJsZW5jb2RlKERCKS4oc3VwcG9ydCgic2NoZW1lIik/IiZucz0iOiIiKSkuJyI+Jy5oKERCKS4nPC9hPiAmcmFxdW87ICc7fWlmKGlzX2FycmF5KCRIYSkpe2lmKCRfR0VUWyJucyJdIT0iIil7ZWNobyc8YSBocmVmPSInLmgoc3Vic3RyKE1FLDAsLTEpKS4nIj4nLmgoJF9HRVRbIm5zIl0pLic8L2E+ICZyYXF1bzsgJzt9Zm9yZWFjaCgkSGEKYXMkdj0+JFcpeyRvYj0oaXNfYXJyYXkoJFcpPyRXWzFdOiRXKTtpZigkb2IhPSIiKXtlY2hvJzxhIGhyZWY9IicuaChNRS4iJHY9IikudXJsZW5jb2RlKGlzX2FycmF5KCRXKT8kV1swXTokVykuJyI+Jy5oKCRvYikuJzwvYT4gJnJhcXVvOyAnO319fWVjaG8iJHpmXG4iO319ZWNobyI8c3BhbiBpZD0nbG9hZGVyJz48L3NwYW4+XG4iLCI8aDI+JEFmPC9oMj5cbiI7cmVzdGFydF9zZXNzaW9uKCk7JFRmPXByZWdfcmVwbGFjZSgnfl5bXj9dKn4nLCcnLCRfU0VSVkVSWyJSRVFVRVNUX1VSSSJdKTskbGQ9JF9TRVNTSU9OWyJtZXNzYWdlcyJdWyRUZl07aWYoJGxkKXtlY2hvIjxkaXYgY2xhc3M9J21lc3NhZ2UnPiIuaW1wbG9kZSgiPC9kaXY+XG48ZGl2IGNsYXNzPSdtZXNzYWdlJz4iLCRsZCkuIjwvZGl2PlxuIjt1bnNldCgkX1NFU1NJT05bIm1lc3NhZ2VzIl1bJFRmXSk7fSRpPSZnZXRfc2Vzc2lvbigiZGJzIik7aWYoREIhPSIiJiYkaSYmIWluX2FycmF5KERCLCRpLHRydWUpKXskaT1udWxsO31pZigkayl7ZWNobyI8ZGl2IGNsYXNzPSdlcnJvcic+JGs8L2Rpdj5cbiI7fWRlZmluZSgiUEFHRV9IRUFERVIiLDEpO31mdW5jdGlvbgpwYWdlX2Zvb3Rlcigkb2Q9IiIpe2dsb2JhbCRiO2lmKCFpc19hamF4KCkpe2VjaG8nPC9kaXY+CgonO3N3aXRjaF9sYW5nKCk7ZWNobyc8ZGl2IGlkPSJtZW51Ij4KJzskYi0+bmF2aWdhdGlvbigkb2QpO2VjaG8nPC9kaXY+Cic7fX1mdW5jdGlvbgppbnQzMigkcmQpe3doaWxlKCRyZD49MjE0NzQ4MzY0OCl7JHJkLT00Mjk0OTY3Mjk2O313aGlsZSgkcmQ8PS0yMTQ3NDgzNjQ5KXskcmQrPTQyOTQ5NjcyOTY7fXJldHVybihpbnQpJHJkO31mdW5jdGlvbgpsb25nMnN0cigkViwkYmcpeyRLZT0nJztmb3JlYWNoKCRWCmFzJFcpeyRLZS49cGFjaygnVicsJFcpO31pZigkYmcpe3JldHVybgpzdWJzdHIoJEtlLDAsZW5kKCRWKSk7fXJldHVybiRLZTt9ZnVuY3Rpb24Kc3RyMmxvbmcoJEtlLCRiZyl7JFY9YXJyYXlfdmFsdWVzKHVucGFjaygnVionLHN0cl9wYWQoJEtlLDQqY2VpbChzdHJsZW4oJEtlKS80KSwiXDAiKSkpO2lmKCRiZyl7JFZbXT1zdHJsZW4oJEtlKTt9cmV0dXJuJFY7fWZ1bmN0aW9uCnh4dGVhX214KCRmZywkZWcsJGlmLCRLYyl7cmV0dXJuCmludDMyKCgoJGZnPj41JjB4N0ZGRkZGRileJGVnPDwyKSsoKCRlZz4+MyYweDFGRkZGRkZGKV4kZmc8PDQpKV5pbnQzMigoJGlmXiRlZykrKCRLY14kZmcpKTt9ZnVuY3Rpb24KZW5jcnlwdF9zdHJpbmcoJGRmLCR2KXtpZigkZGY9PSIiKXtyZXR1cm4iIjt9JHY9YXJyYXlfdmFsdWVzKHVucGFjaygiVioiLHBhY2soIkgqIixtZDUoJHYpKSkpOyRWPXN0cjJsb25nKCRkZix0cnVlKTskcmQ9Y291bnQoJFYpLTE7JGZnPSRWWyRyZF07JGVnPSRWWzBdOyRDPWZsb29yKDYrNTIvKCRyZCsxKSk7JGlmPTA7d2hpbGUoJEMtLT4wKXskaWY9aW50MzIoJGlmKzB4OUUzNzc5QjkpOyR5Yj0kaWY+PjImMztmb3IoJFNkPTA7JFNkPCRyZDskU2QrKyl7JGVnPSRWWyRTZCsxXTskcWQ9eHh0ZWFfbXgoJGZnLCRlZywkaWYsJHZbJFNkJjNeJHliXSk7JGZnPWludDMyKCRWWyRTZF0rJHFkKTskVlskU2RdPSRmZzt9JGVnPSRWWzBdOyRxZD14eHRlYV9teCgkZmcsJGVnLCRpZiwkdlskU2QmM14keWJdKTskZmc9aW50MzIoJFZbJHJkXSskcWQpOyRWWyRyZF09JGZnO31yZXR1cm4KbG9uZzJzdHIoJFYsZmFsc2UpO31mdW5jdGlvbgpkZWNyeXB0X3N0cmluZygkZGYsJHYpe2lmKCRkZj09IiIpe3JldHVybiIiO30kdj1hcnJheV92YWx1ZXModW5wYWNrKCJWKiIscGFjaygiSCoiLG1kNSgkdikpKSk7JFY9c3RyMmxvbmcoJGRmLGZhbHNlKTskcmQ9Y291bnQoJFYpLTE7JGZnPSRWWyRyZF07JGVnPSRWWzBdOyRDPWZsb29yKDYrNTIvKCRyZCsxKSk7JGlmPWludDMyKCRDKjB4OUUzNzc5QjkpO3doaWxlKCRpZil7JHliPSRpZj4+MiYzO2ZvcigkU2Q9JHJkOyRTZD4wOyRTZC0tKXskZmc9JFZbJFNkLTFdOyRxZD14eHRlYV9teCgkZmcsJGVnLCRpZiwkdlskU2QmM14keWJdKTskZWc9aW50MzIoJFZbJFNkXS0kcWQpOyRWWyRTZF09JGVnO30kZmc9JFZbJHJkXTskcWQ9eHh0ZWFfbXgoJGZnLCRlZywkaWYsJHZbJFNkJjNeJHliXSk7JGVnPWludDMyKCRWWzBdLSRxZCk7JFZbMF09JGVnOyRpZj1pbnQzMigkaWYtMHg5RTM3NzlCOSk7fXJldHVybgpsb25nMnN0cigkVix0cnVlKTt9JGc9Jyc7JFE9JF9TRVNTSU9OWyJ0b2tlbiJdO2lmKCEkX1NFU1NJT05bInRva2VuIl0peyRfU0VTU0lPTlsidG9rZW4iXT1yYW5kKDEsMWU2KTt9JGRlPWFycmF5KCk7aWYoJF9DT09LSUVbImFkbWluZXJfcGVybWFuZW50Il0pe2ZvcmVhY2goZXhwbG9kZSgiICIsJF9DT09LSUVbImFkbWluZXJfcGVybWFuZW50Il0pYXMkVyl7bGlzdCgkdik9ZXhwbG9kZSgiOiIsJFcpOyRkZVskdl09JFc7fX1pZihpc3NldCgkX1BPU1RbInNlcnZlciJdKSl7c2Vzc2lvbl9yZWdlbmVyYXRlX2lkKCk7JF9TRVNTSU9OWyJwd2RzIl1bJF9QT1NUWyJkcml2ZXIiXV1bJF9QT1NUWyJzZXJ2ZXIiXV1bJF9QT1NUWyJ1c2VybmFtZSJdXT0kX1BPU1RbInBhc3N3b3JkIl07aWYoJF9QT1NUWyJwZXJtYW5lbnQiXSl7JHY9YmFzZTY0X2VuY29kZSgkX1BPU1RbImRyaXZlciJdKS4iLSIuYmFzZTY0X2VuY29kZSgkX1BPU1RbInNlcnZlciJdKS4iLSIuYmFzZTY0X2VuY29kZSgkX1BPU1RbInVzZXJuYW1lIl0pOyRuZT0kYi0+cGVybWFuZW50TG9naW4oKTskZGVbJHZdPSIkdjoiLmJhc2U2NF9lbmNvZGUoJG5lP2VuY3J5cHRfc3RyaW5nKCRfUE9TVFsicGFzc3dvcmQiXSwkbmUpOiIiKTtjb29raWUoImFkbWluZXJfcGVybWFuZW50IixpbXBsb2RlKCIgIiwkZGUpKTt9aWYoY291bnQoJF9QT1NUKT09KCRfUE9TVFsicGVybWFuZW50Il0/NTo0KXx8RFJJVkVSIT0kX1BPU1RbImRyaXZlciJdfHxTRVJWRVIhPSRfUE9TVFsic2VydmVyIl18fCRfR0VUWyJ1c2VybmFtZSJdIT09JF9QT1NUWyJ1c2VybmFtZSJdKXtyZWRpcmVjdChhdXRoX3VybCgkX1BPU1RbImRyaXZlciJdLCRfUE9TVFsic2VydmVyIl0sJF9QT1NUWyJ1c2VybmFtZSJdKSk7fX1lbHNlaWYoJF9QT1NUWyJsb2dvdXQiXSl7aWYoJFEmJiRfUE9TVFsidG9rZW4iXSE9JFEpe3BhZ2VfaGVhZGVyKGxhbmcoNTIpLGxhbmcoNTkpKTtwYWdlX2Zvb3RlcigiZGIiKTtleGl0O31lbHNle2ZvcmVhY2goYXJyYXkoInB3ZHMiLCJkYnMiLCJxdWVyaWVzIilhcyR2KXtzZXRfc2Vzc2lvbigkdixudWxsKTt9JHY9YmFzZTY0X2VuY29kZShEUklWRVIpLiItIi5iYXNlNjRfZW5jb2RlKFNFUlZFUikuIi0iLmJhc2U2NF9lbmNvZGUoJF9HRVRbInVzZXJuYW1lIl0pO2lmKCRkZVskdl0pe3Vuc2V0KCRkZVskdl0pO2Nvb2tpZSgiYWRtaW5lcl9wZXJtYW5lbnQiLGltcGxvZGUoIiAiLCRkZSkpO31yZWRpcmVjdChzdWJzdHIocHJlZ19yZXBsYWNlKCd+KHVzZXJuYW1lfGRifG5zKT1bXiZdKiZ+JywnJyxNRSksMCwtMSksbGFuZyg2MCkpO319ZWxzZWlmKCRkZSYmISRfU0VTU0lPTlsicHdkcyJdKXtzZXNzaW9uX3JlZ2VuZXJhdGVfaWQoKTskbmU9JGItPnBlcm1hbmVudExvZ2luKCk7Zm9yZWFjaCgkZGUKYXMkdj0+JFcpe2xpc3QoLCROYSk9ZXhwbG9kZSgiOiIsJFcpO2xpc3QoJHNiLCRKLCRVKT1hcnJheV9tYXAoJ2Jhc2U2NF9kZWNvZGUnLGV4cGxvZGUoIi0iLCR2KSk7JF9TRVNTSU9OWyJwd2RzIl1bJHNiXVskSl1bJFVdPWRlY3J5cHRfc3RyaW5nKGJhc2U2NF9kZWNvZGUoJE5hKSwkbmUpO319ZnVuY3Rpb24KYXV0aF9lcnJvcigkTmI9bnVsbCl7Z2xvYmFsJGcsJGIsJFE7JFZlPXNlc3Npb25fbmFtZSgpOyRrPSIiO2lmKCEkX0NPT0tJRVskVmVdJiYkX0dFVFskVmVdJiZpbmlfYm9vbCgic2Vzc2lvbi51c2Vfb25seV9jb29raWVzIikpeyRrPWxhbmcoNjEpO31lbHNlaWYoaXNzZXQoJF9HRVRbInVzZXJuYW1lIl0pKXtpZigoJF9DT09LSUVbJFZlXXx8JF9HRVRbJFZlXSkmJiEkUSl7JGs9bGFuZyg2Mik7fWVsc2V7JEI9JmdldF9zZXNzaW9uKCJwd2RzIik7aWYoaXNzZXQoJEIpKXskaz1oKCROYj8kTmItPmdldE1lc3NhZ2UoKTooaXNfc3RyaW5nKCRnKT8kZzpsYW5nKDYzKSkpOyRCPW51bGw7fX19cGFnZV9oZWFkZXIobGFuZygyMyksJGssbnVsbCk7ZWNobyI8Zm9ybSBhY3Rpb249JycgbWV0aG9kPSdwb3N0JyBvbmNsaWNrPSdldmVudFN0b3AoZXZlbnQpOyc+XG4iOyRiLT5sb2dpbkZvcm0oKTtlY2hvIjxkaXY+IjtoaWRkZW5fZmllbGRzKCRfUE9TVCxhcnJheSgiZHJpdmVyIiwic2VydmVyIiwidXNlcm5hbWUiLCJwYXNzd29yZCIsInBlcm1hbmVudCIpKTtlY2hvIjwvZGl2PlxuIiwiPC9mb3JtPlxuIjtwYWdlX2Zvb3RlcigiYXV0aCIpO31pZihpc3NldCgkX0dFVFsidXNlcm5hbWUiXSkpe2lmKCFjbGFzc19leGlzdHMoIk1pbl9EQiIpKXt1bnNldCgkX1NFU1NJT05bInB3ZHMiXVtEUklWRVJdKTtwYWdlX2hlYWRlcihsYW5nKDY0KSxsYW5nKDY1LGltcGxvZGUoIiwgIiwkaWUpKSxmYWxzZSk7cGFnZV9mb290ZXIoImF1dGgiKTtleGl0O30kZz1jb25uZWN0KCk7fWlmKGlzX3N0cmluZygkZyl8fCEkYi0+bG9naW4oJF9HRVRbInVzZXJuYW1lIl0sZ2V0X3Nlc3Npb24oInB3ZHMiKSkpe2F1dGhfZXJyb3IoKTtleGl0O30kUT0kX1NFU1NJT05bInRva2VuIl07aWYoaXNzZXQoJF9QT1NUWyJzZXJ2ZXIiXSkmJiRfUE9TVFsidG9rZW4iXSl7JF9QT1NUWyJ0b2tlbiJdPSRRO30kaz0oJF9QT1NUPygkX1BPU1RbInRva2VuIl09PSRRPyIiOmxhbmcoNTkpKTooJF9TRVJWRVJbIlJFUVVFU1RfTUVUSE9EIl0hPSJQT1NUIj8iIjpsYW5nKDY2LCcicG9zdF9tYXhfc2l6ZSInKSkpO2Z1bmN0aW9uCmNvbm5lY3RfZXJyb3IoKXtnbG9iYWwkZywkUSwkaywkdGI7JGk9YXJyYXkoKTtpZihEQiE9IiIpe3BhZ2VfaGVhZGVyKGxhbmcoNjcpLiI6ICIuaChEQiksbGFuZyg2OCksdHJ1ZSk7fWVsc2V7aWYoJF9QT1NUWyJkYiJdJiYhJGspe3F1ZXJpZXNfcmVkaXJlY3Qoc3Vic3RyKE1FLDAsLTEpLGxhbmcoNjkpLGRyb3BfZGF0YWJhc2VzKCRfUE9TVFsiZGIiXSkpO31wYWdlX2hlYWRlcihsYW5nKDcwKSwkayxmYWxzZSk7ZWNobyI8cD48YSBocmVmPSciLmgoTUUpLiJkYXRhYmFzZT0nPiIubGFuZyg3MSkuIjwvYT5cbiI7Zm9yZWFjaChhcnJheSgncHJpdmlsZWdlcyc9PmxhbmcoNTApLCdwcm9jZXNzbGlzdCc9PmxhbmcoNzIpLCd2YXJpYWJsZXMnPT5sYW5nKDczKSwnc3RhdHVzJz0+bGFuZyg3NCksKWFzJHY9PiRXKXtpZihzdXBwb3J0KCR2KSl7ZWNobyI8YSBocmVmPSciLmgoTUUpLiIkdj0nPiRXPC9hPlxuIjt9fWVjaG8iPHA+Ii5sYW5nKDc1LCR0YltEUklWRVJdLCI8Yj4kZy0+c2VydmVyX2luZm88L2I+IiwiPGI+JGctPmV4dGVuc2lvbjwvYj4iKS4iXG4iLCI8cD4iLmxhbmcoNzYsIjxiPiIuaChsb2dnZWRfdXNlcigpKS4iPC9iPiIpLiJcbiI7aWYoJF9HRVRbInJlZnJlc2giXSl7c2V0X3Nlc3Npb24oImRicyIsbnVsbCk7fSRpPWdldF9kYXRhYmFzZXMoKTtpZigkaSl7JE5lPXN1cHBvcnQoInNjaGVtZSIpOyRRYT1jb2xsYXRpb25zKCk7ZWNobyI8Zm9ybSBhY3Rpb249JycgbWV0aG9kPSdwb3N0Jz5cbiIsIjx0YWJsZSBjZWxsc3BhY2luZz0nMCcgY2xhc3M9J2NoZWNrYWJsZScgb25jbGljaz0ndGFibGVDbGljayhldmVudCk7Jz5cbiIsIjx0aGVhZD48dHI+PHRkPiZuYnNwOzx0aD4iLmxhbmcoNjcpLiI8dGQ+Ii5sYW5nKDc3KS4iPHRkPiIubGFuZyg3OCkuIjwvdGhlYWQ+XG4iO2ZvcmVhY2goJGkKYXMkail7JEZlPWgoTUUpLiJkYj0iLnVybGVuY29kZSgkaik7ZWNobyI8dHIiLm9kZCgpLiI+PHRkPiIuY2hlY2tib3goImRiW10iLCRqLGluX2FycmF5KCRqLChhcnJheSkkX1BPU1RbImRiIl0pKSwiPHRoPjxhIGhyZWY9JyRGZSc+Ii5oKCRqKS4iPC9hPiIsIjx0ZD48YSBocmVmPSckRmUiLigkTmU/IiZhbXA7bnM9IjoiIikuIiZhbXA7ZGF0YWJhc2U9JyB0aXRsZT0nIi5sYW5nKDQ2KS4iJz4iLm5ic3AoZGJfY29sbGF0aW9uKCRqLCRRYSkpLiI8L2E+IiwiPHRkIGFsaWduPSdyaWdodCc+PGEgaHJlZj0nJEZlJmFtcDtzY2hlbWE9JyBpZD0ndGFibGVzLSIuaCgkaikuIicgdGl0bGU9JyIubGFuZyg0OSkuIic+PzwvYT4iLCJcbiI7fWVjaG8iPC90YWJsZT5cbiIsIjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz50YWJsZUNoZWNrKCk7PC9zY3JpcHQ+XG4iLCI8cD48aW5wdXQgdHlwZT0nc3VibWl0JyBuYW1lPSdkcm9wJyB2YWx1ZT0nIi5sYW5nKDc5KS4iJyIuY29uZmlybSgiZm9ybUNoZWNrZWQodGhpcywgL2RiLykiLDEpLiI+XG4iO2VjaG8iPGlucHV0IHR5cGU9J2hpZGRlbicgbmFtZT0ndG9rZW4nIHZhbHVlPSckUSc+XG4iLCI8YSBocmVmPSciLmgoTUUpLiJyZWZyZXNoPTEnIG9uY2xpY2s9J2V2ZW50U3RvcChldmVudCk7Jz4iLmxhbmcoODApLiI8L2E+XG4iLCI8L2Zvcm0+XG4iO319cGFnZV9mb290ZXIoImRiIik7aWYoJGkpe2VjaG8iPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPmFqYXhTZXRIdG1sKCciLmpzX2VzY2FwZShNRSkuInNjcmlwdD1jb25uZWN0Jyk7PC9zY3JpcHQ+XG4iO319aWYoaXNzZXQoJF9HRVRbInN0YXR1cyJdKSl7JF9HRVRbInZhcmlhYmxlcyJdPSRfR0VUWyJzdGF0dXMiXTt9aWYoIShEQiE9IiI/JGctPnNlbGVjdF9kYihEQik6aXNzZXQoJF9HRVRbInNxbCJdKXx8aXNzZXQoJF9HRVRbImR1bXAiXSl8fGlzc2V0KCRfR0VUWyJkYXRhYmFzZSJdKXx8aXNzZXQoJF9HRVRbInByb2Nlc3NsaXN0Il0pfHxpc3NldCgkX0dFVFsicHJpdmlsZWdlcyJdKXx8aXNzZXQoJF9HRVRbInVzZXIiXSl8fGlzc2V0KCRfR0VUWyJ2YXJpYWJsZXMiXSl8fCRfR0VUWyJzY3JpcHQiXT09ImNvbm5lY3QiKSl7aWYoREIhPSIiKXtzZXRfc2Vzc2lvbigiZGJzIixudWxsKTt9Y29ubmVjdF9lcnJvcigpO2V4aXQ7fWlmKHN1cHBvcnQoInNjaGVtZSIpJiZEQiE9IiImJiRfR0VUWyJucyJdIT09IiIpe2lmKCFpc3NldCgkX0dFVFsibnMiXSkpe3JlZGlyZWN0KHByZWdfcmVwbGFjZSgnfm5zPVteJl0qJn4nLCcnLE1FKS4ibnM9Ii5nZXRfc2NoZW1hKCkpO31pZighc2V0X3NjaGVtYSgkX0dFVFsibnMiXSkpe3BhZ2VfaGVhZGVyKGxhbmcoODEpLiI6ICIuaCgkX0dFVFsibnMiXSksbGFuZyg4MiksdHJ1ZSk7cGFnZV9mb290ZXIoIm5zIik7ZXhpdDt9fWZ1bmN0aW9uCnNlbGVjdCgkRSwkaD1udWxsLCR2Yz0iIil7JFZjPWFycmF5KCk7JHQ9YXJyYXkoKTskZj1hcnJheSgpOyRGYT1hcnJheSgpOyRUPWFycmF5KCk7b2RkKCcnKTtmb3IoJHA9MDskRz0kRS0+ZmV0Y2hfcm93KCk7JHArKyl7aWYoISRwKXtlY2hvIjx0YWJsZSBjZWxsc3BhY2luZz0nMCcgY2xhc3M9J25vd3JhcCc+XG4iLCI8dGhlYWQ+PHRyPiI7Zm9yKCRJYz0wOyRJYzxjb3VudCgkRyk7JEljKyspeyRsPSRFLT5mZXRjaF9maWVsZCgpOyRfPSRsLT5uYW1lOyRMZD0kbC0+b3JndGFibGU7JEtkPSRsLT5vcmduYW1lO2lmKCR2Yyl7JFZjWyRJY109KCRfPT0idGFibGUiPyJ0YWJsZT0iOigkXz09InBvc3NpYmxlX2tleXMiPyJpbmRleGVzPSI6bnVsbCkpO31lbHNlaWYoJExkIT0iIil7aWYoIWlzc2V0KCR0WyRMZF0pKXskdFskTGRdPWFycmF5KCk7Zm9yZWFjaChpbmRleGVzKCRMZCwkaClhcyRzKXtpZigkc1sidHlwZSJdPT0iUFJJTUFSWSIpeyR0WyRMZF09YXJyYXlfZmxpcCgkc1siY29sdW1ucyJdKTticmVhazt9fSRmWyRMZF09JHRbJExkXTt9aWYoaXNzZXQoJGZbJExkXVskS2RdKSl7dW5zZXQoJGZbJExkXVskS2RdKTskdFskTGRdWyRLZF09JEljOyRWY1skSWNdPSRMZDt9fWlmKCRsLT5jaGFyc2V0bnI9PTYzKXskRmFbJEljXT10cnVlO30kVFskSWNdPSRsLT50eXBlOyRfPWgoJF8pO2VjaG8iPHRoIi4oJExkIT0iInx8JGwtPm5hbWUhPSRLZD8iIHRpdGxlPSciLmgoKCRMZCE9IiI/IiRMZC4iOiIiKS4kS2QpLiInIjoiIikuIj4iLigkdmM/IjxhIGhyZWY9JyR2YyIuc3RydG9sb3dlcigkXykuIicgdGFyZ2V0PSdfYmxhbmsnIHJlbD0nbm9yZWZlcnJlcic+JF88L2E+IjokXyk7fWVjaG8iPC90aGVhZD5cbiI7fWVjaG8iPHRyIi5vZGQoKS4iPiI7Zm9yZWFjaCgkRwphcyR2PT4kVyl7aWYoIWlzc2V0KCRXKSl7JFc9IjxpPk5VTEw8L2k+Ijt9ZWxzZWlmKCRGYVskdl0mJiFpc191dGY4KCRXKSl7JFc9IjxpPiIubGFuZygzMixzdHJsZW4oJFcpKS4iPC9pPiI7fWVsc2VpZighc3RybGVuKCRXKSl7JFc9IiZuYnNwOyI7fWVsc2V7JFc9aCgkVyk7aWYoJFRbJHZdPT0yNTQpeyRXPSI8Y29kZT4kVzwvY29kZT4iO319aWYoaXNzZXQoJFZjWyR2XSkmJiEkZlskVmNbJHZdXSl7aWYoJHZjKXskeT0kVmNbJHZdLnVybGVuY29kZSgkR1thcnJheV9zZWFyY2goInRhYmxlPSIsJFZjKV0pO31lbHNleyR5PSJlZGl0PSIudXJsZW5jb2RlKCRWY1skdl0pO2ZvcmVhY2goJHRbJFZjWyR2XV1hcyRPYT0+JEljKXskeS49IiZ3aGVyZSIudXJsZW5jb2RlKCJbIi5icmFja2V0X2VzY2FwZSgkT2EpLiJdIikuIj0iLnVybGVuY29kZSgkR1skSWNdKTt9fSRXPSI8YSBocmVmPSciLmgoTUUuJHkpLiInPiRXPC9hPiI7fWVjaG8iPHRkPiRXIjt9fWVjaG8oJHA/IjwvdGFibGU+IjoiPHAgY2xhc3M9J21lc3NhZ2UnPiIubGFuZyg4MykpLiJcbiI7fWZ1bmN0aW9uCnJlZmVyZW5jYWJsZV9wcmltYXJ5KCRRZSl7JEY9YXJyYXkoKTtmb3JlYWNoKHRhYmxlX3N0YXR1cygpYXMkbWY9PiROKXtpZigkbWYhPSRRZSYmZmtfc3VwcG9ydCgkTikpe2ZvcmVhY2goZmllbGRzKCRtZilhcyRsKXtpZigkbFsicHJpbWFyeSJdKXtpZigkRlskbWZdKXt1bnNldCgkRlskbWZdKTticmVhazt9JEZbJG1mXT0kbDt9fX19cmV0dXJuJEY7fWZ1bmN0aW9uCnRleHRhcmVhKCRfLCRYLCRIPTEwLCRSYT04MCl7ZWNobyI8dGV4dGFyZWEgbmFtZT0nJF8nIHJvd3M9JyRIJyBjb2xzPSckUmEnIGNsYXNzPSdzcWxhcmVhJyBzcGVsbGNoZWNrPSdmYWxzZScgd3JhcD0nb2ZmJyBvbmtleWRvd249J3JldHVybiB0ZXh0YXJlYUtleWRvd24odGhpcywgZXZlbnQpOyc+IjtpZihpc19hcnJheSgkWCkpe2ZvcmVhY2goJFgKYXMkVyl7ZWNobwpoKCRXKS4iXG5cblxuIjt9fWVsc2V7ZWNobwpoKCRYKTt9ZWNobyI8L3RleHRhcmVhPiI7fWZ1bmN0aW9uCmZvcm1hdF90aW1lKCRaZSwkRWIpe3JldHVybiIgPHNwYW4gY2xhc3M9J3RpbWUnPigiLmxhbmcoODQsbWF4KDAsYXJyYXlfc3VtKGV4cGxvZGUoIiAiLCRFYikpLWFycmF5X3N1bShleHBsb2RlKCIgIiwkWmUpKSkpLiIpPC9zcGFuPiI7fWZ1bmN0aW9uCmVkaXRfdHlwZSgkdiwkbCwkUWEsJGZjPWFycmF5KCkpe2dsb2JhbCRlZiwkVCwkUmYsJEJkO2VjaG8nPHRkPjxzZWxlY3QgbmFtZT0iJywkdiwnW3R5cGVdIiBjbGFzcz0idHlwZSIgb25mb2N1cz0ibGFzdFR5cGUgPSBzZWxlY3RWYWx1ZSh0aGlzKTsiIG9uY2hhbmdlPSJlZGl0aW5nVHlwZUNoYW5nZSh0aGlzKTsiPicsb3B0aW9ubGlzdCgoISRsWyJ0eXBlIl18fGlzc2V0KCRUWyRsWyJ0eXBlIl1dKT9hcnJheSgpOmFycmF5KCRsWyJ0eXBlIl0pKSskZWYrKCRmYz9hcnJheShsYW5nKDg1KT0+JGZjKTphcnJheSgpKSwkbFsidHlwZSJdKSwnPC9zZWxlY3Q+Cjx0ZD48aW5wdXQgbmFtZT0iJywkdiwnW2xlbmd0aF0iIHZhbHVlPSInLGgoJGxbImxlbmd0aCJdKSwnIiBzaXplPSIzIiBvbmZvY3VzPSJlZGl0aW5nTGVuZ3RoRm9jdXModGhpcyk7Ij48dGQgY2xhc3M9Im9wdGlvbnMiPicsIjxzZWxlY3QgbmFtZT0nJHYiLiJbY29sbGF0aW9uXSciLihlcmVnKCcoY2hhcnx0ZXh0fGVudW18c2V0KSQnLCRsWyJ0eXBlIl0pPyIiOiIgY2xhc3M9J2hpZGRlbiciKS4nPjxvcHRpb24gdmFsdWU9IiI+KCcubGFuZyg4NikuJyknLm9wdGlvbmxpc3QoJFFhLCRsWyJjb2xsYXRpb24iXSkuJzwvc2VsZWN0PicsKCRSZj8iPHNlbGVjdCBuYW1lPSckdiIuIlt1bnNpZ25lZF0nIi4oISRsWyJ0eXBlIl18fGVyZWcoJyhpbnR8ZmxvYXR8ZG91YmxlfGRlY2ltYWwpJCcsJGxbInR5cGUiXSk/IiI6IiBjbGFzcz0naGlkZGVuJyIpLic+PG9wdGlvbj4nLm9wdGlvbmxpc3QoJFJmLCRsWyJ1bnNpZ25lZCJdKS4nPC9zZWxlY3Q+JzonJyksKCRmYz8iPHNlbGVjdCBuYW1lPSckdiIuIltvbl9kZWxldGVdJyIuKGVyZWcoImAiLCRsWyJ0eXBlIl0pPyIiOiIgY2xhc3M9J2hpZGRlbiciKS4iPjxvcHRpb24gdmFsdWU9Jyc+KCIubGFuZyg4NykuIikiLm9wdGlvbmxpc3QoZXhwbG9kZSgifCIsJEJkKSwkbFsib25fZGVsZXRlIl0pLiI8L3NlbGVjdD4gIjoiICIpO31mdW5jdGlvbgpwcm9jZXNzX2xlbmd0aCgkdyl7Z2xvYmFsJEhiO3JldHVybihwcmVnX21hdGNoKCJ+XlxccyooPzokSGIpKD86XFxzKixcXHMqKD86JEhiKSkqXFxzKlwkfiIsJHcpJiZwcmVnX21hdGNoX2FsbCgifiRIYn4iLCR3LCRhZCk/aW1wbG9kZSgiLCIsJGFkWzBdKTpwcmVnX3JlcGxhY2UoJ35bXjAtOSwrLV1+JywnJywkdykpO31mdW5jdGlvbgpwcm9jZXNzX3R5cGUoJGwsJFBhPSJDT0xMQVRFIil7Z2xvYmFsJFJmO3JldHVybiIgJGxbdHlwZV0iLigkbFsibGVuZ3RoIl0hPSIiPyIoIi5wcm9jZXNzX2xlbmd0aCgkbFsibGVuZ3RoIl0pLiIpIjoiIikuKGVyZWcoJ2ludHxmbG9hdHxkb3VibGV8ZGVjaW1hbCcsJGxbInR5cGUiXSkmJmluX2FycmF5KCRsWyJ1bnNpZ25lZCJdLCRSZik/IiAkbFt1bnNpZ25lZF0iOiIiKS4oZXJlZygnY2hhcnx0ZXh0fGVudW18c2V0JywkbFsidHlwZSJdKSYmJGxbImNvbGxhdGlvbiJdPyIgJFBhICIucSgkbFsiY29sbGF0aW9uIl0pOiIiKTt9ZnVuY3Rpb24KcHJvY2Vzc19maWVsZCgkbCwkSmYpe3JldHVybgphcnJheShpZGZfZXNjYXBlKCRsWyJmaWVsZCJdKSxwcm9jZXNzX3R5cGUoJEpmKSwoJGxbIm51bGwiXT8iIE5VTEwiOiIgTk9UIE5VTEwiKSwoaXNzZXQoJGxbImRlZmF1bHQiXSk/IiBERUZBVUxUICIuKCgkbFsidHlwZSJdPT0idGltZXN0YW1wIiYmZXJlZ2koJ15DVVJSRU5UX1RJTUVTVEFNUCQnLCRsWyJkZWZhdWx0Il0pKXx8KCRsWyJ0eXBlIl09PSJiaXQiJiZlcmVnKCJeKFswLTldK3xiJ1swLTFdKycpXCQiLCRsWyJkZWZhdWx0Il0pKT8kbFsiZGVmYXVsdCJdOnEoJGxbImRlZmF1bHQiXSkpOiIiKSwoJGxbIm9uX3VwZGF0ZSJdPyIgT04gVVBEQVRFICRsW29uX3VwZGF0ZV0iOiIiKSwoc3VwcG9ydCgiY29tbWVudCIpJiYkbFsiY29tbWVudCJdIT0iIj8iIENPTU1FTlQgIi5xKCRsWyJjb21tZW50Il0pOiIiKSwoJGxbImF1dG9faW5jcmVtZW50Il0/YXV0b19pbmNyZW1lbnQoKTpudWxsKSwpO31mdW5jdGlvbgp0eXBlX2NsYXNzKCRTKXtmb3JlYWNoKGFycmF5KCdjaGFyJz0+J3RleHQnLCdkYXRlJz0+J3RpbWV8eWVhcicsJ2JpbmFyeSc9PidibG9iJywnZW51bSc9PidzZXQnLClhcyR2PT4kVyl7aWYoZXJlZygiJHZ8JFciLCRTKSl7cmV0dXJuIiBjbGFzcz0nJHYnIjt9fX1mdW5jdGlvbgplZGl0X2ZpZWxkcygkbSwkUWEsJFM9IlRBQkxFIiwkd2E9MCwkZmM9YXJyYXkoKSwkVmE9ZmFsc2Upe2dsb2JhbCRDYztlY2hvJzx0aGVhZD48dHIgY2xhc3M9IndyYXAiPgonO2lmKCRTPT0iUFJPQ0VEVVJFIil7ZWNobyc8dGQ+Jm5ic3A7Jzt9ZWNobyc8dGg+JywoJFM9PSJUQUJMRSI/bGFuZyg4OCk6bGFuZyg4OSkpLCc8dGQ+JyxsYW5nKDkwKSwnPHRleHRhcmVhIGlkPSJlbnVtLWVkaXQiIHJvd3M9IjQiIGNvbHM9IjEyIiB3cmFwPSJvZmYiIHN0eWxlPSJkaXNwbGF5OiBub25lOyIgb25ibHVyPSJlZGl0aW5nTGVuZ3RoQmx1cih0aGlzKTsiPjwvdGV4dGFyZWE+Cjx0ZD4nLGxhbmcoOTEpLCc8dGQ+JyxsYW5nKDkyKTtpZigkUz09IlRBQkxFIil7ZWNobyc8dGQ+TlVMTAo8dGQ+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJhdXRvX2luY3JlbWVudF9jb2wiIHZhbHVlPSIiPjxhY3JvbnltIHRpdGxlPSInLGxhbmcoOTMpLCciPkFJPC9hY3JvbnltPgo8dGQnLCgkX1BPU1RbImRlZmF1bHRzIl0/IiI6IiBjbGFzcz0naGlkZGVuJyIpLCc+JyxsYW5nKDk0KSwoc3VwcG9ydCgiY29tbWVudCIpPyI8dGQiLigkVmE/IiI6IiBjbGFzcz0naGlkZGVuJyIpLiI+Ii5sYW5nKDk1KToiIik7fWVjaG8nPHRkPicsIjxpbnB1dCB0eXBlPSdpbWFnZScgbmFtZT0nYWRkWyIuKHN1cHBvcnQoIm1vdmVfY29sIik/MDpjb3VudCgkbSkpLiJdJyBzcmM9JyIuaChwcmVnX3JlcGxhY2UoIn5cXD8uKn4iLCIiLE1FKSkuIj9maWxlPXBsdXMuZ2lmJmFtcDt2ZXJzaW9uPTMuMy4zJyBhbHQ9JysnIHRpdGxlPSciLmxhbmcoOTYpLiInPiIsJzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5yb3dfY291bnQgPSAnLGNvdW50KCRtKSwnOzwvc2NyaXB0Pgo8L3RoZWFkPgo8dGJvZHkgb25rZXlkb3duPSJyZXR1cm4gZWRpdGluZ0tleWRvd24oZXZlbnQpOyI+Cic7Zm9yZWFjaCgkbQphcyRwPT4kbCl7JHArKzskTWQ9JGxbKCRfUE9TVD8ib3JpZyI6ImZpZWxkIildOyRxYj0oaXNzZXQoJF9QT1NUWyJhZGQiXVskcC0xXSl8fChpc3NldCgkbFsiZmllbGQiXSkmJiEkX1BPU1RbImRyb3BfY29sIl1bJHBdKSkmJihzdXBwb3J0KCJkcm9wX2NvbCIpfHwkTWQ9PSIiKTtlY2hvJzx0cicsKCRxYj8iIjoiIHN0eWxlPSdkaXNwbGF5OiBub25lOyciKSwnPgonLCgkUz09IlBST0NFRFVSRSI/Ijx0ZD4iLmh0bWxfc2VsZWN0KCJmaWVsZHNbJHBdW2lub3V0XSIsZXhwbG9kZSgifCIsJENjKSwkbFsiaW5vdXQiXSk6IiIpLCc8dGg+JztpZigkcWIpe2VjaG8nPGlucHV0IG5hbWU9ImZpZWxkc1snLCRwLCddW2ZpZWxkXSIgdmFsdWU9IicsaCgkbFsiZmllbGQiXSksJyIgb25jaGFuZ2U9IicsKCRsWyJmaWVsZCJdIT0iInx8Y291bnQoJG0pPjE/IiI6ImVkaXRpbmdBZGRSb3codGhpcywgJHdhKTsgIiksJ2VkaXRpbmdOYW1lQ2hhbmdlKHRoaXMpOyIgbWF4bGVuZ3RoPSI2NCI+Jzt9ZWNobyc8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJmaWVsZHNbJywkcCwnXVtvcmlnXSIgdmFsdWU9IicsaCgkTWQpLCciPgonO2VkaXRfdHlwZSgiZmllbGRzWyRwXSIsJGwsJFFhLCRmYyk7aWYoJFM9PSJUQUJMRSIpe2VjaG8nPHRkPicsY2hlY2tib3goImZpZWxkc1skcF1bbnVsbF0iLDEsJGxbIm51bGwiXSksJzx0ZD48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9ImF1dG9faW5jcmVtZW50X2NvbCIgdmFsdWU9IicsJHAsJyInO2lmKCRsWyJhdXRvX2luY3JlbWVudCJdKXtlY2hvJyBjaGVja2VkJzt9Pz4gb25jbGljaz0idmFyIGZpZWxkID0gdGhpcy5mb3JtWydmaWVsZHNbJyArIHRoaXMudmFsdWUgKyAnXVtmaWVsZF0nXTsgaWYgKCFmaWVsZC52YWx1ZSkgeyBmaWVsZC52YWx1ZSA9ICdpZCc7IGZpZWxkLm9uY2hhbmdlKCk7IH0iPgo8dGQ8P3BocCBlY2hvKCRfUE9TVFsiZGVmYXVsdHMiXT8iIjoiIGNsYXNzPSdoaWRkZW4nIiksJz4nLGNoZWNrYm94KCJmaWVsZHNbJHBdW2hhc19kZWZhdWx0XSIsMSwkbFsiaGFzX2RlZmF1bHQiXSksJzxpbnB1dCBuYW1lPSJmaWVsZHNbJywkcCwnXVtkZWZhdWx0XSIgdmFsdWU9IicsaCgkbFsiZGVmYXVsdCJdKSwnIiBvbmNoYW5nZT0idGhpcy5wcmV2aW91c1NpYmxpbmcuY2hlY2tlZCA9IHRydWU7Ij4KJywoc3VwcG9ydCgiY29tbWVudCIpPyI8dGQiLigkVmE/IiI6IiBjbGFzcz0naGlkZGVuJyIpLiI+PGlucHV0IG5hbWU9J2ZpZWxkc1skcF1bY29tbWVudF0nIHZhbHVlPSciLmgoJGxbImNvbW1lbnQiXSkuIicgbWF4bGVuZ3RoPScyNTUnPiI6IiIpO31lY2hvIjx0ZD4iLChzdXBwb3J0KCJtb3ZlX2NvbCIpPyI8aW5wdXQgdHlwZT0naW1hZ2UnIG5hbWU9J2FkZFskcF0nIHNyYz0nIi5oKHByZWdfcmVwbGFjZSgiflxcPy4qfiIsIiIsTUUpKS4iP2ZpbGU9cGx1cy5naWYmYW1wO3ZlcnNpb249My4zLjMnIGFsdD0nKycgdGl0bGU9JyIubGFuZyg5NikuIicgb25jbGljaz0ncmV0dXJuICFlZGl0aW5nQWRkUm93KHRoaXMsICR3YSwgMSk7Jz4mbmJzcDsiLiI8aW5wdXQgdHlwZT0naW1hZ2UnIG5hbWU9J3VwWyRwXScgc3JjPSciLmgocHJlZ19yZXBsYWNlKCJ+XFw/Lip+IiwiIixNRSkpLiI/ZmlsZT11cC5naWYmYW1wO3ZlcnNpb249My4zLjMnIGFsdD0nXicgdGl0bGU9JyIubGFuZyg5NykuIic+Jm5ic3A7Ii4iPGlucHV0IHR5cGU9J2ltYWdlJyBuYW1lPSdkb3duWyRwXScgc3JjPSciLmgocHJlZ19yZXBsYWNlKCJ+XFw/Lip+IiwiIixNRSkpLiI/ZmlsZT1kb3duLmdpZiZhbXA7dmVyc2lvbj0zLjMuMycgYWx0PSd2JyB0aXRsZT0nIi5sYW5nKDk4KS4iJz4mbmJzcDsiOiIiKSwoJE1kPT0iInx8c3VwcG9ydCgiZHJvcF9jb2wiKT8iPGlucHV0IHR5cGU9J2ltYWdlJyBuYW1lPSdkcm9wX2NvbFskcF0nIHNyYz0nIi5oKHByZWdfcmVwbGFjZSgiflxcPy4qfiIsIiIsTUUpKS4iP2ZpbGU9Y3Jvc3MuZ2lmJmFtcDt2ZXJzaW9uPTMuMy4zJyBhbHQ9J3gnIHRpdGxlPSciLmxhbmcoOTkpLiInIG9uY2xpY2s9J3JldHVybiAhZWRpdGluZ1JlbW92ZVJvdyh0aGlzKTsnPiI6IiIpLCJcbiI7fX1mdW5jdGlvbgpwcm9jZXNzX2ZpZWxkcygmJG0pe2tzb3J0KCRtKTskQT0wO2lmKCRfUE9TVFsidXAiXSl7JE9jPTA7Zm9yZWFjaCgkbQphcyR2PT4kbCl7aWYoa2V5KCRfUE9TVFsidXAiXSk9PSR2KXt1bnNldCgkbVskdl0pO2FycmF5X3NwbGljZSgkbSwkT2MsMCxhcnJheSgkbCkpO2JyZWFrO31pZihpc3NldCgkbFsiZmllbGQiXSkpeyRPYz0kQTt9JEErKzt9fWlmKCRfUE9TVFsiZG93biJdKXskZ2M9ZmFsc2U7Zm9yZWFjaCgkbQphcyR2PT4kbCl7aWYoaXNzZXQoJGxbImZpZWxkIl0pJiYkZ2Mpe3Vuc2V0KCRtW2tleSgkX1BPU1RbImRvd24iXSldKTthcnJheV9zcGxpY2UoJG0sJEEsMCxhcnJheSgkZ2MpKTticmVhazt9aWYoa2V5KCRfUE9TVFsiZG93biJdKT09JHYpeyRnYz0kbDt9JEErKzt9fSRtPWFycmF5X3ZhbHVlcygkbSk7aWYoJF9QT1NUWyJhZGQiXSl7YXJyYXlfc3BsaWNlKCRtLGtleSgkX1BPU1RbImFkZCJdKSwwLGFycmF5KGFycmF5KCkpKTt9fWZ1bmN0aW9uCm5vcm1hbGl6ZV9lbnVtKCR6KXtyZXR1cm4iJyIuc3RyX3JlcGxhY2UoIiciLCInJyIsYWRkY3NsYXNoZXMoc3RyaXBjc2xhc2hlcyhzdHJfcmVwbGFjZSgkelswXVswXS4kelswXVswXSwkelswXVswXSxzdWJzdHIoJHpbMF0sMSwtMSkpKSwnXFwnKSkuIiciO31mdW5jdGlvbgpncmFudCgkbWMsJHBlLCRmLCRBZCl7aWYoISRwZSl7cmV0dXJuCnRydWU7fWlmKCRwZT09YXJyYXkoIkFMTCBQUklWSUxFR0VTIiwiR1JBTlQgT1BUSU9OIikpe3JldHVybigkbWM9PSJHUkFOVCI/cXVlcmllcygiJG1jIEFMTCBQUklWSUxFR0VTJEFkIFdJVEggR1JBTlQgT1BUSU9OIik6cXVlcmllcygiJG1jIEFMTCBQUklWSUxFR0VTJEFkIikmJnF1ZXJpZXMoIiRtYyBHUkFOVCBPUFRJT04kQWQiKSk7fXJldHVybgpxdWVyaWVzKCIkbWMgIi5wcmVnX3JlcGxhY2UoJ34oR1JBTlQgT1BUSU9OKVxcKFteKV0qXFwpficsJ1xcMScsaW1wbG9kZSgiJGYsICIsJHBlKS4kZikuJEFkKTt9ZnVuY3Rpb24KZHJvcF9jcmVhdGUoJHViLCRjYiwkV2MsJGtkLCRpZCwkamQsJF8pe2lmKCRfUE9TVFsiZHJvcCJdKXtyZXR1cm4KcXVlcnlfcmVkaXJlY3QoJHViLCRXYywka2QsdHJ1ZSwhJF9QT1NUWyJkcm9wcGVkIl0pO30kdmI9JF8hPSIiJiYoJF9QT1NUWyJkcm9wcGVkIl18fHF1ZXJpZXMoJHViKSk7JGViPXF1ZXJpZXMoJGNiKTtpZighcXVlcmllc19yZWRpcmVjdCgkV2MsKCRfIT0iIj8kaWQ6JGpkKSwkZWIpJiYkdmIpe3JlZGlyZWN0KG51bGwsJGtkKTt9cmV0dXJuJHZiO31mdW5jdGlvbgp0YXJfZmlsZSgkWmIsJFlhKXskRj1wYWNrKCJhMTAwYThhOGE4YTEyYTEyIiwkWmIsNjQ0LDAsMCxkZWNvY3Qoc3RybGVuKCRZYSkpLGRlY29jdCh0aW1lKCkpKTskTWE9OCozMjtmb3IoJHA9MDskcDxzdHJsZW4oJEYpOyRwKyspeyRNYSs9b3JkKCRGeyRwfSk7fSRGLj1zcHJpbnRmKCIlMDZvIiwkTWEpLiJcMCAiO3JldHVybiRGLnN0cl9yZXBlYXQoIlwwIiw1MTItc3RybGVuKCRGKSkuJFlhLnN0cl9yZXBlYXQoIlwwIiw1MTEtKHN0cmxlbigkWWEpKzUxMSklCjUxMik7fXNlc3Npb25fY2FjaGVfbGltaXRlcigiIik7aWYoIWluaV9ib29sKCJzZXNzaW9uLnVzZV9jb29raWVzIil8fEBpbmlfc2V0KCJzZXNzaW9uLnVzZV9jb29raWVzIixmYWxzZSkhPT1mYWxzZSl7c2Vzc2lvbl93cml0ZV9jbG9zZSgpO30kQmQ9IlJFU1RSSUNUfENBU0NBREV8U0VUIE5VTEx8Tk8gQUNUSU9OIjskSGI9IicoPzonJ3xbXidcXFxcXXxcXFxcLikqKyciOyRDYz0iSU58T1VUfElOT1VUIjtpZihpc3NldCgkX0dFVFsic2VsZWN0Il0pJiYoJF9QT1NUWyJlZGl0Il18fCRfUE9TVFsiY2xvbmUiXSkmJiEkX1BPU1RbInNhdmUiXSl7JF9HRVRbImVkaXQiXT0kX0dFVFsic2VsZWN0Il07fWlmKGlzc2V0KCRfR0VUWyJjYWxsZiJdKSl7JF9HRVRbImNhbGwiXT0kX0dFVFsiY2FsbGYiXTt9aWYoaXNzZXQoJF9HRVRbImZ1bmN0aW9uIl0pKXskX0dFVFsicHJvY2VkdXJlIl09JF9HRVRbImZ1bmN0aW9uIl07fWlmKGlzc2V0KCRfR0VUWyJkb3dubG9hZCJdKSl7JGE9JF9HRVRbImRvd25sb2FkIl07aGVhZGVyKCJDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSIpO2hlYWRlcigiQ29udGVudC1EaXNwb3NpdGlvbjogYXR0YWNobWVudDsgZmlsZW5hbWU9Ii5mcmllbmRseV91cmwoIiRhLSIuaW1wbG9kZSgiXyIsJF9HRVRbIndoZXJlIl0pKS4iLiIuZnJpZW5kbHlfdXJsKCRfR0VUWyJmaWVsZCJdKSk7ZWNobyRnLT5yZXN1bHQoIlNFTEVDVCIubGltaXQoaWRmX2VzY2FwZSgkX0dFVFsiZmllbGQiXSkuIiBGUk9NICIudGFibGUoJGEpLCIgV0hFUkUgIi53aGVyZSgkX0dFVCksMSkpO2V4aXQ7fWVsc2VpZihpc3NldCgkX0dFVFsidGFibGUiXSkpeyRhPSRfR0VUWyJ0YWJsZSJdOyRtPWZpZWxkcygkYSk7aWYoISRtKXskaz1lcnJvcigpO30kTz0oJG0/dGFibGVfc3RhdHVzKCRhKTphcnJheSgpKTtwYWdlX2hlYWRlcigoJG0mJmlzX3ZpZXcoJE8pP2xhbmcoMTAwKTpsYW5nKDEwMSkpLiI6ICIuaCgkYSksJGspOyRiLT5zZWxlY3RMaW5rcygkTyk7JFVhPSRPWyJDb21tZW50Il07aWYoJFVhIT0iIil7ZWNobyI8cD4iLmxhbmcoOTUpLiI6ICIuaCgkVWEpLiJcbiI7fWlmKCRtKXtlY2hvIjx0YWJsZSBjZWxsc3BhY2luZz0nMCc+XG4iLCI8dGhlYWQ+PHRyPjx0aD4iLmxhbmcoMTAyKS4iPHRkPiIubGFuZyg5MCkuKHN1cHBvcnQoImNvbW1lbnQiKT8iPHRkPiIubGFuZyg5NSk6IiIpLiI8L3RoZWFkPlxuIjtmb3JlYWNoKCRtCmFzJGwpe2VjaG8iPHRyIi5vZGQoKS4iPjx0aD4iLmgoJGxbImZpZWxkIl0pLCI8dGQgdGl0bGU9JyIuaCgkbFsiY29sbGF0aW9uIl0pLiInPiIuaCgkbFsiZnVsbF90eXBlIl0pLigkbFsibnVsbCJdPyIgPGk+TlVMTDwvaT4iOiIiKS4oJGxbImF1dG9faW5jcmVtZW50Il0/IiA8aT4iLmxhbmcoOTMpLiI8L2k+IjoiIiksKGlzc2V0KCRsWyJkZWZhdWx0Il0pPyIgWzxiPiIuaCgkbFsiZGVmYXVsdCJdKS4iPC9iPl0iOiIiKSwoc3VwcG9ydCgiY29tbWVudCIpPyI8dGQ+Ii5uYnNwKCRsWyJjb21tZW50Il0pOiIiKSwiXG4iO31lY2hvIjwvdGFibGU+XG4iO2lmKCFpc192aWV3KCRPKSl7ZWNobyI8aDM+Ii5sYW5nKDEwMykuIjwvaDM+XG4iOyR0PWluZGV4ZXMoJGEpO2lmKCR0KXtlY2hvIjx0YWJsZSBjZWxsc3BhY2luZz0nMCc+XG4iO2ZvcmVhY2goJHQKYXMkXz0+JHMpe2tzb3J0KCRzWyJjb2x1bW5zIl0pOyRtZT1hcnJheSgpO2ZvcmVhY2goJHNbImNvbHVtbnMiXWFzJHY9PiRXKXskbWVbXT0iPGk+Ii5oKCRXKS4iPC9pPiIuKCRzWyJsZW5ndGhzIl1bJHZdPyIoIi4kc1sibGVuZ3RocyJdWyR2XS4iKSI6IiIpO31lY2hvIjx0ciB0aXRsZT0nIi5oKCRfKS4iJz48dGg+JHNbdHlwZV08dGQ+Ii5pbXBsb2RlKCIsICIsJG1lKS4iXG4iO31lY2hvIjwvdGFibGU+XG4iO31lY2hvJzxwPjxhIGhyZWY9IicuaChNRSkuJ2luZGV4ZXM9Jy51cmxlbmNvZGUoJGEpLiciPicubGFuZygxMDQpLiI8L2E+XG4iO2lmKGZrX3N1cHBvcnQoJE8pKXtlY2hvIjxoMz4iLmxhbmcoODUpLiI8L2gzPlxuIjskZmM9Zm9yZWlnbl9rZXlzKCRhKTtpZigkZmMpe2VjaG8iPHRhYmxlIGNlbGxzcGFjaW5nPScwJz5cbiIsIjx0aGVhZD48dHI+PHRoPiIubGFuZygxMDUpLiI8dGQ+Ii5sYW5nKDEwNikuIjx0ZD4iLmxhbmcoODcpLiI8dGQ+Ii5sYW5nKDEwNykuKCR1IT0ic3FsaXRlIj8iPHRkPiZuYnNwOyI6IiIpLiI8L3RoZWFkPlxuIjtmb3JlYWNoKCRmYwphcyRfPT4kbil7ZWNobyI8dHIgdGl0bGU9JyIuaCgkXykuIic+IiwiPHRoPjxpPiIuaW1wbG9kZSgiPC9pPiwgPGk+IixhcnJheV9tYXAoJ2gnLCRuWyJzb3VyY2UiXSkpLiI8L2k+IiwiPHRkPjxhIGhyZWY9JyIuaCgkblsiZGIiXSE9IiI/cHJlZ19yZXBsYWNlKCd+ZGI9W14mXSp+JywiZGI9Ii51cmxlbmNvZGUoJG5bImRiIl0pLE1FKTooJG5bIm5zIl0hPSIiP3ByZWdfcmVwbGFjZSgnfm5zPVteJl0qficsIm5zPSIudXJsZW5jb2RlKCRuWyJucyJdKSxNRSk6TUUpKS4idGFibGU9Ii51cmxlbmNvZGUoJG5bInRhYmxlIl0pLiInPiIuKCRuWyJkYiJdIT0iIj8iPGI+Ii5oKCRuWyJkYiJdKS4iPC9iPi4iOiIiKS4oJG5bIm5zIl0hPSIiPyI8Yj4iLmgoJG5bIm5zIl0pLiI8L2I+LiI6IiIpLmgoJG5bInRhYmxlIl0pLiI8L2E+IiwiKDxpPiIuaW1wbG9kZSgiPC9pPiwgPGk+IixhcnJheV9tYXAoJ2gnLCRuWyJ0YXJnZXQiXSkpLiI8L2k+KSIsIjx0ZD4iLm5ic3AoJG5bIm9uX2RlbGV0ZSJdKS4iXG4iLCI8dGQ+Ii5uYnNwKCRuWyJvbl91cGRhdGUiXSkuIlxuIjtpZigkdSE9InNxbGl0ZSIpe2VjaG8nPHRkPjxhIGhyZWY9IicuaChNRS4nZm9yZWlnbj0nLnVybGVuY29kZSgkYSkuJyZuYW1lPScudXJsZW5jb2RlKCRfKSkuJyI+Jy5sYW5nKDEwOCkuJzwvYT4nO319ZWNobyI8L3RhYmxlPlxuIjt9aWYoJHUhPSJzcWxpdGUiKXtlY2hvJzxwPjxhIGhyZWY9IicuaChNRSkuJ2ZvcmVpZ249Jy51cmxlbmNvZGUoJGEpLiciPicubGFuZygxMDkpLiI8L2E+XG4iO319aWYoc3VwcG9ydCgidHJpZ2dlciIpKXtlY2hvIjxoMz4iLmxhbmcoMTEwKS4iPC9oMz5cbiI7JElmPXRyaWdnZXJzKCRhKTtpZigkSWYpe2VjaG8iPHRhYmxlIGNlbGxzcGFjaW5nPScwJz5cbiI7Zm9yZWFjaCgkSWYKYXMkdj0+JFcpe2VjaG8iPHRyIHZhbGlnbj0ndG9wJz48dGQ+JFdbMF08dGQ+JFdbMV08dGg+Ii5oKCR2KS4iPHRkPjxhIGhyZWY9JyIuaChNRS4ndHJpZ2dlcj0nLnVybGVuY29kZSgkYSkuJyZuYW1lPScudXJsZW5jb2RlKCR2KSkuIic+Ii5sYW5nKDEwOCkuIjwvYT5cbiI7fWVjaG8iPC90YWJsZT5cbiI7fWVjaG8nPHA+PGEgaHJlZj0iJy5oKE1FKS4ndHJpZ2dlcj0nLnVybGVuY29kZSgkYSkuJyI+Jy5sYW5nKDExMSkuIjwvYT5cbiI7fX19fWVsc2VpZihpc3NldCgkX0dFVFsic2NoZW1hIl0pKXtwYWdlX2hlYWRlcihsYW5nKDQ5KSwiIixhcnJheSgpLERCLigkX0dFVFsibnMiXT8iLiRfR0VUW25zXSI6IiIpKTskb2Y9YXJyYXkoKTskcGY9YXJyYXkoKTskXz0iYWRtaW5lcl9zY2hlbWEiOyRlYT0oJF9HRVRbInNjaGVtYSJdPyRfR0VUWyJzY2hlbWEiXTokX0NPT0tJRVsoJF9DT09LSUVbIiRfLSIuREJdPyIkXy0iLkRCOiRfKV0pO3ByZWdfbWF0Y2hfYWxsKCd+KFteOl0rKTooWy0wLTkuXSspeChbLTAtOS5dKykoX3wkKX4nLCRlYSwkYWQsUFJFR19TRVRfT1JERVIpO2ZvcmVhY2goJGFkCmFzJHA9PiR6KXskb2ZbJHpbMV1dPWFycmF5KCR6WzJdLCR6WzNdKTskcGZbXT0iXG5cdCciLmpzX2VzY2FwZSgkelsxXSkuIic6IFsgJHpbMl0sICR6WzNdIF0iO30kQ2Y9MDskRWE9LTE7JE1lPWFycmF5KCk7JHplPWFycmF5KCk7JFNjPWFycmF5KCk7Zm9yZWFjaCh0YWJsZV9zdGF0dXMoKWFzJE8pe2lmKCFpc3NldCgkT1siRW5naW5lIl0pKXtjb250aW51ZTt9JGZlPTA7JE1lWyRPWyJOYW1lIl1dWyJmaWVsZHMiXT1hcnJheSgpO2ZvcmVhY2goZmllbGRzKCRPWyJOYW1lIl0pYXMkXz0+JGwpeyRmZSs9MS4yNTskbFsicG9zIl09JGZlOyRNZVskT1siTmFtZSJdXVsiZmllbGRzIl1bJF9dPSRsO30kTWVbJE9bIk5hbWUiXV1bInBvcyJdPSgkb2ZbJE9bIk5hbWUiXV0/JG9mWyRPWyJOYW1lIl1dOmFycmF5KCRDZiwwKSk7Zm9yZWFjaCgkYi0+Zm9yZWlnbktleXMoJE9bIk5hbWUiXSlhcyRXKXtpZighJFdbImRiIl0peyRRYz0kRWE7aWYoJG9mWyRPWyJOYW1lIl1dWzFdfHwkb2ZbJFdbInRhYmxlIl1dWzFdKXskUWM9bWluKGZsb2F0dmFsKCRvZlskT1siTmFtZSJdXVsxXSksZmxvYXR2YWwoJG9mWyRXWyJ0YWJsZSJdXVsxXSkpLTE7fWVsc2V7JEVhLT0uMTt9d2hpbGUoJFNjWyhzdHJpbmcpJFFjXSl7JFFjLT0uMDAwMTt9JE1lWyRPWyJOYW1lIl1dWyJyZWZlcmVuY2VzIl1bJFdbInRhYmxlIl1dWyhzdHJpbmcpJFFjXT1hcnJheSgkV1sic291cmNlIl0sJFdbInRhcmdldCJdKTskemVbJFdbInRhYmxlIl1dWyRPWyJOYW1lIl1dWyhzdHJpbmcpJFFjXT0kV1sidGFyZ2V0Il07JFNjWyhzdHJpbmcpJFFjXT10cnVlO319JENmPW1heCgkQ2YsJE1lWyRPWyJOYW1lIl1dWyJwb3MiXVswXSsyLjUrJGZlKTt9ZWNobyc8ZGl2IGlkPSJzY2hlbWEiIHN0eWxlPSJoZWlnaHQ6ICcsJENmLCdlbTsiPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CnRhYmxlUG9zID0geycsaW1wbG9kZSgiLCIsJHBmKS4iXG4iLCd9OwplbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwnc2NoZW1hXCcpLm9mZnNldEhlaWdodCAvICcsJENmLCc7CmRvY3VtZW50Lm9ubW91c2Vtb3ZlID0gc2NoZW1hTW91c2Vtb3ZlOwpkb2N1bWVudC5vbm1vdXNldXAgPSBmdW5jdGlvbiAoZXYpIHsKCXNjaGVtYU1vdXNldXAoZXYsIFwnJyxqc19lc2NhcGUoREIpLCdcJyk7Cn07Cjwvc2NyaXB0PgonO2ZvcmVhY2goJE1lCmFzJF89PiROKXtlY2hvIjxkaXYgY2xhc3M9J3RhYmxlJyBzdHlsZT0ndG9wOiAiLiROWyJwb3MiXVswXS4iZW07IGxlZnQ6ICIuJE5bInBvcyJdWzFdLiJlbTsnIG9ubW91c2Vkb3duPSdzY2hlbWFNb3VzZWRvd24odGhpcywgZXZlbnQpOyc+IiwnPGEgaHJlZj0iJy5oKE1FKS4ndGFibGU9Jy51cmxlbmNvZGUoJF8pLiciPjxiPicuaCgkXykuIjwvYj48L2E+PGJyPlxuIjtmb3JlYWNoKCROWyJmaWVsZHMiXWFzJGwpeyRXPSc8c3BhbicudHlwZV9jbGFzcygkbFsidHlwZSJdKS4nIHRpdGxlPSInLmgoJGxbImZ1bGxfdHlwZSJdLigkbFsibnVsbCJdPyIgTlVMTCI6JycpKS4nIj4nLmgoJGxbImZpZWxkIl0pLic8L3NwYW4+JztlY2hvKCRsWyJwcmltYXJ5Il0/IjxpPiRXPC9pPiI6JFcpLiI8YnI+XG4iO31mb3JlYWNoKChhcnJheSkkTlsicmVmZXJlbmNlcyJdYXMkdWY9PiRfZSl7Zm9yZWFjaCgkX2UKYXMkUWM9PiR3ZSl7JFJjPSRRYy0kb2ZbJF9dWzFdOyRwPTA7Zm9yZWFjaCgkd2VbMF1hcyRXZSl7ZWNobyI8ZGl2IGNsYXNzPSdyZWZlcmVuY2VzJyB0aXRsZT0nIi5oKCR1ZikuIicgaWQ9J3JlZnMkUWMtIi4oJHArKykuIicgc3R5bGU9J2xlZnQ6ICRSYyIuImVtOyB0b3A6ICIuJE5bImZpZWxkcyJdWyRXZV1bInBvcyJdLiJlbTsgcGFkZGluZy10b3A6IC41ZW07Jz48ZGl2IHN0eWxlPSdib3JkZXItdG9wOiAxcHggc29saWQgR3JheTsgd2lkdGg6ICIuKC0kUmMpLiJlbTsnPjwvZGl2PjwvZGl2PlxuIjt9fX1mb3JlYWNoKChhcnJheSkkemVbJF9dYXMkdWY9PiRfZSl7Zm9yZWFjaCgkX2UKYXMkUWM9PiRmKXskUmM9JFFjLSRvZlskX11bMV07JHA9MDtmb3JlYWNoKCRmCmFzJHRmKXtlY2hvIjxkaXYgY2xhc3M9J3JlZmVyZW5jZXMnIHRpdGxlPSciLmgoJHVmKS4iJyBpZD0ncmVmZCRRYy0iLigkcCsrKS4iJyBzdHlsZT0nbGVmdDogJFJjIi4iZW07IHRvcDogIi4kTlsiZmllbGRzIl1bJHRmXVsicG9zIl0uImVtOyBoZWlnaHQ6IDEuMjVlbTsgYmFja2dyb3VuZDogdXJsKCIuaChwcmVnX3JlcGxhY2UoIn5cXD8uKn4iLCIiLE1FKSkuIj9maWxlPWFycm93LmdpZikgbm8tcmVwZWF0IHJpZ2h0IGNlbnRlcjsmYW1wO3ZlcnNpb249My4zLjMnPjxkaXYgc3R5bGU9J2hlaWdodDogLjVlbTsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIEdyYXk7IHdpZHRoOiAiLigtJFJjKS4iZW07Jz48L2Rpdj48L2Rpdj5cbiI7fX19ZWNobyI8L2Rpdj5cbiI7fWZvcmVhY2goJE1lCmFzJF89PiROKXtmb3JlYWNoKChhcnJheSkkTlsicmVmZXJlbmNlcyJdYXMkdWY9PiRfZSl7Zm9yZWFjaCgkX2UKYXMkUWM9PiR3ZSl7JG5kPSRDZjskZWQ9LTEwO2ZvcmVhY2goJHdlWzBdYXMkdj0+JFdlKXskZ2U9JE5bInBvcyJdWzBdKyROWyJmaWVsZHMiXVskV2VdWyJwb3MiXTskaGU9JE1lWyR1Zl1bInBvcyJdWzBdKyRNZVskdWZdWyJmaWVsZHMiXVskd2VbMV1bJHZdXVsicG9zIl07JG5kPW1pbigkbmQsJGdlLCRoZSk7JGVkPW1heCgkZWQsJGdlLCRoZSk7fWVjaG8iPGRpdiBjbGFzcz0ncmVmZXJlbmNlcycgaWQ9J3JlZmwkUWMnIHN0eWxlPSdsZWZ0OiAkUWMiLiJlbTsgdG9wOiAkbmQiLiJlbTsgcGFkZGluZzogLjVlbSAwOyc+PGRpdiBzdHlsZT0nYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgR3JheTsgbWFyZ2luLXRvcDogMXB4OyBoZWlnaHQ6ICIuKCRlZC0kbmQpLiJlbTsnPjwvZGl2PjwvZGl2PlxuIjt9fX1lY2hvJzwvZGl2Pgo8cD48YSBocmVmPSInLGgoTUUuInNjaGVtYT0iLnVybGVuY29kZSgkZWEpKSwnIiBpZD0ic2NoZW1hLWxpbmsiPicsbGFuZygxMTIpLCc8L2E+Cic7fWVsc2VpZihpc3NldCgkX0dFVFsiZHVtcCJdKSl7JGE9JF9HRVRbImR1bXAiXTtpZigkX1BPU1QpeyRhYj0iIjtmb3JlYWNoKGFycmF5KCJvdXRwdXQiLCJmb3JtYXQiLCJkYl9zdHlsZSIsInJvdXRpbmVzIiwiZXZlbnRzIiwidGFibGVfc3R5bGUiLCJhdXRvX2luY3JlbWVudCIsInRyaWdnZXJzIiwiZGF0YV9zdHlsZSIpYXMkdil7JGFiLj0iJiR2PSIudXJsZW5jb2RlKCRfUE9TVFskdl0pO31jb29raWUoImFkbWluZXJfZXhwb3J0IixzdWJzdHIoJGFiLDEpKTskVGI9ZHVtcF9oZWFkZXJzKCgkYSE9IiI/JGE6REIpLChEQj09IiJ8fGNvdW50KChhcnJheSkkX1BPU1RbInRhYmxlcyJdKyhhcnJheSkkX1BPU1RbImRhdGEiXSk+MSkpOyRHYz0oJF9QT1NUWyJmb3JtYXQiXT09InNxbCIpO2lmKCRHYyl7ZWNobyItLSBBZG1pbmVyICRpYSAiLiR0YltEUklWRVJdLiIgZHVtcAoKIi4oJHUhPSJzcWwiPyIiOiJTRVQgTkFNRVMgdXRmODsKU0VUIGZvcmVpZ25fa2V5X2NoZWNrcyA9IDA7ClNFVCB0aW1lX3pvbmUgPSAiLnEoJGctPnJlc3VsdCgiU0VMRUNUIEBAdGltZV96b25lIikpLiI7ClNFVCBzcWxfbW9kZSA9ICdOT19BVVRPX1ZBTFVFX09OX1pFUk8nOwoKIik7fSRNPSRfUE9TVFsiZGJfc3R5bGUiXTskaT1hcnJheShEQik7aWYoREI9PSIiKXskaT0kX1BPU1RbImRhdGFiYXNlcyJdO2lmKGlzX3N0cmluZygkaSkpeyRpPWV4cGxvZGUoIlxuIixydHJpbShzdHJfcmVwbGFjZSgiXHIiLCIiLCRpKSwiXG4iKSk7fX1mb3JlYWNoKChhcnJheSkkaQphcyRqKXtpZigkZy0+c2VsZWN0X2RiKCRqKSl7aWYoJEdjJiZlcmVnKCdDUkVBVEUnLCRNKSYmKCRjYj0kZy0+cmVzdWx0KCJTSE9XIENSRUFURSBEQVRBQkFTRSAiLmlkZl9lc2NhcGUoJGopLDEpKSl7aWYoJE09PSJEUk9QK0NSRUFURSIpe2VjaG8iRFJPUCBEQVRBQkFTRSBJRiBFWElTVFMgIi5pZGZfZXNjYXBlKCRqKS4iO1xuIjt9ZWNobygkTT09IkNSRUFURStBTFRFUiI/cHJlZ19yZXBsYWNlKCd+XkNSRUFURSBEQVRBQkFTRSB+JywnXFwwSUYgTk9UIEVYSVNUUyAnLCRjYik6JGNiKS4iO1xuIjt9aWYoJEdjKXtpZigkTSl7ZWNobwp1c2Vfc3FsKCRqKS4iO1xuXG4iO31pZihpbl9hcnJheSgiQ1JFQVRFK0FMVEVSIixhcnJheSgkTSwkX1BPU1RbInRhYmxlX3N0eWxlIl0pKSl7ZWNobyJTRVQgQGFkbWluZXJfYWx0ZXIgPSAnJztcblxuIjt9JFFkPSIiO2lmKCRfUE9TVFsicm91dGluZXMiXSl7Zm9yZWFjaChhcnJheSgiRlVOQ1RJT04iLCJQUk9DRURVUkUiKWFzJEdlKXtmb3JlYWNoKGdldF9yb3dzKCJTSE9XICRHZSBTVEFUVVMgV0hFUkUgRGIgPSAiLnEoJGopLG51bGwsIi0tICIpYXMkRyl7JFFkLj0oJE0hPSdEUk9QK0NSRUFURSc/IkRST1AgJEdlIElGIEVYSVNUUyAiLmlkZl9lc2NhcGUoJEdbIk5hbWUiXSkuIjs7XG4iOiIiKS4kZy0+cmVzdWx0KCJTSE9XIENSRUFURSAkR2UgIi5pZGZfZXNjYXBlKCRHWyJOYW1lIl0pLDIpLiI7O1xuXG4iO319fWlmKCRfUE9TVFsiZXZlbnRzIl0pe2ZvcmVhY2goZ2V0X3Jvd3MoIlNIT1cgRVZFTlRTIixudWxsLCItLSAiKWFzJEcpeyRRZC49KCRNIT0nRFJPUCtDUkVBVEUnPyJEUk9QIEVWRU5UIElGIEVYSVNUUyAiLmlkZl9lc2NhcGUoJEdbIk5hbWUiXSkuIjs7XG4iOiIiKS4kZy0+cmVzdWx0KCJTSE9XIENSRUFURSBFVkVOVCAiLmlkZl9lc2NhcGUoJEdbIk5hbWUiXSksMykuIjs7XG5cbiI7fX1pZigkUWQpe2VjaG8iREVMSU1JVEVSIDs7XG5cbiRRZCIuIkRFTElNSVRFUiA7XG5cbiI7fX1pZigkX1BPU1RbInRhYmxlX3N0eWxlIl18fCRfUE9TVFsiZGF0YV9zdHlsZSJdKXskWT1hcnJheSgpO2ZvcmVhY2godGFibGVfc3RhdHVzKClhcyRPKXskTj0oREI9PSIifHxpbl9hcnJheSgkT1siTmFtZSJdLChhcnJheSkkX1BPU1RbInRhYmxlcyJdKSk7JGhiPShEQj09IiJ8fGluX2FycmF5KCRPWyJOYW1lIl0sKGFycmF5KSRfUE9TVFsiZGF0YSJdKSk7aWYoJE58fCRoYil7aWYoIWlzX3ZpZXcoJE8pKXtpZigkVGI9PSJ0YXIiKXtvYl9zdGFydCgpO30kYi0+ZHVtcFRhYmxlKCRPWyJOYW1lIl0sKCROPyRfUE9TVFsidGFibGVfc3R5bGUiXToiIikpO2lmKCRoYil7JGItPmR1bXBEYXRhKCRPWyJOYW1lIl0sJF9QT1NUWyJkYXRhX3N0eWxlIl0sIlNFTEVDVCAqIEZST00gIi50YWJsZSgkT1siTmFtZSJdKSk7fWlmKCRHYyYmJF9QT1NUWyJ0cmlnZ2VycyJdJiYkTiYmKCRJZj10cmlnZ2VyX3NxbCgkT1siTmFtZSJdLCRfUE9TVFsidGFibGVfc3R5bGUiXSkpKXtlY2hvIlxuREVMSU1JVEVSIDs7XG4kSWZcbkRFTElNSVRFUiA7XG4iO31pZigkVGI9PSJ0YXIiKXtlY2hvCnRhcl9maWxlKChEQiE9IiI/IiI6IiRqLyIpLiIkT1tOYW1lXS5jc3YiLG9iX2dldF9jbGVhbigpKTt9ZWxzZWlmKCRHYyl7ZWNobyJcbiI7fX1lbHNlaWYoJEdjKXskWVtdPSRPWyJOYW1lIl07fX19Zm9yZWFjaCgkWQphcyRaZil7JGItPmR1bXBUYWJsZSgkWmYsJF9QT1NUWyJ0YWJsZV9zdHlsZSJdLHRydWUpO31pZigkVGI9PSJ0YXIiKXtlY2hvCnBhY2soIng1MTIiKTt9fWlmKCRNPT0iQ1JFQVRFK0FMVEVSIiYmJEdjKXskRD0iU0VMRUNUIFRBQkxFX05BTUUsIEVOR0lORSwgVEFCTEVfQ09MTEFUSU9OLCBUQUJMRV9DT01NRU5UIEZST00gaW5mb3JtYXRpb25fc2NoZW1hLlRBQkxFUyBXSEVSRSBUQUJMRV9TQ0hFTUEgPSBEQVRBQkFTRSgpIjtlY2hvIkRFTElNSVRFUiA7OwpDUkVBVEUgUFJPQ0VEVVJFIGFkbWluZXJfYWx0ZXIgKElOT1VUIGFsdGVyX2NvbW1hbmQgdGV4dCkgQkVHSU4KCURFQ0xBUkUgX3RhYmxlX25hbWUsIF9lbmdpbmUsIF90YWJsZV9jb2xsYXRpb24gdmFyY2hhcig2NCk7CglERUNMQVJFIF90YWJsZV9jb21tZW50IHZhcmNoYXIoNjQpOwoJREVDTEFSRSBkb25lIGJvb2wgREVGQVVMVCAwOwoJREVDTEFSRSB0YWJsZXMgQ1VSU09SIEZPUiAkRDsKCURFQ0xBUkUgQ09OVElOVUUgSEFORExFUiBGT1IgTk9UIEZPVU5EIFNFVCBkb25lID0gMTsKCU9QRU4gdGFibGVzOwoJUkVQRUFUCgkJRkVUQ0ggdGFibGVzIElOVE8gX3RhYmxlX25hbWUsIF9lbmdpbmUsIF90YWJsZV9jb2xsYXRpb24sIF90YWJsZV9jb21tZW50OwoJCUlGIE5PVCBkb25lIFRIRU4KCQkJQ0FTRSBfdGFibGVfbmFtZSI7Zm9yZWFjaChnZXRfcm93cygkRClhcyRHKXskVWE9cSgkR1siRU5HSU5FIl09PSJJbm5vREIiP3ByZWdfcmVwbGFjZSgnfig/OiguKyk7ICk/SW5ub0RCIGZyZWU6IC4qficsJ1xcMScsJEdbIlRBQkxFX0NPTU1FTlQiXSk6JEdbIlRBQkxFX0NPTU1FTlQiXSk7ZWNobyIKCQkJCVdIRU4gIi5xKCRHWyJUQUJMRV9OQU1FIl0pLiIgVEhFTgoJCQkJCSIuKGlzc2V0KCRHWyJFTkdJTkUiXSk/IklGIF9lbmdpbmUgIT0gJyRHW0VOR0lORV0nIE9SIF90YWJsZV9jb2xsYXRpb24gIT0gJyRHW1RBQkxFX0NPTExBVElPTl0nIE9SIF90YWJsZV9jb21tZW50ICE9ICRVYSBUSEVOCgkJCQkJCUFMVEVSIFRBQkxFICIuaWRmX2VzY2FwZSgkR1siVEFCTEVfTkFNRSJdKS4iIEVOR0lORT0kR1tFTkdJTkVdIENPTExBVEU9JEdbVEFCTEVfQ09MTEFUSU9OXSBDT01NRU5UPSRVYTsKCQkJCQlFTkQgSUYiOiJCRUdJTiBFTkQiKS4iOyI7fWVjaG8iCgkJCQlFTFNFCgkJCQkJU0VUIGFsdGVyX2NvbW1hbmQgPSBDT05DQVQoYWx0ZXJfY29tbWFuZCwgJ0RST1AgVEFCTEUgYCcsIFJFUExBQ0UoX3RhYmxlX25hbWUsICdgJywgJ2BgJyksICdgO1xcbicpOwoJCQlFTkQgQ0FTRTsKCQlFTkQgSUY7CglVTlRJTCBkb25lIEVORCBSRVBFQVQ7CglDTE9TRSB0YWJsZXM7CkVORDs7CkRFTElNSVRFUiA7CkNBTEwgYWRtaW5lcl9hbHRlcihAYWRtaW5lcl9hbHRlcik7CkRST1AgUFJPQ0VEVVJFIGFkbWluZXJfYWx0ZXI7CiI7fWlmKGluX2FycmF5KCJDUkVBVEUrQUxURVIiLGFycmF5KCRNLCRfUE9TVFsidGFibGVfc3R5bGUiXSkpJiYkR2Mpe2VjaG8iU0VMRUNUIEBhZG1pbmVyX2FsdGVyO1xuIjt9fX1pZigkR2Mpe2VjaG8iLS0gIi4kZy0+cmVzdWx0KCJTRUxFQ1QgTk9XKCkiKS4iXG4iO31leGl0O31wYWdlX2hlYWRlcihsYW5nKDExMyksIiIsKCRfR0VUWyJleHBvcnQiXSE9IiI/YXJyYXkoInRhYmxlIj0+JF9HRVRbImV4cG9ydCJdKTphcnJheSgpKSxEQik7ZWNobycKPGZvcm0gYWN0aW9uPSIiIG1ldGhvZD0icG9zdCI+Cjx0YWJsZSBjZWxsc3BhY2luZz0iMCI+Cic7JGtiPWFycmF5KCcnLCdVU0UnLCdEUk9QK0NSRUFURScsJ0NSRUFURScpOyRxZj1hcnJheSgnJywnRFJPUCtDUkVBVEUnLCdDUkVBVEUnKTskaWI9YXJyYXkoJycsJ1RSVU5DQVRFK0lOU0VSVCcsJ0lOU0VSVCcpO2lmKCR1PT0ic3FsIil7JGtiW109J0NSRUFURStBTFRFUic7JHFmW109J0NSRUFURStBTFRFUic7JGliW109J0lOU0VSVCtVUERBVEUnO31wYXJzZV9zdHIoJF9DT09LSUVbImFkbWluZXJfZXhwb3J0Il0sJEcpO2lmKCEkRyl7JEc9YXJyYXkoIm91dHB1dCI9PiJ0ZXh0IiwiZm9ybWF0Ij0+InNxbCIsImRiX3N0eWxlIj0+KERCIT0iIj8iIjoiQ1JFQVRFIiksInRhYmxlX3N0eWxlIj0+IkRST1ArQ1JFQVRFIiwiZGF0YV9zdHlsZSI9PiJJTlNFUlQiKTt9aWYoIWlzc2V0KCRHWyJldmVudHMiXSkpeyRHWyJyb3V0aW5lcyJdPSRHWyJldmVudHMiXT0oJF9HRVRbImR1bXAiXT09IiIpOyRHWyJ0cmlnZ2VycyJdPSRHWyJ0YWJsZV9zdHlsZSJdO31lY2hvIjx0cj48dGg+Ii5sYW5nKDExNCkuIjx0ZD4iLmh0bWxfc2VsZWN0KCJvdXRwdXQiLCRiLT5kdW1wT3V0cHV0KCksJEdbIm91dHB1dCJdLDApLiJcbiI7ZWNobyI8dHI+PHRoPiIubGFuZygxMTUpLiI8dGQ+Ii5odG1sX3NlbGVjdCgiZm9ybWF0IiwkYi0+ZHVtcEZvcm1hdCgpLCRHWyJmb3JtYXQiXSwwKS4iXG4iO2VjaG8oJHU9PSJzcWxpdGUiPyIiOiI8dHI+PHRoPiIubGFuZyg2NykuIjx0ZD4iLmh0bWxfc2VsZWN0KCdkYl9zdHlsZScsJGtiLCRHWyJkYl9zdHlsZSJdKS4oc3VwcG9ydCgicm91dGluZSIpP2NoZWNrYm94KCJyb3V0aW5lcyIsMSwkR1sicm91dGluZXMiXSxsYW5nKDExNikpOiIiKS4oc3VwcG9ydCgiZXZlbnQiKT9jaGVja2JveCgiZXZlbnRzIiwxLCRHWyJldmVudHMiXSxsYW5nKDExNykpOiIiKSksIjx0cj48dGg+Ii5sYW5nKDc4KS4iPHRkPiIuaHRtbF9zZWxlY3QoJ3RhYmxlX3N0eWxlJywkcWYsJEdbInRhYmxlX3N0eWxlIl0pLmNoZWNrYm94KCJhdXRvX2luY3JlbWVudCIsMSwkR1siYXV0b19pbmNyZW1lbnQiXSxsYW5nKDkzKSkuKHN1cHBvcnQoInRyaWdnZXIiKT9jaGVja2JveCgidHJpZ2dlcnMiLDEsJEdbInRyaWdnZXJzIl0sbGFuZygxMTApKToiIiksIjx0cj48dGg+Ii5sYW5nKDExOCkuIjx0ZD4iLmh0bWxfc2VsZWN0KCdkYXRhX3N0eWxlJywkaWIsJEdbImRhdGFfc3R5bGUiXSksJzwvdGFibGU+CjxwPjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSInLGxhbmcoMTEzKSwnIj4KCjx0YWJsZSBjZWxsc3BhY2luZz0iMCI+Cic7JGtlPWFycmF5KCk7aWYoREIhPSIiKXskTGE9KCRhIT0iIj8iIjoiIGNoZWNrZWQiKTtlY2hvIjx0aGVhZD48dHI+IiwiPHRoIHN0eWxlPSd0ZXh0LWFsaWduOiBsZWZ0Oyc+PGxhYmVsPjxpbnB1dCB0eXBlPSdjaGVja2JveCcgaWQ9J2NoZWNrLXRhYmxlcyckTGEgb25jbGljaz0nZm9ybUNoZWNrKHRoaXMsIC9edGFibGVzXFxbLyk7Jz4iLmxhbmcoNzgpLiI8L2xhYmVsPiIsIjx0aCBzdHlsZT0ndGV4dC1hbGlnbjogcmlnaHQ7Jz48bGFiZWw+Ii5sYW5nKDExOCkuIjxpbnB1dCB0eXBlPSdjaGVja2JveCcgaWQ9J2NoZWNrLWRhdGEnJExhIG9uY2xpY2s9J2Zvcm1DaGVjayh0aGlzLCAvXmRhdGFcXFsvKTsnPjwvbGFiZWw+IiwiPC90aGVhZD5cbiI7JFk9IiI7Zm9yZWFjaCh0YWJsZV9zdGF0dXMoKWFzJE8peyRfPSRPWyJOYW1lIl07JGplPWVyZWdfcmVwbGFjZSgiXy4qIiwiIiwkXyk7JExhPSgkYT09IiJ8fCRhPT0oc3Vic3RyKCRhLC0xKT09IiUiPyIkamUlIjokXykpOyRtZT0iPHRyPjx0ZD4iLmNoZWNrYm94KCJ0YWJsZXNbXSIsJF8sJExhLCRfLCJmb3JtVW5jaGVjaygnY2hlY2stdGFibGVzJyk7Iik7aWYoaXNfdmlldygkTykpeyRZLj0iJG1lXG4iO31lbHNle2VjaG8iJG1lPHRkIGFsaWduPSdyaWdodCc+PGxhYmVsPiIuKCRPWyJFbmdpbmUiXT09Iklubm9EQiImJiRPWyJSb3dzIl0/In4gIjoiIikuJE9bIlJvd3MiXS5jaGVja2JveCgiZGF0YVtdIiwkXywkTGEsIiIsImZvcm1VbmNoZWNrKCdjaGVjay1kYXRhJyk7IikuIjwvbGFiZWw+XG4iO30ka2VbJGplXSsrO31lY2hvJFk7fWVsc2V7ZWNobyI8dGhlYWQ+PHRyPjx0aCBzdHlsZT0ndGV4dC1hbGlnbjogbGVmdDsnPjxsYWJlbD48aW5wdXQgdHlwZT0nY2hlY2tib3gnIGlkPSdjaGVjay1kYXRhYmFzZXMnIi4oJGE9PSIiPyIgY2hlY2tlZCI6IiIpLiIgb25jbGljaz0nZm9ybUNoZWNrKHRoaXMsIC9eZGF0YWJhc2VzXFxbLyk7Jz4iLmxhbmcoNjcpLiI8L2xhYmVsPjwvdGhlYWQ+XG4iOyRpPWdldF9kYXRhYmFzZXMoKTtpZigkaSl7Zm9yZWFjaCgkaQphcyRqKXtpZighaW5mb3JtYXRpb25fc2NoZW1hKCRqKSl7JGplPWVyZWdfcmVwbGFjZSgiXy4qIiwiIiwkaik7ZWNobyI8dHI+PHRkPiIuY2hlY2tib3goImRhdGFiYXNlc1tdIiwkaiwkYT09IiJ8fCRhPT0iJGplJSIsJGosImZvcm1VbmNoZWNrKCdjaGVjay1kYXRhYmFzZXMnKTsiKS4iPC9sYWJlbD5cbiI7JGtlWyRqZV0rKzt9fX1lbHNle2VjaG8iPHRyPjx0ZD48dGV4dGFyZWEgbmFtZT0nZGF0YWJhc2VzJyByb3dzPScxMCcgY29scz0nMjAnPjwvdGV4dGFyZWE+Ijt9fWVjaG8nPC90YWJsZT4KPC9mb3JtPgonOyRiYz10cnVlO2ZvcmVhY2goJGtlCmFzJHY9PiRXKXtpZigkdiE9IiImJiRXPjEpe2VjaG8oJGJjPyI8cD4iOiIgIikuIjxhIGhyZWY9JyIuaChNRSkuImR1bXA9Ii51cmxlbmNvZGUoIiR2JSIpLiInPiIuaCgkdikuIjwvYT4iOyRiYz1mYWxzZTt9fX1lbHNlaWYoaXNzZXQoJF9HRVRbInByaXZpbGVnZXMiXSkpe3BhZ2VfaGVhZGVyKGxhbmcoNTApKTskRT0kZy0+cXVlcnkoIlNFTEVDVCBVc2VyLCBIb3N0IEZST00gbXlzcWwuIi4oREI9PSIiPyJ1c2VyIjoiZGIgV0hFUkUgIi5xKERCKS4iIExJS0UgRGIiKS4iIE9SREVSIEJZIEhvc3QsIFVzZXIiKTskbWM9JEU7aWYoISRFKXskRT0kZy0+cXVlcnkoIlNFTEVDVCBTVUJTVFJJTkdfSU5ERVgoQ1VSUkVOVF9VU0VSLCAnQCcsIDEpIEFTIFVzZXIsIFNVQlNUUklOR19JTkRFWChDVVJSRU5UX1VTRVIsICdAJywgLTEpIEFTIEhvc3QiKTt9ZWNobyI8Zm9ybSBhY3Rpb249Jyc+PHA+XG4iO2hpZGRlbl9maWVsZHNfZ2V0KCk7ZWNobyI8aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSdkYicgdmFsdWU9JyIuaChEQikuIic+XG4iLCgkbWM/IiI6IjxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2dyYW50JyB2YWx1ZT0nJz5cbiIpLCI8dGFibGUgY2VsbHNwYWNpbmc9JzAnPlxuIiwiPHRoZWFkPjx0cj48dGg+Ii5sYW5nKDIxKS4iPHRoPiIubGFuZygyMCkuIjx0aD4mbmJzcDs8L3RoZWFkPlxuIjt3aGlsZSgkRz0kRS0+ZmV0Y2hfYXNzb2MoKSl7ZWNobyc8dHInLm9kZCgpLic+PHRkPicuaCgkR1siVXNlciJdKS4iPHRkPiIuaCgkR1siSG9zdCJdKS4nPHRkPjxhIGhyZWY9IicuaChNRS4ndXNlcj0nLnVybGVuY29kZSgkR1siVXNlciJdKS4nJmhvc3Q9Jy51cmxlbmNvZGUoJEdbIkhvc3QiXSkpLiciPicubGFuZygzMSkuIjwvYT5cbiI7fWlmKCEkbWN8fERCIT0iIil7ZWNobyI8dHIiLm9kZCgpLiI+PHRkPjxpbnB1dCBuYW1lPSd1c2VyJz48dGQ+PGlucHV0IG5hbWU9J2hvc3QnIHZhbHVlPSdsb2NhbGhvc3QnPjx0ZD48aW5wdXQgdHlwZT0nc3VibWl0JyB2YWx1ZT0nIi5sYW5nKDMxKS4iJz5cbiI7fWVjaG8iPC90YWJsZT5cbiIsIjwvZm9ybT5cbiIsJzxwPjxhIGhyZWY9IicuaChNRSkuJ3VzZXI9Ij4nLmxhbmcoMTE5KS4iPC9hPiI7fWVsc2VpZihpc3NldCgkX0dFVFsic3FsIl0pKXtpZighJGsmJiRfUE9TVFsiZXhwb3J0Il0pe2R1bXBfaGVhZGVycygic3FsIik7JGItPmR1bXBUYWJsZSgiIiwiIik7JGItPmR1bXBEYXRhKCIiLCJ0YWJsZSIsJF9QT1NUWyJxdWVyeSJdKTtleGl0O31yZXN0YXJ0X3Nlc3Npb24oKTskdGM9JmdldF9zZXNzaW9uKCJxdWVyaWVzIik7JHNjPSYkdGNbREJdO2lmKCEkayYmJF9QT1NUWyJjbGVhciJdKXskc2M9YXJyYXkoKTtyZWRpcmVjdChyZW1vdmVfZnJvbV91cmkoImhpc3RvcnkiKSk7fXBhZ2VfaGVhZGVyKGxhbmcoNDMpLCRrKTtpZighJGsmJiRfUE9TVCl7JGljPWZhbHNlOyREPSRfUE9TVFsicXVlcnkiXTtpZigkX1BPU1RbIndlYmZpbGUiXSl7JGljPUBmb3BlbigoZmlsZV9leGlzdHMoImFkbWluZXIuc3FsIik/ImFkbWluZXIuc3FsIjooZmlsZV9leGlzdHMoImFkbWluZXIuc3FsLmd6Iik/ImNvbXByZXNzLnpsaWI6Ly9hZG1pbmVyLnNxbC5neiI6ImNvbXByZXNzLmJ6aXAyOi8vYWRtaW5lci5zcWwuYnoyIikpLCJyYiIpOyREPSgkaWM/ZnJlYWQoJGljLDFlNik6ZmFsc2UpO31lbHNlaWYoJF9GSUxFUyYmJF9GSUxFU1sic3FsX2ZpbGUiXVsiZXJyb3IiXSE9NCl7JEQ9Z2V0X2ZpbGUoInNxbF9maWxlIix0cnVlKTt9aWYoaXNfc3RyaW5nKCREKSl7aWYoZnVuY3Rpb25fZXhpc3RzKCdtZW1vcnlfZ2V0X3VzYWdlJykpe0Bpbmlfc2V0KCJtZW1vcnlfbGltaXQiLG1heChpbmlfZ2V0KCJtZW1vcnlfbGltaXQiKSwyKnN0cmxlbigkRCkrbWVtb3J5X2dldF91c2FnZSgpKzhlNikpO31pZigkRCE9IiImJnN0cmxlbigkRCk8MWU2KXskQz0kRC4oZXJlZygnOyQnLCREKT8iIjoiOyIpO2lmKCEkc2N8fGVuZCgkc2MpIT0kQyl7JHNjW109JEM7fX0kWGU9Iig/Olxcc3wvXFwqLipcXCovfCg/OiN8LS0gKVteXG5dKlxufC0tXG4pIjtpZighaW5pX2Jvb2woInNlc3Npb24udXNlX2Nvb2tpZXMiKSl7c2Vzc2lvbl93cml0ZV9jbG9zZSgpO30kbmI9IjsiOyRBPTA7JERiPXRydWU7JGg9Y29ubmVjdCgpO2lmKGlzX29iamVjdCgkaCkmJkRCIT0iIil7JGgtPnNlbGVjdF9kYihEQik7fSRUYT0wOyRLYj1hcnJheSgpOyRXZD0nW1wnIicuKCR1PT0ic3FsIj8nYCMnOigkdT09InNxbGl0ZSI/J2BbJzooJHU9PSJtc3NxbCI/J1snOicnKSkpLiddfC9cXCp8LS0gfCQnLigkdT09InBnc3FsIj8nfFxcJFteJF0qXFwkJzonJyk7JERmPW1pY3JvdGltZSgpO3BhcnNlX3N0cigkX0NPT0tJRVsiYWRtaW5lcl9leHBvcnQiXSwkcWEpOyR4Yj0kYi0+ZHVtcEZvcm1hdCgpO3Vuc2V0KCR4Ylsic3FsIl0pO3doaWxlKCREIT0iIil7aWYoISRBJiZwcmVnX21hdGNoKCJ+XiRYZSpERUxJTUlURVJcXHMrKC4rKX5pIiwkRCwkeikpeyRuYj0kelsxXTskRD1zdWJzdHIoJEQsc3RybGVuKCR6WzBdKSk7fWVsc2V7cHJlZ19tYXRjaCgnKCcucHJlZ19xdW90ZSgkbmIpLiJ8JFdkKSIsJEQsJHosUFJFR19PRkZTRVRfQ0FQVFVSRSwkQSk7JGdjPSR6WzBdWzBdO2lmKCEkZ2MmJiRpYyYmIWZlb2YoJGljKSl7JEQuPWZyZWFkKCRpYywxZTUpO31lbHNleyRBPSR6WzBdWzFdK3N0cmxlbigkZ2MpO2lmKCEkZ2MmJnJ0cmltKCREKT09IiIpe2JyZWFrO31pZigkZ2MmJiRnYyE9JG5iKXt3aGlsZShwcmVnX21hdGNoKCcoJy4oJGdjPT0nLyonPydcXCovJzooJGdjPT0nWyc/J10nOihlcmVnKCdeLS0gfF4jJywkZ2MpPyJcbiI6cHJlZ19xdW90ZSgkZ2MpLiJ8XFxcXC4iKSkpLid8JClzJywkRCwkeixQUkVHX09GRlNFVF9DQVBUVVJFLCRBKSl7JEtlPSR6WzBdWzBdOyRBPSR6WzBdWzFdK3N0cmxlbigkS2UpO2lmKCEkS2UmJiRpYyYmIWZlb2YoJGljKSl7JEEtPXN0cmxlbigkZ2MpOyRELj1mcmVhZCgkaWMsMWU1KTt9ZWxzZWlmKCRLZVswXSE9IlxcIil7YnJlYWs7fX19ZWxzZXskRGI9ZmFsc2U7JEM9c3Vic3RyKCRELDAsJHpbMF1bMV0pOyRUYSsrOyRtZT0iPHByZSBpZD0nc3FsLSRUYSc+PGNvZGUgY2xhc3M9J2p1c2gtJHUnPiIuc2hvcnRlbl91dGY4KHRyaW0oJEMpLDEwMDApLiI8L2NvZGU+PC9wcmU+XG4iO2lmKCEkX1BPU1RbIm9ubHlfZXJyb3JzIl0pe2VjaG8kbWU7b2JfZmx1c2goKTtmbHVzaCgpO30kWmU9bWljcm90aW1lKCk7aWYoJGctPm11bHRpX3F1ZXJ5KCRDKSYmaXNfb2JqZWN0KCRoKSYmcHJlZ19tYXRjaCgifl4kWGUqVVNFXFxifmlzVSIsJEMpKXskaC0+cXVlcnkoJEMpO31kb3skRT0kZy0+c3RvcmVfcmVzdWx0KCk7JEViPW1pY3JvdGltZSgpOyR4Zj1mb3JtYXRfdGltZSgkWmUsJEViKS4oc3RybGVuKCRDKTwxMDAwPyIgPGEgaHJlZj0nIi5oKE1FKS4ic3FsPSIudXJsZW5jb2RlKHRyaW0oJEMpKS4iJz4iLmxhbmcoMzEpLiI8L2E+IjoiIik7aWYoJGctPmVycm9yKXtlY2hvKCRfUE9TVFsib25seV9lcnJvcnMiXT8kbWU6IiIpLCI8cCBjbGFzcz0nZXJyb3InPiIubGFuZygxMjApLiI6ICIuZXJyb3IoKS4iXG4iOyRLYltdPSIgPGEgaHJlZj0nI3NxbC0kVGEnPiRUYTwvYT4iO2lmKCRfUE9TVFsiZXJyb3Jfc3RvcHMiXSl7YnJlYWsKMjt9fWVsc2VpZihpc19vYmplY3QoJEUpKXtzZWxlY3QoJEUsJGgpO2lmKCEkX1BPU1RbIm9ubHlfZXJyb3JzIl0pe2VjaG8iPGZvcm0gYWN0aW9uPScnIG1ldGhvZD0ncG9zdCc+XG4iLCI8cD4iLigkRS0+bnVtX3Jvd3M/bGFuZygxMjEsJEUtPm51bV9yb3dzKToiIikuJHhmOyRxPSJleHBvcnQtJFRhIjskU2I9IiwgPGEgaHJlZj0nIyRxJyBvbmNsaWNrPVwicmV0dXJuICF0b2dnbGUoJyRxJyk7XCI+Ii5sYW5nKDExMykuIjwvYT48c3BhbiBpZD0nJHEnIGNsYXNzPSdoaWRkZW4nPjogIi5odG1sX3NlbGVjdCgib3V0cHV0IiwkYi0+ZHVtcE91dHB1dCgpLCRxYVsib3V0cHV0Il0pLiIgIi5odG1sX3NlbGVjdCgiZm9ybWF0IiwkeGIsJHFhWyJmb3JtYXQiXSkuIjxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J3F1ZXJ5JyB2YWx1ZT0nIi5oKCRDKS4iJz4iLiIgPGlucHV0IHR5cGU9J3N1Ym1pdCcgbmFtZT0nZXhwb3J0JyB2YWx1ZT0nIi5sYW5nKDExMykuIicgb25jbGljaz0nZXZlbnRTdG9wKGV2ZW50KTsnPjxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J3Rva2VuJyB2YWx1ZT0nJFEnPjwvc3Bhbj5cbiI7aWYoJGgmJnByZWdfbWF0Y2goIn5eKCRYZXxcXCgpKlNFTEVDVFxcYn5pc1UiLCRDKSYmKCRSYj1leHBsYWluKCRoLCRDKSkpeyRxPSJleHBsYWluLSRUYSI7ZWNobyIsIDxhIGhyZWY9JyMkcScgb25jbGljaz1cInJldHVybiAhdG9nZ2xlKCckcScpO1wiPkVYUExBSU48L2E+JFNiIiwiPGRpdiBpZD0nJHEnIGNsYXNzPSdoaWRkZW4nPlxuIjtzZWxlY3QoJFJiLCRoLCgkdT09InNxbCI/Imh0dHA6Ly9kZXYubXlzcWwuY29tL2RvYy9yZWZtYW4vIi5zdWJzdHIoJGctPnNlcnZlcl9pbmZvLDAsMykuIi9lbi9leHBsYWluLW91dHB1dC5odG1sI2V4cGxhaW5fIjoiIikpO2VjaG8iPC9kaXY+XG4iO31lbHNle2VjaG8kU2I7fWVjaG8iPC9mb3JtPlxuIjt9fWVsc2V7aWYocHJlZ19tYXRjaCgifl4kWGUqKENSRUFURXxEUk9QfEFMVEVSKSRYZSsoREFUQUJBU0V8U0NIRU1BKVxcYn5pc1UiLCRDKSl7cmVzdGFydF9zZXNzaW9uKCk7c2V0X3Nlc3Npb24oImRicyIsbnVsbCk7c2Vzc2lvbl93cml0ZV9jbG9zZSgpO31pZighJF9QT1NUWyJvbmx5X2Vycm9ycyJdKXtlY2hvIjxwIGNsYXNzPSdtZXNzYWdlJyB0aXRsZT0nIi5oKCRnLT5pbmZvKS4iJz4iLmxhbmcoMTIyLCRnLT5hZmZlY3RlZF9yb3dzKS4iJHhmXG4iO319JFplPSRFYjt9d2hpbGUoJGctPm5leHRfcmVzdWx0KCkpOyREPXN1YnN0cigkRCwkQSk7JEE9MDt9fX19aWYoJERiKXtlY2hvIjxwIGNsYXNzPSdtZXNzYWdlJz4iLmxhbmcoMTIzKS4iXG4iO31lbHNlaWYoJF9QT1NUWyJvbmx5X2Vycm9ycyJdKXtlY2hvIjxwIGNsYXNzPSdtZXNzYWdlJz4iLmxhbmcoMTI0LCRUYS1jb3VudCgkS2IpKS5mb3JtYXRfdGltZSgkRGYsbWljcm90aW1lKCkpLiJcbiI7fWVsc2VpZigkS2ImJiRUYT4xKXtlY2hvIjxwIGNsYXNzPSdlcnJvcic+Ii5sYW5nKDEyMCkuIjogIi5pbXBsb2RlKCIiLCRLYikuIlxuIjt9fWVsc2V7ZWNobyI8cCBjbGFzcz0nZXJyb3InPiIudXBsb2FkX2Vycm9yKCREKS4iXG4iO319ZWNobycKPGZvcm0gYWN0aW9uPSIiIG1ldGhvZD0icG9zdCIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgaWQ9ImZvcm0iPgo8cD4nOyRDPSRfR0VUWyJzcWwiXTtpZigkX1BPU1QpeyRDPSRfUE9TVFsicXVlcnkiXTt9ZWxzZWlmKCRfR0VUWyJoaXN0b3J5Il09PSJhbGwiKXskQz0kc2M7fWVsc2VpZigkX0dFVFsiaGlzdG9yeSJdIT0iIil7JEM9JHNjWyRfR0VUWyJoaXN0b3J5Il1dO310ZXh0YXJlYSgicXVlcnkiLCRDLDIwKTtlY2hvKCRfUE9TVD8iIjoiPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPmRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCd0ZXh0YXJlYScpWzBdLmZvY3VzKCk7PC9zY3JpcHQ+XG4iKSwiPHA+Ii4oaW5pX2Jvb2woImZpbGVfdXBsb2FkcyIpP2xhbmcoMTI1KS4nOiA8aW5wdXQgdHlwZT0iZmlsZSIgbmFtZT0ic3FsX2ZpbGUiJy4oJF9GSUxFUyYmJF9GSUxFU1sic3FsX2ZpbGUiXVsiZXJyb3IiXSE9ND8nJzonIG9uY2hhbmdlPSJ0aGlzLmZvcm1bXCdvbmx5X2Vycm9yc1wnXS5jaGVja2VkID0gdHJ1ZTsiJykuJz4gKCZsdDsgJy5pbmlfZ2V0KCJ1cGxvYWRfbWF4X2ZpbGVzaXplIikuJ0IpJzpsYW5nKDEyNikpLCc8cD4KPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IicsbGFuZygxMjcpLCciIHRpdGxlPSJDdHJsK0VudGVyIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idG9rZW4iIHZhbHVlPSInLCRRLCciPgonLGNoZWNrYm94KCJlcnJvcl9zdG9wcyIsMSwkX1BPU1RbImVycm9yX3N0b3BzIl0sbGFuZygxMjgpKS4iXG4iLGNoZWNrYm94KCJvbmx5X2Vycm9ycyIsMSwkX1BPU1RbIm9ubHlfZXJyb3JzIl0sbGFuZygxMjkpKS4iXG4iO3ByaW50X2ZpZWxkc2V0KCJ3ZWJmaWxlIixsYW5nKDEzMCksJF9QT1NUWyJ3ZWJmaWxlIl0sImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmb3JtJylbJ29ubHlfZXJyb3JzJ10uY2hlY2tlZCA9IHRydWU7ICIpOyRXYT1hcnJheSgpO2ZvcmVhY2goYXJyYXkoImd6Ij0+InpsaWIiLCJiejIiPT4iYnoyIilhcyR2PT4kVyl7aWYoZXh0ZW5zaW9uX2xvYWRlZCgkVykpeyRXYVtdPSIuJHYiO319ZWNobwpsYW5nKDEzMSwiPGNvZGU+YWRtaW5lci5zcWwiLigkV2E/IlsiLmltcGxvZGUoInwiLCRXYSkuIl0iOiIiKS4iPC9jb2RlPiIpLCcgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0id2ViZmlsZSIgdmFsdWU9IicubGFuZygxMzIpLiciPicsIjwvZGl2PjwvZmllbGRzZXQ+XG4iO2lmKCRzYyl7cHJpbnRfZmllbGRzZXQoImhpc3RvcnkiLGxhbmcoMTMzKSwkX0dFVFsiaGlzdG9yeSJdIT0iIik7Zm9yZWFjaCgkc2MKYXMkdj0+JFcpe2VjaG8nPGEgaHJlZj0iJy5oKE1FLiJzcWw9Jmhpc3Rvcnk9JHYiKS4nIj4nLmxhbmcoMzEpLiI8L2E+IDxjb2RlIGNsYXNzPSdqdXNoLSR1Jz4iLnNob3J0ZW5fdXRmOChsdHJpbShzdHJfcmVwbGFjZSgiXG4iLCIgIixzdHJfcmVwbGFjZSgiXHIiLCIiLHByZWdfcmVwbGFjZSgnfl4oI3wtLSApLip+bScsJycsJFcpKSkpLDgwLCI8L2NvZGU+IikuIjxicj5cbiI7fWVjaG8iPGlucHV0IHR5cGU9J3N1Ym1pdCcgbmFtZT0nY2xlYXInIHZhbHVlPSciLmxhbmcoMTM0KS4iJz5cbiIsIjxhIGhyZWY9JyIuaChNRS4ic3FsPSZoaXN0b3J5PWFsbCIpLiInPiIubGFuZygxMzUpLiI8L2E+XG4iLCI8L2Rpdj48L2ZpZWxkc2V0PlxuIjt9ZWNobycKPC9mb3JtPgonO31lbHNlaWYoaXNzZXQoJF9HRVRbImVkaXQiXSkpeyRhPSRfR0VUWyJlZGl0Il07JFo9KGlzc2V0KCRfR0VUWyJzZWxlY3QiXSk/KGNvdW50KCRfUE9TVFsiY2hlY2siXSk9PTE/d2hlcmVfY2hlY2soJF9QT1NUWyJjaGVjayJdWzBdKToiIik6d2hlcmUoJF9HRVQpKTskU2Y9KGlzc2V0KCRfR0VUWyJzZWxlY3QiXSk/JF9QT1NUWyJlZGl0Il06JFopOyRtPWZpZWxkcygkYSk7Zm9yZWFjaCgkbQphcyRfPT4kbCl7aWYoIWlzc2V0KCRsWyJwcml2aWxlZ2VzIl1bJFNmPyJ1cGRhdGUiOiJpbnNlcnQiXSl8fCRiLT5maWVsZE5hbWUoJGwpPT0iIil7dW5zZXQoJG1bJF9dKTt9fWlmKCRfUE9TVCYmISRrJiYhaXNzZXQoJF9HRVRbInNlbGVjdCJdKSl7JFdjPSRfUE9TVFsicmVmZXJlciJdO2lmKCRfUE9TVFsiaW5zZXJ0Il0peyRXYz0oJFNmP251bGw6JF9TRVJWRVJbIlJFUVVFU1RfVVJJIl0pO31lbHNlaWYoIWVyZWcoJ14uKyZzZWxlY3Q9LiskJywkV2MpKXskV2M9TUUuInNlbGVjdD0iLnVybGVuY29kZSgkYSk7fWlmKGlzc2V0KCRfUE9TVFsiZGVsZXRlIl0pKXtxdWVyeV9yZWRpcmVjdCgiREVMRVRFIi5saW1pdDEoIkZST00gIi50YWJsZSgkYSksIiBXSEVSRSAkWiIpLCRXYyxsYW5nKDEzNikpO31lbHNleyRLPWFycmF5KCk7Zm9yZWFjaCgkbQphcyRfPT4kbCl7JFc9cHJvY2Vzc19pbnB1dCgkbCk7aWYoJFchPT1mYWxzZSYmJFchPT1udWxsKXskS1tpZGZfZXNjYXBlKCRfKV09KCRTZj8iXG4iLmlkZl9lc2NhcGUoJF8pLiIgPSAkVyI6JFcpO319aWYoJFNmKXtpZighJEspe3JlZGlyZWN0KCRXYyk7fXF1ZXJ5X3JlZGlyZWN0KCJVUERBVEUiLmxpbWl0MSh0YWJsZSgkYSkuIiBTRVQiLmltcGxvZGUoIiwiLCRLKSwiXG5XSEVSRSAkWiIpLCRXYyxsYW5nKDEzNykpO31lbHNleyRFPWluc2VydF9pbnRvKCRhLCRLKTskUGM9KCRFP2xhc3RfaWQoKTowKTtxdWVyaWVzX3JlZGlyZWN0KCRXYyxsYW5nKDEzOCwoJFBjPyIgJFBjIjoiIikpLCRFKTt9fX0kbWY9JGItPnRhYmxlTmFtZSh0YWJsZV9zdGF0dXMoJGEpKTtwYWdlX2hlYWRlcigoJFNmP2xhbmcoMzEpOmxhbmcoMTM5KSksJGssYXJyYXkoInNlbGVjdCI9PmFycmF5KCRhLCRtZikpLCRtZik7JEc9bnVsbDtpZigkX1BPU1RbInNhdmUiXSl7JEc9KGFycmF5KSRfUE9TVFsiZmllbGRzIl07fWVsc2VpZigkWil7JEk9YXJyYXkoKTtmb3JlYWNoKCRtCmFzJF89PiRsKXtpZihpc3NldCgkbFsicHJpdmlsZWdlcyJdWyJzZWxlY3QiXSkpeyRJW109KCRfUE9TVFsiY2xvbmUiXSYmJGxbImF1dG9faW5jcmVtZW50Il0/IicnIEFTICI6KGVyZWcoImVudW18c2V0IiwkbFsidHlwZSJdKT8iMSoiLmlkZl9lc2NhcGUoJF8pLiIgQVMgIjoiIikpLmlkZl9lc2NhcGUoJF8pO319JEc9YXJyYXkoKTtpZigkSSl7JEg9Z2V0X3Jvd3MoIlNFTEVDVCIubGltaXQoaW1wbG9kZSgiLCAiLCRJKS4iIEZST00gIi50YWJsZSgkYSksIiBXSEVSRSAkWiIsKGlzc2V0KCRfR0VUWyJzZWxlY3QiXSk/MjoxKSkpOyRHPShpc3NldCgkX0dFVFsic2VsZWN0Il0pJiZjb3VudCgkSCkhPTE/bnVsbDpyZXNldCgkSCkpO319aWYoJEc9PT1mYWxzZSl7ZWNobyI8cCBjbGFzcz0nZXJyb3InPiIubGFuZyg4MykuIlxuIjt9ZWNobycKPGZvcm0gYWN0aW9uPSIiIG1ldGhvZD0icG9zdCIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgaWQ9ImZvcm0iPgonO2lmKCRtKXtlY2hvIjx0YWJsZSBjZWxsc3BhY2luZz0nMCcgb25rZXlkb3duPSdyZXR1cm4gZWRpdGluZ0tleWRvd24oZXZlbnQpOyc+XG4iO2ZvcmVhY2goJG0KYXMkXz0+JGwpe2VjaG8iPHRyPjx0aD4iLiRiLT5maWVsZE5hbWUoJGwpOyRtYj0kX0dFVFsic2V0Il1bYnJhY2tldF9lc2NhcGUoJF8pXTskWD0oaXNzZXQoJEcpPygkR1skX10hPSIiJiZlcmVnKCJlbnVtfHNldCIsJGxbInR5cGUiXSk/KGlzX2FycmF5KCRHWyRfXSk/YXJyYXlfc3VtKCRHWyRfXSk6KyRHWyRfXSk6JEdbJF9dKTooISRTZiYmJGxbImF1dG9faW5jcmVtZW50Il0/IiI6KGlzc2V0KCRfR0VUWyJzZWxlY3QiXSk/ZmFsc2U6KGlzc2V0KCRtYik/JG1iOiRsWyJkZWZhdWx0Il0pKSkpO2lmKCEkX1BPU1RbInNhdmUiXSYmaXNfc3RyaW5nKCRYKSl7JFg9JGItPmVkaXRWYWwoJFgsJGwpO30kbz0oJF9QT1NUWyJzYXZlIl0/KHN0cmluZykkX1BPU1RbImZ1bmN0aW9uIl1bJF9dOigkU2YmJiRsWyJvbl91cGRhdGUiXT09IkNVUlJFTlRfVElNRVNUQU1QIj8ibm93IjooJFg9PT1mYWxzZT9udWxsOihpc3NldCgkWCk/Jyc6J05VTEwnKSkpKTtpZigkbFsidHlwZSJdPT0idGltZXN0YW1wIiYmJFg9PSJDVVJSRU5UX1RJTUVTVEFNUCIpeyRYPSIiOyRvPSJub3ciO31pbnB1dCgkbCwkWCwkbyk7ZWNobyJcbiI7fWVjaG8iPC90YWJsZT5cbiI7fWVjaG8nPHA+Cic7aWYoJG0pe2VjaG8iPGlucHV0IHR5cGU9J3N1Ym1pdCcgdmFsdWU9JyIubGFuZygxNDApLiInPlxuIjtpZighaXNzZXQoJF9HRVRbInNlbGVjdCJdKSl7ZWNobyI8aW5wdXQgdHlwZT0nc3VibWl0JyBuYW1lPSdpbnNlcnQnIHZhbHVlPSciLigkU2Y/bGFuZygxNDEpOmxhbmcoMTQyKSkuIicgdGl0bGU9J0N0cmwrU2hpZnQrRW50ZXInPlxuIjt9fWVjaG8oJFNmPyI8aW5wdXQgdHlwZT0nc3VibWl0JyBuYW1lPSdkZWxldGUnIHZhbHVlPSciLmxhbmcoMTQzKS4iJyBvbmNsaWNrPVwicmV0dXJuIGNvbmZpcm0oJyIubGFuZygwKS4iJyk7XCI+XG4iOigkX1BPU1R8fCEkbT8iIjoiPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmb3JtJykuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3RkJylbMV0uZmlyc3RDaGlsZC5mb2N1cygpOzwvc2NyaXB0PlxuIikpO2lmKGlzc2V0KCRfR0VUWyJzZWxlY3QiXSkpe2hpZGRlbl9maWVsZHMoYXJyYXkoImNoZWNrIj0+KGFycmF5KSRfUE9TVFsiY2hlY2siXSwiY2xvbmUiPT4kX1BPU1RbImNsb25lIl0sImFsbCI9PiRfUE9TVFsiYWxsIl0pKTt9ZWNobyc8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJyZWZlcmVyIiB2YWx1ZT0iJyxoKGlzc2V0KCRfUE9TVFsicmVmZXJlciJdKT8kX1BPU1RbInJlZmVyZXIiXTokX1NFUlZFUlsiSFRUUF9SRUZFUkVSIl0pLCciPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJzYXZlIiB2YWx1ZT0iMSI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InRva2VuIiB2YWx1ZT0iJywkUSwnIj4KPC9mb3JtPgonO31lbHNlaWYoaXNzZXQoJF9HRVRbImNyZWF0ZSJdKSl7JGE9JF9HRVRbImNyZWF0ZSJdOyRYZD1hcnJheSgnSEFTSCcsJ0xJTkVBUiBIQVNIJywnS0VZJywnTElORUFSIEtFWScsJ1JBTkdFJywnTElTVCcpOyR5ZT1yZWZlcmVuY2FibGVfcHJpbWFyeSgkYSk7JGZjPWFycmF5KCk7Zm9yZWFjaCgkeWUKYXMkbWY9PiRsKXskZmNbc3RyX3JlcGxhY2UoImAiLCJgYCIsJG1mKS4iYCIuc3RyX3JlcGxhY2UoImAiLCJgYCIsJGxbImZpZWxkIl0pXT0kbWY7fSRPZD1hcnJheSgpOyRQZD1hcnJheSgpO2lmKCRhIT0iIil7JE9kPWZpZWxkcygkYSk7JFBkPXRhYmxlX3N0YXR1cygkYSk7fWlmKCRfUE9TVCYmISRfUE9TVFsiZmllbGRzIl0peyRfUE9TVFsiZmllbGRzIl09YXJyYXkoKTt9aWYoJF9QT1NUJiYhJGsmJiEkX1BPU1RbImFkZCJdJiYhJF9QT1NUWyJkcm9wX2NvbCJdJiYhJF9QT1NUWyJ1cCJdJiYhJF9QT1NUWyJkb3duIl0pe2lmKCRfUE9TVFsiZHJvcCJdKXtxdWVyeV9yZWRpcmVjdCgiRFJPUCBUQUJMRSAiLnRhYmxlKCRhKSxzdWJzdHIoTUUsMCwtMSksbGFuZygxNDQpKTt9ZWxzZXskbT1hcnJheSgpOyRkYz1hcnJheSgpO2tzb3J0KCRfUE9TVFsiZmllbGRzIl0pOyROZD1yZXNldCgkT2QpOyR1YT0iRklSU1QiO2ZvcmVhY2goJF9QT1NUWyJmaWVsZHMiXWFzJHY9PiRsKXskbj0kZmNbJGxbInR5cGUiXV07JEpmPShpc3NldCgkbik/JHllWyRuXTokbCk7aWYoJGxbImZpZWxkIl0hPSIiKXtpZighJGxbImhhc19kZWZhdWx0Il0peyRsWyJkZWZhdWx0Il09bnVsbDt9JG1iPWVyZWdpX3JlcGxhY2UoIiAqb24gdXBkYXRlIENVUlJFTlRfVElNRVNUQU1QIiwiIiwkbFsiZGVmYXVsdCJdKTtpZigkbWIhPSRsWyJkZWZhdWx0Il0peyRsWyJvbl91cGRhdGUiXT0iQ1VSUkVOVF9USU1FU1RBTVAiOyRsWyJkZWZhdWx0Il09JG1iO31pZigkdj09JF9QT1NUWyJhdXRvX2luY3JlbWVudF9jb2wiXSl7JGxbImF1dG9faW5jcmVtZW50Il09dHJ1ZTt9JHJlPXByb2Nlc3NfZmllbGQoJGwsJEpmKTtpZigkcmUhPXByb2Nlc3NfZmllbGQoJE5kLCROZCkpeyRtW109YXJyYXkoJGxbIm9yaWciXSwkcmUsJHVhKTt9aWYoaXNzZXQoJG4pKXskZGNbaWRmX2VzY2FwZSgkbFsiZmllbGQiXSldPSgkYSE9IiI/IkFERCI6IiAiKS4iIEZPUkVJR04gS0VZICgiLmlkZl9lc2NhcGUoJGxbImZpZWxkIl0pLiIpIFJFRkVSRU5DRVMgIi50YWJsZSgkZmNbJGxbInR5cGUiXV0pLiIgKCIuaWRmX2VzY2FwZSgkSmZbImZpZWxkIl0pLiIpIi4oZXJlZygiXigkQmQpXCQiLCRsWyJvbl9kZWxldGUiXSk/IiBPTiBERUxFVEUgJGxbb25fZGVsZXRlXSI6IiIpO30kdWE9IkFGVEVSICIuaWRmX2VzY2FwZSgkbFsiZmllbGQiXSk7fWVsc2VpZigkbFsib3JpZyJdIT0iIil7JG1bXT1hcnJheSgkbFsib3JpZyJdKTt9aWYoJGxbIm9yaWciXSE9IiIpeyROZD1uZXh0KCRPZCk7fX0kWmQ9IiI7aWYoaW5fYXJyYXkoJF9QT1NUWyJwYXJ0aXRpb25fYnkiXSwkWGQpKXskYWU9YXJyYXkoKTtpZigkX1BPU1RbInBhcnRpdGlvbl9ieSJdPT0nUkFOR0UnfHwkX1BPU1RbInBhcnRpdGlvbl9ieSJdPT0nTElTVCcpe2ZvcmVhY2goYXJyYXlfZmlsdGVyKCRfUE9TVFsicGFydGl0aW9uX25hbWVzIl0pYXMkdj0+JFcpeyRYPSRfUE9TVFsicGFydGl0aW9uX3ZhbHVlcyJdWyR2XTskYWVbXT0iXG5QQVJUSVRJT04gIi5pZGZfZXNjYXBlKCRXKS4iIFZBTFVFUyAiLigkX1BPU1RbInBhcnRpdGlvbl9ieSJdPT0nUkFOR0UnPyJMRVNTIFRIQU4iOiJJTiIpLigkWCE9IiI/IiAoJFgpIjoiIE1BWFZBTFVFIik7fX0kWmQuPSJcblBBUlRJVElPTiBCWSAkX1BPU1RbcGFydGl0aW9uX2J5XSgkX1BPU1RbcGFydGl0aW9uXSkiLigkYWU/IiAoIi5pbXBsb2RlKCIsIiwkYWUpLiJcbikiOigkX1BPU1RbInBhcnRpdGlvbnMiXT8iIFBBUlRJVElPTlMgIi4oKyRfUE9TVFsicGFydGl0aW9ucyJdKToiIikpO31lbHNlaWYoJGEhPSIiJiZzdXBwb3J0KCJwYXJ0aXRpb25pbmciKSl7JFpkLj0iXG5SRU1PVkUgUEFSVElUSU9OSU5HIjt9JGhkPWxhbmcoMTQ1KTtpZigkYT09IiIpe2Nvb2tpZSgiYWRtaW5lcl9lbmdpbmUiLCRfUE9TVFsiRW5naW5lIl0pOyRoZD1sYW5nKDE0Nik7fXF1ZXJpZXNfcmVkaXJlY3QoTUUuInRhYmxlPSIudXJsZW5jb2RlKCRfUE9TVFsibmFtZSJdKSwkaGQsYWx0ZXJfdGFibGUoJGEsJF9QT1NUWyJuYW1lIl0sJG0sJGRjLCRfUE9TVFsiQ29tbWVudCJdLCgkX1BPU1RbIkVuZ2luZSJdJiYkX1BPU1RbIkVuZ2luZSJdIT0kUGRbIkVuZ2luZSJdPyRfUE9TVFsiRW5naW5lIl06IiIpLCgkX1BPU1RbIkNvbGxhdGlvbiJdJiYkX1BPU1RbIkNvbGxhdGlvbiJdIT0kUGRbIkNvbGxhdGlvbiJdPyRfUE9TVFsiQ29sbGF0aW9uIl06IiIpLCgkX1BPU1RbIkF1dG9faW5jcmVtZW50Il0hPSIiPyskX1BPU1RbIkF1dG9faW5jcmVtZW50Il06IiIpLCRaZCkpO319cGFnZV9oZWFkZXIoKCRhIT0iIj9sYW5nKDI4KTpsYW5nKDE0NykpLCRrLGFycmF5KCJ0YWJsZSI9PiRhKSwkYSk7JEc9YXJyYXkoIkVuZ2luZSI9PiRfQ09PS0lFWyJhZG1pbmVyX2VuZ2luZSJdLCJmaWVsZHMiPT5hcnJheShhcnJheSgiZmllbGQiPT4iIiwidHlwZSI9Pihpc3NldCgkVFsiaW50Il0pPyJpbnQiOihpc3NldCgkVFsiaW50ZWdlciJdKT8iaW50ZWdlciI6IiIpKSkpLCJwYXJ0aXRpb25fbmFtZXMiPT5hcnJheSgiIiksKTtpZigkX1BPU1QpeyRHPSRfUE9TVDtpZigkR1siYXV0b19pbmNyZW1lbnRfY29sIl0peyRHWyJmaWVsZHMiXVskR1siYXV0b19pbmNyZW1lbnRfY29sIl1dWyJhdXRvX2luY3JlbWVudCJdPXRydWU7fXByb2Nlc3NfZmllbGRzKCRHWyJmaWVsZHMiXSk7fWVsc2VpZigkYSE9IiIpeyRHPSRQZDskR1sibmFtZSJdPSRhOyRHWyJmaWVsZHMiXT1hcnJheSgpO2lmKCEkX0dFVFsiYXV0b19pbmNyZW1lbnQiXSl7JEdbIkF1dG9faW5jcmVtZW50Il09IiI7fWZvcmVhY2goJE9kCmFzJGwpeyRsWyJoYXNfZGVmYXVsdCJdPWlzc2V0KCRsWyJkZWZhdWx0Il0pO2lmKCRsWyJvbl91cGRhdGUiXSl7JGxbImRlZmF1bHQiXS49IiBPTiBVUERBVEUgJGxbb25fdXBkYXRlXSI7fSRHWyJmaWVsZHMiXVtdPSRsO31pZihzdXBwb3J0KCJwYXJ0aXRpb25pbmciKSl7JGpjPSJGUk9NIGluZm9ybWF0aW9uX3NjaGVtYS5QQVJUSVRJT05TIFdIRVJFIFRBQkxFX1NDSEVNQSA9ICIucShEQikuIiBBTkQgVEFCTEVfTkFNRSA9ICIucSgkYSk7JEU9JGctPnF1ZXJ5KCJTRUxFQ1QgUEFSVElUSU9OX01FVEhPRCwgUEFSVElUSU9OX09SRElOQUxfUE9TSVRJT04sIFBBUlRJVElPTl9FWFBSRVNTSU9OICRqYyBPUkRFUiBCWSBQQVJUSVRJT05fT1JESU5BTF9QT1NJVElPTiBERVNDIExJTUlUIDEiKTtsaXN0KCRHWyJwYXJ0aXRpb25fYnkiXSwkR1sicGFydGl0aW9ucyJdLCRHWyJwYXJ0aXRpb24iXSk9JEUtPmZldGNoX3JvdygpOyRHWyJwYXJ0aXRpb25fbmFtZXMiXT1hcnJheSgpOyRHWyJwYXJ0aXRpb25fdmFsdWVzIl09YXJyYXkoKTtmb3JlYWNoKGdldF9yb3dzKCJTRUxFQ1QgUEFSVElUSU9OX05BTUUsIFBBUlRJVElPTl9ERVNDUklQVElPTiAkamMgQU5EIFBBUlRJVElPTl9OQU1FICE9ICcnIE9SREVSIEJZIFBBUlRJVElPTl9PUkRJTkFMX1BPU0lUSU9OIilhcyRKZSl7JEdbInBhcnRpdGlvbl9uYW1lcyJdW109JEplWyJQQVJUSVRJT05fTkFNRSJdOyRHWyJwYXJ0aXRpb25fdmFsdWVzIl1bXT0kSmVbIlBBUlRJVElPTl9ERVNDUklQVElPTiJdO30kR1sicGFydGl0aW9uX25hbWVzIl1bXT0iIjt9fSRRYT1jb2xsYXRpb25zKCk7JGhmPWZsb29yKGV4dGVuc2lvbl9sb2FkZWQoInN1aG9zaW4iKT8obWluKGluaV9nZXQoInN1aG9zaW4ucmVxdWVzdC5tYXhfdmFycyIpLGluaV9nZXQoInN1aG9zaW4ucG9zdC5tYXhfdmFycyIpKS0xMykvMTA6MCk7aWYoJGhmJiZjb3VudCgkR1siZmllbGRzIl0pPiRoZil7ZWNobyI8cCBjbGFzcz0nZXJyb3InPiIuaChsYW5nKDE0OCwnc3Vob3Npbi5wb3N0Lm1heF92YXJzJywnc3Vob3Npbi5yZXF1ZXN0Lm1heF92YXJzJykpLiJcbiI7fSRHYj1lbmdpbmVzKCk7Zm9yZWFjaCgkR2IKYXMkRmIpe2lmKCFzdHJjYXNlY21wKCRGYiwkR1siRW5naW5lIl0pKXskR1siRW5naW5lIl09JEZiO2JyZWFrO319ZWNobycKPGZvcm0gYWN0aW9uPSIiIG1ldGhvZD0icG9zdCIgaWQ9ImZvcm0iPgo8cD4KJyxsYW5nKDE0OSksJzogPGlucHV0IG5hbWU9Im5hbWUiIG1heGxlbmd0aD0iNjQiIHZhbHVlPSInLGgoJEdbIm5hbWUiXSksJyI+Cic7aWYoJGE9PSIiJiYhJF9QT1NUKXs/PjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZm9ybScpWyduYW1lJ10uZm9jdXMoKTs8L3NjcmlwdD48P3BocCB9ZWNobygkR2I/aHRtbF9zZWxlY3QoIkVuZ2luZSIsYXJyYXkoIiI9PiIoIi5sYW5nKDE1MCkuIikiKSskR2IsJEdbIkVuZ2luZSJdKToiIiksJyAnLCgkUWEmJiFlcmVnKCJzcWxpdGV8bXNzcWwiLCR1KT9odG1sX3NlbGVjdCgiQ29sbGF0aW9uIixhcnJheSgiIj0+IigiLmxhbmcoODYpLiIpIikrJFFhLCRHWyJDb2xsYXRpb24iXSk6IiIpLCcgPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IicsbGFuZygxNDApLCciPgo8dGFibGUgY2VsbHNwYWNpbmc9IjAiIGlkPSJlZGl0LWZpZWxkcyIgY2xhc3M9Im5vd3JhcCI+Cic7JFZhPSgkX1BPU1Q/JF9QT1NUWyJjb21tZW50cyJdOiRHWyJDb21tZW50Il0hPSIiKTtpZighJF9QT1NUJiYhJFZhKXtmb3JlYWNoKCRHWyJmaWVsZHMiXWFzJGwpe2lmKCRsWyJjb21tZW50Il0hPSIiKXskVmE9dHJ1ZTticmVhazt9fX1lZGl0X2ZpZWxkcygkR1siZmllbGRzIl0sJFFhLCJUQUJMRSIsJGhmLCRmYywkVmEpO2VjaG8nPC90YWJsZT4KPHA+CicsbGFuZyg5MyksJzogPGlucHV0IG5hbWU9IkF1dG9faW5jcmVtZW50IiBzaXplPSI2IiB2YWx1ZT0iJyxoKCRHWyJBdXRvX2luY3JlbWVudCJdKSwnIj4KPGxhYmVsIGNsYXNzPSJqc29ubHkiPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iZGVmYXVsdHMiIHZhbHVlPSIxIicsKCRfUE9TVFsiZGVmYXVsdHMiXT8iIGNoZWNrZWQiOiIiKSwnIG9uY2xpY2s9ImNvbHVtblNob3codGhpcy5jaGVja2VkLCA1KTsiPicsbGFuZyg5NCksJzwvbGFiZWw+CicsKHN1cHBvcnQoImNvbW1lbnQiKT9jaGVja2JveCgiY29tbWVudHMiLDEsJFZhLGxhbmcoOTUpLCJjb2x1bW5TaG93KHRoaXMuY2hlY2tlZCwgNik7IHRvZ2dsZSgnQ29tbWVudCcpOyBpZiAodGhpcy5jaGVja2VkKSB0aGlzLmZvcm1bJ0NvbW1lbnQnXS5mb2N1cygpOyIsdHJ1ZSkuJyA8aW5wdXQgaWQ9IkNvbW1lbnQiIG5hbWU9IkNvbW1lbnQiIHZhbHVlPSInLmgoJEdbIkNvbW1lbnQiXSkuJyIgbWF4bGVuZ3RoPSI2MCInLigkVmE/Jyc6JyBjbGFzcz0iaGlkZGVuIicpLic+JzonJyksJzxwPgo8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iJyxsYW5nKDE0MCksJyI+Cic7aWYoJF9HRVRbImNyZWF0ZSJdIT0iIil7ZWNobyc8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJkcm9wIiB2YWx1ZT0iJyxsYW5nKDc5KSwnIicsY29uZmlybSgpLCc+Jzt9ZWNobyc8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ0b2tlbiIgdmFsdWU9IicsJFEsJyI+Cic7aWYoc3VwcG9ydCgicGFydGl0aW9uaW5nIikpeyRZZD1lcmVnKCdSQU5HRXxMSVNUJywkR1sicGFydGl0aW9uX2J5Il0pO3ByaW50X2ZpZWxkc2V0KCJwYXJ0aXRpb24iLGxhbmcoMTUxKSwkR1sicGFydGl0aW9uX2J5Il0pO2VjaG8nPHA+CicsaHRtbF9zZWxlY3QoInBhcnRpdGlvbl9ieSIsYXJyYXkoLTE9PiIiKSskWGQsJEdbInBhcnRpdGlvbl9ieSJdLCJwYXJ0aXRpb25CeUNoYW5nZSh0aGlzKTsiKSwnKDxpbnB1dCBuYW1lPSJwYXJ0aXRpb24iIHZhbHVlPSInLGgoJEdbInBhcnRpdGlvbiJdKSwnIj4pCicsbGFuZygxNTIpLCc6IDxpbnB1dCBuYW1lPSJwYXJ0aXRpb25zIiBzaXplPSIyIiB2YWx1ZT0iJyxoKCRHWyJwYXJ0aXRpb25zIl0pLCciJywoJFlkfHwhJEdbInBhcnRpdGlvbl9ieSJdPyIgY2xhc3M9J2hpZGRlbiciOiIiKSwnPgo8dGFibGUgY2VsbHNwYWNpbmc9IjAiIGlkPSJwYXJ0aXRpb24tdGFibGUiJywoJFlkPyIiOiIgY2xhc3M9J2hpZGRlbiciKSwnPgo8dGhlYWQ+PHRyPjx0aD4nLGxhbmcoMTUzKSwnPHRoPicsbGFuZygxNTQpLCc8L3RoZWFkPgonO2ZvcmVhY2goJEdbInBhcnRpdGlvbl9uYW1lcyJdYXMkdj0+JFcpe2VjaG8nPHRyPicsJzx0ZD48aW5wdXQgbmFtZT0icGFydGl0aW9uX25hbWVzW10iIHZhbHVlPSInLmgoJFcpLiciJy4oJHY9PWNvdW50KCRHWyJwYXJ0aXRpb25fbmFtZXMiXSktMT8nIG9uY2hhbmdlPSJwYXJ0aXRpb25OYW1lQ2hhbmdlKHRoaXMpOyInOicnKS4nPicsJzx0ZD48aW5wdXQgbmFtZT0icGFydGl0aW9uX3ZhbHVlc1tdIiB2YWx1ZT0iJy5oKCRHWyJwYXJ0aXRpb25fdmFsdWVzIl1bJHZdKS4nIj4nO31lY2hvJzwvdGFibGU+CjwvZGl2PjwvZmllbGRzZXQ+Cic7fWVjaG8nPC9mb3JtPgonO31lbHNlaWYoaXNzZXQoJF9HRVRbImluZGV4ZXMiXSkpeyRhPSRfR0VUWyJpbmRleGVzIl07JHpjPWFycmF5KCJQUklNQVJZIiwiVU5JUVVFIiwiSU5ERVgiKTskTz10YWJsZV9zdGF0dXMoJGEpO2lmKGVyZWdpKCJNeUlTQU18TT9hcmlhIiwkT1siRW5naW5lIl0pKXskemNbXT0iRlVMTFRFWFQiO30kdD1pbmRleGVzKCRhKTtpZigkdT09InNxbGl0ZSIpe3Vuc2V0KCR6Y1swXSk7dW5zZXQoJHRbIiJdKTt9aWYoJF9QT1NUJiYhJGsmJiEkX1BPU1RbImFkZCJdKXskYz1hcnJheSgpO2ZvcmVhY2goJF9QT1NUWyJpbmRleGVzIl1hcyRzKXskXz0kc1sibmFtZSJdO2lmKGluX2FycmF5KCRzWyJ0eXBlIl0sJHpjKSl7JGY9YXJyYXkoKTskVWM9YXJyYXkoKTskSz1hcnJheSgpO2tzb3J0KCRzWyJjb2x1bW5zIl0pO2ZvcmVhY2goJHNbImNvbHVtbnMiXWFzJHY9PiRlKXtpZigkZSE9IiIpeyR3PSRzWyJsZW5ndGhzIl1bJHZdOyRLW109aWRmX2VzY2FwZSgkZSkuKCR3PyIoIi4oKyR3KS4iKSI6IiIpOyRmW109JGU7JFVjW109KCR3PyR3Om51bGwpO319aWYoJGYpeyRRYj0kdFskX107aWYoJFFiKXtrc29ydCgkUWJbImNvbHVtbnMiXSk7a3NvcnQoJFFiWyJsZW5ndGhzIl0pO2lmKCRzWyJ0eXBlIl09PSRRYlsidHlwZSJdJiZhcnJheV92YWx1ZXMoJFFiWyJjb2x1bW5zIl0pPT09JGYmJighJFFiWyJsZW5ndGhzIl18fGFycmF5X3ZhbHVlcygkUWJbImxlbmd0aHMiXSk9PT0kVWMpKXt1bnNldCgkdFskX10pO2NvbnRpbnVlO319JGNbXT1hcnJheSgkc1sidHlwZSJdLCRfLCIoIi5pbXBsb2RlKCIsICIsJEspLiIpIik7fX19Zm9yZWFjaCgkdAphcyRfPT4kUWIpeyRjW109YXJyYXkoJFFiWyJ0eXBlIl0sJF8sIkRST1AiKTt9aWYoISRjKXtyZWRpcmVjdChNRS4idGFibGU9Ii51cmxlbmNvZGUoJGEpKTt9cXVlcmllc19yZWRpcmVjdChNRS4idGFibGU9Ii51cmxlbmNvZGUoJGEpLGxhbmcoMTU1KSxhbHRlcl9pbmRleGVzKCRhLCRjKSk7fXBhZ2VfaGVhZGVyKGxhbmcoMTAzKSwkayxhcnJheSgidGFibGUiPT4kYSksJGEpOyRtPWFycmF5X2tleXMoZmllbGRzKCRhKSk7JEc9YXJyYXkoImluZGV4ZXMiPT4kdCk7aWYoJF9QT1NUKXskRz0kX1BPU1Q7aWYoJF9QT1NUWyJhZGQiXSl7Zm9yZWFjaCgkR1siaW5kZXhlcyJdYXMkdj0+JHMpe2lmKCRzWyJjb2x1bW5zIl1bY291bnQoJHNbImNvbHVtbnMiXSldIT0iIil7JEdbImluZGV4ZXMiXVskdl1bImNvbHVtbnMiXVtdPSIiO319JHM9ZW5kKCRHWyJpbmRleGVzIl0pO2lmKCRzWyJ0eXBlIl18fGFycmF5X2ZpbHRlcigkc1siY29sdW1ucyJdLCdzdHJsZW4nKXx8YXJyYXlfZmlsdGVyKCRzWyJsZW5ndGhzIl0sJ3N0cmxlbicpKXskR1siaW5kZXhlcyJdW109YXJyYXkoImNvbHVtbnMiPT5hcnJheSgxPT4iIikpO319fWVsc2V7Zm9yZWFjaCgkR1siaW5kZXhlcyJdYXMkdj0+JHMpeyRHWyJpbmRleGVzIl1bJHZdWyJuYW1lIl09JHY7JEdbImluZGV4ZXMiXVskdl1bImNvbHVtbnMiXVtdPSIiO30kR1siaW5kZXhlcyJdW109YXJyYXkoImNvbHVtbnMiPT5hcnJheSgxPT4iIikpO31lY2hvJwo8Zm9ybSBhY3Rpb249IiIgbWV0aG9kPSJwb3N0Ij4KPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0ibm93cmFwIj4KPHRoZWFkPjx0cj48dGg+JyxsYW5nKDE1NiksJzx0aD4nLGxhbmcoMTU3KSwnPHRoPicsbGFuZygxNTgpLCc8L3RoZWFkPgonOyRJYz0xO2ZvcmVhY2goJEdbImluZGV4ZXMiXWFzJHMpe2VjaG8iPHRyPjx0ZD4iLmh0bWxfc2VsZWN0KCJpbmRleGVzWyRJY11bdHlwZV0iLGFycmF5KC0xPT4iIikrJHpjLCRzWyJ0eXBlIl0sKCRJYz09Y291bnQoJEdbImluZGV4ZXMiXSk/ImluZGV4ZXNBZGRSb3codGhpcyk7IjoxKSkuIjx0ZD4iO2tzb3J0KCRzWyJjb2x1bW5zIl0pOyRwPTE7Zm9yZWFjaCgkc1siY29sdW1ucyJdYXMkdj0+JGUpe2VjaG8iPHNwYW4+Ii5odG1sX3NlbGVjdCgiaW5kZXhlc1skSWNdW2NvbHVtbnNdWyRwXSIsYXJyYXkoLTE9PiIiKSskbSwkZSwoJHA9PWNvdW50KCRzWyJjb2x1bW5zIl0pPyJpbmRleGVzQWRkQ29sdW1uIjoiaW5kZXhlc0NoYW5nZUNvbHVtbiIpLiIodGhpcywgJyIuanNfZXNjYXBlKCR1PT0ic3FsIj8iIjokX0dFVFsiaW5kZXhlcyJdLiJfIikuIicpOyIpLCI8aW5wdXQgbmFtZT0naW5kZXhlc1skSWNdW2xlbmd0aHNdWyRwXScgc2l6ZT0nMicgdmFsdWU9JyIuaCgkc1sibGVuZ3RocyJdWyR2XSkuIic+IDwvc3Bhbj4iOyRwKys7fWVjaG8iPHRkPjxpbnB1dCBuYW1lPSdpbmRleGVzWyRJY11bbmFtZV0nIHZhbHVlPSciLmgoJHNbIm5hbWUiXSkuIic+XG4iOyRJYysrO31lY2hvJzwvdGFibGU+CjxwPgo8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iJyxsYW5nKDE0MCksJyI+Cjxub3NjcmlwdD48cD48aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJhZGQiIHZhbHVlPSInLGxhbmcoOTYpLCciPjwvbm9zY3JpcHQ+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InRva2VuIiB2YWx1ZT0iJywkUSwnIj4KPC9mb3JtPgonO31lbHNlaWYoaXNzZXQoJF9HRVRbImRhdGFiYXNlIl0pKXtpZigkX1BPU1QmJiEkayYmIWlzc2V0KCRfUE9TVFsiYWRkX3giXSkpe3Jlc3RhcnRfc2Vzc2lvbigpO2lmKCRfUE9TVFsiZHJvcCJdKXskX0dFVFsiZGIiXT0iIjtxdWVyaWVzX3JlZGlyZWN0KHJlbW92ZV9mcm9tX3VyaSgiZGJ8ZGF0YWJhc2UiKSxsYW5nKDE1OSksZHJvcF9kYXRhYmFzZXMoYXJyYXkoREIpKSk7fWVsc2VpZihEQiE9PSRfUE9TVFsibmFtZSJdKXtpZihEQiE9IiIpeyRfR0VUWyJkYiJdPSRfUE9TVFsibmFtZSJdO3F1ZXJpZXNfcmVkaXJlY3QocHJlZ19yZXBsYWNlKCd+ZGI9W14mXSomficsJycsTUUpLiJkYj0iLnVybGVuY29kZSgkX1BPU1RbIm5hbWUiXSksbGFuZygxNjApLHJlbmFtZV9kYXRhYmFzZSgkX1BPU1RbIm5hbWUiXSwkX1BPU1RbImNvbGxhdGlvbiJdKSk7fWVsc2V7JGk9ZXhwbG9kZSgiXG4iLHN0cl9yZXBsYWNlKCJcciIsIiIsJF9QT1NUWyJuYW1lIl0pKTskZmY9dHJ1ZTskT2M9IiI7Zm9yZWFjaCgkaQphcyRqKXtpZihjb3VudCgkaSk9PTF8fCRqIT0iIil7aWYoIWNyZWF0ZV9kYXRhYmFzZSgkaiwkX1BPU1RbImNvbGxhdGlvbiJdKSl7JGZmPWZhbHNlO30kT2M9JGo7fX1xdWVyaWVzX3JlZGlyZWN0KE1FLiJkYj0iLnVybGVuY29kZSgkT2MpLGxhbmcoMTYxKSwkZmYpO319ZWxzZXtpZighJF9QT1NUWyJjb2xsYXRpb24iXSl7cmVkaXJlY3Qoc3Vic3RyKE1FLDAsLTEpKTt9cXVlcnlfcmVkaXJlY3QoIkFMVEVSIERBVEFCQVNFICIuaWRmX2VzY2FwZSgkX1BPU1RbIm5hbWUiXSkuKGVyZWdpKCdeW2EtejAtOV9dKyQnLCRfUE9TVFsiY29sbGF0aW9uIl0pPyIgQ09MTEFURSAkX1BPU1RbY29sbGF0aW9uXSI6IiIpLHN1YnN0cihNRSwwLC0xKSxsYW5nKDE2MikpO319cGFnZV9oZWFkZXIoREIhPSIiP2xhbmcoNDYpOmxhbmcoMTYzKSwkayxhcnJheSgpLERCKTskUWE9Y29sbGF0aW9ucygpOyRfPURCOyRQYT1udWxsO2lmKCRfUE9TVCl7JF89JF9QT1NUWyJuYW1lIl07JFBhPSRfUE9TVFsiY29sbGF0aW9uIl07fWVsc2VpZihEQiE9IiIpeyRQYT1kYl9jb2xsYXRpb24oREIsJFFhKTt9ZWxzZWlmKCR1PT0ic3FsIil7Zm9yZWFjaChnZXRfdmFscygiU0hPVyBHUkFOVFMiKWFzJG1jKXtpZihwcmVnX21hdGNoKCd+IE9OIChgKChbXlxcXFxgXXxgYHxcXFxcLikqKSVgXFwuXFwqKT9+JywkbWMsJHopJiYkelsxXSl7JF89c3RyaXBjc2xhc2hlcyhpZGZfdW5lc2NhcGUoImAkelsyXWAiKSk7YnJlYWs7fX19ZWNobycKPGZvcm0gYWN0aW9uPSIiIG1ldGhvZD0icG9zdCI+CjxwPgonLCgkX1BPU1RbImFkZF94Il18fHN0cnBvcygkXywiXG4iKT8nPHRleHRhcmVhIGlkPSJuYW1lIiBuYW1lPSJuYW1lIiByb3dzPSIxMCIgY29scz0iNDAiPicuaCgkXykuJzwvdGV4dGFyZWE+PGJyPic6JzxpbnB1dCBpZD0ibmFtZSIgbmFtZT0ibmFtZSIgdmFsdWU9IicuaCgkXykuJyIgbWF4bGVuZ3RoPSI2NCI+JykuIlxuIi4oJFFhP2h0bWxfc2VsZWN0KCJjb2xsYXRpb24iLGFycmF5KCIiPT4iKCIubGFuZyg4NikuIikiKSskUWEsJFBhKToiIik7Pz4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCduYW1lJykuZm9jdXMoKTs8L3NjcmlwdD4KPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9Ijw/cGhwIGVjaG8KbGFuZygxNDApLCciPgonO2lmKERCIT0iIil7ZWNobyI8aW5wdXQgdHlwZT0nc3VibWl0JyBuYW1lPSdkcm9wJyB2YWx1ZT0nIi5sYW5nKDc5KS4iJyIuY29uZmlybSgpLiI+XG4iO31lbHNlaWYoISRfUE9TVFsiYWRkX3giXSYmJF9HRVRbImRiIl09PSIiKXtlY2hvIjxpbnB1dCB0eXBlPSdpbWFnZScgbmFtZT0nYWRkJyBzcmM9JyIuaChwcmVnX3JlcGxhY2UoIn5cXD8uKn4iLCIiLE1FKSkuIj9maWxlPXBsdXMuZ2lmJmFtcDt2ZXJzaW9uPTMuMy4zJyBhbHQ9JysnIHRpdGxlPSciLmxhbmcoOTYpLiInPlxuIjt9ZWNobyc8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ0b2tlbiIgdmFsdWU9IicsJFEsJyI+CjwvZm9ybT4KJzt9ZWxzZWlmKGlzc2V0KCRfR0VUWyJzY2hlbWUiXSkpe2lmKCRfUE9TVCYmISRrKXskeT1wcmVnX3JlcGxhY2UoJ35ucz1bXiZdKiZ+JywnJyxNRSkuIm5zPSI7aWYoJF9QT1NUWyJkcm9wIl0pe3F1ZXJ5X3JlZGlyZWN0KCJEUk9QIFNDSEVNQSAiLmlkZl9lc2NhcGUoJF9HRVRbIm5zIl0pLCR5LGxhbmcoMTY0KSk7fWVsc2V7JHkuPXVybGVuY29kZSgkX1BPU1RbIm5hbWUiXSk7aWYoJF9HRVRbIm5zIl09PSIiKXtxdWVyeV9yZWRpcmVjdCgiQ1JFQVRFIFNDSEVNQSAiLmlkZl9lc2NhcGUoJF9QT1NUWyJuYW1lIl0pLCR5LGxhbmcoMTY1KSk7fWVsc2VpZigkX0dFVFsibnMiXSE9JF9QT1NUWyJuYW1lIl0pe3F1ZXJ5X3JlZGlyZWN0KCJBTFRFUiBTQ0hFTUEgIi5pZGZfZXNjYXBlKCRfR0VUWyJucyJdKS4iIFJFTkFNRSBUTyAiLmlkZl9lc2NhcGUoJF9QT1NUWyJuYW1lIl0pLCR5LGxhbmcoMTY2KSk7fWVsc2V7cmVkaXJlY3QoJHkpO319fXBhZ2VfaGVhZGVyKCRfR0VUWyJucyJdIT0iIj9sYW5nKDQ3KTpsYW5nKDQ4KSwkayk7JEc9JF9QT1NUO2lmKCEkRyl7JEc9YXJyYXkoIm5hbWUiPT4kX0dFVFsibnMiXSk7fWVjaG8nCjxmb3JtIGFjdGlvbj0iIiBtZXRob2Q9InBvc3QiPgo8cD48aW5wdXQgbmFtZT0ibmFtZSIgdmFsdWU9IicsaCgkR1sibmFtZSJdKSwnIj4KPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IicsbGFuZygxNDApLCciPgonO2lmKCRfR0VUWyJucyJdIT0iIil7ZWNobyI8aW5wdXQgdHlwZT0nc3VibWl0JyBuYW1lPSdkcm9wJyB2YWx1ZT0nIi5sYW5nKDc5KS4iJyIuY29uZmlybSgpLiI+XG4iO31lY2hvJzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InRva2VuIiB2YWx1ZT0iJywkUSwnIj4KPC9mb3JtPgonO31lbHNlaWYoaXNzZXQoJF9HRVRbImNhbGwiXSkpeyRkYT0kX0dFVFsiY2FsbCJdO3BhZ2VfaGVhZGVyKGxhbmcoMTY3KS4iOiAiLmgoJGRhKSwkayk7JEdlPXJvdXRpbmUoJGRhLChpc3NldCgkX0dFVFsiY2FsbGYiXSk/IkZVTkNUSU9OIjoiUFJPQ0VEVVJFIikpOyR5Yz1hcnJheSgpOyRRZD1hcnJheSgpO2ZvcmVhY2goJEdlWyJmaWVsZHMiXWFzJHA9PiRsKXtpZihzdWJzdHIoJGxbImlub3V0Il0sLTMpPT0iT1VUIil7JFFkWyRwXT0iQCIuaWRmX2VzY2FwZSgkbFsiZmllbGQiXSkuIiBBUyAiLmlkZl9lc2NhcGUoJGxbImZpZWxkIl0pO31pZighJGxbImlub3V0Il18fHN1YnN0cigkbFsiaW5vdXQiXSwwLDIpPT0iSU4iKXskeWNbXT0kcDt9fWlmKCEkayYmJF9QT1NUKXskSmE9YXJyYXkoKTtmb3JlYWNoKCRHZVsiZmllbGRzIl1hcyR2PT4kbCl7aWYoaW5fYXJyYXkoJHYsJHljKSl7JFc9cHJvY2Vzc19pbnB1dCgkbCk7aWYoJFc9PT1mYWxzZSl7JFc9IicnIjt9aWYoaXNzZXQoJFFkWyR2XSkpeyRnLT5xdWVyeSgiU0VUIEAiLmlkZl9lc2NhcGUoJGxbImZpZWxkIl0pLiIgPSAkVyIpO319JEphW109KGlzc2V0KCRRZFskdl0pPyJAIi5pZGZfZXNjYXBlKCRsWyJmaWVsZCJdKTokVyk7fSREPShpc3NldCgkX0dFVFsiY2FsbGYiXSk/IlNFTEVDVCI6IkNBTEwiKS4iICIuaWRmX2VzY2FwZSgkZGEpLiIoIi5pbXBsb2RlKCIsICIsJEphKS4iKSI7ZWNobyI8cD48Y29kZSBjbGFzcz0nanVzaC0kdSc+Ii5oKCREKS4iPC9jb2RlPiA8YSBocmVmPSciLmgoTUUpLiJzcWw9Ii51cmxlbmNvZGUoJEQpLiInPiIubGFuZygzMSkuIjwvYT5cbiI7aWYoISRnLT5tdWx0aV9xdWVyeSgkRCkpe2VjaG8iPHAgY2xhc3M9J2Vycm9yJz4iLmVycm9yKCkuIlxuIjt9ZWxzZXskaD1jb25uZWN0KCk7aWYoaXNfb2JqZWN0KCRoKSl7JGgtPnNlbGVjdF9kYihEQik7fWRveyRFPSRnLT5zdG9yZV9yZXN1bHQoKTtpZihpc19vYmplY3QoJEUpKXtzZWxlY3QoJEUsJGgpO31lbHNle2VjaG8iPHAgY2xhc3M9J21lc3NhZ2UnPiIubGFuZygxNjgsJGctPmFmZmVjdGVkX3Jvd3MpLiJcbiI7fX13aGlsZSgkZy0+bmV4dF9yZXN1bHQoKSk7aWYoJFFkKXtzZWxlY3QoJGctPnF1ZXJ5KCJTRUxFQ1QgIi5pbXBsb2RlKCIsICIsJFFkKSkpO319fWVjaG8nCjxmb3JtIGFjdGlvbj0iIiBtZXRob2Q9InBvc3QiPgonO2lmKCR5Yyl7ZWNobyI8dGFibGUgY2VsbHNwYWNpbmc9JzAnPlxuIjtmb3JlYWNoKCR5YwphcyR2KXskbD0kR2VbImZpZWxkcyJdWyR2XTskXz0kbFsiZmllbGQiXTtlY2hvIjx0cj48dGg+Ii4kYi0+ZmllbGROYW1lKCRsKTskWD0kX1BPU1RbImZpZWxkcyJdWyRfXTtpZigkWCE9IiIpe2lmKCRsWyJ0eXBlIl09PSJlbnVtIil7JFg9KyRYO31pZigkbFsidHlwZSJdPT0ic2V0Iil7JFg9YXJyYXlfc3VtKCRYKTt9fWlucHV0KCRsLCRYLChzdHJpbmcpJF9QT1NUWyJmdW5jdGlvbiJdWyRfXSk7ZWNobyJcbiI7fWVjaG8iPC90YWJsZT5cbiI7fWVjaG8nPHA+CjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSInLGxhbmcoMTY3KSwnIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idG9rZW4iIHZhbHVlPSInLCRRLCciPgo8L2Zvcm0+Cic7fWVsc2VpZihpc3NldCgkX0dFVFsiZm9yZWlnbiJdKSl7JGE9JF9HRVRbImZvcmVpZ24iXTtpZigkX1BPU1QmJiEkayYmISRfUE9TVFsiYWRkIl0mJiEkX1BPU1RbImNoYW5nZSJdJiYhJF9QT1NUWyJjaGFuZ2UtanMiXSl7aWYoJF9QT1NUWyJkcm9wIl0pe3F1ZXJ5X3JlZGlyZWN0KCJBTFRFUiBUQUJMRSAiLnRhYmxlKCRhKS4iXG5EUk9QICIuKCR1PT0ic3FsIj8iRk9SRUlHTiBLRVkgIjoiQ09OU1RSQUlOVCAiKS5pZGZfZXNjYXBlKCRfR0VUWyJuYW1lIl0pLE1FLiJ0YWJsZT0iLnVybGVuY29kZSgkYSksbGFuZygxNjkpKTt9ZWxzZXskV2U9YXJyYXlfZmlsdGVyKCRfUE9TVFsic291cmNlIl0sJ3N0cmxlbicpO2tzb3J0KCRXZSk7JHRmPWFycmF5KCk7Zm9yZWFjaCgkV2UKYXMkdj0+JFcpeyR0Zlskdl09JF9QT1NUWyJ0YXJnZXQiXVskdl07fXF1ZXJ5X3JlZGlyZWN0KCJBTFRFUiBUQUJMRSAiLnRhYmxlKCRhKS4oJF9HRVRbIm5hbWUiXSE9IiI/IlxuRFJPUCBGT1JFSUdOIEtFWSAiLmlkZl9lc2NhcGUoJF9HRVRbIm5hbWUiXSkuIiwiOiIiKS4iXG5BREQgRk9SRUlHTiBLRVkgKCIuaW1wbG9kZSgiLCAiLGFycmF5X21hcCgnaWRmX2VzY2FwZScsJFdlKSkuIikgUkVGRVJFTkNFUyAiLnRhYmxlKCRfUE9TVFsidGFibGUiXSkuIiAoIi5pbXBsb2RlKCIsICIsYXJyYXlfbWFwKCdpZGZfZXNjYXBlJywkdGYpKS4iKSIuKGVyZWcoIl4oJEJkKVwkIiwkX1BPU1RbIm9uX2RlbGV0ZSJdKT8iIE9OIERFTEVURSAkX1BPU1Rbb25fZGVsZXRlXSI6IiIpLihlcmVnKCJeKCRCZClcJCIsJF9QT1NUWyJvbl91cGRhdGUiXSk/IiBPTiBVUERBVEUgJF9QT1NUW29uX3VwZGF0ZV0iOiIiKSxNRS4idGFibGU9Ii51cmxlbmNvZGUoJGEpLCgkX0dFVFsibmFtZSJdIT0iIj9sYW5nKDE3MCk6bGFuZygxNzEpKSk7JGs9bGFuZygxNzIpLiI8YnI+JGsiO319cGFnZV9oZWFkZXIobGFuZygxNzMpLCRrLGFycmF5KCJ0YWJsZSI9PiRhKSwkYSk7JEc9YXJyYXkoInRhYmxlIj0+JGEsInNvdXJjZSI9PmFycmF5KCIiKSk7aWYoJF9QT1NUKXskRz0kX1BPU1Q7a3NvcnQoJEdbInNvdXJjZSJdKTtpZigkX1BPU1RbImFkZCJdKXskR1sic291cmNlIl1bXT0iIjt9ZWxzZWlmKCRfUE9TVFsiY2hhbmdlIl18fCRfUE9TVFsiY2hhbmdlLWpzIl0peyRHWyJ0YXJnZXQiXT1hcnJheSgpO319ZWxzZWlmKCRfR0VUWyJuYW1lIl0hPSIiKXskZmM9Zm9yZWlnbl9rZXlzKCRhKTskRz0kZmNbJF9HRVRbIm5hbWUiXV07JEdbInNvdXJjZSJdW109IiI7fSRXZT1hcnJheV9rZXlzKGZpZWxkcygkYSkpOyR0Zj0oJGE9PT0kR1sidGFibGUiXT8kV2U6YXJyYXlfa2V5cyhmaWVsZHMoJEdbInRhYmxlIl0pKSk7JHhlPWFycmF5KCk7Zm9yZWFjaCh0YWJsZV9zdGF0dXMoKWFzJF89PiRPKXtpZihma19zdXBwb3J0KCRPKSl7JHhlW109JF87fX1lY2hvJwo8Zm9ybSBhY3Rpb249IiIgbWV0aG9kPSJwb3N0Ij4KPHA+Cic7aWYoJEdbImRiIl09PSIiJiYkR1sibnMiXT09IiIpe2VjaG8KbGFuZygxNzQpLCc6CicsaHRtbF9zZWxlY3QoInRhYmxlIiwkeGUsJEdbInRhYmxlIl0sInRoaXMuZm9ybVsnY2hhbmdlLWpzJ10udmFsdWUgPSAnMSc7IGlmICghYWpheEZvcm0odGhpcy5mb3JtKSkgdGhpcy5mb3JtLnN1Ym1pdCgpOyIpLCc8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJjaGFuZ2UtanMiIHZhbHVlPSIiPgo8bm9zY3JpcHQ+PHA+PGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0iY2hhbmdlIiB2YWx1ZT0iJyxsYW5nKDE3NSksJyI+PC9ub3NjcmlwdD4KPHRhYmxlIGNlbGxzcGFjaW5nPSIwIj4KPHRoZWFkPjx0cj48dGg+JyxsYW5nKDEwNSksJzx0aD4nLGxhbmcoMTA2KSwnPC90aGVhZD4KJzskSWM9MDtmb3JlYWNoKCRHWyJzb3VyY2UiXWFzJHY9PiRXKXtlY2hvIjx0cj4iLCI8dGQ+Ii5odG1sX3NlbGVjdCgic291cmNlWyIuKCskdikuIl0iLGFycmF5KC0xPT4iIikrJFdlLCRXLCgkSWM9PWNvdW50KCRHWyJzb3VyY2UiXSktMT8iZm9yZWlnbkFkZFJvdyh0aGlzKTsiOjEpKSwiPHRkPiIuaHRtbF9zZWxlY3QoInRhcmdldFsiLigrJHYpLiJdIiwkdGYsJEdbInRhcmdldCJdWyR2XSk7JEljKys7fWVjaG8nPC90YWJsZT4KPHA+CicsbGFuZyg4NyksJzogJyxodG1sX3NlbGVjdCgib25fZGVsZXRlIixhcnJheSgtMT0+IiIpK2V4cGxvZGUoInwiLCRCZCksJEdbIm9uX2RlbGV0ZSJdKSwnICcsbGFuZygxMDcpLCc6ICcsaHRtbF9zZWxlY3QoIm9uX3VwZGF0ZSIsYXJyYXkoLTE9PiIiKStleHBsb2RlKCJ8IiwkQmQpLCRHWyJvbl91cGRhdGUiXSksJzxwPgo8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iJyxsYW5nKDE0MCksJyI+Cjxub3NjcmlwdD48cD48aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJhZGQiIHZhbHVlPSInLGxhbmcoMTc2KSwnIj48L25vc2NyaXB0PgonO31pZigkX0dFVFsibmFtZSJdIT0iIil7ZWNobyc8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJkcm9wIiB2YWx1ZT0iJyxsYW5nKDc5KSwnIicsY29uZmlybSgpLCc+Jzt9ZWNobyc8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ0b2tlbiIgdmFsdWU9IicsJFEsJyI+CjwvZm9ybT4KJzt9ZWxzZWlmKGlzc2V0KCRfR0VUWyJ2aWV3Il0pKXskYT0kX0dFVFsidmlldyJdOyR2Yj1mYWxzZTtpZigkX1BPU1QmJiEkayl7JHZiPWRyb3BfY3JlYXRlKCJEUk9QIFZJRVcgIi50YWJsZSgkYSksIkNSRUFURSBWSUVXICIudGFibGUoJF9QT1NUWyJuYW1lIl0pLiIgQVNcbiRfUE9TVFtzZWxlY3RdIiwoJF9QT1NUWyJkcm9wIl0/c3Vic3RyKE1FLDAsLTEpOk1FLiJ0YWJsZT0iLnVybGVuY29kZSgkX1BPU1RbIm5hbWUiXSkpLGxhbmcoMTc3KSxsYW5nKDE3OCksbGFuZygxNzkpLCRhKTt9cGFnZV9oZWFkZXIoKCRhIT0iIj9sYW5nKDI3KTpsYW5nKDE4MCkpLCRrLGFycmF5KCJ0YWJsZSI9PiRhKSwkYSk7JEc9JF9QT1NUO2lmKCEkRyYmJGEhPSIiKXskRz12aWV3KCRhKTskR1sibmFtZSJdPSRhO31lY2hvJwo8Zm9ybSBhY3Rpb249IiIgbWV0aG9kPSJwb3N0Ij4KPHA+JyxsYW5nKDE1OCksJzogPGlucHV0IG5hbWU9Im5hbWUiIHZhbHVlPSInLGgoJEdbIm5hbWUiXSksJyIgbWF4bGVuZ3RoPSI2NCI+CjxwPic7dGV4dGFyZWEoInNlbGVjdCIsJEdbInNlbGVjdCJdKTtlY2hvJzxwPgonO2lmKCR2Yil7ZWNobyc8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkcm9wcGVkIiB2YWx1ZT0iMSI+Jzt9ZWNobyc8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iJyxsYW5nKDE0MCksJyI+Cic7aWYoJF9HRVRbInZpZXciXSE9IiIpe2VjaG8nPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0iZHJvcCIgdmFsdWU9IicsbGFuZyg3OSksJyInLGNvbmZpcm0oKSwnPic7fWVjaG8nPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idG9rZW4iIHZhbHVlPSInLCRRLCciPgo8L2Zvcm0+Cic7fWVsc2VpZihpc3NldCgkX0dFVFsiZXZlbnQiXSkpeyRhYT0kX0dFVFsiZXZlbnQiXTskRmM9YXJyYXkoIllFQVIiLCJRVUFSVEVSIiwiTU9OVEgiLCJEQVkiLCJIT1VSIiwiTUlOVVRFIiwiV0VFSyIsIlNFQ09ORCIsIllFQVJfTU9OVEgiLCJEQVlfSE9VUiIsIkRBWV9NSU5VVEUiLCJEQVlfU0VDT05EIiwiSE9VUl9NSU5VVEUiLCJIT1VSX1NFQ09ORCIsIk1JTlVURV9TRUNPTkQiKTskYmY9YXJyYXkoIkVOQUJMRUQiPT4iRU5BQkxFIiwiRElTQUJMRUQiPT4iRElTQUJMRSIsIlNMQVZFU0lERV9ESVNBQkxFRCI9PiJESVNBQkxFIE9OIFNMQVZFIik7aWYoJF9QT1NUJiYhJGspe2lmKCRfUE9TVFsiZHJvcCJdKXtxdWVyeV9yZWRpcmVjdCgiRFJPUCBFVkVOVCAiLmlkZl9lc2NhcGUoJGFhKSxzdWJzdHIoTUUsMCwtMSksbGFuZygxODEpKTt9ZWxzZWlmKGluX2FycmF5KCRfUE9TVFsiSU5URVJWQUxfRklFTEQiXSwkRmMpJiZpc3NldCgkYmZbJF9QT1NUWyJTVEFUVVMiXV0pKXskTGU9IlxuT04gU0NIRURVTEUgIi4oJF9QT1NUWyJJTlRFUlZBTF9WQUxVRSJdPyJFVkVSWSAiLnEoJF9QT1NUWyJJTlRFUlZBTF9WQUxVRSJdKS4iICRfUE9TVFtJTlRFUlZBTF9GSUVMRF0iLigkX1BPU1RbIlNUQVJUUyJdPyIgU1RBUlRTICIucSgkX1BPU1RbIlNUQVJUUyJdKToiIikuKCRfUE9TVFsiRU5EUyJdPyIgRU5EUyAiLnEoJF9QT1NUWyJFTkRTIl0pOiIiKToiQVQgIi5xKCRfUE9TVFsiU1RBUlRTIl0pKS4iIE9OIENPTVBMRVRJT04iLigkX1BPU1RbIk9OX0NPTVBMRVRJT04iXT8iIjoiIE5PVCIpLiIgUFJFU0VSVkUiO3F1ZXJpZXNfcmVkaXJlY3Qoc3Vic3RyKE1FLDAsLTEpLCgkYWEhPSIiP2xhbmcoMTgyKTpsYW5nKDE4MykpLHF1ZXJpZXMoKCRhYSE9IiI/IkFMVEVSIEVWRU5UICIuaWRmX2VzY2FwZSgkYWEpLiRMZS4oJGFhIT0kX1BPU1RbIkVWRU5UX05BTUUiXT8iXG5SRU5BTUUgVE8gIi5pZGZfZXNjYXBlKCRfUE9TVFsiRVZFTlRfTkFNRSJdKToiIik6IkNSRUFURSBFVkVOVCAiLmlkZl9lc2NhcGUoJF9QT1NUWyJFVkVOVF9OQU1FIl0pLiRMZSkuIlxuIi4kYmZbJF9QT1NUWyJTVEFUVVMiXV0uIiBDT01NRU5UICIucSgkX1BPU1RbIkVWRU5UX0NPTU1FTlQiXSkucnRyaW0oIiBET1xuJF9QT1NUW0VWRU5UX0RFRklOSVRJT05dIiwiOyIpLiI7IikpO319cGFnZV9oZWFkZXIoKCRhYSE9IiI/bGFuZygxODQpLiI6ICIuaCgkYWEpOmxhbmcoMTg1KSksJGspOyRHPSRfUE9TVDtpZighJEcmJiRhYSE9IiIpeyRIPWdldF9yb3dzKCJTRUxFQ1QgKiBGUk9NIGluZm9ybWF0aW9uX3NjaGVtYS5FVkVOVFMgV0hFUkUgRVZFTlRfU0NIRU1BID0gIi5xKERCKS4iIEFORCBFVkVOVF9OQU1FID0gIi5xKCRhYSkpOyRHPXJlc2V0KCRIKTt9ZWNobycKPGZvcm0gYWN0aW9uPSIiIG1ldGhvZD0icG9zdCI+Cjx0YWJsZSBjZWxsc3BhY2luZz0iMCI+Cjx0cj48dGg+JyxsYW5nKDE1OCksJzx0ZD48aW5wdXQgbmFtZT0iRVZFTlRfTkFNRSIgdmFsdWU9IicsaCgkR1siRVZFTlRfTkFNRSJdKSwnIiBtYXhsZW5ndGg9IjY0Ij4KPHRyPjx0aD4nLGxhbmcoMTg2KSwnPHRkPjxpbnB1dCBuYW1lPSJTVEFSVFMiIHZhbHVlPSInLGgoIiRHW0VYRUNVVEVfQVRdJEdbU1RBUlRTXSIpLCciPgo8dHI+PHRoPicsbGFuZygxODcpLCc8dGQ+PGlucHV0IG5hbWU9IkVORFMiIHZhbHVlPSInLGgoJEdbIkVORFMiXSksJyI+Cjx0cj48dGg+JyxsYW5nKDE4OCksJzx0ZD48aW5wdXQgbmFtZT0iSU5URVJWQUxfVkFMVUUiIHZhbHVlPSInLGgoJEdbIklOVEVSVkFMX1ZBTFVFIl0pLCciIHNpemU9IjYiPiAnLGh0bWxfc2VsZWN0KCJJTlRFUlZBTF9GSUVMRCIsJEZjLCRHWyJJTlRFUlZBTF9GSUVMRCJdKSwnPHRyPjx0aD4nLGxhbmcoNzQpLCc8dGQ+JyxodG1sX3NlbGVjdCgiU1RBVFVTIiwkYmYsJEdbIlNUQVRVUyJdKSwnPHRyPjx0aD4nLGxhbmcoOTUpLCc8dGQ+PGlucHV0IG5hbWU9IkVWRU5UX0NPTU1FTlQiIHZhbHVlPSInLGgoJEdbIkVWRU5UX0NPTU1FTlQiXSksJyIgbWF4bGVuZ3RoPSI2NCI+Cjx0cj48dGg+Jm5ic3A7PHRkPicsY2hlY2tib3goIk9OX0NPTVBMRVRJT04iLCJQUkVTRVJWRSIsJEdbIk9OX0NPTVBMRVRJT04iXT09IlBSRVNFUlZFIixsYW5nKDE4OSkpLCc8L3RhYmxlPgo8cD4nO3RleHRhcmVhKCJFVkVOVF9ERUZJTklUSU9OIiwkR1siRVZFTlRfREVGSU5JVElPTiJdKTtlY2hvJzxwPgo8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iJyxsYW5nKDE0MCksJyI+Cic7aWYoJGFhIT0iIil7ZWNobyc8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJkcm9wIiB2YWx1ZT0iJyxsYW5nKDc5KSwnIicsY29uZmlybSgpLCc+Jzt9ZWNobyc8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ0b2tlbiIgdmFsdWU9IicsJFEsJyI+CjwvZm9ybT4KJzt9ZWxzZWlmKGlzc2V0KCRfR0VUWyJwcm9jZWR1cmUiXSkpeyRkYT0kX0dFVFsicHJvY2VkdXJlIl07JEdlPShpc3NldCgkX0dFVFsiZnVuY3Rpb24iXSk/IkZVTkNUSU9OIjoiUFJPQ0VEVVJFIik7JEhlPXJvdXRpbmVfbGFuZ3VhZ2VzKCk7JHZiPWZhbHNlO2lmKCRfUE9TVCYmISRrJiYhJF9QT1NUWyJhZGQiXSYmISRfUE9TVFsiZHJvcF9jb2wiXSYmISRfUE9TVFsidXAiXSYmISRfUE9TVFsiZG93biJdKXskSz1hcnJheSgpOyRtPShhcnJheSkkX1BPU1RbImZpZWxkcyJdO2tzb3J0KCRtKTtmb3JlYWNoKCRtCmFzJGwpe2lmKCRsWyJmaWVsZCJdIT0iIil7JEtbXT0oZXJlZygiXigkQ2MpXCQiLCRsWyJpbm91dCJdKT8iJGxbaW5vdXRdICI6IiIpLmlkZl9lc2NhcGUoJGxbImZpZWxkIl0pLnByb2Nlc3NfdHlwZSgkbCwiQ0hBUkFDVEVSIFNFVCIpO319JHZiPWRyb3BfY3JlYXRlKCJEUk9QICRHZSAiLmlkZl9lc2NhcGUoJGRhKSwiQ1JFQVRFICRHZSAiLmlkZl9lc2NhcGUoJF9QT1NUWyJuYW1lIl0pLiIgKCIuaW1wbG9kZSgiLCAiLCRLKS4iKSIuKGlzc2V0KCRfR0VUWyJmdW5jdGlvbiJdKT8iIFJFVFVSTlMiLnByb2Nlc3NfdHlwZSgkX1BPU1RbInJldHVybnMiXSwiQ0hBUkFDVEVSIFNFVCIpOiIiKS4oaW5fYXJyYXkoJF9QT1NUWyJsYW5ndWFnZSJdLCRIZSk/IiBMQU5HVUFHRSAkX1BPU1RbbGFuZ3VhZ2VdIjoiIikucnRyaW0oIlxuJF9QT1NUW2RlZmluaXRpb25dIiwiOyIpLiI7IixzdWJzdHIoTUUsMCwtMSksbGFuZygxOTApLGxhbmcoMTkxKSxsYW5nKDE5MiksJGRhKTt9cGFnZV9oZWFkZXIoKCRkYSE9IiI/KGlzc2V0KCRfR0VUWyJmdW5jdGlvbiJdKT9sYW5nKDE5Myk6bGFuZygxOTQpKS4iOiAiLmgoJGRhKTooaXNzZXQoJF9HRVRbImZ1bmN0aW9uIl0pP2xhbmcoMTk1KTpsYW5nKDE5NikpKSwkayk7JFFhPWdldF92YWxzKCJTSE9XIENIQVJBQ1RFUiBTRVQiKTtzb3J0KCRRYSk7JEc9YXJyYXkoImZpZWxkcyI9PmFycmF5KCkpO2lmKCRfUE9TVCl7JEc9JF9QT1NUOyRHWyJmaWVsZHMiXT0oYXJyYXkpJEdbImZpZWxkcyJdO3Byb2Nlc3NfZmllbGRzKCRHWyJmaWVsZHMiXSk7fWVsc2VpZigkZGEhPSIiKXskRz1yb3V0aW5lKCRkYSwkR2UpOyRHWyJuYW1lIl09JGRhO31lY2hvJwo8Zm9ybSBhY3Rpb249IiIgbWV0aG9kPSJwb3N0IiBpZD0iZm9ybSI+CjxwPicsbGFuZygxNTgpLCc6IDxpbnB1dCBuYW1lPSJuYW1lIiB2YWx1ZT0iJyxoKCRHWyJuYW1lIl0pLCciIG1heGxlbmd0aD0iNjQiPgonLCgkSGU/bGFuZyg3KS4iOiAiLmh0bWxfc2VsZWN0KCJsYW5ndWFnZSIsJEhlLCRHWyJsYW5ndWFnZSJdKToiIiksJzx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2xhc3M9Im5vd3JhcCI+Cic7ZWRpdF9maWVsZHMoJEdbImZpZWxkcyJdLCRRYSwkR2UpO2lmKGlzc2V0KCRfR0VUWyJmdW5jdGlvbiJdKSl7ZWNobyI8dHI+PHRkPiIubGFuZygxOTcpO2VkaXRfdHlwZSgicmV0dXJucyIsJEdbInJldHVybnMiXSwkUWEpO31lY2hvJzwvdGFibGU+CjxwPic7dGV4dGFyZWEoImRlZmluaXRpb24iLCRHWyJkZWZpbml0aW9uIl0pO2VjaG8nPHA+CjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSInLGxhbmcoMTQwKSwnIj4KJztpZigkZGEhPSIiKXtlY2hvJzxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9ImRyb3AiIHZhbHVlPSInLGxhbmcoNzkpLCciJyxjb25maXJtKCksJz4nO31pZigkdmIpe2VjaG8nPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZHJvcHBlZCIgdmFsdWU9IjEiPic7fWVjaG8nPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idG9rZW4iIHZhbHVlPSInLCRRLCciPgo8L2Zvcm0+Cic7fWVsc2VpZihpc3NldCgkX0dFVFsic2VxdWVuY2UiXSkpeyRmYT0kX0dFVFsic2VxdWVuY2UiXTtpZigkX1BPU1QmJiEkayl7JHk9c3Vic3RyKE1FLDAsLTEpO2lmKCRfUE9TVFsiZHJvcCJdKXtxdWVyeV9yZWRpcmVjdCgiRFJPUCBTRVFVRU5DRSAiLmlkZl9lc2NhcGUoJGZhKSwkeSxsYW5nKDE5OCkpO31lbHNlaWYoJGZhPT0iIil7cXVlcnlfcmVkaXJlY3QoIkNSRUFURSBTRVFVRU5DRSAiLmlkZl9lc2NhcGUoJF9QT1NUWyJuYW1lIl0pLCR5LGxhbmcoMTk5KSk7fWVsc2VpZigkZmEhPSRfUE9TVFsibmFtZSJdKXtxdWVyeV9yZWRpcmVjdCgiQUxURVIgU0VRVUVOQ0UgIi5pZGZfZXNjYXBlKCRmYSkuIiBSRU5BTUUgVE8gIi5pZGZfZXNjYXBlKCRfUE9TVFsibmFtZSJdKSwkeSxsYW5nKDIwMCkpO31lbHNle3JlZGlyZWN0KCR5KTt9fXBhZ2VfaGVhZGVyKCRmYSE9IiI/bGFuZygyMDEpLiI6ICIuaCgkZmEpOmxhbmcoMjAyKSwkayk7JEc9JF9QT1NUO2lmKCEkRyl7JEc9YXJyYXkoIm5hbWUiPT4kZmEpO31lY2hvJwo8Zm9ybSBhY3Rpb249IiIgbWV0aG9kPSJwb3N0Ij4KPHA+PGlucHV0IG5hbWU9Im5hbWUiIHZhbHVlPSInLGgoJEdbIm5hbWUiXSksJyI+CjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSInLGxhbmcoMTQwKSwnIj4KJztpZigkZmEhPSIiKXtlY2hvIjxpbnB1dCB0eXBlPSdzdWJtaXQnIG5hbWU9J2Ryb3AnIHZhbHVlPSciLmxhbmcoNzkpLiInIi5jb25maXJtKCkuIj5cbiI7fWVjaG8nPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idG9rZW4iIHZhbHVlPSInLCRRLCciPgo8L2Zvcm0+Cic7fWVsc2VpZihpc3NldCgkX0dFVFsidHlwZSJdKSl7JGdhPSRfR0VUWyJ0eXBlIl07aWYoJF9QT1NUJiYhJGspeyR5PXN1YnN0cihNRSwwLC0xKTtpZigkX1BPU1RbImRyb3AiXSl7cXVlcnlfcmVkaXJlY3QoIkRST1AgVFlQRSAiLmlkZl9lc2NhcGUoJGdhKSwkeSxsYW5nKDIwMykpO31lbHNle3F1ZXJ5X3JlZGlyZWN0KCJDUkVBVEUgVFlQRSAiLmlkZl9lc2NhcGUoJF9QT1NUWyJuYW1lIl0pLiIgJF9QT1NUW2FzXSIsJHksbGFuZygyMDQpKTt9fXBhZ2VfaGVhZGVyKCRnYSE9IiI/bGFuZygyMDUpLiI6ICIuaCgkZ2EpOmxhbmcoMjA2KSwkayk7JEc9JF9QT1NUO2lmKCEkRyl7JEc9YXJyYXkoImFzIj0+IkFTICIpO31lY2hvJwo8Zm9ybSBhY3Rpb249IiIgbWV0aG9kPSJwb3N0Ij4KPHA+Cic7aWYoJGdhIT0iIil7ZWNobyI8aW5wdXQgdHlwZT0nc3VibWl0JyBuYW1lPSdkcm9wJyB2YWx1ZT0nIi5sYW5nKDc5KS4iJyIuY29uZmlybSgpLiI+XG4iO31lbHNle2VjaG8iPGlucHV0IG5hbWU9J25hbWUnIHZhbHVlPSciLmgoJEdbJ25hbWUnXSkuIic+XG4iO3RleHRhcmVhKCJhcyIsJEdbImFzIl0pO2VjaG8iPHA+PGlucHV0IHR5cGU9J3N1Ym1pdCcgdmFsdWU9JyIubGFuZygxNDApLiInPlxuIjt9ZWNobyc8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ0b2tlbiIgdmFsdWU9IicsJFEsJyI+CjwvZm9ybT4KJzt9ZWxzZWlmKGlzc2V0KCRfR0VUWyJ0cmlnZ2VyIl0pKXskYT0kX0dFVFsidHJpZ2dlciJdOyRIZj10cmlnZ2VyX29wdGlvbnMoKTskR2Y9YXJyYXkoIklOU0VSVCIsIlVQREFURSIsIkRFTEVURSIpOyR2Yj1mYWxzZTtpZigkX1BPU1QmJiEkayYmaW5fYXJyYXkoJF9QT1NUWyJUaW1pbmciXSwkSGZbIlRpbWluZyJdKSYmaW5fYXJyYXkoJF9QT1NUWyJFdmVudCJdLCRHZikmJmluX2FycmF5KCRfUE9TVFsiVHlwZSJdLCRIZlsiVHlwZSJdKSl7JHlmPSIgJF9QT1NUW1RpbWluZ10gJF9QT1NUW0V2ZW50XSI7JEFkPSIgT04gIi50YWJsZSgkYSk7JHZiPWRyb3BfY3JlYXRlKCJEUk9QIFRSSUdHRVIgIi5pZGZfZXNjYXBlKCRfR0VUWyJuYW1lIl0pLigkdT09InBnc3FsIj8kQWQ6IiIpLCJDUkVBVEUgVFJJR0dFUiAiLmlkZl9lc2NhcGUoJF9QT1NUWyJUcmlnZ2VyIl0pLigkdT09Im1zc3FsIj8kQWQuJHlmOiR5Zi4kQWQpLnJ0cmltKCIgJF9QT1NUW1R5cGVdXG4kX1BPU1RbU3RhdGVtZW50XSIsIjsiKS4iOyIsTUUuInRhYmxlPSIudXJsZW5jb2RlKCRhKSxsYW5nKDIwNyksbGFuZygyMDgpLGxhbmcoMjA5KSwkX0dFVFsibmFtZSJdKTt9cGFnZV9oZWFkZXIoKCRfR0VUWyJuYW1lIl0hPSIiP2xhbmcoMjEwKS4iOiAiLmgoJF9HRVRbIm5hbWUiXSk6bGFuZygyMTEpKSwkayxhcnJheSgidGFibGUiPT4kYSkpOyRHPSRfUE9TVDtpZighJEcpeyRHPXRyaWdnZXIoJF9HRVRbIm5hbWUiXSkrYXJyYXkoIlRyaWdnZXIiPT4kYS4iX2JpIik7fWVjaG8nCjxmb3JtIGFjdGlvbj0iIiBtZXRob2Q9InBvc3QiIGlkPSJmb3JtIj4KPHRhYmxlIGNlbGxzcGFjaW5nPSIwIj4KPHRyPjx0aD4nLGxhbmcoMjEyKSwnPHRkPicsaHRtbF9zZWxlY3QoIlRpbWluZyIsJEhmWyJUaW1pbmciXSwkR1siVGltaW5nIl0sImlmICgvXiIucHJlZ19xdW90ZSgkYSwiLyIpLiJfW2JhXVtpdWRdJC8udGVzdCh0aGlzLmZvcm1bJ1RyaWdnZXInXS52YWx1ZSkpIHRoaXMuZm9ybVsnVHJpZ2dlciddLnZhbHVlID0gJyIuanNfZXNjYXBlKCRhKS4iXycgKyBzZWxlY3RWYWx1ZSh0aGlzKS5jaGFyQXQoMCkudG9Mb3dlckNhc2UoKSArIHNlbGVjdFZhbHVlKHRoaXMuZm9ybVsnRXZlbnQnXSkuY2hhckF0KDApLnRvTG93ZXJDYXNlKCk7IiksJzx0cj48dGg+JyxsYW5nKDIxMyksJzx0ZD4nLGh0bWxfc2VsZWN0KCJFdmVudCIsJEdmLCRHWyJFdmVudCJdLCJ0aGlzLmZvcm1bJ1RpbWluZyddLm9uY2hhbmdlKCk7IiksJzx0cj48dGg+JyxsYW5nKDkwKSwnPHRkPicsaHRtbF9zZWxlY3QoIlR5cGUiLCRIZlsiVHlwZSJdLCRHWyJUeXBlIl0pLCc8L3RhYmxlPgo8cD4nLGxhbmcoMTU4KSwnOiA8aW5wdXQgbmFtZT0iVHJpZ2dlciIgdmFsdWU9IicsaCgkR1siVHJpZ2dlciJdKSwnIiBtYXhsZW5ndGg9IjY0Ij4KPHA+Jzt0ZXh0YXJlYSgiU3RhdGVtZW50IiwkR1siU3RhdGVtZW50Il0pO2VjaG8nPHA+CjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSInLGxhbmcoMTQwKSwnIj4KJztpZigkX0dFVFsibmFtZSJdIT0iIil7ZWNobyc8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJkcm9wIiB2YWx1ZT0iJyxsYW5nKDc5KSwnIicsY29uZmlybSgpLCc+Jzt9aWYoJHZiKXtlY2hvJzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImRyb3BwZWQiIHZhbHVlPSIxIj4nO31lY2hvJzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InRva2VuIiB2YWx1ZT0iJywkUSwnIj4KPC9mb3JtPgonO31lbHNlaWYoaXNzZXQoJF9HRVRbInVzZXIiXSkpeyRoYT0kX0dFVFsidXNlciJdOyRwZT1hcnJheSgiIj0+YXJyYXkoIkFsbCBwcml2aWxlZ2VzIj0+IiIpKTtmb3JlYWNoKGdldF9yb3dzKCJTSE9XIFBSSVZJTEVHRVMiKWFzJEcpe2ZvcmVhY2goZXhwbG9kZSgiLCIsKCRHWyJQcml2aWxlZ2UiXT09IkdyYW50IG9wdGlvbiI/IiI6JEdbIkNvbnRleHQiXSkpYXMkWmEpeyRwZVskWmFdWyRHWyJQcml2aWxlZ2UiXV09JEdbIkNvbW1lbnQiXTt9fSRwZVsiU2VydmVyIEFkbWluIl0rPSRwZVsiRmlsZSBhY2Nlc3Mgb24gc2VydmVyIl07JHBlWyJEYXRhYmFzZXMiXVsiQ3JlYXRlIHJvdXRpbmUiXT0kcGVbIlByb2NlZHVyZXMiXVsiQ3JlYXRlIHJvdXRpbmUiXTt1bnNldCgkcGVbIlByb2NlZHVyZXMiXVsiQ3JlYXRlIHJvdXRpbmUiXSk7JHBlWyJDb2x1bW5zIl09YXJyYXkoKTtmb3JlYWNoKGFycmF5KCJTZWxlY3QiLCJJbnNlcnQiLCJVcGRhdGUiLCJSZWZlcmVuY2VzIilhcyRXKXskcGVbIkNvbHVtbnMiXVskV109JHBlWyJUYWJsZXMiXVskV107fXVuc2V0KCRwZVsiU2VydmVyIEFkbWluIl1bIlVzYWdlIl0pO2ZvcmVhY2goJHBlWyJUYWJsZXMiXWFzJHY9PiRXKXt1bnNldCgkcGVbIkRhdGFiYXNlcyJdWyR2XSk7fSR0ZD1hcnJheSgpO2lmKCRfUE9TVCl7Zm9yZWFjaCgkX1BPU1RbIm9iamVjdHMiXWFzJHY9PiRXKXskdGRbJFddPShhcnJheSkkdGRbJFddKyhhcnJheSkkX1BPU1RbImdyYW50cyJdWyR2XTt9fSRuYz1hcnJheSgpOyR6ZD0iIjtpZihpc3NldCgkX0dFVFsiaG9zdCJdKSYmKCRFPSRnLT5xdWVyeSgiU0hPVyBHUkFOVFMgRk9SICIucSgkaGEpLiJAIi5xKCRfR0VUWyJob3N0Il0pKSkpe3doaWxlKCRHPSRFLT5mZXRjaF9yb3coKSl7aWYocHJlZ19tYXRjaCgnfkdSQU5UICguKikgT04gKC4qKSBUTyB+JywkR1swXSwkeikmJnByZWdfbWF0Y2hfYWxsKCd+ICooW14oLF0qW14gLChdKSggKlxcKFteKV0rXFwpKT9+JywkelsxXSwkYWQsUFJFR19TRVRfT1JERVIpKXtmb3JlYWNoKCRhZAphcyRXKXtpZigkV1sxXSE9IlVTQUdFIil7JG5jWyIkelsyXSRXWzJdIl1bJFdbMV1dPXRydWU7fWlmKGVyZWcoJyBXSVRIIEdSQU5UIE9QVElPTicsJEdbMF0pKXskbmNbIiR6WzJdJFdbMl0iXVsiR1JBTlQgT1BUSU9OIl09dHJ1ZTt9fX1pZihwcmVnX21hdGNoKCJ+IElERU5USUZJRUQgQlkgUEFTU1dPUkQgJyhbXiddKyl+IiwkR1swXSwkeikpeyR6ZD0kelsxXTt9fX1pZigkX1BPU1QmJiEkayl7JF9kPShpc3NldCgkX0dFVFsiaG9zdCJdKT9xKCRoYSkuIkAiLnEoJF9HRVRbImhvc3QiXSk6IicnIik7JHVkPXEoJF9QT1NUWyJ1c2VyIl0pLiJAIi5xKCRfUE9TVFsiaG9zdCJdKTskYmU9cSgkX1BPU1RbInBhc3MiXSk7aWYoJF9QT1NUWyJkcm9wIl0pe3F1ZXJ5X3JlZGlyZWN0KCJEUk9QIFVTRVIgJF9kIixNRS4icHJpdmlsZWdlcz0iLGxhbmcoMjE0KSk7fWVsc2V7JGViPWZhbHNlO2lmKCRfZCE9JHVkKXskZWI9cXVlcmllcygoJGctPnNlcnZlcl9pbmZvPDU/IkdSQU5UIFVTQUdFIE9OICouKiBUTyI6IkNSRUFURSBVU0VSIikuIiAkdWQgSURFTlRJRklFRCBCWSIuKCRfUE9TVFsiaGFzaGVkIl0/IiBQQVNTV09SRCI6IiIpLiIgJGJlIik7JGs9ISRlYjt9ZWxzZWlmKCRfUE9TVFsicGFzcyJdIT0kemR8fCEkX1BPU1RbImhhc2hlZCJdKXtxdWVyaWVzKCJTRVQgUEFTU1dPUkQgRk9SICR1ZCA9ICIuKCRfUE9TVFsiaGFzaGVkIl0/JGJlOiJQQVNTV09SRCgkYmUpIikpO31pZighJGspeyREZT1hcnJheSgpO2ZvcmVhY2goJHRkCmFzJHhkPT4kbWMpe2lmKGlzc2V0KCRfR0VUWyJncmFudCJdKSl7JG1jPWFycmF5X2ZpbHRlcigkbWMpO30kbWM9YXJyYXlfa2V5cygkbWMpO2lmKGlzc2V0KCRfR0VUWyJncmFudCJdKSl7JERlPWFycmF5X2RpZmYoYXJyYXlfa2V5cyhhcnJheV9maWx0ZXIoJHRkWyR4ZF0sJ3N0cmxlbicpKSwkbWMpO31lbHNlaWYoJF9kPT0kdWQpeyR5ZD1hcnJheV9rZXlzKChhcnJheSkkbmNbJHhkXSk7JERlPWFycmF5X2RpZmYoJHlkLCRtYyk7JG1jPWFycmF5X2RpZmYoJG1jLCR5ZCk7dW5zZXQoJG5jWyR4ZF0pO31pZihwcmVnX21hdGNoKCd+XiguKylcXHMqKFxcKC4qXFwpKT8kflUnLCR4ZCwkeikmJighZ3JhbnQoIlJFVk9LRSIsJERlLCR6WzJdLCIgT04gJHpbMV0gRlJPTSAkdWQiKXx8IWdyYW50KCJHUkFOVCIsJG1jLCR6WzJdLCIgT04gJHpbMV0gVE8gJHVkIikpKXskaz10cnVlO2JyZWFrO319fWlmKCEkayYmaXNzZXQoJF9HRVRbImhvc3QiXSkpe2lmKCRfZCE9JHVkKXtxdWVyaWVzKCJEUk9QIFVTRVIgJF9kIik7fWVsc2VpZighaXNzZXQoJF9HRVRbImdyYW50Il0pKXtmb3JlYWNoKCRuYwphcyR4ZD0+JERlKXtpZihwcmVnX21hdGNoKCd+XiguKykoXFwoLipcXCkpPyR+VScsJHhkLCR6KSl7Z3JhbnQoIlJFVk9LRSIsYXJyYXlfa2V5cygkRGUpLCR6WzJdLCIgT04gJHpbMV0gRlJPTSAkdWQiKTt9fX19cXVlcmllc19yZWRpcmVjdChNRS4icHJpdmlsZWdlcz0iLChpc3NldCgkX0dFVFsiaG9zdCJdKT9sYW5nKDIxNSk6bGFuZygyMTYpKSwhJGspO2lmKCRlYil7JGctPnF1ZXJ5KCJEUk9QIFVTRVIgJHVkIik7fX19cGFnZV9oZWFkZXIoKGlzc2V0KCRfR0VUWyJob3N0Il0pP2xhbmcoMjEpLiI6ICIuaCgiJGhhQCRfR0VUW2hvc3RdIik6bGFuZygxMTkpKSwkayxhcnJheSgicHJpdmlsZWdlcyI9PmFycmF5KCcnLGxhbmcoNTApKSkpO2lmKCRfUE9TVCl7JEc9JF9QT1NUOyRuYz0kdGQ7fWVsc2V7JEc9JF9HRVQrYXJyYXkoImhvc3QiPT4kZy0+cmVzdWx0KCJTRUxFQ1QgU1VCU1RSSU5HX0lOREVYKENVUlJFTlRfVVNFUiwgJ0AnLCAtMSkiKSk7JEdbInBhc3MiXT0kemQ7aWYoJHpkIT0iIil7JEdbImhhc2hlZCJdPXRydWU7fSRuY1tEQiE9IiImJiFpc3NldCgkX0dFVFsiaG9zdCJdKT9pZGZfZXNjYXBlKGFkZGNzbGFzaGVzKERCLCIlXyIpKS4iLioiOiIiXT1hcnJheSgpO31lY2hvJzxmb3JtIGFjdGlvbj0iIiBtZXRob2Q9InBvc3QiPgo8dGFibGUgY2VsbHNwYWNpbmc9IjAiPgo8dHI+PHRoPicsbGFuZygyMCksJzx0ZD48aW5wdXQgbmFtZT0iaG9zdCIgbWF4bGVuZ3RoPSI2MCIgdmFsdWU9IicsaCgkR1siaG9zdCJdKSwnIj4KPHRyPjx0aD4nLGxhbmcoMjEpLCc8dGQ+PGlucHV0IG5hbWU9InVzZXIiIG1heGxlbmd0aD0iMTYiIHZhbHVlPSInLGgoJEdbInVzZXIiXSksJyI+Cjx0cj48dGg+JyxsYW5nKDIyKSwnPHRkPjxpbnB1dCBpZD0icGFzcyIgbmFtZT0icGFzcyIgdmFsdWU9IicsaCgkR1sicGFzcyJdKSwnIj4KJztpZighJEdbImhhc2hlZCJdKXtlY2hvJzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij50eXBlUGFzc3dvcmQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCdwYXNzXCcpKTs8L3NjcmlwdD4nO31lY2hvCmNoZWNrYm94KCJoYXNoZWQiLDEsJEdbImhhc2hlZCJdLGxhbmcoMjE3KSwidHlwZVBhc3N3b3JkKHRoaXMuZm9ybVsncGFzcyddLCB0aGlzLmNoZWNrZWQpOyIpLCc8L3RhYmxlPgoKJztlY2hvIjx0YWJsZSBjZWxsc3BhY2luZz0nMCc+XG4iLCI8dGhlYWQ+PHRyPjx0aCBjb2xzcGFuPScyJz48YSBocmVmPSdodHRwOi8vZGV2Lm15c3FsLmNvbS9kb2MvcmVmbWFuLyIuc3Vic3RyKCRnLT5zZXJ2ZXJfaW5mbywwLDMpLiIvZW4vZ3JhbnQuaHRtbCNwcml2X2xldmVsJyB0YXJnZXQ9J19ibGFuaycgcmVsPSdub3JlZmVycmVyJz4iLmxhbmcoNTApLiI8L2E+IjskcD0wO2ZvcmVhY2goJG5jCmFzJHhkPT4kbWMpe2VjaG8nPHRoPicuKCR4ZCE9IiouKiI/IjxpbnB1dCBuYW1lPSdvYmplY3RzWyRwXScgdmFsdWU9JyIuaCgkeGQpLiInIHNpemU9JzEwJz4iOiI8aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSdvYmplY3RzWyRwXScgdmFsdWU9JyouKicgc2l6ZT0nMTAnPiouKiIpOyRwKys7fWVjaG8iPC90aGVhZD5cbiI7Zm9yZWFjaChhcnJheSgiIj0+IiIsIlNlcnZlciBBZG1pbiI9PmxhbmcoMjApLCJEYXRhYmFzZXMiPT5sYW5nKDY3KSwiVGFibGVzIj0+bGFuZygxMDEpLCJDb2x1bW5zIj0+bGFuZygxMDIpLCJQcm9jZWR1cmVzIj0+bGFuZygyMTgpLClhcyRaYT0+JG9iKXtmb3JlYWNoKChhcnJheSkkcGVbJFphXWFzJG9lPT4kVWEpe2VjaG8iPHRyIi5vZGQoKS4iPjx0ZCIuKCRvYj8iPiRvYjx0ZCI6IiBjb2xzcGFuPScyJyIpLicgbGFuZz0iZW4iIHRpdGxlPSInLmgoJFVhKS4nIj4nLmgoJG9lKTskcD0wO2ZvcmVhY2goJG5jCmFzJHhkPT4kbWMpeyRfPSInZ3JhbnRzWyRwXVsiLmgoc3RydG91cHBlcigkb2UpKS4iXSciOyRYPSRtY1tzdHJ0b3VwcGVyKCRvZSldO2lmKCRaYT09IlNlcnZlciBBZG1pbiImJiR4ZCE9KGlzc2V0KCRuY1siKi4qIl0pPyIqLioiOiIiKSl7ZWNobyI8dGQ+Jm5ic3A7Ijt9ZWxzZWlmKGlzc2V0KCRfR0VUWyJncmFudCJdKSl7ZWNobyI8dGQ+PHNlbGVjdCBuYW1lPSRfPjxvcHRpb24+PG9wdGlvbiB2YWx1ZT0nMSciLigkWD8iIHNlbGVjdGVkIjoiIikuIj4iLmxhbmcoMjE5KS4iPG9wdGlvbiB2YWx1ZT0nMCciLigkWD09IjAiPyIgc2VsZWN0ZWQiOiIiKS4iPiIubGFuZygyMjApLiI8L3NlbGVjdD4iO31lbHNle2VjaG8iPHRkIGFsaWduPSdjZW50ZXInPjxpbnB1dCB0eXBlPSdjaGVja2JveCcgbmFtZT0kXyB2YWx1ZT0nMSciLigkWD8iIGNoZWNrZWQiOiIiKS4oJG9lPT0iQWxsIHByaXZpbGVnZXMiPyIgaWQ9J2dyYW50cy0kcC1hbGwnIjooJG9lPT0iR3JhbnQgb3B0aW9uIj8iIjoiIG9uY2xpY2s9XCJpZiAodGhpcy5jaGVja2VkKSBmb3JtVW5jaGVjaygnZ3JhbnRzLSRwLWFsbCcpO1wiIikpLiI+Ijt9JHArKzt9fX1lY2hvIjwvdGFibGU+XG4iLCc8cD4KPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IicsbGFuZygxNDApLCciPgonO2lmKGlzc2V0KCRfR0VUWyJob3N0Il0pKXtlY2hvJzxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9ImRyb3AiIHZhbHVlPSInLGxhbmcoNzkpLCciJyxjb25maXJtKCksJz4nO31lY2hvJzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InRva2VuIiB2YWx1ZT0iJywkUSwnIj4KPC9mb3JtPgonO31lbHNlaWYoaXNzZXQoJF9HRVRbInByb2Nlc3NsaXN0Il0pKXtpZihzdXBwb3J0KCJraWxsIikmJiRfUE9TVCYmISRrKXskTGM9MDtmb3JlYWNoKChhcnJheSkkX1BPU1RbImtpbGwiXWFzJFcpe2lmKHF1ZXJpZXMoIktJTEwgIi4oKyRXKSkpeyRMYysrO319cXVlcmllc19yZWRpcmVjdChNRS4icHJvY2Vzc2xpc3Q9IixsYW5nKDIyMSwkTGMpLCRMY3x8ISRfUE9TVFsia2lsbCJdKTt9cGFnZV9oZWFkZXIobGFuZyg3MiksJGspO2VjaG8nCjxmb3JtIGFjdGlvbj0iIiBtZXRob2Q9InBvc3QiPgo8dGFibGUgY2VsbHNwYWNpbmc9IjAiIG9uY2xpY2s9InRhYmxlQ2xpY2soZXZlbnQpOyIgY2xhc3M9Im5vd3JhcCBjaGVja2FibGUiPgonOyRwPS0xO2ZvcmVhY2gocHJvY2Vzc19saXN0KClhcyRwPT4kRyl7aWYoISRwKXtlY2hvIjx0aGVhZD48dHIgbGFuZz0nZW4nPiIuKHN1cHBvcnQoImtpbGwiKT8iPHRoPiZuYnNwOyI6IiIpLiI8dGg+Ii5pbXBsb2RlKCI8dGg+IixhcnJheV9rZXlzKCRHKSkuIjwvdGhlYWQ+XG4iO31lY2hvIjx0ciIub2RkKCkuIj4iLihzdXBwb3J0KCJraWxsIik/Ijx0ZD4iLmNoZWNrYm94KCJraWxsW10iLCRHWyJJZCJdLDApOiIiKTtmb3JlYWNoKCRHCmFzJHY9PiRXKXtlY2hvIjx0ZD4iLigoJHU9PSJzcWwiPyR2PT0iSW5mbyImJiRXIT0iIjokdj09ImN1cnJlbnRfcXVlcnkiJiYkVyE9IjxJRExFPiIpPyI8Y29kZSBjbGFzcz0nanVzaC0kdSc+Ii5zaG9ydGVuX3V0ZjgoJFcsMTAwLCI8L2NvZGU+IikuJyA8YSBocmVmPSInLmgoTUUuKCRHWyJkYiJdIT0iIj8iZGI9Ii51cmxlbmNvZGUoJEdbImRiIl0pLiImIjoiIikuInNxbD0iLnVybGVuY29kZSgkVykpLiciPicubGFuZygzMSkuJzwvYT4nOm5ic3AoJFcpKTt9ZWNobyJcbiI7fWVjaG8nPC90YWJsZT4KPHNjcmlwdCB0eXBlPVwndGV4dC9qYXZhc2NyaXB0XCc+dGFibGVDaGVjaygpOzwvc2NyaXB0Pgo8cD4KJztpZihzdXBwb3J0KCJraWxsIikpe2VjaG8oJHArMSkuIi8iLmxhbmcoMjIyLCRnLT5yZXN1bHQoIlNFTEVDVCBAQG1heF9jb25uZWN0aW9ucyIpKSwiPHA+PGlucHV0IHR5cGU9J3N1Ym1pdCcgdmFsdWU9JyIubGFuZygyMjMpLiInPlxuIjt9ZWNobyc8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ0b2tlbiIgdmFsdWU9IicsJFEsJyI+CjwvZm9ybT4KJzt9ZWxzZWlmKGlzc2V0KCRfR0VUWyJzZWxlY3QiXSkpeyRhPSRfR0VUWyJzZWxlY3QiXTskTz10YWJsZV9zdGF0dXMoJGEpOyR0PWluZGV4ZXMoJGEpOyRtPWZpZWxkcygkYSk7JGZjPWNvbHVtbl9mb3JlaWduX2tleXMoJGEpO2lmKCRPWyJPaWQiXT09InQiKXskdFtdPWFycmF5KCJ0eXBlIj0+IlBSSU1BUlkiLCJjb2x1bW5zIj0+YXJyYXkoIm9pZCIpKTt9cGFyc2Vfc3RyKCRfQ09PS0lFWyJhZG1pbmVyX2ltcG9ydCJdLCRyYSk7JEVlPWFycmF5KCk7JGY9YXJyYXkoKTskd2Y9bnVsbDtmb3JlYWNoKCRtCmFzJHY9PiRsKXskXz0kYi0+ZmllbGROYW1lKCRsKTtpZihpc3NldCgkbFsicHJpdmlsZWdlcyJdWyJzZWxlY3QiXSkmJiRfIT0iIil7JGZbJHZdPWh0bWxfZW50aXR5X2RlY29kZShzdHJpcF90YWdzKCRfKSk7aWYoZXJlZygndGV4dHxsb2InLCRsWyJ0eXBlIl0pKXskd2Y9JGItPnNlbGVjdExlbmd0aFByb2Nlc3MoKTt9fSRFZSs9JGxbInByaXZpbGVnZXMiXTt9bGlzdCgkSSwkb2MpPSRiLT5zZWxlY3RDb2x1bW5zUHJvY2VzcygkZiwkdCk7JFo9JGItPnNlbGVjdFNlYXJjaFByb2Nlc3MoJG0sJHQpOyRKZD0kYi0+c2VsZWN0T3JkZXJQcm9jZXNzKCRtLCR0KTskeD0kYi0+c2VsZWN0TGltaXRQcm9jZXNzKCk7JGpjPSgkST9pbXBsb2RlKCIsICIsJEkpOigkT1siT2lkIl09PSJ0Ij8ib2lkLCAiOiIiKS4iKiIpLiJcbkZST00gIi50YWJsZSgkYSk7JHBjPSgkb2MmJmNvdW50KCRvYyk8Y291bnQoJEkpPyJcbkdST1VQIEJZICIuaW1wbG9kZSgiLCAiLCRvYyk6IiIpLigkSmQ/IlxuT1JERVIgQlkgIi5pbXBsb2RlKCIsICIsJEpkKToiIik7aWYoJF9HRVRbInZhbCJdJiZpc19hamF4KCkpe2hlYWRlcigiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PXV0Zi04Iik7Zm9yZWFjaCgkX0dFVFsidmFsIl1hcyRPZj0+JEcpe2VjaG8kZy0+cmVzdWx0KCJTRUxFQ1QiLmxpbWl0KGlkZl9lc2NhcGUoa2V5KCRHKSkuIiBGUk9NICIudGFibGUoJGEpLCIgV0hFUkUgIi53aGVyZV9jaGVjaygkT2YpLigkWj8iIEFORCAiLmltcGxvZGUoIiBBTkQgIiwkWik6IiIpLigkSmQ/IiBPUkRFUiBCWSAiLmltcGxvZGUoIiwgIiwkSmQpOiIiKSwxKSk7fWV4aXQ7fWlmKCRfUE9TVCYmISRrKXskZGc9IigiLmltcGxvZGUoIikgT1IgKCIsYXJyYXlfbWFwKCd3aGVyZV9jaGVjaycsKGFycmF5KSRfUE9TVFsiY2hlY2siXSkpLiIpIjskbGU9JFFmPW51bGw7Zm9yZWFjaCgkdAphcyRzKXtpZigkc1sidHlwZSJdPT0iUFJJTUFSWSIpeyRsZT1hcnJheV9mbGlwKCRzWyJjb2x1bW5zIl0pOyRRZj0oJEk/JGxlOmFycmF5KCkpO2JyZWFrO319Zm9yZWFjaCgoYXJyYXkpJFFmCmFzJHY9PiRXKXtpZihpbl9hcnJheShpZGZfZXNjYXBlKCR2KSwkSSkpe3Vuc2V0KCRRZlskdl0pO319aWYoJF9QT1NUWyJleHBvcnQiXSl7Y29va2llKCJhZG1pbmVyX2ltcG9ydCIsIm91dHB1dD0iLnVybGVuY29kZSgkX1BPU1RbIm91dHB1dCJdKS4iJmZvcm1hdD0iLnVybGVuY29kZSgkX1BPU1RbImZvcm1hdCJdKSk7ZHVtcF9oZWFkZXJzKCRhKTskYi0+ZHVtcFRhYmxlKCRhLCIiKTtpZighaXNfYXJyYXkoJF9QT1NUWyJjaGVjayJdKXx8JFFmPT09YXJyYXkoKSl7JGNnPSRaO2lmKGlzX2FycmF5KCRfUE9TVFsiY2hlY2siXSkpeyRjZ1tdPSIoJGRnKSI7fSREPSJTRUxFQ1QgJGpjIi4oJGNnPyJcbldIRVJFICIuaW1wbG9kZSgiIEFORCAiLCRjZyk6IiIpLiRwYzt9ZWxzZXskTWY9YXJyYXkoKTtmb3JlYWNoKCRfUE9TVFsiY2hlY2siXWFzJFcpeyRNZltdPSIoU0VMRUNUIi5saW1pdCgkamMsIlxuV0hFUkUgIi4oJFo/aW1wbG9kZSgiIEFORCAiLCRaKS4iIEFORCAiOiIiKS53aGVyZV9jaGVjaygkVykuJHBjLDEpLiIpIjt9JEQ9aW1wbG9kZSgiIFVOSU9OIEFMTCAiLCRNZik7fSRiLT5kdW1wRGF0YSgkYSwidGFibGUiLCREKTtleGl0O31pZighJGItPnNlbGVjdEVtYWlsUHJvY2VzcygkWiwkZmMpKXtpZigkX1BPU1RbInNhdmUiXXx8JF9QT1NUWyJkZWxldGUiXSl7JEU9dHJ1ZTskc2E9MDskRD10YWJsZSgkYSk7JEs9YXJyYXkoKTtpZighJF9QT1NUWyJkZWxldGUiXSl7Zm9yZWFjaCgkZgphcyRfPT4kVyl7JFc9cHJvY2Vzc19pbnB1dCgkbVskX10pO2lmKCRXIT09bnVsbCl7aWYoJF9QT1NUWyJjbG9uZSJdKXskS1tpZGZfZXNjYXBlKCRfKV09KCRXIT09ZmFsc2U/JFc6aWRmX2VzY2FwZSgkXykpO31lbHNlaWYoJFchPT1mYWxzZSl7JEtbXT1pZGZfZXNjYXBlKCRfKS4iID0gJFciO319fSRELj0oJF9QT1NUWyJjbG9uZSJdPyIgKCIuaW1wbG9kZSgiLCAiLGFycmF5X2tleXMoJEspKS4iKVxuU0VMRUNUICIuaW1wbG9kZSgiLCAiLCRLKS4iXG5GUk9NICIudGFibGUoJGEpOiIgU0VUXG4iLmltcGxvZGUoIixcbiIsJEspKTt9aWYoJF9QT1NUWyJkZWxldGUiXXx8JEspeyRTYT0iVVBEQVRFIjtpZigkX1BPU1RbImRlbGV0ZSJdKXskU2E9IkRFTEVURSI7JEQ9IkZST00gJEQiO31pZigkX1BPU1RbImNsb25lIl0peyRTYT0iSU5TRVJUIjskRD0iSU5UTyAkRCI7fWlmKCRfUE9TVFsiYWxsIl18fCgkUWY9PT1hcnJheSgpJiYkX1BPU1RbImNoZWNrIl0pfHxjb3VudCgkb2MpPGNvdW50KCRJKSl7JEU9cXVlcmllcygkU2EuIiAkRCIuKCRfUE9TVFsiYWxsIl0/KCRaPyJcbldIRVJFICIuaW1wbG9kZSgiIEFORCAiLCRaKToiIik6IlxuV0hFUkUgJGRnIikpOyRzYT0kZy0+YWZmZWN0ZWRfcm93czt9ZWxzZXtmb3JlYWNoKChhcnJheSkkX1BPU1RbImNoZWNrIl1hcyRXKXskRT1xdWVyaWVzKCRTYS5saW1pdDEoJEQsIlxuV0hFUkUgIi53aGVyZV9jaGVjaygkVykpKTtpZighJEUpe2JyZWFrO30kc2ErPSRnLT5hZmZlY3RlZF9yb3dzO319fXF1ZXJpZXNfcmVkaXJlY3QocmVtb3ZlX2Zyb21fdXJpKCJwYWdlIiksbGFuZygyMjQsJHNhKSwkRSk7fWVsc2VpZighJF9QT1NUWyJpbXBvcnQiXSl7aWYoISRfUE9TVFsidmFsIl0peyRrPWxhbmcoMjI1KTt9ZWxzZXskRT10cnVlOyRzYT0wO2ZvcmVhY2goJF9QT1NUWyJ2YWwiXWFzJE9mPT4kRyl7JEs9YXJyYXkoKTtmb3JlYWNoKCRHCmFzJHY9PiRXKXskdj1icmFja2V0X2VzY2FwZSgkdiwxKTskS1tdPWlkZl9lc2NhcGUoJHYpLiIgPSAiLihlcmVnKCdjaGFyfHRleHQnLCRtWyR2XVsidHlwZSJdKXx8JFchPSIiPyRiLT5wcm9jZXNzSW5wdXQoJG1bJHZdLCRXKToiTlVMTCIpO30kRD10YWJsZSgkYSkuIiBTRVQgIi5pbXBsb2RlKCIsICIsJEspOyRjZz0iIFdIRVJFICIud2hlcmVfY2hlY2soJE9mKS4oJFo/IiBBTkQgIi5pbXBsb2RlKCIgQU5EICIsJFopOiIiKTskRT1xdWVyaWVzKCJVUERBVEUiLihjb3VudCgkb2MpPGNvdW50KCRJKT8iICREJGNnIjpsaW1pdDEoJEQsJGNnKSkpO2lmKCEkRSl7YnJlYWs7fSRzYSs9JGctPmFmZmVjdGVkX3Jvd3M7fXF1ZXJpZXNfcmVkaXJlY3QocmVtb3ZlX2Zyb21fdXJpKCksbGFuZygyMjQsJHNhKSwkRSk7fX1lbHNlaWYoaXNfc3RyaW5nKCRZYj1nZXRfZmlsZSgiY3N2X2ZpbGUiLHRydWUpKSl7Y29va2llKCJhZG1pbmVyX2ltcG9ydCIsIm91dHB1dD0iLnVybGVuY29kZSgkcmFbIm91dHB1dCJdKS4iJmZvcm1hdD0iLnVybGVuY29kZSgkX1BPU1RbInNlcGFyYXRvciJdKSk7JEU9dHJ1ZTskUmE9YXJyYXlfa2V5cygkbSk7cHJlZ19tYXRjaF9hbGwoJ34oPz4iW14iXSoifFteIlxcclxcbl0rKSt+JywkWWIsJGFkKTskc2E9Y291bnQoJGFkWzBdKTtiZWdpbigpOyRSZT0oJF9QT1NUWyJzZXBhcmF0b3IiXT09ImNzdiI/IiwiOigkX1BPU1RbInNlcGFyYXRvciJdPT0idHN2Ij8iXHQiOiI7IikpO2ZvcmVhY2goJGFkWzBdYXMkdj0+JFcpe3ByZWdfbWF0Y2hfYWxsKCJ+KChcIlteXCJdKlwiKSt8W14kUmVdKikkUmV+IiwkVy4kUmUsJGJkKTtpZighJHYmJiFhcnJheV9kaWZmKCRiZFsxXSwkUmEpKXskUmE9JGJkWzFdOyRzYS0tO31lbHNleyRLPWFycmF5KCk7Zm9yZWFjaCgkYmRbMV1hcyRwPT4kT2EpeyRLW2lkZl9lc2NhcGUoJFJhWyRwXSldPSgkT2E9PSIiJiYkbVskUmFbJHBdXVsibnVsbCJdPyJOVUxMIjpxKHN0cl9yZXBsYWNlKCciIicsJyInLHByZWdfcmVwbGFjZSgnfl4ifCIkficsJycsJE9hKSkpKTt9JEU9aW5zZXJ0X3VwZGF0ZSgkYSwkSywkbGUpO2lmKCEkRSl7YnJlYWs7fX19aWYoJEUpe3F1ZXJpZXMoIkNPTU1JVCIpO31xdWVyaWVzX3JlZGlyZWN0KHJlbW92ZV9mcm9tX3VyaSgicGFnZSIpLGxhbmcoMjI2LCRzYSksJEUpO3F1ZXJpZXMoIlJPTExCQUNLIik7fWVsc2V7JGs9dXBsb2FkX2Vycm9yKCRZYik7fX19JG1mPSRiLT50YWJsZU5hbWUoJE8pO3BhZ2VfaGVhZGVyKGxhbmcoMzMpLiI6ICRtZiIsJGspO3Nlc3Npb25fd3JpdGVfY2xvc2UoKTskSz1udWxsO2lmKGlzc2V0KCRFZVsiaW5zZXJ0Il0pKXskSz0iIjtmb3JlYWNoKChhcnJheSkkX0dFVFsid2hlcmUiXWFzJFcpe2lmKGNvdW50KCRmY1skV1siY29sIl1dKT09MSYmKCRXWyJvcCJdPT0iPSJ8fCghJFdbIm9wIl0mJiFlcmVnKCdbXyVdJywkV1sidmFsIl0pKSkpeyRLLj0iJnNldCIudXJsZW5jb2RlKCJbIi5icmFja2V0X2VzY2FwZSgkV1siY29sIl0pLiJdIikuIj0iLnVybGVuY29kZSgkV1sidmFsIl0pO319fSRiLT5zZWxlY3RMaW5rcygkTywkSyk7aWYoISRmKXtlY2hvIjxwIGNsYXNzPSdlcnJvcic+Ii5sYW5nKDIyNykuKCRtPyIuIjoiOiAiLmVycm9yKCkpLiJcbiI7fWVsc2V7ZWNobyI8Zm9ybSBhY3Rpb249JycgaWQ9J2Zvcm0nPlxuIiwiPGRpdiBzdHlsZT0nZGlzcGxheTogbm9uZTsnPiI7aGlkZGVuX2ZpZWxkc19nZXQoKTtlY2hvKERCIT0iIj8nPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZGIiIHZhbHVlPSInLmgoREIpLiciPicuKGlzc2V0KCRfR0VUWyJucyJdKT8nPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ibnMiIHZhbHVlPSInLmgoJF9HRVRbIm5zIl0pLiciPic6IiIpOiIiKTtlY2hvJzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InNlbGVjdCIgdmFsdWU9IicuaCgkYSkuJyI+JywiPC9kaXY+XG4iOyRiLT5zZWxlY3RDb2x1bW5zUHJpbnQoJEksJGYpOyRiLT5zZWxlY3RTZWFyY2hQcmludCgkWiwkZiwkdCk7JGItPnNlbGVjdE9yZGVyUHJpbnQoJEpkLCRmLCR0KTskYi0+c2VsZWN0TGltaXRQcmludCgkeCk7JGItPnNlbGVjdExlbmd0aFByaW50KCR3Zik7JGItPnNlbGVjdEFjdGlvblByaW50KCk7ZWNobyI8L2Zvcm0+XG4iOyRUZD0kX0dFVFsicGFnZSJdO2lmKCRUZD09Imxhc3QiKXskaGM9JGctPnJlc3VsdCgiU0VMRUNUIENPVU5UKCopIEZST00gIi50YWJsZSgkYSkuKCRaPyIgV0hFUkUgIi5pbXBsb2RlKCIgQU5EICIsJFopOiIiKSk7JFRkPWZsb29yKG1heCgwLCRoYy0xKS8keCk7fSREPSJTRUxFQ1QiLmxpbWl0KCgrJHgmJiRvYyYmY291bnQoJG9jKTxjb3VudCgkSSkmJiR1PT0ic3FsIj8iU1FMX0NBTENfRk9VTkRfUk9XUyAiOiIiKS4kamMsKCRaPyJcbldIRVJFICIuaW1wbG9kZSgiIEFORCAiLCRaKToiIikuJHBjLCgkeCE9IiI/KyR4Om51bGwpLCgkVGQ/JHgqJFRkOjApLCJcbiIpO2VjaG8kYi0+c2VsZWN0UXVlcnkoJEQpOyRFPSRnLT5xdWVyeSgkRCk7aWYoISRFKXtlY2hvIjxwIGNsYXNzPSdlcnJvcic+Ii5lcnJvcigpLiJcbiI7fWVsc2V7aWYoJHU9PSJtc3NxbCIpeyRFLT5zZWVrKCR4KiRUZCk7fSRDYj1hcnJheSgpO2VjaG8iPGZvcm0gYWN0aW9uPScnIG1ldGhvZD0ncG9zdCcgZW5jdHlwZT0nbXVsdGlwYXJ0L2Zvcm0tZGF0YSc+XG4iOyRIPWFycmF5KCk7d2hpbGUoJEc9JEUtPmZldGNoX2Fzc29jKCkpe2lmKCRUZCYmJHU9PSJvcmFjbGUiKXt1bnNldCgkR1siUk5VTSJdKTt9JEhbXT0kRzt9aWYoJF9HRVRbInBhZ2UiXSE9Imxhc3QiKXskaGM9KCskeCYmJG9jJiZjb3VudCgkb2MpPGNvdW50KCRJKT8oJHU9PSJzcWwiPyRnLT5yZXN1bHQoIiBTRUxFQ1QgRk9VTkRfUk9XUygpIik6JGctPnJlc3VsdCgiU0VMRUNUIENPVU5UKCopIEZST00gKCREKSB4IikpOmNvdW50KCRIKSk7fWlmKCEkSCl7ZWNobyI8cCBjbGFzcz0nbWVzc2FnZSc+Ii5sYW5nKDgzKS4iXG4iO31lbHNleyREYT0kYi0+YmFja3dhcmRLZXlzKCRhLCRtZik7ZWNobyI8dGFibGUgY2VsbHNwYWNpbmc9JzAnIGNsYXNzPSdub3dyYXAgY2hlY2thYmxlJyBvbmNsaWNrPSd0YWJsZUNsaWNrKGV2ZW50KTsnIG9ua2V5ZG93bj0ncmV0dXJuIGVkaXRpbmdLZXlkb3duKGV2ZW50KTsnPlxuIiwiPHRoZWFkPjx0cj4iLighJG9jJiYkST8iIjoiPHRkPjxpbnB1dCB0eXBlPSdjaGVja2JveCcgaWQ9J2FsbC1wYWdlJyBvbmNsaWNrPSdmb3JtQ2hlY2sodGhpcywgL2NoZWNrLyk7Jz4gPGEgaHJlZj0nIi5oKCRfR0VUWyJtb2RpZnkiXT9yZW1vdmVfZnJvbV91cmkoIm1vZGlmeSIpOiRfU0VSVkVSWyJSRVFVRVNUX1VSSSJdLiImbW9kaWZ5PTEiKS4iJz4iLmxhbmcoMjI4KS4iPC9hPiIpOyRzZD1hcnJheSgpOyRsYz1hcnJheSgpO3Jlc2V0KCRJKTskdWU9MTtmb3JlYWNoKCRIWzBdYXMkdj0+JFcpe2lmKCRPWyJPaWQiXSE9InQifHwkdiE9Im9pZCIpeyRXPSRfR0VUWyJjb2x1bW5zIl1ba2V5KCRJKV07JGw9JG1bJEk/KCRXPyRXWyJjb2wiXTpjdXJyZW50KCRJKSk6JHZdOyRfPSgkbD8kYi0+ZmllbGROYW1lKCRsLCR1ZSk6IioiKTtpZigkXyE9IiIpeyR1ZSsrOyRzZFskdl09JF87JGU9aWRmX2VzY2FwZSgkdik7ZWNobyc8dGg+PGEgaHJlZj0iJy5oKHJlbW92ZV9mcm9tX3VyaSgnKG9yZGVyfGRlc2MpW149XSp8cGFnZScpLicmb3JkZXIlNUIwJTVEPScudXJsZW5jb2RlKCR2KS4oJEpkWzBdPT0kZXx8JEpkWzBdPT0kdnx8KCEkSmQmJmNvdW50KCRvYyk8Y291bnQoJEkpJiYkb2NbMF09PSRlKT8nJmRlc2MlNUIwJTVEPTEnOicnKSkuJyI+Jy4oISRJfHwkVz9hcHBseV9zcWxfZnVuY3Rpb24oJFdbImZ1biJdLCRfKTpoKGN1cnJlbnQoJEkpKSkuIjwvYT4iO30kbGNbJHZdPSRXWyJmdW4iXTtuZXh0KCRJKTt9fSRVYz1hcnJheSgpO2lmKCRfR0VUWyJtb2RpZnkiXSl7Zm9yZWFjaCgkSAphcyRHKXtmb3JlYWNoKCRHCmFzJHY9PiRXKXskVWNbJHZdPW1heCgkVWNbJHZdLG1pbig0MCxzdHJsZW4odXRmOF9kZWNvZGUoJFcpKSkpO319fWVjaG8oJERhPyI8dGg+Ii5sYW5nKDIyOSk6IiIpLiI8L3RoZWFkPlxuIjtmb3JlYWNoKCRiLT5yb3dEZXNjcmlwdGlvbnMoJEgsJGZjKWFzJHJkPT4kRyl7JE5mPXVuaXF1ZV9hcnJheSgkSFskcmRdLCR0KTskT2Y9IiI7Zm9yZWFjaCgkTmYKYXMkdj0+JFcpeyRPZi49IiYiLihpc3NldCgkVyk/dXJsZW5jb2RlKCJ3aGVyZVsiLmJyYWNrZXRfZXNjYXBlKCR2KS4iXSIpLiI9Ii51cmxlbmNvZGUoJFcpOiJudWxsJTVCJTVEPSIudXJsZW5jb2RlKCR2KSk7fWVjaG8iPHRyIi5vZGQoKS4iPiIuKCEkb2MmJiRJPyIiOiI8dGQ+Ii5jaGVja2JveCgiY2hlY2tbXSIsc3Vic3RyKCRPZiwxKSxpbl9hcnJheShzdWJzdHIoJE9mLDEpLChhcnJheSkkX1BPU1RbImNoZWNrIl0pLCIiLCJ0aGlzLmZvcm1bJ2FsbCddLmNoZWNrZWQgPSBmYWxzZTsgZm9ybVVuY2hlY2soJ2FsbC1wYWdlJyk7IikuKGNvdW50KCRvYyk8Y291bnQoJEkpfHxpbmZvcm1hdGlvbl9zY2hlbWEoREIpPyIiOiIgPGEgaHJlZj0nIi5oKE1FLiJlZGl0PSIudXJsZW5jb2RlKCRhKS4kT2YpLiInPiIubGFuZygyMjgpLiI8L2E+IikpO2ZvcmVhY2goJEcKYXMkdj0+JFcpe2lmKGlzc2V0KCRzZFskdl0pKXskbD0kbVskdl07aWYoJFchPSIiJiYoIWlzc2V0KCRDYlskdl0pfHwkQ2JbJHZdIT0iIikpeyRDYlskdl09KGlzX21haWwoJFcpPyRzZFskdl06IiIpO30keT0iIjskVz0kYi0+ZWRpdFZhbCgkVywkbCk7aWYoIWlzc2V0KCRXKSl7JFc9IjxpPk5VTEw8L2k+Ijt9ZWxzZXtpZihlcmVnKCdibG9ifGJ5dGVhfHJhd3xmaWxlJywkbFsidHlwZSJdKSYmJFchPSIiKXskeT1oKE1FLidkb3dubG9hZD0nLnVybGVuY29kZSgkYSkuJyZmaWVsZD0nLnVybGVuY29kZSgkdikuJE9mKTt9aWYoJFc9PT0iIil7JFc9IiZuYnNwOyI7fWVsc2VpZigkd2YhPSIiJiZlcmVnKCd0ZXh0fGJsb2InLCRsWyJ0eXBlIl0pJiZpc191dGY4KCRXKSl7JFc9c2hvcnRlbl91dGY4KCRXLG1heCgwLCskd2YpKTt9ZWxzZXskVz1oKCRXKTt9aWYoISR5KXtmb3JlYWNoKChhcnJheSkkZmNbJHZdYXMkbil7aWYoY291bnQoJGZjWyR2XSk9PTF8fGVuZCgkblsic291cmNlIl0pPT0kdil7JHk9IiI7Zm9yZWFjaCgkblsic291cmNlIl1hcyRwPT4kV2UpeyR5Lj13aGVyZV9saW5rKCRwLCRuWyJ0YXJnZXQiXVskcF0sJEhbJHJkXVskV2VdKTt9JHk9aCgoJG5bImRiIl0hPSIiP3ByZWdfcmVwbGFjZSgnfihbPyZdZGI9KVteJl0rficsJ1xcMScudXJsZW5jb2RlKCRuWyJkYiJdKSxNRSk6TUUpLidzZWxlY3Q9Jy51cmxlbmNvZGUoJG5bInRhYmxlIl0pLiR5KTtpZihjb3VudCgkblsic291cmNlIl0pPT0xKXticmVhazt9fX19aWYoJHY9PSJDT1VOVCgqKSIpeyR5PWgoTUUuInNlbGVjdD0iLnVybGVuY29kZSgkYSkpOyRwPTA7Zm9yZWFjaCgoYXJyYXkpJF9HRVRbIndoZXJlIl1hcyRWKXtpZighYXJyYXlfa2V5X2V4aXN0cygkVlsiY29sIl0sJE5mKSl7JHkuPWgod2hlcmVfbGluaygkcCsrLCRWWyJjb2wiXSwkVlsidmFsIl0sJFZbIm9wIl0pKTt9fWZvcmVhY2goJE5mCmFzJEtjPT4kVil7JHkuPWgod2hlcmVfbGluaygkcCsrLCRLYywkVikpO319fWlmKCEkeSl7aWYoaXNfbWFpbCgkVykpeyR5PSJtYWlsdG86JFciO31pZigkc2U9aXNfdXJsKCRHWyR2XSkpeyR5PSgkc2U9PSJodHRwIiYmJGJhPyRHWyR2XToiJHNlOi8vd3d3LmFkbWluZXIub3JnL3JlZGlyZWN0Lz91cmw9Ii51cmxlbmNvZGUoJEdbJHZdKSk7fX0kcT1oKCJ2YWxbJE9mXVsiLmJyYWNrZXRfZXNjYXBlKCR2KS4iXSIpOyRYPSRfUE9TVFsidmFsIl1bJE9mXVticmFja2V0X2VzY2FwZSgkdildOyRyYz1oKGlzc2V0KCRYKT8kWDokR1skdl0pOyRZYz1zdHJwb3MoJFcsIjxpPi4uLjwvaT4iKTskX2I9aXNfdXRmOCgkVykmJiRIWyRyZF1bJHZdPT0kR1skdl0mJiEkbGNbJHZdOyR2Zj1lcmVnKCd0ZXh0fGxvYicsJGxbInR5cGUiXSk7ZWNobygoJF9HRVRbIm1vZGlmeSJdJiYkX2IpfHxpc3NldCgkWCk/Ijx0ZD4iLigkdmY/Ijx0ZXh0YXJlYSBuYW1lPSckcScgY29scz0nMzAnIHJvd3M9JyIuKHN1YnN0cl9jb3VudCgkR1skdl0sIlxuIikrMSkuIic+JHJjPC90ZXh0YXJlYT4iOiI8aW5wdXQgbmFtZT0nJHEnIHZhbHVlPSckcmMnIHNpemU9JyRVY1skdl0nPiIpOiI8dGQgaWQ9JyRxJyBvbmRibGNsaWNrPVwiIi4oJF9iPyJzZWxlY3REYmxDbGljayh0aGlzLCBldmVudCIuKCRZYz8iLCAyIjooJHZmPyIsIDEiOiIiKSkuIikiOiJhbGVydCgnIi5oKGxhbmcoMjMwKSkuIicpIikuIjtcIj4iLiRiLT5zZWxlY3RWYWwoJFcsJHksJGwpKTt9fWlmKCREYSl7ZWNobyI8dGQ+Ijt9JGItPmJhY2t3YXJkS2V5c1ByaW50KCREYSwkSFskcmRdKTtlY2hvIjwvdHI+XG4iO31lY2hvIjwvdGFibGU+XG4iLCghJG9jJiYkST8iIjoiPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPnRhYmxlQ2hlY2soKTs8L3NjcmlwdD5cbiIpO31pZigkSHx8JFRkKXskTWI9dHJ1ZTtpZigkX0dFVFsicGFnZSJdIT0ibGFzdCImJiskeCYmY291bnQoJG9jKT49Y291bnQoJEkpJiYoJGhjPj0keHx8JFRkKSl7JGhjPWZvdW5kX3Jvd3MoJE8sJFopO2lmKCRoYzxtYXgoMWU0LDIqKCRUZCsxKSokeCkpe29iX2ZsdXNoKCk7Zmx1c2goKTskaGM9JGctPnJlc3VsdCgiU0VMRUNUIENPVU5UKCopIEZST00gIi50YWJsZSgkYSkuKCRaPyIgV0hFUkUgIi5pbXBsb2RlKCIgQU5EICIsJFopOiIiKSk7fWVsc2V7JE1iPWZhbHNlO319ZWNobyI8cCBjbGFzcz0ncGFnZXMnPiI7aWYoKyR4JiYkaGM+JHgpeyRkZD1mbG9vcigoJGhjLTEpLyR4KTtlY2hvJzxhIGhyZWY9IicuaChyZW1vdmVfZnJvbV91cmkoInBhZ2UiKSkuIlwiIG9uY2xpY2s9XCJwYWdlQ2xpY2sodGhpcy5ocmVmLCArcHJvbXB0KCciLmxhbmcoMjMxKS4iJywgJyIuKCRUZCsxKS4iJyksIGV2ZW50KTsgcmV0dXJuIGZhbHNlO1wiPiIubGFuZygyMzEpLiI8L2E+OiIscGFnaW5hdGlvbigwLCRUZCkuKCRUZD41PyIgLi4uIjoiIik7Zm9yKCRwPW1heCgxLCRUZC00KTskcDxtaW4oJGRkLCRUZCs1KTskcCsrKXtlY2hvCnBhZ2luYXRpb24oJHAsJFRkKTt9ZWNobygkVGQrNTwkZGQ/IiAuLi4iOiIiKS4oJE1iP3BhZ2luYXRpb24oJGRkLCRUZCk6JyA8YSBocmVmPSInLmgocmVtb3ZlX2Zyb21fdXJpKCkuIiZwYWdlPWxhc3QiKS4nIj4nLmxhbmcoMjMyKS4iPC9hPiIpO31lY2hvIiAoIi4oJE1iPyIiOiJ+ICIpLmxhbmcoMTIxLCRoYykuIikgIi5jaGVja2JveCgiYWxsIiwxLDAsbGFuZygyMzMpKS4iXG4iO2lmKCRiLT5zZWxlY3RDb21tYW5kUHJpbnQoKSl7ZWNobyc8ZmllbGRzZXQ+PGxlZ2VuZD4nLGxhbmcoMzEpLCc8L2xlZ2VuZD48ZGl2Pgo8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iJyxsYW5nKDE0MCksJyInLCgkX0dFVFsibW9kaWZ5Il0/Jyc6JyB0aXRsZT0iJy5sYW5nKDIyNSkuJyIgY2xhc3M9Impzb25seSInKSwnPgo8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJlZGl0IiB2YWx1ZT0iJyxsYW5nKDMxKSwnIj4KPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0iY2xvbmUiIHZhbHVlPSInLGxhbmcoMjM0KSwnIj4KPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0iZGVsZXRlIiB2YWx1ZT0iJyxsYW5nKDE0MyksJyIgb25jbGljaz0icmV0dXJuIGNvbmZpcm0oXCcnLGxhbmcoMCk7Pz4gKCcgKyAodGhpcy5mb3JtWydhbGwnXS5jaGVja2VkID8gPD9waHAgZWNobyRoYywnIDogZm9ybUNoZWNrZWQodGhpcywgL2NoZWNrLykpICsgXCcpXCcpOyI+CjwvZGl2PjwvZmllbGRzZXQ+Cic7fXByaW50X2ZpZWxkc2V0KCJleHBvcnQiLGxhbmcoMTEzKSk7JFJkPSRiLT5kdW1wT3V0cHV0KCk7ZWNobygkUmQ/aHRtbF9zZWxlY3QoIm91dHB1dCIsJFJkLCRyYVsib3V0cHV0Il0pLiIgIjoiIiksaHRtbF9zZWxlY3QoImZvcm1hdCIsJGItPmR1bXBGb3JtYXQoKSwkcmFbImZvcm1hdCJdKSwiIDxpbnB1dCB0eXBlPSdzdWJtaXQnIG5hbWU9J2V4cG9ydCcgdmFsdWU9JyIubGFuZygxMTMpLiInIG9uY2xpY2s9J2V2ZW50U3RvcChldmVudCk7Jz5cbiIsIjwvZGl2PjwvZmllbGRzZXQ+XG4iO31pZigkYi0+c2VsZWN0SW1wb3J0UHJpbnQoKSl7cHJpbnRfZmllbGRzZXQoImltcG9ydCIsbGFuZygyMzUpLCEkSCk7ZWNobyI8aW5wdXQgdHlwZT0nZmlsZScgbmFtZT0nY3N2X2ZpbGUnPiAiLGh0bWxfc2VsZWN0KCJzZXBhcmF0b3IiLGFycmF5KCJjc3YiPT4iQ1NWLCIsImNzdjsiPT4iQ1NWOyIsInRzdiI9PiJUU1YiKSwkcmFbImZvcm1hdCJdLDEpO2VjaG8iIDxpbnB1dCB0eXBlPSdzdWJtaXQnIG5hbWU9J2ltcG9ydCcgdmFsdWU9JyIubGFuZygyMzUpLiInPiIsIjxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J3Rva2VuJyB2YWx1ZT0nJFEnPlxuIiwiPC9kaXY+PC9maWVsZHNldD5cbiI7fSRiLT5zZWxlY3RFbWFpbFByaW50KGFycmF5X2ZpbHRlcigkQ2IsJ3N0cmxlbicpLCRmKTtlY2hvIjwvZm9ybT5cbiI7fX19ZWxzZWlmKGlzc2V0KCRfR0VUWyJ2YXJpYWJsZXMiXSkpeyRhZj1pc3NldCgkX0dFVFsic3RhdHVzIl0pO3BhZ2VfaGVhZGVyKCRhZj9sYW5nKDc0KTpsYW5nKDczKSk7JFhmPSgkYWY/c2hvd19zdGF0dXMoKTpzaG93X3ZhcmlhYmxlcygpKTtpZighJFhmKXtlY2hvIjxwIGNsYXNzPSdtZXNzYWdlJz4iLmxhbmcoODMpLiJcbiI7fWVsc2V7ZWNobyI8dGFibGUgY2VsbHNwYWNpbmc9JzAnPlxuIjtmb3JlYWNoKCRYZgphcyR2PT4kVyl7ZWNobyI8dHI+IiwiPHRoPjxjb2RlIGNsYXNzPSdqdXNoLSIuJHUuKCRhZj8ic3RhdHVzIjoic2V0IikuIic+Ii5oKCR2KS4iPC9jb2RlPiIsIjx0ZD4iLm5ic3AoJFcpO31lY2hvIjwvdGFibGU+XG4iO319ZWxzZWlmKGlzc2V0KCRfR0VUWyJzY3JpcHQiXSkpe2hlYWRlcigiQ29udGVudC1UeXBlOiB0ZXh0L2phdmFzY3JpcHQ7IGNoYXJzZXQ9dXRmLTgiKTtpZigkX0dFVFsic2NyaXB0Il09PSJkYiIpeyRqZj1hcnJheSgiRGF0YV9sZW5ndGgiPT4wLCJJbmRleF9sZW5ndGgiPT4wLCJEYXRhX2ZyZWUiPT4wKTtmb3JlYWNoKHRhYmxlX3N0YXR1cygpYXMkTyl7JHE9anNfZXNjYXBlKCRPWyJOYW1lIl0pO2pzb25fcm93KCJDb21tZW50LSRxIixuYnNwKCRPWyJDb21tZW50Il0pKTtpZighaXNfdmlldygkTykpe2ZvcmVhY2goYXJyYXkoIkVuZ2luZSIsIkNvbGxhdGlvbiIpYXMkdil7anNvbl9yb3coIiR2LSRxIixuYnNwKCRPWyR2XSkpO31mb3JlYWNoKCRqZithcnJheSgiQXV0b19pbmNyZW1lbnQiPT4wLCJSb3dzIj0+MClhcyR2PT4kVyl7aWYoJE9bJHZdIT0iIil7JFc9bnVtYmVyX2Zvcm1hdCgkT1skdl0sMCwnLicsbGFuZygyMzYpKTtqc29uX3JvdygiJHYtJHEiLCgkdj09IlJvd3MiJiYkT1siRW5naW5lIl09PSJJbm5vREIiJiYkVz8ifiAkVyI6JFcpKTtpZihpc3NldCgkamZbJHZdKSl7JGpmWyR2XSs9KCRPWyJFbmdpbmUiXSE9Iklubm9EQiJ8fCR2IT0iRGF0YV9mcmVlIj8kT1skdl06MCk7fX1lbHNlaWYoYXJyYXlfa2V5X2V4aXN0cygkdiwkTykpe2pzb25fcm93KCIkdi0kcSIpO319fX1mb3JlYWNoKCRqZgphcyR2PT4kVyl7anNvbl9yb3coInN1bS0kdiIsbnVtYmVyX2Zvcm1hdCgkVywwLCcuJyxsYW5nKDIzNikpKTt9anNvbl9yb3coIiIpO31lbHNle2ZvcmVhY2goY291bnRfdGFibGVzKGdldF9kYXRhYmFzZXMoKSlhcyRqPT4kVyl7anNvbl9yb3coInRhYmxlcy0iLmpzX2VzY2FwZSgkaiksJFcpO31qc29uX3JvdygiIik7fWV4aXQ7fWVsc2V7JHNmPWFycmF5X21lcmdlKChhcnJheSkkX1BPU1RbInRhYmxlcyJdLChhcnJheSkkX1BPU1RbInZpZXdzIl0pO2lmKCRzZiYmISRrJiYhJF9QT1NUWyJzZWFyY2giXSl7JEU9dHJ1ZTskaGQ9IiI7aWYoJHU9PSJzcWwiJiZjb3VudCgkX1BPU1RbInRhYmxlcyJdKT4xJiYoJF9QT1NUWyJkcm9wIl18fCRfUE9TVFsidHJ1bmNhdGUiXXx8JF9QT1NUWyJjb3B5Il0pKXtxdWVyaWVzKCJTRVQgZm9yZWlnbl9rZXlfY2hlY2tzID0gMCIpO31pZigkX1BPU1RbInRydW5jYXRlIl0pe2lmKCRfUE9TVFsidGFibGVzIl0peyRFPXRydW5jYXRlX3RhYmxlcygkX1BPU1RbInRhYmxlcyJdKTt9JGhkPWxhbmcoMjM3KTt9ZWxzZWlmKCRfUE9TVFsibW92ZSJdKXskRT1tb3ZlX3RhYmxlcygoYXJyYXkpJF9QT1NUWyJ0YWJsZXMiXSwoYXJyYXkpJF9QT1NUWyJ2aWV3cyJdLCRfUE9TVFsidGFyZ2V0Il0pOyRoZD1sYW5nKDIzOCk7fWVsc2VpZigkX1BPU1RbImNvcHkiXSl7JEU9Y29weV90YWJsZXMoKGFycmF5KSRfUE9TVFsidGFibGVzIl0sKGFycmF5KSRfUE9TVFsidmlld3MiXSwkX1BPU1RbInRhcmdldCJdKTskaGQ9bGFuZygyMzkpO31lbHNlaWYoJF9QT1NUWyJkcm9wIl0pe2lmKCRfUE9TVFsidmlld3MiXSl7JEU9ZHJvcF92aWV3cygkX1BPU1RbInZpZXdzIl0pO31pZigkRSYmJF9QT1NUWyJ0YWJsZXMiXSl7JEU9ZHJvcF90YWJsZXMoJF9QT1NUWyJ0YWJsZXMiXSk7fSRoZD1sYW5nKDI0MCk7fWVsc2VpZigkX1BPU1RbInRhYmxlcyJdJiYoJEU9cXVlcmllcygoJF9QT1NUWyJvcHRpbWl6ZSJdPyJPUFRJTUlaRSI6KCRfUE9TVFsiY2hlY2siXT8iQ0hFQ0siOigkX1BPU1RbInJlcGFpciJdPyJSRVBBSVIiOiJBTkFMWVpFIikpKS4iIFRBQkxFICIuaW1wbG9kZSgiLCAiLGFycmF5X21hcCgnaWRmX2VzY2FwZScsJF9QT1NUWyJ0YWJsZXMiXSkpKSkpe3doaWxlKCRHPSRFLT5mZXRjaF9hc3NvYygpKXskaGQuPSI8Yj4iLmgoJEdbIlRhYmxlIl0pLiI8L2I+OiAiLmgoJEdbIk1zZ190ZXh0Il0pLiI8YnI+Ijt9fXF1ZXJpZXNfcmVkaXJlY3Qoc3Vic3RyKE1FLDAsLTEpLCRoZCwkRSk7fXBhZ2VfaGVhZGVyKCgkX0dFVFsibnMiXT09IiI/bGFuZyg2NykuIjogIi5oKERCKTpsYW5nKDgxKS4iOiAiLmgoJF9HRVRbIm5zIl0pKSwkayx0cnVlKTtpZigkYi0+aG9tZXBhZ2UoKSl7aWYoJF9HRVRbIm5zIl0hPT0iIil7ZWNobyI8aDM+Ii5sYW5nKDI0MSkuIjwvaDM+XG4iOyRyZj10YWJsZXNfbGlzdCgpO2lmKCEkcmYpe2VjaG8iPHAgY2xhc3M9J21lc3NhZ2UnPiIubGFuZyg2KS4iXG4iO31lbHNle2VjaG8iPGZvcm0gYWN0aW9uPScnIG1ldGhvZD0ncG9zdCc+XG4iLCI8cD4iLmxhbmcoMjQyKS4iOiA8aW5wdXQgbmFtZT0ncXVlcnknIHZhbHVlPSciLmgoJF9QT1NUWyJxdWVyeSJdKS4iJz4gPGlucHV0IHR5cGU9J3N1Ym1pdCcgbmFtZT0nc2VhcmNoJyB2YWx1ZT0nIi5sYW5nKDM2KS4iJz5cbiI7aWYoJF9QT1NUWyJzZWFyY2giXSYmJF9QT1NUWyJxdWVyeSJdIT0iIil7c2VhcmNoX3RhYmxlcygpO31lY2hvIjx0YWJsZSBjZWxsc3BhY2luZz0nMCcgY2xhc3M9J25vd3JhcCBjaGVja2FibGUnIG9uY2xpY2s9J3RhYmxlQ2xpY2soZXZlbnQpOyc+XG4iLCc8dGhlYWQ+PHRyIGNsYXNzPSJ3cmFwIj48dGQ+PGlucHV0IGlkPSJjaGVjay1hbGwiIHR5cGU9ImNoZWNrYm94IiBvbmNsaWNrPSJmb3JtQ2hlY2sodGhpcywgL14odGFibGVzfHZpZXdzKVxbLyk7Ij4nLCc8dGg+Jy5sYW5nKDEwMSksJzx0ZD4nLmxhbmcoMjQzKSwnPHRkPicubGFuZyg3NyksJzx0ZD4nLmxhbmcoMjQ0KSwnPHRkPicubGFuZygyNDUpLCc8dGQ+Jy5sYW5nKDI0NiksJzx0ZD4nLmxhbmcoOTMpLCc8dGQ+Jy5sYW5nKDI0NyksKHN1cHBvcnQoImNvbW1lbnQiKT8nPHRkPicubGFuZyg5NSk6JycpLCI8L3RoZWFkPlxuIjtmb3JlYWNoKCRyZgphcyRfPT4kUyl7JFpmPShpc3NldCgkUykmJiFlcmVnaSgidGFibGUiLCRTKSk7ZWNobyc8dHInLm9kZCgpLic+PHRkPicuY2hlY2tib3goKCRaZj8idmlld3NbXSI6InRhYmxlc1tdIiksJF8saW5fYXJyYXkoJF8sJHNmLHRydWUpLCIiLCJmb3JtVW5jaGVjaygnY2hlY2stYWxsJyk7IiksJzx0aD48YSBocmVmPSInLmgoTUUpLid0YWJsZT0nLnVybGVuY29kZSgkXykuJyIgdGl0bGU9IicubGFuZygyNikuJyI+Jy5oKCRfKS4nPC9hPic7aWYoJFpmKXtlY2hvJzx0ZCBjb2xzcGFuPSI2Ij48YSBocmVmPSInLmgoTUUpLiJ2aWV3PSIudXJsZW5jb2RlKCRfKS4nIiB0aXRsZT0iJy5sYW5nKDI3KS4nIj4nLmxhbmcoMTAwKS4nPC9hPicsJzx0ZCBhbGlnbj0icmlnaHQiPjxhIGhyZWY9IicuaChNRSkuInNlbGVjdD0iLnVybGVuY29kZSgkXykuJyIgdGl0bGU9IicubGFuZygyNSkuJyI+PzwvYT4nO31lbHNle2ZvcmVhY2goYXJyYXkoIkVuZ2luZSI9PmFycmF5KCksIkNvbGxhdGlvbiI9PmFycmF5KCksIkRhdGFfbGVuZ3RoIj0+YXJyYXkoImNyZWF0ZSIsbGFuZygyOCkpLCJJbmRleF9sZW5ndGgiPT5hcnJheSgiaW5kZXhlcyIsbGFuZygxMDQpKSwiRGF0YV9mcmVlIj0+YXJyYXkoImVkaXQiLGxhbmcoMjkpKSwiQXV0b19pbmNyZW1lbnQiPT5hcnJheSgiYXV0b19pbmNyZW1lbnQ9MSZjcmVhdGUiLGxhbmcoMjgpKSwiUm93cyI9PmFycmF5KCJzZWxlY3QiLGxhbmcoMjUpKSwpYXMkdj0+JHkpe2VjaG8oJHk/Ijx0ZCBhbGlnbj0ncmlnaHQnPjxhIGhyZWY9JyIuaChNRS4iJHlbMF09IikudXJsZW5jb2RlKCRfKS4iJyBpZD0nJHYtIi5oKCRfKS4iJyB0aXRsZT0nJHlbMV0nPj88L2E+IjoiPHRkIGlkPSckdi0iLmgoJF8pLiInPiZuYnNwOyIpO319ZWNobyhzdXBwb3J0KCJjb21tZW50Iik/Ijx0ZCBpZD0nQ29tbWVudC0iLmgoJF8pLiInPiZuYnNwOyI6IiIpO31lY2hvIjx0cj48dGQ+Jm5ic3A7PHRoPiIubGFuZygyMjIsY291bnQoJHJmKSksIjx0ZD4iLm5ic3AoJHU9PSJzcWwiPyRnLT5yZXN1bHQoIlNFTEVDVCBAQHN0b3JhZ2VfZW5naW5lIik6IiIpLCI8dGQ+Ii5uYnNwKGRiX2NvbGxhdGlvbihEQixjb2xsYXRpb25zKCkpKTtmb3JlYWNoKGFycmF5KCJEYXRhX2xlbmd0aCIsIkluZGV4X2xlbmd0aCIsIkRhdGFfZnJlZSIpYXMkdil7ZWNobyI8dGQgYWxpZ249J3JpZ2h0JyBpZD0nc3VtLSR2Jz4mbmJzcDsiO31lY2hvIjwvdGFibGU+XG4iLCI8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCc+dGFibGVDaGVjaygpOzwvc2NyaXB0PlxuIjtpZighaW5mb3JtYXRpb25fc2NoZW1hKERCKSl7ZWNobyI8cD4iLigkdT09InNxbCI/IjxpbnB1dCB0eXBlPSdzdWJtaXQnIHZhbHVlPSciLmxhbmcoMjQ4KS4iJz4gPGlucHV0IHR5cGU9J3N1Ym1pdCcgbmFtZT0nb3B0aW1pemUnIHZhbHVlPSciLmxhbmcoMjQ5KS4iJz4gPGlucHV0IHR5cGU9J3N1Ym1pdCcgbmFtZT0nY2hlY2snIHZhbHVlPSciLmxhbmcoMjUwKS4iJz4gPGlucHV0IHR5cGU9J3N1Ym1pdCcgbmFtZT0ncmVwYWlyJyB2YWx1ZT0nIi5sYW5nKDI1MSkuIic+ICI6IiIpLiI8aW5wdXQgdHlwZT0nc3VibWl0JyBuYW1lPSd0cnVuY2F0ZScgdmFsdWU9JyIubGFuZygyNTIpLiInIi5jb25maXJtKCJmb3JtQ2hlY2tlZCh0aGlzLCAvdGFibGVzLykiKS4iPiA8aW5wdXQgdHlwZT0nc3VibWl0JyBuYW1lPSdkcm9wJyB2YWx1ZT0nIi5sYW5nKDc5KS4iJyIuY29uZmlybSgiZm9ybUNoZWNrZWQodGhpcywgL3RhYmxlc3x2aWV3cy8pIiwxKS4iPlxuIjskaT0oc3VwcG9ydCgic2NoZW1lIik/c2NoZW1hcygpOmdldF9kYXRhYmFzZXMoKSk7aWYoY291bnQoJGkpIT0xJiYkdSE9InNxbGl0ZSIpeyRqPShpc3NldCgkX1BPU1RbInRhcmdldCJdKT8kX1BPU1RbInRhcmdldCJdOihzdXBwb3J0KCJzY2hlbWUiKT8kX0dFVFsibnMiXTpEQikpO2VjaG8iPHA+Ii5sYW5nKDI1MykuIjogIiwoJGk/aHRtbF9zZWxlY3QoInRhcmdldCIsJGksJGopOic8aW5wdXQgbmFtZT0idGFyZ2V0IiB2YWx1ZT0iJy5oKCRqKS4nIj4nKSwiIDxpbnB1dCB0eXBlPSdzdWJtaXQnIG5hbWU9J21vdmUnIHZhbHVlPSciLmxhbmcoMjU0KS4iJyBvbmNsaWNrPSdldmVudFN0b3AoZXZlbnQpOyc+Iiwoc3VwcG9ydCgiY29weSIpPyIgPGlucHV0IHR5cGU9J3N1Ym1pdCcgbmFtZT0nY29weScgdmFsdWU9JyIubGFuZygyNTUpLiInIG9uY2xpY2s9J2V2ZW50U3RvcChldmVudCk7Jz4iOiIiKSwiXG4iO31lY2hvIjxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J3Rva2VuJyB2YWx1ZT0nJFEnPlxuIjt9ZWNobyI8L2Zvcm0+XG4iO31lY2hvJzxwPjxhIGhyZWY9IicuaChNRSkuJ2NyZWF0ZT0iPicubGFuZygxNDcpLiI8L2E+XG4iO2lmKHN1cHBvcnQoInZpZXciKSl7ZWNobyc8YSBocmVmPSInLmgoTUUpLid2aWV3PSI+Jy5sYW5nKDE4MCkuIjwvYT5cbiI7fWlmKHN1cHBvcnQoInJvdXRpbmUiKSl7ZWNobyI8aDM+Ii5sYW5nKDExNikuIjwvaDM+XG4iOyRJZT1yb3V0aW5lcygpO2lmKCRJZSl7ZWNobyI8dGFibGUgY2VsbHNwYWNpbmc9JzAnPlxuIiwnPHRoZWFkPjx0cj48dGg+Jy5sYW5nKDE1OCkuJzx0ZD4nLmxhbmcoOTApLic8dGQ+Jy5sYW5nKDE5NykuIjx0ZD4mbmJzcDs8L3RoZWFkPlxuIjtvZGQoJycpO2ZvcmVhY2goJEllCmFzJEcpe2VjaG8nPHRyJy5vZGQoKS4nPicsJzx0aD48YSBocmVmPSInLmgoTUUpLigkR1siUk9VVElORV9UWVBFIl0hPSJQUk9DRURVUkUiPydjYWxsZj0nOidjYWxsPScpLnVybGVuY29kZSgkR1siUk9VVElORV9OQU1FIl0pLiciPicuaCgkR1siUk9VVElORV9OQU1FIl0pLic8L2E+JywnPHRkPicuaCgkR1siUk9VVElORV9UWVBFIl0pLCc8dGQ+Jy5oKCRHWyJEVERfSURFTlRJRklFUiJdKSwnPHRkPjxhIGhyZWY9IicuaChNRSkuKCRHWyJST1VUSU5FX1RZUEUiXSE9IlBST0NFRFVSRSI/J2Z1bmN0aW9uPSc6J3Byb2NlZHVyZT0nKS51cmxlbmNvZGUoJEdbIlJPVVRJTkVfTkFNRSJdKS4nIj4nLmxhbmcoMTA4KS4iPC9hPiI7fWVjaG8iPC90YWJsZT5cbiI7fWVjaG8nPHA+Jy4oc3VwcG9ydCgicHJvY2VkdXJlIik/JzxhIGhyZWY9IicuaChNRSkuJ3Byb2NlZHVyZT0iPicubGFuZygxOTYpLic8L2E+ICc6JycpLic8YSBocmVmPSInLmgoTUUpLidmdW5jdGlvbj0iPicubGFuZygxOTUpLiI8L2E+XG4iO31pZihzdXBwb3J0KCJzZXF1ZW5jZSIpKXtlY2hvIjxoMz4iLmxhbmcoMjU2KS4iPC9oMz5cbiI7JFNlPWdldF92YWxzKCJTRUxFQ1Qgc2VxdWVuY2VfbmFtZSBGUk9NIGluZm9ybWF0aW9uX3NjaGVtYS5zZXF1ZW5jZXMgV0hFUkUgc2VxdWVuY2Vfc2NoZW1hID0gY3VycmVudF9zY2hlbWEoKSIpO2lmKCRTZSl7ZWNobyI8dGFibGUgY2VsbHNwYWNpbmc9JzAnPlxuIiwiPHRoZWFkPjx0cj48dGg+Ii5sYW5nKDE1OCkuIjwvdGhlYWQ+XG4iO29kZCgnJyk7Zm9yZWFjaCgkU2UKYXMkVyl7ZWNobyI8dHIiLm9kZCgpLiI+PHRoPjxhIGhyZWY9JyIuaChNRSkuInNlcXVlbmNlPSIudXJsZW5jb2RlKCRXKS4iJz4iLmgoJFcpLiI8L2E+XG4iO31lY2hvIjwvdGFibGU+XG4iO31lY2hvIjxwPjxhIGhyZWY9JyIuaChNRSkuInNlcXVlbmNlPSc+Ii5sYW5nKDIwMikuIjwvYT5cbiI7fWlmKHN1cHBvcnQoInR5cGUiKSl7ZWNobyI8aDM+Ii5sYW5nKDExKS4iPC9oMz5cbiI7JFQ9dHlwZXMoKTtpZigkVCl7ZWNobyI8dGFibGUgY2VsbHNwYWNpbmc9JzAnPlxuIiwiPHRoZWFkPjx0cj48dGg+Ii5sYW5nKDE1OCkuIjwvdGhlYWQ+XG4iO29kZCgnJyk7Zm9yZWFjaCgkVAphcyRXKXtlY2hvIjx0ciIub2RkKCkuIj48dGg+PGEgaHJlZj0nIi5oKE1FKS4idHlwZT0iLnVybGVuY29kZSgkVykuIic+Ii5oKCRXKS4iPC9hPlxuIjt9ZWNobyI8L3RhYmxlPlxuIjt9ZWNobyI8cD48YSBocmVmPSciLmgoTUUpLiJ0eXBlPSc+Ii5sYW5nKDIwNikuIjwvYT5cbiI7fWlmKHN1cHBvcnQoImV2ZW50Iikpe2VjaG8iPGgzPiIubGFuZygxMTcpLiI8L2gzPlxuIjskSD1nZXRfcm93cygiU0hPVyBFVkVOVFMiKTtpZigkSCl7ZWNobyI8dGFibGUgY2VsbHNwYWNpbmc9JzAnPlxuIiwiPHRoZWFkPjx0cj48dGg+Ii5sYW5nKDE1OCkuIjx0ZD4iLmxhbmcoMjU3KS4iPHRkPiIubGFuZygxODYpLiI8dGQ+Ii5sYW5nKDE4NykuIjwvdGhlYWQ+XG4iO2ZvcmVhY2goJEgKYXMkRyl7ZWNobyI8dHI+IiwnPHRoPjxhIGhyZWY9IicuaChNRSkuJ2V2ZW50PScudXJsZW5jb2RlKCRHWyJOYW1lIl0pLiciPicuaCgkR1siTmFtZSJdKS4iPC9hPiIsIjx0ZD4iLigkR1siRXhlY3V0ZSBhdCJdP2xhbmcoMjU4KS4iPHRkPiIuJEdbIkV4ZWN1dGUgYXQiXTpsYW5nKDE4OCkuIiAiLiRHWyJJbnRlcnZhbCB2YWx1ZSJdLiIgIi4kR1siSW50ZXJ2YWwgZmllbGQiXS4iPHRkPiRHW1N0YXJ0c10iKSwiPHRkPiRHW0VuZHNdIjt9ZWNobyI8L3RhYmxlPlxuIjt9ZWNobyc8cD48YSBocmVmPSInLmgoTUUpLidldmVudD0iPicubGFuZygxODUpLiI8L2E+XG4iO31pZigkcmYpe2VjaG8iPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPmFqYXhTZXRIdG1sKCciLmpzX2VzY2FwZShNRSkuInNjcmlwdD1kYicpOzwvc2NyaXB0PlxuIjt9fX19cGFnZV9mb290ZXIoKTs=]]></data>
	</file>
	<file>
	  <filename>/adminer/editor-3.3.3.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqIEFkbWluZXIgRWRpdG9yIC0gQ29tcGFjdCBkYXRhYmFzZSBlZGl0b3IKKiBAbGluayBodHRwOi8vd3d3LmFkbWluZXIub3JnLwoqIEBhdXRob3IgSmFrdWIgVnJhbmEsIGh0dHA6Ly93d3cudnJhbmEuY3ovCiogQGNvcHlyaWdodCAyMDA5IEpha3ViIFZyYW5hCiogQGxpY2Vuc2UgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAoqIEBsaWNlbnNlIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMi4wLmh0bWwgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIHZlcnNpb24gMiAob25lIG9yIG90aGVyKQoqIEB2ZXJzaW9uIDMuMy4zCiovZXJyb3JfcmVwb3J0aW5nKDYxMzUpOyR5Yj0oIWVyZWcoJ14odW5zYWZlX3Jhdyk/JCcsaW5pX2dldCgiZmlsdGVyLmRlZmF1bHQiKSkpO2lmKCR5Ynx8aW5pX2dldCgiZmlsdGVyLmRlZmF1bHRfZmxhZ3MiKSl7Zm9yZWFjaChhcnJheSgnX0dFVCcsJ19QT1NUJywnX0NPT0tJRScsJ19TRVJWRVInKWFzJFgpeyRXZD1maWx0ZXJfaW5wdXRfYXJyYXkoY29uc3RhbnQoIklOUFVUJFgiKSxGSUxURVJfVU5TQUZFX1JBVyk7aWYoJFdkKXskJFg9JFdkO319fWlmKGlzc2V0KCRfR0VUWyJmaWxlIl0pKXtoZWFkZXIoIkV4cGlyZXM6ICIuZ21kYXRlKCJELCBkIE0gWSBIOmk6cyIsdGltZSgpKzM2NSoyNCo2MCo2MCkuIiBHTVQiKTtpZigkX0dFVFsiZmlsZSJdPT0iZmF2aWNvbi5pY28iKXtoZWFkZXIoIkNvbnRlbnQtVHlwZTogaW1hZ2UveC1pY29uIik7ZWNobwpiYXNlNjRfZGVjb2RlKCJBQUFCQUFFQUVCQVFBQUVBQkFBb0FRQUFGZ0FBQUNnQUFBQVFBQUFBSUFBQUFBRUFCQUFBQUFBQXdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBLy8vL0FBQUEvd0JoVGdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFUkVSQUFBQUFBRVRNekVRQUFBQUFURVJFeEFBQUFBQk1SRVRFQUFBQUFFeEVSTVFBQUFBQVRFUkV4QUFBQUFCTVJFVEVBQUFBQUV6TXpNUkVSRVFBVEVSRXhFaEVoQUJFek14RWhFUkVBQVJFUkVoRVJJUkFBQUFBUklSRVNFQUFBQUFFU0VpRVFBQUFBQUJFUkVRQUFBQUFBQUFBQUQvLzlVQXdQL1ZBSUIvQUFDQWYvQUFnSCtrQUlCL2dBQ0Fmd0FBZ0g4QUFJQUJBQUNBQWY4QWdBSC9BTUFBL3dEK0FQOEEvd0FJQWYrQjFRRC8vOVVBIik7fWVsc2VpZigkX0dFVFsiZmlsZSJdPT0iZGVmYXVsdC5jc3MiKXtoZWFkZXIoIkNvbnRlbnQtVHlwZTogdGV4dC9jc3M7IGNoYXJzZXQ9dXRmLTgiKTtlY2hvJ2JvZHl7Y29sb3I6IzAwMDtiYWNrZ3JvdW5kOiNmZmY7Zm9udDo5MCUvMS4yNSBWZXJkYW5hLEFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmO21hcmdpbjowO31he2NvbG9yOmJsdWU7fWE6dmlzaXRlZHtjb2xvcjpuYXZ5O31hOmhvdmVye2NvbG9yOnJlZDt9aDF7Zm9udC1zaXplOjE1MCU7bWFyZ2luOjA7cGFkZGluZzouOGVtIDFlbTtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjOTk5O2ZvbnQtd2VpZ2h0Om5vcm1hbDtjb2xvcjojNzc3O2JhY2tncm91bmQ6I2VlZTt9aDJ7Zm9udC1zaXplOjE1MCU7bWFyZ2luOjAgMCAyMHB4IC0xOHB4O3BhZGRpbmc6LjhlbSAxZW07Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzAwMDtjb2xvcjojMDAwO2ZvbnQtd2VpZ2h0Om5vcm1hbDtiYWNrZ3JvdW5kOiNkZGY7fWgze2ZvbnQtd2VpZ2h0Om5vcm1hbDtmb250LXNpemU6MTMwJTttYXJnaW46MWVtIDAgMDt9Zm9ybXttYXJnaW46MDt9dGFibGV7bWFyZ2luOjFlbSAyMHB4IDAgMDtib3JkZXI6MDtib3JkZXItdG9wOjFweCBzb2xpZCAjOTk5O2JvcmRlci1sZWZ0OjFweCBzb2xpZCAjOTk5O2ZvbnQtc2l6ZTo5MCU7fXRkLHRoe2JvcmRlcjowO2JvcmRlci1yaWdodDoxcHggc29saWQgIzk5OTtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjOTk5O3BhZGRpbmc6LjJlbSAuM2VtO310aHtiYWNrZ3JvdW5kOiNlZWU7dGV4dC1hbGlnbjpsZWZ0O310aGVhZCB0aHt0ZXh0LWFsaWduOmNlbnRlcjt9dGhlYWQgdGQsdGhlYWQgdGh7YmFja2dyb3VuZDojZGRmO31maWVsZHNldHtkaXNwbGF5OmlubGluZTt2ZXJ0aWNhbC1hbGlnbjp0b3A7cGFkZGluZzouNWVtIC44ZW07bWFyZ2luOi44ZW0gLjVlbSAwIDA7Ym9yZGVyOjFweCBzb2xpZCAjOTk5O31we21hcmdpbjouOGVtIDIwcHggMCAwO31pbWd7dmVydGljYWwtYWxpZ246bWlkZGxlO2JvcmRlcjowO310ZCBpbWd7bWF4LXdpZHRoOjIwMHB4O21heC1oZWlnaHQ6MjAwcHg7fWNvZGV7YmFja2dyb3VuZDojZWVlO310Ym9keSB0cjpob3ZlciB0ZCx0Ym9keSB0cjpob3ZlciB0aHtiYWNrZ3JvdW5kOiNlZWU7fXByZXttYXJnaW46MWVtIDAgMDt9aW5wdXRbdHlwZT1pbWFnZV17dmVydGljYWwtYWxpZ246bWlkZGxlO30udmVyc2lvbntjb2xvcjojNzc3O2ZvbnQtc2l6ZTo2NyU7fS5qcyAuaGlkZGVuLC5ub2pzIC5qc29ubHl7ZGlzcGxheTpub25lO30ubm93cmFwIHRkLC5ub3dyYXAgdGgsdGQubm93cmFwe3doaXRlLXNwYWNlOnByZTt9LndyYXAgdGR7d2hpdGUtc3BhY2U6bm9ybWFsO30uZXJyb3J7Y29sb3I6cmVkO2JhY2tncm91bmQ6I2ZlZTt9LmVycm9yIGJ7YmFja2dyb3VuZDojZmZmO2ZvbnQtd2VpZ2h0Om5vcm1hbDt9Lm1lc3NhZ2V7Y29sb3I6Z3JlZW47YmFja2dyb3VuZDojZWZlO30uZXJyb3IsLm1lc3NhZ2V7cGFkZGluZzouNWVtIC44ZW07bWFyZ2luOjFlbSAyMHB4IDAgMDt9LmNoYXJ7Y29sb3I6IzAwN0YwMDt9LmRhdGV7Y29sb3I6IzdGMDA3Rjt9LmVudW17Y29sb3I6IzAwN0Y3Rjt9LmJpbmFyeXtjb2xvcjpyZWQ7fS5vZGQgdGR7YmFja2dyb3VuZDojRjVGNUY1O30uanMgLmNoZWNrZWQgdGQsLmpzIC5jaGVja2VkIHRoe2JhY2tncm91bmQ6I2RkZjt9LnRpbWV7Y29sb3I6c2lsdmVyO2ZvbnQtc2l6ZTo3MCU7fS5mdW5jdGlvbnt0ZXh0LWFsaWduOnJpZ2h0O30ubnVtYmVye3RleHQtYWxpZ246cmlnaHQ7fS5kYXRldGltZXt0ZXh0LWFsaWduOnJpZ2h0O30udHlwZXt3aWR0aDoxNWV4O3dpZHRoOmF1dG9cXDk7fS5vcHRpb25zIHNlbGVjdHt3aWR0aDoyMGV4O3dpZHRoOmF1dG9cXDk7fS5hY3RpdmV7Zm9udC13ZWlnaHQ6Ym9sZDt9LnNxbGFyZWF7d2lkdGg6OTglO30jbWVudXtwb3NpdGlvbjphYnNvbHV0ZTttYXJnaW46MTBweCAwIDA7cGFkZGluZzowIDAgMzBweCAwO3RvcDoyZW07bGVmdDowO3dpZHRoOjE5ZW07b3ZlcmZsb3c6YXV0bztvdmVyZmxvdy15OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7fSNtZW51IHB7cGFkZGluZzouOGVtIDFlbTttYXJnaW46MDtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjY2NjO30jY29udGVudHttYXJnaW46MmVtIDAgMCAyMWVtO3BhZGRpbmc6MTBweCAyMHB4IDIwcHggMDt9I2xhbmd7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO2xpbmUtaGVpZ2h0OjEuOGVtO3BhZGRpbmc6LjNlbSAxZW07fSNicmVhZGNydW1ie3doaXRlLXNwYWNlOm5vd3JhcDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjIxZW07YmFja2dyb3VuZDojZWVlO2hlaWdodDoyZW07bGluZS1oZWlnaHQ6MS44ZW07cGFkZGluZzowIDFlbTttYXJnaW46MCAwIDAgLTE4cHg7fSNsb2FkZXJ7cG9zaXRpb246Zml4ZWQ7dG9wOjA7bGVmdDoxOGVtO3otaW5kZXg6MTt9I2gxe2NvbG9yOiM3Nzc7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Zm9udC1zdHlsZTppdGFsaWM7fSN2ZXJzaW9ue2ZvbnQtc2l6ZTo2NyU7Y29sb3I6cmVkO30jc2NoZW1he21hcmdpbi1sZWZ0OjYwcHg7cG9zaXRpb246cmVsYXRpdmU7fSNzY2hlbWEgLnRhYmxle2JvcmRlcjoxcHggc29saWQgc2lsdmVyO3BhZGRpbmc6MCAycHg7Y3Vyc29yOm1vdmU7cG9zaXRpb246YWJzb2x1dGU7fSNzY2hlbWEgLnJlZmVyZW5jZXN7cG9zaXRpb246YWJzb2x1dGU7fS5ydGwgaDJ7bWFyZ2luOjAgLTE4cHggMjBweCAwO30ucnRsIHAsLnJ0bCB0YWJsZSwucnRsIC5lcnJvciwucnRsIC5tZXNzYWdle21hcmdpbjoxZW0gMCAwIDIwcHg7fS5ydGwgI2NvbnRlbnR7bWFyZ2luOjJlbSAyMWVtIDAgMDtwYWRkaW5nOjEwcHggMCAyMHB4IDIwcHg7fS5ydGwgI2JyZWFkY3J1bWJ7bGVmdDphdXRvO3JpZ2h0OjIxZW07bWFyZ2luOjAgLTE4cHggMCAwO30ucnRsICNsYW5nLC5ydGwgI21lbnV7bGVmdDphdXRvO3JpZ2h0OjA7fUBtZWRpYSBwcmludHsjbGFuZywjbWVudXtkaXNwbGF5Om5vbmU7fSNjb250ZW50e21hcmdpbi1sZWZ0OjFlbTt9I2JyZWFkY3J1bWJ7bGVmdDoxZW07fS5ub3dyYXAgdGQsLm5vd3JhcCB0aCx0ZC5ub3dyYXB7d2hpdGUtc3BhY2U6bm9ybWFsO319Jzt9ZWxzZWlmKCRfR0VUWyJmaWxlIl09PSJmdW5jdGlvbnMuanMiKXtoZWFkZXIoIkNvbnRlbnQtVHlwZTogdGV4dC9qYXZhc2NyaXB0OyBjaGFyc2V0PXV0Zi04Iik7Pz4KZnVuY3Rpb24gdG9nZ2xlKGlkKXt2YXIgZWw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO2VsLmNsYXNzTmFtZT0oZWwuY2xhc3NOYW1lPT0naGlkZGVuJz8nJzonaGlkZGVuJyk7cmV0dXJuIHRydWU7fQpmdW5jdGlvbiBjb29raWUoYXNzaWduLGRheXMpe3ZhciBkYXRlPW5ldyBEYXRlKCk7ZGF0ZS5zZXREYXRlKGRhdGUuZ2V0RGF0ZSgpK2RheXMpO2RvY3VtZW50LmNvb2tpZT1hc3NpZ24rJzsgZXhwaXJlcz0nK2RhdGU7fQpmdW5jdGlvbiB2ZXJpZnlWZXJzaW9uKCl7Y29va2llKCdhZG1pbmVyX3ZlcnNpb249MCcsMSk7dmFyIHNjcmlwdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtzY3JpcHQuc3JjPWxvY2F0aW9uLnByb3RvY29sKycvL3d3dy5hZG1pbmVyLm9yZy92ZXJzaW9uLnBocCc7ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzY3JpcHQpO30KZnVuY3Rpb24gc2VsZWN0VmFsdWUoc2VsZWN0KXt2YXIgc2VsZWN0ZWQ9c2VsZWN0Lm9wdGlvbnNbc2VsZWN0LnNlbGVjdGVkSW5kZXhdO3JldHVybigoc2VsZWN0ZWQuYXR0cmlidXRlcy52YWx1ZXx8e30pLnNwZWNpZmllZD9zZWxlY3RlZC52YWx1ZTpzZWxlY3RlZC50ZXh0KTt9CmZ1bmN0aW9uIHRyQ2hlY2soZWwpe3ZhciB0cj1lbC5wYXJlbnROb2RlLnBhcmVudE5vZGU7dHIuY2xhc3NOYW1lPXRyLmNsYXNzTmFtZS5yZXBsYWNlKC8oXnxccyljaGVja2VkKFxzfCQpLywnJDInKSsoZWwuY2hlY2tlZD8nIGNoZWNrZWQnOicnKTt9CmZ1bmN0aW9uIGZvcm1DaGVjayhlbCxuYW1lKXt2YXIgZWxlbXM9ZWwuZm9ybS5lbGVtZW50cztmb3IodmFyIGk9MDtpPGVsZW1zLmxlbmd0aDtpKyspe2lmKG5hbWUudGVzdChlbGVtc1tpXS5uYW1lKSl7ZWxlbXNbaV0uY2hlY2tlZD1lbC5jaGVja2VkO3RyQ2hlY2soZWxlbXNbaV0pO319fQpmdW5jdGlvbiB0YWJsZUNoZWNrKCl7dmFyIHRhYmxlcz1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgndGFibGUnKTtmb3IodmFyIGk9MDtpPHRhYmxlcy5sZW5ndGg7aSsrKXtpZigvKF58XHMpY2hlY2thYmxlKFxzfCQpLy50ZXN0KHRhYmxlc1tpXS5jbGFzc05hbWUpKXt2YXIgdHJzPXRhYmxlc1tpXS5nZXRFbGVtZW50c0J5VGFnTmFtZSgndHInKTtmb3IodmFyIGo9MDtqPHRycy5sZW5ndGg7aisrKXt0ckNoZWNrKHRyc1tqXS5maXJzdENoaWxkLmZpcnN0Q2hpbGQpO319fX0KZnVuY3Rpb24gZm9ybVVuY2hlY2soaWQpe3ZhciBlbD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7ZWwuY2hlY2tlZD1mYWxzZTt0ckNoZWNrKGVsKTt9CmZ1bmN0aW9uIGZvcm1DaGVja2VkKGVsLG5hbWUpe3ZhciBjaGVja2VkPTA7dmFyIGVsZW1zPWVsLmZvcm0uZWxlbWVudHM7Zm9yKHZhciBpPTA7aTxlbGVtcy5sZW5ndGg7aSsrKXtpZihuYW1lLnRlc3QoZWxlbXNbaV0ubmFtZSkmJmVsZW1zW2ldLmNoZWNrZWQpe2NoZWNrZWQrKzt9fQpyZXR1cm4gY2hlY2tlZDt9CmZ1bmN0aW9uIHRhYmxlQ2xpY2soZXZlbnQpe3ZhciBjbGljaz10cnVlO3ZhciBlbD1ldmVudC50YXJnZXR8fGV2ZW50LnNyY0VsZW1lbnQ7d2hpbGUoIS9edHIkL2kudGVzdChlbC50YWdOYW1lKSl7aWYoL150YWJsZSQvaS50ZXN0KGVsLnRhZ05hbWUpKXtyZXR1cm47fQppZigvXihhfGlucHV0fHRleHRhcmVhKSQvaS50ZXN0KGVsLnRhZ05hbWUpKXtjbGljaz1mYWxzZTt9CmVsPWVsLnBhcmVudE5vZGU7fQplbD1lbC5maXJzdENoaWxkLmZpcnN0Q2hpbGQ7aWYoY2xpY2spe2VsLmNsaWNrJiZlbC5jbGljaygpO2VsLm9uY2xpY2smJmVsLm9uY2xpY2soKTt9CnRyQ2hlY2soZWwpO30KZnVuY3Rpb24gc2V0SHRtbChpZCxodG1sKXt2YXIgZWw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO2lmKGVsKXtpZihodG1sPT11bmRlZmluZWQpe2VsLnBhcmVudE5vZGUuaW5uZXJIVE1MPScmbmJzcDsnO31lbHNle2VsLmlubmVySFRNTD1odG1sO319fQpmdW5jdGlvbiBub2RlUG9zaXRpb24oZWwpe3ZhciBwb3M9MDt3aGlsZShlbD1lbC5wcmV2aW91c1NpYmxpbmcpe3BvcysrO30KcmV0dXJuIHBvczt9CmZ1bmN0aW9uIHBhZ2VDbGljayhocmVmLHBhZ2UsZXZlbnQpe2lmKCFpc05hTihwYWdlKSYmcGFnZSl7aHJlZis9KHBhZ2UhPTE/JyZwYWdlPScrKHBhZ2UtMSk6JycpO2lmKCFhamF4U2VuZChocmVmKSl7bG9jYXRpb24uaHJlZj1ocmVmO319fQpmdW5jdGlvbiBzZWxlY3RBZGRSb3coZmllbGQpe2ZpZWxkLm9uY2hhbmdlPWZ1bmN0aW9uKCl7fTt2YXIgcm93PWZpZWxkLnBhcmVudE5vZGUuY2xvbmVOb2RlKHRydWUpO3ZhciBzZWxlY3RzPXJvdy5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2VsZWN0Jyk7Zm9yKHZhciBpPTA7aTxzZWxlY3RzLmxlbmd0aDtpKyspe3NlbGVjdHNbaV0ubmFtZT1zZWxlY3RzW2ldLm5hbWUucmVwbGFjZSgvW2Etel1cW1xkKy8sJyQmMScpO3NlbGVjdHNbaV0uc2VsZWN0ZWRJbmRleD0wO30KdmFyIGlucHV0cz1yb3cuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2lucHV0Jyk7aWYoaW5wdXRzLmxlbmd0aCl7aW5wdXRzWzBdLm5hbWU9aW5wdXRzWzBdLm5hbWUucmVwbGFjZSgvW2Etel1cW1xkKy8sJyQmMScpO2lucHV0c1swXS52YWx1ZT0nJztpbnB1dHNbMF0uY2xhc3NOYW1lPScnO30KZmllbGQucGFyZW50Tm9kZS5wYXJlbnROb2RlLmFwcGVuZENoaWxkKHJvdyk7fQpmdW5jdGlvbiBib2R5S2V5ZG93bihldmVudCxidXR0b24pe3ZhciB0YXJnZXQ9ZXZlbnQudGFyZ2V0fHxldmVudC5zcmNFbGVtZW50O2lmKGV2ZW50LmN0cmxLZXkmJihldmVudC5rZXlDb2RlPT0xM3x8ZXZlbnQua2V5Q29kZT09MTApJiYhZXZlbnQuYWx0S2V5JiYhZXZlbnQubWV0YUtleSYmL3NlbGVjdHx0ZXh0YXJlYXxpbnB1dC9pLnRlc3QodGFyZ2V0LnRhZ05hbWUpKXt0YXJnZXQuYmx1cigpO2lmKCFhamF4Rm9ybSh0YXJnZXQuZm9ybSwoYnV0dG9uP2J1dHRvbisnPTEnOicnKSkpe2lmKGJ1dHRvbil7dGFyZ2V0LmZvcm1bYnV0dG9uXS5jbGljaygpO31lbHNle3RhcmdldC5mb3JtLnN1Ym1pdCgpO319CnJldHVybiBmYWxzZTt9CnJldHVybiB0cnVlO30KZnVuY3Rpb24gZWRpdGluZ0tleWRvd24oZXZlbnQpe2lmKChldmVudC5rZXlDb2RlPT00MHx8ZXZlbnQua2V5Q29kZT09MzgpJiZldmVudC5jdHJsS2V5JiYhZXZlbnQuYWx0S2V5JiYhZXZlbnQubWV0YUtleSl7dmFyIHRhcmdldD1ldmVudC50YXJnZXR8fGV2ZW50LnNyY0VsZW1lbnQ7dmFyIHNpYmxpbmc9KGV2ZW50LmtleUNvZGU9PTQwPyduZXh0U2libGluZyc6J3ByZXZpb3VzU2libGluZycpO3ZhciBlbD10YXJnZXQucGFyZW50Tm9kZS5wYXJlbnROb2RlW3NpYmxpbmddO2lmKGVsJiYoL150ciQvaS50ZXN0KGVsLnRhZ05hbWUpfHwoZWw9ZWxbc2libGluZ10pKSYmL150ciQvaS50ZXN0KGVsLnRhZ05hbWUpJiYoZWw9ZWwuY2hpbGROb2Rlc1tub2RlUG9zaXRpb24odGFyZ2V0LnBhcmVudE5vZGUpXSkmJihlbD1lbC5jaGlsZE5vZGVzW25vZGVQb3NpdGlvbih0YXJnZXQpXSkpe2VsLmZvY3VzKCk7fQpyZXR1cm4gZmFsc2U7fQppZihldmVudC5zaGlmdEtleSYmIWJvZHlLZXlkb3duKGV2ZW50LCdpbnNlcnQnKSl7ZXZlbnRTdG9wKGV2ZW50KTtyZXR1cm4gZmFsc2U7fQpyZXR1cm4gdHJ1ZTt9CmZ1bmN0aW9uIGZ1bmN0aW9uQ2hhbmdlKHNlbGVjdCl7dmFyIGlucHV0PXNlbGVjdC5mb3JtW3NlbGVjdC5uYW1lLnJlcGxhY2UoL15mdW5jdGlvbi8sJ2ZpZWxkcycpXTtpZihzZWxlY3RWYWx1ZShzZWxlY3QpKXtpZihpbnB1dC5vcmlnTWF4TGVuZ3RoPT09dW5kZWZpbmVkKXtpbnB1dC5vcmlnTWF4TGVuZ3RoPWlucHV0Lm1heExlbmd0aDt9CmlucHV0LnJlbW92ZUF0dHJpYnV0ZSgnbWF4bGVuZ3RoJyk7fWVsc2UgaWYoaW5wdXQub3JpZ01heExlbmd0aD49MCl7aW5wdXQubWF4TGVuZ3RoPWlucHV0Lm9yaWdNYXhMZW5ndGg7fX0KZnVuY3Rpb24gYWpheCh1cmwsY2FsbGJhY2ssZGF0YSl7dmFyIHhtbGh0dHA9KHdpbmRvdy5YTUxIdHRwUmVxdWVzdD9uZXcgWE1MSHR0cFJlcXVlc3QoKTood2luZG93LkFjdGl2ZVhPYmplY3Q/bmV3IEFjdGl2ZVhPYmplY3QoJ01pY3Jvc29mdC5YTUxIVFRQJyk6ZmFsc2UpKTtpZih4bWxodHRwKXt4bWxodHRwLm9wZW4oKGRhdGE/J1BPU1QnOidHRVQnKSx1cmwpO2lmKGRhdGEpe3htbGh0dHAuc2V0UmVxdWVzdEhlYWRlcignQ29udGVudC1UeXBlJywnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJyk7fQp4bWxodHRwLnNldFJlcXVlc3RIZWFkZXIoJ1gtUmVxdWVzdGVkLVdpdGgnLCdYTUxIdHRwUmVxdWVzdCcpO3htbGh0dHAub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7aWYoeG1saHR0cC5yZWFkeVN0YXRlPT00KXtjYWxsYmFjayh4bWxodHRwKTt9fTt4bWxodHRwLnNlbmQoZGF0YSk7fQpyZXR1cm4geG1saHR0cDt9CmZ1bmN0aW9uIGFqYXhTZXRIdG1sKHVybCl7cmV0dXJuIGFqYXgodXJsLGZ1bmN0aW9uKHhtbGh0dHApe2lmKHhtbGh0dHAuc3RhdHVzKXt2YXIgZGF0YT1ldmFsKCcoJyt4bWxodHRwLnJlc3BvbnNlVGV4dCsnKScpO2Zvcih2YXIga2V5IGluIGRhdGEpe3NldEh0bWwoa2V5LGRhdGFba2V5XSk7fX19KTt9CnZhciBvcmlnaW5hbEZhdmljb247ZnVuY3Rpb24gcmVwbGFjZUZhdmljb24oaHJlZil7dmFyIGZhdmljb249ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Zhdmljb24nKTtpZihmYXZpY29uKXtmYXZpY29uLmhyZWY9aHJlZjtmYXZpY29uLnBhcmVudE5vZGUuYXBwZW5kQ2hpbGQoZmF2aWNvbik7fX0KdmFyIGFqYXhTdGF0ZT0wO2Z1bmN0aW9uIGFqYXhTZW5kKHVybCxkYXRhLHBvcFN0YXRlLG5vc2Nyb2xsKXtpZighaGlzdG9yeS5wdXNoU3RhdGUpe3JldHVybiBmYWxzZTt9CnZhciBjdXJyZW50U3RhdGU9KythamF4U3RhdGU7b25ibHVyPWZ1bmN0aW9uKCl7aWYoIW9yaWdpbmFsRmF2aWNvbil7b3JpZ2luYWxGYXZpY29uPShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZmF2aWNvbicpfHx7fSkuaHJlZjt9CnJlcGxhY2VGYXZpY29uKGxvY2F0aW9uLnBhdGhuYW1lKyc/ZmlsZT1sb2FkZXIuZ2lmJmFtcDt2ZXJzaW9uPTMuMy4zJyk7fTtzZXRIdG1sKCdsb2FkZXInLCc8aW1nIHNyYz0iJytsb2NhdGlvbi5wYXRobmFtZSsnP2ZpbGU9bG9hZGVyLmdpZiZhbXA7dmVyc2lvbj0zLjMuMyIgYWx0PSIiPicpO3JldHVybiBhamF4KHVybCxmdW5jdGlvbih4bWxodHRwKXtpZihjdXJyZW50U3RhdGU9PWFqYXhTdGF0ZSl7dmFyIHRpdGxlPXhtbGh0dHAuZ2V0UmVzcG9uc2VIZWFkZXIoJ1gtQUpBWC1UaXRsZScpO2lmKHRpdGxlKXtkb2N1bWVudC50aXRsZT1kZWNvZGVVUklDb21wb25lbnQodGl0bGUpO30KdmFyIHJlZGlyZWN0PXhtbGh0dHAuZ2V0UmVzcG9uc2VIZWFkZXIoJ1gtQUpBWC1SZWRpcmVjdCcpO2lmKHJlZGlyZWN0KXtyZXR1cm4gYWpheFNlbmQocmVkaXJlY3QsJycscG9wU3RhdGUpO30Kb25ibHVyPWZ1bmN0aW9uKCl7fTtpZihvcmlnaW5hbEZhdmljb24pe3JlcGxhY2VGYXZpY29uKG9yaWdpbmFsRmF2aWNvbik7fQppZigheG1saHR0cC5zdGF0dXMpe3NldEh0bWwoJ2xvYWRlcicsJycpO31lbHNle2lmKCFwb3BTdGF0ZSl7aWYoZGF0YXx8dXJsIT1sb2NhdGlvbi5ocmVmKXtoaXN0b3J5LnB1c2hTdGF0ZShkYXRhLCcnLHVybCk7fX0KaWYoIW5vc2Nyb2xsJiYhLyZvcmRlci8udGVzdCh1cmwpKXtzY3JvbGxUbygwLDApO30Kc2V0SHRtbCgnY29udGVudCcseG1saHR0cC5yZXNwb25zZVRleHQpO3ZhciBjb250ZW50PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb250ZW50Jyk7dmFyIHNjcmlwdHM9Y29udGVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2NyaXB0Jyk7dmFyIGxlbmd0aD1zY3JpcHRzLmxlbmd0aDtmb3IodmFyIGk9MDtpPGxlbmd0aDtpKyspe3ZhciBzY3JpcHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7c2NyaXB0LnRleHQ9c2NyaXB0c1tpXS50ZXh0O2NvbnRlbnQuYXBwZW5kQ2hpbGQoc2NyaXB0KTt9CnZhciBhcz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbWVudScpLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdhJyk7dmFyIGhyZWY9bG9jYXRpb24uaHJlZi5yZXBsYWNlKC8oJihzcWw9fGR1bXA9fChzZWxlY3R8dGFibGUpPVteJl0qKSkuKi8sJyQxJyk7Zm9yKHZhciBpPTA7aTxhcy5sZW5ndGg7aSsrKXthc1tpXS5jbGFzc05hbWU9KGhyZWY9PWFzW2ldLmhyZWY/J2FjdGl2ZSc6JycpO30KdmFyIGR1bXA9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2R1bXAnKTtpZihkdW1wKXt2YXIgbWF0Y2g9LyYoc2VsZWN0fHRhYmxlKT0oW14mXSspLy5leGVjKGhyZWYpO2R1bXAuaHJlZj1kdW1wLmhyZWYucmVwbGFjZSgvW149XSskLywnJykrKG1hdGNoP21hdGNoWzJdOicnKTt9CmlmKHdpbmRvdy5qdXNoKXtqdXNoLmhpZ2hsaWdodF90YWcoJ2NvZGUnLDApO319fX0sZGF0YSk7fQpvbnBvcHN0YXRlPWZ1bmN0aW9uKGV2ZW50KXtpZigoYWpheFN0YXRlfHxldmVudC5zdGF0ZSkmJiEvIy8udGVzdChsb2NhdGlvbi5ocmVmKSl7YWpheFNlbmQobG9jYXRpb24uaHJlZiwoZXZlbnQuc3RhdGUmJmNvbmZpcm0oYXJlWW91U3VyZSk/ZXZlbnQuc3RhdGU6JycpLDEpO31lbHNle2FqYXhTdGF0ZSsrO319O2Z1bmN0aW9uIGFqYXhGb3JtKGZvcm0sZGF0YSxub3Njcm9sbCl7aWYoKC8mKGRhdGFiYXNlfHNjaGVtZXxjcmVhdGV8dmlld3xzcWx8dXNlcnxkdW1wfGNhbGwpPS8udGVzdChsb2NhdGlvbi5ocmVmKSYmIS9cLi8udGVzdChkYXRhKSl8fChmb3JtLm9uc3VibWl0JiZmb3JtLm9uc3VibWl0KCk9PT1mYWxzZSkpe3JldHVybiBmYWxzZTt9CnZhciBwYXJhbXM9W107Zm9yKHZhciBpPTA7aTxmb3JtLmVsZW1lbnRzLmxlbmd0aDtpKyspe3ZhciBlbD1mb3JtLmVsZW1lbnRzW2ldO2lmKC9maWxlL2kudGVzdChlbC50eXBlKSYmZWwudmFsdWUpe3JldHVybiBmYWxzZTt9ZWxzZSBpZihlbC5uYW1lJiYoIS9jaGVja2JveHxyYWRpb3xzdWJtaXR8ZmlsZS9pLnRlc3QoZWwudHlwZSl8fGVsLmNoZWNrZWQpKXtwYXJhbXMucHVzaChlbmNvZGVVUklDb21wb25lbnQoZWwubmFtZSkrJz0nK2VuY29kZVVSSUNvbXBvbmVudCgvc2VsZWN0L2kudGVzdChlbC50YWdOYW1lKT9zZWxlY3RWYWx1ZShlbCk6ZWwudmFsdWUpKTt9fQppZihkYXRhKXtwYXJhbXMucHVzaChkYXRhKTt9CmlmKGZvcm0ubWV0aG9kPT0ncG9zdCcpe3JldHVybiBhamF4U2VuZCgoL1w/Ly50ZXN0KGZvcm0uYWN0aW9uKT9mb3JtLmFjdGlvbjpsb2NhdGlvbi5ocmVmKSxwYXJhbXMuam9pbignJicpLGZhbHNlLG5vc2Nyb2xsKTt9CnJldHVybiBhamF4U2VuZCgoZm9ybS5hY3Rpb258fGxvY2F0aW9uLmhyZWYpLnJlcGxhY2UoL1w/LiovLCcnKSsnPycrcGFyYW1zLmpvaW4oJyYnKSwnJyxmYWxzZSxub3Njcm9sbCk7fQpmdW5jdGlvbiBzZWxlY3REYmxDbGljayh0ZCxldmVudCx0ZXh0KXtpZigvaW5wdXR8dGV4dGFyZWEvaS50ZXN0KHRkLmZpcnN0Q2hpbGQudGFnTmFtZSkpe3JldHVybjt9CnZhciBvcmlnaW5hbD10ZC5pbm5lckhUTUw7dmFyIGlucHV0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGV4dD8ndGV4dGFyZWEnOidpbnB1dCcpO2lucHV0Lm9ua2V5ZG93bj1mdW5jdGlvbihldmVudCl7aWYoIWV2ZW50KXtldmVudD13aW5kb3cuZXZlbnQ7fQppZihldmVudC5rZXlDb2RlPT0yNyYmIShldmVudC5jdHJsS2V5fHxldmVudC5zaGlmdEtleXx8ZXZlbnQuYWx0S2V5fHxldmVudC5tZXRhS2V5KSl7dGQuaW5uZXJIVE1MPW9yaWdpbmFsO319O3ZhciBwb3M9ZXZlbnQucmFuZ2VPZmZzZXQ7dmFyIHZhbHVlPXRkLmZpcnN0Q2hpbGQuYWx0fHx0ZC50ZXh0Q29udGVudHx8dGQuaW5uZXJUZXh0O2lucHV0LnN0eWxlLndpZHRoPU1hdGgubWF4KHRkLmNsaWVudFdpZHRoLTE0LDIwKSsncHgnO2lmKHRleHQpe3ZhciByb3dzPTE7dmFsdWUucmVwbGFjZSgvXG4vZyxmdW5jdGlvbigpe3Jvd3MrKzt9KTtpbnB1dC5yb3dzPXJvd3M7fQppZih2YWx1ZT09J1x1MDBBMCd8fHRkLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdpJykubGVuZ3RoKXt2YWx1ZT0nJzt9CmlmKGRvY3VtZW50LnNlbGVjdGlvbil7dmFyIHJhbmdlPWRvY3VtZW50LnNlbGVjdGlvbi5jcmVhdGVSYW5nZSgpO3JhbmdlLm1vdmVUb1BvaW50KGV2ZW50LmNsaWVudFgsZXZlbnQuY2xpZW50WSk7dmFyIHJhbmdlMj1yYW5nZS5kdXBsaWNhdGUoKTtyYW5nZTIubW92ZVRvRWxlbWVudFRleHQodGQpO3JhbmdlMi5zZXRFbmRQb2ludCgnRW5kVG9FbmQnLHJhbmdlKTtwb3M9cmFuZ2UyLnRleHQubGVuZ3RoO30KdGQuaW5uZXJIVE1MPScnO3RkLmFwcGVuZENoaWxkKGlucHV0KTtpbnB1dC5mb2N1cygpO2lmKHRleHQ9PTIpe3JldHVybiBhamF4KGxvY2F0aW9uLmhyZWYrJyYnK2VuY29kZVVSSUNvbXBvbmVudCh0ZC5pZCkrJz0nLGZ1bmN0aW9uKHhtbGh0dHApe2lmKHhtbGh0dHAuc3RhdHVzKXtpbnB1dC52YWx1ZT14bWxodHRwLnJlc3BvbnNlVGV4dDtpbnB1dC5uYW1lPXRkLmlkO319KTt9CmlucHV0LnZhbHVlPXZhbHVlO2lucHV0Lm5hbWU9dGQuaWQ7aW5wdXQuc2VsZWN0aW9uU3RhcnQ9cG9zO2lucHV0LnNlbGVjdGlvbkVuZD1wb3M7aWYoZG9jdW1lbnQuc2VsZWN0aW9uKXt2YXIgcmFuZ2U9ZG9jdW1lbnQuc2VsZWN0aW9uLmNyZWF0ZVJhbmdlKCk7cmFuZ2UubW92ZUVuZCgnY2hhcmFjdGVyJywtaW5wdXQudmFsdWUubGVuZ3RoK3Bvcyk7cmFuZ2Uuc2VsZWN0KCk7fX0KZnVuY3Rpb24gYm9keUNsaWNrKGV2ZW50LGRiLG5zKXtpZihldmVudC5idXR0b258fGV2ZW50LmN0cmxLZXl8fGV2ZW50LnNoaWZ0S2V5fHxldmVudC5hbHRLZXl8fGV2ZW50Lm1ldGFLZXkpe3JldHVybjt9CmlmKGV2ZW50LmdldFByZXZlbnREZWZhdWx0P2V2ZW50LmdldFByZXZlbnREZWZhdWx0KCk6ZXZlbnQucmV0dXJuVmFsdWU9PT1mYWxzZXx8ZXZlbnQuZGVmYXVsdFByZXZlbnRlZCl7cmV0dXJuIGZhbHNlO30KdmFyIGVsPWV2ZW50LnRhcmdldHx8ZXZlbnQuc3JjRWxlbWVudDtpZigvXmEkL2kudGVzdChlbC5wYXJlbnROb2RlLnRhZ05hbWUpKXtlbD1lbC5wYXJlbnROb2RlO30KaWYoL15hJC9pLnRlc3QoZWwudGFnTmFtZSkmJiEvOnwjfCZkb3dubG9hZD0vaS50ZXN0KGVsLmdldEF0dHJpYnV0ZSgnaHJlZicpKSYmL1smP111c2VybmFtZT0vLnRlc3QoZWwuaHJlZikpe3ZhciBtYXRjaD0vJmRiPShbXiZdKikvLmV4ZWMoZWwuaHJlZik7dmFyIG1hdGNoMj0vJm5zPShbXiZdKikvLmV4ZWMoZWwuaHJlZik7cmV0dXJuIShkYj09KG1hdGNoP21hdGNoWzFdOicnKSYmbnM9PShtYXRjaDI/bWF0Y2gyWzFdOicnKSYmYWpheFNlbmQoZWwuaHJlZikpO30KaWYoL15pbnB1dCQvaS50ZXN0KGVsLnRhZ05hbWUpJiYvaW1hZ2V8c3VibWl0Ly50ZXN0KGVsLnR5cGUpKXtyZXR1cm4hYWpheEZvcm0oZWwuZm9ybSwoZWwubmFtZT9lbmNvZGVVUklDb21wb25lbnQoZWwubmFtZSkrKGVsLnR5cGU9PSdpbWFnZSc/Jy54JzonJykrJz0xJzonJyksZWwudHlwZT09J2ltYWdlJyk7fQpyZXR1cm4gdHJ1ZTt9CmZ1bmN0aW9uIGV2ZW50U3RvcChldmVudCl7aWYoZXZlbnQuc3RvcFByb3BhZ2F0aW9uKXtldmVudC5zdG9wUHJvcGFnYXRpb24oKTt9ZWxzZXtldmVudC5jYW5jZWxCdWJibGU9dHJ1ZTt9fQpmdW5jdGlvbiBib2R5TG9hZCh2ZXJzaW9uKXtpZihoaXN0b3J5LnN0YXRlIT09dW5kZWZpbmVkKXtvbnBvcHN0YXRlKGhpc3RvcnkpO319CmZ1bmN0aW9uIHdoaXNwZXJDbGljayhldmVudCxmaWVsZCl7dmFyIGVsPWV2ZW50LnRhcmdldHx8ZXZlbnQuc3JjRWxlbWVudDtpZigvXmEkL2kudGVzdChlbC50YWdOYW1lKSYmIShldmVudC5idXR0b258fGV2ZW50LmN0cmxLZXl8fGV2ZW50LnNoaWZ0S2V5fHxldmVudC5hbHRLZXl8fGV2ZW50Lm1ldGFLZXkpKXtmaWVsZC52YWx1ZT1lbC5maXJzdENoaWxkLmRhdGE7ZmllbGQucHJldmlvdXNTaWJsaW5nLnZhbHVlPWRlY29kZVVSSUNvbXBvbmVudChlbC5ocmVmLnJlcGxhY2UoLy4qPS8sJycpKTtmaWVsZC5uZXh0U2libGluZy5zdHlsZS5kaXNwbGF5PSdub25lJztldmVudFN0b3AoZXZlbnQpO3JldHVybiBmYWxzZTt9fQpmdW5jdGlvbiB3aGlzcGVyKHVybCxmaWVsZCl7aWYoZmllbGQub3JpZyE9ZmllbGQudmFsdWUpe2ZpZWxkLm9yaWc9ZmllbGQudmFsdWU7ZmllbGQucHJldmlvdXNTaWJsaW5nLnZhbHVlPWZpZWxkLnZhbHVlO3JldHVybiBhamF4KHVybCtlbmNvZGVVUklDb21wb25lbnQoZmllbGQudmFsdWUpLGZ1bmN0aW9uKHhtbGh0dHApe2lmKHhtbGh0dHAuc3RhdHVzJiZmaWVsZC5vcmlnPT1maWVsZC52YWx1ZSl7ZmllbGQubmV4dFNpYmxpbmcuaW5uZXJIVE1MPXhtbGh0dHAucmVzcG9uc2VUZXh0O2ZpZWxkLm5leHRTaWJsaW5nLnN0eWxlLmRpc3BsYXk9Jyc7dmFyIGE9ZmllbGQubmV4dFNpYmxpbmcuZmlyc3RDaGlsZDtpZihhJiZhLmZpcnN0Q2hpbGQuZGF0YT09ZmllbGQudmFsdWUpe2ZpZWxkLnByZXZpb3VzU2libGluZy52YWx1ZT1kZWNvZGVVUklDb21wb25lbnQoYS5ocmVmLnJlcGxhY2UoLy4qPS8sJycpKTthLmNsYXNzTmFtZT0nYWN0aXZlJzt9fX0pO319PD9waHAKfWVsc2V7aGVhZGVyKCJDb250ZW50LVR5cGU6IGltYWdlL2dpZiIpO3N3aXRjaCgkX0dFVFsiZmlsZSJdKXtjYXNlInBsdXMuZ2lmIjplY2hvCmJhc2U2NF9kZWNvZGUoIlIwbEdPRGRoRWdBU0FLRUFBTzd1N2dBQUFKbVptUUFBQUN3QUFBQUFFZ0FTQUFBQ0lZU1BxY3Z0RDAwSThjd3FLYjV2K3E4cElBaHhsUm1oWllpMTdpUEU4a3pMQlFBNyIpO2JyZWFrO2Nhc2UiY3Jvc3MuZ2lmIjplY2hvCmJhc2U2NF9kZWNvZGUoIlIwbEdPRGRoRWdBU0FLRUFBTzd1N2dBQUFKbVptUUFBQUN3QUFBQUFFZ0FTQUFBQ0k0U1BxY3Z0RHlNS1lkWkdiMzU1d3k2QlgzZGhsT0V4NTdGSzdndEh3a3pYTmwwQUFEcz0iKTticmVhaztjYXNlInVwLmdpZiI6ZWNobwpiYXNlNjRfZGVjb2RlKCJSMGxHT0RkaEVnQVNBS0VBQU83dTdnQUFBSm1abVFBQUFDd0FBQUFBRWdBU0FBQUNJSVNQcWN2dEQwMElVVTRLNzMwVDlKNWhGVGlLRVhtYVljVzJyZ0RIOGh3WEFEcz0iKTticmVhaztjYXNlImRvd24uZ2lmIjplY2hvCmJhc2U2NF9kZWNvZGUoIlIwbEdPRGRoRWdBU0FLRUFBTzd1N2dBQUFKbVptUUFBQUN3QUFBQUFFZ0FTQUFBQ0lJU1BxY3Z0RDAwSThjd3FLYjViVi81Y29zZE1KdG1jSGNhMmxRREg4aHdYQURzPSIpO2JyZWFrO2Nhc2UiYXJyb3cuZ2lmIjplY2hvCmJhc2U2NF9kZWNvZGUoIlIwbEdPRGxoQ0FBS0FJQUFBSUNBZ1AvLy95SDVCQUVBQUFFQUxBQUFBQUFJQUFvQUFBSVBCSUpwbHJHTG5wUVJxdE95M3JzQUFEcz0iKTticmVhaztjYXNlImxvYWRlci5naWYiOmVjaG8KYmFzZTY0X2RlY29kZSgiUjBsR09EbGhFQUFRQVBJQUFQLy8vd0FBQU1MQ3drSkNRZ0FBQUdKaVlvS0NncEtTa2lIL0MwNUZWRk5EUVZCRk1pNHdBd0VBQUFBaC9ocERjbVZoZEdWa0lIZHBkR2dnWVdwaGVHeHZZV1F1YVc1bWJ3QWgrUVFKQ2dBQUFDd0FBQUFBRUFBUUFBQURNd2k2M1A0d3lrbHJFMk1JT2dnWm5BZE9tR1lKUmJFeHdyb1VtY0cyTG1ERXduSFFMVnNZT2QybUJ6a1lEQWRLYStkSUFBQWgrUVFKQ2dBQUFDd0FBQUFBRUFBUUFBQUROQWk2M1A1T2pDRWdHNFFNdTdEbWlrUnhRbEZVWURFWklHQk1SVnNhcUh3Y3RYWGY3V0VZQjRBZzF4amloa01ac2lVa0toSUFJZmtFQ1FvQUFBQXNBQUFBQUJBQUVBQUFBellJdWpJaks4cEJ5SkRNbEZZdkJvVmpIQTcwR1U3eFNVSmhtS3R3SFBBS3pMTzlITWFvS3dKWjdSZjhBWVBERHpLcFpCcWZ2d1FBSWZrRUNRb0FBQUFzQUFBQUFCQUFFQUFBQXpNSXVtSWxLOG95aHBIc25GWmZoWXVtQ1lVaERBUXhSSWRoSEJHcVJvS3cwUjhEWWxKZDh6MGZNRGdzR28vSXBISTVUQUFBSWZrRUNRb0FBQUFzQUFBQUFCQUFFQUFBQXpJSXVuSW5LMHJuWkJUd0dQTk1nUXdtZHNOZ1hHSlVsSVdFdVI1b1dVSXB6OHBBRUFNZTZUd2Z3eVlzR28vSXBGS1NBQUFoK1FRSkNnQUFBQ3dBQUFBQUVBQVFBQUFETXdpNklNS1FPUmZqZE9lODJwNHdHY2NjNENFdVFyYWR5bGVzb2pFTUJnc1VjMkc3c0RYM2xRR0JNTEFKaWJ1ZmJTbEtBQUFoK1FRSkNnQUFBQ3dBQUFBQUVBQVFBQUFETWdpNjNQN3dDUkhabkZWZG1nSHUybkZ3bFdDSTNXR2MzVFNXaFVGR3hUQVVrR0NidGdFTkJNSkFFSnN4Z01MV3pwRUFBQ0g1QkFrS0FBQUFMQUFBQUFBUUFCQUFBQU15Q0xyYy9qREtTYXRsUXRTY0tkY2VDQWpESUk3SGNRNEVNVENweXJDdVVCakNZUmdIVnRxbEFpQjFZaGlDbmxzUmtBQUFPd0FBQUFBQUFBQUFBQT09Iik7YnJlYWs7fX1leGl0O31mdW5jdGlvbgpjb25uZWN0aW9uKCl7Z2xvYmFsJGg7cmV0dXJuJGg7fWZ1bmN0aW9uCmFkbWluZXIoKXtnbG9iYWwkYztyZXR1cm4kYzt9ZnVuY3Rpb24KaWRmX3VuZXNjYXBlKCR0KXskZ2M9c3Vic3RyKCR0LC0xKTtyZXR1cm4Kc3RyX3JlcGxhY2UoJGdjLiRnYywkZ2Msc3Vic3RyKCR0LDEsLTEpKTt9ZnVuY3Rpb24KZXNjYXBlX3N0cmluZygkWCl7cmV0dXJuCnN1YnN0cihxKCRYKSwxLC0xKTt9ZnVuY3Rpb24KcmVtb3ZlX3NsYXNoZXMoJFhjLCR5Yj1mYWxzZSl7aWYoZ2V0X21hZ2ljX3F1b3Rlc19ncGMoKSl7d2hpbGUobGlzdCgkdywkWCk9ZWFjaCgkWGMpKXtmb3JlYWNoKCRYCmFzJGNjPT4kVyl7dW5zZXQoJFhjWyR3XVskY2NdKTtpZihpc19hcnJheSgkVykpeyRYY1skd11bc3RyaXBzbGFzaGVzKCRjYyldPSRXOyRYY1tdPSYkWGNbJHddW3N0cmlwc2xhc2hlcygkY2MpXTt9ZWxzZXskWGNbJHddW3N0cmlwc2xhc2hlcygkY2MpXT0oJHliPyRXOnN0cmlwc2xhc2hlcygkVykpO319fX19ZnVuY3Rpb24KYnJhY2tldF9lc2NhcGUoJHQsJHVhPWZhbHNlKXtzdGF0aWMkT2Q9YXJyYXkoJzonPT4nOjEnLCddJz0+JzoyJywnWyc9Pic6MycpO3JldHVybgpzdHJ0cigkdCwoJHVhP2FycmF5X2ZsaXAoJE9kKTokT2QpKTt9ZnVuY3Rpb24KaCgkTyl7cmV0dXJuCmh0bWxzcGVjaWFsY2hhcnMoc3RyX3JlcGxhY2UoIlwwIiwiIiwkTyksRU5UX1FVT1RFUyk7fWZ1bmN0aW9uCm5ic3AoJE8pe3JldHVybih0cmltKCRPKSE9IiI/aCgkTyk6IiZuYnNwOyIpO31mdW5jdGlvbgpubF9icigkTyl7cmV0dXJuCnN0cl9yZXBsYWNlKCJcbiIsIjxicj4iLCRPKTt9ZnVuY3Rpb24KY2hlY2tib3goJEEsJFksJENhLCRlYz0iIiwkRGM9IiIsJGFjPWZhbHNlKXtzdGF0aWMkcz0wOyRzKys7JEk9IjxpbnB1dCB0eXBlPSdjaGVja2JveCcgbmFtZT0nJEEnIHZhbHVlPSciLmgoJFkpLiInIi4oJENhPyIgY2hlY2tlZCI6IiIpLigkRGM/JyBvbmNsaWNrPSInLmgoJERjKS4nIic6JycpLigkYWM/IiBjbGFzcz0nanNvbmx5JyI6IiIpLiIgaWQ9J2NoZWNrYm94LSRzJz4iO3JldHVybigkZWMhPSIiPyI8bGFiZWwgZm9yPSdjaGVja2JveC0kcyc+JEkiLmgoJGVjKS4iPC9sYWJlbD4iOiRJKTt9ZnVuY3Rpb24Kb3B0aW9ubGlzdCgkSWMsJG5kPW51bGwsJGJlPWZhbHNlKXskST0iIjtmb3JlYWNoKCRJYwphcyRjYz0+JFcpeyRKYz1hcnJheSgkY2M9PiRXKTtpZihpc19hcnJheSgkVykpeyRJLj0nPG9wdGdyb3VwIGxhYmVsPSInLmgoJGNjKS4nIj4nOyRKYz0kVzt9Zm9yZWFjaCgkSmMKYXMkdz0+JFgpeyRJLj0nPG9wdGlvbicuKCRiZXx8aXNfc3RyaW5nKCR3KT8nIHZhbHVlPSInLmgoJHcpLiciJzonJykuKCgkYmV8fGlzX3N0cmluZygkdyk/KHN0cmluZykkdzokWCk9PT0kbmQ/JyBzZWxlY3RlZCc6JycpLic+Jy5oKCRYKTt9aWYoaXNfYXJyYXkoJFcpKXskSS49Jzwvb3B0Z3JvdXA+Jzt9fXJldHVybiRJO31mdW5jdGlvbgpodG1sX3NlbGVjdCgkQSwkSWMsJFk9IiIsJENjPXRydWUpe2lmKCRDYyl7cmV0dXJuIjxzZWxlY3QgbmFtZT0nIi5oKCRBKS4iJyIuKGlzX3N0cmluZygkQ2MpPycgb25jaGFuZ2U9IicuaCgkQ2MpLiciJzoiIikuIj4iLm9wdGlvbmxpc3QoJEljLCRZKS4iPC9zZWxlY3Q+Ijt9JEk9IiI7Zm9yZWFjaCgkSWMKYXMkdz0+JFgpeyRJLj0iPGxhYmVsPjxpbnB1dCB0eXBlPSdyYWRpbycgbmFtZT0nIi5oKCRBKS4iJyB2YWx1ZT0nIi5oKCR3KS4iJyIuKCR3PT0kWT8iIGNoZWNrZWQiOiIiKS4iPiIuaCgkWCkuIjwvbGFiZWw+Ijt9cmV0dXJuJEk7fWZ1bmN0aW9uCmNvbmZpcm0oJEthPSIiLCR3ZD1mYWxzZSl7cmV0dXJuIiBvbmNsaWNrPVwiIi4oJHdkPyJldmVudFN0b3AoZXZlbnQpOyAiOiIiKS4icmV0dXJuIGNvbmZpcm0oJyIubGFuZygwKS4oJEthPyIgKCcgKyAkS2EgKyAnKSI6IiIpLiInKTtcIiI7fWZ1bmN0aW9uCnByaW50X2ZpZWxkc2V0KCRzLCRpYywkZ2U9ZmFsc2UsJERjPSIiKXtlY2hvIjxmaWVsZHNldD48bGVnZW5kPjxhIGhyZWY9JyNmaWVsZHNldC0kcycgb25jbGljaz1cIiIuaCgkRGMpLiJyZXR1cm4gIXRvZ2dsZSgnZmllbGRzZXQtJHMnKTtcIj4kaWM8L2E+PC9sZWdlbmQ+PGRpdiBpZD0nZmllbGRzZXQtJHMnIi4oJGdlPyIiOiIgY2xhc3M9J2hpZGRlbiciKS4iPlxuIjt9ZnVuY3Rpb24KYm9sZCgkemEpe3JldHVybigkemE/IiBjbGFzcz0nYWN0aXZlJyI6IiIpO31mdW5jdGlvbgpvZGQoJEk9JyBjbGFzcz0ib2RkIicpe3N0YXRpYyRyPTA7aWYoISRJKXskcj0tMTt9cmV0dXJuKCRyKyslCjI/JEk6JycpO31mdW5jdGlvbgpqc19lc2NhcGUoJE8pe3JldHVybgphZGRjc2xhc2hlcygkTywiXHJcbidcXC8iKTt9ZnVuY3Rpb24KanNvbl9yb3coJHcsJFg9bnVsbCl7c3RhdGljJHpiPXRydWU7aWYoJHpiKXtlY2hvInsiO31pZigkdyE9IiIpe2VjaG8oJHpiPyIiOiIsIikuIlxuXHRcIiIuYWRkY3NsYXNoZXMoJHcsIlxyXG5cIlxcIikuJyI6ICcuKGlzc2V0KCRYKT8nIicuYWRkY3NsYXNoZXMoJFgsIlxyXG5cIlxcIikuJyInOid1bmRlZmluZWQnKTskemI9ZmFsc2U7fWVsc2V7ZWNobyJcbn1cbiI7JHpiPXRydWU7fX1mdW5jdGlvbgppbmlfYm9vbCgkWGIpeyRYPWluaV9nZXQoJFhiKTtyZXR1cm4oZXJlZ2koJ14ob258dHJ1ZXx5ZXMpJCcsJFgpfHwoaW50KSRYKTt9ZnVuY3Rpb24Kc2lkKCl7c3RhdGljJEk7aWYoIWlzc2V0KCRJKSl7JEk9KFNJRCYmISgkX0NPT0tJRSYmaW5pX2Jvb2woInNlc3Npb24udXNlX2Nvb2tpZXMiKSkpO31yZXR1cm4kSTt9ZnVuY3Rpb24KcSgkTyl7Z2xvYmFsJGg7cmV0dXJuJGgtPnF1b3RlKCRPKTt9ZnVuY3Rpb24KZ2V0X3ZhbHMoJEcsJGY9MCl7Z2xvYmFsJGg7JEk9YXJyYXkoKTskSD0kaC0+cXVlcnkoJEcpO2lmKGlzX29iamVjdCgkSCkpe3doaWxlKCRKPSRILT5mZXRjaF9yb3coKSl7JElbXT0kSlskZl07fX1yZXR1cm4kSTt9ZnVuY3Rpb24KZ2V0X2tleV92YWxzKCRHLCRpPW51bGwpe2dsb2JhbCRoO2lmKCFpc19vYmplY3QoJGkpKXskaT0kaDt9JEk9YXJyYXkoKTskSD0kaS0+cXVlcnkoJEcpO2lmKGlzX29iamVjdCgkSCkpe3doaWxlKCRKPSRILT5mZXRjaF9yb3coKSl7JElbJEpbMF1dPSRKWzFdO319cmV0dXJuJEk7fWZ1bmN0aW9uCmdldF9yb3dzKCRHLCRpPW51bGwsJG09IjxwIGNsYXNzPSdlcnJvcic+Iil7Z2xvYmFsJGg7aWYoIWlzX29iamVjdCgkaSkpeyRpPSRoO30kST1hcnJheSgpOyRIPSRpLT5xdWVyeSgkRyk7aWYoaXNfb2JqZWN0KCRIKSl7d2hpbGUoJEo9JEgtPmZldGNoX2Fzc29jKCkpeyRJW109JEo7fX1lbHNlaWYoISRIJiYkaC0+ZXJyb3ImJiRtJiZkZWZpbmVkKCJQQUdFX0hFQURFUiIpKXtlY2hvJG0uZXJyb3IoKS4iXG4iO31yZXR1cm4kSTt9ZnVuY3Rpb24KdW5pcXVlX2FycmF5KCRKLCR2KXtmb3JlYWNoKCR2CmFzJHUpe2lmKGVyZWcoIlBSSU1BUll8VU5JUVVFIiwkdVsidHlwZSJdKSl7JEk9YXJyYXkoKTtmb3JlYWNoKCR1WyJjb2x1bW5zIl1hcyR3KXtpZighaXNzZXQoJEpbJHddKSl7Y29udGludWUKMjt9JElbJHddPSRKWyR3XTt9cmV0dXJuJEk7fX0kST1hcnJheSgpO2ZvcmVhY2goJEoKYXMkdz0+JFgpe2lmKCFwcmVnX21hdGNoKCd+XihDT1VOVFxcKChcXCp8KERJU1RJTkNUICk/YCg/OlteYF18YGApK2ApXFwpfChBVkd8R1JPVVBfQ09OQ0FUfE1BWHxNSU58U1VNKVxcKGAoPzpbXmBdfGBgKStgXFwpKSR+JywkdykpeyRJWyR3XT0kWDt9fXJldHVybiRJO31mdW5jdGlvbgp3aGVyZSgkWil7Z2xvYmFsJGJjOyRJPWFycmF5KCk7Zm9yZWFjaCgoYXJyYXkpJFpbIndoZXJlIl1hcyR3PT4kWCl7JElbXT1pZGZfZXNjYXBlKGJyYWNrZXRfZXNjYXBlKCR3LDEpKS4oZXJlZygnXFwuJywkWCl8fCRiYz09Im1zc3FsIj8iIExJS0UgIi5leGFjdF92YWx1ZShhZGRjc2xhc2hlcygkWCwiJV9cXCIpKToiID0gIi5leGFjdF92YWx1ZSgkWCkpO31mb3JlYWNoKChhcnJheSkkWlsibnVsbCJdYXMkdyl7JElbXT1pZGZfZXNjYXBlKCR3KS4iIElTIE5VTEwiO31yZXR1cm4KaW1wbG9kZSgiIEFORCAiLCRJKTt9ZnVuY3Rpb24Kd2hlcmVfY2hlY2soJFgpe3BhcnNlX3N0cigkWCwkQmEpO3JlbW92ZV9zbGFzaGVzKGFycmF5KCYkQmEpKTtyZXR1cm4Kd2hlcmUoJEJhKTt9ZnVuY3Rpb24Kd2hlcmVfbGluaygkciwkZiwkWSwkRmM9Ij0iKXtyZXR1cm4iJndoZXJlJTVCJHIlNUQlNUJjb2wlNUQ9Ii51cmxlbmNvZGUoJGYpLiImd2hlcmUlNUIkciU1RCU1Qm9wJTVEPSIudXJsZW5jb2RlKChpc3NldCgkWSk/JEZjOiJJUyBOVUxMIikpLiImd2hlcmUlNUIkciU1RCU1QnZhbCU1RD0iLnVybGVuY29kZSgkWSk7fWZ1bmN0aW9uCmNvb2tpZSgkQSwkWSl7Z2xvYmFsJGFhOyRQYz1hcnJheSgkQSwoZXJlZygiXG4iLCRZKT8iIjokWSksdGltZSgpKzI1OTIwMDAscHJlZ19yZXBsYWNlKCd+XFw/Lip+JywnJywkX1NFUlZFUlsiUkVRVUVTVF9VUkkiXSksIiIsJGFhKTtpZih2ZXJzaW9uX2NvbXBhcmUoUEhQX1ZFUlNJT04sJzUuMi4wJyk+PTApeyRQY1tdPXRydWU7fXJldHVybgpjYWxsX3VzZXJfZnVuY19hcnJheSgnc2V0Y29va2llJywkUGMpO31mdW5jdGlvbgpyZXN0YXJ0X3Nlc3Npb24oKXtpZighaW5pX2Jvb2woInNlc3Npb24udXNlX2Nvb2tpZXMiKSl7c2Vzc2lvbl9zdGFydCgpO319ZnVuY3Rpb24mZ2V0X3Nlc3Npb24oJHcpe3JldHVybiRfU0VTU0lPTlskd11bRFJJVkVSXVtTRVJWRVJdWyRfR0VUWyJ1c2VybmFtZSJdXTt9ZnVuY3Rpb24Kc2V0X3Nlc3Npb24oJHcsJFgpeyRfU0VTU0lPTlskd11bRFJJVkVSXVtTRVJWRVJdWyRfR0VUWyJ1c2VybmFtZSJdXT0kWDt9ZnVuY3Rpb24KYXV0aF91cmwoJFZhLCRNLCRWKXtnbG9iYWwkV2E7cHJlZ19tYXRjaCgnfihbXj9dKilcXD8/KC4qKX4nLHJlbW92ZV9mcm9tX3VyaShpbXBsb2RlKCJ8IixhcnJheV9rZXlzKCRXYSkpLiJ8dXNlcm5hbWV8Ii5zZXNzaW9uX25hbWUoKSksJHopO3JldHVybiIkelsxXT8iLihzaWQoKT9TSUQuIiYiOiIiKS4oJFZhIT0ic2VydmVyInx8JE0hPSIiP3VybGVuY29kZSgkVmEpLiI9Ii51cmxlbmNvZGUoJE0pLiImIjoiIikuInVzZXJuYW1lPSIudXJsZW5jb2RlKCRWKS4oJHpbMl0/IiYkelsyXSI6IiIpO31mdW5jdGlvbgppc19hamF4KCl7cmV0dXJuKCRfU0VSVkVSWyJIVFRQX1hfUkVRVUVTVEVEX1dJVEgiXT09IlhNTEh0dHBSZXF1ZXN0Iik7fWZ1bmN0aW9uCnJlZGlyZWN0KCRsYywkdWM9bnVsbCl7aWYoaXNzZXQoJHVjKSl7cmVzdGFydF9zZXNzaW9uKCk7JF9TRVNTSU9OWyJtZXNzYWdlcyJdW3ByZWdfcmVwbGFjZSgnfl5bXj9dKn4nLCcnLChpc3NldCgkbGMpPyRsYzokX1NFUlZFUlsiUkVRVUVTVF9VUkkiXSkpXVtdPSR1Yzt9aWYoaXNzZXQoJGxjKSl7aWYoJGxjPT0iIil7JGxjPSIuIjt9aGVhZGVyKChpc19hamF4KCk/IlgtQUpBWC1SZWRpcmVjdCI6IkxvY2F0aW9uIikuIjogJGxjIik7ZXhpdDt9fWZ1bmN0aW9uCnF1ZXJ5X3JlZGlyZWN0KCRHLCRsYywkdWMsJGNkPXRydWUsJHBiPXRydWUsJHRiPWZhbHNlKXtnbG9iYWwkaCwkbSwkYztpZigkcGIpeyR0Yj0hJGgtPnF1ZXJ5KCRHKTt9JHRkPSIiO2lmKCRHKXskdGQ9JGMtPm1lc3NhZ2VRdWVyeSgiJEc7Iik7fWlmKCR0Yil7JG09ZXJyb3IoKS4kdGQ7cmV0dXJuCmZhbHNlO31pZigkY2Qpe3JlZGlyZWN0KCRsYywkdWMuJHRkKTt9cmV0dXJuCnRydWU7fWZ1bmN0aW9uCnF1ZXJpZXMoJEc9bnVsbCl7Z2xvYmFsJGg7c3RhdGljJGFkPWFycmF5KCk7aWYoIWlzc2V0KCRHKSl7cmV0dXJuCmltcGxvZGUoIjtcbiIsJGFkKTt9JGFkW109KGVyZWcoJzskJywkRyk/IkRFTElNSVRFUiA7O1xuJEc7XG5ERUxJTUlURVIgIjokRyk7cmV0dXJuJGgtPnF1ZXJ5KCRHKTt9ZnVuY3Rpb24KYXBwbHlfcXVlcmllcygkRywkUiwkbGI9J3RhYmxlJyl7Zm9yZWFjaCgkUgphcyRQKXtpZighcXVlcmllcygiJEcgIi4kbGIoJFApKSl7cmV0dXJuCmZhbHNlO319cmV0dXJuCnRydWU7fWZ1bmN0aW9uCnF1ZXJpZXNfcmVkaXJlY3QoJGxjLCR1YywkY2Qpe3JldHVybgpxdWVyeV9yZWRpcmVjdChxdWVyaWVzKCksJGxjLCR1YywkY2QsZmFsc2UsISRjZCk7fWZ1bmN0aW9uCnJlbW92ZV9mcm9tX3VyaSgkT2M9IiIpe3JldHVybgpzdWJzdHIocHJlZ19yZXBsYWNlKCJ+KD88PVs/Jl0pKCRPYyIuKFNJRD8iIjoifCIuc2Vzc2lvbl9uYW1lKCkpLiIpPVteJl0qJn4iLCcnLCIkX1NFUlZFUltSRVFVRVNUX1VSSV0mIiksMCwtMSk7fWZ1bmN0aW9uCnBhZ2luYXRpb24oJEQsJE9hKXtyZXR1cm4iICIuKCREPT0kT2E/JEQrMTonPGEgaHJlZj0iJy5oKHJlbW92ZV9mcm9tX3VyaSgicGFnZSIpLigkRD8iJnBhZ2U9JEQiOiIiKSkuJyI+Jy4oJEQrMSkuIjwvYT4iKTt9ZnVuY3Rpb24KZ2V0X2ZpbGUoJHcsJFBhPWZhbHNlKXskdmI9JF9GSUxFU1skd107aWYoISR2Ynx8JHZiWyJlcnJvciJdKXtyZXR1cm4kdmJbImVycm9yIl07fSRJPWZpbGVfZ2V0X2NvbnRlbnRzKCRQYSYmZXJlZygnXFwuZ3okJywkdmJbIm5hbWUiXSk/ImNvbXByZXNzLnpsaWI6Ly8kdmJbdG1wX25hbWVdIjooJFBhJiZlcmVnKCdcXC5iejIkJywkdmJbIm5hbWUiXSk/ImNvbXByZXNzLmJ6aXAyOi8vJHZiW3RtcF9uYW1lXSI6JHZiWyJ0bXBfbmFtZSJdKSk7aWYoJFBhKXskdWQ9c3Vic3RyKCRJLDAsMyk7aWYoZnVuY3Rpb25fZXhpc3RzKCJpY29udiIpJiZlcmVnKCJeXHhGRVx4RkZ8Xlx4RkZceEZFIiwkdWQsJGRkKSl7JEk9aWNvbnYoInV0Zi0xNiIsInV0Zi04IiwkSSk7fWVsc2VpZigkdWQ9PSJceEVGXHhCQlx4QkYiKXskST1zdWJzdHIoJEksMyk7fX1yZXR1cm4kSTt9ZnVuY3Rpb24KdXBsb2FkX2Vycm9yKCRtKXskc2M9KCRtPT1VUExPQURfRVJSX0lOSV9TSVpFP2luaV9nZXQoInVwbG9hZF9tYXhfZmlsZXNpemUiKTpudWxsKTtyZXR1cm4oJG0/bGFuZygxKS4oJHNjPyIgIi5sYW5nKDIsJHNjKToiIik6bGFuZygzKSk7fWZ1bmN0aW9uCnJlcGVhdF9wYXR0ZXJuKCRGLCRqYyl7cmV0dXJuCnN0cl9yZXBlYXQoIiRGezAsNjU1MzV9IiwkamMvNjU1MzUpLiIkRnswLCIuKCRqYwolCjY1NTM1KS4ifSI7fWZ1bmN0aW9uCmlzX3V0ZjgoJFgpe3JldHVybihwcmVnX21hdGNoKCd+fnUnLCRYKSYmIXByZWdfbWF0Y2goJ35bXFwwLVxceDhcXHhCXFx4Q1xceEUtXFx4MUZdficsJFgpKTt9ZnVuY3Rpb24Kc2hvcnRlbl91dGY4KCRPLCRqYz04MCwkQWQ9IiIpe2lmKCFwcmVnX21hdGNoKCIoXigiLnJlcGVhdF9wYXR0ZXJuKCJbXHRcclxuIC1ceHtGRkZGfV0iLCRqYykuIikoJCk/KXUiLCRPLCR6KSl7cHJlZ19tYXRjaCgiKF4oIi5yZXBlYXRfcGF0dGVybigiW1x0XHJcbiAtfl0iLCRqYykuIikoJCk/KSIsJE8sJHopO31yZXR1cm4KaCgkelsxXSkuJEFkLihpc3NldCgkelsyXSk/IiI6IjxpPi4uLjwvaT4iKTt9ZnVuY3Rpb24KZnJpZW5kbHlfdXJsKCRYKXtyZXR1cm4KcHJlZ19yZXBsYWNlKCd+W15hLXowLTlfXX5pJywnLScsJFgpO31mdW5jdGlvbgpoaWRkZW5fZmllbGRzKCRYYywkVGI9YXJyYXkoKSl7d2hpbGUobGlzdCgkdywkWCk9ZWFjaCgkWGMpKXtpZihpc19hcnJheSgkWCkpe2ZvcmVhY2goJFgKYXMkY2M9PiRXKXskWGNbJHcuIlskY2NdIl09JFc7fX1lbHNlaWYoIWluX2FycmF5KCR3LCRUYikpe2VjaG8nPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJy5oKCR3KS4nIiB2YWx1ZT0iJy5oKCRYKS4nIj4nO319fWZ1bmN0aW9uCmhpZGRlbl9maWVsZHNfZ2V0KCl7ZWNobyhzaWQoKT8nPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJy5zZXNzaW9uX25hbWUoKS4nIiB2YWx1ZT0iJy5oKHNlc3Npb25faWQoKSkuJyI+JzonJyksKFNFUlZFUiE9PW51bGw/JzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IicuRFJJVkVSLiciIHZhbHVlPSInLmgoU0VSVkVSKS4nIj4nOiIiKSwnPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idXNlcm5hbWUiIHZhbHVlPSInLmgoJF9HRVRbInVzZXJuYW1lIl0pLiciPic7fWZ1bmN0aW9uCmNvbHVtbl9mb3JlaWduX2tleXMoJFApe2dsb2JhbCRjOyRJPWFycmF5KCk7Zm9yZWFjaCgkYy0+Zm9yZWlnbktleXMoJFApYXMkcCl7Zm9yZWFjaCgkcFsic291cmNlIl1hcyRYKXskSVskWF1bXT0kcDt9fXJldHVybiRJO31mdW5jdGlvbgplbnVtX2lucHV0KCRVLCRyYSwkbiwkWSwkZmI9bnVsbCl7Z2xvYmFsJGM7cHJlZ19tYXRjaF9hbGwoIn4nKCg/OlteJ118JycpKiknfiIsJG5bImxlbmd0aCJdLCRwYyk7JEk9KGlzc2V0KCRmYik/IjxsYWJlbD48aW5wdXQgdHlwZT0nJFUnJHJhIHZhbHVlPSckZmInIi4oKGlzX2FycmF5KCRZKT9pbl9hcnJheSgkZmIsJFkpOiRZPT09MCk/IiBjaGVja2VkIjoiIikuIj48aT4iLmxhbmcoNCkuIjwvaT48L2xhYmVsPiI6IiIpO2ZvcmVhY2goJHBjWzFdYXMkcj0+JFgpeyRYPXN0cmlwY3NsYXNoZXMoc3RyX3JlcGxhY2UoIicnIiwiJyIsJFgpKTskQ2E9KGlzX2ludCgkWSk/JFk9PSRyKzE6KGlzX2FycmF5KCRZKT9pbl9hcnJheSgkcisxLCRZKTokWT09PSRYKSk7JEkuPSIgPGxhYmVsPjxpbnB1dCB0eXBlPSckVSckcmEgdmFsdWU9JyIuKCRyKzEpLiInIi4oJENhPycgY2hlY2tlZCc6JycpLic+Jy5oKCRjLT5lZGl0VmFsKCRYLCRuKSkuJzwvbGFiZWw+Jzt9cmV0dXJuJEk7fWZ1bmN0aW9uCmlucHV0KCRuLCRZLCRxKXtnbG9iYWwkUmQsJGMsJGJjOyRBPWgoYnJhY2tldF9lc2NhcGUoJG5bImZpZWxkIl0pKTtlY2hvIjx0ZCBjbGFzcz0nZnVuY3Rpb24nPiI7JGdkPSgkYmM9PSJtc3NxbCImJiRuWyJhdXRvX2luY3JlbWVudCJdKTtpZigkZ2QmJiEkX1BPU1RbInNhdmUiXSl7JHE9bnVsbDt9JEliPShpc3NldCgkX0dFVFsic2VsZWN0Il0pfHwkZ2Q/YXJyYXkoIm9yaWciPT5sYW5nKDUpKTphcnJheSgpKSskYy0+ZWRpdEZ1bmN0aW9ucygkbik7JHJhPSIgbmFtZT0nZmllbGRzWyRBXSciO2lmKCRuWyJ0eXBlIl09PSJlbnVtIil7ZWNobwpuYnNwKCRJYlsiIl0pLiI8dGQ+Ii4kYy0+ZWRpdElucHV0KCRfR0VUWyJlZGl0Il0sJG4sJHJhLCRZKTt9ZWxzZXskemI9MDtmb3JlYWNoKCRJYgphcyR3PT4kWCl7aWYoJHc9PT0iInx8ISRYKXticmVhazt9JHpiKys7fSRDYz0oJHpiPyIgb25jaGFuZ2U9XCJ2YXIgZiA9IHRoaXMuZm9ybVsnZnVuY3Rpb25bIi5oKGpzX2VzY2FwZShicmFja2V0X2VzY2FwZSgkblsiZmllbGQiXSkpKS4iXSddOyBpZiAoJHpiID4gZi5zZWxlY3RlZEluZGV4KSBmLnNlbGVjdGVkSW5kZXggPSAkemI7XCIiOiIiKTskcmEuPSRDYztlY2hvKGNvdW50KCRJYik+MT9odG1sX3NlbGVjdCgiZnVuY3Rpb25bJEFdIiwkSWIsIWlzc2V0KCRxKXx8aW5fYXJyYXkoJHEsJEliKXx8aXNzZXQoJEliWyRxXSk/JHE6IiIsImZ1bmN0aW9uQ2hhbmdlKHRoaXMpOyIpOm5ic3AocmVzZXQoJEliKSkpLic8dGQ+JzskWmI9JGMtPmVkaXRJbnB1dCgkX0dFVFsiZWRpdCJdLCRuLCRyYSwkWSk7aWYoJFpiIT0iIil7ZWNobyRaYjt9ZWxzZWlmKCRuWyJ0eXBlIl09PSJzZXQiKXtwcmVnX21hdGNoX2FsbCgificoKD86W14nXXwnJykqKSd+IiwkblsibGVuZ3RoIl0sJHBjKTtmb3JlYWNoKCRwY1sxXWFzJHI9PiRYKXskWD1zdHJpcGNzbGFzaGVzKHN0cl9yZXBsYWNlKCInJyIsIiciLCRYKSk7JENhPShpc19pbnQoJFkpPygkWT4+JHIpJjE6aW5fYXJyYXkoJFgsZXhwbG9kZSgiLCIsJFkpLHRydWUpKTtlY2hvIiA8bGFiZWw+PGlucHV0IHR5cGU9J2NoZWNrYm94JyBuYW1lPSdmaWVsZHNbJEFdWyRyXScgdmFsdWU9JyIuKDE8PCRyKS4iJyIuKCRDYT8nIGNoZWNrZWQnOicnKS4iJENjPiIuaCgkYy0+ZWRpdFZhbCgkWCwkbikpLic8L2xhYmVsPic7fX1lbHNlaWYoZXJlZygnYmxvYnxieXRlYXxyYXd8ZmlsZScsJG5bInR5cGUiXSkmJmluaV9ib29sKCJmaWxlX3VwbG9hZHMiKSl7ZWNobyI8aW5wdXQgdHlwZT0nZmlsZScgbmFtZT0nZmllbGRzLSRBJyRDYz4iO31lbHNlaWYoZXJlZygndGV4dHxsb2InLCRuWyJ0eXBlIl0pKXtlY2hvIjx0ZXh0YXJlYSAiLigkYmMhPSJzcWxpdGUifHxlcmVnKCJcbiIsJFkpPyJjb2xzPSc1MCcgcm93cz0nMTInIjoiY29scz0nMzAnIHJvd3M9JzEnIHN0eWxlPSdoZWlnaHQ6IDEuMmVtOyciKS4iJHJhPiIuaCgkWSkuJzwvdGV4dGFyZWE+Jzt9ZWxzZXskdGM9KCFlcmVnKCdpbnQnLCRuWyJ0eXBlIl0pJiZwcmVnX21hdGNoKCd+XihcXGQrKSgsKFxcZCspKT8kficsJG5bImxlbmd0aCJdLCR6KT8oKGVyZWcoImJpbmFyeSIsJG5bInR5cGUiXSk/MjoxKSokelsxXSsoJHpbM10/MTowKSsoJHpbMl0mJiEkblsidW5zaWduZWQiXT8xOjApKTooJFJkWyRuWyJ0eXBlIl1dPyRSZFskblsidHlwZSJdXSsoJG5bInVuc2lnbmVkIl0/MDoxKTowKSk7ZWNobyI8aW5wdXQgdmFsdWU9JyIuaCgkWSkuIiciLigkdGM/IiBtYXhsZW5ndGg9JyR0YyciOiIiKS4oZXJlZygnY2hhcnxiaW5hcnknLCRuWyJ0eXBlIl0pJiYkdGM+MjA/IiBzaXplPSc0MCciOiIiKS4iJHJhPiI7fX19ZnVuY3Rpb24KcHJvY2Vzc19pbnB1dCgkbil7Z2xvYmFsJGM7JHQ9YnJhY2tldF9lc2NhcGUoJG5bImZpZWxkIl0pOyRxPSRfUE9TVFsiZnVuY3Rpb24iXVskdF07JFk9JF9QT1NUWyJmaWVsZHMiXVskdF07aWYoJG5bInR5cGUiXT09ImVudW0iKXtpZigkWT09LTEpe3JldHVybgpmYWxzZTt9aWYoJFk9PSIiKXtyZXR1cm4iTlVMTCI7fXJldHVybiskWTt9aWYoJG5bImF1dG9faW5jcmVtZW50Il0mJiRZPT0iIil7cmV0dXJuCm51bGw7fWlmKCRxPT0ib3JpZyIpe3JldHVybigkblsib25fdXBkYXRlIl09PSJDVVJSRU5UX1RJTUVTVEFNUCI/aWRmX2VzY2FwZSgkblsiZmllbGQiXSk6ZmFsc2UpO31pZigkcT09Ik5VTEwiKXtyZXR1cm4iTlVMTCI7fWlmKCRuWyJ0eXBlIl09PSJzZXQiKXtyZXR1cm4KYXJyYXlfc3VtKChhcnJheSkkWSk7fWlmKGVyZWcoJ2Jsb2J8Ynl0ZWF8cmF3fGZpbGUnLCRuWyJ0eXBlIl0pJiZpbmlfYm9vbCgiZmlsZV91cGxvYWRzIikpeyR2Yj1nZXRfZmlsZSgiZmllbGRzLSR0Iik7aWYoIWlzX3N0cmluZygkdmIpKXtyZXR1cm4KZmFsc2U7fXJldHVybgpxKCR2Yik7fXJldHVybiRjLT5wcm9jZXNzSW5wdXQoJG4sJFksJHEpO31mdW5jdGlvbgpzZWFyY2hfdGFibGVzKCl7Z2xvYmFsJGMsJGg7JF9HRVRbIndoZXJlIl1bMF1bIm9wIl09IkxJS0UgJSUiOyRfR0VUWyJ3aGVyZSJdWzBdWyJ2YWwiXT0kX1BPU1RbInF1ZXJ5Il07JEViPWZhbHNlO2ZvcmVhY2godGFibGVfc3RhdHVzKClhcyRQPT4kUSl7JEE9JGMtPnRhYmxlTmFtZSgkUSk7aWYoaXNzZXQoJFFbIkVuZ2luZSJdKSYmJEEhPSIiJiYoISRfUE9TVFsidGFibGVzIl18fGluX2FycmF5KCRQLCRfUE9TVFsidGFibGVzIl0pKSl7JEg9JGgtPnF1ZXJ5KCJTRUxFQ1QiLmxpbWl0KCIxIEZST00gIi50YWJsZSgkUCksIiBXSEVSRSAiLmltcGxvZGUoIiBBTkQgIiwkYy0+c2VsZWN0U2VhcmNoUHJvY2VzcyhmaWVsZHMoJFApLGFycmF5KCkpKSwxKSk7aWYoJEgtPmZldGNoX3JvdygpKXtpZighJEViKXtlY2hvIjx1bD5cbiI7JEViPXRydWU7fWVjaG8iPGxpPjxhIGhyZWY9JyIuaChNRS4ic2VsZWN0PSIudXJsZW5jb2RlKCRQKS4iJndoZXJlWzBdW29wXT0iLnVybGVuY29kZSgkX0dFVFsid2hlcmUiXVswXVsib3AiXSkuIiZ3aGVyZVswXVt2YWxdPSIudXJsZW5jb2RlKCRfR0VUWyJ3aGVyZSJdWzBdWyJ2YWwiXSkpLiInPiRBPC9hPlxuIjt9fX1lY2hvKCRFYj8iPC91bD4iOiI8cCBjbGFzcz0nbWVzc2FnZSc+Ii5sYW5nKDYpKS4iXG4iO31mdW5jdGlvbgpkdW1wX2hlYWRlcnMoJFJiLCR5Yz1mYWxzZSl7Z2xvYmFsJGM7JEk9JGMtPmR1bXBIZWFkZXJzKCRSYiwkeWMpOyRNYz0kX1BPU1RbIm91dHB1dCJdO2lmKCRNYyE9InRleHQiKXtoZWFkZXIoIkNvbnRlbnQtRGlzcG9zaXRpb246IGF0dGFjaG1lbnQ7IGZpbGVuYW1lPSIuZnJpZW5kbHlfdXJsKCRSYiE9IiI/JFJiOihTRVJWRVIhPSIiP1NFUlZFUjoibG9jYWxob3N0IikpLiIuJEkiLigkTWMhPSJmaWxlIiYmIWVyZWcoJ1teMC05YS16XScsJE1jKT8iLiRNYyI6IiIpKTt9c2Vzc2lvbl93cml0ZV9jbG9zZSgpO3JldHVybiRJO31mdW5jdGlvbgpkdW1wX2NzdigkSil7Zm9yZWFjaCgkSgphcyR3PT4kWCl7aWYocHJlZ19tYXRjaCgifltcIlxuLDtcdF1+IiwkWCl8fCRYPT09IiIpeyRKWyR3XT0nIicuc3RyX3JlcGxhY2UoJyInLCciIicsJFgpLiciJzt9fWVjaG8KaW1wbG9kZSgoJF9QT1NUWyJmb3JtYXQiXT09ImNzdiI/IiwiOigkX1BPU1RbImZvcm1hdCJdPT0idHN2Ij8iXHQiOiI7IikpLCRKKS4iXHJcbiI7fWZ1bmN0aW9uCmFwcGx5X3NxbF9mdW5jdGlvbigkcSwkZil7cmV0dXJuKCRxPygkcT09InVuaXhlcG9jaCI/IkRBVEVUSU1FKCRmLCAnJHEnKSI6KCRxPT0iY291bnQgZGlzdGluY3QiPyJDT1VOVChESVNUSU5DVCAiOnN0cnRvdXBwZXIoIiRxKCIpKS4iJGYpIik6JGYpO31mdW5jdGlvbgpwYXNzd29yZF9maWxlKCl7JFRhPWluaV9nZXQoInVwbG9hZF90bXBfZGlyIik7aWYoISRUYSl7aWYoZnVuY3Rpb25fZXhpc3RzKCdzeXNfZ2V0X3RlbXBfZGlyJykpeyRUYT1zeXNfZ2V0X3RlbXBfZGlyKCk7fWVsc2V7JHdiPUB0ZW1wbmFtKCIiLCIiKTtpZighJHdiKXtyZXR1cm4KZmFsc2U7fSRUYT1kaXJuYW1lKCR3Yik7dW5saW5rKCR3Yik7fX0kd2I9IiRUYS9hZG1pbmVyLmtleSI7JEk9QGZpbGVfZ2V0X2NvbnRlbnRzKCR3Yik7aWYoJEkpe3JldHVybiRJO30kR2I9QGZvcGVuKCR3YiwidyIpO2lmKCRHYil7JEk9bWQ1KHVuaXFpZChtdF9yYW5kKCksdHJ1ZSkpO2Z3cml0ZSgkR2IsJEkpO2ZjbG9zZSgkR2IpO31yZXR1cm4kSTt9ZnVuY3Rpb24KaXNfbWFpbCgkY2IpeyRwYT0nWy1hLXowLTkhIyQlJlwnKisvPT9eX2B7fH1+XSc7JFVhPSdbYS16MC05XShbLWEtejAtOV17MCw2MX1bYS16MC05XSknOyRGPSIkcGErKFxcLiRwYSspKkAoJFVhP1xcLikrJFVhIjtyZXR1cm4KcHJlZ19tYXRjaCgiKF4kRigsXFxzKiRGKSpcJClpIiwkY2IpO31mdW5jdGlvbgppc191cmwoJE8peyRVYT0nW2EtejAtOV0oWy1hLXowLTldezAsNjF9W2EtejAtOV0pJztyZXR1cm4ocHJlZ19tYXRjaCgifl4oaHR0cHM/KTovLygkVWE/XFwuKSskVWEoOlxcZCspPygvLiopPyhcXD8uKik/KCMuKik/XCR+aSIsJE8sJHopP3N0cnRvbG93ZXIoJHpbMV0pOiIiKTt9Z2xvYmFsJGMsJGgsJFdhLCRhYiwkaGIsJG0sJEliLCRMYiwkYWEsJFliLCRiYywkYSwkZmMsJEJjLCR5ZCwkTmQsJFQsJFJkLCRZZCwkYmE7aWYoIWlzc2V0KCRfU0VSVkVSWyJSRVFVRVNUX1VSSSJdKSl7JF9TRVJWRVJbIlJFUVVFU1RfVVJJIl09JF9TRVJWRVJbIk9SSUdfUEFUSF9JTkZPIl0uKCRfU0VSVkVSWyJRVUVSWV9TVFJJTkciXSE9IiI/Ij8kX1NFUlZFUltRVUVSWV9TVFJJTkddIjoiIik7fSRhYT0kX1NFUlZFUlsiSFRUUFMiXSYmc3RyY2FzZWNtcCgkX1NFUlZFUlsiSFRUUFMiXSwib2ZmIik7QGluaV9zZXQoInNlc3Npb24udXNlX3RyYW5zX3NpZCIsZmFsc2UpO2lmKCFkZWZpbmVkKCJTSUQiKSl7c2Vzc2lvbl9uYW1lKCJhZG1pbmVyX3NpZCIpOyRQYz1hcnJheSgwLHByZWdfcmVwbGFjZSgnflxcPy4qficsJycsJF9TRVJWRVJbIlJFUVVFU1RfVVJJIl0pLCIiLCRhYSk7aWYodmVyc2lvbl9jb21wYXJlKFBIUF9WRVJTSU9OLCc1LjIuMCcpPj0wKXskUGNbXT10cnVlO31jYWxsX3VzZXJfZnVuY19hcnJheSgnc2Vzc2lvbl9zZXRfY29va2llX3BhcmFtcycsJFBjKTtzZXNzaW9uX3N0YXJ0KCk7fXJlbW92ZV9zbGFzaGVzKGFycmF5KCYkX0dFVCwmJF9QT1NULCYkX0NPT0tJRSksJHliKTtpZihmdW5jdGlvbl9leGlzdHMoInNldF9tYWdpY19xdW90ZXNfcnVudGltZSIpKXtzZXRfbWFnaWNfcXVvdGVzX3J1bnRpbWUoZmFsc2UpO31Ac2V0X3RpbWVfbGltaXQoMCk7QGluaV9zZXQoInplbmQuemUxX2NvbXBhdGliaWxpdHlfbW9kZSIsZmFsc2UpO0Bpbmlfc2V0KCJwcmVjaXNpb24iLDIwKTskZmM9YXJyYXkoJ2VuJz0+J0VuZ2xpc2gnLCdjcyc9PifEjGXFoXRpbmEnLCdzayc9PidTbG92ZW7EjWluYScsJ25sJz0+J05lZGVybGFuZHMnLCdlcyc9PidFc3Bhw7FvbCcsJ2RlJz0+J0RldXRzY2gnLCdmcic9PidGcmFuw6dhaXMnLCdpdCc9PidJdGFsaWFubycsJ2V0Jz0+J0Vlc3RpJywnaHUnPT4nTWFneWFyJywncGwnPT4nUG9sc2tpJywnY2EnPT4nQ2F0YWzDoCcsJ3B0Jz0+J1BvcnR1Z3XDqnMnLCdzbCc9PidTbG92ZW5za2knLCdsdCc9PidMaWV0dXZpxbMnLCd0cic9PidUw7xya8OnZScsJ3JvJz0+J0xpbWJhIFJvbcOibsSDJywncnUnPT4n0KDRg9GB0YHQutC40Lkg0Y/Qt9GL0LonLCd6aCc9PifnroDkvZPkuK3mlocnLCd6aC10dyc9PifnuYHpq5TkuK3mlocnLCdqYSc9Pifml6XmnKzoqp4nLCd0YSc9PifgrqTigIzgrq7grr/grrTgr40nLCdhcic9PifYp9mE2LnYsdio2YrYqScsKTtmdW5jdGlvbgpnZXRfbGFuZygpe2dsb2JhbCRhO3JldHVybiRhO31mdW5jdGlvbgpsYW5nKCR0LCRCPW51bGwpe2dsb2JhbCRhLCRUOyRQZD0kVFskdF07aWYoaXNfYXJyYXkoJFBkKSl7JFRjPSgkQj09MT8wOigkYT09J2NzJ3x8JGE9PSdzayc/KCRCJiYkQjw1PzE6Mik6KCRhPT0nZnInPyghJEI/MDoxKTooJGE9PSdwbCc/KCRCCiUKMTA+MSYmJEIKJQoxMDw1JiYkQi8xMAolCjEwIT0xPzE6Mik6KCRhPT0nc2wnPygkQgolCjEwMD09MT8wOigkQgolCjEwMD09Mj8xOigkQgolCjEwMD09M3x8JEIKJQoxMDA9PTQ/MjozKSkpOigkYT09J2x0Jz8oJEIKJQoxMD09MSYmJEIKJQoxMDAhPTExPzA6KCRCCiUKMTA+MSYmJEIvMTAKJQoxMCE9MT8xOjIpKTooJGE9PSdydSc/KCRCCiUKMTA9PTEmJiRCCiUKMTAwIT0xMT8wOigkQgolCjEwPjEmJiRCCiUKMTA8NSYmJEIvMTAKJQoxMCE9MT8xOjIpKToxKSkpKSkpKTskUGQ9JFBkWyRUY107fSRvYT1mdW5jX2dldF9hcmdzKCk7YXJyYXlfc2hpZnQoJG9hKTtyZXR1cm4KdnNwcmludGYoKGlzc2V0KCRQZCk/JFBkOiR0KSwkb2EpO31mdW5jdGlvbgpzd2l0Y2hfbGFuZygpe2dsb2JhbCRhLCRmYztlY2hvIjxmb3JtIGFjdGlvbj0nJz5cbjxkaXYgaWQ9J2xhbmcnPiI7aGlkZGVuX2ZpZWxkcygkX0dFVCxhcnJheSgnbGFuZycpKTtlY2hvCmxhbmcoNykuIjogIi5odG1sX3NlbGVjdCgibGFuZyIsJGZjLCRhLCJ2YXIgbG9jID0gbG9jYXRpb24uc2VhcmNoLnJlcGxhY2UoL1s/Jl1sYW5nPVteJl0qLywgJycpOyBsb2NhdGlvbi5zZWFyY2ggPSBsb2MgKyAobG9jID8gJyYnIDogJycpICsgJ2xhbmc9JyArIHRoaXMudmFsdWU7IiksIiA8aW5wdXQgdHlwZT0nc3VibWl0JyB2YWx1ZT0nIi5sYW5nKDgpLiInIGNsYXNzPSdoaWRkZW4nPlxuIiwiPC9kaXY+XG48L2Zvcm0+XG4iO31pZihpc3NldCgkX0dFVFsibGFuZyJdKSl7JF9DT09LSUVbImFkbWluZXJfbGFuZyJdPSRfR0VUWyJsYW5nIl07JF9TRVNTSU9OWyJsYW5nIl09JF9HRVRbImxhbmciXTt9JGE9ImVuIjtpZihpc3NldCgkZmNbJF9DT09LSUVbImFkbWluZXJfbGFuZyJdXSkpe2Nvb2tpZSgiYWRtaW5lcl9sYW5nIiwkX0NPT0tJRVsiYWRtaW5lcl9sYW5nIl0pOyRhPSRfQ09PS0lFWyJhZG1pbmVyX2xhbmciXTt9ZWxzZWlmKGlzc2V0KCRmY1skX1NFU1NJT05bImxhbmciXV0pKXskYT0kX1NFU1NJT05bImxhbmciXTt9ZWxzZXskamE9YXJyYXkoKTtwcmVnX21hdGNoX2FsbCgnfihbLWEtel0rKSg7cT0oWzAtOS5dKykpP34nLHN0cl9yZXBsYWNlKCJfIiwiLSIsc3RydG9sb3dlcigkX1NFUlZFUlsiSFRUUF9BQ0NFUFRfTEFOR1VBR0UiXSkpLCRwYyxQUkVHX1NFVF9PUkRFUik7Zm9yZWFjaCgkcGMKYXMkeil7JGphWyR6WzFdXT0oaXNzZXQoJHpbM10pPyR6WzNdOjEpO31hcnNvcnQoJGphKTtmb3JlYWNoKCRqYQphcyR3PT4kWmMpe2lmKGlzc2V0KCRmY1skd10pKXskYT0kdzticmVhazt9JHc9cHJlZ19yZXBsYWNlKCd+LS4qficsJycsJHcpO2lmKCFpc3NldCgkamFbJHddKSYmaXNzZXQoJGZjWyR3XSkpeyRhPSR3O2JyZWFrO319fXN3aXRjaCgkYSl7Y2FzZSJlbiI6JFQ9YXJyYXkoJ0FyZSB5b3Ugc3VyZT8nLCdVbmFibGUgdG8gdXBsb2FkIGEgZmlsZS4nLCdNYXhpbXVtIGFsbG93ZWQgZmlsZSBzaXplIGlzICVzQi4nLCdGaWxlIGRvZXMgbm90IGV4aXN0LicsJ2VtcHR5Jywnb3JpZ2luYWwnLCdObyB0YWJsZXMuJywnTGFuZ3VhZ2UnLCdVc2UnLCdQbGVhc2UgdXNlIG9uZSBvZiB0aGUgZXh0ZW5zaW9ucyAlcy4nLCdGaWxlIGV4aXN0cy4nLCdVc2VyIHR5cGVzJywnTnVtYmVycycsJ0RhdGUgYW5kIHRpbWUnLCdTdHJpbmdzJywnQmluYXJ5JywnTmV0d29yaycsJ0dlb21ldHJ5JywnTGlzdHMnLCdFZGl0b3InLCdVc2VybmFtZScsJ1Bhc3N3b3JkJywnTG9naW4nLCdQZXJtYW5lbnQgbG9naW4nLCdOZXcgaXRlbScsJ0xhc3QgcGFnZScsYXJyYXkoJyVkIGJ5dGUnLCclZCBieXRlcycpLCckMS0kMy0kNScsJ1NlYXJjaCcsJ2FueXdoZXJlJywnU29ydCcsJ0xpbWl0JywnQWN0aW9uJywnU2VsZWN0JywnRS1tYWlsJywnRnJvbScsJ1N1YmplY3QnLCdJbnNlcnQnLCdBdHRhY2htZW50cycsJ1NlbmQnLGFycmF5KCclZCBlLW1haWwgaGFzIGJlZW4gc2VudC4nLCclZCBlLW1haWxzIGhhdmUgYmVlbiBzZW50LicpLCdub3cnLCdISDpNTTpTUycsJ1t5eXl5XS1tbS1kZCcsJ0xvZ291dCcsJ1NlbGVjdCBkYXRhJywnbHRyJywnUmVzZW5kIFBPU1QgZGF0YT8nLCdTZXJ2ZXInLCdJbnZhbGlkIENTUkYgdG9rZW4uIFNlbmQgdGhlIGZvcm0gYWdhaW4uJywnTG9nb3V0IHN1Y2Nlc3NmdWwuJywnU2Vzc2lvbiBzdXBwb3J0IG11c3QgYmUgZW5hYmxlZC4nLCdTZXNzaW9uIGV4cGlyZWQsIHBsZWFzZSBsb2dpbiBhZ2Fpbi4nLCdJbnZhbGlkIGNyZWRlbnRpYWxzLicsJ05vIGV4dGVuc2lvbicsJ05vbmUgb2YgdGhlIHN1cHBvcnRlZCBQSFAgZXh0ZW5zaW9ucyAoJXMpIGFyZSBhdmFpbGFibGUuJywnVG9vIGJpZyBQT1NUIGRhdGEuIFJlZHVjZSB0aGUgZGF0YSBvciBpbmNyZWFzZSB0aGUgJXMgY29uZmlndXJhdGlvbiBkaXJlY3RpdmUuJywnSXRlbSBoYXMgYmVlbiBkZWxldGVkLicsJ0l0ZW0gaGFzIGJlZW4gdXBkYXRlZC4nLCdJdGVtJXMgaGFzIGJlZW4gaW5zZXJ0ZWQuJywnRWRpdCcsJ05vIHJvd3MuJywnU2F2ZScsJ1NhdmUgYW5kIGNvbnRpbnVlIGVkaXQnLCdTYXZlIGFuZCBpbnNlcnQgbmV4dCcsJ0RlbGV0ZScsYXJyYXkoJyVkIGl0ZW0gaGFzIGJlZW4gYWZmZWN0ZWQuJywnJWQgaXRlbXMgaGF2ZSBiZWVuIGFmZmVjdGVkLicpLCdEb3VibGUgY2xpY2sgb24gYSB2YWx1ZSB0byBtb2RpZnkgaXQuJyxhcnJheSgnJWQgcm93IGhhcyBiZWVuIGltcG9ydGVkLicsJyVkIHJvd3MgaGF2ZSBiZWVuIGltcG9ydGVkLicpLCdVbmFibGUgdG8gc2VsZWN0IHRoZSB0YWJsZScsJ2VkaXQnLCdSZWxhdGlvbnMnLCdVc2UgZWRpdCBsaW5rIHRvIG1vZGlmeSB0aGlzIHZhbHVlLicsJ1BhZ2UnLCdsYXN0JyxhcnJheSgnJWQgcm93JywnJWQgcm93cycpLCd3aG9sZSByZXN1bHQnLCdDbG9uZScsJ0V4cG9ydCcsJ0ltcG9ydCcsJ1NlYXJjaCBkYXRhIGluIHRhYmxlcycsJ1RhYmxlJywnUm93cycsJywnLGFycmF5KCclZCBxdWVyeSBleGVjdXRlZCBPSy4nLCclZCBxdWVyaWVzIGV4ZWN1dGVkIE9LLicpKTticmVhaztjYXNlImNzIjokVD1hcnJheSgnT3ByYXZkdT8nLCdOZXBvZGHFmWlsbyBzZSBuYWhyw6F0IHNvdWJvci4nLCdNYXhpbcOhbG7DrSBwb3ZvbGVuw6EgdmVsaWtvc3Qgc291Ym9ydSBqZSAlc0IuJywnU291Ym9yIG5lZXhpc3R1amUuJywncHLDoXpkbsOpJywncMWvdm9kbsOtJywnxb3DoWRuw6kgdGFidWxreS4nLCdKYXp5aycsJ1Z5YnJhdCcsJ1Byb3PDrW0gcG91xb5panRlIGplZG51IHoga29uY292ZWsgJXMuJywnU291Ym9yIGV4aXN0dWplLicsJ1XFvml2YXRlbHNrw6kgdHlweScsJ8SMw61zbGEnLCdEYXR1bSBhIMSNYXMnLCfFmGV0xJt6Y2UnLCdCaW7DoXJuw60nLCdTw63FpScsJ0dlb21ldHJpZScsJ1Nlem5hbXknLCdFZGl0b3InLCdVxb5pdmF0ZWwnLCdIZXNsbycsJ1DFmWlobMOhc2l0IHNlJywnVHJ2YWzDqSBwxZlpaGzDocWhZW7DrScsJ05vdsOhIHBvbG/FvmthJywnUG9zbGVkbsOtIHN0csOhbmthJyxhcnJheSgnJWQgYmFqdCcsJyVkIGJhanR5JywnJWQgYmFqdMWvJyksJyQ2LiQ0LiQxJywnVnlobGVkYXQnLCdrZGVrb2xpdicsJ1NlxZlhZGl0JywnTGltaXQnLCdBa2NlJywnVnlwc2F0JywnRS1tYWlsJywnT2Rlc8OtbGF0ZWwnLCdQxZllZG3Em3QnLCdWbG/Fvml0JywnUMWZw61sb2h5JywnT2Rlc2xhdCcsYXJyYXkoJ0J5bCBvZGVzbMOhbiAlZCBlLW1haWwuJywnQnlseSBvZGVzbMOhbnkgJWQgZS1tYWlseS4nLCdCeWxvIG9kZXNsw6FubyAlZCBlLW1haWzFry4nKSwndGXEjycsJ0hIOk1NOlNTJywnZC5tLltycnJyXScsJ09kaGzDoXNpdCcsJ1Z5cHNhdCBkYXRhJywnbHRyJywnWm5vdnUgb2Rlc2xhdCBQT1NUIGRhdGE/JywnU2VydmVyJywnTmVwbGF0bsO9IHRva2VuIENTUkYuIE9kZcWhbGV0ZSBmb3JtdWzDocWZIHpub3Z1LicsJ09kaGzDocWhZW7DrSBwcm9ixJtobG8gdiBwb8WZw6Fka3UuJywnU2Vzc2lvbiBwcm9txJtubsOpIG11c8OtIGLDvXQgcG92b2xlbsOpLicsJ1Nlc3Npb24gdnlwcsWhZWxhLCBwxZlpaGxhxaF0ZSBzZSBwcm9zw61tIHpub3Z1LicsJ05lcGxhdG7DqSBwxZlpaGxhxaFvdmFjw60gw7pkYWplLicsJ8W9w6FkbsOhIGV4dGVuemUnLCdOZW7DrSBkb3N0dXBuw6Egxb7DoWRuw6EgeiBwb2Rwb3JvdmFuw71jaCBQSFAgZXh0ZW56w60gKCVzKS4nLCdQxZnDrWxpxaEgdmVsa8OhIFBPU1QgZGF0YS4gWm1lbsWhZXRlIGRhdGEgbmVibyB6dnnFoXRlIGhvZG5vdHUga29uZmlndXJhxI1uw60gZGlyZWt0aXZ5ICVzLicsJ1BvbG/FvmthIGJ5bGEgc21hesOhbmEuJywnUG9sb8W+a2EgYnlsYSBha3R1YWxpem92w6FuYS4nLCdQb2xvxb5rYSVzIGJ5bGEgdmxvxb5lbmEuJywnVXByYXZpdCcsJ8W9w6FkbsOpIMWZw6Fka3kuJywnVWxvxb5pdCcsJ1Vsb8W+aXQgYSBwb2tyYcSNb3ZhdCB2IGVkaXRhY2knLCdVbG/Fvml0IGEgdmxvxb5pdCBkYWzFocOtJywnU21hemF0JyxhcnJheSgnQnlsIG92bGl2bsSbbiAlZCB6w6F6bmFtLicsJ0J5bHkgb3ZsaXZuxJtueSAlZCB6w6F6bmFteS4nLCdCeWxvIG92bGl2bsSbbm8gJWQgesOhem5hbcWvLicpLCdEdm9qa2xpa27Em3RlIG5hIHBvbMOtxI1rbywga3RlcsOpIGNoY2V0ZSB6bcSbbml0LicsYXJyYXkoJ0J5bCBpbXBvcnRvdsOhbiAlZCB6w6F6bmFtLicsJ0J5bHkgaW1wb3J0b3bDoW55ICVkIHrDoXpuYW15LicsJ0J5bG8gaW1wb3J0b3bDoW5vICVkIHrDoXpuYW3Fry4nKSwnTmVwb2RhxZlpbG8gc2Ugdnlwc2F0IHRhYnVsa3UnLCd1cHJhdml0JywnVnp0YWh5JywnS2Ugem3Em27EmyB0w6l0byBob2Rub3R5IHBvdcW+aWp0ZSBvZGtheiB1cHJhdml0LicsJ1N0csOhbmthJywncG9zbGVkbsOtJyxhcnJheSgnJWQgxZnDoWRlaycsJyVkIMWZw6Fka3knLCclZCDFmcOhZGvFrycpLCdjZWzDvSB2w71zbGVkZWsnLCdLbG9ub3ZhdCcsJ0V4cG9ydCcsJ0ltcG9ydCcsJ1Z5aGxlZGF0IGRhdGEgdiB0YWJ1bGvDoWNoJywnVGFidWxrYScsJ8WYw6Fka8WvJywnICcsJ1Bvem3Em25pdCB0eXAnKTticmVhaztjYXNlInNrIjokVD1hcnJheSgnTmFvemFqPycsJ1PDumJvciBzYSBuZXBvZGFyaWxvIG5haHJhxaUuJywnTWF4aW3DoWxuYSBwb3ZvbGVuw6EgdmXEvmtvc8WlIHPDumJvcnUgamUgJXNCLicsJ1PDumJvciBuZWV4aXN0dWplLicsJ3Byw6F6ZG5lJywnb3JpZ2luw6FsJywnxb1pYWRuZSB0YWJ1xL5reS4nLCdKYXp5aycsJ1Z5YnJhxaUnLCdQcm9zw61tIHZ5YmVydGUgamVkbnUgeiBrb25jb3ZpZWsgJXMuJywnU8O6Ym9yIGV4aXN0dWplLicsJ1XFvsOtdmF0ZcS+c2vDqSB0eXB5JywnxIzDrXNsYScsJ0TDoXR1bSBhIMSNYXMnLCdSZcWlYXpjZScsJ0JpbsOhcm5lJywnU2llxaUnLCdHZW9tZXRyaWEnLCdab3puYW15JywnRWRpdG9yJywnUG91xb7DrXZhdGXEvicsJ0hlc2xvJywnUHJpaGzDoXNpxaUgc2EnLCdUcnZhbMOpIHByaWhsw6FzZW5pZScsJ05vdsOhIHBvbG/FvmthJywnUG9zbGVkbsOhIHN0csOhbmthJyxhcnJheSgnJWQgYmFqdCcsJyVkIGJhanR5JywnJWQgYmFqdG92JyksJyQ2LiQ0LiQxJywnVnloxL5hZGHFpScsJ2tkZWtvxL52ZWsnLCdab3RyaWVkacWlJywnTGltaXQnLCdBa2NpYScsJ1Z5cMOtc2HFpScsJ0UtbWFpbCcsJ09kb3NpZWxhdGXEvicsJ1ByZWRtZXQnLCdWbG/FvmnFpScsJ1Byw61sb2h5JywnT2Rvc2xhxaUnLGFycmF5KCdCb2wgb2Rvc2xhbsO9ICVkIGUtbWFpbC4nLCdCb2xpIG9kb3NsYW7DqSAlZCBlLW1haWx5LicsJ0JvbG8gb2Rvc2xhbsO9Y2ggJWQgZS1tYWlsb3YuJyksJ3RlcmF6JywnSEg6TU06U1MnLCdkLm0uW3JycnJdJywnT2RobMOhc2nFpScsJ1Z5cMOtc2HFpSBkw6F0YScsJ2x0cicsJ1pub3Z1IHBvc2xhxaUgUE9TVCBkYXRhPycsJ1NlcnZlcicsJ05lcGxhdG7DvSB0b2tlbiBDU1JGLiBPZG/FoWxpdGUgZm9ybXVsw6FyIHpub3ZhLicsJ09kaGzDoXNlbmllIHByZWJlaGxvIHYgcG9yaWFka3UuJywnU2Vzc2lvbiBwcmVtZW5uw6kgbXVzaWEgYnnFpSBwb3ZvbGVuw6kuJywnU2Vzc2lvbiB2eXByxaFhbGEsIHByaWhsw6FzdGUgc2EgcHJvc8OtbSB6bm92YS4nLCdOZXBsYXRuw6kgcHJpaGxhc292YWNpZSDDumRhamUuJywnxb1pYWRuZSByb3rFocOtcmVuaWUnLCdOaWUgamUgZG9zdHVwbsOpIMW+aWFkbmUgeiBwb2Rwb3JvdmFuw71jaCByb3rFocOtcmVuw60gKCVzKS4nLCdQcsOtbGnFoSB2ZcS+a8OpIFBPU1QgZMOhdGEuIFptZW7FoWl0ZSBkw6F0YSBhbGVibyB6dsO9xaF0ZSBob2Rub3R1IGtvbmZpZ3VyYcSNZWogZGlyZWt0w612eSAlcy4nLCdQb2xvxb5rYSBib2xhIHZ5bWF6YW7DoS4nLCdQb2xvxb5rYSBib2xhIGFrdHVhbGl6b3ZhbsOhLicsJ1BvbG/FvmthJXMgYm9sYSB2bG/FvmVuw6EuJywnVXByYXZpxaUnLCfFvWlhZG5lIHJpYWRreS4nLCdVbG/FvmnFpScsJ1Vsb8W+acWlIGEgcG9rcmHEjW92YcWlIHYgw7pwcmF2w6FjaCcsJ1Vsb8W+acWlIGEgdmxvxb5pxaUgxI9hbMWhw60nLCdabWF6YcWlJywnJWQgcG9sb8W+aWVrIGJvbG8gb3ZwbHl2bmVuw71jaC4nLCdEdm9qa2xpa25pdGUgbmEgcG9sw63EjWtvLCBrdG9yw6kgY2hjZXRlIHptZW5pxaUuJyxhcnJheSgnQm9sIGltcG9ydG92YW7DvSAlZCB6w6F6bmFtLicsJ0JvbGkgaW1wb3J0b3ZhbsOpICVkIHrDoXpuYW15LicsJ0JvbG8gaW1wb3J0b3ZhbsO9Y2ggJWQgesOhem5hbW92LicpLCdUYWJ1xL5rdSBzYSBuZXBvZGFyaWxvIHZ5cMOtc2HFpScsJ3VwcmF2acWlJywnVnrFpWFoeScsJ1ByZSB6bWVudSB0ZWp0byBob2Rub3R5IHBvdcW+aXRlIG9ka2F6IHVwcmF2acWlLicsJ1N0csOhbmthJywncG9zbGVkbsO9JyxhcnJheSgnJWQgcmlhZG9rJywnJWQgcmlhZGt5JywnJWQgcmlhZGtvdicpLCdjZWzDvSB2w71zbGVkb2snLCdLbG9ub3ZhxaUnLCdFeHBvcnQnLCdJbXBvcnQnLCdWeWjEvmFkYcWlIGTDoXRhIHYgdGFidcS+a8OhY2gnLCdUYWJ1xL5rYScsJ1JpYWRreScsJyAnLCdVcHJhdmnFpSB2xaFldGtvJyk7YnJlYWs7Y2FzZSJubCI6JFQ9YXJyYXkoJ1dlZXQgdSBoZXQgemVrZXI/JywnT25tb2dlbGlqayBiZXN0YW5kIHRlIHVwbG9hZGVuLicsJ01heGltdW0gdG9lZ2VsYXRlbiBiZXN0YW5kc2dyb290dGUgaXMgJXNCLicsJ0Jlc3RhbmQgbmlldCBnZXZvbmRlbi4nLCdsZWVnJywnb3JpZ2luZWVsJywnR2VlbiB0YWJlbGxlbi4nLCdUYWFsJywnR2VicnVpaycsJ0dlYnJ1aWsgMSB2YW4gdm9sZ2VuZGUgZXh0ZW5zaWVzOiAlcy4nLCdCZXN0YW5kIGJlc3RhYXQgcmVlZHMuJywnR2VicnVpa2Vyc2dlZGVmaW5pw6tlcmRlIHR5cGVzJywnR2V0YWxsZW4nLCdEYXR1bSBlbiB0aWpkJywnVGVrc3QnLCdCaW5haXJlIGdlZ2V2ZW5zJywnTmV0d2VyaycsJ0dlb21ldHJpZScsJ0xpanN0ZW4nLCdFZGl0b3InLCdHZWJydWlrZXJzbmFhbScsJ1dhY2h0d29vcmQnLCdJbmxvZ2dlbicsJ0JsaWpmIGFhbmdlbWVsZCcsJ05pZXV3IGl0ZW0nLCdMYWF0c3RlIHBhZ2luYScsYXJyYXkoJyVkIGJ5dGUnLCclZCBieXRlcycpLCckNS0kMy0kMScsJ1pvZWtlbicsJ292ZXJhbCcsJ1NvcnRlcmVuJywnQmVwZXJrJywnQWN0aWVzJywnS2llcycsJ0UtbWFpbCcsJ1ZhbicsJ09uZGVyd2VycCcsJ1RvZXZvZWdlbicsJ0JpamxhZ2VuJywnVmVyemVuZGVuJyxhcnJheSgnJWQgZS1tYWlsIHZlcnpvbmRlbi4nLCclZCBlLW1haWxzIHZlcnpvbmRlbi4nKSwnbnUnLCdISDpNTTpTUycsJ2RkLW1tLVtqampqXScsJ1VpdGxvZ2dlbicsJ0dlZ2V2ZW5zIHNlbGVjdGVyZW4nLCdsdHInLCdQT1NUIGRhdGEgb3BuaWV1dyB2ZXJ6ZW5kZW4nLCdTZXJ2ZXInLCdPbmdlbGRpZyBDU1JGIHRva2VuLiBWZXJzdHV1ciBoZXQgZm9ybXVsaWVyIG9wbmlldXcuJywnVWl0bG9nZ2VuIGdlc2xhYWdkLicsJ1Nlc3NpZXMgbW9ldGVuIGdlYWN0aXZlZXJkIHppam4uJywnVXcgc2Vzc2llIGlzIHZlcmxvcGVuLiBHZWxpZXZlIG9wbmlldXcgaW4gdGUgbG9nZ2VuLicsJ09uZ2VsZGlnZSBsb2dpbmdlZ2V2ZW5zLicsJ0dlZW4gZXh0ZW5zaWUnLCdHZWVuIGdlbGRpZ2UgUEhQIGV4dGVuc2llcyBiZXNjaGlrYmFhciAoJXMpLicsJ1BPU1QtZGF0YSBpcyB0ZSBncm9vdC4gVmVya2xlaW4gZGUgaG9ldmVlbGhlaWQgZGF0YSBvZiB2ZXJob29nIGRlICVzIGNvbmZpZ3VyYXRpZS4nLCdJdGVtIHZlcndpamRlcmQuJywnSXRlbSBhYW5nZXBhc3QuJywnSXRlbSVzIHRvZWdldm9lZ2QuJywnQmV3ZXJrJywnR2VlbiByaWplbi4nLCdPcHNsYWFuJywnT3BzbGFhbiBlbiB2ZXJkZXIgYmV3ZXJrZW4nLCdPcHNsYWFuLCBkYWFybmEgdG9ldm9lZ2VuJywnVmVyd2lqZGVyZW4nLGFycmF5KCclZCBpdGVtIGFhbmdlcGFzdC4nLCclZCBpdGVtcyBhYW5nZXBhc3QuJyksJ0R1YmJlbGtsaWsgb3AgZWVuIHdhYXJkZSBvbSBkZXplIHRlIGJld2Vya2VuLicsYXJyYXkoJyVkIHJpaiB3ZXJkIGdlw69tcG9ydGVlcmQuJywnJWQgcmlqZW4gd2VyZGVuIGdlw69tcG9ydGVlcmQuJyksJ09ubW9nZWxpamsgdGFiZWwgdGUgc2VsZWN0ZXJlbicsJ2Jld2VyaycsJ1JlbGF0aWVzJywnR2VicnVpayBkZSBsaW5rICJiZXdlcmsiIG9tIGRlemUgd2FhcmRlIHRlIHdpanppZ2VuLicsJ1BhZ2luYScsJ2xhYXRzdGUnLGFycmF5KCclZCByaWonLCclZCByaWplbicpLCd2b2xsZWRpZyByZXN1bHRhYXQnLCdEdXBsaWNlZXInLCdFeHBvcnRlcmVuJywnSW1wb3J0ZXJlbicsJ1pvZWtlbiBpbiBkYXRhYmFzZScsJ1RhYmVsJywnUmlqZW4nLCcuJywnQWxsZXMgYmV3ZXJrZW4nKTticmVhaztjYXNlImVzIjokVD1hcnJheSgnRXN0w6Egc2VndXJvPycsJ05vIGVzIHBvc2libGUgaW1wb3J0YXIgYXJjaGl2by4nLCdUYW1hw7FvIG3DoXhpbW8gZGUgYXJjaGl2byBlcyAlc0IuJywnQXJjaGl2byBubyBleGlzdGUuJywnbmluZ8O6bm8nLCdvcmlnaW5hbCcsJ05vIGV4aXN0ZW4gdGFibGFzLicsJ0lkaW9tYScsJ1VzYXInLCdQb3IgZmF2b3IgdXNlIHVuYSBkZSBsYXMgZXh0ZW5zaW9uZXMgJXMuJywnQXJjaGl2byB5YSBleGlzdGUuJywnVGlwb3MgZGVmaW5pZG8gcG9yIGVsIHVzdWFyaW8nLCdOw7ptZXJvcycsJ0ZlY2hhIHkgaG9yYScsJ0NhZGVuYScsJ0JpbmFyaW8nLCdSZWQnLCdHZW9tZXRyw61hJywnTGlzdGFzJywnRWRpdG9yJywnVXN1YXJpbycsJ0NvbnRyYXNlw7FhJywnTG9naW4nLCdHdWFyZGFyIGNvbnRyYXNlw7FhJywnTnVldm8gUmVnaXN0cm8nLCdVbHRpbWEgcMOhZ2luYScsYXJyYXkoJyVkIGJ5dGUnLCclZCBieXRlcycpLCckNS8kMy8kMScsJ0NvbmRpY2nDs24nLCdkb25kZSBzZWEnLCdPcmRlbmFyJywnTGltaXQnLCdBY2Npw7NuJywnTW9zdHJhcicsJ0VtYWlsJywnRGUnLCdBc3VudG8nLCdBZ3JlZ2FyJywnQWRqdW50b3MnLCdFbnZpYXInLGFycmF5KCclZCBlbWFpbCBlbnZpYWRvLicsJyVkIGVtYWlscyBlbnZpYWRvcy4nKSwnYWhvcmEnLCdISDpNTTpTUycsJ2RkL21tL1thYWFhXScsJ0xvZ291dCcsJ1Zpc3VhbGl6YXIgY29udGVuaWRvJywnbHRyJywnVm9sdmVyIGEgZW52aWFyIFBPU1QgZGF0YT8nLCdTZXJ2aWRvcicsJ1Rva2VuIENTUkYgaW52w6FsaWRvLiBWdWVsdmEgYSBlbnZpYXIgbG9zIGRhdG9zIGRlbCBmb3JtdWxhcmlvLicsJ1NhbGlkYSBleGl0b3NhLicsJ0RlYmVuIGVzdGFyIGhhYmlsaXRhZGFzIGxhcyBzZXNpb25lcy4nLCdTZXNpw7NuIGV4cGlyYWRhLCBwb3IgZmF2b3IgaW5ncmVzZSBzdSBjbGF2ZSBkZSBudWV2by4nLCdJZGVudGlmaWNhY2lvbiBpbnbDoWxpZGEuJywnTm8gaGF5IGV4dGVuc2lvbicsJ05pbmd1bmEgZGUgbGFzIGV4dGVuc2lvbmVzIFBIUCBzb3BvcnRhZGFzICglcykgZXN0w6EgZGlzcG9uaWJsZS4nLCdQT1NUIGRhdGEgZGVtYXNpYWRvIGdyYW5kZS4gUmVkdXpjYSBlbCB0YW1hw7FvIG8gYXVtZW50ZSBsYSBkaXJlY3RpdmEgZGUgY29uZmlndXJhY2nDs24gJXMuJywnUmVnaXN0cm8gZWxpbWluYWRvLicsJ1JlZ2lzdHJvIG1vZGlmaWNhZG8uJywnUmVnaXN0cm8lcyBpbnNlcnRhZG8uJywnTW9kaWZpY2FyJywnTm8gZXhpc3RlbiByZWdpc3Ryb3MuJywnR3VhcmRhcicsJ0d1YXJkYXIgeSBjb250aW51YXIgZWRpdGFuZG8nLCdHdWFyZGFyIGUgaW5zZXJ0YXIgb3RybycsJ0VsaW1pbmFyJyxhcnJheSgnJWQgw610ZW0gYWZlY3RhZG8uJywnJWQgaXRlbWVzIGFmZWN0YWRvcy4nKSwnRG9ibGUtY2xpYyBzb2JyZSBlbCB2YWxvciBwYXJhIGVkaXRhcmxvLicsYXJyYXkoJyVkIHJlZ2lzdHJvIGltcG9ydGFkby4nLCclZCByZWdpc3Ryb3MgaW1wb3J0YWRvcy4nKSwnTm8gZXMgcG9zaWJsZSBzZWxlY2Npb25hciBsYSB0YWJsYScsJ21vZGlmaWNhcicsJ1JlbGFjaW9uZXMnLCdVdGlsaWNlIGVsIGVubGFjZSBkZSBtb2RpZmljYXIgcGFyYSByZWFsaXphciBsb3MgY2FtYmlvcy4nLCdQw6FnaW5hJywnw7psdGltbycsYXJyYXkoJyVkIHJlZ2lzdHJvJywnJWQgcmVnaXN0cm9zJyksJ3Jlc3VsdGFkbyBjb21wbGV0bycsJ0Nsb25hcicsJ0V4cG9ydGFyJywnSW1wb3J0YXInLCdCdXNjYXIgZGF0b3MgZW4gdGFibGFzJywnVGFibGEnLCdSZWdpc3Ryb3MnLCcgJywnRWRpdGFyIHRvZG9zJyk7YnJlYWs7Y2FzZSJkZSI6JFQ9YXJyYXkoJ1NpbmQgU2llIHNpY2hlciA/JywnSG9jaGxhZGVuIHZvbiBEYXRlaSBmZWhsZ2VzY2hsYWdlbi4nLCdNYXhpbWFsIGVybGF1YnRlIERhdGVpZ3LDtnNzZSBpc3QgJXNCLicsJ0RhdGVpIGV4aXN0aWVydCBuaWNodC4nLCdsZWVyJywnT3JpZ2luYWwnLCdLZWluZSBUYWJlbGxlbi4nLCdTcHJhY2hlJywnQmVudXR6dW5nJywnQml0dGUgZWluZW4gZGVyIERhdGVpdHlwZW4gJXMgYmVudXR6ZW4uJywnRGF0ZWkgZXhpc3RpZXJ0IHNjaG9uLicsJ0JlbnV0emVyLWRlZmluaWVydGUgVHlwZW4nLCdaYWhsZW4nLCdEYXR1bSBvZGVyIFplaXQnLCdaZWljaGVua2V0dGVuJywnQmluw6RyJywnTmV0endlcmsnLCdHZW9tZXRyaWUnLCdMaXN0ZW4nLCdFZGl0b3InLCdCZW51dHplcicsJ1Bhc3N3b3J0JywnTG9naW4nLCdQYXNzd29ydCBzcGVpY2hlcm4nLCdOZXVlciBEYXRlbnNhdHonLCdMZXR6dGUgU2VpdGUnLGFycmF5KCclZCBCeXRlJywnJWQgQnl0ZXMnKSwnJDYuJDQuJDEnLCdTdWNoZW4nLCdiZWxpZWJpZycsJ09yZG5lbicsJ0JlZ3Jlbnp1bmcnLCdBa3Rpb24nLCdEYXRlbiB6ZWlnZW4gdm9uJywnRS1tYWlsJywnVm9uJywnQmV0cmVmZicsJ0hpbnp1ZsO8Z2VuJywnQW5ow6RuZ2UnLCdBYnNjaGlja2VuJyxhcnJheSgnJWQgZS1tYWlsIGFiZ2VzY2hpY2t0LicsJyVkIGUtbWFpbHMgYWJnZXNjaGlja3QuJyksJ2pldHp0JywnSEg6TU06U1MnLCd0Lm0uW2pqampdJywnQWJtZWxkZW4nLCdEYXRlbiBhdXN3w6RobGVuJywnbHRyJywnUE9TVCBkYXRhIG5vY2ggZWlubWFsIHNlbmRlbiA/JywnU2VydmVyJywnQ1NSRiBUb2tlbiB1bmfDvGx0aWcuIEJpdHRlIGRpZSBGb3JtdWxhcmRhdGVuIGVybmV1dCBhYnNjaGlja2VuLicsJ0FibWVsZHVuZyBlcmZvbGdyZWljaC4nLCdTaXR6dW5nZW4gbcO8c3NlbiBha3RpdmllcnQgc2Vpbi4nLCdTaXR6dW5nc2RhdWVyIGFiZ2VsYXVmZW4sIGJpdHRlIGVybmV1dCBhbm1lbGRlbi4nLCdVbmfDvGx0aWdlIEFubWVsZGUtSW5mb3JtYXRpb25lbi4nLCdLZWluZSBFcndlaXRlcnVuZ2VuIGluc3RhbGxpZXJ0JywnS2VpbmUgZGVyIHVudGVyc3TDvHR6dGVuIFBIUC1FcndlaXRlcnVuZ2VuICglcykgaXN0IHZvcmhhbmRlbi4nLCdQT1NUIGRhdGEgenUgZ3Jvc3MuIFJlZHV6aWVyZW4gU2llIGRpZSBHcsO2c3NlIG9kZXIgdmVyZ3LDtnNzZXJuIFNpZSBkZW4gV2VydCAlcyBpbiBkZXIgS29uZmlndXJhdGlvbi4nLCdEYXRlbnNhdHogZ2Vsw7ZzY2h0LicsJ0RhdGVuc2F0eiBnZcOkbmRlcnQuJywnRGF0ZW5zYXR6JXMgaGluenVnZWbDvGd0LicsJ8OEbmRlcm4nLCdLZWluZSBEYXRlbi4nLCdTcGVpY2hlcm4nLCdTcGVpY2hlcm4gdW5kIHdlaXRlciBiZWFyYmVpdGVuJywnU3BlaWNoZXJuIHVuZCBuw6RjaHN0ZW4gaGluenVmw7xnZW4nLCdFbnRmZXJuZW4nLCclZCBBcnRpa2VsIGJldHJvZmZlbi4nLCdEb3BwZWxrbGljayB6dW0gQmVhcmJlaXRlbiBkZXMgV2VydGVzLicsYXJyYXkoJyVkIERhdGVuc2F0eiBpbXBvcnRpZXJ0LicsJyVkIERhdGVuc8OkdHplIHd1cmRlbiBpbXBvcnRpZXJ0LicpLCdBdXN3YWhsIGRlciBUYWJlbGxlIGZlaGxnZXNjaGxhZ2VuJywnw6RuZGVybicsJ1JlbGF0aW9uZW4nLCdCZW51dHplbiBTaWUgZGVuIExpbmsgenVtIGVkaXRpZXJlbiBkaWVzZXMgV2VydGVzLicsJ1NlaXRlJywnbGV0enRlJyxhcnJheSgnJWQgRGF0ZW5zYXR6JywnJWQgRGF0ZW5zw6R0emUnKSwnR2VzYW10ZXJnZWJuaXMnLCdLbG9uZW4nLCdFeHBvcnRpZXJlbicsJ0ltcG9ydGllcmVuJywnU3VjaGUgaW4gVGFiZWxsZW4nLCdUYWJlbGxlJywnRGF0ZW5zw6R0emUnLCcgJywnQWxsZSDDpG5kZXJuJyk7YnJlYWs7Y2FzZSJmciI6JFQ9YXJyYXkoJ8OKdGVzLXZvdXMgY2VydGFpbiA/JywnSW1wb3NzaWJsZSBkXCdpbXBvcnRlciBsZSBmaWNoaWVyLicsJ0xhIHRhaWxsZSBtYXhpbWFsZSBkZXMgZmljaGllcnMgZXN0IGRlICVzQi4nLCdMZSBmaWNoaWVyIGVzdCBpbnRyb3V2YWJsZS4nLCd2aWRlJywnb3JpZ2luYWwnLCdBdWN1bmUgdGFibGUuJywnTGFuZ3VlJywnVXRpbGlzZXInLCdWZXVpbGxleiB1dGlsaXNlciBsXCd1bmUgZGVzIGV4dGVuc2lvbnMgJXMuJywnTGUgZmljaGllciBleGlzdGUuJywnVHlwZXMgdXRpbGlzYXRldXInLCdOb21icmVzJywnRGF0ZSBldCBoZXVyZScsJ0NoYcOubmVzJywnQmluYWlyZXMnLCdSw6lzZWF1JywnR8Opb23DqXRyaWUnLCdMaXN0ZXMnLCfDiWRpdGV1cicsJ1V0aWxpc2F0ZXVyJywnTW90IGRlIHBhc3NlJywnQXV0aGVudGlmaWNhdGlvbicsJ0F1dGhlbnRpZmljYXRpb24gcGVybWFuZW50ZScsJ05vdXZlbCDDqWzDqW1lbnQnLCdEZXJuacOocmUgcGFnZScsYXJyYXkoJyVkIG9jdGV0JywnJWQgb2N0ZXRzJyksJyQ1LyQzLyQxJywnUmVjaGVyY2hlcicsJ25cJ2ltcG9ydGUgb8O5JywnVHJpZXInLCdMaW1pdGUnLCdBY3Rpb24nLCdTZWxlY3QnLCdDb3VycmllbCcsJ0RlJywnU3VqZXQnLCdJbnPDqXJlcicsJ1Bpw6hjZXMgam9pbnRlcycsJ0Vudm95ZXInLGFycmF5KCclZCBtZXNzYWdlIGEgw6l0w6kgZW52b3nDqS4nLCclZCBtZXNzYWdlcyBvbnQgw6l0w6kgZW52b3nDqXMuJyksJ21haW50ZW5hbnQnLCdISDpNTTpTUycsJ2pqL21tL1thYWFhXScsJ0TDqWNvbm5leGlvbicsJ0FmZmljaGVyIGxlcyBkb25uw6llcycsJ2x0cicsJ1JlbnZveWVyIGxlcyBkb25uw6llcyBQT1NUID8nLCdTZXJ2ZXVyJywnVG9rZW4gQ1NSRiBpbnZhbGlkZS4gVmV1aWxsZXogcsOpZW52b3llciBsZSBmb3JtdWxhaXJlLicsJ0F1IHJldm9pciAhJywnVmV1aWxsZXogYWN0aXZlciBsZXMgc2Vzc2lvbnMuJywnU2Vzc2lvbiBleHBpcsOpZSwgdmV1aWxsZXogdm91cyBhdXRoZW50aWZpZXIgw6Agbm91dmVhdS4nLCdBdXRoZW50aWZpY2F0aW9uIMOpY2hvdcOpZS4nLCdFeHRlbnNpb24gaW50cm91dmFibGUnLCdBdWN1bmUgZGVzIGV4dGVuc2lvbnMgUEhQIHN1cHBvcnTDqWVzICglcykgblwnZXN0IGRpc3BvbmlibGUuJywnRG9ubsOpZXMgUE9TVCB0cm9wIGdyYW5kZXMuIFLDqWR1aXNleiBsYSB0YWlsbGUgZGVzIGRvbm7DqWVzIG91IGF1Z21lbnRleiBsYSB2YWxldXIgZGUgJXMgZGFucyBsYSBjb25maWd1cmF0aW9uIGRlIFBIUC4nLCdMXCfDqWzDqW1lbnQgYSDDqXTDqSBzdXBwcmltw6kuJywnTFwnw6lsw6ltZW50IGEgw6l0w6kgbW9kaWZpw6kuJywnTFwnw6lsw6ltZW50JXMgYSDDqXTDqSBpbnPDqXLDqS4nLCdNb2RpZmllcicsJ0F1Y3VuIHLDqXN1bHRhdC4nLCdTYXV2ZWdhcmRlcicsJ1NhdXZlZ2FyZGVyIGV0IGNvbnRpbnVlciBsXCfDqWRpdGlvbicsJ1NhdXZlZ2FyZGVyIGV0IGluc8OpcmVyIGxlIHByb2NoYWluJywnRWZmYWNlcicsYXJyYXkoJyVkIMOpbMOpbWVudCBhIMOpdMOpIG1vZGlmacOpLicsJyVkIMOpbMOpbWVudHMgb250IMOpdMOpIG1vZGlmacOpcy4nKSwnRG91YmxlLWNsaXF1ZXogc3VyIHVuZSB2YWxldXIgcG91ciBsYSBtb2RpZmllci4nLGFycmF5KCclZCBsaWduZSBhIMOpdMOpIGltcG9ydMOpZS4nLCclZCBsaWduZXMgb250IMOpdMOpIGltcG9ydMOpZXMuJyksJ0ltcG9zc2libGUgZGUgc8OpbGVjdGlvbm5lciBsYSB0YWJsZScsJ21vZGlmaWVyJywnUmVsYXRpb25zJywnVXRpbGlzZXogbGUgbGllbiAibW9kaWZpZXIiIHBvdXIgbW9kaWZpZXIgY2V0dGUgdmFsZXVyLicsJ1BhZ2UnLCdkZXJuacOocmUnLGFycmF5KCclZCBsaWduZScsJyVkIGxpZ25lcycpLCdyw6lzdWx0YXQgZW50aWVyJywnQ2xvbmVyJywnRXhwb3J0ZXInLCdJbXBvcnRlcicsJ1JlY2hlcmNoZXIgZGFucyBsZXMgdGFibGVzJywnVGFibGUnLCdMaWduZXMnLCcsJywnVG91dCBtb2RpZmllcicpO2JyZWFrO2Nhc2UiaXQiOiRUPWFycmF5KCdTaWN1cm8/JywnQ2FyaWNhbWVudG8gZGVsIGZpbGUgbm9uIHJpdXNjaXRvLicsJ0xhIGRpbWVuc2lvbmUgbWFzc2ltYSBkZWwgZmlsZSDDqCAlc0IuJywnSWwgZmlsZSBub24gZXNpc3RlLicsJ3Z1b3RvJywnb3JpZ2luYWxlJywnTm8gdGFiZWxsZS4nLCdMaW5ndWEnLCdVc2EnLCdVc2EgdW5hIGRlbGxlIGVzdGVuc2lvbmkgJXMuJywnSWwgZmlsZSBlc2lzdGUgZ2nDoC4nLCdUaXBpIGRlZmluaXRpIGRhbGxcJ3V0ZW50ZScsJ051bWVyaScsJ0RhdGEgZSBvcmEnLCdTdHJpbmdoZScsJ0JpbmFyaScsJ1JldGUnLCdHZW9tZXRyaWEnLCdMaXN0ZScsJ0VkaXRvcicsJ1V0ZW50ZScsJ1Bhc3N3b3JkJywnQXV0ZW50aWNhemlvbmUnLCdMb2dpbiBwZXJtYW5lbnRlJywnTnVvdm8gZWxlbWVudG8nLCdVbHRpbWEgcGFnaW5hJyxhcnJheSgnJWQgYnl0ZScsJyVkIGJ5dGVzJyksJyQ1LyQzLyQxJywnQ2VyY2EnLCdvdnVucXVlJywnT3JkaW5hJywnTGltaXRlJywnQXppb25lJywnU2VsZXppb25hJywnRS1tYWlsJywnRGEnLCdPZ2dldHRvJywnSW5zZXJpc2NpJywnQWxsZWdhdGknLCdJbnZpYScsYXJyYXkoJyVkIGUtbWFpbCBpbnZpYXRhLicsJyVkIGUtbWFpbCBpbnZpYXRlLicpLCdhZGVzc28nLCdISDpNTTpTUycsJ2RkL21tL1t5eXl5XScsJ0VzY2knLCdWaXN1YWxpenphIGRhdGknLCdsdHInLCdSZWludmlvIGkgZGF0aSBQT1NUPycsJ1NlcnZlcicsJ1Rva2VuIENTUkYgbm9uIHZhbGlkby4gUmVpbnZpYSBsYSByaWNoaWVzdGEuJywnVXNjaXRhIGVmZmV0dHVhdGEgY29uIHN1Y2Nlc3NvLicsJ0xlIHNlc3Npb25pIGRldm9ubyBlc3NlcmUgYWJpbGl0YXRlLicsJ1Nlc3Npb25lIHNjYWR1dGEsIGF1dGVudGljYXJzaSBkaSBudW92by4nLCdDcmVkZW56aWFsaSBub24gdmFsaWRlLicsJ0VzdGVuc2lvbmkgbm9uIHByZXNlbnRpJywnTmVzc3VuYSBkZWxsZSBlc3RlbnNpb25pIFBIUCBzdXBwb3J0YXRlICglcykgZGlzcG9uaWJpbGUuJywnVHJvcHBpIGRhdGkgdmlhIFBPU1QuIFJpZHVycmUgaSBkYXRpIG8gYXVtZW50YXJlIGxhIGRpcmV0dGl2YSBkaSBjb25maWd1cmF6aW9uZSAlcy4nLCdFbGVtZW50byBlbGltaW5hdG8uJywnRWxlbWVudG8gYWdnaW9ybmF0by4nLCdFbGVtZW50byVzIGluc2VyaXRvLicsJ01vZGlmaWNhJywnTmVzc3VuYSByaWdhLicsJ1NhbHZhJywnU2FsdmEgZSBjb250aW51YScsJ1NhbHZhIGUgaW5zZXJpc2NpIHVuIGFsdHJvJywnRWxpbWluYScsYXJyYXkoJ0lsIHJpc3VsdGF0byBjb25zaXN0ZSBpbiAlZCBlbGVtZW50by4nLCdJbCByaXN1bHRhdG8gY29uc2lzdGUgaW4gJWQgZWxlbWVudGkuJyksJ0ZhaSBkb3BwaW8gY2xpY2sgc3UgdW4gdmFsb3JlIHBlciBtb2RpZmljYXJsby4nLGFycmF5KCclZCByaWdhIGltcG9ydGF0YS4nLCclZCByaWdoZSBpbXBvcnRhdGUuJyksJ1NlbGV6aW9uZSBkZWxsYSB0YWJlbGxhIG5vbiByaXVzY2l0YScsJ21vZGlmaWNhJywnUmVsYXppb25pJywnVXNhIGlsIGxpbmsgbW9kaWZpY2EgcGVyIG1vZGlmaWNhcmUgcXVlc3RvIHZhbG9yZS4nLCdQYWdpbmEnLCd1bHRpbWEnLGFycmF5KCclZCByaWdhJywnJWQgcmlnaGUnKSwnaW50ZXJvIHJpc3VsdGF0bycsJ0Nsb25hJywnRXNwb3J0YScsJ0ltcG9ydGEnLCdDZXJjYSBuZWxsZSB0YWJlbGxlJywnVGFiZWxsYScsJ1JpZ2hlJywnLicsJ01vZGlmaWNhIHR1dHRvJyk7YnJlYWs7Y2FzZSJldCI6JFQ9YXJyYXkoJ0thcyBvbGVkIGtpbmRlbD8nLCdGYWlsaSDDvGxlc2xhYWRpbWluZSBwb2xlIHbDtWltYWxpay4nLCdNYWtzaW1hYWxuZSBmYWlsaXN1dXJ1cyAlc0IuJywnRmFpbGkgZWkgbGVpdHVkLicsJ3TDvGhpJywnb3JpZ2luYWFsJywnVGFiZWxlaWQgZWkgbGVpdHVkLicsJ0tlZWwnLCdLYXN1dGEnLCdQYWx1biBrYXN1dGEgw7xodCBsYWllbmR1c3Rlc3QgJXMuJywnRmFpbCBqdWJhIGVrc2lzdGVlcmliLicsJ0thc3V0YWphdMO8w7xiaWQnLCdOdW1icmlsaXNlZCcsJ0t1dXDDpGV2IGphIGtlbGxhYWVnJywnVGVrc3RpZCcsJ0JpbmFhcicsJ1bDtXJrIChuZXR3b3JrKScsJ0dlb21lZXRyaWEnLCdMaXN0aWQnLCdSZWRha3RvcicsJ0thc3V0YWphbmltaScsJ1Bhcm9vbCcsJ0xvZ2kgc2lzc2UnLCdKw6R0YSBtaW5kIG1lZWxkZScsJ0xpc2Ega2lyamUnLCdWaWltYW5lIGxlaGVrw7xsZycsYXJyYXkoJyVkIGJhaXQnLCclZCBiYWl0aScpLCckNi4kNC4kMScsJ090c2knLCd2YWhldCBwb2xlJywnU29ydGVlcmknLCdQaWlyYScsJ1RlZ2V2dXMnLCdLdXZhJywnRS1wb3N0JywnS2VsbGVsdCcsJ1BlYWxraXJpJywnU2lzZXN0YScsJ01hbnVzZWQnLCdTYWFkYScsJ1NhYWRldHVkIGtpcmp1OiAlZC4nLCduw7zDvGQnLCdISDpNTTpTUycsJ2QubS5beXl5eV0nLCdMb2dpIHbDpGxqYScsJ1ZhYXRhIGFuZG1laWQnLCdsdHInLCdTYWFkYSBQT1NUIGFuZG1lZCB1dWVzdGk/JywnU2VydmVyJywnU29iaW1hdHUgQ1NSRiwgcGFsdW4gcG9zdGl0YWdlIHZvcm0gdXVlc3RpLicsJ1bDpGxqYWxvZ2ltaW5lIMO1bm5lc3R1cy4nLCdTZXNzaW9vbmlkIHBlYXZhZCBvbGVtYSBsdWJhdHVkLicsJ1Nlc3Npb29uIG9uIGFlZ3VudWQsIHBhbHVuIGxvZ2lnZSB1dWVzdGkgc2lzc2UuJywnRWJha29ycmVrdHNlZCBhbmRtZWQuJywnRWkgbGVpdHVkIGxhaWVuZHVzdCcsJ1NlcnZlcmlzIHBvbGUgw7xodGVnaSB0b2V0YXR1ZCBQSFAgbGFpZW5kdXN0ZXN0ICglcykuJywnUE9TVC1hbmRtZXRlIG1haHQgb24gbGlpYWx0IHN1dXIuIFBhbHVuIHbDpGhlbmRhZ2UgYW5kbWVpZCB2w7VpIHN1dXJlbmRhZ2UgJXMgcGhwLXNlYWRldC4nLCdLdXN0dXRhbWluZSDDtW5uZXN0dXMuJywnVXVlbmRhbWluZSDDtW5uZXN0dXMuJywnS2lyamUlcyBvbiBlZHVrYWx0IGxpc2F0dWQuJywnTXV1ZGEnLCdTaXNzZWthbmRlZCBwdXVkdXZhZC4nLCdTYWx2ZXN0YScsJ1NhbHZlc3RhIGphIGrDpHRrYSBtdXV0bWlzdCcsJ1NhbHZlc3RhIGphIGxpc2EgasOkcmdtaW5lJywnS3VzdHV0YScsJ03DtWp1dGF0dWQga2lyamVpZDogJWQuJywnVsOkw6RydHVzZSBtdXV0bWlzZWtzIHRvcGVsdC1rbGlraSBzZWxsZWwuJywnSW1wb3JkaXRpICVkIHJpZGEuJywnVGFiZWxpIHZhbGltaW5lIGViYcO1bm5lc3R1cycsJ211dWRhJywnU2Vvc2VkJywnVsOkw6RydHVzZSBtdXV0bWlzZWtzIGthc3V0YSBtdXV0bWlzbGlua2kuJywnTGVoZWvDvGxnJywndmlpbWFuZScsJyVkIHJpZGEnLCdUw6RpZWxpa3VkIHR1bGVtdXNlZCcsJ0tsb29uJywnRWtzcG9yZGknLCdJbXBvcmRpJywnT3RzaSBrb2d1IGFuZG1lYmFhc2lzdCcsJ1RhYmVsJywnUmlkdScsJywnLCdNdXVkYSBrw7Vpa2knKTticmVhaztjYXNlImh1IjokVD1hcnJheSgnQml6dG9zIGJlbm5lPycsJ05lbSB0dWRvbSBmZWx0w7ZsdGVuaSBhIGbDoWpsdC4nLCdBIG1heGltw6FsaXMgZsOhamxtw6lyZXQgJXMgQi4nLCdBIGbDoWpsIG5lbSBsw6l0ZXppay4nLCfDvHJlcycsJ2VyZWRldGknLCdOaW5jcyB0w6FibGEuJywnTnllbHYnLCdIYXN6bsOhbCcsJ0hhc3puw6FsamEgYSh6KSAlcyBraXRlcmplc3p0w6lzdC4nLCdBIGbDoWpsIGzDqXRlemlrLicsJ0ZlbGhhc3puw6Fsw7NpIHTDrXB1cycsJ1N6w6FtJywnRMOhdHVtIMOpcyBpZMWRJywnU3rDtnZlZycsJ0JpbsOhcmlzJywnSMOhbMOzemF0JywnR2VvbWV0cmlhJywnTGlzdGEnLCdTemVya2VzenTFkScsJ0ZlbGhhc3puw6Fsw7MnLCdKZWxzesOzJywnQmVsw6lww6lzJywnRW1sw6lrZXp6IHLDoW0nLCfDmmogdMOpdGVsJywnVXRvbHPDsyBvbGRhbCcsYXJyYXkoJyVkIGLDoWp0JywnJWQgYsOhanQnLCclZCBiw6FqdCcpLCckNi4kNC4kMScsJ0tlcmVzw6lzJywnYsOhcmhvbCcsJ1NvcmJhIHJlbmRlesOpcycsJ2tvcmzDoXQnLCdNxbF2ZWxldCcsJ0tpdsOhbGFzenTDoXMnLCdFLW1haWwnLCdGZWxhZMOzJywnVMOhcmd5JywnQmVzesO6cicsJ0NzYXRvbG3DoW55JywnS8O8bGTDqXMnLGFycmF5KCclZCBlLW1haWwgZWxrw7xsZHZlLicsJyVkIGUtbWFpbCBlbGvDvGxkdmUuJywnJWQgZS1tYWlsIGVsa8O8bGR2ZS4nKSwnbW9zdCcsJ8Ozw7M6cHA6bW0nLCdbeXl5eV0ubS5kJywnS2lsw6lww6lzJywnVGFydGFsb20nLCdsdHInLCfDmmpyYWvDvGxkaSBhIFBPU1QgYWRhdG9rYXQ/JywnU3plcnZlcicsJ8OJcnbDqW55dGVsZW4gQ1NSRiBhem9ub3PDrXTDsy4gS8O8bGRkIMO6anJhIGF6IMWxcmxhcG90LicsJ1Npa2VyZXMga2lsw6lww6lzLicsJ0EgbXVua2FtZW5ldGVrbmVrIChzZXNzaW9uKSBlbmdlZMOpbHllenZlIGtlbGwgbGVubmllLicsJ011bmthbWVuZXQgbGVqw6FydCwgamVsZW50a2V6eiBiZSDDumpyYS4nLCfDiXJ2w6lueXRlbGVuIGFkYXRvay4nLCdOaW5jcyBraXRlcmplc3p0w6lzJywnTmluY3MgZWd5IGVsw6lyaGV0xZEgdMOhbW9nYXRvdHQgUEhQIGtpdGVyamVzenTDqXMgKCVzKSBzZW0uJywnVMO6bCBzb2sgYSBQT1NUIGFkYXQhIENzw7Zra2VudHNkIGF6IGFkYXQgbcOpcmV0w6l0LCB2YWd5IG7DtnZlbGQgYSAlcyBiZcOhbGzDrXTDoXN0LicsJ0EgdMOpdGVsIHTDtnLDtmx2ZS4nLCdBIHTDqXRlbCBmcmlzc8OtdHZlLicsJyVzIHTDqXRlbCBiZXN6w7pydmEuJywnU3plcmtlc3p0JywnTmluY3MgbWVnamVsZW7DrXRoZXTFkSBlcmVkbcOpbnkuJywnTWVudMOpcycsJ01lbnTDqXMgw6lzIHN6ZXJrZXN6dMOpcyBmb2x5dGF0w6FzYScsJ01lbnTDqXMgw6lzIMO6amF0IGJlc3rDunInLCdUw7ZybMOpcycsYXJyYXkoJyVkIHTDqXRlbCDDqXJpbnRldHQuJywnJWQgdMOpdGVsIMOpcmludGV0dC4nLCclZCB0w6l0ZWwgw6lyaW50ZXR0LicpLCdLYXR0aW50cyBrw6l0c3plciBheiDDqXJ0w6lrcmUgYSBzemVya2VzenTDqXNoZXouJyxhcnJheSgnJWQgc29yIGltcG9ydMOhbHZhLicsJyVkIHNvciBpbXBvcnTDoWx2YS4nLCclZCBzb3IgaW1wb3J0w6FsdmEuJyksJ05lbSB0dWRvbSBraXbDoWxhc3p0YW5pIGEgdMOhYmzDoXQnLCdzemVya2VzenQnLCdSZWzDoWNpw7MnLCdIYXN6bsOhbGQgYSBzemVya2VzenTDqXMgaGl2YXRrb3rDoXN0IGV6ZW4gw6lydMOpayBtw7Nkb3PDrXTDoXPDoWhvei4nLCdvbGRhbCcsJ3V0b2xzw7MnLGFycmF5KCclZCBzb3InLCclZCBzb3InLCclZCBzb3InKSwnw7Zzc3plcyBlcmVkbcOpbnl0IG11dGF0w6FzYScsJ0tsw7Nub3onLCdFeHBvcnQnLCdJbXBvcnTDoWzDoXMnLCdLZXJlc8OpcyBhIHTDoWJsw6FrYmFuJywnVMOhYmxhJywnT3N6bG9wJywnICcsJ8OWc3N6ZXMgc3plcmtlc3p0w6lzZScpO2JyZWFrO2Nhc2UicGwiOiRUPWFycmF5KCdDenkgamVzdGXFmyBwZXdpZW4/JywnV2dyYW5pZSBwbGlrdSBiecWCbyBuaWVtb8W8bGl3ZS4nLCdNYWtzeW1hbG5hIHdpZWxrb8WbxIcgcGxpa3UgdG8gJXNCLicsJ1BsaWsgbmllIGlzdG5pZWplLicsJ3B1c3RlJywnYmV6IHptaWFuJywnQnJhayB0YWJlbC4nLCdKxJl6eWsnLCdXeWJpZXJ6JywnUHJvc3rEmSB1xbx5xIcgamVkbmVnbyB6IHJvenN6ZXJ6ZcWEOiAlcy4nLCdQbGlrIGp1xbwgaXN0bmllamUuJywnVHlweSB1xbx5dGtvd25pa2EnLCdOdW1lcnljem5lJywnRGF0YSBpIGN6YXMnLCdUZWtzdG93ZScsJ0JpbmFybmUnLCdTaWXEhycsJ0dlb21ldHJpYScsJ0xpc3R5JywnRWR5dG9yJywnVcW8eXRrb3duaWsnLCdIYXPFgm8nLCdaYWxvZ3VqIHNpxJknLCdaYXBhbWnEmXRhaiBzZXNqxJknLCdOb3d5IHJla29yZCcsJ09zdGF0bmlhIHN0cm9uYScsYXJyYXkoJyVkIGJhanQnLCclZCBiYWp0eScsJyVkIGJhanTDs3cnKSwnJDYuJDQuJDEnLCdTenVrYWonLCdnZHppZWtvbHdpZWsnLCdTb3J0dWonLCdMaW1pdCcsJ0N6eW5ub8WbxIcnLCdwb2thxbwnLCdFLW1haWwnLCdOYWRhd2NhJywnVGVtYXQnLCdEb2RhaicsJ1phxYLEhWN6bmlraScsJ1d5xZtsaWonLGFycmF5KCdXeXPFgmFubyAlZCBlLW1haWwuJywnV3lzxYJhbm8gJWQgZS1tYWlsZS4nLCdXeXPFgmFubyAlZCBlLW1haWxpLicpLCd0ZXJheicsJ0hIOk1NOlNTJywnZC5tLltycnJyXScsJ1d5bG9ndWonLCdQb2thxbwgZGFuZScsJ2x0cicsJ1d5c8WCYcSHIGRhbmUgcG9ub3duaWU/JywnU2Vyd2VyJywnTmllcHJhd2lkxYJvd3kgdG9rZW4gQ1NSRi4gU3Byw7NidWogd3lzxYJhxIcgZm9ybXVsYXJ6IHBvbm93bmllLicsJ1d5bG9nb3dhbm8gcG9tecWbbG5pZS4nLCdXeW1hZ2FuYSBqZXN0IG9ic8WCdWdhIHNlc2ppIHcgUEhQLicsJ1Nlc2phIHd5Z2FzxYJhLCB6YWxvZ3VqIHNpxJkgcG9ub3duaWUuJywnTmllcHJhd2lkxYJvd2UgZGFuZSBsb2dvd2FuaWEuJywnQnJhayByb3pzemVyemVuaWEnLCfFu2FkbmUgeiByb3pzemVyemXFhCBQSFAgdW1vxbxsaXdpYWrEhWN5Y2ggcG/FgsSFY3plbmllIHNpxJkgeiBiYXrEhSBkYW55Y2ggKCVzKSBuaWUgamVzdCBkb3N0xJlwbmUuJywnUHJ6ZXPFgmFubyB6Ynl0IGR1xbxvIGRhbnljaC4gWm1uaWVqc3ogb2JqxJl0b8WbxIcgZGFueWNoIGx1YiB6d2nEmWtzeiB6bWllbm7EhSBrb25maWd1cmFjeWpuxIUgJXMuJywnUmVrb3JkIHpvc3RhxYIgdXN1bmnEmXR5LicsJ1Jla29yZCB6b3N0YcWCIHpha3R1YWxpem93YW55LicsJ1Jla29yZCVzIHpvc3RhxYIgZG9kYW55LicsJ0VkeXR1aicsJ0JyYWsgcmVrb3Jkw7N3LicsJ1phcGlzeiB6bWlhbnknLCdaYXBpc3ogaSBrb250eW51dWogZWR5Y2rEmScsJ1phcGlzeiBpIGRvZGFqIG5hc3TEmXBueScsJ1VzdcWEJyxhcnJheSgnWm1pZW5pb25vICVkIHJla29yZC4nLCdabWllbmlvbm8gJWQgcmVrb3JkeS4nLCdabWllbmlvbm8gJWQgcmVrb3Jkw7N3LicpLCdLbGlrbmlqIHBvZHfDs2puaWUgd2FydG/Fm8SHLCBhYnkgasSFIGVkeXRvd2HEhy4nLGFycmF5KCclZCByZWtvcmQgem9zdGHFgiB6YWltcG9ydG93YW55LicsJyVkIHJla29yZHkgem9zdGHFgnkgemFpbXBvcnRvd2FuZS4nLCclZCByZWtvcmTDs3cgem9zdGHFgm8gemFpbXBvcnRvd2FueWNoLicpLCdOaWUgdWRhxYJvIHNpxJkgcG9icmHEhyBkYW55Y2ggeiB0YWJlbGknLCdlZHl0dWonLCdSZWxhY2plJywnVcW8eWogbGlua3UgZWR5Y2ppIGFieSB6bWllbmnEhyB0xJkgd2FydG/Fm8SHLicsJ1N0cm9uYScsJ29zdGF0bmknLGFycmF5KCclZCByZWtvcmQnLCclZCByZWtvcmR5JywnJWQgcmVrb3Jkw7N3JyksJ3d5Ymllcnogd3N6eXN0a2llJywnRHVwbGlrdWonLCdFa3Nwb3J0JywnSW1wb3J0JywnV3lzenVrYWogd2Ugd3N6eXN0a2ljaCB0YWJlbGFjaCcsJ1RhYmVsYScsJ0xpY3piYSByZWtvcmTDs3cnLCcgJywnWm1pZcWEIHR5cCcpO2JyZWFrO2Nhc2UiY2EiOiRUPWFycmF5KCdFc3TDoHMgc2VndXI/JywnSW1wb3NzaWJsZSBhZGp1bnRhciBlbCBmaXR4ZXIuJywnTGEgbWlkYSBtw6B4aW1hIHBlcm1lc2EgZGVsIGZpdHhlciDDqXMgZGUgJXNCLicsJ0VsIGZpdHhlciBubyBleGlzdGVpeC4nLCdidWl0Jywnb3JpZ2luYWwnLCdObyBoaSBoYSBjYXAgdGF1bGEuJywnSWRpb21hJywnVXRpbGl0emEnLCdTaSB1cyBwbGF1LCB1dGlsaXR6YSB1bmEgZGUgbGVzIGV4dGVuc2lvbnMgJXMuJywnRWwgZml0eGVyIGphIGV4aXN0ZWl4LicsJ1RpcHVzIGRlIGxcJ3VzdWFyaScsJ05vbWJyZXMnLCdEYXRhIGkgaG9yYScsJ0NhZGVuZXMnLCdCaW5hcmknLCdYYXJ4YScsJ0dlb21ldHJpYScsJ0xsaXN0ZXMnLCdFZGl0b3InLCdOb20gZFwndXN1YXJpJywnQ29udHJhc2VueWEnLCdJbmljaWEgbGEgc2Vzc2nDsycsJ1Nlc3Npw7MgcGVybWFuZW50JywnTm91IGVsZW1lbnQnLCdEYXJyZXJhIHBsYW5hJyxhcnJheSgnJWQgYnl0ZScsJyVkIGJ5dGVzJyksJyQ1LyQzLyQxJywnQ2VyY2EnLCdhIHF1YWxzZXZvbCBsbG9jJywnT3JkZW5hJywnTMOtbWl0JywnQWNjacOzJywnU2VsZWNjaW9uYScsJ0NvcnJldSBlbGVjdHLDsm5pYycsJ0RlJywnQXNzdW1wdGUnLCdJbnNlcmVpeCcsJ0FkanVuY2lvbnMnLCdFbnZpYScsYXJyYXkoJ1NcJ2hhIGVudmlhdCAlZCBjb3JyZXUgZWxlY3Ryw7JuaWMuJywnU1wnaGFuIGVudmlhdCAlZCBjb3JyZXVzIGVsZWN0csOybmljcy4nKSwnYXJhJywnSEg6TU06U1MnLCdkZC9tbS9bYWFhYV0nLCdEZXNjb25uZWN0YScsJ1NlbGVjY2lvbmEgZGFkZXMnLCdsdHInLCdUb3JuYSBhIGVudmlhciBsZXMgZGFkZXMgUE9TVD8nLCdTZXJ2aWRvcicsJ1Rva2VuIENTUkYgaW52w6BsaWQuIFRvcm5hIGEgZW52aWFyIGVsIGZvcm11bGFyaS4nLCdEZXNjb25uZXhpw7MgY29ycmVjdGEuJywnQ2FsIHF1ZSBlc3RpZ3VpIHBlcm3DqHMgbFwndXMgZGUgc2Vzc2lvbnMuJywnTGEgc2Vzc2nDsyBoYSBleHBpcmF0LCB0b3JuYSBhIGluaWNpYXItbmUgdW5hLicsJ0NyZWRlbmNpYWxzIGludsOgbGlkcy4nLCdDYXAgZXh0ZW5zacOzJywnTm8gaGkgaGEgY2FwIGRlIGxlcyBleHRlbnNpb25zIFBIUCBzb3BvcmF0YWRlcyAoJXMpIGRpc3BvbmlibGUuJywnTGVzIGRhZGVzIFBPU1Qgc8OzbiBtYXNzYSBncmFucy4gUmVkdWVpeCBsZXMgZGFkZXMgbyBpbmNyZW1lbnRhIGxhIGRpcmVjdGl2YSBkZSBjb25maWd1cmFjacOzICVzLicsJ1NcJ2hhIHN1cHJtaXQgbFwnZWxlbWVudC4nLCdTXCdoYSBhY3R1YWxpdHphdCBsXCdlbGVtZW50LicsJ1NcJ2hhIGluc2VydGF0IGxcJ2VsZW1lbnQlcy4nLCdFZGl0YScsJ05vIGhpIGhhIGNhcCByZWdpc3RyZS4nLCdEZXNhJywnRGVzYSBpIHNlZ3VlaXggZWRpdGFudCcsJ0Rlc2EgaSBpbnNlcmVpeCBlbCBzZWfDvGVudCcsJ1N1cHJpbWVpeCcsYXJyYXkoJ1NcJ2hhIG1vZGlmaWNhdCAlZCBlbGVtZW50LicsJ1NcJ2hhbiBtb2RpZmljYXQgJWQgZWxlbWVudHMuJyksJ0ZlcyB1biBkb2JsZSBjbGljIGEgdW4gdmFsb3IgcGVyIG1vZGlmaWNhci1sby4nLGFycmF5KCdTXCdoYSBpbXBvcnRhdCAlZCByZWdpc3RyZS4nLCdTXCdoYW4gaW1wb3J0YXQgJWQgcmVnaXN0cmVzLicpLCdJbXBvc3NpYmxlIHNlbGVjY2lvbmFyIGxhIHRhdWxhJywnZWRpdGEnLCdSZWxhY2lvbnMnLCdVdGlsaXR6YSBsXCdlbmxsYcOnIGRcJ2VkaWNpw7MgcGVyIG1vZGlmaWNhciBhcXVlc3QgdmFsb3IuJywnUGxhbmEnLCdkYXJyZXJhJyxhcnJheSgnJWQgcmVnaXN0cmUnLCclZCByZWdpc3RyZXMnKSwndG90cyBlbHMgcmVzdWx0YXRzJywnQ2xvbmEnLCdFeHBvcnRhJywnSW1wb3J0YScsJ0NlcmNhIGRhZGVzIGVuIGxlcyB0YXVsZXMnLCdUYXVsYScsJ0ZpbGVzJywnLCcsJ0VkaXRhLWhvIHRvdCcpO2JyZWFrO2Nhc2UicHQiOiRUPWFycmF5KCdFc3TDoSBzZWd1cm8/JywnTsOjbyDDqSBwb3NzaXZlbCBlbnZpYXIgbyBhcnF1aXZvLicsJ1RhbWFuaG8gbcOheGltbyBkbyBhcnF1aXZvIMOpICVzQi4nLCdBcnF1aXZvIG7Do28gZXhpc3RlLicsJ3ZhemlvJywnb3JpZ2luYWwnLCdOw6NvIGV4aXN0ZW0gdGFiZWxhcy4nLCdJZGlvbWEnLCdVc2FyJywnUG9yIGZhdm9yIHVzZSB1bWEgZGFzIGV4dGVuc8O1ZXMgJXMuJywnQXJxdWl2byBqYSBleGlzdGUuJywnVGlwb3MgZGVmaW5pZG8gcGVsbyB1c3VhcmlvJywnTsO6bWVyb3MnLCdEYXRhIGUgaG9yYScsJ0NhZGVuYScsJ0JpbmFyaW8nLCdSZWRlJywnR2VvbWV0csOtYScsJ0xpc3RhcycsJ0VkaXRvcicsJ1VzdWFyaW8nLCdTZW5oYScsJ0VudHJhcicsJ1NhbHZhciBTZW5oYScsJ05vdm8gUmVnaXN0cm8nLCdVbHRpbWEgcMOhZ2luYScsYXJyYXkoJyVkIGJ5dGUnLCclZCBieXRlcycpLCckNS8kMy8kMScsJ1Byb2N1cmFyJywncXVhbHF1ZXIgbG9jYWwnLCdPcmRlbmFyJywnTGltaXRlJywnQcOnw6NvJywnU2VsZWNpb25hcicsJ0UtbWFpbCcsJ0RlJywnQXNzdW50bycsJ0luc2VyaXInLCdBbmV4b3MnLCdFbnZpYXInLGFycmF5KCclZCBlbWFpbCBlbnZpYWRvLicsJyVkIGVtYWlscyBlbnZpYWRvcy4nKSwnYWdvcmEnLCdISDpNTTpTUycsJ2RkL21tL1thYWFhXScsJ1NhaXInLCdTZWxlY2lvbmFyIGRhZG9zJywnbHRyJywnUmVzZW5kIFBPU1QgZGF0YT8nLCdTZXJ2aWRvcicsJ1Rva2VuIENTUkYgaW52w6FsaWRvLiBFbnZpYXIgbyBmb3JtdWxhcmlvIG5vdmFtZW50ZS4nLCdTYWlkYSBiZW0gc3VjZWRpZGEuJywnRGV2ZW0gZXN0YXIgaGFiaWxpdGFkYXMgYXMgc2Vzc8O1ZXMuJywnU2Vzc8OjbyBleHBpcmFkYSwgcG9yIGZhdm9yIGVudHJlIHN1YSBDaGF2ZSBkZSBub3ZvLicsJ0lkZW50aWZpY2HDp8OjbyBpbnbDoWxpZGEuJywnTsOjbyBoYSBleHRlbnNpb24nLCdOZW5odW1hIGRhcyBleHRlbnPDtWVzIFBIUCBzb3BvcnRhZGFzICglcykgZXN0w6EgZGlzcG9uaXZlbC4nLCdQT1NUIGRhdGEgZGVtYXNpYWRvIGdyYW5kZS4gUmVkdXphIG8gdGFtYW5obyBvdSBhdW1lbnRlIGEgZGlyZXRpdmEgZGUgY29uZmlndXJhw6fDo28gJXMuJywnUmVnaXN0cm8gZWxpbWluYWRvLicsJ1JlZ2lzdHJvIG1vZGlmaWNhZG8uJywnUmVnaXN0cm8lcyBpbnNlcmlkby4nLCdNb2RpZmljYXInLCdOw6NvIGV4aXN0ZW0gcmVnaXN0cm9zLicsJ1NhbHZhcicsJ1NhbHZhciBlIGNvbnRpbnVhciBlZGl0YW5kbycsJ1NhbHZhciBlIGluc2VyaXIgb3V0cm8nLCdBcGFnYXInLGFycmF5KCclZCDDrXRlbSBhZmV0YWRvLicsJyVkIGl0ZW5zIGFmZXRhZG9zLicpLCdEb2JsZS1jbGljIHNvYnJlIG8gdmFsb3IgcGFyYSBlZGl0YS1sby4nLGFycmF5KCclZCByZWdpc3RybyBpbXBvcnRhZG8uJywnJWQgcmVnaXN0cm9zIGltcG9ydGFkb3MuJyksJ07Do28gw6kgcG9zc2l2ZWwgc2VsZWNpb25hciBhIFRhYmVsYScsJ21vZGlmaWNhcicsJ1JlbGHDp8O1ZXMnLCdVdGlsaXplIG8gbGluayBtb2RpZmljYXIgcGFyYSBhbHRlcmFyLicsJ1DDoWdpbmEnLCfDumx0aW1vJyxhcnJheSgnJWQgcmVnaXN0cm8nLCclZCByZWdpc3Ryb3MnKSwncmVzdWx0YWRvIGNvbXBsZXRvJywnQ2xvbmFyJywnRXhwb3J0YXInLCdJbXBvcnRhcicsJ0J1c2NhciBkYWRvcyBuYXMgVGFiZWxhcycsJ1RhYmVsYScsJ1JlZ2lzdHJvcycsJyAnLCdFc3F1ZW1hIGludsOhbGlkby4nKTticmVhaztjYXNlInNsIjokVD1hcnJheSgnU3RlIHByZXByacSNYW5pPycsJ05lIG1vcmVtIG5hbG/Fvml0aSBkYXRvdGVrZS4nLCdOYWp2ZcSNamEgdmVsaWtvc3QgZGF0b3Rla2UgamUgJXNCLicsJ0RhdG90ZWthIG5lIG9ic3RhamEuJywncHJhem5vJywnb3JpZ2luYWwnLCdOaSB0YWJlbC4nLCdKZXppaycsJ1Vwb3JhYmknLCdQcm9zaW0sIHVwb3JhYml0ZSBlbmVnYSBvZCBkb2RhdGtvdiAlcy4nLCdEYXRvdGVrYSBvYnN0YWphLicsJ1Vwb3JhYm5pxaFraSB0aXBpJywnxaB0ZXZpbGEnLCdEYXR1bSBpbiDEjWFzJywnTml6aScsJ0JpbmFybmknLCdNcmXFvm5pJywnR2VvbWV0csSNbmknLCdTZXpuYW1pJywnVXJlamV2YWxuaWsnLCdVcG9yYWJuacWha28gaW1lJywnR2VzbG8nLCdQcmlqYXZpIHNlJywnVHJham5hIHByaWphdmEnLCdOb3YgcHJlZG1ldCcsJ1phZG5qYSBzdHJhbicsYXJyYXkoJyVkIGJhanQnLCclZCBiYWp0YScsJyVkIGJhanRpJywnJWQgYmFqdG92JyksJyQ2LiQ0LiQxJywnScWhxI1pJywna2plcmtvbGknLCdTb3J0aXJhaicsJ0xpbWl0YScsJ0RlamFuamUnLCdJemJlcmknLCdFLW1haWwnLCdPZCcsJ1phZGV2YScsJ1ZzdGF2aScsJ1ByaXBvbmtlJywnUG/FoWxqaScsYXJyYXkoJ1Bvc2xhbiBqZSAlZCBlLW1haWwuJywnUG9zbGFuYSBzdGEgJWQgZS1tYWlsYS4nLCdQb3NsYW5pIHNvICVkIGUtbWFpbGkuJywnUG9zbGFuaWggamUgJWQgZS1tYWlsb3YuJyksJ3pkYWonLCdISDpNTTpTUycsJ2QubS5bcnJycl0nLCdPZGphdmkgc2UnLCdJemJlcmkgcG9kYXRrZScsJ2x0cicsJ1Jlc2VuZCBQT1NUIGRhdGE/JywnU3RyZcW+bmlrJywnTmV2ZWxqYXZlbiB0b2tlbiBDU1JGLiBQb8WhbGppdGUgZm9ybXVsYXIgxaFlIGVua3JhdC4nLCdQcmlqYXZhIHVzcGXFoW5hLicsJ1BvZHBvcmEgemEgc2VqZSBtb3JhIGJpdGkgb21vZ2/EjWVuYS4nLCdTZWphIGplIHBvdGVrbGEuIFByb3NpbW8sIHBvbm92bm8gc2UgcHJpamF2aXRlLicsJ05ldmVsamF2bmUgcHJhdmljZS4nLCdCcmV6IGRvZGF0a292JywnTm9iZW4gb2QgcG9kcHJ0aWggZG9kYXRrb3YgemEgUEhQICglcykgbmkgbmEgdm9sam8uJywnUHJldmVsaWtvIHBvZGF0a292IHphIFBPU1QuIFptYW5qxaFhanRlIMWhdGV2aWxvIHBvZGF0a292IGFsaSBwb3ZlxI1hanRlIG5hc3Rhdml0ZXYgemEgJXMuJywnUHJlZG1ldCBqZSBpemJyaXNhbi4nLCdQcmVkbWV0IGplIHBvc29kb2JsamVuLicsJ1ByZWRtZXQlcyBqZSB2c3RhdmxqZW4uJywnVXJlZGknLCdOaSB2cnN0aWMuJywnU2hyYW5pJywnU2hyYW5pIGluIG5hZGFsanVqIHogdXJlamFuamVtJywnU2hyYW5pIGluIHZzdGF2aSB0ZWtzdCcsJ0l6YnJpxaFpJyxhcnJheSgnU3ByZW1lbmplbiBqZSAlZCBwcmVkbWV0LicsJ1NwcmVtZW5qZW5hIHN0YSAlZCBwcmVkbWV0YS4nLCdTcHJlbWVuamVuaSBzbyAlZCBwcmVkbWV0aS4nLCdTcHJlbWVuamVuaWggamUgJWQgcHJlZG1ldG92LicpLCdEdm9qbmkga2xpayBuYSB2cmVkbm9zdCB6YSB1cmVqYW5qZS4nLGFycmF5KCdVdm/FvmVuYSBqZSAlZCB2cnN0aWNhLicsJ1V2b8W+ZW5pIHN0YSAlZCB2cnN0aWNpLicsJ1V2b8W+ZW5lIHNvICVkIHZyc3RpY2UuJywnVXZvxb5lbmloIGplICVkIHZyc3RpYy4nKSwnTmUgbW9yZW0gaXpicmF0aSB0YWJlbGUnLCd1cmVkaScsJ1JlbGFjaWpza2knLCdVcG9yYWJpdGUgdXJlamFuamUgcG92ZXphdmUgemEgc3ByZW1pbmphbmplIHRlIHZyZWRub3N0aS4nLCdTdHJhbicsJ1phZG5qYScsYXJyYXkoJyVkIHZyc3RpY2EnLCclZCB2cnN0aWNpJywnJWQgdnJzdGljZScsJyVkIHZyc3RpYycpLCdjZWwgcmF6dWx0YXQnLCdLbG9uaXJhaicsJ0l6dm96aScsJ1V2b3ppJywnScWhxI1lIHBvZGF0a2UgcG8gdGFiZWxhaCcsJ1RhYmVsYScsJ1Zyc3RpYycsJyAnLCdTcHJlbWVuaSB0aXAnKTticmVhaztjYXNlImx0IjokVD1hcnJheSgnVGlrcmFpPycsJ05lcGF2eWtvIMSva2VsdGkgZmFpbG8uJywnTWFrc2ltYWx1cyBmYWlsbyBkeWRpcyAtICVzQi4nLCdGYWlsYXMgbmVlZ3ppc3R1b2phLicsJ3R1xaHEjWlhJywnb3JpZ2luYWxhcycsJ07El3JhIGxlbnRlbGnFsy4nLCdLYWxiYScsJ05hdWRvdGknLCdOYXVkb2tpdGUgdmllbsSFIGnFoSBwbMSXdGluacWzICVzLicsJ0ZhaWxhcyBlZ3ppc3R1b2phLicsJ1ZhcnRvdG9qxbMgdGlwYWknLCdTa2FpxI1pYWknLCdEYXRhIGlyIGxhaWthcycsJ1Rla3N0YXMnLCdEdmVqZXRhaW5pcycsJ1RpbmtsYXMnLCdHZW9tZXRyaWphJywnU8SFcmHFoWFpJywnUmVkYWt0b3JpdXMnLCdWYXJ0b3RvamFzJywnU2xhcHRhxb5vZGlzJywnUHJpc2lqdW5ndGknLCdQYXN0b3Z1cyBwcmlzaWp1bmdpbWFzJywnTmF1amFzIMSvcmHFoWFzJywnUGFza3V0aW5pcyBwdXNsYXBpcycsYXJyYXkoJyVkIGJhaXRhcycsJyVkIGJhaWdhaScsJyVkIGJhaXTFsycpLCckMS0kMy0kNScsJ0llxaFrb3RpJywndmlzdXInLCdSaWtpdW90aScsJ0xpbWl0YXMnLCdWZWlrc21hcycsJ0F0cmlua3RpJywnRWwuIHBhxaF0YXMnLCdOdW8nLCdBbnRyYcWhdMSXJywnxK5yYcWheXRpJywnUHJpZWRhaScsJ1NpxbNzdGknLGFycmF5KCdJxaFzacWzc3RhcyAlZCBsYWnFoWthcy4nLCdJxaFzacWzc3RpICVkIGxhacWha2FpLicsJ0nFoXNpxbNzdGEgJWQgbGFpxaFrxbMuJyksJ2RhYmFyJywnSEg6TU06U1MnLCdbeXl5eV0tbW0tZGQnLCdBdHNpanVuZ3RpJywnQXRyaW5rdGkgZHVvbWVuaXMnLCdsdHInLCdQZXJzacWzc3RpIFBPU1QgZHVvbWVuaXM/JywnU2VydmVyaXMnLCdOZXRlaXNpbmdhcyBDU1JGIHRva2VuYXMuIEJhbmR5a2l0ZSBzacWzc3RpIGZvcm1vcyBkdW9tZW5pcyBkYXIga2FydMSFLicsJ0rFq3MgYXRzaWp1bmfEl3RlIG51byBzaXN0ZW1vcy4nLCdTZXNpasWzIHBhbGFpa3ltYXMgdHVyaSBixat0aSDEr2p1bmd0YXMuJywnU2VzaWpvcyBnYWxpb2ppbWFzIGJhaWfEl3NpLiBQcmlzaWp1bmtpdGUgacWhIG5hdWpvLicsJ05ldGVpc2luZ2kgcHJpc2lqdW5naW1vIGR1b21lbnlzLicsJ07El3JhIHBsxJd0aWlvJywnTsSXcmEgbmVpIHZpZW5vIGnFoSBwYWxhaWtvbcWzIFBIUCBwbMSXdGluacWzICglcykuJywnUGVyIGRhdWcgUE9TVCBkdW9tZW7Fsy4gU3VtYcW+aW5raXRlIGR1b21lbsWzIGtpZWvEryBhcmJhIHBhZGlkaW5raXRlIGtvbmZpZ8WrcmFjaWpvcyBudXN0YXR5bcSFICVzLicsJ8SucmHFoWFzIGnFoXRyaW50YXMuJywnxK5yYcWhYXMgcGFrZWlzdGFzLicsJ8SucmHFoWFzJXMgc3VrdXJ0YXMuJywnUmVkYWd1b3RpJywnTsSXcmEgxK9yYcWhxbMuJywnScWhc2F1Z290aScsJ0nFoXNhdWdvdGkgaXIgdMSZc3RpIHJlZGFnYXZpbcSFJywnScWhc2F1Z290aSBpciDEr3JhxaF5dGkga2l0xIUnLCdUcmludGknLGFycmF5KCdQYWtlaXN0YXMgJWQgxK9yYcWhYXMuJywnUGFrZWlzdGkgJWQgxK9yYcWhYWkuJywnUGFrZWlzdGFzICVkIMSvcmHFocWzLicpLCdEdSBrYXJ0dXMgc3ByYWd0ZWzEl2tpdGUgcGVseXRlIG5vcsSXZGFtaSByZWRhZ3VvdGkuJyxhcnJheSgnJWQgxK9yYcWhYXMgxK9rZWx0YS4nLCclZCDEr3JhxaFhaSDEr2tlbHRpLicsJyVkIMSvcmHFocWzIMSva2VsdGEuJyksJ05lxK9tYW5vbWEgYXRyaW5rdGkgbGVudGVsxJdzJywncmVkYWd1b3RpJywnUnnFoWlhaScsJ05vcsSXZGFtaSByZWRhZ3VvdGkgcmVpa8WhbcSZIG5hdWRva2l0ZSByZWRhZ2F2aW1vIG51b3JvZMSFLicsJ1B1c2xhcGlzJywncGFza3V0aW5pcycsYXJyYXkoJyVkIMSvcmHFoWFzJywnJWQgxK9yYcWhYWknLCclZCDEr3JhxaHFsycpLCd2aXNhcyByZXp1bHRhdGFzJywnS2xvbnVvdGknLCdFa3Nwb3J0YXMnLCdJbXBvcnRhcycsJ0llxaFrb3RpIGR1b21lbsWzIGxlbnRlbMSXc2UnLCdMZW50ZWzElycsJ8SucmHFoWFpJywnICcsJ0tlaXN0aSB0aXDEhScpO2JyZWFrO2Nhc2UidHIiOiRUPWFycmF5KCdFbWluIG1pc2luPycsJ0Rvc3lhIGfDtm5kZXJpbGVtaXlvci4nLCdCaXIgZG9zeWEgacOnaW4gaXppbiB2ZXJpbGVuIGRvc3lhIHPEsW7EsXLEsSAlc0IuJywnRG9zeWEgbWV2Y3V0IGRlxJ9pbC4nLCdib8WfJywnb3JpamluYWwnLCdUYWJsbyB5b2suJywnRGlsJywnS3VsbGFuJywnJXMgdXphbnTEsWxhcsSxbmRhbiBiaXJpbmkga3VsbGFuxLFuLicsJ0Rvc3lhIG1ldmN1dC4nLCdLdWxsYW7EsWPEsSB0w7xybGVyaScsJ1NhecSxbGFyJywnVGFyaWggdmUgemFtYW4nLCdTw7Z6Y8O8a2xlcicsJ8Swa2lsaScsJ0HEnycsJ0dlb21ldHJpJywnTGlzdGVsZXInLCdEw7x6ZW5sZXlpY2knLCdLdWxsYW7EsWPEsScsJ1Bhcm9sYScsJ0dpcmnFnycsJ0thbMSxY8SxIGdpcmnFnycsJ1llbmkgw7bEn2UnLCdTb24gc2F5ZmEnLGFycmF5KCclZCBiYXl0JywnJWQga2FkYXIgYmF5dCcpLCckNi4kNC4kMScsJ0FyYW1hJywnaGVyaGFuZ2kgYmlyIHllcicsJ1PEsXJhbGEnLCdzxLFuxLFyJywnRXlsZW0nLCdTZcOnJywnRS1wb3N0YScsJ0fDtm5kZXJlbicsJ0tvbnUnLCdFa2xlJywnRWtsZXInLCdHw7ZuZGVyJyxhcnJheSgnJWQgZS1wb3N0YSBkw7ZuZGVyaWxkaS4nLCclZCBrYWRhciBlLXBvc3RhIGfDtm5kZXJpbGRpLicpLCfFn2ltZGknLCdISDpNTTpTUycsJ2QubS5bcnJycl0nLCfDh8Sxa8SxxZ8nLCdWZXJpIHNlw6cnLCdsdHInLCdSZXNlbmQgUE9TVCBkYXRhPycsJ1N1bnVjdScsJ0dlw6dlcnNpeiBDcm9zcy1zaXRlIHJlcXVlc3QgZm9yZ2VyeSAoQ1NSRikgamV0b251LiBGb3J1bXUgdGVrcmFyIHlvbGxhLicsJ0JhxZ9hcsSxeWxhIMOnxLFrxLFsZMSxLicsJ090dXJ1bSBkZXN0ZcSfaSBldGtpbiBvbG1hbMSxZMSxci4nLCdPdHVydW0gc8O8cmVzaSBkb2xkdSwgbMO8dGZlbiB0ZWtyYXIgZ2lyacWfIHlhcMSxbi4nLCdHZcOnZXJzaXoga2ltbGlrLicsJ1V6YW50xLEgeW9rJywnRGVzdGVrbGVuZW4gUEhQIHV6YW50xLFsYXLEsW5kYW4gKCVzKSBoacOnYmlyaSBtZXZjdXQgZGXEn2lsLicsJ8OHb2sgYsO8ecO8ayBQT1NUIHZlcmlzaSwgdmVyaXlpIGF6YWx0xLFuIHlhIGRhIGF5YXIgecO2bmVyZ2VzaW5pIHV5Z3VuIG9sYXJhayB5YXDEsWxhbmTEsXLEsW4uJywnw5bEn2Ugc2lsaW5kaS4nLCfDlsSfZSBnw7xuY2VsbGVuZGkuJywnw5bEn2VsZXIgZWtsZW5kaS4nLCdEw7x6ZW4nLCdTxLFyYSB5b2suJywnS2F5ZGV0JywnS2F5ZGV0IHZlIGTDvHplbmxlbWV5ZSBkZXZhbSBldCcsJ0theWRldCB2ZSBzb25yYWtpbiBla2xlJywnU2lsJyxhcnJheSgnJWQgw7bEn2UgZXRraWxlbmRpLicsJyVkIGthZGFyIMO2xJ9lIGV0a2lsZW5kaS4nKSwnRGXEn2VyaW4gw7x6ZXJpbmUgw6dpZnQgdMSxa2xhecSxbiB2ZSBkZcSfacWfdGlyaW4uJyxhcnJheSgnJWQgc8SxcmEgaXRoYWwgZWRpbGRpLicsJyVkIGthZGFyIHPEsXJhIGl0aGFsIGVkaWxkaS4nKSwnVGFibG8gc2XDp2lsZW1lZGknLCdkw7x6ZW4nLCfEsGxpxZ9raWxlcicsJ0RlxJ9lcmkgZGXEn2nFn3Rpcm1layBpw6dpbiBkw7x6ZW5sZW1lIGJhxJ9sYW50xLFzxLFuxLEga3VsbGFuxLFuLicsJ1NheWZhJywnc29uJyxhcnJheSgnJWQgc8SxcmEpJywnJWQga2FkYXIgc8SxcmEnKSwndMO8bSBzb251w6cnLCdLbG9ubGEnLCfEsGhyYcOnJywnxLB0aGFsJywnVGFibG9sYXJkYSB2ZXJpIGFyYS4nLCdUYWJsbycsJ1PEsXJhbGFyIChSb3dzKScsJyAnLCdUw7xyIGRlxJ9pxZ90aXInKTticmVhaztjYXNlInJvIjokVD1hcnJheSgnRciZdGkgcHJlY2lzPycsJ051IGFtIHB1dHV0IMOubmPEg3JjYSBmaciZaWVydWwgcGUgc2VydmVyLicsJ0ZpyJlpZXJ1bCBtYXhpbSBhZG1pcyAtICVzTy4nLCdByJlhIGZpyJlpZXIgbnUgZXhpc3TEgy4nLCdnb2wnLCdvcmlnaW5hbCcsJ8OObiBiYXphIGRlIGRhdGUgbnUgc3VudCB0YWJlbGUuJywnTGltYmEnLCdBbGVnZScsJ0ZvbG9zacibaSB1bmEgZGluIHVybcSDdG9hcmVsZSBleHRlbnNpaSAlcy4nLCdGaciZaWVydWwgZGVqYSBleGlzdMSDLicsJ1RpcHVyaSBkZSB1dGlsaXphdG9yaScsJ051bcSDcicsJ0RhdGEgyJlpIHRpbXB1bCcsJ8iYaXJlIGRlIGNhcmFjdGVyZScsJ1RpcCBiaW5hcicsJ1JlyJtlYScsJ0dlb21ldHJpZScsJ0xpc3RlJywnRWRpdG9yJywnTnVtZSBkZSB1dGlsaXphdG9yJywnUGFyb2xhJywnSW50csSDJywnTG9nYXJlIHBlcm1hbmVudMSDJywnw45uc2NyaWVyZSBub3XEgycsJ1VsdGltYSBwYWdpbsSDJyxhcnJheSgnJWQgb2N0ZXQnLCclZCBvY3RlyJtpJyksJyQ1LiQzLiQxJywnQ8SDdXRhcmUnLCdvcml1bmRlJywnU29ydGFyZScsJ0xpbWl0JywnQWPIm2l1bmUnLCdTZWxlY3RlYXrEgycsJ1BvyJl0YSBlbGVjdHJvbmljxIMnLCdEZSBsYScsJ1BlbnRydScsJ0luc2VyZWF6xIMnLCdGaciZaWVyZSBhdGHImWF0ZScsJ1RyaW1pdGUnLGFycmF5KCdBIGZvc3QgdHJpbWlzxIMgJWQgc2NyaXNvYXJlLicsJ0F1IGZvc3QgdHJpbWlzZSAlZCBzY3Jpc29yaS4nKSwnYWN1bScsJ0hIOk1NOlNTJywnZGQubW0uW3l5eXldJywnRciZaXJlJywnU2VsZWN0ZWF6xIMnLCdsdHInLCdSZXRyaW1pdGUgZGF0ZWxlIFBPU1Q/JywnU2VydmVyJywnQ1NSRiB0b2tlbiBpbXBvc2liaWwuIFJldHJpbWl0ZSBmb3JtYS4nLCdByJtpIGXImWl0IGN1IHN1Y2Nlcy4nLCdTZXNpdW5pbGUgdHJlYnVpZSBzxIMgZmllIHBvcm5pdGUuJywnVGltcHVsIHNlc2l1bmlpIGEgZXhwaXJhdCwgcm9nIHPEgyB0ZSBsb2doZXppIGRpbiBub3UuJywnTnVtZWxlIGRlIHV0aWxpemF0b3Igc2F1IHBhcm9sYSBlc3RlIGdyZciZaXTEgy4nLCdOdSBlc3RlIGV4dGVuc2llJywnTnUgZXN0ZSBhdmlhYmlsxIMgbmljaSBvIGV4dGVuc2llIHN1cG9ydGF0xIMgKCVzKS4nLCdNZXNhanVsIFBPU1QgZXN0ZSBwcmVhIG1hcmUuIFRyaW1pdGXIm2kgbWFpIHB1yJtpbmUgZGF0ZSBzYXUgbcSDcmnIm2kgcGFyYW1ldHJ1bCBjb25maWd1cmHIm2llaSBkaXJlY3RpdmVpICVzLicsJ8OObnJlZ2lzdHJhcmUgYSBmb3N0IMiZdGVhcnPEgy4nLCfDjm5yZWdpc3RyYXJlIGEgZm9zdCDDrm5ub2l0xIMuJywnw45ucmVnaXN0cmFyZWElcyBhIGZvc3QgaW5zZXJhdMSDLicsJ0VkaXRlYXrEgycsJ051IHN1bnQgw65uc2NyaWVyaS4nLCdTYWx2ZWF6xIMnLCdTYWx2ZWF6xIMgyJlpIGNvbnRpbnXEgyBlZGl0YXJlYScsJ1NhbHZlYXrEgyDImWkgbWFpIGluc2VyZWF6xIMnLCfImHRlcmdlJyxhcnJheSgnQSBmb3N0IG1vZGlmaWNhdMSDICVkIMOubnNjcmllcmUuJywnQXUgZm9zdCBtb2RpZmljYXRlICVkIMOubnNjcmllcmkuJyksJ0R1Ymx1IGNsaWNrIHBlIG8gdmFsb2FyZSBwZW50cnUgYSBvIG1vZGlmaWNhLicsYXJyYXkoJyVkIHLDrm5kIGltcG9ydGF0LicsJyVkIHLDrm5kdXJpIGltcG9ydGF0ZS4nKSwnTnUgYW0gcHV0dXQgc2VsZWN0YSBkYXRlIGRpbiB0YWJlbCcsJ2VkaXRhcmUnLCdSZWxhyJtpaScsJ1ZhbG9hcmUgcG9hdGUgZmkgbW9kaWZpY2F0xIMgY3UgYWp1dG9ydWwgYnV0b251bHVpIMKrbW9kaWZpY8SDwrsuJywnUGFnaW5hJywndWx0aW1hJyxhcnJheSgnJWQgw65uc2NyaWVyZScsJyVkIMOubnNjcmllcmknKSwndG90IHJlenVsdGF0dWwnLCdDbG9uZWF6xIMnLCdFeHBvcnQnLCdJbXBvcnTEgycsJ0NhdXTEgyDDrm4gdGFiZWxlJywnVGFiZWwnLCfDjm5zY3JpZXJpJywnLCcsJ0VkaXRlYXrEgyB0b3QnKTticmVhaztjYXNlInJ1IjokVD1hcnJheSgn0JLRiyDRg9Cy0LXRgNC10L3Riz8nLCfQndC1INGD0LTQsNC70L7RgdGMINC30LDQs9GA0YPQt9C40YLRjCDRhNCw0LnQuyDQvdCwINGB0LXRgNCy0LXRgC4nLCfQnNCw0LrRgdC40LzQsNC70YzQvdGL0Lkg0YDQsNC30YDQtdGI0LXQvdC90YvQuSDRgNCw0LfQvNC10YAg0YTQsNC50LvQsCAtICVzQi4nLCfQotCw0LrQvtCz0L4g0YTQsNC50LvQsCDQvdC1INGB0YPRidC10YHRgtCy0YPQtdGCLicsJ9C/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/RgNCw0LLQu9C10L3QviAlZCDQv9C40YHQtdC8LicpLCfRgdC10LnRh9Cw0YEnLCfQp9CnOtCc0Jw60KHQoScsJ9C00LQu0LzQvC5b0LPQs9Cz0LNdJywn0JLRi9C50YLQuCcsJ9CS0YvQsdGA0LDRgtGMJywnbHRyJywn0JXRidC1INGA0LDQtyDQv9C+0YHQu9Cw0YLRjCDQtNCw0L3QvdGL0LUgUE9TVCDQt9Cw0L/RgNC+0YHQsD8nLCfQodC10YDQstC10YAnLCfQndC10LTQtdC50YHRgtCy0LjRgtC10LvRjNC90YvQuSBDU1JGINGC0L7QutC10L0uINCe0YLQv9GA0LDQstC40YLQtSDRhNC+0YDQvNGDINC10YnRkSDRgNCw0LcuJywn0JLRiyDRg9GB0L/QtdGI0L3QviDQv9C+0LrQuNC90YPQu9C4INGB0LjRgdGC0LXQvNGDLicsJ9Ch0LXRgdGB0LjQuCDQtNC+0LvQttC90Ysg0LHRi9GC0Ywg0LLQutC70Y7Rh9C10L3Riy4nLCfQodGA0L7QuiDQtNC10LnRgdGC0LLQuNGPINGB0LXRgdGB0Lgg0LjRgdGC0LXQuiwg0L3Rg9C20L3QviDRgdC90L7QstCwINCy0L7QudGC0Lgg0LIg0YHQuNGB0YLQtdC80YMuJywn0J3QtdC/0YDQsNCy0LjQu9GM0L3QvtC1INC40LzRjyDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8g0LjQu9C4INC/0LDRgNC+0LvRjC4nLCfQndC10YIg0YDQsNGB0YjQuNGA0LXQvdC40LknLCfQndC1INC00L7RgdGC0YPQv9C90L4g0L3QuCDQvtC00L3QvtCz0L4g0YDQsNGB0YjQuNGA0LXQvdC40Y8g0LjQtyDQv9C+0LTQtNC10YDQttC40LLQsNC10LzRi9GFICglcykuJywn0KHQu9C40YjQutC+0Lwg0LHQvtC70YzRiNC+0Lkg0L7QsdGK0LXQvCBQT1NULdC00LDQvdC90YvRhS4g0J/QvtGI0LvQuNGC0LUg0LzQtdC90YzRiNC40Lkg0L7QsdGK0LXQvCDQtNCw0L3QvdGL0YUg0LjQu9C4INGD0LLQtdC70LjRh9GM0YLQtSDQv9Cw0YDQsNC80LXRgtGAINC60L7QvdGE0LjQs9GD0YDQsNGG0LjQvtC90L3QvtC5INC00LjRgNC10LrRgtC40LLRiyAlcy4nLCfQl9Cw0L/QuNGB0Ywg0YPQtNCw0LvQtdC90LAuJywn0JfQsNC/0LjRgdGMINC+0LHQvdC+0LLQu9C10L3QsC4nLCfQl9Cw0L/QuNGB0YwlcyDQsdGL0LvQsCDQstGB0YLQsNCy0LvQtdC90LAuJywn0KDQtdC00LDQutGC0LjRgNC+0LLQsNGC0YwnLCfQndC10YIg0LfQsNC/0LjRgdC10LkuJywn0KHQvtGF0YDQsNC90LjRgtGMJywn0KHQvtGF0YDQsNC90LjRgtGMINC4INC/0YDQvtC00L7Qu9C20LjRgtGMINGA0LXQtNCw0LrRgtC40YDQvtCy0LDQvdC40LUnLCfQodC+0YXRgNCw0L3QuNGC0Ywg0Lgg0LLRgdGC0LDQstC40YLRjCDQtdGJ0LUnLCfQodGC0LXRgNC10YLRjCcsYXJyYXkoJ9CR0YvQu9CwINC40LfQvNC10L3QtdC90LAgJWQg0LfQsNC/0LjRgdGMLicsJ9CR0YvQu9C4INC40LfQvNC10L3QtdC90YsgJWQg0LfQsNC/0LjRgdC4LicsJ9CR0YvQu9C+INC40LfQvNC10L3QtdC90L4gJWQg0LfQsNC/0LjRgdC10LkuJyksJ9Ca0LvQuNC60L3QuCDQtNCy0LAg0YDQsNC30LAg0L/QviDQt9C90LDRh9C10L3QuNGOLCDRh9GC0L7QsdGLINC10LPQviDQuNC30LzQtdC90LjRgtGMLicsYXJyYXkoJ9CY0LzQv9C+0YDRgtC40YDQvtCy0LDQvdCwICVkINGB0YLRgNC+0LrQsC4nLCfQmNC80L/QvtGA0YLQuNGA0L7QstCw0L3QviAlZCDRgdGC0YDQvtC60LguJywn0JjQvNC/0L7RgNGC0LjRgNC+0LLQsNC90L4gJWQg0YHRgtGA0L7Qui4nKSwn0J3QtSDRg9C00LDQu9C+0YHRjCDQv9C+0LvRg9GH0LjRgtGMINC00LDQvdC90YvQtSDQuNC3INGC0LDQsdC70LjRhtGLJywn0YDQtdC00LDQutGC0LjRgNC+0LLQsNGC0YwnLCfQoNC10LvRj9GG0LjQuCcsJ9CY0LfQvNC10L3QuNGC0Ywg0Y3RgtC+INC30L3QsNGH0LXQvdC40LUg0LzQvtC20L3QviDRgSDQv9C+0LzQvtGJ0YzRjiDRgdGB0YvQu9C60LggwqvQuNC30LzQtdC90LjRgtGMwrsuJywn0KHRgtGA0LDQvdC40YbQsCcsJ9C/0L7RgdC70LXQtNC90Y/RjycsYXJyYXkoJyVkINGB0YLRgNC+0LrQsCcsJyVkINGB0YLRgNC+0LrQuCcsJyVkINGB0YLRgNC+0LonKSwn0LLQtdGB0Ywg0YDQtdC30YPQu9GM0YLQsNGCJywn0JrQu9C+0L3QuNGA0L7QstCw0YLRjCcsJ9Ct0LrRgdC/0L7RgNGCJywn0JjQvNC/0L7RgNGCJywn0J/QvtC40YHQuiDQsiDRgtCw0LHQu9C40YbQsNGFJywn0KLQsNCx0LvQuNGG0LAnLCfQodGC0YDQvtC6JywnICcsJ9Cg0LXQtNCw0LrRgtC40YDQvtCy0LDRgtGMINCy0YHRkScpO2JyZWFrO2Nhc2UiemgiOiRUPWFycmF5KCfkvaDnoa7lrprlkJfvvJ8nLCfkuI3og73kuIrkvKDmlofku7bjgIInLCfmnIDlpJrlhYHorrjnmoTmlofku7blpKflsI/kuLogJXNCJywn5paH5Lu25LiN5a2Y5Zyo44CCJywn56m6Jywn5Y6f5aeLJywn5rKh5pyJ6KGo44CCJywn6K+t6KiAJywn5L2/55SoJywn6K+35L2/55So6L+Z5Lqb5omp5bGV5Lit55qE5LiA5Liq77yaJXPjgIInLCfmlofku7blt7LlrZjlnKjjgIInLCfnlKjmiLfnsbvlnosnLCfmlbDlrZcnLCfml6XmnJ/ml7bpl7QnLCflrZfnrKbkuLInLCfkuozov5vliLYnLCfnvZHnu5wnLCflh6DkvZXlm77lvaInLCfliJfooagnLCfnvJbovpHlmagnLCfnlKjmiLflkI0nLCflr4bnoIEnLCfnmbvlvZUnLCfkv53mjIHnmbvlvZUnLCfmlrDlu7rpobknLCfmnKvpobUnLCclZCDlrZfoioInLCckMS4kMy4kNScsJ+aQnOe0oicsJ+S7u+aEj+S9jee9ricsJ+aOkuW6jycsJ+mZkOWumicsJ+WKqOS9nCcsJ+mAieaLqScsJ+eUteWtkOmCruS7ticsJ+adpeiHqicsJ+S4u+mimCcsJ+aPkuWFpScsJ+mZhOS7ticsJ+WPkemAgScsJyVkIOWwgemCruS7tuW3suWPkemAgeOAgicsJ+eOsOWcqCcsJ0hIOk1NOlNTJywnW3l5eXldLm1tLmRkJywn5rOo6ZSAJywn6YCJ5oup5pWw5o2uJywnbHRyJywn6YeN5paw5Y+R6YCBIFBPU1Qg5pWw5o2u77yfJywn5pyN5Yqh5ZmoJywn5peg5pWIIENTUkYg5Luk54mM44CC6YeN5paw5Y+R6YCB6KGo5Y2V44CCJywn5rOo6ZSA5oiQ5Yqf44CCJywn5Lya6K+d5b+F6aG76KKr5ZCv55So44CCJywn5Lya6K+d5bey6L+H5pyf77yM6K+36YeN5paw55m75b2V44CCJywn5peg5pWI5Yet5o2u44CCJywn5rKh5pyJ5omp5bGVJywn5rKh5pyJ5pSv5oyB55qEIFBIUCDmianlsZXlj6/nlKjvvIglc++8ieOAgicsJ+WkquWkp+eahCBQT1NUIOaVsOaNruOAguWHj+WwkeaVsOaNruaIluiAheWinuWKoCAlcyDphY3nva7lkb3ku6TjgIInLCflt7LliKDpmaTpobnnm67jgIInLCflt7Lmm7TmlrDpobnnm67jgIInLCflt7Lmj5LlhaXpobnnm64lc+OAgicsJ+e8lui+kScsJ+ayoeacieihjOOAgicsJ+S/neWtmCcsJ+S/neWtmOW5tue7p+e7ree8lui+kScsJ+S/neWtmOW5tuaPkuWFpeS4i+S4gOS4qicsJ+WIoOmZpCcsJyVkIOS4qumhueebruWPl+WIsOW9seWTjeOAgicsJ+WcqOWAvOS4iuWPjOWHu+exu+S/ruaUueWug+OAgicsJyVkIOihjOW3suWvvOWFpeOAgicsJ+S4jeiDvemAieaLqeivpeihqCcsJ+e8lui+kScsJ+WFs+iBlOS/oeaBrycsJ+S9v+eUqOe8lui+kemTvuaOpeadpeS/ruaUueivpeWAvOOAgicsJ+mhtemdoicsJ+acgOWQjicsJyVkIOihjCcsJ+aJgOaciee7k+aenCcsJ+WFi+mahicsJ+WvvOWHuicsJ+WvvOWFpScsJ+WcqOihqOS4reaQnOe0ouaVsOaNricsJ+ihqCcsJ+ihjOaVsCcsJywnLCfnvJbovpHlhajpg6gnKTticmVhaztjYXNlInpoLXR3IjokVD1hcnJheSgn5L2g56K65a6a5ZeO77yfJywn54Sh5rOV5LiK5YKz5qqU5qGI44CCJywn5YWB6Kix55qE5qqU5qGI5LiK6ZmQ5aSn5bCP54K6JXNCJywn5qqU5qGI5LiN5a2Y5ZyoJywn56m65YC8Jywn5Y6f5aeLJywn5rKS5pyJ6LOH5paZ6KGo44CCJywn6Kqe6KiAJywn5L2/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+WHuicsJ+mBuOaTh+izh+aWmScsJ2x0cicsJ+mHjeaWsOeZvOmAgeihqOWWruizh+aWmT8nLCfkvLrmnI3lmagnLCfnhKHmlYjnmoQgQ1NSRiB0b2tlbuOAguiri+mHjeaWsOeZvOmAgeihqOWWruOAgicsJ+eZu+WHuuaIkOWKn+OAgicsJ1Nlc3Npb24g5b+F6aCI6KKr5ZWf55So44CCJywnU2Vzc2lvbiDlt7LpgY7mnJ/vvIzoq4vph43mlrDnmbvlhaXjgIInLCfnhKHmlYjnmoTmhpHorYnjgIInLCfmspLmnIkg5pO05YWF5qih57WEJywn5rKS5pyJ5Lu75L2V5pSv5o+055qEUEhQ5pO05YWF5qih57WE77yIJXPvvInjgIInLCdQT1NUIOizh+aWmeWkquWkp+OAgua4m+Wwkeizh+aWmeaIluiAheWinuWKoCAlcyDnmoToqK3lrprlgLzjgIInLCfoqbLpoIXnm67lt7LooqvliKrpmaQnLCflt7Lmm7TmlrDpoIXnm67jgIInLCflt7Lmj5LlhaXpoIXnm64lc+OAgicsJ+e3qOi8rycsJ+aykuacieihjOOAgicsJ+WEsuWtmCcsJ+S/neWtmOS4pue5vOe6jOe3qOi8rycsJ+WEsuWtmOS4puaPkuWFpeS4i+S4gOWAiycsJ+WIqumZpCcsJyVk5YCL6aCF55uu5Y+X5Yiw5b2x6Z+/44CCJywn6ZuZ5pOK5Lul6YCy6KGM5L+u5pS544CCJywnJWTooYzlt7LlsI7lhaXjgIInLCfnhKHms5Xpgbjmk4foqbLos4fmlpnooagnLCfnt6jovK8nLCfpl5zoga8nLCfkvb/nlKjnt6jovK/pgKPntZDkvobkv67mlLnjgIInLCfpoIEnLCfmnIDlvozkuIDpoIEnLCclZOihjCcsJ+aJgOaciee1kOaenCcsJ+ikh+ijvScsJ+WMr+WHuicsJ+WMr+WFpScsJ+WcqOizh+aWmeW6q+aQnOWwiycsJ+izh+aWmeihqCcsJ+ihjOaVuCcsJywnLCfnt6jovK/lhajpg6gnKTticmVhaztjYXNlImphIjokVD1hcnJheSgn5a6f6KGM44GX44G+44GZ44GL77yfJywn44OV44Kh44Kk44Or44KS44Ki44OD44OX44Ot44O844OJ44Gn44GN44G+44Gb44KTJywn5pyA5aSn44OV44Kh44Kk44Or44K144Kk44K6ICVzQicsJ+ODleOCoeOCpOODq+OBr+WtmOWcqOOBl+OBvuOBm+OCkycsJ+epuicsJ+WFgycsJ+ODhuODvOODluODq+OBjOOBguOCiuOBvuOBm+OCk+OAgicsJ+iogOiqnicsJ+S9v+eUqCcsJ+OBhOOBmuOCjOOBi+OBruaLoeW8teapn+iDveOCkuS9v+OBo+OBpuOBj+OBoOOBleOBhCAlcycsJ+ODleOCoeOCpOODq+OBjOaXouOBq+WtmOWcqOOBl+OBvuOBmScsJ+ODpuODvOOCtuODvOWumue+qeWeiycsJ+aVsOWtlycsJ+aXpeaZgicsJ+aWh+Wtl+WIlycsJ+ODkOOCpOODiuODqicsJ+ODjeODg+ODiOODr+ODvOOCr+WeiycsJ+OCuOOCquODoeODiOODquWeiycsJ+ODquOCueODiCcsJ+OCqOODh+OCo+OCvycsJ+ODpuODvOOCtuWQjScsJ+ODkeOCueODr+ODvOODiScsJ+ODreOCsOOCpOODsycsJ+awuOe2mueahOOBq+ODreOCsOOCpOODsycsJ+mgheebruOBruS9nOaIkCcsJ+acgOW+jOOBruODmuODvOOCuCcsJyVkIOODkOOCpOODiCcsJyQxLiQzLiQ1Jywn5qSc57SiJywn5Lu75oSPJywn44K944O844OIJywn5Yi257SEJywn5YuV5L2cJywn6YG45oqeJywn44Oh44O844OrJywn5beu5Ye65Lq6Jywn6aGM5ZCNJywn5oy/5YWlJywn5re75LuY44OV44Kh44Kk44OrJywn6YCB5L+hJywnJWQg44Oh44O844Or44KS6YCB5L+h44GX44G+44GX44GfJywn54++5Zyo44Gu5pel5pmCJywn5pmCOuWIhjrnp5InLCdbeXl5eV0ubW0uZGQnLCfjg63jgrDjgqLjgqbjg4gnLCfjg4fjg7zjgr8nLCdsdHInLCflho3pgIHkv6HjgZfjgb7jgZnjgYvvvJ8nLCfjgrXjg7zjg5AnLCfkuI3mraPjgapDU1JG44OI44O844Kv44Oz44CC5YaN6YCB5L+h44GX44Gm44GP44Gg44GV44GEJywn44Ot44Kw44Ki44Km44OIJywn44K744OD44K344On44Oz44KS5pyJ5Yq544Gr44GX44Gm44GP44Gg44GV44GEJywn44K744OD44K344On44Oz44Gu5pyf6ZmQ5YiH44KM44CC44Ot44Kw44Kk44Oz44GX55u044GX44Gm44GP44Gg44GV44GEJywn5LiN5q2j44Gq44Ot44Kw44Kk44OzJywn5ouh5by15qmf6IO944GM44GC44KK44G+44Gb44KTJywnUEhQ44Gu5ouh5by15qmf6IO977yIJXPvvInjgYzjgrvjg4Pjg4jjgqLjg4Pjg5fjgZXjgozjgabjgYTjgb7jgZvjgpMnLCdQT1NU44OH44O844K/44GM5aSn44GN44GZ44GO44G+44GZ44CC44OH44O844K/44K144Kk44K644KS5bCP44GV44GP44GZ44KL44GLICVzIOioreWumuOCkuWkp+OBjeOBj+OBl+OBpuOBj+OBoOOBleOBhCcsJ+mgheebruOCkuWJiumZpOOBl+OBvuOBl+OBnycsJ+mgheebruOCkuabtOaWsOOBl+OBvuOBl+OBnycsJyVz6aCF55uu44KS5oy/5YWl44GX44G+44GX44GfJywn57eo6ZuGJywn6KGM44GM44GC44KK44G+44Gb44KTJywn5L+d5a2YJywn5L+d5a2Y44GX44Gm57aZ57aaJywn5L+d5a2Y77yP6L+95YqgJywn5YmK6ZmkJywnJWQg44KS5pu05paw44GX44G+44GX44GfJywn44OA44OW44Or44Kv44Oq44OD44Kv44GX44Gm57eo6ZuGJywnJWQg6KGM44KS44Kk44Oz44Od44O844OI44GX44G+44GX44GfJywn44OG44O844OW44Or44KS6YG45oqe44Gn44GN44G+44Gb44KTJywn57eo6ZuGJywn6Zai5L+CJywn44Oq44Oz44Kv44KS57eo6ZuG44GZ44KLJywn44Oa44O844K4Jywn5pyA57WCJywnJWQg6KGMJywn5YWo57WQ5p6cJywn44Kv44Ot44O844OzJywn44Ko44Kv44K544Od44O844OIJywn44Kk44Oz44Od44O844OIJywn44OH44O844K/44KS5qSc57Si44GZ44KLJywn44OG44O844OW44OrJywn6KGM5pWwJywnLCcsJ+OBmeOBueOBpue3qOmbhicpO2JyZWFrO2Nhc2UidGEiOiRUPWFycmF5KCfgrqjgrr/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+CuseCvgScsJ+CupOKAjOCuleKAjOCuteKAjOCusuCviCDgrqTgr4fgrrDgr43grrXgr4Eg4K6a4K+G4K6v4K+NJywnbHRyJywnUE9TVCBkYXRhIOCuteCviCDgrq7gr4DgrqPgr43grp/gr4Hgrq7gr40g4K6F4K6p4K+B4K6q4K+N4K6q4K614K6+PycsJ+CuteKAjOCutOKAjOCumeCvjeCuleCuvyAoU2VydmVyKScsJ0NTUkYg4K6f4K+L4K6V4K+N4K6V4oCM4K6p4K+NIOCumuCvhuCusuCvjeCusuCuvuCupOCvgS4g4K6q4oCM4K6f4K6/4K614oCM4K6k4K+N4K6k4K+IIOCuruCvgOCuo+CvjeCun+CvgeCuruCvjSDgroXgrqngr4Hgrqrgr43grqrigIzgrrXgr4Hgrq7gr40uJywn4K614K+G4K6x4K+N4K6x4K6/4K6V4oCM4K6w4oCM4K6u4K6+4K6v4K+NIOCuteCvhuCus+Cuv+Cur+Cvh+CuseCuv+Cur+CuvuCur+Cuv+CuseCvjeCuseCvgS4nLCfgrprgr4bgrrfigIzgrqngr40g4K6G4K6k4oCM4K6w4oCM4K614K+BIOCuh+Cur+KAjOCuleCvjeCuleKAjOCuquCvjeCuquKAjOCun+KAjCDgrrXgr4fgrqPgr43grp/gr4Hgrq7gr40uJywn4K6a4K+G4K634oCM4K6p4K+NIOCuleCuvuCusuCuvuCuteKAjOCupOCuv+Cur+CuvuCuleCuvyDgrrXgrr/grp/gr43grp/igIzgrqTgr4EuIOCuruCvgOCuo+CvjeCun+CvgeCuruCvjSDgrqjgr4HgrrTgr4jgrq/igIzgrrXgr4Hgrq7gr40uJywn4K6a4oCM4K6w4K6/4K6v4K6+4K6p4oCMIOCuteCuv+CuquKAjOCusOKAjOCumeCvjeCuleKAjOCus+CvjSDgrofgrrLgr43grrLgr4guJywn4K614K6/4K6w4K6/4K614K+BIChleHRlbnPgrofgrpLgrqngr40pIOCuh+CusuCvjeCusuCviCAnLCdQSFAg4K6G4K6k4oCM4K6w4oCM4K614K+BIOCuteCuv+CusOCuv+CuteCvgeCuleKAjOCus+CvjSAoJXMpIOCuh+CusuCvjeCusuCviC4nLCfgrq7grr/grpXigIwg4K6F4K6k4K6/4K6V4oCM4K6u4K6+4K6p4oCMIFBPU1QgIOCupOKAjOCuleKAjOCuteKAjOCusuCvjS4g4K6k4oCM4K6V4oCM4K614oCM4K6y4K+IIOCuleCvgeCuseCviOCuleCvjeCuleKAjOCuteCvgeCuruCvjSDgroXgrrLgr43grrLigIzgrqTgr4EgJXMg4K614oCM4K6f4K6/4K614oCM4K6u4K+I4K6q4K+N4K6q4K+IIChjb25maWd1cmF0aW9uIGRpcmVjdGl2ZSkg4K6u4K6+4K6x4K+N4K6x4oCM4K614K+B4K6u4K+NLicsJ+CuieCusOCvgeCuquCvjeCuquCun+CuvyDgrqjgr4DgrpXgr43grpXigIzgrqrgr43grqrigIzgrp/gr43grp/igIzgrqTgr4EuJywn4K6J4K6w4K+B4K6q4K+N4K6q4oCM4K6f4K6/IOCuquCvgeCupOCvgeCuquCvjeCuquCuv+CuleCvjeCuleKAjOCuquCvjeCuquKAjOCun+CvjeCun+KAjOCupOCvgS4nLCfgrongrrDgr4Hgrqrgr43grqrigIzgrp/grr8gKEl0ZW0pIOCumuCvh+CusOCvjeCuleCvjeCuleKAjOCuquCvjeCuquKAjOCun+CvjeCun+KAjOCupOCvgS4nLCfgrqTgr4rgrpXgr4EnLCfgrrXigIzgrrDgrr/grprgr4gg4K6H4K6y4K+N4K6y4K+ILicsJ+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+CupOCviuCuleCvgScsJ+CuieCuseKAjOCuteCvgeCuleKAjOCus+CvjSAoUmVsYXRpb25zKScsJ+Cuh+CuqOCvjeCupOKAjCDgrq7igIzgrqTgrr/grqrgr43grqrgrr/grqngr4gg4K6u4K6+4K6x4K+N4K6x4oCMLCDgrqTgr4rgrpXgr4Hgrqrgr43grqrgr4Eg4K6H4K6j4K+I4K6q4K+N4K6q4K6/4K6p4K+IIOCuieCuquKAjOCur+Cvi+CuleCuv+CuleCvjeCuleKAjOCuteCvgeCuruCvjS4nLCfgrqrigIzgrpXgr43grpXigIzgrq7gr40nLCfgrpXigIzgrp/gr4jgrprgrr8nLGFycmF5KCclZCDgrrXigIzgrrDgrr/grprgr4gnLCclZCDgrrXigIzgrrDgrr/grprgr4jgrpXigIzgrrPgr40nKSwn4K6u4K+B4K604K+B4K6u4K+I4K6v4K6+4K6p4oCMIOCuruCvgeCun+Cuv+CuteCvgScsJ+CuqOKAjOCuleKAjOCusuCuvyAoQ2xvbmUpJywn4K6P4K6x4K+N4K6x4K+B4K6u4oCM4K6k4K6/Jywn4K6H4K6x4oCM4K6V4K+N4K6V4K+B4K6u4oCM4K6k4K6/IChJbXBvcnQpJywn4K6k4oCM4K6V4oCM4K614oCM4K6y4K+IIOCuheCun+CvjeCun+KAjOCuteKAjOCuo+CviOCur+Cuv+CusuCvjSDgrqTgr4fgrp/gr4EnLCfgroXgrp/gr43grp/igIzgrrXigIzgrqPgr4gnLCfgrrXigIzgrrDgrr/grprgr4jgrpXigIzgrrPgr40nLCcsJywn4K6F4K6p4K+I4K6k4K+N4K6k4K+I4K6v4K+B4K6u4K+NIOCupOCviuCuleCvgScpO2JyZWFrO2Nhc2UiYXIiOiRUPWFycmF5KCfZh9mEINij2YbYqiDZhdiq2KPZg9iv2J8nLCfZhdmGINi62YrYsSDYp9mE2YXZhdmD2YYg2LHZgdi5INin2YTZhdmE2YEuJywn2K3YrNmFINin2YTZhdmE2YEg2KfZhNij2YLYtdmJINmH2YggJXNCLicsJ9in2YTZhdmE2YEg2LrZitixINmF2YjYrNmI2K8uJywn2YHYp9ix2LonLCfYp9mE2KPYtdmE2YonLCfZhNinINiq2YjYrNivINis2K/Yp9mI2YQuJywn2KfZhNmE2LrYqScsJ9in2YTZhdiz2KrYudmF2YQnLCfZhdmGINmB2LbZhNmDINil2LPYqti52YXZhCDYpdit2K/ZiSDYp9mE2KXZhdiq2K/Yp9iv2KfYqjogJXMuJywn2KfZhNmF2YTZgSDZhdmI2KzZiNivLicsJ9mG2YjYuSDYp9mE2YXYs9iq2K7Yr9mFJywn2KPYudiv2KfYrycsJ9in2YTYqtin2LHZitiuINmIINin2YTZiNmC2KonLCfYs9mE2KfYs9mEJywn2KvZhtin2KbZitipJywn2LTYqNmD2KknLCfZh9mG2K/Ys9ipJywn2YLZiNin2KbZhScsJ9in2YTZhdit2LHYsScsJ9in2YTZhdiz2KrYudmF2YQnLCfZg9mE2YXYqSDYp9mE2YXYsdmI2LEnLCfYqtiz2KzZitmEINin2YTYr9iu2YjZhCcsJ9iq2LPYrNmK2YQg2K/YrtmI2YQg2K/Yp9im2YUnLCfYudmG2LXYsSDYrNiv2YrYrycsJ9in2YTYtdmB2K3YqSDYp9mE2LPYp9io2YLYqScsJyVkINio2KfZitiqJywnJDUvJDMvJDEnLCfYqNit2KsnLCfZgdmKINin2Yog2YXZg9in2YYnLCfYqtix2KrZitioJywn2K3YrycsJ9it2LHZg9ipJywn2KXYrtiq2YrYp9ixJywn2KfZhNio2LHZitivINin2YTYpdmE2YPYqtix2YjZhtmKJywn2YXZhicsJ9in2YTZhdmI2LbZiNi5Jywn2KXZhti02KfYoScsJ9mF2YTZgdin2Kog2YXYsdmB2YLYqS4nLCfYpdix2LPYp9mEJywn2KrZhSDYpdix2LPYp9mEICVkINix2LPYp9mE2KkuJywn2KfZhNii2YYnLCdISDpNTTpTUycsJ2pqL21tL1thYWFhXScsJ9iq2LPYrNmK2YQg2KfZhNiu2LHZiNisJywn2LnYsdi2INin2YTYqNmK2KfZhtin2KonLCdydGwnLCfZh9mEINiq2YjYryDYpdi52KfYr9ipINil2LHYs9in2YQg2KjZitin2YbYp9iqIFBPU1Qg2J8nLCfYp9mE2K7Yp9iv2YUnLCdDU1JGIFRva2VuINiu2KfYt9imLiDZhdmGINmB2LbZhNmDINij2LnYryDYpdix2LPYp9mEINin2YTYpdiz2KrZhdin2LHYqS4nLCfZhdi5INin2YTYs9mE2KfZhdipLicsJ9i52YTZitmDINiq2YHYudmK2YQg2YbYuNin2YUg2KfZhNis2YTYs9in2KouJywn2KXZhtiq2YfYqiDYp9mE2KzZhNiz2KnYjCDZhdmGINmB2LbZhNmDINij2LnYryDYqtiz2KzZitmEINin2YTYr9iu2YjZhC4nLCfZgdi02YQg2YHZiiDYqtiz2KzZitmEINin2YTYr9iu2YjZhC4nLCfYpdmF2KrYr9in2K8g2LrZitixINmF2YjYrNmI2K8nLCfYpdmF2KrYr9in2K/Yp9iqIHBocCDYp9mE2YXYr9i52YjZhdipINi62YrYsSDZhdmI2KzZiNiv2KkuJywn2YXYudmE2YjZhdin2KogUE9TVCDZg9io2YrYsdipINis2K/Ypy4g2YLZhSDYqNiq2YLZhNmK2LUg2K3YrNmFINin2YTZhdi52YTZiNmF2KfYqiDYo9mIINmC2YUg2KjYstmK2KfYr9ipINmC2YrZhdipICVzINmB2Yog2K7Zitin2LHYp9iqINin2YQgUEhQLicsJ9iq2YUg2K3YsNmBINin2YTYudmG2LXYsS4nLCfYqtmFINiq2LnYr9mK2YQg2KfZhNi52YbYtdixLicsJ9iq2YUg2KXYr9ix2KfYrCDYp9mE2LnZhti12LEuJywn2KrYudiv2YrZhCcsJ9mE2Kcg2KrZiNis2K8g2YbYqtin2KbYrC4nLCfYrdmB2LgnLCfYpdit2YHYuCDZiCDZiNin2LXZhCDYp9mE2KrYudiv2YrZhCcsJ9is2YHYuCDZiCDYpdmG2LTYp9ihINin2YTYqtin2YTZiicsJ9mF2LPYrScsJ9i52K/YryDYp9mE2LnZhtin2LXYsSDYp9mE2YXYudiv2YTYqSDZh9mIICVkLicsJ9ij2YbZgtixINmG2YLYsdinINmF2LLYr9mI2KzYpyDYudmE2Ykg2YLZitmF2Kkg2YTYqti52K/ZitmE2YfYpy4nLCfYudiv2K8g2KfZhNij2LPYt9ixINin2YTZhdiz2KrZiNix2K/YqSDZh9mIICVkLicsJ9mF2YYg2LrZitixINin2YTZhdmF2YPZhiDYpdiu2KrZitin2LEg2KfZhNis2K/ZiNmEJywn2KrYudiv2YrZhCcsJ9i52YTYp9mC2KfYqicsJ9il2LPYqti52YXZhCDYp9mE2LHYp9io2LcgItiq2LnYr9mK2YQiINmE2KrYudiv2YrZhCDZh9iw2Ycg2KfZhNmC2YrZhdipLicsJ9i12YHYrdipJywn2KfZhNij2K7Zitix2KknLCclZCDYo9iz2LfYsScsJ9mG2KrZitis2Kkg2YPYp9mF2YTYqScsJ9mG2LPYricsJ9iq2LXYr9mK2LEnLCfYpdiz2KrZitix2KfYrycsJ9io2K3YqyDZgdmKINin2YTYrNiv2KfZiNmEJywn2KzYr9mI2YQnLCfYp9mE2KPYs9i32LEnLCcsJywn2KrYudiv2YrZhCDYp9mE2YPZhCcpO2JyZWFrO31pZihleHRlbnNpb25fbG9hZGVkKCdwZG8nKSl7Y2xhc3MKTWluX1BETwpleHRlbmRzClBET3t2YXIkX3Jlc3VsdCwkc2VydmVyX2luZm8sJGFmZmVjdGVkX3Jvd3MsJGVycm9yO2Z1bmN0aW9uCl9fY29uc3RydWN0KCl7fWZ1bmN0aW9uCmRzbigkWWEsJFYsJEUsJG9iPSdhdXRoX2Vycm9yJyl7c2V0X2V4Y2VwdGlvbl9oYW5kbGVyKCRvYik7cGFyZW50OjpfX2NvbnN0cnVjdCgkWWEsJFYsJEUpO3Jlc3RvcmVfZXhjZXB0aW9uX2hhbmRsZXIoKTskdGhpcy0+c2V0QXR0cmlidXRlKDEzLGFycmF5KCdNaW5fUERPU3RhdGVtZW50JykpOyR0aGlzLT5zZXJ2ZXJfaW5mbz0kdGhpcy0+Z2V0QXR0cmlidXRlKDQpO31mdW5jdGlvbgpxdWVyeSgkRywkU2Q9ZmFsc2UpeyRIPXBhcmVudDo6cXVlcnkoJEcpO2lmKCEkSCl7JGtiPSR0aGlzLT5lcnJvckluZm8oKTskdGhpcy0+ZXJyb3I9JGtiWzJdO3JldHVybgpmYWxzZTt9JHRoaXMtPnN0b3JlX3Jlc3VsdCgkSCk7cmV0dXJuJEg7fWZ1bmN0aW9uCm11bHRpX3F1ZXJ5KCRHKXtyZXR1cm4kdGhpcy0+X3Jlc3VsdD0kdGhpcy0+cXVlcnkoJEcpO31mdW5jdGlvbgpzdG9yZV9yZXN1bHQoJEg9bnVsbCl7aWYoISRIKXskSD0kdGhpcy0+X3Jlc3VsdDt9aWYoJEgtPmNvbHVtbkNvdW50KCkpeyRILT5udW1fcm93cz0kSC0+cm93Q291bnQoKTtyZXR1cm4kSDt9JHRoaXMtPmFmZmVjdGVkX3Jvd3M9JEgtPnJvd0NvdW50KCk7cmV0dXJuCnRydWU7fWZ1bmN0aW9uCm5leHRfcmVzdWx0KCl7cmV0dXJuJHRoaXMtPl9yZXN1bHQtPm5leHRSb3dzZXQoKTt9ZnVuY3Rpb24KcmVzdWx0KCRHLCRuPTApeyRIPSR0aGlzLT5xdWVyeSgkRyk7aWYoISRIKXtyZXR1cm4KZmFsc2U7fSRKPSRILT5mZXRjaCgpO3JldHVybiRKWyRuXTt9fWNsYXNzCk1pbl9QRE9TdGF0ZW1lbnQKZXh0ZW5kcwpQRE9TdGF0ZW1lbnR7dmFyJF9vZmZzZXQ9MCwkbnVtX3Jvd3M7ZnVuY3Rpb24KZmV0Y2hfYXNzb2MoKXtyZXR1cm4kdGhpcy0+ZmV0Y2goMik7fWZ1bmN0aW9uCmZldGNoX3Jvdygpe3JldHVybiR0aGlzLT5mZXRjaCgzKTt9ZnVuY3Rpb24KZmV0Y2hfZmllbGQoKXskSj0ob2JqZWN0KSR0aGlzLT5nZXRDb2x1bW5NZXRhKCR0aGlzLT5fb2Zmc2V0KyspOyRKLT5vcmd0YWJsZT0kSi0+dGFibGU7JEotPm9yZ25hbWU9JEotPm5hbWU7JEotPmNoYXJzZXRucj0oaW5fYXJyYXkoImJsb2IiLCRKLT5mbGFncyk/NjM6MCk7cmV0dXJuJEo7fX19JFdhPWFycmF5KCk7JFdhWyJzcWxpdGUiXT0iU1FMaXRlIDMiOyRXYVsic3FsaXRlMiJdPSJTUUxpdGUgMiI7aWYoaXNzZXQoJF9HRVRbInNxbGl0ZSJdKXx8aXNzZXQoJF9HRVRbInNxbGl0ZTIiXSkpeyRVYz1hcnJheSgoaXNzZXQoJF9HRVRbInNxbGl0ZSJdKT8iU1FMaXRlMyI6IlNRTGl0ZSIpLCJQRE9fU1FMaXRlIik7ZGVmaW5lKCJEUklWRVIiLChpc3NldCgkX0dFVFsic3FsaXRlIl0pPyJzcWxpdGUiOiJzcWxpdGUyIikpO2lmKGV4dGVuc2lvbl9sb2FkZWQoaXNzZXQoJF9HRVRbInNxbGl0ZSJdKT8ic3FsaXRlMyI6InNxbGl0ZSIpKXtpZihpc3NldCgkX0dFVFsic3FsaXRlIl0pKXtjbGFzcwpNaW5fU1FMaXRle3ZhciRleHRlbnNpb249IlNRTGl0ZTMiLCRzZXJ2ZXJfaW5mbywkYWZmZWN0ZWRfcm93cywkZXJyb3IsJF9saW5rO2Z1bmN0aW9uCk1pbl9TUUxpdGUoJHdiKXskdGhpcy0+X2xpbms9bmV3ClNRTGl0ZTMoJHdiKTskZGU9JHRoaXMtPl9saW5rLT52ZXJzaW9uKCk7JHRoaXMtPnNlcnZlcl9pbmZvPSRkZVsidmVyc2lvblN0cmluZyJdO31mdW5jdGlvbgpxdWVyeSgkRyl7JEg9QCR0aGlzLT5fbGluay0+cXVlcnkoJEcpO2lmKCEkSCl7JHRoaXMtPmVycm9yPSR0aGlzLT5fbGluay0+bGFzdEVycm9yTXNnKCk7cmV0dXJuCmZhbHNlO31lbHNlaWYoJEgtPm51bUNvbHVtbnMoKSl7cmV0dXJuCm5ldwpNaW5fUmVzdWx0KCRIKTt9JHRoaXMtPmFmZmVjdGVkX3Jvd3M9JHRoaXMtPl9saW5rLT5jaGFuZ2VzKCk7cmV0dXJuCnRydWU7fWZ1bmN0aW9uCnF1b3RlKCRPKXtyZXR1cm4iJyIuJHRoaXMtPl9saW5rLT5lc2NhcGVTdHJpbmcoJE8pLiInIjt9ZnVuY3Rpb24Kc3RvcmVfcmVzdWx0KCl7cmV0dXJuJHRoaXMtPl9yZXN1bHQ7fWZ1bmN0aW9uCnJlc3VsdCgkRywkbj0wKXskSD0kdGhpcy0+cXVlcnkoJEcpO2lmKCFpc19vYmplY3QoJEgpKXtyZXR1cm4KZmFsc2U7fSRKPSRILT5fcmVzdWx0LT5mZXRjaEFycmF5KCk7cmV0dXJuJEpbJG5dO319Y2xhc3MKTWluX1Jlc3VsdHt2YXIkX3Jlc3VsdCwkX29mZnNldD0wLCRudW1fcm93cztmdW5jdGlvbgpNaW5fUmVzdWx0KCRIKXskdGhpcy0+X3Jlc3VsdD0kSDt9ZnVuY3Rpb24KZmV0Y2hfYXNzb2MoKXtyZXR1cm4kdGhpcy0+X3Jlc3VsdC0+ZmV0Y2hBcnJheShTUUxJVEUzX0FTU09DKTt9ZnVuY3Rpb24KZmV0Y2hfcm93KCl7cmV0dXJuJHRoaXMtPl9yZXN1bHQtPmZldGNoQXJyYXkoU1FMSVRFM19OVU0pO31mdW5jdGlvbgpmZXRjaF9maWVsZCgpeyRmPSR0aGlzLT5fb2Zmc2V0Kys7JFU9JHRoaXMtPl9yZXN1bHQtPmNvbHVtblR5cGUoJGYpO3JldHVybihvYmplY3QpYXJyYXkoIm5hbWUiPT4kdGhpcy0+X3Jlc3VsdC0+Y29sdW1uTmFtZSgkZiksInR5cGUiPT4kVSwiY2hhcnNldG5yIj0+KCRVPT1TUUxJVEUzX0JMT0I/NjM6MCksKTt9ZnVuY3Rpb24KX19kZXNjdHJ1Y3QoKXtyZXR1cm4kdGhpcy0+X3Jlc3VsdC0+ZmluYWxpemUoKTt9fX1lbHNle2NsYXNzCk1pbl9TUUxpdGV7dmFyJGV4dGVuc2lvbj0iU1FMaXRlIiwkc2VydmVyX2luZm8sJGFmZmVjdGVkX3Jvd3MsJGVycm9yLCRfbGluaztmdW5jdGlvbgpNaW5fU1FMaXRlKCR3Yil7JHRoaXMtPnNlcnZlcl9pbmZvPXNxbGl0ZV9saWJ2ZXJzaW9uKCk7JHRoaXMtPl9saW5rPW5ldwpTUUxpdGVEYXRhYmFzZSgkd2IpO31mdW5jdGlvbgpxdWVyeSgkRywkU2Q9ZmFsc2UpeyR3Yz0oJFNkPyJ1bmJ1ZmZlcmVkUXVlcnkiOiJxdWVyeSIpOyRIPUAkdGhpcy0+X2xpbmstPiR3YygkRyxTUUxJVEVfQk9USCwkbSk7aWYoISRIKXskdGhpcy0+ZXJyb3I9JG07cmV0dXJuCmZhbHNlO31lbHNlaWYoJEg9PT10cnVlKXskdGhpcy0+YWZmZWN0ZWRfcm93cz0kdGhpcy0+Y2hhbmdlcygpO3JldHVybgp0cnVlO31yZXR1cm4KbmV3Ck1pbl9SZXN1bHQoJEgpO31mdW5jdGlvbgpxdW90ZSgkTyl7cmV0dXJuIiciLnNxbGl0ZV9lc2NhcGVfc3RyaW5nKCRPKS4iJyI7fWZ1bmN0aW9uCnN0b3JlX3Jlc3VsdCgpe3JldHVybiR0aGlzLT5fcmVzdWx0O31mdW5jdGlvbgpyZXN1bHQoJEcsJG49MCl7JEg9JHRoaXMtPnF1ZXJ5KCRHKTtpZighaXNfb2JqZWN0KCRIKSl7cmV0dXJuCmZhbHNlO30kSj0kSC0+X3Jlc3VsdC0+ZmV0Y2goKTtyZXR1cm4kSlskbl07fX1jbGFzcwpNaW5fUmVzdWx0e3ZhciRfcmVzdWx0LCRfb2Zmc2V0PTAsJG51bV9yb3dzO2Z1bmN0aW9uCk1pbl9SZXN1bHQoJEgpeyR0aGlzLT5fcmVzdWx0PSRIO2lmKG1ldGhvZF9leGlzdHMoJEgsJ251bVJvd3MnKSl7JHRoaXMtPm51bV9yb3dzPSRILT5udW1Sb3dzKCk7fX1mdW5jdGlvbgpmZXRjaF9hc3NvYygpeyRKPSR0aGlzLT5fcmVzdWx0LT5mZXRjaChTUUxJVEVfQVNTT0MpO2lmKCEkSil7cmV0dXJuCmZhbHNlO30kST1hcnJheSgpO2ZvcmVhY2goJEoKYXMkdz0+JFgpeyRJWygkd1swXT09JyInP2lkZl91bmVzY2FwZSgkdyk6JHcpXT0kWDt9cmV0dXJuJEk7fWZ1bmN0aW9uCmZldGNoX3Jvdygpe3JldHVybiR0aGlzLT5fcmVzdWx0LT5mZXRjaChTUUxJVEVfTlVNKTt9ZnVuY3Rpb24KZmV0Y2hfZmllbGQoKXskQT0kdGhpcy0+X3Jlc3VsdC0+ZmllbGROYW1lKCR0aGlzLT5fb2Zmc2V0KyspOyRGPScoXFxbLipdfCIoPzpbXiJdfCIiKSoifCguKykpJztpZihwcmVnX21hdGNoKCJ+XigkRlxcLik/JEZcJH4iLCRBLCR6KSl7JFA9KCR6WzNdIT0iIj8kelszXTppZGZfdW5lc2NhcGUoJHpbMl0pKTskQT0oJHpbNV0hPSIiPyR6WzVdOmlkZl91bmVzY2FwZSgkels0XSkpO31yZXR1cm4ob2JqZWN0KWFycmF5KCJuYW1lIj0+JEEsIm9yZ25hbWUiPT4kQSwib3JndGFibGUiPT4kUCwpO319fX1lbHNlaWYoZXh0ZW5zaW9uX2xvYWRlZCgicGRvX3NxbGl0ZSIpKXtjbGFzcwpNaW5fU1FMaXRlCmV4dGVuZHMKTWluX1BET3t2YXIkZXh0ZW5zaW9uPSJQRE9fU1FMaXRlIjtmdW5jdGlvbgpNaW5fU1FMaXRlKCR3Yil7JHRoaXMtPmRzbihEUklWRVIuIjokd2IiLCIiLCIiKTt9fX1pZihjbGFzc19leGlzdHMoIk1pbl9TUUxpdGUiKSl7Y2xhc3MKTWluX0RCCmV4dGVuZHMKTWluX1NRTGl0ZXtmdW5jdGlvbgpNaW5fREIoKXskdGhpcy0+TWluX1NRTGl0ZSgiOm1lbW9yeToiKTt9ZnVuY3Rpb24Kc2VsZWN0X2RiKCR3Yil7aWYoaXNfcmVhZGFibGUoJHdiKSYmJHRoaXMtPnF1ZXJ5KCJBVFRBQ0ggIi4kdGhpcy0+cXVvdGUoZXJlZygiKF5bL1xcXXw6KSIsJHdiKT8kd2I6ZGlybmFtZSgkX1NFUlZFUlsiU0NSSVBUX0ZJTEVOQU1FIl0pLiIvJHdiIikuIiBBUyBhIikpeyR0aGlzLT5NaW5fU1FMaXRlKCR3Yik7cmV0dXJuCnRydWU7fXJldHVybgpmYWxzZTt9ZnVuY3Rpb24KbXVsdGlfcXVlcnkoJEcpe3JldHVybiR0aGlzLT5fcmVzdWx0PSR0aGlzLT5xdWVyeSgkRyk7fWZ1bmN0aW9uCm5leHRfcmVzdWx0KCl7cmV0dXJuCmZhbHNlO319fWZ1bmN0aW9uCmlkZl9lc2NhcGUoJHQpe3JldHVybiciJy5zdHJfcmVwbGFjZSgnIicsJyIiJywkdCkuJyInO31mdW5jdGlvbgp0YWJsZSgkdCl7cmV0dXJuCmlkZl9lc2NhcGUoJHQpO31mdW5jdGlvbgpjb25uZWN0KCl7cmV0dXJuCm5ldwpNaW5fREI7fWZ1bmN0aW9uCmdldF9kYXRhYmFzZXMoKXtyZXR1cm4KYXJyYXkoKTt9ZnVuY3Rpb24KbGltaXQoJEcsJFosJHgsJEM9MCwkcGQ9IiAiKXtyZXR1cm4iICRHJFoiLihpc3NldCgkeCk/JHBkLiJMSU1JVCAkeCIuKCRDPyIgT0ZGU0VUICRDIjoiIik6IiIpO31mdW5jdGlvbgpsaW1pdDEoJEcsJFope2dsb2JhbCRoO3JldHVybigkaC0+cmVzdWx0KCJTRUxFQ1Qgc3FsaXRlX2NvbXBpbGVvcHRpb25fdXNlZCgnRU5BQkxFX1VQREFURV9ERUxFVEVfTElNSVQnKSIpP2xpbWl0KCRHLCRaLDEpOiIgJEckWiIpO31mdW5jdGlvbgpkYl9jb2xsYXRpb24oJGwsJEZhKXtnbG9iYWwkaDtyZXR1cm4kaC0+cmVzdWx0KCJQUkFHTUEgZW5jb2RpbmciKTt9ZnVuY3Rpb24KZW5naW5lcygpe3JldHVybgphcnJheSgpO31mdW5jdGlvbgpsb2dnZWRfdXNlcigpe3JldHVybgpnZXRfY3VycmVudF91c2VyKCk7fWZ1bmN0aW9uCnRhYmxlc19saXN0KCl7cmV0dXJuCmdldF9rZXlfdmFscygiU0VMRUNUIG5hbWUsIHR5cGUgRlJPTSBzcWxpdGVfbWFzdGVyIFdIRVJFIHR5cGUgSU4gKCd0YWJsZScsICd2aWV3JykgT1JERVIgQlkgKG5hbWUgPSAnc3FsaXRlX3NlcXVlbmNlJyksIG5hbWUiLDEpO31mdW5jdGlvbgpjb3VudF90YWJsZXMoJGspe3JldHVybgphcnJheSgpO31mdW5jdGlvbgp0YWJsZV9zdGF0dXMoJEE9IiIpeyRJPWFycmF5KCk7Zm9yZWFjaChnZXRfcm93cygiU0VMRUNUIG5hbWUgQVMgTmFtZSwgdHlwZSBBUyBFbmdpbmUgRlJPTSBzcWxpdGVfbWFzdGVyIFdIRVJFIHR5cGUgSU4gKCd0YWJsZScsICd2aWV3JykiLigkQSE9IiI/IiBBTkQgbmFtZSA9ICIucSgkQSk6IiIpKWFzJEopeyRKWyJBdXRvX2luY3JlbWVudCJdPSIiOyRJWyRKWyJOYW1lIl1dPSRKO31mb3JlYWNoKGdldF9yb3dzKCJTRUxFQ1QgKiBGUk9NIHNxbGl0ZV9zZXF1ZW5jZSIsbnVsbCwiIilhcyRKKXskSVskSlsibmFtZSJdXVsiQXV0b19pbmNyZW1lbnQiXT0kSlsic2VxIl07fXJldHVybigkQSE9IiI/JElbJEFdOiRJKTt9ZnVuY3Rpb24KaXNfdmlldygkUSl7cmV0dXJuJFFbIkVuZ2luZSJdPT0idmlldyI7fWZ1bmN0aW9uCmZrX3N1cHBvcnQoJFEpe2dsb2JhbCRoO3JldHVybiRfR0VUWyJjcmVhdGUiXT09IiImJiEkaC0+cmVzdWx0KCJTRUxFQ1Qgc3FsaXRlX2NvbXBpbGVvcHRpb25fdXNlZCgnT01JVF9GT1JFSUdOX0tFWScpIik7fWZ1bmN0aW9uCmZpZWxkcygkUCl7JEk9YXJyYXkoKTtmb3JlYWNoKGdldF9yb3dzKCJQUkFHTUEgdGFibGVfaW5mbygiLnRhYmxlKCRQKS4iKSIpYXMkSil7JFU9c3RydG9sb3dlcigkSlsidHlwZSJdKTskUWE9JEpbImRmbHRfdmFsdWUiXTskSVskSlsibmFtZSJdXT1hcnJheSgiZmllbGQiPT4kSlsibmFtZSJdLCJ0eXBlIj0+KGVyZWdpKCJpbnQiLCRVKT8iaW50ZWdlciI6KGVyZWdpKCJjaGFyfGNsb2J8dGV4dCIsJFUpPyJ0ZXh0IjooZXJlZ2koImJsb2IiLCRVKT8iYmxvYiI6KGVyZWdpKCJyZWFsfGZsb2F8ZG91YiIsJFUpPyJyZWFsIjoibnVtZXJpYyIpKSkpLCJmdWxsX3R5cGUiPT4kVSwiZGVmYXVsdCI9PihlcmVnKCInKC4qKSciLCRRYSwkeik/c3RyX3JlcGxhY2UoIicnIiwiJyIsJHpbMV0pOigkUWE9PSJOVUxMIj9udWxsOiRRYSkpLCJudWxsIj0+ISRKWyJub3RudWxsIl0sImF1dG9faW5jcmVtZW50Ij0+ZXJlZ2koJ15pbnRlZ2VyJCcsJFUpJiYkSlsicGsiXSwicHJpdmlsZWdlcyI9PmFycmF5KCJzZWxlY3QiPT4xLCJpbnNlcnQiPT4xLCJ1cGRhdGUiPT4xKSwicHJpbWFyeSI9PiRKWyJwayJdLCk7fXJldHVybiRJO31mdW5jdGlvbgppbmRleGVzKCRQLCRpPW51bGwpeyRJPWFycmF5KCk7JFZjPWFycmF5KCk7Zm9yZWFjaChmaWVsZHMoJFApYXMkbil7aWYoJG5bInByaW1hcnkiXSl7JFZjW109JG5bImZpZWxkIl07fX1pZigkVmMpeyRJWyIiXT1hcnJheSgidHlwZSI9PiJQUklNQVJZIiwiY29sdW1ucyI9PiRWYywibGVuZ3RocyI9PmFycmF5KCkpO31mb3JlYWNoKGdldF9yb3dzKCJQUkFHTUEgaW5kZXhfbGlzdCgiLnRhYmxlKCRQKS4iKSIpYXMkSil7JElbJEpbIm5hbWUiXV1bInR5cGUiXT0oJEpbInVuaXF1ZSJdPyJVTklRVUUiOiJJTkRFWCIpOyRJWyRKWyJuYW1lIl1dWyJsZW5ndGhzIl09YXJyYXkoKTtmb3JlYWNoKGdldF9yb3dzKCJQUkFHTUEgaW5kZXhfaW5mbygiLmlkZl9lc2NhcGUoJEpbIm5hbWUiXSkuIikiKWFzJGlkKXskSVskSlsibmFtZSJdXVsiY29sdW1ucyJdW109JGlkWyJuYW1lIl07fX1yZXR1cm4kSTt9ZnVuY3Rpb24KZm9yZWlnbl9rZXlzKCRQKXskST1hcnJheSgpO2ZvcmVhY2goZ2V0X3Jvd3MoIlBSQUdNQSBmb3JlaWduX2tleV9saXN0KCIudGFibGUoJFApLiIpIilhcyRKKXskcD0mJElbJEpbImlkIl1dO2lmKCEkcCl7JHA9JEo7fSRwWyJzb3VyY2UiXVtdPSRKWyJmcm9tIl07JHBbInRhcmdldCJdW109JEpbInRvIl07fXJldHVybiRJO31mdW5jdGlvbgp2aWV3KCRBKXtnbG9iYWwkaDtyZXR1cm4KYXJyYXkoInNlbGVjdCI9PnByZWdfcmVwbGFjZSgnfl4oPzpbXmAiW10rfGBbXmBdKmB8IlteIl0qIikqIEFTXFxzK35pVScsJycsJGgtPnJlc3VsdCgiU0VMRUNUIHNxbCBGUk9NIHNxbGl0ZV9tYXN0ZXIgV0hFUkUgbmFtZSA9ICIucSgkQSkpKSk7fWZ1bmN0aW9uCmNvbGxhdGlvbnMoKXtyZXR1cm4oaXNzZXQoJF9HRVRbImNyZWF0ZSJdKT9nZXRfdmFscygiUFJBR01BIGNvbGxhdGlvbl9saXN0IiwxKTphcnJheSgpKTt9ZnVuY3Rpb24KaW5mb3JtYXRpb25fc2NoZW1hKCRsKXtyZXR1cm4KZmFsc2U7fWZ1bmN0aW9uCmVycm9yKCl7Z2xvYmFsJGg7cmV0dXJuCmgoJGgtPmVycm9yKTt9ZnVuY3Rpb24KZXhhY3RfdmFsdWUoJFgpe3JldHVybgpxKCRYKTt9ZnVuY3Rpb24KY2hlY2tfc3FsaXRlX25hbWUoJEEpe2dsb2JhbCRoOyRzYj0iZGJ8c2RifHNxbGl0ZSI7aWYoIXByZWdfbWF0Y2goIn5eW15cXDBdKlxcLigkc2IpXCR+IiwkQSkpeyRoLT5lcnJvcj1sYW5nKDksc3RyX3JlcGxhY2UoInwiLCIsICIsJHNiKSk7cmV0dXJuCmZhbHNlO31yZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24KY3JlYXRlX2RhdGFiYXNlKCRsLCRlKXtnbG9iYWwkaDtpZihmaWxlX2V4aXN0cygkbCkpeyRoLT5lcnJvcj1sYW5nKDEwKTtyZXR1cm4KZmFsc2U7fWlmKCFjaGVja19zcWxpdGVfbmFtZSgkbCkpe3JldHVybgpmYWxzZTt9JHk9bmV3Ck1pbl9TUUxpdGUoJGwpOyR5LT5xdWVyeSgnUFJBR01BIGVuY29kaW5nID0gIlVURi04IicpOyR5LT5xdWVyeSgnQ1JFQVRFIFRBQkxFIGFkbWluZXIgKGkpJyk7JHktPnF1ZXJ5KCdEUk9QIFRBQkxFIGFkbWluZXInKTtyZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24KZHJvcF9kYXRhYmFzZXMoJGspe2dsb2JhbCRoOyRoLT5NaW5fU1FMaXRlKCI6bWVtb3J5OiIpO2ZvcmVhY2goJGsKYXMkbCl7aWYoIUB1bmxpbmsoJGwpKXskaC0+ZXJyb3I9bGFuZygxMCk7cmV0dXJuCmZhbHNlO319cmV0dXJuCnRydWU7fWZ1bmN0aW9uCnJlbmFtZV9kYXRhYmFzZSgkQSwkZSl7Z2xvYmFsJGg7aWYoIWNoZWNrX3NxbGl0ZV9uYW1lKCRBKSl7cmV0dXJuCmZhbHNlO30kaC0+TWluX1NRTGl0ZSgiOm1lbW9yeToiKTskaC0+ZXJyb3I9bGFuZygxMCk7cmV0dXJuQHJlbmFtZShEQiwkQSk7fWZ1bmN0aW9uCmF1dG9faW5jcmVtZW50KCl7cmV0dXJuIiBQUklNQVJZIEtFWSIuKERSSVZFUj09InNxbGl0ZSI/IiBBVVRPSU5DUkVNRU5UIjoiIik7fWZ1bmN0aW9uCmFsdGVyX3RhYmxlKCRQLCRBLCRvLCRBYiwkSWEsJGdiLCRlLCRzYSwkUWMpeyRkPWFycmF5KCk7Zm9yZWFjaCgkbwphcyRuKXtpZigkblsxXSl7JGRbXT0oJFAhPSIiJiYkblswXT09IiI/IkFERCAiOiIgICIpLmltcGxvZGUoJG5bMV0pO319JGQ9YXJyYXlfbWVyZ2UoJGQsJEFiKTtpZigkUCE9IiIpe2ZvcmVhY2goJGQKYXMkWCl7aWYoIXF1ZXJpZXMoIkFMVEVSIFRBQkxFICIudGFibGUoJFApLiIgJFgiKSl7cmV0dXJuCmZhbHNlO319aWYoJFAhPSRBJiYhcXVlcmllcygiQUxURVIgVEFCTEUgIi50YWJsZSgkUCkuIiBSRU5BTUUgVE8gIi50YWJsZSgkQSkpKXtyZXR1cm4KZmFsc2U7fX1lbHNlaWYoIXF1ZXJpZXMoIkNSRUFURSBUQUJMRSAiLnRhYmxlKCRBKS4iIChcbiIuaW1wbG9kZSgiLFxuIiwkZCkuIlxuKSIpKXtyZXR1cm4KZmFsc2U7fWlmKCRzYSl7cXVlcmllcygiVVBEQVRFIHNxbGl0ZV9zZXF1ZW5jZSBTRVQgc2VxID0gJHNhIFdIRVJFIG5hbWUgPSAiLnEoJEEpKTt9cmV0dXJuCnRydWU7fWZ1bmN0aW9uCmFsdGVyX2luZGV4ZXMoJFAsJGQpe2ZvcmVhY2goJGQKYXMkWCl7aWYoIXF1ZXJpZXMoJFhbMl09PSJEUk9QIj8iRFJPUCBJTkRFWCAiLmlkZl9lc2NhcGUoJFhbMV0pOiJDUkVBVEUgJFhbMF0gIi4oJFhbMF0hPSJJTkRFWCI/IklOREVYICI6IiIpLmlkZl9lc2NhcGUoJFhbMV0hPSIiPyRYWzFdOnVuaXFpZCgkUC4iXyIpKS4iIE9OICIudGFibGUoJFApLiIgJFhbMl0iKSl7cmV0dXJuCmZhbHNlO319cmV0dXJuCnRydWU7fWZ1bmN0aW9uCnRydW5jYXRlX3RhYmxlcygkUil7cmV0dXJuCmFwcGx5X3F1ZXJpZXMoIkRFTEVURSBGUk9NIiwkUik7fWZ1bmN0aW9uCmRyb3Bfdmlld3MoJGZlKXtyZXR1cm4KYXBwbHlfcXVlcmllcygiRFJPUCBWSUVXIiwkZmUpO31mdW5jdGlvbgpkcm9wX3RhYmxlcygkUil7cmV0dXJuCmFwcGx5X3F1ZXJpZXMoIkRST1AgVEFCTEUiLCRSKTt9ZnVuY3Rpb24KbW92ZV90YWJsZXMoJFIsJGZlLCRTKXtyZXR1cm4KZmFsc2U7fWZ1bmN0aW9uCnRyaWdnZXIoJEEpe2dsb2JhbCRoO2lmKCRBPT0iIil7cmV0dXJuCmFycmF5KCJTdGF0ZW1lbnQiPT4iQkVHSU5cblx0O1xuRU5EIik7fXByZWdfbWF0Y2goJ35eQ1JFQVRFXFxzK1RSSUdHRVJcXHMqKD86W15gIlxcc10rfGBbXmBdKmB8IlteIl0qIikrXFxzKihbYS16XSspXFxzKyhbYS16XSspXFxzK09OXFxzKig/OlteYCJcXHNdK3xgW15gXSpgfCJbXiJdKiIpK1xccyooPzpGT1JcXHMqRUFDSFxccypST1dcXHMpPyguKil+aXMnLCRoLT5yZXN1bHQoIlNFTEVDVCBzcWwgRlJPTSBzcWxpdGVfbWFzdGVyIFdIRVJFIG5hbWUgPSAiLnEoJEEpKSwkeik7cmV0dXJuCmFycmF5KCJUaW1pbmciPT5zdHJ0b3VwcGVyKCR6WzFdKSwiRXZlbnQiPT5zdHJ0b3VwcGVyKCR6WzJdKSwiVHJpZ2dlciI9PiRBLCJTdGF0ZW1lbnQiPT4kelszXSk7fWZ1bmN0aW9uCnRyaWdnZXJzKCRQKXskST1hcnJheSgpO2ZvcmVhY2goZ2V0X3Jvd3MoIlNFTEVDVCAqIEZST00gc3FsaXRlX21hc3RlciBXSEVSRSB0eXBlID0gJ3RyaWdnZXInIEFORCB0YmxfbmFtZSA9ICIucSgkUCkpYXMkSil7cHJlZ19tYXRjaCgnfl5DUkVBVEVcXHMrVFJJR0dFUlxccyooPzpbXmAiXFxzXSt8YFteYF0qYHwiW14iXSoiKStcXHMqKFthLXpdKylcXHMqKFthLXpdKyl+aScsJEpbInNxbCJdLCR6KTskSVskSlsibmFtZSJdXT1hcnJheSgkelsxXSwkelsyXSk7fXJldHVybiRJO31mdW5jdGlvbgp0cmlnZ2VyX29wdGlvbnMoKXtyZXR1cm4KYXJyYXkoIlRpbWluZyI9PmFycmF5KCJCRUZPUkUiLCJBRlRFUiIsIklOU1RFQUQgT0YiKSwiVHlwZSI9PmFycmF5KCJGT1IgRUFDSCBST1ciKSwpO31mdW5jdGlvbgpyb3V0aW5lKCRBLCRVKXt9ZnVuY3Rpb24Kcm91dGluZXMoKXt9ZnVuY3Rpb24Kcm91dGluZV9sYW5ndWFnZXMoKXt9ZnVuY3Rpb24KYmVnaW4oKXtyZXR1cm4KcXVlcmllcygiQkVHSU4iKTt9ZnVuY3Rpb24KaW5zZXJ0X2ludG8oJFAsJE4pe3JldHVybgpxdWVyaWVzKCJJTlNFUlQgSU5UTyAiLnRhYmxlKCRQKS4oJE4/IiAoIi5pbXBsb2RlKCIsICIsYXJyYXlfa2V5cygkTikpLiIpXG5WQUxVRVMgKCIuaW1wbG9kZSgiLCAiLCROKS4iKSI6IkRFRkFVTFQgVkFMVUVTIikpO31mdW5jdGlvbgppbnNlcnRfdXBkYXRlKCRQLCROLCRWYyl7cmV0dXJuCnF1ZXJpZXMoIlJFUExBQ0UgSU5UTyAiLnRhYmxlKCRQKS4iICgiLmltcGxvZGUoIiwgIixhcnJheV9rZXlzKCROKSkuIikgVkFMVUVTICgiLmltcGxvZGUoIiwgIiwkTikuIikiKTt9ZnVuY3Rpb24KbGFzdF9pZCgpe2dsb2JhbCRoO3JldHVybiRoLT5yZXN1bHQoIlNFTEVDVCBMQVNUX0lOU0VSVF9ST1dJRCgpIik7fWZ1bmN0aW9uCmV4cGxhaW4oJGgsJEcpe3JldHVybiRoLT5xdWVyeSgiRVhQTEFJTiAkRyIpO31mdW5jdGlvbgpmb3VuZF9yb3dzKCRRLCRaKXt9ZnVuY3Rpb24KdHlwZXMoKXtyZXR1cm4KYXJyYXkoKTt9ZnVuY3Rpb24Kc2NoZW1hcygpe3JldHVybgphcnJheSgpO31mdW5jdGlvbgpnZXRfc2NoZW1hKCl7cmV0dXJuIiI7fWZ1bmN0aW9uCnNldF9zY2hlbWEoJGxkKXtyZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24KY3JlYXRlX3NxbCgkUCwkc2Epe2dsb2JhbCRoO3JldHVybiRoLT5yZXN1bHQoIlNFTEVDVCBzcWwgRlJPTSBzcWxpdGVfbWFzdGVyIFdIRVJFIHR5cGUgPSAndGFibGUnIEFORCBuYW1lID0gIi5xKCRQKSk7fWZ1bmN0aW9uCnRydW5jYXRlX3NxbCgkUCl7cmV0dXJuIkRFTEVURSBGUk9NICIudGFibGUoJFApO31mdW5jdGlvbgp1c2Vfc3FsKCRqKXt9ZnVuY3Rpb24KdHJpZ2dlcl9zcWwoJFAsJHpkKXtyZXR1cm4KaW1wbG9kZShnZXRfdmFscygiU0VMRUNUIHNxbCB8fCAnOztcbicgRlJPTSBzcWxpdGVfbWFzdGVyIFdIRVJFIHR5cGUgPSAndHJpZ2dlcicgQU5EIHRibF9uYW1lID0gIi5xKCRQKSkpO31mdW5jdGlvbgpzaG93X3ZhcmlhYmxlcygpe2dsb2JhbCRoOyRJPWFycmF5KCk7Zm9yZWFjaChhcnJheSgiYXV0b192YWN1dW0iLCJjYWNoZV9zaXplIiwiY291bnRfY2hhbmdlcyIsImRlZmF1bHRfY2FjaGVfc2l6ZSIsImVtcHR5X3Jlc3VsdF9jYWxsYmFja3MiLCJlbmNvZGluZyIsImZvcmVpZ25fa2V5cyIsImZ1bGxfY29sdW1uX25hbWVzIiwiZnVsbGZzeW5jIiwiam91cm5hbF9tb2RlIiwiam91cm5hbF9zaXplX2xpbWl0IiwibGVnYWN5X2ZpbGVfZm9ybWF0IiwibG9ja2luZ19tb2RlIiwicGFnZV9zaXplIiwibWF4X3BhZ2VfY291bnQiLCJyZWFkX3VuY29tbWl0dGVkIiwicmVjdXJzaXZlX3RyaWdnZXJzIiwicmV2ZXJzZV91bm9yZGVyZWRfc2VsZWN0cyIsInNlY3VyZV9kZWxldGUiLCJzaG9ydF9jb2x1bW5fbmFtZXMiLCJzeW5jaHJvbm91cyIsInRlbXBfc3RvcmUiLCJ0ZW1wX3N0b3JlX2RpcmVjdG9yeSIsInNjaGVtYV92ZXJzaW9uIiwiaW50ZWdyaXR5X2NoZWNrIiwicXVpY2tfY2hlY2siKWFzJHcpeyRJWyR3XT0kaC0+cmVzdWx0KCJQUkFHTUEgJHciKTt9cmV0dXJuJEk7fWZ1bmN0aW9uCnNob3dfc3RhdHVzKCl7JEk9YXJyYXkoKTtmb3JlYWNoKGdldF92YWxzKCJQUkFHTUEgY29tcGlsZV9vcHRpb25zIilhcyRIYyl7bGlzdCgkdywkWCk9ZXhwbG9kZSgiPSIsJEhjLDIpOyRJWyR3XT0kWDt9cmV0dXJuJEk7fWZ1bmN0aW9uCnN1cHBvcnQoJHViKXtyZXR1cm4KZXJlZygnXih2aWV3fHRyaWdnZXJ8dmFyaWFibGVzfHN0YXR1c3xkdW1wKSQnLCR1Yik7fSRiYz0ic3FsaXRlIjskUmQ9YXJyYXkoImludGVnZXIiPT4wLCJyZWFsIj0+MCwibnVtZXJpYyI9PjAsInRleHQiPT4wLCJibG9iIj0+MCk7JHlkPWFycmF5X2tleXMoJFJkKTskWWQ9YXJyYXkoKTskR2M9YXJyYXkoIj0iLCI8IiwiPiIsIjw9IiwiPj0iLCIhPSIsIkxJS0UiLCJMSUtFICUlIiwiSU4iLCJJUyBOVUxMIiwiTk9UIExJS0UiLCJOT1QgSU4iLCJJUyBOT1QgTlVMTCIsIiIpOyRJYj1hcnJheSgiaGV4IiwibGVuZ3RoIiwibG93ZXIiLCJyb3VuZCIsInVuaXhlcG9jaCIsInVwcGVyIik7JExiPWFycmF5KCJhdmciLCJjb3VudCIsImNvdW50IGRpc3RpbmN0IiwiZ3JvdXBfY29uY2F0IiwibWF4IiwibWluIiwic3VtIik7JGFiPWFycmF5KGFycmF5KCksYXJyYXkoImludGVnZXJ8cmVhbHxudW1lcmljIj0+IisvLSIsInRleHQiPT4ifHwiLCkpO30kV2FbInBnc3FsIl09IlBvc3RncmVTUUwiO2lmKGlzc2V0KCRfR0VUWyJwZ3NxbCJdKSl7JFVjPWFycmF5KCJQZ1NRTCIsIlBET19QZ1NRTCIpO2RlZmluZSgiRFJJVkVSIiwicGdzcWwiKTtpZihleHRlbnNpb25fbG9hZGVkKCJwZ3NxbCIpKXtjbGFzcwpNaW5fREJ7dmFyJGV4dGVuc2lvbj0iUGdTUUwiLCRfbGluaywkX3Jlc3VsdCwkX3N0cmluZywkX2RhdGFiYXNlPXRydWUsJHNlcnZlcl9pbmZvLCRhZmZlY3RlZF9yb3dzLCRlcnJvcjtmdW5jdGlvbgpfZXJyb3IoJGpiLCRtKXtpZihpbmlfYm9vbCgiaHRtbF9lcnJvcnMiKSl7JG09aHRtbF9lbnRpdHlfZGVjb2RlKHN0cmlwX3RhZ3MoJG0pKTt9JG09ZXJlZ19yZXBsYWNlKCdeW146XSo6ICcsJycsJG0pOyR0aGlzLT5lcnJvcj0kbTt9ZnVuY3Rpb24KY29ubmVjdCgkTSwkViwkRSl7Z2xvYmFsJGM7JGw9JGMtPmRhdGFiYXNlKCk7c2V0X2Vycm9yX2hhbmRsZXIoYXJyYXkoJHRoaXMsJ19lcnJvcicpKTskdGhpcy0+X3N0cmluZz0iaG9zdD0nIi5zdHJfcmVwbGFjZSgiOiIsIicgcG9ydD0nIixhZGRjc2xhc2hlcygkTSwiJ1xcIikpLiInIHVzZXI9JyIuYWRkY3NsYXNoZXMoJFYsIidcXCIpLiInIHBhc3N3b3JkPSciLmFkZGNzbGFzaGVzKCRFLCInXFwiKS4iJyI7JHRoaXMtPl9saW5rPUBwZ19jb25uZWN0KCR0aGlzLT5fc3RyaW5nLigkbCE9IiI/IiBkYm5hbWU9JyIuYWRkY3NsYXNoZXMoJGwsIidcXCIpLiInIjoiIGRibmFtZT0ndGVtcGxhdGUxJyIpLFBHU1FMX0NPTk5FQ1RfRk9SQ0VfTkVXKTtpZighJHRoaXMtPl9saW5rJiYkbCE9IiIpeyR0aGlzLT5fZGF0YWJhc2U9ZmFsc2U7JHRoaXMtPl9saW5rPUBwZ19jb25uZWN0KCIkdGhpcy0+X3N0cmluZyBkYm5hbWU9J3RlbXBsYXRlMSciLFBHU1FMX0NPTk5FQ1RfRk9SQ0VfTkVXKTt9cmVzdG9yZV9lcnJvcl9oYW5kbGVyKCk7aWYoJHRoaXMtPl9saW5rKXskZGU9cGdfdmVyc2lvbigkdGhpcy0+X2xpbmspOyR0aGlzLT5zZXJ2ZXJfaW5mbz0kZGVbInNlcnZlciJdO3BnX3NldF9jbGllbnRfZW5jb2RpbmcoJHRoaXMtPl9saW5rLCJVVEY4Iik7fXJldHVybihib29sKSR0aGlzLT5fbGluazt9ZnVuY3Rpb24KcXVvdGUoJE8pe3JldHVybiInIi5wZ19lc2NhcGVfc3RyaW5nKCR0aGlzLT5fbGluaywkTykuIiciO31mdW5jdGlvbgpzZWxlY3RfZGIoJGope2dsb2JhbCRjO2lmKCRqPT0kYy0+ZGF0YWJhc2UoKSl7cmV0dXJuJHRoaXMtPl9kYXRhYmFzZTt9JEk9QHBnX2Nvbm5lY3QoIiR0aGlzLT5fc3RyaW5nIGRibmFtZT0nIi5hZGRjc2xhc2hlcygkaiwiJ1xcIikuIiciLFBHU1FMX0NPTk5FQ1RfRk9SQ0VfTkVXKTtpZigkSSl7JHRoaXMtPl9saW5rPSRJO31yZXR1cm4kSTt9ZnVuY3Rpb24KY2xvc2UoKXskdGhpcy0+X2xpbms9QHBnX2Nvbm5lY3QoIiR0aGlzLT5fc3RyaW5nIGRibmFtZT0ndGVtcGxhdGUxJyIpO31mdW5jdGlvbgpxdWVyeSgkRywkU2Q9ZmFsc2UpeyRIPUBwZ19xdWVyeSgkdGhpcy0+X2xpbmssJEcpO2lmKCEkSCl7JHRoaXMtPmVycm9yPXBnX2xhc3RfZXJyb3IoJHRoaXMtPl9saW5rKTtyZXR1cm4KZmFsc2U7fWVsc2VpZighcGdfbnVtX2ZpZWxkcygkSCkpeyR0aGlzLT5hZmZlY3RlZF9yb3dzPXBnX2FmZmVjdGVkX3Jvd3MoJEgpO3JldHVybgp0cnVlO31yZXR1cm4KbmV3Ck1pbl9SZXN1bHQoJEgpO31mdW5jdGlvbgptdWx0aV9xdWVyeSgkRyl7cmV0dXJuJHRoaXMtPl9yZXN1bHQ9JHRoaXMtPnF1ZXJ5KCRHKTt9ZnVuY3Rpb24Kc3RvcmVfcmVzdWx0KCl7cmV0dXJuJHRoaXMtPl9yZXN1bHQ7fWZ1bmN0aW9uCm5leHRfcmVzdWx0KCl7cmV0dXJuCmZhbHNlO31mdW5jdGlvbgpyZXN1bHQoJEcsJG49MCl7JEg9JHRoaXMtPnF1ZXJ5KCRHKTtpZighJEh8fCEkSC0+bnVtX3Jvd3Mpe3JldHVybgpmYWxzZTt9cmV0dXJuCnBnX2ZldGNoX3Jlc3VsdCgkSC0+X3Jlc3VsdCwwLCRuKTt9fWNsYXNzCk1pbl9SZXN1bHR7dmFyJF9yZXN1bHQsJF9vZmZzZXQ9MCwkbnVtX3Jvd3M7ZnVuY3Rpb24KTWluX1Jlc3VsdCgkSCl7JHRoaXMtPl9yZXN1bHQ9JEg7JHRoaXMtPm51bV9yb3dzPXBnX251bV9yb3dzKCRIKTt9ZnVuY3Rpb24KZmV0Y2hfYXNzb2MoKXtyZXR1cm4KcGdfZmV0Y2hfYXNzb2MoJHRoaXMtPl9yZXN1bHQpO31mdW5jdGlvbgpmZXRjaF9yb3coKXtyZXR1cm4KcGdfZmV0Y2hfcm93KCR0aGlzLT5fcmVzdWx0KTt9ZnVuY3Rpb24KZmV0Y2hfZmllbGQoKXskZj0kdGhpcy0+X29mZnNldCsrOyRJPW5ldwpzdGRDbGFzcztpZihmdW5jdGlvbl9leGlzdHMoJ3BnX2ZpZWxkX3RhYmxlJykpeyRJLT5vcmd0YWJsZT1wZ19maWVsZF90YWJsZSgkdGhpcy0+X3Jlc3VsdCwkZik7fSRJLT5uYW1lPXBnX2ZpZWxkX25hbWUoJHRoaXMtPl9yZXN1bHQsJGYpOyRJLT5vcmduYW1lPSRJLT5uYW1lOyRJLT50eXBlPXBnX2ZpZWxkX3R5cGUoJHRoaXMtPl9yZXN1bHQsJGYpOyRJLT5jaGFyc2V0bnI9KCRJLT50eXBlPT0iYnl0ZWEiPzYzOjApO3JldHVybiRJO31mdW5jdGlvbgpfX2Rlc3RydWN0KCl7cGdfZnJlZV9yZXN1bHQoJHRoaXMtPl9yZXN1bHQpO319fWVsc2VpZihleHRlbnNpb25fbG9hZGVkKCJwZG9fcGdzcWwiKSl7Y2xhc3MKTWluX0RCCmV4dGVuZHMKTWluX1BET3t2YXIkZXh0ZW5zaW9uPSJQRE9fUGdTUUwiO2Z1bmN0aW9uCmNvbm5lY3QoJE0sJFYsJEUpe2dsb2JhbCRjOyRsPSRjLT5kYXRhYmFzZSgpOyRPPSJwZ3NxbDpob3N0PSciLnN0cl9yZXBsYWNlKCI6IiwiJyBwb3J0PSciLGFkZGNzbGFzaGVzKCRNLCInXFwiKSkuIicgb3B0aW9ucz0nLWMgY2xpZW50X2VuY29kaW5nPXV0ZjgnIjskdGhpcy0+ZHNuKCRPLigkbCE9IiI/IiBkYm5hbWU9JyIuYWRkY3NsYXNoZXMoJGwsIidcXCIpLiInIjoiIiksJFYsJEUpO3JldHVybgp0cnVlO31mdW5jdGlvbgpzZWxlY3RfZGIoJGope2dsb2JhbCRjO3JldHVybigkYy0+ZGF0YWJhc2UoKT09JGopO31mdW5jdGlvbgpjbG9zZSgpe319fWZ1bmN0aW9uCmlkZl9lc2NhcGUoJHQpe3JldHVybiciJy5zdHJfcmVwbGFjZSgnIicsJyIiJywkdCkuJyInO31mdW5jdGlvbgp0YWJsZSgkdCl7cmV0dXJuCmlkZl9lc2NhcGUoJHQpO31mdW5jdGlvbgpjb25uZWN0KCl7Z2xvYmFsJGM7JGg9bmV3Ck1pbl9EQjskTmE9JGMtPmNyZWRlbnRpYWxzKCk7aWYoJGgtPmNvbm5lY3QoJE5hWzBdLCROYVsxXSwkTmFbMl0pKXtyZXR1cm4kaDt9cmV0dXJuJGgtPmVycm9yO31mdW5jdGlvbgpnZXRfZGF0YWJhc2VzKCl7cmV0dXJuCmdldF92YWxzKCJTRUxFQ1QgZGF0bmFtZSBGUk9NIHBnX2RhdGFiYXNlIE9SREVSIEJZIGRhdG5hbWUiKTt9ZnVuY3Rpb24KbGltaXQoJEcsJFosJHgsJEM9MCwkcGQ9IiAiKXtyZXR1cm4iICRHJFoiLihpc3NldCgkeCk/JHBkLiJMSU1JVCAkeCIuKCRDPyIgT0ZGU0VUICRDIjoiIik6IiIpO31mdW5jdGlvbgpsaW1pdDEoJEcsJFope3JldHVybiIgJEckWiI7fWZ1bmN0aW9uCmRiX2NvbGxhdGlvbigkbCwkRmEpe2dsb2JhbCRoO3JldHVybiRoLT5yZXN1bHQoIlNIT1cgTENfQ09MTEFURSIpO31mdW5jdGlvbgplbmdpbmVzKCl7cmV0dXJuCmFycmF5KCk7fWZ1bmN0aW9uCmxvZ2dlZF91c2VyKCl7Z2xvYmFsJGg7cmV0dXJuJGgtPnJlc3VsdCgiU0VMRUNUIHVzZXIiKTt9ZnVuY3Rpb24KdGFibGVzX2xpc3QoKXtyZXR1cm4KZ2V0X2tleV92YWxzKCJTRUxFQ1QgdGFibGVfbmFtZSwgdGFibGVfdHlwZSBGUk9NIGluZm9ybWF0aW9uX3NjaGVtYS50YWJsZXMgV0hFUkUgdGFibGVfc2NoZW1hID0gY3VycmVudF9zY2hlbWEoKSBPUkRFUiBCWSB0YWJsZV9uYW1lIik7fWZ1bmN0aW9uCmNvdW50X3RhYmxlcygkayl7cmV0dXJuCmFycmF5KCk7fWZ1bmN0aW9uCnRhYmxlX3N0YXR1cygkQT0iIil7JEk9YXJyYXkoKTtmb3JlYWNoKGdldF9yb3dzKCJTRUxFQ1QgcmVsbmFtZSBBUyBcIk5hbWVcIiwgQ0FTRSByZWxraW5kIFdIRU4gJ3InIFRIRU4gJycgRUxTRSAndmlldycgRU5EIEFTIFwiRW5naW5lXCIsIHBnX3JlbGF0aW9uX3NpemUob2lkKSBBUyBcIkRhdGFfbGVuZ3RoXCIsIHBnX3RvdGFsX3JlbGF0aW9uX3NpemUob2lkKSAtIHBnX3JlbGF0aW9uX3NpemUob2lkKSBBUyBcIkluZGV4X2xlbmd0aFwiLCBvYmpfZGVzY3JpcHRpb24ob2lkLCAncGdfY2xhc3MnKSBBUyBcIkNvbW1lbnRcIiwgcmVsaGFzb2lkcyBBUyBcIk9pZFwiCkZST00gcGdfY2xhc3MKV0hFUkUgcmVsa2luZCBJTiAoJ3InLCd2JykKQU5EIHJlbG5hbWVzcGFjZSA9IChTRUxFQ1Qgb2lkIEZST00gcGdfbmFtZXNwYWNlIFdIRVJFIG5zcG5hbWUgPSBjdXJyZW50X3NjaGVtYSgpKSIuKCRBIT0iIj8iIEFORCByZWxuYW1lID0gIi5xKCRBKToiIikpYXMkSil7JElbJEpbIk5hbWUiXV09JEo7fXJldHVybigkQSE9IiI/JElbJEFdOiRJKTt9ZnVuY3Rpb24KaXNfdmlldygkUSl7cmV0dXJuJFFbIkVuZ2luZSJdPT0idmlldyI7fWZ1bmN0aW9uCmZrX3N1cHBvcnQoJFEpe3JldHVybgp0cnVlO31mdW5jdGlvbgpmaWVsZHMoJFApeyRJPWFycmF5KCk7Zm9yZWFjaChnZXRfcm93cygiU0VMRUNUIGEuYXR0bmFtZSBBUyBmaWVsZCwgZm9ybWF0X3R5cGUoYS5hdHR0eXBpZCwgYS5hdHR0eXBtb2QpIEFTIGZ1bGxfdHlwZSwgZC5hZHNyYyBBUyBkZWZhdWx0LCBhLmF0dG5vdG51bGwsIGNvbF9kZXNjcmlwdGlvbihjLm9pZCwgYS5hdHRudW0pIEFTIGNvbW1lbnQKRlJPTSBwZ19jbGFzcyBjCkpPSU4gcGdfbmFtZXNwYWNlIG4gT04gYy5yZWxuYW1lc3BhY2UgPSBuLm9pZApKT0lOIHBnX2F0dHJpYnV0ZSBhIE9OIGMub2lkID0gYS5hdHRyZWxpZApMRUZUIEpPSU4gcGdfYXR0cmRlZiBkIE9OIGMub2lkID0gZC5hZHJlbGlkIEFORCBhLmF0dG51bSA9IGQuYWRudW0KV0hFUkUgYy5yZWxuYW1lID0gIi5xKCRQKS4iCkFORCBuLm5zcG5hbWUgPSBjdXJyZW50X3NjaGVtYSgpCkFORCBOT1QgYS5hdHRpc2Ryb3BwZWQKQU5EIGEuYXR0bnVtID4gMApPUkRFUiBCWSBhLmF0dG51bSIpYXMkSil7ZXJlZygnKC4qKShcXCgoLiopXFwpKT8nLCRKWyJmdWxsX3R5cGUiXSwkeik7bGlzdCgsJEpbInR5cGUiXSwsJEpbImxlbmd0aCJdKT0kejskSlsiZnVsbF90eXBlIl09JEpbInR5cGUiXS4oJEpbImxlbmd0aCJdPyIoJEpbbGVuZ3RoXSkiOiIiKTskSlsibnVsbCJdPSgkSlsiYXR0bm90bnVsbCJdPT0iZiIpOyRKWyJhdXRvX2luY3JlbWVudCJdPWVyZWdpKCJebmV4dHZhbFxcKCIsJEpbImRlZmF1bHQiXSk7JEpbInByaXZpbGVnZXMiXT1hcnJheSgiaW5zZXJ0Ij0+MSwic2VsZWN0Ij0+MSwidXBkYXRlIj0+MSk7aWYocHJlZ19tYXRjaCgnfl4oLiopOjouKyR+JywkSlsiZGVmYXVsdCJdLCR6KSl7JEpbImRlZmF1bHQiXT0oJHpbMV1bMF09PSInIj9pZGZfdW5lc2NhcGUoJHpbMV0pOiR6WzFdKTt9JElbJEpbImZpZWxkIl1dPSRKO31yZXR1cm4kSTt9ZnVuY3Rpb24KaW5kZXhlcygkUCwkaT1udWxsKXtnbG9iYWwkaDtpZighaXNfb2JqZWN0KCRpKSl7JGk9JGg7fSRJPWFycmF5KCk7JEZkPSRpLT5yZXN1bHQoIlNFTEVDVCBvaWQgRlJPTSBwZ19jbGFzcyBXSEVSRSByZWxuYW1lID0gIi5xKCRQKSk7JGc9Z2V0X2tleV92YWxzKCJTRUxFQ1QgYXR0bnVtLCBhdHRuYW1lIEZST00gcGdfYXR0cmlidXRlIFdIRVJFIGF0dHJlbGlkID0gJEZkIEFORCBhdHRudW0gPiAwIiwkaSk7Zm9yZWFjaChnZXRfcm93cygiU0VMRUNUIHJlbG5hbWUsIGluZGlzdW5pcXVlLCBpbmRpc3ByaW1hcnksIGluZGtleSBGUk9NIHBnX2luZGV4IGksIHBnX2NsYXNzIGNpIFdIRVJFIGkuaW5kcmVsaWQgPSAkRmQgQU5EIGNpLm9pZCA9IGkuaW5kZXhyZWxpZCIsJGkpYXMkSil7JElbJEpbInJlbG5hbWUiXV1bInR5cGUiXT0oJEpbImluZGlzcHJpbWFyeSJdPT0idCI/IlBSSU1BUlkiOigkSlsiaW5kaXN1bmlxdWUiXT09InQiPyJVTklRVUUiOiJJTkRFWCIpKTskSVskSlsicmVsbmFtZSJdXVsiY29sdW1ucyJdPWFycmF5KCk7Zm9yZWFjaChleHBsb2RlKCIgIiwkSlsiaW5ka2V5Il0pYXMkVmIpeyRJWyRKWyJyZWxuYW1lIl1dWyJjb2x1bW5zIl1bXT0kZ1skVmJdO30kSVskSlsicmVsbmFtZSJdXVsibGVuZ3RocyJdPWFycmF5KCk7fXJldHVybiRJO31mdW5jdGlvbgpmb3JlaWduX2tleXMoJFApe2dsb2JhbCRCYzskST1hcnJheSgpO2ZvcmVhY2goZ2V0X3Jvd3MoIlNFTEVDVCBjb25uYW1lLCBwZ19nZXRfY29uc3RyYWludGRlZihvaWQpIEFTIGRlZmluaXRpb24KRlJPTSBwZ19jb25zdHJhaW50CldIRVJFIGNvbnJlbGlkID0gKFNFTEVDVCBvaWQgRlJPTSBwZ19jbGFzcyBXSEVSRSByZWxuYW1lID0gIi5xKCRQKS4iKQpBTkQgY29udHlwZSA9ICdmJzo6Y2hhcgpPUkRFUiBCWSBjb25rZXksIGNvbm5hbWUiKWFzJEope2lmKHByZWdfbWF0Y2goJ35GT1JFSUdOIEtFWVxzKlwoKC4rKVwpXHMqUkVGRVJFTkNFUyAoLispXCgoLispXCkoLiopJH5pQScsJEpbJ2RlZmluaXRpb24nXSwkeikpeyRKWydzb3VyY2UnXT1hcnJheV9tYXAoJ3RyaW0nLGV4cGxvZGUoJywnLCR6WzFdKSk7JEpbJ3RhYmxlJ109JHpbMl07aWYocHJlZ19tYXRjaCgnfiguKylcLiguKyl+JywkelsyXSwkb2MpKXskSlsnbnMnXT0kb2NbMV07JEpbJ3RhYmxlJ109JG9jWzJdO30kSlsndGFyZ2V0J109YXJyYXlfbWFwKCd0cmltJyxleHBsb2RlKCcsJywkelszXSkpOyRKWydvbl9kZWxldGUnXT0ocHJlZ19tYXRjaCgifk9OIERFTEVURSAoJEJjKX4iLCR6WzRdLCRvYyk/JG9jWzFdOicnKTskSlsnb25fdXBkYXRlJ109KHByZWdfbWF0Y2goIn5PTiBVUERBVEUgKCRCYyl+Iiwkels0XSwkb2MpPyRvY1sxXTonJyk7JElbJEpbJ2Nvbm5hbWUnXV09JEo7fX1yZXR1cm4kSTt9ZnVuY3Rpb24KdmlldygkQSl7Z2xvYmFsJGg7cmV0dXJuCmFycmF5KCJzZWxlY3QiPT4kaC0+cmVzdWx0KCJTRUxFQ1QgcGdfZ2V0X3ZpZXdkZWYoIi5xKCRBKS4iKSIpKTt9ZnVuY3Rpb24KY29sbGF0aW9ucygpe3JldHVybgphcnJheSgpO31mdW5jdGlvbgppbmZvcm1hdGlvbl9zY2hlbWEoJGwpe3JldHVybigkbD09ImluZm9ybWF0aW9uX3NjaGVtYSIpO31mdW5jdGlvbgplcnJvcigpe2dsb2JhbCRoOyRJPWgoJGgtPmVycm9yKTtpZihwcmVnX21hdGNoKCd+XiguKlxcbik/KFteXFxuXSopXFxuKCAqKVxcXihcXG4uKik/JH5zJywkSSwkeikpeyRJPSR6WzFdLnByZWdfcmVwbGFjZSgnfigoPzpbXiZdfCZbXjtdKjspeycuc3RybGVuKCR6WzNdKS4nfSkoLiopficsJ1xcMTxiPlxcMjwvYj4nLCR6WzJdKS4kels0XTt9cmV0dXJuCm5sX2JyKCRJKTt9ZnVuY3Rpb24KZXhhY3RfdmFsdWUoJFgpe3JldHVybgpxKCRYKTt9ZnVuY3Rpb24KY3JlYXRlX2RhdGFiYXNlKCRsLCRlKXtyZXR1cm4KcXVlcmllcygiQ1JFQVRFIERBVEFCQVNFICIuaWRmX2VzY2FwZSgkbCkuKCRlPyIgRU5DT0RJTkcgIi5pZGZfZXNjYXBlKCRlKToiIikpO31mdW5jdGlvbgpkcm9wX2RhdGFiYXNlcygkayl7Z2xvYmFsJGg7JGgtPmNsb3NlKCk7cmV0dXJuCmFwcGx5X3F1ZXJpZXMoIkRST1AgREFUQUJBU0UiLCRrLCdpZGZfZXNjYXBlJyk7fWZ1bmN0aW9uCnJlbmFtZV9kYXRhYmFzZSgkQSwkZSl7cmV0dXJuCnF1ZXJpZXMoIkFMVEVSIERBVEFCQVNFICIuaWRmX2VzY2FwZShEQikuIiBSRU5BTUUgVE8gIi5pZGZfZXNjYXBlKCRBKSk7fWZ1bmN0aW9uCmF1dG9faW5jcmVtZW50KCl7cmV0dXJuIiI7fWZ1bmN0aW9uCmFsdGVyX3RhYmxlKCRQLCRBLCRvLCRBYiwkSWEsJGdiLCRlLCRzYSwkUWMpeyRkPWFycmF5KCk7JGFkPWFycmF5KCk7Zm9yZWFjaCgkbwphcyRuKXskZj1pZGZfZXNjYXBlKCRuWzBdKTskWD0kblsxXTtpZighJFgpeyRkW109IkRST1AgJGYiO31lbHNleyRjZT0kWFs1XTt1bnNldCgkWFs1XSk7aWYoaXNzZXQoJFhbNl0pJiYkblswXT09IiIpeyRYWzFdPSgkWFsxXT09ImJpZ2ludCI/IiBiaWciOiIgIikuInNlcmlhbCI7fWlmKCRuWzBdPT0iIil7JGRbXT0oJFAhPSIiPyJBREQgIjoiICAiKS5pbXBsb2RlKCRYKTt9ZWxzZXtpZigkZiE9JFhbMF0peyRhZFtdPSJBTFRFUiBUQUJMRSAiLnRhYmxlKCRQKS4iIFJFTkFNRSAkZiBUTyAkWFswXSI7fSRkW109IkFMVEVSICRmIFRZUEUkWFsxXSI7aWYoISRYWzZdKXskZFtdPSJBTFRFUiAkZiAiLigkWFszXT8iU0VUJFhbM10iOiJEUk9QIERFRkFVTFQiKTskZFtdPSJBTFRFUiAkZiAiLigkWFsyXT09IiBOVUxMIj8iRFJPUCBOT1QiOiJTRVQiKS4kWFsyXTt9fWlmKCRuWzBdIT0iInx8JGNlIT0iIil7JGFkW109IkNPTU1FTlQgT04gQ09MVU1OICIudGFibGUoJFApLiIuJFhbMF0gSVMgIi4oJGNlIT0iIj9zdWJzdHIoJGNlLDkpOiInJyIpO319fSRkPWFycmF5X21lcmdlKCRkLCRBYik7aWYoJFA9PSIiKXthcnJheV91bnNoaWZ0KCRhZCwiQ1JFQVRFIFRBQkxFICIudGFibGUoJEEpLiIgKFxuIi5pbXBsb2RlKCIsXG4iLCRkKS4iXG4pIik7fWVsc2VpZigkZCl7YXJyYXlfdW5zaGlmdCgkYWQsIkFMVEVSIFRBQkxFICIudGFibGUoJFApLiJcbiIuaW1wbG9kZSgiLFxuIiwkZCkpO31pZigkUCE9IiImJiRQIT0kQSl7JGFkW109IkFMVEVSIFRBQkxFICIudGFibGUoJFApLiIgUkVOQU1FIFRPICIudGFibGUoJEEpO31pZigkUCE9IiJ8fCRJYSE9IiIpeyRhZFtdPSJDT01NRU5UIE9OIFRBQkxFICIudGFibGUoJEEpLiIgSVMgIi5xKCRJYSk7fWlmKCRzYSE9IiIpe31mb3JlYWNoKCRhZAphcyRHKXtpZighcXVlcmllcygkRykpe3JldHVybgpmYWxzZTt9fXJldHVybgp0cnVlO31mdW5jdGlvbgphbHRlcl9pbmRleGVzKCRQLCRkKXskTGE9YXJyYXkoKTskWGE9YXJyYXkoKTtmb3JlYWNoKCRkCmFzJFgpe2lmKCRYWzBdIT0iSU5ERVgiKXskTGFbXT0oJFhbMl09PSJEUk9QIj8iXG5EUk9QIENPTlNUUkFJTlQgIi5pZGZfZXNjYXBlKCRYWzFdKToiXG5BREQgJFhbMF0gIi4oJFhbMF09PSJQUklNQVJZIj8iS0VZICI6IiIpLiRYWzJdKTt9ZWxzZWlmKCRYWzJdPT0iRFJPUCIpeyRYYVtdPWlkZl9lc2NhcGUoJFhbMV0pO31lbHNlaWYoIXF1ZXJpZXMoIkNSRUFURSBJTkRFWCAiLmlkZl9lc2NhcGUoJFhbMV0hPSIiPyRYWzFdOnVuaXFpZCgkUC4iXyIpKS4iIE9OICIudGFibGUoJFApLiIgJFhbMl0iKSl7cmV0dXJuCmZhbHNlO319cmV0dXJuKCghJExhfHxxdWVyaWVzKCJBTFRFUiBUQUJMRSAiLnRhYmxlKCRQKS5pbXBsb2RlKCIsIiwkTGEpKSkmJighJFhhfHxxdWVyaWVzKCJEUk9QIElOREVYICIuaW1wbG9kZSgiLCAiLCRYYSkpKSk7fWZ1bmN0aW9uCnRydW5jYXRlX3RhYmxlcygkUil7cmV0dXJuCnF1ZXJpZXMoIlRSVU5DQVRFICIuaW1wbG9kZSgiLCAiLGFycmF5X21hcCgndGFibGUnLCRSKSkpO3JldHVybgp0cnVlO31mdW5jdGlvbgpkcm9wX3ZpZXdzKCRmZSl7cmV0dXJuCnF1ZXJpZXMoIkRST1AgVklFVyAiLmltcGxvZGUoIiwgIixhcnJheV9tYXAoJ3RhYmxlJywkZmUpKSk7fWZ1bmN0aW9uCmRyb3BfdGFibGVzKCRSKXtyZXR1cm4KcXVlcmllcygiRFJPUCBUQUJMRSAiLmltcGxvZGUoIiwgIixhcnJheV9tYXAoJ3RhYmxlJywkUikpKTt9ZnVuY3Rpb24KbW92ZV90YWJsZXMoJFIsJGZlLCRTKXtmb3JlYWNoKCRSCmFzJFApe2lmKCFxdWVyaWVzKCJBTFRFUiBUQUJMRSAiLnRhYmxlKCRQKS4iIFNFVCBTQ0hFTUEgIi5pZGZfZXNjYXBlKCRTKSkpe3JldHVybgpmYWxzZTt9fWZvcmVhY2goJGZlCmFzJFApe2lmKCFxdWVyaWVzKCJBTFRFUiBWSUVXICIudGFibGUoJFApLiIgU0VUIFNDSEVNQSAiLmlkZl9lc2NhcGUoJFMpKSl7cmV0dXJuCmZhbHNlO319cmV0dXJuCnRydWU7fWZ1bmN0aW9uCnRyaWdnZXIoJEEpe2lmKCRBPT0iIil7cmV0dXJuCmFycmF5KCJTdGF0ZW1lbnQiPT4iRVhFQ1VURSBQUk9DRURVUkUgKCkiKTt9JEs9Z2V0X3Jvd3MoJ1NFTEVDVCB0cmlnZ2VyX25hbWUgQVMgIlRyaWdnZXIiLCBjb25kaXRpb25fdGltaW5nIEFTICJUaW1pbmciLCBldmVudF9tYW5pcHVsYXRpb24gQVMgIkV2ZW50IiwgXCdGT1IgRUFDSCBcJyB8fCBhY3Rpb25fb3JpZW50YXRpb24gQVMgIlR5cGUiLCBhY3Rpb25fc3RhdGVtZW50IEFTICJTdGF0ZW1lbnQiIEZST00gaW5mb3JtYXRpb25fc2NoZW1hLnRyaWdnZXJzIFdIRVJFIGV2ZW50X29iamVjdF90YWJsZSA9ICcucSgkX0dFVFsidHJpZ2dlciJdKS4nIEFORCB0cmlnZ2VyX25hbWUgPSAnLnEoJEEpKTtyZXR1cm4KcmVzZXQoJEspO31mdW5jdGlvbgp0cmlnZ2VycygkUCl7JEk9YXJyYXkoKTtmb3JlYWNoKGdldF9yb3dzKCJTRUxFQ1QgKiBGUk9NIGluZm9ybWF0aW9uX3NjaGVtYS50cmlnZ2VycyBXSEVSRSBldmVudF9vYmplY3RfdGFibGUgPSAiLnEoJFApKWFzJEopeyRJWyRKWyJ0cmlnZ2VyX25hbWUiXV09YXJyYXkoJEpbImNvbmRpdGlvbl90aW1pbmciXSwkSlsiZXZlbnRfbWFuaXB1bGF0aW9uIl0pO31yZXR1cm4kSTt9ZnVuY3Rpb24KdHJpZ2dlcl9vcHRpb25zKCl7cmV0dXJuCmFycmF5KCJUaW1pbmciPT5hcnJheSgiQkVGT1JFIiwiQUZURVIiKSwiVHlwZSI9PmFycmF5KCJGT1IgRUFDSCBST1ciLCJGT1IgRUFDSCBTVEFURU1FTlQiKSwpO31mdW5jdGlvbgpyb3V0aW5lcygpe3JldHVybgpnZXRfcm93cygnU0VMRUNUIHAucHJvbmFtZSBBUyAiUk9VVElORV9OQU1FIiwgcC5wcm9hcmd0eXBlcyBBUyAiUk9VVElORV9UWVBFIiwgcGdfY2F0YWxvZy5mb3JtYXRfdHlwZShwLnByb3JldHR5cGUsIE5VTEwpIEFTICJEVERfSURFTlRJRklFUiIKRlJPTSBwZ19jYXRhbG9nLnBnX25hbWVzcGFjZSBuCkpPSU4gcGdfY2F0YWxvZy5wZ19wcm9jIHAgT04gcC5wcm9uYW1lc3BhY2UgPSBuLm9pZApXSEVSRSBuLm5zcG5hbWUgPSBjdXJyZW50X3NjaGVtYSgpCk9SREVSIEJZIHAucHJvbmFtZScpO31mdW5jdGlvbgpyb3V0aW5lX2xhbmd1YWdlcygpe3JldHVybgpnZXRfdmFscygiU0VMRUNUIGxhbmduYW1lIEZST00gcGdfY2F0YWxvZy5wZ19sYW5ndWFnZSIpO31mdW5jdGlvbgpiZWdpbigpe3JldHVybgpxdWVyaWVzKCJCRUdJTiIpO31mdW5jdGlvbgppbnNlcnRfaW50bygkUCwkTil7cmV0dXJuCnF1ZXJpZXMoIklOU0VSVCBJTlRPICIudGFibGUoJFApLigkTj8iICgiLmltcGxvZGUoIiwgIixhcnJheV9rZXlzKCROKSkuIilcblZBTFVFUyAoIi5pbXBsb2RlKCIsICIsJE4pLiIpIjoiREVGQVVMVCBWQUxVRVMiKSk7fWZ1bmN0aW9uCmluc2VydF91cGRhdGUoJFAsJE4sJFZjKXtnbG9iYWwkaDskWmQ9YXJyYXkoKTskWj1hcnJheSgpO2ZvcmVhY2goJE4KYXMkdz0+JFgpeyRaZFtdPSIkdyA9ICRYIjtpZihpc3NldCgkVmNbaWRmX3VuZXNjYXBlKCR3KV0pKXskWltdPSIkdyA9ICRYIjt9fXJldHVybigkWiYmcXVlcmllcygiVVBEQVRFICIudGFibGUoJFApLiIgU0VUICIuaW1wbG9kZSgiLCAiLCRaZCkuIiBXSEVSRSAiLmltcGxvZGUoIiBBTkQgIiwkWikpJiYkaC0+YWZmZWN0ZWRfcm93cyl8fHF1ZXJpZXMoIklOU0VSVCBJTlRPICIudGFibGUoJFApLiIgKCIuaW1wbG9kZSgiLCAiLGFycmF5X2tleXMoJE4pKS4iKSBWQUxVRVMgKCIuaW1wbG9kZSgiLCAiLCROKS4iKSIpO31mdW5jdGlvbgpsYXN0X2lkKCl7cmV0dXJuCjA7fWZ1bmN0aW9uCmV4cGxhaW4oJGgsJEcpe3JldHVybiRoLT5xdWVyeSgiRVhQTEFJTiAkRyIpO31mdW5jdGlvbgpmb3VuZF9yb3dzKCRRLCRaKXtnbG9iYWwkaDtpZihlcmVnKCIgcm93cz0oWzAtOV0rKSIsJGgtPnJlc3VsdCgiRVhQTEFJTiBTRUxFQ1QgKiBGUk9NICIuaWRmX2VzY2FwZSgkUVsiTmFtZSJdKS4oJFo/IiBXSEVSRSAiLmltcGxvZGUoIiBBTkQgIiwkWik6IiIpKSwkZGQpKXtyZXR1cm4kZGRbMV07fXJldHVybgpmYWxzZTt9ZnVuY3Rpb24KdHlwZXMoKXtyZXR1cm4KZ2V0X3ZhbHMoIlNFTEVDVCB0eXBuYW1lCkZST00gcGdfdHlwZQpXSEVSRSB0eXBuYW1lc3BhY2UgPSAoU0VMRUNUIG9pZCBGUk9NIHBnX25hbWVzcGFjZSBXSEVSRSBuc3BuYW1lID0gY3VycmVudF9zY2hlbWEoKSkKQU5EIHR5cHR5cGUgSU4gKCdiJywnZCcsJ2UnKQpBTkQgdHlwZWxlbSA9IDAiKTt9ZnVuY3Rpb24Kc2NoZW1hcygpe3JldHVybgpnZXRfdmFscygiU0VMRUNUIG5zcG5hbWUgRlJPTSBwZ19uYW1lc3BhY2UgT1JERVIgQlkgbnNwbmFtZSIpO31mdW5jdGlvbgpnZXRfc2NoZW1hKCl7Z2xvYmFsJGg7cmV0dXJuJGgtPnJlc3VsdCgiU0VMRUNUIGN1cnJlbnRfc2NoZW1hKCkiKTt9ZnVuY3Rpb24Kc2V0X3NjaGVtYSgka2Qpe2dsb2JhbCRoLCRSZCwkeWQ7JEk9JGgtPnF1ZXJ5KCJTRVQgc2VhcmNoX3BhdGggVE8gIi5pZGZfZXNjYXBlKCRrZCkpO2ZvcmVhY2godHlwZXMoKWFzJFUpe2lmKCFpc3NldCgkUmRbJFVdKSl7JFJkWyRVXT0wOyR5ZFtsYW5nKDExKV1bXT0kVTt9fXJldHVybiRJO31mdW5jdGlvbgp1c2Vfc3FsKCRqKXtyZXR1cm4iXGNvbm5lY3QgIi5pZGZfZXNjYXBlKCRqKTt9ZnVuY3Rpb24Kc2hvd192YXJpYWJsZXMoKXtyZXR1cm4KZ2V0X2tleV92YWxzKCJTSE9XIEFMTCIpO31mdW5jdGlvbgpwcm9jZXNzX2xpc3QoKXtyZXR1cm4KZ2V0X3Jvd3MoIlNFTEVDVCAqIEZST00gcGdfc3RhdF9hY3Rpdml0eSBPUkRFUiBCWSBwcm9jcGlkIik7fWZ1bmN0aW9uCnNob3dfc3RhdHVzKCl7fWZ1bmN0aW9uCnN1cHBvcnQoJHViKXtyZXR1cm4KZXJlZygnXihjb21tZW50fHZpZXd8c2NoZW1lfHByb2Nlc3NsaXN0fHNlcXVlbmNlfHRyaWdnZXJ8dHlwZXx2YXJpYWJsZXN8ZHJvcF9jb2wpJCcsJHViKTt9JGJjPSJwZ3NxbCI7JFJkPWFycmF5KCk7JHlkPWFycmF5KCk7Zm9yZWFjaChhcnJheShsYW5nKDEyKT0+YXJyYXkoInNtYWxsaW50Ij0+NSwiaW50ZWdlciI9PjEwLCJiaWdpbnQiPT4xOSwiYm9vbGVhbiI9PjEsIm51bWVyaWMiPT4wLCJyZWFsIj0+NywiZG91YmxlIHByZWNpc2lvbiI9PjE2LCJtb25leSI9PjIwKSxsYW5nKDEzKT0+YXJyYXkoImRhdGUiPT4xMywidGltZSI9PjE3LCJ0aW1lc3RhbXAiPT4yMCwiaW50ZXJ2YWwiPT4wKSxsYW5nKDE0KT0+YXJyYXkoImNoYXJhY3RlciI9PjAsImNoYXJhY3RlciB2YXJ5aW5nIj0+MCwidGV4dCI9PjAsInRzcXVlcnkiPT4wLCJ0c3ZlY3RvciI9PjAsInV1aWQiPT4wLCJ4bWwiPT4wKSxsYW5nKDE1KT0+YXJyYXkoImJpdCI9PjAsImJpdCB2YXJ5aW5nIj0+MCwiYnl0ZWEiPT4wKSxsYW5nKDE2KT0+YXJyYXkoImNpZHIiPT40MywiaW5ldCI9PjQzLCJtYWNhZGRyIj0+MTcsInR4aWRfc25hcHNob3QiPT4wKSxsYW5nKDE3KT0+YXJyYXkoImJveCI9PjAsImNpcmNsZSI9PjAsImxpbmUiPT4wLCJsc2VnIj0+MCwicGF0aCI9PjAsInBvaW50Ij0+MCwicG9seWdvbiI9PjApLClhcyR3PT4kWCl7JFJkKz0kWDskeWRbJHddPWFycmF5X2tleXMoJFgpO30kWWQ9YXJyYXkoKTskR2M9YXJyYXkoIj0iLCI8IiwiPiIsIjw9IiwiPj0iLCIhPSIsIn4iLCIhfiIsIkxJS0UiLCJMSUtFICUlIiwiSU4iLCJJUyBOVUxMIiwiTk9UIExJS0UiLCJOT1QgSU4iLCJJUyBOT1QgTlVMTCIpOyRJYj1hcnJheSgiY2hhcl9sZW5ndGgiLCJsb3dlciIsInJvdW5kIiwidG9faGV4IiwidG9fdGltZXN0YW1wIiwidXBwZXIiKTskTGI9YXJyYXkoImF2ZyIsImNvdW50IiwiY291bnQgZGlzdGluY3QiLCJtYXgiLCJtaW4iLCJzdW0iKTskYWI9YXJyYXkoYXJyYXkoImNoYXIiPT4ibWQ1IiwiZGF0ZXx0aW1lIj0+Im5vdyIsKSxhcnJheSgiaW50fG51bWVyaWN8cmVhbHxtb25leSI9PiIrLy0iLCJkYXRlfHRpbWUiPT4iKyBpbnRlcnZhbC8tIGludGVydmFsIiwiY2hhcnx0ZXh0Ij0+Inx8IiwpKTt9JFdhWyJvcmFjbGUiXT0iT3JhY2xlIjtpZihpc3NldCgkX0dFVFsib3JhY2xlIl0pKXskVWM9YXJyYXkoIk9DSTgiLCJQRE9fT0NJIik7ZGVmaW5lKCJEUklWRVIiLCJvcmFjbGUiKTtpZihleHRlbnNpb25fbG9hZGVkKCJvY2k4Iikpe2NsYXNzCk1pbl9EQnt2YXIkZXh0ZW5zaW9uPSJvY2k4IiwkX2xpbmssJF9yZXN1bHQsJHNlcnZlcl9pbmZvLCRhZmZlY3RlZF9yb3dzLCRlcnJvcjtmdW5jdGlvbgpfZXJyb3IoJGpiLCRtKXtpZihpbmlfYm9vbCgiaHRtbF9lcnJvcnMiKSl7JG09aHRtbF9lbnRpdHlfZGVjb2RlKHN0cmlwX3RhZ3MoJG0pKTt9JG09ZXJlZ19yZXBsYWNlKCdeW146XSo6ICcsJycsJG0pOyR0aGlzLT5lcnJvcj0kbTt9ZnVuY3Rpb24KY29ubmVjdCgkTSwkViwkRSl7JHRoaXMtPl9saW5rPUBvY2lfbmV3X2Nvbm5lY3QoJFYsJEUsJE0sIkFMMzJVVEY4Iik7aWYoJHRoaXMtPl9saW5rKXskdGhpcy0+c2VydmVyX2luZm89b2NpX3NlcnZlcl92ZXJzaW9uKCR0aGlzLT5fbGluayk7cmV0dXJuCnRydWU7fSRtPW9jaV9lcnJvcigpOyR0aGlzLT5lcnJvcj0kbVsibWVzc2FnZSJdO3JldHVybgpmYWxzZTt9ZnVuY3Rpb24KcXVvdGUoJE8pe3JldHVybiInIi5zdHJfcmVwbGFjZSgiJyIsIicnIiwkTykuIiciO31mdW5jdGlvbgpzZWxlY3RfZGIoJGope3JldHVybgp0cnVlO31mdW5jdGlvbgpxdWVyeSgkRywkU2Q9ZmFsc2UpeyRIPW9jaV9wYXJzZSgkdGhpcy0+X2xpbmssJEcpO2lmKCEkSCl7JG09b2NpX2Vycm9yKCR0aGlzLT5fbGluayk7JHRoaXMtPmVycm9yPSRtWyJtZXNzYWdlIl07cmV0dXJuCmZhbHNlO31zZXRfZXJyb3JfaGFuZGxlcihhcnJheSgkdGhpcywnX2Vycm9yJykpOyRJPUBvY2lfZXhlY3V0ZSgkSCk7cmVzdG9yZV9lcnJvcl9oYW5kbGVyKCk7aWYoJEkpe2lmKG9jaV9udW1fZmllbGRzKCRIKSl7cmV0dXJuCm5ldwpNaW5fUmVzdWx0KCRIKTt9JHRoaXMtPmFmZmVjdGVkX3Jvd3M9b2NpX251bV9yb3dzKCRIKTt9cmV0dXJuJEk7fWZ1bmN0aW9uCm11bHRpX3F1ZXJ5KCRHKXtyZXR1cm4kdGhpcy0+X3Jlc3VsdD0kdGhpcy0+cXVlcnkoJEcpO31mdW5jdGlvbgpzdG9yZV9yZXN1bHQoKXtyZXR1cm4kdGhpcy0+X3Jlc3VsdDt9ZnVuY3Rpb24KbmV4dF9yZXN1bHQoKXtyZXR1cm4KZmFsc2U7fWZ1bmN0aW9uCnJlc3VsdCgkRywkbj0xKXskSD0kdGhpcy0+cXVlcnkoJEcpO2lmKCFpc19vYmplY3QoJEgpfHwhb2NpX2ZldGNoKCRILT5fcmVzdWx0KSl7cmV0dXJuCmZhbHNlO31yZXR1cm4Kb2NpX3Jlc3VsdCgkSC0+X3Jlc3VsdCwkbik7fX1jbGFzcwpNaW5fUmVzdWx0e3ZhciRfcmVzdWx0LCRfb2Zmc2V0PTEsJG51bV9yb3dzO2Z1bmN0aW9uCk1pbl9SZXN1bHQoJEgpeyR0aGlzLT5fcmVzdWx0PSRIO31mdW5jdGlvbgpfY29udmVydCgkSil7Zm9yZWFjaCgoYXJyYXkpJEoKYXMkdz0+JFgpe2lmKGlzX2EoJFgsJ09DSS1Mb2InKSl7JEpbJHddPSRYLT5sb2FkKCk7fX1yZXR1cm4kSjt9ZnVuY3Rpb24KZmV0Y2hfYXNzb2MoKXtyZXR1cm4kdGhpcy0+X2NvbnZlcnQob2NpX2ZldGNoX2Fzc29jKCR0aGlzLT5fcmVzdWx0KSk7fWZ1bmN0aW9uCmZldGNoX3Jvdygpe3JldHVybiR0aGlzLT5fY29udmVydChvY2lfZmV0Y2hfcm93KCR0aGlzLT5fcmVzdWx0KSk7fWZ1bmN0aW9uCmZldGNoX2ZpZWxkKCl7JGY9JHRoaXMtPl9vZmZzZXQrKzskST1uZXcKc3RkQ2xhc3M7JEktPm5hbWU9b2NpX2ZpZWxkX25hbWUoJHRoaXMtPl9yZXN1bHQsJGYpOyRJLT5vcmduYW1lPSRJLT5uYW1lOyRJLT50eXBlPW9jaV9maWVsZF90eXBlKCR0aGlzLT5fcmVzdWx0LCRmKTskSS0+Y2hhcnNldG5yPShlcmVnKCJyYXd8YmxvYnxiZmlsZSIsJEktPnR5cGUpPzYzOjApO3JldHVybiRJO31mdW5jdGlvbgpfX2Rlc3RydWN0KCl7b2NpX2ZyZWVfc3RhdGVtZW50KCR0aGlzLT5fcmVzdWx0KTt9fX1lbHNlaWYoZXh0ZW5zaW9uX2xvYWRlZCgicGRvX29jaSIpKXtjbGFzcwpNaW5fREIKZXh0ZW5kcwpNaW5fUERPe3ZhciRleHRlbnNpb249IlBET19PQ0kiO2Z1bmN0aW9uCmNvbm5lY3QoJE0sJFYsJEUpeyR0aGlzLT5kc24oIm9jaTpkYm5hbWU9Ly8kTTtjaGFyc2V0PUFMMzJVVEY4IiwkViwkRSk7cmV0dXJuCnRydWU7fWZ1bmN0aW9uCnNlbGVjdF9kYigkail7cmV0dXJuCnRydWU7fX19ZnVuY3Rpb24KaWRmX2VzY2FwZSgkdCl7cmV0dXJuJyInLnN0cl9yZXBsYWNlKCciJywnIiInLCR0KS4nIic7fWZ1bmN0aW9uCnRhYmxlKCR0KXtyZXR1cm4KaWRmX2VzY2FwZSgkdCk7fWZ1bmN0aW9uCmNvbm5lY3QoKXtnbG9iYWwkYzskaD1uZXcKTWluX0RCOyROYT0kYy0+Y3JlZGVudGlhbHMoKTtpZigkaC0+Y29ubmVjdCgkTmFbMF0sJE5hWzFdLCROYVsyXSkpe3JldHVybiRoO31yZXR1cm4kaC0+ZXJyb3I7fWZ1bmN0aW9uCmdldF9kYXRhYmFzZXMoKXtyZXR1cm4KZ2V0X3ZhbHMoIlNFTEVDVCB0YWJsZXNwYWNlX25hbWUgRlJPTSB1c2VyX3RhYmxlc3BhY2VzIik7fWZ1bmN0aW9uCmxpbWl0KCRHLCRaLCR4LCRDPTAsJHBkPSIgIil7cmV0dXJuKCRDPyIgKiBGUk9NIChTRUxFQ1QgdC4qLCByb3dudW0gQVMgcm51bSBGUk9NIChTRUxFQ1QgJEckWikgdCBXSEVSRSByb3dudW0gPD0gIi4oJHgrJEMpLiIpIFdIRVJFIHJudW0gPiAkQyI6KGlzc2V0KCR4KT8iICogRlJPTSAoU0VMRUNUICRHJFopIFdIRVJFIHJvd251bSA8PSAiLigkeCskQyk6IiAkRyRaIikpO31mdW5jdGlvbgpsaW1pdDEoJEcsJFope3JldHVybiIgJEckWiI7fWZ1bmN0aW9uCmRiX2NvbGxhdGlvbigkbCwkRmEpe2dsb2JhbCRoO3JldHVybiRoLT5yZXN1bHQoIlNFTEVDVCB2YWx1ZSBGUk9NIG5sc19kYXRhYmFzZV9wYXJhbWV0ZXJzIFdIRVJFIHBhcmFtZXRlciA9ICdOTFNfQ0hBUkFDVEVSU0VUJyIpO31mdW5jdGlvbgplbmdpbmVzKCl7cmV0dXJuCmFycmF5KCk7fWZ1bmN0aW9uCmxvZ2dlZF91c2VyKCl7Z2xvYmFsJGg7cmV0dXJuJGgtPnJlc3VsdCgiU0VMRUNUIFVTRVIgRlJPTSBEVUFMIik7fWZ1bmN0aW9uCnRhYmxlc19saXN0KCl7cmV0dXJuCmdldF9rZXlfdmFscygiU0VMRUNUIHRhYmxlX25hbWUsICd0YWJsZScgRlJPTSBhbGxfdGFibGVzIFdIRVJFIHRhYmxlc3BhY2VfbmFtZSA9ICIucShEQikuIgpVTklPTiBTRUxFQ1Qgdmlld19uYW1lLCAndmlldycgRlJPTSB1c2VyX3ZpZXdzIik7fWZ1bmN0aW9uCmNvdW50X3RhYmxlcygkayl7cmV0dXJuCmFycmF5KCk7fWZ1bmN0aW9uCnRhYmxlX3N0YXR1cygkQT0iIil7JEk9YXJyYXkoKTskbWQ9cSgkQSk7Zm9yZWFjaChnZXRfcm93cygnU0VMRUNUIHRhYmxlX25hbWUgIk5hbWUiLCBcJ3RhYmxlXCcgIkVuZ2luZSIgRlJPTSBhbGxfdGFibGVzIFdIRVJFIHRhYmxlc3BhY2VfbmFtZSA9ICcucShEQikuKCRBIT0iIj8iIEFORCB0YWJsZV9uYW1lID0gJG1kIjoiIikuIgpVTklPTiBTRUxFQ1Qgdmlld19uYW1lLCAndmlldycgRlJPTSB1c2VyX3ZpZXdzIi4oJEEhPSIiPyIgV0hFUkUgdmlld19uYW1lID0gJG1kIjoiIikpYXMkSil7aWYoJEEhPSIiKXtyZXR1cm4kSjt9JElbJEpbIk5hbWUiXV09JEo7fXJldHVybiRJO31mdW5jdGlvbgppc192aWV3KCRRKXtyZXR1cm4kUVsiRW5naW5lIl09PSJ2aWV3Ijt9ZnVuY3Rpb24KZmtfc3VwcG9ydCgkUSl7cmV0dXJuCnRydWU7fWZ1bmN0aW9uCmZpZWxkcygkUCl7JEk9YXJyYXkoKTtmb3JlYWNoKGdldF9yb3dzKCJTRUxFQ1QgKiBGUk9NIGFsbF90YWJfY29sdW1ucyBXSEVSRSB0YWJsZV9uYW1lID0gIi5xKCRQKS4iIE9SREVSIEJZIGNvbHVtbl9pZCIpYXMkSil7JFU9JEpbIkRBVEFfVFlQRSJdOyRqYz0iJEpbREFUQV9QUkVDSVNJT05dLCRKW0RBVEFfU0NBTEVdIjtpZigkamM9PSIsIil7JGpjPSRKWyJEQVRBX0xFTkdUSCJdO30kSVskSlsiQ09MVU1OX05BTUUiXV09YXJyYXkoImZpZWxkIj0+JEpbIkNPTFVNTl9OQU1FIl0sImZ1bGxfdHlwZSI9PiRVLigkamM/IigkamMpIjoiIiksInR5cGUiPT5zdHJ0b2xvd2VyKCRVKSwibGVuZ3RoIj0+JGpjLCJkZWZhdWx0Ij0+JEpbIkRBVEFfREVGQVVMVCJdLCJudWxsIj0+KCRKWyJOVUxMQUJMRSJdPT0iWSIpLCJwcml2aWxlZ2VzIj0+YXJyYXkoImluc2VydCI9PjEsInNlbGVjdCI9PjEsInVwZGF0ZSI9PjEpLCk7fXJldHVybiRJO31mdW5jdGlvbgppbmRleGVzKCRQLCRpPW51bGwpeyRJPWFycmF5KCk7Zm9yZWFjaChnZXRfcm93cygiU0VMRUNUIHVpYy4qLCB1Yy5jb25zdHJhaW50X3R5cGUKRlJPTSB1c2VyX2luZF9jb2x1bW5zIHVpYwpMRUZUIEpPSU4gdXNlcl9jb25zdHJhaW50cyB1YyBPTiB1aWMuaW5kZXhfbmFtZSA9IHVjLmNvbnN0cmFpbnRfbmFtZSBBTkQgdWljLnRhYmxlX25hbWUgPSB1Yy50YWJsZV9uYW1lCldIRVJFIHVpYy50YWJsZV9uYW1lID0gIi5xKCRQKS4iCk9SREVSIEJZIHVjLmNvbnN0cmFpbnRfdHlwZSwgdWljLmNvbHVtbl9wb3NpdGlvbiIsJGkpYXMkSil7JElbJEpbIklOREVYX05BTUUiXV1bInR5cGUiXT0oJEpbIkNPTlNUUkFJTlRfVFlQRSJdPT0iUCI/IlBSSU1BUlkiOigkSlsiQ09OU1RSQUlOVF9UWVBFIl09PSJVIj8iVU5JUVVFIjoiSU5ERVgiKSk7JElbJEpbIklOREVYX05BTUUiXV1bImNvbHVtbnMiXVtdPSRKWyJDT0xVTU5fTkFNRSJdOyRJWyRKWyJJTkRFWF9OQU1FIl1dWyJsZW5ndGhzIl1bXT0oJEpbIkNIQVJfTEVOR1RIIl0mJiRKWyJDSEFSX0xFTkdUSCJdIT0kSlsiQ09MVU1OX0xFTkdUSCJdPyRKWyJDSEFSX0xFTkdUSCJdOm51bGwpO31yZXR1cm4kSTt9ZnVuY3Rpb24KdmlldygkQSl7JEs9Z2V0X3Jvd3MoJ1NFTEVDVCB0ZXh0ICJzZWxlY3QiIEZST00gdXNlcl92aWV3cyBXSEVSRSB2aWV3X25hbWUgPSAnLnEoJEEpKTtyZXR1cm4KcmVzZXQoJEspO31mdW5jdGlvbgpjb2xsYXRpb25zKCl7cmV0dXJuCmFycmF5KCk7fWZ1bmN0aW9uCmluZm9ybWF0aW9uX3NjaGVtYSgkbCl7cmV0dXJuCmZhbHNlO31mdW5jdGlvbgplcnJvcigpe2dsb2JhbCRoO3JldHVybgpoKCRoLT5lcnJvcik7fWZ1bmN0aW9uCmV4YWN0X3ZhbHVlKCRYKXtyZXR1cm4KcSgkWCk7fWZ1bmN0aW9uCmV4cGxhaW4oJGgsJEcpeyRoLT5xdWVyeSgiRVhQTEFJTiBQTEFOIEZPUiAkRyIpO3JldHVybiRoLT5xdWVyeSgiU0VMRUNUICogRlJPTSBwbGFuX3RhYmxlIik7fWZ1bmN0aW9uCmZvdW5kX3Jvd3MoJFEsJFope31mdW5jdGlvbgphbHRlcl90YWJsZSgkUCwkQSwkbywkQWIsJElhLCRnYiwkZSwkc2EsJFFjKXskZD0kWGE9YXJyYXkoKTtmb3JlYWNoKCRvCmFzJG4peyRYPSRuWzFdO2lmKCRYJiYkblswXSE9IiImJmlkZl9lc2NhcGUoJG5bMF0pIT0kWFswXSl7cXVlcmllcygiQUxURVIgVEFCTEUgIi50YWJsZSgkUCkuIiBSRU5BTUUgQ09MVU1OICIuaWRmX2VzY2FwZSgkblswXSkuIiBUTyAkWFswXSIpO31pZigkWCl7JGRbXT0oJFAhPSIiPygkblswXSE9IiI/Ik1PRElGWSAoIjoiQUREICgiKToiICAiKS5pbXBsb2RlKCRYKS4oJFAhPSIiPyIpIjoiIik7fWVsc2V7JFhhW109aWRmX2VzY2FwZSgkblswXSk7fX1pZigkUD09IiIpe3JldHVybgpxdWVyaWVzKCJDUkVBVEUgVEFCTEUgIi50YWJsZSgkQSkuIiAoXG4iLmltcGxvZGUoIixcbiIsJGQpLiJcbikiKTt9cmV0dXJuKCEkZHx8cXVlcmllcygiQUxURVIgVEFCTEUgIi50YWJsZSgkUCkuIlxuIi5pbXBsb2RlKCJcbiIsJGQpKSkmJighJFhhfHxxdWVyaWVzKCJBTFRFUiBUQUJMRSAiLnRhYmxlKCRQKS4iIERST1AgKCIuaW1wbG9kZSgiLCAiLCRYYSkuIikiKSkmJigkUD09JEF8fHF1ZXJpZXMoIkFMVEVSIFRBQkxFICIudGFibGUoJFApLiIgUkVOQU1FIFRPICIudGFibGUoJEEpKSk7fWZ1bmN0aW9uCmZvcmVpZ25fa2V5cygkUCl7cmV0dXJuCmFycmF5KCk7fWZ1bmN0aW9uCnRydW5jYXRlX3RhYmxlcygkUil7cmV0dXJuCmFwcGx5X3F1ZXJpZXMoIlRSVU5DQVRFIFRBQkxFIiwkUik7fWZ1bmN0aW9uCmRyb3Bfdmlld3MoJGZlKXtyZXR1cm4KYXBwbHlfcXVlcmllcygiRFJPUCBWSUVXIiwkZmUpO31mdW5jdGlvbgpkcm9wX3RhYmxlcygkUil7cmV0dXJuCmFwcGx5X3F1ZXJpZXMoIkRST1AgVEFCTEUiLCRSKTt9ZnVuY3Rpb24KYmVnaW4oKXtyZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24KaW5zZXJ0X2ludG8oJFAsJE4pe3JldHVybgpxdWVyaWVzKCJJTlNFUlQgSU5UTyAiLnRhYmxlKCRQKS4iICgiLmltcGxvZGUoIiwgIixhcnJheV9rZXlzKCROKSkuIilcblZBTFVFUyAoIi5pbXBsb2RlKCIsICIsJE4pLiIpIik7fWZ1bmN0aW9uCmxhc3RfaWQoKXtyZXR1cm4KMDt9ZnVuY3Rpb24Kc2NoZW1hcygpe3JldHVybgphcnJheSgpO31mdW5jdGlvbgpnZXRfc2NoZW1hKCl7cmV0dXJuIiI7fWZ1bmN0aW9uCnNldF9zY2hlbWEoJGxkKXtyZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24Kc2hvd192YXJpYWJsZXMoKXtyZXR1cm4KZ2V0X2tleV92YWxzKCdTRUxFQ1QgbmFtZSwgZGlzcGxheV92YWx1ZSBGUk9NIHYkcGFyYW1ldGVyJyk7fWZ1bmN0aW9uCnNob3dfc3RhdHVzKCl7JEs9Z2V0X3Jvd3MoJ1NFTEVDVCAqIEZST00gdiRpbnN0YW5jZScpO3JldHVybgpyZXNldCgkSyk7fWZ1bmN0aW9uCnN1cHBvcnQoJHViKXtyZXR1cm4KZXJlZygidmlld3xkcm9wX2NvbHx2YXJpYWJsZXN8c3RhdHVzIiwkdWIpO30kYmM9Im9yYWNsZSI7JFJkPWFycmF5KCk7JHlkPWFycmF5KCk7Zm9yZWFjaChhcnJheShsYW5nKDEyKT0+YXJyYXkoIm51bWJlciI9PjM4LCJiaW5hcnlfZmxvYXQiPT4xMiwiYmluYXJ5X2RvdWJsZSI9PjIxKSxsYW5nKDEzKT0+YXJyYXkoImRhdGUiPT4xMCwidGltZXN0YW1wIj0+MjksImludGVydmFsIHllYXIiPT4xMiwiaW50ZXJ2YWwgZGF5Ij0+MjgpLGxhbmcoMTQpPT5hcnJheSgiY2hhciI9PjIwMDAsInZhcmNoYXIyIj0+NDAwMCwibmNoYXIiPT4yMDAwLCJudmFyY2hhcjIiPT40MDAwLCJjbG9iIj0+NDI5NDk2NzI5NSwibmNsb2IiPT40Mjk0OTY3Mjk1KSxsYW5nKDE1KT0+YXJyYXkoInJhdyI9PjIwMDAsImxvbmcgcmF3Ij0+MjE0NzQ4MzY0OCwiYmxvYiI9PjQyOTQ5NjcyOTUsImJmaWxlIj0+NDI5NDk2NzI5NiksKWFzJHc9PiRYKXskUmQrPSRYOyR5ZFskd109YXJyYXlfa2V5cygkWCk7fSRZZD1hcnJheSgpOyRHYz1hcnJheSgiPSIsIjwiLCI+IiwiPD0iLCI+PSIsIiE9IiwiTElLRSIsIkxJS0UgJSUiLCJJTiIsIklTIE5VTEwiLCJOT1QgTElLRSIsIk5PVCBSRUdFWFAiLCJOT1QgSU4iLCJJUyBOT1QgTlVMTCIsIiIpOyRJYj1hcnJheSgibGVuZ3RoIiwibG93ZXIiLCJyb3VuZCIsInVwcGVyIik7JExiPWFycmF5KCJhdmciLCJjb3VudCIsImNvdW50IGRpc3RpbmN0IiwibWF4IiwibWluIiwic3VtIik7JGFiPWFycmF5KGFycmF5KCJkYXRlIj0+ImN1cnJlbnRfZGF0ZSIsInRpbWVzdGFtcCI9PiJjdXJyZW50X3RpbWVzdGFtcCIsKSxhcnJheSgibnVtYmVyfGZsb2F0fGRvdWJsZSI9PiIrLy0iLCJkYXRlfHRpbWVzdGFtcCI9PiIrIGludGVydmFsLy0gaW50ZXJ2YWwiLCJjaGFyfGNsb2IiPT4ifHwiLCkpO30kV2FbIm1zc3FsIl09Ik1TIFNRTCI7aWYoaXNzZXQoJF9HRVRbIm1zc3FsIl0pKXskVWM9YXJyYXkoIlNRTFNSViIsIk1TU1FMIik7ZGVmaW5lKCJEUklWRVIiLCJtc3NxbCIpO2lmKGV4dGVuc2lvbl9sb2FkZWQoInNxbHNydiIpKXtjbGFzcwpNaW5fREJ7dmFyJGV4dGVuc2lvbj0ic3Fsc3J2IiwkX2xpbmssJF9yZXN1bHQsJHNlcnZlcl9pbmZvLCRhZmZlY3RlZF9yb3dzLCRlcnJvcjtmdW5jdGlvbgpfZ2V0X2Vycm9yKCl7JHRoaXMtPmVycm9yPSIiO2ZvcmVhY2goc3Fsc3J2X2Vycm9ycygpYXMkbSl7JHRoaXMtPmVycm9yLj0iJG1bbWVzc2FnZV1cbiI7fSR0aGlzLT5lcnJvcj1ydHJpbSgkdGhpcy0+ZXJyb3IpO31mdW5jdGlvbgpjb25uZWN0KCRNLCRWLCRFKXskdGhpcy0+X2xpbms9QHNxbHNydl9jb25uZWN0KCRNLGFycmF5KCJVSUQiPT4kViwiUFdEIj0+JEUpKTtpZigkdGhpcy0+X2xpbmspeyRXYj1zcWxzcnZfc2VydmVyX2luZm8oJHRoaXMtPl9saW5rKTskdGhpcy0+c2VydmVyX2luZm89JFdiWydTUUxTZXJ2ZXJWZXJzaW9uJ107fWVsc2V7JHRoaXMtPl9nZXRfZXJyb3IoKTt9cmV0dXJuKGJvb2wpJHRoaXMtPl9saW5rO31mdW5jdGlvbgpxdW90ZSgkTyl7cmV0dXJuIiciLnN0cl9yZXBsYWNlKCInIiwiJyciLCRPKS4iJyI7fWZ1bmN0aW9uCnNlbGVjdF9kYigkail7cmV0dXJuJHRoaXMtPnF1ZXJ5KCJVU0UgJGoiKTt9ZnVuY3Rpb24KcXVlcnkoJEcsJFNkPWZhbHNlKXskSD1zcWxzcnZfcXVlcnkoJHRoaXMtPl9saW5rLCRHKTtpZighJEgpeyR0aGlzLT5fZ2V0X2Vycm9yKCk7cmV0dXJuCmZhbHNlO31yZXR1cm4kdGhpcy0+c3RvcmVfcmVzdWx0KCRIKTt9ZnVuY3Rpb24KbXVsdGlfcXVlcnkoJEcpeyR0aGlzLT5fcmVzdWx0PXNxbHNydl9xdWVyeSgkdGhpcy0+X2xpbmssJEcpO2lmKCEkdGhpcy0+X3Jlc3VsdCl7JHRoaXMtPl9nZXRfZXJyb3IoKTtyZXR1cm4KZmFsc2U7fXJldHVybgp0cnVlO31mdW5jdGlvbgpzdG9yZV9yZXN1bHQoJEg9bnVsbCl7aWYoISRIKXskSD0kdGhpcy0+X3Jlc3VsdDt9aWYoc3Fsc3J2X2ZpZWxkX21ldGFkYXRhKCRIKSl7cmV0dXJuCm5ldwpNaW5fUmVzdWx0KCRIKTt9JHRoaXMtPmFmZmVjdGVkX3Jvd3M9c3Fsc3J2X3Jvd3NfYWZmZWN0ZWQoJEgpO3JldHVybgp0cnVlO31mdW5jdGlvbgpuZXh0X3Jlc3VsdCgpe3JldHVybgpzcWxzcnZfbmV4dF9yZXN1bHQoJHRoaXMtPl9yZXN1bHQpO31mdW5jdGlvbgpyZXN1bHQoJEcsJG49MCl7JEg9JHRoaXMtPnF1ZXJ5KCRHKTtpZighaXNfb2JqZWN0KCRIKSl7cmV0dXJuCmZhbHNlO30kSj0kSC0+ZmV0Y2hfcm93KCk7cmV0dXJuJEpbJG5dO319Y2xhc3MKTWluX1Jlc3VsdHt2YXIkX3Jlc3VsdCwkX29mZnNldD0wLCRfZmllbGRzLCRudW1fcm93cztmdW5jdGlvbgpNaW5fUmVzdWx0KCRIKXskdGhpcy0+X3Jlc3VsdD0kSDt9ZnVuY3Rpb24KX2NvbnZlcnQoJEope2ZvcmVhY2goKGFycmF5KSRKCmFzJHc9PiRYKXtpZihpc19hKCRYLCdEYXRlVGltZScpKXskSlskd109JFgtPmZvcm1hdCgiWS1tLWQgSDppOnMiKTt9fXJldHVybiRKO31mdW5jdGlvbgpmZXRjaF9hc3NvYygpe3JldHVybiR0aGlzLT5fY29udmVydChzcWxzcnZfZmV0Y2hfYXJyYXkoJHRoaXMtPl9yZXN1bHQsU1FMU1JWX0ZFVENIX0FTU09DLFNRTFNSVl9TQ1JPTExfTkVYVCkpO31mdW5jdGlvbgpmZXRjaF9yb3coKXtyZXR1cm4kdGhpcy0+X2NvbnZlcnQoc3Fsc3J2X2ZldGNoX2FycmF5KCR0aGlzLT5fcmVzdWx0LFNRTFNSVl9GRVRDSF9OVU1FUklDLFNRTFNSVl9TQ1JPTExfTkVYVCkpO31mdW5jdGlvbgpmZXRjaF9maWVsZCgpe2lmKCEkdGhpcy0+X2ZpZWxkcyl7JHRoaXMtPl9maWVsZHM9c3Fsc3J2X2ZpZWxkX21ldGFkYXRhKCR0aGlzLT5fcmVzdWx0KTt9JG49JHRoaXMtPl9maWVsZHNbJHRoaXMtPl9vZmZzZXQrK107JEk9bmV3CnN0ZENsYXNzOyRJLT5uYW1lPSRuWyJOYW1lIl07JEktPm9yZ25hbWU9JG5bIk5hbWUiXTskSS0+dHlwZT0oJG5bIlR5cGUiXT09MT8yNTQ6MCk7cmV0dXJuJEk7fWZ1bmN0aW9uCnNlZWsoJEMpe2Zvcigkcj0wOyRyPCRDOyRyKyspe3NxbHNydl9mZXRjaCgkdGhpcy0+X3Jlc3VsdCk7fX1mdW5jdGlvbgpfX2Rlc3RydWN0KCl7c3Fsc3J2X2ZyZWVfc3RtdCgkdGhpcy0+X3Jlc3VsdCk7fX19ZWxzZWlmKGV4dGVuc2lvbl9sb2FkZWQoIm1zc3FsIikpe2NsYXNzCk1pbl9EQnt2YXIkZXh0ZW5zaW9uPSJNU1NRTCIsJF9saW5rLCRfcmVzdWx0LCRzZXJ2ZXJfaW5mbywkYWZmZWN0ZWRfcm93cywkZXJyb3I7ZnVuY3Rpb24KY29ubmVjdCgkTSwkViwkRSl7JHRoaXMtPl9saW5rPUBtc3NxbF9jb25uZWN0KCRNLCRWLCRFKTtpZigkdGhpcy0+X2xpbmspeyRIPSR0aGlzLT5xdWVyeSgiU0VMRUNUIFNFUlZFUlBST1BFUlRZKCdQcm9kdWN0TGV2ZWwnKSwgU0VSVkVSUFJPUEVSVFkoJ0VkaXRpb24nKSIpOyRKPSRILT5mZXRjaF9yb3coKTskdGhpcy0+c2VydmVyX2luZm89JHRoaXMtPnJlc3VsdCgic3Bfc2VydmVyX2luZm8gMiIsMikuIiBbJEpbMF1dICRKWzFdIjt9ZWxzZXskdGhpcy0+ZXJyb3I9bXNzcWxfZ2V0X2xhc3RfbWVzc2FnZSgpO31yZXR1cm4oYm9vbCkkdGhpcy0+X2xpbms7fWZ1bmN0aW9uCnF1b3RlKCRPKXtyZXR1cm4iJyIuc3RyX3JlcGxhY2UoIiciLCInJyIsJE8pLiInIjt9ZnVuY3Rpb24Kc2VsZWN0X2RiKCRqKXtyZXR1cm4KbXNzcWxfc2VsZWN0X2RiKCRqKTt9ZnVuY3Rpb24KcXVlcnkoJEcsJFNkPWZhbHNlKXskSD1tc3NxbF9xdWVyeSgkRywkdGhpcy0+X2xpbmspO2lmKCEkSCl7JHRoaXMtPmVycm9yPW1zc3FsX2dldF9sYXN0X21lc3NhZ2UoKTtyZXR1cm4KZmFsc2U7fWlmKCRIPT09dHJ1ZSl7JHRoaXMtPmFmZmVjdGVkX3Jvd3M9bXNzcWxfcm93c19hZmZlY3RlZCgkdGhpcy0+X2xpbmspO3JldHVybgp0cnVlO31yZXR1cm4KbmV3Ck1pbl9SZXN1bHQoJEgpO31mdW5jdGlvbgptdWx0aV9xdWVyeSgkRyl7cmV0dXJuJHRoaXMtPl9yZXN1bHQ9JHRoaXMtPnF1ZXJ5KCRHKTt9ZnVuY3Rpb24Kc3RvcmVfcmVzdWx0KCl7cmV0dXJuJHRoaXMtPl9yZXN1bHQ7fWZ1bmN0aW9uCm5leHRfcmVzdWx0KCl7cmV0dXJuCm1zc3FsX25leHRfcmVzdWx0KCR0aGlzLT5fcmVzdWx0KTt9ZnVuY3Rpb24KcmVzdWx0KCRHLCRuPTApeyRIPSR0aGlzLT5xdWVyeSgkRyk7aWYoIWlzX29iamVjdCgkSCkpe3JldHVybgpmYWxzZTt9cmV0dXJuCm1zc3FsX3Jlc3VsdCgkSC0+X3Jlc3VsdCwwLCRuKTt9fWNsYXNzCk1pbl9SZXN1bHR7dmFyJF9yZXN1bHQsJF9vZmZzZXQ9MCwkX2ZpZWxkcywkbnVtX3Jvd3M7ZnVuY3Rpb24KTWluX1Jlc3VsdCgkSCl7JHRoaXMtPl9yZXN1bHQ9JEg7JHRoaXMtPm51bV9yb3dzPW1zc3FsX251bV9yb3dzKCRIKTt9ZnVuY3Rpb24KZmV0Y2hfYXNzb2MoKXtyZXR1cm4KbXNzcWxfZmV0Y2hfYXNzb2MoJHRoaXMtPl9yZXN1bHQpO31mdW5jdGlvbgpmZXRjaF9yb3coKXtyZXR1cm4KbXNzcWxfZmV0Y2hfcm93KCR0aGlzLT5fcmVzdWx0KTt9ZnVuY3Rpb24KbnVtX3Jvd3MoKXtyZXR1cm4KbXNzcWxfbnVtX3Jvd3MoJHRoaXMtPl9yZXN1bHQpO31mdW5jdGlvbgpmZXRjaF9maWVsZCgpeyRJPW1zc3FsX2ZldGNoX2ZpZWxkKCR0aGlzLT5fcmVzdWx0KTskSS0+b3JndGFibGU9JEktPnRhYmxlOyRJLT5vcmduYW1lPSRJLT5uYW1lO3JldHVybiRJO31mdW5jdGlvbgpzZWVrKCRDKXttc3NxbF9kYXRhX3NlZWsoJHRoaXMtPl9yZXN1bHQsJEMpO31mdW5jdGlvbgpfX2Rlc3RydWN0KCl7bXNzcWxfZnJlZV9yZXN1bHQoJHRoaXMtPl9yZXN1bHQpO319fWZ1bmN0aW9uCmlkZl9lc2NhcGUoJHQpe3JldHVybiJbIi5zdHJfcmVwbGFjZSgiXSIsIl1dIiwkdCkuIl0iO31mdW5jdGlvbgp0YWJsZSgkdCl7cmV0dXJuKCRfR0VUWyJucyJdIT0iIj9pZGZfZXNjYXBlKCRfR0VUWyJucyJdKS4iLiI6IiIpLmlkZl9lc2NhcGUoJHQpO31mdW5jdGlvbgpjb25uZWN0KCl7Z2xvYmFsJGM7JGg9bmV3Ck1pbl9EQjskTmE9JGMtPmNyZWRlbnRpYWxzKCk7aWYoJGgtPmNvbm5lY3QoJE5hWzBdLCROYVsxXSwkTmFbMl0pKXtyZXR1cm4kaDt9cmV0dXJuJGgtPmVycm9yO31mdW5jdGlvbgpnZXRfZGF0YWJhc2VzKCl7cmV0dXJuCmdldF92YWxzKCJFWEVDIHNwX2RhdGFiYXNlcyIpO31mdW5jdGlvbgpsaW1pdCgkRywkWiwkeCwkQz0wLCRwZD0iICIpe3JldHVybihpc3NldCgkeCk/IiBUT1AgKCIuKCR4KyRDKS4iKSI6IiIpLiIgJEckWiI7fWZ1bmN0aW9uCmxpbWl0MSgkRywkWil7cmV0dXJuCmxpbWl0KCRHLCRaLDEpO31mdW5jdGlvbgpkYl9jb2xsYXRpb24oJGwsJEZhKXtnbG9iYWwkaDtyZXR1cm4kaC0+cmVzdWx0KCJTRUxFQ1QgY29sbGF0aW9uX25hbWUgRlJPTSBzeXMuZGF0YWJhc2VzIFdIRVJFIG5hbWUgPSAgIi5xKCRsKSk7fWZ1bmN0aW9uCmVuZ2luZXMoKXtyZXR1cm4KYXJyYXkoKTt9ZnVuY3Rpb24KbG9nZ2VkX3VzZXIoKXtnbG9iYWwkaDtyZXR1cm4kaC0+cmVzdWx0KCJTRUxFQ1QgU1VTRVJfTkFNRSgpIik7fWZ1bmN0aW9uCnRhYmxlc19saXN0KCl7cmV0dXJuCmdldF9rZXlfdmFscygiU0VMRUNUIG5hbWUsIHR5cGVfZGVzYyBGUk9NIHN5cy5hbGxfb2JqZWN0cyBXSEVSRSBzY2hlbWFfaWQgPSBTQ0hFTUFfSUQoIi5xKGdldF9zY2hlbWEoKSkuIikgQU5EIHR5cGUgSU4gKCdTJywgJ1UnLCAnVicpIE9SREVSIEJZIG5hbWUiKTt9ZnVuY3Rpb24KY291bnRfdGFibGVzKCRrKXtnbG9iYWwkaDskST1hcnJheSgpO2ZvcmVhY2goJGsKYXMkbCl7JGgtPnNlbGVjdF9kYigkbCk7JElbJGxdPSRoLT5yZXN1bHQoIlNFTEVDVCBDT1VOVCgqKSBGUk9NIElORk9STUFUSU9OX1NDSEVNQS5UQUJMRVMiKTt9cmV0dXJuJEk7fWZ1bmN0aW9uCnRhYmxlX3N0YXR1cygkQT0iIil7JEk9YXJyYXkoKTtmb3JlYWNoKGdldF9yb3dzKCJTRUxFQ1QgbmFtZSBBUyBOYW1lLCB0eXBlX2Rlc2MgQVMgRW5naW5lIEZST00gc3lzLmFsbF9vYmplY3RzIFdIRVJFIHNjaGVtYV9pZCA9IFNDSEVNQV9JRCgiLnEoZ2V0X3NjaGVtYSgpKS4iKSBBTkQgdHlwZSBJTiAoJ1MnLCAnVScsICdWJykiLigkQSE9IiI/IiBBTkQgbmFtZSA9ICIucSgkQSk6IiIpKWFzJEope2lmKCRBIT0iIil7cmV0dXJuJEo7fSRJWyRKWyJOYW1lIl1dPSRKO31yZXR1cm4kSTt9ZnVuY3Rpb24KaXNfdmlldygkUSl7cmV0dXJuJFFbIkVuZ2luZSJdPT0iVklFVyI7fWZ1bmN0aW9uCmZrX3N1cHBvcnQoJFEpe3JldHVybgp0cnVlO31mdW5jdGlvbgpmaWVsZHMoJFApeyRJPWFycmF5KCk7Zm9yZWFjaChnZXRfcm93cygiU0VMRUNUIGMuKiwgdC5uYW1lIHR5cGUsIGQuZGVmaW5pdGlvbiBbZGVmYXVsdF0KRlJPTSBzeXMuYWxsX2NvbHVtbnMgYwpKT0lOIHN5cy5hbGxfb2JqZWN0cyBvIE9OIGMub2JqZWN0X2lkID0gby5vYmplY3RfaWQKSk9JTiBzeXMudHlwZXMgdCBPTiBjLnVzZXJfdHlwZV9pZCA9IHQudXNlcl90eXBlX2lkCkxFRlQgSk9JTiBzeXMuZGVmYXVsdF9jb25zdHJhaW50cyBkIE9OIGMuZGVmYXVsdF9vYmplY3RfaWQgPSBkLnBhcmVudF9jb2x1bW5faWQKV0hFUkUgby5zY2hlbWFfaWQgPSBTQ0hFTUFfSUQoIi5xKGdldF9zY2hlbWEoKSkuIikgQU5EIG8udHlwZSBJTiAoJ1MnLCAnVScsICdWJykgQU5EIG8ubmFtZSA9ICIucSgkUCkpYXMkSil7JFU9JEpbInR5cGUiXTskamM9KGVyZWcoImNoYXJ8YmluYXJ5IiwkVSk/JEpbIm1heF9sZW5ndGgiXTooJFU9PSJkZWNpbWFsIj8iJEpbcHJlY2lzaW9uXSwkSltzY2FsZV0iOiIiKSk7JElbJEpbIm5hbWUiXV09YXJyYXkoImZpZWxkIj0+JEpbIm5hbWUiXSwiZnVsbF90eXBlIj0+JFUuKCRqYz8iKCRqYykiOiIiKSwidHlwZSI9PiRVLCJsZW5ndGgiPT4kamMsImRlZmF1bHQiPT4kSlsiZGVmYXVsdCJdLCJudWxsIj0+JEpbImlzX251bGxhYmxlIl0sImF1dG9faW5jcmVtZW50Ij0+JEpbImlzX2lkZW50aXR5Il0sImNvbGxhdGlvbiI9PiRKWyJjb2xsYXRpb25fbmFtZSJdLCJwcml2aWxlZ2VzIj0+YXJyYXkoImluc2VydCI9PjEsInNlbGVjdCI9PjEsInVwZGF0ZSI9PjEpLCJwcmltYXJ5Ij0+JEpbImlzX2lkZW50aXR5Il0sKTt9cmV0dXJuJEk7fWZ1bmN0aW9uCmluZGV4ZXMoJFAsJGk9bnVsbCl7JEk9YXJyYXkoKTtmb3JlYWNoKGdldF9yb3dzKCJTRUxFQ1QgaS5uYW1lLCBrZXlfb3JkaW5hbCwgaXNfdW5pcXVlLCBpc19wcmltYXJ5X2tleSwgYy5uYW1lIEFTIGNvbHVtbl9uYW1lCkZST00gc3lzLmluZGV4ZXMgaQpJTk5FUiBKT0lOIHN5cy5pbmRleF9jb2x1bW5zIGljIE9OIGkub2JqZWN0X2lkID0gaWMub2JqZWN0X2lkIEFORCBpLmluZGV4X2lkID0gaWMuaW5kZXhfaWQKSU5ORVIgSk9JTiBzeXMuY29sdW1ucyBjIE9OIGljLm9iamVjdF9pZCA9IGMub2JqZWN0X2lkIEFORCBpYy5jb2x1bW5faWQgPSBjLmNvbHVtbl9pZApXSEVSRSBPQkpFQ1RfTkFNRShpLm9iamVjdF9pZCkgPSAiLnEoJFApLCRpKWFzJEopeyRJWyRKWyJuYW1lIl1dWyJ0eXBlIl09KCRKWyJpc19wcmltYXJ5X2tleSJdPyJQUklNQVJZIjooJEpbImlzX3VuaXF1ZSJdPyJVTklRVUUiOiJJTkRFWCIpKTskSVskSlsibmFtZSJdXVsibGVuZ3RocyJdPWFycmF5KCk7JElbJEpbIm5hbWUiXV1bImNvbHVtbnMiXVskSlsia2V5X29yZGluYWwiXV09JEpbImNvbHVtbl9uYW1lIl07fXJldHVybiRJO31mdW5jdGlvbgp2aWV3KCRBKXtnbG9iYWwkaDtyZXR1cm4KYXJyYXkoInNlbGVjdCI9PnByZWdfcmVwbGFjZSgnfl4oPzpbXltdfFxcW1teXV0qXSkqXFxzK0FTXFxzK35pc1UnLCcnLCRoLT5yZXN1bHQoIlNFTEVDVCBWSUVXX0RFRklOSVRJT04gRlJPTSBJTkZPUk1BVElPTl9TQ0hFTUEuVklFV1MgV0hFUkUgVEFCTEVfU0NIRU1BID0gU0NIRU1BX05BTUUoKSBBTkQgVEFCTEVfTkFNRSA9ICIucSgkQSkpKSk7fWZ1bmN0aW9uCmNvbGxhdGlvbnMoKXskST1hcnJheSgpO2ZvcmVhY2goZ2V0X3ZhbHMoIlNFTEVDVCBuYW1lIEZST00gZm5faGVscGNvbGxhdGlvbnMoKSIpYXMkZSl7JElbZXJlZ19yZXBsYWNlKCJfLioiLCIiLCRlKV1bXT0kZTt9cmV0dXJuJEk7fWZ1bmN0aW9uCmluZm9ybWF0aW9uX3NjaGVtYSgkbCl7cmV0dXJuCmZhbHNlO31mdW5jdGlvbgplcnJvcigpe2dsb2JhbCRoO3JldHVybgpubF9icihoKHByZWdfcmVwbGFjZSgnfl4oXFxbW15dXSpdKSt+bScsJycsJGgtPmVycm9yKSkpO31mdW5jdGlvbgpleGFjdF92YWx1ZSgkWCl7cmV0dXJuCnEoJFgpO31mdW5jdGlvbgpjcmVhdGVfZGF0YWJhc2UoJGwsJGUpe3JldHVybgpxdWVyaWVzKCJDUkVBVEUgREFUQUJBU0UgIi5pZGZfZXNjYXBlKCRsKS4oZXJlZ2koJ15bYS16MC05X10rJCcsJGUpPyIgQ09MTEFURSAkZSI6IiIpKTt9ZnVuY3Rpb24KZHJvcF9kYXRhYmFzZXMoJGspe3JldHVybgpxdWVyaWVzKCJEUk9QIERBVEFCQVNFICIuaW1wbG9kZSgiLCAiLGFycmF5X21hcCgnaWRmX2VzY2FwZScsJGspKSk7fWZ1bmN0aW9uCnJlbmFtZV9kYXRhYmFzZSgkQSwkZSl7aWYoZXJlZ2koJ15bYS16MC05X10rJCcsJGUpKXtxdWVyaWVzKCJBTFRFUiBEQVRBQkFTRSAiLmlkZl9lc2NhcGUoREIpLiIgQ09MTEFURSAkZSIpO31xdWVyaWVzKCJBTFRFUiBEQVRBQkFTRSAiLmlkZl9lc2NhcGUoREIpLiIgTU9ESUZZIE5BTUUgPSAiLmlkZl9lc2NhcGUoJEEpKTtyZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24KYXV0b19pbmNyZW1lbnQoKXtyZXR1cm4iIElERU5USVRZIi4oJF9QT1NUWyJBdXRvX2luY3JlbWVudCJdIT0iIj8iKCIuKCskX1BPU1RbIkF1dG9faW5jcmVtZW50Il0pLiIsMSkiOiIiKS4iIFBSSU1BUlkgS0VZIjt9ZnVuY3Rpb24KYWx0ZXJfdGFibGUoJFAsJEEsJG8sJEFiLCRJYSwkZ2IsJGUsJHNhLCRRYyl7JGQ9YXJyYXkoKTtmb3JlYWNoKCRvCmFzJG4peyRmPWlkZl9lc2NhcGUoJG5bMF0pOyRYPSRuWzFdO2lmKCEkWCl7JGRbIkRST1AiXVtdPSIgQ09MVU1OICRmIjt9ZWxzZXskWFsxXT1wcmVnX3JlcGxhY2UoIn4oIENPTExBVEUgKScoXFx3KyknfiIsIlxcMVxcMiIsJFhbMV0pO2lmKCRuWzBdPT0iIil7JGRbIkFERCJdW109IlxuICAiLmltcGxvZGUoIiIsJFgpLigkUD09IiI/c3Vic3RyKCRBYlskWFswXV0sMTYrc3RybGVuKCRYWzBdKSk6IiIpO31lbHNle3Vuc2V0KCRYWzZdKTtpZigkZiE9JFhbMF0pe3F1ZXJpZXMoIkVYRUMgc3BfcmVuYW1lICIucSh0YWJsZSgkUCkuIi4kZiIpLiIsICIucShpZGZfdW5lc2NhcGUoJFhbMF0pKS4iLCAnQ09MVU1OJyIpO30kZFsiQUxURVIgQ09MVU1OICIuaW1wbG9kZSgiIiwkWCldW109IiI7fX19aWYoJFA9PSIiKXtyZXR1cm4KcXVlcmllcygiQ1JFQVRFIFRBQkxFICIudGFibGUoJEEpLiIgKCIuaW1wbG9kZSgiLCIsKGFycmF5KSRkWyJBREQiXSkuIlxuKSIpO31pZigkUCE9JEEpe3F1ZXJpZXMoIkVYRUMgc3BfcmVuYW1lICIucSh0YWJsZSgkUCkpLiIsICIucSgkQSkpO31pZigkQWIpeyRkWyIiXT0kQWI7fWZvcmVhY2goJGQKYXMkdz0+JFgpe2lmKCFxdWVyaWVzKCJBTFRFUiBUQUJMRSAiLmlkZl9lc2NhcGUoJEEpLiIgJHciLmltcGxvZGUoIiwiLCRYKSkpe3JldHVybgpmYWxzZTt9fXJldHVybgp0cnVlO31mdW5jdGlvbgphbHRlcl9pbmRleGVzKCRQLCRkKXskdT1hcnJheSgpOyRYYT1hcnJheSgpO2ZvcmVhY2goJGQKYXMkWCl7aWYoJFhbMl09PSJEUk9QIil7aWYoJFhbMF09PSJQUklNQVJZIil7JFhhW109aWRmX2VzY2FwZSgkWFsxXSk7fWVsc2V7JHVbXT1pZGZfZXNjYXBlKCRYWzFdKS4iIE9OICIudGFibGUoJFApO319ZWxzZWlmKCFxdWVyaWVzKCgkWFswXSE9IlBSSU1BUlkiPyJDUkVBVEUgJFhbMF0gIi4oJFhbMF0hPSJJTkRFWCI/IklOREVYICI6IiIpLmlkZl9lc2NhcGUoJFhbMV0hPSIiPyRYWzFdOnVuaXFpZCgkUC4iXyIpKS4iIE9OICIudGFibGUoJFApOiJBTFRFUiBUQUJMRSAiLnRhYmxlKCRQKS4iIEFERCBQUklNQVJZIEtFWSIpLiIgJFhbMl0iKSl7cmV0dXJuCmZhbHNlO319cmV0dXJuKCEkdXx8cXVlcmllcygiRFJPUCBJTkRFWCAiLmltcGxvZGUoIiwgIiwkdSkpKSYmKCEkWGF8fHF1ZXJpZXMoIkFMVEVSIFRBQkxFICIudGFibGUoJFApLiIgRFJPUCAiLmltcGxvZGUoIiwgIiwkWGEpKSk7fWZ1bmN0aW9uCmJlZ2luKCl7cmV0dXJuCnF1ZXJpZXMoIkJFR0lOIFRSQU5TQUNUSU9OIik7fWZ1bmN0aW9uCmluc2VydF9pbnRvKCRQLCROKXtyZXR1cm4KcXVlcmllcygiSU5TRVJUIElOVE8gIi50YWJsZSgkUCkuKCROPyIgKCIuaW1wbG9kZSgiLCAiLGFycmF5X2tleXMoJE4pKS4iKVxuVkFMVUVTICgiLmltcGxvZGUoIiwgIiwkTikuIikiOiJERUZBVUxUIFZBTFVFUyIpKTt9ZnVuY3Rpb24KaW5zZXJ0X3VwZGF0ZSgkUCwkTiwkVmMpeyRaZD1hcnJheSgpOyRaPWFycmF5KCk7Zm9yZWFjaCgkTgphcyR3PT4kWCl7JFpkW109IiR3ID0gJFgiO2lmKGlzc2V0KCRWY1tpZGZfdW5lc2NhcGUoJHcpXSkpeyRaW109IiR3ID0gJFgiO319cmV0dXJuCnF1ZXJpZXMoIk1FUkdFICIudGFibGUoJFApLiIgVVNJTkcgKFZBTFVFUygiLmltcGxvZGUoIiwgIiwkTikuIikpIEFTIHNvdXJjZSAoYyIuaW1wbG9kZSgiLCBjIixyYW5nZSgxLGNvdW50KCROKSkpLiIpIE9OICIuaW1wbG9kZSgiIEFORCAiLCRaKS4iIFdIRU4gTUFUQ0hFRCBUSEVOIFVQREFURSBTRVQgIi5pbXBsb2RlKCIsICIsJFpkKS4iIFdIRU4gTk9UIE1BVENIRUQgVEhFTiBJTlNFUlQgKCIuaW1wbG9kZSgiLCAiLGFycmF5X2tleXMoJE4pKS4iKSBWQUxVRVMgKCIuaW1wbG9kZSgiLCAiLCROKS4iKTsiKTt9ZnVuY3Rpb24KbGFzdF9pZCgpe2dsb2JhbCRoO3JldHVybiRoLT5yZXN1bHQoIlNFTEVDVCBTQ09QRV9JREVOVElUWSgpIik7fWZ1bmN0aW9uCmV4cGxhaW4oJGgsJEcpeyRoLT5xdWVyeSgiU0VUIFNIT1dQTEFOX0FMTCBPTiIpOyRJPSRoLT5xdWVyeSgkRyk7JGgtPnF1ZXJ5KCJTRVQgU0hPV1BMQU5fQUxMIE9GRiIpO3JldHVybiRJO31mdW5jdGlvbgpmb3VuZF9yb3dzKCRRLCRaKXt9ZnVuY3Rpb24KZm9yZWlnbl9rZXlzKCRQKXskST1hcnJheSgpO2ZvcmVhY2goZ2V0X3Jvd3MoIkVYRUMgc3BfZmtleXMgQGZrdGFibGVfbmFtZSA9ICIucSgkUCkpYXMkSil7JHA9JiRJWyRKWyJGS19OQU1FIl1dOyRwWyJ0YWJsZSJdPSRKWyJQS1RBQkxFX05BTUUiXTskcFsic291cmNlIl1bXT0kSlsiRktDT0xVTU5fTkFNRSJdOyRwWyJ0YXJnZXQiXVtdPSRKWyJQS0NPTFVNTl9OQU1FIl07fXJldHVybiRJO31mdW5jdGlvbgp0cnVuY2F0ZV90YWJsZXMoJFIpe3JldHVybgphcHBseV9xdWVyaWVzKCJUUlVOQ0FURSBUQUJMRSIsJFIpO31mdW5jdGlvbgpkcm9wX3ZpZXdzKCRmZSl7cmV0dXJuCnF1ZXJpZXMoIkRST1AgVklFVyAiLmltcGxvZGUoIiwgIixhcnJheV9tYXAoJ3RhYmxlJywkZmUpKSk7fWZ1bmN0aW9uCmRyb3BfdGFibGVzKCRSKXtyZXR1cm4KcXVlcmllcygiRFJPUCBUQUJMRSAiLmltcGxvZGUoIiwgIixhcnJheV9tYXAoJ3RhYmxlJywkUikpKTt9ZnVuY3Rpb24KbW92ZV90YWJsZXMoJFIsJGZlLCRTKXtyZXR1cm4KYXBwbHlfcXVlcmllcygiQUxURVIgU0NIRU1BICIuaWRmX2VzY2FwZSgkUykuIiBUUkFOU0ZFUiIsYXJyYXlfbWVyZ2UoJFIsJGZlKSk7fWZ1bmN0aW9uCnRyaWdnZXIoJEEpe2lmKCRBPT0iIil7cmV0dXJuCmFycmF5KCk7fSRLPWdldF9yb3dzKCJTRUxFQ1Qgcy5uYW1lIFtUcmlnZ2VyXSwKQ0FTRSBXSEVOIE9CSkVDVFBST1BFUlRZKHMuaWQsICdFeGVjSXNJbnNlcnRUcmlnZ2VyJykgPSAxIFRIRU4gJ0lOU0VSVCcgV0hFTiBPQkpFQ1RQUk9QRVJUWShzLmlkLCAnRXhlY0lzVXBkYXRlVHJpZ2dlcicpID0gMSBUSEVOICdVUERBVEUnIFdIRU4gT0JKRUNUUFJPUEVSVFkocy5pZCwgJ0V4ZWNJc0RlbGV0ZVRyaWdnZXInKSA9IDEgVEhFTiAnREVMRVRFJyBFTkQgW0V2ZW50XSwKQ0FTRSBXSEVOIE9CSkVDVFBST1BFUlRZKHMuaWQsICdFeGVjSXNJbnN0ZWFkT2ZUcmlnZ2VyJykgPSAxIFRIRU4gJ0lOU1RFQUQgT0YnIEVMU0UgJ0FGVEVSJyBFTkQgW1RpbWluZ10sCmMudGV4dApGUk9NIHN5c29iamVjdHMgcwpKT0lOIHN5c2NvbW1lbnRzIGMgT04gcy5pZCA9IGMuaWQKV0hFUkUgcy54dHlwZSA9ICdUUicgQU5EIHMubmFtZSA9ICIucSgkQSkpOyRJPXJlc2V0KCRLKTtpZigkSSl7JElbIlN0YXRlbWVudCJdPXByZWdfcmVwbGFjZSgnfl4uK1xccytBU1xccyt+aXNVJywnJywkSVsidGV4dCJdKTt9cmV0dXJuJEk7fWZ1bmN0aW9uCnRyaWdnZXJzKCRQKXskST1hcnJheSgpO2ZvcmVhY2goZ2V0X3Jvd3MoIlNFTEVDVCBzeXMxLm5hbWUsCkNBU0UgV0hFTiBPQkpFQ1RQUk9QRVJUWShzeXMxLmlkLCAnRXhlY0lzSW5zZXJ0VHJpZ2dlcicpID0gMSBUSEVOICdJTlNFUlQnIFdIRU4gT0JKRUNUUFJPUEVSVFkoc3lzMS5pZCwgJ0V4ZWNJc1VwZGF0ZVRyaWdnZXInKSA9IDEgVEhFTiAnVVBEQVRFJyBXSEVOIE9CSkVDVFBST1BFUlRZKHN5czEuaWQsICdFeGVjSXNEZWxldGVUcmlnZ2VyJykgPSAxIFRIRU4gJ0RFTEVURScgRU5EIFtFdmVudF0sCkNBU0UgV0hFTiBPQkpFQ1RQUk9QRVJUWShzeXMxLmlkLCAnRXhlY0lzSW5zdGVhZE9mVHJpZ2dlcicpID0gMSBUSEVOICdJTlNURUFEIE9GJyBFTFNFICdBRlRFUicgRU5EIFtUaW1pbmddCkZST00gc3lzb2JqZWN0cyBzeXMxCkpPSU4gc3lzb2JqZWN0cyBzeXMyIE9OIHN5czEucGFyZW50X29iaiA9IHN5czIuaWQKV0hFUkUgc3lzMS54dHlwZSA9ICdUUicgQU5EIHN5czIubmFtZSA9ICIucSgkUCkpYXMkSil7JElbJEpbIm5hbWUiXV09YXJyYXkoJEpbIlRpbWluZyJdLCRKWyJFdmVudCJdKTt9cmV0dXJuJEk7fWZ1bmN0aW9uCnRyaWdnZXJfb3B0aW9ucygpe3JldHVybgphcnJheSgiVGltaW5nIj0+YXJyYXkoIkFGVEVSIiwiSU5TVEVBRCBPRiIpLCJUeXBlIj0+YXJyYXkoIkFTIiksKTt9ZnVuY3Rpb24Kc2NoZW1hcygpe3JldHVybgpnZXRfdmFscygiU0VMRUNUIG5hbWUgRlJPTSBzeXMuc2NoZW1hcyIpO31mdW5jdGlvbgpnZXRfc2NoZW1hKCl7Z2xvYmFsJGg7aWYoJF9HRVRbIm5zIl0hPSIiKXtyZXR1cm4kX0dFVFsibnMiXTt9cmV0dXJuJGgtPnJlc3VsdCgiU0VMRUNUIFNDSEVNQV9OQU1FKCkiKTt9ZnVuY3Rpb24Kc2V0X3NjaGVtYSgka2Qpe3JldHVybgp0cnVlO31mdW5jdGlvbgp1c2Vfc3FsKCRqKXtyZXR1cm4iVVNFICIuaWRmX2VzY2FwZSgkaik7fWZ1bmN0aW9uCnNob3dfdmFyaWFibGVzKCl7cmV0dXJuCmFycmF5KCk7fWZ1bmN0aW9uCnNob3dfc3RhdHVzKCl7cmV0dXJuCmFycmF5KCk7fWZ1bmN0aW9uCnN1cHBvcnQoJHViKXtyZXR1cm4KZXJlZygnXihzY2hlbWV8dHJpZ2dlcnx2aWV3fGRyb3BfY29sKSQnLCR1Yik7fSRiYz0ibXNzcWwiOyRSZD1hcnJheSgpOyR5ZD1hcnJheSgpO2ZvcmVhY2goYXJyYXkobGFuZygxMik9PmFycmF5KCJ0aW55aW50Ij0+Mywic21hbGxpbnQiPT41LCJpbnQiPT4xMCwiYmlnaW50Ij0+MjAsImJpdCI9PjEsImRlY2ltYWwiPT4wLCJyZWFsIj0+MTIsImZsb2F0Ij0+NTMsInNtYWxsbW9uZXkiPT4xMCwibW9uZXkiPT4yMCksbGFuZygxMyk9PmFycmF5KCJkYXRlIj0+MTAsInNtYWxsZGF0ZXRpbWUiPT4xOSwiZGF0ZXRpbWUiPT4xOSwiZGF0ZXRpbWUyIj0+MTksInRpbWUiPT44LCJkYXRldGltZW9mZnNldCI9PjEwKSxsYW5nKDE0KT0+YXJyYXkoImNoYXIiPT44MDAwLCJ2YXJjaGFyIj0+ODAwMCwidGV4dCI9PjIxNDc0ODM2NDcsIm5jaGFyIj0+NDAwMCwibnZhcmNoYXIiPT40MDAwLCJudGV4dCI9PjEwNzM3NDE4MjMpLGxhbmcoMTUpPT5hcnJheSgiYmluYXJ5Ij0+ODAwMCwidmFyYmluYXJ5Ij0+ODAwMCwiaW1hZ2UiPT4yMTQ3NDgzNjQ3KSwpYXMkdz0+JFgpeyRSZCs9JFg7JHlkWyR3XT1hcnJheV9rZXlzKCRYKTt9JFlkPWFycmF5KCk7JEdjPWFycmF5KCI9IiwiPCIsIj4iLCI8PSIsIj49IiwiIT0iLCJMSUtFIiwiTElLRSAlJSIsIklOIiwiSVMgTlVMTCIsIk5PVCBMSUtFIiwiTk9UIElOIiwiSVMgTk9UIE5VTEwiKTskSWI9YXJyYXkoImxlbiIsImxvd2VyIiwicm91bmQiLCJ1cHBlciIpOyRMYj1hcnJheSgiYXZnIiwiY291bnQiLCJjb3VudCBkaXN0aW5jdCIsIm1heCIsIm1pbiIsInN1bSIpOyRhYj1hcnJheShhcnJheSgiZGF0ZXx0aW1lIj0+ImdldGRhdGUiLCksYXJyYXkoImludHxkZWNpbWFsfHJlYWx8ZmxvYXR8bW9uZXl8ZGF0ZXRpbWUiPT4iKy8tIiwiY2hhcnx0ZXh0Ij0+IisiLCkpO30kV2E9YXJyYXkoInNlcnZlciI9PiJNeVNRTCIpKyRXYTtpZighZGVmaW5lZCgiRFJJVkVSIikpeyRVYz1hcnJheSgiTXlTUUxpIiwiTXlTUUwiLCJQRE9fTXlTUUwiKTtkZWZpbmUoIkRSSVZFUiIsInNlcnZlciIpO2lmKGV4dGVuc2lvbl9sb2FkZWQoIm15c3FsaSIpKXtjbGFzcwpNaW5fREIKZXh0ZW5kcwpNeVNRTGl7dmFyJGV4dGVuc2lvbj0iTXlTUUxpIjtmdW5jdGlvbgpNaW5fREIoKXtwYXJlbnQ6OmluaXQoKTt9ZnVuY3Rpb24KY29ubmVjdCgkTSwkViwkRSl7bXlzcWxpX3JlcG9ydChNWVNRTElfUkVQT1JUX09GRik7bGlzdCgkUWIsJFNjKT1leHBsb2RlKCI6IiwkTSwyKTskST1AJHRoaXMtPnJlYWxfY29ubmVjdCgoJE0hPSIiPyRRYjppbmlfZ2V0KCJteXNxbGkuZGVmYXVsdF9ob3N0IikpLCgkTS4kViE9IiI/JFY6aW5pX2dldCgibXlzcWxpLmRlZmF1bHRfdXNlciIpKSwoJE0uJFYuJEUhPSIiPyRFOmluaV9nZXQoIm15c3FsaS5kZWZhdWx0X3B3IikpLG51bGwsKGlzX251bWVyaWMoJFNjKT8kU2M6aW5pX2dldCgibXlzcWxpLmRlZmF1bHRfcG9ydCIpKSwoIWlzX251bWVyaWMoJFNjKT8kU2M6bnVsbCkpO2lmKCRJKXtpZihtZXRob2RfZXhpc3RzKCR0aGlzLCdzZXRfY2hhcnNldCcpKXskdGhpcy0+c2V0X2NoYXJzZXQoInV0ZjgiKTt9ZWxzZXskdGhpcy0+cXVlcnkoIlNFVCBOQU1FUyB1dGY4Iik7fX1yZXR1cm4kSTt9ZnVuY3Rpb24KcmVzdWx0KCRHLCRuPTApeyRIPSR0aGlzLT5xdWVyeSgkRyk7aWYoISRIKXtyZXR1cm4KZmFsc2U7fSRKPSRILT5mZXRjaF9hcnJheSgpO3JldHVybiRKWyRuXTt9ZnVuY3Rpb24KcXVvdGUoJE8pe3JldHVybiInIi4kdGhpcy0+ZXNjYXBlX3N0cmluZygkTykuIiciO319fWVsc2VpZihleHRlbnNpb25fbG9hZGVkKCJteXNxbCIpKXtjbGFzcwpNaW5fREJ7dmFyJGV4dGVuc2lvbj0iTXlTUUwiLCRzZXJ2ZXJfaW5mbywkYWZmZWN0ZWRfcm93cywkZXJyb3IsJF9saW5rLCRfcmVzdWx0O2Z1bmN0aW9uCmNvbm5lY3QoJE0sJFYsJEUpeyR0aGlzLT5fbGluaz1AbXlzcWxfY29ubmVjdCgoJE0hPSIiPyRNOmluaV9nZXQoIm15c3FsLmRlZmF1bHRfaG9zdCIpKSwoIiRNJFYiIT0iIj8kVjppbmlfZ2V0KCJteXNxbC5kZWZhdWx0X3VzZXIiKSksKCIkTSRWJEUiIT0iIj8kRTppbmlfZ2V0KCJteXNxbC5kZWZhdWx0X3Bhc3N3b3JkIikpLHRydWUsMTMxMDcyKTtpZigkdGhpcy0+X2xpbmspeyR0aGlzLT5zZXJ2ZXJfaW5mbz1teXNxbF9nZXRfc2VydmVyX2luZm8oJHRoaXMtPl9saW5rKTtpZihmdW5jdGlvbl9leGlzdHMoJ215c3FsX3NldF9jaGFyc2V0Jykpe215c3FsX3NldF9jaGFyc2V0KCJ1dGY4IiwkdGhpcy0+X2xpbmspO31lbHNleyR0aGlzLT5xdWVyeSgiU0VUIE5BTUVTIHV0ZjgiKTt9fWVsc2V7JHRoaXMtPmVycm9yPW15c3FsX2Vycm9yKCk7fXJldHVybihib29sKSR0aGlzLT5fbGluazt9ZnVuY3Rpb24KcXVvdGUoJE8pe3JldHVybiInIi5teXNxbF9yZWFsX2VzY2FwZV9zdHJpbmcoJE8sJHRoaXMtPl9saW5rKS4iJyI7fWZ1bmN0aW9uCnNlbGVjdF9kYigkail7cmV0dXJuCm15c3FsX3NlbGVjdF9kYigkaiwkdGhpcy0+X2xpbmspO31mdW5jdGlvbgpxdWVyeSgkRywkU2Q9ZmFsc2UpeyRIPUAoJFNkP215c3FsX3VuYnVmZmVyZWRfcXVlcnkoJEcsJHRoaXMtPl9saW5rKTpteXNxbF9xdWVyeSgkRywkdGhpcy0+X2xpbmspKTtpZighJEgpeyR0aGlzLT5lcnJvcj1teXNxbF9lcnJvcigkdGhpcy0+X2xpbmspO3JldHVybgpmYWxzZTt9aWYoJEg9PT10cnVlKXskdGhpcy0+YWZmZWN0ZWRfcm93cz1teXNxbF9hZmZlY3RlZF9yb3dzKCR0aGlzLT5fbGluayk7JHRoaXMtPmluZm89bXlzcWxfaW5mbygkdGhpcy0+X2xpbmspO3JldHVybgp0cnVlO31yZXR1cm4KbmV3Ck1pbl9SZXN1bHQoJEgpO31mdW5jdGlvbgptdWx0aV9xdWVyeSgkRyl7cmV0dXJuJHRoaXMtPl9yZXN1bHQ9JHRoaXMtPnF1ZXJ5KCRHKTt9ZnVuY3Rpb24Kc3RvcmVfcmVzdWx0KCl7cmV0dXJuJHRoaXMtPl9yZXN1bHQ7fWZ1bmN0aW9uCm5leHRfcmVzdWx0KCl7cmV0dXJuCmZhbHNlO31mdW5jdGlvbgpyZXN1bHQoJEcsJG49MCl7JEg9JHRoaXMtPnF1ZXJ5KCRHKTtpZighJEh8fCEkSC0+bnVtX3Jvd3Mpe3JldHVybgpmYWxzZTt9cmV0dXJuCm15c3FsX3Jlc3VsdCgkSC0+X3Jlc3VsdCwwLCRuKTt9fWNsYXNzCk1pbl9SZXN1bHR7dmFyJG51bV9yb3dzLCRfcmVzdWx0LCRfb2Zmc2V0PTA7ZnVuY3Rpb24KTWluX1Jlc3VsdCgkSCl7JHRoaXMtPl9yZXN1bHQ9JEg7JHRoaXMtPm51bV9yb3dzPW15c3FsX251bV9yb3dzKCRIKTt9ZnVuY3Rpb24KZmV0Y2hfYXNzb2MoKXtyZXR1cm4KbXlzcWxfZmV0Y2hfYXNzb2MoJHRoaXMtPl9yZXN1bHQpO31mdW5jdGlvbgpmZXRjaF9yb3coKXtyZXR1cm4KbXlzcWxfZmV0Y2hfcm93KCR0aGlzLT5fcmVzdWx0KTt9ZnVuY3Rpb24KZmV0Y2hfZmllbGQoKXskST1teXNxbF9mZXRjaF9maWVsZCgkdGhpcy0+X3Jlc3VsdCwkdGhpcy0+X29mZnNldCsrKTskSS0+b3JndGFibGU9JEktPnRhYmxlOyRJLT5vcmduYW1lPSRJLT5uYW1lOyRJLT5jaGFyc2V0bnI9KCRJLT5ibG9iPzYzOjApO3JldHVybiRJO31mdW5jdGlvbgpfX2Rlc3RydWN0KCl7bXlzcWxfZnJlZV9yZXN1bHQoJHRoaXMtPl9yZXN1bHQpO319fWVsc2VpZihleHRlbnNpb25fbG9hZGVkKCJwZG9fbXlzcWwiKSl7Y2xhc3MKTWluX0RCCmV4dGVuZHMKTWluX1BET3t2YXIkZXh0ZW5zaW9uPSJQRE9fTXlTUUwiO2Z1bmN0aW9uCmNvbm5lY3QoJE0sJFYsJEUpeyR0aGlzLT5kc24oIm15c3FsOmhvc3Q9Ii5zdHJfcmVwbGFjZSgiOiIsIjt1bml4X3NvY2tldD0iLHByZWdfcmVwbGFjZSgnfjooXFxkKX4nLCc7cG9ydD1cXDEnLCRNKSksJFYsJEUpOyR0aGlzLT5xdWVyeSgiU0VUIE5BTUVTIHV0ZjgiKTtyZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24Kc2VsZWN0X2RiKCRqKXtyZXR1cm4kdGhpcy0+cXVlcnkoIlVTRSAiLmlkZl9lc2NhcGUoJGopKTt9ZnVuY3Rpb24KcXVlcnkoJEcsJFNkPWZhbHNlKXskdGhpcy0+c2V0QXR0cmlidXRlKDEwMDAsISRTZCk7cmV0dXJuCnBhcmVudDo6cXVlcnkoJEcsJFNkKTt9fX1mdW5jdGlvbgppZGZfZXNjYXBlKCR0KXtyZXR1cm4iYCIuc3RyX3JlcGxhY2UoImAiLCJgYCIsJHQpLiJgIjt9ZnVuY3Rpb24KdGFibGUoJHQpe3JldHVybgppZGZfZXNjYXBlKCR0KTt9ZnVuY3Rpb24KY29ubmVjdCgpe2dsb2JhbCRjOyRoPW5ldwpNaW5fREI7JE5hPSRjLT5jcmVkZW50aWFscygpO2lmKCRoLT5jb25uZWN0KCROYVswXSwkTmFbMV0sJE5hWzJdKSl7JGgtPnF1ZXJ5KCJTRVQgc3FsX3F1b3RlX3Nob3dfY3JlYXRlID0gMSIpO3JldHVybiRoO30kST0kaC0+ZXJyb3I7aWYoZnVuY3Rpb25fZXhpc3RzKCdpY29udicpJiYhaXNfdXRmOCgkSSkmJnN0cmxlbigkamQ9aWNvbnYoIndpbmRvd3MtMTI1MCIsInV0Zi04IiwkSSkpPnN0cmxlbigkSSkpeyRJPSRqZDt9cmV0dXJuJEk7fWZ1bmN0aW9uCmdldF9kYXRhYmFzZXMoJF9iPXRydWUpe2dsb2JhbCRoOyRJPSZnZXRfc2Vzc2lvbigiZGJzIik7aWYoIWlzc2V0KCRJKSl7aWYoJF9iKXtyZXN0YXJ0X3Nlc3Npb24oKTtvYl9mbHVzaCgpO2ZsdXNoKCk7fSRJPWdldF92YWxzKCRoLT5zZXJ2ZXJfaW5mbz49NT8iU0VMRUNUIFNDSEVNQV9OQU1FIEZST00gaW5mb3JtYXRpb25fc2NoZW1hLlNDSEVNQVRBIjoiU0hPVyBEQVRBQkFTRVMiKTt9cmV0dXJuJEk7fWZ1bmN0aW9uCmxpbWl0KCRHLCRaLCR4LCRDPTAsJHBkPSIgIil7cmV0dXJuIiAkRyRaIi4oaXNzZXQoJHgpPyRwZC4iTElNSVQgJHgiLigkQz8iIE9GRlNFVCAkQyI6IiIpOiIiKTt9ZnVuY3Rpb24KbGltaXQxKCRHLCRaKXtyZXR1cm4KbGltaXQoJEcsJFosMSk7fWZ1bmN0aW9uCmRiX2NvbGxhdGlvbigkbCwkRmEpe2dsb2JhbCRoOyRJPW51bGw7JExhPSRoLT5yZXN1bHQoIlNIT1cgQ1JFQVRFIERBVEFCQVNFICIuaWRmX2VzY2FwZSgkbCksMSk7aWYocHJlZ19tYXRjaCgnfiBDT0xMQVRFIChbXiBdKyl+JywkTGEsJHopKXskST0kelsxXTt9ZWxzZWlmKHByZWdfbWF0Y2goJ34gQ0hBUkFDVEVSIFNFVCAoW14gXSspficsJExhLCR6KSl7JEk9JEZhWyR6WzFdXVstMV07fXJldHVybiRJO31mdW5jdGlvbgplbmdpbmVzKCl7JEk9YXJyYXkoKTtmb3JlYWNoKGdldF9yb3dzKCJTSE9XIEVOR0lORVMiKWFzJEope2lmKGVyZWcoIllFU3xERUZBVUxUIiwkSlsiU3VwcG9ydCJdKSl7JElbXT0kSlsiRW5naW5lIl07fX1yZXR1cm4kSTt9ZnVuY3Rpb24KbG9nZ2VkX3VzZXIoKXtnbG9iYWwkaDtyZXR1cm4kaC0+cmVzdWx0KCJTRUxFQ1QgVVNFUigpIik7fWZ1bmN0aW9uCnRhYmxlc19saXN0KCl7Z2xvYmFsJGg7cmV0dXJuCmdldF9rZXlfdmFscygiU0hPVyIuKCRoLT5zZXJ2ZXJfaW5mbz49NT8iIEZVTEwiOiIiKS4iIFRBQkxFUyIpO31mdW5jdGlvbgpjb3VudF90YWJsZXMoJGspeyRJPWFycmF5KCk7Zm9yZWFjaCgkawphcyRsKXskSVskbF09Y291bnQoZ2V0X3ZhbHMoIlNIT1cgVEFCTEVTIElOICIuaWRmX2VzY2FwZSgkbCkpKTt9cmV0dXJuJEk7fWZ1bmN0aW9uCnRhYmxlX3N0YXR1cygkQT0iIil7JEk9YXJyYXkoKTtmb3JlYWNoKGdldF9yb3dzKCJTSE9XIFRBQkxFIFNUQVRVUyIuKCRBIT0iIj8iIExJS0UgIi5xKGFkZGNzbGFzaGVzKCRBLCIlXyIpKToiIikpYXMkSil7aWYoJEpbIkVuZ2luZSJdPT0iSW5ub0RCIil7JEpbIkNvbW1lbnQiXT1wcmVnX3JlcGxhY2UoJ34oPzooLispOyApP0lubm9EQiBmcmVlOiAuKn4nLCdcXDEnLCRKWyJDb21tZW50Il0pO31pZighaXNzZXQoJEpbIlJvd3MiXSkpeyRKWyJDb21tZW50Il09IiI7fWlmKCRBIT0iIil7cmV0dXJuJEo7fSRJWyRKWyJOYW1lIl1dPSRKO31yZXR1cm4kSTt9ZnVuY3Rpb24KaXNfdmlldygkUSl7cmV0dXJuIWlzc2V0KCRRWyJSb3dzIl0pO31mdW5jdGlvbgpma19zdXBwb3J0KCRRKXtyZXR1cm4KZXJlZ2koIklubm9EQnxJQk1EQjJJIiwkUVsiRW5naW5lIl0pO31mdW5jdGlvbgpmaWVsZHMoJFApeyRJPWFycmF5KCk7Zm9yZWFjaChnZXRfcm93cygiU0hPVyBGVUxMIENPTFVNTlMgRlJPTSAiLnRhYmxlKCRQKSlhcyRKKXtwcmVnX21hdGNoKCd+XihbXiggXSspKD86XFwoKC4rKVxcKSk/KCB1bnNpZ25lZCk/KCB6ZXJvZmlsbCk/JH4nLCRKWyJUeXBlIl0sJHopOyRJWyRKWyJGaWVsZCJdXT1hcnJheSgiZmllbGQiPT4kSlsiRmllbGQiXSwiZnVsbF90eXBlIj0+JEpbIlR5cGUiXSwidHlwZSI9PiR6WzFdLCJsZW5ndGgiPT4kelsyXSwidW5zaWduZWQiPT5sdHJpbSgkelszXS4kels0XSksImRlZmF1bHQiPT4oJEpbIkRlZmF1bHQiXSE9IiJ8fGVyZWcoImNoYXIiLCR6WzFdKT8kSlsiRGVmYXVsdCJdOm51bGwpLCJudWxsIj0+KCRKWyJOdWxsIl09PSJZRVMiKSwiYXV0b19pbmNyZW1lbnQiPT4oJEpbIkV4dHJhIl09PSJhdXRvX2luY3JlbWVudCIpLCJvbl91cGRhdGUiPT4oZXJlZ2koJ15vbiB1cGRhdGUgKC4rKScsJEpbIkV4dHJhIl0sJHopPyR6WzFdOiIiKSwiY29sbGF0aW9uIj0+JEpbIkNvbGxhdGlvbiJdLCJwcml2aWxlZ2VzIj0+YXJyYXlfZmxpcChleHBsb2RlKCIsIiwkSlsiUHJpdmlsZWdlcyJdKSksImNvbW1lbnQiPT4kSlsiQ29tbWVudCJdLCJwcmltYXJ5Ij0+KCRKWyJLZXkiXT09IlBSSSIpLCk7fXJldHVybiRJO31mdW5jdGlvbgppbmRleGVzKCRQLCRpPW51bGwpeyRJPWFycmF5KCk7Zm9yZWFjaChnZXRfcm93cygiU0hPVyBJTkRFWCBGUk9NICIudGFibGUoJFApLCRpKWFzJEopeyRJWyRKWyJLZXlfbmFtZSJdXVsidHlwZSJdPSgkSlsiS2V5X25hbWUiXT09IlBSSU1BUlkiPyJQUklNQVJZIjooJEpbIkluZGV4X3R5cGUiXT09IkZVTExURVhUIj8iRlVMTFRFWFQiOigkSlsiTm9uX3VuaXF1ZSJdPyJJTkRFWCI6IlVOSVFVRSIpKSk7JElbJEpbIktleV9uYW1lIl1dWyJjb2x1bW5zIl1bXT0kSlsiQ29sdW1uX25hbWUiXTskSVskSlsiS2V5X25hbWUiXV1bImxlbmd0aHMiXVtdPSRKWyJTdWJfcGFydCJdO31yZXR1cm4kSTt9ZnVuY3Rpb24KZm9yZWlnbl9rZXlzKCRQKXtnbG9iYWwkaCwkQmM7c3RhdGljJEY9J2AoPzpbXmBdfGBgKStgJzskST1hcnJheSgpOyRNYT0kaC0+cmVzdWx0KCJTSE9XIENSRUFURSBUQUJMRSAiLnRhYmxlKCRQKSwxKTtpZigkTWEpe3ByZWdfbWF0Y2hfYWxsKCJ+Q09OU1RSQUlOVCAoJEYpIEZPUkVJR04gS0VZIFxcKCgoPzokRiw/ID8pKylcXCkgUkVGRVJFTkNFUyAoJEYpKD86XFwuKCRGKSk/IFxcKCgoPzokRiw/ID8pKylcXCkoPzogT04gREVMRVRFICgkQmMpKT8oPzogT04gVVBEQVRFICgkQmMpKT9+IiwkTWEsJHBjLFBSRUdfU0VUX09SREVSKTtmb3JlYWNoKCRwYwphcyR6KXtwcmVnX21hdGNoX2FsbCgifiRGfiIsJHpbMl0sJHNkKTtwcmVnX21hdGNoX2FsbCgifiRGfiIsJHpbNV0sJFMpOyRJW2lkZl91bmVzY2FwZSgkelsxXSldPWFycmF5KCJkYiI9PmlkZl91bmVzY2FwZSgkels0XSE9IiI/JHpbM106JHpbNF0pLCJ0YWJsZSI9PmlkZl91bmVzY2FwZSgkels0XSE9IiI/JHpbNF06JHpbM10pLCJzb3VyY2UiPT5hcnJheV9tYXAoJ2lkZl91bmVzY2FwZScsJHNkWzBdKSwidGFyZ2V0Ij0+YXJyYXlfbWFwKCdpZGZfdW5lc2NhcGUnLCRTWzBdKSwib25fZGVsZXRlIj0+JHpbNl0sIm9uX3VwZGF0ZSI9PiR6WzddLCk7fX1yZXR1cm4kSTt9ZnVuY3Rpb24KdmlldygkQSl7Z2xvYmFsJGg7cmV0dXJuCmFycmF5KCJzZWxlY3QiPT5wcmVnX3JlcGxhY2UoJ35eKD86W15gXXxgW15gXSpgKSpcXHMrQVNcXHMrfmlzVScsJycsJGgtPnJlc3VsdCgiU0hPVyBDUkVBVEUgVklFVyAiLnRhYmxlKCRBKSwxKSkpO31mdW5jdGlvbgpjb2xsYXRpb25zKCl7JEk9YXJyYXkoKTtmb3JlYWNoKGdldF9yb3dzKCJTSE9XIENPTExBVElPTiIpYXMkSil7aWYoJEpbIkRlZmF1bHQiXSl7JElbJEpbIkNoYXJzZXQiXV1bLTFdPSRKWyJDb2xsYXRpb24iXTt9ZWxzZXskSVskSlsiQ2hhcnNldCJdXVtdPSRKWyJDb2xsYXRpb24iXTt9fWtzb3J0KCRJKTtmb3JlYWNoKCRJCmFzJHc9PiRYKXthc29ydCgkSVskd10pO31yZXR1cm4kSTt9ZnVuY3Rpb24KaW5mb3JtYXRpb25fc2NoZW1hKCRsKXtnbG9iYWwkaDtyZXR1cm4oJGgtPnNlcnZlcl9pbmZvPj01JiYkbD09ImluZm9ybWF0aW9uX3NjaGVtYSIpO31mdW5jdGlvbgplcnJvcigpe2dsb2JhbCRoO3JldHVybgpoKHByZWdfcmVwbGFjZSgnfl5Zb3UgaGF2ZSBhbiBlcnJvci4qc3ludGF4IHRvIHVzZX5VJywiU3ludGF4IGVycm9yIiwkaC0+ZXJyb3IpKTt9ZnVuY3Rpb24KZXhhY3RfdmFsdWUoJFgpe3JldHVybgpxKCRYKS4iIENPTExBVEUgdXRmOF9iaW4iO31mdW5jdGlvbgpjcmVhdGVfZGF0YWJhc2UoJGwsJGUpe3NldF9zZXNzaW9uKCJkYnMiLG51bGwpO3JldHVybgpxdWVyaWVzKCJDUkVBVEUgREFUQUJBU0UgIi5pZGZfZXNjYXBlKCRsKS4oJGU/IiBDT0xMQVRFICIucSgkZSk6IiIpKTt9ZnVuY3Rpb24KZHJvcF9kYXRhYmFzZXMoJGspe3NldF9zZXNzaW9uKCJkYnMiLG51bGwpO3JldHVybgphcHBseV9xdWVyaWVzKCJEUk9QIERBVEFCQVNFIiwkaywnaWRmX2VzY2FwZScpO31mdW5jdGlvbgpyZW5hbWVfZGF0YWJhc2UoJEEsJGUpe2lmKGNyZWF0ZV9kYXRhYmFzZSgkQSwkZSkpeyRlZD1hcnJheSgpO2ZvcmVhY2godGFibGVzX2xpc3QoKWFzJFA9PiRVKXskZWRbXT10YWJsZSgkUCkuIiBUTyAiLmlkZl9lc2NhcGUoJEEpLiIuIi50YWJsZSgkUCk7fWlmKCEkZWR8fHF1ZXJpZXMoIlJFTkFNRSBUQUJMRSAiLmltcGxvZGUoIiwgIiwkZWQpKSl7cXVlcmllcygiRFJPUCBEQVRBQkFTRSAiLmlkZl9lc2NhcGUoREIpKTtyZXR1cm4KdHJ1ZTt9fXJldHVybgpmYWxzZTt9ZnVuY3Rpb24KYXV0b19pbmNyZW1lbnQoKXskdGE9IiBQUklNQVJZIEtFWSI7aWYoJF9HRVRbImNyZWF0ZSJdIT0iIiYmJF9QT1NUWyJhdXRvX2luY3JlbWVudF9jb2wiXSl7Zm9yZWFjaChpbmRleGVzKCRfR0VUWyJjcmVhdGUiXSlhcyR1KXtpZihpbl9hcnJheSgkX1BPU1RbImZpZWxkcyJdWyRfUE9TVFsiYXV0b19pbmNyZW1lbnRfY29sIl1dWyJvcmlnIl0sJHVbImNvbHVtbnMiXSx0cnVlKSl7JHRhPSIiO2JyZWFrO31pZigkdVsidHlwZSJdPT0iUFJJTUFSWSIpeyR0YT0iIFVOSVFVRSI7fX19cmV0dXJuIiBBVVRPX0lOQ1JFTUVOVCR0YSI7fWZ1bmN0aW9uCmFsdGVyX3RhYmxlKCRQLCRBLCRvLCRBYiwkSWEsJGdiLCRlLCRzYSwkUWMpeyRkPWFycmF5KCk7Zm9yZWFjaCgkbwphcyRuKXskZFtdPSgkblsxXT8oJFAhPSIiPygkblswXSE9IiI/IkNIQU5HRSAiLmlkZl9lc2NhcGUoJG5bMF0pOiJBREQiKToiICIpLiIgIi5pbXBsb2RlKCRuWzFdKS4oJFAhPSIiPyIgJG5bMl0iOiIiKToiRFJPUCAiLmlkZl9lc2NhcGUoJG5bMF0pKTt9JGQ9YXJyYXlfbWVyZ2UoJGQsJEFiKTskdmQ9IkNPTU1FTlQ9Ii5xKCRJYSkuKCRnYj8iIEVOR0lORT0iLnEoJGdiKToiIikuKCRlPyIgQ09MTEFURSAiLnEoJGUpOiIiKS4oJHNhIT0iIj8iIEFVVE9fSU5DUkVNRU5UPSRzYSI6IiIpLiRRYztpZigkUD09IiIpe3JldHVybgpxdWVyaWVzKCJDUkVBVEUgVEFCTEUgIi50YWJsZSgkQSkuIiAoXG4iLmltcGxvZGUoIixcbiIsJGQpLiJcbikgJHZkIik7fWlmKCRQIT0kQSl7JGRbXT0iUkVOQU1FIFRPICIudGFibGUoJEEpO30kZFtdPSR2ZDtyZXR1cm4KcXVlcmllcygiQUxURVIgVEFCTEUgIi50YWJsZSgkUCkuIlxuIi5pbXBsb2RlKCIsXG4iLCRkKSk7fWZ1bmN0aW9uCmFsdGVyX2luZGV4ZXMoJFAsJGQpe2ZvcmVhY2goJGQKYXMkdz0+JFgpeyRkWyR3XT0oJFhbMl09PSJEUk9QIj8iXG5EUk9QIElOREVYICIuaWRmX2VzY2FwZSgkWFsxXSk6IlxuQUREICRYWzBdICIuKCRYWzBdPT0iUFJJTUFSWSI/IktFWSAiOiIiKS4oJFhbMV0hPSIiP2lkZl9lc2NhcGUoJFhbMV0pLiIgIjoiIikuJFhbMl0pO31yZXR1cm4KcXVlcmllcygiQUxURVIgVEFCTEUgIi50YWJsZSgkUCkuaW1wbG9kZSgiLCIsJGQpKTt9ZnVuY3Rpb24KdHJ1bmNhdGVfdGFibGVzKCRSKXtyZXR1cm4KYXBwbHlfcXVlcmllcygiVFJVTkNBVEUgVEFCTEUiLCRSKTt9ZnVuY3Rpb24KZHJvcF92aWV3cygkZmUpe3JldHVybgpxdWVyaWVzKCJEUk9QIFZJRVcgIi5pbXBsb2RlKCIsICIsYXJyYXlfbWFwKCd0YWJsZScsJGZlKSkpO31mdW5jdGlvbgpkcm9wX3RhYmxlcygkUil7cmV0dXJuCnF1ZXJpZXMoIkRST1AgVEFCTEUgIi5pbXBsb2RlKCIsICIsYXJyYXlfbWFwKCd0YWJsZScsJFIpKSk7fWZ1bmN0aW9uCm1vdmVfdGFibGVzKCRSLCRmZSwkUyl7JGVkPWFycmF5KCk7Zm9yZWFjaChhcnJheV9tZXJnZSgkUiwkZmUpYXMkUCl7JGVkW109dGFibGUoJFApLiIgVE8gIi5pZGZfZXNjYXBlKCRTKS4iLiIudGFibGUoJFApO31yZXR1cm4KcXVlcmllcygiUkVOQU1FIFRBQkxFICIuaW1wbG9kZSgiLCAiLCRlZCkpO31mdW5jdGlvbgpjb3B5X3RhYmxlcygkUiwkZmUsJFMpe3F1ZXJpZXMoIlNFVCBzcWxfbW9kZSA9ICdOT19BVVRPX1ZBTFVFX09OX1pFUk8nIik7Zm9yZWFjaCgkUgphcyRQKXskQT0oJFM9PURCP3RhYmxlKCJjb3B5XyRQIik6aWRmX2VzY2FwZSgkUykuIi4iLnRhYmxlKCRQKSk7aWYoIXF1ZXJpZXMoIkRST1AgVEFCTEUgSUYgRVhJU1RTICRBIil8fCFxdWVyaWVzKCJDUkVBVEUgVEFCTEUgJEEgTElLRSAiLnRhYmxlKCRQKSl8fCFxdWVyaWVzKCJJTlNFUlQgSU5UTyAkQSBTRUxFQ1QgKiBGUk9NICIudGFibGUoJFApKSl7cmV0dXJuCmZhbHNlO319Zm9yZWFjaCgkZmUKYXMkUCl7JEE9KCRTPT1EQj90YWJsZSgiY29weV8kUCIpOmlkZl9lc2NhcGUoJFMpLiIuIi50YWJsZSgkUCkpOyRlZT12aWV3KCRQKTtpZighcXVlcmllcygiRFJPUCBWSUVXIElGIEVYSVNUUyAkQSIpfHwhcXVlcmllcygiQ1JFQVRFIFZJRVcgJEEgQVMgJGVlW3NlbGVjdF0iKSl7cmV0dXJuCmZhbHNlO319cmV0dXJuCnRydWU7fWZ1bmN0aW9uCnRyaWdnZXIoJEEpe2lmKCRBPT0iIil7cmV0dXJuCmFycmF5KCk7fSRLPWdldF9yb3dzKCJTSE9XIFRSSUdHRVJTIFdIRVJFIGBUcmlnZ2VyYCA9ICIucSgkQSkpO3JldHVybgpyZXNldCgkSyk7fWZ1bmN0aW9uCnRyaWdnZXJzKCRQKXskST1hcnJheSgpO2ZvcmVhY2goZ2V0X3Jvd3MoIlNIT1cgVFJJR0dFUlMgTElLRSAiLnEoYWRkY3NsYXNoZXMoJFAsIiVfIikpKWFzJEopeyRJWyRKWyJUcmlnZ2VyIl1dPWFycmF5KCRKWyJUaW1pbmciXSwkSlsiRXZlbnQiXSk7fXJldHVybiRJO31mdW5jdGlvbgp0cmlnZ2VyX29wdGlvbnMoKXtyZXR1cm4KYXJyYXkoIlRpbWluZyI9PmFycmF5KCJCRUZPUkUiLCJBRlRFUiIpLCJUeXBlIj0+YXJyYXkoIkZPUiBFQUNIIFJPVyIpLCk7fWZ1bmN0aW9uCnJvdXRpbmUoJEEsJFUpe2dsb2JhbCRoLCRoYiwkWWIsJFJkOyRuYT1hcnJheSgiYm9vbCIsImJvb2xlYW4iLCJpbnRlZ2VyIiwiZG91YmxlIHByZWNpc2lvbiIsInJlYWwiLCJkZWMiLCJudW1lcmljIiwiZml4ZWQiLCJuYXRpb25hbCBjaGFyIiwibmF0aW9uYWwgdmFyY2hhciIpOyRRZD0iKCgiLmltcGxvZGUoInwiLGFycmF5X21lcmdlKGFycmF5X2tleXMoJFJkKSwkbmEpKS4iKSg/OlxccypcXCgoKD86W14nXCIpXSp8JGhiKSspXFwpKT9cXHMqKHplcm9maWxsXFxzKik/KHVuc2lnbmVkKD86XFxzK3plcm9maWxsKT8pPykoPzpcXHMqKD86Q0hBUlNFVHxDSEFSQUNURVJcXHMrU0VUKVxccypbJ1wiXT8oW14nXCJcXHNdKylbJ1wiXT8pPyI7JEY9IlxccyooIi4oJFU9PSJGVU5DVElPTiI/IiI6JFliKS4iKT9cXHMqKD86YCgoPzpbXmBdfGBgKSopYFxccyp8XFxiKFxcUyspXFxzKykkUWQiOyRMYT0kaC0+cmVzdWx0KCJTSE9XIENSRUFURSAkVSAiLmlkZl9lc2NhcGUoJEEpLDIpO3ByZWdfbWF0Y2goIn5cXCgoKD86JEZcXHMqLD8pKilcXCkiLigkVT09IkZVTkNUSU9OIj8iXFxzKlJFVFVSTlNcXHMrJFFkIjoiIikuIlxccyooLiopfmlzIiwkTGEsJHopOyRvPWFycmF5KCk7cHJlZ19tYXRjaF9hbGwoIn4kRlxccyosP35pcyIsJHpbMV0sJHBjLFBSRUdfU0VUX09SREVSKTtmb3JlYWNoKCRwYwphcyRPYyl7JEE9c3RyX3JlcGxhY2UoImBgIiwiYCIsJE9jWzJdKS4kT2NbM107JG9bXT1hcnJheSgiZmllbGQiPT4kQSwidHlwZSI9PnN0cnRvbG93ZXIoJE9jWzVdKSwibGVuZ3RoIj0+cHJlZ19yZXBsYWNlX2NhbGxiYWNrKCJ+JGhifnMiLCdub3JtYWxpemVfZW51bScsJE9jWzZdKSwidW5zaWduZWQiPT5zdHJ0b2xvd2VyKHByZWdfcmVwbGFjZSgnflxccyt+JywnICcsdHJpbSgiJE9jWzhdICRPY1s3XSIpKSksImZ1bGxfdHlwZSI9PiRPY1s0XSwiaW5vdXQiPT5zdHJ0b3VwcGVyKCRPY1sxXSksImNvbGxhdGlvbiI9PnN0cnRvbG93ZXIoJE9jWzldKSwpO31pZigkVSE9IkZVTkNUSU9OIil7cmV0dXJuCmFycmF5KCJmaWVsZHMiPT4kbywiZGVmaW5pdGlvbiI9PiR6WzExXSk7fXJldHVybgphcnJheSgiZmllbGRzIj0+JG8sInJldHVybnMiPT5hcnJheSgidHlwZSI9PiR6WzEyXSwibGVuZ3RoIj0+JHpbMTNdLCJ1bnNpZ25lZCI9PiR6WzE1XSwiY29sbGF0aW9uIj0+JHpbMTZdKSwiZGVmaW5pdGlvbiI9PiR6WzE3XSwibGFuZ3VhZ2UiPT4iU1FMIiwpO31mdW5jdGlvbgpyb3V0aW5lcygpe3JldHVybgpnZXRfcm93cygiU0VMRUNUICogRlJPTSBpbmZvcm1hdGlvbl9zY2hlbWEuUk9VVElORVMgV0hFUkUgUk9VVElORV9TQ0hFTUEgPSAiLnEoREIpKTt9ZnVuY3Rpb24Kcm91dGluZV9sYW5ndWFnZXMoKXtyZXR1cm4KYXJyYXkoKTt9ZnVuY3Rpb24KYmVnaW4oKXtyZXR1cm4KcXVlcmllcygiQkVHSU4iKTt9ZnVuY3Rpb24KaW5zZXJ0X2ludG8oJFAsJE4pe3JldHVybgpxdWVyaWVzKCJJTlNFUlQgSU5UTyAiLnRhYmxlKCRQKS4iICgiLmltcGxvZGUoIiwgIixhcnJheV9rZXlzKCROKSkuIilcblZBTFVFUyAoIi5pbXBsb2RlKCIsICIsJE4pLiIpIik7fWZ1bmN0aW9uCmluc2VydF91cGRhdGUoJFAsJE4sJFZjKXtmb3JlYWNoKCROCmFzJHc9PiRYKXskTlskd109IiR3ID0gJFgiO30kWmQ9aW1wbG9kZSgiLCAiLCROKTtyZXR1cm4KcXVlcmllcygiSU5TRVJUIElOVE8gIi50YWJsZSgkUCkuIiBTRVQgJFpkIE9OIERVUExJQ0FURSBLRVkgVVBEQVRFICRaZCIpO31mdW5jdGlvbgpsYXN0X2lkKCl7Z2xvYmFsJGg7cmV0dXJuJGgtPnJlc3VsdCgiU0VMRUNUIExBU1RfSU5TRVJUX0lEKCkiKTt9ZnVuY3Rpb24KZXhwbGFpbigkaCwkRyl7cmV0dXJuJGgtPnF1ZXJ5KCJFWFBMQUlOICRHIik7fWZ1bmN0aW9uCmZvdW5kX3Jvd3MoJFEsJFope3JldHVybigkWnx8JFFbIkVuZ2luZSJdIT0iSW5ub0RCIj9udWxsOiRRWyJSb3dzIl0pO31mdW5jdGlvbgp0eXBlcygpe3JldHVybgphcnJheSgpO31mdW5jdGlvbgpzY2hlbWFzKCl7cmV0dXJuCmFycmF5KCk7fWZ1bmN0aW9uCmdldF9zY2hlbWEoKXtyZXR1cm4iIjt9ZnVuY3Rpb24Kc2V0X3NjaGVtYSgka2Qpe3JldHVybgp0cnVlO31mdW5jdGlvbgpjcmVhdGVfc3FsKCRQLCRzYSl7Z2xvYmFsJGg7JEk9JGgtPnJlc3VsdCgiU0hPVyBDUkVBVEUgVEFCTEUgIi50YWJsZSgkUCksMSk7aWYoISRzYSl7JEk9cHJlZ19yZXBsYWNlKCd+IEFVVE9fSU5DUkVNRU5UPVxcZCt+JywnJywkSSk7fXJldHVybiRJO31mdW5jdGlvbgp0cnVuY2F0ZV9zcWwoJFApe3JldHVybiJUUlVOQ0FURSAiLnRhYmxlKCRQKTt9ZnVuY3Rpb24KdXNlX3NxbCgkail7cmV0dXJuIlVTRSAiLmlkZl9lc2NhcGUoJGopO31mdW5jdGlvbgp0cmlnZ2VyX3NxbCgkUCwkemQpeyRJPSIiO2ZvcmVhY2goZ2V0X3Jvd3MoIlNIT1cgVFJJR0dFUlMgTElLRSAiLnEoYWRkY3NsYXNoZXMoJFAsIiVfIikpLG51bGwsIi0tICIpYXMkSil7JEkuPSJcbiIuKCR6ZD09J0NSRUFURStBTFRFUic/IkRST1AgVFJJR0dFUiBJRiBFWElTVFMgIi5pZGZfZXNjYXBlKCRKWyJUcmlnZ2VyIl0pLiI7O1xuIjoiIikuIkNSRUFURSBUUklHR0VSICIuaWRmX2VzY2FwZSgkSlsiVHJpZ2dlciJdKS4iICRKW1RpbWluZ10gJEpbRXZlbnRdIE9OICIudGFibGUoJEpbIlRhYmxlIl0pLiIgRk9SIEVBQ0ggUk9XXG4kSltTdGF0ZW1lbnRdOztcbiI7fXJldHVybiRJO31mdW5jdGlvbgpzaG93X3ZhcmlhYmxlcygpe3JldHVybgpnZXRfa2V5X3ZhbHMoIlNIT1cgVkFSSUFCTEVTIik7fWZ1bmN0aW9uCnByb2Nlc3NfbGlzdCgpe3JldHVybgpnZXRfcm93cygiU0hPVyBGVUxMIFBST0NFU1NMSVNUIik7fWZ1bmN0aW9uCnNob3dfc3RhdHVzKCl7cmV0dXJuCmdldF9rZXlfdmFscygiU0hPVyBTVEFUVVMiKTt9ZnVuY3Rpb24Kc3VwcG9ydCgkdWIpe2dsb2JhbCRoO3JldHVybiFlcmVnKCJzY2hlbWV8c2VxdWVuY2V8dHlwZSIuKCRoLT5zZXJ2ZXJfaW5mbzw1LjE/InxldmVudHxwYXJ0aXRpb25pbmciLigkaC0+c2VydmVyX2luZm88NT8ifHZpZXd8cm91dGluZXx0cmlnZ2VyIjoiIik6IiIpLCR1Yik7fSRiYz0ic3FsIjskUmQ9YXJyYXkoKTskeWQ9YXJyYXkoKTtmb3JlYWNoKGFycmF5KGxhbmcoMTIpPT5hcnJheSgidGlueWludCI9PjMsInNtYWxsaW50Ij0+NSwibWVkaXVtaW50Ij0+OCwiaW50Ij0+MTAsImJpZ2ludCI9PjIwLCJkZWNpbWFsIj0+NjYsImZsb2F0Ij0+MTIsImRvdWJsZSI9PjIxKSxsYW5nKDEzKT0+YXJyYXkoImRhdGUiPT4xMCwiZGF0ZXRpbWUiPT4xOSwidGltZXN0YW1wIj0+MTksInRpbWUiPT4xMCwieWVhciI9PjQpLGxhbmcoMTQpPT5hcnJheSgiY2hhciI9PjI1NSwidmFyY2hhciI9PjY1NTM1LCJ0aW55dGV4dCI9PjI1NSwidGV4dCI9PjY1NTM1LCJtZWRpdW10ZXh0Ij0+MTY3NzcyMTUsImxvbmd0ZXh0Ij0+NDI5NDk2NzI5NSksbGFuZygxNSk9PmFycmF5KCJiaXQiPT4yMCwiYmluYXJ5Ij0+MjU1LCJ2YXJiaW5hcnkiPT42NTUzNSwidGlueWJsb2IiPT4yNTUsImJsb2IiPT42NTUzNSwibWVkaXVtYmxvYiI9PjE2Nzc3MjE1LCJsb25nYmxvYiI9PjQyOTQ5NjcyOTUpLGxhbmcoMTgpPT5hcnJheSgiZW51bSI9PjY1NTM1LCJzZXQiPT42NCksKWFzJHc9PiRYKXskUmQrPSRYOyR5ZFskd109YXJyYXlfa2V5cygkWCk7fSRZZD1hcnJheSgidW5zaWduZWQiLCJ6ZXJvZmlsbCIsInVuc2lnbmVkIHplcm9maWxsIik7JEdjPWFycmF5KCI9IiwiPCIsIj4iLCI8PSIsIj49IiwiIT0iLCJMSUtFIiwiTElLRSAlJSIsIlJFR0VYUCIsIklOIiwiSVMgTlVMTCIsIk5PVCBMSUtFIiwiTk9UIFJFR0VYUCIsIk5PVCBJTiIsIklTIE5PVCBOVUxMIiwiIik7JEliPWFycmF5KCJjaGFyX2xlbmd0aCIsImRhdGUiLCJmcm9tX3VuaXh0aW1lIiwiaGV4IiwibG93ZXIiLCJyb3VuZCIsInNlY190b190aW1lIiwidGltZV90b19zZWMiLCJ1cHBlciIpOyRMYj1hcnJheSgiYXZnIiwiY291bnQiLCJjb3VudCBkaXN0aW5jdCIsImdyb3VwX2NvbmNhdCIsIm1heCIsIm1pbiIsInN1bSIpOyRhYj1hcnJheShhcnJheSgiY2hhciI9PiJtZDUvc2hhMS9wYXNzd29yZC9lbmNyeXB0L3V1aWQiLCJiaW5hcnkiPT4ibWQ1L3NoYTEvaGV4IiwiZGF0ZXx0aW1lIj0+Im5vdyIsKSxhcnJheSgiaW50fGZsb2F0fGRvdWJsZXxkZWNpbWFsIj0+IisvLSIsImRhdGUiPT4iKyBpbnRlcnZhbC8tIGludGVydmFsIiwidGltZSI9PiJhZGR0aW1lL3N1YnRpbWUiLCJjaGFyfHRleHQiPT4iY29uY2F0IiwpKTt9ZGVmaW5lKCJTRVJWRVIiLCRfR0VUW0RSSVZFUl0pO2RlZmluZSgiREIiLCRfR0VUWyJkYiJdKTtkZWZpbmUoIk1FIixwcmVnX3JlcGxhY2UoJ35eW14/XSovKFteP10qKS4qficsJ1xcMScsJF9TRVJWRVJbIlJFUVVFU1RfVVJJIl0pLic/Jy4oc2lkKCk/U0lELicmJzonJykuKFNFUlZFUiE9PW51bGw/RFJJVkVSLiI9Ii51cmxlbmNvZGUoU0VSVkVSKS4nJic6JycpLihpc3NldCgkX0dFVFsidXNlcm5hbWUiXSk/InVzZXJuYW1lPSIudXJsZW5jb2RlKCRfR0VUWyJ1c2VybmFtZSJdKS4nJic6JycpLihEQiE9IiI/J2RiPScudXJsZW5jb2RlKERCKS4nJicuKGlzc2V0KCRfR0VUWyJucyJdKT8ibnM9Ii51cmxlbmNvZGUoJF9HRVRbIm5zIl0pLiImIjoiIik6JycpKTskYmE9IjMuMy4zIjtjbGFzcwpBZG1pbmVye3ZhciRvcGVyYXRvcnM9YXJyYXkoIjw9IiwiPj0iKTt2YXIkX3ZhbHVlcz1hcnJheSgpO2Z1bmN0aW9uCm5hbWUoKXtyZXR1cm4iPGEgaHJlZj0naHR0cDovL3d3dy5hZG1pbmVyLm9yZy9lZGl0b3IvJyBpZD0naDEnPiIubGFuZygxOSkuIjwvYT4iO31mdW5jdGlvbgpjcmVkZW50aWFscygpe3JldHVybgphcnJheShTRVJWRVIsJF9HRVRbInVzZXJuYW1lIl0sZ2V0X3Nlc3Npb24oInB3ZHMiKSk7fWZ1bmN0aW9uCnBlcm1hbmVudExvZ2luKCl7cmV0dXJuCnBhc3N3b3JkX2ZpbGUoKTt9ZnVuY3Rpb24KZGF0YWJhc2UoKXtnbG9iYWwkaDskaz1nZXRfZGF0YWJhc2VzKGZhbHNlKTtyZXR1cm4oISRrPyRoLT5yZXN1bHQoIlNFTEVDVCBTVUJTVFJJTkdfSU5ERVgoQ1VSUkVOVF9VU0VSLCAnQCcsIDEpIik6JGtbKGluZm9ybWF0aW9uX3NjaGVtYSgka1swXSk/MTowKV0pO31mdW5jdGlvbgpoZWFkZXJzKCl7cmV0dXJuCnRydWU7fWZ1bmN0aW9uCmhlYWQoKXtyZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24KbG9naW5Gb3JtKCl7ZWNobyc8dGFibGUgY2VsbHNwYWNpbmc9IjAiPgo8dHI+PHRoPicsbGFuZygyMCksJzx0ZD48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkcml2ZXIiIHZhbHVlPSJzZXJ2ZXIiPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InNlcnZlciIgdmFsdWU9IiI+PGlucHV0IGlkPSJ1c2VybmFtZSIgbmFtZT0idXNlcm5hbWUiIHZhbHVlPSInLGgoJF9HRVRbInVzZXJuYW1lIl0pLCciPgo8dHI+PHRoPicsbGFuZygyMSksJzx0ZD48aW5wdXQgdHlwZT0icGFzc3dvcmQiIG5hbWU9InBhc3N3b3JkIj4KPC90YWJsZT4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgpkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcJ3VzZXJuYW1lXCcpLmZvY3VzKCk7Cjwvc2NyaXB0PgonLCI8cD48aW5wdXQgdHlwZT0nc3VibWl0JyB2YWx1ZT0nIi5sYW5nKDIyKS4iJz5cbiIsY2hlY2tib3goInBlcm1hbmVudCIsMSwkX0NPT0tJRVsiYWRtaW5lcl9wZXJtYW5lbnQiXSxsYW5nKDIzKSkuIlxuIjt9ZnVuY3Rpb24KbG9naW4oJG1jLCRFKXtnbG9iYWwkaDskaC0+cXVlcnkoIlNFVCB0aW1lX3pvbmUgPSAiLnEoc3Vic3RyX3JlcGxhY2UoQGRhdGUoIk8iKSwiOiIsLTIsMCkpKTtyZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24KdGFibGVOYW1lKCREZCl7cmV0dXJuCmgoJERkWyJDb21tZW50Il0hPSIiPyREZFsiQ29tbWVudCJdOiREZFsiTmFtZSJdKTt9ZnVuY3Rpb24KZmllbGROYW1lKCRuLCRLYz0wKXtyZXR1cm4KaCgkblsiY29tbWVudCJdIT0iIj8kblsiY29tbWVudCJdOiRuWyJmaWVsZCJdKTt9ZnVuY3Rpb24Kc2VsZWN0TGlua3MoJERkLCROPSIiKXskYj0kRGRbIk5hbWUiXTtpZihpc3NldCgkTikpe2VjaG8nPHAgY2xhc3M9InRhYnMiPjxhIGhyZWY9IicuaChNRS4nZWRpdD0nLnVybGVuY29kZSgkYikuJE4pLiciPicubGFuZygyNCkuIjwvYT5cbiI7fWVjaG8iPGEgaHJlZj0nIi5oKHJlbW92ZV9mcm9tX3VyaSgicGFnZSIpKS4iJmFtcDtwYWdlPWxhc3QnIHRpdGxlPSciLmxhbmcoMjUpLiInPiZndDsmZ3Q7PC9hPlxuIjt9ZnVuY3Rpb24KZm9yZWlnbktleXMoJFApe3JldHVybgpmb3JlaWduX2tleXMoJFApO31mdW5jdGlvbgpiYWNrd2FyZEtleXMoJFAsJENkKXskST1hcnJheSgpO2ZvcmVhY2goZ2V0X3Jvd3MoIlNFTEVDVCBUQUJMRV9OQU1FLCBDT05TVFJBSU5UX05BTUUsIENPTFVNTl9OQU1FLCBSRUZFUkVOQ0VEX0NPTFVNTl9OQU1FCkZST00gaW5mb3JtYXRpb25fc2NoZW1hLktFWV9DT0xVTU5fVVNBR0UKV0hFUkUgVEFCTEVfU0NIRU1BID0gIi5xKCR0aGlzLT5kYXRhYmFzZSgpKS4iCkFORCBSRUZFUkVOQ0VEX1RBQkxFX1NDSEVNQSA9ICIucSgkdGhpcy0+ZGF0YWJhc2UoKSkuIgpBTkQgUkVGRVJFTkNFRF9UQUJMRV9OQU1FID0gIi5xKCRQKS4iCk9SREVSIEJZIE9SRElOQUxfUE9TSVRJT04iLG51bGwsIiIpYXMkSil7JElbJEpbIlRBQkxFX05BTUUiXV1bImtleXMiXVskSlsiQ09OU1RSQUlOVF9OQU1FIl1dWyRKWyJDT0xVTU5fTkFNRSJdXT0kSlsiUkVGRVJFTkNFRF9DT0xVTU5fTkFNRSJdO31mb3JlYWNoKCRJCmFzJHc9PiRYKXskQT0kdGhpcy0+dGFibGVOYW1lKHRhYmxlX3N0YXR1cygkdykpO2lmKCRBIT0iIil7JG1kPXByZWdfcXVvdGUoJENkKTskcGQ9Iig6fFxccyotKT9cXHMrIjskSVskd11bIm5hbWUiXT0ocHJlZ19tYXRjaCgiKF4kbWQkcGQoLispfF4oLis/KSRwZCRtZFwkKWl1IiwkQSwkeik/JHpbMl0uJHpbM106JEEpO31lbHNle3Vuc2V0KCRJWyR3XSk7fX1yZXR1cm4kSTt9ZnVuY3Rpb24KYmFja3dhcmRLZXlzUHJpbnQoJHdhLCRKKXtmb3JlYWNoKCR3YQphcyRQPT4kdmEpe2ZvcmVhY2goJHZhWyJrZXlzIl1hcyRHYSl7JHk9TUUuJ3NlbGVjdD0nLnVybGVuY29kZSgkUCk7JHI9MDtmb3JlYWNoKCRHYQphcyRmPT4kWCl7JHkuPXdoZXJlX2xpbmsoJHIrKywkZiwkSlskWF0pO31lY2hvIjxhIGhyZWY9JyIuaCgkeSkuIic+Ii5oKCR2YVsibmFtZSJdKS4iPC9hPiI7JHk9TUUuJ2VkaXQ9Jy51cmxlbmNvZGUoJFApO2ZvcmVhY2goJEdhCmFzJGY9PiRYKXskeS49IiZzZXQiLnVybGVuY29kZSgiWyIuYnJhY2tldF9lc2NhcGUoJGYpLiJdIikuIj0iLnVybGVuY29kZSgkSlskWF0pO31lY2hvIjxhIGhyZWY9JyIuaCgkeSkuIicgdGl0bGU9JyIubGFuZygyNCkuIic+KzwvYT4gIjt9fX1mdW5jdGlvbgpzZWxlY3RRdWVyeSgkRyl7cmV0dXJuIjwhLS1cbiIuc3RyX3JlcGxhY2UoIi0tIiwiLS0+PCEtLSAiLCRHKS4iXG4tLT5cbiI7fWZ1bmN0aW9uCnJvd0Rlc2NyaXB0aW9uKCRQKXtmb3JlYWNoKGZpZWxkcygkUClhcyRuKXtpZihlcmVnKCJ2YXJjaGFyfGNoYXJhY3RlciB2YXJ5aW5nIiwkblsidHlwZSJdKSl7cmV0dXJuCmlkZl9lc2NhcGUoJG5bImZpZWxkIl0pO319cmV0dXJuIiI7fWZ1bmN0aW9uCnJvd0Rlc2NyaXB0aW9ucygkSywkQ2IpeyRJPSRLO2ZvcmVhY2goJEtbMF1hcyR3PT4kWCl7aWYobGlzdCgkUCwkcywkQSk9JHRoaXMtPl9mb3JlaWduQ29sdW1uKCRDYiwkdykpeyRTYj1hcnJheSgpO2ZvcmVhY2goJEsKYXMkSil7JFNiWyRKWyR3XV09ZXhhY3RfdmFsdWUoJEpbJHddKTt9JFNhPSR0aGlzLT5fdmFsdWVzWyRQXTtpZighJFNhKXskU2E9Z2V0X2tleV92YWxzKCJTRUxFQ1QgJHMsICRBIEZST00gIi50YWJsZSgkUCkuIiBXSEVSRSAkcyBJTiAoIi5pbXBsb2RlKCIsICIsJFNiKS4iKSIpO31mb3JlYWNoKCRLCmFzJF89PiRKKXtpZihpc3NldCgkSlskd10pKXskSVskX11bJHddPShzdHJpbmcpJFNhWyRKWyR3XV07fX19fXJldHVybiRJO31mdW5jdGlvbgpzZWxlY3RWYWwoJFgsJHksJG4peyRJPSgkWD09IjxpPk5VTEw8L2k+Ij8iJm5ic3A7IjokWCk7aWYoZXJlZygnYmxvYnxieXRlYScsJG5bInR5cGUiXSkmJiFpc191dGY4KCRYKSl7JEk9bGFuZygyNixzdHJsZW4oJFgpKTtpZihlcmVnKCJeKEdJRnxceEZGXHhEOFx4RkZ8XHg4OVBOR1x4MERceDBBXHgxQVx4MEEpIiwkWCkpeyRJPSI8aW1nIHNyYz0nJHknIGFsdD0nJEknPiI7fX1pZihsaWtlX2Jvb2woJG4pJiYkSSE9IiZuYnNwOyIpeyRJPSc8aW1nIHNyYz0iJy4oJFg/IiIuaChwcmVnX3JlcGxhY2UoIn5cXD8uKn4iLCIiLE1FKSkuIj9maWxlPXBsdXMuZ2lmJmFtcDt2ZXJzaW9uPTMuMy4zIjoiIi5oKHByZWdfcmVwbGFjZSgiflxcPy4qfiIsIiIsTUUpKS4iP2ZpbGU9Y3Jvc3MuZ2lmJmFtcDt2ZXJzaW9uPTMuMy4zIikuJyIgYWx0PSInLmgoJFgpLiciPic7fWlmKCR5KXskST0iPGEgaHJlZj0nJHknPiRJPC9hPiI7fWlmKCEkeSYmIWxpa2VfYm9vbCgkbikmJmVyZWcoJ2ludHxmbG9hdHxkb3VibGV8ZGVjaW1hbCcsJG5bInR5cGUiXSkpeyRJPSI8ZGl2IGNsYXNzPSdudW1iZXInPiRJPC9kaXY+Ijt9ZWxzZWlmKGVyZWcoJ2RhdGUnLCRuWyJ0eXBlIl0pKXskST0iPGRpdiBjbGFzcz0nZGF0ZXRpbWUnPiRJPC9kaXY+Ijt9cmV0dXJuJEk7fWZ1bmN0aW9uCmVkaXRWYWwoJFgsJG4pe2lmKGVyZWcoJ2RhdGV8dGltZXN0YW1wJywkblsidHlwZSJdKSYmaXNzZXQoJFgpKXtyZXR1cm4KcHJlZ19yZXBsYWNlKCd+XihcXGR7Mn0oXFxkKykpLSgwPyhcXGQrKSktKDA/KFxcZCspKX4nLGxhbmcoMjcpLCRYKTt9cmV0dXJuKGVyZWcoImJpbmFyeSIsJG5bInR5cGUiXSk/cmVzZXQodW5wYWNrKCJIKiIsJFgpKTokWCk7fWZ1bmN0aW9uCnNlbGVjdENvbHVtbnNQcmludCgkTCwkZyl7fWZ1bmN0aW9uCnNlbGVjdFNlYXJjaFByaW50KCRaLCRnLCR2KXskWj0oYXJyYXkpJF9HRVRbIndoZXJlIl07ZWNobyc8ZmllbGRzZXQ+PGxlZ2VuZD4nLmxhbmcoMjgpLiI8L2xlZ2VuZD48ZGl2PlxuIjskZGM9YXJyYXkoKTtmb3JlYWNoKCRaCmFzJHc9PiRYKXskZGNbJFhbImNvbCJdXT0kdzt9JHI9MDskbz1maWVsZHMoJF9HRVRbInNlbGVjdCJdKTtmb3JlYWNoKCRvCmFzJEE9PiRuKXskUmE9JGdbJEFdO2lmKGVyZWcoImVudW0iLCRuWyJ0eXBlIl0pJiYkUmEhPSIiKXskdz0kZGNbJEFdOyRyLS07ZWNobyI8ZGl2PiIuaCgkUmEpLiI8aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSd3aGVyZVskcl1bY29sXScgdmFsdWU9JyIuaCgkQSkuIic+OiIsZW51bV9pbnB1dCgiY2hlY2tib3giLCIgbmFtZT0nd2hlcmVbJHJdW3ZhbF1bXSciLCRuLChhcnJheSkkWlskd11bInZhbCJdLCgkblsibnVsbCJdPzA6bnVsbCkpLCI8L2Rpdj5cbiI7dW5zZXQoJGdbJEFdKTt9fWZvcmVhY2goJGcKYXMkQT0+JFJhKXskSWM9JHRoaXMtPl9mb3JlaWduS2V5T3B0aW9ucygkX0dFVFsic2VsZWN0Il0sJEEpO2lmKGlzX2FycmF5KCRJYykpe2lmKCRvWyRBXVsibnVsbCJdKXskSWNbMF09JygnLmxhbmcoNCkuJyknO30kdz0kZGNbJEFdOyRyLS07ZWNobyI8ZGl2PiIuaCgkUmEpLiI8aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSd3aGVyZVskcl1bY29sXScgdmFsdWU9JyIuaCgkQSkuIic+PGlucHV0IHR5cGU9J2hpZGRlbicgbmFtZT0nd2hlcmVbJHJdW29wXScgdmFsdWU9Jz0nPjogPHNlbGVjdCBuYW1lPSd3aGVyZVskcl1bdmFsXSc+Ii5vcHRpb25saXN0KCRJYywkWlskd11bInZhbCJdLHRydWUpLiI8L3NlbGVjdD48L2Rpdj5cbiI7dW5zZXQoJGdbJEFdKTt9fSRyPTA7Zm9yZWFjaCgkWgphcyRYKXtpZigoJFhbImNvbCJdPT0iInx8JGdbJFhbImNvbCJdXSkmJiIkWFtjb2xdJFhbdmFsXSIhPSIiKXtlY2hvIjxkaXY+PHNlbGVjdCBuYW1lPSd3aGVyZVskcl1bY29sXSc+PG9wdGlvbiB2YWx1ZT0nJz4oIi5sYW5nKDI5KS4iKSIub3B0aW9ubGlzdCgkZywkWFsiY29sIl0sdHJ1ZSkuIjwvc2VsZWN0PiIsaHRtbF9zZWxlY3QoIndoZXJlWyRyXVtvcF0iLGFycmF5KC0xPT4iIikrJHRoaXMtPm9wZXJhdG9ycywkWFsib3AiXSksIjxpbnB1dCBuYW1lPSd3aGVyZVskcl1bdmFsXScgdmFsdWU9JyIuaCgkWFsidmFsIl0pLiInPjwvZGl2PlxuIjskcisrO319ZWNobyI8ZGl2PjxzZWxlY3QgbmFtZT0nd2hlcmVbJHJdW2NvbF0nIG9uY2hhbmdlPSdzZWxlY3RBZGRSb3codGhpcyk7Jz48b3B0aW9uIHZhbHVlPScnPigiLmxhbmcoMjkpLiIpIi5vcHRpb25saXN0KCRnLG51bGwsdHJ1ZSkuIjwvc2VsZWN0PiIsaHRtbF9zZWxlY3QoIndoZXJlWyRyXVtvcF0iLGFycmF5KC0xPT4iIikrJHRoaXMtPm9wZXJhdG9ycyksIjxpbnB1dCBuYW1lPSd3aGVyZVskcl1bdmFsXSc+PC9kaXY+XG4iLCI8L2Rpdj48L2ZpZWxkc2V0PlxuIjt9ZnVuY3Rpb24Kc2VsZWN0T3JkZXJQcmludCgkS2MsJGcsJHYpeyRMYz1hcnJheSgpO2ZvcmVhY2goJHYKYXMkdz0+JHUpeyRLYz1hcnJheSgpO2ZvcmVhY2goJHVbImNvbHVtbnMiXWFzJFgpeyRLY1tdPSRnWyRYXTt9aWYoY291bnQoYXJyYXlfZmlsdGVyKCRLYywnc3RybGVuJykpPjEmJiR3IT0iUFJJTUFSWSIpeyRMY1skd109aW1wbG9kZSgiLCAiLCRLYyk7fX1pZigkTGMpe2VjaG8nPGZpZWxkc2V0PjxsZWdlbmQ+Jy5sYW5nKDMwKS4iPC9sZWdlbmQ+PGRpdj4iLCI8c2VsZWN0IG5hbWU9J2luZGV4X29yZGVyJz4iLm9wdGlvbmxpc3QoYXJyYXkoIiI9PiIiKSskTGMsKCRfR0VUWyJvcmRlciJdWzBdIT0iIj8iIjokX0dFVFsiaW5kZXhfb3JkZXIiXSksdHJ1ZSkuIjwvc2VsZWN0PiIsIjwvZGl2PjwvZmllbGRzZXQ+XG4iO31pZigkX0dFVFsib3JkZXIiXSl7ZWNobyI8ZGl2IHN0eWxlPSdkaXNwbGF5OiBub25lOyc+Ii5oaWRkZW5fZmllbGRzKGFycmF5KCJvcmRlciI9PmFycmF5KDE9PnJlc2V0KCRfR0VUWyJvcmRlciJdKSksImRlc2MiPT4oJF9HRVRbImRlc2MiXT9hcnJheSgxPT4xKTphcnJheSgpKSwpKS4iPC9kaXY+XG4iO319ZnVuY3Rpb24Kc2VsZWN0TGltaXRQcmludCgkeCl7ZWNobyI8ZmllbGRzZXQ+PGxlZ2VuZD4iLmxhbmcoMzEpLiI8L2xlZ2VuZD48ZGl2PiI7ZWNobwpodG1sX3NlbGVjdCgibGltaXQiLGFycmF5KCIiLCIzMCIsIjEwMCIpLCR4KSwiPC9kaXY+PC9maWVsZHNldD5cbiI7fWZ1bmN0aW9uCnNlbGVjdExlbmd0aFByaW50KCRIZCl7fWZ1bmN0aW9uCnNlbGVjdEFjdGlvblByaW50KCl7ZWNobyI8ZmllbGRzZXQ+PGxlZ2VuZD4iLmxhbmcoMzIpLiI8L2xlZ2VuZD48ZGl2PiIsIjxpbnB1dCB0eXBlPSdzdWJtaXQnIHZhbHVlPSciLmxhbmcoMzMpLiInPiIsIjwvZGl2PjwvZmllbGRzZXQ+XG4iO31mdW5jdGlvbgpzZWxlY3RDb21tYW5kUHJpbnQoKXtyZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24Kc2VsZWN0SW1wb3J0UHJpbnQoKXtyZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24Kc2VsZWN0RW1haWxQcmludCgkZGIsJGcpe2lmKCRkYil7cHJpbnRfZmllbGRzZXQoImVtYWlsIixsYW5nKDM0KSwkX1BPU1RbImVtYWlsX2FwcGVuZCJdKTtlY2hvIjxkaXYgb25rZXlkb3duPVwiZXZlbnRTdG9wKGV2ZW50KTsgcmV0dXJuIGJvZHlLZXlkb3duKGV2ZW50LCAnZW1haWwnKTtcIj5cbiIsIjxwPiIubGFuZygzNSkuIjogPGlucHV0IG5hbWU9J2VtYWlsX2Zyb20nIHZhbHVlPSciLmgoJF9QT1NUPyRfUE9TVFsiZW1haWxfZnJvbSJdOiRfQ09PS0lFWyJhZG1pbmVyX2VtYWlsIl0pLiInPlxuIixsYW5nKDM2KS4iOiA8aW5wdXQgbmFtZT0nZW1haWxfc3ViamVjdCcgdmFsdWU9JyIuaCgkX1BPU1RbImVtYWlsX3N1YmplY3QiXSkuIic+XG4iLCI8cD48dGV4dGFyZWEgbmFtZT0nZW1haWxfbWVzc2FnZScgcm93cz0nMTUnIGNvbHM9Jzc1Jz4iLmgoJF9QT1NUWyJlbWFpbF9tZXNzYWdlIl0uKCRfUE9TVFsiZW1haWxfYXBwZW5kIl0/J3skJy4iJF9QT1NUW2VtYWlsX2FkZGl0aW9uXX0iOiIiKSkuIjwvdGV4dGFyZWE+XG4iO2VjaG8iPHAgb25rZXlkb3duPVwiZXZlbnRTdG9wKGV2ZW50KTsgcmV0dXJuIGJvZHlLZXlkb3duKGV2ZW50LCAnZW1haWxfYXBwZW5kJyk7XCI+Ii5odG1sX3NlbGVjdCgiZW1haWxfYWRkaXRpb24iLCRnLCRfUE9TVFsiZW1haWxfYWRkaXRpb24iXSkuIjxpbnB1dCB0eXBlPSdzdWJtaXQnIG5hbWU9J2VtYWlsX2FwcGVuZCcgdmFsdWU9JyIubGFuZygzNykuIic+XG4iO2VjaG8iPHA+Ii5sYW5nKDM4KS4iOiA8aW5wdXQgdHlwZT0nZmlsZScgbmFtZT0nZW1haWxfZmlsZXNbXScgb25jaGFuZ2U9XCJ0aGlzLm9uY2hhbmdlID0gZnVuY3Rpb24gKCkgeyB9OyB2YXIgZWwgPSB0aGlzLmNsb25lTm9kZSh0cnVlKTsgZWwudmFsdWUgPSAnJzsgdGhpcy5wYXJlbnROb2RlLmFwcGVuZENoaWxkKGVsKTtcIj4iLCI8cD4iLihjb3VudCgkZGIpPT0xPyc8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJlbWFpbF9maWVsZCIgdmFsdWU9IicuaChrZXkoJGRiKSkuJyI+JzpodG1sX3NlbGVjdCgiZW1haWxfZmllbGQiLCRkYikpLCI8aW5wdXQgdHlwZT0nc3VibWl0JyBuYW1lPSdlbWFpbCcgdmFsdWU9JyIubGFuZygzOSkuIicgb25jbGljaz1cInJldHVybiB0aGlzLmZvcm1bJ2RlbGV0ZSddLm9uY2xpY2soKTtcIj5cbiIsIjwvZGl2PlxuIiwiPC9kaXY+PC9maWVsZHNldD5cbiI7fX1mdW5jdGlvbgpzZWxlY3RDb2x1bW5zUHJvY2VzcygkZywkdil7cmV0dXJuCmFycmF5KGFycmF5KCksYXJyYXkoKSk7fWZ1bmN0aW9uCnNlbGVjdFNlYXJjaFByb2Nlc3MoJG8sJHYpeyRJPWFycmF5KCk7Zm9yZWFjaCgoYXJyYXkpJF9HRVRbIndoZXJlIl1hcyR3PT4kWil7JEVhPSRaWyJjb2wiXTskRWM9JFpbIm9wIl07JFg9JFpbInZhbCJdO2lmKCgkdzwwPyIiOiRFYSkuJFghPSIiKXskSmE9YXJyYXkoKTtmb3JlYWNoKCgkRWEhPSIiP2FycmF5KCRFYT0+JG9bJEVhXSk6JG8pYXMkQT0+JG4pe2lmKCRFYSE9IiJ8fGlzX251bWVyaWMoJFgpfHwhZXJlZygnaW50fGZsb2F0fGRvdWJsZXxkZWNpbWFsJywkblsidHlwZSJdKSl7JEE9aWRmX2VzY2FwZSgkQSk7aWYoJEVhIT0iIiYmJG5bInR5cGUiXT09ImVudW0iKXskSmFbXT0oaW5fYXJyYXkoMCwkWCk/IiRBIElTIE5VTEwgT1IgIjoiIikuIiRBIElOICgiLmltcGxvZGUoIiwgIixhcnJheV9tYXAoJ2ludHZhbCcsJFgpKS4iKSI7fWVsc2V7JElkPWVyZWcoJ2NoYXJ8dGV4dHxlbnVtfHNldCcsJG5bInR5cGUiXSk7JFk9JHRoaXMtPnByb2Nlc3NJbnB1dCgkbiwoISRFYyYmJElkJiZlcmVnKCdeW14lXSskJywkWCk/IiUkWCUiOiRYKSk7JEphW109JEEuKCRZPT0iTlVMTCI/IiBJUyIuKCRFYz09Ij49Ij8iIE5PVCI6IiIpLiIgJFkiOihpbl9hcnJheSgkRWMsJHRoaXMtPm9wZXJhdG9ycyl8fCRFYz09Ij0iPyIgJEVjICRZIjooJElkPyIgTElLRSAkWSI6IiBJTiAoIi5zdHJfcmVwbGFjZSgiLCIsIicsICciLCRZKS4iKSIpKSk7aWYoJHc8MCYmJFg9PSIwIil7JEphW109IiRBIElTIE5VTEwiO319fX0kSVtdPSgkSmE/IigiLmltcGxvZGUoIiBPUiAiLCRKYSkuIikiOiIwIik7fX1yZXR1cm4kSTt9ZnVuY3Rpb24Kc2VsZWN0T3JkZXJQcm9jZXNzKCRvLCR2KXskVWI9JF9HRVRbImluZGV4X29yZGVyIl07aWYoJFViIT0iIil7dW5zZXQoJF9HRVRbIm9yZGVyIl1bMV0pO31pZigkX0dFVFsib3JkZXIiXSl7cmV0dXJuCmFycmF5KGlkZl9lc2NhcGUocmVzZXQoJF9HRVRbIm9yZGVyIl0pKS4oJF9HRVRbImRlc2MiXT8iIERFU0MiOiIiKSk7fWZvcmVhY2goKCRVYiE9IiI/YXJyYXkoJHZbJFViXSk6JHYpYXMkdSl7aWYoJFViIT0iInx8JHVbInR5cGUiXT09IklOREVYIil7JFJhPWZhbHNlO2ZvcmVhY2goJHVbImNvbHVtbnMiXWFzJFgpe2lmKGVyZWcoJ2RhdGV8dGltZXN0YW1wJywkb1skWF1bInR5cGUiXSkpeyRSYT10cnVlO2JyZWFrO319JEk9YXJyYXkoKTtmb3JlYWNoKCR1WyJjb2x1bW5zIl1hcyRYKXskSVtdPWlkZl9lc2NhcGUoJFgpLigkUmE/IiBERVNDIjoiIik7fXJldHVybiRJO319cmV0dXJuCmFycmF5KCk7fWZ1bmN0aW9uCnNlbGVjdExpbWl0UHJvY2Vzcygpe3JldHVybihpc3NldCgkX0dFVFsibGltaXQiXSk/JF9HRVRbImxpbWl0Il06IjMwIik7fWZ1bmN0aW9uCnNlbGVjdExlbmd0aFByb2Nlc3MoKXtyZXR1cm4iMTAwIjt9ZnVuY3Rpb24Kc2VsZWN0RW1haWxQcm9jZXNzKCRaLCRDYil7aWYoJF9QT1NUWyJlbWFpbF9hcHBlbmQiXSl7cmV0dXJuCnRydWU7fWlmKCRfUE9TVFsiZW1haWwiXSl7JG9kPTA7aWYoJF9QT1NUWyJhbGwiXXx8JF9QT1NUWyJjaGVjayJdKXskbj1pZGZfZXNjYXBlKCRfUE9TVFsiZW1haWxfZmllbGQiXSk7JF9kPSRfUE9TVFsiZW1haWxfc3ViamVjdCJdOyR1Yz0kX1BPU1RbImVtYWlsX21lc3NhZ2UiXTtwcmVnX21hdGNoX2FsbCgnflxce1xcJChbYS16MC05X10rKVxcfX5pJywiJF9kLiR1YyIsJHBjKTskSz1nZXRfcm93cygiU0VMRUNUIERJU1RJTkNUICRuIi4oJHBjWzFdPyIsICIuaW1wbG9kZSgiLCAiLGFycmF5X21hcCgnaWRmX2VzY2FwZScsYXJyYXlfdW5pcXVlKCRwY1sxXSkpKToiIikuIiBGUk9NICIudGFibGUoJF9HRVRbInNlbGVjdCJdKS4iIFdIRVJFICRuIElTIE5PVCBOVUxMIEFORCAkbiAhPSAnJyIuKCRaPyIgQU5EICIuaW1wbG9kZSgiIEFORCAiLCRaKToiIikuKCRfUE9TVFsiYWxsIl0/IiI6IiBBTkQgKCgiLmltcGxvZGUoIikgT1IgKCIsYXJyYXlfbWFwKCd3aGVyZV9jaGVjaycsKGFycmF5KSRfUE9TVFsiY2hlY2siXSkpLiIpKSIpKTskbz1maWVsZHMoJF9HRVRbInNlbGVjdCJdKTtmb3JlYWNoKCR0aGlzLT5yb3dEZXNjcmlwdGlvbnMoJEssJENiKWFzJEopeyRmZD1hcnJheSgne1xcJz0+J3snKTtmb3JlYWNoKCRwY1sxXWFzJFgpeyRmZFsneyQnLiIkWH0iXT0kdGhpcy0+ZWRpdFZhbCgkSlskWF0sJG9bJFhdKTt9JGNiPSRKWyRfUE9TVFsiZW1haWxfZmllbGQiXV07aWYoaXNfbWFpbCgkY2IpJiZzZW5kX21haWwoJGNiLHN0cnRyKCRfZCwkZmQpLHN0cnRyKCR1YywkZmQpLCRfUE9TVFsiZW1haWxfZnJvbSJdLCRfRklMRVNbImVtYWlsX2ZpbGVzIl0pKXskb2QrKzt9fX1jb29raWUoImFkbWluZXJfZW1haWwiLCRfUE9TVFsiZW1haWxfZnJvbSJdKTtyZWRpcmVjdChyZW1vdmVfZnJvbV91cmkoKSxsYW5nKDQwLCRvZCkpO31yZXR1cm4KZmFsc2U7fWZ1bmN0aW9uCm1lc3NhZ2VRdWVyeSgkRyl7cmV0dXJuIjwhLS1cbiIuc3RyX3JlcGxhY2UoIi0tIiwiLS0+PCEtLSAiLCRHKS4iXG4tLT4iO31mdW5jdGlvbgplZGl0RnVuY3Rpb25zKCRuKXskST1hcnJheSgpO2lmKCRuWyJudWxsIl0mJmVyZWcoJ2Jsb2InLCRuWyJ0eXBlIl0pKXskSVsiTlVMTCJdPWxhbmcoNCk7fSRJWyIiXT0oJG5bIm51bGwiXXx8JG5bImF1dG9faW5jcmVtZW50Il18fGxpa2VfYm9vbCgkbik/IiI6IioiKTtpZihlcmVnKCdkYXRlfHRpbWUnLCRuWyJ0eXBlIl0pKXskSVsibm93Il09bGFuZyg0MSk7fWlmKGVyZWdpKCdfKG1kNXxzaGExKSQnLCRuWyJmaWVsZCJdLCR6KSl7JElbXT1zdHJ0b2xvd2VyKCR6WzFdKTt9cmV0dXJuJEk7fWZ1bmN0aW9uCmVkaXRJbnB1dCgkUCwkbiwkcmEsJFkpe2lmKCRuWyJ0eXBlIl09PSJlbnVtIil7cmV0dXJuKGlzc2V0KCRfR0VUWyJzZWxlY3QiXSk/IjxsYWJlbD48aW5wdXQgdHlwZT0ncmFkaW8nJHJhIHZhbHVlPSctMScgY2hlY2tlZD48aT4iLmxhbmcoNSkuIjwvaT48L2xhYmVsPiAiOiIiKS5lbnVtX2lucHV0KCJyYWRpbyIsJHJhLCRuLCgkWXx8aXNzZXQoJF9HRVRbInNlbGVjdCJdKT8kWTowKSwoJG5bIm51bGwiXT8iIjpudWxsKSk7fSRJYz0kdGhpcy0+X2ZvcmVpZ25LZXlPcHRpb25zKCRQLCRuWyJmaWVsZCJdLCRZKTtpZihpc3NldCgkSWMpKXtyZXR1cm4oaXNfYXJyYXkoJEljKT8iPHNlbGVjdCRyYT4iLm9wdGlvbmxpc3QoJEljLCRZLHRydWUpLiI8L3NlbGVjdD4iOiI8aW5wdXQgdmFsdWU9JyIuaCgkWSkuIickcmEgY2xhc3M9J2hpZGRlbic+PGlucHV0IHZhbHVlPSciLmgoJEljKS4iJyBjbGFzcz0nanNvbmx5JyBvbmtleXVwPVwid2hpc3BlcignIi5oKE1FLiJzY3JpcHQ9Y29tcGxldGUmc291cmNlPSIudXJsZW5jb2RlKCRQKS4iJmZpZWxkPSIudXJsZW5jb2RlKCRuWyJmaWVsZCJdKSkuIiZ2YWx1ZT0nLCB0aGlzKTtcIj48ZGl2IG9uY2xpY2s9J3JldHVybiB3aGlzcGVyQ2xpY2soZXZlbnQsIHRoaXMucHJldmlvdXNTaWJsaW5nKTsnPjwvZGl2PiIpO31pZihsaWtlX2Jvb2woJG4pKXtyZXR1cm4nPGlucHV0IHR5cGU9ImNoZWNrYm94IiB2YWx1ZT0iJy5oKCRZPyRZOjEpLiciJy4oJFk/JyBjaGVja2VkJzonJykuIiRyYT4iO30kUGI9IiI7aWYoZXJlZygndGltZScsJG5bInR5cGUiXSkpeyRQYj1sYW5nKDQyKTt9aWYoZXJlZygnZGF0ZXx0aW1lc3RhbXAnLCRuWyJ0eXBlIl0pKXskUGI9bGFuZyg0MykuKCRQYj8iIFskUGJdIjoiIik7fWlmKCRQYil7cmV0dXJuIjxpbnB1dCB2YWx1ZT0nIi5oKCRZKS4iJyRyYT4gKCRQYikiO31pZihlcmVnaSgnXyhtZDV8c2hhMSkkJywkblsiZmllbGQiXSkpe3JldHVybiI8aW5wdXQgdHlwZT0ncGFzc3dvcmQnIHZhbHVlPSciLmgoJFkpLiInJHJhPiI7fXJldHVybicnO31mdW5jdGlvbgpwcm9jZXNzSW5wdXQoJG4sJFksJHE9IiIpe2lmKCRxPT0ibm93Iil7cmV0dXJuIiRxKCkiO30kST0kWTtpZihlcmVnKCdkYXRlfHRpbWVzdGFtcCcsJG5bInR5cGUiXSkmJnByZWdfbWF0Y2goJyheJy5zdHJfcmVwbGFjZSgnXFwkMScsJyg/UDxwMT5cXGQqKScscHJlZ19yZXBsYWNlKCd+KFxcXFxcXCQoWzItNl0pKX4nLCcoP1A8cFxcMj5cXGR7MSwyfSknLHByZWdfcXVvdGUobGFuZygyNykpKSkuJyguKikpJywkWSwkeikpeyRJPSgkelsicDEiXSE9IiI/JHpbInAxIl06KCR6WyJwMiJdIT0iIj8oJHpbInAyIl08NzA/MjA6MTkpLiR6WyJwMiJdOmdtZGF0ZSgiWSIpKSkuIi0keltwM10keltwNF0tJHpbcDVdJHpbcDZdIi5lbmQoJHopO30kST0oJG5bInR5cGUiXT09ImJpdCImJmVyZWcoJ15bMC05XSskJywkWSk/JEk6cSgkSSkpO2lmKCRZPT0iIiYmKCRuWyJudWxsIl18fCFlcmVnKCdjaGFyfHRleHQnLCRuWyJ0eXBlIl0pKSYmIWxpa2VfYm9vbCgkbikpeyRJPSJOVUxMIjt9ZWxzZWlmKGVyZWcoJ14obWQ1fHNoYTEpJCcsJHEpKXskST0iJHEoJEkpIjt9aWYoZXJlZygiYmluYXJ5IiwkblsidHlwZSJdKSl7JEk9InVuaGV4KCRJKSI7fXJldHVybiRJO31mdW5jdGlvbgpkdW1wT3V0cHV0KCl7cmV0dXJuCmFycmF5KCk7fWZ1bmN0aW9uCmR1bXBGb3JtYXQoKXtyZXR1cm4KYXJyYXkoJ2Nzdic9PidDU1YsJywnY3N2Oyc9PidDU1Y7JywndHN2Jz0+J1RTVicpO31mdW5jdGlvbgpkdW1wVGFibGUoKXtlY2hvIlx4ZWZceGJiXHhiZiI7fWZ1bmN0aW9uCmR1bXBEYXRhKCRQLCR6ZCwkRyl7Z2xvYmFsJGg7JEg9JGgtPnF1ZXJ5KCRHLDEpO2lmKCRIKXt3aGlsZSgkSj0kSC0+ZmV0Y2hfYXNzb2MoKSl7aWYoJHpkPT0idGFibGUiKXtkdW1wX2NzdihhcnJheV9rZXlzKCRKKSk7JHpkPSJJTlNFUlQiO31kdW1wX2NzdigkSik7fX19ZnVuY3Rpb24KZHVtcEhlYWRlcnMoJFJiLCR5Yz1mYWxzZSl7JHFiPSJjc3YiO2hlYWRlcigiQ29udGVudC1UeXBlOiB0ZXh0L2NzdjsgY2hhcnNldD11dGYtOCIpO3JldHVybiRxYjt9ZnVuY3Rpb24KaG9tZXBhZ2UoKXtyZXR1cm4KdHJ1ZTt9ZnVuY3Rpb24KbmF2aWdhdGlvbigkeGMpe2dsb2JhbCRiYSwkTmQ7ZWNobyc8aDE+CicsJHRoaXMtPm5hbWUoKSwnIDxzcGFuIGNsYXNzPSJ2ZXJzaW9uIj4nLCRiYSwnPC9zcGFuPgo8YSBocmVmPSJodHRwOi8vd3d3LmFkbWluZXIub3JnL2VkaXRvci8jZG93bmxvYWQiIGlkPSJ2ZXJzaW9uIj4nLCh2ZXJzaW9uX2NvbXBhcmUoJGJhLCRfQ09PS0lFWyJhZG1pbmVyX3ZlcnNpb24iXSk8MD9oKCRfQ09PS0lFWyJhZG1pbmVyX3ZlcnNpb24iXSk6IiIpLCc8L2E+CjwvaDE+Cic7aWYoJHhjPT0iYXV0aCIpeyR6Yj10cnVlO2ZvcmVhY2goKGFycmF5KSRfU0VTU0lPTlsicHdkcyJdWyJzZXJ2ZXIiXVsiIl1hcyRWPT4kRSl7aWYoaXNzZXQoJEUpKXtpZigkemIpe2VjaG8iPHAgb25jbGljaz0nZXZlbnRTdG9wKGV2ZW50KTsnPlxuIjskemI9ZmFsc2U7fWVjaG8iPGEgaHJlZj0nIi5oKGF1dGhfdXJsKCJzZXJ2ZXIiLCIiLCRWKSkuIic+Ii4oJFYhPSIiP2goJFYpOiI8aT4iLmxhbmcoNCkuIjwvaT4iKS4iPC9hPjxicj5cbiI7fX19ZWxzZXtlY2hvJzxmb3JtIGFjdGlvbj0iIiBtZXRob2Q9InBvc3QiPgo8cCBjbGFzcz0ibG9nb3V0Ij4KPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ibG9nb3V0IiB2YWx1ZT0iJyxsYW5nKDQ0KSwnIiBvbmNsaWNrPSJldmVudFN0b3AoZXZlbnQpOyI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InRva2VuIiB2YWx1ZT0iJywkTmQsJyI+CjwvcD4KPC9mb3JtPgonO2lmKCR4YyE9ImRiIiYmJHhjIT0ibnMiKXskUT10YWJsZV9zdGF0dXMoKTtpZighJFEpe2VjaG8iPHAgY2xhc3M9J21lc3NhZ2UnPiIubGFuZyg2KS4iXG4iO31lbHNleyR0aGlzLT50YWJsZXNQcmludCgkUSk7fX19fWZ1bmN0aW9uCnRhYmxlc1ByaW50KCRSKXtlY2hvIjxwIGlkPSd0YWJsZXMnPlxuIjtmb3JlYWNoKCRSCmFzJEopeyRBPSR0aGlzLT50YWJsZU5hbWUoJEopO2lmKGlzc2V0KCRKWyJFbmdpbmUiXSkmJiRBIT0iIil7ZWNobyI8YSBocmVmPSciLmgoTUUpLidzZWxlY3Q9Jy51cmxlbmNvZGUoJEpbIk5hbWUiXSkuIiciLmJvbGQoJF9HRVRbInNlbGVjdCJdPT0kSlsiTmFtZSJdKS4iIHRpdGxlPSciLmxhbmcoNDUpLiInPiRBPC9hPjxicj5cbiI7fX19ZnVuY3Rpb24KX2ZvcmVpZ25Db2x1bW4oJENiLCRmKXtmb3JlYWNoKChhcnJheSkkQ2JbJGZdYXMkQmIpe2lmKGNvdW50KCRCYlsic291cmNlIl0pPT0xKXskQT0kdGhpcy0+cm93RGVzY3JpcHRpb24oJEJiWyJ0YWJsZSJdKTtpZigkQSE9IiIpeyRzPWlkZl9lc2NhcGUoJEJiWyJ0YXJnZXQiXVswXSk7cmV0dXJuCmFycmF5KCRCYlsidGFibGUiXSwkcywkQSk7fX19fWZ1bmN0aW9uCl9mb3JlaWduS2V5T3B0aW9ucygkUCwkZiwkWT1udWxsKXtnbG9iYWwkaDtpZihsaXN0KCRTLCRzLCRBKT0kdGhpcy0+X2ZvcmVpZ25Db2x1bW4oY29sdW1uX2ZvcmVpZ25fa2V5cygkUCksJGYpKXskST0mJHRoaXMtPl92YWx1ZXNbJFNdO2lmKCFpc3NldCgkSSkpeyRRPXRhYmxlX3N0YXR1cygkUyk7JEk9KCRRWyJSb3dzIl0+MTAwMD8iIjphcnJheSgiIj0+IiIpK2dldF9rZXlfdmFscygiU0VMRUNUICRzLCAkQSBGUk9NICIudGFibGUoJFMpLiIgT1JERVIgQlkgMiIpKTt9aWYoISRJJiZpc3NldCgkWSkpe3JldHVybiRoLT5yZXN1bHQoIlNFTEVDVCAkQSBGUk9NICIudGFibGUoJFMpLiIgV0hFUkUgJHMgPSAiLnEoJFkpKTt9cmV0dXJuJEk7fX19JGM9KGZ1bmN0aW9uX2V4aXN0cygnYWRtaW5lcl9vYmplY3QnKT9hZG1pbmVyX29iamVjdCgpOm5ldwpBZG1pbmVyKTtmdW5jdGlvbgpwYWdlX2hlYWRlcigkSmQsJG09IiIsJEFhPWFycmF5KCksJEtkPSIiKXtnbG9iYWwkYSwkYywkaCwkV2E7aGVhZGVyKCJDb250ZW50LVR5cGU6IHRleHQvaHRtbDsgY2hhcnNldD11dGYtOCIpO2lmKCRjLT5oZWFkZXJzKCkpe2hlYWRlcigiWC1GcmFtZS1PcHRpb25zOiBkZW55Iik7aGVhZGVyKCJYLVhTUy1Qcm90ZWN0aW9uOiAwIik7fSRMZD0kSmQuKCRLZCE9IiI/IjogIi5oKCRLZCk6IiIpOyRNZD1zdHJpcF90YWdzKCRMZC4oU0VSVkVSIT0iIiYmU0VSVkVSIT0ibG9jYWxob3N0Ij9oKCIgLSAiLlNFUlZFUik6IiIpLiIgLSAiLiRjLT5uYW1lKCkpO2lmKGlzX2FqYXgoKSl7aGVhZGVyKCJYLUFKQVgtVGl0bGU6ICIucmF3dXJsZW5jb2RlKCRNZCkpO31lbHNle2VjaG8nPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEvL0VOIj4KPGh0bWwgbGFuZz0iJywkYSwnIiBkaXI9IicsbGFuZyg0NiksJyI+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1TY3JpcHQtVHlwZSIgY29udGVudD0idGV4dC9qYXZhc2NyaXB0Ij4KPG1ldGEgbmFtZT0icm9ib3RzIiBjb250ZW50PSJub2luZGV4Ij4KPHRpdGxlPicsJE1kLCc8L3RpdGxlPgo8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSInLGgocHJlZ19yZXBsYWNlKCJ+XFw/Lip+IiwiIixNRSkpLiI/ZmlsZT1kZWZhdWx0LmNzcyZhbXA7dmVyc2lvbj0zLjMuMyIsJyI+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KdmFyIGFyZVlvdVN1cmUgPSBcJycsbGFuZyg0NyksJ1wnOwo8L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iJyxoKHByZWdfcmVwbGFjZSgiflxcPy4qfiIsIiIsTUUpKS4iP2ZpbGU9ZnVuY3Rpb25zLmpzJmFtcDt2ZXJzaW9uPTMuMy4zIiwnIj48L3NjcmlwdD4KJztpZigkYy0+aGVhZCgpKXtlY2hvJzxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgdHlwZT0iaW1hZ2UveC1pY29uIiBocmVmPSInLGgocHJlZ19yZXBsYWNlKCJ+XFw/Lip+IiwiIixNRSkpLiI/ZmlsZT1mYXZpY29uLmljbyZhbXA7dmVyc2lvbj0zLjMuMyIsJyIgaWQ9ImZhdmljb24iPgonO2lmKGZpbGVfZXhpc3RzKCJhZG1pbmVyLmNzcyIpKXtlY2hvJzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9ImFkbWluZXIuY3NzIj4KJzt9fWVjaG8nCjxib2R5IGNsYXNzPSInLGxhbmcoNDYpLCcgbm9qcyInLCgkX1BPU1Q/IiI6IiBvbmNsaWNrPVwicmV0dXJuIGJvZHlDbGljayhldmVudCwgJyIuaChqc19lc2NhcGUoREIpLiInLCAnIi5qc19lc2NhcGUoJF9HRVRbIm5zIl0pKS4iJyk7XCIiKTtlY2hvJyBvbmtleWRvd249ImJvZHlLZXlkb3duKGV2ZW50KTsiIG9ubG9hZD0iYm9keUxvYWQoXCcnLChpc19vYmplY3QoJGgpP3N1YnN0cigkaC0+c2VydmVyX2luZm8sMCwzKToiIiksJ1wnKTsnLChpc3NldCgkX0NPT0tJRVsiYWRtaW5lcl92ZXJzaW9uIl0pPyIiOiIgdmVyaWZ5VmVyc2lvbigpOyIpOz8+Ij4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgpkb2N1bWVudC5ib2R5LmNsYXNzTmFtZSA9IGRvY3VtZW50LmJvZHkuY2xhc3NOYW1lLnJlcGxhY2UoLyhefFxzKW5vanMoXHN8JCkvLCAnJDFqcyQyJyk7Cjwvc2NyaXB0PgoKPGRpdiBpZD0iY29udGVudCI+Cjw/cGhwCn1pZihpc3NldCgkQWEpKXskeT1zdWJzdHIocHJlZ19yZXBsYWNlKCd+KHVzZXJuYW1lfGRifG5zKT1bXiZdKiZ+JywnJyxNRSksMCwtMSk7ZWNobyc8cCBpZD0iYnJlYWRjcnVtYiI+PGEgaHJlZj0iJy5oKCR5PyR5OiIuIikuJyI+Jy4kV2FbRFJJVkVSXS4nPC9hPiAmcmFxdW87ICc7JHk9c3Vic3RyKHByZWdfcmVwbGFjZSgnfihkYnxucyk9W14mXSomficsJycsTUUpLDAsLTEpOyRNPShTRVJWRVIhPSIiP2goU0VSVkVSKTpsYW5nKDQ4KSk7aWYoJEFhPT09ZmFsc2Upe2VjaG8iJE1cbiI7fWVsc2V7ZWNobyI8YSBocmVmPSciLigkeT9oKCR5KToiLiIpLiInIGFjY2Vzc2tleT0nMScgdGl0bGU9J0FsdCtTaGlmdCsxJz4kTTwvYT4gJnJhcXVvOyAiO2lmKCRfR0VUWyJucyJdIT0iInx8KERCIT0iIiYmaXNfYXJyYXkoJEFhKSkpe2VjaG8nPGEgaHJlZj0iJy5oKCR5LiImZGI9Ii51cmxlbmNvZGUoREIpLihzdXBwb3J0KCJzY2hlbWUiKT8iJm5zPSI6IiIpKS4nIj4nLmgoREIpLic8L2E+ICZyYXF1bzsgJzt9aWYoaXNfYXJyYXkoJEFhKSl7aWYoJF9HRVRbIm5zIl0hPSIiKXtlY2hvJzxhIGhyZWY9IicuaChzdWJzdHIoTUUsMCwtMSkpLiciPicuaCgkX0dFVFsibnMiXSkuJzwvYT4gJnJhcXVvOyAnO31mb3JlYWNoKCRBYQphcyR3PT4kWCl7JFJhPShpc19hcnJheSgkWCk/JFhbMV06JFgpO2lmKCRSYSE9IiIpe2VjaG8nPGEgaHJlZj0iJy5oKE1FLiIkdz0iKS51cmxlbmNvZGUoaXNfYXJyYXkoJFgpPyRYWzBdOiRYKS4nIj4nLmgoJFJhKS4nPC9hPiAmcmFxdW87ICc7fX19ZWNobyIkSmRcbiI7fX1lY2hvIjxzcGFuIGlkPSdsb2FkZXInPjwvc3Bhbj5cbiIsIjxoMj4kTGQ8L2gyPlxuIjtyZXN0YXJ0X3Nlc3Npb24oKTskYWU9cHJlZ19yZXBsYWNlKCd+XlteP10qficsJycsJF9TRVJWRVJbIlJFUVVFU1RfVVJJIl0pOyR2Yz0kX1NFU1NJT05bIm1lc3NhZ2VzIl1bJGFlXTtpZigkdmMpe2VjaG8iPGRpdiBjbGFzcz0nbWVzc2FnZSc+Ii5pbXBsb2RlKCI8L2Rpdj5cbjxkaXYgY2xhc3M9J21lc3NhZ2UnPiIsJHZjKS4iPC9kaXY+XG4iO3Vuc2V0KCRfU0VTU0lPTlsibWVzc2FnZXMiXVskYWVdKTt9JGs9JmdldF9zZXNzaW9uKCJkYnMiKTtpZihEQiE9IiImJiRrJiYhaW5fYXJyYXkoREIsJGssdHJ1ZSkpeyRrPW51bGw7fWlmKCRtKXtlY2hvIjxkaXYgY2xhc3M9J2Vycm9yJz4kbTwvZGl2PlxuIjt9ZGVmaW5lKCJQQUdFX0hFQURFUiIsMSk7fWZ1bmN0aW9uCnBhZ2VfZm9vdGVyKCR4Yz0iIil7Z2xvYmFsJGM7aWYoIWlzX2FqYXgoKSl7ZWNobyc8L2Rpdj4KCic7c3dpdGNoX2xhbmcoKTtlY2hvJzxkaXYgaWQ9Im1lbnUiPgonOyRjLT5uYXZpZ2F0aW9uKCR4Yyk7ZWNobyc8L2Rpdj4KJzt9fWZ1bmN0aW9uCmludDMyKCRfKXt3aGlsZSgkXz49MjE0NzQ4MzY0OCl7JF8tPTQyOTQ5NjcyOTY7fXdoaWxlKCRfPD0tMjE0NzQ4MzY0OSl7JF8rPTQyOTQ5NjcyOTY7fXJldHVybihpbnQpJF87fWZ1bmN0aW9uCmxvbmcyc3RyKCRXLCRoZSl7JGpkPScnO2ZvcmVhY2goJFcKYXMkWCl7JGpkLj1wYWNrKCdWJywkWCk7fWlmKCRoZSl7cmV0dXJuCnN1YnN0cigkamQsMCxlbmQoJFcpKTt9cmV0dXJuJGpkO31mdW5jdGlvbgpzdHIybG9uZygkamQsJGhlKXskVz1hcnJheV92YWx1ZXModW5wYWNrKCdWKicsc3RyX3BhZCgkamQsNCpjZWlsKHN0cmxlbigkamQpLzQpLCJcMCIpKSk7aWYoJGhlKXskV1tdPXN0cmxlbigkamQpO31yZXR1cm4kVzt9ZnVuY3Rpb24KeHh0ZWFfbXgoJGxlLCRrZSwkQmQsJGNjKXtyZXR1cm4KaW50MzIoKCgkbGU+PjUmMHg3RkZGRkZGKV4ka2U8PDIpKygoJGtlPj4zJjB4MUZGRkZGRkYpXiRsZTw8NCkpXmludDMyKCgkQmReJGtlKSsoJGNjXiRsZSkpO31mdW5jdGlvbgplbmNyeXB0X3N0cmluZygkeGQsJHcpe2lmKCR4ZD09IiIpe3JldHVybiIiO30kdz1hcnJheV92YWx1ZXModW5wYWNrKCJWKiIscGFjaygiSCoiLG1kNSgkdykpKSk7JFc9c3RyMmxvbmcoJHhkLHRydWUpOyRfPWNvdW50KCRXKS0xOyRsZT0kV1skX107JGtlPSRXWzBdOyRaYz1mbG9vcig2KzUyLygkXysxKSk7JEJkPTA7d2hpbGUoJFpjLS0+MCl7JEJkPWludDMyKCRCZCsweDlFMzc3OUI5KTskWmE9JEJkPj4yJjM7Zm9yKCROYz0wOyROYzwkXzskTmMrKyl7JGtlPSRXWyROYysxXTskemM9eHh0ZWFfbXgoJGxlLCRrZSwkQmQsJHdbJE5jJjNeJFphXSk7JGxlPWludDMyKCRXWyROY10rJHpjKTskV1skTmNdPSRsZTt9JGtlPSRXWzBdOyR6Yz14eHRlYV9teCgkbGUsJGtlLCRCZCwkd1skTmMmM14kWmFdKTskbGU9aW50MzIoJFdbJF9dKyR6Yyk7JFdbJF9dPSRsZTt9cmV0dXJuCmxvbmcyc3RyKCRXLGZhbHNlKTt9ZnVuY3Rpb24KZGVjcnlwdF9zdHJpbmcoJHhkLCR3KXtpZigkeGQ9PSIiKXtyZXR1cm4iIjt9JHc9YXJyYXlfdmFsdWVzKHVucGFjaygiVioiLHBhY2soIkgqIixtZDUoJHcpKSkpOyRXPXN0cjJsb25nKCR4ZCxmYWxzZSk7JF89Y291bnQoJFcpLTE7JGxlPSRXWyRfXTska2U9JFdbMF07JFpjPWZsb29yKDYrNTIvKCRfKzEpKTskQmQ9aW50MzIoJFpjKjB4OUUzNzc5QjkpO3doaWxlKCRCZCl7JFphPSRCZD4+MiYzO2ZvcigkTmM9JF87JE5jPjA7JE5jLS0peyRsZT0kV1skTmMtMV07JHpjPXh4dGVhX214KCRsZSwka2UsJEJkLCR3WyROYyYzXiRaYV0pOyRrZT1pbnQzMigkV1skTmNdLSR6Yyk7JFdbJE5jXT0ka2U7fSRsZT0kV1skX107JHpjPXh4dGVhX214KCRsZSwka2UsJEJkLCR3WyROYyYzXiRaYV0pOyRrZT1pbnQzMigkV1swXS0kemMpOyRXWzBdPSRrZTskQmQ9aW50MzIoJEJkLTB4OUUzNzc5QjkpO31yZXR1cm4KbG9uZzJzdHIoJFcsdHJ1ZSk7fSRoPScnOyROZD0kX1NFU1NJT05bInRva2VuIl07aWYoISRfU0VTU0lPTlsidG9rZW4iXSl7JF9TRVNTSU9OWyJ0b2tlbiJdPXJhbmQoMSwxZTYpO30kUmM9YXJyYXkoKTtpZigkX0NPT0tJRVsiYWRtaW5lcl9wZXJtYW5lbnQiXSl7Zm9yZWFjaChleHBsb2RlKCIgIiwkX0NPT0tJRVsiYWRtaW5lcl9wZXJtYW5lbnQiXSlhcyRYKXtsaXN0KCR3KT1leHBsb2RlKCI6IiwkWCk7JFJjWyR3XT0kWDt9fWlmKGlzc2V0KCRfUE9TVFsic2VydmVyIl0pKXtzZXNzaW9uX3JlZ2VuZXJhdGVfaWQoKTskX1NFU1NJT05bInB3ZHMiXVskX1BPU1RbImRyaXZlciJdXVskX1BPU1RbInNlcnZlciJdXVskX1BPU1RbInVzZXJuYW1lIl1dPSRfUE9TVFsicGFzc3dvcmQiXTtpZigkX1BPU1RbInBlcm1hbmVudCJdKXskdz1iYXNlNjRfZW5jb2RlKCRfUE9TVFsiZHJpdmVyIl0pLiItIi5iYXNlNjRfZW5jb2RlKCRfUE9TVFsic2VydmVyIl0pLiItIi5iYXNlNjRfZW5jb2RlKCRfUE9TVFsidXNlcm5hbWUiXSk7JFdjPSRjLT5wZXJtYW5lbnRMb2dpbigpOyRSY1skd109IiR3OiIuYmFzZTY0X2VuY29kZSgkV2M/ZW5jcnlwdF9zdHJpbmcoJF9QT1NUWyJwYXNzd29yZCJdLCRXYyk6IiIpO2Nvb2tpZSgiYWRtaW5lcl9wZXJtYW5lbnQiLGltcGxvZGUoIiAiLCRSYykpO31pZihjb3VudCgkX1BPU1QpPT0oJF9QT1NUWyJwZXJtYW5lbnQiXT81OjQpfHxEUklWRVIhPSRfUE9TVFsiZHJpdmVyIl18fFNFUlZFUiE9JF9QT1NUWyJzZXJ2ZXIiXXx8JF9HRVRbInVzZXJuYW1lIl0hPT0kX1BPU1RbInVzZXJuYW1lIl0pe3JlZGlyZWN0KGF1dGhfdXJsKCRfUE9TVFsiZHJpdmVyIl0sJF9QT1NUWyJzZXJ2ZXIiXSwkX1BPU1RbInVzZXJuYW1lIl0pKTt9fWVsc2VpZigkX1BPU1RbImxvZ291dCJdKXtpZigkTmQmJiRfUE9TVFsidG9rZW4iXSE9JE5kKXtwYWdlX2hlYWRlcihsYW5nKDQ0KSxsYW5nKDQ5KSk7cGFnZV9mb290ZXIoImRiIik7ZXhpdDt9ZWxzZXtmb3JlYWNoKGFycmF5KCJwd2RzIiwiZGJzIiwicXVlcmllcyIpYXMkdyl7c2V0X3Nlc3Npb24oJHcsbnVsbCk7fSR3PWJhc2U2NF9lbmNvZGUoRFJJVkVSKS4iLSIuYmFzZTY0X2VuY29kZShTRVJWRVIpLiItIi5iYXNlNjRfZW5jb2RlKCRfR0VUWyJ1c2VybmFtZSJdKTtpZigkUmNbJHddKXt1bnNldCgkUmNbJHddKTtjb29raWUoImFkbWluZXJfcGVybWFuZW50IixpbXBsb2RlKCIgIiwkUmMpKTt9cmVkaXJlY3Qoc3Vic3RyKHByZWdfcmVwbGFjZSgnfih1c2VybmFtZXxkYnxucyk9W14mXSomficsJycsTUUpLDAsLTEpLGxhbmcoNTApKTt9fWVsc2VpZigkUmMmJiEkX1NFU1NJT05bInB3ZHMiXSl7c2Vzc2lvbl9yZWdlbmVyYXRlX2lkKCk7JFdjPSRjLT5wZXJtYW5lbnRMb2dpbigpO2ZvcmVhY2goJFJjCmFzJHc9PiRYKXtsaXN0KCwkRGEpPWV4cGxvZGUoIjoiLCRYKTtsaXN0KCRWYSwkTSwkVik9YXJyYXlfbWFwKCdiYXNlNjRfZGVjb2RlJyxleHBsb2RlKCItIiwkdykpOyRfU0VTU0lPTlsicHdkcyJdWyRWYV1bJE1dWyRWXT1kZWNyeXB0X3N0cmluZyhiYXNlNjRfZGVjb2RlKCREYSksJFdjKTt9fWZ1bmN0aW9uCmF1dGhfZXJyb3IoJG5iPW51bGwpe2dsb2JhbCRoLCRjLCROZDskcmQ9c2Vzc2lvbl9uYW1lKCk7JG09IiI7aWYoISRfQ09PS0lFWyRyZF0mJiRfR0VUWyRyZF0mJmluaV9ib29sKCJzZXNzaW9uLnVzZV9vbmx5X2Nvb2tpZXMiKSl7JG09bGFuZyg1MSk7fWVsc2VpZihpc3NldCgkX0dFVFsidXNlcm5hbWUiXSkpe2lmKCgkX0NPT0tJRVskcmRdfHwkX0dFVFskcmRdKSYmISROZCl7JG09bGFuZyg1Mik7fWVsc2V7JEU9JmdldF9zZXNzaW9uKCJwd2RzIik7aWYoaXNzZXQoJEUpKXskbT1oKCRuYj8kbmItPmdldE1lc3NhZ2UoKTooaXNfc3RyaW5nKCRoKT8kaDpsYW5nKDUzKSkpOyRFPW51bGw7fX19cGFnZV9oZWFkZXIobGFuZygyMiksJG0sbnVsbCk7ZWNobyI8Zm9ybSBhY3Rpb249JycgbWV0aG9kPSdwb3N0JyBvbmNsaWNrPSdldmVudFN0b3AoZXZlbnQpOyc+XG4iOyRjLT5sb2dpbkZvcm0oKTtlY2hvIjxkaXY+IjtoaWRkZW5fZmllbGRzKCRfUE9TVCxhcnJheSgiZHJpdmVyIiwic2VydmVyIiwidXNlcm5hbWUiLCJwYXNzd29yZCIsInBlcm1hbmVudCIpKTtlY2hvIjwvZGl2PlxuIiwiPC9mb3JtPlxuIjtwYWdlX2Zvb3RlcigiYXV0aCIpO31pZihpc3NldCgkX0dFVFsidXNlcm5hbWUiXSkpe2lmKCFjbGFzc19leGlzdHMoIk1pbl9EQiIpKXt1bnNldCgkX1NFU1NJT05bInB3ZHMiXVtEUklWRVJdKTtwYWdlX2hlYWRlcihsYW5nKDU0KSxsYW5nKDU1LGltcGxvZGUoIiwgIiwkVWMpKSxmYWxzZSk7cGFnZV9mb290ZXIoImF1dGgiKTtleGl0O30kaD1jb25uZWN0KCk7fWlmKGlzX3N0cmluZygkaCl8fCEkYy0+bG9naW4oJF9HRVRbInVzZXJuYW1lIl0sZ2V0X3Nlc3Npb24oInB3ZHMiKSkpe2F1dGhfZXJyb3IoKTtleGl0O30kTmQ9JF9TRVNTSU9OWyJ0b2tlbiJdO2lmKGlzc2V0KCRfUE9TVFsic2VydmVyIl0pJiYkX1BPU1RbInRva2VuIl0peyRfUE9TVFsidG9rZW4iXT0kTmQ7fSRtPSgkX1BPU1Q/KCRfUE9TVFsidG9rZW4iXT09JE5kPyIiOmxhbmcoNDkpKTooJF9TRVJWRVJbIlJFUVVFU1RfTUVUSE9EIl0hPSJQT1NUIj8iIjpsYW5nKDU2LCcicG9zdF9tYXhfc2l6ZSInKSkpOyRoLT5zZWxlY3RfZGIoJGMtPmRhdGFiYXNlKCkpO2Z1bmN0aW9uCmVtYWlsX2hlYWRlcigkTmIpe3JldHVybiI9P1VURi04P0I/Ii5iYXNlNjRfZW5jb2RlKCROYikuIj89Ijt9ZnVuY3Rpb24Kc2VuZF9tYWlsKCRjYiwkX2QsJHVjLCRIYj0iIiwkeGI9YXJyYXkoKSl7JGliPShzdHJuY2FzZWNtcChQSFBfT1MsIndpbiIsMyk/IlxuIjoiXHJcbiIpOyR1Yz1zdHJfcmVwbGFjZSgiXG4iLCRpYix3b3Jkd3JhcChzdHJfcmVwbGFjZSgiXHIiLCIiLCIkdWNcbiIpKSk7JF9hPXVuaXFpZCgiYm91bmRhcnkiKTskcWE9IiI7Zm9yZWFjaCgoYXJyYXkpJHhiWyJlcnJvciJdYXMkdz0+JFgpe2lmKCEkWCl7JHFhLj0iLS0kX2EkaWIiLiJDb250ZW50LVR5cGU6ICIuc3RyX3JlcGxhY2UoIlxuIiwiIiwkeGJbInR5cGUiXVskd10pLiRpYi4iQ29udGVudC1EaXNwb3NpdGlvbjogYXR0YWNobWVudDsgZmlsZW5hbWU9XCIiLnByZWdfcmVwbGFjZSgnflsiXFxuXX4nLCcnLCR4YlsibmFtZSJdWyR3XSkuIlwiJGliIi4iQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogYmFzZTY0JGliJGliIi5jaHVua19zcGxpdChiYXNlNjRfZW5jb2RlKGZpbGVfZ2V0X2NvbnRlbnRzKCR4YlsidG1wX25hbWUiXVskd10pKSw3NiwkaWIpLiRpYjt9fSR5YT0iIjskT2I9IkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCRpYiIuIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQiO2lmKCRxYSl7JHFhLj0iLS0kX2EtLSRpYiI7JHlhPSItLSRfYSRpYiRPYiRpYiRpYiI7JE9iPSJDb250ZW50LVR5cGU6IG11bHRpcGFydC9taXhlZDsgYm91bmRhcnk9XCIkX2FcIiI7fSRPYi49JGliLiJNSU1FLVZlcnNpb246IDEuMCRpYiIuIlgtTWFpbGVyOiBBZG1pbmVyIEVkaXRvciIuKCRIYj8kaWIuIkZyb206ICIuc3RyX3JlcGxhY2UoIlxuIiwiIiwkSGIpOiIiKTtyZXR1cm4KbWFpbCgkY2IsZW1haWxfaGVhZGVyKCRfZCksJHlhLiR1Yy4kcWEsJE9iKTt9ZnVuY3Rpb24KbGlrZV9ib29sKCRuKXtyZXR1cm4KZXJlZygiYm9vbHwodGlueWludHxiaXQpXFwoMVxcKSIsJG5bImZ1bGxfdHlwZSJdKTt9c2Vzc2lvbl9jYWNoZV9saW1pdGVyKCIiKTtpZighaW5pX2Jvb2woInNlc3Npb24udXNlX2Nvb2tpZXMiKXx8QGluaV9zZXQoInNlc3Npb24udXNlX2Nvb2tpZXMiLGZhbHNlKSE9PWZhbHNlKXtzZXNzaW9uX3dyaXRlX2Nsb3NlKCk7fSRCYz0iUkVTVFJJQ1R8Q0FTQ0FERXxTRVQgTlVMTHxOTyBBQ1RJT04iOyRXYVtEUklWRVJdPWxhbmcoMjIpO2lmKGlzc2V0KCRfR0VUWyJzZWxlY3QiXSkmJigkX1BPU1RbImVkaXQiXXx8JF9QT1NUWyJjbG9uZSJdKSYmISRfUE9TVFsic2F2ZSJdKXskX0dFVFsiZWRpdCJdPSRfR0VUWyJzZWxlY3QiXTt9aWYoaXNzZXQoJF9HRVRbImRvd25sb2FkIl0pKXskYj0kX0dFVFsiZG93bmxvYWQiXTtoZWFkZXIoIkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIik7aGVhZGVyKCJDb250ZW50LURpc3Bvc2l0aW9uOiBhdHRhY2htZW50OyBmaWxlbmFtZT0iLmZyaWVuZGx5X3VybCgiJGItIi5pbXBsb2RlKCJfIiwkX0dFVFsid2hlcmUiXSkpLiIuIi5mcmllbmRseV91cmwoJF9HRVRbImZpZWxkIl0pKTtlY2hvJGgtPnJlc3VsdCgiU0VMRUNUIi5saW1pdChpZGZfZXNjYXBlKCRfR0VUWyJmaWVsZCJdKS4iIEZST00gIi50YWJsZSgkYiksIiBXSEVSRSAiLndoZXJlKCRfR0VUKSwxKSk7ZXhpdDt9ZWxzZWlmKGlzc2V0KCRfR0VUWyJlZGl0Il0pKXskYj0kX0dFVFsiZWRpdCJdOyRaPShpc3NldCgkX0dFVFsic2VsZWN0Il0pPyhjb3VudCgkX1BPU1RbImNoZWNrIl0pPT0xP3doZXJlX2NoZWNrKCRfUE9TVFsiY2hlY2siXVswXSk6IiIpOndoZXJlKCRfR0VUKSk7JFpkPShpc3NldCgkX0dFVFsic2VsZWN0Il0pPyRfUE9TVFsiZWRpdCJdOiRaKTskbz1maWVsZHMoJGIpO2ZvcmVhY2goJG8KYXMkQT0+JG4pe2lmKCFpc3NldCgkblsicHJpdmlsZWdlcyJdWyRaZD8idXBkYXRlIjoiaW5zZXJ0Il0pfHwkYy0+ZmllbGROYW1lKCRuKT09IiIpe3Vuc2V0KCRvWyRBXSk7fX1pZigkX1BPU1QmJiEkbSYmIWlzc2V0KCRfR0VUWyJzZWxlY3QiXSkpeyRsYz0kX1BPU1RbInJlZmVyZXIiXTtpZigkX1BPU1RbImluc2VydCJdKXskbGM9KCRaZD9udWxsOiRfU0VSVkVSWyJSRVFVRVNUX1VSSSJdKTt9ZWxzZWlmKCFlcmVnKCdeLismc2VsZWN0PS4rJCcsJGxjKSl7JGxjPU1FLiJzZWxlY3Q9Ii51cmxlbmNvZGUoJGIpO31pZihpc3NldCgkX1BPU1RbImRlbGV0ZSJdKSl7cXVlcnlfcmVkaXJlY3QoIkRFTEVURSIubGltaXQxKCJGUk9NICIudGFibGUoJGIpLCIgV0hFUkUgJFoiKSwkbGMsbGFuZyg1NykpO31lbHNleyROPWFycmF5KCk7Zm9yZWFjaCgkbwphcyRBPT4kbil7JFg9cHJvY2Vzc19pbnB1dCgkbik7aWYoJFghPT1mYWxzZSYmJFghPT1udWxsKXskTltpZGZfZXNjYXBlKCRBKV09KCRaZD8iXG4iLmlkZl9lc2NhcGUoJEEpLiIgPSAkWCI6JFgpO319aWYoJFpkKXtpZighJE4pe3JlZGlyZWN0KCRsYyk7fXF1ZXJ5X3JlZGlyZWN0KCJVUERBVEUiLmxpbWl0MSh0YWJsZSgkYikuIiBTRVQiLmltcGxvZGUoIiwiLCROKSwiXG5XSEVSRSAkWiIpLCRsYyxsYW5nKDU4KSk7fWVsc2V7JEg9aW5zZXJ0X2ludG8oJGIsJE4pOyRoYz0oJEg/bGFzdF9pZCgpOjApO3F1ZXJpZXNfcmVkaXJlY3QoJGxjLGxhbmcoNTksKCRoYz8iICRoYyI6IiIpKSwkSCk7fX19JEVkPSRjLT50YWJsZU5hbWUodGFibGVfc3RhdHVzKCRiKSk7cGFnZV9oZWFkZXIoKCRaZD9sYW5nKDYwKTpsYW5nKDM3KSksJG0sYXJyYXkoInNlbGVjdCI9PmFycmF5KCRiLCRFZCkpLCRFZCk7JEo9bnVsbDtpZigkX1BPU1RbInNhdmUiXSl7JEo9KGFycmF5KSRfUE9TVFsiZmllbGRzIl07fWVsc2VpZigkWil7JEw9YXJyYXkoKTtmb3JlYWNoKCRvCmFzJEE9PiRuKXtpZihpc3NldCgkblsicHJpdmlsZWdlcyJdWyJzZWxlY3QiXSkpeyRMW109KCRfUE9TVFsiY2xvbmUiXSYmJG5bImF1dG9faW5jcmVtZW50Il0/IicnIEFTICI6KGVyZWcoImVudW18c2V0IiwkblsidHlwZSJdKT8iMSoiLmlkZl9lc2NhcGUoJEEpLiIgQVMgIjoiIikpLmlkZl9lc2NhcGUoJEEpO319JEo9YXJyYXkoKTtpZigkTCl7JEs9Z2V0X3Jvd3MoIlNFTEVDVCIubGltaXQoaW1wbG9kZSgiLCAiLCRMKS4iIEZST00gIi50YWJsZSgkYiksIiBXSEVSRSAkWiIsKGlzc2V0KCRfR0VUWyJzZWxlY3QiXSk/MjoxKSkpOyRKPShpc3NldCgkX0dFVFsic2VsZWN0Il0pJiZjb3VudCgkSykhPTE/bnVsbDpyZXNldCgkSykpO319aWYoJEo9PT1mYWxzZSl7ZWNobyI8cCBjbGFzcz0nZXJyb3InPiIubGFuZyg2MSkuIlxuIjt9ZWNobycKPGZvcm0gYWN0aW9uPSIiIG1ldGhvZD0icG9zdCIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgaWQ9ImZvcm0iPgonO2lmKCRvKXtlY2hvIjx0YWJsZSBjZWxsc3BhY2luZz0nMCcgb25rZXlkb3duPSdyZXR1cm4gZWRpdGluZ0tleWRvd24oZXZlbnQpOyc+XG4iO2ZvcmVhY2goJG8KYXMkQT0+JG4pe2VjaG8iPHRyPjx0aD4iLiRjLT5maWVsZE5hbWUoJG4pOyRRYT0kX0dFVFsic2V0Il1bYnJhY2tldF9lc2NhcGUoJEEpXTskWT0oaXNzZXQoJEopPygkSlskQV0hPSIiJiZlcmVnKCJlbnVtfHNldCIsJG5bInR5cGUiXSk/KGlzX2FycmF5KCRKWyRBXSk/YXJyYXlfc3VtKCRKWyRBXSk6KyRKWyRBXSk6JEpbJEFdKTooISRaZCYmJG5bImF1dG9faW5jcmVtZW50Il0/IiI6KGlzc2V0KCRfR0VUWyJzZWxlY3QiXSk/ZmFsc2U6KGlzc2V0KCRRYSk/JFFhOiRuWyJkZWZhdWx0Il0pKSkpO2lmKCEkX1BPU1RbInNhdmUiXSYmaXNfc3RyaW5nKCRZKSl7JFk9JGMtPmVkaXRWYWwoJFksJG4pO30kcT0oJF9QT1NUWyJzYXZlIl0/KHN0cmluZykkX1BPU1RbImZ1bmN0aW9uIl1bJEFdOigkWmQmJiRuWyJvbl91cGRhdGUiXT09IkNVUlJFTlRfVElNRVNUQU1QIj8ibm93IjooJFk9PT1mYWxzZT9udWxsOihpc3NldCgkWSk/Jyc6J05VTEwnKSkpKTtpZigkblsidHlwZSJdPT0idGltZXN0YW1wIiYmJFk9PSJDVVJSRU5UX1RJTUVTVEFNUCIpeyRZPSIiOyRxPSJub3ciO31pbnB1dCgkbiwkWSwkcSk7ZWNobyJcbiI7fWVjaG8iPC90YWJsZT5cbiI7fWVjaG8nPHA+Cic7aWYoJG8pe2VjaG8iPGlucHV0IHR5cGU9J3N1Ym1pdCcgdmFsdWU9JyIubGFuZyg2MikuIic+XG4iO2lmKCFpc3NldCgkX0dFVFsic2VsZWN0Il0pKXtlY2hvIjxpbnB1dCB0eXBlPSdzdWJtaXQnIG5hbWU9J2luc2VydCcgdmFsdWU9JyIuKCRaZD9sYW5nKDYzKTpsYW5nKDY0KSkuIicgdGl0bGU9J0N0cmwrU2hpZnQrRW50ZXInPlxuIjt9fWVjaG8oJFpkPyI8aW5wdXQgdHlwZT0nc3VibWl0JyBuYW1lPSdkZWxldGUnIHZhbHVlPSciLmxhbmcoNjUpLiInIG9uY2xpY2s9XCJyZXR1cm4gY29uZmlybSgnIi5sYW5nKDApLiInKTtcIj5cbiI6KCRfUE9TVHx8ISRvPyIiOiI8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCc+ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Zvcm0nKS5nZXRFbGVtZW50c0J5VGFnTmFtZSgndGQnKVsxXS5maXJzdENoaWxkLmZvY3VzKCk7PC9zY3JpcHQ+XG4iKSk7aWYoaXNzZXQoJF9HRVRbInNlbGVjdCJdKSl7aGlkZGVuX2ZpZWxkcyhhcnJheSgiY2hlY2siPT4oYXJyYXkpJF9QT1NUWyJjaGVjayJdLCJjbG9uZSI9PiRfUE9TVFsiY2xvbmUiXSwiYWxsIj0+JF9QT1NUWyJhbGwiXSkpO31lY2hvJzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InJlZmVyZXIiIHZhbHVlPSInLGgoaXNzZXQoJF9QT1NUWyJyZWZlcmVyIl0pPyRfUE9TVFsicmVmZXJlciJdOiRfU0VSVkVSWyJIVFRQX1JFRkVSRVIiXSksJyI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InNhdmUiIHZhbHVlPSIxIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idG9rZW4iIHZhbHVlPSInLCROZCwnIj4KPC9mb3JtPgonO31lbHNlaWYoaXNzZXQoJF9HRVRbInNlbGVjdCJdKSl7JGI9JF9HRVRbInNlbGVjdCJdOyRRPXRhYmxlX3N0YXR1cygkYik7JHY9aW5kZXhlcygkYik7JG89ZmllbGRzKCRiKTskRGI9Y29sdW1uX2ZvcmVpZ25fa2V5cygkYik7aWYoJFFbIk9pZCJdPT0idCIpeyR2W109YXJyYXkoInR5cGUiPT4iUFJJTUFSWSIsImNvbHVtbnMiPT5hcnJheSgib2lkIikpO31wYXJzZV9zdHIoJF9DT09LSUVbImFkbWluZXJfaW1wb3J0Il0sJGthKTskaGQ9YXJyYXkoKTskZz1hcnJheSgpOyRIZD1udWxsO2ZvcmVhY2goJG8KYXMkdz0+JG4peyRBPSRjLT5maWVsZE5hbWUoJG4pO2lmKGlzc2V0KCRuWyJwcml2aWxlZ2VzIl1bInNlbGVjdCJdKSYmJEEhPSIiKXskZ1skd109aHRtbF9lbnRpdHlfZGVjb2RlKHN0cmlwX3RhZ3MoJEEpKTtpZihlcmVnKCd0ZXh0fGxvYicsJG5bInR5cGUiXSkpeyRIZD0kYy0+c2VsZWN0TGVuZ3RoUHJvY2VzcygpO319JGhkKz0kblsicHJpdmlsZWdlcyJdO31saXN0KCRMLCRKYik9JGMtPnNlbGVjdENvbHVtbnNQcm9jZXNzKCRnLCR2KTskWj0kYy0+c2VsZWN0U2VhcmNoUHJvY2Vzcygkbywkdik7JEtjPSRjLT5zZWxlY3RPcmRlclByb2Nlc3MoJG8sJHYpOyR4PSRjLT5zZWxlY3RMaW1pdFByb2Nlc3MoKTskSGI9KCRMP2ltcGxvZGUoIiwgIiwkTCk6KCRRWyJPaWQiXT09InQiPyJvaWQsICI6IiIpLiIqIikuIlxuRlJPTSAiLnRhYmxlKCRiKTskS2I9KCRKYiYmY291bnQoJEpiKTxjb3VudCgkTCk/IlxuR1JPVVAgQlkgIi5pbXBsb2RlKCIsICIsJEpiKToiIikuKCRLYz8iXG5PUkRFUiBCWSAiLmltcGxvZGUoIiwgIiwkS2MpOiIiKTtpZigkX0dFVFsidmFsIl0mJmlzX2FqYXgoKSl7aGVhZGVyKCJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9dXRmLTgiKTtmb3JlYWNoKCRfR0VUWyJ2YWwiXWFzJFZkPT4kSil7ZWNobyRoLT5yZXN1bHQoIlNFTEVDVCIubGltaXQoaWRmX2VzY2FwZShrZXkoJEopKS4iIEZST00gIi50YWJsZSgkYiksIiBXSEVSRSAiLndoZXJlX2NoZWNrKCRWZCkuKCRaPyIgQU5EICIuaW1wbG9kZSgiIEFORCAiLCRaKToiIikuKCRLYz8iIE9SREVSIEJZICIuaW1wbG9kZSgiLCAiLCRLYyk6IiIpLDEpKTt9ZXhpdDt9aWYoJF9QT1NUJiYhJG0peyRqZT0iKCIuaW1wbG9kZSgiKSBPUiAoIixhcnJheV9tYXAoJ3doZXJlX2NoZWNrJywoYXJyYXkpJF9QT1NUWyJjaGVjayJdKSkuIikiOyRWYz0kWGQ9bnVsbDtmb3JlYWNoKCR2CmFzJHUpe2lmKCR1WyJ0eXBlIl09PSJQUklNQVJZIil7JFZjPWFycmF5X2ZsaXAoJHVbImNvbHVtbnMiXSk7JFhkPSgkTD8kVmM6YXJyYXkoKSk7YnJlYWs7fX1mb3JlYWNoKChhcnJheSkkWGQKYXMkdz0+JFgpe2lmKGluX2FycmF5KGlkZl9lc2NhcGUoJHcpLCRMKSl7dW5zZXQoJFhkWyR3XSk7fX1pZigkX1BPU1RbImV4cG9ydCJdKXtjb29raWUoImFkbWluZXJfaW1wb3J0Iiwib3V0cHV0PSIudXJsZW5jb2RlKCRfUE9TVFsib3V0cHV0Il0pLiImZm9ybWF0PSIudXJsZW5jb2RlKCRfUE9TVFsiZm9ybWF0Il0pKTtkdW1wX2hlYWRlcnMoJGIpOyRjLT5kdW1wVGFibGUoJGIsIiIpO2lmKCFpc19hcnJheSgkX1BPU1RbImNoZWNrIl0pfHwkWGQ9PT1hcnJheSgpKXskaWU9JFo7aWYoaXNfYXJyYXkoJF9QT1NUWyJjaGVjayJdKSl7JGllW109IigkamUpIjt9JEc9IlNFTEVDVCAkSGIiLigkaWU/IlxuV0hFUkUgIi5pbXBsb2RlKCIgQU5EICIsJGllKToiIikuJEtiO31lbHNleyRUZD1hcnJheSgpO2ZvcmVhY2goJF9QT1NUWyJjaGVjayJdYXMkWCl7JFRkW109IihTRUxFQ1QiLmxpbWl0KCRIYiwiXG5XSEVSRSAiLigkWj9pbXBsb2RlKCIgQU5EICIsJFopLiIgQU5EICI6IiIpLndoZXJlX2NoZWNrKCRYKS4kS2IsMSkuIikiO30kRz1pbXBsb2RlKCIgVU5JT04gQUxMICIsJFRkKTt9JGMtPmR1bXBEYXRhKCRiLCJ0YWJsZSIsJEcpO2V4aXQ7fWlmKCEkYy0+c2VsZWN0RW1haWxQcm9jZXNzKCRaLCREYikpe2lmKCRfUE9TVFsic2F2ZSJdfHwkX1BPU1RbImRlbGV0ZSJdKXskSD10cnVlOyRsYT0wOyRHPXRhYmxlKCRiKTskTj1hcnJheSgpO2lmKCEkX1BPU1RbImRlbGV0ZSJdKXtmb3JlYWNoKCRnCmFzJEE9PiRYKXskWD1wcm9jZXNzX2lucHV0KCRvWyRBXSk7aWYoJFghPT1udWxsKXtpZigkX1BPU1RbImNsb25lIl0peyROW2lkZl9lc2NhcGUoJEEpXT0oJFghPT1mYWxzZT8kWDppZGZfZXNjYXBlKCRBKSk7fWVsc2VpZigkWCE9PWZhbHNlKXskTltdPWlkZl9lc2NhcGUoJEEpLiIgPSAkWCI7fX19JEcuPSgkX1BPU1RbImNsb25lIl0/IiAoIi5pbXBsb2RlKCIsICIsYXJyYXlfa2V5cygkTikpLiIpXG5TRUxFQ1QgIi5pbXBsb2RlKCIsICIsJE4pLiJcbkZST00gIi50YWJsZSgkYik6IiBTRVRcbiIuaW1wbG9kZSgiLFxuIiwkTikpO31pZigkX1BPU1RbImRlbGV0ZSJdfHwkTil7JEhhPSJVUERBVEUiO2lmKCRfUE9TVFsiZGVsZXRlIl0peyRIYT0iREVMRVRFIjskRz0iRlJPTSAkRyI7fWlmKCRfUE9TVFsiY2xvbmUiXSl7JEhhPSJJTlNFUlQiOyRHPSJJTlRPICRHIjt9aWYoJF9QT1NUWyJhbGwiXXx8KCRYZD09PWFycmF5KCkmJiRfUE9TVFsiY2hlY2siXSl8fGNvdW50KCRKYik8Y291bnQoJEwpKXskSD1xdWVyaWVzKCRIYS4iICRHIi4oJF9QT1NUWyJhbGwiXT8oJFo/IlxuV0hFUkUgIi5pbXBsb2RlKCIgQU5EICIsJFopOiIiKToiXG5XSEVSRSAkamUiKSk7JGxhPSRoLT5hZmZlY3RlZF9yb3dzO31lbHNle2ZvcmVhY2goKGFycmF5KSRfUE9TVFsiY2hlY2siXWFzJFgpeyRIPXF1ZXJpZXMoJEhhLmxpbWl0MSgkRywiXG5XSEVSRSAiLndoZXJlX2NoZWNrKCRYKSkpO2lmKCEkSCl7YnJlYWs7fSRsYSs9JGgtPmFmZmVjdGVkX3Jvd3M7fX19cXVlcmllc19yZWRpcmVjdChyZW1vdmVfZnJvbV91cmkoInBhZ2UiKSxsYW5nKDY2LCRsYSksJEgpO31lbHNlaWYoISRfUE9TVFsiaW1wb3J0Il0pe2lmKCEkX1BPU1RbInZhbCJdKXskbT1sYW5nKDY3KTt9ZWxzZXskSD10cnVlOyRsYT0wO2ZvcmVhY2goJF9QT1NUWyJ2YWwiXWFzJFZkPT4kSil7JE49YXJyYXkoKTtmb3JlYWNoKCRKCmFzJHc9PiRYKXskdz1icmFja2V0X2VzY2FwZSgkdywxKTskTltdPWlkZl9lc2NhcGUoJHcpLiIgPSAiLihlcmVnKCdjaGFyfHRleHQnLCRvWyR3XVsidHlwZSJdKXx8JFghPSIiPyRjLT5wcm9jZXNzSW5wdXQoJG9bJHddLCRYKToiTlVMTCIpO30kRz10YWJsZSgkYikuIiBTRVQgIi5pbXBsb2RlKCIsICIsJE4pOyRpZT0iIFdIRVJFICIud2hlcmVfY2hlY2soJFZkKS4oJFo/IiBBTkQgIi5pbXBsb2RlKCIgQU5EICIsJFopOiIiKTskSD1xdWVyaWVzKCJVUERBVEUiLihjb3VudCgkSmIpPGNvdW50KCRMKT8iICRHJGllIjpsaW1pdDEoJEcsJGllKSkpO2lmKCEkSCl7YnJlYWs7fSRsYSs9JGgtPmFmZmVjdGVkX3Jvd3M7fXF1ZXJpZXNfcmVkaXJlY3QocmVtb3ZlX2Zyb21fdXJpKCksbGFuZyg2NiwkbGEpLCRIKTt9fWVsc2VpZihpc19zdHJpbmcoJHZiPWdldF9maWxlKCJjc3ZfZmlsZSIsdHJ1ZSkpKXtjb29raWUoImFkbWluZXJfaW1wb3J0Iiwib3V0cHV0PSIudXJsZW5jb2RlKCRrYVsib3V0cHV0Il0pLiImZm9ybWF0PSIudXJsZW5jb2RlKCRfUE9TVFsic2VwYXJhdG9yIl0pKTskSD10cnVlOyRHYT1hcnJheV9rZXlzKCRvKTtwcmVnX21hdGNoX2FsbCgnfig/PiJbXiJdKiJ8W14iXFxyXFxuXSspK34nLCR2YiwkcGMpOyRsYT1jb3VudCgkcGNbMF0pO2JlZ2luKCk7JHBkPSgkX1BPU1RbInNlcGFyYXRvciJdPT0iY3N2Ij8iLCI6KCRfUE9TVFsic2VwYXJhdG9yIl09PSJ0c3YiPyJcdCI6IjsiKSk7Zm9yZWFjaCgkcGNbMF1hcyR3PT4kWCl7cHJlZ19tYXRjaF9hbGwoIn4oKFwiW15cIl0qXCIpK3xbXiRwZF0qKSRwZH4iLCRYLiRwZCwkcWMpO2lmKCEkdyYmIWFycmF5X2RpZmYoJHFjWzFdLCRHYSkpeyRHYT0kcWNbMV07JGxhLS07fWVsc2V7JE49YXJyYXkoKTtmb3JlYWNoKCRxY1sxXWFzJHI9PiRFYSl7JE5baWRmX2VzY2FwZSgkR2FbJHJdKV09KCRFYT09IiImJiRvWyRHYVskcl1dWyJudWxsIl0/Ik5VTEwiOnEoc3RyX3JlcGxhY2UoJyIiJywnIicscHJlZ19yZXBsYWNlKCd+XiJ8IiR+JywnJywkRWEpKSkpO30kSD1pbnNlcnRfdXBkYXRlKCRiLCROLCRWYyk7aWYoISRIKXticmVhazt9fX1pZigkSCl7cXVlcmllcygiQ09NTUlUIik7fXF1ZXJpZXNfcmVkaXJlY3QocmVtb3ZlX2Zyb21fdXJpKCJwYWdlIiksbGFuZyg2OCwkbGEpLCRIKTtxdWVyaWVzKCJST0xMQkFDSyIpO31lbHNleyRtPXVwbG9hZF9lcnJvcigkdmIpO319fSRFZD0kYy0+dGFibGVOYW1lKCRRKTtwYWdlX2hlYWRlcihsYW5nKDMzKS4iOiAkRWQiLCRtKTtzZXNzaW9uX3dyaXRlX2Nsb3NlKCk7JE49bnVsbDtpZihpc3NldCgkaGRbImluc2VydCJdKSl7JE49IiI7Zm9yZWFjaCgoYXJyYXkpJF9HRVRbIndoZXJlIl1hcyRYKXtpZihjb3VudCgkRGJbJFhbImNvbCJdXSk9PTEmJigkWFsib3AiXT09Ij0ifHwoISRYWyJvcCJdJiYhZXJlZygnW18lXScsJFhbInZhbCJdKSkpKXskTi49IiZzZXQiLnVybGVuY29kZSgiWyIuYnJhY2tldF9lc2NhcGUoJFhbImNvbCJdKS4iXSIpLiI9Ii51cmxlbmNvZGUoJFhbInZhbCJdKTt9fX0kYy0+c2VsZWN0TGlua3MoJFEsJE4pO2lmKCEkZyl7ZWNobyI8cCBjbGFzcz0nZXJyb3InPiIubGFuZyg2OSkuKCRvPyIuIjoiOiAiLmVycm9yKCkpLiJcbiI7fWVsc2V7ZWNobyI8Zm9ybSBhY3Rpb249JycgaWQ9J2Zvcm0nPlxuIiwiPGRpdiBzdHlsZT0nZGlzcGxheTogbm9uZTsnPiI7aGlkZGVuX2ZpZWxkc19nZXQoKTtlY2hvKERCIT0iIj8nPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZGIiIHZhbHVlPSInLmgoREIpLiciPicuKGlzc2V0KCRfR0VUWyJucyJdKT8nPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ibnMiIHZhbHVlPSInLmgoJF9HRVRbIm5zIl0pLiciPic6IiIpOiIiKTtlY2hvJzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InNlbGVjdCIgdmFsdWU9IicuaCgkYikuJyI+JywiPC9kaXY+XG4iOyRjLT5zZWxlY3RDb2x1bW5zUHJpbnQoJEwsJGcpOyRjLT5zZWxlY3RTZWFyY2hQcmludCgkWiwkZywkdik7JGMtPnNlbGVjdE9yZGVyUHJpbnQoJEtjLCRnLCR2KTskYy0+c2VsZWN0TGltaXRQcmludCgkeCk7JGMtPnNlbGVjdExlbmd0aFByaW50KCRIZCk7JGMtPnNlbGVjdEFjdGlvblByaW50KCk7ZWNobyI8L2Zvcm0+XG4iOyREPSRfR0VUWyJwYWdlIl07aWYoJEQ9PSJsYXN0Iil7JEZiPSRoLT5yZXN1bHQoIlNFTEVDVCBDT1VOVCgqKSBGUk9NICIudGFibGUoJGIpLigkWj8iIFdIRVJFICIuaW1wbG9kZSgiIEFORCAiLCRaKToiIikpOyREPWZsb29yKG1heCgwLCRGYi0xKS8keCk7fSRHPSJTRUxFQ1QiLmxpbWl0KCgrJHgmJiRKYiYmY291bnQoJEpiKTxjb3VudCgkTCkmJiRiYz09InNxbCI/IlNRTF9DQUxDX0ZPVU5EX1JPV1MgIjoiIikuJEhiLCgkWj8iXG5XSEVSRSAiLmltcGxvZGUoIiBBTkQgIiwkWik6IiIpLiRLYiwoJHghPSIiPyskeDpudWxsKSwoJEQ/JHgqJEQ6MCksIlxuIik7ZWNobyRjLT5zZWxlY3RRdWVyeSgkRyk7JEg9JGgtPnF1ZXJ5KCRHKTtpZighJEgpe2VjaG8iPHAgY2xhc3M9J2Vycm9yJz4iLmVycm9yKCkuIlxuIjt9ZWxzZXtpZigkYmM9PSJtc3NxbCIpeyRILT5zZWVrKCR4KiREKTt9JGViPWFycmF5KCk7ZWNobyI8Zm9ybSBhY3Rpb249JycgbWV0aG9kPSdwb3N0JyBlbmN0eXBlPSdtdWx0aXBhcnQvZm9ybS1kYXRhJz5cbiI7JEs9YXJyYXkoKTt3aGlsZSgkSj0kSC0+ZmV0Y2hfYXNzb2MoKSl7aWYoJEQmJiRiYz09Im9yYWNsZSIpe3Vuc2V0KCRKWyJSTlVNIl0pO30kS1tdPSRKO31pZigkX0dFVFsicGFnZSJdIT0ibGFzdCIpeyRGYj0oKyR4JiYkSmImJmNvdW50KCRKYik8Y291bnQoJEwpPygkYmM9PSJzcWwiPyRoLT5yZXN1bHQoIiBTRUxFQ1QgRk9VTkRfUk9XUygpIik6JGgtPnJlc3VsdCgiU0VMRUNUIENPVU5UKCopIEZST00gKCRHKSB4IikpOmNvdW50KCRLKSk7fWlmKCEkSyl7ZWNobyI8cCBjbGFzcz0nbWVzc2FnZSc+Ii5sYW5nKDYxKS4iXG4iO31lbHNleyR4YT0kYy0+YmFja3dhcmRLZXlzKCRiLCRFZCk7ZWNobyI8dGFibGUgY2VsbHNwYWNpbmc9JzAnIGNsYXNzPSdub3dyYXAgY2hlY2thYmxlJyBvbmNsaWNrPSd0YWJsZUNsaWNrKGV2ZW50KTsnIG9ua2V5ZG93bj0ncmV0dXJuIGVkaXRpbmdLZXlkb3duKGV2ZW50KTsnPlxuIiwiPHRoZWFkPjx0cj4iLighJEpiJiYkTD8iIjoiPHRkPjxpbnB1dCB0eXBlPSdjaGVja2JveCcgaWQ9J2FsbC1wYWdlJyBvbmNsaWNrPSdmb3JtQ2hlY2sodGhpcywgL2NoZWNrLyk7Jz4gPGEgaHJlZj0nIi5oKCRfR0VUWyJtb2RpZnkiXT9yZW1vdmVfZnJvbV91cmkoIm1vZGlmeSIpOiRfU0VSVkVSWyJSRVFVRVNUX1VSSSJdLiImbW9kaWZ5PTEiKS4iJz4iLmxhbmcoNzApLiI8L2E+Iik7JF9jPWFycmF5KCk7JEliPWFycmF5KCk7cmVzZXQoJEwpOyRiZD0xO2ZvcmVhY2goJEtbMF1hcyR3PT4kWCl7aWYoJFFbIk9pZCJdIT0idCJ8fCR3IT0ib2lkIil7JFg9JF9HRVRbImNvbHVtbnMiXVtrZXkoJEwpXTskbj0kb1skTD8oJFg/JFhbImNvbCJdOmN1cnJlbnQoJEwpKTokd107JEE9KCRuPyRjLT5maWVsZE5hbWUoJG4sJGJkKToiKiIpO2lmKCRBIT0iIil7JGJkKys7JF9jWyR3XT0kQTskZj1pZGZfZXNjYXBlKCR3KTtlY2hvJzx0aD48YSBocmVmPSInLmgocmVtb3ZlX2Zyb21fdXJpKCcob3JkZXJ8ZGVzYylbXj1dKnxwYWdlJykuJyZvcmRlciU1QjAlNUQ9Jy51cmxlbmNvZGUoJHcpLigkS2NbMF09PSRmfHwkS2NbMF09PSR3fHwoISRLYyYmY291bnQoJEpiKTxjb3VudCgkTCkmJiRKYlswXT09JGYpPycmZGVzYyU1QjAlNUQ9MSc6JycpKS4nIj4nLighJEx8fCRYP2FwcGx5X3NxbF9mdW5jdGlvbigkWFsiZnVuIl0sJEEpOmgoY3VycmVudCgkTCkpKS4iPC9hPiI7fSRJYlskd109JFhbImZ1biJdO25leHQoJEwpO319JGtjPWFycmF5KCk7aWYoJF9HRVRbIm1vZGlmeSJdKXtmb3JlYWNoKCRLCmFzJEope2ZvcmVhY2goJEoKYXMkdz0+JFgpeyRrY1skd109bWF4KCRrY1skd10sbWluKDQwLHN0cmxlbih1dGY4X2RlY29kZSgkWCkpKSk7fX19ZWNobygkeGE/Ijx0aD4iLmxhbmcoNzEpOiIiKS4iPC90aGVhZD5cbiI7Zm9yZWFjaCgkYy0+cm93RGVzY3JpcHRpb25zKCRLLCREYilhcyRfPT4kSil7JFVkPXVuaXF1ZV9hcnJheSgkS1skX10sJHYpOyRWZD0iIjtmb3JlYWNoKCRVZAphcyR3PT4kWCl7JFZkLj0iJiIuKGlzc2V0KCRYKT91cmxlbmNvZGUoIndoZXJlWyIuYnJhY2tldF9lc2NhcGUoJHcpLiJdIikuIj0iLnVybGVuY29kZSgkWCk6Im51bGwlNUIlNUQ9Ii51cmxlbmNvZGUoJHcpKTt9ZWNobyI8dHIiLm9kZCgpLiI+Ii4oISRKYiYmJEw/IiI6Ijx0ZD4iLmNoZWNrYm94KCJjaGVja1tdIixzdWJzdHIoJFZkLDEpLGluX2FycmF5KHN1YnN0cigkVmQsMSksKGFycmF5KSRfUE9TVFsiY2hlY2siXSksIiIsInRoaXMuZm9ybVsnYWxsJ10uY2hlY2tlZCA9IGZhbHNlOyBmb3JtVW5jaGVjaygnYWxsLXBhZ2UnKTsiKS4oY291bnQoJEpiKTxjb3VudCgkTCl8fGluZm9ybWF0aW9uX3NjaGVtYShEQik/IiI6IiA8YSBocmVmPSciLmgoTUUuImVkaXQ9Ii51cmxlbmNvZGUoJGIpLiRWZCkuIic+Ii5sYW5nKDcwKS4iPC9hPiIpKTtmb3JlYWNoKCRKCmFzJHc9PiRYKXtpZihpc3NldCgkX2NbJHddKSl7JG49JG9bJHddO2lmKCRYIT0iIiYmKCFpc3NldCgkZWJbJHddKXx8JGViWyR3XSE9IiIpKXskZWJbJHddPShpc19tYWlsKCRYKT8kX2NbJHddOiIiKTt9JHk9IiI7JFg9JGMtPmVkaXRWYWwoJFgsJG4pO2lmKCFpc3NldCgkWCkpeyRYPSI8aT5OVUxMPC9pPiI7fWVsc2V7aWYoZXJlZygnYmxvYnxieXRlYXxyYXd8ZmlsZScsJG5bInR5cGUiXSkmJiRYIT0iIil7JHk9aChNRS4nZG93bmxvYWQ9Jy51cmxlbmNvZGUoJGIpLicmZmllbGQ9Jy51cmxlbmNvZGUoJHcpLiRWZCk7fWlmKCRYPT09IiIpeyRYPSImbmJzcDsiO31lbHNlaWYoJEhkIT0iIiYmZXJlZygndGV4dHxibG9iJywkblsidHlwZSJdKSYmaXNfdXRmOCgkWCkpeyRYPXNob3J0ZW5fdXRmOCgkWCxtYXgoMCwrJEhkKSk7fWVsc2V7JFg9aCgkWCk7fWlmKCEkeSl7Zm9yZWFjaCgoYXJyYXkpJERiWyR3XWFzJHApe2lmKGNvdW50KCREYlskd10pPT0xfHxlbmQoJHBbInNvdXJjZSJdKT09JHcpeyR5PSIiO2ZvcmVhY2goJHBbInNvdXJjZSJdYXMkcj0+JHNkKXskeS49d2hlcmVfbGluaygkciwkcFsidGFyZ2V0Il1bJHJdLCRLWyRfXVskc2RdKTt9JHk9aCgoJHBbImRiIl0hPSIiP3ByZWdfcmVwbGFjZSgnfihbPyZdZGI9KVteJl0rficsJ1xcMScudXJsZW5jb2RlKCRwWyJkYiJdKSxNRSk6TUUpLidzZWxlY3Q9Jy51cmxlbmNvZGUoJHBbInRhYmxlIl0pLiR5KTtpZihjb3VudCgkcFsic291cmNlIl0pPT0xKXticmVhazt9fX19aWYoJHc9PSJDT1VOVCgqKSIpeyR5PWgoTUUuInNlbGVjdD0iLnVybGVuY29kZSgkYikpOyRyPTA7Zm9yZWFjaCgoYXJyYXkpJF9HRVRbIndoZXJlIl1hcyRXKXtpZighYXJyYXlfa2V5X2V4aXN0cygkV1siY29sIl0sJFVkKSl7JHkuPWgod2hlcmVfbGluaygkcisrLCRXWyJjb2wiXSwkV1sidmFsIl0sJFdbIm9wIl0pKTt9fWZvcmVhY2goJFVkCmFzJGNjPT4kVyl7JHkuPWgod2hlcmVfbGluaygkcisrLCRjYywkVykpO319fWlmKCEkeSl7aWYoaXNfbWFpbCgkWCkpeyR5PSJtYWlsdG86JFgiO31pZigkWWM9aXNfdXJsKCRKWyR3XSkpeyR5PSgkWWM9PSJodHRwIiYmJGFhPyRKWyR3XToiJFljOi8vd3d3LmFkbWluZXIub3JnL3JlZGlyZWN0Lz91cmw9Ii51cmxlbmNvZGUoJEpbJHddKSk7fX0kcz1oKCJ2YWxbJFZkXVsiLmJyYWNrZXRfZXNjYXBlKCR3KS4iXSIpOyRZPSRfUE9TVFsidmFsIl1bJFZkXVticmFja2V0X2VzY2FwZSgkdyldOyRNYj1oKGlzc2V0KCRZKT8kWTokSlskd10pOyRuYz1zdHJwb3MoJFgsIjxpPi4uLjwvaT4iKTskYmI9aXNfdXRmOCgkWCkmJiRLWyRfXVskd109PSRKWyR3XSYmISRJYlskd107JEdkPWVyZWcoJ3RleHR8bG9iJywkblsidHlwZSJdKTtlY2hvKCgkX0dFVFsibW9kaWZ5Il0mJiRiYil8fGlzc2V0KCRZKT8iPHRkPiIuKCRHZD8iPHRleHRhcmVhIG5hbWU9JyRzJyBjb2xzPSczMCcgcm93cz0nIi4oc3Vic3RyX2NvdW50KCRKWyR3XSwiXG4iKSsxKS4iJz4kTWI8L3RleHRhcmVhPiI6IjxpbnB1dCBuYW1lPSckcycgdmFsdWU9JyRNYicgc2l6ZT0nJGtjWyR3XSc+Iik6Ijx0ZCBpZD0nJHMnIG9uZGJsY2xpY2s9XCIiLigkYmI/InNlbGVjdERibENsaWNrKHRoaXMsIGV2ZW50Ii4oJG5jPyIsIDIiOigkR2Q/IiwgMSI6IiIpKS4iKSI6ImFsZXJ0KCciLmgobGFuZyg3MikpLiInKSIpLiI7XCI+Ii4kYy0+c2VsZWN0VmFsKCRYLCR5LCRuKSk7fX1pZigkeGEpe2VjaG8iPHRkPiI7fSRjLT5iYWNrd2FyZEtleXNQcmludCgkeGEsJEtbJF9dKTtlY2hvIjwvdHI+XG4iO31lY2hvIjwvdGFibGU+XG4iLCghJEpiJiYkTD8iIjoiPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPnRhYmxlQ2hlY2soKTs8L3NjcmlwdD5cbiIpO31pZigkS3x8JEQpeyRtYj10cnVlO2lmKCRfR0VUWyJwYWdlIl0hPSJsYXN0IiYmKyR4JiZjb3VudCgkSmIpPj1jb3VudCgkTCkmJigkRmI+PSR4fHwkRCkpeyRGYj1mb3VuZF9yb3dzKCRRLCRaKTtpZigkRmI8bWF4KDFlNCwyKigkRCsxKSokeCkpe29iX2ZsdXNoKCk7Zmx1c2goKTskRmI9JGgtPnJlc3VsdCgiU0VMRUNUIENPVU5UKCopIEZST00gIi50YWJsZSgkYikuKCRaPyIgV0hFUkUgIi5pbXBsb2RlKCIgQU5EICIsJFopOiIiKSk7fWVsc2V7JG1iPWZhbHNlO319ZWNobyI8cCBjbGFzcz0ncGFnZXMnPiI7aWYoKyR4JiYkRmI+JHgpeyRyYz1mbG9vcigoJEZiLTEpLyR4KTtlY2hvJzxhIGhyZWY9IicuaChyZW1vdmVfZnJvbV91cmkoInBhZ2UiKSkuIlwiIG9uY2xpY2s9XCJwYWdlQ2xpY2sodGhpcy5ocmVmLCArcHJvbXB0KCciLmxhbmcoNzMpLiInLCAnIi4oJEQrMSkuIicpLCBldmVudCk7IHJldHVybiBmYWxzZTtcIj4iLmxhbmcoNzMpLiI8L2E+OiIscGFnaW5hdGlvbigwLCREKS4oJEQ+NT8iIC4uLiI6IiIpO2Zvcigkcj1tYXgoMSwkRC00KTskcjxtaW4oJHJjLCREKzUpOyRyKyspe2VjaG8KcGFnaW5hdGlvbigkciwkRCk7fWVjaG8oJEQrNTwkcmM/IiAuLi4iOiIiKS4oJG1iP3BhZ2luYXRpb24oJHJjLCREKTonIDxhIGhyZWY9IicuaChyZW1vdmVfZnJvbV91cmkoKS4iJnBhZ2U9bGFzdCIpLiciPicubGFuZyg3NCkuIjwvYT4iKTt9ZWNobyIgKCIuKCRtYj8iIjoifiAiKS5sYW5nKDc1LCRGYikuIikgIi5jaGVja2JveCgiYWxsIiwxLDAsbGFuZyg3NikpLiJcbiI7aWYoJGMtPnNlbGVjdENvbW1hbmRQcmludCgpKXtlY2hvJzxmaWVsZHNldD48bGVnZW5kPicsbGFuZyg2MCksJzwvbGVnZW5kPjxkaXY+CjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSInLGxhbmcoNjIpLCciJywoJF9HRVRbIm1vZGlmeSJdPycnOicgdGl0bGU9IicubGFuZyg2NykuJyIgY2xhc3M9Impzb25seSInKSwnPgo8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJlZGl0IiB2YWx1ZT0iJyxsYW5nKDYwKSwnIj4KPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0iY2xvbmUiIHZhbHVlPSInLGxhbmcoNzcpLCciPgo8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJkZWxldGUiIHZhbHVlPSInLGxhbmcoNjUpLCciIG9uY2xpY2s9InJldHVybiBjb25maXJtKFwnJyxsYW5nKDApOz8+ICgnICsgKHRoaXMuZm9ybVsnYWxsJ10uY2hlY2tlZCA/IDw/cGhwIGVjaG8kRmIsJyA6IGZvcm1DaGVja2VkKHRoaXMsIC9jaGVjay8pKSArIFwnKVwnKTsiPgo8L2Rpdj48L2ZpZWxkc2V0PgonO31wcmludF9maWVsZHNldCgiZXhwb3J0IixsYW5nKDc4KSk7JE1jPSRjLT5kdW1wT3V0cHV0KCk7ZWNobygkTWM/aHRtbF9zZWxlY3QoIm91dHB1dCIsJE1jLCRrYVsib3V0cHV0Il0pLiIgIjoiIiksaHRtbF9zZWxlY3QoImZvcm1hdCIsJGMtPmR1bXBGb3JtYXQoKSwka2FbImZvcm1hdCJdKSwiIDxpbnB1dCB0eXBlPSdzdWJtaXQnIG5hbWU9J2V4cG9ydCcgdmFsdWU9JyIubGFuZyg3OCkuIicgb25jbGljaz0nZXZlbnRTdG9wKGV2ZW50KTsnPlxuIiwiPC9kaXY+PC9maWVsZHNldD5cbiI7fWlmKCRjLT5zZWxlY3RJbXBvcnRQcmludCgpKXtwcmludF9maWVsZHNldCgiaW1wb3J0IixsYW5nKDc5KSwhJEspO2VjaG8iPGlucHV0IHR5cGU9J2ZpbGUnIG5hbWU9J2Nzdl9maWxlJz4gIixodG1sX3NlbGVjdCgic2VwYXJhdG9yIixhcnJheSgiY3N2Ij0+IkNTViwiLCJjc3Y7Ij0+IkNTVjsiLCJ0c3YiPT4iVFNWIiksJGthWyJmb3JtYXQiXSwxKTtlY2hvIiA8aW5wdXQgdHlwZT0nc3VibWl0JyBuYW1lPSdpbXBvcnQnIHZhbHVlPSciLmxhbmcoNzkpLiInPiIsIjxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J3Rva2VuJyB2YWx1ZT0nJE5kJz5cbiIsIjwvZGl2PjwvZmllbGRzZXQ+XG4iO30kYy0+c2VsZWN0RW1haWxQcmludChhcnJheV9maWx0ZXIoJGViLCdzdHJsZW4nKSwkZyk7ZWNobyI8L2Zvcm0+XG4iO319fWVsc2VpZihpc3NldCgkX0dFVFsic2NyaXB0Il0pKXtpZihsaXN0KCRQLCRzLCRBKT0kYy0+X2ZvcmVpZ25Db2x1bW4oY29sdW1uX2ZvcmVpZ25fa2V5cygkX0dFVFsic291cmNlIl0pLCRfR0VUWyJmaWVsZCJdKSl7JEg9JGgtPnF1ZXJ5KCJTRUxFQ1QgJHMsICRBIEZST00gIi50YWJsZSgkUCkuIiBXSEVSRSAiLihlcmVnKCdeWzAtOV0rJCcsJF9HRVRbInZhbHVlIl0pPyIkcyA9ICRfR0VUW3ZhbHVlXSBPUiAiOiIiKS4iJEEgTElLRSAiLnEoIiRfR0VUW3ZhbHVlXSUiKS4iIE9SREVSIEJZIDIgTElNSVQgMTEiKTtmb3IoJHI9MDskcjwxMCYmKCRKPSRILT5mZXRjaF9yb3coKSk7JHIrKyl7ZWNobyI8YSBocmVmPSciLmgoTUUuImVkaXQ9Ii51cmxlbmNvZGUoJFApLiImd2hlcmUiLnVybGVuY29kZSgiWyIuYnJhY2tldF9lc2NhcGUoaWRmX3VuZXNjYXBlKCRzKSkuIl0iKS4iPSIudXJsZW5jb2RlKCRKWzBdKSkuIic+Ii5oKCRKWzFdKS4iPC9hPjxicj5cbiI7fWlmKCRyPT0xMCl7ZWNobyIuLi5cbiI7fX1leGl0O31lbHNle3BhZ2VfaGVhZGVyKGxhbmcoNDgpLCIiLGZhbHNlKTtpZigkYy0+aG9tZXBhZ2UoKSl7ZWNobyI8Zm9ybSBhY3Rpb249JycgbWV0aG9kPSdwb3N0Jz5cbiIsIjxwPiIubGFuZyg4MCkuIjogPGlucHV0IG5hbWU9J3F1ZXJ5JyB2YWx1ZT0nIi5oKCRfUE9TVFsicXVlcnkiXSkuIic+IDxpbnB1dCB0eXBlPSdzdWJtaXQnIHZhbHVlPSciLmxhbmcoMjgpLiInPlxuIjtpZigkX1BPU1RbInF1ZXJ5Il0hPSIiKXtzZWFyY2hfdGFibGVzKCk7fWVjaG8iPHRhYmxlIGNlbGxzcGFjaW5nPScwJyBjbGFzcz0nbm93cmFwIGNoZWNrYWJsZScgb25jbGljaz0ndGFibGVDbGljayhldmVudCk7Jz5cbiIsJzx0aGVhZD48dHIgY2xhc3M9IndyYXAiPjx0ZD48aW5wdXQgaWQ9ImNoZWNrLWFsbCIgdHlwZT0iY2hlY2tib3giIG9uY2xpY2s9ImZvcm1DaGVjayh0aGlzLCAvXnRhYmxlc1xbLyk7Ij48dGg+Jy5sYW5nKDgxKS4nPHRkPicubGFuZyg4MikuIjwvdGhlYWQ+XG4iO2ZvcmVhY2godGFibGVfc3RhdHVzKClhcyRQPT4kSil7JEE9JGMtPnRhYmxlTmFtZSgkSik7aWYoaXNzZXQoJEpbIkVuZ2luZSJdKSYmJEEhPSIiKXtlY2hvJzx0cicub2RkKCkuJz48dGQ+Jy5jaGVja2JveCgidGFibGVzW10iLCRQLGluX2FycmF5KCRQLChhcnJheSkkX1BPU1RbInRhYmxlcyJdLHRydWUpLCIiLCJmb3JtVW5jaGVjaygnY2hlY2stYWxsJyk7IiksIjx0aD48YSBocmVmPSciLmgoTUUpLidzZWxlY3Q9Jy51cmxlbmNvZGUoJFApLiInPiRBPC9hPiI7JFg9bnVtYmVyX2Zvcm1hdCgkSlsiUm93cyJdLDAsJy4nLGxhbmcoODMpKTtlY2hvIjx0ZCBhbGlnbj0ncmlnaHQnPjxhIGhyZWY9JyIuaChNRS4iZWRpdD0iKS51cmxlbmNvZGUoJFApLiInPiIuKCRKWyJFbmdpbmUiXT09Iklubm9EQiImJiRYPyJ+ICRYIjokWCkuIjwvYT4iO319ZWNobyI8L3RhYmxlPlxuIiwiPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPnRhYmxlQ2hlY2soKTs8L3NjcmlwdD5cbiIsIjwvZm9ybT5cbiI7fX1wYWdlX2Zvb3RlcigpOw==]]></data>
	</file>
	<file>
	  <filename>/adminer/plugins/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/adminer/plugins/AdminerFrames.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKiBBbGxvdyB1c2luZyBBZG1pbmVyIGluc2lkZSBhIGZyYW1lIChkaXNhYmxlcyBDbGlja0phY2tpbmcgcHJvdGVjdGlvbikKICogQGF1dGhvciBKYWt1YiBWcmFuYSwgaHR0cDovL3d3dy52cmFuYS5jei8KICogQGxpY2Vuc2UgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAogKiBAbGljZW5zZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLTIuMC5odG1sIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLCB2ZXJzaW9uIDIgKG9uZSBvciBvdGhlcikKICovCmNsYXNzIEFkbWluZXJGcmFtZXMgewogICAgdmFyICRzYW1lT3JpZ2luOwoKICAgIC8qKgogICAgICogQHBhcmFtIGJvb2wgYWxsb3cgcnVubmluZyBmcm9tIHRoZSBzYW1lIG9yaWdpbiBvbmx5CiAgICAgKi8KICAgIGZ1bmN0aW9uIEFkbWluZXJGcmFtZXMoJHNhbWVPcmlnaW4gPSBmYWxzZSkgewogICAgICAgICR0aGlzLT5zYW1lT3JpZ2luID0gJHNhbWVPcmlnaW47CiAgICB9CgogICAgZnVuY3Rpb24gaGVhZGVycygpIHsKICAgICAgICBpZiAoJHRoaXMtPnNhbWVPcmlnaW4pIHsKICAgICAgICAgICAgaGVhZGVyKCJYLUZyYW1lLU9wdGlvbnM6IFNhbWVPcmlnaW4iKTsKICAgICAgICB9CiAgICAgICAgaGVhZGVyKCJYLVhTUy1Qcm90ZWN0aW9uOiAwIik7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQoKfQ==]]></data>
	</file>
	<file>
	  <filename>/adminer/plugins/dump-xml.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKiBEdW1wIHRvIFhNTCBmb3JtYXQgaW4gc3RydWN0dXJlIDxkYXRhYmFzZSBuYW1lPSIiPjx0YWJsZSBuYW1lPSIiPjxjb2x1bW4gbmFtZT0iIj52YWx1ZQoqIEBhdXRob3IgSmFrdWIgVnJhbmEsIGh0dHA6Ly93d3cudnJhbmEuY3ovCiogQGxpY2Vuc2UgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAoqIEBsaWNlbnNlIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMi4wLmh0bWwgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIHZlcnNpb24gMiAob25lIG9yIG90aGVyKQoqLwpjbGFzcyBBZG1pbmVyRHVtcFhtbCB7CgkKCWZ1bmN0aW9uIGR1bXBGb3JtYXQoKSB7CgkJcmV0dXJuIGFycmF5KCd4bWwnID0+ICdYTUwnKTsKCX0KCglmdW5jdGlvbiBkdW1wVGFibGUoJHRhYmxlLCAkc3R5bGUsICRpc192aWV3ID0gZmFsc2UpIHsKCQlpZiAoJF9QT1NUWyJmb3JtYXQiXSA9PSAieG1sIikgewoJCQlyZXR1cm4gdHJ1ZTsKCQl9Cgl9CgkKCWZ1bmN0aW9uIF9kYXRhYmFzZSgpIHsKCQllY2hvICI8L2RhdGFiYXNlPlxuIjsKCX0KCQoJZnVuY3Rpb24gZHVtcERhdGEoJHRhYmxlLCAkc3R5bGUsICRxdWVyeSkgewoJCXN0YXRpYyAkZGF0YWJhc2UgPSBmYWxzZTsKCQlpZiAoJF9QT1NUWyJmb3JtYXQiXSA9PSAieG1sIikgewoJCQlpZiAoISRkYXRhYmFzZSkgewoJCQkJJGRhdGFiYXNlID0gdHJ1ZTsKCQkJCWVjaG8gIjxkYXRhYmFzZSBuYW1lPSciIC4gaChEQikgLiAiJz5cbiI7CgkJCQlyZWdpc3Rlcl9zaHV0ZG93bl9mdW5jdGlvbihhcnJheSgkdGhpcywgJ19kYXRhYmFzZScpKTsKCQkJfQoJCQkkY29ubmVjdGlvbiA9IGNvbm5lY3Rpb24oKTsKCQkJJHJlc3VsdCA9ICRjb25uZWN0aW9uLT5xdWVyeSgkcXVlcnksIDEpOwoJCQlpZiAoJHJlc3VsdCkgewoJCQkJd2hpbGUgKCRyb3cgPSAkcmVzdWx0LT5mZXRjaF9hc3NvYygpKSB7CgkJCQkJZWNobyAiXHQ8dGFibGUgbmFtZT0nIiAuIGgoJHRhYmxlKSAuICInPlxuIjsKCQkJCQlmb3JlYWNoICgkcm93IGFzICRrZXkgPT4gJHZhbCkgewoJCQkJCQllY2hvICJcdFx0PGNvbHVtbiBuYW1lPSciIC4gaCgka2V5KSAuICInPiIgLiBoKCR2YWwpIC4gIjwvY29sdW1uPlxuIjsKCQkJCQl9CgkJCQkJZWNobyAiXHQ8L3RhYmxlPlxuIjsKCQkJCX0KCQkJfQoJCQlyZXR1cm4gdHJ1ZTsKCQl9Cgl9CgoJZnVuY3Rpb24gZHVtcEhlYWRlcnMoJGlkZW50aWZpZXIsICRtdWx0aV90YWJsZSA9IGZhbHNlKSB7CgkJaWYgKCRfUE9TVFsiZm9ybWF0Il0gPT0gInhtbCIpIHsKCQkJaGVhZGVyKCJDb250ZW50LVR5cGU6IHRleHQveG1sOyBjaGFyc2V0PXV0Zi04Iik7CgkJCXJldHVybiAieG1sIjsKCQl9Cgl9Cgp9Cg==]]></data>
	</file>
	<file>
	  <filename>/adminer/plugins/dump-zip.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKiBEdW1wIHRvIFpJUCBmb3JtYXQKKiBAdXNlcyBaaXBBcmNoaXZlLCB0ZW1wbmFtKCIiKQoqIEBhdXRob3IgSmFrdWIgVnJhbmEsIGh0dHA6Ly93d3cudnJhbmEuY3ovCiogQGxpY2Vuc2UgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAoqIEBsaWNlbnNlIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMi4wLmh0bWwgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIHZlcnNpb24gMiAob25lIG9yIG90aGVyKQoqLwpjbGFzcyBBZG1pbmVyRHVtcFppcCB7CgkvKiogQHZhciBzdHJpbmcgQGFjY2VzcyBwcm90ZWN0ZWQgKi8KCXZhciAkZmlsZW5hbWU7CgkKCWZ1bmN0aW9uIGR1bXBPdXRwdXQoKSB7CgkJaWYgKCFjbGFzc19leGlzdHMoJ1ppcEFyY2hpdmUnKSkgewoJCQlyZXR1cm4gYXJyYXkoKTsKCQl9CgkJcmV0dXJuIGFycmF5KCd6aXAnID0+ICdaSVAnKTsKCX0KCQoJZnVuY3Rpb24gX3ppcCgkc3RyaW5nLCAkc3RhdGUpIHsKCQlzdGF0aWMgJGRhdGEgPSAiIjsKCQkkZGF0YSAuPSAkc3RyaW5nOwoJCWlmICgkc3RhdGUgJiBQSFBfT1VUUFVUX0hBTkRMRVJfRU5EKSB7CgkJCSR6aXAgPSBuZXcgWmlwQXJjaGl2ZTsKCQkJJHppcEZpbGUgPSB0ZW1wbmFtKCIiLCAiemlwIik7CgkJCSR6aXAtPm9wZW4oJHppcEZpbGUsIFppcEFyY2hpdmU6Ok9WRVJXUklURSk7IC8vIHBocDovL291dHB1dCBpcyBub3Qgc3VwcG9ydGVkCgkJCSR6aXAtPmFkZEZyb21TdHJpbmcoJHRoaXMtPmZpbGVuYW1lLCAkZGF0YSk7CgkJCSR6aXAtPmNsb3NlKCk7CgkJCSRyZXR1cm4gPSBmaWxlX2dldF9jb250ZW50cygkemlwRmlsZSk7CgkJCXVubGluaygkemlwRmlsZSk7CgkJCXJldHVybiAkcmV0dXJuOwoJCX0KCQlyZXR1cm4gIiI7Cgl9CgkKCWZ1bmN0aW9uIGR1bXBIZWFkZXJzKCRpZGVudGlmaWVyLCAkbXVsdGlfdGFibGUgPSBmYWxzZSkgewoJCSR0aGlzLT5maWxlbmFtZSA9ICIkaWRlbnRpZmllci4iIC4gKCRtdWx0aV90YWJsZSAmJiBlcmVnKCJbY3Rdc3YiLCAkX1BPU1RbImZvcm1hdCJdKSA/ICJ0YXIiIDogJF9QT1NUWyJmb3JtYXQiXSk7CgkJaWYgKCRfUE9TVFsib3V0cHV0Il0gPT0gInppcCIpIHsKCQkJaGVhZGVyKCJDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3ppcCIpOwoJCX0KCQlvYl9zdGFydChhcnJheSgkdGhpcywgJ196aXAnKSk7Cgl9Cgp9Cg==]]></data>
	</file>
	<file>
	  <filename>/adminer/plugins/edit-calendar.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKiBEaXNwbGF5IGpRdWVyeSBVSSBUaW1lcGlja2VyIGZvciBlYWNoIGRhdGUgYW5kIGRhdGV0aW1lIGZpZWxkCiogQHVzZXMgalF1ZXJ5LVRpbWVwaWNrZXIsIGh0dHA6Ly90cmVudHJpY2hhcmRzb24uY29tL2V4YW1wbGVzL3RpbWVwaWNrZXIvCiogQHVzZXMgalF1ZXJ5IFVJOiBjb3JlLCB3aWRnZXQsIG1vdXNlLCBzbGlkZXIsIGRhdGVwaWNrZXIKKiBAYXV0aG9yIEpha3ViIFZyYW5hLCBodHRwOi8vd3d3LnZyYW5hLmN6LwoqIEBsaWNlbnNlIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMCBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKiBAbGljZW5zZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLTIuMC5odG1sIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLCB2ZXJzaW9uIDIgKG9uZSBvciBvdGhlcikKKi8KY2xhc3MgQWRtaW5lckVkaXRDYWxlbmRhciB7CgkvKiogQHZhciBzdHJpbmcgQGFjY2VzcyBwcm90ZWN0ZWQgKi8KCXZhciAkcHJlcGVuZCwgJGxhbmdQYXRoOwoKCS8qKgoJKiBAcGFyYW0gc3RyaW5nIHRleHQgdG8gYXBwZW5kIGJlZm9yZSBmaXJzdCBjYWxlbmRhciB1c2FnZQoJKiBAcGFyYW0gc3RyaW5nIHBhdGggdG8gbGFuZ3VhZ2UgZmlsZSwgJXMgc3RhbmRzIGZvciBsYW5ndWFnZSBjb2RlCgkqLwoJZnVuY3Rpb24gQWRtaW5lckVkaXRDYWxlbmRhcigkcHJlcGVuZCA9ICI8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdzdHlsZS9qcXVlcnktdWkvanF1ZXJ5LmpzJz48L3NjcmlwdD5cbjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J3N0eWxlL2pxdWVyeS11aS9qcXVlcnktdWkuanMnPjwvc2NyaXB0PlxuPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0nc3R5bGUvanF1ZXJ5LXVpL2pxdWVyeS11aS10aW1lcGlja2VyLWFkZG9uLmpzJz48L3NjcmlwdD5cbjxsaW5rIHJlbD0nc3R5bGVzaGVldCcgdHlwZT0ndGV4dC9jc3MnIGhyZWY9J3N0eWxlL2pxdWVyeS11aS9qcXVlcnktdWkuY3NzJz5cbjxsaW5rIHJlbD0nc3R5bGVzaGVldCcgdHlwZT0ndGV4dC9jc3MnIGhyZWY9J3N0eWxlL2pxdWVyeS11aS9qcXVlcnktdWktdGltZXBpY2tlci1hZGRvbi5jc3MnPlxuIiwgJGxhbmdQYXRoID0gInN0eWxlL2pxdWVyeS11aS9pMThuL2pxdWVyeS51aS5kYXRlcGlja2VyLSVzLmpzIikgewoJCSR0aGlzLT5wcmVwZW5kID0gJHByZXBlbmQ7CgkJJHRoaXMtPmxhbmdQYXRoID0gJGxhbmdQYXRoOwoJfQoKCWZ1bmN0aW9uIGhlYWQoKSB7CgkJZWNobyAkdGhpcy0+cHJlcGVuZDsKCQlpZiAoJHRoaXMtPmxhbmdQYXRoICYmIGZ1bmN0aW9uX2V4aXN0cygnZ2V0X2xhbmcnKSkgeyAvLyBzaW5jZSBBZG1pbmVyIDMuMi4wCgkJCSRsYW5nID0gZ2V0X2xhbmcoKTsKCQkJJGxhbmcgPSAoJGxhbmcgPT0gInpoIiA/ICJ6aC1DTiIgOiAoJGxhbmcgPT0gInpoLXR3IiA/ICJ6aC1UVyIgOiAkbGFuZykpOwoJCQlpZiAoJGxhbmcgIT0gImVuIiAmJiBmaWxlX2V4aXN0cyhzcHJpbnRmKCR0aGlzLT5sYW5nUGF0aCwgJGxhbmcpKSkgewoJCQkJcHJpbnRmKCI8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSckdGhpcy0+bGFuZ1BhdGgnPjwvc2NyaXB0PlxuIiwgJGxhbmcpOwoJCQkJZWNobyAiPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPmpRdWVyeShmdW5jdGlvbiAoKSB7IGpRdWVyeS50aW1lcGlja2VyLnNldERlZmF1bHRzKGpRdWVyeS5kYXRlcGlja2VyLnJlZ2lvbmFsWyckbGFuZyddKTsgfSk7PC9zY3JpcHQ+XG4iOwoJCQl9CgkJfQoJfQoKCWZ1bmN0aW9uIGVkaXRJbnB1dCgkdGFibGUsICRmaWVsZCwgJGF0dHJzLCAkdmFsdWUpIHsKCQlpZiAoZXJlZygiZGF0ZXx0aW1lIiwgJGZpZWxkWyJ0eXBlIl0pKSB7CgkJCSRkYXRlRm9ybWF0ID0gImNoYW5nZVllYXI6IHRydWUsIGRhdGVGb3JtYXQ6ICd5eS1tbS1kZCciOyAvLyEgeXktbW0tZGQgcmVnaW9uYWwKCQkJJHRpbWVGb3JtYXQgPSAic2hvd1NlY29uZDogdHJ1ZSwgdGltZUZvcm1hdDogJ2hoOm1tOnNzJyI7CgkJCXJldHVybiAiPGlucHV0IGlkPSdmaWVsZHMtIiAuIGgoJGZpZWxkWyJmaWVsZCJdKSAuICInIHZhbHVlPSciIC4gaCgkdmFsdWUpIC4gIiciIC4gKCRtYXhsZW5ndGggPyAiIG1heGxlbmd0aD0nJG1heGxlbmd0aCciIDogIiIpIC4gIiRhdHRycz48c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCc+alF1ZXJ5KGZ1bmN0aW9uICgpIHsgalF1ZXJ5KCcjZmllbGRzLSIgLiBqc19lc2NhcGUoJGZpZWxkWyJmaWVsZCJdKSAuICInKS4iCgkJCQkuICgkZmllbGRbInR5cGUiXSA9PSAidGltZSIgPyAidGltZXBpY2tlcih7ICR0aW1lRm9ybWF0IH0pIgoJCQkJOiAoZXJlZygidGltZSIsICRmaWVsZFsidHlwZSJdKSA/ICJkYXRldGltZXBpY2tlcih7ICRkYXRlRm9ybWF0LCAkdGltZUZvcm1hdCB9KSIKCQkJCTogImRhdGVwaWNrZXIoeyAkZGF0ZUZvcm1hdCB9KSIKCQkJKSkgLiAiOyB9KTs8L3NjcmlwdD4iOwoJCX0KCX0KCn0K]]></data>
	</file>
	<file>
	  <filename>/adminer/plugins/edit-foreign.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKiBTZWxlY3QgZm9yZWlnbiBrZXkgaW4gZWRpdCBmb3JtCiogQGF1dGhvciBKYWt1YiBWcmFuYSwgaHR0cDovL3d3dy52cmFuYS5jei8KKiBAbGljZW5zZSBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCiogQGxpY2Vuc2UgaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0yLjAuaHRtbCBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwgdmVyc2lvbiAyIChvbmUgb3Igb3RoZXIpCiovCmNsYXNzIEFkbWluZXJFZGl0Rm9yZWlnbiB7CgkKCWZ1bmN0aW9uIGVkaXRJbnB1dCgkdGFibGUsICRmaWVsZCwgJGF0dHJzLCAkdmFsdWUpIHsKCQlzdGF0aWMgJGZvcmVpZ25UYWJsZXMgPSBhcnJheSgpOwoJCXN0YXRpYyAkdmFsdWVzID0gYXJyYXkoKTsKCQkkZm9yZWlnbktleXMgPSAmJGZvcmVpZ25UYWJsZXNbJHRhYmxlXTsKCQlpZiAoIWlzc2V0KCRmb3JlaWduS2V5cykpIHsKCQkJJGZvcmVpZ25LZXlzID0gY29sdW1uX2ZvcmVpZ25fa2V5cygkdGFibGUpOwoJCX0KCQlmb3JlYWNoICgoYXJyYXkpICRmb3JlaWduS2V5c1skZmllbGRbImZpZWxkIl1dIGFzICRmb3JlaWduS2V5KSB7CgkJCWlmIChjb3VudCgkZm9yZWlnbktleVsic291cmNlIl0pID09IDEpIHsKCQkJCSR0YXJnZXQgPSAkZm9yZWlnbktleVsidGFibGUiXTsKCQkJCSRpZCA9ICRmb3JlaWduS2V5WyJ0YXJnZXQiXVswXTsKCQkJCSRvcHRpb25zID0gJiR2YWx1ZXNbJHRhcmdldF1bJGlkXTsKCQkJCWlmICghJG9wdGlvbnMpIHsKCQkJCQkkb3B0aW9ucyA9IGFycmF5KCIiID0+ICIiKSArIGdldF92YWxzKCJTRUxFQ1QgIiAuIGlkZl9lc2NhcGUoJGlkKSAuICIgRlJPTSAiIC4gdGFibGUoJHRhcmdldCkgLiAiIE9SREVSIEJZIDEiKTsKCQkJCX0KCQkJCXJldHVybiAiPHNlbGVjdCRhdHRycz4iIC4gb3B0aW9ubGlzdCgkb3B0aW9ucywgJHZhbHVlKSAuICI8L3NlbGVjdD4iOwoJCQl9CgkJfQoJfQoJCn0K]]></data>
	</file>
	<file>
	  <filename>/adminer/plugins/edit-textarea.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKiBVc2UgPHRleHRhcmVhPiBmb3IgY2hhciBhbmQgdmFyY2hhcgoqIEBhdXRob3IgSmFrdWIgVnJhbmEsIGh0dHA6Ly93d3cudnJhbmEuY3ovCiogQGxpY2Vuc2UgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAoqIEBsaWNlbnNlIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMi4wLmh0bWwgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIHZlcnNpb24gMiAob25lIG9yIG90aGVyKQoqLwpjbGFzcyBBZG1pbmVyRWRpdFRleHRhcmVhIHsKCQoJZnVuY3Rpb24gZWRpdElucHV0KCR0YWJsZSwgJGZpZWxkLCAkYXR0cnMsICR2YWx1ZSkgewoJCWlmIChlcmVnKCdjaGFyJywgJGZpZWxkWyJ0eXBlIl0pKSB7CgkJCXJldHVybiAiPHRleHRhcmVhIGNvbHM9JzMwJyByb3dzPScxJyBzdHlsZT0naGVpZ2h0OiAxLjJlbTsnJGF0dHJzPiIgLiBoKCR2YWx1ZSkgLiAnPC90ZXh0YXJlYT4nOwoJCX0KCX0KCQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/adminer/plugins/enum-option.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKiBVc2UgPHNlbGVjdD48b3B0aW9uPiBmb3IgZW51bSBlZGl0IGluc3RlYWQgb2YgPGlucHV0IHR5cGU9InJhZGlvIj4KKiBAYXV0aG9yIEpha3ViIFZyYW5hLCBodHRwOi8vd3d3LnZyYW5hLmN6LwoqIEBsaWNlbnNlIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMCBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKiBAbGljZW5zZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLTIuMC5odG1sIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLCB2ZXJzaW9uIDIgKG9uZSBvciBvdGhlcikKKi8KY2xhc3MgQWRtaW5lckVudW1PcHRpb24gewoJCglmdW5jdGlvbiBlZGl0SW5wdXQoJHRhYmxlLCAkZmllbGQsICRhdHRycywgJHZhbHVlKSB7CgkJaWYgKCRmaWVsZFsidHlwZSJdID09ICJlbnVtIikgewoJCQkkb3B0aW9ucyA9IGFycmF5KCIiID0+IGFycmF5KCkpOwoJCQkkc2VsZWN0ZWQgPSAkdmFsdWU7CgkJCWlmIChpc3NldCgkX0dFVFsic2VsZWN0Il0pKSB7CgkJCQkkb3B0aW9uc1siIl1bLTFdID0gbGFuZygnb3JpZ2luYWwnKTsKCQkJfQoJCQlpZiAoJGZpZWxkWyJudWxsIl0pIHsKCQkJCSRvcHRpb25zWyIiXVsiIl0gPSAiTlVMTCI7CgkJCQlpZiAoIWlzc2V0KCR2YWx1ZSkgJiYgIWlzc2V0KCRfR0VUWyJzZWxlY3QiXSkpIHsKCQkJCQkkc2VsZWN0ZWQgPSAiIjsKCQkJCX0KCQkJfQoJCQkkb3B0aW9uc1siIl1bMF0gPSBsYW5nKCdlbXB0eScpOwoJCQlwcmVnX21hdGNoX2FsbCgificoKD86W14nXXwnJykqKSd+IiwgJGZpZWxkWyJsZW5ndGgiXSwgJG1hdGNoZXMpOwoJCQlmb3JlYWNoICgkbWF0Y2hlc1sxXSBhcyAkaSA9PiAkdmFsKSB7CgkJCQkkdmFsID0gc3RyaXBjc2xhc2hlcyhzdHJfcmVwbGFjZSgiJyciLCAiJyIsICR2YWwpKTsKCQkJCSRvcHRpb25zWyRpICsgMV0gPSAkdmFsOwoJCQkJaWYgKCR2YWx1ZSA9PT0gJHZhbCkgewoJCQkJCSRzZWxlY3RlZCA9ICRpICsgMTsKCQkJCX0KCQkJfQoJCQlyZXR1cm4gIjxzZWxlY3QkYXR0cnM+IiAuIG9wdGlvbmxpc3QoJG9wdGlvbnMsIChzdHJpbmcpICRzZWxlY3RlZCwgMSkgLiAiPC9zZWxlY3Q+IjsgLy8gMSAtIHVzZSBrZXlzCgkJfQoJfQoJCn0K]]></data>
	</file>
	<file>
	  <filename>/adminer/plugins/file-upload.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKiBFZGl0IGZpZWxkcyBlbmRpbmcgd2l0aCAiX3BhdGgiIGJ5IDxpbnB1dCB0eXBlPSJmaWxlIj4gYW5kIGxpbmsgdG8gdGhlIHVwbG9hZGVkIGZpbGVzIGZyb20gc2VsZWN0CiogQGF1dGhvciBKYWt1YiBWcmFuYSwgaHR0cDovL3d3dy52cmFuYS5jei8KKiBAbGljZW5zZSBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCiogQGxpY2Vuc2UgaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0yLjAuaHRtbCBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwgdmVyc2lvbiAyIChvbmUgb3Igb3RoZXIpCiovCmNsYXNzIEFkbWluZXJGaWxlVXBsb2FkIHsKCS8qKiBAdmFyIHN0cmluZyBAYWNjZXNzIHByb3RlY3RlZCAqLwoJdmFyICR1cGxvYWRQYXRoLCAkZGlzcGxheVBhdGg7CgkKCS8qKgoJKiBAcGFyYW0gc3RyaW5nIHByZWZpeCBmb3IgdXBsb2FkaW5nIGRhdGEgKGNyZWF0ZSB3cml0YWJsZSBzdWJkaXJlY3RvcnkgZm9yIGVhY2ggdGFibGUgY29udGFpbmluZyB1cGxvYWRhYmxlIGZpZWxkcykKCSogQHBhcmFtIHN0cmluZyBwcmVmaXggZm9yIGRpc3BsYXlpbmcgZGF0YSwgbnVsbCBzdGFuZHMgZm9yICR1cGxvYWRQYXRoCgkqLwoJZnVuY3Rpb24gQWRtaW5lckZpbGVVcGxvYWQoJHVwbG9hZFBhdGggPSAiLi4vc3RhdGljL2RhdGEvIiwgJGRpc3BsYXlQYXRoID0gbnVsbCkgewoJCSR0aGlzLT51cGxvYWRQYXRoID0gJHVwbG9hZFBhdGg7CgkJJHRoaXMtPmRpc3BsYXlQYXRoID0gKGlzc2V0KCRkaXNwbGF5UGF0aCkgPyAkZGlzcGxheVBhdGggOiAkdXBsb2FkUGF0aCk7Cgl9CgkKCWZ1bmN0aW9uIGVkaXRJbnB1dCgkdGFibGUsICRmaWVsZCwgJGF0dHJzLCAkdmFsdWUpIHsKCQlpZiAoZXJlZygnKC4qKV9wYXRoJCcsICRmaWVsZFsiZmllbGQiXSkpIHsKCQkJcmV0dXJuICI8aW5wdXQgdHlwZT0nZmlsZScgbmFtZT0nZmllbGRzLSRmaWVsZFtmaWVsZF0nPiI7CgkJfQoJfQoJCglmdW5jdGlvbiBwcm9jZXNzSW5wdXQoJGZpZWxkLCAkdmFsdWUsICRmdW5jdGlvbiA9ICIiKSB7CgkJaWYgKGVyZWcoJyguKilfcGF0aCQnLCAkZmllbGRbImZpZWxkIl0sICRyZWdzKSkgewoJCQkkdGFibGUgPSAoJF9HRVRbImVkaXQiXSAhPSAiIiA/ICRfR0VUWyJlZGl0Il0gOiAkX0dFVFsic2VsZWN0Il0pOwoJCQkkbmFtZSA9ICJmaWVsZHMtJGZpZWxkW2ZpZWxkXSI7CgkJCWlmICgkX0ZJTEVTWyRuYW1lXVsiZXJyb3IiXSB8fCAhZXJlZ2koJyhcXC4oW2EtejAtOV0rKSk/JCcsICRfRklMRVNbJG5hbWVdWyJuYW1lIl0sICRyZWdzMikpIHsKCQkJCXJldHVybiBmYWxzZTsKCQkJfQoJCQkvLyEgdW5saW5rIG9sZAoJCQkkZmlsZW5hbWUgPSB1bmlxaWQoKSAuICRyZWdzMlswXTsKCQkJaWYgKCFtb3ZlX3VwbG9hZGVkX2ZpbGUoJF9GSUxFU1skbmFtZV1bInRtcF9uYW1lIl0sICIkdGhpcy0+dXBsb2FkUGF0aCR0YWJsZS8kcmVnc1sxXS0kZmlsZW5hbWUiKSkgewoJCQkJcmV0dXJuIGZhbHNlOwoJCQl9CgkJCXJldHVybiBxKCRmaWxlbmFtZSk7CgkJfQoJfQoJCglmdW5jdGlvbiBzZWxlY3RWYWwoJHZhbCwgJiRsaW5rLCAkZmllbGQpIHsKCQlpZiAoJHZhbCAhPSAiJm5ic3A7IiAmJiBlcmVnKCcoLiopX3BhdGgkJywgJGZpZWxkWyJmaWVsZCJdLCAkcmVncykpIHsKCQkJJGxpbmsgPSAiJHRoaXMtPmRpc3BsYXlQYXRoJF9HRVRbc2VsZWN0XS8kcmVnc1sxXS0kdmFsIjsKCQl9Cgl9CgkKfQo=]]></data>
	</file>
	<file>
	  <filename>/adminer/plugins/foreign-system.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKiBMaW5rIHN5c3RlbSB0YWJsZXMgKGluIG15c3FsIGFuZCBpbmZvcm1hdGlvbl9zY2hlbWEgZGF0YWJhc2VzKSBieSBmb3JlaWduIGtleXMKKiBAYXV0aG9yIEpha3ViIFZyYW5hLCBodHRwOi8vd3d3LnZyYW5hLmN6LwoqIEBsaWNlbnNlIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMCBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKiBAbGljZW5zZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLTIuMC5odG1sIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLCB2ZXJzaW9uIDIgKG9uZSBvciBvdGhlcikKKi8KY2xhc3MgQWRtaW5lckZvcmVpZ25TeXN0ZW0gewoJCglmdW5jdGlvbiBmb3JlaWduS2V5cygkdGFibGUpIHsKCQlpZiAoRFJJVkVSID09ICJzZXJ2ZXIiICYmIERCID09ICJteXNxbCIpIHsKCQkJc3dpdGNoICgkdGFibGUpIHsKCQkJCWNhc2UgImNvbHVtbnNfcHJpdiI6IHJldHVybiBhcnJheShhcnJheSgidGFibGUiID0+ICJ1c2VyIiwgInNvdXJjZSIgPT4gYXJyYXkoIkhvc3QiLCAiVXNlciIpLCAidGFyZ2V0IiA9PiBhcnJheSgiSG9zdCIsICJVc2VyIikpKTsKCQkJCWNhc2UgImRiIjogcmV0dXJuIGFycmF5KGFycmF5KCJ0YWJsZSIgPT4gInVzZXIiLCAic291cmNlIiA9PiBhcnJheSgiSG9zdCIsICJVc2VyIiksICJ0YXJnZXQiID0+IGFycmF5KCJIb3N0IiwgIlVzZXIiKSkpOwoJCQkJY2FzZSAiaGVscF9jYXRlZ29yeSI6IHJldHVybiBhcnJheShhcnJheSgidGFibGUiID0+ICJoZWxwX2NhdGVnb3J5IiwgInNvdXJjZSIgPT4gYXJyYXkoInBhcmVudF9jYXRlZ29yeV9pZCIpLCAidGFyZ2V0IiA9PiBhcnJheSgiaGVscF9jYXRlZ29yeV9pZCIpKSk7CgkJCQljYXNlICJoZWxwX3JlbGF0aW9uIjogcmV0dXJuIGFycmF5KGFycmF5KCJ0YWJsZSIgPT4gImhlbHBfdG9waWMiLCAic291cmNlIiA9PiBhcnJheSgiaGVscF90b3BpY19pZCIpLCAidGFyZ2V0IiA9PiBhcnJheSgiaGVscF90b3BpY19pZCIpKSwgYXJyYXkoInRhYmxlIiA9PiAiaGVscF9rZXl3b3JkIiwgInNvdXJjZSIgPT4gYXJyYXkoImhlbHBfa2V5d29yZF9pZCIpLCAidGFyZ2V0IiA9PiBhcnJheSgiaGVscF9rZXl3b3JkX2lkIikpKTsKCQkJCWNhc2UgImhlbHBfdG9waWMiOiByZXR1cm4gYXJyYXkoYXJyYXkoInRhYmxlIiA9PiAiaGVscF9jYXRlZ29yeSIsICJzb3VyY2UiID0+IGFycmF5KCJoZWxwX2NhdGVnb3J5X2lkIiksICJ0YXJnZXQiID0+IGFycmF5KCJoZWxwX2NhdGVnb3J5X2lkIikpKTsKCQkJCWNhc2UgInByb2NzX3ByaXYiOiByZXR1cm4gYXJyYXkoYXJyYXkoInRhYmxlIiA9PiAidXNlciIsICJzb3VyY2UiID0+IGFycmF5KCJIb3N0IiwgIlVzZXIiKSwgInRhcmdldCIgPT4gYXJyYXkoIkhvc3QiLCAiVXNlciIpKSwgYXJyYXkoInRhYmxlIiA9PiAicHJvYyIsICJzb3VyY2UiID0+IGFycmF5KCJEYiIsICJSb3V0aW5lX25hbWUiKSwgInRhcmdldCIgPT4gYXJyYXkoImRiIiwgIm5hbWUiKSkpOwoJCQkJY2FzZSAidGFibGVzX3ByaXYiOiByZXR1cm4gYXJyYXkoYXJyYXkoInRhYmxlIiA9PiAidXNlciIsICJzb3VyY2UiID0+IGFycmF5KCJIb3N0IiwgIlVzZXIiKSwgInRhcmdldCIgPT4gYXJyYXkoIkhvc3QiLCAiVXNlciIpKSk7CgkJCQljYXNlICJ0aW1lX3pvbmVfbmFtZSI6IHJldHVybiBhcnJheShhcnJheSgidGFibGUiID0+ICJ0aW1lX3pvbmUiLCAic291cmNlIiA9PiBhcnJheSgiVGltZV96b25lX2lkIiksICJ0YXJnZXQiID0+IGFycmF5KCJUaW1lX3pvbmVfaWQiKSkpOwoJCQkJY2FzZSAidGltZV96b25lX3RyYW5zaXRpb24iOiByZXR1cm4gYXJyYXkoYXJyYXkoInRhYmxlIiA9PiAidGltZV96b25lIiwgInNvdXJjZSIgPT4gYXJyYXkoIlRpbWVfem9uZV9pZCIpLCAidGFyZ2V0IiA9PiBhcnJheSgiVGltZV96b25lX2lkIikpLCBhcnJheSgidGFibGUiID0+ICJ0aW1lX3pvbmVfdHJhbnNpdGlvbl90eXBlIiwgInNvdXJjZSIgPT4gYXJyYXkoIlRpbWVfem9uZV9pZCIsICJUcmFuc2l0aW9uX3R5cGVfaWQiKSwgInRhcmdldCIgPT4gYXJyYXkoIlRpbWVfem9uZV9pZCIsICJUcmFuc2l0aW9uX3R5cGVfaWQiKSkpOwoJCQkJY2FzZSAidGltZV96b25lX3RyYW5zaXRpb25fdHlwZSI6IHJldHVybiBhcnJheShhcnJheSgidGFibGUiID0+ICJ0aW1lX3pvbmUiLCAic291cmNlIiA9PiBhcnJheSgiVGltZV96b25lX2lkIiksICJ0YXJnZXQiID0+IGFycmF5KCJUaW1lX3pvbmVfaWQiKSkpOwoJCQl9CgkJfSBlbHNlaWYgKERCID09ICJpbmZvcm1hdGlvbl9zY2hlbWEiKSB7CgkJCSRzY2hlbWF0YSA9IGFycmF5KCJ0YWJsZSIgPT4gIlNDSEVNQVRBIiwgInNvdXJjZSIgPT4gYXJyYXkoIlRBQkxFX0NBVEFMT0ciLCAiVEFCTEVfU0NIRU1BIiksICJ0YXJnZXQiID0+IGFycmF5KCJDQVRBTE9HX05BTUUiLCAiU0NIRU1BX05BTUUiKSk7CgkJCSR0YWJsZXMgPSBhcnJheSgidGFibGUiID0+ICJUQUJMRVMiLCAic291cmNlIiA9PiBhcnJheSgiVEFCTEVfQ0FUQUxPRyIsICJUQUJMRV9TQ0hFTUEiLCAiVEFCTEVfTkFNRSIpLCAidGFyZ2V0IiA9PiBhcnJheSgiVEFCTEVfQ0FUQUxPRyIsICJUQUJMRV9TQ0hFTUEiLCAiVEFCTEVfTkFNRSIpKTsKCQkJJGNvbHVtbnMgPSBhcnJheSgidGFibGUiID0+ICJDT0xVTU5TIiwgInNvdXJjZSIgPT4gYXJyYXkoIlRBQkxFX0NBVEFMT0ciLCAiVEFCTEVfU0NIRU1BIiwgIlRBQkxFX05BTUUiLCAiQ09MVU1OX05BTUUiKSwgInRhcmdldCIgPT4gYXJyYXkoIlRBQkxFX0NBVEFMT0ciLCAiVEFCTEVfU0NIRU1BIiwgIlRBQkxFX05BTUUiLCAiQ09MVU1OX05BTUUiKSk7CgkJCSRjaGFyYWN0ZXJfc2V0cyA9IGFycmF5KCJ0YWJsZSIgPT4gIkNIQVJBQ1RFUl9TRVRTIiwgInNvdXJjZSIgPT4gYXJyYXkoIkNIQVJBQ1RFUl9TRVRfTkFNRSIpLCAidGFyZ2V0IiA9PiBhcnJheSgiQ0hBUkFDVEVSX1NFVF9OQU1FIikpOwoJCQkkY29sbGF0aW9ucyA9IGFycmF5KCJ0YWJsZSIgPT4gIkNPTExBVElPTlMiLCAic291cmNlIiA9PiBhcnJheSgiQ09MTEFUSU9OX05BTUUiKSwgInRhcmdldCIgPT4gYXJyYXkoIkNPTExBVElPTl9OQU1FIikpOwoJCQkkcm91dGluZV9jaGFyc2V0cyA9IGFycmF5KGFycmF5KCJzb3VyY2UiID0+IGFycmF5KCJDSEFSQUNURVJfU0VUX0NMSUVOVCIpKSArICRjaGFyYWN0ZXJfc2V0cywgYXJyYXkoInNvdXJjZSIgPT4gYXJyYXkoIkNPTExBVElPTl9DT05ORUNUSU9OIikpICsgJGNvbGxhdGlvbnMsIGFycmF5KCJzb3VyY2UiID0+IGFycmF5KCJEQVRBQkFTRV9DT0xMQVRJT04iKSkgKyAkY29sbGF0aW9ucyk7CgkJCXN3aXRjaCAoJHRhYmxlKSB7CgkJCQljYXNlICJDSEFSQUNURVJfU0VUUyI6IHJldHVybiBhcnJheShhcnJheSgic291cmNlIiA9PiBhcnJheSgiREVGQVVMVF9DT0xMQVRFX05BTUUiKSkgKyAkY29sbGF0aW9ucyk7CgkJCQljYXNlICJDT0xMQVRJT05TIjogcmV0dXJuIGFycmF5KCRjaGFyYWN0ZXJfc2V0cyk7CgkJCQljYXNlICJDT0xMQVRJT05fQ0hBUkFDVEVSX1NFVF9BUFBMSUNBQklMSVRZIjogcmV0dXJuIGFycmF5KCRjb2xsYXRpb25zLCAkY2hhcmFjdGVyX3NldHMpOwoJCQkJY2FzZSAiQ09MVU1OUyI6IHJldHVybiBhcnJheSgkc2NoZW1hdGEsICR0YWJsZXMsICRjaGFyYWN0ZXJfc2V0cywgJGNvbGxhdGlvbnMpOwoJCQkJY2FzZSAiQ09MVU1OX1BSSVZJTEVHRVMiOiByZXR1cm4gYXJyYXkoJHNjaGVtYXRhLCAkdGFibGVzLCAkY29sdW1ucyk7CgkJCQljYXNlICJUQUJMRVMiOiByZXR1cm4gYXJyYXkoJHNjaGVtYXRhLCBhcnJheSgic291cmNlIiA9PiBhcnJheSgiVEFCTEVfQ09MTEFUSU9OIikpICsgJGNvbGxhdGlvbnMpOwoJCQkJY2FzZSAiU0NIRU1BVEEiOiByZXR1cm4gYXJyYXkoYXJyYXkoInNvdXJjZSIgPT4gYXJyYXkoIkRFRkFVTFRfQ0hBUkFDVEVSX1NFVF9OQU1FIikpICsgJGNoYXJhY3Rlcl9zZXRzLCBhcnJheSgic291cmNlIiA9PiBhcnJheSgiREVGQVVMVF9DT0xMQVRJT05fTkFNRSIpKSArICRjb2xsYXRpb25zKTsKCQkJCWNhc2UgIkVWRU5UUyI6IHJldHVybiBhcnJheV9tZXJnZShhcnJheShhcnJheSgic291cmNlIiA9PiBhcnJheSgiRVZFTlRfQ0FUQUxPRyIsICJFVkVOVF9TQ0hFTUEiKSkgKyAkc2NoZW1hdGEpLCAkcm91dGluZV9jaGFyc2V0cyk7CgkJCQljYXNlICJGSUxFUyI6IHJldHVybiBhcnJheSgkc2NoZW1hdGEsICR0YWJsZXMpOwoJCQkJY2FzZSAiS0VZX0NPTFVNTl9VU0FHRSI6IHJldHVybiBhcnJheShhcnJheSgic291cmNlIiA9PiBhcnJheSgiQ09OU1RSQUlOVF9DQVRBTE9HIiwgIkNPTlNUUkFJTlRfU0NIRU1BIikpICsgJHNjaGVtYXRhLCAkc2NoZW1hdGEsICR0YWJsZXMsICRjb2x1bW5zLCBhcnJheSgic291cmNlIiA9PiBhcnJheSgiVEFCTEVfQ0FUQUxPRyIsICJSRUZFUkVOQ0VEX1RBQkxFX1NDSEVNQSIpKSArICRzY2hlbWF0YSwgYXJyYXkoInNvdXJjZSIgPT4gYXJyYXkoIlRBQkxFX0NBVEFMT0ciLCAiUkVGRVJFTkNFRF9UQUJMRV9TQ0hFTUEiLCAiUkVGRVJFTkNFRF9UQUJMRV9OQU1FIikpICsgJHRhYmxlcywgYXJyYXkoInNvdXJjZSIgPT4gYXJyYXkoIlRBQkxFX0NBVEFMT0ciLCAiUkVGRVJFTkNFRF9UQUJMRV9TQ0hFTUEiLCAiUkVGRVJFTkNFRF9UQUJMRV9OQU1FIiwgIlJFRkVSRU5DRURfQ09MVU1OX05BTUUiKSkgKyAkY29sdW1ucyk7CgkJCQljYXNlICJQQVJUSVRJT05TIjogcmV0dXJuIGFycmF5KCRzY2hlbWF0YSwgJHRhYmxlcyk7CgkJCQljYXNlICJSRUZFUkVOVElBTF9DT05TVFJBSU5UUyI6IHJldHVybiBhcnJheShhcnJheSgic291cmNlIiA9PiBhcnJheSgiQ09OU1RSQUlOVF9DQVRBTE9HIiwgIkNPTlNUUkFJTlRfU0NIRU1BIikpICsgJHNjaGVtYXRhLCBhcnJheSgic291cmNlIiA9PiBhcnJheSgiVU5JUVVFX0NPTlNUUkFJTlRfQ0FUQUxPRyIsICJVTklRVUVfQ09OU1RSQUlOVF9TQ0hFTUEiKSkgKyAkc2NoZW1hdGEsIGFycmF5KCJzb3VyY2UiID0+IGFycmF5KCJDT05TVFJBSU5UX0NBVEFMT0ciLCAiQ09OU1RSQUlOVF9TQ0hFTUEiLCAiVEFCTEVfTkFNRSIpKSArICR0YWJsZXMsIGFycmF5KCJzb3VyY2UiID0+IGFycmF5KCJDT05TVFJBSU5UX0NBVEFMT0ciLCAiQ09OU1RSQUlOVF9TQ0hFTUEiLCAiUkVGRVJFTkNFRF9UQUJMRV9OQU1FIikpICsgJHRhYmxlcyk7CgkJCQljYXNlICJST1VUSU5FUyI6IHJldHVybiBhcnJheV9tZXJnZShhcnJheShhcnJheSgic291cmNlIiA9PiBhcnJheSgiUk9VVElORV9DQVRBTE9HIiwgIlJPVVRJTkVfU0NIRU1BIikpICsgJHNjaGVtYXRhKSwgJHJvdXRpbmVfY2hhcnNldHMpOwoJCQkJY2FzZSAiU0NIRU1BX1BSSVZJTEVHRVMiOiByZXR1cm4gYXJyYXkoJHNjaGVtYXRhKTsKCQkJCWNhc2UgIlNUQVRJU1RJQ1MiOiByZXR1cm4gYXJyYXkoJHNjaGVtYXRhLCAkdGFibGVzLCAkY29sdW1ucywgYXJyYXkoInNvdXJjZSIgPT4gYXJyYXkoIlRBQkxFX0NBVEFMT0ciLCAiSU5ERVhfU0NIRU1BIikpICsgJHNjaGVtYXRhKTsKCQkJCWNhc2UgIlRBQkxFX0NPTlNUUkFJTlRTIjogcmV0dXJuIGFycmF5KGFycmF5KCJzb3VyY2UiID0+IGFycmF5KCJDT05TVFJBSU5UX0NBVEFMT0ciLCAiQ09OU1RSQUlOVF9TQ0hFTUEiKSkgKyAkc2NoZW1hdGEsIGFycmF5KCJzb3VyY2UiID0+IGFycmF5KCJDT05TVFJBSU5UX0NBVEFMT0ciLCAiVEFCTEVfU0NIRU1BIikpICsgJHNjaGVtYXRhLCBhcnJheSgic291cmNlIiA9PiBhcnJheSgiQ09OU1RSQUlOVF9DQVRBTE9HIiwgIlRBQkxFX1NDSEVNQSIsICJUQUJMRV9OQU1FIikpICsgJHRhYmxlcyk7CgkJCQljYXNlICJUQUJMRV9QUklWSUxFR0VTIjogcmV0dXJuIGFycmF5KCRzY2hlbWF0YSwgJHRhYmxlcyk7CgkJCQljYXNlICJUUklHR0VSUyI6IHJldHVybiBhcnJheV9tZXJnZShhcnJheShhcnJheSgic291cmNlIiA9PiBhcnJheSgiVFJJR0dFUl9DQVRBTE9HIiwgIlRSSUdHRVJfU0NIRU1BIikpICsgJHNjaGVtYXRhLCBhcnJheSgic291cmNlIiA9PiBhcnJheSgiRVZFTlRfT0JKRUNUX0NBVEFMT0ciLCAiRVZFTlRfT0JKRUNUX1NDSEVNQSIpKSArICRzY2hlbWF0YSwgYXJyYXkoInNvdXJjZSIgPT4gYXJyYXkoIkVWRU5UX09CSkVDVF9DQVRBTE9HIiwgIkVWRU5UX09CSkVDVF9TQ0hFTUEiLCAiRVZFTlRfT0JKRUNUX1RBQkxFIikpICsgJHRhYmxlcyksICRyb3V0aW5lX2NoYXJzZXRzKTsKCQkJCWNhc2UgIlZJRVdTIjogcmV0dXJuIGFycmF5KCRzY2hlbWF0YSk7CgkJCX0KCQl9Cgl9CgkKfQo=]]></data>
	</file>
	<file>
	  <filename>/adminer/plugins/plugin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKiBBZG1pbmVyIGN1c3RvbWl6YXRpb24gYWxsb3dpbmcgdXNhZ2Ugb2YgcGx1Z2lucwogKiBAYXV0aG9yIEpha3ViIFZyYW5hLCBodHRwOi8vd3d3LnZyYW5hLmN6LwogKiBAbGljZW5zZSBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCiAqIEBsaWNlbnNlIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMi4wLmh0bWwgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIHZlcnNpb24gMiAob25lIG9yIG90aGVyKQogKi8KY2xhc3MgQWRtaW5lclBsdWdpbiBleHRlbmRzIEFkbWluZXIgewoJdmFyICRwbHVnaW5zOwoKCWZ1bmN0aW9uIF9maW5kUm9vdENsYXNzKCRjbGFzcykgeyAvLyBpc19zdWJjbGFzc19vZihzdHJpbmcsIHN0cmluZykgaXMgYXZhaWxhYmxlIHNpbmNlIFBIUCA1LjAuMwoJCWRvIHsKCQkJJHJldHVybiA9ICRjbGFzczsKCQl9IHdoaWxlICgkY2xhc3MgPSBnZXRfcGFyZW50X2NsYXNzKCRjbGFzcykpOwoJCXJldHVybiAkcmV0dXJuOwoJfQoKCS8qKiBSZWdpc3RlciBwbHVnaW5zCgkgKiBAcGFyYW0gYXJyYXkgb2JqZWN0IGluc3RhbmNlcyBvciBudWxsIHRvIHJlZ2lzdGVyIGFsbCBjbGFzc2VzIHN0YXJ0aW5nIGJ5ICdBZG1pbmVyJwoJICovCglmdW5jdGlvbiBBZG1pbmVyUGx1Z2luKCRwbHVnaW5zKSB7CgkJaWYgKCFpc3NldCgkcGx1Z2lucykpIHsKCQkJJHBsdWdpbnMgPSBhcnJheSgKCQkJKTsKCQkJZm9yZWFjaCAoZ2V0X2RlY2xhcmVkX2NsYXNzZXMoKSBhcyAkY2xhc3MpIHsKCQkJCWlmIChwcmVnX21hdGNoKCd+XkFkbWluZXIufmknLCAkY2xhc3MpICYmCgkJCQkJc3RyY2FzZWNtcCgkdGhpcy0+X2ZpbmRSb290Q2xhc3MoJGNsYXNzKSwgJ0FkbWluZXInKSkgeyAvLyBjYW4gdXNlIGludGVyZmFjZSBzaW5jZSBQSFAgNQoJCQkJCSRwbHVnaW5zWyRjbGFzc10gPSBuZXcgJGNsYXNzOwoJCQkJfQoJCQl9CgkJfQoJCSR0aGlzLT5wbHVnaW5zID0gJHBsdWdpbnM7CgkJLy8gaXQgaXMgcG9zc2libGUgdG8gdXNlIFJlZmxlY3Rpb25PYmplY3QgaW4gUEhQIDUgdG8gZmluZCBvdXQgd2hpY2ggcGx1Z2lucyBkZWZpbmVzIHdoaWNoIG1ldGhvZHMgYXQgb25jZQoJfQoKCWZ1bmN0aW9uIF9jYWxsUGFyZW50KCRmdW5jdGlvbiwgJGFyZ3MpIHsKCQlzd2l0Y2ggKGNvdW50KCRhcmdzKSkgeyAvLyBjYWxsX3VzZXJfZnVuY19hcnJheShhcnJheSgncGFyZW50JywgJGZ1bmN0aW9uKSwgJGFyZ3MpIHdvcmtzIHNpbmNlIFBIUCA1CgkJCWNhc2UgMDoKCQkJCXJldHVybiBwYXJlbnQ6OiRmdW5jdGlvbigpOwoJCQljYXNlIDE6CgkJCQlyZXR1cm4gcGFyZW50OjokZnVuY3Rpb24oJGFyZ3NbMF0pOwoJCQljYXNlIDI6CgkJCQlyZXR1cm4gcGFyZW50OjokZnVuY3Rpb24oJGFyZ3NbMF0sICRhcmdzWzFdKTsKCQkJY2FzZSAzOgoJCQkJcmV0dXJuIHBhcmVudDo6JGZ1bmN0aW9uKCRhcmdzWzBdLCAkYXJnc1sxXSwgJGFyZ3NbMl0pOwoJCQljYXNlIDQ6CgkJCQlyZXR1cm4gcGFyZW50OjokZnVuY3Rpb24oJGFyZ3NbMF0sICRhcmdzWzFdLCAkYXJnc1syXSwgJGFyZ3NbM10pOwoJCQlkZWZhdWx0OgoJCQkJdHJpZ2dlcl9lcnJvcignVG9vIG1hbnkgcGFyYW1ldGVycy4nLCBFX1VTRVJfV0FSTklORyk7CgkJfQoJfQoKCWZ1bmN0aW9uIF9hcHBseVBsdWdpbigkZnVuY3Rpb24sICRhcmdzKSB7CgkJZm9yZWFjaCAoJHRoaXMtPnBsdWdpbnMgYXMgJHBsdWdpbikgewoJCQlpZiAobWV0aG9kX2V4aXN0cygkcGx1Z2luLCAkZnVuY3Rpb24pKSB7CgkJCQlzd2l0Y2ggKGNvdW50KCRhcmdzKSkgeyAvLyBjYWxsX3VzZXJfZnVuY19hcnJheSgpIGRvZXNuJ3Qgd29yayB3ZWxsIHdpdGggcmVmZXJlbmNlcwoJCQkJCWNhc2UgMDoKCQkJCQkJJHJldHVybiA9ICRwbHVnaW4tPiRmdW5jdGlvbigpOwoJCQkJCQlicmVhazsKCQkJCQljYXNlIDE6CgkJCQkJCSRyZXR1cm4gPSAkcGx1Z2luLT4kZnVuY3Rpb24oJGFyZ3NbMF0pOwoJCQkJCQlicmVhazsKCQkJCQljYXNlIDI6CgkJCQkJCSRyZXR1cm4gPSAkcGx1Z2luLT4kZnVuY3Rpb24oJGFyZ3NbMF0sICRhcmdzWzFdKTsKCQkJCQkJYnJlYWs7CgkJCQkJY2FzZSAzOgoJCQkJCQkkcmV0dXJuID0gJHBsdWdpbi0+JGZ1bmN0aW9uKCRhcmdzWzBdLCAkYXJnc1sxXSwgJGFyZ3NbMl0pOwoJCQkJCQlicmVhazsKCQkJCQljYXNlIDQ6CgkJCQkJCSRyZXR1cm4gPSAkcGx1Z2luLT4kZnVuY3Rpb24oJGFyZ3NbMF0sICRhcmdzWzFdLCAkYXJnc1syXSwgJGFyZ3NbM10pOwoJCQkJCQlicmVhazsKCQkJCQlkZWZhdWx0OgoJCQkJCQl0cmlnZ2VyX2Vycm9yKCdUb28gbWFueSBwYXJhbWV0ZXJzLicsIEVfVVNFUl9XQVJOSU5HKTsKCQkJCX0KCQkJCWlmIChpc3NldCgkcmV0dXJuKSkgewoJCQkJCXJldHVybiAkcmV0dXJuOwoJCQkJfQoJCQl9CgkJfQoJCXJldHVybiAkdGhpcy0+X2NhbGxQYXJlbnQoJGZ1bmN0aW9uLCAkYXJncyk7Cgl9CgoJZnVuY3Rpb24gX2FwcGVuZFBsdWdpbigkZnVuY3Rpb24sICRhcmdzKSB7CgkJJHJldHVybiA9ICR0aGlzLT5fY2FsbFBhcmVudCgkZnVuY3Rpb24sICRhcmdzKTsKCQlmb3JlYWNoICgkdGhpcy0+cGx1Z2lucyBhcyAkcGx1Z2luKSB7CgkJCWlmIChtZXRob2RfZXhpc3RzKCRwbHVnaW4sICRmdW5jdGlvbikpIHsKCQkJCSRyZXR1cm4gKz0gY2FsbF91c2VyX2Z1bmNfYXJyYXkoYXJyYXkoCgkJCQkJCQkJCQkJCQkgJHBsdWdpbiwgJGZ1bmN0aW9uCgkJCQkJCQkJCQkJCSksICRhcmdzKTsKCQkJfQoJCX0KCQlyZXR1cm4gJHJldHVybjsKCX0KCgkvLyBhcHBlbmRQbHVnaW4KCglmdW5jdGlvbiBkdW1wRm9ybWF0KCkgewoJCSRhcmdzID0gZnVuY19nZXRfYXJncygpOwoJCXJldHVybiAkdGhpcy0+X2FwcGVuZFBsdWdpbihfX0ZVTkNUSU9OX18sICRhcmdzKTsKCX0KCglmdW5jdGlvbiBkdW1wT3V0cHV0KCkgewoJCSRhcmdzID0gZnVuY19nZXRfYXJncygpOwoJCXJldHVybiAkdGhpcy0+X2FwcGVuZFBsdWdpbihfX0ZVTkNUSU9OX18sICRhcmdzKTsKCX0KCglmdW5jdGlvbiBlZGl0RnVuY3Rpb25zKCkgewoJCSRhcmdzID0gZnVuY19nZXRfYXJncygpOwoJCXJldHVybiAkdGhpcy0+X2FwcGVuZFBsdWdpbihfX0ZVTkNUSU9OX18sICRhcmdzKTsKCX0KCgkvLyBhcHBseVBsdWdpbgoKCWZ1bmN0aW9uIG5hbWUoKSB7CgkJJGFyZ3MgPSBmdW5jX2dldF9hcmdzKCk7CgkJcmV0dXJuICR0aGlzLT5fYXBwbHlQbHVnaW4oX19GVU5DVElPTl9fLCAkYXJncyk7Cgl9CgoJZnVuY3Rpb24gY3JlZGVudGlhbHMoKSB7CgkJJGFyZ3MgPSBmdW5jX2dldF9hcmdzKCk7CgkJcmV0dXJuICR0aGlzLT5fYXBwbHlQbHVnaW4oX19GVU5DVElPTl9fLCAkYXJncyk7Cgl9CgoJZnVuY3Rpb24gcGVybWFuZW50TG9naW4oKSB7CgkJJGFyZ3MgPSBmdW5jX2dldF9hcmdzKCk7CgkJcmV0dXJuICR0aGlzLT5fYXBwbHlQbHVnaW4oX19GVU5DVElPTl9fLCAkYXJncyk7Cgl9CgoJZnVuY3Rpb24gZGF0YWJhc2UoKSB7CgkJJGFyZ3MgPSBmdW5jX2dldF9hcmdzKCk7CgkJcmV0dXJuICR0aGlzLT5fYXBwbHlQbHVnaW4oX19GVU5DVElPTl9fLCAkYXJncyk7Cgl9CgoJZnVuY3Rpb24gaGVhZGVycygpIHsKCQkkYXJncyA9IGZ1bmNfZ2V0X2FyZ3MoKTsKCQlyZXR1cm4gJHRoaXMtPl9hcHBseVBsdWdpbihfX0ZVTkNUSU9OX18sICRhcmdzKTsKCX0KCglmdW5jdGlvbiBoZWFkKCkgewoJCSRhcmdzID0gZnVuY19nZXRfYXJncygpOwoJCXJldHVybiAkdGhpcy0+X2FwcGx5UGx1Z2luKF9fRlVOQ1RJT05fXywgJGFyZ3MpOwoJfQoKCWZ1bmN0aW9uIGxvZ2luRm9ybSgpIHsKCQkkYXJncyA9IGZ1bmNfZ2V0X2FyZ3MoKTsKCQlyZXR1cm4gJHRoaXMtPl9hcHBseVBsdWdpbihfX0ZVTkNUSU9OX18sICRhcmdzKTsKCX0KCglmdW5jdGlvbiBsb2dpbigpIHsKCQkkYXJncyA9IGZ1bmNfZ2V0X2FyZ3MoKTsKCQlyZXR1cm4gJHRoaXMtPl9hcHBseVBsdWdpbihfX0ZVTkNUSU9OX18sICRhcmdzKTsKCX0KCglmdW5jdGlvbiB0YWJsZU5hbWUoKSB7CgkJJGFyZ3MgPSBmdW5jX2dldF9hcmdzKCk7CgkJcmV0dXJuICR0aGlzLT5fYXBwbHlQbHVnaW4oX19GVU5DVElPTl9fLCAkYXJncyk7Cgl9CgoJZnVuY3Rpb24gZmllbGROYW1lKCkgewoJCSRhcmdzID0gZnVuY19nZXRfYXJncygpOwoJCXJldHVybiAkdGhpcy0+X2FwcGx5UGx1Z2luKF9fRlVOQ1RJT05fXywgJGFyZ3MpOwoJfQoKCWZ1bmN0aW9uIHNlbGVjdExpbmtzKCkgewoJCSRhcmdzID0gZnVuY19nZXRfYXJncygpOwoJCXJldHVybiAkdGhpcy0+X2FwcGx5UGx1Z2luKF9fRlVOQ1RJT05fXywgJGFyZ3MpOwoJfQoKCWZ1bmN0aW9uIGZvcmVpZ25LZXlzKCkgewoJCSRhcmdzID0gZnVuY19nZXRfYXJncygpOwoJCXJldHVybiAkdGhpcy0+X2FwcGx5UGx1Z2luKF9fRlVOQ1RJT05fXywgJGFyZ3MpOwoJfQoKCWZ1bmN0aW9uIGJhY2t3YXJkS2V5cygpIHsKCQkkYXJncyA9IGZ1bmNfZ2V0X2FyZ3MoKTsKCQlyZXR1cm4gJHRoaXMtPl9hcHBseVBsdWdpbihfX0ZVTkNUSU9OX18sICRhcmdzKTsKCX0KCglmdW5jdGlvbiBiYWNrd2FyZEtleXNQcmludCgpIHsKCQkkYXJncyA9IGZ1bmNfZ2V0X2FyZ3MoKTsKCQlyZXR1cm4gJHRoaXMtPl9hcHBseVBsdWdpbihfX0ZVTkNUSU9OX18sICRhcmdzKTsKCX0KCglmdW5jdGlvbiBzZWxlY3RRdWVyeSgpIHsKCQkkYXJncyA9IGZ1bmNfZ2V0X2FyZ3MoKTsKCQlyZXR1cm4gJHRoaXMtPl9hcHBseVBsdWdpbihfX0ZVTkNUSU9OX18sICRhcmdzKTsKCX0KCglmdW5jdGlvbiByb3dEZXNjcmlwdGlvbigpIHsKCQkkYXJncyA9IGZ1bmNfZ2V0X2FyZ3MoKTsKCQlyZXR1cm4gJHRoaXMtPl9hcHBseVBsdWdpbihfX0ZVTkNUSU9OX18sICRhcmdzKTsKCX0KCglmdW5jdGlvbiByb3dEZXNjcmlwdGlvbnMoKSB7CgkJJGFyZ3MgPSBmdW5jX2dldF9hcmdzKCk7CgkJcmV0dXJuICR0aGlzLT5fYXBwbHlQbHVnaW4oX19GVU5DVElPTl9fLCAkYXJncyk7Cgl9CgoJZnVuY3Rpb24gc2VsZWN0VmFsKCkgewoJCSRhcmdzID0gZnVuY19nZXRfYXJncygpOwoJCXJldHVybiAkdGhpcy0+X2FwcGx5UGx1Z2luKF9fRlVOQ1RJT05fXywgJGFyZ3MpOwoJfQoKCWZ1bmN0aW9uIGVkaXRWYWwoKSB7CgkJJGFyZ3MgPSBmdW5jX2dldF9hcmdzKCk7CgkJcmV0dXJuICR0aGlzLT5fYXBwbHlQbHVnaW4oX19GVU5DVElPTl9fLCAkYXJncyk7Cgl9CgoJZnVuY3Rpb24gc2VsZWN0Q29sdW1uc1ByaW50KCkgewoJCSRhcmdzID0gZnVuY19nZXRfYXJncygpOwoJCXJldHVybiAkdGhpcy0+X2FwcGx5UGx1Z2luKF9fRlVOQ1RJT05fXywgJGFyZ3MpOwoJfQoKCWZ1bmN0aW9uIHNlbGVjdFNlYXJjaFByaW50KCkgewoJCSRhcmdzID0gZnVuY19nZXRfYXJncygpOwoJCXJldHVybiAkdGhpcy0+X2FwcGx5UGx1Z2luKF9fRlVOQ1RJT05fXywgJGFyZ3MpOwoJfQoKCWZ1bmN0aW9uIHNlbGVjdE9yZGVyUHJpbnQoKSB7CgkJJGFyZ3MgPSBmdW5jX2dldF9hcmdzKCk7CgkJcmV0dXJuICR0aGlzLT5fYXBwbHlQbHVnaW4oX19GVU5DVElPTl9fLCAkYXJncyk7Cgl9CgoJZnVuY3Rpb24gc2VsZWN0TGltaXRQcmludCgpIHsKCQkkYXJncyA9IGZ1bmNfZ2V0X2FyZ3MoKTsKCQlyZXR1cm4gJHRoaXMtPl9hcHBseVBsdWdpbihfX0ZVTkNUSU9OX18sICRhcmdzKTsKCX0KCglmdW5jdGlvbiBzZWxlY3RMZW5ndGhQcmludCgpIHsKCQkkYXJncyA9IGZ1bmNfZ2V0X2FyZ3MoKTsKCQlyZXR1cm4gJHRoaXMtPl9hcHBseVBsdWdpbihfX0ZVTkNUSU9OX18sICRhcmdzKTsKCX0KCglmdW5jdGlvbiBzZWxlY3RBY3Rpb25QcmludCgpIHsKCQkkYXJncyA9IGZ1bmNfZ2V0X2FyZ3MoKTsKCQlyZXR1cm4gJHRoaXMtPl9hcHBseVBsdWdpbihfX0ZVTkNUSU9OX18sICRhcmdzKTsKCX0KCglmdW5jdGlvbiBzZWxlY3RDb21tYW5kUHJpbnQoKSB7CgkJJGFyZ3MgPSBmdW5jX2dldF9hcmdzKCk7CgkJcmV0dXJuICR0aGlzLT5fYXBwbHlQbHVnaW4oX19GVU5DVElPTl9fLCAkYXJncyk7Cgl9CgoJZnVuY3Rpb24gc2VsZWN0SW1wb3J0UHJpbnQoKSB7CgkJJGFyZ3MgPSBmdW5jX2dldF9hcmdzKCk7CgkJcmV0dXJuICR0aGlzLT5fYXBwbHlQbHVnaW4oX19GVU5DVElPTl9fLCAkYXJncyk7Cgl9CgoJZnVuY3Rpb24gc2VsZWN0RW1haWxQcmludCgpIHsKCQkkYXJncyA9IGZ1bmNfZ2V0X2FyZ3MoKTsKCQlyZXR1cm4gJHRoaXMtPl9hcHBseVBsdWdpbihfX0ZVTkNUSU9OX18sICRhcmdzKTsKCX0KCglmdW5jdGlvbiBzZWxlY3RDb2x1bW5zUHJvY2VzcygpIHsKCQkkYXJncyA9IGZ1bmNfZ2V0X2FyZ3MoKTsKCQlyZXR1cm4gJHRoaXMtPl9hcHBseVBsdWdpbihfX0ZVTkNUSU9OX18sICRhcmdzKTsKCX0KCglmdW5jdGlvbiBzZWxlY3RTZWFyY2hQcm9jZXNzKCkgewoJCSRhcmdzID0gZnVuY19nZXRfYXJncygpOwoJCXJldHVybiAkdGhpcy0+X2FwcGx5UGx1Z2luKF9fRlVOQ1RJT05fXywgJGFyZ3MpOwoJfQoKCWZ1bmN0aW9uIHNlbGVjdE9yZGVyUHJvY2VzcygpIHsKCQkkYXJncyA9IGZ1bmNfZ2V0X2FyZ3MoKTsKCQlyZXR1cm4gJHRoaXMtPl9hcHBseVBsdWdpbihfX0ZVTkNUSU9OX18sICRhcmdzKTsKCX0KCglmdW5jdGlvbiBzZWxlY3RMaW1pdFByb2Nlc3MoKSB7CgkJJGFyZ3MgPSBmdW5jX2dldF9hcmdzKCk7CgkJcmV0dXJuICR0aGlzLT5fYXBwbHlQbHVnaW4oX19GVU5DVElPTl9fLCAkYXJncyk7Cgl9CgoJZnVuY3Rpb24gc2VsZWN0TGVuZ3RoUHJvY2VzcygpIHsKCQkkYXJncyA9IGZ1bmNfZ2V0X2FyZ3MoKTsKCQlyZXR1cm4gJHRoaXMtPl9hcHBseVBsdWdpbihfX0ZVTkNUSU9OX18sICRhcmdzKTsKCX0KCglmdW5jdGlvbiBzZWxlY3RFbWFpbFByb2Nlc3MoKSB7CgkJJGFyZ3MgPSBmdW5jX2dldF9hcmdzKCk7CgkJcmV0dXJuICR0aGlzLT5fYXBwbHlQbHVnaW4oX19GVU5DVElPTl9fLCAkYXJncyk7Cgl9CgoJZnVuY3Rpb24gbWVzc2FnZVF1ZXJ5KCkgewoJCSRhcmdzID0gZnVuY19nZXRfYXJncygpOwoJCXJldHVybiAkdGhpcy0+X2FwcGx5UGx1Z2luKF9fRlVOQ1RJT05fXywgJGFyZ3MpOwoJfQoKCWZ1bmN0aW9uIGVkaXRJbnB1dCgpIHsKCQkkYXJncyA9IGZ1bmNfZ2V0X2FyZ3MoKTsKCQlyZXR1cm4gJHRoaXMtPl9hcHBseVBsdWdpbihfX0ZVTkNUSU9OX18sICRhcmdzKTsKCX0KCglmdW5jdGlvbiBwcm9jZXNzSW5wdXQoKSB7CgkJJGFyZ3MgPSBmdW5jX2dldF9hcmdzKCk7CgkJcmV0dXJuICR0aGlzLT5fYXBwbHlQbHVnaW4oX19GVU5DVElPTl9fLCAkYXJncyk7Cgl9CgoJZnVuY3Rpb24gZHVtcFRhYmxlKCkgewoJCSRhcmdzID0gZnVuY19nZXRfYXJncygpOwoJCXJldHVybiAkdGhpcy0+X2FwcGx5UGx1Z2luKF9fRlVOQ1RJT05fXywgJGFyZ3MpOwoJfQoKCWZ1bmN0aW9uIGR1bXBEYXRhKCkgewoJCSRhcmdzID0gZnVuY19nZXRfYXJncygpOwoJCXJldHVybiAkdGhpcy0+X2FwcGx5UGx1Z2luKF9fRlVOQ1RJT05fXywgJGFyZ3MpOwoJfQoKCWZ1bmN0aW9uIGR1bXBIZWFkZXJzKCkgewoJCSRhcmdzID0gZnVuY19nZXRfYXJncygpOwoJCXJldHVybiAkdGhpcy0+X2FwcGx5UGx1Z2luKF9fRlVOQ1RJT05fXywgJGFyZ3MpOwoJfQoKCWZ1bmN0aW9uIGhvbWVwYWdlKCkgewoJCSRhcmdzID0gZnVuY19nZXRfYXJncygpOwoJCXJldHVybiAkdGhpcy0+X2FwcGx5UGx1Z2luKF9fRlVOQ1RJT05fXywgJGFyZ3MpOwoJfQoKCWZ1bmN0aW9uIG5hdmlnYXRpb24oKSB7CgkJJGFyZ3MgPSBmdW5jX2dldF9hcmdzKCk7CgkJcmV0dXJuICR0aGlzLT5fYXBwbHlQbHVnaW4oX19GVU5DVElPTl9fLCAkYXJncyk7Cgl9CgoJZnVuY3Rpb24gdGFibGVzUHJpbnQoKSB7CgkJJGFyZ3MgPSBmdW5jX2dldF9hcmdzKCk7CgkJcmV0dXJuICR0aGlzLT5fYXBwbHlQbHVnaW4oX19GVU5DVElPTl9fLCAkYXJncyk7Cgl9Cgp9Cj8+]]></data>
	</file>
	<file>
	  <filename>/adminer/plugins/tinymce.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKiBFZGl0IGFsbCBmaWVsZHMgY29udGFpbmluZyAiX2h0bWwiIGJ5IEhUTUwgZWRpdG9yIFRpbnlNQ0UgYW5kIGRpc3BsYXkgdGhlIEhUTUwgaW4gc2VsZWN0CiogQHVzZXMgVGlueU1DRSwgaHR0cDovL3RpbnltY2UubW94aWVjb2RlLmNvbS8KKiBAYXV0aG9yIEpha3ViIFZyYW5hLCBodHRwOi8vd3d3LnZyYW5hLmN6LwoqIEBsaWNlbnNlIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMCBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKiBAbGljZW5zZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLTIuMC5odG1sIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLCB2ZXJzaW9uIDIgKG9uZSBvciBvdGhlcikKKi8KY2xhc3MgQWRtaW5lclRpbnltY2UgewoJLyoqIEB2YXIgc3RyaW5nIEBhY2Nlc3MgcHJvdGVjdGVkICovCgl2YXIgJHBhdGg7CgkKCS8qKgoJKiBAcGFyYW0gc3RyaW5nCgkqLwoJZnVuY3Rpb24gQWRtaW5lclRpbnltY2UoJHBhdGggPSAidGlueV9tY2UvdGlueV9tY2UuanMiKSB7CgkJJHRoaXMtPnBhdGggPSAkcGF0aDsKCX0KCQoJZnVuY3Rpb24gaGVhZCgpIHsKCQkkbGFuZyA9ICJlbiI7CgkJaWYgKGZ1bmN0aW9uX2V4aXN0cygnZ2V0X2xhbmcnKSkgeyAvLyBzaW5jZSBBZG1pbmVyIDMuMi4wCgkJCSRsYW5nID0gZ2V0X2xhbmcoKTsKCQkJJGxhbmcgPSAoJGxhbmcgPT0gInpoIiA/ICJ6aC1jbiIgOiAoJGxhbmcgPT0gInpoLXR3IiA/ICJ6aCIgOiAkbGFuZykpOwoJCQlpZiAoIWZpbGVfZXhpc3RzKGRpcm5hbWUoJHRoaXMtPnBhdGgpIC4gIi9sYW5ncy8kbGFuZy5qcyIpKSB7CgkJCQkkbGFuZyA9ICJlbiI7CgkJCX0KCQl9CgkJPz4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iPD9waHAgZWNobyBoKCR0aGlzLT5wYXRoKTsgPz4iPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CnRpbnlNQ0UuaW5pdCh7Cgltb2RlOiAnbm9uZScsCgl0aGVtZTogJ2FkdmFuY2VkJywKCXBsdWdpbnM6ICdjb250ZXh0bWVudSxwYXN0ZSx0YWJsZScsCgllbnRpdHlfZW5jb2Rpbmc6ICdyYXcnLAoJdGhlbWVfYWR2YW5jZWRfYnV0dG9uczE6ICdib2xkLGl0YWxpYyxsaW5rLHVubGluayx8LHN1YixzdXAsfCxidWxsaXN0LG51bWxpc3QsfCxjbGVhbnVwLGNvZGUnLAoJdGhlbWVfYWR2YW5jZWRfYnV0dG9uczI6ICd0YWJsZWNvbnRyb2xzJywKCXRoZW1lX2FkdmFuY2VkX2J1dHRvbnMzOiAnJywKCXRoZW1lX2FkdmFuY2VkX3Rvb2xiYXJfbG9jYXRpb246ICd0b3AnLAoJdGhlbWVfYWR2YW5jZWRfdG9vbGJhcl9hbGlnbjogJ2xlZnQnLAoJbGFuZ3VhZ2U6ICc8P3BocCBlY2hvICRsYW5nOyA/PicKfSk7Cjwvc2NyaXB0Pgo8P3BocAoJfQoJCglmdW5jdGlvbiBzZWxlY3RWYWwoJiR2YWwsICRsaW5rLCAkZmllbGQpIHsKCQlpZiAoZXJlZygiX2h0bWwiLCAkZmllbGRbImZpZWxkIl0pICYmICR2YWwgIT0gJyZuYnNwOycpIHsKCQkJJHNob3J0ZW5lZCA9IChzdWJzdHIoJHZhbCwgLTEwKSA9PSAiPGk+Li4uPC9pPiIpOwoJCQlpZiAoJHNob3J0ZW5lZCkgewoJCQkJJHZhbCA9IHN1YnN0cigkdmFsLCAwLCAtMTApOwoJCQl9CgkJCS8vISBzaG9ydGVuIHdpdGggcmVnYXJkIHRvIEhUTUwgdGFncyAtIGh0dHA6Ly9waHAudnJhbmEuY3ovemtyYWNlbmktdGV4dHUtcy14aHRtbC16bmFja2FtaS5waHAKCQkJJHZhbCA9IHByZWdfcmVwbGFjZSgnfjxbXj5dKiR+JywgJycsIGh0bWxfZW50aXR5X2RlY29kZSgkdmFsLCBFTlRfUVVPVEVTKSk7IC8vIHJlbW92ZSBlbmRpbmcgaW5jb21wbGV0ZSB0YWcgKHRleHQgY2FuIGJlIHNob3J0ZW5lZCkKCQkJaWYgKCRzaG9ydGVuZWQpIHsKCQkJCSR2YWwgLj0gIjxpPi4uLjwvaT4iOwoJCQl9CgkJCWlmIChjbGFzc19leGlzdHMoJ0RPTURvY3VtZW50JykpIHsgLy8gY2xvc2UgYWxsIG9wZW5lZCB0YWdzCgkJCQkkZG9tID0gbmV3IERPTURvY3VtZW50OwoJCQkJaWYgKEAkZG9tLT5sb2FkSFRNTCgiPG1ldGEgaHR0cC1lcXVpdj0nQ29udGVudC1UeXBlJyBjb250ZW50PSd0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgnPjwvaGVhZD4kdmFsIikpIHsgLy8gQCAtICR2YWwgY2FuIGNvbnRhaW4gZXJyb3JzCgkJCQkJJHZhbCA9IHByZWdfcmVwbGFjZSgnfi4qPGJvZHlbXj5dKj4oLiopPC9ib2R5Pi4qfmlzJywgJ1xcMScsICRkb20tPnNhdmVIVE1MKCkpOwoJCQkJfQoJCQl9CgkJfQoJfQoJCglmdW5jdGlvbiBlZGl0SW5wdXQoJHRhYmxlLCAkZmllbGQsICRhdHRycywgJHZhbHVlKSB7CgkJaWYgKGVyZWcoInRleHQiLCAkZmllbGRbInR5cGUiXSkgJiYgZXJlZygiX2h0bWwiLCAkZmllbGRbImZpZWxkIl0pKSB7CgkJCXJldHVybiAiPHRleHRhcmVhJGF0dHJzIGlkPSdmaWVsZHMtIiAuIGgoJGZpZWxkWyJmaWVsZCJdKSAuICInIHJvd3M9JzEyJyBjb2xzPSc1MCc+IiAuIGgoJHZhbHVlKSAuICI8L3RleHRhcmVhPjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz4KdGlueU1DRS5yZW1vdmUodGlueU1DRS5nZXQoJ2ZpZWxkcy0iIC4ganNfZXNjYXBlKCRmaWVsZFsiZmllbGQiXSkgLiAiJykgfHwgeyB9KTsKdGlueU1DRS5leGVjQ29tbWFuZCgnbWNlQWRkQ29udHJvbCcsIHRydWUsICdmaWVsZHMtIiAuIGpzX2VzY2FwZSgkZmllbGRbImZpZWxkIl0pIC4gIicpOwpkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZm9ybScpLm9uc3VibWl0ID0gZnVuY3Rpb24gKCkgewoJdGlueU1DRS5lYWNoKHRpbnlNQ0UuZWRpdG9ycywgZnVuY3Rpb24gKGVkKSB7CgkJZWQucmVtb3ZlKCk7Cgl9KTsKfTsKPC9zY3JpcHQ+IjsKCQl9Cgl9CgkKfQo=]]></data>
	</file>
	<file>
	  <filename>/adminer/plugins/version-noverify.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKiBEaXNhYmxlIHZlcnNpb24gY2hlY2tlcgoqIEBhdXRob3IgSmFrdWIgVnJhbmEsIGh0dHA6Ly93d3cudnJhbmEuY3ovCiogQGxpY2Vuc2UgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAoqIEBsaWNlbnNlIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMi4wLmh0bWwgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIHZlcnNpb24gMiAob25lIG9yIG90aGVyKQoqLwpjbGFzcyBBZG1pbmVyVmVyc2lvbk5vdmVyaWZ5IHsKCQoJZnVuY3Rpb24gbmF2aWdhdGlvbigkbWlzc2luZykgewoJCT8+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KdmVyaWZ5VmVyc2lvbiA9IGZ1bmN0aW9uICgpIHsKfTsKPC9zY3JpcHQ+Cjw/cGhwCgl9CgkKfQo=]]></data>
	</file>
	<file>
	  <filename>/btAdminer.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTW9kdWxlIDogYnRBZG1pbmVyIChjKSAyMDExIGJ5IGJsYXR0ZXJ0ZWNoIGluZm9ybWF0aWsgKGluZm9AYmxhdHRlcnRlY2guY2gpDQojICAgICAgICAgIGEgQWRtaW5lciBleHRlbnNpb24gZm9yIENNUyBNYWRlIFNpbXBsZQ0KIyAgICAgICAgICBUaGUgcHJvamVjdHMgaG9tZXBhZ2UgaXMgZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2J0YWRtaW5lci8NCiMgICAgICAgICAgQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA0LTIwMTAgYnkgVGVkIEt1bHANCiMgICAgICAgICAgVGhlIHByb2plY3RzIGhvbWVwYWdlIGlzOiBjbXNtYWRlc2ltcGxlLm9yZw0KIyBWZXJzaW9uOiAxLjANCiMgRmlsZSAgIDogYnRBZG1pbmVyLm1vZHVsZS5waHANCiMgUHVycG9zZTogaW5pdGlhbCBtb2R1bGUgY2xhc3MuIHRoaXMgaXMgdGhlIGludGVyZmFjZSB0byB0aGUgTW9kdWxlIEFQSQ0KIyBMaWNlbnNlOiBHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCmNsYXNzIGJ0QWRtaW5lciBleHRlbmRzIENNU01vZHVsZQ0Kew0KCXB1YmxpYyAkY29uZmlnOw0KDQoJcHVibGljIGZ1bmN0aW9uIEdldE5hbWUoKSAJCQkJCXsJcmV0dXJuICdidEFkbWluZXInOwl9DQoNCglwdWJsaWMgZnVuY3Rpb24gR2V0RnJpZW5kbHlOYW1lKCkJCXsgcmV0dXJuICJidEFkbWluZXIiOwl9DQoNCglwdWJsaWMgZnVuY3Rpb24gR2V0VmVyc2lvbigpCQkJCXsJcmV0dXJuICcxLjIuMCc7CX0NCg0KCXB1YmxpYyBmdW5jdGlvbiBHZXRIZWxwKCkgCQkJCQl7CXJldHVybiAkdGhpcy0+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/JF9TRVNTSU9OWydBRE1fcHJvZyddOidhZG1pbmVyJzsNCg0KaW5jbHVkZSAnLi9hZG1pbmVyLycuJGZpbGUuJy0zLjMuMy5waHAnOw0K]]></data>
	</file>
	<file>
	  <filename>/function.admin_adminertab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTW9kdWxlIDogYnRBZG1pbmVyIChjKSAyMDExIGJ5IGJsYXR0ZXJ0ZWNoIGluZm9ybWF0aWsgKGluZm9AYmxhdHRlcnRlY2guY2gpDQojICAgICAgICAgIGEgQWRtaW5lciBleHRlbnNpb24gZm9yIENNUyBNYWRlIFNpbXBsZQ0KIyAgICAgICAgICBUaGUgcHJvamVjdHMgaG9tZXBhZ2UgaXMgZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2J0YWRtaW5lci8NCiMgICAgICAgICAgQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA0LTIwMTAgYnkgVGVkIEt1bHANCiMgICAgICAgICAgVGhlIHByb2plY3RzIGhvbWVwYWdlIGlzOiBjbXNtYWRlc2ltcGxlLm9yZw0KIyBWZXJzaW9uOiAxLjANCiMgRmlsZSAgIDogZnVuY3Rpb24uYWRtaW5fYWRtaW5lcnRhYi5waHANCiMgUHVycG9zZTogdGFiIHRvIGRpc3BsYXkgYnRBZG1pbmVyDQojIExpY2Vuc2U6IEdQTA0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdVc2UgYnRBZG1pbmVyJykpIHJldHVybjsNCg0KJHVybCA9ICRjb25maWdbJ3Jvb3RfdXJsJ10uJy9tb2R1bGVzL2J0QWRtaW5lci9idEFkbWluZXIucGhwP2xhbmc9Jy4kbGFuZy4nJmRiPScuJGNvbmZpZ1snZGJfbmFtZSddLicmc2VydmVyPScuJGNvbmZpZ1snZGJfaG9zdG5hbWUnXS4nJnVzZXJuYW1lPScuJGNvbmZpZ1snZGJfdXNlcm5hbWUnXTsNCg0KJHNtYXJ0eS0+YXNzaWduKCd1cmwnLCAkdXJsKTsNCiRzbWFydHktPmFzc2lnbignZnJhbWVoZWlnaHQnLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZnJhbWVoZWlnaHQnKSk7DQokc21hcnR5LT5hc3NpZ24oJ2Rpc3BsYXknLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGlzcGxheScpKTsNCiRzbWFydHktPmFzc2lnbigncHJvbXB0X29wZW5pbmxpZ2h0Ym94JywgJHRoaXMtPkxhbmcoJ29wZW5pbmxpZ2h0Ym94JykpOw0KDQplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluZXJ0YWIudHBsJyk7DQoNCg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_optiontab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTW9kdWxlIDogYnRBZG1pbmVyIChjKSAyMDExIGJ5IGJsYXR0ZXJ0ZWNoIGluZm9ybWF0aWsgKGluZm9AYmxhdHRlcnRlY2guY2gpDQojICAgICAgICAgIGEgQWRtaW5lciBleHRlbnNpb24gZm9yIENNUyBNYWRlIFNpbXBsZQ0KIyAgICAgICAgICBUaGUgcHJvamVjdHMgaG9tZXBhZ2UgaXMgZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2J0YWRtaW5lci8NCiMgICAgICAgICAgQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA0LTIwMTAgYnkgVGVkIEt1bHANCiMgICAgICAgICAgVGhlIHByb2plY3RzIGhvbWVwYWdlIGlzOiBjbXNtYWRlc2ltcGxlLm9yZw0KIyBWZXJzaW9uOiAxLjANCiMgRmlsZSAgIDogZnVuY3Rpb24uYWRtaW5fb3B0aW9udGFicy5waHANCiMgUHVycG9zZTogdGFiIHRvIGJ0QWRtaW5lciBwcmVmZXJlbmNlcw0KIyBMaWNlbnNlOiBHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCmlmICghJHRoaXMtPkNoZWNrUGVybWlzc2lvbignU2V0IGJ0QWRtaW5lciBQcmVmcycpKSByZXR1cm47DQoNCiRzbWFydHktPmFzc2lnbignc3RhcnRGb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICdhZG1pbl9lZGl0b3B0aW9uJywgJHJldHVybmlkLCdwb3N0JywnbXVsdGlwYXJ0L2Zvcm0tZGF0YScpKTsNCiRzbWFydHktPmFzc2lnbignZW5kRm9ybScsCSAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsNCiRzbWFydHktPmFzc2lnbignc3VibWl0JywgICAgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ3N1Ym1pdCcsIGxhbmcoJ3N1Ym1pdCcpKSk7DQoNCiRzbWFydHktPmFzc2lnbigncHJvbXB0X2Rpc3BsYXknLCAkdGhpcy0+TGFuZygncHJvbXB0X2Rpc3BsYXknKSk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2Rpc3BsYXknLCR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwgJ2Rpc3BsYXknLCBhcnJheSgnaUZyYW1lJyA9PiAnaWZyYW1lJywgJ0xpZ2h0Ym94JyA9PiAnbGlnaHRib3gnKSwgLTEsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkaXNwbGF5JykpKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfZnJhbWVoZWlnaHQnLCAkdGhpcy0+TGFuZygncHJvbXB0X2ZyYW1laGVpZ2h0JykpOw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9mcmFtZWhlaWdodCcsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnZnJhbWVoZWlnaHQnLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZnJhbWVoZWlnaHQnLCAnJyksIDUwKSk7DQoNCiRzbWFydHktPmFzc2lnbigncHJvbXB0X3Byb2cnLCAkdGhpcy0+TGFuZygncHJvbXB0X3Byb2cnKSk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3Byb2cnLCR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwgJ3Byb2cnLCBhcnJheSgnQWRtaW5lcicgPT4gJ2FkbWluZXInLCAnQWRtaW5lciBFZGl0b3InID0+ICdlZGl0b3InKSwgLTEsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwcm9nJykpKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfYWRtaW5fc2VjdGlvbicsICR0aGlzLT5MYW5nKCdwcm9tcHRfYWRtaW5fc2VjdGlvbicpKTsNCiRzbWFydHktPmFzc2lnbignaW5wdXRfYWRtaW5fc2VjdGlvbicsICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwgJ2FkbWluX3NlY3Rpb24nLCBhcnJheSgkdGhpcy0+TGFuZygnbmF2X21haW4nKSA9PiAnbWFpbicsICR0aGlzLT5MYW5nKCduYXZfY29udGVudCcpID0+ICdjb250ZW50JywgJHRoaXMtPkxhbmcoJ25hdl9sYXlvdXQnKSA9PiAnbGF5b3V0JywgJHRoaXMtPkxhbmcoJ25hdl91c2Vyc2dyb3VwcycpID0+ICd1c2Vyc2dyb3VwcycsICR0aGlzLT5MYW5nKCduYXZfZXh0ZW5zaW9ucycpID0+ICdleHRlbnNpb25zJywgJHRoaXMtPkxhbmcoJ25hdl9zaXRlYWRtaW4nKSA9PiAnc2l0ZWFkbWluJywgJHRoaXMtPkxhbmcoJ25hdl9teXByZWZzJykgPT4gJ215cHJlZnMnKSwgLTEsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhZG1pbl9zZWN0aW9uJykpKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCdnbG9iYWxvcHRpb25zJywgJHRoaXMtPkxhbmcoJ2dsb2JhbG9wdGlvbnMnKSk7DQoNCiRzbWFydHktPmFzc2lnbigncHJvbXB0X3htbGV4cG9ydCcsICR0aGlzLT5MYW5nKCdwcm9tcHRfeG1sZXhwb3J0JykpOw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF94bWxleHBvcnQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICd4bWxleHBvcnQnLCAnMScsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd4bWxleHBvcnQnKSkpOw0KDQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF96aXBleHBvcnQnLCAkdGhpcy0+TGFuZygncHJvbXB0X3ppcGV4cG9ydCcpKTsNCiRzbWFydHktPmFzc2lnbignaW5wdXRfemlwZXhwb3J0JywgJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAnemlwZXhwb3J0JywgJzEnLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnemlwZXhwb3J0JykpKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfY2FsZW5kYXInLCAkdGhpcy0+TGFuZygncHJvbXB0X2NhbGVuZGFyJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9jYWxlbmRhcicsICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJ2NhbGVuZGFyJywgJzEnLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY2FsZW5kYXInKSkpOw0KDQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9mb3JlaWduJywgJHRoaXMtPkxhbmcoJ3Byb21wdF9mb3JlaWduJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9mb3JlaWduJywgJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAnZm9yZWlnbicsICcxJywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2ZvcmVpZ24nKSkpOw0KDQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF90ZXh0YXJlYScsICR0aGlzLT5MYW5nKCdwcm9tcHRfdGV4dGFyZWEnKSk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3RleHRhcmVhJywgJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAndGV4dGFyZWEnLCAnMScsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd0ZXh0YXJlYScpKSk7DQoNCiRzbWFydHktPmFzc2lnbigncHJvbXB0X2VudW0nLCAkdGhpcy0+TGFuZygncHJvbXB0X2VudW0nKSk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2VudW0nLCAkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICdlbnVtJywgJzEnLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZW51bScpKSk7DQoNCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnb3B0aW9udGFiLnRwbCcpOw0KDQo=]]></data>
	</file>
	<file>
	  <filename>/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/button-hover.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAoAAAAVCAIAAADw0OikAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUKFN9kkmOBSEMQ5+l3P+4tSHEvUCUgF+0VxHOYFvE8zzcEf9wQFTvBoE/6cxEwkYCbEuyDQiiZa7tg9NsDdvbxFLM5SvGFXu5faOlyMwhW5wwRM+8GRNE2cPNe+9FQbTWDjOb735IWyFF9n6ofRPEjp65LtyHFb1KUPYwdiR4Tq8y+UhtR1TVjbMdMDP7SU5SwHz9+i5/bAuQgnNosWwAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/images/document-open.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAArElEQVR42qXQsQqCUBQG4CB6hVbBNZqEnHRzkBbHNodAeqn2HkJHnXwAX6AHMLEoqF9Pw4Huga4HL/xcONzvP3AXAGZF9TiLdjBnKnxeLWGWTMa3Y4gu9UWJFe/jAKg94H1Cf9jinrg/JZMx3c9yg0e8ZkxR4TZ3xB+oMM3Nt1b8qkZcCMz5v7kSm0WUm2UYf7qaIG+W2F5AUWEuGM8XX5sLhbGqgEKQsaJgVgaRbdb/YOydCgAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/images/error.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACZklEQVR42qWT+0tTYRjH+1s0TLsQEkH4g+aUYXYxdsxL22EXndtqeWFkUp65m+SKRBdiEqFmDoWgwAoqNZGQiDDKIupkpOtsbW7qPGfzzIJv5xzsjEj8xQe+v7y8n++X53nedxeAHem/g9/t5zI3PBYq5TLR6w4jm7DXsGyrno5f1lIrl8jMbQ0EkEi5zMFldz04vw/8owFJrL8bYcqMJVt1MNxUQWxpkHKbCd5Zx8V7Pfg1MQp+6BqS3vOS+LtebIyPIOprww+rilu0lBH/GPBOU0ayzcis9rolOOGqkfS3WLsebKsOqad+RG5cwbfaUoY2lGTIBkKf9qjTmoadBnAOg2wg9I/VFi1Wmknwj4cx30jiE1lklw2EC7TYJz/YIYJy4mZJ4LJNg2ijGvGbLkRvefG+Kp+WDWLN6iT/ZBCcxySCcuJmSeBS/VlErNUIN2gRH7mNWSIvKRuEmyqT62MDWHMYRVBO3Pg8J/IS+NNShZCpEiErifhwH16XHU4bMBdU9Gp/J7g+jwjKifE7XWAf+CUwaKwAYziDJS+FUHc7Zkpz0y0smE/Zv9t0WB+7J4Jy4mZJYEBfjkUtgbXRfrzTn8a08kB6iF9rjmV80SmZYEcLEg+H5MSYzyvsvkMCF0iVBM9TDZgq3sdMKnLkNUr6qFEQc9UFXMBzEdz9QUSvC4/GpEGgTo3IVUoYnAC3NuBFUQ43UbiH2PIpvy3PI96ojgQ/1KoQ6hLmMdCDWH8PmE43ZskTmCjMDj4vyCK2/UyvTh7KnDmeS70sOUhPK/ezU8V72UlFNj1+NIt6lr97y8+0I/0Bcq/UGoJ9DNcAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/images/information.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACm0lEQVR42qWT3U+SYRiH+1v0T+h9O2ltetBcmw3yTTvIrGGaqK10FWaDVYqJ+AUoYEMwP/KD8gtKUoQEXsnekI/Q1DcHZtDWVieQtSx/PdKGtVwnHlwnz577up/f7uc+BOBA/HOQp1/JPKkNS3PVIf54sy+RreQSWcoFPkvplR67x2b+VyDQLTMnVMF4eU8APc4oRtnNFCZ7BCLdC9DS2TgtszP7CkhXJqfFn2yeXIXNF0f3dBRy8xvcHV6GyrIKs2sDDaNh0BUTSfrKBPOXIFcTyshpXYztFltexiElRTcHghjyvMOQewM3egOQ9AfRO7sO+aMA6FJzjC4ZzkgLclSLsjKDD1buA2oHwpCQCNeMfnz5tp2iysihqpuD5IEPA88jONv0DFRhvywtyG7leJM9Co2Fx/UeP6qNPlQZOPQ519FLqOhif6P3kFhB6KZXQBcY+bTgqJzdGl94j9q+AOn0CpX3veQyCwDYIYi1bpR1zBFcuKx3w8xGQDGdW2kBLXNujXk3d7OmOpXrPKTIg3D0M5Jft1Ha7kRJmwMXCWK1AyPzRCBU/ymw8wY7D8XjJVTqvRB3unFJM4fXkU9E8B3FyhkUk9yiJhtqullobCHQp9r5PUGNTVakcmLIFUWlloVY5YKN28CPnzupCIG3H1EktxIs6HoSRsGtUSJok+0Jro5l0GJz7M6IH732NZSqHBA1T+O8YgpF9Racq5tAYd04WkZ8ZLzz5PmKGC1UpMeYghINMofzTUnpIAfTzAokBjd58lNcaLCiWuuAzhKEpI8FLahPkmJm369MFZgYKr8rfub2JDRTS3jo5glraLeGkFdrBiVoiNPCRua/y0Sf1mVSTIeUylPzlLApQQkaE6QjT5AeEdbvu0wH4hc4hsvsbED0hwAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/images/system-list-open.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAaUlEQVR42u2PPQqAMAyFe0gH127ew8HNM/QWzi6uXkOEXiFPXvBnaKWEbuLwJeEFvhAHoAot/RhgpWk9bsEZFBGRq6eCeVktJAJaLeQFGBzhrFeYZ3pBMHU6b3t8g/v/hW++wMDII6jiAHh/J/CCogq2AAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/de_DE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ1NldHplbiBTaWUgIlVzZSBidEFkbWluZXIiIHVuZCAiU2V0IGJ0QWRtaW5lciBQcmVmcyIgQmVyZWNodGlndW5nZW4gZsO8ciBkaWVzZXMgTW9kdWwhJzsNCiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnRXJmb2xncmVpY2ggZGVpbnN0YWxsaWVydCEnOw0KJGxhbmdbJ3JlYWxseV91bmluc3RhbGwnXSA9ICdXaXJrbGljaD8gTcO2Y2h0ZW4gU2llIGRpZXNlcyBNb2R1bCBkZWluc3RhbGxpZXJlbj8nOw0KJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTW9kdWwgYnRBZG1pbmVyIGRlaW5zdGFsbGllcnQuJzsNCiRsYW5nWydpbnN0YWxsZWQnXSA9ICdNb2R1bGUgYnRBZG1pbmVyIFZlcnNpb24gJXMgaW5zdGFsbGllcnQuJzsNCiRsYW5nWydwcmVmc3VwZGF0ZWQnXSA9ICdNb2R1bGVpbnN0ZWxsdW5nZW4gYWt0dWFsaXNpZXJ0Lic7DQokbGFuZ1snb3BlbmlubGlnaHRib3gnXSA9ICdidEFkbWluZXIgaW4gTGlnaHRib3ggw7ZmZm5lbic7DQokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdCaW5kZXQgZGVuIERhdGVuYmFuay1FZGl0b3IgQWRtaW5lciBlaW4uJzsNCiRsYW5nWydvcHRpb25zX3VwZGF0ZWQnXSA9ICdPcHRpb25lbiB3dXJkZW4gZXJmb2xncmVpY2ggYWt0dWFsaXNpZXJ0Lic7DQokbGFuZ1snZ2xvYmFsb3B0aW9ucyddID0gJ0FsbGdlbWVpbmUgRWluc3RlbGx1bmdlbic7DQoNCi8vIG9wdGlvbnMNCiRsYW5nWydvcHRpb25zJ10gPSAnT3B0aW9uZW4nOw0KJGxhbmdbJ3Byb21wdF9mcmFtZWhlaWdodCddID0gJ0ZyYW1laCZvdW1sO2hlIGluIFBpeGVsJzsNCiRsYW5nWydwcm9tcHRfcHJvZyddID0gJ0FkbWluZXIgQXVzZiZ1dW1sO2hydW5nIHdlbGNoZSBhbmdlemVpZ3Qgd2lyZCc7DQokbGFuZ1sncHJvbXB0X2Rpc3BsYXknXSA9ICdBbnplaWdlIGRlcyBidEFkbWluZXIgaW4gZWluZW0gRnJhbWUgb2RlciBpbiBlaW5lciBMaWdodGJveCc7DQokbGFuZ1sncHJvbXB0X29ubHliYWNrZW5kJ10gPSAnQW56ZWlnZSBkZXMgYnRBZG1pbmVyIG51ciB3ZW5uIGltIEJhY2tlbmQgZWluZ2Vsb2dndCAoa2VpbiBkaXJla3RlciBBdWZydWYgb2huZSBMb2dpbiknOw0KJGxhbmdbJ3Byb21wdF9hZG1pbl9zZWN0aW9uJ10gPSAnSGF1cHRuYXZpZ2F0aW9uc3B1bmt0IGbDvHIgTW9kdWwnOw0KDQovLyBwbHVnaW5zDQokbGFuZ1sncHJvbXB0X3ppcGV4cG9ydCddID0gJ0V4cG9ydCBEdW1wIGltIFppcC1Gb3JtYXQnOw0KJGxhbmdbJ3Byb21wdF94bWxleHBvcnQnXSA9ICdFeHBvcnQgRHVtcCBhbHMgWE1MIGluIGRlciBTdHJ1a3R1ciAmbHQ7ZGF0YWJhc2UgbmFtZT0iIiZndDsmbHQ7dGFibGUgbmFtZT0iIiZndDsmbHQ7Y29sdW1uIG5hbWU9IiImZ3Q7dmFsdWUpJzsNCiRsYW5nWydwcm9tcHRfY2FsZW5kYXInXSA9ICdFaW5iaW5kZW4gZGVzIGpRdWVyeSBVSSBUaW1lcGlja2VyIGbDvHIgamVkZXMgZGF0ZSB1bmQgZGF0ZXRpbWUgRmVsZCc7DQokbGFuZ1sncHJvbXB0X2ZvcmVpZ24nXSA9ICdmb3JlaWduIGtleSBiZWltIGJlYXJiZWl0ZW4gYXVzd8OkaGxlbiBrw7ZubmVuJzsNCiRsYW5nWydwcm9tcHRfdGV4dGFyZWEnXSA9ICcmbHQ7dGV4dGFyZWEmZ3Q7IGbDvHIgY2hhciB1bmQgdmFyY2hhciBGZWxkZXIgbnV0emVuJzsNCiRsYW5nWydwcm9tcHRfZW51bSddID0gJyZsdDtzZWxlY3Q+Jmx0O29wdGlvbiZndDsgZsO8ciBlbnVtIEZlbGRlciBhbnN0ZWxsZSB2b24gJmx0O2lucHV0IHR5cGU9InJhZGlvIiZndDsgbnV0emVuJzsNCg0KLy8gTmF2cG9pbnRzDQokbGFuZ1snbmF2X21haW4nXSA9ICdDTVMnOw0KJGxhbmdbJ25hdl9jb250ZW50J10gPSAnSW5oYWx0ZSc7DQokbGFuZ1snbmF2X2xheW91dCddID0gJ0xheW91dCc7DQokbGFuZ1snbmF2X3VzZXJzZ3JvdXBzJ10gPSAnQmVudXR6ZXJ2ZXJ3YWx0dW5nJzsNCiRsYW5nWyduYXZfZXh0ZW5zaW9ucyddID0gJ0Vyd2VpdGVydW5nZW4nOw0KJGxhbmdbJ25hdl9zaXRlYWRtaW4nXSA9ICdXZWJzZWl0ZW4tQWRtaW5pc3RyYXRpb24nOw0KJGxhbmdbJ25hdl9teXByZWZzJ10gPSAnTWVpbmUgRWluc3RlbGx1bmdlbic7DQoNCg==]]></data>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ1NldCAiVXNlIGJ0QWRtaW5lciIgYW5kICJTZXQgYnRBZG1pbmVyIFByZWZzIiBwZXJtaXNzaW9ucyB0byB1c2UgdGhpcyBtb2R1bGUhJzsNCiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnU3VjZXNzZnVsIHVuaW5zdGFsbCEnOw0KJGxhbmdbJ3JlYWxseV91bmluc3RhbGwnXSA9ICdSZWFsbHk/IFlvdVwncmUgc3VyZSB5b3Ugd2FudCB0byB1bmluc3RhbGwgdGhpcyBmaW5lIG1vZHVsZT8nOw0KJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTW9kdWxlIFVuaW5zdGFsbGVkLic7DQokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWxlIHZlcnNpb24gJXMgaW5zdGFsbGVkLic7DQokbGFuZ1sncHJlZnN1cGRhdGVkJ10gPSAnTW9kdWxlIHByZWZlcmVuY2VzIHVwZGF0ZWQuJzsNCiRsYW5nWydvcGVuaW5saWdodGJveCddID0gJ09wZW4gYnRBZG1pbmVyIGluIGEgbGlnaHRib3gnOw0KJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnRXh0ZW5kIHRoZSBhZG1pbiBpbnRlcmZhY2Ugd2l0aCBhbiBhbnkgd2Vic2l0ZSBpbiBhbiBpZnJhbWUuJzsNCiRsYW5nWydvcHRpb25zX3VwZGF0ZWQnXSA9ICdPcHRpb25zIGhhdmUgYmVlbiBzdWNjZXNzZnVsbHkgdXBkYXRlZC4nOw0KJGxhbmdbJ2dsb2JhbG9wdGlvbnMnXSA9ICdHbG9iYWwgT3B0aW9ucyc7DQoNCi8vIG9wdGlvbnMNCiRsYW5nWydvcHRpb25zJ10gPSAnT3B0aW9ucyc7DQokbGFuZ1sncHJvbXB0X2ZyYW1laGVpZ2h0J10gPSAnRnJhbWVoZWlnaHQgaW4gcGl4ZWwnOw0KJGxhbmdbJ3Byb21wdF9wcm9nJ10gPSAnQWRtaW5lciBwcm9ncmFtIHdoaWNoIGlzIHRvIGJlIGRpc3BsYXllZCc7DQokbGFuZ1sncHJvbXB0X2Rpc3BsYXknXSA9ICdEaXNwbHkgYnRBZG1pbmVyIGluIGEgaWZyYW1lIG9yIGluIGEgbGlnaHRib3gnOw0KJGxhbmdbJ3Byb21wdF9vbmx5YmFja2VuZCddID0gJ0Rpc3BsYXkgYnRBZG1pbmVyIG9ubHkgd2hlbiBsb2dnZWQgaW4nOw0KJGxhbmdbJ3Byb21wdF9hZG1pbl9zZWN0aW9uJ10gPSAnTW9kdWxlIGFkbWluIHNlY3Rpb24nOw0KDQovLyBwbHVnaW5zDQokbGFuZ1sncHJvbXB0X3ppcGV4cG9ydCddID0gJ0R1bXAgdG8gWklQIGZvcm1hdCc7DQokbGFuZ1sncHJvbXB0X3htbGV4cG9ydCddID0gJ0R1bXAgdG8gWE1MIGZvcm1hdCBpbiBzdHJ1Y3R1cmUgJmx0O2RhdGFiYXNlIG5hbWU9IiImZ3Q7Jmx0O3RhYmxlIG5hbWU9IiImZ3Q7Jmx0O2NvbHVtbiBuYW1lPSIiJmd0O3ZhbHVlKSc7DQokbGFuZ1sncHJvbXB0X2NhbGVuZGFyJ10gPSAnRGlzcGxheSBqUXVlcnkgVUkgVGltZXBpY2tlciBmb3IgZWFjaCBkYXRlIGFuZCBkYXRldGltZSBmaWVsZCc7DQokbGFuZ1sncHJvbXB0X2ZvcmVpZ24nXSA9ICdTZWxlY3QgZm9yZWlnbiBrZXkgaW4gZWRpdCBmb3JtJzsNCiRsYW5nWydwcm9tcHRfdGV4dGFyZWEnXSA9ICdVc2UgJmx0O3RleHRhcmVhJmd0OyBmb3IgY2hhciBhbmQgdmFyY2hhcic7DQokbGFuZ1sncHJvbXB0X2VudW0nXSA9ICdVc2UgJmx0O3NlbGVjdD4mbHQ7b3B0aW9uJmd0OyBmb3IgZW51bSBGZWRpdCBpbnN0ZWFkIG9mICZsdDtpbnB1dCB0eXBlPSJyYWRpbyImZ3Q7JzsNCg0KLy8gTmF2cG9pbnRzDQokbGFuZ1snbmF2X21haW4nXSA9ICdNYWluJzsNCiRsYW5nWyduYXZfY29udGVudCddID0gJ0NvbnRlbnQnOw0KJGxhbmdbJ25hdl9sYXlvdXQnXSA9ICdMYXlvdXQnOw0KJGxhbmdbJ25hdl91c2Vyc2dyb3VwcyddID0gJ1VzZXJzZ3JvdXBzJzsNCiRsYW5nWyduYXZfZXh0ZW5zaW9ucyddID0gJ0V4dGVuc2lvbnMnOw0KJGxhbmdbJ25hdl9zaXRlYWRtaW4nXSA9ICdTaXRlYWRtaW4nOw0KJGxhbmdbJ25hdl9teXByZWZzJ10gPSAnTXkgUHJlZnMnOw0K]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTW9kdWxlIDogYnRBZG1pbmVyIChjKSAyMDExIGJ5IGJsYXR0ZXJ0ZWNoIGluZm9ybWF0aWsgKGluZm9AYmxhdHRlcnRlY2guY2gpDQojICAgICAgICAgIGEgQWRtaW5lciBleHRlbnNpb24gZm9yIENNUyBNYWRlIFNpbXBsZQ0KIyAgICAgICAgICBUaGUgcHJvamVjdHMgaG9tZXBhZ2UgaXMgZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2J0YWRtaW5lci8NCiMgICAgICAgICAgQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA0LTIwMTAgYnkgVGVkIEt1bHANCiMgICAgICAgICAgVGhlIHByb2plY3RzIGhvbWVwYWdlIGlzOiBjbXNtYWRlc2ltcGxlLm9yZw0KIyBWZXJzaW9uOiAxLjANCiMgRmlsZSAgIDogbWV0aG9kLmluc3RhbGwucGhwDQojIFB1cnBvc2U6IGluc3RhbGwgYnRBZG1pbmVyDQojIExpY2Vuc2U6IEdQTA0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KLy8gc2V0IHByZWZzDQokdGhpcy0+U2V0UHJlZmVyZW5jZSgnYWRtaW5fc2VjdGlvbicsICdzaXRlYWRtaW4nKTsNCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdwcm9nJywgJ2FkbWluZXInKTsNCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdkaXNwbGF5JywgJ2lmcmFtZScpOw0KJHRoaXMtPlNldFByZWZlcmVuY2UoJ2ZyYW1laGVpZ2h0JywgJzgwMCcpOw0KJHRoaXMtPlNldFByZWZlcmVuY2UoJ3ppcGV4cG9ydCcsICcwJyk7DQokdGhpcy0+U2V0UHJlZmVyZW5jZSgneG1sZXhwb3J0JywgJzAnKTsNCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdjYWxlbmRhcicsICcwJyk7DQokdGhpcy0+U2V0UHJlZmVyZW5jZSgnZm9yZWlnbicsICcwJyk7DQokdGhpcy0+U2V0UHJlZmVyZW5jZSgndGV4dGFyZWEnLCAnMCcpOw0KJHRoaXMtPlNldFByZWZlcmVuY2UoJ2VudW0nLCAnMCcpOw0KDQovLyBzZXQgcGVybWlzc2lvbg0KJHRoaXMtPkNyZWF0ZVBlcm1pc3Npb24oJ1VzZSBidEFkbWluZXInLCAnVXNlIGJ0QWRtaW5lcicpOw0KJHRoaXMtPkNyZWF0ZVBlcm1pc3Npb24oJ1NldCBidEFkbWluZXIgUHJlZnMnLCAnU2V0IGJ0QWRtaW5lciBQcmVmcycpOw0KDQovLyBtZXNzYWdlDQokdGhpcy0+QXVkaXQoMCwgJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpLCAkdGhpcy0+TGFuZygnaW5zdGFsbGVkJywgJHRoaXMtPkdldFZlcnNpb24oKSkpOw0K]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTW9kdWxlIDogYnRBZG1pbmVyIChjKSAyMDExIGJ5IGJsYXR0ZXJ0ZWNoIGluZm9ybWF0aWsgKGluZm9AYmxhdHRlcnRlY2guY2gpDQojICAgICAgICAgIGEgQWRtaW5lciBleHRlbnNpb24gZm9yIENNUyBNYWRlIFNpbXBsZQ0KIyAgICAgICAgICBUaGUgcHJvamVjdHMgaG9tZXBhZ2UgaXMgZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2J0YWRtaW5lci8NCiMgICAgICAgICAgQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA0LTIwMTAgYnkgVGVkIEt1bHANCiMgICAgICAgICAgVGhlIHByb2plY3RzIGhvbWVwYWdlIGlzOiBjbXNtYWRlc2ltcGxlLm9yZw0KIyBWZXJzaW9uOiAxLjANCiMgRmlsZSAgIDogbWV0aG9kLnVuaW5zdGFsbC5waHANCiMgUHVycG9zZTogdW5pbnN0YWxsIGJ0QWRtaW5lcg0KIyBMaWNlbnNlOiBHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCiR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKCk7DQokdGhpcy0+UmVtb3ZlUGVybWlzc2lvbigpOw0KDQokdGhpcy0+QXVkaXQoMCwgJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpLCAkdGhpcy0+TGFuZygndW5pbnN0YWxsZWQnKSk7DQo=]]></data>
	</file>
	<file>
	  <filename>/style/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/style/greybox/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/style/greybox/AJS.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[aWYoIXdpbmRvdy5BSlMpe3ZhciBBSlM9e0JBU0VfVVJMOiIiLGFqYXhFcnJvckhhbmRsZXI6bnVsbCxnZXRRdWVyeUFyZ3VtZW50OmZ1bmN0aW9uKGYpe3ZhciBiPXdpbmRvdy5sb2NhdGlvbi5zZWFyY2guc3Vic3RyaW5nKDEpO3ZhciBjPWIuc3BsaXQoIiYiKTtmb3IodmFyIGE9MDthPGMubGVuZ3RoO2ErKyl7dmFyIGQ9Y1thXS5zcGxpdCgiPSIpO2lmKGRbMF09PWYpe3JldHVybiBkWzFdfX1yZXR1cm4gbnVsbH0sX2FnZW50Om5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKSxfYWdlbnRfdmVyc2lvbjpuYXZpZ2F0b3IucHJvZHVjdFN1Yixpc0llOmZ1bmN0aW9uKCl7cmV0dXJuKEFKUy5fYWdlbnQuaW5kZXhPZigibXNpZSIpIT0tMSYmQUpTLl9hZ2VudC5pbmRleE9mKCJvcGVyYSIpPT0tMSl9LGlzSWU4OmZ1bmN0aW9uKCl7cmV0dXJuIEFKUy5fYWdlbnQuaW5kZXhPZigibXNpZSA4IikhPS0xfSxpc1NhZmFyaTpmdW5jdGlvbihhKXtpZihhKXtyZXR1cm4gQUpTLl9hZ2VudC5pbmRleE9mKCJraHRtbCIpfXJldHVybihBSlMuX2FnZW50LmluZGV4T2YoImtodG1sIikhPS0xJiZBSlMuX2FnZW50Lm1hdGNoKC8zXC5cZFwuXGQgc2FmYXJpLyk9PW51bGwpfSxpc09wZXJhOmZ1bmN0aW9uKCl7cmV0dXJuIEFKUy5fYWdlbnQuaW5kZXhPZigib3BlcmEiKSE9LTF9LGlzTW96aWxsYTpmdW5jdGlvbigpe3JldHVybihBSlMuX2FnZW50LmluZGV4T2YoImdlY2tvIikhPS0xJiZBSlMuX2FnZW50X3ZlcnNpb24+PTIwMDMwMjEwKX0saXNNYWM6ZnVuY3Rpb24oKXtyZXR1cm4oQUpTLl9hZ2VudC5pbmRleE9mKCJtYWNpbnRvc2giKSE9LTEpfSxpc0NhbWlubzpmdW5jdGlvbigpe3JldHVybihBSlMuX2FnZW50LmluZGV4T2YoImNhbWlubyIpIT0tMSl9LGNyZWF0ZUFycmF5OmZ1bmN0aW9uKGEpe2lmKEFKUy5pc0FycmF5KGEpJiYhQUpTLmlzU3RyaW5nKGEpKXtyZXR1cm4gYX1lbHNle2lmKCFhKXtyZXR1cm5bXX1lbHNle3JldHVyblthXX19fSxmb3JjZUFycmF5OmZ1bmN0aW9uKGEpe3ZhciBjPVtdO2Zvcih2YXIgYj0wO2I8YS5sZW5ndGg7YisrKXtjLnB1c2goYVtiXSl9cmV0dXJuIGN9LGpvaW46ZnVuY3Rpb24oZCxiKXt0cnl7cmV0dXJuIGIuam9pbihkKX1jYXRjaChjKXt2YXIgYT1iWzBdfHwiIjtBSlMubWFwKGIsZnVuY3Rpb24oZil7YSs9ZCtmfSwxKTtyZXR1cm4gYSsiIn19LGlzSW46ZnVuY3Rpb24oYyxiKXt2YXIgYT1BSlMuZ2V0SW5kZXgoYyxiKTtpZihhIT0tMSl7cmV0dXJuIHRydWV9ZWxzZXtyZXR1cm4gZmFsc2V9fSxnZXRJbmRleDpmdW5jdGlvbihkLGIsYyl7Zm9yKHZhciBhPTA7YTxiLmxlbmd0aDthKyspe2lmKGMmJmMoYlthXSl8fGQ9PWJbYV0pe3JldHVybiBhfX1yZXR1cm4gLTF9LGdldEZpcnN0OmZ1bmN0aW9uKGEpe2lmKGEubGVuZ3RoPjApe3JldHVybiBhWzBdfWVsc2V7cmV0dXJuIG51bGx9fSxnZXRMYXN0OmZ1bmN0aW9uKGEpe2lmKGEubGVuZ3RoPjApe3JldHVybiBhW2EubGVuZ3RoLTFdfWVsc2V7cmV0dXJuIG51bGx9fSxnZXRSYW5kb206ZnVuY3Rpb24oYSl7cmV0dXJuIGFbTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKmEubGVuZ3RoKV19LHVwZGF0ZTpmdW5jdGlvbihiLGEpe2Zvcih2YXIgYyBpbiBhKXtiW2NdPWFbY119cmV0dXJuIGJ9LGZsYXR0ZW5MaXN0OmZ1bmN0aW9uKGcpe3ZhciBmPWZhbHNlO3ZhciBhPVtdO2Zvcih2YXIgYj0wO2I8Zy5sZW5ndGg7YisrKXt2YXIgaD1nW2JdO2lmKEFKUy5pc0FycmF5KGgpKXtmPXRydWU7YnJlYWt9aWYoaCE9bnVsbCl7YS5wdXNoKGgpfX1pZighZil7cmV0dXJuIGF9dmFyIGM9W107dmFyIGQ9ZnVuY3Rpb24oaixpKXtBSlMubWFwKGksZnVuY3Rpb24obCl7aWYobD09bnVsbCl7fWVsc2V7aWYoQUpTLmlzQXJyYXkobCkpe2QoaixsKX1lbHNle2oucHVzaChsKX19fSl9O2QoYyxnKTtyZXR1cm4gY30sZmxhdHRlbkVsbUFyZ3VtZW50czpmdW5jdGlvbihhKXtyZXR1cm4gQUpTLmZsYXR0ZW5MaXN0KEFKUy5mb3JjZUFycmF5KGEpKX0sbWFwOmZ1bmN0aW9uKGcsZixiLGQpe3ZhciBjPTAsYT1nLmxlbmd0aDtpZihiKXtjPWJ9aWYoZCl7YT1kfWZvcihjO2M8YTtjKyspe3ZhciBoPWYoZ1tjXSxjKTtpZihoIT11bmRlZmluZWQpe3JldHVybiBofX19LHJtYXA6ZnVuY3Rpb24oZCxjKXt2YXIgYj1kLmxlbmd0aC0xLGE9MDtmb3IoYjtiPj1hO2ItLSl7dmFyIGY9Yy5hcHBseShudWxsLFtkW2JdLGJdKTtpZihmIT11bmRlZmluZWQpe3JldHVybiBmfX19LGZpbHRlcjpmdW5jdGlvbihmLGMsYSxiKXt2YXIgZD1bXTtBSlMubWFwKGYsZnVuY3Rpb24oZyl7aWYoYyhnKSl7ZC5wdXNoKGcpfX0sYSxiKTtyZXR1cm4gZH0scGFydGlhbDpmdW5jdGlvbihiKXt2YXIgYT1BSlMuJEZBKGFyZ3VtZW50cyk7YS5zaGlmdCgpO3JldHVybiBmdW5jdGlvbigpe2E9YS5jb25jYXQoQUpTLiRGQShhcmd1bWVudHMpKTtyZXR1cm4gYi5hcHBseSh3aW5kb3csYSl9fSxnZXRFbGVtZW50OmZ1bmN0aW9uKGEpe2lmKEFKUy5pc1N0cmluZyhhKXx8QUpTLmlzTnVtYmVyKGEpKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYSl9ZWxzZXtyZXR1cm4gYX19LGdldEVsZW1lbnRzOmZ1bmN0aW9uKCl7dmFyIGE9QUpTLmZsYXR0ZW5FbG1Bcmd1bWVudHMoYXJndW1lbnRzKTt2YXIgZD1uZXcgQXJyYXkoKTtmb3IodmFyIGM9MDtjPGEubGVuZ3RoO2MrKyl7dmFyIGI9QUpTLmdldEVsZW1lbnQoYVtjXSk7ZC5wdXNoKGIpfXJldHVybiBkfSxnZXRFbGVtZW50c0J5VGFnQW5kQ2xhc3NOYW1lOmZ1bmN0aW9uKGEsYixuLGgpe3ZhciBnPVtdO2lmKCFBSlMuaXNEZWZpbmVkKG4pKXtuPWRvY3VtZW50fWlmKCFBSlMuaXNEZWZpbmVkKGEpKXthPSIqIn12YXIgZixkO2lmKGImJmRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUpe3ZhciBjPW4uZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShiKTtpZihhPT0iKiIpe2c9QUpTLmZvcmNlQXJyYXkoYyl9ZWxzZXt2YXIgbT1jLmxlbmd0aDtmb3IoZj0wO2Y8bTtmKyspe2lmKGNbZl0ubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09YSl7Zy5wdXNoKGNbZl0pfX19fWVsc2V7dmFyIGM9bi5nZXRFbGVtZW50c0J5VGFnTmFtZShhKTtpZighYil7Zz1BSlMuZm9yY2VBcnJheShjKX1lbHNle3ZhciBtPWMubGVuZ3RoO3ZhciBsPW5ldyBSZWdFeHAoIihefFxccykiK2IrIihcXHN8JCkiKTtmb3IoZj0wO2Y8bTtmKyspe2lmKGwudGVzdChjW2ZdLmNsYXNzTmFtZSl8fCFiKXtnLnB1c2goY1tmXSl9fX19aWYoaCl7cmV0dXJuIGdbMF19ZWxzZXtyZXR1cm4gZ319LG5vZGVOYW1lOmZ1bmN0aW9uKGEpe3JldHVybiBhLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCl9LF9ub2RlV2FsazpmdW5jdGlvbihnLGQsYixmKXt2YXIgYz1mKGcpO3ZhciBhO2lmKGQmJmIpe2E9ZnVuY3Rpb24oaCl7cmV0dXJuIEFKUy5ub2RlTmFtZShoKT09ZCYmQUpTLmhhc0NsYXNzKGgsYil9fWVsc2V7aWYoZCl7YT1mdW5jdGlvbihoKXtyZXR1cm4gQUpTLm5vZGVOYW1lKGgpPT1kfX1lbHNle2E9ZnVuY3Rpb24oaCl7cmV0dXJuIEFKUy5oYXNDbGFzcyhoLGIpfX19aWYoYShnKSl7cmV0dXJuIGd9d2hpbGUoYyl7aWYoYShjKSl7cmV0dXJuIGN9Yz1mKGMpfXJldHVybiBudWxsfSxnZXRQYXJlbnRCeXRjOmZ1bmN0aW9uKGMsYixhKXtyZXR1cm4gQUpTLl9ub2RlV2FsayhjLGIsYSxmdW5jdGlvbihkKXtpZihkKXtyZXR1cm4gZC5wYXJlbnROb2RlfX0pfSxnZXRDaGlsZEJ5dGM6ZnVuY3Rpb24oZCxjLGIpe3ZhciBhPUFKUy4kYnl0YyhjLGIsZCk7aWYoYS5sZW5ndGg+MCl7cmV0dXJuIGFbMF19ZWxzZXtyZXR1cm4gbnVsbH19LGhhc1BhcmVudDpmdW5jdGlvbihjLGIsYSl7aWYoYz09Yil7cmV0dXJuIHRydWV9aWYoYT09MCl7cmV0dXJuIGZhbHNlfXJldHVybiBBSlMuaGFzUGFyZW50KGMucGFyZW50Tm9kZSxiLGEtMSl9LGdldFByZXZpb3VzU2libGluZ0J5dGM6ZnVuY3Rpb24oYyxiLGEpe3JldHVybiBBSlMuX25vZGVXYWxrKGMsYixhLGZ1bmN0aW9uKGQpe3JldHVybiBkLnByZXZpb3VzU2libGluZ30pfSxnZXROZXh0U2libGluZ0J5dGM6ZnVuY3Rpb24oYyxiLGEpe3JldHVybiBBSlMuX25vZGVXYWxrKGMsYixhLGZ1bmN0aW9uKGQpe3JldHVybiBkLm5leHRTaWJsaW5nfSl9LGdldEJvZHk6ZnVuY3Rpb24oKXtyZXR1cm4gQUpTLiRieXRjKCJib2R5IilbMF19LGdldEZvcm1FbGVtZW50OmZ1bmN0aW9uKGMsYSl7Yz1BSlMuJChjKTt2YXIgYj1udWxsO0FKUy5tYXAoYy5lbGVtZW50cyxmdW5jdGlvbihkKXtpZihkLm5hbWUmJmQubmFtZT09YSl7Yj1kfX0pO2lmKGIpe3JldHVybiBifUFKUy5tYXAoQUpTLiRieXRjKCJzZWxlY3QiLG51bGwsYyksZnVuY3Rpb24oZCl7aWYoZC5uYW1lJiZkLm5hbWU9PWEpe2I9ZH19KTtyZXR1cm4gYn0sZ2V0U2VsZWN0VmFsdWU6ZnVuY3Rpb24oYSl7dmFyIGE9QUpTLiQoYSk7cmV0dXJuIGEub3B0aW9uc1thLnNlbGVjdGVkSW5kZXhdLnZhbHVlfSxkb2N1bWVudEluc2VydDpmdW5jdGlvbihhKXtpZih0eXBlb2YoYSk9PSJzdHJpbmciKXthPUFKUy5IVE1MMkRPTShhKX1kb2N1bWVudC53cml0ZSgnPHNwYW4gaWQ9ImR1bW15X2hvbGRlciI+PC9zcGFuPicpO0FKUy5zd2FwRE9NKEFKUy4kKCJkdW1teV9ob2xkZXIiKSxhKX0sYXBwZW5kQ2hpbGROb2RlczpmdW5jdGlvbihhKXtpZihhcmd1bWVudHMubGVuZ3RoPj0yKXtBSlMubWFwKGFyZ3VtZW50cyxmdW5jdGlvbihiKXtpZihBSlMuaXNTdHJpbmcoYikpe2I9QUpTLlROKGIpfWlmKEFKUy5pc0RlZmluZWQoYikpe2EuYXBwZW5kQ2hpbGQoYil9fSwxKX1yZXR1cm4gYX0sYXBwZW5kVG9Ub3A6ZnVuY3Rpb24oZCl7dmFyIGI9QUpTLmZsYXR0ZW5FbG1Bcmd1bWVudHMoYXJndW1lbnRzKS5zbGljZSgxKTtpZihiLmxlbmd0aD49MSl7dmFyIGM9ZC5maXJzdENoaWxkO2lmKGMpe3doaWxlKHRydWUpe3ZhciBhPWIuc2hpZnQoKTtpZihhKXtBSlMuaW5zZXJ0QmVmb3JlKGEsYyl9ZWxzZXticmVha319fWVsc2V7QUpTLkFDTi5hcHBseShudWxsLGFyZ3VtZW50cyl9fXJldHVybiBkfSxyZXBsYWNlQ2hpbGROb2RlczpmdW5jdGlvbihiKXt2YXIgYTt3aGlsZSgoYT1iLmZpcnN0Q2hpbGQpKXtBSlMuc3dhcERPTShhLG51bGwpfWlmKGFyZ3VtZW50cy5sZW5ndGg8Mil7cmV0dXJuIGJ9ZWxzZXtyZXR1cm4gQUpTLmFwcGVuZENoaWxkTm9kZXMuYXBwbHkobnVsbCxhcmd1bWVudHMpfXJldHVybiBifSxpbnNlcnRBZnRlcjpmdW5jdGlvbihiLGEpe2EucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYixhLm5leHRTaWJsaW5nKTtyZXR1cm4gYn0saW5zZXJ0QmVmb3JlOmZ1bmN0aW9uKGIsYSl7YS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShiLGEpO3JldHVybiBifSxzd2FwRE9NOmZ1bmN0aW9uKGEsYyl7YT1BSlMuZ2V0RWxlbWVudChhKTt2YXIgYj1hLnBhcmVudE5vZGU7aWYoYyl7Yz1BSlMuZ2V0RWxlbWVudChjKTtiLnJlcGxhY2VDaGlsZChjLGEpfWVsc2V7Yi5yZW1vdmVDaGlsZChhKX1yZXR1cm4gY30scmVtb3ZlRWxlbWVudDpmdW5jdGlvbigpe3ZhciBhPUFKUy5mbGF0dGVuRWxtQXJndW1lbnRzKGFyZ3VtZW50cyk7dHJ5e0FKUy5tYXAoYSxmdW5jdGlvbihjKXtpZigkKGMpKXtBSlMuc3dhcERPTShjLG51bGwpfX0pfWNhdGNoKGIpe319LGNyZWF0ZURPTTpmdW5jdGlvbihmLGQpe3ZhciBnPTAsYTt2YXIgbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KGYpO3ZhciBiPWRbMF07aWYoQUpTLmlzRGljdChkW2ddKSl7Zm9yKGsgaW4gYil7YT1iW2tdO2lmKGs9PSJzdHlsZSJ8fGs9PSJzIil7bC5zdHlsZS5jc3NUZXh0PWF9ZWxzZXtpZihrPT0iYyJ8fGs9PSJjbGFzcyJ8fGs9PSJjbGFzc05hbWUiKXtsLmNsYXNzTmFtZT1hfWVsc2V7bC5zZXRBdHRyaWJ1dGUoayxhKX19fWcrK31pZihiPT1udWxsKXtnPTF9Zm9yKHZhciBjPWc7YzxkLmxlbmd0aDtjKyspe3ZhciBhPWRbY107aWYoYSl7dmFyIGg9dHlwZW9mKGEpO2lmKGg9PSJzdHJpbmcifHxoPT0ibnVtYmVyIil7YT1BSlMuVE4oYSl9bC5hcHBlbmRDaGlsZChhKX19cmV0dXJuIGx9LF9jcmVhdGVEb21TaG9ydGN1dHM6ZnVuY3Rpb24oKXt2YXIgYj1bInVsIiwibGkiLCJ0ZCIsInRyIiwidGgiLCJ0Ym9keSIsInRhYmxlIiwiaW5wdXQiLCJzcGFuIiwiYiIsImEiLCJkaXYiLCJpbWciLCJidXR0b24iLCJoMSIsImgyIiwiaDMiLCJoNCIsImg1IiwiaDYiLCJiciIsInRleHRhcmVhIiwiZm9ybSIsInAiLCJzZWxlY3QiLCJvcHRpb24iLCJvcHRncm91cCIsImlmcmFtZSIsInNjcmlwdCIsImNlbnRlciIsImRsIiwiZHQiLCJkZCIsInNtYWxsIiwicHJlIiwiaSIsImxhYmVsIiwidGhlYWQiXTt2YXIgYT1mdW5jdGlvbihjKXtBSlNbYy50b1VwcGVyQ2FzZSgpXT1mdW5jdGlvbigpe3JldHVybiBBSlMuY3JlYXRlRE9NLmFwcGx5KG51bGwsW2MsYXJndW1lbnRzXSl9fTtBSlMubWFwKGIsYSk7QUpTLlROPWZ1bmN0aW9uKGMpe3JldHVybiBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShjKX19LHNldEhUTUw6ZnVuY3Rpb24oKXt2YXIgYT1BSlMuZmxhdHRlbkVsbUFyZ3VtZW50cyhhcmd1bWVudHMpO3ZhciBiPWEucG9wKCk7QUpTLm1hcChhLGZ1bmN0aW9uKGMpe2lmKGMpe2MuaW5uZXJIVE1MPWJ9fSk7cmV0dXJuIGFbMF19LHNldFZpc2liaWxpdHk6ZnVuY3Rpb24oKXt2YXIgYT1BSlMuZmxhdHRlbkVsbUFyZ3VtZW50cyhhcmd1bWVudHMpO3ZhciBiPWEucG9wKCkmJiJ2aXNpYmxlInx8ImhpZGRlbiI7QUpTLnNldFN0eWxlKGEsInZpc2liaWxpdHkiLGIpfSxzaG93RWxlbWVudDpmdW5jdGlvbigpe0FKUy5zZXRTdHlsZShBSlMuZmxhdHRlbkVsbUFyZ3VtZW50cyhhcmd1bWVudHMpLCJkaXNwbGF5IiwiIil9LGhpZGVFbGVtZW50OmZ1bmN0aW9uKGEpe0FKUy5zZXRTdHlsZShBSlMuZmxhdHRlbkVsbUFyZ3VtZW50cyhhcmd1bWVudHMpLCJkaXNwbGF5Iiwibm9uZSIpfSxpc0VsZW1lbnRIaWRkZW46ZnVuY3Rpb24oYSl7cmV0dXJuKChhLnN0eWxlLmRpc3BsYXk9PSJub25lIil8fChhLnN0eWxlLnZpc2liaWxpdHk9PSJoaWRkZW4iKSl9LGlzRWxlbWVudFNob3duOmZ1bmN0aW9uKGEpe3JldHVybiAhQUpTLmlzRWxlbWVudEhpZGRlbihhKX0sc2V0U3R5bGU6ZnVuY3Rpb24oKXt2YXIgYj1BSlMuZmxhdHRlbkVsbUFyZ3VtZW50cyhhcmd1bWVudHMpO3ZhciBkPWIucG9wKCk7dmFyIGE9WyJ0b3AiLCJsZWZ0IiwicmlnaHQiLCJ3aWR0aCIsImhlaWdodCJdO2lmKEFKUy5pc09iamVjdChkKSl7QUpTLm1hcChiLGZ1bmN0aW9uKGYpe0FKUy5tYXAoQUpTLmtleXMoZCksZnVuY3Rpb24oaCl7dmFyIGc9ZFtoXTtpZihBSlMuaXNJbihoLGEpKXtnPUFKUy5pc1N0cmluZyhnKSYmZ3x8ZysicHgifWYuc3R5bGVbaF09Z30pfSl9ZWxzZXt2YXIgYz1iLnBvcCgpO0FKUy5tYXAoYixmdW5jdGlvbihmKXtpZihBSlMuaXNJbihjLGEpKXtkPUFKUy5pc1N0cmluZyhkKSYmZHx8ZCsicHgifWYuc3R5bGVbY109ZH0pfX0sX19jc3NEaW06ZnVuY3Rpb24oYSxiKXt2YXIgYT1BSlMuJEZBKGEpO2Euc3BsaWNlKGEubGVuZ3RoLTEsMCxiKTtBSlMuc2V0U3R5bGUuYXBwbHkobnVsbCxhKX0sc2V0V2lkdGg6ZnVuY3Rpb24oKXtyZXR1cm4gQUpTLl9fY3NzRGltKGFyZ3VtZW50cywid2lkdGgiKX0sc2V0SGVpZ2h0OmZ1bmN0aW9uKCl7cmV0dXJuIEFKUy5fX2Nzc0RpbShhcmd1bWVudHMsImhlaWdodCIpfSxzZXRMZWZ0OmZ1bmN0aW9uKCl7cmV0dXJuIEFKUy5fX2Nzc0RpbShhcmd1bWVudHMsImxlZnQiKX0sc2V0UmlnaHQ6ZnVuY3Rpb24oKXtyZXR1cm4gQUpTLl9fY3NzRGltKGFyZ3VtZW50cywicmlnaHQiKX0sc2V0VG9wOmZ1bmN0aW9uKCl7cmV0dXJuIEFKUy5fX2Nzc0RpbShhcmd1bWVudHMsInRvcCIpfSxzZXRDbGFzczpmdW5jdGlvbigpe3ZhciBhPUFKUy5mbGF0dGVuRWxtQXJndW1lbnRzKGFyZ3VtZW50cyk7dmFyIGI9YS5wb3AoKTtBSlMubWFwKGEsZnVuY3Rpb24oYyl7Yy5jbGFzc05hbWU9Yn0pfSxhZGRDbGFzczpmdW5jdGlvbigpe3ZhciBiPUFKUy5mbGF0dGVuRWxtQXJndW1lbnRzKGFyZ3VtZW50cyk7dmFyIGE9Yi5wb3AoKTt2YXIgYz1mdW5jdGlvbihkKXtpZighbmV3IFJlZ0V4cCgiKF58XFxzKSIrYSsiKFxcc3wkKSIpLnRlc3QoZC5jbGFzc05hbWUpKXtkLmNsYXNzTmFtZSs9KGQuY2xhc3NOYW1lPyIgIjoiIikrYX19O0FKUy5tYXAoYixmdW5jdGlvbihkKXtjKGQpfSl9LGhhc0NsYXNzOmZ1bmN0aW9uKGMsYSl7aWYoIWN8fCFjLmNsYXNzTmFtZSl7cmV0dXJuIGZhbHNlfXZhciBiPWMuY2xhc3NOYW1lO3JldHVybihiLmxlbmd0aD4wJiYoYj09YXx8bmV3IFJlZ0V4cCgiKF58XFxzKSIrYSsiKFxcc3wkKSIpLnRlc3QoYikpKX0scmVtb3ZlQ2xhc3M6ZnVuY3Rpb24oKXt2YXIgYz1BSlMuZmxhdHRlbkVsbUFyZ3VtZW50cyhhcmd1bWVudHMpO3ZhciBhPWMucG9wKCk7dmFyIGI9ZnVuY3Rpb24oZCl7ZC5jbGFzc05hbWU9ZC5jbGFzc05hbWUucmVwbGFjZShuZXcgUmVnRXhwKCIoXnxcXHMpIithLCJnIiksIiIpfTtBSlMubWFwKGMsZnVuY3Rpb24oZCl7YihkKX0pfSxzZXRPcGFjaXR5OmZ1bmN0aW9uKGIsYSl7aWYoYT09MSl7Yi5zdHlsZS5vcGFjaXR5PTE7Yi5zdHlsZS5maWx0ZXI9IiJ9ZWxzZXtiLnN0eWxlLm9wYWNpdHk9YTtiLnN0eWxlLmZpbHRlcj0iYWxwaGEob3BhY2l0eT0iK2EqMTAwKyIpIn19LEhUTUwyRE9NOmZ1bmN0aW9uKGEsYyl7dmFyIGI9QUpTLkRJVigpO2IuaW5uZXJIVE1MPWE7aWYoYyl7cmV0dXJuIGIuY2hpbGROb2Rlc1swXX1lbHNle3JldHVybiBifX0scHJlbG9hZEltYWdlczpmdW5jdGlvbigpe0FKUy5BRVYod2luZG93LCJsb2FkIixBSlMuJHAoZnVuY3Rpb24oYSl7QUpTLm1hcChhLGZ1bmN0aW9uKGMpe3ZhciBiPW5ldyBJbWFnZSgpO2Iuc3JjPWN9KX0sYXJndW1lbnRzKSl9LFJORDpmdW5jdGlvbihhLGQsYyl7Yz1jfHx3aW5kb3c7dmFyIGI9ZnVuY3Rpb24oZixsKXtsPWwuc3BsaXQoInwiKTt2YXIgaj1kW2xbMF1dO2Zvcih2YXIgaD0xO2g8bC5sZW5ndGg7aCsrKXtqPWNbbFtoXV0oail9aWYoaj09IiIpe3JldHVybiIifWlmKGo9PTB8fGo9PS0xKXtqKz0iIn1yZXR1cm4ganx8Zn07cmV0dXJuIGEucmVwbGFjZSgvJVwoKFtBLVphLXowLTlffC5dKilcKS9nLGIpfSxnZXRYTUxIdHRwUmVxdWVzdDpmdW5jdGlvbigpe3ZhciBiPVtmdW5jdGlvbigpe3JldHVybiBuZXcgWE1MSHR0cFJlcXVlc3QoKX0sZnVuY3Rpb24oKXtyZXR1cm4gbmV3IEFjdGl2ZVhPYmplY3QoIk1zeG1sMi5YTUxIVFRQIil9LGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBBY3RpdmVYT2JqZWN0KCJNaWNyb3NvZnQuWE1MSFRUUCIpfSxmdW5jdGlvbigpe3JldHVybiBuZXcgQWN0aXZlWE9iamVjdCgiTXN4bWwyLlhNTEhUVFAuNC4wIil9LGZ1bmN0aW9uKCl7dGhyb3ciQnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IFhNTEh0dHBSZXF1ZXN0In1dO2Zvcih2YXIgYT0wO2E8Yi5sZW5ndGg7YSsrKXt2YXIgYz1iW2FdO3RyeXtyZXR1cm4gYygpfWNhdGNoKGQpe319fSxnZXRSZXF1ZXN0OmZ1bmN0aW9uKGEsYyl7dmFyIGI9QUpTLmdldFhNTEh0dHBSZXF1ZXN0KCk7aWYoYS5tYXRjaCgvXmh0dHBzPzpcL1wvLyk9PW51bGwpe2lmKEFKUy5CQVNFX1VSTCE9IiIpe2lmKEFKUy5CQVNFX1VSTC5sYXN0SW5kZXhPZigiLyIpIT1BSlMuQkFTRV9VUkwubGVuZ3RoLTEpe0FKUy5CQVNFX1VSTCs9Ii8ifWE9QUpTLkJBU0VfVVJMK2F9fWlmKCFjKXtjPSJQT1NUIn1yZXR1cm4gbmV3IEFKU0RlZmVycmVkKGIsYyxhKX0sc2VyaWFsaXplSlNPTjpmdW5jdGlvbihqKXt2YXIgYT10eXBlb2Yoaik7aWYoYT09InVuZGVmaW5lZCIpe3JldHVybiJudWxsIn1lbHNle2lmKGE9PSJudW1iZXIifHxhPT0iYm9vbGVhbiIpe3JldHVybiBqKyIifWVsc2V7aWYoaj09PW51bGwpe3JldHVybiJudWxsIn19fWlmKGE9PSJzdHJpbmciKXtyZXR1cm4gQUpTLl9yZXByU3RyaW5nKGopfWlmKGE9PSJvYmplY3QiJiZqLmdldEZ1bGxZZWFyKXtyZXR1cm4gQUpTLl9yZXByRGF0ZShqKX12YXIgZj1hcmd1bWVudHMuY2FsbGVlO2lmKGEhPSJmdW5jdGlvbiImJnR5cGVvZihqLmxlbmd0aCk9PSJudW1iZXIiKXt2YXIgZD1bXTtmb3IodmFyIGM9MDtjPGoubGVuZ3RoO2MrKyl7dmFyIGg9ZihqW2NdKTtpZih0eXBlb2YoaCkhPSJzdHJpbmciKXtoPSJ1bmRlZmluZWQifWQucHVzaChoKX1yZXR1cm4iWyIrZC5qb2luKCIsIikrIl0ifWlmKGE9PSJmdW5jdGlvbiIpe3JldHVybiBudWxsfWQ9W107Zm9yKHZhciBiIGluIGope3ZhciBnO2lmKHR5cGVvZihiKT09Im51bWJlciIpe2c9JyInK2IrJyInfWVsc2V7aWYodHlwZW9mKGIpPT0ic3RyaW5nIil7Zz1BSlMuX3JlcHJTdHJpbmcoYil9ZWxzZXtjb250aW51ZX19aD1mKGpbYl0pO2lmKHR5cGVvZihoKSE9InN0cmluZyIpe2NvbnRpbnVlfWQucHVzaChnKyI6IitoKX1yZXR1cm4ieyIrZC5qb2luKCIsIikrIn0ifSxsb2FkSlNPTjpmdW5jdGlvbihiLGMsYSl7dmFyIGc9QUpTLmdldFJlcXVlc3QoYixjKTt2YXIgZj1mdW5jdGlvbihoLGQpe3ZhciBpPWQucmVzcG9uc2VUZXh0O2lmKGk9PSJFcnJvciIpe2cuZXJyYmFjayhkKX1lbHNle3JldHVybiBBSlMuZXZhbFR4dChpKX19O2cuYWRkQ2FsbGJhY2soZik7cmV0dXJuIGd9LGV2YWxUeHQ6ZnVuY3Rpb24odHh0KXt0cnl7cmV0dXJuIGV2YWwoIigiK3R4dCsiKSIpfWNhdGNoKGUpe3JldHVybiBldmFsKHR4dCl9fSxldmFsU2NyaXB0VGFnczpmdW5jdGlvbihodG1sKXt2YXIgc2NyaXB0X2RhdGE9aHRtbC5tYXRjaCgvPHNjcmlwdC4qPz4oKFxufFxyfC4pKj8pPFwvc2NyaXB0Pi9nKTtpZihzY3JpcHRfZGF0YSE9bnVsbCl7Zm9yKHZhciBpPTA7aTxzY3JpcHRfZGF0YS5sZW5ndGg7aSsrKXt2YXIgc2NyaXB0X29ubHk9c2NyaXB0X2RhdGFbaV0ucmVwbGFjZSgvPHNjcmlwdC4qPz4vZywiIik7c2NyaXB0X29ubHk9c2NyaXB0X29ubHkucmVwbGFjZSgvPFwvc2NyaXB0Pi9nLCIiKTtldmFsKHNjcmlwdF9vbmx5KX19fSxlbmNvZGVBcmd1bWVudHM6ZnVuY3Rpb24oYSl7dmFyIGI9W107Zm9yKGsgaW4gYSl7Yi5wdXNoKGsrIj0iK0FKUy51cmxlbmNvZGUoYVtrXSkpfXJldHVybiBiLmpvaW4oIiYiKX0sX3JlcHJTdHJpbmc6ZnVuY3Rpb24oYSl7cmV0dXJuKCciJythLnJlcGxhY2UoLyhbIlxcXSkvZywiXFwkMSIpKyciJykucmVwbGFjZSgvW1xmXS9nLCJcXGYiKS5yZXBsYWNlKC9bXGJdL2csIlxcYiIpLnJlcGxhY2UoL1tcbl0vZywiXFxuIikucmVwbGFjZSgvW1x0XS9nLCJcXHQiKS5yZXBsYWNlKC9bXHJdL2csIlxcciIpfSxfcmVwckRhdGU6ZnVuY3Rpb24oYyl7dmFyIGQ9Yy5nZXRVVENGdWxsWWVhcigpO3ZhciBhPWMuZ2V0VVRDRGF0ZSgpO3ZhciBmPWMuZ2V0VVRDTW9udGgoKSsxO3ZhciBiPWZ1bmN0aW9uKGcpe2lmKGc8MTApe2c9IjAiK2d9cmV0dXJuIGd9O3JldHVybiciJytkKyItIitmKyItIithKyJUIitiKGMuZ2V0VVRDSG91cnMoKSkrIjoiK2IoYy5nZXRVVENNaW51dGVzKCkpKyI6IitiKGMuZ2V0VVRDU2Vjb25kcygpKSsnIid9LGdldE1vdXNlUG9zOmZ1bmN0aW9uKGIpe3ZhciBhPTA7dmFyIGM9MDtpZighYil7dmFyIGI9d2luZG93LmV2ZW50fWlmKGIucGFnZVh8fGIucGFnZVkpe2E9Yi5wYWdlWDtjPWIucGFnZVl9ZWxzZXtpZihiLmNsaWVudFh8fGIuY2xpZW50WSl7YT1iLmNsaWVudFgrZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0K2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0O2M9Yi5jbGllbnRZK2RvY3VtZW50LmJvZHkuc2Nyb2xsVG9wK2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3B9fXJldHVybnt4OmEseTpjfX0sZ2V0U2Nyb2xsVG9wOmZ1bmN0aW9uKCl7dmFyIGE7aWYoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50JiZkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wKXthPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3B9ZWxzZXtpZihkb2N1bWVudC5ib2R5KXthPWRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wfX1yZXR1cm4gYX0sYWJzb2x1dGVQb3NpdGlvbjpmdW5jdGlvbihjKXtpZighYyl7cmV0dXJue3g6MCx5OjB9fWlmKGMuc2Nyb2xsTGVmdCl7cmV0dXJue3g6Yy5zY3JvbGxMZWZ0LHk6Yy5zY3JvbGxUb3B9fWVsc2V7aWYoYy5jbGllbnRYKXtyZXR1cm57eDpjLmNsaWVudFgseTpjLmNsaWVudFl9fX12YXIgYj17eDpjLm9mZnNldExlZnQseTpjLm9mZnNldFRvcH07aWYoYy5vZmZzZXRQYXJlbnQpe3ZhciBhPWMub2Zmc2V0UGFyZW50O3doaWxlKGEpe2IueCs9YS5vZmZzZXRMZWZ0O2IueSs9YS5vZmZzZXRUb3A7YT1hLm9mZnNldFBhcmVudH19aWYoQUpTLmlzU2FmYXJpKCkmJmMuc3R5bGUucG9zaXRpb249PSJhYnNvbHV0ZSIpe2IueC09ZG9jdW1lbnQuYm9keS5vZmZzZXRMZWZ0O2IueS09ZG9jdW1lbnQuYm9keS5vZmZzZXRUb3B9cmV0dXJuIGJ9LGdldFdpbmRvd1NpemU6ZnVuY3Rpb24oYyl7Yz1jfHxkb2N1bWVudDt2YXIgYixhO2lmKHNlbGYuaW5uZXJIZWlnaHQpe2I9c2VsZi5pbm5lcldpZHRoO2E9c2VsZi5pbm5lckhlaWdodH1lbHNle2lmKGMuZG9jdW1lbnRFbGVtZW50JiZjLmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQpe2I9Yy5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGg7YT1jLmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHR9ZWxzZXtpZihjLmJvZHkpe2I9Yy5ib2R5LmNsaWVudFdpZHRoO2E9Yy5ib2R5LmNsaWVudEhlaWdodH19fXJldHVybnt3OmIsaDphfX0saXNPdmVybGFwcGluZzpmdW5jdGlvbihnLGMpe3ZhciBqPUFKUy5hYnNvbHV0ZVBvc2l0aW9uKGcpO3ZhciBpPUFKUy5hYnNvbHV0ZVBvc2l0aW9uKGMpO3ZhciBtPWoueTt2YXIgbz1qLng7dmFyIGY9bytnLm9mZnNldFdpZHRoO3ZhciBkPW0rZy5vZmZzZXRIZWlnaHQ7dmFyIGw9aS55O3ZhciBuPWkueDt2YXIgYj1uK2Mub2Zmc2V0V2lkdGg7dmFyIGE9bCtjLm9mZnNldEhlaWdodDt2YXIgaD1mdW5jdGlvbihwKXtpZihwPjApe3JldHVybiIrIn1lbHNle2lmKHA8MCl7cmV0dXJuIi0ifWVsc2V7cmV0dXJuIDB9fX07aWYoKGgobS1hKSE9aChkLWwpKSYmKGgoby1iKSE9aChmLW4pKSl7cmV0dXJuIHRydWV9cmV0dXJuIGZhbHNlfSxnZXRFdmVudEVsbTpmdW5jdGlvbihiKXtpZihiJiYhYi50eXBlJiYhYi5rZXlDb2RlKXtyZXR1cm4gYn12YXIgYTtpZighYil7dmFyIGI9d2luZG93LmV2ZW50fWlmKGIudGFyZ2V0KXthPWIudGFyZ2V0fWVsc2V7aWYoYi5zcmNFbGVtZW50KXthPWIuc3JjRWxlbWVudH19aWYoYSYmYS5ub2RlVHlwZT09Myl7YT1hLnBhcmVudE5vZGV9cmV0dXJuIGF9LHNldEV2ZW50S2V5OmZ1bmN0aW9uKGEpe2lmKCFhKXthPXdpbmRvdy5ldmVudH1hLmtleT1hLmtleUNvZGU/YS5rZXlDb2RlOmEuY2hhckNvZGU7YS5jdHJsPWEuY3RybEtleTthLmFsdD1hLmFsdEtleTthLm1ldGE9YS5tZXRhS2V5O2Euc2hpZnQ9YS5zaGlmdEtleX0sb25FdmVudDpmdW5jdGlvbihjLGIsYSxkKXtjPUFKUy4kQShjKTtBSlMubWFwKGMsZnVuY3Rpb24oZil7aWYoZi5ldmVudHMpe2YuZXZlbnRzW2JdPXt9fX0pO3JldHVybiBBSlMuQUVWKGMsYixhLGQpfSxyZWFkeV9ib3VuZDpmYWxzZSxpc19yZWFkeTpmYWxzZSxiaW5kUmVhZHk6ZnVuY3Rpb24oKXtpZihBSlMucmVhZHlfYm91bmQpe3JldHVybn1BSlMucmVhZHlfYm91bmQ9dHJ1ZTtpZihkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKXtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixmdW5jdGlvbigpe2RvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLGFyZ3VtZW50cy5jYWxsZWUsZmFsc2UpO0FKUy5yZWFkeSgpfSxmYWxzZSl9ZWxzZXtpZihkb2N1bWVudC5hdHRhY2hFdmVudCl7ZG9jdW1lbnQuYXR0YWNoRXZlbnQoIm9ucmVhZHlzdGF0ZWNoYW5nZSIsZnVuY3Rpb24oKXtpZihkb2N1bWVudC5yZWFkeVN0YXRlPT09ImNvbXBsZXRlIil7ZG9jdW1lbnQuZGV0YWNoRXZlbnQoIm9ucmVhZHlzdGF0ZWNoYW5nZSIsYXJndW1lbnRzLmNhbGxlZSk7QUpTLnJlYWR5KCl9fSk7aWYoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmRvU2Nyb2xsJiZ3aW5kb3c9PXdpbmRvdy50b3ApeyhmdW5jdGlvbigpe2lmKEFKUy5pc19yZWFkeSl7cmV0dXJufXRyeXtkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZG9TY3JvbGwoImxlZnQiKX1jYXRjaChhKXtzZXRUaW1lb3V0KGFyZ3VtZW50cy5jYWxsZWUsMCk7cmV0dXJufUFKUy5yZWFkeSgpfSkoKX19fUFKUy5BRVYod2luZG93LCJsb2FkIixBSlMucmVhZHkpfSxyZWFkeV9saXN0OltdLHJlYWR5OmZ1bmN0aW9uKGEpe2lmKEFKUy5pc19yZWFkeSl7cmV0dXJufUFKUy5pc19yZWFkeT10cnVlO0FKUy5tYXAoQUpTLnJlYWR5X2xpc3QsZnVuY3Rpb24oYil7Yi5jYWxsKHdpbmRvdyl9KTtBSlMucmVhZHlfbGlzdD1bXX0sX2ZfZ3VpZDowLF93aXBlX2d1aWQ6MCxhZGRFdmVudExpc3RlbmVyOmZ1bmN0aW9uKGMsYSxiLGQpe2M9QUpTLiRBKGMpO2E9QUpTLiRBKGEpO0FKUy5tYXAoYyxmdW5jdGlvbihmKXtpZihkKXtiLmxpc3Rlbl9vbmNlPXRydWV9aWYoIWIuJGZfZ3VpZCl7Yi4kZl9ndWlkPUFKUy5fZl9ndWlkKyt9aWYoIWYuZXZlbnRzKXtmLmV2ZW50cz17fX1BSlMubWFwKGEsZnVuY3Rpb24oaCl7dmFyIGc9Zi5ldmVudHNbaF07aWYoZj09d2luZG93JiZoPT0ibG9hZCIpe0FKUy5yZWFkeV9saXN0LnB1c2goYil9ZWxzZXtpZihoPT0ibGF6eV9sb2FkIil7aD0ibG9hZCJ9aWYoIWcpe2c9Zi5ldmVudHNbaF09e307aWYoZlsib24iK2hdKXtnWzBdPWZbIm9uIitoXX19aWYoIWYuX3dpcGVfZ3VpZCl7Zi5fd2lwZV9ndWlkPUFKUy5fd2lwZV9ndWlkKyt9Z1tiLiRmX2d1aWRdPWI7Zlsib24iK2hdPUFKUy5oYW5kbGVFdmVudH19KTtmPW51bGx9KX0saGFuZGxlRXZlbnQ6ZnVuY3Rpb24oaCl7dmFyIGc9dGhpcztoPWh8fHdpbmRvdy5ldmVudDtpZighaCl7cmV0dXJufWlmKCFoLmN0cmwmJmgudHlwZS5pbmRleE9mKCJrZXkiKSE9LTEpe0FKUy5zZXRFdmVudEtleShoKX12YXIgYj10aGlzLmV2ZW50c1toLnR5cGVdO3ZhciBhPVtdO3ZhciBkPXRydWU7Zm9yKHZhciBjIGluIGIpe3ZhciBmPXRoaXMuJCRoYW5kbGVFdmVudD1iW2NdO2lmKGY9PUFKUy5oYW5kbGVFdmVudCl7Y29udGludWV9ZD1mKGgpO2lmKGYubGlzdGVuX29uY2Upe2EucHVzaChmKX19aWYoYS5sZW5ndGg+MCl7QUpTLm1hcChhLGZ1bmN0aW9uKGkpe2RlbGV0ZSBnLmV2ZW50c1toLnR5cGVdW2kuJGZfZ3VpZF19KX1yZXR1cm4gZH0scmVtb3ZlRXZlbnRMaXN0ZW5lcjpmdW5jdGlvbihjLGIsYSl7Yz1BSlMuJEEoYyk7bWFwKGMsZnVuY3Rpb24oZCl7aWYoZC5ldmVudHMmJmQuZXZlbnRzW2JdKXtkZWxldGUgZC5ldmVudHNbYl1bYS4kZl9ndWlkXX19KX0sYmluZDpmdW5jdGlvbihiLGEsYyl7Yi5fY3Njb3BlPWE7cmV0dXJuIEFKUy5fZ2V0UmVhbFNjb3BlKGIsYyl9LGJpbmRNZXRob2RzOmZ1bmN0aW9uKGIpe2Zvcih2YXIgYSBpbiBiKXt2YXIgYz1iW2FdO2lmKHR5cGVvZihjKT09ImZ1bmN0aW9uIil7YlthXT1BSlMuJGIoYyxiKX19fSxwcmV2ZW50RGVmYXVsdDpmdW5jdGlvbihhKXtpZihBSlMuaXNJZSgpKXt3aW5kb3cuZXZlbnQucmV0dXJuVmFsdWU9ZmFsc2V9ZWxzZXthLnByZXZlbnREZWZhdWx0KCl9fSxfbGlzdGVuT25jZTpmdW5jdGlvbihkLGIsYSl7dmFyIGM9ZnVuY3Rpb24oKXtBSlMucmVtb3ZlRXZlbnRMaXN0ZW5lcihkLGIsYyk7YShhcmd1bWVudHMpfTtyZXR1cm4gY30sX2dldFJlYWxTY29wZTpmdW5jdGlvbihiLGMpe2M9QUpTLiRBKGMpO3ZhciBhPWIuX2NzY29wZXx8d2luZG93O3JldHVybiBmdW5jdGlvbigpe3RyeXt2YXIgZD1BSlMuJEZBKGFyZ3VtZW50cykuY29uY2F0KGMpO3JldHVybiBiLmFwcGx5KGEsZCl9Y2F0Y2goZil7fX19LF9yZWNjcnVpbmdfdG9zOnt9LHNldFNpbmdsZVRpbWVvdXQ6ZnVuY3Rpb24oYixjLGEpe3ZhciBkPUFKUy5fcmVjY3J1aW5nX3Rvc1tiXTtpZihkKXtjbGVhclRpbWVvdXQoZCl9QUpTLl9yZWNjcnVpbmdfdG9zW2JdPXNldFRpbWVvdXQoYyxhKX0sa2V5czpmdW5jdGlvbihiKXt2YXIgYT1bXTtmb3IodmFyIGMgaW4gYil7YS5wdXNoKGMpfXJldHVybiBhfSx2YWx1ZXM6ZnVuY3Rpb24oYil7dmFyIGE9W107Zm9yKHZhciBjIGluIGIpe2EucHVzaChiW2NdKX1yZXR1cm4gYX0sdXJsZW5jb2RlOmZ1bmN0aW9uKGEpe3JldHVybiBlbmNvZGVVUklDb21wb25lbnQoQUpTLmlzRGVmaW5lZChhKSYmYS50b1N0cmluZygpfHwiIil9LHVybGRlY29kZTpmdW5jdGlvbihiKXt2YXIgYT1kZWNvZGVVUklDb21wb25lbnQoQUpTLmlzRGVmaW5lZChiKSYmYi50b1N0cmluZygpfHwiIik7cmV0dXJuIGEucmVwbGFjZSgvXCsvZywiICIpfSxpc0RlZmluZWQ6ZnVuY3Rpb24oYSl7cmV0dXJuKGEhPSJ1bmRlZmluZWQiJiZhIT1udWxsKX0saXNBcnJheTpmdW5jdGlvbihiKXt0cnl7cmV0dXJuIGIgaW5zdGFuY2VvZiBBcnJheX1jYXRjaChhKXtyZXR1cm4gZmFsc2V9fSxpc1N0cmluZzpmdW5jdGlvbihhKXtyZXR1cm4odHlwZW9mIGE9PSJzdHJpbmciKX0saXNOdW1iZXI6ZnVuY3Rpb24oYSl7cmV0dXJuKHR5cGVvZiBhPT0ibnVtYmVyIil9LGlzT2JqZWN0OmZ1bmN0aW9uKGEpe3JldHVybih0eXBlb2YgYT09Im9iamVjdCIpfSxpc0Z1bmN0aW9uOmZ1bmN0aW9uKGEpe3JldHVybih0eXBlb2YgYT09ImZ1bmN0aW9uIil9LGlzRGljdDpmdW5jdGlvbihiKXt2YXIgYT1TdHJpbmcoYik7cmV0dXJuIGEuaW5kZXhPZigiIE9iamVjdCIpIT0tMX0sZXhwb3J0VG9HbG9iYWxTY29wZTpmdW5jdGlvbihhKXthPWF8fHdpbmRvdztmb3IoZSBpbiBBSlMpe2lmKGUhPSJhZGRFdmVudExpc3RlbmVyIil7YVtlXT1BSlNbZV19fX0sbG9nOmZ1bmN0aW9uKGIpe3RyeXtpZih3aW5kb3cuX2ZpcmVidWcpe3dpbmRvdy5fZmlyZWJ1Zy5sb2coYil9ZWxzZXtpZih3aW5kb3cuY29uc29sZSl7Y29uc29sZS5sb2coYil9fX1jYXRjaChhKXt9fSxzdHJpcDpmdW5jdGlvbihhKXtyZXR1cm4gYS5yZXBsYWNlKC9eXHMrLywiIikucmVwbGFjZSgvXHMrJC9nLCIiKX0sdHJpbV9pZl9uZWVkZWQ6ZnVuY3Rpb24oYyxhLGIpe2lmKGMubGVuZ3RoPmEpe3JldHVybiBjLnN1YnN0cmluZygwLGEpKyhifHwiLi4uIil9cmV0dXJuIGN9fTtBSlMuQ2xhc3M9ZnVuY3Rpb24oYSl7dmFyIGI9ZnVuY3Rpb24oKXtpZihhcmd1bWVudHNbMF0hPSJub19pbml0Iil7cmV0dXJuIHRoaXMuaW5pdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fTtiLnByb3RvdHlwZT1hO0FKUy51cGRhdGUoYixBSlMuQ2xhc3MucHJvdG90eXBlKTtyZXR1cm4gYn07QUpTLkNsYXNzLnByb3RvdHlwZT17ZXh0ZW5kOmZ1bmN0aW9uKGEpe3ZhciBiPW5ldyB0aGlzKCJub19pbml0Iik7Zm9yKGsgaW4gYSl7dmFyIGM9YltrXTt2YXIgZD1hW2tdO2lmKGMmJmMhPWQmJnR5cGVvZiBkPT0iZnVuY3Rpb24iKXtkPXRoaXMuX3BhcmVudGl6ZShkLGMpfWJba109ZH1yZXR1cm4gbmV3IEFKUy5DbGFzcyhiKX0saW1wbGVtZW50OmZ1bmN0aW9uKGEpe0FKUy51cGRhdGUodGhpcy5wcm90b3R5cGUsYSl9LF9wYXJlbnRpemU6ZnVuY3Rpb24oYixhKXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnBhcmVudD1hO3JldHVybiBiLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19fTtBSlMuJD1BSlMuZ2V0RWxlbWVudDtBSlMuJCQ9QUpTLmdldEVsZW1lbnRzO0FKUy4kZj1BSlMuZ2V0Rm9ybUVsZW1lbnQ7QUpTLiRiPUFKUy5iaW5kO0FKUy4kcD1BSlMucGFydGlhbDtBSlMuJEZBPUFKUy5mb3JjZUFycmF5O0FKUy4kQT1BSlMuY3JlYXRlQXJyYXk7QUpTLkRJPUFKUy5kb2N1bWVudEluc2VydDtBSlMuQUNOPUFKUy5hcHBlbmRDaGlsZE5vZGVzO0FKUy5SQ049QUpTLnJlcGxhY2VDaGlsZE5vZGVzO0FKUy5BRVY9QUpTLmFkZEV2ZW50TGlzdGVuZXI7QUpTLlJFVj1BSlMucmVtb3ZlRXZlbnRMaXN0ZW5lcjtBSlMuJGJ5dGM9QUpTLmdldEVsZW1lbnRzQnlUYWdBbmRDbGFzc05hbWU7QUpTLiRBUD1BSlMuYWJzb2x1dGVQb3NpdGlvbjtBSlMubG9hZEpTT05Eb2M9QUpTLmxvYWRKU09OO0FKUy5xdWVyeUFyZ3VtZW50cz1BSlMuZW5jb2RlQXJndW1lbnRzO0FKUy4kZ3A9QUpTLmdldFBhcmVudEJ5dGM7QUpTLiRnYz1BSlMuZ2V0Q2hpbGRCeXRjO0FKUy4kc3Y9QUpTLnNldFZpc2liaWxpdHk7QUpTLmdlbmVyYWxFcnJvcmJhY2s9bnVsbDtBSlMuZ2VuZXJhbENhbGxiYWNrPW51bGw7QUpTRGVmZXJyZWQ9ZnVuY3Rpb24oYixjLGEpe3RoaXMuY2FsbGJhY2tzPVtdO3RoaXMuZXJyYmFja3M9W107dGhpcy5yZXE9Yjt0aGlzLmh0dHBfbWV0aG9kPWM7dGhpcy5odHRwX3VybD1hfTtBSlNEZWZlcnJlZC5wcm90b3R5cGU9e2V4Y0NhbGxiYWNrU2VxOmZ1bmN0aW9uKGMsZil7dmFyIGQ9Yy5yZXNwb25zZVRleHQ7aWYoQUpTLmdlbmVyYWxDYWxsYmFjayl7ZD1BSlMuZ2VuZXJhbENhbGxiYWNrKGMsZik7aWYoIWQpe3JldHVybn19d2hpbGUoZi5sZW5ndGg+MCl7dmFyIGI9Zi5wb3AoKTt2YXIgYT1iKGQsYyk7aWYoYSl7ZD1hfWVsc2V7aWYoYT09ZmFsc2Upe2JyZWFrfX19fSxjYWxsYmFjazpmdW5jdGlvbigpe3RoaXMuZXhjQ2FsbGJhY2tTZXEodGhpcy5yZXEsdGhpcy5jYWxsYmFja3MpfSxlcnJiYWNrOmZ1bmN0aW9uKCl7aWYodGhpcy5lcnJiYWNrcy5sZW5ndGg9PTApe2lmKEFKUy5hamF4RXJyb3JIYW5kbGVyKXtBSlMuYWpheEVycm9ySGFuZGxlcihyZXEucmVzcG9uc2VUZXh0LHJlcSl9ZWxzZXt2YXIgYj10aGlzLnJlcS5yZXNwb25zZVRleHQuc3Vic3RyaW5nKDAsMjAwKTtpZihBSlMuc3RyaXAoYikmJmIuaW5kZXhPZigiPGh0bWwiKT09LTEpe2FsZXJ0KCJFcnJvciBlbmNvdW50ZXJlZDpcbiIrYil9fX1pZihBSlMuZ2VuZXJhbEVycm9yYmFjayl7dmFyIGE9QUpTLmdlbmVyYWxFcnJvcmJhY2sodGhpcy5yZXEpO2lmKCFhKXtyZXR1cm59fXRoaXMuZXhjQ2FsbGJhY2tTZXEodGhpcy5yZXEsdGhpcy5lcnJiYWNrcyl9LGFkZEVycmJhY2s6ZnVuY3Rpb24oYSl7dGhpcy5lcnJiYWNrcy51bnNoaWZ0KGEpfSxhZGRDYWxsYmFjazpmdW5jdGlvbihhKXt0aGlzLmNhbGxiYWNrcy51bnNoaWZ0KGEpfSxhYm9ydDpmdW5jdGlvbigpe3RoaXMucmVxLmFib3J0KCl9LGFkZENhbGxiYWNrczpmdW5jdGlvbihiLGEpe3RoaXMuYWRkQ2FsbGJhY2soYik7dGhpcy5hZGRFcnJiYWNrKGEpfSxfb25yZWFkeXN0YXRlY2hhbmdlOmZ1bmN0aW9uKCl7dmFyIGI9dGhpcy5yZXE7dmFyIGY9dGhpcztpZihiLnJlYWR5U3RhdGU9PTQpe3ZhciBhPSIiO3RyeXthPWIuc3RhdHVzfWNhdGNoKGMpe31pZihhPT0yMDB8fGE9PTMwNHx8Yi5yZXNwb25zZVRleHQ9PW51bGwpe3RoaXMuY2FsbGJhY2soKX1lbHNle3RoaXMuZXJyYmFjaygpfX19LHNlbmRSZXE6ZnVuY3Rpb24oZCl7dmFyIGM9dGhpcy5yZXE7dmFyIGI9dGhpcy5odHRwX21ldGhvZDt2YXIgYT10aGlzLmh0dHBfdXJsO2lmKGI9PSJQT1NUIil7Yy5vcGVuKGIsYSx0cnVlKTtjLm9ucmVhZHlzdGF0ZWNoYW5nZT1BSlMuJGIodGhpcy5fb25yZWFkeXN0YXRlY2hhbmdlLHRoaXMpO2Muc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC10eXBlIiwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIik7aWYoQUpTLmlzT2JqZWN0KGQpKXtjLnNlbmQoQUpTLmVuY29kZUFyZ3VtZW50cyhkKSl9ZWxzZXtpZihBSlMuaXNEZWZpbmVkKGQpKXtjLnNlbmQoZCl9ZWxzZXtjLnNlbmQoIiIpfX19ZWxzZXtjLm9wZW4oIkdFVCIsYSx0cnVlKTtjLm9ucmVhZHlzdGF0ZWNoYW5nZT1BSlMuJGIodGhpcy5fb25yZWFkeXN0YXRlY2hhbmdlLHRoaXMpO2Muc2VuZChudWxsKX19fTtBSlMuX2NyZWF0ZURvbVNob3J0Y3V0cygpfXNjcmlwdF9sb2FkZWQ9dHJ1ZTtBSlMuZXhwb3J0VG9HbG9iYWxTY29wZSgpO0FKUy5iaW5kUmVhZHkoKTsKc2NyaXB0X2xvYWRlZD10cnVlOw==]]></data>
	</file>
	<file>
	  <filename>/style/greybox/AJS_fx.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QUpTLmZ4PXtfc2hhZGVzOnswOiJmZmZmZmYiLDE6ImZmZmZlZSIsMjoiZmZmZmRkIiwzOiJmZmZmY2MiLDQ6ImZmZmZiYiIsNToiZmZmZmFhIiw2OiJmZmZmOTkifSxoaWdobGlnaHQ6ZnVuY3Rpb24oYyxhKXt2YXIgYj1uZXcgQUpTLmZ4LkJhc2UoKTtiLmVsbT1BSlMuJChjKTtiLm9wdGlvbnMuZHVyYXRpb249NjAwO2Iuc2V0T3B0aW9ucyhhKTtBSlMudXBkYXRlKGIse2luY3JlYXNlOmZ1bmN0aW9uKCl7aWYodGhpcy5ub3c9PTcpe2Muc3R5bGUuYmFja2dyb3VuZENvbG9yPSIjZmZmIn1lbHNle2Muc3R5bGUuYmFja2dyb3VuZENvbG9yPSIjIitBSlMuZnguX3NoYWRlc1tNYXRoLmZsb29yKHRoaXMubm93KV19fX0pO3JldHVybiBiLmN1c3RvbSg2LDApfSxmYWRlSW46ZnVuY3Rpb24oYyxhKXthPWF8fHt9O2lmKCFhLmZyb20pe2EuZnJvbT0wO0FKUy5zZXRPcGFjaXR5KGMsMCl9aWYoIWEudG8pe2EudG89MX12YXIgYj1uZXcgQUpTLmZ4LlN0eWxlKGMsIm9wYWNpdHkiLGEpO3JldHVybiBiLmN1c3RvbShhLmZyb20sYS50byl9LGZhZGVPdXQ6ZnVuY3Rpb24oYyxhKXthPWF8fHt9O2lmKCFhLmZyb20pe2EuZnJvbT0xfWlmKCFhLnRvKXthLnRvPTB9YS5kdXJhdGlvbj0zMDA7dmFyIGI9bmV3IEFKUy5meC5TdHlsZShjLCJvcGFjaXR5IixhKTtyZXR1cm4gYi5jdXN0b20oYS5mcm9tLGEudG8pfSxzZXRXaWR0aDpmdW5jdGlvbihjLGEpe3ZhciBiPW5ldyBBSlMuZnguU3R5bGUoYywid2lkdGgiLGEpO3JldHVybiBiLmN1c3RvbShhLmZyb20sYS50byl9LHNldEhlaWdodDpmdW5jdGlvbihjLGEpe3ZhciBiPW5ldyBBSlMuZnguU3R5bGUoYywiaGVpZ2h0IixhKTtyZXR1cm4gYi5jdXN0b20oYS5mcm9tLGEudG8pfX07QUpTLmZ4LkJhc2U9bmV3IEFKUy5DbGFzcyh7aW5pdDpmdW5jdGlvbihhKXt0aGlzLm9wdGlvbnM9e29uU3RhcnQ6ZnVuY3Rpb24oKXt9LG9uQ29tcGxldGU6ZnVuY3Rpb24oKXt9LHRyYW5zaXRpb246QUpTLmZ4LlRyYW5zaXRpb25zLnNpbmVJbk91dCxkdXJhdGlvbjo1MDAsd2FpdDp0cnVlLGZwczo1MH07QUpTLnVwZGF0ZSh0aGlzLm9wdGlvbnMsYSk7QUpTLmJpbmRNZXRob2RzKHRoaXMpfSxzZXRPcHRpb25zOmZ1bmN0aW9uKGEpe0FKUy51cGRhdGUodGhpcy5vcHRpb25zLGEpfSxzdGVwOmZ1bmN0aW9uKCl7dmFyIGE9bmV3IERhdGUoKS5nZXRUaW1lKCk7aWYoYTx0aGlzLnRpbWUrdGhpcy5vcHRpb25zLmR1cmF0aW9uKXt0aGlzLmNUaW1lPWEtdGhpcy50aW1lO3RoaXMuc2V0Tm93KCl9ZWxzZXtzZXRUaW1lb3V0KEFKUy4kYih0aGlzLm9wdGlvbnMub25Db21wbGV0ZSx0aGlzLFt0aGlzLmVsbV0pLDEwKTt0aGlzLmNsZWFyVGltZXIoKTt0aGlzLm5vdz10aGlzLnRvfXRoaXMuaW5jcmVhc2UoKX0sc2V0Tm93OmZ1bmN0aW9uKCl7dGhpcy5ub3c9dGhpcy5jb21wdXRlKHRoaXMuZnJvbSx0aGlzLnRvKX0sY29tcHV0ZTpmdW5jdGlvbihjLGIpe3ZhciBhPWItYztyZXR1cm4gdGhpcy5vcHRpb25zLnRyYW5zaXRpb24odGhpcy5jVGltZSxjLGEsdGhpcy5vcHRpb25zLmR1cmF0aW9uKX0sY2xlYXJUaW1lcjpmdW5jdGlvbigpe2NsZWFySW50ZXJ2YWwodGhpcy50aW1lcik7dGhpcy50aW1lcj1udWxsO3JldHVybiB0aGlzfSxfc3RhcnQ6ZnVuY3Rpb24oYixhKXtpZighdGhpcy5vcHRpb25zLndhaXQpe3RoaXMuY2xlYXJUaW1lcigpfWlmKHRoaXMudGltZXIpe3JldHVybn1zZXRUaW1lb3V0KEFKUy4kcCh0aGlzLm9wdGlvbnMub25TdGFydCx0aGlzLmVsbSksMTApO3RoaXMuZnJvbT1iO3RoaXMudG89YTt0aGlzLnRpbWU9bmV3IERhdGUoKS5nZXRUaW1lKCk7dGhpcy50aW1lcj1zZXRJbnRlcnZhbCh0aGlzLnN0ZXAsTWF0aC5yb3VuZCgxMDAwL3RoaXMub3B0aW9ucy5mcHMpKTtyZXR1cm4gdGhpc30sY3VzdG9tOmZ1bmN0aW9uKGIsYSl7cmV0dXJuIHRoaXMuX3N0YXJ0KGIsYSl9LHNldDpmdW5jdGlvbihhKXt0aGlzLm5vdz1hO3RoaXMuaW5jcmVhc2UoKTtyZXR1cm4gdGhpc30sc2V0U3R5bGU6ZnVuY3Rpb24oYyxhLGIpe2lmKHRoaXMucHJvcGVydHk9PSJvcGFjaXR5Iil7QUpTLnNldE9wYWNpdHkoYyxiKX1lbHNle0FKUy5zZXRTdHlsZShjLGEsYil9fX0pO0FKUy5meC5TdHlsZT1BSlMuZnguQmFzZS5leHRlbmQoe2luaXQ6ZnVuY3Rpb24oYyxiLGEpe3RoaXMucGFyZW50KCk7dGhpcy5lbG09Yzt0aGlzLnNldE9wdGlvbnMoYSk7dGhpcy5wcm9wZXJ0eT1ifSxpbmNyZWFzZTpmdW5jdGlvbigpe3RoaXMuc2V0U3R5bGUodGhpcy5lbG0sdGhpcy5wcm9wZXJ0eSx0aGlzLm5vdyl9fSk7QUpTLmZ4LlN0eWxlcz1BSlMuZnguQmFzZS5leHRlbmQoe2luaXQ6ZnVuY3Rpb24oYixhKXt0aGlzLnBhcmVudCgpO3RoaXMuZWxtPUFKUy4kKGIpO3RoaXMuc2V0T3B0aW9ucyhhKTt0aGlzLm5vdz17fX0sc2V0Tm93OmZ1bmN0aW9uKCl7Zm9yKHAgaW4gdGhpcy5mcm9tKXt0aGlzLm5vd1twXT10aGlzLmNvbXB1dGUodGhpcy5mcm9tW3BdLHRoaXMudG9bcF0pfX0sY3VzdG9tOmZ1bmN0aW9uKGEpe2lmKHRoaXMudGltZXImJnRoaXMub3B0aW9ucy53YWl0KXtyZXR1cm59dmFyIGM9e307dmFyIGI9e307Zm9yKHAgaW4gYSl7Y1twXT1hW3BdWzBdO2JbcF09YVtwXVsxXX1yZXR1cm4gdGhpcy5fc3RhcnQoYyxiKX0saW5jcmVhc2U6ZnVuY3Rpb24oKXtmb3IodmFyIGEgaW4gdGhpcy5ub3cpe3RoaXMuc2V0U3R5bGUodGhpcy5lbG0sYSx0aGlzLm5vd1thXSl9fX0pO0FKUy5meC5UcmFuc2l0aW9ucz17bGluZWFyOmZ1bmN0aW9uKGUsYSxnLGYpe3JldHVybiBnKmUvZithfSxzaW5lSW5PdXQ6ZnVuY3Rpb24oZSxhLGcsZil7cmV0dXJuIC1nLzIqKE1hdGguY29zKE1hdGguUEkqZS9mKS0xKSthfX07c2NyaXB0X2xvYWRlZD10cnVlOwpzY3JpcHRfbG9hZGVkPXRydWU7]]></data>
	</file>
	<file>
	  <filename>/style/greybox/gb_scripts.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dmFyIEdCX0NVUlJFTlQ9bnVsbDtHQl9oaWRlPWZ1bmN0aW9uKGEpe0dCX0NVUlJFTlQuaGlkZShhKX07R3JleUJveD1uZXcgQUpTLkNsYXNzKHtpbml0OmZ1bmN0aW9uKGMpe3RoaXMudXNlX2Z4PUFKUy5meDt0aGlzLnR5cGU9InBhZ2UiO3RoaXMub3ZlcmxheV9jbGlja19jbG9zZT1mYWxzZTt0aGlzLnNhbHQ9MDt0aGlzLnJvb3RfZGlyPUdCX1JPT1RfRElSO3RoaXMuY2FsbGJhY2tfZm5zPVtdO3RoaXMucmVsb2FkX29uX2Nsb3NlPWZhbHNlO3RoaXMuc3JjX2xvYWRlcj10aGlzLnJvb3RfZGlyKyJsb2FkZXJfZnJhbWUuaHRtbCI7dmFyIGI9d2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLmluZGV4T2YoInd3dyIpO3ZhciBhPXRoaXMuc3JjX2xvYWRlci5pbmRleE9mKCJ3d3ciKTtpZihiIT0tMSYmYT09LTEpe3RoaXMuc3JjX2xvYWRlcj10aGlzLnNyY19sb2FkZXIucmVwbGFjZSgiOi8vIiwiOi8vd3d3LiIpfWlmKGI9PS0xJiZhIT0tMSl7dGhpcy5zcmNfbG9hZGVyPXRoaXMuc3JjX2xvYWRlci5yZXBsYWNlKCI6Ly93d3cuIiwiOi8vIil9dGhpcy5zaG93X2xvYWRpbmc9dHJ1ZTtBSlMudXBkYXRlKHRoaXMsYyl9LGFkZENhbGxiYWNrOmZ1bmN0aW9uKGEpe2lmKGEpe3RoaXMuY2FsbGJhY2tfZm5zLnB1c2goYSl9fSxzaG93OmZ1bmN0aW9uKGEpe0dCX0NVUlJFTlQ9dGhpczt0aGlzLnVybD1hO3ZhciBiPVtBSlMuJGJ5dGMoIm9iamVjdCIpLEFKUy4kYnl0Yygic2VsZWN0IildO0FKUy5tYXAoQUpTLmZsYXR0ZW5MaXN0KGIpLGZ1bmN0aW9uKGMpe2Muc3R5bGUudmlzaWJpbGl0eT0iaGlkZGVuIn0pO3RoaXMuY3JlYXRlRWxlbWVudHMoKTtyZXR1cm4gZmFsc2V9LGhpZGU6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcztzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dmFyIGQ9Yi5jYWxsYmFja19mbnM7aWYoZCE9W10pe0FKUy5tYXAoZCxmdW5jdGlvbihmKXtmKCl9KX1iLm9uSGlkZSgpO2lmKGIudXNlX2Z4KXt2YXIgZT1iLm92ZXJsYXk7QUpTLmZ4LmZhZGVPdXQoYi5vdmVybGF5LHtvbkNvbXBsZXRlOmZ1bmN0aW9uKCl7QUpTLnJlbW92ZUVsZW1lbnQoZSk7ZT1udWxsfSxkdXJhdGlvbjozMDB9KTtBSlMucmVtb3ZlRWxlbWVudChiLmdfd2luZG93KX1lbHNle0FKUy5yZW1vdmVFbGVtZW50KGIuZ193aW5kb3csYi5vdmVybGF5KX1iLnJlbW92ZUZyYW1lKCk7QUpTLlJFVih3aW5kb3csInNjcm9sbCIsX0dCX3NldE92ZXJsYXlEaW1lbnNpb24pO0FKUy5SRVYod2luZG93LCJyZXNpemUiLF9HQl91cGRhdGUpO3ZhciBjPVtBSlMuJGJ5dGMoIm9iamVjdCIpLEFKUy4kYnl0Yygic2VsZWN0IildO0FKUy5tYXAoQUpTLmZsYXR0ZW5MaXN0KGMpLGZ1bmN0aW9uKGYpe2Yuc3R5bGUudmlzaWJpbGl0eT0idmlzaWJsZSJ9KTtHQl9DVVJSRU5UPW51bGw7aWYoYi5yZWxvYWRfb25fY2xvc2Upe3dpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKX1pZihBSlMuaXNGdW5jdGlvbihhKSl7YSgpfX0sMTApfSx1cGRhdGU6ZnVuY3Rpb24oKXt0aGlzLnNldE92ZXJsYXlEaW1lbnNpb24oKTt0aGlzLnNldEZyYW1lU2l6ZSgpO3RoaXMuc2V0V2luZG93UG9zaXRpb24oKX0sY3JlYXRlRWxlbWVudHM6ZnVuY3Rpb24oKXt0aGlzLmluaXRPdmVybGF5KCk7dGhpcy5nX3dpbmRvdz1BSlMuRElWKHtpZDoiR0Jfd2luZG93In0pO0FKUy5oaWRlRWxlbWVudCh0aGlzLmdfd2luZG93KTtBSlMuZ2V0Qm9keSgpLmluc2VydEJlZm9yZSh0aGlzLmdfd2luZG93LHRoaXMub3ZlcmxheS5uZXh0U2libGluZyk7dGhpcy5pbml0RnJhbWUoKTt0aGlzLmluaXRIb29rKCk7dGhpcy51cGRhdGUoKTt2YXIgYT10aGlzO2lmKHRoaXMudXNlX2Z4KXtBSlMuZnguZmFkZUluKHRoaXMub3ZlcmxheSx7ZHVyYXRpb246MzAwLHRvOjAuNyxvbkNvbXBsZXRlOmZ1bmN0aW9uKCl7YS5vblNob3coKTtBSlMuc2hvd0VsZW1lbnQoYS5nX3dpbmRvdyk7YS5zdGFydExvYWRpbmcoKX19KX1lbHNle0FKUy5zZXRPcGFjaXR5KHRoaXMub3ZlcmxheSwwLjcpO0FKUy5zaG93RWxlbWVudCh0aGlzLmdfd2luZG93KTt0aGlzLm9uU2hvdygpO3RoaXMuc3RhcnRMb2FkaW5nKCl9QUpTLkFFVih3aW5kb3csInNjcm9sbCIsX0dCX3NldE92ZXJsYXlEaW1lbnNpb24pO0FKUy5BRVYod2luZG93LCJyZXNpemUiLF9HQl91cGRhdGUpfSxyZW1vdmVGcmFtZTpmdW5jdGlvbigpe3RyeXtBSlMucmVtb3ZlRWxlbWVudCh0aGlzLmlmcmFtZSl9Y2F0Y2goYSl7fXRoaXMuaWZyYW1lPW51bGx9LHN0YXJ0TG9hZGluZzpmdW5jdGlvbigpe3RoaXMuaWZyYW1lLnNyYz10aGlzLnNyY19sb2FkZXIrIj9zPSIrdGhpcy5zYWx0Kys7QUpTLnNob3dFbGVtZW50KHRoaXMuaWZyYW1lKX0sc2V0T3ZlcmxheURpbWVuc2lvbjpmdW5jdGlvbigpe3ZhciBiPUFKUy5nZXRXaW5kb3dTaXplKCk7aWYoQUpTLmlzTW96aWxsYSgpfHxBSlMuaXNPcGVyYSgpKXtBSlMuc2V0V2lkdGgodGhpcy5vdmVybGF5LCIxMDAlIil9ZWxzZXtBSlMuc2V0V2lkdGgodGhpcy5vdmVybGF5LGIudyl9dmFyIGE9TWF0aC5tYXgoQUpTLmdldFNjcm9sbFRvcCgpK2IuaCxBSlMuZ2V0U2Nyb2xsVG9wKCkrdGhpcy5oZWlnaHQpO2lmKGE8QUpTLmdldFNjcm9sbFRvcCgpKXtBSlMuc2V0SGVpZ2h0KHRoaXMub3ZlcmxheSxhKX1lbHNle0FKUy5zZXRIZWlnaHQodGhpcy5vdmVybGF5LEFKUy5nZXRTY3JvbGxUb3AoKStiLmgpfX0saW5pdE92ZXJsYXk6ZnVuY3Rpb24oKXt0aGlzLm92ZXJsYXk9QUpTLkRJVih7aWQ6IkdCX292ZXJsYXkifSk7aWYodGhpcy5vdmVybGF5X2NsaWNrX2Nsb3NlKXtBSlMuQUVWKHRoaXMub3ZlcmxheSwiY2xpY2siLEdCX2hpZGUpfUFKUy5zZXRPcGFjaXR5KHRoaXMub3ZlcmxheSwwKTtBSlMuZ2V0Qm9keSgpLmluc2VydEJlZm9yZSh0aGlzLm92ZXJsYXksQUpTLmdldEJvZHkoKS5maXJzdENoaWxkKX0saW5pdEZyYW1lOmZ1bmN0aW9uKCl7aWYoIXRoaXMuaWZyYW1lKXt2YXIgYT17bmFtZToiR0JfZnJhbWUiLCJjbGFzcyI6IkdCX2ZyYW1lIixmcmFtZUJvcmRlcjowfTtpZihBSlMuaXNJZSgpKXthLnNyYz0namF2YXNjcmlwdDpmYWxzZTtkb2N1bWVudC53cml0ZSgiIik7J310aGlzLmlmcmFtZT1BSlMuSUZSQU1FKGEpO3RoaXMubWlkZGxlX2NudD1BSlMuRElWKHsiY2xhc3MiOiJjb250ZW50In0sdGhpcy5pZnJhbWUpO3RoaXMudG9wX2NudD1BSlMuRElWKCk7dGhpcy5ib3R0b21fY250PUFKUy5ESVYoKTtBSlMuQUNOKHRoaXMuZ193aW5kb3csdGhpcy50b3BfY250LHRoaXMubWlkZGxlX2NudCx0aGlzLmJvdHRvbV9jbnQpfX0sb25IaWRlOmZ1bmN0aW9uKCl7fSxvblNob3c6ZnVuY3Rpb24oKXt9LHNldEZyYW1lU2l6ZTpmdW5jdGlvbigpe30sc2V0V2luZG93UG9zaXRpb246ZnVuY3Rpb24oKXt9LGluaXRIb29rOmZ1bmN0aW9uKCl7fX0pO19HQl91cGRhdGU9ZnVuY3Rpb24oKXtpZihHQl9DVVJSRU5UKXtHQl9DVVJSRU5ULnVwZGF0ZSgpfX07X0dCX3NldE92ZXJsYXlEaW1lbnNpb249ZnVuY3Rpb24oKXtpZihHQl9DVVJSRU5UKXtHQl9DVVJSRU5ULnNldE92ZXJsYXlEaW1lbnNpb24oKX19O0FKUy5wcmVsb2FkSW1hZ2VzKEdCX1JPT1RfRElSKyJpbmRpY2F0b3IuZ2lmIik7c2NyaXB0X2xvYWRlZD10cnVlO3ZhciBHQl9TRVRTPXt9O2Z1bmN0aW9uIGRlY29HcmV5Ym94TGlua3MoKXt2YXIgYT1BSlMuJGJ5dGMoImEiKTtBSlMubWFwKGEsZnVuY3Rpb24oYyl7aWYoYy5nZXRBdHRyaWJ1dGUoImhyZWYiKSYmYy5nZXRBdHRyaWJ1dGUoInJlbCIpKXt2YXIgYj1jLmdldEF0dHJpYnV0ZSgicmVsIik7aWYoYi5pbmRleE9mKCJnYl8iKT09MCl7dmFyIGY9Yi5tYXRjaCgvXHcrLylbMF07dmFyIGU9Yi5tYXRjaCgvXFsoLiopXF0vKVsxXTt2YXIgZD0wO3ZhciBnPXtjYXB0aW9uOmMudGl0bGV8fCIiLHVybDpjLmhyZWZ9O2lmKGY9PSJnYl9wYWdlc2V0Inx8Zj09ImdiX2ltYWdlc2V0Iil7aWYoIUdCX1NFVFNbZV0pe0dCX1NFVFNbZV09W119R0JfU0VUU1tlXS5wdXNoKGcpO2Q9R0JfU0VUU1tlXS5sZW5ndGh9aWYoZj09ImdiX3BhZ2VzZXQiKXtjLm9uY2xpY2s9ZnVuY3Rpb24oKXtHQl9zaG93RnVsbFNjcmVlblNldChHQl9TRVRTW2VdLGQpO3JldHVybiBmYWxzZX19aWYoZj09ImdiX2ltYWdlc2V0Iil7Yy5vbmNsaWNrPWZ1bmN0aW9uKCl7R0Jfc2hvd0ltYWdlU2V0KEdCX1NFVFNbZV0sZCk7cmV0dXJuIGZhbHNlfX1pZihmPT0iZ2JfaW1hZ2UiKXtjLm9uY2xpY2s9ZnVuY3Rpb24oKXtHQl9zaG93SW1hZ2UoZy5jYXB0aW9uLGcudXJsKTtyZXR1cm4gZmFsc2V9fWlmKGY9PSJnYl9wYWdlIil7Yy5vbmNsaWNrPWZ1bmN0aW9uKCl7dmFyIGg9ZS5zcGxpdCgvLCA/Lyk7R0Jfc2hvdyhnLmNhcHRpb24sZy51cmwscGFyc2VJbnQoaFsxXSkscGFyc2VJbnQoaFswXSkpO3JldHVybiBmYWxzZX19aWYoZj09ImdiX3BhZ2VfZnMiKXtjLm9uY2xpY2s9ZnVuY3Rpb24oKXtHQl9zaG93RnVsbFNjcmVlbihnLmNhcHRpb24sZy51cmwpO3JldHVybiBmYWxzZX19aWYoZj09ImdiX3BhZ2VfY2VudGVyIil7Yy5vbmNsaWNrPWZ1bmN0aW9uKCl7dmFyIGg9ZS5zcGxpdCgvLCA/Lyk7R0Jfc2hvd0NlbnRlcihnLmNhcHRpb24sZy51cmwscGFyc2VJbnQoaFsxXSkscGFyc2VJbnQoaFswXSkpO3JldHVybiBmYWxzZX19fX19KX1BSlMuQUVWKHdpbmRvdywibG9hZCIsZGVjb0dyZXlib3hMaW5rcyk7R0Jfc2hvd0ltYWdlPWZ1bmN0aW9uKGEsYyxlKXt2YXIgYj17d2lkdGg6MzAwLGhlaWdodDozMDAsdHlwZToiaW1hZ2UiLGZ1bGxzY3JlZW46ZmFsc2UsY2VudGVyX3dpbjp0cnVlLGNhcHRpb246YSxjYWxsYmFja19mbjplfTt2YXIgZD1uZXcgR0JfR2FsbGVyeShiKTtyZXR1cm4gZC5zaG93KGMpfTtHQl9zaG93UGFnZT1mdW5jdGlvbihhLGMsZSl7dmFyIGI9e3R5cGU6InBhZ2UiLGNhcHRpb246YSxjYWxsYmFja19mbjplLGZ1bGxzY3JlZW46dHJ1ZSxjZW50ZXJfd2luOmZhbHNlfTt2YXIgZD1uZXcgR0JfR2FsbGVyeShiKTtyZXR1cm4gZC5zaG93KGMpfTtHQl9HYWxsZXJ5PUdyZXlCb3guZXh0ZW5kKHtpbml0OmZ1bmN0aW9uKGEpe3RoaXMucGFyZW50KHt9KTt0aGlzLmltZ19jbG9zZT10aGlzLnJvb3RfZGlyKyJnX2Nsb3NlLmdpZiI7QUpTLnVwZGF0ZSh0aGlzLGEpO3RoaXMuYWRkQ2FsbGJhY2sodGhpcy5jYWxsYmFja19mbil9LGluaXRIb29rOmZ1bmN0aW9uKCl7QUpTLmFkZENsYXNzKHRoaXMuZ193aW5kb3csIkdCX0dhbGxlcnkiKTt2YXIgYz1BSlMuRElWKHsiY2xhc3MiOiJpbm5lciJ9KTt0aGlzLmhlYWRlcj1BSlMuRElWKHsiY2xhc3MiOiJHQl9oZWFkZXIifSxjKTtBSlMuc2V0T3BhY2l0eSh0aGlzLmhlYWRlciwwKTtBSlMuZ2V0Qm9keSgpLmluc2VydEJlZm9yZSh0aGlzLmhlYWRlcix0aGlzLm92ZXJsYXkubmV4dFNpYmxpbmcpO3ZhciBlPUFKUy5URCh7aWQ6IkdCX2NhcHRpb24iLCJjbGFzcyI6ImNhcHRpb24iLHdpZHRoOiI0MCUifSx0aGlzLmNhcHRpb24pO3ZhciBiPUFKUy5URCh7aWQ6IkdCX21pZGRsZSIsImNsYXNzIjoibWlkZGxlIix3aWR0aDoiMjAlIn0pO3ZhciBmPUFKUy5JTUcoe3NyYzp0aGlzLmltZ19jbG9zZX0pO0FKUy5BRVYoZiwiY2xpY2siLEdCX2hpZGUpO3ZhciBhPUFKUy5URCh7ImNsYXNzIjoiY2xvc2UiLHdpZHRoOiI0MCUifSxmKTt2YXIgZD1BSlMuVEJPRFkoQUpTLlRSKGUsYixhKSk7dmFyIGc9QUpTLlRBQkxFKHtjZWxsc3BhY2luZzoiMCIsY2VsbHBhZGRpbmc6MCxib3JkZXI6MH0sZCk7QUpTLkFDTihjLGcpO2lmKHRoaXMuZnVsbHNjcmVlbil7QUpTLkFFVih3aW5kb3csInNjcm9sbCIsQUpTLiRiKHRoaXMuc2V0V2luZG93UG9zaXRpb24sdGhpcykpfWVsc2V7QUpTLkFFVih3aW5kb3csInNjcm9sbCIsQUpTLiRiKHRoaXMuX3NldEhlYWRlclBvcyx0aGlzKSl9fSxzZXRGcmFtZVNpemU6ZnVuY3Rpb24oKXt2YXIgYj10aGlzLm92ZXJsYXkub2Zmc2V0V2lkdGg7dmFyIGE9QUpTLmdldFdpbmRvd1NpemUoKTtpZih0aGlzLmZ1bGxzY3JlZW4pe3RoaXMud2lkdGg9Yi00MDt0aGlzLmhlaWdodD1hLmgtODB9QUpTLnNldFdpZHRoKHRoaXMuaWZyYW1lLHRoaXMud2lkdGgpO0FKUy5zZXRIZWlnaHQodGhpcy5pZnJhbWUsdGhpcy5oZWlnaHQpO0FKUy5zZXRXaWR0aCh0aGlzLmhlYWRlcixiKX0sX3NldEhlYWRlclBvczpmdW5jdGlvbigpe0FKUy5zZXRUb3AodGhpcy5oZWFkZXIsQUpTLmdldFNjcm9sbFRvcCgpKzEwKX0sc2V0V2luZG93UG9zaXRpb246ZnVuY3Rpb24oKXt2YXIgYz10aGlzLm92ZXJsYXkub2Zmc2V0V2lkdGg7dmFyIGE9QUpTLmdldFdpbmRvd1NpemUoKTtBSlMuc2V0TGVmdCh0aGlzLmdfd2luZG93LCgoYy01MC10aGlzLndpZHRoKS8yKSk7dmFyIGQ9QUpTLmdldFNjcm9sbFRvcCgpKzU1O2lmKCF0aGlzLmNlbnRlcl93aW4pe0FKUy5zZXRUb3AodGhpcy5nX3dpbmRvdyxkKX1lbHNle3ZhciBiPSgoYS5oLXRoaXMuaGVpZ2h0KS8yKSsyMCtBSlMuZ2V0U2Nyb2xsVG9wKCk7aWYoYjwwKXtiPTB9aWYoZD5iKXtiPWR9QUpTLnNldFRvcCh0aGlzLmdfd2luZG93LGIpfXRoaXMuX3NldEhlYWRlclBvcygpfSxvbkhpZGU6ZnVuY3Rpb24oKXtBSlMucmVtb3ZlRWxlbWVudCh0aGlzLmhlYWRlcik7QUpTLnJlbW92ZUNsYXNzKHRoaXMuZ193aW5kb3csIkdCX0dhbGxlcnkiKX0sb25TaG93OmZ1bmN0aW9uKCl7aWYodGhpcy51c2VfZngpe0FKUy5meC5mYWRlSW4odGhpcy5oZWFkZXIse3RvOjF9KX1lbHNle0FKUy5zZXRPcGFjaXR5KHRoaXMuaGVhZGVyLDEpfX19KTtBSlMucHJlbG9hZEltYWdlcyhHQl9ST09UX0RJUisiZ19jbG9zZS5naWYiKTtHQl9zaG93RnVsbFNjcmVlblNldD1mdW5jdGlvbihlLGEsZCl7dmFyIGI9e3R5cGU6InBhZ2UiLGZ1bGxzY3JlZW46dHJ1ZSxjZW50ZXJfd2luOmZhbHNlfTt2YXIgYz1uZXcgR0JfU2V0cyhiLGUpO2MuYWRkQ2FsbGJhY2soZCk7Yy5zaG93U2V0KGEtMSk7cmV0dXJuIGZhbHNlfTtHQl9zaG93SW1hZ2VTZXQ9ZnVuY3Rpb24oZSxhLGQpe3ZhciBiPXt0eXBlOiJpbWFnZSIsZnVsbHNjcmVlbjpmYWxzZSxjZW50ZXJfd2luOnRydWUsd2lkdGg6MzAwLGhlaWdodDozMDB9O3ZhciBjPW5ldyBHQl9TZXRzKGIsZSk7Yy5hZGRDYWxsYmFjayhkKTtjLnNob3dTZXQoYS0xKTtyZXR1cm4gZmFsc2V9O0dCX1NldHM9R0JfR2FsbGVyeS5leHRlbmQoe2luaXQ6ZnVuY3Rpb24oYSxiKXt0aGlzLnBhcmVudChhKTtpZighdGhpcy5pbWdfbmV4dCl7dGhpcy5pbWdfbmV4dD10aGlzLnJvb3RfZGlyKyJuZXh0LmdpZiJ9aWYoIXRoaXMuaW1nX3ByZXYpe3RoaXMuaW1nX3ByZXY9dGhpcy5yb290X2RpcisicHJldi5naWYifXRoaXMuY3VycmVudF9zZXQ9Yn0sc2hvd1NldDpmdW5jdGlvbihhKXt0aGlzLmN1cnJlbnRfaW5kZXg9YTt2YXIgYj10aGlzLmN1cnJlbnRfc2V0W3RoaXMuY3VycmVudF9pbmRleF07dGhpcy5zaG93KGIudXJsKTt0aGlzLl9zZXRDYXB0aW9uKGIuY2FwdGlvbik7dGhpcy5idG5fcHJldj1BSlMuSU1HKHsiY2xhc3MiOiJsZWZ0IixzcmM6dGhpcy5pbWdfcHJldn0pO3RoaXMuYnRuX25leHQ9QUpTLklNRyh7ImNsYXNzIjoicmlnaHQiLHNyYzp0aGlzLmltZ19uZXh0fSk7QUpTLkFFVih0aGlzLmJ0bl9wcmV2LCJjbGljayIsQUpTLiRiKHRoaXMuc3dpdGNoUHJldix0aGlzKSk7QUpTLkFFVih0aGlzLmJ0bl9uZXh0LCJjbGljayIsQUpTLiRiKHRoaXMuc3dpdGNoTmV4dCx0aGlzKSk7R0JfU1RBVFVTPUFKUy5TUEFOKHsiY2xhc3MiOiJHQl9uYXZTdGF0dXMifSk7QUpTLkFDTihBSlMuJCgiR0JfbWlkZGxlIiksdGhpcy5idG5fcHJldixHQl9TVEFUVVMsdGhpcy5idG5fbmV4dCk7dGhpcy51cGRhdGVTdGF0dXMoKX0sdXBkYXRlU3RhdHVzOmZ1bmN0aW9uKCl7QUpTLnNldEhUTUwoR0JfU1RBVFVTLCh0aGlzLmN1cnJlbnRfaW5kZXgrMSkrIiAvICIrdGhpcy5jdXJyZW50X3NldC5sZW5ndGgpO2lmKHRoaXMuY3VycmVudF9pbmRleD09MCl7QUpTLmFkZENsYXNzKHRoaXMuYnRuX3ByZXYsImRpc2FibGVkIil9ZWxzZXtBSlMucmVtb3ZlQ2xhc3ModGhpcy5idG5fcHJldiwiZGlzYWJsZWQiKX1pZih0aGlzLmN1cnJlbnRfaW5kZXg9PXRoaXMuY3VycmVudF9zZXQubGVuZ3RoLTEpe0FKUy5hZGRDbGFzcyh0aGlzLmJ0bl9uZXh0LCJkaXNhYmxlZCIpfWVsc2V7QUpTLnJlbW92ZUNsYXNzKHRoaXMuYnRuX25leHQsImRpc2FibGVkIil9fSxfc2V0Q2FwdGlvbjpmdW5jdGlvbihhKXtBSlMuc2V0SFRNTChBSlMuJCgiR0JfY2FwdGlvbiIpLGEpfSx1cGRhdGVGcmFtZTpmdW5jdGlvbigpe3ZhciBhPXRoaXMuY3VycmVudF9zZXRbdGhpcy5jdXJyZW50X2luZGV4XTt0aGlzLl9zZXRDYXB0aW9uKGEuY2FwdGlvbik7dGhpcy51cmw9YS51cmw7dGhpcy5zdGFydExvYWRpbmcoKX0sc3dpdGNoUHJldjpmdW5jdGlvbigpe2lmKHRoaXMuY3VycmVudF9pbmRleCE9MCl7dGhpcy5jdXJyZW50X2luZGV4LS07dGhpcy51cGRhdGVGcmFtZSgpO3RoaXMudXBkYXRlU3RhdHVzKCl9fSxzd2l0Y2hOZXh0OmZ1bmN0aW9uKCl7aWYodGhpcy5jdXJyZW50X2luZGV4IT10aGlzLmN1cnJlbnRfc2V0Lmxlbmd0aC0xKXt0aGlzLmN1cnJlbnRfaW5kZXgrKzt0aGlzLnVwZGF0ZUZyYW1lKCk7dGhpcy51cGRhdGVTdGF0dXMoKX19fSk7QUpTLkFFVih3aW5kb3csImxvYWQiLGZ1bmN0aW9uKCl7QUpTLnByZWxvYWRJbWFnZXMoR0JfUk9PVF9ESVIrIm5leHQuZ2lmIixHQl9ST09UX0RJUisicHJldi5naWYiKX0pO0dCX3Nob3c9ZnVuY3Rpb24oYixkLGEsZSxnKXt2YXIgYz17Y2FwdGlvbjpiLGhlaWdodDphfHw1MDAsd2lkdGg6ZXx8NTAwLGZ1bGxzY3JlZW46ZmFsc2UsY2FsbGJhY2tfZm46Z307dmFyIGY9bmV3IEdCX1dpbmRvdyhjKTtyZXR1cm4gZi5zaG93KGQpfTtHQl9zaG93Q2VudGVyPWZ1bmN0aW9uKGIsZCxhLGUsZyl7dmFyIGM9e2NhcHRpb246YixjZW50ZXJfd2luOnRydWUsaGVpZ2h0OmF8fDUwMCx3aWR0aDplfHw1MDAsZnVsbHNjcmVlbjpmYWxzZSxjYWxsYmFja19mbjpnfTt2YXIgZj1uZXcgR0JfV2luZG93KGMpO3JldHVybiBmLnNob3coZCl9O0dCX3Nob3dGdWxsU2NyZWVuPWZ1bmN0aW9uKGEsYyxlKXt2YXIgYj17Y2FwdGlvbjphLGZ1bGxzY3JlZW46dHJ1ZSxjYWxsYmFja19mbjplfTt2YXIgZD1uZXcgR0JfV2luZG93KGIpO3JldHVybiBkLnNob3coYyl9O0dCX1dpbmRvdz1HcmV5Qm94LmV4dGVuZCh7aW5pdDpmdW5jdGlvbihhKXt0aGlzLnBhcmVudCh7fSk7dGhpcy5pbWdfaGVhZGVyPXRoaXMucm9vdF9kaXIrImhlYWRlcl9iZy5naWYiO3RoaXMuaW1nX2Nsb3NlPXRoaXMucm9vdF9kaXIrIndfY2xvc2UuZ2lmIjt0aGlzLnNob3dfY2xvc2VfaW1nPXRydWU7QUpTLnVwZGF0ZSh0aGlzLGEpO3RoaXMuYWRkQ2FsbGJhY2sodGhpcy5jYWxsYmFja19mbil9LGluaXRIb29rOmZ1bmN0aW9uKCl7QUpTLmFkZENsYXNzKHRoaXMuZ193aW5kb3csIkdCX1dpbmRvdyIpO3RoaXMuaGVhZGVyPUFKUy5UQUJMRSh7ImNsYXNzIjoiaGVhZGVyIn0pO3RoaXMuaGVhZGVyLnN0eWxlLmJhY2tncm91bmRJbWFnZT0idXJsKCIrdGhpcy5pbWdfaGVhZGVyKyIpIjt2YXIgYj1BSlMuVEQoeyJjbGFzcyI6ImNhcHRpb24ifSx0aGlzLmNhcHRpb24pO3ZhciBhPUFKUy5URCh7ImNsYXNzIjoiY2xvc2UifSk7aWYodGhpcy5zaG93X2Nsb3NlX2ltZyl7dmFyIGU9QUpTLklNRyh7c3JjOnRoaXMuaW1nX2Nsb3NlfSk7dmFyIGQ9QUpTLlNQQU4oIkNsb3NlIik7dmFyIGM9QUpTLkRJVihlLGQpO0FKUy5BRVYoW2UsZF0sIm1vdXNlb3ZlciIsZnVuY3Rpb24oKXtBSlMuYWRkQ2xhc3MoZCwib24iKX0pO0FKUy5BRVYoW2UsZF0sIm1vdXNlb3V0IixmdW5jdGlvbigpe0FKUy5yZW1vdmVDbGFzcyhkLCJvbiIpfSk7QUpTLkFFVihbZSxkXSwibW91c2Vkb3duIixmdW5jdGlvbigpe0FKUy5hZGRDbGFzcyhkLCJjbGljayIpfSk7QUpTLkFFVihbZSxkXSwibW91c2V1cCIsZnVuY3Rpb24oKXtBSlMucmVtb3ZlQ2xhc3MoZCwiY2xpY2siKX0pO0FKUy5BRVYoW2UsZF0sImNsaWNrIixHQl9oaWRlKTtBSlMuQUNOKGEsYyl9dGJvZHlfaGVhZGVyPUFKUy5UQk9EWSgpO0FKUy5BQ04odGJvZHlfaGVhZGVyLEFKUy5UUihiLGEpKTtBSlMuQUNOKHRoaXMuaGVhZGVyLHRib2R5X2hlYWRlcik7QUpTLkFDTih0aGlzLnRvcF9jbnQsdGhpcy5oZWFkZXIpO2lmKHRoaXMuZnVsbHNjcmVlbil7QUpTLkFFVih3aW5kb3csInNjcm9sbCIsQUpTLiRiKHRoaXMuc2V0V2luZG93UG9zaXRpb24sdGhpcykpfX0sc2V0RnJhbWVTaXplOmZ1bmN0aW9uKCl7aWYodGhpcy5mdWxsc2NyZWVuKXt2YXIgYT1BSlMuZ2V0V2luZG93U2l6ZSgpO292ZXJsYXlfaD1hLmg7dGhpcy53aWR0aD1NYXRoLnJvdW5kKHRoaXMub3ZlcmxheS5vZmZzZXRXaWR0aC0odGhpcy5vdmVybGF5Lm9mZnNldFdpZHRoLzEwMCkqMTApO3RoaXMuaGVpZ2h0PU1hdGgucm91bmQob3ZlcmxheV9oLShvdmVybGF5X2gvMTAwKSoxMCl9QUpTLnNldFdpZHRoKHRoaXMuaGVhZGVyLHRoaXMud2lkdGgrNik7QUpTLnNldFdpZHRoKHRoaXMuaWZyYW1lLHRoaXMud2lkdGgpO0FKUy5zZXRIZWlnaHQodGhpcy5pZnJhbWUsdGhpcy5oZWlnaHQpfSxzZXRXaW5kb3dQb3NpdGlvbjpmdW5jdGlvbigpe3ZhciBhPUFKUy5nZXRXaW5kb3dTaXplKCk7QUpTLnNldExlZnQodGhpcy5nX3dpbmRvdywoKGEudy10aGlzLndpZHRoKS8yKS0xMyk7aWYoIXRoaXMuY2VudGVyX3dpbil7QUpTLnNldFRvcCh0aGlzLmdfd2luZG93LEFKUy5nZXRTY3JvbGxUb3AoKSl9ZWxzZXt2YXIgYj0oKGEuaC10aGlzLmhlaWdodCkvMiktMjArQUpTLmdldFNjcm9sbFRvcCgpO2lmKGI8MCl7Yj0wfUFKUy5zZXRUb3AodGhpcy5nX3dpbmRvdyxiKX19fSk7QUpTLnByZWxvYWRJbWFnZXMoR0JfUk9PVF9ESVIrIndfY2xvc2UuZ2lmIixHQl9ST09UX0RJUisiaGVhZGVyX2JnLmdpZiIpOwpzY3JpcHRfbG9hZGVkPXRydWU7]]></data>
	</file>
	<file>
	  <filename>/style/greybox/gb_styles.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogTGFzdC1Nb2RpZmllZDogMjgvMDYvMDYgMDA6MDg6MjIgKi8KI0dCX292ZXJsYXkgewogICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIG1hcmdpbjogYXV0bzsKICAgIHRvcDogMDsKICAgIGxlZnQ6IDA7CiAgICB6LWluZGV4OiAxMDA7Cn0KCiNHQl93aW5kb3cgewogICAgbGVmdDogMDsKICAgIHRvcDogMDsKICAgIGZvbnQtc2l6ZTogMXB4OwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgb3ZlcmZsb3c6IHZpc2libGU7CiAgICB6LWluZGV4OiAxNTA7Cn0KCiNHQl93aW5kb3cgLmNvbnRlbnQgewogICAgd2lkdGg6IGF1dG87CiAgICBtYXJnaW46IDA7CiAgICBwYWRkaW5nOiAwOwp9CgojR0JfZnJhbWUgewogICAgYm9yZGVyOiAwOwogICAgbWFyZ2luOiAwOwogICAgcGFkZGluZzogMDsKICAgIG92ZXJmbG93OiBhdXRvOwogICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKfQoKCi5HQl9HYWxsZXJ5IHsKICAgIG1hcmdpbjogMCAxMHB4IDAgMTBweDsKfQoKLkdCX0dhbGxlcnkgLmNvbnRlbnQgewogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICAgIGJvcmRlcjogM3B4IHNvbGlkICNkZGQ7Cn0KCi5HQl9oZWFkZXIgewogICAgdG9wOiAxMHB4OwogICAgbGVmdDogMDsKICAgIG1hcmdpbjogMDsKICAgIHotaW5kZXg6IDUwMDsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjNTU1OwogICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICM1NTU7Cn0KCi5HQl9oZWFkZXIgLmlubmVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzM7CiAgICBmb250LWZhbWlseTogQXJpYWwsIFZlcmRhbmEsIHNhbnMtc2VyaWY7CiAgICBwYWRkaW5nOiAycHggMjBweCAycHggMjBweDsKfQoKLkdCX2hlYWRlciB0YWJsZSB7CiAgICBtYXJnaW46IDA7CiAgICB3aWR0aDogMTAwJTsKICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7Cn0KCi5HQl9oZWFkZXIgLmNhcHRpb24gewogICAgdGV4dC1hbGlnbjogbGVmdDsKICAgIGNvbG9yOiAjZWVlOwogICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgIGZvbnQtc2l6ZTogMjBweDsKfQoKLkdCX2hlYWRlciAuY2xvc2UgewogICAgdGV4dC1hbGlnbjogcmlnaHQ7Cn0KCi5HQl9oZWFkZXIgLmNsb3NlIGltZyB7CiAgICB6LWluZGV4OiA1MDA7CiAgICBjdXJzb3I6IHBvaW50ZXI7Cn0KCi5HQl9oZWFkZXIgLm1pZGRsZSB7CiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgdGV4dC1hbGlnbjogY2VudGVyOwp9CgoKI0dCX21pZGRsZSB7CiAgICBjb2xvcjogI2VlZTsKfQoKI0dCX21pZGRsZSBpbWcgewogICAgY3Vyc29yOiBwb2ludGVyOwogICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKfQoKI0dCX21pZGRsZSAuZGlzYWJsZWQgewogICAgY3Vyc29yOiBkZWZhdWx0Owp9CgojR0JfbWlkZGxlIC5sZWZ0IHsKICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7Cn0KCiNHQl9taWRkbGUgLnJpZ2h0IHsKICAgIHBhZGRpbmctbGVmdDogMTBweDsKfQoKCi5HQl9XaW5kb3cgLmNvbnRlbnQgewogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICAgIGJvcmRlcjogM3B4IHNvbGlkICNjY2M7CiAgICBib3JkZXItdG9wOiBub25lOwp9CgouR0JfV2luZG93IC5oZWFkZXIgewogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNhYWE7CiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzk5OTsKICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgI2NjYzsKICAgIGJvcmRlci1yaWdodDogM3B4IHNvbGlkICNjY2M7CiAgICBtYXJnaW46IDA7CgogICAgaGVpZ2h0OiAyMnB4OwogICAgZm9udC1zaXplOiAxMnB4OwogICAgcGFkZGluZzogM3B4IDA7CiAgICBjb2xvcjogIzMzMzsKfQoKLkdCX1dpbmRvdyAuY2FwdGlvbiB7CiAgICBmb250LXNpemU6IDEycHg7CiAgICB0ZXh0LWFsaWduOiBsZWZ0OwogICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgcGFkZGluZy1yaWdodDogMjBweDsKfQoKLkdCX1dpbmRvdyAuY2xvc2UgeyB0ZXh0LWFsaWduOiByaWdodDsgfQouR0JfV2luZG93IC5jbG9zZSBzcGFuIHsKICAgIGZvbnQtc2l6ZTogMTJweDsKICAgIGN1cnNvcjogcG9pbnRlcjsKfQouR0JfV2luZG93IC5jbG9zZSBpbWcgewogICAgY3Vyc29yOiBwb2ludGVyOwogICAgcGFkZGluZzogMCAzcHggMCAwOwp9CgouR0JfV2luZG93IC5vbiB7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMzMzOyB9Ci5HQl9XaW5kb3cgLmNsaWNrIHsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJlZDsgfQo=]]></data>
	</file>
	<file>
	  <filename>/style/greybox/g_close.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhGQAeANU8AP///5mZmZ+fn3R0dH19faenp56ennx8fPr6+s3NzczMzE9PT+Xl5T09PTU1Nezs7O/v76CgoHFxcVhYWNbW1oWFhYODg+np6fLy8vj4+Ovr6/n5+d/f36ysrLOzs9nZ2cbGxlxcXNra2jY2NoeHh9LS0ujo6MLCwkRERLu7u0NDQ/Hx8e3t7cHBwYKCgnNzc6ampu7u7k1NTVtbWz4+Pry8vMvLy7m5ub29vTQ0NL+/vz8/PzMzMwAAAAAAAAAAACH5BAEAADwALAAAAAAZAB4AAAb/QJ5wSCwaj8ikctiYSFwVl2TSWA5lh4B2uz0slI6BVpCimDQmSkqgHTiODULAYEMA7ngAImEIEKpEDnIFEHmGdxAFfjlEYgUZh5EZigNDC3OFkZExfV88WQl4HAoKJXgbpAoPdwkBBzwqARF2dxtsAQp3N1oeeAgRASohAS2GDFsPH2MYeS0BM2IihyBaMLcchsovFgEXkR1cOocXARYkASyR1FsfhywBJNzexlwBAhuG5BbRhrZaIOAC9MojIsCAYScMedDSAQCGW7nwnAgQAoUsWgBKLLvDAdmdXwFQfAoQ6g6Dk8zwPDi5CkCrVzwuGcikyRCETkMcQaqJZ5LBOkCDVvAEsEIRgTdE4sxJgDHPnj5/jowQY68GBQ1YKeC4NWCEkgVZ6nXxZIWGkwpop+ywwrat27dsgwAAOw==]]></data>
	</file>
	<file>
	  <filename>/style/greybox/header_bg.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlh3wAjAMQAAPr6+tPT0+vr6+Pj49vb2/X19c3Nze/w7+Dg4d/e3unp6Ojn6Ofo597e3ufm5uDf4Obm5ujp6d/g3+Hg4Pf29+7u7vn4+O/u7vf4+O/w8PHx8fPz89jY2Pz8/M/Pz////yH5BAAAAAAALAAAAADfACMAAAX/oCGOZGmeaKqubOu+cCzPdG3feK7vfL96wKBwSCwaj8ikcslsOp/QqHS6DFCL1qt2y+0Ks15kYEwum8/otHrNbrvf8Lh8Tq/b7/i8fs/v+/+AgYKDhIVkHIiJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqORBKanpxyoqKqrrq8EiKatsKyttLWzsbu0t7m/tbjAqcPFu8HGycrLzM3Oz9DR0tPLDdbX2Nna29zd3t/g4eLj5OXm5+jhEusPD+wIEu7t8ezu8O3y+Pfx+Q8I9vPi/UPwT+BAePTeuaO3kOG6e//8SSg4zx5BeezW8WuYcN8+h/jq0Ru4MWLFgPYE/9ZrhzDhRH33MIbc2DDkyYkJH0wYMKEngp07eSIY8JOo0Z4DeCYlCnQoT6QEkwKVutQpU6pYoy5VSnToUKBBkXKV+rMp151WvQZ9ulVqULVCn4oF+9Wn3LVle4LFmrSoW6phxwJGOrXqW6ttEytezLix48eQI0ueTLmy5cuXIWjezLmz58+gQ4seTbq06dOoU6tezbo0g9evF8ReIFs2g9q4a8OmTXt37Nm5b/8W7vt2cOO8dfdGvnt5ct6wjQOfHh268OfMh1O3rfu3c9vXrYfnbr279Ny9y4N/rUBBhPbw3cMXIJ++gPftI+jXnz++fP/+4QcgfAK6V+B8BL5X4P99+tHX34DyHUiggQXiJ2F79/XH34MQ5seggfQpqKCBEQIYIokoXmihhQ7OJ8CLMMYo44w01mjjjTjmqOOOPPbo449ABpljBUQWaeSRSCap5JJMNunkk1BGKeWUVFZp5ZMHZHDAllx2qaWWXWYJ5pZjfjlmlmF+SaaaZ4pJZpphcplBmXF6+Wadd6LZpptu7jlnnWqiCaiceMb55553/vmmooLaCagGkEYq6aSUVmrppZhmqummnHbq6aeghirqphuUauqpqKaq6qqsturqq7DGKuustNZq662wFqDrrrz26uuvwAYr7LDEFmvsscgmq+yyzBZLwbPQRivttNRWa+3/tdhmq+223Hbr7bfghqutBRZggAG55FJQLrrknrsuuuqyK2+76c5rL7ru0nvvvfmau++78+YbMLsCC4zvwPuea/C/8cb7b8ALPwzvvgBUbLEFF1usccUYbwwAuhd37PHIIo/MscYlo4wxuSGnvDHLLoOcMsgffyxyySuzXLPNOs9sMs8474zyyT17DDPPJuss9M9MN+3001BHLfXUVFdt9dVYW9zB1lx37fXXYIct9thkl2322WinrfbabLe99gdhw532B3DLLffXd8fddd5u48032Hn/DbjdfZ8tuNh0H6741oR7bXfikEcu+eSUV2755ZhnrvnmnHfu+eeghy76Ieikl2766ainrvrqrLfu+uuwxy777LTXbvvtuOeuO+whAAA7]]></data>
	</file>
	<file>
	  <filename>/style/greybox/indicator.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhZABkAPQAAP///1VVVbOzs5qamnh4eHx8fJKSkmdnZ2BgYHJycoyMjIeHh6ioqK6urmxsbFVVVaOjo4KCgltbWwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH+GkNyZWF0ZWQgd2l0aCBhamF4bG9hZC5pbmZvACH5BAAHAAAAIf8LTkVUU0NBUEUyLjADAQAAACwAAAAAZABkAAAF/yAgjmRpnmiqrmzrvnAsz3Rt33iu73zfMgoDw0csAgSEh/JBEBifucRymYBaaYzpdHjtuhba5cJLXoHDj3HZBykkIpDWAP0YrHsDiV5faB3CB3c8EHuFdisNDlMHTi4NEI2CJwWFewQuAwtBMAIKQZGSJAmVelVGEAaeXKEkEaQSpkUNngYNrCWEpIdGj6C3IpSFfb+CAwkOCbvEy8zNzs/Q0dLT1NUrAgOf1kUMBwjfB8rbOQLe3+C24wxCNwPn7wrjEAv0qzMK7+eX2wb0mzXu8iGIty1TPRvlBKazJgBVnBsN8okbRy6VgoUUM2rcyLGjx48gQ4ocSbKkyZMoJf8JMFCAwAJfKU0gOUDzgAOYHiE8XDGAJoKaalAoObHERFESU0oMFbF06YikKQQsiKCJBYGaNR2ocPr0AQCuQ8F6Fdt1rNeuLSBQjRDB3qSfPm1uPYvUbN2jTO2izQs171e6J9SuxXjCAFaaQYkC9ku2MWCnYR2rkDqV4IoEWG/O5fp3ceS7nuk2Db0YBQS3UVm6xBmztevXsGPLnk27tu3buHOvQU3bgIPflscJ4C3D92/gFNUWgHPj2G+bmhkWWL78xvPjDog/azCdOmsXzrF/dyYgAvUI7Y7bDF5N+QLCM4whM7BxvO77+PPr38+//w4GbhSw0xMQDKCdJAwkcIx2ggMSsQABENLHzALILDhMERAQ0BKE8IUSwYILPjEAhCQ2yMoCClaYmA8NQLhhh5I0oOCCB5rAQI0mGEDiRLfMQhWOI3CXgIYwotBAA/aN09KQCVw4m4wEMElAkTEhIWUCSaL0IJPsySZVlC/5J+aYZJZppgghAAAh+QQABwABACwAAAAAZABkAAAF/yAgjmRpnmiqrmzrvnAsz3Rt33iu73zfMhAIw0csAgQDhESCGAiM0NzgsawOolgaQ1ldIobZsAvS7ULE6BW5vDynfUiFsyVgL58rwQLxOCzeKwwHCIQHYCsLbH95Dg+OjgeAKAKDhIUNLA2JVQt4KhGPoYuSJEmWlgYuSBCYLRKhjwikJQqnlgpFsKGzJAa2hLhEuo6yvCKUv549BcOjxgOVhFdFdbAOysYNCgQK2HDMVAXexuTl5ufo6err7O3kAgKs4+48AhEH+ATz9Dj2+P8EWvET0YDBPlX/Eh7i18CAgm42ICT8l2ogAAYPFSyU0WAiPjcDtSkwIHCGAAITE/+UpCeg4EqTKPGptEikpQEGL2nq3Mmzp8+fQIMKHUq0qNGjSJO6E8DA4RyleQw4mOqgk1F4LRo4OEDVwTQUjk48MjGWxC6zD0aEBbBWbdlJBhYsAJlC6lSuDiKoaOuWbdq+fMMG/us37eCsCuRaVWG3q94UfEUIJlz48GHJsND6VaFJ8UEAWrdS/SqWMubNgClP1nz67ebIJQTEnduicdWDZ92aXq17N+G1kV2nwEqnqYGnUJMrX868ufPn0KNLn069Or+N0hksSFCArkWmORgkcJCgvHeWCiIYOB9jAfnx3D+fE5A+woKKNSLAh4+dXYMI9gEonwoKlPeeON8ZAOCgfTc0UB5/OiERwQA5xaCJff3xM6B1HHbo4YcghigiNXFBhEVLGc5yEgEJEKBPFBBEUEAE7M0yAIs44leTjDNGUKEkBrQopDM+NFDAjEf+CMiNQhJAWpE8zqjkG/8JGcGGIjCQIgoMyOhjOkwNMMCWJTTkInJZNYAlPQYU4KKT0xnpopsFTKmUPW8ScOV0N7oJ53TxJAbBmiMWauihiIIYAgAh+QQABwACACwAAAAAZABkAAAF/yAgjmRpnmiqrmzrvnAsz3Rt33iu73zv/8AZo4BAFBjBpI5xKBYPSKWURnA6CdNszGrVeltc5zcoYDReiXDCBSkQCpDxShA52AuCFoQribMKEoGBA3IpdQh2B1h6TQgOfisDgpOQhSMNiYkIZy4CnC0Ek4IFliVMmnYGQAmigWull5mJUT6srRGwJESZrz+SrZWwAgSJDp8/gJOkuaYKwUADCQ4JhMzW19jZ2tvc3d7f4NoCCwgPCAs4AwQODqrhIgIOD/PzBzYDDgfsDgrvAAX0AqKjIW0fuzzhJASk56CGwXwOaH1bGLBGQX0H31Gch6CGgYf93gGkOJCGgYIh3/8JUBjQHg6J/gSMlBABob+bOHPq3Mmzp8+fQIMKHUq0qNEUAiBAOHZ0RYN10p41PZGg6jQHNk/M07q1BD2vX0l0BdB1rIiKKhgoMMD0BANpVqmpMHv2AVm7I7aa1Yu3bl6+YvuuUEDYXdq40qqhoHu38d+wfvf2pRjYcYq1a0FNg5vVBGPAfy03lhwa8mjBJxqs7Yzi6WapgemaPh0b9diythnjSAqB9dTfwIMLH068uPHjyJMrX84cnIABCwz4Hj4uAYEEeHIOMAAbhjrr1lO+g65gQXcX0a5fL/nOwIL3imlAUG/d8DsI7xfAlEFH/SKcEAywHw3b9dbcgQgmqOByggw26KAIDAxwnnAGEGAhe0AIoEAE0mXzlBsWTojDhhFwmE0bFroR3w8RLNAiLtg8ZaGFbfVgwIv2WaOOGzn+IIABCqx4TRk1pkXYgMQNUUAERyhnwJIFFNAjcTdGaWJydCxZ03INBFjkg2CGKeaYCYYAACH5BAAHAAMALAAAAABkAGQAAAX/ICCOZGmeaKqubOu+cCzPdG3feK7vfO//wBnDUCAMBMGkTkA4OA8EpHJKMzyfBqo2VkBcEYWtuNW8HsJjoIDReC2e3kPEJRgojulVPeFIGKQrEGYOgCoMBwiJBwx5KQMOkJBZLQILkAuFKQ2IiYqZjQANfA4HkAltdKgtBp2tA6AlDJGzjD8KrZ0KsCSipJCltT63uAiTuyIGsw66asQHn6ACCpEKqj8DrQevxyVr0D4NCgTV3OXm5+jp6uvs7e7v6gIQEQkFEDgNCxELwfACBRICBtxGQ1QCPgn6uRsgsOE9GgoQ8inwLV2ChgLRzKCHsI9Cdg4wBkxQw9LBPhTh/wG4KHIODQYnDz6Ex1DkTCEL6t189w+jRhsf/Q04WACPyqNIkypdyrSp06dQo0qdSrWqVUcL+NER0MAa1AYOHoh9kKCiiEoE6nl1emDsWAIrcqYlkDKF2BNjTeQl4bbEXRF//47oe8KABLdjg4qAOTcBAcWAH+iVLBjA3cqXJQ/WbDkzX84oFCAey+wEg8Zp136e3Pnz3sitN28mDLsyiQWjxRo7EaFxXRS2W2OmDNqz7NrDY5swkPsB5FC91a6gHRm08OKvYWu3nd1EW8Rw9XA1q1TAd7Flr76wo1W9+/fw48ufT7++/fv48+s/wXUABPLwCWAAAQRiolQD/+FDIKRdBOz0TjgKkGNDAwsSSJBKEESowHOUEFjEY0lJEyGAegyw4G5HNcAAiS0g2ACL+8Uo44w01mjjjTi+wMCKMs5TQAQO+iCPAQme00AEP/4IIw0DZLVAkLA0kGQBBajGQ5MLKIDiMUcmGYGVO0CQZXvnCIAkkFOsYQCH0XQVAwP+sRlgVvssadU8+6Cp3zz66JmfNBFE8EeMKrqZ46GIJqrooi6EAAAh+QQABwAEACwAAAAAZABkAAAF/yAgjmRpnmiqrmzrvnAsz3Rt33iu73zv/0Baw2BoBI88g2N5MCCfNgZz6WBArzEl1dHEeluGw9Sh+JpTg+1y8GpABGdWQxFZWF0L7nLhEhAOgBFwcScNCYcOCXctAwsRbC5/gIGEJwuIh3xADJOdg5UjEQmJowlBYZ2AEKAkeZgFQZypB0asIgyYCatBCakEtiQMBQkFu0GGkwSfwGYQBovM0dLT1NXW19jZ2ts+AgYKA8s0As6Q3AADBwjrB9AzogkEytwN6uvs4jAQ8fxO2wr3ApqTMYAfgQSatBEIeK8MjQEHIzrUBpAhgoEyIkSct62BxQP5YAhoZCDktQEB2/+d66ZAQZGVMGPKnEmzps2bOHPq3Mmzp88v5Iz9ZLFAgtGLjCIU8IezqFGjDzCagCBPntQSDx6cyKoVa1avX0mEBRB2rAiuXU00eMoWwQoF8grIW2H2rFazX/HeTUs2Lde+YvmegMCWrVATC+RWpSsYsN6/I/LyHYtWL+ATAwo/PVyCatWrgU1IDm3Zst2+k/eiEKBZgtsVA5SGY1wXcmTVt2v77aq7cSvNoIeOcOo6uPARAhhwPs68ufPn0KNLn069uvXrfQpklSAoRwOT1lhXdgC+BQSlEZZb0175QcJ3Sgt039Y+6+sZDQrI119LW/26MUQQ33zaSFDfATY0kFh2euewV9l748AkwAGVITidAAA9gACE2HXo4YcghijiiN0YEIEC5e3QAAP9RWOiIxMd0xKK0zhSRwRPMNCSAepVYoCNTMnoUopxNDLbEysSuVIDLVLXyALGMSfAAgsosICSP01J5ZXWQUBlj89hSeKYZJZpJoghAAAh+QQABwAFACwAAAAAZABkAAAF/yAgjmRpnmiqrmzrvnAsz3Rt33iu73zv/0Bag8FoBI+8RmKZMCKfNQbTkSAIoNgYZElNOBjZcGtLLUPE6JSg601cXQ3IO60SQAzyF9l7bgkMbQNzdCUCC1UJEWAuAgOCLwYOkpIDhCdbBIiVQFIOB5IHVpYlBpmmC0EMk6t9oyIDplUGqZ+ek06uAAwEpqJBCqsOs7kjDAYLCoM/DQa1ycSEEBCL0NXW19jZ2tvc3d7fPwJDAsoz4hC44AIFB+0R5TGwvAbw2Q0E7fnvNQIEBbwEqHVj0A5BvgPpYtzj9W+TNwUHDR4QqBAgr1bdIBzMlzCGgX8EFtTD1sBTPgQFRv/6YTAgDzgAJfP5eslDAAMFDTrS3Mmzp8+fQIMKHUq0qNGjSJMisYNR6YotCBAE9GPAgE6fEKJqnbiiQYQCYCmaePDgBNmyJc6mVUuC7Ai3AOC+ZWuipAStUQusGFDgawQFK+TOjYtWhFvBhwsTnlsWseITDfDibVoCAtivgFUINtxY8VnHiwdz/ty2MwoBkrVSJtEAbNjAjxeDnu25cOLaoU2sSa236wCrKglvpss5t/DHcuEO31z57laxTisniErganQSNldf3869u/fv4MOLH0++vHk/A5YQeISjQfBr6yTIl5/Sxp2/76sNmM9fuwsDESyAHzgJ8DdfbzN4JWCkBBFYd40DBsqXgA0DMIhMfsQUGGEENjRQIR4v7Rehfy9gWE18/DkEnh0RJELieTDGKOOMNAa1DlkS1Bceap894ICJUNjhCJAyFNAjWahAA8ECTKrow5FkIVDNMcgMAwSUzFnCAJMLvHiDBFBKWQ1LLgERAZRJBpVTiQ70eMBQDSigAHSnLYCAj2kCJYCcBjwz3h98EnkUM1adJ2iNiCaq6KKLhgAAIfkEAAcABgAsAAAAAGQAZAAABf8gII5kaZ5oqq5s675wLM90bd94ru987//AoHAYEywShIWAyKwtCMjEokmFCaJQwrLKVTWy0UZ3jCqAC+SfoCF+NQrIQrvFWEQU87RpQOgbYg0MMAwJDoUEeXoiX2Z9iT0LhgmTU4okEH0EZgNCk4WFEZYkX5kEEEJwhoaVoiIGmklDEJOSgq0jDAOnRBBwBba3wcLDxMXGx8jJysvMzUJbzgAGn7s2DQsFEdXLCg4HDt6cNhHZ2dDJAuDqhtbkBe+Pxgze4N8ON+Tu58jp6+A3DPJtU9aNnoM/OBrs4wYuAcJoPYBBnEixosWLGDNq3Mixo8ePIEOKxGHEjIGFKBj/DLyY7oDLA1pYKIgQQcmKBw9O4MxZYmdPnyRwjhAKgOhQoCcWvDyA4IC4FAHtaLvJM2hOo0WvVs3K9ehRrVZZeFsKc0UDmnZW/jQhFOtOt2C9ingLt+uJsU1dolmhwI5NFVjnxhVsl2tdwkgNby0RgSyCpyogqGWbOOvitlvfriVc2LKKli9jjkRhRNPJ0ahTq17NurXr17Bjy55NG0UDBQpOvx6AoHdTiTQgGICsrIFv3wdQvoCwoC9xZAqO+34Ow0DfBQ+VEZDeW4GNOgsWTC4WnTv1QQaAJ2vA9Hhy1wPaN42XWoD1Acpr69/Pv79/ZgN8ch5qBUhgoIF7BSMAfAT07TDAgRCON8ZtuDWYQwIQHpigKAzgpoCEOGCYoQQJKGidARaaYB12LhAwogShKMhAiqMc8JYDNELwIojJ2EjXAS0UCOGAywxA105EjgBBBAlMZdECR+LESmpQRjklagxE+YB6oyVwZImtCUDAW6K51mF6/6Wp5po2hAAAIfkEAAcABwAsAAAAAGQAZAAABf8gII5kaZ5oqq5s675wLM90bd94ru987//AoHAYE0AWC4iAyKwNCFDCoEmFCSJRQmRZ7aoaBWi40PCaUc/o9OwTNMqvhiE84LYYg4GSnWpEChEQMQ0MVlgJWnZ8I36AgHBAT4iIa4uMjo9CC5MECZWWAI2Oij4GnaefoEcFBYVCAlCIBK6gIwwNpEACCgsGubXAwcLDxMXGx8jJysvMZ7/KDAsRC5A1DQO9z8YMCQ4J39UzBhHTCtrDAgXf3gkKNg3S0hHhx9zs3hE3BvLmzOnd6xbcYDCuXzMI677RenfOGAR1CxY26yFxosWLGDNq3Mixo8ePIEOKHEmyZDEBAwz/GGDQcISAlhMFLHBwwIEDXyyOZFvx4MGJnj5LABU6lETPEUcBJEVa9MQAm1Ad0CshE4mCqUaDZlWqlatXpl9FLB26NGyKCFBr3lyxCwk1nl3F+iwLlO7crmPr4r17NqpNAzkXKMCpoqxcs0ftItaaWLFhEk9p2jyAlSrMukTjNs5qOO9hzipkRiVsMgXKwSxLq17NurXr17Bjy55Nu7ZtIoRWwizZIMGB3wR2f4FQuVjv38gLCD8hR8HVg78RIEdQnAUD5woqHjMgPfpv7S92Oa8ujAHy8+TZ3prYgED331tkp0Mef7YbJctv69/Pv7//HOlI0JNyQ+xCwHPACOCAmV4S5AfDAAhEKF0qfCyg14BANCChhAc4CAQCFz6mgwIbSggYKCGKmAOJJSLgDiggXiiBC9cQ5wJ3LVJ4hoUX5rMCPBIEKcFbPx5QYofAHKAXkissIKSQArGgIYfgsaGAki62JMCTT8J0Wh0cQcClkIK8JuaYEpTpGgMIjIlAlSYNMKaOq6HUpgQIgDkbAxBAAOd/gAYqKA0hAAAh+QQABwAIACwAAAAAZABkAAAF/yAgjmRpnmiqrmzrvnAsz3Rt33iu73zv/8CgcChrQAYNotImiBQKi+RyCjM4nwOqtmV4Og3bcIpRuDLEaBNDoTjDGg1BWmVQGORDA2GfnZusCxFgQg17BAUEUn4jEYGNQwOHhhCLJFYREQpDEIZ7ipUCVgqfQAt7BYOVYkduqq6vsLGys7S1tre4ubq7UwIDBn04DAOUuwJ7CQQReDUMC8/FuXrJydE0Bs92uwvUBAnBNM7P4LcK3ufkMxDAvMfnBbw9oQsDzPH3+Pn6+/z9/v8AAwocSLCgwYO9IECwh9AEBAcJHCRq0aAOqRMPHmDMaCKjRhIeP47gKIIkyZEeU/8IgMiSABc2mlacRAlgJkebGnGizCmyZk8UAxIIHdoqRR02LGaW5AkyZFOfT5c6pamURFCWES+aCGWgKIqqN3uGfapzqU+xTFEIiChUYo+pO0uM3fnzpMm6VUs8jDixoVoIDBj6HUy4sOHDiBMrXsy4sWMSTSRkLCD4ltcZK0M+QFB5lgIHEFPNWKB5cq7PDg6AFh0DQem8sVaCBn0gQY3XsGExSD0bdI0DryXgks0bYg3SpeHhQj07HQzgIR10lmWAr/MYC1wjWDD9sffv4MOLR3j1m5J1l/0UkMCevXIgDRIcQHCAQHctENrrv55D/oH/B7ynnn7t2fYDAwD+R59zVmEkQCB7BvqgQIIAphdGBA9K4JILcbzQAID0/cfgFvk9aE0KDyFA34kp+AdgBK4MQKCAKEqg4o0sniBAAQBS9goEESQQQY4nJHDjjRGy0EBg/Rx55GFO3ngYAVFuWBiCRx4w4kENFKBiAVuOJ+aYZIoZAgAh+QQABwAJACwAAAAAZABkAAAF/yAgjmRpnmiqrmzrvnAsz3Rt33iu73zv/8CgcChrMBoNotImUCwiiuRyCoNErhEIdduCPJ9arhgleEYWgrHaxIBAGDFkep1iGBhzobUQkdJLDAtOYUENEXx8fn8iBguOBkMNiImLJF6CA0MCBYh9lSMCEAYQikAMnBFwn2MCRquvsLGys7S1tre4ubq7vDqtpL5HvAIGBMYDeTTECgrJtwwEBcYEzjIMzKO7A9PGpUUGzN61EMbSBOIxoei0ZdOQvTuhAw3V8Pb3+Pn6+/z9/v8AAwocSBCQo0wFUwhI8KDhgwPrerUSUK8EAYcOD/CTRCABGhUMMGJ8d6JhSZMlHP+mVEkCJQCULkVgVFggQUcCC1QoEOlQQYqYMh+8FDrCZEyjRIMWRdoyaZ2bNhOoOmGAZ8OcKIAO3bqUpdKjSXk25XqiQdSb60JaJWlCK9OlZLeChetVrtMSm85iTXFRpMafdYfefRsUqEuYg7WWkGTTk4qFGB1EHEavIpuDCTNr3sy5s+fPoEOLHk063YCaCZD1mlpjk4TXrwtYjgWh5gLWMiDA3o3wFoQECRwExw2jwG7YCXDlFS58r4wEx187wMUgOHDgEWpEiC4h+a281h34pKE7em9b1YUDn7xiwHHZugKdYc/CSoIss0vr38+/v//RTRAQhRIC4AHLAAcgoCCkAuf50IACDkTYzCcCJLiggvTRAKEDB0TIFh0GXLjgeD4wwGGEESaQIREKiKggiT2YiOKJxI0xgIsIfKgCPS+YFWGHwq2oiYULHpCfCFZE+FELBszoQIN0NEDkATWaIACHB2TpwJEAEGOdaqsIMIACYLKwQJZoHuDcCkZweUsBaCKQJQGfEZBmlgV8ZkCCceqYWXVpUgOamNEYIOR/iCaq6KIAhAAAIfkEAAcACgAsAAAAAGQAZAAABf8gII5kaZ5oqq5s675wLM90bd94ru987//AoHBIExCPOMhiAUE6ZYLl0vissqJSqnWLGiwUA64Y1WiMfwKGmSgwgM+otsKwFhoWkYgBbmIo/gxEeXgLfCUNfwp1QQp4eoaHakdRelqQl5iZmpucnZ6foKGioz8LCA8IC5akOAcPr68Oq6CzMguwuAWjEBEFC4syDriwEqICvcg2w7iiDQXPBRHAMKfLD8bR0RE2t8u6ogzPEU01AsK4ErWdAtMzxxKvBeqs9PX29/j5+vv8/f7/AAMKNAEBwryBJAYgkMCwEMIUAxhKlOBQn4AB0cKsWDiRYTsRr07AMjGSBDOT10D/pgyJkmUXAjAJkEMBoaPEmSRTogTgkue1niGB6hwptAXMAgR8qahpU4JGkTpHBI06bGdRlSdV+lQRE6aCjU3n9dRatCzVoT/NqjCAFCbOExE7VoQ6tqTUtC2jbtW6967eE2wjPFWhUOLchzQNIl7MuLHjx5AjS55MubJlGQ3cKDj4kMEBBKARDKZ1ZwDnFQI+hwb9UZMAAglgb6uhcDXor6EUwN49GoYC26AJiFoQu3jvF7Vt4wZloDjstzBS2z7QWtPuBKpseA594LinAQYU37g45/Tl8+jTq19fmUF4yq8PfE5QPQeEAgkKBLpUQL7/BEJAkMCADiSwHx8NyIeAfH8IHOgDfgUm4MBhY0Dg34V7ACEhgQnMxocACyoon4M9EBfhhJdEcOEBwrkwQAQLeHcCAwNKSEB9VRzjHwHmAbCAA0Ci6AIDeCjiGgQ4jjBAkAcAKSNCCgQZ5HKOGQBkk0Bm+BgDUjZJYmMGYOmAlpFlRgd7aKap5poyhAAAIfkEAAcACwAsAAAAAGQAZAAABf8gII5kaZ5oqq5s675wLM90bd94ru987//AoHBIExCPOIHB0EA6ZUqFwmB8WlkCqbR69S0cD8SCy2JMGd3f4cFmO8irRjPdW7TvEaEAYkDTTwh3bRJCEAoLC35/JIJ3QgaICwaLJYGND0IDkRCUJHaNBXoDAxBwlGt3EqadRwIFEmwFq6y0tba3uLm6u7y9viYQEQkFpb8/AxLJybLGI7MwEMrSA81KEQNzNK/SyQnGWQsREZM1CdzJDsYN4RHh2TIR5xLev1nt4zbR59TqCuOcNVxxY1btXcABBBIkGPCsmcOHECNKnEixosWLGDNq3MjxCIRiHV0wIIAAQQKAIVX/MDhQsqQElBUFNFCAjUWBli0dGGSEyUQbn2xKOOI5IigAo0V/pmBQIEIBgigg4MS5MynQoz1FBEWKtatVrVuzel2h4GlTflGntnzGFexYrErdckXaiGjbEv6aEltxc+qbFHfD2hUr+GvXuIfFmmD6NEJVEg1Y4oQJtC3ixDwtZzWqWfGJBksajmhA0iTllCk+ikbNurXr17Bjy55Nu7bt20HkKGCwOiWDBAeC63S4B1vvFAIIBF+e4DEuAQsISCdHI/Ly5ad1QZBeQLrzMssRLFdgDKF0AgUUybB+/YB6XiO7Sz9+QkAE8cEREPh+y8B5hjbYtxxU6kDQAH3I7XEgnG4MNujggxBGCAVvt2XhwIUK8JfEIX3YYsCFB2CoRwEJJEQAgkM0ANyFLL7HgwElxphdGhCwCKIDLu4QXYwEUEeJAAnc6EACOeowAI8n1TKAjQ74uIIAo9Bnn4kRoDgElEEmQIULNWY54wkMjAKSLQq+IMCQQwZp5UVdZpnkbBC4OeSXqCXnJpG1qahQc7c1wAADGkoo6KCEFrpCCAA7AAAAAAAAAAAA]]></data>
	</file>
	<file>
	  <filename>/style/greybox/loader_frame.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLQpOb3RpY2U6IEkgZmVlbCBzbyBkaXJ0eSBkb2luZyB0aGlzLCBidXQgaXRzIHRoZSBvbmx5IHdheSB0byBtYWtlIGl0IGNyb3NzIGJyb3dzZXIuCi0tPgo8aHRtbD4KPGhlYWQ+CiAgPHNjcmlwdD4KICAgIHZhciBHQiA9IHBhcmVudC5HQl9DVVJSRU5UOwogICAgZG9jdW1lbnQud3JpdGUoJzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IkFKUy5qcyI+PFwvc2NyaXB0PicpOwogICAgaWYoR0IudXNlX2Z4KSB7CiAgICAgICAgZG9jdW1lbnQud3JpdGUoJzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IkFKU19meC5qcyI+PFwvc2NyaXB0PicpOwogICAgfQogIDwvc2NyaXB0PgogIDxzdHlsZT4KICAgIGJvZHkgewogICAgICBwYWRkaW5nOiAwOwogICAgICBtYXJnaW46IDA7CiAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICB9CgogICAgI0dCX2ZyYW1lIHsKICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOwogICAgICB3aWR0aDogMTAwJTsKICAgICAgaGVpZ2h0OiAxMDAlOwogICAgfQoKICAgICNsb2FkaW5nIHsKICAgICAgcGFkZGluZy10b3A6IDUwcHg7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIHRvcDogMDsKICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogICAgfQogIDwvc3R5bGU+CjwvaGVhZD4KPGJvZHk+Cgo8ZGl2IGlkPSJsb2FkaW5nIj4KICA8aW1nIHNyYz0iaW5kaWNhdG9yLmdpZiI+CjwvZGl2PgoKPHNjcmlwdD4KdmFyIGxvYWRpbmcgPSBBSlMuJCgnbG9hZGluZycpOwp2YXIgZ2JfdHlwZSA9IEdCLnR5cGU7CnZhciBnYl91cmwgPSBHQi51cmw7CgovL1N0YXJ0IGxvYWRpbmcgaW4gdGhlIGlmcmFtZQppZihnYl90eXBlID09ICJwYWdlIikgewogIGRvY3VtZW50LndyaXRlKCc8aWZyYW1lIGlkPSJHQl9mcmFtZSIgc3JjPSInICsgZ2JfdXJsICsgJyIgZnJhbWVib3JkZXI9IjAiPjwvaWZyYW1lPicpOwp9CmVsc2UgewogIHZhciBpbWdfaG9sZGVyID0gbmV3IEltYWdlKCk7CiAgaW1nX2hvbGRlci5zcmMgPSBnYl91cmw7CiAgZG9jdW1lbnQud3JpdGUoJzxpbWcgaWQ9IkdCX2ZyYW1lIiBzcmM9IicgKyBnYl91cmwgKyAnIj4nKTsKfQp2YXIgZnJhbWUgPSBBSlMuJCgnR0JfZnJhbWUnKTsKPC9zY3JpcHQ+Cgo8L2JvZHk+CjxzY3JpcHQ+CmZ1bmN0aW9uIHNldHVwT3V0ZXJHQigpIHsKICAgIGZyYW1lLnN0eWxlLnZpc2liaWxpdHkgPSAndmlzaWJsZSc7CiAgICBHQi5zZXRGcmFtZVNpemUoKTsKICAgIEdCLnNldFdpbmRvd1Bvc2l0aW9uKCk7Cn0KCmZ1bmN0aW9uIGxvYWRlZCgpIHsKICAgIEFKUy5yZW1vdmVFbGVtZW50KGxvYWRpbmcpOwoKICAgIEdCLm92ZXJsYXkuaW5uZXJIVE1MICs9ICImbmJzcDsiOyAvL1NhZmFyaSBidWdmaXgKICAgIAogICAgaWYoZ2JfdHlwZSA9PSAiaW1hZ2UiKSB7CiAgICAgICAgaWYoaW1nX2hvbGRlci53aWR0aCAhPSAwICYmIGltZ19ob2xkZXIuaGVpZ2h0ICE9IDApIHsKICAgICAgICAgICAgdmFyIHdpZHRoID0gaW1nX2hvbGRlci53aWR0aDsKICAgICAgICAgICAgdmFyIGhlaWdodCA9IGltZ19ob2xkZXIuaGVpZ2h0OwoKICAgICAgICAgICAgR0Iud2lkdGggPSB3aWR0aDsKICAgICAgICAgICAgR0IuaGVpZ2h0ID0gaGVpZ2h0OwoKICAgICAgICAgICAgc2V0dXBPdXRlckdCKCk7CgogICAgICAgICAgICBpZihHQi51c2VfZngpIHsKICAgICAgICAgICAgICAgIEFKUy5zZXRPcGFjaXR5KGZyYW1lLCAwKTsKICAgICAgICAgICAgICAgIEFKUy5meC5mYWRlSW4oZnJhbWUpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgZWxzZSB7CiAgICAgICAgR0Iud2lkdGggPSBmcmFtZS5vZmZzZXRXaWR0aDsKICAgICAgICBHQi5oZWlnaHQgPSBmcmFtZS5vZmZzZXRIZWlnaHQ7CiAgICAgICAgc2V0dXBPdXRlckdCKCk7CiAgICB9Cn0KCmlmKEdCLnNob3dfbG9hZGluZykgewogICAgQUpTLkFFVih3aW5kb3csICdsb2FkJywgZnVuY3Rpb24oZSkgewogICAgICAgIGxvYWRlZCgpOwogICAgfSk7Cn0KZWxzZSB7CiAgICBsb2FkZWQoKTsKfQo8L3NjcmlwdD4KPC9odG1sPgo=]]></data>
	</file>
	<file>
	  <filename>/style/greybox/next.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhGQAeANU5AP///5mZme/v73R0dHx8fPr6+qenp319fZ6enuvr69bW1s3NzU9PT5+fn729vT09PaCgoDU1NcnJyf7+/lhYWHFxcenp6YODg62trfj4+IWFhVxcXKOjo9ra2qSkpOjo6MLCwjY2Nru7u/Hx8cvLy0RERIKCgu3t7cHBwYeHh0NDQ93d3TQ0NO7u7nNzc9nZ2U1NTby8vD4+Puzs7JqamltbW9HR0ff39z8/PzMzMwAAAAAAAAAAAAAAAAAAAAAAACH5BAEAADkALAAAAAAZAB4AAAb/wJxwSCwaj8ikcvigVEwaU4XyWA5hhIB2uyUwlJGBtiFSfBIfhaihHUSOj0MAQSoA7nhAYYEIHKpEEXIGAnmGdwIGfixEYgYZh5EZigNDDHOFADYYnBgkkS19XzlZC3gTDlwSkQsBBDkqARB2p6lbq4YFEAEqGwEoh6iqhygBNWIdkcK3hi8BLhcBFpEAy1q4dxYBFykBJ9QAHzRbHjd4JwEp0dORCWxaHpnZ28jt7wHxhh0BA74gh+62cJCHB0SADSVk0bqTYJeWgYd0BShBKoCpOzMcBoB4qNWrHJcQZFqhoKQCgngEiBriCBI4PJP4BRo04iWAEYoOvCESZ86CLYV59vT5cySEmAANYihIwFSBg3cDQihhkIULFy9WhMhwoqHrFBxZw4odSxZJEAA7]]></data>
	</file>
	<file>
	  <filename>/style/greybox/prev.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhGQAeANU4AP///5mZme/v73R0dOvr6/r6+nx8fH19fZ6enqenp9bW1p+fn83NzU9PT729vT09PaCgoDU1Nf7+/snJyXFxcVhYWPj4+Onp6YWFha2trYODg6SkpFxcXOjo6KOjo9ra2u3t7YeHh8vLyzY2NsLCwvHx8YKCgsHBwbu7u0NDQ0RERHNzc93d3TQ0NJqamry8vNHR0T4+PtnZ2ff39z8/P+7u7ltbW01NTTMzMwAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAADgALAAAAAAZAB4AAAb/QJxwSCwaj8ikcvioUEwYE6XyWA5vhoB2uzU0lJGBdoFSdAgdBWqhHUSOj0MAISoA7nhAgYEIHKpEEXIJAnmGdwIJfi1EYgkWh5EWigNDDXOFhyIZnBkwdzV9XzhZDJETXA4SeAwBBjgpARB2hqhbqnkFEAEpHAEnh7ZauIYnATZiH7Wpq4cyASsaARd5wgHEhxcBGiEBIHgzG1suHZF3IAEh0tR4AuJjBObaGsmG7lsL8YcfAQO+JIcEeMCnLw+JABxUyKKVR+AWCAX17FJBKoCpgAO1QGTlSsglBJnsKRipgAUiUUMcQTKXZ1K/QINKsLxTQtGBN0TizGHAMBcfKj+AiowQE2DBCwUEkipwwKbfCCUNsnDh4sWKkBhOMGidQsOq169gwyIJAgA7]]></data>
	</file>
	<file>
	  <filename>/style/greybox/w_close.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhCwALAJEAAEVFRYiIiP/W1gAAACH5BAAAAAAALAAAAAALAAsAAAIbjI8my6zdHmBTPDGrDU1vijlcuFQX9KFLwgYFADs=]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery-ui-i18n.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogQWZyaWthYW5zIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBSZW5pZXIgUHJldG9yaXVzLiAqLwpqUXVlcnkoZnVuY3Rpb24oJCl7CgkkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2FmJ10gPSB7CgkJY2xvc2VUZXh0OiAnU2VsZWt0ZWVyJywKCQlwcmV2VGV4dDogJ1ZvcmlnZScsCgkJbmV4dFRleHQ6ICdWb2xnZW5kZScsCgkJY3VycmVudFRleHQ6ICdWYW5kYWcnLAoJCW1vbnRoTmFtZXM6IFsnSmFudWFyaWUnLCdGZWJydWFyaWUnLCdNYWFydCcsJ0FwcmlsJywnTWVpJywnSnVuaWUnLAoJCSdKdWxpZScsJ0F1Z3VzdHVzJywnU2VwdGVtYmVyJywnT2t0b2JlcicsJ05vdmVtYmVyJywnRGVzZW1iZXInXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnSmFuJywgJ0ZlYicsICdNcnQnLCAnQXByJywgJ01laScsICdKdW4nLAoJCSdKdWwnLCAnQXVnJywgJ1NlcCcsICdPa3QnLCAnTm92JywgJ0RlcyddLAoJCWRheU5hbWVzOiBbJ1NvbmRhZycsICdNYWFuZGFnJywgJ0RpbnNkYWcnLCAnV29lbnNkYWcnLCAnRG9uZGVyZGFnJywgJ1ZyeWRhZycsICdTYXRlcmRhZyddLAoJCWRheU5hbWVzU2hvcnQ6IFsnU29uJywgJ01hYScsICdEaW4nLCAnV29lJywgJ0RvbicsICdWcnknLCAnU2F0J10sCgkJZGF5TmFtZXNNaW46IFsnU28nLCdNYScsJ0RpJywnV28nLCdEbycsJ1ZyJywnU2EnXSwKCQl3ZWVrSGVhZGVyOiAnV2snLAoJCWRhdGVGb3JtYXQ6ICdkZC9tbS95eScsCgkJZmlyc3REYXk6IDEsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnYWYnXSk7Cn0pOwovKiBBbGdlcmlhbiBBcmFiaWMgVHJhbnNsYXRpb24gZm9yIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uIChjYW4gYmUgdXNlZCBmb3IgVHVuaXNpYSkqLwovKiBNb2hhbWVkIENoZXJpZiBCT1VDSEVMQUdIRU0gLS0gY2hlcmlmYm91Y2hlbGFnaGVtQHlhaG9vLmZyICovCgpqUXVlcnkoZnVuY3Rpb24oJCl7CgkkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2FyLURaJ10gPSB7CgkJY2xvc2VUZXh0OiAn2KXYutmE2KfZgicsCgkJcHJldlRleHQ6ICcmI3gzYzvYp9mE2LPYp9io2YInLAoJCW5leHRUZXh0OiAn2KfZhNiq2KfZhNmKJiN4M2U7JywKCQljdXJyZW50VGV4dDogJ9in2YTZitmI2YUnLAoJCW1vbnRoTmFtZXM6IFsn2KzYp9mG2YHZiicsICfZgdmK2YHYsdmKJywgJ9mF2KfYsdizJywgJ9ij2YHYsdmK2YQnLCAn2YXYp9mKJywgJ9is2YjYp9mGJywKCQkn2KzZiNmK2YTZitipJywgJ9ij2YjYqicsICfYs9io2KrZhdio2LEnLCfYo9mD2KrZiNio2LEnLCAn2YbZiNmB2YXYqNixJywgJ9iv2YrYs9mF2KjYsSddLAoJCW1vbnRoTmFtZXNTaG9ydDogWycxJywgJzInLCAnMycsICc0JywgJzUnLCAnNicsICc3JywgJzgnLCAnOScsICcxMCcsICcxMScsICcxMiddLAoJCWRheU5hbWVzOiBbJ9in2YTYo9it2K8nLCAn2KfZhNin2KvZhtmK2YYnLCAn2KfZhNir2YTYp9ir2KfYoScsICfYp9mE2KPYsdio2LnYp9ihJywgJ9in2YTYrtmF2YrYsycsICfYp9mE2KzZhdi52KknLCAn2KfZhNiz2KjYqiddLAoJCWRheU5hbWVzU2hvcnQ6IFsn2KfZhNij2K3YrycsICfYp9mE2KfYq9mG2YrZhicsICfYp9mE2KvZhNin2KvYp9ihJywgJ9in2YTYo9ix2KjYudin2KEnLCAn2KfZhNiu2YXZitizJywgJ9in2YTYrNmF2LnYqScsICfYp9mE2LPYqNiqJ10sCgkJZGF5TmFtZXNNaW46IFsn2KfZhNij2K3YrycsICfYp9mE2KfYq9mG2YrZhicsICfYp9mE2KvZhNin2KvYp9ihJywgJ9in2YTYo9ix2KjYudin2KEnLCAn2KfZhNiu2YXZitizJywgJ9in2YTYrNmF2LnYqScsICfYp9mE2LPYqNiqJ10sCgkJd2Vla0hlYWRlcjogJ9ij2LPYqNmI2LknLAoJCWRhdGVGb3JtYXQ6ICdkZC9tbS95eScsCgkJZmlyc3REYXk6IDYsCiAgCQlpc1JUTDogdHJ1ZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2FyLURaJ10pOwp9KTsKLyogQXJhYmljIFRyYW5zbGF0aW9uIGZvciBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAqLwovKiBLaGFsZWQgQWxob3VyYW5pIC0tIG1lQGtoYWxlZGFsaG91cmFuaS5jb20gKi8KLyogTk9URTogbW9udGhOYW1lcyBhcmUgdGhlIG9yaWdpbmFsIG1vbnRocyBuYW1lcyBhbmQgdGhleSBhcmUgdGhlIEFyYWJpYyBuYW1lcywgbm90IHRoZSBuZXcgbW9udGhzIG5hbWUg2YHYqNix2KfZitixIC0g2YrZhtin2YrYsSBhbmQgdGhlcmUgaXNuJ3QgYW55IEFyYWJpYyByb290cyBmb3IgdGhlc2UgbW9udGhzICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnYXInXSA9IHsKCQljbG9zZVRleHQ6ICfYpdi62YTYp9mCJywKCQlwcmV2VGV4dDogJyYjeDNjO9in2YTYs9in2KjZgicsCgkJbmV4dFRleHQ6ICfYp9mE2KrYp9mE2YomI3gzZTsnLAoJCWN1cnJlbnRUZXh0OiAn2KfZhNmK2YjZhScsCgkJbW9udGhOYW1lczogWyfZg9in2YbZiNmGINin2YTYq9in2YbZiicsICfYtNio2KfYtycsICfYotiw2KfYsScsICfZhtmK2LPYp9mGJywgJ9mF2KfZitmIJywgJ9it2LLZitix2KfZhicsCgkJJ9iq2YXZiNiyJywgJ9ii2KgnLCAn2KPZitmE2YjZhCcsCSfYqti02LHZitmGINin2YTYo9mI2YQnLCAn2KrYtNix2YrZhiDYp9mE2KvYp9mG2YonLCAn2YPYp9mG2YjZhiDYp9mE2KPZiNmEJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJzEnLCAnMicsICczJywgJzQnLCAnNScsICc2JywgJzcnLCAnOCcsICc5JywgJzEwJywgJzExJywgJzEyJ10sCgkJZGF5TmFtZXM6IFsn2KfZhNij2K3YrycsICfYp9mE2KfYq9mG2YrZhicsICfYp9mE2KvZhNin2KvYp9ihJywgJ9in2YTYo9ix2KjYudin2KEnLCAn2KfZhNiu2YXZitizJywgJ9in2YTYrNmF2LnYqScsICfYp9mE2LPYqNiqJ10sCgkJZGF5TmFtZXNTaG9ydDogWyfYp9mE2KPYrdivJywgJ9in2YTYp9ir2YbZitmGJywgJ9in2YTYq9mE2KfYq9in2KEnLCAn2KfZhNij2LHYqNi52KfYoScsICfYp9mE2K7ZhdmK2LMnLCAn2KfZhNis2YXYudipJywgJ9in2YTYs9io2KonXSwKCQlkYXlOYW1lc01pbjogWyfYp9mE2KPYrdivJywgJ9in2YTYp9ir2YbZitmGJywgJ9in2YTYq9mE2KfYq9in2KEnLCAn2KfZhNij2LHYqNi52KfYoScsICfYp9mE2K7ZhdmK2LMnLCAn2KfZhNis2YXYudipJywgJ9in2YTYs9io2KonXSwKCQl3ZWVrSGVhZGVyOiAn2KPYs9io2YjYuScsCgkJZGF0ZUZvcm1hdDogJ2RkL21tL3l5JywKCQlmaXJzdERheTogNiwKICAJCWlzUlRMOiB0cnVlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnYXInXSk7Cn0pOy8qIEF6ZXJiYWlqYW5pIChVVEYtOCkgaW5pdGlhbGlzYXRpb24gZm9yIHRoZSBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAqLwovKiBXcml0dGVuIGJ5IEphbWlsIE5hamFmb3YgKG5lY2Vmb3YzM0BnbWFpbC5jb20pLiAqLwpqUXVlcnkoZnVuY3Rpb24oJCkgewoJJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydheiddID0gewoJCWNsb3NlVGV4dDogJ0JhxJ9sYScsCgkJcHJldlRleHQ6ICcmI3gzYztHZXJpJywKCQluZXh0VGV4dDogJ8SwcsmZbGkmI3gzZTsnLAoJCWN1cnJlbnRUZXh0OiAnQnVnw7xuJywKCQltb250aE5hbWVzOiBbJ1lhbnZhcicsJ0ZldnJhbCcsJ01hcnQnLCdBcHJlbCcsJ01heScsJ8SweXVuJywKCQknxLB5dWwnLCdBdnF1c3QnLCdTZW50eWFicicsJ09rdHlhYnInLCdOb3lhYnInLCdEZWthYnInXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnWWFuJywnRmV2JywnTWFyJywnQXByJywnTWF5JywnxLB5dW4nLAoJCSfEsHl1bCcsJ0F2cScsJ1NlbicsJ09rdCcsJ05veScsJ0RlayddLAoJCWRheU5hbWVzOiBbJ0JhemFyJywnQmF6YXIgZXJ0yZlzaScsJ8OHyZlyxZ/JmW5iyZkgYXjFn2FtxLEnLCfDh8mZcsWfyZluYsmZJywnQ8O8bcmZIGF4xZ9hbcSxJywnQ8O8bcmZJywnxZ7JmW5iyZknXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ0InLCdCZScsJ8OHYScsJ8OHJywnQ2EnLCdDJywnxZ4nXSwKCQlkYXlOYW1lc01pbjogWydCJywnQicsJ8OHJywn0KEnLCfDhycsJ0MnLCfFniddLAoJCXdlZWtIZWFkZXI6ICdIZicsCgkJZGF0ZUZvcm1hdDogJ2RkLm1tLnl5JywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydheiddKTsKfSk7LyogQnVsZ2FyaWFuIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBTdG95YW4gS3lvc2V2IChodHRwOi8vc3Zlc3Qub3JnKS4gKi8KalF1ZXJ5KGZ1bmN0aW9uKCQpewogICAgJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydiZyddID0gewogICAgICAgIGNsb3NlVGV4dDogJ9C30LDRgtCy0L7RgNC4JywKICAgICAgICBwcmV2VGV4dDogJyYjeDNjO9C90LDQt9Cw0LQnLAogICAgICAgIG5leHRUZXh0OiAn0L3QsNC/0YDQtdC0JiN4M2U7JywKCQluZXh0QmlnVGV4dDogJyYjeDNlOyYjeDNlOycsCiAgICAgICAgY3VycmVudFRleHQ6ICfQtNC90LXRgScsCiAgICAgICAgbW9udGhOYW1lczogWyfQr9C90YPQsNGA0LgnLCfQpNC10LLRgNGD0LDRgNC4Jywn0JzQsNGA0YInLCfQkNC/0YDQuNC7Jywn0JzQsNC5Jywn0K7QvdC4JywKICAgICAgICAn0K7Qu9C4Jywn0JDQstCz0YPRgdGCJywn0KHQtdC/0YLQtdC80LLRgNC4Jywn0J7QutGC0L7QvNCy0YDQuCcsJ9Cd0L7QtdC80LLRgNC4Jywn0JTQtdC60LXQvNCy0YDQuCddLAogICAgICAgIG1vbnRoTmFtZXNTaG9ydDogWyfQr9C90YMnLCfQpNC10LInLCfQnNCw0YAnLCfQkNC/0YAnLCfQnNCw0LknLCfQrtC90LgnLAogICAgICAgICfQrtC70LgnLCfQkNCy0LMnLCfQodC10L8nLCfQntC60YInLCfQndC+0LInLCfQlNC10LonXSwKICAgICAgICBkYXlOYW1lczogWyfQndC10LTQtdC70Y8nLCfQn9C+0L3QtdC00LXQu9C90LjQuicsJ9CS0YLQvtGA0L3QuNC6Jywn0KHRgNGP0LTQsCcsJ9Cn0LXRgtCy0YrRgNGC0YrQuicsJ9Cf0LXRgtGK0LonLCfQodGK0LHQvtGC0LAnXSwKICAgICAgICBkYXlOYW1lc1Nob3J0OiBbJ9Cd0LXQtCcsJ9Cf0L7QvScsJ9CS0YLQvicsJ9Ch0YDRjycsJ9Cn0LXRgicsJ9Cf0LXRgicsJ9Ch0YrQsSddLAogICAgICAgIGRheU5hbWVzTWluOiBbJ9Cd0LUnLCfQn9C+Jywn0JLRgicsJ9Ch0YAnLCfQp9C1Jywn0J/QtScsJ9Ch0YonXSwKCQl3ZWVrSGVhZGVyOiAnV2snLAogICAgICAgIGRhdGVGb3JtYXQ6ICdkZC5tbS55eScsCgkJZmlyc3REYXk6IDEsCiAgICAgICAgaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwogICAgJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnYmcnXSk7Cn0pOwovKiBCb3NuaWFuIGkxOG4gZm9yIHRoZSBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAqLwovKiBXcml0dGVuIGJ5IEtlbmFuIEtvbmpvLiAqLwpqUXVlcnkoZnVuY3Rpb24oJCl7CgkkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2JzJ10gPSB7CgkJY2xvc2VUZXh0OiAnWmF0dm9yaScsIAoJCXByZXZUZXh0OiAnJiN4M2M7JywgCgkJbmV4dFRleHQ6ICcmI3gzZTsnLCAKCQljdXJyZW50VGV4dDogJ0RhbmFzJywgCgkJbW9udGhOYW1lczogWydKYW51YXInLCdGZWJydWFyJywnTWFydCcsJ0FwcmlsJywnTWFqJywnSnVuaScsCgkJJ0p1bGknLCdBdWd1c3QnLCdTZXB0ZW1iYXInLCdPa3RvYmFyJywnTm92ZW1iYXInLCdEZWNlbWJhciddLAoJCW1vbnRoTmFtZXNTaG9ydDogWydKYW4nLCdGZWInLCdNYXInLCdBcHInLCdNYWonLCdKdW4nLAoJCSdKdWwnLCdBdWcnLCdTZXAnLCdPa3QnLCdOb3YnLCdEZWMnXSwKCQlkYXlOYW1lczogWydOZWRlbGphJywnUG9uZWRlbGphaycsJ1V0b3JhaycsJ1NyaWplZGEnLCfEjGV0dnJ0YWsnLCdQZXRhaycsJ1N1Ym90YSddLAoJCWRheU5hbWVzU2hvcnQ6IFsnTmVkJywnUG9uJywnVXRvJywnU3JpJywnxIxldCcsJ1BldCcsJ1N1YiddLAoJCWRheU5hbWVzTWluOiBbJ05lJywnUG8nLCdVdCcsJ1NyJywnxIxlJywnUGUnLCdTdSddLAoJCXdlZWtIZWFkZXI6ICdXaycsCgkJZGF0ZUZvcm1hdDogJ2RkLm1tLnl5JywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydicyddKTsKfSk7LyogSW5pY2lhbGl0emFjacOzIGVuIGNhdGFsw6AgcGVyIGEgbCdleHRlbmNpw7MgJ2NhbGVuZGFyJyBwZXIgalF1ZXJ5LiAqLwovKiBXcml0ZXJzOiAoam9hbi5sZW9uQGdtYWlsLmNvbSkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnY2EnXSA9IHsKCQljbG9zZVRleHQ6ICdUYW5jYXInLAoJCXByZXZUZXh0OiAnJiN4M2M7QW50JywKCQluZXh0VGV4dDogJ1NlZyYjeDNlOycsCgkJY3VycmVudFRleHQ6ICdBdnVpJywKCQltb250aE5hbWVzOiBbJ0dlbmVyJywnRmVicmVyJywnTWFyJmNjZWRpbDsnLCdBYnJpbCcsJ01haWcnLCdKdW55JywKCQknSnVsaW9sJywnQWdvc3QnLCdTZXRlbWJyZScsJ09jdHVicmUnLCdOb3ZlbWJyZScsJ0Rlc2VtYnJlJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ0dlbicsJ0ZlYicsJ01hcicsJ0FicicsJ01haScsJ0p1bicsCgkJJ0p1bCcsJ0FnbycsJ1NldCcsJ09jdCcsJ05vdicsJ0RlcyddLAoJCWRheU5hbWVzOiBbJ0RpdW1lbmdlJywnRGlsbHVucycsJ0RpbWFydHMnLCdEaW1lY3JlcycsJ0Rpam91cycsJ0RpdmVuZHJlcycsJ0Rpc3NhYnRlJ10sCgkJZGF5TmFtZXNTaG9ydDogWydEdWcnLCdEbG4nLCdEbXQnLCdEbWMnLCdEanMnLCdEdm4nLCdEc2InXSwKCQlkYXlOYW1lc01pbjogWydEZycsJ0RsJywnRHQnLCdEYycsJ0RqJywnRHYnLCdEcyddLAoJCXdlZWtIZWFkZXI6ICdTbScsCgkJZGF0ZUZvcm1hdDogJ2RkL21tL3l5JywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydjYSddKTsKfSk7LyogQ3plY2ggaW5pdGlhbGlzYXRpb24gZm9yIHRoZSBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAqLwovKiBXcml0dGVuIGJ5IFRvbWFzIE11bGxlciAodG9tYXNAdG9tYXMtbXVsbGVyLm5ldCkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnY3MnXSA9IHsKCQljbG9zZVRleHQ6ICdaYXbFmcOtdCcsCgkJcHJldlRleHQ6ICcmI3gzYztExZnDrXZlJywKCQluZXh0VGV4dDogJ1BvemTEm2ppJiN4M2U7JywKCQljdXJyZW50VGV4dDogJ055bsOtJywKCQltb250aE5hbWVzOiBbJ2xlZGVuJywnw7pub3InLCdixZllemVuJywnZHViZW4nLCdrdsSbdGVuJywnxI1lcnZlbicsCiAgICAgICAgJ8SNZXJ2ZW5lYycsJ3NycGVuJywnesOhxZnDrScsJ8WZw61qZW4nLCdsaXN0b3BhZCcsJ3Byb3NpbmVjJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ2xlZCcsJ8O6bm8nLCdixZllJywnZHViJywna3bEmycsJ8SNZXInLAoJCSfEjXZjJywnc3JwJywnesOhxZknLCfFmcOtaicsJ2xpcycsJ3BybyddLAoJCWRheU5hbWVzOiBbJ25lZMSbbGUnLCAncG9uZMSbbMOtJywgJ8O6dGVyw70nLCAnc3TFmWVkYScsICfEjXR2cnRlaycsICdww6F0ZWsnLCAnc29ib3RhJ10sCgkJZGF5TmFtZXNTaG9ydDogWyduZScsICdwbycsICfDunQnLCAnc3QnLCAnxI10JywgJ3DDoScsICdzbyddLAoJCWRheU5hbWVzTWluOiBbJ25lJywncG8nLCfDunQnLCdzdCcsJ8SNdCcsJ3DDoScsJ3NvJ10sCgkJd2Vla0hlYWRlcjogJ1TDvWQnLAoJCWRhdGVGb3JtYXQ6ICdkZC5tbS55eScsCgkJZmlyc3REYXk6IDEsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnY3MnXSk7Cn0pOwovKiBEYW5pc2ggaW5pdGlhbGlzYXRpb24gZm9yIHRoZSBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAqLwovKiBXcml0dGVuIGJ5IEphbiBDaHJpc3RlbnNlbiAoIGRlbGV0ZXN0dWZmQGdtYWlsLmNvbSkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKICAgICQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZGEnXSA9IHsKCQljbG9zZVRleHQ6ICdMdWsnLAogICAgICAgIHByZXZUZXh0OiAnJiN4M2M7Rm9ycmlnZScsCgkJbmV4dFRleHQ6ICdOw6ZzdGUmI3gzZTsnLAoJCWN1cnJlbnRUZXh0OiAnSWRhZycsCiAgICAgICAgbW9udGhOYW1lczogWydKYW51YXInLCdGZWJydWFyJywnTWFydHMnLCdBcHJpbCcsJ01haicsJ0p1bmknLAogICAgICAgICdKdWxpJywnQXVndXN0JywnU2VwdGVtYmVyJywnT2t0b2JlcicsJ05vdmVtYmVyJywnRGVjZW1iZXInXSwKICAgICAgICBtb250aE5hbWVzU2hvcnQ6IFsnSmFuJywnRmViJywnTWFyJywnQXByJywnTWFqJywnSnVuJywKICAgICAgICAnSnVsJywnQXVnJywnU2VwJywnT2t0JywnTm92JywnRGVjJ10sCgkJZGF5TmFtZXM6IFsnU8O4bmRhZycsJ01hbmRhZycsJ1RpcnNkYWcnLCdPbnNkYWcnLCdUb3JzZGFnJywnRnJlZGFnJywnTMO4cmRhZyddLAoJCWRheU5hbWVzU2hvcnQ6IFsnU8O4bicsJ01hbicsJ1RpcicsJ09ucycsJ1RvcicsJ0ZyZScsJ0zDuHInXSwKCQlkYXlOYW1lc01pbjogWydTw7gnLCdNYScsJ1RpJywnT24nLCdUbycsJ0ZyJywnTMO4J10sCgkJd2Vla0hlYWRlcjogJ1VnZScsCiAgICAgICAgZGF0ZUZvcm1hdDogJ2RkLW1tLXl5JywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CiAgICAkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydkYSddKTsKfSk7Ci8qIEdlcm1hbiBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgTWlsaWFuIFdvbGZmIChtYWlsQG1pbGlhbncuZGUpLiAqLwpqUXVlcnkoZnVuY3Rpb24oJCl7CgkkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2RlJ10gPSB7CgkJY2xvc2VUZXh0OiAnc2NobGllw59lbicsCgkJcHJldlRleHQ6ICcmI3gzYzt6dXLDvGNrJywKCQluZXh0VGV4dDogJ1ZvciYjeDNlOycsCgkJY3VycmVudFRleHQ6ICdoZXV0ZScsCgkJbW9udGhOYW1lczogWydKYW51YXInLCdGZWJydWFyJywnTcOkcnonLCdBcHJpbCcsJ01haScsJ0p1bmknLAoJCSdKdWxpJywnQXVndXN0JywnU2VwdGVtYmVyJywnT2t0b2JlcicsJ05vdmVtYmVyJywnRGV6ZW1iZXInXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnSmFuJywnRmViJywnTcOkcicsJ0FwcicsJ01haScsJ0p1bicsCgkJJ0p1bCcsJ0F1ZycsJ1NlcCcsJ09rdCcsJ05vdicsJ0RleiddLAoJCWRheU5hbWVzOiBbJ1Nvbm50YWcnLCdNb250YWcnLCdEaWVuc3RhZycsJ01pdHR3b2NoJywnRG9ubmVyc3RhZycsJ0ZyZWl0YWcnLCdTYW1zdGFnJ10sCgkJZGF5TmFtZXNTaG9ydDogWydTbycsJ01vJywnRGknLCdNaScsJ0RvJywnRnInLCdTYSddLAoJCWRheU5hbWVzTWluOiBbJ1NvJywnTW8nLCdEaScsJ01pJywnRG8nLCdGcicsJ1NhJ10sCgkJd2Vla0hlYWRlcjogJ1dvJywKCQlkYXRlRm9ybWF0OiAnZGQubW0ueXknLAoJCWZpcnN0RGF5OiAxLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2RlJ10pOwp9KTsKLyogR3JlZWsgKGVsKSBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgQWxleCBDaWNvdmljIChodHRwOi8vd3d3LmFsZXhjaWNvdmljLmNvbSkgKi8KalF1ZXJ5KGZ1bmN0aW9uKCQpewoJJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydlbCddID0gewoJCWNsb3NlVGV4dDogJ86azrvOtc6vz4POuc68zr8nLAoJCXByZXZUZXh0OiAnzqDPgc6/zrfOs86/z43OvM61zr3Ov8+CJywKCQluZXh0VGV4dDogJ86Vz4DPjM68zrXOvc6/z4InLAoJCWN1cnJlbnRUZXh0OiAnzqTPgc6tz4fPic69IM6czq7Ovc6xz4InLAoJCW1vbnRoTmFtZXM6IFsnzpnOsc69zr/Phc6sz4HOuc6/z4InLCfOps61zrLPgc6/z4XOrM+BzrnOv8+CJywnzpzOrM+Bz4TOuc6/z4InLCfOkc+Az4HOr867zrnOv8+CJywnzpzOrM65zr/PgicsJ86Zzr/Pjc69zrnOv8+CJywKCQknzpnOv8+NzrvOuc6/z4InLCfOkc+NzrPOv8+Fz4PPhM6/z4InLCfOo861z4DPhM6tzrzOss+BzrnOv8+CJywnzp/Ous+Ez47Oss+BzrnOv8+CJywnzp3Ov86tzrzOss+BzrnOv8+CJywnzpTOtc66zq3OvM6yz4HOuc6/z4InXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnzpnOsc69JywnzqbOtc6yJywnzpzOsc+BJywnzpHPgM+BJywnzpzOsc65JywnzpnOv8+Fzr0nLAoJCSfOmc6/z4XOuycsJ86Rz4XOsycsJ86jzrXPgCcsJ86fzrrPhCcsJ86dzr/OtScsJ86UzrXOuiddLAoJCWRheU5hbWVzOiBbJ86az4XPgc65zrHOus6uJywnzpTOtc+Fz4TOrc+BzrEnLCfOpM+Bzq/PhM63JywnzqTOtc+EzqzPgc+EzrcnLCfOoM6tzrzPgM+EzrcnLCfOoM6xz4HOsc+DzrrOtc+Fzq4nLCfOo86szrLOss6xz4TOvyddLAoJCWRheU5hbWVzU2hvcnQ6IFsnzprPhc+BJywnzpTOtc+FJywnzqTPgc65JywnzqTOtc+EJywnzqDOtc68JywnzqDOsc+BJywnzqPOsc6yJ10sCgkJZGF5TmFtZXNNaW46IFsnzprPhScsJ86UzrUnLCfOpM+BJywnzqTOtScsJ86gzrUnLCfOoM6xJywnzqPOsSddLAoJCXdlZWtIZWFkZXI6ICfOlc6yzrQnLAoJCWRhdGVGb3JtYXQ6ICdkZC9tbS95eScsCgkJZmlyc3REYXk6IDEsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZWwnXSk7Cn0pOy8qIEVuZ2xpc2gvQXVzdHJhbGlhIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogQmFzZWQgb24gdGhlIGVuLUdCIGluaXRpYWxpc2F0aW9uLiAqLwpqUXVlcnkoZnVuY3Rpb24oJCl7CgkkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2VuLUFVJ10gPSB7CgkJY2xvc2VUZXh0OiAnRG9uZScsCgkJcHJldlRleHQ6ICdQcmV2JywKCQluZXh0VGV4dDogJ05leHQnLAoJCWN1cnJlbnRUZXh0OiAnVG9kYXknLAoJCW1vbnRoTmFtZXM6IFsnSmFudWFyeScsJ0ZlYnJ1YXJ5JywnTWFyY2gnLCdBcHJpbCcsJ01heScsJ0p1bmUnLAoJCSdKdWx5JywnQXVndXN0JywnU2VwdGVtYmVyJywnT2N0b2JlcicsJ05vdmVtYmVyJywnRGVjZW1iZXInXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnSmFuJywgJ0ZlYicsICdNYXInLCAnQXByJywgJ01heScsICdKdW4nLAoJCSdKdWwnLCAnQXVnJywgJ1NlcCcsICdPY3QnLCAnTm92JywgJ0RlYyddLAoJCWRheU5hbWVzOiBbJ1N1bmRheScsICdNb25kYXknLCAnVHVlc2RheScsICdXZWRuZXNkYXknLCAnVGh1cnNkYXknLCAnRnJpZGF5JywgJ1NhdHVyZGF5J10sCgkJZGF5TmFtZXNTaG9ydDogWydTdW4nLCAnTW9uJywgJ1R1ZScsICdXZWQnLCAnVGh1JywgJ0ZyaScsICdTYXQnXSwKCQlkYXlOYW1lc01pbjogWydTdScsJ01vJywnVHUnLCdXZScsJ1RoJywnRnInLCdTYSddLAoJCXdlZWtIZWFkZXI6ICdXaycsCgkJZGF0ZUZvcm1hdDogJ2RkL21tL3l5JywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydlbi1BVSddKTsKfSk7Ci8qIEVuZ2xpc2gvVUsgaW5pdGlhbGlzYXRpb24gZm9yIHRoZSBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAqLwovKiBXcml0dGVuIGJ5IFN0dWFydC4gKi8KalF1ZXJ5KGZ1bmN0aW9uKCQpewoJJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydlbi1HQiddID0gewoJCWNsb3NlVGV4dDogJ0RvbmUnLAoJCXByZXZUZXh0OiAnUHJldicsCgkJbmV4dFRleHQ6ICdOZXh0JywKCQljdXJyZW50VGV4dDogJ1RvZGF5JywKCQltb250aE5hbWVzOiBbJ0phbnVhcnknLCdGZWJydWFyeScsJ01hcmNoJywnQXByaWwnLCdNYXknLCdKdW5lJywKCQknSnVseScsJ0F1Z3VzdCcsJ1NlcHRlbWJlcicsJ09jdG9iZXInLCdOb3ZlbWJlcicsJ0RlY2VtYmVyJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ0phbicsICdGZWInLCAnTWFyJywgJ0FwcicsICdNYXknLCAnSnVuJywKCQknSnVsJywgJ0F1ZycsICdTZXAnLCAnT2N0JywgJ05vdicsICdEZWMnXSwKCQlkYXlOYW1lczogWydTdW5kYXknLCAnTW9uZGF5JywgJ1R1ZXNkYXknLCAnV2VkbmVzZGF5JywgJ1RodXJzZGF5JywgJ0ZyaWRheScsICdTYXR1cmRheSddLAoJCWRheU5hbWVzU2hvcnQ6IFsnU3VuJywgJ01vbicsICdUdWUnLCAnV2VkJywgJ1RodScsICdGcmknLCAnU2F0J10sCgkJZGF5TmFtZXNNaW46IFsnU3UnLCdNbycsJ1R1JywnV2UnLCdUaCcsJ0ZyJywnU2EnXSwKCQl3ZWVrSGVhZGVyOiAnV2snLAoJCWRhdGVGb3JtYXQ6ICdkZC9tbS95eScsCgkJZmlyc3REYXk6IDEsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZW4tR0InXSk7Cn0pOwovKiBFbmdsaXNoL05ldyBaZWFsYW5kIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogQmFzZWQgb24gdGhlIGVuLUdCIGluaXRpYWxpc2F0aW9uLiAqLwpqUXVlcnkoZnVuY3Rpb24oJCl7CgkkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2VuLU5aJ10gPSB7CgkJY2xvc2VUZXh0OiAnRG9uZScsCgkJcHJldlRleHQ6ICdQcmV2JywKCQluZXh0VGV4dDogJ05leHQnLAoJCWN1cnJlbnRUZXh0OiAnVG9kYXknLAoJCW1vbnRoTmFtZXM6IFsnSmFudWFyeScsJ0ZlYnJ1YXJ5JywnTWFyY2gnLCdBcHJpbCcsJ01heScsJ0p1bmUnLAoJCSdKdWx5JywnQXVndXN0JywnU2VwdGVtYmVyJywnT2N0b2JlcicsJ05vdmVtYmVyJywnRGVjZW1iZXInXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnSmFuJywgJ0ZlYicsICdNYXInLCAnQXByJywgJ01heScsICdKdW4nLAoJCSdKdWwnLCAnQXVnJywgJ1NlcCcsICdPY3QnLCAnTm92JywgJ0RlYyddLAoJCWRheU5hbWVzOiBbJ1N1bmRheScsICdNb25kYXknLCAnVHVlc2RheScsICdXZWRuZXNkYXknLCAnVGh1cnNkYXknLCAnRnJpZGF5JywgJ1NhdHVyZGF5J10sCgkJZGF5TmFtZXNTaG9ydDogWydTdW4nLCAnTW9uJywgJ1R1ZScsICdXZWQnLCAnVGh1JywgJ0ZyaScsICdTYXQnXSwKCQlkYXlOYW1lc01pbjogWydTdScsJ01vJywnVHUnLCdXZScsJ1RoJywnRnInLCdTYSddLAoJCXdlZWtIZWFkZXI6ICdXaycsCgkJZGF0ZUZvcm1hdDogJ2RkL21tL3l5JywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydlbi1OWiddKTsKfSk7Ci8qIEVzcGVyYW50byBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgT2xpdmllciBNLiAob2xpdmllcndlYkBpZnJhbmNlLmNvbSkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZW8nXSA9IHsKCQljbG9zZVRleHQ6ICdGZXJtaScsCgkJcHJldlRleHQ6ICcmbHQ7QW50YScsCgkJbmV4dFRleHQ6ICdTZWt2Jmd0OycsCgkJY3VycmVudFRleHQ6ICdOdW5hJywKCQltb250aE5hbWVzOiBbJ0phbnVhcm8nLCdGZWJydWFybycsJ01hcnRvJywnQXByaWxvJywnTWFqbycsJ0p1bmlvJywKCQknSnVsaW8nLCdBxa1ndXN0bycsJ1NlcHRlbWJybycsJ09rdG9icm8nLCdOb3ZlbWJybycsJ0RlY2VtYnJvJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ0phbicsJ0ZlYicsJ01hcicsJ0FwcicsJ01haicsJ0p1bicsCgkJJ0p1bCcsJ0HFrWcnLCdTZXAnLCdPa3QnLCdOb3YnLCdEZWMnXSwKCQlkYXlOYW1lczogWydEaW1hbsSJbycsJ0x1bmRvJywnTWFyZG8nLCdNZXJrcmVkbycsJ8S0YcWtZG8nLCdWZW5kcmVkbycsJ1NhYmF0byddLAoJCWRheU5hbWVzU2hvcnQ6IFsnRGltJywnTHVuJywnTWFyJywnTWVyJywnxLRhxa0nLCdWZW4nLCdTYWInXSwKCQlkYXlOYW1lc01pbjogWydEaScsJ0x1JywnTWEnLCdNZScsJ8S0YScsJ1ZlJywnU2EnXSwKCQl3ZWVrSGVhZGVyOiAnU2InLAoJCWRhdGVGb3JtYXQ6ICdkZC9tbS95eScsCgkJZmlyc3REYXk6IDAsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZW8nXSk7Cn0pOwovKiBJbmljaWFsaXphY2nDs24gZW4gZXNwYcOxb2wgcGFyYSBsYSBleHRlbnNpw7NuICdVSSBkYXRlIHBpY2tlcicgcGFyYSBqUXVlcnkuICovCi8qIFRyYWR1Y2lkbyBwb3IgVmVzdGVyICh4dmVzdGVyQGdtYWlsLmNvbSkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZXMnXSA9IHsKCQljbG9zZVRleHQ6ICdDZXJyYXInLAoJCXByZXZUZXh0OiAnJiN4M2M7QW50JywKCQluZXh0VGV4dDogJ1NpZyYjeDNlOycsCgkJY3VycmVudFRleHQ6ICdIb3knLAoJCW1vbnRoTmFtZXM6IFsnRW5lcm8nLCdGZWJyZXJvJywnTWFyem8nLCdBYnJpbCcsJ01heW8nLCdKdW5pbycsCgkJJ0p1bGlvJywnQWdvc3RvJywnU2VwdGllbWJyZScsJ09jdHVicmUnLCdOb3ZpZW1icmUnLCdEaWNpZW1icmUnXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnRW5lJywnRmViJywnTWFyJywnQWJyJywnTWF5JywnSnVuJywKCQknSnVsJywnQWdvJywnU2VwJywnT2N0JywnTm92JywnRGljJ10sCgkJZGF5TmFtZXM6IFsnRG9taW5nbycsJ0x1bmVzJywnTWFydGVzJywnTWkmZWFjdXRlO3Jjb2xlcycsJ0p1ZXZlcycsJ1ZpZXJuZXMnLCdTJmFhY3V0ZTtiYWRvJ10sCgkJZGF5TmFtZXNTaG9ydDogWydEb20nLCdMdW4nLCdNYXInLCdNaSZlYWN1dGU7JywnSnV2JywnVmllJywnUyZhYWN1dGU7YiddLAoJCWRheU5hbWVzTWluOiBbJ0RvJywnTHUnLCdNYScsJ01pJywnSnUnLCdWaScsJ1MmYWFjdXRlOyddLAoJCXdlZWtIZWFkZXI6ICdTbScsCgkJZGF0ZUZvcm1hdDogJ2RkL21tL3l5JywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydlcyddKTsKfSk7LyogRXN0b25pYW4gaW5pdGlhbGlzYXRpb24gZm9yIHRoZSBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAqLwovKiBXcml0dGVuIGJ5IE1hcnQgU8O1bWVybWFhIChtcnRzLnB5ZGV2IGF0IGdtYWlsIGNvbSkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZXQnXSA9IHsKCQljbG9zZVRleHQ6ICdTdWxnZScsCgkJcHJldlRleHQ6ICdFZWxuZXYnLAoJCW5leHRUZXh0OiAnSsOkcmduZXYnLAoJCWN1cnJlbnRUZXh0OiAnVMOkbmEnLAoJCW1vbnRoTmFtZXM6IFsnSmFhbnVhcicsJ1ZlZWJydWFyJywnTcOkcnRzJywnQXByaWxsJywnTWFpJywnSnV1bmknLAoJCSdKdXVsaScsJ0F1Z3VzdCcsJ1NlcHRlbWJlcicsJ09rdG9vYmVyJywnTm92ZW1iZXInLCdEZXRzZW1iZXInXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnSmFhbicsICdWZWVicicsICdNw6RydHMnLCAnQXByJywgJ01haScsICdKdXVuaScsCgkJJ0p1dWxpJywgJ0F1ZycsICdTZXB0JywgJ09rdCcsICdOb3YnLCAnRGV0cyddLAoJCWRheU5hbWVzOiBbJ1DDvGhhcMOkZXYnLCAnRXNtYXNww6RldicsICdUZWlzaXDDpGV2JywgJ0tvbG1hcMOkZXYnLCAnTmVsamFww6RldicsICdSZWVkZScsICdMYXVww6RldiddLAoJCWRheU5hbWVzU2hvcnQ6IFsnUMO8aGFwJywgJ0VzbWFzcCcsICdUZWlzaXAnLCAnS29sbWFwJywgJ05lbGphcCcsICdSZWVkZScsICdMYXVwJ10sCgkJZGF5TmFtZXNNaW46IFsnUCcsJ0UnLCdUJywnSycsJ04nLCdSJywnTCddLAoJCXdlZWtIZWFkZXI6ICdTbScsCgkJZGF0ZUZvcm1hdDogJ2RkLm1tLnl5JywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydldCddKTsKfSk7IC8qIEV1c2thcmFrbyBvaW5hcnJpYSAnVUkgZGF0ZSBwaWNrZXInIGpxdWVyeS1rbyBleHRlbnRzaW9hcmVudHphdCAqLwovKiBLYXJyaWthcy1layBpdHp1bGlhIChrYXJyaWthc0BrYXJyaWthcy5jb20pICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZXUnXSA9IHsKCQljbG9zZVRleHQ6ICdFZ2luYScsCgkJcHJldlRleHQ6ICcmI3gzYztBdXInLAoJCW5leHRUZXh0OiAnSHVyJiN4M2U7JywKCQljdXJyZW50VGV4dDogJ0dhdXInLAoJCW1vbnRoTmFtZXM6IFsnVXJ0YXJyaWxhJywnT3RzYWlsYScsJ01hcnR4b2EnLCdBcGlyaWxhJywnTWFpYXR6YScsJ0VrYWluYScsCgkJJ1V6dGFpbGEnLCdBYnV6dHVhJywnSXJhaWxhJywnVXJyaWEnLCdBemFyb2EnLCdBYmVuZHVhJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ1VydCcsJ090cycsJ01hcicsJ0FwaScsJ01haScsJ0VrYScsCgkJJ1V6dCcsJ0FidScsJ0lyYScsJ1VycicsJ0F6YScsJ0FiZSddLAoJCWRheU5hbWVzOiBbJ0lnYW5kZWEnLCdBc3RlbGVoZW5hJywnQXN0ZWFydGVhJywnQXN0ZWF6a2VuYScsJ09zdGVndW5hJywnT3N0aXJhbGEnLCdMYXJ1bmJhdGEnXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ0lnYScsJ0FzdCcsJ0FzdCcsJ0FzdCcsJ09zdCcsJ09zdCcsJ0xhciddLAoJCWRheU5hbWVzTWluOiBbJ0lnJywnQXMnLCdBcycsJ0FzJywnT3MnLCdPcycsJ0xhJ10sCgkJd2Vla0hlYWRlcjogJ1drJywKCQlkYXRlRm9ybWF0OiAneXkvbW0vZGQnLAoJCWZpcnN0RGF5OiAxLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2V1J10pOwp9KTsvKiBQZXJzaWFuIChGYXJzaSkgVHJhbnNsYXRpb24gZm9yIHRoZSBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAqLwovKiBKYXZhZCBNb3dsYW5lemhhZCAtLSBqbW93bGFAZ21haWwuY29tICovCi8qIEphbGFsaSBjYWxlbmRhciBzaG91bGQgc3VwcG9ydGVkIHNvb24hIChJdHMgaW1wbGVtZW50ZWQgYnV0IEkgaGF2ZSB0byB0ZXN0IGl0KSAqLwpqUXVlcnkoZnVuY3Rpb24oJCkgewoJJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydmYSddID0gewoJCWNsb3NlVGV4dDogJ9io2LPYqtmGJywKCQlwcmV2VGV4dDogJyYjeDNjO9mC2KjZhNmKJywKCQluZXh0VGV4dDogJ9io2LnYr9mKJiN4M2U7JywKCQljdXJyZW50VGV4dDogJ9in2YXYsdmI2LInLAoJCW1vbnRoTmFtZXM6IFsn2YHYsdmI2LHYr9mK2YYnLCfYp9ix2K/Zitio2YfYtNiqJywn2K7Ysdiv2KfYrycsJ9iq2YrYsScsJ9mF2LHYr9in2K8nLCfYtNmH2LHZitmI2LEnLAoJCSfZhdmH2LEnLCfYotio2KfZhicsJ9ii2LDYsScsJ9iv2YonLCfYqNmH2YXZhicsJ9in2LPZgdmG2K8nXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnMScsJzInLCczJywnNCcsJzUnLCc2JywnNycsJzgnLCc5JywnMTAnLCcxMScsJzEyJ10sCgkJZGF5TmFtZXM6IFsn2Yraqdi02YbYqNmHJywn2K/ZiNi02YbYqNmHJywn2LPZh+KAjNi02YbYqNmHJywn2obZh9in2LHYtNmG2KjZhycsJ9m+2YbYrNi02YbYqNmHJywn2KzZhdi52YcnLCfYtNmG2KjZhyddLAoJCWRheU5hbWVzU2hvcnQ6IFsn2YonLCfYrycsJ9izJywn2oYnLCfZvicsJ9isJywgJ9i0J10sCgkJZGF5TmFtZXNNaW46IFsn2YonLCfYrycsJ9izJywn2oYnLCfZvicsJ9isJywgJ9i0J10sCgkJd2Vla0hlYWRlcjogJ9mH2YEnLAoJCWRhdGVGb3JtYXQ6ICd5eS9tbS9kZCcsCgkJZmlyc3REYXk6IDYsCgkJaXNSVEw6IHRydWUsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydmYSddKTsKfSk7LyogRmlubmlzaCBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgSGFycmkgS2lscGnvv70gKGhhcnJpa2lscGlvQGdtYWlsLmNvbSkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKICAgICQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZmknXSA9IHsKCQljbG9zZVRleHQ6ICdTdWxqZScsCgkJcHJldlRleHQ6ICcmbGFxdW87RWRlbGxpbmVuJywKCQluZXh0VGV4dDogJ1NldXJhYXZhJnJhcXVvOycsCgkJY3VycmVudFRleHQ6ICdUJmF1bWw7biZhdW1sOyZhdW1sO24nLAogICAgICAgIG1vbnRoTmFtZXM6IFsnVGFtbWlrdXUnLCdIZWxtaWt1dScsJ01hYWxpc2t1dScsJ0h1aHRpa3V1JywnVG91a29rdXUnLCdLZXMmYXVtbDtrdXUnLAogICAgICAgICdIZWluJmF1bWw7a3V1JywnRWxva3V1JywnU3l5c2t1dScsJ0xva2FrdXUnLCdNYXJyYXNrdXUnLCdKb3VsdWt1dSddLAogICAgICAgIG1vbnRoTmFtZXNTaG9ydDogWydUYW1taScsJ0hlbG1pJywnTWFhbGlzJywnSHVodGknLCdUb3VrbycsJ0tlcyZhdW1sOycsCiAgICAgICAgJ0hlaW4mYXVtbDsnLCdFbG8nLCdTeXlzJywnTG9rYScsJ01hcnJhcycsJ0pvdWx1J10sCgkJZGF5TmFtZXNTaG9ydDogWydTdScsJ01hJywnVGknLCdLZScsJ1RvJywnUGUnLCdTdSddLAoJCWRheU5hbWVzOiBbJ1N1bm51bnRhaScsJ01hYW5hbnRhaScsJ1RpaXN0YWknLCdLZXNraXZpaWtrbycsJ1RvcnN0YWknLCdQZXJqYW50YWknLCdMYXVhbnRhaSddLAoJCWRheU5hbWVzTWluOiBbJ1N1JywnTWEnLCdUaScsJ0tlJywnVG8nLCdQZScsJ0xhJ10sCgkJd2Vla0hlYWRlcjogJ1ZrJywKICAgICAgICBkYXRlRm9ybWF0OiAnZGQubW0ueXknLAoJCWZpcnN0RGF5OiAxLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKICAgICQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2ZpJ10pOwp9KTsKLyogRmFyb2VzZSBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4gKi8KLyogV3JpdHRlbiBieSBTdmVycmkgTW9ociBPbHNlbiwgc3ZlcnJpbW9AZ21haWwuY29tICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZm8nXSA9IHsKCQljbG9zZVRleHQ6ICdMYXQgYWZ0dXInLAoJCXByZXZUZXh0OiAnJiN4M2M7RnlycmEnLAoJCW5leHRUZXh0OiAnTsOmc3RhJiN4M2U7JywKCQljdXJyZW50VGV4dDogJ8ONIGRhZycsCgkJbW9udGhOYW1lczogWydKYW51YXInLCdGZWJydWFyJywnTWFycycsJ0FwcsOtbCcsJ01laScsJ0p1bmknLAoJCSdKdWxpJywnQXVndXN0JywnU2VwdGVtYmVyJywnT2t0b2JlcicsJ05vdmVtYmVyJywnRGVzZW1iZXInXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnSmFuJywnRmViJywnTWFyJywnQXByJywnTWVpJywnSnVuJywKCQknSnVsJywnQXVnJywnU2VwJywnT2t0JywnTm92JywnRGVzJ10sCgkJZGF5TmFtZXM6IFsnU3VubnVkYWd1cicsJ03DoW5hZGFndXInLCdUw71zZGFndXInLCdNaWt1ZGFndXInLCdIw7NzZGFndXInLCdGcsOtZ2dqYWRhZ3VyJywnTGV5YXJkYWd1ciddLAoJCWRheU5hbWVzU2hvcnQ6IFsnU3VuJywnTcOhbicsJ1TDvXMnLCdNaWsnLCdIw7NzJywnRnLDrScsJ0xleSddLAoJCWRheU5hbWVzTWluOiBbJ1N1JywnTcOhJywnVMO9JywnTWknLCdIw7MnLCdGcicsJ0xlJ10sCgkJd2Vla0hlYWRlcjogJ1ZrJywKCQlkYXRlRm9ybWF0OiAnZGQtbW0teXknLAoJCWZpcnN0RGF5OiAwLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2ZvJ10pOwp9KTsKLyogU3dpc3MtRnJlbmNoIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBNYXJ0aW4gVm9lbGtsZSAobWFydGluLnZvZWxrbGVAZS10Yy5jaCkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZnItQ0gnXSA9IHsKCQljbG9zZVRleHQ6ICdGZXJtZXInLAoJCXByZXZUZXh0OiAnJiN4M2M7UHLDqWMnLAoJCW5leHRUZXh0OiAnU3VpdiYjeDNlOycsCgkJY3VycmVudFRleHQ6ICdDb3VyYW50JywKCQltb250aE5hbWVzOiBbJ0phbnZpZXInLCdGw6l2cmllcicsJ01hcnMnLCdBdnJpbCcsJ01haScsJ0p1aW4nLAoJCSdKdWlsbGV0JywnQW/Du3QnLCdTZXB0ZW1icmUnLCdPY3RvYnJlJywnTm92ZW1icmUnLCdEw6ljZW1icmUnXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnSmFuJywnRsOpdicsJ01hcicsJ0F2cicsJ01haScsJ0p1bicsCgkJJ0p1bCcsJ0Fvw7snLCdTZXAnLCdPY3QnLCdOb3YnLCdEw6ljJ10sCgkJZGF5TmFtZXM6IFsnRGltYW5jaGUnLCdMdW5kaScsJ01hcmRpJywnTWVyY3JlZGknLCdKZXVkaScsJ1ZlbmRyZWRpJywnU2FtZWRpJ10sCgkJZGF5TmFtZXNTaG9ydDogWydEaW0nLCdMdW4nLCdNYXInLCdNZXInLCdKZXUnLCdWZW4nLCdTYW0nXSwKCQlkYXlOYW1lc01pbjogWydEaScsJ0x1JywnTWEnLCdNZScsJ0plJywnVmUnLCdTYSddLAoJCXdlZWtIZWFkZXI6ICdTbScsCgkJZGF0ZUZvcm1hdDogJ2RkLm1tLnl5JywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydmci1DSCddKTsKfSk7LyogRnJlbmNoIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBLZWl0aCBXb29kIChrYndvb2R7YXR9aWluZXQuY29tLmF1KSwKICAgICAgICAgICAgICBTdMOpcGhhbmUgTmFobWFuaSAoc2hvbGJ5QHNob2xieS5uZXQpLAogICAgICAgICAgICAgIFN0w6lwaGFuZSBSYWltYmF1bHQgPHN0ZXBoYW5lLnJhaW1iYXVsdEBnbWFpbC5jb20+ICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZnInXSA9IHsKCQljbG9zZVRleHQ6ICdGZXJtZXInLAoJCXByZXZUZXh0OiAnUHLDqWPDqWRlbnQnLAoJCW5leHRUZXh0OiAnU3VpdmFudCcsCgkJY3VycmVudFRleHQ6ICdBdWpvdXJkXCdodWknLAoJCW1vbnRoTmFtZXM6IFsnSmFudmllcicsJ0bDqXZyaWVyJywnTWFycycsJ0F2cmlsJywnTWFpJywnSnVpbicsCgkJJ0p1aWxsZXQnLCdBb8O7dCcsJ1NlcHRlbWJyZScsJ09jdG9icmUnLCdOb3ZlbWJyZScsJ0TDqWNlbWJyZSddLAoJCW1vbnRoTmFtZXNTaG9ydDogWydKYW52LicsJ0bDqXZyLicsJ01hcnMnLCdBdnJpbCcsJ01haScsJ0p1aW4nLAoJCSdKdWlsLicsJ0Fvw7t0JywnU2VwdC4nLCdPY3QuJywnTm92LicsJ0TDqWMuJ10sCgkJZGF5TmFtZXM6IFsnRGltYW5jaGUnLCdMdW5kaScsJ01hcmRpJywnTWVyY3JlZGknLCdKZXVkaScsJ1ZlbmRyZWRpJywnU2FtZWRpJ10sCgkJZGF5TmFtZXNTaG9ydDogWydEaW0uJywnTHVuLicsJ01hci4nLCdNZXIuJywnSmV1LicsJ1Zlbi4nLCdTYW0uJ10sCgkJZGF5TmFtZXNNaW46IFsnRCcsJ0wnLCdNJywnTScsJ0onLCdWJywnUyddLAoJCXdlZWtIZWFkZXI6ICdTZW0uJywKCQlkYXRlRm9ybWF0OiAnZGQvbW0veXknLAoJCWZpcnN0RGF5OiAxLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2ZyJ10pOwp9KTsKLyogR2FsaWNpYW4gbG9jYWxpemF0aW9uIGZvciAnVUkgZGF0ZSBwaWNrZXInIGpRdWVyeSBleHRlbnNpb24uICovCi8qIFRyYW5zbGF0ZWQgYnkgSm9yZ2UgQmFycmVpcm8gPHlvcnR4LmJhcnJ5QGdtYWlsLmNvbT4uICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZ2wnXSA9IHsKCQljbG9zZVRleHQ6ICdQZWNoYXInLAoJCXByZXZUZXh0OiAnJiN4M2M7QW50JywKCQluZXh0VGV4dDogJ1NlZyYjeDNlOycsCgkJY3VycmVudFRleHQ6ICdIb3hlJywKCQltb250aE5hbWVzOiBbJ1hhbmVpcm8nLCdGZWJyZWlybycsJ01hcnpvJywnQWJyaWwnLCdNYWlvJywnWHXDsW8nLAoJCSdYdWxsbycsJ0Fnb3N0bycsJ1NldGVtYnJvJywnT3V0dWJybycsJ05vdmVtYnJvJywnRGVjZW1icm8nXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnWGFuJywnRmViJywnTWFyJywnQWJyJywnTWFpJywnWHXDsScsCgkJJ1h1bCcsJ0FnbycsJ1NldCcsJ091dCcsJ05vdicsJ0RlYyddLAoJCWRheU5hbWVzOiBbJ0RvbWluZ28nLCdMdW5zJywnTWFydGVzJywnTSZlYWN1dGU7cmNvcmVzJywnWG92ZXMnLCdWZW5yZXMnLCdTJmFhY3V0ZTtiYWRvJ10sCgkJZGF5TmFtZXNTaG9ydDogWydEb20nLCdMdW4nLCdNYXInLCdNJmVhY3V0ZTtyJywnWG92JywnVmVuJywnUyZhYWN1dGU7YiddLAoJCWRheU5hbWVzTWluOiBbJ0RvJywnTHUnLCdNYScsJ00mZWFjdXRlOycsJ1hvJywnVmUnLCdTJmFhY3V0ZTsnXSwKCQl3ZWVrSGVhZGVyOiAnU20nLAoJCWRhdGVGb3JtYXQ6ICdkZC9tbS95eScsCgkJZmlyc3REYXk6IDEsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZ2wnXSk7Cn0pOy8qIEhlYnJldyBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIFVJIERhdGVwaWNrZXIgZXh0ZW5zaW9uLiAqLwovKiBXcml0dGVuIGJ5IEFtaXIgSGFyZG9uIChhaGFyZG9uIGF0IGdtYWlsIGRvdCBjb20pLiAqLwpqUXVlcnkoZnVuY3Rpb24oJCl7CgkkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2hlJ10gPSB7CgkJY2xvc2VUZXh0OiAn16HXkteV16gnLAoJCXByZXZUZXh0OiAnJiN4M2M715TXp9eV15PXnScsCgkJbmV4dFRleHQ6ICfXlNeR15AmI3gzZTsnLAoJCWN1cnJlbnRUZXh0OiAn15TXmdeV150nLAoJCW1vbnRoTmFtZXM6IFsn15nXoNeV15DXqCcsJ9ek15HXqNeV15DXqCcsJ9ee16jXpScsJ9eQ16TXqNeZ15wnLCfXnteQ15knLCfXmdeV16DXmScsCgkJJ9eZ15XXnNeZJywn15DXldeS15XXodeYJywn16HXpNeY157XkdeoJywn15DXlden15jXldeR16gnLCfXoNeV15HXnteR16gnLCfXk9em157XkdeoJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJzEnLCcyJywnMycsJzQnLCc1JywnNicsCgkJJzcnLCc4JywnOScsJzEwJywnMTEnLCcxMiddLAoJCWRheU5hbWVzOiBbJ9eo15DXqdeV158nLCfXqdeg15knLCfXqdec15nXqdeZJywn16jXkdeZ16LXmScsJ9eX157Xmdep15knLCfXqdeZ16nXmScsJ9ep15HXqiddLAoJCWRheU5hbWVzU2hvcnQ6IFsn15BcJycsJ9eRXCcnLCfXklwnJywn15NcJycsJ9eUXCcnLCfXlVwnJywn16nXkdeqJ10sCgkJZGF5TmFtZXNNaW46IFsn15BcJycsJ9eRXCcnLCfXklwnJywn15NcJycsJ9eUXCcnLCfXlVwnJywn16nXkdeqJ10sCgkJd2Vla0hlYWRlcjogJ1drJywKCQlkYXRlRm9ybWF0OiAnZGQvbW0veXknLAoJCWZpcnN0RGF5OiAwLAoJCWlzUlRMOiB0cnVlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnaGUnXSk7Cn0pOwovKiBDcm9hdGlhbiBpMThuIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBWamVrb3NsYXYgTmVzZWsuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnaHInXSA9IHsKCQljbG9zZVRleHQ6ICdaYXR2b3JpJywKCQlwcmV2VGV4dDogJyYjeDNjOycsCgkJbmV4dFRleHQ6ICcmI3gzZTsnLAoJCWN1cnJlbnRUZXh0OiAnRGFuYXMnLAoJCW1vbnRoTmFtZXM6IFsnU2lqZcSNYW5qJywnVmVsamHEjWEnLCdPxb51amFrJywnVHJhdmFuaicsJ1N2aWJhbmonLCdMaXBhbmonLAoJCSdTcnBhbmonLCdLb2xvdm96JywnUnVqYW4nLCdMaXN0b3BhZCcsJ1N0dWRlbmknLCdQcm9zaW5hYyddLAoJCW1vbnRoTmFtZXNTaG9ydDogWydTaWonLCdWZWxqJywnT8W+dScsJ1RyYScsJ1N2aScsJ0xpcCcsCgkJJ1NycCcsJ0tvbCcsJ1J1aicsJ0xpcycsJ1N0dScsJ1BybyddLAoJCWRheU5hbWVzOiBbJ05lZGplbGphJywnUG9uZWRqZWxqYWsnLCdVdG9yYWsnLCdTcmlqZWRhJywnxIxldHZydGFrJywnUGV0YWsnLCdTdWJvdGEnXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ05lZCcsJ1BvbicsJ1V0bycsJ1NyaScsJ8SMZXQnLCdQZXQnLCdTdWInXSwKCQlkYXlOYW1lc01pbjogWydOZScsJ1BvJywnVXQnLCdTcicsJ8SMZScsJ1BlJywnU3UnXSwKCQl3ZWVrSGVhZGVyOiAnVGplJywKCQlkYXRlRm9ybWF0OiAnZGQubW0ueXkuJywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydociddKTsKfSk7LyogSHVuZ2FyaWFuIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBJc3R2YW4gS2FyYXN6aSAoanF1ZXJ5QHNwYW0ucmFzemkuaHUpLiAqLwpqUXVlcnkoZnVuY3Rpb24oJCl7CgkkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2h1J10gPSB7CgkJY2xvc2VUZXh0OiAnYmV6w6Fyw6FzJywKCQlwcmV2VGV4dDogJyZsYXF1bzsmbmJzcDt2aXNzemEnLAoJCW5leHRUZXh0OiAnZWzFkXJlJm5ic3A7JnJhcXVvOycsCgkJY3VycmVudFRleHQ6ICdtYScsCgkJbW9udGhOYW1lczogWydKYW51w6FyJywgJ0ZlYnJ1w6FyJywgJ03DoXJjaXVzJywgJ8OBcHJpbGlzJywgJ03DoWp1cycsICdKw7puaXVzJywKCQknSsO6bGl1cycsICdBdWd1c3p0dXMnLCAnU3plcHRlbWJlcicsICdPa3TDs2JlcicsICdOb3ZlbWJlcicsICdEZWNlbWJlciddLAoJCW1vbnRoTmFtZXNTaG9ydDogWydKYW4nLCAnRmViJywgJ03DoXInLCAnw4FwcicsICdNw6FqJywgJ0rDum4nLAoJCSdKw7psJywgJ0F1ZycsICdTemVwJywgJ09rdCcsICdOb3YnLCAnRGVjJ10sCgkJZGF5TmFtZXM6IFsnVmFzw6FybmFwJywgJ0jDqXRmw7YnLCAnS2VkZCcsICdTemVyZGEnLCAnQ3PDvHTDtnJ0w7ZrJywgJ1DDqW50ZWsnLCAnU3pvbWJhdCddLAoJCWRheU5hbWVzU2hvcnQ6IFsnVmFzJywgJ0jDqXQnLCAnS2VkJywgJ1N6ZScsICdDc8O8JywgJ1DDqW4nLCAnU3pvJ10sCgkJZGF5TmFtZXNNaW46IFsnVicsICdIJywgJ0snLCAnU3plJywgJ0NzJywgJ1AnLCAnU3pvJ10sCgkJd2Vla0hlYWRlcjogJ0jDqScsCgkJZGF0ZUZvcm1hdDogJ3l5LW1tLWRkJywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiB0cnVlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2h1J10pOwp9KTsKLyogQXJtZW5pYW4oVVRGLTgpIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBMZXZvbiBaYWthcnlhbiAobGV2b24uemFrYXJ5YW5AZ21haWwuY29tKSovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnaHknXSA9IHsKCQljbG9zZVRleHQ6ICfVk9Wh1a/VpdWsJywKCQlwcmV2VGV4dDogJyYjeDNjO9WG1aHVrS4nLAoJCW5leHRUZXh0OiAn1YDVodW7LiYjeDNlOycsCgkJY3VycmVudFRleHQ6ICfUsdW11b3WhdaAJywKCQltb250aE5hbWVzOiBbJ9WA1bjWgtW21b7VodaAJywn1ZPVpdW/1oDVvtWh1oAnLCfVhNWh1oDVvycsJ9Sx1brWgNWr1awnLCfVhNWh1bXVq9W9Jywn1YDVuNaC1bbVq9W9JywKCQkn1YDVuNaC1azVq9W9Jywn1ZXVo9W41b3Vv9W41b0nLCfVjdWl1brVv9Wl1bTVotWl1oAnLCfVgNW41a/Vv9Wl1bTVotWl1oAnLCfVhtW41bXVpdW01aLVpdaAJywn1LTVpdWv1b/VpdW01aLVpdaAJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ9WA1bjWgtW21b4nLCfVk9Wl1b/WgCcsJ9WE1aHWgNW/Jywn1LHVutaAJywn1YTVodW11avVvScsJ9WA1bjWgtW21avVvScsCgkJJ9WA1bjWgtWsJywn1ZXVo9W9Jywn1Y3VpdW6Jywn1YDVuNWvJywn1YbVuNW1Jywn1LTVpdWvJ10sCgkJZGF5TmFtZXM6IFsn1a/Vq9aA1aHVr9WrJywn1aXVr9W41oLVt9Wh1aLVqdWrJywn1aXWgNWl1oTVt9Wh1aLVqdWrJywn1bnVuNaA1aXWhNW31aHVotWp1asnLCfVsNWr1bbVo9W31aHVotWp1asnLCfVuNaC1oDVotWh1aknLCfVt9Wh1aLVodWpJ10sCgkJZGF5TmFtZXNTaG9ydDogWyfVr9Wr1oAnLCfVpdaA1a8nLCfVpdaA1oQnLCfVudaA1oQnLCfVsNW21aMnLCfVuNaC1oDVoicsJ9W31aLVqSddLAoJCWRheU5hbWVzTWluOiBbJ9Wv1avWgCcsJ9Wl1oDVrycsJ9Wl1oDWhCcsJ9W51oDWhCcsJ9Ww1bbVoycsJ9W41oLWgNWiJywn1bfVotWpJ10sCgkJd2Vla0hlYWRlcjogJ9WH1LLVjycsCgkJZGF0ZUZvcm1hdDogJ2RkLm1tLnl5JywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydoeSddKTsKfSk7LyogSW5kb25lc2lhbiBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgRGVkZW4gRmF0aHVyYWhtYW4gKGRlZGVuZkBnbWFpbC5jb20pLiAqLwpqUXVlcnkoZnVuY3Rpb24oJCl7CgkkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2lkJ10gPSB7CgkJY2xvc2VUZXh0OiAnVHV0dXAnLAoJCXByZXZUZXh0OiAnJiN4M2M7bXVuZHVyJywKCQluZXh0VGV4dDogJ21hanUmI3gzZTsnLAoJCWN1cnJlbnRUZXh0OiAnaGFyaSBpbmknLAoJCW1vbnRoTmFtZXM6IFsnSmFudWFyaScsJ0ZlYnJ1YXJpJywnTWFyZXQnLCdBcHJpbCcsJ01laScsJ0p1bmknLAoJCSdKdWxpJywnQWd1c3R1cycsJ1NlcHRlbWJlcicsJ09rdG9iZXInLCdOb3BlbWJlcicsJ0Rlc2VtYmVyJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ0phbicsJ0ZlYicsJ01hcicsJ0FwcicsJ01laScsJ0p1bicsCgkJJ0p1bCcsJ0FndXMnLCdTZXAnLCdPa3QnLCdOb3AnLCdEZXMnXSwKCQlkYXlOYW1lczogWydNaW5nZ3UnLCdTZW5pbicsJ1NlbGFzYScsJ1JhYnUnLCdLYW1pcycsJ0p1bWF0JywnU2FidHUnXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ01pbicsJ1NlbicsJ1NlbCcsJ1JhYicsJ2thbScsJ0p1bScsJ1NhYiddLAoJCWRheU5hbWVzTWluOiBbJ01nJywnU24nLCdTbCcsJ1JiJywnS20nLCdqbScsJ1NiJ10sCgkJd2Vla0hlYWRlcjogJ01nJywKCQlkYXRlRm9ybWF0OiAnZGQvbW0veXknLAoJCWZpcnN0RGF5OiAwLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2lkJ10pOwp9KTsvKiBJY2VsYW5kaWMgaW5pdGlhbGlzYXRpb24gZm9yIHRoZSBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAqLwovKiBXcml0dGVuIGJ5IEhhdWt1ciBILiBUaG9yc3NvbiAoaGF1a3VyQGVza2lsbC5pcykuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnaXMnXSA9IHsKCQljbG9zZVRleHQ6ICdMb2thJywKCQlwcmV2VGV4dDogJyYjeDNjOyBGeXJyaScsCgkJbmV4dFRleHQ6ICdOJmFlbGlnO3N0aSAmI3gzZTsnLAoJCWN1cnJlbnRUZXh0OiAnJklhY3V0ZTsgZGFnJywKCQltb250aE5hbWVzOiBbJ0phbiZ1YWN1dGU7YXInLCdGZWJyJnVhY3V0ZTthcicsJ01hcnMnLCdBcHImaWFjdXRlO2wnLCdNYSZpYWN1dGUnLCdKJnVhY3V0ZTtuJmlhY3V0ZTsnLAoJCSdKJnVhY3V0ZTtsJmlhY3V0ZTsnLCcmQWFjdXRlO2cmdWFjdXRlO3N0JywnU2VwdGVtYmVyJywnT2t0Jm9hY3V0ZTtiZXInLCdOJm9hY3V0ZTt2ZW1iZXInLCdEZXNlbWJlciddLAoJCW1vbnRoTmFtZXNTaG9ydDogWydKYW4nLCdGZWInLCdNYXInLCdBcHInLCdNYSZpYWN1dGU7JywnSiZ1YWN1dGU7bicsCgkJJ0omdWFjdXRlO2wnLCcmQWFjdXRlO2cmdWFjdXRlOycsJ1NlcCcsJ09rdCcsJ04mb2FjdXRlO3YnLCdEZXMnXSwKCQlkYXlOYW1lczogWydTdW5udWRhZ3VyJywnTSZhYWN1dGU7bnVkYWd1cicsJyZUSE9STjtyaSZldGg7anVkYWd1cicsJ01pJmV0aDt2aWt1ZGFndXInLCdGaW1tdHVkYWd1cicsJ0Ymb3VtbDtzdHVkYWd1cicsJ0xhdWdhcmRhZ3VyJ10sCgkJZGF5TmFtZXNTaG9ydDogWydTdW4nLCdNJmFhY3V0ZTtuJywnJlRIT1JOO3JpJywnTWkmZXRoOycsJ0ZpbScsJ0Ymb3VtbDtzJywnTGF1J10sCgkJZGF5TmFtZXNNaW46IFsnU3UnLCdNJmFhY3V0ZTsnLCcmVEhPUk47cicsJ01pJywnRmknLCdGJm91bWw7JywnTGEnXSwKCQl3ZWVrSGVhZGVyOiAnVmlrYScsCgkJZGF0ZUZvcm1hdDogJ2RkL21tL3l5JywKCQlmaXJzdERheTogMCwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydpcyddKTsKfSk7LyogSXRhbGlhbiBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgQW50b25lbGxvIFBhc2VsbGEgKGFudG9uZWxsby5wYXNlbGxhQGdtYWlsLmNvbSkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnaXQnXSA9IHsKCQljbG9zZVRleHQ6ICdDaGl1ZGknLAoJCXByZXZUZXh0OiAnJiN4M2M7UHJlYycsCgkJbmV4dFRleHQ6ICdTdWNjJiN4M2U7JywKCQljdXJyZW50VGV4dDogJ09nZ2knLAoJCW1vbnRoTmFtZXM6IFsnR2VubmFpbycsJ0ZlYmJyYWlvJywnTWFyem8nLCdBcHJpbGUnLCdNYWdnaW8nLCdHaXVnbm8nLAoJCQknTHVnbGlvJywnQWdvc3RvJywnU2V0dGVtYnJlJywnT3R0b2JyZScsJ05vdmVtYnJlJywnRGljZW1icmUnXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnR2VuJywnRmViJywnTWFyJywnQXByJywnTWFnJywnR2l1JywKCQkJJ0x1ZycsJ0FnbycsJ1NldCcsJ090dCcsJ05vdicsJ0RpYyddLAoJCWRheU5hbWVzOiBbJ0RvbWVuaWNhJywnTHVuZWQmIzIzNicsJ01hcnRlZCYjMjM2JywnTWVyY29sZWQmIzIzNicsJ0dpb3ZlZCYjMjM2JywnVmVuZXJkJiMyMzYnLCdTYWJhdG8nXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ0RvbScsJ0x1bicsJ01hcicsJ01lcicsJ0dpbycsJ1ZlbicsJ1NhYiddLAoJCWRheU5hbWVzTWluOiBbJ0RvJywnTHUnLCdNYScsJ01lJywnR2knLCdWZScsJ1NhJ10sCgkJd2Vla0hlYWRlcjogJ1NtJywKCQlkYXRlRm9ybWF0OiAnZGQvbW0veXknLAoJCWZpcnN0RGF5OiAxLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2l0J10pOwp9KTsKLyogSmFwYW5lc2UgaW5pdGlhbGlzYXRpb24gZm9yIHRoZSBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAqLwovKiBXcml0dGVuIGJ5IEtlbnRhcm8gU0FUTyAoa2VudGFyb0ByYW52aXMuY29tKS4gKi8KalF1ZXJ5KGZ1bmN0aW9uKCQpewoJJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydqYSddID0gewoJCWNsb3NlVGV4dDogJ+mWieOBmOOCiycsCgkJcHJldlRleHQ6ICcmI3gzYzvliY0nLAoJCW5leHRUZXh0OiAn5qyhJiN4M2U7JywKCQljdXJyZW50VGV4dDogJ+S7iuaXpScsCgkJbW9udGhOYW1lczogWycx5pyIJywnMuaciCcsJzPmnIgnLCc05pyIJywnNeaciCcsJzbmnIgnLAoJCSc35pyIJywnOOaciCcsJznmnIgnLCcxMOaciCcsJzEx5pyIJywnMTLmnIgnXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnMeaciCcsJzLmnIgnLCcz5pyIJywnNOaciCcsJzXmnIgnLCc25pyIJywKCQknN+aciCcsJzjmnIgnLCc55pyIJywnMTDmnIgnLCcxMeaciCcsJzEy5pyIJ10sCgkJZGF5TmFtZXM6IFsn5pel5puc5pelJywn5pyI5puc5pelJywn54Gr5puc5pelJywn5rC05puc5pelJywn5pyo5puc5pelJywn6YeR5puc5pelJywn5Zyf5puc5pelJ10sCgkJZGF5TmFtZXNTaG9ydDogWyfml6UnLCfmnIgnLCfngasnLCfmsLQnLCfmnKgnLCfph5EnLCflnJ8nXSwKCQlkYXlOYW1lc01pbjogWyfml6UnLCfmnIgnLCfngasnLCfmsLQnLCfmnKgnLCfph5EnLCflnJ8nXSwKCQl3ZWVrSGVhZGVyOiAn6YCxJywKCQlkYXRlRm9ybWF0OiAneXkvbW0vZGQnLAoJCWZpcnN0RGF5OiAwLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IHRydWUsCgkJeWVhclN1ZmZpeDogJ+W5tCd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnamEnXSk7Cn0pOy8qIEtvcmVhbiBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBjYWxlbmRhciBleHRlbnNpb24uICovCi8qIFdyaXR0ZW4gYnkgRGFlS3dvbiBLYW5nIChuY3Jhc2guZGtAZ21haWwuY29tKS4gKi8KalF1ZXJ5KGZ1bmN0aW9uKCQpewoJJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydrbyddID0gewoJCWNsb3NlVGV4dDogJ+uLq+q4sCcsCgkJcHJldlRleHQ6ICfsnbTsoITri6wnLAoJCW5leHRUZXh0OiAn64uk7J2M64usJywKCQljdXJyZW50VGV4dDogJ+yYpOuKmCcsCgkJbW9udGhOYW1lczogWycx7JuUKEpBTiknLCcy7JuUKEZFQiknLCcz7JuUKE1BUiknLCc07JuUKEFQUiknLCc17JuUKE1BWSknLCc27JuUKEpVTiknLAoJCSc37JuUKEpVTCknLCc47JuUKEFVRyknLCc57JuUKFNFUCknLCcxMOyblChPQ1QpJywnMTHsm5QoTk9WKScsJzEy7JuUKERFQyknXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnMeyblChKQU4pJywnMuyblChGRUIpJywnM+yblChNQVIpJywnNOyblChBUFIpJywnNeyblChNQVkpJywnNuyblChKVU4pJywKCQknN+yblChKVUwpJywnOOyblChBVUcpJywnOeyblChTRVApJywnMTDsm5QoT0NUKScsJzEx7JuUKE5PViknLCcxMuyblChERUMpJ10sCgkJZGF5TmFtZXM6IFsn7J28Jywn7JuUJywn7ZmUJywn7IiYJywn66qpJywn6riIJywn7YagJ10sCgkJZGF5TmFtZXNTaG9ydDogWyfsnbwnLCfsm5QnLCftmZQnLCfsiJgnLCfrqqknLCfquIgnLCfthqAnXSwKCQlkYXlOYW1lc01pbjogWyfsnbwnLCfsm5QnLCftmZQnLCfsiJgnLCfrqqknLCfquIgnLCfthqAnXSwKCQl3ZWVrSGVhZGVyOiAnV2snLAoJCWRhdGVGb3JtYXQ6ICd5eS1tbS1kZCcsCgkJZmlyc3REYXk6IDAsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJ+uFhCd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsna28nXSk7Cn0pOy8qIEthemFraCAoVVRGLTgpIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBEbWl0cml5IEthcmFzeW92IChkbWl0cml5LmthcmFzeW92QGdtYWlsLmNvbSkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsna3onXSA9IHsKCQljbG9zZVRleHQ6ICfQltCw0LHRgycsCgkJcHJldlRleHQ6ICcmI3gzYzvQkNC70LTRi9Kj0pPRiycsCgkJbmV4dFRleHQ6ICfQmtC10LvQtdGB0ZYmI3gzZTsnLAoJCWN1cnJlbnRUZXh0OiAn0JHSr9Cz0ZbQvScsCgkJbW9udGhOYW1lczogWyfSmtCw0qPRgtCw0YAnLCfQkNKb0L/QsNC9Jywn0J3QsNGD0YDRi9C3Jywn0KHTmdGD0ZbRgCcsJ9Cc0LDQvNGL0YAnLCfQnNCw0YPRgdGL0LwnLAoJCSfQqNGW0LvQtNC1Jywn0KLQsNC80YvQtycsJ9Ka0YvRgNC60q/QudC10LonLCfSmtCw0LfQsNC9Jywn0prQsNGA0LDRiNCwJywn0JbQtdC70YLQvtKb0YHQsNC9J10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ9Ka0LDSoycsJ9CQ0pvQvycsJ9Cd0LDRgycsJ9Ch05nRgycsJ9Cc0LDQvCcsJ9Cc0LDRgycsCgkJJ9Co0ZbQuycsJ9Ci0LDQvCcsJ9Ka0YvRgCcsJ9Ka0LDQtycsJ9Ka0LDRgCcsJ9CW0LXQuyddLAoJCWRheU5hbWVzOiBbJ9CW0LXQutGB0LXQvdCx0ZYnLCfQlNKv0LnRgdC10L3QsdGWJywn0KHQtdC50YHQtdC90LHRlicsJ9Ch05nRgNGB0LXQvdCx0ZYnLCfQkdC10LnRgdC10L3QsdGWJywn0JbSsdC80LAnLCfQodC10L3QsdGWJ10sCgkJZGF5TmFtZXNTaG9ydDogWyfQttC60YEnLCfQtNGB0L0nLCfRgdGB0L0nLCfRgdGA0YEnLCfQsdGB0L0nLCfQttC80LAnLCfRgdC90LEnXSwKCQlkYXlOYW1lc01pbjogWyfQltC6Jywn0JTRgScsJ9Ch0YEnLCfQodGAJywn0JHRgScsJ9CW0LwnLCfQodC9J10sCgkJd2Vla0hlYWRlcjogJ9Cd0LUnLAoJCWRhdGVGb3JtYXQ6ICdkZC5tbS55eScsCgkJZmlyc3REYXk6IDEsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsna3onXSk7Cn0pOwovKiBMaXRodWFuaWFuIChVVEYtOCkgaW5pdGlhbGlzYXRpb24gZm9yIHRoZSBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAqLwovKiBAYXV0aG9yIEFydHVyYXMgUGFsZWljaWthcyA8YXJ0dXJhc0BhdmFsb24ubHQ+ICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnbHQnXSA9IHsKCQljbG9zZVRleHQ6ICdVxb5kYXJ5dGknLAoJCXByZXZUZXh0OiAnJiN4M2M7QXRnYWwnLAoJCW5leHRUZXh0OiAnUGlybXluJiN4M2U7JywKCQljdXJyZW50VGV4dDogJ8WgaWFuZGllbicsCgkJbW9udGhOYW1lczogWydTYXVzaXMnLCdWYXNhcmlzJywnS292YXMnLCdCYWxhbmRpcycsJ0dlZ3XFvsSXJywnQmlyxb5lbGlzJywKCQknTGllcGEnLCdSdWdwasWrdGlzJywnUnVnc8SXamlzJywnU3BhbGlzJywnTGFwa3JpdGlzJywnR3J1b2RpcyddLAoJCW1vbnRoTmFtZXNTaG9ydDogWydTYXUnLCdWYXMnLCdLb3YnLCdCYWwnLCdHZWcnLCdCaXInLAoJCSdMaWUnLCdSdWdwJywnUnVncycsJ1NwYScsJ0xhcCcsJ0dydSddLAoJCWRheU5hbWVzOiBbJ3Nla21hZGllbmlzJywncGlybWFkaWVuaXMnLCdhbnRyYWRpZW5pcycsJ3RyZcSNaWFkaWVuaXMnLCdrZXR2aXJ0YWRpZW5pcycsJ3Blbmt0YWRpZW5pcycsJ8WhZcWhdGFkaWVuaXMnXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ3NlaycsJ3BpcicsJ2FudCcsJ3RyZScsJ2tldCcsJ3BlbicsJ8WhZcWhJ10sCgkJZGF5TmFtZXNNaW46IFsnU2UnLCdQcicsJ0FuJywnVHInLCdLZScsJ1BlJywnxaBlJ10sCgkJd2Vla0hlYWRlcjogJ1drJywKCQlkYXRlRm9ybWF0OiAneXktbW0tZGQnLAoJCWZpcnN0RGF5OiAxLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2x0J10pOwp9KTsvKiBMYXR2aWFuIChVVEYtOCkgaW5pdGlhbGlzYXRpb24gZm9yIHRoZSBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAqLwovKiBAYXV0aG9yIEFydHVyYXMgUGFsZWljaWthcyA8YXJ0dXJhcy5wYWxlaWNpa2FzQG1ldGFzaXRlLm5ldD4gKi8KalF1ZXJ5KGZ1bmN0aW9uKCQpewoJJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydsdiddID0gewoJCWNsb3NlVGV4dDogJ0FpenbEk3J0JywKCQlwcmV2VGV4dDogJ0llcHInLAoJCW5leHRUZXh0OiAnTsSBa2EnLAoJCWN1cnJlbnRUZXh0OiAnxaBvZGllbicsCgkJbW9udGhOYW1lczogWydKYW52xIFyaXMnLCdGZWJydcSBcmlzJywnTWFydHMnLCdBcHLEq2xpcycsJ01haWpzJywnSsWrbmlqcycsCgkJJ0rFq2xpanMnLCdBdWd1c3RzJywnU2VwdGVtYnJpcycsJ09rdG9icmlzJywnTm92ZW1icmlzJywnRGVjZW1icmlzJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ0phbicsJ0ZlYicsJ01hcicsJ0FwcicsJ01haScsJ0rFq24nLAoJCSdKxatsJywnQXVnJywnU2VwJywnT2t0JywnTm92JywnRGVjJ10sCgkJZGF5TmFtZXM6IFsnc3bEk3RkaWVuYScsJ3Bpcm1kaWVuYScsJ290cmRpZW5hJywndHJlxaFkaWVuYScsJ2NldHVydGRpZW5hJywncGlla3RkaWVuYScsJ3Nlc3RkaWVuYSddLAoJCWRheU5hbWVzU2hvcnQ6IFsnc3Z0JywncHJtJywnb3RyJywndHJlJywnY3RyJywncGt0Jywnc3N0J10sCgkJZGF5TmFtZXNNaW46IFsnU3YnLCdQcicsJ090JywnVHInLCdDdCcsJ1BrJywnU3MnXSwKCQl3ZWVrSGVhZGVyOiAnTmF2JywKCQlkYXRlRm9ybWF0OiAnZGQtbW0teXknLAoJCWZpcnN0RGF5OiAxLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2x2J10pOwp9KTsvKiBNYWxheWFsYW0gKFVURi04KSBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgU2FqaSBOZWRpeWFuY2hhdGggKHNhamk4OUBnbWFpbC5jb20pLiAqLwpqUXVlcnkoZnVuY3Rpb24oJCl7CgkkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ21sJ10gPSB7CgkJY2xvc2VUZXh0OiAn4LS24LSw4LS/JywKCQlwcmV2VGV4dDogJ+C0ruC1geC0qOC1jeC0qOC0pOC1jeC0pOC1hicsICAKCQluZXh0VGV4dDogJ+C0heC0n+C1geC0pOC1jeC0pOC0pOC1jSAnLAoJCWN1cnJlbnRUZXh0OiAn4LSH4LSo4LWN4LSo4LWNJywKCQltb250aE5hbWVzOiBbJ+C0nOC0qOC1geC0teC0sOC0vycsJ+C0q+C1huC0rOC1jeC0sOC1geC0teC0sOC0vycsJ+C0ruC0vuC0sOC1jeKAjeC0muC1jeC0muC1jScsJ+C0j+C0quC1jeC0sOC0v+C0suC1jeKAjScsJ+C0ruC1h+C0r+C1jScsJ+C0nOC1guC0o+C1jeKAjScsCgkJJ+C0nOC1guC0suC1iCcsJ+C0huC0l+C0uOC1jeC0seC1jeC0seC1jScsJ+C0uOC1huC0quC1jeC0seC1jeC0seC0guC0rOC0sOC1jeKAjScsJ+C0kuC0leC1jeC0n+C1i+C0rOC0sOC1jeKAjScsJ+C0qOC0teC0guC0rOC0sOC1jeKAjScsJ+C0oeC0v+C0uOC0guC0rOC0sOC1jeKAjSddLAoJCW1vbnRoTmFtZXNTaG9ydDogWyfgtJzgtKjgtYEnLCAn4LSr4LWG4LSs4LWNJywgJ+C0ruC0vuC0sOC1jeKAjScsICfgtI/gtKrgtY3gtLDgtL8nLCAn4LSu4LWH4LSv4LWNJywgJ+C0nOC1guC0o+C1jeKAjScsCgkJJ+C0nOC1guC0suC0vicsICfgtIbgtJcnLCAn4LS44LWG4LSq4LWNJywgJ+C0kuC0leC1jeC0n+C1iycsICfgtKjgtLXgtIInLCAn4LSh4LS/4LS4J10sCgkJZGF5TmFtZXM6IFsn4LSe4LS+4LSv4LSw4LWN4oCNJywgJ+C0pOC0v+C0meC1jeC0leC0s+C1jeKAjScsICfgtJrgtYrgtLXgtY3gtLUnLCAn4LSs4LWB4LSn4LSo4LWN4oCNJywgJ+C0teC1jeC0r+C0vuC0tOC0gicsICfgtLXgtYbgtLPgtY3gtLPgtL8nLCAn4LS24LSo4LS/J10sCgkJZGF5TmFtZXNTaG9ydDogWyfgtJ7gtL7gtK8nLCAn4LSk4LS/4LSZ4LWN4LSVJywgJ+C0muC1iuC0teC1jeC0tScsICfgtKzgtYHgtKcnLCAn4LS14LWN4LSv4LS+4LS04LSCJywgJ+C0teC1huC0s+C1jeC0s+C0vycsICfgtLbgtKjgtL8nXSwKCQlkYXlOYW1lc01pbjogWyfgtJ7gtL4nLCfgtKTgtL8nLCfgtJrgtYonLCfgtKzgtYEnLCfgtLXgtY3gtK/gtL4nLCfgtLXgtYYnLCfgtLYnXSwKCQl3ZWVrSGVhZGVyOiAn4LSGJywKCQlkYXRlRm9ybWF0OiAnZGQvbW0veXknLAoJCWZpcnN0RGF5OiAxLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ21sJ10pOwp9KTsKLyogTWFsYXlzaWFuIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBNb2hkIE5hd2F3aSBNb2hhbWFkIEphbWlsaSAobmF3YXdpQHJvbmdnZW5nLm5ldCkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnbXMnXSA9IHsKCQljbG9zZVRleHQ6ICdUdXR1cCcsCgkJcHJldlRleHQ6ICcmI3gzYztTZWJlbHVtJywKCQluZXh0VGV4dDogJ1NlbGVwYXMmI3gzZTsnLAoJCWN1cnJlbnRUZXh0OiAnaGFyaSBpbmknLAoJCW1vbnRoTmFtZXM6IFsnSmFudWFyaScsJ0ZlYnJ1YXJpJywnTWFjJywnQXByaWwnLCdNZWknLCdKdW4nLAoJCSdKdWxhaScsJ09nb3MnLCdTZXB0ZW1iZXInLCdPa3RvYmVyJywnTm92ZW1iZXInLCdEaXNlbWJlciddLAoJCW1vbnRoTmFtZXNTaG9ydDogWydKYW4nLCdGZWInLCdNYWMnLCdBcHInLCdNZWknLCdKdW4nLAoJCSdKdWwnLCdPZ28nLCdTZXAnLCdPa3QnLCdOb3YnLCdEaXMnXSwKCQlkYXlOYW1lczogWydBaGFkJywnSXNuaW4nLCdTZWxhc2EnLCdSYWJ1JywnS2hhbWlzJywnSnVtYWF0JywnU2FidHUnXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ0FoYScsJ0lzbicsJ1NlbCcsJ1JhYicsJ2toYScsJ0p1bScsJ1NhYiddLAoJCWRheU5hbWVzTWluOiBbJ0FoJywnSXMnLCdTZScsJ1JhJywnS2gnLCdKdScsJ1NhJ10sCgkJd2Vla0hlYWRlcjogJ01nJywKCQlkYXRlRm9ybWF0OiAnZGQvbW0veXknLAoJCWZpcnN0RGF5OiAwLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ21zJ10pOwp9KTsvKiBEdXRjaCAoVVRGLTgpIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBNYXRoaWFzIEJ5bmVucyA8aHR0cDovL21hdGhpYXNieW5lbnMuYmUvPiAqLwpqUXVlcnkoZnVuY3Rpb24oJCl7CgkkLmRhdGVwaWNrZXIucmVnaW9uYWwubmwgPSB7CgkJY2xvc2VUZXh0OiAnU2x1aXRlbicsCgkJcHJldlRleHQ6ICfihpAnLAoJCW5leHRUZXh0OiAn4oaSJywKCQljdXJyZW50VGV4dDogJ1ZhbmRhYWcnLAoJCW1vbnRoTmFtZXM6IFsnamFudWFyaScsICdmZWJydWFyaScsICdtYWFydCcsICdhcHJpbCcsICdtZWknLCAnanVuaScsCgkJJ2p1bGknLCAnYXVndXN0dXMnLCAnc2VwdGVtYmVyJywgJ29rdG9iZXInLCAnbm92ZW1iZXInLCAnZGVjZW1iZXInXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnamFuJywgJ2ZlYicsICdtYWEnLCAnYXByJywgJ21laScsICdqdW4nLAoJCSdqdWwnLCAnYXVnJywgJ3NlcCcsICdva3QnLCAnbm92JywgJ2RlYyddLAoJCWRheU5hbWVzOiBbJ3pvbmRhZycsICdtYWFuZGFnJywgJ2RpbnNkYWcnLCAnd29lbnNkYWcnLCAnZG9uZGVyZGFnJywgJ3ZyaWpkYWcnLCAnemF0ZXJkYWcnXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ3pvbicsICdtYWEnLCAnZGluJywgJ3dvZScsICdkb24nLCAndnJpJywgJ3phdCddLAoJCWRheU5hbWVzTWluOiBbJ3pvJywgJ21hJywgJ2RpJywgJ3dvJywgJ2RvJywgJ3ZyJywgJ3phJ10sCgkJd2Vla0hlYWRlcjogJ1drJywKCQlkYXRlRm9ybWF0OiAnZGQtbW0teXknLAoJCWZpcnN0RGF5OiAxLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWwubmwpOwp9KTsvKiBOb3J3ZWdpYW4gaW5pdGlhbGlzYXRpb24gZm9yIHRoZSBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAqLwovKiBXcml0dGVuIGJ5IE5haW1kam9uIFRha2hpcm92IChuYWltZGpvbkBnbWFpbC5jb20pLiAqLwoKalF1ZXJ5KGZ1bmN0aW9uKCQpewogICQuZGF0ZXBpY2tlci5yZWdpb25hbFsnbm8nXSA9IHsKICAgIGNsb3NlVGV4dDogJ0x1a2snLAogICAgcHJldlRleHQ6ICcmbGFxdW87Rm9ycmlnZScsCiAgICBuZXh0VGV4dDogJ05lc3RlJnJhcXVvOycsCiAgICBjdXJyZW50VGV4dDogJ0kgZGFnJywKICAgIG1vbnRoTmFtZXM6IFsnamFudWFyJywnZmVicnVhcicsJ21hcnMnLCdhcHJpbCcsJ21haScsJ2p1bmknLCdqdWxpJywnYXVndXN0Jywnc2VwdGVtYmVyJywnb2t0b2JlcicsJ25vdmVtYmVyJywnZGVzZW1iZXInXSwKICAgIG1vbnRoTmFtZXNTaG9ydDogWydqYW4nLCdmZWInLCdtYXInLCdhcHInLCdtYWknLCdqdW4nLCdqdWwnLCdhdWcnLCdzZXAnLCdva3QnLCdub3YnLCdkZXMnXSwKICAgIGRheU5hbWVzU2hvcnQ6IFsnc8O4bicsJ21hbicsJ3RpcicsJ29ucycsJ3RvcicsJ2ZyZScsJ2zDuHInXSwKICAgIGRheU5hbWVzOiBbJ3PDuG5kYWcnLCdtYW5kYWcnLCd0aXJzZGFnJywnb25zZGFnJywndG9yc2RhZycsJ2ZyZWRhZycsJ2zDuHJkYWcnXSwKICAgIGRheU5hbWVzTWluOiBbJ3PDuCcsJ21hJywndGknLCdvbicsJ3RvJywnZnInLCdsw7gnXSwKICAgIHdlZWtIZWFkZXI6ICdVa2UnLAogICAgZGF0ZUZvcm1hdDogJ2RkLm1tLnl5JywKICAgIGZpcnN0RGF5OiAxLAogICAgaXNSVEw6IGZhbHNlLAogICAgc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKICAgIHllYXJTdWZmaXg6ICcnCiAgfTsKICAkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydubyddKTsKfSk7Ci8qIFBvbGlzaCBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgSmFjZWsgV3lzb2NraSAoamFjZWsud3lzb2NraUBnbWFpbC5jb20pLiAqLwpqUXVlcnkoZnVuY3Rpb24oJCl7CgkkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ3BsJ10gPSB7CgkJY2xvc2VUZXh0OiAnWmFta25paicsCgkJcHJldlRleHQ6ICcmI3gzYztQb3ByemVkbmknLAoJCW5leHRUZXh0OiAnTmFzdMSZcG55JiN4M2U7JywKCQljdXJyZW50VGV4dDogJ0R6acWbJywKCQltb250aE5hbWVzOiBbJ1N0eWN6ZcWEJywnTHV0eScsJ01hcnplYycsJ0t3aWVjaWXFhCcsJ01haicsJ0N6ZXJ3aWVjJywKCQknTGlwaWVjJywnU2llcnBpZcWEJywnV3J6ZXNpZcWEJywnUGHFumR6aWVybmlrJywnTGlzdG9wYWQnLCdHcnVkemllxYQnXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnU3R5JywnTHUnLCdNYXInLCdLdycsJ01haicsJ0N6ZScsCgkJJ0xpcCcsJ1NpZScsJ1dyeicsJ1BhJywnTGlzJywnR3J1J10sCgkJZGF5TmFtZXM6IFsnTmllZHppZWxhJywnUG9uaWVkemlhxYJlaycsJ1d0b3JlaycsJ8Wacm9kYScsJ0N6d2FydGVrJywnUGnEhXRlaycsJ1NvYm90YSddLAoJCWRheU5hbWVzU2hvcnQ6IFsnTmllJywnUG4nLCdXdCcsJ8WacicsJ0N6dycsJ1B0JywnU28nXSwKCQlkYXlOYW1lc01pbjogWydOJywnUG4nLCdXdCcsJ8WacicsJ0N6JywnUHQnLCdTbyddLAoJCXdlZWtIZWFkZXI6ICdUeWR6JywKCQlkYXRlRm9ybWF0OiAnZGQubW0ueXknLAoJCWZpcnN0RGF5OiAxLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ3BsJ10pOwp9KTsKLyogQnJhemlsaWFuIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBMZW9uaWxkbyBDb3N0YSBTaWx2YSAobGVvY3NpbHZhQGdtYWlsLmNvbSkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsncHQtQlInXSA9IHsKCQljbG9zZVRleHQ6ICdGZWNoYXInLAoJCXByZXZUZXh0OiAnJiN4M2M7QW50ZXJpb3InLAoJCW5leHRUZXh0OiAnUHImb2FjdXRlO3hpbW8mI3gzZTsnLAoJCWN1cnJlbnRUZXh0OiAnSG9qZScsCgkJbW9udGhOYW1lczogWydKYW5laXJvJywnRmV2ZXJlaXJvJywnTWFyJmNjZWRpbDtvJywnQWJyaWwnLCdNYWlvJywnSnVuaG8nLAoJCSdKdWxobycsJ0Fnb3N0bycsJ1NldGVtYnJvJywnT3V0dWJybycsJ05vdmVtYnJvJywnRGV6ZW1icm8nXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnSmFuJywnRmV2JywnTWFyJywnQWJyJywnTWFpJywnSnVuJywKCQknSnVsJywnQWdvJywnU2V0JywnT3V0JywnTm92JywnRGV6J10sCgkJZGF5TmFtZXM6IFsnRG9taW5nbycsJ1NlZ3VuZGEtZmVpcmEnLCdUZXImY2NlZGlsO2EtZmVpcmEnLCdRdWFydGEtZmVpcmEnLCdRdWludGEtZmVpcmEnLCdTZXh0YS1mZWlyYScsJ1MmYWFjdXRlO2JhZG8nXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ0RvbScsJ1NlZycsJ1RlcicsJ1F1YScsJ1F1aScsJ1NleCcsJ1MmYWFjdXRlO2InXSwKCQlkYXlOYW1lc01pbjogWydEb20nLCdTZWcnLCdUZXInLCdRdWEnLCdRdWknLCdTZXgnLCdTJmFhY3V0ZTtiJ10sCgkJd2Vla0hlYWRlcjogJ1NtJywKCQlkYXRlRm9ybWF0OiAnZGQvbW0veXknLAoJCWZpcnN0RGF5OiAwLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ3B0LUJSJ10pOwp9KTsvKiBQb3J0dWd1ZXNlIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KalF1ZXJ5KGZ1bmN0aW9uKCQpewoJJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydwdCddID0gewoJCWNsb3NlVGV4dDogJ0ZlY2hhcicsCgkJcHJldlRleHQ6ICcmI3gzYztBbnRlcmlvcicsCgkJbmV4dFRleHQ6ICdTZWd1aW50ZScsCgkJY3VycmVudFRleHQ6ICdIb2plJywKCQltb250aE5hbWVzOiBbJ0phbmVpcm8nLCdGZXZlcmVpcm8nLCdNYXImY2NlZGlsO28nLCdBYnJpbCcsJ01haW8nLCdKdW5obycsCgkJJ0p1bGhvJywnQWdvc3RvJywnU2V0ZW1icm8nLCdPdXR1YnJvJywnTm92ZW1icm8nLCdEZXplbWJybyddLAoJCW1vbnRoTmFtZXNTaG9ydDogWydKYW4nLCdGZXYnLCdNYXInLCdBYnInLCdNYWknLCdKdW4nLAoJCSdKdWwnLCdBZ28nLCdTZXQnLCdPdXQnLCdOb3YnLCdEZXonXSwKCQlkYXlOYW1lczogWydEb21pbmdvJywnU2VndW5kYS1mZWlyYScsJ1RlciZjY2VkaWw7YS1mZWlyYScsJ1F1YXJ0YS1mZWlyYScsJ1F1aW50YS1mZWlyYScsJ1NleHRhLWZlaXJhJywnUyZhYWN1dGU7YmFkbyddLAoJCWRheU5hbWVzU2hvcnQ6IFsnRG9tJywnU2VnJywnVGVyJywnUXVhJywnUXVpJywnU2V4JywnUyZhYWN1dGU7YiddLAoJCWRheU5hbWVzTWluOiBbJ0RvbScsJ1NlZycsJ1RlcicsJ1F1YScsJ1F1aScsJ1NleCcsJ1MmYWFjdXRlO2InXSwKCQl3ZWVrSGVhZGVyOiAnU2VtJywKCQlkYXRlRm9ybWF0OiAnZGQvbW0veXknLAoJCWZpcnN0RGF5OiAwLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ3B0J10pOwp9KTsvKiBSb21hbnNoIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBZdm9ubmUgR2llbmFsICh5dm9ubmUuZ2llbmFsQGVkdWNhLmNoKS4gKi8KalF1ZXJ5KGZ1bmN0aW9uKCQpewoJJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydybSddID0gewoJCWNsb3NlVGV4dDogJ1NlcnJhcicsCgkJcHJldlRleHQ6ICcmI3gzYztTdWFuZGFudCcsCgkJbmV4dFRleHQ6ICdQcmVjZWRlbnQmI3gzZTsnLAoJCWN1cnJlbnRUZXh0OiAnQWN0dWFsJywKCQltb250aE5hbWVzOiBbJ1NjaGFuZXInLCdGYXZyZXInLCdNYXJzJywnQXZyaWdsJywnTWF0ZycsJ1plcmNsYWR1cicsICdGYW5hZHVyJywnQXZ1c3QnLCdTZXR0ZW1iZXInLCdPY3RvYmVyJywnTm92ZW1iZXInLCdEZWNlbWJlciddLAoJCW1vbnRoTmFtZXNTaG9ydDogWydTY2hhJywnRmV2JywnTWFyJywnQXZyJywnTWF0ZycsJ1plcicsICdGYW4nLCdBdnUnLCdTZXR0JywnT2N0JywnTm92JywnRGVjJ10sCgkJZGF5TmFtZXM6IFsnRHVtZW5naWEnLCdHbGluZGVzZGknLCdNYXJkaScsJ01lc2VtbmEnLCdHaWV2Z2lhJywnVmVuZGVyZGknLCdTb25kYSddLAoJCWRheU5hbWVzU2hvcnQ6IFsnRHVtJywnR2xpJywnTWFyJywnTWVzJywnR2llJywnVmVuJywnU29tJ10sCgkJZGF5TmFtZXNNaW46IFsnRHUnLCdHbCcsJ01hJywnTWUnLCdHaScsJ1ZlJywnU28nXSwKCQl3ZWVrSGVhZGVyOiAnZW1uYScsCgkJZGF0ZUZvcm1hdDogJ2RkL21tL3l5JywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydybSddKTsKfSk7Ci8qIFJvbWFuaWFuIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4KICoKICogV3JpdHRlbiBieSBFZG1vbmQgTC4gKGxsX2VkbW9uZEB3YWxsYS5jb20pCiAqIGFuZCBJb251dCBHLiBTdGFuIChpb251dC5nLnN0YW5AZ21haWwuY29tKQogKi8KalF1ZXJ5KGZ1bmN0aW9uKCQpewoJJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydybyddID0gewoJCWNsb3NlVGV4dDogJ8OObmNoaWRlJywKCQlwcmV2VGV4dDogJyZsYXF1bzsgTHVuYSBwcmVjZWRlbnTEgycsCgkJbmV4dFRleHQ6ICdMdW5hIHVybcSDdG9hcmUgJnJhcXVvOycsCgkJY3VycmVudFRleHQ6ICdBemknLAoJCW1vbnRoTmFtZXM6IFsnSWFudWFyaWUnLCdGZWJydWFyaWUnLCdNYXJ0aWUnLCdBcHJpbGllJywnTWFpJywnSXVuaWUnLAoJCSdJdWxpZScsJ0F1Z3VzdCcsJ1NlcHRlbWJyaWUnLCdPY3RvbWJyaWUnLCdOb2llbWJyaWUnLCdEZWNlbWJyaWUnXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnSWFuJywgJ0ZlYicsICdNYXInLCAnQXByJywgJ01haScsICdJdW4nLAoJCSdJdWwnLCAnQXVnJywgJ1NlcCcsICdPY3QnLCAnTm92JywgJ0RlYyddLAoJCWRheU5hbWVzOiBbJ0R1bWluaWPEgycsICdMdW5pJywgJ01hcsWjaScsICdNaWVyY3VyaScsICdKb2knLCAnVmluZXJpJywgJ1PDom1ixIN0xIMnXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ0R1bScsICdMdW4nLCAnTWFyJywgJ01pZScsICdKb2knLCAnVmluJywgJ1PDom0nXSwKCQlkYXlOYW1lc01pbjogWydEdScsJ0x1JywnTWEnLCdNaScsJ0pvJywnVmknLCdTw6InXSwKCQl3ZWVrSGVhZGVyOiAnU8SDcHQnLAoJCWRhdGVGb3JtYXQ6ICdkZC5tbS55eScsCgkJZmlyc3REYXk6IDEsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsncm8nXSk7Cn0pOwovKiBSdXNzaWFuIChVVEYtOCkgaW5pdGlhbGlzYXRpb24gZm9yIHRoZSBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAqLwovKiBXcml0dGVuIGJ5IEFuZHJldyBTdHJvbW5vdiAoc3Ryb21ub3ZAZ21haWwuY29tKS4gKi8KalF1ZXJ5KGZ1bmN0aW9uKCQpewoJJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydydSddID0gewoJCWNsb3NlVGV4dDogJ9CX0LDQutGA0YvRgtGMJywKCQlwcmV2VGV4dDogJyYjeDNjO9Cf0YDQtdC0JywKCQluZXh0VGV4dDogJ9Ch0LvQtdC0JiN4M2U7JywKCQljdXJyZW50VGV4dDogJ9Ch0LXQs9C+0LTQvdGPJywKCQltb250aE5hbWVzOiBbJ9Cv0L3QstCw0YDRjCcsJ9Ck0LXQstGA0LDQu9GMJywn0JzQsNGA0YInLCfQkNC/0YDQtdC70YwnLCfQnNCw0LknLCfQmNGO0L3RjCcsCgkJJ9CY0Y7Qu9GMJywn0JDQstCz0YPRgdGCJywn0KHQtdC90YLRj9Cx0YDRjCcsJ9Ce0LrRgtGP0LHRgNGMJywn0J3QvtGP0LHRgNGMJywn0JTQtdC60LDQsdGA0YwnXSwKCQltb250aE5hbWVzU2hvcnQ6IFsn0K/QvdCyJywn0KTQtdCyJywn0JzQsNGAJywn0JDQv9GAJywn0JzQsNC5Jywn0JjRjtC9JywKCQkn0JjRjtC7Jywn0JDQstCzJywn0KHQtdC9Jywn0J7QutGCJywn0J3QvtGPJywn0JTQtdC6J10sCgkJZGF5TmFtZXM6IFsn0LLQvtGB0LrRgNC10YHQtdC90YzQtScsJ9C/0L7QvdC10LTQtdC70YzQvdC40LonLCfQstGC0L7RgNC90LjQuicsJ9GB0YDQtdC00LAnLCfRh9C10YLQstC10YDQsycsJ9C/0Y/RgtC90LjRhtCwJywn0YHRg9Cx0LHQvtGC0LAnXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ9Cy0YHQuicsJ9C/0L3QtCcsJ9Cy0YLRgCcsJ9GB0YDQtCcsJ9GH0YLQsicsJ9C/0YLQvScsJ9GB0LHRgiddLAoJCWRheU5hbWVzTWluOiBbJ9CS0YEnLCfQn9C9Jywn0JLRgicsJ9Ch0YAnLCfQp9GCJywn0J/RgicsJ9Ch0LEnXSwKCQl3ZWVrSGVhZGVyOiAn0J3QtdC0JywKCQlkYXRlRm9ybWF0OiAnZGQubW0ueXknLAoJCWZpcnN0RGF5OiAxLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ3J1J10pOwp9KTsvKiBTbG92YWsgaW5pdGlhbGlzYXRpb24gZm9yIHRoZSBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAqLwovKiBXcml0dGVuIGJ5IFZvanRlY2ggUmluaWsgKHZvanRvQGhtbS5zaykuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnc2snXSA9IHsKCQljbG9zZVRleHQ6ICdaYXZyaWXFpScsCgkJcHJldlRleHQ6ICcmI3gzYztQcmVkY2jDoWR6YWrDumNpJywKCQluZXh0VGV4dDogJ05hc2xlZHVqw7pjaSYjeDNlOycsCgkJY3VycmVudFRleHQ6ICdEbmVzJywKCQltb250aE5hbWVzOiBbJ0phbnXDoXInLCdGZWJydcOhcicsJ01hcmVjJywnQXByw61sJywnTcOhaicsJ0rDum4nLAoJCSdKw7psJywnQXVndXN0JywnU2VwdGVtYmVyJywnT2t0w7NiZXInLCdOb3ZlbWJlcicsJ0RlY2VtYmVyJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ0phbicsJ0ZlYicsJ01hcicsJ0FwcicsJ03DoWonLCdKw7puJywKCQknSsO6bCcsJ0F1ZycsJ1NlcCcsJ09rdCcsJ05vdicsJ0RlYyddLAoJCWRheU5hbWVzOiBbJ05lZGXEvmEnLCdQb25kZWxvaycsJ1V0b3JvaycsJ1N0cmVkYScsJ8WgdHZydG9rJywnUGlhdG9rJywnU29ib3RhJ10sCgkJZGF5TmFtZXNTaG9ydDogWydOZWQnLCdQb24nLCdVdG8nLCdTdHInLCfFoHR2JywnUGlhJywnU29iJ10sCgkJZGF5TmFtZXNNaW46IFsnTmUnLCdQbycsJ1V0JywnU3QnLCfFoHQnLCdQaWEnLCdTbyddLAoJCXdlZWtIZWFkZXI6ICdUeScsCgkJZGF0ZUZvcm1hdDogJ2RkLm1tLnl5JywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydzayddKTsKfSk7Ci8qIFNsb3ZlbmlhbiBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgSmFrYSBKYW5jYXIgKGpha2FAa3ViamUub3JnKS4gKi8KLyogYyA9ICYjeDEwRDssIHMgPSAmI3gxNjE7IHogPSAmI3gxN0U7IEMgPSAmI3gxMEM7IFMgPSAmI3gxNjA7IFogPSAmI3gxN0Q7ICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnc2wnXSA9IHsKCQljbG9zZVRleHQ6ICdaYXByaScsCgkJcHJldlRleHQ6ICcmbHQ7UHJlaiYjeDE2MTtuamknLAoJCW5leHRUZXh0OiAnTmFzbGVkbmppJmd0OycsCgkJY3VycmVudFRleHQ6ICdUcmVudXRuaScsCgkJbW9udGhOYW1lczogWydKYW51YXInLCdGZWJydWFyJywnTWFyZWMnLCdBcHJpbCcsJ01haicsJ0p1bmlqJywKCQknSnVsaWonLCdBdmd1c3QnLCdTZXB0ZW1iZXInLCdPa3RvYmVyJywnTm92ZW1iZXInLCdEZWNlbWJlciddLAoJCW1vbnRoTmFtZXNTaG9ydDogWydKYW4nLCdGZWInLCdNYXInLCdBcHInLCdNYWonLCdKdW4nLAoJCSdKdWwnLCdBdmcnLCdTZXAnLCdPa3QnLCdOb3YnLCdEZWMnXSwKCQlkYXlOYW1lczogWydOZWRlbGphJywnUG9uZWRlbGplaycsJ1RvcmVrJywnU3JlZGEnLCcmI3gxMEM7ZXRydGVrJywnUGV0ZWsnLCdTb2JvdGEnXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ05lZCcsJ1BvbicsJ1RvcicsJ1NyZScsJyYjeDEwQztldCcsJ1BldCcsJ1NvYiddLAoJCWRheU5hbWVzTWluOiBbJ05lJywnUG8nLCdUbycsJ1NyJywnJiN4MTBDO2UnLCdQZScsJ1NvJ10sCgkJd2Vla0hlYWRlcjogJ1RlZGVuJywKCQlkYXRlRm9ybWF0OiAnZGQubW0ueXknLAoJCWZpcnN0RGF5OiAxLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ3NsJ10pOwp9KTsKLyogQWxiYW5pYW4gaW5pdGlhbGlzYXRpb24gZm9yIHRoZSBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAqLwovKiBXcml0dGVuIGJ5IEZsYWtyb24gQnl0eXFpIChmbGFrcm9uQGdtYWlsLmNvbSkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnc3EnXSA9IHsKCQljbG9zZVRleHQ6ICdtYnlsbGUnLAoJCXByZXZUZXh0OiAnJiN4M2M7bWJyYXBhJywKCQluZXh0VGV4dDogJ1DDq3JwYXJhJiN4M2U7JywKCQljdXJyZW50VGV4dDogJ3NvdCcsCgkJbW9udGhOYW1lczogWydKYW5hcicsJ1Noa3VydCcsJ01hcnMnLCdQcmlsbCcsJ01haicsJ1FlcnNob3InLAoJCSdLb3JyaWsnLCdHdXNodCcsJ1NodGF0b3InLCdUZXRvcicsJ07Dq250b3InLCdEaGpldG9yJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ0phbicsJ1NoaycsJ01hcicsJ1ByaScsJ01haicsJ1FlcicsCgkJJ0tvcicsJ0d1cycsJ1NodCcsJ1RldCcsJ07Dq24nLCdEaGonXSwKCQlkYXlOYW1lczogWydFIERpZWwnLCdFIEjDq27DqycsJ0UgTWFydMOrJywnRSBNw6tya3Vyw6snLCdFIEVuanRlJywnRSBQcmVtdGUnLCdFIFNodHVuZSddLAoJCWRheU5hbWVzU2hvcnQ6IFsnRGknLCdIw6snLCdNYScsJ03DqycsJ0VuJywnUHInLCdTaCddLAoJCWRheU5hbWVzTWluOiBbJ0RpJywnSMOrJywnTWEnLCdNw6snLCdFbicsJ1ByJywnU2gnXSwKCQl3ZWVrSGVhZGVyOiAnSmEnLAoJCWRhdGVGb3JtYXQ6ICdkZC5tbS55eScsCgkJZmlyc3REYXk6IDEsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnc3EnXSk7Cn0pOwovKiBTZXJiaWFuIGkxOG4gZm9yIHRoZSBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAqLwovKiBXcml0dGVuIGJ5IERlamFuIERpbWnEhy4gKi8KalF1ZXJ5KGZ1bmN0aW9uKCQpewoJJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydzci1TUiddID0gewoJCWNsb3NlVGV4dDogJ1phdHZvcmknLAoJCXByZXZUZXh0OiAnJiN4M2M7JywKCQluZXh0VGV4dDogJyYjeDNlOycsCgkJY3VycmVudFRleHQ6ICdEYW5hcycsCgkJbW9udGhOYW1lczogWydKYW51YXInLCdGZWJydWFyJywnTWFydCcsJ0FwcmlsJywnTWFqJywnSnVuJywKCQknSnVsJywnQXZndXN0JywnU2VwdGVtYmFyJywnT2t0b2JhcicsJ05vdmVtYmFyJywnRGVjZW1iYXInXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnSmFuJywnRmViJywnTWFyJywnQXByJywnTWFqJywnSnVuJywKCQknSnVsJywnQXZnJywnU2VwJywnT2t0JywnTm92JywnRGVjJ10sCgkJZGF5TmFtZXM6IFsnTmVkZWxqYScsJ1BvbmVkZWxqYWsnLCdVdG9yYWsnLCdTcmVkYScsJ8SMZXR2cnRhaycsJ1BldGFrJywnU3Vib3RhJ10sCgkJZGF5TmFtZXNTaG9ydDogWydOZWQnLCdQb24nLCdVdG8nLCdTcmUnLCfEjGV0JywnUGV0JywnU3ViJ10sCgkJZGF5TmFtZXNNaW46IFsnTmUnLCdQbycsJ1V0JywnU3InLCfEjGUnLCdQZScsJ1N1J10sCgkJd2Vla0hlYWRlcjogJ1NlZCcsCgkJZGF0ZUZvcm1hdDogJ2RkL21tL3l5JywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydzci1TUiddKTsKfSk7Ci8qIFNlcmJpYW4gaTE4biBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgRGVqYW4gRGltacSHLiAqLwpqUXVlcnkoZnVuY3Rpb24oJCl7CgkkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ3NyJ10gPSB7CgkJY2xvc2VUZXh0OiAn0JfQsNGC0LLQvtGA0LgnLAoJCXByZXZUZXh0OiAnJiN4M2M7JywKCQluZXh0VGV4dDogJyYjeDNlOycsCgkJY3VycmVudFRleHQ6ICfQlNCw0L3QsNGBJywKCQltb250aE5hbWVzOiBbJ9CI0LDQvdGD0LDRgCcsJ9Ck0LXQsdGA0YPQsNGAJywn0JzQsNGA0YInLCfQkNC/0YDQuNC7Jywn0JzQsNGYJywn0IjRg9C9JywKCQkn0IjRg9C7Jywn0JDQstCz0YPRgdGCJywn0KHQtdC/0YLQtdC80LHQsNGAJywn0J7QutGC0L7QsdCw0YAnLCfQndC+0LLQtdC80LHQsNGAJywn0JTQtdGG0LXQvNCx0LDRgCddLAoJCW1vbnRoTmFtZXNTaG9ydDogWyfQiNCw0L0nLCfQpNC10LEnLCfQnNCw0YAnLCfQkNC/0YAnLCfQnNCw0ZgnLCfQiNGD0L0nLAoJCSfQiNGD0LsnLCfQkNCy0LMnLCfQodC10L8nLCfQntC60YInLCfQndC+0LInLCfQlNC10YYnXSwKCQlkYXlOYW1lczogWyfQndC10LTQtdGZ0LAnLCfQn9C+0L3QtdC00LXRmdCw0LonLCfQo9GC0L7RgNCw0LonLCfQodGA0LXQtNCwJywn0KfQtdGC0LLRgNGC0LDQuicsJ9Cf0LXRgtCw0LonLCfQodGD0LHQvtGC0LAnXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ9Cd0LXQtCcsJ9Cf0L7QvScsJ9Cj0YLQvicsJ9Ch0YDQtScsJ9Cn0LXRgicsJ9Cf0LXRgicsJ9Ch0YPQsSddLAoJCWRheU5hbWVzTWluOiBbJ9Cd0LUnLCfQn9C+Jywn0KPRgicsJ9Ch0YAnLCfQp9C1Jywn0J/QtScsJ9Ch0YMnXSwKCQl3ZWVrSGVhZGVyOiAn0KHQtdC0JywKCQlkYXRlRm9ybWF0OiAnZGQvbW0veXknLAoJCWZpcnN0RGF5OiAxLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ3NyJ10pOwp9KTsKLyogU3dlZGlzaCBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgQW5kZXJzIEVrZGFobCAoIGFuZGVyc0Bub21hZGl6LnNlKS4gKi8KalF1ZXJ5KGZ1bmN0aW9uKCQpewogICAgJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydzdiddID0gewoJCWNsb3NlVGV4dDogJ1N0w6RuZycsCiAgICAgICAgcHJldlRleHQ6ICcmbGFxdW87RsO2cnJhJywKCQluZXh0VGV4dDogJ07DpHN0YSZyYXF1bzsnLAoJCWN1cnJlbnRUZXh0OiAnSWRhZycsCiAgICAgICAgbW9udGhOYW1lczogWydKYW51YXJpJywnRmVicnVhcmknLCdNYXJzJywnQXByaWwnLCdNYWonLCdKdW5pJywKICAgICAgICAnSnVsaScsJ0F1Z3VzdGknLCdTZXB0ZW1iZXInLCdPa3RvYmVyJywnTm92ZW1iZXInLCdEZWNlbWJlciddLAogICAgICAgIG1vbnRoTmFtZXNTaG9ydDogWydKYW4nLCdGZWInLCdNYXInLCdBcHInLCdNYWonLCdKdW4nLAogICAgICAgICdKdWwnLCdBdWcnLCdTZXAnLCdPa3QnLCdOb3YnLCdEZWMnXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ1PDtm4nLCdNw6VuJywnVGlzJywnT25zJywnVG9yJywnRnJlJywnTMO2ciddLAoJCWRheU5hbWVzOiBbJ1PDtm5kYWcnLCdNw6VuZGFnJywnVGlzZGFnJywnT25zZGFnJywnVG9yc2RhZycsJ0ZyZWRhZycsJ0zDtnJkYWcnXSwKCQlkYXlOYW1lc01pbjogWydTw7YnLCdNw6UnLCdUaScsJ09uJywnVG8nLCdGcicsJ0zDtiddLAoJCXdlZWtIZWFkZXI6ICdWZScsCiAgICAgICAgZGF0ZUZvcm1hdDogJ3l5LW1tLWRkJywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CiAgICAkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydzdiddKTsKfSk7Ci8qIFRhbWlsIChVVEYtOCkgaW5pdGlhbGlzYXRpb24gZm9yIHRoZSBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAqLwovKiBXcml0dGVuIGJ5IFMgQSBTdXJlc2hrdW1hciAoc2Fza3VtYXJAbGl2ZS5jb20pLiAqLwpqUXVlcnkoZnVuY3Rpb24oJCl7CgkkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ3RhJ10gPSB7CgkJY2xvc2VUZXh0OiAn4K6u4K+C4K6f4K+BJywKCQlwcmV2VGV4dDogJ+CuruCvgeCuqeCvjeCuqeCviOCur+CupOCvgScsCgkJbmV4dFRleHQ6ICfgroXgrp/gr4HgrqTgr43grqTgrqTgr4EnLAoJCWN1cnJlbnRUZXh0OiAn4K6H4K6p4K+N4K6x4K+BJywKCQltb250aE5hbWVzOiBbJ+CupOCviCcsJ+CuruCuvuCumuCuvycsJ+CuquCumeCvjeCuleCvgeCuqeCuvycsJ+CumuCuv+CupOCvjeCupOCuv+CusOCviCcsJ+CuteCviOCuleCuvuCumuCuvycsJ+CuhuCuqeCuvycsCgkJJ+CuhuCun+CuvycsJ+CuhuCuteCuo+CuvycsJ+CuquCvgeCusOCun+CvjeCun+CuvuCumuCuvycsJ+CukOCuquCvjeCuquCumuCuvycsJ+CuleCuvuCusOCvjeCupOCvjeCupOCuv+CuleCviCcsJ+CuruCuvuCusOCvjeCuleCutOCuvyddLAoJCW1vbnRoTmFtZXNTaG9ydDogWyfgrqTgr4gnLCfgrq7grr7grprgrr8nLCfgrqrgrpngr40nLCfgrprgrr/grqTgr40nLCfgrrXgr4jgrpXgrr4nLCfgrobgrqngrr8nLAoJCSfgrobgrp/grr8nLCfgrobgrrUnLCfgrqrgr4HgrrAnLCfgrpDgrqrgr40nLCfgrpXgrr7grrDgr40nLCfgrq7grr7grrDgr40nXSwKCQlkYXlOYW1lczogWyfgrp7grr7grq/grr/grrHgr43grrHgr4HgrpXgr43grpXgrr/grrTgrq7gr4gnLCfgrqTgrr/grpngr43grpXgrp/gr43grpXgrr/grrTgrq7gr4gnLCfgrprgr4bgrrXgr43grrXgrr7grq/gr43grpXgr43grpXgrr/grrTgrq7gr4gnLCfgrqrgr4HgrqTgrqngr43grpXgrr/grrTgrq7gr4gnLCfgrrXgrr/grq/grr7grrTgrpXgr43grpXgrr/grrTgrq7gr4gnLCfgrrXgr4bgrrPgr43grrPgrr/grpXgr43grpXgrr/grrTgrq7gr4gnLCfgrprgrqngrr/grpXgr43grpXgrr/grrTgrq7gr4gnXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ+CunuCuvuCur+Cuv+CuseCvgScsJ+CupOCuv+CumeCvjeCuleCus+CvjScsJ+CumuCvhuCuteCvjeCuteCuvuCur+CvjScsJ+CuquCvgeCupOCuqeCvjScsJ+CuteCuv+Cur+CuvuCutOCuqeCvjScsJ+CuteCvhuCus+CvjeCus+CuvycsJ+CumuCuqeCuvyddLAoJCWRheU5hbWVzTWluOiBbJ+CunuCuvicsJ+CupOCuvycsJ+CumuCvhicsJ+CuquCvgScsJ+CuteCuvycsJ+CuteCvhicsJ+CumiddLAoJCXdlZWtIZWFkZXI6ICfQndC1JywKCQlkYXRlRm9ybWF0OiAnZGQvbW0veXknLAoJCWZpcnN0RGF5OiAxLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ3RhJ10pOwp9KTsKLyogVGhhaSBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgcGlwbyAocGlwb0BzaXhoZWFkLmNvbSkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsndGgnXSA9IHsKCQljbG9zZVRleHQ6ICfguJvguLTguJQnLAoJCXByZXZUZXh0OiAnJmxhcXVvOyZuYnNwO+C4ouC5ieC4reC4mScsCgkJbmV4dFRleHQ6ICfguJbguLHguJTguYTguJsmbmJzcDsmcmFxdW87JywKCQljdXJyZW50VGV4dDogJ+C4p+C4seC4meC4meC4teC5iScsCgkJbW9udGhOYW1lczogWyfguKHguIHguKPguLLguITguKEnLCfguIHguLjguKHguKDguLLguJ7guLHguJnguJjguYwnLCfguKHguLXguJnguLLguITguKEnLCfguYDguKHguKnguLLguKLguJknLCfguJ7guKTguKnguKDguLLguITguKEnLCfguKHguLTguJbguLjguJnguLLguKLguJknLAoJCSfguIHguKPguIHguI7guLLguITguKEnLCfguKrguLTguIfguKvguLLguITguKEnLCfguIHguLHguJnguKLguLLguKLguJknLCfguJXguLjguKXguLLguITguKEnLCfguJ7guKTguKjguIjguLTguIHguLLguKLguJknLCfguJjguLHguJnguKfguLLguITguKEnXSwKCQltb250aE5hbWVzU2hvcnQ6IFsn4LihLuC4hC4nLCfguIEu4LieLicsJ+C4oeC4tS7guIQuJywn4LmA4LihLuC4oi4nLCfguJ4u4LiELicsJ+C4oeC4tC7guKIuJywKCQkn4LiBLuC4hC4nLCfguKou4LiELicsJ+C4gS7guKIuJywn4LiVLuC4hC4nLCfguJ4u4LiiLicsJ+C4mC7guIQuJ10sCgkJZGF5TmFtZXM6IFsn4Lit4Liy4LiX4Li04LiV4Lii4LmMJywn4LiI4Lix4LiZ4LiX4Lij4LmMJywn4Lit4Lix4LiH4LiE4Liy4LijJywn4Lie4Li44LiYJywn4Lie4Lik4Lir4Lix4Liq4Lia4LiU4Li1Jywn4Lio4Li44LiB4Lij4LmMJywn4LmA4Liq4Liy4Lij4LmMJ10sCgkJZGF5TmFtZXNTaG9ydDogWyfguK3guLIuJywn4LiILicsJ+C4rS4nLCfguJ4uJywn4Lie4LikLicsJ+C4qC4nLCfguKouJ10sCgkJZGF5TmFtZXNNaW46IFsn4Lit4LiyLicsJ+C4iC4nLCfguK0uJywn4LieLicsJ+C4nuC4pC4nLCfguKguJywn4LiqLiddLAoJCXdlZWtIZWFkZXI6ICdXaycsCgkJZGF0ZUZvcm1hdDogJ2RkL21tL3l5JywKCQlmaXJzdERheTogMCwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWyd0aCddKTsKfSk7LyogVGFqaWtpIChVVEYtOCkgaW5pdGlhbGlzYXRpb24gZm9yIHRoZSBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAqLwovKiBXcml0dGVuIGJ5IEFiZHVyYWhtb24gU2FpZG92IChzYWlkb3ZhYkBnbWFpbC5jb20pLiAqLwpqUXVlcnkoZnVuY3Rpb24oJCl7CgkkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ3RqJ10gPSB7CgkJY2xvc2VUZXh0OiAn0JjQtNC+0LzQsCcsCgkJcHJldlRleHQ6ICcmI3gzYzvSmtCw0YTQvicsCgkJbmV4dFRleHQ6ICfQn9C10YgmI3gzZTsnLAoJCWN1cnJlbnRUZXh0OiAn0JjQvNGA06/QtycsCgkJbW9udGhOYW1lczogWyfQr9C90LLQsNGAJywn0KTQtdCy0YDQsNC7Jywn0JzQsNGA0YInLCfQkNC/0YDQtdC7Jywn0JzQsNC5Jywn0JjRjtC9JywKCQkn0JjRjtC7Jywn0JDQstCz0YPRgdGCJywn0KHQtdC90YLRj9Cx0YAnLCfQntC60YLRj9Cx0YAnLCfQndC+0Y/QsdGAJywn0JTQtdC60LDQsdGAJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ9Cv0L3QsicsJ9Ck0LXQsicsJ9Cc0LDRgCcsJ9CQ0L/RgCcsJ9Cc0LDQuScsJ9CY0Y7QvScsCgkJJ9CY0Y7QuycsJ9CQ0LLQsycsJ9Ch0LXQvScsJ9Ce0LrRgicsJ9Cd0L7RjycsJ9CU0LXQuiddLAoJCWRheU5hbWVzOiBbJ9GP0LrRiNCw0L3QsdC1Jywn0LTRg9GI0LDQvdCx0LUnLCfRgdC10YjQsNC90LHQtScsJ9GH0L7RgNGI0LDQvdCx0LUnLCfQv9Cw0L3St9GI0LDQvdCx0LUnLCfSt9GD0LzRitCwJywn0YjQsNC90LHQtSddLAoJCWRheU5hbWVzU2hvcnQ6IFsn0Y/QutGIJywn0LTRg9GIJywn0YHQtdGIJywn0YfQvtGAJywn0L/QsNC9Jywn0rfRg9C8Jywn0YjQsNC9J10sCgkJZGF5TmFtZXNNaW46IFsn0K/QuicsJ9CU0YgnLCfQodGIJywn0KfRiCcsJ9Cf0YgnLCfSttC8Jywn0KjQvSddLAoJCXdlZWtIZWFkZXI6ICfQpdGEJywKCQlkYXRlRm9ybWF0OiAnZGQubW0ueXknLAoJCWZpcnN0RGF5OiAxLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ3RqJ10pOwp9KTsvKiBUdXJraXNoIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBJenpldCBFbXJlIEVya2FuIChrYXJhQGthcmFsYW1hbGFyLm5ldCkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsndHInXSA9IHsKCQljbG9zZVRleHQ6ICdrYXBhdCcsCgkJcHJldlRleHQ6ICcmI3gzYztnZXJpJywKCQluZXh0VGV4dDogJ2lsZXJpJiN4M2UnLAoJCWN1cnJlbnRUZXh0OiAnYnVnw7xuJywKCQltb250aE5hbWVzOiBbJ09jYWsnLCfFnnViYXQnLCdNYXJ0JywnTmlzYW4nLCdNYXnEsXMnLCdIYXppcmFuJywKCQknVGVtbXV6JywnQcSfdXN0b3MnLCdFeWzDvGwnLCdFa2ltJywnS2FzxLFtJywnQXJhbMSxayddLAoJCW1vbnRoTmFtZXNTaG9ydDogWydPY2EnLCfFnnViJywnTWFyJywnTmlzJywnTWF5JywnSGF6JywKCQknVGVtJywnQcSfdScsJ0V5bCcsJ0VraScsJ0thcycsJ0FyYSddLAoJCWRheU5hbWVzOiBbJ1BhemFyJywnUGF6YXJ0ZXNpJywnU2FsxLEnLCfDh2FyxZ9hbWJhJywnUGVyxZ9lbWJlJywnQ3VtYScsJ0N1bWFydGVzaSddLAoJCWRheU5hbWVzU2hvcnQ6IFsnUHonLCdQdCcsJ1NhJywnw4dhJywnUGUnLCdDdScsJ0N0J10sCgkJZGF5TmFtZXNNaW46IFsnUHonLCdQdCcsJ1NhJywnw4dhJywnUGUnLCdDdScsJ0N0J10sCgkJd2Vla0hlYWRlcjogJ0hmJywKCQlkYXRlRm9ybWF0OiAnZGQubW0ueXknLAoJCWZpcnN0RGF5OiAxLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ3RyJ10pOwp9KTsvKiBVa3JhaW5pYW4gKFVURi04KSBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgTWF4aW0gRHJvZ29iaXRza2l5IChtYXhkYW9AZ21haWwuY29tKS4gKi8KalF1ZXJ5KGZ1bmN0aW9uKCQpewoJJC5kYXRlcGlja2VyLnJlZ2lvbmFsWyd1ayddID0gewoJCWNsb3NlVGV4dDogJ9CX0LDQutGA0LjRgtC4JywKCQlwcmV2VGV4dDogJyYjeDNjOycsCgkJbmV4dFRleHQ6ICcmI3gzZTsnLAoJCWN1cnJlbnRUZXh0OiAn0KHRjNC+0LPQvtC00L3RlicsCgkJbW9udGhOYW1lczogWyfQodGW0YfQtdC90YwnLCfQm9GO0YLQuNC5Jywn0JHQtdGA0LXQt9C10L3RjCcsJ9Ca0LLRltGC0LXQvdGMJywn0KLRgNCw0LLQtdC90YwnLCfQp9C10YDQstC10L3RjCcsCgkJJ9Cb0LjQv9C10L3RjCcsJ9Ch0LXRgNC/0LXQvdGMJywn0JLQtdGA0LXRgdC10L3RjCcsJ9CW0L7QstGC0LXQvdGMJywn0JvQuNGB0YLQvtC/0LDQtCcsJ9CT0YDRg9C00LXQvdGMJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ9Ch0ZbRhycsJ9Cb0Y7RgicsJ9CR0LXRgCcsJ9Ca0LLRlicsJ9Ci0YDQsCcsJ9Cn0LXRgCcsCgkJJ9Cb0LjQvycsJ9Ch0LXRgCcsJ9CS0LXRgCcsJ9CW0L7QsicsJ9Cb0LjRgScsJ9CT0YDRgyddLAoJCWRheU5hbWVzOiBbJ9C90LXQtNGW0LvRjycsJ9C/0L7QvdC10LTRltC70L7QuicsJ9Cy0ZbQstGC0L7RgNC+0LonLCfRgdC10YDQtdC00LAnLCfRh9C10YLQstC10YAnLCfQv+KAmdGP0YLQvdC40YbRjycsJ9GB0YPQsdC+0YLQsCddLAoJCWRheU5hbWVzU2hvcnQ6IFsn0L3QtdC0Jywn0L/QvdC0Jywn0LLRltCyJywn0YHRgNC0Jywn0YfRgtCyJywn0L/RgtC9Jywn0YHQsdGCJ10sCgkJZGF5TmFtZXNNaW46IFsn0J3QtCcsJ9Cf0L0nLCfQktGCJywn0KHRgCcsJ9Cn0YInLCfQn9GCJywn0KHQsSddLAoJCXdlZWtIZWFkZXI6ICfQndC1JywKCQlkYXRlRm9ybWF0OiAnZGQvbW0veXknLAoJCWZpcnN0RGF5OiAxLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ3VrJ10pOwp9KTsvKiBWaWV0bmFtZXNlIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogVHJhbnNsYXRlZCBieSBMZSBUaGFuaCBIdXkgKGx0aGFuaGh1eUBjaXQuY3R1LmVkdS52bikuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsndmknXSA9IHsKCQljbG9zZVRleHQ6ICfEkMOzbmcnLAoJCXByZXZUZXh0OiAnJiN4M2M7VHLGsOG7m2MnLAoJCW5leHRUZXh0OiAnVGnhur9wJiN4M2U7JywKCQljdXJyZW50VGV4dDogJ0jDtG0gbmF5JywKCQltb250aE5hbWVzOiBbJ1Row6FuZyBN4buZdCcsICdUaMOhbmcgSGFpJywgJ1Row6FuZyBCYScsICdUaMOhbmcgVMawJywgJ1Row6FuZyBOxINtJywgJ1Row6FuZyBTw6F1JywKCQknVGjDoW5nIELhuqN5JywgJ1Row6FuZyBUw6FtJywgJ1Row6FuZyBDaMOtbicsICdUaMOhbmcgTcaw4budaScsICdUaMOhbmcgTcaw4budaSBN4buZdCcsICdUaMOhbmcgTcaw4budaSBIYWknXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnVGjDoW5nIDEnLCAnVGjDoW5nIDInLCAnVGjDoW5nIDMnLCAnVGjDoW5nIDQnLCAnVGjDoW5nIDUnLCAnVGjDoW5nIDYnLAoJCSdUaMOhbmcgNycsICdUaMOhbmcgOCcsICdUaMOhbmcgOScsICdUaMOhbmcgMTAnLCAnVGjDoW5nIDExJywgJ1Row6FuZyAxMiddLAoJCWRheU5hbWVzOiBbJ0No4bunIE5o4bqtdCcsICdUaOG7qSBIYWknLCAnVGjhu6kgQmEnLCAnVGjhu6kgVMawJywgJ1Ro4bupIE7Eg20nLCAnVGjhu6kgU8OhdScsICdUaOG7qSBC4bqjeSddLAoJCWRheU5hbWVzU2hvcnQ6IFsnQ04nLCAnVDInLCAnVDMnLCAnVDQnLCAnVDUnLCAnVDYnLCAnVDcnXSwKCQlkYXlOYW1lc01pbjogWydDTicsICdUMicsICdUMycsICdUNCcsICdUNScsICdUNicsICdUNyddLAoJCXdlZWtIZWFkZXI6ICdUdScsCgkJZGF0ZUZvcm1hdDogJ2RkL21tL3l5JywKCQlmaXJzdERheTogMCwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWyd2aSddKTsKfSk7Ci8qIENoaW5lc2UgaW5pdGlhbGlzYXRpb24gZm9yIHRoZSBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAqLwovKiBXcml0dGVuIGJ5IENsb3VkcmVhbSAoY2xvdWRyZWFtQGdtYWlsLmNvbSkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnemgtQ04nXSA9IHsKCQljbG9zZVRleHQ6ICflhbPpl60nLAoJCXByZXZUZXh0OiAnJiN4M2M75LiK5pyIJywKCQluZXh0VGV4dDogJ+S4i+aciCYjeDNlOycsCgkJY3VycmVudFRleHQ6ICfku4rlpKknLAoJCW1vbnRoTmFtZXM6IFsn5LiA5pyIJywn5LqM5pyIJywn5LiJ5pyIJywn5Zub5pyIJywn5LqU5pyIJywn5YWt5pyIJywKCQkn5LiD5pyIJywn5YWr5pyIJywn5Lmd5pyIJywn5Y2B5pyIJywn5Y2B5LiA5pyIJywn5Y2B5LqM5pyIJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ+S4gCcsJ+S6jCcsJ+S4iScsJ+WbmycsJ+S6lCcsJ+WFrScsCgkJJ+S4gycsJ+WFqycsJ+S5nScsJ+WNgScsJ+WNgeS4gCcsJ+WNgeS6jCddLAoJCWRheU5hbWVzOiBbJ+aYn+acn+aXpScsJ+aYn+acn+S4gCcsJ+aYn+acn+S6jCcsJ+aYn+acn+S4iScsJ+aYn+acn+WbmycsJ+aYn+acn+S6lCcsJ+aYn+acn+WFrSddLAoJCWRheU5hbWVzU2hvcnQ6IFsn5ZGo5pelJywn5ZGo5LiAJywn5ZGo5LqMJywn5ZGo5LiJJywn5ZGo5ZubJywn5ZGo5LqUJywn5ZGo5YWtJ10sCgkJZGF5TmFtZXNNaW46IFsn5pelJywn5LiAJywn5LqMJywn5LiJJywn5ZubJywn5LqUJywn5YWtJ10sCgkJd2Vla0hlYWRlcjogJ+WRqCcsCgkJZGF0ZUZvcm1hdDogJ3l5LW1tLWRkJywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiB0cnVlLAoJCXllYXJTdWZmaXg6ICflubQnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ3poLUNOJ10pOwp9KTsKLyogQ2hpbmVzZSBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgU0NDWSAoc2FtdWVsY3ljaGFuQGdtYWlsLmNvbSkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnemgtSEsnXSA9IHsKCQljbG9zZVRleHQ6ICfpl5zploknLAoJCXByZXZUZXh0OiAnJiN4M2M75LiK5pyIJywKCQluZXh0VGV4dDogJ+S4i+aciCYjeDNlOycsCgkJY3VycmVudFRleHQ6ICfku4rlpKknLAoJCW1vbnRoTmFtZXM6IFsn5LiA5pyIJywn5LqM5pyIJywn5LiJ5pyIJywn5Zub5pyIJywn5LqU5pyIJywn5YWt5pyIJywKCQkn5LiD5pyIJywn5YWr5pyIJywn5Lmd5pyIJywn5Y2B5pyIJywn5Y2B5LiA5pyIJywn5Y2B5LqM5pyIJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ+S4gCcsJ+S6jCcsJ+S4iScsJ+WbmycsJ+S6lCcsJ+WFrScsCgkJJ+S4gycsJ+WFqycsJ+S5nScsJ+WNgScsJ+WNgeS4gCcsJ+WNgeS6jCddLAoJCWRheU5hbWVzOiBbJ+aYn+acn+aXpScsJ+aYn+acn+S4gCcsJ+aYn+acn+S6jCcsJ+aYn+acn+S4iScsJ+aYn+acn+WbmycsJ+aYn+acn+S6lCcsJ+aYn+acn+WFrSddLAoJCWRheU5hbWVzU2hvcnQ6IFsn5ZGo5pelJywn5ZGo5LiAJywn5ZGo5LqMJywn5ZGo5LiJJywn5ZGo5ZubJywn5ZGo5LqUJywn5ZGo5YWtJ10sCgkJZGF5TmFtZXNNaW46IFsn5pelJywn5LiAJywn5LqMJywn5LiJJywn5ZubJywn5LqUJywn5YWtJ10sCgkJd2Vla0hlYWRlcjogJ+WRqCcsCgkJZGF0ZUZvcm1hdDogJ2RkLW1tLXl5JywKCQlmaXJzdERheTogMCwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiB0cnVlLAoJCXllYXJTdWZmaXg6ICflubQnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ3poLUhLJ10pOwp9KTsKLyogQ2hpbmVzZSBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgUmVzc29sIChyZXNzb2xAZ21haWwuY29tKS4gKi8KalF1ZXJ5KGZ1bmN0aW9uKCQpewoJJC5kYXRlcGlja2VyLnJlZ2lvbmFsWyd6aC1UVyddID0gewoJCWNsb3NlVGV4dDogJ+mXnOmWiScsCgkJcHJldlRleHQ6ICcmI3gzYzvkuIrmnIgnLAoJCW5leHRUZXh0OiAn5LiL5pyIJiN4M2U7JywKCQljdXJyZW50VGV4dDogJ+S7iuWkqScsCgkJbW9udGhOYW1lczogWyfkuIDmnIgnLCfkuozmnIgnLCfkuInmnIgnLCflm5vmnIgnLCfkupTmnIgnLCflha3mnIgnLAoJCSfkuIPmnIgnLCflhavmnIgnLCfkuZ3mnIgnLCfljYHmnIgnLCfljYHkuIDmnIgnLCfljYHkuozmnIgnXSwKCQltb250aE5hbWVzU2hvcnQ6IFsn5LiAJywn5LqMJywn5LiJJywn5ZubJywn5LqUJywn5YWtJywKCQkn5LiDJywn5YWrJywn5LmdJywn5Y2BJywn5Y2B5LiAJywn5Y2B5LqMJ10sCgkJZGF5TmFtZXM6IFsn5pif5pyf5pelJywn5pif5pyf5LiAJywn5pif5pyf5LqMJywn5pif5pyf5LiJJywn5pif5pyf5ZubJywn5pif5pyf5LqUJywn5pif5pyf5YWtJ10sCgkJZGF5TmFtZXNTaG9ydDogWyflkajml6UnLCflkajkuIAnLCflkajkuownLCflkajkuIknLCflkajlm5snLCflkajkupQnLCflkajlha0nXSwKCQlkYXlOYW1lc01pbjogWyfml6UnLCfkuIAnLCfkuownLCfkuIknLCflm5snLCfkupQnLCflha0nXSwKCQl3ZWVrSGVhZGVyOiAn5ZGoJywKCQlkYXRlRm9ybWF0OiAneXkvbW0vZGQnLAoJCWZpcnN0RGF5OiAxLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IHRydWUsCgkJeWVhclN1ZmZpeDogJ+W5tCd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnemgtVFcnXSk7Cn0pOwo=]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-af.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogQWZyaWthYW5zIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBSZW5pZXIgUHJldG9yaXVzLiAqLwpqUXVlcnkoZnVuY3Rpb24oJCl7CgkkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2FmJ10gPSB7CgkJY2xvc2VUZXh0OiAnU2VsZWt0ZWVyJywKCQlwcmV2VGV4dDogJ1ZvcmlnZScsCgkJbmV4dFRleHQ6ICdWb2xnZW5kZScsCgkJY3VycmVudFRleHQ6ICdWYW5kYWcnLAoJCW1vbnRoTmFtZXM6IFsnSmFudWFyaWUnLCdGZWJydWFyaWUnLCdNYWFydCcsJ0FwcmlsJywnTWVpJywnSnVuaWUnLAoJCSdKdWxpZScsJ0F1Z3VzdHVzJywnU2VwdGVtYmVyJywnT2t0b2JlcicsJ05vdmVtYmVyJywnRGVzZW1iZXInXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnSmFuJywgJ0ZlYicsICdNcnQnLCAnQXByJywgJ01laScsICdKdW4nLAoJCSdKdWwnLCAnQXVnJywgJ1NlcCcsICdPa3QnLCAnTm92JywgJ0RlcyddLAoJCWRheU5hbWVzOiBbJ1NvbmRhZycsICdNYWFuZGFnJywgJ0RpbnNkYWcnLCAnV29lbnNkYWcnLCAnRG9uZGVyZGFnJywgJ1ZyeWRhZycsICdTYXRlcmRhZyddLAoJCWRheU5hbWVzU2hvcnQ6IFsnU29uJywgJ01hYScsICdEaW4nLCAnV29lJywgJ0RvbicsICdWcnknLCAnU2F0J10sCgkJZGF5TmFtZXNNaW46IFsnU28nLCdNYScsJ0RpJywnV28nLCdEbycsJ1ZyJywnU2EnXSwKCQl3ZWVrSGVhZGVyOiAnV2snLAoJCWRhdGVGb3JtYXQ6ICdkZC9tbS95eScsCgkJZmlyc3REYXk6IDEsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnYWYnXSk7Cn0pOwo=]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-ar-DZ.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogQWxnZXJpYW4gQXJhYmljIFRyYW5zbGF0aW9uIGZvciBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAoY2FuIGJlIHVzZWQgZm9yIFR1bmlzaWEpKi8KLyogTW9oYW1lZCBDaGVyaWYgQk9VQ0hFTEFHSEVNIC0tIGNoZXJpZmJvdWNoZWxhZ2hlbUB5YWhvby5mciAqLwoKalF1ZXJ5KGZ1bmN0aW9uKCQpewoJJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydhci1EWiddID0gewoJCWNsb3NlVGV4dDogJ9il2LrZhNin2YInLAoJCXByZXZUZXh0OiAnJiN4M2M72KfZhNiz2KfYqNmCJywKCQluZXh0VGV4dDogJ9in2YTYqtin2YTZiiYjeDNlOycsCgkJY3VycmVudFRleHQ6ICfYp9mE2YrZiNmFJywKCQltb250aE5hbWVzOiBbJ9is2KfZhtmB2YonLCAn2YHZitmB2LHZiicsICfZhdin2LHYsycsICfYo9mB2LHZitmEJywgJ9mF2KfZiicsICfYrNmI2KfZhicsCgkJJ9is2YjZitmE2YrYqScsICfYo9mI2KonLCAn2LPYqNiq2YXYqNixJywn2KPZg9iq2YjYqNixJywgJ9mG2YjZgdmF2KjYsScsICfYr9mK2LPZhdio2LEnXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnMScsICcyJywgJzMnLCAnNCcsICc1JywgJzYnLCAnNycsICc4JywgJzknLCAnMTAnLCAnMTEnLCAnMTInXSwKCQlkYXlOYW1lczogWyfYp9mE2KPYrdivJywgJ9in2YTYp9ir2YbZitmGJywgJ9in2YTYq9mE2KfYq9in2KEnLCAn2KfZhNij2LHYqNi52KfYoScsICfYp9mE2K7ZhdmK2LMnLCAn2KfZhNis2YXYudipJywgJ9in2YTYs9io2KonXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ9in2YTYo9it2K8nLCAn2KfZhNin2KvZhtmK2YYnLCAn2KfZhNir2YTYp9ir2KfYoScsICfYp9mE2KPYsdio2LnYp9ihJywgJ9in2YTYrtmF2YrYsycsICfYp9mE2KzZhdi52KknLCAn2KfZhNiz2KjYqiddLAoJCWRheU5hbWVzTWluOiBbJ9in2YTYo9it2K8nLCAn2KfZhNin2KvZhtmK2YYnLCAn2KfZhNir2YTYp9ir2KfYoScsICfYp9mE2KPYsdio2LnYp9ihJywgJ9in2YTYrtmF2YrYsycsICfYp9mE2KzZhdi52KknLCAn2KfZhNiz2KjYqiddLAoJCXdlZWtIZWFkZXI6ICfYo9iz2KjZiNi5JywKCQlkYXRlRm9ybWF0OiAnZGQvbW0veXknLAoJCWZpcnN0RGF5OiA2LAogIAkJaXNSVEw6IHRydWUsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydhci1EWiddKTsKfSk7Cg==]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-ar.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogQXJhYmljIFRyYW5zbGF0aW9uIGZvciBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAqLwovKiBLaGFsZWQgQWxob3VyYW5pIC0tIG1lQGtoYWxlZGFsaG91cmFuaS5jb20gKi8KLyogTk9URTogbW9udGhOYW1lcyBhcmUgdGhlIG9yaWdpbmFsIG1vbnRocyBuYW1lcyBhbmQgdGhleSBhcmUgdGhlIEFyYWJpYyBuYW1lcywgbm90IHRoZSBuZXcgbW9udGhzIG5hbWUg2YHYqNix2KfZitixIC0g2YrZhtin2YrYsSBhbmQgdGhlcmUgaXNuJ3QgYW55IEFyYWJpYyByb290cyBmb3IgdGhlc2UgbW9udGhzICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnYXInXSA9IHsKCQljbG9zZVRleHQ6ICfYpdi62YTYp9mCJywKCQlwcmV2VGV4dDogJyYjeDNjO9in2YTYs9in2KjZgicsCgkJbmV4dFRleHQ6ICfYp9mE2KrYp9mE2YomI3gzZTsnLAoJCWN1cnJlbnRUZXh0OiAn2KfZhNmK2YjZhScsCgkJbW9udGhOYW1lczogWyfZg9in2YbZiNmGINin2YTYq9in2YbZiicsICfYtNio2KfYtycsICfYotiw2KfYsScsICfZhtmK2LPYp9mGJywgJ9mF2KfZitmIJywgJ9it2LLZitix2KfZhicsCgkJJ9iq2YXZiNiyJywgJ9ii2KgnLCAn2KPZitmE2YjZhCcsCSfYqti02LHZitmGINin2YTYo9mI2YQnLCAn2KrYtNix2YrZhiDYp9mE2KvYp9mG2YonLCAn2YPYp9mG2YjZhiDYp9mE2KPZiNmEJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJzEnLCAnMicsICczJywgJzQnLCAnNScsICc2JywgJzcnLCAnOCcsICc5JywgJzEwJywgJzExJywgJzEyJ10sCgkJZGF5TmFtZXM6IFsn2KfZhNij2K3YrycsICfYp9mE2KfYq9mG2YrZhicsICfYp9mE2KvZhNin2KvYp9ihJywgJ9in2YTYo9ix2KjYudin2KEnLCAn2KfZhNiu2YXZitizJywgJ9in2YTYrNmF2LnYqScsICfYp9mE2LPYqNiqJ10sCgkJZGF5TmFtZXNTaG9ydDogWyfYp9mE2KPYrdivJywgJ9in2YTYp9ir2YbZitmGJywgJ9in2YTYq9mE2KfYq9in2KEnLCAn2KfZhNij2LHYqNi52KfYoScsICfYp9mE2K7ZhdmK2LMnLCAn2KfZhNis2YXYudipJywgJ9in2YTYs9io2KonXSwKCQlkYXlOYW1lc01pbjogWyfYp9mE2KPYrdivJywgJ9in2YTYp9ir2YbZitmGJywgJ9in2YTYq9mE2KfYq9in2KEnLCAn2KfZhNij2LHYqNi52KfYoScsICfYp9mE2K7ZhdmK2LMnLCAn2KfZhNis2YXYudipJywgJ9in2YTYs9io2KonXSwKCQl3ZWVrSGVhZGVyOiAn2KPYs9io2YjYuScsCgkJZGF0ZUZvcm1hdDogJ2RkL21tL3l5JywKCQlmaXJzdERheTogNiwKICAJCWlzUlRMOiB0cnVlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnYXInXSk7Cn0pOw==]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-az.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogQXplcmJhaWphbmkgKFVURi04KSBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgSmFtaWwgTmFqYWZvdiAobmVjZWZvdjMzQGdtYWlsLmNvbSkuICovCmpRdWVyeShmdW5jdGlvbigkKSB7CgkkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2F6J10gPSB7CgkJY2xvc2VUZXh0OiAnQmHEn2xhJywKCQlwcmV2VGV4dDogJyYjeDNjO0dlcmknLAoJCW5leHRUZXh0OiAnxLByyZlsaSYjeDNlOycsCgkJY3VycmVudFRleHQ6ICdCdWfDvG4nLAoJCW1vbnRoTmFtZXM6IFsnWWFudmFyJywnRmV2cmFsJywnTWFydCcsJ0FwcmVsJywnTWF5JywnxLB5dW4nLAoJCSfEsHl1bCcsJ0F2cXVzdCcsJ1NlbnR5YWJyJywnT2t0eWFicicsJ05veWFicicsJ0Rla2FiciddLAoJCW1vbnRoTmFtZXNTaG9ydDogWydZYW4nLCdGZXYnLCdNYXInLCdBcHInLCdNYXknLCfEsHl1bicsCgkJJ8SweXVsJywnQXZxJywnU2VuJywnT2t0JywnTm95JywnRGVrJ10sCgkJZGF5TmFtZXM6IFsnQmF6YXInLCdCYXphciBlcnTJmXNpJywnw4fJmXLFn8mZbmLJmSBheMWfYW3EsScsJ8OHyZlyxZ/JmW5iyZknLCdDw7xtyZkgYXjFn2FtxLEnLCdDw7xtyZknLCfFnsmZbmLJmSddLAoJCWRheU5hbWVzU2hvcnQ6IFsnQicsJ0JlJywnw4dhJywnw4cnLCdDYScsJ0MnLCfFniddLAoJCWRheU5hbWVzTWluOiBbJ0InLCdCJywnw4cnLCfQoScsJ8OHJywnQycsJ8WeJ10sCgkJd2Vla0hlYWRlcjogJ0hmJywKCQlkYXRlRm9ybWF0OiAnZGQubW0ueXknLAoJCWZpcnN0RGF5OiAxLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2F6J10pOwp9KTs=]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-bg.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogQnVsZ2FyaWFuIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBTdG95YW4gS3lvc2V2IChodHRwOi8vc3Zlc3Qub3JnKS4gKi8KalF1ZXJ5KGZ1bmN0aW9uKCQpewogICAgJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydiZyddID0gewogICAgICAgIGNsb3NlVGV4dDogJ9C30LDRgtCy0L7RgNC4JywKICAgICAgICBwcmV2VGV4dDogJyYjeDNjO9C90LDQt9Cw0LQnLAogICAgICAgIG5leHRUZXh0OiAn0L3QsNC/0YDQtdC0JiN4M2U7JywKCQluZXh0QmlnVGV4dDogJyYjeDNlOyYjeDNlOycsCiAgICAgICAgY3VycmVudFRleHQ6ICfQtNC90LXRgScsCiAgICAgICAgbW9udGhOYW1lczogWyfQr9C90YPQsNGA0LgnLCfQpNC10LLRgNGD0LDRgNC4Jywn0JzQsNGA0YInLCfQkNC/0YDQuNC7Jywn0JzQsNC5Jywn0K7QvdC4JywKICAgICAgICAn0K7Qu9C4Jywn0JDQstCz0YPRgdGCJywn0KHQtdC/0YLQtdC80LLRgNC4Jywn0J7QutGC0L7QvNCy0YDQuCcsJ9Cd0L7QtdC80LLRgNC4Jywn0JTQtdC60LXQvNCy0YDQuCddLAogICAgICAgIG1vbnRoTmFtZXNTaG9ydDogWyfQr9C90YMnLCfQpNC10LInLCfQnNCw0YAnLCfQkNC/0YAnLCfQnNCw0LknLCfQrtC90LgnLAogICAgICAgICfQrtC70LgnLCfQkNCy0LMnLCfQodC10L8nLCfQntC60YInLCfQndC+0LInLCfQlNC10LonXSwKICAgICAgICBkYXlOYW1lczogWyfQndC10LTQtdC70Y8nLCfQn9C+0L3QtdC00LXQu9C90LjQuicsJ9CS0YLQvtGA0L3QuNC6Jywn0KHRgNGP0LTQsCcsJ9Cn0LXRgtCy0YrRgNGC0YrQuicsJ9Cf0LXRgtGK0LonLCfQodGK0LHQvtGC0LAnXSwKICAgICAgICBkYXlOYW1lc1Nob3J0OiBbJ9Cd0LXQtCcsJ9Cf0L7QvScsJ9CS0YLQvicsJ9Ch0YDRjycsJ9Cn0LXRgicsJ9Cf0LXRgicsJ9Ch0YrQsSddLAogICAgICAgIGRheU5hbWVzTWluOiBbJ9Cd0LUnLCfQn9C+Jywn0JLRgicsJ9Ch0YAnLCfQp9C1Jywn0J/QtScsJ9Ch0YonXSwKCQl3ZWVrSGVhZGVyOiAnV2snLAogICAgICAgIGRhdGVGb3JtYXQ6ICdkZC5tbS55eScsCgkJZmlyc3REYXk6IDEsCiAgICAgICAgaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwogICAgJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnYmcnXSk7Cn0pOwo=]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-bs.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogQm9zbmlhbiBpMThuIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBLZW5hbiBLb25qby4gKi8KalF1ZXJ5KGZ1bmN0aW9uKCQpewoJJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydicyddID0gewoJCWNsb3NlVGV4dDogJ1phdHZvcmknLCAKCQlwcmV2VGV4dDogJyYjeDNjOycsIAoJCW5leHRUZXh0OiAnJiN4M2U7JywgCgkJY3VycmVudFRleHQ6ICdEYW5hcycsIAoJCW1vbnRoTmFtZXM6IFsnSmFudWFyJywnRmVicnVhcicsJ01hcnQnLCdBcHJpbCcsJ01haicsJ0p1bmknLAoJCSdKdWxpJywnQXVndXN0JywnU2VwdGVtYmFyJywnT2t0b2JhcicsJ05vdmVtYmFyJywnRGVjZW1iYXInXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnSmFuJywnRmViJywnTWFyJywnQXByJywnTWFqJywnSnVuJywKCQknSnVsJywnQXVnJywnU2VwJywnT2t0JywnTm92JywnRGVjJ10sCgkJZGF5TmFtZXM6IFsnTmVkZWxqYScsJ1BvbmVkZWxqYWsnLCdVdG9yYWsnLCdTcmlqZWRhJywnxIxldHZydGFrJywnUGV0YWsnLCdTdWJvdGEnXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ05lZCcsJ1BvbicsJ1V0bycsJ1NyaScsJ8SMZXQnLCdQZXQnLCdTdWInXSwKCQlkYXlOYW1lc01pbjogWydOZScsJ1BvJywnVXQnLCdTcicsJ8SMZScsJ1BlJywnU3UnXSwKCQl3ZWVrSGVhZGVyOiAnV2snLAoJCWRhdGVGb3JtYXQ6ICdkZC5tbS55eScsCgkJZmlyc3REYXk6IDEsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnYnMnXSk7Cn0pOw==]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-ca.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogSW5pY2lhbGl0emFjacOzIGVuIGNhdGFsw6AgcGVyIGEgbCdleHRlbmNpw7MgJ2NhbGVuZGFyJyBwZXIgalF1ZXJ5LiAqLwovKiBXcml0ZXJzOiAoam9hbi5sZW9uQGdtYWlsLmNvbSkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnY2EnXSA9IHsKCQljbG9zZVRleHQ6ICdUYW5jYXInLAoJCXByZXZUZXh0OiAnJiN4M2M7QW50JywKCQluZXh0VGV4dDogJ1NlZyYjeDNlOycsCgkJY3VycmVudFRleHQ6ICdBdnVpJywKCQltb250aE5hbWVzOiBbJ0dlbmVyJywnRmVicmVyJywnTWFyJmNjZWRpbDsnLCdBYnJpbCcsJ01haWcnLCdKdW55JywKCQknSnVsaW9sJywnQWdvc3QnLCdTZXRlbWJyZScsJ09jdHVicmUnLCdOb3ZlbWJyZScsJ0Rlc2VtYnJlJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ0dlbicsJ0ZlYicsJ01hcicsJ0FicicsJ01haScsJ0p1bicsCgkJJ0p1bCcsJ0FnbycsJ1NldCcsJ09jdCcsJ05vdicsJ0RlcyddLAoJCWRheU5hbWVzOiBbJ0RpdW1lbmdlJywnRGlsbHVucycsJ0RpbWFydHMnLCdEaW1lY3JlcycsJ0Rpam91cycsJ0RpdmVuZHJlcycsJ0Rpc3NhYnRlJ10sCgkJZGF5TmFtZXNTaG9ydDogWydEdWcnLCdEbG4nLCdEbXQnLCdEbWMnLCdEanMnLCdEdm4nLCdEc2InXSwKCQlkYXlOYW1lc01pbjogWydEZycsJ0RsJywnRHQnLCdEYycsJ0RqJywnRHYnLCdEcyddLAoJCXdlZWtIZWFkZXI6ICdTbScsCgkJZGF0ZUZvcm1hdDogJ2RkL21tL3l5JywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydjYSddKTsKfSk7]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-cs.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogQ3plY2ggaW5pdGlhbGlzYXRpb24gZm9yIHRoZSBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAqLwovKiBXcml0dGVuIGJ5IFRvbWFzIE11bGxlciAodG9tYXNAdG9tYXMtbXVsbGVyLm5ldCkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnY3MnXSA9IHsKCQljbG9zZVRleHQ6ICdaYXbFmcOtdCcsCgkJcHJldlRleHQ6ICcmI3gzYztExZnDrXZlJywKCQluZXh0VGV4dDogJ1BvemTEm2ppJiN4M2U7JywKCQljdXJyZW50VGV4dDogJ055bsOtJywKCQltb250aE5hbWVzOiBbJ2xlZGVuJywnw7pub3InLCdixZllemVuJywnZHViZW4nLCdrdsSbdGVuJywnxI1lcnZlbicsCiAgICAgICAgJ8SNZXJ2ZW5lYycsJ3NycGVuJywnesOhxZnDrScsJ8WZw61qZW4nLCdsaXN0b3BhZCcsJ3Byb3NpbmVjJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ2xlZCcsJ8O6bm8nLCdixZllJywnZHViJywna3bEmycsJ8SNZXInLAoJCSfEjXZjJywnc3JwJywnesOhxZknLCfFmcOtaicsJ2xpcycsJ3BybyddLAoJCWRheU5hbWVzOiBbJ25lZMSbbGUnLCAncG9uZMSbbMOtJywgJ8O6dGVyw70nLCAnc3TFmWVkYScsICfEjXR2cnRlaycsICdww6F0ZWsnLCAnc29ib3RhJ10sCgkJZGF5TmFtZXNTaG9ydDogWyduZScsICdwbycsICfDunQnLCAnc3QnLCAnxI10JywgJ3DDoScsICdzbyddLAoJCWRheU5hbWVzTWluOiBbJ25lJywncG8nLCfDunQnLCdzdCcsJ8SNdCcsJ3DDoScsJ3NvJ10sCgkJd2Vla0hlYWRlcjogJ1TDvWQnLAoJCWRhdGVGb3JtYXQ6ICdkZC5tbS55eScsCgkJZmlyc3REYXk6IDEsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnY3MnXSk7Cn0pOwo=]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-da.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogRGFuaXNoIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBKYW4gQ2hyaXN0ZW5zZW4gKCBkZWxldGVzdHVmZkBnbWFpbC5jb20pLiAqLwpqUXVlcnkoZnVuY3Rpb24oJCl7CiAgICAkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2RhJ10gPSB7CgkJY2xvc2VUZXh0OiAnTHVrJywKICAgICAgICBwcmV2VGV4dDogJyYjeDNjO0ZvcnJpZ2UnLAoJCW5leHRUZXh0OiAnTsOmc3RlJiN4M2U7JywKCQljdXJyZW50VGV4dDogJ0lkYWcnLAogICAgICAgIG1vbnRoTmFtZXM6IFsnSmFudWFyJywnRmVicnVhcicsJ01hcnRzJywnQXByaWwnLCdNYWonLCdKdW5pJywKICAgICAgICAnSnVsaScsJ0F1Z3VzdCcsJ1NlcHRlbWJlcicsJ09rdG9iZXInLCdOb3ZlbWJlcicsJ0RlY2VtYmVyJ10sCiAgICAgICAgbW9udGhOYW1lc1Nob3J0OiBbJ0phbicsJ0ZlYicsJ01hcicsJ0FwcicsJ01haicsJ0p1bicsCiAgICAgICAgJ0p1bCcsJ0F1ZycsJ1NlcCcsJ09rdCcsJ05vdicsJ0RlYyddLAoJCWRheU5hbWVzOiBbJ1PDuG5kYWcnLCdNYW5kYWcnLCdUaXJzZGFnJywnT25zZGFnJywnVG9yc2RhZycsJ0ZyZWRhZycsJ0zDuHJkYWcnXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ1PDuG4nLCdNYW4nLCdUaXInLCdPbnMnLCdUb3InLCdGcmUnLCdMw7hyJ10sCgkJZGF5TmFtZXNNaW46IFsnU8O4JywnTWEnLCdUaScsJ09uJywnVG8nLCdGcicsJ0zDuCddLAoJCXdlZWtIZWFkZXI6ICdVZ2UnLAogICAgICAgIGRhdGVGb3JtYXQ6ICdkZC1tbS15eScsCgkJZmlyc3REYXk6IDEsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwogICAgJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZGEnXSk7Cn0pOwo=]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-de.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogR2VybWFuIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBNaWxpYW4gV29sZmYgKG1haWxAbWlsaWFudy5kZSkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZGUnXSA9IHsKCQljbG9zZVRleHQ6ICdzY2hsaWXDn2VuJywKCQlwcmV2VGV4dDogJyYjeDNjO3p1csO8Y2snLAoJCW5leHRUZXh0OiAnVm9yJiN4M2U7JywKCQljdXJyZW50VGV4dDogJ2hldXRlJywKCQltb250aE5hbWVzOiBbJ0phbnVhcicsJ0ZlYnJ1YXInLCdNw6RyeicsJ0FwcmlsJywnTWFpJywnSnVuaScsCgkJJ0p1bGknLCdBdWd1c3QnLCdTZXB0ZW1iZXInLCdPa3RvYmVyJywnTm92ZW1iZXInLCdEZXplbWJlciddLAoJCW1vbnRoTmFtZXNTaG9ydDogWydKYW4nLCdGZWInLCdNw6RyJywnQXByJywnTWFpJywnSnVuJywKCQknSnVsJywnQXVnJywnU2VwJywnT2t0JywnTm92JywnRGV6J10sCgkJZGF5TmFtZXM6IFsnU29ubnRhZycsJ01vbnRhZycsJ0RpZW5zdGFnJywnTWl0dHdvY2gnLCdEb25uZXJzdGFnJywnRnJlaXRhZycsJ1NhbXN0YWcnXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ1NvJywnTW8nLCdEaScsJ01pJywnRG8nLCdGcicsJ1NhJ10sCgkJZGF5TmFtZXNNaW46IFsnU28nLCdNbycsJ0RpJywnTWknLCdEbycsJ0ZyJywnU2EnXSwKCQl3ZWVrSGVhZGVyOiAnV28nLAoJCWRhdGVGb3JtYXQ6ICdkZC5tbS55eScsCgkJZmlyc3REYXk6IDEsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZGUnXSk7Cn0pOwo=]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-el.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogR3JlZWsgKGVsKSBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgQWxleCBDaWNvdmljIChodHRwOi8vd3d3LmFsZXhjaWNvdmljLmNvbSkgKi8KalF1ZXJ5KGZ1bmN0aW9uKCQpewoJJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydlbCddID0gewoJCWNsb3NlVGV4dDogJ86azrvOtc6vz4POuc68zr8nLAoJCXByZXZUZXh0OiAnzqDPgc6/zrfOs86/z43OvM61zr3Ov8+CJywKCQluZXh0VGV4dDogJ86Vz4DPjM68zrXOvc6/z4InLAoJCWN1cnJlbnRUZXh0OiAnzqTPgc6tz4fPic69IM6czq7Ovc6xz4InLAoJCW1vbnRoTmFtZXM6IFsnzpnOsc69zr/Phc6sz4HOuc6/z4InLCfOps61zrLPgc6/z4XOrM+BzrnOv8+CJywnzpzOrM+Bz4TOuc6/z4InLCfOkc+Az4HOr867zrnOv8+CJywnzpzOrM65zr/PgicsJ86Zzr/Pjc69zrnOv8+CJywKCQknzpnOv8+NzrvOuc6/z4InLCfOkc+NzrPOv8+Fz4PPhM6/z4InLCfOo861z4DPhM6tzrzOss+BzrnOv8+CJywnzp/Ous+Ez47Oss+BzrnOv8+CJywnzp3Ov86tzrzOss+BzrnOv8+CJywnzpTOtc66zq3OvM6yz4HOuc6/z4InXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnzpnOsc69JywnzqbOtc6yJywnzpzOsc+BJywnzpHPgM+BJywnzpzOsc65JywnzpnOv8+Fzr0nLAoJCSfOmc6/z4XOuycsJ86Rz4XOsycsJ86jzrXPgCcsJ86fzrrPhCcsJ86dzr/OtScsJ86UzrXOuiddLAoJCWRheU5hbWVzOiBbJ86az4XPgc65zrHOus6uJywnzpTOtc+Fz4TOrc+BzrEnLCfOpM+Bzq/PhM63JywnzqTOtc+EzqzPgc+EzrcnLCfOoM6tzrzPgM+EzrcnLCfOoM6xz4HOsc+DzrrOtc+Fzq4nLCfOo86szrLOss6xz4TOvyddLAoJCWRheU5hbWVzU2hvcnQ6IFsnzprPhc+BJywnzpTOtc+FJywnzqTPgc65JywnzqTOtc+EJywnzqDOtc68JywnzqDOsc+BJywnzqPOsc6yJ10sCgkJZGF5TmFtZXNNaW46IFsnzprPhScsJ86UzrUnLCfOpM+BJywnzqTOtScsJ86gzrUnLCfOoM6xJywnzqPOsSddLAoJCXdlZWtIZWFkZXI6ICfOlc6yzrQnLAoJCWRhdGVGb3JtYXQ6ICdkZC9tbS95eScsCgkJZmlyc3REYXk6IDEsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZWwnXSk7Cn0pOw==]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-en-AU.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogRW5nbGlzaC9BdXN0cmFsaWEgaW5pdGlhbGlzYXRpb24gZm9yIHRoZSBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAqLwovKiBCYXNlZCBvbiB0aGUgZW4tR0IgaW5pdGlhbGlzYXRpb24uICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZW4tQVUnXSA9IHsKCQljbG9zZVRleHQ6ICdEb25lJywKCQlwcmV2VGV4dDogJ1ByZXYnLAoJCW5leHRUZXh0OiAnTmV4dCcsCgkJY3VycmVudFRleHQ6ICdUb2RheScsCgkJbW9udGhOYW1lczogWydKYW51YXJ5JywnRmVicnVhcnknLCdNYXJjaCcsJ0FwcmlsJywnTWF5JywnSnVuZScsCgkJJ0p1bHknLCdBdWd1c3QnLCdTZXB0ZW1iZXInLCdPY3RvYmVyJywnTm92ZW1iZXInLCdEZWNlbWJlciddLAoJCW1vbnRoTmFtZXNTaG9ydDogWydKYW4nLCAnRmViJywgJ01hcicsICdBcHInLCAnTWF5JywgJ0p1bicsCgkJJ0p1bCcsICdBdWcnLCAnU2VwJywgJ09jdCcsICdOb3YnLCAnRGVjJ10sCgkJZGF5TmFtZXM6IFsnU3VuZGF5JywgJ01vbmRheScsICdUdWVzZGF5JywgJ1dlZG5lc2RheScsICdUaHVyc2RheScsICdGcmlkYXknLCAnU2F0dXJkYXknXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ1N1bicsICdNb24nLCAnVHVlJywgJ1dlZCcsICdUaHUnLCAnRnJpJywgJ1NhdCddLAoJCWRheU5hbWVzTWluOiBbJ1N1JywnTW8nLCdUdScsJ1dlJywnVGgnLCdGcicsJ1NhJ10sCgkJd2Vla0hlYWRlcjogJ1drJywKCQlkYXRlRm9ybWF0OiAnZGQvbW0veXknLAoJCWZpcnN0RGF5OiAxLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2VuLUFVJ10pOwp9KTsK]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-en-GB.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogRW5nbGlzaC9VSyBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgU3R1YXJ0LiAqLwpqUXVlcnkoZnVuY3Rpb24oJCl7CgkkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2VuLUdCJ10gPSB7CgkJY2xvc2VUZXh0OiAnRG9uZScsCgkJcHJldlRleHQ6ICdQcmV2JywKCQluZXh0VGV4dDogJ05leHQnLAoJCWN1cnJlbnRUZXh0OiAnVG9kYXknLAoJCW1vbnRoTmFtZXM6IFsnSmFudWFyeScsJ0ZlYnJ1YXJ5JywnTWFyY2gnLCdBcHJpbCcsJ01heScsJ0p1bmUnLAoJCSdKdWx5JywnQXVndXN0JywnU2VwdGVtYmVyJywnT2N0b2JlcicsJ05vdmVtYmVyJywnRGVjZW1iZXInXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnSmFuJywgJ0ZlYicsICdNYXInLCAnQXByJywgJ01heScsICdKdW4nLAoJCSdKdWwnLCAnQXVnJywgJ1NlcCcsICdPY3QnLCAnTm92JywgJ0RlYyddLAoJCWRheU5hbWVzOiBbJ1N1bmRheScsICdNb25kYXknLCAnVHVlc2RheScsICdXZWRuZXNkYXknLCAnVGh1cnNkYXknLCAnRnJpZGF5JywgJ1NhdHVyZGF5J10sCgkJZGF5TmFtZXNTaG9ydDogWydTdW4nLCAnTW9uJywgJ1R1ZScsICdXZWQnLCAnVGh1JywgJ0ZyaScsICdTYXQnXSwKCQlkYXlOYW1lc01pbjogWydTdScsJ01vJywnVHUnLCdXZScsJ1RoJywnRnInLCdTYSddLAoJCXdlZWtIZWFkZXI6ICdXaycsCgkJZGF0ZUZvcm1hdDogJ2RkL21tL3l5JywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydlbi1HQiddKTsKfSk7Cg==]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-en-NZ.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogRW5nbGlzaC9OZXcgWmVhbGFuZCBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIEJhc2VkIG9uIHRoZSBlbi1HQiBpbml0aWFsaXNhdGlvbi4gKi8KalF1ZXJ5KGZ1bmN0aW9uKCQpewoJJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydlbi1OWiddID0gewoJCWNsb3NlVGV4dDogJ0RvbmUnLAoJCXByZXZUZXh0OiAnUHJldicsCgkJbmV4dFRleHQ6ICdOZXh0JywKCQljdXJyZW50VGV4dDogJ1RvZGF5JywKCQltb250aE5hbWVzOiBbJ0phbnVhcnknLCdGZWJydWFyeScsJ01hcmNoJywnQXByaWwnLCdNYXknLCdKdW5lJywKCQknSnVseScsJ0F1Z3VzdCcsJ1NlcHRlbWJlcicsJ09jdG9iZXInLCdOb3ZlbWJlcicsJ0RlY2VtYmVyJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ0phbicsICdGZWInLCAnTWFyJywgJ0FwcicsICdNYXknLCAnSnVuJywKCQknSnVsJywgJ0F1ZycsICdTZXAnLCAnT2N0JywgJ05vdicsICdEZWMnXSwKCQlkYXlOYW1lczogWydTdW5kYXknLCAnTW9uZGF5JywgJ1R1ZXNkYXknLCAnV2VkbmVzZGF5JywgJ1RodXJzZGF5JywgJ0ZyaWRheScsICdTYXR1cmRheSddLAoJCWRheU5hbWVzU2hvcnQ6IFsnU3VuJywgJ01vbicsICdUdWUnLCAnV2VkJywgJ1RodScsICdGcmknLCAnU2F0J10sCgkJZGF5TmFtZXNNaW46IFsnU3UnLCdNbycsJ1R1JywnV2UnLCdUaCcsJ0ZyJywnU2EnXSwKCQl3ZWVrSGVhZGVyOiAnV2snLAoJCWRhdGVGb3JtYXQ6ICdkZC9tbS95eScsCgkJZmlyc3REYXk6IDEsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZW4tTlonXSk7Cn0pOwo=]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-eo.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogRXNwZXJhbnRvIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBPbGl2aWVyIE0uIChvbGl2aWVyd2ViQGlmcmFuY2UuY29tKS4gKi8KalF1ZXJ5KGZ1bmN0aW9uKCQpewoJJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydlbyddID0gewoJCWNsb3NlVGV4dDogJ0Zlcm1pJywKCQlwcmV2VGV4dDogJyZsdDtBbnRhJywKCQluZXh0VGV4dDogJ1Nla3YmZ3Q7JywKCQljdXJyZW50VGV4dDogJ051bmEnLAoJCW1vbnRoTmFtZXM6IFsnSmFudWFybycsJ0ZlYnJ1YXJvJywnTWFydG8nLCdBcHJpbG8nLCdNYWpvJywnSnVuaW8nLAoJCSdKdWxpbycsJ0HFrWd1c3RvJywnU2VwdGVtYnJvJywnT2t0b2JybycsJ05vdmVtYnJvJywnRGVjZW1icm8nXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnSmFuJywnRmViJywnTWFyJywnQXByJywnTWFqJywnSnVuJywKCQknSnVsJywnQcWtZycsJ1NlcCcsJ09rdCcsJ05vdicsJ0RlYyddLAoJCWRheU5hbWVzOiBbJ0RpbWFuxIlvJywnTHVuZG8nLCdNYXJkbycsJ01lcmtyZWRvJywnxLRhxa1kbycsJ1ZlbmRyZWRvJywnU2FiYXRvJ10sCgkJZGF5TmFtZXNTaG9ydDogWydEaW0nLCdMdW4nLCdNYXInLCdNZXInLCfEtGHFrScsJ1ZlbicsJ1NhYiddLAoJCWRheU5hbWVzTWluOiBbJ0RpJywnTHUnLCdNYScsJ01lJywnxLRhJywnVmUnLCdTYSddLAoJCXdlZWtIZWFkZXI6ICdTYicsCgkJZGF0ZUZvcm1hdDogJ2RkL21tL3l5JywKCQlmaXJzdERheTogMCwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydlbyddKTsKfSk7Cg==]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-es.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogSW5pY2lhbGl6YWNpw7NuIGVuIGVzcGHDsW9sIHBhcmEgbGEgZXh0ZW5zacOzbiAnVUkgZGF0ZSBwaWNrZXInIHBhcmEgalF1ZXJ5LiAqLwovKiBUcmFkdWNpZG8gcG9yIFZlc3RlciAoeHZlc3RlckBnbWFpbC5jb20pLiAqLwpqUXVlcnkoZnVuY3Rpb24oJCl7CgkkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2VzJ10gPSB7CgkJY2xvc2VUZXh0OiAnQ2VycmFyJywKCQlwcmV2VGV4dDogJyYjeDNjO0FudCcsCgkJbmV4dFRleHQ6ICdTaWcmI3gzZTsnLAoJCWN1cnJlbnRUZXh0OiAnSG95JywKCQltb250aE5hbWVzOiBbJ0VuZXJvJywnRmVicmVybycsJ01hcnpvJywnQWJyaWwnLCdNYXlvJywnSnVuaW8nLAoJCSdKdWxpbycsJ0Fnb3N0bycsJ1NlcHRpZW1icmUnLCdPY3R1YnJlJywnTm92aWVtYnJlJywnRGljaWVtYnJlJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ0VuZScsJ0ZlYicsJ01hcicsJ0FicicsJ01heScsJ0p1bicsCgkJJ0p1bCcsJ0FnbycsJ1NlcCcsJ09jdCcsJ05vdicsJ0RpYyddLAoJCWRheU5hbWVzOiBbJ0RvbWluZ28nLCdMdW5lcycsJ01hcnRlcycsJ01pJmVhY3V0ZTtyY29sZXMnLCdKdWV2ZXMnLCdWaWVybmVzJywnUyZhYWN1dGU7YmFkbyddLAoJCWRheU5hbWVzU2hvcnQ6IFsnRG9tJywnTHVuJywnTWFyJywnTWkmZWFjdXRlOycsJ0p1dicsJ1ZpZScsJ1MmYWFjdXRlO2InXSwKCQlkYXlOYW1lc01pbjogWydEbycsJ0x1JywnTWEnLCdNaScsJ0p1JywnVmknLCdTJmFhY3V0ZTsnXSwKCQl3ZWVrSGVhZGVyOiAnU20nLAoJCWRhdGVGb3JtYXQ6ICdkZC9tbS95eScsCgkJZmlyc3REYXk6IDEsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZXMnXSk7Cn0pOw==]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-et.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogRXN0b25pYW4gaW5pdGlhbGlzYXRpb24gZm9yIHRoZSBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAqLwovKiBXcml0dGVuIGJ5IE1hcnQgU8O1bWVybWFhIChtcnRzLnB5ZGV2IGF0IGdtYWlsIGNvbSkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZXQnXSA9IHsKCQljbG9zZVRleHQ6ICdTdWxnZScsCgkJcHJldlRleHQ6ICdFZWxuZXYnLAoJCW5leHRUZXh0OiAnSsOkcmduZXYnLAoJCWN1cnJlbnRUZXh0OiAnVMOkbmEnLAoJCW1vbnRoTmFtZXM6IFsnSmFhbnVhcicsJ1ZlZWJydWFyJywnTcOkcnRzJywnQXByaWxsJywnTWFpJywnSnV1bmknLAoJCSdKdXVsaScsJ0F1Z3VzdCcsJ1NlcHRlbWJlcicsJ09rdG9vYmVyJywnTm92ZW1iZXInLCdEZXRzZW1iZXInXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnSmFhbicsICdWZWVicicsICdNw6RydHMnLCAnQXByJywgJ01haScsICdKdXVuaScsCgkJJ0p1dWxpJywgJ0F1ZycsICdTZXB0JywgJ09rdCcsICdOb3YnLCAnRGV0cyddLAoJCWRheU5hbWVzOiBbJ1DDvGhhcMOkZXYnLCAnRXNtYXNww6RldicsICdUZWlzaXDDpGV2JywgJ0tvbG1hcMOkZXYnLCAnTmVsamFww6RldicsICdSZWVkZScsICdMYXVww6RldiddLAoJCWRheU5hbWVzU2hvcnQ6IFsnUMO8aGFwJywgJ0VzbWFzcCcsICdUZWlzaXAnLCAnS29sbWFwJywgJ05lbGphcCcsICdSZWVkZScsICdMYXVwJ10sCgkJZGF5TmFtZXNNaW46IFsnUCcsJ0UnLCdUJywnSycsJ04nLCdSJywnTCddLAoJCXdlZWtIZWFkZXI6ICdTbScsCgkJZGF0ZUZvcm1hdDogJ2RkLm1tLnl5JywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydldCddKTsKfSk7IA==]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-eu.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogRXVza2FyYWtvIG9pbmFycmlhICdVSSBkYXRlIHBpY2tlcicganF1ZXJ5LWtvIGV4dGVudHNpb2FyZW50emF0ICovCi8qIEthcnJpa2FzLWVrIGl0enVsaWEgKGthcnJpa2FzQGthcnJpa2FzLmNvbSkgKi8KalF1ZXJ5KGZ1bmN0aW9uKCQpewoJJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydldSddID0gewoJCWNsb3NlVGV4dDogJ0VnaW5hJywKCQlwcmV2VGV4dDogJyYjeDNjO0F1cicsCgkJbmV4dFRleHQ6ICdIdXImI3gzZTsnLAoJCWN1cnJlbnRUZXh0OiAnR2F1cicsCgkJbW9udGhOYW1lczogWydVcnRhcnJpbGEnLCdPdHNhaWxhJywnTWFydHhvYScsJ0FwaXJpbGEnLCdNYWlhdHphJywnRWthaW5hJywKCQknVXp0YWlsYScsJ0FidXp0dWEnLCdJcmFpbGEnLCdVcnJpYScsJ0F6YXJvYScsJ0FiZW5kdWEnXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnVXJ0JywnT3RzJywnTWFyJywnQXBpJywnTWFpJywnRWthJywKCQknVXp0JywnQWJ1JywnSXJhJywnVXJyJywnQXphJywnQWJlJ10sCgkJZGF5TmFtZXM6IFsnSWdhbmRlYScsJ0FzdGVsZWhlbmEnLCdBc3RlYXJ0ZWEnLCdBc3RlYXprZW5hJywnT3N0ZWd1bmEnLCdPc3RpcmFsYScsJ0xhcnVuYmF0YSddLAoJCWRheU5hbWVzU2hvcnQ6IFsnSWdhJywnQXN0JywnQXN0JywnQXN0JywnT3N0JywnT3N0JywnTGFyJ10sCgkJZGF5TmFtZXNNaW46IFsnSWcnLCdBcycsJ0FzJywnQXMnLCdPcycsJ09zJywnTGEnXSwKCQl3ZWVrSGVhZGVyOiAnV2snLAoJCWRhdGVGb3JtYXQ6ICd5eS9tbS9kZCcsCgkJZmlyc3REYXk6IDEsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZXUnXSk7Cn0pOw==]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-fa.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogUGVyc2lhbiAoRmFyc2kpIFRyYW5zbGF0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogSmF2YWQgTW93bGFuZXpoYWQgLS0gam1vd2xhQGdtYWlsLmNvbSAqLwovKiBKYWxhbGkgY2FsZW5kYXIgc2hvdWxkIHN1cHBvcnRlZCBzb29uISAoSXRzIGltcGxlbWVudGVkIGJ1dCBJIGhhdmUgdG8gdGVzdCBpdCkgKi8KalF1ZXJ5KGZ1bmN0aW9uKCQpIHsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZmEnXSA9IHsKCQljbG9zZVRleHQ6ICfYqNiz2KrZhicsCgkJcHJldlRleHQ6ICcmI3gzYzvZgtio2YTZiicsCgkJbmV4dFRleHQ6ICfYqNi52K/ZiiYjeDNlOycsCgkJY3VycmVudFRleHQ6ICfYp9mF2LHZiNiyJywKCQltb250aE5hbWVzOiBbJ9mB2LHZiNix2K/ZitmGJywn2KfYsdiv2YrYqNmH2LTYqicsJ9iu2LHYr9in2K8nLCfYqtmK2LEnLCfZhdix2K/Yp9ivJywn2LTZh9ix2YrZiNixJywKCQkn2YXZh9ixJywn2KLYqNin2YYnLCfYotiw2LEnLCfYr9mKJywn2KjZh9mF2YYnLCfYp9iz2YHZhtivJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJzEnLCcyJywnMycsJzQnLCc1JywnNicsJzcnLCc4JywnOScsJzEwJywnMTEnLCcxMiddLAoJCWRheU5hbWVzOiBbJ9mK2qnYtNmG2KjZhycsJ9iv2YjYtNmG2KjZhycsJ9iz2YfigIzYtNmG2KjZhycsJ9qG2YfYp9ix2LTZhtio2YcnLCfZvtmG2KzYtNmG2KjZhycsJ9is2YXYudmHJywn2LTZhtio2YcnXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ9mKJywn2K8nLCfYsycsJ9qGJywn2b4nLCfYrCcsICfYtCddLAoJCWRheU5hbWVzTWluOiBbJ9mKJywn2K8nLCfYsycsJ9qGJywn2b4nLCfYrCcsICfYtCddLAoJCXdlZWtIZWFkZXI6ICfZh9mBJywKCQlkYXRlRm9ybWF0OiAneXkvbW0vZGQnLAoJCWZpcnN0RGF5OiA2LAoJCWlzUlRMOiB0cnVlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZmEnXSk7Cn0pOw==]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-fi.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogRmlubmlzaCBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgSGFycmkgS2lscGnvv70gKGhhcnJpa2lscGlvQGdtYWlsLmNvbSkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKICAgICQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZmknXSA9IHsKCQljbG9zZVRleHQ6ICdTdWxqZScsCgkJcHJldlRleHQ6ICcmbGFxdW87RWRlbGxpbmVuJywKCQluZXh0VGV4dDogJ1NldXJhYXZhJnJhcXVvOycsCgkJY3VycmVudFRleHQ6ICdUJmF1bWw7biZhdW1sOyZhdW1sO24nLAogICAgICAgIG1vbnRoTmFtZXM6IFsnVGFtbWlrdXUnLCdIZWxtaWt1dScsJ01hYWxpc2t1dScsJ0h1aHRpa3V1JywnVG91a29rdXUnLCdLZXMmYXVtbDtrdXUnLAogICAgICAgICdIZWluJmF1bWw7a3V1JywnRWxva3V1JywnU3l5c2t1dScsJ0xva2FrdXUnLCdNYXJyYXNrdXUnLCdKb3VsdWt1dSddLAogICAgICAgIG1vbnRoTmFtZXNTaG9ydDogWydUYW1taScsJ0hlbG1pJywnTWFhbGlzJywnSHVodGknLCdUb3VrbycsJ0tlcyZhdW1sOycsCiAgICAgICAgJ0hlaW4mYXVtbDsnLCdFbG8nLCdTeXlzJywnTG9rYScsJ01hcnJhcycsJ0pvdWx1J10sCgkJZGF5TmFtZXNTaG9ydDogWydTdScsJ01hJywnVGknLCdLZScsJ1RvJywnUGUnLCdTdSddLAoJCWRheU5hbWVzOiBbJ1N1bm51bnRhaScsJ01hYW5hbnRhaScsJ1RpaXN0YWknLCdLZXNraXZpaWtrbycsJ1RvcnN0YWknLCdQZXJqYW50YWknLCdMYXVhbnRhaSddLAoJCWRheU5hbWVzTWluOiBbJ1N1JywnTWEnLCdUaScsJ0tlJywnVG8nLCdQZScsJ0xhJ10sCgkJd2Vla0hlYWRlcjogJ1ZrJywKICAgICAgICBkYXRlRm9ybWF0OiAnZGQubW0ueXknLAoJCWZpcnN0RGF5OiAxLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKICAgICQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2ZpJ10pOwp9KTsK]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-fo.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogRmFyb2VzZSBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4gKi8KLyogV3JpdHRlbiBieSBTdmVycmkgTW9ociBPbHNlbiwgc3ZlcnJpbW9AZ21haWwuY29tICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZm8nXSA9IHsKCQljbG9zZVRleHQ6ICdMYXQgYWZ0dXInLAoJCXByZXZUZXh0OiAnJiN4M2M7RnlycmEnLAoJCW5leHRUZXh0OiAnTsOmc3RhJiN4M2U7JywKCQljdXJyZW50VGV4dDogJ8ONIGRhZycsCgkJbW9udGhOYW1lczogWydKYW51YXInLCdGZWJydWFyJywnTWFycycsJ0FwcsOtbCcsJ01laScsJ0p1bmknLAoJCSdKdWxpJywnQXVndXN0JywnU2VwdGVtYmVyJywnT2t0b2JlcicsJ05vdmVtYmVyJywnRGVzZW1iZXInXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnSmFuJywnRmViJywnTWFyJywnQXByJywnTWVpJywnSnVuJywKCQknSnVsJywnQXVnJywnU2VwJywnT2t0JywnTm92JywnRGVzJ10sCgkJZGF5TmFtZXM6IFsnU3VubnVkYWd1cicsJ03DoW5hZGFndXInLCdUw71zZGFndXInLCdNaWt1ZGFndXInLCdIw7NzZGFndXInLCdGcsOtZ2dqYWRhZ3VyJywnTGV5YXJkYWd1ciddLAoJCWRheU5hbWVzU2hvcnQ6IFsnU3VuJywnTcOhbicsJ1TDvXMnLCdNaWsnLCdIw7NzJywnRnLDrScsJ0xleSddLAoJCWRheU5hbWVzTWluOiBbJ1N1JywnTcOhJywnVMO9JywnTWknLCdIw7MnLCdGcicsJ0xlJ10sCgkJd2Vla0hlYWRlcjogJ1ZrJywKCQlkYXRlRm9ybWF0OiAnZGQtbW0teXknLAoJCWZpcnN0RGF5OiAwLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2ZvJ10pOwp9KTsK]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-fr-CH.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogU3dpc3MtRnJlbmNoIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBNYXJ0aW4gVm9lbGtsZSAobWFydGluLnZvZWxrbGVAZS10Yy5jaCkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZnItQ0gnXSA9IHsKCQljbG9zZVRleHQ6ICdGZXJtZXInLAoJCXByZXZUZXh0OiAnJiN4M2M7UHLDqWMnLAoJCW5leHRUZXh0OiAnU3VpdiYjeDNlOycsCgkJY3VycmVudFRleHQ6ICdDb3VyYW50JywKCQltb250aE5hbWVzOiBbJ0phbnZpZXInLCdGw6l2cmllcicsJ01hcnMnLCdBdnJpbCcsJ01haScsJ0p1aW4nLAoJCSdKdWlsbGV0JywnQW/Du3QnLCdTZXB0ZW1icmUnLCdPY3RvYnJlJywnTm92ZW1icmUnLCdEw6ljZW1icmUnXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnSmFuJywnRsOpdicsJ01hcicsJ0F2cicsJ01haScsJ0p1bicsCgkJJ0p1bCcsJ0Fvw7snLCdTZXAnLCdPY3QnLCdOb3YnLCdEw6ljJ10sCgkJZGF5TmFtZXM6IFsnRGltYW5jaGUnLCdMdW5kaScsJ01hcmRpJywnTWVyY3JlZGknLCdKZXVkaScsJ1ZlbmRyZWRpJywnU2FtZWRpJ10sCgkJZGF5TmFtZXNTaG9ydDogWydEaW0nLCdMdW4nLCdNYXInLCdNZXInLCdKZXUnLCdWZW4nLCdTYW0nXSwKCQlkYXlOYW1lc01pbjogWydEaScsJ0x1JywnTWEnLCdNZScsJ0plJywnVmUnLCdTYSddLAoJCXdlZWtIZWFkZXI6ICdTbScsCgkJZGF0ZUZvcm1hdDogJ2RkLm1tLnl5JywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydmci1DSCddKTsKfSk7]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-fr.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogRnJlbmNoIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBLZWl0aCBXb29kIChrYndvb2R7YXR9aWluZXQuY29tLmF1KSwKICAgICAgICAgICAgICBTdMOpcGhhbmUgTmFobWFuaSAoc2hvbGJ5QHNob2xieS5uZXQpLAogICAgICAgICAgICAgIFN0w6lwaGFuZSBSYWltYmF1bHQgPHN0ZXBoYW5lLnJhaW1iYXVsdEBnbWFpbC5jb20+ICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZnInXSA9IHsKCQljbG9zZVRleHQ6ICdGZXJtZXInLAoJCXByZXZUZXh0OiAnUHLDqWPDqWRlbnQnLAoJCW5leHRUZXh0OiAnU3VpdmFudCcsCgkJY3VycmVudFRleHQ6ICdBdWpvdXJkXCdodWknLAoJCW1vbnRoTmFtZXM6IFsnSmFudmllcicsJ0bDqXZyaWVyJywnTWFycycsJ0F2cmlsJywnTWFpJywnSnVpbicsCgkJJ0p1aWxsZXQnLCdBb8O7dCcsJ1NlcHRlbWJyZScsJ09jdG9icmUnLCdOb3ZlbWJyZScsJ0TDqWNlbWJyZSddLAoJCW1vbnRoTmFtZXNTaG9ydDogWydKYW52LicsJ0bDqXZyLicsJ01hcnMnLCdBdnJpbCcsJ01haScsJ0p1aW4nLAoJCSdKdWlsLicsJ0Fvw7t0JywnU2VwdC4nLCdPY3QuJywnTm92LicsJ0TDqWMuJ10sCgkJZGF5TmFtZXM6IFsnRGltYW5jaGUnLCdMdW5kaScsJ01hcmRpJywnTWVyY3JlZGknLCdKZXVkaScsJ1ZlbmRyZWRpJywnU2FtZWRpJ10sCgkJZGF5TmFtZXNTaG9ydDogWydEaW0uJywnTHVuLicsJ01hci4nLCdNZXIuJywnSmV1LicsJ1Zlbi4nLCdTYW0uJ10sCgkJZGF5TmFtZXNNaW46IFsnRCcsJ0wnLCdNJywnTScsJ0onLCdWJywnUyddLAoJCXdlZWtIZWFkZXI6ICdTZW0uJywKCQlkYXRlRm9ybWF0OiAnZGQvbW0veXknLAoJCWZpcnN0RGF5OiAxLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2ZyJ10pOwp9KTsK]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-gl.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogR2FsaWNpYW4gbG9jYWxpemF0aW9uIGZvciAnVUkgZGF0ZSBwaWNrZXInIGpRdWVyeSBleHRlbnNpb24uICovCi8qIFRyYW5zbGF0ZWQgYnkgSm9yZ2UgQmFycmVpcm8gPHlvcnR4LmJhcnJ5QGdtYWlsLmNvbT4uICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZ2wnXSA9IHsKCQljbG9zZVRleHQ6ICdQZWNoYXInLAoJCXByZXZUZXh0OiAnJiN4M2M7QW50JywKCQluZXh0VGV4dDogJ1NlZyYjeDNlOycsCgkJY3VycmVudFRleHQ6ICdIb3hlJywKCQltb250aE5hbWVzOiBbJ1hhbmVpcm8nLCdGZWJyZWlybycsJ01hcnpvJywnQWJyaWwnLCdNYWlvJywnWHXDsW8nLAoJCSdYdWxsbycsJ0Fnb3N0bycsJ1NldGVtYnJvJywnT3V0dWJybycsJ05vdmVtYnJvJywnRGVjZW1icm8nXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnWGFuJywnRmViJywnTWFyJywnQWJyJywnTWFpJywnWHXDsScsCgkJJ1h1bCcsJ0FnbycsJ1NldCcsJ091dCcsJ05vdicsJ0RlYyddLAoJCWRheU5hbWVzOiBbJ0RvbWluZ28nLCdMdW5zJywnTWFydGVzJywnTSZlYWN1dGU7cmNvcmVzJywnWG92ZXMnLCdWZW5yZXMnLCdTJmFhY3V0ZTtiYWRvJ10sCgkJZGF5TmFtZXNTaG9ydDogWydEb20nLCdMdW4nLCdNYXInLCdNJmVhY3V0ZTtyJywnWG92JywnVmVuJywnUyZhYWN1dGU7YiddLAoJCWRheU5hbWVzTWluOiBbJ0RvJywnTHUnLCdNYScsJ00mZWFjdXRlOycsJ1hvJywnVmUnLCdTJmFhY3V0ZTsnXSwKCQl3ZWVrSGVhZGVyOiAnU20nLAoJCWRhdGVGb3JtYXQ6ICdkZC9tbS95eScsCgkJZmlyc3REYXk6IDEsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnZ2wnXSk7Cn0pOw==]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-he.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogSGVicmV3IGluaXRpYWxpc2F0aW9uIGZvciB0aGUgVUkgRGF0ZXBpY2tlciBleHRlbnNpb24uICovCi8qIFdyaXR0ZW4gYnkgQW1pciBIYXJkb24gKGFoYXJkb24gYXQgZ21haWwgZG90IGNvbSkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnaGUnXSA9IHsKCQljbG9zZVRleHQ6ICfXodeS15XXqCcsCgkJcHJldlRleHQ6ICcmI3gzYzvXlNen15XXk9edJywKCQluZXh0VGV4dDogJ9eU15HXkCYjeDNlOycsCgkJY3VycmVudFRleHQ6ICfXlNeZ15XXnScsCgkJbW9udGhOYW1lczogWyfXmdeg15XXkNeoJywn16TXkdeo15XXkNeoJywn157XqNelJywn15DXpNeo15nXnCcsJ9ee15DXmScsJ9eZ15XXoNeZJywKCQkn15nXldec15knLCfXkNeV15LXldeh15gnLCfXodek15jXnteR16gnLCfXkNeV16fXmNeV15HXqCcsJ9eg15XXkdee15HXqCcsJ9eT16bXnteR16gnXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnMScsJzInLCczJywnNCcsJzUnLCc2JywKCQknNycsJzgnLCc5JywnMTAnLCcxMScsJzEyJ10sCgkJZGF5TmFtZXM6IFsn16jXkNep15XXnycsJ9ep16DXmScsJ9ep15zXmdep15knLCfXqNeR15nXoteZJywn15fXnteZ16nXmScsJ9ep15nXqdeZJywn16nXkdeqJ10sCgkJZGF5TmFtZXNTaG9ydDogWyfXkFwnJywn15FcJycsJ9eSXCcnLCfXk1wnJywn15RcJycsJ9eVXCcnLCfXqdeR16onXSwKCQlkYXlOYW1lc01pbjogWyfXkFwnJywn15FcJycsJ9eSXCcnLCfXk1wnJywn15RcJycsJ9eVXCcnLCfXqdeR16onXSwKCQl3ZWVrSGVhZGVyOiAnV2snLAoJCWRhdGVGb3JtYXQ6ICdkZC9tbS95eScsCgkJZmlyc3REYXk6IDAsCgkJaXNSVEw6IHRydWUsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydoZSddKTsKfSk7Cg==]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-hr.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogQ3JvYXRpYW4gaTE4biBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgVmpla29zbGF2IE5lc2VrLiAqLwpqUXVlcnkoZnVuY3Rpb24oJCl7CgkkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2hyJ10gPSB7CgkJY2xvc2VUZXh0OiAnWmF0dm9yaScsCgkJcHJldlRleHQ6ICcmI3gzYzsnLAoJCW5leHRUZXh0OiAnJiN4M2U7JywKCQljdXJyZW50VGV4dDogJ0RhbmFzJywKCQltb250aE5hbWVzOiBbJ1NpamXEjWFuaicsJ1ZlbGphxI1hJywnT8W+dWphaycsJ1RyYXZhbmonLCdTdmliYW5qJywnTGlwYW5qJywKCQknU3JwYW5qJywnS29sb3ZveicsJ1J1amFuJywnTGlzdG9wYWQnLCdTdHVkZW5pJywnUHJvc2luYWMnXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnU2lqJywnVmVsaicsJ0/FvnUnLCdUcmEnLCdTdmknLCdMaXAnLAoJCSdTcnAnLCdLb2wnLCdSdWonLCdMaXMnLCdTdHUnLCdQcm8nXSwKCQlkYXlOYW1lczogWydOZWRqZWxqYScsJ1BvbmVkamVsamFrJywnVXRvcmFrJywnU3JpamVkYScsJ8SMZXR2cnRhaycsJ1BldGFrJywnU3Vib3RhJ10sCgkJZGF5TmFtZXNTaG9ydDogWydOZWQnLCdQb24nLCdVdG8nLCdTcmknLCfEjGV0JywnUGV0JywnU3ViJ10sCgkJZGF5TmFtZXNNaW46IFsnTmUnLCdQbycsJ1V0JywnU3InLCfEjGUnLCdQZScsJ1N1J10sCgkJd2Vla0hlYWRlcjogJ1RqZScsCgkJZGF0ZUZvcm1hdDogJ2RkLm1tLnl5LicsCgkJZmlyc3REYXk6IDEsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnaHInXSk7Cn0pOw==]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-hu.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogSHVuZ2FyaWFuIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBJc3R2YW4gS2FyYXN6aSAoanF1ZXJ5QHNwYW0ucmFzemkuaHUpLiAqLwpqUXVlcnkoZnVuY3Rpb24oJCl7CgkkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2h1J10gPSB7CgkJY2xvc2VUZXh0OiAnYmV6w6Fyw6FzJywKCQlwcmV2VGV4dDogJyZsYXF1bzsmbmJzcDt2aXNzemEnLAoJCW5leHRUZXh0OiAnZWzFkXJlJm5ic3A7JnJhcXVvOycsCgkJY3VycmVudFRleHQ6ICdtYScsCgkJbW9udGhOYW1lczogWydKYW51w6FyJywgJ0ZlYnJ1w6FyJywgJ03DoXJjaXVzJywgJ8OBcHJpbGlzJywgJ03DoWp1cycsICdKw7puaXVzJywKCQknSsO6bGl1cycsICdBdWd1c3p0dXMnLCAnU3plcHRlbWJlcicsICdPa3TDs2JlcicsICdOb3ZlbWJlcicsICdEZWNlbWJlciddLAoJCW1vbnRoTmFtZXNTaG9ydDogWydKYW4nLCAnRmViJywgJ03DoXInLCAnw4FwcicsICdNw6FqJywgJ0rDum4nLAoJCSdKw7psJywgJ0F1ZycsICdTemVwJywgJ09rdCcsICdOb3YnLCAnRGVjJ10sCgkJZGF5TmFtZXM6IFsnVmFzw6FybmFwJywgJ0jDqXRmw7YnLCAnS2VkZCcsICdTemVyZGEnLCAnQ3PDvHTDtnJ0w7ZrJywgJ1DDqW50ZWsnLCAnU3pvbWJhdCddLAoJCWRheU5hbWVzU2hvcnQ6IFsnVmFzJywgJ0jDqXQnLCAnS2VkJywgJ1N6ZScsICdDc8O8JywgJ1DDqW4nLCAnU3pvJ10sCgkJZGF5TmFtZXNNaW46IFsnVicsICdIJywgJ0snLCAnU3plJywgJ0NzJywgJ1AnLCAnU3pvJ10sCgkJd2Vla0hlYWRlcjogJ0jDqScsCgkJZGF0ZUZvcm1hdDogJ3l5LW1tLWRkJywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiB0cnVlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2h1J10pOwp9KTsK]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-hy.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogQXJtZW5pYW4oVVRGLTgpIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBMZXZvbiBaYWthcnlhbiAobGV2b24uemFrYXJ5YW5AZ21haWwuY29tKSovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnaHknXSA9IHsKCQljbG9zZVRleHQ6ICfVk9Wh1a/VpdWsJywKCQlwcmV2VGV4dDogJyYjeDNjO9WG1aHVrS4nLAoJCW5leHRUZXh0OiAn1YDVodW7LiYjeDNlOycsCgkJY3VycmVudFRleHQ6ICfUsdW11b3WhdaAJywKCQltb250aE5hbWVzOiBbJ9WA1bjWgtW21b7VodaAJywn1ZPVpdW/1oDVvtWh1oAnLCfVhNWh1oDVvycsJ9Sx1brWgNWr1awnLCfVhNWh1bXVq9W9Jywn1YDVuNaC1bbVq9W9JywKCQkn1YDVuNaC1azVq9W9Jywn1ZXVo9W41b3Vv9W41b0nLCfVjdWl1brVv9Wl1bTVotWl1oAnLCfVgNW41a/Vv9Wl1bTVotWl1oAnLCfVhtW41bXVpdW01aLVpdaAJywn1LTVpdWv1b/VpdW01aLVpdaAJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ9WA1bjWgtW21b4nLCfVk9Wl1b/WgCcsJ9WE1aHWgNW/Jywn1LHVutaAJywn1YTVodW11avVvScsJ9WA1bjWgtW21avVvScsCgkJJ9WA1bjWgtWsJywn1ZXVo9W9Jywn1Y3VpdW6Jywn1YDVuNWvJywn1YbVuNW1Jywn1LTVpdWvJ10sCgkJZGF5TmFtZXM6IFsn1a/Vq9aA1aHVr9WrJywn1aXVr9W41oLVt9Wh1aLVqdWrJywn1aXWgNWl1oTVt9Wh1aLVqdWrJywn1bnVuNaA1aXWhNW31aHVotWp1asnLCfVsNWr1bbVo9W31aHVotWp1asnLCfVuNaC1oDVotWh1aknLCfVt9Wh1aLVodWpJ10sCgkJZGF5TmFtZXNTaG9ydDogWyfVr9Wr1oAnLCfVpdaA1a8nLCfVpdaA1oQnLCfVudaA1oQnLCfVsNW21aMnLCfVuNaC1oDVoicsJ9W31aLVqSddLAoJCWRheU5hbWVzTWluOiBbJ9Wv1avWgCcsJ9Wl1oDVrycsJ9Wl1oDWhCcsJ9W51oDWhCcsJ9Ww1bbVoycsJ9W41oLWgNWiJywn1bfVotWpJ10sCgkJd2Vla0hlYWRlcjogJ9WH1LLVjycsCgkJZGF0ZUZvcm1hdDogJ2RkLm1tLnl5JywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydoeSddKTsKfSk7]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-id.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogSW5kb25lc2lhbiBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgRGVkZW4gRmF0aHVyYWhtYW4gKGRlZGVuZkBnbWFpbC5jb20pLiAqLwpqUXVlcnkoZnVuY3Rpb24oJCl7CgkkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2lkJ10gPSB7CgkJY2xvc2VUZXh0OiAnVHV0dXAnLAoJCXByZXZUZXh0OiAnJiN4M2M7bXVuZHVyJywKCQluZXh0VGV4dDogJ21hanUmI3gzZTsnLAoJCWN1cnJlbnRUZXh0OiAnaGFyaSBpbmknLAoJCW1vbnRoTmFtZXM6IFsnSmFudWFyaScsJ0ZlYnJ1YXJpJywnTWFyZXQnLCdBcHJpbCcsJ01laScsJ0p1bmknLAoJCSdKdWxpJywnQWd1c3R1cycsJ1NlcHRlbWJlcicsJ09rdG9iZXInLCdOb3BlbWJlcicsJ0Rlc2VtYmVyJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ0phbicsJ0ZlYicsJ01hcicsJ0FwcicsJ01laScsJ0p1bicsCgkJJ0p1bCcsJ0FndXMnLCdTZXAnLCdPa3QnLCdOb3AnLCdEZXMnXSwKCQlkYXlOYW1lczogWydNaW5nZ3UnLCdTZW5pbicsJ1NlbGFzYScsJ1JhYnUnLCdLYW1pcycsJ0p1bWF0JywnU2FidHUnXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ01pbicsJ1NlbicsJ1NlbCcsJ1JhYicsJ2thbScsJ0p1bScsJ1NhYiddLAoJCWRheU5hbWVzTWluOiBbJ01nJywnU24nLCdTbCcsJ1JiJywnS20nLCdqbScsJ1NiJ10sCgkJd2Vla0hlYWRlcjogJ01nJywKCQlkYXRlRm9ybWF0OiAnZGQvbW0veXknLAoJCWZpcnN0RGF5OiAwLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2lkJ10pOwp9KTs=]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-is.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogSWNlbGFuZGljIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBIYXVrdXIgSC4gVGhvcnNzb24gKGhhdWt1ckBlc2tpbGwuaXMpLiAqLwpqUXVlcnkoZnVuY3Rpb24oJCl7CgkkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2lzJ10gPSB7CgkJY2xvc2VUZXh0OiAnTG9rYScsCgkJcHJldlRleHQ6ICcmI3gzYzsgRnlycmknLAoJCW5leHRUZXh0OiAnTiZhZWxpZztzdGkgJiN4M2U7JywKCQljdXJyZW50VGV4dDogJyZJYWN1dGU7IGRhZycsCgkJbW9udGhOYW1lczogWydKYW4mdWFjdXRlO2FyJywnRmViciZ1YWN1dGU7YXInLCdNYXJzJywnQXByJmlhY3V0ZTtsJywnTWEmaWFjdXRlJywnSiZ1YWN1dGU7biZpYWN1dGU7JywKCQknSiZ1YWN1dGU7bCZpYWN1dGU7JywnJkFhY3V0ZTtnJnVhY3V0ZTtzdCcsJ1NlcHRlbWJlcicsJ09rdCZvYWN1dGU7YmVyJywnTiZvYWN1dGU7dmVtYmVyJywnRGVzZW1iZXInXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnSmFuJywnRmViJywnTWFyJywnQXByJywnTWEmaWFjdXRlOycsJ0omdWFjdXRlO24nLAoJCSdKJnVhY3V0ZTtsJywnJkFhY3V0ZTtnJnVhY3V0ZTsnLCdTZXAnLCdPa3QnLCdOJm9hY3V0ZTt2JywnRGVzJ10sCgkJZGF5TmFtZXM6IFsnU3VubnVkYWd1cicsJ00mYWFjdXRlO251ZGFndXInLCcmVEhPUk47cmkmZXRoO2p1ZGFndXInLCdNaSZldGg7dmlrdWRhZ3VyJywnRmltbXR1ZGFndXInLCdGJm91bWw7c3R1ZGFndXInLCdMYXVnYXJkYWd1ciddLAoJCWRheU5hbWVzU2hvcnQ6IFsnU3VuJywnTSZhYWN1dGU7bicsJyZUSE9STjtyaScsJ01pJmV0aDsnLCdGaW0nLCdGJm91bWw7cycsJ0xhdSddLAoJCWRheU5hbWVzTWluOiBbJ1N1JywnTSZhYWN1dGU7JywnJlRIT1JOO3InLCdNaScsJ0ZpJywnRiZvdW1sOycsJ0xhJ10sCgkJd2Vla0hlYWRlcjogJ1Zpa2EnLAoJCWRhdGVGb3JtYXQ6ICdkZC9tbS95eScsCgkJZmlyc3REYXk6IDAsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnaXMnXSk7Cn0pOw==]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-it.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogSXRhbGlhbiBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgQW50b25lbGxvIFBhc2VsbGEgKGFudG9uZWxsby5wYXNlbGxhQGdtYWlsLmNvbSkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnaXQnXSA9IHsKCQljbG9zZVRleHQ6ICdDaGl1ZGknLAoJCXByZXZUZXh0OiAnJiN4M2M7UHJlYycsCgkJbmV4dFRleHQ6ICdTdWNjJiN4M2U7JywKCQljdXJyZW50VGV4dDogJ09nZ2knLAoJCW1vbnRoTmFtZXM6IFsnR2VubmFpbycsJ0ZlYmJyYWlvJywnTWFyem8nLCdBcHJpbGUnLCdNYWdnaW8nLCdHaXVnbm8nLAoJCQknTHVnbGlvJywnQWdvc3RvJywnU2V0dGVtYnJlJywnT3R0b2JyZScsJ05vdmVtYnJlJywnRGljZW1icmUnXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnR2VuJywnRmViJywnTWFyJywnQXByJywnTWFnJywnR2l1JywKCQkJJ0x1ZycsJ0FnbycsJ1NldCcsJ090dCcsJ05vdicsJ0RpYyddLAoJCWRheU5hbWVzOiBbJ0RvbWVuaWNhJywnTHVuZWQmIzIzNicsJ01hcnRlZCYjMjM2JywnTWVyY29sZWQmIzIzNicsJ0dpb3ZlZCYjMjM2JywnVmVuZXJkJiMyMzYnLCdTYWJhdG8nXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ0RvbScsJ0x1bicsJ01hcicsJ01lcicsJ0dpbycsJ1ZlbicsJ1NhYiddLAoJCWRheU5hbWVzTWluOiBbJ0RvJywnTHUnLCdNYScsJ01lJywnR2knLCdWZScsJ1NhJ10sCgkJd2Vla0hlYWRlcjogJ1NtJywKCQlkYXRlRm9ybWF0OiAnZGQvbW0veXknLAoJCWZpcnN0RGF5OiAxLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2l0J10pOwp9KTsK]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-ja.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogSmFwYW5lc2UgaW5pdGlhbGlzYXRpb24gZm9yIHRoZSBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAqLwovKiBXcml0dGVuIGJ5IEtlbnRhcm8gU0FUTyAoa2VudGFyb0ByYW52aXMuY29tKS4gKi8KalF1ZXJ5KGZ1bmN0aW9uKCQpewoJJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydqYSddID0gewoJCWNsb3NlVGV4dDogJ+mWieOBmOOCiycsCgkJcHJldlRleHQ6ICcmI3gzYzvliY0nLAoJCW5leHRUZXh0OiAn5qyhJiN4M2U7JywKCQljdXJyZW50VGV4dDogJ+S7iuaXpScsCgkJbW9udGhOYW1lczogWycx5pyIJywnMuaciCcsJzPmnIgnLCc05pyIJywnNeaciCcsJzbmnIgnLAoJCSc35pyIJywnOOaciCcsJznmnIgnLCcxMOaciCcsJzEx5pyIJywnMTLmnIgnXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnMeaciCcsJzLmnIgnLCcz5pyIJywnNOaciCcsJzXmnIgnLCc25pyIJywKCQknN+aciCcsJzjmnIgnLCc55pyIJywnMTDmnIgnLCcxMeaciCcsJzEy5pyIJ10sCgkJZGF5TmFtZXM6IFsn5pel5puc5pelJywn5pyI5puc5pelJywn54Gr5puc5pelJywn5rC05puc5pelJywn5pyo5puc5pelJywn6YeR5puc5pelJywn5Zyf5puc5pelJ10sCgkJZGF5TmFtZXNTaG9ydDogWyfml6UnLCfmnIgnLCfngasnLCfmsLQnLCfmnKgnLCfph5EnLCflnJ8nXSwKCQlkYXlOYW1lc01pbjogWyfml6UnLCfmnIgnLCfngasnLCfmsLQnLCfmnKgnLCfph5EnLCflnJ8nXSwKCQl3ZWVrSGVhZGVyOiAn6YCxJywKCQlkYXRlRm9ybWF0OiAneXkvbW0vZGQnLAoJCWZpcnN0RGF5OiAwLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IHRydWUsCgkJeWVhclN1ZmZpeDogJ+W5tCd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnamEnXSk7Cn0pOw==]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-ko.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogS29yZWFuIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IGNhbGVuZGFyIGV4dGVuc2lvbi4gKi8KLyogV3JpdHRlbiBieSBEYWVLd29uIEthbmcgKG5jcmFzaC5ka0BnbWFpbC5jb20pLiAqLwpqUXVlcnkoZnVuY3Rpb24oJCl7CgkkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2tvJ10gPSB7CgkJY2xvc2VUZXh0OiAn64ur6riwJywKCQlwcmV2VGV4dDogJ+ydtOyghOuLrCcsCgkJbmV4dFRleHQ6ICfri6TsnYzri6wnLAoJCWN1cnJlbnRUZXh0OiAn7Jik64qYJywKCQltb250aE5hbWVzOiBbJzHsm5QoSkFOKScsJzLsm5QoRkVCKScsJzPsm5QoTUFSKScsJzTsm5QoQVBSKScsJzXsm5QoTUFZKScsJzbsm5QoSlVOKScsCgkJJzfsm5QoSlVMKScsJzjsm5QoQVVHKScsJznsm5QoU0VQKScsJzEw7JuUKE9DVCknLCcxMeyblChOT1YpJywnMTLsm5QoREVDKSddLAoJCW1vbnRoTmFtZXNTaG9ydDogWycx7JuUKEpBTiknLCcy7JuUKEZFQiknLCcz7JuUKE1BUiknLCc07JuUKEFQUiknLCc17JuUKE1BWSknLCc27JuUKEpVTiknLAoJCSc37JuUKEpVTCknLCc47JuUKEFVRyknLCc57JuUKFNFUCknLCcxMOyblChPQ1QpJywnMTHsm5QoTk9WKScsJzEy7JuUKERFQyknXSwKCQlkYXlOYW1lczogWyfsnbwnLCfsm5QnLCftmZQnLCfsiJgnLCfrqqknLCfquIgnLCfthqAnXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ+ydvCcsJ+yblCcsJ+2ZlCcsJ+yImCcsJ+uqqScsJ+q4iCcsJ+2GoCddLAoJCWRheU5hbWVzTWluOiBbJ+ydvCcsJ+yblCcsJ+2ZlCcsJ+yImCcsJ+uqqScsJ+q4iCcsJ+2GoCddLAoJCXdlZWtIZWFkZXI6ICdXaycsCgkJZGF0ZUZvcm1hdDogJ3l5LW1tLWRkJywKCQlmaXJzdERheTogMCwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAn64WEJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydrbyddKTsKfSk7]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-kz.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogS2F6YWtoIChVVEYtOCkgaW5pdGlhbGlzYXRpb24gZm9yIHRoZSBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAqLwovKiBXcml0dGVuIGJ5IERtaXRyaXkgS2FyYXN5b3YgKGRtaXRyaXkua2FyYXN5b3ZAZ21haWwuY29tKS4gKi8KalF1ZXJ5KGZ1bmN0aW9uKCQpewoJJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydreiddID0gewoJCWNsb3NlVGV4dDogJ9CW0LDQsdGDJywKCQlwcmV2VGV4dDogJyYjeDNjO9CQ0LvQtNGL0qPSk9GLJywKCQluZXh0VGV4dDogJ9Ca0LXQu9C10YHRliYjeDNlOycsCgkJY3VycmVudFRleHQ6ICfQkdKv0LPRltC9JywKCQltb250aE5hbWVzOiBbJ9Ka0LDSo9GC0LDRgCcsJ9CQ0pvQv9Cw0L0nLCfQndCw0YPRgNGL0LcnLCfQodOZ0YPRltGAJywn0JzQsNC80YvRgCcsJ9Cc0LDRg9GB0YvQvCcsCgkJJ9Co0ZbQu9C00LUnLCfQotCw0LzRi9C3Jywn0prRi9GA0LrSr9C50LXQuicsJ9Ka0LDQt9Cw0L0nLCfSmtCw0YDQsNGI0LAnLCfQltC10LvRgtC+0pvRgdCw0L0nXSwKCQltb250aE5hbWVzU2hvcnQ6IFsn0prQsNKjJywn0JDSm9C/Jywn0J3QsNGDJywn0KHTmdGDJywn0JzQsNC8Jywn0JzQsNGDJywKCQkn0KjRltC7Jywn0KLQsNC8Jywn0prRi9GAJywn0prQsNC3Jywn0prQsNGAJywn0JbQtdC7J10sCgkJZGF5TmFtZXM6IFsn0JbQtdC60YHQtdC90LHRlicsJ9CU0q/QudGB0LXQvdCx0ZYnLCfQodC10LnRgdC10L3QsdGWJywn0KHTmdGA0YHQtdC90LHRlicsJ9CR0LXQudGB0LXQvdCx0ZYnLCfQltKx0LzQsCcsJ9Ch0LXQvdCx0ZYnXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ9C20LrRgScsJ9C00YHQvScsJ9GB0YHQvScsJ9GB0YDRgScsJ9Cx0YHQvScsJ9C20LzQsCcsJ9GB0L3QsSddLAoJCWRheU5hbWVzTWluOiBbJ9CW0LonLCfQlNGBJywn0KHRgScsJ9Ch0YAnLCfQkdGBJywn0JbQvCcsJ9Ch0L0nXSwKCQl3ZWVrSGVhZGVyOiAn0J3QtScsCgkJZGF0ZUZvcm1hdDogJ2RkLm1tLnl5JywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydreiddKTsKfSk7Cg==]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-lt.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogTGl0aHVhbmlhbiAoVVRGLTgpIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogQGF1dGhvciBBcnR1cmFzIFBhbGVpY2lrYXMgPGFydHVyYXNAYXZhbG9uLmx0PiAqLwpqUXVlcnkoZnVuY3Rpb24oJCl7CgkkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ2x0J10gPSB7CgkJY2xvc2VUZXh0OiAnVcW+ZGFyeXRpJywKCQlwcmV2VGV4dDogJyYjeDNjO0F0Z2FsJywKCQluZXh0VGV4dDogJ1Bpcm15biYjeDNlOycsCgkJY3VycmVudFRleHQ6ICfFoGlhbmRpZW4nLAoJCW1vbnRoTmFtZXM6IFsnU2F1c2lzJywnVmFzYXJpcycsJ0tvdmFzJywnQmFsYW5kaXMnLCdHZWd1xb7ElycsJ0JpcsW+ZWxpcycsCgkJJ0xpZXBhJywnUnVncGrFq3RpcycsJ1J1Z3PEl2ppcycsJ1NwYWxpcycsJ0xhcGtyaXRpcycsJ0dydW9kaXMnXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnU2F1JywnVmFzJywnS292JywnQmFsJywnR2VnJywnQmlyJywKCQknTGllJywnUnVncCcsJ1J1Z3MnLCdTcGEnLCdMYXAnLCdHcnUnXSwKCQlkYXlOYW1lczogWydzZWttYWRpZW5pcycsJ3Bpcm1hZGllbmlzJywnYW50cmFkaWVuaXMnLCd0cmXEjWlhZGllbmlzJywna2V0dmlydGFkaWVuaXMnLCdwZW5rdGFkaWVuaXMnLCfFoWXFoXRhZGllbmlzJ10sCgkJZGF5TmFtZXNTaG9ydDogWydzZWsnLCdwaXInLCdhbnQnLCd0cmUnLCdrZXQnLCdwZW4nLCfFoWXFoSddLAoJCWRheU5hbWVzTWluOiBbJ1NlJywnUHInLCdBbicsJ1RyJywnS2UnLCdQZScsJ8WgZSddLAoJCXdlZWtIZWFkZXI6ICdXaycsCgkJZGF0ZUZvcm1hdDogJ3l5LW1tLWRkJywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydsdCddKTsKfSk7]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-lv.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogTGF0dmlhbiAoVVRGLTgpIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogQGF1dGhvciBBcnR1cmFzIFBhbGVpY2lrYXMgPGFydHVyYXMucGFsZWljaWthc0BtZXRhc2l0ZS5uZXQ+ICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnbHYnXSA9IHsKCQljbG9zZVRleHQ6ICdBaXp2xJNydCcsCgkJcHJldlRleHQ6ICdJZXByJywKCQluZXh0VGV4dDogJ07EgWthJywKCQljdXJyZW50VGV4dDogJ8Wgb2RpZW4nLAoJCW1vbnRoTmFtZXM6IFsnSmFudsSBcmlzJywnRmVicnXEgXJpcycsJ01hcnRzJywnQXByxKtsaXMnLCdNYWlqcycsJ0rFq25panMnLAoJCSdKxatsaWpzJywnQXVndXN0cycsJ1NlcHRlbWJyaXMnLCdPa3RvYnJpcycsJ05vdmVtYnJpcycsJ0RlY2VtYnJpcyddLAoJCW1vbnRoTmFtZXNTaG9ydDogWydKYW4nLCdGZWInLCdNYXInLCdBcHInLCdNYWknLCdKxatuJywKCQknSsWrbCcsJ0F1ZycsJ1NlcCcsJ09rdCcsJ05vdicsJ0RlYyddLAoJCWRheU5hbWVzOiBbJ3N2xJN0ZGllbmEnLCdwaXJtZGllbmEnLCdvdHJkaWVuYScsJ3RyZcWhZGllbmEnLCdjZXR1cnRkaWVuYScsJ3BpZWt0ZGllbmEnLCdzZXN0ZGllbmEnXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ3N2dCcsJ3BybScsJ290cicsJ3RyZScsJ2N0cicsJ3BrdCcsJ3NzdCddLAoJCWRheU5hbWVzTWluOiBbJ1N2JywnUHInLCdPdCcsJ1RyJywnQ3QnLCdQaycsJ1NzJ10sCgkJd2Vla0hlYWRlcjogJ05hdicsCgkJZGF0ZUZvcm1hdDogJ2RkLW1tLXl5JywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydsdiddKTsKfSk7]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-ml.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogTWFsYXlhbGFtIChVVEYtOCkgaW5pdGlhbGlzYXRpb24gZm9yIHRoZSBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAqLwovKiBXcml0dGVuIGJ5IFNhamkgTmVkaXlhbmNoYXRoIChzYWppODlAZ21haWwuY29tKS4gKi8KalF1ZXJ5KGZ1bmN0aW9uKCQpewoJJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydtbCddID0gewoJCWNsb3NlVGV4dDogJ+C0tuC0sOC0vycsCgkJcHJldlRleHQ6ICfgtK7gtYHgtKjgtY3gtKjgtKTgtY3gtKTgtYYnLCAgCgkJbmV4dFRleHQ6ICfgtIXgtJ/gtYHgtKTgtY3gtKTgtKTgtY0gJywKCQljdXJyZW50VGV4dDogJ+C0h+C0qOC1jeC0qOC1jScsCgkJbW9udGhOYW1lczogWyfgtJzgtKjgtYHgtLXgtLDgtL8nLCfgtKvgtYbgtKzgtY3gtLDgtYHgtLXgtLDgtL8nLCfgtK7gtL7gtLDgtY3igI3gtJrgtY3gtJrgtY0nLCfgtI/gtKrgtY3gtLDgtL/gtLLgtY3igI0nLCfgtK7gtYfgtK/gtY0nLCfgtJzgtYLgtKPgtY3igI0nLAoJCSfgtJzgtYLgtLLgtYgnLCfgtIbgtJfgtLjgtY3gtLHgtY3gtLHgtY0nLCfgtLjgtYbgtKrgtY3gtLHgtY3gtLHgtILgtKzgtLDgtY3igI0nLCfgtJLgtJXgtY3gtJ/gtYvgtKzgtLDgtY3igI0nLCfgtKjgtLXgtILgtKzgtLDgtY3igI0nLCfgtKHgtL/gtLjgtILgtKzgtLDgtY3igI0nXSwKCQltb250aE5hbWVzU2hvcnQ6IFsn4LSc4LSo4LWBJywgJ+C0q+C1huC0rOC1jScsICfgtK7gtL7gtLDgtY3igI0nLCAn4LSP4LSq4LWN4LSw4LS/JywgJ+C0ruC1h+C0r+C1jScsICfgtJzgtYLgtKPgtY3igI0nLAoJCSfgtJzgtYLgtLLgtL4nLCAn4LSG4LSXJywgJ+C0uOC1huC0quC1jScsICfgtJLgtJXgtY3gtJ/gtYsnLCAn4LSo4LS14LSCJywgJ+C0oeC0v+C0uCddLAoJCWRheU5hbWVzOiBbJ+C0nuC0vuC0r+C0sOC1jeKAjScsICfgtKTgtL/gtJngtY3gtJXgtLPgtY3igI0nLCAn4LSa4LWK4LS14LWN4LS1JywgJ+C0rOC1geC0p+C0qOC1jeKAjScsICfgtLXgtY3gtK/gtL7gtLTgtIInLCAn4LS14LWG4LSz4LWN4LSz4LS/JywgJ+C0tuC0qOC0vyddLAoJCWRheU5hbWVzU2hvcnQ6IFsn4LSe4LS+4LSvJywgJ+C0pOC0v+C0meC1jeC0lScsICfgtJrgtYrgtLXgtY3gtLUnLCAn4LSs4LWB4LSnJywgJ+C0teC1jeC0r+C0vuC0tOC0gicsICfgtLXgtYbgtLPgtY3gtLPgtL8nLCAn4LS24LSo4LS/J10sCgkJZGF5TmFtZXNNaW46IFsn4LSe4LS+Jywn4LSk4LS/Jywn4LSa4LWKJywn4LSs4LWBJywn4LS14LWN4LSv4LS+Jywn4LS14LWGJywn4LS2J10sCgkJd2Vla0hlYWRlcjogJ+C0hicsCgkJZGF0ZUZvcm1hdDogJ2RkL21tL3l5JywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydtbCddKTsKfSk7Cg==]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-ms.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogTWFsYXlzaWFuIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBNb2hkIE5hd2F3aSBNb2hhbWFkIEphbWlsaSAobmF3YXdpQHJvbmdnZW5nLm5ldCkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnbXMnXSA9IHsKCQljbG9zZVRleHQ6ICdUdXR1cCcsCgkJcHJldlRleHQ6ICcmI3gzYztTZWJlbHVtJywKCQluZXh0VGV4dDogJ1NlbGVwYXMmI3gzZTsnLAoJCWN1cnJlbnRUZXh0OiAnaGFyaSBpbmknLAoJCW1vbnRoTmFtZXM6IFsnSmFudWFyaScsJ0ZlYnJ1YXJpJywnTWFjJywnQXByaWwnLCdNZWknLCdKdW4nLAoJCSdKdWxhaScsJ09nb3MnLCdTZXB0ZW1iZXInLCdPa3RvYmVyJywnTm92ZW1iZXInLCdEaXNlbWJlciddLAoJCW1vbnRoTmFtZXNTaG9ydDogWydKYW4nLCdGZWInLCdNYWMnLCdBcHInLCdNZWknLCdKdW4nLAoJCSdKdWwnLCdPZ28nLCdTZXAnLCdPa3QnLCdOb3YnLCdEaXMnXSwKCQlkYXlOYW1lczogWydBaGFkJywnSXNuaW4nLCdTZWxhc2EnLCdSYWJ1JywnS2hhbWlzJywnSnVtYWF0JywnU2FidHUnXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ0FoYScsJ0lzbicsJ1NlbCcsJ1JhYicsJ2toYScsJ0p1bScsJ1NhYiddLAoJCWRheU5hbWVzTWluOiBbJ0FoJywnSXMnLCdTZScsJ1JhJywnS2gnLCdKdScsJ1NhJ10sCgkJd2Vla0hlYWRlcjogJ01nJywKCQlkYXRlRm9ybWF0OiAnZGQvbW0veXknLAoJCWZpcnN0RGF5OiAwLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ21zJ10pOwp9KTs=]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-nl.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogRHV0Y2ggKFVURi04KSBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgTWF0aGlhcyBCeW5lbnMgPGh0dHA6Ly9tYXRoaWFzYnluZW5zLmJlLz4gKi8KalF1ZXJ5KGZ1bmN0aW9uKCQpewoJJC5kYXRlcGlja2VyLnJlZ2lvbmFsLm5sID0gewoJCWNsb3NlVGV4dDogJ1NsdWl0ZW4nLAoJCXByZXZUZXh0OiAn4oaQJywKCQluZXh0VGV4dDogJ+KGkicsCgkJY3VycmVudFRleHQ6ICdWYW5kYWFnJywKCQltb250aE5hbWVzOiBbJ2phbnVhcmknLCAnZmVicnVhcmknLCAnbWFhcnQnLCAnYXByaWwnLCAnbWVpJywgJ2p1bmknLAoJCSdqdWxpJywgJ2F1Z3VzdHVzJywgJ3NlcHRlbWJlcicsICdva3RvYmVyJywgJ25vdmVtYmVyJywgJ2RlY2VtYmVyJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ2phbicsICdmZWInLCAnbWFhJywgJ2FwcicsICdtZWknLCAnanVuJywKCQknanVsJywgJ2F1ZycsICdzZXAnLCAnb2t0JywgJ25vdicsICdkZWMnXSwKCQlkYXlOYW1lczogWyd6b25kYWcnLCAnbWFhbmRhZycsICdkaW5zZGFnJywgJ3dvZW5zZGFnJywgJ2RvbmRlcmRhZycsICd2cmlqZGFnJywgJ3phdGVyZGFnJ10sCgkJZGF5TmFtZXNTaG9ydDogWyd6b24nLCAnbWFhJywgJ2RpbicsICd3b2UnLCAnZG9uJywgJ3ZyaScsICd6YXQnXSwKCQlkYXlOYW1lc01pbjogWyd6bycsICdtYScsICdkaScsICd3bycsICdkbycsICd2cicsICd6YSddLAoJCXdlZWtIZWFkZXI6ICdXaycsCgkJZGF0ZUZvcm1hdDogJ2RkLW1tLXl5JywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsLm5sKTsKfSk7]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-no.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogTm9yd2VnaWFuIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBOYWltZGpvbiBUYWtoaXJvdiAobmFpbWRqb25AZ21haWwuY29tKS4gKi8KCmpRdWVyeShmdW5jdGlvbigkKXsKICAkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ25vJ10gPSB7CiAgICBjbG9zZVRleHQ6ICdMdWtrJywKICAgIHByZXZUZXh0OiAnJmxhcXVvO0ZvcnJpZ2UnLAogICAgbmV4dFRleHQ6ICdOZXN0ZSZyYXF1bzsnLAogICAgY3VycmVudFRleHQ6ICdJIGRhZycsCiAgICBtb250aE5hbWVzOiBbJ2phbnVhcicsJ2ZlYnJ1YXInLCdtYXJzJywnYXByaWwnLCdtYWknLCdqdW5pJywnanVsaScsJ2F1Z3VzdCcsJ3NlcHRlbWJlcicsJ29rdG9iZXInLCdub3ZlbWJlcicsJ2Rlc2VtYmVyJ10sCiAgICBtb250aE5hbWVzU2hvcnQ6IFsnamFuJywnZmViJywnbWFyJywnYXByJywnbWFpJywnanVuJywnanVsJywnYXVnJywnc2VwJywnb2t0Jywnbm92JywnZGVzJ10sCiAgICBkYXlOYW1lc1Nob3J0OiBbJ3PDuG4nLCdtYW4nLCd0aXInLCdvbnMnLCd0b3InLCdmcmUnLCdsw7hyJ10sCiAgICBkYXlOYW1lczogWydzw7huZGFnJywnbWFuZGFnJywndGlyc2RhZycsJ29uc2RhZycsJ3RvcnNkYWcnLCdmcmVkYWcnLCdsw7hyZGFnJ10sCiAgICBkYXlOYW1lc01pbjogWydzw7gnLCdtYScsJ3RpJywnb24nLCd0bycsJ2ZyJywnbMO4J10sCiAgICB3ZWVrSGVhZGVyOiAnVWtlJywKICAgIGRhdGVGb3JtYXQ6ICdkZC5tbS55eScsCiAgICBmaXJzdERheTogMSwKICAgIGlzUlRMOiBmYWxzZSwKICAgIHNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCiAgICB5ZWFyU3VmZml4OiAnJwogIH07CiAgJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnbm8nXSk7Cn0pOwo=]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-pl.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogUG9saXNoIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBKYWNlayBXeXNvY2tpIChqYWNlay53eXNvY2tpQGdtYWlsLmNvbSkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsncGwnXSA9IHsKCQljbG9zZVRleHQ6ICdaYW1rbmlqJywKCQlwcmV2VGV4dDogJyYjeDNjO1BvcHJ6ZWRuaScsCgkJbmV4dFRleHQ6ICdOYXN0xJlwbnkmI3gzZTsnLAoJCWN1cnJlbnRUZXh0OiAnRHppxZsnLAoJCW1vbnRoTmFtZXM6IFsnU3R5Y3plxYQnLCdMdXR5JywnTWFyemVjJywnS3dpZWNpZcWEJywnTWFqJywnQ3plcndpZWMnLAoJCSdMaXBpZWMnLCdTaWVycGllxYQnLCdXcnplc2llxYQnLCdQYcW6ZHppZXJuaWsnLCdMaXN0b3BhZCcsJ0dydWR6aWXFhCddLAoJCW1vbnRoTmFtZXNTaG9ydDogWydTdHknLCdMdScsJ01hcicsJ0t3JywnTWFqJywnQ3plJywKCQknTGlwJywnU2llJywnV3J6JywnUGEnLCdMaXMnLCdHcnUnXSwKCQlkYXlOYW1lczogWydOaWVkemllbGEnLCdQb25pZWR6aWHFgmVrJywnV3RvcmVrJywnxZpyb2RhJywnQ3p3YXJ0ZWsnLCdQacSFdGVrJywnU29ib3RhJ10sCgkJZGF5TmFtZXNTaG9ydDogWydOaWUnLCdQbicsJ1d0JywnxZpyJywnQ3p3JywnUHQnLCdTbyddLAoJCWRheU5hbWVzTWluOiBbJ04nLCdQbicsJ1d0JywnxZpyJywnQ3onLCdQdCcsJ1NvJ10sCgkJd2Vla0hlYWRlcjogJ1R5ZHonLAoJCWRhdGVGb3JtYXQ6ICdkZC5tbS55eScsCgkJZmlyc3REYXk6IDEsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsncGwnXSk7Cn0pOwo=]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-pt-BR.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogQnJhemlsaWFuIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBMZW9uaWxkbyBDb3N0YSBTaWx2YSAobGVvY3NpbHZhQGdtYWlsLmNvbSkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsncHQtQlInXSA9IHsKCQljbG9zZVRleHQ6ICdGZWNoYXInLAoJCXByZXZUZXh0OiAnJiN4M2M7QW50ZXJpb3InLAoJCW5leHRUZXh0OiAnUHImb2FjdXRlO3hpbW8mI3gzZTsnLAoJCWN1cnJlbnRUZXh0OiAnSG9qZScsCgkJbW9udGhOYW1lczogWydKYW5laXJvJywnRmV2ZXJlaXJvJywnTWFyJmNjZWRpbDtvJywnQWJyaWwnLCdNYWlvJywnSnVuaG8nLAoJCSdKdWxobycsJ0Fnb3N0bycsJ1NldGVtYnJvJywnT3V0dWJybycsJ05vdmVtYnJvJywnRGV6ZW1icm8nXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnSmFuJywnRmV2JywnTWFyJywnQWJyJywnTWFpJywnSnVuJywKCQknSnVsJywnQWdvJywnU2V0JywnT3V0JywnTm92JywnRGV6J10sCgkJZGF5TmFtZXM6IFsnRG9taW5nbycsJ1NlZ3VuZGEtZmVpcmEnLCdUZXImY2NlZGlsO2EtZmVpcmEnLCdRdWFydGEtZmVpcmEnLCdRdWludGEtZmVpcmEnLCdTZXh0YS1mZWlyYScsJ1MmYWFjdXRlO2JhZG8nXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ0RvbScsJ1NlZycsJ1RlcicsJ1F1YScsJ1F1aScsJ1NleCcsJ1MmYWFjdXRlO2InXSwKCQlkYXlOYW1lc01pbjogWydEb20nLCdTZWcnLCdUZXInLCdRdWEnLCdRdWknLCdTZXgnLCdTJmFhY3V0ZTtiJ10sCgkJd2Vla0hlYWRlcjogJ1NtJywKCQlkYXRlRm9ybWF0OiAnZGQvbW0veXknLAoJCWZpcnN0RGF5OiAwLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ3B0LUJSJ10pOwp9KTs=]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-pt.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogUG9ydHVndWVzZSBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsncHQnXSA9IHsKCQljbG9zZVRleHQ6ICdGZWNoYXInLAoJCXByZXZUZXh0OiAnJiN4M2M7QW50ZXJpb3InLAoJCW5leHRUZXh0OiAnU2VndWludGUnLAoJCWN1cnJlbnRUZXh0OiAnSG9qZScsCgkJbW9udGhOYW1lczogWydKYW5laXJvJywnRmV2ZXJlaXJvJywnTWFyJmNjZWRpbDtvJywnQWJyaWwnLCdNYWlvJywnSnVuaG8nLAoJCSdKdWxobycsJ0Fnb3N0bycsJ1NldGVtYnJvJywnT3V0dWJybycsJ05vdmVtYnJvJywnRGV6ZW1icm8nXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnSmFuJywnRmV2JywnTWFyJywnQWJyJywnTWFpJywnSnVuJywKCQknSnVsJywnQWdvJywnU2V0JywnT3V0JywnTm92JywnRGV6J10sCgkJZGF5TmFtZXM6IFsnRG9taW5nbycsJ1NlZ3VuZGEtZmVpcmEnLCdUZXImY2NlZGlsO2EtZmVpcmEnLCdRdWFydGEtZmVpcmEnLCdRdWludGEtZmVpcmEnLCdTZXh0YS1mZWlyYScsJ1MmYWFjdXRlO2JhZG8nXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ0RvbScsJ1NlZycsJ1RlcicsJ1F1YScsJ1F1aScsJ1NleCcsJ1MmYWFjdXRlO2InXSwKCQlkYXlOYW1lc01pbjogWydEb20nLCdTZWcnLCdUZXInLCdRdWEnLCdRdWknLCdTZXgnLCdTJmFhY3V0ZTtiJ10sCgkJd2Vla0hlYWRlcjogJ1NlbScsCgkJZGF0ZUZvcm1hdDogJ2RkL21tL3l5JywKCQlmaXJzdERheTogMCwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydwdCddKTsKfSk7]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-rm.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogUm9tYW5zaCBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgWXZvbm5lIEdpZW5hbCAoeXZvbm5lLmdpZW5hbEBlZHVjYS5jaCkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsncm0nXSA9IHsKCQljbG9zZVRleHQ6ICdTZXJyYXInLAoJCXByZXZUZXh0OiAnJiN4M2M7U3VhbmRhbnQnLAoJCW5leHRUZXh0OiAnUHJlY2VkZW50JiN4M2U7JywKCQljdXJyZW50VGV4dDogJ0FjdHVhbCcsCgkJbW9udGhOYW1lczogWydTY2hhbmVyJywnRmF2cmVyJywnTWFycycsJ0F2cmlnbCcsJ01hdGcnLCdaZXJjbGFkdXInLCAnRmFuYWR1cicsJ0F2dXN0JywnU2V0dGVtYmVyJywnT2N0b2JlcicsJ05vdmVtYmVyJywnRGVjZW1iZXInXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnU2NoYScsJ0ZldicsJ01hcicsJ0F2cicsJ01hdGcnLCdaZXInLCAnRmFuJywnQXZ1JywnU2V0dCcsJ09jdCcsJ05vdicsJ0RlYyddLAoJCWRheU5hbWVzOiBbJ0R1bWVuZ2lhJywnR2xpbmRlc2RpJywnTWFyZGknLCdNZXNlbW5hJywnR2lldmdpYScsJ1ZlbmRlcmRpJywnU29uZGEnXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ0R1bScsJ0dsaScsJ01hcicsJ01lcycsJ0dpZScsJ1ZlbicsJ1NvbSddLAoJCWRheU5hbWVzTWluOiBbJ0R1JywnR2wnLCdNYScsJ01lJywnR2knLCdWZScsJ1NvJ10sCgkJd2Vla0hlYWRlcjogJ2VtbmEnLAoJCWRhdGVGb3JtYXQ6ICdkZC9tbS95eScsCgkJZmlyc3REYXk6IDEsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsncm0nXSk7Cn0pOwo=]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-ro.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogUm9tYW5pYW4gaW5pdGlhbGlzYXRpb24gZm9yIHRoZSBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLgogKgogKiBXcml0dGVuIGJ5IEVkbW9uZCBMLiAobGxfZWRtb25kQHdhbGxhLmNvbSkKICogYW5kIElvbnV0IEcuIFN0YW4gKGlvbnV0Lmcuc3RhbkBnbWFpbC5jb20pCiAqLwpqUXVlcnkoZnVuY3Rpb24oJCl7CgkkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ3JvJ10gPSB7CgkJY2xvc2VUZXh0OiAnw45uY2hpZGUnLAoJCXByZXZUZXh0OiAnJmxhcXVvOyBMdW5hIHByZWNlZGVudMSDJywKCQluZXh0VGV4dDogJ0x1bmEgdXJtxIN0b2FyZSAmcmFxdW87JywKCQljdXJyZW50VGV4dDogJ0F6aScsCgkJbW9udGhOYW1lczogWydJYW51YXJpZScsJ0ZlYnJ1YXJpZScsJ01hcnRpZScsJ0FwcmlsaWUnLCdNYWknLCdJdW5pZScsCgkJJ0l1bGllJywnQXVndXN0JywnU2VwdGVtYnJpZScsJ09jdG9tYnJpZScsJ05vaWVtYnJpZScsJ0RlY2VtYnJpZSddLAoJCW1vbnRoTmFtZXNTaG9ydDogWydJYW4nLCAnRmViJywgJ01hcicsICdBcHInLCAnTWFpJywgJ0l1bicsCgkJJ0l1bCcsICdBdWcnLCAnU2VwJywgJ09jdCcsICdOb3YnLCAnRGVjJ10sCgkJZGF5TmFtZXM6IFsnRHVtaW5pY8SDJywgJ0x1bmknLCAnTWFyxaNpJywgJ01pZXJjdXJpJywgJ0pvaScsICdWaW5lcmknLCAnU8OibWLEg3TEgyddLAoJCWRheU5hbWVzU2hvcnQ6IFsnRHVtJywgJ0x1bicsICdNYXInLCAnTWllJywgJ0pvaScsICdWaW4nLCAnU8OibSddLAoJCWRheU5hbWVzTWluOiBbJ0R1JywnTHUnLCdNYScsJ01pJywnSm8nLCdWaScsJ1PDoiddLAoJCXdlZWtIZWFkZXI6ICdTxINwdCcsCgkJZGF0ZUZvcm1hdDogJ2RkLm1tLnl5JywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydybyddKTsKfSk7Cg==]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-ru.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogUnVzc2lhbiAoVVRGLTgpIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBBbmRyZXcgU3Ryb21ub3YgKHN0cm9tbm92QGdtYWlsLmNvbSkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsncnUnXSA9IHsKCQljbG9zZVRleHQ6ICfQl9Cw0LrRgNGL0YLRjCcsCgkJcHJldlRleHQ6ICcmI3gzYzvQn9GA0LXQtCcsCgkJbmV4dFRleHQ6ICfQodC70LXQtCYjeDNlOycsCgkJY3VycmVudFRleHQ6ICfQodC10LPQvtC00L3RjycsCgkJbW9udGhOYW1lczogWyfQr9C90LLQsNGA0YwnLCfQpNC10LLRgNCw0LvRjCcsJ9Cc0LDRgNGCJywn0JDQv9GA0LXQu9GMJywn0JzQsNC5Jywn0JjRjtC90YwnLAoJCSfQmNGO0LvRjCcsJ9CQ0LLQs9GD0YHRgicsJ9Ch0LXQvdGC0Y/QsdGA0YwnLCfQntC60YLRj9Cx0YDRjCcsJ9Cd0L7Rj9Cx0YDRjCcsJ9CU0LXQutCw0LHRgNGMJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ9Cv0L3QsicsJ9Ck0LXQsicsJ9Cc0LDRgCcsJ9CQ0L/RgCcsJ9Cc0LDQuScsJ9CY0Y7QvScsCgkJJ9CY0Y7QuycsJ9CQ0LLQsycsJ9Ch0LXQvScsJ9Ce0LrRgicsJ9Cd0L7RjycsJ9CU0LXQuiddLAoJCWRheU5hbWVzOiBbJ9Cy0L7RgdC60YDQtdGB0LXQvdGM0LUnLCfQv9C+0L3QtdC00LXQu9GM0L3QuNC6Jywn0LLRgtC+0YDQvdC40LonLCfRgdGA0LXQtNCwJywn0YfQtdGC0LLQtdGA0LMnLCfQv9GP0YLQvdC40YbQsCcsJ9GB0YPQsdCx0L7RgtCwJ10sCgkJZGF5TmFtZXNTaG9ydDogWyfQstGB0LonLCfQv9C90LQnLCfQstGC0YAnLCfRgdGA0LQnLCfRh9GC0LInLCfQv9GC0L0nLCfRgdCx0YInXSwKCQlkYXlOYW1lc01pbjogWyfQktGBJywn0J/QvScsJ9CS0YInLCfQodGAJywn0KfRgicsJ9Cf0YInLCfQodCxJ10sCgkJd2Vla0hlYWRlcjogJ9Cd0LXQtCcsCgkJZGF0ZUZvcm1hdDogJ2RkLm1tLnl5JywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydydSddKTsKfSk7]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-sk.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogU2xvdmFrIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBWb2p0ZWNoIFJpbmlrICh2b2p0b0BobW0uc2spLiAqLwpqUXVlcnkoZnVuY3Rpb24oJCl7CgkkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ3NrJ10gPSB7CgkJY2xvc2VUZXh0OiAnWmF2cmllxaUnLAoJCXByZXZUZXh0OiAnJiN4M2M7UHJlZGNow6FkemFqw7pjaScsCgkJbmV4dFRleHQ6ICdOYXNsZWR1asO6Y2kmI3gzZTsnLAoJCWN1cnJlbnRUZXh0OiAnRG5lcycsCgkJbW9udGhOYW1lczogWydKYW51w6FyJywnRmVicnXDoXInLCdNYXJlYycsJ0FwcsOtbCcsJ03DoWonLCdKw7puJywKCQknSsO6bCcsJ0F1Z3VzdCcsJ1NlcHRlbWJlcicsJ09rdMOzYmVyJywnTm92ZW1iZXInLCdEZWNlbWJlciddLAoJCW1vbnRoTmFtZXNTaG9ydDogWydKYW4nLCdGZWInLCdNYXInLCdBcHInLCdNw6FqJywnSsO6bicsCgkJJ0rDumwnLCdBdWcnLCdTZXAnLCdPa3QnLCdOb3YnLCdEZWMnXSwKCQlkYXlOYW1lczogWydOZWRlxL5hJywnUG9uZGVsb2snLCdVdG9yb2snLCdTdHJlZGEnLCfFoHR2cnRvaycsJ1BpYXRvaycsJ1NvYm90YSddLAoJCWRheU5hbWVzU2hvcnQ6IFsnTmVkJywnUG9uJywnVXRvJywnU3RyJywnxaB0dicsJ1BpYScsJ1NvYiddLAoJCWRheU5hbWVzTWluOiBbJ05lJywnUG8nLCdVdCcsJ1N0JywnxaB0JywnUGlhJywnU28nXSwKCQl3ZWVrSGVhZGVyOiAnVHknLAoJCWRhdGVGb3JtYXQ6ICdkZC5tbS55eScsCgkJZmlyc3REYXk6IDEsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnc2snXSk7Cn0pOwo=]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-sl.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogU2xvdmVuaWFuIGluaXRpYWxpc2F0aW9uIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBKYWthIEphbmNhciAoamFrYUBrdWJqZS5vcmcpLiAqLwovKiBjID0gJiN4MTBEOywgcyA9ICYjeDE2MTsgeiA9ICYjeDE3RTsgQyA9ICYjeDEwQzsgUyA9ICYjeDE2MDsgWiA9ICYjeDE3RDsgKi8KalF1ZXJ5KGZ1bmN0aW9uKCQpewoJJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydzbCddID0gewoJCWNsb3NlVGV4dDogJ1phcHJpJywKCQlwcmV2VGV4dDogJyZsdDtQcmVqJiN4MTYxO25qaScsCgkJbmV4dFRleHQ6ICdOYXNsZWRuamkmZ3Q7JywKCQljdXJyZW50VGV4dDogJ1RyZW51dG5pJywKCQltb250aE5hbWVzOiBbJ0phbnVhcicsJ0ZlYnJ1YXInLCdNYXJlYycsJ0FwcmlsJywnTWFqJywnSnVuaWonLAoJCSdKdWxpaicsJ0F2Z3VzdCcsJ1NlcHRlbWJlcicsJ09rdG9iZXInLCdOb3ZlbWJlcicsJ0RlY2VtYmVyJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ0phbicsJ0ZlYicsJ01hcicsJ0FwcicsJ01haicsJ0p1bicsCgkJJ0p1bCcsJ0F2ZycsJ1NlcCcsJ09rdCcsJ05vdicsJ0RlYyddLAoJCWRheU5hbWVzOiBbJ05lZGVsamEnLCdQb25lZGVsamVrJywnVG9yZWsnLCdTcmVkYScsJyYjeDEwQztldHJ0ZWsnLCdQZXRlaycsJ1NvYm90YSddLAoJCWRheU5hbWVzU2hvcnQ6IFsnTmVkJywnUG9uJywnVG9yJywnU3JlJywnJiN4MTBDO2V0JywnUGV0JywnU29iJ10sCgkJZGF5TmFtZXNNaW46IFsnTmUnLCdQbycsJ1RvJywnU3InLCcmI3gxMEM7ZScsJ1BlJywnU28nXSwKCQl3ZWVrSGVhZGVyOiAnVGVkZW4nLAoJCWRhdGVGb3JtYXQ6ICdkZC5tbS55eScsCgkJZmlyc3REYXk6IDEsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnc2wnXSk7Cn0pOwo=]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-sq.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogQWxiYW5pYW4gaW5pdGlhbGlzYXRpb24gZm9yIHRoZSBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAqLwovKiBXcml0dGVuIGJ5IEZsYWtyb24gQnl0eXFpIChmbGFrcm9uQGdtYWlsLmNvbSkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnc3EnXSA9IHsKCQljbG9zZVRleHQ6ICdtYnlsbGUnLAoJCXByZXZUZXh0OiAnJiN4M2M7bWJyYXBhJywKCQluZXh0VGV4dDogJ1DDq3JwYXJhJiN4M2U7JywKCQljdXJyZW50VGV4dDogJ3NvdCcsCgkJbW9udGhOYW1lczogWydKYW5hcicsJ1Noa3VydCcsJ01hcnMnLCdQcmlsbCcsJ01haicsJ1FlcnNob3InLAoJCSdLb3JyaWsnLCdHdXNodCcsJ1NodGF0b3InLCdUZXRvcicsJ07Dq250b3InLCdEaGpldG9yJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ0phbicsJ1NoaycsJ01hcicsJ1ByaScsJ01haicsJ1FlcicsCgkJJ0tvcicsJ0d1cycsJ1NodCcsJ1RldCcsJ07Dq24nLCdEaGonXSwKCQlkYXlOYW1lczogWydFIERpZWwnLCdFIEjDq27DqycsJ0UgTWFydMOrJywnRSBNw6tya3Vyw6snLCdFIEVuanRlJywnRSBQcmVtdGUnLCdFIFNodHVuZSddLAoJCWRheU5hbWVzU2hvcnQ6IFsnRGknLCdIw6snLCdNYScsJ03DqycsJ0VuJywnUHInLCdTaCddLAoJCWRheU5hbWVzTWluOiBbJ0RpJywnSMOrJywnTWEnLCdNw6snLCdFbicsJ1ByJywnU2gnXSwKCQl3ZWVrSGVhZGVyOiAnSmEnLAoJCWRhdGVGb3JtYXQ6ICdkZC5tbS55eScsCgkJZmlyc3REYXk6IDEsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnc3EnXSk7Cn0pOwo=]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-sr-SR.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogU2VyYmlhbiBpMThuIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBEZWphbiBEaW1pxIcuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnc3ItU1InXSA9IHsKCQljbG9zZVRleHQ6ICdaYXR2b3JpJywKCQlwcmV2VGV4dDogJyYjeDNjOycsCgkJbmV4dFRleHQ6ICcmI3gzZTsnLAoJCWN1cnJlbnRUZXh0OiAnRGFuYXMnLAoJCW1vbnRoTmFtZXM6IFsnSmFudWFyJywnRmVicnVhcicsJ01hcnQnLCdBcHJpbCcsJ01haicsJ0p1bicsCgkJJ0p1bCcsJ0F2Z3VzdCcsJ1NlcHRlbWJhcicsJ09rdG9iYXInLCdOb3ZlbWJhcicsJ0RlY2VtYmFyJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ0phbicsJ0ZlYicsJ01hcicsJ0FwcicsJ01haicsJ0p1bicsCgkJJ0p1bCcsJ0F2ZycsJ1NlcCcsJ09rdCcsJ05vdicsJ0RlYyddLAoJCWRheU5hbWVzOiBbJ05lZGVsamEnLCdQb25lZGVsamFrJywnVXRvcmFrJywnU3JlZGEnLCfEjGV0dnJ0YWsnLCdQZXRhaycsJ1N1Ym90YSddLAoJCWRheU5hbWVzU2hvcnQ6IFsnTmVkJywnUG9uJywnVXRvJywnU3JlJywnxIxldCcsJ1BldCcsJ1N1YiddLAoJCWRheU5hbWVzTWluOiBbJ05lJywnUG8nLCdVdCcsJ1NyJywnxIxlJywnUGUnLCdTdSddLAoJCXdlZWtIZWFkZXI6ICdTZWQnLAoJCWRhdGVGb3JtYXQ6ICdkZC9tbS95eScsCgkJZmlyc3REYXk6IDEsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnc3ItU1InXSk7Cn0pOwo=]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-sr.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogU2VyYmlhbiBpMThuIGZvciB0aGUgalF1ZXJ5IFVJIGRhdGUgcGlja2VyIHBsdWdpbi4gKi8KLyogV3JpdHRlbiBieSBEZWphbiBEaW1pxIcuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnc3InXSA9IHsKCQljbG9zZVRleHQ6ICfQl9Cw0YLQstC+0YDQuCcsCgkJcHJldlRleHQ6ICcmI3gzYzsnLAoJCW5leHRUZXh0OiAnJiN4M2U7JywKCQljdXJyZW50VGV4dDogJ9CU0LDQvdCw0YEnLAoJCW1vbnRoTmFtZXM6IFsn0IjQsNC90YPQsNGAJywn0KTQtdCx0YDRg9Cw0YAnLCfQnNCw0YDRgicsJ9CQ0L/RgNC40LsnLCfQnNCw0ZgnLCfQiNGD0L0nLAoJCSfQiNGD0LsnLCfQkNCy0LPRg9GB0YInLCfQodC10L/RgtC10LzQsdCw0YAnLCfQntC60YLQvtCx0LDRgCcsJ9Cd0L7QstC10LzQsdCw0YAnLCfQlNC10YbQtdC80LHQsNGAJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ9CI0LDQvScsJ9Ck0LXQsScsJ9Cc0LDRgCcsJ9CQ0L/RgCcsJ9Cc0LDRmCcsJ9CI0YPQvScsCgkJJ9CI0YPQuycsJ9CQ0LLQsycsJ9Ch0LXQvycsJ9Ce0LrRgicsJ9Cd0L7QsicsJ9CU0LXRhiddLAoJCWRheU5hbWVzOiBbJ9Cd0LXQtNC10ZnQsCcsJ9Cf0L7QvdC10LTQtdGZ0LDQuicsJ9Cj0YLQvtGA0LDQuicsJ9Ch0YDQtdC00LAnLCfQp9C10YLQstGA0YLQsNC6Jywn0J/QtdGC0LDQuicsJ9Ch0YPQsdC+0YLQsCddLAoJCWRheU5hbWVzU2hvcnQ6IFsn0J3QtdC0Jywn0J/QvtC9Jywn0KPRgtC+Jywn0KHRgNC1Jywn0KfQtdGCJywn0J/QtdGCJywn0KHRg9CxJ10sCgkJZGF5TmFtZXNNaW46IFsn0J3QtScsJ9Cf0L4nLCfQo9GCJywn0KHRgCcsJ9Cn0LUnLCfQn9C1Jywn0KHRgyddLAoJCXdlZWtIZWFkZXI6ICfQodC10LQnLAoJCWRhdGVGb3JtYXQ6ICdkZC9tbS95eScsCgkJZmlyc3REYXk6IDEsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnc3InXSk7Cn0pOwo=]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-sv.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogU3dlZGlzaCBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgQW5kZXJzIEVrZGFobCAoIGFuZGVyc0Bub21hZGl6LnNlKS4gKi8KalF1ZXJ5KGZ1bmN0aW9uKCQpewogICAgJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydzdiddID0gewoJCWNsb3NlVGV4dDogJ1N0w6RuZycsCiAgICAgICAgcHJldlRleHQ6ICcmbGFxdW87RsO2cnJhJywKCQluZXh0VGV4dDogJ07DpHN0YSZyYXF1bzsnLAoJCWN1cnJlbnRUZXh0OiAnSWRhZycsCiAgICAgICAgbW9udGhOYW1lczogWydKYW51YXJpJywnRmVicnVhcmknLCdNYXJzJywnQXByaWwnLCdNYWonLCdKdW5pJywKICAgICAgICAnSnVsaScsJ0F1Z3VzdGknLCdTZXB0ZW1iZXInLCdPa3RvYmVyJywnTm92ZW1iZXInLCdEZWNlbWJlciddLAogICAgICAgIG1vbnRoTmFtZXNTaG9ydDogWydKYW4nLCdGZWInLCdNYXInLCdBcHInLCdNYWonLCdKdW4nLAogICAgICAgICdKdWwnLCdBdWcnLCdTZXAnLCdPa3QnLCdOb3YnLCdEZWMnXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ1PDtm4nLCdNw6VuJywnVGlzJywnT25zJywnVG9yJywnRnJlJywnTMO2ciddLAoJCWRheU5hbWVzOiBbJ1PDtm5kYWcnLCdNw6VuZGFnJywnVGlzZGFnJywnT25zZGFnJywnVG9yc2RhZycsJ0ZyZWRhZycsJ0zDtnJkYWcnXSwKCQlkYXlOYW1lc01pbjogWydTw7YnLCdNw6UnLCdUaScsJ09uJywnVG8nLCdGcicsJ0zDtiddLAoJCXdlZWtIZWFkZXI6ICdWZScsCiAgICAgICAgZGF0ZUZvcm1hdDogJ3l5LW1tLWRkJywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CiAgICAkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWydzdiddKTsKfSk7Cg==]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-ta.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogVGFtaWwgKFVURi04KSBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgUyBBIFN1cmVzaGt1bWFyIChzYXNrdW1hckBsaXZlLmNvbSkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsndGEnXSA9IHsKCQljbG9zZVRleHQ6ICfgrq7gr4Lgrp/gr4EnLAoJCXByZXZUZXh0OiAn4K6u4K+B4K6p4K+N4K6p4K+I4K6v4K6k4K+BJywKCQluZXh0VGV4dDogJ+CuheCun+CvgeCupOCvjeCupOCupOCvgScsCgkJY3VycmVudFRleHQ6ICfgrofgrqngr43grrHgr4EnLAoJCW1vbnRoTmFtZXM6IFsn4K6k4K+IJywn4K6u4K6+4K6a4K6/Jywn4K6q4K6Z4K+N4K6V4K+B4K6p4K6/Jywn4K6a4K6/4K6k4K+N4K6k4K6/4K6w4K+IJywn4K614K+I4K6V4K6+4K6a4K6/Jywn4K6G4K6p4K6/JywKCQkn4K6G4K6f4K6/Jywn4K6G4K614K6j4K6/Jywn4K6q4K+B4K6w4K6f4K+N4K6f4K6+4K6a4K6/Jywn4K6Q4K6q4K+N4K6q4K6a4K6/Jywn4K6V4K6+4K6w4K+N4K6k4K+N4K6k4K6/4K6V4K+IJywn4K6u4K6+4K6w4K+N4K6V4K604K6/J10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ+CupOCviCcsJ+CuruCuvuCumuCuvycsJ+CuquCumeCvjScsJ+CumuCuv+CupOCvjScsJ+CuteCviOCuleCuvicsJ+CuhuCuqeCuvycsCgkJJ+CuhuCun+CuvycsJ+CuhuCutScsJ+CuquCvgeCusCcsJ+CukOCuquCvjScsJ+CuleCuvuCusOCvjScsJ+CuruCuvuCusOCvjSddLAoJCWRheU5hbWVzOiBbJ+CunuCuvuCur+Cuv+CuseCvjeCuseCvgeCuleCvjeCuleCuv+CutOCuruCviCcsJ+CupOCuv+CumeCvjeCuleCun+CvjeCuleCuv+CutOCuruCviCcsJ+CumuCvhuCuteCvjeCuteCuvuCur+CvjeCuleCvjeCuleCuv+CutOCuruCviCcsJ+CuquCvgeCupOCuqeCvjeCuleCuv+CutOCuruCviCcsJ+CuteCuv+Cur+CuvuCutOCuleCvjeCuleCuv+CutOCuruCviCcsJ+CuteCvhuCus+CvjeCus+Cuv+CuleCvjeCuleCuv+CutOCuruCviCcsJ+CumuCuqeCuv+CuleCvjeCuleCuv+CutOCuruCviCddLAoJCWRheU5hbWVzU2hvcnQ6IFsn4K6e4K6+4K6v4K6/4K6x4K+BJywn4K6k4K6/4K6Z4K+N4K6V4K6z4K+NJywn4K6a4K+G4K614K+N4K614K6+4K6v4K+NJywn4K6q4K+B4K6k4K6p4K+NJywn4K614K6/4K6v4K6+4K604K6p4K+NJywn4K614K+G4K6z4K+N4K6z4K6/Jywn4K6a4K6p4K6/J10sCgkJZGF5TmFtZXNNaW46IFsn4K6e4K6+Jywn4K6k4K6/Jywn4K6a4K+GJywn4K6q4K+BJywn4K614K6/Jywn4K614K+GJywn4K6aJ10sCgkJd2Vla0hlYWRlcjogJ9Cd0LUnLAoJCWRhdGVGb3JtYXQ6ICdkZC9tbS95eScsCgkJZmlyc3REYXk6IDEsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsndGEnXSk7Cn0pOwo=]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-th.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogVGhhaSBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgcGlwbyAocGlwb0BzaXhoZWFkLmNvbSkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsndGgnXSA9IHsKCQljbG9zZVRleHQ6ICfguJvguLTguJQnLAoJCXByZXZUZXh0OiAnJmxhcXVvOyZuYnNwO+C4ouC5ieC4reC4mScsCgkJbmV4dFRleHQ6ICfguJbguLHguJTguYTguJsmbmJzcDsmcmFxdW87JywKCQljdXJyZW50VGV4dDogJ+C4p+C4seC4meC4meC4teC5iScsCgkJbW9udGhOYW1lczogWyfguKHguIHguKPguLLguITguKEnLCfguIHguLjguKHguKDguLLguJ7guLHguJnguJjguYwnLCfguKHguLXguJnguLLguITguKEnLCfguYDguKHguKnguLLguKLguJknLCfguJ7guKTguKnguKDguLLguITguKEnLCfguKHguLTguJbguLjguJnguLLguKLguJknLAoJCSfguIHguKPguIHguI7guLLguITguKEnLCfguKrguLTguIfguKvguLLguITguKEnLCfguIHguLHguJnguKLguLLguKLguJknLCfguJXguLjguKXguLLguITguKEnLCfguJ7guKTguKjguIjguLTguIHguLLguKLguJknLCfguJjguLHguJnguKfguLLguITguKEnXSwKCQltb250aE5hbWVzU2hvcnQ6IFsn4LihLuC4hC4nLCfguIEu4LieLicsJ+C4oeC4tS7guIQuJywn4LmA4LihLuC4oi4nLCfguJ4u4LiELicsJ+C4oeC4tC7guKIuJywKCQkn4LiBLuC4hC4nLCfguKou4LiELicsJ+C4gS7guKIuJywn4LiVLuC4hC4nLCfguJ4u4LiiLicsJ+C4mC7guIQuJ10sCgkJZGF5TmFtZXM6IFsn4Lit4Liy4LiX4Li04LiV4Lii4LmMJywn4LiI4Lix4LiZ4LiX4Lij4LmMJywn4Lit4Lix4LiH4LiE4Liy4LijJywn4Lie4Li44LiYJywn4Lie4Lik4Lir4Lix4Liq4Lia4LiU4Li1Jywn4Lio4Li44LiB4Lij4LmMJywn4LmA4Liq4Liy4Lij4LmMJ10sCgkJZGF5TmFtZXNTaG9ydDogWyfguK3guLIuJywn4LiILicsJ+C4rS4nLCfguJ4uJywn4Lie4LikLicsJ+C4qC4nLCfguKouJ10sCgkJZGF5TmFtZXNNaW46IFsn4Lit4LiyLicsJ+C4iC4nLCfguK0uJywn4LieLicsJ+C4nuC4pC4nLCfguKguJywn4LiqLiddLAoJCXdlZWtIZWFkZXI6ICdXaycsCgkJZGF0ZUZvcm1hdDogJ2RkL21tL3l5JywKCQlmaXJzdERheTogMCwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWyd0aCddKTsKfSk7]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-tj.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogVGFqaWtpIChVVEYtOCkgaW5pdGlhbGlzYXRpb24gZm9yIHRoZSBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAqLwovKiBXcml0dGVuIGJ5IEFiZHVyYWhtb24gU2FpZG92IChzYWlkb3ZhYkBnbWFpbC5jb20pLiAqLwpqUXVlcnkoZnVuY3Rpb24oJCl7CgkkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ3RqJ10gPSB7CgkJY2xvc2VUZXh0OiAn0JjQtNC+0LzQsCcsCgkJcHJldlRleHQ6ICcmI3gzYzvSmtCw0YTQvicsCgkJbmV4dFRleHQ6ICfQn9C10YgmI3gzZTsnLAoJCWN1cnJlbnRUZXh0OiAn0JjQvNGA06/QtycsCgkJbW9udGhOYW1lczogWyfQr9C90LLQsNGAJywn0KTQtdCy0YDQsNC7Jywn0JzQsNGA0YInLCfQkNC/0YDQtdC7Jywn0JzQsNC5Jywn0JjRjtC9JywKCQkn0JjRjtC7Jywn0JDQstCz0YPRgdGCJywn0KHQtdC90YLRj9Cx0YAnLCfQntC60YLRj9Cx0YAnLCfQndC+0Y/QsdGAJywn0JTQtdC60LDQsdGAJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ9Cv0L3QsicsJ9Ck0LXQsicsJ9Cc0LDRgCcsJ9CQ0L/RgCcsJ9Cc0LDQuScsJ9CY0Y7QvScsCgkJJ9CY0Y7QuycsJ9CQ0LLQsycsJ9Ch0LXQvScsJ9Ce0LrRgicsJ9Cd0L7RjycsJ9CU0LXQuiddLAoJCWRheU5hbWVzOiBbJ9GP0LrRiNCw0L3QsdC1Jywn0LTRg9GI0LDQvdCx0LUnLCfRgdC10YjQsNC90LHQtScsJ9GH0L7RgNGI0LDQvdCx0LUnLCfQv9Cw0L3St9GI0LDQvdCx0LUnLCfSt9GD0LzRitCwJywn0YjQsNC90LHQtSddLAoJCWRheU5hbWVzU2hvcnQ6IFsn0Y/QutGIJywn0LTRg9GIJywn0YHQtdGIJywn0YfQvtGAJywn0L/QsNC9Jywn0rfRg9C8Jywn0YjQsNC9J10sCgkJZGF5TmFtZXNNaW46IFsn0K/QuicsJ9CU0YgnLCfQodGIJywn0KfRiCcsJ9Cf0YgnLCfSttC8Jywn0KjQvSddLAoJCXdlZWtIZWFkZXI6ICfQpdGEJywKCQlkYXRlRm9ybWF0OiAnZGQubW0ueXknLAoJCWZpcnN0RGF5OiAxLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJCXllYXJTdWZmaXg6ICcnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ3RqJ10pOwp9KTs=]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-tr.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogVHVya2lzaCBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgSXp6ZXQgRW1yZSBFcmthbiAoa2FyYUBrYXJhbGFtYWxhci5uZXQpLiAqLwpqUXVlcnkoZnVuY3Rpb24oJCl7CgkkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ3RyJ10gPSB7CgkJY2xvc2VUZXh0OiAna2FwYXQnLAoJCXByZXZUZXh0OiAnJiN4M2M7Z2VyaScsCgkJbmV4dFRleHQ6ICdpbGVyaSYjeDNlJywKCQljdXJyZW50VGV4dDogJ2J1Z8O8bicsCgkJbW9udGhOYW1lczogWydPY2FrJywnxZ51YmF0JywnTWFydCcsJ05pc2FuJywnTWF5xLFzJywnSGF6aXJhbicsCgkJJ1RlbW11eicsJ0HEn3VzdG9zJywnRXlsw7xsJywnRWtpbScsJ0thc8SxbScsJ0FyYWzEsWsnXSwKCQltb250aE5hbWVzU2hvcnQ6IFsnT2NhJywnxZ51YicsJ01hcicsJ05pcycsJ01heScsJ0hheicsCgkJJ1RlbScsJ0HEn3UnLCdFeWwnLCdFa2knLCdLYXMnLCdBcmEnXSwKCQlkYXlOYW1lczogWydQYXphcicsJ1BhemFydGVzaScsJ1NhbMSxJywnw4dhcsWfYW1iYScsJ1BlcsWfZW1iZScsJ0N1bWEnLCdDdW1hcnRlc2knXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ1B6JywnUHQnLCdTYScsJ8OHYScsJ1BlJywnQ3UnLCdDdCddLAoJCWRheU5hbWVzTWluOiBbJ1B6JywnUHQnLCdTYScsJ8OHYScsJ1BlJywnQ3UnLCdDdCddLAoJCXdlZWtIZWFkZXI6ICdIZicsCgkJZGF0ZUZvcm1hdDogJ2RkLm1tLnl5JywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWyd0ciddKTsKfSk7]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-uk.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogVWtyYWluaWFuIChVVEYtOCkgaW5pdGlhbGlzYXRpb24gZm9yIHRoZSBqUXVlcnkgVUkgZGF0ZSBwaWNrZXIgcGx1Z2luLiAqLwovKiBXcml0dGVuIGJ5IE1heGltIERyb2dvYml0c2tpeSAobWF4ZGFvQGdtYWlsLmNvbSkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsndWsnXSA9IHsKCQljbG9zZVRleHQ6ICfQl9Cw0LrRgNC40YLQuCcsCgkJcHJldlRleHQ6ICcmI3gzYzsnLAoJCW5leHRUZXh0OiAnJiN4M2U7JywKCQljdXJyZW50VGV4dDogJ9Ch0YzQvtCz0L7QtNC90ZYnLAoJCW1vbnRoTmFtZXM6IFsn0KHRltGH0LXQvdGMJywn0JvRjtGC0LjQuScsJ9CR0LXRgNC10LfQtdC90YwnLCfQmtCy0ZbRgtC10L3RjCcsJ9Ci0YDQsNCy0LXQvdGMJywn0KfQtdGA0LLQtdC90YwnLAoJCSfQm9C40L/QtdC90YwnLCfQodC10YDQv9C10L3RjCcsJ9CS0LXRgNC10YHQtdC90YwnLCfQltC+0LLRgtC10L3RjCcsJ9Cb0LjRgdGC0L7Qv9Cw0LQnLCfQk9GA0YPQtNC10L3RjCddLAoJCW1vbnRoTmFtZXNTaG9ydDogWyfQodGW0YcnLCfQm9GO0YInLCfQkdC10YAnLCfQmtCy0ZYnLCfQotGA0LAnLCfQp9C10YAnLAoJCSfQm9C40L8nLCfQodC10YAnLCfQktC10YAnLCfQltC+0LInLCfQm9C40YEnLCfQk9GA0YMnXSwKCQlkYXlOYW1lczogWyfQvdC10LTRltC70Y8nLCfQv9C+0L3QtdC00ZbQu9C+0LonLCfQstGW0LLRgtC+0YDQvtC6Jywn0YHQtdGA0LXQtNCwJywn0YfQtdGC0LLQtdGAJywn0L/igJnRj9GC0L3QuNGG0Y8nLCfRgdGD0LHQvtGC0LAnXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ9C90LXQtCcsJ9C/0L3QtCcsJ9Cy0ZbQsicsJ9GB0YDQtCcsJ9GH0YLQsicsJ9C/0YLQvScsJ9GB0LHRgiddLAoJCWRheU5hbWVzTWluOiBbJ9Cd0LQnLCfQn9C9Jywn0JLRgicsJ9Ch0YAnLCfQp9GCJywn0J/RgicsJ9Ch0LEnXSwKCQl3ZWVrSGVhZGVyOiAn0J3QtScsCgkJZGF0ZUZvcm1hdDogJ2RkL21tL3l5JywKCQlmaXJzdERheTogMSwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiBmYWxzZSwKCQl5ZWFyU3VmZml4OiAnJ307CgkkLmRhdGVwaWNrZXIuc2V0RGVmYXVsdHMoJC5kYXRlcGlja2VyLnJlZ2lvbmFsWyd1ayddKTsKfSk7]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-vi.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogVmlldG5hbWVzZSBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFRyYW5zbGF0ZWQgYnkgTGUgVGhhbmggSHV5IChsdGhhbmhodXlAY2l0LmN0dS5lZHUudm4pLiAqLwpqUXVlcnkoZnVuY3Rpb24oJCl7CgkkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ3ZpJ10gPSB7CgkJY2xvc2VUZXh0OiAnxJDDs25nJywKCQlwcmV2VGV4dDogJyYjeDNjO1RyxrDhu5tjJywKCQluZXh0VGV4dDogJ1Rp4bq/cCYjeDNlOycsCgkJY3VycmVudFRleHQ6ICdIw7RtIG5heScsCgkJbW9udGhOYW1lczogWydUaMOhbmcgTeG7mXQnLCAnVGjDoW5nIEhhaScsICdUaMOhbmcgQmEnLCAnVGjDoW5nIFTGsCcsICdUaMOhbmcgTsSDbScsICdUaMOhbmcgU8OhdScsCgkJJ1Row6FuZyBC4bqjeScsICdUaMOhbmcgVMOhbScsICdUaMOhbmcgQ2jDrW4nLCAnVGjDoW5nIE3GsOG7nWknLCAnVGjDoW5nIE3GsOG7nWkgTeG7mXQnLCAnVGjDoW5nIE3GsOG7nWkgSGFpJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ1Row6FuZyAxJywgJ1Row6FuZyAyJywgJ1Row6FuZyAzJywgJ1Row6FuZyA0JywgJ1Row6FuZyA1JywgJ1Row6FuZyA2JywKCQknVGjDoW5nIDcnLCAnVGjDoW5nIDgnLCAnVGjDoW5nIDknLCAnVGjDoW5nIDEwJywgJ1Row6FuZyAxMScsICdUaMOhbmcgMTInXSwKCQlkYXlOYW1lczogWydDaOG7pyBOaOG6rXQnLCAnVGjhu6kgSGFpJywgJ1Ro4bupIEJhJywgJ1Ro4bupIFTGsCcsICdUaOG7qSBOxINtJywgJ1Ro4bupIFPDoXUnLCAnVGjhu6kgQuG6o3knXSwKCQlkYXlOYW1lc1Nob3J0OiBbJ0NOJywgJ1QyJywgJ1QzJywgJ1Q0JywgJ1Q1JywgJ1Q2JywgJ1Q3J10sCgkJZGF5TmFtZXNNaW46IFsnQ04nLCAnVDInLCAnVDMnLCAnVDQnLCAnVDUnLCAnVDYnLCAnVDcnXSwKCQl3ZWVrSGVhZGVyOiAnVHUnLAoJCWRhdGVGb3JtYXQ6ICdkZC9tbS95eScsCgkJZmlyc3REYXk6IDAsCgkJaXNSVEw6IGZhbHNlLAoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgkJeWVhclN1ZmZpeDogJyd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsndmknXSk7Cn0pOwo=]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-zh-CN.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogQ2hpbmVzZSBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgQ2xvdWRyZWFtIChjbG91ZHJlYW1AZ21haWwuY29tKS4gKi8KalF1ZXJ5KGZ1bmN0aW9uKCQpewoJJC5kYXRlcGlja2VyLnJlZ2lvbmFsWyd6aC1DTiddID0gewoJCWNsb3NlVGV4dDogJ+WFs+mXrScsCgkJcHJldlRleHQ6ICcmI3gzYzvkuIrmnIgnLAoJCW5leHRUZXh0OiAn5LiL5pyIJiN4M2U7JywKCQljdXJyZW50VGV4dDogJ+S7iuWkqScsCgkJbW9udGhOYW1lczogWyfkuIDmnIgnLCfkuozmnIgnLCfkuInmnIgnLCflm5vmnIgnLCfkupTmnIgnLCflha3mnIgnLAoJCSfkuIPmnIgnLCflhavmnIgnLCfkuZ3mnIgnLCfljYHmnIgnLCfljYHkuIDmnIgnLCfljYHkuozmnIgnXSwKCQltb250aE5hbWVzU2hvcnQ6IFsn5LiAJywn5LqMJywn5LiJJywn5ZubJywn5LqUJywn5YWtJywKCQkn5LiDJywn5YWrJywn5LmdJywn5Y2BJywn5Y2B5LiAJywn5Y2B5LqMJ10sCgkJZGF5TmFtZXM6IFsn5pif5pyf5pelJywn5pif5pyf5LiAJywn5pif5pyf5LqMJywn5pif5pyf5LiJJywn5pif5pyf5ZubJywn5pif5pyf5LqUJywn5pif5pyf5YWtJ10sCgkJZGF5TmFtZXNTaG9ydDogWyflkajml6UnLCflkajkuIAnLCflkajkuownLCflkajkuIknLCflkajlm5snLCflkajkupQnLCflkajlha0nXSwKCQlkYXlOYW1lc01pbjogWyfml6UnLCfkuIAnLCfkuownLCfkuIknLCflm5snLCfkupQnLCflha0nXSwKCQl3ZWVrSGVhZGVyOiAn5ZGoJywKCQlkYXRlRm9ybWF0OiAneXktbW0tZGQnLAoJCWZpcnN0RGF5OiAxLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IHRydWUsCgkJeWVhclN1ZmZpeDogJ+W5tCd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnemgtQ04nXSk7Cn0pOwo=]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-zh-HK.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogQ2hpbmVzZSBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgU0NDWSAoc2FtdWVsY3ljaGFuQGdtYWlsLmNvbSkuICovCmpRdWVyeShmdW5jdGlvbigkKXsKCSQuZGF0ZXBpY2tlci5yZWdpb25hbFsnemgtSEsnXSA9IHsKCQljbG9zZVRleHQ6ICfpl5zploknLAoJCXByZXZUZXh0OiAnJiN4M2M75LiK5pyIJywKCQluZXh0VGV4dDogJ+S4i+aciCYjeDNlOycsCgkJY3VycmVudFRleHQ6ICfku4rlpKknLAoJCW1vbnRoTmFtZXM6IFsn5LiA5pyIJywn5LqM5pyIJywn5LiJ5pyIJywn5Zub5pyIJywn5LqU5pyIJywn5YWt5pyIJywKCQkn5LiD5pyIJywn5YWr5pyIJywn5Lmd5pyIJywn5Y2B5pyIJywn5Y2B5LiA5pyIJywn5Y2B5LqM5pyIJ10sCgkJbW9udGhOYW1lc1Nob3J0OiBbJ+S4gCcsJ+S6jCcsJ+S4iScsJ+WbmycsJ+S6lCcsJ+WFrScsCgkJJ+S4gycsJ+WFqycsJ+S5nScsJ+WNgScsJ+WNgeS4gCcsJ+WNgeS6jCddLAoJCWRheU5hbWVzOiBbJ+aYn+acn+aXpScsJ+aYn+acn+S4gCcsJ+aYn+acn+S6jCcsJ+aYn+acn+S4iScsJ+aYn+acn+WbmycsJ+aYn+acn+S6lCcsJ+aYn+acn+WFrSddLAoJCWRheU5hbWVzU2hvcnQ6IFsn5ZGo5pelJywn5ZGo5LiAJywn5ZGo5LqMJywn5ZGo5LiJJywn5ZGo5ZubJywn5ZGo5LqUJywn5ZGo5YWtJ10sCgkJZGF5TmFtZXNNaW46IFsn5pelJywn5LiAJywn5LqMJywn5LiJJywn5ZubJywn5LqUJywn5YWtJ10sCgkJd2Vla0hlYWRlcjogJ+WRqCcsCgkJZGF0ZUZvcm1hdDogJ2RkLW1tLXl5JywKCQlmaXJzdERheTogMCwKCQlpc1JUTDogZmFsc2UsCgkJc2hvd01vbnRoQWZ0ZXJZZWFyOiB0cnVlLAoJCXllYXJTdWZmaXg6ICflubQnfTsKCSQuZGF0ZXBpY2tlci5zZXREZWZhdWx0cygkLmRhdGVwaWNrZXIucmVnaW9uYWxbJ3poLUhLJ10pOwp9KTsK]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/i18n/jquery.ui.datepicker-zh-TW.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogQ2hpbmVzZSBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgUmVzc29sIChyZXNzb2xAZ21haWwuY29tKS4gKi8KalF1ZXJ5KGZ1bmN0aW9uKCQpewoJJC5kYXRlcGlja2VyLnJlZ2lvbmFsWyd6aC1UVyddID0gewoJCWNsb3NlVGV4dDogJ+mXnOmWiScsCgkJcHJldlRleHQ6ICcmI3gzYzvkuIrmnIgnLAoJCW5leHRUZXh0OiAn5LiL5pyIJiN4M2U7JywKCQljdXJyZW50VGV4dDogJ+S7iuWkqScsCgkJbW9udGhOYW1lczogWyfkuIDmnIgnLCfkuozmnIgnLCfkuInmnIgnLCflm5vmnIgnLCfkupTmnIgnLCflha3mnIgnLAoJCSfkuIPmnIgnLCflhavmnIgnLCfkuZ3mnIgnLCfljYHmnIgnLCfljYHkuIDmnIgnLCfljYHkuozmnIgnXSwKCQltb250aE5hbWVzU2hvcnQ6IFsn5LiAJywn5LqMJywn5LiJJywn5ZubJywn5LqUJywn5YWtJywKCQkn5LiDJywn5YWrJywn5LmdJywn5Y2BJywn5Y2B5LiAJywn5Y2B5LqMJ10sCgkJZGF5TmFtZXM6IFsn5pif5pyf5pelJywn5pif5pyf5LiAJywn5pif5pyf5LqMJywn5pif5pyf5LiJJywn5pif5pyf5ZubJywn5pif5pyf5LqUJywn5pif5pyf5YWtJ10sCgkJZGF5TmFtZXNTaG9ydDogWyflkajml6UnLCflkajkuIAnLCflkajkuownLCflkajkuIknLCflkajlm5snLCflkajkupQnLCflkajlha0nXSwKCQlkYXlOYW1lc01pbjogWyfml6UnLCfkuIAnLCfkuownLCfkuIknLCflm5snLCfkupQnLCflha0nXSwKCQl3ZWVrSGVhZGVyOiAn5ZGoJywKCQlkYXRlRm9ybWF0OiAneXkvbW0vZGQnLAoJCWZpcnN0RGF5OiAxLAoJCWlzUlRMOiBmYWxzZSwKCQlzaG93TW9udGhBZnRlclllYXI6IHRydWUsCgkJeWVhclN1ZmZpeDogJ+W5tCd9OwoJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnemgtVFcnXSk7Cn0pOwo=]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/style/jquery-ui/images/ui-bg_diagonals-thick_18_b81900_40x40.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAAH7+Yj7AAABR0lEQVRYhe2XQQ6EIAxFv4R4A8Mt5v6ruY/xBm5mVq0VByhQM5MJf9mU1w9ai9PzEV77tmJeAgBg31a4ODAvAS4O7NsKFwfmJRzLJWaShbKZLg7UWeJCAHgFJcmYl8hPCRTzskyO6jVlARzEElW9Gact7TRJ+7Yeh1vy6DRJ8xKOl+UfNjM9H+ElgyS5QKqU561ADLQCUZ63Al0c9oK4pa1A7HA8lO6zTHZKClbKc5okLQwQ3xsLGDu0gvGctYKdHFrAGGgFA3D+ZPfC2KEVjOeZFezkcHRKE2x0Sj+MHVrBbukUnim5ZE2RlHp5yZtILSiWFe9ys2kFkax5l3tIK+iujX40+AvGSCeDv2SM5K1AUpa85OW6FgTcs9Fsk9SAtKrlJQ1+2xip+LujBaU0JokWRBqTpBWU05gkGpDUmCQtIK3+bpK8AYzs1B/MY0EwAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/images/ui-bg_diagonals-thick_20_666666_40x40.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAwklEQVRYhe3XXQqDMBhE0dtsIKvNwrOC+mIhTfNrlAzlm0eR4ShomFcI4U2WGGN+6Sfe++49d/S5O8tKWe37AqrhIAEq4uAEquIAnDIOCh/JStkTD9sE7sZB4w0q4KACVMFBAaiEgwyohoMEqIiDE6iKA3DKOBj4Uc+UPfGwQ8Cdx2EXuPusbgJ346ABVMBBBaiCA9sktknmyj6xTXK1zDbJalkrtklGykqxTTJTlsY2yZUysE2yVjYa2yS1sl7+cpMcegPyrqBRcaoAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/images/ui-bg_flat_10_000000_40x100.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAACgAAABkCAYAAAD0ZHJ6AAAAeUlEQVRoge3OMQHAIBAAsQf/nlsJDDfAkCjImplvHrZvB04EK8FKsBKsBCvBSrASrAQrwUqwEqwEK8FKsBKsBCvBSrASrAQrwUqwEqwEK8FKsBKsBCvBSrASrAQrwUqwEqwEK8FKsBKsBCvBSrASrAQrwUqwEqwEqx92LQHHRpDUNwAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/images/ui-bg_glass_65_ffffff_1x400.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAEAAAGQCAYAAABvWArbAAAAMElEQVQ4je3LIQ4AIBTD0O3f/8wrFgmKhMy8pKJKwkhSKeVbbGuAPU9f4PIopTxgAeS0DRtI4yK0AAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/images/ui-bg_glass_100_f6f6f6_1x400.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAEAAAGQCAYAAABvWArbAAAAL0lEQVQ4je3HsQ0AIBDDwIT9F/4igpYiAyDk5mRrZvaSJAD4liT32u7bqi0APMcBiYQKDwcroFAAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/images/ui-bg_glass_100_fdf5ce_1x400.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAEAAAGQCAYAAABvWArbAAAARElEQVQ4jWP4+/PhfyYGBgaGUWKUGCWGL/HnLQMTAwMjjGBkYmBiYGBiYGJgZEZlMcNlYRKMCMUQAwbcM6PEKDFKYCEAGrQJAcbElNQAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/images/ui-bg_gloss-wave_35_f6a828_500x100.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAfQAAABkCAYAAABwx8J9AAAOeUlEQVR4nO2dW44buxFAybH2k40ESNaZBSRZVr5i4CYzzIfdcU+5nmz2WEOfAxgjkfVi8VGSuiX3r//862gAAADwqXn51QEAAADAdSjoAAAAG0BBBwAA2AAKOgAAwAZQ0AEAADaAgg4AALABFHQAAIANoKADAABsAAUdAABgAyjoAAAAG0BBBwAA2AAKOgAAwAZQ0AEAADaAgg4AALABFHQAAIANoKADAABsAAUdAABgAyjoAAAAG0BBBwAA2AAKOgAAwAZQ0AEAADbg0X91BAAAAHAZ3qEDAABsAAUdAABgAyjoAAAAG/AYY7Tev11J1x6PMd4pHP0HR/8h69nS9KRuJHuOQfqW9rR4NXsaMibLd7Xdi13LgzUOawxWHNbYpD1r/jM5tcam+ZGxaL6lvJUXa814Y7FkrfhndTW8MWt+tL1hrUlrz1l59+ZM8xFhxRqdK9Y4tPi9teHZ1NotO9UYo/2s+ZqJM2PfOrcza8bqt84lGaOno+XJO/uz9ciKKTpXvFxa+9DKp+Yzqk9RHfPmQY7n//Jf//GXuLoBAADAU8NH7gAAABtAQQcAANgACjoAAMAGPFrjEjoAAMBnh3foAAAAG0BBBwAA2IBH876T3Xtz+w+Z1nS5jP6MfNXuKhuHjqY723b+HmEm11LX0tFiXTkfll35uDXf5znOSDaKKaNzZe6ytrN7YnbMkd6KtV3NiaeX9W31tTa/3y3bq8+Qu866SNba562t2ydeDqt+ruQ9W49W1aLW5s7QFWuhctafeLi9maA8merEZeWvbsRZG4eOpjvbVomjoqvFunI+LLtVf15OqzFldK7MXdb2TN6yPjJ6K9Z2NSfVeazancXSX32G3HXWRbIr9rmml7G3eq5X6K6KdcWZNuPLakva/FHQe2ttfP+bCiKpc+4/Yop8ZGxqdrSYPFkvlkouPM7z0NvPfjU/Mv5KHBl5T8aK93hu2fHyKf1ZOZBr9uq68XKtjSta09b6qu4dL+bIZzR3mRhmxpnFyk1T2s86Wr8mJ+1l9tMs1nrU/Fh71stxZHPWtqZbXRtRXyZW2d6SOnJ+vbFnZDVdKxZp28qd1za7D72xNqfv5OvxznFlI3TxN5Kr2K/Y1NozPmd9VJF2oueyrRpHRt6TycSn9V2xGa2l2XXjPffyPrO+ZtdLdh1m/FTzVBlnlkxuZtdDZn+v2reRrezaqqzpjGz1bKjO5dX9PrOHZ3IZrYXq3tdkvdzNnB8VP5Nj4aY4AACADbAL+hjxtZvz9Zvzv7OMh9TPxKHJarF4trR4oz5vTF581jXWjJ/MmKQ9LS4rX1HcmetRmRxZufZsa7nSbFoxRXmNrvl667lyfSsaszdvlly0XrQ+63HkX4s/2jdePNFajsbqxWHZ0vqtdRDFXyFaa1G+onFW96s13xmf1prU/mrxWfJe/jNjs/xkY9F0rLnw7FpjybRbPqrjGKP1r3//88RKBQAAgGeCj9wBAAA24KW10X780zj3WbJSJvor2zI2pKz0r9nTYozGmrVr2dNsW2OL8ujlKRqDZd9DG0tmrqXfSN/yZelb60Jry37glJkP2R7tA82O97y6fjyf0RgysUX+NZlob3h2rTg9v5W9q/2TcVrylg3Lt+fPijGj65030bxm5sEbl2Yv8mfFnHluxZMZjxejtz+icUX6VozWeDL72JKL1/9Da/QUfFlrw1gbyLPr6WT0rBijvlm7Gb9XbEVy2ViizZvVmZlT7Xl1rBm/mTFGtjKyGfmZ55kD1mur9s+MqbovPbuR79mcezLRWrniw5Ov6Ff2Q2S7sj4yMVXiWvG8Ekd0plT2RzXPmZiuttlrk4/cAQAANoCCDgAAsAEUdAAAgA04/X/o59/RO543pW2Ifk1Gtln2tWsBVruGZ9Maz4EXnxeDlZejzRp/ZNeyrel5vwkYUcl7xq+Wfysfkb4Vk7Sh/dVi9sZ6oK1nLUZrvZ91vTWTtaHFJMcbtXk+vDWq7e9orFo8GjNznWGF3at7NlpDGaz1XGFmzqJYpF7lseZfy5FXS6ycZNdLVHcqZ4uUz/jJykv7B9H5957TTXHVi/j2hflce1W/ajPrL6Mb2bmim+mPxnIlZ1571e9Q2lfMiWZD64v8ee2R7Ip5XbGusm0zcczkbvXarxazu3JftZ+RzdhZYSNqn81ZZl/PnI8zey+br8oZFp0tnr/MWThjR7b5dv3/bQ3qjNbGeL3FdG9vbcz8YlWV8dauHSwn+pc1dizz/Usp0t5f2rv/shYAYBMeq87ttYzvRcXqfmsjE/h4Tf1O/njLFeDesnL3QSn6mbtyMpr+YqT33lrXbz8Zze7r/aWp0VrtAAAF1HfowyyEow2r0Bo6Y7y1bhXf8Xr7O86V1p/ytQ/cyH/V1tklm1X79oJBvph4/8nCaO2dTO+9vbvHlRcJAL8dj/HHv9SOmTNrxVVxgN+dMUZrQ38xYeoE/b1/eX+pQX6K0MVr+3f92gsMAFjKeG3vdrJ88yzPhHP/GG2MV66hA/wOjPEaVP0/Svb6y4+jY4zW+ov9AmC043KDiKn11l94oQCfhDdRcFtr32+a+llWFufWfirQ4632oj0DBR0AysjDKLoPtPbpXVdfALT+Rb135vziQsqHWLrwHIyRWFyjtebcc9WafXl3jJ8uCY/oHq4n5sFVNgB4LoxD3Lq35+0/dwfUhnGjo6TLSxeWvW+fT+T9K/KZmHp7W3rN83hB9VMs463Jotpbj29eHm8fdqdH1s9nromP1N3iAAC/M8mvola+srr6G/erdFbZzfqmAq2Dn34FAADYgMf0d3AAAADgaeAdOgAAwAbwDh0AAGADHuYtfaPZ/9mO+pNwRruUOex4MtXbDGWs1n9YM2M74zOKIYrPsrkiror/SNay3Qr2szIV3cz8Vudk5Vo522ytvhZn1m9mr12xo8Xk+bx73Z/9HzFUc1CN42rcVrzH8xV+rXVvrcVszip7RrMZrWlrfV05x7Nn38x5ssp3BSU39ncseuKxJZ+xeUXG09H0u9M3i7TlxZDJX9SXxRt/xkd2HBWZSKfC7PxW5+SO765U5kHTm9G5SrTfV6ztu2Kt2r1bPtK/43tVlo/q+Z6JoVIbojXtxTmb9+zZN3OerPI9a/P7Yz5yBwAA2ABuigMAANiAB1/rBwAA+PzwDh0AAGADKOgAAAAbQEEHAADYAAo6AADABvC1NQAAgA3gHToAAMAG2D/9CgAAAJ8GPnIHAADYAD5yBwAA2AB+KQ4AAGADeIcOAACwAY/BNXQAAIBPz0vvrfXkne5ZuUjHsuPZn/E9w0fGcNiTf1fa1p7f6WeV/apdbx2f85tZe1GuovEdfrx5vWMvVfbys5DNTXbuIl/RXruaPxmn9rzi19ONnmv+q3p35cnyV7WdGUukU9G9C23s1Xh6b+1RVaao3+OLor7G7szBGMlcGd9HF/VZu7+SFefDTBG482Cf2Xt3FfUrehWbK6CoXzun+doaAADABnBTHAAAwAbwtTUAAIAN4B06AADABjwaP+YOAADw6fn2Dl3eGDfGj7boprnMTXWWfc2H1XaW9+QyY5C2LBkr5oxtK34r3qpcZjxevqx5y8hpMVpxRL6yMWbybJGV8daPfByNVVsjldxYcUgdbV1asUdjrpLx4elof8/2Zs4eb81o9iNfmTPKWjeRveo5lD0DZ85EzZ53xmVjqOxTLxbZpsWYlfV8yH5L31v7ll5m/0f+gjj7v//2pws7GgAAAJ4BcQ39V9T24fgdRn8UZ6bfkxnicSYvmsxI9EU6kVz03LJjjSvrz+rT/FXXlTbv0fii2CpzmB3r8fxqbNHzyjqazbWmb/nPzLclY+1pz38kZ+lm57Oyhqr7yOqL8pCxo/mv7vcM3hi82DQbq/dtJQapE9mRczSb22x+MjZ8W8pd7r/qDfvVw69qL5KZyctnK+qzcUV9K4q6Z9fz49m4q6hrbZ+pqEudFUXds+m1ZfQqNmfnoRpTde/P+L6y/7K+Mva19l2LutVXzW02tmtFnbvcAQAANoCCDgAAsAHff8t9tPdfXzueH2/tu9ImOfSj/rOM5lPa6KJfk5PxWV/FkzKaviUnbUpdLVbNr+VPjlf6kXqaTUtPxibltbm1cmz1W3hyWk68WLU58mKw1pe0beVUs6HFp/n18uKtQSt+zZ+lk5kTb01XZKy2SOdoj84Wb4zZNajFqu11Lz7Z58VvyUn/mb3l5SfKgzcXWbvRnjjbrZxdZzvRXojOIhm7Fpvsi85oza/0HcVRPXOy9c3yMc7X0GVgQ3mc+Xy/0u/5rMQh2zNxRnazNjUdL8bIZiV2z19kd/XzrF+rr5q7TAyV9ZXZB7N+I58r/WTmZXafrPAf7d2Kj+wa9Px6j6M+K5bqWXf1rKjkbsZudu/Pnrve44r/at+Mn+z5M5PfbH2z23P/OUvv7dL3VWfsVX2ujrHKFf8fEbv0cfw3Plf8enFHY9LiuZqDWRvZWO6cp7t83hVzdX6fiTvOnxVk9lM2rit786OpxFNZdyvOg5W5qto9n9HJcT9siROrJz9jb/aHCH4VV/x/ROzRD1issFmx/9HxrIjlznm6y+ddMVfn95m44/xZQfYHaVbZehYq8VTW3YrzYGWuqnYr8t/7H6P0sRUAAAA8I9zlDgAAsAEvren3BZ6J+rN6XbTJ55ZuL8h6/ioyXemXMXm+z7qW/ShuLV+RjWgs8q9lPxqXFqtHdo4qa60S4xX7V+bPsx2tPet5FFs1Fk3e6oviysR0heoe1PqzedfkLZ9RLjJrtbrOIr/RGLP5y8pkYsrqZ3LhPY7GWR2PVbsqezNzHli2vLazv8fspsgye2BldaP2qC/ra7aoRzFUdVcVgOzGyMSUka/Y+yxFPWNrxdqLZCoHZZbdi3qlzfL1UUU9q5vt+wxFPWvD29cri7qns6qoz9iXzx9tvAYuAAAA4Nn5H1zs1G5bhz0MAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/images/ui-bg_highlight-soft_75_ffe45c_1x100.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAEAAABkCAYAAABHLFpgAAAASElEQVQYldWPwQmAQBADJ+m/DfuzgN2ND/WjX+HwMzAQBkL2LQb4EZLCZLAYnDSWGpO6lBSGwjy1sHjvRN+pM1oYBmv5349xADIyLQUayPX/AAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/images/ui-bg_highlight-soft_100_eeeeee_1x100.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAEAAABkCAYAAABHLFpgAAAAIUlEQVQYlWP48ePHfyYGBgaGIUT8//8fO5cSFn6J4UQAAJSgIpAFCJPdAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/images/ui-icons_228ef1_256x240.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAQAAAADwCAMAAADYSUr5AAAA7VBMVEUkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvRBIJjhAAAATnRSTlMAGBAyBAhQv4OZLiJUcEBmYBoSzQwgPBZCSEoeWiYwUiyFNIeBw2rJz8c4RBy9uXyrtaWNqa2zKP2fJO8KBgKPo2KVoa9s351GPm5+kWho0kj9AAAPhUlEQVR4nO1djWLbthEGyUiq5YSSLXtp7FpLOmfzkmxr126tmi2p03RJ1/Xe/3EGgARxPyAgRbIk2/hkSz4CJO4+HsE7AJSVysjI2AMUUOxahZ2iANhzBtZWr4BoIRSYAVN5u4QwDwQDRbcwfUi5KS3wFuDmFnQLa4Dtb//cqktwD5QEFFwfUs7PoCCA7y4bEJVFizcIob8KmhAplwwqVjt+9FBl3uINQniwEiryEyw9JHqGpQdEFNi+B4QQ7QOiHhysIPoAxUqxvdvvA9K42bsAv4S2fxfYOe57IJSRkZGRkZGxx7jxSHDHcRBXQMTyIjInBgHwBJ/bEx8PEANC+uhbpSSggCBAVODVabpI1S/k4WLZpTn6NpMhoX9Y40hxYERFpMcqUs4AloCtDQdID1YhnyXZ2hLjAYWiO9Dy1PDB7tPhIqLx+uMB8grZaR+Qxl2/C2RkZGRkZGRk7A7rBf7J0DR5/LUTjzUPIPSPGvQJiVJiB7kcQCiUOJrcFNtDZIf2xarQ3aGvLNxAVIFAabz90BFiBIlycTBhgWwOWCH0FLYHlPqwHaCvcIn2ZbosCevfPTRiFFcgvHukCjWwrc3GrGh1fsAof8EaUReKXkCB4/MzFNo97qLpFiKFYv/kNR5YQxQbQEofkZ2OuEOHqqT6gFTpru8CN7x/+jaZkZGRkZGRcV+x/rLUNcMMqUAscgnFocmpqkTzqymwVAPxfJ5PnIUUQOUKT04tEdWZyv3JCQSn96WS4pD97QfyW25A7NhSAbyhmVj0FEltA4vdiygBibXhoUYgykCUP7HwPTDeEqAIcHVMkZg7Zx4k0uFANs63hPQXCoRLAwdgGsr9Az7Qv7sgQGgg1aPl/BJLExBWgG4RFRLFImGmIquPC/klEGyCG0AuAXaJJC+B8FVe9NYQDEcXB8g6AQcjYJ1goJIggHWCrFR0S6kRHN5+4BzFi8NaoN35NRxUvL+JJdZr7PV4wK6fj8nIyMjIyNhr3OxdXAYq7FHZwB6bDSzSh4sF0utChqo0NAvaT1hLzXwFinmCzmeDucEQK18TTaQoFgP7bNC+RZ4OT4T6gQogDFYk+1QxQlj19QGSAWKiLYp8P0Ag1Gbz1ULfWHLg9iUnQNK5QQJcukm04blKLH2GgEJCY+HzXAZWCvHKco3Bp6MIaCjSXXRJyOxeqhnzEaF93MfFGW/O16ZvDL5TM4MJIjujz/cHypkQuuzRwWJ93BKdIt+wCRAPl9kpe2Ikkb2mFgGlxh/i40d3EHfdvoyMjIyMu43ylt/IAmGHnN5iIt7wKfbv01RAcJqFRl9lcjYQSnbQqKgC4fYOwSJt6N6trE0twZ9kN/PqNpTQeICvr4TLsDYC06U7BMjshS+v1/aT7IwQYD5LcgRQXMT2FrBfBLjZ6151jDElk9tPFfpUgk2yregusX25BJbwAFEfM+YI6vGAti4bTtizB+TjfQCrERyhKb2X8D6A9wX75P4t4neBYJeP6pdhg/gQl8MWvytzeSTjgOQBynQdh/iXKdxOrGJ/RkZGRsb9QmXihGr5+g8GGg9uTh+KoVZuNIzV+CwRucFBEyr1mVjx4irOxwM1BhirB6Q+2eNQi4eqR+aF6mELtoMzCR7V9RAFe/ZvQogNiyY8FPSUTFsLp8TeTmMui5mtw7bcaT0Yw2AA4wFRQIlkgq+1DQrNhkmoxS5Jq+u6bMAIGRECEANgXHTgWzwgBOhDH2l0oTQ4D8D5NMktBgNywAEMjo8rwATMZrPY7JGxBoJCkIBDQiAY09EGTUiBCWkUpISfGPR5AAwBfZiG2z7Ayc1yeKTxid39xBNwfHr4O0LA48ePFTvhYrF1r4tyAoz9n2MCqEuBtp/6GDR0oAYfG/R6wJExHYZHfhygsv7fEWCOj4bYmsP5A+pL4MkTfAnMlD4F+r3bobKvTyTA2P/w7PN+Agq2QW8piqMCpTBwenoKvX0AHGkGtP2YAPvTEWA7QUTAudn7/NxtOG46wWNmDtpBEkBzN7rBEvAFHp+YTB/q97qPAN4gHFqgBi8uLsC7qPCA6mg41G/+ErByPwEXDdoNxRhOx+M5jPEzQugS0ht+b1/Y3gEnYMAIAOIBE29/hIDucE8tmMsNOgK4B1RHFu4UCRlMHzv0xzcajcfdXWDs2h8TArBCkoDUJYDLmz6w7ip3BFS0ve5wTRwAn6keMA9I3QYbfSZ0DKbyt+7OXjGI1idPcfNyAyfAMlCrzaGqphYrxHocLHRJVycnfGUcbtT+jIyMjIw9x7Nn8fJSzG0TmFtO8rZT+XT3S3ub+tKJbbLd5diTVp50+zahyeHSslJ/YPrU0fuazrZO2CZ92/ZCCVXlGRiZKPJyPPRxyIFWeXLQBXJBKiq/3divEAN6ZwM200Qjm7EJBZeWm/PRWVCbYK7s7u2l4XaCz+lzgOfMfhMonXr7TWzeZb98dbgIzBT8Ub8eYYUqfZ4rVJ/MDbIDgPqTulJ/xvntWAtjIisqnwxOkGz0n077FARoY79GdA6HPE4rOy196NiMWHTZlSSApcOgXpy/fHV2joaNKu3ffsAnRcBf4K/6NcIG6tIxk3HyoXPjASqfUgXbYN5PzpL2njkR9QMjeDTVHDTCgRuxOegjoO0FvKzP/t/gmVdI24+G7NIe8JX6Wv3dDyldMA+4YB5wwTygtd+dwRqaTqrLb1l73zTSN52CNpnHuQOYPsDblybgxfkXh/oVtr+N1DEBJdhRJyd/Bd/q1z+cbNrD17iVKyajcnv9arhOkRPgsruuD6DmNPwpDNrLw2CoTgHni4yALr0L29+tiKAEIPn868ejx//8rpWP3OEOl5On9OwpcQm0MhafP/ey8f1uvDNIgGLQG8z4YO99ENgg95etwv4uYJYY8fUGHYH6j6fscHFZMftlAl9i+9XL73X3N/n+ZStOzfVfRvYXhrbdKOpEgVQTg/wsDuDD3kwOfQNMTJ5y+/ltUDWLunyxnRF46IqlBzGMY4X7inggREFioIyMjIyMHWCIB6ZNKAcXseo3vLTQTkVE7348dlwJJSz0+wLfmi8BhZqfw3D4ww/wHVLnEd5/fgYvXsDZ3MlsvYUbbnDjDZ3MN3TJG4+bxjAaDl8TBri9qxEw1ccao2wTNAMLHo2f+sjrXwb/9qHoYqgPMBXJTVfOpmrZH23y6uvo0LHSyY6fHGwKfHJlAuMFvObjDYrIqxBgQi20h7Hd/nYVLmno+eaNUm/eeH2GCuopntnhBJAlI2AHo9CCh1I1QxUdAbqqGY9BBLwyc3W4wYVhvY8A4BoIc1l5M7vnPWphZW9/Ses3n37y9a0uGqFwFQZsQQbd386DogpgEk+dzynsAZMJXq8+ns9NeukJ0PYrNATGGefJQlhkLo7DTXr+y3bNiOsDvrXTz/C2q1DXZH84iRNwrP88Nj+u2DjYEE6RBxD9Knj16ujVHC67A7422o02RwD3gB+t7EblWvu9geOFxSnd3ROmT+nJyQkhoPlsxVONc/3TEdBos+jtA+ZzcwHgTvD1cDjaYCcItA8w9i88A8b+mqSjc6Pvqd998QguEQPmQMeo23ODN86+p0/bn1buBkT6+oBhNZ/PYY4ZAHYb3PRd4LkZmPX68NRtMZn4ASvdA+qf0jMA5MP9eeg28Nug9QiLnj5A33U1MAES6xHAUNpz/9zFAYE1gqQDMT3G6xI9pwdw/aIgKoHCS1YGlRnSq9yCjdXjgN3j+N27YyROHxmuNAeNKPpYuXIyIyMjYy0M8eros59MF/PT2c602T7eA7zvhJ9dr/vzDjXaLp4Yc5+0wllzxzHv3gdmMMM7/CcQzKgVBqYTmFn+Z+mKm8J7k0A5F/jgCfjQ1WBhQyiOqD0lYuqBb+AyzMw9Ha2G3m6c8qQx+AlqnIceQp+Sb6i9UyQWbhr54+AjnZ0VzW2TAN0DmBT6PWmc6jDBE2PK2u+nF43dyP7Q0t1pOcX2fdRvH0mF2Q4JqN35rnHjVIeaXfIAVyUuw/aHCCiJy9iF5l1621zweI8KZrPZ9iJdb7DXJ3US0OSrtZ10imt7wHY7QesAzUMz1oZ3noB3qFJ/H18j97FYuw8QDN4oeKf30osvcSW2ExLo+VcbuAuo/sUIm8fMG9xocO3Ea19J9gFYivnHJ2KnyfovZlgW3v6ySx32abQiIyMjIyPjhlFDTLxpwIgFMnTp6A3g4IDKNY+stkwAMAoIAbasxBXqUWneSAWTMjt50lTqT29rFjvXohjsDNm2YPXDFlICmrJOZ3t6tHm8AiEAl0sCeLIIorIRt+cFbew/QRsoAXb4o1XSfoywzm0FTMAoYBNvLyFu8v8HpLBtD1iKgC17wHb7AI6d9wFbvguAIGTHd4E9wG7jgIyMjIyM+434c2R3HeV/Ffx6jtZu6ijl8h59T655jhR+rdHzDOP6beABCheb8O8/WFXeOyzgf5oAhVYnKxP7CwaAf1afJu8bSrhS6tdaXeGnrRenOqOlz9d6QwYnA/3TLd+GE7qe3chA5YF5DfY0vK3adfOX/gyNp2BW25MHdxAB9qvRiiP3/XpQQFGYDU4+Mi///XumXG8pjvaUAOsBGlf4jJt+YYEzeEzAdw06F19R3juM7D1wita86GR0CKfDHgLuXCc4Bri6vMLdfjMc4VNSUNsdodo2xu/1+Xl/K5+az8jIyMhYG/z5gJTMF1GtKq/a3rpyCvz5gJTMl9GtKq/a3rpyCmfQ4WwZmS+kXFVetb115ST48wEf/AGcfG1iw+tWbpbS2vJ3nQxcVr3lH3z5h972FUTLzYpOVk7l5hD+eYcYwDcAnewOotrZ4OtrPDucqi/LRX0/RR4qx7Nn4U8g+qjffvuN6Gf+nC85vwauHjaYyubqvWYKY4VEfSUMitdnBCT1Ue63R5439m+OgCn6DroAAaHPVQxKth/wkJgHmG8bmQMsT0D6EjDfvhVRKO3ywOQUgRA7nmL1uawZmHf1k+DPBwQ6NdcJ+k6Md1LA5f5ONdhJ8vZ5J0vLHT99srkGOjmJbd/G1r2Nriqnse1AZt1AalU5jW2HsuuG0qvKGRkZGRkZGRG0gcONyXsP9v8D0/IdJADiBNiXl3327WRGgOL/9HC/0XwlIURkRhC4tz6Z/fu7fUf2gHvfB9z3u0BGRkZGRkbGplHcnkgguQoSqtUXuhbs/wPtMwqV0HUJAvj5vk32b8IDuL23yn7qAXZ5u32hbRX7d3o82Df1FZXvbh9QOfhyxldr/+3xgXU9oKmvsHyr7F/XA269/eveBXrsv7N9QALe/tvjA0kPWAXGbvebkbHn+D/J5nMcHzx1UAAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/images/ui-icons_222222_256x240.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAQAAAADwCAMAAADYSUr5AAAA7VBMVEUkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiQkIiTww4gUAAAATnRSTlMAGBAyBAhQv4OZLiJUcEBmYBoSzQwgPBZCSEoeWiYwUiyFNIeBw2rJz8c4RBy9uXyrtaWNqa2zKP2fJO8KBgKPo2KVoa9s351GPm5+kWho0kj9AAAPhUlEQVR4nO1djWLbthEGyUiq5YSSLXtp7FpLOmfzkmxr126tmi2p03RJ1/Xe/3EGgARxPyAgRbIk2/hkSz4CJO4+HsE7AJSVysjI2AMUUOxahZ2iANhzBtZWr4BoIRSYAVN5u4QwDwQDRbcwfUi5KS3wFuDmFnQLa4Dtb//cqktwD5QEFFwfUs7PoCCA7y4bEJVFizcIob8KmhAplwwqVjt+9FBl3uINQniwEiryEyw9JHqGpQdEFNi+B4QQ7QOiHhysIPoAxUqxvdvvA9K42bsAv4S2fxfYOe57IJSRkZGRkZGxx7jxSHDHcRBXQMTyIjInBgHwBJ/bEx8PEANC+uhbpSSggCBAVODVabpI1S/k4WLZpTn6NpMhoX9Y40hxYERFpMcqUs4AloCtDQdID1YhnyXZ2hLjAYWiO9Dy1PDB7tPhIqLx+uMB8grZaR+Qxl2/C2RkZGRkZGRk7A7rBf7J0DR5/LUTjzUPIPSPGvQJiVJiB7kcQCiUOJrcFNtDZIf2xarQ3aGvLNxAVIFAabz90BFiBIlycTBhgWwOWCH0FLYHlPqwHaCvcIn2ZbosCevfPTRiFFcgvHukCjWwrc3GrGh1fsAof8EaUReKXkCB4/MzFNo97qLpFiKFYv/kNR5YQxQbQEofkZ2OuEOHqqT6gFTpru8CN7x/+jaZkZGRkZGRcV+x/rLUNcMMqUAscgnFocmpqkTzqymwVAPxfJ5PnIUUQOUKT04tEdWZyv3JCQSn96WS4pD97QfyW25A7NhSAbyhmVj0FEltA4vdiygBibXhoUYgykCUP7HwPTDeEqAIcHVMkZg7Zx4k0uFANs63hPQXCoRLAwdgGsr9Az7Qv7sgQGgg1aPl/BJLExBWgG4RFRLFImGmIquPC/klEGyCG0AuAXaJJC+B8FVe9NYQDEcXB8g6AQcjYJ1goJIggHWCrFR0S6kRHN5+4BzFi8NaoN35NRxUvL+JJdZr7PV4wK6fj8nIyMjIyNhr3OxdXAYq7FHZwB6bDSzSh4sF0utChqo0NAvaT1hLzXwFinmCzmeDucEQK18TTaQoFgP7bNC+RZ4OT4T6gQogDFYk+1QxQlj19QGSAWKiLYp8P0Ag1Gbz1ULfWHLg9iUnQNK5QQJcukm04blKLH2GgEJCY+HzXAZWCvHKco3Bp6MIaCjSXXRJyOxeqhnzEaF93MfFGW/O16ZvDL5TM4MJIjujz/cHypkQuuzRwWJ93BKdIt+wCRAPl9kpe2Ikkb2mFgGlxh/i40d3EHfdvoyMjIyMu43ylt/IAmGHnN5iIt7wKfbv01RAcJqFRl9lcjYQSnbQqKgC4fYOwSJt6N6trE0twZ9kN/PqNpTQeICvr4TLsDYC06U7BMjshS+v1/aT7IwQYD5LcgRQXMT2FrBfBLjZ6151jDElk9tPFfpUgk2yregusX25BJbwAFEfM+YI6vGAti4bTtizB+TjfQCrERyhKb2X8D6A9wX75P4t4neBYJeP6pdhg/gQl8MWvytzeSTjgOQBynQdh/iXKdxOrGJ/RkZGRsb9QmXihGr5+g8GGg9uTh+KoVZuNIzV+CwRucFBEyr1mVjx4irOxwM1BhirB6Q+2eNQi4eqR+aF6mELtoMzCR7V9RAFe/ZvQogNiyY8FPSUTFsLp8TeTmMui5mtw7bcaT0Yw2AA4wFRQIlkgq+1DQrNhkmoxS5Jq+u6bMAIGRECEANgXHTgWzwgBOhDH2l0oTQ4D8D5NMktBgNywAEMjo8rwATMZrPY7JGxBoJCkIBDQiAY09EGTUiBCWkUpISfGPR5AAwBfZiG2z7Ayc1yeKTxid39xBNwfHr4O0LA48ePFTvhYrF1r4tyAoz9n2MCqEuBtp/6GDR0oAYfG/R6wJExHYZHfhygsv7fEWCOj4bYmsP5A+pL4MkTfAnMlD4F+r3bobKvTyTA2P/w7PN+Agq2QW8piqMCpTBwenoKvX0AHGkGtP2YAPvTEWA7QUTAudn7/NxtOG46wWNmDtpBEkBzN7rBEvAFHp+YTB/q97qPAN4gHFqgBi8uLsC7qPCA6mg41G/+ErByPwEXDdoNxRhOx+M5jPEzQugS0ht+b1/Y3gEnYMAIAOIBE29/hIDucE8tmMsNOgK4B1RHFu4UCRlMHzv0xzcajcfdXWDs2h8TArBCkoDUJYDLmz6w7ip3BFS0ve5wTRwAn6keMA9I3QYbfSZ0DKbyt+7OXjGI1idPcfNyAyfAMlCrzaGqphYrxHocLHRJVycnfGUcbtT+jIyMjIw9x7Nn8fJSzG0TmFtO8rZT+XT3S3ub+tKJbbLd5diTVp50+zahyeHSslJ/YPrU0fuazrZO2CZ92/ZCCVXlGRiZKPJyPPRxyIFWeXLQBXJBKiq/3divEAN6ZwM200Qjm7EJBZeWm/PRWVCbYK7s7u2l4XaCz+lzgOfMfhMonXr7TWzeZb98dbgIzBT8Ub8eYYUqfZ4rVJ/MDbIDgPqTulJ/xvntWAtjIisqnwxOkGz0n077FARoY79GdA6HPE4rOy196NiMWHTZlSSApcOgXpy/fHV2joaNKu3ffsAnRcBf4K/6NcIG6tIxk3HyoXPjASqfUgXbYN5PzpL2njkR9QMjeDTVHDTCgRuxOegjoO0FvKzP/t/gmVdI24+G7NIe8JX6Wv3dDyldMA+4YB5wwTygtd+dwRqaTqrLb1l73zTSN52CNpnHuQOYPsDblybgxfkXh/oVtr+N1DEBJdhRJyd/Bd/q1z+cbNrD17iVKyajcnv9arhOkRPgsruuD6DmNPwpDNrLw2CoTgHni4yALr0L29+tiKAEIPn868ejx//8rpWP3OEOl5On9OwpcQm0MhafP/ey8f1uvDNIgGLQG8z4YO99ENgg95etwv4uYJYY8fUGHYH6j6fscHFZMftlAl9i+9XL73X3N/n+ZStOzfVfRvYXhrbdKOpEgVQTg/wsDuDD3kwOfQNMTJ5y+/ltUDWLunyxnRF46IqlBzGMY4X7inggREFioIyMjIyMHWCIB6ZNKAcXseo3vLTQTkVE7348dlwJJSz0+wLfmi8BhZqfw3D4ww/wHVLnEd5/fgYvXsDZ3MlsvYUbbnDjDZ3MN3TJG4+bxjAaDl8TBri9qxEw1ccao2wTNAMLHo2f+sjrXwb/9qHoYqgPMBXJTVfOpmrZH23y6uvo0LHSyY6fHGwKfHJlAuMFvObjDYrIqxBgQi20h7Hd/nYVLmno+eaNUm/eeH2GCuopntnhBJAlI2AHo9CCh1I1QxUdAbqqGY9BBLwyc3W4wYVhvY8A4BoIc1l5M7vnPWphZW9/Ses3n37y9a0uGqFwFQZsQQbd386DogpgEk+dzynsAZMJXq8+ns9NeukJ0PYrNATGGefJQlhkLo7DTXr+y3bNiOsDvrXTz/C2q1DXZH84iRNwrP88Nj+u2DjYEE6RBxD9Knj16ujVHC67A7422o02RwD3gB+t7EblWvu9geOFxSnd3ROmT+nJyQkhoPlsxVONc/3TEdBos+jtA+ZzcwHgTvD1cDjaYCcItA8w9i88A8b+mqSjc6Pvqd998QguEQPmQMeo23ODN86+p0/bn1buBkT6+oBhNZ/PYY4ZAHYb3PRd4LkZmPX68NRtMZn4ASvdA+qf0jMA5MP9eeg28Nug9QiLnj5A33U1MAES6xHAUNpz/9zFAYE1gqQDMT3G6xI9pwdw/aIgKoHCS1YGlRnSq9yCjdXjgN3j+N27YyROHxmuNAeNKPpYuXIyIyMjYy0M8eros59MF/PT2c602T7eA7zvhJ9dr/vzDjXaLp4Yc5+0wllzxzHv3gdmMMM7/CcQzKgVBqYTmFn+Z+mKm8J7k0A5F/jgCfjQ1WBhQyiOqD0lYuqBb+AyzMw9Ha2G3m6c8qQx+AlqnIceQp+Sb6i9UyQWbhr54+AjnZ0VzW2TAN0DmBT6PWmc6jDBE2PK2u+nF43dyP7Q0t1pOcX2fdRvH0mF2Q4JqN35rnHjVIeaXfIAVyUuw/aHCCiJy9iF5l1621zweI8KZrPZ9iJdb7DXJ3US0OSrtZ10imt7wHY7QesAzUMz1oZ3noB3qFJ/H18j97FYuw8QDN4oeKf30osvcSW2ExLo+VcbuAuo/sUIm8fMG9xocO3Ea19J9gFYivnHJ2KnyfovZlgW3v6ySx32abQiIyMjIyPjhlFDTLxpwIgFMnTp6A3g4IDKNY+stkwAMAoIAbasxBXqUWneSAWTMjt50lTqT29rFjvXohjsDNm2YPXDFlICmrJOZ3t6tHm8AiEAl0sCeLIIorIRt+cFbew/QRsoAXb4o1XSfoywzm0FTMAoYBNvLyFu8v8HpLBtD1iKgC17wHb7AI6d9wFbvguAIGTHd4E9wG7jgIyMjIyM+434c2R3HeV/Ffx6jtZu6ijl8h59T655jhR+rdHzDOP6beABCheb8O8/WFXeOyzgf5oAhVYnKxP7CwaAf1afJu8bSrhS6tdaXeGnrRenOqOlz9d6QwYnA/3TLd+GE7qe3chA5YF5DfY0vK3adfOX/gyNp2BW25MHdxAB9qvRiiP3/XpQQFGYDU4+Mi///XumXG8pjvaUAOsBGlf4jJt+YYEzeEzAdw06F19R3juM7D1wita86GR0CKfDHgLuXCc4Bri6vMLdfjMc4VNSUNsdodo2xu/1+Xl/K5+az8jIyMhYG/z5gJTMF1GtKq/a3rpyCvz5gJTMl9GtKq/a3rpyCmfQ4WwZmS+kXFVetb115ST48wEf/AGcfG1iw+tWbpbS2vJ3nQxcVr3lH3z5h972FUTLzYpOVk7l5hD+eYcYwDcAnewOotrZ4OtrPDucqi/LRX0/RR4qx7Nn4U8g+qjffvuN6Gf+nC85vwauHjaYyubqvWYKY4VEfSUMitdnBCT1Ue63R5439m+OgCn6DroAAaHPVQxKth/wkJgHmG8bmQMsT0D6EjDfvhVRKO3ywOQUgRA7nmL1uawZmHf1k+DPBwQ6NdcJ+k6Md1LA5f5ONdhJ8vZ5J0vLHT99srkGOjmJbd/G1r2Nriqnse1AZt1AalU5jW2HsuuG0qvKGRkZGRkZGRG0gcONyXsP9v8D0/IdJADiBNiXl3327WRGgOL/9HC/0XwlIURkRhC4tz6Z/fu7fUf2gHvfB9z3u0BGRkZGRkbGplHcnkgguQoSqtUXuhbs/wPtMwqV0HUJAvj5vk32b8IDuL23yn7qAXZ5u32hbRX7d3o82Df1FZXvbh9QOfhyxldr/+3xgXU9oKmvsHyr7F/XA269/eveBXrsv7N9QALe/tvjA0kPWAXGbvebkbHn+D/J5nMcHzx1UAAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/images/ui-icons_ef8c08_256x240.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAQAAAADwCAMAAADYSUr5AAAA7VBMVEXsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgzsjgxbIsyZAAAATnRSTlMAGBAyBAhQv4OZLiJUcEBmYBoSzQwgPBZCSEoeWiYwUiyFNIeBw2rJz8c4RBy9uXyrtaWNqa2zKP2fJO8KBgKPo2KVoa9s351GPm5+kWho0kj9AAAPhUlEQVR4nO1djWLbthEGyUiq5YSSLXtp7FpLOmfzkmxr126tmi2p03RJ1/Xe/3EGgARxPyAgRbIk2/hkSz4CJO4+HsE7AJSVysjI2AMUUOxahZ2iANhzBtZWr4BoIRSYAVN5u4QwDwQDRbcwfUi5KS3wFuDmFnQLa4Dtb//cqktwD5QEFFwfUs7PoCCA7y4bEJVFizcIob8KmhAplwwqVjt+9FBl3uINQniwEiryEyw9JHqGpQdEFNi+B4QQ7QOiHhysIPoAxUqxvdvvA9K42bsAv4S2fxfYOe57IJSRkZGRkZGxx7jxSHDHcRBXQMTyIjInBgHwBJ/bEx8PEANC+uhbpSSggCBAVODVabpI1S/k4WLZpTn6NpMhoX9Y40hxYERFpMcqUs4AloCtDQdID1YhnyXZ2hLjAYWiO9Dy1PDB7tPhIqLx+uMB8grZaR+Qxl2/C2RkZGRkZGRk7A7rBf7J0DR5/LUTjzUPIPSPGvQJiVJiB7kcQCiUOJrcFNtDZIf2xarQ3aGvLNxAVIFAabz90BFiBIlycTBhgWwOWCH0FLYHlPqwHaCvcIn2ZbosCevfPTRiFFcgvHukCjWwrc3GrGh1fsAof8EaUReKXkCB4/MzFNo97qLpFiKFYv/kNR5YQxQbQEofkZ2OuEOHqqT6gFTpru8CN7x/+jaZkZGRkZGRcV+x/rLUNcMMqUAscgnFocmpqkTzqymwVAPxfJ5PnIUUQOUKT04tEdWZyv3JCQSn96WS4pD97QfyW25A7NhSAbyhmVj0FEltA4vdiygBibXhoUYgykCUP7HwPTDeEqAIcHVMkZg7Zx4k0uFANs63hPQXCoRLAwdgGsr9Az7Qv7sgQGgg1aPl/BJLExBWgG4RFRLFImGmIquPC/klEGyCG0AuAXaJJC+B8FVe9NYQDEcXB8g6AQcjYJ1goJIggHWCrFR0S6kRHN5+4BzFi8NaoN35NRxUvL+JJdZr7PV4wK6fj8nIyMjIyNhr3OxdXAYq7FHZwB6bDSzSh4sF0utChqo0NAvaT1hLzXwFinmCzmeDucEQK18TTaQoFgP7bNC+RZ4OT4T6gQogDFYk+1QxQlj19QGSAWKiLYp8P0Ag1Gbz1ULfWHLg9iUnQNK5QQJcukm04blKLH2GgEJCY+HzXAZWCvHKco3Bp6MIaCjSXXRJyOxeqhnzEaF93MfFGW/O16ZvDL5TM4MJIjujz/cHypkQuuzRwWJ93BKdIt+wCRAPl9kpe2Ikkb2mFgGlxh/i40d3EHfdvoyMjIyMu43ylt/IAmGHnN5iIt7wKfbv01RAcJqFRl9lcjYQSnbQqKgC4fYOwSJt6N6trE0twZ9kN/PqNpTQeICvr4TLsDYC06U7BMjshS+v1/aT7IwQYD5LcgRQXMT2FrBfBLjZ6151jDElk9tPFfpUgk2yregusX25BJbwAFEfM+YI6vGAti4bTtizB+TjfQCrERyhKb2X8D6A9wX75P4t4neBYJeP6pdhg/gQl8MWvytzeSTjgOQBynQdh/iXKdxOrGJ/RkZGRsb9QmXihGr5+g8GGg9uTh+KoVZuNIzV+CwRucFBEyr1mVjx4irOxwM1BhirB6Q+2eNQi4eqR+aF6mELtoMzCR7V9RAFe/ZvQogNiyY8FPSUTFsLp8TeTmMui5mtw7bcaT0Yw2AA4wFRQIlkgq+1DQrNhkmoxS5Jq+u6bMAIGRECEANgXHTgWzwgBOhDH2l0oTQ4D8D5NMktBgNywAEMjo8rwATMZrPY7JGxBoJCkIBDQiAY09EGTUiBCWkUpISfGPR5AAwBfZiG2z7Ayc1yeKTxid39xBNwfHr4O0LA48ePFTvhYrF1r4tyAoz9n2MCqEuBtp/6GDR0oAYfG/R6wJExHYZHfhygsv7fEWCOj4bYmsP5A+pL4MkTfAnMlD4F+r3bobKvTyTA2P/w7PN+Agq2QW8piqMCpTBwenoKvX0AHGkGtP2YAPvTEWA7QUTAudn7/NxtOG46wWNmDtpBEkBzN7rBEvAFHp+YTB/q97qPAN4gHFqgBi8uLsC7qPCA6mg41G/+ErByPwEXDdoNxRhOx+M5jPEzQugS0ht+b1/Y3gEnYMAIAOIBE29/hIDucE8tmMsNOgK4B1RHFu4UCRlMHzv0xzcajcfdXWDs2h8TArBCkoDUJYDLmz6w7ip3BFS0ve5wTRwAn6keMA9I3QYbfSZ0DKbyt+7OXjGI1idPcfNyAyfAMlCrzaGqphYrxHocLHRJVycnfGUcbtT+jIyMjIw9x7Nn8fJSzG0TmFtO8rZT+XT3S3ub+tKJbbLd5diTVp50+zahyeHSslJ/YPrU0fuazrZO2CZ92/ZCCVXlGRiZKPJyPPRxyIFWeXLQBXJBKiq/3divEAN6ZwM200Qjm7EJBZeWm/PRWVCbYK7s7u2l4XaCz+lzgOfMfhMonXr7TWzeZb98dbgIzBT8Ub8eYYUqfZ4rVJ/MDbIDgPqTulJ/xvntWAtjIisqnwxOkGz0n077FARoY79GdA6HPE4rOy196NiMWHTZlSSApcOgXpy/fHV2joaNKu3ffsAnRcBf4K/6NcIG6tIxk3HyoXPjASqfUgXbYN5PzpL2njkR9QMjeDTVHDTCgRuxOegjoO0FvKzP/t/gmVdI24+G7NIe8JX6Wv3dDyldMA+4YB5wwTygtd+dwRqaTqrLb1l73zTSN52CNpnHuQOYPsDblybgxfkXh/oVtr+N1DEBJdhRJyd/Bd/q1z+cbNrD17iVKyajcnv9arhOkRPgsruuD6DmNPwpDNrLw2CoTgHni4yALr0L29+tiKAEIPn868ejx//8rpWP3OEOl5On9OwpcQm0MhafP/ey8f1uvDNIgGLQG8z4YO99ENgg95etwv4uYJYY8fUGHYH6j6fscHFZMftlAl9i+9XL73X3N/n+ZStOzfVfRvYXhrbdKOpEgVQTg/wsDuDD3kwOfQNMTJ5y+/ltUDWLunyxnRF46IqlBzGMY4X7inggREFioIyMjIyMHWCIB6ZNKAcXseo3vLTQTkVE7348dlwJJSz0+wLfmi8BhZqfw3D4ww/wHVLnEd5/fgYvXsDZ3MlsvYUbbnDjDZ3MN3TJG4+bxjAaDl8TBri9qxEw1ccao2wTNAMLHo2f+sjrXwb/9qHoYqgPMBXJTVfOpmrZH23y6uvo0LHSyY6fHGwKfHJlAuMFvObjDYrIqxBgQi20h7Hd/nYVLmno+eaNUm/eeH2GCuopntnhBJAlI2AHo9CCh1I1QxUdAbqqGY9BBLwyc3W4wYVhvY8A4BoIc1l5M7vnPWphZW9/Ses3n37y9a0uGqFwFQZsQQbd386DogpgEk+dzynsAZMJXq8+ns9NeukJ0PYrNATGGefJQlhkLo7DTXr+y3bNiOsDvrXTz/C2q1DXZH84iRNwrP88Nj+u2DjYEE6RBxD9Knj16ujVHC67A7422o02RwD3gB+t7EblWvu9geOFxSnd3ROmT+nJyQkhoPlsxVONc/3TEdBos+jtA+ZzcwHgTvD1cDjaYCcItA8w9i88A8b+mqSjc6Pvqd998QguEQPmQMeo23ODN86+p0/bn1buBkT6+oBhNZ/PYY4ZAHYb3PRd4LkZmPX68NRtMZn4ASvdA+qf0jMA5MP9eeg28Nug9QiLnj5A33U1MAES6xHAUNpz/9zFAYE1gqQDMT3G6xI9pwdw/aIgKoHCS1YGlRnSq9yCjdXjgN3j+N27YyROHxmuNAeNKPpYuXIyIyMjYy0M8eros59MF/PT2c602T7eA7zvhJ9dr/vzDjXaLp4Yc5+0wllzxzHv3gdmMMM7/CcQzKgVBqYTmFn+Z+mKm8J7k0A5F/jgCfjQ1WBhQyiOqD0lYuqBb+AyzMw9Ha2G3m6c8qQx+AlqnIceQp+Sb6i9UyQWbhr54+AjnZ0VzW2TAN0DmBT6PWmc6jDBE2PK2u+nF43dyP7Q0t1pOcX2fdRvH0mF2Q4JqN35rnHjVIeaXfIAVyUuw/aHCCiJy9iF5l1621zweI8KZrPZ9iJdb7DXJ3US0OSrtZ10imt7wHY7QesAzUMz1oZ3noB3qFJ/H18j97FYuw8QDN4oeKf30osvcSW2ExLo+VcbuAuo/sUIm8fMG9xocO3Ea19J9gFYivnHJ2KnyfovZlgW3v6ySx32abQiIyMjIyPjhlFDTLxpwIgFMnTp6A3g4IDKNY+stkwAMAoIAbasxBXqUWneSAWTMjt50lTqT29rFjvXohjsDNm2YPXDFlICmrJOZ3t6tHm8AiEAl0sCeLIIorIRt+cFbew/QRsoAXb4o1XSfoywzm0FTMAoYBNvLyFu8v8HpLBtD1iKgC17wHb7AI6d9wFbvguAIGTHd4E9wG7jgIyMjIyM+434c2R3HeV/Ffx6jtZu6ijl8h59T655jhR+rdHzDOP6beABCheb8O8/WFXeOyzgf5oAhVYnKxP7CwaAf1afJu8bSrhS6tdaXeGnrRenOqOlz9d6QwYnA/3TLd+GE7qe3chA5YF5DfY0vK3adfOX/gyNp2BW25MHdxAB9qvRiiP3/XpQQFGYDU4+Mi///XumXG8pjvaUAOsBGlf4jJt+YYEzeEzAdw06F19R3juM7D1wita86GR0CKfDHgLuXCc4Bri6vMLdfjMc4VNSUNsdodo2xu/1+Xl/K5+az8jIyMhYG/z5gJTMF1GtKq/a3rpyCvz5gJTMl9GtKq/a3rpyCmfQ4WwZmS+kXFVetb115ST48wEf/AGcfG1iw+tWbpbS2vJ3nQxcVr3lH3z5h972FUTLzYpOVk7l5hD+eYcYwDcAnewOotrZ4OtrPDucqi/LRX0/RR4qx7Nn4U8g+qjffvuN6Gf+nC85vwauHjaYyubqvWYKY4VEfSUMitdnBCT1Ue63R5439m+OgCn6DroAAaHPVQxKth/wkJgHmG8bmQMsT0D6EjDfvhVRKO3ywOQUgRA7nmL1uawZmHf1k+DPBwQ6NdcJ+k6Md1LA5f5ONdhJ8vZ5J0vLHT99srkGOjmJbd/G1r2Nriqnse1AZt1AalU5jW2HsuuG0qvKGRkZGRkZGRG0gcONyXsP9v8D0/IdJADiBNiXl3327WRGgOL/9HC/0XwlIURkRhC4tz6Z/fu7fUf2gHvfB9z3u0BGRkZGRkbGplHcnkgguQoSqtUXuhbs/wPtMwqV0HUJAvj5vk32b8IDuL23yn7qAXZ5u32hbRX7d3o82Df1FZXvbh9QOfhyxldr/+3xgXU9oKmvsHyr7F/XA269/eveBXrsv7N9QALe/tvjA0kPWAXGbvebkbHn+D/J5nMcHzx1UAAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/images/ui-icons_ffd27a_256x240.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAQAAAADwCAMAAADYSUr5AAAA7VBMVEX80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nzkx5/eAAAATnRSTlMAGBAyBAhQv4OZLiJUcEBmYBoSzQwgPBZCSEoeWiYwUiyFNIeBw2rJz8c4RBy9uXyrtaWNqa2zKP2fJO8KBgKPo2KVoa9s351GPm5+kWho0kj9AAAPhUlEQVR4nO1djWLbthEGyUiq5YSSLXtp7FpLOmfzkmxr126tmi2p03RJ1/Xe/3EGgARxPyAgRbIk2/hkSz4CJO4+HsE7AJSVysjI2AMUUOxahZ2iANhzBtZWr4BoIRSYAVN5u4QwDwQDRbcwfUi5KS3wFuDmFnQLa4Dtb//cqktwD5QEFFwfUs7PoCCA7y4bEJVFizcIob8KmhAplwwqVjt+9FBl3uINQniwEiryEyw9JHqGpQdEFNi+B4QQ7QOiHhysIPoAxUqxvdvvA9K42bsAv4S2fxfYOe57IJSRkZGRkZGxx7jxSHDHcRBXQMTyIjInBgHwBJ/bEx8PEANC+uhbpSSggCBAVODVabpI1S/k4WLZpTn6NpMhoX9Y40hxYERFpMcqUs4AloCtDQdID1YhnyXZ2hLjAYWiO9Dy1PDB7tPhIqLx+uMB8grZaR+Qxl2/C2RkZGRkZGRk7A7rBf7J0DR5/LUTjzUPIPSPGvQJiVJiB7kcQCiUOJrcFNtDZIf2xarQ3aGvLNxAVIFAabz90BFiBIlycTBhgWwOWCH0FLYHlPqwHaCvcIn2ZbosCevfPTRiFFcgvHukCjWwrc3GrGh1fsAof8EaUReKXkCB4/MzFNo97qLpFiKFYv/kNR5YQxQbQEofkZ2OuEOHqqT6gFTpru8CN7x/+jaZkZGRkZGRcV+x/rLUNcMMqUAscgnFocmpqkTzqymwVAPxfJ5PnIUUQOUKT04tEdWZyv3JCQSn96WS4pD97QfyW25A7NhSAbyhmVj0FEltA4vdiygBibXhoUYgykCUP7HwPTDeEqAIcHVMkZg7Zx4k0uFANs63hPQXCoRLAwdgGsr9Az7Qv7sgQGgg1aPl/BJLExBWgG4RFRLFImGmIquPC/klEGyCG0AuAXaJJC+B8FVe9NYQDEcXB8g6AQcjYJ1goJIggHWCrFR0S6kRHN5+4BzFi8NaoN35NRxUvL+JJdZr7PV4wK6fj8nIyMjIyNhr3OxdXAYq7FHZwB6bDSzSh4sF0utChqo0NAvaT1hLzXwFinmCzmeDucEQK18TTaQoFgP7bNC+RZ4OT4T6gQogDFYk+1QxQlj19QGSAWKiLYp8P0Ag1Gbz1ULfWHLg9iUnQNK5QQJcukm04blKLH2GgEJCY+HzXAZWCvHKco3Bp6MIaCjSXXRJyOxeqhnzEaF93MfFGW/O16ZvDL5TM4MJIjujz/cHypkQuuzRwWJ93BKdIt+wCRAPl9kpe2Ikkb2mFgGlxh/i40d3EHfdvoyMjIyMu43ylt/IAmGHnN5iIt7wKfbv01RAcJqFRl9lcjYQSnbQqKgC4fYOwSJt6N6trE0twZ9kN/PqNpTQeICvr4TLsDYC06U7BMjshS+v1/aT7IwQYD5LcgRQXMT2FrBfBLjZ6151jDElk9tPFfpUgk2yregusX25BJbwAFEfM+YI6vGAti4bTtizB+TjfQCrERyhKb2X8D6A9wX75P4t4neBYJeP6pdhg/gQl8MWvytzeSTjgOQBynQdh/iXKdxOrGJ/RkZGRsb9QmXihGr5+g8GGg9uTh+KoVZuNIzV+CwRucFBEyr1mVjx4irOxwM1BhirB6Q+2eNQi4eqR+aF6mELtoMzCR7V9RAFe/ZvQogNiyY8FPSUTFsLp8TeTmMui5mtw7bcaT0Yw2AA4wFRQIlkgq+1DQrNhkmoxS5Jq+u6bMAIGRECEANgXHTgWzwgBOhDH2l0oTQ4D8D5NMktBgNywAEMjo8rwATMZrPY7JGxBoJCkIBDQiAY09EGTUiBCWkUpISfGPR5AAwBfZiG2z7Ayc1yeKTxid39xBNwfHr4O0LA48ePFTvhYrF1r4tyAoz9n2MCqEuBtp/6GDR0oAYfG/R6wJExHYZHfhygsv7fEWCOj4bYmsP5A+pL4MkTfAnMlD4F+r3bobKvTyTA2P/w7PN+Agq2QW8piqMCpTBwenoKvX0AHGkGtP2YAPvTEWA7QUTAudn7/NxtOG46wWNmDtpBEkBzN7rBEvAFHp+YTB/q97qPAN4gHFqgBi8uLsC7qPCA6mg41G/+ErByPwEXDdoNxRhOx+M5jPEzQugS0ht+b1/Y3gEnYMAIAOIBE29/hIDucE8tmMsNOgK4B1RHFu4UCRlMHzv0xzcajcfdXWDs2h8TArBCkoDUJYDLmz6w7ip3BFS0ve5wTRwAn6keMA9I3QYbfSZ0DKbyt+7OXjGI1idPcfNyAyfAMlCrzaGqphYrxHocLHRJVycnfGUcbtT+jIyMjIw9x7Nn8fJSzG0TmFtO8rZT+XT3S3ub+tKJbbLd5diTVp50+zahyeHSslJ/YPrU0fuazrZO2CZ92/ZCCVXlGRiZKPJyPPRxyIFWeXLQBXJBKiq/3divEAN6ZwM200Qjm7EJBZeWm/PRWVCbYK7s7u2l4XaCz+lzgOfMfhMonXr7TWzeZb98dbgIzBT8Ub8eYYUqfZ4rVJ/MDbIDgPqTulJ/xvntWAtjIisqnwxOkGz0n077FARoY79GdA6HPE4rOy196NiMWHTZlSSApcOgXpy/fHV2joaNKu3ffsAnRcBf4K/6NcIG6tIxk3HyoXPjASqfUgXbYN5PzpL2njkR9QMjeDTVHDTCgRuxOegjoO0FvKzP/t/gmVdI24+G7NIe8JX6Wv3dDyldMA+4YB5wwTygtd+dwRqaTqrLb1l73zTSN52CNpnHuQOYPsDblybgxfkXh/oVtr+N1DEBJdhRJyd/Bd/q1z+cbNrD17iVKyajcnv9arhOkRPgsruuD6DmNPwpDNrLw2CoTgHni4yALr0L29+tiKAEIPn868ejx//8rpWP3OEOl5On9OwpcQm0MhafP/ey8f1uvDNIgGLQG8z4YO99ENgg95etwv4uYJYY8fUGHYH6j6fscHFZMftlAl9i+9XL73X3N/n+ZStOzfVfRvYXhrbdKOpEgVQTg/wsDuDD3kwOfQNMTJ5y+/ltUDWLunyxnRF46IqlBzGMY4X7inggREFioIyMjIyMHWCIB6ZNKAcXseo3vLTQTkVE7348dlwJJSz0+wLfmi8BhZqfw3D4ww/wHVLnEd5/fgYvXsDZ3MlsvYUbbnDjDZ3MN3TJG4+bxjAaDl8TBri9qxEw1ccao2wTNAMLHo2f+sjrXwb/9qHoYqgPMBXJTVfOpmrZH23y6uvo0LHSyY6fHGwKfHJlAuMFvObjDYrIqxBgQi20h7Hd/nYVLmno+eaNUm/eeH2GCuopntnhBJAlI2AHo9CCh1I1QxUdAbqqGY9BBLwyc3W4wYVhvY8A4BoIc1l5M7vnPWphZW9/Ses3n37y9a0uGqFwFQZsQQbd386DogpgEk+dzynsAZMJXq8+ns9NeukJ0PYrNATGGefJQlhkLo7DTXr+y3bNiOsDvrXTz/C2q1DXZH84iRNwrP88Nj+u2DjYEE6RBxD9Knj16ujVHC67A7422o02RwD3gB+t7EblWvu9geOFxSnd3ROmT+nJyQkhoPlsxVONc/3TEdBos+jtA+ZzcwHgTvD1cDjaYCcItA8w9i88A8b+mqSjc6Pvqd998QguEQPmQMeo23ODN86+p0/bn1buBkT6+oBhNZ/PYY4ZAHYb3PRd4LkZmPX68NRtMZn4ASvdA+qf0jMA5MP9eeg28Nug9QiLnj5A33U1MAES6xHAUNpz/9zFAYE1gqQDMT3G6xI9pwdw/aIgKoHCS1YGlRnSq9yCjdXjgN3j+N27YyROHxmuNAeNKPpYuXIyIyMjYy0M8eros59MF/PT2c602T7eA7zvhJ9dr/vzDjXaLp4Yc5+0wllzxzHv3gdmMMM7/CcQzKgVBqYTmFn+Z+mKm8J7k0A5F/jgCfjQ1WBhQyiOqD0lYuqBb+AyzMw9Ha2G3m6c8qQx+AlqnIceQp+Sb6i9UyQWbhr54+AjnZ0VzW2TAN0DmBT6PWmc6jDBE2PK2u+nF43dyP7Q0t1pOcX2fdRvH0mF2Q4JqN35rnHjVIeaXfIAVyUuw/aHCCiJy9iF5l1621zweI8KZrPZ9iJdb7DXJ3US0OSrtZ10imt7wHY7QesAzUMz1oZ3noB3qFJ/H18j97FYuw8QDN4oeKf30osvcSW2ExLo+VcbuAuo/sUIm8fMG9xocO3Ea19J9gFYivnHJ2KnyfovZlgW3v6ySx32abQiIyMjIyPjhlFDTLxpwIgFMnTp6A3g4IDKNY+stkwAMAoIAbasxBXqUWneSAWTMjt50lTqT29rFjvXohjsDNm2YPXDFlICmrJOZ3t6tHm8AiEAl0sCeLIIorIRt+cFbew/QRsoAXb4o1XSfoywzm0FTMAoYBNvLyFu8v8HpLBtD1iKgC17wHb7AI6d9wFbvguAIGTHd4E9wG7jgIyMjIyM+434c2R3HeV/Ffx6jtZu6ijl8h59T655jhR+rdHzDOP6beABCheb8O8/WFXeOyzgf5oAhVYnKxP7CwaAf1afJu8bSrhS6tdaXeGnrRenOqOlz9d6QwYnA/3TLd+GE7qe3chA5YF5DfY0vK3adfOX/gyNp2BW25MHdxAB9qvRiiP3/XpQQFGYDU4+Mi///XumXG8pjvaUAOsBGlf4jJt+YYEzeEzAdw06F19R3juM7D1wita86GR0CKfDHgLuXCc4Bri6vMLdfjMc4VNSUNsdodo2xu/1+Xl/K5+az8jIyMhYG/z5gJTMF1GtKq/a3rpyCvz5gJTMl9GtKq/a3rpyCmfQ4WwZmS+kXFVetb115ST48wEf/AGcfG1iw+tWbpbS2vJ3nQxcVr3lH3z5h972FUTLzYpOVk7l5hD+eYcYwDcAnewOotrZ4OtrPDucqi/LRX0/RR4qx7Nn4U8g+qjffvuN6Gf+nC85vwauHjaYyubqvWYKY4VEfSUMitdnBCT1Ue63R5439m+OgCn6DroAAaHPVQxKth/wkJgHmG8bmQMsT0D6EjDfvhVRKO3ywOQUgRA7nmL1uawZmHf1k+DPBwQ6NdcJ+k6Md1LA5f5ONdhJ8vZ5J0vLHT99srkGOjmJbd/G1r2Nriqnse1AZt1AalU5jW2HsuuG0qvKGRkZGRkZGRG0gcONyXsP9v8D0/IdJADiBNiXl3327WRGgOL/9HC/0XwlIURkRhC4tz6Z/fu7fUf2gHvfB9z3u0BGRkZGRkbGplHcnkgguQoSqtUXuhbs/wPtMwqV0HUJAvj5vk32b8IDuL23yn7qAXZ5u32hbRX7d3o82Df1FZXvbh9QOfhyxldr/+3xgXU9oKmvsHyr7F/XA269/eveBXrsv7N9QALe/tvjA0kPWAXGbvebkbHn+D/J5nMcHzx1UAAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/images/ui-icons_ffffff_256x240.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAQAAAADwCAMAAADYSUr5AAAA7VBMVEX8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vywC3+8AAAATnRSTlMAGBAyBAhQv4OZLiJUcEBmYBoSzQwgPBZCSEoeWiYwUiyFNIeBw2rJz8c4RBy9uXyrtaWNqa2zKP2fJO8KBgKPo2KVoa9s351GPm5+kWho0kj9AAAPhUlEQVR4nO1djWLbthEGyUiq5YSSLXtp7FpLOmfzkmxr126tmi2p03RJ1/Xe/3EGgARxPyAgRbIk2/hkSz4CJO4+HsE7AJSVysjI2AMUUOxahZ2iANhzBtZWr4BoIRSYAVN5u4QwDwQDRbcwfUi5KS3wFuDmFnQLa4Dtb//cqktwD5QEFFwfUs7PoCCA7y4bEJVFizcIob8KmhAplwwqVjt+9FBl3uINQniwEiryEyw9JHqGpQdEFNi+B4QQ7QOiHhysIPoAxUqxvdvvA9K42bsAv4S2fxfYOe57IJSRkZGRkZGxx7jxSHDHcRBXQMTyIjInBgHwBJ/bEx8PEANC+uhbpSSggCBAVODVabpI1S/k4WLZpTn6NpMhoX9Y40hxYERFpMcqUs4AloCtDQdID1YhnyXZ2hLjAYWiO9Dy1PDB7tPhIqLx+uMB8grZaR+Qxl2/C2RkZGRkZGRk7A7rBf7J0DR5/LUTjzUPIPSPGvQJiVJiB7kcQCiUOJrcFNtDZIf2xarQ3aGvLNxAVIFAabz90BFiBIlycTBhgWwOWCH0FLYHlPqwHaCvcIn2ZbosCevfPTRiFFcgvHukCjWwrc3GrGh1fsAof8EaUReKXkCB4/MzFNo97qLpFiKFYv/kNR5YQxQbQEofkZ2OuEOHqqT6gFTpru8CN7x/+jaZkZGRkZGRcV+x/rLUNcMMqUAscgnFocmpqkTzqymwVAPxfJ5PnIUUQOUKT04tEdWZyv3JCQSn96WS4pD97QfyW25A7NhSAbyhmVj0FEltA4vdiygBibXhoUYgykCUP7HwPTDeEqAIcHVMkZg7Zx4k0uFANs63hPQXCoRLAwdgGsr9Az7Qv7sgQGgg1aPl/BJLExBWgG4RFRLFImGmIquPC/klEGyCG0AuAXaJJC+B8FVe9NYQDEcXB8g6AQcjYJ1goJIggHWCrFR0S6kRHN5+4BzFi8NaoN35NRxUvL+JJdZr7PV4wK6fj8nIyMjIyNhr3OxdXAYq7FHZwB6bDSzSh4sF0utChqo0NAvaT1hLzXwFinmCzmeDucEQK18TTaQoFgP7bNC+RZ4OT4T6gQogDFYk+1QxQlj19QGSAWKiLYp8P0Ag1Gbz1ULfWHLg9iUnQNK5QQJcukm04blKLH2GgEJCY+HzXAZWCvHKco3Bp6MIaCjSXXRJyOxeqhnzEaF93MfFGW/O16ZvDL5TM4MJIjujz/cHypkQuuzRwWJ93BKdIt+wCRAPl9kpe2Ikkb2mFgGlxh/i40d3EHfdvoyMjIyMu43ylt/IAmGHnN5iIt7wKfbv01RAcJqFRl9lcjYQSnbQqKgC4fYOwSJt6N6trE0twZ9kN/PqNpTQeICvr4TLsDYC06U7BMjshS+v1/aT7IwQYD5LcgRQXMT2FrBfBLjZ6151jDElk9tPFfpUgk2yregusX25BJbwAFEfM+YI6vGAti4bTtizB+TjfQCrERyhKb2X8D6A9wX75P4t4neBYJeP6pdhg/gQl8MWvytzeSTjgOQBynQdh/iXKdxOrGJ/RkZGRsb9QmXihGr5+g8GGg9uTh+KoVZuNIzV+CwRucFBEyr1mVjx4irOxwM1BhirB6Q+2eNQi4eqR+aF6mELtoMzCR7V9RAFe/ZvQogNiyY8FPSUTFsLp8TeTmMui5mtw7bcaT0Yw2AA4wFRQIlkgq+1DQrNhkmoxS5Jq+u6bMAIGRECEANgXHTgWzwgBOhDH2l0oTQ4D8D5NMktBgNywAEMjo8rwATMZrPY7JGxBoJCkIBDQiAY09EGTUiBCWkUpISfGPR5AAwBfZiG2z7Ayc1yeKTxid39xBNwfHr4O0LA48ePFTvhYrF1r4tyAoz9n2MCqEuBtp/6GDR0oAYfG/R6wJExHYZHfhygsv7fEWCOj4bYmsP5A+pL4MkTfAnMlD4F+r3bobKvTyTA2P/w7PN+Agq2QW8piqMCpTBwenoKvX0AHGkGtP2YAPvTEWA7QUTAudn7/NxtOG46wWNmDtpBEkBzN7rBEvAFHp+YTB/q97qPAN4gHFqgBi8uLsC7qPCA6mg41G/+ErByPwEXDdoNxRhOx+M5jPEzQugS0ht+b1/Y3gEnYMAIAOIBE29/hIDucE8tmMsNOgK4B1RHFu4UCRlMHzv0xzcajcfdXWDs2h8TArBCkoDUJYDLmz6w7ip3BFS0ve5wTRwAn6keMA9I3QYbfSZ0DKbyt+7OXjGI1idPcfNyAyfAMlCrzaGqphYrxHocLHRJVycnfGUcbtT+jIyMjIw9x7Nn8fJSzG0TmFtO8rZT+XT3S3ub+tKJbbLd5diTVp50+zahyeHSslJ/YPrU0fuazrZO2CZ92/ZCCVXlGRiZKPJyPPRxyIFWeXLQBXJBKiq/3divEAN6ZwM200Qjm7EJBZeWm/PRWVCbYK7s7u2l4XaCz+lzgOfMfhMonXr7TWzeZb98dbgIzBT8Ub8eYYUqfZ4rVJ/MDbIDgPqTulJ/xvntWAtjIisqnwxOkGz0n077FARoY79GdA6HPE4rOy196NiMWHTZlSSApcOgXpy/fHV2joaNKu3ffsAnRcBf4K/6NcIG6tIxk3HyoXPjASqfUgXbYN5PzpL2njkR9QMjeDTVHDTCgRuxOegjoO0FvKzP/t/gmVdI24+G7NIe8JX6Wv3dDyldMA+4YB5wwTygtd+dwRqaTqrLb1l73zTSN52CNpnHuQOYPsDblybgxfkXh/oVtr+N1DEBJdhRJyd/Bd/q1z+cbNrD17iVKyajcnv9arhOkRPgsruuD6DmNPwpDNrLw2CoTgHni4yALr0L29+tiKAEIPn868ejx//8rpWP3OEOl5On9OwpcQm0MhafP/ey8f1uvDNIgGLQG8z4YO99ENgg95etwv4uYJYY8fUGHYH6j6fscHFZMftlAl9i+9XL73X3N/n+ZStOzfVfRvYXhrbdKOpEgVQTg/wsDuDD3kwOfQNMTJ5y+/ltUDWLunyxnRF46IqlBzGMY4X7inggREFioIyMjIyMHWCIB6ZNKAcXseo3vLTQTkVE7348dlwJJSz0+wLfmi8BhZqfw3D4ww/wHVLnEd5/fgYvXsDZ3MlsvYUbbnDjDZ3MN3TJG4+bxjAaDl8TBri9qxEw1ccao2wTNAMLHo2f+sjrXwb/9qHoYqgPMBXJTVfOpmrZH23y6uvo0LHSyY6fHGwKfHJlAuMFvObjDYrIqxBgQi20h7Hd/nYVLmno+eaNUm/eeH2GCuopntnhBJAlI2AHo9CCh1I1QxUdAbqqGY9BBLwyc3W4wYVhvY8A4BoIc1l5M7vnPWphZW9/Ses3n37y9a0uGqFwFQZsQQbd386DogpgEk+dzynsAZMJXq8+ns9NeukJ0PYrNATGGefJQlhkLo7DTXr+y3bNiOsDvrXTz/C2q1DXZH84iRNwrP88Nj+u2DjYEE6RBxD9Knj16ujVHC67A7422o02RwD3gB+t7EblWvu9geOFxSnd3ROmT+nJyQkhoPlsxVONc/3TEdBos+jtA+ZzcwHgTvD1cDjaYCcItA8w9i88A8b+mqSjc6Pvqd998QguEQPmQMeo23ODN86+p0/bn1buBkT6+oBhNZ/PYY4ZAHYb3PRd4LkZmPX68NRtMZn4ASvdA+qf0jMA5MP9eeg28Nug9QiLnj5A33U1MAES6xHAUNpz/9zFAYE1gqQDMT3G6xI9pwdw/aIgKoHCS1YGlRnSq9yCjdXjgN3j+N27YyROHxmuNAeNKPpYuXIyIyMjYy0M8eros59MF/PT2c602T7eA7zvhJ9dr/vzDjXaLp4Yc5+0wllzxzHv3gdmMMM7/CcQzKgVBqYTmFn+Z+mKm8J7k0A5F/jgCfjQ1WBhQyiOqD0lYuqBb+AyzMw9Ha2G3m6c8qQx+AlqnIceQp+Sb6i9UyQWbhr54+AjnZ0VzW2TAN0DmBT6PWmc6jDBE2PK2u+nF43dyP7Q0t1pOcX2fdRvH0mF2Q4JqN35rnHjVIeaXfIAVyUuw/aHCCiJy9iF5l1621zweI8KZrPZ9iJdb7DXJ3US0OSrtZ10imt7wHY7QesAzUMz1oZ3noB3qFJ/H18j97FYuw8QDN4oeKf30osvcSW2ExLo+VcbuAuo/sUIm8fMG9xocO3Ea19J9gFYivnHJ2KnyfovZlgW3v6ySx32abQiIyMjIyPjhlFDTLxpwIgFMnTp6A3g4IDKNY+stkwAMAoIAbasxBXqUWneSAWTMjt50lTqT29rFjvXohjsDNm2YPXDFlICmrJOZ3t6tHm8AiEAl0sCeLIIorIRt+cFbew/QRsoAXb4o1XSfoywzm0FTMAoYBNvLyFu8v8HpLBtD1iKgC17wHb7AI6d9wFbvguAIGTHd4E9wG7jgIyMjIyM+434c2R3HeV/Ffx6jtZu6ijl8h59T655jhR+rdHzDOP6beABCheb8O8/WFXeOyzgf5oAhVYnKxP7CwaAf1afJu8bSrhS6tdaXeGnrRenOqOlz9d6QwYnA/3TLd+GE7qe3chA5YF5DfY0vK3adfOX/gyNp2BW25MHdxAB9qvRiiP3/XpQQFGYDU4+Mi///XumXG8pjvaUAOsBGlf4jJt+YYEzeEzAdw06F19R3juM7D1wita86GR0CKfDHgLuXCc4Bri6vMLdfjMc4VNSUNsdodo2xu/1+Xl/K5+az8jIyMhYG/z5gJTMF1GtKq/a3rpyCvz5gJTMl9GtKq/a3rpyCmfQ4WwZmS+kXFVetb115ST48wEf/AGcfG1iw+tWbpbS2vJ3nQxcVr3lH3z5h972FUTLzYpOVk7l5hD+eYcYwDcAnewOotrZ4OtrPDucqi/LRX0/RR4qx7Nn4U8g+qjffvuN6Gf+nC85vwauHjaYyubqvWYKY4VEfSUMitdnBCT1Ue63R5439m+OgCn6DroAAaHPVQxKth/wkJgHmG8bmQMsT0D6EjDfvhVRKO3ywOQUgRA7nmL1uawZmHf1k+DPBwQ6NdcJ+k6Md1LA5f5ONdhJ8vZ5J0vLHT99srkGOjmJbd/G1r2Nriqnse1AZt1AalU5jW2HsuuG0qvKGRkZGRkZGRG0gcONyXsP9v8D0/IdJADiBNiXl3327WRGgOL/9HC/0XwlIURkRhC4tz6Z/fu7fUf2gHvfB9z3u0BGRkZGRkbGplHcnkgguQoSqtUXuhbs/wPtMwqV0HUJAvj5vk32b8IDuL23yn7qAXZ5u32hbRX7d3o82Df1FZXvbh9QOfhyxldr/+3xgXU9oKmvsHyr7F/XA269/eveBXrsv7N9QALe/tvjA0kPWAXGbvebkbHn+D/J5nMcHzx1UAAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/jquery-ui-timepicker-addon.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LnVpLXRpbWVwaWNrZXItZGl2IC51aS13aWRnZXQtaGVhZGVyIHsgbWFyZ2luLWJvdHRvbTogOHB4OyB9Ci51aS10aW1lcGlja2VyLWRpdiBkbCB7IHRleHQtYWxpZ246IGxlZnQ7IH0KLnVpLXRpbWVwaWNrZXItZGl2IGRsIGR0IHsgaGVpZ2h0OiAyNXB4OyB9Ci51aS10aW1lcGlja2VyLWRpdiBkbCBkZCB7IG1hcmdpbjogLTI1cHggMTBweCAxMHB4IDY1cHg7IH0KLnVpLXRpbWVwaWNrZXItZGl2IHRkIHsgZm9udC1zaXplOiA5MCU7IH0K]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/jquery-ui-timepicker-addon.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKKiBqUXVlcnkgdGltZXBpY2tlciBhZGRvbgoqIEJ5OiBUcmVudCBSaWNoYXJkc29uIFtodHRwOi8vdHJlbnRyaWNoYXJkc29uLmNvbV0KKiBWZXJzaW9uIDAuOS41CiogTGFzdCBNb2RpZmllZDogMDUvMjUvMjAxMQoqIAoqIENvcHlyaWdodCAyMDExIFRyZW50IFJpY2hhcmRzb24KKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgYW5kIEdQTCBsaWNlbnNlcy4KKiBodHRwOi8vdHJlbnRyaWNoYXJkc29uLmNvbS9JbXByb21wdHUvR1BMLUxJQ0VOU0UudHh0CiogaHR0cDovL3RyZW50cmljaGFyZHNvbi5jb20vSW1wcm9tcHR1L01JVC1MSUNFTlNFLnR4dAoqIAoqIEhFUkVTIFRIRSBDU1M6CiogLnVpLXRpbWVwaWNrZXItZGl2IC51aS13aWRnZXQtaGVhZGVyeyBtYXJnaW4tYm90dG9tOiA4cHg7IH0KKiAudWktdGltZXBpY2tlci1kaXYgZGx7IHRleHQtYWxpZ246IGxlZnQ7IH0KKiAudWktdGltZXBpY2tlci1kaXYgZGwgZHR7IGhlaWdodDogMjVweDsgfQoqIC51aS10aW1lcGlja2VyLWRpdiBkbCBkZHsgbWFyZ2luOiAtMjVweCAxMHB4IDEwcHggNjVweDsgfQoqIC51aS10aW1lcGlja2VyLWRpdiB0ZCB7IGZvbnQtc2l6ZTogOTAlOyB9CiovCgooZnVuY3Rpb24oJCkgewoKJC5leHRlbmQoJC51aSwgeyB0aW1lcGlja2VyOiB7IHZlcnNpb246ICIwLjkuNSIgfSB9KTsKCi8qIFRpbWUgcGlja2VyIG1hbmFnZXIuCiAgIFVzZSB0aGUgc2luZ2xldG9uIGluc3RhbmNlIG9mIHRoaXMgY2xhc3MsICQudGltZXBpY2tlciwgdG8gaW50ZXJhY3Qgd2l0aCB0aGUgdGltZSBwaWNrZXIuCiAgIFNldHRpbmdzIGZvciAoZ3JvdXBzIG9mKSB0aW1lIHBpY2tlcnMgYXJlIG1haW50YWluZWQgaW4gYW4gaW5zdGFuY2Ugb2JqZWN0LAogICBhbGxvd2luZyBtdWx0aXBsZSBkaWZmZXJlbnQgc2V0dGluZ3Mgb24gdGhlIHNhbWUgcGFnZS4gKi8KCmZ1bmN0aW9uIFRpbWVwaWNrZXIoKSB7Cgl0aGlzLnJlZ2lvbmFsID0gW107IC8vIEF2YWlsYWJsZSByZWdpb25hbCBzZXR0aW5ncywgaW5kZXhlZCBieSBsYW5ndWFnZSBjb2RlCgl0aGlzLnJlZ2lvbmFsWycnXSA9IHsgLy8gRGVmYXVsdCByZWdpb25hbCBzZXR0aW5ncwoJCWN1cnJlbnRUZXh0OiAnTm93JywKCQljbG9zZVRleHQ6ICdEb25lJywKCQlhbXBtOiBmYWxzZSwKCQl0aW1lRm9ybWF0OiAnaGg6bW0gdHQnLAoJCXRpbWVPbmx5VGl0bGU6ICdDaG9vc2UgVGltZScsCgkJdGltZVRleHQ6ICdUaW1lJywKCQlob3VyVGV4dDogJ0hvdXInLAoJCW1pbnV0ZVRleHQ6ICdNaW51dGUnLAoJCXNlY29uZFRleHQ6ICdTZWNvbmQnLAoJCXRpbWV6b25lVGV4dDogJ1RpbWUgWm9uZScKCX07Cgl0aGlzLl9kZWZhdWx0cyA9IHsgLy8gR2xvYmFsIGRlZmF1bHRzIGZvciBhbGwgdGhlIGRhdGV0aW1lIHBpY2tlciBpbnN0YW5jZXMKCQlzaG93QnV0dG9uUGFuZWw6IHRydWUsCgkJdGltZU9ubHk6IGZhbHNlLAoJCXNob3dIb3VyOiB0cnVlLAoJCXNob3dNaW51dGU6IHRydWUsCgkJc2hvd1NlY29uZDogZmFsc2UsCgkJc2hvd1RpbWV6b25lOiBmYWxzZSwKCQlzaG93VGltZTogdHJ1ZSwKCQlzdGVwSG91cjogMC4wNSwKCQlzdGVwTWludXRlOiAwLjA1LAoJCXN0ZXBTZWNvbmQ6IDAuMDUsCgkJaG91cjogMCwKCQltaW51dGU6IDAsCgkJc2Vjb25kOiAwLAoJCXRpbWV6b25lOiAnKzAwMDAnLAoJCWhvdXJNaW46IDAsCgkJbWludXRlTWluOiAwLAoJCXNlY29uZE1pbjogMCwKCQlob3VyTWF4OiAyMywKCQltaW51dGVNYXg6IDU5LAoJCXNlY29uZE1heDogNTksCgkJbWluRGF0ZVRpbWU6IG51bGwsCgkJbWF4RGF0ZVRpbWU6IG51bGwsCgkJaG91ckdyaWQ6IDAsCgkJbWludXRlR3JpZDogMCwKCQlzZWNvbmRHcmlkOiAwLAoJCWFsd2F5c1NldFRpbWU6IHRydWUsCgkJc2VwYXJhdG9yOiAnICcsCgkJYWx0RmllbGRUaW1lT25seTogdHJ1ZSwKCQlzaG93VGltZXBpY2tlcjogdHJ1ZSwKCQl0aW1lem9uZUxpc3Q6IFsiLTExMDAiLCAiLTEwMDAiLCAiLTA5MDAiLCAiLTA4MDAiLCAiLTA3MDAiLCAiLTA2MDAiLAoJCQkgICAgICAgIi0wNTAwIiwgIi0wNDAwIiwgIi0wMzAwIiwgIi0wMjAwIiwgIi0wMTAwIiwgIiswMDAwIiwKCQkJICAgICAgICIrMDEwMCIsICIrMDIwMCIsICIrMDMwMCIsICIrMDQwMCIsICIrMDUwMCIsICIrMDYwMCIsCgkJCSAgICAgICAiKzA3MDAiLCAiKzA4MDAiLCAiKzA5MDAiLCAiKzEwMDAiLCAiKzExMDAiLCAiKzEyMDAiXQoJfTsKCSQuZXh0ZW5kKHRoaXMuX2RlZmF1bHRzLCB0aGlzLnJlZ2lvbmFsWycnXSk7Cn0KCiQuZXh0ZW5kKFRpbWVwaWNrZXIucHJvdG90eXBlLCB7CgkkaW5wdXQ6IG51bGwsCgkkYWx0SW5wdXQ6IG51bGwsCgkkdGltZU9iajogbnVsbCwKCWluc3Q6IG51bGwsCglob3VyX3NsaWRlcjogbnVsbCwKCW1pbnV0ZV9zbGlkZXI6IG51bGwsCglzZWNvbmRfc2xpZGVyOiBudWxsLAoJdGltZXpvbmVfc2VsZWN0OiBudWxsLAoJaG91cjogMCwKCW1pbnV0ZTogMCwKCXNlY29uZDogMCwKCXRpbWV6b25lOiAnKzAwMDAnLAoJaG91ck1pbk9yaWdpbmFsOiBudWxsLAoJbWludXRlTWluT3JpZ2luYWw6IG51bGwsCglzZWNvbmRNaW5PcmlnaW5hbDogbnVsbCwKCWhvdXJNYXhPcmlnaW5hbDogbnVsbCwKCW1pbnV0ZU1heE9yaWdpbmFsOiBudWxsLAoJc2Vjb25kTWF4T3JpZ2luYWw6IG51bGwsCglhbXBtOiAnJywKCWZvcm1hdHRlZERhdGU6ICcnLAoJZm9ybWF0dGVkVGltZTogJycsCglmb3JtYXR0ZWREYXRlVGltZTogJycsCgl0aW1lem9uZUxpc3Q6IFsiLTExMDAiLCAiLTEwMDAiLCAiLTA5MDAiLCAiLTA4MDAiLCAiLTA3MDAiLCAiLTA2MDAiLAoJCQkiLTA1MDAiLCAiLTA0MDAiLCAiLTAzMDAiLCAiLTAyMDAiLCAiLTAxMDAiLCAiKzAwMDAiLAoJCQkiKzAxMDAiLCAiKzAyMDAiLCAiKzAzMDAiLCAiKzA0MDAiLCAiKzA1MDAiLCAiKzA2MDAiLAoJCQkiKzA3MDAiLCAiKzA4MDAiLCAiKzA5MDAiLCAiKzEwMDAiLCAiKzExMDAiLCAiKzEyMDAiXSwKCgkvKiBPdmVycmlkZSB0aGUgZGVmYXVsdCBzZXR0aW5ncyBmb3IgYWxsIGluc3RhbmNlcyBvZiB0aGUgdGltZSBwaWNrZXIuCgkgICBAcGFyYW0gIHNldHRpbmdzICBvYmplY3QgLSB0aGUgbmV3IHNldHRpbmdzIHRvIHVzZSBhcyBkZWZhdWx0cyAoYW5vbnltb3VzIG9iamVjdCkKCSAgIEByZXR1cm4gdGhlIG1hbmFnZXIgb2JqZWN0ICovCglzZXREZWZhdWx0czogZnVuY3Rpb24oc2V0dGluZ3MpIHsKCQlleHRlbmRSZW1vdmUodGhpcy5fZGVmYXVsdHMsIHNldHRpbmdzIHx8IHt9KTsKCQlyZXR1cm4gdGhpczsKCX0sCgoJLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCS8vIENyZWF0ZSBhIG5ldyBUaW1lcGlja2VyIGluc3RhbmNlCgkvLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoJX25ld0luc3Q6IGZ1bmN0aW9uKCRpbnB1dCwgbykgewoJCXZhciB0cF9pbnN0ID0gbmV3IFRpbWVwaWNrZXIoKSwKCQkJaW5saW5lU2V0dGluZ3MgPSB7fTsKCQkJCgkJZm9yICh2YXIgYXR0ck5hbWUgaW4gdGhpcy5fZGVmYXVsdHMpIHsKCQkJdmFyIGF0dHJWYWx1ZSA9ICRpbnB1dC5hdHRyKCd0aW1lOicgKyBhdHRyTmFtZSk7CgkJCWlmIChhdHRyVmFsdWUpIHsKCQkJCXRyeSB7CgkJCQkJaW5saW5lU2V0dGluZ3NbYXR0ck5hbWVdID0gZXZhbChhdHRyVmFsdWUpOwoJCQkJfSBjYXRjaCAoZXJyKSB7CgkJCQkJaW5saW5lU2V0dGluZ3NbYXR0ck5hbWVdID0gYXR0clZhbHVlOwoJCQkJfQoJCQl9CgkJfQoJCXRwX2luc3QuX2RlZmF1bHRzID0gJC5leHRlbmQoe30sIHRoaXMuX2RlZmF1bHRzLCBpbmxpbmVTZXR0aW5ncywgbywgewoJCQliZWZvcmVTaG93OiBmdW5jdGlvbihpbnB1dCwgZHBfaW5zdCkgewoJCQkJaWYgKCQuaXNGdW5jdGlvbihvLmJlZm9yZVNob3cpKQoJCQkJCW8uYmVmb3JlU2hvdyhpbnB1dCwgZHBfaW5zdCwgdHBfaW5zdCk7CgkJCX0sCgkJCW9uQ2hhbmdlTW9udGhZZWFyOiBmdW5jdGlvbih5ZWFyLCBtb250aCwgZHBfaW5zdCkgewoJCQkJLy8gVXBkYXRlIHRoZSB0aW1lIGFzIHdlbGwgOiB0aGlzIHByZXZlbnRzIHRoZSB0aW1lIGZyb20gZGlzYXBwZWFyaW5nIGZyb20gdGhlICRpbnB1dCBmaWVsZC4KCQkJCXRwX2luc3QuX3VwZGF0ZURhdGVUaW1lKGRwX2luc3QpOwoJCQkJaWYgKCQuaXNGdW5jdGlvbihvLm9uQ2hhbmdlTW9udGhZZWFyKSkKCQkJCQlvLm9uQ2hhbmdlTW9udGhZZWFyLmNhbGwoJGlucHV0WzBdLCB5ZWFyLCBtb250aCwgZHBfaW5zdCwgdHBfaW5zdCk7CgkJCX0sCgkJCW9uQ2xvc2U6IGZ1bmN0aW9uKGRhdGVUZXh0LCBkcF9pbnN0KSB7CgkJCQlpZiAodHBfaW5zdC50aW1lRGVmaW5lZCA9PT0gdHJ1ZSAmJiAkaW5wdXQudmFsKCkgIT0gJycpCgkJCQkJdHBfaW5zdC5fdXBkYXRlRGF0ZVRpbWUoZHBfaW5zdCk7CgkJCQlpZiAoJC5pc0Z1bmN0aW9uKG8ub25DbG9zZSkpCgkJCQkJby5vbkNsb3NlLmNhbGwoJGlucHV0WzBdLCBkYXRlVGV4dCwgZHBfaW5zdCwgdHBfaW5zdCk7CgkJCX0sCgkJCXRpbWVwaWNrZXI6IHRwX2luc3QgLy8gYWRkIHRpbWVwaWNrZXIgYXMgYSBwcm9wZXJ0eSBvZiBkYXRlcGlja2VyOiAkLmRhdGVwaWNrZXIuX2dldChkcF9pbnN0LCAndGltZXBpY2tlcicpOwoJCX0pOwoKCQl0cF9pbnN0LmhvdXIgPSB0cF9pbnN0Ll9kZWZhdWx0cy5ob3VyOwoJCXRwX2luc3QubWludXRlID0gdHBfaW5zdC5fZGVmYXVsdHMubWludXRlOwoJCXRwX2luc3Quc2Vjb25kID0gdHBfaW5zdC5fZGVmYXVsdHMuc2Vjb25kOwoJCXRwX2luc3QuYW1wbSA9ICcnOwoJCXRwX2luc3QuJGlucHV0ID0gJGlucHV0OwoKCQlpZiAoby5hbHRGaWVsZCkKCQkJdHBfaW5zdC4kYWx0SW5wdXQgPSAkKG8uYWx0RmllbGQpCgkJCQkuY3NzKHsgY3Vyc29yOiAncG9pbnRlcicgfSkKCQkJCS5mb2N1cyhmdW5jdGlvbigpeyAkaW5wdXQudHJpZ2dlcigiZm9jdXMiKTsgfSk7CgkJCQkJCQoJCS8vIGRhdGVwaWNrZXIgbmVlZHMgbWluRGF0ZS9tYXhEYXRlLCB0aW1lcGlja2VyIG5lZWRzIG1pbkRhdGVUaW1lL21heERhdGVUaW1lLi4KCQlpZih0cF9pbnN0Ll9kZWZhdWx0cy5taW5EYXRlICE9PSB1bmRlZmluZWQgJiYgdHBfaW5zdC5fZGVmYXVsdHMubWluRGF0ZSBpbnN0YW5jZW9mIERhdGUpCgkJCXRwX2luc3QuX2RlZmF1bHRzLm1pbkRhdGVUaW1lID0gbmV3IERhdGUodHBfaW5zdC5fZGVmYXVsdHMubWluRGF0ZS5nZXRUaW1lKCkpOwoJCWlmKHRwX2luc3QuX2RlZmF1bHRzLm1pbkRhdGVUaW1lICE9PSB1bmRlZmluZWQgJiYgdHBfaW5zdC5fZGVmYXVsdHMubWluRGF0ZVRpbWUgaW5zdGFuY2VvZiBEYXRlKQoJCQl0cF9pbnN0Ll9kZWZhdWx0cy5taW5EYXRlID0gbmV3IERhdGUodHBfaW5zdC5fZGVmYXVsdHMubWluRGF0ZVRpbWUuZ2V0VGltZSgpKTsKCQlpZih0cF9pbnN0Ll9kZWZhdWx0cy5tYXhEYXRlICE9PSB1bmRlZmluZWQgJiYgdHBfaW5zdC5fZGVmYXVsdHMubWF4RGF0ZSBpbnN0YW5jZW9mIERhdGUpCgkJCXRwX2luc3QuX2RlZmF1bHRzLm1heERhdGVUaW1lID0gbmV3IERhdGUodHBfaW5zdC5fZGVmYXVsdHMubWF4RGF0ZS5nZXRUaW1lKCkpOwoJCWlmKHRwX2luc3QuX2RlZmF1bHRzLm1heERhdGVUaW1lICE9PSB1bmRlZmluZWQgJiYgdHBfaW5zdC5fZGVmYXVsdHMubWF4RGF0ZVRpbWUgaW5zdGFuY2VvZiBEYXRlKQoJCQl0cF9pbnN0Ll9kZWZhdWx0cy5tYXhEYXRlID0gbmV3IERhdGUodHBfaW5zdC5fZGVmYXVsdHMubWF4RGF0ZVRpbWUuZ2V0VGltZSgpKTsKCQkJCgkJcmV0dXJuIHRwX2luc3Q7Cgl9LAoKCS8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgkvLyBhZGQgb3VyIHNsaWRlcnMgdG8gdGhlIGNhbGVuZGFyCgkvLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoJX2FkZFRpbWVQaWNrZXI6IGZ1bmN0aW9uKGRwX2luc3QpIHsKCQl2YXIgY3VyckRUID0gKHRoaXMuJGFsdElucHV0ICYmIHRoaXMuX2RlZmF1bHRzLmFsdEZpZWxkVGltZU9ubHkpID8KCQkJCXRoaXMuJGlucHV0LnZhbCgpICsgJyAnICsgdGhpcy4kYWx0SW5wdXQudmFsKCkgOiAKCQkJCXRoaXMuJGlucHV0LnZhbCgpOwoKCQl0aGlzLnRpbWVEZWZpbmVkID0gdGhpcy5fcGFyc2VUaW1lKGN1cnJEVCk7CgkJdGhpcy5fbGltaXRNaW5NYXhEYXRlVGltZShkcF9pbnN0LCBmYWxzZSk7CgkJdGhpcy5faW5qZWN0VGltZVBpY2tlcigpOwoJfSwKCgkvLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoJLy8gcGFyc2UgdGhlIHRpbWUgc3RyaW5nIGZyb20gaW5wdXQgdmFsdWUgb3IgX3NldFRpbWUKCS8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCglfcGFyc2VUaW1lOiBmdW5jdGlvbih0aW1lU3RyaW5nLCB3aXRoRGF0ZSkgewoJCXZhciByZWdzdHIgPSB0aGlzLl9kZWZhdWx0cy50aW1lRm9ybWF0LnRvU3RyaW5nKCkKCQkJCS5yZXBsYWNlKC9oezEsMn0vaWcsICcoXFxkP1xcZCknKQoJCQkJLnJlcGxhY2UoL217MSwyfS9pZywgJyhcXGQ/XFxkKScpCgkJCQkucmVwbGFjZSgvc3sxLDJ9L2lnLCAnKFxcZD9cXGQpJykKCQkJCS5yZXBsYWNlKC90ezEsMn0vaWcsICcoYW18cG18YXxwKT8nKQoJCQkJLnJlcGxhY2UoL3p7MX0vaWcsICcoKFxcK3wtKVxcZFxcZFxcZFxcZCk/JykKCQkJCS5yZXBsYWNlKC9ccy9nLCAnXFxzPycpICsgJyQnLAoJCQlvcmRlciA9IHRoaXMuX2dldEZvcm1hdFBvc2l0aW9ucygpLAoJCQl0cmVnOwoKCQlpZiAoIXRoaXMuaW5zdCkgdGhpcy5pbnN0ID0gJC5kYXRlcGlja2VyLl9nZXRJbnN0KHRoaXMuJGlucHV0WzBdKTsKCgkJaWYgKHdpdGhEYXRlIHx8ICF0aGlzLl9kZWZhdWx0cy50aW1lT25seSkgewoJCQkvLyB0aGUgdGltZSBzaG91bGQgY29tZSBhZnRlciB4IG51bWJlciBvZiBjaGFyYWN0ZXJzIGFuZCBhIHNwYWNlLgoJCQkvLyB4ID0gYXQgbGVhc3QgdGhlIGxlbmd0aCBvZiB0ZXh0IHNwZWNpZmllZCBieSB0aGUgZGF0ZSBmb3JtYXQKCQkJdmFyIGRwX2RhdGVGb3JtYXQgPSAkLmRhdGVwaWNrZXIuX2dldCh0aGlzLmluc3QsICdkYXRlRm9ybWF0Jyk7CgkJCS8vIGVzY2FwZSBzcGVjaWFsIHJlZ2V4IGNoYXJhY3RlcnMgaW4gdGhlIHNlcGVyYXRvcgoJCQl2YXIgc3BlY2lhbHMgPSBuZXcgUmVnRXhwKCJbLiorP3woKVxcW1xcXXt9XFxcXF0iLCAiZyIpOwoJCQlyZWdzdHIgPSAnLnsnICsgZHBfZGF0ZUZvcm1hdC5sZW5ndGggKyAnLH0nICsgdGhpcy5fZGVmYXVsdHMuc2VwYXJhdG9yLnJlcGxhY2Uoc3BlY2lhbHMsICJcXCQmIikgKyByZWdzdHI7CgkJfQoJCQoJCXRyZWcgPSB0aW1lU3RyaW5nLm1hdGNoKG5ldyBSZWdFeHAocmVnc3RyLCAnaScpKTsKCgkJaWYgKHRyZWcpIHsKCQkJaWYgKG9yZGVyLnQgIT09IC0xKQoJCQkJdGhpcy5hbXBtID0gKCh0cmVnW29yZGVyLnRdID09PSB1bmRlZmluZWQgfHwgdHJlZ1tvcmRlci50XS5sZW5ndGggPT09IDApID8KCQkJCQknJyA6CgkJCQkJKHRyZWdbb3JkZXIudF0uY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgPT0gJ0EnKSA/ICdBTScgOiAnUE0nKS50b1VwcGVyQ2FzZSgpOwoKCQkJaWYgKG9yZGVyLmggIT09IC0xKSB7CgkJCQlpZiAodGhpcy5hbXBtID09ICdBTScgJiYgdHJlZ1tvcmRlci5oXSA9PSAnMTInKSAKCQkJCQl0aGlzLmhvdXIgPSAwOyAvLyAxMmFtID0gMCBob3VyCgkJCQllbHNlIGlmICh0aGlzLmFtcG0gPT0gJ1BNJyAmJiB0cmVnW29yZGVyLmhdICE9ICcxMicpIAoJCQkJCXRoaXMuaG91ciA9IChwYXJzZUZsb2F0KHRyZWdbb3JkZXIuaF0pICsgMTIpLnRvRml4ZWQoMCk7IC8vIDEycG0gPSAxMiBob3VyLCBhbnkgb3RoZXIgcG0gPSBob3VyICsgMTIKCQkJCWVsc2UgdGhpcy5ob3VyID0gTnVtYmVyKHRyZWdbb3JkZXIuaF0pOwoJCQl9CgoJCQlpZiAob3JkZXIubSAhPT0gLTEpIHRoaXMubWludXRlID0gTnVtYmVyKHRyZWdbb3JkZXIubV0pOwoJCQlpZiAob3JkZXIucyAhPT0gLTEpIHRoaXMuc2Vjb25kID0gTnVtYmVyKHRyZWdbb3JkZXIuc10pOwoJCQlpZiAob3JkZXIueiAhPT0gLTEpIHRoaXMudGltZXpvbmUgPSB0cmVnW29yZGVyLnpdOwoJCQkKCQkJcmV0dXJuIHRydWU7CgoJCX0KCQlyZXR1cm4gZmFsc2U7Cgl9LAoKCS8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgkvLyBmaWd1cmUgb3V0IHBvc2l0aW9uIG9mIHRpbWUgZWxlbWVudHMuLiBjYXVzZSBqcyBjYW50IGRvIG5hbWVkIGNhcHR1cmVzCgkvLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoJX2dldEZvcm1hdFBvc2l0aW9uczogZnVuY3Rpb24oKSB7CgkJdmFyIGZpbmRzID0gdGhpcy5fZGVmYXVsdHMudGltZUZvcm1hdC50b0xvd2VyQ2FzZSgpLm1hdGNoKC8oaHsxLDJ9fG17MSwyfXxzezEsMn18dHsxLDJ9fHopL2cpLAoJCQlvcmRlcnMgPSB7IGg6IC0xLCBtOiAtMSwgczogLTEsIHQ6IC0xLCB6OiAtMSB9OwoKCQlpZiAoZmluZHMpCgkJCWZvciAodmFyIGkgPSAwOyBpIDwgZmluZHMubGVuZ3RoOyBpKyspCgkJCQlpZiAob3JkZXJzW2ZpbmRzW2ldLnRvU3RyaW5nKCkuY2hhckF0KDApXSA9PSAtMSkKCQkJCQlvcmRlcnNbZmluZHNbaV0udG9TdHJpbmcoKS5jaGFyQXQoMCldID0gaSArIDE7CgoJCXJldHVybiBvcmRlcnM7Cgl9LAoKCS8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgkvLyBnZW5lcmF0ZSBhbmQgaW5qZWN0IGh0bWwgZm9yIHRpbWVwaWNrZXIgaW50byB1aSBkYXRlcGlja2VyCgkvLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoJX2luamVjdFRpbWVQaWNrZXI6IGZ1bmN0aW9uKCkgewoJCXZhciAkZHAgPSB0aGlzLmluc3QuZHBEaXYsCgkJCW8gPSB0aGlzLl9kZWZhdWx0cywKCQkJdHBfaW5zdCA9IHRoaXMsCgkJCS8vIEFkZGVkIGJ5IFBldGVyIE1lZGVpcm9zOgoJCQkvLyAtIEZpZ3VyZSBvdXQgd2hhdCB0aGUgaG91ci9taW51dGUvc2Vjb25kIG1heCBzaG91bGQgYmUgYmFzZWQgb24gdGhlIHN0ZXAgdmFsdWVzLgoJCQkvLyAtIEV4YW1wbGU6IGlmIHN0ZXBNaW51dGUgaXMgMTUsIHRoZW4gbWluTWF4IGlzIDQ1LgoJCQlob3VyTWF4ID0gKG8uaG91ck1heCAtIChvLmhvdXJNYXggJSBvLnN0ZXBIb3VyKSkudG9GaXhlZCgwKSwKCQkJbWluTWF4ICA9IChvLm1pbnV0ZU1heCAtIChvLm1pbnV0ZU1heCAlIG8uc3RlcE1pbnV0ZSkpLnRvRml4ZWQoMCksCgkJCXNlY01heCAgPSAoby5zZWNvbmRNYXggLSAoby5zZWNvbmRNYXggJSBvLnN0ZXBTZWNvbmQpKS50b0ZpeGVkKDApLAoJCQlkcF9pZCA9IHRoaXMuaW5zdC5pZC50b1N0cmluZygpLnJlcGxhY2UoLyhbXkEtWmEtejAtOV9dKS9nLCAnJyk7CgoJCS8vIFByZXZlbnQgZGlzcGxheWluZyB0d2ljZQoJCS8vaWYgKCRkcC5maW5kKCJkaXYjdWktdGltZXBpY2tlci1kaXYtIisgZHBfaWQpLmxlbmd0aCA9PT0gMCkgewoJCWlmICgkZHAuZmluZCgiZGl2I3VpLXRpbWVwaWNrZXItZGl2LSIrIGRwX2lkKS5sZW5ndGggPT09IDAgJiYgby5zaG93VGltZXBpY2tlcikgewoJCQl2YXIgbm9EaXNwbGF5ID0gJyBzdHlsZT0iZGlzcGxheTpub25lOyInLAoJCQkJaHRtbCA9CSc8ZGl2IGNsYXNzPSJ1aS10aW1lcGlja2VyLWRpdiIgaWQ9InVpLXRpbWVwaWNrZXItZGl2LScgKyBkcF9pZCArICciPjxkbD4nICsKCQkJCQkJJzxkdCBjbGFzcz0idWlfdHBpY2tlcl90aW1lX2xhYmVsIiBpZD0idWlfdHBpY2tlcl90aW1lX2xhYmVsXycgKyBkcF9pZCArICciJyArCgkJCQkJCSgoby5zaG93VGltZSkgPyAnJyA6IG5vRGlzcGxheSkgKyAnPicgKyBvLnRpbWVUZXh0ICsgJzwvZHQ+JyArCgkJCQkJCSc8ZGQgY2xhc3M9InVpX3RwaWNrZXJfdGltZSIgaWQ9InVpX3RwaWNrZXJfdGltZV8nICsgZHBfaWQgKyAnIicgKwoJCQkJCQkoKG8uc2hvd1RpbWUpID8gJycgOiBub0Rpc3BsYXkpICsgJz48L2RkPicgKwoJCQkJCQknPGR0IGNsYXNzPSJ1aV90cGlja2VyX2hvdXJfbGFiZWwiIGlkPSJ1aV90cGlja2VyX2hvdXJfbGFiZWxfJyArIGRwX2lkICsgJyInICsKCQkJCQkJKChvLnNob3dIb3VyKSA/ICcnIDogbm9EaXNwbGF5KSArICc+JyArIG8uaG91clRleHQgKyAnPC9kdD4nLAoJCQkJaG91ckdyaWRTaXplID0gMCwKCQkJCW1pbnV0ZUdyaWRTaXplID0gMCwKCQkJCXNlY29uZEdyaWRTaXplID0gMCwKCQkJCXNpemU7CiAKCQkJaWYgKG8uc2hvd0hvdXIgJiYgby5ob3VyR3JpZCA+IDApIHsKCQkJCWh0bWwgKz0gJzxkZCBjbGFzcz0idWlfdHBpY2tlcl9ob3VyIj4nICsKCQkJCQkJJzxkaXYgaWQ9InVpX3RwaWNrZXJfaG91cl8nICsgZHBfaWQgKyAnIicgKyAoKG8uc2hvd0hvdXIpICAgPyAnJyA6IG5vRGlzcGxheSkgKyAnPjwvZGl2PicgKwoJCQkJCQknPGRpdiBzdHlsZT0icGFkZGluZy1sZWZ0OiAxcHgiPjx0YWJsZT48dHI+JzsKCgkJCQlmb3IgKHZhciBoID0gby5ob3VyTWluOyBoIDwgaG91ck1heDsgaCArPSBvLmhvdXJHcmlkKSB7CgkJCQkJaG91ckdyaWRTaXplKys7CgkJCQkJdmFyIHRtcGggPSAoby5hbXBtICYmIGggPiAxMikgPyBoLTEyIDogaDsKCQkJCQlpZiAodG1waCA8IDEwKSB0bXBoID0gJzAnICsgdG1waDsKCQkJCQlpZiAoby5hbXBtKSB7CgkJCQkJCWlmIChoID09IDApIHRtcGggPSAxMiArJ2EnOwoJCQkJCQllbHNlIGlmIChoIDwgMTIpIHRtcGggKz0gJ2EnOwoJCQkJCQllbHNlIHRtcGggKz0gJ3AnOwoJCQkJCX0KCQkJCQlodG1sICs9ICc8dGQ+JyArIHRtcGggKyAnPC90ZD4nOwoJCQkJfQoKCQkJCWh0bWwgKz0gJzwvdHI+PC90YWJsZT48L2Rpdj4nICsKCQkJCQkJJzwvZGQ+JzsKCQkJfSBlbHNlIGh0bWwgKz0gJzxkZCBjbGFzcz0idWlfdHBpY2tlcl9ob3VyIiBpZD0idWlfdHBpY2tlcl9ob3VyXycgKyBkcF9pZCArICciJyArCgkJCQkJCQkoKG8uc2hvd0hvdXIpID8gJycgOiBub0Rpc3BsYXkpICsgJz48L2RkPic7CgoJCQlodG1sICs9ICc8ZHQgY2xhc3M9InVpX3RwaWNrZXJfbWludXRlX2xhYmVsIiBpZD0idWlfdHBpY2tlcl9taW51dGVfbGFiZWxfJyArIGRwX2lkICsgJyInICsKCQkJCQkoKG8uc2hvd01pbnV0ZSkgPyAnJyA6IG5vRGlzcGxheSkgKyAnPicgKyBvLm1pbnV0ZVRleHQgKyAnPC9kdD4nOwoKCQkJaWYgKG8uc2hvd01pbnV0ZSAmJiBvLm1pbnV0ZUdyaWQgPiAwKSB7CgkJCQlodG1sICs9ICc8ZGQgY2xhc3M9InVpX3RwaWNrZXJfbWludXRlIHVpX3RwaWNrZXJfbWludXRlXycgKyBvLm1pbnV0ZUdyaWQgKyAnIj4nICsKCQkJCQkJJzxkaXYgaWQ9InVpX3RwaWNrZXJfbWludXRlXycgKyBkcF9pZCArICciJyArCgkJCQkJCSgoby5zaG93TWludXRlKSA/ICcnIDogbm9EaXNwbGF5KSArICc+PC9kaXY+JyArCgkJCQkJCSc8ZGl2IHN0eWxlPSJwYWRkaW5nLWxlZnQ6IDFweCI+PHRhYmxlPjx0cj4nOwoKCQkJCWZvciAodmFyIG0gPSBvLm1pbnV0ZU1pbjsgbSA8IG1pbk1heDsgbSArPSBvLm1pbnV0ZUdyaWQpIHsKCQkJCQltaW51dGVHcmlkU2l6ZSsrOwoJCQkJCWh0bWwgKz0gJzx0ZD4nICsgKChtIDwgMTApID8gJzAnIDogJycpICsgbSArICc8L3RkPic7CgkJCQl9CgoJCQkJaHRtbCArPSAnPC90cj48L3RhYmxlPjwvZGl2PicgKwoJCQkJCQknPC9kZD4nOwoJCQl9IGVsc2UgaHRtbCArPSAnPGRkIGNsYXNzPSJ1aV90cGlja2VyX21pbnV0ZSIgaWQ9InVpX3RwaWNrZXJfbWludXRlXycgKyBkcF9pZCArICciJyArCgkJCQkJCQkoKG8uc2hvd01pbnV0ZSkgPyAnJyA6IG5vRGlzcGxheSkgKyAnPjwvZGQ+JzsKCgkJCWh0bWwgKz0gJzxkdCBjbGFzcz0idWlfdHBpY2tlcl9zZWNvbmRfbGFiZWwiIGlkPSJ1aV90cGlja2VyX3NlY29uZF9sYWJlbF8nICsgZHBfaWQgKyAnIicgKwoJCQkJCSgoby5zaG93U2Vjb25kKSA/ICcnIDogbm9EaXNwbGF5KSArICc+JyArIG8uc2Vjb25kVGV4dCArICc8L2R0Pic7CgoJCQlpZiAoby5zaG93U2Vjb25kICYmIG8uc2Vjb25kR3JpZCA+IDApIHsKCQkJCWh0bWwgKz0gJzxkZCBjbGFzcz0idWlfdHBpY2tlcl9zZWNvbmQgdWlfdHBpY2tlcl9zZWNvbmRfJyArIG8uc2Vjb25kR3JpZCArICciPicgKwoJCQkJCQknPGRpdiBpZD0idWlfdHBpY2tlcl9zZWNvbmRfJyArIGRwX2lkICsgJyInICsKCQkJCQkJKChvLnNob3dTZWNvbmQpID8gJycgOiBub0Rpc3BsYXkpICsgJz48L2Rpdj4nICsKCQkJCQkJJzxkaXYgc3R5bGU9InBhZGRpbmctbGVmdDogMXB4Ij48dGFibGU+PHRyPic7CgoJCQkJZm9yICh2YXIgcyA9IG8uc2Vjb25kTWluOyBzIDwgc2VjTWF4OyBzICs9IG8uc2Vjb25kR3JpZCkgewoJCQkJCXNlY29uZEdyaWRTaXplKys7CgkJCQkJaHRtbCArPSAnPHRkPicgKyAoKHMgPCAxMCkgPyAnMCcgOiAnJykgKyBzICsgJzwvdGQ+JzsKCQkJCX0KCgkJCQlodG1sICs9ICc8L3RyPjwvdGFibGU+PC9kaXY+JyArCgkJCQkJCSc8L2RkPic7CgkJCX0gZWxzZSBodG1sICs9ICc8ZGQgY2xhc3M9InVpX3RwaWNrZXJfc2Vjb25kIiBpZD0idWlfdHBpY2tlcl9zZWNvbmRfJyArIGRwX2lkICsgJyInCSsKCQkJCQkJCSgoby5zaG93U2Vjb25kKSA/ICcnIDogbm9EaXNwbGF5KSArICc+PC9kZD4nOwoJCQkJCQkJCgkJCWh0bWwgKz0gJzxkdCBjbGFzcz0idWlfdHBpY2tlcl90aW1lem9uZV9sYWJlbCIgaWQ9InVpX3RwaWNrZXJfdGltZXpvbmVfbGFiZWxfJyArIGRwX2lkICsgJyInICsKCQkJCQkoKG8uc2hvd1RpbWV6b25lKSA/ICcnIDogbm9EaXNwbGF5KSArICc+JyArIG8udGltZXpvbmVUZXh0ICsgJzwvZHQ+JzsKCQkJaHRtbCArPSAnPGRkIGNsYXNzPSJ1aV90cGlja2VyX3RpbWV6b25lIiBpZD0idWlfdHBpY2tlcl90aW1lem9uZV8nICsgZHBfaWQgKyAnIicJKwoJCQkJCQkJKChvLnNob3dUaW1lem9uZSkgPyAnJyA6IG5vRGlzcGxheSkgKyAnPjwvZGQ+JzsKCgkJCWh0bWwgKz0gJzwvZGw+PC9kaXY+JzsKCQkJJHRwID0gJChodG1sKTsKCgkJCQkvLyBpZiB3ZSBvbmx5IHdhbnQgdGltZSBwaWNrZXIuLi4KCQkJaWYgKG8udGltZU9ubHkgPT09IHRydWUpIHsKCQkJCSR0cC5wcmVwZW5kKAoJCQkJCSc8ZGl2IGNsYXNzPSJ1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItYWxsIj4nICsKCQkJCQkJJzxkaXYgY2xhc3M9InVpLWRhdGVwaWNrZXItdGl0bGUiPicgKyBvLnRpbWVPbmx5VGl0bGUgKyAnPC9kaXY+JyArCgkJCQkJJzwvZGl2PicpOwoJCQkJJGRwLmZpbmQoJy51aS1kYXRlcGlja2VyLWhlYWRlciwgLnVpLWRhdGVwaWNrZXItY2FsZW5kYXInKS5oaWRlKCk7CgkJCX0KCgkJCXRoaXMuaG91cl9zbGlkZXIgPSAkdHAuZmluZCgnI3VpX3RwaWNrZXJfaG91cl8nKyBkcF9pZCkuc2xpZGVyKHsKCQkJCW9yaWVudGF0aW9uOiAiaG9yaXpvbnRhbCIsCgkJCQl2YWx1ZTogdGhpcy5ob3VyLAoJCQkJbWluOiBvLmhvdXJNaW4sCgkJCQltYXg6IGhvdXJNYXgsCgkJCQlzdGVwOiBvLnN0ZXBIb3VyLAoJCQkJc2xpZGU6IGZ1bmN0aW9uKGV2ZW50LCB1aSkgewoJCQkJCXRwX2luc3QuaG91cl9zbGlkZXIuc2xpZGVyKCAib3B0aW9uIiwgInZhbHVlIiwgdWkudmFsdWUpOwoJCQkJCXRwX2luc3QuX29uVGltZUNoYW5nZSgpOwoJCQkJfQoJCQl9KTsKCgkJCS8vIFVwZGF0ZWQgYnkgUGV0ZXIgTWVkZWlyb3M6CgkJCS8vIC0gUGFzcyBpbiBFdmVudCBhbmQgVUkgaW5zdGFuY2UgaW50byBzbGlkZSBmdW5jdGlvbgoJCQl0aGlzLm1pbnV0ZV9zbGlkZXIgPSAkdHAuZmluZCgnI3VpX3RwaWNrZXJfbWludXRlXycrIGRwX2lkKS5zbGlkZXIoewoJCQkJb3JpZW50YXRpb246ICJob3Jpem9udGFsIiwKCQkJCXZhbHVlOiB0aGlzLm1pbnV0ZSwKCQkJCW1pbjogby5taW51dGVNaW4sCgkJCQltYXg6IG1pbk1heCwKCQkJCXN0ZXA6IG8uc3RlcE1pbnV0ZSwKCQkJCXNsaWRlOiBmdW5jdGlvbihldmVudCwgdWkpIHsKCQkJCQkvLyB1cGRhdGUgdGhlIGdsb2JhbCBtaW51dGUgc2xpZGVyIGluc3RhbmNlIHZhbHVlIHdpdGggdGhlIGN1cnJlbnQgc2xpZGVyIHZhbHVlCgkJCQkJdHBfaW5zdC5taW51dGVfc2xpZGVyLnNsaWRlciggIm9wdGlvbiIsICJ2YWx1ZSIsIHVpLnZhbHVlKTsKCQkJCQl0cF9pbnN0Ll9vblRpbWVDaGFuZ2UoKTsKCQkJCX0KCQkJfSk7CgoJCQl0aGlzLnNlY29uZF9zbGlkZXIgPSAkdHAuZmluZCgnI3VpX3RwaWNrZXJfc2Vjb25kXycrIGRwX2lkKS5zbGlkZXIoewoJCQkJb3JpZW50YXRpb246ICJob3Jpem9udGFsIiwKCQkJCXZhbHVlOiB0aGlzLnNlY29uZCwKCQkJCW1pbjogby5zZWNvbmRNaW4sCgkJCQltYXg6IHNlY01heCwKCQkJCXN0ZXA6IG8uc3RlcFNlY29uZCwKCQkJCXNsaWRlOiBmdW5jdGlvbihldmVudCwgdWkpIHsKCQkJCQl0cF9pbnN0LnNlY29uZF9zbGlkZXIuc2xpZGVyKCAib3B0aW9uIiwgInZhbHVlIiwgdWkudmFsdWUpOwoJCQkJCXRwX2luc3QuX29uVGltZUNoYW5nZSgpOwoJCQkJfQoJCQl9KTsKCQkJCgkJCQoJCQl0aGlzLnRpbWV6b25lX3NlbGVjdCA9ICR0cC5maW5kKCcjdWlfdHBpY2tlcl90aW1lem9uZV8nKyBkcF9pZCkuYXBwZW5kKCc8c2VsZWN0Pjwvc2VsZWN0PicpLmZpbmQoInNlbGVjdCIpOwoJCQkkLmZuLmFwcGVuZC5hcHBseSh0aGlzLnRpbWV6b25lX3NlbGVjdCwKCQkJCSQubWFwKG8udGltZXpvbmVMaXN0LCBmdW5jdGlvbih2YWwsIGlkeCkgewoJCQkJCXJldHVybiAkKCI8b3B0aW9uIC8+IikKCQkJCQkJLnZhbCh0eXBlb2YgdmFsID09ICJvYmplY3QiID8gdmFsLnZhbHVlIDogdmFsKQoJCQkJCQkudGV4dCh0eXBlb2YgdmFsID09ICJvYmplY3QiID8gdmFsLmxhYmVsIDogdmFsKTsKCQkJCX0pCgkJCSk7CgkJCXRoaXMudGltZXpvbmVfc2VsZWN0LnZhbCgodHlwZW9mIHRoaXMudGltZXpvbmUgIT0gInVuZGVmaW5lZCIgJiYgdGhpcy50aW1lem9uZSAhPSBudWxsICYmIHRoaXMudGltZXpvbmUgIT0gIiIpID8gdGhpcy50aW1lem9uZSA6IG8udGltZXpvbmUpOwoJCQl0aGlzLnRpbWV6b25lX3NlbGVjdC5jaGFuZ2UoZnVuY3Rpb24oKSB7CgkJCQl0cF9pbnN0Ll9vblRpbWVDaGFuZ2UoKTsKCQkJfSk7CgoJCQkvLyBBZGQgZ3JpZCBmdW5jdGlvbmFsaXR5CgkJCWlmIChvLnNob3dIb3VyICYmIG8uaG91ckdyaWQgPiAwKSB7CgkJCQlzaXplID0gMTAwICogaG91ckdyaWRTaXplICogby5ob3VyR3JpZCAvIChob3VyTWF4IC0gby5ob3VyTWluKTsKCgkJCQkkdHAuZmluZCgiLnVpX3RwaWNrZXJfaG91ciB0YWJsZSIpLmNzcyh7CgkJCQkJd2lkdGg6IHNpemUgKyAiJSIsCgkJCQkJbWFyZ2luTGVmdDogKHNpemUgLyAoLTIgKiBob3VyR3JpZFNpemUpKSArICIlIiwKCQkJCQlib3JkZXJDb2xsYXBzZTogJ2NvbGxhcHNlJwoJCQkJfSkuZmluZCgidGQiKS5lYWNoKCBmdW5jdGlvbihpbmRleCkgewoJCQkJCSQodGhpcykuY2xpY2soZnVuY3Rpb24oKSB7CgkJCQkJCXZhciBoID0gJCh0aGlzKS5odG1sKCk7CgkJCQkJCWlmKG8uYW1wbSkJewoJCQkJCQkJdmFyIGFwID0gaC5zdWJzdHJpbmcoMikudG9Mb3dlckNhc2UoKSwKCQkJCQkJCQlhcGggPSBwYXJzZUludChoLnN1YnN0cmluZygwLDIpKTsKCQkJCQkJCWlmIChhcCA9PSAnYScpIHsKCQkJCQkJCQlpZiAoYXBoID09IDEyKSBoID0gMDsKCQkJCQkJCQllbHNlIGggPSBhcGg7CgkJCQkJCQl9IGVsc2UgaWYgKGFwaCA9PSAxMikgaCA9IDEyOwoJCQkJCQkJZWxzZSBoID0gYXBoICsgMTI7CgkJCQkJCX0KCQkJCQkJdHBfaW5zdC5ob3VyX3NsaWRlci5zbGlkZXIoIm9wdGlvbiIsICJ2YWx1ZSIsIGgpOwoJCQkJCQl0cF9pbnN0Ll9vblRpbWVDaGFuZ2UoKTsKCQkJCQkJdHBfaW5zdC5fb25TZWxlY3RIYW5kbGVyKCk7CgkJCQkJfSkuY3NzKHsKCQkJCQkJY3Vyc29yOiAncG9pbnRlcicsCgkJCQkJCXdpZHRoOiAoMTAwIC8gaG91ckdyaWRTaXplKSArICclJywKCQkJCQkJdGV4dEFsaWduOiAnY2VudGVyJywKCQkJCQkJb3ZlcmZsb3c6ICdoaWRkZW4nCgkJCQkJfSk7CgkJCQl9KTsKCQkJfQoKCQkJaWYgKG8uc2hvd01pbnV0ZSAmJiBvLm1pbnV0ZUdyaWQgPiAwKSB7CgkJCQlzaXplID0gMTAwICogbWludXRlR3JpZFNpemUgKiBvLm1pbnV0ZUdyaWQgLyAobWluTWF4IC0gby5taW51dGVNaW4pOwoJCQkJJHRwLmZpbmQoIi51aV90cGlja2VyX21pbnV0ZSB0YWJsZSIpLmNzcyh7CgkJCQkJd2lkdGg6IHNpemUgKyAiJSIsCgkJCQkJbWFyZ2luTGVmdDogKHNpemUgLyAoLTIgKiBtaW51dGVHcmlkU2l6ZSkpICsgIiUiLAoJCQkJCWJvcmRlckNvbGxhcHNlOiAnY29sbGFwc2UnCgkJCQl9KS5maW5kKCJ0ZCIpLmVhY2goZnVuY3Rpb24oaW5kZXgpIHsKCQkJCQkkKHRoaXMpLmNsaWNrKGZ1bmN0aW9uKCkgewoJCQkJCQl0cF9pbnN0Lm1pbnV0ZV9zbGlkZXIuc2xpZGVyKCJvcHRpb24iLCAidmFsdWUiLCAkKHRoaXMpLmh0bWwoKSk7CgkJCQkJCXRwX2luc3QuX29uVGltZUNoYW5nZSgpOwoJCQkJCQl0cF9pbnN0Ll9vblNlbGVjdEhhbmRsZXIoKTsKCQkJCQl9KS5jc3MoewoJCQkJCQljdXJzb3I6ICdwb2ludGVyJywKCQkJCQkJd2lkdGg6ICgxMDAgLyBtaW51dGVHcmlkU2l6ZSkgKyAnJScsCgkJCQkJCXRleHRBbGlnbjogJ2NlbnRlcicsCgkJCQkJCW92ZXJmbG93OiAnaGlkZGVuJwoJCQkJCX0pOwoJCQkJfSk7CgkJCX0KCgkJCWlmIChvLnNob3dTZWNvbmQgJiYgby5zZWNvbmRHcmlkID4gMCkgewoJCQkJJHRwLmZpbmQoIi51aV90cGlja2VyX3NlY29uZCB0YWJsZSIpLmNzcyh7CgkJCQkJd2lkdGg6IHNpemUgKyAiJSIsCgkJCQkJbWFyZ2luTGVmdDogKHNpemUgLyAoLTIgKiBzZWNvbmRHcmlkU2l6ZSkpICsgIiUiLAoJCQkJCWJvcmRlckNvbGxhcHNlOiAnY29sbGFwc2UnCgkJCQl9KS5maW5kKCJ0ZCIpLmVhY2goZnVuY3Rpb24oaW5kZXgpIHsKCQkJCQkkKHRoaXMpLmNsaWNrKGZ1bmN0aW9uKCkgewoJCQkJCQl0cF9pbnN0LnNlY29uZF9zbGlkZXIuc2xpZGVyKCJvcHRpb24iLCAidmFsdWUiLCAkKHRoaXMpLmh0bWwoKSk7CgkJCQkJCXRwX2luc3QuX29uVGltZUNoYW5nZSgpOwoJCQkJCQl0cF9pbnN0Ll9vblNlbGVjdEhhbmRsZXIoKTsKCQkJCQl9KS5jc3MoewoJCQkJCQljdXJzb3I6ICdwb2ludGVyJywKCQkJCQkJd2lkdGg6ICgxMDAgLyBzZWNvbmRHcmlkU2l6ZSkgKyAnJScsCgkJCQkJCXRleHRBbGlnbjogJ2NlbnRlcicsCgkJCQkJCW92ZXJmbG93OiAnaGlkZGVuJwoJCQkJCX0pOwoJCQkJfSk7CgkJCX0KCgkJCXZhciAkYnV0dG9uUGFuZWwgPSAkZHAuZmluZCgnLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZScpOwoJCQlpZiAoJGJ1dHRvblBhbmVsLmxlbmd0aCkgJGJ1dHRvblBhbmVsLmJlZm9yZSgkdHApOwoJCQllbHNlICRkcC5hcHBlbmQoJHRwKTsKCgkJCXRoaXMuJHRpbWVPYmogPSAkdHAuZmluZCgnI3VpX3RwaWNrZXJfdGltZV8nKyBkcF9pZCk7CgoJCQlpZiAodGhpcy5pbnN0ICE9PSBudWxsKSB7CgkJCQl2YXIgdGltZURlZmluZWQgPSB0aGlzLnRpbWVEZWZpbmVkOwoJCQkJdGhpcy5fb25UaW1lQ2hhbmdlKCk7CgkJCQl0aGlzLnRpbWVEZWZpbmVkID0gdGltZURlZmluZWQ7CgkJCX0KCgkJCS8vRW11bGF0ZSBkYXRlcGlja2VyIG9uU2VsZWN0IGJlaGF2aW9yLiBDYWxsIG9uIHNsaWRlc3RvcC4KCQkJdmFyIG9uU2VsZWN0RGVsZWdhdGUgPSBmdW5jdGlvbigpIHsKCQkJCXRwX2luc3QuX29uU2VsZWN0SGFuZGxlcigpOwoJCQl9OwoJCQl0aGlzLmhvdXJfc2xpZGVyLmJpbmQoJ3NsaWRlc3RvcCcsb25TZWxlY3REZWxlZ2F0ZSk7CgkJCXRoaXMubWludXRlX3NsaWRlci5iaW5kKCdzbGlkZXN0b3AnLG9uU2VsZWN0RGVsZWdhdGUpOwoJCQl0aGlzLnNlY29uZF9zbGlkZXIuYmluZCgnc2xpZGVzdG9wJyxvblNlbGVjdERlbGVnYXRlKTsKCQl9Cgl9LAoKCS8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgkvLyBUaGlzIGZ1bmN0aW9uIHRyaWVzIHRvIGxpbWl0IHRoZSBhYmlsaXR5IHRvIGdvIG91dHNpZGUgdGhlIAoJLy8gbWluL21heCBkYXRlIHJhbmdlCgkvLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoJX2xpbWl0TWluTWF4RGF0ZVRpbWU6IGZ1bmN0aW9uKGRwX2luc3QsIGFkanVzdFNsaWRlcnMpewoJCXZhciBvID0gdGhpcy5fZGVmYXVsdHMsCgkJCWRwX2RhdGUgPSBuZXcgRGF0ZShkcF9pbnN0LnNlbGVjdGVkWWVhciwgZHBfaW5zdC5zZWxlY3RlZE1vbnRoLCBkcF9pbnN0LnNlbGVjdGVkRGF5KTsKCgkJaWYoIXRoaXMuX2RlZmF1bHRzLnNob3dUaW1lcGlja2VyKSByZXR1cm47IC8vIE5vIHRpbWUgc28gbm90aGluZyB0byBjaGVjayBoZXJlCgoJCWlmKHRoaXMuX2RlZmF1bHRzLm1pbkRhdGVUaW1lICE9PSBudWxsICYmIGRwX2RhdGUpewoJCQl2YXIgbWluRGF0ZVRpbWUgPSB0aGlzLl9kZWZhdWx0cy5taW5EYXRlVGltZSwKCQkJCW1pbkRhdGVUaW1lRGF0ZSA9IG5ldyBEYXRlKG1pbkRhdGVUaW1lLmdldEZ1bGxZZWFyKCksIG1pbkRhdGVUaW1lLmdldE1vbnRoKCksIG1pbkRhdGVUaW1lLmdldERhdGUoKSwgMCwgMCwgMCwgMCk7CgoJCQlpZih0aGlzLmhvdXJNaW5PcmlnaW5hbCA9PT0gbnVsbCB8fCB0aGlzLm1pbnV0ZU1pbk9yaWdpbmFsID09PSBudWxsIHx8IHRoaXMuc2Vjb25kTWluT3JpZ2luYWwgPT09IG51bGwpewoJCQkJdGhpcy5ob3VyTWluT3JpZ2luYWwgPSBvLmhvdXJNaW47CgkJCQl0aGlzLm1pbnV0ZU1pbk9yaWdpbmFsID0gby5taW51dGVNaW47CgkJCQl0aGlzLnNlY29uZE1pbk9yaWdpbmFsID0gby5zZWNvbmRNaW47CgkJCX0KCgkJCWlmKGRwX2luc3Quc2V0dGluZ3MudGltZU9ubHkgfHwgbWluRGF0ZVRpbWVEYXRlLmdldFRpbWUoKSA9PSBkcF9kYXRlLmdldFRpbWUoKSkgewoJCQkJdGhpcy5fZGVmYXVsdHMuaG91ck1pbiA9IG1pbkRhdGVUaW1lLmdldEhvdXJzKCk7CgkJCQlpZiAodGhpcy5ob3VyIDw9IHRoaXMuX2RlZmF1bHRzLmhvdXJNaW4pIHsKCQkJCQl0aGlzLmhvdXIgPSB0aGlzLl9kZWZhdWx0cy5ob3VyTWluOwoJCQkJCXRoaXMuX2RlZmF1bHRzLm1pbnV0ZU1pbiA9IG1pbkRhdGVUaW1lLmdldE1pbnV0ZXMoKTsKCQkJCQlpZiAodGhpcy5taW51dGUgPD0gdGhpcy5fZGVmYXVsdHMubWludXRlTWluKSB7CgkJCQkJCXRoaXMubWludXRlID0gdGhpcy5fZGVmYXVsdHMubWludXRlTWluOwoJCQkJCQl0aGlzLl9kZWZhdWx0cy5zZWNvbmRNaW4gPSBtaW5EYXRlVGltZS5nZXRTZWNvbmRzKCk7CgkJCQkJfSBlbHNlIHsKCQkJCQkJaWYodGhpcy5zZWNvbmQgPCB0aGlzLl9kZWZhdWx0cy5zZWNvbmRNaW4pIHRoaXMuc2Vjb25kID0gdGhpcy5fZGVmYXVsdHMuc2Vjb25kTWluOwoJCQkJCQl0aGlzLl9kZWZhdWx0cy5zZWNvbmRNaW4gPSB0aGlzLnNlY29uZE1pbk9yaWdpbmFsOwoJCQkJCX0KCQkJCX0gZWxzZSB7CgkJCQkJdGhpcy5fZGVmYXVsdHMubWludXRlTWluID0gdGhpcy5taW51dGVNaW5PcmlnaW5hbDsKCQkJCQl0aGlzLl9kZWZhdWx0cy5zZWNvbmRNaW4gPSB0aGlzLnNlY29uZE1pbk9yaWdpbmFsOwoJCQkJfQoJCQl9ZWxzZXsKCQkJCXRoaXMuX2RlZmF1bHRzLmhvdXJNaW4gPSB0aGlzLmhvdXJNaW5PcmlnaW5hbDsKCQkJCXRoaXMuX2RlZmF1bHRzLm1pbnV0ZU1pbiA9IHRoaXMubWludXRlTWluT3JpZ2luYWw7CgkJCQl0aGlzLl9kZWZhdWx0cy5zZWNvbmRNaW4gPSB0aGlzLnNlY29uZE1pbk9yaWdpbmFsOwoJCQl9CgkJfQoKCQlpZih0aGlzLl9kZWZhdWx0cy5tYXhEYXRlVGltZSAhPT0gbnVsbCAmJiBkcF9kYXRlKXsKCQkJdmFyIG1heERhdGVUaW1lID0gdGhpcy5fZGVmYXVsdHMubWF4RGF0ZVRpbWUsCgkJCQltYXhEYXRlVGltZURhdGUgPSBuZXcgRGF0ZShtYXhEYXRlVGltZS5nZXRGdWxsWWVhcigpLCBtYXhEYXRlVGltZS5nZXRNb250aCgpLCBtYXhEYXRlVGltZS5nZXREYXRlKCksIDAsIDAsIDAsIDApOwoJCgkJCWlmKHRoaXMuaG91ck1heE9yaWdpbmFsID09PSBudWxsIHx8IHRoaXMubWludXRlTWF4T3JpZ2luYWwgPT09IG51bGwgfHwgdGhpcy5zZWNvbmRNYXhPcmlnaW5hbCA9PT0gbnVsbCl7CgkJCQl0aGlzLmhvdXJNYXhPcmlnaW5hbCA9IG8uaG91ck1heDsKCQkJCXRoaXMubWludXRlTWF4T3JpZ2luYWwgPSBvLm1pbnV0ZU1heDsKCQkJCXRoaXMuc2Vjb25kTWF4T3JpZ2luYWwgPSBvLnNlY29uZE1heDsKCQkJfQoKCQkJaWYoZHBfaW5zdC5zZXR0aW5ncy50aW1lT25seSB8fCBtYXhEYXRlVGltZURhdGUuZ2V0VGltZSgpID09IGRwX2RhdGUuZ2V0VGltZSgpKXsKCQkJCXRoaXMuX2RlZmF1bHRzLmhvdXJNYXggPSBtYXhEYXRlVGltZS5nZXRIb3VycygpOwoJCQkJaWYgKHRoaXMuaG91ciA+PSB0aGlzLl9kZWZhdWx0cy5ob3VyTWF4KSB7CgkJCQkJdGhpcy5ob3VyID0gdGhpcy5fZGVmYXVsdHMuaG91ck1heDsKCQkJCQl0aGlzLl9kZWZhdWx0cy5taW51dGVNYXggPSBtYXhEYXRlVGltZS5nZXRNaW51dGVzKCk7CgkJCQkJaWYgKHRoaXMubWludXRlID49IHRoaXMuX2RlZmF1bHRzLm1pbnV0ZU1heCkgewoJCQkJCQl0aGlzLm1pbnV0ZSA9IHRoaXMuX2RlZmF1bHRzLm1pbnV0ZU1heDsKCQkJCQkJdGhpcy5fZGVmYXVsdHMuc2Vjb25kTWluID0gbWF4RGF0ZVRpbWUuZ2V0U2Vjb25kcygpOwoJCQkJCX0gZWxzZSB7CgkJCQkJCWlmKHRoaXMuc2Vjb25kID4gdGhpcy5fZGVmYXVsdHMuc2Vjb25kTWF4KSB0aGlzLnNlY29uZCA9IHRoaXMuX2RlZmF1bHRzLnNlY29uZE1heDsKCQkJCQkJdGhpcy5fZGVmYXVsdHMuc2Vjb25kTWF4ID0gdGhpcy5zZWNvbmRNYXhPcmlnaW5hbDsKCQkJCQl9CgkJCQl9IGVsc2UgewoJCQkJCXRoaXMuX2RlZmF1bHRzLm1pbnV0ZU1heCA9IHRoaXMubWludXRlTWF4T3JpZ2luYWw7CgkJCQkJdGhpcy5fZGVmYXVsdHMuc2Vjb25kTWF4ID0gdGhpcy5zZWNvbmRNYXhPcmlnaW5hbDsKCQkJCX0KCQkJfWVsc2V7CgkJCQl0aGlzLl9kZWZhdWx0cy5ob3VyTWF4ID0gdGhpcy5ob3VyTWF4T3JpZ2luYWw7CgkJCQl0aGlzLl9kZWZhdWx0cy5taW51dGVNYXggPSB0aGlzLm1pbnV0ZU1heE9yaWdpbmFsOwoJCQkJdGhpcy5fZGVmYXVsdHMuc2Vjb25kTWF4ID0gdGhpcy5zZWNvbmRNYXhPcmlnaW5hbDsKCQkJfQoJCX0KCgkJaWYoYWRqdXN0U2xpZGVycyAhPT0gdW5kZWZpbmVkICYmIGFkanVzdFNsaWRlcnMgPT09IHRydWUpewoJCQl0aGlzLmhvdXJfc2xpZGVyLnNsaWRlcigib3B0aW9uIiwgeyBtaW46IHRoaXMuX2RlZmF1bHRzLmhvdXJNaW4sIG1heDogdGhpcy5fZGVmYXVsdHMuaG91ck1heCB9KS5zbGlkZXIoJ3ZhbHVlJywgdGhpcy5ob3VyKTsKCQkJdGhpcy5taW51dGVfc2xpZGVyLnNsaWRlcigib3B0aW9uIiwgeyBtaW46IHRoaXMuX2RlZmF1bHRzLm1pbnV0ZU1pbiwgbWF4OiB0aGlzLl9kZWZhdWx0cy5taW51dGVNYXggfSkuc2xpZGVyKCd2YWx1ZScsIHRoaXMubWludXRlKTsKCQkJdGhpcy5zZWNvbmRfc2xpZGVyLnNsaWRlcigib3B0aW9uIiwgeyBtaW46IHRoaXMuX2RlZmF1bHRzLnNlY29uZE1pbiwgbWF4OiB0aGlzLl9kZWZhdWx0cy5zZWNvbmRNYXggfSkuc2xpZGVyKCd2YWx1ZScsIHRoaXMuc2Vjb25kKTsKCQl9CgoJfSwKCgkKCS8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgkvLyB3aGVuIGEgc2xpZGVyIG1vdmVzLCBzZXQgdGhlIGludGVybmFsIHRpbWUuLi4KCS8vIG9uIHRpbWUgY2hhbmdlIGlzIGFsc28gY2FsbGVkIHdoZW4gdGhlIHRpbWUgaXMgdXBkYXRlZCBpbiB0aGUgdGV4dCBmaWVsZAoJLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCV9vblRpbWVDaGFuZ2U6IGZ1bmN0aW9uKCkgewoJCXZhciBob3VyICAgPSAodGhpcy5ob3VyX3NsaWRlcikgPyB0aGlzLmhvdXJfc2xpZGVyLnNsaWRlcigndmFsdWUnKSA6IGZhbHNlLAoJCQltaW51dGUgPSAodGhpcy5taW51dGVfc2xpZGVyKSA/IHRoaXMubWludXRlX3NsaWRlci5zbGlkZXIoJ3ZhbHVlJykgOiBmYWxzZSwKCQkJc2Vjb25kID0gKHRoaXMuc2Vjb25kX3NsaWRlcikgPyB0aGlzLnNlY29uZF9zbGlkZXIuc2xpZGVyKCd2YWx1ZScpIDogZmFsc2UsCgkJCXRpbWV6b25lID0gKHRoaXMudGltZXpvbmVfc2VsZWN0KSA/IHRoaXMudGltZXpvbmVfc2VsZWN0LnZhbCgpIDogZmFsc2U7CgkJCgkJaWYgKGhvdXIgIT09IGZhbHNlKSBob3VyID0gcGFyc2VJbnQoaG91ciwxMCk7CgkJaWYgKG1pbnV0ZSAhPT0gZmFsc2UpIG1pbnV0ZSA9IHBhcnNlSW50KG1pbnV0ZSwxMCk7CgkJaWYgKHNlY29uZCAhPT0gZmFsc2UpIHNlY29uZCA9IHBhcnNlSW50KHNlY29uZCwxMCk7CgoJCXZhciBhbXBtID0gKGhvdXIgPCAxMikgPyAnQU0nIDogJ1BNJzsKCQkJCgkJLy8gSWYgdGhlIHVwZGF0ZSB3YXMgZG9uZSBpbiB0aGUgaW5wdXQgZmllbGQsIHRoZSBpbnB1dCBmaWVsZCBzaG91bGQgbm90IGJlIHVwZGF0ZWQuCgkJLy8gSWYgdGhlIHVwZGF0ZSB3YXMgZG9uZSB1c2luZyB0aGUgc2xpZGVycywgdXBkYXRlIHRoZSBpbnB1dCBmaWVsZC4KCQl2YXIgaGFzQ2hhbmdlZCA9IChob3VyICE9IHRoaXMuaG91ciB8fCBtaW51dGUgIT0gdGhpcy5taW51dGUgfHwgc2Vjb25kICE9IHRoaXMuc2Vjb25kIHx8ICh0aGlzLmFtcG0ubGVuZ3RoID4gMCAmJiB0aGlzLmFtcG0gIT0gYW1wbSkgfHwgdGltZXpvbmUgIT0gdGhpcy50aW1lem9uZSk7CgkJCgkJaWYgKGhhc0NoYW5nZWQpIHsKCgkJCWlmIChob3VyICE9PSBmYWxzZSl0aGlzLmhvdXIgPSBob3VyOwoJCQlpZiAobWludXRlICE9PSBmYWxzZSkgdGhpcy5taW51dGUgPSBtaW51dGU7CgkJCWlmIChzZWNvbmQgIT09IGZhbHNlKSB0aGlzLnNlY29uZCA9IHNlY29uZDsKCQkJaWYgKHRpbWV6b25lICE9PSBmYWxzZSkgdGhpcy50aW1lem9uZSA9IHRpbWV6b25lOwoJCQl0aGlzLl9saW1pdE1pbk1heERhdGVUaW1lKHRoaXMuaW5zdCwgdHJ1ZSk7CgkJfQoJCWlmICh0aGlzLl9kZWZhdWx0cy5hbXBtKSB0aGlzLmFtcG0gPSBhbXBtOwoJCQoJCXRoaXMuX2Zvcm1hdFRpbWUoKTsKCQlpZiAodGhpcy4kdGltZU9iaikgdGhpcy4kdGltZU9iai50ZXh0KHRoaXMuZm9ybWF0dGVkVGltZSk7CgkJdGhpcy50aW1lRGVmaW5lZCA9IHRydWU7CgkJaWYgKGhhc0NoYW5nZWQpIHRoaXMuX3VwZGF0ZURhdGVUaW1lKCk7Cgl9LAogICAgCgkvLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoJLy8gY2FsbCBjdXN0b20gb25TZWxlY3QuIAoJLy8gYmluZCB0byBzbGlkZXJzIHNsaWRlc3RvcCwgYW5kIGdyaWQgY2xpY2suCgkvLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoJX29uU2VsZWN0SGFuZGxlcjogZnVuY3Rpb24oKSB7CgkJdmFyIG9uU2VsZWN0ID0gdGhpcy5fZGVmYXVsdHNbJ29uU2VsZWN0J107CgkJdmFyIGlucHV0RWwgPSB0aGlzLiRpbnB1dCA/IHRoaXMuJGlucHV0WzBdIDogbnVsbDsKCQlpZiAob25TZWxlY3QgJiYgaW5wdXRFbCkgewoJCQlvblNlbGVjdC5hcHBseShpbnB1dEVsLCBbdGhpcy5mb3JtYXR0ZWREYXRlVGltZSwgdGhpc10pOwoJCX0KCX0sCgoJLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCS8vIGZvcm1hdCB0aGUgdGltZSBhbGwgcHJldHR5Li4uCgkvLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoJX2Zvcm1hdFRpbWU6IGZ1bmN0aW9uKHRpbWUsIGZvcm1hdCwgYW1wbSkgewoJCWlmIChhbXBtID09IHVuZGVmaW5lZCkgYW1wbSA9IHRoaXMuX2RlZmF1bHRzLmFtcG07CgkJdGltZSA9IHRpbWUgfHwgeyBob3VyOiB0aGlzLmhvdXIsIG1pbnV0ZTogdGhpcy5taW51dGUsIHNlY29uZDogdGhpcy5zZWNvbmQsIGFtcG06IHRoaXMuYW1wbSwgdGltZXpvbmU6IHRoaXMudGltZXpvbmUgfTsKCQl2YXIgdG1wdGltZSA9IGZvcm1hdCB8fCB0aGlzLl9kZWZhdWx0cy50aW1lRm9ybWF0LnRvU3RyaW5nKCk7CgoJCWlmIChhbXBtKSB7CgkJCXZhciBob3VyMTIgPSAoKHRpbWUuYW1wbSA9PSAnQU0nKSA/ICh0aW1lLmhvdXIpIDogKHRpbWUuaG91ciAlIDEyKSk7CgkJCWhvdXIxMiA9IChOdW1iZXIoaG91cjEyKSA9PT0gMCkgPyAxMiA6IGhvdXIxMjsKCQkJdG1wdGltZSA9IHRtcHRpbWUudG9TdHJpbmcoKQoJCQkJLnJlcGxhY2UoL2hoL2csICgoaG91cjEyIDwgMTApID8gJzAnIDogJycpICsgaG91cjEyKQoJCQkJLnJlcGxhY2UoL2gvZywgaG91cjEyKQoJCQkJLnJlcGxhY2UoL21tL2csICgodGltZS5taW51dGUgPCAxMCkgPyAnMCcgOiAnJykgKyB0aW1lLm1pbnV0ZSkKCQkJCS5yZXBsYWNlKC9tL2csIHRpbWUubWludXRlKQoJCQkJLnJlcGxhY2UoL3NzL2csICgodGltZS5zZWNvbmQgPCAxMCkgPyAnMCcgOiAnJykgKyB0aW1lLnNlY29uZCkKCQkJCS5yZXBsYWNlKC9zL2csIHRpbWUuc2Vjb25kKQoJCQkJLnJlcGxhY2UoL1RUL2csIHRpbWUuYW1wbS50b1VwcGVyQ2FzZSgpKQoJCQkJLnJlcGxhY2UoL1R0L2csIHRpbWUuYW1wbS50b1VwcGVyQ2FzZSgpKQoJCQkJLnJlcGxhY2UoL3RUL2csIHRpbWUuYW1wbS50b0xvd2VyQ2FzZSgpKQoJCQkJLnJlcGxhY2UoL3R0L2csIHRpbWUuYW1wbS50b0xvd2VyQ2FzZSgpKQoJCQkJLnJlcGxhY2UoL1QvZywgdGltZS5hbXBtLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpKQoJCQkJLnJlcGxhY2UoL3QvZywgdGltZS5hbXBtLmNoYXJBdCgwKS50b0xvd2VyQ2FzZSgpKQoJCQkJLnJlcGxhY2UoL3ovZywgdGltZS50aW1lem9uZSk7CgkJfSBlbHNlIHsKCQkJdG1wdGltZSA9IHRtcHRpbWUudG9TdHJpbmcoKQoJCQkJLnJlcGxhY2UoL2hoL2csICgodGltZS5ob3VyIDwgMTApID8gJzAnIDogJycpICsgdGltZS5ob3VyKQoJCQkJLnJlcGxhY2UoL2gvZywgdGltZS5ob3VyKQoJCQkJLnJlcGxhY2UoL21tL2csICgodGltZS5taW51dGUgPCAxMCkgPyAnMCcgOiAnJykgKyB0aW1lLm1pbnV0ZSkKCQkJCS5yZXBsYWNlKC9tL2csIHRpbWUubWludXRlKQoJCQkJLnJlcGxhY2UoL3NzL2csICgodGltZS5zZWNvbmQgPCAxMCkgPyAnMCcgOiAnJykgKyB0aW1lLnNlY29uZCkKCQkJCS5yZXBsYWNlKC9zL2csIHRpbWUuc2Vjb25kKQoJCQkJLnJlcGxhY2UoL3ovZywgdGltZS50aW1lem9uZSk7CgkJCXRtcHRpbWUgPSAkLnRyaW0odG1wdGltZS5yZXBsYWNlKC90L2dpLCAnJykpOwoJCX0KCgkJaWYgKGFyZ3VtZW50cy5sZW5ndGgpIHJldHVybiB0bXB0aW1lOwoJCWVsc2UgdGhpcy5mb3JtYXR0ZWRUaW1lID0gdG1wdGltZTsKCX0sCgoJLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCS8vIHVwZGF0ZSBvdXIgaW5wdXQgd2l0aCB0aGUgbmV3IGRhdGUgdGltZS4uCgkvLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoJX3VwZGF0ZURhdGVUaW1lOiBmdW5jdGlvbihkcF9pbnN0KSB7CgkJZHBfaW5zdCA9IHRoaXMuaW5zdCB8fCBkcF9pbnN0LAoJCQlkdCA9IG5ldyBEYXRlKGRwX2luc3Quc2VsZWN0ZWRZZWFyLCBkcF9pbnN0LnNlbGVjdGVkTW9udGgsIGRwX2luc3Quc2VsZWN0ZWREYXkpLAoJCQlkYXRlRm10ID0gJC5kYXRlcGlja2VyLl9nZXQoZHBfaW5zdCwgJ2RhdGVGb3JtYXQnKSwKCQkJZm9ybWF0Q2ZnID0gJC5kYXRlcGlja2VyLl9nZXRGb3JtYXRDb25maWcoZHBfaW5zdCksCgkJCXRpbWVBdmFpbGFibGUgPSBkdCAhPT0gbnVsbCAmJiB0aGlzLnRpbWVEZWZpbmVkOwoJCXRoaXMuZm9ybWF0dGVkRGF0ZSA9ICQuZGF0ZXBpY2tlci5mb3JtYXREYXRlKGRhdGVGbXQsIChkdCA9PT0gbnVsbCA/IG5ldyBEYXRlKCkgOiBkdCksIGZvcm1hdENmZyk7CgkJdmFyIGZvcm1hdHRlZERhdGVUaW1lID0gdGhpcy5mb3JtYXR0ZWREYXRlOwoJCWlmIChkcF9pbnN0Lmxhc3RWYWwgIT09IHVuZGVmaW5lZCAmJiAoZHBfaW5zdC5sYXN0VmFsLmxlbmd0aCA+IDAgJiYgdGhpcy4kaW5wdXQudmFsKCkubGVuZ3RoID09PSAwKSkKCQkJcmV0dXJuOwoKCQlpZiAodGhpcy5fZGVmYXVsdHMudGltZU9ubHkgPT09IHRydWUpIHsKCQkJZm9ybWF0dGVkRGF0ZVRpbWUgPSB0aGlzLmZvcm1hdHRlZFRpbWU7CgkJfSBlbHNlIGlmICh0aGlzLl9kZWZhdWx0cy50aW1lT25seSAhPT0gdHJ1ZSAmJiAodGhpcy5fZGVmYXVsdHMuYWx3YXlzU2V0VGltZSB8fCB0aW1lQXZhaWxhYmxlKSkgewoJCQlmb3JtYXR0ZWREYXRlVGltZSArPSB0aGlzLl9kZWZhdWx0cy5zZXBhcmF0b3IgKyB0aGlzLmZvcm1hdHRlZFRpbWU7CgkJfQoKCQl0aGlzLmZvcm1hdHRlZERhdGVUaW1lID0gZm9ybWF0dGVkRGF0ZVRpbWU7CgoJCWlmKCF0aGlzLl9kZWZhdWx0cy5zaG93VGltZXBpY2tlcikgewoJCQl0aGlzLiRpbnB1dC52YWwodGhpcy5mb3JtYXR0ZWREYXRlKTsKCQl9IGVsc2UgaWYgKHRoaXMuJGFsdElucHV0ICYmIHRoaXMuX2RlZmF1bHRzLmFsdEZpZWxkVGltZU9ubHkgPT09IHRydWUpIHsKCQkJdGhpcy4kYWx0SW5wdXQudmFsKHRoaXMuZm9ybWF0dGVkVGltZSk7CgkJCXRoaXMuJGlucHV0LnZhbCh0aGlzLmZvcm1hdHRlZERhdGUpOwoJCX0gZWxzZSBpZih0aGlzLiRhbHRJbnB1dCkgewoJCQl0aGlzLiRhbHRJbnB1dC52YWwoZm9ybWF0dGVkRGF0ZVRpbWUpOwoJCQl0aGlzLiRpbnB1dC52YWwoZm9ybWF0dGVkRGF0ZVRpbWUpOwoJCX0gZWxzZSB7CgkJCXRoaXMuJGlucHV0LnZhbChmb3JtYXR0ZWREYXRlVGltZSk7CgkJfQoJCQoJCXRoaXMuJGlucHV0LnRyaWdnZXIoImNoYW5nZSIpOwoJfQoKfSk7CgokLmZuLmV4dGVuZCh7CgkvLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoJLy8gc2hvcnRoYW5kIGp1c3QgdG8gdXNlIHRpbWVwaWNrZXIuLgoJLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCXRpbWVwaWNrZXI6IGZ1bmN0aW9uKG8pIHsKCQlvID0gbyB8fCB7fTsKCQl2YXIgdG1wX2FyZ3MgPSBhcmd1bWVudHM7CgoJCWlmICh0eXBlb2YgbyA9PSAnb2JqZWN0JykgdG1wX2FyZ3NbMF0gPSAkLmV4dGVuZChvLCB7IHRpbWVPbmx5OiB0cnVlIH0pOwoKCQlyZXR1cm4gJCh0aGlzKS5lYWNoKGZ1bmN0aW9uKCkgewoJCQkkLmZuLmRhdGV0aW1lcGlja2VyLmFwcGx5KCQodGhpcyksIHRtcF9hcmdzKTsKCQl9KTsKCX0sCgoJLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCS8vIGV4dGVuZCB0aW1lcGlja2VyIHRvIGRhdGVwaWNrZXIKCS8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCglkYXRldGltZXBpY2tlcjogZnVuY3Rpb24obykgewoJCW8gPSBvIHx8IHt9OwoJCXZhciAkaW5wdXQgPSB0aGlzLAoJCXRtcF9hcmdzID0gYXJndW1lbnRzOwoKCQlpZiAodHlwZW9mKG8pID09ICdzdHJpbmcnKXsKCQkJaWYobyA9PSAnZ2V0RGF0ZScpIAoJCQkJcmV0dXJuICQuZm4uZGF0ZXBpY2tlci5hcHBseSgkKHRoaXNbMF0pLCB0bXBfYXJncyk7CgkJCWVsc2UgCgkJCQlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCkgewoJCQkJCXZhciAkdCA9ICQodGhpcyk7CgkJCQkJJHQuZGF0ZXBpY2tlci5hcHBseSgkdCwgdG1wX2FyZ3MpOwoJCQkJfSk7CgkJfQoJCWVsc2UKCQkJcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpIHsKCQkJCXZhciAkdCA9ICQodGhpcyk7CgkJCQkkdC5kYXRlcGlja2VyKCQudGltZXBpY2tlci5fbmV3SW5zdCgkdCwgbykuX2RlZmF1bHRzKTsKCQkJfSk7Cgl9Cn0pOwoKLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLy8gdGhlIGJhZCBoYWNrIDovIG92ZXJyaWRlIGRhdGVwaWNrZXIgc28gaXQgZG9lc250IGNsb3NlIG9uIHNlbGVjdAovLyBpbnNwaXJlZDogaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8xMjUyNTEyL2pxdWVyeS1kYXRlcGlja2VyLXByZXZlbnQtY2xvc2luZy1waWNrZXItd2hlbi1jbGlja2luZy1hLWRhdGUvMTc2MjM3OCMxNzYyMzc4Ci8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiQuZGF0ZXBpY2tlci5fYmFzZV9zZWxlY3REYXRlID0gJC5kYXRlcGlja2VyLl9zZWxlY3REYXRlOwokLmRhdGVwaWNrZXIuX3NlbGVjdERhdGUgPSBmdW5jdGlvbiAoaWQsIGRhdGVTdHIpIHsKCXZhciBpbnN0ID0gdGhpcy5fZ2V0SW5zdCgkKGlkKVswXSksCgkJdHBfaW5zdCA9IHRoaXMuX2dldChpbnN0LCAndGltZXBpY2tlcicpOwoKCWlmICh0cF9pbnN0KSB7CgkJdHBfaW5zdC5fbGltaXRNaW5NYXhEYXRlVGltZShpbnN0LCB0cnVlKTsKCQlpbnN0LmlubGluZSA9IGluc3Quc3RheV9vcGVuID0gdHJ1ZTsKCQkvL1RoaXMgd2F5IHRoZSBvblNlbGVjdCBoYW5kbGVyIGNhbGxlZCBmcm9tIGNhbGVuZGFycGlja2VyIGdldCB0aGUgZnVsbCBkYXRlVGltZQoJCXRoaXMuX2Jhc2Vfc2VsZWN0RGF0ZShpZCwgZGF0ZVN0ciArIHRwX2luc3QuX2RlZmF1bHRzLnNlcGFyYXRvciArIHRwX2luc3QuZm9ybWF0dGVkVGltZSk7CgkJaW5zdC5pbmxpbmUgPSBpbnN0LnN0YXlfb3BlbiA9IGZhbHNlOwoJCXRoaXMuX25vdGlmeUNoYW5nZShpbnN0KTsKCQl0aGlzLl91cGRhdGVEYXRlcGlja2VyKGluc3QpOwoJfQoJZWxzZSB0aGlzLl9iYXNlX3NlbGVjdERhdGUoaWQsIGRhdGVTdHIpOwp9OwoKLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLy8gc2Vjb25kIGJhZCBoYWNrIDovIG92ZXJyaWRlIGRhdGVwaWNrZXIgc28gaXQgdHJpZ2dlcnMgYW4gZXZlbnQgd2hlbiBjaGFuZ2luZyB0aGUgaW5wdXQgZmllbGQKLy8gYW5kIGRvZXMgbm90IHJlZHJhdyB0aGUgZGF0ZXBpY2tlciBvbiBldmVyeSBzZWxlY3REYXRlIGV2ZW50Ci8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiQuZGF0ZXBpY2tlci5fYmFzZV91cGRhdGVEYXRlcGlja2VyID0gJC5kYXRlcGlja2VyLl91cGRhdGVEYXRlcGlja2VyOwokLmRhdGVwaWNrZXIuX3VwZGF0ZURhdGVwaWNrZXIgPSBmdW5jdGlvbihpbnN0KSB7CglpZiAodHlwZW9mKGluc3Quc3RheV9vcGVuKSAhPT0gJ2Jvb2xlYW4nIHx8IGluc3Quc3RheV9vcGVuID09PSBmYWxzZSkgewoJCQkJCgkJdGhpcy5fYmFzZV91cGRhdGVEYXRlcGlja2VyKGluc3QpOwoJCQoJCS8vIFJlbG9hZCB0aGUgdGltZSBjb250cm9sIHdoZW4gY2hhbmdpbmcgc29tZXRoaW5nIGluIHRoZSBpbnB1dCB0ZXh0IGZpZWxkLgoJCXZhciB0cF9pbnN0ID0gdGhpcy5fZ2V0KGluc3QsICd0aW1lcGlja2VyJyk7CgkJaWYodHBfaW5zdCkgdHBfaW5zdC5fYWRkVGltZVBpY2tlcihpbnN0KTsKCX0KfTsKCi8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi8vIHRoaXJkIGJhZCBoYWNrIDovIG92ZXJyaWRlIGRhdGVwaWNrZXIgc28gaXQgYWxsb3dzIHNwYWNlcyBhbmQgY29sYW4gaW4gdGhlIGlucHV0IGZpZWxkCi8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiQuZGF0ZXBpY2tlci5fYmFzZV9kb0tleVByZXNzID0gJC5kYXRlcGlja2VyLl9kb0tleVByZXNzOwokLmRhdGVwaWNrZXIuX2RvS2V5UHJlc3MgPSBmdW5jdGlvbihldmVudCkgewoJdmFyIGluc3QgPSAkLmRhdGVwaWNrZXIuX2dldEluc3QoZXZlbnQudGFyZ2V0KSwKCQl0cF9pbnN0ID0gJC5kYXRlcGlja2VyLl9nZXQoaW5zdCwgJ3RpbWVwaWNrZXInKTsKCglpZiAodHBfaW5zdCkgewoJCWlmICgkLmRhdGVwaWNrZXIuX2dldChpbnN0LCAnY29uc3RyYWluSW5wdXQnKSkgewoJCQl2YXIgYW1wbSA9IHRwX2luc3QuX2RlZmF1bHRzLmFtcG0sCgkJCQlkYXRldGltZUNoYXJzID0gdHBfaW5zdC5fZGVmYXVsdHMudGltZUZvcm1hdC50b1N0cmluZygpCgkJCQkJCQkJLnJlcGxhY2UoL1tobXNdL2csICcnKQoJCQkJCQkJCS5yZXBsYWNlKC9UVC9nLCBhbXBtID8gJ0FQTScgOiAnJykKCQkJCQkJCQkucmVwbGFjZSgvVHQvZywgYW1wbSA/ICdBYVBwTW0nIDogJycpCgkJCQkJCQkJLnJlcGxhY2UoL3RUL2csIGFtcG0gPyAnQWFQcE1tJyA6ICcnKQoJCQkJCQkJCS5yZXBsYWNlKC9UL2csIGFtcG0gPyAnQVAnIDogJycpCgkJCQkJCQkJLnJlcGxhY2UoL3R0L2csIGFtcG0gPyAnYXBtJyA6ICcnKQoJCQkJCQkJCS5yZXBsYWNlKC90L2csIGFtcG0gPyAnYXAnIDogJycpICsKCQkJCQkJCQkiICIgKwoJCQkJCQkJCXRwX2luc3QuX2RlZmF1bHRzLnNlcGFyYXRvciArCgkJCQkJCQkJJC5kYXRlcGlja2VyLl9wb3NzaWJsZUNoYXJzKCQuZGF0ZXBpY2tlci5fZ2V0KGluc3QsICdkYXRlRm9ybWF0JykpLAoJCQkJY2hyID0gU3RyaW5nLmZyb21DaGFyQ29kZShldmVudC5jaGFyQ29kZSA9PT0gdW5kZWZpbmVkID8gZXZlbnQua2V5Q29kZSA6IGV2ZW50LmNoYXJDb2RlKTsKCQkJcmV0dXJuIGV2ZW50LmN0cmxLZXkgfHwgKGNociA8ICcgJyB8fCAhZGF0ZXRpbWVDaGFycyB8fCBkYXRldGltZUNoYXJzLmluZGV4T2YoY2hyKSA+IC0xKTsKCQl9Cgl9CgkKCXJldHVybiAkLmRhdGVwaWNrZXIuX2Jhc2VfZG9LZXlQcmVzcyhldmVudCk7Cn07CgovLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwovLyBPdmVycmlkZSBrZXkgdXAgZXZlbnQgdG8gc3luYyBtYW51YWwgaW5wdXQgY2hhbmdlcy4KLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKJC5kYXRlcGlja2VyLl9iYXNlX2RvS2V5VXAgPSAkLmRhdGVwaWNrZXIuX2RvS2V5VXA7CiQuZGF0ZXBpY2tlci5fZG9LZXlVcCA9IGZ1bmN0aW9uIChldmVudCkgewoJdmFyIGluc3QgPSAkLmRhdGVwaWNrZXIuX2dldEluc3QoZXZlbnQudGFyZ2V0KSwKCQl0cF9pbnN0ID0gJC5kYXRlcGlja2VyLl9nZXQoaW5zdCwgJ3RpbWVwaWNrZXInKTsKCglpZiAodHBfaW5zdCkgewoJCWlmICh0cF9pbnN0Ll9kZWZhdWx0cy50aW1lT25seSAmJiAoaW5zdC5pbnB1dC52YWwoKSAhPSBpbnN0Lmxhc3RWYWwpKSB7CgkJCXRyeSB7CgkJCQkkLmRhdGVwaWNrZXIuX3VwZGF0ZURhdGVwaWNrZXIoaW5zdCk7CgkJCX0KCQkJY2F0Y2ggKGVycikgewoJCQkJJC5kYXRlcGlja2VyLmxvZyhlcnIpOwoJCQl9CgkJfQoJfQoKCXJldHVybiAkLmRhdGVwaWNrZXIuX2Jhc2VfZG9LZXlVcChldmVudCk7Cn07CgovLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwovLyBvdmVycmlkZSAiVG9kYXkiIGJ1dHRvbiB0byBhbHNvIGdyYWIgdGhlIHRpbWUuCi8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiQuZGF0ZXBpY2tlci5fYmFzZV9nb3RvVG9kYXkgPSAkLmRhdGVwaWNrZXIuX2dvdG9Ub2RheTsKJC5kYXRlcGlja2VyLl9nb3RvVG9kYXkgPSBmdW5jdGlvbihpZCkgewoJdGhpcy5fYmFzZV9nb3RvVG9kYXkoaWQpOwoJdGhpcy5fc2V0VGltZSh0aGlzLl9nZXRJbnN0KCQoaWQpWzBdKSwgbmV3IERhdGUoKSk7Cn07CgovLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwovLyBEaXNhYmxlICYgZW5hYmxlIHRoZSBUaW1lIGluIHRoZSBkYXRldGltZXBpY2tlcgovLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwokLmRhdGVwaWNrZXIuX2Rpc2FibGVUaW1lcGlja2VyRGF0ZXBpY2tlciA9IGZ1bmN0aW9uKHRhcmdldCwgZGF0ZSwgd2l0aERhdGUpIHsKCXZhciBpbnN0ID0gdGhpcy5fZ2V0SW5zdCh0YXJnZXQpLAoJdHBfaW5zdCA9IHRoaXMuX2dldChpbnN0LCAndGltZXBpY2tlcicpOwoJJCh0YXJnZXQpLmRhdGVwaWNrZXIoJ2dldERhdGUnKTsgLy8gSW5pdCBzZWxlY3RlZFtZZWFyfE1vbnRofERheV0KCWlmICh0cF9pbnN0KSB7CgkJdHBfaW5zdC5fZGVmYXVsdHMuc2hvd1RpbWVwaWNrZXIgPSBmYWxzZTsKCQl0cF9pbnN0Ll91cGRhdGVEYXRlVGltZShpbnN0KTsKCX0KfTsKCiQuZGF0ZXBpY2tlci5fZW5hYmxlVGltZXBpY2tlckRhdGVwaWNrZXIgPSBmdW5jdGlvbih0YXJnZXQsIGRhdGUsIHdpdGhEYXRlKSB7Cgl2YXIgaW5zdCA9IHRoaXMuX2dldEluc3QodGFyZ2V0KSwKCXRwX2luc3QgPSB0aGlzLl9nZXQoaW5zdCwgJ3RpbWVwaWNrZXInKTsKCSQodGFyZ2V0KS5kYXRlcGlja2VyKCdnZXREYXRlJyk7IC8vIEluaXQgc2VsZWN0ZWRbWWVhcnxNb250aHxEYXldCglpZiAodHBfaW5zdCkgewoJCXRwX2luc3QuX2RlZmF1bHRzLnNob3dUaW1lcGlja2VyID0gdHJ1ZTsKCQl0cF9pbnN0Ll9hZGRUaW1lUGlja2VyKGluc3QpOyAvLyBDb3VsZCBiZSBkaXNhYmxlZCBvbiBwYWdlIGxvYWQKCQl0cF9pbnN0Ll91cGRhdGVEYXRlVGltZShpbnN0KTsKCX0KfTsKCi8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi8vIENyZWF0ZSBvdXIgb3duIHNldCB0aW1lIGZ1bmN0aW9uCi8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiQuZGF0ZXBpY2tlci5fc2V0VGltZSA9IGZ1bmN0aW9uKGluc3QsIGRhdGUpIHsKCXZhciB0cF9pbnN0ID0gdGhpcy5fZ2V0KGluc3QsICd0aW1lcGlja2VyJyk7CglpZiAodHBfaW5zdCkgewoJCXZhciBkZWZhdWx0cyA9IHRwX2luc3QuX2RlZmF1bHRzLAoJCQkvLyBjYWxsaW5nIF9zZXRUaW1lIHdpdGggbm8gZGF0ZSBzZXRzIHRpbWUgdG8gZGVmYXVsdHMKCQkJaG91ciA9IGRhdGUgPyBkYXRlLmdldEhvdXJzKCkgOiBkZWZhdWx0cy5ob3VyLAoJCQltaW51dGUgPSBkYXRlID8gZGF0ZS5nZXRNaW51dGVzKCkgOiBkZWZhdWx0cy5taW51dGUsCgkJCXNlY29uZCA9IGRhdGUgPyBkYXRlLmdldFNlY29uZHMoKSA6IGRlZmF1bHRzLnNlY29uZDsKCgkJLy9jaGVjayBpZiB3aXRoaW4gbWluL21heCB0aW1lcy4uCgkJaWYgKChob3VyIDwgZGVmYXVsdHMuaG91ck1pbiB8fCBob3VyID4gZGVmYXVsdHMuaG91ck1heCkgfHwgKG1pbnV0ZSA8IGRlZmF1bHRzLm1pbnV0ZU1pbiB8fCBtaW51dGUgPiBkZWZhdWx0cy5taW51dGVNYXgpIHx8IChzZWNvbmQgPCBkZWZhdWx0cy5zZWNvbmRNaW4gfHwgc2Vjb25kID4gZGVmYXVsdHMuc2Vjb25kTWF4KSkgewoJCQlob3VyID0gZGVmYXVsdHMuaG91ck1pbjsKCQkJbWludXRlID0gZGVmYXVsdHMubWludXRlTWluOwoJCQlzZWNvbmQgPSBkZWZhdWx0cy5zZWNvbmRNaW47CgkJfQoKCQlpZiAodHBfaW5zdC5ob3VyX3NsaWRlcikgdHBfaW5zdC5ob3VyX3NsaWRlci5zbGlkZXIoJ3ZhbHVlJywgaG91cik7CgkJZWxzZSB0cF9pbnN0LmhvdXIgPSBob3VyOwoJCWlmICh0cF9pbnN0Lm1pbnV0ZV9zbGlkZXIpIHRwX2luc3QubWludXRlX3NsaWRlci5zbGlkZXIoJ3ZhbHVlJywgbWludXRlKTsKCQllbHNlIHRwX2luc3QubWludXRlID0gbWludXRlOwoJCWlmICh0cF9pbnN0LnNlY29uZF9zbGlkZXIpIHRwX2luc3Quc2Vjb25kX3NsaWRlci5zbGlkZXIoJ3ZhbHVlJywgc2Vjb25kKTsKCQllbHNlIHRwX2luc3Quc2Vjb25kID0gc2Vjb25kOwoKCQl0cF9pbnN0Ll9vblRpbWVDaGFuZ2UoKTsKCQl0cF9pbnN0Ll91cGRhdGVEYXRlVGltZShpbnN0KTsKCX0KfTsKCi8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi8vIENyZWF0ZSBuZXcgcHVibGljIG1ldGhvZCB0byBzZXQgb25seSB0aW1lLCBjYWxsYWJsZSBhcyAkKCkuZGF0ZXBpY2tlcignc2V0VGltZScsIGRhdGUpCi8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiQuZGF0ZXBpY2tlci5fc2V0VGltZURhdGVwaWNrZXIgPSBmdW5jdGlvbih0YXJnZXQsIGRhdGUsIHdpdGhEYXRlKSB7Cgl2YXIgaW5zdCA9IHRoaXMuX2dldEluc3QodGFyZ2V0KSwKCQl0cF9pbnN0ID0gdGhpcy5fZ2V0KGluc3QsICd0aW1lcGlja2VyJyk7CgoJaWYgKHRwX2luc3QpIHsKCQl0aGlzLl9zZXREYXRlRnJvbUZpZWxkKGluc3QpOwoJCXZhciB0cF9kYXRlOwoJCWlmIChkYXRlKSB7CgkJCWlmICh0eXBlb2YgZGF0ZSA9PSAic3RyaW5nIikgewoJCQkJdHBfaW5zdC5fcGFyc2VUaW1lKGRhdGUsIHdpdGhEYXRlKTsKCQkJCXRwX2RhdGUgPSBuZXcgRGF0ZSgpOwoJCQkJdHBfZGF0ZS5zZXRIb3Vycyh0cF9pbnN0LmhvdXIsIHRwX2luc3QubWludXRlLCB0cF9pbnN0LnNlY29uZCk7CgkJCX0KCQkJZWxzZSB0cF9kYXRlID0gbmV3IERhdGUoZGF0ZS5nZXRUaW1lKCkpOwoJCQlpZiAodHBfZGF0ZS50b1N0cmluZygpID09ICdJbnZhbGlkIERhdGUnKSB0cF9kYXRlID0gdW5kZWZpbmVkOwoJCQl0aGlzLl9zZXRUaW1lKGluc3QsIHRwX2RhdGUpOwoJCX0KCX0KCn07CgovLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwovLyBvdmVycmlkZSBzZXREYXRlKCkgdG8gYWxsb3cgc2V0dGluZyB0aW1lIHRvbyB3aXRoaW4gRGF0ZSBvYmplY3QKLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKJC5kYXRlcGlja2VyLl9iYXNlX3NldERhdGVEYXRlcGlja2VyID0gJC5kYXRlcGlja2VyLl9zZXREYXRlRGF0ZXBpY2tlcjsKJC5kYXRlcGlja2VyLl9zZXREYXRlRGF0ZXBpY2tlciA9IGZ1bmN0aW9uKHRhcmdldCwgZGF0ZSkgewoJdmFyIGluc3QgPSB0aGlzLl9nZXRJbnN0KHRhcmdldCksCgl0cF9kYXRlID0gKGRhdGUgaW5zdGFuY2VvZiBEYXRlKSA/IG5ldyBEYXRlKGRhdGUuZ2V0VGltZSgpKSA6IGRhdGU7CgoJdGhpcy5fdXBkYXRlRGF0ZXBpY2tlcihpbnN0KTsKCXRoaXMuX2Jhc2Vfc2V0RGF0ZURhdGVwaWNrZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKCXRoaXMuX3NldFRpbWVEYXRlcGlja2VyKHRhcmdldCwgdHBfZGF0ZSwgdHJ1ZSk7Cn07CgovLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwovLyBvdmVycmlkZSBnZXREYXRlKCkgdG8gYWxsb3cgZ2V0dGluZyB0aW1lIHRvbyB3aXRoaW4gRGF0ZSBvYmplY3QKLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKJC5kYXRlcGlja2VyLl9iYXNlX2dldERhdGVEYXRlcGlja2VyID0gJC5kYXRlcGlja2VyLl9nZXREYXRlRGF0ZXBpY2tlcjsKJC5kYXRlcGlja2VyLl9nZXREYXRlRGF0ZXBpY2tlciA9IGZ1bmN0aW9uKHRhcmdldCwgbm9EZWZhdWx0KSB7Cgl2YXIgaW5zdCA9IHRoaXMuX2dldEluc3QodGFyZ2V0KSwKCQl0cF9pbnN0ID0gdGhpcy5fZ2V0KGluc3QsICd0aW1lcGlja2VyJyk7CgoJaWYgKHRwX2luc3QpIHsKCQl0aGlzLl9zZXREYXRlRnJvbUZpZWxkKGluc3QsIG5vRGVmYXVsdCk7CgkJdmFyIGRhdGUgPSB0aGlzLl9nZXREYXRlKGluc3QpOwoJCWlmIChkYXRlICYmIHRwX2luc3QuX3BhcnNlVGltZSgkKHRhcmdldCkudmFsKCksIHRwX2luc3QudGltZU9ubHkpKSBkYXRlLnNldEhvdXJzKHRwX2luc3QuaG91ciwgdHBfaW5zdC5taW51dGUsIHRwX2luc3Quc2Vjb25kKTsKCQlyZXR1cm4gZGF0ZTsKCX0KCXJldHVybiB0aGlzLl9iYXNlX2dldERhdGVEYXRlcGlja2VyKHRhcmdldCwgbm9EZWZhdWx0KTsKfTsKCi8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi8vIGpRdWVyeSBleHRlbmQgbm93IGlnbm9yZXMgbnVsbHMhCi8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCmZ1bmN0aW9uIGV4dGVuZFJlbW92ZSh0YXJnZXQsIHByb3BzKSB7CgkkLmV4dGVuZCh0YXJnZXQsIHByb3BzKTsKCWZvciAodmFyIG5hbWUgaW4gcHJvcHMpCgkJaWYgKHByb3BzW25hbWVdID09PSBudWxsIHx8IHByb3BzW25hbWVdID09PSB1bmRlZmluZWQpCgkJCXRhcmdldFtuYW1lXSA9IHByb3BzW25hbWVdOwoJcmV0dXJuIHRhcmdldDsKfQoKJC50aW1lcGlja2VyID0gbmV3IFRpbWVwaWNrZXIoKTsgLy8gc2luZ2xldG9uIGluc3RhbmNlCiQudGltZXBpY2tlci52ZXJzaW9uID0gIjAuOS41IjsKCn0pKGpRdWVyeSk7Cg==]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/jquery-ui.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogalF1ZXJ5IFVJIENTUyBGcmFtZXdvcmsgMS44LjYKICoKICogQ29weXJpZ2h0IDIwMTAsIEFVVEhPUlMudHh0IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0KQogKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQogKgogKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL1RoZW1pbmcvQVBJCiAqLwoKLyogTGF5b3V0IGhlbHBlcnMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi51aS1oZWxwZXItaGlkZGVuIHsgZGlzcGxheTogbm9uZTsgfQoudWktaGVscGVyLWhpZGRlbi1hY2Nlc3NpYmxlIHsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAtOTk5OTk5OTlweDsgfQoudWktaGVscGVyLXJlc2V0IHsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyBib3JkZXI6IDA7IG91dGxpbmU6IDA7IGxpbmUtaGVpZ2h0OiAxLjM7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgZm9udC1zaXplOiAxMDAlOyBsaXN0LXN0eWxlOiBub25lOyB9Ci51aS1oZWxwZXItY2xlYXJmaXg6YWZ0ZXIgeyBjb250ZW50OiAiLiI7IGRpc3BsYXk6IGJsb2NrOyBoZWlnaHQ6IDA7IGNsZWFyOiBib3RoOyB2aXNpYmlsaXR5OiBoaWRkZW47IH0KLnVpLWhlbHBlci1jbGVhcmZpeCB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgfQovKiByZXF1aXJlZCBjb21tZW50IGZvciBjbGVhcmZpeCB0byB3b3JrIGluIE9wZXJhIFwqLwoqIGh0bWwgLnVpLWhlbHBlci1jbGVhcmZpeCB7IGhlaWdodDoxJTsgfQoudWktaGVscGVyLWNsZWFyZml4IHsgZGlzcGxheTpibG9jazsgfQovKiBlbmQgY2xlYXJmaXggKi8KLnVpLWhlbHBlci16Zml4IHsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgdG9wOiAwOyBsZWZ0OiAwOyBwb3NpdGlvbjogYWJzb2x1dGU7IG9wYWNpdHk6IDA7IGZpbHRlcjpBbHBoYShPcGFjaXR5PTApOyB9CgoKLyogSW50ZXJhY3Rpb24gQ3VlcwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLnVpLXN0YXRlLWRpc2FibGVkIHsgY3Vyc29yOiBkZWZhdWx0ICFpbXBvcnRhbnQ7IH0KCgovKiBJY29ucwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KCi8qIHN0YXRlcyBhbmQgaW1hZ2VzICovCi51aS1pY29uIHsgZGlzcGxheTogYmxvY2s7IHRleHQtaW5kZW50OiAtOTk5OTlweDsgb3ZlcmZsb3c6IGhpZGRlbjsgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfQoKCi8qIE1pc2MgdmlzdWFscwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KCi8qIE92ZXJsYXlzICovCi51aS13aWRnZXQtb3ZlcmxheSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiAwOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyB9CgoKLyoKICogalF1ZXJ5IFVJIENTUyBGcmFtZXdvcmsgMS44LjYKICoKICogQ29weXJpZ2h0IDIwMTAsIEFVVEhPUlMudHh0IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0KQogKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQogKgogKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL1RoZW1pbmcvQVBJCiAqCiAqIFRvIHZpZXcgYW5kIG1vZGlmeSB0aGlzIHRoZW1lLCB2aXNpdCBodHRwOi8vanF1ZXJ5dWkuY29tL3RoZW1lcm9sbGVyLz9mZkRlZmF1bHQ9VHJlYnVjaGV0JTIwTVMsJTIwVGFob21hLCUyMFZlcmRhbmEsJTIwQXJpYWwsJTIwc2Fucy1zZXJpZiZmd0RlZmF1bHQ9Ym9sZCZmc0RlZmF1bHQ9MS4xZW0mY29ybmVyUmFkaXVzPTRweCZiZ0NvbG9ySGVhZGVyPWY2YTgyOCZiZ1RleHR1cmVIZWFkZXI9MTJfZ2xvc3Nfd2F2ZS5wbmcmYmdJbWdPcGFjaXR5SGVhZGVyPTM1JmJvcmRlckNvbG9ySGVhZGVyPWU3OGYwOCZmY0hlYWRlcj1mZmZmZmYmaWNvbkNvbG9ySGVhZGVyPWZmZmZmZiZiZ0NvbG9yQ29udGVudD1lZWVlZWUmYmdUZXh0dXJlQ29udGVudD0wM19oaWdobGlnaHRfc29mdC5wbmcmYmdJbWdPcGFjaXR5Q29udGVudD0xMDAmYm9yZGVyQ29sb3JDb250ZW50PWRkZGRkZCZmY0NvbnRlbnQ9MzMzMzMzJmljb25Db2xvckNvbnRlbnQ9MjIyMjIyJmJnQ29sb3JEZWZhdWx0PWY2ZjZmNiZiZ1RleHR1cmVEZWZhdWx0PTAyX2dsYXNzLnBuZyZiZ0ltZ09wYWNpdHlEZWZhdWx0PTEwMCZib3JkZXJDb2xvckRlZmF1bHQ9Y2NjY2NjJmZjRGVmYXVsdD0xYzk0YzQmaWNvbkNvbG9yRGVmYXVsdD1lZjhjMDgmYmdDb2xvckhvdmVyPWZkZjVjZSZiZ1RleHR1cmVIb3Zlcj0wMl9nbGFzcy5wbmcmYmdJbWdPcGFjaXR5SG92ZXI9MTAwJmJvcmRlckNvbG9ySG92ZXI9ZmJjYjA5JmZjSG92ZXI9Yzc3NDA1Jmljb25Db2xvckhvdmVyPWVmOGMwOCZiZ0NvbG9yQWN0aXZlPWZmZmZmZiZiZ1RleHR1cmVBY3RpdmU9MDJfZ2xhc3MucG5nJmJnSW1nT3BhY2l0eUFjdGl2ZT02NSZib3JkZXJDb2xvckFjdGl2ZT1mYmQ4NTAmZmNBY3RpdmU9ZWI4ZjAwJmljb25Db2xvckFjdGl2ZT1lZjhjMDgmYmdDb2xvckhpZ2hsaWdodD1mZmU0NWMmYmdUZXh0dXJlSGlnaGxpZ2h0PTAzX2hpZ2hsaWdodF9zb2Z0LnBuZyZiZ0ltZ09wYWNpdHlIaWdobGlnaHQ9NzUmYm9yZGVyQ29sb3JIaWdobGlnaHQ9ZmVkMjJmJmZjSGlnaGxpZ2h0PTM2MzYzNiZpY29uQ29sb3JIaWdobGlnaHQ9MjI4ZWYxJmJnQ29sb3JFcnJvcj1iODE5MDAmYmdUZXh0dXJlRXJyb3I9MDhfZGlhZ29uYWxzX3RoaWNrLnBuZyZiZ0ltZ09wYWNpdHlFcnJvcj0xOCZib3JkZXJDb2xvckVycm9yPWNkMGEwYSZmY0Vycm9yPWZmZmZmZiZpY29uQ29sb3JFcnJvcj1mZmQyN2EmYmdDb2xvck92ZXJsYXk9NjY2NjY2JmJnVGV4dHVyZU92ZXJsYXk9MDhfZGlhZ29uYWxzX3RoaWNrLnBuZyZiZ0ltZ09wYWNpdHlPdmVybGF5PTIwJm9wYWNpdHlPdmVybGF5PTUwJmJnQ29sb3JTaGFkb3c9MDAwMDAwJmJnVGV4dHVyZVNoYWRvdz0wMV9mbGF0LnBuZyZiZ0ltZ09wYWNpdHlTaGFkb3c9MTAmb3BhY2l0eVNoYWRvdz0yMCZ0aGlja25lc3NTaGFkb3c9NXB4Jm9mZnNldFRvcFNoYWRvdz0tNXB4Jm9mZnNldExlZnRTaGFkb3c9LTVweCZjb3JuZXJSYWRpdXNTaGFkb3c9NXB4CiAqLwoKCi8qIENvbXBvbmVudCBjb250YWluZXJzCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoudWktd2lkZ2V0IHsgZm9udC1mYW1pbHk6IFRyZWJ1Y2hldCBNUywgVGFob21hLCBWZXJkYW5hLCBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxLjFlbTsgfQoudWktd2lkZ2V0IC51aS13aWRnZXQgeyBmb250LXNpemU6IDFlbTsgfQoudWktd2lkZ2V0IGlucHV0LCAudWktd2lkZ2V0IHNlbGVjdCwgLnVpLXdpZGdldCB0ZXh0YXJlYSwgLnVpLXdpZGdldCBidXR0b24geyBmb250LWZhbWlseTogVHJlYnVjaGV0IE1TLCBUYWhvbWEsIFZlcmRhbmEsIEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDFlbTsgfQoudWktd2lkZ2V0LWNvbnRlbnQgeyBib3JkZXI6IDFweCBzb2xpZCAjZGRkZGRkOyBiYWNrZ3JvdW5kOiAjZWVlZWVlIHVybChpbWFnZXMvdWktYmdfaGlnaGxpZ2h0LXNvZnRfMTAwX2VlZWVlZV8xeDEwMC5wbmcpIDUwJSB0b3AgcmVwZWF0LXg7IGNvbG9yOiAjMzMzMzMzOyB9Ci51aS13aWRnZXQtY29udGVudCBhIHsgY29sb3I6ICMzMzMzMzM7IH0KLnVpLXdpZGdldC1oZWFkZXIgeyBib3JkZXI6IDFweCBzb2xpZCAjZTc4ZjA4OyBiYWNrZ3JvdW5kOiAjZjZhODI4IHVybChpbWFnZXMvdWktYmdfZ2xvc3Mtd2F2ZV8zNV9mNmE4MjhfNTAweDEwMC5wbmcpIDUwJSA1MCUgcmVwZWF0LXg7IGNvbG9yOiAjZmZmZmZmOyBmb250LXdlaWdodDogYm9sZDsgfQoudWktd2lkZ2V0LWhlYWRlciBhIHsgY29sb3I6ICNmZmZmZmY7IH0KCi8qIEludGVyYWN0aW9uIHN0YXRlcwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLnVpLXN0YXRlLWRlZmF1bHQsIC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZGVmYXVsdCwgLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWRlZmF1bHQgeyBib3JkZXI6IDFweCBzb2xpZCAjY2NjY2NjOyBiYWNrZ3JvdW5kOiAjZjZmNmY2IHVybChpbWFnZXMvdWktYmdfZ2xhc3NfMTAwX2Y2ZjZmNl8xeDQwMC5wbmcpIDUwJSA1MCUgcmVwZWF0LXg7IGZvbnQtd2VpZ2h0OiBib2xkOyBjb2xvcjogIzFjOTRjNDsgfQoudWktc3RhdGUtZGVmYXVsdCBhLCAudWktc3RhdGUtZGVmYXVsdCBhOmxpbmssIC51aS1zdGF0ZS1kZWZhdWx0IGE6dmlzaXRlZCB7IGNvbG9yOiAjMWM5NGM0OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH0KLnVpLXN0YXRlLWhvdmVyLCAudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWhvdmVyLCAudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtaG92ZXIsIC51aS1zdGF0ZS1mb2N1cywgLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1mb2N1cywgLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWZvY3VzIHsgYm9yZGVyOiAxcHggc29saWQgI2ZiY2IwOTsgYmFja2dyb3VuZDogI2ZkZjVjZSB1cmwoaW1hZ2VzL3VpLWJnX2dsYXNzXzEwMF9mZGY1Y2VfMXg0MDAucG5nKSA1MCUgNTAlIHJlcGVhdC14OyBmb250LXdlaWdodDogYm9sZDsgY29sb3I6ICNjNzc0MDU7IH0KLnVpLXN0YXRlLWhvdmVyIGEsIC51aS1zdGF0ZS1ob3ZlciBhOmhvdmVyIHsgY29sb3I6ICNjNzc0MDU7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfQoudWktc3RhdGUtYWN0aXZlLCAudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWFjdGl2ZSwgLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWFjdGl2ZSB7IGJvcmRlcjogMXB4IHNvbGlkICNmYmQ4NTA7IGJhY2tncm91bmQ6ICNmZmZmZmYgdXJsKGltYWdlcy91aS1iZ19nbGFzc182NV9mZmZmZmZfMXg0MDAucG5nKSA1MCUgNTAlIHJlcGVhdC14OyBmb250LXdlaWdodDogYm9sZDsgY29sb3I6ICNlYjhmMDA7IH0KLnVpLXN0YXRlLWFjdGl2ZSBhLCAudWktc3RhdGUtYWN0aXZlIGE6bGluaywgLnVpLXN0YXRlLWFjdGl2ZSBhOnZpc2l0ZWQgeyBjb2xvcjogI2ViOGYwMDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9Ci51aS13aWRnZXQgOmFjdGl2ZSB7IG91dGxpbmU6IG5vbmU7IH0KCi8qIEludGVyYWN0aW9uIEN1ZXMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi51aS1zdGF0ZS1oaWdobGlnaHQsIC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtaGlnaGxpZ2h0LCAudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtaGlnaGxpZ2h0ICB7Ym9yZGVyOiAxcHggc29saWQgI2ZlZDIyZjsgYmFja2dyb3VuZDogI2ZmZTQ1YyB1cmwoaW1hZ2VzL3VpLWJnX2hpZ2hsaWdodC1zb2Z0Xzc1X2ZmZTQ1Y18xeDEwMC5wbmcpIDUwJSB0b3AgcmVwZWF0LXg7IGNvbG9yOiAjMzYzNjM2OyB9Ci51aS1zdGF0ZS1oaWdobGlnaHQgYSwgLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1oaWdobGlnaHQgYSwudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtaGlnaGxpZ2h0IGEgeyBjb2xvcjogIzM2MzYzNjsgfQoudWktc3RhdGUtZXJyb3IsIC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZXJyb3IsIC51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1lcnJvciB7Ym9yZGVyOiAxcHggc29saWQgI2NkMGEwYTsgYmFja2dyb3VuZDogI2I4MTkwMCB1cmwoaW1hZ2VzL3VpLWJnX2RpYWdvbmFscy10aGlja18xOF9iODE5MDBfNDB4NDAucG5nKSA1MCUgNTAlIHJlcGVhdDsgY29sb3I6ICNmZmZmZmY7IH0KLnVpLXN0YXRlLWVycm9yIGEsIC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZXJyb3IgYSwgLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWVycm9yIGEgeyBjb2xvcjogI2ZmZmZmZjsgfQoudWktc3RhdGUtZXJyb3ItdGV4dCwgLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1lcnJvci10ZXh0LCAudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZXJyb3ItdGV4dCB7IGNvbG9yOiAjZmZmZmZmOyB9Ci51aS1wcmlvcml0eS1wcmltYXJ5LCAudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXByaW9yaXR5LXByaW1hcnksIC51aS13aWRnZXQtaGVhZGVyIC51aS1wcmlvcml0eS1wcmltYXJ5IHsgZm9udC13ZWlnaHQ6IGJvbGQ7IH0KLnVpLXByaW9yaXR5LXNlY29uZGFyeSwgLnVpLXdpZGdldC1jb250ZW50IC51aS1wcmlvcml0eS1zZWNvbmRhcnksICAudWktd2lkZ2V0LWhlYWRlciAudWktcHJpb3JpdHktc2Vjb25kYXJ5IHsgb3BhY2l0eTogLjc7IGZpbHRlcjpBbHBoYShPcGFjaXR5PTcwKTsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfQoudWktc3RhdGUtZGlzYWJsZWQsIC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZGlzYWJsZWQsIC51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1kaXNhYmxlZCB7IG9wYWNpdHk6IC4zNTsgZmlsdGVyOkFscGhhKE9wYWNpdHk9MzUpOyBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9CgovKiBJY29ucwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KCi8qIHN0YXRlcyBhbmQgaW1hZ2VzICovCi51aS1pY29uIHsgd2lkdGg6IDE2cHg7IGhlaWdodDogMTZweDsgYmFja2dyb3VuZC1pbWFnZTogdXJsKGltYWdlcy91aS1pY29uc18yMjIyMjJfMjU2eDI0MC5wbmcpOyB9Ci51aS13aWRnZXQtY29udGVudCAudWktaWNvbiB7YmFja2dyb3VuZC1pbWFnZTogdXJsKGltYWdlcy91aS1pY29uc18yMjIyMjJfMjU2eDI0MC5wbmcpOyB9Ci51aS13aWRnZXQtaGVhZGVyIC51aS1pY29uIHtiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaW1hZ2VzL3VpLWljb25zX2ZmZmZmZl8yNTZ4MjQwLnBuZyk7IH0KLnVpLXN0YXRlLWRlZmF1bHQgLnVpLWljb24geyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaW1hZ2VzL3VpLWljb25zX2VmOGMwOF8yNTZ4MjQwLnBuZyk7IH0KLnVpLXN0YXRlLWhvdmVyIC51aS1pY29uLCAudWktc3RhdGUtZm9jdXMgLnVpLWljb24ge2JhY2tncm91bmQtaW1hZ2U6IHVybChpbWFnZXMvdWktaWNvbnNfZWY4YzA4XzI1NngyNDAucG5nKTsgfQoudWktc3RhdGUtYWN0aXZlIC51aS1pY29uIHtiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaW1hZ2VzL3VpLWljb25zX2VmOGMwOF8yNTZ4MjQwLnBuZyk7IH0KLnVpLXN0YXRlLWhpZ2hsaWdodCAudWktaWNvbiB7YmFja2dyb3VuZC1pbWFnZTogdXJsKGltYWdlcy91aS1pY29uc18yMjhlZjFfMjU2eDI0MC5wbmcpOyB9Ci51aS1zdGF0ZS1lcnJvciAudWktaWNvbiwgLnVpLXN0YXRlLWVycm9yLXRleHQgLnVpLWljb24ge2JhY2tncm91bmQtaW1hZ2U6IHVybChpbWFnZXMvdWktaWNvbnNfZmZkMjdhXzI1NngyNDAucG5nKTsgfQoKLyogcG9zaXRpb25pbmcgKi8KLnVpLWljb24tY2FyYXQtMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9Ci51aS1pY29uLWNhcmF0LTEtbmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAwOyB9Ci51aS1pY29uLWNhcmF0LTEtZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IDA7IH0KLnVpLWljb24tY2FyYXQtMS1zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IDA7IH0KLnVpLWljb24tY2FyYXQtMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggMDsgfQoudWktaWNvbi1jYXJhdC0xLXN3IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggMDsgfQoudWktaWNvbi1jYXJhdC0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAwOyB9Ci51aS1pY29uLWNhcmF0LTEtbncgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggMDsgfQoudWktaWNvbi1jYXJhdC0yLW4tcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAwOyB9Ci51aS1pY29uLWNhcmF0LTItZS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IDA7IH0KLnVpLWljb24tdHJpYW5nbGUtMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTZweDsgfQoudWktaWNvbi10cmlhbmdsZS0xLW5lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTE2cHg7IH0KLnVpLWljb24tdHJpYW5nbGUtMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTE2cHg7IH0KLnVpLWljb24tdHJpYW5nbGUtMS1zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0xNnB4OyB9Ci51aS1pY29uLXRyaWFuZ2xlLTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xNnB4OyB9Ci51aS1pY29uLXRyaWFuZ2xlLTEtc3cgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTZweDsgfQoudWktaWNvbi10cmlhbmdsZS0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTZweDsgfQoudWktaWNvbi10cmlhbmdsZS0xLW53IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC0xNnB4OyB9Ci51aS1pY29uLXRyaWFuZ2xlLTItbi1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC0xNnB4OyB9Ci51aS1pY29uLXRyaWFuZ2xlLTItZS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xNnB4OyB9Ci51aS1pY29uLWFycm93LTEtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTMycHg7IH0KLnVpLWljb24tYXJyb3ctMS1uZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0zMnB4OyB9Ci51aS1pY29uLWFycm93LTEtZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0zMnB4OyB9Ci51aS1pY29uLWFycm93LTEtc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMzJweDsgfQoudWktaWNvbi1hcnJvdy0xLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMzJweDsgfQoudWktaWNvbi1hcnJvdy0xLXN3IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTMycHg7IH0KLnVpLWljb24tYXJyb3ctMS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTMycHg7IH0KLnVpLWljb24tYXJyb3ctMS1udyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtMzJweDsgfQoudWktaWNvbi1hcnJvdy0yLW4tcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtMzJweDsgfQoudWktaWNvbi1hcnJvdy0yLW5lLXN3IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0zMnB4OyB9Ci51aS1pY29uLWFycm93LTItZS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC0zMnB4OyB9Ci51aS1pY29uLWFycm93LTItc2UtbncgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc2cHggLTMycHg7IH0KLnVpLWljb24tYXJyb3dzdG9wLTEtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xOTJweCAtMzJweDsgfQoudWktaWNvbi1hcnJvd3N0b3AtMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwOHB4IC0zMnB4OyB9Ci51aS1pY29uLWFycm93c3RvcC0xLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjI0cHggLTMycHg7IH0KLnVpLWljb24tYXJyb3dzdG9wLTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yNDBweCAtMzJweDsgfQoudWktaWNvbi1hcnJvd3RoaWNrLTEtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTQ4cHg7IH0KLnVpLWljb24tYXJyb3d0aGljay0xLW5lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTQ4cHg7IH0KLnVpLWljb24tYXJyb3d0aGljay0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtNDhweDsgfQoudWktaWNvbi1hcnJvd3RoaWNrLTEtc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtNDhweDsgfQoudWktaWNvbi1hcnJvd3RoaWNrLTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC00OHB4OyB9Ci51aS1pY29uLWFycm93dGhpY2stMS1zdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC00OHB4OyB9Ci51aS1pY29uLWFycm93dGhpY2stMS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTQ4cHg7IH0KLnVpLWljb24tYXJyb3d0aGljay0xLW53IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC00OHB4OyB9Ci51aS1pY29uLWFycm93dGhpY2stMi1uLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTQ4cHg7IH0KLnVpLWljb24tYXJyb3d0aGljay0yLW5lLXN3IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC00OHB4OyB9Ci51aS1pY29uLWFycm93dGhpY2stMi1lLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTYwcHggLTQ4cHg7IH0KLnVpLWljb24tYXJyb3d0aGljay0yLXNlLW53IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE3NnB4IC00OHB4OyB9Ci51aS1pY29uLWFycm93dGhpY2tzdG9wLTEtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xOTJweCAtNDhweDsgfQoudWktaWNvbi1hcnJvd3RoaWNrc3RvcC0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA4cHggLTQ4cHg7IH0KLnVpLWljb24tYXJyb3d0aGlja3N0b3AtMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIyNHB4IC00OHB4OyB9Ci51aS1pY29uLWFycm93dGhpY2tzdG9wLTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yNDBweCAtNDhweDsgfQoudWktaWNvbi1hcnJvd3JldHVybnRoaWNrLTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTY0cHg7IH0KLnVpLWljb24tYXJyb3dyZXR1cm50aGljay0xLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtNjRweDsgfQoudWktaWNvbi1hcnJvd3JldHVybnRoaWNrLTEtZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC02NHB4OyB9Ci51aS1pY29uLWFycm93cmV0dXJudGhpY2stMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTY0cHg7IH0KLnVpLWljb24tYXJyb3dyZXR1cm4tMS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTY0cHg7IH0KLnVpLWljb24tYXJyb3dyZXR1cm4tMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTY0cHg7IH0KLnVpLWljb24tYXJyb3dyZXR1cm4tMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTY0cHg7IH0KLnVpLWljb24tYXJyb3dyZXR1cm4tMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC02NHB4OyB9Ci51aS1pY29uLWFycm93cmVmcmVzaC0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTY0cHg7IH0KLnVpLWljb24tYXJyb3dyZWZyZXNoLTEtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtNjRweDsgfQoudWktaWNvbi1hcnJvd3JlZnJlc2gtMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC02NHB4OyB9Ci51aS1pY29uLWFycm93cmVmcmVzaC0xLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc2cHggLTY0cHg7IH0KLnVpLWljb24tYXJyb3ctNCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTgwcHg7IH0KLnVpLWljb24tYXJyb3ctNC1kaWFnIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTgwcHg7IH0KLnVpLWljb24tZXh0bGluayB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC04MHB4OyB9Ci51aS1pY29uLW5ld3dpbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC04MHB4OyB9Ci51aS1pY29uLXJlZnJlc2ggeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtODBweDsgfQoudWktaWNvbi1zaHVmZmxlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTgwcHg7IH0KLnVpLWljb24tdHJhbnNmZXItZS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTgwcHg7IH0KLnVpLWljb24tdHJhbnNmZXJ0aGljay1lLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTgwcHg7IH0KLnVpLWljb24tZm9sZGVyLWNvbGxhcHNlZCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTk2cHg7IH0KLnVpLWljb24tZm9sZGVyLW9wZW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtOTZweDsgfQoudWktaWNvbi1kb2N1bWVudCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC05NnB4OyB9Ci51aS1pY29uLWRvY3VtZW50LWIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtOTZweDsgfQoudWktaWNvbi1ub3RlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTk2cHg7IH0KLnVpLWljb24tbWFpbC1jbG9zZWQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtOTZweDsgfQoudWktaWNvbi1tYWlsLW9wZW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtOTZweDsgfQoudWktaWNvbi1zdWl0Y2FzZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtOTZweDsgfQoudWktaWNvbi1jb21tZW50IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC05NnB4OyB9Ci51aS1pY29uLXBlcnNvbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtOTZweDsgfQoudWktaWNvbi1wcmludCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNjBweCAtOTZweDsgfQoudWktaWNvbi10cmFzaCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtOTZweDsgfQoudWktaWNvbi1sb2NrZWQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkycHggLTk2cHg7IH0KLnVpLWljb24tdW5sb2NrZWQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA4cHggLTk2cHg7IH0KLnVpLWljb24tYm9va21hcmsgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjI0cHggLTk2cHg7IH0KLnVpLWljb24tdGFnIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0MHB4IC05NnB4OyB9Ci51aS1pY29uLWhvbWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMTJweDsgfQoudWktaWNvbi1mbGFnIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTExMnB4OyB9Ci51aS1pY29uLWNhbGVuZGFyIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTExMnB4OyB9Ci51aS1pY29uLWNhcnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMTEycHg7IH0KLnVpLWljb24tcGVuY2lsIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTExMnB4OyB9Ci51aS1pY29uLWNsb2NrIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTExMnB4OyB9Ci51aS1pY29uLWRpc2sgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTEycHg7IH0KLnVpLWljb24tY2FsY3VsYXRvciB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtMTEycHg7IH0KLnVpLWljb24tem9vbWluIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC0xMTJweDsgfQoudWktaWNvbi16b29tb3V0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xMTJweDsgfQoudWktaWNvbi1zZWFyY2ggeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTYwcHggLTExMnB4OyB9Ci51aS1pY29uLXdyZW5jaCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtMTEycHg7IH0KLnVpLWljb24tZ2VhciB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xOTJweCAtMTEycHg7IH0KLnVpLWljb24taGVhcnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA4cHggLTExMnB4OyB9Ci51aS1pY29uLXN0YXIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjI0cHggLTExMnB4OyB9Ci51aS1pY29uLWxpbmsgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQwcHggLTExMnB4OyB9Ci51aS1pY29uLWNhbmNlbCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTEyOHB4OyB9Ci51aS1pY29uLXBsdXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMTI4cHg7IH0KLnVpLWljb24tcGx1c3RoaWNrIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTEyOHB4OyB9Ci51aS1pY29uLW1pbnVzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTEyOHB4OyB9Ci51aS1pY29uLW1pbnVzdGhpY2sgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMTI4cHg7IH0KLnVpLWljb24tY2xvc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTI4cHg7IH0KLnVpLWljb24tY2xvc2V0aGljayB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0xMjhweDsgfQoudWktaWNvbi1rZXkgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTEyOHB4OyB9Ci51aS1pY29uLWxpZ2h0YnVsYiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtMTI4cHg7IH0KLnVpLWljb24tc2Npc3NvcnMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTEyOHB4OyB9Ci51aS1pY29uLWNsaXBib2FyZCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNjBweCAtMTI4cHg7IH0KLnVpLWljb24tY29weSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtMTI4cHg7IH0KLnVpLWljb24tY29udGFjdCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xOTJweCAtMTI4cHg7IH0KLnVpLWljb24taW1hZ2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA4cHggLTEyOHB4OyB9Ci51aS1pY29uLXZpZGVvIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIyNHB4IC0xMjhweDsgfQoudWktaWNvbi1zY3JpcHQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQwcHggLTEyOHB4OyB9Ci51aS1pY29uLWFsZXJ0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTQ0cHg7IH0KLnVpLWljb24taW5mbyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xNDRweDsgfQoudWktaWNvbi1ub3RpY2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMTQ0cHg7IH0KLnVpLWljb24taGVscCB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0xNDRweDsgfQoudWktaWNvbi1jaGVjayB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xNDRweDsgfQoudWktaWNvbi1idWxsZXQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTQ0cHg7IH0KLnVpLWljb24tcmFkaW8tb2ZmIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTE0NHB4OyB9Ci51aS1pY29uLXJhZGlvLW9uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC0xNDRweDsgfQoudWktaWNvbi1waW4tdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtMTQ0cHg7IH0KLnVpLWljb24tcGluLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTE0NHB4OyB9Ci51aS1pY29uLXBsYXkgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNjBweDsgfQoudWktaWNvbi1wYXVzZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xNjBweDsgfQoudWktaWNvbi1zZWVrLW5leHQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMTYwcHg7IH0KLnVpLWljb24tc2Vlay1wcmV2IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTE2MHB4OyB9Ci51aS1pY29uLXNlZWstZW5kIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTE2MHB4OyB9Ci51aS1pY29uLXNlZWstc3RhcnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTYwcHg7IH0KLyogdWktaWNvbi1zZWVrLWZpcnN0IGlzIGRlcHJlY2F0ZWQsIHVzZSB1aS1pY29uLXNlZWstc3RhcnQgaW5zdGVhZCAqLwoudWktaWNvbi1zZWVrLWZpcnN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTE2MHB4OyB9Ci51aS1pY29uLXN0b3AgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTYwcHg7IH0KLnVpLWljb24tZWplY3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTE2MHB4OyB9Ci51aS1pY29uLXZvbHVtZS1vZmYgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTE2MHB4OyB9Ci51aS1pY29uLXZvbHVtZS1vbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtMTYwcHg7IH0KLnVpLWljb24tcG93ZXIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNzZweDsgfQoudWktaWNvbi1zaWduYWwtZGlhZyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xNzZweDsgfQoudWktaWNvbi1zaWduYWwgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMTc2cHg7IH0KLnVpLWljb24tYmF0dGVyeS0wIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTE3NnB4OyB9Ci51aS1pY29uLWJhdHRlcnktMSB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xNzZweDsgfQoudWktaWNvbi1iYXR0ZXJ5LTIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTc2cHg7IH0KLnVpLWljb24tYmF0dGVyeS0zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTE3NnB4OyB9Ci51aS1pY29uLWNpcmNsZS1wbHVzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTkycHg7IH0KLnVpLWljb24tY2lyY2xlLW1pbnVzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTE5MnB4OyB9Ci51aS1pY29uLWNpcmNsZS1jbG9zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0xOTJweDsgfQoudWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0xOTJweDsgfQoudWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xOTJweDsgfQoudWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xOTJweDsgfQoudWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0xOTJweDsgfQoudWktaWNvbi1jaXJjbGUtYXJyb3ctZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtMTkycHg7IH0KLnVpLWljb24tY2lyY2xlLWFycm93LXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTE5MnB4OyB9Ci51aS1pY29uLWNpcmNsZS1hcnJvdy13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xOTJweDsgfQoudWktaWNvbi1jaXJjbGUtYXJyb3ctbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNjBweCAtMTkycHg7IH0KLnVpLWljb24tY2lyY2xlLXpvb21pbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtMTkycHg7IH0KLnVpLWljb24tY2lyY2xlLXpvb21vdXQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkycHggLTE5MnB4OyB9Ci51aS1pY29uLWNpcmNsZS1jaGVjayB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMDhweCAtMTkycHg7IH0KLnVpLWljb24tY2lyY2xlc21hbGwtcGx1cyB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTIwOHB4OyB9Ci51aS1pY29uLWNpcmNsZXNtYWxsLW1pbnVzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTIwOHB4OyB9Ci51aS1pY29uLWNpcmNsZXNtYWxsLWNsb3NlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTIwOHB4OyB9Ci51aS1pY29uLXNxdWFyZXNtYWxsLXBsdXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMjA4cHg7IH0KLnVpLWljb24tc3F1YXJlc21hbGwtbWludXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMjA4cHg7IH0KLnVpLWljb24tc3F1YXJlc21hbGwtY2xvc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMjA4cHg7IH0KLnVpLWljb24tZ3JpcC1kb3R0ZWQtdmVydGljYWwgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yMjRweDsgfQoudWktaWNvbi1ncmlwLWRvdHRlZC1ob3Jpem9udGFsIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTIyNHB4OyB9Ci51aS1pY29uLWdyaXAtc29saWQtdmVydGljYWwgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMjI0cHg7IH0KLnVpLWljb24tZ3JpcC1zb2xpZC1ob3Jpem9udGFsIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTIyNHB4OyB9Ci51aS1pY29uLWdyaXBzbWFsbC1kaWFnb25hbC1zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0yMjRweDsgfQoudWktaWNvbi1ncmlwLWRpYWdvbmFsLXNlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTIyNHB4OyB9CgoKLyogTWlzYyB2aXN1YWxzCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoKLyogQ29ybmVyIHJhZGl1cyAqLwoudWktY29ybmVyLXRsIHsgLW1vei1ib3JkZXItcmFkaXVzLXRvcGxlZnQ6IDRweDsgLXdlYmtpdC1ib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7IGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDRweDsgfQoudWktY29ybmVyLXRyIHsgLW1vei1ib3JkZXItcmFkaXVzLXRvcHJpZ2h0OiA0cHg7IC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDsgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDsgfQoudWktY29ybmVyLWJsIHsgLW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbWxlZnQ6IDRweDsgLXdlYmtpdC1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7IGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRweDsgfQoudWktY29ybmVyLWJyIHsgLW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbXJpZ2h0OiA0cHg7IC13ZWJraXQtYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDsgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDsgfQoudWktY29ybmVyLXRvcCB7IC1tb3otYm9yZGVyLXJhZGl1cy10b3BsZWZ0OiA0cHg7IC13ZWJraXQtYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNHB4OyBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7IC1tb3otYm9yZGVyLXJhZGl1cy10b3ByaWdodDogNHB4OyAtd2Via2l0LWJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7IGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7IH0KLnVpLWNvcm5lci1ib3R0b20geyAtbW96LWJvcmRlci1yYWRpdXMtYm90dG9tbGVmdDogNHB4OyAtd2Via2l0LWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRweDsgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4OyAtbW96LWJvcmRlci1yYWRpdXMtYm90dG9tcmlnaHQ6IDRweDsgLXdlYmtpdC1ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4OyBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4OyB9Ci51aS1jb3JuZXItcmlnaHQgeyAgLW1vei1ib3JkZXItcmFkaXVzLXRvcHJpZ2h0OiA0cHg7IC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDsgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDsgLW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbXJpZ2h0OiA0cHg7IC13ZWJraXQtYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDsgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDsgfQoudWktY29ybmVyLWxlZnQgeyAtbW96LWJvcmRlci1yYWRpdXMtdG9wbGVmdDogNHB4OyAtd2Via2l0LWJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDRweDsgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNHB4OyAtbW96LWJvcmRlci1yYWRpdXMtYm90dG9tbGVmdDogNHB4OyAtd2Via2l0LWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRweDsgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4OyB9Ci51aS1jb3JuZXItYWxsIHsgLW1vei1ib3JkZXItcmFkaXVzOiA0cHg7IC13ZWJraXQtYm9yZGVyLXJhZGl1czogNHB4OyBib3JkZXItcmFkaXVzOiA0cHg7IH0KCi8qIE92ZXJsYXlzICovCi51aS13aWRnZXQtb3ZlcmxheSB7IGJhY2tncm91bmQ6ICM2NjY2NjYgdXJsKGltYWdlcy91aS1iZ19kaWFnb25hbHMtdGhpY2tfMjBfNjY2NjY2XzQweDQwLnBuZykgNTAlIDUwJSByZXBlYXQ7IG9wYWNpdHk6IC41MDtmaWx0ZXI6QWxwaGEoT3BhY2l0eT01MCk7IH0KLnVpLXdpZGdldC1zaGFkb3cgeyBtYXJnaW46IC01cHggMCAwIC01cHg7IHBhZGRpbmc6IDVweDsgYmFja2dyb3VuZDogIzAwMDAwMCB1cmwoaW1hZ2VzL3VpLWJnX2ZsYXRfMTBfMDAwMDAwXzQweDEwMC5wbmcpIDUwJSA1MCUgcmVwZWF0LXg7IG9wYWNpdHk6IC4yMDtmaWx0ZXI6QWxwaGEoT3BhY2l0eT0yMCk7IC1tb3otYm9yZGVyLXJhZGl1czogNXB4OyAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDVweDsgYm9yZGVyLXJhZGl1czogNXB4OyB9LyoKICogalF1ZXJ5IFVJIFNsaWRlciAxLjguNgogKgogKiBDb3B5cmlnaHQgMjAxMCwgQVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20vYWJvdXQpCiAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBvciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2VzLgogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCiAqCiAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20vVUkvU2xpZGVyI3RoZW1pbmcKICovCi51aS1zbGlkZXIgeyBwb3NpdGlvbjogcmVsYXRpdmU7IHRleHQtYWxpZ246IGxlZnQ7IH0KLnVpLXNsaWRlciAudWktc2xpZGVyLWhhbmRsZSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgei1pbmRleDogMjsgd2lkdGg6IDEuMmVtOyBoZWlnaHQ6IDEuMmVtOyBjdXJzb3I6IGRlZmF1bHQ7IH0KLnVpLXNsaWRlciAudWktc2xpZGVyLXJhbmdlIHsgcG9zaXRpb246IGFic29sdXRlOyB6LWluZGV4OiAxOyBmb250LXNpemU6IC43ZW07IGRpc3BsYXk6IGJsb2NrOyBib3JkZXI6IDA7IGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfQoKLnVpLXNsaWRlci1ob3Jpem9udGFsIHsgaGVpZ2h0OiAuOGVtOyB9Ci51aS1zbGlkZXItaG9yaXpvbnRhbCAudWktc2xpZGVyLWhhbmRsZSB7IHRvcDogLS4zZW07IG1hcmdpbi1sZWZ0OiAtLjZlbTsgfQoudWktc2xpZGVyLWhvcml6b250YWwgLnVpLXNsaWRlci1yYW5nZSB7IHRvcDogMDsgaGVpZ2h0OiAxMDAlOyB9Ci51aS1zbGlkZXItaG9yaXpvbnRhbCAudWktc2xpZGVyLXJhbmdlLW1pbiB7IGxlZnQ6IDA7IH0KLnVpLXNsaWRlci1ob3Jpem9udGFsIC51aS1zbGlkZXItcmFuZ2UtbWF4IHsgcmlnaHQ6IDA7IH0KCi51aS1zbGlkZXItdmVydGljYWwgeyB3aWR0aDogLjhlbTsgaGVpZ2h0OiAxMDBweDsgfQoudWktc2xpZGVyLXZlcnRpY2FsIC51aS1zbGlkZXItaGFuZGxlIHsgbGVmdDogLS4zZW07IG1hcmdpbi1sZWZ0OiAwOyBtYXJnaW4tYm90dG9tOiAtLjZlbTsgfQoudWktc2xpZGVyLXZlcnRpY2FsIC51aS1zbGlkZXItcmFuZ2UgeyBsZWZ0OiAwOyB3aWR0aDogMTAwJTsgfQoudWktc2xpZGVyLXZlcnRpY2FsIC51aS1zbGlkZXItcmFuZ2UtbWluIHsgYm90dG9tOiAwOyB9Ci51aS1zbGlkZXItdmVydGljYWwgLnVpLXNsaWRlci1yYW5nZS1tYXggeyB0b3A6IDA7IH0vKgogKiBqUXVlcnkgVUkgRGF0ZXBpY2tlciAxLjguNgogKgogKiBDb3B5cmlnaHQgMjAxMCwgQVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20vYWJvdXQpCiAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBvciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2VzLgogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCiAqCiAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20vVUkvRGF0ZXBpY2tlciN0aGVtaW5nCiAqLwoudWktZGF0ZXBpY2tlciB7IHdpZHRoOiAxN2VtOyBwYWRkaW5nOiAuMmVtIC4yZW0gMDsgfQoudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1oZWFkZXIgeyBwb3NpdGlvbjpyZWxhdGl2ZTsgcGFkZGluZzouMmVtIDA7IH0KLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldiwgLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dCB7IHBvc2l0aW9uOmFic29sdXRlOyB0b3A6IDJweDsgd2lkdGg6IDEuOGVtOyBoZWlnaHQ6IDEuOGVtOyB9Ci51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXYtaG92ZXIsIC51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHQtaG92ZXIgeyB0b3A6IDFweDsgfQoudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2IHsgbGVmdDoycHg7IH0KLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dCB7IHJpZ2h0OjJweDsgfQoudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2LWhvdmVyIHsgbGVmdDoxcHg7IH0KLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dC1ob3ZlciB7IHJpZ2h0OjFweDsgfQoudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2IHNwYW4sIC51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHQgc3BhbiB7IGRpc3BsYXk6IGJsb2NrOyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDUwJTsgbWFyZ2luLWxlZnQ6IC04cHg7IHRvcDogNTAlOyBtYXJnaW4tdG9wOiAtOHB4OyAgfQoudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci10aXRsZSB7IG1hcmdpbjogMCAyLjNlbTsgbGluZS1oZWlnaHQ6IDEuOGVtOyB0ZXh0LWFsaWduOiBjZW50ZXI7IH0KLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItdGl0bGUgc2VsZWN0IHsgZm9udC1zaXplOjFlbTsgbWFyZ2luOjFweCAwOyB9Ci51aS1kYXRlcGlja2VyIHNlbGVjdC51aS1kYXRlcGlja2VyLW1vbnRoLXllYXIge3dpZHRoOiAxMDAlO30KLnVpLWRhdGVwaWNrZXIgc2VsZWN0LnVpLWRhdGVwaWNrZXItbW9udGgsCi51aS1kYXRlcGlja2VyIHNlbGVjdC51aS1kYXRlcGlja2VyLXllYXIgeyB3aWR0aDogNDklO30KLnVpLWRhdGVwaWNrZXIgdGFibGUge3dpZHRoOiAxMDAlOyBmb250LXNpemU6IC45ZW07IGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IG1hcmdpbjowIDAgLjRlbTsgfQoudWktZGF0ZXBpY2tlciB0aCB7IHBhZGRpbmc6IC43ZW0gLjNlbTsgdGV4dC1hbGlnbjogY2VudGVyOyBmb250LXdlaWdodDogYm9sZDsgYm9yZGVyOiAwOyAgfQoudWktZGF0ZXBpY2tlciB0ZCB7IGJvcmRlcjogMDsgcGFkZGluZzogMXB4OyB9Ci51aS1kYXRlcGlja2VyIHRkIHNwYW4sIC51aS1kYXRlcGlja2VyIHRkIGEgeyBkaXNwbGF5OiBibG9jazsgcGFkZGluZzogLjJlbTsgdGV4dC1hbGlnbjogcmlnaHQ7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfQoudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIHsgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgbWFyZ2luOiAuN2VtIDAgMCAwOyBwYWRkaW5nOjAgLjJlbTsgYm9yZGVyLWxlZnQ6IDA7IGJvcmRlci1yaWdodDogMDsgYm9yZGVyLWJvdHRvbTogMDsgfQoudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIGJ1dHRvbiB7IGZsb2F0OiByaWdodDsgbWFyZ2luOiAuNWVtIC4yZW0gLjRlbTsgY3Vyc29yOiBwb2ludGVyOyBwYWRkaW5nOiAuMmVtIC42ZW0gLjNlbSAuNmVtOyB3aWR0aDphdXRvOyBvdmVyZmxvdzp2aXNpYmxlOyB9Ci51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgYnV0dG9uLnVpLWRhdGVwaWNrZXItY3VycmVudCB7IGZsb2F0OmxlZnQ7IH0KCi8qIHdpdGggbXVsdGlwbGUgY2FsZW5kYXJzICovCi51aS1kYXRlcGlja2VyLnVpLWRhdGVwaWNrZXItbXVsdGkgeyB3aWR0aDphdXRvOyB9Ci51aS1kYXRlcGlja2VyLW11bHRpIC51aS1kYXRlcGlja2VyLWdyb3VwIHsgZmxvYXQ6bGVmdDsgfQoudWktZGF0ZXBpY2tlci1tdWx0aSAudWktZGF0ZXBpY2tlci1ncm91cCB0YWJsZSB7IHdpZHRoOjk1JTsgbWFyZ2luOjAgYXV0byAuNGVtOyB9Ci51aS1kYXRlcGlja2VyLW11bHRpLTIgLnVpLWRhdGVwaWNrZXItZ3JvdXAgeyB3aWR0aDo1MCU7IH0KLnVpLWRhdGVwaWNrZXItbXVsdGktMyAudWktZGF0ZXBpY2tlci1ncm91cCB7IHdpZHRoOjMzLjMlOyB9Ci51aS1kYXRlcGlja2VyLW11bHRpLTQgLnVpLWRhdGVwaWNrZXItZ3JvdXAgeyB3aWR0aDoyNSU7IH0KLnVpLWRhdGVwaWNrZXItbXVsdGkgLnVpLWRhdGVwaWNrZXItZ3JvdXAtbGFzdCAudWktZGF0ZXBpY2tlci1oZWFkZXIgeyBib3JkZXItbGVmdC13aWR0aDowOyB9Ci51aS1kYXRlcGlja2VyLW11bHRpIC51aS1kYXRlcGlja2VyLWdyb3VwLW1pZGRsZSAudWktZGF0ZXBpY2tlci1oZWFkZXIgeyBib3JkZXItbGVmdC13aWR0aDowOyB9Ci51aS1kYXRlcGlja2VyLW11bHRpIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgeyBjbGVhcjpsZWZ0OyB9Ci51aS1kYXRlcGlja2VyLXJvdy1icmVhayB7IGNsZWFyOmJvdGg7IHdpZHRoOjEwMCU7IH0KCi8qIFJUTCBzdXBwb3J0ICovCi51aS1kYXRlcGlja2VyLXJ0bCB7IGRpcmVjdGlvbjogcnRsOyB9Ci51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1wcmV2IHsgcmlnaHQ6IDJweDsgbGVmdDogYXV0bzsgfQoudWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItbmV4dCB7IGxlZnQ6IDJweDsgcmlnaHQ6IGF1dG87IH0KLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLXByZXY6aG92ZXIgeyByaWdodDogMXB4OyBsZWZ0OiBhdXRvOyB9Ci51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1uZXh0OmhvdmVyIHsgbGVmdDogMXB4OyByaWdodDogYXV0bzsgfQoudWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSB7IGNsZWFyOnJpZ2h0OyB9Ci51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIGJ1dHRvbiB7IGZsb2F0OiBsZWZ0OyB9Ci51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIGJ1dHRvbi51aS1kYXRlcGlja2VyLWN1cnJlbnQgeyBmbG9hdDpyaWdodDsgfQoudWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItZ3JvdXAgeyBmbG9hdDpyaWdodDsgfQoudWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItZ3JvdXAtbGFzdCAudWktZGF0ZXBpY2tlci1oZWFkZXIgeyBib3JkZXItcmlnaHQtd2lkdGg6MDsgYm9yZGVyLWxlZnQtd2lkdGg6MXB4OyB9Ci51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1ncm91cC1taWRkbGUgLnVpLWRhdGVwaWNrZXItaGVhZGVyIHsgYm9yZGVyLXJpZ2h0LXdpZHRoOjA7IGJvcmRlci1sZWZ0LXdpZHRoOjFweDsgfQoKLyogSUU2IElGUkFNRSBGSVggKHRha2VuIGZyb20gZGF0ZXBpY2tlciAxLjUuMyAqLwoudWktZGF0ZXBpY2tlci1jb3ZlciB7CiAgICBkaXNwbGF5OiBub25lOyAvKnNvcnJ5IGZvciBJRTUqLwogICAgZGlzcGxheS8qKi86IGJsb2NrOyAvKnNvcnJ5IGZvciBJRTUqLwogICAgcG9zaXRpb246IGFic29sdXRlOyAvKm11c3QgaGF2ZSovCiAgICB6LWluZGV4OiAtMTsgLyptdXN0IGhhdmUqLwogICAgZmlsdGVyOiBtYXNrKCk7IC8qbXVzdCBoYXZlKi8KICAgIHRvcDogLTRweDsgLyptdXN0IGhhdmUqLwogICAgbGVmdDogLTRweDsgLyptdXN0IGhhdmUqLwogICAgd2lkdGg6IDIwMHB4OyAvKm11c3QgaGF2ZSovCiAgICBoZWlnaHQ6IDIwMHB4OyAvKm11c3QgaGF2ZSovCn0=]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/jquery-ui.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyohCiAqIGpRdWVyeSBVSSAxLjguMTQKICoKICogQ29weXJpZ2h0IDIwMTEsIEFVVEhPUlMudHh0IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0KQogKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQogKgogKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJCiAqLwooZnVuY3Rpb24oYyxqKXtmdW5jdGlvbiBrKGEsYil7dmFyIGQ9YS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO2lmKCJhcmVhIj09PWQpe2I9YS5wYXJlbnROb2RlO2Q9Yi5uYW1lO2lmKCFhLmhyZWZ8fCFkfHxiLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkhPT0ibWFwIilyZXR1cm4gZmFsc2U7YT1jKCJpbWdbdXNlbWFwPSMiK2QrIl0iKVswXTtyZXR1cm4hIWEmJmwoYSl9cmV0dXJuKC9pbnB1dHxzZWxlY3R8dGV4dGFyZWF8YnV0dG9ufG9iamVjdC8udGVzdChkKT8hYS5kaXNhYmxlZDoiYSI9PWQ/YS5ocmVmfHxiOmIpJiZsKGEpfWZ1bmN0aW9uIGwoYSl7cmV0dXJuIWMoYSkucGFyZW50cygpLmFuZFNlbGYoKS5maWx0ZXIoZnVuY3Rpb24oKXtyZXR1cm4gYy5jdXJDU1ModGhpcywidmlzaWJpbGl0eSIpPT09ImhpZGRlbiJ8fGMuZXhwci5maWx0ZXJzLmhpZGRlbih0aGlzKX0pLmxlbmd0aH1jLnVpPWMudWl8fHt9O2lmKCFjLnVpLnZlcnNpb24pe2MuZXh0ZW5kKGMudWkse3ZlcnNpb246IjEuOC4xNCIsCmtleUNvZGU6e0FMVDoxOCxCQUNLU1BBQ0U6OCxDQVBTX0xPQ0s6MjAsQ09NTUE6MTg4LENPTU1BTkQ6OTEsQ09NTUFORF9MRUZUOjkxLENPTU1BTkRfUklHSFQ6OTMsQ09OVFJPTDoxNyxERUxFVEU6NDYsRE9XTjo0MCxFTkQ6MzUsRU5URVI6MTMsRVNDQVBFOjI3LEhPTUU6MzYsSU5TRVJUOjQ1LExFRlQ6MzcsTUVOVTo5MyxOVU1QQURfQUREOjEwNyxOVU1QQURfREVDSU1BTDoxMTAsTlVNUEFEX0RJVklERToxMTEsTlVNUEFEX0VOVEVSOjEwOCxOVU1QQURfTVVMVElQTFk6MTA2LE5VTVBBRF9TVUJUUkFDVDoxMDksUEFHRV9ET1dOOjM0LFBBR0VfVVA6MzMsUEVSSU9EOjE5MCxSSUdIVDozOSxTSElGVDoxNixTUEFDRTozMixUQUI6OSxVUDozOCxXSU5ET1dTOjkxfX0pO2MuZm4uZXh0ZW5kKHtfZm9jdXM6Yy5mbi5mb2N1cyxmb2N1czpmdW5jdGlvbihhLGIpe3JldHVybiB0eXBlb2YgYT09PSJudW1iZXIiP3RoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBkPXRoaXM7c2V0VGltZW91dChmdW5jdGlvbigpe2MoZCkuZm9jdXMoKTsKYiYmYi5jYWxsKGQpfSxhKX0pOnRoaXMuX2ZvY3VzLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sc2Nyb2xsUGFyZW50OmZ1bmN0aW9uKCl7dmFyIGE7YT1jLmJyb3dzZXIubXNpZSYmLyhzdGF0aWN8cmVsYXRpdmUpLy50ZXN0KHRoaXMuY3NzKCJwb3NpdGlvbiIpKXx8L2Fic29sdXRlLy50ZXN0KHRoaXMuY3NzKCJwb3NpdGlvbiIpKT90aGlzLnBhcmVudHMoKS5maWx0ZXIoZnVuY3Rpb24oKXtyZXR1cm4vKHJlbGF0aXZlfGFic29sdXRlfGZpeGVkKS8udGVzdChjLmN1ckNTUyh0aGlzLCJwb3NpdGlvbiIsMSkpJiYvKGF1dG98c2Nyb2xsKS8udGVzdChjLmN1ckNTUyh0aGlzLCJvdmVyZmxvdyIsMSkrYy5jdXJDU1ModGhpcywib3ZlcmZsb3cteSIsMSkrYy5jdXJDU1ModGhpcywib3ZlcmZsb3cteCIsMSkpfSkuZXEoMCk6dGhpcy5wYXJlbnRzKCkuZmlsdGVyKGZ1bmN0aW9uKCl7cmV0dXJuLyhhdXRvfHNjcm9sbCkvLnRlc3QoYy5jdXJDU1ModGhpcywib3ZlcmZsb3ciLDEpK2MuY3VyQ1NTKHRoaXMsCiJvdmVyZmxvdy15IiwxKStjLmN1ckNTUyh0aGlzLCJvdmVyZmxvdy14IiwxKSl9KS5lcSgwKTtyZXR1cm4vZml4ZWQvLnRlc3QodGhpcy5jc3MoInBvc2l0aW9uIikpfHwhYS5sZW5ndGg/Yyhkb2N1bWVudCk6YX0sekluZGV4OmZ1bmN0aW9uKGEpe2lmKGEhPT1qKXJldHVybiB0aGlzLmNzcygiekluZGV4IixhKTtpZih0aGlzLmxlbmd0aCl7YT1jKHRoaXNbMF0pO2Zvcih2YXIgYjthLmxlbmd0aCYmYVswXSE9PWRvY3VtZW50Oyl7Yj1hLmNzcygicG9zaXRpb24iKTtpZihiPT09ImFic29sdXRlInx8Yj09PSJyZWxhdGl2ZSJ8fGI9PT0iZml4ZWQiKXtiPXBhcnNlSW50KGEuY3NzKCJ6SW5kZXgiKSwxMCk7aWYoIWlzTmFOKGIpJiZiIT09MClyZXR1cm4gYn1hPWEucGFyZW50KCl9fXJldHVybiAwfSxkaXNhYmxlU2VsZWN0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYmluZCgoYy5zdXBwb3J0LnNlbGVjdHN0YXJ0PyJzZWxlY3RzdGFydCI6Im1vdXNlZG93biIpKyIudWktZGlzYWJsZVNlbGVjdGlvbiIsCmZ1bmN0aW9uKGEpe2EucHJldmVudERlZmF1bHQoKX0pfSxlbmFibGVTZWxlY3Rpb246ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy51bmJpbmQoIi51aS1kaXNhYmxlU2VsZWN0aW9uIil9fSk7Yy5lYWNoKFsiV2lkdGgiLCJIZWlnaHQiXSxmdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGQoZixnLG0sbil7Yy5lYWNoKGUsZnVuY3Rpb24oKXtnLT1wYXJzZUZsb2F0KGMuY3VyQ1NTKGYsInBhZGRpbmciK3RoaXMsdHJ1ZSkpfHwwO2lmKG0pZy09cGFyc2VGbG9hdChjLmN1ckNTUyhmLCJib3JkZXIiK3RoaXMrIldpZHRoIix0cnVlKSl8fDA7aWYobilnLT1wYXJzZUZsb2F0KGMuY3VyQ1NTKGYsIm1hcmdpbiIrdGhpcyx0cnVlKSl8fDB9KTtyZXR1cm4gZ312YXIgZT1iPT09IldpZHRoIj9bIkxlZnQiLCJSaWdodCJdOlsiVG9wIiwiQm90dG9tIl0saD1iLnRvTG93ZXJDYXNlKCksaT17aW5uZXJXaWR0aDpjLmZuLmlubmVyV2lkdGgsaW5uZXJIZWlnaHQ6Yy5mbi5pbm5lckhlaWdodCxvdXRlcldpZHRoOmMuZm4ub3V0ZXJXaWR0aCwKb3V0ZXJIZWlnaHQ6Yy5mbi5vdXRlckhlaWdodH07Yy5mblsiaW5uZXIiK2JdPWZ1bmN0aW9uKGYpe2lmKGY9PT1qKXJldHVybiBpWyJpbm5lciIrYl0uY2FsbCh0aGlzKTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7Yyh0aGlzKS5jc3MoaCxkKHRoaXMsZikrInB4Iil9KX07Yy5mblsib3V0ZXIiK2JdPWZ1bmN0aW9uKGYsZyl7aWYodHlwZW9mIGYhPT0ibnVtYmVyIilyZXR1cm4gaVsib3V0ZXIiK2JdLmNhbGwodGhpcyxmKTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7Yyh0aGlzKS5jc3MoaCxkKHRoaXMsZix0cnVlLGcpKyJweCIpfSl9fSk7Yy5leHRlbmQoYy5leHByWyI6Il0se2RhdGE6ZnVuY3Rpb24oYSxiLGQpe3JldHVybiEhYy5kYXRhKGEsZFszXSl9LGZvY3VzYWJsZTpmdW5jdGlvbihhKXtyZXR1cm4gayhhLCFpc05hTihjLmF0dHIoYSwidGFiaW5kZXgiKSkpfSx0YWJiYWJsZTpmdW5jdGlvbihhKXt2YXIgYj1jLmF0dHIoYSwidGFiaW5kZXgiKSxkPWlzTmFOKGIpOwpyZXR1cm4oZHx8Yj49MCkmJmsoYSwhZCl9fSk7YyhmdW5jdGlvbigpe3ZhciBhPWRvY3VtZW50LmJvZHksYj1hLmFwcGVuZENoaWxkKGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikpO2MuZXh0ZW5kKGIuc3R5bGUse21pbkhlaWdodDoiMTAwcHgiLGhlaWdodDoiYXV0byIscGFkZGluZzowLGJvcmRlcldpZHRoOjB9KTtjLnN1cHBvcnQubWluSGVpZ2h0PWIub2Zmc2V0SGVpZ2h0PT09MTAwO2Muc3VwcG9ydC5zZWxlY3RzdGFydD0ib25zZWxlY3RzdGFydCJpbiBiO2EucmVtb3ZlQ2hpbGQoYikuc3R5bGUuZGlzcGxheT0ibm9uZSJ9KTtjLmV4dGVuZChjLnVpLHtwbHVnaW46e2FkZDpmdW5jdGlvbihhLGIsZCl7YT1jLnVpW2FdLnByb3RvdHlwZTtmb3IodmFyIGUgaW4gZCl7YS5wbHVnaW5zW2VdPWEucGx1Z2luc1tlXXx8W107YS5wbHVnaW5zW2VdLnB1c2goW2IsZFtlXV0pfX0sY2FsbDpmdW5jdGlvbihhLGIsZCl7aWYoKGI9YS5wbHVnaW5zW2JdKSYmYS5lbGVtZW50WzBdLnBhcmVudE5vZGUpZm9yKHZhciBlPQowO2U8Yi5sZW5ndGg7ZSsrKWEub3B0aW9uc1tiW2VdWzBdXSYmYltlXVsxXS5hcHBseShhLmVsZW1lbnQsZCl9fSxjb250YWluczpmdW5jdGlvbihhLGIpe3JldHVybiBkb2N1bWVudC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbj9hLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpJjE2OmEhPT1iJiZhLmNvbnRhaW5zKGIpfSxoYXNTY3JvbGw6ZnVuY3Rpb24oYSxiKXtpZihjKGEpLmNzcygib3ZlcmZsb3ciKT09PSJoaWRkZW4iKXJldHVybiBmYWxzZTtiPWImJmI9PT0ibGVmdCI/InNjcm9sbExlZnQiOiJzY3JvbGxUb3AiO3ZhciBkPWZhbHNlO2lmKGFbYl0+MClyZXR1cm4gdHJ1ZTthW2JdPTE7ZD1hW2JdPjA7YVtiXT0wO3JldHVybiBkfSxpc092ZXJBeGlzOmZ1bmN0aW9uKGEsYixkKXtyZXR1cm4gYT5iJiZhPGIrZH0saXNPdmVyOmZ1bmN0aW9uKGEsYixkLGUsaCxpKXtyZXR1cm4gYy51aS5pc092ZXJBeGlzKGEsZCxoKSYmYy51aS5pc092ZXJBeGlzKGIsZSxpKX19KX19KShqUXVlcnkpOwo7LyohCiAqIGpRdWVyeSBVSSBXaWRnZXQgMS44LjE0CiAqCiAqIENvcHlyaWdodCAyMDExLCBBVVRIT1JTLnR4dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMuCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKICoKICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9XaWRnZXQKICovCihmdW5jdGlvbihiLGope2lmKGIuY2xlYW5EYXRhKXt2YXIgaz1iLmNsZWFuRGF0YTtiLmNsZWFuRGF0YT1mdW5jdGlvbihhKXtmb3IodmFyIGM9MCxkOyhkPWFbY10pIT1udWxsO2MrKyliKGQpLnRyaWdnZXJIYW5kbGVyKCJyZW1vdmUiKTtrKGEpfX1lbHNle3ZhciBsPWIuZm4ucmVtb3ZlO2IuZm4ucmVtb3ZlPWZ1bmN0aW9uKGEsYyl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2lmKCFjKWlmKCFhfHxiLmZpbHRlcihhLFt0aGlzXSkubGVuZ3RoKWIoIioiLHRoaXMpLmFkZChbdGhpc10pLmVhY2goZnVuY3Rpb24oKXtiKHRoaXMpLnRyaWdnZXJIYW5kbGVyKCJyZW1vdmUiKX0pO3JldHVybiBsLmNhbGwoYih0aGlzKSxhLGMpfSl9fWIud2lkZ2V0PWZ1bmN0aW9uKGEsYyxkKXt2YXIgZT1hLnNwbGl0KCIuIilbMF0sZjthPWEuc3BsaXQoIi4iKVsxXTtmPWUrIi0iK2E7aWYoIWQpe2Q9YztjPWIuV2lkZ2V0fWIuZXhwclsiOiJdW2ZdPWZ1bmN0aW9uKGgpe3JldHVybiEhYi5kYXRhKGgsCmEpfTtiW2VdPWJbZV18fHt9O2JbZV1bYV09ZnVuY3Rpb24oaCxnKXthcmd1bWVudHMubGVuZ3RoJiZ0aGlzLl9jcmVhdGVXaWRnZXQoaCxnKX07Yz1uZXcgYztjLm9wdGlvbnM9Yi5leHRlbmQodHJ1ZSx7fSxjLm9wdGlvbnMpO2JbZV1bYV0ucHJvdG90eXBlPWIuZXh0ZW5kKHRydWUsYyx7bmFtZXNwYWNlOmUsd2lkZ2V0TmFtZTphLHdpZGdldEV2ZW50UHJlZml4OmJbZV1bYV0ucHJvdG90eXBlLndpZGdldEV2ZW50UHJlZml4fHxhLHdpZGdldEJhc2VDbGFzczpmfSxkKTtiLndpZGdldC5icmlkZ2UoYSxiW2VdW2FdKX07Yi53aWRnZXQuYnJpZGdlPWZ1bmN0aW9uKGEsYyl7Yi5mblthXT1mdW5jdGlvbihkKXt2YXIgZT10eXBlb2YgZD09PSJzdHJpbmciLGY9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpLGg9dGhpcztkPSFlJiZmLmxlbmd0aD9iLmV4dGVuZC5hcHBseShudWxsLFt0cnVlLGRdLmNvbmNhdChmKSk6ZDtpZihlJiZkLmNoYXJBdCgwKT09PSJfIilyZXR1cm4gaDsKZT90aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgZz1iLmRhdGEodGhpcyxhKSxpPWcmJmIuaXNGdW5jdGlvbihnW2RdKT9nW2RdLmFwcGx5KGcsZik6ZztpZihpIT09ZyYmaSE9PWope2g9aTtyZXR1cm4gZmFsc2V9fSk6dGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGc9Yi5kYXRhKHRoaXMsYSk7Zz9nLm9wdGlvbihkfHx7fSkuX2luaXQoKTpiLmRhdGEodGhpcyxhLG5ldyBjKGQsdGhpcykpfSk7cmV0dXJuIGh9fTtiLldpZGdldD1mdW5jdGlvbihhLGMpe2FyZ3VtZW50cy5sZW5ndGgmJnRoaXMuX2NyZWF0ZVdpZGdldChhLGMpfTtiLldpZGdldC5wcm90b3R5cGU9e3dpZGdldE5hbWU6IndpZGdldCIsd2lkZ2V0RXZlbnRQcmVmaXg6IiIsb3B0aW9uczp7ZGlzYWJsZWQ6ZmFsc2V9LF9jcmVhdGVXaWRnZXQ6ZnVuY3Rpb24oYSxjKXtiLmRhdGEoYyx0aGlzLndpZGdldE5hbWUsdGhpcyk7dGhpcy5lbGVtZW50PWIoYyk7dGhpcy5vcHRpb25zPWIuZXh0ZW5kKHRydWUse30sdGhpcy5vcHRpb25zLAp0aGlzLl9nZXRDcmVhdGVPcHRpb25zKCksYSk7dmFyIGQ9dGhpczt0aGlzLmVsZW1lbnQuYmluZCgicmVtb3ZlLiIrdGhpcy53aWRnZXROYW1lLGZ1bmN0aW9uKCl7ZC5kZXN0cm95KCl9KTt0aGlzLl9jcmVhdGUoKTt0aGlzLl90cmlnZ2VyKCJjcmVhdGUiKTt0aGlzLl9pbml0KCl9LF9nZXRDcmVhdGVPcHRpb25zOmZ1bmN0aW9uKCl7cmV0dXJuIGIubWV0YWRhdGEmJmIubWV0YWRhdGEuZ2V0KHRoaXMuZWxlbWVudFswXSlbdGhpcy53aWRnZXROYW1lXX0sX2NyZWF0ZTpmdW5jdGlvbigpe30sX2luaXQ6ZnVuY3Rpb24oKXt9LGRlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLmVsZW1lbnQudW5iaW5kKCIuIit0aGlzLndpZGdldE5hbWUpLnJlbW92ZURhdGEodGhpcy53aWRnZXROYW1lKTt0aGlzLndpZGdldCgpLnVuYmluZCgiLiIrdGhpcy53aWRnZXROYW1lKS5yZW1vdmVBdHRyKCJhcmlhLWRpc2FibGVkIikucmVtb3ZlQ2xhc3ModGhpcy53aWRnZXRCYXNlQ2xhc3MrIi1kaXNhYmxlZCB1aS1zdGF0ZS1kaXNhYmxlZCIpfSwKd2lkZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWxlbWVudH0sb3B0aW9uOmZ1bmN0aW9uKGEsYyl7dmFyIGQ9YTtpZihhcmd1bWVudHMubGVuZ3RoPT09MClyZXR1cm4gYi5leHRlbmQoe30sdGhpcy5vcHRpb25zKTtpZih0eXBlb2YgYT09PSJzdHJpbmciKXtpZihjPT09ailyZXR1cm4gdGhpcy5vcHRpb25zW2FdO2Q9e307ZFthXT1jfXRoaXMuX3NldE9wdGlvbnMoZCk7cmV0dXJuIHRoaXN9LF9zZXRPcHRpb25zOmZ1bmN0aW9uKGEpe3ZhciBjPXRoaXM7Yi5lYWNoKGEsZnVuY3Rpb24oZCxlKXtjLl9zZXRPcHRpb24oZCxlKX0pO3JldHVybiB0aGlzfSxfc2V0T3B0aW9uOmZ1bmN0aW9uKGEsYyl7dGhpcy5vcHRpb25zW2FdPWM7aWYoYT09PSJkaXNhYmxlZCIpdGhpcy53aWRnZXQoKVtjPyJhZGRDbGFzcyI6InJlbW92ZUNsYXNzIl0odGhpcy53aWRnZXRCYXNlQ2xhc3MrIi1kaXNhYmxlZCB1aS1zdGF0ZS1kaXNhYmxlZCIpLmF0dHIoImFyaWEtZGlzYWJsZWQiLGMpO3JldHVybiB0aGlzfSwKZW5hYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3NldE9wdGlvbigiZGlzYWJsZWQiLGZhbHNlKX0sZGlzYWJsZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9zZXRPcHRpb24oImRpc2FibGVkIix0cnVlKX0sX3RyaWdnZXI6ZnVuY3Rpb24oYSxjLGQpe3ZhciBlPXRoaXMub3B0aW9uc1thXTtjPWIuRXZlbnQoYyk7Yy50eXBlPShhPT09dGhpcy53aWRnZXRFdmVudFByZWZpeD9hOnRoaXMud2lkZ2V0RXZlbnRQcmVmaXgrYSkudG9Mb3dlckNhc2UoKTtkPWR8fHt9O2lmKGMub3JpZ2luYWxFdmVudCl7YT1iLmV2ZW50LnByb3BzLmxlbmd0aDtmb3IodmFyIGY7YTspe2Y9Yi5ldmVudC5wcm9wc1stLWFdO2NbZl09Yy5vcmlnaW5hbEV2ZW50W2ZdfX10aGlzLmVsZW1lbnQudHJpZ2dlcihjLGQpO3JldHVybiEoYi5pc0Z1bmN0aW9uKGUpJiZlLmNhbGwodGhpcy5lbGVtZW50WzBdLGMsZCk9PT1mYWxzZXx8Yy5pc0RlZmF1bHRQcmV2ZW50ZWQoKSl9fX0pKGpRdWVyeSk7CjsvKiEKICogalF1ZXJ5IFVJIE1vdXNlIDEuOC4xNAogKgogKiBDb3B5cmlnaHQgMjAxMSwgQVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20vYWJvdXQpCiAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBvciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2VzLgogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCiAqCiAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20vVUkvTW91c2UKICoKICogRGVwZW5kczoKICoJanF1ZXJ5LnVpLndpZGdldC5qcwogKi8KKGZ1bmN0aW9uKGIpe3ZhciBkPWZhbHNlO2IoZG9jdW1lbnQpLm1vdXNlZG93bihmdW5jdGlvbigpe2Q9ZmFsc2V9KTtiLndpZGdldCgidWkubW91c2UiLHtvcHRpb25zOntjYW5jZWw6IjppbnB1dCxvcHRpb24iLGRpc3RhbmNlOjEsZGVsYXk6MH0sX21vdXNlSW5pdDpmdW5jdGlvbigpe3ZhciBhPXRoaXM7dGhpcy5lbGVtZW50LmJpbmQoIm1vdXNlZG93bi4iK3RoaXMud2lkZ2V0TmFtZSxmdW5jdGlvbihjKXtyZXR1cm4gYS5fbW91c2VEb3duKGMpfSkuYmluZCgiY2xpY2suIit0aGlzLndpZGdldE5hbWUsZnVuY3Rpb24oYyl7aWYodHJ1ZT09PWIuZGF0YShjLnRhcmdldCxhLndpZGdldE5hbWUrIi5wcmV2ZW50Q2xpY2tFdmVudCIpKXtiLnJlbW92ZURhdGEoYy50YXJnZXQsYS53aWRnZXROYW1lKyIucHJldmVudENsaWNrRXZlbnQiKTtjLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO3JldHVybiBmYWxzZX19KTt0aGlzLnN0YXJ0ZWQ9ZmFsc2V9LF9tb3VzZURlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLmVsZW1lbnQudW5iaW5kKCIuIisKdGhpcy53aWRnZXROYW1lKX0sX21vdXNlRG93bjpmdW5jdGlvbihhKXtpZighZCl7dGhpcy5fbW91c2VTdGFydGVkJiZ0aGlzLl9tb3VzZVVwKGEpO3RoaXMuX21vdXNlRG93bkV2ZW50PWE7dmFyIGM9dGhpcyxmPWEud2hpY2g9PTEsZz10eXBlb2YgdGhpcy5vcHRpb25zLmNhbmNlbD09InN0cmluZyI/YihhLnRhcmdldCkuY2xvc2VzdCh0aGlzLm9wdGlvbnMuY2FuY2VsKS5sZW5ndGg6ZmFsc2U7aWYoIWZ8fGd8fCF0aGlzLl9tb3VzZUNhcHR1cmUoYSkpcmV0dXJuIHRydWU7dGhpcy5tb3VzZURlbGF5TWV0PSF0aGlzLm9wdGlvbnMuZGVsYXk7aWYoIXRoaXMubW91c2VEZWxheU1ldCl0aGlzLl9tb3VzZURlbGF5VGltZXI9c2V0VGltZW91dChmdW5jdGlvbigpe2MubW91c2VEZWxheU1ldD10cnVlfSx0aGlzLm9wdGlvbnMuZGVsYXkpO2lmKHRoaXMuX21vdXNlRGlzdGFuY2VNZXQoYSkmJnRoaXMuX21vdXNlRGVsYXlNZXQoYSkpe3RoaXMuX21vdXNlU3RhcnRlZD10aGlzLl9tb3VzZVN0YXJ0KGEpIT09CmZhbHNlO2lmKCF0aGlzLl9tb3VzZVN0YXJ0ZWQpe2EucHJldmVudERlZmF1bHQoKTtyZXR1cm4gdHJ1ZX19dHJ1ZT09PWIuZGF0YShhLnRhcmdldCx0aGlzLndpZGdldE5hbWUrIi5wcmV2ZW50Q2xpY2tFdmVudCIpJiZiLnJlbW92ZURhdGEoYS50YXJnZXQsdGhpcy53aWRnZXROYW1lKyIucHJldmVudENsaWNrRXZlbnQiKTt0aGlzLl9tb3VzZU1vdmVEZWxlZ2F0ZT1mdW5jdGlvbihlKXtyZXR1cm4gYy5fbW91c2VNb3ZlKGUpfTt0aGlzLl9tb3VzZVVwRGVsZWdhdGU9ZnVuY3Rpb24oZSl7cmV0dXJuIGMuX21vdXNlVXAoZSl9O2IoZG9jdW1lbnQpLmJpbmQoIm1vdXNlbW92ZS4iK3RoaXMud2lkZ2V0TmFtZSx0aGlzLl9tb3VzZU1vdmVEZWxlZ2F0ZSkuYmluZCgibW91c2V1cC4iK3RoaXMud2lkZ2V0TmFtZSx0aGlzLl9tb3VzZVVwRGVsZWdhdGUpO2EucHJldmVudERlZmF1bHQoKTtyZXR1cm4gZD10cnVlfX0sX21vdXNlTW92ZTpmdW5jdGlvbihhKXtpZihiLmJyb3dzZXIubXNpZSYmCiEoZG9jdW1lbnQuZG9jdW1lbnRNb2RlPj05KSYmIWEuYnV0dG9uKXJldHVybiB0aGlzLl9tb3VzZVVwKGEpO2lmKHRoaXMuX21vdXNlU3RhcnRlZCl7dGhpcy5fbW91c2VEcmFnKGEpO3JldHVybiBhLnByZXZlbnREZWZhdWx0KCl9aWYodGhpcy5fbW91c2VEaXN0YW5jZU1ldChhKSYmdGhpcy5fbW91c2VEZWxheU1ldChhKSkodGhpcy5fbW91c2VTdGFydGVkPXRoaXMuX21vdXNlU3RhcnQodGhpcy5fbW91c2VEb3duRXZlbnQsYSkhPT1mYWxzZSk/dGhpcy5fbW91c2VEcmFnKGEpOnRoaXMuX21vdXNlVXAoYSk7cmV0dXJuIXRoaXMuX21vdXNlU3RhcnRlZH0sX21vdXNlVXA6ZnVuY3Rpb24oYSl7Yihkb2N1bWVudCkudW5iaW5kKCJtb3VzZW1vdmUuIit0aGlzLndpZGdldE5hbWUsdGhpcy5fbW91c2VNb3ZlRGVsZWdhdGUpLnVuYmluZCgibW91c2V1cC4iK3RoaXMud2lkZ2V0TmFtZSx0aGlzLl9tb3VzZVVwRGVsZWdhdGUpO2lmKHRoaXMuX21vdXNlU3RhcnRlZCl7dGhpcy5fbW91c2VTdGFydGVkPQpmYWxzZTthLnRhcmdldD09dGhpcy5fbW91c2VEb3duRXZlbnQudGFyZ2V0JiZiLmRhdGEoYS50YXJnZXQsdGhpcy53aWRnZXROYW1lKyIucHJldmVudENsaWNrRXZlbnQiLHRydWUpO3RoaXMuX21vdXNlU3RvcChhKX1yZXR1cm4gZmFsc2V9LF9tb3VzZURpc3RhbmNlTWV0OmZ1bmN0aW9uKGEpe3JldHVybiBNYXRoLm1heChNYXRoLmFicyh0aGlzLl9tb3VzZURvd25FdmVudC5wYWdlWC1hLnBhZ2VYKSxNYXRoLmFicyh0aGlzLl9tb3VzZURvd25FdmVudC5wYWdlWS1hLnBhZ2VZKSk+PXRoaXMub3B0aW9ucy5kaXN0YW5jZX0sX21vdXNlRGVsYXlNZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tb3VzZURlbGF5TWV0fSxfbW91c2VTdGFydDpmdW5jdGlvbigpe30sX21vdXNlRHJhZzpmdW5jdGlvbigpe30sX21vdXNlU3RvcDpmdW5jdGlvbigpe30sX21vdXNlQ2FwdHVyZTpmdW5jdGlvbigpe3JldHVybiB0cnVlfX0pfSkoalF1ZXJ5KTsKOy8qCiAqIGpRdWVyeSBVSSBQb3NpdGlvbiAxLjguMTQKICoKICogQ29weXJpZ2h0IDIwMTEsIEFVVEhPUlMudHh0IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0KQogKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQogKgogKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL1Bvc2l0aW9uCiAqLwooZnVuY3Rpb24oYyl7Yy51aT1jLnVpfHx7fTt2YXIgbj0vbGVmdHxjZW50ZXJ8cmlnaHQvLG89L3RvcHxjZW50ZXJ8Ym90dG9tLyx0PWMuZm4ucG9zaXRpb24sdT1jLmZuLm9mZnNldDtjLmZuLnBvc2l0aW9uPWZ1bmN0aW9uKGIpe2lmKCFifHwhYi5vZilyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyk7Yj1jLmV4dGVuZCh7fSxiKTt2YXIgYT1jKGIub2YpLGQ9YVswXSxnPShiLmNvbGxpc2lvbnx8ImZsaXAiKS5zcGxpdCgiICIpLGU9Yi5vZmZzZXQ/Yi5vZmZzZXQuc3BsaXQoIiAiKTpbMCwwXSxoLGssajtpZihkLm5vZGVUeXBlPT09OSl7aD1hLndpZHRoKCk7az1hLmhlaWdodCgpO2o9e3RvcDowLGxlZnQ6MH19ZWxzZSBpZihkLnNldFRpbWVvdXQpe2g9YS53aWR0aCgpO2s9YS5oZWlnaHQoKTtqPXt0b3A6YS5zY3JvbGxUb3AoKSxsZWZ0OmEuc2Nyb2xsTGVmdCgpfX1lbHNlIGlmKGQucHJldmVudERlZmF1bHQpe2IuYXQ9ImxlZnQgdG9wIjtoPWs9MDtqPXt0b3A6Yi5vZi5wYWdlWSwKbGVmdDpiLm9mLnBhZ2VYfX1lbHNle2g9YS5vdXRlcldpZHRoKCk7az1hLm91dGVySGVpZ2h0KCk7aj1hLm9mZnNldCgpfWMuZWFjaChbIm15IiwiYXQiXSxmdW5jdGlvbigpe3ZhciBmPShiW3RoaXNdfHwiIikuc3BsaXQoIiAiKTtpZihmLmxlbmd0aD09PTEpZj1uLnRlc3QoZlswXSk/Zi5jb25jYXQoWyJjZW50ZXIiXSk6by50ZXN0KGZbMF0pP1siY2VudGVyIl0uY29uY2F0KGYpOlsiY2VudGVyIiwiY2VudGVyIl07ZlswXT1uLnRlc3QoZlswXSk/ZlswXToiY2VudGVyIjtmWzFdPW8udGVzdChmWzFdKT9mWzFdOiJjZW50ZXIiO2JbdGhpc109Zn0pO2lmKGcubGVuZ3RoPT09MSlnWzFdPWdbMF07ZVswXT1wYXJzZUludChlWzBdLDEwKXx8MDtpZihlLmxlbmd0aD09PTEpZVsxXT1lWzBdO2VbMV09cGFyc2VJbnQoZVsxXSwxMCl8fDA7aWYoYi5hdFswXT09PSJyaWdodCIpai5sZWZ0Kz1oO2Vsc2UgaWYoYi5hdFswXT09PSJjZW50ZXIiKWoubGVmdCs9aC8yO2lmKGIuYXRbMV09PT0iYm90dG9tIilqLnRvcCs9Cms7ZWxzZSBpZihiLmF0WzFdPT09ImNlbnRlciIpai50b3ArPWsvMjtqLmxlZnQrPWVbMF07ai50b3ArPWVbMV07cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBmPWModGhpcyksbD1mLm91dGVyV2lkdGgoKSxtPWYub3V0ZXJIZWlnaHQoKSxwPXBhcnNlSW50KGMuY3VyQ1NTKHRoaXMsIm1hcmdpbkxlZnQiLHRydWUpKXx8MCxxPXBhcnNlSW50KGMuY3VyQ1NTKHRoaXMsIm1hcmdpblRvcCIsdHJ1ZSkpfHwwLHY9bCtwKyhwYXJzZUludChjLmN1ckNTUyh0aGlzLCJtYXJnaW5SaWdodCIsdHJ1ZSkpfHwwKSx3PW0rcSsocGFyc2VJbnQoYy5jdXJDU1ModGhpcywibWFyZ2luQm90dG9tIix0cnVlKSl8fDApLGk9Yy5leHRlbmQoe30saikscjtpZihiLm15WzBdPT09InJpZ2h0IilpLmxlZnQtPWw7ZWxzZSBpZihiLm15WzBdPT09ImNlbnRlciIpaS5sZWZ0LT1sLzI7aWYoYi5teVsxXT09PSJib3R0b20iKWkudG9wLT1tO2Vsc2UgaWYoYi5teVsxXT09PSJjZW50ZXIiKWkudG9wLT0KbS8yO2kubGVmdD1NYXRoLnJvdW5kKGkubGVmdCk7aS50b3A9TWF0aC5yb3VuZChpLnRvcCk7cj17bGVmdDppLmxlZnQtcCx0b3A6aS50b3AtcX07Yy5lYWNoKFsibGVmdCIsInRvcCJdLGZ1bmN0aW9uKHMseCl7Yy51aS5wb3NpdGlvbltnW3NdXSYmYy51aS5wb3NpdGlvbltnW3NdXVt4XShpLHt0YXJnZXRXaWR0aDpoLHRhcmdldEhlaWdodDprLGVsZW1XaWR0aDpsLGVsZW1IZWlnaHQ6bSxjb2xsaXNpb25Qb3NpdGlvbjpyLGNvbGxpc2lvbldpZHRoOnYsY29sbGlzaW9uSGVpZ2h0Oncsb2Zmc2V0OmUsbXk6Yi5teSxhdDpiLmF0fSl9KTtjLmZuLmJnaWZyYW1lJiZmLmJnaWZyYW1lKCk7Zi5vZmZzZXQoYy5leHRlbmQoaSx7dXNpbmc6Yi51c2luZ30pKX0pfTtjLnVpLnBvc2l0aW9uPXtmaXQ6e2xlZnQ6ZnVuY3Rpb24oYixhKXt2YXIgZD1jKHdpbmRvdyk7ZD1hLmNvbGxpc2lvblBvc2l0aW9uLmxlZnQrYS5jb2xsaXNpb25XaWR0aC1kLndpZHRoKCktZC5zY3JvbGxMZWZ0KCk7Yi5sZWZ0PQpkPjA/Yi5sZWZ0LWQ6TWF0aC5tYXgoYi5sZWZ0LWEuY29sbGlzaW9uUG9zaXRpb24ubGVmdCxiLmxlZnQpfSx0b3A6ZnVuY3Rpb24oYixhKXt2YXIgZD1jKHdpbmRvdyk7ZD1hLmNvbGxpc2lvblBvc2l0aW9uLnRvcCthLmNvbGxpc2lvbkhlaWdodC1kLmhlaWdodCgpLWQuc2Nyb2xsVG9wKCk7Yi50b3A9ZD4wP2IudG9wLWQ6TWF0aC5tYXgoYi50b3AtYS5jb2xsaXNpb25Qb3NpdGlvbi50b3AsYi50b3ApfX0sZmxpcDp7bGVmdDpmdW5jdGlvbihiLGEpe2lmKGEuYXRbMF0hPT0iY2VudGVyIil7dmFyIGQ9Yyh3aW5kb3cpO2Q9YS5jb2xsaXNpb25Qb3NpdGlvbi5sZWZ0K2EuY29sbGlzaW9uV2lkdGgtZC53aWR0aCgpLWQuc2Nyb2xsTGVmdCgpO3ZhciBnPWEubXlbMF09PT0ibGVmdCI/LWEuZWxlbVdpZHRoOmEubXlbMF09PT0icmlnaHQiP2EuZWxlbVdpZHRoOjAsZT1hLmF0WzBdPT09ImxlZnQiP2EudGFyZ2V0V2lkdGg6LWEudGFyZ2V0V2lkdGgsaD0tMiphLm9mZnNldFswXTtiLmxlZnQrPQphLmNvbGxpc2lvblBvc2l0aW9uLmxlZnQ8MD9nK2UraDpkPjA/ZytlK2g6MH19LHRvcDpmdW5jdGlvbihiLGEpe2lmKGEuYXRbMV0hPT0iY2VudGVyIil7dmFyIGQ9Yyh3aW5kb3cpO2Q9YS5jb2xsaXNpb25Qb3NpdGlvbi50b3ArYS5jb2xsaXNpb25IZWlnaHQtZC5oZWlnaHQoKS1kLnNjcm9sbFRvcCgpO3ZhciBnPWEubXlbMV09PT0idG9wIj8tYS5lbGVtSGVpZ2h0OmEubXlbMV09PT0iYm90dG9tIj9hLmVsZW1IZWlnaHQ6MCxlPWEuYXRbMV09PT0idG9wIj9hLnRhcmdldEhlaWdodDotYS50YXJnZXRIZWlnaHQsaD0tMiphLm9mZnNldFsxXTtiLnRvcCs9YS5jb2xsaXNpb25Qb3NpdGlvbi50b3A8MD9nK2UraDpkPjA/ZytlK2g6MH19fX07aWYoIWMub2Zmc2V0LnNldE9mZnNldCl7Yy5vZmZzZXQuc2V0T2Zmc2V0PWZ1bmN0aW9uKGIsYSl7aWYoL3N0YXRpYy8udGVzdChjLmN1ckNTUyhiLCJwb3NpdGlvbiIpKSliLnN0eWxlLnBvc2l0aW9uPSJyZWxhdGl2ZSI7dmFyIGQ9YyhiKSwKZz1kLm9mZnNldCgpLGU9cGFyc2VJbnQoYy5jdXJDU1MoYiwidG9wIix0cnVlKSwxMCl8fDAsaD1wYXJzZUludChjLmN1ckNTUyhiLCJsZWZ0Iix0cnVlKSwxMCl8fDA7Zz17dG9wOmEudG9wLWcudG9wK2UsbGVmdDphLmxlZnQtZy5sZWZ0K2h9OyJ1c2luZyJpbiBhP2EudXNpbmcuY2FsbChiLGcpOmQuY3NzKGcpfTtjLmZuLm9mZnNldD1mdW5jdGlvbihiKXt2YXIgYT10aGlzWzBdO2lmKCFhfHwhYS5vd25lckRvY3VtZW50KXJldHVybiBudWxsO2lmKGIpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2Mub2Zmc2V0LnNldE9mZnNldCh0aGlzLGIpfSk7cmV0dXJuIHUuY2FsbCh0aGlzKX19fSkoalF1ZXJ5KTsKOy8qCiAqIGpRdWVyeSBVSSBTbGlkZXIgMS44LjE0CiAqCiAqIENvcHlyaWdodCAyMDExLCBBVVRIT1JTLnR4dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMuCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKICoKICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9TbGlkZXIKICoKICogRGVwZW5kczoKICoJanF1ZXJ5LnVpLmNvcmUuanMKICoJanF1ZXJ5LnVpLm1vdXNlLmpzCiAqCWpxdWVyeS51aS53aWRnZXQuanMKICovCihmdW5jdGlvbihkKXtkLndpZGdldCgidWkuc2xpZGVyIixkLnVpLm1vdXNlLHt3aWRnZXRFdmVudFByZWZpeDoic2xpZGUiLG9wdGlvbnM6e2FuaW1hdGU6ZmFsc2UsZGlzdGFuY2U6MCxtYXg6MTAwLG1pbjowLG9yaWVudGF0aW9uOiJob3Jpem9udGFsIixyYW5nZTpmYWxzZSxzdGVwOjEsdmFsdWU6MCx2YWx1ZXM6bnVsbH0sX2NyZWF0ZTpmdW5jdGlvbigpe3ZhciBiPXRoaXMsYT10aGlzLm9wdGlvbnMsYz10aGlzLmVsZW1lbnQuZmluZCgiLnVpLXNsaWRlci1oYW5kbGUiKS5hZGRDbGFzcygidWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIiksZj1hLnZhbHVlcyYmYS52YWx1ZXMubGVuZ3RofHwxLGU9W107dGhpcy5fbW91c2VTbGlkaW5nPXRoaXMuX2tleVNsaWRpbmc9ZmFsc2U7dGhpcy5fYW5pbWF0ZU9mZj10cnVlO3RoaXMuX2hhbmRsZUluZGV4PW51bGw7dGhpcy5fZGV0ZWN0T3JpZW50YXRpb24oKTt0aGlzLl9tb3VzZUluaXQoKTt0aGlzLmVsZW1lbnQuYWRkQ2xhc3MoInVpLXNsaWRlciB1aS1zbGlkZXItIisKdGhpcy5vcmllbnRhdGlvbisiIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIisoYS5kaXNhYmxlZD8iIHVpLXNsaWRlci1kaXNhYmxlZCB1aS1kaXNhYmxlZCI6IiIpKTt0aGlzLnJhbmdlPWQoW10pO2lmKGEucmFuZ2Upe2lmKGEucmFuZ2U9PT10cnVlKXtpZighYS52YWx1ZXMpYS52YWx1ZXM9W3RoaXMuX3ZhbHVlTWluKCksdGhpcy5fdmFsdWVNaW4oKV07aWYoYS52YWx1ZXMubGVuZ3RoJiZhLnZhbHVlcy5sZW5ndGghPT0yKWEudmFsdWVzPVthLnZhbHVlc1swXSxhLnZhbHVlc1swXV19dGhpcy5yYW5nZT1kKCI8ZGl2PjwvZGl2PiIpLmFwcGVuZFRvKHRoaXMuZWxlbWVudCkuYWRkQ2xhc3MoInVpLXNsaWRlci1yYW5nZSB1aS13aWRnZXQtaGVhZGVyIisoYS5yYW5nZT09PSJtaW4ifHxhLnJhbmdlPT09Im1heCI/IiB1aS1zbGlkZXItcmFuZ2UtIithLnJhbmdlOiIiKSl9Zm9yKHZhciBqPWMubGVuZ3RoO2o8ZjtqKz0xKWUucHVzaCgiPGEgY2xhc3M9J3VpLXNsaWRlci1oYW5kbGUgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsJyBocmVmPScjJz48L2E+Iik7CnRoaXMuaGFuZGxlcz1jLmFkZChkKGUuam9pbigiIikpLmFwcGVuZFRvKGIuZWxlbWVudCkpO3RoaXMuaGFuZGxlPXRoaXMuaGFuZGxlcy5lcSgwKTt0aGlzLmhhbmRsZXMuYWRkKHRoaXMucmFuZ2UpLmZpbHRlcigiYSIpLmNsaWNrKGZ1bmN0aW9uKGcpe2cucHJldmVudERlZmF1bHQoKX0pLmhvdmVyKGZ1bmN0aW9uKCl7YS5kaXNhYmxlZHx8ZCh0aGlzKS5hZGRDbGFzcygidWktc3RhdGUtaG92ZXIiKX0sZnVuY3Rpb24oKXtkKHRoaXMpLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1ob3ZlciIpfSkuZm9jdXMoZnVuY3Rpb24oKXtpZihhLmRpc2FibGVkKWQodGhpcykuYmx1cigpO2Vsc2V7ZCgiLnVpLXNsaWRlciAudWktc3RhdGUtZm9jdXMiKS5yZW1vdmVDbGFzcygidWktc3RhdGUtZm9jdXMiKTtkKHRoaXMpLmFkZENsYXNzKCJ1aS1zdGF0ZS1mb2N1cyIpfX0pLmJsdXIoZnVuY3Rpb24oKXtkKHRoaXMpLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1mb2N1cyIpfSk7dGhpcy5oYW5kbGVzLmVhY2goZnVuY3Rpb24oZyl7ZCh0aGlzKS5kYXRhKCJpbmRleC51aS1zbGlkZXItaGFuZGxlIiwKZyl9KTt0aGlzLmhhbmRsZXMua2V5ZG93bihmdW5jdGlvbihnKXt2YXIgaz10cnVlLGw9ZCh0aGlzKS5kYXRhKCJpbmRleC51aS1zbGlkZXItaGFuZGxlIiksaSxoLG07aWYoIWIub3B0aW9ucy5kaXNhYmxlZCl7c3dpdGNoKGcua2V5Q29kZSl7Y2FzZSBkLnVpLmtleUNvZGUuSE9NRTpjYXNlIGQudWkua2V5Q29kZS5FTkQ6Y2FzZSBkLnVpLmtleUNvZGUuUEFHRV9VUDpjYXNlIGQudWkua2V5Q29kZS5QQUdFX0RPV046Y2FzZSBkLnVpLmtleUNvZGUuVVA6Y2FzZSBkLnVpLmtleUNvZGUuUklHSFQ6Y2FzZSBkLnVpLmtleUNvZGUuRE9XTjpjYXNlIGQudWkua2V5Q29kZS5MRUZUOms9ZmFsc2U7aWYoIWIuX2tleVNsaWRpbmcpe2IuX2tleVNsaWRpbmc9dHJ1ZTtkKHRoaXMpLmFkZENsYXNzKCJ1aS1zdGF0ZS1hY3RpdmUiKTtpPWIuX3N0YXJ0KGcsbCk7aWYoaT09PWZhbHNlKXJldHVybn1icmVha31tPWIub3B0aW9ucy5zdGVwO2k9Yi5vcHRpb25zLnZhbHVlcyYmYi5vcHRpb25zLnZhbHVlcy5sZW5ndGg/CihoPWIudmFsdWVzKGwpKTooaD1iLnZhbHVlKCkpO3N3aXRjaChnLmtleUNvZGUpe2Nhc2UgZC51aS5rZXlDb2RlLkhPTUU6aD1iLl92YWx1ZU1pbigpO2JyZWFrO2Nhc2UgZC51aS5rZXlDb2RlLkVORDpoPWIuX3ZhbHVlTWF4KCk7YnJlYWs7Y2FzZSBkLnVpLmtleUNvZGUuUEFHRV9VUDpoPWIuX3RyaW1BbGlnblZhbHVlKGkrKGIuX3ZhbHVlTWF4KCktYi5fdmFsdWVNaW4oKSkvNSk7YnJlYWs7Y2FzZSBkLnVpLmtleUNvZGUuUEFHRV9ET1dOOmg9Yi5fdHJpbUFsaWduVmFsdWUoaS0oYi5fdmFsdWVNYXgoKS1iLl92YWx1ZU1pbigpKS81KTticmVhaztjYXNlIGQudWkua2V5Q29kZS5VUDpjYXNlIGQudWkua2V5Q29kZS5SSUdIVDppZihpPT09Yi5fdmFsdWVNYXgoKSlyZXR1cm47aD1iLl90cmltQWxpZ25WYWx1ZShpK20pO2JyZWFrO2Nhc2UgZC51aS5rZXlDb2RlLkRPV046Y2FzZSBkLnVpLmtleUNvZGUuTEVGVDppZihpPT09Yi5fdmFsdWVNaW4oKSlyZXR1cm47aD1iLl90cmltQWxpZ25WYWx1ZShpLQptKTticmVha31iLl9zbGlkZShnLGwsaCk7cmV0dXJuIGt9fSkua2V5dXAoZnVuY3Rpb24oZyl7dmFyIGs9ZCh0aGlzKS5kYXRhKCJpbmRleC51aS1zbGlkZXItaGFuZGxlIik7aWYoYi5fa2V5U2xpZGluZyl7Yi5fa2V5U2xpZGluZz1mYWxzZTtiLl9zdG9wKGcsayk7Yi5fY2hhbmdlKGcsayk7ZCh0aGlzKS5yZW1vdmVDbGFzcygidWktc3RhdGUtYWN0aXZlIil9fSk7dGhpcy5fcmVmcmVzaFZhbHVlKCk7dGhpcy5fYW5pbWF0ZU9mZj1mYWxzZX0sZGVzdHJveTpmdW5jdGlvbigpe3RoaXMuaGFuZGxlcy5yZW1vdmUoKTt0aGlzLnJhbmdlLnJlbW92ZSgpO3RoaXMuZWxlbWVudC5yZW1vdmVDbGFzcygidWktc2xpZGVyIHVpLXNsaWRlci1ob3Jpem9udGFsIHVpLXNsaWRlci12ZXJ0aWNhbCB1aS1zbGlkZXItZGlzYWJsZWQgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwiKS5yZW1vdmVEYXRhKCJzbGlkZXIiKS51bmJpbmQoIi5zbGlkZXIiKTt0aGlzLl9tb3VzZURlc3Ryb3koKTsKcmV0dXJuIHRoaXN9LF9tb3VzZUNhcHR1cmU6ZnVuY3Rpb24oYil7dmFyIGE9dGhpcy5vcHRpb25zLGMsZixlLGosZztpZihhLmRpc2FibGVkKXJldHVybiBmYWxzZTt0aGlzLmVsZW1lbnRTaXplPXt3aWR0aDp0aGlzLmVsZW1lbnQub3V0ZXJXaWR0aCgpLGhlaWdodDp0aGlzLmVsZW1lbnQub3V0ZXJIZWlnaHQoKX07dGhpcy5lbGVtZW50T2Zmc2V0PXRoaXMuZWxlbWVudC5vZmZzZXQoKTtjPXRoaXMuX25vcm1WYWx1ZUZyb21Nb3VzZSh7eDpiLnBhZ2VYLHk6Yi5wYWdlWX0pO2Y9dGhpcy5fdmFsdWVNYXgoKS10aGlzLl92YWx1ZU1pbigpKzE7aj10aGlzO3RoaXMuaGFuZGxlcy5lYWNoKGZ1bmN0aW9uKGspe3ZhciBsPU1hdGguYWJzKGMtai52YWx1ZXMoaykpO2lmKGY+bCl7Zj1sO2U9ZCh0aGlzKTtnPWt9fSk7aWYoYS5yYW5nZT09PXRydWUmJnRoaXMudmFsdWVzKDEpPT09YS5taW4pe2crPTE7ZT1kKHRoaXMuaGFuZGxlc1tnXSl9aWYodGhpcy5fc3RhcnQoYixnKT09PWZhbHNlKXJldHVybiBmYWxzZTsKdGhpcy5fbW91c2VTbGlkaW5nPXRydWU7ai5faGFuZGxlSW5kZXg9ZztlLmFkZENsYXNzKCJ1aS1zdGF0ZS1hY3RpdmUiKS5mb2N1cygpO2E9ZS5vZmZzZXQoKTt0aGlzLl9jbGlja09mZnNldD0hZChiLnRhcmdldCkucGFyZW50cygpLmFuZFNlbGYoKS5pcygiLnVpLXNsaWRlci1oYW5kbGUiKT97bGVmdDowLHRvcDowfTp7bGVmdDpiLnBhZ2VYLWEubGVmdC1lLndpZHRoKCkvMix0b3A6Yi5wYWdlWS1hLnRvcC1lLmhlaWdodCgpLzItKHBhcnNlSW50KGUuY3NzKCJib3JkZXJUb3BXaWR0aCIpLDEwKXx8MCktKHBhcnNlSW50KGUuY3NzKCJib3JkZXJCb3R0b21XaWR0aCIpLDEwKXx8MCkrKHBhcnNlSW50KGUuY3NzKCJtYXJnaW5Ub3AiKSwxMCl8fDApfTt0aGlzLmhhbmRsZXMuaGFzQ2xhc3MoInVpLXN0YXRlLWhvdmVyIil8fHRoaXMuX3NsaWRlKGIsZyxjKTtyZXR1cm4gdGhpcy5fYW5pbWF0ZU9mZj10cnVlfSxfbW91c2VTdGFydDpmdW5jdGlvbigpe3JldHVybiB0cnVlfSxfbW91c2VEcmFnOmZ1bmN0aW9uKGIpe3ZhciBhPQp0aGlzLl9ub3JtVmFsdWVGcm9tTW91c2Uoe3g6Yi5wYWdlWCx5OmIucGFnZVl9KTt0aGlzLl9zbGlkZShiLHRoaXMuX2hhbmRsZUluZGV4LGEpO3JldHVybiBmYWxzZX0sX21vdXNlU3RvcDpmdW5jdGlvbihiKXt0aGlzLmhhbmRsZXMucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSIpO3RoaXMuX21vdXNlU2xpZGluZz1mYWxzZTt0aGlzLl9zdG9wKGIsdGhpcy5faGFuZGxlSW5kZXgpO3RoaXMuX2NoYW5nZShiLHRoaXMuX2hhbmRsZUluZGV4KTt0aGlzLl9jbGlja09mZnNldD10aGlzLl9oYW5kbGVJbmRleD1udWxsO3JldHVybiB0aGlzLl9hbmltYXRlT2ZmPWZhbHNlfSxfZGV0ZWN0T3JpZW50YXRpb246ZnVuY3Rpb24oKXt0aGlzLm9yaWVudGF0aW9uPXRoaXMub3B0aW9ucy5vcmllbnRhdGlvbj09PSJ2ZXJ0aWNhbCI/InZlcnRpY2FsIjoiaG9yaXpvbnRhbCJ9LF9ub3JtVmFsdWVGcm9tTW91c2U6ZnVuY3Rpb24oYil7dmFyIGE7aWYodGhpcy5vcmllbnRhdGlvbj09PSJob3Jpem9udGFsIil7YT0KdGhpcy5lbGVtZW50U2l6ZS53aWR0aDtiPWIueC10aGlzLmVsZW1lbnRPZmZzZXQubGVmdC0odGhpcy5fY2xpY2tPZmZzZXQ/dGhpcy5fY2xpY2tPZmZzZXQubGVmdDowKX1lbHNle2E9dGhpcy5lbGVtZW50U2l6ZS5oZWlnaHQ7Yj1iLnktdGhpcy5lbGVtZW50T2Zmc2V0LnRvcC0odGhpcy5fY2xpY2tPZmZzZXQ/dGhpcy5fY2xpY2tPZmZzZXQudG9wOjApfWE9Yi9hO2lmKGE+MSlhPTE7aWYoYTwwKWE9MDtpZih0aGlzLm9yaWVudGF0aW9uPT09InZlcnRpY2FsIilhPTEtYTtiPXRoaXMuX3ZhbHVlTWF4KCktdGhpcy5fdmFsdWVNaW4oKTtyZXR1cm4gdGhpcy5fdHJpbUFsaWduVmFsdWUodGhpcy5fdmFsdWVNaW4oKSthKmIpfSxfc3RhcnQ6ZnVuY3Rpb24oYixhKXt2YXIgYz17aGFuZGxlOnRoaXMuaGFuZGxlc1thXSx2YWx1ZTp0aGlzLnZhbHVlKCl9O2lmKHRoaXMub3B0aW9ucy52YWx1ZXMmJnRoaXMub3B0aW9ucy52YWx1ZXMubGVuZ3RoKXtjLnZhbHVlPXRoaXMudmFsdWVzKGEpOwpjLnZhbHVlcz10aGlzLnZhbHVlcygpfXJldHVybiB0aGlzLl90cmlnZ2VyKCJzdGFydCIsYixjKX0sX3NsaWRlOmZ1bmN0aW9uKGIsYSxjKXt2YXIgZjtpZih0aGlzLm9wdGlvbnMudmFsdWVzJiZ0aGlzLm9wdGlvbnMudmFsdWVzLmxlbmd0aCl7Zj10aGlzLnZhbHVlcyhhPzA6MSk7aWYodGhpcy5vcHRpb25zLnZhbHVlcy5sZW5ndGg9PT0yJiZ0aGlzLm9wdGlvbnMucmFuZ2U9PT10cnVlJiYoYT09PTAmJmM+Znx8YT09PTEmJmM8ZikpYz1mO2lmKGMhPT10aGlzLnZhbHVlcyhhKSl7Zj10aGlzLnZhbHVlcygpO2ZbYV09YztiPXRoaXMuX3RyaWdnZXIoInNsaWRlIixiLHtoYW5kbGU6dGhpcy5oYW5kbGVzW2FdLHZhbHVlOmMsdmFsdWVzOmZ9KTt0aGlzLnZhbHVlcyhhPzA6MSk7YiE9PWZhbHNlJiZ0aGlzLnZhbHVlcyhhLGMsdHJ1ZSl9fWVsc2UgaWYoYyE9PXRoaXMudmFsdWUoKSl7Yj10aGlzLl90cmlnZ2VyKCJzbGlkZSIsYix7aGFuZGxlOnRoaXMuaGFuZGxlc1thXSx2YWx1ZTpjfSk7CmIhPT1mYWxzZSYmdGhpcy52YWx1ZShjKX19LF9zdG9wOmZ1bmN0aW9uKGIsYSl7dmFyIGM9e2hhbmRsZTp0aGlzLmhhbmRsZXNbYV0sdmFsdWU6dGhpcy52YWx1ZSgpfTtpZih0aGlzLm9wdGlvbnMudmFsdWVzJiZ0aGlzLm9wdGlvbnMudmFsdWVzLmxlbmd0aCl7Yy52YWx1ZT10aGlzLnZhbHVlcyhhKTtjLnZhbHVlcz10aGlzLnZhbHVlcygpfXRoaXMuX3RyaWdnZXIoInN0b3AiLGIsYyl9LF9jaGFuZ2U6ZnVuY3Rpb24oYixhKXtpZighdGhpcy5fa2V5U2xpZGluZyYmIXRoaXMuX21vdXNlU2xpZGluZyl7dmFyIGM9e2hhbmRsZTp0aGlzLmhhbmRsZXNbYV0sdmFsdWU6dGhpcy52YWx1ZSgpfTtpZih0aGlzLm9wdGlvbnMudmFsdWVzJiZ0aGlzLm9wdGlvbnMudmFsdWVzLmxlbmd0aCl7Yy52YWx1ZT10aGlzLnZhbHVlcyhhKTtjLnZhbHVlcz10aGlzLnZhbHVlcygpfXRoaXMuX3RyaWdnZXIoImNoYW5nZSIsYixjKX19LHZhbHVlOmZ1bmN0aW9uKGIpe2lmKGFyZ3VtZW50cy5sZW5ndGgpe3RoaXMub3B0aW9ucy52YWx1ZT0KdGhpcy5fdHJpbUFsaWduVmFsdWUoYik7dGhpcy5fcmVmcmVzaFZhbHVlKCk7dGhpcy5fY2hhbmdlKG51bGwsMCl9ZWxzZSByZXR1cm4gdGhpcy5fdmFsdWUoKX0sdmFsdWVzOmZ1bmN0aW9uKGIsYSl7dmFyIGMsZixlO2lmKGFyZ3VtZW50cy5sZW5ndGg+MSl7dGhpcy5vcHRpb25zLnZhbHVlc1tiXT10aGlzLl90cmltQWxpZ25WYWx1ZShhKTt0aGlzLl9yZWZyZXNoVmFsdWUoKTt0aGlzLl9jaGFuZ2UobnVsbCxiKX1lbHNlIGlmKGFyZ3VtZW50cy5sZW5ndGgpaWYoZC5pc0FycmF5KGFyZ3VtZW50c1swXSkpe2M9dGhpcy5vcHRpb25zLnZhbHVlcztmPWFyZ3VtZW50c1swXTtmb3IoZT0wO2U8Yy5sZW5ndGg7ZSs9MSl7Y1tlXT10aGlzLl90cmltQWxpZ25WYWx1ZShmW2VdKTt0aGlzLl9jaGFuZ2UobnVsbCxlKX10aGlzLl9yZWZyZXNoVmFsdWUoKX1lbHNlIHJldHVybiB0aGlzLm9wdGlvbnMudmFsdWVzJiZ0aGlzLm9wdGlvbnMudmFsdWVzLmxlbmd0aD90aGlzLl92YWx1ZXMoYik6CnRoaXMudmFsdWUoKTtlbHNlIHJldHVybiB0aGlzLl92YWx1ZXMoKX0sX3NldE9wdGlvbjpmdW5jdGlvbihiLGEpe3ZhciBjLGY9MDtpZihkLmlzQXJyYXkodGhpcy5vcHRpb25zLnZhbHVlcykpZj10aGlzLm9wdGlvbnMudmFsdWVzLmxlbmd0aDtkLldpZGdldC5wcm90b3R5cGUuX3NldE9wdGlvbi5hcHBseSh0aGlzLGFyZ3VtZW50cyk7c3dpdGNoKGIpe2Nhc2UgImRpc2FibGVkIjppZihhKXt0aGlzLmhhbmRsZXMuZmlsdGVyKCIudWktc3RhdGUtZm9jdXMiKS5ibHVyKCk7dGhpcy5oYW5kbGVzLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1ob3ZlciIpO3RoaXMuaGFuZGxlcy5hdHRyKCJkaXNhYmxlZCIsImRpc2FibGVkIik7dGhpcy5lbGVtZW50LmFkZENsYXNzKCJ1aS1kaXNhYmxlZCIpfWVsc2V7dGhpcy5oYW5kbGVzLnJlbW92ZUF0dHIoImRpc2FibGVkIik7dGhpcy5lbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1kaXNhYmxlZCIpfWJyZWFrO2Nhc2UgIm9yaWVudGF0aW9uIjp0aGlzLl9kZXRlY3RPcmllbnRhdGlvbigpOwp0aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLXNsaWRlci1ob3Jpem9udGFsIHVpLXNsaWRlci12ZXJ0aWNhbCIpLmFkZENsYXNzKCJ1aS1zbGlkZXItIit0aGlzLm9yaWVudGF0aW9uKTt0aGlzLl9yZWZyZXNoVmFsdWUoKTticmVhaztjYXNlICJ2YWx1ZSI6dGhpcy5fYW5pbWF0ZU9mZj10cnVlO3RoaXMuX3JlZnJlc2hWYWx1ZSgpO3RoaXMuX2NoYW5nZShudWxsLDApO3RoaXMuX2FuaW1hdGVPZmY9ZmFsc2U7YnJlYWs7Y2FzZSAidmFsdWVzIjp0aGlzLl9hbmltYXRlT2ZmPXRydWU7dGhpcy5fcmVmcmVzaFZhbHVlKCk7Zm9yKGM9MDtjPGY7Yys9MSl0aGlzLl9jaGFuZ2UobnVsbCxjKTt0aGlzLl9hbmltYXRlT2ZmPWZhbHNlO2JyZWFrfX0sX3ZhbHVlOmZ1bmN0aW9uKCl7dmFyIGI9dGhpcy5vcHRpb25zLnZhbHVlO3JldHVybiBiPXRoaXMuX3RyaW1BbGlnblZhbHVlKGIpfSxfdmFsdWVzOmZ1bmN0aW9uKGIpe3ZhciBhLGM7aWYoYXJndW1lbnRzLmxlbmd0aCl7YT10aGlzLm9wdGlvbnMudmFsdWVzW2JdOwpyZXR1cm4gYT10aGlzLl90cmltQWxpZ25WYWx1ZShhKX1lbHNle2E9dGhpcy5vcHRpb25zLnZhbHVlcy5zbGljZSgpO2ZvcihjPTA7YzxhLmxlbmd0aDtjKz0xKWFbY109dGhpcy5fdHJpbUFsaWduVmFsdWUoYVtjXSk7cmV0dXJuIGF9fSxfdHJpbUFsaWduVmFsdWU6ZnVuY3Rpb24oYil7aWYoYjw9dGhpcy5fdmFsdWVNaW4oKSlyZXR1cm4gdGhpcy5fdmFsdWVNaW4oKTtpZihiPj10aGlzLl92YWx1ZU1heCgpKXJldHVybiB0aGlzLl92YWx1ZU1heCgpO3ZhciBhPXRoaXMub3B0aW9ucy5zdGVwPjA/dGhpcy5vcHRpb25zLnN0ZXA6MSxjPShiLXRoaXMuX3ZhbHVlTWluKCkpJWE7YWxpZ25WYWx1ZT1iLWM7aWYoTWF0aC5hYnMoYykqMj49YSlhbGlnblZhbHVlKz1jPjA/YTotYTtyZXR1cm4gcGFyc2VGbG9hdChhbGlnblZhbHVlLnRvRml4ZWQoNSkpfSxfdmFsdWVNaW46ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vcHRpb25zLm1pbn0sX3ZhbHVlTWF4OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub3B0aW9ucy5tYXh9LApfcmVmcmVzaFZhbHVlOmZ1bmN0aW9uKCl7dmFyIGI9dGhpcy5vcHRpb25zLnJhbmdlLGE9dGhpcy5vcHRpb25zLGM9dGhpcyxmPSF0aGlzLl9hbmltYXRlT2ZmP2EuYW5pbWF0ZTpmYWxzZSxlLGo9e30sZyxrLGwsaTtpZih0aGlzLm9wdGlvbnMudmFsdWVzJiZ0aGlzLm9wdGlvbnMudmFsdWVzLmxlbmd0aCl0aGlzLmhhbmRsZXMuZWFjaChmdW5jdGlvbihoKXtlPShjLnZhbHVlcyhoKS1jLl92YWx1ZU1pbigpKS8oYy5fdmFsdWVNYXgoKS1jLl92YWx1ZU1pbigpKSoxMDA7altjLm9yaWVudGF0aW9uPT09Imhvcml6b250YWwiPyJsZWZ0IjoiYm90dG9tIl09ZSsiJSI7ZCh0aGlzKS5zdG9wKDEsMSlbZj8iYW5pbWF0ZSI6ImNzcyJdKGosYS5hbmltYXRlKTtpZihjLm9wdGlvbnMucmFuZ2U9PT10cnVlKWlmKGMub3JpZW50YXRpb249PT0iaG9yaXpvbnRhbCIpe2lmKGg9PT0wKWMucmFuZ2Uuc3RvcCgxLDEpW2Y/ImFuaW1hdGUiOiJjc3MiXSh7bGVmdDplKyIlIn0sYS5hbmltYXRlKTsKaWYoaD09PTEpYy5yYW5nZVtmPyJhbmltYXRlIjoiY3NzIl0oe3dpZHRoOmUtZysiJSJ9LHtxdWV1ZTpmYWxzZSxkdXJhdGlvbjphLmFuaW1hdGV9KX1lbHNle2lmKGg9PT0wKWMucmFuZ2Uuc3RvcCgxLDEpW2Y/ImFuaW1hdGUiOiJjc3MiXSh7Ym90dG9tOmUrIiUifSxhLmFuaW1hdGUpO2lmKGg9PT0xKWMucmFuZ2VbZj8iYW5pbWF0ZSI6ImNzcyJdKHtoZWlnaHQ6ZS1nKyIlIn0se3F1ZXVlOmZhbHNlLGR1cmF0aW9uOmEuYW5pbWF0ZX0pfWc9ZX0pO2Vsc2V7az10aGlzLnZhbHVlKCk7bD10aGlzLl92YWx1ZU1pbigpO2k9dGhpcy5fdmFsdWVNYXgoKTtlPWkhPT1sPyhrLWwpLyhpLWwpKjEwMDowO2pbYy5vcmllbnRhdGlvbj09PSJob3Jpem9udGFsIj8ibGVmdCI6ImJvdHRvbSJdPWUrIiUiO3RoaXMuaGFuZGxlLnN0b3AoMSwxKVtmPyJhbmltYXRlIjoiY3NzIl0oaixhLmFuaW1hdGUpO2lmKGI9PT0ibWluIiYmdGhpcy5vcmllbnRhdGlvbj09PSJob3Jpem9udGFsIil0aGlzLnJhbmdlLnN0b3AoMSwKMSlbZj8iYW5pbWF0ZSI6ImNzcyJdKHt3aWR0aDplKyIlIn0sYS5hbmltYXRlKTtpZihiPT09Im1heCImJnRoaXMub3JpZW50YXRpb249PT0iaG9yaXpvbnRhbCIpdGhpcy5yYW5nZVtmPyJhbmltYXRlIjoiY3NzIl0oe3dpZHRoOjEwMC1lKyIlIn0se3F1ZXVlOmZhbHNlLGR1cmF0aW9uOmEuYW5pbWF0ZX0pO2lmKGI9PT0ibWluIiYmdGhpcy5vcmllbnRhdGlvbj09PSJ2ZXJ0aWNhbCIpdGhpcy5yYW5nZS5zdG9wKDEsMSlbZj8iYW5pbWF0ZSI6ImNzcyJdKHtoZWlnaHQ6ZSsiJSJ9LGEuYW5pbWF0ZSk7aWYoYj09PSJtYXgiJiZ0aGlzLm9yaWVudGF0aW9uPT09InZlcnRpY2FsIil0aGlzLnJhbmdlW2Y/ImFuaW1hdGUiOiJjc3MiXSh7aGVpZ2h0OjEwMC1lKyIlIn0se3F1ZXVlOmZhbHNlLGR1cmF0aW9uOmEuYW5pbWF0ZX0pfX19KTtkLmV4dGVuZChkLnVpLnNsaWRlcix7dmVyc2lvbjoiMS44LjE0In0pfSkoalF1ZXJ5KTsKOy8qCiAqIGpRdWVyeSBVSSBEYXRlcGlja2VyIDEuOC4xNAogKgogKiBDb3B5cmlnaHQgMjAxMSwgQVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20vYWJvdXQpCiAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBvciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2VzLgogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCiAqCiAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20vVUkvRGF0ZXBpY2tlcgogKgogKiBEZXBlbmRzOgogKglqcXVlcnkudWkuY29yZS5qcwogKi8KKGZ1bmN0aW9uKGQsQyl7ZnVuY3Rpb24gTSgpe3RoaXMuZGVidWc9ZmFsc2U7dGhpcy5fY3VySW5zdD1udWxsO3RoaXMuX2tleUV2ZW50PWZhbHNlO3RoaXMuX2Rpc2FibGVkSW5wdXRzPVtdO3RoaXMuX2luRGlhbG9nPXRoaXMuX2RhdGVwaWNrZXJTaG93aW5nPWZhbHNlO3RoaXMuX21haW5EaXZJZD0idWktZGF0ZXBpY2tlci1kaXYiO3RoaXMuX2lubGluZUNsYXNzPSJ1aS1kYXRlcGlja2VyLWlubGluZSI7dGhpcy5fYXBwZW5kQ2xhc3M9InVpLWRhdGVwaWNrZXItYXBwZW5kIjt0aGlzLl90cmlnZ2VyQ2xhc3M9InVpLWRhdGVwaWNrZXItdHJpZ2dlciI7dGhpcy5fZGlhbG9nQ2xhc3M9InVpLWRhdGVwaWNrZXItZGlhbG9nIjt0aGlzLl9kaXNhYmxlQ2xhc3M9InVpLWRhdGVwaWNrZXItZGlzYWJsZWQiO3RoaXMuX3Vuc2VsZWN0YWJsZUNsYXNzPSJ1aS1kYXRlcGlja2VyLXVuc2VsZWN0YWJsZSI7dGhpcy5fY3VycmVudENsYXNzPSJ1aS1kYXRlcGlja2VyLWN1cnJlbnQtZGF5Ijt0aGlzLl9kYXlPdmVyQ2xhc3M9CiJ1aS1kYXRlcGlja2VyLWRheXMtY2VsbC1vdmVyIjt0aGlzLnJlZ2lvbmFsPVtdO3RoaXMucmVnaW9uYWxbIiJdPXtjbG9zZVRleHQ6IkRvbmUiLHByZXZUZXh0OiJQcmV2IixuZXh0VGV4dDoiTmV4dCIsY3VycmVudFRleHQ6IlRvZGF5Iixtb250aE5hbWVzOlsiSmFudWFyeSIsIkZlYnJ1YXJ5IiwiTWFyY2giLCJBcHJpbCIsIk1heSIsIkp1bmUiLCJKdWx5IiwiQXVndXN0IiwiU2VwdGVtYmVyIiwiT2N0b2JlciIsIk5vdmVtYmVyIiwiRGVjZW1iZXIiXSxtb250aE5hbWVzU2hvcnQ6WyJKYW4iLCJGZWIiLCJNYXIiLCJBcHIiLCJNYXkiLCJKdW4iLCJKdWwiLCJBdWciLCJTZXAiLCJPY3QiLCJOb3YiLCJEZWMiXSxkYXlOYW1lczpbIlN1bmRheSIsIk1vbmRheSIsIlR1ZXNkYXkiLCJXZWRuZXNkYXkiLCJUaHVyc2RheSIsIkZyaWRheSIsIlNhdHVyZGF5Il0sZGF5TmFtZXNTaG9ydDpbIlN1biIsIk1vbiIsIlR1ZSIsIldlZCIsIlRodSIsIkZyaSIsIlNhdCJdLGRheU5hbWVzTWluOlsiU3UiLAoiTW8iLCJUdSIsIldlIiwiVGgiLCJGciIsIlNhIl0sd2Vla0hlYWRlcjoiV2siLGRhdGVGb3JtYXQ6Im1tL2RkL3l5IixmaXJzdERheTowLGlzUlRMOmZhbHNlLHNob3dNb250aEFmdGVyWWVhcjpmYWxzZSx5ZWFyU3VmZml4OiIifTt0aGlzLl9kZWZhdWx0cz17c2hvd09uOiJmb2N1cyIsc2hvd0FuaW06ImZhZGVJbiIsc2hvd09wdGlvbnM6e30sZGVmYXVsdERhdGU6bnVsbCxhcHBlbmRUZXh0OiIiLGJ1dHRvblRleHQ6Ii4uLiIsYnV0dG9uSW1hZ2U6IiIsYnV0dG9uSW1hZ2VPbmx5OmZhbHNlLGhpZGVJZk5vUHJldk5leHQ6ZmFsc2UsbmF2aWdhdGlvbkFzRGF0ZUZvcm1hdDpmYWxzZSxnb3RvQ3VycmVudDpmYWxzZSxjaGFuZ2VNb250aDpmYWxzZSxjaGFuZ2VZZWFyOmZhbHNlLHllYXJSYW5nZToiYy0xMDpjKzEwIixzaG93T3RoZXJNb250aHM6ZmFsc2Usc2VsZWN0T3RoZXJNb250aHM6ZmFsc2Usc2hvd1dlZWs6ZmFsc2UsY2FsY3VsYXRlV2Vlazp0aGlzLmlzbzg2MDFXZWVrLHNob3J0WWVhckN1dG9mZjoiKzEwIiwKbWluRGF0ZTpudWxsLG1heERhdGU6bnVsbCxkdXJhdGlvbjoiZmFzdCIsYmVmb3JlU2hvd0RheTpudWxsLGJlZm9yZVNob3c6bnVsbCxvblNlbGVjdDpudWxsLG9uQ2hhbmdlTW9udGhZZWFyOm51bGwsb25DbG9zZTpudWxsLG51bWJlck9mTW9udGhzOjEsc2hvd0N1cnJlbnRBdFBvczowLHN0ZXBNb250aHM6MSxzdGVwQmlnTW9udGhzOjEyLGFsdEZpZWxkOiIiLGFsdEZvcm1hdDoiIixjb25zdHJhaW5JbnB1dDp0cnVlLHNob3dCdXR0b25QYW5lbDpmYWxzZSxhdXRvU2l6ZTpmYWxzZX07ZC5leHRlbmQodGhpcy5fZGVmYXVsdHMsdGhpcy5yZWdpb25hbFsiIl0pO3RoaXMuZHBEaXY9TihkKCc8ZGl2IGlkPSInK3RoaXMuX21haW5EaXZJZCsnIiBjbGFzcz0idWktZGF0ZXBpY2tlciB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci1hbGwiPjwvZGl2PicpKX1mdW5jdGlvbiBOKGEpe3JldHVybiBhLmJpbmQoIm1vdXNlb3V0IixmdW5jdGlvbihiKXtiPQpkKGIudGFyZ2V0KS5jbG9zZXN0KCJidXR0b24sIC51aS1kYXRlcGlja2VyLXByZXYsIC51aS1kYXRlcGlja2VyLW5leHQsIC51aS1kYXRlcGlja2VyLWNhbGVuZGFyIHRkIGEiKTtiLmxlbmd0aCYmYi5yZW1vdmVDbGFzcygidWktc3RhdGUtaG92ZXIgdWktZGF0ZXBpY2tlci1wcmV2LWhvdmVyIHVpLWRhdGVwaWNrZXItbmV4dC1ob3ZlciIpfSkuYmluZCgibW91c2VvdmVyIixmdW5jdGlvbihiKXtiPWQoYi50YXJnZXQpLmNsb3Nlc3QoImJ1dHRvbiwgLnVpLWRhdGVwaWNrZXItcHJldiwgLnVpLWRhdGVwaWNrZXItbmV4dCwgLnVpLWRhdGVwaWNrZXItY2FsZW5kYXIgdGQgYSIpO2lmKCEoZC5kYXRlcGlja2VyLl9pc0Rpc2FibGVkRGF0ZXBpY2tlcihKLmlubGluZT9hLnBhcmVudCgpWzBdOkouaW5wdXRbMF0pfHwhYi5sZW5ndGgpKXtiLnBhcmVudHMoIi51aS1kYXRlcGlja2VyLWNhbGVuZGFyIikuZmluZCgiYSIpLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1ob3ZlciIpO2IuYWRkQ2xhc3MoInVpLXN0YXRlLWhvdmVyIik7CmIuaGFzQ2xhc3MoInVpLWRhdGVwaWNrZXItcHJldiIpJiZiLmFkZENsYXNzKCJ1aS1kYXRlcGlja2VyLXByZXYtaG92ZXIiKTtiLmhhc0NsYXNzKCJ1aS1kYXRlcGlja2VyLW5leHQiKSYmYi5hZGRDbGFzcygidWktZGF0ZXBpY2tlci1uZXh0LWhvdmVyIil9fSl9ZnVuY3Rpb24gSChhLGIpe2QuZXh0ZW5kKGEsYik7Zm9yKHZhciBjIGluIGIpaWYoYltjXT09bnVsbHx8YltjXT09QylhW2NdPWJbY107cmV0dXJuIGF9ZC5leHRlbmQoZC51aSx7ZGF0ZXBpY2tlcjp7dmVyc2lvbjoiMS44LjE0In19KTt2YXIgQT0obmV3IERhdGUpLmdldFRpbWUoKSxKO2QuZXh0ZW5kKE0ucHJvdG90eXBlLHttYXJrZXJDbGFzc05hbWU6Imhhc0RhdGVwaWNrZXIiLG1heFJvd3M6NCxsb2c6ZnVuY3Rpb24oKXt0aGlzLmRlYnVnJiZjb25zb2xlLmxvZy5hcHBseSgiIixhcmd1bWVudHMpfSxfd2lkZ2V0RGF0ZXBpY2tlcjpmdW5jdGlvbigpe3JldHVybiB0aGlzLmRwRGl2fSxzZXREZWZhdWx0czpmdW5jdGlvbihhKXtIKHRoaXMuX2RlZmF1bHRzLAphfHx7fSk7cmV0dXJuIHRoaXN9LF9hdHRhY2hEYXRlcGlja2VyOmZ1bmN0aW9uKGEsYil7dmFyIGM9bnVsbDtmb3IodmFyIGUgaW4gdGhpcy5fZGVmYXVsdHMpe3ZhciBmPWEuZ2V0QXR0cmlidXRlKCJkYXRlOiIrZSk7aWYoZil7Yz1jfHx7fTt0cnl7Y1tlXT1ldmFsKGYpfWNhdGNoKGgpe2NbZV09Zn19fWU9YS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO2Y9ZT09ImRpdiJ8fGU9PSJzcGFuIjtpZighYS5pZCl7dGhpcy51dWlkKz0xO2EuaWQ9ImRwIit0aGlzLnV1aWR9dmFyIGk9dGhpcy5fbmV3SW5zdChkKGEpLGYpO2kuc2V0dGluZ3M9ZC5leHRlbmQoe30sYnx8e30sY3x8e30pO2lmKGU9PSJpbnB1dCIpdGhpcy5fY29ubmVjdERhdGVwaWNrZXIoYSxpKTtlbHNlIGYmJnRoaXMuX2lubGluZURhdGVwaWNrZXIoYSxpKX0sX25ld0luc3Q6ZnVuY3Rpb24oYSxiKXtyZXR1cm57aWQ6YVswXS5pZC5yZXBsYWNlKC8oW15BLVphLXowLTlfLV0pL2csIlxcXFwkMSIpLGlucHV0OmEsc2VsZWN0ZWREYXk6MCwKc2VsZWN0ZWRNb250aDowLHNlbGVjdGVkWWVhcjowLGRyYXdNb250aDowLGRyYXdZZWFyOjAsaW5saW5lOmIsZHBEaXY6IWI/dGhpcy5kcERpdjpOKGQoJzxkaXYgY2xhc3M9IicrdGhpcy5faW5saW5lQ2xhc3MrJyB1aS1kYXRlcGlja2VyIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLWFsbCI+PC9kaXY+JykpfX0sX2Nvbm5lY3REYXRlcGlja2VyOmZ1bmN0aW9uKGEsYil7dmFyIGM9ZChhKTtiLmFwcGVuZD1kKFtdKTtiLnRyaWdnZXI9ZChbXSk7aWYoIWMuaGFzQ2xhc3ModGhpcy5tYXJrZXJDbGFzc05hbWUpKXt0aGlzLl9hdHRhY2htZW50cyhjLGIpO2MuYWRkQ2xhc3ModGhpcy5tYXJrZXJDbGFzc05hbWUpLmtleWRvd24odGhpcy5fZG9LZXlEb3duKS5rZXlwcmVzcyh0aGlzLl9kb0tleVByZXNzKS5rZXl1cCh0aGlzLl9kb0tleVVwKS5iaW5kKCJzZXREYXRhLmRhdGVwaWNrZXIiLGZ1bmN0aW9uKGUsZixoKXtiLnNldHRpbmdzW2ZdPQpofSkuYmluZCgiZ2V0RGF0YS5kYXRlcGlja2VyIixmdW5jdGlvbihlLGYpe3JldHVybiB0aGlzLl9nZXQoYixmKX0pO3RoaXMuX2F1dG9TaXplKGIpO2QuZGF0YShhLCJkYXRlcGlja2VyIixiKX19LF9hdHRhY2htZW50czpmdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuX2dldChiLCJhcHBlbmRUZXh0IiksZT10aGlzLl9nZXQoYiwiaXNSVEwiKTtiLmFwcGVuZCYmYi5hcHBlbmQucmVtb3ZlKCk7aWYoYyl7Yi5hcHBlbmQ9ZCgnPHNwYW4gY2xhc3M9IicrdGhpcy5fYXBwZW5kQ2xhc3MrJyI+JytjKyI8L3NwYW4+Iik7YVtlPyJiZWZvcmUiOiJhZnRlciJdKGIuYXBwZW5kKX1hLnVuYmluZCgiZm9jdXMiLHRoaXMuX3Nob3dEYXRlcGlja2VyKTtiLnRyaWdnZXImJmIudHJpZ2dlci5yZW1vdmUoKTtjPXRoaXMuX2dldChiLCJzaG93T24iKTtpZihjPT0iZm9jdXMifHxjPT0iYm90aCIpYS5mb2N1cyh0aGlzLl9zaG93RGF0ZXBpY2tlcik7aWYoYz09ImJ1dHRvbiJ8fGM9PSJib3RoIil7Yz0KdGhpcy5fZ2V0KGIsImJ1dHRvblRleHQiKTt2YXIgZj10aGlzLl9nZXQoYiwiYnV0dG9uSW1hZ2UiKTtiLnRyaWdnZXI9ZCh0aGlzLl9nZXQoYiwiYnV0dG9uSW1hZ2VPbmx5Iik/ZCgiPGltZy8+IikuYWRkQ2xhc3ModGhpcy5fdHJpZ2dlckNsYXNzKS5hdHRyKHtzcmM6ZixhbHQ6Yyx0aXRsZTpjfSk6ZCgnPGJ1dHRvbiB0eXBlPSJidXR0b24iPjwvYnV0dG9uPicpLmFkZENsYXNzKHRoaXMuX3RyaWdnZXJDbGFzcykuaHRtbChmPT0iIj9jOmQoIjxpbWcvPiIpLmF0dHIoe3NyYzpmLGFsdDpjLHRpdGxlOmN9KSkpO2FbZT8iYmVmb3JlIjoiYWZ0ZXIiXShiLnRyaWdnZXIpO2IudHJpZ2dlci5jbGljayhmdW5jdGlvbigpe2QuZGF0ZXBpY2tlci5fZGF0ZXBpY2tlclNob3dpbmcmJmQuZGF0ZXBpY2tlci5fbGFzdElucHV0PT1hWzBdP2QuZGF0ZXBpY2tlci5faGlkZURhdGVwaWNrZXIoKTpkLmRhdGVwaWNrZXIuX3Nob3dEYXRlcGlja2VyKGFbMF0pO3JldHVybiBmYWxzZX0pfX0sX2F1dG9TaXplOmZ1bmN0aW9uKGEpe2lmKHRoaXMuX2dldChhLAoiYXV0b1NpemUiKSYmIWEuaW5saW5lKXt2YXIgYj1uZXcgRGF0ZSgyMDA5LDExLDIwKSxjPXRoaXMuX2dldChhLCJkYXRlRm9ybWF0Iik7aWYoYy5tYXRjaCgvW0RNXS8pKXt2YXIgZT1mdW5jdGlvbihmKXtmb3IodmFyIGg9MCxpPTAsZz0wO2c8Zi5sZW5ndGg7ZysrKWlmKGZbZ10ubGVuZ3RoPmgpe2g9ZltnXS5sZW5ndGg7aT1nfXJldHVybiBpfTtiLnNldE1vbnRoKGUodGhpcy5fZ2V0KGEsYy5tYXRjaCgvTU0vKT8ibW9udGhOYW1lcyI6Im1vbnRoTmFtZXNTaG9ydCIpKSk7Yi5zZXREYXRlKGUodGhpcy5fZ2V0KGEsYy5tYXRjaCgvREQvKT8iZGF5TmFtZXMiOiJkYXlOYW1lc1Nob3J0IikpKzIwLWIuZ2V0RGF5KCkpfWEuaW5wdXQuYXR0cigic2l6ZSIsdGhpcy5fZm9ybWF0RGF0ZShhLGIpLmxlbmd0aCl9fSxfaW5saW5lRGF0ZXBpY2tlcjpmdW5jdGlvbihhLGIpe3ZhciBjPWQoYSk7aWYoIWMuaGFzQ2xhc3ModGhpcy5tYXJrZXJDbGFzc05hbWUpKXtjLmFkZENsYXNzKHRoaXMubWFya2VyQ2xhc3NOYW1lKS5hcHBlbmQoYi5kcERpdikuYmluZCgic2V0RGF0YS5kYXRlcGlja2VyIiwKZnVuY3Rpb24oZSxmLGgpe2Iuc2V0dGluZ3NbZl09aH0pLmJpbmQoImdldERhdGEuZGF0ZXBpY2tlciIsZnVuY3Rpb24oZSxmKXtyZXR1cm4gdGhpcy5fZ2V0KGIsZil9KTtkLmRhdGEoYSwiZGF0ZXBpY2tlciIsYik7dGhpcy5fc2V0RGF0ZShiLHRoaXMuX2dldERlZmF1bHREYXRlKGIpLHRydWUpO3RoaXMuX3VwZGF0ZURhdGVwaWNrZXIoYik7dGhpcy5fdXBkYXRlQWx0ZXJuYXRlKGIpO2IuZHBEaXYuc2hvdygpfX0sX2RpYWxvZ0RhdGVwaWNrZXI6ZnVuY3Rpb24oYSxiLGMsZSxmKXthPXRoaXMuX2RpYWxvZ0luc3Q7aWYoIWEpe3RoaXMudXVpZCs9MTt0aGlzLl9kaWFsb2dJbnB1dD1kKCc8aW5wdXQgdHlwZT0idGV4dCIgaWQ9IicrKCJkcCIrdGhpcy51dWlkKSsnIiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyB0b3A6IC0xMDBweDsgd2lkdGg6IDBweDsgei1pbmRleDogLTEwOyIvPicpO3RoaXMuX2RpYWxvZ0lucHV0LmtleWRvd24odGhpcy5fZG9LZXlEb3duKTtkKCJib2R5IikuYXBwZW5kKHRoaXMuX2RpYWxvZ0lucHV0KTsKYT10aGlzLl9kaWFsb2dJbnN0PXRoaXMuX25ld0luc3QodGhpcy5fZGlhbG9nSW5wdXQsZmFsc2UpO2Euc2V0dGluZ3M9e307ZC5kYXRhKHRoaXMuX2RpYWxvZ0lucHV0WzBdLCJkYXRlcGlja2VyIixhKX1IKGEuc2V0dGluZ3MsZXx8e30pO2I9YiYmYi5jb25zdHJ1Y3Rvcj09RGF0ZT90aGlzLl9mb3JtYXREYXRlKGEsYik6Yjt0aGlzLl9kaWFsb2dJbnB1dC52YWwoYik7dGhpcy5fcG9zPWY/Zi5sZW5ndGg/ZjpbZi5wYWdlWCxmLnBhZ2VZXTpudWxsO2lmKCF0aGlzLl9wb3MpdGhpcy5fcG9zPVtkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgvMi0xMDArKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0fHxkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQpLGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQvMi0xNTArKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3B8fGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wKV07dGhpcy5fZGlhbG9nSW5wdXQuY3NzKCJsZWZ0IiwKdGhpcy5fcG9zWzBdKzIwKyJweCIpLmNzcygidG9wIix0aGlzLl9wb3NbMV0rInB4Iik7YS5zZXR0aW5ncy5vblNlbGVjdD1jO3RoaXMuX2luRGlhbG9nPXRydWU7dGhpcy5kcERpdi5hZGRDbGFzcyh0aGlzLl9kaWFsb2dDbGFzcyk7dGhpcy5fc2hvd0RhdGVwaWNrZXIodGhpcy5fZGlhbG9nSW5wdXRbMF0pO2QuYmxvY2tVSSYmZC5ibG9ja1VJKHRoaXMuZHBEaXYpO2QuZGF0YSh0aGlzLl9kaWFsb2dJbnB1dFswXSwiZGF0ZXBpY2tlciIsYSk7cmV0dXJuIHRoaXN9LF9kZXN0cm95RGF0ZXBpY2tlcjpmdW5jdGlvbihhKXt2YXIgYj1kKGEpLGM9ZC5kYXRhKGEsImRhdGVwaWNrZXIiKTtpZihiLmhhc0NsYXNzKHRoaXMubWFya2VyQ2xhc3NOYW1lKSl7dmFyIGU9YS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO2QucmVtb3ZlRGF0YShhLCJkYXRlcGlja2VyIik7aWYoZT09ImlucHV0Iil7Yy5hcHBlbmQucmVtb3ZlKCk7Yy50cmlnZ2VyLnJlbW92ZSgpO2IucmVtb3ZlQ2xhc3ModGhpcy5tYXJrZXJDbGFzc05hbWUpLnVuYmluZCgiZm9jdXMiLAp0aGlzLl9zaG93RGF0ZXBpY2tlcikudW5iaW5kKCJrZXlkb3duIix0aGlzLl9kb0tleURvd24pLnVuYmluZCgia2V5cHJlc3MiLHRoaXMuX2RvS2V5UHJlc3MpLnVuYmluZCgia2V5dXAiLHRoaXMuX2RvS2V5VXApfWVsc2UgaWYoZT09ImRpdiJ8fGU9PSJzcGFuIiliLnJlbW92ZUNsYXNzKHRoaXMubWFya2VyQ2xhc3NOYW1lKS5lbXB0eSgpfX0sX2VuYWJsZURhdGVwaWNrZXI6ZnVuY3Rpb24oYSl7dmFyIGI9ZChhKSxjPWQuZGF0YShhLCJkYXRlcGlja2VyIik7aWYoYi5oYXNDbGFzcyh0aGlzLm1hcmtlckNsYXNzTmFtZSkpe3ZhciBlPWEubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtpZihlPT0iaW5wdXQiKXthLmRpc2FibGVkPWZhbHNlO2MudHJpZ2dlci5maWx0ZXIoImJ1dHRvbiIpLmVhY2goZnVuY3Rpb24oKXt0aGlzLmRpc2FibGVkPWZhbHNlfSkuZW5kKCkuZmlsdGVyKCJpbWciKS5jc3Moe29wYWNpdHk6IjEuMCIsY3Vyc29yOiIifSl9ZWxzZSBpZihlPT0iZGl2Inx8ZT09InNwYW4iKXtiPQpiLmNoaWxkcmVuKCIuIit0aGlzLl9pbmxpbmVDbGFzcyk7Yi5jaGlsZHJlbigpLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1kaXNhYmxlZCIpO2IuZmluZCgic2VsZWN0LnVpLWRhdGVwaWNrZXItbW9udGgsIHNlbGVjdC51aS1kYXRlcGlja2VyLXllYXIiKS5yZW1vdmVBdHRyKCJkaXNhYmxlZCIpfXRoaXMuX2Rpc2FibGVkSW5wdXRzPWQubWFwKHRoaXMuX2Rpc2FibGVkSW5wdXRzLGZ1bmN0aW9uKGYpe3JldHVybiBmPT1hP251bGw6Zn0pfX0sX2Rpc2FibGVEYXRlcGlja2VyOmZ1bmN0aW9uKGEpe3ZhciBiPWQoYSksYz1kLmRhdGEoYSwiZGF0ZXBpY2tlciIpO2lmKGIuaGFzQ2xhc3ModGhpcy5tYXJrZXJDbGFzc05hbWUpKXt2YXIgZT1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7aWYoZT09ImlucHV0Iil7YS5kaXNhYmxlZD10cnVlO2MudHJpZ2dlci5maWx0ZXIoImJ1dHRvbiIpLmVhY2goZnVuY3Rpb24oKXt0aGlzLmRpc2FibGVkPXRydWV9KS5lbmQoKS5maWx0ZXIoImltZyIpLmNzcyh7b3BhY2l0eToiMC41IiwKY3Vyc29yOiJkZWZhdWx0In0pfWVsc2UgaWYoZT09ImRpdiJ8fGU9PSJzcGFuIil7Yj1iLmNoaWxkcmVuKCIuIit0aGlzLl9pbmxpbmVDbGFzcyk7Yi5jaGlsZHJlbigpLmFkZENsYXNzKCJ1aS1zdGF0ZS1kaXNhYmxlZCIpO2IuZmluZCgic2VsZWN0LnVpLWRhdGVwaWNrZXItbW9udGgsIHNlbGVjdC51aS1kYXRlcGlja2VyLXllYXIiKS5hdHRyKCJkaXNhYmxlZCIsImRpc2FibGVkIil9dGhpcy5fZGlzYWJsZWRJbnB1dHM9ZC5tYXAodGhpcy5fZGlzYWJsZWRJbnB1dHMsZnVuY3Rpb24oZil7cmV0dXJuIGY9PWE/bnVsbDpmfSk7dGhpcy5fZGlzYWJsZWRJbnB1dHNbdGhpcy5fZGlzYWJsZWRJbnB1dHMubGVuZ3RoXT1hfX0sX2lzRGlzYWJsZWREYXRlcGlja2VyOmZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiBmYWxzZTtmb3IodmFyIGI9MDtiPHRoaXMuX2Rpc2FibGVkSW5wdXRzLmxlbmd0aDtiKyspaWYodGhpcy5fZGlzYWJsZWRJbnB1dHNbYl09PWEpcmV0dXJuIHRydWU7cmV0dXJuIGZhbHNlfSwKX2dldEluc3Q6ZnVuY3Rpb24oYSl7dHJ5e3JldHVybiBkLmRhdGEoYSwiZGF0ZXBpY2tlciIpfWNhdGNoKGIpe3Rocm93Ik1pc3NpbmcgaW5zdGFuY2UgZGF0YSBmb3IgdGhpcyBkYXRlcGlja2VyIjt9fSxfb3B0aW9uRGF0ZXBpY2tlcjpmdW5jdGlvbihhLGIsYyl7dmFyIGU9dGhpcy5fZ2V0SW5zdChhKTtpZihhcmd1bWVudHMubGVuZ3RoPT0yJiZ0eXBlb2YgYj09InN0cmluZyIpcmV0dXJuIGI9PSJkZWZhdWx0cyI/ZC5leHRlbmQoe30sZC5kYXRlcGlja2VyLl9kZWZhdWx0cyk6ZT9iPT0iYWxsIj9kLmV4dGVuZCh7fSxlLnNldHRpbmdzKTp0aGlzLl9nZXQoZSxiKTpudWxsO3ZhciBmPWJ8fHt9O2lmKHR5cGVvZiBiPT0ic3RyaW5nIil7Zj17fTtmW2JdPWN9aWYoZSl7dGhpcy5fY3VySW5zdD09ZSYmdGhpcy5faGlkZURhdGVwaWNrZXIoKTt2YXIgaD10aGlzLl9nZXREYXRlRGF0ZXBpY2tlcihhLHRydWUpLGk9dGhpcy5fZ2V0TWluTWF4RGF0ZShlLCJtaW4iKSxnPXRoaXMuX2dldE1pbk1heERhdGUoZSwKIm1heCIpO0goZS5zZXR0aW5ncyxmKTtpZihpIT09bnVsbCYmZi5kYXRlRm9ybWF0IT09QyYmZi5taW5EYXRlPT09QyllLnNldHRpbmdzLm1pbkRhdGU9dGhpcy5fZm9ybWF0RGF0ZShlLGkpO2lmKGchPT1udWxsJiZmLmRhdGVGb3JtYXQhPT1DJiZmLm1heERhdGU9PT1DKWUuc2V0dGluZ3MubWF4RGF0ZT10aGlzLl9mb3JtYXREYXRlKGUsZyk7dGhpcy5fYXR0YWNobWVudHMoZChhKSxlKTt0aGlzLl9hdXRvU2l6ZShlKTt0aGlzLl9zZXREYXRlKGUsaCk7dGhpcy5fdXBkYXRlQWx0ZXJuYXRlKGUpO3RoaXMuX3VwZGF0ZURhdGVwaWNrZXIoZSl9fSxfY2hhbmdlRGF0ZXBpY2tlcjpmdW5jdGlvbihhLGIsYyl7dGhpcy5fb3B0aW9uRGF0ZXBpY2tlcihhLGIsYyl9LF9yZWZyZXNoRGF0ZXBpY2tlcjpmdW5jdGlvbihhKXsoYT10aGlzLl9nZXRJbnN0KGEpKSYmdGhpcy5fdXBkYXRlRGF0ZXBpY2tlcihhKX0sX3NldERhdGVEYXRlcGlja2VyOmZ1bmN0aW9uKGEsYil7aWYoYT10aGlzLl9nZXRJbnN0KGEpKXt0aGlzLl9zZXREYXRlKGEsCmIpO3RoaXMuX3VwZGF0ZURhdGVwaWNrZXIoYSk7dGhpcy5fdXBkYXRlQWx0ZXJuYXRlKGEpfX0sX2dldERhdGVEYXRlcGlja2VyOmZ1bmN0aW9uKGEsYil7KGE9dGhpcy5fZ2V0SW5zdChhKSkmJiFhLmlubGluZSYmdGhpcy5fc2V0RGF0ZUZyb21GaWVsZChhLGIpO3JldHVybiBhP3RoaXMuX2dldERhdGUoYSk6bnVsbH0sX2RvS2V5RG93bjpmdW5jdGlvbihhKXt2YXIgYj1kLmRhdGVwaWNrZXIuX2dldEluc3QoYS50YXJnZXQpLGM9dHJ1ZSxlPWIuZHBEaXYuaXMoIi51aS1kYXRlcGlja2VyLXJ0bCIpO2IuX2tleUV2ZW50PXRydWU7aWYoZC5kYXRlcGlja2VyLl9kYXRlcGlja2VyU2hvd2luZylzd2l0Y2goYS5rZXlDb2RlKXtjYXNlIDk6ZC5kYXRlcGlja2VyLl9oaWRlRGF0ZXBpY2tlcigpO2M9ZmFsc2U7YnJlYWs7Y2FzZSAxMzpjPWQoInRkLiIrZC5kYXRlcGlja2VyLl9kYXlPdmVyQ2xhc3MrIjpub3QoLiIrZC5kYXRlcGlja2VyLl9jdXJyZW50Q2xhc3MrIikiLGIuZHBEaXYpOwpjWzBdP2QuZGF0ZXBpY2tlci5fc2VsZWN0RGF5KGEudGFyZ2V0LGIuc2VsZWN0ZWRNb250aCxiLnNlbGVjdGVkWWVhcixjWzBdKTpkLmRhdGVwaWNrZXIuX2hpZGVEYXRlcGlja2VyKCk7cmV0dXJuIGZhbHNlO2Nhc2UgMjc6ZC5kYXRlcGlja2VyLl9oaWRlRGF0ZXBpY2tlcigpO2JyZWFrO2Nhc2UgMzM6ZC5kYXRlcGlja2VyLl9hZGp1c3REYXRlKGEudGFyZ2V0LGEuY3RybEtleT8tZC5kYXRlcGlja2VyLl9nZXQoYiwic3RlcEJpZ01vbnRocyIpOi1kLmRhdGVwaWNrZXIuX2dldChiLCJzdGVwTW9udGhzIiksIk0iKTticmVhaztjYXNlIDM0OmQuZGF0ZXBpY2tlci5fYWRqdXN0RGF0ZShhLnRhcmdldCxhLmN0cmxLZXk/K2QuZGF0ZXBpY2tlci5fZ2V0KGIsInN0ZXBCaWdNb250aHMiKTorZC5kYXRlcGlja2VyLl9nZXQoYiwic3RlcE1vbnRocyIpLCJNIik7YnJlYWs7Y2FzZSAzNTppZihhLmN0cmxLZXl8fGEubWV0YUtleSlkLmRhdGVwaWNrZXIuX2NsZWFyRGF0ZShhLnRhcmdldCk7CmM9YS5jdHJsS2V5fHxhLm1ldGFLZXk7YnJlYWs7Y2FzZSAzNjppZihhLmN0cmxLZXl8fGEubWV0YUtleSlkLmRhdGVwaWNrZXIuX2dvdG9Ub2RheShhLnRhcmdldCk7Yz1hLmN0cmxLZXl8fGEubWV0YUtleTticmVhaztjYXNlIDM3OmlmKGEuY3RybEtleXx8YS5tZXRhS2V5KWQuZGF0ZXBpY2tlci5fYWRqdXN0RGF0ZShhLnRhcmdldCxlPysxOi0xLCJEIik7Yz1hLmN0cmxLZXl8fGEubWV0YUtleTtpZihhLm9yaWdpbmFsRXZlbnQuYWx0S2V5KWQuZGF0ZXBpY2tlci5fYWRqdXN0RGF0ZShhLnRhcmdldCxhLmN0cmxLZXk/LWQuZGF0ZXBpY2tlci5fZ2V0KGIsInN0ZXBCaWdNb250aHMiKTotZC5kYXRlcGlja2VyLl9nZXQoYiwic3RlcE1vbnRocyIpLCJNIik7YnJlYWs7Y2FzZSAzODppZihhLmN0cmxLZXl8fGEubWV0YUtleSlkLmRhdGVwaWNrZXIuX2FkanVzdERhdGUoYS50YXJnZXQsLTcsIkQiKTtjPWEuY3RybEtleXx8YS5tZXRhS2V5O2JyZWFrO2Nhc2UgMzk6aWYoYS5jdHJsS2V5fHwKYS5tZXRhS2V5KWQuZGF0ZXBpY2tlci5fYWRqdXN0RGF0ZShhLnRhcmdldCxlPy0xOisxLCJEIik7Yz1hLmN0cmxLZXl8fGEubWV0YUtleTtpZihhLm9yaWdpbmFsRXZlbnQuYWx0S2V5KWQuZGF0ZXBpY2tlci5fYWRqdXN0RGF0ZShhLnRhcmdldCxhLmN0cmxLZXk/K2QuZGF0ZXBpY2tlci5fZ2V0KGIsInN0ZXBCaWdNb250aHMiKTorZC5kYXRlcGlja2VyLl9nZXQoYiwic3RlcE1vbnRocyIpLCJNIik7YnJlYWs7Y2FzZSA0MDppZihhLmN0cmxLZXl8fGEubWV0YUtleSlkLmRhdGVwaWNrZXIuX2FkanVzdERhdGUoYS50YXJnZXQsKzcsIkQiKTtjPWEuY3RybEtleXx8YS5tZXRhS2V5O2JyZWFrO2RlZmF1bHQ6Yz1mYWxzZX1lbHNlIGlmKGEua2V5Q29kZT09MzYmJmEuY3RybEtleSlkLmRhdGVwaWNrZXIuX3Nob3dEYXRlcGlja2VyKHRoaXMpO2Vsc2UgYz1mYWxzZTtpZihjKXthLnByZXZlbnREZWZhdWx0KCk7YS5zdG9wUHJvcGFnYXRpb24oKX19LF9kb0tleVByZXNzOmZ1bmN0aW9uKGEpe3ZhciBiPQpkLmRhdGVwaWNrZXIuX2dldEluc3QoYS50YXJnZXQpO2lmKGQuZGF0ZXBpY2tlci5fZ2V0KGIsImNvbnN0cmFpbklucHV0Iikpe2I9ZC5kYXRlcGlja2VyLl9wb3NzaWJsZUNoYXJzKGQuZGF0ZXBpY2tlci5fZ2V0KGIsImRhdGVGb3JtYXQiKSk7dmFyIGM9U3RyaW5nLmZyb21DaGFyQ29kZShhLmNoYXJDb2RlPT1DP2Eua2V5Q29kZTphLmNoYXJDb2RlKTtyZXR1cm4gYS5jdHJsS2V5fHxhLm1ldGFLZXl8fGM8IiAifHwhYnx8Yi5pbmRleE9mKGMpPi0xfX0sX2RvS2V5VXA6ZnVuY3Rpb24oYSl7YT1kLmRhdGVwaWNrZXIuX2dldEluc3QoYS50YXJnZXQpO2lmKGEuaW5wdXQudmFsKCkhPWEubGFzdFZhbCl0cnl7aWYoZC5kYXRlcGlja2VyLnBhcnNlRGF0ZShkLmRhdGVwaWNrZXIuX2dldChhLCJkYXRlRm9ybWF0IiksYS5pbnB1dD9hLmlucHV0LnZhbCgpOm51bGwsZC5kYXRlcGlja2VyLl9nZXRGb3JtYXRDb25maWcoYSkpKXtkLmRhdGVwaWNrZXIuX3NldERhdGVGcm9tRmllbGQoYSk7CmQuZGF0ZXBpY2tlci5fdXBkYXRlQWx0ZXJuYXRlKGEpO2QuZGF0ZXBpY2tlci5fdXBkYXRlRGF0ZXBpY2tlcihhKX19Y2F0Y2goYil7ZC5kYXRlcGlja2VyLmxvZyhiKX1yZXR1cm4gdHJ1ZX0sX3Nob3dEYXRlcGlja2VyOmZ1bmN0aW9uKGEpe2E9YS50YXJnZXR8fGE7aWYoYS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpIT0iaW5wdXQiKWE9ZCgiaW5wdXQiLGEucGFyZW50Tm9kZSlbMF07aWYoIShkLmRhdGVwaWNrZXIuX2lzRGlzYWJsZWREYXRlcGlja2VyKGEpfHxkLmRhdGVwaWNrZXIuX2xhc3RJbnB1dD09YSkpe3ZhciBiPWQuZGF0ZXBpY2tlci5fZ2V0SW5zdChhKTtpZihkLmRhdGVwaWNrZXIuX2N1ckluc3QmJmQuZGF0ZXBpY2tlci5fY3VySW5zdCE9Yil7ZC5kYXRlcGlja2VyLl9kYXRlcGlja2VyU2hvd2luZyYmZC5kYXRlcGlja2VyLl90cmlnZ2VyT25DbG9zZShkLmRhdGVwaWNrZXIuX2N1ckluc3QpO2QuZGF0ZXBpY2tlci5fY3VySW5zdC5kcERpdi5zdG9wKHRydWUsdHJ1ZSl9dmFyIGM9CmQuZGF0ZXBpY2tlci5fZ2V0KGIsImJlZm9yZVNob3ciKTtIKGIuc2V0dGluZ3MsYz9jLmFwcGx5KGEsW2EsYl0pOnt9KTtiLmxhc3RWYWw9bnVsbDtkLmRhdGVwaWNrZXIuX2xhc3RJbnB1dD1hO2QuZGF0ZXBpY2tlci5fc2V0RGF0ZUZyb21GaWVsZChiKTtpZihkLmRhdGVwaWNrZXIuX2luRGlhbG9nKWEudmFsdWU9IiI7aWYoIWQuZGF0ZXBpY2tlci5fcG9zKXtkLmRhdGVwaWNrZXIuX3Bvcz1kLmRhdGVwaWNrZXIuX2ZpbmRQb3MoYSk7ZC5kYXRlcGlja2VyLl9wb3NbMV0rPWEub2Zmc2V0SGVpZ2h0fXZhciBlPWZhbHNlO2QoYSkucGFyZW50cygpLmVhY2goZnVuY3Rpb24oKXtlfD1kKHRoaXMpLmNzcygicG9zaXRpb24iKT09ImZpeGVkIjtyZXR1cm4hZX0pO2lmKGUmJmQuYnJvd3Nlci5vcGVyYSl7ZC5kYXRlcGlja2VyLl9wb3NbMF0tPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0O2QuZGF0ZXBpY2tlci5fcG9zWzFdLT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wfWM9CntsZWZ0OmQuZGF0ZXBpY2tlci5fcG9zWzBdLHRvcDpkLmRhdGVwaWNrZXIuX3Bvc1sxXX07ZC5kYXRlcGlja2VyLl9wb3M9bnVsbDtiLmRwRGl2LmVtcHR5KCk7Yi5kcERpdi5jc3Moe3Bvc2l0aW9uOiJhYnNvbHV0ZSIsZGlzcGxheToiYmxvY2siLHRvcDoiLTEwMDBweCJ9KTtkLmRhdGVwaWNrZXIuX3VwZGF0ZURhdGVwaWNrZXIoYik7Yz1kLmRhdGVwaWNrZXIuX2NoZWNrT2Zmc2V0KGIsYyxlKTtiLmRwRGl2LmNzcyh7cG9zaXRpb246ZC5kYXRlcGlja2VyLl9pbkRpYWxvZyYmZC5ibG9ja1VJPyJzdGF0aWMiOmU/ImZpeGVkIjoiYWJzb2x1dGUiLGRpc3BsYXk6Im5vbmUiLGxlZnQ6Yy5sZWZ0KyJweCIsdG9wOmMudG9wKyJweCJ9KTtpZighYi5pbmxpbmUpe2M9ZC5kYXRlcGlja2VyLl9nZXQoYiwic2hvd0FuaW0iKTt2YXIgZj1kLmRhdGVwaWNrZXIuX2dldChiLCJkdXJhdGlvbiIpLGg9ZnVuY3Rpb24oKXt2YXIgaT1iLmRwRGl2LmZpbmQoImlmcmFtZS51aS1kYXRlcGlja2VyLWNvdmVyIik7CmlmKGkubGVuZ3RoKXt2YXIgZz1kLmRhdGVwaWNrZXIuX2dldEJvcmRlcnMoYi5kcERpdik7aS5jc3Moe2xlZnQ6LWdbMF0sdG9wOi1nWzFdLHdpZHRoOmIuZHBEaXYub3V0ZXJXaWR0aCgpLGhlaWdodDpiLmRwRGl2Lm91dGVySGVpZ2h0KCl9KX19O2IuZHBEaXYuekluZGV4KGQoYSkuekluZGV4KCkrMSk7ZC5kYXRlcGlja2VyLl9kYXRlcGlja2VyU2hvd2luZz10cnVlO2QuZWZmZWN0cyYmZC5lZmZlY3RzW2NdP2IuZHBEaXYuc2hvdyhjLGQuZGF0ZXBpY2tlci5fZ2V0KGIsInNob3dPcHRpb25zIiksZixoKTpiLmRwRGl2W2N8fCJzaG93Il0oYz9mOm51bGwsaCk7aWYoIWN8fCFmKWgoKTtiLmlucHV0LmlzKCI6dmlzaWJsZSIpJiYhYi5pbnB1dC5pcygiOmRpc2FibGVkIikmJmIuaW5wdXQuZm9jdXMoKTtkLmRhdGVwaWNrZXIuX2N1ckluc3Q9Yn19fSxfdXBkYXRlRGF0ZXBpY2tlcjpmdW5jdGlvbihhKXt0aGlzLm1heFJvd3M9NDt2YXIgYj1kLmRhdGVwaWNrZXIuX2dldEJvcmRlcnMoYS5kcERpdik7Cko9YTthLmRwRGl2LmVtcHR5KCkuYXBwZW5kKHRoaXMuX2dlbmVyYXRlSFRNTChhKSk7dmFyIGM9YS5kcERpdi5maW5kKCJpZnJhbWUudWktZGF0ZXBpY2tlci1jb3ZlciIpO2MubGVuZ3RoJiZjLmNzcyh7bGVmdDotYlswXSx0b3A6LWJbMV0sd2lkdGg6YS5kcERpdi5vdXRlcldpZHRoKCksaGVpZ2h0OmEuZHBEaXYub3V0ZXJIZWlnaHQoKX0pO2EuZHBEaXYuZmluZCgiLiIrdGhpcy5fZGF5T3ZlckNsYXNzKyIgYSIpLm1vdXNlb3ZlcigpO2I9dGhpcy5fZ2V0TnVtYmVyT2ZNb250aHMoYSk7Yz1iWzFdO2EuZHBEaXYucmVtb3ZlQ2xhc3MoInVpLWRhdGVwaWNrZXItbXVsdGktMiB1aS1kYXRlcGlja2VyLW11bHRpLTMgdWktZGF0ZXBpY2tlci1tdWx0aS00Iikud2lkdGgoIiIpO2M+MSYmYS5kcERpdi5hZGRDbGFzcygidWktZGF0ZXBpY2tlci1tdWx0aS0iK2MpLmNzcygid2lkdGgiLDE3KmMrImVtIik7YS5kcERpdlsoYlswXSE9MXx8YlsxXSE9MT8iYWRkIjoicmVtb3ZlIikrIkNsYXNzIl0oInVpLWRhdGVwaWNrZXItbXVsdGkiKTsKYS5kcERpdlsodGhpcy5fZ2V0KGEsImlzUlRMIik/ImFkZCI6InJlbW92ZSIpKyJDbGFzcyJdKCJ1aS1kYXRlcGlja2VyLXJ0bCIpO2E9PWQuZGF0ZXBpY2tlci5fY3VySW5zdCYmZC5kYXRlcGlja2VyLl9kYXRlcGlja2VyU2hvd2luZyYmYS5pbnB1dCYmYS5pbnB1dC5pcygiOnZpc2libGUiKSYmIWEuaW5wdXQuaXMoIjpkaXNhYmxlZCIpJiZhLmlucHV0WzBdIT1kb2N1bWVudC5hY3RpdmVFbGVtZW50JiZhLmlucHV0LmZvY3VzKCk7aWYoYS55ZWFyc2h0bWwpe3ZhciBlPWEueWVhcnNodG1sO3NldFRpbWVvdXQoZnVuY3Rpb24oKXtlPT09YS55ZWFyc2h0bWwmJmEueWVhcnNodG1sJiZhLmRwRGl2LmZpbmQoInNlbGVjdC51aS1kYXRlcGlja2VyLXllYXI6Zmlyc3QiKS5yZXBsYWNlV2l0aChhLnllYXJzaHRtbCk7ZT1hLnllYXJzaHRtbD1udWxsfSwwKX19LF9nZXRCb3JkZXJzOmZ1bmN0aW9uKGEpe3ZhciBiPWZ1bmN0aW9uKGMpe3JldHVybnt0aGluOjEsbWVkaXVtOjIsdGhpY2s6M31bY118fApjfTtyZXR1cm5bcGFyc2VGbG9hdChiKGEuY3NzKCJib3JkZXItbGVmdC13aWR0aCIpKSkscGFyc2VGbG9hdChiKGEuY3NzKCJib3JkZXItdG9wLXdpZHRoIikpKV19LF9jaGVja09mZnNldDpmdW5jdGlvbihhLGIsYyl7dmFyIGU9YS5kcERpdi5vdXRlcldpZHRoKCksZj1hLmRwRGl2Lm91dGVySGVpZ2h0KCksaD1hLmlucHV0P2EuaW5wdXQub3V0ZXJXaWR0aCgpOjAsaT1hLmlucHV0P2EuaW5wdXQub3V0ZXJIZWlnaHQoKTowLGc9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoK2QoZG9jdW1lbnQpLnNjcm9sbExlZnQoKSxqPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQrZChkb2N1bWVudCkuc2Nyb2xsVG9wKCk7Yi5sZWZ0LT10aGlzLl9nZXQoYSwiaXNSVEwiKT9lLWg6MDtiLmxlZnQtPWMmJmIubGVmdD09YS5pbnB1dC5vZmZzZXQoKS5sZWZ0P2QoZG9jdW1lbnQpLnNjcm9sbExlZnQoKTowO2IudG9wLT1jJiZiLnRvcD09YS5pbnB1dC5vZmZzZXQoKS50b3ArCmk/ZChkb2N1bWVudCkuc2Nyb2xsVG9wKCk6MDtiLmxlZnQtPU1hdGgubWluKGIubGVmdCxiLmxlZnQrZT5nJiZnPmU/TWF0aC5hYnMoYi5sZWZ0K2UtZyk6MCk7Yi50b3AtPU1hdGgubWluKGIudG9wLGIudG9wK2Y+aiYmaj5mP01hdGguYWJzKGYraSk6MCk7cmV0dXJuIGJ9LF9maW5kUG9zOmZ1bmN0aW9uKGEpe2Zvcih2YXIgYj10aGlzLl9nZXQodGhpcy5fZ2V0SW5zdChhKSwiaXNSVEwiKTthJiYoYS50eXBlPT0iaGlkZGVuInx8YS5ub2RlVHlwZSE9MXx8ZC5leHByLmZpbHRlcnMuaGlkZGVuKGEpKTspYT1hW2I/InByZXZpb3VzU2libGluZyI6Im5leHRTaWJsaW5nIl07YT1kKGEpLm9mZnNldCgpO3JldHVyblthLmxlZnQsYS50b3BdfSxfdHJpZ2dlck9uQ2xvc2U6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5fZ2V0KGEsIm9uQ2xvc2UiKTtpZihiKWIuYXBwbHkoYS5pbnB1dD9hLmlucHV0WzBdOm51bGwsW2EuaW5wdXQ/YS5pbnB1dC52YWwoKToiIixhXSl9LF9oaWRlRGF0ZXBpY2tlcjpmdW5jdGlvbihhKXt2YXIgYj0KdGhpcy5fY3VySW5zdDtpZighKCFifHxhJiZiIT1kLmRhdGEoYSwiZGF0ZXBpY2tlciIpKSlpZih0aGlzLl9kYXRlcGlja2VyU2hvd2luZyl7YT10aGlzLl9nZXQoYiwic2hvd0FuaW0iKTt2YXIgYz10aGlzLl9nZXQoYiwiZHVyYXRpb24iKSxlPWZ1bmN0aW9uKCl7ZC5kYXRlcGlja2VyLl90aWR5RGlhbG9nKGIpO3RoaXMuX2N1ckluc3Q9bnVsbH07ZC5lZmZlY3RzJiZkLmVmZmVjdHNbYV0/Yi5kcERpdi5oaWRlKGEsZC5kYXRlcGlja2VyLl9nZXQoYiwic2hvd09wdGlvbnMiKSxjLGUpOmIuZHBEaXZbYT09InNsaWRlRG93biI/InNsaWRlVXAiOmE9PSJmYWRlSW4iPyJmYWRlT3V0IjoiaGlkZSJdKGE/YzpudWxsLGUpO2F8fGUoKTtkLmRhdGVwaWNrZXIuX3RyaWdnZXJPbkNsb3NlKGIpO3RoaXMuX2RhdGVwaWNrZXJTaG93aW5nPWZhbHNlO3RoaXMuX2xhc3RJbnB1dD1udWxsO2lmKHRoaXMuX2luRGlhbG9nKXt0aGlzLl9kaWFsb2dJbnB1dC5jc3Moe3Bvc2l0aW9uOiJhYnNvbHV0ZSIsCmxlZnQ6IjAiLHRvcDoiLTEwMHB4In0pO2lmKGQuYmxvY2tVSSl7ZC51bmJsb2NrVUkoKTtkKCJib2R5IikuYXBwZW5kKHRoaXMuZHBEaXYpfX10aGlzLl9pbkRpYWxvZz1mYWxzZX19LF90aWR5RGlhbG9nOmZ1bmN0aW9uKGEpe2EuZHBEaXYucmVtb3ZlQ2xhc3ModGhpcy5fZGlhbG9nQ2xhc3MpLnVuYmluZCgiLnVpLWRhdGVwaWNrZXItY2FsZW5kYXIiKX0sX2NoZWNrRXh0ZXJuYWxDbGljazpmdW5jdGlvbihhKXtpZihkLmRhdGVwaWNrZXIuX2N1ckluc3Qpe2E9ZChhLnRhcmdldCk7YVswXS5pZCE9ZC5kYXRlcGlja2VyLl9tYWluRGl2SWQmJmEucGFyZW50cygiIyIrZC5kYXRlcGlja2VyLl9tYWluRGl2SWQpLmxlbmd0aD09MCYmIWEuaGFzQ2xhc3MoZC5kYXRlcGlja2VyLm1hcmtlckNsYXNzTmFtZSkmJiFhLmhhc0NsYXNzKGQuZGF0ZXBpY2tlci5fdHJpZ2dlckNsYXNzKSYmZC5kYXRlcGlja2VyLl9kYXRlcGlja2VyU2hvd2luZyYmIShkLmRhdGVwaWNrZXIuX2luRGlhbG9nJiYKZC5ibG9ja1VJKSYmZC5kYXRlcGlja2VyLl9oaWRlRGF0ZXBpY2tlcigpfX0sX2FkanVzdERhdGU6ZnVuY3Rpb24oYSxiLGMpe2E9ZChhKTt2YXIgZT10aGlzLl9nZXRJbnN0KGFbMF0pO2lmKCF0aGlzLl9pc0Rpc2FibGVkRGF0ZXBpY2tlcihhWzBdKSl7dGhpcy5fYWRqdXN0SW5zdERhdGUoZSxiKyhjPT0iTSI/dGhpcy5fZ2V0KGUsInNob3dDdXJyZW50QXRQb3MiKTowKSxjKTt0aGlzLl91cGRhdGVEYXRlcGlja2VyKGUpfX0sX2dvdG9Ub2RheTpmdW5jdGlvbihhKXthPWQoYSk7dmFyIGI9dGhpcy5fZ2V0SW5zdChhWzBdKTtpZih0aGlzLl9nZXQoYiwiZ290b0N1cnJlbnQiKSYmYi5jdXJyZW50RGF5KXtiLnNlbGVjdGVkRGF5PWIuY3VycmVudERheTtiLmRyYXdNb250aD1iLnNlbGVjdGVkTW9udGg9Yi5jdXJyZW50TW9udGg7Yi5kcmF3WWVhcj1iLnNlbGVjdGVkWWVhcj1iLmN1cnJlbnRZZWFyfWVsc2V7dmFyIGM9bmV3IERhdGU7Yi5zZWxlY3RlZERheT1jLmdldERhdGUoKTtiLmRyYXdNb250aD0KYi5zZWxlY3RlZE1vbnRoPWMuZ2V0TW9udGgoKTtiLmRyYXdZZWFyPWIuc2VsZWN0ZWRZZWFyPWMuZ2V0RnVsbFllYXIoKX10aGlzLl9ub3RpZnlDaGFuZ2UoYik7dGhpcy5fYWRqdXN0RGF0ZShhKX0sX3NlbGVjdE1vbnRoWWVhcjpmdW5jdGlvbihhLGIsYyl7YT1kKGEpO3ZhciBlPXRoaXMuX2dldEluc3QoYVswXSk7ZS5fc2VsZWN0aW5nTW9udGhZZWFyPWZhbHNlO2VbInNlbGVjdGVkIisoYz09Ik0iPyJNb250aCI6IlllYXIiKV09ZVsiZHJhdyIrKGM9PSJNIj8iTW9udGgiOiJZZWFyIildPXBhcnNlSW50KGIub3B0aW9uc1tiLnNlbGVjdGVkSW5kZXhdLnZhbHVlLDEwKTt0aGlzLl9ub3RpZnlDaGFuZ2UoZSk7dGhpcy5fYWRqdXN0RGF0ZShhKX0sX2NsaWNrTW9udGhZZWFyOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuX2dldEluc3QoZChhKVswXSk7Yi5pbnB1dCYmYi5fc2VsZWN0aW5nTW9udGhZZWFyJiZzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yi5pbnB1dC5mb2N1cygpfSwwKTtiLl9zZWxlY3RpbmdNb250aFllYXI9CiFiLl9zZWxlY3RpbmdNb250aFllYXJ9LF9zZWxlY3REYXk6ZnVuY3Rpb24oYSxiLGMsZSl7dmFyIGY9ZChhKTtpZighKGQoZSkuaGFzQ2xhc3ModGhpcy5fdW5zZWxlY3RhYmxlQ2xhc3MpfHx0aGlzLl9pc0Rpc2FibGVkRGF0ZXBpY2tlcihmWzBdKSkpe2Y9dGhpcy5fZ2V0SW5zdChmWzBdKTtmLnNlbGVjdGVkRGF5PWYuY3VycmVudERheT1kKCJhIixlKS5odG1sKCk7Zi5zZWxlY3RlZE1vbnRoPWYuY3VycmVudE1vbnRoPWI7Zi5zZWxlY3RlZFllYXI9Zi5jdXJyZW50WWVhcj1jO3RoaXMuX3NlbGVjdERhdGUoYSx0aGlzLl9mb3JtYXREYXRlKGYsZi5jdXJyZW50RGF5LGYuY3VycmVudE1vbnRoLGYuY3VycmVudFllYXIpKX19LF9jbGVhckRhdGU6ZnVuY3Rpb24oYSl7YT1kKGEpO3RoaXMuX2dldEluc3QoYVswXSk7dGhpcy5fc2VsZWN0RGF0ZShhLCIiKX0sX3NlbGVjdERhdGU6ZnVuY3Rpb24oYSxiKXthPXRoaXMuX2dldEluc3QoZChhKVswXSk7Yj1iIT1udWxsP2I6dGhpcy5fZm9ybWF0RGF0ZShhKTsKYS5pbnB1dCYmYS5pbnB1dC52YWwoYik7dGhpcy5fdXBkYXRlQWx0ZXJuYXRlKGEpO3ZhciBjPXRoaXMuX2dldChhLCJvblNlbGVjdCIpO2lmKGMpYy5hcHBseShhLmlucHV0P2EuaW5wdXRbMF06bnVsbCxbYixhXSk7ZWxzZSBhLmlucHV0JiZhLmlucHV0LnRyaWdnZXIoImNoYW5nZSIpO2lmKGEuaW5saW5lKXRoaXMuX3VwZGF0ZURhdGVwaWNrZXIoYSk7ZWxzZXt0aGlzLl9oaWRlRGF0ZXBpY2tlcigpO3RoaXMuX2xhc3RJbnB1dD1hLmlucHV0WzBdO3R5cGVvZiBhLmlucHV0WzBdIT0ib2JqZWN0IiYmYS5pbnB1dC5mb2N1cygpO3RoaXMuX2xhc3RJbnB1dD1udWxsfX0sX3VwZGF0ZUFsdGVybmF0ZTpmdW5jdGlvbihhKXt2YXIgYj10aGlzLl9nZXQoYSwiYWx0RmllbGQiKTtpZihiKXt2YXIgYz10aGlzLl9nZXQoYSwiYWx0Rm9ybWF0Iil8fHRoaXMuX2dldChhLCJkYXRlRm9ybWF0IiksZT10aGlzLl9nZXREYXRlKGEpLGY9dGhpcy5mb3JtYXREYXRlKGMsZSx0aGlzLl9nZXRGb3JtYXRDb25maWcoYSkpOwpkKGIpLmVhY2goZnVuY3Rpb24oKXtkKHRoaXMpLnZhbChmKX0pfX0sbm9XZWVrZW5kczpmdW5jdGlvbihhKXthPWEuZ2V0RGF5KCk7cmV0dXJuW2E+MCYmYTw2LCIiXX0saXNvODYwMVdlZWs6ZnVuY3Rpb24oYSl7YT1uZXcgRGF0ZShhLmdldFRpbWUoKSk7YS5zZXREYXRlKGEuZ2V0RGF0ZSgpKzQtKGEuZ2V0RGF5KCl8fDcpKTt2YXIgYj1hLmdldFRpbWUoKTthLnNldE1vbnRoKDApO2Euc2V0RGF0ZSgxKTtyZXR1cm4gTWF0aC5mbG9vcihNYXRoLnJvdW5kKChiLWEpLzg2NEU1KS83KSsxfSxwYXJzZURhdGU6ZnVuY3Rpb24oYSxiLGMpe2lmKGE9PW51bGx8fGI9PW51bGwpdGhyb3ciSW52YWxpZCBhcmd1bWVudHMiO2I9dHlwZW9mIGI9PSJvYmplY3QiP2IudG9TdHJpbmcoKTpiKyIiO2lmKGI9PSIiKXJldHVybiBudWxsO3ZhciBlPShjP2Muc2hvcnRZZWFyQ3V0b2ZmOm51bGwpfHx0aGlzLl9kZWZhdWx0cy5zaG9ydFllYXJDdXRvZmY7ZT10eXBlb2YgZSE9InN0cmluZyI/ZToobmV3IERhdGUpLmdldEZ1bGxZZWFyKCklCjEwMCtwYXJzZUludChlLDEwKTtmb3IodmFyIGY9KGM/Yy5kYXlOYW1lc1Nob3J0Om51bGwpfHx0aGlzLl9kZWZhdWx0cy5kYXlOYW1lc1Nob3J0LGg9KGM/Yy5kYXlOYW1lczpudWxsKXx8dGhpcy5fZGVmYXVsdHMuZGF5TmFtZXMsaT0oYz9jLm1vbnRoTmFtZXNTaG9ydDpudWxsKXx8dGhpcy5fZGVmYXVsdHMubW9udGhOYW1lc1Nob3J0LGc9KGM/Yy5tb250aE5hbWVzOm51bGwpfHx0aGlzLl9kZWZhdWx0cy5tb250aE5hbWVzLGo9Yz0tMSxsPS0xLHU9LTEsaz1mYWxzZSxvPWZ1bmN0aW9uKHApeyhwPUIrMTxhLmxlbmd0aCYmYS5jaGFyQXQoQisxKT09cCkmJkIrKztyZXR1cm4gcH0sbT1mdW5jdGlvbihwKXt2YXIgRD1vKHApO3A9bmV3IFJlZ0V4cCgiXlxcZHsxLCIrKHA9PSJAIj8xNDpwPT0iISI/MjA6cD09InkiJiZEPzQ6cD09Im8iPzM6MikrIn0iKTtwPWIuc3Vic3RyaW5nKHEpLm1hdGNoKHApO2lmKCFwKXRocm93Ik1pc3NpbmcgbnVtYmVyIGF0IHBvc2l0aW9uICIrcTtxKz0KcFswXS5sZW5ndGg7cmV0dXJuIHBhcnNlSW50KHBbMF0sMTApfSxuPWZ1bmN0aW9uKHAsRCxLKXtwPWQubWFwKG8ocCk/SzpELGZ1bmN0aW9uKHcseCl7cmV0dXJuW1t4LHddXX0pLnNvcnQoZnVuY3Rpb24odyx4KXtyZXR1cm4tKHdbMV0ubGVuZ3RoLXhbMV0ubGVuZ3RoKX0pO3ZhciBFPS0xO2QuZWFjaChwLGZ1bmN0aW9uKHcseCl7dz14WzFdO2lmKGIuc3Vic3RyKHEsdy5sZW5ndGgpLnRvTG93ZXJDYXNlKCk9PXcudG9Mb3dlckNhc2UoKSl7RT14WzBdO3ErPXcubGVuZ3RoO3JldHVybiBmYWxzZX19KTtpZihFIT0tMSlyZXR1cm4gRSsxO2Vsc2UgdGhyb3ciVW5rbm93biBuYW1lIGF0IHBvc2l0aW9uICIrcTt9LHM9ZnVuY3Rpb24oKXtpZihiLmNoYXJBdChxKSE9YS5jaGFyQXQoQikpdGhyb3ciVW5leHBlY3RlZCBsaXRlcmFsIGF0IHBvc2l0aW9uICIrcTtxKyt9LHE9MCxCPTA7QjxhLmxlbmd0aDtCKyspaWYoaylpZihhLmNoYXJBdChCKT09IiciJiYhbygiJyIpKWs9ZmFsc2U7CmVsc2UgcygpO2Vsc2Ugc3dpdGNoKGEuY2hhckF0KEIpKXtjYXNlICJkIjpsPW0oImQiKTticmVhaztjYXNlICJEIjpuKCJEIixmLGgpO2JyZWFrO2Nhc2UgIm8iOnU9bSgibyIpO2JyZWFrO2Nhc2UgIm0iOmo9bSgibSIpO2JyZWFrO2Nhc2UgIk0iOmo9bigiTSIsaSxnKTticmVhaztjYXNlICJ5IjpjPW0oInkiKTticmVhaztjYXNlICJAIjp2YXIgdj1uZXcgRGF0ZShtKCJAIikpO2M9di5nZXRGdWxsWWVhcigpO2o9di5nZXRNb250aCgpKzE7bD12LmdldERhdGUoKTticmVhaztjYXNlICIhIjp2PW5ldyBEYXRlKChtKCIhIiktdGhpcy5fdGlja3NUbzE5NzApLzFFNCk7Yz12LmdldEZ1bGxZZWFyKCk7aj12LmdldE1vbnRoKCkrMTtsPXYuZ2V0RGF0ZSgpO2JyZWFrO2Nhc2UgIiciOmlmKG8oIiciKSlzKCk7ZWxzZSBrPXRydWU7YnJlYWs7ZGVmYXVsdDpzKCl9aWYocTxiLmxlbmd0aCl0aHJvdyJFeHRyYS91bnBhcnNlZCBjaGFyYWN0ZXJzIGZvdW5kIGluIGRhdGU6ICIrYi5zdWJzdHJpbmcocSk7CmlmKGM9PS0xKWM9KG5ldyBEYXRlKS5nZXRGdWxsWWVhcigpO2Vsc2UgaWYoYzwxMDApYys9KG5ldyBEYXRlKS5nZXRGdWxsWWVhcigpLShuZXcgRGF0ZSkuZ2V0RnVsbFllYXIoKSUxMDArKGM8PWU/MDotMTAwKTtpZih1Pi0xKXtqPTE7bD11O2Rve2U9dGhpcy5fZ2V0RGF5c0luTW9udGgoYyxqLTEpO2lmKGw8PWUpYnJlYWs7aisrO2wtPWV9d2hpbGUoMSl9dj10aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdChuZXcgRGF0ZShjLGotMSxsKSk7aWYodi5nZXRGdWxsWWVhcigpIT1jfHx2LmdldE1vbnRoKCkrMSE9anx8di5nZXREYXRlKCkhPWwpdGhyb3ciSW52YWxpZCBkYXRlIjtyZXR1cm4gdn0sQVRPTToieXktbW0tZGQiLENPT0tJRToiRCwgZGQgTSB5eSIsSVNPXzg2MDE6Inl5LW1tLWRkIixSRkNfODIyOiJELCBkIE0geSIsUkZDXzg1MDoiREQsIGRkLU0teSIsUkZDXzEwMzY6IkQsIGQgTSB5IixSRkNfMTEyMzoiRCwgZCBNIHl5IixSRkNfMjgyMjoiRCwgZCBNIHl5IixSU1M6IkQsIGQgTSB5IiwKVElDS1M6IiEiLFRJTUVTVEFNUDoiQCIsVzNDOiJ5eS1tbS1kZCIsX3RpY2tzVG8xOTcwOig3MTg2ODUrTWF0aC5mbG9vcig0OTIuNSktTWF0aC5mbG9vcigxOS43KStNYXRoLmZsb29yKDQuOTI1KSkqMjQqNjAqNjAqMUU3LGZvcm1hdERhdGU6ZnVuY3Rpb24oYSxiLGMpe2lmKCFiKXJldHVybiIiO3ZhciBlPShjP2MuZGF5TmFtZXNTaG9ydDpudWxsKXx8dGhpcy5fZGVmYXVsdHMuZGF5TmFtZXNTaG9ydCxmPShjP2MuZGF5TmFtZXM6bnVsbCl8fHRoaXMuX2RlZmF1bHRzLmRheU5hbWVzLGg9KGM/Yy5tb250aE5hbWVzU2hvcnQ6bnVsbCl8fHRoaXMuX2RlZmF1bHRzLm1vbnRoTmFtZXNTaG9ydDtjPShjP2MubW9udGhOYW1lczpudWxsKXx8dGhpcy5fZGVmYXVsdHMubW9udGhOYW1lczt2YXIgaT1mdW5jdGlvbihvKXsobz1rKzE8YS5sZW5ndGgmJmEuY2hhckF0KGsrMSk9PW8pJiZrKys7cmV0dXJuIG99LGc9ZnVuY3Rpb24obyxtLG4pe209IiIrbTtpZihpKG8pKWZvcig7bS5sZW5ndGg8Cm47KW09IjAiK207cmV0dXJuIG19LGo9ZnVuY3Rpb24obyxtLG4scyl7cmV0dXJuIGkobyk/c1ttXTpuW21dfSxsPSIiLHU9ZmFsc2U7aWYoYilmb3IodmFyIGs9MDtrPGEubGVuZ3RoO2srKylpZih1KWlmKGEuY2hhckF0KGspPT0iJyImJiFpKCInIikpdT1mYWxzZTtlbHNlIGwrPWEuY2hhckF0KGspO2Vsc2Ugc3dpdGNoKGEuY2hhckF0KGspKXtjYXNlICJkIjpsKz1nKCJkIixiLmdldERhdGUoKSwyKTticmVhaztjYXNlICJEIjpsKz1qKCJEIixiLmdldERheSgpLGUsZik7YnJlYWs7Y2FzZSAibyI6bCs9ZygibyIsTWF0aC5yb3VuZCgoKG5ldyBEYXRlKGIuZ2V0RnVsbFllYXIoKSxiLmdldE1vbnRoKCksYi5nZXREYXRlKCkpKS5nZXRUaW1lKCktKG5ldyBEYXRlKGIuZ2V0RnVsbFllYXIoKSwwLDApKS5nZXRUaW1lKCkpLzg2NEU1KSwzKTticmVhaztjYXNlICJtIjpsKz1nKCJtIixiLmdldE1vbnRoKCkrMSwyKTticmVhaztjYXNlICJNIjpsKz1qKCJNIixiLmdldE1vbnRoKCksaCwKYyk7YnJlYWs7Y2FzZSAieSI6bCs9aSgieSIpP2IuZ2V0RnVsbFllYXIoKTooYi5nZXRZZWFyKCklMTAwPDEwPyIwIjoiIikrYi5nZXRZZWFyKCklMTAwO2JyZWFrO2Nhc2UgIkAiOmwrPWIuZ2V0VGltZSgpO2JyZWFrO2Nhc2UgIiEiOmwrPWIuZ2V0VGltZSgpKjFFNCt0aGlzLl90aWNrc1RvMTk3MDticmVhaztjYXNlICInIjppZihpKCInIikpbCs9IiciO2Vsc2UgdT10cnVlO2JyZWFrO2RlZmF1bHQ6bCs9YS5jaGFyQXQoayl9cmV0dXJuIGx9LF9wb3NzaWJsZUNoYXJzOmZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0iIixjPWZhbHNlLGU9ZnVuY3Rpb24oaCl7KGg9ZisxPGEubGVuZ3RoJiZhLmNoYXJBdChmKzEpPT1oKSYmZisrO3JldHVybiBofSxmPTA7ZjxhLmxlbmd0aDtmKyspaWYoYylpZihhLmNoYXJBdChmKT09IiciJiYhZSgiJyIpKWM9ZmFsc2U7ZWxzZSBiKz1hLmNoYXJBdChmKTtlbHNlIHN3aXRjaChhLmNoYXJBdChmKSl7Y2FzZSAiZCI6Y2FzZSAibSI6Y2FzZSAieSI6Y2FzZSAiQCI6Yis9CiIwMTIzNDU2Nzg5IjticmVhaztjYXNlICJEIjpjYXNlICJNIjpyZXR1cm4gbnVsbDtjYXNlICInIjppZihlKCInIikpYis9IiciO2Vsc2UgYz10cnVlO2JyZWFrO2RlZmF1bHQ6Yis9YS5jaGFyQXQoZil9cmV0dXJuIGJ9LF9nZXQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5zZXR0aW5nc1tiXSE9PUM/YS5zZXR0aW5nc1tiXTp0aGlzLl9kZWZhdWx0c1tiXX0sX3NldERhdGVGcm9tRmllbGQ6ZnVuY3Rpb24oYSxiKXtpZihhLmlucHV0LnZhbCgpIT1hLmxhc3RWYWwpe3ZhciBjPXRoaXMuX2dldChhLCJkYXRlRm9ybWF0IiksZT1hLmxhc3RWYWw9YS5pbnB1dD9hLmlucHV0LnZhbCgpOm51bGwsZixoO2Y9aD10aGlzLl9nZXREZWZhdWx0RGF0ZShhKTt2YXIgaT10aGlzLl9nZXRGb3JtYXRDb25maWcoYSk7dHJ5e2Y9dGhpcy5wYXJzZURhdGUoYyxlLGkpfHxofWNhdGNoKGcpe3RoaXMubG9nKGcpO2U9Yj8iIjplfWEuc2VsZWN0ZWREYXk9Zi5nZXREYXRlKCk7YS5kcmF3TW9udGg9YS5zZWxlY3RlZE1vbnRoPQpmLmdldE1vbnRoKCk7YS5kcmF3WWVhcj1hLnNlbGVjdGVkWWVhcj1mLmdldEZ1bGxZZWFyKCk7YS5jdXJyZW50RGF5PWU/Zi5nZXREYXRlKCk6MDthLmN1cnJlbnRNb250aD1lP2YuZ2V0TW9udGgoKTowO2EuY3VycmVudFllYXI9ZT9mLmdldEZ1bGxZZWFyKCk6MDt0aGlzLl9hZGp1c3RJbnN0RGF0ZShhKX19LF9nZXREZWZhdWx0RGF0ZTpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5fcmVzdHJpY3RNaW5NYXgoYSx0aGlzLl9kZXRlcm1pbmVEYXRlKGEsdGhpcy5fZ2V0KGEsImRlZmF1bHREYXRlIiksbmV3IERhdGUpKX0sX2RldGVybWluZURhdGU6ZnVuY3Rpb24oYSxiLGMpe3ZhciBlPWZ1bmN0aW9uKGgpe3ZhciBpPW5ldyBEYXRlO2kuc2V0RGF0ZShpLmdldERhdGUoKStoKTtyZXR1cm4gaX0sZj1mdW5jdGlvbihoKXt0cnl7cmV0dXJuIGQuZGF0ZXBpY2tlci5wYXJzZURhdGUoZC5kYXRlcGlja2VyLl9nZXQoYSwiZGF0ZUZvcm1hdCIpLGgsZC5kYXRlcGlja2VyLl9nZXRGb3JtYXRDb25maWcoYSkpfWNhdGNoKGkpe312YXIgZz0KKGgudG9Mb3dlckNhc2UoKS5tYXRjaCgvXmMvKT9kLmRhdGVwaWNrZXIuX2dldERhdGUoYSk6bnVsbCl8fG5ldyBEYXRlLGo9Zy5nZXRGdWxsWWVhcigpLGw9Zy5nZXRNb250aCgpO2c9Zy5nZXREYXRlKCk7Zm9yKHZhciB1PS8oWystXT9bMC05XSspXHMqKGR8RHx3fFd8bXxNfHl8WSk/L2csaz11LmV4ZWMoaCk7azspe3N3aXRjaChrWzJdfHwiZCIpe2Nhc2UgImQiOmNhc2UgIkQiOmcrPXBhcnNlSW50KGtbMV0sMTApO2JyZWFrO2Nhc2UgInciOmNhc2UgIlciOmcrPXBhcnNlSW50KGtbMV0sMTApKjc7YnJlYWs7Y2FzZSAibSI6Y2FzZSAiTSI6bCs9cGFyc2VJbnQoa1sxXSwxMCk7Zz1NYXRoLm1pbihnLGQuZGF0ZXBpY2tlci5fZ2V0RGF5c0luTW9udGgoaixsKSk7YnJlYWs7Y2FzZSAieSI6Y2FzZSAiWSI6ais9cGFyc2VJbnQoa1sxXSwxMCk7Zz1NYXRoLm1pbihnLGQuZGF0ZXBpY2tlci5fZ2V0RGF5c0luTW9udGgoaixsKSk7YnJlYWt9az11LmV4ZWMoaCl9cmV0dXJuIG5ldyBEYXRlKGosCmwsZyl9O2lmKGI9KGI9Yj09bnVsbHx8Yj09PSIiP2M6dHlwZW9mIGI9PSJzdHJpbmciP2YoYik6dHlwZW9mIGI9PSJudW1iZXIiP2lzTmFOKGIpP2M6ZShiKTpuZXcgRGF0ZShiLmdldFRpbWUoKSkpJiZiLnRvU3RyaW5nKCk9PSJJbnZhbGlkIERhdGUiP2M6Yil7Yi5zZXRIb3VycygwKTtiLnNldE1pbnV0ZXMoMCk7Yi5zZXRTZWNvbmRzKDApO2Iuc2V0TWlsbGlzZWNvbmRzKDApfXJldHVybiB0aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdChiKX0sX2RheWxpZ2h0U2F2aW5nQWRqdXN0OmZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiBudWxsO2Euc2V0SG91cnMoYS5nZXRIb3VycygpPjEyP2EuZ2V0SG91cnMoKSsyOjApO3JldHVybiBhfSxfc2V0RGF0ZTpmdW5jdGlvbihhLGIsYyl7dmFyIGU9IWIsZj1hLnNlbGVjdGVkTW9udGgsaD1hLnNlbGVjdGVkWWVhcjtiPXRoaXMuX3Jlc3RyaWN0TWluTWF4KGEsdGhpcy5fZGV0ZXJtaW5lRGF0ZShhLGIsbmV3IERhdGUpKTthLnNlbGVjdGVkRGF5PQphLmN1cnJlbnREYXk9Yi5nZXREYXRlKCk7YS5kcmF3TW9udGg9YS5zZWxlY3RlZE1vbnRoPWEuY3VycmVudE1vbnRoPWIuZ2V0TW9udGgoKTthLmRyYXdZZWFyPWEuc2VsZWN0ZWRZZWFyPWEuY3VycmVudFllYXI9Yi5nZXRGdWxsWWVhcigpO2lmKChmIT1hLnNlbGVjdGVkTW9udGh8fGghPWEuc2VsZWN0ZWRZZWFyKSYmIWMpdGhpcy5fbm90aWZ5Q2hhbmdlKGEpO3RoaXMuX2FkanVzdEluc3REYXRlKGEpO2lmKGEuaW5wdXQpYS5pbnB1dC52YWwoZT8iIjp0aGlzLl9mb3JtYXREYXRlKGEpKX0sX2dldERhdGU6ZnVuY3Rpb24oYSl7cmV0dXJuIWEuY3VycmVudFllYXJ8fGEuaW5wdXQmJmEuaW5wdXQudmFsKCk9PSIiP251bGw6dGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUoYS5jdXJyZW50WWVhcixhLmN1cnJlbnRNb250aCxhLmN1cnJlbnREYXkpKX0sX2dlbmVyYXRlSFRNTDpmdW5jdGlvbihhKXt2YXIgYj1uZXcgRGF0ZTtiPXRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KG5ldyBEYXRlKGIuZ2V0RnVsbFllYXIoKSwKYi5nZXRNb250aCgpLGIuZ2V0RGF0ZSgpKSk7dmFyIGM9dGhpcy5fZ2V0KGEsImlzUlRMIiksZT10aGlzLl9nZXQoYSwic2hvd0J1dHRvblBhbmVsIiksZj10aGlzLl9nZXQoYSwiaGlkZUlmTm9QcmV2TmV4dCIpLGg9dGhpcy5fZ2V0KGEsIm5hdmlnYXRpb25Bc0RhdGVGb3JtYXQiKSxpPXRoaXMuX2dldE51bWJlck9mTW9udGhzKGEpLGc9dGhpcy5fZ2V0KGEsInNob3dDdXJyZW50QXRQb3MiKSxqPXRoaXMuX2dldChhLCJzdGVwTW9udGhzIiksbD1pWzBdIT0xfHxpWzFdIT0xLHU9dGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QoIWEuY3VycmVudERheT9uZXcgRGF0ZSg5OTk5LDksOSk6bmV3IERhdGUoYS5jdXJyZW50WWVhcixhLmN1cnJlbnRNb250aCxhLmN1cnJlbnREYXkpKSxrPXRoaXMuX2dldE1pbk1heERhdGUoYSwibWluIiksbz10aGlzLl9nZXRNaW5NYXhEYXRlKGEsIm1heCIpO2c9YS5kcmF3TW9udGgtZzt2YXIgbT1hLmRyYXdZZWFyO2lmKGc8MCl7Zys9MTI7bS0tfWlmKG8pe3ZhciBuPQp0aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdChuZXcgRGF0ZShvLmdldEZ1bGxZZWFyKCksby5nZXRNb250aCgpLWlbMF0qaVsxXSsxLG8uZ2V0RGF0ZSgpKSk7Zm9yKG49ayYmbjxrP2s6bjt0aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdChuZXcgRGF0ZShtLGcsMSkpPm47KXtnLS07aWYoZzwwKXtnPTExO20tLX19fWEuZHJhd01vbnRoPWc7YS5kcmF3WWVhcj1tO249dGhpcy5fZ2V0KGEsInByZXZUZXh0Iik7bj0haD9uOnRoaXMuZm9ybWF0RGF0ZShuLHRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KG5ldyBEYXRlKG0sZy1qLDEpKSx0aGlzLl9nZXRGb3JtYXRDb25maWcoYSkpO249dGhpcy5fY2FuQWRqdXN0TW9udGgoYSwtMSxtLGcpPyc8YSBjbGFzcz0idWktZGF0ZXBpY2tlci1wcmV2IHVpLWNvcm5lci1hbGwiIG9uY2xpY2s9IkRQX2pRdWVyeV8nK0ErIi5kYXRlcGlja2VyLl9hZGp1c3REYXRlKCcjIithLmlkKyInLCAtIitqKyIsICdNJyk7XCIgdGl0bGU9XCIiK24rJyI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtJysKKGM/ImUiOiJ3IikrJyI+JytuKyI8L3NwYW4+PC9hPiI6Zj8iIjonPGEgY2xhc3M9InVpLWRhdGVwaWNrZXItcHJldiB1aS1jb3JuZXItYWxsIHVpLXN0YXRlLWRpc2FibGVkIiB0aXRsZT0iJytuKyciPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2lyY2xlLXRyaWFuZ2xlLScrKGM/ImUiOiJ3IikrJyI+JytuKyI8L3NwYW4+PC9hPiI7dmFyIHM9dGhpcy5fZ2V0KGEsIm5leHRUZXh0Iik7cz0haD9zOnRoaXMuZm9ybWF0RGF0ZShzLHRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KG5ldyBEYXRlKG0sZytqLDEpKSx0aGlzLl9nZXRGb3JtYXRDb25maWcoYSkpO2Y9dGhpcy5fY2FuQWRqdXN0TW9udGgoYSwrMSxtLGcpPyc8YSBjbGFzcz0idWktZGF0ZXBpY2tlci1uZXh0IHVpLWNvcm5lci1hbGwiIG9uY2xpY2s9IkRQX2pRdWVyeV8nK0ErIi5kYXRlcGlja2VyLl9hZGp1c3REYXRlKCcjIithLmlkKyInLCArIitqKyIsICdNJyk7XCIgdGl0bGU9XCIiK3MrJyI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtJysKKGM/InciOiJlIikrJyI+JytzKyI8L3NwYW4+PC9hPiI6Zj8iIjonPGEgY2xhc3M9InVpLWRhdGVwaWNrZXItbmV4dCB1aS1jb3JuZXItYWxsIHVpLXN0YXRlLWRpc2FibGVkIiB0aXRsZT0iJytzKyciPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2lyY2xlLXRyaWFuZ2xlLScrKGM/InciOiJlIikrJyI+JytzKyI8L3NwYW4+PC9hPiI7aj10aGlzLl9nZXQoYSwiY3VycmVudFRleHQiKTtzPXRoaXMuX2dldChhLCJnb3RvQ3VycmVudCIpJiZhLmN1cnJlbnREYXk/dTpiO2o9IWg/ajp0aGlzLmZvcm1hdERhdGUoaixzLHRoaXMuX2dldEZvcm1hdENvbmZpZyhhKSk7aD0hYS5pbmxpbmU/JzxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0idWktZGF0ZXBpY2tlci1jbG9zZSB1aS1zdGF0ZS1kZWZhdWx0IHVpLXByaW9yaXR5LXByaW1hcnkgdWktY29ybmVyLWFsbCIgb25jbGljaz0iRFBfalF1ZXJ5XycrQSsnLmRhdGVwaWNrZXIuX2hpZGVEYXRlcGlja2VyKCk7Ij4nK3RoaXMuX2dldChhLAoiY2xvc2VUZXh0IikrIjwvYnV0dG9uPiI6IiI7ZT1lPyc8ZGl2IGNsYXNzPSJ1aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgdWktd2lkZ2V0LWNvbnRlbnQiPicrKGM/aDoiIikrKHRoaXMuX2lzSW5SYW5nZShhLHMpPyc8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9InVpLWRhdGVwaWNrZXItY3VycmVudCB1aS1zdGF0ZS1kZWZhdWx0IHVpLXByaW9yaXR5LXNlY29uZGFyeSB1aS1jb3JuZXItYWxsIiBvbmNsaWNrPSJEUF9qUXVlcnlfJytBKyIuZGF0ZXBpY2tlci5fZ290b1RvZGF5KCcjIithLmlkKyInKTtcIj4iK2orIjwvYnV0dG9uPiI6IiIpKyhjPyIiOmgpKyI8L2Rpdj4iOiIiO2g9cGFyc2VJbnQodGhpcy5fZ2V0KGEsImZpcnN0RGF5IiksMTApO2g9aXNOYU4oaCk/MDpoO2o9dGhpcy5fZ2V0KGEsInNob3dXZWVrIik7cz10aGlzLl9nZXQoYSwiZGF5TmFtZXMiKTt0aGlzLl9nZXQoYSwiZGF5TmFtZXNTaG9ydCIpO3ZhciBxPXRoaXMuX2dldChhLCJkYXlOYW1lc01pbiIpLEI9CnRoaXMuX2dldChhLCJtb250aE5hbWVzIiksdj10aGlzLl9nZXQoYSwibW9udGhOYW1lc1Nob3J0IikscD10aGlzLl9nZXQoYSwiYmVmb3JlU2hvd0RheSIpLEQ9dGhpcy5fZ2V0KGEsInNob3dPdGhlck1vbnRocyIpLEs9dGhpcy5fZ2V0KGEsInNlbGVjdE90aGVyTW9udGhzIik7dGhpcy5fZ2V0KGEsImNhbGN1bGF0ZVdlZWsiKTtmb3IodmFyIEU9dGhpcy5fZ2V0RGVmYXVsdERhdGUoYSksdz0iIix4PTA7eDxpWzBdO3grKyl7dmFyIE89IiI7dGhpcy5tYXhSb3dzPTQ7Zm9yKHZhciBHPTA7RzxpWzFdO0crKyl7dmFyIFA9dGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUobSxnLGEuc2VsZWN0ZWREYXkpKSx0PSIgdWktY29ybmVyLWFsbCIseT0iIjtpZihsKXt5Kz0nPGRpdiBjbGFzcz0idWktZGF0ZXBpY2tlci1ncm91cCc7aWYoaVsxXT4xKXN3aXRjaChHKXtjYXNlIDA6eSs9IiB1aS1kYXRlcGlja2VyLWdyb3VwLWZpcnN0Ijt0PSIgdWktY29ybmVyLSIrKGM/InJpZ2h0IjoKImxlZnQiKTticmVhaztjYXNlIGlbMV0tMTp5Kz0iIHVpLWRhdGVwaWNrZXItZ3JvdXAtbGFzdCI7dD0iIHVpLWNvcm5lci0iKyhjPyJsZWZ0IjoicmlnaHQiKTticmVhaztkZWZhdWx0OnkrPSIgdWktZGF0ZXBpY2tlci1ncm91cC1taWRkbGUiO3Q9IiI7YnJlYWt9eSs9JyI+J315Kz0nPGRpdiBjbGFzcz0idWktZGF0ZXBpY2tlci1oZWFkZXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXgnK3QrJyI+JysoL2FsbHxsZWZ0Ly50ZXN0KHQpJiZ4PT0wP2M/ZjpuOiIiKSsoL2FsbHxyaWdodC8udGVzdCh0KSYmeD09MD9jP246ZjoiIikrdGhpcy5fZ2VuZXJhdGVNb250aFllYXJIZWFkZXIoYSxnLG0sayxvLHg+MHx8Rz4wLEIsdikrJzwvZGl2Pjx0YWJsZSBjbGFzcz0idWktZGF0ZXBpY2tlci1jYWxlbmRhciI+PHRoZWFkPjx0cj4nO3ZhciB6PWo/Jzx0aCBjbGFzcz0idWktZGF0ZXBpY2tlci13ZWVrLWNvbCI+Jyt0aGlzLl9nZXQoYSwid2Vla0hlYWRlciIpKyI8L3RoPiI6CiIiO2Zvcih0PTA7dDw3O3QrKyl7dmFyIHI9KHQraCklNzt6Kz0iPHRoIisoKHQraCs2KSU3Pj01PycgY2xhc3M9InVpLWRhdGVwaWNrZXItd2Vlay1lbmQiJzoiIikrJz48c3BhbiB0aXRsZT0iJytzW3JdKyciPicrcVtyXSsiPC9zcGFuPjwvdGg+In15Kz16KyI8L3RyPjwvdGhlYWQ+PHRib2R5PiI7ej10aGlzLl9nZXREYXlzSW5Nb250aChtLGcpO2lmKG09PWEuc2VsZWN0ZWRZZWFyJiZnPT1hLnNlbGVjdGVkTW9udGgpYS5zZWxlY3RlZERheT1NYXRoLm1pbihhLnNlbGVjdGVkRGF5LHopO3Q9KHRoaXMuX2dldEZpcnN0RGF5T2ZNb250aChtLGcpLWgrNyklNzt6PU1hdGguY2VpbCgodCt6KS83KTt0aGlzLm1heFJvd3M9ej1sP3RoaXMubWF4Um93cz56P3RoaXMubWF4Um93czp6Ono7cj10aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdChuZXcgRGF0ZShtLGcsMS10KSk7Zm9yKHZhciBRPTA7UTx6O1ErKyl7eSs9Ijx0cj4iO3ZhciBSPSFqPyIiOic8dGQgY2xhc3M9InVpLWRhdGVwaWNrZXItd2Vlay1jb2wiPicrCnRoaXMuX2dldChhLCJjYWxjdWxhdGVXZWVrIikocikrIjwvdGQ+Ijtmb3IodD0wO3Q8Nzt0Kyspe3ZhciBJPXA/cC5hcHBseShhLmlucHV0P2EuaW5wdXRbMF06bnVsbCxbcl0pOlt0cnVlLCIiXSxGPXIuZ2V0TW9udGgoKSE9ZyxMPUYmJiFLfHwhSVswXXx8ayYmcjxrfHxvJiZyPm87Uis9Jzx0ZCBjbGFzcz0iJysoKHQraCs2KSU3Pj01PyIgdWktZGF0ZXBpY2tlci13ZWVrLWVuZCI6IiIpKyhGPyIgdWktZGF0ZXBpY2tlci1vdGhlci1tb250aCI6IiIpKyhyLmdldFRpbWUoKT09UC5nZXRUaW1lKCkmJmc9PWEuc2VsZWN0ZWRNb250aCYmYS5fa2V5RXZlbnR8fEUuZ2V0VGltZSgpPT1yLmdldFRpbWUoKSYmRS5nZXRUaW1lKCk9PVAuZ2V0VGltZSgpPyIgIit0aGlzLl9kYXlPdmVyQ2xhc3M6IiIpKyhMPyIgIit0aGlzLl91bnNlbGVjdGFibGVDbGFzcysiIHVpLXN0YXRlLWRpc2FibGVkIjoiIikrKEYmJiFEPyIiOiIgIitJWzFdKyhyLmdldFRpbWUoKT09dS5nZXRUaW1lKCk/IiAiKwp0aGlzLl9jdXJyZW50Q2xhc3M6IiIpKyhyLmdldFRpbWUoKT09Yi5nZXRUaW1lKCk/IiB1aS1kYXRlcGlja2VyLXRvZGF5IjoiIikpKyciJysoKCFGfHxEKSYmSVsyXT8nIHRpdGxlPSInK0lbMl0rJyInOiIiKSsoTD8iIjonIG9uY2xpY2s9IkRQX2pRdWVyeV8nK0ErIi5kYXRlcGlja2VyLl9zZWxlY3REYXkoJyMiK2EuaWQrIicsIityLmdldE1vbnRoKCkrIiwiK3IuZ2V0RnVsbFllYXIoKSsnLCB0aGlzKTtyZXR1cm4gZmFsc2U7IicpKyI+IisoRiYmIUQ/IiYjeGEwOyI6TD8nPHNwYW4gY2xhc3M9InVpLXN0YXRlLWRlZmF1bHQiPicrci5nZXREYXRlKCkrIjwvc3Bhbj4iOic8YSBjbGFzcz0idWktc3RhdGUtZGVmYXVsdCcrKHIuZ2V0VGltZSgpPT1iLmdldFRpbWUoKT8iIHVpLXN0YXRlLWhpZ2hsaWdodCI6IiIpKyhyLmdldFRpbWUoKT09dS5nZXRUaW1lKCk/IiB1aS1zdGF0ZS1hY3RpdmUiOiIiKSsoRj8iIHVpLXByaW9yaXR5LXNlY29uZGFyeSI6IiIpKyciIGhyZWY9IiMiPicrCnIuZ2V0RGF0ZSgpKyI8L2E+IikrIjwvdGQ+IjtyLnNldERhdGUoci5nZXREYXRlKCkrMSk7cj10aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdChyKX15Kz1SKyI8L3RyPiJ9ZysrO2lmKGc+MTEpe2c9MDttKyt9eSs9IjwvdGJvZHk+PC90YWJsZT4iKyhsPyI8L2Rpdj4iKyhpWzBdPjAmJkc9PWlbMV0tMT8nPGRpdiBjbGFzcz0idWktZGF0ZXBpY2tlci1yb3ctYnJlYWsiPjwvZGl2Pic6IiIpOiIiKTtPKz15fXcrPU99dys9ZSsoZC5icm93c2VyLm1zaWUmJnBhcnNlSW50KGQuYnJvd3Nlci52ZXJzaW9uLDEwKTw3JiYhYS5pbmxpbmU/JzxpZnJhbWUgc3JjPSJqYXZhc2NyaXB0OmZhbHNlOyIgY2xhc3M9InVpLWRhdGVwaWNrZXItY292ZXIiIGZyYW1lYm9yZGVyPSIwIj48L2lmcmFtZT4nOiIiKTthLl9rZXlFdmVudD1mYWxzZTtyZXR1cm4gd30sX2dlbmVyYXRlTW9udGhZZWFySGVhZGVyOmZ1bmN0aW9uKGEsYixjLGUsZixoLGksZyl7dmFyIGo9dGhpcy5fZ2V0KGEsImNoYW5nZU1vbnRoIiksCmw9dGhpcy5fZ2V0KGEsImNoYW5nZVllYXIiKSx1PXRoaXMuX2dldChhLCJzaG93TW9udGhBZnRlclllYXIiKSxrPSc8ZGl2IGNsYXNzPSJ1aS1kYXRlcGlja2VyLXRpdGxlIj4nLG89IiI7aWYoaHx8IWopbys9JzxzcGFuIGNsYXNzPSJ1aS1kYXRlcGlja2VyLW1vbnRoIj4nK2lbYl0rIjwvc3Bhbj4iO2Vsc2V7aT1lJiZlLmdldEZ1bGxZZWFyKCk9PWM7dmFyIG09ZiYmZi5nZXRGdWxsWWVhcigpPT1jO28rPSc8c2VsZWN0IGNsYXNzPSJ1aS1kYXRlcGlja2VyLW1vbnRoIiBvbmNoYW5nZT0iRFBfalF1ZXJ5XycrQSsiLmRhdGVwaWNrZXIuX3NlbGVjdE1vbnRoWWVhcignIyIrYS5pZCsiJywgdGhpcywgJ00nKTtcIiBvbmNsaWNrPVwiRFBfalF1ZXJ5XyIrQSsiLmRhdGVwaWNrZXIuX2NsaWNrTW9udGhZZWFyKCcjIithLmlkKyInKTtcIj4iO2Zvcih2YXIgbj0wO248MTI7bisrKWlmKCghaXx8bj49ZS5nZXRNb250aCgpKSYmKCFtfHxuPD1mLmdldE1vbnRoKCkpKW8rPSc8b3B0aW9uIHZhbHVlPSInKwpuKyciJysobj09Yj8nIHNlbGVjdGVkPSJzZWxlY3RlZCInOiIiKSsiPiIrZ1tuXSsiPC9vcHRpb24+IjtvKz0iPC9zZWxlY3Q+In11fHwoays9bysoaHx8IShqJiZsKT8iJiN4YTA7IjoiIikpO2lmKCFhLnllYXJzaHRtbCl7YS55ZWFyc2h0bWw9IiI7aWYoaHx8IWwpays9JzxzcGFuIGNsYXNzPSJ1aS1kYXRlcGlja2VyLXllYXIiPicrYysiPC9zcGFuPiI7ZWxzZXtnPXRoaXMuX2dldChhLCJ5ZWFyUmFuZ2UiKS5zcGxpdCgiOiIpO3ZhciBzPShuZXcgRGF0ZSkuZ2V0RnVsbFllYXIoKTtpPWZ1bmN0aW9uKHEpe3E9cS5tYXRjaCgvY1srLV0uKi8pP2MrcGFyc2VJbnQocS5zdWJzdHJpbmcoMSksMTApOnEubWF0Y2goL1srLV0uKi8pP3MrcGFyc2VJbnQocSwxMCk6cGFyc2VJbnQocSwxMCk7cmV0dXJuIGlzTmFOKHEpP3M6cX07Yj1pKGdbMF0pO2c9TWF0aC5tYXgoYixpKGdbMV18fCIiKSk7Yj1lP01hdGgubWF4KGIsZS5nZXRGdWxsWWVhcigpKTpiO2c9Zj9NYXRoLm1pbihnLGYuZ2V0RnVsbFllYXIoKSk6Cmc7Zm9yKGEueWVhcnNodG1sKz0nPHNlbGVjdCBjbGFzcz0idWktZGF0ZXBpY2tlci15ZWFyIiBvbmNoYW5nZT0iRFBfalF1ZXJ5XycrQSsiLmRhdGVwaWNrZXIuX3NlbGVjdE1vbnRoWWVhcignIyIrYS5pZCsiJywgdGhpcywgJ1knKTtcIiBvbmNsaWNrPVwiRFBfalF1ZXJ5XyIrQSsiLmRhdGVwaWNrZXIuX2NsaWNrTW9udGhZZWFyKCcjIithLmlkKyInKTtcIj4iO2I8PWc7YisrKWEueWVhcnNodG1sKz0nPG9wdGlvbiB2YWx1ZT0iJytiKyciJysoYj09Yz8nIHNlbGVjdGVkPSJzZWxlY3RlZCInOiIiKSsiPiIrYisiPC9vcHRpb24+IjthLnllYXJzaHRtbCs9Ijwvc2VsZWN0PiI7ays9YS55ZWFyc2h0bWw7YS55ZWFyc2h0bWw9bnVsbH19ays9dGhpcy5fZ2V0KGEsInllYXJTdWZmaXgiKTtpZih1KWsrPShofHwhKGomJmwpPyImI3hhMDsiOiIiKStvO2srPSI8L2Rpdj4iO3JldHVybiBrfSxfYWRqdXN0SW5zdERhdGU6ZnVuY3Rpb24oYSxiLGMpe3ZhciBlPWEuZHJhd1llYXIrKGM9PQoiWSI/YjowKSxmPWEuZHJhd01vbnRoKyhjPT0iTSI/YjowKTtiPU1hdGgubWluKGEuc2VsZWN0ZWREYXksdGhpcy5fZ2V0RGF5c0luTW9udGgoZSxmKSkrKGM9PSJEIj9iOjApO2U9dGhpcy5fcmVzdHJpY3RNaW5NYXgoYSx0aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdChuZXcgRGF0ZShlLGYsYikpKTthLnNlbGVjdGVkRGF5PWUuZ2V0RGF0ZSgpO2EuZHJhd01vbnRoPWEuc2VsZWN0ZWRNb250aD1lLmdldE1vbnRoKCk7YS5kcmF3WWVhcj1hLnNlbGVjdGVkWWVhcj1lLmdldEZ1bGxZZWFyKCk7aWYoYz09Ik0ifHxjPT0iWSIpdGhpcy5fbm90aWZ5Q2hhbmdlKGEpfSxfcmVzdHJpY3RNaW5NYXg6ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzLl9nZXRNaW5NYXhEYXRlKGEsIm1pbiIpO2E9dGhpcy5fZ2V0TWluTWF4RGF0ZShhLCJtYXgiKTtiPWMmJmI8Yz9jOmI7cmV0dXJuIGI9YSYmYj5hP2E6Yn0sX25vdGlmeUNoYW5nZTpmdW5jdGlvbihhKXt2YXIgYj10aGlzLl9nZXQoYSwib25DaGFuZ2VNb250aFllYXIiKTsKaWYoYiliLmFwcGx5KGEuaW5wdXQ/YS5pbnB1dFswXTpudWxsLFthLnNlbGVjdGVkWWVhcixhLnNlbGVjdGVkTW9udGgrMSxhXSl9LF9nZXROdW1iZXJPZk1vbnRoczpmdW5jdGlvbihhKXthPXRoaXMuX2dldChhLCJudW1iZXJPZk1vbnRocyIpO3JldHVybiBhPT1udWxsP1sxLDFdOnR5cGVvZiBhPT0ibnVtYmVyIj9bMSxhXTphfSxfZ2V0TWluTWF4RGF0ZTpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLl9kZXRlcm1pbmVEYXRlKGEsdGhpcy5fZ2V0KGEsYisiRGF0ZSIpLG51bGwpfSxfZ2V0RGF5c0luTW9udGg6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gMzItdGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUoYSxiLDMyKSkuZ2V0RGF0ZSgpfSxfZ2V0Rmlyc3REYXlPZk1vbnRoOmZ1bmN0aW9uKGEsYil7cmV0dXJuKG5ldyBEYXRlKGEsYiwxKSkuZ2V0RGF5KCl9LF9jYW5BZGp1c3RNb250aDpmdW5jdGlvbihhLGIsYyxlKXt2YXIgZj10aGlzLl9nZXROdW1iZXJPZk1vbnRocyhhKTsKYz10aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdChuZXcgRGF0ZShjLGUrKGI8MD9iOmZbMF0qZlsxXSksMSkpO2I8MCYmYy5zZXREYXRlKHRoaXMuX2dldERheXNJbk1vbnRoKGMuZ2V0RnVsbFllYXIoKSxjLmdldE1vbnRoKCkpKTtyZXR1cm4gdGhpcy5faXNJblJhbmdlKGEsYyl9LF9pc0luUmFuZ2U6ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzLl9nZXRNaW5NYXhEYXRlKGEsIm1pbiIpO2E9dGhpcy5fZ2V0TWluTWF4RGF0ZShhLCJtYXgiKTtyZXR1cm4oIWN8fGIuZ2V0VGltZSgpPj1jLmdldFRpbWUoKSkmJighYXx8Yi5nZXRUaW1lKCk8PWEuZ2V0VGltZSgpKX0sX2dldEZvcm1hdENvbmZpZzpmdW5jdGlvbihhKXt2YXIgYj10aGlzLl9nZXQoYSwic2hvcnRZZWFyQ3V0b2ZmIik7Yj10eXBlb2YgYiE9InN0cmluZyI/YjoobmV3IERhdGUpLmdldEZ1bGxZZWFyKCklMTAwK3BhcnNlSW50KGIsMTApO3JldHVybntzaG9ydFllYXJDdXRvZmY6YixkYXlOYW1lc1Nob3J0OnRoaXMuX2dldChhLAoiZGF5TmFtZXNTaG9ydCIpLGRheU5hbWVzOnRoaXMuX2dldChhLCJkYXlOYW1lcyIpLG1vbnRoTmFtZXNTaG9ydDp0aGlzLl9nZXQoYSwibW9udGhOYW1lc1Nob3J0IiksbW9udGhOYW1lczp0aGlzLl9nZXQoYSwibW9udGhOYW1lcyIpfX0sX2Zvcm1hdERhdGU6ZnVuY3Rpb24oYSxiLGMsZSl7aWYoIWIpe2EuY3VycmVudERheT1hLnNlbGVjdGVkRGF5O2EuY3VycmVudE1vbnRoPWEuc2VsZWN0ZWRNb250aDthLmN1cnJlbnRZZWFyPWEuc2VsZWN0ZWRZZWFyfWI9Yj90eXBlb2YgYj09Im9iamVjdCI/Yjp0aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdChuZXcgRGF0ZShlLGMsYikpOnRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KG5ldyBEYXRlKGEuY3VycmVudFllYXIsYS5jdXJyZW50TW9udGgsYS5jdXJyZW50RGF5KSk7cmV0dXJuIHRoaXMuZm9ybWF0RGF0ZSh0aGlzLl9nZXQoYSwiZGF0ZUZvcm1hdCIpLGIsdGhpcy5fZ2V0Rm9ybWF0Q29uZmlnKGEpKX19KTtkLmZuLmRhdGVwaWNrZXI9CmZ1bmN0aW9uKGEpe2lmKCF0aGlzLmxlbmd0aClyZXR1cm4gdGhpcztpZighZC5kYXRlcGlja2VyLmluaXRpYWxpemVkKXtkKGRvY3VtZW50KS5tb3VzZWRvd24oZC5kYXRlcGlja2VyLl9jaGVja0V4dGVybmFsQ2xpY2spLmZpbmQoImJvZHkiKS5hcHBlbmQoZC5kYXRlcGlja2VyLmRwRGl2KTtkLmRhdGVwaWNrZXIuaW5pdGlhbGl6ZWQ9dHJ1ZX12YXIgYj1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMSk7aWYodHlwZW9mIGE9PSJzdHJpbmciJiYoYT09ImlzRGlzYWJsZWQifHxhPT0iZ2V0RGF0ZSJ8fGE9PSJ3aWRnZXQiKSlyZXR1cm4gZC5kYXRlcGlja2VyWyJfIithKyJEYXRlcGlja2VyIl0uYXBwbHkoZC5kYXRlcGlja2VyLFt0aGlzWzBdXS5jb25jYXQoYikpO2lmKGE9PSJvcHRpb24iJiZhcmd1bWVudHMubGVuZ3RoPT0yJiZ0eXBlb2YgYXJndW1lbnRzWzFdPT0ic3RyaW5nIilyZXR1cm4gZC5kYXRlcGlja2VyWyJfIithKyJEYXRlcGlja2VyIl0uYXBwbHkoZC5kYXRlcGlja2VyLApbdGhpc1swXV0uY29uY2F0KGIpKTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dHlwZW9mIGE9PSJzdHJpbmciP2QuZGF0ZXBpY2tlclsiXyIrYSsiRGF0ZXBpY2tlciJdLmFwcGx5KGQuZGF0ZXBpY2tlcixbdGhpc10uY29uY2F0KGIpKTpkLmRhdGVwaWNrZXIuX2F0dGFjaERhdGVwaWNrZXIodGhpcyxhKX0pfTtkLmRhdGVwaWNrZXI9bmV3IE07ZC5kYXRlcGlja2VyLmluaXRpYWxpemVkPWZhbHNlO2QuZGF0ZXBpY2tlci51dWlkPShuZXcgRGF0ZSkuZ2V0VGltZSgpO2QuZGF0ZXBpY2tlci52ZXJzaW9uPSIxLjguMTQiO3dpbmRvd1siRFBfalF1ZXJ5XyIrQV09ZH0pKGpRdWVyeSk7Cjs=]]></data>
	</file>
	<file>
	  <filename>/style/jquery-ui/jquery.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyohCiAqIGpRdWVyeSBKYXZhU2NyaXB0IExpYnJhcnkgdjEuNS4xCiAqIGh0dHA6Ly9qcXVlcnkuY29tLwogKgogKiBDb3B5cmlnaHQgMjAxMSwgSm9obiBSZXNpZwogKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQogKgogKiBJbmNsdWRlcyBTaXp6bGUuanMKICogaHR0cDovL3NpenpsZWpzLmNvbS8KICogQ29weXJpZ2h0IDIwMTEsIFRoZSBEb2pvIEZvdW5kYXRpb24KICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCwgQlNELCBhbmQgR1BMIExpY2Vuc2VzLgogKgogKiBEYXRlOiBXZWQgRmViIDIzIDEzOjU1OjI5IDIwMTEgLTA1MDAKICovCihmdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGNnKGEpe3JldHVybiBkLmlzV2luZG93KGEpP2E6YS5ub2RlVHlwZT09PTk/YS5kZWZhdWx0Vmlld3x8YS5wYXJlbnRXaW5kb3c6ITF9ZnVuY3Rpb24gY2QoYSl7aWYoIWJaW2FdKXt2YXIgYj1kKCI8IithKyI+IikuYXBwZW5kVG8oImJvZHkiKSxjPWIuY3NzKCJkaXNwbGF5Iik7Yi5yZW1vdmUoKTtpZihjPT09Im5vbmUifHxjPT09IiIpYz0iYmxvY2siO2JaW2FdPWN9cmV0dXJuIGJaW2FdfWZ1bmN0aW9uIGNjKGEsYil7dmFyIGM9e307ZC5lYWNoKGNiLmNvbmNhdC5hcHBseShbXSxjYi5zbGljZSgwLGIpKSxmdW5jdGlvbigpe2NbdGhpc109YX0pO3JldHVybiBjfWZ1bmN0aW9uIGJZKCl7dHJ5e3JldHVybiBuZXcgYS5BY3RpdmVYT2JqZWN0KCJNaWNyb3NvZnQuWE1MSFRUUCIpfWNhdGNoKGIpe319ZnVuY3Rpb24gYlgoKXt0cnl7cmV0dXJuIG5ldyBhLlhNTEh0dHBSZXF1ZXN0fWNhdGNoKGIpe319ZnVuY3Rpb24gYlcoKXtkKGEpLnVubG9hZChmdW5jdGlvbigpe2Zvcih2YXIgYSBpbiBiVSliVVthXSgwLDEpfSl9ZnVuY3Rpb24gYlEoYSxjKXthLmRhdGFGaWx0ZXImJihjPWEuZGF0YUZpbHRlcihjLGEuZGF0YVR5cGUpKTt2YXIgZT1hLmRhdGFUeXBlcyxmPXt9LGcsaCxpPWUubGVuZ3RoLGosaz1lWzBdLGwsbSxuLG8scDtmb3IoZz0xO2c8aTtnKyspe2lmKGc9PT0xKWZvcihoIGluIGEuY29udmVydGVycyl0eXBlb2YgaD09PSJzdHJpbmciJiYoZltoLnRvTG93ZXJDYXNlKCldPWEuY29udmVydGVyc1toXSk7bD1rLGs9ZVtnXTtpZihrPT09IioiKWs9bDtlbHNlIGlmKGwhPT0iKiImJmwhPT1rKXttPWwrIiAiK2ssbj1mW21dfHxmWyIqICIra107aWYoIW4pe3A9Yjtmb3IobyBpbiBmKXtqPW8uc3BsaXQoIiAiKTtpZihqWzBdPT09bHx8alswXT09PSIqIil7cD1mW2pbMV0rIiAiK2tdO2lmKHApe289ZltvXSxvPT09ITA/bj1wOnA9PT0hMCYmKG49byk7YnJlYWt9fX19IW4mJiFwJiZkLmVycm9yKCJObyBjb252ZXJzaW9uIGZyb20gIittLnJlcGxhY2UoIiAiLCIgdG8gIikpLG4hPT0hMCYmKGM9bj9uKGMpOnAobyhjKSkpfX1yZXR1cm4gY31mdW5jdGlvbiBiUChhLGMsZCl7dmFyIGU9YS5jb250ZW50cyxmPWEuZGF0YVR5cGVzLGc9YS5yZXNwb25zZUZpZWxkcyxoLGksaixrO2ZvcihpIGluIGcpaSBpbiBkJiYoY1tnW2ldXT1kW2ldKTt3aGlsZShmWzBdPT09IioiKWYuc2hpZnQoKSxoPT09YiYmKGg9YS5taW1lVHlwZXx8Yy5nZXRSZXNwb25zZUhlYWRlcigiY29udGVudC10eXBlIikpO2lmKGgpZm9yKGkgaW4gZSlpZihlW2ldJiZlW2ldLnRlc3QoaCkpe2YudW5zaGlmdChpKTticmVha31pZihmWzBdaW4gZClqPWZbMF07ZWxzZXtmb3IoaSBpbiBkKXtpZighZlswXXx8YS5jb252ZXJ0ZXJzW2krIiAiK2ZbMF1dKXtqPWk7YnJlYWt9a3x8KGs9aSl9aj1qfHxrfWlmKGope2ohPT1mWzBdJiZmLnVuc2hpZnQoaik7cmV0dXJuIGRbal19fWZ1bmN0aW9uIGJPKGEsYixjLGUpe2lmKGQuaXNBcnJheShiKSYmYi5sZW5ndGgpZC5lYWNoKGIsZnVuY3Rpb24oYixmKXtjfHxicS50ZXN0KGEpP2UoYSxmKTpiTyhhKyJbIisodHlwZW9mIGY9PT0ib2JqZWN0Inx8ZC5pc0FycmF5KGYpP2I6IiIpKyJdIixmLGMsZSl9KTtlbHNlIGlmKGN8fGI9PW51bGx8fHR5cGVvZiBiIT09Im9iamVjdCIpZShhLGIpO2Vsc2UgaWYoZC5pc0FycmF5KGIpfHxkLmlzRW1wdHlPYmplY3QoYikpZShhLCIiKTtlbHNlIGZvcih2YXIgZiBpbiBiKWJPKGErIlsiK2YrIl0iLGJbZl0sYyxlKX1mdW5jdGlvbiBiTihhLGMsZCxlLGYsZyl7Zj1mfHxjLmRhdGFUeXBlc1swXSxnPWd8fHt9LGdbZl09ITA7dmFyIGg9YVtmXSxpPTAsaj1oP2gubGVuZ3RoOjAsaz1hPT09YkgsbDtmb3IoO2k8aiYmKGt8fCFsKTtpKyspbD1oW2ldKGMsZCxlKSx0eXBlb2YgbD09PSJzdHJpbmciJiYoIWt8fGdbbF0/bD1iOihjLmRhdGFUeXBlcy51bnNoaWZ0KGwpLGw9Yk4oYSxjLGQsZSxsLGcpKSk7KGt8fCFsKSYmIWdbIioiXSYmKGw9Yk4oYSxjLGQsZSwiKiIsZykpO3JldHVybiBsfWZ1bmN0aW9uIGJNKGEpe3JldHVybiBmdW5jdGlvbihiLGMpe3R5cGVvZiBiIT09InN0cmluZyImJihjPWIsYj0iKiIpO2lmKGQuaXNGdW5jdGlvbihjKSl7dmFyIGU9Yi50b0xvd2VyQ2FzZSgpLnNwbGl0KGJCKSxmPTAsZz1lLmxlbmd0aCxoLGksajtmb3IoO2Y8ZztmKyspaD1lW2ZdLGo9L15cKy8udGVzdChoKSxqJiYoaD1oLnN1YnN0cigxKXx8IioiKSxpPWFbaF09YVtoXXx8W10saVtqPyJ1bnNoaWZ0IjoicHVzaCJdKGMpfX19ZnVuY3Rpb24gYm8oYSxiLGMpe3ZhciBlPWI9PT0id2lkdGgiP2JpOmJqLGY9Yj09PSJ3aWR0aCI/YS5vZmZzZXRXaWR0aDphLm9mZnNldEhlaWdodDtpZihjPT09ImJvcmRlciIpcmV0dXJuIGY7ZC5lYWNoKGUsZnVuY3Rpb24oKXtjfHwoZi09cGFyc2VGbG9hdChkLmNzcyhhLCJwYWRkaW5nIit0aGlzKSl8fDApLGM9PT0ibWFyZ2luIj9mKz1wYXJzZUZsb2F0KGQuY3NzKGEsIm1hcmdpbiIrdGhpcykpfHwwOmYtPXBhcnNlRmxvYXQoZC5jc3MoYSwiYm9yZGVyIit0aGlzKyJXaWR0aCIpKXx8MH0pO3JldHVybiBmfWZ1bmN0aW9uIGJhKGEsYil7Yi5zcmM/ZC5hamF4KHt1cmw6Yi5zcmMsYXN5bmM6ITEsZGF0YVR5cGU6InNjcmlwdCJ9KTpkLmdsb2JhbEV2YWwoYi50ZXh0fHxiLnRleHRDb250ZW50fHxiLmlubmVySFRNTHx8IiIpLGIucGFyZW50Tm9kZSYmYi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGIpfWZ1bmN0aW9uIF8oYSl7cmV0dXJuImdldEVsZW1lbnRzQnlUYWdOYW1lImluIGE/YS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpOiJxdWVyeVNlbGVjdG9yQWxsImluIGE/YS5xdWVyeVNlbGVjdG9yQWxsKCIqIik6W119ZnVuY3Rpb24gJChhLGIpe2lmKGIubm9kZVR5cGU9PT0xKXt2YXIgYz1iLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7Yi5jbGVhckF0dHJpYnV0ZXMoKSxiLm1lcmdlQXR0cmlidXRlcyhhKTtpZihjPT09Im9iamVjdCIpYi5vdXRlckhUTUw9YS5vdXRlckhUTUw7ZWxzZSBpZihjIT09ImlucHV0Inx8YS50eXBlIT09ImNoZWNrYm94IiYmYS50eXBlIT09InJhZGlvIil7aWYoYz09PSJvcHRpb24iKWIuc2VsZWN0ZWQ9YS5kZWZhdWx0U2VsZWN0ZWQ7ZWxzZSBpZihjPT09ImlucHV0Inx8Yz09PSJ0ZXh0YXJlYSIpYi5kZWZhdWx0VmFsdWU9YS5kZWZhdWx0VmFsdWV9ZWxzZSBhLmNoZWNrZWQmJihiLmRlZmF1bHRDaGVja2VkPWIuY2hlY2tlZD1hLmNoZWNrZWQpLGIudmFsdWUhPT1hLnZhbHVlJiYoYi52YWx1ZT1hLnZhbHVlKTtiLnJlbW92ZUF0dHJpYnV0ZShkLmV4cGFuZG8pfX1mdW5jdGlvbiBaKGEsYil7aWYoYi5ub2RlVHlwZT09PTEmJmQuaGFzRGF0YShhKSl7dmFyIGM9ZC5leHBhbmRvLGU9ZC5kYXRhKGEpLGY9ZC5kYXRhKGIsZSk7aWYoZT1lW2NdKXt2YXIgZz1lLmV2ZW50cztmPWZbY109ZC5leHRlbmQoe30sZSk7aWYoZyl7ZGVsZXRlIGYuaGFuZGxlLGYuZXZlbnRzPXt9O2Zvcih2YXIgaCBpbiBnKWZvcih2YXIgaT0wLGo9Z1toXS5sZW5ndGg7aTxqO2krKylkLmV2ZW50LmFkZChiLGgrKGdbaF1baV0ubmFtZXNwYWNlPyIuIjoiIikrZ1toXVtpXS5uYW1lc3BhY2UsZ1toXVtpXSxnW2hdW2ldLmRhdGEpfX19fWZ1bmN0aW9uIFkoYSxiKXtyZXR1cm4gZC5ub2RlTmFtZShhLCJ0YWJsZSIpP2EuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInRib2R5IilbMF18fGEuYXBwZW5kQ2hpbGQoYS5vd25lckRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRib2R5IikpOmF9ZnVuY3Rpb24gTyhhLGIsYyl7aWYoZC5pc0Z1bmN0aW9uKGIpKXJldHVybiBkLmdyZXAoYSxmdW5jdGlvbihhLGQpe3ZhciBlPSEhYi5jYWxsKGEsZCxhKTtyZXR1cm4gZT09PWN9KTtpZihiLm5vZGVUeXBlKXJldHVybiBkLmdyZXAoYSxmdW5jdGlvbihhLGQpe3JldHVybiBhPT09Yj09PWN9KTtpZih0eXBlb2YgYj09PSJzdHJpbmciKXt2YXIgZT1kLmdyZXAoYSxmdW5jdGlvbihhKXtyZXR1cm4gYS5ub2RlVHlwZT09PTF9KTtpZihKLnRlc3QoYikpcmV0dXJuIGQuZmlsdGVyKGIsZSwhYyk7Yj1kLmZpbHRlcihiLGUpfXJldHVybiBkLmdyZXAoYSxmdW5jdGlvbihhLGUpe3JldHVybiBkLmluQXJyYXkoYSxiKT49MD09PWN9KX1mdW5jdGlvbiBOKGEpe3JldHVybiFhfHwhYS5wYXJlbnROb2RlfHxhLnBhcmVudE5vZGUubm9kZVR5cGU9PT0xMX1mdW5jdGlvbiBGKGEsYil7cmV0dXJuKGEmJmEhPT0iKiI/YSsiLiI6IiIpK2IucmVwbGFjZShyLCJgIikucmVwbGFjZShzLCImIil9ZnVuY3Rpb24gRShhKXt2YXIgYixjLGUsZixnLGgsaSxqLGssbCxtLG4sbyxxPVtdLHI9W10scz1kLl9kYXRhKHRoaXMsImV2ZW50cyIpO2lmKGEubGl2ZUZpcmVkIT09dGhpcyYmcyYmcy5saXZlJiYhYS50YXJnZXQuZGlzYWJsZWQmJighYS5idXR0b258fGEudHlwZSE9PSJjbGljayIpKXthLm5hbWVzcGFjZSYmKG49bmV3IFJlZ0V4cCgiKF58XFwuKSIrYS5uYW1lc3BhY2Uuc3BsaXQoIi4iKS5qb2luKCJcXC4oPzouKlxcLik/IikrIihcXC58JCkiKSksYS5saXZlRmlyZWQ9dGhpczt2YXIgdD1zLmxpdmUuc2xpY2UoMCk7Zm9yKGk9MDtpPHQubGVuZ3RoO2krKylnPXRbaV0sZy5vcmlnVHlwZS5yZXBsYWNlKHAsIiIpPT09YS50eXBlP3IucHVzaChnLnNlbGVjdG9yKTp0LnNwbGljZShpLS0sMSk7Zj1kKGEudGFyZ2V0KS5jbG9zZXN0KHIsYS5jdXJyZW50VGFyZ2V0KTtmb3Ioaj0wLGs9Zi5sZW5ndGg7ajxrO2orKyl7bT1mW2pdO2ZvcihpPTA7aTx0Lmxlbmd0aDtpKyspe2c9dFtpXTtpZihtLnNlbGVjdG9yPT09Zy5zZWxlY3RvciYmKCFufHxuLnRlc3QoZy5uYW1lc3BhY2UpKSYmIW0uZWxlbS5kaXNhYmxlZCl7aD1tLmVsZW0sZT1udWxsO2lmKGcucHJlVHlwZT09PSJtb3VzZWVudGVyInx8Zy5wcmVUeXBlPT09Im1vdXNlbGVhdmUiKWEudHlwZT1nLnByZVR5cGUsZT1kKGEucmVsYXRlZFRhcmdldCkuY2xvc2VzdChnLnNlbGVjdG9yKVswXTsoIWV8fGUhPT1oKSYmcS5wdXNoKHtlbGVtOmgsaGFuZGxlT2JqOmcsbGV2ZWw6bS5sZXZlbH0pfX19Zm9yKGo9MCxrPXEubGVuZ3RoO2o8aztqKyspe2Y9cVtqXTtpZihjJiZmLmxldmVsPmMpYnJlYWs7YS5jdXJyZW50VGFyZ2V0PWYuZWxlbSxhLmRhdGE9Zi5oYW5kbGVPYmouZGF0YSxhLmhhbmRsZU9iaj1mLmhhbmRsZU9iaixvPWYuaGFuZGxlT2JqLm9yaWdIYW5kbGVyLmFwcGx5KGYuZWxlbSxhcmd1bWVudHMpO2lmKG89PT0hMXx8YS5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpKXtjPWYubGV2ZWwsbz09PSExJiYoYj0hMSk7aWYoYS5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZCgpKWJyZWFrfX1yZXR1cm4gYn19ZnVuY3Rpb24gQyhhLGMsZSl7dmFyIGY9ZC5leHRlbmQoe30sZVswXSk7Zi50eXBlPWEsZi5vcmlnaW5hbEV2ZW50PXt9LGYubGl2ZUZpcmVkPWIsZC5ldmVudC5oYW5kbGUuY2FsbChjLGYpLGYuaXNEZWZhdWx0UHJldmVudGVkKCkmJmVbMF0ucHJldmVudERlZmF1bHQoKX1mdW5jdGlvbiB3KCl7cmV0dXJuITB9ZnVuY3Rpb24gdigpe3JldHVybiExfWZ1bmN0aW9uIGcoYSl7Zm9yKHZhciBiIGluIGEpaWYoYiE9PSJ0b0pTT04iKXJldHVybiExO3JldHVybiEwfWZ1bmN0aW9uIGYoYSxjLGYpe2lmKGY9PT1iJiZhLm5vZGVUeXBlPT09MSl7Zj1hLmdldEF0dHJpYnV0ZSgiZGF0YS0iK2MpO2lmKHR5cGVvZiBmPT09InN0cmluZyIpe3RyeXtmPWY9PT0idHJ1ZSI/ITA6Zj09PSJmYWxzZSI/ITE6Zj09PSJudWxsIj9udWxsOmQuaXNOYU4oZik/ZS50ZXN0KGYpP2QucGFyc2VKU09OKGYpOmY6cGFyc2VGbG9hdChmKX1jYXRjaChnKXt9ZC5kYXRhKGEsYyxmKX1lbHNlIGY9Yn1yZXR1cm4gZn12YXIgYz1hLmRvY3VtZW50LGQ9ZnVuY3Rpb24oKXtmdW5jdGlvbiBJKCl7aWYoIWQuaXNSZWFkeSl7dHJ5e2MuZG9jdW1lbnRFbGVtZW50LmRvU2Nyb2xsKCJsZWZ0Iil9Y2F0Y2goYSl7c2V0VGltZW91dChJLDEpO3JldHVybn1kLnJlYWR5KCl9fXZhciBkPWZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBkLmZuLmluaXQoYSxiLGcpfSxlPWEualF1ZXJ5LGY9YS4kLGcsaD0vXig/OltePF0qKDxbXHdcV10rPilbXj5dKiR8IyhbXHdcLV0rKSQpLyxpPS9cUy8saj0vXlxzKy8saz0vXHMrJC8sbD0vXGQvLG09L148KFx3KylccypcLz8+KD86PFwvXDE+KT8kLyxuPS9eW1xdLDp7fVxzXSokLyxvPS9cXCg/OlsiXFxcL2JmbnJ0XXx1WzAtOWEtZkEtRl17NH0pL2cscD0vIlteIlxcXG5ccl0qInx0cnVlfGZhbHNlfG51bGx8LT9cZCsoPzpcLlxkKik/KD86W2VFXVsrXC1dP1xkKyk/L2cscT0vKD86Xnw6fCwpKD86XHMqXFspKy9nLHI9Lyh3ZWJraXQpWyBcL10oW1x3Ll0rKS8scz0vKG9wZXJhKSg/Oi4qdmVyc2lvbik/WyBcL10oW1x3Ll0rKS8sdD0vKG1zaWUpIChbXHcuXSspLyx1PS8obW96aWxsYSkoPzouKj8gcnY6KFtcdy5dKykpPy8sdj1uYXZpZ2F0b3IudXNlckFnZW50LHcseD0hMSx5LHo9InRoZW4gZG9uZSBmYWlsIGlzUmVzb2x2ZWQgaXNSZWplY3RlZCBwcm9taXNlIi5zcGxpdCgiICIpLEEsQj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLEM9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxEPUFycmF5LnByb3RvdHlwZS5wdXNoLEU9QXJyYXkucHJvdG90eXBlLnNsaWNlLEY9U3RyaW5nLnByb3RvdHlwZS50cmltLEc9QXJyYXkucHJvdG90eXBlLmluZGV4T2YsSD17fTtkLmZuPWQucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpkLGluaXQ6ZnVuY3Rpb24oYSxlLGYpe3ZhciBnLGksaixrO2lmKCFhKXJldHVybiB0aGlzO2lmKGEubm9kZVR5cGUpe3RoaXMuY29udGV4dD10aGlzWzBdPWEsdGhpcy5sZW5ndGg9MTtyZXR1cm4gdGhpc31pZihhPT09ImJvZHkiJiYhZSYmYy5ib2R5KXt0aGlzLmNvbnRleHQ9Yyx0aGlzWzBdPWMuYm9keSx0aGlzLnNlbGVjdG9yPSJib2R5Iix0aGlzLmxlbmd0aD0xO3JldHVybiB0aGlzfWlmKHR5cGVvZiBhPT09InN0cmluZyIpe2c9aC5leGVjKGEpO2lmKCFnfHwhZ1sxXSYmZSlyZXR1cm4hZXx8ZS5qcXVlcnk/KGV8fGYpLmZpbmQoYSk6dGhpcy5jb25zdHJ1Y3RvcihlKS5maW5kKGEpO2lmKGdbMV0pe2U9ZSBpbnN0YW5jZW9mIGQ/ZVswXTplLGs9ZT9lLm93bmVyRG9jdW1lbnR8fGU6YyxqPW0uZXhlYyhhKSxqP2QuaXNQbGFpbk9iamVjdChlKT8oYT1bYy5jcmVhdGVFbGVtZW50KGpbMV0pXSxkLmZuLmF0dHIuY2FsbChhLGUsITApKTphPVtrLmNyZWF0ZUVsZW1lbnQoalsxXSldOihqPWQuYnVpbGRGcmFnbWVudChbZ1sxXV0sW2tdKSxhPShqLmNhY2hlYWJsZT9kLmNsb25lKGouZnJhZ21lbnQpOmouZnJhZ21lbnQpLmNoaWxkTm9kZXMpO3JldHVybiBkLm1lcmdlKHRoaXMsYSl9aT1jLmdldEVsZW1lbnRCeUlkKGdbMl0pO2lmKGkmJmkucGFyZW50Tm9kZSl7aWYoaS5pZCE9PWdbMl0pcmV0dXJuIGYuZmluZChhKTt0aGlzLmxlbmd0aD0xLHRoaXNbMF09aX10aGlzLmNvbnRleHQ9Yyx0aGlzLnNlbGVjdG9yPWE7cmV0dXJuIHRoaXN9aWYoZC5pc0Z1bmN0aW9uKGEpKXJldHVybiBmLnJlYWR5KGEpO2Euc2VsZWN0b3IhPT1iJiYodGhpcy5zZWxlY3Rvcj1hLnNlbGVjdG9yLHRoaXMuY29udGV4dD1hLmNvbnRleHQpO3JldHVybiBkLm1ha2VBcnJheShhLHRoaXMpfSxzZWxlY3RvcjoiIixqcXVlcnk6IjEuNS4xIixsZW5ndGg6MCxzaXplOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubGVuZ3RofSx0b0FycmF5OmZ1bmN0aW9uKCl7cmV0dXJuIEUuY2FsbCh0aGlzLDApfSxnZXQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PW51bGw/dGhpcy50b0FycmF5KCk6YTwwP3RoaXNbdGhpcy5sZW5ndGgrYV06dGhpc1thXX0scHVzaFN0YWNrOmZ1bmN0aW9uKGEsYixjKXt2YXIgZT10aGlzLmNvbnN0cnVjdG9yKCk7ZC5pc0FycmF5KGEpP0QuYXBwbHkoZSxhKTpkLm1lcmdlKGUsYSksZS5wcmV2T2JqZWN0PXRoaXMsZS5jb250ZXh0PXRoaXMuY29udGV4dCxiPT09ImZpbmQiP2Uuc2VsZWN0b3I9dGhpcy5zZWxlY3RvcisodGhpcy5zZWxlY3Rvcj8iICI6IiIpK2M6YiYmKGUuc2VsZWN0b3I9dGhpcy5zZWxlY3RvcisiLiIrYisiKCIrYysiKSIpO3JldHVybiBlfSxlYWNoOmZ1bmN0aW9uKGEsYil7cmV0dXJuIGQuZWFjaCh0aGlzLGEsYil9LHJlYWR5OmZ1bmN0aW9uKGEpe2QuYmluZFJlYWR5KCkseS5kb25lKGEpO3JldHVybiB0aGlzfSxlcTpmdW5jdGlvbihhKXtyZXR1cm4gYT09PS0xP3RoaXMuc2xpY2UoYSk6dGhpcy5zbGljZShhLCthKzEpfSxmaXJzdDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVxKDApfSxsYXN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZXEoLTEpfSxzbGljZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLnB1c2hTdGFjayhFLmFwcGx5KHRoaXMsYXJndW1lbnRzKSwic2xpY2UiLEUuY2FsbChhcmd1bWVudHMpLmpvaW4oIiwiKSl9LG1hcDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soZC5tYXAodGhpcyxmdW5jdGlvbihiLGMpe3JldHVybiBhLmNhbGwoYixjLGIpfSkpfSxlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wcmV2T2JqZWN0fHx0aGlzLmNvbnN0cnVjdG9yKG51bGwpfSxwdXNoOkQsc29ydDpbXS5zb3J0LHNwbGljZTpbXS5zcGxpY2V9LGQuZm4uaW5pdC5wcm90b3R5cGU9ZC5mbixkLmV4dGVuZD1kLmZuLmV4dGVuZD1mdW5jdGlvbigpe3ZhciBhLGMsZSxmLGcsaCxpPWFyZ3VtZW50c1swXXx8e30saj0xLGs9YXJndW1lbnRzLmxlbmd0aCxsPSExO3R5cGVvZiBpPT09ImJvb2xlYW4iJiYobD1pLGk9YXJndW1lbnRzWzFdfHx7fSxqPTIpLHR5cGVvZiBpIT09Im9iamVjdCImJiFkLmlzRnVuY3Rpb24oaSkmJihpPXt9KSxrPT09aiYmKGk9dGhpcywtLWopO2Zvcig7ajxrO2orKylpZigoYT1hcmd1bWVudHNbal0pIT1udWxsKWZvcihjIGluIGEpe2U9aVtjXSxmPWFbY107aWYoaT09PWYpY29udGludWU7bCYmZiYmKGQuaXNQbGFpbk9iamVjdChmKXx8KGc9ZC5pc0FycmF5KGYpKSk/KGc/KGc9ITEsaD1lJiZkLmlzQXJyYXkoZSk/ZTpbXSk6aD1lJiZkLmlzUGxhaW5PYmplY3QoZSk/ZTp7fSxpW2NdPWQuZXh0ZW5kKGwsaCxmKSk6ZiE9PWImJihpW2NdPWYpfXJldHVybiBpfSxkLmV4dGVuZCh7bm9Db25mbGljdDpmdW5jdGlvbihiKXthLiQ9ZixiJiYoYS5qUXVlcnk9ZSk7cmV0dXJuIGR9LGlzUmVhZHk6ITEscmVhZHlXYWl0OjEscmVhZHk6ZnVuY3Rpb24oYSl7YT09PSEwJiZkLnJlYWR5V2FpdC0tO2lmKCFkLnJlYWR5V2FpdHx8YSE9PSEwJiYhZC5pc1JlYWR5KXtpZighYy5ib2R5KXJldHVybiBzZXRUaW1lb3V0KGQucmVhZHksMSk7ZC5pc1JlYWR5PSEwO2lmKGEhPT0hMCYmLS1kLnJlYWR5V2FpdD4wKXJldHVybjt5LnJlc29sdmVXaXRoKGMsW2RdKSxkLmZuLnRyaWdnZXImJmQoYykudHJpZ2dlcigicmVhZHkiKS51bmJpbmQoInJlYWR5Iil9fSxiaW5kUmVhZHk6ZnVuY3Rpb24oKXtpZigheCl7eD0hMDtpZihjLnJlYWR5U3RhdGU9PT0iY29tcGxldGUiKXJldHVybiBzZXRUaW1lb3V0KGQucmVhZHksMSk7aWYoYy5hZGRFdmVudExpc3RlbmVyKWMuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsQSwhMSksYS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixkLnJlYWR5LCExKTtlbHNlIGlmKGMuYXR0YWNoRXZlbnQpe2MuYXR0YWNoRXZlbnQoIm9ucmVhZHlzdGF0ZWNoYW5nZSIsQSksYS5hdHRhY2hFdmVudCgib25sb2FkIixkLnJlYWR5KTt2YXIgYj0hMTt0cnl7Yj1hLmZyYW1lRWxlbWVudD09bnVsbH1jYXRjaChlKXt9Yy5kb2N1bWVudEVsZW1lbnQuZG9TY3JvbGwmJmImJkkoKX19fSxpc0Z1bmN0aW9uOmZ1bmN0aW9uKGEpe3JldHVybiBkLnR5cGUoYSk9PT0iZnVuY3Rpb24ifSxpc0FycmF5OkFycmF5LmlzQXJyYXl8fGZ1bmN0aW9uKGEpe3JldHVybiBkLnR5cGUoYSk9PT0iYXJyYXkifSxpc1dpbmRvdzpmdW5jdGlvbihhKXtyZXR1cm4gYSYmdHlwZW9mIGE9PT0ib2JqZWN0IiYmInNldEludGVydmFsImluIGF9LGlzTmFOOmZ1bmN0aW9uKGEpe3JldHVybiBhPT1udWxsfHwhbC50ZXN0KGEpfHxpc05hTihhKX0sdHlwZTpmdW5jdGlvbihhKXtyZXR1cm4gYT09bnVsbD9TdHJpbmcoYSk6SFtCLmNhbGwoYSldfHwib2JqZWN0In0saXNQbGFpbk9iamVjdDpmdW5jdGlvbihhKXtpZighYXx8ZC50eXBlKGEpIT09Im9iamVjdCJ8fGEubm9kZVR5cGV8fGQuaXNXaW5kb3coYSkpcmV0dXJuITE7aWYoYS5jb25zdHJ1Y3RvciYmIUMuY2FsbChhLCJjb25zdHJ1Y3RvciIpJiYhQy5jYWxsKGEuY29uc3RydWN0b3IucHJvdG90eXBlLCJpc1Byb3RvdHlwZU9mIikpcmV0dXJuITE7dmFyIGM7Zm9yKGMgaW4gYSl7fXJldHVybiBjPT09Ynx8Qy5jYWxsKGEsYyl9LGlzRW1wdHlPYmplY3Q6ZnVuY3Rpb24oYSl7Zm9yKHZhciBiIGluIGEpcmV0dXJuITE7cmV0dXJuITB9LGVycm9yOmZ1bmN0aW9uKGEpe3Rocm93IGF9LHBhcnNlSlNPTjpmdW5jdGlvbihiKXtpZih0eXBlb2YgYiE9PSJzdHJpbmcifHwhYilyZXR1cm4gbnVsbDtiPWQudHJpbShiKTtpZihuLnRlc3QoYi5yZXBsYWNlKG8sIkAiKS5yZXBsYWNlKHAsIl0iKS5yZXBsYWNlKHEsIiIpKSlyZXR1cm4gYS5KU09OJiZhLkpTT04ucGFyc2U/YS5KU09OLnBhcnNlKGIpOihuZXcgRnVuY3Rpb24oInJldHVybiAiK2IpKSgpO2QuZXJyb3IoIkludmFsaWQgSlNPTjogIitiKX0scGFyc2VYTUw6ZnVuY3Rpb24oYixjLGUpe2EuRE9NUGFyc2VyPyhlPW5ldyBET01QYXJzZXIsYz1lLnBhcnNlRnJvbVN0cmluZyhiLCJ0ZXh0L3htbCIpKTooYz1uZXcgQWN0aXZlWE9iamVjdCgiTWljcm9zb2Z0LlhNTERPTSIpLGMuYXN5bmM9ImZhbHNlIixjLmxvYWRYTUwoYikpLGU9Yy5kb2N1bWVudEVsZW1lbnQsKCFlfHwhZS5ub2RlTmFtZXx8ZS5ub2RlTmFtZT09PSJwYXJzZXJlcnJvciIpJiZkLmVycm9yKCJJbnZhbGlkIFhNTDogIitiKTtyZXR1cm4gY30sbm9vcDpmdW5jdGlvbigpe30sZ2xvYmFsRXZhbDpmdW5jdGlvbihhKXtpZihhJiZpLnRlc3QoYSkpe3ZhciBiPWMuaGVhZHx8Yy5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdfHxjLmRvY3VtZW50RWxlbWVudCxlPWMuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7ZC5zdXBwb3J0LnNjcmlwdEV2YWwoKT9lLmFwcGVuZENoaWxkKGMuY3JlYXRlVGV4dE5vZGUoYSkpOmUudGV4dD1hLGIuaW5zZXJ0QmVmb3JlKGUsYi5maXJzdENoaWxkKSxiLnJlbW92ZUNoaWxkKGUpfX0sbm9kZU5hbWU6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5ub2RlTmFtZSYmYS5ub2RlTmFtZS50b1VwcGVyQ2FzZSgpPT09Yi50b1VwcGVyQ2FzZSgpfSxlYWNoOmZ1bmN0aW9uKGEsYyxlKXt2YXIgZixnPTAsaD1hLmxlbmd0aCxpPWg9PT1ifHxkLmlzRnVuY3Rpb24oYSk7aWYoZSl7aWYoaSl7Zm9yKGYgaW4gYSlpZihjLmFwcGx5KGFbZl0sZSk9PT0hMSlicmVha31lbHNlIGZvcig7ZzxoOylpZihjLmFwcGx5KGFbZysrXSxlKT09PSExKWJyZWFrfWVsc2UgaWYoaSl7Zm9yKGYgaW4gYSlpZihjLmNhbGwoYVtmXSxmLGFbZl0pPT09ITEpYnJlYWt9ZWxzZSBmb3IodmFyIGo9YVswXTtnPGgmJmMuY2FsbChqLGcsaikhPT0hMTtqPWFbKytnXSl7fXJldHVybiBhfSx0cmltOkY/ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PW51bGw/IiI6Ri5jYWxsKGEpfTpmdW5jdGlvbihhKXtyZXR1cm4gYT09bnVsbD8iIjooYSsiIikucmVwbGFjZShqLCIiKS5yZXBsYWNlKGssIiIpfSxtYWtlQXJyYXk6ZnVuY3Rpb24oYSxiKXt2YXIgYz1ifHxbXTtpZihhIT1udWxsKXt2YXIgZT1kLnR5cGUoYSk7YS5sZW5ndGg9PW51bGx8fGU9PT0ic3RyaW5nInx8ZT09PSJmdW5jdGlvbiJ8fGU9PT0icmVnZXhwInx8ZC5pc1dpbmRvdyhhKT9ELmNhbGwoYyxhKTpkLm1lcmdlKGMsYSl9cmV0dXJuIGN9LGluQXJyYXk6ZnVuY3Rpb24oYSxiKXtpZihiLmluZGV4T2YpcmV0dXJuIGIuaW5kZXhPZihhKTtmb3IodmFyIGM9MCxkPWIubGVuZ3RoO2M8ZDtjKyspaWYoYltjXT09PWEpcmV0dXJuIGM7cmV0dXJuLTF9LG1lcmdlOmZ1bmN0aW9uKGEsYyl7dmFyIGQ9YS5sZW5ndGgsZT0wO2lmKHR5cGVvZiBjLmxlbmd0aD09PSJudW1iZXIiKWZvcih2YXIgZj1jLmxlbmd0aDtlPGY7ZSsrKWFbZCsrXT1jW2VdO2Vsc2Ugd2hpbGUoY1tlXSE9PWIpYVtkKytdPWNbZSsrXTthLmxlbmd0aD1kO3JldHVybiBhfSxncmVwOmZ1bmN0aW9uKGEsYixjKXt2YXIgZD1bXSxlO2M9ISFjO2Zvcih2YXIgZj0wLGc9YS5sZW5ndGg7ZjxnO2YrKyllPSEhYihhW2ZdLGYpLGMhPT1lJiZkLnB1c2goYVtmXSk7cmV0dXJuIGR9LG1hcDpmdW5jdGlvbihhLGIsYyl7dmFyIGQ9W10sZTtmb3IodmFyIGY9MCxnPWEubGVuZ3RoO2Y8ZztmKyspZT1iKGFbZl0sZixjKSxlIT1udWxsJiYoZFtkLmxlbmd0aF09ZSk7cmV0dXJuIGQuY29uY2F0LmFwcGx5KFtdLGQpfSxndWlkOjEscHJveHk6ZnVuY3Rpb24oYSxjLGUpe2FyZ3VtZW50cy5sZW5ndGg9PT0yJiYodHlwZW9mIGM9PT0ic3RyaW5nIj8oZT1hLGE9ZVtjXSxjPWIpOmMmJiFkLmlzRnVuY3Rpb24oYykmJihlPWMsYz1iKSksIWMmJmEmJihjPWZ1bmN0aW9uKCl7cmV0dXJuIGEuYXBwbHkoZXx8dGhpcyxhcmd1bWVudHMpfSksYSYmKGMuZ3VpZD1hLmd1aWQ9YS5ndWlkfHxjLmd1aWR8fGQuZ3VpZCsrKTtyZXR1cm4gY30sYWNjZXNzOmZ1bmN0aW9uKGEsYyxlLGYsZyxoKXt2YXIgaT1hLmxlbmd0aDtpZih0eXBlb2YgYz09PSJvYmplY3QiKXtmb3IodmFyIGogaW4gYylkLmFjY2VzcyhhLGosY1tqXSxmLGcsZSk7cmV0dXJuIGF9aWYoZSE9PWIpe2Y9IWgmJmYmJmQuaXNGdW5jdGlvbihlKTtmb3IodmFyIGs9MDtrPGk7aysrKWcoYVtrXSxjLGY/ZS5jYWxsKGFba10sayxnKGFba10sYykpOmUsaCk7cmV0dXJuIGF9cmV0dXJuIGk/ZyhhWzBdLGMpOmJ9LG5vdzpmdW5jdGlvbigpe3JldHVybihuZXcgRGF0ZSkuZ2V0VGltZSgpfSxfRGVmZXJyZWQ6ZnVuY3Rpb24oKXt2YXIgYT1bXSxiLGMsZSxmPXtkb25lOmZ1bmN0aW9uKCl7aWYoIWUpe3ZhciBjPWFyZ3VtZW50cyxnLGgsaSxqLGs7YiYmKGs9YixiPTApO2ZvcihnPTAsaD1jLmxlbmd0aDtnPGg7ZysrKWk9Y1tnXSxqPWQudHlwZShpKSxqPT09ImFycmF5Ij9mLmRvbmUuYXBwbHkoZixpKTpqPT09ImZ1bmN0aW9uIiYmYS5wdXNoKGkpO2smJmYucmVzb2x2ZVdpdGgoa1swXSxrWzFdKX1yZXR1cm4gdGhpc30scmVzb2x2ZVdpdGg6ZnVuY3Rpb24oZCxmKXtpZighZSYmIWImJiFjKXtjPTE7dHJ5e3doaWxlKGFbMF0pYS5zaGlmdCgpLmFwcGx5KGQsZil9Y2F0Y2goZyl7dGhyb3cgZ31maW5hbGx5e2I9W2QsZl0sYz0wfX1yZXR1cm4gdGhpc30scmVzb2x2ZTpmdW5jdGlvbigpe2YucmVzb2x2ZVdpdGgoZC5pc0Z1bmN0aW9uKHRoaXMucHJvbWlzZSk/dGhpcy5wcm9taXNlKCk6dGhpcyxhcmd1bWVudHMpO3JldHVybiB0aGlzfSxpc1Jlc29sdmVkOmZ1bmN0aW9uKCl7cmV0dXJuIGN8fGJ9LGNhbmNlbDpmdW5jdGlvbigpe2U9MSxhPVtdO3JldHVybiB0aGlzfX07cmV0dXJuIGZ9LERlZmVycmVkOmZ1bmN0aW9uKGEpe3ZhciBiPWQuX0RlZmVycmVkKCksYz1kLl9EZWZlcnJlZCgpLGU7ZC5leHRlbmQoYix7dGhlbjpmdW5jdGlvbihhLGMpe2IuZG9uZShhKS5mYWlsKGMpO3JldHVybiB0aGlzfSxmYWlsOmMuZG9uZSxyZWplY3RXaXRoOmMucmVzb2x2ZVdpdGgscmVqZWN0OmMucmVzb2x2ZSxpc1JlamVjdGVkOmMuaXNSZXNvbHZlZCxwcm9taXNlOmZ1bmN0aW9uKGEpe2lmKGE9PW51bGwpe2lmKGUpcmV0dXJuIGU7ZT1hPXt9fXZhciBjPXoubGVuZ3RoO3doaWxlKGMtLSlhW3pbY11dPWJbeltjXV07cmV0dXJuIGF9fSksYi5kb25lKGMuY2FuY2VsKS5mYWlsKGIuY2FuY2VsKSxkZWxldGUgYi5jYW5jZWwsYSYmYS5jYWxsKGIsYik7cmV0dXJuIGJ9LHdoZW46ZnVuY3Rpb24oYSl7dmFyIGI9YXJndW1lbnRzLmxlbmd0aCxjPWI8PTEmJmEmJmQuaXNGdW5jdGlvbihhLnByb21pc2UpP2E6ZC5EZWZlcnJlZCgpLGU9Yy5wcm9taXNlKCk7aWYoYj4xKXt2YXIgZj1FLmNhbGwoYXJndW1lbnRzLDApLGc9YixoPWZ1bmN0aW9uKGEpe3JldHVybiBmdW5jdGlvbihiKXtmW2FdPWFyZ3VtZW50cy5sZW5ndGg+MT9FLmNhbGwoYXJndW1lbnRzLDApOmIsLS1nfHxjLnJlc29sdmVXaXRoKGUsZil9fTt3aGlsZShiLS0pYT1mW2JdLGEmJmQuaXNGdW5jdGlvbihhLnByb21pc2UpP2EucHJvbWlzZSgpLnRoZW4oaChiKSxjLnJlamVjdCk6LS1nO2d8fGMucmVzb2x2ZVdpdGgoZSxmKX1lbHNlIGMhPT1hJiZjLnJlc29sdmUoYSk7cmV0dXJuIGV9LHVhTWF0Y2g6ZnVuY3Rpb24oYSl7YT1hLnRvTG93ZXJDYXNlKCk7dmFyIGI9ci5leGVjKGEpfHxzLmV4ZWMoYSl8fHQuZXhlYyhhKXx8YS5pbmRleE9mKCJjb21wYXRpYmxlIik8MCYmdS5leGVjKGEpfHxbXTtyZXR1cm57YnJvd3NlcjpiWzFdfHwiIix2ZXJzaW9uOmJbMl18fCIwIn19LHN1YjpmdW5jdGlvbigpe2Z1bmN0aW9uIGEoYixjKXtyZXR1cm4gbmV3IGEuZm4uaW5pdChiLGMpfWQuZXh0ZW5kKCEwLGEsdGhpcyksYS5zdXBlcmNsYXNzPXRoaXMsYS5mbj1hLnByb3RvdHlwZT10aGlzKCksYS5mbi5jb25zdHJ1Y3Rvcj1hLGEuc3ViY2xhc3M9dGhpcy5zdWJjbGFzcyxhLmZuLmluaXQ9ZnVuY3Rpb24gYihiLGMpe2MmJmMgaW5zdGFuY2VvZiBkJiYhKGMgaW5zdGFuY2VvZiBhKSYmKGM9YShjKSk7cmV0dXJuIGQuZm4uaW5pdC5jYWxsKHRoaXMsYixjLGUpfSxhLmZuLmluaXQucHJvdG90eXBlPWEuZm47dmFyIGU9YShjKTtyZXR1cm4gYX0sYnJvd3Nlcjp7fX0pLHk9ZC5fRGVmZXJyZWQoKSxkLmVhY2goIkJvb2xlYW4gTnVtYmVyIFN0cmluZyBGdW5jdGlvbiBBcnJheSBEYXRlIFJlZ0V4cCBPYmplY3QiLnNwbGl0KCIgIiksZnVuY3Rpb24oYSxiKXtIWyJbb2JqZWN0ICIrYisiXSJdPWIudG9Mb3dlckNhc2UoKX0pLHc9ZC51YU1hdGNoKHYpLHcuYnJvd3NlciYmKGQuYnJvd3Nlclt3LmJyb3dzZXJdPSEwLGQuYnJvd3Nlci52ZXJzaW9uPXcudmVyc2lvbiksZC5icm93c2VyLndlYmtpdCYmKGQuYnJvd3Nlci5zYWZhcmk9ITApLEcmJihkLmluQXJyYXk9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gRy5jYWxsKGIsYSl9KSxpLnRlc3QoIsKgIikmJihqPS9eW1xzXHhBMF0rLyxrPS9bXHNceEEwXSskLyksZz1kKGMpLGMuYWRkRXZlbnRMaXN0ZW5lcj9BPWZ1bmN0aW9uKCl7Yy5yZW1vdmVFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixBLCExKSxkLnJlYWR5KCl9OmMuYXR0YWNoRXZlbnQmJihBPWZ1bmN0aW9uKCl7Yy5yZWFkeVN0YXRlPT09ImNvbXBsZXRlIiYmKGMuZGV0YWNoRXZlbnQoIm9ucmVhZHlzdGF0ZWNoYW5nZSIsQSksZC5yZWFkeSgpKX0pO3JldHVybiBkfSgpOyhmdW5jdGlvbigpe2Quc3VwcG9ydD17fTt2YXIgYj1jLmNyZWF0ZUVsZW1lbnQoImRpdiIpO2Iuc3R5bGUuZGlzcGxheT0ibm9uZSIsYi5pbm5lckhUTUw9IiAgIDxsaW5rLz48dGFibGU+PC90YWJsZT48YSBocmVmPScvYScgc3R5bGU9J2NvbG9yOnJlZDtmbG9hdDpsZWZ0O29wYWNpdHk6LjU1Oyc+YTwvYT48aW5wdXQgdHlwZT0nY2hlY2tib3gnLz4iO3ZhciBlPWIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKSxmPWIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImEiKVswXSxnPWMuY3JlYXRlRWxlbWVudCgic2VsZWN0IiksaD1nLmFwcGVuZENoaWxkKGMuY3JlYXRlRWxlbWVudCgib3B0aW9uIikpLGk9Yi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaW5wdXQiKVswXTtpZihlJiZlLmxlbmd0aCYmZil7ZC5zdXBwb3J0PXtsZWFkaW5nV2hpdGVzcGFjZTpiLmZpcnN0Q2hpbGQubm9kZVR5cGU9PT0zLHRib2R5OiFiLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0Ym9keSIpLmxlbmd0aCxodG1sU2VyaWFsaXplOiEhYi5nZXRFbGVtZW50c0J5VGFnTmFtZSgibGluayIpLmxlbmd0aCxzdHlsZTovcmVkLy50ZXN0KGYuZ2V0QXR0cmlidXRlKCJzdHlsZSIpKSxocmVmTm9ybWFsaXplZDpmLmdldEF0dHJpYnV0ZSgiaHJlZiIpPT09Ii9hIixvcGFjaXR5Oi9eMC41NSQvLnRlc3QoZi5zdHlsZS5vcGFjaXR5KSxjc3NGbG9hdDohIWYuc3R5bGUuY3NzRmxvYXQsY2hlY2tPbjppLnZhbHVlPT09Im9uIixvcHRTZWxlY3RlZDpoLnNlbGVjdGVkLGRlbGV0ZUV4cGFuZG86ITAsb3B0RGlzYWJsZWQ6ITEsY2hlY2tDbG9uZTohMSxub0Nsb25lRXZlbnQ6ITAsbm9DbG9uZUNoZWNrZWQ6ITAsYm94TW9kZWw6bnVsbCxpbmxpbmVCbG9ja05lZWRzTGF5b3V0OiExLHNocmlua1dyYXBCbG9ja3M6ITEscmVsaWFibGVIaWRkZW5PZmZzZXRzOiEwfSxpLmNoZWNrZWQ9ITAsZC5zdXBwb3J0Lm5vQ2xvbmVDaGVja2VkPWkuY2xvbmVOb2RlKCEwKS5jaGVja2VkLGcuZGlzYWJsZWQ9ITAsZC5zdXBwb3J0Lm9wdERpc2FibGVkPSFoLmRpc2FibGVkO3ZhciBqPW51bGw7ZC5zdXBwb3J0LnNjcmlwdEV2YWw9ZnVuY3Rpb24oKXtpZihqPT09bnVsbCl7dmFyIGI9Yy5kb2N1bWVudEVsZW1lbnQsZT1jLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpLGY9InNjcmlwdCIrZC5ub3coKTt0cnl7ZS5hcHBlbmRDaGlsZChjLmNyZWF0ZVRleHROb2RlKCJ3aW5kb3cuIitmKyI9MTsiKSl9Y2F0Y2goZyl7fWIuaW5zZXJ0QmVmb3JlKGUsYi5maXJzdENoaWxkKSxhW2ZdPyhqPSEwLGRlbGV0ZSBhW2ZdKTpqPSExLGIucmVtb3ZlQ2hpbGQoZSksYj1lPWY9bnVsbH1yZXR1cm4gan07dHJ5e2RlbGV0ZSBiLnRlc3R9Y2F0Y2goayl7ZC5zdXBwb3J0LmRlbGV0ZUV4cGFuZG89ITF9IWIuYWRkRXZlbnRMaXN0ZW5lciYmYi5hdHRhY2hFdmVudCYmYi5maXJlRXZlbnQmJihiLmF0dGFjaEV2ZW50KCJvbmNsaWNrIixmdW5jdGlvbiBsKCl7ZC5zdXBwb3J0Lm5vQ2xvbmVFdmVudD0hMSxiLmRldGFjaEV2ZW50KCJvbmNsaWNrIixsKX0pLGIuY2xvbmVOb2RlKCEwKS5maXJlRXZlbnQoIm9uY2xpY2siKSksYj1jLmNyZWF0ZUVsZW1lbnQoImRpdiIpLGIuaW5uZXJIVE1MPSI8aW5wdXQgdHlwZT0ncmFkaW8nIG5hbWU9J3JhZGlvdGVzdCcgY2hlY2tlZD0nY2hlY2tlZCcvPiI7dmFyIG09Yy5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7bS5hcHBlbmRDaGlsZChiLmZpcnN0Q2hpbGQpLGQuc3VwcG9ydC5jaGVja0Nsb25lPW0uY2xvbmVOb2RlKCEwKS5jbG9uZU5vZGUoITApLmxhc3RDaGlsZC5jaGVja2VkLGQoZnVuY3Rpb24oKXt2YXIgYT1jLmNyZWF0ZUVsZW1lbnQoImRpdiIpLGI9Yy5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYm9keSIpWzBdO2lmKGIpe2Euc3R5bGUud2lkdGg9YS5zdHlsZS5wYWRkaW5nTGVmdD0iMXB4IixiLmFwcGVuZENoaWxkKGEpLGQuYm94TW9kZWw9ZC5zdXBwb3J0LmJveE1vZGVsPWEub2Zmc2V0V2lkdGg9PT0yLCJ6b29tImluIGEuc3R5bGUmJihhLnN0eWxlLmRpc3BsYXk9ImlubGluZSIsYS5zdHlsZS56b29tPTEsZC5zdXBwb3J0LmlubGluZUJsb2NrTmVlZHNMYXlvdXQ9YS5vZmZzZXRXaWR0aD09PTIsYS5zdHlsZS5kaXNwbGF5PSIiLGEuaW5uZXJIVE1MPSI8ZGl2IHN0eWxlPSd3aWR0aDo0cHg7Jz48L2Rpdj4iLGQuc3VwcG9ydC5zaHJpbmtXcmFwQmxvY2tzPWEub2Zmc2V0V2lkdGghPT0yKSxhLmlubmVySFRNTD0iPHRhYmxlPjx0cj48dGQgc3R5bGU9J3BhZGRpbmc6MDtib3JkZXI6MDtkaXNwbGF5Om5vbmUnPjwvdGQ+PHRkPnQ8L3RkPjwvdHI+PC90YWJsZT4iO3ZhciBlPWEuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInRkIik7ZC5zdXBwb3J0LnJlbGlhYmxlSGlkZGVuT2Zmc2V0cz1lWzBdLm9mZnNldEhlaWdodD09PTAsZVswXS5zdHlsZS5kaXNwbGF5PSIiLGVbMV0uc3R5bGUuZGlzcGxheT0ibm9uZSIsZC5zdXBwb3J0LnJlbGlhYmxlSGlkZGVuT2Zmc2V0cz1kLnN1cHBvcnQucmVsaWFibGVIaWRkZW5PZmZzZXRzJiZlWzBdLm9mZnNldEhlaWdodD09PTAsYS5pbm5lckhUTUw9IiIsYi5yZW1vdmVDaGlsZChhKS5zdHlsZS5kaXNwbGF5PSJub25lIixhPWU9bnVsbH19KTt2YXIgbj1mdW5jdGlvbihhKXt2YXIgYj1jLmNyZWF0ZUVsZW1lbnQoImRpdiIpO2E9Im9uIithO2lmKCFiLmF0dGFjaEV2ZW50KXJldHVybiEwO3ZhciBkPWEgaW4gYjtkfHwoYi5zZXRBdHRyaWJ1dGUoYSwicmV0dXJuOyIpLGQ9dHlwZW9mIGJbYV09PT0iZnVuY3Rpb24iKSxiPW51bGw7cmV0dXJuIGR9O2Quc3VwcG9ydC5zdWJtaXRCdWJibGVzPW4oInN1Ym1pdCIpLGQuc3VwcG9ydC5jaGFuZ2VCdWJibGVzPW4oImNoYW5nZSIpLGI9ZT1mPW51bGx9fSkoKTt2YXIgZT0vXig/Olx7LipcfXxcWy4qXF0pJC87ZC5leHRlbmQoe2NhY2hlOnt9LHV1aWQ6MCxleHBhbmRvOiJqUXVlcnkiKyhkLmZuLmpxdWVyeStNYXRoLnJhbmRvbSgpKS5yZXBsYWNlKC9cRC9nLCIiKSxub0RhdGE6e2VtYmVkOiEwLG9iamVjdDoiY2xzaWQ6RDI3Q0RCNkUtQUU2RC0xMWNmLTk2QjgtNDQ0NTUzNTQwMDAwIixhcHBsZXQ6ITB9LGhhc0RhdGE6ZnVuY3Rpb24oYSl7YT1hLm5vZGVUeXBlP2QuY2FjaGVbYVtkLmV4cGFuZG9dXTphW2QuZXhwYW5kb107cmV0dXJuISFhJiYhZyhhKX0sZGF0YTpmdW5jdGlvbihhLGMsZSxmKXtpZihkLmFjY2VwdERhdGEoYSkpe3ZhciBnPWQuZXhwYW5kbyxoPXR5cGVvZiBjPT09InN0cmluZyIsaSxqPWEubm9kZVR5cGUsaz1qP2QuY2FjaGU6YSxsPWo/YVtkLmV4cGFuZG9dOmFbZC5leHBhbmRvXSYmZC5leHBhbmRvO2lmKCghbHx8ZiYmbCYmIWtbbF1bZ10pJiZoJiZlPT09YilyZXR1cm47bHx8KGo/YVtkLmV4cGFuZG9dPWw9KytkLnV1aWQ6bD1kLmV4cGFuZG8pLGtbbF18fChrW2xdPXt9LGp8fChrW2xdLnRvSlNPTj1kLm5vb3ApKTtpZih0eXBlb2YgYz09PSJvYmplY3QifHx0eXBlb2YgYz09PSJmdW5jdGlvbiIpZj9rW2xdW2ddPWQuZXh0ZW5kKGtbbF1bZ10sYyk6a1tsXT1kLmV4dGVuZChrW2xdLGMpO2k9a1tsXSxmJiYoaVtnXXx8KGlbZ109e30pLGk9aVtnXSksZSE9PWImJihpW2NdPWUpO2lmKGM9PT0iZXZlbnRzIiYmIWlbY10pcmV0dXJuIGlbZ10mJmlbZ10uZXZlbnRzO3JldHVybiBoP2lbY106aX19LHJlbW92ZURhdGE6ZnVuY3Rpb24oYixjLGUpe2lmKGQuYWNjZXB0RGF0YShiKSl7dmFyIGY9ZC5leHBhbmRvLGg9Yi5ub2RlVHlwZSxpPWg/ZC5jYWNoZTpiLGo9aD9iW2QuZXhwYW5kb106ZC5leHBhbmRvO2lmKCFpW2pdKXJldHVybjtpZihjKXt2YXIgaz1lP2lbal1bZl06aVtqXTtpZihrKXtkZWxldGUga1tjXTtpZighZyhrKSlyZXR1cm59fWlmKGUpe2RlbGV0ZSBpW2pdW2ZdO2lmKCFnKGlbal0pKXJldHVybn12YXIgbD1pW2pdW2ZdO2Quc3VwcG9ydC5kZWxldGVFeHBhbmRvfHxpIT1hP2RlbGV0ZSBpW2pdOmlbal09bnVsbCxsPyhpW2pdPXt9LGh8fChpW2pdLnRvSlNPTj1kLm5vb3ApLGlbal1bZl09bCk6aCYmKGQuc3VwcG9ydC5kZWxldGVFeHBhbmRvP2RlbGV0ZSBiW2QuZXhwYW5kb106Yi5yZW1vdmVBdHRyaWJ1dGU/Yi5yZW1vdmVBdHRyaWJ1dGUoZC5leHBhbmRvKTpiW2QuZXhwYW5kb109bnVsbCl9fSxfZGF0YTpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGQuZGF0YShhLGIsYywhMCl9LGFjY2VwdERhdGE6ZnVuY3Rpb24oYSl7aWYoYS5ub2RlTmFtZSl7dmFyIGI9ZC5ub0RhdGFbYS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpXTtpZihiKXJldHVybiBiIT09ITAmJmEuZ2V0QXR0cmlidXRlKCJjbGFzc2lkIik9PT1ifXJldHVybiEwfX0pLGQuZm4uZXh0ZW5kKHtkYXRhOmZ1bmN0aW9uKGEsYyl7dmFyIGU9bnVsbDtpZih0eXBlb2YgYT09PSJ1bmRlZmluZWQiKXtpZih0aGlzLmxlbmd0aCl7ZT1kLmRhdGEodGhpc1swXSk7aWYodGhpc1swXS5ub2RlVHlwZT09PTEpe3ZhciBnPXRoaXNbMF0uYXR0cmlidXRlcyxoO2Zvcih2YXIgaT0wLGo9Zy5sZW5ndGg7aTxqO2krKyloPWdbaV0ubmFtZSxoLmluZGV4T2YoImRhdGEtIik9PT0wJiYoaD1oLnN1YnN0cig1KSxmKHRoaXNbMF0saCxlW2hdKSl9fXJldHVybiBlfWlmKHR5cGVvZiBhPT09Im9iamVjdCIpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2QuZGF0YSh0aGlzLGEpfSk7dmFyIGs9YS5zcGxpdCgiLiIpO2tbMV09a1sxXT8iLiIra1sxXToiIjtpZihjPT09Yil7ZT10aGlzLnRyaWdnZXJIYW5kbGVyKCJnZXREYXRhIitrWzFdKyIhIixba1swXV0pLGU9PT1iJiZ0aGlzLmxlbmd0aCYmKGU9ZC5kYXRhKHRoaXNbMF0sYSksZT1mKHRoaXNbMF0sYSxlKSk7cmV0dXJuIGU9PT1iJiZrWzFdP3RoaXMuZGF0YShrWzBdKTplfXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYj1kKHRoaXMpLGU9W2tbMF0sY107Yi50cmlnZ2VySGFuZGxlcigic2V0RGF0YSIra1sxXSsiISIsZSksZC5kYXRhKHRoaXMsYSxjKSxiLnRyaWdnZXJIYW5kbGVyKCJjaGFuZ2VEYXRhIitrWzFdKyIhIixlKX0pfSxyZW1vdmVEYXRhOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtkLnJlbW92ZURhdGEodGhpcyxhKX0pfX0pLGQuZXh0ZW5kKHtxdWV1ZTpmdW5jdGlvbihhLGIsYyl7aWYoYSl7Yj0oYnx8ImZ4IikrInF1ZXVlIjt2YXIgZT1kLl9kYXRhKGEsYik7aWYoIWMpcmV0dXJuIGV8fFtdOyFlfHxkLmlzQXJyYXkoYyk/ZT1kLl9kYXRhKGEsYixkLm1ha2VBcnJheShjKSk6ZS5wdXNoKGMpO3JldHVybiBlfX0sZGVxdWV1ZTpmdW5jdGlvbihhLGIpe2I9Ynx8ImZ4Ijt2YXIgYz1kLnF1ZXVlKGEsYiksZT1jLnNoaWZ0KCk7ZT09PSJpbnByb2dyZXNzIiYmKGU9Yy5zaGlmdCgpKSxlJiYoYj09PSJmeCImJmMudW5zaGlmdCgiaW5wcm9ncmVzcyIpLGUuY2FsbChhLGZ1bmN0aW9uKCl7ZC5kZXF1ZXVlKGEsYil9KSksYy5sZW5ndGh8fGQucmVtb3ZlRGF0YShhLGIrInF1ZXVlIiwhMCl9fSksZC5mbi5leHRlbmQoe3F1ZXVlOmZ1bmN0aW9uKGEsYyl7dHlwZW9mIGEhPT0ic3RyaW5nIiYmKGM9YSxhPSJmeCIpO2lmKGM9PT1iKXJldHVybiBkLnF1ZXVlKHRoaXNbMF0sYSk7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihiKXt2YXIgZT1kLnF1ZXVlKHRoaXMsYSxjKTthPT09ImZ4IiYmZVswXSE9PSJpbnByb2dyZXNzIiYmZC5kZXF1ZXVlKHRoaXMsYSl9KX0sZGVxdWV1ZTpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7ZC5kZXF1ZXVlKHRoaXMsYSl9KX0sZGVsYXk6ZnVuY3Rpb24oYSxiKXthPWQuZng/ZC5meC5zcGVlZHNbYV18fGE6YSxiPWJ8fCJmeCI7cmV0dXJuIHRoaXMucXVldWUoYixmdW5jdGlvbigpe3ZhciBjPXRoaXM7c2V0VGltZW91dChmdW5jdGlvbigpe2QuZGVxdWV1ZShjLGIpfSxhKX0pfSxjbGVhclF1ZXVlOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnF1ZXVlKGF8fCJmeCIsW10pfX0pO3ZhciBoPS9bXG5cdFxyXS9nLGk9L1xzKy8saj0vXHIvZyxrPS9eKD86aHJlZnxzcmN8c3R5bGUpJC8sbD0vXig/OmJ1dHRvbnxpbnB1dCkkL2ksbT0vXig/OmJ1dHRvbnxpbnB1dHxvYmplY3R8c2VsZWN0fHRleHRhcmVhKSQvaSxuPS9eYSg/OnJlYSk/JC9pLG89L14oPzpyYWRpb3xjaGVja2JveCkkL2k7ZC5wcm9wcz17ImZvciI6Imh0bWxGb3IiLCJjbGFzcyI6ImNsYXNzTmFtZSIscmVhZG9ubHk6InJlYWRPbmx5IixtYXhsZW5ndGg6Im1heExlbmd0aCIsY2VsbHNwYWNpbmc6ImNlbGxTcGFjaW5nIixyb3dzcGFuOiJyb3dTcGFuIixjb2xzcGFuOiJjb2xTcGFuIix0YWJpbmRleDoidGFiSW5kZXgiLHVzZW1hcDoidXNlTWFwIixmcmFtZWJvcmRlcjoiZnJhbWVCb3JkZXIifSxkLmZuLmV4dGVuZCh7YXR0cjpmdW5jdGlvbihhLGIpe3JldHVybiBkLmFjY2Vzcyh0aGlzLGEsYiwhMCxkLmF0dHIpfSxyZW1vdmVBdHRyOmZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2QuYXR0cih0aGlzLGEsIiIpLHRoaXMubm9kZVR5cGU9PT0xJiZ0aGlzLnJlbW92ZUF0dHJpYnV0ZShhKX0pfSxhZGRDbGFzczpmdW5jdGlvbihhKXtpZihkLmlzRnVuY3Rpb24oYSkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihiKXt2YXIgYz1kKHRoaXMpO2MuYWRkQ2xhc3MoYS5jYWxsKHRoaXMsYixjLmF0dHIoImNsYXNzIikpKX0pO2lmKGEmJnR5cGVvZiBhPT09InN0cmluZyIpe3ZhciBiPShhfHwiIikuc3BsaXQoaSk7Zm9yKHZhciBjPTAsZT10aGlzLmxlbmd0aDtjPGU7YysrKXt2YXIgZj10aGlzW2NdO2lmKGYubm9kZVR5cGU9PT0xKWlmKGYuY2xhc3NOYW1lKXt2YXIgZz0iICIrZi5jbGFzc05hbWUrIiAiLGg9Zi5jbGFzc05hbWU7Zm9yKHZhciBqPTAsaz1iLmxlbmd0aDtqPGs7aisrKWcuaW5kZXhPZigiICIrYltqXSsiICIpPDAmJihoKz0iICIrYltqXSk7Zi5jbGFzc05hbWU9ZC50cmltKGgpfWVsc2UgZi5jbGFzc05hbWU9YX19cmV0dXJuIHRoaXN9LHJlbW92ZUNsYXNzOmZ1bmN0aW9uKGEpe2lmKGQuaXNGdW5jdGlvbihhKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGIpe3ZhciBjPWQodGhpcyk7Yy5yZW1vdmVDbGFzcyhhLmNhbGwodGhpcyxiLGMuYXR0cigiY2xhc3MiKSkpfSk7aWYoYSYmdHlwZW9mIGE9PT0ic3RyaW5nInx8YT09PWIpe3ZhciBjPShhfHwiIikuc3BsaXQoaSk7Zm9yKHZhciBlPTAsZj10aGlzLmxlbmd0aDtlPGY7ZSsrKXt2YXIgZz10aGlzW2VdO2lmKGcubm9kZVR5cGU9PT0xJiZnLmNsYXNzTmFtZSlpZihhKXt2YXIgaj0oIiAiK2cuY2xhc3NOYW1lKyIgIikucmVwbGFjZShoLCIgIik7Zm9yKHZhciBrPTAsbD1jLmxlbmd0aDtrPGw7aysrKWo9ai5yZXBsYWNlKCIgIitjW2tdKyIgIiwiICIpO2cuY2xhc3NOYW1lPWQudHJpbShqKX1lbHNlIGcuY2xhc3NOYW1lPSIifX1yZXR1cm4gdGhpc30sdG9nZ2xlQ2xhc3M6ZnVuY3Rpb24oYSxiKXt2YXIgYz10eXBlb2YgYSxlPXR5cGVvZiBiPT09ImJvb2xlYW4iO2lmKGQuaXNGdW5jdGlvbihhKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGMpe3ZhciBlPWQodGhpcyk7ZS50b2dnbGVDbGFzcyhhLmNhbGwodGhpcyxjLGUuYXR0cigiY2xhc3MiKSxiKSxiKX0pO3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtpZihjPT09InN0cmluZyIpe3ZhciBmLGc9MCxoPWQodGhpcyksaj1iLGs9YS5zcGxpdChpKTt3aGlsZShmPWtbZysrXSlqPWU/ajohaC5oYXNDbGFzcyhmKSxoW2o/ImFkZENsYXNzIjoicmVtb3ZlQ2xhc3MiXShmKX1lbHNlIGlmKGM9PT0idW5kZWZpbmVkInx8Yz09PSJib29sZWFuIil0aGlzLmNsYXNzTmFtZSYmZC5fZGF0YSh0aGlzLCJfX2NsYXNzTmFtZV9fIix0aGlzLmNsYXNzTmFtZSksdGhpcy5jbGFzc05hbWU9dGhpcy5jbGFzc05hbWV8fGE9PT0hMT8iIjpkLl9kYXRhKHRoaXMsIl9fY2xhc3NOYW1lX18iKXx8IiJ9KX0saGFzQ2xhc3M6ZnVuY3Rpb24oYSl7dmFyIGI9IiAiK2ErIiAiO2Zvcih2YXIgYz0wLGQ9dGhpcy5sZW5ndGg7YzxkO2MrKylpZigoIiAiK3RoaXNbY10uY2xhc3NOYW1lKyIgIikucmVwbGFjZShoLCIgIikuaW5kZXhPZihiKT4tMSlyZXR1cm4hMDtyZXR1cm4hMX0sdmFsOmZ1bmN0aW9uKGEpe2lmKCFhcmd1bWVudHMubGVuZ3RoKXt2YXIgYz10aGlzWzBdO2lmKGMpe2lmKGQubm9kZU5hbWUoYywib3B0aW9uIikpe3ZhciBlPWMuYXR0cmlidXRlcy52YWx1ZTtyZXR1cm4hZXx8ZS5zcGVjaWZpZWQ/Yy52YWx1ZTpjLnRleHR9aWYoZC5ub2RlTmFtZShjLCJzZWxlY3QiKSl7dmFyIGY9Yy5zZWxlY3RlZEluZGV4LGc9W10saD1jLm9wdGlvbnMsaT1jLnR5cGU9PT0ic2VsZWN0LW9uZSI7aWYoZjwwKXJldHVybiBudWxsO2Zvcih2YXIgaz1pP2Y6MCxsPWk/ZisxOmgubGVuZ3RoO2s8bDtrKyspe3ZhciBtPWhba107aWYobS5zZWxlY3RlZCYmKGQuc3VwcG9ydC5vcHREaXNhYmxlZD8hbS5kaXNhYmxlZDptLmdldEF0dHJpYnV0ZSgiZGlzYWJsZWQiKT09PW51bGwpJiYoIW0ucGFyZW50Tm9kZS5kaXNhYmxlZHx8IWQubm9kZU5hbWUobS5wYXJlbnROb2RlLCJvcHRncm91cCIpKSl7YT1kKG0pLnZhbCgpO2lmKGkpcmV0dXJuIGE7Zy5wdXNoKGEpfX1pZihpJiYhZy5sZW5ndGgmJmgubGVuZ3RoKXJldHVybiBkKGhbZl0pLnZhbCgpO3JldHVybiBnfWlmKG8udGVzdChjLnR5cGUpJiYhZC5zdXBwb3J0LmNoZWNrT24pcmV0dXJuIGMuZ2V0QXR0cmlidXRlKCJ2YWx1ZSIpPT09bnVsbD8ib24iOmMudmFsdWU7cmV0dXJuKGMudmFsdWV8fCIiKS5yZXBsYWNlKGosIiIpfXJldHVybiBifXZhciBuPWQuaXNGdW5jdGlvbihhKTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGIpe3ZhciBjPWQodGhpcyksZT1hO2lmKHRoaXMubm9kZVR5cGU9PT0xKXtuJiYoZT1hLmNhbGwodGhpcyxiLGMudmFsKCkpKSxlPT1udWxsP2U9IiI6dHlwZW9mIGU9PT0ibnVtYmVyIj9lKz0iIjpkLmlzQXJyYXkoZSkmJihlPWQubWFwKGUsZnVuY3Rpb24oYSl7cmV0dXJuIGE9PW51bGw/IiI6YSsiIn0pKTtpZihkLmlzQXJyYXkoZSkmJm8udGVzdCh0aGlzLnR5cGUpKXRoaXMuY2hlY2tlZD1kLmluQXJyYXkoYy52YWwoKSxlKT49MDtlbHNlIGlmKGQubm9kZU5hbWUodGhpcywic2VsZWN0Iikpe3ZhciBmPWQubWFrZUFycmF5KGUpO2QoIm9wdGlvbiIsdGhpcykuZWFjaChmdW5jdGlvbigpe3RoaXMuc2VsZWN0ZWQ9ZC5pbkFycmF5KGQodGhpcykudmFsKCksZik+PTB9KSxmLmxlbmd0aHx8KHRoaXMuc2VsZWN0ZWRJbmRleD0tMSl9ZWxzZSB0aGlzLnZhbHVlPWV9fSl9fSksZC5leHRlbmQoe2F0dHJGbjp7dmFsOiEwLGNzczohMCxodG1sOiEwLHRleHQ6ITAsZGF0YTohMCx3aWR0aDohMCxoZWlnaHQ6ITAsb2Zmc2V0OiEwfSxhdHRyOmZ1bmN0aW9uKGEsYyxlLGYpe2lmKCFhfHxhLm5vZGVUeXBlPT09M3x8YS5ub2RlVHlwZT09PTh8fGEubm9kZVR5cGU9PT0yKXJldHVybiBiO2lmKGYmJmMgaW4gZC5hdHRyRm4pcmV0dXJuIGQoYSlbY10oZSk7dmFyIGc9YS5ub2RlVHlwZSE9PTF8fCFkLmlzWE1MRG9jKGEpLGg9ZSE9PWI7Yz1nJiZkLnByb3BzW2NdfHxjO2lmKGEubm9kZVR5cGU9PT0xKXt2YXIgaT1rLnRlc3QoYyk7aWYoYz09PSJzZWxlY3RlZCImJiFkLnN1cHBvcnQub3B0U2VsZWN0ZWQpe3ZhciBqPWEucGFyZW50Tm9kZTtqJiYoai5zZWxlY3RlZEluZGV4LGoucGFyZW50Tm9kZSYmai5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXgpfWlmKChjIGluIGF8fGFbY10hPT1iKSYmZyYmIWkpe2gmJihjPT09InR5cGUiJiZsLnRlc3QoYS5ub2RlTmFtZSkmJmEucGFyZW50Tm9kZSYmZC5lcnJvcigidHlwZSBwcm9wZXJ0eSBjYW4ndCBiZSBjaGFuZ2VkIiksZT09PW51bGw/YS5ub2RlVHlwZT09PTEmJmEucmVtb3ZlQXR0cmlidXRlKGMpOmFbY109ZSk7aWYoZC5ub2RlTmFtZShhLCJmb3JtIikmJmEuZ2V0QXR0cmlidXRlTm9kZShjKSlyZXR1cm4gYS5nZXRBdHRyaWJ1dGVOb2RlKGMpLm5vZGVWYWx1ZTtpZihjPT09InRhYkluZGV4Iil7dmFyIG89YS5nZXRBdHRyaWJ1dGVOb2RlKCJ0YWJJbmRleCIpO3JldHVybiBvJiZvLnNwZWNpZmllZD9vLnZhbHVlOm0udGVzdChhLm5vZGVOYW1lKXx8bi50ZXN0KGEubm9kZU5hbWUpJiZhLmhyZWY/MDpifXJldHVybiBhW2NdfWlmKCFkLnN1cHBvcnQuc3R5bGUmJmcmJmM9PT0ic3R5bGUiKXtoJiYoYS5zdHlsZS5jc3NUZXh0PSIiK2UpO3JldHVybiBhLnN0eWxlLmNzc1RleHR9aCYmYS5zZXRBdHRyaWJ1dGUoYywiIitlKTtpZighYS5hdHRyaWJ1dGVzW2NdJiYoYS5oYXNBdHRyaWJ1dGUmJiFhLmhhc0F0dHJpYnV0ZShjKSkpcmV0dXJuIGI7dmFyIHA9IWQuc3VwcG9ydC5ocmVmTm9ybWFsaXplZCYmZyYmaT9hLmdldEF0dHJpYnV0ZShjLDIpOmEuZ2V0QXR0cmlidXRlKGMpO3JldHVybiBwPT09bnVsbD9iOnB9aCYmKGFbY109ZSk7cmV0dXJuIGFbY119fSk7dmFyIHA9L1wuKC4qKSQvLHE9L14oPzp0ZXh0YXJlYXxpbnB1dHxzZWxlY3QpJC9pLHI9L1wuL2cscz0vIC9nLHQ9L1teXHdccy58YF0vZyx1PWZ1bmN0aW9uKGEpe3JldHVybiBhLnJlcGxhY2UodCwiXFwkJiIpfTtkLmV2ZW50PXthZGQ6ZnVuY3Rpb24oYyxlLGYsZyl7aWYoYy5ub2RlVHlwZSE9PTMmJmMubm9kZVR5cGUhPT04KXt0cnl7ZC5pc1dpbmRvdyhjKSYmKGMhPT1hJiYhYy5mcmFtZUVsZW1lbnQpJiYoYz1hKX1jYXRjaChoKXt9aWYoZj09PSExKWY9djtlbHNlIGlmKCFmKXJldHVybjt2YXIgaSxqO2YuaGFuZGxlciYmKGk9ZixmPWkuaGFuZGxlciksZi5ndWlkfHwoZi5ndWlkPWQuZ3VpZCsrKTt2YXIgaz1kLl9kYXRhKGMpO2lmKCFrKXJldHVybjt2YXIgbD1rLmV2ZW50cyxtPWsuaGFuZGxlO2x8fChrLmV2ZW50cz1sPXt9KSxtfHwoay5oYW5kbGU9bT1mdW5jdGlvbigpe3JldHVybiB0eXBlb2YgZCE9PSJ1bmRlZmluZWQiJiYhZC5ldmVudC50cmlnZ2VyZWQ/ZC5ldmVudC5oYW5kbGUuYXBwbHkobS5lbGVtLGFyZ3VtZW50cyk6Yn0pLG0uZWxlbT1jLGU9ZS5zcGxpdCgiICIpO3ZhciBuLG89MCxwO3doaWxlKG49ZVtvKytdKXtqPWk/ZC5leHRlbmQoe30saSk6e2hhbmRsZXI6ZixkYXRhOmd9LG4uaW5kZXhPZigiLiIpPi0xPyhwPW4uc3BsaXQoIi4iKSxuPXAuc2hpZnQoKSxqLm5hbWVzcGFjZT1wLnNsaWNlKDApLnNvcnQoKS5qb2luKCIuIikpOihwPVtdLGoubmFtZXNwYWNlPSIiKSxqLnR5cGU9bixqLmd1aWR8fChqLmd1aWQ9Zi5ndWlkKTt2YXIgcT1sW25dLHI9ZC5ldmVudC5zcGVjaWFsW25dfHx7fTtpZighcSl7cT1sW25dPVtdO2lmKCFyLnNldHVwfHxyLnNldHVwLmNhbGwoYyxnLHAsbSk9PT0hMSljLmFkZEV2ZW50TGlzdGVuZXI/Yy5hZGRFdmVudExpc3RlbmVyKG4sbSwhMSk6Yy5hdHRhY2hFdmVudCYmYy5hdHRhY2hFdmVudCgib24iK24sbSl9ci5hZGQmJihyLmFkZC5jYWxsKGMsaiksai5oYW5kbGVyLmd1aWR8fChqLmhhbmRsZXIuZ3VpZD1mLmd1aWQpKSxxLnB1c2goaiksZC5ldmVudC5nbG9iYWxbbl09ITB9Yz1udWxsfX0sZ2xvYmFsOnt9LHJlbW92ZTpmdW5jdGlvbihhLGMsZSxmKXtpZihhLm5vZGVUeXBlIT09MyYmYS5ub2RlVHlwZSE9PTgpe2U9PT0hMSYmKGU9dik7dmFyIGcsaCxpLGosaz0wLGwsbSxuLG8scCxxLHIscz1kLmhhc0RhdGEoYSkmJmQuX2RhdGEoYSksdD1zJiZzLmV2ZW50cztpZighc3x8IXQpcmV0dXJuO2MmJmMudHlwZSYmKGU9Yy5oYW5kbGVyLGM9Yy50eXBlKTtpZighY3x8dHlwZW9mIGM9PT0ic3RyaW5nIiYmYy5jaGFyQXQoMCk9PT0iLiIpe2M9Y3x8IiI7Zm9yKGggaW4gdClkLmV2ZW50LnJlbW92ZShhLGgrYyk7cmV0dXJufWM9Yy5zcGxpdCgiICIpO3doaWxlKGg9Y1trKytdKXtyPWgscT1udWxsLGw9aC5pbmRleE9mKCIuIik8MCxtPVtdLGx8fChtPWguc3BsaXQoIi4iKSxoPW0uc2hpZnQoKSxuPW5ldyBSZWdFeHAoIihefFxcLikiK2QubWFwKG0uc2xpY2UoMCkuc29ydCgpLHUpLmpvaW4oIlxcLig/Oi4qXFwuKT8iKSsiKFxcLnwkKSIpKSxwPXRbaF07aWYoIXApY29udGludWU7aWYoIWUpe2ZvcihqPTA7ajxwLmxlbmd0aDtqKyspe3E9cFtqXTtpZihsfHxuLnRlc3QocS5uYW1lc3BhY2UpKWQuZXZlbnQucmVtb3ZlKGEscixxLmhhbmRsZXIsaikscC5zcGxpY2Uoai0tLDEpfWNvbnRpbnVlfW89ZC5ldmVudC5zcGVjaWFsW2hdfHx7fTtmb3Ioaj1mfHwwO2o8cC5sZW5ndGg7aisrKXtxPXBbal07aWYoZS5ndWlkPT09cS5ndWlkKXtpZihsfHxuLnRlc3QocS5uYW1lc3BhY2UpKWY9PW51bGwmJnAuc3BsaWNlKGotLSwxKSxvLnJlbW92ZSYmby5yZW1vdmUuY2FsbChhLHEpO2lmKGYhPW51bGwpYnJlYWt9fWlmKHAubGVuZ3RoPT09MHx8ZiE9bnVsbCYmcC5sZW5ndGg9PT0xKSghby50ZWFyZG93bnx8by50ZWFyZG93bi5jYWxsKGEsbSk9PT0hMSkmJmQucmVtb3ZlRXZlbnQoYSxoLHMuaGFuZGxlKSxnPW51bGwsZGVsZXRlIHRbaF19aWYoZC5pc0VtcHR5T2JqZWN0KHQpKXt2YXIgdz1zLmhhbmRsZTt3JiYody5lbGVtPW51bGwpLGRlbGV0ZSBzLmV2ZW50cyxkZWxldGUgcy5oYW5kbGUsZC5pc0VtcHR5T2JqZWN0KHMpJiZkLnJlbW92ZURhdGEoYSxiLCEwKX19fSx0cmlnZ2VyOmZ1bmN0aW9uKGEsYyxlKXt2YXIgZj1hLnR5cGV8fGEsZz1hcmd1bWVudHNbM107aWYoIWcpe2E9dHlwZW9mIGE9PT0ib2JqZWN0Ij9hW2QuZXhwYW5kb10/YTpkLmV4dGVuZChkLkV2ZW50KGYpLGEpOmQuRXZlbnQoZiksZi5pbmRleE9mKCIhIik+PTAmJihhLnR5cGU9Zj1mLnNsaWNlKDAsLTEpLGEuZXhjbHVzaXZlPSEwKSxlfHwoYS5zdG9wUHJvcGFnYXRpb24oKSxkLmV2ZW50Lmdsb2JhbFtmXSYmZC5lYWNoKGQuY2FjaGUsZnVuY3Rpb24oKXt2YXIgYj1kLmV4cGFuZG8sZT10aGlzW2JdO2UmJmUuZXZlbnRzJiZlLmV2ZW50c1tmXSYmZC5ldmVudC50cmlnZ2VyKGEsYyxlLmhhbmRsZS5lbGVtKX0pKTtpZighZXx8ZS5ub2RlVHlwZT09PTN8fGUubm9kZVR5cGU9PT04KXJldHVybiBiO2EucmVzdWx0PWIsYS50YXJnZXQ9ZSxjPWQubWFrZUFycmF5KGMpLGMudW5zaGlmdChhKX1hLmN1cnJlbnRUYXJnZXQ9ZTt2YXIgaD1kLl9kYXRhKGUsImhhbmRsZSIpO2gmJmguYXBwbHkoZSxjKTt2YXIgaT1lLnBhcmVudE5vZGV8fGUub3duZXJEb2N1bWVudDt0cnl7ZSYmZS5ub2RlTmFtZSYmZC5ub0RhdGFbZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpXXx8ZVsib24iK2ZdJiZlWyJvbiIrZl0uYXBwbHkoZSxjKT09PSExJiYoYS5yZXN1bHQ9ITEsYS5wcmV2ZW50RGVmYXVsdCgpKX1jYXRjaChqKXt9aWYoIWEuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSYmaSlkLmV2ZW50LnRyaWdnZXIoYSxjLGksITApO2Vsc2UgaWYoIWEuaXNEZWZhdWx0UHJldmVudGVkKCkpe3ZhciBrLGw9YS50YXJnZXQsbT1mLnJlcGxhY2UocCwiIiksbj1kLm5vZGVOYW1lKGwsImEiKSYmbT09PSJjbGljayIsbz1kLmV2ZW50LnNwZWNpYWxbbV18fHt9O2lmKCghby5fZGVmYXVsdHx8by5fZGVmYXVsdC5jYWxsKGUsYSk9PT0hMSkmJiFuJiYhKGwmJmwubm9kZU5hbWUmJmQubm9EYXRhW2wubm9kZU5hbWUudG9Mb3dlckNhc2UoKV0pKXt0cnl7bFttXSYmKGs9bFsib24iK21dLGsmJihsWyJvbiIrbV09bnVsbCksZC5ldmVudC50cmlnZ2VyZWQ9ITAsbFttXSgpKX1jYXRjaChxKXt9ayYmKGxbIm9uIittXT1rKSxkLmV2ZW50LnRyaWdnZXJlZD0hMX19fSxoYW5kbGU6ZnVuY3Rpb24oYyl7dmFyIGUsZixnLGgsaSxqPVtdLGs9ZC5tYWtlQXJyYXkoYXJndW1lbnRzKTtjPWtbMF09ZC5ldmVudC5maXgoY3x8YS5ldmVudCksYy5jdXJyZW50VGFyZ2V0PXRoaXMsZT1jLnR5cGUuaW5kZXhPZigiLiIpPDAmJiFjLmV4Y2x1c2l2ZSxlfHwoZz1jLnR5cGUuc3BsaXQoIi4iKSxjLnR5cGU9Zy5zaGlmdCgpLGo9Zy5zbGljZSgwKS5zb3J0KCksaD1uZXcgUmVnRXhwKCIoXnxcXC4pIitqLmpvaW4oIlxcLig/Oi4qXFwuKT8iKSsiKFxcLnwkKSIpKSxjLm5hbWVzcGFjZT1jLm5hbWVzcGFjZXx8ai5qb2luKCIuIiksaT1kLl9kYXRhKHRoaXMsImV2ZW50cyIpLGY9KGl8fHt9KVtjLnR5cGVdO2lmKGkmJmYpe2Y9Zi5zbGljZSgwKTtmb3IodmFyIGw9MCxtPWYubGVuZ3RoO2w8bTtsKyspe3ZhciBuPWZbbF07aWYoZXx8aC50ZXN0KG4ubmFtZXNwYWNlKSl7Yy5oYW5kbGVyPW4uaGFuZGxlcixjLmRhdGE9bi5kYXRhLGMuaGFuZGxlT2JqPW47dmFyIG89bi5oYW5kbGVyLmFwcGx5KHRoaXMsayk7byE9PWImJihjLnJlc3VsdD1vLG89PT0hMSYmKGMucHJldmVudERlZmF1bHQoKSxjLnN0b3BQcm9wYWdhdGlvbigpKSk7aWYoYy5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZCgpKWJyZWFrfX19cmV0dXJuIGMucmVzdWx0fSxwcm9wczoiYWx0S2V5IGF0dHJDaGFuZ2UgYXR0ck5hbWUgYnViYmxlcyBidXR0b24gY2FuY2VsYWJsZSBjaGFyQ29kZSBjbGllbnRYIGNsaWVudFkgY3RybEtleSBjdXJyZW50VGFyZ2V0IGRhdGEgZGV0YWlsIGV2ZW50UGhhc2UgZnJvbUVsZW1lbnQgaGFuZGxlciBrZXlDb2RlIGxheWVyWCBsYXllclkgbWV0YUtleSBuZXdWYWx1ZSBvZmZzZXRYIG9mZnNldFkgcGFnZVggcGFnZVkgcHJldlZhbHVlIHJlbGF0ZWROb2RlIHJlbGF0ZWRUYXJnZXQgc2NyZWVuWCBzY3JlZW5ZIHNoaWZ0S2V5IHNyY0VsZW1lbnQgdGFyZ2V0IHRvRWxlbWVudCB2aWV3IHdoZWVsRGVsdGEgd2hpY2giLnNwbGl0KCIgIiksZml4OmZ1bmN0aW9uKGEpe2lmKGFbZC5leHBhbmRvXSlyZXR1cm4gYTt2YXIgZT1hO2E9ZC5FdmVudChlKTtmb3IodmFyIGY9dGhpcy5wcm9wcy5sZW5ndGgsZztmOylnPXRoaXMucHJvcHNbLS1mXSxhW2ddPWVbZ107YS50YXJnZXR8fChhLnRhcmdldD1hLnNyY0VsZW1lbnR8fGMpLGEudGFyZ2V0Lm5vZGVUeXBlPT09MyYmKGEudGFyZ2V0PWEudGFyZ2V0LnBhcmVudE5vZGUpLCFhLnJlbGF0ZWRUYXJnZXQmJmEuZnJvbUVsZW1lbnQmJihhLnJlbGF0ZWRUYXJnZXQ9YS5mcm9tRWxlbWVudD09PWEudGFyZ2V0P2EudG9FbGVtZW50OmEuZnJvbUVsZW1lbnQpO2lmKGEucGFnZVg9PW51bGwmJmEuY2xpZW50WCE9bnVsbCl7dmFyIGg9Yy5kb2N1bWVudEVsZW1lbnQsaT1jLmJvZHk7YS5wYWdlWD1hLmNsaWVudFgrKGgmJmguc2Nyb2xsTGVmdHx8aSYmaS5zY3JvbGxMZWZ0fHwwKS0oaCYmaC5jbGllbnRMZWZ0fHxpJiZpLmNsaWVudExlZnR8fDApLGEucGFnZVk9YS5jbGllbnRZKyhoJiZoLnNjcm9sbFRvcHx8aSYmaS5zY3JvbGxUb3B8fDApLShoJiZoLmNsaWVudFRvcHx8aSYmaS5jbGllbnRUb3B8fDApfWEud2hpY2g9PW51bGwmJihhLmNoYXJDb2RlIT1udWxsfHxhLmtleUNvZGUhPW51bGwpJiYoYS53aGljaD1hLmNoYXJDb2RlIT1udWxsP2EuY2hhckNvZGU6YS5rZXlDb2RlKSwhYS5tZXRhS2V5JiZhLmN0cmxLZXkmJihhLm1ldGFLZXk9YS5jdHJsS2V5KSwhYS53aGljaCYmYS5idXR0b24hPT1iJiYoYS53aGljaD1hLmJ1dHRvbiYxPzE6YS5idXR0b24mMj8zOmEuYnV0dG9uJjQ/MjowKTtyZXR1cm4gYX0sZ3VpZDoxZTgscHJveHk6ZC5wcm94eSxzcGVjaWFsOntyZWFkeTp7c2V0dXA6ZC5iaW5kUmVhZHksdGVhcmRvd246ZC5ub29wfSxsaXZlOnthZGQ6ZnVuY3Rpb24oYSl7ZC5ldmVudC5hZGQodGhpcyxGKGEub3JpZ1R5cGUsYS5zZWxlY3RvciksZC5leHRlbmQoe30sYSx7aGFuZGxlcjpFLGd1aWQ6YS5oYW5kbGVyLmd1aWR9KSl9LHJlbW92ZTpmdW5jdGlvbihhKXtkLmV2ZW50LnJlbW92ZSh0aGlzLEYoYS5vcmlnVHlwZSxhLnNlbGVjdG9yKSxhKX19LGJlZm9yZXVubG9hZDp7c2V0dXA6ZnVuY3Rpb24oYSxiLGMpe2QuaXNXaW5kb3codGhpcykmJih0aGlzLm9uYmVmb3JldW5sb2FkPWMpfSx0ZWFyZG93bjpmdW5jdGlvbihhLGIpe3RoaXMub25iZWZvcmV1bmxvYWQ9PT1iJiYodGhpcy5vbmJlZm9yZXVubG9hZD1udWxsKX19fX0sZC5yZW1vdmVFdmVudD1jLnJlbW92ZUV2ZW50TGlzdGVuZXI/ZnVuY3Rpb24oYSxiLGMpe2EucmVtb3ZlRXZlbnRMaXN0ZW5lciYmYS5yZW1vdmVFdmVudExpc3RlbmVyKGIsYywhMSl9OmZ1bmN0aW9uKGEsYixjKXthLmRldGFjaEV2ZW50JiZhLmRldGFjaEV2ZW50KCJvbiIrYixjKX0sZC5FdmVudD1mdW5jdGlvbihhKXtpZighdGhpcy5wcmV2ZW50RGVmYXVsdClyZXR1cm4gbmV3IGQuRXZlbnQoYSk7YSYmYS50eXBlPyh0aGlzLm9yaWdpbmFsRXZlbnQ9YSx0aGlzLnR5cGU9YS50eXBlLHRoaXMuaXNEZWZhdWx0UHJldmVudGVkPWEuZGVmYXVsdFByZXZlbnRlZHx8YS5yZXR1cm5WYWx1ZT09PSExfHxhLmdldFByZXZlbnREZWZhdWx0JiZhLmdldFByZXZlbnREZWZhdWx0KCk/dzp2KTp0aGlzLnR5cGU9YSx0aGlzLnRpbWVTdGFtcD1kLm5vdygpLHRoaXNbZC5leHBhbmRvXT0hMH0sZC5FdmVudC5wcm90b3R5cGU9e3ByZXZlbnREZWZhdWx0OmZ1bmN0aW9uKCl7dGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQ9dzt2YXIgYT10aGlzLm9yaWdpbmFsRXZlbnQ7YSYmKGEucHJldmVudERlZmF1bHQ/YS5wcmV2ZW50RGVmYXVsdCgpOmEucmV0dXJuVmFsdWU9ITEpfSxzdG9wUHJvcGFnYXRpb246ZnVuY3Rpb24oKXt0aGlzLmlzUHJvcGFnYXRpb25TdG9wcGVkPXc7dmFyIGE9dGhpcy5vcmlnaW5hbEV2ZW50O2EmJihhLnN0b3BQcm9wYWdhdGlvbiYmYS5zdG9wUHJvcGFnYXRpb24oKSxhLmNhbmNlbEJ1YmJsZT0hMCl9LHN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbjpmdW5jdGlvbigpe3RoaXMuaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQ9dyx0aGlzLnN0b3BQcm9wYWdhdGlvbigpfSxpc0RlZmF1bHRQcmV2ZW50ZWQ6dixpc1Byb3BhZ2F0aW9uU3RvcHBlZDp2LGlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkOnZ9O3ZhciB4PWZ1bmN0aW9uKGEpe3ZhciBiPWEucmVsYXRlZFRhcmdldDt0cnl7aWYoYiE9PWMmJiFiLnBhcmVudE5vZGUpcmV0dXJuO3doaWxlKGImJmIhPT10aGlzKWI9Yi5wYXJlbnROb2RlO2IhPT10aGlzJiYoYS50eXBlPWEuZGF0YSxkLmV2ZW50LmhhbmRsZS5hcHBseSh0aGlzLGFyZ3VtZW50cykpfWNhdGNoKGUpe319LHk9ZnVuY3Rpb24oYSl7YS50eXBlPWEuZGF0YSxkLmV2ZW50LmhhbmRsZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9O2QuZWFjaCh7bW91c2VlbnRlcjoibW91c2VvdmVyIixtb3VzZWxlYXZlOiJtb3VzZW91dCJ9LGZ1bmN0aW9uKGEsYil7ZC5ldmVudC5zcGVjaWFsW2FdPXtzZXR1cDpmdW5jdGlvbihjKXtkLmV2ZW50LmFkZCh0aGlzLGIsYyYmYy5zZWxlY3Rvcj95OngsYSl9LHRlYXJkb3duOmZ1bmN0aW9uKGEpe2QuZXZlbnQucmVtb3ZlKHRoaXMsYixhJiZhLnNlbGVjdG9yP3k6eCl9fX0pLGQuc3VwcG9ydC5zdWJtaXRCdWJibGVzfHwoZC5ldmVudC5zcGVjaWFsLnN1Ym1pdD17c2V0dXA6ZnVuY3Rpb24oYSxiKXtpZih0aGlzLm5vZGVOYW1lJiZ0aGlzLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkhPT0iZm9ybSIpZC5ldmVudC5hZGQodGhpcywiY2xpY2suc3BlY2lhbFN1Ym1pdCIsZnVuY3Rpb24oYSl7dmFyIGI9YS50YXJnZXQsYz1iLnR5cGU7KGM9PT0ic3VibWl0Inx8Yz09PSJpbWFnZSIpJiZkKGIpLmNsb3Nlc3QoImZvcm0iKS5sZW5ndGgmJkMoInN1Ym1pdCIsdGhpcyxhcmd1bWVudHMpfSksZC5ldmVudC5hZGQodGhpcywia2V5cHJlc3Muc3BlY2lhbFN1Ym1pdCIsZnVuY3Rpb24oYSl7dmFyIGI9YS50YXJnZXQsYz1iLnR5cGU7KGM9PT0idGV4dCJ8fGM9PT0icGFzc3dvcmQiKSYmZChiKS5jbG9zZXN0KCJmb3JtIikubGVuZ3RoJiZhLmtleUNvZGU9PT0xMyYmQygic3VibWl0Iix0aGlzLGFyZ3VtZW50cyl9KTtlbHNlIHJldHVybiExfSx0ZWFyZG93bjpmdW5jdGlvbihhKXtkLmV2ZW50LnJlbW92ZSh0aGlzLCIuc3BlY2lhbFN1Ym1pdCIpfX0pO2lmKCFkLnN1cHBvcnQuY2hhbmdlQnViYmxlcyl7dmFyIHosQT1mdW5jdGlvbihhKXt2YXIgYj1hLnR5cGUsYz1hLnZhbHVlO2I9PT0icmFkaW8ifHxiPT09ImNoZWNrYm94Ij9jPWEuY2hlY2tlZDpiPT09InNlbGVjdC1tdWx0aXBsZSI/Yz1hLnNlbGVjdGVkSW5kZXg+LTE/ZC5tYXAoYS5vcHRpb25zLGZ1bmN0aW9uKGEpe3JldHVybiBhLnNlbGVjdGVkfSkuam9pbigiLSIpOiIiOmEubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PSJzZWxlY3QiJiYoYz1hLnNlbGVjdGVkSW5kZXgpO3JldHVybiBjfSxCPWZ1bmN0aW9uIEIoYSl7dmFyIGM9YS50YXJnZXQsZSxmO2lmKHEudGVzdChjLm5vZGVOYW1lKSYmIWMucmVhZE9ubHkpe2U9ZC5fZGF0YShjLCJfY2hhbmdlX2RhdGEiKSxmPUEoYyksKGEudHlwZSE9PSJmb2N1c291dCJ8fGMudHlwZSE9PSJyYWRpbyIpJiZkLl9kYXRhKGMsIl9jaGFuZ2VfZGF0YSIsZik7aWYoZT09PWJ8fGY9PT1lKXJldHVybjtpZihlIT1udWxsfHxmKWEudHlwZT0iY2hhbmdlIixhLmxpdmVGaXJlZD1iLGQuZXZlbnQudHJpZ2dlcihhLGFyZ3VtZW50c1sxXSxjKX19O2QuZXZlbnQuc3BlY2lhbC5jaGFuZ2U9e2ZpbHRlcnM6e2ZvY3Vzb3V0OkIsYmVmb3JlZGVhY3RpdmF0ZTpCLGNsaWNrOmZ1bmN0aW9uKGEpe3ZhciBiPWEudGFyZ2V0LGM9Yi50eXBlOyhjPT09InJhZGlvInx8Yz09PSJjaGVja2JveCJ8fGIubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PSJzZWxlY3QiKSYmQi5jYWxsKHRoaXMsYSl9LGtleWRvd246ZnVuY3Rpb24oYSl7dmFyIGI9YS50YXJnZXQsYz1iLnR5cGU7KGEua2V5Q29kZT09PTEzJiZiLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkhPT0idGV4dGFyZWEifHxhLmtleUNvZGU9PT0zMiYmKGM9PT0iY2hlY2tib3gifHxjPT09InJhZGlvIil8fGM9PT0ic2VsZWN0LW11bHRpcGxlIikmJkIuY2FsbCh0aGlzLGEpfSxiZWZvcmVhY3RpdmF0ZTpmdW5jdGlvbihhKXt2YXIgYj1hLnRhcmdldDtkLl9kYXRhKGIsIl9jaGFuZ2VfZGF0YSIsQShiKSl9fSxzZXR1cDpmdW5jdGlvbihhLGIpe2lmKHRoaXMudHlwZT09PSJmaWxlIilyZXR1cm4hMTtmb3IodmFyIGMgaW4geilkLmV2ZW50LmFkZCh0aGlzLGMrIi5zcGVjaWFsQ2hhbmdlIix6W2NdKTtyZXR1cm4gcS50ZXN0KHRoaXMubm9kZU5hbWUpfSx0ZWFyZG93bjpmdW5jdGlvbihhKXtkLmV2ZW50LnJlbW92ZSh0aGlzLCIuc3BlY2lhbENoYW5nZSIpO3JldHVybiBxLnRlc3QodGhpcy5ub2RlTmFtZSl9fSx6PWQuZXZlbnQuc3BlY2lhbC5jaGFuZ2UuZmlsdGVycyx6LmZvY3VzPXouYmVmb3JlYWN0aXZhdGV9Yy5hZGRFdmVudExpc3RlbmVyJiZkLmVhY2goe2ZvY3VzOiJmb2N1c2luIixibHVyOiJmb2N1c291dCJ9LGZ1bmN0aW9uKGEsYil7ZnVuY3Rpb24gYyhhKXthPWQuZXZlbnQuZml4KGEpLGEudHlwZT1iO3JldHVybiBkLmV2ZW50LmhhbmRsZS5jYWxsKHRoaXMsYSl9ZC5ldmVudC5zcGVjaWFsW2JdPXtzZXR1cDpmdW5jdGlvbigpe3RoaXMuYWRkRXZlbnRMaXN0ZW5lcihhLGMsITApfSx0ZWFyZG93bjpmdW5jdGlvbigpe3RoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihhLGMsITApfX19KSxkLmVhY2goWyJiaW5kIiwib25lIl0sZnVuY3Rpb24oYSxjKXtkLmZuW2NdPWZ1bmN0aW9uKGEsZSxmKXtpZih0eXBlb2YgYT09PSJvYmplY3QiKXtmb3IodmFyIGcgaW4gYSl0aGlzW2NdKGcsZSxhW2ddLGYpO3JldHVybiB0aGlzfWlmKGQuaXNGdW5jdGlvbihlKXx8ZT09PSExKWY9ZSxlPWI7dmFyIGg9Yz09PSJvbmUiP2QucHJveHkoZixmdW5jdGlvbihhKXtkKHRoaXMpLnVuYmluZChhLGgpO3JldHVybiBmLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pOmY7aWYoYT09PSJ1bmxvYWQiJiZjIT09Im9uZSIpdGhpcy5vbmUoYSxlLGYpO2Vsc2UgZm9yKHZhciBpPTAsaj10aGlzLmxlbmd0aDtpPGo7aSsrKWQuZXZlbnQuYWRkKHRoaXNbaV0sYSxoLGUpO3JldHVybiB0aGlzfX0pLGQuZm4uZXh0ZW5kKHt1bmJpbmQ6ZnVuY3Rpb24oYSxiKXtpZih0eXBlb2YgYSE9PSJvYmplY3QifHxhLnByZXZlbnREZWZhdWx0KWZvcih2YXIgZT0wLGY9dGhpcy5sZW5ndGg7ZTxmO2UrKylkLmV2ZW50LnJlbW92ZSh0aGlzW2VdLGEsYik7ZWxzZSBmb3IodmFyIGMgaW4gYSl0aGlzLnVuYmluZChjLGFbY10pO3JldHVybiB0aGlzfSxkZWxlZ2F0ZTpmdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gdGhpcy5saXZlKGIsYyxkLGEpfSx1bmRlbGVnYXRlOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD09PTA/dGhpcy51bmJpbmQoImxpdmUiKTp0aGlzLmRpZShiLG51bGwsYyxhKX0sdHJpZ2dlcjpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtkLmV2ZW50LnRyaWdnZXIoYSxiLHRoaXMpfSl9LHRyaWdnZXJIYW5kbGVyOmZ1bmN0aW9uKGEsYil7aWYodGhpc1swXSl7dmFyIGM9ZC5FdmVudChhKTtjLnByZXZlbnREZWZhdWx0KCksYy5zdG9wUHJvcGFnYXRpb24oKSxkLmV2ZW50LnRyaWdnZXIoYyxiLHRoaXNbMF0pO3JldHVybiBjLnJlc3VsdH19LHRvZ2dsZTpmdW5jdGlvbihhKXt2YXIgYj1hcmd1bWVudHMsYz0xO3doaWxlKGM8Yi5sZW5ndGgpZC5wcm94eShhLGJbYysrXSk7cmV0dXJuIHRoaXMuY2xpY2soZC5wcm94eShhLGZ1bmN0aW9uKGUpe3ZhciBmPShkLl9kYXRhKHRoaXMsImxhc3RUb2dnbGUiK2EuZ3VpZCl8fDApJWM7ZC5fZGF0YSh0aGlzLCJsYXN0VG9nZ2xlIithLmd1aWQsZisxKSxlLnByZXZlbnREZWZhdWx0KCk7cmV0dXJuIGJbZl0uYXBwbHkodGhpcyxhcmd1bWVudHMpfHwhMX0pKX0saG92ZXI6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5tb3VzZWVudGVyKGEpLm1vdXNlbGVhdmUoYnx8YSl9fSk7dmFyIEQ9e2ZvY3VzOiJmb2N1c2luIixibHVyOiJmb2N1c291dCIsbW91c2VlbnRlcjoibW91c2VvdmVyIixtb3VzZWxlYXZlOiJtb3VzZW91dCJ9O2QuZWFjaChbImxpdmUiLCJkaWUiXSxmdW5jdGlvbihhLGMpe2QuZm5bY109ZnVuY3Rpb24oYSxlLGYsZyl7dmFyIGgsaT0wLGosayxsLG09Z3x8dGhpcy5zZWxlY3RvcixuPWc/dGhpczpkKHRoaXMuY29udGV4dCk7aWYodHlwZW9mIGE9PT0ib2JqZWN0IiYmIWEucHJldmVudERlZmF1bHQpe2Zvcih2YXIgbyBpbiBhKW5bY10obyxlLGFbb10sbSk7cmV0dXJuIHRoaXN9ZC5pc0Z1bmN0aW9uKGUpJiYoZj1lLGU9YiksYT0oYXx8IiIpLnNwbGl0KCIgIik7d2hpbGUoKGg9YVtpKytdKSE9bnVsbCl7aj1wLmV4ZWMoaCksaz0iIixqJiYoaz1qWzBdLGg9aC5yZXBsYWNlKHAsIiIpKTtpZihoPT09ImhvdmVyIil7YS5wdXNoKCJtb3VzZWVudGVyIitrLCJtb3VzZWxlYXZlIitrKTtjb250aW51ZX1sPWgsaD09PSJmb2N1cyJ8fGg9PT0iYmx1ciI/KGEucHVzaChEW2hdK2spLGg9aCtrKTpoPShEW2hdfHxoKStrO2lmKGM9PT0ibGl2ZSIpZm9yKHZhciBxPTAscj1uLmxlbmd0aDtxPHI7cSsrKWQuZXZlbnQuYWRkKG5bcV0sImxpdmUuIitGKGgsbSkse2RhdGE6ZSxzZWxlY3RvcjptLGhhbmRsZXI6ZixvcmlnVHlwZTpoLG9yaWdIYW5kbGVyOmYscHJlVHlwZTpsfSk7ZWxzZSBuLnVuYmluZCgibGl2ZS4iK0YoaCxtKSxmKX1yZXR1cm4gdGhpc319KSxkLmVhY2goImJsdXIgZm9jdXMgZm9jdXNpbiBmb2N1c291dCBsb2FkIHJlc2l6ZSBzY3JvbGwgdW5sb2FkIGNsaWNrIGRibGNsaWNrIG1vdXNlZG93biBtb3VzZXVwIG1vdXNlbW92ZSBtb3VzZW92ZXIgbW91c2VvdXQgbW91c2VlbnRlciBtb3VzZWxlYXZlIGNoYW5nZSBzZWxlY3Qgc3VibWl0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgZXJyb3IiLnNwbGl0KCIgIiksZnVuY3Rpb24oYSxiKXtkLmZuW2JdPWZ1bmN0aW9uKGEsYyl7Yz09bnVsbCYmKGM9YSxhPW51bGwpO3JldHVybiBhcmd1bWVudHMubGVuZ3RoPjA/dGhpcy5iaW5kKGIsYSxjKTp0aGlzLnRyaWdnZXIoYil9LGQuYXR0ckZuJiYoZC5hdHRyRm5bYl09ITApfSksZnVuY3Rpb24oKXtmdW5jdGlvbiB1KGEsYixjLGQsZSxmKXtmb3IodmFyIGc9MCxoPWQubGVuZ3RoO2c8aDtnKyspe3ZhciBpPWRbZ107aWYoaSl7dmFyIGo9ITE7aT1pW2FdO3doaWxlKGkpe2lmKGkuc2l6Y2FjaGU9PT1jKXtqPWRbaS5zaXpzZXRdO2JyZWFrfWlmKGkubm9kZVR5cGU9PT0xKXtmfHwoaS5zaXpjYWNoZT1jLGkuc2l6c2V0PWcpO2lmKHR5cGVvZiBiIT09InN0cmluZyIpe2lmKGk9PT1iKXtqPSEwO2JyZWFrfX1lbHNlIGlmKGsuZmlsdGVyKGIsW2ldKS5sZW5ndGg+MCl7aj1pO2JyZWFrfX1pPWlbYV19ZFtnXT1qfX19ZnVuY3Rpb24gdChhLGIsYyxkLGUsZil7Zm9yKHZhciBnPTAsaD1kLmxlbmd0aDtnPGg7ZysrKXt2YXIgaT1kW2ddO2lmKGkpe3ZhciBqPSExO2k9aVthXTt3aGlsZShpKXtpZihpLnNpemNhY2hlPT09Yyl7aj1kW2kuc2l6c2V0XTticmVha31pLm5vZGVUeXBlPT09MSYmIWYmJihpLnNpemNhY2hlPWMsaS5zaXpzZXQ9Zyk7aWYoaS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09Yil7aj1pO2JyZWFrfWk9aVthXX1kW2ddPWp9fX12YXIgYT0vKCg/OlwoKD86XChbXigpXStcKXxbXigpXSspK1wpfFxbKD86XFtbXlxbXF1dKlxdfFsnIl1bXiciXSpbJyJdfFteXFtcXSciXSspK1xdfFxcLnxbXiA+K34sKFxbXFxdKykrfFs+K35dKShccyosXHMqKT8oKD86LnxccnxcbikqKS9nLGU9MCxmPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcsZz0hMSxoPSEwLGk9L1xcL2csaj0vXFcvO1swLDBdLnNvcnQoZnVuY3Rpb24oKXtoPSExO3JldHVybiAwfSk7dmFyIGs9ZnVuY3Rpb24oYixkLGUsZyl7ZT1lfHxbXSxkPWR8fGM7dmFyIGg9ZDtpZihkLm5vZGVUeXBlIT09MSYmZC5ub2RlVHlwZSE9PTkpcmV0dXJuW107aWYoIWJ8fHR5cGVvZiBiIT09InN0cmluZyIpcmV0dXJuIGU7dmFyIGksaixuLG8scSxyLHMsdCx1PSEwLHc9ay5pc1hNTChkKSx4PVtdLHk9Yjtkb3thLmV4ZWMoIiIpLGk9YS5leGVjKHkpO2lmKGkpe3k9aVszXSx4LnB1c2goaVsxXSk7aWYoaVsyXSl7bz1pWzNdO2JyZWFrfX19d2hpbGUoaSk7aWYoeC5sZW5ndGg+MSYmbS5leGVjKGIpKWlmKHgubGVuZ3RoPT09MiYmbC5yZWxhdGl2ZVt4WzBdXSlqPXYoeFswXSt4WzFdLGQpO2Vsc2V7aj1sLnJlbGF0aXZlW3hbMF1dP1tkXTprKHguc2hpZnQoKSxkKTt3aGlsZSh4Lmxlbmd0aCliPXguc2hpZnQoKSxsLnJlbGF0aXZlW2JdJiYoYis9eC5zaGlmdCgpKSxqPXYoYixqKX1lbHNleyFnJiZ4Lmxlbmd0aD4xJiZkLm5vZGVUeXBlPT09OSYmIXcmJmwubWF0Y2guSUQudGVzdCh4WzBdKSYmIWwubWF0Y2guSUQudGVzdCh4W3gubGVuZ3RoLTFdKSYmKHE9ay5maW5kKHguc2hpZnQoKSxkLHcpLGQ9cS5leHByP2suZmlsdGVyKHEuZXhwcixxLnNldClbMF06cS5zZXRbMF0pO2lmKGQpe3E9Zz97ZXhwcjp4LnBvcCgpLHNldDpwKGcpfTprLmZpbmQoeC5wb3AoKSx4Lmxlbmd0aD09PTEmJih4WzBdPT09In4ifHx4WzBdPT09IisiKSYmZC5wYXJlbnROb2RlP2QucGFyZW50Tm9kZTpkLHcpLGo9cS5leHByP2suZmlsdGVyKHEuZXhwcixxLnNldCk6cS5zZXQseC5sZW5ndGg+MD9uPXAoaik6dT0hMTt3aGlsZSh4Lmxlbmd0aClyPXgucG9wKCkscz1yLGwucmVsYXRpdmVbcl0/cz14LnBvcCgpOnI9IiIscz09bnVsbCYmKHM9ZCksbC5yZWxhdGl2ZVtyXShuLHMsdyl9ZWxzZSBuPXg9W119bnx8KG49aiksbnx8ay5lcnJvcihyfHxiKTtpZihmLmNhbGwobik9PT0iW29iamVjdCBBcnJheV0iKWlmKHUpaWYoZCYmZC5ub2RlVHlwZT09PTEpZm9yKHQ9MDtuW3RdIT1udWxsO3QrKyluW3RdJiYoblt0XT09PSEwfHxuW3RdLm5vZGVUeXBlPT09MSYmay5jb250YWlucyhkLG5bdF0pKSYmZS5wdXNoKGpbdF0pO2Vsc2UgZm9yKHQ9MDtuW3RdIT1udWxsO3QrKyluW3RdJiZuW3RdLm5vZGVUeXBlPT09MSYmZS5wdXNoKGpbdF0pO2Vsc2UgZS5wdXNoLmFwcGx5KGUsbik7ZWxzZSBwKG4sZSk7byYmKGsobyxoLGUsZyksay51bmlxdWVTb3J0KGUpKTtyZXR1cm4gZX07ay51bmlxdWVTb3J0PWZ1bmN0aW9uKGEpe2lmKHIpe2c9aCxhLnNvcnQocik7aWYoZylmb3IodmFyIGI9MTtiPGEubGVuZ3RoO2IrKylhW2JdPT09YVtiLTFdJiZhLnNwbGljZShiLS0sMSl9cmV0dXJuIGF9LGsubWF0Y2hlcz1mdW5jdGlvbihhLGIpe3JldHVybiBrKGEsbnVsbCxudWxsLGIpfSxrLm1hdGNoZXNTZWxlY3Rvcj1mdW5jdGlvbihhLGIpe3JldHVybiBrKGIsbnVsbCxudWxsLFthXSkubGVuZ3RoPjB9LGsuZmluZD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ7aWYoIWEpcmV0dXJuW107Zm9yKHZhciBlPTAsZj1sLm9yZGVyLmxlbmd0aDtlPGY7ZSsrKXt2YXIgZyxoPWwub3JkZXJbZV07aWYoZz1sLmxlZnRNYXRjaFtoXS5leGVjKGEpKXt2YXIgaj1nWzFdO2cuc3BsaWNlKDEsMSk7aWYoai5zdWJzdHIoai5sZW5ndGgtMSkhPT0iXFwiKXtnWzFdPShnWzFdfHwiIikucmVwbGFjZShpLCIiKSxkPWwuZmluZFtoXShnLGIsYyk7aWYoZCE9bnVsbCl7YT1hLnJlcGxhY2UobC5tYXRjaFtoXSwiIik7YnJlYWt9fX19ZHx8KGQ9dHlwZW9mIGIuZ2V0RWxlbWVudHNCeVRhZ05hbWUhPT0idW5kZWZpbmVkIj9iLmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIik6W10pO3JldHVybntzZXQ6ZCxleHByOmF9fSxrLmZpbHRlcj1mdW5jdGlvbihhLGMsZCxlKXt2YXIgZixnLGg9YSxpPVtdLGo9YyxtPWMmJmNbMF0mJmsuaXNYTUwoY1swXSk7d2hpbGUoYSYmYy5sZW5ndGgpe2Zvcih2YXIgbiBpbiBsLmZpbHRlcilpZigoZj1sLmxlZnRNYXRjaFtuXS5leGVjKGEpKSE9bnVsbCYmZlsyXSl7dmFyIG8scCxxPWwuZmlsdGVyW25dLHI9ZlsxXTtnPSExLGYuc3BsaWNlKDEsMSk7aWYoci5zdWJzdHIoci5sZW5ndGgtMSk9PT0iXFwiKWNvbnRpbnVlO2o9PT1pJiYoaT1bXSk7aWYobC5wcmVGaWx0ZXJbbl0pe2Y9bC5wcmVGaWx0ZXJbbl0oZixqLGQsaSxlLG0pO2lmKGYpe2lmKGY9PT0hMCljb250aW51ZX1lbHNlIGc9bz0hMH1pZihmKWZvcih2YXIgcz0wOyhwPWpbc10pIT1udWxsO3MrKylpZihwKXtvPXEocCxmLHMsaik7dmFyIHQ9ZV4hIW87ZCYmbyE9bnVsbD90P2c9ITA6altzXT0hMTp0JiYoaS5wdXNoKHApLGc9ITApfWlmKG8hPT1iKXtkfHwoaj1pKSxhPWEucmVwbGFjZShsLm1hdGNoW25dLCIiKTtpZighZylyZXR1cm5bXTticmVha319aWYoYT09PWgpaWYoZz09bnVsbClrLmVycm9yKGEpO2Vsc2UgYnJlYWs7aD1hfXJldHVybiBqfSxrLmVycm9yPWZ1bmN0aW9uKGEpe3Rocm93IlN5bnRheCBlcnJvciwgdW5yZWNvZ25pemVkIGV4cHJlc3Npb246ICIrYX07dmFyIGw9ay5zZWxlY3RvcnM9e29yZGVyOlsiSUQiLCJOQU1FIiwiVEFHIl0sbWF0Y2g6e0lEOi8jKCg/Oltcd1x1MDBjMC1cdUZGRkZcLV18XFwuKSspLyxDTEFTUzovXC4oKD86W1x3XHUwMGMwLVx1RkZGRlwtXXxcXC4pKykvLE5BTUU6L1xbbmFtZT1bJyJdKigoPzpbXHdcdTAwYzAtXHVGRkZGXC1dfFxcLikrKVsnIl0qXF0vLEFUVFI6L1xbXHMqKCg/Oltcd1x1MDBjMC1cdUZGRkZcLV18XFwuKSspXHMqKD86KFxTPz0pXHMqKD86KFsnIl0pKC4qPylcM3woIz8oPzpbXHdcdTAwYzAtXHVGRkZGXC1dfFxcLikqKXwpfClccypcXS8sVEFHOi9eKCg/Oltcd1x1MDBjMC1cdUZGRkZcKlwtXXxcXC4pKykvLENISUxEOi86KG9ubHl8bnRofGxhc3R8Zmlyc3QpLWNoaWxkKD86XChccyooZXZlbnxvZGR8KD86WytcLV0/XGQrfCg/OlsrXC1dP1xkKik/blxzKig/OlsrXC1dXHMqXGQrKT8pKVxzKlwpKT8vLFBPUzovOihudGh8ZXF8Z3R8bHR8Zmlyc3R8bGFzdHxldmVufG9kZCkoPzpcKChcZCopXCkpPyg/PVteXC1dfCQpLyxQU0VVRE86LzooKD86W1x3XHUwMGMwLVx1RkZGRlwtXXxcXC4pKykoPzpcKChbJyJdPykoKD86XChbXlwpXStcKXxbXlwoXCldKikrKVwyXCkpPy99LGxlZnRNYXRjaDp7fSxhdHRyTWFwOnsiY2xhc3MiOiJjbGFzc05hbWUiLCJmb3IiOiJodG1sRm9yIn0sYXR0ckhhbmRsZTp7aHJlZjpmdW5jdGlvbihhKXtyZXR1cm4gYS5nZXRBdHRyaWJ1dGUoImhyZWYiKX0sdHlwZTpmdW5jdGlvbihhKXtyZXR1cm4gYS5nZXRBdHRyaWJ1dGUoInR5cGUiKX19LHJlbGF0aXZlOnsiKyI6ZnVuY3Rpb24oYSxiKXt2YXIgYz10eXBlb2YgYj09PSJzdHJpbmciLGQ9YyYmIWoudGVzdChiKSxlPWMmJiFkO2QmJihiPWIudG9Mb3dlckNhc2UoKSk7Zm9yKHZhciBmPTAsZz1hLmxlbmd0aCxoO2Y8ZztmKyspaWYoaD1hW2ZdKXt3aGlsZSgoaD1oLnByZXZpb3VzU2libGluZykmJmgubm9kZVR5cGUhPT0xKXt9YVtmXT1lfHxoJiZoLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1iP2h8fCExOmg9PT1ifWUmJmsuZmlsdGVyKGIsYSwhMCl9LCI+IjpmdW5jdGlvbihhLGIpe3ZhciBjLGQ9dHlwZW9mIGI9PT0ic3RyaW5nIixlPTAsZj1hLmxlbmd0aDtpZihkJiYhai50ZXN0KGIpKXtiPWIudG9Mb3dlckNhc2UoKTtmb3IoO2U8ZjtlKyspe2M9YVtlXTtpZihjKXt2YXIgZz1jLnBhcmVudE5vZGU7YVtlXT1nLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1iP2c6ITF9fX1lbHNle2Zvcig7ZTxmO2UrKyljPWFbZV0sYyYmKGFbZV09ZD9jLnBhcmVudE5vZGU6Yy5wYXJlbnROb2RlPT09Yik7ZCYmay5maWx0ZXIoYixhLCEwKX19LCIiOmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxmPWUrKyxnPXU7dHlwZW9mIGI9PT0ic3RyaW5nIiYmIWoudGVzdChiKSYmKGI9Yi50b0xvd2VyQ2FzZSgpLGQ9YixnPXQpLGcoInBhcmVudE5vZGUiLGIsZixhLGQsYyl9LCJ+IjpmdW5jdGlvbihhLGIsYyl7dmFyIGQsZj1lKyssZz11O3R5cGVvZiBiPT09InN0cmluZyImJiFqLnRlc3QoYikmJihiPWIudG9Mb3dlckNhc2UoKSxkPWIsZz10KSxnKCJwcmV2aW91c1NpYmxpbmciLGIsZixhLGQsYyl9fSxmaW5kOntJRDpmdW5jdGlvbihhLGIsYyl7aWYodHlwZW9mIGIuZ2V0RWxlbWVudEJ5SWQhPT0idW5kZWZpbmVkIiYmIWMpe3ZhciBkPWIuZ2V0RWxlbWVudEJ5SWQoYVsxXSk7cmV0dXJuIGQmJmQucGFyZW50Tm9kZT9bZF06W119fSxOQU1FOmZ1bmN0aW9uKGEsYil7aWYodHlwZW9mIGIuZ2V0RWxlbWVudHNCeU5hbWUhPT0idW5kZWZpbmVkIil7dmFyIGM9W10sZD1iLmdldEVsZW1lbnRzQnlOYW1lKGFbMV0pO2Zvcih2YXIgZT0wLGY9ZC5sZW5ndGg7ZTxmO2UrKylkW2VdLmdldEF0dHJpYnV0ZSgibmFtZSIpPT09YVsxXSYmYy5wdXNoKGRbZV0pO3JldHVybiBjLmxlbmd0aD09PTA/bnVsbDpjfX0sVEFHOmZ1bmN0aW9uKGEsYil7aWYodHlwZW9mIGIuZ2V0RWxlbWVudHNCeVRhZ05hbWUhPT0idW5kZWZpbmVkIilyZXR1cm4gYi5nZXRFbGVtZW50c0J5VGFnTmFtZShhWzFdKX19LHByZUZpbHRlcjp7Q0xBU1M6ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe2E9IiAiK2FbMV0ucmVwbGFjZShpLCIiKSsiICI7aWYoZilyZXR1cm4gYTtmb3IodmFyIGc9MCxoOyhoPWJbZ10pIT1udWxsO2crKyloJiYoZV4oaC5jbGFzc05hbWUmJigiICIraC5jbGFzc05hbWUrIiAiKS5yZXBsYWNlKC9bXHRcblxyXS9nLCIgIikuaW5kZXhPZihhKT49MCk/Y3x8ZC5wdXNoKGgpOmMmJihiW2ddPSExKSk7cmV0dXJuITF9LElEOmZ1bmN0aW9uKGEpe3JldHVybiBhWzFdLnJlcGxhY2UoaSwiIil9LFRBRzpmdW5jdGlvbihhLGIpe3JldHVybiBhWzFdLnJlcGxhY2UoaSwiIikudG9Mb3dlckNhc2UoKX0sQ0hJTEQ6ZnVuY3Rpb24oYSl7aWYoYVsxXT09PSJudGgiKXthWzJdfHxrLmVycm9yKGFbMF0pLGFbMl09YVsyXS5yZXBsYWNlKC9eXCt8XHMqL2csIiIpO3ZhciBiPS8oLT8pKFxkKikoPzpuKFsrXC1dP1xkKikpPy8uZXhlYyhhWzJdPT09ImV2ZW4iJiYiMm4ifHxhWzJdPT09Im9kZCImJiIybisxInx8IS9cRC8udGVzdChhWzJdKSYmIjBuKyIrYVsyXXx8YVsyXSk7YVsyXT1iWzFdKyhiWzJdfHwxKS0wLGFbM109YlszXS0wfWVsc2UgYVsyXSYmay5lcnJvcihhWzBdKTthWzBdPWUrKztyZXR1cm4gYX0sQVRUUjpmdW5jdGlvbihhLGIsYyxkLGUsZil7dmFyIGc9YVsxXT1hWzFdLnJlcGxhY2UoaSwiIik7IWYmJmwuYXR0ck1hcFtnXSYmKGFbMV09bC5hdHRyTWFwW2ddKSxhWzRdPShhWzRdfHxhWzVdfHwiIikucmVwbGFjZShpLCIiKSxhWzJdPT09In49IiYmKGFbNF09IiAiK2FbNF0rIiAiKTtyZXR1cm4gYX0sUFNFVURPOmZ1bmN0aW9uKGIsYyxkLGUsZil7aWYoYlsxXT09PSJub3QiKWlmKChhLmV4ZWMoYlszXSl8fCIiKS5sZW5ndGg+MXx8L15cdy8udGVzdChiWzNdKSliWzNdPWsoYlszXSxudWxsLG51bGwsYyk7ZWxzZXt2YXIgZz1rLmZpbHRlcihiWzNdLGMsZCwhMF5mKTtkfHxlLnB1c2guYXBwbHkoZSxnKTtyZXR1cm4hMX1lbHNlIGlmKGwubWF0Y2guUE9TLnRlc3QoYlswXSl8fGwubWF0Y2guQ0hJTEQudGVzdChiWzBdKSlyZXR1cm4hMDtyZXR1cm4gYn0sUE9TOmZ1bmN0aW9uKGEpe2EudW5zaGlmdCghMCk7cmV0dXJuIGF9fSxmaWx0ZXJzOntlbmFibGVkOmZ1bmN0aW9uKGEpe3JldHVybiBhLmRpc2FibGVkPT09ITEmJmEudHlwZSE9PSJoaWRkZW4ifSxkaXNhYmxlZDpmdW5jdGlvbihhKXtyZXR1cm4gYS5kaXNhYmxlZD09PSEwfSxjaGVja2VkOmZ1bmN0aW9uKGEpe3JldHVybiBhLmNoZWNrZWQ9PT0hMH0sc2VsZWN0ZWQ6ZnVuY3Rpb24oYSl7YS5wYXJlbnROb2RlJiZhLnBhcmVudE5vZGUuc2VsZWN0ZWRJbmRleDtyZXR1cm4gYS5zZWxlY3RlZD09PSEwfSxwYXJlbnQ6ZnVuY3Rpb24oYSl7cmV0dXJuISFhLmZpcnN0Q2hpbGR9LGVtcHR5OmZ1bmN0aW9uKGEpe3JldHVybiFhLmZpcnN0Q2hpbGR9LGhhczpmdW5jdGlvbihhLGIsYyl7cmV0dXJuISFrKGNbM10sYSkubGVuZ3RofSxoZWFkZXI6ZnVuY3Rpb24oYSl7cmV0dXJuL2hcZC9pLnRlc3QoYS5ub2RlTmFtZSl9LHRleHQ6ZnVuY3Rpb24oYSl7cmV0dXJuInRleHQiPT09YS5nZXRBdHRyaWJ1dGUoInR5cGUiKX0scmFkaW86ZnVuY3Rpb24oYSl7cmV0dXJuInJhZGlvIj09PWEudHlwZX0sY2hlY2tib3g6ZnVuY3Rpb24oYSl7cmV0dXJuImNoZWNrYm94Ij09PWEudHlwZX0sZmlsZTpmdW5jdGlvbihhKXtyZXR1cm4iZmlsZSI9PT1hLnR5cGV9LHBhc3N3b3JkOmZ1bmN0aW9uKGEpe3JldHVybiJwYXNzd29yZCI9PT1hLnR5cGV9LHN1Ym1pdDpmdW5jdGlvbihhKXtyZXR1cm4ic3VibWl0Ij09PWEudHlwZX0saW1hZ2U6ZnVuY3Rpb24oYSl7cmV0dXJuImltYWdlIj09PWEudHlwZX0scmVzZXQ6ZnVuY3Rpb24oYSl7cmV0dXJuInJlc2V0Ij09PWEudHlwZX0sYnV0dG9uOmZ1bmN0aW9uKGEpe3JldHVybiJidXR0b24iPT09YS50eXBlfHxhLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT0iYnV0dG9uIn0saW5wdXQ6ZnVuY3Rpb24oYSl7cmV0dXJuL2lucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b24vaS50ZXN0KGEubm9kZU5hbWUpfX0sc2V0RmlsdGVyczp7Zmlyc3Q6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYj09PTB9LGxhc3Q6ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIGI9PT1kLmxlbmd0aC0xfSxldmVuOmZ1bmN0aW9uKGEsYil7cmV0dXJuIGIlMj09PTB9LG9kZDpmdW5jdGlvbihhLGIpe3JldHVybiBiJTI9PT0xfSxsdDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGI8Y1szXS0wfSxndDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGI+Y1szXS0wfSxudGg6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBjWzNdLTA9PT1ifSxlcTpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGNbM10tMD09PWJ9fSxmaWx0ZXI6e1BTRVVETzpmdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1iWzFdLGY9bC5maWx0ZXJzW2VdO2lmKGYpcmV0dXJuIGYoYSxjLGIsZCk7aWYoZT09PSJjb250YWlucyIpcmV0dXJuKGEudGV4dENvbnRlbnR8fGEuaW5uZXJUZXh0fHxrLmdldFRleHQoW2FdKXx8IiIpLmluZGV4T2YoYlszXSk+PTA7aWYoZT09PSJub3QiKXt2YXIgZz1iWzNdO2Zvcih2YXIgaD0wLGk9Zy5sZW5ndGg7aDxpO2grKylpZihnW2hdPT09YSlyZXR1cm4hMTtyZXR1cm4hMH1rLmVycm9yKGUpfSxDSElMRDpmdW5jdGlvbihhLGIpe3ZhciBjPWJbMV0sZD1hO3N3aXRjaChjKXtjYXNlIm9ubHkiOmNhc2UiZmlyc3QiOndoaWxlKGQ9ZC5wcmV2aW91c1NpYmxpbmcpaWYoZC5ub2RlVHlwZT09PTEpcmV0dXJuITE7aWYoYz09PSJmaXJzdCIpcmV0dXJuITA7ZD1hO2Nhc2UibGFzdCI6d2hpbGUoZD1kLm5leHRTaWJsaW5nKWlmKGQubm9kZVR5cGU9PT0xKXJldHVybiExO3JldHVybiEwO2Nhc2UibnRoIjp2YXIgZT1iWzJdLGY9YlszXTtpZihlPT09MSYmZj09PTApcmV0dXJuITA7dmFyIGc9YlswXSxoPWEucGFyZW50Tm9kZTtpZihoJiYoaC5zaXpjYWNoZSE9PWd8fCFhLm5vZGVJbmRleCkpe3ZhciBpPTA7Zm9yKGQ9aC5maXJzdENoaWxkO2Q7ZD1kLm5leHRTaWJsaW5nKWQubm9kZVR5cGU9PT0xJiYoZC5ub2RlSW5kZXg9KytpKTtoLnNpemNhY2hlPWd9dmFyIGo9YS5ub2RlSW5kZXgtZjtyZXR1cm4gZT09PTA/aj09PTA6aiVlPT09MCYmai9lPj0wfX0sSUQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5ub2RlVHlwZT09PTEmJmEuZ2V0QXR0cmlidXRlKCJpZCIpPT09Yn0sVEFHOmZ1bmN0aW9uKGEsYil7cmV0dXJuIGI9PT0iKiImJmEubm9kZVR5cGU9PT0xfHxhLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1ifSxDTEFTUzpmdW5jdGlvbihhLGIpe3JldHVybigiICIrKGEuY2xhc3NOYW1lfHxhLmdldEF0dHJpYnV0ZSgiY2xhc3MiKSkrIiAiKS5pbmRleE9mKGIpPi0xfSxBVFRSOmZ1bmN0aW9uKGEsYil7dmFyIGM9YlsxXSxkPWwuYXR0ckhhbmRsZVtjXT9sLmF0dHJIYW5kbGVbY10oYSk6YVtjXSE9bnVsbD9hW2NdOmEuZ2V0QXR0cmlidXRlKGMpLGU9ZCsiIixmPWJbMl0sZz1iWzRdO3JldHVybiBkPT1udWxsP2Y9PT0iIT0iOmY9PT0iPSI/ZT09PWc6Zj09PSIqPSI/ZS5pbmRleE9mKGcpPj0wOmY9PT0ifj0iPygiICIrZSsiICIpLmluZGV4T2YoZyk+PTA6Zz9mPT09IiE9Ij9lIT09ZzpmPT09Il49Ij9lLmluZGV4T2YoZyk9PT0wOmY9PT0iJD0iP2Uuc3Vic3RyKGUubGVuZ3RoLWcubGVuZ3RoKT09PWc6Zj09PSJ8PSI/ZT09PWd8fGUuc3Vic3RyKDAsZy5sZW5ndGgrMSk9PT1nKyItIjohMTplJiZkIT09ITF9LFBPUzpmdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1iWzJdLGY9bC5zZXRGaWx0ZXJzW2VdO2lmKGYpcmV0dXJuIGYoYSxjLGIsZCl9fX0sbT1sLm1hdGNoLlBPUyxuPWZ1bmN0aW9uKGEsYil7cmV0dXJuIlxcIisoYi0wKzEpfTtmb3IodmFyIG8gaW4gbC5tYXRjaClsLm1hdGNoW29dPW5ldyBSZWdFeHAobC5tYXRjaFtvXS5zb3VyY2UrLyg/IVteXFtdKlxdKSg/IVteXChdKlwpKS8uc291cmNlKSxsLmxlZnRNYXRjaFtvXT1uZXcgUmVnRXhwKC8oXig/Oi58XHJ8XG4pKj8pLy5zb3VyY2UrbC5tYXRjaFtvXS5zb3VyY2UucmVwbGFjZSgvXFwoXGQrKS9nLG4pKTt2YXIgcD1mdW5jdGlvbihhLGIpe2E9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYSwwKTtpZihiKXtiLnB1c2guYXBwbHkoYixhKTtyZXR1cm4gYn1yZXR1cm4gYX07dHJ5e0FycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGMuZG9jdW1lbnRFbGVtZW50LmNoaWxkTm9kZXMsMClbMF0ubm9kZVR5cGV9Y2F0Y2gocSl7cD1mdW5jdGlvbihhLGIpe3ZhciBjPTAsZD1ifHxbXTtpZihmLmNhbGwoYSk9PT0iW29iamVjdCBBcnJheV0iKUFycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KGQsYSk7ZWxzZSBpZih0eXBlb2YgYS5sZW5ndGg9PT0ibnVtYmVyIilmb3IodmFyIGU9YS5sZW5ndGg7YzxlO2MrKylkLnB1c2goYVtjXSk7ZWxzZSBmb3IoO2FbY107YysrKWQucHVzaChhW2NdKTtyZXR1cm4gZH19dmFyIHIscztjLmRvY3VtZW50RWxlbWVudC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbj9yPWZ1bmN0aW9uKGEsYil7aWYoYT09PWIpe2c9ITA7cmV0dXJuIDB9aWYoIWEuY29tcGFyZURvY3VtZW50UG9zaXRpb258fCFiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKXJldHVybiBhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uPy0xOjE7cmV0dXJuIGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikmND8tMToxfToocj1mdW5jdGlvbihhLGIpe3ZhciBjLGQsZT1bXSxmPVtdLGg9YS5wYXJlbnROb2RlLGk9Yi5wYXJlbnROb2RlLGo9aDtpZihhPT09Yil7Zz0hMDtyZXR1cm4gMH1pZihoPT09aSlyZXR1cm4gcyhhLGIpO2lmKCFoKXJldHVybi0xO2lmKCFpKXJldHVybiAxO3doaWxlKGopZS51bnNoaWZ0KGopLGo9ai5wYXJlbnROb2RlO2o9aTt3aGlsZShqKWYudW5zaGlmdChqKSxqPWoucGFyZW50Tm9kZTtjPWUubGVuZ3RoLGQ9Zi5sZW5ndGg7Zm9yKHZhciBrPTA7azxjJiZrPGQ7aysrKWlmKGVba10hPT1mW2tdKXJldHVybiBzKGVba10sZltrXSk7cmV0dXJuIGs9PT1jP3MoYSxmW2tdLC0xKTpzKGVba10sYiwxKX0scz1mdW5jdGlvbihhLGIsYyl7aWYoYT09PWIpcmV0dXJuIGM7dmFyIGQ9YS5uZXh0U2libGluZzt3aGlsZShkKXtpZihkPT09YilyZXR1cm4tMTtkPWQubmV4dFNpYmxpbmd9cmV0dXJuIDF9KSxrLmdldFRleHQ9ZnVuY3Rpb24oYSl7dmFyIGI9IiIsYztmb3IodmFyIGQ9MDthW2RdO2QrKyljPWFbZF0sYy5ub2RlVHlwZT09PTN8fGMubm9kZVR5cGU9PT00P2IrPWMubm9kZVZhbHVlOmMubm9kZVR5cGUhPT04JiYoYis9ay5nZXRUZXh0KGMuY2hpbGROb2RlcykpO3JldHVybiBifSxmdW5jdGlvbigpe3ZhciBhPWMuY3JlYXRlRWxlbWVudCgiZGl2IiksZD0ic2NyaXB0IisobmV3IERhdGUpLmdldFRpbWUoKSxlPWMuZG9jdW1lbnRFbGVtZW50O2EuaW5uZXJIVE1MPSI8YSBuYW1lPSciK2QrIicvPiIsZS5pbnNlcnRCZWZvcmUoYSxlLmZpcnN0Q2hpbGQpLGMuZ2V0RWxlbWVudEJ5SWQoZCkmJihsLmZpbmQuSUQ9ZnVuY3Rpb24oYSxjLGQpe2lmKHR5cGVvZiBjLmdldEVsZW1lbnRCeUlkIT09InVuZGVmaW5lZCImJiFkKXt2YXIgZT1jLmdldEVsZW1lbnRCeUlkKGFbMV0pO3JldHVybiBlP2UuaWQ9PT1hWzFdfHx0eXBlb2YgZS5nZXRBdHRyaWJ1dGVOb2RlIT09InVuZGVmaW5lZCImJmUuZ2V0QXR0cmlidXRlTm9kZSgiaWQiKS5ub2RlVmFsdWU9PT1hWzFdP1tlXTpiOltdfX0sbC5maWx0ZXIuSUQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz10eXBlb2YgYS5nZXRBdHRyaWJ1dGVOb2RlIT09InVuZGVmaW5lZCImJmEuZ2V0QXR0cmlidXRlTm9kZSgiaWQiKTtyZXR1cm4gYS5ub2RlVHlwZT09PTEmJmMmJmMubm9kZVZhbHVlPT09Yn0pLGUucmVtb3ZlQ2hpbGQoYSksZT1hPW51bGx9KCksZnVuY3Rpb24oKXt2YXIgYT1jLmNyZWF0ZUVsZW1lbnQoImRpdiIpO2EuYXBwZW5kQ2hpbGQoYy5jcmVhdGVDb21tZW50KCIiKSksYS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpLmxlbmd0aD4wJiYobC5maW5kLlRBRz1mdW5jdGlvbihhLGIpe3ZhciBjPWIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoYVsxXSk7aWYoYVsxXT09PSIqIil7dmFyIGQ9W107Zm9yKHZhciBlPTA7Y1tlXTtlKyspY1tlXS5ub2RlVHlwZT09PTEmJmQucHVzaChjW2VdKTtjPWR9cmV0dXJuIGN9KSxhLmlubmVySFRNTD0iPGEgaHJlZj0nIyc+PC9hPiIsYS5maXJzdENoaWxkJiZ0eXBlb2YgYS5maXJzdENoaWxkLmdldEF0dHJpYnV0ZSE9PSJ1bmRlZmluZWQiJiZhLmZpcnN0Q2hpbGQuZ2V0QXR0cmlidXRlKCJocmVmIikhPT0iIyImJihsLmF0dHJIYW5kbGUuaHJlZj1mdW5jdGlvbihhKXtyZXR1cm4gYS5nZXRBdHRyaWJ1dGUoImhyZWYiLDIpfSksYT1udWxsfSgpLGMucXVlcnlTZWxlY3RvckFsbCYmZnVuY3Rpb24oKXt2YXIgYT1rLGI9Yy5jcmVhdGVFbGVtZW50KCJkaXYiKSxkPSJfX3NpenpsZV9fIjtiLmlubmVySFRNTD0iPHAgY2xhc3M9J1RFU1QnPjwvcD4iO2lmKCFiLnF1ZXJ5U2VsZWN0b3JBbGx8fGIucXVlcnlTZWxlY3RvckFsbCgiLlRFU1QiKS5sZW5ndGghPT0wKXtrPWZ1bmN0aW9uKGIsZSxmLGcpe2U9ZXx8YztpZighZyYmIWsuaXNYTUwoZSkpe3ZhciBoPS9eKFx3KyQpfF5cLihbXHdcLV0rJCl8XiMoW1x3XC1dKyQpLy5leGVjKGIpO2lmKGgmJihlLm5vZGVUeXBlPT09MXx8ZS5ub2RlVHlwZT09PTkpKXtpZihoWzFdKXJldHVybiBwKGUuZ2V0RWxlbWVudHNCeVRhZ05hbWUoYiksZik7aWYoaFsyXSYmbC5maW5kLkNMQVNTJiZlLmdldEVsZW1lbnRzQnlDbGFzc05hbWUpcmV0dXJuIHAoZS5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGhbMl0pLGYpfWlmKGUubm9kZVR5cGU9PT05KXtpZihiPT09ImJvZHkiJiZlLmJvZHkpcmV0dXJuIHAoW2UuYm9keV0sZik7aWYoaCYmaFszXSl7dmFyIGk9ZS5nZXRFbGVtZW50QnlJZChoWzNdKTtpZighaXx8IWkucGFyZW50Tm9kZSlyZXR1cm4gcChbXSxmKTtpZihpLmlkPT09aFszXSlyZXR1cm4gcChbaV0sZil9dHJ5e3JldHVybiBwKGUucXVlcnlTZWxlY3RvckFsbChiKSxmKX1jYXRjaChqKXt9fWVsc2UgaWYoZS5ub2RlVHlwZT09PTEmJmUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSE9PSJvYmplY3QiKXt2YXIgbT1lLG49ZS5nZXRBdHRyaWJ1dGUoImlkIiksbz1ufHxkLHE9ZS5wYXJlbnROb2RlLHI9L15ccypbK35dLy50ZXN0KGIpO24/bz1vLnJlcGxhY2UoLycvZywiXFwkJiIpOmUuc2V0QXR0cmlidXRlKCJpZCIsbyksciYmcSYmKGU9ZS5wYXJlbnROb2RlKTt0cnl7aWYoIXJ8fHEpcmV0dXJuIHAoZS5xdWVyeVNlbGVjdG9yQWxsKCJbaWQ9JyIrbysiJ10gIitiKSxmKX1jYXRjaChzKXt9ZmluYWxseXtufHxtLnJlbW92ZUF0dHJpYnV0ZSgiaWQiKX19fXJldHVybiBhKGIsZSxmLGcpfTtmb3IodmFyIGUgaW4gYSlrW2VdPWFbZV07Yj1udWxsfX0oKSxmdW5jdGlvbigpe3ZhciBhPWMuZG9jdW1lbnRFbGVtZW50LGI9YS5tYXRjaGVzU2VsZWN0b3J8fGEubW96TWF0Y2hlc1NlbGVjdG9yfHxhLndlYmtpdE1hdGNoZXNTZWxlY3Rvcnx8YS5tc01hdGNoZXNTZWxlY3RvcixkPSExO3RyeXtiLmNhbGwoYy5kb2N1bWVudEVsZW1lbnQsIlt0ZXN0IT0nJ106c2l6emxlIil9Y2F0Y2goZSl7ZD0hMH1iJiYoay5tYXRjaGVzU2VsZWN0b3I9ZnVuY3Rpb24oYSxjKXtjPWMucmVwbGFjZSgvXD1ccyooW14nIlxdXSopXHMqXF0vZywiPSckMSddIik7aWYoIWsuaXNYTUwoYSkpdHJ5e2lmKGR8fCFsLm1hdGNoLlBTRVVETy50ZXN0KGMpJiYhLyE9Ly50ZXN0KGMpKXJldHVybiBiLmNhbGwoYSxjKX1jYXRjaChlKXt9cmV0dXJuIGsoYyxudWxsLG51bGwsW2FdKS5sZW5ndGg+MH0pfSgpLGZ1bmN0aW9uKCl7dmFyIGE9Yy5jcmVhdGVFbGVtZW50KCJkaXYiKTthLmlubmVySFRNTD0iPGRpdiBjbGFzcz0ndGVzdCBlJz48L2Rpdj48ZGl2IGNsYXNzPSd0ZXN0Jz48L2Rpdj4iO2lmKGEuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSYmYS5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJlIikubGVuZ3RoIT09MCl7YS5sYXN0Q2hpbGQuY2xhc3NOYW1lPSJlIjtpZihhLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoImUiKS5sZW5ndGg9PT0xKXJldHVybjtsLm9yZGVyLnNwbGljZSgxLDAsIkNMQVNTIiksbC5maW5kLkNMQVNTPWZ1bmN0aW9uKGEsYixjKXtpZih0eXBlb2YgYi5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lIT09InVuZGVmaW5lZCImJiFjKXJldHVybiBiLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoYVsxXSl9LGE9bnVsbH19KCksYy5kb2N1bWVudEVsZW1lbnQuY29udGFpbnM/ay5jb250YWlucz1mdW5jdGlvbihhLGIpe3JldHVybiBhIT09YiYmKGEuY29udGFpbnM/YS5jb250YWlucyhiKTohMCl9OmMuZG9jdW1lbnRFbGVtZW50LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uP2suY29udGFpbnM9ZnVuY3Rpb24oYSxiKXtyZXR1cm4hIShhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpJjE2KX06ay5jb250YWlucz1mdW5jdGlvbigpe3JldHVybiExfSxrLmlzWE1MPWZ1bmN0aW9uKGEpe3ZhciBiPShhP2Eub3duZXJEb2N1bWVudHx8YTowKS5kb2N1bWVudEVsZW1lbnQ7cmV0dXJuIGI/Yi5ub2RlTmFtZSE9PSJIVE1MIjohMX07dmFyIHY9ZnVuY3Rpb24oYSxiKXt2YXIgYyxkPVtdLGU9IiIsZj1iLm5vZGVUeXBlP1tiXTpiO3doaWxlKGM9bC5tYXRjaC5QU0VVRE8uZXhlYyhhKSllKz1jWzBdLGE9YS5yZXBsYWNlKGwubWF0Y2guUFNFVURPLCIiKTthPWwucmVsYXRpdmVbYV0/YSsiKiI6YTtmb3IodmFyIGc9MCxoPWYubGVuZ3RoO2c8aDtnKyspayhhLGZbZ10sZCk7cmV0dXJuIGsuZmlsdGVyKGUsZCl9O2QuZmluZD1rLGQuZXhwcj1rLnNlbGVjdG9ycyxkLmV4cHJbIjoiXT1kLmV4cHIuZmlsdGVycyxkLnVuaXF1ZT1rLnVuaXF1ZVNvcnQsZC50ZXh0PWsuZ2V0VGV4dCxkLmlzWE1MRG9jPWsuaXNYTUwsZC5jb250YWlucz1rLmNvbnRhaW5zfSgpO3ZhciBHPS9VbnRpbCQvLEg9L14oPzpwYXJlbnRzfHByZXZVbnRpbHxwcmV2QWxsKS8sST0vLC8sSj0vXi5bXjojXFtcLixdKiQvLEs9QXJyYXkucHJvdG90eXBlLnNsaWNlLEw9ZC5leHByLm1hdGNoLlBPUyxNPXtjaGlsZHJlbjohMCxjb250ZW50czohMCxuZXh0OiEwLHByZXY6ITB9O2QuZm4uZXh0ZW5kKHtmaW5kOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMucHVzaFN0YWNrKCIiLCJmaW5kIixhKSxjPTA7Zm9yKHZhciBlPTAsZj10aGlzLmxlbmd0aDtlPGY7ZSsrKXtjPWIubGVuZ3RoLGQuZmluZChhLHRoaXNbZV0sYik7aWYoZT4wKWZvcih2YXIgZz1jO2c8Yi5sZW5ndGg7ZysrKWZvcih2YXIgaD0wO2g8YztoKyspaWYoYltoXT09PWJbZ10pe2Iuc3BsaWNlKGctLSwxKTticmVha319cmV0dXJuIGJ9LGhhczpmdW5jdGlvbihhKXt2YXIgYj1kKGEpO3JldHVybiB0aGlzLmZpbHRlcihmdW5jdGlvbigpe2Zvcih2YXIgYT0wLGM9Yi5sZW5ndGg7YTxjO2ErKylpZihkLmNvbnRhaW5zKHRoaXMsYlthXSkpcmV0dXJuITB9KX0sbm90OmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnB1c2hTdGFjayhPKHRoaXMsYSwhMSksIm5vdCIsYSl9LGZpbHRlcjpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soTyh0aGlzLGEsITApLCJmaWx0ZXIiLGEpfSxpczpmdW5jdGlvbihhKXtyZXR1cm4hIWEmJmQuZmlsdGVyKGEsdGhpcykubGVuZ3RoPjB9LGNsb3Nlc3Q6ZnVuY3Rpb24oYSxiKXt2YXIgYz1bXSxlLGYsZz10aGlzWzBdO2lmKGQuaXNBcnJheShhKSl7dmFyIGgsaSxqPXt9LGs9MTtpZihnJiZhLmxlbmd0aCl7Zm9yKGU9MCxmPWEubGVuZ3RoO2U8ZjtlKyspaT1hW2VdLGpbaV18fChqW2ldPWQuZXhwci5tYXRjaC5QT1MudGVzdChpKT9kKGksYnx8dGhpcy5jb250ZXh0KTppKTt3aGlsZShnJiZnLm93bmVyRG9jdW1lbnQmJmchPT1iKXtmb3IoaSBpbiBqKWg9altpXSwoaC5qcXVlcnk/aC5pbmRleChnKT4tMTpkKGcpLmlzKGgpKSYmYy5wdXNoKHtzZWxlY3RvcjppLGVsZW06ZyxsZXZlbDprfSk7Zz1nLnBhcmVudE5vZGUsaysrfX1yZXR1cm4gY312YXIgbD1MLnRlc3QoYSk/ZChhLGJ8fHRoaXMuY29udGV4dCk6bnVsbDtmb3IoZT0wLGY9dGhpcy5sZW5ndGg7ZTxmO2UrKyl7Zz10aGlzW2VdO3doaWxlKGcpe2lmKGw/bC5pbmRleChnKT4tMTpkLmZpbmQubWF0Y2hlc1NlbGVjdG9yKGcsYSkpe2MucHVzaChnKTticmVha31nPWcucGFyZW50Tm9kZTtpZighZ3x8IWcub3duZXJEb2N1bWVudHx8Zz09PWIpYnJlYWt9fWM9Yy5sZW5ndGg+MT9kLnVuaXF1ZShjKTpjO3JldHVybiB0aGlzLnB1c2hTdGFjayhjLCJjbG9zZXN0IixhKX0saW5kZXg6ZnVuY3Rpb24oYSl7aWYoIWF8fHR5cGVvZiBhPT09InN0cmluZyIpcmV0dXJuIGQuaW5BcnJheSh0aGlzWzBdLGE/ZChhKTp0aGlzLnBhcmVudCgpLmNoaWxkcmVuKCkpO3JldHVybiBkLmluQXJyYXkoYS5qcXVlcnk/YVswXTphLHRoaXMpfSxhZGQ6ZnVuY3Rpb24oYSxiKXt2YXIgYz10eXBlb2YgYT09PSJzdHJpbmciP2QoYSxiKTpkLm1ha2VBcnJheShhKSxlPWQubWVyZ2UodGhpcy5nZXQoKSxjKTtyZXR1cm4gdGhpcy5wdXNoU3RhY2soTihjWzBdKXx8TihlWzBdKT9lOmQudW5pcXVlKGUpKX0sYW5kU2VsZjpmdW5jdGlvbigpe3JldHVybiB0aGlzLmFkZCh0aGlzLnByZXZPYmplY3QpfX0pLGQuZWFjaCh7cGFyZW50OmZ1bmN0aW9uKGEpe3ZhciBiPWEucGFyZW50Tm9kZTtyZXR1cm4gYiYmYi5ub2RlVHlwZSE9PTExP2I6bnVsbH0scGFyZW50czpmdW5jdGlvbihhKXtyZXR1cm4gZC5kaXIoYSwicGFyZW50Tm9kZSIpfSxwYXJlbnRzVW50aWw6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBkLmRpcihhLCJwYXJlbnROb2RlIixjKX0sbmV4dDpmdW5jdGlvbihhKXtyZXR1cm4gZC5udGgoYSwyLCJuZXh0U2libGluZyIpfSxwcmV2OmZ1bmN0aW9uKGEpe3JldHVybiBkLm50aChhLDIsInByZXZpb3VzU2libGluZyIpfSxuZXh0QWxsOmZ1bmN0aW9uKGEpe3JldHVybiBkLmRpcihhLCJuZXh0U2libGluZyIpfSxwcmV2QWxsOmZ1bmN0aW9uKGEpe3JldHVybiBkLmRpcihhLCJwcmV2aW91c1NpYmxpbmciKX0sbmV4dFVudGlsOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gZC5kaXIoYSwibmV4dFNpYmxpbmciLGMpfSxwcmV2VW50aWw6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBkLmRpcihhLCJwcmV2aW91c1NpYmxpbmciLGMpfSxzaWJsaW5nczpmdW5jdGlvbihhKXtyZXR1cm4gZC5zaWJsaW5nKGEucGFyZW50Tm9kZS5maXJzdENoaWxkLGEpfSxjaGlsZHJlbjpmdW5jdGlvbihhKXtyZXR1cm4gZC5zaWJsaW5nKGEuZmlyc3RDaGlsZCl9LGNvbnRlbnRzOmZ1bmN0aW9uKGEpe3JldHVybiBkLm5vZGVOYW1lKGEsImlmcmFtZSIpP2EuY29udGVudERvY3VtZW50fHxhLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQ6ZC5tYWtlQXJyYXkoYS5jaGlsZE5vZGVzKX19LGZ1bmN0aW9uKGEsYil7ZC5mblthXT1mdW5jdGlvbihjLGUpe3ZhciBmPWQubWFwKHRoaXMsYixjKSxnPUsuY2FsbChhcmd1bWVudHMpO0cudGVzdChhKXx8KGU9YyksZSYmdHlwZW9mIGU9PT0ic3RyaW5nIiYmKGY9ZC5maWx0ZXIoZSxmKSksZj10aGlzLmxlbmd0aD4xJiYhTVthXT9kLnVuaXF1ZShmKTpmLCh0aGlzLmxlbmd0aD4xfHxJLnRlc3QoZSkpJiZILnRlc3QoYSkmJihmPWYucmV2ZXJzZSgpKTtyZXR1cm4gdGhpcy5wdXNoU3RhY2soZixhLGcuam9pbigiLCIpKX19KSxkLmV4dGVuZCh7ZmlsdGVyOmZ1bmN0aW9uKGEsYixjKXtjJiYoYT0iOm5vdCgiK2ErIikiKTtyZXR1cm4gYi5sZW5ndGg9PT0xP2QuZmluZC5tYXRjaGVzU2VsZWN0b3IoYlswXSxhKT9bYlswXV06W106ZC5maW5kLm1hdGNoZXMoYSxiKX0sZGlyOmZ1bmN0aW9uKGEsYyxlKXt2YXIgZj1bXSxnPWFbY107d2hpbGUoZyYmZy5ub2RlVHlwZSE9PTkmJihlPT09Ynx8Zy5ub2RlVHlwZSE9PTF8fCFkKGcpLmlzKGUpKSlnLm5vZGVUeXBlPT09MSYmZi5wdXNoKGcpLGc9Z1tjXTtyZXR1cm4gZn0sbnRoOmZ1bmN0aW9uKGEsYixjLGQpe2I9Ynx8MTt2YXIgZT0wO2Zvcig7YTthPWFbY10paWYoYS5ub2RlVHlwZT09PTEmJisrZT09PWIpYnJlYWs7cmV0dXJuIGF9LHNpYmxpbmc6ZnVuY3Rpb24oYSxiKXt2YXIgYz1bXTtmb3IoO2E7YT1hLm5leHRTaWJsaW5nKWEubm9kZVR5cGU9PT0xJiZhIT09YiYmYy5wdXNoKGEpO3JldHVybiBjfX0pO3ZhciBQPS8galF1ZXJ5XGQrPSIoPzpcZCt8bnVsbCkiL2csUT0vXlxzKy8sUj0vPCg/IWFyZWF8YnJ8Y29sfGVtYmVkfGhyfGltZ3xpbnB1dHxsaW5rfG1ldGF8cGFyYW0pKChbXHc6XSspW14+XSopXC8+L2lnLFM9LzwoW1x3Ol0rKS8sVD0vPHRib2R5L2ksVT0vPHwmIz9cdys7LyxWPS88KD86c2NyaXB0fG9iamVjdHxlbWJlZHxvcHRpb258c3R5bGUpL2ksVz0vY2hlY2tlZFxzKig/OltePV18PVxzKi5jaGVja2VkLikvaSxYPXtvcHRpb246WzEsIjxzZWxlY3QgbXVsdGlwbGU9J211bHRpcGxlJz4iLCI8L3NlbGVjdD4iXSxsZWdlbmQ6WzEsIjxmaWVsZHNldD4iLCI8L2ZpZWxkc2V0PiJdLHRoZWFkOlsxLCI8dGFibGU+IiwiPC90YWJsZT4iXSx0cjpbMiwiPHRhYmxlPjx0Ym9keT4iLCI8L3Rib2R5PjwvdGFibGU+Il0sdGQ6WzMsIjx0YWJsZT48dGJvZHk+PHRyPiIsIjwvdHI+PC90Ym9keT48L3RhYmxlPiJdLGNvbDpbMiwiPHRhYmxlPjx0Ym9keT48L3Rib2R5Pjxjb2xncm91cD4iLCI8L2NvbGdyb3VwPjwvdGFibGU+Il0sYXJlYTpbMSwiPG1hcD4iLCI8L21hcD4iXSxfZGVmYXVsdDpbMCwiIiwiIl19O1gub3B0Z3JvdXA9WC5vcHRpb24sWC50Ym9keT1YLnRmb290PVguY29sZ3JvdXA9WC5jYXB0aW9uPVgudGhlYWQsWC50aD1YLnRkLGQuc3VwcG9ydC5odG1sU2VyaWFsaXplfHwoWC5fZGVmYXVsdD1bMSwiZGl2PGRpdj4iLCI8L2Rpdj4iXSksZC5mbi5leHRlbmQoe3RleHQ6ZnVuY3Rpb24oYSl7aWYoZC5pc0Z1bmN0aW9uKGEpKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oYil7dmFyIGM9ZCh0aGlzKTtjLnRleHQoYS5jYWxsKHRoaXMsYixjLnRleHQoKSkpfSk7aWYodHlwZW9mIGEhPT0ib2JqZWN0IiYmYSE9PWIpcmV0dXJuIHRoaXMuZW1wdHkoKS5hcHBlbmQoKHRoaXNbMF0mJnRoaXNbMF0ub3duZXJEb2N1bWVudHx8YykuY3JlYXRlVGV4dE5vZGUoYSkpO3JldHVybiBkLnRleHQodGhpcyl9LHdyYXBBbGw6ZnVuY3Rpb24oYSl7aWYoZC5pc0Z1bmN0aW9uKGEpKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oYil7ZCh0aGlzKS53cmFwQWxsKGEuY2FsbCh0aGlzLGIpKX0pO2lmKHRoaXNbMF0pe3ZhciBiPWQoYSx0aGlzWzBdLm93bmVyRG9jdW1lbnQpLmVxKDApLmNsb25lKCEwKTt0aGlzWzBdLnBhcmVudE5vZGUmJmIuaW5zZXJ0QmVmb3JlKHRoaXNbMF0pLGIubWFwKGZ1bmN0aW9uKCl7dmFyIGE9dGhpczt3aGlsZShhLmZpcnN0Q2hpbGQmJmEuZmlyc3RDaGlsZC5ub2RlVHlwZT09PTEpYT1hLmZpcnN0Q2hpbGQ7cmV0dXJuIGF9KS5hcHBlbmQodGhpcyl9cmV0dXJuIHRoaXN9LHdyYXBJbm5lcjpmdW5jdGlvbihhKXtpZihkLmlzRnVuY3Rpb24oYSkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihiKXtkKHRoaXMpLndyYXBJbm5lcihhLmNhbGwodGhpcyxiKSl9KTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGI9ZCh0aGlzKSxjPWIuY29udGVudHMoKTtjLmxlbmd0aD9jLndyYXBBbGwoYSk6Yi5hcHBlbmQoYSl9KX0sd3JhcDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7ZCh0aGlzKS53cmFwQWxsKGEpfSl9LHVud3JhcDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnBhcmVudCgpLmVhY2goZnVuY3Rpb24oKXtkLm5vZGVOYW1lKHRoaXMsImJvZHkiKXx8ZCh0aGlzKS5yZXBsYWNlV2l0aCh0aGlzLmNoaWxkTm9kZXMpfSkuZW5kKCl9LGFwcGVuZDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmRvbU1hbmlwKGFyZ3VtZW50cywhMCxmdW5jdGlvbihhKXt0aGlzLm5vZGVUeXBlPT09MSYmdGhpcy5hcHBlbmRDaGlsZChhKX0pfSxwcmVwZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZG9tTWFuaXAoYXJndW1lbnRzLCEwLGZ1bmN0aW9uKGEpe3RoaXMubm9kZVR5cGU9PT0xJiZ0aGlzLmluc2VydEJlZm9yZShhLHRoaXMuZmlyc3RDaGlsZCl9KX0sYmVmb3JlOmZ1bmN0aW9uKCl7aWYodGhpc1swXSYmdGhpc1swXS5wYXJlbnROb2RlKXJldHVybiB0aGlzLmRvbU1hbmlwKGFyZ3VtZW50cywhMSxmdW5jdGlvbihhKXt0aGlzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsdGhpcyl9KTtpZihhcmd1bWVudHMubGVuZ3RoKXt2YXIgYT1kKGFyZ3VtZW50c1swXSk7YS5wdXNoLmFwcGx5KGEsdGhpcy50b0FycmF5KCkpO3JldHVybiB0aGlzLnB1c2hTdGFjayhhLCJiZWZvcmUiLGFyZ3VtZW50cyl9fSxhZnRlcjpmdW5jdGlvbigpe2lmKHRoaXNbMF0mJnRoaXNbMF0ucGFyZW50Tm9kZSlyZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1bWVudHMsITEsZnVuY3Rpb24oYSl7dGhpcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShhLHRoaXMubmV4dFNpYmxpbmcpfSk7aWYoYXJndW1lbnRzLmxlbmd0aCl7dmFyIGE9dGhpcy5wdXNoU3RhY2sodGhpcywiYWZ0ZXIiLGFyZ3VtZW50cyk7YS5wdXNoLmFwcGx5KGEsZChhcmd1bWVudHNbMF0pLnRvQXJyYXkoKSk7cmV0dXJuIGF9fSxyZW1vdmU6ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9MCxlOyhlPXRoaXNbY10pIT1udWxsO2MrKylpZighYXx8ZC5maWx0ZXIoYSxbZV0pLmxlbmd0aCkhYiYmZS5ub2RlVHlwZT09PTEmJihkLmNsZWFuRGF0YShlLmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIikpLGQuY2xlYW5EYXRhKFtlXSkpLGUucGFyZW50Tm9kZSYmZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGUpO3JldHVybiB0aGlzfSxlbXB0eTpmdW5jdGlvbigpe2Zvcih2YXIgYT0wLGI7KGI9dGhpc1thXSkhPW51bGw7YSsrKXtiLm5vZGVUeXBlPT09MSYmZC5jbGVhbkRhdGEoYi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpKTt3aGlsZShiLmZpcnN0Q2hpbGQpYi5yZW1vdmVDaGlsZChiLmZpcnN0Q2hpbGQpfXJldHVybiB0aGlzfSxjbG9uZTpmdW5jdGlvbihhLGIpe2E9YT09bnVsbD8hMTphLGI9Yj09bnVsbD9hOmI7cmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uKCl7cmV0dXJuIGQuY2xvbmUodGhpcyxhLGIpfSl9LGh0bWw6ZnVuY3Rpb24oYSl7aWYoYT09PWIpcmV0dXJuIHRoaXNbMF0mJnRoaXNbMF0ubm9kZVR5cGU9PT0xP3RoaXNbMF0uaW5uZXJIVE1MLnJlcGxhY2UoUCwiIik6bnVsbDtpZih0eXBlb2YgYSE9PSJzdHJpbmcifHxWLnRlc3QoYSl8fCFkLnN1cHBvcnQubGVhZGluZ1doaXRlc3BhY2UmJlEudGVzdChhKXx8WFsoUy5leGVjKGEpfHxbIiIsIiJdKVsxXS50b0xvd2VyQ2FzZSgpXSlkLmlzRnVuY3Rpb24oYSk/dGhpcy5lYWNoKGZ1bmN0aW9uKGIpe3ZhciBjPWQodGhpcyk7Yy5odG1sKGEuY2FsbCh0aGlzLGIsYy5odG1sKCkpKX0pOnRoaXMuZW1wdHkoKS5hcHBlbmQoYSk7ZWxzZXthPWEucmVwbGFjZShSLCI8JDE+PC8kMj4iKTt0cnl7Zm9yKHZhciBjPTAsZT10aGlzLmxlbmd0aDtjPGU7YysrKXRoaXNbY10ubm9kZVR5cGU9PT0xJiYoZC5jbGVhbkRhdGEodGhpc1tjXS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpKSx0aGlzW2NdLmlubmVySFRNTD1hKX1jYXRjaChmKXt0aGlzLmVtcHR5KCkuYXBwZW5kKGEpfX1yZXR1cm4gdGhpc30scmVwbGFjZVdpdGg6ZnVuY3Rpb24oYSl7aWYodGhpc1swXSYmdGhpc1swXS5wYXJlbnROb2RlKXtpZihkLmlzRnVuY3Rpb24oYSkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihiKXt2YXIgYz1kKHRoaXMpLGU9Yy5odG1sKCk7Yy5yZXBsYWNlV2l0aChhLmNhbGwodGhpcyxiLGUpKX0pO3R5cGVvZiBhIT09InN0cmluZyImJihhPWQoYSkuZGV0YWNoKCkpO3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYj10aGlzLm5leHRTaWJsaW5nLGM9dGhpcy5wYXJlbnROb2RlO2QodGhpcykucmVtb3ZlKCksYj9kKGIpLmJlZm9yZShhKTpkKGMpLmFwcGVuZChhKX0pfXJldHVybiB0aGlzLnB1c2hTdGFjayhkKGQuaXNGdW5jdGlvbihhKT9hKCk6YSksInJlcGxhY2VXaXRoIixhKX0sZGV0YWNoOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnJlbW92ZShhLCEwKX0sZG9tTWFuaXA6ZnVuY3Rpb24oYSxjLGUpe3ZhciBmLGcsaCxpLGo9YVswXSxrPVtdO2lmKCFkLnN1cHBvcnQuY2hlY2tDbG9uZSYmYXJndW1lbnRzLmxlbmd0aD09PTMmJnR5cGVvZiBqPT09InN0cmluZyImJlcudGVzdChqKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7ZCh0aGlzKS5kb21NYW5pcChhLGMsZSwhMCl9KTtpZihkLmlzRnVuY3Rpb24oaikpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihmKXt2YXIgZz1kKHRoaXMpO2FbMF09ai5jYWxsKHRoaXMsZixjP2cuaHRtbCgpOmIpLGcuZG9tTWFuaXAoYSxjLGUpfSk7aWYodGhpc1swXSl7aT1qJiZqLnBhcmVudE5vZGUsZC5zdXBwb3J0LnBhcmVudE5vZGUmJmkmJmkubm9kZVR5cGU9PT0xMSYmaS5jaGlsZE5vZGVzLmxlbmd0aD09PXRoaXMubGVuZ3RoP2Y9e2ZyYWdtZW50Oml9OmY9ZC5idWlsZEZyYWdtZW50KGEsdGhpcyxrKSxoPWYuZnJhZ21lbnQsaC5jaGlsZE5vZGVzLmxlbmd0aD09PTE/Zz1oPWguZmlyc3RDaGlsZDpnPWguZmlyc3RDaGlsZDtpZihnKXtjPWMmJmQubm9kZU5hbWUoZywidHIiKTtmb3IodmFyIGw9MCxtPXRoaXMubGVuZ3RoLG49bS0xO2w8bTtsKyspZS5jYWxsKGM/WSh0aGlzW2xdLGcpOnRoaXNbbF0sZi5jYWNoZWFibGV8fG0+MSYmbDxuP2QuY2xvbmUoaCwhMCwhMCk6aCl9ay5sZW5ndGgmJmQuZWFjaChrLGJhKX1yZXR1cm4gdGhpc319KSxkLmJ1aWxkRnJhZ21lbnQ9ZnVuY3Rpb24oYSxiLGUpe3ZhciBmLGcsaCxpPWImJmJbMF0/YlswXS5vd25lckRvY3VtZW50fHxiWzBdOmM7YS5sZW5ndGg9PT0xJiZ0eXBlb2YgYVswXT09PSJzdHJpbmciJiZhWzBdLmxlbmd0aDw1MTImJmk9PT1jJiZhWzBdLmNoYXJBdCgwKT09PSI8IiYmIVYudGVzdChhWzBdKSYmKGQuc3VwcG9ydC5jaGVja0Nsb25lfHwhVy50ZXN0KGFbMF0pKSYmKGc9ITAsaD1kLmZyYWdtZW50c1thWzBdXSxoJiYoaCE9PTEmJihmPWgpKSksZnx8KGY9aS5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCksZC5jbGVhbihhLGksZixlKSksZyYmKGQuZnJhZ21lbnRzW2FbMF1dPWg/ZjoxKTtyZXR1cm57ZnJhZ21lbnQ6ZixjYWNoZWFibGU6Z319LGQuZnJhZ21lbnRzPXt9LGQuZWFjaCh7YXBwZW5kVG86ImFwcGVuZCIscHJlcGVuZFRvOiJwcmVwZW5kIixpbnNlcnRCZWZvcmU6ImJlZm9yZSIsaW5zZXJ0QWZ0ZXI6ImFmdGVyIixyZXBsYWNlQWxsOiJyZXBsYWNlV2l0aCJ9LGZ1bmN0aW9uKGEsYil7ZC5mblthXT1mdW5jdGlvbihjKXt2YXIgZT1bXSxmPWQoYyksZz10aGlzLmxlbmd0aD09PTEmJnRoaXNbMF0ucGFyZW50Tm9kZTtpZihnJiZnLm5vZGVUeXBlPT09MTEmJmcuY2hpbGROb2Rlcy5sZW5ndGg9PT0xJiZmLmxlbmd0aD09PTEpe2ZbYl0odGhpc1swXSk7cmV0dXJuIHRoaXN9Zm9yKHZhciBoPTAsaT1mLmxlbmd0aDtoPGk7aCsrKXt2YXIgaj0oaD4wP3RoaXMuY2xvbmUoITApOnRoaXMpLmdldCgpO2QoZltoXSlbYl0oaiksZT1lLmNvbmNhdChqKX1yZXR1cm4gdGhpcy5wdXNoU3RhY2soZSxhLGYuc2VsZWN0b3IpfX0pLGQuZXh0ZW5kKHtjbG9uZTpmdW5jdGlvbihhLGIsYyl7dmFyIGU9YS5jbG9uZU5vZGUoITApLGYsZyxoO2lmKCghZC5zdXBwb3J0Lm5vQ2xvbmVFdmVudHx8IWQuc3VwcG9ydC5ub0Nsb25lQ2hlY2tlZCkmJihhLm5vZGVUeXBlPT09MXx8YS5ub2RlVHlwZT09PTExKSYmIWQuaXNYTUxEb2MoYSkpeyQoYSxlKSxmPV8oYSksZz1fKGUpO2ZvcihoPTA7ZltoXTsrK2gpJChmW2hdLGdbaF0pfWlmKGIpe1ooYSxlKTtpZihjKXtmPV8oYSksZz1fKGUpO2ZvcihoPTA7ZltoXTsrK2gpWihmW2hdLGdbaF0pfX1yZXR1cm4gZX0sY2xlYW46ZnVuY3Rpb24oYSxiLGUsZil7Yj1ifHxjLHR5cGVvZiBiLmNyZWF0ZUVsZW1lbnQ9PT0idW5kZWZpbmVkIiYmKGI9Yi5vd25lckRvY3VtZW50fHxiWzBdJiZiWzBdLm93bmVyRG9jdW1lbnR8fGMpO3ZhciBnPVtdO2Zvcih2YXIgaD0wLGk7KGk9YVtoXSkhPW51bGw7aCsrKXt0eXBlb2YgaT09PSJudW1iZXIiJiYoaSs9IiIpO2lmKCFpKWNvbnRpbnVlO2lmKHR5cGVvZiBpIT09InN0cmluZyJ8fFUudGVzdChpKSl7aWYodHlwZW9mIGk9PT0ic3RyaW5nIil7aT1pLnJlcGxhY2UoUiwiPCQxPjwvJDI+Iik7dmFyIGo9KFMuZXhlYyhpKXx8WyIiLCIiXSlbMV0udG9Mb3dlckNhc2UoKSxrPVhbal18fFguX2RlZmF1bHQsbD1rWzBdLG09Yi5jcmVhdGVFbGVtZW50KCJkaXYiKTttLmlubmVySFRNTD1rWzFdK2kra1syXTt3aGlsZShsLS0pbT1tLmxhc3RDaGlsZDtpZighZC5zdXBwb3J0LnRib2R5KXt2YXIgbj1ULnRlc3QoaSksbz1qPT09InRhYmxlIiYmIW4/bS5maXJzdENoaWxkJiZtLmZpcnN0Q2hpbGQuY2hpbGROb2RlczprWzFdPT09Ijx0YWJsZT4iJiYhbj9tLmNoaWxkTm9kZXM6W107Zm9yKHZhciBwPW8ubGVuZ3RoLTE7cD49MDstLXApZC5ub2RlTmFtZShvW3BdLCJ0Ym9keSIpJiYhb1twXS5jaGlsZE5vZGVzLmxlbmd0aCYmb1twXS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG9bcF0pfSFkLnN1cHBvcnQubGVhZGluZ1doaXRlc3BhY2UmJlEudGVzdChpKSYmbS5pbnNlcnRCZWZvcmUoYi5jcmVhdGVUZXh0Tm9kZShRLmV4ZWMoaSlbMF0pLG0uZmlyc3RDaGlsZCksaT1tLmNoaWxkTm9kZXN9fWVsc2UgaT1iLmNyZWF0ZVRleHROb2RlKGkpO2kubm9kZVR5cGU/Zy5wdXNoKGkpOmc9ZC5tZXJnZShnLGkpfWlmKGUpZm9yKGg9MDtnW2hdO2grKykhZnx8IWQubm9kZU5hbWUoZ1toXSwic2NyaXB0Iil8fGdbaF0udHlwZSYmZ1toXS50eXBlLnRvTG93ZXJDYXNlKCkhPT0idGV4dC9qYXZhc2NyaXB0Ij8oZ1toXS5ub2RlVHlwZT09PTEmJmcuc3BsaWNlLmFwcGx5KGcsW2grMSwwXS5jb25jYXQoZC5tYWtlQXJyYXkoZ1toXS5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IikpKSksZS5hcHBlbmRDaGlsZChnW2hdKSk6Zi5wdXNoKGdbaF0ucGFyZW50Tm9kZT9nW2hdLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZ1toXSk6Z1toXSk7cmV0dXJuIGd9LGNsZWFuRGF0YTpmdW5jdGlvbihhKXt2YXIgYixjLGU9ZC5jYWNoZSxmPWQuZXhwYW5kbyxnPWQuZXZlbnQuc3BlY2lhbCxoPWQuc3VwcG9ydC5kZWxldGVFeHBhbmRvO2Zvcih2YXIgaT0wLGo7KGo9YVtpXSkhPW51bGw7aSsrKXtpZihqLm5vZGVOYW1lJiZkLm5vRGF0YVtqLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldKWNvbnRpbnVlO2M9altkLmV4cGFuZG9dO2lmKGMpe2I9ZVtjXSYmZVtjXVtmXTtpZihiJiZiLmV2ZW50cyl7Zm9yKHZhciBrIGluIGIuZXZlbnRzKWdba10/ZC5ldmVudC5yZW1vdmUoaixrKTpkLnJlbW92ZUV2ZW50KGosayxiLmhhbmRsZSk7Yi5oYW5kbGUmJihiLmhhbmRsZS5lbGVtPW51bGwpfWg/ZGVsZXRlIGpbZC5leHBhbmRvXTpqLnJlbW92ZUF0dHJpYnV0ZSYmai5yZW1vdmVBdHRyaWJ1dGUoZC5leHBhbmRvKSxkZWxldGUgZVtjXX19fX0pO3ZhciBiYj0vYWxwaGFcKFteKV0qXCkvaSxiYz0vb3BhY2l0eT0oW14pXSopLyxiZD0vLShbYS16XSkvaWcsYmU9LyhbQS1aXSkvZyxiZj0vXi0/XGQrKD86cHgpPyQvaSxiZz0vXi0/XGQvLGJoPXtwb3NpdGlvbjoiYWJzb2x1dGUiLHZpc2liaWxpdHk6ImhpZGRlbiIsZGlzcGxheToiYmxvY2sifSxiaT1bIkxlZnQiLCJSaWdodCJdLGJqPVsiVG9wIiwiQm90dG9tIl0sYmssYmwsYm0sYm49ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYi50b1VwcGVyQ2FzZSgpfTtkLmZuLmNzcz1mdW5jdGlvbihhLGMpe2lmKGFyZ3VtZW50cy5sZW5ndGg9PT0yJiZjPT09YilyZXR1cm4gdGhpcztyZXR1cm4gZC5hY2Nlc3ModGhpcyxhLGMsITAsZnVuY3Rpb24oYSxjLGUpe3JldHVybiBlIT09Yj9kLnN0eWxlKGEsYyxlKTpkLmNzcyhhLGMpfSl9LGQuZXh0ZW5kKHtjc3NIb29rczp7b3BhY2l0eTp7Z2V0OmZ1bmN0aW9uKGEsYil7aWYoYil7dmFyIGM9YmsoYSwib3BhY2l0eSIsIm9wYWNpdHkiKTtyZXR1cm4gYz09PSIiPyIxIjpjfXJldHVybiBhLnN0eWxlLm9wYWNpdHl9fX0sY3NzTnVtYmVyOnt6SW5kZXg6ITAsZm9udFdlaWdodDohMCxvcGFjaXR5OiEwLHpvb206ITAsbGluZUhlaWdodDohMH0sY3NzUHJvcHM6eyJmbG9hdCI6ZC5zdXBwb3J0LmNzc0Zsb2F0PyJjc3NGbG9hdCI6InN0eWxlRmxvYXQifSxzdHlsZTpmdW5jdGlvbihhLGMsZSxmKXtpZihhJiZhLm5vZGVUeXBlIT09MyYmYS5ub2RlVHlwZSE9PTgmJmEuc3R5bGUpe3ZhciBnLGg9ZC5jYW1lbENhc2UoYyksaT1hLnN0eWxlLGo9ZC5jc3NIb29rc1toXTtjPWQuY3NzUHJvcHNbaF18fGg7aWYoZT09PWIpe2lmKGomJiJnZXQiaW4gaiYmKGc9ai5nZXQoYSwhMSxmKSkhPT1iKXJldHVybiBnO3JldHVybiBpW2NdfWlmKHR5cGVvZiBlPT09Im51bWJlciImJmlzTmFOKGUpfHxlPT1udWxsKXJldHVybjt0eXBlb2YgZT09PSJudW1iZXIiJiYhZC5jc3NOdW1iZXJbaF0mJihlKz0icHgiKTtpZighanx8ISgic2V0ImluIGopfHwoZT1qLnNldChhLGUpKSE9PWIpdHJ5e2lbY109ZX1jYXRjaChrKXt9fX0sY3NzOmZ1bmN0aW9uKGEsYyxlKXt2YXIgZixnPWQuY2FtZWxDYXNlKGMpLGg9ZC5jc3NIb29rc1tnXTtjPWQuY3NzUHJvcHNbZ118fGc7aWYoaCYmImdldCJpbiBoJiYoZj1oLmdldChhLCEwLGUpKSE9PWIpcmV0dXJuIGY7aWYoYmspcmV0dXJuIGJrKGEsYyxnKX0sc3dhcDpmdW5jdGlvbihhLGIsYyl7dmFyIGQ9e307Zm9yKHZhciBlIGluIGIpZFtlXT1hLnN0eWxlW2VdLGEuc3R5bGVbZV09YltlXTtjLmNhbGwoYSk7Zm9yKGUgaW4gYilhLnN0eWxlW2VdPWRbZV19LGNhbWVsQ2FzZTpmdW5jdGlvbihhKXtyZXR1cm4gYS5yZXBsYWNlKGJkLGJuKX19KSxkLmN1ckNTUz1kLmNzcyxkLmVhY2goWyJoZWlnaHQiLCJ3aWR0aCJdLGZ1bmN0aW9uKGEsYil7ZC5jc3NIb29rc1tiXT17Z2V0OmZ1bmN0aW9uKGEsYyxlKXt2YXIgZjtpZihjKXthLm9mZnNldFdpZHRoIT09MD9mPWJvKGEsYixlKTpkLnN3YXAoYSxiaCxmdW5jdGlvbigpe2Y9Ym8oYSxiLGUpfSk7aWYoZjw9MCl7Zj1iayhhLGIsYiksZj09PSIwcHgiJiZibSYmKGY9Ym0oYSxiLGIpKTtpZihmIT1udWxsKXJldHVybiBmPT09IiJ8fGY9PT0iYXV0byI/IjBweCI6Zn1pZihmPDB8fGY9PW51bGwpe2Y9YS5zdHlsZVtiXTtyZXR1cm4gZj09PSIifHxmPT09ImF1dG8iPyIwcHgiOmZ9cmV0dXJuIHR5cGVvZiBmPT09InN0cmluZyI/ZjpmKyJweCJ9fSxzZXQ6ZnVuY3Rpb24oYSxiKXtpZighYmYudGVzdChiKSlyZXR1cm4gYjtiPXBhcnNlRmxvYXQoYik7aWYoYj49MClyZXR1cm4gYisicHgifX19KSxkLnN1cHBvcnQub3BhY2l0eXx8KGQuY3NzSG9va3Mub3BhY2l0eT17Z2V0OmZ1bmN0aW9uKGEsYil7cmV0dXJuIGJjLnRlc3QoKGImJmEuY3VycmVudFN0eWxlP2EuY3VycmVudFN0eWxlLmZpbHRlcjphLnN0eWxlLmZpbHRlcil8fCIiKT9wYXJzZUZsb2F0KFJlZ0V4cC4kMSkvMTAwKyIiOmI/IjEiOiIifSxzZXQ6ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLnN0eWxlO2Muem9vbT0xO3ZhciBlPWQuaXNOYU4oYik/IiI6ImFscGhhKG9wYWNpdHk9IitiKjEwMCsiKSIsZj1jLmZpbHRlcnx8IiI7Yy5maWx0ZXI9YmIudGVzdChmKT9mLnJlcGxhY2UoYmIsZSk6Yy5maWx0ZXIrIiAiK2V9fSksYy5kZWZhdWx0VmlldyYmYy5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlJiYoYmw9ZnVuY3Rpb24oYSxjLGUpe3ZhciBmLGcsaDtlPWUucmVwbGFjZShiZSwiLSQxIikudG9Mb3dlckNhc2UoKTtpZighKGc9YS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3KSlyZXR1cm4gYjtpZihoPWcuZ2V0Q29tcHV0ZWRTdHlsZShhLG51bGwpKWY9aC5nZXRQcm9wZXJ0eVZhbHVlKGUpLGY9PT0iIiYmIWQuY29udGFpbnMoYS5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxhKSYmKGY9ZC5zdHlsZShhLGUpKTtyZXR1cm4gZn0pLGMuZG9jdW1lbnRFbGVtZW50LmN1cnJlbnRTdHlsZSYmKGJtPWZ1bmN0aW9uKGEsYil7dmFyIGMsZD1hLmN1cnJlbnRTdHlsZSYmYS5jdXJyZW50U3R5bGVbYl0sZT1hLnJ1bnRpbWVTdHlsZSYmYS5ydW50aW1lU3R5bGVbYl0sZj1hLnN0eWxlOyFiZi50ZXN0KGQpJiZiZy50ZXN0KGQpJiYoYz1mLmxlZnQsZSYmKGEucnVudGltZVN0eWxlLmxlZnQ9YS5jdXJyZW50U3R5bGUubGVmdCksZi5sZWZ0PWI9PT0iZm9udFNpemUiPyIxZW0iOmR8fDAsZD1mLnBpeGVsTGVmdCsicHgiLGYubGVmdD1jLGUmJihhLnJ1bnRpbWVTdHlsZS5sZWZ0PWUpKTtyZXR1cm4gZD09PSIiPyJhdXRvIjpkfSksYms9Ymx8fGJtLGQuZXhwciYmZC5leHByLmZpbHRlcnMmJihkLmV4cHIuZmlsdGVycy5oaWRkZW49ZnVuY3Rpb24oYSl7dmFyIGI9YS5vZmZzZXRXaWR0aCxjPWEub2Zmc2V0SGVpZ2h0O3JldHVybiBiPT09MCYmYz09PTB8fCFkLnN1cHBvcnQucmVsaWFibGVIaWRkZW5PZmZzZXRzJiYoYS5zdHlsZS5kaXNwbGF5fHxkLmNzcyhhLCJkaXNwbGF5IikpPT09Im5vbmUifSxkLmV4cHIuZmlsdGVycy52aXNpYmxlPWZ1bmN0aW9uKGEpe3JldHVybiFkLmV4cHIuZmlsdGVycy5oaWRkZW4oYSl9KTt2YXIgYnA9LyUyMC9nLGJxPS9cW1xdJC8sYnI9L1xyP1xuL2csYnM9LyMuKiQvLGJ0PS9eKC4qPyk6WyBcdF0qKFteXHJcbl0qKVxyPyQvbWcsYnU9L14oPzpjb2xvcnxkYXRlfGRhdGV0aW1lfGVtYWlsfGhpZGRlbnxtb250aHxudW1iZXJ8cGFzc3dvcmR8cmFuZ2V8c2VhcmNofHRlbHx0ZXh0fHRpbWV8dXJsfHdlZWspJC9pLGJ2PS8oPzpeZmlsZXxed2lkZ2V0fFwtZXh0ZW5zaW9uKTokLyxidz0vXig/OkdFVHxIRUFEKSQvLGJ4PS9eXC9cLy8sYnk9L1w/Lyxiej0vPHNjcmlwdFxiW148XSooPzooPyE8XC9zY3JpcHQ+KTxbXjxdKikqPFwvc2NyaXB0Pi9naSxiQT0vXig/OnNlbGVjdHx0ZXh0YXJlYSkvaSxiQj0vXHMrLyxiQz0vKFs/Jl0pXz1bXiZdKi8sYkQ9LyhefFwtKShbYS16XSkvZyxiRT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGIrYy50b1VwcGVyQ2FzZSgpfSxiRj0vXihbXHdcK1wuXC1dKzopXC9cLyhbXlwvPyM6XSopKD86OihcZCspKT8vLGJHPWQuZm4ubG9hZCxiSD17fSxiST17fSxiSixiSzt0cnl7Yko9Yy5sb2NhdGlvbi5ocmVmfWNhdGNoKGJMKXtiSj1jLmNyZWF0ZUVsZW1lbnQoImEiKSxiSi5ocmVmPSIiLGJKPWJKLmhyZWZ9Yks9YkYuZXhlYyhiSi50b0xvd2VyQ2FzZSgpKSxkLmZuLmV4dGVuZCh7bG9hZDpmdW5jdGlvbihhLGMsZSl7aWYodHlwZW9mIGEhPT0ic3RyaW5nIiYmYkcpcmV0dXJuIGJHLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtpZighdGhpcy5sZW5ndGgpcmV0dXJuIHRoaXM7dmFyIGY9YS5pbmRleE9mKCIgIik7aWYoZj49MCl7dmFyIGc9YS5zbGljZShmLGEubGVuZ3RoKTthPWEuc2xpY2UoMCxmKX12YXIgaD0iR0VUIjtjJiYoZC5pc0Z1bmN0aW9uKGMpPyhlPWMsYz1iKTp0eXBlb2YgYz09PSJvYmplY3QiJiYoYz1kLnBhcmFtKGMsZC5hamF4U2V0dGluZ3MudHJhZGl0aW9uYWwpLGg9IlBPU1QiKSk7dmFyIGk9dGhpcztkLmFqYXgoe3VybDphLHR5cGU6aCxkYXRhVHlwZToiaHRtbCIsZGF0YTpjLGNvbXBsZXRlOmZ1bmN0aW9uKGEsYixjKXtjPWEucmVzcG9uc2VUZXh0LGEuaXNSZXNvbHZlZCgpJiYoYS5kb25lKGZ1bmN0aW9uKGEpe2M9YX0pLGkuaHRtbChnP2QoIjxkaXY+IikuYXBwZW5kKGMucmVwbGFjZShieiwiIikpLmZpbmQoZyk6YykpLGUmJmkuZWFjaChlLFtjLGIsYV0pfX0pO3JldHVybiB0aGlzfSxzZXJpYWxpemU6ZnVuY3Rpb24oKXtyZXR1cm4gZC5wYXJhbSh0aGlzLnNlcmlhbGl6ZUFycmF5KCkpfSxzZXJpYWxpemVBcnJheTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1hcChmdW5jdGlvbigpe3JldHVybiB0aGlzLmVsZW1lbnRzP2QubWFrZUFycmF5KHRoaXMuZWxlbWVudHMpOnRoaXN9KS5maWx0ZXIoZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5uYW1lJiYhdGhpcy5kaXNhYmxlZCYmKHRoaXMuY2hlY2tlZHx8YkEudGVzdCh0aGlzLm5vZGVOYW1lKXx8YnUudGVzdCh0aGlzLnR5cGUpKX0pLm1hcChmdW5jdGlvbihhLGIpe3ZhciBjPWQodGhpcykudmFsKCk7cmV0dXJuIGM9PW51bGw/bnVsbDpkLmlzQXJyYXkoYyk/ZC5tYXAoYyxmdW5jdGlvbihhLGMpe3JldHVybntuYW1lOmIubmFtZSx2YWx1ZTphLnJlcGxhY2UoYnIsIlxyXG4iKX19KTp7bmFtZTpiLm5hbWUsdmFsdWU6Yy5yZXBsYWNlKGJyLCJcclxuIil9fSkuZ2V0KCl9fSksZC5lYWNoKCJhamF4U3RhcnQgYWpheFN0b3AgYWpheENvbXBsZXRlIGFqYXhFcnJvciBhamF4U3VjY2VzcyBhamF4U2VuZCIuc3BsaXQoIiAiKSxmdW5jdGlvbihhLGIpe2QuZm5bYl09ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuYmluZChiLGEpfX0pLGQuZWFjaChbImdldCIsInBvc3QiXSxmdW5jdGlvbihhLGMpe2RbY109ZnVuY3Rpb24oYSxlLGYsZyl7ZC5pc0Z1bmN0aW9uKGUpJiYoZz1nfHxmLGY9ZSxlPWIpO3JldHVybiBkLmFqYXgoe3R5cGU6Yyx1cmw6YSxkYXRhOmUsc3VjY2VzczpmLGRhdGFUeXBlOmd9KX19KSxkLmV4dGVuZCh7Z2V0U2NyaXB0OmZ1bmN0aW9uKGEsYyl7cmV0dXJuIGQuZ2V0KGEsYixjLCJzY3JpcHQiKX0sZ2V0SlNPTjpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGQuZ2V0KGEsYixjLCJqc29uIil9LGFqYXhTZXR1cDpmdW5jdGlvbihhLGIpe2I/ZC5leHRlbmQoITAsYSxkLmFqYXhTZXR0aW5ncyxiKTooYj1hLGE9ZC5leHRlbmQoITAsZC5hamF4U2V0dGluZ3MsYikpO2Zvcih2YXIgYyBpbiB7Y29udGV4dDoxLHVybDoxfSljIGluIGI/YVtjXT1iW2NdOmMgaW4gZC5hamF4U2V0dGluZ3MmJihhW2NdPWQuYWpheFNldHRpbmdzW2NdKTtyZXR1cm4gYX0sYWpheFNldHRpbmdzOnt1cmw6YkosaXNMb2NhbDpidi50ZXN0KGJLWzFdKSxnbG9iYWw6ITAsdHlwZToiR0VUIixjb250ZW50VHlwZToiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIixwcm9jZXNzRGF0YTohMCxhc3luYzohMCxhY2NlcHRzOnt4bWw6ImFwcGxpY2F0aW9uL3htbCwgdGV4dC94bWwiLGh0bWw6InRleHQvaHRtbCIsdGV4dDoidGV4dC9wbGFpbiIsanNvbjoiYXBwbGljYXRpb24vanNvbiwgdGV4dC9qYXZhc2NyaXB0IiwiKiI6IiovKiJ9LGNvbnRlbnRzOnt4bWw6L3htbC8saHRtbDovaHRtbC8sanNvbjovanNvbi99LHJlc3BvbnNlRmllbGRzOnt4bWw6InJlc3BvbnNlWE1MIix0ZXh0OiJyZXNwb25zZVRleHQifSxjb252ZXJ0ZXJzOnsiKiB0ZXh0IjphLlN0cmluZywidGV4dCBodG1sIjohMCwidGV4dCBqc29uIjpkLnBhcnNlSlNPTiwidGV4dCB4bWwiOmQucGFyc2VYTUx9fSxhamF4UHJlZmlsdGVyOmJNKGJIKSxhamF4VHJhbnNwb3J0OmJNKGJJKSxhamF4OmZ1bmN0aW9uKGEsYyl7ZnVuY3Rpb24gdihhLGMsbCxuKXtpZihyIT09Mil7cj0yLHAmJmNsZWFyVGltZW91dChwKSxvPWIsbT1ufHwiIix1LnJlYWR5U3RhdGU9YT80OjA7dmFyIHEsdCx2LHc9bD9iUChlLHUsbCk6Yix4LHk7aWYoYT49MjAwJiZhPDMwMHx8YT09PTMwNCl7aWYoZS5pZk1vZGlmaWVkKXtpZih4PXUuZ2V0UmVzcG9uc2VIZWFkZXIoIkxhc3QtTW9kaWZpZWQiKSlkLmxhc3RNb2RpZmllZFtrXT14O2lmKHk9dS5nZXRSZXNwb25zZUhlYWRlcigiRXRhZyIpKWQuZXRhZ1trXT15fWlmKGE9PT0zMDQpYz0ibm90bW9kaWZpZWQiLHE9ITA7ZWxzZSB0cnl7dD1iUShlLHcpLGM9InN1Y2Nlc3MiLHE9ITB9Y2F0Y2goeil7Yz0icGFyc2VyZXJyb3IiLHY9en19ZWxzZXt2PWM7aWYoIWN8fGEpYz0iZXJyb3IiLGE8MCYmKGE9MCl9dS5zdGF0dXM9YSx1LnN0YXR1c1RleHQ9YyxxP2gucmVzb2x2ZVdpdGgoZixbdCxjLHVdKTpoLnJlamVjdFdpdGgoZixbdSxjLHZdKSx1LnN0YXR1c0NvZGUoaiksaj1iLHMmJmcudHJpZ2dlcigiYWpheCIrKHE/IlN1Y2Nlc3MiOiJFcnJvciIpLFt1LGUscT90OnZdKSxpLnJlc29sdmVXaXRoKGYsW3UsY10pLHMmJihnLnRyaWdnZXIoImFqYXhDb21wbGV0ZSIsW3UsZV0pLC0tZC5hY3RpdmV8fGQuZXZlbnQudHJpZ2dlcigiYWpheFN0b3AiKSl9fXR5cGVvZiBhPT09Im9iamVjdCImJihjPWEsYT1iKSxjPWN8fHt9O3ZhciBlPWQuYWpheFNldHVwKHt9LGMpLGY9ZS5jb250ZXh0fHxlLGc9ZiE9PWUmJihmLm5vZGVUeXBlfHxmIGluc3RhbmNlb2YgZCk/ZChmKTpkLmV2ZW50LGg9ZC5EZWZlcnJlZCgpLGk9ZC5fRGVmZXJyZWQoKSxqPWUuc3RhdHVzQ29kZXx8e30sayxsPXt9LG0sbixvLHAscSxyPTAscyx0LHU9e3JlYWR5U3RhdGU6MCxzZXRSZXF1ZXN0SGVhZGVyOmZ1bmN0aW9uKGEsYil7cnx8KGxbYS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoYkQsYkUpXT1iKTtyZXR1cm4gdGhpc30sZ2V0QWxsUmVzcG9uc2VIZWFkZXJzOmZ1bmN0aW9uKCl7cmV0dXJuIHI9PT0yP206bnVsbH0sZ2V0UmVzcG9uc2VIZWFkZXI6ZnVuY3Rpb24oYSl7dmFyIGM7aWYocj09PTIpe2lmKCFuKXtuPXt9O3doaWxlKGM9YnQuZXhlYyhtKSluW2NbMV0udG9Mb3dlckNhc2UoKV09Y1syXX1jPW5bYS50b0xvd2VyQ2FzZSgpXX1yZXR1cm4gYz09PWI/bnVsbDpjfSxvdmVycmlkZU1pbWVUeXBlOmZ1bmN0aW9uKGEpe3J8fChlLm1pbWVUeXBlPWEpO3JldHVybiB0aGlzfSxhYm9ydDpmdW5jdGlvbihhKXthPWF8fCJhYm9ydCIsbyYmby5hYm9ydChhKSx2KDAsYSk7cmV0dXJuIHRoaXN9fTtoLnByb21pc2UodSksdS5zdWNjZXNzPXUuZG9uZSx1LmVycm9yPXUuZmFpbCx1LmNvbXBsZXRlPWkuZG9uZSx1LnN0YXR1c0NvZGU9ZnVuY3Rpb24oYSl7aWYoYSl7dmFyIGI7aWYocjwyKWZvcihiIGluIGEpaltiXT1baltiXSxhW2JdXTtlbHNlIGI9YVt1LnN0YXR1c10sdS50aGVuKGIsYil9cmV0dXJuIHRoaXN9LGUudXJsPSgoYXx8ZS51cmwpKyIiKS5yZXBsYWNlKGJzLCIiKS5yZXBsYWNlKGJ4LGJLWzFdKyIvLyIpLGUuZGF0YVR5cGVzPWQudHJpbShlLmRhdGFUeXBlfHwiKiIpLnRvTG93ZXJDYXNlKCkuc3BsaXQoYkIpLGUuY3Jvc3NEb21haW58fChxPWJGLmV4ZWMoZS51cmwudG9Mb3dlckNhc2UoKSksZS5jcm9zc0RvbWFpbj1xJiYocVsxXSE9YktbMV18fHFbMl0hPWJLWzJdfHwocVszXXx8KHFbMV09PT0iaHR0cDoiPzgwOjQ0MykpIT0oYktbM118fChiS1sxXT09PSJodHRwOiI/ODA6NDQzKSkpKSxlLmRhdGEmJmUucHJvY2Vzc0RhdGEmJnR5cGVvZiBlLmRhdGEhPT0ic3RyaW5nIiYmKGUuZGF0YT1kLnBhcmFtKGUuZGF0YSxlLnRyYWRpdGlvbmFsKSksYk4oYkgsZSxjLHUpO2lmKHI9PT0yKXJldHVybiExO3M9ZS5nbG9iYWwsZS50eXBlPWUudHlwZS50b1VwcGVyQ2FzZSgpLGUuaGFzQ29udGVudD0hYncudGVzdChlLnR5cGUpLHMmJmQuYWN0aXZlKys9PT0wJiZkLmV2ZW50LnRyaWdnZXIoImFqYXhTdGFydCIpO2lmKCFlLmhhc0NvbnRlbnQpe2UuZGF0YSYmKGUudXJsKz0oYnkudGVzdChlLnVybCk/IiYiOiI/IikrZS5kYXRhKSxrPWUudXJsO2lmKGUuY2FjaGU9PT0hMSl7dmFyIHc9ZC5ub3coKSx4PWUudXJsLnJlcGxhY2UoYkMsIiQxXz0iK3cpO2UudXJsPXgrKHg9PT1lLnVybD8oYnkudGVzdChlLnVybCk/IiYiOiI/IikrIl89Iit3OiIiKX19aWYoZS5kYXRhJiZlLmhhc0NvbnRlbnQmJmUuY29udGVudFR5cGUhPT0hMXx8Yy5jb250ZW50VHlwZSlsWyJDb250ZW50LVR5cGUiXT1lLmNvbnRlbnRUeXBlO2UuaWZNb2RpZmllZCYmKGs9a3x8ZS51cmwsZC5sYXN0TW9kaWZpZWRba10mJihsWyJJZi1Nb2RpZmllZC1TaW5jZSJdPWQubGFzdE1vZGlmaWVkW2tdKSxkLmV0YWdba10mJihsWyJJZi1Ob25lLU1hdGNoIl09ZC5ldGFnW2tdKSksbC5BY2NlcHQ9ZS5kYXRhVHlwZXNbMF0mJmUuYWNjZXB0c1tlLmRhdGFUeXBlc1swXV0/ZS5hY2NlcHRzW2UuZGF0YVR5cGVzWzBdXSsoZS5kYXRhVHlwZXNbMF0hPT0iKiI/IiwgKi8qOyBxPTAuMDEiOiIiKTplLmFjY2VwdHNbIioiXTtmb3IodCBpbiBlLmhlYWRlcnMpdS5zZXRSZXF1ZXN0SGVhZGVyKHQsZS5oZWFkZXJzW3RdKTtpZihlLmJlZm9yZVNlbmQmJihlLmJlZm9yZVNlbmQuY2FsbChmLHUsZSk9PT0hMXx8cj09PTIpKXt1LmFib3J0KCk7cmV0dXJuITF9Zm9yKHQgaW4ge3N1Y2Nlc3M6MSxlcnJvcjoxLGNvbXBsZXRlOjF9KXVbdF0oZVt0XSk7bz1iTihiSSxlLGMsdSk7aWYobyl7dS5yZWFkeVN0YXRlPTEscyYmZy50cmlnZ2VyKCJhamF4U2VuZCIsW3UsZV0pLGUuYXN5bmMmJmUudGltZW91dD4wJiYocD1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dS5hYm9ydCgidGltZW91dCIpfSxlLnRpbWVvdXQpKTt0cnl7cj0xLG8uc2VuZChsLHYpfWNhdGNoKHkpe3N0YXR1czwyP3YoLTEseSk6ZC5lcnJvcih5KX19ZWxzZSB2KC0xLCJObyBUcmFuc3BvcnQiKTtyZXR1cm4gdX0scGFyYW06ZnVuY3Rpb24oYSxjKXt2YXIgZT1bXSxmPWZ1bmN0aW9uKGEsYil7Yj1kLmlzRnVuY3Rpb24oYik/YigpOmIsZVtlLmxlbmd0aF09ZW5jb2RlVVJJQ29tcG9uZW50KGEpKyI9IitlbmNvZGVVUklDb21wb25lbnQoYil9O2M9PT1iJiYoYz1kLmFqYXhTZXR0aW5ncy50cmFkaXRpb25hbCk7aWYoZC5pc0FycmF5KGEpfHxhLmpxdWVyeSYmIWQuaXNQbGFpbk9iamVjdChhKSlkLmVhY2goYSxmdW5jdGlvbigpe2YodGhpcy5uYW1lLHRoaXMudmFsdWUpfSk7ZWxzZSBmb3IodmFyIGcgaW4gYSliTyhnLGFbZ10sYyxmKTtyZXR1cm4gZS5qb2luKCImIikucmVwbGFjZShicCwiKyIpfX0pLGQuZXh0ZW5kKHthY3RpdmU6MCxsYXN0TW9kaWZpZWQ6e30sZXRhZzp7fX0pO3ZhciBiUj1kLm5vdygpLGJTPS8oXD0pXD8oJnwkKXwoKVw/XD8oKS9pO2QuYWpheFNldHVwKHtqc29ucDoiY2FsbGJhY2siLGpzb25wQ2FsbGJhY2s6ZnVuY3Rpb24oKXtyZXR1cm4gZC5leHBhbmRvKyJfIitiUisrfX0pLGQuYWpheFByZWZpbHRlcigianNvbiBqc29ucCIsZnVuY3Rpb24oYixjLGUpe3ZhciBmPXR5cGVvZiBiLmRhdGE9PT0ic3RyaW5nIjtpZihiLmRhdGFUeXBlc1swXT09PSJqc29ucCJ8fGMuanNvbnBDYWxsYmFja3x8Yy5qc29ucCE9bnVsbHx8Yi5qc29ucCE9PSExJiYoYlMudGVzdChiLnVybCl8fGYmJmJTLnRlc3QoYi5kYXRhKSkpe3ZhciBnLGg9Yi5qc29ucENhbGxiYWNrPWQuaXNGdW5jdGlvbihiLmpzb25wQ2FsbGJhY2spP2IuanNvbnBDYWxsYmFjaygpOmIuanNvbnBDYWxsYmFjayxpPWFbaF0saj1iLnVybCxrPWIuZGF0YSxsPSIkMSIraCsiJDIiLG09ZnVuY3Rpb24oKXthW2hdPWksZyYmZC5pc0Z1bmN0aW9uKGkpJiZhW2hdKGdbMF0pfTtiLmpzb25wIT09ITEmJihqPWoucmVwbGFjZShiUyxsKSxiLnVybD09PWomJihmJiYoaz1rLnJlcGxhY2UoYlMsbCkpLGIuZGF0YT09PWsmJihqKz0oL1w/Ly50ZXN0KGopPyImIjoiPyIpK2IuanNvbnArIj0iK2gpKSksYi51cmw9aixiLmRhdGE9ayxhW2hdPWZ1bmN0aW9uKGEpe2c9W2FdfSxlLnRoZW4obSxtKSxiLmNvbnZlcnRlcnNbInNjcmlwdCBqc29uIl09ZnVuY3Rpb24oKXtnfHxkLmVycm9yKGgrIiB3YXMgbm90IGNhbGxlZCIpO3JldHVybiBnWzBdfSxiLmRhdGFUeXBlc1swXT0ianNvbiI7cmV0dXJuInNjcmlwdCJ9fSksZC5hamF4U2V0dXAoe2FjY2VwdHM6e3NjcmlwdDoidGV4dC9qYXZhc2NyaXB0LCBhcHBsaWNhdGlvbi9qYXZhc2NyaXB0LCBhcHBsaWNhdGlvbi9lY21hc2NyaXB0LCBhcHBsaWNhdGlvbi94LWVjbWFzY3JpcHQifSxjb250ZW50czp7c2NyaXB0Oi9qYXZhc2NyaXB0fGVjbWFzY3JpcHQvfSxjb252ZXJ0ZXJzOnsidGV4dCBzY3JpcHQiOmZ1bmN0aW9uKGEpe2QuZ2xvYmFsRXZhbChhKTtyZXR1cm4gYX19fSksZC5hamF4UHJlZmlsdGVyKCJzY3JpcHQiLGZ1bmN0aW9uKGEpe2EuY2FjaGU9PT1iJiYoYS5jYWNoZT0hMSksYS5jcm9zc0RvbWFpbiYmKGEudHlwZT0iR0VUIixhLmdsb2JhbD0hMSl9KSxkLmFqYXhUcmFuc3BvcnQoInNjcmlwdCIsZnVuY3Rpb24oYSl7aWYoYS5jcm9zc0RvbWFpbil7dmFyIGQsZT1jLmhlYWR8fGMuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXXx8Yy5kb2N1bWVudEVsZW1lbnQ7cmV0dXJue3NlbmQ6ZnVuY3Rpb24oZixnKXtkPWMuY3JlYXRlRWxlbWVudCgic2NyaXB0IiksZC5hc3luYz0iYXN5bmMiLGEuc2NyaXB0Q2hhcnNldCYmKGQuY2hhcnNldD1hLnNjcmlwdENoYXJzZXQpLGQuc3JjPWEudXJsLGQub25sb2FkPWQub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKGEsYyl7aWYoIWQucmVhZHlTdGF0ZXx8L2xvYWRlZHxjb21wbGV0ZS8udGVzdChkLnJlYWR5U3RhdGUpKWQub25sb2FkPWQub25yZWFkeXN0YXRlY2hhbmdlPW51bGwsZSYmZC5wYXJlbnROb2RlJiZlLnJlbW92ZUNoaWxkKGQpLGQ9YixjfHxnKDIwMCwic3VjY2VzcyIpfSxlLmluc2VydEJlZm9yZShkLGUuZmlyc3RDaGlsZCl9LGFib3J0OmZ1bmN0aW9uKCl7ZCYmZC5vbmxvYWQoMCwxKX19fX0pO3ZhciBiVD1kLm5vdygpLGJVLGJWO2QuYWpheFNldHRpbmdzLnhocj1hLkFjdGl2ZVhPYmplY3Q/ZnVuY3Rpb24oKXtyZXR1cm4hdGhpcy5pc0xvY2FsJiZiWCgpfHxiWSgpfTpiWCxiVj1kLmFqYXhTZXR0aW5ncy54aHIoKSxkLnN1cHBvcnQuYWpheD0hIWJWLGQuc3VwcG9ydC5jb3JzPWJWJiYid2l0aENyZWRlbnRpYWxzImluIGJWLGJWPWIsZC5zdXBwb3J0LmFqYXgmJmQuYWpheFRyYW5zcG9ydChmdW5jdGlvbihhKXtpZighYS5jcm9zc0RvbWFpbnx8ZC5zdXBwb3J0LmNvcnMpe3ZhciBjO3JldHVybntzZW5kOmZ1bmN0aW9uKGUsZil7dmFyIGc9YS54aHIoKSxoLGk7YS51c2VybmFtZT9nLm9wZW4oYS50eXBlLGEudXJsLGEuYXN5bmMsYS51c2VybmFtZSxhLnBhc3N3b3JkKTpnLm9wZW4oYS50eXBlLGEudXJsLGEuYXN5bmMpO2lmKGEueGhyRmllbGRzKWZvcihpIGluIGEueGhyRmllbGRzKWdbaV09YS54aHJGaWVsZHNbaV07YS5taW1lVHlwZSYmZy5vdmVycmlkZU1pbWVUeXBlJiZnLm92ZXJyaWRlTWltZVR5cGUoYS5taW1lVHlwZSksKCFhLmNyb3NzRG9tYWlufHxhLmhhc0NvbnRlbnQpJiYhZVsiWC1SZXF1ZXN0ZWQtV2l0aCJdJiYoZVsiWC1SZXF1ZXN0ZWQtV2l0aCJdPSJYTUxIdHRwUmVxdWVzdCIpO3RyeXtmb3IoaSBpbiBlKWcuc2V0UmVxdWVzdEhlYWRlcihpLGVbaV0pfWNhdGNoKGope31nLnNlbmQoYS5oYXNDb250ZW50JiZhLmRhdGF8fG51bGwpLGM9ZnVuY3Rpb24oZSxpKXt2YXIgaixrLGwsbSxuO3RyeXtpZihjJiYoaXx8Zy5yZWFkeVN0YXRlPT09NCkpe2M9YixoJiYoZy5vbnJlYWR5c3RhdGVjaGFuZ2U9ZC5ub29wLGRlbGV0ZSBiVVtoXSk7aWYoaSlnLnJlYWR5U3RhdGUhPT00JiZnLmFib3J0KCk7ZWxzZXtqPWcuc3RhdHVzLGw9Zy5nZXRBbGxSZXNwb25zZUhlYWRlcnMoKSxtPXt9LG49Zy5yZXNwb25zZVhNTCxuJiZuLmRvY3VtZW50RWxlbWVudCYmKG0ueG1sPW4pLG0udGV4dD1nLnJlc3BvbnNlVGV4dDt0cnl7az1nLnN0YXR1c1RleHR9Y2F0Y2gobyl7az0iIn1qfHwhYS5pc0xvY2FsfHxhLmNyb3NzRG9tYWluP2o9PT0xMjIzJiYoaj0yMDQpOmo9bS50ZXh0PzIwMDo0MDR9fX1jYXRjaChwKXtpfHxmKC0xLHApfW0mJmYoaixrLG0sbCl9LGEuYXN5bmMmJmcucmVhZHlTdGF0ZSE9PTQ/KGJVfHwoYlU9e30sYlcoKSksaD1iVCsrLGcub25yZWFkeXN0YXRlY2hhbmdlPWJVW2hdPWMpOmMoKX0sYWJvcnQ6ZnVuY3Rpb24oKXtjJiZjKDAsMSl9fX19KTt2YXIgYlo9e30sYiQ9L14oPzp0b2dnbGV8c2hvd3xoaWRlKSQvLGJfPS9eKFsrXC1dPSk/KFtcZCsuXC1dKykoW2EteiVdKikkL2ksY2EsY2I9W1siaGVpZ2h0IiwibWFyZ2luVG9wIiwibWFyZ2luQm90dG9tIiwicGFkZGluZ1RvcCIsInBhZGRpbmdCb3R0b20iXSxbIndpZHRoIiwibWFyZ2luTGVmdCIsIm1hcmdpblJpZ2h0IiwicGFkZGluZ0xlZnQiLCJwYWRkaW5nUmlnaHQiXSxbIm9wYWNpdHkiXV07ZC5mbi5leHRlbmQoe3Nob3c6ZnVuY3Rpb24oYSxiLGMpe3ZhciBlLGY7aWYoYXx8YT09PTApcmV0dXJuIHRoaXMuYW5pbWF0ZShjYygic2hvdyIsMyksYSxiLGMpO2Zvcih2YXIgZz0wLGg9dGhpcy5sZW5ndGg7ZzxoO2crKyllPXRoaXNbZ10sZj1lLnN0eWxlLmRpc3BsYXksIWQuX2RhdGEoZSwib2xkZGlzcGxheSIpJiZmPT09Im5vbmUiJiYoZj1lLnN0eWxlLmRpc3BsYXk9IiIpLGY9PT0iIiYmZC5jc3MoZSwiZGlzcGxheSIpPT09Im5vbmUiJiZkLl9kYXRhKGUsIm9sZGRpc3BsYXkiLGNkKGUubm9kZU5hbWUpKTtmb3IoZz0wO2c8aDtnKyspe2U9dGhpc1tnXSxmPWUuc3R5bGUuZGlzcGxheTtpZihmPT09IiJ8fGY9PT0ibm9uZSIpZS5zdHlsZS5kaXNwbGF5PWQuX2RhdGEoZSwib2xkZGlzcGxheSIpfHwiIn1yZXR1cm4gdGhpc30saGlkZTpmdW5jdGlvbihhLGIsYyl7aWYoYXx8YT09PTApcmV0dXJuIHRoaXMuYW5pbWF0ZShjYygiaGlkZSIsMyksYSxiLGMpO2Zvcih2YXIgZT0wLGY9dGhpcy5sZW5ndGg7ZTxmO2UrKyl7dmFyIGc9ZC5jc3ModGhpc1tlXSwiZGlzcGxheSIpO2chPT0ibm9uZSImJiFkLl9kYXRhKHRoaXNbZV0sIm9sZGRpc3BsYXkiKSYmZC5fZGF0YSh0aGlzW2VdLCJvbGRkaXNwbGF5IixnKX1mb3IoZT0wO2U8ZjtlKyspdGhpc1tlXS5zdHlsZS5kaXNwbGF5PSJub25lIjtyZXR1cm4gdGhpc30sX3RvZ2dsZTpkLmZuLnRvZ2dsZSx0b2dnbGU6ZnVuY3Rpb24oYSxiLGMpe3ZhciBlPXR5cGVvZiBhPT09ImJvb2xlYW4iO2QuaXNGdW5jdGlvbihhKSYmZC5pc0Z1bmN0aW9uKGIpP3RoaXMuX3RvZ2dsZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk6YT09bnVsbHx8ZT90aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYj1lP2E6ZCh0aGlzKS5pcygiOmhpZGRlbiIpO2QodGhpcylbYj8ic2hvdyI6ImhpZGUiXSgpfSk6dGhpcy5hbmltYXRlKGNjKCJ0b2dnbGUiLDMpLGEsYixjKTtyZXR1cm4gdGhpc30sZmFkZVRvOmZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiB0aGlzLmZpbHRlcigiOmhpZGRlbiIpLmNzcygib3BhY2l0eSIsMCkuc2hvdygpLmVuZCgpLmFuaW1hdGUoe29wYWNpdHk6Yn0sYSxjLGQpfSxhbmltYXRlOmZ1bmN0aW9uKGEsYixjLGUpe3ZhciBmPWQuc3BlZWQoYixjLGUpO2lmKGQuaXNFbXB0eU9iamVjdChhKSlyZXR1cm4gdGhpcy5lYWNoKGYuY29tcGxldGUpO3JldHVybiB0aGlzW2YucXVldWU9PT0hMT8iZWFjaCI6InF1ZXVlIl0oZnVuY3Rpb24oKXt2YXIgYj1kLmV4dGVuZCh7fSxmKSxjLGU9dGhpcy5ub2RlVHlwZT09PTEsZz1lJiZkKHRoaXMpLmlzKCI6aGlkZGVuIiksaD10aGlzO2ZvcihjIGluIGEpe3ZhciBpPWQuY2FtZWxDYXNlKGMpO2MhPT1pJiYoYVtpXT1hW2NdLGRlbGV0ZSBhW2NdLGM9aSk7aWYoYVtjXT09PSJoaWRlIiYmZ3x8YVtjXT09PSJzaG93IiYmIWcpcmV0dXJuIGIuY29tcGxldGUuY2FsbCh0aGlzKTtpZihlJiYoYz09PSJoZWlnaHQifHxjPT09IndpZHRoIikpe2Iub3ZlcmZsb3c9W3RoaXMuc3R5bGUub3ZlcmZsb3csdGhpcy5zdHlsZS5vdmVyZmxvd1gsdGhpcy5zdHlsZS5vdmVyZmxvd1ldO2lmKGQuY3NzKHRoaXMsImRpc3BsYXkiKT09PSJpbmxpbmUiJiZkLmNzcyh0aGlzLCJmbG9hdCIpPT09Im5vbmUiKWlmKGQuc3VwcG9ydC5pbmxpbmVCbG9ja05lZWRzTGF5b3V0KXt2YXIgaj1jZCh0aGlzLm5vZGVOYW1lKTtqPT09ImlubGluZSI/dGhpcy5zdHlsZS5kaXNwbGF5PSJpbmxpbmUtYmxvY2siOih0aGlzLnN0eWxlLmRpc3BsYXk9ImlubGluZSIsdGhpcy5zdHlsZS56b29tPTEpfWVsc2UgdGhpcy5zdHlsZS5kaXNwbGF5PSJpbmxpbmUtYmxvY2sifWQuaXNBcnJheShhW2NdKSYmKChiLnNwZWNpYWxFYXNpbmc9Yi5zcGVjaWFsRWFzaW5nfHx7fSlbY109YVtjXVsxXSxhW2NdPWFbY11bMF0pfWIub3ZlcmZsb3chPW51bGwmJih0aGlzLnN0eWxlLm92ZXJmbG93PSJoaWRkZW4iKSxiLmN1ckFuaW09ZC5leHRlbmQoe30sYSksZC5lYWNoKGEsZnVuY3Rpb24oYyxlKXt2YXIgZj1uZXcgZC5meChoLGIsYyk7aWYoYiQudGVzdChlKSlmW2U9PT0idG9nZ2xlIj9nPyJzaG93IjoiaGlkZSI6ZV0oYSk7ZWxzZXt2YXIgaT1iXy5leGVjKGUpLGo9Zi5jdXIoKTtpZihpKXt2YXIgaz1wYXJzZUZsb2F0KGlbMl0pLGw9aVszXXx8KGQuY3NzTnVtYmVyW2NdPyIiOiJweCIpO2whPT0icHgiJiYoZC5zdHlsZShoLGMsKGt8fDEpK2wpLGo9KGt8fDEpL2YuY3VyKCkqaixkLnN0eWxlKGgsYyxqK2wpKSxpWzFdJiYoaz0oaVsxXT09PSItPSI/LTE6MSkqaytqKSxmLmN1c3RvbShqLGssbCl9ZWxzZSBmLmN1c3RvbShqLGUsIiIpfX0pO3JldHVybiEwfSl9LHN0b3A6ZnVuY3Rpb24oYSxiKXt2YXIgYz1kLnRpbWVyczthJiZ0aGlzLnF1ZXVlKFtdKSx0aGlzLmVhY2goZnVuY3Rpb24oKXtmb3IodmFyIGE9Yy5sZW5ndGgtMTthPj0wO2EtLSljW2FdLmVsZW09PT10aGlzJiYoYiYmY1thXSghMCksYy5zcGxpY2UoYSwxKSl9KSxifHx0aGlzLmRlcXVldWUoKTtyZXR1cm4gdGhpc319KSxkLmVhY2goe3NsaWRlRG93bjpjYygic2hvdyIsMSksc2xpZGVVcDpjYygiaGlkZSIsMSksc2xpZGVUb2dnbGU6Y2MoInRvZ2dsZSIsMSksZmFkZUluOntvcGFjaXR5OiJzaG93In0sZmFkZU91dDp7b3BhY2l0eToiaGlkZSJ9LGZhZGVUb2dnbGU6e29wYWNpdHk6InRvZ2dsZSJ9fSxmdW5jdGlvbihhLGIpe2QuZm5bYV09ZnVuY3Rpb24oYSxjLGQpe3JldHVybiB0aGlzLmFuaW1hdGUoYixhLGMsZCl9fSksZC5leHRlbmQoe3NwZWVkOmZ1bmN0aW9uKGEsYixjKXt2YXIgZT1hJiZ0eXBlb2YgYT09PSJvYmplY3QiP2QuZXh0ZW5kKHt9LGEpOntjb21wbGV0ZTpjfHwhYyYmYnx8ZC5pc0Z1bmN0aW9uKGEpJiZhLGR1cmF0aW9uOmEsZWFzaW5nOmMmJmJ8fGImJiFkLmlzRnVuY3Rpb24oYikmJmJ9O2UuZHVyYXRpb249ZC5meC5vZmY/MDp0eXBlb2YgZS5kdXJhdGlvbj09PSJudW1iZXIiP2UuZHVyYXRpb246ZS5kdXJhdGlvbiBpbiBkLmZ4LnNwZWVkcz9kLmZ4LnNwZWVkc1tlLmR1cmF0aW9uXTpkLmZ4LnNwZWVkcy5fZGVmYXVsdCxlLm9sZD1lLmNvbXBsZXRlLGUuY29tcGxldGU9ZnVuY3Rpb24oKXtlLnF1ZXVlIT09ITEmJmQodGhpcykuZGVxdWV1ZSgpLGQuaXNGdW5jdGlvbihlLm9sZCkmJmUub2xkLmNhbGwodGhpcyl9O3JldHVybiBlfSxlYXNpbmc6e2xpbmVhcjpmdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gYytkKmF9LHN3aW5nOmZ1bmN0aW9uKGEsYixjLGQpe3JldHVybigtTWF0aC5jb3MoYSpNYXRoLlBJKS8yKy41KSpkK2N9fSx0aW1lcnM6W10sZng6ZnVuY3Rpb24oYSxiLGMpe3RoaXMub3B0aW9ucz1iLHRoaXMuZWxlbT1hLHRoaXMucHJvcD1jLGIub3JpZ3x8KGIub3JpZz17fSl9fSksZC5meC5wcm90b3R5cGU9e3VwZGF0ZTpmdW5jdGlvbigpe3RoaXMub3B0aW9ucy5zdGVwJiZ0aGlzLm9wdGlvbnMuc3RlcC5jYWxsKHRoaXMuZWxlbSx0aGlzLm5vdyx0aGlzKSwoZC5meC5zdGVwW3RoaXMucHJvcF18fGQuZnguc3RlcC5fZGVmYXVsdCkodGhpcyl9LGN1cjpmdW5jdGlvbigpe2lmKHRoaXMuZWxlbVt0aGlzLnByb3BdIT1udWxsJiYoIXRoaXMuZWxlbS5zdHlsZXx8dGhpcy5lbGVtLnN0eWxlW3RoaXMucHJvcF09PW51bGwpKXJldHVybiB0aGlzLmVsZW1bdGhpcy5wcm9wXTt2YXIgYSxiPWQuY3NzKHRoaXMuZWxlbSx0aGlzLnByb3ApO3JldHVybiBpc05hTihhPXBhcnNlRmxvYXQoYikpPyFifHxiPT09ImF1dG8iPzA6YjphfSxjdXN0b206ZnVuY3Rpb24oYSxiLGMpe2Z1bmN0aW9uIGcoYSl7cmV0dXJuIGUuc3RlcChhKX12YXIgZT10aGlzLGY9ZC5meDt0aGlzLnN0YXJ0VGltZT1kLm5vdygpLHRoaXMuc3RhcnQ9YSx0aGlzLmVuZD1iLHRoaXMudW5pdD1jfHx0aGlzLnVuaXR8fChkLmNzc051bWJlclt0aGlzLnByb3BdPyIiOiJweCIpLHRoaXMubm93PXRoaXMuc3RhcnQsdGhpcy5wb3M9dGhpcy5zdGF0ZT0wLGcuZWxlbT10aGlzLmVsZW0sZygpJiZkLnRpbWVycy5wdXNoKGcpJiYhY2EmJihjYT1zZXRJbnRlcnZhbChmLnRpY2ssZi5pbnRlcnZhbCkpfSxzaG93OmZ1bmN0aW9uKCl7dGhpcy5vcHRpb25zLm9yaWdbdGhpcy5wcm9wXT1kLnN0eWxlKHRoaXMuZWxlbSx0aGlzLnByb3ApLHRoaXMub3B0aW9ucy5zaG93PSEwLHRoaXMuY3VzdG9tKHRoaXMucHJvcD09PSJ3aWR0aCJ8fHRoaXMucHJvcD09PSJoZWlnaHQiPzE6MCx0aGlzLmN1cigpKSxkKHRoaXMuZWxlbSkuc2hvdygpfSxoaWRlOmZ1bmN0aW9uKCl7dGhpcy5vcHRpb25zLm9yaWdbdGhpcy5wcm9wXT1kLnN0eWxlKHRoaXMuZWxlbSx0aGlzLnByb3ApLHRoaXMub3B0aW9ucy5oaWRlPSEwLHRoaXMuY3VzdG9tKHRoaXMuY3VyKCksMCl9LHN0ZXA6ZnVuY3Rpb24oYSl7dmFyIGI9ZC5ub3coKSxjPSEwO2lmKGF8fGI+PXRoaXMub3B0aW9ucy5kdXJhdGlvbit0aGlzLnN0YXJ0VGltZSl7dGhpcy5ub3c9dGhpcy5lbmQsdGhpcy5wb3M9dGhpcy5zdGF0ZT0xLHRoaXMudXBkYXRlKCksdGhpcy5vcHRpb25zLmN1ckFuaW1bdGhpcy5wcm9wXT0hMDtmb3IodmFyIGUgaW4gdGhpcy5vcHRpb25zLmN1ckFuaW0pdGhpcy5vcHRpb25zLmN1ckFuaW1bZV0hPT0hMCYmKGM9ITEpO2lmKGMpe2lmKHRoaXMub3B0aW9ucy5vdmVyZmxvdyE9bnVsbCYmIWQuc3VwcG9ydC5zaHJpbmtXcmFwQmxvY2tzKXt2YXIgZj10aGlzLmVsZW0sZz10aGlzLm9wdGlvbnM7ZC5lYWNoKFsiIiwiWCIsIlkiXSxmdW5jdGlvbihhLGIpe2Yuc3R5bGVbIm92ZXJmbG93IitiXT1nLm92ZXJmbG93W2FdfSl9dGhpcy5vcHRpb25zLmhpZGUmJmQodGhpcy5lbGVtKS5oaWRlKCk7aWYodGhpcy5vcHRpb25zLmhpZGV8fHRoaXMub3B0aW9ucy5zaG93KWZvcih2YXIgaCBpbiB0aGlzLm9wdGlvbnMuY3VyQW5pbSlkLnN0eWxlKHRoaXMuZWxlbSxoLHRoaXMub3B0aW9ucy5vcmlnW2hdKTt0aGlzLm9wdGlvbnMuY29tcGxldGUuY2FsbCh0aGlzLmVsZW0pfXJldHVybiExfXZhciBpPWItdGhpcy5zdGFydFRpbWU7dGhpcy5zdGF0ZT1pL3RoaXMub3B0aW9ucy5kdXJhdGlvbjt2YXIgaj10aGlzLm9wdGlvbnMuc3BlY2lhbEVhc2luZyYmdGhpcy5vcHRpb25zLnNwZWNpYWxFYXNpbmdbdGhpcy5wcm9wXSxrPXRoaXMub3B0aW9ucy5lYXNpbmd8fChkLmVhc2luZy5zd2luZz8ic3dpbmciOiJsaW5lYXIiKTt0aGlzLnBvcz1kLmVhc2luZ1tqfHxrXSh0aGlzLnN0YXRlLGksMCwxLHRoaXMub3B0aW9ucy5kdXJhdGlvbiksdGhpcy5ub3c9dGhpcy5zdGFydCsodGhpcy5lbmQtdGhpcy5zdGFydCkqdGhpcy5wb3MsdGhpcy51cGRhdGUoKTtyZXR1cm4hMH19LGQuZXh0ZW5kKGQuZngse3RpY2s6ZnVuY3Rpb24oKXt2YXIgYT1kLnRpbWVycztmb3IodmFyIGI9MDtiPGEubGVuZ3RoO2IrKylhW2JdKCl8fGEuc3BsaWNlKGItLSwxKTthLmxlbmd0aHx8ZC5meC5zdG9wKCl9LGludGVydmFsOjEzLHN0b3A6ZnVuY3Rpb24oKXtjbGVhckludGVydmFsKGNhKSxjYT1udWxsfSxzcGVlZHM6e3Nsb3c6NjAwLGZhc3Q6MjAwLF9kZWZhdWx0OjQwMH0sc3RlcDp7b3BhY2l0eTpmdW5jdGlvbihhKXtkLnN0eWxlKGEuZWxlbSwib3BhY2l0eSIsYS5ub3cpfSxfZGVmYXVsdDpmdW5jdGlvbihhKXthLmVsZW0uc3R5bGUmJmEuZWxlbS5zdHlsZVthLnByb3BdIT1udWxsP2EuZWxlbS5zdHlsZVthLnByb3BdPShhLnByb3A9PT0id2lkdGgifHxhLnByb3A9PT0iaGVpZ2h0Ij9NYXRoLm1heCgwLGEubm93KTphLm5vdykrYS51bml0OmEuZWxlbVthLnByb3BdPWEubm93fX19KSxkLmV4cHImJmQuZXhwci5maWx0ZXJzJiYoZC5leHByLmZpbHRlcnMuYW5pbWF0ZWQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGQuZ3JlcChkLnRpbWVycyxmdW5jdGlvbihiKXtyZXR1cm4gYT09PWIuZWxlbX0pLmxlbmd0aH0pO3ZhciBjZT0vXnQoPzphYmxlfGR8aCkkL2ksY2Y9L14oPzpib2R5fGh0bWwpJC9pOyJnZXRCb3VuZGluZ0NsaWVudFJlY3QiaW4gYy5kb2N1bWVudEVsZW1lbnQ/ZC5mbi5vZmZzZXQ9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpc1swXSxjO2lmKGEpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihiKXtkLm9mZnNldC5zZXRPZmZzZXQodGhpcyxhLGIpfSk7aWYoIWJ8fCFiLm93bmVyRG9jdW1lbnQpcmV0dXJuIG51bGw7aWYoYj09PWIub3duZXJEb2N1bWVudC5ib2R5KXJldHVybiBkLm9mZnNldC5ib2R5T2Zmc2V0KGIpO3RyeXtjPWIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCl9Y2F0Y2goZSl7fXZhciBmPWIub3duZXJEb2N1bWVudCxnPWYuZG9jdW1lbnRFbGVtZW50O2lmKCFjfHwhZC5jb250YWlucyhnLGIpKXJldHVybiBjP3t0b3A6Yy50b3AsbGVmdDpjLmxlZnR9Ont0b3A6MCxsZWZ0OjB9O3ZhciBoPWYuYm9keSxpPWNnKGYpLGo9Zy5jbGllbnRUb3B8fGguY2xpZW50VG9wfHwwLGs9Zy5jbGllbnRMZWZ0fHxoLmNsaWVudExlZnR8fDAsbD1pLnBhZ2VZT2Zmc2V0fHxkLnN1cHBvcnQuYm94TW9kZWwmJmcuc2Nyb2xsVG9wfHxoLnNjcm9sbFRvcCxtPWkucGFnZVhPZmZzZXR8fGQuc3VwcG9ydC5ib3hNb2RlbCYmZy5zY3JvbGxMZWZ0fHxoLnNjcm9sbExlZnQsbj1jLnRvcCtsLWosbz1jLmxlZnQrbS1rO3JldHVybnt0b3A6bixsZWZ0Om99fTpkLmZuLm9mZnNldD1mdW5jdGlvbihhKXt2YXIgYj10aGlzWzBdO2lmKGEpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihiKXtkLm9mZnNldC5zZXRPZmZzZXQodGhpcyxhLGIpfSk7aWYoIWJ8fCFiLm93bmVyRG9jdW1lbnQpcmV0dXJuIG51bGw7aWYoYj09PWIub3duZXJEb2N1bWVudC5ib2R5KXJldHVybiBkLm9mZnNldC5ib2R5T2Zmc2V0KGIpO2Qub2Zmc2V0LmluaXRpYWxpemUoKTt2YXIgYyxlPWIub2Zmc2V0UGFyZW50LGY9YixnPWIub3duZXJEb2N1bWVudCxoPWcuZG9jdW1lbnRFbGVtZW50LGk9Zy5ib2R5LGo9Zy5kZWZhdWx0VmlldyxrPWo/ai5nZXRDb21wdXRlZFN0eWxlKGIsbnVsbCk6Yi5jdXJyZW50U3R5bGUsbD1iLm9mZnNldFRvcCxtPWIub2Zmc2V0TGVmdDt3aGlsZSgoYj1iLnBhcmVudE5vZGUpJiZiIT09aSYmYiE9PWgpe2lmKGQub2Zmc2V0LnN1cHBvcnRzRml4ZWRQb3NpdGlvbiYmay5wb3NpdGlvbj09PSJmaXhlZCIpYnJlYWs7Yz1qP2ouZ2V0Q29tcHV0ZWRTdHlsZShiLG51bGwpOmIuY3VycmVudFN0eWxlLGwtPWIuc2Nyb2xsVG9wLG0tPWIuc2Nyb2xsTGVmdCxiPT09ZSYmKGwrPWIub2Zmc2V0VG9wLG0rPWIub2Zmc2V0TGVmdCxkLm9mZnNldC5kb2VzTm90QWRkQm9yZGVyJiYoIWQub2Zmc2V0LmRvZXNBZGRCb3JkZXJGb3JUYWJsZUFuZENlbGxzfHwhY2UudGVzdChiLm5vZGVOYW1lKSkmJihsKz1wYXJzZUZsb2F0KGMuYm9yZGVyVG9wV2lkdGgpfHwwLG0rPXBhcnNlRmxvYXQoYy5ib3JkZXJMZWZ0V2lkdGgpfHwwKSxmPWUsZT1iLm9mZnNldFBhcmVudCksZC5vZmZzZXQuc3VidHJhY3RzQm9yZGVyRm9yT3ZlcmZsb3dOb3RWaXNpYmxlJiZjLm92ZXJmbG93IT09InZpc2libGUiJiYobCs9cGFyc2VGbG9hdChjLmJvcmRlclRvcFdpZHRoKXx8MCxtKz1wYXJzZUZsb2F0KGMuYm9yZGVyTGVmdFdpZHRoKXx8MCksaz1jfWlmKGsucG9zaXRpb249PT0icmVsYXRpdmUifHxrLnBvc2l0aW9uPT09InN0YXRpYyIpbCs9aS5vZmZzZXRUb3AsbSs9aS5vZmZzZXRMZWZ0O2Qub2Zmc2V0LnN1cHBvcnRzRml4ZWRQb3NpdGlvbiYmay5wb3NpdGlvbj09PSJmaXhlZCImJihsKz1NYXRoLm1heChoLnNjcm9sbFRvcCxpLnNjcm9sbFRvcCksbSs9TWF0aC5tYXgoaC5zY3JvbGxMZWZ0LGkuc2Nyb2xsTGVmdCkpO3JldHVybnt0b3A6bCxsZWZ0Om19fSxkLm9mZnNldD17aW5pdGlhbGl6ZTpmdW5jdGlvbigpe3ZhciBhPWMuYm9keSxiPWMuY3JlYXRlRWxlbWVudCgiZGl2IiksZSxmLGcsaCxpPXBhcnNlRmxvYXQoZC5jc3MoYSwibWFyZ2luVG9wIikpfHwwLGo9IjxkaXYgc3R5bGU9J3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDttYXJnaW46MDtib3JkZXI6NXB4IHNvbGlkICMwMDA7cGFkZGluZzowO3dpZHRoOjFweDtoZWlnaHQ6MXB4Oyc+PGRpdj48L2Rpdj48L2Rpdj48dGFibGUgc3R5bGU9J3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDttYXJnaW46MDtib3JkZXI6NXB4IHNvbGlkICMwMDA7cGFkZGluZzowO3dpZHRoOjFweDtoZWlnaHQ6MXB4OycgY2VsbHBhZGRpbmc9JzAnIGNlbGxzcGFjaW5nPScwJz48dHI+PHRkPjwvdGQ+PC90cj48L3RhYmxlPiI7ZC5leHRlbmQoYi5zdHlsZSx7cG9zaXRpb246ImFic29sdXRlIix0b3A6MCxsZWZ0OjAsbWFyZ2luOjAsYm9yZGVyOjAsd2lkdGg6IjFweCIsaGVpZ2h0OiIxcHgiLHZpc2liaWxpdHk6ImhpZGRlbiJ9KSxiLmlubmVySFRNTD1qLGEuaW5zZXJ0QmVmb3JlKGIsYS5maXJzdENoaWxkKSxlPWIuZmlyc3RDaGlsZCxmPWUuZmlyc3RDaGlsZCxoPWUubmV4dFNpYmxpbmcuZmlyc3RDaGlsZC5maXJzdENoaWxkLHRoaXMuZG9lc05vdEFkZEJvcmRlcj1mLm9mZnNldFRvcCE9PTUsdGhpcy5kb2VzQWRkQm9yZGVyRm9yVGFibGVBbmRDZWxscz1oLm9mZnNldFRvcD09PTUsZi5zdHlsZS5wb3NpdGlvbj0iZml4ZWQiLGYuc3R5bGUudG9wPSIyMHB4Iix0aGlzLnN1cHBvcnRzRml4ZWRQb3NpdGlvbj1mLm9mZnNldFRvcD09PTIwfHxmLm9mZnNldFRvcD09PTE1LGYuc3R5bGUucG9zaXRpb249Zi5zdHlsZS50b3A9IiIsZS5zdHlsZS5vdmVyZmxvdz0iaGlkZGVuIixlLnN0eWxlLnBvc2l0aW9uPSJyZWxhdGl2ZSIsdGhpcy5zdWJ0cmFjdHNCb3JkZXJGb3JPdmVyZmxvd05vdFZpc2libGU9Zi5vZmZzZXRUb3A9PT0tNSx0aGlzLmRvZXNOb3RJbmNsdWRlTWFyZ2luSW5Cb2R5T2Zmc2V0PWEub2Zmc2V0VG9wIT09aSxhLnJlbW92ZUNoaWxkKGIpLGE9Yj1lPWY9Zz1oPW51bGwsZC5vZmZzZXQuaW5pdGlhbGl6ZT1kLm5vb3B9LGJvZHlPZmZzZXQ6ZnVuY3Rpb24oYSl7dmFyIGI9YS5vZmZzZXRUb3AsYz1hLm9mZnNldExlZnQ7ZC5vZmZzZXQuaW5pdGlhbGl6ZSgpLGQub2Zmc2V0LmRvZXNOb3RJbmNsdWRlTWFyZ2luSW5Cb2R5T2Zmc2V0JiYoYis9cGFyc2VGbG9hdChkLmNzcyhhLCJtYXJnaW5Ub3AiKSl8fDAsYys9cGFyc2VGbG9hdChkLmNzcyhhLCJtYXJnaW5MZWZ0IikpfHwwKTtyZXR1cm57dG9wOmIsbGVmdDpjfX0sc2V0T2Zmc2V0OmZ1bmN0aW9uKGEsYixjKXt2YXIgZT1kLmNzcyhhLCJwb3NpdGlvbiIpO2U9PT0ic3RhdGljIiYmKGEuc3R5bGUucG9zaXRpb249InJlbGF0aXZlIik7dmFyIGY9ZChhKSxnPWYub2Zmc2V0KCksaD1kLmNzcyhhLCJ0b3AiKSxpPWQuY3NzKGEsImxlZnQiKSxqPWU9PT0iYWJzb2x1dGUiJiZkLmluQXJyYXkoImF1dG8iLFtoLGldKT4tMSxrPXt9LGw9e30sbSxuO2omJihsPWYucG9zaXRpb24oKSksbT1qP2wudG9wOnBhcnNlSW50KGgsMTApfHwwLG49aj9sLmxlZnQ6cGFyc2VJbnQoaSwxMCl8fDAsZC5pc0Z1bmN0aW9uKGIpJiYoYj1iLmNhbGwoYSxjLGcpKSxiLnRvcCE9bnVsbCYmKGsudG9wPWIudG9wLWcudG9wK20pLGIubGVmdCE9bnVsbCYmKGsubGVmdD1iLmxlZnQtZy5sZWZ0K24pLCJ1c2luZyJpbiBiP2IudXNpbmcuY2FsbChhLGspOmYuY3NzKGspfX0sZC5mbi5leHRlbmQoe3Bvc2l0aW9uOmZ1bmN0aW9uKCl7aWYoIXRoaXNbMF0pcmV0dXJuIG51bGw7dmFyIGE9dGhpc1swXSxiPXRoaXMub2Zmc2V0UGFyZW50KCksYz10aGlzLm9mZnNldCgpLGU9Y2YudGVzdChiWzBdLm5vZGVOYW1lKT97dG9wOjAsbGVmdDowfTpiLm9mZnNldCgpO2MudG9wLT1wYXJzZUZsb2F0KGQuY3NzKGEsIm1hcmdpblRvcCIpKXx8MCxjLmxlZnQtPXBhcnNlRmxvYXQoZC5jc3MoYSwibWFyZ2luTGVmdCIpKXx8MCxlLnRvcCs9cGFyc2VGbG9hdChkLmNzcyhiWzBdLCJib3JkZXJUb3BXaWR0aCIpKXx8MCxlLmxlZnQrPXBhcnNlRmxvYXQoZC5jc3MoYlswXSwiYm9yZGVyTGVmdFdpZHRoIikpfHwwO3JldHVybnt0b3A6Yy50b3AtZS50b3AsbGVmdDpjLmxlZnQtZS5sZWZ0fX0sb2Zmc2V0UGFyZW50OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vZmZzZXRQYXJlbnR8fGMuYm9keTt3aGlsZShhJiYoIWNmLnRlc3QoYS5ub2RlTmFtZSkmJmQuY3NzKGEsInBvc2l0aW9uIik9PT0ic3RhdGljIikpYT1hLm9mZnNldFBhcmVudDtyZXR1cm4gYX0pfX0pLGQuZWFjaChbIkxlZnQiLCJUb3AiXSxmdW5jdGlvbihhLGMpe3ZhciBlPSJzY3JvbGwiK2M7ZC5mbltlXT1mdW5jdGlvbihjKXt2YXIgZj10aGlzWzBdLGc7aWYoIWYpcmV0dXJuIG51bGw7aWYoYyE9PWIpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2c9Y2codGhpcyksZz9nLnNjcm9sbFRvKGE/ZChnKS5zY3JvbGxMZWZ0KCk6YyxhP2M6ZChnKS5zY3JvbGxUb3AoKSk6dGhpc1tlXT1jfSk7Zz1jZyhmKTtyZXR1cm4gZz8icGFnZVhPZmZzZXQiaW4gZz9nW2E/InBhZ2VZT2Zmc2V0IjoicGFnZVhPZmZzZXQiXTpkLnN1cHBvcnQuYm94TW9kZWwmJmcuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50W2VdfHxnLmRvY3VtZW50LmJvZHlbZV06ZltlXX19KSxkLmVhY2goWyJIZWlnaHQiLCJXaWR0aCJdLGZ1bmN0aW9uKGEsYyl7dmFyIGU9Yy50b0xvd2VyQ2FzZSgpO2QuZm5bImlubmVyIitjXT1mdW5jdGlvbigpe3JldHVybiB0aGlzWzBdP3BhcnNlRmxvYXQoZC5jc3ModGhpc1swXSxlLCJwYWRkaW5nIikpOm51bGx9LGQuZm5bIm91dGVyIitjXT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpc1swXT9wYXJzZUZsb2F0KGQuY3NzKHRoaXNbMF0sZSxhPyJtYXJnaW4iOiJib3JkZXIiKSk6bnVsbH0sZC5mbltlXT1mdW5jdGlvbihhKXt2YXIgZj10aGlzWzBdO2lmKCFmKXJldHVybiBhPT1udWxsP251bGw6dGhpcztpZihkLmlzRnVuY3Rpb24oYSkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihiKXt2YXIgYz1kKHRoaXMpO2NbZV0oYS5jYWxsKHRoaXMsYixjW2VdKCkpKX0pO2lmKGQuaXNXaW5kb3coZikpe3ZhciBnPWYuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50WyJjbGllbnQiK2NdO3JldHVybiBmLmRvY3VtZW50LmNvbXBhdE1vZGU9PT0iQ1NTMUNvbXBhdCImJmd8fGYuZG9jdW1lbnQuYm9keVsiY2xpZW50IitjXXx8Z31pZihmLm5vZGVUeXBlPT09OSlyZXR1cm4gTWF0aC5tYXgoZi5kb2N1bWVudEVsZW1lbnRbImNsaWVudCIrY10sZi5ib2R5WyJzY3JvbGwiK2NdLGYuZG9jdW1lbnRFbGVtZW50WyJzY3JvbGwiK2NdLGYuYm9keVsib2Zmc2V0IitjXSxmLmRvY3VtZW50RWxlbWVudFsib2Zmc2V0IitjXSk7aWYoYT09PWIpe3ZhciBoPWQuY3NzKGYsZSksaT1wYXJzZUZsb2F0KGgpO3JldHVybiBkLmlzTmFOKGkpP2g6aX1yZXR1cm4gdGhpcy5jc3MoZSx0eXBlb2YgYT09PSJzdHJpbmciP2E6YSsicHgiKX19KSxhLmpRdWVyeT1hLiQ9ZH0pKHdpbmRvdyk7]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/adminertab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[77u/DQp7aWYgJGRpc3BsYXkgPT0gJ2xpZ2h0Ym94JyB9DQoJPHA+PGEgaHJlZj0ieyR1cmx9IiBvbmNsaWNrPSJyZXR1cm4gR0Jfc2hvd0Z1bGxTY3JlZW4oJ2J0QWRtaW5lcicsIHRoaXMuaHJlZikiPnskcHJvbXB0X29wZW5pbmxpZ2h0Ym94fTwvYT48L3A+DQp7ZWxzZX0NCgk8aWZyYW1lIHNyYz0ieyR1cmx9IiBuYW1lPSJidEFkbWluZXIiIHNjcm9sbGluZz0iYXV0byIgbWFyZ2luaGVpZ2h0PSIwIiBtYXJnaW53aWR0aD0iMCIgaGVpZ2h0PSJ7JGZyYW1laGVpZ2h0fSIgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgZnJhbWVib3JkZXI9IjAiPjwvaWZyYW1lPg0Key9pZn0=]]></data>
	</file>
	<file>
	  <filename>/templates/optiontab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[77u/eyRzdGFydEZvcm19DQo8ZmllbGRzZXQ+DQo8bGVnZW5kPnskZ2xvYmFsb3B0aW9uc308L2xlZ2VuZD4NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2Rpc3BsYXl9OjwvcD4NCgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9kaXNwbGF5fTwvcD4NCgk8L2Rpdj4NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2ZyYW1laGVpZ2h0fTo8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfZnJhbWVoZWlnaHR9PC9wPg0KCTwvZGl2Pg0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfcHJvZ306PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3Byb2d9PC9wPg0KCTwvZGl2Pg0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfYWRtaW5fc2VjdGlvbn06PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2FkbWluX3NlY3Rpb259PC9wPg0KCTwvZGl2Pg0KPC9maWVsZHNldD4NCjxmaWVsZHNldD4NCgk8bGVnZW5kPlBsdWdpbnM8L2xlZ2VuZD4NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X3htbGV4cG9ydH06PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3htbGV4cG9ydH08L3A+DQoJPC9kaXY+DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF96aXBleHBvcnR9OjwvcD4NCgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF96aXBleHBvcnR9PC9wPg0KCTwvZGl2Pg0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfY2FsZW5kYXJ9OjwvcD4NCgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9jYWxlbmRhcn08L3A+DQoJPC9kaXY+DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9mb3JlaWdufTo8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfZm9yZWlnbn08L3A+DQoJPC9kaXY+DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF90ZXh0YXJlYX06PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3RleHRhcmVhfTwvcD4NCgk8L2Rpdj4NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2VudW19OjwvcD4NCgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9lbnVtfTwvcD4NCgk8L2Rpdj4NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4NCgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRzdWJtaXR9PC9wPg0KCTwvZGl2Pg0KPC9maWVsZHNldD4NCnskZW5kRm9ybX0=]]></data>
	</file>
</module>
