<?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>Zipper</name>
	<version>0.0.2</version>
  <mincmsversion>1.5.0</mincmsversion>
	<help>PGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+CjxwPlRoaXMgbW9kdWxlIGhlbHBzIG1ha2luZyB6aXAgZmlsZXMgZWFzaWx5LjwvcD4KPGgzPkhvdyBEbyBJIFVzZSBJdDwvaDM+CjxwPlRoaXMgbW9kdWxlIHJlcXVpcmVzIFppcEFyY2hpdmUgYW5kIFppcCBleHRlbnNpb24gKHNlZSBkb2M6IGh0dHA6Ly9iZTIucGhwLm5ldC9tYW51YWwvZW4vYm9vay56aXAucGhwKTwvcD4KPGgzPlVzZSBpdCBpbiBmcm9udGVuZDwvaDM+CjxwPlRvIHVzZSBpdCBpbiB0aGUgZnJvbnRlbmQsIHlvdSBoYXZlIHRvIGZvbGxvdyB0aGUgZm9sbG93aW5nIHN0ZXBzOjwvcD4KPGg0PjEuIFByZXBhcmUgdGhlIGxpc3Qgb2YgZmlsZXM8L2g0Pgo8cD5JbnZvcXVlIHRoZSBhY3Rpb24gInByZXBhcmUiICh7WmlwcGVyIGFjdGlvbj0icHJlcGFyZSIgc3RhY2s9Im15c3RhY2siIGZpbGVuYW1lPSIvbXkvcGF0aC9maWxlbmFtZS50eHQifSlmb3IgZWFjaCBmaWxlcyB5b3Ugd2FudCB0byBhZGQgaW4gdGhlIHppcCBmaWxlLiBZb3UgaGF2ZSB0byB1c2UgdGhlIHBhcmFtICJzdGFjayIgd2hpY2ggaXMgdGhlIGdsb2JhbCBuYW1lIG9mIHlvdXIgemlwIGZpbGUgYW5kIHRoZSBwYXJhbSAiZmlsZW5hbWUiIChhYnNvbHV0ZSBvciBmcm9tIHRoZSB1cGxvYWRzIHBhdGggb3IgZnJvbSB0aGUgcm9vdCBwYXRoKS4gWW91IGNhbiBhbHNvIHNwZWNpZnkgdGhlIHBhcmFtICJwYXRoIiAod2l0aCBzdGFydGluZyBhbmQgZW5kaW5nICIvIikuPC9wPgo8aDQ+Mi4gQnVpbGQgdGhlIGZpbGU8L2g0Pgo8cD5XaGVuIHlvdSBhcmUgcmVhZHksIGNhbGwgdGhlIGRlZmF1bHQgYWN0aW9uICh7WmlwcGVyIHN0YWNrPSJteXN0YWNrIn0pLiBJdCByZXR1cm4gdGhlIGZpbGVuYW1lIGluIGNhc2Ugb2Ygc3VjY2Vzcy4gWW91IGNhbiBzcGVjaWZ5IGEgZGVzaXJlZCBmaWxlbmFtZSBmb3IgdGhlIHppcCB3aXRoIHRoZSBwYXJhbSAiZmlsZW5hbWUiLjwvcD4KPGgzPkhvdyB0byB1c2UgaXQgZnJvbSBhbm90aGVyIG1vZHVsZSA/IChJbiB0aGUgY29kZSBpdHNlbGYuLi4pPC9oMz4KPHA+WW91IGNhbiB1c2UgdGhlIGZ1bmN0aW9uIFppcEFycmF5KGFycmF5ICRmaWxlcywgJGZpbGVuYW1lID0gIiIpLiBUaGUgJGZpbGVzIGFycmF5IG11c3QgYmUgYSByZWxhdGlvbmFsIDJkIGFycmF5LiBLZXlzIGFyZSB0aGUgcGF0aCBhbmQgdmFsdWUgYXJlIHRoZSBzeXN0ZW0gZmlsZW5hbWVzLjwvcD4KPHA+WW91IGNhbiBhbHNvIHVzZSB0aGUgZGlyVG9BcnJheSgkZGlyZWN0b3J5LCAkcmVjdXJzaXZlID0gdHJ1ZSwgJHBhdGggPSAiLyIpIGZ1bmN0aW9uIHRvIGdlbmVyYXRlIHRoZSBmaWxlcyBhcnJheSBmcm9tIGFuIGV4aXN0aW5nIGRpcmVjdG9yeS48L3A+CjxoMz5TdXBwb3J0PC9oMz4KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0IG9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+CjxwPkNvcHlyaWdodCAmY29weTsgMjAxMCwgSmVhbi1DaHJpc3RvcGhlIEN1dmVsaWVyIDxhIGhyZWY9Im1haWx0bzpqY2NAbW9ycmlzLWNoYXBtYW4uY29tIj4mbHQ7amNjQG1vcnJpcy1jaGFwbWFuLmNvbSZndDs8L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+CjxwPlRoaXMgbW9kdWxlIGhhcyBiZWVuIHJlbGVhc2VkIHVuZGVyIHRoZSA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPkdOVSBQdWJsaWMgTGljZW5zZTwvYT4uIFlvdSBtdXN0IGFncmVlIHRvIHRoaXMgbGljZW5zZSBiZWZvcmUgdXNpbmcgdGhlIG1vZHVsZS48L3A+PGgzPlBhcmFtZXRlcnM8L2gzPjx1bD48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBsYW5nPSJlbl9VUyIgLSBQYXJhbWV0ZXIgaXMgdXNlZCB0byBzcGVjaWZ5IHdoYXQgbGFuZ3VhZ2UgdG8gdXNlIGZvciBkaXNwbGF5IG9uIHRoZSBmcm9udGVuZC4gTm90IGFsbCBtb2R1bGVzIHN1cHBvcnQgb3IgbmVlZCB0aGlzLjwvbGk+PC91bD4=</help>
	<about>PGJyIC8+QXV0aG9yOiBKZWFuLUNocmlzdG9waGUgQ3V2ZWxpZXIgJmx0O2pjY0Btb3JyaXMtY2hhcG1hbi5jb20mZ3Q7PGJyIC8+PGJyIC8+VmVyc2lvbjogMC4wLjI8YnIgLz48YnIgLz5DaGFuZ2UgSGlzdG9yeTo8YnIgLz48dWw+CjxsaT5WZXJzaW9uIDAuMC4xIC0gMjggSnVuZSAyMDEwLiBJbml0aWFsIFJlbGVhc2UuPC9saT4KPC91bD48YnIgLz4=</about>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgovKiAtPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LQoKICAgQ29kZSBmb3IgWmlwcGVyICJkZWZhdWx0IiBhY3Rpb24KCiAgIC09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tCiAgIAogICBUeXBpY2FsbHksIHRoaXMgd2lsbCBkaXNwbGF5IHNvbWV0aGluZyBmcm9tIGEgdGVtcGxhdGUKICAgb3IgZG8gc29tZSBvdGhlciB0YXNrLgogICAKKi8KCmlmKGlzc2V0KCRwYXJhbXNbJ3N0YWNrJ10pKQp7CQoJZ2xvYmFsICRaaXBwZXI7CglpZiAoIWlzc2V0KCRaaXBwZXJbJHBhcmFtc1snc3RhY2snXV0pKQoJewoJCSRaaXBwZXJbJHBhcmFtc1snc3RhY2snXV0gPSBuZXcgWmlwcGVyT2JqZWN0KCk7Cgl9CgkKCWlmIChpc3NldCgkcGFyYW1zWydmaWxlbmFtZSddKSkKCXsKCQkkWmlwcGVyWyRwYXJhbXNbJ3N0YWNrJ11dLT5zZXRGaWxlbmFtZSgkcGFyYW1zWydmaWxlbmFtZSddKTsKCX0KCQoJaWYgKCRaaXBwZXJbJHBhcmFtc1snc3RhY2snXV0tPmhhc0NoYW5nZWQoKSkKCXsKCQlpZiAoJFppcHBlclskcGFyYW1zWydzdGFjayddXS0+WmlwUGFja2FnZSgpKQoJCXsKCQkJZWNobyAgJFppcHBlclskcGFyYW1zWydzdGFjayddXS0+Z2V0RmlsZW5hbWUoKTsKCQl9CgkJZWxzZQoJCXsKCQkJZWNobyAnPHA+JyAuICR0aGlzLT5sYW5nKCdlcnJvcl9kdXJpbmdfemlwcGluZycpLiAnPC9wPic7CgkJfQoJfQoJZWxzZQoJewoJCWVjaG8gICRaaXBwZXJbJHBhcmFtc1snc3RhY2snXV0tPmdldEZpbGVuYW1lKCk7Cgl9CgkKCQoJLy8gT0xEIFNDSE9PTAoJCS8vIAoJCS8vIGdsb2JhbCAkWmlwcGVyX1N0YWNrczsKCQkvLyAkZmlsZXMgPSAkWmlwcGVyX1N0YWNrc1skcGFyYW1zWydzdGFjayddXTsKCQkvLyAkZmlsZW5hbWUgPSBpc3NldCgkcGFyYW1zWydmaWxlbmFtZSddKT8kcGFyYW1zWydmaWxlbmFtZSddOiR0aGlzLT5HZXROYW1lKCkgLiAnLScuIHRpbWUoKSAuICcuemlwJzsKCQkvLyAkemlwX2ZpbGUgPSAkdGhpcy0+emlwQXJyYXkoJGZpbGVzLCAkZmlsZW5hbWUpOwoJCS8vIGVjaG8gWmlwcGVyT2JqZWN0OjpnZXRVcGxvYWRzVXJsKCkgLiAnLycgLiAkZmlsZW5hbWU7Cn0KZWxzZQp7CgllY2hvICc8cD4nIC4gJHRoaXMtPmxhbmcoJ2RlZmluZV9zdGFjaycpIC4gJzwvcD4nOwp9CgoKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgppZiAoISAkdGhpcy0+Q2hlY2tBY2Nlc3MoKSkKCXsKCXJldHVybiAkdGhpcy0+RGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwoJfQoKLyogLT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS0KCiAgIENvZGUgZm9yIFppcHBlciAiZGVmYXVsdGFkbWluIiBhZG1pbiBhY3Rpb24KICAgCiAgIC09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tCiAgIAogICBUeXBpY2FsbHksIHRoaXMgd2lsbCBkaXNwbGF5IHNvbWV0aGluZyBmcm9tIGEgdGVtcGxhdGUKICAgb3IgZG8gc29tZSBvdGhlciB0YXNrLgogICAKKi8KCmlmICghY2xhc3NfZXhpc3RzKCdaaXBBcmNoaXZlJykpCnsKCWVjaG8gJzxwPicgLiAkdGhpcy0+bGFuZygnemlwYXJjaGl2ZV9ub3Rmb3VuZCcpIC4gJzwvcD4nOwp9CmVsc2UKewoJCgkkcGFja2FnZSA9IG5ldyBaaXBwZXJPYmplY3QoKTsKCSRwYWNrYWdlLT5zZXRGaWxlbmFtZSgkdGhpcy0+R2V0TmFtZSgpIC4gJy0nLiAkdGhpcy0+R2V0VmVyc2lvbigpIC4gJy56aXAnKTsKCSRwYWNrYWdlLT5wYWNrYWdlID0gWmlwcGVyT2JqZWN0OjpkaXJlY3RvcnlUb1BhY2thZ2UoZGlybmFtZShfX0ZJTEVfXyksIHRydWUsICcvJyAuICAkdGhpcy0+R2V0TmFtZSgpICAuJy8nKTsKCWlmICgkcGFja2FnZS0+aGFzQ2hhbmdlZCh0cnVlKSkKCXsKCQlpZiAoISRwYWNrYWdlLT5aaXBQYWNrYWdlKCkpCgkJewoJCQllY2hvICc8cD4nIC4gJHRoaXMtPmxhbmcoJ2Vycm9yX2R1cmluZ196aXBwaW5nJykuICc8L3A+JzsKCQl9Cgl9CgkKCQoJCi8qCSR6aXBwZXJfcGF0aCA9IFppcHBlck9iamVjdDo6Z2V0VXBsb2Fkc1BhdGgoKTsKCSRmaWxlX3RvX3ppcCA9IFppcHBlck9iamVjdDo6ZGlyVG9BcnJheShkaXJuYW1lKF9fRklMRV9fKSwgdHJ1ZSwgJy8nIC4gICR0aGlzLT5HZXROYW1lKCkgIC4nLycpOwovLwkkcGFja2FnZSA9IFppcHBlck9iamVjdDo6ZGlyZWN0b3J5VG9QYWNrYWdlKGRpcm5hbWUoX19GSUxFX18pLCB0cnVlLCAnLycgLiAgJHRoaXMtPkdldE5hbWUoKSAgLicvJyk7CgovL2VjaG8gJzxwcmU+JzsJdmFyX2R1bXAoJHBhY2thZ2UpO2VjaG8gJzwvcHJlPic7CgoJJGZpbGVuYW1lID0gJHRoaXMtPkdldE5hbWUoKSAuICctJy4gJHRoaXMtPkdldFZlcnNpb24oKSAuICcuemlwJzsKCSR6aXBfZmlsZSA9ICR0aGlzLT56aXBBcnJheSgkZmlsZV90b196aXAsICRmaWxlbmFtZSk7Ki8KPz4KPHA+PD9waHAgZWNobyAkdGhpcy0+bGFuZygnbW9kdWxlX2lzX3dvcmtpbmcnKSA/PjwvcD4KPHA+PGEgaHJlZj0iPD9waHAgZWNobyBaaXBwZXJPYmplY3Q6OmdldFVwbG9hZHNVcmwoKSAuICcvJyAuICRwYWNrYWdlLT5nZXRGaWxlbmFtZSgpOyA/PiIgdGFyZ2V0PSJfbmV3Ij48P3BocCBlY2hvICR0aGlzLT5sYW5nKCdkb3dubG9hZF9tb2R1bGUnKTsgPz48L2E+PC9wPgo8P3BocCB9ID8+]]></data>
	</file>
	<file>
	  <filename>/action.prepare.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgovKiAtPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LQoKICAgQ29kZSBmb3IgWmlwcGVyICJkZWZhdWx0IiBhY3Rpb24KCiAgIC09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tCiAgIAogICBUeXBpY2FsbHksIHRoaXMgd2lsbCBkaXNwbGF5IHNvbWV0aGluZyBmcm9tIGEgdGVtcGxhdGUKICAgb3IgZG8gc29tZSBvdGhlciB0YXNrLgogICAKKi8KCmlmKGlzc2V0KCRwYXJhbXNbJ3N0YWNrJ10pICYmIGlzc2V0KCRwYXJhbXNbJ2ZpbGVuYW1lJ10pKQp7CglnbG9iYWwgJFppcHBlcjsKCWlmICghaXNzZXQoJFppcHBlclskcGFyYW1zWydzdGFjayddXSkpCgl7CgkJJFppcHBlclskcGFyYW1zWydzdGFjayddXSA9IG5ldyBaaXBwZXJPYmplY3QoKTsKCX0KCQoJaWYgKCRaaXBwZXJbJHBhcmFtc1snc3RhY2snXV0tPmFkZEZpbGUoJHBhcmFtc1snZmlsZW5hbWUnXSwgaXNzZXQoJHBhcmFtc1sncGF0aCddKT8kcGFyYW1zWydwYXRoJ106bnVsbCkpCgl7CgkJLy8gRklMRSBFWElTVFMgLyBXRSBETyBOT1RISU5HCgl9CgllbHNlCgl7CgkJZWNobyAkdGhpcy0+bGFuZygnZXJyb3Jfd2l0aF9maWxlJywgJHBhcmFtc1snZmlsZW5hbWUnXSk7Cgl9CgkKCQoJLy8gT0xEIFdBWQoJLy8gCgkvLyAkcGF0aCA9IGlzc2V0KCRwYXJhbXNbJ3BhdGgnXSk/JHBhcmFtc1sncGF0aCddOicvJzsJCgkvLyAkcGF0aCA9IHN0cl9yZXBsYWNlKCcvLycsICcvJywgJy8nIC4gJHBhdGggLiAnLycpOwoJLy8gJHBhdGggPSBzdHJfcmVwbGFjZSgnLy8nLCAnLycsICRwYXRoKTsKCS8vIAoJLy8gJFppcHBlcl9TdGFja3NbJHBhcmFtc1snc3RhY2snXV1bJHBhdGhdID0gJHBhcmFtc1snZmlsZW5hbWUnXTsKCQp9CmVsc2UKewoJZWNobyAnPHA+JyAuICR0aGlzLT5sYW5nKCdkZWZpbmVfc3RhY2tfYW5kX2ZpbGVuYW1lJykgLiAnPC9wPic7Cn0KCgo/Pg==]]></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/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1ppcHBlcic7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ1Bvc3QgSW5zdGFsbCBNZXNzYWdlLic7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnUG9zdCBVbmluc3RhbGwgTWVzc2FnZSwgZS5nLiwgIkN1cnNlcyEgRm9pbGVkIEFnYWluISInOwokbGFuZ1sncmVhbGx5X3VuaW5zdGFsbCddID0gJ1JlYWxseT8gQXJlIHlvdSBzdXJlCnlvdSB3YW50IHRvIHVuc2luc3RhbGwgdGhpcyBmaW5lIG1vZHVsZT8nOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb2R1bGUgVW5pbnN0YWxsZWQuJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ01vZHVsZSB2ZXJzaW9uICVzIGluc3RhbGxlZC4nOwokbGFuZ1sndXBncmFkZWQnXSA9ICdNb2R1bGUgdXBncmFkZWQgdG8gdmVyc2lvbiAlcy4nOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdUaGlzIG1vZHVsZSBoZWxwcyBtYWtpbmcgemlwIGZpbGVzIGVhc2lseS4nOwoKJGxhbmdbJ2Vycm9yJ10gPSAnRXJyb3IhJzsKJGxhbmRbJ2FkbWluX3RpdGxlJ10gPSAnWmlwcGVyIEFkbWluIFBhbmVsJzsKJGxhbmdbJ2FkbWluZGVzY3JpcHRpb24nXSA9ICcnOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnQWNjZXNzIERlbmllZC4gUGxlYXNlIGNoZWNrIHlvdXIgcGVybWlzc2lvbnMuJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnUG9zdCBJbnN0YWxsIE1lc3NhZ2UsIChlLmcuLCBCZSBzdXJlIHRvIHNldCAiIiBwZXJtaXNzaW9ucyB0byB1c2UgdGhpcyBtb2R1bGUhKSc7CgoKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4KPGxpPlZlcnNpb24gMC4wLjEgLSAyOCBKdW5lIDIwMTAuIEluaXRpYWwgUmVsZWFzZS48L2xpPgo8L3VsPic7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+CjxwPlRoaXMgbW9kdWxlIGhlbHBzIG1ha2luZyB6aXAgZmlsZXMgZWFzaWx5LjwvcD4KPGgzPkhvdyBEbyBJIFVzZSBJdDwvaDM+CjxwPlRoaXMgbW9kdWxlIHJlcXVpcmVzIFppcEFyY2hpdmUgYW5kIFppcCBleHRlbnNpb24gKHNlZSBkb2M6IGh0dHA6Ly9iZTIucGhwLm5ldC9tYW51YWwvZW4vYm9vay56aXAucGhwKTwvcD4KPGgzPlVzZSBpdCBpbiBmcm9udGVuZDwvaDM+CjxwPlRvIHVzZSBpdCBpbiB0aGUgZnJvbnRlbmQsIHlvdSBoYXZlIHRvIGZvbGxvdyB0aGUgZm9sbG93aW5nIHN0ZXBzOjwvcD4KPGg0PjEuIFByZXBhcmUgdGhlIGxpc3Qgb2YgZmlsZXM8L2g0Pgo8cD5JbnZvcXVlIHRoZSBhY3Rpb24gInByZXBhcmUiICh7WmlwcGVyIGFjdGlvbj0icHJlcGFyZSIgc3RhY2s9Im15c3RhY2siIGZpbGVuYW1lPSIvbXkvcGF0aC9maWxlbmFtZS50eHQifSlmb3IgZWFjaCBmaWxlcyB5b3Ugd2FudCB0byBhZGQgaW4gdGhlIHppcCBmaWxlLiBZb3UgaGF2ZSB0byB1c2UgdGhlIHBhcmFtICJzdGFjayIgd2hpY2ggaXMgdGhlIGdsb2JhbCBuYW1lIG9mIHlvdXIgemlwIGZpbGUgYW5kIHRoZSBwYXJhbSAiZmlsZW5hbWUiIChhYnNvbHV0ZSBvciBmcm9tIHRoZSB1cGxvYWRzIHBhdGggb3IgZnJvbSB0aGUgcm9vdCBwYXRoKS4gWW91IGNhbiBhbHNvIHNwZWNpZnkgdGhlIHBhcmFtICJwYXRoIiAod2l0aCBzdGFydGluZyBhbmQgZW5kaW5nICIvIikuPC9wPgo8aDQ+Mi4gQnVpbGQgdGhlIGZpbGU8L2g0Pgo8cD5XaGVuIHlvdSBhcmUgcmVhZHksIGNhbGwgdGhlIGRlZmF1bHQgYWN0aW9uICh7WmlwcGVyIHN0YWNrPSJteXN0YWNrIn0pLiBJdCByZXR1cm4gdGhlIGZpbGVuYW1lIGluIGNhc2Ugb2Ygc3VjY2Vzcy4gWW91IGNhbiBzcGVjaWZ5IGEgZGVzaXJlZCBmaWxlbmFtZSBmb3IgdGhlIHppcCB3aXRoIHRoZSBwYXJhbSAiZmlsZW5hbWUiLjwvcD4KPGgzPkhvdyB0byB1c2UgaXQgZnJvbSBhbm90aGVyIG1vZHVsZSA/IChJbiB0aGUgY29kZSBpdHNlbGYuLi4pPC9oMz4KPHA+WW91IGNhbiB1c2UgdGhlIGZ1bmN0aW9uIFppcEFycmF5KGFycmF5ICRmaWxlcywgJGZpbGVuYW1lID0gIiIpLiBUaGUgJGZpbGVzIGFycmF5IG11c3QgYmUgYSByZWxhdGlvbmFsIDJkIGFycmF5LiBLZXlzIGFyZSB0aGUgcGF0aCBhbmQgdmFsdWUgYXJlIHRoZSBzeXN0ZW0gZmlsZW5hbWVzLjwvcD4KPHA+WW91IGNhbiBhbHNvIHVzZSB0aGUgZGlyVG9BcnJheSgkZGlyZWN0b3J5LCAkcmVjdXJzaXZlID0gdHJ1ZSwgJHBhdGggPSAiLyIpIGZ1bmN0aW9uIHRvIGdlbmVyYXRlIHRoZSBmaWxlcyBhcnJheSBmcm9tIGFuIGV4aXN0aW5nIGRpcmVjdG9yeS48L3A+CjxoMz5TdXBwb3J0PC9oMz4KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0IG9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+CjxwPkNvcHlyaWdodCAmY29weTsgMjAxMCwgSmVhbi1DaHJpc3RvcGhlIEN1dmVsaWVyIDxhIGhyZWY9Im1haWx0bzpqY2NAbW9ycmlzLWNoYXBtYW4uY29tIj4mbHQ7amNjQG1vcnJpcy1jaGFwbWFuLmNvbSZndDs8L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+CjxwPlRoaXMgbW9kdWxlIGhhcyBiZWVuIHJlbGVhc2VkIHVuZGVyIHRoZSA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPkdOVSBQdWJsaWMgTGljZW5zZTwvYT4uIFlvdSBtdXN0IGFncmVlIHRvIHRoaXMgbGljZW5zZSBiZWZvcmUgdXNpbmcgdGhlIG1vZHVsZS48L3A+JzsKCiRsYW5nWyd6aXBhcmNoaXZlX25vdGZvdW5kJ10gPSAnVGhpcyBtb2R1bGUgcmVxdWlyZXMgUEhQIFppcEFyY2hpdmUgbGlicmFyeS4gUGxlYXNlIHJlYWQgdGhlIG1vZHVsZSBoZWxwIGZvciBtb3JlIGluZm9ybWF0aW9uLic7CiRsYW5nWydtb2R1bGVfaXNfd29ya2luZyddID0gJ1RoZSBtb2R1bGUgaXMgd29ya2luZy4nOwokbGFuZ1snZG93bmxvYWRfbW9kdWxlJ10gPSAnRG93bmxvYWQgdGhlIHNlbGYgZ2VuZXJhdGVkIG1vZHVsZSB6aXAgZmlsZS4nOwokbGFuZ1snZGVmaW5lX3N0YWNrX2FuZF9maWxlbmFtZSddID0gJ1BsZWFzZSBkZWZpbmUgYXQgbGVhc3QgcGFyYW1zICJTdGFjayIgYW5kICJGaWxlbmFtZSIuJzsKJGxhbmdbJ2RlZmluZV9zdGFjayddID0gJ1BsZWFzZSBkZWZpbmUgYXQgbGVhc3QgcGFyYW0gIlN0YWNrIi4nOwokbGFuZ1snZXJyb3Jfd2l0aF9maWxlJ10gPSAnRXJyb3I6IFRoZSBmaWxlICIlcyIgZG8gbm90IGV4aXN0cyc7CiRsYW5nWydlcnJvcl9kdXJpbmdfemlwcGluZyddID0gJ09NRzogQW4gZXJyb3Igb2NjdXJlZCBkdXJpbmcgdGhlICJaaXBwaW5nIiBvcGVyYXRpb24gISc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/libraries/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/classes/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/classes/ZipperObject.class.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCgkvKgoJIFppcHBlck9iamVjdCBjbGFzczogSW1wbGVtZW50IHNvbWUgZmVhdHVyZXMgZm9yIGEgWmlwcGVyIG1hbmlwdWxhdGlvbgoJCgkgYXV0aG9yOiBKZWFuLUNocmlzdG9waGUgQ3V2ZWxpZXIgLSBqY2NAbW9ycmlzLWNoYXBtYW4uY29tCgkgY29weXJpZ2h0czogSmVhbi1DaHJpc3RvcGhlIEN1dmVsaWVyIC0gTW9ycmlzICYgQ2hhcG1hbiAtIDIwMTAKCSBHUEwgTGljZW5zZQoJCgkqLwoJCgljbGFzcyBaaXBwZXJPYmplY3QgZXh0ZW5kcyBDbXNPYmplY3QKCXsKCQl2YXIgJHBhY2thZ2UgPSBhcnJheSgpOwoJCXZhciAkZmlsZW5hbWU7CgkJdmFyICRjaGVja3N1bTsKCQl2YXIgJGRlc3RpbmF0aW9uOwoJCQoJCWNvbnN0IFVQTE9BRF9QQVRIID0gJy9Nb2R1bGVzL1ppcHBlcic7CgkJCgkJcHVibGljIGZ1bmN0aW9uIGdldEZpbGVuYW1lKCkKCQl7CgkJCWlmIChlbXB0eSgkdGhpcy0+ZmlsZW5hbWUpKQoJCQl7CQkJCQoJCQkJCSR0aGlzLT5maWxlbmFtZSA9ICdaaXBwZXItJy4gdGltZSgpIC4gJy56aXAnOwoJCQl9CgkJCQoJCQlyZXR1cm4gJHRoaXMtPmZpbGVuYW1lOwoJCX0KCQkKCQlwdWJsaWMgZnVuY3Rpb24gc2V0RmlsZW5hbWUoJHZhbHVlKQoJCXsKCQkJJHRoaXMtPmZpbGVuYW1lID0gJHZhbHVlOwoJCX0KCQkKCQlwdWJsaWMgZnVuY3Rpb24gZ2V0RGVzdGluYXRpb24oKQoJCXsKCQkJcmV0dXJuIHNlbGY6OmdldFVwbG9hZHNQYXRoKCkgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJHRoaXMtPmdldEZpbGVuYW1lKCk7CgkJfQoJCQoJCXB1YmxpYyBmdW5jdGlvbiBhZGRGaWxlKCRmaWxlbmFtZSwgJHBhdGg9Jy8nKQoJCXsKCQkJJHBhdGggPSBzZWxmOjpjaGVja1ppcFBhdGgoJHBhdGgpOwoJCQkkZmlsZSA9ICR0aGlzLT5jaGVja0ZpbGUoJGZpbGVuYW1lKTsKCQkJCgkJCWlmICgkZmlsZSkKCQkJewoJCQkJJHBhY2thZ2VbJHBhdGhdW10gPSBhcnJheSgKCQkJCQknZmlsZScgPT4gJGZpbGUsIAoJCQkJCSdzdGF0JyA9PiBhcnJheV92YWx1ZXMoKGFycmF5KXN0YXQoJGZpbGUpKQoJCQkJCSk7CgkJCX0KCQkJZWxzZQoJCQl7CgkJCQlyZXR1cm4gZmFsc2U7CgkJCX0KCQl9CgkJCgkJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBjaGVja1ppcFBhdGgoJHBhdGgpCgkJewoJCQlpZiAoc3RycG9zKCRwYXRoLCAnLycpICE9IDApCgkJCXsKCQkJCSRwYXRoID0gJy8nIC4gJHBhdGg7CgkJCX0KCQkJCgkJCWlmIChzdHJwb3Moc3RycmV2KCRwYXRoKSwgJy8nKSAhPSAwKQoJCQl7CgkJCQkkcGF0aCAuPSAnLyc7CgkJCX0KCQkJCgkJCXJldHVybiAkcGF0aDsKCQl9CgkJCgkJcHVibGljIGZ1bmN0aW9uIGNoZWNrRmlsZSgkZmlsZW5hbWUpCgkJewoJCQkkY29uZmlnID0mICR0aGlzLT5nZXRDb25maWcoKTsKCQkJCgkJCWlmIChpc19maWxlKCRmaWxlbmFtZSkpCgkJCXsKCQkJCXJldHVybiAkZmlsZW5hbWU7CgkJCX0KCQkJZWxzZWlmKGlzX2ZpbGUoJGNvbmZpZ1sndXBsb2Fkc19wYXRoJ10gLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJGZpbGVuYW1lKSkKCQkJewkJCQkJCQkKCQkJCXJldHVybiAkY29uZmlnWyd1cGxvYWRzX3BhdGgnXSAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAkZmlsZW5hbWU7CgkJCX0KCQkJZWxzZWlmKGlzX2ZpbGUoJGNvbmZpZ1sncm9vdF9wYXRoJ10gLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJGZpbGVuYW1lKSkKCQkJewkJCQkJCQkKCQkJCXJldHVybiAkY29uZmlnWydyb290X3BhdGgnXSAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAkZmlsZW5hbWU7CgkJCX0KCQkJZWxzZQoJCQl7CgkJCQlyZXR1cm4gZmFsc2U7CgkJCX0KCQkJCgkJfQoJCQoJCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0VXBsb2Fkc1BhdGgoKQoJCXsKCQkJJGluc3RhbmNlID0gbmV3IHNlbGYoKTsgLy8gV29ya2Fyb3VuZCB0byBnZXQgdGhlIGNvbmZpZy4uLgoJCQkkY29uZmlnID0mICRpbnN0YW5jZS0+Z2V0Q29uZmlnKCk7IC8vICRjb25maWdbJ3VwbG9hZHNfcGF0aCddCgkJCSR6aXBwZXJfcGF0aCA9ICRjb25maWdbJ3VwbG9hZHNfcGF0aCddIC4gc2VsZjo6VVBMT0FEX1BBVEg7CgkJCQoJCQlpZiAoIWlzX2RpcigkemlwcGVyX3BhdGgpKQoJCQl7CgkJCQkJbWtkaXIoJHppcHBlcl9wYXRoLCAwNzc3LCB0cnVlKTsKCQkJfQoJCQkKCQkJcmV0dXJuICR6aXBwZXJfcGF0aDsKCQl9CgoJCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0VXBsb2Fkc1VybCgpCgkJewoJCQkJJGluc3RhbmNlID0gbmV3IHNlbGYoKTsgLy8gV29ya2Fyb3VuZCB0byBnZXQgdGhlIGNvbmZpZy4uLgoJCQkJJGNvbmZpZyA9JiAkaW5zdGFuY2UtPmdldENvbmZpZygpOyAvLyAkY29uZmlnWyd1cGxvYWRzX3BhdGgnXQoJCQkJcmV0dXJuICRjb25maWdbJ3VwbG9hZHNfdXJsJ10gLiBzZWxmOjpVUExPQURfUEFUSDsKCQl9CgkJCgkJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBkaXJUb0FycmF5KCRkaXJlY3RvcnksICRyZWN1cnNpdmUgPSB0cnVlLCAkcGF0aCA9ICcvJykKCQl7CgkJCSRkaXIgPSBzY2FuZGlyKCRkaXJlY3RvcnkpOwoJCQkkYXJyYXkgPSBhcnJheSgpOwoKCQkJZm9yZWFjaCgkZGlyIGFzICRhdG9tKQoJCQl7CgkJCQlpZiAoJGF0b20gIT0gJy4nICYmICRhdG9tICE9ICcuLicpCgkJCQl7CgkJCQkJaWYgKGlzX2ZpbGUoJGRpcmVjdG9yeSAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAkYXRvbSkpCgkJCQkJewoJCQkJCQkkYXJyYXlbJHBhdGhdW10gPSAkZGlyZWN0b3J5IC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICRhdG9tOwoJCQkJCX0KCQkJCQllbHNlaWYgKGlzX2RpcigkZGlyZWN0b3J5IC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICRhdG9tKSAmJiAkcmVjdXJzaXZlID09IHRydWUpCgkJCQkJewoJCQkJCQkJJGFycmF5ID0gYXJyYXlfbWVyZ2UoJGFycmF5LCBzZWxmOjpkaXJUb0FycmF5KAoJCQkJCQkJJGRpcmVjdG9yeSAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAkYXRvbSwgCgkJCQkJCSAgJHJlY3Vyc2l2ZSwgCgkJCQkJCSAgJHBhdGggLiAkYXRvbSAuIERJUkVDVE9SWV9TRVBBUkFUT1IKCQkJCQkJCSkpOwoJCQkJCX0KCQkJCX0KCQkJfQoJCQlyZXR1cm4gJGFycmF5OwoJCX0KCQkKCQlwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGRpcmVjdG9yeVRvUGFja2FnZSgkZGlyZWN0b3J5LCRyZWN1cnNpdmUgPSB0cnVlLCAkcGF0aCA9ICcvJykKCQl7CgkJCSRkaXIgPSBzY2FuZGlyKCRkaXJlY3RvcnkpOwoJCQkkYXJyYXkgPSBhcnJheSgpOwoKCQkJCgkJCWZvcmVhY2goJGRpciBhcyAkYXRvbSkKCQkJewoJCQkJaWYgKCRhdG9tICE9ICcuJyAmJiAkYXRvbSAhPSAnLi4nICYmIChzdHJwb3MoJGF0b20sICcuJykgPT09IGZhbHNlIHx8IHN0cnBvcygkYXRvbSwgJy4nKSAhPSAwKSkKCQkJCXsKCQkJCQlpZiAoaXNfZmlsZSgkZGlyZWN0b3J5IC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICRhdG9tKSkKCQkJCQl7CgkJCQkJCSRzdGF0ID0gc3RhdCgkZGlyZWN0b3J5IC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICRhdG9tKTsKCQkJCQkJJGFycmF5WyRwYXRoXVtdID0gYXJyYXkoJ2ZpbGUnID0+ICRkaXJlY3RvcnkgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJGF0b20sICdzdGF0JyA9PiBhcnJheSgKCQkJCQkJCSdzaXplJyA9PiAkc3RhdFsnc2l6ZSddLAoJCQkJCQkJJ210aW1lJyA9PiAkc3RhdFsnbXRpbWUnXQoJCQkJCQkJKSk7CgkJCQkJfQoJCQkJCWVsc2VpZiAoaXNfZGlyKCRkaXJlY3RvcnkgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJGF0b20pICYmICRyZWN1cnNpdmUgPT0gdHJ1ZSkKCQkJCQl7CQkJCQkJCgkJCQkJCQkkYXJyYXkgPSBhcnJheV9tZXJnZSgkYXJyYXksIHNlbGY6OmRpcmVjdG9yeVRvUGFja2FnZSgKCQkJCQkJCSRkaXJlY3RvcnkgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJGF0b20sIAoJCQkJCQkgICRyZWN1cnNpdmUsIAoJCQkJCQkgICRwYXRoIC4gJGF0b20gLiBESVJFQ1RPUllfU0VQQVJBVE9SCgkJCQkJCQkpKTsKCQkJCQl9CgkJCQl9CgkJCX0KCQkJCQoJCQlyZXR1cm4gJGFycmF5OwoJCX0KCQkKCQlwdWJsaWMgZnVuY3Rpb24gc29ydFBhY2thZ2UoKQoJCXsKCQkJa3NvcnQoJHRoaXMtPnBhY2thZ2UpOwoJCX0KCQkKCQlwdWJsaWMgZnVuY3Rpb24gWmlwUGFja2FnZSgpCgkJewoJCQlpZiAoY291bnQoJHRoaXMtPnBhY2thZ2UpID4gMCkKCQkJewoJCQkJJHppcCA9IG5ldyBaaXBBcmNoaXZlKCk7CgkJCQlpZiAoaXNfZmlsZSgkdGhpcy0+Z2V0RGVzdGluYXRpb24oKSkpIHVubGluaygkdGhpcy0+Z2V0RGVzdGluYXRpb24oKSk7CgkJCQlpZiAoJHppcC0+b3BlbigkdGhpcy0+Z2V0RGVzdGluYXRpb24oKSwgWklQQVJDSElWRTo6Q1JFQVRFKSA9PT0gVFJVRSkKCQkJCXsJCQkJCgkJCQkJZm9yZWFjaCgkdGhpcy0+cGFja2FnZSBhcyAkcGF0aCA9PiAkc3ViZmlsZXMpCgkJCQkJewoJCQkJCQlmb3JlYWNoICgkc3ViZmlsZXMgYXMgJGZpbGUpCgkJCQkJCXsKCQkJCQkJCWlmIChpc19maWxlKCRmaWxlWydmaWxlJ10pKQoJCQkJCQkJewoJCQkJCQkJCSR6aXAtPmFkZEZpbGUoJGZpbGVbJ2ZpbGUnXSwgJHBhdGggLiBiYXNlbmFtZSgkZmlsZVsnZmlsZSddKSk7CgkJCQkJCQl9CgkJCQkJCX0JCgkJCQkJfQoJCQkJCSR6aXAtPmNsb3NlKCk7CgkJCQkJCgkJCQkJLy8gQ3JlYXRlIGNoZWNrc3VtCgkJCQkJCgkJCQkJJHRoaXMtPnNhdmVDaGVja3N1bSgpOwoJCQkJCQoJCQkJCXJldHVybiB0cnVlOwoJCQkJfQoJCQl9CgkJCQoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJCQoJCXB1YmxpYyBmdW5jdGlvbiBoYXNDaGFuZ2VkKCRzaG93X2RpZmYgPSBmYWxzZSkKCQl7CgkJCSRvbGRfY2hlY2tzdW0gPSAkdGhpcy0+cmV0cmlldmVDaGVja3N1bSgpOwoJCQkkbmV3X2NoZWNrc3VtID0gJHRoaXMtPmdldENoZWNrc3VtKCk7CgkJCQoJCQlpZiAoJG9sZF9jaGVja3N1bSAhPSAkbmV3X2NoZWNrc3VtKQoJCQl7CgkJCQlpZiAoJHNob3dfZGlmZikKCQkJCXsKCQkJCQllY2hvICc8cHJlPic7CgkJCQkJdmFyX2R1bXAoYXJyYXlfZGlmZigKCQkJCQkJdW5zZXJpYWxpemUoYmFzZTY0X2RlY29kZSgkb2xkX2NoZWNrc3VtKSksCgkJCQkJCXVuc2VyaWFsaXplKGJhc2U2NF9kZWNvZGUoJG5ld19jaGVja3N1bSkpCgkJCQkJKSk7CgkJCQkJCgkJCQkKCQkJCQkJCQkJCgkJCQkJJGNoMiA9IHVuc2VyaWFsaXplKGJhc2U2NF9kZWNvZGUoJG9sZF9jaGVja3N1bSkpOwoJCQkJCSRjaDEgPSB1bnNlcmlhbGl6ZShiYXNlNjRfZGVjb2RlKCRuZXdfY2hlY2tzdW0pKTsKCQkJCQkKCQkJCQlmb3JlYWNoKCRjaDFbJ3BhY2thZ2UnXSBhcyAkcGF0aCA9PiAkZmlsZXMpCgkJCQkJewoJCQkJCQlmb3JlYWNoICgkZmlsZXMgYXMgJGtleSA9PiAkZmlsZSkKCQkJCQkJewoJCQkJCQkJJGFycmF5X2RpZmYgPSBhcnJheV9kaWZmKCRmaWxlWydzdGF0J10sICRjaDJbJ3BhY2thZ2UnXVskcGF0aF1bJGtleV1bJ3N0YXQnXSk7CgkJCQkJCQlpZiAoY291bnQoJGFycmF5X2RpZmYpID4wKQoJCQkJCQkJewoJCQkJCQkJCXZhcl9kdW1wKCRmaWxlWydmaWxlJ10pOwoJCQkJCQkJCXZhcl9kdW1wKCRjaDJbJ3BhY2thZ2UnXVskcGF0aF1bJGtleV1bJ2ZpbGUnXSk7CgkJCQkJCQkJdmFyX2R1bXAoJGFycmF5X2RpZmYpOwoJCQkJCQkJfQoJCQkJCQkJLy8gdmFyX2R1bXAoKTsKCQkJCQkJfQoJCQkJCX0KCQkJCQkJCQkJCgkJCQkJCgkJCQkJZWNobyAnPC9wcmU+JzsKCQkJCX0KCQkJCQoJCQkJcmV0dXJuIHRydWU7IC8vIFRSVUU6IENoYW5nZXMgaGF2ZSBiZWVuIG1hZGUgYmV0d2VlbiB0aGUgemlwIGNyZWF0aW9uIGFuZCB0aGlzIHBhY2thZ2UgIQoJCQl9CgkJCWVsc2UKCQkJewoJCQkJcmV0dXJuIGZhbHNlOyAvLyBGQUxTRTogVGhlIGNoZWNrc3VtIGFyZSB0aGUgc2FtZSAhIE5vIGNoYW5nZXMgZG9uZSBiZXR3ZWVuIHBhY2thZ2UgYW5kIHppcCBjb250ZW50ICEKCQkJfQoJCX0KCQkKCQlwdWJsaWMgZnVuY3Rpb24gZ2VuZXJhdGVQYWNrYWdlQ2hlY2tzdW0oKQoJCXsJCgkJCS8vJHRoaXMtPnNvcnRQYWNrYWdlKCk7CgkJCSR0aGlzLT5jaGVja3N1bSA9IGJhc2U2NF9lbmNvZGUoc2VyaWFsaXplKGFycmF5KAoJCQkJJ2Rlc3RpbmF0aW9uJyA9PiAkdGhpcy0+Z2V0RGVzdGluYXRpb24oKSwgCgkJCQkncGFja2FnZScgPT4gJHRoaXMtPnBhY2thZ2UKCQkJCSkpKTsKCQl9CgkJCgkJcHVibGljIGZ1bmN0aW9uIGdldENoZWNrc3VtKCRmb3JjZSA9IGZhbHNlKQoJCXsKCQkJaWYgKGVtcHR5KCR0aGlzLT5jaGVja3N1bSkgfHwgJGZvcmNlKQoJCQl7CgkJCQkkdGhpcy0+Z2VuZXJhdGVQYWNrYWdlQ2hlY2tzdW0oKTsKCQkJfQoJCQlyZXR1cm4gJHRoaXMtPmNoZWNrc3VtOwoJCX0KCQkKCQlwdWJsaWMgZnVuY3Rpb24gc2F2ZUNoZWNrc3VtKCkKCQl7CgkJCWZpbGVfcHV0X2NvbnRlbnRzKCR0aGlzLT5nZXREZXN0aW5hdGlvbigpIC4gJy5jaGVja3N1bScsICR0aGlzLT5nZXRDaGVja3N1bSgpKTsKCQl9CgkJCgkJcHVibGljIGZ1bmN0aW9uIHJldHJpZXZlQ2hlY2tzdW0oKQoJCXsKCQkJaWYgKGlzX2ZpbGUoJHRoaXMtPmdldERlc3RpbmF0aW9uKCkgLiAnLmNoZWNrc3VtJykpCgkJCXsKCQkJCXJldHVybiBmaWxlX2dldF9jb250ZW50cygkdGhpcy0+Z2V0RGVzdGluYXRpb24oKSAuICcuY2hlY2tzdW0nKTsKCQkJfQoJCQllbHNlCgkJCXsKCQkJCXJldHVybiBiYXNlNjRfZW5jb2RlKHNlcmlhbGl6ZShhcnJheSgpKSk7CgkJCX0KCQl9Cgl9]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSAgIEluc3RhbGwoKQoJICAgV2hlbiB5b3VyIG1vZHVsZSBpcyBpbnN0YWxsZWQsIHlvdSBtYXkgbmVlZCB0byBkbyBzb21lCgkgICBzZXR1cC4gVHlwaWNhbCB0aGluZ3MgdGhhdCBoYXBwZW4gaGVyZSBhcmUgdGhlIGNyZWF0aW9uCgkgICBhbmQgcHJlcG9wdWxhdGlvbiBvZiBkYXRhYmFzZSB0YWJsZXMsIGRhdGFiYXNlIHNlcXVlbmNlcywKCSAgIHBlcm1pc3Npb25zLCBwcmVmZXJlbmNlcywgZXRjLgoJICAgCSAgIAoJICAgRm9yIGluZm9ybWF0aW9uIG9uIHRoZSBjcmVhdGlvbiBvZiBkYXRhYmFzZSB0YWJsZXMsCgkgICBjaGVjayBvdXQgdGhlIEFET0RCIERhdGEgRGljdGlvbmFyeSBwYWdlIGF0CgkgICBodHRwOi8vcGhwbGVucy5jb20vbGVucy9hZG9kYi9kb2NzLWRhdGFkaWN0Lmh0bQoJICAgCgkgICBUaGlzIGZ1bmN0aW9uIGNhbiByZXR1cm4gYSBzdHJpbmcgaW4gY2FzZSBvZiBhbnkgZXJyb3IsCgkgICBhbmQgQ01TIHdpbGwgbm90IGNvbnNpZGVyIHRoZSBtb2R1bGUgaW5zdGFsbGVkLgoJICAgU3VjY2Vzc2Z1bCBpbnN0YWxscyBzaG91bGQgcmV0dXJuIEZBTFNFIG9yIG5vdGhpbmcgYXQgYWxsLgoJICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoJCS8qCgkJLy8gVHlwaWNhbCBEYXRhYmFzZSBJbml0aWFsaXphdGlvbgoJCSRkYiA9JiAkZ0Ntcy0+R2V0RGIoKTsKCQkKCQkvLyBteXNxbC1zcGVjaWZpYywgYnV0IGlnbm9yZWQgYnkgb3RoZXIgZGF0YWJhc2UKCQkkdGFib3B0YXJyYXkgPSBhcnJheSgnbXlzcWwnID0+ICdUWVBFPU15SVNBTScpOwoJCSRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKCQkKICAgICAgICAvLyB0YWJsZSBzY2hlbWEgZGVzY3JpcHRpb24KICAgICAgICAkZmxkcyA9ICIKCQkJaWQgSSBLRVksCgkJCWRlc2NyaXB0aW9uIEMoODApCgkJCSI7CgoJCS8vIGNyZWF0ZSBpdC4gVGhpcyBzaG91bGQgZG8gZXJyb3IgY2hlY2tpbmcsIGJ1dCBJJ20gYSBsYXp5IHNvZC4KCQkkc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfemlwcGVyIiwKCQkJCSRmbGRzLCAkdGFib3B0YXJyYXkpOwoJCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCgkJLy8gY3JlYXRlIGEgc2VxdWVuY2UKCQkkZGItPkNyZWF0ZVNlcXVlbmNlKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3ppcHBlcl9zZXEiKTsKCQkqLwoJCQoJCS8vIHBlcm1pc3Npb25zCgkJCgkJLy8gcHJlZmVyZW5jZXMKCgkJLy8gcHV0IG1lbnRpb24gaW50byB0aGUgYWRtaW4gbG9nCgkJJHRoaXMtPkF1ZGl0KCAwLCAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyksICR0aGlzLT5MYW5nKCdpbnN0YWxsZWQnLCR0aGlzLT5HZXRWZXJzaW9uKCkpKTsKCQkKPz4=]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSAgIFVuaW5zdGFsbCgpCgkgICBTb21ldGltZXMsIGFuIGV4Y2VwdGlvbmFsbHkgdW5lbmxpZ2h0ZW5lZCBvciBpZ25vcmFudAoJICAgYWRtaW4gd2lsbCB3aXNoIHRvIHVuaW5zdGFsbCB5b3VyIG1vZHVsZS4gV2hpbGUgaXQKCSAgIHdvdWxkIGJlIGJlc3QgdG8gbGF5IGludG8gdGhlc2UgaWRpb3RzIHdpdGggYSBjbHVlc3RpY2ssCgkgICB3ZSB3aWxsIGRvIHRoZSBtYWduYW5pbW91cyB0aGluZyBhbmQgcmVtb3ZlIHRoZSBtb2R1bGUKCSAgIGFuZCBjbGVhbiB1cCB0aGUgZGF0YWJhc2UsIHBlcm1pc3Npb25zLCBhbmQgcHJlZmVyZW5jZXMKCSAgIHRoYXQgYXJlIHNwZWNpZmljIHRvIGl0LgoJICAgVGhpcyBpcyB0aGUgbWV0aG9kIHdoZXJlIHdlIGRvIHRoaXMuCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCgoJCS8qCgkJLy8gVHlwaWNhbCBEYXRhYmFzZSBSZW1vdmFsCgkJJGRiID0mICRnQ21zLT5HZXREYigpOwoJCQoJCS8vIHJlbW92ZSB0aGUgZGF0YWJhc2UgdGFibGUKCQkkZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCAkZGIgKTsKCQkkc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV96aXBwZXIiICk7CgkJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKCQkvLyByZW1vdmUgdGhlIHNlcXVlbmNlCgkJJGRiLT5Ecm9wU2VxdWVuY2UoIGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3ppcHBlcl9zZXEiICk7CgkJKi8KCQkKCQkvLyByZW1vdmUgdGhlIHBlcm1pc3Npb25zCgkJCgkJCgkJLy8gcHV0IG1lbnRpb24gaW50byB0aGUgYWRtaW4gbG9nCgkJJHRoaXMtPkF1ZGl0KCAwLCAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyksICR0aGlzLT5MYW5nKCd1bmluc3RhbGxlZCcpKTsKCj8+]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSAgIFVwZ3JhZGUoKQoJICAgSWYgeW91ciBtb2R1bGUgdmVyc2lvbiBudW1iZXIgZG9lcyBub3QgbWF0Y2ggdGhlIHZlcnNpb24KCSAgIG51bWJlciBvZiB0aGUgaW5zdGFsbGVkIG1vZHVsZSwgdGhlIENNUyBBZG1pbiB3aWxsIGdpdmUKCSAgIHlvdSBhIGNoYW5jZSB0byB1cGdyYWRlIHRoZSBtb2R1bGUuIFRoaXMgaXMgdGhlIGZ1bmN0aW9uCgkgICB0aGF0IGFjdHVhbGx5IGhhbmRsZXMgdGhlIHVwZ3JhZGUuCgkgICBJZGVhbGx5LCB0aGlzIGZ1bmN0aW9uIHNob3VsZCBoYW5kbGUgdXBncmFkZXMgaW5jcmVtZW50YWxseSwKCSAgIHNvIHlvdSBjb3VsZCB1cGdyYWRlIGZyb20gdmVyc2lvbiAwLjAuMSB0byAxMC41Ljcgd2l0aAoJICAgYSBzaW5nbGUgY2FsbC4gRm9yIGEgZ3JlYXQgZXhhbXBsZSBvZiB0aGlzLCBzZWUgdGhlIE5ld3MKCSAgIG1vZHVsZSBpbiB0aGUgc3RhbmRhcmQgQ01TIGluc3RhbGwuCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCgkJJGN1cnJlbnRfdmVyc2lvbiA9ICRvbGR2ZXJzaW9uOwoJCXN3aXRjaCgkY3VycmVudF92ZXJzaW9uKQoJCXsKCQkJY2FzZSAiMS4wIjoKCQkJICAgICBicmVhazsKCQkJY2FzZSAiMS4xIjoKCQkJICAgICBicmVhazsKCQl9CgkJCgkJLy8gcHV0IG1lbnRpb24gaW50byB0aGUgYWRtaW4gbG9nCgkJJHRoaXMtPkF1ZGl0KCAwLCAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyksICR0aGlzLT5MYW5nKCd1cGdyYWRlZCcsJHRoaXMtPkdldFZlcnNpb24oKSkpOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/adminpanel.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskdGl0bGVfc2VjdGlvbn08L2gzPgo8cD5QbGFjZSB0aGUgY29udGVudHMgb2YgeW91ciBhZG1pbiBwYW5lbCBoZXJlLjwvcD4=]]></data>
	</file>
	<file>
	  <filename>/templates/error.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskdGl0bGVfZXJyb3J9PC9oMz4Ke2lmICRtZXNzYWdlIT0nJ308cD57JG1lc3NhZ2V9PC9wPnsvaWZ9]]></data>
	</file>
	<file>
	  <filename>/Zipper.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFppcHBlciAtIFRoaXMgbW9kdWxlIGhlbHBzIG1ha2luZyB6aXAgZmlsZXMgZWFzaWx5LgojIFZlcnNpb246IDAuMC4xLCBKZWFuLUNocmlzdG9waGUgQ3V2ZWxpZXIKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAxMCBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojIFRoaXMgZmlsZSBvcmlnaW5hbGx5IGNyZWF0ZWQgYnkgTW9kdWxlTWFrZXIgbW9kdWxlLCB2ZXJzaW9uIDAuMy4xCiMgQ29weXJpZ2h0IChjKSAyMDEwIGJ5IFNhbXVlbCBHb2xkc3RlaW4gKHNqZ0BjbXNtYWRlc2ltcGxlLm9yZykgCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBGb3IgSGVscCBidWlsZGluZyBtb2R1bGVzOgojIC0gUmVhZCB0aGUgRG9jdW1lbnRhdGlvbiBhcyBpdCBiZWNvbWVzIGF2YWlsYWJsZSBhdAojICAgaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy8KIyAtIENoZWNrIG91dCB0aGUgU2tlbGV0b24gTW9kdWxlIGZvciBhIGNvbW1lbnRlZCBleGFtcGxlCiMgLSBMb29rIGF0IG90aGVyIG1vZHVsZXMsIGFuZCBsZWFybiBmcm9tIHRoZSBzb3VyY2UKIyAtIENoZWNrIG91dCB0aGUgZm9ydW1zIGF0IGh0dHA6Ly9mb3J1bXMuY21zbWFkZXNpbXBsZS5vcmcKIyAtIENoYXQgd2l0aCBkZXZlbG9wZXJzIG9uIHRoZSAjY21zIElSQyBjaGFubmVsCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnJlcXVpcmVfb25jZSgnbGlicmFyaWVzL2NsYXNzZXMvWmlwcGVyT2JqZWN0LmNsYXNzLnBocCcpOwoKY2xhc3MgWmlwcGVyIGV4dGVuZHMgQ01TTW9kdWxlCnsKCXZhciAkemlwX2Vycm9ycyA9IGFycmF5KCk7CgoJZnVuY3Rpb24gR2V0TmFtZSgpCXsJCXJldHVybiAnWmlwcGVyJzsJfQoJZnVuY3Rpb24gR2V0RnJpZW5kbHlOYW1lKCkJewkJcmV0dXJuICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKTsJfQoJZnVuY3Rpb24gR2V0VmVyc2lvbigpCXsJCXJldHVybiAnMC4wLjInOwl9CglmdW5jdGlvbiBHZXRIZWxwKCkJewkJcmV0dXJuICR0aGlzLT5MYW5nKCdoZWxwJyk7CX0KCWZ1bmN0aW9uIEdldEF1dGhvcigpCXsJCXJldHVybiAnSmVhbi1DaHJpc3RvcGhlIEN1dmVsaWVyJzsJfQoJZnVuY3Rpb24gR2V0QXV0aG9yRW1haWwoKQl7CQlyZXR1cm4gJ2pjY0Btb3JyaXMtY2hhcG1hbi5jb20nOwl9CglmdW5jdGlvbiBHZXRDaGFuZ2VMb2coKQl7CQlyZXR1cm4gJHRoaXMtPkxhbmcoJ2NoYW5nZWxvZycpOwl9CglmdW5jdGlvbiBJc1BsdWdpbk1vZHVsZSgpCXsJCXJldHVybiB0cnVlOwl9CglmdW5jdGlvbiBIYXNBZG1pbigpCXsJCXJldHVybiB0cnVlOwl9CglmdW5jdGlvbiBHZXRBZG1pblNlY3Rpb24oKQl7CQlyZXR1cm4gJ2V4dGVuc2lvbnMnOwl9CglmdW5jdGlvbiBHZXRBZG1pbkRlc2NyaXB0aW9uKCkJewkJcmV0dXJuICR0aGlzLT5MYW5nKCdhZG1pbmRlc2NyaXB0aW9uJyk7CX0KCWZ1bmN0aW9uIFZpc2libGVUb0FkbWluVXNlcigpCXsgICAgICAgIHJldHVybiB0cnVlOwl9CglmdW5jdGlvbiBDaGVja0FjY2VzcygkcGVybSA9ICcnKQkJewkJcmV0dXJuICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJHBlcm0pOwkJfQoJZnVuY3Rpb24gU2V0UGFyYW1ldGVycygpCXsJCSAkdGhpcy0+UmVnaXN0ZXJNb2R1bGVQbHVnaW4oKTsJfQoKCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkgICBEaXNwbGF5RXJyb3JQYWdlKCkKCSAgIFRoaXMgaXMgYSBzaW1wbGUgZnVuY3Rpb24gZm9yIGdlbmVyYXRpbmcgZXJyb3IgcGFnZXMuCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgICBmdW5jdGlvbiBEaXNwbGF5RXJyb3JQYWdlKCRpZCwgJiRwYXJhbXMsICRyZXR1cm5faWQsICRtZXNzYWdlPScnKQogICAgewoJCSR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGVfZXJyb3InLCAkdGhpcy0+TGFuZygnZXJyb3InKSk7CgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduX2J5X3JlZignbWVzc2FnZScsICRtZXNzYWdlKTsKCiAgICAgICAgLy8gRGlzcGxheSB0aGUgcG9wdWxhdGVkIHRlbXBsYXRlCiAgICAgICAgZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdlcnJvci50cGwnKTsKICAgIH0KCQoKCgkvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJICAgR2V0RGVwZW5kZW5jaWVzKCkKCSAgIFlvdXIgbW9kdWxlIG1heSBuZWVkIGFub3RoZXIgbW9kdWxlIHRvIGFscmVhZHkgYmUgaW5zdGFsbGVkCgkgICBiZWZvcmUgeW91IGNhbiBpbnN0YWxsIGl0LgoJICAgVGhpcyBtZXRob2QgcmV0dXJucyBhIGxpc3Qgb2YgdGhvc2UgZGVwZW5kZW5jaWVzIGFuZAoJICAgbWluaW11bSB2ZXJzaW9uIG51bWJlcnMgdGhhdCB0aGlzIG1vZHVsZSByZXF1aXJlcy4KCSAgIAoJICAgSXQgc2hvdWxkIHJldHVybiBhbiBoYXNoLCBlZy4KCSAgIHJldHVybiBhcnJheSgnc29tZW1vZHVsZSc9PicxLjAnLCAnb3RoZXJtb2R1bGUnPT4nMS4xJyk7CgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCglmdW5jdGlvbiBHZXREZXBlbmRlbmNpZXMoKQoJewoJCXJldHVybiBhcnJheSgpOwoJfQoKCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkgICBNaW5pbXVtQ01TVmVyc2lvbigpCgkgICBZb3VyIG1vZHVsZSBtYXkgcmVxdWlyZSBmdW5jdGlvbnMgb3Igb2JqZWN0cyBmcm9tCgkgICBhIHNwZWNpZmljIHZlcnNpb24gb2YgQ01TIE1hZGUgU2ltcGxlLgoJICAgRXZlciBzaW5jZSB2ZXJzaW9uIDAuMTEsIHlvdSBjYW4gc3BlY2lmeSB3aGljaCBtaW5pbXVtCgkgICBDTVMgTVMgdmVyc2lvbiBpcyByZXF1aXJlZCBmb3IgeW91ciBtb2R1bGUsIHdoaWNoIHdpbGwKCSAgIHByZXZlbnQgaXQgZnJvbSBiZWluZyBpbnN0YWxsZWQgYnkgYSB2ZXJzaW9uIG9mIENNUyB0aGF0CgkgICBjYW4ndCBydW4gaXQuCgkgICAKCSAgIFRoaXMgbWV0aG9kIHJldHVybnMgYSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZQoJICAgbWluaW11bSB2ZXJzaW9uIHRoYXQgdGhpcyBtb2R1bGUgcmVxdWlyZXMuCgkgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoJZnVuY3Rpb24gTWluaW11bUNNU1ZlcnNpb24oKQoJewoJCXJldHVybiAiMS41LjAiOwoJfQoKCgkvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJICAgTWF4aW11bUNNU1ZlcnNpb24oKQoJICAgWW91IG1heSB3YW50IHRvIHByZXZlbnQgcGVvcGxlIGZyb20gdXNpbmcgeW91ciBtb2R1bGUgaW4KCSAgIGZ1dHVyZSB2ZXJzaW9ucyBvZiBDTVMgTWFkZSBTaW1wbGUsIGVzcGVjaWFsbHkgaWYgeW91CgkgICB0aGluayBBUEkgZmVhdHVyZXMgeW91IHVzZSBtYXkgY2hhbmdlIC0tIGFmdGVyIGFsbCwgeW91CgkgICBuZXZlciByZWFsbHkga25vdyBob3cgdGhlIENNUyBNUyBBUEkgY291bGQgZXZvbHZlLgoJICAgCgkgICBTbywgdG8gcHJldmVudCBwZW9wbGUgZnJvbSBmbG9vZGluZyB5b3Ugd2l0aCBidWcgcmVwb3J0cwoJICAgd2hlbiBhIG5ldyB2ZXJzaW9uIG9mIENNUyBNUyBpcyByZWxlYXNlZCwgeW91IGNhbiBzaW1wbHkKCSAgIHJlc3RyaWN0IHRoZSB2ZXJzaW9uLiBUaGVuLCBvZiBjb3Vyc2UsIHRoZSBvbnVzIGlzIG9uIHlvdQoJICAgdG8gcmVsZWFzZSBhIG5ldyB2ZXJzaW9uIG9mIHlvdXIgbW9kdWxlIHdoZW4gYSBuZXcgdmVyc2lvbgoJICAgb2YgdGhlIENNUyBpcyByZWxlYXNlZC4uLgoJICAgCgkgICBUaGlzIG1ldGhvZCByZXR1cm5zIGEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUKCSAgIG1heGltdW0gdmVyc2lvbiB0aGF0IHRoaXMgbW9kdWxlIHN1cHBvcnRzLgoJICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLypmdW5jdGlvbiBNYXhpbXVtQ01TVmVyc2lvbigpCgl7CgkJcmV0dXJuICIiOwoJfQoKKi8KCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkgICBJbnN0YWxsUG9zdE1lc3NhZ2UoKQoJICAgQWZ0ZXIgaW5zdGFsbGF0aW9uLCB0aGVyZSBtYXkgYmUgdGhpbmdzIHlvdSB3YW50IHRvCgkgICBjb21tdW5pY2F0ZSB0byB5b3VyIGFkbWluLiBUaGlzIGZ1bmN0aW9uIHJldHVybnMgYQoJICAgc3RyaW5nIHdoaWNoIHdpbGwgYmUgZGlzcGxheWVkLgoJICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoJZnVuY3Rpb24gSW5zdGFsbFBvc3RNZXNzYWdlKCkKCXsKCQlyZXR1cm4gJHRoaXMtPkxhbmcoJ3Bvc3RpbnN0YWxsJyk7Cgl9CgoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSAgIFVuaW5zdGFsbFBvc3RNZXNzYWdlKCkKCSAgIEFmdGVyIHJlbW92aW5nIGEgbW9kdWxlLCB0aGVyZSBtYXkgYmUgdGhpbmdzIHlvdSB3YW50IHRvCgkgICBjb21tdW5pY2F0ZSB0byB5b3VyIGFkbWluLiBUaGlzIGZ1bmN0aW9uIHJldHVybnMgYQoJICAgc3RyaW5nIHdoaWNoIHdpbGwgYmUgZGlzcGxheWVkLgoJICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoJZnVuY3Rpb24gVW5pbnN0YWxsUG9zdE1lc3NhZ2UoKQoJewoJCXJldHVybiAkdGhpcy0+TGFuZygncG9zdHVuaW5zdGFsbCcpOwoJfQoKCgoKCS8qKgoJICogVW5pbnN0YWxsUHJlTWVzc2FnZSgpCgkgKiBUaGlzIGFsbG93cyB5b3UgdG8gZGlzcGxheSBhIG1lc3NhZ2UgYWxvbmcgd2l0aCBhIFllcy9ObyBkaWFsb2cgYm94LiBJZiB0aGUgdXNlciByZXNwb25kcwoJICogaW4gdGhlIGFmZmlybWF0aXZlIHRvIHlvdXIgbWVzc2FnZSwgdGhlIHVuaW5zdGFsbCB3aWxsIHByb2NlZWQuIElmIHRoZXkgcmVzcG9uZCBpbiB0aGUKCSAqIG5lZ2F0aXZlLCB0aGUgdW5pbnN0YWxsIHdpbGwgYmUgY2FuY2VsZWQuIFRodXMsIHlvdXIgbWVzc2FnZSBzaG91bGQgYmUgb2YgdGhlIGZvcm0KCSAqICJBbGwgbW9kdWxlIGRhdGEgd2lsbCBiZSBkZWxldGVkLiBBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gdW5pbnN0YWxsIHRoaXMgbW9kdWxlPyIKCSAqCgkgKiBJZiB5b3UgZG9uJ3Qgd2FudCB0aGUgZGlhbG9nLCBoYXZlIHRoaXMgbWV0aG9kIHJldHVybiBhIEZBTFNFLCB3aGljaCB3aWxsIGNhdXNlIHRoZQoJICogbW9kdWxlIHRvIHVuaW5zdGFsbCBpbW1lZGlhdGVseSBpZiB0aGUgdXNlciBjbGlja3MgdGhlICJ1bmluc3RhbGwiIGxpbmsuCgkgKi8KCWZ1bmN0aW9uIFVuaW5zdGFsbFByZU1lc3NhZ2UoKQoJewoJCXJldHVybiAkdGhpcy0+TGFuZygncmVhbGx5X3VuaW5zdGFsbCcpOwoJfQoJCgkvLyBaSVBQRVIgTUVUSE9EUwoKCXB1YmxpYyBmdW5jdGlvbiBaaXBBcnJheShhcnJheSAkZmlsZXMsICRmaWxlbmFtZSA9ICcnKQoJewoJCWlmICgkZmlsZW5hbWUgPT0gJycpCgkJewoJCQkkZmlsZW5hbWUgPSAnWmlwcGVyLicgLiB0aW1lKCkgIC4gJy56aXAnOwoJCX0JCgkJCgkJJGRlc3RpbmF0aW9uID0gWmlwcGVyT2JqZWN0OjpnZXRVcGxvYWRzUGF0aCgpIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICRmaWxlbmFtZTsKCQkkY29uZmlnID0mICR0aGlzLT5nZXRDb25maWcoKTsKCQkJCgkJCQoJCWlmIChjb3VudCgkZmlsZXMpID4gMCkKCQl7CgkJCQoJCQkkemlwID0gbmV3IFppcEFyY2hpdmUoKTsKCQkJaWYgKGlzX2ZpbGUoJGRlc3RpbmF0aW9uKSkgdW5saW5rKCRkZXN0aW5hdGlvbik7CgkJCQoJCQlpZiAoJHppcC0+b3BlbigkZGVzdGluYXRpb24sIFpJUEFSQ0hJVkU6OkNSRUFURSkgPT09IFRSVUUpCgkJCXsJCQkJCgkJCQlmb3JlYWNoKCRmaWxlcyBhcyAkcGF0aCA9PiAkc3ViZmlsZXMpCgkJCQl7CgkJCQkJZm9yZWFjaCAoJHN1YmZpbGVzIGFzICRmaWxlKQoJCQkJCXsKCQkJCQkJaWYgKGlzX2ZpbGUoJGZpbGUpKQoJCQkJCQl7CgkJCQkJCQkkemlwLT5hZGRGaWxlKCRmaWxlLCAkcGF0aCAuIGJhc2VuYW1lKCRmaWxlKSk7CgkJCQkJCX0KCQkJCQkJZWxzZWlmKGlzX2ZpbGUoJGNvbmZpZ1sndXBsb2Fkc19wYXRoJ10gLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJGZpbGUpKQoJCQkJCQl7CQkJCQkJCQoJCQkJCQkJJHppcC0+YWRkRmlsZSgkY29uZmlnWyd1cGxvYWRzX3BhdGgnXSAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAkZmlsZSwgJHBhdGggLiBiYXNlbmFtZSgkZmlsZSkpOwoJCQkJCQl9CgkJCQkJCWVsc2VpZihpc19maWxlKCRjb25maWdbJ3Jvb3RfcGF0aCddIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICRmaWxlKSkKCQkJCQkJewkJCQkJCQkKCQkJCQkJCSR6aXAtPmFkZEZpbGUoJGNvbmZpZ1sncm9vdF9wYXRoJ10gLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJGZpbGUsICRwYXRoIC4gYmFzZW5hbWUoJGZpbGUpKTsKCQkJCQkJfQoJCQkJCX0KCQkJCX0KCQkJCSR6aXAtPmNsb3NlKCk7CgkJCX0KCQl9CgkJcmV0dXJuICRmaWxlbmFtZTsKCX0KCQkKfQoKPz4K]]></data>
	</file>
</module>
