<?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>CanadaPostShipping</name>
	<version>1.3.1</version>
    <mincmsversion>2.1.5</mincmsversion>
	<help><![CDATA[PGgzPldoYXQgZG9lcyB0aGlzIGRvPzwvaDM+CjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIHRoZSBhYmlsaXR5IHRvIGVzdGltYXRlIHNoaXBwaW5nIGNvc3RzIHZpYSBDYW5hZGEgUG9zdCBhcyBhIHNoaXBwaW5nIG1vZHVsZSBmb3IgY2FsZ3V5MTAwMCdzIGUtY29tbWVyY2Ugc3VpdGUuPC9wPgoKPGgzPkZlYXR1cmVzOjwvaDM+Cjx1bD4KICA8bGk+QWxsb3dzIGVzdGltYXRpbmcgc2hpcHBpbmcgY29zdHMgZnJvbSB0aGUgdmlldy1jYXJ0IHBhZ2UgKHNlZSBiZWxvdykuPC9saT4KICA8bGk+U3VwcG9ydHMgbXVsdGlwbGUgcGFyY2VscywgYW5kIG11bHRpcGxlIGRlc3RpbmF0aW9ucy48L2xpPgo8L3VsPgoKPGgzPlJlcXVpcmVtZW50czwvaDM+Cjx1bD4KICA8bGk+VGhpcyBtb2R1bGUgcmVxdWlyZXMgdGhhdCB0aGUgQ0dFY29tbWVyY2VCYXNlIG1vZHVsZSdzIGN1cnJlbmN5IHVuaXQgYmUgaW4gQ0FELiAgVGhpcyBtZWFucyB0aGF0IGFsbCBwcm9kdWN0cyBtdXN0IGJlIHNvbGQgaW4gQ2FuYWRpYW4gZG9sbGFycy4gIFVzZSBjYXV0aW9uIHdoZW4gY2hhbmdpbmcgdGhpcyB2YWx1ZSBvbiBhIHByb2R1Y3Rpb24gc2l0ZS48L2xpPgogIDxsaT5UaGlzIG1vZHVsZSB3b3JrcyBiZXN0IGlmIHlvdSBoYXZlIGEgcGFja2FnaW5nIG1vZHVsZSBpbnN0YWxsZWQgYW5kIGNvbmZpZ3VyZWQgdGhhdCBjYW4gY29tcGJpbmUgbXVsdGlwbGUgcHJvZHVjdHMgZnJvbSB0aGUgY2FydCBpbnRvIGZld2VyIHNoaXBwZWQgcGFyY2Vscy48L2xpPgo8L3VsPgoKPGgzPkhvdyBEbyBJIFVzZSBJdDo8L2gzPgo8dWw+CiAgIDxsaT5GaXJzdCwgaW5zdGFsbCB0aGlzIG1vZHVsZSBhbmQgdmlzaXQgaXQncyBhZG1pbiBwYW5lbCB0byBlbnRlciBpZGVudGlmaWNhdGlvbiBjcmVkZW50aWFscy48L2xpPgogICA8bGk+U2Vjb25kLCB2aXNpdCB0aGUgQ0dFY29tbWVyY2VCYXNlIGFkbWluIHBhbmVsLCBhbmQgc2V0IHRoaXMgbW9kdWxlIGFzIHRoZSBzaGlwaW5nIG1vZHVsZS48L2xpPgogICA8bGk+VGhpcmQgKHJlY29tbWVuZGUpLCBJbnN0YWxsIGFuZCBjb25maWd1cmUgYSBwYWNrYWdpbmcgbW9kdWxlLjwvbGk+CjwvdWw+Cgo8aDM+RXN0aW1hdGluZyBjb3N0cyBmcm9tIHRoZSB2aWV3LWNhcnQgcGFnZTwvaDM+CjxwPkFkZCB0aGUgZm9sbG93aW5nIHRvIHRoZSBmb3JtIHRoYXQgZGlzcGxheXMgdGhlIGN1cnJlbnQgdXNlciBjYXJ0OiAgPGNvZGU+e0NhbmFkYVBvc3RTaGlwcGluZyBhY3Rpb249ZXN0aW1hdGV9PC9jb2RlPjwvcD4KCjxoMz5TdXBwb3J0PC9oMz4KPHA+VGhlIG1vZHVsZSBhdXRob3IgaXMgaW4gbm8gd2F5IG9ibGlnYXRlZCB0byBwcm92aWRlIHN1cHBvcnQgZm9yIHRoaXMgY29kZSBpbiBhbnkgZmFzaGlvbi4gIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPgo8dWw+CjxsaT5BIGJ1ZyB0cmFja2luZyBhbmQgZmVhdHVyZSByZXF1ZXN0IHN5c3RlbSBoYXMgYmVlbiBjcmVhdGVkIGZvciB0aGlzIG1vZHVsZSA8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL3Byb2R1Y3RzIj5oZXJlPC9hPi4gIFBsZWFzZSBiZSB2ZXJib3NlIGFuZCBkZXNjcmlwdGl2ZSB3aGVuIHN1Ym1pdHRpbmcgYnVnIHJlcG9ydHMgYW5kIGZlYXR1cmUgcmVxdWVzdHMsIGFuZCBmb3IgYnVnIHJlcG9ydHMgZW5zdXJlIHRoYXQgeW91IGhhdmUgcHJvdmlkZWQgc3VmZmljaWVudCBpbmZvcm1hdGlvbiB0byByZWxpYWJseSByZXByb2R1Y2UgdGhlIGlzc3VlLjwvbGk+CjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uICBXaGVuIGRlc2NyaWJpbmcgYW4gaXNzdWUgcGxlYXNlIG1ha2UgYW4gZWZmb3J0IHRvIHByb3ZpZGUgYWxsIHJlbGF2YW50IGluZm9ybWF0aW9uLCBhIHRob3JvdWdoIGRlc2NyaXB0aW9uIG9mIHlvdXIgaXNzdWUsIGFuZCBzdGVwcyB0byByZXByb2R1Y2UgaXQgb3IgeW91ciBkaXNjdXNzaW9uIG1heSBiZSBpZ25vcmVkLjwvbGk+CjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPgo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkuICBIb3dldmVyLCBwbGVhc2UgdXNlIHRoaXMgYXMgYSBsYXN0IHJlc29ydCwgYW5kIGVuc3VyZSB0aGF0IHlvdSBoYXZlIGZvbGxvd2VkIGFsbCBhcHBsaWNhYmxlIGluc3RydWN0aW9ucyBvbiB0aGUgZm9yZ2UsIGluIHRoZSBmb3J1bXMsIGV0Yy48L2xpPgo8L3VsPgoKPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+CjxwPkNvcHlyaWdodCAmY29weTsgMjAxNywgUm9iZXJ0IENhbXBiZWxsIDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnIj4mbHQ7Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyZndDs8L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+CjxwPlRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cml0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CnRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCihhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uPC9wPgo8cD5Ib3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCmluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluCnNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuPC9wPgo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQpPciByZWFkIGl0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+b25saW5lPC9hPjwvcD4KPGgzPkRlcGVuZGVuY2llczwvaDM+PHVsPjxsaT5DR0V4dGVuc2lvbnMgPSZndDsgMS41NC4zPC9saT48bGk+Q0dFY29tbWVyY2VCYXNlID0mZ3Q7IDEuNzwvbGk+PC91bD4=]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBjYWxndXkxMDAwICZsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmd0OzxiciAvPjxiciAvPlZlcnNpb246IDEuMy4xPGJyIC8+]]></about>
	<description><![CDATA[A Shipping module for Calguys E-comemrce suite that does shipping estimates via canada post]]></description>
	<requires>
	  <requiredname>CGExtensions</requiredname>
	  <requiredversion>1.54.3</requiredversion>
	</requires>
	<requires>
	  <requiredname>CGEcommerceBase</requiredname>
	  <requiredversion>1.7</requiredversion>
	</requires>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwppZiggISR0aGlzLT5WaXNpYmxlVG9BZG1pblVzZXIoKSApIGV4aXQ7CgppZiggXGNnZV9wYXJhbTo6ZXhpc3RzKCRwYXJhbXMsJ3N1Ym1pdCcpICkgewogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3Byb2Rtb2RlJyxcY2dlX3BhcmFtOjpnZXRfaW50KCRwYXJhbXMsJ3Byb2Rtb2RlJykpOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2Rldl91bicsXGNnZV9wYXJhbTo6Z2V0X3N0cmluZygkcGFyYW1zLCdkZXZfdW4nKSk7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnZGV2X3B3JyxcY2dlX3BhcmFtOjpnZXRfc3RyaW5nKCRwYXJhbXMsJ2Rldl9wdycpKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdwcm9kX3VuJyxcY2dlX3BhcmFtOjpnZXRfc3RyaW5nKCRwYXJhbXMsJ3Byb2RfdW4nKSk7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgncHJvZF9wdycsXGNnZV9wYXJhbTo6Z2V0X3N0cmluZygkcGFyYW1zLCdwcm9kX3B3JykpOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2N1c3RfbnVtYmVyJyxcY2dlX3BhcmFtOjpnZXRfc3RyaW5nKCRwYXJhbXMsJ2N1c3RfbnVtYmVyJykpOwp9CgokY3VycmVuY3lfY29kZSA9IFxjZ19lY29tbTo6Z2V0X2N1cnJlbmN5X2NvZGUoKTsKJGlzX29rID0gKCRjdXJyZW5jeV9jb2RlID09ICdDQUQnKTsKJHByZWZzID0gWyAncHJvZHVjdGlvbicgPT4gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Byb2Rtb2RlJyksCiAgICAgICAgICAgJ2Rldl91bicgPT4gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2Rldl91bicpLAogICAgICAgICAgICdkZXZfcHcnID0+ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkZXZfcHcnKSwKICAgICAgICAgICAncHJvZF91bicgPT4gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Byb2RfdW4nKSwKICAgICAgICAgICAncHJvZF9wdycgPT4gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Byb2RfcHcnKSwKICAgICAgICAgICAnY3VzdF9udW1iZXInID0+ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjdXN0X251bWJlcicpIF07CiR0cGwgPSAkdGhpcy0+Q3JlYXRlU21hcnR5VGVtcGxhdGUoJ2RlZmF1bHRhZG1pbi50cGwnKTsKJHRwbC0+YXNzaWduKCdwcmVmcycsJHByZWZzKTsKJHRwbC0+YXNzaWduKCdjdXJyZW5jeV9jb2RlJywkY3VycmVuY3lfY29kZSk7CiR0cGwtPmFzc2lnbignaXNfb2snLCRpc19vayk7CiR0cGwtPmRpc3BsYXkoKTs=]]></data>
	</file>
	<file>
	  <filename>/action.estimate.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoICEkZ0NtcyApIGV4aXQ7CmlmKCAhJHRoaXMtPklzQ29uZmlndXJlZCgpICkgcmV0dXJuOwoKdHJ5IHsKICAgICRjYXJ0aXRlbXMgPSBcY2dfZWNvbW1fY2FydDo6Z2V0X2NhcnRfY29udGVudHMoKTsKICAgIGlmKCAhJGNhcnRpdGVtcyApIHJldHVybjsKICAgICRyYXRlcyA9IG51bGw7CgogICAgJGNvdW50cnkgPSBcY2dlX3BhcmFtOjpnZXRfc3RyaW5nKCRwYXJhbXMsJ2NwX2NvdW50cnknLCdDQScpOwogICAgJHBvc3RhbCA9IFxjZ2VfcGFyYW06OmdldF9zdHJpbmcoJHBhcmFtcywnY3BfcG9zdGFsJyk7CiAgICBpZiggXGNnZV9wYXJhbTo6ZXhpc3RzKCRwYXJhbXMsJ2NwX2NvdW50cnknKSApIHsKICAgICAgICB0cnkgewogICAgICAgICAgICAkZnJvbV9hZGRyID0gXGNnX2Vjb21tOjpnZXRfY29tcGFueV9hZGRyZXNzKCk7CiAgICAgICAgICAgICRwYWNrYWdpbmdfbW9kdWxlID0gXGNnX2Vjb21tOjpnZXRfcGFja2FnaW5nX21vZHVsZSgpOwogICAgICAgICAgICAkdG9fYWRkciA9IG5ldyBcY2dlX2FkZHJlc3M7CiAgICAgICAgICAgICR0b19hZGRyLT5jb3VudHJ5ID0gJGNvdW50cnk7CiAgICAgICAgICAgICR0b19hZGRyLT5wb3N0YWwgPSAkcG9zdGFsOwogICAgICAgICAgICAkaXRlbXMgPSBbXTsKICAgICAgICAgICAgZm9yZWFjaCggJGNhcnRpdGVtcyBhcyAkb25lICkgewogICAgICAgICAgICAgICAgaWYoIGlzc2V0KCRvbmVbJ2l0ZW1zJ10pICYmIGlzX2FycmF5KCRvbmVbJ2l0ZW1zJ10pICkgJGl0ZW1zID0gYXJyYXlfbWVyZ2UoJGl0ZW1zLCRvbmVbJ2l0ZW1zJ10pOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiggJHBhY2thZ2luZ19tb2R1bGUgKSAkcGFja2luZ19saXN0ID0gJHBhY2thZ2luZ19tb2R1bGUtPmdldF9wYWNraW5nX2xpc3QoICR0b19hZGRyLCAkaXRlbXMgKTsKICAgICAgICAgICAgaWYoICEkcGFja2luZ19saXN0ICkgdGhyb3cgbmV3IFxMb2dpY0V4Y2VwdGlvbignQ291bGQgbm90IGNyZWF0ZSBwYWNraW5nIGxpc3QnKTsKCiAgICAgICAgICAgICRyYXRlcyA9ICR0aGlzLT5nZXRfc2hpcHBpbmdfZXN0aW1hdGUoICRwYWNraW5nX2xpc3QgKTsKICAgICAgICB9CiAgICAgICAgY2F0Y2goIFxFeGNlcHRpb24gJGUgKSB7CiAgICAgICAgICAgIGVjaG8gJHRoaXMtPkRpc3BsYXlFcnJvck1lc3NhZ2UoJGUtPkdldE1lc3NhZ2UoKSk7CiAgICAgICAgfQogICAgfQoKICAgIC8vIGRpc3BsYXkKICAgICR0aGV0ZW1wbGF0ZSA9ICR0aGlzLT5maW5kX2xheW91dF90ZW1wbGF0ZSgkcGFyYW1zLCd0ZW1wbGF0ZScsJ0NhbmFkYVBvc3RTaGlwcGluZzo6RXN0aW1hdGUnKTsKICAgICR0cGwgPSAkdGhpcy0+Q3JlYXRlU21hcnR5VGVtcGxhdGUoJHRoZXRlbXBsYXRlKTsKICAgICR0cGwtPmFzc2lnbigncmF0ZXMnLCRyYXRlcyk7CiAgICAkdHBsLT5hc3NpZ24oJ2NvdW50cnknLCRjb3VudHJ5KTsKICAgICR0cGwtPmFzc2lnbigncG9zdGFsJywkcG9zdGFsKTsKICAgICR0cGwtPmRpc3BsYXkoKTsKfQpjYXRjaCggXEV4Y2VwdGlvbiAkZSApIHsKICAgIFxjZ2VfdXRpbHM6OmxvZ19leGNlcHRpb24oJGUpOwogICAgYXVkaXQoJycsJHRoaXMtPkdldE5hbWUoKSwkZS0+R2V0TWVzc2FnZSgpKTsKICAgIGVjaG8gJHRoaXMtPkRpc3BsYXlFcnJvck1lc3NhZ2UoICRlLT5HZXRNZXNzYWdlKCkgKTsKfQ==]]></data>
	</file>
	<file>
	  <filename>/CanadaPostShipping.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENhbmFkYVBvc3QgLSBBIG1vZHVsZSB0byBhbGxvdyBzaGlwcGluZyBlc3RpbWF0ZXMgd2l0aCBDYW5hZGEgUG9zdAojIFZlcnNpb246IDEuMCwgY2FsZ3V5MTAwMCA8Y2FsZ3V5MTAwMEBnbWFpbC5jb20+CiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL3NrZWxldG9uLwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KClxjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0NHRWNvbW1lcmNlQmFzZScpOwoKY2xhc3MgQ2FuYWRhUG9zdFNoaXBwaW5nIGV4dGVuZHMgQ0dFeHRlbnNpb25zIGltcGxlbWVudHMgXENHRWNvbW1lcmNlQmFzZVxzaGlwcGluZ19tb2R1bGUKewogICAgZnVuY3Rpb24gR2V0TmFtZSgpIHsgcmV0dXJuICdDYW5hZGFQb3N0U2hpcHBpbmcnOyB9CiAgICBmdW5jdGlvbiBHZXRGcmllbmRseU5hbWUoKSB7IHJldHVybiAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyk7IH0KICAgIGZ1bmN0aW9uIEdldFZlcnNpb24oKSB7IHJldHVybiAnMS4zLjEnOyB9CiAgICBmdW5jdGlvbiBHZXRBdXRob3IoKSB7IHJldHVybiAnY2FsZ3V5MTAwMCc7IH0KICAgIGZ1bmN0aW9uIEdldEF1dGhvckVtYWlsKCkgeyByZXR1cm4gJ2NhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcnOyB9CiAgICBmdW5jdGlvbiBJc1BsdWdpbk1vZHVsZSgpIHsgcmV0dXJuIHRydWU7IH0KICAgIGZ1bmN0aW9uIEhhc0FkbWluKCkgeyByZXR1cm4gdHJ1ZTsgfQogICAgZnVuY3Rpb24gTGF6eUxvYWRBZG1pbigpIHsgcmV0dXJuIHRydWU7IH0KICAgIGZ1bmN0aW9uIExhenlMb2FkRnJvbnRlbmQoKSB7IHJldHVybiBmYWxzZTsgfQogICAgZnVuY3Rpb24gR2V0QWRtaW5TZWN0aW9uKCkgeyByZXR1cm4gJ2Vjb21tZXJjZSc7IH0KICAgIGZ1bmN0aW9uIEdldEFkbWluRGVzY3JpcHRpb24oKSB7IHJldHVybiAkdGhpcy0+TGFuZygnbW9kZGVzY3JpcHRpb24nKTsgfQogICAgZnVuY3Rpb24gVmlzaWJsZVRvQWRtaW5Vc2VyKCkgeyByZXR1cm4gJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKTsgfQogICAgZnVuY3Rpb24gR2V0RGVwZW5kZW5jaWVzKCkgeyByZXR1cm4gWyAnQ0dFeHRlbnNpb25zJz0+JzEuNTQuMycsJ0NHRWNvbW1lcmNlQmFzZSc9PicxLjcnIF07IH0KICAgIGZ1bmN0aW9uIE1pbmltdW1DTVNWZXJzaW9uKCkgeyByZXR1cm4gIjIuMS41IjsgfQogICAgZnVuY3Rpb24gSW5zdGFsbFBvc3RNZXNzYWdlKCkgeyByZXR1cm4gJHRoaXMtPkxhbmcoJ3Bvc3RpbnN0YWxsJyk7IH0KICAgIGZ1bmN0aW9uIFVuaW5zdGFsbFByZU1lc3NhZ2UoKSB7IHJldHVybiAkdGhpcy0+TGFuZygncmVhbGx5X3VuaW5zdGFsbCcpOyB9CgogICAgcHVibGljIGZ1bmN0aW9uIEluaXRpYWxpemVGcm9udGVuZCgpCiAgICB7CiAgICAgICAgJHRoaXMtPlJlZ2lzdGVyTW9kdWxlUGx1Z2luKCk7CiAgICAgICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2NhcnRpdGVtcycsQ0xFQU5fTk9ORSk7CiAgICAgICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2NwX2NvdW50cnknLENMRUFOX1NUUklORyk7CiAgICAgICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2NwX3Bvc3RhbCcsQ0xFQU5fU1RSSU5HKTsKICAgICAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgndGVtcGxhdGUnLENMRUFOX1NUUklORyk7CiAgICB9CgogICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiAgICBwdWJsaWMgZnVuY3Rpb24gSXNDb25maWd1cmVkKCkKICAgIHsKICAgICAgICBpZiggXGNnX2Vjb21tOjpnZXRfY3VycmVuY3lfY29kZSgpICE9ICdDQUQnICkgcmV0dXJuIEZBTFNFOwogICAgICAgICRhdXRoID0gJHRoaXMtPmdldF9hdXRoKCk7CiAgICAgICAgaWYoICEkYXV0aC0+dXNlcm5hbWUgfHwgISRhdXRoLT5wYXNzd29yZCApIHJldHVybiBGQUxTRTsKICAgICAgICByZXR1cm4gVFJVRTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X3NoaXBwaW5nX2VzdGltYXRlKCBcQ0dFY29tbWVyY2VCYXNlXHBhY2tpbmdfbGlzdCAkcGFja2luZ19saXN0ICkKICAgIHsKICAgICAgICAkaGFuZGxlciA9IG5ldyBcQ2FuYWRhUG9zdFNoaXBwaW5nXE11bHRpUGFyY2VsUmF0ZXNTZXJ2aWNlKCAkdGhpcy0+Z2V0X2F1dGgoKSApOwogICAgICAgICRoYW5kbGVyLT5zZXRfZnJvbSggXGNnX2Vjb21tOjpnZXRfY29tcGFueV9hZGRyZXNzKCkgKTsKICAgICAgICAkaGFuZGxlci0+c2V0X3RvKCAkcGFja2luZ19saXN0LT5nZXRfZGVzdGluYXRpb24oKSApOwogICAgICAgICRib3hlcyA9ICRwYWNraW5nX2xpc3QtPmdldF9ib3hlcygpOwogICAgICAgIGZvcmVhY2goICRib3hlcyBhcyAkYm94ICkgewogICAgICAgICAgICAkaGFuZGxlci0+YWRkX3BhY2thZ2UoICRib3ggKTsKICAgICAgICB9CiAgICAgICAgJHJhdGVzID0gJGhhbmRsZXItPmdldF9yYXRlcygpOwogICAgICAgIHJldHVybiAkaGFuZGxlci0+Z2V0X3JhdGVzKCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGNhbGN1bGF0ZV9zaGlwcGluZyggXENHRWNvbW1lcmNlQmFzZVxwYWNraW5nX2xpc3QgJHBhY2tpbmdfbGlzdCApCiAgICB7CiAgICAgICAgJHJhdGVzID0gJHRoaXMtPmdldF9zaGlwcGluZ19lc3RpbWF0ZSggJHBhY2tpbmdfbGlzdCApOwogICAgICAgIC8vIGdldCB0aGUgY2hlYXBlc3QKICAgICAgICAkcmF0ZSA9ICRyYXRlcy0+dG9wKCk7CiAgICAgICAgcmV0dXJuICRyYXRlOwogICAgfQoKICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdldF9hdXRoKCkKICAgIHsKICAgICAgICAkb3V0ID0gbmV3IFxDYW5hZGFQb3N0U2hpcHBpbmdcQXV0aDsKICAgICAgICAkb3V0LT5jdXN0X251bWJlciA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjdXN0X251bWJlcicpOwogICAgICAgICRvdXQtPmNvbnRyYWN0X2lkID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2NvbnRyYWN0X2lkJyk7CiAgICAgICAgJG91dC0+c2FuZGJveCA9ICEkdGhpcy0+R2V0UHJlZmVyZW5jZSgncHJvZG1vZGUnKTsKICAgICAgICBpZiggJG91dC0+c2FuZGJveCApIHsKICAgICAgICAgICAgJG91dC0+dXNlcm5hbWUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGV2X3VuJyk7CiAgICAgICAgICAgICRvdXQtPnBhc3N3b3JkID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2Rldl9wdycpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRvdXQtPnVzZXJuYW1lID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Byb2RfdW4nKTsKICAgICAgICAgICAgJG91dC0+cGFzc3dvcmQgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncHJvZF9wdycpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJG91dDsKICAgIH0KCiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKICAgIC8qKgogICAgICogQGlnbm9yZQogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHRwbF90eXBlX2xhbmdfY2IoJHN0cikKICAgIHsKICAgICAgICAkbW9kID0gXGNtc191dGlsczo6Z2V0X21vZHVsZSgnQ2FuYWRhUG9zdFNoaXBwaW5nJyk7CiAgICAgICAgJHN0ciA9IHN0cl9yZXBsYWNlKCcgJywnXycsJHN0cik7CiAgICAgICAgaWYoIGlzX29iamVjdCgkbW9kKSApIHJldHVybiAkbW9kLT5MYW5nKCd0cGx0eXBlXycuJHN0cik7CiAgICB9CgogICAgLyoqCiAgICAgKiBAaWdub3JlCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gdHBsX3R5cGVfcmVzZXRfY2IoQ21zTGF5b3V0VGVtcGxhdGVUeXBlICR0eXBlKQogICAgewogICAgICAgICRtb2QgPSBcY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdDYW5hZGFQb3N0U2hpcHBpbmcnKTsKICAgICAgICBpZiggJHR5cGUtPmdldF9vcmlnaW5hdG9yKCkgIT0gJG1vZC0+R2V0TmFtZSgpICkgdGhyb3cgbmV3IENtc0xvZ2ljRXhjZXB0aW9uKCdDYW5ub3QgcmVzZXQgY29udGVudHMgZm9yIHRoaXMgdGVtcGxhdGUgdHlwZScpOwoKICAgICAgICAkZm4gPSBudWxsOwogICAgICAgIHN3aXRjaCggJHR5cGUtPmdldF9uYW1lKCkgKSB7CiAgICAgICAgY2FzZSAnRXN0aW1hdGUnOgogICAgICAgICAgICAkZm4gPSAnb3JpZ19lc3RpbWF0ZS50cGwnOwogICAgICAgICAgICBicmVhazsKICAgICAgICB9CgogICAgICAgIGlmKCAhJGZuICkgcmV0dXJuOwogICAgICAgICRmbiA9IF9fRElSX18uJy90ZW1wbGF0ZXMvJy4kZm47CiAgICAgICAgaWYoIGZpbGVfZXhpc3RzKCRmbikgKSByZXR1cm4gQGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7CiAgICB9Cgp9IC8vIGNsYXNzCg==]]></data>
	</file>
	<file>
	  <filename>/doc/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/doc/COPYING</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ICAgICAgICAgICAgICAgICAgICBHTlUgR0VORVJBTCBQVUJMSUMgTElDRU5TRQogICAgICAgICAgICAgICAgICAgICAgIFZlcnNpb24gMiwgSnVuZSAxOTkxCgogQ29weXJpZ2h0IChDKSAxOTg5LCAxOTkxIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwKIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EKIEV2ZXJ5b25lIGlzIHBlcm1pdHRlZCB0byBjb3B5IGFuZCBkaXN0cmlidXRlIHZlcmJhdGltIGNvcGllcwogb2YgdGhpcyBsaWNlbnNlIGRvY3VtZW50LCBidXQgY2hhbmdpbmcgaXQgaXMgbm90IGFsbG93ZWQuCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJlYW1ibGUKCiAgVGhlIGxpY2Vuc2VzIGZvciBtb3N0IHNvZnR3YXJlIGFyZSBkZXNpZ25lZCB0byB0YWtlIGF3YXkgeW91cgpmcmVlZG9tIHRvIHNoYXJlIGFuZCBjaGFuZ2UgaXQuICBCeSBjb250cmFzdCwgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYwpMaWNlbnNlIGlzIGludGVuZGVkIHRvIGd1YXJhbnRlZSB5b3VyIGZyZWVkb20gdG8gc2hhcmUgYW5kIGNoYW5nZSBmcmVlCnNvZnR3YXJlLS10byBtYWtlIHN1cmUgdGhlIHNvZnR3YXJlIGlzIGZyZWUgZm9yIGFsbCBpdHMgdXNlcnMuICBUaGlzCkdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXBwbGllcyB0byBtb3N0IG9mIHRoZSBGcmVlIFNvZnR3YXJlCkZvdW5kYXRpb24ncyBzb2Z0d2FyZSBhbmQgdG8gYW55IG90aGVyIHByb2dyYW0gd2hvc2UgYXV0aG9ycyBjb21taXQgdG8KdXNpbmcgaXQuICAoU29tZSBvdGhlciBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24gc29mdHdhcmUgaXMgY292ZXJlZCBieQp0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGluc3RlYWQuKSAgWW91IGNhbiBhcHBseSBpdCB0bwp5b3VyIHByb2dyYW1zLCB0b28uCgogIFdoZW4gd2Ugc3BlYWsgb2YgZnJlZSBzb2Z0d2FyZSwgd2UgYXJlIHJlZmVycmluZyB0byBmcmVlZG9tLCBub3QKcHJpY2UuICBPdXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZXMgYXJlIGRlc2lnbmVkIHRvIG1ha2Ugc3VyZSB0aGF0IHlvdQpoYXZlIHRoZSBmcmVlZG9tIHRvIGRpc3RyaWJ1dGUgY29waWVzIG9mIGZyZWUgc29mdHdhcmUgKGFuZCBjaGFyZ2UgZm9yCnRoaXMgc2VydmljZSBpZiB5b3Ugd2lzaCksIHRoYXQgeW91IHJlY2VpdmUgc291cmNlIGNvZGUgb3IgY2FuIGdldCBpdAppZiB5b3Ugd2FudCBpdCwgdGhhdCB5b3UgY2FuIGNoYW5nZSB0aGUgc29mdHdhcmUgb3IgdXNlIHBpZWNlcyBvZiBpdAppbiBuZXcgZnJlZSBwcm9ncmFtczsgYW5kIHRoYXQgeW91IGtub3cgeW91IGNhbiBkbyB0aGVzZSB0aGluZ3MuCgogIFRvIHByb3RlY3QgeW91ciByaWdodHMsIHdlIG5lZWQgdG8gbWFrZSByZXN0cmljdGlvbnMgdGhhdCBmb3JiaWQKYW55b25lIHRvIGRlbnkgeW91IHRoZXNlIHJpZ2h0cyBvciB0byBhc2sgeW91IHRvIHN1cnJlbmRlciB0aGUgcmlnaHRzLgpUaGVzZSByZXN0cmljdGlvbnMgdHJhbnNsYXRlIHRvIGNlcnRhaW4gcmVzcG9uc2liaWxpdGllcyBmb3IgeW91IGlmIHlvdQpkaXN0cmlidXRlIGNvcGllcyBvZiB0aGUgc29mdHdhcmUsIG9yIGlmIHlvdSBtb2RpZnkgaXQuCgogIEZvciBleGFtcGxlLCBpZiB5b3UgZGlzdHJpYnV0ZSBjb3BpZXMgb2Ygc3VjaCBhIHByb2dyYW0sIHdoZXRoZXIKZ3JhdGlzIG9yIGZvciBhIGZlZSwgeW91IG11c3QgZ2l2ZSB0aGUgcmVjaXBpZW50cyBhbGwgdGhlIHJpZ2h0cyB0aGF0CnlvdSBoYXZlLiAgWW91IG11c3QgbWFrZSBzdXJlIHRoYXQgdGhleSwgdG9vLCByZWNlaXZlIG9yIGNhbiBnZXQgdGhlCnNvdXJjZSBjb2RlLiAgQW5kIHlvdSBtdXN0IHNob3cgdGhlbSB0aGVzZSB0ZXJtcyBzbyB0aGV5IGtub3cgdGhlaXIKcmlnaHRzLgoKICBXZSBwcm90ZWN0IHlvdXIgcmlnaHRzIHdpdGggdHdvIHN0ZXBzOiAoMSkgY29weXJpZ2h0IHRoZSBzb2Z0d2FyZSwgYW5kCigyKSBvZmZlciB5b3UgdGhpcyBsaWNlbnNlIHdoaWNoIGdpdmVzIHlvdSBsZWdhbCBwZXJtaXNzaW9uIHRvIGNvcHksCmRpc3RyaWJ1dGUgYW5kL29yIG1vZGlmeSB0aGUgc29mdHdhcmUuCgogIEFsc28sIGZvciBlYWNoIGF1dGhvcidzIHByb3RlY3Rpb24gYW5kIG91cnMsIHdlIHdhbnQgdG8gbWFrZSBjZXJ0YWluCnRoYXQgZXZlcnlvbmUgdW5kZXJzdGFuZHMgdGhhdCB0aGVyZSBpcyBubyB3YXJyYW50eSBmb3IgdGhpcyBmcmVlCnNvZnR3YXJlLiAgSWYgdGhlIHNvZnR3YXJlIGlzIG1vZGlmaWVkIGJ5IHNvbWVvbmUgZWxzZSBhbmQgcGFzc2VkIG9uLCB3ZQp3YW50IGl0cyByZWNpcGllbnRzIHRvIGtub3cgdGhhdCB3aGF0IHRoZXkgaGF2ZSBpcyBub3QgdGhlIG9yaWdpbmFsLCBzbwp0aGF0IGFueSBwcm9ibGVtcyBpbnRyb2R1Y2VkIGJ5IG90aGVycyB3aWxsIG5vdCByZWZsZWN0IG9uIHRoZSBvcmlnaW5hbAphdXRob3JzJyByZXB1dGF0aW9ucy4KCiAgRmluYWxseSwgYW55IGZyZWUgcHJvZ3JhbSBpcyB0aHJlYXRlbmVkIGNvbnN0YW50bHkgYnkgc29mdHdhcmUKcGF0ZW50cy4gIFdlIHdpc2ggdG8gYXZvaWQgdGhlIGRhbmdlciB0aGF0IHJlZGlzdHJpYnV0b3JzIG9mIGEgZnJlZQpwcm9ncmFtIHdpbGwgaW5kaXZpZHVhbGx5IG9idGFpbiBwYXRlbnQgbGljZW5zZXMsIGluIGVmZmVjdCBtYWtpbmcgdGhlCnByb2dyYW0gcHJvcHJpZXRhcnkuICBUbyBwcmV2ZW50IHRoaXMsIHdlIGhhdmUgbWFkZSBpdCBjbGVhciB0aGF0IGFueQpwYXRlbnQgbXVzdCBiZSBsaWNlbnNlZCBmb3IgZXZlcnlvbmUncyBmcmVlIHVzZSBvciBub3QgbGljZW5zZWQgYXQgYWxsLgoKICBUaGUgcHJlY2lzZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBmb3IgY29weWluZywgZGlzdHJpYnV0aW9uIGFuZAptb2RpZmljYXRpb24gZm9sbG93LgoKICAgICAgICAgICAgICAgICAgICBHTlUgR0VORVJBTCBQVUJMSUMgTElDRU5TRQogICBURVJNUyBBTkQgQ09ORElUSU9OUyBGT1IgQ09QWUlORywgRElTVFJJQlVUSU9OIEFORCBNT0RJRklDQVRJT04KCiAgMC4gVGhpcyBMaWNlbnNlIGFwcGxpZXMgdG8gYW55IHByb2dyYW0gb3Igb3RoZXIgd29yayB3aGljaCBjb250YWlucwphIG5vdGljZSBwbGFjZWQgYnkgdGhlIGNvcHlyaWdodCBob2xkZXIgc2F5aW5nIGl0IG1heSBiZSBkaXN0cmlidXRlZAp1bmRlciB0aGUgdGVybXMgb2YgdGhpcyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLiAgVGhlICJQcm9ncmFtIiwgYmVsb3csCnJlZmVycyB0byBhbnkgc3VjaCBwcm9ncmFtIG9yIHdvcmssIGFuZCBhICJ3b3JrIGJhc2VkIG9uIHRoZSBQcm9ncmFtIgptZWFucyBlaXRoZXIgdGhlIFByb2dyYW0gb3IgYW55IGRlcml2YXRpdmUgd29yayB1bmRlciBjb3B5cmlnaHQgbGF3Ogp0aGF0IGlzIHRvIHNheSwgYSB3b3JrIGNvbnRhaW5pbmcgdGhlIFByb2dyYW0gb3IgYSBwb3J0aW9uIG9mIGl0LAplaXRoZXIgdmVyYmF0aW0gb3Igd2l0aCBtb2RpZmljYXRpb25zIGFuZC9vciB0cmFuc2xhdGVkIGludG8gYW5vdGhlcgpsYW5ndWFnZS4gIChIZXJlaW5hZnRlciwgdHJhbnNsYXRpb24gaXMgaW5jbHVkZWQgd2l0aG91dCBsaW1pdGF0aW9uIGluCnRoZSB0ZXJtICJtb2RpZmljYXRpb24iLikgIEVhY2ggbGljZW5zZWUgaXMgYWRkcmVzc2VkIGFzICJ5b3UiLgoKQWN0aXZpdGllcyBvdGhlciB0aGFuIGNvcHlpbmcsIGRpc3RyaWJ1dGlvbiBhbmQgbW9kaWZpY2F0aW9uIGFyZSBub3QKY292ZXJlZCBieSB0aGlzIExpY2Vuc2U7IHRoZXkgYXJlIG91dHNpZGUgaXRzIHNjb3BlLiAgVGhlIGFjdCBvZgpydW5uaW5nIHRoZSBQcm9ncmFtIGlzIG5vdCByZXN0cmljdGVkLCBhbmQgdGhlIG91dHB1dCBmcm9tIHRoZSBQcm9ncmFtCmlzIGNvdmVyZWQgb25seSBpZiBpdHMgY29udGVudHMgY29uc3RpdHV0ZSBhIHdvcmsgYmFzZWQgb24gdGhlClByb2dyYW0gKGluZGVwZW5kZW50IG9mIGhhdmluZyBiZWVuIG1hZGUgYnkgcnVubmluZyB0aGUgUHJvZ3JhbSkuCldoZXRoZXIgdGhhdCBpcyB0cnVlIGRlcGVuZHMgb24gd2hhdCB0aGUgUHJvZ3JhbSBkb2VzLgoKICAxLiBZb3UgbWF5IGNvcHkgYW5kIGRpc3RyaWJ1dGUgdmVyYmF0aW0gY29waWVzIG9mIHRoZSBQcm9ncmFtJ3MKc291cmNlIGNvZGUgYXMgeW91IHJlY2VpdmUgaXQsIGluIGFueSBtZWRpdW0sIHByb3ZpZGVkIHRoYXQgeW91CmNvbnNwaWN1b3VzbHkgYW5kIGFwcHJvcHJpYXRlbHkgcHVibGlzaCBvbiBlYWNoIGNvcHkgYW4gYXBwcm9wcmlhdGUKY29weXJpZ2h0IG5vdGljZSBhbmQgZGlzY2xhaW1lciBvZiB3YXJyYW50eTsga2VlcCBpbnRhY3QgYWxsIHRoZQpub3RpY2VzIHRoYXQgcmVmZXIgdG8gdGhpcyBMaWNlbnNlIGFuZCB0byB0aGUgYWJzZW5jZSBvZiBhbnkgd2FycmFudHk7CmFuZCBnaXZlIGFueSBvdGhlciByZWNpcGllbnRzIG9mIHRoZSBQcm9ncmFtIGEgY29weSBvZiB0aGlzIExpY2Vuc2UKYWxvbmcgd2l0aCB0aGUgUHJvZ3JhbS4KCllvdSBtYXkgY2hhcmdlIGEgZmVlIGZvciB0aGUgcGh5c2ljYWwgYWN0IG9mIHRyYW5zZmVycmluZyBhIGNvcHksIGFuZAp5b3UgbWF5IGF0IHlvdXIgb3B0aW9uIG9mZmVyIHdhcnJhbnR5IHByb3RlY3Rpb24gaW4gZXhjaGFuZ2UgZm9yIGEgZmVlLgoKICAyLiBZb3UgbWF5IG1vZGlmeSB5b3VyIGNvcHkgb3IgY29waWVzIG9mIHRoZSBQcm9ncmFtIG9yIGFueSBwb3J0aW9uCm9mIGl0LCB0aHVzIGZvcm1pbmcgYSB3b3JrIGJhc2VkIG9uIHRoZSBQcm9ncmFtLCBhbmQgY29weSBhbmQKZGlzdHJpYnV0ZSBzdWNoIG1vZGlmaWNhdGlvbnMgb3Igd29yayB1bmRlciB0aGUgdGVybXMgb2YgU2VjdGlvbiAxCmFib3ZlLCBwcm92aWRlZCB0aGF0IHlvdSBhbHNvIG1lZXQgYWxsIG9mIHRoZXNlIGNvbmRpdGlvbnM6CgogICAgYSkgWW91IG11c3QgY2F1c2UgdGhlIG1vZGlmaWVkIGZpbGVzIHRvIGNhcnJ5IHByb21pbmVudCBub3RpY2VzCiAgICBzdGF0aW5nIHRoYXQgeW91IGNoYW5nZWQgdGhlIGZpbGVzIGFuZCB0aGUgZGF0ZSBvZiBhbnkgY2hhbmdlLgoKICAgIGIpIFlvdSBtdXN0IGNhdXNlIGFueSB3b3JrIHRoYXQgeW91IGRpc3RyaWJ1dGUgb3IgcHVibGlzaCwgdGhhdCBpbgogICAgd2hvbGUgb3IgaW4gcGFydCBjb250YWlucyBvciBpcyBkZXJpdmVkIGZyb20gdGhlIFByb2dyYW0gb3IgYW55CiAgICBwYXJ0IHRoZXJlb2YsIHRvIGJlIGxpY2Vuc2VkIGFzIGEgd2hvbGUgYXQgbm8gY2hhcmdlIHRvIGFsbCB0aGlyZAogICAgcGFydGllcyB1bmRlciB0aGUgdGVybXMgb2YgdGhpcyBMaWNlbnNlLgoKICAgIGMpIElmIHRoZSBtb2RpZmllZCBwcm9ncmFtIG5vcm1hbGx5IHJlYWRzIGNvbW1hbmRzIGludGVyYWN0aXZlbHkKICAgIHdoZW4gcnVuLCB5b3UgbXVzdCBjYXVzZSBpdCwgd2hlbiBzdGFydGVkIHJ1bm5pbmcgZm9yIHN1Y2gKICAgIGludGVyYWN0aXZlIHVzZSBpbiB0aGUgbW9zdCBvcmRpbmFyeSB3YXksIHRvIHByaW50IG9yIGRpc3BsYXkgYW4KICAgIGFubm91bmNlbWVudCBpbmNsdWRpbmcgYW4gYXBwcm9wcmlhdGUgY29weXJpZ2h0IG5vdGljZSBhbmQgYQogICAgbm90aWNlIHRoYXQgdGhlcmUgaXMgbm8gd2FycmFudHkgKG9yIGVsc2UsIHNheWluZyB0aGF0IHlvdSBwcm92aWRlCiAgICBhIHdhcnJhbnR5KSBhbmQgdGhhdCB1c2VycyBtYXkgcmVkaXN0cmlidXRlIHRoZSBwcm9ncmFtIHVuZGVyCiAgICB0aGVzZSBjb25kaXRpb25zLCBhbmQgdGVsbGluZyB0aGUgdXNlciBob3cgdG8gdmlldyBhIGNvcHkgb2YgdGhpcwogICAgTGljZW5zZS4gIChFeGNlcHRpb246IGlmIHRoZSBQcm9ncmFtIGl0c2VsZiBpcyBpbnRlcmFjdGl2ZSBidXQKICAgIGRvZXMgbm90IG5vcm1hbGx5IHByaW50IHN1Y2ggYW4gYW5ub3VuY2VtZW50LCB5b3VyIHdvcmsgYmFzZWQgb24KICAgIHRoZSBQcm9ncmFtIGlzIG5vdCByZXF1aXJlZCB0byBwcmludCBhbiBhbm5vdW5jZW1lbnQuKQoKVGhlc2UgcmVxdWlyZW1lbnRzIGFwcGx5IHRvIHRoZSBtb2RpZmllZCB3b3JrIGFzIGEgd2hvbGUuICBJZgppZGVudGlmaWFibGUgc2VjdGlvbnMgb2YgdGhhdCB3b3JrIGFyZSBub3QgZGVyaXZlZCBmcm9tIHRoZSBQcm9ncmFtLAphbmQgY2FuIGJlIHJlYXNvbmFibHkgY29uc2lkZXJlZCBpbmRlcGVuZGVudCBhbmQgc2VwYXJhdGUgd29ya3MgaW4KdGhlbXNlbHZlcywgdGhlbiB0aGlzIExpY2Vuc2UsIGFuZCBpdHMgdGVybXMsIGRvIG5vdCBhcHBseSB0byB0aG9zZQpzZWN0aW9ucyB3aGVuIHlvdSBkaXN0cmlidXRlIHRoZW0gYXMgc2VwYXJhdGUgd29ya3MuICBCdXQgd2hlbiB5b3UKZGlzdHJpYnV0ZSB0aGUgc2FtZSBzZWN0aW9ucyBhcyBwYXJ0IG9mIGEgd2hvbGUgd2hpY2ggaXMgYSB3b3JrIGJhc2VkCm9uIHRoZSBQcm9ncmFtLCB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoZSB3aG9sZSBtdXN0IGJlIG9uIHRoZSB0ZXJtcyBvZgp0aGlzIExpY2Vuc2UsIHdob3NlIHBlcm1pc3Npb25zIGZvciBvdGhlciBsaWNlbnNlZXMgZXh0ZW5kIHRvIHRoZQplbnRpcmUgd2hvbGUsIGFuZCB0aHVzIHRvIGVhY2ggYW5kIGV2ZXJ5IHBhcnQgcmVnYXJkbGVzcyBvZiB3aG8gd3JvdGUgaXQuCgpUaHVzLCBpdCBpcyBub3QgdGhlIGludGVudCBvZiB0aGlzIHNlY3Rpb24gdG8gY2xhaW0gcmlnaHRzIG9yIGNvbnRlc3QKeW91ciByaWdodHMgdG8gd29yayB3cml0dGVuIGVudGlyZWx5IGJ5IHlvdTsgcmF0aGVyLCB0aGUgaW50ZW50IGlzIHRvCmV4ZXJjaXNlIHRoZSByaWdodCB0byBjb250cm9sIHRoZSBkaXN0cmlidXRpb24gb2YgZGVyaXZhdGl2ZSBvcgpjb2xsZWN0aXZlIHdvcmtzIGJhc2VkIG9uIHRoZSBQcm9ncmFtLgoKSW4gYWRkaXRpb24sIG1lcmUgYWdncmVnYXRpb24gb2YgYW5vdGhlciB3b3JrIG5vdCBiYXNlZCBvbiB0aGUgUHJvZ3JhbQp3aXRoIHRoZSBQcm9ncmFtIChvciB3aXRoIGEgd29yayBiYXNlZCBvbiB0aGUgUHJvZ3JhbSkgb24gYSB2b2x1bWUgb2YKYSBzdG9yYWdlIG9yIGRpc3RyaWJ1dGlvbiBtZWRpdW0gZG9lcyBub3QgYnJpbmcgdGhlIG90aGVyIHdvcmsgdW5kZXIKdGhlIHNjb3BlIG9mIHRoaXMgTGljZW5zZS4KCiAgMy4gWW91IG1heSBjb3B5IGFuZCBkaXN0cmlidXRlIHRoZSBQcm9ncmFtIChvciBhIHdvcmsgYmFzZWQgb24gaXQsCnVuZGVyIFNlY3Rpb24gMikgaW4gb2JqZWN0IGNvZGUgb3IgZXhlY3V0YWJsZSBmb3JtIHVuZGVyIHRoZSB0ZXJtcyBvZgpTZWN0aW9ucyAxIGFuZCAyIGFib3ZlIHByb3ZpZGVkIHRoYXQgeW91IGFsc28gZG8gb25lIG9mIHRoZSBmb2xsb3dpbmc6CgogICAgYSkgQWNjb21wYW55IGl0IHdpdGggdGhlIGNvbXBsZXRlIGNvcnJlc3BvbmRpbmcgbWFjaGluZS1yZWFkYWJsZQogICAgc291cmNlIGNvZGUsIHdoaWNoIG11c3QgYmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIFNlY3Rpb25zCiAgICAxIGFuZCAyIGFib3ZlIG9uIGEgbWVkaXVtIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlOyBvciwKCiAgICBiKSBBY2NvbXBhbnkgaXQgd2l0aCBhIHdyaXR0ZW4gb2ZmZXIsIHZhbGlkIGZvciBhdCBsZWFzdCB0aHJlZQogICAgeWVhcnMsIHRvIGdpdmUgYW55IHRoaXJkIHBhcnR5LCBmb3IgYSBjaGFyZ2Ugbm8gbW9yZSB0aGFuIHlvdXIKICAgIGNvc3Qgb2YgcGh5c2ljYWxseSBwZXJmb3JtaW5nIHNvdXJjZSBkaXN0cmlidXRpb24sIGEgY29tcGxldGUKICAgIG1hY2hpbmUtcmVhZGFibGUgY29weSBvZiB0aGUgY29ycmVzcG9uZGluZyBzb3VyY2UgY29kZSwgdG8gYmUKICAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiBTZWN0aW9ucyAxIGFuZCAyIGFib3ZlIG9uIGEgbWVkaXVtCiAgICBjdXN0b21hcmlseSB1c2VkIGZvciBzb2Z0d2FyZSBpbnRlcmNoYW5nZTsgb3IsCgogICAgYykgQWNjb21wYW55IGl0IHdpdGggdGhlIGluZm9ybWF0aW9uIHlvdSByZWNlaXZlZCBhcyB0byB0aGUgb2ZmZXIKICAgIHRvIGRpc3RyaWJ1dGUgY29ycmVzcG9uZGluZyBzb3VyY2UgY29kZS4gIChUaGlzIGFsdGVybmF0aXZlIGlzCiAgICBhbGxvd2VkIG9ubHkgZm9yIG5vbmNvbW1lcmNpYWwgZGlzdHJpYnV0aW9uIGFuZCBvbmx5IGlmIHlvdQogICAgcmVjZWl2ZWQgdGhlIHByb2dyYW0gaW4gb2JqZWN0IGNvZGUgb3IgZXhlY3V0YWJsZSBmb3JtIHdpdGggc3VjaAogICAgYW4gb2ZmZXIsIGluIGFjY29yZCB3aXRoIFN1YnNlY3Rpb24gYiBhYm92ZS4pCgpUaGUgc291cmNlIGNvZGUgZm9yIGEgd29yayBtZWFucyB0aGUgcHJlZmVycmVkIGZvcm0gb2YgdGhlIHdvcmsgZm9yCm1ha2luZyBtb2RpZmljYXRpb25zIHRvIGl0LiAgRm9yIGFuIGV4ZWN1dGFibGUgd29yaywgY29tcGxldGUgc291cmNlCmNvZGUgbWVhbnMgYWxsIHRoZSBzb3VyY2UgY29kZSBmb3IgYWxsIG1vZHVsZXMgaXQgY29udGFpbnMsIHBsdXMgYW55CmFzc29jaWF0ZWQgaW50ZXJmYWNlIGRlZmluaXRpb24gZmlsZXMsIHBsdXMgdGhlIHNjcmlwdHMgdXNlZCB0bwpjb250cm9sIGNvbXBpbGF0aW9uIGFuZCBpbnN0YWxsYXRpb24gb2YgdGhlIGV4ZWN1dGFibGUuICBIb3dldmVyLCBhcyBhCnNwZWNpYWwgZXhjZXB0aW9uLCB0aGUgc291cmNlIGNvZGUgZGlzdHJpYnV0ZWQgbmVlZCBub3QgaW5jbHVkZQphbnl0aGluZyB0aGF0IGlzIG5vcm1hbGx5IGRpc3RyaWJ1dGVkIChpbiBlaXRoZXIgc291cmNlIG9yIGJpbmFyeQpmb3JtKSB3aXRoIHRoZSBtYWpvciBjb21wb25lbnRzIChjb21waWxlciwga2VybmVsLCBhbmQgc28gb24pIG9mIHRoZQpvcGVyYXRpbmcgc3lzdGVtIG9uIHdoaWNoIHRoZSBleGVjdXRhYmxlIHJ1bnMsIHVubGVzcyB0aGF0IGNvbXBvbmVudAppdHNlbGYgYWNjb21wYW5pZXMgdGhlIGV4ZWN1dGFibGUuCgpJZiBkaXN0cmlidXRpb24gb2YgZXhlY3V0YWJsZSBvciBvYmplY3QgY29kZSBpcyBtYWRlIGJ5IG9mZmVyaW5nCmFjY2VzcyB0byBjb3B5IGZyb20gYSBkZXNpZ25hdGVkIHBsYWNlLCB0aGVuIG9mZmVyaW5nIGVxdWl2YWxlbnQKYWNjZXNzIHRvIGNvcHkgdGhlIHNvdXJjZSBjb2RlIGZyb20gdGhlIHNhbWUgcGxhY2UgY291bnRzIGFzCmRpc3RyaWJ1dGlvbiBvZiB0aGUgc291cmNlIGNvZGUsIGV2ZW4gdGhvdWdoIHRoaXJkIHBhcnRpZXMgYXJlIG5vdApjb21wZWxsZWQgdG8gY29weSB0aGUgc291cmNlIGFsb25nIHdpdGggdGhlIG9iamVjdCBjb2RlLgoKICA0LiBZb3UgbWF5IG5vdCBjb3B5LCBtb2RpZnksIHN1YmxpY2Vuc2UsIG9yIGRpc3RyaWJ1dGUgdGhlIFByb2dyYW0KZXhjZXB0IGFzIGV4cHJlc3NseSBwcm92aWRlZCB1bmRlciB0aGlzIExpY2Vuc2UuICBBbnkgYXR0ZW1wdApvdGhlcndpc2UgdG8gY29weSwgbW9kaWZ5LCBzdWJsaWNlbnNlIG9yIGRpc3RyaWJ1dGUgdGhlIFByb2dyYW0gaXMKdm9pZCwgYW5kIHdpbGwgYXV0b21hdGljYWxseSB0ZXJtaW5hdGUgeW91ciByaWdodHMgdW5kZXIgdGhpcyBMaWNlbnNlLgpIb3dldmVyLCBwYXJ0aWVzIHdobyBoYXZlIHJlY2VpdmVkIGNvcGllcywgb3IgcmlnaHRzLCBmcm9tIHlvdSB1bmRlcgp0aGlzIExpY2Vuc2Ugd2lsbCBub3QgaGF2ZSB0aGVpciBsaWNlbnNlcyB0ZXJtaW5hdGVkIHNvIGxvbmcgYXMgc3VjaApwYXJ0aWVzIHJlbWFpbiBpbiBmdWxsIGNvbXBsaWFuY2UuCgogIDUuIFlvdSBhcmUgbm90IHJlcXVpcmVkIHRvIGFjY2VwdCB0aGlzIExpY2Vuc2UsIHNpbmNlIHlvdSBoYXZlIG5vdApzaWduZWQgaXQuICBIb3dldmVyLCBub3RoaW5nIGVsc2UgZ3JhbnRzIHlvdSBwZXJtaXNzaW9uIHRvIG1vZGlmeSBvcgpkaXN0cmlidXRlIHRoZSBQcm9ncmFtIG9yIGl0cyBkZXJpdmF0aXZlIHdvcmtzLiAgVGhlc2UgYWN0aW9ucyBhcmUKcHJvaGliaXRlZCBieSBsYXcgaWYgeW91IGRvIG5vdCBhY2NlcHQgdGhpcyBMaWNlbnNlLiAgVGhlcmVmb3JlLCBieQptb2RpZnlpbmcgb3IgZGlzdHJpYnV0aW5nIHRoZSBQcm9ncmFtIChvciBhbnkgd29yayBiYXNlZCBvbiB0aGUKUHJvZ3JhbSksIHlvdSBpbmRpY2F0ZSB5b3VyIGFjY2VwdGFuY2Ugb2YgdGhpcyBMaWNlbnNlIHRvIGRvIHNvLCBhbmQKYWxsIGl0cyB0ZXJtcyBhbmQgY29uZGl0aW9ucyBmb3IgY29weWluZywgZGlzdHJpYnV0aW5nIG9yIG1vZGlmeWluZwp0aGUgUHJvZ3JhbSBvciB3b3JrcyBiYXNlZCBvbiBpdC4KCiAgNi4gRWFjaCB0aW1lIHlvdSByZWRpc3RyaWJ1dGUgdGhlIFByb2dyYW0gKG9yIGFueSB3b3JrIGJhc2VkIG9uIHRoZQpQcm9ncmFtKSwgdGhlIHJlY2lwaWVudCBhdXRvbWF0aWNhbGx5IHJlY2VpdmVzIGEgbGljZW5zZSBmcm9tIHRoZQpvcmlnaW5hbCBsaWNlbnNvciB0byBjb3B5LCBkaXN0cmlidXRlIG9yIG1vZGlmeSB0aGUgUHJvZ3JhbSBzdWJqZWN0IHRvCnRoZXNlIHRlcm1zIGFuZCBjb25kaXRpb25zLiAgWW91IG1heSBub3QgaW1wb3NlIGFueSBmdXJ0aGVyCnJlc3RyaWN0aW9ucyBvbiB0aGUgcmVjaXBpZW50cycgZXhlcmNpc2Ugb2YgdGhlIHJpZ2h0cyBncmFudGVkIGhlcmVpbi4KWW91IGFyZSBub3QgcmVzcG9uc2libGUgZm9yIGVuZm9yY2luZyBjb21wbGlhbmNlIGJ5IHRoaXJkIHBhcnRpZXMgdG8KdGhpcyBMaWNlbnNlLgoKICA3LiBJZiwgYXMgYSBjb25zZXF1ZW5jZSBvZiBhIGNvdXJ0IGp1ZGdtZW50IG9yIGFsbGVnYXRpb24gb2YgcGF0ZW50CmluZnJpbmdlbWVudCBvciBmb3IgYW55IG90aGVyIHJlYXNvbiAobm90IGxpbWl0ZWQgdG8gcGF0ZW50IGlzc3VlcyksCmNvbmRpdGlvbnMgYXJlIGltcG9zZWQgb24geW91ICh3aGV0aGVyIGJ5IGNvdXJ0IG9yZGVyLCBhZ3JlZW1lbnQgb3IKb3RoZXJ3aXNlKSB0aGF0IGNvbnRyYWRpY3QgdGhlIGNvbmRpdGlvbnMgb2YgdGhpcyBMaWNlbnNlLCB0aGV5IGRvIG5vdApleGN1c2UgeW91IGZyb20gdGhlIGNvbmRpdGlvbnMgb2YgdGhpcyBMaWNlbnNlLiAgSWYgeW91IGNhbm5vdApkaXN0cmlidXRlIHNvIGFzIHRvIHNhdGlzZnkgc2ltdWx0YW5lb3VzbHkgeW91ciBvYmxpZ2F0aW9ucyB1bmRlciB0aGlzCkxpY2Vuc2UgYW5kIGFueSBvdGhlciBwZXJ0aW5lbnQgb2JsaWdhdGlvbnMsIHRoZW4gYXMgYSBjb25zZXF1ZW5jZSB5b3UKbWF5IG5vdCBkaXN0cmlidXRlIHRoZSBQcm9ncmFtIGF0IGFsbC4gIEZvciBleGFtcGxlLCBpZiBhIHBhdGVudApsaWNlbnNlIHdvdWxkIG5vdCBwZXJtaXQgcm95YWx0eS1mcmVlIHJlZGlzdHJpYnV0aW9uIG9mIHRoZSBQcm9ncmFtIGJ5CmFsbCB0aG9zZSB3aG8gcmVjZWl2ZSBjb3BpZXMgZGlyZWN0bHkgb3IgaW5kaXJlY3RseSB0aHJvdWdoIHlvdSwgdGhlbgp0aGUgb25seSB3YXkgeW91IGNvdWxkIHNhdGlzZnkgYm90aCBpdCBhbmQgdGhpcyBMaWNlbnNlIHdvdWxkIGJlIHRvCnJlZnJhaW4gZW50aXJlbHkgZnJvbSBkaXN0cmlidXRpb24gb2YgdGhlIFByb2dyYW0uCgpJZiBhbnkgcG9ydGlvbiBvZiB0aGlzIHNlY3Rpb24gaXMgaGVsZCBpbnZhbGlkIG9yIHVuZW5mb3JjZWFibGUgdW5kZXIKYW55IHBhcnRpY3VsYXIgY2lyY3Vtc3RhbmNlLCB0aGUgYmFsYW5jZSBvZiB0aGUgc2VjdGlvbiBpcyBpbnRlbmRlZCB0bwphcHBseSBhbmQgdGhlIHNlY3Rpb24gYXMgYSB3aG9sZSBpcyBpbnRlbmRlZCB0byBhcHBseSBpbiBvdGhlcgpjaXJjdW1zdGFuY2VzLgoKSXQgaXMgbm90IHRoZSBwdXJwb3NlIG9mIHRoaXMgc2VjdGlvbiB0byBpbmR1Y2UgeW91IHRvIGluZnJpbmdlIGFueQpwYXRlbnRzIG9yIG90aGVyIHByb3BlcnR5IHJpZ2h0IGNsYWltcyBvciB0byBjb250ZXN0IHZhbGlkaXR5IG9mIGFueQpzdWNoIGNsYWltczsgdGhpcyBzZWN0aW9uIGhhcyB0aGUgc29sZSBwdXJwb3NlIG9mIHByb3RlY3RpbmcgdGhlCmludGVncml0eSBvZiB0aGUgZnJlZSBzb2Z0d2FyZSBkaXN0cmlidXRpb24gc3lzdGVtLCB3aGljaCBpcwppbXBsZW1lbnRlZCBieSBwdWJsaWMgbGljZW5zZSBwcmFjdGljZXMuICBNYW55IHBlb3BsZSBoYXZlIG1hZGUKZ2VuZXJvdXMgY29udHJpYnV0aW9ucyB0byB0aGUgd2lkZSByYW5nZSBvZiBzb2Z0d2FyZSBkaXN0cmlidXRlZAp0aHJvdWdoIHRoYXQgc3lzdGVtIGluIHJlbGlhbmNlIG9uIGNvbnNpc3RlbnQgYXBwbGljYXRpb24gb2YgdGhhdApzeXN0ZW07IGl0IGlzIHVwIHRvIHRoZSBhdXRob3IvZG9ub3IgdG8gZGVjaWRlIGlmIGhlIG9yIHNoZSBpcyB3aWxsaW5nCnRvIGRpc3RyaWJ1dGUgc29mdHdhcmUgdGhyb3VnaCBhbnkgb3RoZXIgc3lzdGVtIGFuZCBhIGxpY2Vuc2VlIGNhbm5vdAppbXBvc2UgdGhhdCBjaG9pY2UuCgpUaGlzIHNlY3Rpb24gaXMgaW50ZW5kZWQgdG8gbWFrZSB0aG9yb3VnaGx5IGNsZWFyIHdoYXQgaXMgYmVsaWV2ZWQgdG8KYmUgYSBjb25zZXF1ZW5jZSBvZiB0aGUgcmVzdCBvZiB0aGlzIExpY2Vuc2UuCgogIDguIElmIHRoZSBkaXN0cmlidXRpb24gYW5kL29yIHVzZSBvZiB0aGUgUHJvZ3JhbSBpcyByZXN0cmljdGVkIGluCmNlcnRhaW4gY291bnRyaWVzIGVpdGhlciBieSBwYXRlbnRzIG9yIGJ5IGNvcHlyaWdodGVkIGludGVyZmFjZXMsIHRoZQpvcmlnaW5hbCBjb3B5cmlnaHQgaG9sZGVyIHdobyBwbGFjZXMgdGhlIFByb2dyYW0gdW5kZXIgdGhpcyBMaWNlbnNlCm1heSBhZGQgYW4gZXhwbGljaXQgZ2VvZ3JhcGhpY2FsIGRpc3RyaWJ1dGlvbiBsaW1pdGF0aW9uIGV4Y2x1ZGluZwp0aG9zZSBjb3VudHJpZXMsIHNvIHRoYXQgZGlzdHJpYnV0aW9uIGlzIHBlcm1pdHRlZCBvbmx5IGluIG9yIGFtb25nCmNvdW50cmllcyBub3QgdGh1cyBleGNsdWRlZC4gIEluIHN1Y2ggY2FzZSwgdGhpcyBMaWNlbnNlIGluY29ycG9yYXRlcwp0aGUgbGltaXRhdGlvbiBhcyBpZiB3cml0dGVuIGluIHRoZSBib2R5IG9mIHRoaXMgTGljZW5zZS4KCiAgOS4gVGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiBtYXkgcHVibGlzaCByZXZpc2VkIGFuZC9vciBuZXcgdmVyc2lvbnMKb2YgdGhlIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZnJvbSB0aW1lIHRvIHRpbWUuICBTdWNoIG5ldyB2ZXJzaW9ucyB3aWxsCmJlIHNpbWlsYXIgaW4gc3Bpcml0IHRvIHRoZSBwcmVzZW50IHZlcnNpb24sIGJ1dCBtYXkgZGlmZmVyIGluIGRldGFpbCB0bwphZGRyZXNzIG5ldyBwcm9ibGVtcyBvciBjb25jZXJucy4KCkVhY2ggdmVyc2lvbiBpcyBnaXZlbiBhIGRpc3Rpbmd1aXNoaW5nIHZlcnNpb24gbnVtYmVyLiAgSWYgdGhlIFByb2dyYW0Kc3BlY2lmaWVzIGEgdmVyc2lvbiBudW1iZXIgb2YgdGhpcyBMaWNlbnNlIHdoaWNoIGFwcGxpZXMgdG8gaXQgYW5kICJhbnkKbGF0ZXIgdmVyc2lvbiIsIHlvdSBoYXZlIHRoZSBvcHRpb24gb2YgZm9sbG93aW5nIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucwplaXRoZXIgb2YgdGhhdCB2ZXJzaW9uIG9yIG9mIGFueSBsYXRlciB2ZXJzaW9uIHB1Ymxpc2hlZCBieSB0aGUgRnJlZQpTb2Z0d2FyZSBGb3VuZGF0aW9uLiAgSWYgdGhlIFByb2dyYW0gZG9lcyBub3Qgc3BlY2lmeSBhIHZlcnNpb24gbnVtYmVyIG9mCnRoaXMgTGljZW5zZSwgeW91IG1heSBjaG9vc2UgYW55IHZlcnNpb24gZXZlciBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUKRm91bmRhdGlvbi4KCiAgMTAuIElmIHlvdSB3aXNoIHRvIGluY29ycG9yYXRlIHBhcnRzIG9mIHRoZSBQcm9ncmFtIGludG8gb3RoZXIgZnJlZQpwcm9ncmFtcyB3aG9zZSBkaXN0cmlidXRpb24gY29uZGl0aW9ucyBhcmUgZGlmZmVyZW50LCB3cml0ZSB0byB0aGUgYXV0aG9yCnRvIGFzayBmb3IgcGVybWlzc2lvbi4gIEZvciBzb2Z0d2FyZSB3aGljaCBpcyBjb3B5cmlnaHRlZCBieSB0aGUgRnJlZQpTb2Z0d2FyZSBGb3VuZGF0aW9uLCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyB3ZSBzb21ldGltZXMKbWFrZSBleGNlcHRpb25zIGZvciB0aGlzLiAgT3VyIGRlY2lzaW9uIHdpbGwgYmUgZ3VpZGVkIGJ5IHRoZSB0d28gZ29hbHMKb2YgcHJlc2VydmluZyB0aGUgZnJlZSBzdGF0dXMgb2YgYWxsIGRlcml2YXRpdmVzIG9mIG91ciBmcmVlIHNvZnR3YXJlIGFuZApvZiBwcm9tb3RpbmcgdGhlIHNoYXJpbmcgYW5kIHJldXNlIG9mIHNvZnR3YXJlIGdlbmVyYWxseS4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBOTyBXQVJSQU5UWQoKICAxMS4gQkVDQVVTRSBUSEUgUFJPR1JBTSBJUyBMSUNFTlNFRCBGUkVFIE9GIENIQVJHRSwgVEhFUkUgSVMgTk8gV0FSUkFOVFkKRk9SIFRIRSBQUk9HUkFNLCBUTyBUSEUgRVhURU5UIFBFUk1JVFRFRCBCWSBBUFBMSUNBQkxFIExBVy4gIEVYQ0VQVCBXSEVOCk9USEVSV0lTRSBTVEFURUQgSU4gV1JJVElORyBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EL09SIE9USEVSIFBBUlRJRVMKUFJPVklERSBUSEUgUFJPR1JBTSAiQVMgSVMiIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVJVEhFUiBFWFBSRVNTRUQKT1IgSU1QTElFRCwgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFRIRSBFTlRJUkUgUklTSyBBUwpUTyBUSEUgUVVBTElUWSBBTkQgUEVSRk9STUFOQ0UgT0YgVEhFIFBST0dSQU0gSVMgV0lUSCBZT1UuICBTSE9VTEQgVEhFClBST0dSQU0gUFJPVkUgREVGRUNUSVZFLCBZT1UgQVNTVU1FIFRIRSBDT1NUIE9GIEFMTCBORUNFU1NBUlkgU0VSVklDSU5HLApSRVBBSVIgT1IgQ09SUkVDVElPTi4KCiAgMTIuIElOIE5PIEVWRU5UIFVOTEVTUyBSRVFVSVJFRCBCWSBBUFBMSUNBQkxFIExBVyBPUiBBR1JFRUQgVE8gSU4gV1JJVElORwpXSUxMIEFOWSBDT1BZUklHSFQgSE9MREVSLCBPUiBBTlkgT1RIRVIgUEFSVFkgV0hPIE1BWSBNT0RJRlkgQU5EL09SClJFRElTVFJJQlVURSBUSEUgUFJPR1JBTSBBUyBQRVJNSVRURUQgQUJPVkUsIEJFIExJQUJMRSBUTyBZT1UgRk9SIERBTUFHRVMsCklOQ0xVRElORyBBTlkgR0VORVJBTCwgU1BFQ0lBTCwgSU5DSURFTlRBTCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgQVJJU0lORwpPVVQgT0YgVEhFIFVTRSBPUiBJTkFCSUxJVFkgVE8gVVNFIFRIRSBQUk9HUkFNIChJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEClRPIExPU1MgT0YgREFUQSBPUiBEQVRBIEJFSU5HIFJFTkRFUkVEIElOQUNDVVJBVEUgT1IgTE9TU0VTIFNVU1RBSU5FRCBCWQpZT1UgT1IgVEhJUkQgUEFSVElFUyBPUiBBIEZBSUxVUkUgT0YgVEhFIFBST0dSQU0gVE8gT1BFUkFURSBXSVRIIEFOWSBPVEhFUgpQUk9HUkFNUyksIEVWRU4gSUYgU1VDSCBIT0xERVIgT1IgT1RIRVIgUEFSVFkgSEFTIEJFRU4gQURWSVNFRCBPRiBUSEUKUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0VTLgoKICAgICAgICAgICAgICAgICAgICAgRU5EIE9GIFRFUk1TIEFORCBDT05ESVRJT05TCgogICAgICAgICAgICBIb3cgdG8gQXBwbHkgVGhlc2UgVGVybXMgdG8gWW91ciBOZXcgUHJvZ3JhbXMKCiAgSWYgeW91IGRldmVsb3AgYSBuZXcgcHJvZ3JhbSwgYW5kIHlvdSB3YW50IGl0IHRvIGJlIG9mIHRoZSBncmVhdGVzdApwb3NzaWJsZSB1c2UgdG8gdGhlIHB1YmxpYywgdGhlIGJlc3Qgd2F5IHRvIGFjaGlldmUgdGhpcyBpcyB0byBtYWtlIGl0CmZyZWUgc29mdHdhcmUgd2hpY2ggZXZlcnlvbmUgY2FuIHJlZGlzdHJpYnV0ZSBhbmQgY2hhbmdlIHVuZGVyIHRoZXNlIHRlcm1zLgoKICBUbyBkbyBzbywgYXR0YWNoIHRoZSBmb2xsb3dpbmcgbm90aWNlcyB0byB0aGUgcHJvZ3JhbS4gIEl0IGlzIHNhZmVzdAp0byBhdHRhY2ggdGhlbSB0byB0aGUgc3RhcnQgb2YgZWFjaCBzb3VyY2UgZmlsZSB0byBtb3N0IGVmZmVjdGl2ZWx5CmNvbnZleSB0aGUgZXhjbHVzaW9uIG9mIHdhcnJhbnR5OyBhbmQgZWFjaCBmaWxlIHNob3VsZCBoYXZlIGF0IGxlYXN0CnRoZSAiY29weXJpZ2h0IiBsaW5lIGFuZCBhIHBvaW50ZXIgdG8gd2hlcmUgdGhlIGZ1bGwgbm90aWNlIGlzIGZvdW5kLgoKICAgIDxvbmUgbGluZSB0byBnaXZlIHRoZSBwcm9ncmFtJ3MgbmFtZSBhbmQgYSBicmllZiBpZGVhIG9mIHdoYXQgaXQgZG9lcy4+CiAgICBDb3B5cmlnaHQgKEMpIDx5ZWFyPiAgPG5hbWUgb2YgYXV0aG9yPgoKICAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiAgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKICAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgogICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KCiAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZwogICAgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwKICAgIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EuCgpBbHNvIGFkZCBpbmZvcm1hdGlvbiBvbiBob3cgdG8gY29udGFjdCB5b3UgYnkgZWxlY3Ryb25pYyBhbmQgcGFwZXIgbWFpbC4KCklmIHRoZSBwcm9ncmFtIGlzIGludGVyYWN0aXZlLCBtYWtlIGl0IG91dHB1dCBhIHNob3J0IG5vdGljZSBsaWtlIHRoaXMKd2hlbiBpdCBzdGFydHMgaW4gYW4gaW50ZXJhY3RpdmUgbW9kZToKCiAgICBHbm9tb3Zpc2lvbiB2ZXJzaW9uIDY5LCBDb3B5cmlnaHQgKEMpIHllYXIgbmFtZSBvZiBhdXRob3IKICAgIEdub21vdmlzaW9uIGNvbWVzIHdpdGggQUJTT0xVVEVMWSBOTyBXQVJSQU5UWTsgZm9yIGRldGFpbHMgdHlwZSBgc2hvdyB3Jy4KICAgIFRoaXMgaXMgZnJlZSBzb2Z0d2FyZSwgYW5kIHlvdSBhcmUgd2VsY29tZSB0byByZWRpc3RyaWJ1dGUgaXQKICAgIHVuZGVyIGNlcnRhaW4gY29uZGl0aW9uczsgdHlwZSBgc2hvdyBjJyBmb3IgZGV0YWlscy4KClRoZSBoeXBvdGhldGljYWwgY29tbWFuZHMgYHNob3cgdycgYW5kIGBzaG93IGMnIHNob3VsZCBzaG93IHRoZSBhcHByb3ByaWF0ZQpwYXJ0cyBvZiB0aGUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4gIE9mIGNvdXJzZSwgdGhlIGNvbW1hbmRzIHlvdSB1c2UgbWF5CmJlIGNhbGxlZCBzb21ldGhpbmcgb3RoZXIgdGhhbiBgc2hvdyB3JyBhbmQgYHNob3cgYyc7IHRoZXkgY291bGQgZXZlbiBiZQptb3VzZS1jbGlja3Mgb3IgbWVudSBpdGVtcy0td2hhdGV2ZXIgc3VpdHMgeW91ciBwcm9ncmFtLgoKWW91IHNob3VsZCBhbHNvIGdldCB5b3VyIGVtcGxveWVyIChpZiB5b3Ugd29yayBhcyBhIHByb2dyYW1tZXIpIG9yIHlvdXIKc2Nob29sLCBpZiBhbnksIHRvIHNpZ24gYSAiY29weXJpZ2h0IGRpc2NsYWltZXIiIGZvciB0aGUgcHJvZ3JhbSwgaWYKbmVjZXNzYXJ5LiAgSGVyZSBpcyBhIHNhbXBsZTsgYWx0ZXIgdGhlIG5hbWVzOgoKICBZb3lvZHluZSwgSW5jLiwgaGVyZWJ5IGRpc2NsYWltcyBhbGwgY29weXJpZ2h0IGludGVyZXN0IGluIHRoZSBwcm9ncmFtCiAgYEdub21vdmlzaW9uJyAod2hpY2ggbWFrZXMgcGFzc2VzIGF0IGNvbXBpbGVycykgd3JpdHRlbiBieSBKYW1lcyBIYWNrZXIuCgogIDxzaWduYXR1cmUgb2YgVHkgQ29vbj4sIDEgQXByaWwgMTk4OQogIFR5IENvb24sIFByZXNpZGVudCBvZiBWaWNlCgpUaGlzIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZG9lcyBub3QgcGVybWl0IGluY29ycG9yYXRpbmcgeW91ciBwcm9ncmFtIGludG8KcHJvcHJpZXRhcnkgcHJvZ3JhbXMuICBJZiB5b3VyIHByb2dyYW0gaXMgYSBzdWJyb3V0aW5lIGxpYnJhcnksIHlvdSBtYXkKY29uc2lkZXIgaXQgbW9yZSB1c2VmdWwgdG8gcGVybWl0IGxpbmtpbmcgcHJvcHJpZXRhcnkgYXBwbGljYXRpb25zIHdpdGggdGhlCmxpYnJhcnkuICBJZiB0aGlzIGlzIHdoYXQgeW91IHdhbnQgdG8gZG8sIHVzZSB0aGUgR05VIExlc3NlciBHZW5lcmFsClB1YmxpYyBMaWNlbnNlIGluc3RlYWQgb2YgdGhpcyBMaWNlbnNlLgo=]]></data>
	</file>
	<file>
	  <filename>/doc/help.inc</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPldoYXQgZG9lcyB0aGlzIGRvPzwvaDM+CjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIHRoZSBhYmlsaXR5IHRvIGVzdGltYXRlIHNoaXBwaW5nIGNvc3RzIHZpYSBDYW5hZGEgUG9zdCBhcyBhIHNoaXBwaW5nIG1vZHVsZSBmb3IgY2FsZ3V5MTAwMCdzIGUtY29tbWVyY2Ugc3VpdGUuPC9wPgoKPGgzPkZlYXR1cmVzOjwvaDM+Cjx1bD4KICA8bGk+QWxsb3dzIGVzdGltYXRpbmcgc2hpcHBpbmcgY29zdHMgZnJvbSB0aGUgdmlldy1jYXJ0IHBhZ2UgKHNlZSBiZWxvdykuPC9saT4KICA8bGk+U3VwcG9ydHMgbXVsdGlwbGUgcGFyY2VscywgYW5kIG11bHRpcGxlIGRlc3RpbmF0aW9ucy48L2xpPgo8L3VsPgoKPGgzPlJlcXVpcmVtZW50czwvaDM+Cjx1bD4KICA8bGk+VGhpcyBtb2R1bGUgcmVxdWlyZXMgdGhhdCB0aGUgQ0dFY29tbWVyY2VCYXNlIG1vZHVsZSdzIGN1cnJlbmN5IHVuaXQgYmUgaW4gQ0FELiAgVGhpcyBtZWFucyB0aGF0IGFsbCBwcm9kdWN0cyBtdXN0IGJlIHNvbGQgaW4gQ2FuYWRpYW4gZG9sbGFycy4gIFVzZSBjYXV0aW9uIHdoZW4gY2hhbmdpbmcgdGhpcyB2YWx1ZSBvbiBhIHByb2R1Y3Rpb24gc2l0ZS48L2xpPgogIDxsaT5UaGlzIG1vZHVsZSB3b3JrcyBiZXN0IGlmIHlvdSBoYXZlIGEgcGFja2FnaW5nIG1vZHVsZSBpbnN0YWxsZWQgYW5kIGNvbmZpZ3VyZWQgdGhhdCBjYW4gY29tcGJpbmUgbXVsdGlwbGUgcHJvZHVjdHMgZnJvbSB0aGUgY2FydCBpbnRvIGZld2VyIHNoaXBwZWQgcGFyY2Vscy48L2xpPgo8L3VsPgoKPGgzPkhvdyBEbyBJIFVzZSBJdDo8L2gzPgo8dWw+CiAgIDxsaT5GaXJzdCwgaW5zdGFsbCB0aGlzIG1vZHVsZSBhbmQgdmlzaXQgaXQncyBhZG1pbiBwYW5lbCB0byBlbnRlciBpZGVudGlmaWNhdGlvbiBjcmVkZW50aWFscy48L2xpPgogICA8bGk+U2Vjb25kLCB2aXNpdCB0aGUgQ0dFY29tbWVyY2VCYXNlIGFkbWluIHBhbmVsLCBhbmQgc2V0IHRoaXMgbW9kdWxlIGFzIHRoZSBzaGlwaW5nIG1vZHVsZS48L2xpPgogICA8bGk+VGhpcmQgKHJlY29tbWVuZGUpLCBJbnN0YWxsIGFuZCBjb25maWd1cmUgYSBwYWNrYWdpbmcgbW9kdWxlLjwvbGk+CjwvdWw+Cgo8aDM+RXN0aW1hdGluZyBjb3N0cyBmcm9tIHRoZSB2aWV3LWNhcnQgcGFnZTwvaDM+CjxwPkFkZCB0aGUgZm9sbG93aW5nIHRvIHRoZSBmb3JtIHRoYXQgZGlzcGxheXMgdGhlIGN1cnJlbnQgdXNlciBjYXJ0OiAgPGNvZGU+e0NhbmFkYVBvc3RTaGlwcGluZyBhY3Rpb249ZXN0aW1hdGV9PC9jb2RlPjwvcD4KCjxoMz5TdXBwb3J0PC9oMz4KPHA+VGhlIG1vZHVsZSBhdXRob3IgaXMgaW4gbm8gd2F5IG9ibGlnYXRlZCB0byBwcm92aWRlIHN1cHBvcnQgZm9yIHRoaXMgY29kZSBpbiBhbnkgZmFzaGlvbi4gIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPgo8dWw+CjxsaT5BIGJ1ZyB0cmFja2luZyBhbmQgZmVhdHVyZSByZXF1ZXN0IHN5c3RlbSBoYXMgYmVlbiBjcmVhdGVkIGZvciB0aGlzIG1vZHVsZSA8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL3Byb2R1Y3RzIj5oZXJlPC9hPi4gIFBsZWFzZSBiZSB2ZXJib3NlIGFuZCBkZXNjcmlwdGl2ZSB3aGVuIHN1Ym1pdHRpbmcgYnVnIHJlcG9ydHMgYW5kIGZlYXR1cmUgcmVxdWVzdHMsIGFuZCBmb3IgYnVnIHJlcG9ydHMgZW5zdXJlIHRoYXQgeW91IGhhdmUgcHJvdmlkZWQgc3VmZmljaWVudCBpbmZvcm1hdGlvbiB0byByZWxpYWJseSByZXByb2R1Y2UgdGhlIGlzc3VlLjwvbGk+CjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uICBXaGVuIGRlc2NyaWJpbmcgYW4gaXNzdWUgcGxlYXNlIG1ha2UgYW4gZWZmb3J0IHRvIHByb3ZpZGUgYWxsIHJlbGF2YW50IGluZm9ybWF0aW9uLCBhIHRob3JvdWdoIGRlc2NyaXB0aW9uIG9mIHlvdXIgaXNzdWUsIGFuZCBzdGVwcyB0byByZXByb2R1Y2UgaXQgb3IgeW91ciBkaXNjdXNzaW9uIG1heSBiZSBpZ25vcmVkLjwvbGk+CjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPgo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkuICBIb3dldmVyLCBwbGVhc2UgdXNlIHRoaXMgYXMgYSBsYXN0IHJlc29ydCwgYW5kIGVuc3VyZSB0aGF0IHlvdSBoYXZlIGZvbGxvd2VkIGFsbCBhcHBsaWNhYmxlIGluc3RydWN0aW9ucyBvbiB0aGUgZm9yZ2UsIGluIHRoZSBmb3J1bXMsIGV0Yy48L2xpPgo8L3VsPgoKPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+CjxwPkNvcHlyaWdodCAmY29weTsgMjAxNywgUm9iZXJ0IENhbXBiZWxsIDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnIj4mbHQ7Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyZndDs8L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+CjxwPlRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cml0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CnRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCihhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uPC9wPgo8cD5Ib3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCmluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluCnNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuPC9wPgo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQpPciByZWFkIGl0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+b25saW5lPC9hPjwvcD4K]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ3RwbHR5cGVfQ2FuYWRhUG9zdFNoaXBwaW5nJ10gPSAnQ2FuYWRhUG9zdFNoaXBwaW5nJzsKJGxhbmdbJ3RwbHR5cGVfRXN0aW1hdGUnXSA9ICdFc3RpbWF0ZSc7CiRsYW5nWyd3YXJuX2N1cnJlbmN5Y29kZSddID0gJzxzdHJvbmc+V2FybmluZzo8L3N0cm9uZz4gVGhpcyBtb2R1bGUgYXNzdW1lcyBDYW5hZGlhbiBjdXJyZW5jeS4gIFlvdXIgY3VycmVudCBjdXJyZW5jeSBzZXR0aW5nIGlzICVzLiAgUGxlYXNlIGFkanVzdCBpdCBpbiB0aGUgQ0dFY29tbWVyY2VCYXNlIGFkbWluIHBhbmVsJzsKJGxhbmdbJ3NoaXBwaW5nX2VzdGltYXRlcyddID0gJ0VzdGltYXRlZCBTaGlwcGluZyBDb3N0cyc7CiRsYW5nWydwb3N0YWx6aXAnXSA9ICdQb3N0YWwvWmlwIENvZGUnOwokbGFuZ1snY291bnRyeSddID0gJ0NvdW50cnknOwokbGFuZ1snY2hlY2tfc2hpcHBpbmcnXSA9ICdHZXQgRXN0aW1hdGUnOwokbGFuZ1snaW5mb19jdXN0b21lcl9udW1iZXInXSA9ICdUaGlzIGlzIGFuIG9wdGlvbmFsIGZpZWxkLCByZXF1aXJlZCB0byBhY2Nlc3MgZGlzY291bnRlZCByYXRlcy4gIE90aGVyd2lzZSBjb3VudHIgKHJldGFpbCkgcmF0ZXMgd2lsbCBiZSByZXR1cm5lZCc7CiRsYW5nWydjdXN0b21lcl9udW1iZXInXSA9ICdDdXN0b21lciBudW1iZXInOwokbGFuZ1sncHJvZHVjdGlvbl9tb2RlJ10gPSAnUHJvZHVjdGlvbiBtb2RlJzsKJGxhbmdbJ3llcyddID0gJ1llcyc7CiRsYW5nWydubyddID0gJ05vJzsKJGxhbmdbJ2Rldl9hcGlfa2V5cyddID0gJ1NhbmRib3gvRGV2ZWxvcG1lbnQgQVBJIEtleXMnOwokbGFuZ1sncHJvZF9hcGlfa2V5cyddID0gJ1Byb2R1Y3Rpb24gQVBJIEtleXMnOwokbGFuZ1sncGFzc3dvcmQnXSA9ICdQYXNzd29yZCc7CiRsYW5nWyd1c2VybmFtZSddID0gJ1VzZXJuYW1lJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ1N1Ym1pdCc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdTaGlwIHdpdGggQ2FuYWRhIFBvc3QnOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdBIFNoaXBwaW5nIG1vZHVsZSBmb3IgQ2FsZ3V5cyBFLWNvbWVtcmNlIHN1aXRlIHRoYXQgZG9lcyBzaGlwcGluZyBlc3RpbWF0ZXMgdmlhIGNhbmFkYSBwb3N0JzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnVGhlICZxdW90O1NoaXAgd2l0aCBDYW5hZGEgUG9zdCZxdW90OyBtb2R1bGUgaGFzIGJlZW4gaW5zdGFsbGVkLiAgUGxlYXNlIHZpc2l0IHRoZSBhZG1pbiBwYW5lbCBhbmQgY29uZmlndXJlIGl0JzsKJGxhbmdbJ3JlYWxseV91bmluc3RhbGwnXSA9ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gdW5pbnN0YWxsIHRoaXMgbW9kdWxlPyAgQ29udGludWluZyBjb3VsZCBicmVhayBhIGZ1bmN0aW9uaW5nIGFwcGxpY2F0aW9uLic7Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/class.Auth.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIENhbmFkYVBvc3RTaGlwcGluZzsKCmNsYXNzIEF1dGggZXh0ZW5kcyBcc3RkQ2xhc3Mge30=]]></data>
	</file>
	<file>
	  <filename>/lib/class.CanadaPostServiceException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIENhbmFkYVBvc3RTaGlwcGluZzsKCmNsYXNzIENhbmFkYVBvc3RTZXJ2aWNlRXhjZXB0aW9uIGV4dGVuZHMgXFJ1bnRpbWVFeGNlcHRpb24ge30=]]></data>
	</file>
	<file>
	  <filename>/lib/class.MultiParcelRatesService.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIENhbmFkYVBvc3RTaGlwcGluZzsKCmNsYXNzIE11bHRpUGFyY2VsUmF0ZXNTZXJ2aWNlCnsKICAgIHByaXZhdGUgJF9hdXRoOwogICAgcHJpdmF0ZSAkX2Zyb207CiAgICBwcml2YXRlICRfdG87CiAgICBwcml2YXRlICRfYm94ZXM7CgogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCBBdXRoICRhdXRoLCBcY2dlX2FkZHJlc3MgJGZyb21fYWRkciA9IG51bGwgKQogICAgewogICAgICAgICR0aGlzLT5fYXV0aCA9ICRhdXRoOwogICAgICAgIGlmKCAkZnJvbV9hZGRyICkgJHRoaXMtPnNldF9mcm9tKCAkZnJvbV9hZGRyICk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldF9mcm9tKCBcY2dlX2FkZHJlc3MgJGFkZHIgKQogICAgewogICAgICAgIC8vIGlmIG5vdCBGUk9NIGNhbmFkYSwgb3Igbm8gcG9zdGFsIGNvZGUsIHRocm93IGFuIGV4Y2VwdGlvbgogICAgICAgICR0aGlzLT5fZnJvbSA9ICRhZGRyOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfdG8oIFxjZ2VfYWRkcmVzcyAkYWRkciApCiAgICB7CiAgICAgICAgJHRoaXMtPl90byA9ICRhZGRyOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBhZGRfcGFja2FnZSggXENHRWNvbW1lcmNlQmFzZVxwYWNraW5nX2JveCAkYm94ICkKICAgIHsKICAgICAgICAkdGhpcy0+X2JveGVzW10gPSAkYm94OwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfcmF0ZXMoKQogICAgewogICAgICAgICR0bXBfYXJyID0gW107CiAgICAgICAgZm9yZWFjaCggJHRoaXMtPl9ib3hlcyBhcyAkYm94ICkgewogICAgICAgICAgICAkc2VydmljZSA9IG5ldyBQYXJjZWxSYXRlU2VydmljZSggJHRoaXMtPl9hdXRoLCAkdGhpcy0+X2Zyb20sICR0aGlzLT5fdG8sICRib3ggKTsKICAgICAgICAgICAgJHJhdGVzID0gJHNlcnZpY2UtPmdldF9yYXRlcygpOwogICAgICAgICAgICBmb3JlYWNoKCAkcmF0ZXMgYXMgJHJhdGUgKSB7CiAgICAgICAgICAgICAgICBpZiggIWlzc2V0KCR0bXBfYXJyWyRyYXRlLT5kZXNjcmlwdGlvbl0pICkgewogICAgICAgICAgICAgICAgICAgICR0bXBfYXJyWyRyYXRlLT5kZXNjcmlwdGlvbl0gPSAkcmF0ZTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgJHRtcF9hcnJbJHJhdGUtPmRlc2NyaXB0aW9uXS0+YWRqdXN0V2l0aCggJHJhdGUgKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgJHJhdGVsaXN0ID0gbmV3IFJhdGVMaXN0OwogICAgICAgIGZvcmVhY2goICR0bXBfYXJyIGFzICRvbmUgKSB7CiAgICAgICAgICAgICRyYXRlbGlzdC0+aW5zZXJ0KCAkb25lICk7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkcmF0ZWxpc3Q7CiAgICB9Cn0gLy8gY2xhc3M=]]></data>
	</file>
	<file>
	  <filename>/lib/class.ParcelRateService.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIENhbmFkYVBvc3RTaGlwcGluZzsKCmNsYXNzIFBhcmNlbFJhdGVTZXJ2aWNlCnsKICAgIHByaXZhdGUgJF9hdXRoOwogICAgcHJpdmF0ZSAkX2Zyb21fYWRkcjsKICAgIHByaXZhdGUgJF90b19hZGRyOwogICAgcHJpdmF0ZSAkX2JveDsKCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoIEF1dGggJGF1dGgsIFxjZ2VfYWRkcmVzcyAkZnJvbV9hZGRyLCBcY2dlX2FkZHJlc3MgJHRvX2FkZHIsIFxDR0Vjb21tZXJjZUJhc2VccGFja2luZ19ib3ggJGJveCApCiAgICB7CiAgICAgICAgJHRoaXMtPl9hdXRoID0gJGF1dGg7CiAgICAgICAgaWYoICEkdGhpcy0+dmFsaWRhdGVfcG9zdGFsKCRmcm9tX2FkZHIsdHJ1ZSkgKSB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCdJbnRlcm5hbDogVGhlIHBvc3RhbCBjb2RlIGZvciB0aGUgY29tcGFueSBhZGRyZXNzIGlzIG1pc3Npbmcgb3IgaW52YWxpZC4nKTsKICAgICAgICAkZnJvbV9hZGRyLT5wb3N0YWwgPSAkdGhpcy0+Zml4X3Bvc3RhbCgkZnJvbV9hZGRyLHRydWUpOwogICAgICAgIGlmKCAhJHRoaXMtPnZhbGlkYXRlX3Bvc3RhbCgkdG9fYWRkcikgKSB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCdUaGUgZGVzdGluYXRpb24gYWRkcmVzcyBpbmZvcm1hdGlvbiBwcm92aWRlZCBpcyBpbmNvbXBsZXRlIG9yIGludmFsaWQuJyk7CiAgICAgICAgJHRvX2FkZHItPnBvc3RhbCA9ICR0aGlzLT5maXhfcG9zdGFsKCR0b19hZGRyKTsKICAgICAgICAkdGhpcy0+X2Zyb21fYWRkciA9ICRmcm9tX2FkZHI7CiAgICAgICAgJHRoaXMtPl90b19hZGRyID0gJHRvX2FkZHI7CiAgICAgICAgJHRoaXMtPl9ib3ggPSAkYm94OwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBmaXhfcG9zdGFsKFxjZ2VfYWRkcmVzcyAkaW4sICRhc3N1bWVfY2FuYWRhID0gZmFsc2UpCiAgICB7CiAgICAgICAgJHBvc3RhbCA9ICRpbi0+cG9zdGFsOwogICAgICAgIGlmKCAkaW4tPmNvdW50cnkgPT0gJ0NBJyB8fCAkYXNzdW1lX2NhbmFkYSApIHsKICAgICAgICAgICAgJHBvc3RhbCA9IHN0cnRvdXBwZXIoJHBvc3RhbCk7CiAgICAgICAgICAgICRwb3N0YWwgPSBzdHJfcmVwbGFjZSgnICcsJycsJHBvc3RhbCk7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkcG9zdGFsOwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiB2YWxpZGF0ZV9wb3N0YWwoXGNnZV9hZGRyZXNzICRpbiwgJGFzc3VtZV9jYW5hZGEgPSBmYWxzZSkKICAgIHsKICAgICAgICBpZiggJGluLT5jb3VudHJ5ID09ICdDQScgfHwgJGFzc3VtZV9jYW5hZGEgKSB7CiAgICAgICAgICAgICRyZWdleCA9ICcvW0FCQ0VHSEpLTE1OUFJTVFZYWV1bMC05XVtBQkNFR0hKS0xNTlBSU1RWV1hZWl0gP1swLTldW0FCQ0VHSEpLTE1OUFJTVFZXWFlaXVswLTldL2knOwogICAgICAgICAgICBpZiggISRpbi0+cG9zdGFsICkgcmV0dXJuIEZBTFNFOwogICAgICAgICAgICBpZiggIXByZWdfbWF0Y2goICRyZWdleCwgJGluLT5wb3N0YWwgKSApIHJldHVybiBGQUxTRTsKICAgICAgICAgICAgcmV0dXJuIFRSVUU7CiAgICAgICAgfQogICAgICAgIGVsc2VpZiggJGluLT5jb3VudHJ5ID09ICdVUycgKSB7CiAgICAgICAgICAgICRyZWdleCA9ICcvXlxkezV9KD86Wy1cc11cZHs0fSk/JC8nOwogICAgICAgICAgICBpZiggISRpbi0+cG9zdGFsICkgcmV0dXJuIEZBTFNFOwogICAgICAgICAgICBpZiggIXByZWdfbWF0Y2goICRyZWdleCwgJGluLT5wb3N0YWwgKSApIHJldHVybiBGQUxTRTsKICAgICAgICAgICAgcmV0dXJuIFRSVUU7CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgICByZXR1cm4gVFJVRTsKICAgICAgICB9CgogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXRfbWFpbGluZ19zY2VuYXJpb190ZXh0KCkKICAgIHsKICAgICAgICAkcm91bmQgPSBmdW5jdGlvbigkaW5fZmxvYXQsJHByZWNpc2lvbiA9IDApIHsKICAgICAgICAgICAgcmV0dXJuIHJvdW5kKCRpbl9mbG9hdCwkcHJlY2lzaW9uLFBIUF9ST1VORF9IQUxGX0RPV04pOwogICAgICAgIH07CgogICAgICAgIC8vIGJveCBkaW1zIGFyZSBpbiBtbS4uIGNvbnZlcnQgdG8gY20uCiAgICAgICAgJGRpbXMgPSBbICRyb3VuZCgkdGhpcy0+X2JveC0+bGVuZ3RoLzEwKSwgJHJvdW5kKCR0aGlzLT5fYm94LT53aWR0aC8xMCksICRyb3VuZCgkdGhpcy0+X2JveC0+ZGVwdGgvMTApIF07CiAgICAgICAgc29ydCggJGRpbXMgKTsKCiAgICAgICAgJHRvcCA9IG5ldyBcU2ltcGxlWE1MRWxlbWVudCggJzxtYWlsaW5nLXNjZW5hcmlvIHhtbG5zPSJodHRwOi8vd3d3LmNhbmFkYXBvc3QuY2Evd3Mvc2hpcC9yYXRlLXYzIj48L21haWxpbmctc2NlbmFyaW8+JyApOwogICAgICAgIGlmKCAkdGhpcy0+X2F1dGgtPmN1c3RfbnVtYmVyICkgewogICAgICAgICAgICAkbm9kZSA9ICR0b3AtPmFkZENoaWxkKCcgY3VzdG9tZXItbnVtYmVyJywgJHRoaXMtPl9hdXRoLT5jdXN0X251bWJlciApOwogICAgICAgIH0KICAgICAgICBpZiggJHRoaXMtPl9hdXRoLT5jb250cmFjdF9pZCApIHsKICAgICAgICAgICAgJG5vZGUgPSAkdG9wLT5hZGRDaGlsZCggJ2NvbnRyYWN0LWlkJywgJHRoaXMtPl9hdXRoLT5jb250cmFjdF9pZCApOwogICAgICAgICAgICAkbm9kZSA9ICR0b3AtPmFkZENoaWxkKCAncXVvdGUtdHlwZScsICdjb21tZXJjaWFsJyApOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICR0b3AtPmFkZENoaWxkKCAncXVvdGUtdHlwZScsICdjb3VudGVyJyApOwogICAgICAgIH0KICAgICAgICAkdG9wLT5hZGRDaGlsZCggJ2V4cGVjdGVkLW1haWxpbmctZGF0ZScsIHN0cmZ0aW1lKCclWS0lbS0lZCcpICk7CiAgICAgICAgJHBhcmNlbCA9ICR0b3AtPmFkZENoaWxkKCAncGFyY2VsLWNoYXJhY3RlcmlzdGljcycgKTsKICAgICAgICAkcGFyY2VsLT5hZGRDaGlsZCggJ3dlaWdodCcsICRyb3VuZCgkdGhpcy0+X2JveC0+dG90YWxfd2VpZ2h0IC8gMTAwMC4wLDMpICk7CiAgICAgICAgJGRpbSA9ICRwYXJjZWwtPmFkZENoaWxkKCAnZGltZW5zaW9ucycgKTsKICAgICAgICAkZGltLT5hZGRDaGlsZCggJ2xlbmd0aCcsICRkaW1zWzBdICk7CiAgICAgICAgJGRpbS0+YWRkQ2hpbGQoICd3aWR0aCcsICRkaW1zWzFdICk7CiAgICAgICAgJGRpbS0+YWRkQ2hpbGQoICdoZWlnaHQnLCAkZGltc1syXSApOwogICAgICAgICR0b3AtPmFkZENoaWxkKCAnb3JpZ2luLXBvc3RhbC1jb2RlJywgJHRoaXMtPl9mcm9tX2FkZHItPnBvc3RhbCApOwogICAgICAgICRkZXN0ID0gJHRvcC0+YWRkQ2hpbGQoICdkZXN0aW5hdGlvbicgKTsKICAgICAgICBpZiggJHRoaXMtPl90b19hZGRyLT5jb3VudHJ5ID09ICdDQScgKSB7CiAgICAgICAgICAgICRkb20gPSAkZGVzdC0+YWRkQ2hpbGQoICdkb21lc3RpYycgKTsKICAgICAgICAgICAgJGRvbS0+YWRkQ2hpbGQoICdwb3N0YWwtY29kZScsICR0aGlzLT5fdG9fYWRkci0+cG9zdGFsICk7CiAgICAgICAgfSBlbHNlIGlmKCAkZGVzdC0+Y291bnRyeSA9PSAnVVMnICkgewogICAgICAgICAgICAkZG9tID0gJGRlc3QtPmFkZENoaWxkKCAndW5pdGVkLXN0YXRlcycgKTsKICAgICAgICAgICAgJGRvbS0+YWRkQ2hpbGQoICd6aXAtY29kZScsICR0aGlzLT5fdG9fYWRkci0+cG9zdGFsICk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJGRvbSA9ICRkZXN0LT5hZGRDaGlsZCggJ2ludGVybmF0aW9uYWwnICk7CiAgICAgICAgICAgICRkb20tPmFkZENoaWxkKCAnY291bnRyeS1jb2RlJywgJHRoaXMtPl90b19hZGRyLT5jb3VudHJ5ICk7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkdG9wLT5hc1hNTCgpOwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBwYXJzZV9yZXNwb25zZSggJHJlc3VsdCApCiAgICB7CiAgICAgICAgJHhtbCA9IG5ldyBcU2ltcGxlWE1MRWxlbWVudCggJHJlc3VsdCApOwoKICAgICAgICAkbGlzdCA9IG5ldyBSYXRlTGlzdDsKICAgICAgICBmb3JlYWNoKCAkeG1sIGFzICRvbmUgKSB7CiAgICAgICAgICAgICRjb2RlID0gKHN0cmluZykgJG9uZS0+eydzZXJ2aWNlLWNvZGUnfTsKICAgICAgICAgICAgJG5hbWUgPSAoc3RyaW5nKSAkb25lLT57J3NlcnZpY2UtbmFtZSd9OwogICAgICAgICAgICAkZHVlID0gKHN0cmluZykgJG9uZS0+eydwcmljZS1kZXRhaWxzJ30tPmR1ZTsKICAgICAgICAgICAgJGRlbGl2ZXJ5ID0gKHN0cmluZykgJG9uZS0+eydzZXJ2aWNlLXN0YW5kYXJkJ30tPnsnZXhwZWN0ZWQtZGVsaXZlcnktZGF0ZSd9OwogICAgICAgICAgICAkcmF0ZSA9IG5ldyBSYXRlRXN0aW1hdGUoICdDYW5hZGEgUG9zdCAtICcuJG5hbWUsICRkdWUsICRkZWxpdmVyeSApOwogICAgICAgICAgICAkbGlzdC0+aW5zZXJ0KCAkcmF0ZSApOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJGxpc3Q7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF9yYXRlcygpCiAgICB7CiAgICAgICAgLy8gcmV0dXJucyBhIFJhdGVDb2xsZWN0aW9uIG9iamVjdC4KICAgICAgICAkdGV4dCA9ICR0aGlzLT5nZXRfbWFpbGluZ19zY2VuYXJpb190ZXh0KCk7CiAgICAgICAgJHJlcXVlc3QgPSBuZXcgUmVtb3RlUmVxdWVzdCggJy9ycy9zaGlwL3ByaWNlJywgJHRoaXMtPl9hdXRoLCAkdGV4dCApOwogICAgICAgICRyZXN1bHQgPSAkcmVxdWVzdC0+Z2V0KCk7CiAgICAgICAgJHJhdGVzID0gJHRoaXMtPnBhcnNlX3Jlc3BvbnNlKCAkcmVzdWx0ICk7CiAgICAgICAgcmV0dXJuICRyYXRlczsKICAgIH0KCgp9]]></data>
	</file>
	<file>
	  <filename>/lib/class.RateEstimate.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIENhbmFkYVBvc3RTaGlwcGluZzsKCmNsYXNzIFJhdGVFc3RpbWF0ZSBleHRlbmRzIFxDR0Vjb21tZXJjZUJhc2Vcc2hpcHBpbmdfZXN0aW1hdGUKewogICAgcHVibGljIGZ1bmN0aW9uIGFkanVzdFdpdGgoIFJhdGVFc3RpbWF0ZSAkaW4gKQogICAgewogICAgICAgICR0aGlzLT5fcHJpY2UgKz0gJGluLT5fcHJpY2U7CiAgICAgICAgJHRoaXMtPl9kZWxpdmVyeSA9IG1pbigkdGhpcy0+X2RlbGl2ZXJ5LCRpbi0+X2RlbGl2ZXJ5KTsKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/class.RateList.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIENhbmFkYVBvc3RTaGlwcGluZzsKCmNsYXNzIFJhdGVMaXN0IGV4dGVuZHMgXFNwbE1pbkhlYXAKewogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGNvbXBhcmUoIFJhdGVFc3RpbWF0ZSAkYSwgUmF0ZUVzdGltYXRlICRiICkgewogICAgICAgIGlmKCAkYS0+cHJpY2UgPCAkYi0+cHJpY2UgKSByZXR1cm4gMTsKICAgICAgICBpZiggJGEtPnByaWNlID4gJGItPnByaWNlICkgcmV0dXJuIC0xOwogICAgICAgIHJldHVybiAwOwogICAgfQp9]]></data>
	</file>
	<file>
	  <filename>/lib/class.RemoteRequest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIENhbmFkYVBvc3RTaGlwcGluZzsKCmNsYXNzIFJlbW90ZVJlcXVlc3QKewogICAgY29uc3QgUFJPRF9VUkwgPSAnaHR0cHM6Ly9zb2EtZ3cuY2FuYWRhcG9zdC5jYSc7CiAgICBjb25zdCBERVZfVVJMID0gJ2h0dHBzOi8vY3Quc29hLWd3LmNhbmFkYXBvc3QuY2EnOwoKICAgIHByaXZhdGUgJF9lbmRwb2ludDsKICAgIHByaXZhdGUgJF9hdXRoOwogICAgcHJpdmF0ZSAkX3htbF9vdXQ7CgogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCAkZW5kcG9pbnQsIEF1dGggJGF1dGgsICR4bWxfb3V0ICkKICAgIHsKICAgICAgICAkdGhpcy0+X2VuZHBvaW50ID0gJGVuZHBvaW50OwogICAgICAgICR0aGlzLT5fYXV0aCA9ICRhdXRoOwogICAgICAgICR0aGlzLT5feG1sX291dCA9ICR4bWxfb3V0OwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXRfdXJsKCkKICAgIHsKICAgICAgICBpZiggJHRoaXMtPl9hdXRoLT5zYW5kYm94ICkgcmV0dXJuIHNlbGY6OkRFVl9VUkwuJHRoaXMtPl9lbmRwb2ludDsKICAgICAgICByZXR1cm4gc2VsZjo6UFJPRF9VUkwuJHN1ZmZpeDsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gcGFyc2VfZXJyb3IoICRpbl94bWwgKQogICAgewogICAgICAgICR4bWwgPSBuZXcgXFNpbXBsZVhNTEVsZW1lbnQoICRpbl94bWwgKTsKICAgICAgICBpZiggJHhtbC0+bWVzc2FnZSApIHsKICAgICAgICAgICAgJGNvZGUgPSAkeG1sLT5tZXNzYWdlLT5jb2RlOwogICAgICAgICAgICAkc3RyID0gJHhtbC0+bWVzc2FnZS0+ZGVzY3JpcHRpb247CiAgICAgICAgICAgIHJldHVybiBbICRzdHIsICRjb2RlIF07CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXQoKQogICAgewogICAgICAgICRodHRwID0gXGNnZV9odHRwOjpnZXRfaHR0cCgpOwogICAgICAgICRodHRwLT5hZGRSZXF1ZXN0SGVhZGVyKCdBY2NlcHQ6IGFwcGxpY2F0aW9uL3ZuZC5jcGMuc2hpcC5yYXRlLXYzK3htbCcgKTsKICAgICAgICAkaHR0cC0+YWRkUmVxdWVzdEhlYWRlcignQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi92bmQuY3BjLnNoaXAucmF0ZS12Myt4bWwnICk7CiAgICAgICAgJGh0dHAtPmFkZFJlcXVlc3RIZWFkZXIoJ0FjY2VwdC1sYW5ndWFnZTogZW4tQ0EnKTsKICAgICAgICAkaHR0cC0+YWRkUmVxdWVzdEhlYWRlcignQXV0aG9yaXphdGlvbjogQmFzaWMgJy5iYXNlNjRfZW5jb2RlKCR0aGlzLT5fYXV0aC0+dXNlcm5hbWUuJzonLiR0aGlzLT5fYXV0aC0+cGFzc3dvcmQpKTsKICAgICAgICAkaHR0cC0+c2V0TWV0aG9kKCdQT1NUJyk7CiAgICAgICAgJGh0dHAtPnNldFJhd1Bvc3REYXRhKCAkdGhpcy0+X3htbF9vdXQgKTsKICAgICAgICAkcmVzdWx0ID0gJGh0dHAtPmV4ZWN1dGUoICR0aGlzLT5nZXRfdXJsKCkgKTsKICAgICAgICAkc3RhdHVzID0gJGh0dHAtPmdldFN0YXR1cygpOwogICAgICAgIGlmKCAkc3RhdHVzICE9IDIwMCApIHsKICAgICAgICAgICAgJGVyciA9ICR0aGlzLT5wYXJzZV9lcnJvciggJHJlc3VsdCApOwogICAgICAgICAgICAkc3RyID0gJ0ludGVybmFsOiBQcm9ibGVtIHRhbGtpbmcgdG8gQ2FuYWRhUG9zdCBTZXJ2aWNlJzsKICAgICAgICAgICAgaWYoICRlcnIgKSAkc3RyID0gJGVyclsxXS4nOiAnLiRlcnJbMF07CiAgICAgICAgICAgIHRocm93IG5ldyBDYW5hZGFQb3N0U2VydmljZUV4Y2VwdGlvbiggJHN0ciApOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJHJlc3VsdDsKICAgIH0KfSAvLyBjbGFzcw==]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiRjcmVhdGVfdGVtcGxhdGVfdHlwZSA9IGZ1bmN0aW9uKCR0eXBlX25hbWUsJG1vZCkgewogICAgdHJ5IHsKICAgICAgICAkdHBsX3R5cGUgPSBuZXcgXENtc0xheW91dFRlbXBsYXRlVHlwZSgpOwogICAgICAgICR0cGxfdHlwZS0+c2V0X29yaWdpbmF0b3IoJHRoaXMtPkdldE5hbWUoKSk7CiAgICAgICAgJHRwbF90eXBlLT5zZXRfZGZsdF9mbGFnKCk7CiAgICAgICAgJHRwbF90eXBlLT5zZXRfbmFtZSgkdHlwZV9uYW1lKTsKICAgICAgICAkdHBsX3R5cGUtPnNldF9sYW5nX2NhbGxiYWNrKCR0aGlzLT5HZXROYW1lKCkuJzo6dHBsX3R5cGVfbGFuZ19jYicpOwogICAgICAgICR0cGxfdHlwZS0+c2V0X2NvbnRlbnRfY2FsbGJhY2soJHRoaXMtPkdldE5hbWUoKS4nOjp0cGxfdHlwZV9yZXNldF9jYicpOwogICAgICAgICR0cGxfdHlwZS0+cmVzZXRfY29udGVudF90b19mYWN0b3J5KCk7CiAgICAgICAgJHRwbF90eXBlLT5zYXZlKCk7CiAgICB9CiAgICBjYXRjaCggXENtc0V4Y2VwdGlvbiAkZSApIHsKICAgICAgICBcY2dlX3V0aWxzOjpsb2dfZXhjZXB0aW9uKCRlKTsKICAgICAgICBhdWRpdCgnJywkdGhpcy0+R2V0TmFtZSgpLCdJbnN0YWxsIGVycm9yOiAnLiRlLT5HZXRNZXNzYWdlKCkpOwogICAgfQoKICAgICR0cGxfdHlwZSA9IFxDbXNMYXlvdXRUZW1wbGF0ZVR5cGU6OmxvYWQoJHRoaXMtPkdldE5hbWUoKS4nOjonLiR0eXBlX25hbWUpOwogICAgcmV0dXJuICR0cGxfdHlwZTsKfTsKCiRjcmVhdGVfdGVtcGxhdGVfb2ZfdHlwZSA9IGZ1bmN0aW9uKCR0eXBlX29iLCRkZmx0ID0gdHJ1ZSkgewogICAgJG5hbWUgPSAnQ2FuYWRhUG9zdCBTYW1wbGUgJy4kdHlwZV9vYi0+Z2V0X25hbWUoKTsKICAgICRvYiA9IG5ldyBcQ21zTGF5b3V0VGVtcGxhdGUoKTsKICAgICRvYi0+c2V0X3R5cGUoICR0eXBlX29iICk7CiAgICAkb2ItPnNldF9jb250ZW50KCAkdHlwZV9vYi0+Z2V0X2RmbHRfY29udGVudHMoKSApOwogICAgJG9iLT5zZXRfb3duZXIoIGdldF91c2VyaWQoKSApOwogICAgJG9iLT5zZXRfdHlwZV9kZmx0KCAkZGZsdCApOwogICAgJG5ld19uYW1lID0gJG9iLT5nZW5lcmF0ZV91bmlxdWVfbmFtZSggJG5hbWUgKTsKICAgICRvYi0+c2V0X25hbWUoICRuZXdfbmFtZSApOwogICAgJG9iLT5zYXZlKCk7Cn07CgokZXN0aW1hdGVfdHlwZSA9ICRjcmVhdGVfdGVtcGxhdGVfdHlwZSgnRXN0aW1hdGUnLCR0aGlzKTsKJGNyZWF0ZV90ZW1wbGF0ZV9vZl90eXBlKCAkZXN0aW1hdGVfdHlwZSApOwo=]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dHJ5IHsKICAkdHlwZXMgPSBDbXNMYXlvdXRUZW1wbGF0ZVR5cGU6OmxvYWRfYWxsX2J5X29yaWdpbmF0b3IoJHRoaXMtPkdldE5hbWUoKSk7CiAgaWYoIGlzX2FycmF5KCR0eXBlcykgJiYgY291bnQoJHR5cGVzKSApIHsKICAgICAgZm9yZWFjaCggJHR5cGVzIGFzICR0eXBlICkgewogICAgICAgICAgJHRlbXBsYXRlcyA9ICR0eXBlLT5nZXRfdGVtcGxhdGVfbGlzdCgpOwogICAgICAgICAgaWYoIGlzX2FycmF5KCR0ZW1wbGF0ZXMpICYmIGNvdW50KCR0ZW1wbGF0ZXMpICkgewogICAgICAgICAgICAgIGZvcmVhY2goICR0ZW1wbGF0ZXMgYXMgJHRlbXBsYXRlICkgewogICAgICAgICAgICAgICAgICAkdGVtcGxhdGUtPmRlbGV0ZSgpOwogICAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICAgICR0eXBlLT5kZWxldGUoKTsKICAgICAgfQogIH0KfQpjYXRjaCggRXhjZXB0aW9uICRlICkgewogICAgLy8gbG9nIGl0CiAgICBhdWRpdCgnJywkdGhpcy0+R2V0TmFtZSgpLCdVbmluc3RhbGwgRXJyb3I6ICcuJGUtPkdldE1lc3NhZ2UoKSk7Cn0K]]></data>
	</file>
	<file>
	  <filename>/moduleinfo.ini</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[W21vZHVsZV0KbmFtZSA9IENhbmFkYVBvc3RTaGlwcGluZwp2ZXJzaW9uID0gMS4zLjEKZGVzY3JpcHRpb24gPSAKYXV0aG9yID0gY2FsZ3V5MTAwMAphdXRob3JlbWFpbCA9IGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcKbWluY21zdmVyc2lvbiA9IDIuMS41Cmxhenlsb2FkYWRtaW4gPSAxCmxhenlsb2FkZnJvbnRlbmQgPSAwCltkZXBlbmRzXQpDR0V4dGVuc2lvbnMgPSAxLjU0LjMKQ0dFY29tbWVyY2VCYXNlID0gMS43Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/defaultadmin.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICEkaXNfb2t9CjxkaXYgY2xhc3M9Indhcm5pbmciPnskbW9kLT5MYW5nKCd3YXJuX2N1cnJlbmN5Y29kZScsJGN1cnJlbmN5X2NvZGUpfTwvZGl2Pgp7L2lmfQoKe2Zvcm1fc3RhcnR9CjxkaXYgY2xhc3M9ImNfZnVsbCBjZiI+CiAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1zdWJtaXQiIHZhbHVlPSJ7JG1vZC0+TGFuZygnc3VibWl0Jyl9Ii8+CjwvZGl2Pgo8aHIvPgoKPGg0PnskbW9kLT5MYW5nKCdjdXN0b21lcl9udW1iZXInKX08L2g0Pgo8ZGl2IGNsYXNzPSJjX2Z1bGwgY2YiPgogIDxpbnB1dCBjbGFzcz0iZ3JpZF8xMiIgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1jdXN0X251bWJlciIgdmFsdWU9InskcHJlZnMuY3VzdF9udW1iZXJ9Ii8+CiAgPHAgY2xhc3M9ImdyaWRfMTAiPnskbW9kLT5MYW5nKCdpbmZvX2N1c3RvbWVyX251bWJlcicpfTwvcD4KPC9kaXY+Cjxoci8+Cgo8aDQ+eyRtb2QtPkxhbmcoJ3Byb2R1Y3Rpb25fbW9kZScpfTwvaDQ+CjxkaXYgY2xhc3M9ImNfZnVsbCBjZiI+CiAgIDxsYWJlbCBjbGFzcz0iZ3JpZF8xMiI+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJ7JGFjdGlvbmlkfXByb2Rtb2RlIiB2YWx1ZT0iMCIge2lmICEkcHJlZnMucHJvZHVjdGlvbn1jaGVja2Vkey9pZn0vPiB7JG1vZC0+TGFuZygnbm8nKX08L2xhYmVsPgogICA8bGFiZWwgY2xhc3M9ImdyaWRfMTIiPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0ieyRhY3Rpb25pZH1wcm9kbW9kZSIgdmFsdWU9IjEiIHtpZiAkcHJlZnMucHJvZHVjdGlvbn1jaGVja2Vkey9pZn0vPiB7JG1vZC0+TGFuZygneWVzJyl9PC9sYWJlbD4KPC9kaXY+Cjxoci8+Cgo8aDQ+eyRtb2QtPkxhbmcoJ2Rldl9hcGlfa2V5cycpfTo8L2g0Pgo8ZGl2IGNsYXNzPSJjX2Z1bGwgY2YiPgogIDxsYWJlbCBjbGFzcz0iZ3JpZF8yIj57JG1vZC0+TGFuZygndXNlcm5hbWUnKX06PC9sYWJlbD4KICA8aW5wdXQgY2xhc3M9ImdyaWRfOSIgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1kZXZfdW4iIHZhbHVlPSJ7JHByZWZzLmRldl91bn0iLz4KPC9kaXY+CjxkaXYgY2xhc3M9ImNfZnVsbCBjZiI+CiAgPGxhYmVsIGNsYXNzPSJncmlkXzIiPnskbW9kLT5MYW5nKCdwYXNzd29yZCcpfTo8L2xhYmVsPgogIDxpbnB1dCBjbGFzcz0iZ3JpZF85IiB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWRldl9wdyIgdmFsdWU9InskcHJlZnMuZGV2X3B3fSIvPgo8L2Rpdj4KPGhyLz4KCjxoND57JG1vZC0+TGFuZygncHJvZF9hcGlfa2V5cycpfTo8L2g0Pgo8ZGl2IGNsYXNzPSJjX2Z1bGwgY2YiPgogIDxsYWJlbCBjbGFzcz0iZ3JpZF8yIj57JG1vZC0+TGFuZygndXNlcm5hbWUnKX06PC9sYWJlbD4KICA8aW5wdXQgY2xhc3M9ImdyaWRfOSIgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1wcm9kX3VuIiB2YWx1ZT0ieyRwcmVmcy5wcm9kX3VufSIvPgo8L2Rpdj4KPGRpdiBjbGFzcz0iY19mdWxsIGNmIj4KICA8bGFiZWwgY2xhc3M9ImdyaWRfMiI+eyRtb2QtPkxhbmcoJ3Bhc3N3b3JkJyl9OjwvbGFiZWw+CiAgPGlucHV0IGNsYXNzPSJncmlkXzkiIHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9cHJvZF9wdyIgdmFsdWU9InskcHJlZnMucHJvZF9wd30iLz4KPC9kaXY+Cntmb3JtX2VuZH0=]]></data>
	</file>
	<file>
	  <filename>/templates/orig_estimate.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHNjcmlwdD4KJChmdW5jdGlvbigpewogICAkKCcjY3BfY291bnRyeScpLmNoYW5nZShmdW5jdGlvbigpewogICAgICB2YXIgdmFsID0gJCh0aGlzKS52YWwoKTsKICAgICAgaWYoIHZhbCA9PSAnVVMnIHx8IHZhbCA9PSAnQ0EnICkgewogICAgICAgICAkKCcjcG9zdGFsemlwJykuc2hvdygpOwogICAgICB9IGVsc2UgewogICAgICAgICAkKCcjcG9zdGFsemlwJykuaGlkZSgpOwogICAgICB9CiAgIH0pOwogICAkKCcjY3BfY291bnRyeScpLnRyaWdnZXIoJ2NoYW5nZScpOwp9KTsKPC9zY3JpcHQ+Cntmb3JtX3N0YXJ0IGFjdGlvbj0nZXN0aW1hdGUnIGlubGluZT0xIGlkPSJjYW5hZGFwb3N0X2VzdGltYXRlIn0KPGRpdiBjbGFzcz0icm93Ij4KICA8cCBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICA8bGFiZWwgY2xhc3M9ImNvbC1zbS0yIj57JG1vZC0+TGFuZygnY291bnRyeScpfTogPHNlbGVjdCBuYW1lPSJ7JGFjdGlvbmlkfWNwX2NvdW50cnkiIGlkPSJjcF9jb3VudHJ5IiBjbGFzcz0iZm9ybS1jb250cm9sIiI+e2NnZV9jb3VudHJ5X29wdGlvbnMgc2VsZWN0ZWQ9JGNvdW50cnl9PC9zZWxlY3Q+PC9sYWJlbD4KICA8L3A+CiAgPHAgY2xhc3M9ImZvcm0tZ3JvdXAiIGlkPSJwb3N0YWx6aXAiPgogICAgPGxhYmVsIGNsYXNzPSJjb2wtc20tMiI+PHNwYW4+eyRtb2QtPkxhbmcoJ3Bvc3RhbHppcCcpfTo8L3NwYW4+IDxpbnB1dCB0eXBlPSJ0ZXh0IiBjbGFzcz0iZm9ybS1jb250cm9sIiBuYW1lPSJ7JGFjdGlvbmlkfWNwX3Bvc3RhbCIgc2l6ZT0iMTUiIHZhbHVlPSJ7JHBvc3RhbH0iLz48L2xhYmVsPgogIDwvcD4KICA8cCBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgPGJ1dHRvbj57JG1vZC0+TGFuZygnY2hlY2tfc2hpcHBpbmcnKX08L2J1dHRvbj4KICA8L3A+CjwvZGl2Pgp7Zm9ybV9lbmR9CntpZiAhZW1wdHkoJHJhdGVzKX0KPGRpdiBjbGFzcz0id2VsbCI+CiAgPGg0PnskbW9kLT5MYW5nKCdzaGlwcGluZ19lc3RpbWF0ZXMnKX08L2g0PgogIDx1bD4KICB7Zm9yZWFjaCAkcmF0ZXMgYXMgJHJhdGV9CiAgICA8bGk+eyRyYXRlLT5kZXNjcmlwdGlvbn0gLy8geyRyYXRlLT5kYXRlfGRhdGVfZm9ybWF0OicleCd9IC8vIHskcmF0ZS0+cHJpY2V8bnVtYmVyX2Zvcm1hdDoyfUNBRDwvbGk+CiAgey9mb3JlYWNofQogIDwvdWw+CjwvZGl2Pgp7L2lmfQ==]]></data>
	</file>
</module>
