<?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>ModuleUsage</name>
	<version>1.0.0</version>
    <mincmsversion>2.2.0</mincmsversion>
	<help><![CDATA[PGgzPldoYXQgZG9lcyBNb2R1bGUgVXNhZ2UgZG8/PC9oMz48cD5Nb2R1bGUgVXNhZ2UgcGVyZm9ybXMgcmVhZC1vbmx5IHN0YXRpYyBhbmFseXNpcyBvZiBmcm9udGVuZCBwYWdlIGNvbnRlbnQgYW5kIERlc2lnbiBNYW5hZ2VyIHRlbXBsYXRlcy4gSXQgaWRlbnRpZmllcyBtb2R1bGUgU21hcnR5IGNhbGxzLCBmb2xsb3dzIHN0YXRpYyB0ZW1wbGF0ZSBpbmNsdWRlcywgZXhwYW5kcyBpbnN0YWxsZWQgbW9kdWxlIGRlcGVuZGVuY2llcywgYW5kIHByZXNlbnRzIHRoZSByZXN1bHQgYnkgbW9kdWxlIG9yIGJ5IHBhZ2UvdGVtcGxhdGUuPC9wPjxwPlVzZSA8c3Ryb25nPlJlZnJlc2ggcmVwb3J0PC9zdHJvbmc+IGFmdGVyIGNoYW5naW5nIHBhZ2UgY29udGVudCwgdGVtcGxhdGVzLCBpbnN0YWxsZWQgbW9kdWxlcywgb3IgbW9kdWxlIGRlcGVuZGVuY2llcy48L3A+]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBKb2huIFNjb3RjaGVyLCB3aXRoIEFJIGFzc2lzdGFuY2UgZnJvbSBDaGF0R1BUIENvZGV4ICZsdDtqb2huQGNtc21hZGVzaW1wbGUub3JnJmd0OzxiciAvPjxiciAvPlZlcnNpb246IDEuMC4wPGJyIC8+PGJyIC8+Q2hhbmdlIEhpc3Rvcnk6PGJyIC8+PGgzPjEuMC4wPC9oMz48dWw+PGxpPkZpcnN0IHN0YWJsZSByZWxlYXNlIG9mIHRoZSBtb2R1bGUgdXNhZ2UgcmVwb3J0cyBhbmQgcGVyc2lzdGVudCBpbmRleC48L2xpPjwvdWw+PGgzPjAuMy4yPC9oMz48dWw+PGxpPkFkZGVkIHRoZSBNSVQgbGljZW5zZSBmaWxlIGFuZCBhbGlnbmVkIGF1dGhvciBhbmQgbGljZW5zZSBtZXRhZGF0YS48L2xpPjwvdWw+PGgzPjAuMy4xPC9oMz48dWw+PGxpPkFkZGVkIGNvbXBsaWFuY2UgbWV0YWRhdGEsIGRvY3VtZW50YXRpb24sIGxpY2Vuc2luZywgYW5kIGV4Y2VwdGlvbiBsb2dnaW5nLjwvbGk+PC91bD48aDM+MC4zLjA8L2gzPjx1bD48bGk+QWRkZWQgY2FjaGVkIHJlcG9ydHMgYW5kIG1hbnVhbCByZXBvcnQgcmVmcmVzaC48L2xpPjxsaT5BZGRlZCByZWN1cnNpdmUgbW9kdWxlIGRlcGVuZGVuY3kgcmVwb3J0aW5nLjwvbGk+PC91bD48aDM+MC4yLjA8L2gzPjx1bD48bGk+QWRkZWQgdGhlIHBhZ2UvdGVtcGxhdGUgcmVwb3J0IHZpZXcuPC9saT48L3VsPjxoMz4wLjEuMDwvaDM+PHVsPjxsaT5Jbml0aWFsIG1vZHVsZSB1c2FnZSBzY2FubmVyLjwvbGk+PC91bD48YnIgLz4=]]></about>
	<description><![CDATA[Find module calls in frontend pages and Design Manager templates.]]></description>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFkZWZpbmVkKCdDTVNfVkVSU0lPTicpKSBleGl0OwppZiAoISR0aGlzLT5DaGVja1Blcm1pc3Npb24oTW9kdWxlVXNhZ2U6Ok1BTkFHRV9QRVJNKSkgeyBlY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCdwZXJtaXNzaW9uZGVuaWVkJykpOyByZXR1cm47IH0KJGNhY2hlZCA9ICR0aGlzLT5HZXRDYWNoZWRSZXBvcnQoKTsKaWYgKCRjYWNoZWQgPT09IG51bGwpIHsKICAgICRyZXBvcnQgPSAobmV3IE1vZHVsZVVzYWdlU2Nhbm5lcigkdGhpcy0+R2V0RGIoKSkpLT5zY2FuKCk7CiAgICAkdGhpcy0+U2F2ZUNhY2hlZFJlcG9ydCgkcmVwb3J0KTsKICAgICRjYWNoZWQgPSAkdGhpcy0+R2V0Q2FjaGVkUmVwb3J0KCk7Cn0gZWxzZSB7CiAgICAkcmVwb3J0ID0gJGNhY2hlZFsncmVwb3J0J107Cn0KJHZpZXcgPSBpc3NldCgkcGFyYW1zWyd2aWV3J10pICYmICRwYXJhbXNbJ3ZpZXcnXSA9PT0gJ2xvY2F0aW9uJyA/ICdsb2NhdGlvbicgOiAnbW9kdWxlJzsKJGxvY2F0aW9uX3JlcG9ydCA9IFsncGFnZXMnID0+IFtdLCAndGVtcGxhdGVzJyA9PiBbXV07Cgpmb3JlYWNoICgkcmVwb3J0IGFzICRyb3cpIHsKICAgICRtb2R1bGVfbGFiZWwgPSAkcm93Wydtb2R1bGUnXTsKICAgIGlmICghZW1wdHkoJHJvd1sncmVxdWlyZWRfYnknXSkpIHsKICAgICAgICAkbW9kdWxlX2xhYmVsIC49ICcgKCcgLiAkdGhpcy0+TGFuZygncmVxdWlyZWRfYnknKSAuICc6ICcgLiBpbXBsb2RlKCcsICcsICRyb3dbJ3JlcXVpcmVkX2J5J10pIC4gJyknOwogICAgfQogICAgZm9yZWFjaCAoJHJvd1sncGFnZXMnXSBhcyAkcGFnZSkgewogICAgICAgICRrZXkgPSAoc3RyaW5nKSRwYWdlWydpZCddOwogICAgICAgIGlmICghaXNzZXQoJGxvY2F0aW9uX3JlcG9ydFsncGFnZXMnXVska2V5XSkpIHsKICAgICAgICAgICAgJGxvY2F0aW9uX3JlcG9ydFsncGFnZXMnXVska2V5XSA9ICRwYWdlICsgWydtb2R1bGVzJyA9PiBbXV07CiAgICAgICAgfQogICAgICAgICRsb2NhdGlvbl9yZXBvcnRbJ3BhZ2VzJ11bJGtleV1bJ21vZHVsZXMnXVskcm93Wydtb2R1bGUnXV0gPSAkbW9kdWxlX2xhYmVsOwogICAgfQogICAgZm9yZWFjaCAoJHJvd1sndGVtcGxhdGVzJ10gYXMgJHRlbXBsYXRlKSB7CiAgICAgICAgJGtleSA9IChzdHJpbmcpJHRlbXBsYXRlWydpZCddOwogICAgICAgIGlmICghaXNzZXQoJGxvY2F0aW9uX3JlcG9ydFsndGVtcGxhdGVzJ11bJGtleV0pKSB7CiAgICAgICAgICAgICRsb2NhdGlvbl9yZXBvcnRbJ3RlbXBsYXRlcyddWyRrZXldID0gJHRlbXBsYXRlICsgWydtb2R1bGVzJyA9PiBbXV07CiAgICAgICAgfQogICAgICAgICRsb2NhdGlvbl9yZXBvcnRbJ3RlbXBsYXRlcyddWyRrZXldWydtb2R1bGVzJ11bJHJvd1snbW9kdWxlJ11dID0gJG1vZHVsZV9sYWJlbDsKICAgIH0KfQpmb3JlYWNoICgkbG9jYXRpb25fcmVwb3J0IGFzICYkbG9jYXRpb25zKSB7CiAgICBmb3JlYWNoICgkbG9jYXRpb25zIGFzICYkbG9jYXRpb24pIHsKICAgICAgICBuYXRjYXNlc29ydCgkbG9jYXRpb25bJ21vZHVsZXMnXSk7CiAgICAgICAgJGxvY2F0aW9uWydtb2R1bGVzJ10gPSBhcnJheV92YWx1ZXMoJGxvY2F0aW9uWydtb2R1bGVzJ10pOwogICAgfQogICAgdW5zZXQoJGxvY2F0aW9uKTsKICAgIHVhc29ydCgkbG9jYXRpb25zLCBmdW5jdGlvbiAoJGEsICRiKSB7IHJldHVybiBzdHJuYXRjYXNlY21wKCRhWyduYW1lJ10sICRiWyduYW1lJ10pOyB9KTsKICAgICRsb2NhdGlvbnMgPSBhcnJheV92YWx1ZXMoJGxvY2F0aW9ucyk7Cn0KdW5zZXQoJGxvY2F0aW9ucyk7CiRzbWFydHkgPSBjbXNtcygpLT5HZXRTbWFydHkoKTsKJHRwbCA9ICRzbWFydHktPkNyZWF0ZVRlbXBsYXRlKCR0aGlzLT5HZXRUZW1wbGF0ZVJlc291cmNlKCdkZWZhdWx0YWRtaW4udHBsJyksIG51bGwsIG51bGwsICRzbWFydHkpOwokdHBsLT5hc3NpZ24oJ21vZCcsICR0aGlzKTsKJHRwbC0+YXNzaWduKCdyZXBvcnQnLCAkcmVwb3J0KTsKJHRwbC0+YXNzaWduKCdsb2NhdGlvbl9yZXBvcnQnLCAkbG9jYXRpb25fcmVwb3J0KTsKJHRwbC0+YXNzaWduKCd2aWV3JywgJHZpZXcpOwokdHBsLT5hc3NpZ24oJ2dlbmVyYXRlZCcsICRjYWNoZWQgPyAkY2FjaGVkWydnZW5lcmF0ZWQnXSA6ICcnKTsKJHRwbC0+YXNzaWduKCdtb2R1bGVfdmlld19saW5rJywgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCAkdGhpcy0+TGFuZygndmlld19ieV9tb2R1bGUnKSwgWyd2aWV3JyA9PiAnbW9kdWxlJ10pKTsKJHRwbC0+YXNzaWduKCdsb2NhdGlvbl92aWV3X2xpbmsnLCAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsICR0aGlzLT5MYW5nKCd2aWV3X2J5X2xvY2F0aW9uJyksIFsndmlldycgPT4gJ2xvY2F0aW9uJ10pKTsKJHRwbC0+YXNzaWduKCdyZWZyZXNoX2xpbmsnLCAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdyZWZyZXNocmVwb3J0JywgJHJldHVybmlkLCAkdGhpcy0+TGFuZygncmVmcmVzaF9yZXBvcnQnKSwgWyd2aWV3JyA9PiAkdmlld10sICcnLCBmYWxzZSwgZmFsc2UsICdjbGFzcz0icGFnZWJ1dHRvbiInKSk7CiR0cGwtPmRpc3BsYXkoKTsK]]></data>
	</file>
	<file>
	  <filename>/action.refreshreport.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFkZWZpbmVkKCdDTVNfVkVSU0lPTicpKSBleGl0OwppZiAoISR0aGlzLT5DaGVja1Blcm1pc3Npb24oTW9kdWxlVXNhZ2U6Ok1BTkFHRV9QRVJNKSkgewogICAgZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygncGVybWlzc2lvbmRlbmllZCcpKTsKICAgIHJldHVybjsKfQoKJHJlcG9ydCA9IChuZXcgTW9kdWxlVXNhZ2VTY2FubmVyKCR0aGlzLT5HZXREYigpKSktPnNjYW4oKTsKJHRoaXMtPlNhdmVDYWNoZWRSZXBvcnQoJHJlcG9ydCk7CiR2aWV3ID0gaXNzZXQoJHBhcmFtc1sndmlldyddKSAmJiAkcGFyYW1zWyd2aWV3J10gPT09ICdsb2NhdGlvbicgPyAnbG9jYXRpb24nIDogJ21vZHVsZSc7CiR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsIFsndmlldyc9PiR2aWV3LCAncmVmcmVzaGVkJz0+MV0pOwo=]]></data>
	</file>
	<file>
	  <filename>/docs/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/docs/CHANGELOG.md</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IyBDaGFuZ2Vsb2cKCiMjIDEuMC4wCgotIEZpcnN0IHN0YWJsZSByZWxlYXNlLgotIFJlcG9ydHMgbW9kdWxlIHVzYWdlIGJ5IG1vZHVsZSBhbmQgYnkgcGFnZS90ZW1wbGF0ZS4KLSBGb2xsb3dzIHN0YXRpYyB0ZW1wbGF0ZSBpbmNsdWRlcyBhbmQgcmVjdXJzaXZlbHkgZXhwYW5kcyBpbnN0YWxsZWQgbW9kdWxlIGRlcGVuZGVuY2llcy4KLSBTdXBwb3J0cyBwZXJzaXN0ZW50IGluZGV4aW5nIHdpdGggbWFudWFsIHJlcG9ydCByZWZyZXNoLgoKIyMgMC4zLjIKCi0gQWRkZWQgdGhlIE1JVCBsaWNlbnNlIGZpbGUgYW5kIGFsaWduZWQgYXV0aG9yLCBtYWludGFpbmVyLCBjb3B5cmlnaHQsIGFuZCBsaWNlbnNlIG1ldGFkYXRhIHdpdGggQ01TQ2diMkxpc2UuCgojIyAwLjMuMQoKLSBBZGRlZCBjb21wbGlhbmNlIG1ldGFkYXRhLCBkb2N1bWVudGF0aW9uLCBsaWNlbnNpbmcsIGFuZCBleGNlcHRpb24gbG9nZ2luZy4KCiMjIDAuMy4wCgotIEFkZGVkIHBlcnNpc3RlbnQgcmVwb3J0IGluZGV4aW5nIGFuZCBhIG1hbnVhbCBSZWZyZXNoIFJlcG9ydCBjb250cm9sLgotIEFkZGVkIHJlY3Vyc2l2ZSByZXBvcnRpbmcgb2YgaW5zdGFsbGVkIG1vZHVsZSBkZXBlbmRlbmNpZXMuCi0gQWRkZWQgbG9jYWxpemVkIGhlbHAsIGNoYW5nZWxvZywgYW5kIHVuaW5zdGFsbC13YXJuaW5nIG1ldGFkYXRhLgotIEFkZGVkIG1vZHVsZSBsaWNlbnNpbmcgbWV0YWRhdGEgYW5kIGF1ZGl0YWJsZSBkZXBlbmRlbmN5LWluc3BlY3Rpb24gZmFpbHVyZXMuCgojIyAwLjIuMAoKLSBBZGRlZCB0aGUgcGFnZS90ZW1wbGF0ZS1vcmllbnRlZCByZXBvcnQuCi0gQWRkZWQgc3RhdGljIHRlbXBsYXRlLWluY2x1ZGUgZXhwYW5zaW9uLgoKIyMgMC4xLjAKCi0gSW5pdGlhbCBtb2R1bGUgc2Nhbm5lciBhbmQgbW9kdWxlLW9yaWVudGVkIHJlcG9ydC4K]]></data>
	</file>
	<file>
	  <filename>/docs/LICENSE</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[TUlUIExpY2Vuc2UKCkNvcHlyaWdodCAoYykgMjAyNiBKb2huIFNjb3RjaGVyLCBUaGUgQ01TIE1hZGUgU2ltcGxlIEZvdW5kYXRpb24KClBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkKb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwKaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cwp0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsCmNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcwpmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgoKVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsCmNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCgpUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgpJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCkFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwKT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKU09GVFdBUkUuCg==]]></data>
	</file>
	<file>
	  <filename>/docs/README.md</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IyBNb2R1bGVVc2FnZSBkb2N1bWVudGF0aW9uCgpNb2R1bGVVc2FnZSBpcyBhbiBhZG1pbi1vbmx5LCByZWFkLW9ubHkgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZS4gSXQgaW5kZXhlcyBtb2R1bGUgcmVmZXJlbmNlcyBmb3VuZCBpbiBmcm9udGVuZCBwYWdlIHByb3BlcnRpZXMgYW5kIERlc2lnbiBNYW5hZ2VyIHRlbXBsYXRlcy4KClRoZSBwcmltYXJ5IHVzYWdlIGFuZCBpbXBsZW1lbnRhdGlvbiBkb2N1bWVudGF0aW9uIGlzIG1haW50YWluZWQgaW4gdGhlIG1vZHVsZS1yb290IGBSRUFETUUubWRgLiBUaGlzIGRpcmVjdG9yeSBpcyByZXNlcnZlZCBmb3IgcGFja2FnZWQgaGVscCwgY2hhbmdlbG9ncywgYW5kIGZ1dHVyZSByZWZlcmVuY2UgbWF0ZXJpYWwgaW4gYWNjb3JkYW5jZSB3aXRoIENNU01TIG1vZHVsZSBjb252ZW50aW9ucy4K]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ01vZHVsZSBVc2FnZSc7CiRsYW5nWydhZG1pbmRlc2NyaXB0aW9uJ10gPSAnRmluZCBtb2R1bGUgY2FsbHMgaW4gZnJvbnRlbmQgcGFnZXMgYW5kIERlc2lnbiBNYW5hZ2VyIHRlbXBsYXRlcy4nOwokbGFuZ1sncGVybWlzc2lvbmRlbmllZCddID0gJ1lvdSBkbyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIHZpZXcgdGhpcyByZXBvcnQuJzsKJGxhbmdbJ3RpdGxlJ10gPSAnRnJvbnRlbmQgbW9kdWxlIHVzYWdlJzsKJGxhbmdbJ2ludHJvJ10gPSAnUmVhZC1vbmx5IHN0YXRpYyBhbmFseXNpcyBvZiBTbWFydHkgaW4gcGFnZXMgYW5kIERlc2lnbiBNYW5hZ2VyIHRlbXBsYXRlcy4gU3RhdGljIHRlbXBsYXRlIGluY2x1ZGVzIGFuZCBpbnN0YWxsZWQgbW9kdWxlIGRlcGVuZGVuY2llcyBhcmUgZm9sbG93ZWQgd2hlbiBjYWxjdWxhdGluZyBlZmZlY3RpdmUgdXNhZ2UuJzsKJGxhbmdbJ21vZHVsZSddID0gJ01vZHVsZSc7CiRsYW5nWydjYWxscyddID0gJ0NhbGxzJzsKJGxhbmdbJ3RlbXBsYXRlcyddID0gJ1RlbXBsYXRlcyc7CiRsYW5nWydwYWdlcyddID0gJ1BhZ2VzJzsKJGxhbmdbJ2RpcmVjdF9sb2NhdGlvbnMnXSA9ICdEaXJlY3QgbG9jYXRpb25zJzsKJGxhbmdbJ25vbmVfZm91bmQnXSA9ICdObyBtb2R1bGUgY2FsbHMgd2VyZSBmb3VuZC4nOwokbGFuZ1sndmlld19ieV9tb2R1bGUnXSA9ICdCeSBtb2R1bGUnOwokbGFuZ1sndmlld19ieV9sb2NhdGlvbiddID0gJ0J5IHBhZ2UvdGVtcGxhdGUnOwokbGFuZ1sncGFnZV91c2FnZSddID0gJ1BhZ2VzIChpbmNsdWRpbmcgaW5oZXJpdGVkIHRlbXBsYXRlIHVzYWdlKSc7CiRsYW5nWyd0ZW1wbGF0ZV91c2FnZSddID0gJ1RlbXBsYXRlcyAoaW5jbHVkaW5nIHN0YXRpYyB0ZW1wbGF0ZSBpbmNsdWRlcyknOwokbGFuZ1snbG9jYXRpb24nXSA9ICdQYWdlIC8gdGVtcGxhdGUnOwokbGFuZ1snbW9kdWxlcyddID0gJ01vZHVsZXMnOwokbGFuZ1snc3RhdHVzJ10gPSAnU3RhdHVzJzsKJGxhbmdbJ2FjdGl2ZSddID0gJ0FjdGl2ZSc7CiRsYW5nWydpbmFjdGl2ZSddID0gJ0luYWN0aXZlJzsKJGxhbmdbJ2RlcGVuZGVuY2llcyddID0gJ0RlcGVuZGVuY2llcyc7CiRsYW5nWydyZXF1aXJlZF9ieSddID0gJ1JlcXVpcmVkIGJ5JzsKJGxhbmdbJ2RlcGVuZGVuY3lfb25seSddID0gJ2RlcGVuZGVuY3kgb25seSc7CiRsYW5nWydub19kZXBlbmRlbmNpZXMnXSA9ICdOb25lJzsKJGxhbmdbJ3JlZnJlc2hfcmVwb3J0J10gPSAnUmVmcmVzaCByZXBvcnQnOwokbGFuZ1snbGFzdF9pbmRleGVkJ10gPSAnTGFzdCBpbmRleGVkJzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2hhdCBkb2VzIE1vZHVsZSBVc2FnZSBkbz88L2gzPjxwPk1vZHVsZSBVc2FnZSBwZXJmb3JtcyByZWFkLW9ubHkgc3RhdGljIGFuYWx5c2lzIG9mIGZyb250ZW5kIHBhZ2UgY29udGVudCBhbmQgRGVzaWduIE1hbmFnZXIgdGVtcGxhdGVzLiBJdCBpZGVudGlmaWVzIG1vZHVsZSBTbWFydHkgY2FsbHMsIGZvbGxvd3Mgc3RhdGljIHRlbXBsYXRlIGluY2x1ZGVzLCBleHBhbmRzIGluc3RhbGxlZCBtb2R1bGUgZGVwZW5kZW5jaWVzLCBhbmQgcHJlc2VudHMgdGhlIHJlc3VsdCBieSBtb2R1bGUgb3IgYnkgcGFnZS90ZW1wbGF0ZS48L3A+PHA+VXNlIDxzdHJvbmc+UmVmcmVzaCByZXBvcnQ8L3N0cm9uZz4gYWZ0ZXIgY2hhbmdpbmcgcGFnZSBjb250ZW50LCB0ZW1wbGF0ZXMsIGluc3RhbGxlZCBtb2R1bGVzLCBvciBtb2R1bGUgZGVwZW5kZW5jaWVzLjwvcD4nOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPGgzPjEuMC4wPC9oMz48dWw+PGxpPkZpcnN0IHN0YWJsZSByZWxlYXNlIG9mIHRoZSBtb2R1bGUgdXNhZ2UgcmVwb3J0cyBhbmQgcGVyc2lzdGVudCBpbmRleC48L2xpPjwvdWw+PGgzPjAuMy4yPC9oMz48dWw+PGxpPkFkZGVkIHRoZSBNSVQgbGljZW5zZSBmaWxlIGFuZCBhbGlnbmVkIGF1dGhvciBhbmQgbGljZW5zZSBtZXRhZGF0YS48L2xpPjwvdWw+PGgzPjAuMy4xPC9oMz48dWw+PGxpPkFkZGVkIGNvbXBsaWFuY2UgbWV0YWRhdGEsIGRvY3VtZW50YXRpb24sIGxpY2Vuc2luZywgYW5kIGV4Y2VwdGlvbiBsb2dnaW5nLjwvbGk+PC91bD48aDM+MC4zLjA8L2gzPjx1bD48bGk+QWRkZWQgY2FjaGVkIHJlcG9ydHMgYW5kIG1hbnVhbCByZXBvcnQgcmVmcmVzaC48L2xpPjxsaT5BZGRlZCByZWN1cnNpdmUgbW9kdWxlIGRlcGVuZGVuY3kgcmVwb3J0aW5nLjwvbGk+PC91bD48aDM+MC4yLjA8L2gzPjx1bD48bGk+QWRkZWQgdGhlIHBhZ2UvdGVtcGxhdGUgcmVwb3J0IHZpZXcuPC9saT48L3VsPjxoMz4wLjEuMDwvaDM+PHVsPjxsaT5Jbml0aWFsIG1vZHVsZSB1c2FnZSBzY2FubmVyLjwvbGk+PC91bD4nOwokbGFuZ1sndW5pbnN0YWxsX3ByZV9tZXNzYWdlJ10gPSAnVW5pbnN0YWxsaW5nIE1vZHVsZSBVc2FnZSB3aWxsIHBlcm1hbmVudGx5IHJlbW92ZSBpdHMgY2FjaGVkIHJlcG9ydCBhbmQgcmVwb3J0LXZpZXdpbmcgcGVybWlzc2lvbi4gTm8gcGFnZXMsIHRlbXBsYXRlcywgb3Igb3RoZXIgbW9kdWxlcyB3aWxsIGJlIG1vZGlmaWVkLic7Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/class.ModuleUsageScanner.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKZmluYWwgY2xhc3MgTW9kdWxlVXNhZ2VTY2FubmVyCnsKICAgIHByaXZhdGUgJGRiLCAkbW9kdWxlcyA9IFtdLCAkcGx1Z2lucyA9IFtdLCAkZGVwZW5kZW5jeU1hcCA9IFtdOwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRkYikgeyAkdGhpcy0+ZGIgPSAkZGI7IH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2NhbigpCiAgICB7CiAgICAgICAgJHRoaXMtPmxvYWRNYXBzKCk7ICR0ZW1wbGF0ZXMgPSAkdGhpcy0+bG9hZFRlbXBsYXRlcygpOyAkcGFnZXMgPSAkdGhpcy0+bG9hZFBhZ2VzKCk7ICRyZXN1bHRzID0gW107CiAgICAgICAgZm9yZWFjaCAoJHRlbXBsYXRlcyBhcyAmJHRwbCkgewogICAgICAgICAgICAkdHBsWydjYWxscyddID0gJHRoaXMtPmZpbmRDYWxscygkdHBsWydjb250ZW50J10pOwogICAgICAgICAgICAkdHBsWydpbmNsdWRlcyddID0gJHRoaXMtPmZpbmRJbmNsdWRlcygkdHBsWydjb250ZW50J10pOwogICAgICAgICAgICBmb3JlYWNoICgkdHBsWydjYWxscyddIGFzICRjYWxsKSAkdGhpcy0+YWRkTG9jYXRpb24oJHJlc3VsdHMsICRjYWxsLCAndGVtcGxhdGUnLCAkdHBsWydpZCddLCAkdHBsWyduYW1lJ10pOwogICAgICAgIH0KICAgICAgICB1bnNldCgkdHBsKTsKICAgICAgICAkYnlOYW1lID0gW107CiAgICAgICAgZm9yZWFjaCAoJHRlbXBsYXRlcyBhcyAkdHBsKSAkYnlOYW1lW3N0cnRvbG93ZXIoJHRwbFsnbmFtZSddKV0gPSAkdHBsOwoKICAgICAgICAvLyBBdHRyaWJ1dGUgY2FsbHMgZnJvbSBzdGF0aWMgaW5jbHVkZXMgdG8gdGhlIHRlbXBsYXRlIHRoYXQgaW5jbHVkZXMgdGhlbS4KICAgICAgICBmb3JlYWNoICgkdGVtcGxhdGVzIGFzICR0cGwpIGZvcmVhY2ggKCR0aGlzLT50ZW1wbGF0ZUNhbGxzKCR0cGwsICRieU5hbWUpIGFzICRjYWxsKSB7CiAgICAgICAgICAgICRtb2R1bGUgPSAkY2FsbFsnbW9kdWxlJ107CiAgICAgICAgICAgIGlmIChpc3NldCgkcmVzdWx0c1skbW9kdWxlXSkpIHsKICAgICAgICAgICAgICAgICRyZXN1bHRzWyRtb2R1bGVdWyd0ZW1wbGF0ZXMnXVskdHBsWydpZCddXSA9IFsnaWQnPT4kdHBsWydpZCddLCAnbmFtZSc9PiR0cGxbJ25hbWUnXSwgJ3R5cGUnPT4kdHBsWyd0eXBlJ11dOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmb3JlYWNoICgkcGFnZXMgYXMgJHBhZ2UpIHsKICAgICAgICAgICAgJGNhbGxzID0gW107CiAgICAgICAgICAgIGZvcmVhY2ggKCRwYWdlWydmaWVsZHMnXSBhcyAkZmllbGQgPT4gJGNvbnRlbnQpIGZvcmVhY2ggKCR0aGlzLT5maW5kQ2FsbHMoJGNvbnRlbnQpIGFzICRjYWxsKSB7CiAgICAgICAgICAgICAgICAkY2FsbHNbJGNhbGxbJ21vZHVsZSddXSA9ICRjYWxsOwogICAgICAgICAgICAgICAgJHRoaXMtPmFkZExvY2F0aW9uKCRyZXN1bHRzLCAkY2FsbCwgJ3BhZ2UnLCAkcGFnZVsnaWQnXSwgJHBhZ2VbJ25hbWUnXS4nIC8gJy4kZmllbGQpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChpc3NldCgkdGVtcGxhdGVzWyRwYWdlWyd0ZW1wbGF0ZV9pZCddXSkpIGZvcmVhY2ggKCR0aGlzLT50ZW1wbGF0ZUNhbGxzKCR0ZW1wbGF0ZXNbJHBhZ2VbJ3RlbXBsYXRlX2lkJ11dLCAkYnlOYW1lKSBhcyAkY2FsbCkgJGNhbGxzWyRjYWxsWydtb2R1bGUnXV0gPSAkY2FsbDsKICAgICAgICAgICAgZm9yZWFjaCAoJGNhbGxzIGFzICRjYWxsKSB7CiAgICAgICAgICAgICAgICAkbW9kdWxlID0gJGNhbGxbJ21vZHVsZSddOwogICAgICAgICAgICAgICAgaWYgKCFpc3NldCgkcmVzdWx0c1skbW9kdWxlXSkpICR0aGlzLT5hZGRMb2NhdGlvbigkcmVzdWx0cywgJGNhbGwsICdwYWdlJywgJHBhZ2VbJ2lkJ10sICRwYWdlWyduYW1lJ10pOwogICAgICAgICAgICAgICAgJHJlc3VsdHNbJG1vZHVsZV1bJ3BhZ2VzJ11bJHBhZ2VbJ2lkJ11dID0gWydpZCc9PiRwYWdlWydpZCddLCAnbmFtZSc9PiRwYWdlWyduYW1lJ10sICdhbGlhcyc9PiRwYWdlWydhbGlhcyddLCAnYWN0aXZlJz0+JHBhZ2VbJ2FjdGl2ZSddXTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAkdGhpcy0+ZXhwYW5kRGVwZW5kZW5jaWVzKCRyZXN1bHRzKTsKICAgICAgICBmb3JlYWNoICgkcmVzdWx0cyBhcyAmJHJvdykgewogICAgICAgICAgICBmb3JlYWNoICgkcm93Wydsb2NhdGlvbnMnXSBhcyAkbG9jYXRpb24pIGlmICgkbG9jYXRpb25bJ2tpbmQnXSA9PT0gJ3RlbXBsYXRlJyAmJiBpc3NldCgkdGVtcGxhdGVzWyRsb2NhdGlvblsnaWQnXV0pKSB7CiAgICAgICAgICAgICAgICAkdHBsID0gJHRlbXBsYXRlc1skbG9jYXRpb25bJ2lkJ11dOwogICAgICAgICAgICAgICAgJHJvd1sndGVtcGxhdGVzJ11bJHRwbFsnaWQnXV0gPSBbJ2lkJz0+JHRwbFsnaWQnXSwgJ25hbWUnPT4kdHBsWyduYW1lJ10sICd0eXBlJz0+JHRwbFsndHlwZSddXTsKICAgICAgICAgICAgfQogICAgICAgICAgICAkcm93Wyd0ZW1wbGF0ZXMnXSA9IGFycmF5X3ZhbHVlcygkcm93Wyd0ZW1wbGF0ZXMnXSk7ICRyb3dbJ3BhZ2VzJ10gPSBhcnJheV92YWx1ZXMoJHJvd1sncGFnZXMnXSk7ICRyb3dbJ2xvY2F0aW9ucyddID0gYXJyYXlfdmFsdWVzKCRyb3dbJ2xvY2F0aW9ucyddKTsKICAgICAgICB9CiAgICAgICAgdW5zZXQoJHJvdyk7IGtzb3J0KCRyZXN1bHRzLCBTT1JUX05BVFVSQUwgfCBTT1JUX0ZMQUdfQ0FTRSk7IHJldHVybiBhcnJheV92YWx1ZXMoJHJlc3VsdHMpOwogICAgfQoKICAgIHByaXZhdGUgZnVuY3Rpb24gbG9hZE1hcHMoKQogICAgewogICAgICAgIGZvcmVhY2ggKChhcnJheSkkdGhpcy0+ZGItPkdldENvbCgnU0VMRUNUIG1vZHVsZV9uYW1lIEZST00gJy5DTVNfREJfUFJFRklYLiJtb2R1bGVzIFdIRVJFIHN0YXR1cyA9ICdpbnN0YWxsZWQnIikgYXMgJG5hbWUpICR0aGlzLT5tb2R1bGVzW3N0cnRvbG93ZXIoJG5hbWUpXSA9ICRuYW1lOwogICAgICAgIGZvcmVhY2ggKChhcnJheSkkdGhpcy0+ZGItPkdldEFycmF5KCdTRUxFQ1QgbmFtZSxtb2R1bGUgRlJPTSAnLkNNU19EQl9QUkVGSVguJ21vZHVsZV9zbWFydHlfcGx1Z2lucyBXSEVSRSBhdmFpbGFibGUgPSAxJykgYXMgJHJvdykgJHRoaXMtPnBsdWdpbnNbc3RydG9sb3dlcigkcm93WyduYW1lJ10pXSA9ICRyb3dbJ21vZHVsZSddOwogICAgICAgICRvcGVyYXRpb25zID0gTW9kdWxlT3BlcmF0aW9uczo6Z2V0X2luc3RhbmNlKCk7CiAgICAgICAgZm9yZWFjaCAoJHRoaXMtPm1vZHVsZXMgYXMgJG5hbWUpIHsKICAgICAgICAgICAgJGRlcGVuZGVuY2llcyA9IFtdOwogICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgJG1vZHVsZSA9ICRvcGVyYXRpb25zLT5nZXRfbW9kdWxlX2luc3RhbmNlKCRuYW1lKTsKICAgICAgICAgICAgICAgIGlmICgkbW9kdWxlKSAkZGVwZW5kZW5jaWVzID0gKGFycmF5KSRtb2R1bGUtPkdldERlcGVuZGVuY2llcygpOwogICAgICAgICAgICB9IGNhdGNoIChUaHJvd2FibGUgJGUpIHsKICAgICAgICAgICAgICAgIC8vIEEgYnJva2VuIG1vZHVsZSBtdXN0IG5vdCBwcmV2ZW50IHRoZSB1c2FnZSByZXBvcnQgZnJvbSBsb2FkaW5nLgogICAgICAgICAgICAgICAgYXVkaXQoJycsICdNb2R1bGVVc2FnZScsICdDb3VsZCBub3QgaW5zcGVjdCBkZXBlbmRlbmNpZXMgZm9yICcuJG5hbWUuJzogJy4kZS0+Z2V0TWVzc2FnZSgpKTsKICAgICAgICAgICAgICAgICRkZXBlbmRlbmNpZXMgPSBbXTsKICAgICAgICAgICAgfQogICAgICAgICAgICBmb3JlYWNoICgkZGVwZW5kZW5jaWVzIGFzICRkZXBlbmRlbmN5ID0+ICR2ZXJzaW9uKSB7CiAgICAgICAgICAgICAgICAkY2Fub25pY2FsID0gJHRoaXMtPmNhbm9uaWNhbCgkZGVwZW5kZW5jeSwgdHJ1ZSk7CiAgICAgICAgICAgICAgICAkdGhpcy0+ZGVwZW5kZW5jeU1hcFskbmFtZV1bJGNhbm9uaWNhbF0gPSAoc3RyaW5nKSR2ZXJzaW9uOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIHByaXZhdGUgZnVuY3Rpb24gbG9hZFRlbXBsYXRlcygpCiAgICB7CiAgICAgICAgJHNxbCA9ICdTRUxFQ1QgVC5pZCxULm5hbWUsVC5jb250ZW50LFRULm9yaWdpbmF0b3IsVFQubmFtZSBBUyB0eXBlX25hbWUgRlJPTSAnLkNNU19EQl9QUkVGSVguJ2xheW91dF90ZW1wbGF0ZXMgVCBMRUZUIEpPSU4gJy5DTVNfREJfUFJFRklYLidsYXlvdXRfdHBsX3R5cGUgVFQgT04gVC50eXBlX2lkPVRULmlkJzsKICAgICAgICAkb3V0ID0gW107CiAgICAgICAgZm9yZWFjaCAoKGFycmF5KSR0aGlzLT5kYi0+R2V0QXJyYXkoJHNxbCkgYXMgJHJvdykgewogICAgICAgICAgICAkcm93WydpZCddID0gKGludCkkcm93WydpZCddOyAkcm93Wyd0eXBlJ10gPSB0cmltKCRyb3dbJ29yaWdpbmF0b3InXS4nOjonLiRyb3dbJ3R5cGVfbmFtZSddLCAnOicpOyAkb3V0WyRyb3dbJ2lkJ11dID0gJHJvdzsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICRvdXQ7CiAgICB9CgogICAgcHJpdmF0ZSBmdW5jdGlvbiBsb2FkUGFnZXMoKQogICAgewogICAgICAgICRzcWwgPSAnU0VMRUNUIGNvbnRlbnRfaWQsY29udGVudF9uYW1lLGNvbnRlbnRfYWxpYXMsdGVtcGxhdGVfaWQsYWN0aXZlLHR5cGUgRlJPTSAnLkNNU19EQl9QUkVGSVguJ2NvbnRlbnQgT1JERVIgQlkgaGllcmFyY2h5JzsgJHBhZ2VzID0gW107CiAgICAgICAgZm9yZWFjaCAoKGFycmF5KSR0aGlzLT5kYi0+R2V0QXJyYXkoJHNxbCkgYXMgJHJvdykgewogICAgICAgICAgICBpZiAoKGludCkkcm93Wyd0ZW1wbGF0ZV9pZCddIDwgMSkgY29udGludWU7ICRpZCA9IChpbnQpJHJvd1snY29udGVudF9pZCddOwogICAgICAgICAgICAkcGFnZXNbJGlkXSA9IFsnaWQnPT4kaWQsICduYW1lJz0+JHJvd1snY29udGVudF9uYW1lJ10sICdhbGlhcyc9PiRyb3dbJ2NvbnRlbnRfYWxpYXMnXSwgJ3RlbXBsYXRlX2lkJz0+KGludCkkcm93Wyd0ZW1wbGF0ZV9pZCddLCAnYWN0aXZlJz0+KGJvb2wpJHJvd1snYWN0aXZlJ10sICdmaWVsZHMnPT5bXV07CiAgICAgICAgfQogICAgICAgIGlmICghJHBhZ2VzKSByZXR1cm4gW107CiAgICAgICAgJHNxbCA9ICdTRUxFQ1QgY29udGVudF9pZCxwcm9wX25hbWUsY29udGVudCBGUk9NICcuQ01TX0RCX1BSRUZJWC4nY29udGVudF9wcm9wcyBXSEVSRSBjb250ZW50X2lkIElOICgnLmltcGxvZGUoJywnLCBhcnJheV9rZXlzKCRwYWdlcykpLicpJzsKICAgICAgICBmb3JlYWNoICgoYXJyYXkpJHRoaXMtPmRiLT5HZXRBcnJheSgkc3FsKSBhcyAkcm93KSBpZiAoaXNzZXQoJHBhZ2VzWyhpbnQpJHJvd1snY29udGVudF9pZCddXSkgJiYgaXNfc3RyaW5nKCRyb3dbJ2NvbnRlbnQnXSkgJiYgc3RycG9zKCRyb3dbJ2NvbnRlbnQnXSwgJ3snKSAhPT0gZmFsc2UpICRwYWdlc1soaW50KSRyb3dbJ2NvbnRlbnRfaWQnXV1bJ2ZpZWxkcyddWyRyb3dbJ3Byb3BfbmFtZSddXSA9ICRyb3dbJ2NvbnRlbnQnXTsKICAgICAgICByZXR1cm4gJHBhZ2VzOwogICAgfQoKICAgIHByaXZhdGUgZnVuY3Rpb24gZmluZENhbGxzKCRjb250ZW50KQogICAgewogICAgICAgICRvdXQgPSBbXTsgJGNvbnRlbnQgPSBwcmVnX3JlcGxhY2UoJy9ce1wqLio/XCpcfS9zJywgJycsIChzdHJpbmcpJGNvbnRlbnQpOwogICAgICAgIGlmIChwcmVnX21hdGNoX2FsbCgnL1x7XHMqKFtBLVphLXpfXVtBLVphLXowLTlfXSopXGIoW157fV0qKVx9LycsICRjb250ZW50LCAkbWF0Y2hlcywgUFJFR19TRVRfT1JERVIpKSBmb3JlYWNoICgkbWF0Y2hlcyBhcyAkbWF0Y2gpIHsKICAgICAgICAgICAgJHRhZyA9ICRtYXRjaFsxXTsgJGFyZ3MgPSAkbWF0Y2hbMl07ICRtb2R1bGUgPSBudWxsOwogICAgICAgICAgICBpZiAoaW5fYXJyYXkoc3RydG9sb3dlcigkdGFnKSwgWydjbXNfbW9kdWxlJywnbW9kdWxlJ10sIHRydWUpICYmIHByZWdfbWF0Y2goJy9cYm1vZHVsZVxzKj1ccyooW1wnXCJdPykoW0EtWmEtel9dW0EtWmEtejAtOV9dKilcMS9pJywgJGFyZ3MsICRtKSkgJG1vZHVsZSA9ICR0aGlzLT5jYW5vbmljYWwoJG1bMl0sIHRydWUpOwogICAgICAgICAgICBlbHNlaWYgKGlzc2V0KCR0aGlzLT5wbHVnaW5zW3N0cnRvbG93ZXIoJHRhZyldKSkgJG1vZHVsZSA9ICR0aGlzLT5jYW5vbmljYWwoJHRoaXMtPnBsdWdpbnNbc3RydG9sb3dlcigkdGFnKV0sIHRydWUpOwogICAgICAgICAgICBlbHNlICRtb2R1bGUgPSAkdGhpcy0+Y2Fub25pY2FsKCR0YWcsIGZhbHNlKTsKICAgICAgICAgICAgaWYgKCRtb2R1bGUpICRvdXRbJG1vZHVsZV0gPSBbJ21vZHVsZSc9PiRtb2R1bGUsICd0YWcnPT50cmltKCRtYXRjaFswXSldOwogICAgICAgIH0KICAgICAgICBmb3JlYWNoICgkdGhpcy0+bW9kdWxlcyBhcyAkbW9kdWxlKSBpZiAocHJlZ19tYXRjaCgnL1wkJy5wcmVnX3F1b3RlKCRtb2R1bGUsICcvJykuJ1xzKi0+L2knLCAkY29udGVudCkpICRvdXRbJG1vZHVsZV0gPSBbJ21vZHVsZSc9PiRtb2R1bGUsICd0YWcnPT4nJCcuJG1vZHVsZS4nLT7igKYnXTsKICAgICAgICByZXR1cm4gYXJyYXlfdmFsdWVzKCRvdXQpOwogICAgfQoKICAgIHByaXZhdGUgZnVuY3Rpb24gY2Fub25pY2FsKCRuYW1lLCAkdW5rbm93bikgeyAka2V5ID0gc3RydG9sb3dlcigkbmFtZSk7IHJldHVybiBpc3NldCgkdGhpcy0+bW9kdWxlc1ska2V5XSkgPyAkdGhpcy0+bW9kdWxlc1ska2V5XSA6ICgkdW5rbm93biA/ICRuYW1lIDogbnVsbCk7IH0KICAgIHByaXZhdGUgZnVuY3Rpb24gZmluZEluY2x1ZGVzKCRjb250ZW50KSB7CiAgICAgICAgJGNvbnRlbnQgPSBwcmVnX3JlcGxhY2UoJy9ce1wqLio/XCpcfS9zJywgJycsIChzdHJpbmcpJGNvbnRlbnQpOyAkb3V0ID0gW107CiAgICAgICAgaWYgKHByZWdfbWF0Y2hfYWxsKCcvXHtpbmNsdWRlXHMrW159XSpmaWxlXHMqPVxzKihbXCdcIl0pY21zX3RlbXBsYXRlOihbXlwnXCJdKylcMS9pJywgJGNvbnRlbnQsICRtKSkgJG91dCA9IGFycmF5X3ZhbHVlcyhhcnJheV91bmlxdWUoYXJyYXlfbWFwKCd0cmltJywgJG1bMl0pKSk7CiAgICAgICAgcmV0dXJuICRvdXQ7CiAgICB9CiAgICBwcml2YXRlIGZ1bmN0aW9uIHRlbXBsYXRlQ2FsbHMoJHRwbCwgYXJyYXkgJGJ5TmFtZSwgYXJyYXkgJHNlZW49W10pCiAgICB7CiAgICAgICAgJGtleSA9IHN0cnRvbG93ZXIoJHRwbFsnbmFtZSddKTsgaWYgKGlzc2V0KCRzZWVuWyRrZXldKSkgcmV0dXJuIFtdOyAkc2Vlblska2V5XSA9IHRydWU7ICRvdXQgPSBbXTsKICAgICAgICBmb3JlYWNoICgkdHBsWydjYWxscyddIGFzICRjYWxsKSAkb3V0WyRjYWxsWydtb2R1bGUnXV0gPSAkY2FsbDsKICAgICAgICBmb3JlYWNoICgkdHBsWydpbmNsdWRlcyddIGFzICRuYW1lKSBpZiAoaXNzZXQoJGJ5TmFtZVtzdHJ0b2xvd2VyKCRuYW1lKV0pKSBmb3JlYWNoICgkdGhpcy0+dGVtcGxhdGVDYWxscygkYnlOYW1lW3N0cnRvbG93ZXIoJG5hbWUpXSwgJGJ5TmFtZSwgJHNlZW4pIGFzICRjYWxsKSAkb3V0WyRjYWxsWydtb2R1bGUnXV0gPSAkY2FsbDsKICAgICAgICByZXR1cm4gYXJyYXlfdmFsdWVzKCRvdXQpOwogICAgfQogICAgcHJpdmF0ZSBmdW5jdGlvbiBhZGRMb2NhdGlvbihhcnJheSAmJHJlc3VsdHMsIGFycmF5ICRjYWxsLCAka2luZCwgJGlkLCAkbGFiZWwpCiAgICB7CiAgICAgICAgJG1vZHVsZSA9ICRjYWxsWydtb2R1bGUnXTsKICAgICAgICBpZiAoIWlzc2V0KCRyZXN1bHRzWyRtb2R1bGVdKSkgJHJlc3VsdHNbJG1vZHVsZV0gPSAkdGhpcy0+bmV3UmVzdWx0KCRtb2R1bGUpOwogICAgICAgICRyZXN1bHRzWyRtb2R1bGVdWydjYWxsX2NvdW50J10rKzsgJGtleSA9ICRraW5kLic6Jy4kaWQuJzonLm1kNSgkbGFiZWwuJGNhbGxbJ3RhZyddKTsKICAgICAgICAkcmVzdWx0c1skbW9kdWxlXVsnbG9jYXRpb25zJ11bJGtleV0gPSBbJ2tpbmQnPT4ka2luZCwgJ2lkJz0+JGlkLCAnbGFiZWwnPT51Y2ZpcnN0KCRraW5kKS4nOiAnLiRsYWJlbCwgJ3RhZyc9PiRjYWxsWyd0YWcnXV07CiAgICB9CgogICAgcHJpdmF0ZSBmdW5jdGlvbiBuZXdSZXN1bHQoJG1vZHVsZSkKICAgIHsKICAgICAgICByZXR1cm4gWydtb2R1bGUnPT4kbW9kdWxlLCAnaW5zdGFsbGVkJz0+aXNzZXQoJHRoaXMtPm1vZHVsZXNbc3RydG9sb3dlcigkbW9kdWxlKV0pLCAnY2FsbF9jb3VudCc9PjAsCiAgICAgICAgICAgICdkZXBlbmRlbmNpZXMnPT5bXSwgJ3JlcXVpcmVkX2J5Jz0+W10sICd0ZW1wbGF0ZXMnPT5bXSwgJ3BhZ2VzJz0+W10sICdsb2NhdGlvbnMnPT5bXV07CiAgICB9CgogICAgcHJpdmF0ZSBmdW5jdGlvbiBleHBhbmREZXBlbmRlbmNpZXMoYXJyYXkgJiRyZXN1bHRzKQogICAgewogICAgICAgICRyb290cyA9IGFycmF5X2tleXMoJHJlc3VsdHMpOwogICAgICAgIGZvcmVhY2ggKCRyb290cyBhcyAkcm9vdCkgJHRoaXMtPmV4cGFuZE1vZHVsZURlcGVuZGVuY2llcygkcm9vdCwgJHJvb3QsICRyZXN1bHRzLCBbXSk7CiAgICAgICAgZm9yZWFjaCAoJHJlc3VsdHMgYXMgJiRyb3cpIHsKICAgICAgICAgICAga3NvcnQoJHJvd1snZGVwZW5kZW5jaWVzJ10sIFNPUlRfTkFUVVJBTCB8IFNPUlRfRkxBR19DQVNFKTsKICAgICAgICAgICAgbmF0Y2FzZXNvcnQoJHJvd1sncmVxdWlyZWRfYnknXSk7CiAgICAgICAgICAgICRyb3dbJ3JlcXVpcmVkX2J5J10gPSBhcnJheV92YWx1ZXMoYXJyYXlfdW5pcXVlKCRyb3dbJ3JlcXVpcmVkX2J5J10pKTsKICAgICAgICB9CiAgICAgICAgdW5zZXQoJHJvdyk7CiAgICB9CgogICAgcHJpdmF0ZSBmdW5jdGlvbiBleHBhbmRNb2R1bGVEZXBlbmRlbmNpZXMoJG1vZHVsZSwgJHJvb3QsIGFycmF5ICYkcmVzdWx0cywgYXJyYXkgJHNlZW4pCiAgICB7CiAgICAgICAgJGtleSA9IHN0cnRvbG93ZXIoJG1vZHVsZSk7CiAgICAgICAgaWYgKGlzc2V0KCRzZWVuWyRrZXldKSkgcmV0dXJuOwogICAgICAgICRzZWVuWyRrZXldID0gdHJ1ZTsKICAgICAgICBpZiAoZW1wdHkoJHRoaXMtPmRlcGVuZGVuY3lNYXBbJG1vZHVsZV0pKSByZXR1cm47CgogICAgICAgIGZvcmVhY2ggKCR0aGlzLT5kZXBlbmRlbmN5TWFwWyRtb2R1bGVdIGFzICRkZXBlbmRlbmN5ID0+ICR2ZXJzaW9uKSB7CiAgICAgICAgICAgIGlmIChpc3NldCgkc2VlbltzdHJ0b2xvd2VyKCRkZXBlbmRlbmN5KV0pKSBjb250aW51ZTsKICAgICAgICAgICAgaWYgKCFpc3NldCgkcmVzdWx0c1skZGVwZW5kZW5jeV0pKSAkcmVzdWx0c1skZGVwZW5kZW5jeV0gPSAkdGhpcy0+bmV3UmVzdWx0KCRkZXBlbmRlbmN5KTsKICAgICAgICAgICAgJHJlc3VsdHNbJG1vZHVsZV1bJ2RlcGVuZGVuY2llcyddWyRkZXBlbmRlbmN5XSA9ICR2ZXJzaW9uOwogICAgICAgICAgICAkcmVzdWx0c1skZGVwZW5kZW5jeV1bJ3JlcXVpcmVkX2J5J11bJHJvb3RdID0gJHJvb3Q7CgogICAgICAgICAgICAvLyBBIHJlcXVpcmVkIG1vZHVsZSBpcyBlZmZlY3RpdmVseSBpbiB1c2Ugd2hlcmV2ZXIgdGhlIHJvb3QgbW9kdWxlIGlzIGluIHVzZS4KICAgICAgICAgICAgZm9yZWFjaCAoJHJlc3VsdHNbJHJvb3RdWydwYWdlcyddIGFzICRpZCA9PiAkcGFnZSkgJHJlc3VsdHNbJGRlcGVuZGVuY3ldWydwYWdlcyddWyRpZF0gPSAkcGFnZTsKICAgICAgICAgICAgZm9yZWFjaCAoJHJlc3VsdHNbJHJvb3RdWyd0ZW1wbGF0ZXMnXSBhcyAkaWQgPT4gJHRwbCkgJHJlc3VsdHNbJGRlcGVuZGVuY3ldWyd0ZW1wbGF0ZXMnXVskaWRdID0gJHRwbDsKCiAgICAgICAgICAgICR0aGlzLT5leHBhbmRNb2R1bGVEZXBlbmRlbmNpZXMoJGRlcGVuZGVuY3ksICRyb290LCAkcmVzdWx0cywgJHNlZW4pOwogICAgICAgIH0KICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFkZWZpbmVkKCdDTVNfVkVSU0lPTicpKSBleGl0OwokdGhpcy0+Q3JlYXRlUGVybWlzc2lvbihNb2R1bGVVc2FnZTo6TUFOQUdFX1BFUk0sICdNb2R1bGUgVXNhZ2UgLSBWaWV3IHJlcG9ydCcpOwoKJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkdGhpcy0+R2V0RGIoKSk7CiRzcWwgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoQ01TX0RCX1BSRUZJWC4nbW9kdWxlX3VzYWdlX3JlcG9ydCcsICdpZCBJIEtFWSwgcmVwb3J0X2RhdGEgWCBOT1ROVUxMLCBnZW5lcmF0ZWQgVCBOT1ROVUxMJywgWydteXNxbCc9PidFTkdJTkU9SW5ub0RCJ10pOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWwpOwo=]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFkZWZpbmVkKCdDTVNfVkVSU0lPTicpKSBleGl0OwokdGhpcy0+UmVtb3ZlUGVybWlzc2lvbihNb2R1bGVVc2FnZTo6TUFOQUdFX1BFUk0pOwokZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCR0aGlzLT5HZXREYigpKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkZGljdC0+RHJvcFRhYmxlU1FMKENNU19EQl9QUkVGSVguJ21vZHVsZV91c2FnZV9yZXBvcnQnKSk7Cg==]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFkZWZpbmVkKCdDTVNfVkVSU0lPTicpKSBleGl0OwoKLy8gVmVyc2lvbiAwLjIueCBhZGRzIHRoZSBwYWdlL3RlbXBsYXRlIHJlcG9ydCBhbmQgZGVwZW5kZW5jeSBleHBhbnNpb24uIE5vIHNjaGVtYSBjaGFuZ2VzCi8vIGFyZSByZXF1aXJlZDsgZW5zdXJlIHRoZSByZXBvcnQgcGVybWlzc2lvbiBleGlzdHMgb24gb2xkZXIgaW5zdGFsbGF0aW9ucy4KJGRiID0gJHRoaXMtPkdldERiKCk7CiRleGlzdHMgPSAkZGItPkdldE9uZSgKICAgICdTRUxFQ1QgcGVybWlzc2lvbl9pZCBGUk9NICcgLiBDTVNfREJfUFJFRklYIC4gJ3Blcm1pc3Npb25zIFdIRVJFIHBlcm1pc3Npb25fbmFtZSA9ID8nLAogICAgW01vZHVsZVVzYWdlOjpNQU5BR0VfUEVSTV0KKTsKaWYgKCEkZXhpc3RzKSB7CiAgICAkdGhpcy0+Q3JlYXRlUGVybWlzc2lvbihNb2R1bGVVc2FnZTo6TUFOQUdFX1BFUk0sICdNb2R1bGUgVXNhZ2UgLSBWaWV3IHJlcG9ydCcpOwp9CgokdGFibGUgPSBDTVNfREJfUFJFRklYLidtb2R1bGVfdXNhZ2VfcmVwb3J0JzsKJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwokdGFibGVzID0gYXJyYXlfbWFwKCdzdHJ0b2xvd2VyJywgKGFycmF5KSRkaWN0LT5NZXRhVGFibGVzKCkpOwppZiAoIWluX2FycmF5KHN0cnRvbG93ZXIoJHRhYmxlKSwgJHRhYmxlcywgdHJ1ZSkpIHsKICAgICRzcWwgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoJHRhYmxlLCAnaWQgSSBLRVksIHJlcG9ydF9kYXRhIFggTk9UTlVMTCwgZ2VuZXJhdGVkIFQgTk9UTlVMTCcsIFsnbXlzcWwnPT4nRU5HSU5FPUlubm9EQiddKTsKICAgICRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbCk7Cn0K]]></data>
	</file>
	<file>
	  <filename>/moduleinfo.ini</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[W21vZHVsZV0KbmFtZSA9ICJNb2R1bGVVc2FnZSINCnZlcnNpb24gPSAiMS4wLjAiDQphdXRob3IgPSAiSm9obiBTY290Y2hlciwgd2l0aCBBSSBhc3Npc3RhbmNlIGZyb20gQ2hhdEdQVCBDb2RleCINCmF1dGhvcmVtYWlsID0gImpvaG5AY21zbWFkZXNpbXBsZS5vcmciDQptaW5jbXN2ZXJzaW9uID0gIjIuMi4wIg0KbGF6eWxvYWRhZG1pbiA9IDENCmxhenlsb2FkZnJvbnRlbmQgPSAxDQo=]]></data>
	</file>
	<file>
	  <filename>/ModuleUsage.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoKICogTW9kdWxlIFVzYWdlCiAqCiAqIEFkbWluLW9ubHkgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSBmb3IgcmVwb3J0aW5nIG1vZHVsZSB1c2UgaW4gZnJvbnRlbmQKICogcGFnZXMgYW5kIERlc2lnbiBNYW5hZ2VyIHRlbXBsYXRlcy4KICoKICogQXV0aG9yOiBKb2huIFNjb3RjaGVyLCB3aXRoIEFJIGFzc2lzdGFuY2UgZnJvbSBDaGF0R1BUIENvZGV4CiAqIE1haW50YWluZXI6IEpvaG4gU2NvdGNoZXIsIFRoZSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgogKiBDb3B5cmlnaHQ6IDIwMjYgSm9obiBTY290Y2hlciwgVGhlIENNUyBNYWRlIFNpbXBsZSBGb3VuZGF0aW9uCiAqIExpY2Vuc2U6IE1JVAogKi8KaWYgKCFkZWZpbmVkKCdDTVNfVkVSU0lPTicpKSBleGl0OwpmaW5hbCBjbGFzcyBNb2R1bGVVc2FnZSBleHRlbmRzIENNU01vZHVsZQp7CiAgICBjb25zdCBNQU5BR0VfUEVSTSA9ICdtYW5hZ2VfbW9kdWxldXNhZ2UnOwogICAgcHVibGljIGZ1bmN0aW9uIEdldE5hbWUoKSB7IHJldHVybiAnTW9kdWxlVXNhZ2UnOyB9CiAgICBwdWJsaWMgZnVuY3Rpb24gR2V0RnJpZW5kbHlOYW1lKCkgeyByZXR1cm4gJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpOyB9CiAgICBwdWJsaWMgZnVuY3Rpb24gR2V0VmVyc2lvbigpIHsgcmV0dXJuICcxLjAuMCc7IH0KICAgIHB1YmxpYyBmdW5jdGlvbiBNaW5pbXVtQ01TVmVyc2lvbigpIHsgcmV0dXJuICcyLjIuMCc7IH0KICAgIHB1YmxpYyBmdW5jdGlvbiBHZXRBdXRob3IoKSB7IHJldHVybiAnSm9obiBTY290Y2hlciwgd2l0aCBBSSBhc3Npc3RhbmNlIGZyb20gQ2hhdEdQVCBDb2RleCc7IH0KICAgIHB1YmxpYyBmdW5jdGlvbiBHZXRBdXRob3JFbWFpbCgpIHsgcmV0dXJuICdqb2huQGNtc21hZGVzaW1wbGUub3JnJzsgfQogICAgcHVibGljIGZ1bmN0aW9uIEdldEFkbWluRGVzY3JpcHRpb24oKSB7IHJldHVybiAkdGhpcy0+TGFuZygnYWRtaW5kZXNjcmlwdGlvbicpOyB9CiAgICBwdWJsaWMgZnVuY3Rpb24gR2V0QWRtaW5TZWN0aW9uKCkgeyByZXR1cm4gJ2V4dGVuc2lvbnMnOyB9CiAgICBwdWJsaWMgZnVuY3Rpb24gR2V0SGVscCgpIHsgcmV0dXJuICR0aGlzLT5MYW5nKCdoZWxwJyk7IH0KICAgIHB1YmxpYyBmdW5jdGlvbiBHZXREZXBlbmRlbmNpZXMoKSB7IHJldHVybiBbXTsgfQogICAgcHVibGljIGZ1bmN0aW9uIEdldENoYW5nZUxvZygpIHsgcmV0dXJuICR0aGlzLT5MYW5nKCdjaGFuZ2Vsb2cnKTsgfQogICAgcHVibGljIGZ1bmN0aW9uIFVuaW5zdGFsbFByZU1lc3NhZ2UoKSB7IHJldHVybiAkdGhpcy0+TGFuZygndW5pbnN0YWxsX3ByZV9tZXNzYWdlJyk7IH0KICAgIHB1YmxpYyBmdW5jdGlvbiBJc1BsdWdpbk1vZHVsZSgpIHsgcmV0dXJuIGZhbHNlOyB9CiAgICBwdWJsaWMgZnVuY3Rpb24gSGFzQWRtaW4oKSB7IHJldHVybiB0cnVlOyB9CiAgICBwdWJsaWMgZnVuY3Rpb24gTGF6eUxvYWRBZG1pbigpIHsgcmV0dXJuIHRydWU7IH0KICAgIHB1YmxpYyBmdW5jdGlvbiBMYXp5TG9hZEZyb250ZW5kKCkgeyByZXR1cm4gdHJ1ZTsgfQogICAgcHVibGljIGZ1bmN0aW9uIFZpc2libGVUb0FkbWluVXNlcigpIHsgcmV0dXJuICR0aGlzLT5DaGVja1Blcm1pc3Npb24oc2VsZjo6TUFOQUdFX1BFUk0pOyB9CiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKSB7IHNwbF9hdXRvbG9hZF9yZWdpc3RlcihbJHRoaXMsICdfYXV0b2xvYWRlciddKTsgcGFyZW50OjpfX2NvbnN0cnVjdCgpOyB9CiAgICBwdWJsaWMgZnVuY3Rpb24gX2F1dG9sb2FkZXIoJGNsYXNzKSB7CiAgICAgICAgJGNsYXNzID0gYmFzZW5hbWUoc3RyX3JlcGxhY2UoJ1xcJywgJy8nLCAkY2xhc3MpKTsKICAgICAgICAkZmlsZSA9IF9fRElSX18gLiAnL2xpYi9jbGFzcy4nIC4gJGNsYXNzIC4gJy5waHAnOwogICAgICAgIGlmIChpc19maWxlKCRmaWxlKSkgcmVxdWlyZV9vbmNlICRmaWxlOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBHZXRDYWNoZWRSZXBvcnQoKQogICAgewogICAgICAgICRyb3cgPSAkdGhpcy0+R2V0RGIoKS0+R2V0Um93KCdTRUxFQ1QgcmVwb3J0X2RhdGEsZ2VuZXJhdGVkIEZST00gJy5DTVNfREJfUFJFRklYLidtb2R1bGVfdXNhZ2VfcmVwb3J0IFdIRVJFIGlkID0gMScpOwogICAgICAgIGlmICghJHJvdykgcmV0dXJuIG51bGw7CiAgICAgICAgJHJlcG9ydCA9IGpzb25fZGVjb2RlKCRyb3dbJ3JlcG9ydF9kYXRhJ10sIHRydWUpOwogICAgICAgIGlmICghaXNfYXJyYXkoJHJlcG9ydCkpIHJldHVybiBudWxsOwogICAgICAgIHJldHVybiBbJ3JlcG9ydCc9PiRyZXBvcnQsICdnZW5lcmF0ZWQnPT4kcm93WydnZW5lcmF0ZWQnXV07CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIFNhdmVDYWNoZWRSZXBvcnQoYXJyYXkgJHJlcG9ydCkKICAgIHsKICAgICAgICAkZGIgPSAkdGhpcy0+R2V0RGIoKTsKICAgICAgICAkanNvbiA9IGpzb25fZW5jb2RlKCRyZXBvcnQsIEpTT05fVU5FU0NBUEVEX1NMQVNIRVMgfCBKU09OX1VORVNDQVBFRF9VTklDT0RFKTsKICAgICAgICBpZiAoJGpzb24gPT09IGZhbHNlKSB0aHJvdyBuZXcgUnVudGltZUV4Y2VwdGlvbignQ291bGQgbm90IGVuY29kZSB0aGUgbW9kdWxlIHVzYWdlIHJlcG9ydC4nKTsKICAgICAgICBpZiAoJGRiLT5HZXRPbmUoJ1NFTEVDVCBpZCBGUk9NICcuQ01TX0RCX1BSRUZJWC4nbW9kdWxlX3VzYWdlX3JlcG9ydCBXSEVSRSBpZCA9IDEnKSkgewogICAgICAgICAgICByZXR1cm4gJGRiLT5FeGVjdXRlKCdVUERBVEUgJy5DTVNfREJfUFJFRklYLidtb2R1bGVfdXNhZ2VfcmVwb3J0IFNFVCByZXBvcnRfZGF0YSA9ID8sIGdlbmVyYXRlZCA9IE5PVygpIFdIRVJFIGlkID0gMScsIFskanNvbl0pOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJGRiLT5FeGVjdXRlKCdJTlNFUlQgSU5UTyAnLkNNU19EQl9QUkVGSVguJ21vZHVsZV91c2FnZV9yZXBvcnQgKGlkLHJlcG9ydF9kYXRhLGdlbmVyYXRlZCkgVkFMVUVTICgxLD8sTk9XKCkpJywgWyRqc29uXSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/README.md</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IyBNb2R1bGUgVXNhZ2UKCkFuIGFkbWluLW9ubHksIHJlYWQtb25seSBDTVMgTWFkZSBTaW1wbGUgbW9kdWxlIHRoYXQgcmVwb3J0cyBtb2R1bGUgcmVmZXJlbmNlcyBpbiBwdWJsaWMtc2l0ZSBjb250ZW50LgoKQ3VycmVudCB2ZXJzaW9uOiAqKjEuMC4wKiouIFRoZSByZXBvcnQgY2FuIGJlIHZpZXdlZCBlaXRoZXIgYnkgbW9kdWxlIG9yIGludmVydGVkIGJ5IHBhZ2UvdGVtcGxhdGUuIEluc3RhbGxlZCBtb2R1bGUgZGVwZW5kZW5jaWVzIGFyZSBleHBhbmRlZCByZWN1cnNpdmVseSBhbmQgc2hvd24gYXQgZXZlcnkgZWZmZWN0aXZlIHBhZ2UvdGVtcGxhdGUgbG9jYXRpb24uIFJlcG9ydHMgYXJlIGluZGV4ZWQgb24gZGVtYW5kIGFuZCByZXRhaW5lZCB1bnRpbCB0aGUgUmVmcmVzaCBSZXBvcnQgYnV0dG9uIGlzIGNsaWNrZWQuCgojIyBXaGF0IGl0IHNjYW5zCgotIEV2ZXJ5IHBhZ2Ugd2l0aCBhbiBhc3NpZ25lZCBEZXNpZ24gTWFuYWdlciB0ZW1wbGF0ZSwgaW5jbHVkaW5nIGluYWN0aXZlIHBhZ2VzLgotIEV2ZXJ5IHRleHQtbGlrZSBwcm9wZXJ0eSBpbiBgY29udGVudF9wcm9wc2AsIG5vdCBvbmx5IGBjb250ZW50X2VuYC4gVGhpcyBjb3ZlcnMgYWRkaXRpb25hbCBjb250ZW50IGJsb2NrcyBhbmQgZmllbGRzIGNyZWF0ZWQgYnkgbW9kdWxlcyBzdWNoIGFzIEVDQjIuCi0gRGVzaWduIE1hbmFnZXIgdGVtcGxhdGVzIGluIGBsYXlvdXRfdGVtcGxhdGVzYC4KLSBTdGF0aWMgYHtpbmNsdWRlIGZpbGU9J2Ntc190ZW1wbGF0ZTpuYW1lJ31gIHJlbGF0aW9uc2hpcHMuIENhbGxzIGluIGluY2x1ZGVkIHRlbXBsYXRlcyBhcmUgYXR0cmlidXRlZCB0byBib3RoIHRoZSBpbmNsdWRpbmcgdGVtcGxhdGUgYW5kIHBhZ2VzIHVzaW5nIHRoZSBwYXJlbnQgcGFnZSB0ZW1wbGF0ZS4KCiMjIENhbGxzIHJlY29nbmlzZWQKCi0gRGlyZWN0IHJlZ2lzdGVyZWQgbW9kdWxlIHRhZ3Mgc3VjaCBhcyBge05ld3N9YCBhbmQgYWxpYXNlcyBzdWNoIGFzIGB7bmV3c31gLgotIFJlZ2lzdGVyZWQgbW9kdWxlIFNtYXJ0eSBwbHVnaW5zIGZyb20gYG1vZHVsZV9zbWFydHlfcGx1Z2luc2AuCi0gYHtjbXNfbW9kdWxlIG1vZHVsZT0nTmV3cyd9YCBhbmQgYHttb2R1bGUgbW9kdWxlPSdOZXdzJ31gLgotIEluc3RhbGxlZCBtb2R1bGUgb2JqZWN0IHVzZSBzdWNoIGFzIGB7JE1BTVMtPkxhbmcoLi4uKX1gLgoKU21hcnR5IGNvbW1lbnRzIGFyZSByZW1vdmVkIGJlZm9yZSBzY2FubmluZy4gVGhlIHNjYW5uZXIgZG9lcyBub3QgZXhlY3V0ZSBTbWFydHkgb3IgbW9kdWxlIGNvZGUuCgojIyBJbnRlbnRpb25hbCBsaW1pdHMKCi0gRHluYW1pYyBtb2R1bGUgbmFtZXMgKGZvciBleGFtcGxlIGBtb2R1bGU9JHNvbWVfdmFyaWFibGVgKSBjYW5ub3QgYmUgcmVzb2x2ZWQgc3RhdGljYWxseS4KLSBEeW5hbWljIHRlbXBsYXRlIGluY2x1ZGUgbmFtZXMgY2Fubm90IGJlIGZvbGxvd2VkLgotIEEgbW9kdWxlIGludm9rZWQgaW5kaXJlY3RseSBmcm9tIFBIUCwgSmF2YVNjcmlwdCwgYSBVc2VyIERlZmluZWQgVGFnLCBvciBhbm90aGVyIG1vZHVsZSB3aWxsIG5vdCBiZSBpbmZlcnJlZCBmcm9tIGEgcGFnZS90ZW1wbGF0ZSB1bmxlc3MgaXRzIG5hbWUgYWxzbyBhcHBlYXJzIGluIHRoZSBzY2FubmVkIFNtYXJ0eS4KLSBUaGUgcmVwb3J0IGlkZW50aWZpZXMgcmVmZXJlbmNlcywgbm90IHByb29mIHRoYXQgYSBjb25kaXRpb25hbCBicmFuY2ggZXhlY3V0ZXMgZm9yIGEgcGFydGljdWxhciB2aXNpdG9yLgoKIyMgQ01TTVMgaW1wbGVtZW50YXRpb24gbm90ZXMKCkNNU01TIG1vZHVsZXMgZXh0ZW5kIGBDTVNNb2R1bGVgLiBGcm9udGVuZC1jYWxsYWJsZSBtb2R1bGVzIHJlZ2lzdGVyIHRoZWlyIG1vZHVsZSBuYW1lIGFuZCBvcHRpb25hbCBhbGlhc2VzIGFzIFNtYXJ0eSBwbHVnaW5zOyB0aG9zZSByZWdpc3RyYXRpb25zIGFyZSBwZXJzaXN0ZWQgaW4gYG1vZHVsZV9zbWFydHlfcGx1Z2luc2AuIFBhZ2VzIGFyZSByZXByZXNlbnRlZCBieSBgY29udGVudGAsIHRoZWlyIGVkaXRhYmxlIGZpZWxkcyBhcmUgc3RvcmVkIGluIGBjb250ZW50X3Byb3BzYCwgYW5kIERlc2lnbiBNYW5hZ2VyIHN0b3JlcyB0ZW1wbGF0ZXMgYW5kIHR5cGVzIGluIGBsYXlvdXRfdGVtcGxhdGVzYCBhbmQgYGxheW91dF90cGxfdHlwZWAuIFRoZSByZXBvcnQgdXNlcyB0aG9zZSBzdXBwb3J0ZWQgcnVudGltZSB0YWJsZXMgYW5kIHRoZSBDTVNNUyBkYXRhYmFzZSBjb25uZWN0aW9uIHJhdGhlciB0aGFuIHBhcnNpbmcgYW4gU1FMIGJhY2t1cC4KCiMjIEluc3RhbGwKCkluc3RhbGwgKipNb2R1bGUgVXNhZ2UqKiBmcm9tIEV4dGVuc2lvbnMgPiBNb2R1bGUgTWFuYWdlciwgZ3JhbnQgdGhlICoqTW9kdWxlIFVzYWdlIC0gVmlldyByZXBvcnQqKiBwZXJtaXNzaW9uLCB0aGVuIG9wZW4gRXh0ZW5zaW9ucyA+IE1vZHVsZSBVc2FnZS4K]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/defaultadmin.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskbW9kLT5MYW5nKCd0aXRsZScpfTwvaDM+CjxwIGNsYXNzPSJwYWdlb3ZlcmZsb3ciPnskbW9kLT5MYW5nKCdpbnRybycpfTwvcD4KPGRpdiBjbGFzcz0icGFnZW9wdGlvbnMiIHN0eWxlPSJtYXJnaW46IDFlbSAwOyI+CiAge2lmICR2aWV3ID09ICdtb2R1bGUnfQogICAgPHNwYW4gY2xhc3M9InVpLXN0YXRlLWhpZ2hsaWdodCB1aS1jb3JuZXItYWxsIiBzdHlsZT0iZGlzcGxheTppbmxpbmUtYmxvY2s7cGFkZGluZzouNDVlbSAuOGVtOyI+PHN0cm9uZz57JG1vZC0+TGFuZygndmlld19ieV9tb2R1bGUnKX08L3N0cm9uZz48L3NwYW4+CiAge2Vsc2V9CiAgICA8c3BhbiBjbGFzcz0icGFnZWJ1dHRvbiI+eyRtb2R1bGVfdmlld19saW5rIG5vZmlsdGVyfTwvc3Bhbj4KICB7L2lmfQogICZuYnNwOwogIHtpZiAkdmlldyA9PSAnbG9jYXRpb24nfQogICAgPHNwYW4gY2xhc3M9InVpLXN0YXRlLWhpZ2hsaWdodCB1aS1jb3JuZXItYWxsIiBzdHlsZT0iZGlzcGxheTppbmxpbmUtYmxvY2s7cGFkZGluZzouNDVlbSAuOGVtOyI+PHN0cm9uZz57JG1vZC0+TGFuZygndmlld19ieV9sb2NhdGlvbicpfTwvc3Ryb25nPjwvc3Bhbj4KICB7ZWxzZX0KICAgIDxzcGFuIGNsYXNzPSJwYWdlYnV0dG9uIj57JGxvY2F0aW9uX3ZpZXdfbGluayBub2ZpbHRlcn08L3NwYW4+CiAgey9pZn0KPC9kaXY+CjxwIGNsYXNzPSJwYWdlb3B0aW9ucyI+eyRyZWZyZXNoX2xpbmsgbm9maWx0ZXJ9e2lmICRnZW5lcmF0ZWR9ICZuYnNwOyA8c21hbGw+eyRtb2QtPkxhbmcoJ2xhc3RfaW5kZXhlZCcpfTogeyRnZW5lcmF0ZWR8ZXNjYXBlfTwvc21hbGw+ey9pZn08L3A+CntpZiBlbXB0eSgkcmVwb3J0KX08cD57JG1vZC0+TGFuZygnbm9uZV9mb3VuZCcpfTwvcD4Ke2Vsc2VpZiAkdmlldyA9PSAnbW9kdWxlJ30KPHRhYmxlIGNsYXNzPSJwYWdldGFibGUiPjx0aGVhZD48dHI+Cjx0aD57JG1vZC0+TGFuZygnbW9kdWxlJyl9PC90aD48dGg+eyRtb2QtPkxhbmcoJ2RlcGVuZGVuY2llcycpfTwvdGg+PHRoPnskbW9kLT5MYW5nKCdjYWxscycpfTwvdGg+PHRoPnskbW9kLT5MYW5nKCd0ZW1wbGF0ZXMnKX08L3RoPgo8dGg+eyRtb2QtPkxhbmcoJ3BhZ2VzJyl9PC90aD48dGg+eyRtb2QtPkxhbmcoJ2RpcmVjdF9sb2NhdGlvbnMnKX08L3RoPgo8L3RyPjwvdGhlYWQ+PHRib2R5Pgp7Zm9yZWFjaCAkcmVwb3J0IGFzICRyb3d9PHRyIGNsYXNzPSJ7Y3ljbGUgdmFsdWVzPSdyb3cxLHJvdzInfSI+Cjx0ZD48c3Ryb25nPnskcm93Lm1vZHVsZXxlc2NhcGV9PC9zdHJvbmc+e2lmICEkcm93Lmluc3RhbGxlZH0gPHNwYW4gY2xhc3M9ImltcG9ydGFudCI+KG5vdCBpbnN0YWxsZWQpPC9zcGFuPnsvaWZ9e2lmICRyb3cuY2FsbF9jb3VudCA9PSAwfSA8c21hbGw+KHskbW9kLT5MYW5nKCdkZXBlbmRlbmN5X29ubHknKX0pPC9zbWFsbD57L2lmfXtpZiAhZW1wdHkoJHJvdy5yZXF1aXJlZF9ieSl9PGJyPjxzbWFsbD57JG1vZC0+TGFuZygncmVxdWlyZWRfYnknKX06IHtmb3JlYWNoICRyb3cucmVxdWlyZWRfYnkgYXMgJHBhcmVudH17JHBhcmVudHxlc2NhcGV9e2lmICEkcGFyZW50QGxhc3R9LCB7L2lmfXsvZm9yZWFjaH08L3NtYWxsPnsvaWZ9PC90ZD4KPHRkPntmb3JlYWNoICRyb3cuZGVwZW5kZW5jaWVzIGFzICRuYW1lID0+ICR2ZXJzaW9ufTxjb2RlPnskbmFtZXxlc2NhcGV9PC9jb2RlPntpZiAkdmVyc2lvbn0gPHNtYWxsPiZnZTsgeyR2ZXJzaW9ufGVzY2FwZX08L3NtYWxsPnsvaWZ9e2lmICEkdmVyc2lvbkBsYXN0fTxicj57L2lmfXtmb3JlYWNoZWxzZX0mbWRhc2g7ey9mb3JlYWNofTwvdGQ+Cjx0ZD57JHJvdy5jYWxsX2NvdW50fTwvdGQ+Cjx0ZD57Zm9yZWFjaCAkcm93LnRlbXBsYXRlcyBhcyAkaXRlbX17JGl0ZW0ubmFtZXxlc2NhcGV9IDxzbWFsbD4oeyRpdGVtLnR5cGV8ZXNjYXBlfSk8L3NtYWxsPntpZiAhJGl0ZW1AbGFzdH08YnI+ey9pZn17Zm9yZWFjaGVsc2V9Jm1kYXNoO3svZm9yZWFjaH08L3RkPgo8dGQ+e2ZvcmVhY2ggJHJvdy5wYWdlcyBhcyAkaXRlbX17JGl0ZW0ubmFtZXxlc2NhcGV9IDxzbWFsbD5beyRpdGVtLmFsaWFzfGVzY2FwZX17aWYgISRpdGVtLmFjdGl2ZX0sIGluYWN0aXZley9pZn1dPC9zbWFsbD57aWYgISRpdGVtQGxhc3R9PGJyPnsvaWZ9e2ZvcmVhY2hlbHNlfSZtZGFzaDt7L2ZvcmVhY2h9PC90ZD4KPHRkPntmb3JlYWNoICRyb3cubG9jYXRpb25zIGFzICRpdGVtfXskaXRlbS5sYWJlbHxlc2NhcGV9OiA8Y29kZT57JGl0ZW0udGFnfGVzY2FwZX08L2NvZGU+e2lmICEkaXRlbUBsYXN0fTxicj57L2lmfXsvZm9yZWFjaH08L3RkPgo8L3RyPnsvZm9yZWFjaH08L3Rib2R5PjwvdGFibGU+ey9pZn0KCntpZiAhZW1wdHkoJHJlcG9ydCkgJiYgJHZpZXcgPT0gJ2xvY2F0aW9uJ30KPGg0PnskbW9kLT5MYW5nKCdwYWdlX3VzYWdlJyl9PC9oND4KPHRhYmxlIGNsYXNzPSJwYWdldGFibGUiPjx0aGVhZD48dHI+PHRoPnskbW9kLT5MYW5nKCdsb2NhdGlvbicpfTwvdGg+PHRoPnskbW9kLT5MYW5nKCdzdGF0dXMnKX08L3RoPjx0aD57JG1vZC0+TGFuZygnbW9kdWxlcycpfTwvdGg+PC90cj48L3RoZWFkPjx0Ym9keT4Ke2ZvcmVhY2ggJGxvY2F0aW9uX3JlcG9ydC5wYWdlcyBhcyAkaXRlbX08dHIgY2xhc3M9IntjeWNsZSB2YWx1ZXM9J3JvdzEscm93Mid9Ij4KPHRkPjxzdHJvbmc+eyRpdGVtLm5hbWV8ZXNjYXBlfTwvc3Ryb25nPiA8c21hbGw+W3skaXRlbS5hbGlhc3xlc2NhcGV9XTwvc21hbGw+PC90ZD4KPHRkPntpZiAkaXRlbS5hY3RpdmV9eyRtb2QtPkxhbmcoJ2FjdGl2ZScpfXtlbHNlfXskbW9kLT5MYW5nKCdpbmFjdGl2ZScpfXsvaWZ9PC90ZD4KPHRkPntmb3JlYWNoICRpdGVtLm1vZHVsZXMgYXMgJG1vZHVsZX08Y29kZT57JG1vZHVsZXxlc2NhcGV9PC9jb2RlPntpZiAhJG1vZHVsZUBsYXN0fSwgey9pZn17L2ZvcmVhY2h9PC90ZD4KPC90cj57Zm9yZWFjaGVsc2V9PHRyPjx0ZCBjb2xzcGFuPSIzIj57JG1vZC0+TGFuZygnbm9uZV9mb3VuZCcpfTwvdGQ+PC90cj57L2ZvcmVhY2h9CjwvdGJvZHk+PC90YWJsZT4KCjxoND57JG1vZC0+TGFuZygndGVtcGxhdGVfdXNhZ2UnKX08L2g0Pgo8dGFibGUgY2xhc3M9InBhZ2V0YWJsZSI+PHRoZWFkPjx0cj48dGg+eyRtb2QtPkxhbmcoJ2xvY2F0aW9uJyl9PC90aD48dGg+eyRtb2QtPkxhbmcoJ21vZHVsZXMnKX08L3RoPjwvdHI+PC90aGVhZD48dGJvZHk+Cntmb3JlYWNoICRsb2NhdGlvbl9yZXBvcnQudGVtcGxhdGVzIGFzICRpdGVtfTx0ciBjbGFzcz0ie2N5Y2xlIHZhbHVlcz0ncm93MSxyb3cyJ30iPgo8dGQ+PHN0cm9uZz57JGl0ZW0ubmFtZXxlc2NhcGV9PC9zdHJvbmc+IDxzbWFsbD4oeyRpdGVtLnR5cGV8ZXNjYXBlfSk8L3NtYWxsPjwvdGQ+Cjx0ZD57Zm9yZWFjaCAkaXRlbS5tb2R1bGVzIGFzICRtb2R1bGV9PGNvZGU+eyRtb2R1bGV8ZXNjYXBlfTwvY29kZT57aWYgISRtb2R1bGVAbGFzdH0sIHsvaWZ9ey9mb3JlYWNofTwvdGQ+CjwvdHI+e2ZvcmVhY2hlbHNlfTx0cj48dGQgY29sc3Bhbj0iMiI+eyRtb2QtPkxhbmcoJ25vbmVfZm91bmQnKX08L3RkPjwvdHI+ey9mb3JlYWNofQo8L3Rib2R5PjwvdGFibGU+CnsvaWZ9Cg==]]></data>
	</file>
</module>
