<?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>EMoneyGateway</name>
	<version>2.0</version>
  <mincmsversion>1.6.5</mincmsversion>
	<help>PGgzPldoYXQgZG9lcyBpdCBkbz88L2gzPgo8cD5UaGlzIG1vZHVsZSBpcyB1c2VkIGJ5IHRoZSBPcmRlcnMgbW9kdWxlIHRvIGNvbXBsZXRlIHB1cmNoYXNlcyB1c2luZyBFTW9uZXkuICBUaGUgbW9kdWxlIHVzZXMgdGhlIHNpbXBsZQoJcmVkaXJlY3QgbWV0aG9kIGZvciBjb21wbGV0aW5nIGEgcHVyY2hhc2UuIEFmdGVyIGEgc3VjY2Vzc2Z1bCBjaGVja291dCwgdGhleSB3aWxsIHJlZGlyZWN0IGJhY2sgdG8gdGhlIE9yZGVycyBtb2R1bGUKCXRvIHNob3cgdGhlIGNoZWNrb3V0IHJlY2VpcHQgcGFnZS4gIFNlZSBodHRwOi8vY2FsZ3V5MTAwMC5jb20vQmxvZ3MvOC82MC9jbXNtcy1xdWljay1lLWNvbW1lcmNlLWhvdy10by5odG1sIAoJZm9yIG1vcmUgaW5mb3JtYXRpb24gb24gaG93IHRvCglzZXR1cCB0aGUgQ2FydCwgT3JkZXJzIGFuZCBvdGhlciBhc3NvY2lhdGVkIG1vZHVsZXMuPC9wPgo8aDM+SG93IERvIEkgdXNlIEl0PC9oMz4KPHA+VGhpcyBtb2R1bGUgb25seSB3b3JrcyBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBPcmRlcnMgbW9kdWxlLiBQbGFjaW5nIDxjb2RlPntjbXNfbW9kdWxlIG1vZHVsZT0nRU1vbmV5R2F0ZXdheScgb3JkZXJfaWQ9JG9yZGVyX2lkfTwvY29kZT4gCglpbiB5b3VyIFBheW1lbnQgVGVtcGxhdGUgb2YgdGhlIE9yZGVycyBtb2R1bGUgd2lsbCBzaG93IHRoZSBidXR0b24gdG8gY2hlY2tvdXQgd2l0aCBFTW9uZXkuPC9wPgo8aDM+Q3JlZGl0czwvaDM+CjxwPlRoaXMgbW9kdWxlIHdhcyBzcG9uc29yZWQgYnkgQmVuIFYuIEJvbm9yYSBhdCBKMiBHb2xmIE1hcmtldGluZy48L3A+CjxoMz5TdXBwb3J0PC9oMz4KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPgo8dWw+CjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCwgcGxlYXNlIHZpc2l0IHRoZSBDTVMgTWFkZSBTaW1wbGUgIDxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmciPkRldmVsb3BlciBGb3JnZTwvYT4uPC9saT4KPGxpPlRvIG9idGFpbiBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSBzZW5kIGFuIGVtYWlsIHRvIHRoZSBhdXRob3IgYXQgPGEgaHJlZj0ibWFpbHRvOnNqZ0BjbXNtb2R1bGVzLmNvbSI+Jmx0O3NqZ0BjbXNtb2R1bGVzLmNvbSZndDs8L2E+LjwvbGk+CjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4KPGxpPlRoZSBhdXRob3IgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5IC48L2xpPgo8L3VsPgo8cD5BUyBQRVIgVEhFIEdOVSBQVUJMSUMgTElDRU5TRSwgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBBUy1JUywgV0lUSCBOTyBXQVJSQU5UWS4gUExFQVNFIFJFQUQgVEhFIFRFWFQKT0YgVEhFIExJQ0VOU0UgRk9SIFRIRSBGVUxMIERJU0NMQUlNRVIuPC9wPgo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA4LCBTYW11ZWwgR29sZHN0ZWluIDxhIGhyZWY9Im1haWx0bzpzamdAY21zbW9kdWxlcy5jb20iPiZsdDtzamdAY21zbW9kdWxlcy5jb20mZ3Q7PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPgo8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiByZWxlYXNlZCB1bmRlciB0aGUgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5HTlUgUHVibGljIExpY2Vuc2U8L2E+LiBZb3UgbXVzdCBhZ3JlZSB0byB0aGlzIGxpY2Vuc2UgYmVmb3JlIHVzaW5nIHRoZSBtb2R1bGUuPC9wPjxoMz5EZXBlbmRlbmNpZXM8L2gzPjx1bD48bGk+Q0dQYXltZW50R2F0ZXdheUJhc2UgPSZndDsgMS4wLjM8L2xpPjxsaT5DR0V4dGVuc2lvbnMgPSZndDsgMS4xNy4zPC9saT48L3VsPjxoMz5QYXJhbWV0ZXJzPC9oMz48dWw+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gbGFuZz0iZW5fVVMiIC0gUGFyYW1ldGVyIGlzIHVzZWQgdG8gc3BlY2lmeSB3aGF0IGxhbmd1YWdlIHRvIHVzZSBmb3IgZGlzcGxheSBvbiB0aGUgZnJvbnRlbmQuIE5vdCBhbGwgbW9kdWxlcyBzdXBwb3J0IG9yIG5lZWQgdGhpcy48L2xpPjwvdWw+</help>
	<about>PGJyIC8+QXV0aG9yOiBTakcgJmx0O3NqZ0BjbXNtb2R1bGVzLmNvbSZndDs8YnIgLz48YnIgLz5WZXJzaW9uOiAyLjA8YnIgLz48YnIgLz5DaGFuZ2UgSGlzdG9yeTo8YnIgLz48dWw+CjxsaT52LiAyLjAgLSA4IERlYyAyMDA5LCBTakcuIFJld3JpdHRlbiBmb3IgbmV3IENhbGd1eSdzIG5ldyBPYmplY3QtT3JpZW50ZWQgT3JkZXJzIGZyYW1ld29yay48L2xpPgo8bGk+di4gMS4wLjIgLSA4IEphbiAyMDA5LCBTakcuIEFkZGVkIG1vcmUgZGVidWcgaW5mb3JtYXRpb24gZm9yIGZhaWxlZCBjb25uZWN0aW9ucy48L2xpPgo8bGk+di4gMS4wLjEgLSA4IERlYyAyMDA4LCBTakcuIEJ1ZyBmaXggZm9yIENWViB2YWxpZGF0aW9uLjwvbGk+CjxsaT52LiAxLjAgLSAyMiBOb3YgMjAwOCwgU2pHLiAgSW5pdGlhbCBSZWxlYXNlLjwvbGk+IAo8L3VsPjxiciAvPg==</about>
	<description>--Add Me - module:EMoneyGateway string:moddescription--</description>
	<requires>
	  <requiredname>CGPaymentGatewayBase</requiredname>
	  <requiredversion>1.0.3</requiredversion>
	</requires>
	<requires>
	  <requiredname>CGExtensions</requiredname>
	  <requiredversion>1.17.3</requiredversion>
	</requires>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEVNb25leWF0ZXdheSAtIEEgRW1vbmV5IGdhdGV3YXkgbW9kdWxlIGZvciB0aGUgT3JkZXJzIG1vZHVsZQojIFZlcnNpb246IDEuMCwgU2pHIDxzamdAY21zbW9kdWxlcy5jb20+CiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDggYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2Vtb25leWdhdGV3YXkKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKLy8gRU9GCj8+]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEVNb25leWF0ZXdheSAtIEEgRW1vbmV5IGdhdGV3YXkgbW9kdWxlIGZvciB0aGUgT3JkZXJzIG1vZHVsZQojIFZlcnNpb246IDEuMCwgU2pHIDxzamdAY21zbW9kdWxlcy5jb20+CiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDggYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2Vtb25leWdhdGV3YXkKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKCmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKSApCnsKCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ2Vycm9yX3Blcm1pc3Npb25kZW5pZWQnKSk7CglleGl0Owp9CgppZiAoRkFMU0UgPT0gZW1wdHkoJHBhcmFtc1snYWN0aXZlX3RhYiddKSkKICB7CiAgICAkdGFiID0gJHBhcmFtc1snYWN0aXZlX3RhYiddOwogIH0gZWxzZSB7CiAgJHRhYiA9ICcnOwogfQoKJHNtYXJ0eS0+YXNzaWduKCd0YWJoZWFkZXJzJywgJHRoaXMtPlN0YXJ0VGFiSGVhZGVycygpIC4KCSR0aGlzLT5TZXRUYWJIZWFkZXIoJ3ByZWZlcmVuY2VzJywkdGhpcy0+TGFuZygncHJlZmVyZW5jZXMnKSwoJ3ByZWZlcmVuY2VzJyA9PSAkdGFiKT90cnVlOmZhbHNlKSAuCgkkdGhpcy0+U2V0VGFiSGVhZGVyKCdhZHZhbmNlZCcsJHRoaXMtPkxhbmcoJ2FkdmFuY2VkJyksKCdhZHZhbmNlZCcgPT0gJHRhYik/dHJ1ZTpmYWxzZSkgLgoJJHRoaXMtPkVuZFRhYkhlYWRlcnMoKS4KCSR0aGlzLT5TdGFydFRhYkNvbnRlbnQoKSk7CiRzbWFydHktPmFzc2lnbignc3RhcnRfcHJlZmVyZW5jZXMnLCR0aGlzLT5TdGFydFRhYigncHJlZmVyZW5jZXMnKSk7CiRzbWFydHktPmFzc2lnbignc3RhcnRfYWR2YW5jZWQnLCR0aGlzLT5TdGFydFRhYignYWR2YW5jZWQnKSk7CiRzbWFydHktPmFzc2lnbignZW5kX3RhYicsJHRoaXMtPkVuZFRhYigpKTsKJHNtYXJ0eS0+YXNzaWduKCdlbmRfdGFicycsJHRoaXMtPkVuZFRhYkNvbnRlbnQoKSk7CgogaWYgKGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSkKCXsKCWlmIChpc3NldCgkcGFyYW1zWydwcm9kdWN0aW9uX3VybCddKSkKCQl7CgkJJHRoaXMtPlNldFByZWZlcmVuY2UoJ3Byb2R1Y3Rpb25fdXJsJywgdHJpbSgkcGFyYW1zWydwcm9kdWN0aW9uX3VybCddKSk7CgkJfQoJaWYgKGlzc2V0KCRwYXJhbXNbJ3Rlc3RfdXJsJ10pKQoJCXsKCQkkdGhpcy0+U2V0UHJlZmVyZW5jZSgndGVzdF91cmwnLCB0cmltKCRwYXJhbXNbJ3Rlc3RfdXJsJ10pKTsKCQl9CglpZiAoaXNzZXQoJHBhcmFtc1snbW9kZSddKSkKCQl7CgkJJHRoaXMtPlNldFByZWZlcmVuY2UoJ21vZGUnLCRwYXJhbXNbJ21vZGUnXSk7CgkJfQoJCglpZiAoaXNzZXQoJHBhcmFtc1snbWFzdGVya2V5J10pKQoJCXsKCQkkdGhpcy0+U2V0UHJlZmVyZW5jZSgnbWFzdGVya2V5JywgdHJpbSgkcGFyYW1zWydtYXN0ZXJrZXknXSkpOwoJCX0KCWlmIChpc3NldCgkcGFyYW1zWydjbGllbnRpZCddKSkKCQl7CgkJJHRoaXMtPlNldFByZWZlcmVuY2UoJ2NsaWVudGlkJywgdHJpbSgkcGFyYW1zWydjbGllbnRpZCddKSk7CgkJfQoJaWYgKGlzc2V0KCRwYXJhbXNbJ3ZlbmRvcm5hbWUnXSkpCgkJewoJCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCd2ZW5kb3JuYW1lJywgdHJpbSgkcGFyYW1zWyd2ZW5kb3JuYW1lJ10pKTsKCQl9CglpZiAoaXNzZXQoJHBhcmFtc1sndmVuZG9yaWQnXSkpCgkJewoJCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCd2ZW5kb3JpZCcsIHRyaW0oJHBhcmFtc1sndmVuZG9yaWQnXSkpOwoJCX0KCWlmIChpc3NldCgkcGFyYW1zWydyZXF1aXJlX2N2diddKSkKCQl7CgkJJHRoaXMtPlNldFByZWZlcmVuY2UoJ3JlcXVpcmVfY3Z2JywkcGFyYW1zWydyZXF1aXJlX2N2diddKTsKCQl9CglpZiAoaXNzZXQoJHBhcmFtc1sncmVxdWlyZV9hZGRyZXNzJ10pKQoJCXsKCQkkdGhpcy0+U2V0UHJlZmVyZW5jZSgncmVxdWlyZV9hZGRyZXNzJywkcGFyYW1zWydyZXF1aXJlX2FkZHJlc3MnXSk7CgkJfQoJaWYgKGlzc2V0KCRwYXJhbXNbJ2RlYnVnX21vZGUnXSkpCgkJewoJCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdkZWJ1Z19tb2RlJywkcGFyYW1zWydkZWJ1Z19tb2RlJ10pOwoJCX0KCgl9Cgokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsICR0aGlzLT5DR0NyZWF0ZUZvcm1TdGFydCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywgJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CgppZiAoISBmdW5jdGlvbl9leGlzdHMoJ2N1cmxfaW5pdCcpKQoJewoJJHNtYXJ0eS0+YXNzaWduKCdlcnJvcicsJHRoaXMtPkxhbmcoJ21pc3NpbmdfbGliY3VybCcpKTsKCX0KZWxzZQoJewoJJHNtYXJ0eS0+YXNzaWduKCdlcnJvcicsJycpOwoJfQoKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfcHJvZHVjdGlvbl91cmwnLCR0aGlzLT5MYW5nKCdwcm9kdWN0aW9uX3VybCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfdGVzdF91cmwnLCR0aGlzLT5MYW5nKCd0ZXN0X3VybCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9wcm9kdWN0aW9uX3VybCcsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAncHJvZHVjdGlvbl91cmwnLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncHJvZHVjdGlvbl91cmwnLCAnaHR0cHM6Ly9wb3MuZXRzZW1vbmV5LmNvbS9FQ09NM1gvbWFpbi5hc3AnKSwgMTAwLCAxMDI0KSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfdGVzdF91cmwnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3Rlc3RfdXJsJywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Rlc3RfdXJsJywgJ2h0dHBzOi8vZGVtby5ldHNlbW9uZXkuY29tL0VDT00zWC9tYWluLmFzcCcpLCAxMDAsIDEwMjQpKTsKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfbW9kZScsICR0aGlzLT5MYW5nKCdwcm9tcHRfbW9kZScpKTsKJG1vZGVzID0gYXJyYXkoJHRoaXMtPkxhbmcoJ21vZGVfcHJvZHVjdGlvbicpPT4ncHJvZHVjdGlvbicsJHRoaXMtPkxhbmcoJ21vZGVfdGVzdCcpPT4ndGVzdCcpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X21vZGUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRSYWRpb0dyb3VwKCRpZCwgJ21vZGUnLCAkbW9kZXMsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdtb2RlJywndGVzdCcpKSk7Cgokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9jbGllbnRpZCcsJHRoaXMtPkxhbmcoJ3Byb21wdF9jbGllbnRpZCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfbWFzdGVya2V5JywkdGhpcy0+TGFuZygncHJvbXB0X21hc3RlcmtleScpKTsKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfdmVuZG9ybmFtZScsJHRoaXMtPkxhbmcoJ3Byb21wdF92ZW5kb3JuYW1lJykpOwokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF92ZW5kb3JpZCcsJHRoaXMtPkxhbmcoJ3Byb21wdF92ZW5kb3JpZCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfcmVxdWlyZV9jdnYnLCR0aGlzLT5MYW5nKCdwcm9tcHRfcmVxdWlyZV9jdnYnKSk7CiRzbWFydHktPmFzc2lnbigncHJvbXB0X3JlcXVpcmVfYWRkcmVzcycsJHRoaXMtPkxhbmcoJ3Byb21wdF9yZXF1aXJlX2FkZHJlc3MnKSk7CiRzbWFydHktPmFzc2lnbigncHJvbXB0X2RlYnVnX21vZGUnLCR0aGlzLT5MYW5nKCdwcm9tcHRfZGVidWdfbW9kZScpKTsKCiRzbWFydHktPmFzc2lnbignaW5wdXRfY2xpZW50aWQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2NsaWVudGlkJywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2NsaWVudGlkJyksIDUsIDEwKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfbWFzdGVya2V5JywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdtYXN0ZXJrZXknLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbWFzdGVya2V5JyksIDYsIDEwKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfdmVuZG9ybmFtZScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAndmVuZG9ybmFtZScsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd2ZW5kb3JuYW1lJyksIDIwLCA0MCkpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3ZlbmRvcmlkJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICd2ZW5kb3JpZCcsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd2ZW5kb3JpZCcpLCAyMCwgNDApKTsKJHJlcXMgPSBhcnJheSgkdGhpcy0+TGFuZygncmVxdWlyZScpPT4ncmVxdWlyZScsJHRoaXMtPkxhbmcoJ25vcmVxdWlyZScpPT4nbm9yZXF1aXJlJyk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfcmVxdWlyZV9jdnYnLCAkdGhpcy0+Q3JlYXRlSW5wdXRSYWRpb0dyb3VwKCRpZCwgJ3JlcXVpcmVfY3Z2JywgJHJlcXMsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdyZXF1aXJlX2N2dicsJ3JlcXVpcmUnKSkpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3JlcXVpcmVfYWRkcmVzcycsICR0aGlzLT5DcmVhdGVJbnB1dFJhZGlvR3JvdXAoJGlkLCAncmVxdWlyZV9hZGRyZXNzJywgJHJlcXMsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdyZXF1aXJlX2FkZHJlc3MnLCdyZXF1aXJlJykpKTsKJHRydWVmYWxzZSA9IGFycmF5KCR0aGlzLT5MYW5nKCdvbicpPT4ndHJ1ZScsJHRoaXMtPkxhbmcoJ29mZicpPT4nZmFsc2UnKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9kZWJ1Z19tb2RlJywgJHRoaXMtPkNyZWF0ZUlucHV0UmFkaW9Hcm91cCgkaWQsICdkZWJ1Z19tb2RlJywgJHRydWVmYWxzZSwgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RlYnVnX21vZGUnLCdmYWxzZScpKSk7CgoKJHNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnc3VibWl0JywgbGFuZygnc3VibWl0JykpKTsKCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgncHJlZnMudHBsJyk7CgovLyBFT0YKPz4K]]></data>
	</file>
	<file>
	  <filename>/action.process.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEVNb25leWF0ZXdheSAtIEEgRW1vbmV5IGdhdGV3YXkgbW9kdWxlIGZvciB0aGUgT3JkZXJzIG1vZHVsZQojIFZlcnNpb246IDEuMCwgU2pHIDxzamdAY21zbW9kdWxlcy5jb20+CiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDggYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2Vtb25leWdhdGV3YXkKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKCiRkYiA9ICYkZ0Ntcy0+R2V0REIoKTsKCmlmKCAhaXNzZXQoJHBhcmFtc1sna2V5J10pICkgZXhpdDsgCiRyZXMgPSAkdGhpcy0+UmVzdG9yZVN0YXRlKHRyaW0oJHBhcmFtc1sna2V5J10pKTsKaWYoICRyZXMgPT09IEZBTFNFICkKICB7CiAgICAkdGhpcy0+U2V0RXJyb3IoJHRoaXMtPkxhbmcoJ2Vycm9yX3Jlc3RvcmluZ19zdGF0ZScpKTsKICAgICR0aGlzLT5GaW5pc2hUcmFuc2FjdGlvbigpOwogICAgcmV0dXJuOwogIH0KICAKLy8gY2hlY2sgZm9yIG1pc3NpbmcgZGF0YQokdGVzdCA9IDA7CmlmKCAhaXNzZXQoJHRoaXMtPl9kYXRhWydjY2luZm8nXSkgfHwKICAgICFpc3NldCgkdGhpcy0+X2RhdGFbJ2Rlc3RpbmF0aW9uJ10pIHx8CiAgICAhaXNzZXQoJHRoaXMtPl9kYXRhWydpdGVtcyddKSB8fAogICAgIWlzc2V0KCR0aGlzLT5fZGF0YVsnb3JkZXJpZCddKSB8fAogICAgIWlzc2V0KCR0aGlzLT5fZGF0YVsnaW52b2ljZSddKSApCiAgewogICAgJHRoaXMtPlNldEVycm9yKCR0aGlzLT5MYW5nKCdlcnJvcl9taXNzaW5nX2RhdGEnKSk7CiAgICAkdGhpcy0+RmluaXNoVHJhbnNhY3Rpb24oKTsKICAgIHJldHVybjsKICB9CgoKaWYoIGlzc2V0KCR0aGlzLT5fZGF0YVsnb3JkZXJ0YXgnXSkgJiYgaXNzZXQoJHRoaXMtPl9kYXRhWydvcmRlcnNoaXBwaW5nJ10pICkKICAkYW1vdW50ID0gJHRoaXMtPl9kYXRhWydvcmRlcnRheCddICsgJHRoaXMtPl9kYXRhWydvcmRlcnNoaXBwaW5nJ107Cgpmb3JlYWNoKCAkdGhpcy0+X2RhdGFbJ2l0ZW1zJ10gYXMgJGl0ZW0gKQp7CiAgJGFtb3VudCArPSAkaXRlbVsnYW1vdW50J10qJGl0ZW1bJ3F1YW50aXR5J107Cn0KCgkKLy8gcmV0cmlldmUgZW5vdWdoIG9yZGVyIGRldGFpbHMgdG8gc3VibWl0IGl0IQokb3JkZXIgPSAkZGItPkdldFJvdygnU0VMRUNUICogRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV9vcmRlcnMgV0hFUkUgaWQgPSA/JywgYXJyYXkoJHRoaXMtPl9kYXRhWydvcmRlcmlkJ10pKTsKCmlmICgkb3JkZXIgPT09IGZhbHNlIHx8IGNvdW50KCRvcmRlcikgPCAxKQoJewoJJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ2Vycm9yX2ludmFsaWRvcmRlcmlkJykpOwoJZXhpdDsKCX0KCmlmICgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbW9kZScsJ3Rlc3QnKSA9PSAndGVzdCcpCgl7CgkkcXVlcnlfdXJsID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Rlc3RfdXJsJyk7Cgl9CmVsc2UKCXsKCSRxdWVyeV91cmwgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncHJvZHVjdGlvbl91cmwnKTsKCX0KCi8qCmRlYnVnX2Rpc3BsYXkoJG9yZGVyKTsKZGVidWdfZGlzcGxheSgkdGhpcy0+X2RhdGEpOwpkaWU7CiovCgovLyBjbGVhbiB1cCBjcmVkaXQgY2FyZCBudW1iZXIKJGNuID0gcHJlZ19yZXBsYWNlKCcvXEQvJywnJywkdGhpcy0+X2RhdGFbJ2NjaW5mbyddWyd4X2NhcmRfbnVtJ10pOwovLyBjbGVhbiB1cCB6aXAKJHppcCA9IHByZWdfcmVwbGFjZSgnL1xELycsJycsJG9yZGVyWydiaWxsaW5nX3Bvc3RhbCddKTsKLy8gY2xlYW4gdXAgZXhwaXJhdGlvbgoKJGV4cCA9IGV4cGxvZGUoJy8nLCR0aGlzLT5fZGF0YVsnY2NpbmZvJ11bJ3hfZXhwX2RhdGUnXSk7CiRleHBpcmF0aW9uID0gJyc7CmlmIChzdHJsZW4oJGV4cFswXSkgPCAyKQoJewoJJGV4cGlyYXRpb24gPSAnMCc7Cgl9CgokZXhwaXJhdGlvbiAuPSAkZXhwWzBdOwokZXhwaXJhdGlvbiAuPSBzdWJzdHIoJGV4cFsxXSwtMiwyKTsKCiRwb3N0X3N0cmluZyA9ICI8P3htbCB2ZXJzaW9uPVwiMS4wXCIgZW5jb2Rpbmc9XCJJU08tODg1OS0xXCI/PlxuIi4KCSI8UmVxdWVzdE1lc3NhZ2U+XG4iLgoJIjxBY3Rpb24+QVVUSE9SSVpFX09OTElORTwvQWN0aW9uPlxuIi4KCSI8Q2xpZW50SUQ+Ii4kdGhpcy0+R2V0UHJlZmVyZW5jZSgnY2xpZW50aWQnKS4iPC9DbGllbnRJRD5cbiIuCgkiPE1hc3RlcktleT4iLiR0aGlzLT5HZXRQcmVmZXJlbmNlKCdtYXN0ZXJrZXknKS4iPC9NYXN0ZXJLZXk+XG4iLgoJIjxQdXJjaGFzZUlkZW50aWZpZXIxPk9SREVSLSIuJHBhcmFtc1snb3JkZXJfaWQnXS4iPC9QdXJjaGFzZUlkZW50aWZpZXIxPlxuIi4KCSI8VHJhbnNhY3Rpb25BbW91bnQ+Ii4kYW1vdW50LiI8L1RyYW5zYWN0aW9uQW1vdW50PlxuIi4KCSI8QWNjb3VudE51bWJlcj4iLiRjbi4iPC9BY2NvdW50TnVtYmVyPlxuIi4KCSI8RXhwaXJhdGlvbkRhdGU+Ii4kZXhwaXJhdGlvbi4iPC9FeHBpcmF0aW9uRGF0ZT5cbiIgLgoJIjxOYW1lT25DYXJkPiIuJG9yZGVyWydiaWxsaW5nX2ZpcnN0X25hbWUnXS4nICcuJG9yZGVyWydiaWxsaW5nX2xhc3RfbmFtZSddLiI8L05hbWVPbkNhcmQ+XG4iLgoJIjxBVlNTdHJlZXQxPiIuc3Vic3RyKCRvcmRlclsnYmlsbGluZ19hZGRyZXNzMSddLDAsMjApLiI8L0FWU1N0cmVldDE+XG4iLgoJIjxBVlNaaXA+Ii4kemlwLiI8L0FWU1ppcD5cbiI7CmlmIChpc3NldCgkcGFyYW1zWydjdnYnXSkpCgl7CgkkcG9zdF9zdHJpbmcgLj0gIjxDVlY+Ii4kcGFyYW1zWydjdnYnXS4iPC9DVlY+XG4iOwoJfQoJCiRwb3N0X3N0cmluZyAuPSAiPFZlbmRvcklEPiIuJHRoaXMtPkdldFByZWZlcmVuY2UoJ3ZlbmRvcmlkJykuIjwvVmVuZG9ySUQ+XG4iLgoJIjxWZW5kb3JOYW1lPiIuJHRoaXMtPkdldFByZWZlcmVuY2UoJ3ZlbmRvcm5hbWUnKS4iPC9WZW5kb3JOYW1lPlxuIi4KCSI8VmVuZG9yUHJvZHVjdD4iLiR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKS4nICcuJHRoaXMtPkdldFZlcnNpb24oKS4iPC9WZW5kb3JQcm9kdWN0PlxuIi4KCSI8L1JlcXVlc3RNZXNzYWdlPlxuIjsKCgokZGlzcF9wb3N0X3N0ciA9IHN1YnN0cigkcG9zdF9zdHJpbmcsMCxzdHJpcG9zKCRwb3N0X3N0cmluZywnPEFjY291bnROdW1iZXI+JykrMTUpLgoJc3Vic3RyKCcqKioqKioqKioqKioqKioqKioqJywwLHN0cmxlbigkY24pLTQpLnN1YnN0cigkY24sLTQpLnN1YnN0cigkcG9zdF9zdHJpbmcsc3RyaXBvcygkcG9zdF9zdHJpbmcsJzwvQWNjb3VudE51bWJlcj4nKSk7CmlmIChzdHJpcG9zKCRkaXNwX3Bvc3Rfc3RyLCc8Q1ZWPicpICE9PSBmYWxzZSkKCXsKCSRkaXNwX3Bvc3Rfc3RyID0gc3Vic3RyKCRkaXNwX3Bvc3Rfc3RyLDAsc3RyaXBvcygkZGlzcF9wb3N0X3N0ciwnPENWVj4nKSs1KS4KCQknKioqJy5zdWJzdHIoJGRpc3BfcG9zdF9zdHIsc3RyaXBvcygkZGlzcF9wb3N0X3N0ciwnPC9DVlY+JykpOwoJfQoKaWYgKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkZWJ1Z19tb2RlJywnZmFsc2UnKSA9PSAndHJ1ZScgfHwgJHRoaXMtPkdldFByZWZlcmVuY2UoJ21vZGUnLCd0ZXN0JykgPT0gJ3Rlc3QnKQoJewoJZXJyb3JfbG9nKCdVUkw6ICcuJHF1ZXJ5X3VybCk7CgllcnJvcl9sb2coJ1NFTlQ6ICcuJGRpc3BfcG9zdF9zdHIpOwoJfQoKJGNvbm5lY3Q9Y3VybF9pbml0KCk7CmN1cmxfc2V0b3B0KCRjb25uZWN0LCBDVVJMT1BUX1VSTCwgJHF1ZXJ5X3VybCk7CmN1cmxfc2V0b3B0KCRjb25uZWN0LCBDVVJMT1BUX1JFVFVSTlRSQU5TRkVSLCAxKTsKY3VybF9zZXRvcHQoJGNvbm5lY3QsIENVUkxPUFRfUE9TVCwgMSkgOwpjdXJsX3NldG9wdCgkY29ubmVjdCwgQ1VSTE9QVF9QT1NURklFTERTLCB1cmxlbmNvZGUoJHBvc3Rfc3RyaW5nKSk7CgpjdXJsX3NldG9wdCgkY29ubmVjdCwgQ1VSTE9QVF9TU0xfVkVSSUZZUEVFUiwgMCk7CmN1cmxfc2V0b3B0KCRjb25uZWN0LCBDVVJMT1BUX1NTTF9WRVJJRllIT1NULCAwKTsKCiRyZXN1bHQgPSBjdXJsX2V4ZWMoJGNvbm5lY3QpOwoKaWYgKCRyZXN1bHQgPT09IGZhbHNlKQoJewoJJGh0dHByZXNwID0gY3VybF9nZXRpbmZvKCRjb25uZWN0LENVUkxJTkZPX0hUVFBfQ09ERSk7CgkkY3VybGVycm9yID0gY3VybF9lcnJubygpOwoJJHRoaXMtPlNldEVycm9yKCR0aGlzLT5MYW5nKCdjb25uZWN0aW9uX2Vycm9yJyxhcnJheSgkaHR0cHJlc3AsJGN1cmxlcnJvcikpKTsKCX0KY3VybF9jbG9zZSgkY29ubmVjdCk7CmlmICgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVidWdfbW9kZScsJ2ZhbHNlJykgPT0gJ3RydWUnIHx8ICAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbW9kZScsJ3Rlc3QnKSA9PSAndGVzdCcpCgl7CgllcnJvcl9sb2coJ1JDVkQ6ICcuJHJlc3VsdCk7Cgl9CgokcmVzcF9pdGVtcyA9IGFycmF5KAoJJ1ZlcmlmaWVkQW1vdW50Jz0+JycsCgknUmVzcG9uc2VDb2RlJz0+JycsCgknVHJhbnNhY3Rpb25JRCc9PicnLAoJJ0FwcHJvdmFsQ29kZSc9PicnLAoJJ0FWU1Jlc3VsdENvZGUnPT4nJywKCSdDVlZSZXN1bHRDb2RlJz0+JycsCgknVHJhbnNhY3Rpb25TZXF1ZW5jZU51bWJlcic9PicnCik7CgokcmVzX3N0cmluZyA9ICcnOwpmb3JlYWNoICgkcmVzcF9pdGVtcyBhcyAkcmtleT0+JHJ2YWwpCgl7CgkkcmVzcF9pdGVtc1tzdHJ0b2xvd2VyKCRya2V5KV0gPSAkdGhpcy0+RXh0cmFjdFJlc3BvbnNlU3RyaW5nKCRya2V5LCRyZXN1bHQpOwoJJHJlc19zdHJpbmcgLj0gJHJrZXkuJzonLiRyZXNwX2l0ZW1zW3N0cnRvbG93ZXIoJHJrZXkpXS4nICc7Cgl9CiRyZXN1bHRfbWVzc2FnZSA9ICR0aGlzLT5FeHRyYWN0UmVzcG9uc2VTdHJpbmcoJ1Jlc3BvbnNlVGV4dCcsJHJlc3VsdCk7Ci8vIGNoZWNrIGZvciBzdWNjZXNzIGNvZGUgLSBzaG91bGQgYmUgMDAgKHN1Y2Nlc3NmdWwgYXV0aG9yaXphdGlvbikgb3IgODUgKGNhcmQgdmFsaWRhdGVzKQppZiAoJHJlc3BfaXRlbXNbJ3Jlc3BvbnNlY29kZSddICE9ICcwMCcgJiYgJHJlc3BfaXRlbXNbJ3Jlc3BvbnNlY29kZSddICE9ICc4NScpCgl7CgkkdGhpcy0+U2V0RGVjbGluZWQoJHJlc3VsdF9tZXNzYWdlKTsKCX0KZWxzZQoJewoJLy8gCgkvKgoJQ2hlY2sgZm9yIEFkZHJlc3MgdmVyaWZpY2F0aW9uLCBpZiByZXF1ZXN0ZWQ6CglYIEVYQUNUIE1BVENIIEV4YWN0IG1hdGNoLCA5IGRpZ2l0IHppcCAKCVkgRVhBQ1QgTUFUQ0ggRXhhY3QgbWF0Y2gsIDUgZGlnaXQgemlwIAoJQSBBRERSRVNTIE1BVENIIEFkZHJlc3MgbWF0Y2ggb25seSAKCVcgWklQIE1BVENIIDktZGlnaXQgemlwIG1hdGNoIG9ubHkgCglaIFpJUCBNQVRDSCA1LWRpZ2l0IHppcCBtYXRjaCBvbmx5IAoJKi8KCWlmICgkdGhpcy0+R2V0UHJlZmVyZW5jZSgncmVxdWlyZV9hZGRyZXNzJywncmVxdWlyZScpICE9ICdyZXF1aXJlJyB8fCBwcmVnX21hdGNoKCcveHx5fHp8YXx3L2knLCRyZXNwX2l0ZW1zWydhdnNyZXN1bHRjb2RlJ10gKSkKCQl7CgkJLyoKCQlDaGVjayBmb3IgQ1ZWIHZlcmlmaWNhdGlvbiwgaWYgcmVxdWVzdGVkOgoJCU0gQ1ZWMi9DVjJDL0NJRCB2ZXJpZmljYXRpb24gc3VjY2Vzc2Z1bC4gCgkJTiBDVlYyL0NWMkMvQ0lEIHZlcmlmaWNhdGlvbiBmYWlsZWQuIAoJCVAgQVBQUk9WQUwgWFhYWFhYCgkJKi8KCQlpZiAoJHRoaXMtPkdldFByZWZlcmVuY2UoJ3JlcXVpcmVfY3Z2JywncmVxdWlyZScpICE9ICdyZXF1aXJlJyB8fCBwcmVnX21hdGNoKCcvbXxwL2knLCAkcmVzcF9pdGVtc1snY3Z2cmVzdWx0Y29kZSddKSkKCQkJewoJCQkkdGhpcy0+U2V0VHJhbnNhY3Rpb25TdGF0dXMoUEFZTUVOVF9TVEFUVVNfQVBQUk9WRUQpOwoJCQkkdGhpcy0+U2V0VHJhbnNhY3Rpb25JZCgkcmVzX3N0cmluZyk7CgkJICAgICR0aGlzLT5TZXRUcmFuc2FjdGlvbkFtb3VudCgkcmVzcF9pdGVtc1sndmVyaWZpZWRhbW91bnQnXSk7CgkJCX0KCQllbHNlCgkJCXsKCQkJLy8gdmFsaWRhdGlvbiBmYWlsZWQgQ1ZWCgkJCSR0aGlzLT5TZXREZWNsaW5lZCgpOwoJCQl9CgkJfQoJZWxzZQoJCXsKCQkvLyBmYWlsZWQgYWRkcmVzcyB2YWxpZGF0aW9uCgkJJHRoaXMtPlNldERlY2xpbmVkKCk7CgkJfQogIAl9CgokdGhpcy0+RmluaXNoVHJhbnNhY3Rpb24oKTsKPz4=]]></data>
	</file>
	<file>
	  <filename>/EMoneyGateway.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEVNb25leWF0ZXdheSAtIEEgRW1vbmV5IGdhdGV3YXkgbW9kdWxlIGZvciB0aGUgT3JkZXJzIG1vZHVsZQojIFZlcnNpb246IDEuMCwgU2pHIDxzamdAY21zbW9kdWxlcy5jb20+CiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDggYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2Vtb25leWdhdGV3YXkKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgokY2dwYXltZW50Z2F0ZXdheWJhc2UgPSBjbXNfam9pbl9wYXRoKCRnQ21zLT5jb25maWdbJ3Jvb3RfcGF0aCddLCdtb2R1bGVzJywKCSdDR1BheW1lbnRHYXRld2F5QmFzZScsJ0NHUGF5bWVudEdhdGV3YXlCYXNlLm1vZHVsZS5waHAnKTsKaWYoICFpc19yZWFkYWJsZSggJGNncGF5bWVudGdhdGV3YXliYXNlICkgKQp7CgllY2hvICc8aDE+PGZvbnQgY29sb3I9InJlZCI+RVJST1I6IFRoZSBDR1BheW1lbnRHYXRld2F5QmFzZSBtb2R1bGUgY291bGQgbm90IGJlIGZvdW5kLiAgUGxlYXNlIGluc3RhbGwgaXQ8L2ZvbnQ+PC9oMT4nOwoJcmV0dXJuOwp9CmlmKCAhY2xhc3NfZXhpc3RzKCdDR1BheW1lbnRHYXRld2F5QmFzZScpICkKewogIHJlcXVpcmVfb25jZSgkY2dwYXltZW50Z2F0ZXdheWJhc2UpOwp9CgpjbGFzcyBFTW9uZXlHYXRld2F5IGV4dGVuZHMgQ0dQYXltZW50R2F0ZXdheUJhc2UKewoKICB2YXIgJF93ZWlnaHR1bml0czsKICB2YXIgJF9jdXJyZW5jeWNvZGU7CiAgdmFyICRfc3VjY2Vzc3VybDsKICB2YXIgJF9zdWNjZXNzcGFnZTsKICB2YXIgJF9jYW5jZWx1cmw7CiAgdmFyICRfY2FuY2VscGFnZTsKICB2YXIgJF9pdGVtczsKICB2YXIgJF9vcmRlcnRheDsKICB2YXIgJF9vcmRlcnNoaXBwaW5nOwogIHZhciAkX29yZGVyaWQ7CgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIENvbnN0cnVjdG9yKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBFTW9uZXlHYXRld2F5KCkKICB7CiAgICBwYXJlbnQ6OkNNU01vZHVsZSgpOwogICAgJHRoaXMtPlJlc2V0KCk7CiAgfQoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXROYW1lKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXROYW1lKCkKICB7CiAgICByZXR1cm4gJ0VNb25leUdhdGV3YXknOwogIH0KICAKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRGcmllbmRseU5hbWUoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldEZyaWVuZGx5TmFtZSgpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRWZXJzaW9uKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRWZXJzaW9uKCkKICB7CiAgICByZXR1cm4gJzIuMCc7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0SGVscCgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0SGVscCgpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdoZWxwJyk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0QXV0aG9yKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRBdXRob3IoKQogIHsKICAgIHJldHVybiAnU2pHJzsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRBdXRob3JFbWFpbCgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0QXV0aG9yRW1haWwoKQogIHsKICAgIHJldHVybiAnc2pnQGNtc21vZHVsZXMuY29tJzsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRDaGFuZ2VMb2coKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldENoYW5nZUxvZygpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdjaGFuZ2Vsb2cnKTsKICB9CgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIElzUGx1Z2luTW9kdWxlKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBJc1BsdWdpbk1vZHVsZSgpCiAgewogICAgcmV0dXJuIHRydWU7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgSGFzQWRtaW4oKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEhhc0FkbWluKCkKICB7CiAgICByZXR1cm4gdHJ1ZTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRBZG1pblNlY3Rpb24oKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldEFkbWluU2VjdGlvbigpCiAgewogICAgcmV0dXJuICdleHRlbnNpb25zJzsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRBZG1pbkRlc2NyaXB0aW9uKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRBZG1pbkRlc2NyaXB0aW9uKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ21vZGRlc2NyaXB0aW9uJyk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgVmlzaWJsZVRvQWRtaW5Vc2VyKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBWaXNpYmxlVG9BZG1pblVzZXIoKQogIHsKICAgIHJldHVybiAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgVGVtcGxhdGVzJykgfHwKICAgICAgJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXREZXBlbmRlbmNpZXMoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldERlcGVuZGVuY2llcygpCiAgewogICAgcmV0dXJuIGFycmF5KCdDR1BheW1lbnRHYXRld2F5QmFzZSc9PicxLjAuMycsCgkJICdDR0V4dGVuc2lvbnMnPT4nMS4xNy4zJyk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgTWluaW11bUNNU1ZlcnNpb24oKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIE1pbmltdW1DTVNWZXJzaW9uKCkKICB7CiAgICByZXR1cm4gIjEuNi41IjsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBTZXRQYXJhbWV0ZXJzKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBTZXRQYXJhbWV0ZXJzKCkKICB7CiAgICAkdGhpcy0+UmVnaXN0ZXJNb2R1bGVQbHVnaW4oKTsKICAgICR0aGlzLT5SZXN0cmljdFVua25vd25QYXJhbXMoKTsKCgkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgna2V5JywgQ0xFQU5fU1RSSU5HKTsKCQogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEluc3RhbGxQb3N0TWVzc2FnZSgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gSW5zdGFsbFBvc3RNZXNzYWdlKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ3Bvc3RpbnN0YWxsJyk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgVW5pbnN0YWxsUG9zdE1lc3NhZ2UoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIFVuaW5zdGFsbFBvc3RNZXNzYWdlKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ3Bvc3R1bmluc3RhbGwnKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBVbmluc3RhbGxQcmVNZXNzYWdlKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBVbmluc3RhbGxQcmVNZXNzYWdlKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ3JlYWxseV91bmluc3RhbGwnKTsKICB9CgoJCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgSXNQYXltZW50R2F0ZXdheU1vZHVsZSgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gSXNQYXltZW50R2F0ZXdheU1vZHVsZSgpCiAgewogICAgcmV0dXJuIHRydWU7CiAgfQoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBOZXcgTWV0aG9kcyBmcm9tIENHUGF5bWVudEdhdGV3YXlCYXNlCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgCi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBSZXF1aXJlc0NyZWRpdENhcmRJbmZvKCkKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCnB1YmxpYyBmdW5jdGlvbiBSZXF1aXJlc0NyZWRpdENhcmRJbmZvKCkKewogIHJldHVybiB0cnVlOwp9CgoKLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIFJlcXVpcmVzU1NMKCkKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCnB1YmxpYyBmdW5jdGlvbiBSZXF1aXJlc1NTTCgpCnsKICByZXR1cm4gdHJ1ZTsKfQoKCi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBSZXF1aXJlc1NoaXBwaW5nSW5mbygpCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwpwdWJsaWMgZnVuY3Rpb24gUmVxdWlyZXNTaGlwcGluZ0luZm8oKQp7CiAgcmV0dXJuIGZhbHNlOwp9CgoKLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIFJlcXVpcmVzQmlsbGluZ0luZm8oKQogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KcHVibGljIGZ1bmN0aW9uIFJlcXVpcmVzQmlsbGluZ0luZm8oKQp7CiAgcmV0dXJuIGZhbHNlOwp9CgovKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIFNhdmVTdGF0ZSgpCiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIHB1YmxpYyBmdW5jdGlvbiBTYXZlU3RhdGUoJGVuY3J5cHQgPSBmYWxzZSkKIHsKICAgaWYoICRlbmNyeXB0ICkKICAgICB7Cgkka2V5ID0gc3RyX3NodWZmbGUobWQ1KHNlc3Npb25faWQoKS50aW1lKCkpKTsKCSRyYXcgPSBzZXJpYWxpemUoJHRoaXMtPl9kYXRhKTsKCSRlbmMgPSAkdGhpcy0+ZW5jcnlwdCgka2V5LCRyYXcpOwoJJF9TRVNTSU9OWydlbW9uZXlnYXRlJ10gPSBiYXNlNjRfZW5jb2RlKCRlbmMpOwoJcmV0dXJuICRrZXk7CiAgICAgfQogICBlbHNlCiAgICAgewoJJHJhdyA9IHNlcmlhbGl6ZSgkdGhpcy0+X2RhdGEpOwoJJF9TRVNTSU9OWydlbW9uZXlnYXRlJ10gPSBiYXNlNjRfZW5jb2RlKCRyYXcpOwogICAgIH0KIH0KCgogLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICBSZXN0b3JlU3RhdGUoKQogIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiBwdWJsaWMgZnVuY3Rpb24gUmVzdG9yZVN0YXRlKCRrZXkgPSAnJykKIHsKICAgaWYoICFpc3NldCgkX1NFU1NJT05bJ2Vtb25leWdhdGUnXSkgKSByZXR1cm4gRkFMU0U7CiAgIGlmKCBlbXB0eSgka2V5KSApCiAgICAgewoJJHJhdyA9IGJhc2U2NF9kZWNvZGUoJF9TRVNTSU9OWydlbW9uZXlnYXRlJ10pOwogICAgIH0KICAgZWxzZQogICAgIHsKCSRlbmMgPSBiYXNlNjRfZGVjb2RlKCRfU0VTU0lPTlsnZW1vbmV5Z2F0ZSddKTsKCSRyYXcgPSAkdGhpcy0+ZGVjcnlwdCgka2V5LCRlbmMpOwoJaWYoICRyYXcgPT09IEZBTFNFICkgcmV0dXJuIEZBTFNFOwogICAgIH0KICAgJHRoaXMtPl9kYXRhID0gdW5zZXJpYWxpemUoJHJhdyk7CiAgIHVuc2V0KCRfU0VTU0lPTlsnZW1vbmV5Z2F0ZSddKTsKICAgcmV0dXJuIFRSVUU7CiB9CgoKIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgU2V0Q3JlZGl0Q2FyZEluZm8oKQogIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiBwdWJsaWMgZnVuY3Rpb24gU2V0Q3JlZGl0Q2FyZEluZm8oJGNjbnVtYmVyLCRjY2V4cCwkY2N2Y29kZSkKIHsKICAgJF9jY2luZm8gPSBhcnJheSgpOwogICAkX2NjaW5mb1sneF9jYXJkX251bSddID0gcHJlZ19yZXBsYWNlKCcoW14wLTldKScsJycsJGNjbnVtYmVyKTsKICAgJF9jY2luZm9bJ3hfZXhwX2RhdGUnXSA9IGRhdGUoJ20nLCRjY2V4cCkuJy8nLmRhdGUoJ1knLCRjY2V4cCk7CiAgIGlmKCAhZW1wdHkoJGNjdmNvZGUpICkKICAgICB7CgkkX2NjaW5mb1sneF9jYXJkX2NvZGUnXSA9IHByZWdfcmVwbGFjZSgnKFteMC05XSknLCcnLCRjY3Zjb2RlKTsKICAgICB9CiAgIGRlYnVnX3RvX2xvZygnLS0gY2NpbmZvIC0tJyk7CiAgIGRlYnVnX3RvX2xvZygkX2NjaW5mbyk7CiAgICR0aGlzLT5fZGF0YVsnY2NpbmZvJ10gPSAkX2NjaW5mbzsKIH0KCgogLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICBTZXRXZWlnaHRVbml0cygpCiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIHB1YmxpYyBmdW5jdGlvbiBTZXRXZWlnaHRVbml0cygkdW5pdHMgPSAnbGJzJykKIHsKICAgJHRoaXMtPl9kYXRhWyd3ZWlnaHR1bml0cyddID0gJHVuaXRzOwogfQoKCiAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIFNldERlc3RpbmF0aW9uKCkKICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogcHVibGljIGZ1bmN0aW9uIFNldERlc3RpbmF0aW9uKCR1cmwpCiB7CiAgICR0aGlzLT5fZGF0YVsnZGVzdGluYXRpb24nXSA9ICR1cmw7CiB9CiAgIAogLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICBQcm9jZXNzVHJhbnNhY3Rpb24oKQogIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiBwdWJsaWMgZnVuY3Rpb24gUHJvY2Vzc1RyYW5zYWN0aW9uKCkKIHsKICAgJGtleSA9ICR0aGlzLT5TYXZlU3RhdGUodHJ1ZSk7CiAgICRwYXJhbXMgPSBhcnJheSgpOwogICAkcGFyYW1zWydrZXknXSA9ICRrZXk7CiAgIHJldHVybiAkdGhpcy0+RG9BY3Rpb24oJ3Byb2Nlc3NfcGF5bWVudCcsJ2NudG50MDEnLCRwYXJhbXMpOwogfQoKIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgQ2hlY2tJbmZvKCkKICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogcHVibGljIGZ1bmN0aW9uIENoZWNrSW5mbygpCiB7CiAgIC8vIFRPRE86IGZpbGwgdGhpcyBpbi4KICAgcmV0dXJuIFRSVUU7CiB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBFbmQgTmV3IE1ldGhvZHMgZnJvbSBDR1BheW1lbnRHYXRld2F5QmFzZQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoKLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIEdldEZvcm0oKQogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KcHVibGljIGZ1bmN0aW9uIEdldEZvcm0oJHJldHVybmlkKQp7CiAgaWYoICEkdGhpcy0+Q2hlY2tJbmZvKCkgKSByZXR1cm4gRkFMU0U7Ci8qICAkbG9naW5pZCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdsb2dpbmlkJyk7CiAgJHRyYW5zYWN0aW9ua2V5ID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3RyYW5zYWN0aW9ua2V5Jyk7CiAgaWYoIGVtcHR5KCRsb2dpbmlkKSB8fCBlbXB0eSgkdHJhbnNhY3Rpb25rZXkpICkKICAgIHsKCXJldHVybiAkdGhpcy0+RGlzcGxheUVycm9yTWVzc2FnZSgkdGhpcy0+R2V0TmFtZSgpLic6ICcuJHRoaXMtPkxhbmcoJ2Vycm9yX2NvbmZpZ3VyYXRpb24nKSk7CiAgICB9CiovICAKICAka2V5ID0gJHRoaXMtPlNhdmVTdGF0ZSh0cnVlKTsKCiAgZ2xvYmFsICRnQ21zOwogICRzbWFydHkgPSYgJGdDbXMtPkdldFNtYXJ0eSgpOwogICRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywKCQkgICAgJHRoaXMtPkNHQ3JlYXRlRm9ybVN0YXJ0KCdjbnRudDAxJywncHJvY2VzcycsJHJldHVybmlkLAoJCQkJCSAgICAgYXJyYXkoJ2tleSc9PiRrZXkpKSk7CiAgJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKCQkgICAgCgkJCQkJICAgICAKICAvLyBhbmQgcHJvY2VzcyB0aGUgdGVtcGxhdGUuCiAgcmV0dXJuICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ25ld2Zvcm0udHBsJyk7Cn0KCgoKICBmdW5jdGlvbiBHZXRGb3JtT2xkKCRyZXR1cm5pZCkKCXsKCS8vIGZvcmNlIGh0dHBzPwoJJGlkID0gJ2NudG50MDcnOwoJCQoJJGtleSA9ICR0aGlzLT5TYXZlU3RhdGUodHJ1ZSk7CgoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdmb3JtX3N0YXJ0JywJJHRoaXMtPkNyZWF0ZUZyb250ZW5kRm9ybVN0YXJ0KCRpZCwkcmV0dXJuaWQsJ3Byb2Nlc3MnLCdwb3N0JywKCQknJyxmYWxzZSwnJyxhcnJheSgna2V5Jz0+JGtleSkpKTsKCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3Byb21wdF9jYXJkJywkdGhpcy0+TGFuZygncHJvbXB0X2NhcmQnKSk7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3Byb21wdF9leHBpcmF0aW9uJywkdGhpcy0+TGFuZygncHJvbXB0X2V4cGlyYXRpb24nKSk7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3Byb21wdF9jdnYnLCR0aGlzLT5MYW5nKCdwcm9tcHRfY3Z2JykpOwoJCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X2NhcmQnLCAgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdjYXJkX251bWJlcicsJycsMTYsMTkpKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRfY3Z2JywgICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnY3Z2JywnJywzLDUpKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbignc3VibWl0JywkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnc3VibWl0JywgJHRoaXMtPkxhbmcoJ3N1Ym1pdCcpKSk7CgkkbW9uID0gYXJyYXkoKTsKCSR5ZWFyID0gYXJyYXkoKTsKCWZvciAoJGk9MTskaTwxMzskaSsrKQoJCXsKCQkkbW4gPSAnJy4oJGk8MTA/JzAnOicnKS4kaTsKCQkkbW9uWyRtbl0gPSAkaTsKCQl9CgkkeXIgPSBkYXRlKCdZJyk7Cglmb3IgKCRpPSR5cjskaTwoJHlyKzExKTskaSsrKQoJCXsKCQkkeWVhclskaV09JGk7CgkJfQoJCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X2V4cGlyYXRpb24nLCAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICdleHBfbW9udGgnLCAkbW9uKS4gJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCAnZXhwX3llYXInLCAkeWVhcikpOwoJcmV0dXJuICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2Zvcm0udHBsJyk7Cgl9CgogIGZ1bmN0aW9uIFNldEN1cnJlbmN5Q29kZSgkY29kZSA9ICdVU0QnKQogIHsKICAgICR0aGlzLT5fZGF0YVsnY3VycmVuY3ljb2RlJ10gPSBzdHJ0b3VwcGVyKCRjb2RlKTsKICB9CgoKICBmdW5jdGlvbiBTZXRTdWNjZXNzVVJMKCR1cmwpCiAgewogICAgJHRoaXMtPl9kYXRhWydzdWNjZXNzdXJsJ10gPSAkdXJsOwogIH0KCgogIGZ1bmN0aW9uIFNldFN1Y2Nlc3NQYWdlKCRwYWdlKQogIHsKICAgICR0aGlzLT5fZGF0YVsnc3VjY2Vzc3BhZ2UnXSA9ICRwYWdlOwogIH0KCgogIGZ1bmN0aW9uIFNldENhbmNlbFVSTCgkdXJsKQogIHsKICAgICR0aGlzLT5fZGF0YVsnY2FuY2VsdXJsJ10gPSAkdXJsOwogIH0KCgogIGZ1bmN0aW9uIFNldENhbmNlbFBhZ2UoJHBhZ2UpCiAgewogICAgJHRoaXMtPl9kYXRhWydjYW5jZWxwYWdlJ10gPSAkcGFnZTsKICB9CgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEFkZEl0ZW0oKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIHB1YmxpYyBmdW5jdGlvbiBBZGRJdGVtKCRuYW1lLCRudW1iZXIsJHF1YW50aXR5LCR3ZWlnaHQsJGFtb3VudCwkdGF4ID0gJycpCiAgewogICAgJG5hbWUgPSBzdHJpcF90YWdzKCRuYW1lKTsKICAgICRuYW1lID0gcHJlZ19yZXBsYWNlKCcvXCYuKlw7LycsJycsJG5hbWUpOwogICAgJG5hbWUgPSB0cmltKCRuYW1lKTsKCiAgICBpZiggIWlzc2V0KCR0aGlzLT5fZGF0YVsnaXRlbXMnXSkgKQogICAgICB7CgkkdGhpcy0+X2RhdGFbJ2l0ZW1zJ10gPSBhcnJheSgpOwogICAgICB9CgogICAgaWYoICFpc3NldCgkdGhpcy0+X2l0ZW1zWyRuYW1lXSkgKQogICAgICB7CgkkdGhpcy0+X2RhdGFbJ2l0ZW1zJ11bJG5hbWVdID0gYXJyYXkoJ25hbWUnPT4kbmFtZSwKCQkJCSAgICAgJ251bWJlcic9PiRudW1iZXIsCgkJCQkgICAgICdxdWFudGl0eSc9PiRxdWFudGl0eSwKCQkJCSAgICAgJ3dlaWdodCc9PiR3ZWlnaHQsCgkJCQkgICAgICdhbW91bnQnPT4kYW1vdW50KTsKCWlmKCFlbXB0eSgkdGF4KSkKCSAgewoJICAgICR0aGlzLT5fZGF0YVsnaXRlbXMnXVskbmFtZV1bJ3RheCddID0gJHRheDsKCSAgfQogICAgICB9CiAgfQoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBTZXRPcmRlckRlc2NyaXB0aW9uKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBwdWJsaWMgZnVuY3Rpb24gU2V0T3JkZXJEZXNjcmlwdGlvbigkdHh0KQogIHsKICAgICR0aGlzLT5fZGF0YVsnZGVzY3JpcHRpb24nXSA9IHN1YnN0cigkdHh0LDAsMjU1KTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBTZXRPcmRlclRheEFtb3VudCgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgcHVibGljIGZ1bmN0aW9uIFNldE9yZGVyVGF4QW1vdW50KCR0YXgpCiAgewogICAgJHRoaXMtPl9kYXRhWydvcmRlcnRheCddID0gJHRheDsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBTZXRPcmRlclNoaXBwaW5nKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBwdWJsaWMgZnVuY3Rpb24gU2V0T3JkZXJTaGlwcGluZygkc2hpcHBpbmcpCiAgewogICAgJHRoaXMtPl9kYXRhWydvcmRlcnNoaXBwaW5nJ10gPSAkc2hpcHBpbmc7CiAgfQoKCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIFNldEludm9pY2UoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIHB1YmxpYyBmdW5jdGlvbiBTZXRJbnZvaWNlKCRpbnZvaWNlKQogIHsKICAgICRsZW4gPSBtaW4oc3RybGVuKCRpbnZvaWNlKSwyMCkqLTE7CiAgICAkdGhpcy0+X2RhdGFbJ2ludm9pY2UnXSA9IHN1YnN0cigkaW52b2ljZSwkbGVuKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBTZXRPcmRlcklEKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBwdWJsaWMgZnVuY3Rpb24gU2V0T3JkZXJJRCgkb3JkZXJpZCkKICB7CiAgICAkdGhpcy0+X2RhdGFbJ29yZGVyaWQnXSA9ICRvcmRlcmlkOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldE9yZGVySUQoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIHB1YmxpYyBmdW5jdGlvbiBHZXRPcmRlcklEKCkKICB7CiAgICBpZiggaXNzZXQoJHRoaXMtPl9kYXRhWydvcmRlcmlkJ10pICkKICAgICAgcmV0dXJuICR0aGlzLT5fZGF0YVsnb3JkZXJpZCddOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIFNldFBheW1lbnRpZCgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgcHVibGljIGZ1bmN0aW9uIFNldFBheW1lbnRpZCgkcGF5bWVudGlkKQogIHsKICAgICR0aGlzLT5fZGF0YVsncGF5bWVudGlkJ10gPSAkcGF5bWVudGlkOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldFBheW1lbnRJRCgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgcHVibGljIGZ1bmN0aW9uIEdldFBheW1lbnRJRCgpCiAgewogICAgaWYoIGlzc2V0KCR0aGlzLT5fZGF0YVsncGF5bWVudGlkJ10pICkKICAgICAgcmV0dXJuICR0aGlzLT5fZGF0YVsncGF5bWVudGlkJ107CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgU2V0VHJhbnNhY3Rpb25JZCgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgcHVibGljIGZ1bmN0aW9uIFNldFRyYW5zYWN0aW9uSWQoJHRpZCkKICB7CiAgICAkdGhpcy0+X2RhdGFbJ3RyYW5zYWN0aW9uX2lkJ10gPSAkdGlkOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIFNldFRyYW5zYWN0aW9uU3RhdHVzKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBwdWJsaWMgZnVuY3Rpb24gU2V0VHJhbnNhY3Rpb25TdGF0dXMoJHN0YXR1cykKICB7CiAgICAkdGhpcy0+X2RhdGFbJ3N0YXR1cyddID0gJHN0YXR1czsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBTZXRUcmFuc2FjdGlvbkFtb3VudCgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgcHVibGljIGZ1bmN0aW9uIFNldFRyYW5zYWN0aW9uQW1vdW50KCR0aWQpCiAgewogICAgJHRoaXMtPl9kYXRhWydhbW91bnQnXSA9ICR0aWQ7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgU2V0RXJyb3IoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIHB1YmxpYyBmdW5jdGlvbiBTZXRFcnJvcigkbWVzc2FnZSkKICB7CiAgICAkdGhpcy0+X2RhdGFbJ3N0YXR1cyddID0gUEFZTUVOVF9TVEFUVVNfRVJST1I7CiAgICAkdGhpcy0+X2RhdGFbJ2Vycm9yX21lc3NhZ2UnXSA9ICRtZXNzYWdlOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIFNldENhbmNlbGxlZCgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgcHVibGljIGZ1bmN0aW9uIFNldENhbmNlbGxlZCgkbWVzc2FnZSkKICB7CiAgICAkdGhpcy0+X2RhdGFbJ3N0YXR1cyddID0gUEFZTUVOVF9TVEFUVVNfQ0FOQ0VMTEVEOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIFJlc2V0KCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBwdWJsaWMgZnVuY3Rpb24gUmVzZXQoKQogIHsKICAgICR0aGlzLT5fZGF0YSA9IGFycmF5KCk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgU2V0RGVjbGluZWQoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIHB1YmxpYyBmdW5jdGlvbiBTZXREZWNsaW5lZCgkbWVzc2FnZT0nJykKICB7CiAgICAkdGhpcy0+X2RhdGFbJ3N0YXR1cyddID0gUEFZTUVOVF9TVEFUVVNfREVDTElORUQ7CglpZiAoJG1lc3NhZ2UgPT0gJycpCgkJewogICAgCSR0aGlzLT5fZGF0YVsnZXJyb3JfbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX3BheW1lbnRfZGVjbGluZWQnKTsKCQl9CgllbHNlCgkJewoJCSR0aGlzLT5fZGF0YVsnZXJyb3JfbWVzc2FnZSddID0gJG1lc3NhZ2U7CQoJCX0KICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRUcmFuc2FjdGlvblN0YXR1cygpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgcHVibGljIGZ1bmN0aW9uIEdldFRyYW5zYWN0aW9uU3RhdHVzKCkKICB7CiAgICBpZiggaXNzZXQoJHRoaXMtPl9kYXRhWydzdGF0dXMnXSkgKQogICAgICByZXR1cm4gJHRoaXMtPl9kYXRhWydzdGF0dXMnXTsKICAgIHJldHVybiBGQUxTRTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRUcmFuc2FjdGlvbklkKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBwdWJsaWMgZnVuY3Rpb24gR2V0VHJhbnNhY3Rpb25JZCgpCiAgewogICAgaWYoIGlzc2V0KCR0aGlzLT5fZGF0YVsndHJhbnNhY3Rpb25faWQnXSkgKQogICAgICByZXR1cm4gJHRoaXMtPl9kYXRhWyd0cmFuc2FjdGlvbl9pZCddOwogICAgcmV0dXJuIEZBTFNFOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldFRyYW5zYWN0aW9uQW1vdW50KCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBwdWJsaWMgZnVuY3Rpb24gR2V0VHJhbnNhY3Rpb25BbW91bnQoKQogIHsKICAgIGlmKCBpc3NldCgkdGhpcy0+X2RhdGFbJ2Ftb3VudCddKSApCiAgICAgIHJldHVybiAkdGhpcy0+X2RhdGFbJ2Ftb3VudCddOwogICAgcmV0dXJuIEZBTFNFOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldE1lc3NhZ2UoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIHB1YmxpYyBmdW5jdGlvbiBHZXRNZXNzYWdlKCkKICB7CiAgICBpZiggaXNzZXQoJHRoaXMtPl9kYXRhWydlcnJvcl9tZXNzYWdlJ10pICkKICAgICAgcmV0dXJuICR0aGlzLT5fZGF0YVsnZXJyb3JfbWVzc2FnZSddOwogICAgcmV0dXJuIEZBTFNFOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEZpbmlzaFRyYW5zYWN0aW9uKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBwdWJsaWMgZnVuY3Rpb24gRmluaXNoVHJhbnNhY3Rpb24oKQogIHsKICAgIGlmKCAhaXNzZXQoJHRoaXMtPl9kYXRhWydkZXN0aW5hdGlvbiddKSApIHJldHVybiBGQUxTRTsKICAgICRrZXkgPSAkdGhpcy0+U2F2ZVN0YXRlKCk7CiAgICAkdXJsID0gJHRoaXMtPl9kYXRhWydkZXN0aW5hdGlvbiddOwogICAgJHVybCA9IGh0bWxfZW50aXR5X2RlY29kZSgkdXJsKTsKICAgICR1cmwgLj0gIiZjbnRudDAxZGF0YWtleT0ka2V5IjsKICAgIHJlZGlyZWN0KCR1cmwpOwogIH0KCgoKICBmdW5jdGlvbiBTZXRSZXR1cm5TdGF0dXMoJHN0YXR1cykKICB7CiAgICBpZiggIWlzc2V0KCRfU0VTU0lPTlsnZ2F0ZXdheV9yZXR1cm5fcGFyYW1zJ10pICkKICAgICAgewoJJF9TRVNTSU9OWydnYXRld2F5X3JldHVybl9wYXJhbXMnXSA9IGFycmF5KCk7CiAgICAgIH0KICAgICRfU0VTU0lPTlsnZ2F0ZXdheV9yZXR1cm5fcGFyYW1zJ11bJ3N0YXR1cyddID0gJHN0YXR1czsKICB9CgoKICBmdW5jdGlvbiBHZXRSZXR1cm5TdGF0dXMoKQogIHsKICAgIGlmKCAhaXNzZXQoJF9TRVNTSU9OWydnYXRld2F5X3JldHVybl9wYXJhbXMnXSkgKSByZXR1cm4gZmFsc2U7CiAgICBpZiggIWlzc2V0KCRfU0VTU0lPTlsnZ2F0ZXdheV9yZXR1cm5fcGFyYW1zJ11bJ3N0YXR1cyddKSApIHJldHVybiBmYWxzZTsKICAgIHJldHVybiAkX1NFU1NJT05bJ2dhdGV3YXlfcmV0dXJuX3BhcmFtcyddWydzdGF0dXMnXTsKICB9CgoKICBmdW5jdGlvbiBTZXRSZXR1cm5UcmFuc2FjdGlvbklEKCR0eCkKICB7CiAgICBpZiggIWlzc2V0KCRfU0VTU0lPTlsnZ2F0ZXdheV9yZXR1cm5fcGFyYW1zJ10pICkKICAgICAgewoJJF9TRVNTSU9OWydnYXRld2F5X3JldHVybl9wYXJhbXMnXSA9IGFycmF5KCk7CiAgICAgIH0KICAgICRfU0VTU0lPTlsnZ2F0ZXdheV9yZXR1cm5fcGFyYW1zJ11bJ3RyYW5zaWQnXSA9ICR0eDsKICB9CgoKICBmdW5jdGlvbiBHZXRSZXR1cm5UcmFuc2FjdGlvbklEKCkKICB7CiAgICBpZiggIWlzc2V0KCRfU0VTU0lPTlsnZ2F0ZXdheV9yZXR1cm5fcGFyYW1zJ10pICkgcmV0dXJuIGZhbHNlOwogICAgaWYoICFpc3NldCgkX1NFU1NJT05bJ2dhdGV3YXlfcmV0dXJuX3BhcmFtcyddWyd0cmFuc2lkJ10pICkgcmV0dXJuIGZhbHNlOwogICAgcmV0dXJuICRfU0VTU0lPTlsnZ2F0ZXdheV9yZXR1cm5fcGFyYW1zJ11bJ3RyYW5zaWQnXTsKICB9CgoKICBmdW5jdGlvbiBTZXRSZXR1cm5UZXh0KCR0eHQpCiAgewogICAgaWYoICFpc3NldCgkX1NFU1NJT05bJ2dhdGV3YXlfcmV0dXJuX3BhcmFtcyddKSApCiAgICAgIHsKCSRfU0VTU0lPTlsnZ2F0ZXdheV9yZXR1cm5fcGFyYW1zJ10gPSBhcnJheSgpOwogICAgICB9CiAgICAkX1NFU1NJT05bJ2dhdGV3YXlfcmV0dXJuX3BhcmFtcyddWydkYXRhJ10gPSAkdHh0OwogIH0KCgogIGZ1bmN0aW9uIEdldFJldHVyblRyYW5zYWN0aW9uVGV4dCgpCiAgewogICAgaWYoICFpc3NldCgkX1NFU1NJT05bJ2dhdGV3YXlfcmV0dXJuX3BhcmFtcyddKSApIHJldHVybiBmYWxzZTsKICAgIGlmKCAhaXNzZXQoJF9TRVNTSU9OWydnYXRld2F5X3JldHVybl9wYXJhbXMnXVsnZGF0YSddKSApIHJldHVybiBmYWxzZTsKICAgIHJldHVybiAkX1NFU1NJT05bJ2dhdGV3YXlfcmV0dXJuX3BhcmFtcyddWydkYXRhJ107CiAgfQoKICBmdW5jdGlvbiBDbGVhcnNlc3Npb25WYXJzKCkKICB7CiAgICB1bnNldCggJF9TRVNTSU9OWydlbWd3X3N1Y2Nlc3NfdXJsJ10gKTsKICAgIHVuc2V0KCAkX1NFU1NJT05bJ2VtZ3dfY2FuY2VsX3VybCddICk7CiAgICB1bnNldCggJF9TRVNTSU9OWydlbWd3X2N1c3RvbV9maWVsZCddICk7CiAgICB1bnNldCggJF9TRVNTSU9OWydnYXRld2F5X3JldHVybl9wYXJhbXMnXSApOwogIH0KCiAgZnVuY3Rpb24gRXh0cmFjdFJlc3BvbnNlU3RyaW5nKCR0YWcsICRyZXN1bHQpCgl7CgkkcmVnZXggPSAnLzwnLiR0YWcuJz4oW148XSspPFwvJy4kdGFnLic+L2knOwoJJG1hdGNoZXMgPSBhcnJheSgpOwoJaWYgKCEgcHJlZ19tYXRjaCgkcmVnZXgsJHJlc3VsdCwgJG1hdGNoZXMpKQoJCXsKCQlyZXR1cm4gZmFsc2U7CgkJfQoJZWxzZQoJCXsKCQlyZXR1cm4gJG1hdGNoZXNbMV07CgkJfQoJfQoKfSAvLyBjbGFzcwo=]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiRsYW5nWydjaGVja291dF9idXR0b25fbWVzc2FnZSddID0gJ0NoZWNrb3V0JzsKJGxhbmdbJ2NoZWNrb3V0X21lc3NhZ2UnXSA9ICdDaGVja291dDonOwoKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0VNb25leSBHYXRld2F5JzsKCiRsYW5nWydoZWxwJ10gPSA8PDxFT1QKPGgzPldoYXQgZG9lcyBpdCBkbz88L2gzPgo8cD5UaGlzIG1vZHVsZSBpcyB1c2VkIGJ5IHRoZSBPcmRlcnMgbW9kdWxlIHRvIGNvbXBsZXRlIHB1cmNoYXNlcyB1c2luZyBFTW9uZXkuICBUaGUgbW9kdWxlIHVzZXMgdGhlIHNpbXBsZQoJcmVkaXJlY3QgbWV0aG9kIGZvciBjb21wbGV0aW5nIGEgcHVyY2hhc2UuIEFmdGVyIGEgc3VjY2Vzc2Z1bCBjaGVja291dCwgdGhleSB3aWxsIHJlZGlyZWN0IGJhY2sgdG8gdGhlIE9yZGVycyBtb2R1bGUKCXRvIHNob3cgdGhlIGNoZWNrb3V0IHJlY2VpcHQgcGFnZS4gIFNlZSBodHRwOi8vY2FsZ3V5MTAwMC5jb20vQmxvZ3MvOC82MC9jbXNtcy1xdWljay1lLWNvbW1lcmNlLWhvdy10by5odG1sIAoJZm9yIG1vcmUgaW5mb3JtYXRpb24gb24gaG93IHRvCglzZXR1cCB0aGUgQ2FydCwgT3JkZXJzIGFuZCBvdGhlciBhc3NvY2lhdGVkIG1vZHVsZXMuPC9wPgo8aDM+SG93IERvIEkgdXNlIEl0PC9oMz4KPHA+VGhpcyBtb2R1bGUgb25seSB3b3JrcyBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBPcmRlcnMgbW9kdWxlLiBQbGFjaW5nIDxjb2RlPntjbXNfbW9kdWxlIG1vZHVsZT0nRU1vbmV5R2F0ZXdheScgb3JkZXJfaWQ9XCRvcmRlcl9pZH08L2NvZGU+IAoJaW4geW91ciBQYXltZW50IFRlbXBsYXRlIG9mIHRoZSBPcmRlcnMgbW9kdWxlIHdpbGwgc2hvdyB0aGUgYnV0dG9uIHRvIGNoZWNrb3V0IHdpdGggRU1vbmV5LjwvcD4KPGgzPkNyZWRpdHM8L2gzPgo8cD5UaGlzIG1vZHVsZSB3YXMgc3BvbnNvcmVkIGJ5IEJlbiBWLiBCb25vcmEgYXQgSjIgR29sZiBNYXJrZXRpbmcuPC9wPgo8aDM+U3VwcG9ydDwvaDM+CjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4KPHVsPgo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQsIHBsZWFzZSB2aXNpdCB0aGUgQ01TIE1hZGUgU2ltcGxlICA8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnIj5EZXZlbG9wZXIgRm9yZ2U8L2E+LjwvbGk+CjxsaT5UbyBvYnRhaW4gY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2Ugc2VuZCBhbiBlbWFpbCB0byB0aGUgYXV0aG9yIGF0IDxhIGhyZWY9Im1haWx0bzpzamdAY21zbW9kdWxlcy5jb20iPiZsdDtzamdAY21zbW9kdWxlcy5jb20mZ3Q7PC9hPi48L2xpPgo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+CjxsaT5UaGUgYXV0aG9yIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zIj5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+CjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseSAuPC9saT4KPC91bD4KPHA+QVMgUEVSIFRIRSBHTlUgUFVCTElDIExJQ0VOU0UsIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQVMtSVMsIFdJVEggTk8gV0FSUkFOVFkuIFBMRUFTRSBSRUFEIFRIRSBURVhUCk9GIFRIRSBMSUNFTlNFIEZPUiBUSEUgRlVMTCBESVNDTEFJTUVSLjwvcD4KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+CjxwPkNvcHlyaWdodCAmY29weTsgMjAwOCwgU2FtdWVsIEdvbGRzdGVpbiA8YSBocmVmPSJtYWlsdG86c2pnQGNtc21vZHVsZXMuY29tIj4mbHQ7c2pnQGNtc21vZHVsZXMuY29tJmd0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4KPHA+VGhpcyBtb2R1bGUgaGFzIGJlZW4gcmVsZWFzZWQgdW5kZXIgdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+R05VIFB1YmxpYyBMaWNlbnNlPC9hPi4gWW91IG11c3QgYWdyZWUgdG8gdGhpcyBsaWNlbnNlIGJlZm9yZSB1c2luZyB0aGUgbW9kdWxlLjwvcD4KRU9UOwokbGFuZ1snY2hhbmdlbG9nJ10gPSA8PDxFT1QKPHVsPgo8bGk+di4gMi4wIC0gOCBEZWMgMjAwOSwgU2pHLiBSZXdyaXR0ZW4gZm9yIG5ldyBDYWxndXkncyBuZXcgT2JqZWN0LU9yaWVudGVkIE9yZGVycyBmcmFtZXdvcmsuPC9saT4KPGxpPnYuIDEuMC4yIC0gOCBKYW4gMjAwOSwgU2pHLiBBZGRlZCBtb3JlIGRlYnVnIGluZm9ybWF0aW9uIGZvciBmYWlsZWQgY29ubmVjdGlvbnMuPC9saT4KPGxpPnYuIDEuMC4xIC0gOCBEZWMgMjAwOCwgU2pHLiBCdWcgZml4IGZvciBDVlYgdmFsaWRhdGlvbi48L2xpPgo8bGk+di4gMS4wIC0gMjIgTm92IDIwMDgsIFNqRy4gIEluaXRpYWwgUmVsZWFzZS48L2xpPiAKPC91bD4KRU9UOwokbGFuZ1snaGVscF9vcmRlcl9pZCddID0gJ1NwZWNpZmllcyB0aGUgb3JkZXIgaWQgb2YgdGhlIG9yZGVyIHdlXCdyZSB0cnkgdG8gY29tcGxldGUuJzsKJGxhbmdbJ3JlYWxseV91bmluc3RhbGwnXSA9ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gdW5pbnN0YWxsIHRoaXMgcGF5bWVudCBnYXRld2F5Pyc7CiRsYW5nWydwcm9kdWN0aW9uX3VybCddID0gJ0VUUyBFQ09NIFVSTCBmb3IgTGl2ZS9Qcm9kdWN0aW9uIFNpdGUnOwokbGFuZ1sndGVzdF91cmwnXSA9ICdFVFMgRUNPTSBVUkwgZm9yIFRlc3RpbmcnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdUaGUgRU1vbmV5IGdhdGV3YXkgbW9kdWxlIGhhcyBub3cgYmVlbiBpbnN0YWxsZWQuICBZb3UgY2FuIHNlbGVjdCB0aGlzIGdhdGV3YXkgbW9kdWxlIGZyb20geW91ciBPcmRlcnMgbW9kdWxlIHByZWZlcmVuY2VzIHRhYi4nOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ1RoZSBFTW9uZXkgZ2F0ZXdheSBtb2R1bGUgaGFzIG5vdyBiZWVuIHJlbW92ZWQnOwokbGFuZ1sncHJlZmVyZW5jZXMnXSA9ICdQcmVmZXJlbmNlcyc7CiRsYW5nWydhZHZhbmNlZCddID0gJ0FkdmFuY2VkIFNldHRpbmdzJzsKJGxhbmdbJ21vZGVfcHJvZHVjdGlvbiddID0gJ1Byb2R1Y3Rpb24nOwokbGFuZ1snbW9kZV90ZXN0J10gPSAnVGVzdCc7CiRsYW5nWydwcm9tcHRfbW9kZSddID0gJ1BheW1lbnQgR2F0ZXdheSBNb2RlJzsKJGxhbmdbJ3Byb21wdF9jbGllbnRpZCddID0gJ0VUUyBDbGllbnQgSWRlbnRpZmllcic7CiRsYW5nWydwcm9tcHRfbWFzdGVya2V5J10gPSAnRVRTIE1hc3RlciBLZXknOwokbGFuZ1sncHJvbXB0X2NhcmQnXSA9ICdDcmVkaXQgQ2FyZCBOdW1iZXInOwokbGFuZ1sncHJvbXB0X2V4cGlyYXRpb24nXSA9ICdDYXJkIEV4cGlyYXRpb24gRGF0ZSc7CiRsYW5nWydwcm9tcHRfdmVuZG9ybmFtZSddID0gJ1ZlbmRvciBOYW1lIHRvIHN1Ym1pdCB0byBFVFMnOwokbGFuZ1sncHJvbXB0X3ZlbmRvcmlkJ10gPSAnVmVuZG9yIElEIHRvIHN1Ym1pdCB0byBFVFMnOwokbGFuZ1sncHJvbXB0X2N2diddID0gJ0NWViBDb2RlJzsKJGxhbmdbJ3Byb21wdF9yZXF1aXJlX2N2diddID0gJ1JlcXVpcmUgQ1ZWIHRvIHZhbGlkYXRlIGZvciB0cmFuc2FjdGlvbiB0byBzdWNjZWVkJzsKJGxhbmdbJ3Byb21wdF9yZXF1aXJlX2FkZHJlc3MnXSA9ICdSZXF1aXJlIGFkZHJlc3MgdG8gdmFsaWRhdGUgZm9yIHRyYW5zYWN0aW9uIHRvIHN1Y2NlZWQnOwokbGFuZ1sncmVxdWlyZSddID0gJ1JlcXVpcmUgZm9yIFZhbGlkYXRpb24nOwokbGFuZ1snbm9yZXF1aXJlJ10gPSAnKkRvIE5vdCogUmVxdWlyZSc7CiRsYW5nWydzdWJtaXQnXSA9ICdTZW5kIFBheW1lbnQnOwokbGFuZ1snZXJyb3JfcGVybWlzc2lvbmRlbmllZCddID0gJ1Blcm1pc3Npb24gRGVuaWVkLic7CiRsYW5nWydlcnJvcl9zZWN1cml0eXZpb2xhdGlvbiddID0nRmF0YWwgRXJyb3IuIFBsZWFzZSBkbyBub3QgYXR0ZW1wdCB0byBhY2Nlc3MgdGhpcyBmaWxlIGRpcmVjdGx5Lic7CiRsYW5nWydlcnJvcl9jb25maWd1cmF0aW9uJ10gPSAnVGhpcyBtb2R1bGUgaXMgbm90IHByb3Blcmx5IGNvbmZpZ3VyZWQnOwokbGFuZ1snZXJyb3JfaGVsZF9mb3JfcmV2aWV3J10gPSAnUGF5bWVudCBoYXMgYmVlbiBoZWxkIGZvciByZXZpZXcnOwokbGFuZ1snZXJyb3JfbWlzc2luZ19kYXRhJ10gPSAnU29tZSBpbmZvcm1hdGlvbiByZXF1aXJlZCBmb3Igc3VjY2Vzc2Z1bCB0cmFuc2FjdGlvbiBwcm9jZXNzaW5nIGlzIG5vdCBzZXQnOwokbGFuZ1snZXJyb3JfcGF5bWVudF9kZWNsaW5lZCddID0gJ1BheW1lbnQgaGFzIGJlZW4gZGVjbGluZWQnOwokbGFuZ1snZXJyb3JfcmVzdG9yaW5nX3N0YXRlJ10gPSAnQSBwcm9ibGVtIG9jY3VycmVkIHJlc3RvcmluZyBnYXRld2F5IHN0YXRlIGluZm9ybWF0aW9uJzsKJGxhbmdbJ2Vycm9yX3Vua25vd24nXSA9ICdUaGUgcGF5bWVudCBnYXRld2F5IHJldHVybmVkIGFuIHVua25vd24gY29kZSc7CiRsYW5nWydjaGVja291dF9idXR0b25fbWVzc2FnZSddID0gJ0NoZWNrb3V0JzsKJGxhbmdbJ2NoZWNrb3V0X21lc3NhZ2UnXSA9ICdDaGVja291dCB1c2luZyBFTW9uZXlHYXRld2F5JzsKCgoKJGxhbmdbJ21pc3NpbmdfbGliY3VybCddID0gJ0VNb25leSBHYXRld2F5IGlzIG1pc3NpbmcgdGhlIHJlcXVpcmVkIGNVUkwgTGlicmFyaWVzISBZb3UgKm11c3QqIGhhdmUgbGliY3VybCBpbnN0YWxsZWQgZm9yIHRoaXMgbW9kdWxlIHRvIGNvbW11bmljYXRlIHdpdGggRVRTLic7CiRsYW5nWydlcnJvcl9pbnZhbGlkb3JkZXJpZCddID0gJ0ludmFsaWQgT3JkZXIgSUQhJzsKJGxhbmdbJ3ZhbGlkYXRpb25fZmFpbGVkJ10gPSAnU29ycnkhIFlvdXIgaW5mb3JtYXRpb24gd2FzIG5vdCBhcHByb3ZlZCEgUmVhc29uOiAlcyc7CiRsYW5nWydjb25uZWN0aW9uX2Vycm9yJ10gPSAnQ29ubmVjdGlvbiBmYWlsZWQgd2l0aCBIVFRQIHJlc3BvbnNlOiAlcyBhbmQgY1VSTCBlcnJvciBjb2RlICVzJzsKJGxhbmdbJ3Byb21wdF9kZWJ1Z19tb2RlJ10gPSAnV3JpdGUgY29ubmVjdGlvbiBkZWJ1ZyBpbnRvIFBIUCBlcnJvciBsb2cgKGFsd2F5cyB0cnVlIGluIHRlc3QgbW9kZSk/JzsKJGxhbmdbJ29uJ10gPSAnT24nOwokbGFuZ1snb2ZmJ10gPSAnT2ZmJzsKJGxhbmdbJ3ZhbGlkYXRpb25fZmFpbGVkX2N2diddID0gJ1NvcnJ5ISBUaGUgQ1ZWIHlvdSBwcm92aWRlZCB3YXMgbm90IHZhbGlkIGZvciB0aGF0IGNyZWRpdCBjYXJkLic7CiRsYW5nWyd2YWxpZGF0aW9uX2ZhaWxlZF9hZGRyZXNzJ10gPSAnU29ycnkhIFRoZSBhZGRyZXNzIHlvdXIgcHJvdmlkZWQgd2FzIG5vdCB2YWxpZCBmb3IgdGhhdCBjcmVkaXQgY2FyZC4nOwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoKTsKPz4=]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/form.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGZpZWxkc2V0Pgp7JGZvcm1fc3RhcnR9CjxkaXYgY2xhc3M9ImNyZWRpdGNhcmQiPgogIHskcHJvbXB0X2NhcmR9OiB7JGlucHV0X2NhcmR9ICZuYnNwOyAmbmJzcDsgeyRwcm9tcHRfY3Z2fTogeyRpbnB1dF9jdnZ9CjwvZGl2Pgo8ZGl2IGNsYXNzPSJkZXRhaWxzIj4KICB7JHByb21wdF9leHBpcmF0aW9ufTogeyRpbnB1dF9leHBpcmF0aW9ufQo8L2Rpdj4KPGJyIC8+Cnskc3VibWl0fQo8L2Zvcm0+CjwvZmllbGRzZXQ+]]></data>
	</file>
	<file>
	  <filename>/templates/newform.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9CnskZ2F0ZXdheS0+TGFuZygnY2hlY2tvdXRfbWVzc2FnZScpfTogPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9InskZ2F0ZXdheS0+TGFuZygnY2hlY2tvdXRfYnV0dG9uX21lc3NhZ2UnKX0iLz4KeyRmb3JtZW5kfQo=]]></data>
	</file>
	<file>
	  <filename>/templates/prefs.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICRlcnJvciAhPSAnJ308aDE+eyRlcnJvcn08L2gxPnsvaWZ9CnskZm9ybXN0YXJ0fQp7JHRhYmhlYWRlcnN9Cnskc3RhcnRfcHJlZmVyZW5jZXN9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9tb2RlfTwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X21vZGV9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X3ZlbmRvcm5hbWV9PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfdmVuZG9ybmFtZX08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfdmVuZG9yaWR9PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfdmVuZG9yaWR9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2NsaWVudGlkfTwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2NsaWVudGlkfTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9tYXN0ZXJrZXl9PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfbWFzdGVya2V5fTwvcD4KPC9kaXY+CnskZW5kX3RhYn0KeyRzdGFydF9hZHZhbmNlZH0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X3Byb2R1Y3Rpb25fdXJsfTwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3Byb2R1Y3Rpb25fdXJsfTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF90ZXN0X3VybH08L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF90ZXN0X3VybH08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfcmVxdWlyZV9jdnZ9PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfcmVxdWlyZV9jdnZ9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X3JlcXVpcmVfYWRkcmVzc308L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9yZXF1aXJlX2FkZHJlc3N9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2RlYnVnX21vZGV9PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfZGVidWdfbW9kZX08L3A+CjwvZGl2Pgp7JGVuZF90YWJ9CnskZW5kX3RhYnN9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRzdWJtaXR9PC9wPgo8L2Rpdj4KeyRmb3JtZW5kfQo=]]></data>
	</file>
</module>
