<?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>CGUserDirectory</name>
	<version>1.1.1</version>
  <mincmsversion>1.5.4</mincmsversion>
	<help>PGgzPldoYXQgZG9lcyB0aGlzIGRvPzwvaDM+CiAgPHA+VGhpcyBtb2R1bGUgcHJvdmlkZXMgdGhlIGFiaWxpdHkgZm9yIGdlbmVyYXRpbmcgYSBkaXJlY3Rvcnkgb2YgdXNlcnMgZnJvbSB0aGUgRkVVIG1vZHVsZSwgZm9yIGdlbmVyYXRpbmcgYSBzdW1tYXJ5IHZpZXcgb2YgdXNlcnMgbWF0Y2hpbmcgc3BlY2lmaWVkIGNyaXRlcmlhLCBhbmQgZm9yIGRpc3BsYXlpbmcgYSBkZXRhaWwgcmVwb3J0IG9mIGEgc3BlY2lmaWMgdXNlci4gIEl0IGNhbiBiZSB1c2VkIGZvciBnZW5lcmF0aW5nIHByb2ZpbGUgcGFnZXMgZm9yIHlvdXIgdXNlcnMsIG9yIGEgc3RhZmYgZGlyZWN0b3J5LjwvcD4KPGgzPkZlYXR1cmVzOjwvaDM+Cjx1bD4KICA8bGk+Q29tcGxldGUgdGVtcGxhdGUgY29udHJvbAo8cD5BbGwgZGlzcGxheXMgYXJlIGNvbXBsZXRlbHkgY29uZmlndXJhYmxlIGJ5IHRlbXBsYXRlcyBhbGxvd2luZyBmb3IgamF2YXNjcmlwdCwgYWpheCwgb3IgYW55IG90aGVyIGZhbmN5IGRpc3BsYXlzLiAgU3R5bGluZyBpcyBjb21wbGV0ZWx5IGNvbnRyb2xsYWJsZSBieSB0aGUgd2Vic2l0ZSBkZXZlbG9wZXIuPC9wPgogIDwvbGk+CiAgPGxpPk11bHRpcGxlIGRhdGFiYXNlIHRlbXBsYXRlcy4KPHA+WW91IGNhbiBjb25maWd1cmUgbXVsdGlwbGUgZGlmZmVyZW50IHZpZXdzIGZvciBlYWNoIGRpc3BsYXksIGFuZCB1c2UgdGhlbSB1bmRlciBkaWZmZXJlbnQgc2l0dWF0aW9ucy48L3A+CiAgPC9saT4KPGxpPkZpbHRlciBzdW1tYXJ5IHZpZXdzIG9uIHVzZXIgcHJvcGVydGllcy4KICAgPHA+WW91IGNhbiBmaWx0ZXIgdGhlIG91dHB1dCBmb3IgdGhlIHN1bW1hcnkgdmlldyBiYXNlZCBvbiB0aGUgdmFsdWUgb2YgYSBzcGVjaWZpYyB1c2VyIHByb3BlcnR5IGZyb20gdGhlIEZFVSBtb2R1bGUuICBUaGlzIGFsc28gaW5jbHVkZXMgJnF1b3Q7TElLRSZxdW90OyBiYXNlZCBjcml0ZXJhLgogIDwvbGk+CiAgPGxpPlNvcnRpbmcgb24gbXVsdGlwbGUgZGlmZmVyZW50IGNyaXRlcmlhLjwvbGk+CiAgPGxpPlN1cHBvcnRzIFNFTyBmcmllbmRseSBVUkxTPC9saT4KPC91bD4KPGgzPkhvdyBkbyBJIHVzZSBpdD88L2gzPgo8cD5UaGUgc2ltcGxlc3Qgd2F5IHRvIHVzZSB0aGlzIG1vZHVsZSBpcyB0byBwbGFjZSBhIHRhZyBsaWtlIHRoaXMgaW50byB5b3VyIHBhZ2UgdGVtcGxhdGUsIG9yIHBhZ2UgY29udGVudCA8Y29kZT57Q0dVc2VyRGlyZWN0b3J5fTwvY29kZT4uICBUbyBleHBhbmQgb24gdGhpcyBmdW5jdGlvbmFsaXR5LCBvciB0byBkaXNwbGF5IGEgc3Vic2V0IG9mIHlvdXIgdXNlcnMsIHNlZSB0aGUgcGFyYW1ldGVycyBiZWxvdy48L3A+CjxoMz5FeGFtcGxlczo8L2gzPgo8dWw+CjxsaT5EaXNwbGF5IGEgZGlyZWN0b3J5IG9mIGFsbCB1c2VyczoKPHA+PGNvZGU+e0NHVXNlckRpcmVjdG9yeSBhY3Rpb249JnF1b3Q7ZGlyZWN0b3J5JnF1b3Q7fTwvY29kZT48L3A+CjwvbGk+CjxsaT5EaXNwbGF5IGEgZGlyZWN0b3J5IG9mIGFsbCB1c2VycyBvcmdhbml6ZWQgYnkgY2l0eToKPHA+PGNvZGU+e0NHVXNlckRpcmVjdG9yeSBhY3Rpb249JnF1b3Q7ZGlyZWN0b3J5JnF1b3Q7IHByb3A9JnF1b3Q7Y2l0eSZxdW90O308L2NvZGU+PC9wPgo8L2xpPgo8bGk+RGlzcGxheSBhIHN1bW1hcnkgbGlzdCBvZiBhbGwgdXNlcnMgaW4gdGhlICZxdW90O21lbWJlcnMmcXVvdDsgZ3JvdXA6CjxwPjxjb2RlPntDR1VzZXJEaXJlY3RvcnkgZ3JvdXA9JnF1b3Q7bWVtYmVycyZxdW90O308L2NvZGU+PC9wPgo8L2xpPgo8bGk+RGlzcGxheSBhIHN1bW1hcnkgbGlzdCBvZiBhbGwgdXNlcnMgaW4gdGhlIGNpdHkgb2YgY2FsZ2FyeToKPHA+PGNvZGU+e0NHVXNlckRpcmVjdG9yeSBwcm9wPSZxdW90O2NpdHkmcXVvdDsgcHJvcHZhbD0mcXVvdDtjYWxnYXJ5JnF1b3Q7fTwvY29kZT48L3A+CjwvbGk+CjxsaT5EaXNwbGF5IGEgc3VtbWFyeSBsaXN0IG9mIGFsbCB1c2VycyBmcm9tIGNvdW50cmllcyB0aGF0IGJlZ2luIHdpdGggQzoKPHA+PGNvZGU+e0NHVXNlckRpcmVjdG9yeSBwcm9wPSZxdW90O2NpdHkmcXVvdDsgdXNlbGlrZT0xIHByb3B2YWw9JnF1b3Q7YyUmcXVvdDt9PC9jb2RlPjwvcD4KPC9saT4KCjwvdWw+Cgo8aDM+Tm90ZXMgYWJvdXQgcHJldHR5IFVSTFM8L2gzPgo8cD4mcXVvdDtQcmV0dHkmcXVvdDsgb3IgU0VPIGZyaWVuZGx5IFVSTFMgbGltaXRzIHRoZSBmbGV4aWJpbGl0eSBvZiB0aGlzIG1vZHVsZSwgYW5kIHRoZSBwYXJhbWV0ZXJzIHRoYXQgY2FuIGJlIHNwZWNpZmllZCBvbiB0aGUgdGFnLiBQYXJ0aWN1bGFybHkgdGhvc2UgdGhhdCBjYW4gYmUgcGFzc2VkIG9uIHRvIHN1YnNlcXVlbnQgdmlld3MuICBGb3IgdGhpcyByZWFzb24sIHRoZSBkaXJlY3RvcnkgdmlldyBkb2VzIG5vdCBnZW5lcmF0ZSBwcmV0dHkgdXJscyB0byB0aGUgc3Vic2VxdWVudCBzdW1tYXJ5IGxpbmtzLiAgVGhpcyBhbGxvd3MgcGFyYW1ldGVycyBsaWtlIGRldGFpbHBhZ2UsIGRldGFpbHRlbXBsYXRlLCBhbmQgc3VtbWFyeXRlbXBsYXRlIHRvIGJlIHBhc3NlZCBpbiB0aGUgdGFnIHRvIHRoZSBkaXJlY3RvcnkgdmlldyBhbmQgdG8gaGF2ZSB0aG9zZSBwYXJhbWV0ZXJzIHBhc3NlZCBkb3duIHRvIHRoZSBzdWJzZXF1ZW50IHN1bW1hcnkgZGV0YWlsIHZpZXdzLjwvcD4KPC9wPgo8aDM+U3VwcG9ydDwvaDM+CjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4KPHVsPgo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQgb3IgYnV5IGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHZpc2l0IHRoZSBjbXMgZGV2ZWxvcG1lbnQgZm9yZ2UgYXQgPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZyI+ZGV2LmNtc21hZGVzaW1wbGUub3JnPC9hPi48L2xpPgo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+CjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwIGFsbCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPgo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IocykgZGlyZWN0bHkuPC9saT4gIAo8L3VsPgoKPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+CjxwPkNvcHlyaWdodCAmY29weTsgMjAwOCwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciPiZsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmd0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+CjxwPkhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAphcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwpNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCnNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuPC9wPgo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQpPciByZWFkIGl0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+b25saW5lPC9hPjwvcD48aDM+RGVwZW5kZW5jaWVzPC9oMz48dWw+PGxpPkNHRXh0ZW5zaW9ucyA9Jmd0OyAxLjE2PC9saT48bGk+RnJvbnRFbmRVc2VycyA9Jmd0OyAxLjYuODwvbGk+PC91bD48aDM+UGFyYW1ldGVyczwvaDM+PHVsPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGxhbmc9ImVuX1VTIiAtIFBhcmFtZXRlciBpcyB1c2VkIHRvIHNwZWNpZnkgd2hhdCBsYW5ndWFnZSB0byB1c2UgZm9yIGRpc3BsYXkgb24gdGhlIGZyb250ZW5kLiBOb3QgYWxsIG1vZHVsZXMgc3VwcG9ydCBvciBuZWVkIHRoaXMuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBhY3Rpb249ImRlZmF1bHQiIC0gVGhpcyBwYXJhbWV0ZXIgY29udHJvbHMgdGhlIGJlaGF2aW91ciBvZiB0aGUgbW9kdWxlLiAgVGhlcmUgYXJlIHRocmVlIHBvc3NpYmxlIHZhbHVlczoKPHVsPgogIDxsaT5icm93c2UgIC0gRGlzcGxheSBhIG5hdmlnYXRpb24gb2YgcHJvcGVydHkgdmFsdWVzLCBhbmQgYWxsb3cgZHJpbGxpbmcgZG93biB0byBtYXRjaGluZyBzdW1tYXJ5IHZpZXdzLjwvbGk+CiAgPGxpPmRlZmF1bHQgLSBEaXNwbGF5cyBhIHN1bW1hcnkgdmlldyBvZiB1c2VycyB0aGF0IG1hdGNoIHRoZSBzcGVjaWZpZWQgY3JpdGVyaWEsIG9yIGFsbCB1c2VycyBpZiBubyBjcml0aWVyaWEgaXMgc3BlY2lmaWVkLjwvbGk+CiAgPGxpPmRpcmVjdG9yeSAtIERpc3BsYXlzIGFuIGFscGhhYmV0aWNhbCBkaXJlY3Rvcnkgb2YgbGlua3MgdG8gc3VtbWFyeSB2aWV3cyB0byB1c2VycyB0aGF0IG1hdGNoIHRoZSBzcGVjaWZpZWQgY3JpdGVyaWEuICBJdCBpcyBwb3NzaWJsZSB0byBjcmVhdGUgZGlyZWN0b3J5IHZpZXdzIG9uIHVzZXJuYW1lLCBvciBvbiBhbnkgb3RoZXIgcGFyYW1ldGVyPC9saT4KICA8bGk+ZGV0YWlsIC0gRGlzcGxheXMgYSBkZXRhaWwgcmVwb3J0IGFib3V0IGEgc3BlY2lmaWMgdXNlci48L2xpPgogIDxsaT5zZWFyY2ggLSBEaXNwbGF5cyBhIHNlYXJjaCBmb3JtLjwvbGk+CjwvdWw+PC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBpbmxpbmU9IiIgLSAtLUFkZCBNZSAtIG1vZHVsZTpDR1VzZXJEaXJlY3Rvcnkgc3RyaW5nOmhlbHBfcGFyYW1faW5saW5lLS08L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGdyb3VwPSIiIC0gVXNlZCB3aXRoIHRoZSBkZWZhdWx0IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc2hvdWxkIGNvbnRhaW4gdGhlIG5hbWUgb2YgYW4gRkVVIHVzZXIgZ3JvdXAsIGFuZCB3aWxsIGxpbWl0IHRoZSBvdXRwdXQgdG8gbWVtYmVycyBvZiB0aGF0IGdyb3VwPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBnaWQ9IiIgLSBVc2VkIHdpdGggdGhlIGRlZmF1bHQgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzaG91bGQgY29udGFpbiB0aGUgaWQgb2YgYW4gRkVVIHVzZXIgZ3JvdXAsIGFuZCB3aWxsIGxpbWl0IHRoZSBvdXRwdXQgdG8gbWVtYmVycyBvZiB0aGF0IGdyb3VwLiAgVGhpcyBwYXJhbWV0ZXIgY2Fubm90IGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgZ3JvdXAgcGFyYW1ldGVyLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gc2hvd2V4cGlyZWQ9IjAiIC0gQnkgZGVmYXVsdCwgdGhlIHN5c3RlbSB3aWxsIGV4Y2x1ZGUgZXhwaXJlZCB1c2VycyBmcm9tIGFueSBnZW5lcmF0ZWQgcmVwb3J0LiAgU2V0dGluZyB0aGlzIHBhcmFtZXRlciB0byAxIHdpbGwgaW5jbHVkZSB0aGVzZSB1c2Vycy48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHNvcnRieT0idXNlcm5hbWUiIC0gVXNlZCBmb3IgdGhlIGRlZmF1bHQgYW5kIGJyb3dzZSBhY3Rpb25zLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIHNvcnRpbmcgb2YgdGhlIGdlbmVyYXRlZCBvdXRwdXQuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOgo8dWw+CiA8bGk+aWQgLSBUaGUgdXNlcnMgaWQgKGRlZmF1bHQgdmlldyBvbmx5KTwvbGk+CiA8bGk+dXNlcm5hbWUgLSBUaGUgdXNlcnMgdXNlcm5hbWUgKGRlZmF1bHQgdmlldyBvbmx5KTwvbGk+CiA8bGk+Y3JlYXRlZGF0ZSAtIFRoZSBkYXRlIGF0IHdoaWNoIHRoZSB1c2VyIGFjY291bnQgd2FzIGNyZWF0ZWQuIChkZWZhdWx0IHZpZXcgb25seSk8L2xpPgogPGxpPmV4cGlyZXMgLSBUaGUgZGF0ZSBhdCB3aGljaCB0aGUgdXNlciBhY2NvdW50IHdpbGwgZXhwaXJlIChvciBkaWQgZXhwaXJlKS4gKGRlZmF1bHQgdmlldyBvbmx5KTwvbGk+CiA8bGk+YWN0aXZpdHkgLSBUaGUgZGF0ZSBhdCB3aGljaCB0aGUgdXNlciBhY2NvdW50IHdhcyBsYXN0IGxvZ2dlZCBpbiBvciBsb2dnZWQgb3V0LiAoZGVmYXVsdCB2aWV3IG9ubHkpPC9saT4KIDxsaT5uYW1lIC0gVGhlIHZhbHVlIG9mIHRoZSBwcm9wZXJ0eSB0aGF0IGlzIGJlaW5nIGJyb3dzZWQuIChicm93c2UgYWN0aW9uIG9ubHkpPC9saT4KIDxsaT5jb3VudCAtIFRoZSBudW1iZXIgdXNlcnMgdGhhdCBoYXZlIHRoYXQgcHJvcGVydHkgdmFsdWUuIChicm93c2UgYWN0aW9uIG9ubHkpPC9saT4KPC91bD48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHNvcnRvcmRlcj0iQVNDIiAtIFVzZWQgZm9yIHRoZSBkZWZhdWx0IGFuZCBicm93c2UgYWN0aW9ucywgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoZSBzb3J0IG9yZGVyIG9mIHRoZSBnZW5lcmF0ZWQgb3V0cHV0LiAgUG9zc2libGUgdmFsdWVzIGFyZToKPHVsPgogIDxsaT5BU0MgLSBBc2NlbmRpbmcgb3JkZXI8L2xpPgogIDxsaT5ERVNDIC0gRGVzY2VuZGluZyBvcmRlcjwvbGk+CjwvdWw+PC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBwYWdlbGltaXQ9IjEwMCIgLSBVc2VkIGZvciB0aGUgZGVmYXVsdCBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgbWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gYmUgcmV0dXJuZWQuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBwcm9wPSIiIC0gVXNlZCBmb3IgdGhlIGRlZmF1bHQsYnJvd3NlIGFuZCBkaXJlY3RvcnkgYWN0aW9ucywgdGhpcyBwYXJhbWV0ZXIgYmVoYXZlcyBpbiB0d28gZGlmZmVyZW50IHdheXMgZGVwZW5kaW5nIHVwb24gdGhlIGFjdGlvbjoKPHVsPgogIDxsaT5UaGUgZGVmYXVsdCAoc3VtbWFyeSkgYWN0aW9uCiAgICA8cD5JbiB0aGUgZGVmYXVsdCAoc3VtbWFyeSkgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IGEgcHJvcGVydHkgdG8gZmlsdGVyIHRoZSByZXN1bHRzIGJ5LiAgSXQgd29ya3MgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgcHJvcHZhbCBwYXJhbWV0ZXIgYmVsb3cuPC9wPgogIDwvbGk+CiAgPGxpPlRoZSBicm93c2UgYWN0aW9uCiAgICA8cD5JbiB0aGUgYnJvd3NlIGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSBhbiBGRVUgcHJvcGVydHkgdG8gYnJvd3NlPC9wPgogIDwvbGk+CiAgPGxpPlRoZSBkaXJlY3RvcnkgYWN0aW9uLgogICAgPHA+SW4gdGhlIGRpcmVjdG9yeSBhY3Rpb24sIHRoaXMgYXByYW1ldGVyIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgYSBwcm9wZXJ0eSB0byBnZW5lcmF0ZSBhIGRpcmVjdG9yeSBmcm9tLiAgIFRoZSBkZWZhdWx0IHZhbHVlIGluIHRoZSBkaXJlY3RvcnkgYWN0aW9uIGlzICZxdW90O3VzZXJuYW1lJnF1b3RlOzwvcD4KICA8L2xpPgo8L3VsPjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gcHJvcHZhbD0iIiAtIFVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgJnF1b3Q7cHJvcCZxdW90OyBwYXJhbWV0ZXIgZm9yIHRoZSBkZWZhdWx0IChzdW1tYXJ5KSBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgdmFsdWUgb24gd2hpY2ggdG8gZmlsdGVyIHVzZXJzIGJ5LjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gdXNlbGlrZT0iMCIgLSBVc2VkIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlICZxdW90O3Byb3AmcXVvdCBhbmQgJnF1b3Q7cHJvcHZhbCZxdW90OyBwYXJhbWV0ZXJzLCB0aGlzIHBhcmFtZXRlciwgaWYgc2V0IHRvIGEgcG9zaXRpdmUgaW50ZWdlciB2YWx1ZSBpbmRpY2F0ZXMgdGhhdCB0aGUgcHJvcHZhbCBwYXJhbWV0ZXIgY29udGFpbnMgYSBMSUtFIGV4cHJlc3Npb248L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGRldGFpbHBhZ2U9IiIgLSBUaGlzIHBhcmFtZXRlciwgaWYgc3BlY2lmaWVkLCBzaG91bGQgY29udGFpbiB0aGUgcGFnZWlkIG9yIGFsaWFzIG9mIGEgQ01TIGNvbnRlbnQgcGFnZSBvbiB3aGljaCB5b3Ugd291bGQgbGlrZSB0byBzaG93IGFueSBkZXRhaWwgcmVwb3J0PC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiByZXN1bHRwYWdlPSIiIC0gLS1BZGQgTWUgLSBtb2R1bGU6Q0dVc2VyRGlyZWN0b3J5IHN0cmluZzpoZWxwX3BhcmFtX3Jlc3VsdHBhZ2UtLTwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gc3VtbWFyeXRlbXBsYXRlPSIiIC0gVGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBub24gZGVmYXVsdCBzdW1tYXJ5IHRlbXBsYXRlIG5hbWUgdG8gdXNlIGZvciBzdW1tYXJ5IGRpc3BsYXlzPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBkaXJlY3Rvcnl0ZW1wbGF0ZT0iIiAtIFRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgZGlyZWN0b3J5IHRlbXBsYXRlIG5hbWUgdG8gdXNlIHdpdGggZGlyZWN0b3J5IGRpc3BsYXlzPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBkZXRhaWx0ZW1wbGF0ZT0iIiAtIFRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgZGV0YWlsIHRlbXBsYXRlIG5hbWUgdG8gdXNlIGZvciBkZXRhaWwgZGlzcGxheXM8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHNlYXJjaGZvcm10ZW1wbGF0ZT0iIiAtIFRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgc2VhcmNoIHRlbXBsYXRlIG5hbWUgdG8gdXNlIGluIHNlYXJjaCBmb3JtczwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gYnJvd3NlcHJvcHRlbXBsYXRlPSIiIC0gVGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBub24gZGVmYXVsdCBicm93c2UgcHJvcGVydHkgdGVtcGxhdGUgbmFtZSB0byB1c2UgZm9yIGEgcHJvcGVydHkgYnJvd3NpbmcgdmlldzwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gc2VhcmNocHJvcGVydHk9IiIgLSBUaGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIHNpbmdsZSBhZGRpdGlvbmFsIEZFVSBwcm9wZXJ0eSBuYW1lIHRvIHN1cHBseSBpbiB0aGUgc2VhcmNoIGZvcm08L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHVpZD0iIiAtIFVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgZGV0YWlsIGRpc3BsYXksIHRoaXMgcGFyYW1ldGVyIG11c3QgY29udGFpbiB0aGUgdWlkIG9mIGEgdmFsaWQgZnJvbnRlbmQgdXNlciBhY2NvdW50PC9saT48L3VsPg==</help>
	<about>PGJyIC8+QXV0aG9yOiBjYWxndXkxMDAwICZsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmd0OzxiciAvPjxiciAvPlZlcnNpb246IDEuMS4xPGJyIC8+PGJyIC8+Q2hhbmdlIEhpc3Rvcnk6PGJyIC8+PHVsPgo8bGk+VmVyc2lvbiAxLjAgLSBKYW51YXJ5LCAyMDA5CiAgPHA+SW5pdGlhbCBSZWxlYXNlPC9wPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjEKICA8cD5BZGRzIHNlYXJjaCBhbmQgYnJvd3NlIGNhcGFiaWxpdGllcy48L3A+CjwvbGk+CjxsaT5WZXJzaW9uIDEuMS4xIC0gU2VwdGVtYmVyLCAyMDA5CiAgPHA+QWRkcyBzb3J0aW5nIGluIHRoZSBicm93c2UgYWN0aW9uLjwvcD4KPC9saT4KPC91bD48YnIgLz4=</about>
	<description>A module allowing searching, browsing, and viewing details about frontend users</description>
	<requires>
	  <requiredname>CGExtensions</requiredname>
	  <requiredversion>1.16</requiredversion>
	</requires>
	<requires>
	  <requiredname>FrontEndUsers</requiredname>
	  <requiredversion>1.6.8</requiredversion>
	</requires>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.browse.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHVXNlckRpcmVjdG9yeSAoYykgMjAwOSBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBicm93c2UKIyAgYW5kIHZpZXcgc3VtbWFyeSByZXBvcnRzIGFuZCBkZXRhaWwgcmVwb3J0cyBhYm91dCBncm91cHMgb2YgZnJvbnRlbmQKIyAgdXNlcnMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKIwojIEluaXRpYWxpemF0aW9uCiMKJGZldSA9JiAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoJ0Zyb250RW5kVXNlcnMnKTsKaWYoICEkZmV1ICkgcmV0dXJuOwokaW5saW5lID0gMDsKJHJlc3VsdHBhZ2UgPSAkcmV0dXJuaWQ7CiR0aGV0ZW1wbGF0ZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKENHVVNFUkRJUl9QUkVGX0RGTFRCUk9XU0VQUk9QX05BTUUpOwokcHJvcGVydHk9Jyc7CiRmaWVsZHR5cGUgPSAnJzsKJG9wdGlvbnMgPSAnJzsKJHVzZWxpa2UgPSAwOwokc29ydG9yZGVyID0gJ2FzYyc7CgojCiMgR2V0IHBhcmFtZXRlcnMKIwppZiggaXNzZXQoJHBhcmFtc1snaW5saW5lJ10pICYmICRwYXJhbXNbJ2lubGluZSddICE9IDAgKQogIHsKICAgICRpbmxpbmUgPSAxOwogICAgdW5zZXQoJHBhcmFtc1snaW5saW5lJ10pOwogIH0KaWYoIGlzc2V0KCRwYXJhbXNbJ3Jlc3VsdHBhZ2UnXSkgKQogIHsKICAgICR0bXAgPSAkdGhpcy0+cmVzb2x2ZV9hbGlhc19vcl9pZCgkcGFyYW1zWydyZXN1bHRwYWdlJ10pOwogICAgaWYoICR0bXAgKQogICAgICB7CgkkcmVzdWx0cGFnZSA9ICR0bXA7CgkkaW5saW5lID0gMDsKICAgICAgfQogICAgdW5zZXQoJHBhcmFtc1sncmVzdWx0cGFnZSddKTsKICB9CmlmKCBpc3NldCgkcGFyYW1zWydicm93c2Vwcm9wdGVtcGxhdGUnXSkgKQogIHsKICAgICR0aGV0ZW1wbGF0ZSA9IHRyaW0oJHBhcmFtc1snYnJvd3NlcHJvcHRlbXBsYXRlJ10pOwogICAgdW5zZXQoJHBhcmFtc1snYnJvd3NlcHJvcHRlbXBsYXRlJ10pOwogIH0KaWYoIGlzc2V0KCRwYXJhbXNbJ3Byb3AnXSkgKQogIHsKICAgICRwcm9wZXJ0eSA9IHRyaW0oJHBhcmFtc1sncHJvcCddKTsKICB9CmlmKCBpc3NldCgkcGFyYW1zWydzb3J0b3JkZXInXSkgKQogIHsKICAgICR0bXAgPSBzdHJ0b2xvd2VyKCRwYXJhbXNbJ3NvcnRvcmRlciddKTsKICAgIHN3aXRjaCgkdG1wKQogICAgICB7CiAgICAgIGNhc2UgJ2FzYyc6CiAgICAgIGNhc2UgJ2Rlc2MnOgoJJHNvcnRvcmRlciA9ICR0bXA7CiAgICAgIH0KICB9CgovLyBwcm9wZXJ0eSBtdXN0IGJlIHNwZWNpZmllZC4KaWYoIGVtcHR5KCRwcm9wZXJ0eSkgKSByZXR1cm47CgokZGVmbiA9ICRmZXUtPkdldFByb3BlcnR5RGVmbigkcHJvcGVydHkpOwovLyBwcm9wZXJ0eSBjb3VsZCBub3QgYmUgZm91bmQuCmlmKCAhJGRlZm4gKSByZXR1cm47CgovLyBmaWd1cmUgb3V0IHdoYXQgdHlwZSBvZiBmaWVsZCBpdCdsbCBiZQppZiggJGRlZm4gKQogIHsKICAgIHN3aXRjaCggJGRlZm5bJ3R5cGUnXSApCiAgICAgIHsKICAgICAgY2FzZSAnMCc6IC8vIHRleHQKICAgICAgY2FzZSAnMic6IC8vIGVtYWlsCgkkZmllbGR0eXBlID0gJ3RleHQnOwoJYnJlYWs7CgogICAgICBjYXNlICc0JzogLy8gZHJvcGRvd24KICAgICAgY2FzZSAnNSc6IC8vIG11bHRpc2VsZWN0CiAgICAgIGNhc2UgJzcnOiAvLyByYWRpb2J1dHRvbnMKCSRmaWVsZHR5cGUgPSAnc2VsZWN0JzsKCSR0bXAgPSAkZmV1LT5HZXRTZWxlY3RPcHRpb25zKCRkZWZuWyduYW1lJ10sMSk7Cgkkb3B0aW9ucyA9IGFycmF5KCk7Cgkkb3B0aW9uc1stMV0gPSAkdGhpcy0+TGFuZygnYW55Jyk7Cglmb3JlYWNoKCAkdG1wIGFzICRrZXkgPT4gJHZhbHVlICkKCSAgewoJICAgICRvcHRpb25zWyR2YWx1ZV0gPSAka2V5OwoJICB9CglpZiggJGRlZm5bJ3R5cGUnXSA9PSA1ICkKCSAgewoJICAgICR1c2VsaWtlID0gMTsKCSAgfQoJYnJlYWs7CgogICAgICBjYXNlICcxJzogLy8gY2hlY2tib3gKICAgICAgY2FzZSAnMyc6IC8vIHRleHRhcmVhCiAgICAgIGNhc2UgJzYnOiAvLyBpbWFnZQogICAgICBjYXNlICc4JzogLy8gZGF0ZQoJLy8gbm90IHN1cHBvcnRlZC4KCXJldHVybjsKCWJyZWFrOwogICAgICB9CiAgfQoKLy8gZ2V0IHRoZSBkYXRhLgokZGF0YSA9IGFycmF5KCk7CnN3aXRjaCgkZmllbGR0eXBlKQogIHsKICBjYXNlICd0ZXh0JzoKICAgICRxdWVyeSA9ICdTRUxFQ1QgRElTVElOQ1QgZGF0YSAKICAgICAgICAgICAgICAgIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9mZXVzZXJzX3Byb3BlcnRpZXMgQSAKICAgICAgICAgICAgICAgIExFRlQgSk9JTiAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2ZldXNlcnNfdXNlcnMgQgogICAgICAgICAgICAgICAgICBPTiBBLnVzZXJpZCA9IEIuaWQgCiAgICAgICAgICAgICAgIFdIRVJFIEEudGl0bGUgPSA/CiAgICAgICAgICAgICAgICAgQU5EIEIuZXhwaXJlcyA+IE5PVygpJzsKICAgICR0bXAgPSAkZGItPkdldEFycmF5KCRxdWVyeSwkcHJvcGVydHkpOwogICAgZm9yZWFjaCggJHRtcCBhcyAkb25lICkKICAgICAgewoJJHJlYyA9IGFycmF5KCk7CgkkcmVjWyduYW1lJ10gPSAkb25lWydkYXRhJ107CgkkcmVjWyd1cmwnXSA9ICR0aGlzLT5DcmVhdGVQcm9wZXJ0eVN1bW1hcnlVUkwoJGlkLCRyZXN1bHRwYWdlLCRwcm9wZXJ0eSwkb25lWydkYXRhJ10sJHBhcmFtcywkaW5saW5lKTsKCSRkYXRhW10gPSAkcmVjOwogICAgICB9CiAgICBicmVhazsKCiAgY2FzZSAnc2VsZWN0JzoKICAgIHsKICAgICAgJHF1ZXJ5ID0gJ1NFTEVDVCBkYXRhIAogICAgICAgICAgICAgICAgICBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZmV1c2Vyc19wcm9wZXJ0aWVzIEEgCiAgICAgICAgICAgICAgICBMRUZUIEpPSU4gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9mZXVzZXJzX3VzZXJzIEIKICAgICAgICAgICAgICAgICAgT04gQS51c2VyaWQgPSBCLmlkIAogICAgICAgICAgICAgICAgIFdIRVJFIEEudGl0bGUgPSA/CiAgICAgICAgICAgICAgICAgQU5EIEIuZXhwaXJlcyA+IE5PVygpJzsKICAgICAgJHRtcCA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5LGFycmF5KCRwcm9wZXJ0eSkpOwogICAgICBpZiggISR0bXAgKQoJewoJICBlY2hvICJERUJVRzogIi4kZGItPnNxbC4nPGJyLz4nLiRkYi0+RXJyb3JNc2coKS4nPGJyLz4nOwoJfQogICAgICBpZiggJHRtcCApCgl7CgkgIC8vIGJ1aWxkIGEgaGlzdG9ncmFtIG9mIGFsbCB0aGUgc2VsZWN0ZWQgb3B0aW9ucy4KCSAgJGhpc3RvZ3JhbSA9IGFycmF5KCk7CgkgIGZvcmVhY2goICR0bXAgYXMgJHJvdyApCgkgICAgewoJICAgICAgJHRtcDMgPSBleHBsb2RlKCcsJywkcm93WydkYXRhJ10pOwoJICAgICAgZm9yZWFjaCggJHRtcDMgYXMgJG9uZXZhbCApCgkJewoJCSAgaWYoICFpc3NldCgkaGlzdG9ncmFtWyRvbmV2YWxdKSApCgkJICAgIHsKCQkgICAgICAkaGlzdG9ncmFtWyRvbmV2YWxdPTA7CgkJICAgIH0KCQkgICRoaXN0b2dyYW1bJG9uZXZhbF0rKzsKCQl9CgkgICAgfQoJICAKCSAgLy8gbm93IHdlIGhhdmUgYWxsIHRoZSBvcHRpb25zLCBidWlsZCBvdXIgZGF0YSBhcnJheS4KCSAgZm9yZWFjaCggJGhpc3RvZ3JhbSBhcyAka2V5ID0+ICRjb3VudCApCgkgICAgewoJICAgICAgJHZhbCA9ICRrZXk7CgkgICAgICBpZiggJHVzZWxpa2UgKQoJCXsKCQkgICRwYXJhbXNbJ3VzZWxpa2UnXSA9IDE7CgkJICAkdmFsID0gJyUnLiR2YWwuJyUnOwoJCX0KCSAgICAgIGlmKCAhaXNzZXQoJG9wdGlvbnNbJGtleV0pICkgY29udGludWU7CgkgICAgICAkcmVjID0gYXJyYXkoKTsKCSAgICAgICRyZWNbJ25hbWUnXSA9ICRvcHRpb25zWyRrZXldOwoJICAgICAgJHJlY1sndXJsJ10gPSAkdGhpcy0+Q3JlYXRlUHJvcGVydHlTdW1tYXJ5dXJsKCRpZCwkcmVzdWx0cGFnZSwkcHJvcGVydHksJHZhbCwkcGFyYW1zLCRpbmxpbmUpOwoJICAgICAgJHJlY1snY291bnQnXSA9ICRjb3VudDsKCSAgICAgIAoJICAgICAgJGRhdGFbXSA9ICRyZWM7CgkgICAgfQoKCSAgLy8gbm93IHdlIGNhbiBvcHRpb25hbGx5IHNvcnQgdGhpcyBzdHVmZi4KCSAgaWYoIGlzc2V0KCRwYXJhbXNbJ3NvcnRieSddKSApCgkgICAgewoJICAgICAgc3dpdGNoKCRwYXJhbXNbJ3NvcnRieSddKQoJCXsKCQljYXNlICduYW1lJzoKCQkgIGlmKCAkc29ydG9yZGVyID09ICdhc2MnICkKCQkgICAgewoJCSAgICAgIGNnZV9hcnJheTo6aGFzaHNvcnQoJGRhdGEsJ25hbWUnLHRydWUpOwoJCSAgICB9CgkJICBlbHNlCgkJICAgIHsKCQkgICAgICBjZ2VfYXJyYXk6Omhhc2hyc29ydCgkZGF0YSwnbmFtZScsdHJ1ZSk7CgkJICAgIH0KCQkgIGJyZWFrOwoJCWNhc2UgJ2NvdW50JzoKCQkgIGlmKCAkc29ydG9yZGVyID09ICdhc2MnICkKCQkgICAgewoJCSAgICAgIGNnZV9hcnJheTo6aGFzaHNvcnQoJGRhdGEsJ2NvdW50Jyk7CgkJICAgIH0KCQkgIGVsc2UKCQkgICAgewoJCSAgICAgIGNnZV9hcnJheTo6aGFzaHJzb3J0KCRkYXRhLCdjb3VudCcpOwoJCSAgICB9CgkJICBicmVhazsKCQl9CgkgICAgfQoJfSAvLyBpZgogICAgfQogICAgYnJlYWs7CiAgfQoKLy8KLy8gR2l2ZSBldmVyeXRoaW5nIHRvIHNtYXJ0eQovLwppZiggIWVtcHR5KCRmaWVsZHR5cGUpICkKICB7CiAgICAkc21hcnR5LT5hc3NpZ24oJ3VkX2ZpZWxkZGVmbicsJGRlZm4pOwogICAgJHNtYXJ0eS0+YXNzaWduKCd1ZF9maWVsZHR5cGUnLCRmaWVsZHR5cGUpOwogICAgaWYoICFlbXB0eSgkb3B0aW9ucykgKQogICAgICB7Cgkkc21hcnR5LT5hc3NpZ24oJ3VkX29wdGlvbnMnLCRvcHRpb25zKTsKICAgICAgfQogIH0KaWYoIGNvdW50KCRkYXRhKSApCiAgewogICAgJHNtYXJ0eS0+YXNzaWduKCdicm93c2VvcHRpb25zJywkZGF0YSk7CiAgfQoKIwojIFByb2Nlc3MgdGhlIHRlbXBsYXRlCiMKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCdicm93c2Vwcm9wXycuJHRoZXRlbXBsYXRlKTsKCiMKIyBFT0YKIwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHVXNlckRpcmVjdG9yeSAoYykgMjAwOSBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBicm93c2UKIyAgYW5kIHZpZXcgc3VtbWFyeSByZXBvcnRzIGFuZCBkZXRhaWwgcmVwb3J0cyBhYm91dCBncm91cHMgb2YgZnJvbnRlbmQKIyAgdXNlcnMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKIwojIEluaXRpYWxpemF0aW9uCiMKJHRoZXRlbXBsYXRlID0gJ3N1bW1hcnlfJy4kdGhpcy0+R2V0UHJlZmVyZW5jZShDR1VTRVJESVJfUFJFRl9ERkxUU1VNTUFSWV9OQU1FKTsKJG1lc3NhZ2VzID0gYXJyYXkoKTsKJHN0YXR1cyA9ICcnOwokZ2lkID0gJyc7CiRzb3J0YnkgPSAndXNlcm5hbWUnOwokc29ydG9yZGVyID0gJ0FTQyc7CiRzaG93ZXhwaXJlZCA9IDA7CiRwYWdlbGltaXQgPSAxMDA7CiRwYWdlbnVtID0gMTsKJG51bXBhZ2VzID0gMTsKJGl0ZW1jb3VudCA9IDA7CiRvZmZzZXQgPSAwOwokcHJvcGVydHkgPSAnJzsKJHVzZWxpa2UgPSAwOwokcHJvcHZhbCA9ICcnOwokb3JpZ19yZXR1cm5pZCA9ICRyZXR1cm5pZDsKJGRldGFpbHBhZ2UgPSAkcmV0dXJuaWQ7CgoKIwojIFNldHVwCiMKJGZldSA9JiAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoJ0Zyb250RW5kVXNlcnMnKTsKaWYoICEkZmV1ICkgCiAgewogICAgJHN0YXR1cyA9ICdlcnJvcic7CiAgICAkbWVzc2FnZXNbXSA9ICAkdGhpcy0+TGFuZygnZXJyb3Jfbm9mZXUnKTsKICB9CgoKIwojIFByb2Nlc3MgUGFyYW1ldGVycwojCmlmKCBpc3NldCgkcGFyYW1zWydzdW1tYXJ5dGVtcGxhdGUnXSkgKQogIHsKICAgICR0aGV0ZW1wbGF0ZSA9ICdzdW1tYXJ5XycudHJpbSgkcGFyYW1zWydzdW1tYXJ5dGVtcGxhdGUnXSk7CiAgfQppZiAoaXNzZXQoJHBhcmFtc1snZGV0YWlscGFnZSddKSkKICB7CiAgICAkbWFuYWdlciA9JiAkZ0Ntcy0+R2V0SGllcmFyY2h5TWFuYWdlcigpOwogICAgJG5vZGUgPSYgJG1hbmFnZXItPnN1cmVHZXROb2RlQnlBbGlhcygkcGFyYW1zWydkZXRhaWxwYWdlJ10pOwogICAgaWYgKGlzc2V0KCRub2RlKSkKICAgICAgewoJJGNvbnRlbnQgPSYgJG5vZGUtPkdldENvbnRlbnQoKTsJCglpZiAoaXNzZXQoJGNvbnRlbnQpKQoJICB7CgkgICAgJGRldGFpbHBhZ2UgPSAkY29udGVudC0+SWQoKTsKCSAgfQogICAgICB9CiAgICBlbHNlCiAgICAgIHsKCSRub2RlID0mICRtYW5hZ2VyLT5zdXJlR2V0Tm9kZUJ5SWQoJHBhcmFtc1snZGV0YWlscGFnZSddKTsKCWlmIChpc3NldCgkbm9kZSkpCgkgIHsKCSAgICAkZGV0YWlscGFnZSA9ICRwYXJhbXNbJ2RldGFpbHBhZ2UnXTsKCSAgfQogICAgICB9CgogICAgaWYoICRkZXRhaWxwYWdlICE9ICcnICkKICAgICAgewoJJHBhcmFtc1snb3JpZ3BhZ2UnXSA9ICRyZXR1cm5pZDsKICAgICAgfQogIH0KCmlmKCBpc3NldCgkcGFyYW1zWydncm91cCddKSApCiAgewogICAgJGdpZCA9ICRmZXUtPkdldEdyb3VwSUQodHJpbSgkcGFyYW1zWydncm91cCddKSk7CiAgICBpZiggJGdpZCA9PT0gZmFsc2UgKQogICAgICB7Cgkkc3RhdHVzID0gJ2Vycm9yJzsKCSRtZXNzYWdlc1tdID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2ludmFsaWRncm91cCcpOwogICAgICB9CiAgfQppZiggaXNzZXQoJHBhcmFtc1snZ2lkJ10pICkKICB7CiAgICAkZ2lkID0gKGludCkkcGFyYW1zWydnaWQnXTsKICAgIGlmKCAhJGZldS0+R3JvdXBFeGlzdHNCeUlEKCRnaWQpICkKICAgICAgewoJJHN0YXR1cyA9ICdlcnJvcic7CgkkbWVzc2FnZXNbXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9pbnZhbGlkZ3JvdXAnKTsKICAgICAgfQogIH0KaWYoIGlzc2V0KCRwYXJhbXNbJ3Nob3dleHBpcmVkJ10pICkKICB7CiAgICAkc2hvd2V4cGlyZWQgPSAoaW50KSRzaG93ZXhwaXJlZDsKICB9CmlmKCBpc3NldCgkcGFyYW1zWydwcm9wJ10pICkKICB7CiAgICAkcHJvcGVydHkgPSB0cmltKCRwYXJhbXNbJ3Byb3AnXSk7CiAgICBpZiggaXNzZXQoJHBhcmFtc1sndXNlbGlrZSddKSApCiAgICAgIHsKCSR1c2VsaWtlID0gKGludCkkcGFyYW1zWyd1c2VsaWtlJ107CiAgICAgIH0KICAgIGlmKCBpc3NldCgkcGFyYW1zWydwcm9wdmFsJ10pICkKICAgICAgewoJJHByb3B2YWwgPSB0cmltKCRwYXJhbXNbJ3Byb3B2YWwnXSk7CiAgICAgIH0KCiAgICBpZiggIWVtcHR5KCRwcm9wZXJ0eSkgJiYgZW1wdHkoJHByb3B2YWwpICkKICAgICAgewoJJHN0YXR1cyA9ICdlcnJvcic7CgkkbWVzc2FnZXNbXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9taXNzaW5ncGFyYW0nKTsKICAgICAgfQogIH0KaWYoIGlzc2V0KCRwYXJhbXNbJ3NvcnRieSddKSApCiAgewogICAgJHRtcCA9IHRyaW0oJHBhcmFtc1snc29ydGJ5J10pOwogICAgc3dpdGNoKCR0bXApCiAgICAgIHsKICAgICAgY2FzZSAnaWQnOgogICAgICBjYXNlICd1c2VybmFtZSc6CiAgICAgIGNhc2UgJ2NyZWF0ZWRhdGUnOgogICAgICBjYXNlICdleHBpcmVzJzoKCSRzb3J0YnkgPSAnVS4nLiR0bXA7CglicmVhazsKICAgICAgY2FzZSAnYWN0aXZpdHknOgoJJHNvcnRieSA9ICdILnJlZmRhdGUnOwoJYnJlYWs7CiAgICAgIGRlZmF1bHQ6Cgkkc3RhdHVzID0gJ2Vycm9yJzsKCSRtZXNzYWdlc1tdID0gICR0aGlzLT5MYW5nKCdlcnJvcl9pbnZhbGlkc29ydGZpZWxkJywkdG1wKTsKCWJyZWFrOwogICAgICB9CiAgfQppZiggaXNzZXQoJHBhcmFtc1snc29ydG9yZGVyJ10pICkKICB7CiAgICAkdG1wID0gc3RydG91cHBlcih0cmltKCRwYXJhbXNbJ3NvcnRvcmRlciddKSk7CiAgICBzd2l0Y2goICR0bXAgKQogICAgICB7CiAgICAgIGNhc2UgJ0FTQyc6CiAgICAgIGNhc2UgJ0RFU0MnOgoJJHNvcnRvcmRlciA9ICR0bXA7CglicmVhazsKICAgICAgZGVmYXVsdDoKCSRzdGF0dXMgPSAnZXJyb3InOwoJJG1lc3NhZ2VzW10gPSAgJHRoaXMtPkxhbmcoJ2Vycm9yX2ludmFsaWRzb3J0ZmllbGQnLCR0bXApOwoJYnJlYWs7CiAgICAgIH0KICB9CmlmKCBpc3NldCgkcGFyYW1zWydwYWdlbGltaXQnXSkgKQogIHsKICAgICRwYWdlbGltaXQgPSAoaW50KSRwYXJhbXNbJ3BhZ2VsaW1pdCddOwogICAgJHBhZ2VsaW1pdCA9IG1heCgkcGFnZWxpbWl0LDEpOwogICAgJHBhZ2VsaW1pdCA9IG1pbigxMDAwLCRwYWdlbGltaXQpOwogIH0KaWYoIGlzc2V0KCRwYXJhbXNbJ3BhZ2VudW0nXSkgKQogIHsKICAgICRwYWdlbnVtID0gKGludCkkcGFyYW1zWydwYWdlbnVtJ107CiAgICAkcGFnZW51bSA9IG1heCgkcGFnZW51bSwxKTsKICAgICRwYWdlbnVtID0gbWluKDEwMDAwLCRwYWdlbnVtKTsKICB9CgoKIwojIEdldCB0aGUgZGF0YQojCmlmKCBlbXB0eSgkc3RhdHVzKSApCiAgewogICAgJG5vdyA9ICRkYi0+RGJUaW1lc3RhbXAodGltZSgpKTsKICAgICRqb2lucyA9IGFycmF5KCk7CiAgICAkam9pbnNjb3VudCA9IGFycmF5KCk7CiAgICAkd2hlcmUgPSBhcnJheSgpOwogICAgJHdoZXJlY291bnQgPSBhcnJheSgpOwogICAgJHFwYXJtcyA9IGFycmF5KCk7CiAgICAkcXBhcm1zY291bnQgPSBhcnJheSgpOwoKICAgIC8vIAogICAgLy8gYnVpbGQgdGhlIHF1ZXJpZXMKICAgIC8vU0VMRUNUIFUuKixILnJlZmRhdGUgRlJPTSBjbXNfbW9kdWxlX2ZldXNlcnNfdXNlcnMgVSBMRUZUIEpPSU4gY21zX21vZHVsZV9mZXVzZXJzX2hpc3RvcnkgSCBPTiBVLmlkID0gSC51c2VyaWQgV0hFUkUgSC5hY3Rpb24gPSAnbG9naW4nIEdST1VQIEJZIFUuaWQgT1JERVIgYnkgSC5yZWZkYXRlIERFU0M7IAogICAgJHRtcCAuPSAkZGItPklmTnVsbCgnSC5yZWZkYXRlJywkZGItPkRiVGltZXN0YW1wKDEpKS4nIEFTIHJlZmRhdGUnOwogICAgJHF1ZXJ5ID0gJ1NFTEVDVCBVLiosJy4kdG1wLicgIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9mZXVzZXJzX3VzZXJzIFUnOwogICAgJHF1ZXJ5Y291bnQgPSAnU0VMRUNUIGNvdW50KFUuaWQpIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9mZXVzZXJzX3VzZXJzIFUnOwogICAgJGpvaW5zW10gPSBjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9mZXVzZXJzX2hpc3RvcnkgSCBPTiBVLmlkID0gSC51c2VyaWQnOwoKICAgIC8vCiAgICAvLyB0b2RvIGZpbGwgaW4gc3R1ZmYgaGVyZQogICAgLy8KICAgIGlmKCAhZW1wdHkoJGdpZCkgKQogICAgICB7Cgkkam9pbnNbXSA9IGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2ZldXNlcnNfYmVsb25ncyBiZWwgT04gVS5pZCA9IGJlbC51c2VyaWQnOwoJJGpvaW5zY291bnRbXSA9IGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2ZldXNlcnNfYmVsb25ncyBiZWwgT04gVS5pZCA9IGJlbC51c2VyaWQnOwoJJHdoZXJlW10gPSAnYmVsLmdyb3VwaWQgPSA/JzsKCSR3aGVyZWNvdW50W10gPSAnYmVsLmdyb3VwaWQgPSA/JzsKCSRxcGFybXNbXSA9ICRnaWQ7CgkkcXBhcm1zY291bnRbXSA9ICRnaWQ7CiAgICAgIH0KCiAgICBpZiggISRzaG93ZXhwaXJlZCApCiAgICAgIHsKCSR3aGVyZVtdID0gImV4cGlyZXMgPiAkbm93IjsKCSR3aGVyZWNvdW50W10gPSAiZXhwaXJlcyA+ICRub3ciOwogICAgICB9CiAgICBpZiggIWVtcHR5KCRwcm9wZXJ0eSkgJiYgIWVtcHR5KCRwcm9wdmFsKSApCiAgICAgIHsKCSRqb2luc1tdID0gY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZmV1c2Vyc19wcm9wZXJ0aWVzIFAgT04gVS5pZCA9IFAudXNlcmlkJzsKCSRqb2luc2NvdW50W10gPSBjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9mZXVzZXJzX3Byb3BlcnRpZXMgUCBPTiBVLmlkID0gUC51c2VyaWQnOwoJaWYoICRwcm9wZXJ0eSAhPSAnX191c2VybmFtZV9fJyApCgkgIHsKCSAgICAkd2hlcmVbXSA9ICdQLnRpdGxlID0gPyc7CgkgICAgJHdoZXJlY291bnRbXSA9ICdQLnRpdGxlID0gPyc7CgkgICAgJHFwYXJtc1tdID0gJHByb3BlcnR5OwoJICAgICRxcGFybXNjb3VudFtdID0gJHByb3BlcnR5OwoJICB9CgoJaWYoICR1c2VsaWtlICkKCSAgewoJICAgIGlmKCAkcHJvcGVydHkgPT0gJ19fdXNlcm5hbWVfXycgKQoJICAgICAgewoJCSR3aGVyZVtdID0gJ1UudXNlcm5hbWUgTElLRSA/JzsKCQkkd2hlcmVjb3VudFtdID0gJ1UudXNlcm5hbWUgTElLRSA/JzsKCSAgICAgIH0KCSAgICBlbHNlCgkgICAgICB7CgkJJHdoZXJlW10gPSAnUC5kYXRhIExJS0UgPyc7CgkJJHdoZXJlY291bnRbXSA9ICdQLmRhdGEgTElLRSA/JzsKCSAgICAgIH0KCSAgICAkcXBhcm1zW10gPSAkcHJvcHZhbDsKCSAgfQoJZWxzZQoJICB7CgkgICAgaWYoICRwcm9wZXJ0eSA9PSAnX191c2VybmFtZV9fJyApCgkgICAgICB7CgkJJHdoZXJlW10gPSAnVS51c2VybmFtZSA9ID8nOwoJCSR3aGVyZWNvdW50W10gPSAnVS51c2VybmFtZSA9ID8nOwoJICAgICAgfQoJICAgIGVsc2UKCSAgICAgIHsKCQkkd2hlcmVbXSA9ICdQLmRhdGEgPSA/JzsKCQkkd2hlcmVjb3VudFtdID0gJ1AuZGF0YSA9ID8nOwoJICAgICAgfQoJICAgICRxcGFybXNbXSA9ICRwcm9wdmFsOwoJICB9CiAgICAgIH0KCiAgICAvLyBmaW5hbCBhc3NlbWJseQogICAgJHN1ZmZpeCA9ICcnOwogICAgJHN1ZmZpeGNvdW50ID0gJyc7CiAgICBpZiggY291bnQoJGpvaW5zKSApCiAgICAgIHsKCSRzdWZmaXggLj0gJyBMRUZUIEpPSU4gJy5pbXBsb2RlKCcgTEVGVCBKT0lOICcsJGpvaW5zKTsKICAgICAgfQogICAgaWYoIGNvdW50KCRqb2luc2NvdW50KSApCiAgICAgIHsKCSRzdWZmaXhjb3VudCAuPSAnIExFRlQgSk9JTiAnLmltcGxvZGUoJyBMRUZUIEpPSU4gJywkam9pbnNjb3VudCk7CiAgICAgIH0KICAgIGlmKCBjb3VudCgkd2hlcmUpICkKICAgICAgewoJJHN1ZmZpeCAuPSAnIFdIRVJFICcuaW1wbG9kZSgnIEFORCAnLCR3aGVyZSk7CiAgICAgIH0KICAgIGlmKCBjb3VudCgkd2hlcmVjb3VudCkgKQogICAgICB7Cgkkc3VmZml4Y291bnQgLj0gJyBXSEVSRSAnLmltcGxvZGUoJyBBTkQgJywkd2hlcmVjb3VudCk7CiAgICAgIH0KICAgICRzdWZmaXggLj0gJyBHUk9VUCBCWSBVLmlkJzsKICAgIC8vJHN1ZmZpeGNvdW50IC49ICcgR1JPVVAgQlkgVS5pZCc7CgogICAgJHN1ZmZpeCAuPSAiIE9SREVSIEJZICRzb3J0YnkgJHNvcnRvcmRlciI7CiAgICAkcXVlcnkgLj0gJHN1ZmZpeDsKICAgICRxdWVyeWNvdW50IC49ICRzdWZmaXhjb3VudDsKCiAgICAvLyBHZXQgdGhlIGNvdW50IG9mIGl0ZW1zLgogICAgJGl0ZW1jb3VudCA9ICRkYi0+R2V0T25lKCRxdWVyeWNvdW50LCRxcGFybXMpOwogICAgaWYoICEkaXRlbWNvdW50ICkgCiAgICAgIHsKCWVjaG8gJ0RFQlVHOiBlcnJvciBpbiBjb3VudCBxdWVyeTxici8+JzsKCWVjaG8gJyZuYnNwOyZuYnNwO1FVRVJZID0gJy4kZGItPnNxbC4nPGJyLz4nOwoJZWNobyAnJm5ic3A7Jm5ic3A7RXJyb3IgPSAnLiRkYi0+RXJyb3JNc2coKTsKCSRzdGF0dXMgPSAnZXJyb3InOwoJJG1lc3NhZ2VzW10gPSAkdGhpcy0+TGFuZygnZXJyb3Jfc3FsJyk7CiAgICAgIH0KCiAgICAvLyBjYWxjdWxhdGUgcGFnZSB2YWx1ZXMuCiAgICBpZiggZW1wdHkoJHN0YXR1cykgKQogICAgICB7CgkkbnVtcGFnZXMgPSAoaW50KSgkaXRlbWNvdW50IC8gJHBhZ2VsaW1pdCk7CgkkdG1wID0gJGl0ZW1jb3VudCAlICRwYWdlbGltaXQ7CglpZiggJHRtcCA+IDAgKSAkbnVtcGFnZXMrKzsKCgkkb2Zmc2V0ID0gJHBhZ2VsaW1pdCAqICgkcGFnZW51bSAtIDEpOwogICAgICB9CgogICAgJGRhdGEgPSAnJzsKICAgIGlmKCBlbXB0eSgkc3RhdHVzKSApCiAgICAgIHsKCSRkYnIgPSAkZGItPlNlbGVjdExpbWl0KCRxdWVyeSwkcGFnZWxpbWl0LCRvZmZzZXQsJHFwYXJtcyk7CglpZiggISRkYnIgKQoJICB7CgkgICAgZWNobyAnREVCVUc6IGVycm9yIGluIHF1ZXJ5PGJyLz4nOwoJICAgIGVjaG8gJyZuYnNwOyZuYnNwO1FVRVJZID0gJy4kZGItPnNxbC4nPGJyLz4nOwoJICAgIGVjaG8gJyZuYnNwOyZuYnNwO0Vycm9yID0gJy4kZGItPkVycm9yTXNnKCk7CgkgICAgJHN0YXR1cyA9ICdlcnJvcic7CgkgICAgJG1lc3NhZ2VzW10gPSAkdGhpcy0+TGFuZygnZXJyb3Jfc3FsJyk7CgkgIH0KCgkkZGF0YSA9IGFycmF5KCk7Cgl3aGlsZSggJGRiciAmJiAoJHJvdyA9ICRkYnItPkZldGNoUm93KCkpICkKCSAgewoJICAgICRkYXRhW10gPSAkcm93OwoJICB9CgkkZGJyLT5DbG9zZSgpOwogICAgICB9CgogICAgaWYoIGVtcHR5KCRzdGF0dXMpICkKICAgICAgewoJLy8KCS8vIEV4cGFuZCBhbGwgdGhlIHVzZXIgb3B0aW9ucwoJLy8KCgkkYmFkX2RhdGUgPSB0cmltKCRkYi0+RGJUaW1lU3RhbXAoMSksIiciKTsKCgkvLyBxdWVyeSB0byBnZXQgYWxsIHVzZXIgbWVtYmVyIGdyb3VwcwoJJGdxdWVyeSA9ICdTRUxFQ1QgZ3JvdXBpZCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZmV1c2Vyc19iZWxvbmdzIAogICAgICAgICAgICAgICAgICAgICAgICBXSEVSRSB1c2VyaWQgPSA/JzsKCQoJLy8gcXVlcnkgdG8gZ2V0IHVzZXIgcHJvcGVydGllcy4KCSRwcXVlcnkgPSAnIFNFTEVDVCB0aXRsZSxkYXRhIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9mZXVzZXJzX3Byb3BlcnRpZXMgCiAgICAgICAgICAgICAgICAgICAgIFdIRVJFIHVzZXJpZCA9ID8nOwoJCglmb3IoICRpID0gMDsgJGkgPCBjb3VudCgkZGF0YSk7ICRpKysgKQoJICB7CgkgICAgLy8gaGlkZSB0aGUgcGFzc3dvcmQgZmllbGQKCSAgICB1bnNldCgkZGF0YVskaV1bJ3Bhc3N3b3JkJ10pOwoKCSAgICAvLyB1bnNldCB0aGUgcmVmZGF0ZSBpZiB0aGUgdXNlciBoYXMgaGFkIG5vIGFjdGl2aXR5CgkgICAgaWYoICRkYXRhWyRpXVsncmVmZGF0ZSddID09ICRiYWRfZGF0ZSApCgkgICAgICB7CgkJdW5zZXQoJGRhdGFbJGldWydyZWZkYXRlJ10pOwoJICAgICAgfQoJICAgIAoJICAgIC8vIERldGFpbCBVUkwKCSAgICAkcGFyYW1zWyd1aWQnXSA9ICRkYXRhWyRpXVsnaWQnXTsKCSAgICAkcHJldHR5dXJsID0gJ3VzZXJzLycuJHBhcmFtc1sndWlkJ10uJy8nLiRkZXRhaWxwYWdlOwoJICAgIGlmKCBpc3NldCgkcGFyYW1zWydkZXRhaWx0ZW1wbGF0ZSddKSApCgkgICAgICB7CgkJJHByZXR0eXVybCAuPSAnLycubXVuZ2Vfc3RyaW5nX3RvX3VybCh0cmltKCRwYXJhbXNbJ2RldGFpbHRlbXBsYXRlJ10pKTsKCSAgICAgIH0KCSAgICAkcHJldHR5dXJsIC49ICcvJy5tdW5nZV9zdHJpbmdfdG9fdXJsKCRkYXRhWyRpXVsndXNlcm5hbWUnXSk7CgkgICAgJGRhdGFbJGldWydkZXRhaWxfdXJsJ10gPSAkdGhpcy0+Q3JlYXRlVVJMKCRpZCwnZGV0YWlsJywkZGV0YWlscGFnZSwKCQkJCQkJICAgICAgICRwYXJhbXMsZmFsc2UsJHByZXR0eXVybCk7CgkJCQkJCSAgICAgICAKCSAgICAvLyBhZGQgbWVtYmVyIGdyb3VwIGlkcwoJICAgICR0bXAgPSAkZGItPkdldEFycmF5KCRncXVlcnksYXJyYXkoJGRhdGFbJGldWydpZCddKSk7CgkgICAgJGdyb3VwcyA9ICR0aGlzLT5hcnJheV9leHRyYWN0X2ZpZWxkKCR0bXAsJ2dyb3VwaWQnKTsKCSAgICAkZGF0YVskaV1bJ2dyb3VwcyddID0gJGdyb3VwczsKCSAgICAKCSAgICAvLyBHZXQgcHJvcHJldGllcwoJICAgICRnc3RyID0gJygnLmltcGxvZGUoJywnLCRncm91cHMpLicpJzsKCSAgICAkdG1wID0gJGRiLT5HZXRBcnJheShzcHJpbnRmKCRwcXVlcnksJGdzdHIpLGFycmF5KCRkYXRhWyRpXVsnaWQnXSkpOwoJICAgIGlmKCAkdG1wICkKCSAgICAgIHsKCQkkdG1wMiA9IGFycmF5KCk7CgkJZm9yKCAkaiA9IDA7ICRqIDwgY291bnQoJHRtcCk7ICRqKysgKQoJCSAgewoJCSAgICBpZiggIWVtcHR5KCR0bXBbJGpdWydkYXRhJ10pICYmICR0bXBbJGpdWydkYXRhJ10gIT0gJzxub3RzZXQ+JyApCgkJICAgICAgewoJCQkkdG1wMlskdG1wWyRqXVsndGl0bGUnXV0gPSAkdG1wWyRqXVsnZGF0YSddOwoJCSAgICAgIH0KCQkgIH0KCQkkZGF0YVskaV1bJ3Byb3BlcnRpZXMnXSA9ICR0bXAyOwoJICAgICAgfQoJICB9CiAgICAgIH0KCiAgICBpZiggZW1wdHkoJHN0YXR1cykgKQogICAgICB7CgkvLyBHZXQgYWxsIHRoZSB1c2VyIHByb3BlcnRpZXMKCSRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZmV1c2Vyc19wcm9wZGVmbic7CgkkdG1wID0gJGRiLT5HZXRBcnJheSgkcXVlcnkpOwoJJHByb3BzID0gJHRoaXMtPmFycmF5X3RvX2hhc2goJHRtcCwnbmFtZScpOwogICAgICB9CgogICAgaWYoIGVtcHR5KCRzdGF0dXMpICkKICAgICAgewoJLy8gZ2V0IGFsbCB0aGUgZ3JvdXBzCgkkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2ZldXNlcnNfZ3JvdXBzJzsKCSR0bXAgPSAkZGItPkdldEFycmF5KCRxdWVyeSk7CgkkZ3JvdXBzID0gJHRoaXMtPmFycmF5X3RvX2hhc2goJHRtcCwnaWQnKTsKICAgICAgfQogIH0KCgojCiMgR2l2ZSBldmVyeXRoaW5nIHRvIHNtYXJ0eQojCmlmKCBlbXB0eSgkc3RhdHVzKSApCiAgewogICAgJGNvbmZpZyA9JiAkZ0Ntcy0+R2V0Q29uZmlnKCk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2dyb3VwcycsJGdyb3Vwcyk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ3Byb3BlcnRpZXMnLCRwcm9wcyk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ3RvdGFsY291bnQnLCRpdGVtY291bnQpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdjdXJwYWdlJywkcGFnZW51bSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ251bXBhZ2VzJywkbnVtcGFnZXMpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdmaWxlX2xvY2F0aW9uJywkY29uZmlnWyd1cGxvYWRzX3VybCddLicvZmV1c2VycycpOwogICAgJHNtYXJ0eS0+YXNzaWduKCd1c2VycycsJGRhdGEpOwoKICAgIGlmKCAkbnVtcGFnZXMgPiAxICkKICAgICAgewoJaWYoICRwYWdlbnVtID4gMSApCgkgIHsKCSAgICAkcGFybXMgPSAkcGFyYW1zOwoJICAgICRwYXJtc1sncGFnZW51bSddID0gMTsKCSAgICAkc21hcnR5LT5hc3NpZ24oJ2ZpcnN0cGFnZV91cmwnLAoJCQkgICAgJHRoaXMtPkNyZWF0ZVVSTCgkaWQsJ2RlZmF1bHQnLCRyZXR1cm5pZCwkcGFybXMpKTsKCSAgICAkcGFybXNbJ3BhZ2VudW0nXSA9ICRwYWdlbnVtIC0gMTsKCSAgICAkc21hcnR5LT5hc3NpZ24oJ3ByZXZwYWdlX3VybCcsCgkJCSAgICAkdGhpcy0+Q3JlYXRlVVJMKCRpZCwnZGVmYXVsdCcsJHJldHVybmlkLCRwYXJtcykpOwoJICB9CglpZiggJHBhZ2VudW0gPCAkbnVtcGFnZXMgKQoJICB7CgkgICAgJHBhcm1zID0gJHBhcmFtczsKCSAgICAkcGFybXNbJ3BhZ2VudW0nXSA9ICRwYWdlbnVtICsgMTsKCSAgICAkc21hcnR5LT5hc3NpZ24oJ25leHRwYWdlX3VybCcsCgkJCSAgICAkdGhpcy0+Q3JlYXRlVVJMKCRpZCwnZGVmYXVsdCcsJHJldHVybmlkLCRwYXJtcykpOwoJICAgICRwYXJtc1sncGFnZW51bSddID0gJG51bXBhZ2VzOwoJICAgICRzbWFydHktPmFzc2lnbignbGFzdHBhZ2VfdXJsJywKCQkJICAgICR0aGlzLT5DcmVhdGVVUkwoJGlkLCdkZWZhdWx0JywkcmV0dXJuaWQsJHBhcm1zKSk7CgkgIH0KICAgICAgfQogICAgLy9lY2hvICc8cHJlPic7IHByaW50X3IoICRkYXRhICk7IGVjaG8gJzwvcHJlPic7CiAgfQplbHNlCiAgewogICAgJHNtYXJ0eS0+YXNzaWduKCdzdGF0dXMnLCRzdGF0dXMpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdtZXNzYWdlcycsJG1lc3NhZ2VzKTsKICB9CgoKIwojIERpc3BsYXkgdGhlIHRlbXBsYXRlCiMKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCR0aGV0ZW1wbGF0ZSk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHVXNlckRpcmVjdG9yeSAoYykgMjAwOSBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBicm93c2UKIyAgYW5kIHZpZXcgc3VtbWFyeSByZXBvcnRzIGFuZCBkZXRhaWwgcmVwb3J0cyBhYm91dCBncm91cHMgb2YgZnJvbnRlbmQKIyAgdXNlcnMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKZWNobyAkdGhpcy0+U3RhcnRUYWJIZWFkZXJzKCk7CmlmKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgVGVtcGxhdGVzJykgKQogIHsKICAgIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignZGlyZWN0b3J5dGVtcGxhdGVzJywKCQkJICAgICAkdGhpcy0+TGFuZygnbGJsX2RpcmVjdG9yeXRlbXBsYXRlcycpKTsKICAgIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignc3VtbWFyeXRlbXBsYXRlcycsCgkJCSAgICAgJHRoaXMtPkxhbmcoJ2xibF9zdW1tYXJ5dGVtcGxhdGVzJykpOwogICAgZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdkZXRhaWx0ZW1wbGF0ZXMnLAoJCQkgICAgICR0aGlzLT5MYW5nKCdsYmxfZGV0YWlsdGVtcGxhdGVzJykpOwogICAgZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdzZWFyY2hmb3JtdGVtcGxhdGVzJywKCQkJICAgICAkdGhpcy0+TGFuZygnbGJsX3NlYXJjaGZvcm10ZW1wbGF0ZXMnKSk7CiAgICBlY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ2Jyb3dzZXByb3B0ZW1wbGF0ZXMnLAoJCQkgICAgICR0aGlzLT5MYW5nKCdsYmxfYnJvd3NlcHJvcHRlbXBsYXRlcycpKTsKICAgIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignZGVmYXVsdHRlbXBsYXRlcycsCgkJCSAgICAgJHRoaXMtPkxhbmcoJ2xibF9kZWZhdWx0dGVtcGxhdGVzJykpOwogIH0KLy8gaWYoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBTaXRlIFByZWZlcmVuY2VzJykgKQovLyAgIHsKLy8gICAgIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignc2V0dGluZ3MnLAovLyAJCQkgICAgICR0aGlzLT5MYW5nKCdsYmxfc2V0dGluZ3MnKSk7Ci8vICAgfQplY2hvICR0aGlzLT5FbmRUYWJIZWFkZXJzKCk7CgplY2hvICR0aGlzLT5TdGFydFRhYkNvbnRlbnQoKTsKaWYoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBUZW1wbGF0ZXMnKSApCiAgewogICAgZWNobyAkdGhpcy0+U3RhcnRUYWIoJ2RpcmVjdG9yeXRlbXBsYXRlcycpOwogICAgaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLmFkbWluX2RpcmVjdG9yeXRlbXBsYXRlc190YWIucGhwJyk7CiAgICBlY2hvICR0aGlzLT5FbmRUYWIoKTsKCiAgICBlY2hvICR0aGlzLT5TdGFydFRhYignc3VtbWFyeXRlbXBsYXRlcycpOwogICAgaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLmFkbWluX3N1bW1hcnl0ZW1wbGF0ZXNfdGFiLnBocCcpOwogICAgZWNobyAkdGhpcy0+RW5kVGFiKCk7CgogICAgZWNobyAkdGhpcy0+U3RhcnRUYWIoJ2RldGFpbHRlbXBsYXRlcycpOwogICAgaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLmFkbWluX2RldGFpbHRlbXBsYXRlc190YWIucGhwJyk7CiAgICBlY2hvICR0aGlzLT5FbmRUYWIoKTsKCiAgICBlY2hvICR0aGlzLT5TdGFydFRhYignc2VhcmNoZm9ybXRlbXBsYXRlcycpOwogICAgaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLmFkbWluX3NlYXJjaGZvcm10ZW1wbGF0ZXNfdGFiLnBocCcpOwogICAgZWNobyAkdGhpcy0+RW5kVGFiKCk7CgogICAgZWNobyAkdGhpcy0+U3RhcnRUYWIoJ2Jyb3dzZXByb3B0ZW1wbGF0ZXMnKTsKICAgIGluY2x1ZGUoZGlybmFtZShfX0ZJTEVfXykuJy9mdW5jdGlvbi5hZG1pbl9icm93c2Vwcm9wdGVtcGxhdGVzX3RhYi5waHAnKTsKICAgIGVjaG8gJHRoaXMtPkVuZFRhYigpOwoKICAgIGVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdkZWZhdWx0dGVtcGxhdGVzJyk7CiAgICBpbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24uYWRtaW5fZGVmYXVsdHRlbXBsYXRlc190YWIucGhwJyk7CiAgICBlY2hvICR0aGlzLT5FbmRUYWIoKTsKICB9Ci8vIGlmKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpICkKLy8gICB7Ci8vICAgICBlY2hvICR0aGlzLT5TdGFydFRhYignc2V0dGluZ3MnKTsKLy8gICAgIGluY2x1ZGUoZGlybmFtZShfX0ZJTEVfXykuJy9mdW5jdGlvbi5hZG1pbl9zZXR0aW5nc190YWIucGhwJyk7Ci8vICAgICBlY2hvICR0aGlzLT5FbmRUYWIoKTsKLy8gICB9CmVjaG8gJHRoaXMtPkVuZFRhYkNvbnRlbnQoKTsKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.detail.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHVXNlckRpcmVjdG9yeSAoYykgMjAwOSBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBicm93c2UKIyAgYW5kIHZpZXcgc3VtbWFyeSByZXBvcnRzIGFuZCBkZXRhaWwgcmVwb3J0cyBhYm91dCBncm91cHMgb2YgZnJvbnRlbmQKIyAgdXNlcnMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKIwojIEluaXRpYWxpemF0aW9uCiMKJGNvbmZpZyA9JiAkZ0Ntcy0+R2V0Q29uZmlnKCk7CiR0aGV0ZW1wbGF0ZSA9ICdkZXRhaWxfJy4kdGhpcy0+R2V0UHJlZmVyZW5jZShDR1VTRVJESVJfUFJFRl9ERkxUREVUQUlMX05BTUUpOwokc3RhdHVzID0gJyc7CiR1aWQgPSAnJzsKJGRhdGEgPSAnJzsKJHByb3BzID0gJyc7CiRncm91cHMgPSAnJzsKCiMKIyBTZXR1cAojCiRmZXUgPSYgJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCdGcm9udEVuZFVzZXJzJyk7CmlmKCAhJGZldSApIAogIHsKICAgICRzdGF0dXMgPSAkdGhpcy0+TGFuZygnZXJyb3Jfbm9mZXUnKTsKICB9CgojCiMgUHJvY2VzcyBQYXJhbWV0ZXJzCiMKaWYoIGlzc2V0KCRwYXJhbXNbJ2RldGFpbHRlbXBsYXRlJ10pICkKICB7CiAgICAkdGhldGVtcGxhdGUgPSAnZGV0YWlsXycudHJpbSgkcGFyYW1zWydkZXRhaWx0ZW1wbGF0ZSddKTsKICB9CmlmKCAhaXNzZXQoJHBhcmFtc1sndWlkJ10pICkKICB7CiAgICAkc3RhdHVzID0gJHRoaXMtPkxhbmcoJ2Vycm9yX21pc3NpbmdwYXJhbScpOwogIH0KJHVpZCA9IChpbnQpJHBhcmFtc1sndWlkJ107CgojCiMgR2V0IHRoZSBkYXRhCiMKJHRncm91cHMgPSAnJzsKaWYoIGVtcHR5KCRzdGF0dXMpICkKICB7CiAgICAvLyB1c2VyIGFjY291bnQgZGV0YWlscwogICAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9mZXVzZXJzX3VzZXJzIFdIRVJFIGlkID0gPyc7CiAgICAkZGF0YSA9ICRkYi0+R2V0Um93KCRxdWVyeSxhcnJheSgkdWlkKSk7CiAgICBpZiggISRkYXRhICkKICAgICAgewoJJHN0YXR1cyA9ICR0aGlzLT5MYW5nKCdlcnJvcl91c2Vybm90Zm91bmQnKTsKICAgICAgfQogIH0KaWYoIGVtcHR5KCRzdGF0dXMpICkKICB7CiAgICAvLyBsYXN0IGFjdGl2aXR5IGRhdGUKICAgICRxdWVyeSA9ICdTRUxFQ1QgcmVmZGF0ZSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZmV1c2Vyc19oaXN0b3J5IAogICAgICAgICAgICAgICBXSEVSRSB1c2VyaWQgPSA/CiAgICAgICAgICAgICAgIE9SREVSIEJZIHJlZmRhdGUgREVTQwogICAgICAgICAgICAgICBMSU1JVCAxJzsKICAgICR0bXAgPSAkZGItPkdldE9uZSgkcXVlcnksYXJyYXkoJHVpZCkpOwogICAgaWYoICR0bXAgKQogICAgICB7CgkkZGF0YVsncmVmZGF0ZSddID0gJHRtcDsKICAgICAgfQogIH0KaWYoIGVtcHR5KCRzdGF0dXMpICkKICB7CiAgICAvLyBtZW1iZXIgZ3JvdXBzCiAgICAkZ3F1ZXJ5ID0gJ1NFTEVDVCBncm91cGlkIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9mZXVzZXJzX2JlbG9uZ3MgCiAgICAgICAgICAgICAgICBXSEVSRSB1c2VyaWQgPSA/JzsKICAgICR0bXAgPSAkZGItPkdldEFycmF5KCRncXVlcnksYXJyYXkoJHVpZCkpOwogICAgJHRncm91cHMgPSAkdGhpcy0+YXJyYXlfZXh0cmFjdF9maWVsZCgkdG1wLCdncm91cGlkJyk7CiAgICAkZGF0YVsnZ3JvdXBzJ10gPSAkdGdyb3VwczsKICB9CmlmKCBlbXB0eSgkc3RhdHVzKSApCiAgewogICAgLy8gdXNlciBwcm9wZXJ0aWVzCiAgICAkcHF1ZXJ5ID0gJyBTRUxFQ1QgdGl0bGUsZGF0YSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZmV1c2Vyc19wcm9wZXJ0aWVzIAogICAgICAgICAgICAgICAgIFdIRVJFIHVzZXJpZCA9ID8nOwogICAgJGdzdHIgPSAnKCcuaW1wbG9kZSgnLCcsJHRncm91cHMpLicpJzsKICAgICR0bXAgPSAkZGItPkdldEFycmF5KHNwcmludGYoJHBxdWVyeSwkZ3N0ciksYXJyYXkoJHVpZCkpOwogICAgaWYoICR0bXAgKQogICAgICB7CgkkdG1wMiA9IGFycmF5KCk7Cglmb3IoICRqID0gMDsgJGogPCBjb3VudCgkdG1wKTsgJGorKyApCgkgIHsKCSAgICBpZiggIWVtcHR5KCR0bXBbJGpdWydkYXRhJ10pICYmICR0bXBbJGpdWydkYXRhJ10gIT0gJzxub3RzZXQ+JyApCgkgICAgICB7CgkJJHRtcDJbJHRtcFskal1bJ3RpdGxlJ11dID0gJHRtcFskal1bJ2RhdGEnXTsKCSAgICAgIH0KCSAgfQoJJGRhdGFbJ3Byb3BlcnRpZXMnXSA9ICR0bXAyOwogICAgICB9CiAgfQppZiggZW1wdHkoJHN0YXR1cykgKQogIHsKICAgIC8vIEdldCBhbGwgdGhlIHByb3BlcnR5IGRlZmluaXRpb25zCiAgICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2ZldXNlcnNfcHJvcGRlZm4nOwogICAgJHRtcCA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5KTsKICAgICRwcm9wcyA9ICR0aGlzLT5hcnJheV90b19oYXNoKCR0bXAsJ25hbWUnKTsKICB9CgppZiggZW1wdHkoJHN0YXR1cykgKQogIHsKICAgIC8vIGdldCBhbGwgdGhlIGdyb3VwcwogICAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9mZXVzZXJzX2dyb3Vwcyc7CiAgICAkdG1wID0gJGRiLT5HZXRBcnJheSgkcXVlcnkpOwogICAgJGdyb3VwcyA9ICR0aGlzLT5hcnJheV90b19oYXNoKCR0bXAsJ2lkJyk7CiAgfQoKIwojIEdpdmUgZXZlcnl0aGluZyB0byBzbWFydHkKIwokc21hcnR5LT5hc3NpZ24oJ29uZXVzZXInLCRkYXRhKTsKJHNtYXJ0eS0+YXNzaWduKCdncm91cHMnLCRncm91cHMpOwokc21hcnR5LT5hc3NpZ24oJ3Byb3BlcnRpZXMnLCRwcm9wcyk7CiRzbWFydHktPmFzc2lnbignZmlsZV9sb2NhdGlvbicsJGNvbmZpZ1sndXBsb2Fkc191cmwnXS4nL2ZldXNlcnMnKTsKCiMKIyBEaXNwbGF5IHRoZSB0ZW1wbGF0ZQojCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgkdGhldGVtcGxhdGUpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.directory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHVXNlckRpcmVjdG9yeSAoYykgMjAwOSBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBicm93c2UKIyAgYW5kIHZpZXcgc3VtbWFyeSByZXBvcnRzIGFuZCBkZXRhaWwgcmVwb3J0cyBhYm91dCBncm91cHMgb2YgZnJvbnRlbmQKIyAgdXNlcnMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKIwojIEluaXRpYWxpemF0aW9uCiMKJHRoZXRlbXBsYXRlID0gJ2RpcmVjdG9yeV8nLiR0aGlzLT5HZXRQcmVmZXJlbmNlKENHVVNFUkRJUl9QUkVGX0RGTFRESVJFQ1RPUllfTkFNRSk7CiRmaWVsZCA9ICd1c2VybmFtZSc7CiRwcm9wID0gJyc7CiRzcGFyc2UgPSAwOwokc2hvd2V4cGlyZXMgPSAwOwoKIwojIEhhbmRsZSBQYXJhbXMKIwppZiggaXNzZXQoJHBhcmFtc1snZGlyZWN0b3J5dGVtcGxhdGUnXSkgKQogIHsKICAgICR0aGV0ZW1wbGF0ZSA9ICdkaXJlY3RvcnlfJy50cmltKCRwYXJhbXNbJ2RpcmVjdG9yeXRlbXBsYXRlJ10pOwogIH0KaWYoIGlzc2V0KCRwYXJhbXNbJ3Byb3AnXSkgKQogIHsKICAgICRmaWVsZCA9ICdfX3Byb3BlcnR5X18nOwogICAgJHByb3AgPSB0cmltKCRwYXJhbXNbJ3Byb3AnXSk7CiAgfQppZiggaXNzZXQoJHBhcmFtc1snc3BhcnNlJ10pICkKICB7CiAgICAkc3BhcnNlID0gKGludCkkcGFyYW1zWydzcGFyc2UnXTsKICB9CmlmKCBpc3NldCgkcGFyYW1zWydzaG93ZXhwaXJlcyddKSApCiAgewogICAgJHNob3dleHBpcmVkID0gKGludCkkcGFyYW1zWydzaG93ZXhwaXJlcyddOwogIH0KCiMKIyBHZXQgdGhlIGRhdGEKIwokdGhlZGF0ZSA9ICRkYi0+RGJUaW1lU3RhbXAodGltZSgpKTsKaWYoICRzaG93ZXhwaXJlZCApCiAgewogICAgJHRoZWRhdGUgPSAkZGItPkRiVGltZVN0YW1wKDEpOwogIH0KJGNoYXJhcnJheSA9IGFycmF5KCk7CmlmKCAkZmllbGQgPT0gJ19fcHJvcGVydHlfXycgKQogIHsKICAgIC8vIGdldCBsaXN0IG9mIGxldHRlcnMKICAgICRxdWVyeSA9ICJTRUxFQ1QgZGlzdGluY3QgbGVmdChwLmRhdGEsIDEpIEFTIGZpcnN0X2NoYXIgCiAgICAgICAgICAgICAgICBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19wcm9wZXJ0aWVzIHAKICAgICAgICAgICAgICAgSU5ORVIgSk9JTiAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfdXNlcnMgdQogICAgICAgICAgICAgICBXSEVSRSB1LmlkID0gcC51c2VyaWQgCiAgICAgICAgICAgICAgICAgQU5EIHAudGl0bGUgPSA/CiAgICAgICAgICAgICAgICAgQU5EIHUuZXhwaXJlcyA+ICR0aGVkYXRlCiAgICAgICAgICAgICAgIE9SREVSIEJZIGxlZnQocC5kYXRhLDEpIjsKICAgICR0bXAgPSAkZGItPkdldEFycmF5KCRxdWVyeSxhcnJheSgkcHJvcCkpOwogICAgZm9yZWFjaCggJHRtcCBhcyAkb25lICkKICAgICAgewoJJHQyID0gc3RydG91cHBlcih0cmltKCRvbmVbJ2ZpcnN0X2NoYXInXSkpOwoJaWYoIGVtcHR5KCR0MikgKSBjb250aW51ZTsKCgkkcGFybXMgPSAkcGFyYW1zOwoJJHBhcm1zWyd1c2VsaWtlJ109MTsKCSRwYXJtc1sncHJvcCddPSRwcm9wOwoJJHBhcm1zWydwcm9wdmFsJ109InskdDJ9JSI7CgkkdDMgPSBhcnJheSgkdDIsJHRoaXMtPkNyZWF0ZVVSTCgkaWQsJ2RlZmF1bHQnLCRyZXR1cm5pZCwkcGFybXMpKTsKCSRjaGFyYXJyYXlbXSA9ICR0MzsKICAgICAgfQogIH0KZWxzZQogIHsKICAgICRxdWVyeSA9ICdTRUxFQ1QgRElTVElOQ1QgbGVmdCh1c2VybmFtZSwxKSBBUyBmaXJzdF9jaGFyCiAgICAgICAgICAgICAgICBGUk9NICcuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc191c2VycwogICAgICAgICAgICAgICBXSEVSRSBleHBpcmVzID4gJHRoZWRhdGUKICAgICAgICAgICAgICAgT1JERVIgQlkgbGVmdCh1c2VybmFtZSwxKSI7CiAgICAkdG1wID0gJGRiLT5HZXRBcnJheSgkcXVlcnkpOwogICAgZm9yZWFjaCggJHRtcCBhcyAkb25lICkKICAgICAgewoJJHQyID0gc3RydG91cHBlcih0cmltKCRvbmVbJ2ZpcnN0X2NoYXInXSkpOwoJaWYoIGVtcHR5KCR0MikgKSBjb250aW51ZTsKCgkkcGFybXMgPSAkcGFyYW1zOwoJJHBhcm1zWyd1c2VsaWtlJ109MTsKCSRwYXJtc1sncHJvcCddPSdfX3VzZXJuYW1lX18nOwoJJHBhcm1zWydwcm9wdmFsJ109InskdDJ9JSI7CgkkdDMgPSBhcnJheSgkdDIsJHRoaXMtPkNyZWF0ZVVSTCgkaWQsJ2RlZmF1bHQnLCRyZXR1cm5pZCwkcGFybXMpKTsKCSRjaGFyYXJyYXlbXSA9ICR0MzsKICAgICAgfQogIH0KCmlmKCAhJHNwYXJzZSApCiAgewogICAgJHRtcCA9IGFycmF5KCk7CiAgICBmb3IoICRpID0gb3JkKCdBJyk7ICRpIDw9IG9yZCgnWicpOyAkaSsrICkKICAgICAgewoJJHQyID0gYXJyYXkoKTsKCSR0MltdID0gY2hyKCRpKTsKCWZvcmVhY2goICRjaGFyYXJyYXkgYXMgJG9uZSApCgkgIHsKCSAgICBpZiggJG9uZVswXSA9PSBjaHIoJGkpICkKCSAgICAgIHsKCQkkdDJbXSA9ICRvbmVbMV07CgkJYnJlYWs7CgkgICAgICB9CgkgIH0KCSR0bXBbXSA9ICR0MjsKICAgICAgfQogICAgJGNoYXJhcnJheSA9ICR0bXA7CiAgfQoKJHNtYXJ0eS0+YXNzaWduKCdjaGFyYXJyYXknLCRjaGFyYXJyYXkpOwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJHRoZXRlbXBsYXRlKTsKCgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.do_search.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHVXNlckRpcmVjdG9yeSAoYykgMjAwOSBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBicm93c2UKIyAgYW5kIHZpZXcgc3VtbWFyeSByZXBvcnRzIGFuZCBkZXRhaWwgcmVwb3J0cyBhYm91dCBncm91cHMgb2YgZnJvbnRlbmQKIyAgdXNlcnMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKIwojIEluaXRpYWxpemF0aW9uCiMKJHNvcnRvcmRlciAgICAgID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2FzYycpOwokc29ydGJ5ICAgICAgICAgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndXNlcm5hbWUnKTsKJGRldGFpbHBhZ2UgICAgID0gJHJldHVybmlkOwokcGFnZWxpbWl0ICAgICAgPSAxMDAwMDA7CiRpbmxpbmUgICAgICAgICA9IDA7CiRwYWdlICAgICAgICAgICA9IDE7CiR0aGV0ZW1wbGF0ZSAgICA9ICdzdW1tYXJ5XycuJHRoaXMtPkdldFByZWZlcmVuY2UoQ0dVU0VSRElSX1BSRUZfREZMVFNVTU1BUllfTkFNRSk7CiR1c2VybmFtZV9leHByICA9ICcnOwokc2VhcmNocHJvcGVydHkgPSAnJzsKJHNvcnRieSAgICAgICAgID0gJ3VzZXJuYW1lJzsKJHNvcnRvcmRlciAgICAgID0gJ0FTQyc7CiRwcm9wdmFsICAgICAgICA9ICcnOwokb2Zmc2V0ICAgICAgICAgPSAwOwokcHJvcHMgICAgICAgICAgPSAnJzsKJGZldSAgICAgICAgICAgID0mICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgnRnJvbnRFbmRVc2VycycpOwogICAgCgojCiMgU2V0dXAKIwppZiggaXNzZXQoICRwYXJhbXNbJ2lubGluZSddICkgJiYgJHBhcmFtc1snaW5saW5lJ10gIT0gMCApCiAgewogICAgJGlubGluZSA9IDE7CiAgfQppZiggaXNzZXQoJHBhcmFtc1snc3VtbWFyeXRlbXBsYXRlJ10pICkKICB7CiAgICAkdGhldGVtcGxhdGUgPSAnc3VtbWFyeV8nLnRyaW0oJHBhcmFtc1snc3VtbWFyeXRlbXBsYXRlJ10pOwogIH0KaWYoIGlzc2V0KCAkcGFyYW1zWydkZXRhaWxwYWdlJ10gKSApCiAgewogICAgJHRtcCA9ICR0aGlzLT5yZXNvbHZlX2FsaWFzX29yX2lkKCRwYXJhbXNbJ2RldGFpbHBhZ2UnXSk7CiAgICBpZiggJHRtcCApCiAgICAgIHsKCSRkZXRhaWxwYWdlID0gJHRtcDsKCSRpbmxpbmUgPSAwOwogICAgICB9CiAgfQppZiggaXNzZXQoICRwYXJhbXNbJ3NvcnRvcmRlciddICkgKQogIHsKICAgICR0bXAgPSBzdHJ0b2xvd2VyKCRwYXJhbXNbJ3NvcnRvcmRlciddKTsKICAgIHN3aXRjaCggJHRtcCApCiAgICAgIHsKICAgICAgY2FzZSAnYXNjJzoKICAgICAgY2FzZSAnZGVzYyc6Cgkkc29ydG9yZGVyID0gJHRtcDsKCWJyZWFrOwogICAgICBkZWZhdWx0OgoJJHNvcnRvcmRlciA9ICdhc2MnOwoJYnJlYWs7CiAgICAgIH0KICB9CmlmKCBpc3NldCgkcGFyYW1zWydzb3J0YnknXSkgKQogIHsKICAgICR0bXAgPSB0cmltKCRwYXJhbXNbJ3NvcnRieSddKTsKICAgIHN3aXRjaCgkdG1wKQogICAgICB7CiAgICAgIGNhc2UgJ2lkJzoKICAgICAgY2FzZSAndXNlcm5hbWUnOgogICAgICBjYXNlICdjcmVhdGVkYXRlJzoKICAgICAgY2FzZSAnZXhwaXJlcyc6Cgkkc29ydGJ5ID0gJ1UuJy4kdG1wOwoJYnJlYWs7CiAgICAgIGNhc2UgJ2FjdGl2aXR5JzoKCSRzb3J0YnkgPSAnSC5yZWZkYXRlJzsKCWJyZWFrOwogICAgICBkZWZhdWx0OgoJJHN0YXR1cyA9ICdlcnJvcic7CgkkbWVzc2FnZXNbXSA9ICAkdGhpcy0+TGFuZygnZXJyb3JfaW52YWxpZHNvcnRmaWVsZCcsJHRtcCk7CglicmVhazsKICAgICAgfQogIH0KaWYoIGlzc2V0KCRwYXJhbXNbJ3BhZ2VsaW1pdCddKSApCiAgewogICAgJHBhZ2VsaW1pdCA9IChpbnQpJHBhcmFtc1sncGFnZWxpbWl0J107CiAgICAkcGFnZWxpbWl0ID0gbWF4KCRwYWdlbGltaXQsMSk7CiAgICAkcGFnZWxpbWl0ID0gbWluKDEwMDAsJHBhZ2VsaW1pdCk7CiAgfQppZiggaXNzZXQoJHBhcmFtc1sncGFnZW51bSddKSApCiAgewogICAgJHBhZ2VudW0gPSAoaW50KSRwYXJhbXNbJ3BhZ2VudW0nXTsKICAgICRwYWdlbnVtID0gbWF4KCRwYWdlbnVtLDEpOwogICAgJHBhZ2VudW0gPSBtaW4oMTAwMDAsJHBhZ2VudW0pOwogIH0KCgojCiMgSGFuZGxlIGZvcm0gc3VibWlzc2lvbgojCmlmKCBpc3NldCgkcGFyYW1zWyd1ZF9jYW5jZWwnXSkgKQogIHsKICAgICRkZXN0cGFnZSA9ICRyZXR1cm5pZDsKICAgIGlmKCBpc3NldCgkcGFyYW1zWyd1ZF9vcmlncGFnZSddKSApCiAgICAgIHsKCSRkZXN0cGFnZSA9IChpbnQpJHBhcmFtc1sndWRfb3JpZ3BhZ2UnXTsKICAgICAgfQogICAgJHRoaXMtPlJlZGlyZWN0Q29udGVudCgkZGVzdHBhZ2UpOwogIH0KZWxzZSBpZiggaXNzZXQoJHBhcmFtc1sndWRfc3VibWl0J10pIHx8IGlzc2V0KCRwYXJhbXNbJ3VkX2Rvc2VhcmNoJ10pICkKICB7CiAgICBpZiggaXNzZXQoJHBhcmFtc1sndWRfdXNlcm5hbWUnXSkgKQogICAgICB7CgkkdXNlcm5hbWVfZXhwciA9IHRyaW0oJHBhcmFtc1sndWRfdXNlcm5hbWUnXSk7CiAgICAgIH0KCiAgICBpZiggaXNzZXQoJHBhcmFtc1snc2VhcmNocHJvcGVydHknXSkgKQogICAgICB7Cgkkc2VhcmNocHJvcGVydHkgPSB0cmltKCRwYXJhbXNbJ3NlYXJjaHByb3BlcnR5J10pOwoJaWYoIGlzc2V0KCRwYXJhbXNbJ3VkX3Byb3B2YWx1ZSddKSAmJiAkcGFyYW1zWyd1ZF9wcm9wdmFsdWUnXSAhPSAtMSkKCSAgewoJICAgICRwcm9wdmFsID0gdHJpbSgkcGFyYW1zWyd1ZF9wcm9wdmFsdWUnXSk7CgkgIH0KICAgICAgfQoKICAgICR3aGVyZSA9IGFycmF5KCk7CiAgICAkcXBhcm1zID0gYXJyYXkoKTsKICAgICRqb2lucyA9IGFycmF5KCk7CiAgICBpZiggIWVtcHR5KCR1c2VybmFtZV9leHByKSApCiAgICAgIHsKCSR3aGVyZVtdID0gJ1UudXNlcm5hbWUgUkVHRVhQID8nOwoJJHFwYXJtc1tdID0gJHVzZXJuYW1lX2V4cHI7CiAgICAgIH0KICAgIGlmKCAhZW1wdHkoJHNlYXJjaHByb3BlcnR5KSAmJiAoJHByb3B2YWwgIT0gJycpICkKICAgICAgewoJJGpvaW5zW10gPSAnTEVGVCBKT0lOICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZmV1c2Vyc19wcm9wZXJ0aWVzIFAgT04gVS5pZCA9IFAudXNlcmlkJzsKCSR3aGVyZVtdID0gJyhQLnRpdGxlID0gPyBBTkQgUC5kYXRhIFJFR0VYUCA/KSc7CgkkcXBhcm1zW10gPSAkc2VhcmNocHJvcGVydHk7CgkkcXBhcm1zW10gPSAkcHJvcHZhbDsKICAgICAgfQoKICAgICR0bXAgLj0gJGRiLT5JZk51bGwoJ0gucmVmZGF0ZScsJGRiLT5EYlRpbWVzdGFtcCgxKSkuJyBBUyByZWZkYXRlJzsKICAgICRxdSAgPSAnU0VMRUNUIFUuKiwnLiR0bXAuJyBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZmV1c2Vyc191c2VycyBVJzsKICAgICRxYyAgPSAnU0VMRUNUIENPVU5UKFUuaWQpIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9mZXVzZXJzX3VzZXJzIFUnOwogICAgJHF1IC49ICcgTEVGVCBKT0lOICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZmV1c2Vyc19oaXN0b3J5IEggT04gVS5pZCA9IEgudXNlcmlkJzsKICAgIGlmKCBjb3VudCgkam9pbnMpICkKICAgICAgewoJZm9yZWFjaCggJGpvaW5zIGFzICRvbmUgKQoJICB7CgkgICAgJHF1IC49ICcgJy4kb25lOwoJICAgICRxYyAuPSAnICcuJG9uZTsKCSAgfQogICAgICB9CiAgICBpZiggY291bnQoJHdoZXJlKSApCiAgICAgIHsKCSRxdSAuPSAnIFdIRVJFICcuaW1wbG9kZSgnIEFORCAnLCR3aGVyZSk7CgkkcWMgLj0gJyBXSEVSRSAnLmltcGxvZGUoJyBBTkQgJywkd2hlcmUpOwogICAgICB9CiAgICAkcXUgLj0gJyBHUk9VUCBCWSBVLmlkJzsKICAgICRxdSAuPSAiIE9SREVSIEJZICRzb3J0YnkgJHNvcnRvcmRlciI7CgogICAgJGl0ZW1jb3VudCA9ICRkYi0+R2V0T25lKCRxYywkcXBhcm1zKTsKICAgIGlmKCAhJGl0ZW1jb3VudCApIHJldHVybjsKCiAgICAkZGJyID0gJGRiLT5TZWxlY3RMaW1pdCgkcXUsJHBhZ2VsaW1pdCwkb2Zmc2V0LCRxcGFybXMpOwogICAgaWYoICEkZGJyICkKICAgICAgewoJZWNobyAnREVCVUc6IGVycm9yIGluIHF1ZXJ5PGJyLz4nOwoJZWNobyAnJm5ic3A7Jm5ic3A7UVVFUlkgPSAnLiRkYi0+c3FsLic8YnIvPic7CgllY2hvICcmbmJzcDsmbmJzcDtFcnJvciA9ICcuJGRiLT5FcnJvck1zZygpOwoJJHN0YXR1cyA9ICdlcnJvcic7CgkkbWVzc2FnZXNbXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9zcWwnKTsKICAgICAgfQogICAgZWxzZQogICAgICB7CgkkZGF0YSA9IGFycmF5KCk7Cgl3aGlsZSggJGRiciAmJiAoJHJvdyA9ICRkYnItPkZldGNoUm93KCkpICkKCSAgewoJICAgICRkYXRhW10gPSAkcm93OwoJICB9CgkkZGJyLT5DbG9zZSgpOwogICAgICB9CgogICAgJGJhZF9kYXRlID0gdHJpbSgkZGItPkRiVGltZVN0YW1wKDEpLCInIik7CgogICAgLy8gcXVlcnkgdG8gZ2V0IGFsbCB1c2VyIG1lbWJlciBncm91cHMKICAgICRncXVlcnkgPSAnU0VMRUNUIGdyb3VwaWQgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2ZldXNlcnNfYmVsb25ncyAKICAgICAgICAgICAgICAgICAgICAgICAgV0hFUkUgdXNlcmlkID0gPyc7CgkKICAgIC8vIHF1ZXJ5IHRvIGdldCB1c2VyIHByb3BlcnRpZXMuCiAgICAkcHF1ZXJ5ID0gJyBTRUxFQ1QgdGl0bGUsZGF0YSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZmV1c2Vyc19wcm9wZXJ0aWVzIAogICAgICAgICAgICAgICAgICAgICBXSEVSRSB1c2VyaWQgPSA/JzsKCSAgICAKICAgIGZvciggJGkgPSAwOyAkaSA8IGNvdW50KCRkYXRhKTsgJGkrKyApCiAgICAgIHsKCS8vIGhpZGUgdGhlIHBhc3N3b3JkIGZpZWxkCgl1bnNldCgkZGF0YVskaV1bJ3Bhc3N3b3JkJ10pOwoJCgkvLyB1bnNldCB0aGUgcmVmZGF0ZSBpZiB0aGUgdXNlciBoYXMgaGFkIG5vIGFjdGl2aXR5CglpZiggJGRhdGFbJGldWydyZWZkYXRlJ10gPT0gJGJhZF9kYXRlICkKCSAgewoJICAgIHVuc2V0KCRkYXRhWyRpXVsncmVmZGF0ZSddKTsKCSAgfQoJCgkvLyBEZXRhaWwgVVJMCgkkcGFyYW1zWyd1aWQnXSA9ICRkYXRhWyRpXVsnaWQnXTsKCSRwcmV0dHl1cmwgPSAndXNlcnMvJy4kcGFyYW1zWyd1aWQnXS4nLycuJGRldGFpbHBhZ2U7CglpZiggaXNzZXQoJHBhcmFtc1snZGV0YWlsdGVtcGxhdGUnXSkgKQoJICB7CgkgICAgJHByZXR0eXVybCAuPSAnLycubXVuZ2Vfc3RyaW5nX3RvX3VybCh0cmltKCRwYXJhbXNbJ2RldGFpbHRlbXBsYXRlJ10pKTsKCSAgfQoJJHByZXR0eXVybCAuPSAnLycubXVuZ2Vfc3RyaW5nX3RvX3VybCgkZGF0YVskaV1bJ3VzZXJuYW1lJ10pOwoJJGRhdGFbJGldWydkZXRhaWxfdXJsJ10gPSAkdGhpcy0+Q3JlYXRlVVJMKCRpZCwnZGV0YWlsJywkZGV0YWlscGFnZSwKCQkJCQkJICAgJHBhcmFtcyxmYWxzZSwkcHJldHR5dXJsKTsKCQoJLy8gYWRkIG1lbWJlciBncm91cCBpZHMKCSR0bXAgPSAkZGItPkdldEFycmF5KCRncXVlcnksYXJyYXkoJGRhdGFbJGldWydpZCddKSk7CgkkZ3JvdXBzID0gJHRoaXMtPmFycmF5X2V4dHJhY3RfZmllbGQoJHRtcCwnZ3JvdXBpZCcpOwoJJGRhdGFbJGldWydncm91cHMnXSA9ICRncm91cHM7CgkKCS8vIEdldCBwcm9wcmV0aWVzCgkkZ3N0ciA9ICcoJy5pbXBsb2RlKCcsJywkZ3JvdXBzKS4nKSc7CgkkdG1wID0gJGRiLT5HZXRBcnJheShzcHJpbnRmKCRwcXVlcnksJGdzdHIpLGFycmF5KCRkYXRhWyRpXVsnaWQnXSkpOwoJaWYoICR0bXAgKQoJICB7CgkgICAgJHRtcDIgPSBhcnJheSgpOwoJICAgIGZvciggJGogPSAwOyAkaiA8IGNvdW50KCR0bXApOyAkaisrICkKCSAgICAgIHsKCQlpZiggIWVtcHR5KCR0bXBbJGpdWydkYXRhJ10pICYmICR0bXBbJGpdWydkYXRhJ10gIT0gJzxub3RzZXQ+JyApCgkJICB7CgkJICAgICR0bXAyWyR0bXBbJGpdWyd0aXRsZSddXSA9ICR0bXBbJGpdWydkYXRhJ107CgkJICB9CgkgICAgICB9CgkgICAgJGRhdGFbJGldWydwcm9wZXJ0aWVzJ10gPSAkdG1wMjsKCSAgfQogICAgICB9CgogICAgaWYoIGVtcHR5KCRzdGF0dXMpICkKICAgICAgewoJLy8gR2V0IGFsbCB0aGUgdXNlciBwcm9wZXJ0aWVzCgkkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2ZldXNlcnNfcHJvcGRlZm4nOwoJJHRtcCA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5KTsKCSRwcm9wcyA9ICR0aGlzLT5hcnJheV90b19oYXNoKCR0bXAsJ25hbWUnKTsKICAgICAgfQoKICAgIGlmKCBlbXB0eSgkc3RhdHVzKSApCiAgICAgIHsKCS8vIGdldCBhbGwgdGhlIGdyb3VwcwoJJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9mZXVzZXJzX2dyb3Vwcyc7CgkkdG1wID0gJGRiLT5HZXRBcnJheSgkcXVlcnkpOwoJJGdyb3VwcyA9ICR0aGlzLT5hcnJheV90b19oYXNoKCR0bXAsJ2lkJyk7CiAgICAgIH0KICB9CgojCiMgR2l2ZSBFdmVyeXRoaW5nIHRvIFNtYXJ0eQojCmlmKCBlbXB0eSgkc3RhdHVzKSApCiAgewogICAgJGNvbmZpZyA9JiAkZ0Ntcy0+R2V0Q29uZmlnKCk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2dyb3VwcycsJGdyb3Vwcyk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ3Byb3BlcnRpZXMnLCRwcm9wcyk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ3RvdGFsY291bnQnLCRpdGVtY291bnQpOwogICAgJHNtYXJ0eS0+YXNzaWduKCd1c2VycycsJGRhdGEpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdmaWxlX2xvY2F0aW9uJywkY29uZmlnWyd1cGxvYWRzX3VybCddLicvZmV1c2VycycpOwogICAgJHNtYXJ0eS0+YXNzaWduKCd1c2VycycsJGRhdGEpOwogIH0KZWxzZQogIHsKICAgICRzbWFydHktPmFzc2lnbignc3RhdHVzJywkc3RhdHVzKTsKICAgICRzbWFydHktPmFzc2lnbignbWVzc2FnZXMnLCRtZXNzYWdlcyk7CiAgfQoKIwojIERpc3BsYXkgdGhlIHRlbXBsYXRlCiMKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCR0aGV0ZW1wbGF0ZSk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.search.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHVXNlckRpcmVjdG9yeSAoYykgMjAwOSBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBicm93c2UKIyAgYW5kIHZpZXcgc3VtbWFyeSByZXBvcnRzIGFuZCBkZXRhaWwgcmVwb3J0cyBhYm91dCBncm91cHMgb2YgZnJvbnRlbmQKIyAgdXNlcnMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKIwojIEluaXRpYWxpemF0aW9uCiMKJGZldSA9JiAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoJ0Zyb250RW5kVXNlcnMnKTsKaWYoICEkZmV1ICkgcmV0dXJuOwokaW5saW5lID0gMDsKJHJlc3VsdHBhZ2UgPSAkcmV0dXJuaWQ7CiR0aGV0ZW1wbGF0ZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKENHVVNFUkRJUl9QUkVGX0RGTFRTRUFSQ0hGT1JNX05BTUUpOwokcHJvcGVydHk9Jyc7CgoKIwojIEdldCBwYXJhbWV0ZXJzCiMKaWYoIGlzc2V0KCRwYXJhbXNbJ2lubGluZSddKSAmJiAkcGFyYW1zWydpbmxpbmUnXSAhPSAwICkKICB7CiAgICAkaW5saW5lID0gMTsKICAgIHVuc2V0KCRwYXJhbXNbJ2lubGluZSddKTsKICB9CmlmKCBpc3NldCgkcGFyYW1zWydyZXN1bHRwYWdlJ10pICkKICB7CiAgICAkdG1wID0gJHRoaXMtPnJlc29sdmVfYWxpYXNfb3JfaWQoJHBhcmFtc1sncmVzdWx0cGFnZSddKTsKICAgIGlmKCAkdG1wICkKICAgICAgewoJJHJlc3VsdHBhZ2UgPSAkdG1wOwoJJGlubGluZSA9IDA7CiAgICAgIH0KICAgIHVuc2V0KCRwYXJhbXNbJ3Jlc3VsdHBhZ2UnXSk7CiAgfQppZiggaXNzZXQoJHBhcmFtc1snc2VhcmNoZm9ybXRlbXBsYXRlJ10pICkKICB7CiAgICAkdGhldGVtcGxhdGUgPSB0cmltKCRwYXJhbXNbJ3NlYXJjaGZvcm10ZW1wbGF0ZSddKTsKICAgIHVuc2V0KCRwYXJhbXNbJ3NlYXJjaGZvcm10ZW1wbGF0ZSddKTsKICB9CmlmKCBpc3NldCgkcGFyYW1zWydzZWFyY2hwcm9wZXJ0eSddKSApCiAgewogICAgJHByb3BlcnR5ID0gdHJpbSgkcGFyYW1zWydzZWFyY2hwcm9wZXJ0eSddKTsKICB9CgoKLy8gZ2V0IHRoZSBwcm9wZXJ0eSBkZWZpbml0aW9uCmlmKCAhZW1wdHkoJHByb3BlcnR5KSApCiAgewogICAgJGRlZm4gPSAkZmV1LT5HZXRQcm9wZXJ0eURlZm4oJHByb3BlcnR5KTsKCiAgICAvLyBmaWd1cmUgb3V0IHdoYXQgdHlwZSBvZiBmaWVsZCBpdCdsbCBiZQogICAgaWYoICRkZWZuICkKICAgICAgewoJJGZpZWxkdHlwZSA9ICcnOwoJJG9wdGlvbnMgPSAnJzsKCXN3aXRjaCggJGRlZm5bJ3R5cGUnXSApCgkgIHsKCSAgY2FzZSAnMCc6IC8vIHRleHQKCSAgY2FzZSAnMic6IC8vIGVtYWlsCgkgICAgJGZpZWxkdHlwZSA9ICd0ZXh0JzsKCSAgICBicmVhazsKCgkgIGNhc2UgJzQnOiAvLyBkcm9wZG93bgoJICBjYXNlICc1JzogLy8gbXVsdGlzZWxlY3QKCSAgY2FzZSAnNyc6IC8vIHJhZGlvYnV0dG9ucwoJICAgICRmaWVsZHR5cGUgPSAnc2VsZWN0JzsKCSAgICAkdG1wID0gJGZldS0+R2V0U2VsZWN0T3B0aW9ucygkZGVmblsnbmFtZSddLDEpOwoJICAgICRvcHRpb25zID0gYXJyYXkoKTsKCSAgICAkb3B0aW9uc1stMV0gPSAkdGhpcy0+TGFuZygnYW55Jyk7CgkgICAgZm9yZWFjaCggJHRtcCBhcyAka2V5ID0+ICR2YWx1ZSApCgkgICAgICB7CgkJJG9wdGlvbnNbJHZhbHVlXSA9ICRrZXk7CgkgICAgICB9CgkgICAgYnJlYWs7CgoJICBjYXNlICcxJzogLy8gY2hlY2tib3gKCSAgY2FzZSAnMyc6IC8vIHRleHRhcmVhCgkgIGNhc2UgJzYnOiAvLyBpbWFnZQoJICBjYXNlICc4JzogLy8gZGF0ZQoJICAgIC8vIGdldCB0aGUgb3B0aW9ucwoJICAgIGJyZWFrOwoJICB9CiAgICAgIH0KCiAgICBpZiggIWVtcHR5KCRmaWVsZHR5cGUpICkKICAgICAgewoJJHNtYXJ0eS0+YXNzaWduKCd1ZF9maWVsZGRlZm4nLCRkZWZuKTsKCSRzbWFydHktPmFzc2lnbigndWRfZmllbGR0eXBlJywkZmllbGR0eXBlKTsKCWlmKCAhZW1wdHkoJG9wdGlvbnMpICkKCSAgewoJICAgICRzbWFydHktPmFzc2lnbigndWRfb3B0aW9ucycsJG9wdGlvbnMpOwoJICB9CiAgICAgIH0KICB9Cgokc21hcnR5LT5hc3NpZ24oJ3VkX29yaWdwYWdlJywkcmV0dXJuaWQpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsJHRoaXMtPkNHQ3JlYXRlRm9ybVN0YXJ0KCRpZCwnZG9fc2VhcmNoJywkcmVzdWx0cGFnZSwkcGFyYW1zLCRpbmxpbmUpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKCiMKIyBQcm9jZXNzIHRoZSB0ZW1wbGF0ZQojCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgnc2VhcmNoZm9ybV8nLiR0aGV0ZW1wbGF0ZSk7CgoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/CGUserDirectory.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHVXNlckRpcmVjdG9yeSAoYykgMjAwOSBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBicm93c2UKIyAgYW5kIHZpZXcgc3VtbWFyeSByZXBvcnRzIGFuZCBkZXRhaWwgcmVwb3J0cyBhYm91dCBncm91cHMgb2YgZnJvbnRlbmQKIyAgdXNlcnMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBUaGlzIG1vZHVsZSBpcyBkZXJpdmVkIGZyb20gQ0dFeHRlbnNpb25zIAokY2dleHRlbnNpb25zID0gY21zX2pvaW5fcGF0aCgkZ0Ntcy0+Y29uZmlnWydyb290X3BhdGgnXSwnbW9kdWxlcycsCgkJCSAgICAgICdDR0V4dGVuc2lvbnMnLCdDR0V4dGVuc2lvbnMubW9kdWxlLnBocCcpOwppZiggIWlzX3JlYWRhYmxlKCAkY2dleHRlbnNpb25zICkgKQp7CiAgZWNobyAnPGgxPjxmb250IGNvbG9yPSJyZWQiPkVSUk9SOiBUaGUgQ0dFeHRlbnNpb25zIG1vZHVsZSBjb3VsZCBub3QgYmUgZm91bmQuPC9mb250PjwvaDE+JzsKICByZXR1cm47Cn0KcmVxdWlyZV9vbmNlKCRjZ2V4dGVuc2lvbnMpOwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnJlcXVpcmVfb25jZShkaXJuYW1lKF9fRklMRV9fKS4nL2RlZmluZXMucGhwJyk7CgpjbGFzcyBDR1VzZXJEaXJlY3RvcnkgZXh0ZW5kcyBDR0V4dGVuc2lvbnMKewoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBDb25zdHJ1Y3RvcgogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIENHVXNlckRpcmVjdG9yeSgpCiAgewogICAgcGFyZW50OjpDR0V4dGVuc2lvbnMoKTsKCiAgICBnbG9iYWwgJGdDbXM7CiAgICAkc21hcnR5ID0mICRnQ21zLT5HZXRTbWFydHkoKTsKICAgICRzbWFydHktPnJlZ2lzdGVyX2Z1bmN0aW9uKCdjZ3VkX2dldHByb3BlcnR5c3VtbWFyeV91cmwnLAoJCQkgICAgICAgYXJyYXkoJHRoaXMsJ19zbWFydHlfZ2V0cHJvcGVydHlzdW1tYXJ5X3VybCcpKTsKICB9CiAgCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldE5hbWUoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldE5hbWUoKQogIHsKICAgIHJldHVybiAnQ0dVc2VyRGlyZWN0b3J5JzsKICB9CiAgCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldEZyaWVuZGx5TmFtZSgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0RnJpZW5kbHlOYW1lKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpOwogIH0KICAKICAKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRWZXJzaW9uKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRWZXJzaW9uKCkKICB7CiAgICByZXR1cm4gJzEuMS4xJzsKICB9CiAgCiAgCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0SGVscCgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0SGVscCgpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdoZWxwJyk7CiAgfQogIAogIAogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldEF1dGhvcigpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0QXV0aG9yKCkKICB7CiAgICByZXR1cm4gJ2NhbGd1eTEwMDAnOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldEF1dGhvckVtYWlsKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRBdXRob3JFbWFpbCgpCiAgewogICAgcmV0dXJuICdjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJzsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRDaGFuZ2VMb2coKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldENoYW5nZUxvZygpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdjaGFuZ2Vsb2cnKTsKICB9CiAgCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgSXNQbHVnaW5Nb2R1bGUoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIElzUGx1Z2luTW9kdWxlKCkKICB7CiAgICByZXR1cm4gdHJ1ZTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBIYXNBZG1pbigpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gSGFzQWRtaW4oKQogIHsKICAgIHJldHVybiB0cnVlOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldEFkbWluU2VjdGlvbigpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0QWRtaW5TZWN0aW9uKCkKICB7CiAgICByZXR1cm4gJ2V4dGVuc2lvbnMnOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldEFkbWluRGVzY3JpcHRpb24oKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldEFkbWluRGVzY3JpcHRpb24oKQogIHsKICAgIHJldHVybiAkdGhpcy0+TGFuZygnbW9kZGVzY3JpcHRpb24nKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBWaXNpYmxlVG9BZG1pblVzZXIoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIFZpc2libGVUb0FkbWluVXNlcigpCiAgewogICAgcmV0dXJuICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBTaXRlIFByZWZlcmVuY2VzJykgfHwKICAgICAgJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFRlbXBsYXRlcycpOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEFsbG93QXV0b0luc3RhbGwoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEFsbG93QXV0b0luc3RhbGwoKSB7CiAgICByZXR1cm4gRkFMU0U7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgQWxsb3dBdXRvVXBncmFkZSgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gQWxsb3dBdXRvVXBncmFkZSgpIHsKICAgIHJldHVybiBGQUxTRTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXREZXBlbmRlbmNpZXMoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldERlcGVuZGVuY2llcygpCiAgewogICAgcmV0dXJuIGFycmF5KCdDR0V4dGVuc2lvbnMnPT4nMS4xNicsCgkJICdGcm9udEVuZFVzZXJzJz0+JzEuNi44Jyk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgTWluaW11bUNNU1ZlcnNpb24oKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIE1pbmltdW1DTVNWZXJzaW9uKCkKICB7CiAgICByZXR1cm4gIjEuNS40IjsKICB9CgkKCQogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIFNldFBhcmFtZXRlcnMoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIFNldFBhcmFtZXRlcnMoKQogIHsKICAgICR0aGlzLT5SZWdpc3Rlck1vZHVsZVBsdWdpbigpOwogICAgJHRoaXMtPlJlc3RyaWN0VW5rbm93blBhcmFtcygpOwogICAgCiAgICAkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgnL1tVdV1zZXJzXC8oP1A8dWlkPlswLTldKylcLyg/UDxyZXR1cm5pZD5bMC05XSspXC8oP1A8ZGV0YWlsdGVtcGxhdGU+W0EtWmEtejAtOVwtXF9dKz8pXC8oP1A8anVuaz4uKj8pJC8nLAoJCQkgYXJyYXkoJ2FjdGlvbic9PidkZXRhaWwnKSk7CiAgICAkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgnL1tVdV1zZXJzXC8oP1A8dWlkPlswLTldKylcLyg/UDxyZXR1cm5pZD5bMC05XSspXC8oP1A8anVuaz4uKj8pJC8nLAoJCQkgYXJyYXkoJ2FjdGlvbic9PidkZXRhaWwnKSk7CiAgICAkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgnL1tVdV1zZXJncm91cFwvKD9QPGdpZD5bMC05XSspXC8oP1A8cmV0dXJuaWQ+WzAtOV0rKVwvKD9QPGp1bms+Lio/KSQvJywKCQkJIGFycmF5KCdhY3Rpb24nPT4nZGVmYXVsdCcpKTsKICAgICR0aGlzLT5SZWdpc3RlclJvdXRlKCcvW1V1XXNlcnNcLyg/UDx1aWQ+WzAtOV0rKVwvKD9QPGp1bms+Lio/KSQvJywKCQkJIGFycmF5KCdhY3Rpb24nPT4nZGV0YWlsJykpOwogICAgJHRoaXMtPlJlZ2lzdGVyUm91dGUoJy9bVXVdc2VyZ3JvdXBcLyg/UDxnaWQ+WzAtOV0rKVwvKD9QPGp1bms+Lio/KSQvJywKCQkJIGFycmF5KCdhY3Rpb24nPT4nZGVmYXVsdCcpKTsKCiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdhY3Rpb24nLCdkZWZhdWx0JywkdGhpcy0+TGFuZygnaGVscF9wYXJhbV9hY3Rpb24nKSk7CgogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignaW5saW5lJywnJywkdGhpcy0+TGFuZygnaGVscF9wYXJhbV9pbmxpbmUnKSk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnaW5saW5lJyxDTEVBTl9JTlQpOwoKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2dyb3VwJywnJywkdGhpcy0+TGFuZygnaGVscF9wYXJhbV9ncm91cCcpKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdncm91cCcsQ0xFQU5fU1RSSU5HKTsKCiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdnaWQnLCcnLCR0aGlzLT5MYW5nKCdoZWxwX3BhcmFtX2dpZCcpKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdnaWQnLENMRUFOX0lOVCk7CgogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignc2hvd2V4cGlyZWQnLDAsJHRoaXMtPkxhbmcoJ2hlbHBfcGFyYW1fc2hvd2V4cGlyZWQnKSk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnc2hvd2V4cGlyZWQnLENMRUFOX0lOVCk7CgogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignc29ydGJ5JywndXNlcm5hbWUnLCR0aGlzLT5MYW5nKCdoZWxwX3BhcmFtX3NvcnRieScpKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdzb3J0YnknLENMRUFOX1NUUklORyk7CgogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignc29ydG9yZGVyJywnQVNDJywkdGhpcy0+TGFuZygnaGVscF9wYXJhbV9zb3J0b3JkZXInKSk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnc29ydG9yZGVyJyxDTEVBTl9TVFJJTkcpOwoKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3BhZ2VsaW1pdCcsMTAwLCR0aGlzLT5MYW5nKCdoZWxwX3BhcmFtX3BhZ2VsaW1pdCcpKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdwYWdlbGltaXQnLENMRUFOX0lOVCk7CgogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigncHJvcCcsJycsJHRoaXMtPkxhbmcoJ2hlbHBfcGFyYW1fcHJvcCcpKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdwcm9wJyxDTEVBTl9TVFJJTkcpOwoKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3Byb3B2YWwnLCcnLCR0aGlzLT5MYW5nKCdoZWxwX3BhcmFtX3Byb3B2YWwnKSk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgncHJvcHZhbCcsQ0xFQU5fU1RSSU5HKTsKCiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCd1c2VsaWtlJywwLCR0aGlzLT5MYW5nKCdoZWxwX3BhcmFtX3VzZWxpa2UnKSk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgndXNlbGlrZScsQ0xFQU5fSU5UKTsKCiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdkZXRhaWxwYWdlJywnJywkdGhpcy0+TGFuZygnaGVscF9wYXJhbV9kZXRhaWxwYWdlJykpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2RldGFpbHBhZ2UnLENMRUFOX1NUUklORyk7CgogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigncmVzdWx0cGFnZScsJycsJHRoaXMtPkxhbmcoJ2hlbHBfcGFyYW1fcmVzdWx0cGFnZScpKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdyZXN1bHRwYWdlJyxDTEVBTl9TVFJJTkcpOwoKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3N1bW1hcnl0ZW1wbGF0ZScsJycsJHRoaXMtPkxhbmcoJ2hlbHBfcGFyYW1fc3VtbWFyeXRlbXBsYXRlJykpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3N1bW1hcnl0ZW1wbGF0ZScsQ0xFQU5fU1RSSU5HKTsKCiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdkaXJlY3Rvcnl0ZW1wbGF0ZScsJycsJHRoaXMtPkxhbmcoJ2hlbHBfcGFyYW1fZGlyZWN0b3J5dGVtcGxhdGUnKSk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnZGlyZWN0b3J5dGVtcGxhdGUnLENMRUFOX1NUUklORyk7CgogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignZGV0YWlsdGVtcGxhdGUnLCcnLCR0aGlzLT5MYW5nKCdoZWxwX3BhcmFtX2RldGFpbHRlbXBsYXRlJykpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2RldGFpbHRlbXBsYXRlJyxDTEVBTl9TVFJJTkcpOwoKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3NlYXJjaGZvcm10ZW1wbGF0ZScsJycsJHRoaXMtPkxhbmcoJ2hlbHBfcGFyYW1fc2VhcmNoZm9ybXRlbXBsYXRlJykpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3NlYXJjaGZvcm10ZW1wbGF0ZScsQ0xFQU5fU1RSSU5HKTsKCiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdicm93c2Vwcm9wdGVtcGxhdGUnLCcnLCR0aGlzLT5MYW5nKCdoZWxwX3BhcmFtX2Jyb3dzZXByb3B0ZW1wbGF0ZScpKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdicm93c2Vwcm9wdGVtcGxhdGUnLENMRUFOX1NUUklORyk7CgogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignc2VhcmNocHJvcGVydHknLCcnLCR0aGlzLT5MYW5nKCdoZWxwX3BhcmFtX3NlYXJjaHByb3BlcnR5JykpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3NlYXJjaHByb3BlcnR5JyxDTEVBTl9TVFJJTkcpOwoKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3VpZCcsJycsJHRoaXMtPkxhbmcoJ2hlbHBfcGFyYW1fdWlkJykpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3VpZCcsQ0xFQU5fSU5UKTsKCiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgncGFnZW51bScsQ0xFQU5fSU5UKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdvcmlncGFnZScsQ0xFQU5fSU5UKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdqdW5rJyxDTEVBTl9TVFJJTkcpOwoKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKENMRUFOX1JFR0VYUC4nL3VkXy4qLycsQ0xFQU5fU1RSSU5HKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBJbnN0YWxsUG9zdE1lc3NhZ2UoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEluc3RhbGxQb3N0TWVzc2FnZSgpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdwb3N0aW5zdGFsbCcpOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIFVuaW5zdGFsbFBvc3RNZXNzYWdlKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBVbmluc3RhbGxQb3N0TWVzc2FnZSgpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdwb3N0dW5pbnN0YWxsJyk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgVW5pbnN0YWxsUHJlTWVzc2FnZSgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gVW5pbnN0YWxsUHJlTWVzc2FnZSgpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdhc2tfcmVhbGx5X3VuaW5zdGFsbCcpOwogIH0JCgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBDcmVhdGVQcm9wZXJ0eVN1bW1hcnlVUkwoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIENyZWF0ZVByb3BlcnR5U3VtbWFyeVVSTCgkaWQsJHJldHVybmlkLCRwcm9wbmFtZSwkcHJvcHZhbHVlLCRwYXJhbXMgPSBhcnJheSgpLCRpbmxpbmUgPSBmYWxzZSkKICB7CgkkcGFyYW1zWydwcm9wJ10gPSAkcHJvcG5hbWU7CgkkcGFyYW1zWydwcm9wdmFsJ10gPSAkcHJvcHZhbHVlOwoJdW5zZXQoJHBhcmFtc1snYWN0aW9uJ10pOwoKCXJldHVybiAkdGhpcy0+Q3JlYXRlVVJMKCRpZCwnZGVmYXVsdCcsJHJldHVybmlkLCRwYXJhbXMsJGlubGluZSk7CiAgfQoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBfc21hcnR5X2dldHByb3BlcnR5c3VtbWFyeV91cmwKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBfc21hcnR5X2dldHByb3BlcnR5c3VtbWFyeV91cmwoJHBhcmFtcywmJHNtYXJ0eSkKICB7CiAgICBnbG9iYWwgJGdDbXM7CiAgICAKICAgICRpbmxpbmUgPSAwOwogICAgJHByb3AgPSAnJzsKICAgICRwcm9wdmFsdWUgPSAnJzsKICAgICRhc3NpZ24gPSAnJzsKICAgICRyZXR1cm5pZCA9ICRnQ21zLT52YXJpYWJsZXNbJ3BhZ2VfaWQnXTsKICAgICRwYXJtcyA9IGFycmF5KCk7CiAgICAKICAgIGlmKCAhaXNzZXQoJHBhcmFtc1sncHJvcCddKSApIHJldHVybjsKICAgIGlmKCAhaXNzZXQoJHBhcmFtc1sncHJvcHZhbCddKSApIHJldHVybjsKICAgIGZvcmVhY2goICRwYXJhbXMgYXMgJGtleSA9PiAkdmFsdWUgKQogICAgICB7Cglzd2l0Y2goICRrZXkgKQoJICB7CgkgIGNhc2UgJ3Byb3AnOgoJICAgICRwcm9wID0gJHZhbHVlOwoJICAgIGJyZWFrOwoKCSAgY2FzZSAncHJvcHZhbCc6CgkgICAgJHByb3B2YWwgPSAkdmFsdWU7CgkgICAgYnJlYWs7CgoJICBjYXNlICdhc3NpZ24nOgoJICAgICRhc3NpZ24gPSAkdmFsdWU7CgkgICAgYnJlYWs7CgoJICBjYXNlICdyZXN1bHRwYWdlJzoKCSAgICAkdG1wID0gJHRoaXMtPnJlc29sdmVfYWxpYXNfb3JfaWQoJHZhbHVlKTsKCSAgICBpZiggJHRtcCAgKQoJICAgICAgewoJCSRyZXR1cm5pZCA9ICR0bXA7CgkgICAgICB9CgkgICAgYnJlYWs7CgkgICAgCgkgIGNhc2UgJ2lubGluZSc6CgkgICAgaWYoICR2YWx1ZSApCgkgICAgICB7CgkJJGlubGluZSA9IDE7CgkgICAgICB9CgkgICAgYnJlYWs7CgoJICBkZWZhdWx0OgoJICAgICRwYXJtc1ska2V5XSA9ICR2YWx1ZTsKCSAgICBicmVhazsKCSAgfQogICAgICB9CgogICAgJHRtcCA9IGV4cGxvZGUoJywnLCRwcm9wdmFsKTsKICAgICRkYXRhID0gJyc7CiAgICBpZiggY291bnQoJHRtcCkgPiAxICkKICAgICAgewoJJHBhcm1zWyd1c2VsaWtlJ10gPSAxOwoJJGRhdGEgPSBhcnJheSgpOwoJZm9yZWFjaCggJHRtcCBhcyAkb25lICkKCSAgewoJICAgICRvbmUgPSAnJScuJG9uZS4nJSc7CgkgICAgJGRhdGFbXSA9ICR0aGlzLT5DcmVhdGVQcm9wZXJ0eVN1bW1hcnlVUkwoJ20xJywkcmV0dXJuaWQsJHByb3AsJG9uZSwkcGFybXMsJGlubGluZSk7CgkgIH0KICAgICAgfQogICAgZWxzZQogICAgICB7CgkkZGF0YSA9ICR0aGlzLT5DcmVhdGVQcm9wZXJ0eVN1bW1hcnlVUkwoJ20xJywkcmV0dXJuaWQsJHByb3AsJHByb3B2YWwsJHBhcm1zLCRpbmxpbmUpOwogICAgICB9CiAgICBpZiggJGFzc2lnbiAhPSAnJyApCiAgICAgIHsKCSRzbWFydHktPmFzc2lnbigkYXNzaWduLCRkYXRhKTsKCXJldHVybjsKICAgICAgfQogICAgcmV0dXJuICRkYXRhOwogIH0KfSAvLyBjbGFzcwoKPz4K]]></data>
	</file>
	<file>
	  <filename>/defines.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHVXNlckRpcmVjdG9yeSAoYykgMjAwOSBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBicm93c2UKIyAgYW5kIHZpZXcgc3VtbWFyeSByZXBvcnRzIGFuZCBkZXRhaWwgcmVwb3J0cyBhYm91dCBncm91cHMgb2YgZnJvbnRlbmQKIyAgdXNlcnMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKCmRlZmluZSgnQ0dVU0VSRElSX1BSRUZfTkVXRElSRUNUT1JZX1RFTVBMQVRFJywnc3lzZGZsdF9kaXJlY3RvcnlfdGVtcGxhdGUnKTsKZGVmaW5lKCdDR1VTRVJESVJfUFJFRl9ERkxURElSRUNUT1JZX05BTUUnLCdjdXJkZmx0X2RpcmVjdG9yeV90ZW1wbGF0ZV9uYW1lJyk7CmRlZmluZSgnQ0dVU0VSRElSX1BSRUZfTkVXU1VNTUFSWV9URU1QTEFURScsJ3N5c2RmbHRfc3VtbWFyeV90ZW1wbGF0ZScpOwpkZWZpbmUoJ0NHVVNFUkRJUl9QUkVGX0RGTFRTVU1NQVJZX05BTUUnLCdjdXJkZmx0X3N1bW1hcnlfdGVtcGxhdGVfbmFtZScpOwpkZWZpbmUoJ0NHVVNFUkRJUl9QUkVGX05FV0RFVEFJTF9URU1QTEFURScsJ3N5c2RmbHRfZGV0YWlsX3RlbXBsYXRlJyk7CmRlZmluZSgnQ0dVU0VSRElSX1BSRUZfREZMVERFVEFJTF9OQU1FJywnY3VyZGZsdF9kZXRhaWxfdGVtcGxhdGVfbmFtZScpOwpkZWZpbmUoJ0NHVVNFUkRJUl9QUkVGX05FV1NFQVJDSEZPUk1fVEVNUExBVEUnLCdzeXNkZmx0X3NlYXJjaGZvcm1fdGVtcGxhdGUnKTsKZGVmaW5lKCdDR1VTRVJESVJfUFJFRl9ERkxUU0VBUkNIRk9STV9OQU1FJywnY3VyZGZsdF9zZWFyY2hmb3JtX3RlbXBsYXRlX25hbWUnKTsKZGVmaW5lKCdDR1VTRVJESVJfUFJFRl9ORVdCUk9XU0VQUk9QX1RFTVBMQVRFJywnc3lzZGZsdF9icm93c2Vwcm9wX3RlbXBsYXRlJyk7CmRlZmluZSgnQ0dVU0VSRElSX1BSRUZfREZMVEJST1dTRVBST1BfTkFNRScsJ2N1cmRmbHRfYnJvd3NlcHJvcF90ZW1wbGF0ZV9uYW1lJyk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/doc/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/doc/COPYING</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ICAgICAgICAgICAgICAgICAgICBHTlUgR0VORVJBTCBQVUJMSUMgTElDRU5TRQogICAgICAgICAgICAgICAgICAgICAgIFZlcnNpb24gMywgMjkgSnVuZSAyMDA3CgogQ29weXJpZ2h0IChDKSAyMDA3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiA8aHR0cDovL2ZzZi5vcmcvPgogRXZlcnlvbmUgaXMgcGVybWl0dGVkIHRvIGNvcHkgYW5kIGRpc3RyaWJ1dGUgdmVyYmF0aW0gY29waWVzCiBvZiB0aGlzIGxpY2Vuc2UgZG9jdW1lbnQsIGJ1dCBjaGFuZ2luZyBpdCBpcyBub3QgYWxsb3dlZC4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcmVhbWJsZQoKICBUaGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaXMgYSBmcmVlLCBjb3B5bGVmdCBsaWNlbnNlIGZvcgpzb2Z0d2FyZSBhbmQgb3RoZXIga2luZHMgb2Ygd29ya3MuCgogIFRoZSBsaWNlbnNlcyBmb3IgbW9zdCBzb2Z0d2FyZSBhbmQgb3RoZXIgcHJhY3RpY2FsIHdvcmtzIGFyZSBkZXNpZ25lZAp0byB0YWtlIGF3YXkgeW91ciBmcmVlZG9tIHRvIHNoYXJlIGFuZCBjaGFuZ2UgdGhlIHdvcmtzLiAgQnkgY29udHJhc3QsCnRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBpcyBpbnRlbmRlZCB0byBndWFyYW50ZWUgeW91ciBmcmVlZG9tIHRvCnNoYXJlIGFuZCBjaGFuZ2UgYWxsIHZlcnNpb25zIG9mIGEgcHJvZ3JhbS0tdG8gbWFrZSBzdXJlIGl0IHJlbWFpbnMgZnJlZQpzb2Z0d2FyZSBmb3IgYWxsIGl0cyB1c2Vycy4gIFdlLCB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCB1c2UgdGhlCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3N0IG9mIG91ciBzb2Z0d2FyZTsgaXQgYXBwbGllcyBhbHNvIHRvCmFueSBvdGhlciB3b3JrIHJlbGVhc2VkIHRoaXMgd2F5IGJ5IGl0cyBhdXRob3JzLiAgWW91IGNhbiBhcHBseSBpdCB0bwp5b3VyIHByb2dyYW1zLCB0b28uCgogIFdoZW4gd2Ugc3BlYWsgb2YgZnJlZSBzb2Z0d2FyZSwgd2UgYXJlIHJlZmVycmluZyB0byBmcmVlZG9tLCBub3QKcHJpY2UuICBPdXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZXMgYXJlIGRlc2lnbmVkIHRvIG1ha2Ugc3VyZSB0aGF0IHlvdQpoYXZlIHRoZSBmcmVlZG9tIHRvIGRpc3RyaWJ1dGUgY29waWVzIG9mIGZyZWUgc29mdHdhcmUgKGFuZCBjaGFyZ2UgZm9yCnRoZW0gaWYgeW91IHdpc2gpLCB0aGF0IHlvdSByZWNlaXZlIHNvdXJjZSBjb2RlIG9yIGNhbiBnZXQgaXQgaWYgeW91CndhbnQgaXQsIHRoYXQgeW91IGNhbiBjaGFuZ2UgdGhlIHNvZnR3YXJlIG9yIHVzZSBwaWVjZXMgb2YgaXQgaW4gbmV3CmZyZWUgcHJvZ3JhbXMsIGFuZCB0aGF0IHlvdSBrbm93IHlvdSBjYW4gZG8gdGhlc2UgdGhpbmdzLgoKICBUbyBwcm90ZWN0IHlvdXIgcmlnaHRzLCB3ZSBuZWVkIHRvIHByZXZlbnQgb3RoZXJzIGZyb20gZGVueWluZyB5b3UKdGhlc2UgcmlnaHRzIG9yIGFza2luZyB5b3UgdG8gc3VycmVuZGVyIHRoZSByaWdodHMuICBUaGVyZWZvcmUsIHlvdSBoYXZlCmNlcnRhaW4gcmVzcG9uc2liaWxpdGllcyBpZiB5b3UgZGlzdHJpYnV0ZSBjb3BpZXMgb2YgdGhlIHNvZnR3YXJlLCBvciBpZgp5b3UgbW9kaWZ5IGl0OiByZXNwb25zaWJpbGl0aWVzIHRvIHJlc3BlY3QgdGhlIGZyZWVkb20gb2Ygb3RoZXJzLgoKICBGb3IgZXhhbXBsZSwgaWYgeW91IGRpc3RyaWJ1dGUgY29waWVzIG9mIHN1Y2ggYSBwcm9ncmFtLCB3aGV0aGVyCmdyYXRpcyBvciBmb3IgYSBmZWUsIHlvdSBtdXN0IHBhc3Mgb24gdG8gdGhlIHJlY2lwaWVudHMgdGhlIHNhbWUKZnJlZWRvbXMgdGhhdCB5b3UgcmVjZWl2ZWQuICBZb3UgbXVzdCBtYWtlIHN1cmUgdGhhdCB0aGV5LCB0b28sIHJlY2VpdmUKb3IgY2FuIGdldCB0aGUgc291cmNlIGNvZGUuICBBbmQgeW91IG11c3Qgc2hvdyB0aGVtIHRoZXNlIHRlcm1zIHNvIHRoZXkKa25vdyB0aGVpciByaWdodHMuCgogIERldmVsb3BlcnMgdGhhdCB1c2UgdGhlIEdOVSBHUEwgcHJvdGVjdCB5b3VyIHJpZ2h0cyB3aXRoIHR3byBzdGVwczoKKDEpIGFzc2VydCBjb3B5cmlnaHQgb24gdGhlIHNvZnR3YXJlLCBhbmQgKDIpIG9mZmVyIHlvdSB0aGlzIExpY2Vuc2UKZ2l2aW5nIHlvdSBsZWdhbCBwZXJtaXNzaW9uIHRvIGNvcHksIGRpc3RyaWJ1dGUgYW5kL29yIG1vZGlmeSBpdC4KCiAgRm9yIHRoZSBkZXZlbG9wZXJzJyBhbmQgYXV0aG9ycycgcHJvdGVjdGlvbiwgdGhlIEdQTCBjbGVhcmx5IGV4cGxhaW5zCnRoYXQgdGhlcmUgaXMgbm8gd2FycmFudHkgZm9yIHRoaXMgZnJlZSBzb2Z0d2FyZS4gIEZvciBib3RoIHVzZXJzJyBhbmQKYXV0aG9ycycgc2FrZSwgdGhlIEdQTCByZXF1aXJlcyB0aGF0IG1vZGlmaWVkIHZlcnNpb25zIGJlIG1hcmtlZCBhcwpjaGFuZ2VkLCBzbyB0aGF0IHRoZWlyIHByb2JsZW1zIHdpbGwgbm90IGJlIGF0dHJpYnV0ZWQgZXJyb25lb3VzbHkgdG8KYXV0aG9ycyBvZiBwcmV2aW91cyB2ZXJzaW9ucy4KCiAgU29tZSBkZXZpY2VzIGFyZSBkZXNpZ25lZCB0byBkZW55IHVzZXJzIGFjY2VzcyB0byBpbnN0YWxsIG9yIHJ1bgptb2RpZmllZCB2ZXJzaW9ucyBvZiB0aGUgc29mdHdhcmUgaW5zaWRlIHRoZW0sIGFsdGhvdWdoIHRoZSBtYW51ZmFjdHVyZXIKY2FuIGRvIHNvLiAgVGhpcyBpcyBmdW5kYW1lbnRhbGx5IGluY29tcGF0aWJsZSB3aXRoIHRoZSBhaW0gb2YKcHJvdGVjdGluZyB1c2VycycgZnJlZWRvbSB0byBjaGFuZ2UgdGhlIHNvZnR3YXJlLiAgVGhlIHN5c3RlbWF0aWMKcGF0dGVybiBvZiBzdWNoIGFidXNlIG9jY3VycyBpbiB0aGUgYXJlYSBvZiBwcm9kdWN0cyBmb3IgaW5kaXZpZHVhbHMgdG8KdXNlLCB3aGljaCBpcyBwcmVjaXNlbHkgd2hlcmUgaXQgaXMgbW9zdCB1bmFjY2VwdGFibGUuICBUaGVyZWZvcmUsIHdlCmhhdmUgZGVzaWduZWQgdGhpcyB2ZXJzaW9uIG9mIHRoZSBHUEwgdG8gcHJvaGliaXQgdGhlIHByYWN0aWNlIGZvciB0aG9zZQpwcm9kdWN0cy4gIElmIHN1Y2ggcHJvYmxlbXMgYXJpc2Ugc3Vic3RhbnRpYWxseSBpbiBvdGhlciBkb21haW5zLCB3ZQpzdGFuZCByZWFkeSB0byBleHRlbmQgdGhpcyBwcm92aXNpb24gdG8gdGhvc2UgZG9tYWlucyBpbiBmdXR1cmUgdmVyc2lvbnMKb2YgdGhlIEdQTCwgYXMgbmVlZGVkIHRvIHByb3RlY3QgdGhlIGZyZWVkb20gb2YgdXNlcnMuCgogIEZpbmFsbHksIGV2ZXJ5IHByb2dyYW0gaXMgdGhyZWF0ZW5lZCBjb25zdGFudGx5IGJ5IHNvZnR3YXJlIHBhdGVudHMuClN0YXRlcyBzaG91bGQgbm90IGFsbG93IHBhdGVudHMgdG8gcmVzdHJpY3QgZGV2ZWxvcG1lbnQgYW5kIHVzZSBvZgpzb2Z0d2FyZSBvbiBnZW5lcmFsLXB1cnBvc2UgY29tcHV0ZXJzLCBidXQgaW4gdGhvc2UgdGhhdCBkbywgd2Ugd2lzaCB0bwphdm9pZCB0aGUgc3BlY2lhbCBkYW5nZXIgdGhhdCBwYXRlbnRzIGFwcGxpZWQgdG8gYSBmcmVlIHByb2dyYW0gY291bGQKbWFrZSBpdCBlZmZlY3RpdmVseSBwcm9wcmlldGFyeS4gIFRvIHByZXZlbnQgdGhpcywgdGhlIEdQTCBhc3N1cmVzIHRoYXQKcGF0ZW50cyBjYW5ub3QgYmUgdXNlZCB0byByZW5kZXIgdGhlIHByb2dyYW0gbm9uLWZyZWUuCgogIFRoZSBwcmVjaXNlIHRlcm1zIGFuZCBjb25kaXRpb25zIGZvciBjb3B5aW5nLCBkaXN0cmlidXRpb24gYW5kCm1vZGlmaWNhdGlvbiBmb2xsb3cuCgogICAgICAgICAgICAgICAgICAgICAgIFRFUk1TIEFORCBDT05ESVRJT05TCgogIDAuIERlZmluaXRpb25zLgoKICAiVGhpcyBMaWNlbnNlIiByZWZlcnMgdG8gdmVyc2lvbiAzIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KCiAgIkNvcHlyaWdodCIgYWxzbyBtZWFucyBjb3B5cmlnaHQtbGlrZSBsYXdzIHRoYXQgYXBwbHkgdG8gb3RoZXIga2luZHMgb2YKd29ya3MsIHN1Y2ggYXMgc2VtaWNvbmR1Y3RvciBtYXNrcy4KCiAgIlRoZSBQcm9ncmFtIiByZWZlcnMgdG8gYW55IGNvcHlyaWdodGFibGUgd29yayBsaWNlbnNlZCB1bmRlciB0aGlzCkxpY2Vuc2UuICBFYWNoIGxpY2Vuc2VlIGlzIGFkZHJlc3NlZCBhcyAieW91Ii4gICJMaWNlbnNlZXMiIGFuZAoicmVjaXBpZW50cyIgbWF5IGJlIGluZGl2aWR1YWxzIG9yIG9yZ2FuaXphdGlvbnMuCgogIFRvICJtb2RpZnkiIGEgd29yayBtZWFucyB0byBjb3B5IGZyb20gb3IgYWRhcHQgYWxsIG9yIHBhcnQgb2YgdGhlIHdvcmsKaW4gYSBmYXNoaW9uIHJlcXVpcmluZyBjb3B5cmlnaHQgcGVybWlzc2lvbiwgb3RoZXIgdGhhbiB0aGUgbWFraW5nIG9mIGFuCmV4YWN0IGNvcHkuICBUaGUgcmVzdWx0aW5nIHdvcmsgaXMgY2FsbGVkIGEgIm1vZGlmaWVkIHZlcnNpb24iIG9mIHRoZQplYXJsaWVyIHdvcmsgb3IgYSB3b3JrICJiYXNlZCBvbiIgdGhlIGVhcmxpZXIgd29yay4KCiAgQSAiY292ZXJlZCB3b3JrIiBtZWFucyBlaXRoZXIgdGhlIHVubW9kaWZpZWQgUHJvZ3JhbSBvciBhIHdvcmsgYmFzZWQKb24gdGhlIFByb2dyYW0uCgogIFRvICJwcm9wYWdhdGUiIGEgd29yayBtZWFucyB0byBkbyBhbnl0aGluZyB3aXRoIGl0IHRoYXQsIHdpdGhvdXQKcGVybWlzc2lvbiwgd291bGQgbWFrZSB5b3UgZGlyZWN0bHkgb3Igc2Vjb25kYXJpbHkgbGlhYmxlIGZvcgppbmZyaW5nZW1lbnQgdW5kZXIgYXBwbGljYWJsZSBjb3B5cmlnaHQgbGF3LCBleGNlcHQgZXhlY3V0aW5nIGl0IG9uIGEKY29tcHV0ZXIgb3IgbW9kaWZ5aW5nIGEgcHJpdmF0ZSBjb3B5LiAgUHJvcGFnYXRpb24gaW5jbHVkZXMgY29weWluZywKZGlzdHJpYnV0aW9uICh3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uKSwgbWFraW5nIGF2YWlsYWJsZSB0byB0aGUKcHVibGljLCBhbmQgaW4gc29tZSBjb3VudHJpZXMgb3RoZXIgYWN0aXZpdGllcyBhcyB3ZWxsLgoKICBUbyAiY29udmV5IiBhIHdvcmsgbWVhbnMgYW55IGtpbmQgb2YgcHJvcGFnYXRpb24gdGhhdCBlbmFibGVzIG90aGVyCnBhcnRpZXMgdG8gbWFrZSBvciByZWNlaXZlIGNvcGllcy4gIE1lcmUgaW50ZXJhY3Rpb24gd2l0aCBhIHVzZXIgdGhyb3VnaAphIGNvbXB1dGVyIG5ldHdvcmssIHdpdGggbm8gdHJhbnNmZXIgb2YgYSBjb3B5LCBpcyBub3QgY29udmV5aW5nLgoKICBBbiBpbnRlcmFjdGl2ZSB1c2VyIGludGVyZmFjZSBkaXNwbGF5cyAiQXBwcm9wcmlhdGUgTGVnYWwgTm90aWNlcyIKdG8gdGhlIGV4dGVudCB0aGF0IGl0IGluY2x1ZGVzIGEgY29udmVuaWVudCBhbmQgcHJvbWluZW50bHkgdmlzaWJsZQpmZWF0dXJlIHRoYXQgKDEpIGRpc3BsYXlzIGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2UsIGFuZCAoMikKdGVsbHMgdGhlIHVzZXIgdGhhdCB0aGVyZSBpcyBubyB3YXJyYW50eSBmb3IgdGhlIHdvcmsgKGV4Y2VwdCB0byB0aGUKZXh0ZW50IHRoYXQgd2FycmFudGllcyBhcmUgcHJvdmlkZWQpLCB0aGF0IGxpY2Vuc2VlcyBtYXkgY29udmV5IHRoZQp3b3JrIHVuZGVyIHRoaXMgTGljZW5zZSwgYW5kIGhvdyB0byB2aWV3IGEgY29weSBvZiB0aGlzIExpY2Vuc2UuICBJZgp0aGUgaW50ZXJmYWNlIHByZXNlbnRzIGEgbGlzdCBvZiB1c2VyIGNvbW1hbmRzIG9yIG9wdGlvbnMsIHN1Y2ggYXMgYQptZW51LCBhIHByb21pbmVudCBpdGVtIGluIHRoZSBsaXN0IG1lZXRzIHRoaXMgY3JpdGVyaW9uLgoKICAxLiBTb3VyY2UgQ29kZS4KCiAgVGhlICJzb3VyY2UgY29kZSIgZm9yIGEgd29yayBtZWFucyB0aGUgcHJlZmVycmVkIGZvcm0gb2YgdGhlIHdvcmsKZm9yIG1ha2luZyBtb2RpZmljYXRpb25zIHRvIGl0LiAgIk9iamVjdCBjb2RlIiBtZWFucyBhbnkgbm9uLXNvdXJjZQpmb3JtIG9mIGEgd29yay4KCiAgQSAiU3RhbmRhcmQgSW50ZXJmYWNlIiBtZWFucyBhbiBpbnRlcmZhY2UgdGhhdCBlaXRoZXIgaXMgYW4gb2ZmaWNpYWwKc3RhbmRhcmQgZGVmaW5lZCBieSBhIHJlY29nbml6ZWQgc3RhbmRhcmRzIGJvZHksIG9yLCBpbiB0aGUgY2FzZSBvZgppbnRlcmZhY2VzIHNwZWNpZmllZCBmb3IgYSBwYXJ0aWN1bGFyIHByb2dyYW1taW5nIGxhbmd1YWdlLCBvbmUgdGhhdAppcyB3aWRlbHkgdXNlZCBhbW9uZyBkZXZlbG9wZXJzIHdvcmtpbmcgaW4gdGhhdCBsYW5ndWFnZS4KCiAgVGhlICJTeXN0ZW0gTGlicmFyaWVzIiBvZiBhbiBleGVjdXRhYmxlIHdvcmsgaW5jbHVkZSBhbnl0aGluZywgb3RoZXIKdGhhbiB0aGUgd29yayBhcyBhIHdob2xlLCB0aGF0IChhKSBpcyBpbmNsdWRlZCBpbiB0aGUgbm9ybWFsIGZvcm0gb2YKcGFja2FnaW5nIGEgTWFqb3IgQ29tcG9uZW50LCBidXQgd2hpY2ggaXMgbm90IHBhcnQgb2YgdGhhdCBNYWpvcgpDb21wb25lbnQsIGFuZCAoYikgc2VydmVzIG9ubHkgdG8gZW5hYmxlIHVzZSBvZiB0aGUgd29yayB3aXRoIHRoYXQKTWFqb3IgQ29tcG9uZW50LCBvciB0byBpbXBsZW1lbnQgYSBTdGFuZGFyZCBJbnRlcmZhY2UgZm9yIHdoaWNoIGFuCmltcGxlbWVudGF0aW9uIGlzIGF2YWlsYWJsZSB0byB0aGUgcHVibGljIGluIHNvdXJjZSBjb2RlIGZvcm0uICBBCiJNYWpvciBDb21wb25lbnQiLCBpbiB0aGlzIGNvbnRleHQsIG1lYW5zIGEgbWFqb3IgZXNzZW50aWFsIGNvbXBvbmVudAooa2VybmVsLCB3aW5kb3cgc3lzdGVtLCBhbmQgc28gb24pIG9mIHRoZSBzcGVjaWZpYyBvcGVyYXRpbmcgc3lzdGVtCihpZiBhbnkpIG9uIHdoaWNoIHRoZSBleGVjdXRhYmxlIHdvcmsgcnVucywgb3IgYSBjb21waWxlciB1c2VkIHRvCnByb2R1Y2UgdGhlIHdvcmssIG9yIGFuIG9iamVjdCBjb2RlIGludGVycHJldGVyIHVzZWQgdG8gcnVuIGl0LgoKICBUaGUgIkNvcnJlc3BvbmRpbmcgU291cmNlIiBmb3IgYSB3b3JrIGluIG9iamVjdCBjb2RlIGZvcm0gbWVhbnMgYWxsCnRoZSBzb3VyY2UgY29kZSBuZWVkZWQgdG8gZ2VuZXJhdGUsIGluc3RhbGwsIGFuZCAoZm9yIGFuIGV4ZWN1dGFibGUKd29yaykgcnVuIHRoZSBvYmplY3QgY29kZSBhbmQgdG8gbW9kaWZ5IHRoZSB3b3JrLCBpbmNsdWRpbmcgc2NyaXB0cyB0bwpjb250cm9sIHRob3NlIGFjdGl2aXRpZXMuICBIb3dldmVyLCBpdCBkb2VzIG5vdCBpbmNsdWRlIHRoZSB3b3JrJ3MKU3lzdGVtIExpYnJhcmllcywgb3IgZ2VuZXJhbC1wdXJwb3NlIHRvb2xzIG9yIGdlbmVyYWxseSBhdmFpbGFibGUgZnJlZQpwcm9ncmFtcyB3aGljaCBhcmUgdXNlZCB1bm1vZGlmaWVkIGluIHBlcmZvcm1pbmcgdGhvc2UgYWN0aXZpdGllcyBidXQKd2hpY2ggYXJlIG5vdCBwYXJ0IG9mIHRoZSB3b3JrLiAgRm9yIGV4YW1wbGUsIENvcnJlc3BvbmRpbmcgU291cmNlCmluY2x1ZGVzIGludGVyZmFjZSBkZWZpbml0aW9uIGZpbGVzIGFzc29jaWF0ZWQgd2l0aCBzb3VyY2UgZmlsZXMgZm9yCnRoZSB3b3JrLCBhbmQgdGhlIHNvdXJjZSBjb2RlIGZvciBzaGFyZWQgbGlicmFyaWVzIGFuZCBkeW5hbWljYWxseQpsaW5rZWQgc3VicHJvZ3JhbXMgdGhhdCB0aGUgd29yayBpcyBzcGVjaWZpY2FsbHkgZGVzaWduZWQgdG8gcmVxdWlyZSwKc3VjaCBhcyBieSBpbnRpbWF0ZSBkYXRhIGNvbW11bmljYXRpb24gb3IgY29udHJvbCBmbG93IGJldHdlZW4gdGhvc2UKc3VicHJvZ3JhbXMgYW5kIG90aGVyIHBhcnRzIG9mIHRoZSB3b3JrLgoKICBUaGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgbmVlZCBub3QgaW5jbHVkZSBhbnl0aGluZyB0aGF0IHVzZXJzCmNhbiByZWdlbmVyYXRlIGF1dG9tYXRpY2FsbHkgZnJvbSBvdGhlciBwYXJ0cyBvZiB0aGUgQ29ycmVzcG9uZGluZwpTb3VyY2UuCgogIFRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBmb3IgYSB3b3JrIGluIHNvdXJjZSBjb2RlIGZvcm0gaXMgdGhhdApzYW1lIHdvcmsuCgogIDIuIEJhc2ljIFBlcm1pc3Npb25zLgoKICBBbGwgcmlnaHRzIGdyYW50ZWQgdW5kZXIgdGhpcyBMaWNlbnNlIGFyZSBncmFudGVkIGZvciB0aGUgdGVybSBvZgpjb3B5cmlnaHQgb24gdGhlIFByb2dyYW0sIGFuZCBhcmUgaXJyZXZvY2FibGUgcHJvdmlkZWQgdGhlIHN0YXRlZApjb25kaXRpb25zIGFyZSBtZXQuICBUaGlzIExpY2Vuc2UgZXhwbGljaXRseSBhZmZpcm1zIHlvdXIgdW5saW1pdGVkCnBlcm1pc3Npb24gdG8gcnVuIHRoZSB1bm1vZGlmaWVkIFByb2dyYW0uICBUaGUgb3V0cHV0IGZyb20gcnVubmluZyBhCmNvdmVyZWQgd29yayBpcyBjb3ZlcmVkIGJ5IHRoaXMgTGljZW5zZSBvbmx5IGlmIHRoZSBvdXRwdXQsIGdpdmVuIGl0cwpjb250ZW50LCBjb25zdGl0dXRlcyBhIGNvdmVyZWQgd29yay4gIFRoaXMgTGljZW5zZSBhY2tub3dsZWRnZXMgeW91cgpyaWdodHMgb2YgZmFpciB1c2Ugb3Igb3RoZXIgZXF1aXZhbGVudCwgYXMgcHJvdmlkZWQgYnkgY29weXJpZ2h0IGxhdy4KCiAgWW91IG1heSBtYWtlLCBydW4gYW5kIHByb3BhZ2F0ZSBjb3ZlcmVkIHdvcmtzIHRoYXQgeW91IGRvIG5vdApjb252ZXksIHdpdGhvdXQgY29uZGl0aW9ucyBzbyBsb25nIGFzIHlvdXIgbGljZW5zZSBvdGhlcndpc2UgcmVtYWlucwppbiBmb3JjZS4gIFlvdSBtYXkgY29udmV5IGNvdmVyZWQgd29ya3MgdG8gb3RoZXJzIGZvciB0aGUgc29sZSBwdXJwb3NlCm9mIGhhdmluZyB0aGVtIG1ha2UgbW9kaWZpY2F0aW9ucyBleGNsdXNpdmVseSBmb3IgeW91LCBvciBwcm92aWRlIHlvdQp3aXRoIGZhY2lsaXRpZXMgZm9yIHJ1bm5pbmcgdGhvc2Ugd29ya3MsIHByb3ZpZGVkIHRoYXQgeW91IGNvbXBseSB3aXRoCnRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UgaW4gY29udmV5aW5nIGFsbCBtYXRlcmlhbCBmb3Igd2hpY2ggeW91IGRvCm5vdCBjb250cm9sIGNvcHlyaWdodC4gIFRob3NlIHRodXMgbWFraW5nIG9yIHJ1bm5pbmcgdGhlIGNvdmVyZWQgd29ya3MKZm9yIHlvdSBtdXN0IGRvIHNvIGV4Y2x1c2l2ZWx5IG9uIHlvdXIgYmVoYWxmLCB1bmRlciB5b3VyIGRpcmVjdGlvbgphbmQgY29udHJvbCwgb24gdGVybXMgdGhhdCBwcm9oaWJpdCB0aGVtIGZyb20gbWFraW5nIGFueSBjb3BpZXMgb2YKeW91ciBjb3B5cmlnaHRlZCBtYXRlcmlhbCBvdXRzaWRlIHRoZWlyIHJlbGF0aW9uc2hpcCB3aXRoIHlvdS4KCiAgQ29udmV5aW5nIHVuZGVyIGFueSBvdGhlciBjaXJjdW1zdGFuY2VzIGlzIHBlcm1pdHRlZCBzb2xlbHkgdW5kZXIKdGhlIGNvbmRpdGlvbnMgc3RhdGVkIGJlbG93LiAgU3VibGljZW5zaW5nIGlzIG5vdCBhbGxvd2VkOyBzZWN0aW9uIDEwCm1ha2VzIGl0IHVubmVjZXNzYXJ5LgoKICAzLiBQcm90ZWN0aW5nIFVzZXJzJyBMZWdhbCBSaWdodHMgRnJvbSBBbnRpLUNpcmN1bXZlbnRpb24gTGF3LgoKICBObyBjb3ZlcmVkIHdvcmsgc2hhbGwgYmUgZGVlbWVkIHBhcnQgb2YgYW4gZWZmZWN0aXZlIHRlY2hub2xvZ2ljYWwKbWVhc3VyZSB1bmRlciBhbnkgYXBwbGljYWJsZSBsYXcgZnVsZmlsbGluZyBvYmxpZ2F0aW9ucyB1bmRlciBhcnRpY2xlCjExIG9mIHRoZSBXSVBPIGNvcHlyaWdodCB0cmVhdHkgYWRvcHRlZCBvbiAyMCBEZWNlbWJlciAxOTk2LCBvcgpzaW1pbGFyIGxhd3MgcHJvaGliaXRpbmcgb3IgcmVzdHJpY3RpbmcgY2lyY3VtdmVudGlvbiBvZiBzdWNoCm1lYXN1cmVzLgoKICBXaGVuIHlvdSBjb252ZXkgYSBjb3ZlcmVkIHdvcmssIHlvdSB3YWl2ZSBhbnkgbGVnYWwgcG93ZXIgdG8gZm9yYmlkCmNpcmN1bXZlbnRpb24gb2YgdGVjaG5vbG9naWNhbCBtZWFzdXJlcyB0byB0aGUgZXh0ZW50IHN1Y2ggY2lyY3VtdmVudGlvbgppcyBlZmZlY3RlZCBieSBleGVyY2lzaW5nIHJpZ2h0cyB1bmRlciB0aGlzIExpY2Vuc2Ugd2l0aCByZXNwZWN0IHRvCnRoZSBjb3ZlcmVkIHdvcmssIGFuZCB5b3UgZGlzY2xhaW0gYW55IGludGVudGlvbiB0byBsaW1pdCBvcGVyYXRpb24gb3IKbW9kaWZpY2F0aW9uIG9mIHRoZSB3b3JrIGFzIGEgbWVhbnMgb2YgZW5mb3JjaW5nLCBhZ2FpbnN0IHRoZSB3b3JrJ3MKdXNlcnMsIHlvdXIgb3IgdGhpcmQgcGFydGllcycgbGVnYWwgcmlnaHRzIHRvIGZvcmJpZCBjaXJjdW12ZW50aW9uIG9mCnRlY2hub2xvZ2ljYWwgbWVhc3VyZXMuCgogIDQuIENvbnZleWluZyBWZXJiYXRpbSBDb3BpZXMuCgogIFlvdSBtYXkgY29udmV5IHZlcmJhdGltIGNvcGllcyBvZiB0aGUgUHJvZ3JhbSdzIHNvdXJjZSBjb2RlIGFzIHlvdQpyZWNlaXZlIGl0LCBpbiBhbnkgbWVkaXVtLCBwcm92aWRlZCB0aGF0IHlvdSBjb25zcGljdW91c2x5IGFuZAphcHByb3ByaWF0ZWx5IHB1Ymxpc2ggb24gZWFjaCBjb3B5IGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2U7CmtlZXAgaW50YWN0IGFsbCBub3RpY2VzIHN0YXRpbmcgdGhhdCB0aGlzIExpY2Vuc2UgYW5kIGFueQpub24tcGVybWlzc2l2ZSB0ZXJtcyBhZGRlZCBpbiBhY2NvcmQgd2l0aCBzZWN0aW9uIDcgYXBwbHkgdG8gdGhlIGNvZGU7CmtlZXAgaW50YWN0IGFsbCBub3RpY2VzIG9mIHRoZSBhYnNlbmNlIG9mIGFueSB3YXJyYW50eTsgYW5kIGdpdmUgYWxsCnJlY2lwaWVudHMgYSBjb3B5IG9mIHRoaXMgTGljZW5zZSBhbG9uZyB3aXRoIHRoZSBQcm9ncmFtLgoKICBZb3UgbWF5IGNoYXJnZSBhbnkgcHJpY2Ugb3Igbm8gcHJpY2UgZm9yIGVhY2ggY29weSB0aGF0IHlvdSBjb252ZXksCmFuZCB5b3UgbWF5IG9mZmVyIHN1cHBvcnQgb3Igd2FycmFudHkgcHJvdGVjdGlvbiBmb3IgYSBmZWUuCgogIDUuIENvbnZleWluZyBNb2RpZmllZCBTb3VyY2UgVmVyc2lvbnMuCgogIFlvdSBtYXkgY29udmV5IGEgd29yayBiYXNlZCBvbiB0aGUgUHJvZ3JhbSwgb3IgdGhlIG1vZGlmaWNhdGlvbnMgdG8KcHJvZHVjZSBpdCBmcm9tIHRoZSBQcm9ncmFtLCBpbiB0aGUgZm9ybSBvZiBzb3VyY2UgY29kZSB1bmRlciB0aGUKdGVybXMgb2Ygc2VjdGlvbiA0LCBwcm92aWRlZCB0aGF0IHlvdSBhbHNvIG1lZXQgYWxsIG9mIHRoZXNlIGNvbmRpdGlvbnM6CgogICAgYSkgVGhlIHdvcmsgbXVzdCBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nIHRoYXQgeW91IG1vZGlmaWVkCiAgICBpdCwgYW5kIGdpdmluZyBhIHJlbGV2YW50IGRhdGUuCgogICAgYikgVGhlIHdvcmsgbXVzdCBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nIHRoYXQgaXQgaXMKICAgIHJlbGVhc2VkIHVuZGVyIHRoaXMgTGljZW5zZSBhbmQgYW55IGNvbmRpdGlvbnMgYWRkZWQgdW5kZXIgc2VjdGlvbgogICAgNy4gIFRoaXMgcmVxdWlyZW1lbnQgbW9kaWZpZXMgdGhlIHJlcXVpcmVtZW50IGluIHNlY3Rpb24gNCB0bwogICAgImtlZXAgaW50YWN0IGFsbCBub3RpY2VzIi4KCiAgICBjKSBZb3UgbXVzdCBsaWNlbnNlIHRoZSBlbnRpcmUgd29yaywgYXMgYSB3aG9sZSwgdW5kZXIgdGhpcwogICAgTGljZW5zZSB0byBhbnlvbmUgd2hvIGNvbWVzIGludG8gcG9zc2Vzc2lvbiBvZiBhIGNvcHkuICBUaGlzCiAgICBMaWNlbnNlIHdpbGwgdGhlcmVmb3JlIGFwcGx5LCBhbG9uZyB3aXRoIGFueSBhcHBsaWNhYmxlIHNlY3Rpb24gNwogICAgYWRkaXRpb25hbCB0ZXJtcywgdG8gdGhlIHdob2xlIG9mIHRoZSB3b3JrLCBhbmQgYWxsIGl0cyBwYXJ0cywKICAgIHJlZ2FyZGxlc3Mgb2YgaG93IHRoZXkgYXJlIHBhY2thZ2VkLiAgVGhpcyBMaWNlbnNlIGdpdmVzIG5vCiAgICBwZXJtaXNzaW9uIHRvIGxpY2Vuc2UgdGhlIHdvcmsgaW4gYW55IG90aGVyIHdheSwgYnV0IGl0IGRvZXMgbm90CiAgICBpbnZhbGlkYXRlIHN1Y2ggcGVybWlzc2lvbiBpZiB5b3UgaGF2ZSBzZXBhcmF0ZWx5IHJlY2VpdmVkIGl0LgoKICAgIGQpIElmIHRoZSB3b3JrIGhhcyBpbnRlcmFjdGl2ZSB1c2VyIGludGVyZmFjZXMsIGVhY2ggbXVzdCBkaXNwbGF5CiAgICBBcHByb3ByaWF0ZSBMZWdhbCBOb3RpY2VzOyBob3dldmVyLCBpZiB0aGUgUHJvZ3JhbSBoYXMgaW50ZXJhY3RpdmUKICAgIGludGVyZmFjZXMgdGhhdCBkbyBub3QgZGlzcGxheSBBcHByb3ByaWF0ZSBMZWdhbCBOb3RpY2VzLCB5b3VyCiAgICB3b3JrIG5lZWQgbm90IG1ha2UgdGhlbSBkbyBzby4KCiAgQSBjb21waWxhdGlvbiBvZiBhIGNvdmVyZWQgd29yayB3aXRoIG90aGVyIHNlcGFyYXRlIGFuZCBpbmRlcGVuZGVudAp3b3Jrcywgd2hpY2ggYXJlIG5vdCBieSB0aGVpciBuYXR1cmUgZXh0ZW5zaW9ucyBvZiB0aGUgY292ZXJlZCB3b3JrLAphbmQgd2hpY2ggYXJlIG5vdCBjb21iaW5lZCB3aXRoIGl0IHN1Y2ggYXMgdG8gZm9ybSBhIGxhcmdlciBwcm9ncmFtLAppbiBvciBvbiBhIHZvbHVtZSBvZiBhIHN0b3JhZ2Ugb3IgZGlzdHJpYnV0aW9uIG1lZGl1bSwgaXMgY2FsbGVkIGFuCiJhZ2dyZWdhdGUiIGlmIHRoZSBjb21waWxhdGlvbiBhbmQgaXRzIHJlc3VsdGluZyBjb3B5cmlnaHQgYXJlIG5vdAp1c2VkIHRvIGxpbWl0IHRoZSBhY2Nlc3Mgb3IgbGVnYWwgcmlnaHRzIG9mIHRoZSBjb21waWxhdGlvbidzIHVzZXJzCmJleW9uZCB3aGF0IHRoZSBpbmRpdmlkdWFsIHdvcmtzIHBlcm1pdC4gIEluY2x1c2lvbiBvZiBhIGNvdmVyZWQgd29yawppbiBhbiBhZ2dyZWdhdGUgZG9lcyBub3QgY2F1c2UgdGhpcyBMaWNlbnNlIHRvIGFwcGx5IHRvIHRoZSBvdGhlcgpwYXJ0cyBvZiB0aGUgYWdncmVnYXRlLgoKICA2LiBDb252ZXlpbmcgTm9uLVNvdXJjZSBGb3Jtcy4KCiAgWW91IG1heSBjb252ZXkgYSBjb3ZlcmVkIHdvcmsgaW4gb2JqZWN0IGNvZGUgZm9ybSB1bmRlciB0aGUgdGVybXMKb2Ygc2VjdGlvbnMgNCBhbmQgNSwgcHJvdmlkZWQgdGhhdCB5b3UgYWxzbyBjb252ZXkgdGhlCm1hY2hpbmUtcmVhZGFibGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgdW5kZXIgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZSwKaW4gb25lIG9mIHRoZXNlIHdheXM6CgogICAgYSkgQ29udmV5IHRoZSBvYmplY3QgY29kZSBpbiwgb3IgZW1ib2RpZWQgaW4sIGEgcGh5c2ljYWwgcHJvZHVjdAogICAgKGluY2x1ZGluZyBhIHBoeXNpY2FsIGRpc3RyaWJ1dGlvbiBtZWRpdW0pLCBhY2NvbXBhbmllZCBieSB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGZpeGVkIG9uIGEgZHVyYWJsZSBwaHlzaWNhbCBtZWRpdW0KICAgIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlLgoKICAgIGIpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgaW4sIG9yIGVtYm9kaWVkIGluLCBhIHBoeXNpY2FsIHByb2R1Y3QKICAgIChpbmNsdWRpbmcgYSBwaHlzaWNhbCBkaXN0cmlidXRpb24gbWVkaXVtKSwgYWNjb21wYW5pZWQgYnkgYQogICAgd3JpdHRlbiBvZmZlciwgdmFsaWQgZm9yIGF0IGxlYXN0IHRocmVlIHllYXJzIGFuZCB2YWxpZCBmb3IgYXMKICAgIGxvbmcgYXMgeW91IG9mZmVyIHNwYXJlIHBhcnRzIG9yIGN1c3RvbWVyIHN1cHBvcnQgZm9yIHRoYXQgcHJvZHVjdAogICAgbW9kZWwsIHRvIGdpdmUgYW55b25lIHdobyBwb3NzZXNzZXMgdGhlIG9iamVjdCBjb2RlIGVpdGhlciAoMSkgYQogICAgY29weSBvZiB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgZm9yIGFsbCB0aGUgc29mdHdhcmUgaW4gdGhlCiAgICBwcm9kdWN0IHRoYXQgaXMgY292ZXJlZCBieSB0aGlzIExpY2Vuc2UsIG9uIGEgZHVyYWJsZSBwaHlzaWNhbAogICAgbWVkaXVtIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlLCBmb3IgYSBwcmljZSBubwogICAgbW9yZSB0aGFuIHlvdXIgcmVhc29uYWJsZSBjb3N0IG9mIHBoeXNpY2FsbHkgcGVyZm9ybWluZyB0aGlzCiAgICBjb252ZXlpbmcgb2Ygc291cmNlLCBvciAoMikgYWNjZXNzIHRvIGNvcHkgdGhlCiAgICBDb3JyZXNwb25kaW5nIFNvdXJjZSBmcm9tIGEgbmV0d29yayBzZXJ2ZXIgYXQgbm8gY2hhcmdlLgoKICAgIGMpIENvbnZleSBpbmRpdmlkdWFsIGNvcGllcyBvZiB0aGUgb2JqZWN0IGNvZGUgd2l0aCBhIGNvcHkgb2YgdGhlCiAgICB3cml0dGVuIG9mZmVyIHRvIHByb3ZpZGUgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlLiAgVGhpcwogICAgYWx0ZXJuYXRpdmUgaXMgYWxsb3dlZCBvbmx5IG9jY2FzaW9uYWxseSBhbmQgbm9uY29tbWVyY2lhbGx5LCBhbmQKICAgIG9ubHkgaWYgeW91IHJlY2VpdmVkIHRoZSBvYmplY3QgY29kZSB3aXRoIHN1Y2ggYW4gb2ZmZXIsIGluIGFjY29yZAogICAgd2l0aCBzdWJzZWN0aW9uIDZiLgoKICAgIGQpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgYnkgb2ZmZXJpbmcgYWNjZXNzIGZyb20gYSBkZXNpZ25hdGVkCiAgICBwbGFjZSAoZ3JhdGlzIG9yIGZvciBhIGNoYXJnZSksIGFuZCBvZmZlciBlcXVpdmFsZW50IGFjY2VzcyB0byB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGluIHRoZSBzYW1lIHdheSB0aHJvdWdoIHRoZSBzYW1lIHBsYWNlIGF0IG5vCiAgICBmdXJ0aGVyIGNoYXJnZS4gIFlvdSBuZWVkIG5vdCByZXF1aXJlIHJlY2lwaWVudHMgdG8gY29weSB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGFsb25nIHdpdGggdGhlIG9iamVjdCBjb2RlLiAgSWYgdGhlIHBsYWNlIHRvCiAgICBjb3B5IHRoZSBvYmplY3QgY29kZSBpcyBhIG5ldHdvcmsgc2VydmVyLCB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UKICAgIG1heSBiZSBvbiBhIGRpZmZlcmVudCBzZXJ2ZXIgKG9wZXJhdGVkIGJ5IHlvdSBvciBhIHRoaXJkIHBhcnR5KQogICAgdGhhdCBzdXBwb3J0cyBlcXVpdmFsZW50IGNvcHlpbmcgZmFjaWxpdGllcywgcHJvdmlkZWQgeW91IG1haW50YWluCiAgICBjbGVhciBkaXJlY3Rpb25zIG5leHQgdG8gdGhlIG9iamVjdCBjb2RlIHNheWluZyB3aGVyZSB0byBmaW5kIHRoZQogICAgQ29ycmVzcG9uZGluZyBTb3VyY2UuICBSZWdhcmRsZXNzIG9mIHdoYXQgc2VydmVyIGhvc3RzIHRoZQogICAgQ29ycmVzcG9uZGluZyBTb3VyY2UsIHlvdSByZW1haW4gb2JsaWdhdGVkIHRvIGVuc3VyZSB0aGF0IGl0IGlzCiAgICBhdmFpbGFibGUgZm9yIGFzIGxvbmcgYXMgbmVlZGVkIHRvIHNhdGlzZnkgdGhlc2UgcmVxdWlyZW1lbnRzLgoKICAgIGUpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgdXNpbmcgcGVlci10by1wZWVyIHRyYW5zbWlzc2lvbiwgcHJvdmlkZWQKICAgIHlvdSBpbmZvcm0gb3RoZXIgcGVlcnMgd2hlcmUgdGhlIG9iamVjdCBjb2RlIGFuZCBDb3JyZXNwb25kaW5nCiAgICBTb3VyY2Ugb2YgdGhlIHdvcmsgYXJlIGJlaW5nIG9mZmVyZWQgdG8gdGhlIGdlbmVyYWwgcHVibGljIGF0IG5vCiAgICBjaGFyZ2UgdW5kZXIgc3Vic2VjdGlvbiA2ZC4KCiAgQSBzZXBhcmFibGUgcG9ydGlvbiBvZiB0aGUgb2JqZWN0IGNvZGUsIHdob3NlIHNvdXJjZSBjb2RlIGlzIGV4Y2x1ZGVkCmZyb20gdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIGFzIGEgU3lzdGVtIExpYnJhcnksIG5lZWQgbm90IGJlCmluY2x1ZGVkIGluIGNvbnZleWluZyB0aGUgb2JqZWN0IGNvZGUgd29yay4KCiAgQSAiVXNlciBQcm9kdWN0IiBpcyBlaXRoZXIgKDEpIGEgImNvbnN1bWVyIHByb2R1Y3QiLCB3aGljaCBtZWFucyBhbnkKdGFuZ2libGUgcGVyc29uYWwgcHJvcGVydHkgd2hpY2ggaXMgbm9ybWFsbHkgdXNlZCBmb3IgcGVyc29uYWwsIGZhbWlseSwKb3IgaG91c2Vob2xkIHB1cnBvc2VzLCBvciAoMikgYW55dGhpbmcgZGVzaWduZWQgb3Igc29sZCBmb3IgaW5jb3Jwb3JhdGlvbgppbnRvIGEgZHdlbGxpbmcuICBJbiBkZXRlcm1pbmluZyB3aGV0aGVyIGEgcHJvZHVjdCBpcyBhIGNvbnN1bWVyIHByb2R1Y3QsCmRvdWJ0ZnVsIGNhc2VzIHNoYWxsIGJlIHJlc29sdmVkIGluIGZhdm9yIG9mIGNvdmVyYWdlLiAgRm9yIGEgcGFydGljdWxhcgpwcm9kdWN0IHJlY2VpdmVkIGJ5IGEgcGFydGljdWxhciB1c2VyLCAibm9ybWFsbHkgdXNlZCIgcmVmZXJzIHRvIGEKdHlwaWNhbCBvciBjb21tb24gdXNlIG9mIHRoYXQgY2xhc3Mgb2YgcHJvZHVjdCwgcmVnYXJkbGVzcyBvZiB0aGUgc3RhdHVzCm9mIHRoZSBwYXJ0aWN1bGFyIHVzZXIgb3Igb2YgdGhlIHdheSBpbiB3aGljaCB0aGUgcGFydGljdWxhciB1c2VyCmFjdHVhbGx5IHVzZXMsIG9yIGV4cGVjdHMgb3IgaXMgZXhwZWN0ZWQgdG8gdXNlLCB0aGUgcHJvZHVjdC4gIEEgcHJvZHVjdAppcyBhIGNvbnN1bWVyIHByb2R1Y3QgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBwcm9kdWN0IGhhcyBzdWJzdGFudGlhbApjb21tZXJjaWFsLCBpbmR1c3RyaWFsIG9yIG5vbi1jb25zdW1lciB1c2VzLCB1bmxlc3Mgc3VjaCB1c2VzIHJlcHJlc2VudAp0aGUgb25seSBzaWduaWZpY2FudCBtb2RlIG9mIHVzZSBvZiB0aGUgcHJvZHVjdC4KCiAgIkluc3RhbGxhdGlvbiBJbmZvcm1hdGlvbiIgZm9yIGEgVXNlciBQcm9kdWN0IG1lYW5zIGFueSBtZXRob2RzLApwcm9jZWR1cmVzLCBhdXRob3JpemF0aW9uIGtleXMsIG9yIG90aGVyIGluZm9ybWF0aW9uIHJlcXVpcmVkIHRvIGluc3RhbGwKYW5kIGV4ZWN1dGUgbW9kaWZpZWQgdmVyc2lvbnMgb2YgYSBjb3ZlcmVkIHdvcmsgaW4gdGhhdCBVc2VyIFByb2R1Y3QgZnJvbQphIG1vZGlmaWVkIHZlcnNpb24gb2YgaXRzIENvcnJlc3BvbmRpbmcgU291cmNlLiAgVGhlIGluZm9ybWF0aW9uIG11c3QKc3VmZmljZSB0byBlbnN1cmUgdGhhdCB0aGUgY29udGludWVkIGZ1bmN0aW9uaW5nIG9mIHRoZSBtb2RpZmllZCBvYmplY3QKY29kZSBpcyBpbiBubyBjYXNlIHByZXZlbnRlZCBvciBpbnRlcmZlcmVkIHdpdGggc29sZWx5IGJlY2F1c2UKbW9kaWZpY2F0aW9uIGhhcyBiZWVuIG1hZGUuCgogIElmIHlvdSBjb252ZXkgYW4gb2JqZWN0IGNvZGUgd29yayB1bmRlciB0aGlzIHNlY3Rpb24gaW4sIG9yIHdpdGgsIG9yCnNwZWNpZmljYWxseSBmb3IgdXNlIGluLCBhIFVzZXIgUHJvZHVjdCwgYW5kIHRoZSBjb252ZXlpbmcgb2NjdXJzIGFzCnBhcnQgb2YgYSB0cmFuc2FjdGlvbiBpbiB3aGljaCB0aGUgcmlnaHQgb2YgcG9zc2Vzc2lvbiBhbmQgdXNlIG9mIHRoZQpVc2VyIFByb2R1Y3QgaXMgdHJhbnNmZXJyZWQgdG8gdGhlIHJlY2lwaWVudCBpbiBwZXJwZXR1aXR5IG9yIGZvciBhCmZpeGVkIHRlcm0gKHJlZ2FyZGxlc3Mgb2YgaG93IHRoZSB0cmFuc2FjdGlvbiBpcyBjaGFyYWN0ZXJpemVkKSwgdGhlCkNvcnJlc3BvbmRpbmcgU291cmNlIGNvbnZleWVkIHVuZGVyIHRoaXMgc2VjdGlvbiBtdXN0IGJlIGFjY29tcGFuaWVkCmJ5IHRoZSBJbnN0YWxsYXRpb24gSW5mb3JtYXRpb24uICBCdXQgdGhpcyByZXF1aXJlbWVudCBkb2VzIG5vdCBhcHBseQppZiBuZWl0aGVyIHlvdSBub3IgYW55IHRoaXJkIHBhcnR5IHJldGFpbnMgdGhlIGFiaWxpdHkgdG8gaW5zdGFsbAptb2RpZmllZCBvYmplY3QgY29kZSBvbiB0aGUgVXNlciBQcm9kdWN0IChmb3IgZXhhbXBsZSwgdGhlIHdvcmsgaGFzCmJlZW4gaW5zdGFsbGVkIGluIFJPTSkuCgogIFRoZSByZXF1aXJlbWVudCB0byBwcm92aWRlIEluc3RhbGxhdGlvbiBJbmZvcm1hdGlvbiBkb2VzIG5vdCBpbmNsdWRlIGEKcmVxdWlyZW1lbnQgdG8gY29udGludWUgdG8gcHJvdmlkZSBzdXBwb3J0IHNlcnZpY2UsIHdhcnJhbnR5LCBvciB1cGRhdGVzCmZvciBhIHdvcmsgdGhhdCBoYXMgYmVlbiBtb2RpZmllZCBvciBpbnN0YWxsZWQgYnkgdGhlIHJlY2lwaWVudCwgb3IgZm9yCnRoZSBVc2VyIFByb2R1Y3QgaW4gd2hpY2ggaXQgaGFzIGJlZW4gbW9kaWZpZWQgb3IgaW5zdGFsbGVkLiAgQWNjZXNzIHRvIGEKbmV0d29yayBtYXkgYmUgZGVuaWVkIHdoZW4gdGhlIG1vZGlmaWNhdGlvbiBpdHNlbGYgbWF0ZXJpYWxseSBhbmQKYWR2ZXJzZWx5IGFmZmVjdHMgdGhlIG9wZXJhdGlvbiBvZiB0aGUgbmV0d29yayBvciB2aW9sYXRlcyB0aGUgcnVsZXMgYW5kCnByb3RvY29scyBmb3IgY29tbXVuaWNhdGlvbiBhY3Jvc3MgdGhlIG5ldHdvcmsuCgogIENvcnJlc3BvbmRpbmcgU291cmNlIGNvbnZleWVkLCBhbmQgSW5zdGFsbGF0aW9uIEluZm9ybWF0aW9uIHByb3ZpZGVkLAppbiBhY2NvcmQgd2l0aCB0aGlzIHNlY3Rpb24gbXVzdCBiZSBpbiBhIGZvcm1hdCB0aGF0IGlzIHB1YmxpY2x5CmRvY3VtZW50ZWQgKGFuZCB3aXRoIGFuIGltcGxlbWVudGF0aW9uIGF2YWlsYWJsZSB0byB0aGUgcHVibGljIGluCnNvdXJjZSBjb2RlIGZvcm0pLCBhbmQgbXVzdCByZXF1aXJlIG5vIHNwZWNpYWwgcGFzc3dvcmQgb3Iga2V5IGZvcgp1bnBhY2tpbmcsIHJlYWRpbmcgb3IgY29weWluZy4KCiAgNy4gQWRkaXRpb25hbCBUZXJtcy4KCiAgIkFkZGl0aW9uYWwgcGVybWlzc2lvbnMiIGFyZSB0ZXJtcyB0aGF0IHN1cHBsZW1lbnQgdGhlIHRlcm1zIG9mIHRoaXMKTGljZW5zZSBieSBtYWtpbmcgZXhjZXB0aW9ucyBmcm9tIG9uZSBvciBtb3JlIG9mIGl0cyBjb25kaXRpb25zLgpBZGRpdGlvbmFsIHBlcm1pc3Npb25zIHRoYXQgYXJlIGFwcGxpY2FibGUgdG8gdGhlIGVudGlyZSBQcm9ncmFtIHNoYWxsCmJlIHRyZWF0ZWQgYXMgdGhvdWdoIHRoZXkgd2VyZSBpbmNsdWRlZCBpbiB0aGlzIExpY2Vuc2UsIHRvIHRoZSBleHRlbnQKdGhhdCB0aGV5IGFyZSB2YWxpZCB1bmRlciBhcHBsaWNhYmxlIGxhdy4gIElmIGFkZGl0aW9uYWwgcGVybWlzc2lvbnMKYXBwbHkgb25seSB0byBwYXJ0IG9mIHRoZSBQcm9ncmFtLCB0aGF0IHBhcnQgbWF5IGJlIHVzZWQgc2VwYXJhdGVseQp1bmRlciB0aG9zZSBwZXJtaXNzaW9ucywgYnV0IHRoZSBlbnRpcmUgUHJvZ3JhbSByZW1haW5zIGdvdmVybmVkIGJ5CnRoaXMgTGljZW5zZSB3aXRob3V0IHJlZ2FyZCB0byB0aGUgYWRkaXRpb25hbCBwZXJtaXNzaW9ucy4KCiAgV2hlbiB5b3UgY29udmV5IGEgY29weSBvZiBhIGNvdmVyZWQgd29yaywgeW91IG1heSBhdCB5b3VyIG9wdGlvbgpyZW1vdmUgYW55IGFkZGl0aW9uYWwgcGVybWlzc2lvbnMgZnJvbSB0aGF0IGNvcHksIG9yIGZyb20gYW55IHBhcnQgb2YKaXQuICAoQWRkaXRpb25hbCBwZXJtaXNzaW9ucyBtYXkgYmUgd3JpdHRlbiB0byByZXF1aXJlIHRoZWlyIG93bgpyZW1vdmFsIGluIGNlcnRhaW4gY2FzZXMgd2hlbiB5b3UgbW9kaWZ5IHRoZSB3b3JrLikgIFlvdSBtYXkgcGxhY2UKYWRkaXRpb25hbCBwZXJtaXNzaW9ucyBvbiBtYXRlcmlhbCwgYWRkZWQgYnkgeW91IHRvIGEgY292ZXJlZCB3b3JrLApmb3Igd2hpY2ggeW91IGhhdmUgb3IgY2FuIGdpdmUgYXBwcm9wcmlhdGUgY29weXJpZ2h0IHBlcm1pc3Npb24uCgogIE5vdHdpdGhzdGFuZGluZyBhbnkgb3RoZXIgcHJvdmlzaW9uIG9mIHRoaXMgTGljZW5zZSwgZm9yIG1hdGVyaWFsIHlvdQphZGQgdG8gYSBjb3ZlcmVkIHdvcmssIHlvdSBtYXkgKGlmIGF1dGhvcml6ZWQgYnkgdGhlIGNvcHlyaWdodCBob2xkZXJzIG9mCnRoYXQgbWF0ZXJpYWwpIHN1cHBsZW1lbnQgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZSB3aXRoIHRlcm1zOgoKICAgIGEpIERpc2NsYWltaW5nIHdhcnJhbnR5IG9yIGxpbWl0aW5nIGxpYWJpbGl0eSBkaWZmZXJlbnRseSBmcm9tIHRoZQogICAgdGVybXMgb2Ygc2VjdGlvbnMgMTUgYW5kIDE2IG9mIHRoaXMgTGljZW5zZTsgb3IKCiAgICBiKSBSZXF1aXJpbmcgcHJlc2VydmF0aW9uIG9mIHNwZWNpZmllZCByZWFzb25hYmxlIGxlZ2FsIG5vdGljZXMgb3IKICAgIGF1dGhvciBhdHRyaWJ1dGlvbnMgaW4gdGhhdCBtYXRlcmlhbCBvciBpbiB0aGUgQXBwcm9wcmlhdGUgTGVnYWwKICAgIE5vdGljZXMgZGlzcGxheWVkIGJ5IHdvcmtzIGNvbnRhaW5pbmcgaXQ7IG9yCgogICAgYykgUHJvaGliaXRpbmcgbWlzcmVwcmVzZW50YXRpb24gb2YgdGhlIG9yaWdpbiBvZiB0aGF0IG1hdGVyaWFsLCBvcgogICAgcmVxdWlyaW5nIHRoYXQgbW9kaWZpZWQgdmVyc2lvbnMgb2Ygc3VjaCBtYXRlcmlhbCBiZSBtYXJrZWQgaW4KICAgIHJlYXNvbmFibGUgd2F5cyBhcyBkaWZmZXJlbnQgZnJvbSB0aGUgb3JpZ2luYWwgdmVyc2lvbjsgb3IKCiAgICBkKSBMaW1pdGluZyB0aGUgdXNlIGZvciBwdWJsaWNpdHkgcHVycG9zZXMgb2YgbmFtZXMgb2YgbGljZW5zb3JzIG9yCiAgICBhdXRob3JzIG9mIHRoZSBtYXRlcmlhbDsgb3IKCiAgICBlKSBEZWNsaW5pbmcgdG8gZ3JhbnQgcmlnaHRzIHVuZGVyIHRyYWRlbWFyayBsYXcgZm9yIHVzZSBvZiBzb21lCiAgICB0cmFkZSBuYW1lcywgdHJhZGVtYXJrcywgb3Igc2VydmljZSBtYXJrczsgb3IKCiAgICBmKSBSZXF1aXJpbmcgaW5kZW1uaWZpY2F0aW9uIG9mIGxpY2Vuc29ycyBhbmQgYXV0aG9ycyBvZiB0aGF0CiAgICBtYXRlcmlhbCBieSBhbnlvbmUgd2hvIGNvbnZleXMgdGhlIG1hdGVyaWFsIChvciBtb2RpZmllZCB2ZXJzaW9ucyBvZgogICAgaXQpIHdpdGggY29udHJhY3R1YWwgYXNzdW1wdGlvbnMgb2YgbGlhYmlsaXR5IHRvIHRoZSByZWNpcGllbnQsIGZvcgogICAgYW55IGxpYWJpbGl0eSB0aGF0IHRoZXNlIGNvbnRyYWN0dWFsIGFzc3VtcHRpb25zIGRpcmVjdGx5IGltcG9zZSBvbgogICAgdGhvc2UgbGljZW5zb3JzIGFuZCBhdXRob3JzLgoKICBBbGwgb3RoZXIgbm9uLXBlcm1pc3NpdmUgYWRkaXRpb25hbCB0ZXJtcyBhcmUgY29uc2lkZXJlZCAiZnVydGhlcgpyZXN0cmljdGlvbnMiIHdpdGhpbiB0aGUgbWVhbmluZyBvZiBzZWN0aW9uIDEwLiAgSWYgdGhlIFByb2dyYW0gYXMgeW91CnJlY2VpdmVkIGl0LCBvciBhbnkgcGFydCBvZiBpdCwgY29udGFpbnMgYSBub3RpY2Ugc3RhdGluZyB0aGF0IGl0IGlzCmdvdmVybmVkIGJ5IHRoaXMgTGljZW5zZSBhbG9uZyB3aXRoIGEgdGVybSB0aGF0IGlzIGEgZnVydGhlcgpyZXN0cmljdGlvbiwgeW91IG1heSByZW1vdmUgdGhhdCB0ZXJtLiAgSWYgYSBsaWNlbnNlIGRvY3VtZW50IGNvbnRhaW5zCmEgZnVydGhlciByZXN0cmljdGlvbiBidXQgcGVybWl0cyByZWxpY2Vuc2luZyBvciBjb252ZXlpbmcgdW5kZXIgdGhpcwpMaWNlbnNlLCB5b3UgbWF5IGFkZCB0byBhIGNvdmVyZWQgd29yayBtYXRlcmlhbCBnb3Zlcm5lZCBieSB0aGUgdGVybXMKb2YgdGhhdCBsaWNlbnNlIGRvY3VtZW50LCBwcm92aWRlZCB0aGF0IHRoZSBmdXJ0aGVyIHJlc3RyaWN0aW9uIGRvZXMKbm90IHN1cnZpdmUgc3VjaCByZWxpY2Vuc2luZyBvciBjb252ZXlpbmcuCgogIElmIHlvdSBhZGQgdGVybXMgdG8gYSBjb3ZlcmVkIHdvcmsgaW4gYWNjb3JkIHdpdGggdGhpcyBzZWN0aW9uLCB5b3UKbXVzdCBwbGFjZSwgaW4gdGhlIHJlbGV2YW50IHNvdXJjZSBmaWxlcywgYSBzdGF0ZW1lbnQgb2YgdGhlCmFkZGl0aW9uYWwgdGVybXMgdGhhdCBhcHBseSB0byB0aG9zZSBmaWxlcywgb3IgYSBub3RpY2UgaW5kaWNhdGluZwp3aGVyZSB0byBmaW5kIHRoZSBhcHBsaWNhYmxlIHRlcm1zLgoKICBBZGRpdGlvbmFsIHRlcm1zLCBwZXJtaXNzaXZlIG9yIG5vbi1wZXJtaXNzaXZlLCBtYXkgYmUgc3RhdGVkIGluIHRoZQpmb3JtIG9mIGEgc2VwYXJhdGVseSB3cml0dGVuIGxpY2Vuc2UsIG9yIHN0YXRlZCBhcyBleGNlcHRpb25zOwp0aGUgYWJvdmUgcmVxdWlyZW1lbnRzIGFwcGx5IGVpdGhlciB3YXkuCgogIDguIFRlcm1pbmF0aW9uLgoKICBZb3UgbWF5IG5vdCBwcm9wYWdhdGUgb3IgbW9kaWZ5IGEgY292ZXJlZCB3b3JrIGV4Y2VwdCBhcyBleHByZXNzbHkKcHJvdmlkZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgQW55IGF0dGVtcHQgb3RoZXJ3aXNlIHRvIHByb3BhZ2F0ZSBvcgptb2RpZnkgaXQgaXMgdm9pZCwgYW5kIHdpbGwgYXV0b21hdGljYWxseSB0ZXJtaW5hdGUgeW91ciByaWdodHMgdW5kZXIKdGhpcyBMaWNlbnNlIChpbmNsdWRpbmcgYW55IHBhdGVudCBsaWNlbnNlcyBncmFudGVkIHVuZGVyIHRoZSB0aGlyZApwYXJhZ3JhcGggb2Ygc2VjdGlvbiAxMSkuCgogIEhvd2V2ZXIsIGlmIHlvdSBjZWFzZSBhbGwgdmlvbGF0aW9uIG9mIHRoaXMgTGljZW5zZSwgdGhlbiB5b3VyCmxpY2Vuc2UgZnJvbSBhIHBhcnRpY3VsYXIgY29weXJpZ2h0IGhvbGRlciBpcyByZWluc3RhdGVkIChhKQpwcm92aXNpb25hbGx5LCB1bmxlc3MgYW5kIHVudGlsIHRoZSBjb3B5cmlnaHQgaG9sZGVyIGV4cGxpY2l0bHkgYW5kCmZpbmFsbHkgdGVybWluYXRlcyB5b3VyIGxpY2Vuc2UsIGFuZCAoYikgcGVybWFuZW50bHksIGlmIHRoZSBjb3B5cmlnaHQKaG9sZGVyIGZhaWxzIHRvIG5vdGlmeSB5b3Ugb2YgdGhlIHZpb2xhdGlvbiBieSBzb21lIHJlYXNvbmFibGUgbWVhbnMKcHJpb3IgdG8gNjAgZGF5cyBhZnRlciB0aGUgY2Vzc2F0aW9uLgoKICBNb3Jlb3ZlciwgeW91ciBsaWNlbnNlIGZyb20gYSBwYXJ0aWN1bGFyIGNvcHlyaWdodCBob2xkZXIgaXMKcmVpbnN0YXRlZCBwZXJtYW5lbnRseSBpZiB0aGUgY29weXJpZ2h0IGhvbGRlciBub3RpZmllcyB5b3Ugb2YgdGhlCnZpb2xhdGlvbiBieSBzb21lIHJlYXNvbmFibGUgbWVhbnMsIHRoaXMgaXMgdGhlIGZpcnN0IHRpbWUgeW91IGhhdmUKcmVjZWl2ZWQgbm90aWNlIG9mIHZpb2xhdGlvbiBvZiB0aGlzIExpY2Vuc2UgKGZvciBhbnkgd29yaykgZnJvbSB0aGF0CmNvcHlyaWdodCBob2xkZXIsIGFuZCB5b3UgY3VyZSB0aGUgdmlvbGF0aW9uIHByaW9yIHRvIDMwIGRheXMgYWZ0ZXIKeW91ciByZWNlaXB0IG9mIHRoZSBub3RpY2UuCgogIFRlcm1pbmF0aW9uIG9mIHlvdXIgcmlnaHRzIHVuZGVyIHRoaXMgc2VjdGlvbiBkb2VzIG5vdCB0ZXJtaW5hdGUgdGhlCmxpY2Vuc2VzIG9mIHBhcnRpZXMgd2hvIGhhdmUgcmVjZWl2ZWQgY29waWVzIG9yIHJpZ2h0cyBmcm9tIHlvdSB1bmRlcgp0aGlzIExpY2Vuc2UuICBJZiB5b3VyIHJpZ2h0cyBoYXZlIGJlZW4gdGVybWluYXRlZCBhbmQgbm90IHBlcm1hbmVudGx5CnJlaW5zdGF0ZWQsIHlvdSBkbyBub3QgcXVhbGlmeSB0byByZWNlaXZlIG5ldyBsaWNlbnNlcyBmb3IgdGhlIHNhbWUKbWF0ZXJpYWwgdW5kZXIgc2VjdGlvbiAxMC4KCiAgOS4gQWNjZXB0YW5jZSBOb3QgUmVxdWlyZWQgZm9yIEhhdmluZyBDb3BpZXMuCgogIFlvdSBhcmUgbm90IHJlcXVpcmVkIHRvIGFjY2VwdCB0aGlzIExpY2Vuc2UgaW4gb3JkZXIgdG8gcmVjZWl2ZSBvcgpydW4gYSBjb3B5IG9mIHRoZSBQcm9ncmFtLiAgQW5jaWxsYXJ5IHByb3BhZ2F0aW9uIG9mIGEgY292ZXJlZCB3b3JrCm9jY3VycmluZyBzb2xlbHkgYXMgYSBjb25zZXF1ZW5jZSBvZiB1c2luZyBwZWVyLXRvLXBlZXIgdHJhbnNtaXNzaW9uCnRvIHJlY2VpdmUgYSBjb3B5IGxpa2V3aXNlIGRvZXMgbm90IHJlcXVpcmUgYWNjZXB0YW5jZS4gIEhvd2V2ZXIsCm5vdGhpbmcgb3RoZXIgdGhhbiB0aGlzIExpY2Vuc2UgZ3JhbnRzIHlvdSBwZXJtaXNzaW9uIHRvIHByb3BhZ2F0ZSBvcgptb2RpZnkgYW55IGNvdmVyZWQgd29yay4gIFRoZXNlIGFjdGlvbnMgaW5mcmluZ2UgY29weXJpZ2h0IGlmIHlvdSBkbwpub3QgYWNjZXB0IHRoaXMgTGljZW5zZS4gIFRoZXJlZm9yZSwgYnkgbW9kaWZ5aW5nIG9yIHByb3BhZ2F0aW5nIGEKY292ZXJlZCB3b3JrLCB5b3UgaW5kaWNhdGUgeW91ciBhY2NlcHRhbmNlIG9mIHRoaXMgTGljZW5zZSB0byBkbyBzby4KCiAgMTAuIEF1dG9tYXRpYyBMaWNlbnNpbmcgb2YgRG93bnN0cmVhbSBSZWNpcGllbnRzLgoKICBFYWNoIHRpbWUgeW91IGNvbnZleSBhIGNvdmVyZWQgd29yaywgdGhlIHJlY2lwaWVudCBhdXRvbWF0aWNhbGx5CnJlY2VpdmVzIGEgbGljZW5zZSBmcm9tIHRoZSBvcmlnaW5hbCBsaWNlbnNvcnMsIHRvIHJ1biwgbW9kaWZ5IGFuZApwcm9wYWdhdGUgdGhhdCB3b3JrLCBzdWJqZWN0IHRvIHRoaXMgTGljZW5zZS4gIFlvdSBhcmUgbm90IHJlc3BvbnNpYmxlCmZvciBlbmZvcmNpbmcgY29tcGxpYW5jZSBieSB0aGlyZCBwYXJ0aWVzIHdpdGggdGhpcyBMaWNlbnNlLgoKICBBbiAiZW50aXR5IHRyYW5zYWN0aW9uIiBpcyBhIHRyYW5zYWN0aW9uIHRyYW5zZmVycmluZyBjb250cm9sIG9mIGFuCm9yZ2FuaXphdGlvbiwgb3Igc3Vic3RhbnRpYWxseSBhbGwgYXNzZXRzIG9mIG9uZSwgb3Igc3ViZGl2aWRpbmcgYW4Kb3JnYW5pemF0aW9uLCBvciBtZXJnaW5nIG9yZ2FuaXphdGlvbnMuICBJZiBwcm9wYWdhdGlvbiBvZiBhIGNvdmVyZWQKd29yayByZXN1bHRzIGZyb20gYW4gZW50aXR5IHRyYW5zYWN0aW9uLCBlYWNoIHBhcnR5IHRvIHRoYXQKdHJhbnNhY3Rpb24gd2hvIHJlY2VpdmVzIGEgY29weSBvZiB0aGUgd29yayBhbHNvIHJlY2VpdmVzIHdoYXRldmVyCmxpY2Vuc2VzIHRvIHRoZSB3b3JrIHRoZSBwYXJ0eSdzIHByZWRlY2Vzc29yIGluIGludGVyZXN0IGhhZCBvciBjb3VsZApnaXZlIHVuZGVyIHRoZSBwcmV2aW91cyBwYXJhZ3JhcGgsIHBsdXMgYSByaWdodCB0byBwb3NzZXNzaW9uIG9mIHRoZQpDb3JyZXNwb25kaW5nIFNvdXJjZSBvZiB0aGUgd29yayBmcm9tIHRoZSBwcmVkZWNlc3NvciBpbiBpbnRlcmVzdCwgaWYKdGhlIHByZWRlY2Vzc29yIGhhcyBpdCBvciBjYW4gZ2V0IGl0IHdpdGggcmVhc29uYWJsZSBlZmZvcnRzLgoKICBZb3UgbWF5IG5vdCBpbXBvc2UgYW55IGZ1cnRoZXIgcmVzdHJpY3Rpb25zIG9uIHRoZSBleGVyY2lzZSBvZiB0aGUKcmlnaHRzIGdyYW50ZWQgb3IgYWZmaXJtZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgRm9yIGV4YW1wbGUsIHlvdSBtYXkKbm90IGltcG9zZSBhIGxpY2Vuc2UgZmVlLCByb3lhbHR5LCBvciBvdGhlciBjaGFyZ2UgZm9yIGV4ZXJjaXNlIG9mCnJpZ2h0cyBncmFudGVkIHVuZGVyIHRoaXMgTGljZW5zZSwgYW5kIHlvdSBtYXkgbm90IGluaXRpYXRlIGxpdGlnYXRpb24KKGluY2x1ZGluZyBhIGNyb3NzLWNsYWltIG9yIGNvdW50ZXJjbGFpbSBpbiBhIGxhd3N1aXQpIGFsbGVnaW5nIHRoYXQKYW55IHBhdGVudCBjbGFpbSBpcyBpbmZyaW5nZWQgYnkgbWFraW5nLCB1c2luZywgc2VsbGluZywgb2ZmZXJpbmcgZm9yCnNhbGUsIG9yIGltcG9ydGluZyB0aGUgUHJvZ3JhbSBvciBhbnkgcG9ydGlvbiBvZiBpdC4KCiAgMTEuIFBhdGVudHMuCgogIEEgImNvbnRyaWJ1dG9yIiBpcyBhIGNvcHlyaWdodCBob2xkZXIgd2hvIGF1dGhvcml6ZXMgdXNlIHVuZGVyIHRoaXMKTGljZW5zZSBvZiB0aGUgUHJvZ3JhbSBvciBhIHdvcmsgb24gd2hpY2ggdGhlIFByb2dyYW0gaXMgYmFzZWQuICBUaGUKd29yayB0aHVzIGxpY2Vuc2VkIGlzIGNhbGxlZCB0aGUgY29udHJpYnV0b3IncyAiY29udHJpYnV0b3IgdmVyc2lvbiIuCgogIEEgY29udHJpYnV0b3IncyAiZXNzZW50aWFsIHBhdGVudCBjbGFpbXMiIGFyZSBhbGwgcGF0ZW50IGNsYWltcwpvd25lZCBvciBjb250cm9sbGVkIGJ5IHRoZSBjb250cmlidXRvciwgd2hldGhlciBhbHJlYWR5IGFjcXVpcmVkIG9yCmhlcmVhZnRlciBhY3F1aXJlZCwgdGhhdCB3b3VsZCBiZSBpbmZyaW5nZWQgYnkgc29tZSBtYW5uZXIsIHBlcm1pdHRlZApieSB0aGlzIExpY2Vuc2UsIG9mIG1ha2luZywgdXNpbmcsIG9yIHNlbGxpbmcgaXRzIGNvbnRyaWJ1dG9yIHZlcnNpb24sCmJ1dCBkbyBub3QgaW5jbHVkZSBjbGFpbXMgdGhhdCB3b3VsZCBiZSBpbmZyaW5nZWQgb25seSBhcyBhCmNvbnNlcXVlbmNlIG9mIGZ1cnRoZXIgbW9kaWZpY2F0aW9uIG9mIHRoZSBjb250cmlidXRvciB2ZXJzaW9uLiAgRm9yCnB1cnBvc2VzIG9mIHRoaXMgZGVmaW5pdGlvbiwgImNvbnRyb2wiIGluY2x1ZGVzIHRoZSByaWdodCB0byBncmFudApwYXRlbnQgc3VibGljZW5zZXMgaW4gYSBtYW5uZXIgY29uc2lzdGVudCB3aXRoIHRoZSByZXF1aXJlbWVudHMgb2YKdGhpcyBMaWNlbnNlLgoKICBFYWNoIGNvbnRyaWJ1dG9yIGdyYW50cyB5b3UgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZQpwYXRlbnQgbGljZW5zZSB1bmRlciB0aGUgY29udHJpYnV0b3IncyBlc3NlbnRpYWwgcGF0ZW50IGNsYWltcywgdG8KbWFrZSwgdXNlLCBzZWxsLCBvZmZlciBmb3Igc2FsZSwgaW1wb3J0IGFuZCBvdGhlcndpc2UgcnVuLCBtb2RpZnkgYW5kCnByb3BhZ2F0ZSB0aGUgY29udGVudHMgb2YgaXRzIGNvbnRyaWJ1dG9yIHZlcnNpb24uCgogIEluIHRoZSBmb2xsb3dpbmcgdGhyZWUgcGFyYWdyYXBocywgYSAicGF0ZW50IGxpY2Vuc2UiIGlzIGFueSBleHByZXNzCmFncmVlbWVudCBvciBjb21taXRtZW50LCBob3dldmVyIGRlbm9taW5hdGVkLCBub3QgdG8gZW5mb3JjZSBhIHBhdGVudAooc3VjaCBhcyBhbiBleHByZXNzIHBlcm1pc3Npb24gdG8gcHJhY3RpY2UgYSBwYXRlbnQgb3IgY292ZW5hbnQgbm90IHRvCnN1ZSBmb3IgcGF0ZW50IGluZnJpbmdlbWVudCkuICBUbyAiZ3JhbnQiIHN1Y2ggYSBwYXRlbnQgbGljZW5zZSB0byBhCnBhcnR5IG1lYW5zIHRvIG1ha2Ugc3VjaCBhbiBhZ3JlZW1lbnQgb3IgY29tbWl0bWVudCBub3QgdG8gZW5mb3JjZSBhCnBhdGVudCBhZ2FpbnN0IHRoZSBwYXJ0eS4KCiAgSWYgeW91IGNvbnZleSBhIGNvdmVyZWQgd29yaywga25vd2luZ2x5IHJlbHlpbmcgb24gYSBwYXRlbnQgbGljZW5zZSwKYW5kIHRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBvZiB0aGUgd29yayBpcyBub3QgYXZhaWxhYmxlIGZvciBhbnlvbmUKdG8gY29weSwgZnJlZSBvZiBjaGFyZ2UgYW5kIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UsIHRocm91Z2ggYQpwdWJsaWNseSBhdmFpbGFibGUgbmV0d29yayBzZXJ2ZXIgb3Igb3RoZXIgcmVhZGlseSBhY2Nlc3NpYmxlIG1lYW5zLAp0aGVuIHlvdSBtdXN0IGVpdGhlciAoMSkgY2F1c2UgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIHRvIGJlIHNvCmF2YWlsYWJsZSwgb3IgKDIpIGFycmFuZ2UgdG8gZGVwcml2ZSB5b3Vyc2VsZiBvZiB0aGUgYmVuZWZpdCBvZiB0aGUKcGF0ZW50IGxpY2Vuc2UgZm9yIHRoaXMgcGFydGljdWxhciB3b3JrLCBvciAoMykgYXJyYW5nZSwgaW4gYSBtYW5uZXIKY29uc2lzdGVudCB3aXRoIHRoZSByZXF1aXJlbWVudHMgb2YgdGhpcyBMaWNlbnNlLCB0byBleHRlbmQgdGhlIHBhdGVudApsaWNlbnNlIHRvIGRvd25zdHJlYW0gcmVjaXBpZW50cy4gICJLbm93aW5nbHkgcmVseWluZyIgbWVhbnMgeW91IGhhdmUKYWN0dWFsIGtub3dsZWRnZSB0aGF0LCBidXQgZm9yIHRoZSBwYXRlbnQgbGljZW5zZSwgeW91ciBjb252ZXlpbmcgdGhlCmNvdmVyZWQgd29yayBpbiBhIGNvdW50cnksIG9yIHlvdXIgcmVjaXBpZW50J3MgdXNlIG9mIHRoZSBjb3ZlcmVkIHdvcmsKaW4gYSBjb3VudHJ5LCB3b3VsZCBpbmZyaW5nZSBvbmUgb3IgbW9yZSBpZGVudGlmaWFibGUgcGF0ZW50cyBpbiB0aGF0CmNvdW50cnkgdGhhdCB5b3UgaGF2ZSByZWFzb24gdG8gYmVsaWV2ZSBhcmUgdmFsaWQuCgogIElmLCBwdXJzdWFudCB0byBvciBpbiBjb25uZWN0aW9uIHdpdGggYSBzaW5nbGUgdHJhbnNhY3Rpb24gb3IKYXJyYW5nZW1lbnQsIHlvdSBjb252ZXksIG9yIHByb3BhZ2F0ZSBieSBwcm9jdXJpbmcgY29udmV5YW5jZSBvZiwgYQpjb3ZlcmVkIHdvcmssIGFuZCBncmFudCBhIHBhdGVudCBsaWNlbnNlIHRvIHNvbWUgb2YgdGhlIHBhcnRpZXMKcmVjZWl2aW5nIHRoZSBjb3ZlcmVkIHdvcmsgYXV0aG9yaXppbmcgdGhlbSB0byB1c2UsIHByb3BhZ2F0ZSwgbW9kaWZ5Cm9yIGNvbnZleSBhIHNwZWNpZmljIGNvcHkgb2YgdGhlIGNvdmVyZWQgd29yaywgdGhlbiB0aGUgcGF0ZW50IGxpY2Vuc2UKeW91IGdyYW50IGlzIGF1dG9tYXRpY2FsbHkgZXh0ZW5kZWQgdG8gYWxsIHJlY2lwaWVudHMgb2YgdGhlIGNvdmVyZWQKd29yayBhbmQgd29ya3MgYmFzZWQgb24gaXQuCgogIEEgcGF0ZW50IGxpY2Vuc2UgaXMgImRpc2NyaW1pbmF0b3J5IiBpZiBpdCBkb2VzIG5vdCBpbmNsdWRlIHdpdGhpbgp0aGUgc2NvcGUgb2YgaXRzIGNvdmVyYWdlLCBwcm9oaWJpdHMgdGhlIGV4ZXJjaXNlIG9mLCBvciBpcwpjb25kaXRpb25lZCBvbiB0aGUgbm9uLWV4ZXJjaXNlIG9mIG9uZSBvciBtb3JlIG9mIHRoZSByaWdodHMgdGhhdCBhcmUKc3BlY2lmaWNhbGx5IGdyYW50ZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgWW91IG1heSBub3QgY29udmV5IGEgY292ZXJlZAp3b3JrIGlmIHlvdSBhcmUgYSBwYXJ0eSB0byBhbiBhcnJhbmdlbWVudCB3aXRoIGEgdGhpcmQgcGFydHkgdGhhdCBpcwppbiB0aGUgYnVzaW5lc3Mgb2YgZGlzdHJpYnV0aW5nIHNvZnR3YXJlLCB1bmRlciB3aGljaCB5b3UgbWFrZSBwYXltZW50CnRvIHRoZSB0aGlyZCBwYXJ0eSBiYXNlZCBvbiB0aGUgZXh0ZW50IG9mIHlvdXIgYWN0aXZpdHkgb2YgY29udmV5aW5nCnRoZSB3b3JrLCBhbmQgdW5kZXIgd2hpY2ggdGhlIHRoaXJkIHBhcnR5IGdyYW50cywgdG8gYW55IG9mIHRoZQpwYXJ0aWVzIHdobyB3b3VsZCByZWNlaXZlIHRoZSBjb3ZlcmVkIHdvcmsgZnJvbSB5b3UsIGEgZGlzY3JpbWluYXRvcnkKcGF0ZW50IGxpY2Vuc2UgKGEpIGluIGNvbm5lY3Rpb24gd2l0aCBjb3BpZXMgb2YgdGhlIGNvdmVyZWQgd29yawpjb252ZXllZCBieSB5b3UgKG9yIGNvcGllcyBtYWRlIGZyb20gdGhvc2UgY29waWVzKSwgb3IgKGIpIHByaW1hcmlseQpmb3IgYW5kIGluIGNvbm5lY3Rpb24gd2l0aCBzcGVjaWZpYyBwcm9kdWN0cyBvciBjb21waWxhdGlvbnMgdGhhdApjb250YWluIHRoZSBjb3ZlcmVkIHdvcmssIHVubGVzcyB5b3UgZW50ZXJlZCBpbnRvIHRoYXQgYXJyYW5nZW1lbnQsCm9yIHRoYXQgcGF0ZW50IGxpY2Vuc2Ugd2FzIGdyYW50ZWQsIHByaW9yIHRvIDI4IE1hcmNoIDIwMDcuCgogIE5vdGhpbmcgaW4gdGhpcyBMaWNlbnNlIHNoYWxsIGJlIGNvbnN0cnVlZCBhcyBleGNsdWRpbmcgb3IgbGltaXRpbmcKYW55IGltcGxpZWQgbGljZW5zZSBvciBvdGhlciBkZWZlbnNlcyB0byBpbmZyaW5nZW1lbnQgdGhhdCBtYXkKb3RoZXJ3aXNlIGJlIGF2YWlsYWJsZSB0byB5b3UgdW5kZXIgYXBwbGljYWJsZSBwYXRlbnQgbGF3LgoKICAxMi4gTm8gU3VycmVuZGVyIG9mIE90aGVycycgRnJlZWRvbS4KCiAgSWYgY29uZGl0aW9ucyBhcmUgaW1wb3NlZCBvbiB5b3UgKHdoZXRoZXIgYnkgY291cnQgb3JkZXIsIGFncmVlbWVudCBvcgpvdGhlcndpc2UpIHRoYXQgY29udHJhZGljdCB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UsIHRoZXkgZG8gbm90CmV4Y3VzZSB5b3UgZnJvbSB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UuICBJZiB5b3UgY2Fubm90IGNvbnZleSBhCmNvdmVyZWQgd29yayBzbyBhcyB0byBzYXRpc2Z5IHNpbXVsdGFuZW91c2x5IHlvdXIgb2JsaWdhdGlvbnMgdW5kZXIgdGhpcwpMaWNlbnNlIGFuZCBhbnkgb3RoZXIgcGVydGluZW50IG9ibGlnYXRpb25zLCB0aGVuIGFzIGEgY29uc2VxdWVuY2UgeW91IG1heQpub3QgY29udmV5IGl0IGF0IGFsbC4gIEZvciBleGFtcGxlLCBpZiB5b3UgYWdyZWUgdG8gdGVybXMgdGhhdCBvYmxpZ2F0ZSB5b3UKdG8gY29sbGVjdCBhIHJveWFsdHkgZm9yIGZ1cnRoZXIgY29udmV5aW5nIGZyb20gdGhvc2UgdG8gd2hvbSB5b3UgY29udmV5CnRoZSBQcm9ncmFtLCB0aGUgb25seSB3YXkgeW91IGNvdWxkIHNhdGlzZnkgYm90aCB0aG9zZSB0ZXJtcyBhbmQgdGhpcwpMaWNlbnNlIHdvdWxkIGJlIHRvIHJlZnJhaW4gZW50aXJlbHkgZnJvbSBjb252ZXlpbmcgdGhlIFByb2dyYW0uCgogIDEzLiBVc2Ugd2l0aCB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgoKICBOb3R3aXRoc3RhbmRpbmcgYW55IG90aGVyIHByb3Zpc2lvbiBvZiB0aGlzIExpY2Vuc2UsIHlvdSBoYXZlCnBlcm1pc3Npb24gdG8gbGluayBvciBjb21iaW5lIGFueSBjb3ZlcmVkIHdvcmsgd2l0aCBhIHdvcmsgbGljZW5zZWQKdW5kZXIgdmVyc2lvbiAzIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaW50byBhIHNpbmdsZQpjb21iaW5lZCB3b3JrLCBhbmQgdG8gY29udmV5IHRoZSByZXN1bHRpbmcgd29yay4gIFRoZSB0ZXJtcyBvZiB0aGlzCkxpY2Vuc2Ugd2lsbCBjb250aW51ZSB0byBhcHBseSB0byB0aGUgcGFydCB3aGljaCBpcyB0aGUgY292ZXJlZCB3b3JrLApidXQgdGhlIHNwZWNpYWwgcmVxdWlyZW1lbnRzIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsCnNlY3Rpb24gMTMsIGNvbmNlcm5pbmcgaW50ZXJhY3Rpb24gdGhyb3VnaCBhIG5ldHdvcmsgd2lsbCBhcHBseSB0byB0aGUKY29tYmluYXRpb24gYXMgc3VjaC4KCiAgMTQuIFJldmlzZWQgVmVyc2lvbnMgb2YgdGhpcyBMaWNlbnNlLgoKICBUaGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIG1heSBwdWJsaXNoIHJldmlzZWQgYW5kL29yIG5ldyB2ZXJzaW9ucyBvZgp0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZnJvbSB0aW1lIHRvIHRpbWUuICBTdWNoIG5ldyB2ZXJzaW9ucyB3aWxsCmJlIHNpbWlsYXIgaW4gc3Bpcml0IHRvIHRoZSBwcmVzZW50IHZlcnNpb24sIGJ1dCBtYXkgZGlmZmVyIGluIGRldGFpbCB0bwphZGRyZXNzIG5ldyBwcm9ibGVtcyBvciBjb25jZXJucy4KCiAgRWFjaCB2ZXJzaW9uIGlzIGdpdmVuIGEgZGlzdGluZ3Vpc2hpbmcgdmVyc2lvbiBudW1iZXIuICBJZiB0aGUKUHJvZ3JhbSBzcGVjaWZpZXMgdGhhdCBhIGNlcnRhaW4gbnVtYmVyZWQgdmVyc2lvbiBvZiB0aGUgR05VIEdlbmVyYWwKUHVibGljIExpY2Vuc2UgIm9yIGFueSBsYXRlciB2ZXJzaW9uIiBhcHBsaWVzIHRvIGl0LCB5b3UgaGF2ZSB0aGUKb3B0aW9uIG9mIGZvbGxvd2luZyB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgZWl0aGVyIG9mIHRoYXQgbnVtYmVyZWQKdmVyc2lvbiBvciBvZiBhbnkgbGF0ZXIgdmVyc2lvbiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUKRm91bmRhdGlvbi4gIElmIHRoZSBQcm9ncmFtIGRvZXMgbm90IHNwZWNpZnkgYSB2ZXJzaW9uIG51bWJlciBvZiB0aGUKR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIHlvdSBtYXkgY2hvb3NlIGFueSB2ZXJzaW9uIGV2ZXIgcHVibGlzaGVkCmJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCgogIElmIHRoZSBQcm9ncmFtIHNwZWNpZmllcyB0aGF0IGEgcHJveHkgY2FuIGRlY2lkZSB3aGljaCBmdXR1cmUKdmVyc2lvbnMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGNhbiBiZSB1c2VkLCB0aGF0IHByb3h5J3MKcHVibGljIHN0YXRlbWVudCBvZiBhY2NlcHRhbmNlIG9mIGEgdmVyc2lvbiBwZXJtYW5lbnRseSBhdXRob3JpemVzIHlvdQp0byBjaG9vc2UgdGhhdCB2ZXJzaW9uIGZvciB0aGUgUHJvZ3JhbS4KCiAgTGF0ZXIgbGljZW5zZSB2ZXJzaW9ucyBtYXkgZ2l2ZSB5b3UgYWRkaXRpb25hbCBvciBkaWZmZXJlbnQKcGVybWlzc2lvbnMuICBIb3dldmVyLCBubyBhZGRpdGlvbmFsIG9ibGlnYXRpb25zIGFyZSBpbXBvc2VkIG9uIGFueQphdXRob3Igb3IgY29weXJpZ2h0IGhvbGRlciBhcyBhIHJlc3VsdCBvZiB5b3VyIGNob29zaW5nIHRvIGZvbGxvdyBhCmxhdGVyIHZlcnNpb24uCgogIDE1LiBEaXNjbGFpbWVyIG9mIFdhcnJhbnR5LgoKICBUSEVSRSBJUyBOTyBXQVJSQU5UWSBGT1IgVEhFIFBST0dSQU0sIFRPIFRIRSBFWFRFTlQgUEVSTUlUVEVEIEJZCkFQUExJQ0FCTEUgTEFXLiAgRVhDRVBUIFdIRU4gT1RIRVJXSVNFIFNUQVRFRCBJTiBXUklUSU5HIFRIRSBDT1BZUklHSFQKSE9MREVSUyBBTkQvT1IgT1RIRVIgUEFSVElFUyBQUk9WSURFIFRIRSBQUk9HUkFNICJBUyBJUyIgV0lUSE9VVCBXQVJSQU5UWQpPRiBBTlkgS0lORCwgRUlUSEVSIEVYUFJFU1NFRCBPUiBJTVBMSUVELCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgpQVVJQT1NFLiAgVEhFIEVOVElSRSBSSVNLIEFTIFRPIFRIRSBRVUFMSVRZIEFORCBQRVJGT1JNQU5DRSBPRiBUSEUgUFJPR1JBTQpJUyBXSVRIIFlPVS4gIFNIT1VMRCBUSEUgUFJPR1JBTSBQUk9WRSBERUZFQ1RJVkUsIFlPVSBBU1NVTUUgVEhFIENPU1QgT0YKQUxMIE5FQ0VTU0FSWSBTRVJWSUNJTkcsIFJFUEFJUiBPUiBDT1JSRUNUSU9OLgoKICAxNi4gTGltaXRhdGlvbiBvZiBMaWFiaWxpdHkuCgogIElOIE5PIEVWRU5UIFVOTEVTUyBSRVFVSVJFRCBCWSBBUFBMSUNBQkxFIExBVyBPUiBBR1JFRUQgVE8gSU4gV1JJVElORwpXSUxMIEFOWSBDT1BZUklHSFQgSE9MREVSLCBPUiBBTlkgT1RIRVIgUEFSVFkgV0hPIE1PRElGSUVTIEFORC9PUiBDT05WRVlTClRIRSBQUk9HUkFNIEFTIFBFUk1JVFRFRCBBQk9WRSwgQkUgTElBQkxFIFRPIFlPVSBGT1IgREFNQUdFUywgSU5DTFVESU5HIEFOWQpHRU5FUkFMLCBTUEVDSUFMLCBJTkNJREVOVEFMIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBBUklTSU5HIE9VVCBPRiBUSEUKVVNFIE9SIElOQUJJTElUWSBUTyBVU0UgVEhFIFBST0dSQU0gKElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gTE9TUyBPRgpEQVRBIE9SIERBVEEgQkVJTkcgUkVOREVSRUQgSU5BQ0NVUkFURSBPUiBMT1NTRVMgU1VTVEFJTkVEIEJZIFlPVSBPUiBUSElSRApQQVJUSUVTIE9SIEEgRkFJTFVSRSBPRiBUSEUgUFJPR1JBTSBUTyBPUEVSQVRFIFdJVEggQU5ZIE9USEVSIFBST0dSQU1TKSwKRVZFTiBJRiBTVUNIIEhPTERFUiBPUiBPVEhFUiBQQVJUWSBIQVMgQkVFTiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgpTVUNIIERBTUFHRVMuCgogIDE3LiBJbnRlcnByZXRhdGlvbiBvZiBTZWN0aW9ucyAxNSBhbmQgMTYuCgogIElmIHRoZSBkaXNjbGFpbWVyIG9mIHdhcnJhbnR5IGFuZCBsaW1pdGF0aW9uIG9mIGxpYWJpbGl0eSBwcm92aWRlZAphYm92ZSBjYW5ub3QgYmUgZ2l2ZW4gbG9jYWwgbGVnYWwgZWZmZWN0IGFjY29yZGluZyB0byB0aGVpciB0ZXJtcywKcmV2aWV3aW5nIGNvdXJ0cyBzaGFsbCBhcHBseSBsb2NhbCBsYXcgdGhhdCBtb3N0IGNsb3NlbHkgYXBwcm94aW1hdGVzCmFuIGFic29sdXRlIHdhaXZlciBvZiBhbGwgY2l2aWwgbGlhYmlsaXR5IGluIGNvbm5lY3Rpb24gd2l0aCB0aGUKUHJvZ3JhbSwgdW5sZXNzIGEgd2FycmFudHkgb3IgYXNzdW1wdGlvbiBvZiBsaWFiaWxpdHkgYWNjb21wYW5pZXMgYQpjb3B5IG9mIHRoZSBQcm9ncmFtIGluIHJldHVybiBmb3IgYSBmZWUuCgogICAgICAgICAgICAgICAgICAgICBFTkQgT0YgVEVSTVMgQU5EIENPTkRJVElPTlMKCiAgICAgICAgICAgIEhvdyB0byBBcHBseSBUaGVzZSBUZXJtcyB0byBZb3VyIE5ldyBQcm9ncmFtcwoKICBJZiB5b3UgZGV2ZWxvcCBhIG5ldyBwcm9ncmFtLCBhbmQgeW91IHdhbnQgaXQgdG8gYmUgb2YgdGhlIGdyZWF0ZXN0CnBvc3NpYmxlIHVzZSB0byB0aGUgcHVibGljLCB0aGUgYmVzdCB3YXkgdG8gYWNoaWV2ZSB0aGlzIGlzIHRvIG1ha2UgaXQKZnJlZSBzb2Z0d2FyZSB3aGljaCBldmVyeW9uZSBjYW4gcmVkaXN0cmlidXRlIGFuZCBjaGFuZ2UgdW5kZXIgdGhlc2UgdGVybXMuCgogIFRvIGRvIHNvLCBhdHRhY2ggdGhlIGZvbGxvd2luZyBub3RpY2VzIHRvIHRoZSBwcm9ncmFtLiAgSXQgaXMgc2FmZXN0CnRvIGF0dGFjaCB0aGVtIHRvIHRoZSBzdGFydCBvZiBlYWNoIHNvdXJjZSBmaWxlIHRvIG1vc3QgZWZmZWN0aXZlbHkKc3RhdGUgdGhlIGV4Y2x1c2lvbiBvZiB3YXJyYW50eTsgYW5kIGVhY2ggZmlsZSBzaG91bGQgaGF2ZSBhdCBsZWFzdAp0aGUgImNvcHlyaWdodCIgbGluZSBhbmQgYSBwb2ludGVyIHRvIHdoZXJlIHRoZSBmdWxsIG5vdGljZSBpcyBmb3VuZC4KCiAgICA8b25lIGxpbmUgdG8gZ2l2ZSB0aGUgcHJvZ3JhbSdzIG5hbWUgYW5kIGEgYnJpZWYgaWRlYSBvZiB3aGF0IGl0IGRvZXMuPgogICAgQ29weXJpZ2h0IChDKSA8eWVhcj4gIDxuYW1lIG9mIGF1dGhvcj4KCiAgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCiAgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgoKICAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKICAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCgogICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgoKQWxzbyBhZGQgaW5mb3JtYXRpb24gb24gaG93IHRvIGNvbnRhY3QgeW91IGJ5IGVsZWN0cm9uaWMgYW5kIHBhcGVyIG1haWwuCgogIElmIHRoZSBwcm9ncmFtIGRvZXMgdGVybWluYWwgaW50ZXJhY3Rpb24sIG1ha2UgaXQgb3V0cHV0IGEgc2hvcnQKbm90aWNlIGxpa2UgdGhpcyB3aGVuIGl0IHN0YXJ0cyBpbiBhbiBpbnRlcmFjdGl2ZSBtb2RlOgoKICAgIDxwcm9ncmFtPiAgQ29weXJpZ2h0IChDKSA8eWVhcj4gIDxuYW1lIG9mIGF1dGhvcj4KICAgIFRoaXMgcHJvZ3JhbSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFk7IGZvciBkZXRhaWxzIHR5cGUgYHNob3cgdycuCiAgICBUaGlzIGlzIGZyZWUgc29mdHdhcmUsIGFuZCB5b3UgYXJlIHdlbGNvbWUgdG8gcmVkaXN0cmlidXRlIGl0CiAgICB1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnM7IHR5cGUgYHNob3cgYycgZm9yIGRldGFpbHMuCgpUaGUgaHlwb3RoZXRpY2FsIGNvbW1hbmRzIGBzaG93IHcnIGFuZCBgc2hvdyBjJyBzaG91bGQgc2hvdyB0aGUgYXBwcm9wcmlhdGUKcGFydHMgb2YgdGhlIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuICBPZiBjb3Vyc2UsIHlvdXIgcHJvZ3JhbSdzIGNvbW1hbmRzCm1pZ2h0IGJlIGRpZmZlcmVudDsgZm9yIGEgR1VJIGludGVyZmFjZSwgeW91IHdvdWxkIHVzZSBhbiAiYWJvdXQgYm94Ii4KCiAgWW91IHNob3VsZCBhbHNvIGdldCB5b3VyIGVtcGxveWVyIChpZiB5b3Ugd29yayBhcyBhIHByb2dyYW1tZXIpIG9yIHNjaG9vbCwKaWYgYW55LCB0byBzaWduIGEgImNvcHlyaWdodCBkaXNjbGFpbWVyIiBmb3IgdGhlIHByb2dyYW0sIGlmIG5lY2Vzc2FyeS4KRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gdGhpcywgYW5kIGhvdyB0byBhcHBseSBhbmQgZm9sbG93IHRoZSBHTlUgR1BMLCBzZWUKPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgoKICBUaGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZG9lcyBub3QgcGVybWl0IGluY29ycG9yYXRpbmcgeW91ciBwcm9ncmFtCmludG8gcHJvcHJpZXRhcnkgcHJvZ3JhbXMuICBJZiB5b3VyIHByb2dyYW0gaXMgYSBzdWJyb3V0aW5lIGxpYnJhcnksIHlvdQptYXkgY29uc2lkZXIgaXQgbW9yZSB1c2VmdWwgdG8gcGVybWl0IGxpbmtpbmcgcHJvcHJpZXRhcnkgYXBwbGljYXRpb25zIHdpdGgKdGhlIGxpYnJhcnkuICBJZiB0aGlzIGlzIHdoYXQgeW91IHdhbnQgdG8gZG8sIHVzZSB0aGUgR05VIExlc3NlciBHZW5lcmFsClB1YmxpYyBMaWNlbnNlIGluc3RlYWQgb2YgdGhpcyBMaWNlbnNlLiAgQnV0IGZpcnN0LCBwbGVhc2UgcmVhZAo8aHR0cDovL3d3dy5nbnUub3JnL3BoaWxvc29waHkvd2h5LW5vdC1sZ3BsLmh0bWw+Lgo=]]></data>
	</file>
	<file>
	  <filename>/function.admin_browseproptemplates_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHVXNlckRpcmVjdG9yeSAoYykgMjAwOSBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBicm93c2UKIyAgYW5kIHZpZXcgc3VtbWFyeSByZXBvcnRzIGFuZCBkZXRhaWwgcmVwb3J0cyBhYm91dCBncm91cHMgb2YgZnJvbnRlbmQKIyAgdXNlcnMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKJHNtYXJ0eS0+YXNzaWduKCdtc2cnLCR0aGlzLT5MYW5nKCdpbmZvX2Jyb3dzZXByb3BfdGVtcGxhdGVzX3RhYicpKTsKJHNtYXJ0eS0+YXNzaWduKCd0ZW1wbGF0ZWxpc3QnLAoJCSR0aGlzLT5TaG93VGVtcGxhdGVMaXN0KCRpZCwkcmV0dXJuaWQsJ2Jyb3dzZXByb3BfJywKCQkJCQlDR1VTRVJESVJfUFJFRl9ORVdCUk9XU0VQUk9QX1RFTVBMQVRFLAoJCQkJCSdicm93c2Vwcm9wdGVtcGxhdGVzJywKCQkJCQlDR1VTRVJESVJfUFJFRl9ERkxUQlJPV1NFUFJPUF9OQU1FLAoJCQkJCSR0aGlzLT5MYW5nKCdhZGRlZGl0X2Jyb3dzZXByb3BfdGVtcGxhdGUnKSwKCQkJCQkkdGhpcy0+TGFuZygnaW5mb19icm93c2Vwcm9wX3RlbXBsYXRlJykpKTsKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCd0ZW1wbGF0ZV90YWIudHBsJyk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/function.admin_browseproptemplates_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHVXNlckRpcmVjdG9yeSAoYykgMjAwOSBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBicm93c2UKIyAgYW5kIHZpZXcgc3VtbWFyeSByZXBvcnRzIGFuZCBkZXRhaWwgcmVwb3J0cyBhYm91dCBncm91cHMgb2YgZnJvbnRlbmQKIyAgdXNlcnMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKJHNtYXJ0eS0+YXNzaWduKCdtc2cnLCR0aGlzLT5MYW5nKCdpbmZvX3NlYXJjaGZvcm1fdGVtcGxhdGVzX3RhYicpKTsKJHNtYXJ0eS0+YXNzaWduKCd0ZW1wbGF0ZWxpc3QnLAoJCSR0aGlzLT5TaG93VGVtcGxhdGVMaXN0KCRpZCwkcmV0dXJuaWQsJ3NlYXJjaGZvcm1fJywKCQkJCQlDR1VTRVJESVJfUFJFRl9ORVdTRUFSQ0hGT1JNX1RFTVBMQVRFLAoJCQkJCSdzZWFyY2hmb3JtdGVtcGxhdGVzJywKCQkJCQlDR1VTRVJESVJfUFJFRl9ERkxUU0VBUkNIRk9STV9OQU1FLAoJCQkJCSR0aGlzLT5MYW5nKCdhZGRlZGl0X3NlYXJjaGZvcm1fdGVtcGxhdGUnKSwKCQkJCQkkdGhpcy0+TGFuZygnaW5mb19zZWFyY2hmb3JtX3RlbXBsYXRlJykpKTsKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCd0ZW1wbGF0ZV90YWIudHBsJyk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/function.admin_defaulttemplates_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHVXNlckRpcmVjdG9yeSAoYykgMjAwOSBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBicm93c2UKIyAgYW5kIHZpZXcgc3VtbWFyeSByZXBvcnRzIGFuZCBkZXRhaWwgcmVwb3J0cyBhYm91dCBncm91cHMgb2YgZnJvbnRlbmQKIyAgdXNlcnMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKIyBTeXN0ZW0gZGVmYXVsdCBkaXJlY3RvcnkgdmlldyB0ZW1wbGF0ZQplY2hvICR0aGlzLT5HZXREZWZhdWx0VGVtcGxhdGVGb3JtKCR0aGlzLCRpZCwkcmV0dXJuaWQsCgkJCQkgICBDR1VTRVJESVJfUFJFRl9ORVdESVJFQ1RPUllfVEVNUExBVEUsCgkJCQkgICAnZGVmYXVsdGFkbWluJywnZGVmYXVsdHRlbXBsYXRlcycsCgkJCQkgICAkdGhpcy0+TGFuZygnaW5mb19zeXNkZmx0X2RpcmVjdG9yeV90ZW1wbGF0ZScpLAoJCQkJICAgJ29yaWdfZGlyZWN0b3J5X3RlbXBsYXRlLnRwbCcsCgkJCQkgICAkdGhpcy0+TGFuZygnaW5mb19zeXNkZmx0X3RlbXBsYXRlJykpOwoKZWNobyAnPGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMC41ZW07IGhlaWdodDogMC41ZW07IGJvcmRlci10b3A6IDFweCBzb2xpZCAjMDAwOyB3aWR0aDogODAlOyI+PC9kaXY+Jy4iXG4iOwoKIyBTeXN0ZW0gZGVmYXVsdCBzdW1tYXJ5IHZpZXcgdGVtcGxhdGUKZWNobyAkdGhpcy0+R2V0RGVmYXVsdFRlbXBsYXRlRm9ybSgkdGhpcywkaWQsJHJldHVybmlkLAoJCQkJICAgQ0dVU0VSRElSX1BSRUZfTkVXU1VNTUFSWV9URU1QTEFURSwKCQkJCSAgICdkZWZhdWx0YWRtaW4nLCdkZWZhdWx0dGVtcGxhdGVzJywKCQkJCSAgICR0aGlzLT5MYW5nKCdpbmZvX3N5c2RmbHRfc3VtbWFyeV90ZW1wbGF0ZScpLAoJCQkJICAgJ29yaWdfc3VtbWFyeV90ZW1wbGF0ZS50cGwnLAoJCQkJICAgJHRoaXMtPkxhbmcoJ2luZm9fc3lzZGZsdF90ZW1wbGF0ZScpKTsKCmVjaG8gJzxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206IDAuNWVtOyBoZWlnaHQ6IDAuNWVtOyBib3JkZXItdG9wOiAxcHggc29saWQgIzAwMDsgd2lkdGg6IDgwJTsiPjwvZGl2PicuIlxuIjsKCiMgU3lzdGVtIGRlZmF1bHQgZGV0YWlsIHZpZXcgdGVtcGxhdGUKZWNobyAkdGhpcy0+R2V0RGVmYXVsdFRlbXBsYXRlRm9ybSgkdGhpcywkaWQsJHJldHVybmlkLAoJCQkJICAgQ0dVU0VSRElSX1BSRUZfTkVXREVUQUlMX1RFTVBMQVRFLAoJCQkJICAgJ2RlZmF1bHRhZG1pbicsJ2RlZmF1bHR0ZW1wbGF0ZXMnLAoJCQkJICAgJHRoaXMtPkxhbmcoJ2luZm9fc3lzZGZsdF9kZXRhaWxfdGVtcGxhdGUnKSwKCQkJCSAgICdvcmlnX2RldGFpbF90ZW1wbGF0ZS50cGwnLAoJCQkJICAgJHRoaXMtPkxhbmcoJ2luZm9fc3lzZGZsdF90ZW1wbGF0ZScpKTsKCmVjaG8gJzxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206IDAuNWVtOyBoZWlnaHQ6IDAuNWVtOyBib3JkZXItdG9wOiAxcHggc29saWQgIzAwMDsgd2lkdGg6IDgwJTsiPjwvZGl2PicuIlxuIjsKCiMgU3lzdGVtIGRlZmF1bHQgc2VhcmNoZm9ybSB2aWV3IHRlbXBsYXRlCmVjaG8gJHRoaXMtPkdldERlZmF1bHRUZW1wbGF0ZUZvcm0oJHRoaXMsJGlkLCRyZXR1cm5pZCwKCQkJCSAgIENHVVNFUkRJUl9QUkVGX05FV1NFQVJDSEZPUk1fVEVNUExBVEUsCgkJCQkgICAnZGVmYXVsdGFkbWluJywnZGVmYXVsdHRlbXBsYXRlcycsCgkJCQkgICAkdGhpcy0+TGFuZygnaW5mb19zeXNkZmx0X3NlYXJjaGZvcm1fdGVtcGxhdGUnKSwKCQkJCSAgICdvcmlnX3NlYXJjaGZvcm1fdGVtcGxhdGUudHBsJywKCQkJCSAgICR0aGlzLT5MYW5nKCdpbmZvX3N5c2RmbHRfdGVtcGxhdGUnKSk7CgoKZWNobyAnPGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMC41ZW07IGhlaWdodDogMC41ZW07IGJvcmRlci10b3A6IDFweCBzb2xpZCAjMDAwOyB3aWR0aDogODAlOyI+PC9kaXY+Jy4iXG4iOwoKIyBTeXN0ZW0gZGVmYXVsdCBicm93c2UgcHJvcGVydHkgdmlldyB0ZW1wbGF0ZQplY2hvICR0aGlzLT5HZXREZWZhdWx0VGVtcGxhdGVGb3JtKCR0aGlzLCRpZCwkcmV0dXJuaWQsCgkJCQkgICBDR1VTRVJESVJfUFJFRl9ORVdCUk9XU0VQUk9QX1RFTVBMQVRFLAoJCQkJICAgJ2RlZmF1bHRhZG1pbicsJ2RlZmF1bHR0ZW1wbGF0ZXMnLAoJCQkJICAgJHRoaXMtPkxhbmcoJ2luZm9fc3lzZGZsdF9icm93c2Vwcm9wX3RlbXBsYXRlJyksCgkJCQkgICAnb3JpZ19icm93c2Vwcm9wX3RlbXBsYXRlLnRwbCcsCgkJCQkgICAkdGhpcy0+TGFuZygnaW5mb19zeXNkZmx0X3RlbXBsYXRlJykpOwoKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_detailtemplates_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHVXNlckRpcmVjdG9yeSAoYykgMjAwOSBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBicm93c2UKIyAgYW5kIHZpZXcgc3VtbWFyeSByZXBvcnRzIGFuZCBkZXRhaWwgcmVwb3J0cyBhYm91dCBncm91cHMgb2YgZnJvbnRlbmQKIyAgdXNlcnMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKJHNtYXJ0eS0+YXNzaWduKCdtc2cnLCR0aGlzLT5MYW5nKCdpbmZvX2RldGFpbF90ZW1wbGF0ZXNfdGFiJykpOwokc21hcnR5LT5hc3NpZ24oJ3RlbXBsYXRlbGlzdCcsCgkJJHRoaXMtPlNob3dUZW1wbGF0ZUxpc3QoJGlkLCRyZXR1cm5pZCwnZGV0YWlsXycsCgkJCQkJQ0dVU0VSRElSX1BSRUZfTkVXREVUQUlMX1RFTVBMQVRFLAoJCQkJCSdkZXRhaWx0ZW1wbGF0ZXMnLAoJCQkJCUNHVVNFUkRJUl9QUkVGX0RGTFRERVRBSUxfTkFNRSwKCQkJCQkkdGhpcy0+TGFuZygnYWRkZWRpdF9kZXRhaWxfdGVtcGxhdGUnKSwKCQkJCQkkdGhpcy0+TGFuZygnaW5mb19kZXRhaWxfdGVtcGxhdGUnKSkpOwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ3RlbXBsYXRlX3RhYi50cGwnKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_directorytemplates_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHVXNlckRpcmVjdG9yeSAoYykgMjAwOSBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBicm93c2UKIyAgYW5kIHZpZXcgc3VtbWFyeSByZXBvcnRzIGFuZCBkZXRhaWwgcmVwb3J0cyBhYm91dCBncm91cHMgb2YgZnJvbnRlbmQKIyAgdXNlcnMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKJHNtYXJ0eS0+YXNzaWduKCdtc2cnLCR0aGlzLT5MYW5nKCdpbmZvX2RpcmVjdG9yeV90ZW1wbGF0ZXNfdGFiJykpOwokc21hcnR5LT5hc3NpZ24oJ3RlbXBsYXRlbGlzdCcsCgkJJHRoaXMtPlNob3dUZW1wbGF0ZUxpc3QoJGlkLCRyZXR1cm5pZCwnZGlyZWN0b3J5XycsCgkJCQkJQ0dVU0VSRElSX1BSRUZfTkVXRElSRUNUT1JZX1RFTVBMQVRFLAoJCQkJCSdkaXJlY3Rvcnl0ZW1wbGF0ZXMnLAoJCQkJCUNHVVNFUkRJUl9QUkVGX0RGTFRESVJFQ1RPUllfTkFNRSwKCQkJCQkkdGhpcy0+TGFuZygnYWRkZWRpdF9kaXJlY3RvcnlfdGVtcGxhdGUnKSwKCQkJCQkkdGhpcy0+TGFuZygnaW5mb19kaXJlY3RvcnlfdGVtcGxhdGUnKSkpOwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ3RlbXBsYXRlX3RhYi50cGwnKTsKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/function.admin_searchformtemplates_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHVXNlckRpcmVjdG9yeSAoYykgMjAwOSBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBicm93c2UKIyAgYW5kIHZpZXcgc3VtbWFyeSByZXBvcnRzIGFuZCBkZXRhaWwgcmVwb3J0cyBhYm91dCBncm91cHMgb2YgZnJvbnRlbmQKIyAgdXNlcnMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKJHNtYXJ0eS0+YXNzaWduKCdtc2cnLCR0aGlzLT5MYW5nKCdpbmZvX3NlYXJjaGZvcm1fdGVtcGxhdGVzX3RhYicpKTsKJHNtYXJ0eS0+YXNzaWduKCd0ZW1wbGF0ZWxpc3QnLAoJCSR0aGlzLT5TaG93VGVtcGxhdGVMaXN0KCRpZCwkcmV0dXJuaWQsJ3NlYXJjaGZvcm1fJywKCQkJCQlDR1VTRVJESVJfUFJFRl9ORVdTRUFSQ0hGT1JNX1RFTVBMQVRFLAoJCQkJCSdzZWFyY2hmb3JtdGVtcGxhdGVzJywKCQkJCQlDR1VTRVJESVJfUFJFRl9ERkxUU0VBUkNIRk9STV9OQU1FLAoJCQkJCSR0aGlzLT5MYW5nKCdhZGRlZGl0X3NlYXJjaGZvcm1fdGVtcGxhdGUnKSwKCQkJCQkkdGhpcy0+TGFuZygnaW5mb19zZWFyY2hmb3JtX3RlbXBsYXRlJykpKTsKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCd0ZW1wbGF0ZV90YWIudHBsJyk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/function.admin_settings_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHVXNlckRpcmVjdG9yeSAoYykgMjAwOSBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBicm93c2UKIyAgYW5kIHZpZXcgc3VtbWFyeSByZXBvcnRzIGFuZCBkZXRhaWwgcmVwb3J0cyBhYm91dCBncm91cHMgb2YgZnJvbnRlbmQKIyAgdXNlcnMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/function.admin_summarytemplates_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHVXNlckRpcmVjdG9yeSAoYykgMjAwOSBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBicm93c2UKIyAgYW5kIHZpZXcgc3VtbWFyeSByZXBvcnRzIGFuZCBkZXRhaWwgcmVwb3J0cyBhYm91dCBncm91cHMgb2YgZnJvbnRlbmQKIyAgdXNlcnMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKJHNtYXJ0eS0+YXNzaWduKCdtc2cnLCR0aGlzLT5MYW5nKCdpbmZvX3N1bW1hcnlfdGVtcGxhdGVzX3RhYicpKTsKJHNtYXJ0eS0+YXNzaWduKCd0ZW1wbGF0ZWxpc3QnLAoJCSR0aGlzLT5TaG93VGVtcGxhdGVMaXN0KCRpZCwkcmV0dXJuaWQsJ3N1bW1hcnlfJywKCQkJCQlDR1VTRVJESVJfUFJFRl9ORVdTVU1NQVJZX1RFTVBMQVRFLAoJCQkJCSdzdW1tYXJ5dGVtcGxhdGVzJywKCQkJCQlDR1VTRVJESVJfUFJFRl9ERkxUU1VNTUFSWV9OQU1FLAoJCQkJCSR0aGlzLT5MYW5nKCdhZGRlZGl0X3N1bW1hcnlfdGVtcGxhdGUnKSwKCQkJCQkkdGhpcy0+TGFuZygnaW5mb19zdW1tYXJ5X3RlbXBsYXRlJykpKTsKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCd0ZW1wbGF0ZV90YWIudHBsJyk7CiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0EKJGxhbmdbJ2FkZGVkaXRfYnJvd3NlcHJvcF90ZW1wbGF0ZSddID0gJ0FkZC9FZGl0IEJyb3dzZSBQcm9wZXJ0eSBUZW1wbGF0ZSc7CiRsYW5nWydhZGRlZGl0X2RldGFpbF90ZW1wbGF0ZSddID0gJ0FkZC9FZGl0IERldGFpbCBUZW1wbGF0ZSc7CiRsYW5nWydhZGRlZGl0X2RpcmVjdG9yeV90ZW1wbGF0ZSddID0gJ0FkZC9FZGl0IERpcmVjdG9yeSBUZW1wbGF0ZSc7CiRsYW5nWydhZGRlZGl0X3NlYXJjaGZvcm1fdGVtcGxhdGUnXSA9ICdBZGQvRWRpdCBTZWFyY2ggRm9ybSBUZW1wbGF0ZSc7CiRsYW5nWydhZGRlZGl0X3N1bW1hcnlfdGVtcGxhdGUnXSA9ICdBZGQvRWRpdCBTdW1tYXJ5IFRlbXBsYXRlJzsKJGxhbmdbJ2FueSddID0gJ0FueSc7CiRsYW5nWydhc2tfcmVhbGx5X3VuaW5zdGFsbCddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkbyB0aGlzPyAgQ29udGludWluZyB3aWxsIHBlcm1hbmVudGx5IGRlbGV0ZSBhbGwgZGF0YSBhc3NvY2lhdGVkIHdpdGggdGhpcyBtb2R1bGUnOwoKI0IKCgojQwokbGFuZ1snY2hhbmdlbG9nJ10gPSA8PDxFT1QKPHVsPgo8bGk+VmVyc2lvbiAxLjAgLSBKYW51YXJ5LCAyMDA5CiAgPHA+SW5pdGlhbCBSZWxlYXNlPC9wPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjEKICA8cD5BZGRzIHNlYXJjaCBhbmQgYnJvd3NlIGNhcGFiaWxpdGllcy48L3A+CjwvbGk+CjxsaT5WZXJzaW9uIDEuMS4xIC0gU2VwdGVtYmVyLCAyMDA5CiAgPHA+QWRkcyBzb3J0aW5nIGluIHRoZSBicm93c2UgYWN0aW9uLjwvcD4KPC9saT4KPC91bD4KRU9UOwokbGFuZ1snY3JlYXRlZCddID0gJ0NyZWF0ZWQnOwoKI0QKCgojRQokbGFuZ1snZXJyb3JfaW52YWxpZGdyb3VwJ10gPSAnSW52YWxpZCBncm91cCc7CiRsYW5nWydlcnJvcl9pbnZhbGlkc29ydGZpZWxkJ10gPSAnSW52YWxpZCBzb3J0IGZpZWxkOiAlcyc7CiRsYW5nWydlcnJvcl9taXNzaW5ncGFyYW0nXSA9ICdJbnN1ZmZpY2llbnQgUGFyYW1ldGVycyc7CiRsYW5nWydlcnJvcl9ub2ZldSddID0gJ1RoZSBGcm9udGVuZCBVc2VycyBtb2R1bGUgY291bGQgbm90IGJlIGZvdW5kJzsKJGxhbmdbJ2Vycm9yX3VzZXJub3Rmb3VuZCddID0gJ1RoZSB1c2VyIHdpdGggdGhlIHNwZWNpZmllZCBpZCBjb3VsZCBub3QgYmUgZm91bmQnOwokbGFuZ1snZXhwaXJlcyddID0gJ0V4cGlyZXMnOwoKI0YKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0NhbGd1eXMgVXNlciBEaXJlY3RvcnknOwoKI0cKJGxhbmdbJ2dyb3VwcyddID0gJ0dyb3Vwcyc7CgojSAokbGFuZ1snaGVscCddID0gPDw8RU9UCjxoMz5XaGF0IGRvZXMgdGhpcyBkbz88L2gzPgogIDxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIHRoZSBhYmlsaXR5IGZvciBnZW5lcmF0aW5nIGEgZGlyZWN0b3J5IG9mIHVzZXJzIGZyb20gdGhlIEZFVSBtb2R1bGUsIGZvciBnZW5lcmF0aW5nIGEgc3VtbWFyeSB2aWV3IG9mIHVzZXJzIG1hdGNoaW5nIHNwZWNpZmllZCBjcml0ZXJpYSwgYW5kIGZvciBkaXNwbGF5aW5nIGEgZGV0YWlsIHJlcG9ydCBvZiBhIHNwZWNpZmljIHVzZXIuICBJdCBjYW4gYmUgdXNlZCBmb3IgZ2VuZXJhdGluZyBwcm9maWxlIHBhZ2VzIGZvciB5b3VyIHVzZXJzLCBvciBhIHN0YWZmIGRpcmVjdG9yeS48L3A+CjxoMz5GZWF0dXJlczo8L2gzPgo8dWw+CiAgPGxpPkNvbXBsZXRlIHRlbXBsYXRlIGNvbnRyb2wKPHA+QWxsIGRpc3BsYXlzIGFyZSBjb21wbGV0ZWx5IGNvbmZpZ3VyYWJsZSBieSB0ZW1wbGF0ZXMgYWxsb3dpbmcgZm9yIGphdmFzY3JpcHQsIGFqYXgsIG9yIGFueSBvdGhlciBmYW5jeSBkaXNwbGF5cy4gIFN0eWxpbmcgaXMgY29tcGxldGVseSBjb250cm9sbGFibGUgYnkgdGhlIHdlYnNpdGUgZGV2ZWxvcGVyLjwvcD4KICA8L2xpPgogIDxsaT5NdWx0aXBsZSBkYXRhYmFzZSB0ZW1wbGF0ZXMuCjxwPllvdSBjYW4gY29uZmlndXJlIG11bHRpcGxlIGRpZmZlcmVudCB2aWV3cyBmb3IgZWFjaCBkaXNwbGF5LCBhbmQgdXNlIHRoZW0gdW5kZXIgZGlmZmVyZW50IHNpdHVhdGlvbnMuPC9wPgogIDwvbGk+CjxsaT5GaWx0ZXIgc3VtbWFyeSB2aWV3cyBvbiB1c2VyIHByb3BlcnRpZXMuCiAgIDxwPllvdSBjYW4gZmlsdGVyIHRoZSBvdXRwdXQgZm9yIHRoZSBzdW1tYXJ5IHZpZXcgYmFzZWQgb24gdGhlIHZhbHVlIG9mIGEgc3BlY2lmaWMgdXNlciBwcm9wZXJ0eSBmcm9tIHRoZSBGRVUgbW9kdWxlLiAgVGhpcyBhbHNvIGluY2x1ZGVzICZxdW90O0xJS0UmcXVvdDsgYmFzZWQgY3JpdGVyYS4KICA8L2xpPgogIDxsaT5Tb3J0aW5nIG9uIG11bHRpcGxlIGRpZmZlcmVudCBjcml0ZXJpYS48L2xpPgogIDxsaT5TdXBwb3J0cyBTRU8gZnJpZW5kbHkgVVJMUzwvbGk+CjwvdWw+CjxoMz5Ib3cgZG8gSSB1c2UgaXQ/PC9oMz4KPHA+VGhlIHNpbXBsZXN0IHdheSB0byB1c2UgdGhpcyBtb2R1bGUgaXMgdG8gcGxhY2UgYSB0YWcgbGlrZSB0aGlzIGludG8geW91ciBwYWdlIHRlbXBsYXRlLCBvciBwYWdlIGNvbnRlbnQgPGNvZGU+e0NHVXNlckRpcmVjdG9yeX08L2NvZGU+LiAgVG8gZXhwYW5kIG9uIHRoaXMgZnVuY3Rpb25hbGl0eSwgb3IgdG8gZGlzcGxheSBhIHN1YnNldCBvZiB5b3VyIHVzZXJzLCBzZWUgdGhlIHBhcmFtZXRlcnMgYmVsb3cuPC9wPgo8aDM+RXhhbXBsZXM6PC9oMz4KPHVsPgo8bGk+RGlzcGxheSBhIGRpcmVjdG9yeSBvZiBhbGwgdXNlcnM6CjxwPjxjb2RlPntDR1VzZXJEaXJlY3RvcnkgYWN0aW9uPSZxdW90O2RpcmVjdG9yeSZxdW90O308L2NvZGU+PC9wPgo8L2xpPgo8bGk+RGlzcGxheSBhIGRpcmVjdG9yeSBvZiBhbGwgdXNlcnMgb3JnYW5pemVkIGJ5IGNpdHk6CjxwPjxjb2RlPntDR1VzZXJEaXJlY3RvcnkgYWN0aW9uPSZxdW90O2RpcmVjdG9yeSZxdW90OyBwcm9wPSZxdW90O2NpdHkmcXVvdDt9PC9jb2RlPjwvcD4KPC9saT4KPGxpPkRpc3BsYXkgYSBzdW1tYXJ5IGxpc3Qgb2YgYWxsIHVzZXJzIGluIHRoZSAmcXVvdDttZW1iZXJzJnF1b3Q7IGdyb3VwOgo8cD48Y29kZT57Q0dVc2VyRGlyZWN0b3J5IGdyb3VwPSZxdW90O21lbWJlcnMmcXVvdDt9PC9jb2RlPjwvcD4KPC9saT4KPGxpPkRpc3BsYXkgYSBzdW1tYXJ5IGxpc3Qgb2YgYWxsIHVzZXJzIGluIHRoZSBjaXR5IG9mIGNhbGdhcnk6CjxwPjxjb2RlPntDR1VzZXJEaXJlY3RvcnkgcHJvcD0mcXVvdDtjaXR5JnF1b3Q7IHByb3B2YWw9JnF1b3Q7Y2FsZ2FyeSZxdW90O308L2NvZGU+PC9wPgo8L2xpPgo8bGk+RGlzcGxheSBhIHN1bW1hcnkgbGlzdCBvZiBhbGwgdXNlcnMgZnJvbSBjb3VudHJpZXMgdGhhdCBiZWdpbiB3aXRoIEM6CjxwPjxjb2RlPntDR1VzZXJEaXJlY3RvcnkgcHJvcD0mcXVvdDtjaXR5JnF1b3Q7IHVzZWxpa2U9MSBwcm9wdmFsPSZxdW90O2MlJnF1b3Q7fTwvY29kZT48L3A+CjwvbGk+Cgo8L3VsPgoKPGgzPk5vdGVzIGFib3V0IHByZXR0eSBVUkxTPC9oMz4KPHA+JnF1b3Q7UHJldHR5JnF1b3Q7IG9yIFNFTyBmcmllbmRseSBVUkxTIGxpbWl0cyB0aGUgZmxleGliaWxpdHkgb2YgdGhpcyBtb2R1bGUsIGFuZCB0aGUgcGFyYW1ldGVycyB0aGF0IGNhbiBiZSBzcGVjaWZpZWQgb24gdGhlIHRhZy4gUGFydGljdWxhcmx5IHRob3NlIHRoYXQgY2FuIGJlIHBhc3NlZCBvbiB0byBzdWJzZXF1ZW50IHZpZXdzLiAgRm9yIHRoaXMgcmVhc29uLCB0aGUgZGlyZWN0b3J5IHZpZXcgZG9lcyBub3QgZ2VuZXJhdGUgcHJldHR5IHVybHMgdG8gdGhlIHN1YnNlcXVlbnQgc3VtbWFyeSBsaW5rcy4gIFRoaXMgYWxsb3dzIHBhcmFtZXRlcnMgbGlrZSBkZXRhaWxwYWdlLCBkZXRhaWx0ZW1wbGF0ZSwgYW5kIHN1bW1hcnl0ZW1wbGF0ZSB0byBiZSBwYXNzZWQgaW4gdGhlIHRhZyB0byB0aGUgZGlyZWN0b3J5IHZpZXcgYW5kIHRvIGhhdmUgdGhvc2UgcGFyYW1ldGVycyBwYXNzZWQgZG93biB0byB0aGUgc3Vic2VxdWVudCBzdW1tYXJ5IGRldGFpbCB2aWV3cy48L3A+CjwvcD4KPGgzPlN1cHBvcnQ8L2gzPgo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+Cjx1bD4KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCB0aGUgY21zIGRldmVsb3BtZW50IGZvcmdlIGF0IDxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmciPmRldi5jbXNtYWRlc2ltcGxlLm9yZzwvYT4uPC9saT4KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPgo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCBhbGwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yKHMpIGRpcmVjdGx5LjwvbGk+ICAKPC91bD4KCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPgo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDgsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnIj4mbHQ7Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyZndDs8L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+CjxwPlRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cml0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CnRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCihhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uPC9wPgo8cD5Ib3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCmluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIApzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLjwvcD4KPHA+VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCmJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCk1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKT3IgcmVhZCBpdCA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPm9ubGluZTwvYT48L3A+CkVPVDsKJGxhbmdbJ2hlbHBfcGFyYW1fYWN0aW9uJ10gPSAnVGhpcyBwYXJhbWV0ZXIgY29udHJvbHMgdGhlIGJlaGF2aW91ciBvZiB0aGUgbW9kdWxlLiAgVGhlcmUgYXJlIHRocmVlIHBvc3NpYmxlIHZhbHVlczoKPHVsPgogIDxsaT5icm93c2UgIC0gRGlzcGxheSBhIG5hdmlnYXRpb24gb2YgcHJvcGVydHkgdmFsdWVzLCBhbmQgYWxsb3cgZHJpbGxpbmcgZG93biB0byBtYXRjaGluZyBzdW1tYXJ5IHZpZXdzLjwvbGk+CiAgPGxpPmRlZmF1bHQgLSBEaXNwbGF5cyBhIHN1bW1hcnkgdmlldyBvZiB1c2VycyB0aGF0IG1hdGNoIHRoZSBzcGVjaWZpZWQgY3JpdGVyaWEsIG9yIGFsbCB1c2VycyBpZiBubyBjcml0aWVyaWEgaXMgc3BlY2lmaWVkLjwvbGk+CiAgPGxpPmRpcmVjdG9yeSAtIERpc3BsYXlzIGFuIGFscGhhYmV0aWNhbCBkaXJlY3Rvcnkgb2YgbGlua3MgdG8gc3VtbWFyeSB2aWV3cyB0byB1c2VycyB0aGF0IG1hdGNoIHRoZSBzcGVjaWZpZWQgY3JpdGVyaWEuICBJdCBpcyBwb3NzaWJsZSB0byBjcmVhdGUgZGlyZWN0b3J5IHZpZXdzIG9uIHVzZXJuYW1lLCBvciBvbiBhbnkgb3RoZXIgcGFyYW1ldGVyPC9saT4KICA8bGk+ZGV0YWlsIC0gRGlzcGxheXMgYSBkZXRhaWwgcmVwb3J0IGFib3V0IGEgc3BlY2lmaWMgdXNlci48L2xpPgogIDxsaT5zZWFyY2ggLSBEaXNwbGF5cyBhIHNlYXJjaCBmb3JtLjwvbGk+CjwvdWw+JzsKJGxhbmdbJ2hlbHBfcGFyYW1fYnJvd3NlcHJvcHRlbXBsYXRlJ10gPSAnVGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBub24gZGVmYXVsdCBicm93c2UgcHJvcGVydHkgdGVtcGxhdGUgbmFtZSB0byB1c2UgZm9yIGEgcHJvcGVydHkgYnJvd3Npbmcgdmlldyc7CiRsYW5nWydoZWxwX3BhcmFtX2dyb3VwJ10gPSAnVXNlZCB3aXRoIHRoZSBkZWZhdWx0IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc2hvdWxkIGNvbnRhaW4gdGhlIG5hbWUgb2YgYW4gRkVVIHVzZXIgZ3JvdXAsIGFuZCB3aWxsIGxpbWl0IHRoZSBvdXRwdXQgdG8gbWVtYmVycyBvZiB0aGF0IGdyb3VwJzsKJGxhbmdbJ2hlbHBfcGFyYW1fZ2lkJ10gPSAnVXNlZCB3aXRoIHRoZSBkZWZhdWx0IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc2hvdWxkIGNvbnRhaW4gdGhlIGlkIG9mIGFuIEZFVSB1c2VyIGdyb3VwLCBhbmQgd2lsbCBsaW1pdCB0aGUgb3V0cHV0IHRvIG1lbWJlcnMgb2YgdGhhdCBncm91cC4gIFRoaXMgcGFyYW1ldGVyIGNhbm5vdCBiZSB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlIGdyb3VwIHBhcmFtZXRlci4nOwokbGFuZ1snaGVscF9wYXJhbV9zaG93ZXhwaXJlZCddID0gJ0J5IGRlZmF1bHQsIHRoZSBzeXN0ZW0gd2lsbCBleGNsdWRlIGV4cGlyZWQgdXNlcnMgZnJvbSBhbnkgZ2VuZXJhdGVkIHJlcG9ydC4gIFNldHRpbmcgdGhpcyBwYXJhbWV0ZXIgdG8gMSB3aWxsIGluY2x1ZGUgdGhlc2UgdXNlcnMuJzsKJGxhbmdbJ2hlbHBfcGFyYW1fc29ydGJ5J10gPSAnVXNlZCBmb3IgdGhlIGRlZmF1bHQgYW5kIGJyb3dzZSBhY3Rpb25zLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIHNvcnRpbmcgb2YgdGhlIGdlbmVyYXRlZCBvdXRwdXQuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOgo8dWw+CiA8bGk+aWQgLSBUaGUgdXNlcnMgaWQgKGRlZmF1bHQgdmlldyBvbmx5KTwvbGk+CiA8bGk+dXNlcm5hbWUgLSBUaGUgdXNlcnMgdXNlcm5hbWUgKGRlZmF1bHQgdmlldyBvbmx5KTwvbGk+CiA8bGk+Y3JlYXRlZGF0ZSAtIFRoZSBkYXRlIGF0IHdoaWNoIHRoZSB1c2VyIGFjY291bnQgd2FzIGNyZWF0ZWQuIChkZWZhdWx0IHZpZXcgb25seSk8L2xpPgogPGxpPmV4cGlyZXMgLSBUaGUgZGF0ZSBhdCB3aGljaCB0aGUgdXNlciBhY2NvdW50IHdpbGwgZXhwaXJlIChvciBkaWQgZXhwaXJlKS4gKGRlZmF1bHQgdmlldyBvbmx5KTwvbGk+CiA8bGk+YWN0aXZpdHkgLSBUaGUgZGF0ZSBhdCB3aGljaCB0aGUgdXNlciBhY2NvdW50IHdhcyBsYXN0IGxvZ2dlZCBpbiBvciBsb2dnZWQgb3V0LiAoZGVmYXVsdCB2aWV3IG9ubHkpPC9saT4KIDxsaT5uYW1lIC0gVGhlIHZhbHVlIG9mIHRoZSBwcm9wZXJ0eSB0aGF0IGlzIGJlaW5nIGJyb3dzZWQuIChicm93c2UgYWN0aW9uIG9ubHkpPC9saT4KIDxsaT5jb3VudCAtIFRoZSBudW1iZXIgdXNlcnMgdGhhdCBoYXZlIHRoYXQgcHJvcGVydHkgdmFsdWUuIChicm93c2UgYWN0aW9uIG9ubHkpPC9saT4KPC91bD4nOwokbGFuZ1snaGVscF9wYXJhbV9zb3J0b3JkZXInXSA9ICdVc2VkIGZvciB0aGUgZGVmYXVsdCBhbmQgYnJvd3NlIGFjdGlvbnMsIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgc29ydCBvcmRlciBvZiB0aGUgZ2VuZXJhdGVkIG91dHB1dC4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6Cjx1bD4KICA8bGk+QVNDIC0gQXNjZW5kaW5nIG9yZGVyPC9saT4KICA8bGk+REVTQyAtIERlc2NlbmRpbmcgb3JkZXI8L2xpPgo8L3VsPic7CiRsYW5nWydoZWxwX3BhcmFtX3BhZ2VsaW1pdCddID0gJ1VzZWQgZm9yIHRoZSBkZWZhdWx0IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBiZSByZXR1cm5lZC4nOwokbGFuZ1snaGVscF9wYXJhbV9wcm9wJ10gPSAnVXNlZCBmb3IgdGhlIGRlZmF1bHQsYnJvd3NlIGFuZCBkaXJlY3RvcnkgYWN0aW9ucywgdGhpcyBwYXJhbWV0ZXIgYmVoYXZlcyBpbiB0d28gZGlmZmVyZW50IHdheXMgZGVwZW5kaW5nIHVwb24gdGhlIGFjdGlvbjoKPHVsPgogIDxsaT5UaGUgZGVmYXVsdCAoc3VtbWFyeSkgYWN0aW9uCiAgICA8cD5JbiB0aGUgZGVmYXVsdCAoc3VtbWFyeSkgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IGEgcHJvcGVydHkgdG8gZmlsdGVyIHRoZSByZXN1bHRzIGJ5LiAgSXQgd29ya3MgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgcHJvcHZhbCBwYXJhbWV0ZXIgYmVsb3cuPC9wPgogIDwvbGk+CiAgPGxpPlRoZSBicm93c2UgYWN0aW9uCiAgICA8cD5JbiB0aGUgYnJvd3NlIGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSBhbiBGRVUgcHJvcGVydHkgdG8gYnJvd3NlPC9wPgogIDwvbGk+CiAgPGxpPlRoZSBkaXJlY3RvcnkgYWN0aW9uLgogICAgPHA+SW4gdGhlIGRpcmVjdG9yeSBhY3Rpb24sIHRoaXMgYXByYW1ldGVyIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgYSBwcm9wZXJ0eSB0byBnZW5lcmF0ZSBhIGRpcmVjdG9yeSBmcm9tLiAgIFRoZSBkZWZhdWx0IHZhbHVlIGluIHRoZSBkaXJlY3RvcnkgYWN0aW9uIGlzICZxdW90O3VzZXJuYW1lJnF1b3RlOzwvcD4KICA8L2xpPgo8L3VsPic7CiRsYW5nWydoZWxwX3BhcmFtX3Byb3B2YWwnXSA9ICdVc2VkIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlICZxdW90O3Byb3AmcXVvdDsgcGFyYW1ldGVyIGZvciB0aGUgZGVmYXVsdCAoc3VtbWFyeSkgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIHZhbHVlIG9uIHdoaWNoIHRvIGZpbHRlciB1c2VycyBieS4nOwokbGFuZ1snaGVscF9wYXJhbV91c2VsaWtlJ10gPSAnVXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSAmcXVvdDtwcm9wJnF1b3QgYW5kICZxdW90O3Byb3B2YWwmcXVvdDsgcGFyYW1ldGVycywgdGhpcyBwYXJhbWV0ZXIsIGlmIHNldCB0byBhIHBvc2l0aXZlIGludGVnZXIgdmFsdWUgaW5kaWNhdGVzIHRoYXQgdGhlIHByb3B2YWwgcGFyYW1ldGVyIGNvbnRhaW5zIGEgTElLRSBleHByZXNzaW9uJzsKJGxhbmdbJ2hlbHBfcGFyYW1fZGV0YWlscGFnZSddID0gJ1RoaXMgcGFyYW1ldGVyLCBpZiBzcGVjaWZpZWQsIHNob3VsZCBjb250YWluIHRoZSBwYWdlaWQgb3IgYWxpYXMgb2YgYSBDTVMgY29udGVudCBwYWdlIG9uIHdoaWNoIHlvdSB3b3VsZCBsaWtlIHRvIHNob3cgYW55IGRldGFpbCByZXBvcnQnOwokbGFuZ1snaGVscF9wYXJhbV9zdW1tYXJ5dGVtcGxhdGUnXSA9ICdUaGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IHN1bW1hcnkgdGVtcGxhdGUgbmFtZSB0byB1c2UgZm9yIHN1bW1hcnkgZGlzcGxheXMnOwokbGFuZ1snaGVscF9wYXJhbV9kZXRhaWx0ZW1wbGF0ZSddID0gJ1RoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgZGV0YWlsIHRlbXBsYXRlIG5hbWUgdG8gdXNlIGZvciBkZXRhaWwgZGlzcGxheXMnOwokbGFuZ1snaGVscF9wYXJhbV9kaXJlY3Rvcnl0ZW1wbGF0ZSddID0gJ1RoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgZGlyZWN0b3J5IHRlbXBsYXRlIG5hbWUgdG8gdXNlIHdpdGggZGlyZWN0b3J5IGRpc3BsYXlzJzsKJGxhbmdbJ2hlbHBfcGFyYW1fc2VhcmNoZm9ybXRlbXBsYXRlJ10gPSAnVGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBub24gZGVmYXVsdCBzZWFyY2ggdGVtcGxhdGUgbmFtZSB0byB1c2UgaW4gc2VhcmNoIGZvcm1zJzsKJGxhbmdbJ2hlbHBfcGFyYW1fc2VhcmNocHJvcGVydHknXSA9ICdUaGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIHNpbmdsZSBhZGRpdGlvbmFsIEZFVSBwcm9wZXJ0eSBuYW1lIHRvIHN1cHBseSBpbiB0aGUgc2VhcmNoIGZvcm0nOwokbGFuZ1snaGVscF9wYXJhbV91aWQnXSA9ICdVc2VkIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlIGRldGFpbCBkaXNwbGF5LCB0aGlzIHBhcmFtZXRlciBtdXN0IGNvbnRhaW4gdGhlIHVpZCBvZiBhIHZhbGlkIGZyb250ZW5kIHVzZXIgYWNjb3VudCc7CgojSQokbGFuZ1snaW5mb19icm93c2Vwcm9wX3RlbXBsYXRlJ10gPSAnQnJvd3NlIFByb3BlcnR5IHRlbXBsYXRlcyBkaXNwbGF5IEEgbGlzdCBvZiB1bmlxdWUgdmFsdWVzIGZvciB0aGUgc3BlY2lmaWVkIHByb3BlcnR5LiAgRWFjaCBpdGVtIGluIHRoZSBsaXN0IGlzIGEgbGluayB0byBhIHN1bW1hcnkgdmlldyBjb250YWluaW5nIHRoZSBtYXRjaGluZyB1c2VycyB0aGF0IG1hdGNoIHRoYXQgcHJvcGVydHkgdmFsdWUuICBZb3UgbWF5IHVzZSBhbnkgc21hcnR5IGxvZ2ljIG9yIHZhcmlhYmxlcyB0aGF0IGhhdmUgYmVlbiBjcmVhdGVkIHByZXZpb3VzbHksIG9yIHRoZSBvbmVzIG1hZGUgYXZhaWxhYmlsaXR5IHNwZWNpZmljYWxseSBmb3IgdGhpcyB2aWV3Lic7CiRsYW5nWydpbmZvX2Jyb3dzZXByb3BfdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIHRoZSBsaXN0IG9mIGF2YWlsYWJsZSBicm93c2UgcHJvcGVydHkgdmlldyB0ZW1wbGF0ZXMuICBPbmUgb2YgdGhlbSBpcyBtYXJrZWQgYXMgZGVmYXVsdC4gIFRoZSBkZWZhdWx0IG9uZSB3aWxsIGJlIHVzZWQgd2hlbiBubyBhbHRlcm5hdGUgdGVtcGxhdGUgbmFtZSBpcyBzdXBwbGllZCBvbiB0aGUgdGFnIHRoYXQgY2FsbHMgdGhpcyBtb2R1bGUnOwokbGFuZ1snaW5mb19kZXRhaWxfdGVtcGxhdGUnXSA9ICdEZXRhaWwgdGVtcGxhdGVzIGRpc3BsYXkgZGV0YWlsZWQgaW5mb3JtYXRpb24gYWJvdXQgYSBzcGVjaWZpYyBmcm9udGVuZCB1c2VyLiAgSGVyZSB5b3UgZGVzaWduIHRoZSB3YXkgaW4gd2hpY2ggeW91IHdhbnQgdGhhdCBpbmZvcm1hdGlvbiBsYWlkIG91dC4gIFlvdSBtYXkgdXNlIGFueSBzbWFydHkgbG9naWMgb3IgdmFyaWFibGVzIHRoYXQgaGF2ZSBiZWVuIGRlc2lnbmVkIHByZXZpb3VzbHksIG9yIHRoZSBvbmVzIG1hZGUgYXZhaWxhYmxlIHNwZWNpZmljYWxseSBmb3IgdGhpcyB2aWV3JzsKJGxhbmdbJ2luZm9fZGV0YWlsX3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyB0aGUgbGlzdCBvZiBhdmFpbGFibGUgZGV0YWlsIHZpZXcgdGVtcGxhdGVzLiAgT25lIG9mIHRoZW0gaXMgbWFya2VkIGFzIGRlZmF1bHQuICBUaGUgZGVmYXVsdCBvbmUgd2lsbCBiZSB1c2VkIHdoZW4gbm8gYWx0ZXJuYXRlIHRlbXBsYXRlIG5hbWUgaXMgc3VwcGxpZWQgb24gdGhlIHRhZyB0aGF0IGNhbGxzIHRoaXMgbW9kdWxlJzsKJGxhbmdbJ2luZm9fZGlyZWN0b3J5X3RlbXBsYXRlJ10gPSAnRGlyZWN0b3J5IHRlbXBsYXRlcyBkaXNwbGF5IGFuIGFscGhhYmV0aWNhbCBsaXN0IG9mIGxpbmtzLCB3aGVuIGEgbGluayBpcyBjbGlja2VkIGl0IHdpbGwgZGlzcGxheSBhIHN1bW1hcnkgdmlldyBvZiB0aGUgbWF0Y2hpbmcgdXNlcnMgZm9yIHRoYXQgbGV0dGVyLiAgSXQgaXMgcG9zc2libGUgdG8gY3JlYXRlIGRpcmVjdG9yaWVzIGJhc2VkIG9uIGRpZmZlcmVudCBwcm9wZXJ0aWVzLiAgSGVyZSB5b3UgZGVzaWduIHRoZSB3YXkgaW4gd2hpY2ggeW91IHdhbnQgdGhhdCBpbmZvcm1hdGlvbiBsYWlkIG91dC4gIFlvdSBtYXkgdXNlIGFueSBzbWFydHkgbG9naWMgb3IgdmFyaWFibGVzIHRoYXQgaGF2ZSBiZWVuIGRlc2lnbmVkIHByZXZpb3VzbHksIG9yIHRoZSBvbmVzIG1hZGUgYXZhaWxhYmxlIHNwZWNpZmljYWxseSBmb3IgdGhpcyB2aWV3JzsKJGxhbmdbJ2luZm9fZGlyZWN0b3J5X3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyB0aGUgbGlzdCBvZiBhdmFpbGFibGUgZGlyZWN0b3J5IHRlbXBsYXRlcy4gIE9uZSBvZiB0aGVtIGlzIG1hcmtlZCBhcyBkZWZhdWx0LiAgVGhlIGRlZmF1bHQgb25lIHdpbGwgYmUgdXNlZCB3aGVuIG5vIGFsdGVybmF0ZSB0ZW1wbGF0ZSBuYW1lIGlzIHN1cHBsaWVkIG9uIHRoZSB0YWcgdGhhdCBjYWxscyB0aGlzIG1vZHVsZSc7CiRsYW5nWydpbmZvX3N1bW1hcnlfdGVtcGxhdGUnXSA9ICdTdW1tYXJ5IHRlbXBsYXRlcyBkaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGEgbGlzdCBvZiB1c2VycyB0aGF0IG1hdGNoIGEgY3JpdGVyaWEuICBIZXJlIHlvdSBkZXNpZ24gdGhlIHdheSBpbiB3aGljaCB5b3Ugd2FudCB0aGF0IGluZm9ybWF0aW9uIGxhaWQgb3V0LiAgWW91IG1heSB1c2UgYW55IHNtYXJ0eSBsb2dpYyBvciB2YXJpYWJsZXMgdGhhdCBoYXZlIGJlZW4gZGVzaWduZWQgcHJldmlvdXNseSwgb3IgdGhlIG9uZXMgbWFkZSBhdmFpbGFibGUgc3BlY2lmaWNhbGx5IGZvciB0aGlzIHZpZXcnOwokbGFuZ1snaW5mb19zZWFyY2hmb3JtX3RlbXBsYXRlJ10gPSAnU2VhcmNoIGZvcm0gdGVtcGxhdGVzIGRpc3BsYXkgQSBmb3JtIHRvIGFsbG93IHNlYXJjaGluZyBmb3IgYSBwYXJ0aWN1bGFyIHVzZXIgb3IgZ3JvdXAgb2YgdXNlcnMuICBIZXJlIHlvdSBkZXNpZ24gdGhlIHdheSBpbiB3aGljaCB5b3Ugd2FudCB0aGUgZm9ybSBkaXNwbGF5ZWQuICBZb3UgbWF5IHVzZSBhbnkgc21hcnR5IGxvZ2ljIG9yIHZhcmlhYmxlcyB0aGF0IGhhdmUgYmVlbiBkZXNpZ25lZCBwcmV2aW91c2x5LCBvciB0aGUgb25lcyBtYWRlIGF2YWlsYWJsZSBzcGVjaWZpY2FsbHkgZm9yIHRoaXMgdmlldyc7CiRsYW5nWydpbmZvX3NlYXJjaGZvcm1fdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIHRoZSBsaXN0IG9mIGF2YWlsYWJsZSBzZWFyY2ggZm9ybSB0ZW1wbGF0ZXMuICBPbmUgb2YgdGhlbSBpcyBtYXJrZWQgYXMgZGVmYXVsdC4gIFRoZSBkZWZhdWx0IG9uZSB3aWxsIGJlIHVzZWQgd2hlbiBubyBhbHRlcm5hdGUgdGVtcGxhdGUgbmFtZSBpcyBzdXBwbGllZCBvbiB0aGUgdGFnIHRoYXQgY2FsbHMgdGhpcyBtb2R1bGUnOwokbGFuZ1snaW5mb19zdW1tYXJ5X3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyB0aGUgbGlzdCBvZiBhdmFpbGFibGUgc3VtbWFyeSB0ZW1wbGF0ZXMuICBPbmUgb2YgdGhlbSBpcyBtYXJrZWQgYXMgZGVmYXVsdC4gIFRoZSBkZWZhdWx0IG9uZSB3aWxsIGJlIHVzZWQgd2hlbiBubyBhbHRlcm5hdGUgdGVtcGxhdGUgbmFtZSBpcyBzdXBwbGllZCBvbiB0aGUgdGFnIHRoYXQgY2FsbHMgdGhpcyBtb2R1bGUnOwokbGFuZ1snaW5mb19zeXNkZmx0X2Jyb3dzZXByb3BfdGVtcGxhdGUnXSA9ICdTeXN0ZW0gRGVmYXVsdCBCcm93c2UgUHJvcGVydHkgVmlldyBUZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3N5c2RmbHRfZGV0YWlsX3RlbXBsYXRlJ10gPSAnU3lzdGVtIERlZmF1bHQgRGV0YWlsIFZpZXcgVGVtcGxhdGUnOwokbGFuZ1snaW5mb19zeXNkZmx0X2RpcmVjdG9yeV90ZW1wbGF0ZSddID0gJ1N5c3RlbSBEZWZhdWx0IERpcmVjdG9yeSBUZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3N5c2RmbHRfc2VhcmNoZm9ybV90ZW1wbGF0ZSddID0gJ1N5c3RlbSBEZWZhdWx0IFNlYXJjaCBGb3JtIFRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9zdW1tYXJ5X3RlbXBsYXRlJ10gPSAnU3lzdGVtIERlZmF1bHQgU3VtbWFyeSBWaWV3IFRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF90ZW1wbGF0ZSddID0gJ0FsdGVyaW5nIHRoaXMgdGVtcGxhdGUgd2lsbCBoYXZlIG5vIGltbWVkaWF0ZSBlZmZlY3Qgb24gYW55IG91dHB1dC4gIFRoaXMgZm9ybSBjb250cm9scyB0aGUgdmFsdWUgb2YgdGhlIHRlbXBsYXRlIHRoYXQgaXMgY3JlYXRlZCB3aGVuIHlvdSBjbGljayAmcXVvdDtOZXcgVGVtcGxhdGUmcXVvdDsgaW4gdGhlIGFwcHJvcHJpYXRlIHRlbXBsYXRlIHRhYi4nOwoKCiNKCgoKI0sKCgojTAokbGFuZ1snbGFzdF9hY3RpdmUnXSA9ICdMYXN0IEFjdGl2ZSc7CiRsYW5nWydsYmxfYnJvd3NlcHJvcHRlbXBsYXRlcyddID0gJ0Jyb3dzZSBQcm9wZXJ0eSBUZW1wbGF0ZXMnOwokbGFuZ1snbGJsX2RlZmF1bHR0ZW1wbGF0ZXMnXSA9ICdEZWZhdWx0IFRlbXBsYXRlcyc7CiRsYW5nWydsYmxfZGV0YWlsdGVtcGxhdGVzJ10gPSAnRGV0YWlsIFZpZXcgVGVtcGxhdGVzJzsKJGxhbmdbJ2xibF9kaXJlY3Rvcnl0ZW1wbGF0ZXMnXSA9ICdEaXJlY3RvcnkgVGVtcGxhdGVzJzsKJGxhbmdbJ2xibF9maXJzdF9wYWdlJ10gPSAnR28gdG8gRmlyc3QgUGFnZSc7CiRsYW5nWydsYmxfbGFzdF9wYWdlJ10gPSAnR28gdG8gTGFzdCBQYWdlJzsKJGxhbmdbJ2xibF9uZXh0X3BhZ2UnXSA9ICdHbyB0byBOZXh0IFBhZ2UnOwokbGFuZ1snbGJsX3ByZXZfcGFnZSddID0gJ0dvIHRvIFByZXZpb3VzIFBhZ2UnOwokbGFuZ1snbGJsX3NlYXJjaGZvcm10ZW1wbGF0ZXMnXSA9ICdTZWFyY2ggRm9ybSBUZW1wbGF0ZXMnOwokbGFuZ1snbGJsX3NldHRpbmdzJ10gPSAnU2V0dGluZ3MnOwokbGFuZ1snbGJsX3N1bW1hcnl0ZW1wbGF0ZXMnXSA9ICdTdW1tYXJ5IFZpZXcgVGVtcGxhdGVzJzsKCiNNCiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ0EgbW9kdWxlIGFsbG93aW5nIHNlYXJjaGluZywgYnJvd3NpbmcsIGFuZCB2aWV3aW5nIGRldGFpbHMgYWJvdXQgZnJvbnRlbmQgdXNlcnMnOwoKI04KCgojTwokbGFuZ1snb2YnXSA9ICdPZic7CgojUAokbGFuZ1sncGFnZSddID0gJ1BhZ2UnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdUaGUgQ0dVc2VyRGlyZWN0b3J5IG1vZHVsZSBpcyBub3cgcmVhZHkgZm9yIGNvbmZpZ3VyYXRpb24nOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ1RoZSBDR1VzZXJkaXJlY3RvcnkgbW9kdWxlLCBhbmQgYWxsIGFzc29jaWF0ZWQgZGF0YSBoYXMgYmVlbiB1bmluc3RhbGxlZCBmcm9tIHRoZSBkYXRhYmFzZSc7CgojUQoKCiNSCgoKI1MKJGxhbmdbJ3N1Ym1pdCddID0gJ1N1Ym1pdCc7CgojVAoKCiNVCiRsYW5nWyd1c2VybmFtZSddID0gJ1VzZXJuYW1lJzsKCiNWCgoKI1cKCgojWAoKCiNZCgoKI1oKCj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/ext/fr_FR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FkZGVkaXRfYnJvd3NlcHJvcF90ZW1wbGF0ZSddID0gJ0Fqb3V0ZXIvRWRpdGVyIHVuIGdhYmFyaXQgZGUgcHJvcHJpJmVhY3V0ZTt0JmVhY3V0ZTsgZGUgcmVjaGVyY2hlJm5ic3A7JzsKJGxhbmdbJ2FkZGVkaXRfZGV0YWlsX3RlbXBsYXRlJ10gPSAnQWpvdXRlci9FZGl0ZXIgdW4gZ2FiYXJpdCBkZSBkJmVhY3V0ZTt0YWlsJm5ic3A7JzsKJGxhbmdbJ2FkZGVkaXRfZGlyZWN0b3J5X3RlbXBsYXRlJ10gPSAnQWpvdXRlci9FZGl0ZXIgdW4gZ2FiYXJpdCBkZSByJmVhY3V0ZTtwZXJ0b2lyZSZuYnNwOyc7CiRsYW5nWydhZGRlZGl0X3NlYXJjaGZvcm1fdGVtcGxhdGUnXSA9ICdBam91dGVyL0VkaXRlciB1biBnYWJhcml0IGRlIHJlY2hlcmNoZSZuYnNwOyc7CiRsYW5nWydhZGRlZGl0X3N1bW1hcnlfdGVtcGxhdGUnXSA9ICdBam91dGVyL0VkaXRlciB1biBnYWJhcml0IGRlIHImZWFjdXRlO3N1bSZlYWN1dGU7Jm5ic3A7JzsKJGxhbmdbJ2FueSddID0gJ04mIzAzOTtpbXBvcnRlIGxlcXVlbCc7CiRsYW5nWydhc2tfcmVhbGx5X3VuaW5zdGFsbCddID0gJyZFY2lyYzt0ZXMtdm91cyBzJnVjaXJjO3IgZGUgdm91bG9pciBmYWlyZSBjZWxhID8gQ29udGludWVyIHZhIHN1cHByaW1lciBkJmVhY3V0ZTtmaW5pdGl2ZW1lbnQgdG91dGVzIGxlcyBkb25uJmVhY3V0ZTtlcyBhc3NvY2kmZWFjdXRlO2VzICZhZ3JhdmU7IGNlIG1vZHVsZS4nOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPg0KPGxpPlZlcnNpb24gMS4wIC0gSmFudWFyeSwgMjAwOQ0KICA8cD5Jbml0aWFsIFJlbGVhc2U8L3A+DQo8L2xpPg0KPC91bD4nOwokbGFuZ1snY3JlYXRlZCddID0gJ0NyJmVhY3V0ZTsmZWFjdXRlOyZuYnNwOyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkZ3JvdXAnXSA9ICdHcm91cGUgaW52YWxpZGUnOwokbGFuZ1snZXJyb3JfaW52YWxpZHNvcnRmaWVsZCddID0gJ0NoYW1wIGRlIHRyaSBpbnZhbGlkZSZuYnNwOzogJXMnOwokbGFuZ1snZXJyb3JfbWlzc2luZ3BhcmFtJ10gPSAnUGFyYW0mZWdyYXZlO3RyZXMgaW5zdWZmaXNhbnRzJzsKJGxhbmdbJ2Vycm9yX25vZmV1J10gPSAnTGUgbW9kdWxlIEZyb250ZW5kIFVzZXJzIG5lIHBldXQgcGFzICZlY2lyYzt0cmUgdHJvdXYmZWFjdXRlOyc7CiRsYW5nWydlcnJvcl91c2Vybm90Zm91bmQnXSA9ICdMJiMwMzk7dXRpbGlzYXRldXIgYXZlYyBsJiMwMzk7aWQgc3AmZWFjdXRlO2NpZmkmZWFjdXRlOyBuJiMwMzk7YSBwYXMgcHUgJmVjaXJjO3RyZSB0cm91diZlYWN1dGU7JzsKJGxhbmdbJ2V4cGlyZXMnXSA9ICdFeHBpcmUmbmJzcDsnOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnQ2FsZ3V5cyBVc2VyIERpcmVjdG9yeSAnOwokbGFuZ1snZ3JvdXBzJ10gPSAnR3JvdXBlcyZuYnNwOyc7CiRsYW5nWydoZWxwJ10gPSAnPGgzPlF1ZSBmYWl0IGNlIG1vZHVsZSA/PC9oMz4NCjxwPiBDZSBtb2R1bGUgb2ZmcmUgbGEgcG9zc2liaWxpdCZlYWN1dGU7IGRlIGcmZWFjdXRlO24mZWFjdXRlO3JlciB1biByJmVhY3V0ZTtwZXJ0b2lyZSBkZXMgdXRpbGlzYXRldXJzIGR1IG1vZHVsZSBGRVUsIHBvdXIgZyZlYWN1dGU7biZlYWN1dGU7cmVyIHVuZSB2dWUgciZlYWN1dGU7c3VtJmVhY3V0ZTtlIGRlcyB1dGlsaXNhdGV1cnMgc2Vsb24gZGVzIGNyaXQmZWdyYXZlO3JlcyBkJmVhY3V0ZTtmaW5pcywgZXQgcG91ciBhZmZpY2hlciBkZXMgaW5mb3JtYXRpb25zIGQmZWFjdXRlO3RhaWxsJmVhY3V0ZTtlcyBzdXIgdW4gdXRpbGlzYXRldXIgc3AmZWFjdXRlO2NpZmkmZWFjdXRlOy4gSWwgcGV1dCAmZWNpcmM7dHJlIHV0aWxpcyZlYWN1dGU7IHBvdXIgYWZmaWNoZXIgdW5lIHBhZ2UgZGUgcHJvZmlsIGQmIzAzOTt1dGlsaXNhdGV1ciwgb3UgdW5lIGxpc3RlIGRlIG1lbWJyZXMgcGFyIGV4ZW1wbGUuPC9wPg0KPGgzPkNhcmFjdCZlYWN1dGU7cmlzdGlxdWVzIDo8L2gzPg0KPHVsPg0KICA8bGk+VW4gY29udHImb2NpcmM7bGUgaW50JmVhY3V0ZTtncmFsIGR1IGdhYmFyaXQNCjxwPkFsbCBkaXNwbGF5cyBhcmUgY29tcGxldGVseSBjb25maWd1cmFibGUgYnkgdGVtcGxhdGVzIGFsbG93aW5nIGZvciBqYXZhc2NyaXB0LCBhamF4LCBvciBhbnkgb3RoZXIgZmFuY3kgZGlzcGxheXMuICBTdHlsaW5nIGlzIGNvbXBsZXRlbHkgY29udHJvbGxhYmxlIGJ5IHRoZSB3ZWJzaXRlIGRldmVsb3Blci48L3A+DQogIDwvbGk+DQogIDxsaT5NdWx0aXBsZSBkYXRhYmFzZSB0ZW1wbGF0ZXMuDQo8cD5Zb3UgY2FuIGNvbmZpZ3VyZSBtdWx0aXBsZSBkaWZmZXJlbnQgdmlld3MgZm9yIGVhY2ggZGlzcGxheSwgYW5kIHVzZSB0aGVtIHVuZGVyIGRpZmZlcmVudCBzaXR1YXRpb25zLjwvcD4NCiAgPC9saT4NCjxsaT5GaWx0ZXIgc3VtbWFyeSB2aWV3cyBvbiB1c2VyIHByb3BlcnRpZXMuDQogICA8cD5Zb3UgY2FuIGZpbHRlciB0aGUgb3V0cHV0IGZvciB0aGUgc3VtbWFyeSB2aWV3IGJhc2VkIG9uIHRoZSB2YWx1ZSBvZiBhIHNwZWNpZmljIHVzZXIgcHJvcGVydHkgZnJvbSB0aGUgRkVVIG1vZHVsZS4gIFRoaXMgYWxzbyBpbmNsdWRlcyAmcXVvdDtMSUtFJnF1b3Q7IGJhc2VkIGNyaXRlcmEuDQogIDwvbGk+DQogIDxsaT5Tb3J0aW5nIG9uIG11bHRpcGxlIGRpZmZlcmVudCBjcml0ZXJpYS48L2xpPg0KICA8bGk+U3VwcG9ydHMgU0VPIGZyaWVuZGx5IFVSTFM8L2xpPg0KPC91bD4NCjxoMz5Db21tZW50IGwmIzAzOTt1dGlsaXNlciA/PC9oMz4NCjxwPkxlIG1veWVuIGxlIHBsdXMgc21wbGUgZGUgbCYjMDM5O3V0aWxpc2VyIGV0IGRlIHBsYWNlciBsZSB0YWcgPGNvZGU+e0NHVXNlckRpcmVjdG9yeX08L2NvZGU+IGRhbnMgdm90cmUgZ2FiYXJpdCBvdSBsYSBwYWdlIGQmZWFjdXRlO3NpciZlYWN1dGU7ZS4gUG91ciBham91dGVyIGRlcyBwYXJhbSZlZ3JhdmU7dHJlcywgdm91cyBwb3V2ZXogdXRpbGlzZXIgbGVzIGV4ZW1wbGVzIHN1aXZhbnRzLjwvcD4NCjxoMz5FeGVtcGxlcyA6PC9oMz4NCjx1bD4NCjxsaT5SJmVhY3V0ZTtwZXJ0b3JpZXIgdG91cyBsZXMgdXRpbGlzYXRldXJzIDoNCjxwPjxjb2RlPntDR1VzZXJEaXJlY3RvcnkgYWN0aW9uPSZxdW90O2RpcmVjdG9yeSZxdW90O308L2NvZGU+PC9wPg0KPC9saT4NCjxsaT5SJmVhY3V0ZTtwZXJ0b3JpZXIgdG91cyBsZXMgdXRpbGlzYXRldXJzIGVuIGZvbmN0aW9uIGRlIGxhIHZpbGxlOg0KPHA+PGNvZGU+e0NHVXNlckRpcmVjdG9yeSBhY3Rpb249JnF1b3Q7ZGlyZWN0b3J5JnF1b3Q7IHByb3A9JnF1b3Q7dmlsbGUmcXVvdDt9PC9jb2RlPjwvcD4NCjwvbGk+DQo8bGk+QWZmaWNoZXIgdW5lIGxpc3RlIHImZWFjdXRlO3N1bWFudCB0b3VzIGxlcyB1dGlsaXNhdGV1cnMgZHUgZ3JvdXBlICZxdW90O21lbWJyZXMmcXVvdDsgOg0KPHA+PGNvZGU+e0NHVXNlckRpcmVjdG9yeSBncm91cD0mcXVvdDttZW1icmVzJnF1b3Q7fTwvY29kZT48L3A+DQo8L2xpPg0KPGxpPkFmZmljaGVyIHRvdXMgbGVzIHV0aWxpc2F0ZXVycyBheWFudCBwb3VyIHZpbGxlICZxdW90O1BlcnBpZ25hbiZxdW90OyA6DQo8cD48Y29kZT57Q0dVc2VyRGlyZWN0b3J5IHByb3A9JnF1b3Q7dmlsbGUmcXVvdDsgcHJvcHZhbD0mcXVvdDtwZXJwaWduYW4mcXVvdDt9PC9jb2RlPjwvcD4NCjwvbGk+DQo8bGk+RGlzcGxheSBhIHN1bW1hcnkgbGlzdCBvZiBhbGwgdXNlcnMgZnJvbSBjb3VudHJpZXMgdGhhdCBiZWdpbiB3aXRoIEM6DQo8cD48Y29kZT57Q0dVc2VyRGlyZWN0b3J5IHByb3A9JnF1b3Q7Y2l0eSZxdW90OyB1c2VsaWtlPTEgcHJvcHZhbD0mcXVvdDtjJSZxdW90O308L2NvZGU+PC9wPg0KPC9saT4NCg0KPC91bD4NCg0KPGgzPk5vdGVzIGF1IHN1amV0IGRlcyAmcXVvdDtQcmV0dHkgVVJMcyZxdW90OyAociZlYWN1dGU7LSZlYWN1dGU7Y3JpdHVyZSBkJiMwMzk7VVJMKTwvaDM+DQo8cD4mcXVvdDtQcmV0dHkmcXVvdDsgb3IgU0VPIGZyaWVuZGx5IFVSTFMgbGltaXRzIHRoZSBmbGV4aWJpbGl0eSBvZiB0aGlzIG1vZHVsZSwgYW5kIHRoZSBwYXJhbWV0ZXJzIHRoYXQgY2FuIGJlIHNwZWNpZmllZCBvbiB0aGUgdGFnLiBQYXJ0aWN1bGFybHkgdGhvc2UgdGhhdCBjYW4gYmUgcGFzc2VkIG9uIHRvIHN1YnNlcXVlbnQgdmlld3MuICBGb3IgdGhpcyByZWFzb24sIHRoZSBkaXJlY3RvcnkgdmlldyBkb2VzIG5vdCBnZW5lcmF0ZSBwcmV0dHkgdXJscyB0byB0aGUgc3Vic2VxdWVudCBzdW1tYXJ5IGxpbmtzLiAgVGhpcyBhbGxvd3MgcGFyYW1ldGVycyBsaWtlIGRldGFpbHBhZ2UsIGRldGFpbHRlbXBsYXRlLCBhbmQgc3VtbWFyeXRlbXBsYXRlIHRvIGJlIHBhc3NlZCBpbiB0aGUgdGFnIHRvIHRoZSBkaXJlY3RvcnkgdmlldyBhbmQgdG8gaGF2ZSB0aG9zZSBwYXJhbWV0ZXJzIHBhc3NlZCBkb3duIHRvIHRoZSBzdWJzZXF1ZW50IHN1bW1hcnkgZGV0YWlsIHZpZXdzLjwvcD4NCjwvcD4NCjxoMz5TdXBwb3J0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4NCjx1bD4NCjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgdGhlIGNtcyBkZXZlbG9wbWVudCBmb3JnZSBhdCA8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnIj5kZXYuY21zbWFkZXNpbXBsZS5vcmc8L2E+LjwvbGk+DQo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+DQo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCBhbGwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4NCjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvcihzKSBkaXJlY3RseS48L2xpPiAgDQo8L3VsPg0KDQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPkNvcHlyaWdodCAmY29weTsgMjAwOCwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciPjxjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnPjwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPlRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQppdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQ0KdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3INCihhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uPC9wPg0KPHA+SG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkDQphcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUNCmluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMNCk1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiANCnNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQpidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0ENCk9yIHJlYWQgaXQgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5vbmxpbmU8L2E+PC9wPic7CiRsYW5nWydoZWxwX3BhcmFtX2FjdGlvbiddID0gJ0NlcyBwYXJhbSZlZ3JhdmU7dHJlcyBjb250ciZvY2lyYztsZW50IGxlIGNvbXBvcnRlbWVudCBkdSBtb2R1bGUuICBJbCB5IGEgdHJvaXMgcG9zc2liaWxpdCZlYWN1dGU7cyA6DQo8dWw+DQo8bGk+YnJvd3NlICAtIERpc3BsYXkgYSBuYXZpZ2F0aW9uIG9mIHByb3BlcnR5IHZhbHVlcywgYW5kIGFsbG93IGRyaWxsaW5nIGRvd24gdG8gbWF0Y2hpbmcgc3VtbWFyeSB2aWV3cy48L2xpPg0KICA8bGk+ZGVmYXVsdCAtIERpc3BsYXlzIGEgc3VtbWFyeSB2aWV3IG9mIHVzZXJzIHRoYXQgbWF0Y2ggdGhlIHNwZWNpZmllZCBjcml0ZXJpYSwgb3IgYWxsIHVzZXJzIGlmIG5vIGNyaXRpZXJpYSBpcyBzcGVjaWZpZWQuPC9saT4NCiAgPGxpPmRpcmVjdG9yeSAtIERpc3BsYXlzIGFuIGFscGhhYmV0aWNhbCBkaXJlY3Rvcnkgb2YgbGlua3MgdG8gc3VtbWFyeSB2aWV3cyB0byB1c2VycyB0aGF0IG1hdGNoIHRoZSBzcGVjaWZpZWQgY3JpdGVyaWEuICBJdCBpcyBwb3NzaWJsZSB0byBjcmVhdGUgZGlyZWN0b3J5IHZpZXdzIG9uIHVzZXJuYW1lLCBvciBvbiBhbnkgb3RoZXIgcGFyYW1ldGVyPC9saT4NCiAgPGxpPmRldGFpbCAtIERpc3BsYXlzIGEgZGV0YWlsIHJlcG9ydCBhYm91dCBhIHNwZWNpZmljIHVzZXIuPC9saT4NCjxsaT5zZWFyY2ggLSBEaXNwbGF5cyBhIHNlYXJjaCBmb3JtLjwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwX3BhcmFtX2Jyb3dzZXByb3B0ZW1wbGF0ZSddID0gJ1RoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgYnJvd3NlIHByb3BlcnR5IHRlbXBsYXRlIG5hbWUgdG8gdXNlIGZvciBhIHByb3BlcnR5IGJyb3dzaW5nIHZpZXcnOwokbGFuZ1snaGVscF9wYXJhbV9ncm91cCddID0gJ1VzZWQgd2l0aCB0aGUgZGVmYXVsdCBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNob3VsZCBjb250YWluIHRoZSBuYW1lIG9mIGFuIEZFVSB1c2VyIGdyb3VwLCBhbmQgd2lsbCBsaW1pdCB0aGUgb3V0cHV0IHRvIG1lbWJlcnMgb2YgdGhhdCBncm91cCc7CiRsYW5nWydoZWxwX3BhcmFtX2dpZCddID0gJ1VzZWQgd2l0aCB0aGUgZGVmYXVsdCBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNob3VsZCBjb250YWluIHRoZSBpZCBvZiBhbiBGRVUgdXNlciBncm91cCwgYW5kIHdpbGwgbGltaXQgdGhlIG91dHB1dCB0byBtZW1iZXJzIG9mIHRoYXQgZ3JvdXAuICBUaGlzIHBhcmFtZXRlciBjYW5ub3QgYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBncm91cCBwYXJhbWV0ZXIuJzsKJGxhbmdbJ2hlbHBfcGFyYW1fc2hvd2V4cGlyZWQnXSA9ICdQYXIgZCZlYWN1dGU7ZmF1dCwgbGUgc3lzdCZlZ3JhdmU7bWUgdmEgZXhjbHVyZSBkdSByYXBwb3J0IHRvdXMgbGVzIHV0aWxpc2F0ZXVycyBleHBpciZlYWN1dGU7cy4gTWV0dHJlIHNlIHBhcmFtJmVncmF2ZTt0cmUgJmFncmF2ZTsgMSB2YSBpbmNsdXJlIGNlcyB1dGlsaXNhdGV1cnMuJzsKJGxhbmdbJ2hlbHBfcGFyYW1fc29ydGJ5J10gPSAnVXNlZCBmb3IgdGhlIGRlZmF1bHQgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIHNvcnRpbmcgb2YgdGhlIGdlbmVyYXRlZCBvdXRwdXQuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOg0KPHVsPg0KIDxsaT5pZCAtIFRoZSB1c2VycyBpZDwvbGk+DQogPGxpPnVzZXJuYW1lIC0gVGhlIHVzZXJzIHVzZXJuYW1lPC9saT4NCiA8bGk+Y3JlYXRlZGF0ZSAtIFRoZSBkYXRlIGF0IHdoaWNoIHRoZSB1c2VyIGFjY291bnQgd2FzIGNyZWF0ZWQuPC9saT4NCiA8bGk+ZXhwaXJlcyAtIFRoZSBkYXRlIGF0IHdoaWNoIHRoZSB1c2VyIGFjY291bnQgd2lsbCBleHBpcmUgKG9yIGRpZCBleHBpcmUpLjwvbGk+DQogPGxpPmFjdGl2aXR5IC0gVGhlIGRhdGUgYXQgd2hpY2ggdGhlIHVzZXIgYWNjb3VudCB3YXMgbGFzdCBsb2dnZWQgaW4gb3IgbG9nZ2VkIG91dC48L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscF9wYXJhbV9zb3J0b3JkZXInXSA9ICdVc2VkIGZvciB0aGUgZGVmYXVsdCBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgc29ydCBvcmRlciBvZiB0aGUgZ2VuZXJhdGVkIG91dHB1dC4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6DQo8dWw+DQogIDxsaT5BU0MgLSBBc2NlbmRpbmcgb3JkZXI8L2xpPg0KICA8bGk+REVTQyAtIERlc2NlbmRpbmcgb3JkZXI8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscF9wYXJhbV9wYWdlbGltaXQnXSA9ICdVdGlsaXMmZWFjdXRlOyBwb3VyIGwmIzAzOTthY3Rpb24gcGFyIGQmZWFjdXRlO2ZhdXQsIGNlIHBhcmFtJmVncmF2ZTt0cmUgc3AmZWFjdXRlO2NpZmllIGxlIG5vbWJyZSBtYXhpbXVtIGQmIzAzOTtpdGVtcyBxdWkgZG9pdmVudCAmZWNpcmM7dHJlIHJldG91cm4mZWFjdXRlO3MuJzsKJGxhbmdbJ2hlbHBfcGFyYW1fcHJvcCddID0gJ1VzZWQgZm9yIHRoZSBkZWZhdWx0LGJyb3dzZSBhbmQgZGlyZWN0b3J5IGFjdGlvbnMsIHRoaXMgcGFyYW1ldGVyIGJlaGF2ZXMgaW4gdHdvIGRpZmZlcmVudCB3YXlzIGRlcGVuZGluZyB1cG9uIHRoZSBhY3Rpb246DQo8dWw+DQogIDxsaT5UaGUgZGVmYXVsdCAoc3VtbWFyeSkgYWN0aW9uDQogICAgPHA+SW4gdGhlIGRlZmF1bHQgKHN1bW1hcnkpIGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSBhIHByb3BlcnR5IHRvIGZpbHRlciB0aGUgcmVzdWx0cyBieS4gIEl0IHdvcmtzIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlIHByb3B2YWwgcGFyYW1ldGVyIGJlbG93LjwvcD4NCiAgPC9saT4NCjxsaT5UaGUgYnJvd3NlIGFjdGlvbg0KICAgIDxwPkluIHRoZSBicm93c2UgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IGFuIEZFVSBwcm9wZXJ0eSB0byBicm93c2U8L3A+DQogIDwvbGk+DQogIDxsaT5UaGUgZGlyZWN0b3J5IGFjdGlvbi4NCiAgICA8cD5JbiB0aGUgZGlyZWN0b3J5IGFjdGlvbiwgdGhpcyBhcHJhbWV0ZXIgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSBhIHByb3BlcnR5IHRvIGdlbmVyYXRlIGEgZGlyZWN0b3J5IGZyb20uICAgVGhlIGRlZmF1bHQgdmFsdWUgaW4gdGhlIGRpcmVjdG9yeSBhY3Rpb24gaXMgJmFtcDtxdW90O3VzZXJuYW1lJmFtcDtxdW90ZTs8L3A+DQogIDwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwX3BhcmFtX3Byb3B2YWwnXSA9ICdVc2VkIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlICZxdW90O3Byb3AmcXVvdDsgcGFyYW1ldGVyIGZvciB0aGUgZGVmYXVsdCAoc3VtbWFyeSkgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIHZhbHVlIG9uIHdoaWNoIHRvIGZpbHRlciB1c2VycyBieS4nOwokbGFuZ1snaGVscF9wYXJhbV91c2VsaWtlJ10gPSAnVXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSAmcXVvdDtwcm9wJnF1b3Q7IGFuZCAmcXVvdDtwcm9wdmFsJnF1b3Q7IHBhcmFtZXRlcnMsIHRoaXMgcGFyYW1ldGVyLCBpZiBzZXQgdG8gYSBwb3NpdGl2ZSBpbnRlZ2VyIHZhbHVlIGluZGljYXRlcyB0aGF0IHRoZSBwcm9wdmFsIHBhcmFtZXRlciBjb250YWlucyBhIExJS0UgZXhwcmVzc2lvbic7CiRsYW5nWydoZWxwX3BhcmFtX2RldGFpbHBhZ2UnXSA9ICdUaGlzIHBhcmFtZXRlciwgaWYgc3BlY2lmaWVkLCBzaG91bGQgY29udGFpbiB0aGUgcGFnZWlkIG9yIGFsaWFzIG9mIGEgQ01TIGNvbnRlbnQgcGFnZSBvbiB3aGljaCB5b3Ugd291bGQgbGlrZSB0byBzaG93IGFueSBkZXRhaWwgcmVwb3J0JzsKJGxhbmdbJ2hlbHBfcGFyYW1fc3VtbWFyeXRlbXBsYXRlJ10gPSAnVGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBub24gZGVmYXVsdCBzdW1tYXJ5IHRlbXBsYXRlIG5hbWUgdG8gdXNlIGZvciBzdW1tYXJ5IGRpc3BsYXlzJzsKJGxhbmdbJ2hlbHBfcGFyYW1fZGV0YWlsdGVtcGxhdGUnXSA9ICdUaGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IGRldGFpbCB0ZW1wbGF0ZSBuYW1lIHRvIHVzZSBmb3IgZGV0YWlsIGRpc3BsYXlzJzsKJGxhbmdbJ2hlbHBfcGFyYW1fZGlyZWN0b3J5dGVtcGxhdGUnXSA9ICdUaGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IGRpcmVjdG9yeSB0ZW1wbGF0ZSBuYW1lIHRvIHVzZSB3aXRoIGRpcmVjdG9yeSBkaXNwbGF5cyc7CiRsYW5nWydoZWxwX3BhcmFtX3NlYXJjaGZvcm10ZW1wbGF0ZSddID0gJ1RoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgc2VhcmNoIHRlbXBsYXRlIG5hbWUgdG8gdXNlIGluIHNlYXJjaCBmb3Jtcyc7CiRsYW5nWydoZWxwX3BhcmFtX3NlYXJjaHByb3BlcnR5J10gPSAnVGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBzaW5nbGUgYWRkaXRpb25hbCBGRVUgcHJvcGVydHkgbmFtZSB0byBzdXBwbHkgaW4gdGhlIHNlYXJjaCBmb3JtJzsKJGxhbmdbJ2hlbHBfcGFyYW1fdWlkJ10gPSAnVXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBkZXRhaWwgZGlzcGxheSwgdGhpcyBwYXJhbWV0ZXIgbXVzdCBjb250YWluIHRoZSB1aWQgb2YgYSB2YWxpZCBmcm9udGVuZCB1c2VyIGFjY291bnQnOwokbGFuZ1snaW5mb19icm93c2Vwcm9wX3RlbXBsYXRlJ10gPSAnQnJvd3NlIFByb3BlcnR5IHRlbXBsYXRlcyBkaXNwbGF5IEEgbGlzdCBvZiB1bmlxdWUgdmFsdWVzIGZvciB0aGUgc3BlY2lmaWVkIHByb3BlcnR5LiAgRWFjaCBpdGVtIGluIHRoZSBsaXN0IGlzIGEgbGluayB0byBhIHN1bW1hcnkgdmlldyBjb250YWluaW5nIHRoZSBtYXRjaGluZyB1c2VycyB0aGF0IG1hdGNoIHRoYXQgcHJvcGVydHkgdmFsdWUuICBZb3UgbWF5IHVzZSBhbnkgc21hcnR5IGxvZ2ljIG9yIHZhcmlhYmxlcyB0aGF0IGhhdmUgYmVlbiBjcmVhdGVkIHByZXZpb3VzbHksIG9yIHRoZSBvbmVzIG1hZGUgYXZhaWxhYmlsaXR5IHNwZWNpZmljYWxseSBmb3IgdGhpcyB2aWV3Lic7CiRsYW5nWydpbmZvX2Jyb3dzZXByb3BfdGVtcGxhdGVzX3RhYiddID0gJ0NldCBvbmdsZXQgY29udGllbnQgbGEgbGlzdGUgZGVzIGdhYmFyaXRzIGRpc3BvbmlibGVzIGNvbmNlcm5hbnQgbGVzIHByb3ByaSZlYWN1dGU7dCZlYWN1dGU7cy4gSWwgeSBhIHRvdWpvdXJzIHVuIGdhYmFyaXQgZCZlYWN1dGU7ZmluaXQgcGFyIGQmZWFjdXRlO2ZhdXQuIENlbHVpLWNpIHNlcmEgdXRpbGlzJmVhY3V0ZTsgc2kgYXVjdW4gYXV0cmUgbm9tIGRlIGdhYmFyaXQgZXN0IHNwJmVhY3V0ZTtjaWZpJmVhY3V0ZTsgZGFucyBsYSB0YWcgcXVpIGFwcGVsbGUgY2UgbW9kdWxlLic7CiRsYW5nWydpbmZvX2RldGFpbF90ZW1wbGF0ZSddID0gJ0RldGFpbCB0ZW1wbGF0ZXMgZGlzcGxheSBkZXRhaWxlZCBpbmZvcm1hdGlvbiBhYm91dCBhIHNwZWNpZmljIGZyb250ZW5kIHVzZXIuICBIZXJlIHlvdSBkZXNpZ24gdGhlIHdheSBpbiB3aGljaCB5b3Ugd2FudCB0aGF0IGluZm9ybWF0aW9uIGxhaWQgb3V0LiAgWW91IG1heSB1c2UgYW55IHNtYXJ0eSBsb2dpYyBvciB2YXJpYWJsZXMgdGhhdCBoYXZlIGJlZW4gZGVzaWduZWQgcHJldmlvdXNseSwgb3IgdGhlIG9uZXMgbWFkZSBhdmFpbGFibGUgc3BlY2lmaWNhbGx5IGZvciB0aGlzIHZpZXcnOwokbGFuZ1snaW5mb19kZXRhaWxfdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIHRoZSBsaXN0IG9mIGF2YWlsYWJsZSBkZXRhaWwgdmlldyB0ZW1wbGF0ZXMuICBPbmUgb2YgdGhlbSBpcyBtYXJrZWQgYXMgZGVmYXVsdC4gIFRoZSBkZWZhdWx0IG9uZSB3aWxsIGJlIHVzZWQgd2hlbiBubyBhbHRlcm5hdGUgdGVtcGxhdGUgbmFtZSBpcyBzdXBwbGllZCBvbiB0aGUgdGFnIHRoYXQgY2FsbHMgdGhpcyBtb2R1bGUnOwokbGFuZ1snaW5mb19kaXJlY3RvcnlfdGVtcGxhdGUnXSA9ICdEaXJlY3RvcnkgdGVtcGxhdGVzIGRpc3BsYXkgYW4gYWxwaGFiZXRpY2FsIGxpc3Qgb2YgbGlua3MsIHdoZW4gYSBsaW5rIGlzIGNsaWNrZWQgaXQgd2lsbCBkaXNwbGF5IGEgc3VtbWFyeSB2aWV3IG9mIHRoZSBtYXRjaGluZyB1c2VycyBmb3IgdGhhdCBsZXR0ZXIuICBJdCBpcyBwb3NzaWJsZSB0byBjcmVhdGUgZGlyZWN0b3JpZXMgYmFzZWQgb24gZGlmZmVyZW50IHByb3BlcnRpZXMuICBIZXJlIHlvdSBkZXNpZ24gdGhlIHdheSBpbiB3aGljaCB5b3Ugd2FudCB0aGF0IGluZm9ybWF0aW9uIGxhaWQgb3V0LiAgWW91IG1heSB1c2UgYW55IHNtYXJ0eSBsb2dpYyBvciB2YXJpYWJsZXMgdGhhdCBoYXZlIGJlZW4gZGVzaWduZWQgcHJldmlvdXNseSwgb3IgdGhlIG9uZXMgbWFkZSBhdmFpbGFibGUgc3BlY2lmaWNhbGx5IGZvciB0aGlzIHZpZXcnOwokbGFuZ1snaW5mb19kaXJlY3RvcnlfdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIHRoZSBsaXN0IG9mIGF2YWlsYWJsZSBkaXJlY3RvcnkgdGVtcGxhdGVzLiAgT25lIG9mIHRoZW0gaXMgbWFya2VkIGFzIGRlZmF1bHQuICBUaGUgZGVmYXVsdCBvbmUgd2lsbCBiZSB1c2VkIHdoZW4gbm8gYWx0ZXJuYXRlIHRlbXBsYXRlIG5hbWUgaXMgc3VwcGxpZWQgb24gdGhlIHRhZyB0aGF0IGNhbGxzIHRoaXMgbW9kdWxlJzsKJGxhbmdbJ2luZm9fc3VtbWFyeV90ZW1wbGF0ZSddID0gJ1N1bW1hcnkgdGVtcGxhdGVzIGRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgYSBsaXN0IG9mIHVzZXJzIHRoYXQgbWF0Y2ggYSBjcml0ZXJpYS4gIEhlcmUgeW91IGRlc2lnbiB0aGUgd2F5IGluIHdoaWNoIHlvdSB3YW50IHRoYXQgaW5mb3JtYXRpb24gbGFpZCBvdXQuICBZb3UgbWF5IHVzZSBhbnkgc21hcnR5IGxvZ2ljIG9yIHZhcmlhYmxlcyB0aGF0IGhhdmUgYmVlbiBkZXNpZ25lZCBwcmV2aW91c2x5LCBvciB0aGUgb25lcyBtYWRlIGF2YWlsYWJsZSBzcGVjaWZpY2FsbHkgZm9yIHRoaXMgdmlldyc7CiRsYW5nWydpbmZvX3NlYXJjaGZvcm1fdGVtcGxhdGUnXSA9ICdTZWFyY2ggZm9ybSB0ZW1wbGF0ZXMgZGlzcGxheSBBIGZvcm0gdG8gYWxsb3cgc2VhcmNoaW5nIGZvciBhIHBhcnRpY3VsYXIgdXNlciBvciBncm91cCBvZiB1c2Vycy4gIEhlcmUgeW91IGRlc2lnbiB0aGUgd2F5IGluIHdoaWNoIHlvdSB3YW50IHRoZSBmb3JtIGRpc3BsYXllZC4gIFlvdSBtYXkgdXNlIGFueSBzbWFydHkgbG9naWMgb3IgdmFyaWFibGVzIHRoYXQgaGF2ZSBiZWVuIGRlc2lnbmVkIHByZXZpb3VzbHksIG9yIHRoZSBvbmVzIG1hZGUgYXZhaWxhYmxlIHNwZWNpZmljYWxseSBmb3IgdGhpcyB2aWV3JzsKJGxhbmdbJ2luZm9fc2VhcmNoZm9ybV90ZW1wbGF0ZXNfdGFiJ10gPSAnVGhpcyB0YWIgY29udGFpbnMgdGhlIGxpc3Qgb2YgYXZhaWxhYmxlIHNlYXJjaCBmb3JtIHRlbXBsYXRlcy4gIE9uZSBvZiB0aGVtIGlzIG1hcmtlZCBhcyBkZWZhdWx0LiAgVGhlIGRlZmF1bHQgb25lIHdpbGwgYmUgdXNlZCB3aGVuIG5vIGFsdGVybmF0ZSB0ZW1wbGF0ZSBuYW1lIGlzIHN1cHBsaWVkIG9uIHRoZSB0YWcgdGhhdCBjYWxscyB0aGlzIG1vZHVsZSc7CiRsYW5nWydpbmZvX3N1bW1hcnlfdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIHRoZSBsaXN0IG9mIGF2YWlsYWJsZSBzdW1tYXJ5IHRlbXBsYXRlcy4gIE9uZSBvZiB0aGVtIGlzIG1hcmtlZCBhcyBkZWZhdWx0LiAgVGhlIGRlZmF1bHQgb25lIHdpbGwgYmUgdXNlZCB3aGVuIG5vIGFsdGVybmF0ZSB0ZW1wbGF0ZSBuYW1lIGlzIHN1cHBsaWVkIG9uIHRoZSB0YWcgdGhhdCBjYWxscyB0aGlzIG1vZHVsZSc7CiRsYW5nWydpbmZvX3N5c2RmbHRfYnJvd3NlcHJvcF90ZW1wbGF0ZSddID0gJ1N5c3RlbSBEZWZhdWx0IEJyb3dzZSBQcm9wZXJ0eSBWaWV3IFRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9kZXRhaWxfdGVtcGxhdGUnXSA9ICdHYWJhcml0IHBhciBkJmVhY3V0ZTtmYXV0IGRlIGQmZWFjdXRlO3RhaWwnOwokbGFuZ1snaW5mb19zeXNkZmx0X2RpcmVjdG9yeV90ZW1wbGF0ZSddID0gJ0dhYmFyaXQgcGFyIGQmZWFjdXRlO2ZhdXQgZGUgciZlYWN1dGU7cGVydG9pcmUnOwokbGFuZ1snaW5mb19zeXNkZmx0X3NlYXJjaGZvcm1fdGVtcGxhdGUnXSA9ICdTeXN0JmVncmF2ZTttZSBkZSByZWNoZXJjaGUgcGFyIGQmZWFjdXRlO2ZhdXQgZHUgZ2FiYXJpdCc7CiRsYW5nWydpbmZvX3N5c2RmbHRfc3VtbWFyeV90ZW1wbGF0ZSddID0gJ0dhYmFyaXQgcGFyIGQmZWFjdXRlO2ZhdXQgZGUgciZlYWN1dGU7c3VtJmVhY3V0ZTsnOwokbGFuZ1snaW5mb19zeXNkZmx0X3RlbXBsYXRlJ10gPSAnTW9kaWZpZXIgY2UgZ2FiYXJpdCBuJiMwMzk7YSBhdWN1biBlZmZldCBpbW0mZWFjdXRlO2RpYXQgc3VyIGxlcyBhZmZpY2hhZ2VzLiBJbCBlc3QgdXRpbGlzJmVhY3V0ZTsgdW5pcXVlbWVudCBsb3JzIGRlIGxhIGNyJmVhY3V0ZTthdGlvbiBkZSBub3V2ZWF1IGdhYmFyaXQgcGFyIHVuIGNsaXF1ZSBzdXIgJmFtcDtxdW90O05vdXZlYXUgZ2FiYXJpdCZhbXA7cXVvdDsgZGFucyBsJiMwMzk7b25nbGV0IGFwcHJvcHJpJmVhY3V0ZTsuJzsKJGxhbmdbJ2xhc3RfYWN0aXZlJ10gPSAnRGVybmllciBhY3RpZiZuYnNwOyc7CiRsYW5nWydsYmxfYnJvd3NlcHJvcHRlbXBsYXRlcyddID0gJ0dhYmFyaXRzIGRlIHByb3ByaSZlYWN1dGU7dCZlYWN1dGU7JzsKJGxhbmdbJ2xibF9kZWZhdWx0dGVtcGxhdGVzJ10gPSAnR2FiYXJpdHMgcGFyIGQmZWFjdXRlO2ZhdXQnOwokbGFuZ1snbGJsX2RldGFpbHRlbXBsYXRlcyddID0gJ0dhYmFyaXRzIGRlIGQmZWFjdXRlO3RhaWwnOwokbGFuZ1snbGJsX2RpcmVjdG9yeXRlbXBsYXRlcyddID0gJ0dhYmFyaXRzIGRlIHImZWFjdXRlO3BlcnRvaXJlJzsKJGxhbmdbJ2xibF9maXJzdF9wYWdlJ10gPSAnQWxsZXIgJmFncmF2ZTsgbGEgcHJlbWkmZWdyYXZlO3JlIHBhZ2UnOwokbGFuZ1snbGJsX2xhc3RfcGFnZSddID0gJ0FsbGVyICZhZ3JhdmU7IGxhIGRlcm5pJmVncmF2ZTtyZSBwYWdlJzsKJGxhbmdbJ2xibF9uZXh0X3BhZ2UnXSA9ICdBbGxlciAmYWdyYXZlOyBsYSBwYWdlIHN1aXZhbnRlJzsKJGxhbmdbJ2xibF9wcmV2X3BhZ2UnXSA9ICdBbGxlciAmYWdyYXZlOyBsYSBwYWdlIHByJmVhY3V0ZTtjJmVhY3V0ZTtkZW50ZSc7CiRsYW5nWydsYmxfc2VhcmNoZm9ybXRlbXBsYXRlcyddID0gJ0dhYmFyaXRzIGRlIGZvcm11bGFpcmUgZGUgcmVjaGVyY2hlJzsKJGxhbmdbJ2xibF9zZXR0aW5ncyddID0gJ1BhcmFtJmVncmF2ZTt0cmVzJzsKJGxhbmdbJ2xibF9zdW1tYXJ5dGVtcGxhdGVzJ10gPSAnR2FiYXJpdHMgZGUgciZlYWN1dGU7c3VtJmVhY3V0ZTsnOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdVbiBtb2R1bGUgcGVybWV0dGFudCBsYSByZWNoZXJjaGUsIGxhIG5hdmlnYXRpb24gZXQgbCYjMDM5O2FmZmljaGFnZSBkJiMwMzk7aW5mb3JtYXRpb25zIHN1ciBsYSBnZXN0aW9uIGRlcyB1dGlsaXNhdGV1cnMgZHUgc2l0ZSc7CiRsYW5nWydvZiddID0gJ2RlICc7CiRsYW5nWydwYWdlJ10gPSAnUGFnZSc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0xlIG1vZHVsZSBDR1VzZXJEaXJlY3RvcnkgZXN0IG1haW50ZW5hbnQgcHImZWNpcmM7dCBwb3VyIGxhIGNvbmZpZ3VyYXRpb24nOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ0xlIG1vZHVsZSBDR1VzZXJEaXJlY3RvcnksIGV0IHRvdXRlcyBsZXMgZG9ubiZlYWN1dGU7ZXMgYXNzb2NpJmVhY3V0ZTtlcyBvbnQgJmVhY3V0ZTt0JmVhY3V0ZTsgZCZlYWN1dGU7c2luc3RhbGwmZWFjdXRlOyBkZSBsYSBiYXNlIGRlIGRvbm4mZWFjdXRlO2VzJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ0Vudm95ZXInOwokbGFuZ1sndXNlcm5hbWUnXSA9ICdOb20gZCYjMDM5O3V0aWxpc2F0ZXVyJm5ic3A7JzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMjkxMjU1NDE5ODM3NDA5MjMwMC4xMjUwNjc4NzU1LjEyNTA2Nzg3NTUuMTI1MDY3ODc1NS4xJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMuMi4xMC4xMjUwNjc4NzU1JzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjUwNjc4NzU1LjEuMS51dG1jc3I9Z29vZ2xlfHV0bWNjbj0ob3JnYW5pYyl8dXRtY21kPW9yZ2FuaWN8dXRtY3RyPWNtc21zJzsKJGxhbmdbJ3FjYSddID0gJ1AwLTE4OTMwNzg4NTItMTI1MDY3ODc1NTUwMic7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/it_IT.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FkZGVkaXRfZGV0YWlsX3RlbXBsYXRlJ10gPSAnQWdnaXVuZ2VyZS9Nb2RpZmljYSBUZW1wbGF0ZSBEZXR0YWdsaW8nOwokbGFuZ1snYWRkZWRpdF9kaXJlY3RvcnlfdGVtcGxhdGUnXSA9ICdBZ2dpdW5nZXJlL01vZGlmaWNhIFRlbXBsYXRlIERpcmVjdG9yeSc7CiRsYW5nWydhZGRlZGl0X3N1bW1hcnlfdGVtcGxhdGUnXSA9ICdBZ2dpdW5nZXJlL01vZGlmaWNhIFRlbXBsYXRlIFNvbW1hcmlvJzsKJGxhbmdbJ2Fza19yZWFsbHlfdW5pbnN0YWxsJ10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRvIHRoaXM/ICBDb250aW51aW5nIHdpbGwgcGVybWFuZW50bHkgZGVsZXRlIGFsbCBkYXRhIGFzc29jaWF0ZWQgd2l0aCB0aGlzIG1vZHVsZSc7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8dWw+DQo8bGk+VmVyc2lvbiAxLjAgLSBKYW51YXJ5LCAyMDA5DQogIDxwPkluaXRpYWwgUmVsZWFzZTwvcD4NCjwvbGk+DQo8L3VsPic7CiRsYW5nWydjcmVhdGVkJ10gPSAnQ3JlYXRvJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRncm91cCddID0gJ0dydXBwbyBub24gdmFsaWRvJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRzb3J0ZmllbGQnXSA9ICdDYW1wbyBkaSBvcmRpbmFtZW50byBub24gdmFsaWRvOiAlcyc7CiRsYW5nWydlcnJvcl9taXNzaW5ncGFyYW0nXSA9ICdQYXJhbWV0cmkgaW5zdWZmaWNpZW50aSc7CiRsYW5nWydlcnJvcl9ub2ZldSddID0gJ0lsIG1vZHVsbyBGcm9udGVuZCBVc2VycyBub24gcHUmb2dyYXZlOyBlc3NlcmUgdHJvdmF0byc7CiRsYW5nWydlcnJvcl91c2Vybm90Zm91bmQnXSA9ICdMbyB1c2VyIGNvbiBsbyBzcGVjaWZpY2F0byBJRCBub24gcHUmb2dyYXZlOyBlc3NlcmUgdHJvdmF0byc7CiRsYW5nWydleHBpcmVzJ10gPSAnU2NhZGVuemUnOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnQ2FsZ3V5cyBVc2VyIERpcmVjdG9yeSc7CiRsYW5nWydncm91cHMnXSA9ICdHcnVwcGknOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IGRvZXMgdGhpcyBkbz88L2gzPg0KICA8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyB0aGUgYWJpbGl0eSBmb3IgZ2VuZXJhdGluZyBhIGRpcmVjdG9yeSBvZiB1c2VycyBmcm9tIHRoZSBGRVUgbW9kdWxlLCBmb3IgZ2VuZXJhdGluZyBhIHN1bW1hcnkgdmlldyBvZiB1c2VycyBtYXRjaGluZyBzcGVjaWZpZWQgY3JpdGVyaWEsIGFuZCBmb3IgZGlzcGxheWluZyBhIGRldGFpbCByZXBvcnQgb2YgYSBzcGVjaWZpYyB1c2VyLiAgSXQgY2FuIGJlIHVzZWQgZm9yIGdlbmVyYXRpbmcgcHJvZmlsZSBwYWdlcyBmb3IgeW91ciB1c2Vycywgb3IgYSBzdGFmZiBkaXJlY3RvcnkuPC9wPg0KPGgzPkZlYXR1cmVzOjwvaDM+DQo8dWw+DQogIDxsaT5Db21wbGV0ZSB0ZW1wbGF0ZSBjb250cm9sDQo8cD5BbGwgZGlzcGxheXMgYXJlIGNvbXBsZXRlbHkgY29uZmlndXJhYmxlIGJ5IHRlbXBsYXRlcyBhbGxvd2luZyBmb3IgamF2YXNjcmlwdCwgYWpheCwgb3IgYW55IG90aGVyIGZhbmN5IGRpc3BsYXlzLiAgU3R5bGluZyBpcyBjb21wbGV0ZWx5IGNvbnRyb2xsYWJsZSBieSB0aGUgd2Vic2l0ZSBkZXZlbG9wZXIuPC9wPg0KICA8L2xpPg0KICA8bGk+TXVsdGlwbGUgZGF0YWJhc2UgdGVtcGxhdGVzLg0KPHA+WW91IGNhbiBjb25maWd1cmUgbXVsdGlwbGUgZGlmZmVyZW50IHZpZXdzIGZvciBlYWNoIGRpc3BsYXksIGFuZCB1c2UgdGhlbSB1bmRlciBkaWZmZXJlbnQgc2l0dWF0aW9ucy48L3A+DQogIDwvbGk+DQo8bGk+RmlsdGVyIHN1bW1hcnkgdmlld3Mgb24gdXNlciBwcm9wZXJ0aWVzLg0KICAgPHA+WW91IGNhbiBmaWx0ZXIgdGhlIG91dHB1dCBmb3IgdGhlIHN1bW1hcnkgdmlldyBiYXNlZCBvbiB0aGUgdmFsdWUgb2YgYSBzcGVjaWZpYyB1c2VyIHByb3BlcnR5IGZyb20gdGhlIEZFVSBtb2R1bGUuICBUaGlzIGFsc28gaW5jbHVkZXMgJnF1b3Q7TElLRSZxdW90OyBiYXNlZCBjcml0ZXJhLg0KICA8L2xpPg0KICA8bGk+U29ydGluZyBvbiBtdWx0aXBsZSBkaWZmZXJlbnQgY3JpdGVyaWEuPC9saT4NCiAgPGxpPlN1cHBvcnRzIFNFTyBmcmllbmRseSBVUkxTPC9saT4NCjwvdWw+DQo8aDM+SG93IGRvIEkgdXNlIGl0PzwvaDM+DQo8cD5UaGUgc2ltcGxlc3Qgd2F5IHRvIHVzZSB0aGlzIG1vZHVsZSBpcyB0byBwbGFjZSBhIHRhZyBsaWtlIHRoaXMgaW50byB5b3VyIHBhZ2UgdGVtcGxhdGUsIG9yIHBhZ2UgY29udGVudCA8Y29kZT57Q0dVc2VyRGlyZWN0b3J5fTwvY29kZT4uICBUbyBleHBhbmQgb24gdGhpcyBmdW5jdGlvbmFsaXR5LCBvciB0byBkaXNwbGF5IGEgc3Vic2V0IG9mIHlvdXIgdXNlcnMsIHNlZSB0aGUgcGFyYW1ldGVycyBiZWxvdy48L3A+DQo8aDM+RXhhbXBsZXM6PC9oMz4NCjx1bD4NCjxsaT5EaXNwbGF5IGEgZGlyZWN0b3J5IG9mIGFsbCB1c2VyczoNCjxwPjxjb2RlPntDR1VzZXJEaXJlY3RvcnkgYWN0aW9uPSZxdW90O2RpcmVjdG9yeSZxdW90O308L2NvZGU+PC9wPg0KPC9saT4NCjxsaT5EaXNwbGF5IGEgZGlyZWN0b3J5IG9mIGFsbCB1c2VycyBvcmdhbml6ZWQgYnkgY2l0eToNCjxwPjxjb2RlPntDR1VzZXJEaXJlY3RvcnkgYWN0aW9uPSZxdW90O2RpcmVjdG9yeSZxdW90OyBwcm9wPSZxdW90O2NpdHkmcXVvdDt9PC9jb2RlPjwvcD4NCjwvbGk+DQo8bGk+RGlzcGxheSBhIHN1bW1hcnkgbGlzdCBvZiBhbGwgdXNlcnMgaW4gdGhlICZxdW90O21lbWJlcnMmcXVvdDsgZ3JvdXA6DQo8cD48Y29kZT57Q0dVc2VyRGlyZWN0b3J5IGdyb3VwPSZxdW90O21lbWJlcnMmcXVvdDt9PC9jb2RlPjwvcD4NCjwvbGk+DQo8bGk+RGlzcGxheSBhIHN1bW1hcnkgbGlzdCBvZiBhbGwgdXNlcnMgaW4gdGhlIGNpdHkgb2YgY2FsZ2FyeToNCjxwPjxjb2RlPntDR1VzZXJEaXJlY3RvcnkgcHJvcD0mcXVvdDtjaXR5JnF1b3Q7IHByb3B2YWw9JnF1b3Q7Y2FsZ2FyeSZxdW90O308L2NvZGU+PC9wPg0KPC9saT4NCjxsaT5EaXNwbGF5IGEgc3VtbWFyeSBsaXN0IG9mIGFsbCB1c2VycyBmcm9tIGNvdW50cmllcyB0aGF0IGJlZ2luIHdpdGggQzoNCjxwPjxjb2RlPntDR1VzZXJEaXJlY3RvcnkgcHJvcD0mcXVvdDtjaXR5JnF1b3Q7IHVzZWxpa2U9MSBwcm9wdmFsPSZxdW90O2MlJnF1b3Q7fTwvY29kZT48L3A+DQo8L2xpPg0KDQo8L3VsPg0KDQo8aDM+Tm90ZXMgYWJvdXQgcHJldHR5IFVSTFM8L2gzPg0KPHA+JnF1b3Q7UHJldHR5JnF1b3Q7IG9yIFNFTyBmcmllbmRseSBVUkxTIGxpbWl0cyB0aGUgZmxleGliaWxpdHkgb2YgdGhpcyBtb2R1bGUsIGFuZCB0aGUgcGFyYW1ldGVycyB0aGF0IGNhbiBiZSBzcGVjaWZpZWQgb24gdGhlIHRhZy4gUGFydGljdWxhcmx5IHRob3NlIHRoYXQgY2FuIGJlIHBhc3NlZCBvbiB0byBzdWJzZXF1ZW50IHZpZXdzLiAgRm9yIHRoaXMgcmVhc29uLCB0aGUgZGlyZWN0b3J5IHZpZXcgZG9lcyBub3QgZ2VuZXJhdGUgcHJldHR5IHVybHMgdG8gdGhlIHN1YnNlcXVlbnQgc3VtbWFyeSBsaW5rcy4gIFRoaXMgYWxsb3dzIHBhcmFtZXRlcnMgbGlrZSBkZXRhaWxwYWdlLCBkZXRhaWx0ZW1wbGF0ZSwgYW5kIHN1bW1hcnl0ZW1wbGF0ZSB0byBiZSBwYXNzZWQgaW4gdGhlIHRhZyB0byB0aGUgZGlyZWN0b3J5IHZpZXcgYW5kIHRvIGhhdmUgdGhvc2UgcGFyYW1ldGVycyBwYXNzZWQgZG93biB0byB0aGUgc3Vic2VxdWVudCBzdW1tYXJ5IGRldGFpbCB2aWV3cy48L3A+DQo8L3A+DQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+DQo8dWw+DQo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQgb3IgYnV5IGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHZpc2l0IHRoZSBjbXMgZGV2ZWxvcG1lbnQgZm9yZ2UgYXQgPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZyI+ZGV2LmNtc21hZGVzaW1wbGUub3JnPC9hPi48L2xpPg0KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAgYWxsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zIj5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IocykgZGlyZWN0bHkuPC9saT4gIA0KPC91bD4NCg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDgsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnIj48Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZz48L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCnRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQooYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLjwvcD4NCjxwPkhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZA0KYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlDQppbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TDQpNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gDQpzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLjwvcD4NCjxwPlRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCk1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUNCkZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQpPciByZWFkIGl0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+b25saW5lPC9hPjwvcD4nOwokbGFuZ1snaGVscF9wYXJhbV9hY3Rpb24nXSA9ICdUaGlzIHBhcmFtZXRlciBjb250cm9scyB0aGUgYmVoYXZpb3VyIG9mIHRoZSBtb2R1bGUuICBUaGVyZSBhcmUgdGhyZWUgcG9zc2libGUgdmFsdWVzOg0KPHVsPg0KICA8bGk+ZGVmYXVsdCAtIERpc3BsYXlzIGEgc3VtbWFyeSB2aWV3IG9mIHVzZXJzIHRoYXQgbWF0Y2ggdGhlIHNwZWNpZmllZCBjcml0ZXJpYSwgb3IgYWxsIHVzZXJzIGlmIG5vIGNyaXRpZXJpYSBpcyBzcGVjaWZpZWQuPC9saT4NCiAgPGxpPmRpcmVjdG9yeSAtIERpc3BsYXlzIGFuIGFscGhhYmV0aWNhbCBkaXJlY3Rvcnkgb2YgbGlua3MgdG8gc3VtbWFyeSB2aWV3cyB0byB1c2VycyB0aGF0IG1hdGNoIHRoZSBzcGVjaWZpZWQgY3JpdGVyaWEuICBJdCBpcyBwb3NzaWJsZSB0byBjcmVhdGUgZGlyZWN0b3J5IHZpZXdzIG9uIHVzZXJuYW1lLCBvciBvbiBhbnkgb3RoZXIgcGFyYW1ldGVyPC9saT4NCiAgPGxpPmRldGFpbCAtIERpc3BsYXlzIGEgZGV0YWlsIHJlcG9ydCBhYm91dCBhIHNwZWNpZmljIHVzZXIuPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHBfcGFyYW1fZ3JvdXAnXSA9ICdVc2VkIHdpdGggdGhlIGRlZmF1bHQgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzaG91bGQgY29udGFpbiB0aGUgbmFtZSBvZiBhbiBGRVUgdXNlciBncm91cCwgYW5kIHdpbGwgbGltaXQgdGhlIG91dHB1dCB0byBtZW1iZXJzIG9mIHRoYXQgZ3JvdXAnOwokbGFuZ1snaGVscF9wYXJhbV9naWQnXSA9ICdVc2VkIHdpdGggdGhlIGRlZmF1bHQgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzaG91bGQgY29udGFpbiB0aGUgaWQgb2YgYW4gRkVVIHVzZXIgZ3JvdXAsIGFuZCB3aWxsIGxpbWl0IHRoZSBvdXRwdXQgdG8gbWVtYmVycyBvZiB0aGF0IGdyb3VwLiAgVGhpcyBwYXJhbWV0ZXIgY2Fubm90IGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgZ3JvdXAgcGFyYW1ldGVyLic7CiRsYW5nWydoZWxwX3BhcmFtX3Nob3dleHBpcmVkJ10gPSAnQnkgZGVmYXVsdCwgdGhlIHN5c3RlbSB3aWxsIGV4Y2x1ZGUgZXhwaXJlZCB1c2VycyBmcm9tIGFueSBnZW5lcmF0ZWQgcmVwb3J0LiAgU2V0dGluZyB0aGlzIHBhcmFtZXRlciB0byAxIHdpbGwgaW5jbHVkZSB0aGVzZSB1c2Vycy4nOwokbGFuZ1snaGVscF9wYXJhbV9zb3J0YnknXSA9ICdVc2VkIGZvciB0aGUgZGVmYXVsdCBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgc29ydGluZyBvZiB0aGUgZ2VuZXJhdGVkIG91dHB1dC4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6DQo8dWw+DQogPGxpPmlkIC0gVGhlIHVzZXJzIGlkPC9saT4NCiA8bGk+dXNlcm5hbWUgLSBUaGUgdXNlcnMgdXNlcm5hbWU8L2xpPg0KIDxsaT5jcmVhdGVkYXRlIC0gVGhlIGRhdGUgYXQgd2hpY2ggdGhlIHVzZXIgYWNjb3VudCB3YXMgY3JlYXRlZC48L2xpPg0KIDxsaT5leHBpcmVzIC0gVGhlIGRhdGUgYXQgd2hpY2ggdGhlIHVzZXIgYWNjb3VudCB3aWxsIGV4cGlyZSAob3IgZGlkIGV4cGlyZSkuPC9saT4NCiA8bGk+YWN0aXZpdHkgLSBUaGUgZGF0ZSBhdCB3aGljaCB0aGUgdXNlciBhY2NvdW50IHdhcyBsYXN0IGxvZ2dlZCBpbiBvciBsb2dnZWQgb3V0LjwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwX3BhcmFtX3NvcnRvcmRlciddID0gJ1VzZWQgZm9yIHRoZSBkZWZhdWx0IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoZSBzb3J0IG9yZGVyIG9mIHRoZSBnZW5lcmF0ZWQgb3V0cHV0LiAgUG9zc2libGUgdmFsdWVzIGFyZToNCjx1bD4NCiAgPGxpPkFTQyAtIEFzY2VuZGluZyBvcmRlcjwvbGk+DQogIDxsaT5ERVNDIC0gRGVzY2VuZGluZyBvcmRlcjwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwX3BhcmFtX3BhZ2VsaW1pdCddID0gJ1VzZWQgZm9yIHRoZSBkZWZhdWx0IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBiZSByZXR1cm5lZC4nOwokbGFuZ1snaGVscF9wYXJhbV9wcm9wJ10gPSAnVXNlZCBmb3IgdGhlIGRlZmF1bHQgYW5kIGRpcmVjdG9yeSBhY3Rpb25zLCB0aGlzIHBhcmFtZXRlciBiZWhhdmVzIGluIHR3byBkaWZmZXJlbnQgd2F5cyBkZXBlbmRpbmcgdXBvbiB0aGUgYWN0aW9uOg0KPHVsPg0KICA8bGk+VGhlIGRlZmF1bHQgKHN1bW1hcnkpIGFjdGlvbg0KICAgIDxwPkluIHRoZSBkZWZhdWx0IChzdW1tYXJ5KSBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgYSBwcm9wZXJ0eSB0byBmaWx0ZXIgdGhlIHJlc3VsdHMgYnkuPC9wPg0KICA8L2xpPg0KICA8bGk+VGhlIGRpcmVjdG9yeSBhY3Rpb24uDQogICAgPHA+SW4gdGhlIGRpcmVjdG9yeSBhY3Rpb24sIHRoaXMgYXByYW1ldGVyIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgYSBwcm9wZXJ0eSB0byBnZW5lcmF0ZSBhIGRpcmVjdG9yeSBmcm9tLiAgIFRoZSBkZWZhdWx0IHZhbHVlIGluIHRoZSBkaXJlY3RvcnkgYWN0aW9uIGlzICZxdW90O3Vuc2VybmFtZSZhbXA7cXVvdGU7PC9wPg0KICA8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscF9wYXJhbV9wcm9wdmFsJ10gPSAnVXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSAmcXVvdDtwcm9wJnF1b3Q7IHBhcmFtZXRlciBmb3IgdGhlIGRlZmF1bHQgKHN1bW1hcnkpIGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSB2YWx1ZSBvbiB3aGljaCB0byBmaWx0ZXIgdXNlcnMgYnkuJzsKJGxhbmdbJ2hlbHBfcGFyYW1fdXNlbGlrZSddID0gJ1VzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgJnF1b3Q7cHJvcCZxdW90OyBhbmQgJnF1b3Q7cHJvcHZhbCZxdW90OyBwYXJhbWV0ZXJzLCB0aGlzIHBhcmFtZXRlciwgaWYgc2V0IHRvIGEgcG9zaXRpdmUgaW50ZWdlciB2YWx1ZSBpbmRpY2F0ZXMgdGhhdCB0aGUgcHJvcHZhbCBwYXJhbWV0ZXIgY29udGFpbnMgYSBMSUtFIGV4cHJlc3Npb24nOwokbGFuZ1snaGVscF9wYXJhbV9kZXRhaWxwYWdlJ10gPSAnVGhpcyBwYXJhbWV0ZXIsIGlmIHNwZWNpZmllZCwgc2hvdWxkIGNvbnRhaW4gdGhlIHBhZ2VpZCBvciBhbGlhcyBvZiBhIENNUyBjb250ZW50IHBhZ2Ugb24gd2hpY2ggeW91IHdvdWxkIGxpa2UgdG8gc2hvdyBhbnkgZGV0YWlsIHJlcG9ydCc7CiRsYW5nWydoZWxwX3BhcmFtX3N1bW1hcnl0ZW1wbGF0ZSddID0gJ1RoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgc3VtbWFyeSB0ZW1wbGF0ZSBuYW1lIHRvIHVzZSBmb3Igc3VtbWFyeSBkaXNwbGF5cyc7CiRsYW5nWydoZWxwX3BhcmFtX2RldGFpbHRlbXBsYXRlJ10gPSAnVGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBub24gZGVmYXVsdCBkZXRhaWwgdGVtcGxhdGUgbmFtZSB0byB1c2UgZm9yIGRldGFpbCBkaXNwbGF5cyc7CiRsYW5nWydoZWxwX3BhcmFtX2RpcmVjdG9yeXRlbXBsYXRlJ10gPSAnVGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBub24gZGVmYXVsdCBkaXJlY3RvcnkgdGVtcGxhdGUgbmFtZSB0byB1c2Ugd2l0aCBkaXJlY3RvcnkgZGlzcGxheXMnOwokbGFuZ1snaGVscF9wYXJhbV91aWQnXSA9ICdVc2VkIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlIGRldGFpbCBkaXNwbGF5LCB0aGlzIHBhcmFtZXRlciBtdXN0IGNvbnRhaW4gdGhlIHVpZCBvZiBhIHZhbGlkIGZyb250ZW5kIHVzZXIgYWNjb3VudCc7CiRsYW5nWydpbmZvX2RldGFpbF90ZW1wbGF0ZSddID0gJ0RldGFpbCB0ZW1wbGF0ZXMgZGlzcGxheSBkZXRhaWxlZCBpbmZvcm1hdGlvbiBhYm91dCBhIHNwZWNpZmljIGZyb250ZW5kIHVzZXIuICBIZXJlIHlvdSBkZXNpZ24gdGhlIHdheSBpbiB3aGljaCB5b3Ugd2FudCB0aGF0IGluZm9ybWF0aW9uIGxhaWQgb3V0LiAgWW91IG1heSB1c2UgYW55IHNtYXJ0eSBsb2dpYyBvciB2YXJpYWJsZXMgdGhhdCBoYXZlIGJlZW4gZGVzaWduZWQgcHJldmlvdXNseSwgb3IgdGhlIG9uZXMgbWFkZSBhdmFpbGFibGUgc3BlY2lmaWNhbGx5IGZvciB0aGlzIHZpZXcnOwokbGFuZ1snaW5mb19kZXRhaWxfdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIHRoZSBsaXN0IG9mIGF2YWlsYWJsZSBkZXRhaWwgdmlldyB0ZW1wbGF0ZXMuICBPbmUgb2YgdGhlbSBpcyBtYXJrZWQgYXMgZGVmYXVsdC4gIFRoZSBkZWZhdWx0IG9uZSB3aWxsIGJlIHVzZWQgd2hlbiBubyBhbHRlcm5hdGUgdGVtcGxhdGUgbmFtZSBpcyBzdXBwbGllZCBvbiB0aGUgdGFnIHRoYXQgY2FsbHMgdGhpcyBtb2R1bGUnOwokbGFuZ1snaW5mb19kaXJlY3RvcnlfdGVtcGxhdGUnXSA9ICdEaXJlY3RvcnkgdGVtcGxhdGVzIGRpc3BsYXkgYW4gYWxwaGFiZXRpY2FsIGxpc3Qgb2YgbGlua3MsIHdoZW4gYSBsaW5rIGlzIGNsaWNrZWQgaXQgd2lsbCBkaXNwbGF5IGEgc3VtbWFyeSB2aWV3IG9mIHRoZSBtYXRjaGluZyB1c2VycyBmb3IgdGhhdCBsZXR0ZXIuICBJdCBpcyBwb3NzaWJsZSB0byBjcmVhdGUgZGlyZWN0b3JpZXMgYmFzZWQgb24gZGlmZmVyZW50IHByb3BlcnRpZXMuICBIZXJlIHlvdSBkZXNpZ24gdGhlIHdheSBpbiB3aGljaCB5b3Ugd2FudCB0aGF0IGluZm9ybWF0aW9uIGxhaWQgb3V0LiAgWW91IG1heSB1c2UgYW55IHNtYXJ0eSBsb2dpYyBvciB2YXJpYWJsZXMgdGhhdCBoYXZlIGJlZW4gZGVzaWduZWQgcHJldmlvdXNseSwgb3IgdGhlIG9uZXMgbWFkZSBhdmFpbGFibGUgc3BlY2lmaWNhbGx5IGZvciB0aGlzIHZpZXcnOwokbGFuZ1snaW5mb19kaXJlY3RvcnlfdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIHRoZSBsaXN0IG9mIGF2YWlsYWJsZSBkaXJlY3RvcnkgdGVtcGxhdGVzLiAgT25lIG9mIHRoZW0gaXMgbWFya2VkIGFzIGRlZmF1bHQuICBUaGUgZGVmYXVsdCBvbmUgd2lsbCBiZSB1c2VkIHdoZW4gbm8gYWx0ZXJuYXRlIHRlbXBsYXRlIG5hbWUgaXMgc3VwcGxpZWQgb24gdGhlIHRhZyB0aGF0IGNhbGxzIHRoaXMgbW9kdWxlJzsKJGxhbmdbJ2luZm9fc3VtbWFyeV90ZW1wbGF0ZSddID0gJ1N1bW1hcnkgdGVtcGxhdGVzIGRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgYSBsaXN0IG9mIHVzZXJzIHRoYXQgbWF0Y2ggYSBjcml0ZXJpYS4gIEhlcmUgeW91IGRlc2lnbiB0aGUgd2F5IGluIHdoaWNoIHlvdSB3YW50IHRoYXQgaW5mb3JtYXRpb24gbGFpZCBvdXQuICBZb3UgbWF5IHVzZSBhbnkgc21hcnR5IGxvZ2ljIG9yIHZhcmlhYmxlcyB0aGF0IGhhdmUgYmVlbiBkZXNpZ25lZCBwcmV2aW91c2x5LCBvciB0aGUgb25lcyBtYWRlIGF2YWlsYWJsZSBzcGVjaWZpY2FsbHkgZm9yIHRoaXMgdmlldyc7CiRsYW5nWydpbmZvX3N1bW1hcnlfdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIHRoZSBsaXN0IG9mIGF2YWlsYWJsZSBzdW1tYXJ5IHRlbXBsYXRlcy4gIE9uZSBvZiB0aGVtIGlzIG1hcmtlZCBhcyBkZWZhdWx0LiAgVGhlIGRlZmF1bHQgb25lIHdpbGwgYmUgdXNlZCB3aGVuIG5vIGFsdGVybmF0ZSB0ZW1wbGF0ZSBuYW1lIGlzIHN1cHBsaWVkIG9uIHRoZSB0YWcgdGhhdCBjYWxscyB0aGlzIG1vZHVsZSc7CiRsYW5nWydpbmZvX3N5c2RmbHRfZGV0YWlsX3RlbXBsYXRlJ10gPSAnU3lzdGVtIERlZmF1bHQgRGV0YWlsIFZpZXcgVGVtcGxhdGUnOwokbGFuZ1snaW5mb19zeXNkZmx0X2RpcmVjdG9yeV90ZW1wbGF0ZSddID0gJ1N5c3RlbSBEZWZhdWx0IERpcmVjdG9yeSBUZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3N5c2RmbHRfc3VtbWFyeV90ZW1wbGF0ZSddID0gJ1N5c3RlbSBEZWZhdWx0IFN1bW1hcnkgVmlldyBUZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3N5c2RmbHRfdGVtcGxhdGUnXSA9ICdBbHRlcmluZyB0aGlzIHRlbXBsYXRlIHdpbGwgaGF2ZSBubyBpbW1lZGlhdGUgZWZmZWN0IG9uIGFueSBvdXRwdXQuICBUaGlzIGZvcm0gY29udHJvbHMgdGhlIHZhbHVlIG9mIHRoZSB0ZW1wbGF0ZSB0aGF0IGlzIGNyZWF0ZWQgd2hlbiB5b3UgY2xpY2sgJnF1b3Q7TmV3IFRlbXBsYXRlJnF1b3Q7IGluIHRoZSBhcHByb3ByaWF0ZSB0ZW1wbGF0ZSB0YWIuJzsKJGxhbmdbJ2xhc3RfYWN0aXZlJ10gPSAnTCYjMDM5O3VsdGltbyBhdHRpdm8nOwokbGFuZ1snbGJsX2RlZmF1bHR0ZW1wbGF0ZXMnXSA9ICdUZW1wbGF0ZSBwcmVkZWZpbml0aSc7CiRsYW5nWydsYmxfZGV0YWlsdGVtcGxhdGVzJ10gPSAnVGVtcGxhdGUgZGkgdmlzdWFsaXp6YXppb25lIGRldHRhZ2xpJzsKJGxhbmdbJ2xibF9kaXJlY3Rvcnl0ZW1wbGF0ZXMnXSA9ICdUZW1wbGF0ZSBEaXJlY3RvcnknOwokbGFuZ1snbGJsX2ZpcnN0X3BhZ2UnXSA9ICdWYWkgYWxsYSBwcmltYSBwYWdpbmEnOwokbGFuZ1snbGJsX2xhc3RfcGFnZSddID0gJ1ZhaSBhbGwmIzAzOTt1bHRpbWEgcGFnaW5hJzsKJGxhbmdbJ2xibF9uZXh0X3BhZ2UnXSA9ICdWYWkgYWxsYSBwYWdpbmEgc2VndWVudGUnOwokbGFuZ1snbGJsX3ByZXZfcGFnZSddID0gJ1ZhaSBhbGxhIHBhZ2luYSBwcmVjZWRlbnRlJzsKJGxhbmdbJ2xibF9zZXR0aW5ncyddID0gJ0NvbmZpZ3VyYXppb25pJzsKJGxhbmdbJ2xibF9zdW1tYXJ5dGVtcGxhdGVzJ10gPSAnU3VtbWFyeSBWaWV3IFRlbXBsYXRlcyc7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ0EgbW9kdWxlIGFsbG93aW5nIHNlYXJjaGluZywgYnJvd3NpbmcsIGFuZCB2aWV3aW5nIGRldGFpbHMgYWJvdXQgZnJvbnRlbmQgdXNlcnMnOwokbGFuZ1snb2YnXSA9ICdkaSc7CiRsYW5nWydwYWdlJ10gPSAnUGFnZSc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ1RoZSBDR1VzZXJEaXJlY3RvcnkgbW9kdWxlIGlzIG5vdyByZWFkeSBmb3IgY29uZmlndXJhdGlvbic7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnVGhlIENHVXNlcmRpcmVjdG9yeSBtb2R1bGUsIGFuZCBhbGwgYXNzb2NpYXRlZCBkYXRhIGhhcyBiZWVuIHVuaW5zdGFsbGVkIGZyb20gdGhlIGRhdGFiYXNlJzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAnVXNlcm5hbWUnOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My41Njg3Mjc5MzcuMTIzNjM0MDE3MS4xMjM2MzQwMTcxLjEyMzYzNDAxNzEuMSc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjM2MzQwMTcxLjEuMS51dG1jY249KHJlZmVycmFsKXx1dG1jc3I9ZGV2LmNtc21hZGVzaW1wbGUub3JnfHV0bWNjdD0vfHV0bWNtZD1yZWZlcnJhbCc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nb_NO.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FkZGVkaXRfYnJvd3NlcHJvcF90ZW1wbGF0ZSddID0gJ0xlZ2cgdGlsL3JlZGlnZXIgcyZvc2xhc2g7ay1pLWVnZW5za2FwKEJyb3dzZSBQcm9wZXJ0eSktbWFsJzsKJGxhbmdbJ2FkZGVkaXRfZGV0YWlsX3RlbXBsYXRlJ10gPSAnTGVnZyB0aWwvcmVkaWdlciBkYXRhbGptYWwnOwokbGFuZ1snYWRkZWRpdF9kaXJlY3RvcnlfdGVtcGxhdGUnXSA9ICdMZWdnIHRpbC9yZWRpZ2VyIGthdGFsb2dtYWwnOwokbGFuZ1snYWRkZWRpdF9zZWFyY2hmb3JtX3RlbXBsYXRlJ10gPSAnTGVnZyB0aWwvcmVkaWdlciBzJm9zbGFzaDtrZXNramVtYW1hbCc7CiRsYW5nWydhZGRlZGl0X3N1bW1hcnlfdGVtcGxhdGUnXSA9ICdMZWdnIHRpbC9yZWRpZ2VyIHNhbW1lbmRyYWdzbWFsJzsKJGxhbmdbJ2FueSddID0gJ0FsbGUnOwokbGFuZ1snYXNrX3JlYWxseV91bmluc3RhbGwnXSA9ICdFciBkdSBzaWtrZXIgcCZhcmluZzsgYXQgZHUgdmlsIGdqJm9zbGFzaDtyZSBkZXR0ZT8gJkFyaW5nOyBmb3J0c2V0dGUgdmlsIHVnamVua2FsbGVsaWcgc2xldHRlIGFsbCBkYXRhIGFzc29zaWVydCBtZWQgZGVubmUgbW9kdWxlbi4nOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPg0KPGxpPlZlcnNpb24gMS4wIC0gSmFudWFyeSwgMjAwOQ0KICA8cD5Jbml0aWFsIFJlbGVhc2U8L3A+DQo8L2xpPg0KPC91bD4nOwokbGFuZ1snY3JlYXRlZCddID0gJ09wcHJldHRldCc7CiRsYW5nWydlcnJvcl9pbnZhbGlkZ3JvdXAnXSA9ICdVZ3lsZGlnIGdydXBwZSc7CiRsYW5nWydlcnJvcl9pbnZhbGlkc29ydGZpZWxkJ10gPSAnVWd5bGRpZyBzb3J0ZXJpbmdzZmVsdDogJXMnOwokbGFuZ1snZXJyb3JfbWlzc2luZ3BhcmFtJ10gPSAnVXRpbHN0cmVra2VsaWdlIHBhcmFtZXRlcmUnOwokbGFuZ1snZXJyb3Jfbm9mZXUnXSA9ICdGcm9udGVuZCBVc2VycyBtb2R1bGVuIGJsZSBpa2tlIGZ1bm5ldCc7CiRsYW5nWydlcnJvcl91c2Vybm90Zm91bmQnXSA9ICdCcnVrZXJlbiBtZWQgZGVuIG9wcGdpdHRlIGlkIGJsZSBpa2tlIGZ1bm5ldCc7CiRsYW5nWydleHBpcmVzJ10gPSAnVXRsJm9zbGFzaDtwZXInOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnQ2FsZ3V5cyBVc2VyIERpcmVjdG9yeSAnOwokbGFuZ1snZ3JvdXBzJ10gPSAnR3J1cHBlcic7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgZG9lcyB0aGlzIGRvPzwvaDM+DQogIDxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIHRoZSBhYmlsaXR5IGZvciBnZW5lcmF0aW5nIGEgZGlyZWN0b3J5IG9mIHVzZXJzIGZyb20gdGhlIEZFVSBtb2R1bGUsIGZvciBnZW5lcmF0aW5nIGEgc3VtbWFyeSB2aWV3IG9mIHVzZXJzIG1hdGNoaW5nIHNwZWNpZmllZCBjcml0ZXJpYSwgYW5kIGZvciBkaXNwbGF5aW5nIGEgZGV0YWlsIHJlcG9ydCBvZiBhIHNwZWNpZmljIHVzZXIuICBJdCBjYW4gYmUgdXNlZCBmb3IgZ2VuZXJhdGluZyBwcm9maWxlIHBhZ2VzIGZvciB5b3VyIHVzZXJzLCBvciBhIHN0YWZmIGRpcmVjdG9yeS48L3A+DQo8aDM+RmVhdHVyZXM6PC9oMz4NCjx1bD4NCiAgPGxpPkNvbXBsZXRlIHRlbXBsYXRlIGNvbnRyb2wNCjxwPkFsbCBkaXNwbGF5cyBhcmUgY29tcGxldGVseSBjb25maWd1cmFibGUgYnkgdGVtcGxhdGVzIGFsbG93aW5nIGZvciBqYXZhc2NyaXB0LCBhamF4LCBvciBhbnkgb3RoZXIgZmFuY3kgZGlzcGxheXMuICBTdHlsaW5nIGlzIGNvbXBsZXRlbHkgY29udHJvbGxhYmxlIGJ5IHRoZSB3ZWJzaXRlIGRldmVsb3Blci48L3A+DQogIDwvbGk+DQogIDxsaT5NdWx0aXBsZSBkYXRhYmFzZSB0ZW1wbGF0ZXMuDQo8cD5Zb3UgY2FuIGNvbmZpZ3VyZSBtdWx0aXBsZSBkaWZmZXJlbnQgdmlld3MgZm9yIGVhY2ggZGlzcGxheSwgYW5kIHVzZSB0aGVtIHVuZGVyIGRpZmZlcmVudCBzaXR1YXRpb25zLjwvcD4NCiAgPC9saT4NCjxsaT5GaWx0ZXIgc3VtbWFyeSB2aWV3cyBvbiB1c2VyIHByb3BlcnRpZXMuDQogICA8cD5Zb3UgY2FuIGZpbHRlciB0aGUgb3V0cHV0IGZvciB0aGUgc3VtbWFyeSB2aWV3IGJhc2VkIG9uIHRoZSB2YWx1ZSBvZiBhIHNwZWNpZmljIHVzZXIgcHJvcGVydHkgZnJvbSB0aGUgRkVVIG1vZHVsZS4gIFRoaXMgYWxzbyBpbmNsdWRlcyAmYW1wO3F1b3Q7TElLRSZhbXA7cXVvdDsgYmFzZWQgY3JpdGVyYS4NCiAgPC9saT4NCiAgPGxpPlNvcnRpbmcgb24gbXVsdGlwbGUgZGlmZmVyZW50IGNyaXRlcmlhLjwvbGk+DQogIDxsaT5TdXBwb3J0cyBTRU8gZnJpZW5kbHkgVVJMUzwvbGk+DQo8L3VsPg0KPGgzPkhvdyBkbyBJIHVzZSBpdD88L2gzPg0KPHA+VGhlIHNpbXBsZXN0IHdheSB0byB1c2UgdGhpcyBtb2R1bGUgaXMgdG8gcGxhY2UgYSB0YWcgbGlrZSB0aGlzIGludG8geW91ciBwYWdlIHRlbXBsYXRlLCBvciBwYWdlIGNvbnRlbnQgPGNvZGU+e0NHVXNlckRpcmVjdG9yeX08L2NvZGU+LiAgVG8gZXhwYW5kIG9uIHRoaXMgZnVuY3Rpb25hbGl0eSwgb3IgdG8gZGlzcGxheSBhIHN1YnNldCBvZiB5b3VyIHVzZXJzLCBzZWUgdGhlIHBhcmFtZXRlcnMgYmVsb3cuPC9wPg0KPGgzPkV4YW1wbGVzOjwvaDM+DQo8dWw+DQo8bGk+RGlzcGxheSBhIGRpcmVjdG9yeSBvZiBhbGwgdXNlcnM6DQo8cD48Y29kZT57Q0dVc2VyRGlyZWN0b3J5IGFjdGlvbj0mYW1wO3F1b3Q7ZGlyZWN0b3J5JmFtcDtxdW90O308L2NvZGU+PC9wPg0KPC9saT4NCjxsaT5EaXNwbGF5IGEgZGlyZWN0b3J5IG9mIGFsbCB1c2VycyBvcmdhbml6ZWQgYnkgY2l0eToNCjxwPjxjb2RlPntDR1VzZXJEaXJlY3RvcnkgYWN0aW9uPSZhbXA7cXVvdDtkaXJlY3RvcnkmYW1wO3F1b3Q7IHByb3A9JmFtcDtxdW90O2NpdHkmYW1wO3F1b3Q7fTwvY29kZT48L3A+DQo8L2xpPg0KPGxpPkRpc3BsYXkgYSBzdW1tYXJ5IGxpc3Qgb2YgYWxsIHVzZXJzIGluIHRoZSAmYW1wO3F1b3Q7bWVtYmVycyZhbXA7cXVvdDsgZ3JvdXA6DQo8cD48Y29kZT57Q0dVc2VyRGlyZWN0b3J5IGdyb3VwPSZhbXA7cXVvdDttZW1iZXJzJmFtcDtxdW90O308L2NvZGU+PC9wPg0KPC9saT4NCjxsaT5EaXNwbGF5IGEgc3VtbWFyeSBsaXN0IG9mIGFsbCB1c2VycyBpbiB0aGUgY2l0eSBvZiBjYWxnYXJ5Og0KPHA+PGNvZGU+e0NHVXNlckRpcmVjdG9yeSBwcm9wPSZhbXA7cXVvdDtjaXR5JmFtcDtxdW90OyBwcm9wdmFsPSZhbXA7cXVvdDtjYWxnYXJ5JmFtcDtxdW90O308L2NvZGU+PC9wPg0KPC9saT4NCjxsaT5EaXNwbGF5IGEgc3VtbWFyeSBsaXN0IG9mIGFsbCB1c2VycyBmcm9tIGNvdW50cmllcyB0aGF0IGJlZ2luIHdpdGggQzoNCjxwPjxjb2RlPntDR1VzZXJEaXJlY3RvcnkgcHJvcD0mYW1wO3F1b3Q7Y2l0eSZhbXA7cXVvdDsgdXNlbGlrZT0xIHByb3B2YWw9JmFtcDtxdW90O2MlJmFtcDtxdW90O308L2NvZGU+PC9wPg0KPC9saT4NCg0KPC91bD4NCg0KPGgzPk5vdGVzIGFib3V0IHByZXR0eSBVUkxTPC9oMz4NCjxwPiZhbXA7cXVvdDtQcmV0dHkmYW1wO3F1b3Q7IG9yIFNFTyBmcmllbmRseSBVUkxTIGxpbWl0cyB0aGUgZmxleGliaWxpdHkgb2YgdGhpcyBtb2R1bGUsIGFuZCB0aGUgcGFyYW1ldGVycyB0aGF0IGNhbiBiZSBzcGVjaWZpZWQgb24gdGhlIHRhZy4gUGFydGljdWxhcmx5IHRob3NlIHRoYXQgY2FuIGJlIHBhc3NlZCBvbiB0byBzdWJzZXF1ZW50IHZpZXdzLiAgRm9yIHRoaXMgcmVhc29uLCB0aGUgZGlyZWN0b3J5IHZpZXcgZG9lcyBub3QgZ2VuZXJhdGUgcHJldHR5IHVybHMgdG8gdGhlIHN1YnNlcXVlbnQgc3VtbWFyeSBsaW5rcy4gIFRoaXMgYWxsb3dzIHBhcmFtZXRlcnMgbGlrZSBkZXRhaWxwYWdlLCBkZXRhaWx0ZW1wbGF0ZSwgYW5kIHN1bW1hcnl0ZW1wbGF0ZSB0byBiZSBwYXNzZWQgaW4gdGhlIHRhZyB0byB0aGUgZGlyZWN0b3J5IHZpZXcgYW5kIHRvIGhhdmUgdGhvc2UgcGFyYW1ldGVycyBwYXNzZWQgZG93biB0byB0aGUgc3Vic2VxdWVudCBzdW1tYXJ5IGRldGFpbCB2aWV3cy48L3A+DQo8L3A+DQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+DQo8dWw+DQo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQgb3IgYnV5IGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHZpc2l0IHRoZSBjbXMgZGV2ZWxvcG1lbnQgZm9yZ2UgYXQgPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZyI+ZGV2LmNtc21hZGVzaW1wbGUub3JnPC9hPi48L2xpPg0KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAgYWxsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zIj5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IocykgZGlyZWN0bHkuPC9saT4gIA0KPC91bD4NCg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmFtcDtjb3B5OyAyMDA4LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+JmFtcDtsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmFtcDtndDs8L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCnRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQooYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLjwvcD4NCjxwPkhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZA0KYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlDQppbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TDQpNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gDQpzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLjwvcD4NCjxwPlRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCk1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUNCkZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQpPciByZWFkIGl0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+b25saW5lPC9hPjwvcD4nOwokbGFuZ1snaGVscF9wYXJhbV9hY3Rpb24nXSA9ICdUaGlzIHBhcmFtZXRlciBjb250cm9scyB0aGUgYmVoYXZpb3VyIG9mIHRoZSBtb2R1bGUuICBUaGVyZSBhcmUgdGhyZWUgcG9zc2libGUgdmFsdWVzOg0KPHVsPg0KICA8bGk+YnJvd3NlICAtIERpc3BsYXkgYSBuYXZpZ2F0aW9uIG9mIHByb3BlcnR5IHZhbHVlcywgYW5kIGFsbG93IGRyaWxsaW5nIGRvd24gdG8gbWF0Y2hpbmcgc3VtbWFyeSB2aWV3cy48L2xpPg0KICA8bGk+ZGVmYXVsdCAtIERpc3BsYXlzIGEgc3VtbWFyeSB2aWV3IG9mIHVzZXJzIHRoYXQgbWF0Y2ggdGhlIHNwZWNpZmllZCBjcml0ZXJpYSwgb3IgYWxsIHVzZXJzIGlmIG5vIGNyaXRpZXJpYSBpcyBzcGVjaWZpZWQuPC9saT4NCiAgPGxpPmRpcmVjdG9yeSAtIERpc3BsYXlzIGFuIGFscGhhYmV0aWNhbCBkaXJlY3Rvcnkgb2YgbGlua3MgdG8gc3VtbWFyeSB2aWV3cyB0byB1c2VycyB0aGF0IG1hdGNoIHRoZSBzcGVjaWZpZWQgY3JpdGVyaWEuICBJdCBpcyBwb3NzaWJsZSB0byBjcmVhdGUgZGlyZWN0b3J5IHZpZXdzIG9uIHVzZXJuYW1lLCBvciBvbiBhbnkgb3RoZXIgcGFyYW1ldGVyPC9saT4NCiAgPGxpPmRldGFpbCAtIERpc3BsYXlzIGEgZGV0YWlsIHJlcG9ydCBhYm91dCBhIHNwZWNpZmljIHVzZXIuPC9saT4NCiAgPGxpPnNlYXJjaCAtIERpc3BsYXlzIGEgc2VhcmNoIGZvcm0uPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHBfcGFyYW1fYnJvd3NlcHJvcHRlbXBsYXRlJ10gPSAnRGVubmUgcGFyYW1ldGVyIHRpbGxhdGVyICZhcmluZzsgc3Blc2lmaXNlcmUgbmF2bmV0IHAmYXJpbmc7IGVuIHMmb3NsYXNoO2staS1lZ2Vuc2thcChicm93c2UgcHJvcGVydHkpLW1hbCBzb20gaWtrZSBlciBzdGFuZGFyZCAmYXJpbmc7IGJlbnl0dGUgZm9yIHMmb3NsYXNoO2tlLXZpc25pbmdlbic7CiRsYW5nWydoZWxwX3BhcmFtX2dyb3VwJ10gPSAnTiZhcmluZztyIGJlbnl0dGV0IG1lZCBzdGFuZGFyZCBoYW5kbGluZ2VuIGImb3NsYXNoO3IgZGVubmUgcGFyYW1ldGVyIGlubmVob2xkZSBuYXZuZXQgcCZhcmluZzsgZW4gRkVVIGJydWtlcmdydXBwZSwgb2cgdmlsIGRhIGJlZ3JlbnNlIHZpc25pbmdlbiB0aWwga3VuIG1lZGxlbW1lciBhdiBkZW4gZ3J1cHBlbi4nOwokbGFuZ1snaGVscF9wYXJhbV9naWQnXSA9ICdOJmFyaW5nO3IgYmVueXR0ZXQgbWVkIHN0YW5kYXJkIGhhbmRsaW5nZW4gYiZvc2xhc2g7ciBkZW5uZSBwYXJhbWV0ZXIgaW5uZWhvbGRlIGlkJiMwMzk7ZW4gcCZhcmluZzsgZW4gRkVVIGJydWtlcmdydXBwZSwgb2cgdmlsIGRhIGJlZ3JlbnNlIHZpc25pbmdlbiB0aWwga3VuIG1lZGxlbW1lciBhdiBkZW4gZ3J1cHBlbi4gRGVubmUgcGFyYW1ldGVyIGthbiBpa2tlIGJydWtlcyBzYW1tZW4gbWVkICYjMDM5O2dyb3VwJiMwMzk7IHBhcmFtZXRlcmVuLic7CiRsYW5nWydoZWxwX3BhcmFtX3Nob3dleHBpcmVkJ10gPSAnU29tIHN0YW5kYXJkLCB2aWwgc3lzdGVtZXQgdXRlbHVra2UgdXRsJm9zbGFzaDtwdGUgYnJ1a2VyZSBmcmEgYWxsZSBnZW5lcmVydGUgcmFwcG9ydGVyLiAmQXJpbmc7IHNldHRlIGRlbm5lIHBhcmFtZXRlciB0aWwgIDEgIHZpbCBvZ3MmYXJpbmc7IHV0bCZvc2xhc2g7cHRlIGJydWtlcmUgYmxpIGlua2x1ZGVydC4nOwokbGFuZ1snaGVscF9wYXJhbV9zb3J0YnknXSA9ICdCcnVrdCBtZWQgc3RhbmRhcmQgaGFuZGxpbmdlbiB2aWwgZGVubmUgcGFyYW1ldGVyZW4gc3Blc2lmaXNlcmUgc29ydGVyaW5nZW4gYXYgZGVuIGdlbmVyZXJ0ZSB2aXNuaW5nZW4uIE11bGlnZSB2ZXJkaWVyIGVyOg0KPHVsPg0KIDxsaT5pZCAtIEJydWtlcmVucyBpZDwvbGk+DQogPGxpPnVzZXJuYW1lIC0gQnJ1a2VyZW5zIGJydWtlcm5hdm48L2xpPg0KIDxsaT5jcmVhdGVkYXRlIC0gRGF0byBmb3IgbiZhcmluZztyIGJydWtlcmtvbnRvZW4gYmxlIG9wcHJldHRldC48L2xpPg0KIDxsaT5leHBpcmVzIC0gRGF0byBmb3IgbiZhcmluZztyIGJydWtlcmtvbnRvZW4gdmlsIHV0bCZvc2xhc2g7cGUgKGVsbGVyIG4mYXJpbmc7ciBkZW4gdXRsJm9zbGFzaDtwKS48L2xpPg0KIDxsaT5hY3Rpdml0eSAtIERhdG8gZm9yIG4mYXJpbmc7ciBkZXQgc2lzdCBibGUgbG9nZ2V0IGlubiBlbGxlciB1dCBhdiBicnVrZXJrb250b2VuLjwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwX3BhcmFtX3NvcnRvcmRlciddID0gJ0JydWt0IG1lZCBzdGFuZGFyZCBoYW5kbGluZ2VuIHZpbCBkZW5uZSBwYXJhbWV0ZXJlbiBzcGVzaWZpc2VyZSBzb3J0ZXJpbmdzcmV0bmluZ2VuIHAmYXJpbmc7IGRlbiBnZW5lcmVydGUgdmlzbmluZ2VuLiBNdWxpZ2UgdmVyZGllciBlcjoNCjx1bD4NCiAgPGxpPkFTQyAtIFN0aWdlbmRlIHJla2tlZiZvc2xhc2g7bGdlPC9saT4NCiAgPGxpPkRFU0MgLSBTeW5rZW5kZSByZWtrZWYmb3NsYXNoO2xnZTwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwX3BhcmFtX3BhZ2VsaW1pdCddID0gJ0JydWt0IG1lZCBzdGFuZGFyZCBoYW5kbGluZ2VuIHZpbCBkZW5uZSBwYXJhbWV0ZXJlbiBzcGVzaWZpc2VyZSBtYWtzaW1hbHQgYW50YWxsIHBvc3RlciBzb20gc2thbCB2aXNlcy4nOwokbGFuZ1snaGVscF9wYXJhbV9wcm9wJ10gPSAnQnJ1a3QgbWVkIHN0YW5kYXJkIG9nIGRpcmVjdG9yeSBoYW5kbGluZ2VuZSB2aWwgZGVubmUgcGFyYW1ldGVyIG9wcGYmb3NsYXNoO3JlIHNlZyBwJmFyaW5nOyB0byB1bGlrZSBtJmFyaW5nO3RlciBhbHQgZXR0ZXIgaGFuZGxpbmdlbjoNCjx1bD4NCiAgPGxpPlN0YW5kYXJkIChzYW1tZW5kcmFnKSBoYW5kbGluZ2VuLg0KICAgIDxwPkkgc3RhbmRhcmQgKHNhbW1lbmRyYWcpIGhhbmRsaW5nZW4ga2FuIGRlbm5lIHBhcmFtZXRlcmVuIGJlbnl0dGVzIGZvciAmYXJpbmc7IHNwZXNpZmlzZXJlIGVuIGVnZW5za2FwIG1hbiB2aWwgZmlsdHJlcmUgcCZhcmluZzsuPC9wPg0KICA8L2xpPg0KICA8bGk+QnJvd3NlIGhhbmRsaW5nZW4NCiAgICA8cD5JIGJyb3dzZSBoYW5kbGluZ2VuIGthbiBkZW5uZSBwYXJhbWV0ZXJlbiBiZW55dHRlcyBmb3IgJmFyaW5nOyBzcGVzaWZpc2VyZSBlbiBGRVUgZWdlbnNrYXAgJmFyaW5nOyBsZXRlIGk8L3A+DQogIDwvbGk+DQogIDxsaT5LYXRhbG9nIGhhbmRsaW5nZW4uDQogICAgPHA+SSBkaXJlY3Rvcnkoa2F0YWxvZykgaGFuZGxpbmdlbiBrYW4gZGVubmUgcGFyYW1ldGVyZW4gYmVueXR0ZXMgZm9yICZhcmluZzsgc3Blc2lmaXNlcmUgZW4gZWdlbnNrYXAgbWFuIHZpbCBnZW5lcmVyZSBlbiBrYXRhbG9nIGZyYS4gU3RhbmRhcmQgdmVyZGkgaSBkaXJlY3Rvcnkoa2F0YWxvZykgaGFuZGxpbmdlbiBlciAmYW1wO3F1b3RlO3Vuc2VybmFtZSZhbXA7cXVvdGU7PC9wPg0KICA8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscF9wYXJhbV9wcm9wdmFsJ10gPSAnQmVueXR0ZXQgc2FtbWVuIG1lZCAgJnF1b3Q7cHJvcCZxdW90OyAgcGFyYW1ldGVyZW4gZm9yIHN0YW5kYXJkIChzYW1tZW5kcmFnKSBoYW5kbGluZ2VuLCB0aWxsYXRlciBkZW5uZSBwYXJhbWV0ZXJlbiAmYXJpbmc7IHNwZXNpZmlzZXJlIGVuIHZlcmRpIHNvbSBicnVrZXJlIHNrYWwgZmlsdHJlcmVzIG1lZC4nOwokbGFuZ1snaGVscF9wYXJhbV91c2VsaWtlJ10gPSAnQmVueXR0ZXQgc2FtbWVuIG1lZCAgJnF1b3Q7cHJvcCZxdW90OyAgb2cgICZxdW90O3Byb3B2YWwmcXVvdDsgIHBhcmFtZXRlcmVuLCB2aWwgZGVubmUgcGFyYW1ldGVyZW4gLSBvbSBkZW4gZXIgc2F0dCB0aWwgZW4gcG9zaXRpdiBpbnRlZ2VyIHZlcmRpIC0gaW5kaWtlcmUgYXQgcHJvcHZhbCBwYXJhbWV0ZXJlbiBpbm5laG9sZGVyIGV0IExJS0UgdXR0cnlrayAoTElLRSBleHByZXNzaW9uKS4nOwokbGFuZ1snaGVscF9wYXJhbV9kZXRhaWxwYWdlJ10gPSAnRGVubmUgcGFyYW1ldGVyZW4sIG9tIHNwZXNpZmlzZXJ0LCBiJm9zbGFzaDtyIGlubmVob2xkZSBwYWdlaWQgZWxsZXIgYWxpYXMgZm9yIGVuIENNUyBpbm5ob2xkc2lkZSBodm9yIGR1IHZpbCBhdCBkZXRhbGpyYXBwb3J0ZXIgc2thbCB2aXNlcy4nOwokbGFuZ1snaGVscF9wYXJhbV9zdW1tYXJ5dGVtcGxhdGUnXSA9ICdEZW5uZSBwYXJhbWV0ZXIgdGlsbGF0ZXIgJmFyaW5nOyBzcGVzaWZpc2VyZSBuYXZuZXQgcCZhcmluZzsgZW4gbWFsLCBzb20gaWtrZSBlciBzeXN0ZW1zdGFuZGFyZCBmb3Igc2FtbWVuZHJhZywgJmFyaW5nOyBiZW55dHRlIGZvciBzYW1tZW5kcmFnc3Zpc25pbmdlcic7CiRsYW5nWydoZWxwX3BhcmFtX2RldGFpbHRlbXBsYXRlJ10gPSAnRGVubmUgcGFyYW1ldGVyIHRpbGxhdGVyICZhcmluZzsgc3Blc2lmaXNlcmUgbmF2bmV0IHAmYXJpbmc7IGVuIG1hbCwgc29tIGlra2UgZXIgc3lzdGVtc3RhbmRhcmQgZm9yIGRldGFsanZpc25pbmcsICZhcmluZzsgYmVueXR0ZSBmb3IgZGV0YWxqdmlzbmluZ2VyJzsKJGxhbmdbJ2hlbHBfcGFyYW1fZGlyZWN0b3J5dGVtcGxhdGUnXSA9ICdEZW5uZSBwYXJhbWV0ZXIgdGlsbGF0ZXIgJmFyaW5nOyBzcGVzaWZpc2VyZSBuYXZuZXQgcCZhcmluZzsgZW4gbWFsLCBzb20gaWtrZSBlciBzeXN0ZW1zdGFuZGFyZCBmb3Iga2F0YWxvZ3Zpc25pbmcsICZhcmluZzsgYmVueXR0ZSBmb3Iga2F0YWxvZ3Zpc25pbmdlcic7CiRsYW5nWydoZWxwX3BhcmFtX3NlYXJjaGZvcm10ZW1wbGF0ZSddID0gJ0Rlbm5lIHBhcmFtZXRlciB0aWxsYXRlciAmYXJpbmc7IHNwZXNpZmlzZXJlIG5hdm5ldCBwJmFyaW5nOyBlbiBzJm9zbGFzaDtrZW1hbCBzb20gaWtrZSBlciBzYXR0IHN0YW5kYXJkICZhcmluZzsgYmVueXR0ZSBpIHMmb3NsYXNoO2tlc2tqZW1hJzsKJGxhbmdbJ2hlbHBfcGFyYW1fc2VhcmNocHJvcGVydHknXSA9ICdEZW5uZSBwYXJhbWV0ZXIgdGlsbGF0ZXIgJmFyaW5nOyBzcGVzaWZpc2VyZSBldCBlbmtlbHQgZWtzdHJhIEZFVSBlZ2Vuc2thcHNuYXZuICZhcmluZzsgdGlsZiZvc2xhc2g7cmUgdGlsIHMmb3NsYXNoO2tlc2tqZW1hZXQnOwokbGFuZ1snaGVscF9wYXJhbV91aWQnXSA9ICdCZW55dHRldCBzYW1tZW4gbWVkIGRldGFsanZpc25pbmdlbiwgbSZhcmluZzsgZGVubmUgcGFyYW1ldGVyZW4gaW5uZWhvbGRlIHVpZCBmb3IgZW4gZ3lsZGlnIEZyb250RW5kVXNlciBrb250byc7CiRsYW5nWydpbmZvX2Jyb3dzZXByb3BfdGVtcGxhdGUnXSA9ICdTJm9zbGFzaDtrLWllZ2Vuc2thcChCcm93c2UgUHJvcGVydHkpLW1hbGVyIHZpc2VyIGVuIGxpc3RlIG1lZCB1bmlrZSB2ZXJkaWVyIGZvciBkZW4gc3Blc2lmaXNlcnRlIGVnZW5za2FwZW4uIEh2ZXIgb3BwZiZvc2xhc2g7cmluZyBpIGxpc3RlbiBlciBlbiBsZW5rZSB0aWwgZW4gc2FtbWVuZHJhZ3N2aXNuaW5nIHNvbSBpbm5laG9sZGVyIGRlIGJydWtlcm5lIHNvbSBwYXNzZXIgZGVuIGVnZW5za2Fwc3ZlcmRpZW4uIER1IGthbiBiZW55dHRlIGVudmhlciBzbWFydHlsb2dpa2sgZWxsZXIgdmFyaWFibGVyIHNvbSBhbGxlcmVkZSBlciBvcHByZXR0ZXQsIGVsbGVyIGRlIHNvbSBzcGVzaWZpa3QgZXIgZ2pvcnQgdGlsZ2plbmdlbGlnZSBmb3IgZGVubmUgdmlzbmluZ2VuLic7CiRsYW5nWydpbmZvX2Jyb3dzZXByb3BfdGVtcGxhdGVzX3RhYiddID0gJ0Rlbm5lIGZhbmVuIGlubmVob2xkZXJsaXN0ZW4gbWVkIHRpbGdqZW5nZWxpZ2UgcyZvc2xhc2g7ay1pZWdlbnNrYXAoYnJvd3NlIHByb3BlcnR5KSB2aXNuaW5nc21hbGVyLiBFbiBhdiBkZW0gZXIgc2F0dCBzb20gc3RhbmRhcmQuIERlbiBzb20gZXIgc3RhbmRhcmQgdmlsIGJsaSBiZW55dHRldCBuJmFyaW5nO3IgaW5nZW4gYW5kcmUgbWFsbmF2biBlciBvcHBnaXR0IGkgdGFnZ2VuIHNvbSBrYWxsZXIgZGVubmUgbW9kdWxlbic7CiRsYW5nWydpbmZvX2RldGFpbF90ZW1wbGF0ZSddID0gJ0RldGFsam1hbGVyIHZpc2VyIGRldGFsamVydCBpbmZvcm1hc2pvbiBvbSBlbiBzcGVzaWZpZXNlcnQgRnJvbnRFbmRVc2VyLiBIRXIgZGVzaWduZXIgZHUgbSZhcmluZzt0ZW4gZHUgdmlsIGF0IGRlbm5lIGluZm9ybWFzam9uZW4gc2thbCB2aXNlcy4gRHUga2FuIGJydWtlIGFsbCBzbWFydHkgbG9naWtrIGVsbGVyIHZhcmlhYmxlciBzb20gZnJhIGYmb3NsYXNoO3IgaGFyIGJsaXR0IGRlc2lnbmV0LCBlbGxlciBkZSBzb20gZXIgZ2pvcnQgdGlsZ2plbmdlbGlnZSBzcGVzaWVsdCBmb3IgZGVubmUgdmlzbmluZ2VuJzsKJGxhbmdbJ2luZm9fZGV0YWlsX3RlbXBsYXRlc190YWInXSA9ICdEZW5uZSBmYW5lbiBpbm5laG9sZGVyIGxpc3RlbiBtZWQgdGlsZ2plbmdlbGlnZSBkZXRhbGp2aXNuaW5nIG1hbGVyLiBFbiBhdiBkZW0gZXIgbWFya2VydCBzb20gc3RhbmRhcmQuIERlbiBzb20gZXIgc3RhbmRhcmQgdmlsIGJsaSBiZW55dHRldCBuJmFyaW5nO3IgaWtrZSBldCBhbm5ldCBtYWxuYXZuIGVyIGVrc3BsaXNpdHQgYW5naXR0IGkgdGFnZ2VuIHNvbSBrYWxsZXIgZGVubmUgbW9kdWxlbic7CiRsYW5nWydpbmZvX2RpcmVjdG9yeV90ZW1wbGF0ZSddID0gJ0thdGFsb2dtYWxlciB2aXNlciBlbiBhbGZhYmV0aXNrIGxpc3RlIG1lZCBsZW5rZXIuIE4mYXJpbmc7ciBlbiBsZW5rZSBrbGlra2VzIHZpbCBkZW4gdmlzZSBlbiBzYW1tZW5kcmFnc3Zpc25pbmcgYXYgZGUgYnJ1a2VybmUgc29tIHBhc3NlciBtZWQgZGVuIGJva3N0YXZlbi4gRGV0IGVyIG11bGlnICZhcmluZzsgb3BwcmV0dGUga2F0YWxvZ2VyIGJhc2VydCBwJmFyaW5nOyBmb3Jza2plbGxpZ2UgZWdlbnNrYXBlci4gSGVyIGRlc2lnbmVyIGR1IGh2b3JkYW4gZHUgdmlsIGF0IGRlbm5lIGluZm9ybWFzam9uZW4gc2thbCB2aXNlcy4gRHUga2FuIGJydWtlIGFsbCBzbWFydHkgbG9naWtrIGVsbGVyIHZhcmlhYmxlciBzb20gZnJhIGYmb3NsYXNoO3IgaGFyIGJsaXR0IGRlc2lnbmV0LCBlbGxlciBkZSBzb20gZXIgZ2pvcnQgdGlsZ2plbmdlbGlnZSBzcGVzaWVsdCBmb3IgZGVubmUgdmlzbmluZ2VuJzsKJGxhbmdbJ2luZm9fZGlyZWN0b3J5X3RlbXBsYXRlc190YWInXSA9ICdEZW5uZSBmYW5lbiBpbm5laG9sZGVyIGxpc3RlbiBtZWQgdGlsZ2plbmdlbGlnZSBrYXRhbG9nbWFsZXIuIEVuIGF2IGRlbSBlciBtYXJrZXJ0IHNvbSBzdGFuZGFyZC4gRGVuIHNvbSBlciBzdGFuZGFyZCB2aWwgYmxpIGJlbnl0dGV0IG4mYXJpbmc7ciBpa2tlIGV0IGFubmV0IG1hbG5hdm4gZXIgZWtzcGxpc2l0dCBhbmdpdHQgaSB0YWdnZW4gc29tIGthbGxlciBkZW5uZSBtb2R1bGVuJzsKJGxhbmdbJ2luZm9fc3VtbWFyeV90ZW1wbGF0ZSddID0gJ1NhbW1lbmRyYWdzbWFsZXIgdmlzZXIgaW5mb3JtYXNqb24gb20gZW4gbGlzdGUgbWVkIGJydWtlcmUgc29tIHNhbXN2YXJlciBtZWQgZXQga3JpdGVyaXVtLiAgSGVyIGRlc2lnbmVyIGR1IGh2b3JkYW4gZHUgdmlsIGF0IGRlbm5lIGluZm9ybWFzam9uZW4gc2thbCB2aXNlcy4gRHUga2FuIGJydWtlIGFsbCBzbWFydHlsb2dpa2sgZWxsZXIgdmFyaWFibGVyIHNvbSBmcmEgZiZvc2xhc2g7ciBoYXIgYmxpdHQgZGVzaWduZXQsIGVsbGVyIGRlIHNvbSBlciBnam9ydCB0aWxnamVuZ2VsaWdlIHNwZXNpZWx0IGZvciBkZW5uZSB2aXNuaW5nZW4nOwokbGFuZ1snaW5mb19zZWFyY2hmb3JtX3RlbXBsYXRlJ10gPSAnUyZvc2xhc2g7a2Vza2plbWFtYWxlciB2aXNlciBldCBza2plbWEgZm9yICZhcmluZzsgdGlsbGF0ZSBzJm9zbGFzaDtraW5nIGV0dGVyIGVuIGJlc3RlbXQgYnJ1a2VyIGVsbGVyIGVuIGJydWtlcmdydXBwZS4gSGVyIGRlc2lnbmVyIGR1IG0mYXJpbmc7dGVuIGR1IHZpbCBhdCBza2plbWEgc2thbCB2aXNlcy4gRHUga2FuIGJydWtlIGFsbCBzbWFydHlsb2dpa2sgZWxsZXIgdmFyaWFibGVyIHNvbSBmcmEgZiZvc2xhc2g7ciBoYXIgYmxpdHQgZGVzaWduZXQsIGVsbGVyIGRlIHNvbSBlciBnam9ydCB0aWxnamVuZ2VsaWdlIHNwZXNpZWx0IGZvciBkZW5uZSB2aXNuaW5nZW4nOwokbGFuZ1snaW5mb19zZWFyY2hmb3JtX3RlbXBsYXRlc190YWInXSA9ICdEZW5uZSBmYW5lbiBpbm5laG9sZGVyIGxpc3RlbiBtZWQgdGlsZ2plbmdlbGlnZSBzJm9zbGFzaDtrZXNramVtYW1hbGVyLiBFbiBhdiBkaXNzZSBlciBtYXJrZXJ0IHNvbSBzdGFuZGFyZC4gRGVuIHNvbSBlciBzdGFuZGFyZCB2aWwgYXV0b21hdGlzayBibGkgYmVueXR0ZXQgb20gZGV0IGlra2UgZXQgYW5uZXQgbmF2biBvcHBnaXMgaSB0YWdnZW4gc29tIGthbGxlciBvcHAgZGVubmUgbW9kdWxlbic7CiRsYW5nWydpbmZvX3N1bW1hcnlfdGVtcGxhdGVzX3RhYiddID0gJ0Rlbm5lIGZhbmVuIGlubmVob2xkZXIgbGlzdGVuIG1lZCB0aWxnamVuZ2VsaWdlIHNhbW1lbmRyYWdzbWFsZXIuIEVuIGF2IGRlbSBlciBtYXJrZXJ0IHNvbSBzdGFuZGFyZC4gRGVuIHNvbSBlciBzdGFuZGFyZCB2aWwgYmxpIGJlbnl0dGV0IG4mYXJpbmc7ciBpa2tlIGV0IGFubmV0IG1hbG5hdm4gZXIgZWtzcGxpc2l0dCBhbmdpdHQgaSB0YWdnZW4gc29tIGthbGxlciBkZW5uZSBtb2R1bGVuJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9icm93c2Vwcm9wX3RlbXBsYXRlJ10gPSAnU3lzdGVtc3RhbmRhcmQgcyZvc2xhc2g7ay1pLWVnZW5za2FwKEJyb3dzZSBQcm9wZXJ0eSkgdmlzbmluZ3NtYWwnOwokbGFuZ1snaW5mb19zeXNkZmx0X2RldGFpbF90ZW1wbGF0ZSddID0gJ1N5c3RlbXN0YW5kYXJkIGRldGFsanZpc25pbmdzbWFsJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9kaXJlY3RvcnlfdGVtcGxhdGUnXSA9ICdTeXN0ZW1zdGFuZGFyZCBrYXRhbG9nbWFsJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9zZWFyY2hmb3JtX3RlbXBsYXRlJ10gPSAnU3lzdGVtc3RhbmRhcmQgcyZvc2xhc2g7a2Vza2plbWFtYWwnOwokbGFuZ1snaW5mb19zeXNkZmx0X3N1bW1hcnlfdGVtcGxhdGUnXSA9ICdTeXN0ZW1zdGFuZGFyZCBzYW1tZW5kcmFnc3Zpc25pbmdzbWFsJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF90ZW1wbGF0ZSddID0gJyZBcmluZzsgZW5kcmUgaSBkZW5uZSBtYWwgdmlsIGlra2UgaGEgbm9lbiB1bWlkZGVsYmFyIGVmZmVrdCBwJmFyaW5nOyBub2VuIHZpc25pbmcuICBEZXR0ZSBza2plbWEga29udHJvbGxlcmVyIGlubmhvbGRldCBwJmFyaW5nOyBtYWxlbiBzb20gb3BwcmV0dGVzIG4mYXJpbmc7ciBkdSBrbGlra2VyICZxdW90O055IG1hbCZxdW90OyBpIGRlbiBha3R1ZWxsZSBmYW5lbi4nOwokbGFuZ1snbGFzdF9hY3RpdmUnXSA9ICdTaXN0ZSBha3RpdmUnOwokbGFuZ1snbGJsX2Jyb3dzZXByb3B0ZW1wbGF0ZXMnXSA9ICdTJm9zbGFzaDtrLWktZWdlbnNrYXAoQnJvd3NlIFByb3BlcnR5KSBtYWxlcic7CiRsYW5nWydsYmxfZGVmYXVsdHRlbXBsYXRlcyddID0gJ1N0YW5kYXJkIG1hbGVyJzsKJGxhbmdbJ2xibF9kZXRhaWx0ZW1wbGF0ZXMnXSA9ICdEZXRhbGp2aXNuaW5ncyBtYWxlcic7CiRsYW5nWydsYmxfZGlyZWN0b3J5dGVtcGxhdGVzJ10gPSAnS2F0YWxvZ21hbGVyJzsKJGxhbmdbJ2xibF9maXJzdF9wYWdlJ10gPSAnRyZhcmluZzsgdGlsIGYmb3NsYXNoO3JzdGUgc2lkZW4nOwokbGFuZ1snbGJsX2xhc3RfcGFnZSddID0gJ0cmYXJpbmc7IHRpbCBzaXN0ZSBzaWRlbic7CiRsYW5nWydsYmxfbmV4dF9wYWdlJ10gPSAnRyZhcmluZzsgdGlsIG5lc3RlIHNpZGUnOwokbGFuZ1snbGJsX3ByZXZfcGFnZSddID0gJ0cmYXJpbmc7IHRpbCBmb3JyaWdlIHNpZGUnOwokbGFuZ1snbGJsX3NlYXJjaGZvcm10ZW1wbGF0ZXMnXSA9ICdTJm9zbGFzaDtrZXNramVtYW1hbGVyJzsKJGxhbmdbJ2xibF9zZXR0aW5ncyddID0gJ0lubnN0aWxsaW5nZXInOwokbGFuZ1snbGJsX3N1bW1hcnl0ZW1wbGF0ZXMnXSA9ICdTYW1tZW5kcmFnc3Zpc25pbmdzIG1hbGVyJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnRW4gbW9kdWwgc29tIHRpbGxhdGVyIHMmb3NsYXNoO2tpbmcsIGJsYWluZyBvZyB2aXNuaW5nIGF2IGRldGFsamVyIG9tIEZyb250RW5kVXNlcnMnOwokbGFuZ1snb2YnXSA9ICdhdic7CiRsYW5nWydwYWdlJ10gPSAnU2lkZSc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0NHVXNlckRpcmVjdG9yeSBtb2R1bGVuIGVyIG4mYXJpbmc7IGtsYXIgZm9yICZhcmluZzsga29uZmlndXJlcmVzJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdDR1VzZXJkaXJlY3RvcnkgbW9kdWxlbiwgb2cgYWxsZSBhc3Nvc2llcnRlIGRhdGEgaGFyIGJsaXR0IGF2aW5zdGFsbGVydCBmcmEgZGF0YWJhc2VuJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ1V0ZiZvc2xhc2g7cic7CiRsYW5nWyd1c2VybmFtZSddID0gJ0JydWtlcm5hdm4nOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjQ4NzE0MTQzLjE2NDAuNDAudXRtY3NyPWZvcnVtLmNtc21hZGVzaW1wbGUub3JnfHV0bWNjbj0ocmVmZXJyYWwpfHV0bWNtZD1yZWZlcnJhbHx1dG1jY3Q9L2luZGV4LnBocCc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjE3OTA1MjYyMzA4NDExMDEwMC4xMjEwNDIzNTc3LjEyNDkxMzczMTMuMTI0OTEzOTc2OC4xNjczJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1My41LjEwLjEyNDkxMzk3NjgnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nl_NL.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FkZGVkaXRfYnJvd3NlcHJvcF90ZW1wbGF0ZSddID0gJ1RvZXZvZWdlbi93aWp6aWdlbiBicm93c2UgZWlnZW5zY2hhcHBlbiBzamFibG9vbic7CiRsYW5nWydhZGRlZGl0X2RldGFpbF90ZW1wbGF0ZSddID0gJ1RvZXZvZWdlbi93aWp6aWdlbiBkZXRhaWwgc2phYm9vbic7CiRsYW5nWydhZGRlZGl0X2RpcmVjdG9yeV90ZW1wbGF0ZSddID0gJ1RvZXZvZWdlbi93aWp6aWdlbiBkaXJlY3Rvcnkgc2phYmxvb24nOwokbGFuZ1snYWRkZWRpdF9zZWFyY2hmb3JtX3RlbXBsYXRlJ10gPSAnVG9ldm9lZ2VuL3dpanppZ2VuIGZvcm11bGllciBzamFib29uJzsKJGxhbmdbJ2FkZGVkaXRfc3VtbWFyeV90ZW1wbGF0ZSddID0gJ1RvZXZvZWdlbi93aWp6aWdlbiBzYW1lbnZhdHRpbmcgc2phYmxvb24nOwokbGFuZ1snYW55J10gPSAnRW5pZ2UnOwokbGFuZ1snYXNrX3JlYWxseV91bmluc3RhbGwnXSA9ICdXZWV0IHUgemVrZXIgZGF0IHUgZGl0IHdpbHQgZG9lbj8gRG9vcmdhYW4gemFsIGFsbGUgZ2VnZXZlbnMgdmFuIGRlemUgbW9kdWxlIGRlZmluaXRpZWYgdmVyd2lqZGVyZW4nOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPg0KPGxpPlZlcnNpZSAxLjAgLSBKYW51YXJpIDIwMDkNCiAgPHA+RWVyc3RlIHJlbGVhc2U8L3A+DQo8L2xpPg0KPC91bD4nOwokbGFuZ1snY3JlYXRlZCddID0gJ0dlbWFha3QnOwokbGFuZ1snZXJyb3JfaW52YWxpZGdyb3VwJ10gPSAnVmVya2VlcmRlIGdyb2VwJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRzb3J0ZmllbGQnXSA9ICdWZXJrZWVyZCBrZXV6ZXZlbGQ6ICVzJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdwYXJhbSddID0gJ1RlIHdlaW5pZyBwYXJhbWV0ZXJzJzsKJGxhbmdbJ2Vycm9yX25vZmV1J10gPSAnRGUgRnJvbnRlbmQgVXNlcnMgbW9kdWxlIGlzIG5pZXQgYWFud2V6aWcnOwokbGFuZ1snZXJyb3JfdXNlcm5vdGZvdW5kJ10gPSAnRGUgZ2VicnVpa2VyIG1ldCBkaXQgSUQgaXMgbmlldCBnZXZvbmRlbic7CiRsYW5nWydleHBpcmVzJ10gPSAnVmVybG9vcHQnOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnQ2FsZ3V5cyBVc2VyIERpcmVjdG9yeSAnOwokbGFuZ1snZ3JvdXBzJ10gPSAnR3JvZXBlbic7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldhYXIgd29yZHQgaGV0IHZvb3IgZ2VicnVpa3Q/PC9oMz4NCjxwPkRlemUgbW9kdWxlIGdlZWZ0IGRlIG1vZ2VsaWpraGVpZCBvbSBvdmVyemljaHRlbiB0ZSBnZW5lcmVyZW4gbWV0IHNhbWVudmF0dGluZ2VuIHZhbiBnZWdldmVucyB2YW4gRnJvbnRFbmRVc2VycyBvcCBiYXNpcyB2YW4gdm9vcmluZ2VzdGVsZGUgdm9vcndhYXJkZW4uIE9vayBrYW4gZXIgZWVuIHVpdGdlYnJlaWRkZSBwYWdpbmEgd29yZGVuIGdlbWFha3QuIEhldCBrYW4gZ2VicnVpa3Qgd29yZGVuIHZvb3IgaGV0IG1ha2VuIHZhbiBwcm9maWVsIHBhZ2luYSYjMDM5O3Mgb2YgYWxzIGVlbiB6Z24uIHNtb2VsZW5ib2VrLjwvcD4NCg0KPGgzPk1vZ2VsaWpraGVkZW46PC9oMz4NCjx1bD4NCiAgPGxpPlZvbGxlZGlnIHNqYWJsb29uYmVoZWVyDQo8cD5BbGxlIHNjaGVybWVuIHppam4gZG9vciBkZSBiZXNjaGlrYmFyZSBzamFibG9uZW4gZ2VoZWVsIHRlIGNvbmZpZ3VyZXJlbiwgZXIga2FuIG9vayBnZWJydWlrIGdlbWFha3Qgd29yZGVuIHZhbiBvLmEuIGphdmFzY3JpcHQsIGFqYXgsIGV0Yy4gRGUgdm9ybWdldmluZyBpcyBoaWVyZG9vciBnZWhlZWwgdGUgd2lqemlnZW4gZG9vciBkZSB3ZWJzaXRlIHZvcm1nZXZlci48L3A+DQogIDwvbGk+DQogIDxsaT5NZWVyZGVyZSBkYXRhYmFzZSBzamFibG9uZW4uDQo8cD5VIGt1bnQgb3AgdmVyc2NoaWxsZW5kZSBtYW5pZXJlbiBtZXQgZGUgZ2VnZXZlbnMgc2NoZXJtZW4gb3Bib3V3ZW4gZW4gZGV6ZSBvcCBkaXZlcnNlIG1hbmllcmVuIGdlYnJ1aWtlbi48L3A+DQogIDwvbGk+DQo8bGk+RmlsdGVyIHNhbWVudmF0dGluZ2VuIGRvb3IgZ2VicnVpayB2YW4gZ2VicnVpa2Vyc2dlZ2V2ZW5zLg0KPHA+VSBrdW50IGRlIHVpdGtvbXN0IGZpbHRlcmVuIGdlYmFzZWVyZCBvcCBlZW4gc3BlY2lmaWVrZSBnZWJydWlrZXIgdWl0IGRlIEZFVSBtb2R1bGUuIERpdCBpcyBpbmNsdXNpZWYgJnF1b3Q7TElLRSZxdW90OyBnZWJhc2VlcmRlIGNyaXRlcmlhLjwvcD4NCiAgPC9saT4NCiAgPGxpPlNvcnRlcmVuIG1ldCBtZWVyZGVyZSBjcml0ZXJpYS48L2xpPg0KICA8bGk+T25kZXJzdGV1bmQgU0VPIHZyaWVuZGVsaWprZSBVUkwmIzAzOTtzPC9saT4NCjwvdWw+DQo8aDM+SG9lIGdlYnJ1aWsgaWsgaGV0PzwvaDM+DQo8cD5EZSBtYWtrZWxpamtzdGUgbWFuaWVyIG9tIGRlIG1vZHVsZSB0ZSBnZWJydWlrZW4gaXMgZG9vciBlZW4gdGFnIGluIGRlIHBhZ2luYXNqYWJsb29uIG9mIGluIGRlIHBhZ2luYSBjb250ZW50IHRlIHBsYWF0c2VuOiA8Y29kZT57Q0dVc2VyRGlyZWN0b3J5fTwvY29kZT4uIE9tIGRlIGZ1bmN0aW9uYWxpdGVpdCB1aXQgdGUgYnJlaWRlbiBvZiBvbSBzbGVjaHRzIGVlbiBnZWRlZWx0ZSB0ZSBsYXRlbiB6aWVuIGdlYnJ1aWsgb25kZXJzdGFhbmRlIHBhcmFtZXRlcnMuPC9wPg0KDQo8aDM+Vm9vcmJlZWxkZW46PC9oMz4NCjx1bD4NCjxsaT5MYWF0IGFsbGUgZ2VicnVpa2VycyB6aWVuOg0KPHA+PGNvZGU+e0NHVXNlckRpcmVjdG9yeSBhY3Rpb249JnF1b3Q7ZGlyZWN0b3J5JnF1b3Q7fTwvY29kZT48L3A+DQo8L2xpPg0KPGxpPkxhYXQgZGUgZ2VicnVpa2VycyBwZXIgd29vbnBsYWF0cyB6aWVuOg0KPHA+PGNvZGU+e0NHVXNlckRpcmVjdG9yeSBhY3Rpb249JnF1b3Q7ZGlyZWN0b3J5JnF1b3Q7IHByb3A9JnF1b3Q7Y2l0eSZxdW90O308L2NvZGU+PC9wPg0KPC9saT4NCjxsaT5MYWF0IGVlbiBzYW1lbnZhdHRpbmcgemllbiB2YW4gYWxsZSBnZWJydWlrZXJzIGluIGRlICZxdW90O21lbWJlcnMmcXVvdDsgZ3JvZXA6DQo8cD48Y29kZT57Q0dVc2VyRGlyZWN0b3J5IGdyb3VwPSZxdW90O21lbWJlcnMmcXVvdDt9PC9jb2RlPjwvcD4NCjwvbGk+DQo8bGk+TGFhdCBhbGxlIGJlYnJ1aWtlcnMgemllbiBpbiBkZSB3b29ucGxhYXRzICZxdW90O0NhbGdhcnkmcXVvdDs6DQo8cD48Y29kZT57Q0dVc2VyRGlyZWN0b3J5IHByb3A9JnF1b3Q7Y2l0eSZxdW90OyBwcm9wdmFsPSZxdW90O2NhbGdhcnkmcXVvdDt9PC9jb2RlPjwvcD4NCjwvbGk+DQo8bGk+TGFhdCBhbGxlIGdlYnJ1aWtlcnMgemllbiBkaWUgd29uZW4gaW4gZWVuIGxhbmQgZGllIGJlZ2ludCBtZXQgZGUgbGV0dGVyIEM6DQo8cD48Y29kZT57Q0dVc2VyRGlyZWN0b3J5IHByb3A9JnF1b3Q7Y2l0eSZxdW90OyB1c2VsaWtlPTEgcHJvcHZhbD0mcXVvdDtjJSZxdW90O308L2NvZGU+PC9wPg0KPC9saT4NCg0KPC91bD4NCg0KPGgzPk9wbWVya2luZ2VuIG92ZXIgJnF1b3Q7cHJldHR5IFVSTCYjMDM5O3MmcXVvdDs8L2gzPg0KPHA+JnF1b3Q7UHJldHR5JnF1b3Q7IG9mIFNFTyB2cmllbmRlbGlqa2UgVVJMJiMwMzk7cyBiZXBlcmtlbiBkZSBmbGV4aWJpbGl0ZWl0IHZhbiBkZSBtb2R1bGUgZW4gZGUgdGUgZ2VicnVpa2VuIHBhcmFtZXRlcnMuIE1ldCBuYW1lIGRpZWdlbmUgZGllIGRvb3JnZXN0dXVyZCB3b3JkZW4gdmFuIG9uZGVybGlnZ2VuZGUgc2NoZXJtZW4uIE9tIGRlemUgcmVkZW4gd29yZGVuIGVyIGdlZW4gcHJldHR5LXVybCYjMDM5O3MgZ2VnZW5lcmVlcmQgaW4gZGUgc2FtZW52YXR0aW5ncyB2ZXJ3aWp6aW5nZW4uIEhpZXJkb29yIGt1bm5lbiBkZSBwYXJhbWV0ZXJzIHpvYWxzICZxdW90O2RldGFpbHBhZ2UmcXVvdDssICZxdW90O2RldGFpbHRlbXBsYXRlJnF1b3Q7IGVuICAmcXVvdDtzdW1tYXJ5dGVtcGxhdGUmcXVvdDsgd29yZGVuIGdlYnJ1aWt0IGluIGRlIHRhZyBvbSBkZSBtb2R1bGUgdGUgZ2VicnVpa2VuIGVuIGt1bm5lbiBkZXplIGdlYnJ1aWt0IHdvcmRlbiBpbiBkZSBvbmRlcmxpZ2dlbmRlIGRldGFpbCBvdmVyemljaHRlbi48YnIgLz4NCjwhLS0gUm9sZjogLS0+W1ZlcnRhbGVyOiBIb3BlbGlqayBpcyBkaXQgd2F0IENhbGd1eSBiZWRvZWxkZSwga2lqayBhbmRlcnMgZXZlbiBpbiBkZSBFbmdlbHNlIHZlcnNpZSFdDQo8L3A+DQo8aDM+U3VwcG9ydCBbRW5nLl08L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCB0aGUgY21zIGRldmVsb3BtZW50IGZvcmdlIGF0IDxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmciPmRldi5jbXNtYWRlc2ltcGxlLm9yZzwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4NCjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwIGFsbCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yKHMpIGRpcmVjdGx5LjwvbGk+ICANCjwvdWw+DQoNCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2UgW0VuZy5dPC9oMz4NCjxwPkNvcHlyaWdodCAmY29weTsgMjAwOCwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciPjxjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnPjwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPlRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQppdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQ0KdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3INCihhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uPC9wPg0KPHA+SG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkDQphcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUNCmluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMNCk1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiANCnNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQpidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0ENCk9yIHJlYWQgaXQgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5vbmxpbmU8L2E+PC9wPic7CiRsYW5nWydoZWxwX3BhcmFtX2FjdGlvbiddID0gJ0RlemUgcGFyYW1ldGVyIGJlaGVlcnQgZGUgd2Vya3dpanplIHZhbiBkZSBtb2R1bGUuIEVyIHppam4gZHJpZSBtb2dlbGlqa2Ugd2FhcmRlbjoNCjx1bD4NCiAgPGxpPmRlZmF1bHQgLSBMYWF0IGVlbiBzYW1lbnZhdHRpbmcgdmFuIGRlIGdlYnJ1aWtlcnMgemllbiwgZGllIGFhbiBkZXplIHZvb3J3YWFyZGVuIHZvbGRvZXQgJm9hY3V0ZTtmIGFsbGUgZ2VicnVpa2VycyBhbHMgZXIgZ2VlbiB2b29yd2FhcmRlbiBpbmdldm9lcmQgemlqbi48L2xpPg0KICA8bGk+ZGlyZWN0b3J5IC0gR2VlZnQgaW4gYWxmYWJldGlzY2hlIHZvbGdvcmRlIHZlcndpanppbmdlbiB3ZWVyIG5hYXIgZGUgc2FtZW52YXR0aW5nZW4gdmFuIGRlIGdlYnJ1aWtlcnMgZGllIHZvbGRvZW4gYWFuIGRlIHZvb3J3YWFyZGVuLiBIZXQgaXMgbW9nZWxpamsgb20gZWVuIGRpcmVjdG9yeSBvdmVyemljaHQgdGUga3JpamdlbiBtZXQgZWVuIGdlYnJ1aWtlcnNuYWFtIG9mIGVsa2UgYW5kZXJlIHBhcmFtZXRlci48L2xpPg0KICA8bGk+ZGV0YWlsIC0gR2VlZnQgZWVuIHZvbGxlZGlnIG92ZXJ6aWNodCB3ZWVyIHZhbiBkZSBnZXNwZWNpZmljZWVyZGUgZ2VicnVpa2VyLjwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwX3BhcmFtX2Jyb3dzZXByb3B0ZW1wbGF0ZSddID0gJ1RoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgYnJvd3NlIHByb3BlcnR5IHRlbXBsYXRlIG5hbWUgdG8gdXNlIGZvciBhIHByb3BlcnR5IGJyb3dzaW5nIHZpZXcnOwokbGFuZ1snaGVscF9wYXJhbV9ncm91cCddID0gJ0RlemUgcGFyYW1ldGVyIG1vZXQgZGUgbmFhbSBpbmhvdWRlbiB2YW4gZWVuIEZFVSBnZWJydWlrZXJzZ3JvZXAgJzsKJGxhbmdbJ2hlbHBfcGFyYW1fZ2lkJ10gPSAnRGV6ZSBwYXJhbWV0ZXIgbW9ldCBkZSBJRCB2YW4gZWVuIEZFVSBnZWJydWlrZXJzZ3JvZXAgYmV2YXR0ZW4gZW4gemFsIGRlIHVpdGtvbXN0IGJlcGVya2VuIHRvdCBkZSBsZWRlbiB2YW4gZGV6ZSBncm9lcC4gRGV6ZSBwYXJhbWV0ZXIga2FuIG5pZXQgZ2VicnVpa3Qgd29yZGVuIHNhbWVuIG1ldCBkZSAmIzAzOTtncm91cCYjMDM5OyBwYXJhbWV0ZXIuJzsKJGxhbmdbJ2hlbHBfcGFyYW1fc2hvd2V4cGlyZWQnXSA9ICdTdGFuZGFhcmQgd2FhcmRlLCBkZSBtb2R1bGUgemFsIHZlcmxvcGVuIGdlYnJ1aWtlcnMgbmlldCB0b25lbiBpbiBkZSBnZWJydWlrdGUgcmFwcG9ydGVuLiBEb29yIGRlIHBhcmFtZXRlciBvcCAmcXVvdDsxJnF1b3Q7IHRlIHpldHRlbiB6dWxsZW4gZGV6ZSB3JmVhY3V0ZTtsIHdvcmRlbiBnZXRvb25kLic7CiRsYW5nWydoZWxwX3BhcmFtX3NvcnRieSddID0gJ0dlYnJ1aWt0IHZvb3Igc3RhbmRhYXJkIGFjdGllcywgZGV6ZSBwYXJhbWV0ZXIgc3BlY2lmaWNlZXJ0IGRlIHZvbGdvcmRlIHZhbiBkZSBnZWdlbmVyZWVyZGUgdWl0a29tc3QuICBNb2dlbGlqa2Ugd2FhcmRlbiB6aWpuOg0KPHVsPg0KIDxsaT5pZCAtIERlIGdlYnJ1aWtlcnMgaWQ8L2xpPg0KIDxsaT51c2VybmFtZSAtIERlIGdlYnJ1aWtlcnNuYWFtPC9saT4NCiA8bGk+Y3JlYXRlZGF0ZSAtIERlIGRhdHVtIGRhdCBoZXQgZ2VicnVpa2Vyc2FjY291bnQgaXMgYWFuZ2VtYWFrdC48L2xpPg0KIDxsaT5leHBpcmVzIC0gRGUgZGF0dW0gd2FubmVlciBoZXQgZ2VicnVpa2Vyc2FjY291bnQgemFsIHZlcmxvcGVuIChvZiBpcyB2ZXJsb3BlbikuPC9saT4NCiA8bGk+YWN0aXZpdHkgLSBEZSBkYXR1bSB3YW5uZWVyIGRlIGdlYnJ1aWtlciBoZXQgbGFhdHN0IHdhcyBpbi0gb2YgdWl0Z2Vsb2dkLjwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwX3BhcmFtX3NvcnRvcmRlciddID0gJ0dlYnJ1aWsgdm9vciBzdGFuZGFhcmQgYWN0aWVzLCBkZXplIHBhcmFtZXRlciBzcGVjaWZpY2VlcnQgZGUgdm9sZ29yZGUgdmFuIHdlZXJnZXZlbiB2YW4gZGUgZ2VmaWx0ZXJkZSBpbmZvcm1hdGllLiBNb2dlbGlqa2Ugd2FhcmRlbiB6aWpuOg0KPHVsPg0KICA8bGk+QVNDIC0gKEFzY2VuZGluZyBvcmRlcikgQWZsb3BlbmRlIHZvbGdvcmRlPC9saT4NCiAgPGxpPkRFU0MgLSAoRGVzY2VuZGluZyBvcmRlcikgT3Bsb3BlbmRlIHZvbGdvcmRlPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHBfcGFyYW1fcGFnZWxpbWl0J10gPSAnRGV6ZSBwYXJhbWV0ZXIgc3BlY2lmaWNlZXJkIGhldCBtYXhpbXVtIGFhbnRhbCBnZWJydWlrZXJzIGRpZSB3b3JkZW4gZ2V0b29uZC4nOwokbGFuZ1snaGVscF9wYXJhbV9wcm9wJ10gPSAnR2VicnVpa3Qgdm9vciBkZSBzdGFuZGFhcmQgZW4gZGlyZWN0b3J5IGFjdGllcywgIGRlemUgcGFyYW1ldGVyIGdlZHJhYWd0IHppY2ggb3AgdHdlZSB2ZXJzY2hpbGxlbmRlIG1hbmllcmVuIGFmaGFuZ2VuZCB2YW4gZGUgYWN0aWU6DQoNCjx1bD4NCiAgPGxpPkRlIHN0YW5kYWFyZCAoc2FtZW52YXR0aW5nKSBhY3RpZQ0KICAgIDxwPkluIGRlIHN0YW5kYWFyZCAoc2FtZW52YXR0aW5nKSBhY3RpZSwga2FuIGRlemUgcGFyYW1ldGVyIHdvcmRlbiBnZWJydWlrdCBvbSBlZW4gYmVwYWFsZGUgZWlnZW5zY2hhcCB0ZSBzcGVjaWZpY2VyZW4gb20gdGUgZmlsdGVyZW4uPC9wPg0KICA8L2xpPg0KICA8bGk+RGUgZGlyZWN0b3J5IGFjdGllLg0KICAgIDxwPkluIGRlIGRpcmVjdG9yeSBhY3RpZSwga2FuIGRlemUgcGFyYW1ldGVyIHdvcmRlbiBnZWJydWlrdCBvbSBlZW4gZWlnZW5zY2hhcCB0ZSBzcGVjaWZpY2VyZW4gb20gZWVuIGRpcmVjdG9yeSB0ZSBzcGVjaWZpY2VyZW4uIERlIHN0YW5kYWFyZCB3YWFyZGUgaXMgJnF1b3Q7dXNlcm5hbWUmcXVvdDsgKGdlYnJ1aWtlcnNuYWFtKTwvcD4NCiAgPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHBfcGFyYW1fcHJvcHZhbCddID0gJ0dlYnJ1aWt0IGluIHNhbWVuaGFuZyBtZXQgZGUgJnF1b3Q7cHJvcCZxdW90OyBwYXJhbWV0ZXIgdm9vciBkZSBzdGFuZGFhcmQgKHNhbWVudmF0dGluZykgYWN0aWUsIG1ldCBkZXplIHBhcmFtZXRlciBrYW4gZWVuIHdhYXJkZSB3b3JkZW4gZ2VnZXZlbiB3YWFybWVlIGRlIGdlYnJ1aWtlcnMgZ2VmaWx0ZXJkIGthbiB3b3JkZW4uJzsKJGxhbmdbJ2hlbHBfcGFyYW1fdXNlbGlrZSddID0gJ0dlYnJ1aWt0IGluIHNhbWVuaGFuZyBtZXQgZGUgJnF1b3Q7cHJvcCZxdW90OyBlbiBkZSAmcXVvdDtwcm9wdmFsJnF1b3Q7IHBhcmFtZXRlcnMuIEFscyBkZXplIHBhcmFtZXRlciBlZW4gcG9zaXRpZXZlIHdhYXJkZSBoZWVmdCwgemFsIGRpdCBhYW5nZXZlbiBkYXQgZGUgJnF1b3Q7cHJvcHZhbCZxdW90OyBwYXJhbWV0ZXIgZWVuIExJS0UgJiMwMzk7ZXhwcmVzc2lvbiYjMDM5OyBiZXZhdC4NCic7CiRsYW5nWydoZWxwX3BhcmFtX2RldGFpbHBhZ2UnXSA9ICdBbHMgZGV6ZSBwYXJhbWV0ZXIgd29yZHQgZ2VicnVpa3QsIHphbCBkZXplIGVlbiBwYWdpbmEgSUQgb2YgZWVuIHBhZ2luYSBhbGlhcyBiZXZhdHRlbiB2YW4gZWVuIENNUyBwYWdpbmEgd2FhciB1IGhldCByYXBwb3J0IHdpbHQgd2VlcmdldmVuLic7CiRsYW5nWydoZWxwX3BhcmFtX3N1bW1hcnl0ZW1wbGF0ZSddID0gJ0RlemUgcGFyYW1ldGVyIHdvcmR0IGdlYnJ1aWt0IG9tIGVlbiBuaWV0IHN0YW5kYWFyZCBzYW1lbnZhdHRpbmdzamFibG9vbiB0ZSBzcGVjaWZpY2VyZW4gdm9vciBoZXQgc2FtZW52YXR0aW5nc2NoZXJtLic7CiRsYW5nWydoZWxwX3BhcmFtX2RldGFpbHRlbXBsYXRlJ10gPSAnRGV6ZSBwYXJhbWV0ZXIgd29yZHQgZ2VicnVpa3Qgb20gZWVuIG5pZXQgc3RhbmRhYXJkIGRldGFpbCBzamFibG9vbiB0ZSBzcGVjaWZpY2VyZW4gdm9vciBoZXQgZGV0YWlsIHNjaGVybS4nOwokbGFuZ1snaGVscF9wYXJhbV9kaXJlY3Rvcnl0ZW1wbGF0ZSddID0gJ0RlemUgcGFyYW1ldGVyIHdvcmR0IGdlYnJ1aWt0IG9tIGVlbiBuaWV0IHN0YW5kYWFyZCBkZXRhaWwgc2phYmxvb24gdGUgc3BlY2lmaWNlcmVuIHZvb3IgaGV0IGRpcmVjdG9yeSBzY2hlcm0uJzsKJGxhbmdbJ2hlbHBfcGFyYW1fc2VhcmNoZm9ybXRlbXBsYXRlJ10gPSAnTWV0IGRlemUgcGFyYW1ldGVyIGt1bnQgdSBlZW4gbmlldCBzdGFuZGFhcmQgem9la3NqYWJsb29ubmFhbSBzcGVjaWZpY2VyZW4gdm9vciBoZXQgZ2VicnVpayB2YW4gZWVuIHpvZWtmb3JtdWxpZXInOwokbGFuZ1snaGVscF9wYXJhbV9zZWFyY2hwcm9wZXJ0eSddID0gJ01ldCBkZXplIHBhcmFtZXRlciBrdW50IHUgZWVuIGVua2Vsdm91ZGlnZSBGRVUgZWlnZW5zY2hhcHNuYWFtIHRvZXZvZWdlbiBhYW4gaGV0IHpvZWtmb3JtdWxpZXInOwokbGFuZ1snaGVscF9wYXJhbV91aWQnXSA9ICdHZWJydWlrdCBpbiBzYW1lbmhhbmcgbWV0IGhldCBkZXRhaWwgc2NoZXJtLCBkZXplIHBhcmFtZXRlciBtb2V0IGVlbiBVSUQgYmV2YXR0ZW4gdmFuIGVlbiBiZXN0YWFuZCBGcm9udEVuZFVzZXIgYWNjb3VudC4nOwokbGFuZ1snaW5mb19icm93c2Vwcm9wX3RlbXBsYXRlJ10gPSAnQnJvd3NlIFByb3BlcnR5IHRlbXBsYXRlcyBkaXNwbGF5IEEgbGlzdCBvZiB1bmlxdWUgdmFsdWVzIGZvciB0aGUgc3BlY2lmaWVkIHByb3BlcnR5LiAgRWFjaCBpdGVtIGluIHRoZSBsaXN0IGlzIGEgbGluayB0byBhIHN1bW1hcnkgdmlldyBjb250YWluaW5nIHRoZSBtYXRjaGluZyB1c2VycyB0aGF0IG1hdGNoIHRoYXQgcHJvcGVydHkgdmFsdWUuICBZb3UgbWF5IHVzZSBhbnkgc21hcnR5IGxvZ2ljIG9yIHZhcmlhYmxlcyB0aGF0IGhhdmUgYmVlbiBjcmVhdGVkIHByZXZpb3VzbHksIG9yIHRoZSBvbmVzIG1hZGUgYXZhaWxhYmlsaXR5IHNwZWNpZmljYWxseSBmb3IgdGhpcyB2aWV3Lic7CiRsYW5nWydpbmZvX2Jyb3dzZXByb3BfdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIHRoZSBsaXN0IG9mIGF2YWlsYWJsZSBicm93c2UgcHJvcGVydHkgdmlldyB0ZW1wbGF0ZXMuICBPbmUgb2YgdGhlbSBpcyBtYXJrZWQgYXMgZGVmYXVsdC4gIFRoZSBkZWZhdWx0IG9uZSB3aWxsIGJlIHVzZWQgd2hlbiBubyBhbHRlcm5hdGUgdGVtcGxhdGUgbmFtZSBpcyBzdXBwbGllZCBvbiB0aGUgdGFnIHRoYXQgY2FsbHMgdGhpcyBtb2R1bGUnOwokbGFuZ1snaW5mb19kZXRhaWxfdGVtcGxhdGUnXSA9ICdEZXRhaWwgc2phYmxvbmVuIGdldmVuIGVlbiBnZWRldGFpbGxlZXJkZSBpbmZvcm1hdGllIHdlZXIgdmFuIGVlbiBiZXBhYWxkZSBGcm9udEVuZFVzZXIuIEhpZXIgYmVwYWFsIGplIGhvZSBkZXplIGluZm9ybWF0aWUgd29yZHQgd2VlcmdlZ2V2ZW4uIFUga3VudCBnZWJydWlrIG1ha2VuIHZhbiAmcXVvdDtzbWFydHkmcXVvdDsgbG9naWNhIG9mIHZhbiB2YXJpYWJlbGVuIGRpZSBlZXJkZXIgemlqbiBnZW1hYWt0IG9mIHZhbiB2YXJpYWJlbGVuIGRpZSBzcGVjaWFhbCB2b29yIGRpdCBkb2VsIHppam4gZ2VtYWFrdCc7CiRsYW5nWydpbmZvX2RldGFpbF90ZW1wbGF0ZXNfdGFiJ10gPSAnRGV6ZSB0YWIgYmV2YXQgZWVuIGxpanN0IG1ldCBiZXNjaGlrYmFyZSBkZXRhaWwgc2phYmxvbmVuLiBFJmVhY3V0ZTtuIGlzIGFhbmdldmlua3QgYWxzemlqbmRlIHN0YW5kYWFyZC4gRGV6ZSBzdGFuZGFhcmQgc2phYmxvb24gemFsIHdvcmRlbiBnZWJydWlrdCBhbHMgZXIgZ2VlbiBhbHRlcm5hdGllZiB3b3JkdCBhYW5nZW1hYWt0IGluIGRlIHt0YWd9IGRpZSBkZXplIG1vZHVsZSBhYW5yb2VwdCc7CiRsYW5nWydpbmZvX2RpcmVjdG9yeV90ZW1wbGF0ZSddID0gJ0RpcmVjdG9yeSBzamFibG9uZW4gZ2V2ZW4gZWVuIGFsZmFiZXRpc2NoZSBsaWpzdCB2YW4gdmVyd2lqemluZ2VuIHdlZXIsIHdhbm5lZXIgb3AgZGUgbGluayB3b3JkdCBnZWtsaWt0IHphbCBlZW4gc2FtZW52YXR0aW5nIGdldmVuIHZhbiBkZSBiaWpiZWhvcmVuZGUgZ2VicnVpa2VycyB2b29yIGRpZSBsZXR0ZXIuIEhldCBpcyBtb2dlbGlqayBvbSBkaXJlY3RvcnkmIzAzOTtzIHRlIGNyZSZldW1sO3JlbiBnZWJhc2VlcmQgb3AgdmVyc2NoaWxsZW5kZSBwYXJhbWV0ZXJzLiAgSGllciBiZXBhYWwgamUgaG9lIGRlemUgaW5mb3JtYXRpZSB3b3JkdCB3ZWVyZ2VnZXZlbi4gVSBrdW50IGdlYnJ1aWsgbWFrZW4gdmFuICZxdW90O3NtYXJ0eSZxdW90OyBsb2dpY2Egb2YgdmFuIHZhcmlhYmVsZW4gZGllIGVlcmRlciB6aWpuIGdlbWFha3Qgb2YgdmFuIHZhcmlhYmVsZW4gZGllIHNwZWNpYWFsIHZvb3IgZGl0IGRvZWwgemlqbiBnZW1hYWt0JzsKJGxhbmdbJ2luZm9fZGlyZWN0b3J5X3RlbXBsYXRlc190YWInXSA9ICdEZXplIHRhYiBiZXZhdCBlZW4gbGlqc3QgbWV0IGJlc2NoaWtiYXJlIGRpcmVjdG9yeSBzamFibG9uZW4uIEUmZWFjdXRlO24gaXMgYWFuZ2V2aW5rdCBhbHMgemlqbmRlIHN0YW5kYWFyZC4gRGV6ZSBzdGFuZGFhcmQgc2phYmxvb24gemFsIHdvcmRlbiBnZWJydWlrdCBhbHMgZXIgZ2VlbiBhbHRlcm5hdGllZiB3b3JkdCBhYW5nZW1hYWt0IGluIGRlIHt0YWd9IGRpZSBkZXplIG1vZHVsZSBhYW5yb2VwdCc7CiRsYW5nWydpbmZvX3N1bW1hcnlfdGVtcGxhdGUnXSA9ICdTYW1lbnZhdHRpbmdzc2phYmxvbmVuIGdldmVuIGluZm9ybWF0aWUgd2VlciB2YW4gZWVuIGxpanN0IGdlYnJ1aWtlcnMgZGllIHZvbGRvZW4gYWFuIGVlbiBiZXBhYWxkZSBjcml0ZXJpYS4gSGllciBiZXBhYWwgamUgaG9lIGRlemUgaW5mb3JtYXRpZSB3b3JkdCB3ZWVyZ2VnZXZlbi4gVSBrdW50IGdlYnJ1aWsgbWFrZW4gdmFuICZxdW90O3NtYXJ0eSZxdW90OyBsb2dpY2Egb2YgdmFuIHZhcmlhYmVsZW4gZGllIGVlcmRlciB6aWpuIGdlbWFha3Qgb2YgdmFuIHZhcmlhYmVsZW4gZGllIHNwZWNpYWFsIHZvb3IgZGl0IGRvZWwgemlqbiBnZW1hYWt0JzsKJGxhbmdbJ2luZm9fc2VhcmNoZm9ybV90ZW1wbGF0ZSddID0gJ1pvZWtmb3JtdWxpZXIgc2phYmxvbmVuIHRvbmVuIGVlbiBmb3JtdWxpZXIgZGllIHUgbGFhdCB6b2VrZW4gbmFhciBlZW4gYmVwYWFsZGUgZ2VicnVpa2VyIG9mIG5hYXIgZWVuIGdyb2VwIGdlYnJ1aWtlcnMuIEhpZXIga3VudCB1IGhldCBmb3JtdWxpZXIgdm9ybWdldmVuLiBVIGt1bnQgZ2VicnVpayBtYWtlbiB2YW4gc21hcnR5IGxvZ2ljYSBvZiB2YXJpYWJlbGVuIGRpZSBlZXJkZXIgZ2VtYWFrdCB6aWpuIG9mIGRpZWdlbmUgZGllIHNwZWNpYWFsIHZvb3IgZGl0IGRvZWwgemlqbiBnZW1hYWt0JzsKJGxhbmdbJ2luZm9fc2VhcmNoZm9ybV90ZW1wbGF0ZXNfdGFiJ10gPSAnRGV6ZSB0YWIgYmV2YXQgZWVuIGxpanN0IHZhbiBiZXNjaGlrYmFyZSB6b2VrZm9ybXVsaWVyIHNqYWJsb25lbi4gRSYjMDM5O24gZXJ2YW4gaXMgZ2VtZXJrdCBhbHMgc3RhbmRhYXJkLiAgRGV6ZSB3b3JkdCBnZWJydWlrdCB3YW5uZWVyIGVyIGdlZW4gYW5kZXJlIHNqYWJsb29ubmFhbSBpcyBpbmdldm9lcmQgaW4gZGUgdGFnIGRpZSBkZXplIG1vZHVsZSBhYW5yb2VwdCc7CiRsYW5nWydpbmZvX3N1bW1hcnlfdGVtcGxhdGVzX3RhYiddID0gJ0RlemUgdGFiIGJldmF0IGVlbiBsaWpzdCBtZXQgYmVzY2hpa2JhcmUgc2FtZW52YXR0aW5nc2phYmxvbmVuLiBFJmVhY3V0ZTtuIGlzIGFhbmdldmlua3QgYWxzIHppam5kZSBzdGFuZGFhcmQuIERlemUgc3RhbmRhYXJkIHNqYWJsb29uIHphbCB3b3JkZW4gZ2VicnVpa3QgYWxzIGVyIGdlZW4gYWx0ZXJuYXRpZWYgd29yZHQgYWFuZ2VtYWFrdCBpbiBkZSB7dGFnfSBkaWUgZGV6ZSBtb2R1bGUgYWFucm9lcHQnOwokbGFuZ1snaW5mb19zeXNkZmx0X2Jyb3dzZXByb3BfdGVtcGxhdGUnXSA9ICdTdGFuZGFhcmQgQnJvd3NlIEVpZ2Vuc2NoYXBwZW4gT3ZlcnppY2h0IFNqYWJsb29uJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9kZXRhaWxfdGVtcGxhdGUnXSA9ICdTdGFuZGFhcmQgJnF1b3Q7RGV0YWlsIFZpZXcgVGVtcGxhdGUmcXVvdDsnOwokbGFuZ1snaW5mb19zeXNkZmx0X2RpcmVjdG9yeV90ZW1wbGF0ZSddID0gJ1N0YW5kYWFyZCAmcXVvdDtEaXJlY3RvcnkgVGVtcGxhdGUmcXVvdDsnOwokbGFuZ1snaW5mb19zeXNkZmx0X3NlYXJjaGZvcm1fdGVtcGxhdGUnXSA9ICdTeXN0ZWVtIFN0YW5kYWFyZCBab2VrZm9ybXVsaWVyIFNqYWJsb29uJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9zdW1tYXJ5X3RlbXBsYXRlJ10gPSAnU3RhbmRhYXJkICZxdW90O1N1bW1hcnkgVmlldyBUZW1wbGF0ZSZxdW90Oyc7CiRsYW5nWydpbmZvX3N5c2RmbHRfdGVtcGxhdGUnXSA9ICdIZXQgd2lqemlnZW4gdmFuIGRpdCBzamFibG9vbiB6YWwgZ2VlbiBkaXJlY3QgZWZmZWN0IGhlYmJlbiBvcCBkZSB3ZWJzaXRlLiBEaXQgZm9ybXVsaWVyIGJlcGFhbHQgZGUgaW5ob3VkIHZhbiBlZW4gc2phYmxvb24gZGllIHdvcmR0IGdlY3JlJmV1bWw7ZXJkIHdhbm5lZXIgdSBvcCAmcXVvdDtOaWV1dyBzamFibG9vbiZxdW90OyAga2xpa3QgaW4gZGUgZ2V3ZW5zdGUgc2phYmxvb24gdGFiLic7CiRsYW5nWydsYXN0X2FjdGl2ZSddID0gJ0xhYXRzdCBBY3RpZWYnOwokbGFuZ1snbGJsX2Jyb3dzZXByb3B0ZW1wbGF0ZXMnXSA9ICdCcm93c2UgRWlnZW5zY2hhcHBlbiBTamFibG9uZW4nOwokbGFuZ1snbGJsX2RlZmF1bHR0ZW1wbGF0ZXMnXSA9ICdTdGFuZGFhcmQgc2phYmxvbmVuJzsKJGxhbmdbJ2xibF9kZXRhaWx0ZW1wbGF0ZXMnXSA9ICdHZWRldGFpbGxlZXJkZSBvdmVyemljaHRzc2phYmxvbmVuJzsKJGxhbmdbJ2xibF9kaXJlY3Rvcnl0ZW1wbGF0ZXMnXSA9ICdEaXJlY3Rvcnkgc2phYmxvbmVuJzsKJGxhbmdbJ2xibF9maXJzdF9wYWdlJ10gPSAnR2EgbmFhciBkZSBlZXJzdGUgcGFnaW5hJzsKJGxhbmdbJ2xibF9sYXN0X3BhZ2UnXSA9ICdHYSBuYWFyIGRlIGxhYXRzdGUgcGFnaW5hJzsKJGxhbmdbJ2xibF9uZXh0X3BhZ2UnXSA9ICdHYSBuYWFyIGRlIHZvbGdlbmRlIHBhZ2luYSc7CiRsYW5nWydsYmxfcHJldl9wYWdlJ10gPSAnR2EgbmFhciBkZSB2b3JpZ2UgcGFnaW5hJzsKJGxhbmdbJ2xibF9zZWFyY2hmb3JtdGVtcGxhdGVzJ10gPSAnWm9layBGb3JtdWxpZXIgU2phYmxvbmVuJzsKJGxhbmdbJ2xibF9zZXR0aW5ncyddID0gJ0luc3RlbGxpbmdlbic7CiRsYW5nWydsYmxfc3VtbWFyeXRlbXBsYXRlcyddID0gJ0Jla2lqayBTYW1lbnZhdHRpbmcgU2phYmxvb24nOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdFZW4gbW9kdWxlIGRpZSB1IGRlIG1vZ2VsaWpraGVpZCBnZWVmdCBvbSBkZSBnZWdldmVucyB2YW4gRnJvbnRFbmRVc2VycyB0ZSBkb29yem9la2VuLCBkb29yIHRlIGJsYWRlcmVuIGVuIHRlIGJla2lqa2VuJzsKJGxhbmdbJ29mJ10gPSAndmFuJzsKJGxhbmdbJ3BhZ2UnXSA9ICdQYWdpbmEnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdEZSBDR1VzZXJEaXJlY3RvcnkgbW9kdWxlIGlzIG51IGdlcmVlZCB2b29yIGNvbmZpZ3VyYXRpZSc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnRGUgQ0dVc2VyRGlyZWN0b3J5IG1vZHVsZSwgZW4gYWxsZSBnZWFzc29jaWVlcmRlIGRhdGEgemlqbiB1aXQgZGUgZGF0YWJhc2UgdmVyd2lqZGVyZCc7CiRsYW5nWydzdWJtaXQnXSA9ICdUb2V2b2VnZW4nOwokbGFuZ1sndXNlcm5hbWUnXSA9ICdHZWJydWlrZXJzbmFhbSc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjE3NjQwOTAyNjkwNTk4NjcxMDAuMTIzOTg4NjA2Mi4xMjQ3OTI0OTQwLjEyNDg0NDE3NTQuMzcnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjQ3ODU4ODIxLjM1LjYudXRtY2NuPShyZWZlcnJhbCl8dXRtY3NyPWRldi5jbXNtYWRlc2ltcGxlLm9yZ3x1dG1jY3Q9L3x1dG1jbWQ9cmVmZXJyYWwnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/sk_SK.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FkZGVkaXRfZGV0YWlsX3RlbXBsYXRlJ10gPSAnUHJpZGHFpS9VcHJhdmnFpSAmc2Nhcm9uO2FibCZvYWN1dGU7bnUgZGV0YWlsdSc7CiRsYW5nWydhZGRlZGl0X2RpcmVjdG9yeV90ZW1wbGF0ZSddID0gJ1ByaWRhxaUvVXByYXZpxaUgICZzY2Fyb247YWJsJm9hY3V0ZTtudSBhZHJlcyZhYWN1dGU7cmEnOwokbGFuZ1snYWRkZWRpdF9zdW1tYXJ5X3RlbXBsYXRlJ10gPSAnUHJpZGHFpS9VcHJhdmnFpSAmc2Nhcm9uO2FibCZvYWN1dGU7bnUgcHJlaMS+YWR1JzsKJGxhbmdbJ2Fza19yZWFsbHlfdW5pbnN0YWxsJ10gPSAnU3RlIHNpIGlzdCZ5YWN1dGU7PyAgUG9rcmHEjW92YW4maWFjdXRlO20gb2RzdHImYWFjdXRlO25pxaUgdiZzY2Fyb247ZXRreSBkJmFhY3V0ZTt0YSBzJnVhY3V0ZTt2aXNpYWNlIHMgdCZ5YWN1dGU7bXRvIG1vZHVsb20nOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPg0KPGxpPlZlcnppYSAxLjAgLSBKYW51YXJ5LCAyMDA5DQogIDxwPkluaXRpYWwgUmVsZWFzZTwvcD4NCjwvbGk+DQo8L3VsPic7CiRsYW5nWydjcmVhdGVkJ10gPSAnVnl0dm9yZW4meWFjdXRlOyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkZ3JvdXAnXSA9ICdOZXBsYXRuJmFhY3V0ZTsgc2t1cGluYSc7CiRsYW5nWydlcnJvcl9pbnZhbGlkc29ydGZpZWxkJ10gPSAnTmVwbGF0biZlYWN1dGU7IHBvbGUgcHJlIHRyaWVkZW5pZTogJXMnOwokbGFuZ1snZXJyb3JfbWlzc2luZ3BhcmFtJ10gPSAnTmVkb3N0YXRvayBwYXJhbWV0cm92JzsKJGxhbmdbJ2Vycm9yX25vZmV1J10gPSAnTW9kdWwgRnJvbnRlbmQgVXNlcnMgIG5lbiZhYWN1dGU7amRlbiZ5YWN1dGU7JzsKJGxhbmdbJ2Vycm9yX3VzZXJub3Rmb3VuZCddID0gJ1XFviZpYWN1dGU7dmF0ZcS+IHNvIHphZGFuJnlhY3V0ZTttIGlkIG5lbiZhYWN1dGU7amRlbiZ5YWN1dGU7JzsKJGxhbmdbJ2V4cGlyZXMnXSA9ICdWeXByJnNjYXJvbjsmaWFjdXRlOyc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdDYWxndXlvdiZlYWN1dGU7IHpvem5hbXkgdcW+JmlhY3V0ZTt2YXRlxL5vdic7CiRsYW5nWydncm91cHMnXSA9ICdTa3VwaW55JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2hhdCBkb2VzIHRoaXMgZG8/PC9oMz4NCiAgPHA+VGhpcyBtb2R1bGUgcHJvdmlkZXMgdGhlIGFiaWxpdHkgZm9yIGdlbmVyYXRpbmcgYSBkaXJlY3Rvcnkgb2YgdXNlcnMgZnJvbSB0aGUgRkVVIG1vZHVsZSwgZm9yIGdlbmVyYXRpbmcgYSBzdW1tYXJ5IHZpZXcgb2YgdXNlcnMgbWF0Y2hpbmcgc3BlY2lmaWVkIGNyaXRlcmlhLCBhbmQgZm9yIGRpc3BsYXlpbmcgYSBkZXRhaWwgcmVwb3J0IG9mIGEgc3BlY2lmaWMgdXNlci4gIEl0IGNhbiBiZSB1c2VkIGZvciBnZW5lcmF0aW5nIHByb2ZpbGUgcGFnZXMgZm9yIHlvdXIgdXNlcnMsIG9yIGEgc3RhZmYgZGlyZWN0b3J5LjwvcD4NCjxoMz5GZWF0dXJlczo8L2gzPg0KPHVsPg0KICA8bGk+Q29tcGxldGUgdGVtcGxhdGUgY29udHJvbA0KPHA+QWxsIGRpc3BsYXlzIGFyZSBjb21wbGV0ZWx5IGNvbmZpZ3VyYWJsZSBieSB0ZW1wbGF0ZXMgYWxsb3dpbmcgZm9yIGphdmFzY3JpcHQsIGFqYXgsIG9yIGFueSBvdGhlciBmYW5jeSBkaXNwbGF5cy4gIFN0eWxpbmcgaXMgY29tcGxldGVseSBjb250cm9sbGFibGUgYnkgdGhlIHdlYnNpdGUgZGV2ZWxvcGVyLjwvcD4NCiAgPC9saT4NCiAgPGxpPk11bHRpcGxlIGRhdGFiYXNlIHRlbXBsYXRlcy4NCjxwPllvdSBjYW4gY29uZmlndXJlIG11bHRpcGxlIGRpZmZlcmVudCB2aWV3cyBmb3IgZWFjaCBkaXNwbGF5LCBhbmQgdXNlIHRoZW0gdW5kZXIgZGlmZmVyZW50IHNpdHVhdGlvbnMuPC9wPg0KICA8L2xpPg0KPGxpPkZpbHRlciBzdW1tYXJ5IHZpZXdzIG9uIHVzZXIgcHJvcGVydGllcy4NCiAgIDxwPllvdSBjYW4gZmlsdGVyIHRoZSBvdXRwdXQgZm9yIHRoZSBzdW1tYXJ5IHZpZXcgYmFzZWQgb24gdGhlIHZhbHVlIG9mIGEgc3BlY2lmaWMgdXNlciBwcm9wZXJ0eSBmcm9tIHRoZSBGRVUgbW9kdWxlLiAgVGhpcyBhbHNvIGluY2x1ZGVzICZxdW90O0xJS0UmcXVvdDsgYmFzZWQgY3JpdGVyYS4NCiAgPC9saT4NCiAgPGxpPlNvcnRpbmcgb24gbXVsdGlwbGUgZGlmZmVyZW50IGNyaXRlcmlhLjwvbGk+DQogIDxsaT5TdXBwb3J0cyBTRU8gZnJpZW5kbHkgVVJMUzwvbGk+DQo8L3VsPg0KPGgzPkhvdyBkbyBJIHVzZSBpdD88L2gzPg0KPHA+VGhlIHNpbXBsZXN0IHdheSB0byB1c2UgdGhpcyBtb2R1bGUgaXMgdG8gcGxhY2UgYSB0YWcgbGlrZSB0aGlzIGludG8geW91ciBwYWdlIHRlbXBsYXRlLCBvciBwYWdlIGNvbnRlbnQgPGNvZGU+e0NHVXNlckRpcmVjdG9yeX08L2NvZGU+LiAgVG8gZXhwYW5kIG9uIHRoaXMgZnVuY3Rpb25hbGl0eSwgb3IgdG8gZGlzcGxheSBhIHN1YnNldCBvZiB5b3VyIHVzZXJzLCBzZWUgdGhlIHBhcmFtZXRlcnMgYmVsb3cuPC9wPg0KPGgzPkV4YW1wbGVzOjwvaDM+DQo8dWw+DQo8bGk+RGlzcGxheSBhIGRpcmVjdG9yeSBvZiBhbGwgdXNlcnM6DQo8cD48Y29kZT57Q0dVc2VyRGlyZWN0b3J5IGFjdGlvbj0mcXVvdDtkaXJlY3RvcnkmcXVvdDt9PC9jb2RlPjwvcD4NCjwvbGk+DQo8bGk+RGlzcGxheSBhIGRpcmVjdG9yeSBvZiBhbGwgdXNlcnMgb3JnYW5pemVkIGJ5IGNpdHk6DQo8cD48Y29kZT57Q0dVc2VyRGlyZWN0b3J5IGFjdGlvbj0mcXVvdDtkaXJlY3RvcnkmcXVvdDsgcHJvcD0mcXVvdDtjaXR5JnF1b3Q7fTwvY29kZT48L3A+DQo8L2xpPg0KPGxpPkRpc3BsYXkgYSBzdW1tYXJ5IGxpc3Qgb2YgYWxsIHVzZXJzIGluIHRoZSAmcXVvdDttZW1iZXJzJnF1b3Q7IGdyb3VwOg0KPHA+PGNvZGU+e0NHVXNlckRpcmVjdG9yeSBncm91cD0mcXVvdDttZW1iZXJzJnF1b3Q7fTwvY29kZT48L3A+DQo8L2xpPg0KPGxpPkRpc3BsYXkgYSBzdW1tYXJ5IGxpc3Qgb2YgYWxsIHVzZXJzIGluIHRoZSBjaXR5IG9mIGNhbGdhcnk6DQo8cD48Y29kZT57Q0dVc2VyRGlyZWN0b3J5IHByb3A9JnF1b3Q7Y2l0eSZxdW90OyBwcm9wdmFsPSZxdW90O2NhbGdhcnkmcXVvdDt9PC9jb2RlPjwvcD4NCjwvbGk+DQo8bGk+RGlzcGxheSBhIHN1bW1hcnkgbGlzdCBvZiBhbGwgdXNlcnMgZnJvbSBjb3VudHJpZXMgdGhhdCBiZWdpbiB3aXRoIEM6DQo8cD48Y29kZT57Q0dVc2VyRGlyZWN0b3J5IHByb3A9JnF1b3Q7Y2l0eSZxdW90OyB1c2VsaWtlPTEgcHJvcHZhbD0mcXVvdDtjJSZxdW90O308L2NvZGU+PC9wPg0KPC9saT4NCg0KPC91bD4NCg0KPGgzPk5vdGVzIGFib3V0IHByZXR0eSBVUkxTPC9oMz4NCjxwPiZxdW90O1ByZXR0eSZxdW90OyBvciBTRU8gZnJpZW5kbHkgVVJMUyBsaW1pdHMgdGhlIGZsZXhpYmlsaXR5IG9mIHRoaXMgbW9kdWxlLCBhbmQgdGhlIHBhcmFtZXRlcnMgdGhhdCBjYW4gYmUgc3BlY2lmaWVkIG9uIHRoZSB0YWcuIFBhcnRpY3VsYXJseSB0aG9zZSB0aGF0IGNhbiBiZSBwYXNzZWQgb24gdG8gc3Vic2VxdWVudCB2aWV3cy4gIEZvciB0aGlzIHJlYXNvbiwgdGhlIGRpcmVjdG9yeSB2aWV3IGRvZXMgbm90IGdlbmVyYXRlIHByZXR0eSB1cmxzIHRvIHRoZSBzdWJzZXF1ZW50IHN1bW1hcnkgbGlua3MuICBUaGlzIGFsbG93cyBwYXJhbWV0ZXJzIGxpa2UgZGV0YWlscGFnZSwgZGV0YWlsdGVtcGxhdGUsIGFuZCBzdW1tYXJ5dGVtcGxhdGUgdG8gYmUgcGFzc2VkIGluIHRoZSB0YWcgdG8gdGhlIGRpcmVjdG9yeSB2aWV3IGFuZCB0byBoYXZlIHRob3NlIHBhcmFtZXRlcnMgcGFzc2VkIGRvd24gdG8gdGhlIHN1YnNlcXVlbnQgc3VtbWFyeSBkZXRhaWwgdmlld3MuPC9wPg0KPC9wPg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCB0aGUgY21zIGRldmVsb3BtZW50IGZvcmdlIGF0IDxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmciPmRldi5jbXNtYWRlc2ltcGxlLm9yZzwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4NCjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwIGFsbCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yKHMpIGRpcmVjdGx5LjwvbGk+ICANCjwvdWw+DQoNCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA4LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+PGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmc+PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCml0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQp0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcg0KKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+DQo8cD5Ib3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQNCmFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQ0KaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUw0KTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIA0Kc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCmJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KT3IgcmVhZCBpdCA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPm9ubGluZTwvYT48L3A+JzsKJGxhbmdbJ2hlbHBfcGFyYW1fYWN0aW9uJ10gPSAnVGhpcyBwYXJhbWV0ZXIgY29udHJvbHMgdGhlIGJlaGF2aW91ciBvZiB0aGUgbW9kdWxlLiAgVGhlcmUgYXJlIHRocmVlIHBvc3NpYmxlIHZhbHVlczoNCjx1bD4NCiAgPGxpPmRlZmF1bHQgLSBEaXNwbGF5cyBhIHN1bW1hcnkgdmlldyBvZiB1c2VycyB0aGF0IG1hdGNoIHRoZSBzcGVjaWZpZWQgY3JpdGVyaWEsIG9yIGFsbCB1c2VycyBpZiBubyBjcml0aWVyaWEgaXMgc3BlY2lmaWVkLjwvbGk+DQogIDxsaT5kaXJlY3RvcnkgLSBEaXNwbGF5cyBhbiBhbHBoYWJldGljYWwgZGlyZWN0b3J5IG9mIGxpbmtzIHRvIHN1bW1hcnkgdmlld3MgdG8gdXNlcnMgdGhhdCBtYXRjaCB0aGUgc3BlY2lmaWVkIGNyaXRlcmlhLiAgSXQgaXMgcG9zc2libGUgdG8gY3JlYXRlIGRpcmVjdG9yeSB2aWV3cyBvbiB1c2VybmFtZSwgb3Igb24gYW55IG90aGVyIHBhcmFtZXRlcjwvbGk+DQogIDxsaT5kZXRhaWwgLSBEaXNwbGF5cyBhIGRldGFpbCByZXBvcnQgYWJvdXQgYSBzcGVjaWZpYyB1c2VyLjwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwX3BhcmFtX2dyb3VwJ10gPSAnVXNlZCB3aXRoIHRoZSBkZWZhdWx0IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc2hvdWxkIGNvbnRhaW4gdGhlIG5hbWUgb2YgYW4gRkVVIHVzZXIgZ3JvdXAsIGFuZCB3aWxsIGxpbWl0IHRoZSBvdXRwdXQgdG8gbWVtYmVycyBvZiB0aGF0IGdyb3VwJzsKJGxhbmdbJ2hlbHBfcGFyYW1fZ2lkJ10gPSAnVXNlZCB3aXRoIHRoZSBkZWZhdWx0IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc2hvdWxkIGNvbnRhaW4gdGhlIGlkIG9mIGFuIEZFVSB1c2VyIGdyb3VwLCBhbmQgd2lsbCBsaW1pdCB0aGUgb3V0cHV0IHRvIG1lbWJlcnMgb2YgdGhhdCBncm91cC4gIFRoaXMgcGFyYW1ldGVyIGNhbm5vdCBiZSB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlIGdyb3VwIHBhcmFtZXRlci4nOwokbGFuZ1snaGVscF9wYXJhbV9zaG93ZXhwaXJlZCddID0gJ0J5IGRlZmF1bHQsIHRoZSBzeXN0ZW0gd2lsbCBleGNsdWRlIGV4cGlyZWQgdXNlcnMgZnJvbSBhbnkgZ2VuZXJhdGVkIHJlcG9ydC4gIFNldHRpbmcgdGhpcyBwYXJhbWV0ZXIgdG8gMSB3aWxsIGluY2x1ZGUgdGhlc2UgdXNlcnMuJzsKJGxhbmdbJ2hlbHBfcGFyYW1fc29ydGJ5J10gPSAnVXNlZCBmb3IgdGhlIGRlZmF1bHQgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIHNvcnRpbmcgb2YgdGhlIGdlbmVyYXRlZCBvdXRwdXQuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOg0KPHVsPg0KIDxsaT5pZCAtIFRoZSB1c2VycyBpZDwvbGk+DQogPGxpPnVzZXJuYW1lIC0gVGhlIHVzZXJzIHVzZXJuYW1lPC9saT4NCiA8bGk+Y3JlYXRlZGF0ZSAtIFRoZSBkYXRlIGF0IHdoaWNoIHRoZSB1c2VyIGFjY291bnQgd2FzIGNyZWF0ZWQuPC9saT4NCiA8bGk+ZXhwaXJlcyAtIFRoZSBkYXRlIGF0IHdoaWNoIHRoZSB1c2VyIGFjY291bnQgd2lsbCBleHBpcmUgKG9yIGRpZCBleHBpcmUpLjwvbGk+DQogPGxpPmFjdGl2aXR5IC0gVGhlIGRhdGUgYXQgd2hpY2ggdGhlIHVzZXIgYWNjb3VudCB3YXMgbGFzdCBsb2dnZWQgaW4gb3IgbG9nZ2VkIG91dC48L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscF9wYXJhbV9zb3J0b3JkZXInXSA9ICdVc2VkIGZvciB0aGUgZGVmYXVsdCBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgc29ydCBvcmRlciBvZiB0aGUgZ2VuZXJhdGVkIG91dHB1dC4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6DQo8dWw+DQogIDxsaT5BU0MgLSBBc2NlbmRpbmcgb3JkZXI8L2xpPg0KICA8bGk+REVTQyAtIERlc2NlbmRpbmcgb3JkZXI8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscF9wYXJhbV9wYWdlbGltaXQnXSA9ICdVc2VkIGZvciB0aGUgZGVmYXVsdCBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgbWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gYmUgcmV0dXJuZWQuJzsKJGxhbmdbJ2hlbHBfcGFyYW1fcHJvcCddID0gJ1VzZWQgZm9yIHRoZSBkZWZhdWx0IGFuZCBkaXJlY3RvcnkgYWN0aW9ucywgdGhpcyBwYXJhbWV0ZXIgYmVoYXZlcyBpbiB0d28gZGlmZmVyZW50IHdheXMgZGVwZW5kaW5nIHVwb24gdGhlIGFjdGlvbjoNCjx1bD4NCiAgPGxpPlRoZSBkZWZhdWx0IChzdW1tYXJ5KSBhY3Rpb24NCiAgICA8cD5JbiB0aGUgZGVmYXVsdCAoc3VtbWFyeSkgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IGEgcHJvcGVydHkgdG8gZmlsdGVyIHRoZSByZXN1bHRzIGJ5LjwvcD4NCiAgPC9saT4NCiAgPGxpPlRoZSBkaXJlY3RvcnkgYWN0aW9uLg0KICAgIDxwPkluIHRoZSBkaXJlY3RvcnkgYWN0aW9uLCB0aGlzIGFwcmFtZXRlciBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IGEgcHJvcGVydHkgdG8gZ2VuZXJhdGUgYSBkaXJlY3RvcnkgZnJvbS4gICBUaGUgZGVmYXVsdCB2YWx1ZSBpbiB0aGUgZGlyZWN0b3J5IGFjdGlvbiBpcyAmcXVvdDt1bnNlcm5hbWUmYW1wO3F1b3RlOzwvcD4NCiAgPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHBfcGFyYW1fcHJvcHZhbCddID0gJ1VzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgJnF1b3Q7cHJvcCZxdW90OyBwYXJhbWV0ZXIgZm9yIHRoZSBkZWZhdWx0IChzdW1tYXJ5KSBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgdmFsdWUgb24gd2hpY2ggdG8gZmlsdGVyIHVzZXJzIGJ5Lic7CiRsYW5nWydoZWxwX3BhcmFtX3VzZWxpa2UnXSA9ICdVc2VkIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlICZxdW90O3Byb3AmcXVvdDsgYW5kICZxdW90O3Byb3B2YWwmcXVvdDsgcGFyYW1ldGVycywgdGhpcyBwYXJhbWV0ZXIsIGlmIHNldCB0byBhIHBvc2l0aXZlIGludGVnZXIgdmFsdWUgaW5kaWNhdGVzIHRoYXQgdGhlIHByb3B2YWwgcGFyYW1ldGVyIGNvbnRhaW5zIGEgTElLRSBleHByZXNzaW9uJzsKJGxhbmdbJ2hlbHBfcGFyYW1fZGV0YWlscGFnZSddID0gJ1RoaXMgcGFyYW1ldGVyLCBpZiBzcGVjaWZpZWQsIHNob3VsZCBjb250YWluIHRoZSBwYWdlaWQgb3IgYWxpYXMgb2YgYSBDTVMgY29udGVudCBwYWdlIG9uIHdoaWNoIHlvdSB3b3VsZCBsaWtlIHRvIHNob3cgYW55IGRldGFpbCByZXBvcnQnOwokbGFuZ1snaGVscF9wYXJhbV9zdW1tYXJ5dGVtcGxhdGUnXSA9ICdUaGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IHN1bW1hcnkgdGVtcGxhdGUgbmFtZSB0byB1c2UgZm9yIHN1bW1hcnkgZGlzcGxheXMnOwokbGFuZ1snaGVscF9wYXJhbV9kZXRhaWx0ZW1wbGF0ZSddID0gJ1RoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgZGV0YWlsIHRlbXBsYXRlIG5hbWUgdG8gdXNlIGZvciBkZXRhaWwgZGlzcGxheXMnOwokbGFuZ1snaGVscF9wYXJhbV9kaXJlY3Rvcnl0ZW1wbGF0ZSddID0gJ1RoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgZGlyZWN0b3J5IHRlbXBsYXRlIG5hbWUgdG8gdXNlIHdpdGggZGlyZWN0b3J5IGRpc3BsYXlzJzsKJGxhbmdbJ2hlbHBfcGFyYW1fdWlkJ10gPSAnVXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBkZXRhaWwgZGlzcGxheSwgdGhpcyBwYXJhbWV0ZXIgbXVzdCBjb250YWluIHRoZSB1aWQgb2YgYSB2YWxpZCBmcm9udGVuZCB1c2VyIGFjY291bnQnOwokbGFuZ1snaW5mb19kZXRhaWxfdGVtcGxhdGUnXSA9ICdEZXRhaWwgdGVtcGxhdGVzIGRpc3BsYXkgZGV0YWlsZWQgaW5mb3JtYXRpb24gYWJvdXQgYSBzcGVjaWZpYyBmcm9udGVuZCB1c2VyLiAgSGVyZSB5b3UgZGVzaWduIHRoZSB3YXkgaW4gd2hpY2ggeW91IHdhbnQgdGhhdCBpbmZvcm1hdGlvbiBsYWlkIG91dC4gIFlvdSBtYXkgdXNlIGFueSBzbWFydHkgbG9naWMgb3IgdmFyaWFibGVzIHRoYXQgaGF2ZSBiZWVuIGRlc2lnbmVkIHByZXZpb3VzbHksIG9yIHRoZSBvbmVzIG1hZGUgYXZhaWxhYmxlIHNwZWNpZmljYWxseSBmb3IgdGhpcyB2aWV3JzsKJGxhbmdbJ2luZm9fZGV0YWlsX3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyB0aGUgbGlzdCBvZiBhdmFpbGFibGUgZGV0YWlsIHZpZXcgdGVtcGxhdGVzLiAgT25lIG9mIHRoZW0gaXMgbWFya2VkIGFzIGRlZmF1bHQuICBUaGUgZGVmYXVsdCBvbmUgd2lsbCBiZSB1c2VkIHdoZW4gbm8gYWx0ZXJuYXRlIHRlbXBsYXRlIG5hbWUgaXMgc3VwcGxpZWQgb24gdGhlIHRhZyB0aGF0IGNhbGxzIHRoaXMgbW9kdWxlJzsKJGxhbmdbJ2luZm9fZGlyZWN0b3J5X3RlbXBsYXRlJ10gPSAnRGlyZWN0b3J5IHRlbXBsYXRlcyBkaXNwbGF5IGFuIGFscGhhYmV0aWNhbCBsaXN0IG9mIGxpbmtzLCB3aGVuIGEgbGluayBpcyBjbGlja2VkIGl0IHdpbGwgZGlzcGxheSBhIHN1bW1hcnkgdmlldyBvZiB0aGUgbWF0Y2hpbmcgdXNlcnMgZm9yIHRoYXQgbGV0dGVyLiAgSXQgaXMgcG9zc2libGUgdG8gY3JlYXRlIGRpcmVjdG9yaWVzIGJhc2VkIG9uIGRpZmZlcmVudCBwcm9wZXJ0aWVzLiAgSGVyZSB5b3UgZGVzaWduIHRoZSB3YXkgaW4gd2hpY2ggeW91IHdhbnQgdGhhdCBpbmZvcm1hdGlvbiBsYWlkIG91dC4gIFlvdSBtYXkgdXNlIGFueSBzbWFydHkgbG9naWMgb3IgdmFyaWFibGVzIHRoYXQgaGF2ZSBiZWVuIGRlc2lnbmVkIHByZXZpb3VzbHksIG9yIHRoZSBvbmVzIG1hZGUgYXZhaWxhYmxlIHNwZWNpZmljYWxseSBmb3IgdGhpcyB2aWV3JzsKJGxhbmdbJ2luZm9fZGlyZWN0b3J5X3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyB0aGUgbGlzdCBvZiBhdmFpbGFibGUgZGlyZWN0b3J5IHRlbXBsYXRlcy4gIE9uZSBvZiB0aGVtIGlzIG1hcmtlZCBhcyBkZWZhdWx0LiAgVGhlIGRlZmF1bHQgb25lIHdpbGwgYmUgdXNlZCB3aGVuIG5vIGFsdGVybmF0ZSB0ZW1wbGF0ZSBuYW1lIGlzIHN1cHBsaWVkIG9uIHRoZSB0YWcgdGhhdCBjYWxscyB0aGlzIG1vZHVsZSc7CiRsYW5nWydpbmZvX3N1bW1hcnlfdGVtcGxhdGUnXSA9ICdTdW1tYXJ5IHRlbXBsYXRlcyBkaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGEgbGlzdCBvZiB1c2VycyB0aGF0IG1hdGNoIGEgY3JpdGVyaWEuICBIZXJlIHlvdSBkZXNpZ24gdGhlIHdheSBpbiB3aGljaCB5b3Ugd2FudCB0aGF0IGluZm9ybWF0aW9uIGxhaWQgb3V0LiAgWW91IG1heSB1c2UgYW55IHNtYXJ0eSBsb2dpYyBvciB2YXJpYWJsZXMgdGhhdCBoYXZlIGJlZW4gZGVzaWduZWQgcHJldmlvdXNseSwgb3IgdGhlIG9uZXMgbWFkZSBhdmFpbGFibGUgc3BlY2lmaWNhbGx5IGZvciB0aGlzIHZpZXcnOwokbGFuZ1snaW5mb19zdW1tYXJ5X3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyB0aGUgbGlzdCBvZiBhdmFpbGFibGUgc3VtbWFyeSB0ZW1wbGF0ZXMuICBPbmUgb2YgdGhlbSBpcyBtYXJrZWQgYXMgZGVmYXVsdC4gIFRoZSBkZWZhdWx0IG9uZSB3aWxsIGJlIHVzZWQgd2hlbiBubyBhbHRlcm5hdGUgdGVtcGxhdGUgbmFtZSBpcyBzdXBwbGllZCBvbiB0aGUgdGFnIHRoYXQgY2FsbHMgdGhpcyBtb2R1bGUnOwokbGFuZ1snaW5mb19zeXNkZmx0X2RldGFpbF90ZW1wbGF0ZSddID0gJ1ByZWRuYXN0YXZlbiZhYWN1dGU7ICZzY2Fyb247YWJsJm9hY3V0ZTtuYSBwcmUgZGV0YWlsJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9kaXJlY3RvcnlfdGVtcGxhdGUnXSA9ICdQcmVkbmFzdGF2ZW4mYWFjdXRlOyAmc2Nhcm9uO2FibCZvYWN1dGU7bmEgcHJlIGFkcmVzJmFhY3V0ZTtyJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9zdW1tYXJ5X3RlbXBsYXRlJ10gPSAnUHJlZG5hc3RhdmVuJmFhY3V0ZTsgJnNjYXJvbjthYmwmb2FjdXRlO25hIHByZSB2JnlhY3V0ZTtwaXMnOwokbGFuZ1snaW5mb19zeXNkZmx0X3RlbXBsYXRlJ10gPSAnQWx0ZXJpbmcgdGhpcyB0ZW1wbGF0ZSB3aWxsIGhhdmUgbm8gaW1tZWRpYXRlIGVmZmVjdCBvbiBhbnkgb3V0cHV0LiAgVGhpcyBmb3JtIGNvbnRyb2xzIHRoZSB2YWx1ZSBvZiB0aGUgdGVtcGxhdGUgdGhhdCBpcyBjcmVhdGVkIHdoZW4geW91IGNsaWNrICZxdW90O05ldyBUZW1wbGF0ZSZxdW90OyBpbiB0aGUgYXBwcm9wcmlhdGUgdGVtcGxhdGUgdGFiLic7CiRsYW5nWydsYXN0X2FjdGl2ZSddID0gJ1Bvc2xlZG4mYWFjdXRlOyB6bWVuYSc7CiRsYW5nWydsYmxfZGVmYXVsdHRlbXBsYXRlcyddID0gJ1ByZWRuYXN0YXZlbiZlYWN1dGU7ICZzY2Fyb247YWJsJm9hY3V0ZTtueSc7CiRsYW5nWydsYmxfZGV0YWlsdGVtcGxhdGVzJ10gPSAnJlNjYXJvbjthYmwmb2FjdXRlO255IGRldGFpbHUnOwokbGFuZ1snbGJsX2RpcmVjdG9yeXRlbXBsYXRlcyddID0gJyZTY2Fyb247YWJsJm9hY3V0ZTtueSBhZHJlcyZhYWN1dGU7cmEnOwokbGFuZ1snbGJsX2ZpcnN0X3BhZ2UnXSA9ICdQcmVqc8WlIG5hIHBydiZ1YWN1dGU7IHN0cmFudSc7CiRsYW5nWydsYmxfbGFzdF9wYWdlJ10gPSAnUHJlanPFpSBuYSBwb3NsZWRuJnVhY3V0ZTsgc3RyYW51JzsKJGxhbmdbJ2xibF9uZXh0X3BhZ2UnXSA9ICdQcmVqc8WlIG5hIG5hc2xlZHVqJnVhY3V0ZTtjdSBzdHJhbnUnOwokbGFuZ1snbGJsX3ByZXZfcGFnZSddID0gJ1ByZWpzxaUgbmEgcHJlZGNoJmFhY3V0ZTtkemFqJnVhY3V0ZTtjdSBzdHJhbnUnOwokbGFuZ1snbGJsX3NldHRpbmdzJ10gPSAnTmFzdGF2ZW5pYSc7CiRsYW5nWydsYmxfc3VtbWFyeXRlbXBsYXRlcyddID0gJyZTY2Fyb247YWJsJm9hY3V0ZTtueSB2JnlhY3V0ZTtwaXNvdic7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ01vZHVsIHVtb8W+bnVqZSB2eWjEvmFkJmFhY3V0ZTt2YW5pZSwgem9icmF6b3ZhbmllLCBwcmVjaCZhYWN1dGU7ZHphbmllIGEgem9icmF6b3ZhbmllIGluZm9ybSZhYWN1dGU7Y2lpIG8gdcW+JmlhY3V0ZTt2YXRlxL5vY2gnOwokbGFuZ1snb2YnXSA9ICd6JzsKJGxhbmdbJ3BhZ2UnXSA9ICdTdHJhbmEnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdDR1VzZXJEaXJlY3RvcnkgbW9kdWwgamUgcHJpcHJhdmVuJnlhY3V0ZTsgbmEga29uZmlndXImYWFjdXRlO2NpdSc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnQ0dVc2VyZGlyZWN0b3J5IG1vZHVsIGJ1ZGUgb2RpbiZzY2Fyb247dGFsb3ZhbiZ5YWN1dGU7ICh2ciZhYWN1dGU7dGEgZCZhYWN1dGU7dCknOwokbGFuZ1sndXNlcm5hbWUnXSA9ICdVxb4maWFjdXRlO3ZhdGXEvnNrJmVhY3V0ZTsgbWVubyc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEyMzExODQ5NzUuMi4yLnV0bWNzcj1mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZ3x1dG1jY249KHJlZmVycmFsKXx1dG1jbWQ9cmVmZXJyYWx8dXRtY2N0PS8nOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4yNzgyODU5NjU1MTEyNzI2NTAwLjEyMzExNjg1MDMuMTIzMTE2ODUwMy4xMjMxMTg0OTc1LjInOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzLjEuMTAuMTIzMTE4NDk3NSc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/sv_SE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FkZGVkaXRfZGV0YWlsX3RlbXBsYXRlJ10gPSAnTCZhdW1sO2dnIHRpbGwvcmVkaWdlcmEgRGV0YWxqbWFsbCc7CiRsYW5nWydhZGRlZGl0X2RpcmVjdG9yeV90ZW1wbGF0ZSddID0gJ0wmYXVtbDtnZyB0aWxsL3JlZGlnZXJhIERpcmVjdG9yeW1hbGwnOwokbGFuZ1snYWRkZWRpdF9zZWFyY2hmb3JtX3RlbXBsYXRlJ10gPSAnTCZhdW1sO2dnIHRpbGwvcmVkaWdlcmEgUyZvdW1sO2sgZm9ybXVsJmF1bWw7cnNtYWxsJzsKJGxhbmdbJ2FkZGVkaXRfc3VtbWFyeV90ZW1wbGF0ZSddID0gJ0wmYXVtbDtnZyB0aWxsL3JlZGlnZXJhIFN1bW1lcmluZ3NtYWxsJzsKJGxhbmdbJ2FueSddID0gJ1ZhbGZyaSc7CiRsYW5nWydhc2tfcmVhbGx5X3VuaW5zdGFsbCddID0gJyZBdW1sO3IgZHUgcyZhdW1sO2tlciBwJmFyaW5nOyBhdHQgZHUgdmlsbCByYWRlcmEgZGVubmEgbW9kdWw/IEZvcnRzJmF1bWw7dHRlciBkdSBzJmFyaW5nOyBrb21tZXIgZHUgYXR0IGYmb3VtbDtybG9yYSBhbGwgYXNzb2NpZXJhZGUgZGF0YS4nOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPg0KPGxpPlZlcnNpb24gMS4wIC0gSmFudWFyaSwgMjAwOQ0KICA8cD5GJm91bWw7cnN0YSB1dGcmYXJpbmc7dmFuPC9wPg0KPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2NyZWF0ZWQnXSA9ICdTa2FwYWQnOwokbGFuZ1snZXJyb3JfaW52YWxpZGdyb3VwJ10gPSAnT2dpbHRpZyBncnVwcCc7CiRsYW5nWydlcnJvcl9pbnZhbGlkc29ydGZpZWxkJ10gPSAnT2dpbHRpZ3Qgc29ydGVyaW5nc2YmYXVtbDtsdDogJXMnOwokbGFuZ1snZXJyb3JfbWlzc2luZ3BhcmFtJ10gPSAnT3RpbGxyJmF1bWw7Y2tsaWdhIHBhcmFtZXRyYXInOwokbGFuZ1snZXJyb3Jfbm9mZXUnXSA9ICdGcm9udGVuZCBVc2VyLW1vZHVsZW4ga3VuZGUgaW50ZSBoaXR0YXMnOwokbGFuZ1snZXJyb3JfdXNlcm5vdGZvdW5kJ10gPSAnS3VuZGUgaW50ZSBoaXR0YSBuJmFyaW5nO2dvbiBhbnYmYXVtbDtuZGFyZSBtZWQgZGV0dGEgaWQnOwokbGFuZ1snZXhwaXJlcyddID0gJ0Ymb3VtbDtyZmFsbGVyJzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0NhbGd1eXMgVXNlckRpcmVjdG9yeSc7CiRsYW5nWydncm91cHMnXSA9ICdHcnVwcGVyJzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2hhdCBkb2VzIHRoaXMgZG8/PC9oMz4NCiAgPHA+VGhpcyBtb2R1bGUgcHJvdmlkZXMgdGhlIGFiaWxpdHkgZm9yIGdlbmVyYXRpbmcgYSBkaXJlY3Rvcnkgb2YgdXNlcnMgZnJvbSB0aGUgRkVVIG1vZHVsZSwgZm9yIGdlbmVyYXRpbmcgYSBzdW1tYXJ5IHZpZXcgb2YgdXNlcnMgbWF0Y2hpbmcgc3BlY2lmaWVkIGNyaXRlcmlhLCBhbmQgZm9yIGRpc3BsYXlpbmcgYSBkZXRhaWwgcmVwb3J0IG9mIGEgc3BlY2lmaWMgdXNlci4gIEl0IGNhbiBiZSB1c2VkIGZvciBnZW5lcmF0aW5nIHByb2ZpbGUgcGFnZXMgZm9yIHlvdXIgdXNlcnMsIG9yIGEgc3RhZmYgZGlyZWN0b3J5LjwvcD4NCjxoMz5GZWF0dXJlczo8L2gzPg0KPHVsPg0KICA8bGk+Q29tcGxldGUgdGVtcGxhdGUgY29udHJvbA0KPHA+QWxsIGRpc3BsYXlzIGFyZSBjb21wbGV0ZWx5IGNvbmZpZ3VyYWJsZSBieSB0ZW1wbGF0ZXMgYWxsb3dpbmcgZm9yIGphdmFzY3JpcHQsIGFqYXgsIG9yIGFueSBvdGhlciBmYW5jeSBkaXNwbGF5cy4gIFN0eWxpbmcgaXMgY29tcGxldGVseSBjb250cm9sbGFibGUgYnkgdGhlIHdlYnNpdGUgZGV2ZWxvcGVyLjwvcD4NCiAgPC9saT4NCiAgPGxpPk11bHRpcGxlIGRhdGFiYXNlIHRlbXBsYXRlcy4NCjxwPllvdSBjYW4gY29uZmlndXJlIG11bHRpcGxlIGRpZmZlcmVudCB2aWV3cyBmb3IgZWFjaCBkaXNwbGF5LCBhbmQgdXNlIHRoZW0gdW5kZXIgZGlmZmVyZW50IHNpdHVhdGlvbnMuPC9wPg0KICA8L2xpPg0KPGxpPkZpbHRlciBzdW1tYXJ5IHZpZXdzIG9uIHVzZXIgcHJvcGVydGllcy4NCiAgIDxwPllvdSBjYW4gZmlsdGVyIHRoZSBvdXRwdXQgZm9yIHRoZSBzdW1tYXJ5IHZpZXcgYmFzZWQgb24gdGhlIHZhbHVlIG9mIGEgc3BlY2lmaWMgdXNlciBwcm9wZXJ0eSBmcm9tIHRoZSBGRVUgbW9kdWxlLiAgVGhpcyBhbHNvIGluY2x1ZGVzICZxdW90O0xJS0UmcXVvdDsgYmFzZWQgY3JpdGVyYS4NCiAgPC9saT4NCiAgPGxpPlNvcnRpbmcgb24gbXVsdGlwbGUgZGlmZmVyZW50IGNyaXRlcmlhLjwvbGk+DQogIDxsaT5TdXBwb3J0cyBTRU8gZnJpZW5kbHkgVVJMUzwvbGk+DQo8L3VsPg0KPGgzPkhvdyBkbyBJIHVzZSBpdD88L2gzPg0KPHA+VGhlIHNpbXBsZXN0IHdheSB0byB1c2UgdGhpcyBtb2R1bGUgaXMgdG8gcGxhY2UgYSB0YWcgbGlrZSB0aGlzIGludG8geW91ciBwYWdlIHRlbXBsYXRlLCBvciBwYWdlIGNvbnRlbnQgPGNvZGU+e0NHVXNlckRpcmVjdG9yeX08L2NvZGU+LiAgVG8gZXhwYW5kIG9uIHRoaXMgZnVuY3Rpb25hbGl0eSwgb3IgdG8gZGlzcGxheSBhIHN1YnNldCBvZiB5b3VyIHVzZXJzLCBzZWUgdGhlIHBhcmFtZXRlcnMgYmVsb3cuPC9wPg0KPGgzPkV4YW1wbGVzOjwvaDM+DQo8dWw+DQo8bGk+RGlzcGxheSBhIGRpcmVjdG9yeSBvZiBhbGwgdXNlcnM6DQo8cD48Y29kZT57Q0dVc2VyRGlyZWN0b3J5IGFjdGlvbj0mcXVvdDtkaXJlY3RvcnkmcXVvdDt9PC9jb2RlPjwvcD4NCjwvbGk+DQo8bGk+RGlzcGxheSBhIGRpcmVjdG9yeSBvZiBhbGwgdXNlcnMgb3JnYW5pemVkIGJ5IGNpdHk6DQo8cD48Y29kZT57Q0dVc2VyRGlyZWN0b3J5IGFjdGlvbj0mcXVvdDtkaXJlY3RvcnkmcXVvdDsgcHJvcD0mcXVvdDtjaXR5JnF1b3Q7fTwvY29kZT48L3A+DQo8L2xpPg0KPGxpPkRpc3BsYXkgYSBzdW1tYXJ5IGxpc3Qgb2YgYWxsIHVzZXJzIGluIHRoZSAmcXVvdDttZW1iZXJzJnF1b3Q7IGdyb3VwOg0KPHA+PGNvZGU+e0NHVXNlckRpcmVjdG9yeSBncm91cD0mcXVvdDttZW1iZXJzJnF1b3Q7fTwvY29kZT48L3A+DQo8L2xpPg0KPGxpPkRpc3BsYXkgYSBzdW1tYXJ5IGxpc3Qgb2YgYWxsIHVzZXJzIGluIHRoZSBjaXR5IG9mIGNhbGdhcnk6DQo8cD48Y29kZT57Q0dVc2VyRGlyZWN0b3J5IHByb3A9JnF1b3Q7Y2l0eSZxdW90OyBwcm9wdmFsPSZxdW90O2NhbGdhcnkmcXVvdDt9PC9jb2RlPjwvcD4NCjwvbGk+DQo8bGk+RGlzcGxheSBhIHN1bW1hcnkgbGlzdCBvZiBhbGwgdXNlcnMgZnJvbSBjb3VudHJpZXMgdGhhdCBiZWdpbiB3aXRoIEM6DQo8cD48Y29kZT57Q0dVc2VyRGlyZWN0b3J5IHByb3A9JnF1b3Q7Y2l0eSZxdW90OyB1c2VsaWtlPTEgcHJvcHZhbD0mcXVvdDtjJSZxdW90O308L2NvZGU+PC9wPg0KPC9saT4NCg0KPC91bD4NCg0KPGgzPk5vdGVzIGFib3V0IHByZXR0eSBVUkxTPC9oMz4NCjxwPiZxdW90O1ByZXR0eSZxdW90OyBvciBTRU8gZnJpZW5kbHkgVVJMUyBsaW1pdHMgdGhlIGZsZXhpYmlsaXR5IG9mIHRoaXMgbW9kdWxlLCBhbmQgdGhlIHBhcmFtZXRlcnMgdGhhdCBjYW4gYmUgc3BlY2lmaWVkIG9uIHRoZSB0YWcuIFBhcnRpY3VsYXJseSB0aG9zZSB0aGF0IGNhbiBiZSBwYXNzZWQgb24gdG8gc3Vic2VxdWVudCB2aWV3cy4gIEZvciB0aGlzIHJlYXNvbiwgdGhlIGRpcmVjdG9yeSB2aWV3IGRvZXMgbm90IGdlbmVyYXRlIHByZXR0eSB1cmxzIHRvIHRoZSBzdWJzZXF1ZW50IHN1bW1hcnkgbGlua3MuICBUaGlzIGFsbG93cyBwYXJhbWV0ZXJzIGxpa2UgZGV0YWlscGFnZSwgZGV0YWlsdGVtcGxhdGUsIGFuZCBzdW1tYXJ5dGVtcGxhdGUgdG8gYmUgcGFzc2VkIGluIHRoZSB0YWcgdG8gdGhlIGRpcmVjdG9yeSB2aWV3IGFuZCB0byBoYXZlIHRob3NlIHBhcmFtZXRlcnMgcGFzc2VkIGRvd24gdG8gdGhlIHN1YnNlcXVlbnQgc3VtbWFyeSBkZXRhaWwgdmlld3MuPC9wPg0KPC9wPg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCB0aGUgY21zIGRldmVsb3BtZW50IGZvcmdlIGF0IDxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmciPmRldi5jbXNtYWRlc2ltcGxlLm9yZzwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4NCjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwIGFsbCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yKHMpIGRpcmVjdGx5LjwvbGk+ICANCjwvdWw+DQoNCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA4LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+PGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmc+PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCml0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQp0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcg0KKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+DQo8cD5Ib3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQNCmFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQ0KaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUw0KTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIA0Kc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCmJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KT3IgcmVhZCBpdCA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPm9ubGluZTwvYT48L3A+JzsKJGxhbmdbJ2hlbHBfcGFyYW1fYWN0aW9uJ10gPSAnVGhpcyBwYXJhbWV0ZXIgY29udHJvbHMgdGhlIGJlaGF2aW91ciBvZiB0aGUgbW9kdWxlLiAgVGhlcmUgYXJlIHRocmVlIHBvc3NpYmxlIHZhbHVlczoNCjx1bD4NCiAgPGxpPmRlZmF1bHQgLSBEaXNwbGF5cyBhIHN1bW1hcnkgdmlldyBvZiB1c2VycyB0aGF0IG1hdGNoIHRoZSBzcGVjaWZpZWQgY3JpdGVyaWEsIG9yIGFsbCB1c2VycyBpZiBubyBjcml0aWVyaWEgaXMgc3BlY2lmaWVkLjwvbGk+DQogIDxsaT5kaXJlY3RvcnkgLSBEaXNwbGF5cyBhbiBhbHBoYWJldGljYWwgZGlyZWN0b3J5IG9mIGxpbmtzIHRvIHN1bW1hcnkgdmlld3MgdG8gdXNlcnMgdGhhdCBtYXRjaCB0aGUgc3BlY2lmaWVkIGNyaXRlcmlhLiAgSXQgaXMgcG9zc2libGUgdG8gY3JlYXRlIGRpcmVjdG9yeSB2aWV3cyBvbiB1c2VybmFtZSwgb3Igb24gYW55IG90aGVyIHBhcmFtZXRlcjwvbGk+DQogIDxsaT5kZXRhaWwgLSBEaXNwbGF5cyBhIGRldGFpbCByZXBvcnQgYWJvdXQgYSBzcGVjaWZpYyB1c2VyLjwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwX3BhcmFtX2dyb3VwJ10gPSAnQW52JmF1bWw7bmQgbWVkIERlZmF1bHQgcyZhcmluZzsgc2thIGRlbm5hIHBhcmFtZXRlciBpbm5laCZhcmluZztsbGEgbmFtbmV0IHAmYXJpbmc7IGVuIEZFVSBhbnYmYXVtbDtuZGFyZ3J1cHBlbiBvY2gga29tbWVyIGF0dCBiZWdyJmF1bWw7bnNhIHZpc25pbmdlbiB0aWxsIG1lZGxlbW1hciBhdiBkZW4gZ3J1cHBlbi4nOwokbGFuZ1snaGVscF9wYXJhbV9naWQnXSA9ICdBbnYmYXVtbDtuZCBtZWQgRGVmYXVsdCBzJmFyaW5nOyBza2EgZGVubmEgcGFyYW1ldGVyIGlubmVoJmFyaW5nO2xsYSBJRDp0IHAmYXJpbmc7IGVuIEZFVSBhbnYmYXVtbDtuZGFyZ3J1cHBlbiBvY2gga29tbWVyIGF0dCBiZWdyJmF1bWw7bnNhIHZpc25pbmdlbiB0aWxsIG1lZGxlbW1hciBhdiBkZW4gZ3J1cHBlbi4gRGVubmEgcGFyYW1ldGVyIGthbiBpbnRlIGFudiZhdW1sO25kYXMgdGlsbHNhbW1hbnMgbWVkIEdyb3VwIHBhcmFtZXRlcm4uJzsKJGxhbmdbJ2hlbHBfcGFyYW1fc2hvd2V4cGlyZWQnXSA9ICdHcnVuZGluc3QmYXVtbDtsbG5pbmdlbiAmYXVtbDtyIGF0dCBzeXN0ZW1ldCBleGtsdWRlcmFyIGFudiZhdW1sO25kYXJrb250b24gc29tIGhhciBnJmFyaW5nO3R0IHV0LiBTdCZhdW1sO2xscyBwYXJhbWV0ZXJuIHRpbGwgMSBzJmFyaW5nOyBpbmtsdWRlcmFzIGRlc3NhIGFudiZhdW1sO25kYXJlLic7CiRsYW5nWydoZWxwX3BhcmFtX3NvcnRieSddID0gJ0FudiZhdW1sO25kIHNvbSBncnVuZGluc3QmYXVtbDtsbG5pbmcsIGRlbm5hIHBhcmFtZXRlciBzcGVjaWZpY2VyYXIgaHVyIHJlc3VsdGF0ZXQgc2thIHNvcnRlcmFzLiBNJm91bWw7amxpZ2EgdiZhdW1sO3JkZW4gJmF1bWw7cjoNCjx1bD4NCiA8bGk+aWQgLSBBbnYmYXVtbDtuZGFyZW5zIGlkLjwvbGk+DQogPGxpPnVzZXJuYW1lIC0gQW52JmF1bWw7bmRhcm5hbW5ldC48L2xpPg0KIDxsaT5jcmVhdGVkYXRlIC0gRGF0dW1ldCBkJmFyaW5nOyBrb250b3Qgc2thcGFkZXMuPC9saT4NCiA8bGk+ZXhwaXJlcyAtIERhdHVtZXQga29udG90IGF2c2x1dGFzIChlbGxlciBoYXIgYXZzbHV0YXRzKTwvbGk+DQogPGxpPmFjdGl2aXR5IC0gRGF0dW1ldCBmJm91bWw7ciBzZW5hc3RlIGFrdGl2aXRldCAoaW5sb2dnYWQgZWxsZXIgdXRsb2dnYWQpLjwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwX3BhcmFtX3NvcnRvcmRlciddID0gJ0FudiZhdW1sO25kIHNvbSBncnVuZGluc3QmYXVtbDtsbG5pbmcsIGRlbm5hIHBhcmFtZXRlciBzcGVjaWZpY2VyYXIgaHVyIHJlc3VsdGF0ZXQgc2thIHNvcnRlcmFzLiBNJm91bWw7amxpZ2EgdiZhdW1sO3JkZW4gJmF1bWw7cjoNCjx1bD4NCiAgPGxpPkFTQyAtIFN0aWdhbmRlIG9yZG5pbmc8L2xpPg0KICA8bGk+REVTQyAtIEZhbGxhbmRlIG9yZG5pbmc8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscF9wYXJhbV9wYWdlbGltaXQnXSA9ICdBbnYmYXVtbDtuZHMgZiZvdW1sO3Igc3RhbmRhcmQmYXJpbmc7dGcmYXVtbDtyZGVuLCBkZW5uYSBwYXJhbWV0ZXIgYW5nZXIgZGV0IGgmb3VtbDtnc3RhIGFudGFsZXQgcG9zdGVyIHNvbSBza2FsbCByZXR1cm5lcmFzLic7CiRsYW5nWydoZWxwX3BhcmFtX3Byb3AnXSA9ICdVc2VkIGZvciB0aGUgZGVmYXVsdCBhbmQgZGlyZWN0b3J5IGFjdGlvbnMsIHRoaXMgcGFyYW1ldGVyIGJlaGF2ZXMgaW4gdHdvIGRpZmZlcmVudCB3YXlzIGRlcGVuZGluZyB1cG9uIHRoZSBhY3Rpb246DQo8dWw+DQogIDxsaT5UaGUgZGVmYXVsdCAoc3VtbWFyeSkgYWN0aW9uDQogICAgPHA+SW4gdGhlIGRlZmF1bHQgKHN1bW1hcnkpIGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSBhIHByb3BlcnR5IHRvIGZpbHRlciB0aGUgcmVzdWx0cyBieS48L3A+DQogIDwvbGk+DQogIDxsaT5UaGUgZGlyZWN0b3J5IGFjdGlvbi4NCiAgICA8cD5JbiB0aGUgZGlyZWN0b3J5IGFjdGlvbiwgdGhpcyBhcHJhbWV0ZXIgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSBhIHByb3BlcnR5IHRvIGdlbmVyYXRlIGEgZGlyZWN0b3J5IGZyb20uICAgVGhlIGRlZmF1bHQgdmFsdWUgaW4gdGhlIGRpcmVjdG9yeSBhY3Rpb24gaXMgJnF1b3Q7dW5zZXJuYW1lJmFtcDtxdW90ZTs8L3A+DQogIDwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwX3BhcmFtX3Byb3B2YWwnXSA9ICdBbnYmYXVtbDtuZCB0aWxsc2FtbWFucyBtZWQgJnF1b3Q7cHJvcCZxdW90OyBwYXJhbWV0ZXJuIGYmb3VtbDtyIGdydW5kdmlzbmluZ2VuIGQmYXVtbDtyIGV0dCBzcGVjaWZpa3QgdiZhdW1sO3JkZSBrYW4gYW52JmF1bWw7bmRhcyB0aWxsIGF0dCBmaWx0cmVyYSBhbnYmYXVtbDtuZGFyZS4nOwokbGFuZ1snaGVscF9wYXJhbV91c2VsaWtlJ10gPSAnVXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSAmcXVvdDtwcm9wJnF1b3Q7IGFuZCAmcXVvdDtwcm9wdmFsJnF1b3Q7IHBhcmFtZXRlcnMsIHRoaXMgcGFyYW1ldGVyLCBpZiBzZXQgdG8gYSBwb3NpdGl2ZSBpbnRlZ2VyIHZhbHVlIGluZGljYXRlcyB0aGF0IHRoZSBwcm9wdmFsIHBhcmFtZXRlciBjb250YWlucyBhIExJS0UgZXhwcmVzc2lvbic7CiRsYW5nWydoZWxwX3BhcmFtX2RldGFpbHBhZ2UnXSA9ICdUaGlzIHBhcmFtZXRlciwgaWYgc3BlY2lmaWVkLCBzaG91bGQgY29udGFpbiB0aGUgcGFnZWlkIG9yIGFsaWFzIG9mIGEgQ01TIGNvbnRlbnQgcGFnZSBvbiB3aGljaCB5b3Ugd291bGQgbGlrZSB0byBzaG93IGFueSBkZXRhaWwgcmVwb3J0JzsKJGxhbmdbJ2hlbHBfcGFyYW1fc3VtbWFyeXRlbXBsYXRlJ10gPSAnRGVubmEgcGFyYW1ldGVyIHRpbGwmYXJpbmc7dGVyIGF0dCBtYW4gYW5nZXIgZW4gaWNrZSBzdGFuZGFyZCBzdW1tZXJpbmdzbWFsbCBuYW1uIHNvbSBza2EgYW52JmF1bWw7bmRhcyBuJmF1bWw7ciBzYW1tYW5zdCZhdW1sO2xsbmluZ2VuIHZpc2FzJzsKJGxhbmdbJ2hlbHBfcGFyYW1fZGV0YWlsdGVtcGxhdGUnXSA9ICdEZW5uYSBwYXJhbWV0ZXIgdGlsbCZhcmluZzt0ZXIgYXR0IG1hbiBhbmdlciBlbiBpY2tlIHN0YW5kYXJkIGRldGFsam1hbGxzIG5hbW4gc29tIHNrYSBhbnYmYXVtbDtuZGFzIG4mYXVtbDtyIGRldGFsamVyIHZpc2FzJzsKJGxhbmdbJ2hlbHBfcGFyYW1fZGlyZWN0b3J5dGVtcGxhdGUnXSA9ICdEZW5uYSBwYXJhbWV0ZXIgdGlsbCZhcmluZzt0ZXIgYXR0IG1hbiBhbmdlciBlbiBpY2tlIHN0YW5kYXJkIGthdGFsb2dtYWxscyBuYW1uIHNvbSBza2EgYW52JmF1bWw7bmRhcyBuJmF1bWw7ciBrYXRhbG9nZW4gdmlzYXMnOwokbGFuZ1snaGVscF9wYXJhbV9zZWFyY2hmb3JtdGVtcGxhdGUnXSA9ICdUaGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IHNlYXJjaCB0ZW1wbGF0ZSBuYW1lIHRvIHVzZSBpbiBzZWFyY2ggZm9ybXMnOwokbGFuZ1snaGVscF9wYXJhbV91aWQnXSA9ICdVc2VkIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlIGRldGFpbCBkaXNwbGF5LCB0aGlzIHBhcmFtZXRlciBtdXN0IGNvbnRhaW4gdGhlIHVpZCBvZiBhIHZhbGlkIGZyb250ZW5kIHVzZXIgYWNjb3VudCc7CiRsYW5nWydpbmZvX2RldGFpbF90ZW1wbGF0ZSddID0gJ0RldGFpbCB0ZW1wbGF0ZXMgZGlzcGxheSBkZXRhaWxlZCBpbmZvcm1hdGlvbiBhYm91dCBhIHNwZWNpZmljIGZyb250ZW5kIHVzZXIuICBIZXJlIHlvdSBkZXNpZ24gdGhlIHdheSBpbiB3aGljaCB5b3Ugd2FudCB0aGF0IGluZm9ybWF0aW9uIGxhaWQgb3V0LiAgWW91IG1heSB1c2UgYW55IHNtYXJ0eSBsb2dpYyBvciB2YXJpYWJsZXMgdGhhdCBoYXZlIGJlZW4gZGVzaWduZWQgcHJldmlvdXNseSwgb3IgdGhlIG9uZXMgbWFkZSBhdmFpbGFibGUgc3BlY2lmaWNhbGx5IGZvciB0aGlzIHZpZXcnOwokbGFuZ1snaW5mb19kZXRhaWxfdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIHRoZSBsaXN0IG9mIGF2YWlsYWJsZSBkZXRhaWwgdmlldyB0ZW1wbGF0ZXMuICBPbmUgb2YgdGhlbSBpcyBtYXJrZWQgYXMgZGVmYXVsdC4gIFRoZSBkZWZhdWx0IG9uZSB3aWxsIGJlIHVzZWQgd2hlbiBubyBhbHRlcm5hdGUgdGVtcGxhdGUgbmFtZSBpcyBzdXBwbGllZCBvbiB0aGUgdGFnIHRoYXQgY2FsbHMgdGhpcyBtb2R1bGUnOwokbGFuZ1snaW5mb19kaXJlY3RvcnlfdGVtcGxhdGUnXSA9ICdEaXJlY3RvcnkgdGVtcGxhdGVzIGRpc3BsYXkgYW4gYWxwaGFiZXRpY2FsIGxpc3Qgb2YgbGlua3MsIHdoZW4gYSBsaW5rIGlzIGNsaWNrZWQgaXQgd2lsbCBkaXNwbGF5IGEgc3VtbWFyeSB2aWV3IG9mIHRoZSBtYXRjaGluZyB1c2VycyBmb3IgdGhhdCBsZXR0ZXIuICBJdCBpcyBwb3NzaWJsZSB0byBjcmVhdGUgZGlyZWN0b3JpZXMgYmFzZWQgb24gZGlmZmVyZW50IHByb3BlcnRpZXMuICBIZXJlIHlvdSBkZXNpZ24gdGhlIHdheSBpbiB3aGljaCB5b3Ugd2FudCB0aGF0IGluZm9ybWF0aW9uIGxhaWQgb3V0LiAgWW91IG1heSB1c2UgYW55IHNtYXJ0eSBsb2dpYyBvciB2YXJpYWJsZXMgdGhhdCBoYXZlIGJlZW4gZGVzaWduZWQgcHJldmlvdXNseSwgb3IgdGhlIG9uZXMgbWFkZSBhdmFpbGFibGUgc3BlY2lmaWNhbGx5IGZvciB0aGlzIHZpZXcnOwokbGFuZ1snaW5mb19kaXJlY3RvcnlfdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIHRoZSBsaXN0IG9mIGF2YWlsYWJsZSBkaXJlY3RvcnkgdGVtcGxhdGVzLiAgT25lIG9mIHRoZW0gaXMgbWFya2VkIGFzIGRlZmF1bHQuICBUaGUgZGVmYXVsdCBvbmUgd2lsbCBiZSB1c2VkIHdoZW4gbm8gYWx0ZXJuYXRlIHRlbXBsYXRlIG5hbWUgaXMgc3VwcGxpZWQgb24gdGhlIHRhZyB0aGF0IGNhbGxzIHRoaXMgbW9kdWxlJzsKJGxhbmdbJ2luZm9fc3VtbWFyeV90ZW1wbGF0ZSddID0gJ1N1bW1hcnkgdGVtcGxhdGVzIGRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgYSBsaXN0IG9mIHVzZXJzIHRoYXQgbWF0Y2ggYSBjcml0ZXJpYS4gIEhlcmUgeW91IGRlc2lnbiB0aGUgd2F5IGluIHdoaWNoIHlvdSB3YW50IHRoYXQgaW5mb3JtYXRpb24gbGFpZCBvdXQuICBZb3UgbWF5IHVzZSBhbnkgc21hcnR5IGxvZ2ljIG9yIHZhcmlhYmxlcyB0aGF0IGhhdmUgYmVlbiBkZXNpZ25lZCBwcmV2aW91c2x5LCBvciB0aGUgb25lcyBtYWRlIGF2YWlsYWJsZSBzcGVjaWZpY2FsbHkgZm9yIHRoaXMgdmlldyc7CiRsYW5nWydpbmZvX3NlYXJjaGZvcm1fdGVtcGxhdGUnXSA9ICdTZWFyY2ggZm9ybSB0ZW1wbGF0ZXMgZGlzcGxheSBBIGZvcm0gdG8gYWxsb3cgc2VhcmNoaW5nIGZvciBhIHBhcnRpY3VsYXIgdXNlciBvciBncm91cCBvZiB1c2Vycy4gIEhlcmUgeW91IGRlc2lnbiB0aGUgd2F5IGluIHdoaWNoIHlvdSB3YW50IHRoZSBmb3JtIGRpc3BsYXllZC4gIFlvdSBtYXkgdXNlIGFueSBzbWFydHkgbG9naWMgb3IgdmFyaWFibGVzIHRoYXQgaGF2ZSBiZWVuIGRlc2lnbmVkIHByZXZpb3VzbHksIG9yIHRoZSBvbmVzIG1hZGUgYXZhaWxhYmxlIHNwZWNpZmljYWxseSBmb3IgdGhpcyB2aWV3JzsKJGxhbmdbJ2luZm9fc2VhcmNoZm9ybV90ZW1wbGF0ZXNfdGFiJ10gPSAnVGhpcyB0YWIgY29udGFpbnMgdGhlIGxpc3Qgb2YgYXZhaWxhYmxlIHNlYXJjaCBmb3JtIHRlbXBsYXRlcy4gIE9uZSBvZiB0aGVtIGlzIG1hcmtlZCBhcyBkZWZhdWx0LiAgVGhlIGRlZmF1bHQgb25lIHdpbGwgYmUgdXNlZCB3aGVuIG5vIGFsdGVybmF0ZSB0ZW1wbGF0ZSBuYW1lIGlzIHN1cHBsaWVkIG9uIHRoZSB0YWcgdGhhdCBjYWxscyB0aGlzIG1vZHVsZSc7CiRsYW5nWydpbmZvX3N1bW1hcnlfdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIHRoZSBsaXN0IG9mIGF2YWlsYWJsZSBzdW1tYXJ5IHRlbXBsYXRlcy4gIE9uZSBvZiB0aGVtIGlzIG1hcmtlZCBhcyBkZWZhdWx0LiAgVGhlIGRlZmF1bHQgb25lIHdpbGwgYmUgdXNlZCB3aGVuIG5vIGFsdGVybmF0ZSB0ZW1wbGF0ZSBuYW1lIGlzIHN1cHBsaWVkIG9uIHRoZSB0YWcgdGhhdCBjYWxscyB0aGlzIG1vZHVsZSc7CiRsYW5nWydpbmZvX3N5c2RmbHRfZGV0YWlsX3RlbXBsYXRlJ10gPSAnU3RhbmRhcmQgRGV0YWxqbWFsbCc7CiRsYW5nWydpbmZvX3N5c2RmbHRfZGlyZWN0b3J5X3RlbXBsYXRlJ10gPSAnU3RhbmRhcmQgRGlyZWN0b3J5bWFsbCc7CiRsYW5nWydpbmZvX3N5c2RmbHRfc2VhcmNoZm9ybV90ZW1wbGF0ZSddID0gJ1N0YW5kYXJkIFMmb3VtbDtrbWFsbCc7CiRsYW5nWydpbmZvX3N5c2RmbHRfc3VtbWFyeV90ZW1wbGF0ZSddID0gJ1N0YW5kYXJkIFN1bW1lcmluZ3NtYWxsJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF90ZW1wbGF0ZSddID0gJyZBdW1sO25kcmluZyBhdiBkZW4gaCZhdW1sO3IgbWFsbGVuIGtvbW1lciBpbnRlIGF0dCBoYSBuJmFyaW5nO2dvbiBvbWVkZWxiYXIgZWZmZWt0IHAmYXJpbmc7IGJlZmludGxpZ2EgbWFsbGFyLiBEZW5uYSBmb3JtIHN0eXIgdiZhdW1sO3JkZXQgcCZhcmluZzsgZGVuIG1hbGwgc29tIHNrYXBhcyBuJmF1bWw7ciBkdSBrbGlja2FyIHAmYXJpbmc7ICZxdW90O05ldyBUZW1wbGF0ZSZxdW90OyBpIGwmYXVtbDttcGxpZyBtYWxsIGZsaWsuJzsKJGxhbmdbJ2xhc3RfYWN0aXZlJ10gPSAnU2VuYXN0IGFrdGl2JzsKJGxhbmdbJ2xibF9kZWZhdWx0dGVtcGxhdGVzJ10gPSAnU3RhbmRhcm1hbGxhcic7CiRsYW5nWydsYmxfZGV0YWlsdGVtcGxhdGVzJ10gPSAnRGV0YWxqbWFsbGFyJzsKJGxhbmdbJ2xibF9kaXJlY3Rvcnl0ZW1wbGF0ZXMnXSA9ICdEaXJlY3RvcnltYWxsYXInOwokbGFuZ1snbGJsX2ZpcnN0X3BhZ2UnXSA9ICdHJmFyaW5nOyB0aWxsIGYmb3VtbDtyc3RhIHNpZGFuJzsKJGxhbmdbJ2xibF9sYXN0X3BhZ2UnXSA9ICdHJmFyaW5nOyB0aWxsIHNpc3RhIHNpZGFuJzsKJGxhbmdbJ2xibF9uZXh0X3BhZ2UnXSA9ICdHJmFyaW5nOyB0aWxsIG4mYXVtbDtzdGEgc2lkYSc7CiRsYW5nWydsYmxfcHJldl9wYWdlJ10gPSAnRyZhcmluZzsgdGlsbCBmJm91bWw7cmVnJmFyaW5nO2VuZGUgc2lkYSc7CiRsYW5nWydsYmxfc2VhcmNoZm9ybXRlbXBsYXRlcyddID0gJ1Mmb3VtbDtrZm9ybXVsJmF1bWw7cnNtYWxsJzsKJGxhbmdbJ2xibF9zZXR0aW5ncyddID0gJ0luc3QmYXVtbDtsbG5pbmdhcic7CiRsYW5nWydsYmxfc3VtbWFyeXRlbXBsYXRlcyddID0gJ1N1bW1lcmluZ3NtYWxsYXInOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdFbiBtb2R1bCBzb20gZyZvdW1sO3IgZGV0IG0mb3VtbDtqbGlndCBhdHQgcyZvdW1sO2thLCBibCZhdW1sO2RkcmEgb2NoIHZpc2EgaW5mb3JtYXRpb24gb20gRnJvbnRlbmQgVXNlcnMnOwokbGFuZ1snb2YnXSA9ICdBdic7CiRsYW5nWydwYWdlJ10gPSAnUGFnZSc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0NHVXNlckRpcmVjdG9yeSBtb2R1bGVuICZhdW1sO3IgbnUgZiZhdW1sO3JkaWcgZiZvdW1sO3Iga29uZmlndXJhdGlvbic7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnQ0dVc2VyZGlyZWN0b3J5IG1vZHVsZW4sIG9jaCBhbGwgYXNzb2NpZXJhZCBkYXRhICZhdW1sO3IgbnUgcmFkZXJhdCBpIGRhdGFiYXNlbic7CiRsYW5nWydzdWJtaXQnXSA9ICdTa2lja2EnOwokbGFuZ1sndXNlcm5hbWUnXSA9ICdBbnYmYXVtbDtuZGFybmFtbic7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjE4NDMxMTY1NzguMTI0NDQ4MDEyMS4xMjQ3NDIyMjY3LjEyNDc0MzE3NTEuNDMnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjQ3NDMxNzUxLjQzLjYudXRtY2NuPShyZWZlcnJhbCl8dXRtY3NyPWZvcnVtLmNtc21hZGVzaW1wbGUub3JnfHV0bWNjdD0vfHV0bWNtZD1yZWZlcnJhbCc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHVXNlckRpcmVjdG9yeSAoYykgMjAwOSBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBicm93c2UKIyAgYW5kIHZpZXcgc3VtbWFyeSByZXBvcnRzIGFuZCBkZXRhaWwgcmVwb3J0cyBhYm91dCBncm91cHMgb2YgZnJvbnRlbmQKIyAgdXNlcnMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKIyBEaXJlY3RvcnkgVGVtcGxhdGUKJGZuID0gZGlybmFtZShfX0ZJTEVfXykuJy90ZW1wbGF0ZXMvb3JpZ19kaXJlY3RvcnlfdGVtcGxhdGUudHBsJzsKaWYoIGZpbGVfZXhpc3RzKCAkZm4gKSApCiAgewogICAgJHRlbXBsYXRlID0gZmlsZV9nZXRfY29udGVudHMoJGZuKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKENHVVNFUkRJUl9QUkVGX05FV0RJUkVDVE9SWV9URU1QTEFURSwkdGVtcGxhdGUpOwogICAgJHRoaXMtPlNldFRlbXBsYXRlKCdkaXJlY3RvcnlfU2FtcGxlJywkdGVtcGxhdGUpOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoQ0dVU0VSRElSX1BSRUZfREZMVERJUkVDVE9SWV9OQU1FLCdTYW1wbGUnKTsKICB9CgojIFN1bW1hcnkgVGVtcGxhdGUKJGZuID0gZGlybmFtZShfX0ZJTEVfXykuJy90ZW1wbGF0ZXMvb3JpZ19zdW1tYXJ5X3RlbXBsYXRlLnRwbCc7CmlmKCBmaWxlX2V4aXN0cyggJGZuICkgKQogIHsKICAgICR0ZW1wbGF0ZSA9IGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZShDR1VTRVJESVJfUFJFRl9ORVdTVU1NQVJZX1RFTVBMQVRFLCR0ZW1wbGF0ZSk7CiAgICAkdGhpcy0+U2V0VGVtcGxhdGUoJ3N1bW1hcnlfU2FtcGxlJywkdGVtcGxhdGUpOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoQ0dVU0VSRElSX1BSRUZfREZMVFNVTU1BUllfTkFNRSwnU2FtcGxlJyk7CiAgfQoKIyBEZXRhaWwgdGVtcGxhdGUKJGZuID0gZGlybmFtZShfX0ZJTEVfXykuJy90ZW1wbGF0ZXMvb3JpZ19kZXRhaWxfdGVtcGxhdGUudHBsJzsKaWYoIGZpbGVfZXhpc3RzKCAkZm4gKSApCiAgewogICAgJHRlbXBsYXRlID0gZmlsZV9nZXRfY29udGVudHMoJGZuKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKENHVVNFUkRJUl9QUkVGX05FV0RFVEFJTF9URU1QTEFURSwkdGVtcGxhdGUpOwogICAgJHRoaXMtPlNldFRlbXBsYXRlKCdkZXRhaWxfU2FtcGxlJywkdGVtcGxhdGUpOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoQ0dVU0VSRElSX1BSRUZfREZMVERFVEFJTF9OQU1FLCdTYW1wbGUnKTsKICB9CgojIFNlYXJjaGZvcm0gdGVtcGxhdGUKJGZuID0gZGlybmFtZShfX0ZJTEVfXykuJy90ZW1wbGF0ZXMvb3JpZ19zZWFyY2hmb3JtX3RlbXBsYXRlLnRwbCc7CmlmKCBmaWxlX2V4aXN0cyggJGZuICkgKQogIHsKICAgICR0ZW1wbGF0ZSA9IGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZShDR1VTRVJESVJfUFJFRl9ORVdTRUFSQ0hGT1JNX1RFTVBMQVRFLCR0ZW1wbGF0ZSk7CiAgICAkdGhpcy0+U2V0VGVtcGxhdGUoJ3NlYXJjaGZvcm1fU2FtcGxlJywkdGVtcGxhdGUpOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoQ0dVU0VSRElSX1BSRUZfREZMVFNFQVJDSEZPUk1fTkFNRSwnU2FtcGxlJyk7CiAgfQoKIyBCcm93c2UgUHJvcGVydHkgdGVtcGxhdGUKJGZuID0gZGlybmFtZShfX0ZJTEVfXykuJy90ZW1wbGF0ZXMvb3JpZ19icm93c2Vwcm9wX3RlbXBsYXRlLnRwbCc7CmlmKCBmaWxlX2V4aXN0cyggJGZuICkgKQogIHsKICAgICR0ZW1wbGF0ZSA9IGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZShDR1VTRVJESVJfUFJFRl9ORVdCUk9XU0VQUk9QX1RFTVBMQVRFLCR0ZW1wbGF0ZSk7CiAgICAkdGhpcy0+U2V0VGVtcGxhdGUoJ2Jyb3dzZXByb3BfU2FtcGxlJywkdGVtcGxhdGUpOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoQ0dVU0VSRElSX1BSRUZfREZMVEJST1dTRVBST1BfTkFNRSwnU2FtcGxlJyk7CiAgfQoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHVXNlckRpcmVjdG9yeSAoYykgMjAwOSBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBicm93c2UKIyAgYW5kIHZpZXcgc3VtbWFyeSByZXBvcnRzIGFuZCBkZXRhaWwgcmVwb3J0cyBhYm91dCBncm91cHMgb2YgZnJvbnRlbmQKIyAgdXNlcnMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKLy8gUmVtb3ZlIGFsbCBwcmVmZXJlbmNlcyBmb3IgdGhpcyBtb2R1bGUKJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoKTsKCi8vIFJlbW92ZSBhbGwgZGF0YWJhc2UgdGVtcGxhdGVzIGZvciB0aGlzIG1vZHVsZQokdGhpcy0+RGVsZXRlVGVtcGxhdGUoKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHVXNlckRpcmVjdG9yeSAoYykgMjAwOSBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBicm93c2UKIyAgYW5kIHZpZXcgc3VtbWFyeSByZXBvcnRzIGFuZCBkZXRhaWwgcmVwb3J0cyBhYm91dCBncm91cHMgb2YgZnJvbnRlbmQKIyAgdXNlcnMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKJGN1cnJlbnRfdmVyc2lvbiA9ICRvbGR2ZXJzaW9uOwpzd2l0Y2goJGN1cnJlbnRfdmVyc2lvbikKICB7CiAgY2FzZSAnMS4wJzoKICBjYXNlICcxLjAuMSc6CiAgICAvLyBTZWFyY2hmb3JtIHRlbXBsYXRlCiAgICAkZm4gPSBkaXJuYW1lKF9fRklMRV9fKS4nL3RlbXBsYXRlcy9vcmlnX3NlYXJjaGZvcm1fdGVtcGxhdGUudHBsJzsKICAgIGlmKCBmaWxlX2V4aXN0cyggJGZuICkgKQogICAgICB7CgkkdGVtcGxhdGUgPSBmaWxlX2dldF9jb250ZW50cygkZm4pOwoJJHRoaXMtPlNldFByZWZlcmVuY2UoQ0dVU0VSRElSX1BSRUZfTkVXU0VBUkNIRk9STV9URU1QTEFURSwkdGVtcGxhdGUpOwoJJHRoaXMtPlNldFRlbXBsYXRlKCdzZWFyY2hmb3JtX1NhbXBsZScsJHRlbXBsYXRlKTsKCSR0aGlzLT5TZXRQcmVmZXJlbmNlKENHVVNFUkRJUl9QUkVGX0RGTFRTRUFSQ0hGT1JNX05BTUUsJ1NhbXBsZScpOwogICAgICB9CgogICAgJGZuID0gZGlybmFtZShfX0ZJTEVfXykuJy90ZW1wbGF0ZXMvb3JpZ19icm93c2Vwcm9wX3RlbXBsYXRlLnRwbCc7CiAgICBpZiggZmlsZV9leGlzdHMoICRmbiApICkKICAgICAgewoJJHRlbXBsYXRlID0gZmlsZV9nZXRfY29udGVudHMoJGZuKTsKCSR0aGlzLT5TZXRQcmVmZXJlbmNlKENHVVNFUkRJUl9QUkVGX05FV0JST1dTRVBST1BfVEVNUExBVEUsJHRlbXBsYXRlKTsKCSR0aGlzLT5TZXRUZW1wbGF0ZSgnYnJvd3NlcHJvcF9TYW1wbGUnLCR0ZW1wbGF0ZSk7CgkkdGhpcy0+U2V0UHJlZmVyZW5jZShDR1VTRVJESVJfUFJFRl9ERkxUQlJPV1NFUFJPUF9OQU1FLCdTYW1wbGUnKTsKICAgICAgfQogICAgYnJlYWs7CiAgfQoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/skeleton.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHVXNlckRpcmVjdG9yeSAoYykgMjAwOSBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBicm93c2UKIyAgYW5kIHZpZXcgc3VtbWFyeSByZXBvcnRzIGFuZCBkZXRhaWwgcmVwb3J0cyBhYm91dCBncm91cHMgb2YgZnJvbnRlbmQKIyAgdXNlcnMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/orig_browseprop_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogYnJvd3NlIHByb3BlcnR5IHZhbHVlcyB0ZW1wbGF0ZSAqfQp7aWYgaXNzZXQoJGJyb3dzZW9wdGlvbnMpfQo8dWw+Cntmb3JlYWNoIGZyb209JGJyb3dzZW9wdGlvbnMgaXRlbT0nb25lJ30KICA8bGk+PGEgaHJlZj0ieyRvbmUudXJsfSIgdGl0bGU9Inskb25lLm5hbWV9Ij57JG9uZS5uYW1lfXtpZiBpc3NldCgkb25lLmNvdW50KX0gKHskb25lLmNvdW50fSl7L2lmfTwvYT48L2xpPgp7L2ZvcmVhY2h9CjwvdWw+CnsvaWZ9Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/orig_detail_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogQ0dVc2VyRGlyZWN0b3J5IGRldGFpbCB0ZW1wbGF0ZSAqfQo8ZGl2IGlkPSJ1c2VyZGlyZWN0b3J5X2RldGFpbCI+CgogIDxkaXYgY2xhc3M9InJvdyIgc3R5bGU9Im1hcmdpbjogMC41ZW07Ij4KICAgIDxkaXYgc3R5bGU9IndpZHRoOiA0OSU7IGZsb2F0OiBsZWZ0OyI+eyRtb2QtPkxhbmcoJ3VzZXJuYW1lJyl9OjwvZGl2PgogICAgPGRpdiBzdHlsZT0id2lkdGg6IDQ5JTsgZmxvYXQ6IGxlZnQ7Ij57JG9uZXVzZXIudXNlcm5hbWV9ICh7JG9uZXVzZXIuaWR9KTwvZGl2PgogIDwvZGl2PgoKICA8ZGl2IGNsYXNzPSJyb3ciIHN0eWxlPSJtYXJnaW46IDAuNWVtOyI+CiAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogNDklOyBmbG9hdDogbGVmdDsiPnskbW9kLT5MYW5nKCdjcmVhdGVkJyl9OjwvZGl2PgogICAgPGRpdiBzdHlsZT0id2lkdGg6IDQ5JTsgZmxvYXQ6IGxlZnQ7Ij57JG9uZXVzZXIuY3JlYXRlZGF0ZXxjbXNfZGF0ZV9mb3JtYXR9PC9kaXY+CiAgPC9kaXY+CgogIDxkaXYgY2xhc3M9InJvdyIgc3R5bGU9Im1hcmdpbjogMC41ZW07Ij4KICAgIDxkaXYgc3R5bGU9IndpZHRoOiA0OSU7IGZsb2F0OiBsZWZ0OyI+eyRtb2QtPkxhbmcoJ2V4cGlyZXMnKX06PC9kaXY+CiAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogNDklOyBmbG9hdDogbGVmdDsiPnskb25ldXNlci5leHBpcmVzfGNtc19kYXRlX2Zvcm1hdH08L2Rpdj4KICA8L2Rpdj4KCiAge2lmIGlzc2V0KCRvbmV1c2VyLnJlZmRhdGUpfQogIDxkaXYgY2xhc3M9InJvdyIgc3R5bGU9Im1hcmdpbjogMC41ZW07Ij4KICAgIDxkaXYgc3R5bGU9IndpZHRoOiA0OSU7IGZsb2F0OiBsZWZ0OyI+eyRtb2QtPkxhbmcoJ2xhc3RfYWN0aXZlJyl9OjwvZGl2PgogICAgPGRpdiBzdHlsZT0id2lkdGg6IDQ5JTsgZmxvYXQ6IGxlZnQ7Ij57JG9uZXVzZXIucmVmZGF0ZXxjbXNfZGF0ZV9mb3JtYXR9PC9kaXY+CiAgPC9kaXY+CiAgey9pZn0KCiAgPGRpdiBjbGFzcz0icm93IiBzdHlsZT0ibWFyZ2luOiAwLjVlbTsiPgogICAgPGRpdiBzdHlsZT0id2lkdGg6IDQ5JTsgZmxvYXQ6IGxlZnQ7Ij57JG1vZC0+TGFuZygnZ3JvdXBzJyl9OjwvZGl2PgogICAgPGRpdiBzdHlsZT0id2lkdGg6IDQ5JTsgZmxvYXQ6IGxlZnQ7Ij4gICAgIAogICAge2ZvcmVhY2ggZnJvbT0kb25ldXNlci5ncm91cHMgaXRlbT0nb25lZ3JvdXAnfQogICAgICB7JGdyb3Vwcy4kb25lZ3JvdXAuZ3JvdXBuYW1lfSZuYnNwOwogICAgey9mb3JlYWNofQogICAgPC9kaXY+CiAgPC9kaXY+CgogIHsqIHByb3BlcnRpZXMgKn0KICB7Zm9yZWFjaCBmcm9tPSRvbmV1c2VyLnByb3BlcnRpZXMgaXRlbT0nb25lcHJvcHZhbHVlJyBrZXk9J3Byb3BuYW1lJ30KICA8ZGl2IGNsYXNzPSJyb3ciIHN0eWxlPSJtYXJnaW46IDAuNWVtOyI+CiAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogNDklOyBmbG9hdDogbGVmdDsiPnskcHJvcGVydGllcy4kcHJvcG5hbWUucHJvbXB0fTo8L2Rpdj4KICAgIDxkaXYgc3R5bGU9IndpZHRoOiA0OSU7IGZsb2F0OiBsZWZ0OyI+CiAgICB7aWYgJHByb3BlcnRpZXMuJHByb3BuYW1lLnR5cGUgPT0gNn0KICAgICAgIHsqIGltYWdlICp9CiAgICAgICA8aW1nIHNyYz0ieyRmaWxlX2xvY2F0aW9ufS97JG9uZXByb3B2YWx1ZX0iIHdpZHRoPSIxMDAiLz4KICAgIHtlbHNlfQogICAgICAgeyRvbmVwcm9wdmFsdWV9CiAgICB7L2lmfQogICAgPC9kaXY+CiAgPC9kaXY+CiAgey9mb3JlYWNofQoKICAKPC9kaXY+]]></data>
	</file>
	<file>
	  <filename>/templates/orig_directory_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogZGlyZWN0b3J5IHRlbXBsYXRlICp9CjxkaXYgY2xhc3M9InVzZXJkaXJlY3RvcnlfZGlyZWN0b3J5Ij4KICB7aWYgaXNzZXQoJGNoYXJhcnJheSl9CiAge2ZvcmVhY2ggZnJvbT0kY2hhcmFycmF5IGl0ZW09J29uZSd9CgogICAge2lmIGlzc2V0KCRvbmVbMV0pfQogICAgICA8c3BhbiBjbGFzcz0idXNlcmRpcmVjdG9yeV9kaXJlY3RvcnlsZXR0ZXIiPjxhIGhyZWY9Inskb25lWzFdfSIgdGl0bGU9Inskb25lWzBdfSI+eyRvbmVbMF19PC9hPjwvc3Bhbj4KICAgIHtlbHNlfQogICAgICA8c3BhbiBjbGFzcz0idXNlcmRpcmVjdG9yeV9kaXJlY3RvcnlsZXR0ZXIiPnskb25lWzBdfTwvYT4KICAgIHsvaWZ9CgogIHsvZm9yZWFjaH0KICB7L2lmfQo8L2Rpdj4=]]></data>
	</file>
	<file>
	  <filename>/templates/orig_searchform_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogc2VhcmNoIGZvcm0gdGVtcGxhdGUgKn0KeyogdmFsaWQgZmllbGRzIGFyZToKICAgeyRhY3Rpb25pZH11ZF9zdWJtaXQgICAgLSAoc3RyaW5nKSBmb3IgYSBzdWJtaXQgYnV0dG9uCiAgIHskYWN0aW9uaWR9dWRfY2FuY2VsICAgIC0gKHN0cmluZykgZm9yIGEgY2FuY2VsIGJ1dHRvbgogICB7JGFjdGlvbmlkfXVkX3VzZXJuYW1lICAtIChzdHJpbmcpIHVzZXJuYW1lIGV4cHJlc3Npb24KICAgeyRhY3Rpb25pZH11ZF9wcm9wdmFsdWUgLSAoc3RyaW5nKSBwcm9wZXJ0eSB2YWx1ZQoqfQoKPGRpdiBpZD0idWRfc2VhcmNoZm9ybSI+CnskZm9ybXN0YXJ0fQoKPGRpdiBjbGFzcz0icm93Ij4KICA8cCBjbGFzcz0iY29sMzAiPnskbW9kLT5MYW5nKCd1c2VybmFtZScpfTwvcD4KICA8cCBjbGFzcz0iY29sNzAiPgogICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9dWRfdXNlcm5hbWUiIHNpemU9IjIwIiBtYXhsZW5ndGg9IjQwIi8+CiAgPC9wPgo8L2Rpdj4KCntpZiBpc3NldCgkdWRfZmllbGR0eXBlKX0KPGRpdiBjbGFzcz0icm93Ij4KICA8cCBjbGFzcz0iY29sMzAiPnskdWRfZmllbGRkZWZuLnByb21wdH06PC9wPgogIDxwIGNsYXNzPSJjb2w3MCI+CiAgICB7aWYgJGZpZWxkdHlwZSA9PSAndGV4dCd9CiAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfXVkX3Byb3B2YWx1ZSIgc2l6ZT0iMjAiIG1heGxlbmd0aD0iMjAiLz4KICAgIHtlbHNlIGlmICRmaWVsZHR5cGUgPT0gJ3NlbGVjdCd9CiAgICAgIDxzZWxlY3QgbmFtZT0ieyRhY3Rpb25pZH11ZF9wcm9wdmFsdWUiPgogICAgICB7aHRtbF9vcHRpb25zIG9wdGlvbnM9JHVkX29wdGlvbnN9CiAgICAgIDwvc2VsZWN0PgogICAgey9pZn0KICA8L3A+CjwvZGl2PgoKey9pZn0KCjxkaXYgY2xhc3M9InJvdyI+CiAgPHAgY2xhc3M9ImNvbDMwIj4mbmJzcDs8L3A+CiAgPHAgY2xhc3M9ImNvbDcwIj4KICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9dWRfc3VibWl0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3N1Ym1pdCcpfSIvPgogIDwvcD4KPC9kaXY+Cgp7JGZvcm1lbmR9CjwvZGl2Pg==]]></data>
	</file>
	<file>
	  <filename>/templates/orig_summary_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogQ0dVc2VyRGlyZWN0b3J5IHN1bW1hcnkgdGVtcGxhdGUgKn0KCjxkaXYgaWQ9InVzZXJkaXJlY3Rvcnlfc3VtbWFyeSI+CntpZiBpc3NldCgkZmlyc3RwYWdlX3VybCl9CiAgPGEgaHJlZj0ieyRmaXJzdHBhZ2VfdXJsfSIgdGl0bGU9InskbW9kLT5MYW5nKCdsYmxfZmlyc3RfcGFnZScpfSI+Jmx0OyZsdDs8L2E+CnsvaWZ9CntpZiBpc3NldCgkcHJldnBhZ2VfdXJsKX0KICA8YSBocmVmPSJ7JHByZXZwYWdlX3VybH0iIHRpdGxlPSJ7JG1vZC0+TGFuZygnbGlibF9wcmV2X3BhZ2UnKX0iPiZsdDs8L2E+CnsvaWZ9CiZuYnNwO3skbW9kLT5MYW5nKCdwYWdlJyl9Jm5ic3A7eyRjdXJwYWdlfSZuYnNwO3skbW9kLT5MYW5nKCdvZicpfSZuYnNwO3skbnVtcGFnZXN9Jm5ic3A7CntpZiBpc3NldCgkbmV4dHBhZ2VfdXJsKX0KICA8YSBocmVmPSJ7JG5leHRwYWdlX3VybH0iIHRpdGxlPSJ7JG1vZC0+TGFuZygnbGJsX25leHRfcGFnZScpfSI+Jmd0OzwvYT4Key9pZn0Ke2lmIGlzc2V0KCRsYXN0cGFnZV91cmwpfQogIDxhIGhyZWY9InskbGFzdHBhZ2VfdXJsfSIgdGl0bGU9InskbW9kLT5MYW5nKCdsYmxfbGFzdF9wYWdlJyl9Ij4mZ3Q7Jmd0OzwvYT4Key9pZn0KCntmb3JlYWNoIGZyb209JHVzZXJzIGl0ZW09J29uZXVzZXInfQo8ZGl2IGNsYXNzPSJ1c2VyZGlyZWN0b3J5X29uZXVzZXIiIHN0eWxlPSJtYXJnaW46IDJlbTsgcGFkZGluZy1ib3R0b207IDJlbTsiPgoKICA8ZGl2IGNsYXNzPSJyb3ciIHN0eWxlPSJtYXJnaW46IDAuNWVtOyI+CiAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogNDklOyBmbG9hdDogbGVmdDsiPnskbW9kLT5MYW5nKCd1c2VybmFtZScpfTo8L2Rpdj4KICAgIDxkaXYgc3R5bGU9IndpZHRoOiA0OSU7IGZsb2F0OiBsZWZ0OyI+PGEgaHJlZj0ieyRvbmV1c2VyLmRldGFpbF91cmx9IiB0aXRsZT0ieyRvbmV1c2VyLnVzZXJuYW1lfSI+eyRvbmV1c2VyLnVzZXJuYW1lfTwvYT4gKHskb25ldXNlci5pZH0pPC9kaXY+CiAgPC9kaXY+CgogIDxkaXYgY2xhc3M9InJvdyIgc3R5bGU9Im1hcmdpbjogMC41ZW07Ij4KICAgIDxkaXYgc3R5bGU9IndpZHRoOiA0OSU7IGZsb2F0OiBsZWZ0OyI+eyRtb2QtPkxhbmcoJ2NyZWF0ZWQnKX06PC9kaXY+CiAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogNDklOyBmbG9hdDogbGVmdDsiPnskb25ldXNlci5jcmVhdGVkYXRlfGNtc19kYXRlX2Zvcm1hdH08L2Rpdj4KICA8L2Rpdj4KCiAgPGRpdiBjbGFzcz0icm93IiBzdHlsZT0ibWFyZ2luOiAwLjVlbTsiPgogICAgPGRpdiBzdHlsZT0id2lkdGg6IDQ5JTsgZmxvYXQ6IGxlZnQ7Ij57JG1vZC0+TGFuZygnZXhwaXJlcycpfTo8L2Rpdj4KICAgIDxkaXYgc3R5bGU9IndpZHRoOiA0OSU7IGZsb2F0OiBsZWZ0OyI+eyRvbmV1c2VyLmV4cGlyZXN8Y21zX2RhdGVfZm9ybWF0fTwvZGl2PgogIDwvZGl2PgoKICB7aWYgaXNzZXQoJG9uZXVzZXIucmVmZGF0ZSl9CiAgPGRpdiBjbGFzcz0icm93IiBzdHlsZT0ibWFyZ2luOiAwLjVlbTsiPgogICAgPGRpdiBzdHlsZT0id2lkdGg6IDQ5JTsgZmxvYXQ6IGxlZnQ7Ij57JG1vZC0+TGFuZygnbGFzdF9hY3RpdmUnKX06PC9kaXY+CiAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogNDklOyBmbG9hdDogbGVmdDsiPnskb25ldXNlci5yZWZkYXRlfGNtc19kYXRlX2Zvcm1hdH08L2Rpdj4KICA8L2Rpdj4KICB7L2lmfQoKICA8ZGl2IGNsYXNzPSJyb3ciIHN0eWxlPSJtYXJnaW46IDAuNWVtOyI+CiAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogNDklOyBmbG9hdDogbGVmdDsiPnskbW9kLT5MYW5nKCdncm91cHMnKX06PC9kaXY+CiAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogNDklOyBmbG9hdDogbGVmdDsiPiAgICAgCiAgICB7Zm9yZWFjaCBmcm9tPSRvbmV1c2VyLmdyb3VwcyBpdGVtPSdvbmVncm91cCd9CiAgICAgIHskZ3JvdXBzLiRvbmVncm91cC5ncm91cG5hbWV9Jm5ic3A7CiAgICB7L2ZvcmVhY2h9CiAgICA8L2Rpdj4KICA8L2Rpdj4KCiAgeyogcHJvcGVydGllcyAqfQogIHtmb3JlYWNoIGZyb209JG9uZXVzZXIucHJvcGVydGllcyBpdGVtPSdvbmVwcm9wdmFsdWUnIGtleT0ncHJvcG5hbWUnfQogIDxkaXYgY2xhc3M9InJvdyIgc3R5bGU9Im1hcmdpbjogMC41ZW07Ij4KICAgIDxkaXYgc3R5bGU9IndpZHRoOiA0OSU7IGZsb2F0OiBsZWZ0OyI+eyRwcm9wZXJ0aWVzLiRwcm9wbmFtZS5wcm9tcHR9OjwvZGl2PgogICAgPGRpdiBzdHlsZT0id2lkdGg6IDQ5JTsgZmxvYXQ6IGxlZnQ7Ij4KICAgICAge2lmICRwcm9wZXJ0aWVzLiRwcm9wbmFtZS50eXBlID09IDR9CiAgICAgICAgeyRmZXVfc21hcnR5LT5nZXRfZHJvcGRvd25fdGV4dCgkcHJvcG5hbWUsJG9uZXByb3B2YWx1ZSl9CiAgICAgICAgeyogZHJvcGRvd24gKn0KICAgICAge2Vsc2VpZiAkcHJvcGVydGllcy4kcHJvcG5hbWUudHlwZSA9PSA1fQogICAgICAgIHsqIG11bHRpc2VsZWN0ICp9Cgl7YXNzaWduIHZhcj0ndG1wJyB2YWx1ZT0nLCd8ZXhwbG9kZTokb25lcHJvcHZhbHVlfQogICAgICAgIHskZmV1X3NtYXJ0eS0+Z2V0X211bHRpc2VsZWN0X3RleHQoJHByb3BuYW1lLCRvbmVwcm9wdmFsdWUsJ3ZhbHVlcycpfQogICAgICAgIHtjZ3VkX2dldHByb3BlcnR5c3VtbWFyeV91cmwgcHJvcD0iJHByb3BuYW1lIiBwcm9wdmFsPSIkb25lcHJvcHZhbHVlIiBhc3NpZ249J3VybHMnfQogICAgICAgIDx1bD4KICAgICAgICB7Zm9yZWFjaCBmcm9tPSR2YWx1ZXMgbmFtZT0nbXVsdGknIGl0ZW09J29uZSd9CiAgICAgICAgICA8bGk+CiAgICAgICAgICAgIHthc3NpZ24gdmFyPSdpJyB2YWx1ZT0kc21hcnR5LmZvcmVhY2gubXVsdGkuaW5kZXh9CiAgICAgICAgICAgIDxhIGhyZWY9InskdXJsc1skaV19IiB0aXRsZT0ieyRvbmV9Ij57JG9uZX08L2E+CiAgICAgICAgICA8L2xpPgogICAgICAgIHsvZm9yZWFjaH0KICAgICAgICA8L3VsPgogICAgICB7ZWxzZX0KICAgICAgICB7JG9uZXByb3B2YWx1ZX0KICAgICAgey9pZn0KICAgIDwvZGl2PgogIDwvZGl2PgogIHsvZm9yZWFjaH0KCjwvZGl2PnsqIHVzZXJkaXJlY3Rvcnlfb25ldXNlciAqfQo8YnIvPjxici8+CnsvZm9yZWFjaH0KPC9kaXY+eyogdXNlcmRpcmVjdG9yeV9zdW1tYXJ5ICp9]]></data>
	</file>
	<file>
	  <filename>/templates/template_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHAgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgeyRtc2d9CjwvcD4KCnskdGVtcGxhdGVsaXN0fQ==]]></data>
	</file>
</module>
