<?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.2.6</version>
  <mincmsversion>1.9.2</mincmsversion>
	<help><![CDATA[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+PGxpPkNHRXh0ZW5zaW9ucyA9Jmd0OyAxLjI1PC9saT48bGk+RnJvbnRFbmRVc2VycyA9Jmd0OyAxLjE1LjI8L2xpPjwvdWw+PGgzPlBhcmFtZXRlcnM8L2gzPjx1bD48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBsYW5nPSJlbl9VUyIgLSBQYXJhbWV0ZXIgaXMgdXNlZCB0byBzcGVjaWZ5IHdoYXQgbGFuZ3VhZ2UgdG8gdXNlIGZvciBkaXNwbGF5IG9uIHRoZSBmcm9udGVuZC4gTm90IGFsbCBtb2R1bGVzIHN1cHBvcnQgb3IgbmVlZCB0aGlzLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gYWN0aW9uPSJkZWZhdWx0IiAtIFRoaXMgcGFyYW1ldGVyIGNvbnRyb2xzIHRoZSBiZWhhdmlvdXIgb2YgdGhlIG1vZHVsZS4gIFRoZXJlIGFyZSB0aHJlZSBwb3NzaWJsZSB2YWx1ZXM6Cjx1bD4KICA8bGk+YnJvd3NlICAtIERpc3BsYXkgYSBuYXZpZ2F0aW9uIG9mIHByb3BlcnR5IHZhbHVlcywgYW5kIGFsbG93IGRyaWxsaW5nIGRvd24gdG8gbWF0Y2hpbmcgc3VtbWFyeSB2aWV3cy48L2xpPgogIDxsaT5kZWZhdWx0IC0gRGlzcGxheXMgYSBzdW1tYXJ5IHZpZXcgb2YgdXNlcnMgdGhhdCBtYXRjaCB0aGUgc3BlY2lmaWVkIGNyaXRlcmlhLCBvciBhbGwgdXNlcnMgaWYgbm8gY3JpdGllcmlhIGlzIHNwZWNpZmllZC48L2xpPgogIDxsaT5kaXJlY3RvcnkgLSBEaXNwbGF5cyBhbiBhbHBoYWJldGljYWwgZGlyZWN0b3J5IG9mIGxpbmtzIHRvIHN1bW1hcnkgdmlld3MgdG8gdXNlcnMgdGhhdCBtYXRjaCB0aGUgc3BlY2lmaWVkIGNyaXRlcmlhLiAgSXQgaXMgcG9zc2libGUgdG8gY3JlYXRlIGRpcmVjdG9yeSB2aWV3cyBvbiB1c2VybmFtZSwgb3Igb24gYW55IG90aGVyIHBhcmFtZXRlcjwvbGk+CiAgPGxpPmRldGFpbCAtIERpc3BsYXlzIGEgZGV0YWlsIHJlcG9ydCBhYm91dCBhIHNwZWNpZmljIHVzZXIuPC9saT4KICA8bGk+c2VhcmNoIC0gRGlzcGxheXMgYSBzZWFyY2ggZm9ybS48L2xpPgo8L3VsPjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gaW5saW5lPSIiIC0gLS1BZGQgTWUgLSBtb2R1bGU6Q0dVc2VyRGlyZWN0b3J5IHN0cmluZzpoZWxwX3BhcmFtX2lubGluZS0tPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBncm91cD0iIiAtIFVzZWQgd2l0aCB0aGUgZGVmYXVsdCBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNob3VsZCBjb250YWluIHRoZSBuYW1lIG9mIGFuIEZFVSB1c2VyIGdyb3VwLCBhbmQgd2lsbCBsaW1pdCB0aGUgb3V0cHV0IHRvIG1lbWJlcnMgb2YgdGhhdCBncm91cDwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gZ2lkPSIiIC0gVXNlZCB3aXRoIHRoZSBkZWZhdWx0IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc2hvdWxkIGNvbnRhaW4gdGhlIGlkIG9mIGFuIEZFVSB1c2VyIGdyb3VwLCBhbmQgd2lsbCBsaW1pdCB0aGUgb3V0cHV0IHRvIG1lbWJlcnMgb2YgdGhhdCBncm91cC4gIFRoaXMgcGFyYW1ldGVyIGNhbm5vdCBiZSB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlIGdyb3VwIHBhcmFtZXRlci48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHNob3dleHBpcmVkPSIwIiAtIEJ5IGRlZmF1bHQsIHRoZSBzeXN0ZW0gd2lsbCBleGNsdWRlIGV4cGlyZWQgdXNlcnMgZnJvbSBhbnkgZ2VuZXJhdGVkIHJlcG9ydC4gIFNldHRpbmcgdGhpcyBwYXJhbWV0ZXIgdG8gMSB3aWxsIGluY2x1ZGUgdGhlc2UgdXNlcnMuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBzb3J0Ynk9InVzZXJuYW1lIiAtIFVzZWQgZm9yIHRoZSBkZWZhdWx0IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoZSBzb3J0aW5nIG9mIHRoZSBnZW5lcmF0ZWQgc3VtbWFyeSBvdXRwdXQuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOgo8dWw+CiA8bGk+aWQgLSBUaGUgdXNlcnMgaWQgKGRlZmF1bHQgdmlldyBvbmx5KTwvbGk+CiA8bGk+dXNlcm5hbWUgLSBUaGUgdXNlcnMgdXNlcm5hbWUgKGRlZmF1bHQgdmlldyBvbmx5KTwvbGk+CiA8bGk+Y3JlYXRlZGF0ZSAtIFRoZSBkYXRlIGF0IHdoaWNoIHRoZSB1c2VyIGFjY291bnQgd2FzIGNyZWF0ZWQuIChkZWZhdWx0IHZpZXcgb25seSk8L2xpPgogPGxpPmV4cGlyZXMgLSBUaGUgZGF0ZSBhdCB3aGljaCB0aGUgdXNlciBhY2NvdW50IHdpbGwgZXhwaXJlIChvciBkaWQgZXhwaXJlKS4gKGRlZmF1bHQgdmlldyBvbmx5KTwvbGk+CiA8bGk+YWN0aXZpdHkgLSBUaGUgZGF0ZSBhdCB3aGljaCB0aGUgdXNlciBhY2NvdW50IHdhcyBsYXN0IGxvZ2dlZCBpbiBvciBsb2dnZWQgb3V0LiAoZGVmYXVsdCB2aWV3IG9ubHkpPC9saT4KIDxsaT5mOnByb3BlcnR5bmFtZSAtIFRoaXMgYWxsb3dzIHNvcnRpbmcgdGhlIG91dHB1dCBieSBhIHNwZWNpZmllZCBGRVUgcHJvcGVydHkgbmFtZS4gaS5lOiBmOmZ1bGxfbmFtZS4gIDxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4geW91IG1heSBleHBlcmllbmNlIHVuZXhwZWN0ZWQgcmVzdWx0cyBpZiB0aGUgZ3JvdXAgYmVpbmcgZGlzcGxheWVkIGRvZXMgbm90IGhhdmUgdGhhdCBwcm9wZXJ0eSwgb3Igbm90IGV2ZXJ5IHVzZXIgaW4gdGhlIHJlc3VsdGluZyBzZXQgaGFzIHRoYXQgcHJvcGVydHkgZGVmaW5lZC4gIEFsc28sIHlvdSBtYXkgZXhwZXJpZW5jZSB1bmV4cGVjdGVkIHJlc3VsdHMgaWYgdGhlIGZpZWxkIHNwZWNpZmllZCBpcyBub3QgYSB0ZXh0IHN0cmluZy4gIFlvdSBtYXkgaGF2ZSB0byBhZGp1c3QgdGhlIHNvcnRvcmRlciBwYXJhbWV0ZXIgdG8gZ2V0IHRoZSBkZXNpcmVkIG91dHB1dDwvdWw+PC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBic29ydGJ5PSIiIC0gVXNlZCBmb3IgdGhlIGJyb3dzZSBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgc29ydCBvcmRlciBvZiB0aGUgZ2VuZXJhdGVkIHByb3BlcnR5IG91dHB1dC4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6Cjx1bD4KICA8bGk+bmFtZSAtIHRoZSBwcm9wZXJ0eSBuYW1lLjwvbGk+CiAgPGxpPmNvdW50IC0gdGhlIG51bWJlciBvZiBtYXRjaGVzLjwvbGk+CjwvdWw+PC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBzb3J0b3JkZXI9IkFTQyIgLSBVc2VkIGZvciB0aGUgZGVmYXVsdCBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgc29ydCBvcmRlciBvZiB0aGUgZ2VuZXJhdGVkIG91dHB1dC4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6Cjx1bD4KICA8bGk+QVNDIC0gQXNjZW5kaW5nIG9yZGVyPC9saT4KICA8bGk+REVTQyAtIERlc2NlbmRpbmcgb3JkZXI8L2xpPgo8L3VsPjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gYnNvcnRvcmRlcj0iQVNDIiAtIFVzZWQgZm9yIHRoZSBicm93c2UgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIHNvcnQgb3JkZXIgb2YgdGhlIGdlbmVyYXRlZCBvdXRwdXQuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOgo8dWw+CiAgPGxpPkFTQyAtIEFzY2VuZGluZyBvcmRlcjwvbGk+CiAgPGxpPkRFU0MgLSBEZXNjZW5kaW5nIG9yZGVyPC9saT4KPC91bD48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHBhZ2VsaW1pdD0iMTAwIiAtIFVzZWQgZm9yIHRoZSBkZWZhdWx0IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBiZSByZXR1cm5lZC48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHByb3A9IiIgLSBVc2VkIGZvciB0aGUgZGVmYXVsdCxicm93c2UgYW5kIGRpcmVjdG9yeSBhY3Rpb25zLCB0aGlzIHBhcmFtZXRlciBiZWhhdmVzIGluIHR3byBkaWZmZXJlbnQgd2F5cyBkZXBlbmRpbmcgdXBvbiB0aGUgYWN0aW9uOgo8dWw+CiAgPGxpPlRoZSBkZWZhdWx0IChzdW1tYXJ5KSBhY3Rpb24KICAgIDxwPkluIHRoZSBkZWZhdWx0IChzdW1tYXJ5KSBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgYSBwcm9wZXJ0eSB0byBmaWx0ZXIgdGhlIHJlc3VsdHMgYnkuICBJdCB3b3JrcyBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBwcm9wdmFsIHBhcmFtZXRlciBiZWxvdy48L3A+CiAgPC9saT4KICA8bGk+VGhlIGJyb3dzZSBhY3Rpb24KICAgIDxwPkluIHRoZSBicm93c2UgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IGFuIEZFVSBwcm9wZXJ0eSB0byBicm93c2U8L3A+CiAgPC9saT4KICA8bGk+VGhlIGRpcmVjdG9yeSBhY3Rpb24uCiAgICA8cD5JbiB0aGUgZGlyZWN0b3J5IGFjdGlvbiwgdGhpcyBhcHJhbWV0ZXIgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSBhIHByb3BlcnR5IHRvIGdlbmVyYXRlIGEgZGlyZWN0b3J5IGZyb20uICAgVGhlIGRlZmF1bHQgdmFsdWUgaW4gdGhlIGRpcmVjdG9yeSBhY3Rpb24gaXMgJnF1b3Q7dXNlcm5hbWUmcXVvdGU7PC9wPgogIDwvbGk+CjwvdWw+PC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBwcm9wdmFsPSIiIC0gVXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSAmcXVvdDtwcm9wJnF1b3Q7IHBhcmFtZXRlciBmb3IgdGhlIGRlZmF1bHQgKHN1bW1hcnkpIGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSB2YWx1ZSBvbiB3aGljaCB0byBmaWx0ZXIgdXNlcnMgYnkuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiB1c2VsaWtlPSIwIiAtIFVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgJnF1b3Q7cHJvcCZxdW90IGFuZCAmcXVvdDtwcm9wdmFsJnF1b3Q7IHBhcmFtZXRlcnMsIHRoaXMgcGFyYW1ldGVyLCBpZiBzZXQgdG8gYSBwb3NpdGl2ZSBpbnRlZ2VyIHZhbHVlIGluZGljYXRlcyB0aGF0IHRoZSBwcm9wdmFsIHBhcmFtZXRlciBjb250YWlucyBhIExJS0UgZXhwcmVzc2lvbjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gZGV0YWlscGFnZT0iIiAtIFRoaXMgcGFyYW1ldGVyLCBpZiBzcGVjaWZpZWQsIHNob3VsZCBjb250YWluIHRoZSBwYWdlaWQgb3IgYWxpYXMgb2YgYSBDTVMgY29udGVudCBwYWdlIG9uIHdoaWNoIHlvdSB3b3VsZCBsaWtlIHRvIHNob3cgYW55IGRldGFpbCByZXBvcnQ8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHJlc3VsdHBhZ2U9IiIgLSBVc2VkIGZvciB0aGUgc2VhcmNoLCBhbmQgYnJvd3NlIGFjdGlvbnMsIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB3aGljaCBDTVNNUyBjb250ZW50IHBhZ2Ugc2hvdWxkIGJlIHVzZWQgdG8gZGlzcGxheSB0aGUgbWF0Y2hpbmcgYXJ0aWNsZXMgZnJvbSB0aGUgZmlsdGVyIG9wZXJhdGlvbi48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHN1bW1hcnl0ZW1wbGF0ZT0iIiAtIFRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgc3VtbWFyeSB0ZW1wbGF0ZSBuYW1lIHRvIHVzZSBmb3Igc3VtbWFyeSBkaXNwbGF5czwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gZGlyZWN0b3J5dGVtcGxhdGU9IiIgLSBUaGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IGRpcmVjdG9yeSB0ZW1wbGF0ZSBuYW1lIHRvIHVzZSB3aXRoIGRpcmVjdG9yeSBkaXNwbGF5czwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gZGV0YWlsdGVtcGxhdGU9IiIgLSBUaGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IGRldGFpbCB0ZW1wbGF0ZSBuYW1lIHRvIHVzZSBmb3IgZGV0YWlsIGRpc3BsYXlzPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBzZWFyY2hmb3JtdGVtcGxhdGU9IiIgLSBUaGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IHNlYXJjaCB0ZW1wbGF0ZSBuYW1lIHRvIHVzZSBpbiBzZWFyY2ggZm9ybXM8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGJyb3dzZXByb3B0ZW1wbGF0ZT0iIiAtIFRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgYnJvd3NlIHByb3BlcnR5IHRlbXBsYXRlIG5hbWUgdG8gdXNlIGZvciBhIHByb3BlcnR5IGJyb3dzaW5nIHZpZXc8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHNlYXJjaHByb3BlcnR5PSIiIC0gVGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBzaW5nbGUgb3IgY29tbWEgc2VwYXJhdGVkIGxpc3Qgb2YgYWRkaXRpb25hbCBGRVUgcHJvcGVydHkgbmFtZXMgdG8gc3VwcGx5IGluIHRoZSBzZWFyY2ggZm9ybTwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gdWlkPSIiIC0gVXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBkZXRhaWwgZGlzcGxheSwgdGhpcyBwYXJhbWV0ZXIgbXVzdCBjb250YWluIHRoZSB1aWQgb2YgYSB2YWxpZCBmcm9udGVuZCB1c2VyIGFjY291bnQ8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHNwYXJzZT0iMCIgLSBBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIGRpcmVjdG9yeSB2aWV3IHRoaXMgb3B0aW9uIHdpbGwgb25seSBzaG93IGEgZGlyZWN0b3J5ICBsZXR0ZXIgZm9yIHdoaWNoIHRoZXJlIGFyZSBtYXRjaGluZyB1c2Vycy48L2xpPjwvdWw+]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBjYWxndXkxMDAwICZsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmd0OzxiciAvPjxiciAvPlZlcnNpb246IDEuMi42PGJyIC8+PGJyIC8+Q2hhbmdlIEhpc3Rvcnk6PGJyIC8+PHVsPgo8bGk+VmVyc2lvbiAxLjAgLSBKYW51YXJ5LCAyMDA5CiAgPHA+SW5pdGlhbCBSZWxlYXNlPC9wPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjEKICA8cD5BZGRzIHNlYXJjaCBhbmQgYnJvd3NlIGNhcGFiaWxpdGllcy48L3A+CjwvbGk+CjxsaT5WZXJzaW9uIDEuMS4xIC0gU2VwdGVtYmVyLCAyMDA5CiAgPHA+QWRkcyBzb3J0aW5nIGluIHRoZSBicm93c2UgYWN0aW9uLjwvcD4KPC9saT4KPGxpPlZlcnNpb24gMS4xLjIgLSBTZXB0ZW1iZXIsIDIwMDkKICA8cD5GaXggcGFyYW1ldGVyIGNvbmZsaWN0IHdydCBzb3J0aW5nIGluIHRoZSBicm93c2UgYWN0aW9uLjwvcD4KPC9saT4KPGxpPlZlcnNpb24gMS4xLjMgLSBPY3RvYmVyLCAyMDA5CiAgPHA+TWlub3IgYnVnIGZpeC48L3A+CjwvbGk+CjxsaT5WZXJzaW9uIDEuMS40IC0gT2N0b2JlciwgMjAwOQogIDxwPk1pbm9yIGJ1ZyBmaXguPC9wPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjEuNCAtIE9jdG9iZXIsIDIwMDkKICA8cD5BZGQgbWlzc2luZyBsYW5nIHN0cmluZy48L3A+CjwvbGk+CjxsaT5WZXJzaW9uIDEuMS41IC0gTm92ZW1iZXIsIDIwMDkKICA8cD5NaW5vciBidWcgZml4ZXMuPC9wPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjEuNiAtIE1hcmNoLCAyMDEwCiAgPHA+QWRkIHRoZSBhYmlsaXR5IHRvIHNvcnQgYnkgdXNlciBwcm9wZXJ0eSBpbiBzdW1tYXJ5IHZpZXc8L3A+CjwvbGk+CjxsaT5WZXJzaW9uIDEuMiAtIE1hcmNoLCAyMDEwCiAgPHA+QWRkcyB0aGUgYWJpbGl0eSB0byBzZWFyY2ggYnkgdHdvIHVzZXIgZGVmaW5lZCBwcm9wZXJ0aWVzIGluIHRoZSBzZWFyY2ggYWN0aW9uLjwvcD4KICA8cD5BZGRzIG51bWVyaWNhbCBvcHRpb25zIHRvIHRoZSBkaXJlY3Rvcnkgdmlldy48L3A+CjwvbGk+CjxsaT5WZXJzaW9uIDEuMi4xIC0gTWFyY2gsIDIwMTAKICA8cD5Nb2RpZmllcyB0aGUgc2VhcmNocHJvcGVydHkgZmllbGQgdG8gc3VwcG9ydCBhIGxpc3Qgb2YgcHJvcGVydHkgbmFtZXMuPC9wPgogIDxwPkNvbXBsZXRlbHkgYnJlYWtzIGV4aXN0aW5nIHNlYXJjaCBmb3JtIHRlbXBsYXRlcy48L3A+CiAgPHA+UmVtb3ZlcyB0aGUgc2hvcnQgbGl2ZWQgc2VhcmNocHJvcGVydHkyIHBhcmFtLjwvcD4KPC9saT4KPGxpPlZlcnNpb24gMS4yLjIgLSBKdW5lLCAyMDEwCiAgPHA+Rml4ZXMgYSBtaW5vciBidWcgd2l0aCB0aGUgc2hvd2V4cGlyZWQgZmxhZy48L3A+CjwvbGk+CjxsaT5WZXJzaW9uIDEuMi4zIC0gSnVseSwgMjAxMAogIDxwPkZpeGVzIGEgbWlub3IgYnVnIHdpdGggdGhlIGJyb3dzZSBhY3Rpb24uPC9wPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjIuNCAtIEF1Z3VzdCwgMjAxMAogIDxwPkZpeGVzIGEgbWlub3IgYnVnIHdpdGggdGhlIGJyb3dzZSBhY3Rpb24gYW5kIHVzZWxpa2UuLi48L3A+CjwvbGk+CjxsaT5WZXJzaW9uIDEuMi42IC0gU2VwdGVtYmVyLCAyMDExCiAgPHA+T3B0aW1pemF0aW9ucyBhbmQgYnVnIGZpeGVzLjwvcD4KPC9saT4KPC91bD4KPGJyIC8+]]></about>
	<description><![CDATA[A module allowing searching, browsing, and viewing details about frontend users]]></description>
	<requires>
	  <requiredname>CGExtensions</requiredname>
	  <requiredversion>1.25</requiredversion>
	</requires>
	<requires>
	  <requiredname>FrontEndUsers</requiredname>
	  <requiredversion>1.15.2</requiredversion>
	</requires>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.browse.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHVXNlckRpcmVjdG9yeSAoYykgMjAwOSBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBicm93c2UKIyAgYW5kIHZpZXcgc3VtbWFyeSByZXBvcnRzIGFuZCBkZXRhaWwgcmVwb3J0cyBhYm91dCBncm91cHMgb2YgZnJvbnRlbmQKIyAgdXNlcnMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKIwojIEluaXRpYWxpemF0aW9uCiMKJGZldSA9JiAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoJ0Zyb250RW5kVXNlcnMnKTsKaWYoICEkZmV1ICkgcmV0dXJuOwokaW5saW5lID0gMDsKJHJlc3VsdHBhZ2UgPSAkcmV0dXJuaWQ7CiR0aGV0ZW1wbGF0ZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKENHVVNFUkRJUl9QUkVGX0RGTFRCUk9XU0VQUk9QX05BTUUpOwokcHJvcGVydHk9Jyc7CiRmaWVsZHR5cGUgPSAnJzsKJG9wdGlvbnMgPSAnJzsKJHVzZWxpa2UgPSAwOwokc29ydG9yZGVyID0gJ2FzYyc7CgojCiMgR2V0IHBhcmFtZXRlcnMKIwppZiggaXNzZXQoJHBhcmFtc1snaW5saW5lJ10pICYmICRwYXJhbXNbJ2lubGluZSddICE9IDAgKQogIHsKICAgICRpbmxpbmUgPSAxOwogICAgdW5zZXQoJHBhcmFtc1snaW5saW5lJ10pOwogIH0KaWYoIGlzc2V0KCRwYXJhbXNbJ3Jlc3VsdHBhZ2UnXSkgKQogIHsKICAgICR0bXAgPSAkdGhpcy0+cmVzb2x2ZV9hbGlhc19vcl9pZCgkcGFyYW1zWydyZXN1bHRwYWdlJ10pOwogICAgaWYoICR0bXAgKQogICAgICB7CgkkcmVzdWx0cGFnZSA9ICR0bXA7CgkkaW5saW5lID0gMDsKICAgICAgfQogICAgdW5zZXQoJHBhcmFtc1sncmVzdWx0cGFnZSddKTsKICB9CmlmKCBpc3NldCgkcGFyYW1zWydicm93c2Vwcm9wdGVtcGxhdGUnXSkgKQogIHsKICAgICR0aGV0ZW1wbGF0ZSA9IHRyaW0oJHBhcmFtc1snYnJvd3NlcHJvcHRlbXBsYXRlJ10pOwogICAgdW5zZXQoJHBhcmFtc1snYnJvd3NlcHJvcHRlbXBsYXRlJ10pOwogIH0KaWYoIGlzc2V0KCRwYXJhbXNbJ3Byb3AnXSkgKQogIHsKICAgICRwcm9wZXJ0eSA9IHRyaW0oJHBhcmFtc1sncHJvcCddKTsKICB9CmlmKCBpc3NldCgkcGFyYW1zWydic29ydG9yZGVyJ10pICkKICB7CiAgICAkdG1wID0gc3RydG9sb3dlcigkcGFyYW1zWydic29ydG9yZGVyJ10pOwogICAgc3dpdGNoKCR0bXApCiAgICAgIHsKICAgICAgY2FzZSAnYXNjJzoKICAgICAgY2FzZSAnZGVzYyc6Cgkkc29ydG9yZGVyID0gJHRtcDsKICAgICAgfQogIH0KCi8vIHByb3BlcnR5IG11c3QgYmUgc3BlY2lmaWVkLgppZiggZW1wdHkoJHByb3BlcnR5KSApIHJldHVybjsKCiRkZWZuID0gJGZldS0+R2V0UHJvcGVydHlEZWZuKCRwcm9wZXJ0eSk7Ci8vIHByb3BlcnR5IGNvdWxkIG5vdCBiZSBmb3VuZC4KaWYoICEkZGVmbiApIHJldHVybjsKCi8vIGZpZ3VyZSBvdXQgd2hhdCB0eXBlIG9mIGZpZWxkIGl0J2xsIGJlCmlmKCAkZGVmbiApCiAgewogICAgc3dpdGNoKCAkZGVmblsndHlwZSddICkKICAgICAgewogICAgICBjYXNlICcwJzogLy8gdGV4dAogICAgICBjYXNlICcyJzogLy8gZW1haWwKCSRmaWVsZHR5cGUgPSAndGV4dCc7CglicmVhazsKCiAgICAgIGNhc2UgJzQnOiAvLyBkcm9wZG93bgogICAgICBjYXNlICc1JzogLy8gbXVsdGlzZWxlY3QKICAgICAgY2FzZSAnNyc6IC8vIHJhZGlvYnV0dG9ucwoJJGZpZWxkdHlwZSA9ICdzZWxlY3QnOwoJJHRtcCA9ICRmZXUtPkdldFNlbGVjdE9wdGlvbnMoJGRlZm5bJ25hbWUnXSwxKTsKCSRvcHRpb25zID0gYXJyYXkoKTsKCSRvcHRpb25zWy0xXSA9ICR0aGlzLT5MYW5nKCdhbnknKTsKCWZvcmVhY2goICR0bXAgYXMgJGtleSA9PiAkdmFsdWUgKQoJICB7CgkgICAgJG9wdGlvbnNbJHZhbHVlXSA9ICRrZXk7CgkgIH0KCWlmKCAkZGVmblsndHlwZSddID09IDUgKQoJICB7CgkgICAgJHVzZWxpa2UgPSAxOwoJICB9CglicmVhazsKCiAgICAgIGNhc2UgJzEnOiAvLyBjaGVja2JveAogICAgICBjYXNlICczJzogLy8gdGV4dGFyZWEKICAgICAgY2FzZSAnNic6IC8vIGltYWdlCiAgICAgIGNhc2UgJzgnOiAvLyBkYXRlCgkvLyBub3Qgc3VwcG9ydGVkLgoJcmV0dXJuOwoJYnJlYWs7CiAgICAgIH0KICB9CgovLyBnZXQgdGhlIGRhdGEuCiRkYXRhID0gYXJyYXkoKTsKc3dpdGNoKCRmaWVsZHR5cGUpCiAgewogIGNhc2UgJ3RleHQnOgogICAgJHF1ZXJ5ID0gJ1NFTEVDVCBESVNUSU5DVCBkYXRhIAogICAgICAgICAgICAgICAgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2ZldXNlcnNfcHJvcGVydGllcyBBIAogICAgICAgICAgICAgICAgTEVGVCBKT0lOICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZmV1c2Vyc191c2VycyBCCiAgICAgICAgICAgICAgICAgIE9OIEEudXNlcmlkID0gQi5pZCAKICAgICAgICAgICAgICAgV0hFUkUgQS50aXRsZSA9ID8KICAgICAgICAgICAgICAgICBBTkQgQi5leHBpcmVzID4gTk9XKCknOwogICAgJHRtcCA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5LGFycmF5KCRwcm9wZXJ0eSkpOwogICAgaWYoICFpc19hcnJheSgkdG1wKSApIGJyZWFrOwogICAgZm9yZWFjaCggJHRtcCBhcyAkb25lICkKICAgICAgewoJJHJlYyA9IGFycmF5KCk7CgkkcmVjWyduYW1lJ10gPSAkb25lWydkYXRhJ107CgkkcmVjWyd1cmwnXSA9ICR0aGlzLT5DcmVhdGVQcm9wZXJ0eVN1bW1hcnlVUkwoJGlkLCRyZXN1bHRwYWdlLCRwcm9wZXJ0eSwkb25lWydkYXRhJ10sJHBhcmFtcywkaW5saW5lKTsKCSRkYXRhW10gPSAkcmVjOwogICAgICB9CiAgICBicmVhazsKCiAgY2FzZSAnc2VsZWN0JzoKICAgIHsKICAgICAgJHF1ZXJ5ID0gJ1NFTEVDVCBkYXRhIAogICAgICAgICAgICAgICAgICBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZmV1c2Vyc19wcm9wZXJ0aWVzIEEgCiAgICAgICAgICAgICAgICBMRUZUIEpPSU4gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9mZXVzZXJzX3VzZXJzIEIKICAgICAgICAgICAgICAgICAgT04gQS51c2VyaWQgPSBCLmlkIAogICAgICAgICAgICAgICAgIFdIRVJFIEEudGl0bGUgPSA/CiAgICAgICAgICAgICAgICAgQU5EIEIuZXhwaXJlcyA+IE5PVygpJzsKICAgICAgJHRtcCA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5LGFycmF5KCRwcm9wZXJ0eSkpOwogICAgICBpZiggJHRtcCApCgl7CgkgIC8vIGJ1aWxkIGEgaGlzdG9ncmFtIG9mIGFsbCB0aGUgc2VsZWN0ZWQgb3B0aW9ucy4KCSAgJGhpc3RvZ3JhbSA9IGFycmF5KCk7CgkgIGZvcmVhY2goICR0bXAgYXMgJHJvdyApCgkgICAgewoJICAgICAgJHRtcDMgPSBleHBsb2RlKCcsJywkcm93WydkYXRhJ10pOwoJICAgICAgZm9yZWFjaCggJHRtcDMgYXMgJG9uZXZhbCApCgkJewoJCSAgaWYoICFpc3NldCgkaGlzdG9ncmFtWyRvbmV2YWxdKSApCgkJICAgIHsKCQkgICAgICAkaGlzdG9ncmFtWyRvbmV2YWxdPTA7CgkJICAgIH0KCQkgICRoaXN0b2dyYW1bJG9uZXZhbF0rKzsKCQl9CgkgICAgfQoJICAKCSAgLy8gbm93IHdlIGhhdmUgYWxsIHRoZSBvcHRpb25zLCBidWlsZCBvdXIgZGF0YSBhcnJheS4KCSAgZm9yZWFjaCggJGhpc3RvZ3JhbSBhcyAka2V5ID0+ICRjb3VudCApCgkgICAgewoJICAgICAgJHZhbCA9ICRrZXk7CgkgICAgICBpZiggJHVzZWxpa2UgKQoJCXsKCQkgICRwYXJhbXNbJ3VzZWxpa2UnXSA9IDE7CgkJfQoJICAgICAgaWYoICFpc3NldCgkb3B0aW9uc1ska2V5XSkgKSBjb250aW51ZTsKCSAgICAgICRyZWMgPSBhcnJheSgpOwoJICAgICAgJHJlY1snbmFtZSddID0gJG9wdGlvbnNbJGtleV07CgkgICAgICAkcmVjWyd1cmwnXSA9ICR0aGlzLT5DcmVhdGVQcm9wZXJ0eVN1bW1hcnl1cmwoJGlkLCRyZXN1bHRwYWdlLCRwcm9wZXJ0eSwkdmFsLCRwYXJhbXMsJGlubGluZSk7CgkgICAgICAkcmVjWydjb3VudCddID0gJGNvdW50OwoJICAgICAgCgkgICAgICAkZGF0YVtdID0gJHJlYzsKCSAgICB9Cgl9IC8vIGlmCiAgICB9CiAgICBicmVhazsKICB9CgoKLy8gbm93IHdlIGNhbiBvcHRpb25hbGx5IHNvcnQgdGhpcyBzdHVmZi4KaWYoIGlzc2V0KCRwYXJhbXNbJ2Jzb3J0YnknXSkgJiYgY291bnQoJGRhdGEpICkKICB7CiAgICBzd2l0Y2goJHBhcmFtc1snYnNvcnRieSddKQogICAgICB7CiAgICAgIGNhc2UgJ25hbWUnOgoJaWYoICRzb3J0b3JkZXIgPT0gJ2FzYycgKQoJICB7CgkgICAgY2dlX2FycmF5OjpoYXNoc29ydCgkZGF0YSwnbmFtZScsdHJ1ZSk7CgkgIH0KCWVsc2UKCSAgewoJICAgIGNnZV9hcnJheTo6aGFzaHJzb3J0KCRkYXRhLCduYW1lJyx0cnVlKTsKCSAgfQoJYnJlYWs7CiAgICAgIGNhc2UgJ2NvdW50JzoKCWlmKCAkc29ydG9yZGVyID09ICdhc2MnICkKCSAgewoJICAgIGNnZV9hcnJheTo6aGFzaHNvcnQoJGRhdGEsJ2NvdW50Jyk7CgkgIH0KCWVsc2UKCSAgewoJICAgIGNnZV9hcnJheTo6aGFzaHJzb3J0KCRkYXRhLCdjb3VudCcpOwoJICB9CglicmVhazsKICAgICAgfQogIH0KCi8vCi8vIEdpdmUgZXZlcnl0aGluZyB0byBzbWFydHkKLy8KaWYoICFlbXB0eSgkZmllbGR0eXBlKSApCiAgewogICAgJHNtYXJ0eS0+YXNzaWduKCd1ZF9maWVsZGRlZm4nLCRkZWZuKTsKICAgICRzbWFydHktPmFzc2lnbigndWRfZmllbGR0eXBlJywkZmllbGR0eXBlKTsKICAgIGlmKCAhZW1wdHkoJG9wdGlvbnMpICkKICAgICAgewoJJHNtYXJ0eS0+YXNzaWduKCd1ZF9vcHRpb25zJywkb3B0aW9ucyk7CiAgICAgIH0KICB9CmlmKCBjb3VudCgkZGF0YSkgKQogIHsKICAgICRzbWFydHktPmFzc2lnbignYnJvd3Nlb3B0aW9ucycsJGRhdGEpOwogIH0KCiMKIyBQcm9jZXNzIHRoZSB0ZW1wbGF0ZQojCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgnYnJvd3NlcHJvcF8nLiR0aGV0ZW1wbGF0ZSk7CgojCiMgRU9GCiMKPz4K]]></data>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHVXNlckRpcmVjdG9yeSAoYykgMjAwOSBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBicm93c2UKIyAgYW5kIHZpZXcgc3VtbWFyeSByZXBvcnRzIGFuZCBkZXRhaWwgcmVwb3J0cyBhYm91dCBncm91cHMgb2YgZnJvbnRlbmQKIyAgdXNlcnMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKIwojIEluaXRpYWxpemF0aW9uCiMKJHRoZXRlbXBsYXRlID0gJ3N1bW1hcnlfJy4kdGhpcy0+R2V0UHJlZmVyZW5jZShDR1VTRVJESVJfUFJFRl9ERkxUU1VNTUFSWV9OQU1FKTsKJG1lc3NhZ2VzID0gYXJyYXkoKTsKJHN0YXR1cyA9ICcnOwokZ2lkID0gJyc7CiRzb3J0YnkgPSAndXNlcm5hbWUnOwokc29ydG9yZGVyID0gJ0FTQyc7CiRzaG93ZXhwaXJlZCA9IDA7CiRwYWdlbGltaXQgPSAxMDA7CiRwYWdlbnVtID0gMTsKJG51bXBhZ2VzID0gMTsKJGl0ZW1jb3VudCA9IDA7CiRvZmZzZXQgPSAwOwokcHJvcGVydHkgPSAnJzsKJHVzZWxpa2UgPSAwOwokcHJvcHZhbCA9ICcnOwokb3JpZ19yZXR1cm5pZCA9ICRyZXR1cm5pZDsKJGRldGFpbHBhZ2UgPSAkcmV0dXJuaWQ7CgoKIwojIFNldHVwCiMKJGZldSA9ICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgnRnJvbnRFbmRVc2VycycpOwppZiggISRmZXUgKSAKICB7CiAgICAkc3RhdHVzID0gJ2Vycm9yJzsKICAgICRtZXNzYWdlc1tdID0gICR0aGlzLT5MYW5nKCdlcnJvcl9ub2ZldScpOwogIH0KCgojCiMgUHJvY2VzcyBQYXJhbWV0ZXJzCiMKaWYoIGlzc2V0KCRwYXJhbXNbJ3N1bW1hcnl0ZW1wbGF0ZSddKSApCiAgewogICAgJHRoZXRlbXBsYXRlID0gJ3N1bW1hcnlfJy50cmltKCRwYXJhbXNbJ3N1bW1hcnl0ZW1wbGF0ZSddKTsKICB9CmlmIChpc3NldCgkcGFyYW1zWydkZXRhaWxwYWdlJ10pKQogIHsKICAgICRtYW5hZ2VyID0gJGdDbXMtPkdldEhpZXJhcmNoeU1hbmFnZXIoKTsKICAgICRub2RlID0gJG1hbmFnZXItPnN1cmVHZXROb2RlQnlBbGlhcygkcGFyYW1zWydkZXRhaWxwYWdlJ10pOwogICAgaWYgKGlzc2V0KCRub2RlKSkKICAgICAgewoJJGNvbnRlbnQgPSAkbm9kZS0+R2V0Q29udGVudCgpOwkKCWlmIChpc3NldCgkY29udGVudCkpCgkgIHsKCSAgICAkZGV0YWlscGFnZSA9ICRjb250ZW50LT5JZCgpOwoJICB9CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJJG5vZGUgPSAkbWFuYWdlci0+c3VyZUdldE5vZGVCeUlkKCRwYXJhbXNbJ2RldGFpbHBhZ2UnXSk7CglpZiAoaXNzZXQoJG5vZGUpKQoJICB7CgkgICAgJGRldGFpbHBhZ2UgPSAkcGFyYW1zWydkZXRhaWxwYWdlJ107CgkgIH0KICAgICAgfQoKICAgIGlmKCAkZGV0YWlscGFnZSAhPSAnJyApCiAgICAgIHsKCSRwYXJhbXNbJ29yaWdwYWdlJ10gPSAkcmV0dXJuaWQ7CiAgICAgIH0KICB9CgppZiggaXNzZXQoJHBhcmFtc1snZ3JvdXAnXSkgKQogIHsKICAgICRnaWQgPSAkZmV1LT5HZXRHcm91cElEKHRyaW0oJHBhcmFtc1snZ3JvdXAnXSkpOwogICAgaWYoICRnaWQgPT09IGZhbHNlICkKICAgICAgewoJJHN0YXR1cyA9ICdlcnJvcic7CgkkbWVzc2FnZXNbXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9pbnZhbGlkZ3JvdXAnKTsKICAgICAgfQogIH0KaWYoIGlzc2V0KCRwYXJhbXNbJ2dpZCddKSApCiAgewogICAgJGdpZCA9IChpbnQpJHBhcmFtc1snZ2lkJ107CiAgICBpZiggISRmZXUtPkdyb3VwRXhpc3RzQnlJRCgkZ2lkKSApCiAgICAgIHsKCSRzdGF0dXMgPSAnZXJyb3InOwoJJG1lc3NhZ2VzW10gPSAkdGhpcy0+TGFuZygnZXJyb3JfaW52YWxpZGdyb3VwJyk7CiAgICAgIH0KICB9CmlmKCBpc3NldCgkcGFyYW1zWydzaG93ZXhwaXJlZCddKSApCiAgewogICAgJHNob3dleHBpcmVkID0gKGludCkkcGFyYW1zWydzaG93ZXhwaXJlZCddOwogIH0KaWYoIGlzc2V0KCRwYXJhbXNbJ3Byb3AnXSkgKQogIHsKICAgICRwcm9wZXJ0eSA9IHRyaW0oJHBhcmFtc1sncHJvcCddKTsKICAgIGlmKCBpc3NldCgkcGFyYW1zWyd1c2VsaWtlJ10pICkKICAgICAgewoJJHVzZWxpa2UgPSAoaW50KSRwYXJhbXNbJ3VzZWxpa2UnXTsKICAgICAgfQogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ3Byb3B2YWwnXSkgKQogICAgICB7CgkkcHJvcHZhbCA9IHRyaW0oJHBhcmFtc1sncHJvcHZhbCddKTsKICAgICAgfQoKICAgIGlmKCAhZW1wdHkoJHByb3BlcnR5KSAmJiBlbXB0eSgkcHJvcHZhbCkgKQogICAgICB7Cgkkc3RhdHVzID0gJ2Vycm9yJzsKCSRtZXNzYWdlc1tdID0gJHRoaXMtPkxhbmcoJ2Vycm9yX21pc3NpbmdwYXJhbScpOwogICAgICB9CiAgfQppZiggaXNzZXQoJHBhcmFtc1snc29ydGJ5J10pICkKICB7CiAgICAkdG1wID0gdHJpbSgkcGFyYW1zWydzb3J0YnknXSk7CiAgICBzd2l0Y2goJHRtcCkKICAgICAgewogICAgICBjYXNlICdpZCc6CiAgICAgIGNhc2UgJ3VzZXJuYW1lJzoKICAgICAgY2FzZSAnY3JlYXRlZGF0ZSc6CiAgICAgIGNhc2UgJ2V4cGlyZXMnOgoJJHNvcnRieSA9ICdVLicuJHRtcDsKCWJyZWFrOwogICAgICBjYXNlICdhY3Rpdml0eSc6Cgkkc29ydGJ5ID0gJ0gucmVmZGF0ZSc7CglicmVhazsKICAgICAgZGVmYXVsdDoKCWlmKCBzdGFydHN3aXRoKCR0bXAsJ2Y6JykgKQoJICB7CgkgICAgJHNvcnRieSA9ICR0bXA7CgkgIH0KCWVsc2UKCSAgewoJICAgICRzdGF0dXMgPSAnZXJyb3InOwoJICAgICRtZXNzYWdlc1tdID0gICR0aGlzLT5MYW5nKCdlcnJvcl9pbnZhbGlkc29ydGZpZWxkJywkdG1wKTsKCSAgfQoJYnJlYWs7CiAgICAgIH0KICB9CmlmKCBpc3NldCgkcGFyYW1zWydzb3J0b3JkZXInXSkgKQogIHsKICAgICR0bXAgPSBzdHJ0b3VwcGVyKHRyaW0oJHBhcmFtc1snc29ydG9yZGVyJ10pKTsKICAgIHN3aXRjaCggJHRtcCApCiAgICAgIHsKICAgICAgY2FzZSAnQVNDJzoKICAgICAgY2FzZSAnREVTQyc6Cgkkc29ydG9yZGVyID0gJHRtcDsKCWJyZWFrOwogICAgICBkZWZhdWx0OgoJJHN0YXR1cyA9ICdlcnJvcic7CgkkbWVzc2FnZXNbXSA9ICAkdGhpcy0+TGFuZygnZXJyb3JfaW52YWxpZHNvcnRmaWVsZCcsJHRtcCk7CglicmVhazsKICAgICAgfQogIH0KaWYoIGlzc2V0KCRwYXJhbXNbJ3BhZ2VsaW1pdCddKSApCiAgewogICAgJHBhZ2VsaW1pdCA9IChpbnQpJHBhcmFtc1sncGFnZWxpbWl0J107CiAgICAkcGFnZWxpbWl0ID0gbWF4KCRwYWdlbGltaXQsMSk7CiAgICAkcGFnZWxpbWl0ID0gbWluKDEwMDAsJHBhZ2VsaW1pdCk7CiAgfQppZiggaXNzZXQoJHBhcmFtc1sncGFnZW51bSddKSApCiAgewogICAgJHBhZ2VudW0gPSAoaW50KSRwYXJhbXNbJ3BhZ2VudW0nXTsKICAgICRwYWdlbnVtID0gbWF4KCRwYWdlbnVtLDEpOwogICAgJHBhZ2VudW0gPSBtaW4oMTAwMDAsJHBhZ2VudW0pOwogIH0KCgojCiMgR2V0IHRoZSBkYXRhCiMKaWYoIGVtcHR5KCRzdGF0dXMpICkKICB7CiAgICAkbm93ID0gJGRiLT5EYlRpbWVzdGFtcCh0aW1lKCkpOwogICAgJHJqb2lucyA9IGFycmF5KCk7CiAgICAkcmpvaW5zY291bnQgPSBhcnJheSgpOwogICAgJGpvaW5zID0gYXJyYXkoKTsKICAgICRqb2luc2NvdW50ID0gYXJyYXkoKTsKICAgICR3aGVyZSA9IGFycmF5KCk7CiAgICAkd2hlcmVjb3VudCA9IGFycmF5KCk7CiAgICAkcXBhcm1zID0gYXJyYXkoKTsKICAgICRxcGFybXNjb3VudCA9IGFycmF5KCk7CgogICAgLy8gCiAgICAvLyBidWlsZCB0aGUgcXVlcmllcwogICAgLy9TRUxFQ1QgVS4qLEgucmVmZGF0ZSBGUk9NIGNtc19tb2R1bGVfZmV1c2Vyc191c2VycyBVIExFRlQgSk9JTiBjbXNfbW9kdWxlX2ZldXNlcnNfaGlzdG9yeSBIIE9OIFUuaWQgPSBILnVzZXJpZCBXSEVSRSBILmFjdGlvbiA9ICdsb2dpbicgR1JPVVAgQlkgVS5pZCBPUkRFUiBieSBILnJlZmRhdGUgREVTQzsgCiAgICAkdG1wID0gJGRiLT5JZk51bGwoJ0gucmVmZGF0ZScsJGRiLT5EYlRpbWVzdGFtcCgxKSkuJyBBUyByZWZkYXRlJzsKICAgICRxdWVyeSA9ICdTRUxFQ1QgVS4qLCcuJHRtcC4nICBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZmV1c2Vyc191c2VycyBVJzsKICAgICRxdWVyeWNvdW50ID0gJ1NFTEVDVCBjb3VudChVLmlkKSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZmV1c2Vyc191c2VycyBVJzsKICAgICRqb2luc1tdID0gJyhTRUxFQ1QgdXNlcmlkLGFjdGlvbixNQVgocmVmZGF0ZSkgQVMgcmVmZGF0ZSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZmV1c2Vyc19oaXN0b3J5IEdST1VQIEJZIHVzZXJpZCBIQVZJTkcgYWN0aW9uIGluIChcJ2NoYW5nZSBzZXR0aW5nc1wnLFwnbG9naW5cJykpIEFTIEggT04gVS5pZCA9IEgudXNlcmlkJzsKCiAgICAvLwogICAgLy8gdG9kbyBmaWxsIGluIHN0dWZmIGhlcmUKICAgIC8vCiAgICBpZiggIWVtcHR5KCRnaWQpICkKICAgICAgewoJJHJqb2luc1tdID0gY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZmV1c2Vyc19iZWxvbmdzIGJlbCBPTiBVLmlkID0gYmVsLnVzZXJpZCBBTkQgYmVsLmdyb3VwaWQgPSAnLihpbnQpJGdpZDsKCSRyam9pbnNjb3VudFtdID0gY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZmV1c2Vyc19iZWxvbmdzIGJlbCBPTiBVLmlkID0gYmVsLnVzZXJpZCBBTkQgYmVsLmdyb3VwaWQgPSAnLihpbnQpJGdpZDsKLy8gCSR3aGVyZVtdID0gJ2JlbC5ncm91cGlkID0gPyc7Ci8vIAkkd2hlcmVjb3VudFtdID0gJ2JlbC5ncm91cGlkID0gPyc7Ci8vIAkkcXBhcm1zW10gPSAkZ2lkOwovLyAJJHFwYXJtc2NvdW50W10gPSAkZ2lkOwogICAgICB9CgogICAgaWYoICEkc2hvd2V4cGlyZWQgKQogICAgICB7Cgkkd2hlcmVbXSA9ICJleHBpcmVzID4gJG5vdyI7Cgkkd2hlcmVjb3VudFtdID0gImV4cGlyZXMgPiAkbm93IjsKICAgICAgfQogICAgaWYoICFlbXB0eSgkcHJvcGVydHkpICYmICFlbXB0eSgkcHJvcHZhbCkgKQogICAgICB7Cgkkam9pbnNbXSA9IGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2ZldXNlcnNfcHJvcGVydGllcyBQIE9OIFUuaWQgPSBQLnVzZXJpZCBBTkQgUC50aXRsZSA9ID8nOwoJJGpvaW5zY291bnRbXSA9IGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2ZldXNlcnNfcHJvcGVydGllcyBQIE9OIFUuaWQgPSBQLnVzZXJpZCBBTkQgUC50aXRsZSA9ID8nOwoJaWYoICRwcm9wZXJ0eSAhPSAnX191c2VybmFtZV9fJyApCgkgIHsKLy8gCSAgICAkd2hlcmVbXSA9ICdQLnRpdGxlID0gPyc7Ci8vIAkgICAgJHdoZXJlY291bnRbXSA9ICdQLnRpdGxlID0gPyc7CgkgICAgJHFwYXJtc1tdID0gJHByb3BlcnR5OwoJICAgICRxcGFybXNjb3VudFtdID0gJHByb3BlcnR5OwoJICB9CgoJaWYoICR1c2VsaWtlICkKCSAgewoJICAgICRwcm9wdmFsID0gJHByb3B2YWwuJyUnOwoJICAgIGlmKCAkcHJvcGVydHkgPT0gJ19fdXNlcm5hbWVfXycgKQoJICAgICAgewoJCSR3aGVyZVtdID0gJ1UudXNlcm5hbWUgTElLRSA/JzsKCQkkd2hlcmVjb3VudFtdID0gJ1UudXNlcm5hbWUgTElLRSA/JzsKCSAgICAgIH0KCSAgICBlbHNlCgkgICAgICB7CgkJJHdoZXJlW10gPSAnUC5kYXRhIExJS0UgPyc7CgkJJHdoZXJlY291bnRbXSA9ICdQLmRhdGEgTElLRSA/JzsKCSAgICAgIH0KCSAgICAkcXBhcm1zW10gPSAkcHJvcHZhbDsKCSAgfQoJZWxzZQoJICB7CgkgICAgaWYoICRwcm9wZXJ0eSA9PSAnX191c2VybmFtZV9fJyApCgkgICAgICB7CgkJJHdoZXJlW10gPSAnVS51c2VybmFtZSA9ID8nOwoJCSR3aGVyZWNvdW50W10gPSAnVS51c2VybmFtZSA9ID8nOwoJICAgICAgfQoJICAgIGVsc2UKCSAgICAgIHsKCQkkd2hlcmVbXSA9ICdQLmRhdGEgPSA/JzsKCQkkd2hlcmVjb3VudFtdID0gJ1AuZGF0YSA9ID8nOwoJICAgICAgfQoJICAgICRxcGFybXNbXSA9ICRwcm9wdmFsOwoJICB9CiAgICAgIH0KICAgIGlmKCBzdGFydHN3aXRoKCRzb3J0YnksJ2Y6JykgKQogICAgICB7CgkkZmllbGQgPSBzdWJzdHIoJHNvcnRieSxzdHJsZW4oJ2Y6JykpOwoJJHNvcnRieSA9ICdQMi5kYXRhJzsKCSRqb2luc1tdID0gY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19wcm9wZXJ0aWVzIFAyIE9OIFUuaWQgPSBQMi51c2VyaWQgQU5EIFAyLnRpdGxlID0gJ3skZmllbGR9JyI7CiAgICAgIH0KCiAgICAvLyBmaW5hbCBhc3NlbWJseQogICAgJHN1ZmZpeCA9ICcnOwogICAgJHN1ZmZpeGNvdW50ID0gJyc7CiAgICBpZiggY291bnQoJHJqb2lucykgKQogICAgICB7Cgkkc3VmZml4IC49ICcgSU5ORVIgSk9JTiAnLmltcGxvZGUoJyBJTk5FUiBKT0lOICcsJHJqb2lucyk7CiAgICAgIH0KICAgIGlmKCBjb3VudCgkcmpvaW5zY291bnQpICkKICAgICAgewoJJHN1ZmZpeGNvdW50IC49ICcgSU5ORVIgSk9JTiAnLmltcGxvZGUoJyBJTk5FUiBKT0lOICcsJHJqb2luc2NvdW50KTsKICAgICAgfQogICAgaWYoIGNvdW50KCRqb2lucykgKQogICAgICB7Cgkkc3VmZml4IC49ICcgTEVGVCBKT0lOICcuaW1wbG9kZSgnIExFRlQgSk9JTiAnLCRqb2lucyk7CiAgICAgIH0KICAgIGlmKCBjb3VudCgkam9pbnNjb3VudCkgKQogICAgICB7Cgkkc3VmZml4Y291bnQgLj0gJyBMRUZUIEpPSU4gJy5pbXBsb2RlKCcgTEVGVCBKT0lOICcsJGpvaW5zY291bnQpOwogICAgICB9CiAgICBpZiggY291bnQoJHdoZXJlKSApCiAgICAgIHsKCSRzdWZmaXggLj0gJyBXSEVSRSAnLmltcGxvZGUoJyBBTkQgJywkd2hlcmUpOwogICAgICB9CiAgICBpZiggY291bnQoJHdoZXJlY291bnQpICkKICAgICAgewoJJHN1ZmZpeGNvdW50IC49ICcgV0hFUkUgJy5pbXBsb2RlKCcgQU5EICcsJHdoZXJlY291bnQpOwogICAgICB9CiAgICAkc3VmZml4IC49ICcgR1JPVVAgQlkgVS5pZCc7CiAgICAvLyRzdWZmaXhjb3VudCAuPSAnIEdST1VQIEJZIFUuaWQnOwoKICAgICRzdWZmaXggLj0gIiBPUkRFUiBCWSAkc29ydGJ5ICRzb3J0b3JkZXIiOwogICAgJHF1ZXJ5IC49ICRzdWZmaXg7CiAgICAkcXVlcnljb3VudCAuPSAkc3VmZml4Y291bnQ7CgogICAgLy8gR2V0IHRoZSBjb3VudCBvZiBpdGVtcy4KICAgIGRlYnVnX2J1ZmZlcignQ0dVRCBnZXQgY291bnQnKTsKICAgICRpdGVtY291bnQgPSAkZGItPkdldE9uZSgkcXVlcnljb3VudCwkcXBhcm1zKTsKICAgIGlmKCAhJGl0ZW1jb3VudCApIAogICAgICB7CgllY2hvICdERUJVRzogZXJyb3IgaW4gY291bnQgcXVlcnk8YnIvPic7CgllY2hvICcmbmJzcDsmbmJzcDtRVUVSWSA9ICcuJGRiLT5zcWwuJzxici8+JzsKCWVjaG8gJyZuYnNwOyZuYnNwO0Vycm9yID0gJy4kZGItPkVycm9yTXNnKCk7Cgkkc3RhdHVzID0gJ2Vycm9yJzsKCSRtZXNzYWdlc1tdID0gJHRoaXMtPkxhbmcoJ2Vycm9yX3NxbCcpOwogICAgICB9CgogICAgLy8gY2FsY3VsYXRlIHBhZ2UgdmFsdWVzLgogICAgaWYoIGVtcHR5KCRzdGF0dXMpICkKICAgICAgewoJJG51bXBhZ2VzID0gKGludCkoJGl0ZW1jb3VudCAvICRwYWdlbGltaXQpOwoJJHRtcCA9ICRpdGVtY291bnQgJSAkcGFnZWxpbWl0OwoJaWYoICR0bXAgPiAwICkgJG51bXBhZ2VzKys7CgoJJG9mZnNldCA9ICRwYWdlbGltaXQgKiAoJHBhZ2VudW0gLSAxKTsKICAgICAgfQoKICAgICRkYXRhID0gJyc7CiAgICBpZiggZW1wdHkoJHN0YXR1cykgKQogICAgICB7CglkZWJ1Z19idWZmZXIoJ0NHVUQgZ2V0IHVzZXJzJyk7CgkkZGJyID0gJGRiLT5TZWxlY3RMaW1pdCgkcXVlcnksJHBhZ2VsaW1pdCwkb2Zmc2V0LCRxcGFybXMpOwoJaWYoICEkZGJyICkKCSAgewoJICAgIGVjaG8gJ0RFQlVHOiBlcnJvciBpbiBxdWVyeTxici8+JzsKCSAgICBlY2hvICcmbmJzcDsmbmJzcDtRVUVSWSA9ICcuJGRiLT5zcWwuJzxici8+JzsKCSAgICBlY2hvICcmbmJzcDsmbmJzcDtFcnJvciA9ICcuJGRiLT5FcnJvck1zZygpOwoJICAgICRzdGF0dXMgPSAnZXJyb3InOwoJICAgICRtZXNzYWdlc1tdID0gJHRoaXMtPkxhbmcoJ2Vycm9yX3NxbCcpOwoJICB9CgllbHNlCgkgIHsKCSAgICAkZGF0YSA9IGFycmF5KCk7CgkgICAgd2hpbGUoICRkYnIgJiYgKCRyb3cgPSAkZGJyLT5GZXRjaFJvdygpKSApCgkgICAgICB7CgkJJGRhdGFbXSA9ICRyb3c7CgkgICAgICB9CgkgICAgJGRici0+Q2xvc2UoKTsKCSAgfQogICAgICB9CgogICAgaWYoIGVtcHR5KCRzdGF0dXMpICkKICAgICAgewoJLy8KCS8vIEV4cGFuZCBhbGwgdGhlIHVzZXIgb3B0aW9ucwoJLy8KCSR1aWRzID0gYXJyYXkoKTsKCWZvciggJGkgPSAwOyAkaSA8IGNvdW50KCRkYXRhKTsgJGkrKyApCgkgIHsKCSAgICAkdWlkc1tdID0gKGludCkkZGF0YVskaV1bJ2lkJ107CgkgIH0KCgkkYmFkX2RhdGUgPSB0cmltKCRkYi0+RGJUaW1lU3RhbXAoMSksIiciKTsKCgkvLyBxdWVyeSB0byBnZXQgYWxsIHVzZXIgbWVtYmVyIGdyb3VwcwoJJGdxdWVyeSA9ICdTRUxFQ1QgdXNlcmlkLGdyb3VwaWQgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2ZldXNlcnNfYmVsb25ncyAKICAgICAgICAgICAgICAgICAgIFdIRVJFIHVzZXJpZCBJTiAoJy5pbXBsb2RlKCcsJywkdWlkcykuJykgT1JERVIgQlkgdXNlcmlkJzsKCWRlYnVnX2J1ZmZlcignQ0dVRCBnZXQgZ3JvdXBzJyk7CgkkZ3JvdXBpbmZvID0gJGRiLT5HZXRBcnJheSgkZ3F1ZXJ5KTsKCQoJLy8gcXVlcnkgdG8gZ2V0IHVzZXIgcHJvcGVydGllcy4KCSRwcXVlcnkgPSAnIFNFTEVDVCB1c2VyaWQsdGl0bGUsZGF0YSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZmV1c2Vyc19wcm9wZXJ0aWVzIAogICAgICAgICAgICAgICAgICAgIFdIRVJFIHVzZXJpZCBJTiAoJy5pbXBsb2RlKCcsJywkdWlkcykuJykgT1JERVIgQlkgdXNlcmlkLHRpdGxlJzsKCWRlYnVnX2J1ZmZlcignQ0dVRCBnZXQgcHJvcHMnKTsKCSRwcm9waW5mbyA9ICRkYi0+R2V0QXJyYXkoJHBxdWVyeSk7CgoJZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJGRhdGEpOyAkaSsrICkKCSAgewoJICAgIC8vIGhpZGUgdGhlIHBhc3N3b3JkIGZpZWxkCgkgICAgdW5zZXQoJGRhdGFbJGldWydwYXNzd29yZCddKTsKCgkgICAgLy8gdW5zZXQgdGhlIHJlZmRhdGUgaWYgdGhlIHVzZXIgaGFzIGhhZCBubyBhY3Rpdml0eQoJICAgIGlmKCAkZGF0YVskaV1bJ3JlZmRhdGUnXSA9PSAkYmFkX2RhdGUgKQoJICAgICAgewoJCXVuc2V0KCRkYXRhWyRpXVsncmVmZGF0ZSddKTsKCSAgICAgIH0KCSAgICAKCSAgICAvLyBEZXRhaWwgVVJMCgkgICAgJHBhcmFtc1sndWlkJ10gPSAkZGF0YVskaV1bJ2lkJ107CgkgICAgJHByZXR0eXVybCA9ICd1c2Vycy8nLiRwYXJhbXNbJ3VpZCddLicvJy4kZGV0YWlscGFnZTsKCSAgICBpZiggaXNzZXQoJHBhcmFtc1snZGV0YWlsdGVtcGxhdGUnXSkgKQoJICAgICAgewoJCSRwcmV0dHl1cmwgLj0gJy8nLm11bmdlX3N0cmluZ190b191cmwodHJpbSgkcGFyYW1zWydkZXRhaWx0ZW1wbGF0ZSddKSk7CgkgICAgICB9CgkgICAgJHByZXR0eXVybCAuPSAnLycubXVuZ2Vfc3RyaW5nX3RvX3VybCgkZGF0YVskaV1bJ3VzZXJuYW1lJ10pOwoJICAgICRkYXRhWyRpXVsnZGV0YWlsX3VybCddID0gJHRoaXMtPkNyZWF0ZVVSTCgkaWQsJ2RldGFpbCcsJGRldGFpbHBhZ2UsCgkJCQkJCSAgICAgICAkcGFyYW1zLGZhbHNlLCRwcmV0dHl1cmwpOwoJCQkJCQkgICAgICAgCgkgICAgLy8gYWRkIG1lbWJlciBncm91cCBpZHMKCSAgICAkdG1wID0gYXJyYXkoKTsKCSAgICBmb3IoICRqID0gMDsgJGogPCBjb3VudCgkZ3JvdXBpbmZvKTsgJGorKyApCgkgICAgICB7CgkJaWYoICRncm91cGluZm9bJGpdWyd1c2VyaWQnXSA8ICRwYXJhbXNbJ3VpZCddICkgY29udGludWU7CgkJaWYoICRncm91cGluZm9bJGpdWyd1c2VyaWQnXSA+ICRwYXJhbXNbJ3VpZCddICkgYnJlYWs7CgkJCgkJJHRtcFtdID0gJGdyb3VwaW5mb1skal1bJ2dyb3VwaWQnXTsKCSAgICAgIH0KCSAgICBpZiggY291bnQoJHRtcCkgKSAkZGF0YVskaV1bJ2dyb3VwcyddID0gJHRtcDsKCgkgICAgLy8gYWRkIHByb3BlcnRpZXMgYXMgYSBoYXNoLgoJICAgICR0bXAgPSBhcnJheSgpOwoJICAgIGZvciggJGsgPSAwOyAkayA8IGNvdW50KCRwcm9waW5mbyk7ICRrKysgKQoJICAgICAgewoJCWlmKCAkcHJvcGluZm9bJGtdWyd1c2VyaWQnXSA8ICRwYXJhbXNbJ3VpZCddICkgY29udGludWU7CgkJaWYoICRwcm9waW5mb1ska11bJ3VzZXJpZCddID4gJHBhcmFtc1sndWlkJ10gKSBicmVhazsKCgkJJHRtcFskcHJvcGluZm9bJGtdWyd0aXRsZSddXSA9ICRwcm9waW5mb1ska11bJ2RhdGEnXTsKCSAgICAgIH0KCSAgICBpZiggY291bnQoJHRtcCkgKSAkZGF0YVskaV1bJ3Byb3BlcnRpZXMnXSA9ICR0bXA7CgkgIH0KICAgICAgfQoKICAgIGlmKCBlbXB0eSgkc3RhdHVzKSApCiAgICAgIHsKCWRlYnVnX2J1ZmZlcignQ0dVRCBnZXQgcHJvcGVydHkgZGVmaW5zJyk7CgkkcHJvcHMgPSAkZmV1LT5HZXRQcm9wZXJ0eURlZm5zKCk7CiAgICAgIH0KCiAgICBpZiggZW1wdHkoJHN0YXR1cykgKQogICAgICB7CglkZWJ1Z19idWZmZXIoJ0NHVUQgZ2V0IGFsbCBncm91cHMnKTsKCSRncm91cHMgPSAkZmV1LT5HZXRHcm91cExpc3RGdWxsKCk7CiAgICAgIH0KICB9CgoKIwojIEdpdmUgZXZlcnl0aGluZyB0byBzbWFydHkKIwppZiggZW1wdHkoJHN0YXR1cykgKQogIHsKICAgICRjb25maWcgPSAkZ0Ntcy0+R2V0Q29uZmlnKCk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2dyb3VwcycsJGdyb3Vwcyk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ3Byb3BlcnRpZXMnLCRwcm9wcyk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ3RvdGFsY291bnQnLCRpdGVtY291bnQpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdjdXJwYWdlJywkcGFnZW51bSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ251bXBhZ2VzJywkbnVtcGFnZXMpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdmaWxlX2xvY2F0aW9uJywkY29uZmlnWyd1cGxvYWRzX3VybCddLicvZmV1c2VycycpOwogICAgJHNtYXJ0eS0+YXNzaWduKCd1c2VycycsJGRhdGEpOwoKICAgIGlmKCAkbnVtcGFnZXMgPiAxICkKICAgICAgewoJaWYoICRwYWdlbnVtID4gMSApCgkgIHsKCSAgICAkcGFybXMgPSAkcGFyYW1zOwoJICAgICRwYXJtc1sncGFnZW51bSddID0gMTsKCSAgICAkc21hcnR5LT5hc3NpZ24oJ2ZpcnN0cGFnZV91cmwnLAoJCQkgICAgJHRoaXMtPkNyZWF0ZVVSTCgkaWQsJ2RlZmF1bHQnLCRyZXR1cm5pZCwkcGFybXMpKTsKCSAgICAkcGFybXNbJ3BhZ2VudW0nXSA9ICRwYWdlbnVtIC0gMTsKCSAgICAkc21hcnR5LT5hc3NpZ24oJ3ByZXZwYWdlX3VybCcsCgkJCSAgICAkdGhpcy0+Q3JlYXRlVVJMKCRpZCwnZGVmYXVsdCcsJHJldHVybmlkLCRwYXJtcykpOwoJICB9CglpZiggJHBhZ2VudW0gPCAkbnVtcGFnZXMgKQoJICB7CgkgICAgJHBhcm1zID0gJHBhcmFtczsKCSAgICAkcGFybXNbJ3BhZ2VudW0nXSA9ICRwYWdlbnVtICsgMTsKCSAgICAkc21hcnR5LT5hc3NpZ24oJ25leHRwYWdlX3VybCcsCgkJCSAgICAkdGhpcy0+Q3JlYXRlVVJMKCRpZCwnZGVmYXVsdCcsJHJldHVybmlkLCRwYXJtcykpOwoJICAgICRwYXJtc1sncGFnZW51bSddID0gJG51bXBhZ2VzOwoJICAgICRzbWFydHktPmFzc2lnbignbGFzdHBhZ2VfdXJsJywKCQkJICAgICR0aGlzLT5DcmVhdGVVUkwoJGlkLCdkZWZhdWx0JywkcmV0dXJuaWQsJHBhcm1zKSk7CgkgIH0KICAgICAgfQogICAgLy9lY2hvICc8cHJlPic7IHByaW50X3IoICRkYXRhICk7IGVjaG8gJzwvcHJlPic7CiAgfQplbHNlCiAgewogICAgJHNtYXJ0eS0+YXNzaWduKCdzdGF0dXMnLCRzdGF0dXMpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdtZXNzYWdlcycsJG1lc3NhZ2VzKTsKICB9CgoKIwojIERpc3BsYXkgdGhlIHRlbXBsYXRlCiMKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCR0aGV0ZW1wbGF0ZSk7CgojCiMgRU9GCiMKPz4K]]></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/JzsKICAgICR0bXAgPSAkZGItPkdldEFycmF5KCRncXVlcnksYXJyYXkoJHVpZCkpOwogICAgJHRncm91cHMgPSBjZ2VfYXJyYXk6OmV4dHJhY3RfZmllbGQoJHRtcCwnZ3JvdXBpZCcpOwogICAgJGRhdGFbJ2dyb3VwcyddID0gJHRncm91cHM7CiAgfQppZiggZW1wdHkoJHN0YXR1cykgKQogIHsKICAgIC8vIHVzZXIgcHJvcGVydGllcwogICAgJHBxdWVyeSA9ICcgU0VMRUNUIHRpdGxlLGRhdGEgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2ZldXNlcnNfcHJvcGVydGllcyAKICAgICAgICAgICAgICAgICBXSEVSRSB1c2VyaWQgPSA/JzsKICAgICRnc3RyID0gJygnLmltcGxvZGUoJywnLCR0Z3JvdXBzKS4nKSc7CiAgICAkdG1wID0gJGRiLT5HZXRBcnJheShzcHJpbnRmKCRwcXVlcnksJGdzdHIpLGFycmF5KCR1aWQpKTsKICAgIGlmKCAkdG1wICkKICAgICAgewoJJHRtcDIgPSBhcnJheSgpOwoJZm9yKCAkaiA9IDA7ICRqIDwgY291bnQoJHRtcCk7ICRqKysgKQoJICB7CgkgICAgaWYoICFlbXB0eSgkdG1wWyRqXVsnZGF0YSddKSAmJiAkdG1wWyRqXVsnZGF0YSddICE9ICc8bm90c2V0PicgKQoJICAgICAgewoJCSR0bXAyWyR0bXBbJGpdWyd0aXRsZSddXSA9ICR0bXBbJGpdWydkYXRhJ107CgkgICAgICB9CgkgIH0KCSRkYXRhWydwcm9wZXJ0aWVzJ10gPSAkdG1wMjsKICAgICAgfQogIH0KaWYoIGVtcHR5KCRzdGF0dXMpICkKICB7CiAgICAvLyBHZXQgYWxsIHRoZSBwcm9wZXJ0eSBkZWZpbml0aW9ucwogICAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9mZXVzZXJzX3Byb3BkZWZuJzsKICAgICR0bXAgPSAkZGItPkdldEFycmF5KCRxdWVyeSk7CiAgICAkcHJvcHMgPSBjZ2VfYXJyYXk6OnRvX2hhc2goJHRtcCwnbmFtZScpOwogIH0KCmlmKCBlbXB0eSgkc3RhdHVzKSApCiAgewogICAgLy8gZ2V0IGFsbCB0aGUgZ3JvdXBzCiAgICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2ZldXNlcnNfZ3JvdXBzJzsKICAgICR0bXAgPSAkZGItPkdldEFycmF5KCRxdWVyeSk7CiAgICAkZ3JvdXBzID0gY2dlX2FycmF5Ojp0b19oYXNoKCR0bXAsJ2lkJyk7CiAgfQoKIwojIEdpdmUgZXZlcnl0aGluZyB0byBzbWFydHkKIwokc21hcnR5LT5hc3NpZ24oJ29uZXVzZXInLCRkYXRhKTsKJHNtYXJ0eS0+YXNzaWduKCdncm91cHMnLCRncm91cHMpOwokc21hcnR5LT5hc3NpZ24oJ3Byb3BlcnRpZXMnLCRwcm9wcyk7CiRzbWFydHktPmFzc2lnbignZmlsZV9sb2NhdGlvbicsJGNvbmZpZ1sndXBsb2Fkc191cmwnXS4nL2ZldXNlcnMnKTsKCiMKIyBEaXNwbGF5IHRoZSB0ZW1wbGF0ZQojCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgkdGhldGVtcGxhdGUpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.directory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHVXNlckRpcmVjdG9yeSAoYykgMjAwOSBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBicm93c2UKIyAgYW5kIHZpZXcgc3VtbWFyeSByZXBvcnRzIGFuZCBkZXRhaWwgcmVwb3J0cyBhYm91dCBncm91cHMgb2YgZnJvbnRlbmQKIyAgdXNlcnMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKIwojIEluaXRpYWxpemF0aW9uCiMKJHRoZXRlbXBsYXRlID0gJ2RpcmVjdG9yeV8nLiR0aGlzLT5HZXRQcmVmZXJlbmNlKENHVVNFUkRJUl9QUkVGX0RGTFRESVJFQ1RPUllfTkFNRSk7CiRmaWVsZCA9ICd1c2VybmFtZSc7CiRwcm9wID0gJyc7CiRzcGFyc2UgPSAwOwokc2hvd2V4cGlyZWQgPSAwOwoKIwojIEhhbmRsZSBQYXJhbXMKIwppZiggaXNzZXQoJHBhcmFtc1snZGlyZWN0b3J5dGVtcGxhdGUnXSkgKQogIHsKICAgICR0aGV0ZW1wbGF0ZSA9ICdkaXJlY3RvcnlfJy50cmltKCRwYXJhbXNbJ2RpcmVjdG9yeXRlbXBsYXRlJ10pOwogIH0KaWYoIGlzc2V0KCRwYXJhbXNbJ3Byb3AnXSkgKQogIHsKICAgICRmaWVsZCA9ICdfX3Byb3BlcnR5X18nOwogICAgJHByb3AgPSB0cmltKCRwYXJhbXNbJ3Byb3AnXSk7CiAgfQppZiggaXNzZXQoJHBhcmFtc1snc3BhcnNlJ10pICkKICB7CiAgICAkc3BhcnNlID0gKGludCkkcGFyYW1zWydzcGFyc2UnXTsKICB9CmlmKCBpc3NldCgkcGFyYW1zWydzaG93ZXhwaXJlZCddICkgKQogIHsKICAgICRzaG93ZXhwaXJlZCA9IChpbnQpJHBhcmFtc1snc2hvd2V4cGlyZWQnXTsKICB9CgojCiMgR2V0IHRoZSBkYXRhCiMKJHRoZWRhdGUgPSAkZGItPkRiVGltZVN0YW1wKHRpbWUoKSk7CmlmKCAkc2hvd2V4cGlyZWQgKQogIHsKICAgICR0aGVkYXRlID0gJGRiLT5EYlRpbWVTdGFtcCgxKTsKICB9CiRjaGFyYXJyYXkgPSBhcnJheSgpOwppZiggJGZpZWxkID09ICdfX3Byb3BlcnR5X18nICkKICB7CiAgICAvLyBnZXQgbGlzdCBvZiBsZXR0ZXJzCiAgICAkcXVlcnkgPSAiU0VMRUNUIGRpc3RpbmN0IGxlZnQocC5kYXRhLCAxKSBBUyBmaXJzdF9jaGFyIAogICAgICAgICAgICAgICAgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfcHJvcGVydGllcyBwCiAgICAgICAgICAgICAgIElOTkVSIEpPSU4gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX3VzZXJzIHUKICAgICAgICAgICAgICAgV0hFUkUgdS5pZCA9IHAudXNlcmlkIAogICAgICAgICAgICAgICAgIEFORCBwLnRpdGxlID0gPwogICAgICAgICAgICAgICAgIEFORCB1LmV4cGlyZXMgPiAkdGhlZGF0ZQogICAgICAgICAgICAgICBPUkRFUiBCWSBsZWZ0KHAuZGF0YSwxKSI7CiAgICAkdG1wID0gJGRiLT5HZXRBcnJheSgkcXVlcnksYXJyYXkoJHByb3ApKTsKICAgIGZvcmVhY2goICR0bXAgYXMgJG9uZSApCiAgICAgIHsKCSR0MiA9IHN0cnRvdXBwZXIodHJpbSgkb25lWydmaXJzdF9jaGFyJ10pKTsKCWlmKCBlbXB0eSgkdDIpICkgY29udGludWU7CgoJJHBhcm1zID0gJHBhcmFtczsKCSRwYXJtc1sndXNlbGlrZSddPTE7CgkkcGFybXNbJ3Byb3AnXT0kcHJvcDsKCSRwYXJtc1sncHJvcHZhbCddPSJ7JHQyfSI7CgkkdDMgPSBhcnJheSgkdDIsJHRoaXMtPkNyZWF0ZVVSTCgkaWQsJ2RlZmF1bHQnLCRyZXR1cm5pZCwkcGFybXMpKTsKCSRjaGFyYXJyYXlbXSA9ICR0MzsKICAgICAgfQogIH0KZWxzZQogIHsKICAgICRxdWVyeSA9ICdTRUxFQ1QgRElTVElOQ1QgbGVmdCh1c2VybmFtZSwxKSBBUyBmaXJzdF9jaGFyCiAgICAgICAgICAgICAgICBGUk9NICcuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc191c2VycwogICAgICAgICAgICAgICBXSEVSRSBleHBpcmVzID4gJHRoZWRhdGUKICAgICAgICAgICAgICAgT1JERVIgQlkgbGVmdCh1c2VybmFtZSwxKSI7CiAgICAkdG1wID0gJGRiLT5HZXRBcnJheSgkcXVlcnkpOwogICAgZm9yZWFjaCggJHRtcCBhcyAkb25lICkKICAgICAgewoJJHQyID0gc3RydG91cHBlcih0cmltKCRvbmVbJ2ZpcnN0X2NoYXInXSkpOwoJaWYoIGVtcHR5KCR0MikgKSBjb250aW51ZTsKCgkkcGFybXMgPSAkcGFyYW1zOwoJJHBhcm1zWyd1c2VsaWtlJ109MTsKCSRwYXJtc1sncHJvcCddPSdfX3VzZXJuYW1lX18nOwoJJHBhcm1zWydwcm9wdmFsJ109InskdDJ9JSI7CgkkdDMgPSBhcnJheSgkdDIsJHRoaXMtPkNyZWF0ZVVSTCgkaWQsJ2RlZmF1bHQnLCRyZXR1cm5pZCwkcGFybXMpKTsKCSRjaGFyYXJyYXlbXSA9ICR0MzsKICAgICAgfQogIH0KCmlmKCAhJHNwYXJzZSApCiAgewogICAgJGxldHRlcnMgPSBhcnJheSgpOwogICAgJGxldHRlcnNbXSA9IG9yZCgnIycpOwogICAgZm9yKCAkaSA9IG9yZCgnQScpOyAkaSA8PSBvcmQoJ1onKTsgJGkrKyApICRsZXR0ZXJzW10gPSAkaTsKICAgICR0bXAgPSBhcnJheSgpOwogICAgZm9yZWFjaCggJGxldHRlcnMgYXMgJGkgKQogICAgICB7CgkkdDIgPSBhcnJheSgpOwoJJHQyW10gPSBjaHIoJGkpOwoJaWYoICRpID09IG9yZCgnIycpICkKCSAgewoJICAgIGZvcmVhY2goICRjaGFyYXJyYXkgYXMgJG9uZSApCgkgICAgICB7CgkJaWYoICRvbmVbMF0gPj0gJzAnICYmICRvbmVbMF0gPD0gJzknICkKCQkgIHsKCQkgICAgJHQyW10gPSAkb25lWzFdOwoJCSAgfQoJICAgICAgfQoJICAgICR0bXBbXSA9ICR0MjsKCSAgICBjb250aW51ZTsKCSAgfQoKCWZvcmVhY2goICRjaGFyYXJyYXkgYXMgJG9uZSApCgkgIHsKCSAgICBpZiggJG9uZVswXSA9PSBjaHIoJGkpICkKCSAgICAgIHsKCQkkdDJbXSA9ICRvbmVbMV07CgkJYnJlYWs7CgkgICAgICB9CgkgIH0KCSR0bXBbXSA9ICR0MjsKICAgICAgfQogICAgJGNoYXJhcnJheSA9ICR0bXA7CiAgfQoKJHNtYXJ0eS0+YXNzaWduKCdjaGFyYXJyYXknLCRjaGFyYXJyYXkpOwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJHRoZXRlbXBsYXRlKTsKCgojCiMgRU9GCiMKPz4K]]></data>
	</file>
	<file>
	  <filename>/action.do_search.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHVXNlckRpcmVjdG9yeSAoYykgMjAwOSBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBicm93c2UKIyAgYW5kIHZpZXcgc3VtbWFyeSByZXBvcnRzIGFuZCBkZXRhaWwgcmVwb3J0cyBhYm91dCBncm91cHMgb2YgZnJvbnRlbmQKIyAgdXNlcnMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKIwojIEluaXRpYWxpemF0aW9uCiMKJHNvcnRvcmRlciAgICAgID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2FzYycpOwokc29ydGJ5ICAgICAgICAgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndXNlcm5hbWUnKTsKJGRldGFpbHBhZ2UgICAgID0gJHJldHVybmlkOwokcGFnZWxpbWl0ICAgICAgPSAxMDAwMDA7CiRpbmxpbmUgICAgICAgICA9IDA7CiRwYWdlICAgICAgICAgICA9IDE7CiR0aGV0ZW1wbGF0ZSAgICA9ICdzdW1tYXJ5XycuJHRoaXMtPkdldFByZWZlcmVuY2UoQ0dVU0VSRElSX1BSRUZfREZMVFNVTU1BUllfTkFNRSk7CiR1c2VybmFtZV9leHByICA9ICcnOwokc2VhcmNocHJvcGVydHkgPSAnJzsKJHNvcnRieSAgICAgICAgID0gJ3VzZXJuYW1lJzsKJHNvcnRvcmRlciAgICAgID0gJ0FTQyc7CiRwcm9wdmFsICAgICAgICA9ICcnOwokcHJvcHZhbDIgICAgICAgPSAnJzsKJG9mZnNldCAgICAgICAgID0gMDsKJHByb3BzICAgICAgICAgID0gJyc7CiRmZXUgICAgICAgICAgICA9JiAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoJ0Zyb250RW5kVXNlcnMnKTsKJGFsbGFueSAgICAgICAgID0gJ2FsbCc7CiRzZWFyY2hkYXRhICAgICA9IGFycmF5KCk7CgojCiMgU2V0dXAKIwppZiggaXNzZXQoICRwYXJhbXNbJ2lubGluZSddICkgJiYgJHBhcmFtc1snaW5saW5lJ10gIT0gMCApCiAgewogICAgJGlubGluZSA9IDE7CiAgfQppZiggaXNzZXQoJHBhcmFtc1snc3VtbWFyeXRlbXBsYXRlJ10pICkKICB7CiAgICAkdGhldGVtcGxhdGUgPSAnc3VtbWFyeV8nLnRyaW0oJHBhcmFtc1snc3VtbWFyeXRlbXBsYXRlJ10pOwogIH0KaWYoIGlzc2V0KCAkcGFyYW1zWydkZXRhaWxwYWdlJ10gKSApCiAgewogICAgJHRtcCA9ICR0aGlzLT5yZXNvbHZlX2FsaWFzX29yX2lkKCRwYXJhbXNbJ2RldGFpbHBhZ2UnXSk7CiAgICBpZiggJHRtcCApCiAgICAgIHsKCSRkZXRhaWxwYWdlID0gJHRtcDsKCSRpbmxpbmUgPSAwOwogICAgICB9CiAgfQppZiggaXNzZXQoICRwYXJhbXNbJ3NvcnRvcmRlciddICkgKQogIHsKICAgICR0bXAgPSBzdHJ0b2xvd2VyKCRwYXJhbXNbJ3NvcnRvcmRlciddKTsKICAgIHN3aXRjaCggJHRtcCApCiAgICAgIHsKICAgICAgY2FzZSAnYXNjJzoKICAgICAgY2FzZSAnZGVzYyc6Cgkkc29ydG9yZGVyID0gJHRtcDsKCWJyZWFrOwogICAgICBkZWZhdWx0OgoJJHNvcnRvcmRlciA9ICdhc2MnOwoJYnJlYWs7CiAgICAgIH0KICB9CmlmKCBpc3NldCgkcGFyYW1zWydzb3J0YnknXSkgKQogIHsKICAgICR0bXAgPSB0cmltKCRwYXJhbXNbJ3NvcnRieSddKTsKICAgIHN3aXRjaCgkdG1wKQogICAgICB7CiAgICAgIGNhc2UgJ2lkJzoKICAgICAgY2FzZSAndXNlcm5hbWUnOgogICAgICBjYXNlICdjcmVhdGVkYXRlJzoKICAgICAgY2FzZSAnZXhwaXJlcyc6Cgkkc29ydGJ5ID0gJ1UuJy4kdG1wOwoJYnJlYWs7CiAgICAgIGNhc2UgJ2FjdGl2aXR5JzoKCSRzb3J0YnkgPSAnSC5yZWZkYXRlJzsKCWJyZWFrOwogICAgICBkZWZhdWx0OgoJJHN0YXR1cyA9ICdlcnJvcic7CgkkbWVzc2FnZXNbXSA9ICAkdGhpcy0+TGFuZygnZXJyb3JfaW52YWxpZHNvcnRmaWVsZCcsJHRtcCk7CglicmVhazsKICAgICAgfQogIH0KaWYoIGlzc2V0KCRwYXJhbXNbJ3BhZ2VsaW1pdCddKSApCiAgewogICAgJHBhZ2VsaW1pdCA9IChpbnQpJHBhcmFtc1sncGFnZWxpbWl0J107CiAgICAkcGFnZWxpbWl0ID0gbWF4KCRwYWdlbGltaXQsMSk7CiAgICAkcGFnZWxpbWl0ID0gbWluKDEwMDAsJHBhZ2VsaW1pdCk7CiAgfQppZiggaXNzZXQoJHBhcmFtc1sncGFnZW51bSddKSApCiAgewogICAgJHBhZ2VudW0gPSAoaW50KSRwYXJhbXNbJ3BhZ2VudW0nXTsKICAgICRwYWdlbnVtID0gbWF4KCRwYWdlbnVtLDEpOwogICAgJHBhZ2VudW0gPSBtaW4oMTAwMDAsJHBhZ2VudW0pOwogIH0KaWYoIGlzc2V0KCRwYXJhbXNbJ3VkX2FsbGFueSddKSApCiAgewogICAgJGFsbGFueSA9IHN0cnRvbG93ZXIodHJpbSgkcGFyYW1zWyd1ZF9hbGxhbnknXSkpOwogIH0KCiMKIyBIYW5kbGUgZm9ybSBzdWJtaXNzaW9uCiMKaWYoIGlzc2V0KCRwYXJhbXNbJ3VkX2NhbmNlbCddKSApCiAgewogICAgJGRlc3RwYWdlID0gJHJldHVybmlkOwogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ3VkX29yaWdwYWdlJ10pICkKICAgICAgewoJJGRlc3RwYWdlID0gKGludCkkcGFyYW1zWyd1ZF9vcmlncGFnZSddOwogICAgICB9CiAgICAkdGhpcy0+UmVkaXJlY3RDb250ZW50KCRkZXN0cGFnZSk7CiAgfQplbHNlIGlmKCBpc3NldCgkcGFyYW1zWyd1ZF9zdWJtaXQnXSkgfHwgaXNzZXQoJHBhcmFtc1sndWRfZG9zZWFyY2gnXSkgKQogIHsKICAgIGlmKCBpc3NldCgkcGFyYW1zWyd1ZF91c2VybmFtZSddKSApCiAgICAgIHsKCSR1c2VybmFtZV9leHByID0gdHJpbSgkcGFyYW1zWyd1ZF91c2VybmFtZSddKTsKICAgICAgfQoKICAgIGlmKCBpc3NldCgkcGFyYW1zWydzZWFyY2hwcm9wZXJ0eSddKSAmJiBpc3NldCgkcGFyYW1zWyd1ZF9wcm9wdmFsdWUnXSkpCiAgICAgIHsKCSR0bXAgPSBleHBsb2RlKCcsJyx0cmltKCRwYXJhbXNbJ3NlYXJjaHByb3BlcnR5J10pKTsKCWZvcmVhY2goICR0bXAgYXMgJG9uZSApCgkgIHsKCSAgICBpZiggaXNzZXQoJHBhcmFtc1sndWRfcHJvcHZhbHVlJ11bJG9uZV0pICkKCSAgICAgIHsKCQlpZiggJHBhcmFtc1sndWRfcHJvcHZhbHVlJ11bJG9uZV0gIT0gJy0xJyAmJgoJCSAgICAhZW1wdHkoJHBhcmFtc1sndWRfcHJvcHZhbHVlJ11bJG9uZV0pICkKCQkgICRzZWFyY2hkYXRhWyRvbmVdID0gdHJpbSgkcGFyYW1zWyd1ZF9wcm9wdmFsdWUnXVskb25lXSk7CgkgICAgICB9CgkgIH0KICAgICAgfQoKICAgICR3aGVyZSA9IGFycmF5KCk7CiAgICAkcXBhcm1zID0gYXJyYXkoKTsKICAgICRqb2lucyA9IGFycmF5KCk7CiAgICBpZiggIWVtcHR5KCR1c2VybmFtZV9leHByKSApCiAgICAgIHsKCSR3aGVyZVtdID0gJ1UudXNlcm5hbWUgUkVHRVhQID8nOwoJJHFwYXJtc1tdID0gJHVzZXJuYW1lX2V4cHI7CiAgICAgIH0KICAgIGlmKCBjb3VudCgkc2VhcmNoZGF0YSkgKQogICAgICB7Cgkkam9pbnNbXSA9ICdMRUZUIEpPSU4gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9mZXVzZXJzX3Byb3BlcnRpZXMgUCBPTiBVLmlkID0gUC51c2VyaWQnOwoJZm9yZWFjaCggJHNlYXJjaGRhdGEgYXMgJHByb3BuYW1lID0+ICRwcm9wdmFsICkKCSAgewoJICAgICR3aGVyZVtdID0gJyhQLnRpdGxlID0gPyBBTkQgUC5kYXRhIFJFR0VYUCA/KSc7CgkgICAgJHFwYXJtc1tdID0gJHByb3BuYW1lOwoJICAgICRxcGFybXNbXSA9ICRwcm9wdmFsOwoJICB9CiAgICAgIH0KCiAgICAkdG1wID0gJGRiLT5JZk51bGwoJ0gucmVmZGF0ZScsJGRiLT5EYlRpbWVzdGFtcCgxKSkuJyBBUyByZWZkYXRlJzsKICAgICRxdSAgPSAnU0VMRUNUIFUuKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZmV1c2Vyc191c2VycyBVJzsKICAgICRxYyAgPSAnU0VMRUNUIENPVU5UKFUuaWQpIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9mZXVzZXJzX3VzZXJzIFUnOwogICAgJHF1IC49ICcgTEVGVCBKT0lOICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZmV1c2Vyc19oaXN0b3J5IEggT04gVS5pZCA9IEgudXNlcmlkJzsKICAgIGlmKCBjb3VudCgkam9pbnMpICkKICAgICAgewoJZm9yZWFjaCggJGpvaW5zIGFzICRvbmUgKQoJICB7CgkgICAgJHF1IC49ICcgJy4kb25lOwoJICAgICRxYyAuPSAnICcuJG9uZTsKCSAgfQogICAgICB9CiAgICBpZiggY291bnQoJHdoZXJlKSApCiAgICAgIHsKCSRleHByID0gJyBBTkQgJzsKCWlmKCAkYWxsYW55CiA9PSAnYW55JyApCgkgIHsKCSAgICAkZXhwciA9ICcgT1IgJzsKCSAgfQoJJHF1IC49ICcgV0hFUkUgJy5pbXBsb2RlKCRleHByLCR3aGVyZSk7CgkkcWMgLj0gJyBXSEVSRSAnLmltcGxvZGUoJGV4cHIsJHdoZXJlKTsKICAgICAgfQogICAgJHF1IC49ICcgR1JPVVAgQlkgVS5pZCc7CiAgICAkcXUgLj0gIiBPUkRFUiBCWSAkc29ydGJ5ICRzb3J0b3JkZXIiOwoKICAgICRpdGVtY291bnQgPSAkZGItPkdldE9uZSgkcWMsJHFwYXJtcyk7CiAgICBpZiggISRpdGVtY291bnQgKSByZXR1cm47CgogICAgJGRiciA9ICRkYi0+U2VsZWN0TGltaXQoJHF1LCRwYWdlbGltaXQsJG9mZnNldCwkcXBhcm1zKTsKICAgIGlmKCAhJGRiciApCiAgICAgIHsKCWVjaG8gJ0RFQlVHOiBlcnJvciBpbiBxdWVyeTxici8+JzsKCWVjaG8gJyZuYnNwOyZuYnNwO1FVRVJZID0gJy4kZGItPnNxbC4nPGJyLz4nOwoJZWNobyAnJm5ic3A7Jm5ic3A7RXJyb3IgPSAnLiRkYi0+RXJyb3JNc2coKTsKCSRzdGF0dXMgPSAnZXJyb3InOwoJJG1lc3NhZ2VzW10gPSAkdGhpcy0+TGFuZygnZXJyb3Jfc3FsJyk7CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJJGRhdGEgPSBhcnJheSgpOwoJd2hpbGUoICRkYnIgJiYgKCRyb3cgPSAkZGJyLT5GZXRjaFJvdygpKSApCgkgIHsKCSAgICAkZGF0YVtdID0gJHJvdzsKCSAgfQoJJGRici0+Q2xvc2UoKTsKICAgICAgfQoKICAgICRiYWRfZGF0ZSA9IHRyaW0oJGRiLT5EYlRpbWVTdGFtcCgxKSwiJyIpOwoKICAgIC8vIHF1ZXJ5IHRvIGdldCBhbGwgdXNlciBtZW1iZXIgZ3JvdXBzCiAgICAkZ3F1ZXJ5ID0gJ1NFTEVDVCBncm91cGlkIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9mZXVzZXJzX2JlbG9uZ3MgCiAgICAgICAgICAgICAgICAgICAgICAgIFdIRVJFIHVzZXJpZCA9ID8nOwoJCiAgICAvLyBxdWVyeSB0byBnZXQgdXNlciBwcm9wZXJ0aWVzLgogICAgJHBxdWVyeSA9ICcgU0VMRUNUIHRpdGxlLGRhdGEgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2ZldXNlcnNfcHJvcGVydGllcyAKICAgICAgICAgICAgICAgICAgICAgV0hFUkUgdXNlcmlkID0gPyc7CgkgICAgCiAgICBmb3IoICRpID0gMDsgJGkgPCBjb3VudCgkZGF0YSk7ICRpKysgKQogICAgICB7CgkvLyBoaWRlIHRoZSBwYXNzd29yZCBmaWVsZAoJdW5zZXQoJGRhdGFbJGldWydwYXNzd29yZCddKTsKCQoJLy8gdW5zZXQgdGhlIHJlZmRhdGUgaWYgdGhlIHVzZXIgaGFzIGhhZCBubyBhY3Rpdml0eQoJaWYoICRkYXRhWyRpXVsncmVmZGF0ZSddID09ICRiYWRfZGF0ZSApCgkgIHsKCSAgICB1bnNldCgkZGF0YVskaV1bJ3JlZmRhdGUnXSk7CgkgIH0KCQoJLy8gRGV0YWlsIFVSTAoJJHBhcm1zID0gYXJyYXkoKTsKCSRwYXJtc1sndWlkJ10gPSAkZGF0YVskaV1bJ2lkJ107CgkkcHJldHR5dXJsID0gJ3VzZXJzLycuJHBhcmFtc1sndWlkJ10uJy8nLiRkZXRhaWxwYWdlOwoJaWYoIGlzc2V0KCRwYXJhbXNbJ2RldGFpbHRlbXBsYXRlJ10pICkKCSAgewoJICAgICRwYXJtc1snZGV0YWlsdGVtcGxhdGUnXSA9ICRwYXJhbXNbJ2RldGFpbHRlbXBsYXRlJ107CgkgICAgJHByZXR0eXVybCAuPSAnLycubXVuZ2Vfc3RyaW5nX3RvX3VybCh0cmltKCRwYXJhbXNbJ2RldGFpbHRlbXBsYXRlJ10pKTsKCSAgfQoJJHByZXR0eXVybCAuPSAnLycubXVuZ2Vfc3RyaW5nX3RvX3VybCgkZGF0YVskaV1bJ3VzZXJuYW1lJ10pOwoJJGRhdGFbJGldWydkZXRhaWxfdXJsJ10gPSAkdGhpcy0+Q3JlYXRlVVJMKCRpZCwnZGV0YWlsJywkZGV0YWlscGFnZSwKCQkJCQkJICAgJHBhcm1zLGZhbHNlLCRwcmV0dHl1cmwpOwoJCgkvLyBhZGQgbWVtYmVyIGdyb3VwIGlkcwoJJHRtcCA9ICRkYi0+R2V0QXJyYXkoJGdxdWVyeSxhcnJheSgkZGF0YVskaV1bJ2lkJ10pKTsKCSRncm91cHMgPSBjZ2VfYXJyYXk6OmV4dHJhY3RfZmllbGQoJHRtcCwnZ3JvdXBpZCcpOwoJJGRhdGFbJGldWydncm91cHMnXSA9ICRncm91cHM7CgkKCS8vIEdldCBwcm9wcmV0aWVzCgkkZ3N0ciA9ICcoJy5pbXBsb2RlKCcsJywkZ3JvdXBzKS4nKSc7CgkkdG1wID0gJGRiLT5HZXRBcnJheShzcHJpbnRmKCRwcXVlcnksJGdzdHIpLGFycmF5KCRkYXRhWyRpXVsnaWQnXSkpOwoJaWYoICR0bXAgKQoJICB7CgkgICAgJHRtcDIgPSBhcnJheSgpOwoJICAgIGZvciggJGogPSAwOyAkaiA8IGNvdW50KCR0bXApOyAkaisrICkKCSAgICAgIHsKCQlpZiggIWVtcHR5KCR0bXBbJGpdWydkYXRhJ10pICYmICR0bXBbJGpdWydkYXRhJ10gIT0gJzxub3RzZXQ+JyApCgkJICB7CgkJICAgICR0bXAyWyR0bXBbJGpdWyd0aXRsZSddXSA9ICR0bXBbJGpdWydkYXRhJ107CgkJICB9CgkgICAgICB9CgkgICAgJGRhdGFbJGldWydwcm9wZXJ0aWVzJ10gPSAkdG1wMjsKCSAgfQogICAgICB9CgogICAgaWYoIGVtcHR5KCRzdGF0dXMpICkKICAgICAgewoJLy8gR2V0IGFsbCB0aGUgdXNlciBwcm9wZXJ0aWVzCgkkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2ZldXNlcnNfcHJvcGRlZm4nOwoJJHRtcCA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5KTsKCSRwcm9wcyA9IGNnZV9hcnJheTo6dG9faGFzaCgkdG1wLCduYW1lJyk7CiAgICAgIH0KCiAgICBpZiggZW1wdHkoJHN0YXR1cykgKQogICAgICB7CgkvLyBnZXQgYWxsIHRoZSBncm91cHMKCSRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZmV1c2Vyc19ncm91cHMnOwoJJHRtcCA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5KTsKCSRncm91cHMgPSBjZ2VfYXJyYXk6OnRvX2hhc2goJHRtcCwnaWQnKTsKICAgICAgfQogIH0KCiMKIyBHaXZlIEV2ZXJ5dGhpbmcgdG8gU21hcnR5CiMKaWYoIGVtcHR5KCRzdGF0dXMpICkKICB7CiAgICAkY29uZmlnID0mICRnQ21zLT5HZXRDb25maWcoKTsKICAgICRzbWFydHktPmFzc2lnbignZ3JvdXBzJywkZ3JvdXBzKTsKICAgICRzbWFydHktPmFzc2lnbigncHJvcGVydGllcycsJHByb3BzKTsKICAgICRzbWFydHktPmFzc2lnbigndG90YWxjb3VudCcsJGl0ZW1jb3VudCk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ3VzZXJzJywkZGF0YSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2ZpbGVfbG9jYXRpb24nLCRjb25maWdbJ3VwbG9hZHNfdXJsJ10uJy9mZXVzZXJzJyk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ3VzZXJzJywkZGF0YSk7CiAgfQplbHNlCiAgewogICAgJHNtYXJ0eS0+YXNzaWduKCdzdGF0dXMnLCRzdGF0dXMpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdtZXNzYWdlcycsJG1lc3NhZ2VzKTsKICB9CgojCiMgRGlzcGxheSB0aGUgdGVtcGxhdGUKIwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJHRoZXRlbXBsYXRlKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.search.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHVXNlckRpcmVjdG9yeSAoYykgMjAwOSBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBicm93c2UKIyAgYW5kIHZpZXcgc3VtbWFyeSByZXBvcnRzIGFuZCBkZXRhaWwgcmVwb3J0cyBhYm91dCBncm91cHMgb2YgZnJvbnRlbmQKIyAgdXNlcnMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKIwojIEluaXRpYWxpemF0aW9uCiMKJGZldSA9JiAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoJ0Zyb250RW5kVXNlcnMnKTsKaWYoICEkZmV1ICkgcmV0dXJuOwokaW5saW5lID0gMDsKJHJlc3VsdHBhZ2UgPSAkcmV0dXJuaWQ7CiR0aGV0ZW1wbGF0ZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKENHVVNFUkRJUl9QUkVGX0RGTFRTRUFSQ0hGT1JNX05BTUUpOwokcHJvcGVydHk9Jyc7CiRwcm9wZXJ0eTI9Jyc7CgoKIwojIEdldCBwYXJhbWV0ZXJzCiMKaWYoIGlzc2V0KCRwYXJhbXNbJ2lubGluZSddKSAmJiAkcGFyYW1zWydpbmxpbmUnXSAhPSAwICkKICB7CiAgICAkaW5saW5lID0gMTsKICAgIHVuc2V0KCRwYXJhbXNbJ2lubGluZSddKTsKICB9CmlmKCBpc3NldCgkcGFyYW1zWydyZXN1bHRwYWdlJ10pICkKICB7CiAgICAkdG1wID0gJHRoaXMtPnJlc29sdmVfYWxpYXNfb3JfaWQoJHBhcmFtc1sncmVzdWx0cGFnZSddKTsKICAgIGlmKCAkdG1wICkKICAgICAgewoJJHJlc3VsdHBhZ2UgPSAkdG1wOwoJJGlubGluZSA9IDA7CiAgICAgIH0KICAgIHVuc2V0KCRwYXJhbXNbJ3Jlc3VsdHBhZ2UnXSk7CiAgfQppZiggaXNzZXQoJHBhcmFtc1snc2VhcmNoZm9ybXRlbXBsYXRlJ10pICkKICB7CiAgICAkdGhldGVtcGxhdGUgPSB0cmltKCRwYXJhbXNbJ3NlYXJjaGZvcm10ZW1wbGF0ZSddKTsKICAgIHVuc2V0KCRwYXJhbXNbJ3NlYXJjaGZvcm10ZW1wbGF0ZSddKTsKICB9CmlmKCBpc3NldCgkcGFyYW1zWydzZWFyY2hwcm9wZXJ0eSddKSApCiAgewogICAgJHByb3BlcnR5ID0gdHJpbSgkcGFyYW1zWydzZWFyY2hwcm9wZXJ0eSddKTsKICB9CgoKLy8gZ2V0IHRoZSBwcm9wZXJ0eSBkZWZpbml0aW9uCmlmKCAhZW1wdHkoJHByb3BlcnR5KSApCiAgewogICAgJHNlYXJjaHByb3BzID0gYXJyYXkoKTsKICAgICRwcm9wZXJ0aWVzID0gZXhwbG9kZSgnLCcsJHByb3BlcnR5KTsKICAgIGZvcmVhY2goICRwcm9wZXJ0aWVzIGFzICRvbmVwcm9wZXJ0eSApCiAgICAgIHsKCSRkZWZuID0gJGZldS0+R2V0UHJvcGVydHlEZWZuKCRvbmVwcm9wZXJ0eSk7CgkKCS8vIGZpZ3VyZSBvdXQgd2hhdCB0eXBlIG9mIGZpZWxkIGl0J2xsIGJlCgkkZmllbGR0eXBlID0gJyc7CglpZiggJGRlZm4gKQoJICB7CgkgICAgJG9wdGlvbnMgPSAnJzsKCSAgICBzd2l0Y2goICRkZWZuWyd0eXBlJ10gKQoJICAgICAgewoJICAgICAgY2FzZSAnMCc6IC8vIHRleHQKCSAgICAgIGNhc2UgJzInOiAvLyBlbWFpbAoJCSRmaWVsZHR5cGUgPSAndGV4dCc7CgkJYnJlYWs7CgkJCgkgICAgICBjYXNlICc0JzogLy8gZHJvcGRvd24KCSAgICAgIGNhc2UgJzUnOiAvLyBtdWx0aXNlbGVjdAoJICAgICAgY2FzZSAnNyc6IC8vIHJhZGlvYnV0dG9ucwoJCSRmaWVsZHR5cGUgPSAnc2VsZWN0JzsKCQkkdG1wID0gJGZldS0+R2V0U2VsZWN0T3B0aW9ucygkZGVmblsnbmFtZSddLDEpOwoJCSRvcHRpb25zID0gYXJyYXkoKTsKCQkkb3B0aW9uc1stMV0gPSAkdGhpcy0+TGFuZygnYW55Jyk7CgkJZm9yZWFjaCggJHRtcCBhcyAka2V5ID0+ICR2YWx1ZSApCgkJICB7CgkJICAgICRvcHRpb25zWyR2YWx1ZV0gPSAka2V5OwoJCSAgfQoJCWJyZWFrOwoJCQoJICAgICAgY2FzZSAnMSc6IC8vIGNoZWNrYm94CgkgICAgICBjYXNlICczJzogLy8gdGV4dGFyZWEKCSAgICAgIGNhc2UgJzYnOiAvLyBpbWFnZQoJICAgICAgY2FzZSAnOCc6IC8vIGRhdGUKCQkvLyBnZXQgdGhlIG9wdGlvbnMKCQlicmVhazsKCSAgICAgIH0KCSAgfQoJCglpZiggIWVtcHR5KCRmaWVsZHR5cGUpICkKCSAgewoJICAgICR0bXAgPSBhcnJheSgpOwoJICAgICR0bXBbJ2ZpZWxkZGVmbiddID0gJGRlZm47CgkgICAgJHRtcFsnZmllbGR0eXBlJ10gPSAkZmllbGR0eXBlOwoJICAgIGlmKCAhZW1wdHkoJG9wdGlvbnMpICkKCSAgICAgIHsKCQkkdG1wWydvcHRpb25zJ10gPSAkb3B0aW9uczsKCSAgICAgIH0KCSAgICAkc2VhcmNocHJvcHNbJG9uZXByb3BlcnR5XSA9ICR0bXA7CgkgIH0KICAgICAgfQoKICAgIGlmKCAhZW1wdHkoJHNlYXJjaHByb3BzKSApCiAgICAgIHsKCSRzbWFydHktPmFzc2lnbignc2VhcmNocHJvcHMnLCRzZWFyY2hwcm9wcyk7CiAgICAgIH0KICB9Cgokc21hcnR5LT5hc3NpZ24oJ3VkX29yaWdwYWdlJywkcmV0dXJuaWQpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsJHRoaXMtPkNHQ3JlYXRlRm9ybVN0YXJ0KCRpZCwnZG9fc2VhcmNoJywkcmVzdWx0cGFnZSwkcGFyYW1zLCRpbmxpbmUpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKCiMKIyBQcm9jZXNzIHRoZSB0ZW1wbGF0ZQojCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgnc2VhcmNoZm9ybV8nLiR0aGV0ZW1wbGF0ZSk7CgoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/CGUserDirectory.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHVXNlckRpcmVjdG9yeSAoYykgMjAwOSBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBicm93c2UKIyAgYW5kIHZpZXcgc3VtbWFyeSByZXBvcnRzIGFuZCBkZXRhaWwgcmVwb3J0cyBhYm91dCBncm91cHMgb2YgZnJvbnRlbmQKIyAgdXNlcnMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBUaGlzIG1vZHVsZSBpcyBkZXJpdmVkIGZyb20gQ0dFeHRlbnNpb25zIAokY2dleHRlbnNpb25zID0gY21zX2pvaW5fcGF0aCgkZ0Ntcy0+Y29uZmlnWydyb290X3BhdGgnXSwnbW9kdWxlcycsCgkJCSAgICAgICdDR0V4dGVuc2lvbnMnLCdDR0V4dGVuc2lvbnMubW9kdWxlLnBocCcpOwppZiggIWlzX3JlYWRhYmxlKCAkY2dleHRlbnNpb25zICkgKQp7CiAgZWNobyAnPGgxPjxmb250IGNvbG9yPSJyZWQiPkVSUk9SOiBUaGUgQ0dFeHRlbnNpb25zIG1vZHVsZSBjb3VsZCBub3QgYmUgZm91bmQuPC9mb250PjwvaDE+JzsKICByZXR1cm47Cn0KcmVxdWlyZV9vbmNlKCRjZ2V4dGVuc2lvbnMpOwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnJlcXVpcmVfb25jZShkaXJuYW1lKF9fRklMRV9fKS4nL2RlZmluZXMucGhwJyk7CgpjbGFzcyBDR1VzZXJEaXJlY3RvcnkgZXh0ZW5kcyBDR0V4dGVuc2lvbnMKewoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBDb25zdHJ1Y3RvcgogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkKICB7CiAgICBwYXJlbnQ6Ol9fY29uc3RydWN0KCk7CgogICAgZ2xvYmFsICRnQ21zOwogICAgJHNtYXJ0eSA9JiAkZ0Ntcy0+R2V0U21hcnR5KCk7CiAgICAkc21hcnR5LT5yZWdpc3Rlcl9mdW5jdGlvbignY2d1ZF9nZXRwcm9wZXJ0eXN1bW1hcnlfdXJsJywKCQkJICAgICAgIGFycmF5KCR0aGlzLCdfc21hcnR5X2dldHByb3BlcnR5c3VtbWFyeV91cmwnKSk7CiAgfQogIAoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXROYW1lKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXROYW1lKCkKICB7CiAgICByZXR1cm4gJ0NHVXNlckRpcmVjdG9yeSc7CiAgfQogIAoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRGcmllbmRseU5hbWUoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldEZyaWVuZGx5TmFtZSgpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKTsKICB9CiAgCiAgCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0VmVyc2lvbigpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0VmVyc2lvbigpCiAgewogICAgcmV0dXJuICcxLjIuNic7CiAgfQogIAogIAogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldEhlbHAoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldEhlbHAoKQogIHsKICAgIHJldHVybiAkdGhpcy0+TGFuZygnaGVscCcpOwogIH0KICAKICAKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRBdXRob3IoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldEF1dGhvcigpCiAgewogICAgcmV0dXJuICdjYWxndXkxMDAwJzsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRBdXRob3JFbWFpbCgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0QXV0aG9yRW1haWwoKQogIHsKICAgIHJldHVybiAnY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyc7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0Q2hhbmdlTG9nKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRDaGFuZ2VMb2coKQogIHsKICAgIHJldHVybiBAZmlsZV9nZXRfY29udGVudHMoZGlybmFtZShfX0ZJTEVfXykuJy9jaGFuZ2Vsb2cuaW5jJyk7CiAgfQogIAogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIElzUGx1Z2luTW9kdWxlKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBJc1BsdWdpbk1vZHVsZSgpCiAgewogICAgcmV0dXJuIHRydWU7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgSGFzQWRtaW4oKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEhhc0FkbWluKCkKICB7CiAgICByZXR1cm4gdHJ1ZTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRBZG1pblNlY3Rpb24oKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldEFkbWluU2VjdGlvbigpCiAgewogICAgcmV0dXJuICdleHRlbnNpb25zJzsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRBZG1pbkRlc2NyaXB0aW9uKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRBZG1pbkRlc2NyaXB0aW9uKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ21vZGRlc2NyaXB0aW9uJyk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgVmlzaWJsZVRvQWRtaW5Vc2VyKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBWaXNpYmxlVG9BZG1pblVzZXIoKQogIHsKICAgIHJldHVybiAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpIHx8CiAgICAgICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBUZW1wbGF0ZXMnKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBBbGxvd0F1dG9JbnN0YWxsKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBBbGxvd0F1dG9JbnN0YWxsKCkgewogICAgcmV0dXJuIEZBTFNFOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEFsbG93QXV0b1VwZ3JhZGUoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEFsbG93QXV0b1VwZ3JhZGUoKSB7CiAgICByZXR1cm4gRkFMU0U7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0RGVwZW5kZW5jaWVzKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXREZXBlbmRlbmNpZXMoKQogIHsKICAgIHJldHVybiBhcnJheSgnQ0dFeHRlbnNpb25zJz0+JzEuMjUnLAoJCSAnRnJvbnRFbmRVc2Vycyc9PicxLjE1LjInKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBNaW5pbXVtQ01TVmVyc2lvbigpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gTWluaW11bUNNU1ZlcnNpb24oKQogIHsKICAgIHJldHVybiAiMS45LjIiOwogIH0KCQoJCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgU2V0UGFyYW1ldGVycygpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gU2V0UGFyYW1ldGVycygpCiAgewogICAgJHRoaXMtPlJlZ2lzdGVyTW9kdWxlUGx1Z2luKCk7CiAgICAkdGhpcy0+UmVzdHJpY3RVbmtub3duUGFyYW1zKCk7CiAgICAKICAgICR0aGlzLT5SZWdpc3RlclJvdXRlKCcvW1V1XXNlcnNcLyg/UDx1aWQ+WzAtOV0rKVwvKD9QPHJldHVybmlkPlswLTldKylcLyg/UDxkZXRhaWx0ZW1wbGF0ZT5bQS1aYS16MC05XC1cX10rPylcLyg/UDxqdW5rPi4qPykkLycsCgkJCSBhcnJheSgnYWN0aW9uJz0+J2RldGFpbCcpKTsKICAgICR0aGlzLT5SZWdpc3RlclJvdXRlKCcvW1V1XXNlcnNcLyg/UDx1aWQ+WzAtOV0rKVwvKD9QPHJldHVybmlkPlswLTldKylcLyg/UDxqdW5rPi4qPykkLycsCgkJCSBhcnJheSgnYWN0aW9uJz0+J2RldGFpbCcpKTsKICAgICR0aGlzLT5SZWdpc3RlclJvdXRlKCcvW1V1XXNlcmdyb3VwXC8oP1A8Z2lkPlswLTldKylcLyg/UDxyZXR1cm5pZD5bMC05XSspXC8oP1A8anVuaz4uKj8pJC8nLAoJCQkgYXJyYXkoJ2FjdGlvbic9PidkZWZhdWx0JykpOwogICAgJHRoaXMtPlJlZ2lzdGVyUm91dGUoJy9bVXVdc2Vyc1wvKD9QPHVpZD5bMC05XSspXC8oP1A8anVuaz4uKj8pJC8nLAoJCQkgYXJyYXkoJ2FjdGlvbic9PidkZXRhaWwnKSk7CiAgICAkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgnL1tVdV1zZXJncm91cFwvKD9QPGdpZD5bMC05XSspXC8oP1A8anVuaz4uKj8pJC8nLAoJCQkgYXJyYXkoJ2FjdGlvbic9PidkZWZhdWx0JykpOwoKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2FjdGlvbicsJ2RlZmF1bHQnLCR0aGlzLT5MYW5nKCdoZWxwX3BhcmFtX2FjdGlvbicpKTsKCiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdpbmxpbmUnLCcnLCR0aGlzLT5MYW5nKCdoZWxwX3BhcmFtX2lubGluZScpKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdpbmxpbmUnLENMRUFOX0lOVCk7CgogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignZ3JvdXAnLCcnLCR0aGlzLT5MYW5nKCdoZWxwX3BhcmFtX2dyb3VwJykpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2dyb3VwJyxDTEVBTl9TVFJJTkcpOwoKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2dpZCcsJycsJHRoaXMtPkxhbmcoJ2hlbHBfcGFyYW1fZ2lkJykpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2dpZCcsQ0xFQU5fSU5UKTsKCiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdzaG93ZXhwaXJlZCcsMCwkdGhpcy0+TGFuZygnaGVscF9wYXJhbV9zaG93ZXhwaXJlZCcpKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdzaG93ZXhwaXJlZCcsQ0xFQU5fSU5UKTsKCiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdzb3J0YnknLCd1c2VybmFtZScsJHRoaXMtPkxhbmcoJ2hlbHBfcGFyYW1fc29ydGJ5JykpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3NvcnRieScsQ0xFQU5fU1RSSU5HKTsKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2Jzb3J0YnknLCcnLCR0aGlzLT5MYW5nKCdoZWxwX3BhcmFtX2Jzb3J0YnknKSk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnYnNvcnRieScsQ0xFQU5fU1RSSU5HKTsKCiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdzb3J0b3JkZXInLCdBU0MnLCR0aGlzLT5MYW5nKCdoZWxwX3BhcmFtX3NvcnRvcmRlcicpKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdzb3J0b3JkZXInLENMRUFOX1NUUklORyk7CiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdic29ydG9yZGVyJywnQVNDJywkdGhpcy0+TGFuZygnaGVscF9wYXJhbV9ic29ydG9yZGVyJykpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2Jzb3J0b3JkZXInLENMRUFOX1NUUklORyk7CgogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigncGFnZWxpbWl0JywxMDAsJHRoaXMtPkxhbmcoJ2hlbHBfcGFyYW1fcGFnZWxpbWl0JykpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3BhZ2VsaW1pdCcsQ0xFQU5fSU5UKTsKCiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdwcm9wJywnJywkdGhpcy0+TGFuZygnaGVscF9wYXJhbV9wcm9wJykpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3Byb3AnLENMRUFOX1NUUklORyk7CgogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigncHJvcHZhbCcsJycsJHRoaXMtPkxhbmcoJ2hlbHBfcGFyYW1fcHJvcHZhbCcpKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdwcm9wdmFsJyxDTEVBTl9TVFJJTkcpOwoKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3VzZWxpa2UnLDAsJHRoaXMtPkxhbmcoJ2hlbHBfcGFyYW1fdXNlbGlrZScpKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCd1c2VsaWtlJyxDTEVBTl9JTlQpOwoKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2RldGFpbHBhZ2UnLCcnLCR0aGlzLT5MYW5nKCdoZWxwX3BhcmFtX2RldGFpbHBhZ2UnKSk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnZGV0YWlscGFnZScsQ0xFQU5fU1RSSU5HKTsKCiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdyZXN1bHRwYWdlJywnJywkdGhpcy0+TGFuZygnaGVscF9wYXJhbV9yZXN1bHRwYWdlJykpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3Jlc3VsdHBhZ2UnLENMRUFOX1NUUklORyk7CgogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignc3VtbWFyeXRlbXBsYXRlJywnJywkdGhpcy0+TGFuZygnaGVscF9wYXJhbV9zdW1tYXJ5dGVtcGxhdGUnKSk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnc3VtbWFyeXRlbXBsYXRlJyxDTEVBTl9TVFJJTkcpOwoKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2RpcmVjdG9yeXRlbXBsYXRlJywnJywkdGhpcy0+TGFuZygnaGVscF9wYXJhbV9kaXJlY3Rvcnl0ZW1wbGF0ZScpKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdkaXJlY3Rvcnl0ZW1wbGF0ZScsQ0xFQU5fU1RSSU5HKTsKCiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdkZXRhaWx0ZW1wbGF0ZScsJycsJHRoaXMtPkxhbmcoJ2hlbHBfcGFyYW1fZGV0YWlsdGVtcGxhdGUnKSk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnZGV0YWlsdGVtcGxhdGUnLENMRUFOX1NUUklORyk7CgogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignc2VhcmNoZm9ybXRlbXBsYXRlJywnJywkdGhpcy0+TGFuZygnaGVscF9wYXJhbV9zZWFyY2hmb3JtdGVtcGxhdGUnKSk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnc2VhcmNoZm9ybXRlbXBsYXRlJyxDTEVBTl9TVFJJTkcpOwoKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2Jyb3dzZXByb3B0ZW1wbGF0ZScsJycsJHRoaXMtPkxhbmcoJ2hlbHBfcGFyYW1fYnJvd3NlcHJvcHRlbXBsYXRlJykpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2Jyb3dzZXByb3B0ZW1wbGF0ZScsQ0xFQU5fU1RSSU5HKTsKCiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdzZWFyY2hwcm9wZXJ0eScsJycsJHRoaXMtPkxhbmcoJ2hlbHBfcGFyYW1fc2VhcmNocHJvcGVydHknKSk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnc2VhcmNocHJvcGVydHknLENMRUFOX1NUUklORyk7CgogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigndWlkJywnJywkdGhpcy0+TGFuZygnaGVscF9wYXJhbV91aWQnKSk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgndWlkJyxDTEVBTl9JTlQpOwoKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3NwYXJzZScsJzAnLCR0aGlzLT5MYW5nKCdoZWxwX3BhcmFtX3NwYXJzZScpKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdzcGFyc2UnLENMRUFOX0lOVCk7CgogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3BhZ2VudW0nLENMRUFOX0lOVCk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnb3JpZ3BhZ2UnLENMRUFOX0lOVCk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnanVuaycsQ0xFQU5fU1RSSU5HKTsKCiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZShDTEVBTl9SRUdFWFAuJy91ZF8uKi8nLENMRUFOX1NUUklORyk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgSW5zdGFsbFBvc3RNZXNzYWdlKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBJbnN0YWxsUG9zdE1lc3NhZ2UoKQogIHsKICAgIHJldHVybiAkdGhpcy0+TGFuZygncG9zdGluc3RhbGwnKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBVbmluc3RhbGxQb3N0TWVzc2FnZSgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gVW5pbnN0YWxsUG9zdE1lc3NhZ2UoKQogIHsKICAgIHJldHVybiAkdGhpcy0+TGFuZygncG9zdHVuaW5zdGFsbCcpOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIFVuaW5zdGFsbFByZU1lc3NhZ2UoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIFVuaW5zdGFsbFByZU1lc3NhZ2UoKQogIHsKICAgIHJldHVybiAkdGhpcy0+TGFuZygnYXNrX3JlYWxseV91bmluc3RhbGwnKTsKICB9CQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgQ3JlYXRlUHJvcGVydHlTdW1tYXJ5VVJMKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBDcmVhdGVQcm9wZXJ0eVN1bW1hcnlVUkwoJGlkLCRyZXR1cm5pZCwkcHJvcG5hbWUsJHByb3B2YWx1ZSwkcGFyYW1zID0gYXJyYXkoKSwkaW5saW5lID0gZmFsc2UpCiAgewoJJHBhcmFtc1sncHJvcCddID0gJHByb3BuYW1lOwoJJHBhcmFtc1sncHJvcHZhbCddID0gJHByb3B2YWx1ZTsKCXVuc2V0KCRwYXJhbXNbJ2FjdGlvbiddKTsKCglyZXR1cm4gJHRoaXMtPkNyZWF0ZVVSTCgkaWQsJ2RlZmF1bHQnLCRyZXR1cm5pZCwkcGFyYW1zLCRpbmxpbmUpOwogIH0KCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgX3NtYXJ0eV9nZXRwcm9wZXJ0eXN1bW1hcnlfdXJsCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gX3NtYXJ0eV9nZXRwcm9wZXJ0eXN1bW1hcnlfdXJsKCRwYXJhbXMsJiRzbWFydHkpCiAgewogICAgZ2xvYmFsICRnQ21zOwogICAgCiAgICAkaW5saW5lID0gMDsKICAgICRwcm9wID0gJyc7CiAgICAkcHJvcHZhbHVlID0gJyc7CiAgICAkYXNzaWduID0gJyc7CiAgICAkcmV0dXJuaWQgPSAkZ0Ntcy0+dmFyaWFibGVzWydwYWdlX2lkJ107CiAgICAkcGFybXMgPSBhcnJheSgpOwogICAgCiAgICBpZiggIWlzc2V0KCRwYXJhbXNbJ3Byb3AnXSkgKSByZXR1cm47CiAgICBpZiggIWlzc2V0KCRwYXJhbXNbJ3Byb3B2YWwnXSkgKSByZXR1cm47CiAgICBmb3JlYWNoKCAkcGFyYW1zIGFzICRrZXkgPT4gJHZhbHVlICkKICAgICAgewoJc3dpdGNoKCAka2V5ICkKCSAgewoJICBjYXNlICdwcm9wJzoKCSAgICAkcHJvcCA9ICR2YWx1ZTsKCSAgICBicmVhazsKCgkgIGNhc2UgJ3Byb3B2YWwnOgoJICAgICRwcm9wdmFsID0gJHZhbHVlOwoJICAgIGJyZWFrOwoKCSAgY2FzZSAnYXNzaWduJzoKCSAgICAkYXNzaWduID0gJHZhbHVlOwoJICAgIGJyZWFrOwoKCSAgY2FzZSAncmVzdWx0cGFnZSc6CgkgICAgJHRtcCA9ICR0aGlzLT5yZXNvbHZlX2FsaWFzX29yX2lkKCR2YWx1ZSk7CgkgICAgaWYoICR0bXAgICkKCSAgICAgIHsKCQkkcmV0dXJuaWQgPSAkdG1wOwoJICAgICAgfQoJICAgIGJyZWFrOwoJICAgIAoJICBjYXNlICdpbmxpbmUnOgoJICAgIGlmKCAkdmFsdWUgKQoJICAgICAgewoJCSRpbmxpbmUgPSAxOwoJICAgICAgfQoJICAgIGJyZWFrOwoKCSAgZGVmYXVsdDoKCSAgICAkcGFybXNbJGtleV0gPSAkdmFsdWU7CgkgICAgYnJlYWs7CgkgIH0KICAgICAgfQoKICAgICR0bXAgPSBleHBsb2RlKCcsJywkcHJvcHZhbCk7CiAgICAkZGF0YSA9ICcnOwogICAgaWYoIGNvdW50KCR0bXApID4gMSApCiAgICAgIHsKCSRwYXJtc1sndXNlbGlrZSddID0gMTsKCSRkYXRhID0gYXJyYXkoKTsKCWZvcmVhY2goICR0bXAgYXMgJG9uZSApCgkgIHsKCSAgICAkZGF0YVtdID0gJHRoaXMtPkNyZWF0ZVByb3BlcnR5U3VtbWFyeVVSTCgnbTEnLCRyZXR1cm5pZCwkcHJvcCwkb25lLCRwYXJtcywkaW5saW5lKTsKCSAgfQogICAgICB9CiAgICBlbHNlCiAgICAgIHsKCSRkYXRhID0gJHRoaXMtPkNyZWF0ZVByb3BlcnR5U3VtbWFyeVVSTCgnbTEnLCRyZXR1cm5pZCwkcHJvcCwkcHJvcHZhbCwkcGFybXMsJGlubGluZSk7CiAgICAgIH0KICAgIGlmKCAkYXNzaWduICE9ICcnICkKICAgICAgewoJJHNtYXJ0eS0+YXNzaWduKCRhc3NpZ24sJGRhdGEpOwoJcmV0dXJuOwogICAgICB9CiAgICByZXR1cm4gJGRhdGE7CiAgfQp9IC8vIGNsYXNzCgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/changelog.inc</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHVsPgo8bGk+VmVyc2lvbiAxLjAgLSBKYW51YXJ5LCAyMDA5CiAgPHA+SW5pdGlhbCBSZWxlYXNlPC9wPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjEKICA8cD5BZGRzIHNlYXJjaCBhbmQgYnJvd3NlIGNhcGFiaWxpdGllcy48L3A+CjwvbGk+CjxsaT5WZXJzaW9uIDEuMS4xIC0gU2VwdGVtYmVyLCAyMDA5CiAgPHA+QWRkcyBzb3J0aW5nIGluIHRoZSBicm93c2UgYWN0aW9uLjwvcD4KPC9saT4KPGxpPlZlcnNpb24gMS4xLjIgLSBTZXB0ZW1iZXIsIDIwMDkKICA8cD5GaXggcGFyYW1ldGVyIGNvbmZsaWN0IHdydCBzb3J0aW5nIGluIHRoZSBicm93c2UgYWN0aW9uLjwvcD4KPC9saT4KPGxpPlZlcnNpb24gMS4xLjMgLSBPY3RvYmVyLCAyMDA5CiAgPHA+TWlub3IgYnVnIGZpeC48L3A+CjwvbGk+CjxsaT5WZXJzaW9uIDEuMS40IC0gT2N0b2JlciwgMjAwOQogIDxwPk1pbm9yIGJ1ZyBmaXguPC9wPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjEuNCAtIE9jdG9iZXIsIDIwMDkKICA8cD5BZGQgbWlzc2luZyBsYW5nIHN0cmluZy48L3A+CjwvbGk+CjxsaT5WZXJzaW9uIDEuMS41IC0gTm92ZW1iZXIsIDIwMDkKICA8cD5NaW5vciBidWcgZml4ZXMuPC9wPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjEuNiAtIE1hcmNoLCAyMDEwCiAgPHA+QWRkIHRoZSBhYmlsaXR5IHRvIHNvcnQgYnkgdXNlciBwcm9wZXJ0eSBpbiBzdW1tYXJ5IHZpZXc8L3A+CjwvbGk+CjxsaT5WZXJzaW9uIDEuMiAtIE1hcmNoLCAyMDEwCiAgPHA+QWRkcyB0aGUgYWJpbGl0eSB0byBzZWFyY2ggYnkgdHdvIHVzZXIgZGVmaW5lZCBwcm9wZXJ0aWVzIGluIHRoZSBzZWFyY2ggYWN0aW9uLjwvcD4KICA8cD5BZGRzIG51bWVyaWNhbCBvcHRpb25zIHRvIHRoZSBkaXJlY3Rvcnkgdmlldy48L3A+CjwvbGk+CjxsaT5WZXJzaW9uIDEuMi4xIC0gTWFyY2gsIDIwMTAKICA8cD5Nb2RpZmllcyB0aGUgc2VhcmNocHJvcGVydHkgZmllbGQgdG8gc3VwcG9ydCBhIGxpc3Qgb2YgcHJvcGVydHkgbmFtZXMuPC9wPgogIDxwPkNvbXBsZXRlbHkgYnJlYWtzIGV4aXN0aW5nIHNlYXJjaCBmb3JtIHRlbXBsYXRlcy48L3A+CiAgPHA+UmVtb3ZlcyB0aGUgc2hvcnQgbGl2ZWQgc2VhcmNocHJvcGVydHkyIHBhcmFtLjwvcD4KPC9saT4KPGxpPlZlcnNpb24gMS4yLjIgLSBKdW5lLCAyMDEwCiAgPHA+Rml4ZXMgYSBtaW5vciBidWcgd2l0aCB0aGUgc2hvd2V4cGlyZWQgZmxhZy48L3A+CjwvbGk+CjxsaT5WZXJzaW9uIDEuMi4zIC0gSnVseSwgMjAxMAogIDxwPkZpeGVzIGEgbWlub3IgYnVnIHdpdGggdGhlIGJyb3dzZSBhY3Rpb24uPC9wPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjIuNCAtIEF1Z3VzdCwgMjAxMAogIDxwPkZpeGVzIGEgbWlub3IgYnVnIHdpdGggdGhlIGJyb3dzZSBhY3Rpb24gYW5kIHVzZWxpa2UuLi48L3A+CjwvbGk+CjxsaT5WZXJzaW9uIDEuMi42IC0gU2VwdGVtYmVyLCAyMDExCiAgPHA+T3B0aW1pemF0aW9ucyBhbmQgYnVnIGZpeGVzLjwvcD4KPC9saT4KPC91bD4K]]></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[PD9waHAKI0EKJGxhbmdbJ2FkZGVkaXRfYnJvd3NlcHJvcF90ZW1wbGF0ZSddID0gJ0FkZC9FZGl0IEJyb3dzZSBQcm9wZXJ0eSBUZW1wbGF0ZSc7CiRsYW5nWydhZGRlZGl0X2RldGFpbF90ZW1wbGF0ZSddID0gJ0FkZC9FZGl0IERldGFpbCBUZW1wbGF0ZSc7CiRsYW5nWydhZGRlZGl0X2RpcmVjdG9yeV90ZW1wbGF0ZSddID0gJ0FkZC9FZGl0IERpcmVjdG9yeSBUZW1wbGF0ZSc7CiRsYW5nWydhZGRlZGl0X3NlYXJjaGZvcm1fdGVtcGxhdGUnXSA9ICdBZGQvRWRpdCBTZWFyY2ggRm9ybSBUZW1wbGF0ZSc7CiRsYW5nWydhZGRlZGl0X3N1bW1hcnlfdGVtcGxhdGUnXSA9ICdBZGQvRWRpdCBTdW1tYXJ5IFRlbXBsYXRlJzsKJGxhbmdbJ2FsbCddID0gJ0FsbCc7CiRsYW5nWydhbnknXSA9ICdBbnknOwokbGFuZ1snYXNrX3JlYWxseV91bmluc3RhbGwnXSA9ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZG8gdGhpcz8gIENvbnRpbnVpbmcgd2lsbCBwZXJtYW5lbnRseSBkZWxldGUgYWxsIGRhdGEgYXNzb2NpYXRlZCB3aXRoIHRoaXMgbW9kdWxlJzsKCiNCCgoKI0MKJGxhbmdbJ2NyZWF0ZWQnXSA9ICdDcmVhdGVkJzsKCiNECgoKI0UKJGxhbmdbJ2Vycm9yX2ludmFsaWRncm91cCddID0gJ0ludmFsaWQgZ3JvdXAnOwokbGFuZ1snZXJyb3JfaW52YWxpZHNvcnRmaWVsZCddID0gJ0ludmFsaWQgc29ydCBmaWVsZDogJXMnOwokbGFuZ1snZXJyb3JfbWlzc2luZ3BhcmFtJ10gPSAnSW5zdWZmaWNpZW50IFBhcmFtZXRlcnMnOwokbGFuZ1snZXJyb3Jfbm9mZXUnXSA9ICdUaGUgRnJvbnRlbmQgVXNlcnMgbW9kdWxlIGNvdWxkIG5vdCBiZSBmb3VuZCc7CiRsYW5nWydlcnJvcl91c2Vybm90Zm91bmQnXSA9ICdUaGUgdXNlciB3aXRoIHRoZSBzcGVjaWZpZWQgaWQgY291bGQgbm90IGJlIGZvdW5kJzsKJGxhbmdbJ2V4cGlyZXMnXSA9ICdFeHBpcmVzJzsKCiNGCiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdDYWxndXlzIFVzZXIgRGlyZWN0b3J5JzsKCiNHCiRsYW5nWydncm91cHMnXSA9ICdHcm91cHMnOwoKI0gKJGxhbmdbJ2hlbHAnXSA9IDw8PEVPVAo8aDM+V2hhdCBkb2VzIHRoaXMgZG8/PC9oMz4KICA8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyB0aGUgYWJpbGl0eSBmb3IgZ2VuZXJhdGluZyBhIGRpcmVjdG9yeSBvZiB1c2VycyBmcm9tIHRoZSBGRVUgbW9kdWxlLCBmb3IgZ2VuZXJhdGluZyBhIHN1bW1hcnkgdmlldyBvZiB1c2VycyBtYXRjaGluZyBzcGVjaWZpZWQgY3JpdGVyaWEsIGFuZCBmb3IgZGlzcGxheWluZyBhIGRldGFpbCByZXBvcnQgb2YgYSBzcGVjaWZpYyB1c2VyLiAgSXQgY2FuIGJlIHVzZWQgZm9yIGdlbmVyYXRpbmcgcHJvZmlsZSBwYWdlcyBmb3IgeW91ciB1c2Vycywgb3IgYSBzdGFmZiBkaXJlY3RvcnkuPC9wPgo8aDM+RmVhdHVyZXM6PC9oMz4KPHVsPgogIDxsaT5Db21wbGV0ZSB0ZW1wbGF0ZSBjb250cm9sCjxwPkFsbCBkaXNwbGF5cyBhcmUgY29tcGxldGVseSBjb25maWd1cmFibGUgYnkgdGVtcGxhdGVzIGFsbG93aW5nIGZvciBqYXZhc2NyaXB0LCBhamF4LCBvciBhbnkgb3RoZXIgZmFuY3kgZGlzcGxheXMuICBTdHlsaW5nIGlzIGNvbXBsZXRlbHkgY29udHJvbGxhYmxlIGJ5IHRoZSB3ZWJzaXRlIGRldmVsb3Blci48L3A+CiAgPC9saT4KICA8bGk+TXVsdGlwbGUgZGF0YWJhc2UgdGVtcGxhdGVzLgo8cD5Zb3UgY2FuIGNvbmZpZ3VyZSBtdWx0aXBsZSBkaWZmZXJlbnQgdmlld3MgZm9yIGVhY2ggZGlzcGxheSwgYW5kIHVzZSB0aGVtIHVuZGVyIGRpZmZlcmVudCBzaXR1YXRpb25zLjwvcD4KICA8L2xpPgo8bGk+RmlsdGVyIHN1bW1hcnkgdmlld3Mgb24gdXNlciBwcm9wZXJ0aWVzLgogICA8cD5Zb3UgY2FuIGZpbHRlciB0aGUgb3V0cHV0IGZvciB0aGUgc3VtbWFyeSB2aWV3IGJhc2VkIG9uIHRoZSB2YWx1ZSBvZiBhIHNwZWNpZmljIHVzZXIgcHJvcGVydHkgZnJvbSB0aGUgRkVVIG1vZHVsZS4gIFRoaXMgYWxzbyBpbmNsdWRlcyAmcXVvdDtMSUtFJnF1b3Q7IGJhc2VkIGNyaXRlcmEuCiAgPC9saT4KICA8bGk+U29ydGluZyBvbiBtdWx0aXBsZSBkaWZmZXJlbnQgY3JpdGVyaWEuPC9saT4KICA8bGk+U3VwcG9ydHMgU0VPIGZyaWVuZGx5IFVSTFM8L2xpPgo8L3VsPgo8aDM+SG93IGRvIEkgdXNlIGl0PzwvaDM+CjxwPlRoZSBzaW1wbGVzdCB3YXkgdG8gdXNlIHRoaXMgbW9kdWxlIGlzIHRvIHBsYWNlIGEgdGFnIGxpa2UgdGhpcyBpbnRvIHlvdXIgcGFnZSB0ZW1wbGF0ZSwgb3IgcGFnZSBjb250ZW50IDxjb2RlPntDR1VzZXJEaXJlY3Rvcnl9PC9jb2RlPi4gIFRvIGV4cGFuZCBvbiB0aGlzIGZ1bmN0aW9uYWxpdHksIG9yIHRvIGRpc3BsYXkgYSBzdWJzZXQgb2YgeW91ciB1c2Vycywgc2VlIHRoZSBwYXJhbWV0ZXJzIGJlbG93LjwvcD4KPGgzPkV4YW1wbGVzOjwvaDM+Cjx1bD4KPGxpPkRpc3BsYXkgYSBkaXJlY3Rvcnkgb2YgYWxsIHVzZXJzOgo8cD48Y29kZT57Q0dVc2VyRGlyZWN0b3J5IGFjdGlvbj0mcXVvdDtkaXJlY3RvcnkmcXVvdDt9PC9jb2RlPjwvcD4KPC9saT4KPGxpPkRpc3BsYXkgYSBkaXJlY3Rvcnkgb2YgYWxsIHVzZXJzIG9yZ2FuaXplZCBieSBjaXR5Ogo8cD48Y29kZT57Q0dVc2VyRGlyZWN0b3J5IGFjdGlvbj0mcXVvdDtkaXJlY3RvcnkmcXVvdDsgcHJvcD0mcXVvdDtjaXR5JnF1b3Q7fTwvY29kZT48L3A+CjwvbGk+CjxsaT5EaXNwbGF5IGEgc3VtbWFyeSBsaXN0IG9mIGFsbCB1c2VycyBpbiB0aGUgJnF1b3Q7bWVtYmVycyZxdW90OyBncm91cDoKPHA+PGNvZGU+e0NHVXNlckRpcmVjdG9yeSBncm91cD0mcXVvdDttZW1iZXJzJnF1b3Q7fTwvY29kZT48L3A+CjwvbGk+CjxsaT5EaXNwbGF5IGEgc3VtbWFyeSBsaXN0IG9mIGFsbCB1c2VycyBpbiB0aGUgY2l0eSBvZiBjYWxnYXJ5Ogo8cD48Y29kZT57Q0dVc2VyRGlyZWN0b3J5IHByb3A9JnF1b3Q7Y2l0eSZxdW90OyBwcm9wdmFsPSZxdW90O2NhbGdhcnkmcXVvdDt9PC9jb2RlPjwvcD4KPC9saT4KPGxpPkRpc3BsYXkgYSBzdW1tYXJ5IGxpc3Qgb2YgYWxsIHVzZXJzIGZyb20gY291bnRyaWVzIHRoYXQgYmVnaW4gd2l0aCBDOgo8cD48Y29kZT57Q0dVc2VyRGlyZWN0b3J5IHByb3A9JnF1b3Q7Y2l0eSZxdW90OyB1c2VsaWtlPTEgcHJvcHZhbD0mcXVvdDtjJSZxdW90O308L2NvZGU+PC9wPgo8L2xpPgoKPC91bD4KCjxoMz5Ob3RlcyBhYm91dCBwcmV0dHkgVVJMUzwvaDM+CjxwPiZxdW90O1ByZXR0eSZxdW90OyBvciBTRU8gZnJpZW5kbHkgVVJMUyBsaW1pdHMgdGhlIGZsZXhpYmlsaXR5IG9mIHRoaXMgbW9kdWxlLCBhbmQgdGhlIHBhcmFtZXRlcnMgdGhhdCBjYW4gYmUgc3BlY2lmaWVkIG9uIHRoZSB0YWcuIFBhcnRpY3VsYXJseSB0aG9zZSB0aGF0IGNhbiBiZSBwYXNzZWQgb24gdG8gc3Vic2VxdWVudCB2aWV3cy4gIEZvciB0aGlzIHJlYXNvbiwgdGhlIGRpcmVjdG9yeSB2aWV3IGRvZXMgbm90IGdlbmVyYXRlIHByZXR0eSB1cmxzIHRvIHRoZSBzdWJzZXF1ZW50IHN1bW1hcnkgbGlua3MuICBUaGlzIGFsbG93cyBwYXJhbWV0ZXJzIGxpa2UgZGV0YWlscGFnZSwgZGV0YWlsdGVtcGxhdGUsIGFuZCBzdW1tYXJ5dGVtcGxhdGUgdG8gYmUgcGFzc2VkIGluIHRoZSB0YWcgdG8gdGhlIGRpcmVjdG9yeSB2aWV3IGFuZCB0byBoYXZlIHRob3NlIHBhcmFtZXRlcnMgcGFzc2VkIGRvd24gdG8gdGhlIHN1YnNlcXVlbnQgc3VtbWFyeSBkZXRhaWwgdmlld3MuPC9wPgo8L3A+CjxoMz5TdXBwb3J0PC9oMz4KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPgo8dWw+CjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgdGhlIGNtcyBkZXZlbG9wbWVudCBmb3JnZSBhdCA8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnIj5kZXYuY21zbWFkZXNpbXBsZS5vcmc8L2E+LjwvbGk+CjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAgYWxsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zIj5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+CjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvcihzKSBkaXJlY3RseS48L2xpPiAgCjwvdWw+Cgo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA4LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+Jmx0O2NhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcmZ3Q7PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPgo8cD5UaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQppdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQp0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgooYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLjwvcD4KPHA+SG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCmFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQppbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCk1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+CjxwPlRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLApidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCkZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCk9yIHJlYWQgaXQgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5vbmxpbmU8L2E+PC9wPgpFT1Q7CiRsYW5nWydoZWxwX3BhcmFtX2FjdGlvbiddID0gJ1RoaXMgcGFyYW1ldGVyIGNvbnRyb2xzIHRoZSBiZWhhdmlvdXIgb2YgdGhlIG1vZHVsZS4gIFRoZXJlIGFyZSB0aHJlZSBwb3NzaWJsZSB2YWx1ZXM6Cjx1bD4KICA8bGk+YnJvd3NlICAtIERpc3BsYXkgYSBuYXZpZ2F0aW9uIG9mIHByb3BlcnR5IHZhbHVlcywgYW5kIGFsbG93IGRyaWxsaW5nIGRvd24gdG8gbWF0Y2hpbmcgc3VtbWFyeSB2aWV3cy48L2xpPgogIDxsaT5kZWZhdWx0IC0gRGlzcGxheXMgYSBzdW1tYXJ5IHZpZXcgb2YgdXNlcnMgdGhhdCBtYXRjaCB0aGUgc3BlY2lmaWVkIGNyaXRlcmlhLCBvciBhbGwgdXNlcnMgaWYgbm8gY3JpdGllcmlhIGlzIHNwZWNpZmllZC48L2xpPgogIDxsaT5kaXJlY3RvcnkgLSBEaXNwbGF5cyBhbiBhbHBoYWJldGljYWwgZGlyZWN0b3J5IG9mIGxpbmtzIHRvIHN1bW1hcnkgdmlld3MgdG8gdXNlcnMgdGhhdCBtYXRjaCB0aGUgc3BlY2lmaWVkIGNyaXRlcmlhLiAgSXQgaXMgcG9zc2libGUgdG8gY3JlYXRlIGRpcmVjdG9yeSB2aWV3cyBvbiB1c2VybmFtZSwgb3Igb24gYW55IG90aGVyIHBhcmFtZXRlcjwvbGk+CiAgPGxpPmRldGFpbCAtIERpc3BsYXlzIGEgZGV0YWlsIHJlcG9ydCBhYm91dCBhIHNwZWNpZmljIHVzZXIuPC9saT4KICA8bGk+c2VhcmNoIC0gRGlzcGxheXMgYSBzZWFyY2ggZm9ybS48L2xpPgo8L3VsPic7CiRsYW5nWydoZWxwX3BhcmFtX2Jyb3dzZXByb3B0ZW1wbGF0ZSddID0gJ1RoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgYnJvd3NlIHByb3BlcnR5IHRlbXBsYXRlIG5hbWUgdG8gdXNlIGZvciBhIHByb3BlcnR5IGJyb3dzaW5nIHZpZXcnOwokbGFuZ1snaGVscF9wYXJhbV9ncm91cCddID0gJ1VzZWQgd2l0aCB0aGUgZGVmYXVsdCBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNob3VsZCBjb250YWluIHRoZSBuYW1lIG9mIGFuIEZFVSB1c2VyIGdyb3VwLCBhbmQgd2lsbCBsaW1pdCB0aGUgb3V0cHV0IHRvIG1lbWJlcnMgb2YgdGhhdCBncm91cCc7CiRsYW5nWydoZWxwX3BhcmFtX2dpZCddID0gJ1VzZWQgd2l0aCB0aGUgZGVmYXVsdCBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNob3VsZCBjb250YWluIHRoZSBpZCBvZiBhbiBGRVUgdXNlciBncm91cCwgYW5kIHdpbGwgbGltaXQgdGhlIG91dHB1dCB0byBtZW1iZXJzIG9mIHRoYXQgZ3JvdXAuICBUaGlzIHBhcmFtZXRlciBjYW5ub3QgYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBncm91cCBwYXJhbWV0ZXIuJzsKJGxhbmdbJ2hlbHBfcGFyYW1fc2hvd2V4cGlyZWQnXSA9ICdCeSBkZWZhdWx0LCB0aGUgc3lzdGVtIHdpbGwgZXhjbHVkZSBleHBpcmVkIHVzZXJzIGZyb20gYW55IGdlbmVyYXRlZCByZXBvcnQuICBTZXR0aW5nIHRoaXMgcGFyYW1ldGVyIHRvIDEgd2lsbCBpbmNsdWRlIHRoZXNlIHVzZXJzLic7CiRsYW5nWydoZWxwX3BhcmFtX2Jzb3J0YnknXSA9ICdVc2VkIGZvciB0aGUgYnJvd3NlIGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoZSBzb3J0IG9yZGVyIG9mIHRoZSBnZW5lcmF0ZWQgcHJvcGVydHkgb3V0cHV0LiAgUG9zc2libGUgdmFsdWVzIGFyZToKPHVsPgogIDxsaT5uYW1lIC0gdGhlIHByb3BlcnR5IG5hbWUuPC9saT4KICA8bGk+Y291bnQgLSB0aGUgbnVtYmVyIG9mIG1hdGNoZXMuPC9saT4KPC91bD4nOwokbGFuZ1snaGVscF9wYXJhbV9zcGFyc2UnXSA9ICdBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIGRpcmVjdG9yeSB2aWV3IHRoaXMgb3B0aW9uIHdpbGwgb25seSBzaG93IGEgZGlyZWN0b3J5ICBsZXR0ZXIgZm9yIHdoaWNoIHRoZXJlIGFyZSBtYXRjaGluZyB1c2Vycy4nOwokbGFuZ1snaGVscF9wYXJhbV9yZXN1bHRwYWdlJ10gPSAnVXNlZCBmb3IgdGhlIHNlYXJjaCwgYW5kIGJyb3dzZSBhY3Rpb25zLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgd2hpY2ggQ01TTVMgY29udGVudCBwYWdlIHNob3VsZCBiZSB1c2VkIHRvIGRpc3BsYXkgdGhlIG1hdGNoaW5nIGFydGljbGVzIGZyb20gdGhlIGZpbHRlciBvcGVyYXRpb24uJzsKJGxhbmdbJ2hlbHBfcGFyYW1fc29ydGJ5J10gPSAnVXNlZCBmb3IgdGhlIGRlZmF1bHQgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIHNvcnRpbmcgb2YgdGhlIGdlbmVyYXRlZCBzdW1tYXJ5IG91dHB1dC4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6Cjx1bD4KIDxsaT5pZCAtIFRoZSB1c2VycyBpZCAoZGVmYXVsdCB2aWV3IG9ubHkpPC9saT4KIDxsaT51c2VybmFtZSAtIFRoZSB1c2VycyB1c2VybmFtZSAoZGVmYXVsdCB2aWV3IG9ubHkpPC9saT4KIDxsaT5jcmVhdGVkYXRlIC0gVGhlIGRhdGUgYXQgd2hpY2ggdGhlIHVzZXIgYWNjb3VudCB3YXMgY3JlYXRlZC4gKGRlZmF1bHQgdmlldyBvbmx5KTwvbGk+CiA8bGk+ZXhwaXJlcyAtIFRoZSBkYXRlIGF0IHdoaWNoIHRoZSB1c2VyIGFjY291bnQgd2lsbCBleHBpcmUgKG9yIGRpZCBleHBpcmUpLiAoZGVmYXVsdCB2aWV3IG9ubHkpPC9saT4KIDxsaT5hY3Rpdml0eSAtIFRoZSBkYXRlIGF0IHdoaWNoIHRoZSB1c2VyIGFjY291bnQgd2FzIGxhc3QgbG9nZ2VkIGluIG9yIGxvZ2dlZCBvdXQuIChkZWZhdWx0IHZpZXcgb25seSk8L2xpPgogPGxpPmY6cHJvcGVydHluYW1lIC0gVGhpcyBhbGxvd3Mgc29ydGluZyB0aGUgb3V0cHV0IGJ5IGEgc3BlY2lmaWVkIEZFVSBwcm9wZXJ0eSBuYW1lLiBpLmU6IGY6ZnVsbF9uYW1lLiAgPHN0cm9uZz5Ob3RlOjwvc3Ryb25nPiB5b3UgbWF5IGV4cGVyaWVuY2UgdW5leHBlY3RlZCByZXN1bHRzIGlmIHRoZSBncm91cCBiZWluZyBkaXNwbGF5ZWQgZG9lcyBub3QgaGF2ZSB0aGF0IHByb3BlcnR5LCBvciBub3QgZXZlcnkgdXNlciBpbiB0aGUgcmVzdWx0aW5nIHNldCBoYXMgdGhhdCBwcm9wZXJ0eSBkZWZpbmVkLiAgQWxzbywgeW91IG1heSBleHBlcmllbmNlIHVuZXhwZWN0ZWQgcmVzdWx0cyBpZiB0aGUgZmllbGQgc3BlY2lmaWVkIGlzIG5vdCBhIHRleHQgc3RyaW5nLiAgWW91IG1heSBoYXZlIHRvIGFkanVzdCB0aGUgc29ydG9yZGVyIHBhcmFtZXRlciB0byBnZXQgdGhlIGRlc2lyZWQgb3V0cHV0PC91bD4nOwokbGFuZ1snaGVscF9wYXJhbV9ic29ydG9yZGVyJ10gPSAnVXNlZCBmb3IgdGhlIGJyb3dzZSBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgc29ydCBvcmRlciBvZiB0aGUgZ2VuZXJhdGVkIG91dHB1dC4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6Cjx1bD4KICA8bGk+QVNDIC0gQXNjZW5kaW5nIG9yZGVyPC9saT4KICA8bGk+REVTQyAtIERlc2NlbmRpbmcgb3JkZXI8L2xpPgo8L3VsPic7CiRsYW5nWydoZWxwX3BhcmFtX3NvcnRvcmRlciddID0gJ1VzZWQgZm9yIHRoZSBkZWZhdWx0IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoZSBzb3J0IG9yZGVyIG9mIHRoZSBnZW5lcmF0ZWQgb3V0cHV0LiAgUG9zc2libGUgdmFsdWVzIGFyZToKPHVsPgogIDxsaT5BU0MgLSBBc2NlbmRpbmcgb3JkZXI8L2xpPgogIDxsaT5ERVNDIC0gRGVzY2VuZGluZyBvcmRlcjwvbGk+CjwvdWw+JzsKJGxhbmdbJ2hlbHBfcGFyYW1fcGFnZWxpbWl0J10gPSAnVXNlZCBmb3IgdGhlIGRlZmF1bHQgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIG1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRvIGJlIHJldHVybmVkLic7CiRsYW5nWydoZWxwX3BhcmFtX3Byb3AnXSA9ICdVc2VkIGZvciB0aGUgZGVmYXVsdCxicm93c2UgYW5kIGRpcmVjdG9yeSBhY3Rpb25zLCB0aGlzIHBhcmFtZXRlciBiZWhhdmVzIGluIHR3byBkaWZmZXJlbnQgd2F5cyBkZXBlbmRpbmcgdXBvbiB0aGUgYWN0aW9uOgo8dWw+CiAgPGxpPlRoZSBkZWZhdWx0IChzdW1tYXJ5KSBhY3Rpb24KICAgIDxwPkluIHRoZSBkZWZhdWx0IChzdW1tYXJ5KSBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgYSBwcm9wZXJ0eSB0byBmaWx0ZXIgdGhlIHJlc3VsdHMgYnkuICBJdCB3b3JrcyBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBwcm9wdmFsIHBhcmFtZXRlciBiZWxvdy48L3A+CiAgPC9saT4KICA8bGk+VGhlIGJyb3dzZSBhY3Rpb24KICAgIDxwPkluIHRoZSBicm93c2UgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IGFuIEZFVSBwcm9wZXJ0eSB0byBicm93c2U8L3A+CiAgPC9saT4KICA8bGk+VGhlIGRpcmVjdG9yeSBhY3Rpb24uCiAgICA8cD5JbiB0aGUgZGlyZWN0b3J5IGFjdGlvbiwgdGhpcyBhcHJhbWV0ZXIgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSBhIHByb3BlcnR5IHRvIGdlbmVyYXRlIGEgZGlyZWN0b3J5IGZyb20uICAgVGhlIGRlZmF1bHQgdmFsdWUgaW4gdGhlIGRpcmVjdG9yeSBhY3Rpb24gaXMgJnF1b3Q7dXNlcm5hbWUmcXVvdGU7PC9wPgogIDwvbGk+CjwvdWw+JzsKJGxhbmdbJ2hlbHBfcGFyYW1fcHJvcHZhbCddID0gJ1VzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgJnF1b3Q7cHJvcCZxdW90OyBwYXJhbWV0ZXIgZm9yIHRoZSBkZWZhdWx0IChzdW1tYXJ5KSBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgdmFsdWUgb24gd2hpY2ggdG8gZmlsdGVyIHVzZXJzIGJ5Lic7CiRsYW5nWydoZWxwX3BhcmFtX3VzZWxpa2UnXSA9ICdVc2VkIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlICZxdW90O3Byb3AmcXVvdCBhbmQgJnF1b3Q7cHJvcHZhbCZxdW90OyBwYXJhbWV0ZXJzLCB0aGlzIHBhcmFtZXRlciwgaWYgc2V0IHRvIGEgcG9zaXRpdmUgaW50ZWdlciB2YWx1ZSBpbmRpY2F0ZXMgdGhhdCB0aGUgcHJvcHZhbCBwYXJhbWV0ZXIgY29udGFpbnMgYSBMSUtFIGV4cHJlc3Npb24nOwokbGFuZ1snaGVscF9wYXJhbV9kZXRhaWxwYWdlJ10gPSAnVGhpcyBwYXJhbWV0ZXIsIGlmIHNwZWNpZmllZCwgc2hvdWxkIGNvbnRhaW4gdGhlIHBhZ2VpZCBvciBhbGlhcyBvZiBhIENNUyBjb250ZW50IHBhZ2Ugb24gd2hpY2ggeW91IHdvdWxkIGxpa2UgdG8gc2hvdyBhbnkgZGV0YWlsIHJlcG9ydCc7CiRsYW5nWydoZWxwX3BhcmFtX3N1bW1hcnl0ZW1wbGF0ZSddID0gJ1RoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgc3VtbWFyeSB0ZW1wbGF0ZSBuYW1lIHRvIHVzZSBmb3Igc3VtbWFyeSBkaXNwbGF5cyc7CiRsYW5nWydoZWxwX3BhcmFtX2RldGFpbHRlbXBsYXRlJ10gPSAnVGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBub24gZGVmYXVsdCBkZXRhaWwgdGVtcGxhdGUgbmFtZSB0byB1c2UgZm9yIGRldGFpbCBkaXNwbGF5cyc7CiRsYW5nWydoZWxwX3BhcmFtX2RpcmVjdG9yeXRlbXBsYXRlJ10gPSAnVGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBub24gZGVmYXVsdCBkaXJlY3RvcnkgdGVtcGxhdGUgbmFtZSB0byB1c2Ugd2l0aCBkaXJlY3RvcnkgZGlzcGxheXMnOwokbGFuZ1snaGVscF9wYXJhbV9zZWFyY2hmb3JtdGVtcGxhdGUnXSA9ICdUaGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IHNlYXJjaCB0ZW1wbGF0ZSBuYW1lIHRvIHVzZSBpbiBzZWFyY2ggZm9ybXMnOwokbGFuZ1snaGVscF9wYXJhbV9zZWFyY2hwcm9wZXJ0eSddID0gJ1RoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgc2luZ2xlIG9yIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIGFkZGl0aW9uYWwgRkVVIHByb3BlcnR5IG5hbWVzIHRvIHN1cHBseSBpbiB0aGUgc2VhcmNoIGZvcm0nOwokbGFuZ1snaGVscF9wYXJhbV91aWQnXSA9ICdVc2VkIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlIGRldGFpbCBkaXNwbGF5LCB0aGlzIHBhcmFtZXRlciBtdXN0IGNvbnRhaW4gdGhlIHVpZCBvZiBhIHZhbGlkIGZyb250ZW5kIHVzZXIgYWNjb3VudCc7CgojSQokbGFuZ1snaW5mb19icm93c2Vwcm9wX3RlbXBsYXRlJ10gPSAnQnJvd3NlIFByb3BlcnR5IHRlbXBsYXRlcyBkaXNwbGF5IEEgbGlzdCBvZiB1bmlxdWUgdmFsdWVzIGZvciB0aGUgc3BlY2lmaWVkIHByb3BlcnR5LiAgRWFjaCBpdGVtIGluIHRoZSBsaXN0IGlzIGEgbGluayB0byBhIHN1bW1hcnkgdmlldyBjb250YWluaW5nIHRoZSBtYXRjaGluZyB1c2VycyB0aGF0IG1hdGNoIHRoYXQgcHJvcGVydHkgdmFsdWUuICBZb3UgbWF5IHVzZSBhbnkgc21hcnR5IGxvZ2ljIG9yIHZhcmlhYmxlcyB0aGF0IGhhdmUgYmVlbiBjcmVhdGVkIHByZXZpb3VzbHksIG9yIHRoZSBvbmVzIG1hZGUgYXZhaWxhYmlsaXR5IHNwZWNpZmljYWxseSBmb3IgdGhpcyB2aWV3Lic7CiRsYW5nWydpbmZvX2Jyb3dzZXByb3BfdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIHRoZSBsaXN0IG9mIGF2YWlsYWJsZSBicm93c2UgcHJvcGVydHkgdmlldyB0ZW1wbGF0ZXMuICBPbmUgb2YgdGhlbSBpcyBtYXJrZWQgYXMgZGVmYXVsdC4gIFRoZSBkZWZhdWx0IG9uZSB3aWxsIGJlIHVzZWQgd2hlbiBubyBhbHRlcm5hdGUgdGVtcGxhdGUgbmFtZSBpcyBzdXBwbGllZCBvbiB0aGUgdGFnIHRoYXQgY2FsbHMgdGhpcyBtb2R1bGUnOwokbGFuZ1snaW5mb19kZXRhaWxfdGVtcGxhdGUnXSA9ICdEZXRhaWwgdGVtcGxhdGVzIGRpc3BsYXkgZGV0YWlsZWQgaW5mb3JtYXRpb24gYWJvdXQgYSBzcGVjaWZpYyBmcm9udGVuZCB1c2VyLiAgSGVyZSB5b3UgZGVzaWduIHRoZSB3YXkgaW4gd2hpY2ggeW91IHdhbnQgdGhhdCBpbmZvcm1hdGlvbiBsYWlkIG91dC4gIFlvdSBtYXkgdXNlIGFueSBzbWFydHkgbG9naWMgb3IgdmFyaWFibGVzIHRoYXQgaGF2ZSBiZWVuIGRlc2lnbmVkIHByZXZpb3VzbHksIG9yIHRoZSBvbmVzIG1hZGUgYXZhaWxhYmxlIHNwZWNpZmljYWxseSBmb3IgdGhpcyB2aWV3JzsKJGxhbmdbJ2luZm9fZGV0YWlsX3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyB0aGUgbGlzdCBvZiBhdmFpbGFibGUgZGV0YWlsIHZpZXcgdGVtcGxhdGVzLiAgT25lIG9mIHRoZW0gaXMgbWFya2VkIGFzIGRlZmF1bHQuICBUaGUgZGVmYXVsdCBvbmUgd2lsbCBiZSB1c2VkIHdoZW4gbm8gYWx0ZXJuYXRlIHRlbXBsYXRlIG5hbWUgaXMgc3VwcGxpZWQgb24gdGhlIHRhZyB0aGF0IGNhbGxzIHRoaXMgbW9kdWxlJzsKJGxhbmdbJ2luZm9fZGlyZWN0b3J5X3RlbXBsYXRlJ10gPSAnRGlyZWN0b3J5IHRlbXBsYXRlcyBkaXNwbGF5IGFuIGFscGhhYmV0aWNhbCBsaXN0IG9mIGxpbmtzLCB3aGVuIGEgbGluayBpcyBjbGlja2VkIGl0IHdpbGwgZGlzcGxheSBhIHN1bW1hcnkgdmlldyBvZiB0aGUgbWF0Y2hpbmcgdXNlcnMgZm9yIHRoYXQgbGV0dGVyLiAgSXQgaXMgcG9zc2libGUgdG8gY3JlYXRlIGRpcmVjdG9yaWVzIGJhc2VkIG9uIGRpZmZlcmVudCBwcm9wZXJ0aWVzLiAgSGVyZSB5b3UgZGVzaWduIHRoZSB3YXkgaW4gd2hpY2ggeW91IHdhbnQgdGhhdCBpbmZvcm1hdGlvbiBsYWlkIG91dC4gIFlvdSBtYXkgdXNlIGFueSBzbWFydHkgbG9naWMgb3IgdmFyaWFibGVzIHRoYXQgaGF2ZSBiZWVuIGRlc2lnbmVkIHByZXZpb3VzbHksIG9yIHRoZSBvbmVzIG1hZGUgYXZhaWxhYmxlIHNwZWNpZmljYWxseSBmb3IgdGhpcyB2aWV3JzsKJGxhbmdbJ2luZm9fZGlyZWN0b3J5X3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyB0aGUgbGlzdCBvZiBhdmFpbGFibGUgZGlyZWN0b3J5IHRlbXBsYXRlcy4gIE9uZSBvZiB0aGVtIGlzIG1hcmtlZCBhcyBkZWZhdWx0LiAgVGhlIGRlZmF1bHQgb25lIHdpbGwgYmUgdXNlZCB3aGVuIG5vIGFsdGVybmF0ZSB0ZW1wbGF0ZSBuYW1lIGlzIHN1cHBsaWVkIG9uIHRoZSB0YWcgdGhhdCBjYWxscyB0aGlzIG1vZHVsZSc7CiRsYW5nWydpbmZvX3N1bW1hcnlfdGVtcGxhdGUnXSA9ICdTdW1tYXJ5IHRlbXBsYXRlcyBkaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGEgbGlzdCBvZiB1c2VycyB0aGF0IG1hdGNoIGEgY3JpdGVyaWEuICBIZXJlIHlvdSBkZXNpZ24gdGhlIHdheSBpbiB3aGljaCB5b3Ugd2FudCB0aGF0IGluZm9ybWF0aW9uIGxhaWQgb3V0LiAgWW91IG1heSB1c2UgYW55IHNtYXJ0eSBsb2dpYyBvciB2YXJpYWJsZXMgdGhhdCBoYXZlIGJlZW4gZGVzaWduZWQgcHJldmlvdXNseSwgb3IgdGhlIG9uZXMgbWFkZSBhdmFpbGFibGUgc3BlY2lmaWNhbGx5IGZvciB0aGlzIHZpZXcnOwokbGFuZ1snaW5mb19zZWFyY2hmb3JtX3RlbXBsYXRlJ10gPSAnU2VhcmNoIGZvcm0gdGVtcGxhdGVzIGRpc3BsYXkgQSBmb3JtIHRvIGFsbG93IHNlYXJjaGluZyBmb3IgYSBwYXJ0aWN1bGFyIHVzZXIgb3IgZ3JvdXAgb2YgdXNlcnMuICBIZXJlIHlvdSBkZXNpZ24gdGhlIHdheSBpbiB3aGljaCB5b3Ugd2FudCB0aGUgZm9ybSBkaXNwbGF5ZWQuICBZb3UgbWF5IHVzZSBhbnkgc21hcnR5IGxvZ2ljIG9yIHZhcmlhYmxlcyB0aGF0IGhhdmUgYmVlbiBkZXNpZ25lZCBwcmV2aW91c2x5LCBvciB0aGUgb25lcyBtYWRlIGF2YWlsYWJsZSBzcGVjaWZpY2FsbHkgZm9yIHRoaXMgdmlldyc7CiRsYW5nWydpbmZvX3NlYXJjaGZvcm1fdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIHRoZSBsaXN0IG9mIGF2YWlsYWJsZSBzZWFyY2ggZm9ybSB0ZW1wbGF0ZXMuICBPbmUgb2YgdGhlbSBpcyBtYXJrZWQgYXMgZGVmYXVsdC4gIFRoZSBkZWZhdWx0IG9uZSB3aWxsIGJlIHVzZWQgd2hlbiBubyBhbHRlcm5hdGUgdGVtcGxhdGUgbmFtZSBpcyBzdXBwbGllZCBvbiB0aGUgdGFnIHRoYXQgY2FsbHMgdGhpcyBtb2R1bGUnOwokbGFuZ1snaW5mb19zdW1tYXJ5X3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyB0aGUgbGlzdCBvZiBhdmFpbGFibGUgc3VtbWFyeSB0ZW1wbGF0ZXMuICBPbmUgb2YgdGhlbSBpcyBtYXJrZWQgYXMgZGVmYXVsdC4gIFRoZSBkZWZhdWx0IG9uZSB3aWxsIGJlIHVzZWQgd2hlbiBubyBhbHRlcm5hdGUgdGVtcGxhdGUgbmFtZSBpcyBzdXBwbGllZCBvbiB0aGUgdGFnIHRoYXQgY2FsbHMgdGhpcyBtb2R1bGUnOwokbGFuZ1snaW5mb19zeXNkZmx0X2Jyb3dzZXByb3BfdGVtcGxhdGUnXSA9ICdTeXN0ZW0gRGVmYXVsdCBCcm93c2UgUHJvcGVydHkgVmlldyBUZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3N5c2RmbHRfZGV0YWlsX3RlbXBsYXRlJ10gPSAnU3lzdGVtIERlZmF1bHQgRGV0YWlsIFZpZXcgVGVtcGxhdGUnOwokbGFuZ1snaW5mb19zeXNkZmx0X2RpcmVjdG9yeV90ZW1wbGF0ZSddID0gJ1N5c3RlbSBEZWZhdWx0IERpcmVjdG9yeSBUZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3N5c2RmbHRfc2VhcmNoZm9ybV90ZW1wbGF0ZSddID0gJ1N5c3RlbSBEZWZhdWx0IFNlYXJjaCBGb3JtIFRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9zdW1tYXJ5X3RlbXBsYXRlJ10gPSAnU3lzdGVtIERlZmF1bHQgU3VtbWFyeSBWaWV3IFRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF90ZW1wbGF0ZSddID0gJ0FsdGVyaW5nIHRoaXMgdGVtcGxhdGUgd2lsbCBoYXZlIG5vIGltbWVkaWF0ZSBlZmZlY3Qgb24gYW55IG91dHB1dC4gIFRoaXMgZm9ybSBjb250cm9scyB0aGUgdmFsdWUgb2YgdGhlIHRlbXBsYXRlIHRoYXQgaXMgY3JlYXRlZCB3aGVuIHlvdSBjbGljayAmcXVvdDtOZXcgVGVtcGxhdGUmcXVvdDsgaW4gdGhlIGFwcHJvcHJpYXRlIHRlbXBsYXRlIHRhYi4nOwoKCiNKCgoKI0sKCgojTAokbGFuZ1snbGFzdF9hY3RpdmUnXSA9ICdMYXN0IEFjdGl2ZSc7CiRsYW5nWydsYmxfYnJvd3NlcHJvcHRlbXBsYXRlcyddID0gJ0Jyb3dzZSBQcm9wZXJ0eSBUZW1wbGF0ZXMnOwokbGFuZ1snbGJsX2RlZmF1bHR0ZW1wbGF0ZXMnXSA9ICdEZWZhdWx0IFRlbXBsYXRlcyc7CiRsYW5nWydsYmxfZGV0YWlsdGVtcGxhdGVzJ10gPSAnRGV0YWlsIFZpZXcgVGVtcGxhdGVzJzsKJGxhbmdbJ2xibF9kaXJlY3Rvcnl0ZW1wbGF0ZXMnXSA9ICdEaXJlY3RvcnkgVGVtcGxhdGVzJzsKJGxhbmdbJ2xibF9maXJzdF9wYWdlJ10gPSAnR28gdG8gRmlyc3QgUGFnZSc7CiRsYW5nWydsYmxfbGFzdF9wYWdlJ10gPSAnR28gdG8gTGFzdCBQYWdlJzsKJGxhbmdbJ2xibF9uZXh0X3BhZ2UnXSA9ICdHbyB0byBOZXh0IFBhZ2UnOwokbGFuZ1snbGJsX3ByZXZfcGFnZSddID0gJ0dvIHRvIFByZXZpb3VzIFBhZ2UnOwokbGFuZ1snbGJsX3NlYXJjaGZvcm10ZW1wbGF0ZXMnXSA9ICdTZWFyY2ggRm9ybSBUZW1wbGF0ZXMnOwokbGFuZ1snbGJsX3NldHRpbmdzJ10gPSAnU2V0dGluZ3MnOwokbGFuZ1snbGJsX3N1bW1hcnl0ZW1wbGF0ZXMnXSA9ICdTdW1tYXJ5IFZpZXcgVGVtcGxhdGVzJzsKCiNNCiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ0EgbW9kdWxlIGFsbG93aW5nIHNlYXJjaGluZywgYnJvd3NpbmcsIGFuZCB2aWV3aW5nIGRldGFpbHMgYWJvdXQgZnJvbnRlbmQgdXNlcnMnOwoKI04KCgojTwokbGFuZ1snb2YnXSA9ICdPZic7CgojUAokbGFuZ1sncGFnZSddID0gJ1BhZ2UnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdUaGUgQ0dVc2VyRGlyZWN0b3J5IG1vZHVsZSBpcyBub3cgcmVhZHkgZm9yIGNvbmZpZ3VyYXRpb24nOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ1RoZSBDR1VzZXJkaXJlY3RvcnkgbW9kdWxlLCBhbmQgYWxsIGFzc29jaWF0ZWQgZGF0YSBoYXMgYmVlbiB1bmluc3RhbGxlZCBmcm9tIHRoZSBkYXRhYmFzZSc7CgojUQoKCiNSCiRsYW5nWydyZXN1bHRzX2FsbF9hbnknXSA9ICdSZXR1cm4gcmVzdWx0cyB0aGF0IG1hdGNoIGFsbCwgb3IgYW55IG9mIHRoZSBjb25kaXRpb25zIHNwZWNpZmllZCc7CgojUwokbGFuZ1snc3VibWl0J10gPSAnU3VibWl0JzsKCiNUCgoKI1UKJGxhbmdbJ3VzZXJuYW1lJ10gPSAnVXNlcm5hbWUnOwoKI1YKCgojVwoKCiNYCgoKI1kKCgojWgoKPz4K]]></data>
	</file>
	<file>
	  <filename>/lang/ext/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/ext/de_DE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FkZGVkaXRfYnJvd3NlcHJvcF90ZW1wbGF0ZSddID0gJ0hpbnp1ZiZ1dW1sO2dlbi9CZWFyYmVpdGVuIGR1cmNoc3VjaGUgRWlnZW5zY2hhZnRlbi1UZW1wbGF0ZSc7CiRsYW5nWydhZGRlZGl0X2RldGFpbF90ZW1wbGF0ZSddID0gJ0hpbnp1ZiZ1dW1sO2dlbi9CZWFyYmVpdGVuIERldGFpbCBUZW1wbGF0ZSc7CiRsYW5nWydhZGRlZGl0X2RpcmVjdG9yeV90ZW1wbGF0ZSddID0gJ0hpbnp1ZiZ1dW1sO2dlbi9CZWFyYmVpdGVuIFZlcnplaWNobmlzLVRlbXBsYXRlJzsKJGxhbmdbJ2FkZGVkaXRfc2VhcmNoZm9ybV90ZW1wbGF0ZSddID0gJ0hpbnp1ZiZ1dW1sO2dlbi9CZWFyYmVpdGVuIFN1Y2hmb3JtdWxhci1UZW1wbGF0ZSc7CiRsYW5nWydhZGRlZGl0X3N1bW1hcnlfdGVtcGxhdGUnXSA9ICdIaW56dWYmdXVtbDtnZW4vQmVhcmJlaXRlbiBadXNhbW1lbmZhc3N1bmctVGVtcGxhdGUnOwokbGFuZ1snYWxsJ10gPSAnQWxsZSc7CiRsYW5nWydhbnknXSA9ICdCZWxpZWJpZyc7CiRsYW5nWydhc2tfcmVhbGx5X3VuaW5zdGFsbCddID0gJ1NpbmQgU2llIHNpY2hlciwgZGFzcyBkaWVzIHR1biBtJm91bWw7Y2h0ZW4/IEZvcnRzZXR6dW5nIGYmdXVtbDtocnQgenVyIGVuZGcmdXVtbDtsdGlnZW4gTCZvdW1sO3NjaHVuZyBhbGxlciBEYXRlbiBmJnV1bWw7ciBkaWVzZXMgTW9kdWwnOwokbGFuZ1snY3JlYXRlZCddID0gJ0Vyc3RlbGx0JzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRncm91cCddID0gJ1VuZyZ1dW1sO2x0aWdlIEdydXBwZSc7CiRsYW5nWydlcnJvcl9pbnZhbGlkc29ydGZpZWxkJ10gPSAnVW5nJnV1bWw7bHRpZ2VzIFNvcnRpZXJmZWxkOiAlcyc7CiRsYW5nWydlcnJvcl9taXNzaW5ncGFyYW0nXSA9ICdVbnp1cmVpY2hlbmRlIFBhcmFtZXRlcic7CiRsYW5nWydlcnJvcl9ub2ZldSddID0gJ0RhcyBGcm9udGVuZC1CZW51dHplci1Nb2R1bCBrb25udGUgbmljaHQgZ2VmdW5kZW4gd2VyZGVuJzsKJGxhbmdbJ2Vycm9yX3VzZXJub3Rmb3VuZCddID0gJ0RlciBCZW51dHplciBtaXQgZGVyIGFuZ2VnZWJlbmVuIGlkIGtvbm50ZSBuaWNodCBnZWZ1bmRlbiB3ZXJkZW4nOwokbGFuZ1snZXhwaXJlcyddID0gJ0FibCZhdW1sO3VmdCc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdCZW51dHplcnZlcnplaWNobmlzJzsKJGxhbmdbJ2dyb3VwcyddID0gJ0dydXBwZW4nOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IGRvZXMgdGhpcyBkbz88L2gzPg0KICA8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyB0aGUgYWJpbGl0eSBmb3IgZ2VuZXJhdGluZyBhIGRpcmVjdG9yeSBvZiB1c2VycyBmcm9tIHRoZSBGRVUgbW9kdWxlLCBmb3IgZ2VuZXJhdGluZyBhIHN1bW1hcnkgdmlldyBvZiB1c2VycyBtYXRjaGluZyBzcGVjaWZpZWQgY3JpdGVyaWEsIGFuZCBmb3IgZGlzcGxheWluZyBhIGRldGFpbCByZXBvcnQgb2YgYSBzcGVjaWZpYyB1c2VyLiAgSXQgY2FuIGJlIHVzZWQgZm9yIGdlbmVyYXRpbmcgcHJvZmlsZSBwYWdlcyBmb3IgeW91ciB1c2Vycywgb3IgYSBzdGFmZiBkaXJlY3RvcnkuPC9wPg0KPGgzPkZlYXR1cmVzOjwvaDM+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+YnJvd3NlICAtIERpc3BsYXkgYSBuYXZpZ2F0aW9uIG9mIHByb3BlcnR5IHZhbHVlcywgYW5kIGFsbG93IGRyaWxsaW5nIGRvd24gdG8gbWF0Y2hpbmcgc3VtbWFyeSB2aWV3cy48L2xpPg0KICA8bGk+ZGVmYXVsdCAtIERpc3BsYXlzIGEgc3VtbWFyeSB2aWV3IG9mIHVzZXJzIHRoYXQgbWF0Y2ggdGhlIHNwZWNpZmllZCBjcml0ZXJpYSwgb3IgYWxsIHVzZXJzIGlmIG5vIGNyaXRpZXJpYSBpcyBzcGVjaWZpZWQuPC9saT4NCiAgPGxpPmRpcmVjdG9yeSAtIERpc3BsYXlzIGFuIGFscGhhYmV0aWNhbCBkaXJlY3Rvcnkgb2YgbGlua3MgdG8gc3VtbWFyeSB2aWV3cyB0byB1c2VycyB0aGF0IG1hdGNoIHRoZSBzcGVjaWZpZWQgY3JpdGVyaWEuICBJdCBpcyBwb3NzaWJsZSB0byBjcmVhdGUgZGlyZWN0b3J5IHZpZXdzIG9uIHVzZXJuYW1lLCBvciBvbiBhbnkgb3RoZXIgcGFyYW1ldGVyPC9saT4NCiAgPGxpPmRldGFpbCAtIERpc3BsYXlzIGEgZGV0YWlsIHJlcG9ydCBhYm91dCBhIHNwZWNpZmljIHVzZXIuPC9saT4NCiAgPGxpPnNlYXJjaCAtIERpc3BsYXlzIGEgc2VhcmNoIGZvcm0uPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHBfcGFyYW1fYnJvd3NlcHJvcHRlbXBsYXRlJ10gPSAnVGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBub24gZGVmYXVsdCBicm93c2UgcHJvcGVydHkgdGVtcGxhdGUgbmFtZSB0byB1c2UgZm9yIGEgcHJvcGVydHkgYnJvd3Npbmcgdmlldyc7CiRsYW5nWydoZWxwX3BhcmFtX2dyb3VwJ10gPSAnVXNlZCB3aXRoIHRoZSBkZWZhdWx0IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc2hvdWxkIGNvbnRhaW4gdGhlIG5hbWUgb2YgYW4gRkVVIHVzZXIgZ3JvdXAsIGFuZCB3aWxsIGxpbWl0IHRoZSBvdXRwdXQgdG8gbWVtYmVycyBvZiB0aGF0IGdyb3VwJzsKJGxhbmdbJ2hlbHBfcGFyYW1fZ2lkJ10gPSAnVXNlZCB3aXRoIHRoZSBkZWZhdWx0IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc2hvdWxkIGNvbnRhaW4gdGhlIGlkIG9mIGFuIEZFVSB1c2VyIGdyb3VwLCBhbmQgd2lsbCBsaW1pdCB0aGUgb3V0cHV0IHRvIG1lbWJlcnMgb2YgdGhhdCBncm91cC4gIFRoaXMgcGFyYW1ldGVyIGNhbm5vdCBiZSB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlIGdyb3VwIHBhcmFtZXRlci4nOwokbGFuZ1snaGVscF9wYXJhbV9zaG93ZXhwaXJlZCddID0gJ0J5IGRlZmF1bHQsIHRoZSBzeXN0ZW0gd2lsbCBleGNsdWRlIGV4cGlyZWQgdXNlcnMgZnJvbSBhbnkgZ2VuZXJhdGVkIHJlcG9ydC4gIFNldHRpbmcgdGhpcyBwYXJhbWV0ZXIgdG8gMSB3aWxsIGluY2x1ZGUgdGhlc2UgdXNlcnMuJzsKJGxhbmdbJ2hlbHBfcGFyYW1fYnNvcnRieSddID0gJ1VzZWQgZm9yIHRoZSBicm93c2UgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIHNvcnQgb3JkZXIgb2YgdGhlIGdlbmVyYXRlZCBwcm9wZXJ0eSBvdXRwdXQuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOg0KPHVsPg0KICA8bGk+bmFtZSAtIHRoZSBwcm9wZXJ0eSBuYW1lLjwvbGk+DQogIDxsaT5jb3VudCAtIHRoZSBudW1iZXIgb2YgbWF0Y2hlcy48L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscF9wYXJhbV9zcGFyc2UnXSA9ICdBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIGRpcmVjdG9yeSB2aWV3IHRoaXMgb3B0aW9uIHdpbGwgb25seSBzaG93IGEgZGlyZWN0b3J5ICBsZXR0ZXIgZm9yIHdoaWNoIHRoZXJlIGFyZSBtYXRjaGluZyB1c2Vycy4nOwokbGFuZ1snaGVscF9wYXJhbV9yZXN1bHRwYWdlJ10gPSAnVXNlZCBmb3IgdGhlIHNlYXJjaCwgYW5kIGJyb3dzZSBhY3Rpb25zLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgd2hpY2ggQ01TTVMgY29udGVudCBwYWdlIHNob3VsZCBiZSB1c2VkIHRvIGRpc3BsYXkgdGhlIG1hdGNoaW5nIGFydGljbGVzIGZyb20gdGhlIGZpbHRlciBvcGVyYXRpb24uJzsKJGxhbmdbJ2hlbHBfcGFyYW1fc29ydGJ5J10gPSAnVXNlZCBmb3IgdGhlIGRlZmF1bHQgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIHNvcnRpbmcgb2YgdGhlIGdlbmVyYXRlZCBzdW1tYXJ5IG91dHB1dC4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6DQo8dWw+DQogPGxpPmlkIC0gVGhlIHVzZXJzIGlkIChkZWZhdWx0IHZpZXcgb25seSk8L2xpPg0KIDxsaT51c2VybmFtZSAtIFRoZSB1c2VycyB1c2VybmFtZSAoZGVmYXVsdCB2aWV3IG9ubHkpPC9saT4NCiA8bGk+Y3JlYXRlZGF0ZSAtIFRoZSBkYXRlIGF0IHdoaWNoIHRoZSB1c2VyIGFjY291bnQgd2FzIGNyZWF0ZWQuIChkZWZhdWx0IHZpZXcgb25seSk8L2xpPg0KIDxsaT5leHBpcmVzIC0gVGhlIGRhdGUgYXQgd2hpY2ggdGhlIHVzZXIgYWNjb3VudCB3aWxsIGV4cGlyZSAob3IgZGlkIGV4cGlyZSkuIChkZWZhdWx0IHZpZXcgb25seSk8L2xpPg0KIDxsaT5hY3Rpdml0eSAtIFRoZSBkYXRlIGF0IHdoaWNoIHRoZSB1c2VyIGFjY291bnQgd2FzIGxhc3QgbG9nZ2VkIGluIG9yIGxvZ2dlZCBvdXQuIChkZWZhdWx0IHZpZXcgb25seSk8L2xpPg0KIDxsaT5mOnByb3BlcnR5bmFtZSAtIFRoaXMgYWxsb3dzIHNvcnRpbmcgdGhlIG91dHB1dCBieSBhIHNwZWNpZmllZCBGRVUgcHJvcGVydHkgbmFtZS4gaS5lOiBmOmZ1bGxfbmFtZS4gIDxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4geW91IG1heSBleHBlcmllbmNlIHVuZXhwZWN0ZWQgcmVzdWx0cyBpZiB0aGUgZ3JvdXAgYmVpbmcgZGlzcGxheWVkIGRvZXMgbm90IGhhdmUgdGhhdCBwcm9wZXJ0eSwgb3Igbm90IGV2ZXJ5IHVzZXIgaW4gdGhlIHJlc3VsdGluZyBzZXQgaGFzIHRoYXQgcHJvcGVydHkgZGVmaW5lZC4gIEFsc28sIHlvdSBtYXkgZXhwZXJpZW5jZSB1bmV4cGVjdGVkIHJlc3VsdHMgaWYgdGhlIGZpZWxkIHNwZWNpZmllZCBpcyBub3QgYSB0ZXh0IHN0cmluZy4gIFlvdSBtYXkgaGF2ZSB0byBhZGp1c3QgdGhlIHNvcnRvcmRlciBwYXJhbWV0ZXIgdG8gZ2V0IHRoZSBkZXNpcmVkIG91dHB1dDwvdWw+JzsKJGxhbmdbJ2hlbHBfcGFyYW1fYnNvcnRvcmRlciddID0gJ1VzZWQgZm9yIHRoZSBicm93c2UgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIHNvcnQgb3JkZXIgb2YgdGhlIGdlbmVyYXRlZCBvdXRwdXQuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOg0KPHVsPg0KICA8bGk+QVNDIC0gQXNjZW5kaW5nIG9yZGVyPC9saT4NCiAgPGxpPkRFU0MgLSBEZXNjZW5kaW5nIG9yZGVyPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHBfcGFyYW1fc29ydG9yZGVyJ10gPSAnVXNlZCBmb3IgdGhlIGRlZmF1bHQgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIHNvcnQgb3JkZXIgb2YgdGhlIGdlbmVyYXRlZCBvdXRwdXQuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOg0KPHVsPg0KICA8bGk+QVNDIC0gQXNjZW5kaW5nIG9yZGVyPC9saT4NCiAgPGxpPkRFU0MgLSBEZXNjZW5kaW5nIG9yZGVyPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHBfcGFyYW1fcGFnZWxpbWl0J10gPSAnVXNlZCBmb3IgdGhlIGRlZmF1bHQgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIG1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRvIGJlIHJldHVybmVkLic7CiRsYW5nWydoZWxwX3BhcmFtX3Byb3AnXSA9ICdVc2VkIGZvciB0aGUgZGVmYXVsdCxicm93c2UgYW5kIGRpcmVjdG9yeSBhY3Rpb25zLCB0aGlzIHBhcmFtZXRlciBiZWhhdmVzIGluIHR3byBkaWZmZXJlbnQgd2F5cyBkZXBlbmRpbmcgdXBvbiB0aGUgYWN0aW9uOg0KPHVsPg0KICA8bGk+VGhlIGRlZmF1bHQgKHN1bW1hcnkpIGFjdGlvbg0KICAgIDxwPkluIHRoZSBkZWZhdWx0IChzdW1tYXJ5KSBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgYSBwcm9wZXJ0eSB0byBmaWx0ZXIgdGhlIHJlc3VsdHMgYnkuICBJdCB3b3JrcyBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBwcm9wdmFsIHBhcmFtZXRlciBiZWxvdy48L3A+DQogIDwvbGk+DQogIDxsaT5UaGUgYnJvd3NlIGFjdGlvbg0KICAgIDxwPkluIHRoZSBicm93c2UgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IGFuIEZFVSBwcm9wZXJ0eSB0byBicm93c2U8L3A+DQogIDwvbGk+DQogIDxsaT5UaGUgZGlyZWN0b3J5IGFjdGlvbi4NCiAgICA8cD5JbiB0aGUgZGlyZWN0b3J5IGFjdGlvbiwgdGhpcyBhcHJhbWV0ZXIgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSBhIHByb3BlcnR5IHRvIGdlbmVyYXRlIGEgZGlyZWN0b3J5IGZyb20uICAgVGhlIGRlZmF1bHQgdmFsdWUgaW4gdGhlIGRpcmVjdG9yeSBhY3Rpb24gaXMgJnF1b3Q7dXNlcm5hbWUmYW1wO3F1b3RlOzwvcD4NCiAgPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHBfcGFyYW1fcHJvcHZhbCddID0gJ1VzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgJnF1b3Q7cHJvcCZxdW90OyBwYXJhbWV0ZXIgZm9yIHRoZSBkZWZhdWx0IChzdW1tYXJ5KSBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgdmFsdWUgb24gd2hpY2ggdG8gZmlsdGVyIHVzZXJzIGJ5Lic7CiRsYW5nWydoZWxwX3BhcmFtX3VzZWxpa2UnXSA9ICdVc2VkIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlICZxdW90O3Byb3AmcXVvdDsgYW5kICZxdW90O3Byb3B2YWwmcXVvdDsgcGFyYW1ldGVycywgdGhpcyBwYXJhbWV0ZXIsIGlmIHNldCB0byBhIHBvc2l0aXZlIGludGVnZXIgdmFsdWUgaW5kaWNhdGVzIHRoYXQgdGhlIHByb3B2YWwgcGFyYW1ldGVyIGNvbnRhaW5zIGEgTElLRSBleHByZXNzaW9uJzsKJGxhbmdbJ2hlbHBfcGFyYW1fZGV0YWlscGFnZSddID0gJ1RoaXMgcGFyYW1ldGVyLCBpZiBzcGVjaWZpZWQsIHNob3VsZCBjb250YWluIHRoZSBwYWdlaWQgb3IgYWxpYXMgb2YgYSBDTVMgY29udGVudCBwYWdlIG9uIHdoaWNoIHlvdSB3b3VsZCBsaWtlIHRvIHNob3cgYW55IGRldGFpbCByZXBvcnQnOwokbGFuZ1snaGVscF9wYXJhbV9zdW1tYXJ5dGVtcGxhdGUnXSA9ICdUaGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IHN1bW1hcnkgdGVtcGxhdGUgbmFtZSB0byB1c2UgZm9yIHN1bW1hcnkgZGlzcGxheXMnOwokbGFuZ1snaGVscF9wYXJhbV9kZXRhaWx0ZW1wbGF0ZSddID0gJ1RoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgZGV0YWlsIHRlbXBsYXRlIG5hbWUgdG8gdXNlIGZvciBkZXRhaWwgZGlzcGxheXMnOwokbGFuZ1snaGVscF9wYXJhbV9kaXJlY3Rvcnl0ZW1wbGF0ZSddID0gJ1RoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgZGlyZWN0b3J5IHRlbXBsYXRlIG5hbWUgdG8gdXNlIHdpdGggZGlyZWN0b3J5IGRpc3BsYXlzJzsKJGxhbmdbJ2hlbHBfcGFyYW1fc2VhcmNoZm9ybXRlbXBsYXRlJ10gPSAnVGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBub24gZGVmYXVsdCBzZWFyY2ggdGVtcGxhdGUgbmFtZSB0byB1c2UgaW4gc2VhcmNoIGZvcm1zJzsKJGxhbmdbJ2hlbHBfcGFyYW1fc2VhcmNocHJvcGVydHknXSA9ICdUaGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIHNpbmdsZSBvciBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBhZGRpdGlvbmFsIEZFVSBwcm9wZXJ0eSBuYW1lcyB0byBzdXBwbHkgaW4gdGhlIHNlYXJjaCBmb3JtJzsKJGxhbmdbJ2hlbHBfcGFyYW1fdWlkJ10gPSAnVXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBkZXRhaWwgZGlzcGxheSwgdGhpcyBwYXJhbWV0ZXIgbXVzdCBjb250YWluIHRoZSB1aWQgb2YgYSB2YWxpZCBmcm9udGVuZCB1c2VyIGFjY291bnQnOwokbGFuZ1snaW5mb19icm93c2Vwcm9wX3RlbXBsYXRlJ10gPSAnQnJvd3NlIFByb3BlcnR5IHRlbXBsYXRlcyBkaXNwbGF5IEEgbGlzdCBvZiB1bmlxdWUgdmFsdWVzIGZvciB0aGUgc3BlY2lmaWVkIHByb3BlcnR5LiAgRWFjaCBpdGVtIGluIHRoZSBsaXN0IGlzIGEgbGluayB0byBhIHN1bW1hcnkgdmlldyBjb250YWluaW5nIHRoZSBtYXRjaGluZyB1c2VycyB0aGF0IG1hdGNoIHRoYXQgcHJvcGVydHkgdmFsdWUuICBZb3UgbWF5IHVzZSBhbnkgc21hcnR5IGxvZ2ljIG9yIHZhcmlhYmxlcyB0aGF0IGhhdmUgYmVlbiBjcmVhdGVkIHByZXZpb3VzbHksIG9yIHRoZSBvbmVzIG1hZGUgYXZhaWxhYmlsaXR5IHNwZWNpZmljYWxseSBmb3IgdGhpcyB2aWV3Lic7CiRsYW5nWydpbmZvX2Jyb3dzZXByb3BfdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIHRoZSBsaXN0IG9mIGF2YWlsYWJsZSBicm93c2UgcHJvcGVydHkgdmlldyB0ZW1wbGF0ZXMuICBPbmUgb2YgdGhlbSBpcyBtYXJrZWQgYXMgZGVmYXVsdC4gIFRoZSBkZWZhdWx0IG9uZSB3aWxsIGJlIHVzZWQgd2hlbiBubyBhbHRlcm5hdGUgdGVtcGxhdGUgbmFtZSBpcyBzdXBwbGllZCBvbiB0aGUgdGFnIHRoYXQgY2FsbHMgdGhpcyBtb2R1bGUnOwokbGFuZ1snaW5mb19kZXRhaWxfdGVtcGxhdGUnXSA9ICdEZXRhaWwgdGVtcGxhdGVzIGRpc3BsYXkgZGV0YWlsZWQgaW5mb3JtYXRpb24gYWJvdXQgYSBzcGVjaWZpYyBmcm9udGVuZCB1c2VyLiAgSGVyZSB5b3UgZGVzaWduIHRoZSB3YXkgaW4gd2hpY2ggeW91IHdhbnQgdGhhdCBpbmZvcm1hdGlvbiBsYWlkIG91dC4gIFlvdSBtYXkgdXNlIGFueSBzbWFydHkgbG9naWMgb3IgdmFyaWFibGVzIHRoYXQgaGF2ZSBiZWVuIGRlc2lnbmVkIHByZXZpb3VzbHksIG9yIHRoZSBvbmVzIG1hZGUgYXZhaWxhYmxlIHNwZWNpZmljYWxseSBmb3IgdGhpcyB2aWV3JzsKJGxhbmdbJ2luZm9fZGV0YWlsX3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyB0aGUgbGlzdCBvZiBhdmFpbGFibGUgZGV0YWlsIHZpZXcgdGVtcGxhdGVzLiAgT25lIG9mIHRoZW0gaXMgbWFya2VkIGFzIGRlZmF1bHQuICBUaGUgZGVmYXVsdCBvbmUgd2lsbCBiZSB1c2VkIHdoZW4gbm8gYWx0ZXJuYXRlIHRlbXBsYXRlIG5hbWUgaXMgc3VwcGxpZWQgb24gdGhlIHRhZyB0aGF0IGNhbGxzIHRoaXMgbW9kdWxlJzsKJGxhbmdbJ2luZm9fZGlyZWN0b3J5X3RlbXBsYXRlJ10gPSAnRGlyZWN0b3J5IHRlbXBsYXRlcyBkaXNwbGF5IGFuIGFscGhhYmV0aWNhbCBsaXN0IG9mIGxpbmtzLCB3aGVuIGEgbGluayBpcyBjbGlja2VkIGl0IHdpbGwgZGlzcGxheSBhIHN1bW1hcnkgdmlldyBvZiB0aGUgbWF0Y2hpbmcgdXNlcnMgZm9yIHRoYXQgbGV0dGVyLiAgSXQgaXMgcG9zc2libGUgdG8gY3JlYXRlIGRpcmVjdG9yaWVzIGJhc2VkIG9uIGRpZmZlcmVudCBwcm9wZXJ0aWVzLiAgSGVyZSB5b3UgZGVzaWduIHRoZSB3YXkgaW4gd2hpY2ggeW91IHdhbnQgdGhhdCBpbmZvcm1hdGlvbiBsYWlkIG91dC4gIFlvdSBtYXkgdXNlIGFueSBzbWFydHkgbG9naWMgb3IgdmFyaWFibGVzIHRoYXQgaGF2ZSBiZWVuIGRlc2lnbmVkIHByZXZpb3VzbHksIG9yIHRoZSBvbmVzIG1hZGUgYXZhaWxhYmxlIHNwZWNpZmljYWxseSBmb3IgdGhpcyB2aWV3JzsKJGxhbmdbJ2luZm9fZGlyZWN0b3J5X3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyB0aGUgbGlzdCBvZiBhdmFpbGFibGUgZGlyZWN0b3J5IHRlbXBsYXRlcy4gIE9uZSBvZiB0aGVtIGlzIG1hcmtlZCBhcyBkZWZhdWx0LiAgVGhlIGRlZmF1bHQgb25lIHdpbGwgYmUgdXNlZCB3aGVuIG5vIGFsdGVybmF0ZSB0ZW1wbGF0ZSBuYW1lIGlzIHN1cHBsaWVkIG9uIHRoZSB0YWcgdGhhdCBjYWxscyB0aGlzIG1vZHVsZSc7CiRsYW5nWydpbmZvX3N1bW1hcnlfdGVtcGxhdGUnXSA9ICdTdW1tYXJ5IHRlbXBsYXRlcyBkaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGEgbGlzdCBvZiB1c2VycyB0aGF0IG1hdGNoIGEgY3JpdGVyaWEuICBIZXJlIHlvdSBkZXNpZ24gdGhlIHdheSBpbiB3aGljaCB5b3Ugd2FudCB0aGF0IGluZm9ybWF0aW9uIGxhaWQgb3V0LiAgWW91IG1heSB1c2UgYW55IHNtYXJ0eSBsb2dpYyBvciB2YXJpYWJsZXMgdGhhdCBoYXZlIGJlZW4gZGVzaWduZWQgcHJldmlvdXNseSwgb3IgdGhlIG9uZXMgbWFkZSBhdmFpbGFibGUgc3BlY2lmaWNhbGx5IGZvciB0aGlzIHZpZXcnOwokbGFuZ1snaW5mb19zZWFyY2hmb3JtX3RlbXBsYXRlJ10gPSAnU2VhcmNoIGZvcm0gdGVtcGxhdGVzIGRpc3BsYXkgQSBmb3JtIHRvIGFsbG93IHNlYXJjaGluZyBmb3IgYSBwYXJ0aWN1bGFyIHVzZXIgb3IgZ3JvdXAgb2YgdXNlcnMuICBIZXJlIHlvdSBkZXNpZ24gdGhlIHdheSBpbiB3aGljaCB5b3Ugd2FudCB0aGUgZm9ybSBkaXNwbGF5ZWQuICBZb3UgbWF5IHVzZSBhbnkgc21hcnR5IGxvZ2ljIG9yIHZhcmlhYmxlcyB0aGF0IGhhdmUgYmVlbiBkZXNpZ25lZCBwcmV2aW91c2x5LCBvciB0aGUgb25lcyBtYWRlIGF2YWlsYWJsZSBzcGVjaWZpY2FsbHkgZm9yIHRoaXMgdmlldyc7CiRsYW5nWydpbmZvX3NlYXJjaGZvcm1fdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIHRoZSBsaXN0IG9mIGF2YWlsYWJsZSBzZWFyY2ggZm9ybSB0ZW1wbGF0ZXMuICBPbmUgb2YgdGhlbSBpcyBtYXJrZWQgYXMgZGVmYXVsdC4gIFRoZSBkZWZhdWx0IG9uZSB3aWxsIGJlIHVzZWQgd2hlbiBubyBhbHRlcm5hdGUgdGVtcGxhdGUgbmFtZSBpcyBzdXBwbGllZCBvbiB0aGUgdGFnIHRoYXQgY2FsbHMgdGhpcyBtb2R1bGUnOwokbGFuZ1snaW5mb19zdW1tYXJ5X3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyB0aGUgbGlzdCBvZiBhdmFpbGFibGUgc3VtbWFyeSB0ZW1wbGF0ZXMuICBPbmUgb2YgdGhlbSBpcyBtYXJrZWQgYXMgZGVmYXVsdC4gIFRoZSBkZWZhdWx0IG9uZSB3aWxsIGJlIHVzZWQgd2hlbiBubyBhbHRlcm5hdGUgdGVtcGxhdGUgbmFtZSBpcyBzdXBwbGllZCBvbiB0aGUgdGFnIHRoYXQgY2FsbHMgdGhpcyBtb2R1bGUnOwokbGFuZ1snaW5mb19zeXNkZmx0X2Jyb3dzZXByb3BfdGVtcGxhdGUnXSA9ICdTeXN0ZW0gRGVmYXVsdCBCcm93c2UgUHJvcGVydHkgVmlldyBUZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3N5c2RmbHRfZGV0YWlsX3RlbXBsYXRlJ10gPSAnU3lzdGVtIERlZmF1bHQgRGV0YWlsIFZpZXcgVGVtcGxhdGUnOwokbGFuZ1snaW5mb19zeXNkZmx0X2RpcmVjdG9yeV90ZW1wbGF0ZSddID0gJ1N5c3RlbSBEZWZhdWx0IERpcmVjdG9yeSBUZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3N5c2RmbHRfc2VhcmNoZm9ybV90ZW1wbGF0ZSddID0gJ1N5c3RlbSBEZWZhdWx0IFNlYXJjaCBGb3JtIFRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9zdW1tYXJ5X3RlbXBsYXRlJ10gPSAnU3lzdGVtIERlZmF1bHQgU3VtbWFyeSBWaWV3IFRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF90ZW1wbGF0ZSddID0gJ0FsdGVyaW5nIHRoaXMgdGVtcGxhdGUgd2lsbCBoYXZlIG5vIGltbWVkaWF0ZSBlZmZlY3Qgb24gYW55IG91dHB1dC4gIFRoaXMgZm9ybSBjb250cm9scyB0aGUgdmFsdWUgb2YgdGhlIHRlbXBsYXRlIHRoYXQgaXMgY3JlYXRlZCB3aGVuIHlvdSBjbGljayAmcXVvdDtOZXcgVGVtcGxhdGUmcXVvdDsgaW4gdGhlIGFwcHJvcHJpYXRlIHRlbXBsYXRlIHRhYi4nOwokbGFuZ1snbGFzdF9hY3RpdmUnXSA9ICd6dWxldHp0IGFrdGl2JzsKJGxhbmdbJ2xibF9icm93c2Vwcm9wdGVtcGxhdGVzJ10gPSAnRHVyY2hzdWNoZSBFaWdlbnNjaGFmdGVuLVRlbXBsYXRlJzsKJGxhbmdbJ2xibF9kZWZhdWx0dGVtcGxhdGVzJ10gPSAnU3RhbmRhcmR2b3JsYWdlbic7CiRsYW5nWydsYmxfZGV0YWlsdGVtcGxhdGVzJ10gPSAnRGV0YWlsYW5zaWNodHN2b3JsYWdlbic7CiRsYW5nWydsYmxfZGlyZWN0b3J5dGVtcGxhdGVzJ10gPSAnVmVyemVpY2huaXN2b3JsYWdlbic7CiRsYW5nWydsYmxfZmlyc3RfcGFnZSddID0gJ3p1ciBlcnN0ZW4gU2VpdGUnOwokbGFuZ1snbGJsX2xhc3RfcGFnZSddID0gJ3p1ciBsZXR6dGVuIFNlaXRlJzsKJGxhbmdbJ2xibF9uZXh0X3BhZ2UnXSA9ICd6dXIgbiZhdW1sO2Noc3RlbiBTZWl0ZSc7CiRsYW5nWydsYmxfcHJldl9wYWdlJ10gPSAnenVyIHZvcmlnZW4gU2VpdGUnOwokbGFuZ1snbGJsX3NlYXJjaGZvcm10ZW1wbGF0ZXMnXSA9ICdTdWNoZm9ybXVsYXJ2b3JsYWdlbic7CiRsYW5nWydsYmxfc2V0dGluZ3MnXSA9ICdFaW5zdGVsbHVuZ2VuJzsKJGxhbmdbJ2xibF9zdW1tYXJ5dGVtcGxhdGVzJ10gPSAnWnVzYW1tZW5mYXNzdW5nc3ZvcmxhZ2VuJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnQSBtb2R1bGUgYWxsb3dpbmcgc2VhcmNoaW5nLCBicm93c2luZywgYW5kIHZpZXdpbmcgZGV0YWlscyBhYm91dCBmcm9udGVuZCB1c2Vycyc7CiRsYW5nWydvZiddID0gJ3Zvbic7CiRsYW5nWydwYWdlJ10gPSAnU2VpdGUnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdUaGUgQ0dVc2VyRGlyZWN0b3J5IG1vZHVsZSBpcyBub3cgcmVhZHkgZm9yIGNvbmZpZ3VyYXRpb24nOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ1RoZSBDR1VzZXJkaXJlY3RvcnkgbW9kdWxlLCBhbmQgYWxsIGFzc29jaWF0ZWQgZGF0YSBoYXMgYmVlbiB1bmluc3RhbGxlZCBmcm9tIHRoZSBkYXRhYmFzZSc7CiRsYW5nWydyZXN1bHRzX2FsbF9hbnknXSA9ICdSZXR1cm4gcmVzdWx0cyB0aGF0IG1hdGNoIGFsbCwgb3IgYW55IG9mIHRoZSBjb25kaXRpb25zIHNwZWNpZmllZCc7CiRsYW5nWydzdWJtaXQnXSA9ICdBYnNlbmRlbic7CiRsYW5nWyd1c2VybmFtZSddID0gJ0JlbnV0emVybmFtZSc7CiRsYW5nWydxY2EnXSA9ICdQMC0xNDU4NDUwNjY0LTEyODQ1NzMwODQ5MTgnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjkzNzk0NTI4Ljc2Mi40NS51dG1jc3I9Zm9ydW0uY21zbWFkZXNpbXBsZS5vcmd8dXRtY2NuPShyZWZlcnJhbCl8dXRtY21kPXJlZmVycmFsfHV0bWNjdD0vaW5kZXgucGhwJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMTE2NDM2MTkwOC4xMjg1MTUzNzY4LjEyOTM5OTQ3NzEuMTI5Mzk5NzI5MS43NzcnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzLjMuMTAuMTI5Mzk5NzI5MSc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/fr_FR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FkZGVkaXRfYnJvd3NlcHJvcF90ZW1wbGF0ZSddID0gJ0Fqb3V0ZXIvRWRpdGVyIHVuIGdhYmFyaXQgZGUgcHJvcHJpJmVhY3V0ZTt0JmVhY3V0ZTsgZGUgcmVjaGVyY2hlJm5ic3A7JzsKJGxhbmdbJ2FkZGVkaXRfZGV0YWlsX3RlbXBsYXRlJ10gPSAnQWpvdXRlci9FZGl0ZXIgdW4gZ2FiYXJpdCBkZSBkJmVhY3V0ZTt0YWlsJm5ic3A7JzsKJGxhbmdbJ2FkZGVkaXRfZGlyZWN0b3J5X3RlbXBsYXRlJ10gPSAnQWpvdXRlci9FZGl0ZXIgdW4gZ2FiYXJpdCBkZSByJmVhY3V0ZTtwZXJ0b2lyZSZuYnNwOyc7CiRsYW5nWydhZGRlZGl0X3NlYXJjaGZvcm1fdGVtcGxhdGUnXSA9ICdBam91dGVyL0VkaXRlciB1biBnYWJhcml0IGRlIHJlY2hlcmNoZSZuYnNwOyc7CiRsYW5nWydhZGRlZGl0X3N1bW1hcnlfdGVtcGxhdGUnXSA9ICdBam91dGVyL0VkaXRlciB1biBnYWJhcml0IGRlIHImZWFjdXRlO3N1bSZlYWN1dGU7Jm5ic3A7JzsKJGxhbmdbJ2FsbCddID0gJ1RvdXMnOwokbGFuZ1snYW55J10gPSAnTiYjMDM5O2ltcG9ydGUgbGVxdWVsJzsKJGxhbmdbJ2Fza19yZWFsbHlfdW5pbnN0YWxsJ10gPSAnJkVjaXJjO3Rlcy12b3VzIHMmdWNpcmM7ciBkZSB2b3Vsb2lyIGZhaXJlIGNlbGEgPyBDZWxhIHZhIHN1cHByaW1lciBkJmVhY3V0ZTtmaW5pdGl2ZW1lbnQgdG91dGVzIGxlcyBkb25uJmVhY3V0ZTtlcyBhc3NvY2kmZWFjdXRlO2VzICZhZ3JhdmU7IGNlIG1vZHVsZS4nOwokbGFuZ1snY3JlYXRlZCddID0gJ0NyJmVhY3V0ZTsmZWFjdXRlOyZuYnNwOyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkZ3JvdXAnXSA9ICdHcm91cGUgaW52YWxpZGUnOwokbGFuZ1snZXJyb3JfaW52YWxpZHNvcnRmaWVsZCddID0gJ0NoYW1wIGRlIHRyaSBpbnZhbGlkZSZuYnNwOzogJXMnOwokbGFuZ1snZXJyb3JfbWlzc2luZ3BhcmFtJ10gPSAnUGFyYW0mZWdyYXZlO3RyZXMgaW5zdWZmaXNhbnRzJzsKJGxhbmdbJ2Vycm9yX25vZmV1J10gPSAnTGUgbW9kdWxlIEZyb250ZW5kIFVzZXJzIG5lIHBldXQgcGFzICZlY2lyYzt0cmUgdHJvdXYmZWFjdXRlOyc7CiRsYW5nWydlcnJvcl91c2Vybm90Zm91bmQnXSA9ICdMJiMwMzk7dXRpbGlzYXRldXIgYXZlYyBsJiMwMzk7aWQgc3AmZWFjdXRlO2NpZmkmZWFjdXRlOyBuJiMwMzk7YSBwYXMgcHUgJmVjaXJjO3RyZSB0cm91diZlYWN1dGU7JzsKJGxhbmdbJ2V4cGlyZXMnXSA9ICdFeHBpcmUmbmJzcDsnOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnUiZlYWN1dGU7cGVydG9pcmUgdXRpbGlzYXRldXIgQ2FsZ3V5cyc7CiRsYW5nWydncm91cHMnXSA9ICdHcm91cGVzJm5ic3A7JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+UXVlIGZhaXQgY2UgbW9kdWxlID88L2gzPg0KPHA+IENlIG1vZHVsZSBvZmZyZSBsYSBwb3NzaWJpbGl0JmVhY3V0ZTsgZGUgZyZlYWN1dGU7biZlYWN1dGU7cmVyIHVuIHImZWFjdXRlO3BlcnRvaXJlIGRlcyB1dGlsaXNhdGV1cnMgZHUgbW9kdWxlIEZFVSwgcG91ciBnJmVhY3V0ZTtuJmVhY3V0ZTtyZXIgdW5lIHZ1ZSByJmVhY3V0ZTtzdW0mZWFjdXRlO2UgZGVzIHV0aWxpc2F0ZXVycyBzZWxvbiBkZXMgY3JpdCZlZ3JhdmU7cmVzIGQmZWFjdXRlO2ZpbmlzLCBldCBwb3VyIGFmZmljaGVyIGRlcyBpbmZvcm1hdGlvbnMgZCZlYWN1dGU7dGFpbGwmZWFjdXRlO2VzIHN1ciB1biB1dGlsaXNhdGV1ciBzcCZlYWN1dGU7Y2lmaSZlYWN1dGU7LiBJbCBwZXV0ICZlY2lyYzt0cmUgdXRpbGlzJmVhY3V0ZTsgcG91ciBhZmZpY2hlciB1bmUgcGFnZSBkZSBwcm9maWwgZCYjMDM5O3V0aWxpc2F0ZXVyLCBvdSB1bmUgbGlzdGUgZGUgbWVtYnJlcyBwYXIgZXhlbXBsZS48L3A+DQo8aDM+Q2FyYWN0JmVhY3V0ZTtyaXN0aXF1ZXMgOjwvaDM+DQo8dWw+DQogIDxsaT5VbiBjb250ciZvY2lyYztsZSBpbnQmZWFjdXRlO2dyYWwgZHUgZ2FiYXJpdA0KPHA+QWxsIGRpc3BsYXlzIGFyZSBjb21wbGV0ZWx5IGNvbmZpZ3VyYWJsZSBieSB0ZW1wbGF0ZXMgYWxsb3dpbmcgZm9yIGphdmFzY3JpcHQsIGFqYXgsIG9yIGFueSBvdGhlciBmYW5jeSBkaXNwbGF5cy4gIFN0eWxpbmcgaXMgY29tcGxldGVseSBjb250cm9sbGFibGUgYnkgdGhlIHdlYnNpdGUgZGV2ZWxvcGVyLjwvcD4NCiAgPC9saT4NCiAgPGxpPk11bHRpcGxlIGRhdGFiYXNlIHRlbXBsYXRlcy4NCjxwPllvdSBjYW4gY29uZmlndXJlIG11bHRpcGxlIGRpZmZlcmVudCB2aWV3cyBmb3IgZWFjaCBkaXNwbGF5LCBhbmQgdXNlIHRoZW0gdW5kZXIgZGlmZmVyZW50IHNpdHVhdGlvbnMuPC9wPg0KICA8L2xpPg0KPGxpPkZpbHRlciBzdW1tYXJ5IHZpZXdzIG9uIHVzZXIgcHJvcGVydGllcy4NCiAgIDxwPllvdSBjYW4gZmlsdGVyIHRoZSBvdXRwdXQgZm9yIHRoZSBzdW1tYXJ5IHZpZXcgYmFzZWQgb24gdGhlIHZhbHVlIG9mIGEgc3BlY2lmaWMgdXNlciBwcm9wZXJ0eSBmcm9tIHRoZSBGRVUgbW9kdWxlLiAgVGhpcyBhbHNvIGluY2x1ZGVzICZxdW90O0xJS0UmcXVvdDsgYmFzZWQgY3JpdGVyYS4NCiAgPC9saT4NCiAgPGxpPlRyaWVyIGVuIGZvbmN0aW9uIGRlIGNyaXQmZWdyYXZlO3JlcyBtdWx0aXBsZXM8L2xpPg0KICA8bGk+U3VwcG9ydCBkZSBsYSByJmVhY3V0ZTstJmVhY3V0ZTtjcml0dXJlIGQmIzAzOTtVUkw8L2xpPg0KPC91bD4NCjxoMz5Db21tZW50IGwmIzAzOTt1dGlsaXNlciA/PC9oMz4NCjxwPkxlIG1veWVuIGxlIHBsdXMgc2ltcGxlIGRlIGwmIzAzOTt1dGlsaXNlciBldCBkZSBwbGFjZXIgbGUgdGFnIDxjb2RlPntDR1VzZXJEaXJlY3Rvcnl9PC9jb2RlPiBkYW5zIHZvdHJlIGdhYmFyaXQgb3UgbGEgcGFnZSBkJmVhY3V0ZTtzaXImZWFjdXRlO2UuIFBvdXIgYWpvdXRlciBkZXMgcGFyYW0mZWdyYXZlO3RyZXMsIHZvdXMgcG91dmV6IHV0aWxpc2VyIGxlcyBleGVtcGxlcyBzdWl2YW50cy48L3A+DQo8aDM+RXhlbXBsZXMgOjwvaDM+DQo8dWw+DQo8bGk+UiZlYWN1dGU7cGVydG9yaWVyIHRvdXMgbGVzIHV0aWxpc2F0ZXVycyA6DQo8cD48Y29kZT57Q0dVc2VyRGlyZWN0b3J5IGFjdGlvbj0mcXVvdDtkaXJlY3RvcnkmcXVvdDt9PC9jb2RlPjwvcD4NCjwvbGk+DQo8bGk+UiZlYWN1dGU7cGVydG9yaWVyIHRvdXMgbGVzIHV0aWxpc2F0ZXVycyBlbiBmb25jdGlvbiBkZSBsYSB2aWxsZToNCjxwPjxjb2RlPntDR1VzZXJEaXJlY3RvcnkgYWN0aW9uPSZxdW90O2RpcmVjdG9yeSZxdW90OyBwcm9wPSZxdW90O3ZpbGxlJnF1b3Q7fTwvY29kZT48L3A+DQo8L2xpPg0KPGxpPkFmZmljaGVyIHVuZSBsaXN0ZSByJmVhY3V0ZTtzdW1hbnQgdG91cyBsZXMgdXRpbGlzYXRldXJzIGR1IGdyb3VwZSAmcXVvdDttZW1icmVzJnF1b3Q7IDoNCjxwPjxjb2RlPntDR1VzZXJEaXJlY3RvcnkgZ3JvdXA9JnF1b3Q7bWVtYnJlcyZxdW90O308L2NvZGU+PC9wPg0KPC9saT4NCjxsaT5BZmZpY2hlciB0b3VzIGxlcyB1dGlsaXNhdGV1cnMgYXlhbnQgcG91ciB2aWxsZSAmcXVvdDtQZXJwaWduYW4mcXVvdDsgOg0KPHA+PGNvZGU+e0NHVXNlckRpcmVjdG9yeSBwcm9wPSZxdW90O3ZpbGxlJnF1b3Q7IHByb3B2YWw9JnF1b3Q7cGVycGlnbmFuJnF1b3Q7fTwvY29kZT48L3A+DQo8L2xpPg0KPGxpPkRpc3BsYXkgYSBzdW1tYXJ5IGxpc3Qgb2YgYWxsIHVzZXJzIGZyb20gY291bnRyaWVzIHRoYXQgYmVnaW4gd2l0aCBDOg0KPHA+PGNvZGU+e0NHVXNlckRpcmVjdG9yeSBwcm9wPSZxdW90O2NpdHkmcXVvdDsgdXNlbGlrZT0xIHByb3B2YWw9JnF1b3Q7YyUmcXVvdDt9PC9jb2RlPjwvcD4NCjwvbGk+DQo8L3VsPg0KDQo8aDM+Tm90ZXMgYXUgc3VqZXQgZGVzICZxdW90O1ByZXR0eSBVUkxzJnF1b3Q7IChyJmVhY3V0ZTstJmVhY3V0ZTtjcml0dXJlIGQmIzAzOTtVUkwpPC9oMz4NCjxwPiZxdW90O1ByZXR0eSZxdW90OyBvciBTRU8gZnJpZW5kbHkgVVJMUyBsaW1pdHMgdGhlIGZsZXhpYmlsaXR5IG9mIHRoaXMgbW9kdWxlLCBhbmQgdGhlIHBhcmFtZXRlcnMgdGhhdCBjYW4gYmUgc3BlY2lmaWVkIG9uIHRoZSB0YWcuIFBhcnRpY3VsYXJseSB0aG9zZSB0aGF0IGNhbiBiZSBwYXNzZWQgb24gdG8gc3Vic2VxdWVudCB2aWV3cy4gIEZvciB0aGlzIHJlYXNvbiwgdGhlIGRpcmVjdG9yeSB2aWV3IGRvZXMgbm90IGdlbmVyYXRlIHByZXR0eSB1cmxzIHRvIHRoZSBzdWJzZXF1ZW50IHN1bW1hcnkgbGlua3MuICBUaGlzIGFsbG93cyBwYXJhbWV0ZXJzIGxpa2UgZGV0YWlscGFnZSwgZGV0YWlsdGVtcGxhdGUsIGFuZCBzdW1tYXJ5dGVtcGxhdGUgdG8gYmUgcGFzc2VkIGluIHRoZSB0YWcgdG8gdGhlIGRpcmVjdG9yeSB2aWV3IGFuZCB0byBoYXZlIHRob3NlIHBhcmFtZXRlcnMgcGFzc2VkIGRvd24gdG8gdGhlIHN1YnNlcXVlbnQgc3VtbWFyeSBkZXRhaWwgdmlld3MuPC9wPg0KPC9wPg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCB0aGUgY21zIGRldmVsb3BtZW50IGZvcmdlIGF0IDxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmciPmRldi5jbXNtYWRlc2ltcGxlLm9yZzwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4NCjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwIGFsbCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yKHMpIGRpcmVjdGx5LjwvbGk+ICANCjwvdWw+DQoNCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA4LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+PGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmc+PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCml0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQp0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcg0KKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+DQo8cD5Ib3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQNCmFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQ0KaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUw0KTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIA0Kc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCmJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KT3IgcmVhZCBpdCA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPm9ubGluZTwvYT48L3A+JzsKJGxhbmdbJ2hlbHBfcGFyYW1fYWN0aW9uJ10gPSAnQ2VzIHBhcmFtJmVncmF2ZTt0cmVzIGNvbnRyJm9jaXJjO2xlbnQgbGUgY29tcG9ydGVtZW50IGR1IG1vZHVsZS4gIElsIHkgYSB0cm9pcyBwb3NzaWJpbGl0JmVhY3V0ZTtzIDoNCjx1bD4NCjxsaT5icm93c2UgIC0gRGlzcGxheSBhIG5hdmlnYXRpb24gb2YgcHJvcGVydHkgdmFsdWVzLCBhbmQgYWxsb3cgZHJpbGxpbmcgZG93biB0byBtYXRjaGluZyBzdW1tYXJ5IHZpZXdzLjwvbGk+DQogIDxsaT5kZWZhdWx0IC0gRGlzcGxheXMgYSBzdW1tYXJ5IHZpZXcgb2YgdXNlcnMgdGhhdCBtYXRjaCB0aGUgc3BlY2lmaWVkIGNyaXRlcmlhLCBvciBhbGwgdXNlcnMgaWYgbm8gY3JpdGllcmlhIGlzIHNwZWNpZmllZC48L2xpPg0KICA8bGk+ZGlyZWN0b3J5IC0gRGlzcGxheXMgYW4gYWxwaGFiZXRpY2FsIGRpcmVjdG9yeSBvZiBsaW5rcyB0byBzdW1tYXJ5IHZpZXdzIHRvIHVzZXJzIHRoYXQgbWF0Y2ggdGhlIHNwZWNpZmllZCBjcml0ZXJpYS4gIEl0IGlzIHBvc3NpYmxlIHRvIGNyZWF0ZSBkaXJlY3Rvcnkgdmlld3Mgb24gdXNlcm5hbWUsIG9yIG9uIGFueSBvdGhlciBwYXJhbWV0ZXI8L2xpPg0KICA8bGk+ZGV0YWlsIC0gRGlzcGxheXMgYSBkZXRhaWwgcmVwb3J0IGFib3V0IGEgc3BlY2lmaWMgdXNlci48L2xpPg0KPGxpPnNlYXJjaCAtIERpc3BsYXlzIGEgc2VhcmNoIGZvcm0uPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHBfcGFyYW1fYnJvd3NlcHJvcHRlbXBsYXRlJ10gPSAnQ2UgcGFyYW0mZWdyYXZlO3RyZSBwZXJtZXQgZGUgc3AmZWFjdXRlO2NpZmllciBhdWN1bmUgdmFsZXVyIHBhciBkJmVhY3V0ZTtmYXV0IHBvdXIgbGEgcmVjaGVyY2hlIHBvdXIgcGFyY291cmlyIGxlIG5vbSBkdSBnYWJhcml0ICZhZ3JhdmU7IHV0aWxpc2VyJzsKJGxhbmdbJ2hlbHBfcGFyYW1fZ3JvdXAnXSA9ICdVdGlsaXMmZWFjdXRlOyBhdmVjIGwmIzAzOTthY3Rpb24gcGFyIGQmZWFjdXRlO2ZhdXQsIGNlIHBhcmFtJmVncmF2ZTt0cmUgZG9pdCBjb250ZW5pciBsZSBub20gZCYjMDM5O3VuIGdyb3VwZSBkJiMwMzk7dXRpbGlzYXRldXJzIEZFVSwgZXQgbGltaXRlIGxhIHNvcnRpZSBhdXggbWVtYnJlcyBkdSBncm91cGUnOwokbGFuZ1snaGVscF9wYXJhbV9naWQnXSA9ICdVdGlsaXMmZWFjdXRlOyBhdmVjIGwmIzAzOTthY3Rpb24gcGFyIGQmZWFjdXRlO2ZhdXQsIGNlIHBhcmFtJmVncmF2ZTt0cmUgZG9pdCBjb250ZW5pciBsJiMwMzk7SUQgZCYjMDM5O3VuIGdyb3VwZSBkJiMwMzk7dXRpbGlzYXRldXJzIEZFVSwgZXQgbGltaXRlIGxhIHNvcnRpZSBhdXggbWVtYnJlcyBkZSBjZSBncm91cGUuIENlIHBhcmFtJmVncmF2ZTt0cmUgbmUgcGV1dCBwYXMgJmVjaXJjO3RyZSB1dGlsaXMmZWFjdXRlOyBlbiBjb25qb25jdGlvbiBhdmVjIGxlIHBhcmFtJmVncmF2ZTt0cmUgZ3JvdXBlLic7CiRsYW5nWydoZWxwX3BhcmFtX3Nob3dleHBpcmVkJ10gPSAnUGFyIGQmZWFjdXRlO2ZhdXQsIGxlIHN5c3QmZWdyYXZlO21lIHZhIGV4Y2x1cmUgZHUgcmFwcG9ydCB0b3VzIGxlcyB1dGlsaXNhdGV1cnMgZXhwaXImZWFjdXRlO3MuIE1ldHRyZSBzZSBwYXJhbSZlZ3JhdmU7dHJlICZhZ3JhdmU7IDEgdmEgaW5jbHVyZSBjZXMgdXRpbGlzYXRldXJzLic7CiRsYW5nWydoZWxwX3BhcmFtX2Jzb3J0YnknXSA9ICdVdGlsaXMmZWFjdXRlOyBwb3VyIGwmIzAzOTthY3Rpb24gYnJvd3NlLCBjZSBwYXJhbSZlZ3JhdmU7dHJlIGQmZWFjdXRlO2ZpbmkgbCYjMDM5O29yZHJlIGRlIHRyaSBkZSBsYSBzb3J0aWUgZGVzIHByb3ByaSZlYWN1dGU7dCZlYWN1dGU7cyBnJmVhY3V0ZTtuJmVhY3V0ZTtyJmVhY3V0ZTtlcy4gIExlcyB2YWxldXJzIHBvc3NpYmxlcyBzb250IDoNCjx1bD4NCiAgPGxpPm5hbWUgLSBsZSBub20gZGUgbGEgcHJvcHJpJmVhY3V0ZTt0JmVhY3V0ZTs8L2xpPg0KICA8bGk+Y291bnQgLSBsZSBub21icmUgZGUgY29ycmVzcG9uZGFuY2VzPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHBfcGFyYW1fc3BhcnNlJ10gPSAnQXBwbGljYWJsZSB1bmlxdWVtZW50IHBvdXIgbCYjMDM5O2FmZmljaGFnZSBkdSBkb3NzaWVyLCBjZXR0ZSBvcHRpb24gbmUgZmVyYSBxdWUgbW9udHJlciB1bmUgbGV0dHJlIHImZWFjdXRlO3BlcnRvaXJlIHBvdXIgbGVxdWVsIGlsIGV4aXN0ZSBkZXMgdXRpbGlzYXRldXJzLic7CiRsYW5nWydoZWxwX3BhcmFtX3Jlc3VsdHBhZ2UnXSA9ICdVdGlsaXMmZWFjdXRlOyBwb3VyIGxhIHJlY2hlcmNoZSBwb3VyIGxlcyBhY3Rpb25zLCBjZSBwYXJhbSZlZ3JhdmU7dHJlIHNwJmVhY3V0ZTtjaWZpZSBsZSBjb250ZW51IGRlIGxhIHBhZ2UgQ01TTVMgcXVpIGRldnJhaXQgJmVjaXJjO3RyZSB1dGlsaXMmZWFjdXRlOyBwb3VyIGFmZmljaGVyIGxlcyBhcnRpY2xlcyBjb3JyZXNwb25kYW50cyAmYWdyYXZlOyBsJiMwMzk7b3AmZWFjdXRlO3JhdGlvbiBkZSBmaWx0cmFnZSc7CiRsYW5nWydoZWxwX3BhcmFtX3NvcnRieSddID0gJ1VzZWQgZm9yIHRoZSBkZWZhdWx0IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoZSBzb3J0aW5nIG9mIHRoZSBnZW5lcmF0ZWQgc3VtbWFyeSBvdXRwdXQuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOg0KPHVsPg0KIDxsaT5pZCAtIFRoZSB1c2VycyBpZCAoZGVmYXVsdCB2aWV3IG9ubHkpPC9saT4NCiA8bGk+dXNlcm5hbWUgLSBUaGUgdXNlcnMgdXNlcm5hbWUgKGRlZmF1bHQgdmlldyBvbmx5KTwvbGk+DQogPGxpPmNyZWF0ZWRhdGUgLSBUaGUgZGF0ZSBhdCB3aGljaCB0aGUgdXNlciBhY2NvdW50IHdhcyBjcmVhdGVkLiAoZGVmYXVsdCB2aWV3IG9ubHkpPC9saT4NCiA8bGk+ZXhwaXJlcyAtIFRoZSBkYXRlIGF0IHdoaWNoIHRoZSB1c2VyIGFjY291bnQgd2lsbCBleHBpcmUgKG9yIGRpZCBleHBpcmUpLiAoZGVmYXVsdCB2aWV3IG9ubHkpPC9saT4NCiA8bGk+YWN0aXZpdHkgLSBUaGUgZGF0ZSBhdCB3aGljaCB0aGUgdXNlciBhY2NvdW50IHdhcyBsYXN0IGxvZ2dlZCBpbiBvciBsb2dnZWQgb3V0LiAoZGVmYXVsdCB2aWV3IG9ubHkpPC9saT4NCiA8bGk+Zjpwcm9wZXJ0eW5hbWUgLSBUaGlzIGFsbG93cyBzb3J0aW5nIHRoZSBvdXRwdXQgYnkgYSBzcGVjaWZpZWQgRkVVIHByb3BlcnR5IG5hbWUuIGkuZTogZjpmdWxsX25hbWUuICA8c3Ryb25nPk5vdGU6PC9zdHJvbmc+IHlvdSBtYXkgZXhwZXJpZW5jZSB1bmV4cGVjdGVkIHJlc3VsdHMgaWYgdGhlIGdyb3VwIGJlaW5nIGRpc3BsYXllZCBkb2VzIG5vdCBoYXZlIHRoYXQgcHJvcGVydHksIG9yIG5vdCBldmVyeSB1c2VyIGluIHRoZSByZXN1bHRpbmcgc2V0IGhhcyB0aGF0IHByb3BlcnR5IGRlZmluZWQuICBBbHNvLCB5b3UgbWF5IGV4cGVyaWVuY2UgdW5leHBlY3RlZCByZXN1bHRzIGlmIHRoZSBmaWVsZCBzcGVjaWZpZWQgaXMgbm90IGEgdGV4dCBzdHJpbmcuICBZb3UgbWF5IGhhdmUgdG8gYWRqdXN0IHRoZSBzb3J0b3JkZXIgcGFyYW1ldGVyIHRvIGdldCB0aGUgZGVzaXJlZCBvdXRwdXQ8L3VsPj4nOwokbGFuZ1snaGVscF9wYXJhbV9ic29ydG9yZGVyJ10gPSAnVXRpbGlzJmVhY3V0ZTsgcG91ciBsJiMwMzk7YWN0aW9uIGJyb3dzZSwgY2UgcGFyYW0mZWdyYXZlO3RyZSBkJmVhY3V0ZTtmaW5pIGwmIzAzOTtvcmRyZSBkZSB0cmkgZGUgbGEgc29ydGllIGcmZWFjdXRlO24mZWFjdXRlO3ImZWFjdXRlO2UuICBMZXMgdmFsZXVycyBwb3NzaWJsZXMgc29udCA6DQo8dWw+DQogIDxsaT5BU0MgLSBvcmRyZSBhc2NlbmRhbnQ8L2xpPg0KICA8bGk+REVTQyAtIG9yZHJlIGRlc2NlbmRhbnQ8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscF9wYXJhbV9zb3J0b3JkZXInXSA9ICdVdGlsaXMmZWFjdXRlOyBwb3VyIGwmIzAzOTthY3Rpb24gZGVmYXVsdCwgY2UgcGFyYW0mZWdyYXZlO3RyZSBkJmVhY3V0ZTtmaW5pIGwmIzAzOTtvcmRyZSBkZSB0cmkgZGUgbGEgc29ydGllIGRlcyBwcm9wcmkmZWFjdXRlO3QmZWFjdXRlO3MgZyZlYWN1dGU7biZlYWN1dGU7ciZlYWN1dGU7ZXMuICBMZXMgdmFsZXVycyBwb3NzaWJsZXMgc29udCA6DQo8dWw+DQogIDxsaT5BU0MgLSBvcmRyZSBhc2NlbmRhbnQ8L2xpPg0KICA8bGk+REVTQyAtIG9yZHJlIGRlc2NlbmRhbnQ8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscF9wYXJhbV9wYWdlbGltaXQnXSA9ICdVdGlsaXMmZWFjdXRlOyBwb3VyIGwmIzAzOTthY3Rpb24gZGVmYXVsdCwgY2UgcGFyYW0mZWdyYXZlO3RyZSBzcCZlYWN1dGU7Y2lmaWUgbGUgbm9tYnJlIG1heGltdW0gZCYjMDM5O2l0ZW1zIHF1aSBkb2l2ZW50ICZlY2lyYzt0cmUgcmV0b3VybiZlYWN1dGU7cy4nOwokbGFuZ1snaGVscF9wYXJhbV9wcm9wJ10gPSAnVXNlZCBmb3IgdGhlIGRlZmF1bHQsYnJvd3NlIGFuZCBkaXJlY3RvcnkgYWN0aW9ucywgdGhpcyBwYXJhbWV0ZXIgYmVoYXZlcyBpbiB0d28gZGlmZmVyZW50IHdheXMgZGVwZW5kaW5nIHVwb24gdGhlIGFjdGlvbjoNCjx1bD4NCiAgPGxpPlRoZSBkZWZhdWx0IChzdW1tYXJ5KSBhY3Rpb24NCiAgICA8cD5JbiB0aGUgZGVmYXVsdCAoc3VtbWFyeSkgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IGEgcHJvcGVydHkgdG8gZmlsdGVyIHRoZSByZXN1bHRzIGJ5LiAgSXQgd29ya3MgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgcHJvcHZhbCBwYXJhbWV0ZXIgYmVsb3cuPC9wPg0KICA8L2xpPg0KPGxpPlRoZSBicm93c2UgYWN0aW9uDQogICAgPHA+SW4gdGhlIGJyb3dzZSBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgYW4gRkVVIHByb3BlcnR5IHRvIGJyb3dzZTwvcD4NCiAgPC9saT4NCiAgPGxpPlRoZSBkaXJlY3RvcnkgYWN0aW9uLg0KICAgIDxwPkluIHRoZSBkaXJlY3RvcnkgYWN0aW9uLCB0aGlzIGFwcmFtZXRlciBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IGEgcHJvcGVydHkgdG8gZ2VuZXJhdGUgYSBkaXJlY3RvcnkgZnJvbS4gICBUaGUgZGVmYXVsdCB2YWx1ZSBpbiB0aGUgZGlyZWN0b3J5IGFjdGlvbiBpcyAmYW1wO3F1b3Q7dXNlcm5hbWUmYW1wO3F1b3RlOzwvcD4NCiAgPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHBfcGFyYW1fcHJvcHZhbCddID0gJ1V0aWxpcyZlYWN1dGU7IGNvbmpvaW50ZW1lbnQgYXZlYyBsZXMgcGFyYW0mZWdyYXZlO3RyZXMgJnF1b3Q7YWNjZXNzb2lyZXMmcXVvdDsgcG91ciBsJiMwMzk7YWN0aW9uIHBhciBkJmVhY3V0ZTtmYXV0IChzb21tYWlyZSksIGNlIHBhcmFtJmVncmF2ZTt0cmUgdm91cyBwZXJtZXQgZGUgc3AmZWFjdXRlO2NpZmllciB1bmUgdmFsZXVyIGF2ZWMgbGFxdWVsbGUgZmlsdHJlciBsZXMgdXRpbGlzYXRldXJzLic7CiRsYW5nWydoZWxwX3BhcmFtX3VzZWxpa2UnXSA9ICdVc2VkIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlICZxdW90O3Byb3AmcXVvdDsgYW5kICZxdW90O3Byb3B2YWwmcXVvdDsgcGFyYW1ldGVycywgdGhpcyBwYXJhbWV0ZXIsIGlmIHNldCB0byBhIHBvc2l0aXZlIGludGVnZXIgdmFsdWUgaW5kaWNhdGVzIHRoYXQgdGhlIHByb3B2YWwgcGFyYW1ldGVyIGNvbnRhaW5zIGEgTElLRSBleHByZXNzaW9uJzsKJGxhbmdbJ2hlbHBfcGFyYW1fZGV0YWlscGFnZSddID0gJ0NlIHBhcmFtJmVncmF2ZTt0cmUsIHNpIHNwJmVhY3V0ZTtjaWZpJmVhY3V0ZTssIGRvaXQgY29udGVuaXIgbGEgcGFnZWlkIG91IGFsaWFzIGQmIzAzOTt1bmUgcGFnZSBDTVMgZGUgdHlwZSBjb250ZW51LCBzdXIgbGFxdWVsbGUgdm91cyBzb3VoYWl0ZXogYWZmaWNoZXIgbGVzIHJhcHBvcnQgZGUgZCZlYWN1dGU7dGFpbCc7CiRsYW5nWydoZWxwX3BhcmFtX3N1bW1hcnl0ZW1wbGF0ZSddID0gJ0NlIHBhcmFtJmVncmF2ZTt0cmUgcGVybWV0IGRlIHNwJmVhY3V0ZTtjaWZpZXIgdW4gbm9tIGRlIGdhYmFyaXQgJmFncmF2ZTsgdXRpbGlzZXIgcG91ciBsJiMwMzk7YWZmaWNoYWdlIGRlcyByJmVhY3V0ZTtzdW0mZWFjdXRlO3MnOwokbGFuZ1snaGVscF9wYXJhbV9kZXRhaWx0ZW1wbGF0ZSddID0gJ0NlIHBhcmFtJmVncmF2ZTt0cmUgcGVybWV0IGRlIHNwJmVhY3V0ZTtjaWZpZXIgdW4gbm9tIGRlIGdhYmFyaXQgJmFncmF2ZTsgdXRpbGlzZXIgcG91ciBsJiMwMzk7YWZmaWNoYWdlIGRlcyBkJmVhY3V0ZTt0YWlscyc7CiRsYW5nWydoZWxwX3BhcmFtX2RpcmVjdG9yeXRlbXBsYXRlJ10gPSAnQ2UgcGFyYW0mZWdyYXZlO3RyZSBwZXJtZXQgZGUgc3AmZWFjdXRlO2NpZmllciB1biBub20gZGUgZ2FiYXJpdCAmYWdyYXZlOyB1dGlsaXNlciBwb3VyIGwmIzAzOTthZmZpY2hhZ2UgZGVzIHImZWFjdXRlO3BlcnRvaXJlcyc7CiRsYW5nWydoZWxwX3BhcmFtX3NlYXJjaGZvcm10ZW1wbGF0ZSddID0gJ0NlIHBhcmFtJmVncmF2ZTt0cmUgcGVybWV0IGRlIHNwJmVhY3V0ZTtjaWZpZXIgdW4gbm9tIGRlIGdhYmFyaXQgJmFncmF2ZTsgdXRpbGlzZXIgcG91ciBsJiMwMzk7YWZmaWNhZ2UgZGVzIGZvcm11bGFpcmUgZGUgcmVjaGVyY2hlJzsKJGxhbmdbJ2hlbHBfcGFyYW1fc2VhcmNocHJvcGVydHknXSA9ICdDZSBwYXJhbSZlZ3JhdmU7dHJlIHBlcm1ldCBkZSBzcCZlYWN1dGU7Y2lmaWVyLCB1bmUgbGlzdGUgc2ltcGxlIG91IHMmZWFjdXRlO3BhciZlYWN1dGU7ZSBwYXIgZGVzIHZpcmd1bGVzLCBkZSBub21zIGRlIHByb3ByaSZlYWN1dGU7dCZlYWN1dGU7IHN1cHBsJmVhY3V0ZTttZW50YWlyZSBkZSBGRVUgcG91ciBsZXMgZm91cm5pciBkYW5zIGxlIGZvcm11bGFpcmUgZGUgcmVjaGVyY2hlJzsKJGxhbmdbJ2hlbHBfcGFyYW1fdWlkJ10gPSAnVXRpbGlzJmVhY3V0ZTsgY29uam9pbnRlbWVudCBhdmVjIGwmIzAzOTthZmZpY2hhZ2UgZHUgZCZlYWN1dGU7dGFpbCwgY2UgcGFyYW0mZWdyYXZlO3RyZSBkb2l0IGNvbnRlbmlyIGwmIzAzOTt1aWQgZHUgY29tcHRlIGQmIzAzOTt1biB1dGlsaXNhdGV1ciBkdSBGRVUuJzsKJGxhbmdbJ2luZm9fYnJvd3NlcHJvcF90ZW1wbGF0ZSddID0gJ0Jyb3dzZSBQcm9wZXJ0eSB0ZW1wbGF0ZXMgZGlzcGxheSBBIGxpc3Qgb2YgdW5pcXVlIHZhbHVlcyBmb3IgdGhlIHNwZWNpZmllZCBwcm9wZXJ0eS4gIEVhY2ggaXRlbSBpbiB0aGUgbGlzdCBpcyBhIGxpbmsgdG8gYSBzdW1tYXJ5IHZpZXcgY29udGFpbmluZyB0aGUgbWF0Y2hpbmcgdXNlcnMgdGhhdCBtYXRjaCB0aGF0IHByb3BlcnR5IHZhbHVlLiAgWW91IG1heSB1c2UgYW55IHNtYXJ0eSBsb2dpYyBvciB2YXJpYWJsZXMgdGhhdCBoYXZlIGJlZW4gY3JlYXRlZCBwcmV2aW91c2x5LCBvciB0aGUgb25lcyBtYWRlIGF2YWlsYWJpbGl0eSBzcGVjaWZpY2FsbHkgZm9yIHRoaXMgdmlldy4nOwokbGFuZ1snaW5mb19icm93c2Vwcm9wX3RlbXBsYXRlc190YWInXSA9ICdDZXQgb25nbGV0IGNvbnRpZW50IGxhIGxpc3RlIGRlcyBnYWJhcml0cyBkaXNwb25pYmxlcyBjb25jZXJuYW50IGxlcyBwcm9wcmkmZWFjdXRlO3QmZWFjdXRlO3MuIElsIHkgYSB0b3Vqb3VycyB1biBnYWJhcml0IGQmZWFjdXRlO2Zpbml0IHBhciBkJmVhY3V0ZTtmYXV0LiBDZWx1aS1jaSBzZXJhIHV0aWxpcyZlYWN1dGU7IHNpIGF1Y3VuIGF1dHJlIG5vbSBkZSBnYWJhcml0IGVzdCBzcCZlYWN1dGU7Y2lmaSZlYWN1dGU7IGRhbnMgbGEgYmFsaXNlIHF1aSBhcHBlbGxlIGNlIG1vZHVsZS4nOwokbGFuZ1snaW5mb19kZXRhaWxfdGVtcGxhdGUnXSA9ICdEZXRhaWwgdGVtcGxhdGVzIGRpc3BsYXkgZGV0YWlsZWQgaW5mb3JtYXRpb24gYWJvdXQgYSBzcGVjaWZpYyBmcm9udGVuZCB1c2VyLiAgSGVyZSB5b3UgZGVzaWduIHRoZSB3YXkgaW4gd2hpY2ggeW91IHdhbnQgdGhhdCBpbmZvcm1hdGlvbiBsYWlkIG91dC4gIFlvdSBtYXkgdXNlIGFueSBzbWFydHkgbG9naWMgb3IgdmFyaWFibGVzIHRoYXQgaGF2ZSBiZWVuIGRlc2lnbmVkIHByZXZpb3VzbHksIG9yIHRoZSBvbmVzIG1hZGUgYXZhaWxhYmxlIHNwZWNpZmljYWxseSBmb3IgdGhpcyB2aWV3JzsKJGxhbmdbJ2luZm9fZGV0YWlsX3RlbXBsYXRlc190YWInXSA9ICdDZXQgb25nbGV0IGNvbnRpZW50IGxhIGxpc3RlIGRlcyBnYWJhcml0cyBkZSBkJmVhY3V0ZTt0YWlsIGRpc3BvbmlibGVzLiBMJiMwMzk7dW4gZCYjMDM5O2V1eCBlc3QgbWFycXUmZWFjdXRlOyBwYXIgZCZlYWN1dGU7ZmF1dC4gTGEgdmFsZXVyIHBhciBkJmVhY3V0ZTtmYXV0IHNlcmEgdXRpbGlzJmVhY3V0ZTsgc2kgYXVjdW4gbm9tIGRlIGdhYmFyaXQgZGUgcmVtcGxhY2VtZW50ICBlc3QgZm91cm5pIHN1ciBsYSBiYWxpc2UgcXVpIGFwcGVsbGUgY2UgbW9kdWxlLic7CiRsYW5nWydpbmZvX2RpcmVjdG9yeV90ZW1wbGF0ZSddID0gJ0RpcmVjdG9yeSB0ZW1wbGF0ZXMgZGlzcGxheSBhbiBhbHBoYWJldGljYWwgbGlzdCBvZiBsaW5rcywgd2hlbiBhIGxpbmsgaXMgY2xpY2tlZCBpdCB3aWxsIGRpc3BsYXkgYSBzdW1tYXJ5IHZpZXcgb2YgdGhlIG1hdGNoaW5nIHVzZXJzIGZvciB0aGF0IGxldHRlci4gIEl0IGlzIHBvc3NpYmxlIHRvIGNyZWF0ZSBkaXJlY3RvcmllcyBiYXNlZCBvbiBkaWZmZXJlbnQgcHJvcGVydGllcy4gIEhlcmUgeW91IGRlc2lnbiB0aGUgd2F5IGluIHdoaWNoIHlvdSB3YW50IHRoYXQgaW5mb3JtYXRpb24gbGFpZCBvdXQuICBZb3UgbWF5IHVzZSBhbnkgc21hcnR5IGxvZ2ljIG9yIHZhcmlhYmxlcyB0aGF0IGhhdmUgYmVlbiBkZXNpZ25lZCBwcmV2aW91c2x5LCBvciB0aGUgb25lcyBtYWRlIGF2YWlsYWJsZSBzcGVjaWZpY2FsbHkgZm9yIHRoaXMgdmlldyc7CiRsYW5nWydpbmZvX2RpcmVjdG9yeV90ZW1wbGF0ZXNfdGFiJ10gPSAnQ2V0IG9uZ2xldCBjb250aWVudCBsYSBsaXN0ZSBkZXMgciZlYWN1dGU7cGVydG9pcmVzIGRlcyBnYWJhcml0cyBkaXNwb25pYmxlcy4gTCYjMDM5O3VuIGQmIzAzOTtldXggZXN0IG1hcnF1JmVhY3V0ZTsgcGFyIGQmZWFjdXRlO2ZhdXQuIExlIHImZWFjdXRlO3BlcnRvaXJlIHBhciBkJmVhY3V0ZTtmYXV0IHNlcmEgdXRpbGlzJmVhY3V0ZTsgbG9yc3F1ZSBhdWN1biBub20gZXN0IGZvdXJuaSBzdXIgbGEgYmFsaXNlIHF1aSBhcHBlbGxlIGNlIG1vZHVsZSc7CiRsYW5nWydpbmZvX3N1bW1hcnlfdGVtcGxhdGUnXSA9ICdTdW1tYXJ5IHRlbXBsYXRlcyBkaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGEgbGlzdCBvZiB1c2VycyB0aGF0IG1hdGNoIGEgY3JpdGVyaWEuICBIZXJlIHlvdSBkZXNpZ24gdGhlIHdheSBpbiB3aGljaCB5b3Ugd2FudCB0aGF0IGluZm9ybWF0aW9uIGxhaWQgb3V0LiAgWW91IG1heSB1c2UgYW55IHNtYXJ0eSBsb2dpYyBvciB2YXJpYWJsZXMgdGhhdCBoYXZlIGJlZW4gZGVzaWduZWQgcHJldmlvdXNseSwgb3IgdGhlIG9uZXMgbWFkZSBhdmFpbGFibGUgc3BlY2lmaWNhbGx5IGZvciB0aGlzIHZpZXcnOwokbGFuZ1snaW5mb19zZWFyY2hmb3JtX3RlbXBsYXRlJ10gPSAnU2VhcmNoIGZvcm0gdGVtcGxhdGVzIGRpc3BsYXkgQSBmb3JtIHRvIGFsbG93IHNlYXJjaGluZyBmb3IgYSBwYXJ0aWN1bGFyIHVzZXIgb3IgZ3JvdXAgb2YgdXNlcnMuICBIZXJlIHlvdSBkZXNpZ24gdGhlIHdheSBpbiB3aGljaCB5b3Ugd2FudCB0aGUgZm9ybSBkaXNwbGF5ZWQuICBZb3UgbWF5IHVzZSBhbnkgc21hcnR5IGxvZ2ljIG9yIHZhcmlhYmxlcyB0aGF0IGhhdmUgYmVlbiBkZXNpZ25lZCBwcmV2aW91c2x5LCBvciB0aGUgb25lcyBtYWRlIGF2YWlsYWJsZSBzcGVjaWZpY2FsbHkgZm9yIHRoaXMgdmlldyc7CiRsYW5nWydpbmZvX3NlYXJjaGZvcm1fdGVtcGxhdGVzX3RhYiddID0gJ0NldCBvbmdsZXQgY29udGllbnQgbGEgbGlzdGUgZGVzIGdhYmFyaXRzIGRpc3BvbmlibGVzIGRhbnMgbGUgZm9ybXVsYWlyZSBkZSByZWNoZXJjaGUuIEwmIzAzOTt1biBkJiMwMzk7ZXV4IGVzdCBtYXJxdSZlYWN1dGU7IHBhciBkJmVhY3V0ZTtmYXV0LiBMZSBnYWJhcml0IHBhciBkJmVhY3V0ZTtmYXV0IHNlcmEgdXRpbGlzJmVhY3V0ZTsgbG9yc3F1ZSBhdWN1biBub20gIGVzdCBmb3Vybmkgc3VyIGxhIGJhbGlzZSBxdWkgYXBwZWxsZSBjZSBtb2R1bGUnOwokbGFuZ1snaW5mb19zdW1tYXJ5X3RlbXBsYXRlc190YWInXSA9ICdDZXQgb25nbGV0IGNvbnRpZW50IGxhIGxpc3RlIGRlcyBnYWJhcml0cyBzb21tYWlyZXMgZGlzcG9uaWJsZXMuIEwmIzAzOTt1biBkJiMwMzk7ZXV4IGVzdCBtYXJxdSZlYWN1dGU7IHBhciBkJmVhY3V0ZTtmYXV0LiBMZSBnYWJhcml0IHBhciBkJmVhY3V0ZTtmYXV0IHNlcmEgdXRpbGlzJmVhY3V0ZTsgbG9yc3F1ZSBhdWN1biBub20gZXN0IGZvdXJuaSBzdXIgbGEgYmFsaXNlIHF1aSBhcHBlbGxlIGNlIG1vZHVsZSc7CiRsYW5nWydpbmZvX3N5c2RmbHRfYnJvd3NlcHJvcF90ZW1wbGF0ZSddID0gJ1N5c3RlbSBEZWZhdWx0IEJyb3dzZSBQcm9wZXJ0eSBWaWV3IFRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9kZXRhaWxfdGVtcGxhdGUnXSA9ICdHYWJhcml0IHBhciBkJmVhY3V0ZTtmYXV0IGRlIGQmZWFjdXRlO3RhaWwnOwokbGFuZ1snaW5mb19zeXNkZmx0X2RpcmVjdG9yeV90ZW1wbGF0ZSddID0gJ0dhYmFyaXQgcGFyIGQmZWFjdXRlO2ZhdXQgZGUgciZlYWN1dGU7cGVydG9pcmUnOwokbGFuZ1snaW5mb19zeXNkZmx0X3NlYXJjaGZvcm1fdGVtcGxhdGUnXSA9ICdTeXN0JmVncmF2ZTttZSBkZSByZWNoZXJjaGUgcGFyIGQmZWFjdXRlO2ZhdXQgZHUgZ2FiYXJpdCc7CiRsYW5nWydpbmZvX3N5c2RmbHRfc3VtbWFyeV90ZW1wbGF0ZSddID0gJ0dhYmFyaXQgcGFyIGQmZWFjdXRlO2ZhdXQgZGUgciZlYWN1dGU7c3VtJmVhY3V0ZTsnOwokbGFuZ1snaW5mb19zeXNkZmx0X3RlbXBsYXRlJ10gPSAnTW9kaWZpZXIgY2UgZ2FiYXJpdCBuJiMwMzk7YXVyYSBhdWN1biBlZmZldCBpbW0mZWFjdXRlO2RpYXQgc3VyIGxlcyBhZmZpY2hhZ2VzLiBJbCBlc3QgdXRpbGlzJmVhY3V0ZTsgdW5pcXVlbWVudCBsb3JzIGRlIGxhIGNyJmVhY3V0ZTthdGlvbiBkZSBub3V2ZWF1IGdhYmFyaXQgcGFyIHVuIGNsaWMgc3VyICZxdW90O05vdXZlYXUgZ2FiYXJpdCZxdW90OyBkYW5zIGwmIzAzOTtvbmdsZXQgYXBwcm9wcmkmZWFjdXRlOy4nOwokbGFuZ1snbGFzdF9hY3RpdmUnXSA9ICdEZXJuaWVyIGFjdGlmJm5ic3A7JzsKJGxhbmdbJ2xibF9icm93c2Vwcm9wdGVtcGxhdGVzJ10gPSAnR2FiYXJpdHMgZGUgcHJvcHJpJmVhY3V0ZTt0JmVhY3V0ZTsnOwokbGFuZ1snbGJsX2RlZmF1bHR0ZW1wbGF0ZXMnXSA9ICdHYWJhcml0cyBwYXIgZCZlYWN1dGU7ZmF1dCc7CiRsYW5nWydsYmxfZGV0YWlsdGVtcGxhdGVzJ10gPSAnR2FiYXJpdHMgZGUgZCZlYWN1dGU7dGFpbCc7CiRsYW5nWydsYmxfZGlyZWN0b3J5dGVtcGxhdGVzJ10gPSAnR2FiYXJpdHMgZGUgciZlYWN1dGU7cGVydG9pcmUnOwokbGFuZ1snbGJsX2ZpcnN0X3BhZ2UnXSA9ICdBbGxlciAmYWdyYXZlOyBsYSBwcmVtaSZlZ3JhdmU7cmUgcGFnZSc7CiRsYW5nWydsYmxfbGFzdF9wYWdlJ10gPSAnQWxsZXIgJmFncmF2ZTsgbGEgZGVybmkmZWdyYXZlO3JlIHBhZ2UnOwokbGFuZ1snbGJsX25leHRfcGFnZSddID0gJ0FsbGVyICZhZ3JhdmU7IGxhIHBhZ2Ugc3VpdmFudGUnOwokbGFuZ1snbGJsX3ByZXZfcGFnZSddID0gJ0FsbGVyICZhZ3JhdmU7IGxhIHBhZ2UgcHImZWFjdXRlO2MmZWFjdXRlO2RlbnRlJzsKJGxhbmdbJ2xibF9zZWFyY2hmb3JtdGVtcGxhdGVzJ10gPSAnR2FiYXJpdHMgZGUgZm9ybXVsYWlyZSBkZSByZWNoZXJjaGUnOwokbGFuZ1snbGJsX3NldHRpbmdzJ10gPSAnUGFyYW0mZWdyYXZlO3RyZXMnOwokbGFuZ1snbGJsX3N1bW1hcnl0ZW1wbGF0ZXMnXSA9ICdHYWJhcml0cyBkZSByJmVhY3V0ZTtzdW0mZWFjdXRlOyc7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ1VuIG1vZHVsZSBwZXJtZXR0YW50IGxhIHJlY2hlcmNoZSwgbGEgbmF2aWdhdGlvbiBldCBsJiMwMzk7YWZmaWNoYWdlIGQmIzAzOTtpbmZvcm1hdGlvbnMgc3VyIGxhIGdlc3Rpb24gZGVzIHV0aWxpc2F0ZXVycyBkdSBzaXRlJzsKJGxhbmdbJ29mJ10gPSAnZGUgJzsKJGxhbmdbJ3BhZ2UnXSA9ICdQYWdlICc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0xlIG1vZHVsZSBDR1VzZXJEaXJlY3RvcnkgZXN0IG1haW50ZW5hbnQgcHImZWNpcmM7dCAmYWdyYXZlOyAmZWNpcmM7dHJlIGNvbmZpZ3VyJmVhY3V0ZTsnOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ0xlIG1vZHVsZSBDR1VzZXJEaXJlY3RvcnksIGV0IHRvdXRlcyBsZXMgZG9ubiZlYWN1dGU7ZXMgYXNzb2NpJmVhY3V0ZTtlcyBvbnQgJmVhY3V0ZTt0JmVhY3V0ZTsgZCZlYWN1dGU7c2luc3RhbGwmZWFjdXRlO3MgZGUgbGEgYmFzZSBkZSBkb25uJmVhY3V0ZTtlcyc7CiRsYW5nWydyZXN1bHRzX2FsbF9hbnknXSA9ICdSZW52b2llIGxlcyByJmVhY3V0ZTtzdWx0YXRzIHF1aSBjb3JyZXNwb25kZW50LCAmYWdyYXZlOyB0b3VzLCBvdSAmYWdyYXZlOyBsJiMwMzk7dW5lIGRlcyBjb25kaXRpb25zIHByJmVhY3V0ZTtjaXMmZWFjdXRlO2VzJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ0Vudm95ZXInOwokbGFuZ1sndXNlcm5hbWUnXSA9ICdOb20gZCYjMDM5O3V0aWxpc2F0ZXVyJm5ic3A7JzsKJGxhbmdbJ3FjYSddID0gJ1AwLTU4NzQxNDI4LTEyNzY1MzE2MzU1NTknOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4xMjQ5Mzk1MjI0LjEyNzY1MzU2MTUuMTMwNTY2MzMxOS4xMzA1OTcwOTY3Ljc4JzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTMwNTk3MDk2Ny43OC43NS51dG1jY249KHJlZmVycmFsKXx1dG1jc3I9Zm9ydW0uY21zbWFkZXNpbXBsZS5vcmd8dXRtY2N0PS92aWV3dG9waWMucGhwfHV0bWNtZD1yZWZlcnJhbCc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></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[PD9waHAKJGxhbmdbJ2FkZGVkaXRfYnJvd3NlcHJvcF90ZW1wbGF0ZSddID0gJ0xlZ2cgdGlsL3JlZGlnZXIgcyZvc2xhc2g7ay1pLWVnZW5za2FwKEJyb3dzZSBQcm9wZXJ0eSktbWFsJzsKJGxhbmdbJ2FkZGVkaXRfZGV0YWlsX3RlbXBsYXRlJ10gPSAnTGVnZyB0aWwvcmVkaWdlciBkYXRhbGptYWwnOwokbGFuZ1snYWRkZWRpdF9kaXJlY3RvcnlfdGVtcGxhdGUnXSA9ICdMZWdnIHRpbC9yZWRpZ2VyIGthdGFsb2dtYWwnOwokbGFuZ1snYWRkZWRpdF9zZWFyY2hmb3JtX3RlbXBsYXRlJ10gPSAnTGVnZyB0aWwvcmVkaWdlciBzJm9zbGFzaDtrZXNramVtYW1hbCc7CiRsYW5nWydhZGRlZGl0X3N1bW1hcnlfdGVtcGxhdGUnXSA9ICdMZWdnIHRpbC9yZWRpZ2VyIHNhbW1lbmRyYWdzbWFsJzsKJGxhbmdbJ2FsbCddID0gJ0FsbGUnOwokbGFuZ1snYW55J10gPSAnRW5odmVyJzsKJGxhbmdbJ2Fza19yZWFsbHlfdW5pbnN0YWxsJ10gPSAnRXIgZHUgc2lra2VyIHAmYXJpbmc7IGF0IGR1IHZpbCBnaiZvc2xhc2g7cmUgZGV0dGU/ICZBcmluZzsgZm9ydHNldHRlIHZpbCB1Z2plbmthbGxlbGlnIHNsZXR0ZSBhbGwgZGF0YSBhc3Nvc2llcnQgbWVkIGRlbm5lIG1vZHVsZW4uJzsKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4NCjxsaT5WZXJzaW9uIDEuMCAtIEphbnVhcnksIDIwMDkNCiAgPHA+SW5pdGlhbCBSZWxlYXNlPC9wPg0KPC9saT4NCjxsaT5WZXJzaW9uIDEuMQ0KICA8cD5BZGRzIHNlYXJjaCBhbmQgYnJvd3NlIGNhcGFiaWxpdGllcy48L3A+DQo8L2xpPg0KPGxpPlZlcnNpb24gMS4xLjEgLSBTZXB0ZW1iZXIsIDIwMDkNCiAgPHA+QWRkcyBzb3J0aW5nIGluIHRoZSBicm93c2UgYWN0aW9uLjwvcD4NCjwvbGk+DQo8bGk+VmVyc2lvbiAxLjEuMiAtIFNlcHRlbWJlciwgMjAwOQ0KICA8cD5GaXggcGFyYW1ldGVyIGNvbmZsaWN0IHdydCBzb3J0aW5nIGluIHRoZSBicm93c2UgYWN0aW9uLjwvcD4NCjwvbGk+DQo8bGk+VmVyc2lvbiAxLjEuMyAtIE9jdG9iZXIsIDIwMDkNCiAgPHA+TWlub3IgYnVnIGZpeC48L3A+DQo8L2xpPg0KPGxpPlZlcnNpb24gMS4xLjQgLSBPY3RvYmVyLCAyMDA5DQogIDxwPk1pbm9yIGJ1ZyBmaXguPC9wPg0KPC9saT4NCjxsaT5WZXJzaW9uIDEuMS40IC0gT2N0b2JlciwgMjAwOQ0KICA8cD5BZGQgbWlzc2luZyBsYW5nIHN0cmluZy48L3A+DQo8L2xpPg0KPGxpPlZlcnNpb24gMS4xLjUgLSBOb3ZlbWJlciwgMjAwOQ0KICA8cD5NaW5vciBidWcgZml4ZXMuPC9wPg0KPC9saT4NCjxsaT5WZXJzaW9uIDEuMS42IC0gTWFyY2gsIDIwMTANCiAgPHA+QWRkIHRoZSBhYmlsaXR5IHRvIHNvcnQgYnkgdXNlciBwcm9wZXJ0eSBpbiBzdW1tYXJ5IHZpZXc8L3A+DQo8L2xpPg0KPGxpPlZlcnNpb24gMS4yIC0gTWFyY2gsIDIwMTANCiAgPHA+QWRkcyB0aGUgYWJpbGl0eSB0byBzZWFyY2ggYnkgdHdvIHVzZXIgZGVmaW5lZCBwcm9wZXJ0aWVzIGluIHRoZSBzZWFyY2ggYWN0aW9uLjwvcD4NCiAgPHA+QWRkcyBudW1lcmljYWwgb3B0aW9ucyB0byB0aGUgZGlyZWN0b3J5IHZpZXcuPC9wPg0KPC9saT4NCjxsaT5WZXJzaW9uIDEuMi4xIC0gTWFyY2gsIDIwMTANCiAgPHA+TW9kaWZpZXMgdGhlIHNlYXJjaHByb3BlcnR5IGZpZWxkIHRvIHN1cHBvcnQgYSBsaXN0IG9mIHByb3BlcnR5IG5hbWVzLjwvcD4NCiAgPHA+Q29tcGxldGVseSBicmVha3MgZXhpc3Rpbmcgc2VhcmNoIGZvcm0gdGVtcGxhdGVzLjwvcD4NCiAgPHA+UmVtb3ZlcyB0aGUgc2hvcnQgbGl2ZWQgc2VhcmNocHJvcGVydHkyIHBhcmFtLjwvcD4NCjwvbGk+DQo8L3VsPic7CiRsYW5nWydjcmVhdGVkJ10gPSAnT3BwcmV0dGV0JzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRncm91cCddID0gJ1VneWxkaWcgZ3J1cHBlJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRzb3J0ZmllbGQnXSA9ICdVZ3lsZGlnIHNvcnRlcmluZ3NmZWx0OiAlcyc7CiRsYW5nWydlcnJvcl9taXNzaW5ncGFyYW0nXSA9ICdVdGlsc3RyZWtrZWxpZ2UgcGFyYW1ldGVyZSc7CiRsYW5nWydlcnJvcl9ub2ZldSddID0gJ0Zyb250ZW5kIFVzZXJzIG1vZHVsZW4gYmxlIGlra2UgZnVubmV0JzsKJGxhbmdbJ2Vycm9yX3VzZXJub3Rmb3VuZCddID0gJ0JydWtlcmVuIG1lZCBkZW4gb3BwZ2l0dGUgaWQgYmxlIGlra2UgZnVubmV0JzsKJGxhbmdbJ2V4cGlyZXMnXSA9ICdVdGwmb3NsYXNoO3Blcic7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdDYWxndXlzIFVzZXIgRGlyZWN0b3J5ICc7CiRsYW5nWydncm91cHMnXSA9ICdHcnVwcGVyJzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2hhdCBkb2VzIHRoaXMgZG8/PC9oMz4NCiAgPHA+VGhpcyBtb2R1bGUgcHJvdmlkZXMgdGhlIGFiaWxpdHkgZm9yIGdlbmVyYXRpbmcgYSBkaXJlY3Rvcnkgb2YgdXNlcnMgZnJvbSB0aGUgRkVVIG1vZHVsZSwgZm9yIGdlbmVyYXRpbmcgYSBzdW1tYXJ5IHZpZXcgb2YgdXNlcnMgbWF0Y2hpbmcgc3BlY2lmaWVkIGNyaXRlcmlhLCBhbmQgZm9yIGRpc3BsYXlpbmcgYSBkZXRhaWwgcmVwb3J0IG9mIGEgc3BlY2lmaWMgdXNlci4gIEl0IGNhbiBiZSB1c2VkIGZvciBnZW5lcmF0aW5nIHByb2ZpbGUgcGFnZXMgZm9yIHlvdXIgdXNlcnMsIG9yIGEgc3RhZmYgZGlyZWN0b3J5LjwvcD4NCjxoMz5GZWF0dXJlczo8L2gzPg0KPHVsPg0KICA8bGk+Q29tcGxldGUgdGVtcGxhdGUgY29udHJvbA0KPHA+QWxsIGRpc3BsYXlzIGFyZSBjb21wbGV0ZWx5IGNvbmZpZ3VyYWJsZSBieSB0ZW1wbGF0ZXMgYWxsb3dpbmcgZm9yIGphdmFzY3JpcHQsIGFqYXgsIG9yIGFueSBvdGhlciBmYW5jeSBkaXNwbGF5cy4gIFN0eWxpbmcgaXMgY29tcGxldGVseSBjb250cm9sbGFibGUgYnkgdGhlIHdlYnNpdGUgZGV2ZWxvcGVyLjwvcD4NCiAgPC9saT4NCiAgPGxpPk11bHRpcGxlIGRhdGFiYXNlIHRlbXBsYXRlcy4NCjxwPllvdSBjYW4gY29uZmlndXJlIG11bHRpcGxlIGRpZmZlcmVudCB2aWV3cyBmb3IgZWFjaCBkaXNwbGF5LCBhbmQgdXNlIHRoZW0gdW5kZXIgZGlmZmVyZW50IHNpdHVhdGlvbnMuPC9wPg0KICA8L2xpPg0KPGxpPkZpbHRlciBzdW1tYXJ5IHZpZXdzIG9uIHVzZXIgcHJvcGVydGllcy4NCiAgIDxwPllvdSBjYW4gZmlsdGVyIHRoZSBvdXRwdXQgZm9yIHRoZSBzdW1tYXJ5IHZpZXcgYmFzZWQgb24gdGhlIHZhbHVlIG9mIGEgc3BlY2lmaWMgdXNlciBwcm9wZXJ0eSBmcm9tIHRoZSBGRVUgbW9kdWxlLiAgVGhpcyBhbHNvIGluY2x1ZGVzICZhbXA7cXVvdDtMSUtFJmFtcDtxdW90OyBiYXNlZCBjcml0ZXJhLg0KICA8L2xpPg0KICA8bGk+U29ydGluZyBvbiBtdWx0aXBsZSBkaWZmZXJlbnQgY3JpdGVyaWEuPC9saT4NCiAgPGxpPlN1cHBvcnRzIFNFTyBmcmllbmRseSBVUkxTPC9saT4NCjwvdWw+DQo8aDM+SG93IGRvIEkgdXNlIGl0PzwvaDM+DQo8cD5UaGUgc2ltcGxlc3Qgd2F5IHRvIHVzZSB0aGlzIG1vZHVsZSBpcyB0byBwbGFjZSBhIHRhZyBsaWtlIHRoaXMgaW50byB5b3VyIHBhZ2UgdGVtcGxhdGUsIG9yIHBhZ2UgY29udGVudCA8Y29kZT57Q0dVc2VyRGlyZWN0b3J5fTwvY29kZT4uICBUbyBleHBhbmQgb24gdGhpcyBmdW5jdGlvbmFsaXR5LCBvciB0byBkaXNwbGF5IGEgc3Vic2V0IG9mIHlvdXIgdXNlcnMsIHNlZSB0aGUgcGFyYW1ldGVycyBiZWxvdy48L3A+DQo8aDM+RXhhbXBsZXM6PC9oMz4NCjx1bD4NCjxsaT5EaXNwbGF5IGEgZGlyZWN0b3J5IG9mIGFsbCB1c2VyczoNCjxwPjxjb2RlPntDR1VzZXJEaXJlY3RvcnkgYWN0aW9uPSZhbXA7cXVvdDtkaXJlY3RvcnkmYW1wO3F1b3Q7fTwvY29kZT48L3A+DQo8L2xpPg0KPGxpPkRpc3BsYXkgYSBkaXJlY3Rvcnkgb2YgYWxsIHVzZXJzIG9yZ2FuaXplZCBieSBjaXR5Og0KPHA+PGNvZGU+e0NHVXNlckRpcmVjdG9yeSBhY3Rpb249JmFtcDtxdW90O2RpcmVjdG9yeSZhbXA7cXVvdDsgcHJvcD0mYW1wO3F1b3Q7Y2l0eSZhbXA7cXVvdDt9PC9jb2RlPjwvcD4NCjwvbGk+DQo8bGk+RGlzcGxheSBhIHN1bW1hcnkgbGlzdCBvZiBhbGwgdXNlcnMgaW4gdGhlICZhbXA7cXVvdDttZW1iZXJzJmFtcDtxdW90OyBncm91cDoNCjxwPjxjb2RlPntDR1VzZXJEaXJlY3RvcnkgZ3JvdXA9JmFtcDtxdW90O21lbWJlcnMmYW1wO3F1b3Q7fTwvY29kZT48L3A+DQo8L2xpPg0KPGxpPkRpc3BsYXkgYSBzdW1tYXJ5IGxpc3Qgb2YgYWxsIHVzZXJzIGluIHRoZSBjaXR5IG9mIGNhbGdhcnk6DQo8cD48Y29kZT57Q0dVc2VyRGlyZWN0b3J5IHByb3A9JmFtcDtxdW90O2NpdHkmYW1wO3F1b3Q7IHByb3B2YWw9JmFtcDtxdW90O2NhbGdhcnkmYW1wO3F1b3Q7fTwvY29kZT48L3A+DQo8L2xpPg0KPGxpPkRpc3BsYXkgYSBzdW1tYXJ5IGxpc3Qgb2YgYWxsIHVzZXJzIGZyb20gY291bnRyaWVzIHRoYXQgYmVnaW4gd2l0aCBDOg0KPHA+PGNvZGU+e0NHVXNlckRpcmVjdG9yeSBwcm9wPSZhbXA7cXVvdDtjaXR5JmFtcDtxdW90OyB1c2VsaWtlPTEgcHJvcHZhbD0mYW1wO3F1b3Q7YyUmYW1wO3F1b3Q7fTwvY29kZT48L3A+DQo8L2xpPg0KDQo8L3VsPg0KDQo8aDM+Tm90ZXMgYWJvdXQgcHJldHR5IFVSTFM8L2gzPg0KPHA+JmFtcDtxdW90O1ByZXR0eSZhbXA7cXVvdDsgb3IgU0VPIGZyaWVuZGx5IFVSTFMgbGltaXRzIHRoZSBmbGV4aWJpbGl0eSBvZiB0aGlzIG1vZHVsZSwgYW5kIHRoZSBwYXJhbWV0ZXJzIHRoYXQgY2FuIGJlIHNwZWNpZmllZCBvbiB0aGUgdGFnLiBQYXJ0aWN1bGFybHkgdGhvc2UgdGhhdCBjYW4gYmUgcGFzc2VkIG9uIHRvIHN1YnNlcXVlbnQgdmlld3MuICBGb3IgdGhpcyByZWFzb24sIHRoZSBkaXJlY3RvcnkgdmlldyBkb2VzIG5vdCBnZW5lcmF0ZSBwcmV0dHkgdXJscyB0byB0aGUgc3Vic2VxdWVudCBzdW1tYXJ5IGxpbmtzLiAgVGhpcyBhbGxvd3MgcGFyYW1ldGVycyBsaWtlIGRldGFpbHBhZ2UsIGRldGFpbHRlbXBsYXRlLCBhbmQgc3VtbWFyeXRlbXBsYXRlIHRvIGJlIHBhc3NlZCBpbiB0aGUgdGFnIHRvIHRoZSBkaXJlY3RvcnkgdmlldyBhbmQgdG8gaGF2ZSB0aG9zZSBwYXJhbWV0ZXJzIHBhc3NlZCBkb3duIHRvIHRoZSBzdWJzZXF1ZW50IHN1bW1hcnkgZGV0YWlsIHZpZXdzLjwvcD4NCjwvcD4NCjxoMz5TdXBwb3J0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4NCjx1bD4NCjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgdGhlIGNtcyBkZXZlbG9wbWVudCBmb3JnZSBhdCA8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnIj5kZXYuY21zbWFkZXNpbXBsZS5vcmc8L2E+LjwvbGk+DQo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+DQo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCBhbGwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4NCjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvcihzKSBkaXJlY3RseS48L2xpPiAgDQo8L3VsPg0KDQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPkNvcHlyaWdodCAmYW1wO2NvcHk7IDIwMDgsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnIj4mYW1wO2x0O2NhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcmYW1wO2d0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPlRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQppdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQ0KdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3INCihhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uPC9wPg0KPHA+SG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkDQphcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUNCmluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMNCk1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiANCnNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQpidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0ENCk9yIHJlYWQgaXQgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5vbmxpbmU8L2E+PC9wPic7CiRsYW5nWydoZWxwX3BhcmFtX2FjdGlvbiddID0gJ0Rlbm5lIHBhcmFtZXRlciBrb250cm9sbGVyZXIgb3BwZiZvc2xhc2g7cnNlbGVuIGZvciBkZW5uZSBtb2R1bGVuLiBEZXQgZXIgdHJlIG11bGlnZSB2ZXJkaWVyOg0KPHVsPg0KICA8bGk+YnJvd3NlICAtIFZpcyBlbiBuYXZpZ2Fzam9uIGF2IGVnZW5za2Fwc3ZlcmRpZXIsIG9nIHRpbGxhdGVyICZhcmluZzsgZHJpbGxlIG5lZCB0aWwgdGlsaCZvc2xhc2g7cmVuZGUgc2FtbWVuZHJhZ3N2aXNuaW5nZXIuPC9saT4NCiAgPGxpPmRlZmF1bHQgLSBWaXNlciBlbiBzYW1tZW5kcmFnc3Zpc25pbmcgYXYgYnJ1a2VyZSBzb20gcGFzc2VyIHRpbCBkZXQgc3Blc2lmaXNlcnRlIGtyaXRlcmlldCwgZWxsZXIgYWxsZSBicnVrZXJlIG9tIGluZ2VuIGtyaXRlcmllIGVyIHNhdHQuPC9saT4NCiAgPGxpPmRpcmVjdG9yeSAtIFZpc2VyIGVuIGFsZmFiZXRpc2sga2F0YWxvZyBhdiBsZW5rZXIgdGlsIHNhbW1lbmRyYWdzdmlzbmluZyBhdiBicnVrZXJlIHNvbSBwYXNzZXIgdGlsIGRldCBzcGVzaWZpc2VydGUga3JpdGVyaWV0LiBEZXQgZXIgbXVsaWcgJmFyaW5nOyBvcHByZXR0ZSBrYXRhbG9ndmlzbmluZ2VyIHAmYXJpbmc7IGJydWtlcm5hdm4gZWxsZXIgcCZhcmluZzsgZW5odmVyIGFubmVuIHBhcmFtZXRlci48L2xpPg0KICA8bGk+ZGV0YWlsIC0gVmlzZXIgZGV0YWxqcmFwcG9ydCBvbSBlbiBzcGVzaWZpayBicnVrZXIuPC9saT4NCiAgPGxpPnNlYXJjaCAtIFZpc2VyIGV0IHMmb3NsYXNoO2tlc2tqZW1hLjwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwX3BhcmFtX2Jyb3dzZXByb3B0ZW1wbGF0ZSddID0gJ0Rlbm5lIHBhcmFtZXRlciB0aWxsYXRlciAmYXJpbmc7IHNwZXNpZmlzZXJlIG5hdm5ldCBwJmFyaW5nOyBlbiBzJm9zbGFzaDtrLWktZWdlbnNrYXAoYnJvd3NlIHByb3BlcnR5KS1tYWwgc29tIGlra2UgZXIgc3RhbmRhcmQgJmFyaW5nOyBiZW55dHRlIGZvciBzJm9zbGFzaDtrZS12aXNuaW5nZW4nOwokbGFuZ1snaGVscF9wYXJhbV9ncm91cCddID0gJ04mYXJpbmc7ciBiZW55dHRldCBtZWQgc3RhbmRhcmQgaGFuZGxpbmdlbiBiJm9zbGFzaDtyIGRlbm5lIHBhcmFtZXRlciBpbm5laG9sZGUgbmF2bmV0IHAmYXJpbmc7IGVuIEZFVSBicnVrZXJncnVwcGUsIG9nIHZpbCBkYSBiZWdyZW5zZSB2aXNuaW5nZW4gdGlsIGt1biBtZWRsZW1tZXIgYXYgZGVuIGdydXBwZW4uJzsKJGxhbmdbJ2hlbHBfcGFyYW1fZ2lkJ10gPSAnTiZhcmluZztyIGJlbnl0dGV0IG1lZCBzdGFuZGFyZCBoYW5kbGluZ2VuIGImb3NsYXNoO3IgZGVubmUgcGFyYW1ldGVyIGlubmVob2xkZSBpZCYjMDM5O2VuIHAmYXJpbmc7IGVuIEZFVSBicnVrZXJncnVwcGUsIG9nIHZpbCBkYSBiZWdyZW5zZSB2aXNuaW5nZW4gdGlsIGt1biBtZWRsZW1tZXIgYXYgZGVuIGdydXBwZW4uIERlbm5lIHBhcmFtZXRlciBrYW4gaWtrZSBicnVrZXMgc2FtbWVuIG1lZCAmIzAzOTtncm91cCYjMDM5OyBwYXJhbWV0ZXJlbi4nOwokbGFuZ1snaGVscF9wYXJhbV9zaG93ZXhwaXJlZCddID0gJ1NvbSBzdGFuZGFyZCwgdmlsIHN5c3RlbWV0IHV0ZWx1a2tlIHV0bCZvc2xhc2g7cHRlIGJydWtlcmUgZnJhIGFsbGUgZ2VuZXJlcnRlIHJhcHBvcnRlci4gJkFyaW5nOyBzZXR0ZSBkZW5uZSBwYXJhbWV0ZXIgdGlsICAxICB2aWwgb2dzJmFyaW5nOyB1dGwmb3NsYXNoO3B0ZSBicnVrZXJlIGJsaSBpbmtsdWRlcnQuJzsKJGxhbmdbJ2hlbHBfcGFyYW1fYnNvcnRieSddID0gJ04mYXJpbmc7ciBiZW55dHRldCBtZWQgcyZvc2xhc2g7a2UgaGFuZGxpbmdlbiwgdmlsIGRlbm5lIHBhcmFtZXRlciBzcGVzaWZpc2VyZSBzb3J0ZXJpbmdzcmVra2VmJm9zbGFzaDtsZ2VuIGZvciBkZW4gZ2VuZXJlcnRlIGVnZW5za2Fwc3Zpc25pbmdlbi4gIE11bGlnZSB2ZXJkaWVyIGVyOg0KPHVsPg0KICA8bGk+bmFtZSAtIGVnZW5za2FwZW5zIG5hdm4uPC9saT4NCiAgPGxpPmNvdW50IC0gYW50YWxsIHRyZWZmLjwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwX3BhcmFtX3NwYXJzZSddID0gJ0dqZWxkZXIga3VuIGZvciBrYXRhbG9nZW52aXNuaW5nLiBEZW5uZSBtdWxpZ2hldGVuIHZpbCBiYXJlIHZpc2UgZW4ga2F0YWxvZ2Jva3N0YXYgZGVyIGRldCBlciBzYW1zdmFyZW5kZSBicnVrZXJlLic7CiRsYW5nWydoZWxwX3BhcmFtX3Jlc3VsdHBhZ2UnXSA9ICdCZW55dHRldCB2ZWQgcyZvc2xhc2g7ayBvZyBibGEtZ2plbm5vbSBoYW5kbGluZ2VyIHZpbCBkZW5uZSBwYXJhbWV0ZXIgc3Blc2lmaXNlcmUgaHZpbGtlbiBDTVNNUyBpbm5ob2xkc2lkZSBzb20gc2thbCBiZW55dHRlcyBmb3IgJmFyaW5nOyB2aXNlIGRlIHBhc3NlbmRlIGFydGlrbGVuZSBmcmEgZmlsdHJlcmluZ3NvcGVyYXNqb25lbi4nOwokbGFuZ1snaGVscF9wYXJhbV9zb3J0YnknXSA9ICdCcnVrdCBtZWQgc3RhbmRhcmQgaGFuZGxpbmdlbiB2aWwgZGVubmUgcGFyYW1ldGVyZW4gc3Blc2lmaXNlcmUgc29ydGVyaW5nZW4gYXYgZGVuIGdlbmVyZXJ0ZSB2aXNuaW5nZW4uIE11bGlnZSB2ZXJkaWVyIGVyOg0KPHVsPg0KIDxsaT5pZCAtIEJydWtlcmVucyBpZCAoa3VuIHN0YW5kYXJkIHZpc25pbmcpPC9saT4NCiA8bGk+dXNlcm5hbWUgLSBCcnVrZXJlbnMgYnJ1a2VybmF2biAoa3VuIHN0YW5kYXJkIHZpc25pbmcpPC9saT4NCiA8bGk+Y3JlYXRlZGF0ZSAtIERhdG8gZm9yIG4mYXJpbmc7ciBicnVrZXJrb250b2VuIGJsZSBvcHByZXR0ZXQuIChrdW4gc3RhbmRhcmQgdmlzbmluZyk8L2xpPg0KIDxsaT5leHBpcmVzIC0gRGF0byBmb3IgbiZhcmluZztyIGJydWtlcmtvbnRvZW4gdmlsIHV0bCZvc2xhc2g7cGUgKGVsbGVyIG4mYXJpbmc7ciBkZW4gdXRsJm9zbGFzaDtwKS4gKGt1biBzdGFuZGFyZCB2aXNuaW5nKTwvbGk+DQogPGxpPmFjdGl2aXR5IC0gRGF0byBmb3IgbiZhcmluZztyIGRldCBzaXN0IGJsZSBsb2dnZXQgaW5uIGVsbGVyIHV0IGF2IGJydWtlcmtvbnRvZW4uIChrdW4gc3RhbmRhcmQgdmlzbmluZyk8L2xpPg0KIDxsaT5mOnByb3BlcnR5bmFtZSAtIERldHRlIHRpbGxhdGVyIHNvcnRlcmluZyBhdiB1dGRhdGEgZXR0ZXIgZXQgc3Blc2lmaXNlcnQgRkVVLWVnZW5za2Fwc25hdm4gZi5la3MuOiBmOmZ1bGxfbmFtZS4gIDxzdHJvbmc+TWVyazo8L3N0cm9uZz4gZHUga2FuIHNlIHV2ZW50ZWRlIHJlc3VsdGF0ZXIgb20gZ3J1cHBlbiBzb20gdmlzZXMgaWtrZSBoYXIgZGVubmUgZWdlbnNrYXBlbiwgZWxsZXIgaWtrZSBodmVyIGJydWtlciBpIHJlc3VsdGF0c2V0dGV0IGhhciBkZW5uZSBlZ2Vuc2thcGVuIGRlZmluZXJ0LiBEdSBrYW4gb2dzJmFyaW5nOyBlcmZhcmUgdXZlbnRlZGUgcmVzdWx0YXRlciBvbSBmZWx0ZXQgc29tIGVyIHNwZXNpZmlzZXJ0IGlra2UgZXIgZW4gdGVrc3RzdHJlbmcuIER1IGthbiBrYW5za2plIHRyZW5nZSAmYXJpbmc7IGVuZHJlIHNvcnRvcmRlciAoc29ydGVyaW5nc3Jla2tlZiZvc2xhc2g7bGdlKS1wYXJhbWV0ZXJlbiBmb3IgJmFyaW5nOyBmJmFyaW5nOyBkZXQgJm9zbGFzaDtuc2tlZGUgcmVzdWx0YXQuPC91bD4nOwokbGFuZ1snaGVscF9wYXJhbV9ic29ydG9yZGVyJ10gPSAnTiZhcmluZztyIGJlbnl0dGV0IG1lZCBzJm9zbGFzaDtrZSBoYW5kbGluZ2VuLCB2aWwgZGVubmUgcGFyYW1ldGVyIHNwZXNpZmlzZXJlIHNvcnRlcmluZ3NyZWtrZWYmb3NsYXNoO2xnZW4gZm9yIGRlbiBnZW5lcmVydGUgdmlzbmluZ2UuICBNdWxpZ2UgdmVyZGllciBlcjoNCjx1bD4NCiAgPGxpPkFTQyAtIFN0aWdlbmRlIHJla2tlZiZvc2xhc2g7bGdlPC9saT4NCiAgPGxpPkRFU0MgLSBTeW5rZW5kZSByZWtrZWYmb3NsYXNoO2xnZTwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwX3BhcmFtX3NvcnRvcmRlciddID0gJ0JydWt0IG1lZCBzdGFuZGFyZCBoYW5kbGluZ2VuIHZpbCBkZW5uZSBwYXJhbWV0ZXJlbiBzcGVzaWZpc2VyZSBzb3J0ZXJpbmdzcmV0bmluZ2VuIHAmYXJpbmc7IGRlbiBnZW5lcmVydGUgdmlzbmluZ2VuLiBNdWxpZ2UgdmVyZGllciBlcjoNCjx1bD4NCiAgPGxpPkFTQyAtIFN0aWdlbmRlIHJla2tlZiZvc2xhc2g7bGdlPC9saT4NCiAgPGxpPkRFU0MgLSBTeW5rZW5kZSByZWtrZWYmb3NsYXNoO2xnZTwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwX3BhcmFtX3BhZ2VsaW1pdCddID0gJ0JydWt0IG1lZCBzdGFuZGFyZCBoYW5kbGluZ2VuIHZpbCBkZW5uZSBwYXJhbWV0ZXJlbiBzcGVzaWZpc2VyZSBtYWtzaW1hbHQgYW50YWxsIHBvc3RlciBzb20gc2thbCB2aXNlcy4nOwokbGFuZ1snaGVscF9wYXJhbV9wcm9wJ10gPSAnQnJ1a3QgbWVkIHN0YW5kYXJkIG9nIGRpcmVjdG9yeSBoYW5kbGluZ2VuZSB2aWwgZGVubmUgcGFyYW1ldGVyIG9wcGYmb3NsYXNoO3JlIHNlZyBwJmFyaW5nOyB0byB1bGlrZSBtJmFyaW5nO3RlciBhbHQgZXR0ZXIgaGFuZGxpbmdlbjoNCjx1bD4NCiAgPGxpPlN0YW5kYXJkIChzYW1tZW5kcmFnKSBoYW5kbGluZ2VuLg0KICAgIDxwPkkgc3RhbmRhcmQgKHNhbW1lbmRyYWcpIGhhbmRsaW5nZW4ga2FuIGRlbm5lIHBhcmFtZXRlcmVuIGJlbnl0dGVzIGZvciAmYXJpbmc7IHNwZXNpZmlzZXJlIGVuIGVnZW5za2FwIG1hbiB2aWwgZmlsdHJlcmUgcCZhcmluZzsuPC9wPg0KICA8L2xpPg0KICA8bGk+QnJvd3NlIGhhbmRsaW5nZW4NCiAgICA8cD5JIGJyb3dzZSBoYW5kbGluZ2VuIGthbiBkZW5uZSBwYXJhbWV0ZXJlbiBiZW55dHRlcyBmb3IgJmFyaW5nOyBzcGVzaWZpc2VyZSBlbiBGRVUgZWdlbnNrYXAgJmFyaW5nOyBsZXRlIGk8L3A+DQogIDwvbGk+DQogIDxsaT5LYXRhbG9nIGhhbmRsaW5nZW4uDQogICAgPHA+SSBkaXJlY3Rvcnkoa2F0YWxvZykgaGFuZGxpbmdlbiBrYW4gZGVubmUgcGFyYW1ldGVyZW4gYmVueXR0ZXMgZm9yICZhcmluZzsgc3Blc2lmaXNlcmUgZW4gZWdlbnNrYXAgbWFuIHZpbCBnZW5lcmVyZSBlbiBrYXRhbG9nIGZyYS4gU3RhbmRhcmQgdmVyZGkgaSBkaXJlY3Rvcnkoa2F0YWxvZykgaGFuZGxpbmdlbiBlciAmYW1wO3F1b3RlO3Vuc2VybmFtZSZhbXA7cXVvdGU7PC9wPg0KICA8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscF9wYXJhbV9wcm9wdmFsJ10gPSAnQmVueXR0ZXQgc2FtbWVuIG1lZCAgJnF1b3Q7cHJvcCZxdW90OyAgcGFyYW1ldGVyZW4gZm9yIHN0YW5kYXJkIChzYW1tZW5kcmFnKSBoYW5kbGluZ2VuLCB0aWxsYXRlciBkZW5uZSBwYXJhbWV0ZXJlbiAmYXJpbmc7IHNwZXNpZmlzZXJlIGVuIHZlcmRpIHNvbSBicnVrZXJlIHNrYWwgZmlsdHJlcmVzIG1lZC4nOwokbGFuZ1snaGVscF9wYXJhbV91c2VsaWtlJ10gPSAnQmVueXR0ZXQgc2FtbWVuIG1lZCAgJnF1b3Q7cHJvcCZxdW90OyAgb2cgICZxdW90O3Byb3B2YWwmcXVvdDsgIHBhcmFtZXRlcmVuLCB2aWwgZGVubmUgcGFyYW1ldGVyZW4gLSBvbSBkZW4gZXIgc2F0dCB0aWwgZW4gcG9zaXRpdiBpbnRlZ2VyIHZlcmRpIC0gaW5kaWtlcmUgYXQgcHJvcHZhbCBwYXJhbWV0ZXJlbiBpbm5laG9sZGVyIGV0IExJS0UgdXR0cnlrayAoTElLRSBleHByZXNzaW9uKS4nOwokbGFuZ1snaGVscF9wYXJhbV9kZXRhaWxwYWdlJ10gPSAnRGVubmUgcGFyYW1ldGVyZW4sIG9tIHNwZXNpZmlzZXJ0LCBiJm9zbGFzaDtyIGlubmVob2xkZSBwYWdlaWQgZWxsZXIgYWxpYXMgZm9yIGVuIENNUyBpbm5ob2xkc2lkZSBodm9yIGR1IHZpbCBhdCBkZXRhbGpyYXBwb3J0ZXIgc2thbCB2aXNlcy4nOwokbGFuZ1snaGVscF9wYXJhbV9zdW1tYXJ5dGVtcGxhdGUnXSA9ICdEZW5uZSBwYXJhbWV0ZXIgdGlsbGF0ZXIgJmFyaW5nOyBzcGVzaWZpc2VyZSBuYXZuZXQgcCZhcmluZzsgZW4gbWFsLCBzb20gaWtrZSBlciBzeXN0ZW1zdGFuZGFyZCBmb3Igc2FtbWVuZHJhZywgJmFyaW5nOyBiZW55dHRlIGZvciBzYW1tZW5kcmFnc3Zpc25pbmdlcic7CiRsYW5nWydoZWxwX3BhcmFtX2RldGFpbHRlbXBsYXRlJ10gPSAnRGVubmUgcGFyYW1ldGVyIHRpbGxhdGVyICZhcmluZzsgc3Blc2lmaXNlcmUgbmF2bmV0IHAmYXJpbmc7IGVuIG1hbCwgc29tIGlra2UgZXIgc3lzdGVtc3RhbmRhcmQgZm9yIGRldGFsanZpc25pbmcsICZhcmluZzsgYmVueXR0ZSBmb3IgZGV0YWxqdmlzbmluZ2VyJzsKJGxhbmdbJ2hlbHBfcGFyYW1fZGlyZWN0b3J5dGVtcGxhdGUnXSA9ICdEZW5uZSBwYXJhbWV0ZXIgdGlsbGF0ZXIgJmFyaW5nOyBzcGVzaWZpc2VyZSBuYXZuZXQgcCZhcmluZzsgZW4gbWFsLCBzb20gaWtrZSBlciBzeXN0ZW1zdGFuZGFyZCBmb3Iga2F0YWxvZ3Zpc25pbmcsICZhcmluZzsgYmVueXR0ZSBmb3Iga2F0YWxvZ3Zpc25pbmdlcic7CiRsYW5nWydoZWxwX3BhcmFtX3NlYXJjaGZvcm10ZW1wbGF0ZSddID0gJ0Rlbm5lIHBhcmFtZXRlciB0aWxsYXRlciAmYXJpbmc7IHNwZXNpZmlzZXJlIG5hdm5ldCBwJmFyaW5nOyBlbiBzJm9zbGFzaDtrZW1hbCBzb20gaWtrZSBlciBzYXR0IHN0YW5kYXJkICZhcmluZzsgYmVueXR0ZSBpIHMmb3NsYXNoO2tlc2tqZW1hJzsKJGxhbmdbJ2hlbHBfcGFyYW1fc2VhcmNocHJvcGVydHknXSA9ICdEZW5uZSBwYXJhbWV0ZXIgdGlsbGF0ZXIgJmFyaW5nOyBzcGVzaWZpc2VyZSBldCBlbmtlbHQgZWtzdHJhIEZFVSBlZ2Vuc2thcHNuYXZuICZhcmluZzsgdGlsZiZvc2xhc2g7cmUgdGlsIHMmb3NsYXNoO2tlc2tqZW1hZXQnOwokbGFuZ1snaGVscF9wYXJhbV91aWQnXSA9ICdCZW55dHRldCBzYW1tZW4gbWVkIGRldGFsanZpc25pbmdlbiwgbSZhcmluZzsgZGVubmUgcGFyYW1ldGVyZW4gaW5uZWhvbGRlIHVpZCBmb3IgZW4gZ3lsZGlnIEZyb250RW5kVXNlciBrb250byc7CiRsYW5nWydpbmZvX2Jyb3dzZXByb3BfdGVtcGxhdGUnXSA9ICdTJm9zbGFzaDtrLWllZ2Vuc2thcChCcm93c2UgUHJvcGVydHkpLW1hbGVyIHZpc2VyIGVuIGxpc3RlIG1lZCB1bmlrZSB2ZXJkaWVyIGZvciBkZW4gc3Blc2lmaXNlcnRlIGVnZW5za2FwZW4uIEh2ZXIgb3BwZiZvc2xhc2g7cmluZyBpIGxpc3RlbiBlciBlbiBsZW5rZSB0aWwgZW4gc2FtbWVuZHJhZ3N2aXNuaW5nIHNvbSBpbm5laG9sZGVyIGRlIGJydWtlcm5lIHNvbSBwYXNzZXIgZGVuIGVnZW5za2Fwc3ZlcmRpZW4uIER1IGthbiBiZW55dHRlIGVudmhlciBzbWFydHlsb2dpa2sgZWxsZXIgdmFyaWFibGVyIHNvbSBhbGxlcmVkZSBlciBvcHByZXR0ZXQsIGVsbGVyIGRlIHNvbSBzcGVzaWZpa3QgZXIgZ2pvcnQgdGlsZ2plbmdlbGlnZSBmb3IgZGVubmUgdmlzbmluZ2VuLic7CiRsYW5nWydpbmZvX2Jyb3dzZXByb3BfdGVtcGxhdGVzX3RhYiddID0gJ0Rlbm5lIGZhbmVuIGlubmVob2xkZXJsaXN0ZW4gbWVkIHRpbGdqZW5nZWxpZ2UgcyZvc2xhc2g7ay1pZWdlbnNrYXAoYnJvd3NlIHByb3BlcnR5KSB2aXNuaW5nc21hbGVyLiBFbiBhdiBkZW0gZXIgc2F0dCBzb20gc3RhbmRhcmQuIERlbiBzb20gZXIgc3RhbmRhcmQgdmlsIGJsaSBiZW55dHRldCBuJmFyaW5nO3IgaW5nZW4gYW5kcmUgbWFsbmF2biBlciBvcHBnaXR0IGkgdGFnZ2VuIHNvbSBrYWxsZXIgZGVubmUgbW9kdWxlbic7CiRsYW5nWydpbmZvX2RldGFpbF90ZW1wbGF0ZSddID0gJ0RldGFsam1hbGVyIHZpc2VyIGRldGFsamVydCBpbmZvcm1hc2pvbiBvbSBlbiBzcGVzaWZpZXNlcnQgRnJvbnRFbmRVc2VyLiBIRXIgZGVzaWduZXIgZHUgbSZhcmluZzt0ZW4gZHUgdmlsIGF0IGRlbm5lIGluZm9ybWFzam9uZW4gc2thbCB2aXNlcy4gRHUga2FuIGJydWtlIGFsbCBzbWFydHkgbG9naWtrIGVsbGVyIHZhcmlhYmxlciBzb20gZnJhIGYmb3NsYXNoO3IgaGFyIGJsaXR0IGRlc2lnbmV0LCBlbGxlciBkZSBzb20gZXIgZ2pvcnQgdGlsZ2plbmdlbGlnZSBzcGVzaWVsdCBmb3IgZGVubmUgdmlzbmluZ2VuJzsKJGxhbmdbJ2luZm9fZGV0YWlsX3RlbXBsYXRlc190YWInXSA9ICdEZW5uZSBmYW5lbiBpbm5laG9sZGVyIGxpc3RlbiBtZWQgdGlsZ2plbmdlbGlnZSBkZXRhbGp2aXNuaW5nIG1hbGVyLiBFbiBhdiBkZW0gZXIgbWFya2VydCBzb20gc3RhbmRhcmQuIERlbiBzb20gZXIgc3RhbmRhcmQgdmlsIGJsaSBiZW55dHRldCBuJmFyaW5nO3IgaWtrZSBldCBhbm5ldCBtYWxuYXZuIGVyIGVrc3BsaXNpdHQgYW5naXR0IGkgdGFnZ2VuIHNvbSBrYWxsZXIgZGVubmUgbW9kdWxlbic7CiRsYW5nWydpbmZvX2RpcmVjdG9yeV90ZW1wbGF0ZSddID0gJ0thdGFsb2dtYWxlciB2aXNlciBlbiBhbGZhYmV0aXNrIGxpc3RlIG1lZCBsZW5rZXIuIE4mYXJpbmc7ciBlbiBsZW5rZSBrbGlra2VzIHZpbCBkZW4gdmlzZSBlbiBzYW1tZW5kcmFnc3Zpc25pbmcgYXYgZGUgYnJ1a2VybmUgc29tIHBhc3NlciBtZWQgZGVuIGJva3N0YXZlbi4gRGV0IGVyIG11bGlnICZhcmluZzsgb3BwcmV0dGUga2F0YWxvZ2VyIGJhc2VydCBwJmFyaW5nOyBmb3Jza2plbGxpZ2UgZWdlbnNrYXBlci4gSGVyIGRlc2lnbmVyIGR1IGh2b3JkYW4gZHUgdmlsIGF0IGRlbm5lIGluZm9ybWFzam9uZW4gc2thbCB2aXNlcy4gRHUga2FuIGJydWtlIGFsbCBzbWFydHkgbG9naWtrIGVsbGVyIHZhcmlhYmxlciBzb20gZnJhIGYmb3NsYXNoO3IgaGFyIGJsaXR0IGRlc2lnbmV0LCBlbGxlciBkZSBzb20gZXIgZ2pvcnQgdGlsZ2plbmdlbGlnZSBzcGVzaWVsdCBmb3IgZGVubmUgdmlzbmluZ2VuJzsKJGxhbmdbJ2luZm9fZGlyZWN0b3J5X3RlbXBsYXRlc190YWInXSA9ICdEZW5uZSBmYW5lbiBpbm5laG9sZGVyIGxpc3RlbiBtZWQgdGlsZ2plbmdlbGlnZSBrYXRhbG9nbWFsZXIuIEVuIGF2IGRlbSBlciBtYXJrZXJ0IHNvbSBzdGFuZGFyZC4gRGVuIHNvbSBlciBzdGFuZGFyZCB2aWwgYmxpIGJlbnl0dGV0IG4mYXJpbmc7ciBpa2tlIGV0IGFubmV0IG1hbG5hdm4gZXIgZWtzcGxpc2l0dCBhbmdpdHQgaSB0YWdnZW4gc29tIGthbGxlciBkZW5uZSBtb2R1bGVuJzsKJGxhbmdbJ2luZm9fc3VtbWFyeV90ZW1wbGF0ZSddID0gJ1NhbW1lbmRyYWdzbWFsZXIgdmlzZXIgaW5mb3JtYXNqb24gb20gZW4gbGlzdGUgbWVkIGJydWtlcmUgc29tIHNhbXN2YXJlciBtZWQgZXQga3JpdGVyaXVtLiAgSGVyIGRlc2lnbmVyIGR1IGh2b3JkYW4gZHUgdmlsIGF0IGRlbm5lIGluZm9ybWFzam9uZW4gc2thbCB2aXNlcy4gRHUga2FuIGJydWtlIGFsbCBzbWFydHlsb2dpa2sgZWxsZXIgdmFyaWFibGVyIHNvbSBmcmEgZiZvc2xhc2g7ciBoYXIgYmxpdHQgZGVzaWduZXQsIGVsbGVyIGRlIHNvbSBlciBnam9ydCB0aWxnamVuZ2VsaWdlIHNwZXNpZWx0IGZvciBkZW5uZSB2aXNuaW5nZW4nOwokbGFuZ1snaW5mb19zZWFyY2hmb3JtX3RlbXBsYXRlJ10gPSAnUyZvc2xhc2g7a2Vza2plbWFtYWxlciB2aXNlciBldCBza2plbWEgZm9yICZhcmluZzsgdGlsbGF0ZSBzJm9zbGFzaDtraW5nIGV0dGVyIGVuIGJlc3RlbXQgYnJ1a2VyIGVsbGVyIGVuIGJydWtlcmdydXBwZS4gSGVyIGRlc2lnbmVyIGR1IG0mYXJpbmc7dGVuIGR1IHZpbCBhdCBza2plbWEgc2thbCB2aXNlcy4gRHUga2FuIGJydWtlIGFsbCBzbWFydHlsb2dpa2sgZWxsZXIgdmFyaWFibGVyIHNvbSBmcmEgZiZvc2xhc2g7ciBoYXIgYmxpdHQgZGVzaWduZXQsIGVsbGVyIGRlIHNvbSBlciBnam9ydCB0aWxnamVuZ2VsaWdlIHNwZXNpZWx0IGZvciBkZW5uZSB2aXNuaW5nZW4nOwokbGFuZ1snaW5mb19zZWFyY2hmb3JtX3RlbXBsYXRlc190YWInXSA9ICdEZW5uZSBmYW5lbiBpbm5laG9sZGVyIGxpc3RlbiBtZWQgdGlsZ2plbmdlbGlnZSBzJm9zbGFzaDtrZXNramVtYW1hbGVyLiBFbiBhdiBkaXNzZSBlciBtYXJrZXJ0IHNvbSBzdGFuZGFyZC4gRGVuIHNvbSBlciBzdGFuZGFyZCB2aWwgYXV0b21hdGlzayBibGkgYmVueXR0ZXQgb20gZGV0IGlra2UgZXQgYW5uZXQgbmF2biBvcHBnaXMgaSB0YWdnZW4gc29tIGthbGxlciBvcHAgZGVubmUgbW9kdWxlbic7CiRsYW5nWydpbmZvX3N1bW1hcnlfdGVtcGxhdGVzX3RhYiddID0gJ0Rlbm5lIGZhbmVuIGlubmVob2xkZXIgbGlzdGVuIG1lZCB0aWxnamVuZ2VsaWdlIHNhbW1lbmRyYWdzbWFsZXIuIEVuIGF2IGRlbSBlciBtYXJrZXJ0IHNvbSBzdGFuZGFyZC4gRGVuIHNvbSBlciBzdGFuZGFyZCB2aWwgYmxpIGJlbnl0dGV0IG4mYXJpbmc7ciBpa2tlIGV0IGFubmV0IG1hbG5hdm4gZXIgZWtzcGxpc2l0dCBhbmdpdHQgaSB0YWdnZW4gc29tIGthbGxlciBkZW5uZSBtb2R1bGVuJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9icm93c2Vwcm9wX3RlbXBsYXRlJ10gPSAnU3lzdGVtc3RhbmRhcmQgcyZvc2xhc2g7ay1pLWVnZW5za2FwKEJyb3dzZSBQcm9wZXJ0eSkgdmlzbmluZ3NtYWwnOwokbGFuZ1snaW5mb19zeXNkZmx0X2RldGFpbF90ZW1wbGF0ZSddID0gJ1N5c3RlbXN0YW5kYXJkIGRldGFsanZpc25pbmdzbWFsJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9kaXJlY3RvcnlfdGVtcGxhdGUnXSA9ICdTeXN0ZW1zdGFuZGFyZCBrYXRhbG9nbWFsJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9zZWFyY2hmb3JtX3RlbXBsYXRlJ10gPSAnU3lzdGVtc3RhbmRhcmQgcyZvc2xhc2g7a2Vza2plbWFtYWwnOwokbGFuZ1snaW5mb19zeXNkZmx0X3N1bW1hcnlfdGVtcGxhdGUnXSA9ICdTeXN0ZW1zdGFuZGFyZCBzYW1tZW5kcmFnc3Zpc25pbmdzbWFsJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF90ZW1wbGF0ZSddID0gJyZBcmluZzsgZW5kcmUgaSBkZW5uZSBtYWwgdmlsIGlra2UgaGEgbm9lbiB1bWlkZGVsYmFyIGVmZmVrdCBwJmFyaW5nOyBub2VuIHZpc25pbmcuICBEZXR0ZSBza2plbWEga29udHJvbGxlcmVyIGlubmhvbGRldCBwJmFyaW5nOyBtYWxlbiBzb20gb3BwcmV0dGVzIG4mYXJpbmc7ciBkdSBrbGlra2VyICZxdW90O055IG1hbCZxdW90OyBpIGRlbiBha3R1ZWxsZSBmYW5lbi4nOwokbGFuZ1snbGFzdF9hY3RpdmUnXSA9ICdTaXN0ZSBha3RpdmUnOwokbGFuZ1snbGJsX2Jyb3dzZXByb3B0ZW1wbGF0ZXMnXSA9ICdTJm9zbGFzaDtrLWktZWdlbnNrYXAoQnJvd3NlIFByb3BlcnR5KSBtYWxlcic7CiRsYW5nWydsYmxfZGVmYXVsdHRlbXBsYXRlcyddID0gJ1N0YW5kYXJkIG1hbGVyJzsKJGxhbmdbJ2xibF9kZXRhaWx0ZW1wbGF0ZXMnXSA9ICdEZXRhbGp2aXNuaW5ncyBtYWxlcic7CiRsYW5nWydsYmxfZGlyZWN0b3J5dGVtcGxhdGVzJ10gPSAnS2F0YWxvZ21hbGVyJzsKJGxhbmdbJ2xibF9maXJzdF9wYWdlJ10gPSAnRyZhcmluZzsgdGlsIGYmb3NsYXNoO3JzdGUgc2lkZW4nOwokbGFuZ1snbGJsX2xhc3RfcGFnZSddID0gJ0cmYXJpbmc7IHRpbCBzaXN0ZSBzaWRlbic7CiRsYW5nWydsYmxfbmV4dF9wYWdlJ10gPSAnRyZhcmluZzsgdGlsIG5lc3RlIHNpZGUnOwokbGFuZ1snbGJsX3ByZXZfcGFnZSddID0gJ0cmYXJpbmc7IHRpbCBmb3JyaWdlIHNpZGUnOwokbGFuZ1snbGJsX3NlYXJjaGZvcm10ZW1wbGF0ZXMnXSA9ICdTJm9zbGFzaDtrZXNramVtYW1hbGVyJzsKJGxhbmdbJ2xibF9zZXR0aW5ncyddID0gJ0lubnN0aWxsaW5nZXInOwokbGFuZ1snbGJsX3N1bW1hcnl0ZW1wbGF0ZXMnXSA9ICdTYW1tZW5kcmFnc3Zpc25pbmdzIG1hbGVyJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnRW4gbW9kdWwgc29tIHRpbGxhdGVyIHMmb3NsYXNoO2tpbmcsIGJsYWluZyBvZyB2aXNuaW5nIGF2IGRldGFsamVyIG9tIEZyb250RW5kVXNlcnMnOwokbGFuZ1snb2YnXSA9ICdhdic7CiRsYW5nWydwYWdlJ10gPSAnU2lkZSc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0NHVXNlckRpcmVjdG9yeSBtb2R1bGVuIGVyIG4mYXJpbmc7IGtsYXIgZm9yICZhcmluZzsga29uZmlndXJlcmVzJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdDR1VzZXJkaXJlY3RvcnkgbW9kdWxlbiwgb2cgYWxsZSBhc3Nvc2llcnRlIGRhdGEgaGFyIGJsaXR0IGF2aW5zdGFsbGVydCBmcmEgZGF0YWJhc2VuJzsKJGxhbmdbJ3Jlc3VsdHNfYWxsX2FueSddID0gJ1JldHVybmVyIHJlc3VsdGF0ZXIgc29tIHNhbXN2YXJlciBtZWQgYWxsZSBlbGxlciBlbmh2ZXIgYXYgdmlsayZhcmluZztyZW5lIHNwZXNpZmlzZXJ0JzsKJGxhbmdbJ3N1Ym1pdCddID0gJ1V0ZiZvc2xhc2g7cic7CiRsYW5nWyd1c2VybmFtZSddID0gJ0JydWtlcm5hdm4nOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjY5Mjg0OTA1LjI1MzYuNTUudXRtY3NyPWZvcnVtLmNtc21hZGVzaW1wbGUub3JnfHV0bWNjbj0ocmVmZXJyYWwpfHV0bWNtZD1yZWZlcnJhbHx1dG1jY3Q9L2luZGV4LnBocCc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjE3OTA1MjYyMzA4NDExMDEwMC4xMjEwNDIzNTc3LjEyNjk3MjI1NzkuMTI2OTczNDQyMS4yNTY3JzsKJGxhbmdbJ3FjYSddID0gJzEyMTA5NzE2OTAtMjczMDgwNzMtODE5NTI4MzInOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nl_NL.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FkZGVkaXRfYnJvd3NlcHJvcF90ZW1wbGF0ZSddID0gJ1RvZXZvZWdlbi93aWp6aWdlbiBicm93c2UgZWlnZW5zY2hhcHBlbiBzamFibG9vbic7CiRsYW5nWydhZGRlZGl0X2RldGFpbF90ZW1wbGF0ZSddID0gJ1RvZXZvZWdlbi93aWp6aWdlbiBkZXRhaWwgc2phYm9vbic7CiRsYW5nWydhZGRlZGl0X2RpcmVjdG9yeV90ZW1wbGF0ZSddID0gJ1RvZXZvZWdlbi93aWp6aWdlbiBkaXJlY3Rvcnkgc2phYmxvb24nOwokbGFuZ1snYWRkZWRpdF9zZWFyY2hmb3JtX3RlbXBsYXRlJ10gPSAnVG9ldm9lZ2VuL3dpanppZ2VuIGZvcm11bGllciBzamFib29uJzsKJGxhbmdbJ2FkZGVkaXRfc3VtbWFyeV90ZW1wbGF0ZSddID0gJ1RvZXZvZWdlbi93aWp6aWdlbiBzYW1lbnZhdHRpbmcgc2phYmxvb24nOwokbGFuZ1snYWxsJ10gPSAnQWxsZSc7CiRsYW5nWydhbnknXSA9ICdFbmlnZSc7CiRsYW5nWydhc2tfcmVhbGx5X3VuaW5zdGFsbCddID0gJ1dlZXQgdSB6ZWtlciBkYXQgdSBkaXQgd2lsdCBkb2VuPyBEb29yZ2FhbiB6YWwgYWxsZSBnZWdldmVucyB2YW4gZGV6ZSBtb2R1bGUgZGVmaW5pdGllZiB2ZXJ3aWpkZXJlbic7CiRsYW5nWydjcmVhdGVkJ10gPSAnR2VtYWFrdCc7CiRsYW5nWydlcnJvcl9pbnZhbGlkZ3JvdXAnXSA9ICdWZXJrZWVyZGUgZ3JvZXAnOwokbGFuZ1snZXJyb3JfaW52YWxpZHNvcnRmaWVsZCddID0gJ1ZlcmtlZXJkIGtldXpldmVsZDogJXMnOwokbGFuZ1snZXJyb3JfbWlzc2luZ3BhcmFtJ10gPSAnVGUgd2VpbmlnIHBhcmFtZXRlcnMnOwokbGFuZ1snZXJyb3Jfbm9mZXUnXSA9ICdEZSBGcm9udGVuZCBVc2VycyBtb2R1bGUgaXMgbmlldCBhYW53ZXppZyc7CiRsYW5nWydlcnJvcl91c2Vybm90Zm91bmQnXSA9ICdEZSBnZWJydWlrZXIgbWV0IGRpdCBJRCBpcyBuaWV0IGdldm9uZGVuJzsKJGxhbmdbJ2V4cGlyZXMnXSA9ICdWZXJsb29wdCc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdDYWxndXlzIFVzZXIgRGlyZWN0b3J5ICc7CiRsYW5nWydncm91cHMnXSA9ICdHcm9lcGVuJzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2FhciB3b3JkdCBoZXQgdm9vciBnZWJydWlrdD88L2gzPg0KPHA+RGV6ZSBtb2R1bGUgZ2VlZnQgZGUgbW9nZWxpamtoZWlkIG9tIG92ZXJ6aWNodGVuIHRlIGdlbmVyZXJlbiBtZXQgc2FtZW52YXR0aW5nZW4gdmFuIGdlZ2V2ZW5zIHZhbiBGcm9udEVuZFVzZXJzIG9wIGJhc2lzIHZhbiB2b29yaW5nZXN0ZWxkZSB2b29yd2FhcmRlbi4gT29rIGthbiBlciBlZW4gdWl0Z2VicmVpZGRlIHBhZ2luYSB3b3JkZW4gZ2VtYWFrdC4gSGV0IGthbiBnZWJydWlrdCB3b3JkZW4gdm9vciBoZXQgbWFrZW4gdmFuIHByb2ZpZWwgcGFnaW5hJiMwMzk7cyBvZiBhbHMgZWVuIHpnbi4gc21vZWxlbmJvZWsuPC9wPg0KDQo8aDM+TW9nZWxpamtoZWRlbjo8L2gzPg0KPHVsPg0KICA8bGk+Vm9sbGVkaWcgc2phYmxvb25iZWhlZXINCjxwPkFsbGUgc2NoZXJtZW4gemlqbiBkb29yIGRlIGJlc2NoaWtiYXJlIHNqYWJsb25lbiBnZWhlZWwgdGUgY29uZmlndXJlcmVuLCBlciBrYW4gb29rIGdlYnJ1aWsgZ2VtYWFrdCB3b3JkZW4gdmFuIG8uYS4gamF2YXNjcmlwdCwgYWpheCwgZXRjLiBEZSB2b3JtZ2V2aW5nIGlzIGhpZXJkb29yIGdlaGVlbCB0ZSB3aWp6aWdlbiBkb29yIGRlIHdlYnNpdGUgdm9ybWdldmVyLjwvcD4NCiAgPC9saT4NCiAgPGxpPk1lZXJkZXJlIGRhdGFiYXNlIHNqYWJsb25lbi4NCjxwPlUga3VudCBvcCB2ZXJzY2hpbGxlbmRlIG1hbmllcmVuIG1ldCBkZSBnZWdldmVucyBzY2hlcm1lbiBvcGJvdXdlbiBlbiBkZXplIG9wIGRpdmVyc2UgbWFuaWVyZW4gZ2VicnVpa2VuLjwvcD4NCiAgPC9saT4NCjxsaT5GaWx0ZXIgc2FtZW52YXR0aW5nZW4gZG9vciBnZWJydWlrIHZhbiBnZWJydWlrZXJzZ2VnZXZlbnMuDQo8cD5VIGt1bnQgZGUgdWl0a29tc3QgZmlsdGVyZW4gZ2ViYXNlZXJkIG9wIGVlbiBzcGVjaWZpZWtlIGdlYnJ1aWtlciB1aXQgZGUgRkVVIG1vZHVsZS4gRGl0IGlzIGluY2x1c2llZiAmcXVvdDtMSUtFJnF1b3Q7IGdlYmFzZWVyZGUgY3JpdGVyaWEuPC9wPg0KICA8L2xpPg0KICA8bGk+U29ydGVyZW4gbWV0IG1lZXJkZXJlIGNyaXRlcmlhLjwvbGk+DQogIDxsaT5PbmRlcnN0ZXVuZCBTRU8gdnJpZW5kZWxpamtlIFVSTCYjMDM5O3M8L2xpPg0KPC91bD4NCjxoMz5Ib2UgZ2VicnVpayBpayBoZXQ/PC9oMz4NCjxwPkRlIG1ha2tlbGlqa3N0ZSBtYW5pZXIgb20gZGUgbW9kdWxlIHRlIGdlYnJ1aWtlbiBpcyBkb29yIGVlbiB0YWcgaW4gZGUgcGFnaW5hc2phYmxvb24gb2YgaW4gZGUgcGFnaW5hIGNvbnRlbnQgdGUgcGxhYXRzZW46IDxjb2RlPntDR1VzZXJEaXJlY3Rvcnl9PC9jb2RlPi4gT20gZGUgZnVuY3Rpb25hbGl0ZWl0IHVpdCB0ZSBicmVpZGVuIG9mIG9tIHNsZWNodHMgZWVuIGdlZGVlbHRlIHRlIGxhdGVuIHppZW4gZ2VicnVpayBvbmRlcnN0YWFuZGUgcGFyYW1ldGVycy48L3A+DQoNCjxoMz5Wb29yYmVlbGRlbjo8L2gzPg0KPHVsPg0KPGxpPkxhYXQgYWxsZSBnZWJydWlrZXJzIHppZW46DQo8cD48Y29kZT57Q0dVc2VyRGlyZWN0b3J5IGFjdGlvbj0mcXVvdDtkaXJlY3RvcnkmcXVvdDt9PC9jb2RlPjwvcD4NCjwvbGk+DQo8bGk+TGFhdCBkZSBnZWJydWlrZXJzIHBlciB3b29ucGxhYXRzIHppZW46DQo8cD48Y29kZT57Q0dVc2VyRGlyZWN0b3J5IGFjdGlvbj0mcXVvdDtkaXJlY3RvcnkmcXVvdDsgcHJvcD0mcXVvdDtjaXR5JnF1b3Q7fTwvY29kZT48L3A+DQo8L2xpPg0KPGxpPkxhYXQgZWVuIHNhbWVudmF0dGluZyB6aWVuIHZhbiBhbGxlIGdlYnJ1aWtlcnMgaW4gZGUgJnF1b3Q7bWVtYmVycyZxdW90OyBncm9lcDoNCjxwPjxjb2RlPntDR1VzZXJEaXJlY3RvcnkgZ3JvdXA9JnF1b3Q7bWVtYmVycyZxdW90O308L2NvZGU+PC9wPg0KPC9saT4NCjxsaT5MYWF0IGFsbGUgYmVicnVpa2VycyB6aWVuIGluIGRlIHdvb25wbGFhdHMgJnF1b3Q7Q2FsZ2FyeSZxdW90OzoNCjxwPjxjb2RlPntDR1VzZXJEaXJlY3RvcnkgcHJvcD0mcXVvdDtjaXR5JnF1b3Q7IHByb3B2YWw9JnF1b3Q7Y2FsZ2FyeSZxdW90O308L2NvZGU+PC9wPg0KPC9saT4NCjxsaT5MYWF0IGFsbGUgZ2VicnVpa2VycyB6aWVuIGRpZSB3b25lbiBpbiBlZW4gbGFuZCBkaWUgYmVnaW50IG1ldCBkZSBsZXR0ZXIgQzoNCjxwPjxjb2RlPntDR1VzZXJEaXJlY3RvcnkgcHJvcD0mcXVvdDtjaXR5JnF1b3Q7IHVzZWxpa2U9MSBwcm9wdmFsPSZxdW90O2MlJnF1b3Q7fTwvY29kZT48L3A+DQo8L2xpPg0KDQo8L3VsPg0KDQo8aDM+T3BtZXJraW5nZW4gb3ZlciAmcXVvdDtwcmV0dHkgVVJMJiMwMzk7cyZxdW90OzwvaDM+DQo8cD4mcXVvdDtQcmV0dHkmcXVvdDsgb2YgU0VPIHZyaWVuZGVsaWprZSBVUkwmIzAzOTtzIGJlcGVya2VuIGRlIGZsZXhpYmlsaXRlaXQgdmFuIGRlIG1vZHVsZSBlbiBkZSB0ZSBnZWJydWlrZW4gcGFyYW1ldGVycy4gTWV0IG5hbWUgZGllZ2VuZSBkaWUgZG9vcmdlc3R1dXJkIHdvcmRlbiB2YW4gb25kZXJsaWdnZW5kZSBzY2hlcm1lbi4gT20gZGV6ZSByZWRlbiB3b3JkZW4gZXIgZ2VlbiBwcmV0dHktdXJsJiMwMzk7cyBnZWdlbmVyZWVyZCBpbiBkZSBzYW1lbnZhdHRpbmdzIHZlcndpanppbmdlbi4gSGllcmRvb3Iga3VubmVuIGRlIHBhcmFtZXRlcnMgem9hbHMgJnF1b3Q7ZGV0YWlscGFnZSZxdW90OywgJnF1b3Q7ZGV0YWlsdGVtcGxhdGUmcXVvdDsgZW4gICZxdW90O3N1bW1hcnl0ZW1wbGF0ZSZxdW90OyB3b3JkZW4gZ2VicnVpa3QgaW4gZGUgdGFnIG9tIGRlIG1vZHVsZSB0ZSBnZWJydWlrZW4gZW4ga3VubmVuIGRlemUgZ2VicnVpa3Qgd29yZGVuIGluIGRlIG9uZGVybGlnZ2VuZGUgZGV0YWlsIG92ZXJ6aWNodGVuLjxiciAvPg0KPCEtLSBSb2xmOiAtLT5bVmVydGFsZXI6IEhvcGVsaWprIGlzIGRpdCB3YXQgQ2FsZ3V5IGJlZG9lbGRlLCBraWprIGFuZGVycyBldmVuIGluIGRlIEVuZ2Vsc2UgdmVyc2llIV0NCjwvcD4NCjxoMz5TdXBwb3J0IFtFbmcuXTwvaDM+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+DQo8dWw+DQo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQgb3IgYnV5IGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHZpc2l0IHRoZSBjbXMgZGV2ZWxvcG1lbnQgZm9yZ2UgYXQgPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZyI+ZGV2LmNtc21hZGVzaW1wbGUub3JnPC9hPi48L2xpPg0KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAgYWxsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zIj5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IocykgZGlyZWN0bHkuPC9saT4gIA0KPC91bD4NCg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZSBbRW5nLl08L2gzPg0KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA4LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+PGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmc+PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCml0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQp0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcg0KKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+DQo8cD5Ib3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQNCmFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQ0KaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUw0KTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIA0Kc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCmJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KT3IgcmVhZCBpdCA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPm9ubGluZTwvYT48L3A+JzsKJGxhbmdbJ2hlbHBfcGFyYW1fYWN0aW9uJ10gPSAnRGV6ZSBwYXJhbWV0ZXIgYmVoZWVydCBkZSB3ZXJrd2lqemUgdmFuIGRlIG1vZHVsZS4gRXIgemlqbiBkcmllIG1vZ2VsaWprZSB3YWFyZGVuOg0KPHVsPg0KICA8bGk+ZGVmYXVsdCAtIExhYXQgZWVuIHNhbWVudmF0dGluZyB2YW4gZGUgZ2VicnVpa2VycyB6aWVuLCBkaWUgYWFuIGRlemUgdm9vcndhYXJkZW4gdm9sZG9ldCAmb2FjdXRlO2YgYWxsZSBnZWJydWlrZXJzIGFscyBlciBnZWVuIHZvb3J3YWFyZGVuIGluZ2V2b2VyZCB6aWpuLjwvbGk+DQogIDxsaT5kaXJlY3RvcnkgLSBHZWVmdCBpbiBhbGZhYmV0aXNjaGUgdm9sZ29yZGUgdmVyd2lqemluZ2VuIHdlZXIgbmFhciBkZSBzYW1lbnZhdHRpbmdlbiB2YW4gZGUgZ2VicnVpa2VycyBkaWUgdm9sZG9lbiBhYW4gZGUgdm9vcndhYXJkZW4uIEhldCBpcyBtb2dlbGlqayBvbSBlZW4gZGlyZWN0b3J5IG92ZXJ6aWNodCB0ZSBrcmlqZ2VuIG1ldCBlZW4gZ2VicnVpa2Vyc25hYW0gb2YgZWxrZSBhbmRlcmUgcGFyYW1ldGVyLjwvbGk+DQogIDxsaT5kZXRhaWwgLSBHZWVmdCBlZW4gdm9sbGVkaWcgb3ZlcnppY2h0IHdlZXIgdmFuIGRlIGdlc3BlY2lmaWNlZXJkZSBnZWJydWlrZXIuPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHBfcGFyYW1fYnJvd3NlcHJvcHRlbXBsYXRlJ10gPSAnRGV6ZSBwYXJhbWV0ZXIgc3RhYXQgdG9lIG9tIGVlbiBuaWV0LXN0YW5kYWFyZCBlaWdlbnNjaGFwcGVuc2phYmxvb24gd2VlciB0ZSBnZXZlbiB2b29yIGVlbiB3ZWVyZ2F2ZSB3YWFyYmlqIGRlIGVpZ2Vuc2NoYXBwZW4gYmVrZWtlbiBrdW5uZW4gd29yZGVuJzsKJGxhbmdbJ2hlbHBfcGFyYW1fZ3JvdXAnXSA9ICdEZXplIHBhcmFtZXRlciBtb2V0IGRlIG5hYW0gaW5ob3VkZW4gdmFuIGVlbiBGRVUgZ2VicnVpa2Vyc2dyb2VwICc7CiRsYW5nWydoZWxwX3BhcmFtX2dpZCddID0gJ0RlemUgcGFyYW1ldGVyIG1vZXQgZGUgSUQgdmFuIGVlbiBGRVUgZ2VicnVpa2Vyc2dyb2VwIGJldmF0dGVuIGVuIHphbCBkZSB1aXRrb21zdCBiZXBlcmtlbiB0b3QgZGUgbGVkZW4gdmFuIGRlemUgZ3JvZXAuIERlemUgcGFyYW1ldGVyIGthbiBuaWV0IGdlYnJ1aWt0IHdvcmRlbiBzYW1lbiBtZXQgZGUgJiMwMzk7Z3JvdXAmIzAzOTsgcGFyYW1ldGVyLic7CiRsYW5nWydoZWxwX3BhcmFtX3Nob3dleHBpcmVkJ10gPSAnU3RhbmRhYXJkIHdhYXJkZSwgZGUgbW9kdWxlIHphbCB2ZXJsb3BlbiBnZWJydWlrZXJzIG5pZXQgdG9uZW4gaW4gZGUgZ2VicnVpa3RlIHJhcHBvcnRlbi4gRG9vciBkZSBwYXJhbWV0ZXIgb3AgJnF1b3Q7MSZxdW90OyB0ZSB6ZXR0ZW4genVsbGVuIGRlemUgdyZlYWN1dGU7bCB3b3JkZW4gZ2V0b29uZC4nOwokbGFuZ1snaGVscF9wYXJhbV9ic29ydGJ5J10gPSAnVXNlZCBmb3IgdGhlIGJyb3dzZSBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgc29ydCBvcmRlciBvZiB0aGUgZ2VuZXJhdGVkIHByb3BlcnR5IG91dHB1dC4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6DQo8dWw+DQogIDxsaT5uYW1lIC0gdGhlIHByb3BlcnR5IG5hbWUuPC9saT4NCiAgPGxpPmNvdW50IC0gdGhlIG51bWJlciBvZiBtYXRjaGVzLjwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwX3BhcmFtX3NwYXJzZSddID0gJ0FsbGVlbiB2YW4gdG9lcGFzc2luZyBvcCBkZSBkaXJlY3Rvcnktd2VlcmdhdmU7IGRlemUgb3B0aWUgemFsIGFsbGVlbiBkZSBkaXJlY3RvcnktbGV0dGVyIHdlZXJnZXZlbiB2b29yIG92ZXJlZW5rb21zdGlnZSBnZWJydWlrZXJzLic7CiRsYW5nWydoZWxwX3BhcmFtX3Jlc3VsdHBhZ2UnXSA9ICdHZWJydWlrIGJpaiB6b2VrLSBlbiB3ZWVyZ2F2ZWFjdGllczsgZGV6ZSBwYXJhbWV0ZXIgZ2VlZnQgYWFuIHdlbGtlIENNU01TIGNvbnRlbnRwYWdpbmEgemFsIG1vZXRlbiB3b3JkZW4gZ2VicnVpa3Qgdm9vciBkZSB3ZWVyZ2F2ZSB2YW4gb3ZlcmVlbmtvbXN0aWdlIGFydGlrZWxlbiB1aXQgZGUgZmlsdGVyYWN0aWUuJzsKJGxhbmdbJ2hlbHBfcGFyYW1fc29ydGJ5J10gPSAnR2VicnVpa3Qgdm9vciBzdGFuZGFhcmQgYWN0aWVzLCBkZXplIHBhcmFtZXRlciBzcGVjaWZpY2VlcnQgZGUgdm9sZ29yZGUgdmFuIGRlIGdlZ2VuZXJlZXJkZSB1aXRrb21zdC4gIE1vZ2VsaWprZSB3YWFyZGVuIHppam46DQo8dWw+DQogPGxpPmlkIC0gRGUgZ2VicnVpa2VycyBpZDwvbGk+DQogPGxpPnVzZXJuYW1lIC0gRGUgZ2VicnVpa2Vyc25hYW08L2xpPg0KIDxsaT5jcmVhdGVkYXRlIC0gRGUgZGF0dW0gZGF0IGhldCBnZWJydWlrZXJzYWNjb3VudCBpcyBhYW5nZW1hYWt0LjwvbGk+DQogPGxpPmV4cGlyZXMgLSBEZSBkYXR1bSB3YW5uZWVyIGhldCBnZWJydWlrZXJzYWNjb3VudCB6YWwgdmVybG9wZW4gKG9mIGlzIHZlcmxvcGVuKS48L2xpPg0KIDxsaT5hY3Rpdml0eSAtIERlIGRhdHVtIHdhbm5lZXIgZGUgZ2VicnVpa2VyIGhldCBsYWF0c3Qgd2FzIGluLSBvZiB1aXRnZWxvZ2QuPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHBfcGFyYW1fYnNvcnRvcmRlciddID0gJ1VzZWQgZm9yIHRoZSBicm93c2UgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIHNvcnQgb3JkZXIgb2YgdGhlIGdlbmVyYXRlZCBvdXRwdXQuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOg0KPHVsPg0KICA8bGk+QVNDIC0gQXNjZW5kaW5nIG9yZGVyPC9saT4NCiAgPGxpPkRFU0MgLSBEZXNjZW5kaW5nIG9yZGVyPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHBfcGFyYW1fc29ydG9yZGVyJ10gPSAnR2VicnVpayB2b29yIHN0YW5kYWFyZCBhY3RpZXMsIGRlemUgcGFyYW1ldGVyIHNwZWNpZmljZWVydCBkZSB2b2xnb3JkZSB2YW4gd2VlcmdldmVuIHZhbiBkZSBnZWZpbHRlcmRlIGluZm9ybWF0aWUuIE1vZ2VsaWprZSB3YWFyZGVuIHppam46DQo8dWw+DQogIDxsaT5BU0MgLSAoQXNjZW5kaW5nIG9yZGVyKSBBZmxvcGVuZGUgdm9sZ29yZGU8L2xpPg0KICA8bGk+REVTQyAtIChEZXNjZW5kaW5nIG9yZGVyKSBPcGxvcGVuZGUgdm9sZ29yZGU8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscF9wYXJhbV9wYWdlbGltaXQnXSA9ICdEZXplIHBhcmFtZXRlciBzcGVjaWZpY2VlcmQgaGV0IG1heGltdW0gYWFudGFsIGdlYnJ1aWtlcnMgZGllIHdvcmRlbiBnZXRvb25kLic7CiRsYW5nWydoZWxwX3BhcmFtX3Byb3AnXSA9ICdHZWJydWlrdCB2b29yIGRlIHN0YW5kYWFyZCBlbiBkaXJlY3RvcnkgYWN0aWVzLCAgZGV6ZSBwYXJhbWV0ZXIgZ2VkcmFhZ3QgemljaCBvcCB0d2VlIHZlcnNjaGlsbGVuZGUgbWFuaWVyZW4gYWZoYW5nZW5kIHZhbiBkZSBhY3RpZToNCg0KPHVsPg0KICA8bGk+RGUgc3RhbmRhYXJkIChzYW1lbnZhdHRpbmcpIGFjdGllDQogICAgPHA+SW4gZGUgc3RhbmRhYXJkIChzYW1lbnZhdHRpbmcpIGFjdGllLCBrYW4gZGV6ZSBwYXJhbWV0ZXIgd29yZGVuIGdlYnJ1aWt0IG9tIGVlbiBiZXBhYWxkZSBlaWdlbnNjaGFwIHRlIHNwZWNpZmljZXJlbiBvbSB0ZSBmaWx0ZXJlbi48L3A+DQogIDwvbGk+DQogIDxsaT5EZSBkaXJlY3RvcnkgYWN0aWUuDQogICAgPHA+SW4gZGUgZGlyZWN0b3J5IGFjdGllLCBrYW4gZGV6ZSBwYXJhbWV0ZXIgd29yZGVuIGdlYnJ1aWt0IG9tIGVlbiBlaWdlbnNjaGFwIHRlIHNwZWNpZmljZXJlbiBvbSBlZW4gZGlyZWN0b3J5IHRlIHNwZWNpZmljZXJlbi4gRGUgc3RhbmRhYXJkIHdhYXJkZSBpcyAmcXVvdDt1c2VybmFtZSZxdW90OyAoZ2VicnVpa2Vyc25hYW0pPC9wPg0KICA8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscF9wYXJhbV9wcm9wdmFsJ10gPSAnR2VicnVpa3QgaW4gc2FtZW5oYW5nIG1ldCBkZSAmcXVvdDtwcm9wJnF1b3Q7IHBhcmFtZXRlciB2b29yIGRlIHN0YW5kYWFyZCAoc2FtZW52YXR0aW5nKSBhY3RpZSwgbWV0IGRlemUgcGFyYW1ldGVyIGthbiBlZW4gd2FhcmRlIHdvcmRlbiBnZWdldmVuIHdhYXJtZWUgZGUgZ2VicnVpa2VycyBnZWZpbHRlcmQga2FuIHdvcmRlbi4nOwokbGFuZ1snaGVscF9wYXJhbV91c2VsaWtlJ10gPSAnR2VicnVpa3QgaW4gc2FtZW5oYW5nIG1ldCBkZSAmcXVvdDtwcm9wJnF1b3Q7IGVuIGRlICZxdW90O3Byb3B2YWwmcXVvdDsgcGFyYW1ldGVycy4gQWxzIGRlemUgcGFyYW1ldGVyIGVlbiBwb3NpdGlldmUgd2FhcmRlIGhlZWZ0LCB6YWwgZGl0IGFhbmdldmVuIGRhdCBkZSAmcXVvdDtwcm9wdmFsJnF1b3Q7IHBhcmFtZXRlciBlZW4gTElLRSAmIzAzOTtleHByZXNzaW9uJiMwMzk7IGJldmF0Lg0KJzsKJGxhbmdbJ2hlbHBfcGFyYW1fZGV0YWlscGFnZSddID0gJ0FscyBkZXplIHBhcmFtZXRlciB3b3JkdCBnZWJydWlrdCwgemFsIGRlemUgZWVuIHBhZ2luYSBJRCBvZiBlZW4gcGFnaW5hIGFsaWFzIGJldmF0dGVuIHZhbiBlZW4gQ01TIHBhZ2luYSB3YWFyIHUgaGV0IHJhcHBvcnQgd2lsdCB3ZWVyZ2V2ZW4uJzsKJGxhbmdbJ2hlbHBfcGFyYW1fc3VtbWFyeXRlbXBsYXRlJ10gPSAnRGV6ZSBwYXJhbWV0ZXIgd29yZHQgZ2VicnVpa3Qgb20gZWVuIG5pZXQgc3RhbmRhYXJkIHNhbWVudmF0dGluZ3NqYWJsb29uIHRlIHNwZWNpZmljZXJlbiB2b29yIGhldCBzYW1lbnZhdHRpbmdzY2hlcm0uJzsKJGxhbmdbJ2hlbHBfcGFyYW1fZGV0YWlsdGVtcGxhdGUnXSA9ICdEZXplIHBhcmFtZXRlciB3b3JkdCBnZWJydWlrdCBvbSBlZW4gbmlldCBzdGFuZGFhcmQgZGV0YWlsIHNqYWJsb29uIHRlIHNwZWNpZmljZXJlbiB2b29yIGhldCBkZXRhaWwgc2NoZXJtLic7CiRsYW5nWydoZWxwX3BhcmFtX2RpcmVjdG9yeXRlbXBsYXRlJ10gPSAnRGV6ZSBwYXJhbWV0ZXIgd29yZHQgZ2VicnVpa3Qgb20gZWVuIG5pZXQgc3RhbmRhYXJkIGRldGFpbCBzamFibG9vbiB0ZSBzcGVjaWZpY2VyZW4gdm9vciBoZXQgZGlyZWN0b3J5IHNjaGVybS4nOwokbGFuZ1snaGVscF9wYXJhbV9zZWFyY2hmb3JtdGVtcGxhdGUnXSA9ICdNZXQgZGV6ZSBwYXJhbWV0ZXIga3VudCB1IGVlbiBuaWV0IHN0YW5kYWFyZCB6b2Vrc2phYmxvb25uYWFtIHNwZWNpZmljZXJlbiB2b29yIGhldCBnZWJydWlrIHZhbiBlZW4gem9la2Zvcm11bGllcic7CiRsYW5nWydoZWxwX3BhcmFtX3NlYXJjaHByb3BlcnR5J10gPSAnTWV0IGRlemUgcGFyYW1ldGVyIGt1bnQgdSBlZW4gZW5rZWx2b3VkaWdlIEZFVSBlaWdlbnNjaGFwc25hYW0gdG9ldm9lZ2VuIGFhbiBoZXQgem9la2Zvcm11bGllcic7CiRsYW5nWydoZWxwX3BhcmFtX3VpZCddID0gJ0dlYnJ1aWt0IGluIHNhbWVuaGFuZyBtZXQgaGV0IGRldGFpbCBzY2hlcm0sIGRlemUgcGFyYW1ldGVyIG1vZXQgZWVuIFVJRCBiZXZhdHRlbiB2YW4gZWVuIGJlc3RhYW5kIEZyb250RW5kVXNlciBhY2NvdW50Lic7CiRsYW5nWydpbmZvX2Jyb3dzZXByb3BfdGVtcGxhdGUnXSA9ICdIZXQgJiMwMzk7d2VlcmdhdmUgdmFuIGVpZ2Vuc2NoYXBwZW4mIzAzOTstc2phYmxvb24gZ2VlZnQgZWVuIGxpanN0IHZhbiB1bmlla2Ugd2FhcmRlIHdlZXIgdm9vciBkZSBvcGdlZ2V2ZW4gZWlnZW5zY2hhcC4gRWxrIGl0ZW0gaW4gZGUgbGlqc3QgaXMgZWVuIGxpbmsgbmFhciBlZW4gc2FtZW52YXR0aW5nc3dlZXJnYXZlIG1ldCBkYWFyaW4gZGUgZ2VicnVpa2VycyBkaWUgb3ZlcmVlbmtvbWVuIG1ldCBkaWUgZWlnZW5zY2hhcHdhYXJkZS4gVSBrdW50IHNtYXJ0eSBsb2dpY2Egb2YgdmFyaWFiZWxlbiBnZWJydWlrZW4gZGllIHZvb3JoZWVuIHppam4gZ2VtYWFrdCBvZiB1IGt1bnQgZXIgZWVuIG1ha2VuIHNwZWNpYWFsIHZvb3IgZGV6ZSB3ZWVyZ2F2ZS4nOwokbGFuZ1snaW5mb19icm93c2Vwcm9wX3RlbXBsYXRlc190YWInXSA9ICdEZXplIHRhYiBiZXZhdCBlZW4gbGlqc3QgbWV0IGRlIGJlc2NoaWtiYXJlICYjMDM5O3dlZXJnYXZlIHZhbiBlaWdlbnNjaGFwcGVuJiMwMzk7LXNqYWJsb25lbi4gRWVuIHZhbiBkZXplIGlzIGdlbWFya2VlcmQgYWxzIHN0YW5kYWFyZC4gSGV0IHN0YW5kYWFyZCBzamFibG9vbiB6YWwgd29yZGVuIGdlYnJ1aWt0IGFscyBlciBnZWVuIGFsdGVybmF0aWVmIHNqYWJsb29uIGlzIGFhbmdlZ2V2ZW4gaW4gZGUgdGFnIGRpZSBkZXplIG1vZHVsZSBvcHJvZXB0Lic7CiRsYW5nWydpbmZvX2RldGFpbF90ZW1wbGF0ZSddID0gJ0RldGFpbCBzamFibG9uZW4gZ2V2ZW4gZWVuIGdlZGV0YWlsbGVlcmRlIGluZm9ybWF0aWUgd2VlciB2YW4gZWVuIGJlcGFhbGRlIEZyb250RW5kVXNlci4gSGllciBiZXBhYWwgamUgaG9lIGRlemUgaW5mb3JtYXRpZSB3b3JkdCB3ZWVyZ2VnZXZlbi4gVSBrdW50IGdlYnJ1aWsgbWFrZW4gdmFuICZxdW90O3NtYXJ0eSZxdW90OyBsb2dpY2Egb2YgdmFuIHZhcmlhYmVsZW4gZGllIGVlcmRlciB6aWpuIGdlbWFha3Qgb2YgdmFuIHZhcmlhYmVsZW4gZGllIHNwZWNpYWFsIHZvb3IgZGl0IGRvZWwgemlqbiBnZW1hYWt0JzsKJGxhbmdbJ2luZm9fZGV0YWlsX3RlbXBsYXRlc190YWInXSA9ICdEZXplIHRhYiBiZXZhdCBlZW4gbGlqc3QgbWV0IGJlc2NoaWtiYXJlIGRldGFpbCBzamFibG9uZW4uIEUmZWFjdXRlO24gaXMgYWFuZ2V2aW5rdCBhbHN6aWpuZGUgc3RhbmRhYXJkLiBEZXplIHN0YW5kYWFyZCBzamFibG9vbiB6YWwgd29yZGVuIGdlYnJ1aWt0IGFscyBlciBnZWVuIGFsdGVybmF0aWVmIHdvcmR0IGFhbmdlbWFha3QgaW4gZGUge3RhZ30gZGllIGRlemUgbW9kdWxlIGFhbnJvZXB0JzsKJGxhbmdbJ2luZm9fZGlyZWN0b3J5X3RlbXBsYXRlJ10gPSAnRGlyZWN0b3J5IHNqYWJsb25lbiBnZXZlbiBlZW4gYWxmYWJldGlzY2hlIGxpanN0IHZhbiB2ZXJ3aWp6aW5nZW4gd2Vlciwgd2FubmVlciBvcCBkZSBsaW5rIHdvcmR0IGdla2xpa3QgemFsIGVlbiBzYW1lbnZhdHRpbmcgZ2V2ZW4gdmFuIGRlIGJpamJlaG9yZW5kZSBnZWJydWlrZXJzIHZvb3IgZGllIGxldHRlci4gSGV0IGlzIG1vZ2VsaWprIG9tIGRpcmVjdG9yeSYjMDM5O3MgdGUgY3JlJmV1bWw7cmVuIGdlYmFzZWVyZCBvcCB2ZXJzY2hpbGxlbmRlIHBhcmFtZXRlcnMuICBIaWVyIGJlcGFhbCBqZSBob2UgZGV6ZSBpbmZvcm1hdGllIHdvcmR0IHdlZXJnZWdldmVuLiBVIGt1bnQgZ2VicnVpayBtYWtlbiB2YW4gJnF1b3Q7c21hcnR5JnF1b3Q7IGxvZ2ljYSBvZiB2YW4gdmFyaWFiZWxlbiBkaWUgZWVyZGVyIHppam4gZ2VtYWFrdCBvZiB2YW4gdmFyaWFiZWxlbiBkaWUgc3BlY2lhYWwgdm9vciBkaXQgZG9lbCB6aWpuIGdlbWFha3QnOwokbGFuZ1snaW5mb19kaXJlY3RvcnlfdGVtcGxhdGVzX3RhYiddID0gJ0RlemUgdGFiIGJldmF0IGVlbiBsaWpzdCBtZXQgYmVzY2hpa2JhcmUgZGlyZWN0b3J5IHNqYWJsb25lbi4gRSZlYWN1dGU7biBpcyBhYW5nZXZpbmt0IGFscyB6aWpuZGUgc3RhbmRhYXJkLiBEZXplIHN0YW5kYWFyZCBzamFibG9vbiB6YWwgd29yZGVuIGdlYnJ1aWt0IGFscyBlciBnZWVuIGFsdGVybmF0aWVmIHdvcmR0IGFhbmdlbWFha3QgaW4gZGUge3RhZ30gZGllIGRlemUgbW9kdWxlIGFhbnJvZXB0JzsKJGxhbmdbJ2luZm9fc3VtbWFyeV90ZW1wbGF0ZSddID0gJ1NhbWVudmF0dGluZ3NzamFibG9uZW4gZ2V2ZW4gaW5mb3JtYXRpZSB3ZWVyIHZhbiBlZW4gbGlqc3QgZ2VicnVpa2VycyBkaWUgdm9sZG9lbiBhYW4gZWVuIGJlcGFhbGRlIGNyaXRlcmlhLiBIaWVyIGJlcGFhbCBqZSBob2UgZGV6ZSBpbmZvcm1hdGllIHdvcmR0IHdlZXJnZWdldmVuLiBVIGt1bnQgZ2VicnVpayBtYWtlbiB2YW4gJnF1b3Q7c21hcnR5JnF1b3Q7IGxvZ2ljYSBvZiB2YW4gdmFyaWFiZWxlbiBkaWUgZWVyZGVyIHppam4gZ2VtYWFrdCBvZiB2YW4gdmFyaWFiZWxlbiBkaWUgc3BlY2lhYWwgdm9vciBkaXQgZG9lbCB6aWpuIGdlbWFha3QnOwokbGFuZ1snaW5mb19zZWFyY2hmb3JtX3RlbXBsYXRlJ10gPSAnWm9la2Zvcm11bGllciBzamFibG9uZW4gdG9uZW4gZWVuIGZvcm11bGllciBkaWUgdSBsYWF0IHpvZWtlbiBuYWFyIGVlbiBiZXBhYWxkZSBnZWJydWlrZXIgb2YgbmFhciBlZW4gZ3JvZXAgZ2VicnVpa2Vycy4gSGllciBrdW50IHUgaGV0IGZvcm11bGllciB2b3JtZ2V2ZW4uIFUga3VudCBnZWJydWlrIG1ha2VuIHZhbiBzbWFydHkgbG9naWNhIG9mIHZhcmlhYmVsZW4gZGllIGVlcmRlciBnZW1hYWt0IHppam4gb2YgZGllZ2VuZSBkaWUgc3BlY2lhYWwgdm9vciBkaXQgZG9lbCB6aWpuIGdlbWFha3QnOwokbGFuZ1snaW5mb19zZWFyY2hmb3JtX3RlbXBsYXRlc190YWInXSA9ICdEZXplIHRhYiBiZXZhdCBlZW4gbGlqc3QgdmFuIGJlc2NoaWtiYXJlIHpvZWtmb3JtdWxpZXIgc2phYmxvbmVuLiBFJiMwMzk7biBlcnZhbiBpcyBnZW1lcmt0IGFscyBzdGFuZGFhcmQuICBEZXplIHdvcmR0IGdlYnJ1aWt0IHdhbm5lZXIgZXIgZ2VlbiBhbmRlcmUgc2phYmxvb25uYWFtIGlzIGluZ2V2b2VyZCBpbiBkZSB0YWcgZGllIGRlemUgbW9kdWxlIGFhbnJvZXB0JzsKJGxhbmdbJ2luZm9fc3VtbWFyeV90ZW1wbGF0ZXNfdGFiJ10gPSAnRGV6ZSB0YWIgYmV2YXQgZWVuIGxpanN0IG1ldCBiZXNjaGlrYmFyZSBzYW1lbnZhdHRpbmdzamFibG9uZW4uIEUmZWFjdXRlO24gaXMgYWFuZ2V2aW5rdCBhbHMgemlqbmRlIHN0YW5kYWFyZC4gRGV6ZSBzdGFuZGFhcmQgc2phYmxvb24gemFsIHdvcmRlbiBnZWJydWlrdCBhbHMgZXIgZ2VlbiBhbHRlcm5hdGllZiB3b3JkdCBhYW5nZW1hYWt0IGluIGRlIHt0YWd9IGRpZSBkZXplIG1vZHVsZSBhYW5yb2VwdCc7CiRsYW5nWydpbmZvX3N5c2RmbHRfYnJvd3NlcHJvcF90ZW1wbGF0ZSddID0gJ1N0YW5kYWFyZCBCcm93c2UgRWlnZW5zY2hhcHBlbiBPdmVyemljaHQgU2phYmxvb24nOwokbGFuZ1snaW5mb19zeXNkZmx0X2RldGFpbF90ZW1wbGF0ZSddID0gJ1N0YW5kYWFyZCAmcXVvdDtEZXRhaWwgVmlldyBUZW1wbGF0ZSZxdW90Oyc7CiRsYW5nWydpbmZvX3N5c2RmbHRfZGlyZWN0b3J5X3RlbXBsYXRlJ10gPSAnU3RhbmRhYXJkICZxdW90O0RpcmVjdG9yeSBUZW1wbGF0ZSZxdW90Oyc7CiRsYW5nWydpbmZvX3N5c2RmbHRfc2VhcmNoZm9ybV90ZW1wbGF0ZSddID0gJ1N5c3RlZW0gU3RhbmRhYXJkIFpvZWtmb3JtdWxpZXIgU2phYmxvb24nOwokbGFuZ1snaW5mb19zeXNkZmx0X3N1bW1hcnlfdGVtcGxhdGUnXSA9ICdTdGFuZGFhcmQgJnF1b3Q7U3VtbWFyeSBWaWV3IFRlbXBsYXRlJnF1b3Q7JzsKJGxhbmdbJ2luZm9fc3lzZGZsdF90ZW1wbGF0ZSddID0gJ0hldCB3aWp6aWdlbiB2YW4gZGl0IHNqYWJsb29uIHphbCBnZWVuIGRpcmVjdCBlZmZlY3QgaGViYmVuIG9wIGRlIHdlYnNpdGUuIERpdCBmb3JtdWxpZXIgYmVwYWFsdCBkZSBpbmhvdWQgdmFuIGVlbiBzamFibG9vbiBkaWUgd29yZHQgZ2VjcmUmZXVtbDtlcmQgd2FubmVlciB1IG9wICZxdW90O05pZXV3IHNqYWJsb29uJnF1b3Q7ICBrbGlrdCBpbiBkZSBnZXdlbnN0ZSBzamFibG9vbiB0YWIuJzsKJGxhbmdbJ2xhc3RfYWN0aXZlJ10gPSAnTGFhdHN0IEFjdGllZic7CiRsYW5nWydsYmxfYnJvd3NlcHJvcHRlbXBsYXRlcyddID0gJ0Jyb3dzZSBFaWdlbnNjaGFwcGVuIFNqYWJsb25lbic7CiRsYW5nWydsYmxfZGVmYXVsdHRlbXBsYXRlcyddID0gJ1N0YW5kYWFyZCBTamFibG9uZW4nOwokbGFuZ1snbGJsX2RldGFpbHRlbXBsYXRlcyddID0gJ0dlZGV0YWlsbGVlcmRlIG92ZXJ6aWNodHNzamFibG9uZW4nOwokbGFuZ1snbGJsX2RpcmVjdG9yeXRlbXBsYXRlcyddID0gJ0RpcmVjdG9yeSBTamFibG9uZW4nOwokbGFuZ1snbGJsX2ZpcnN0X3BhZ2UnXSA9ICdHYSBuYWFyIGRlIGVlcnN0ZSBwYWdpbmEnOwokbGFuZ1snbGJsX2xhc3RfcGFnZSddID0gJ0dhIG5hYXIgZGUgbGFhdHN0ZSBwYWdpbmEnOwokbGFuZ1snbGJsX25leHRfcGFnZSddID0gJ0dhIG5hYXIgZGUgdm9sZ2VuZGUgcGFnaW5hJzsKJGxhbmdbJ2xibF9wcmV2X3BhZ2UnXSA9ICdHYSBuYWFyIGRlIHZvcmlnZSBwYWdpbmEnOwokbGFuZ1snbGJsX3NlYXJjaGZvcm10ZW1wbGF0ZXMnXSA9ICdab2VrIEZvcm11bGllciBTamFibG9uZW4nOwokbGFuZ1snbGJsX3NldHRpbmdzJ10gPSAnSW5zdGVsbGluZ2VuJzsKJGxhbmdbJ2xibF9zdW1tYXJ5dGVtcGxhdGVzJ10gPSAnU2FtZW52YXR0aW5nIFNqYWJsb25lbic7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ0VlbiBtb2R1bGUgZGllIHUgZGUgbW9nZWxpamtoZWlkIGdlZWZ0IG9tIGRlIGdlZ2V2ZW5zIHZhbiBGcm9udEVuZFVzZXJzIHRlIGRvb3J6b2VrZW4sIGRvb3IgdGUgYmxhZGVyZW4gZW4gdGUgYmVraWprZW4nOwokbGFuZ1snb2YnXSA9ICd2YW4nOwokbGFuZ1sncGFnZSddID0gJ1BhZ2luYSc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0RlIENHVXNlckRpcmVjdG9yeSBtb2R1bGUgaXMgbnUgZ2VyZWVkIHZvb3IgY29uZmlndXJhdGllJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdEZSBDR1VzZXJEaXJlY3RvcnkgbW9kdWxlLCBlbiBhbGxlIGdlYXNzb2NpZWVyZGUgZGF0YSBpcyB1aXQgZGUgZGF0YWJhc2UgdmVyd2lqZGVyZCc7CiRsYW5nWydyZXN1bHRzX2FsbF9hbnknXSA9ICdHZWVmdCByZXN1bHRhdGVuIGRpZSBvdmVyZWVua29tdCBtZXQgYWxsZSBvZiBlbmtlbGUgdmFuIGRlIG9wZ2VnZXZlbiBlaXNlbic7CiRsYW5nWydzdWJtaXQnXSA9ICdUb2V2b2VnZW4nOwokbGFuZ1sndXNlcm5hbWUnXSA9ICdHZWJydWlrZXJzbmFhbSc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjE4NTIyMjEyNzEuMTI4NzQ3OTA5Mi4xMzA3NTYwMDk1LjEzMDc3MTIyNjYuMTY3JzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTMwNzU0OTM0OC4xNjUuMTA0LnV0bWNzcj1kZXYuY21zbWFkZXNpbXBsZS5vcmd8dXRtY2NuPShyZWZlcnJhbCl8dXRtY21kPXJlZmVycmFsfHV0bWNjdD0vJzsKJGxhbmdbJ3FjYSddID0gJ1AwLTE2MTAzMTg5Ny0xMjg3NDc5MDkyMTcxJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7Cj8+]]></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[PD9waHAKJGxhbmdbJ2FkZGVkaXRfYnJvd3NlcHJvcF90ZW1wbGF0ZSddID0gJ0FkZC9FZGl0IEJyb3dzZSBQcm9wZXJ0eSBUZW1wbGF0ZSc7CiRsYW5nWydhZGRlZGl0X2RldGFpbF90ZW1wbGF0ZSddID0gJ0wmYXVtbDtnZyB0aWxsL3JlZGlnZXJhIERldGFsam1hbGwnOwokbGFuZ1snYWRkZWRpdF9kaXJlY3RvcnlfdGVtcGxhdGUnXSA9ICdMJmF1bWw7Z2cgdGlsbC9yZWRpZ2VyYSBEaXJlY3RvcnltYWxsJzsKJGxhbmdbJ2FkZGVkaXRfc2VhcmNoZm9ybV90ZW1wbGF0ZSddID0gJ0wmYXVtbDtnZyB0aWxsL3JlZGlnZXJhIFMmb3VtbDtrIGZvcm11bCZhdW1sO3JzbWFsbCc7CiRsYW5nWydhZGRlZGl0X3N1bW1hcnlfdGVtcGxhdGUnXSA9ICdMJmF1bWw7Z2cgdGlsbC9yZWRpZ2VyYSBTdW1tZXJpbmdzbWFsbCc7CiRsYW5nWydhbGwnXSA9ICdBbGxhJzsKJGxhbmdbJ2FueSddID0gJ1ZhbGZyaSc7CiRsYW5nWydhc2tfcmVhbGx5X3VuaW5zdGFsbCddID0gJyZBdW1sO3IgZHUgcyZhdW1sO2tlciBwJmFyaW5nOyBhdHQgZHUgdmlsbCByYWRlcmEgZGVubmEgbW9kdWw/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+DQo8L3VsPic7CiRsYW5nWydoZWxwX3BhcmFtX2Jyb3dzZXByb3B0ZW1wbGF0ZSddID0gJ0Rlbm5hIHBhcmFtZXRlciB0aWxsJmFyaW5nO3RlciBhdHQgbWFuIGFuZ2VyIGVuIGlja2Ugc3RhbmRhcmQgZWdlbmRvbXNtYWxsLic7CiRsYW5nWydoZWxwX3BhcmFtX2dyb3VwJ10gPSAnQW52JmF1bWw7bmQgbWVkIERlZmF1bHQgcyZhcmluZzsgc2thIGRlbm5hIHBhcmFtZXRlciBpbm5laCZhcmluZztsbGEgbmFtbmV0IHAmYXJpbmc7IGVuIEZFVSBhbnYmYXVtbDtuZGFyZ3J1cHBlbiBvY2gga29tbWVyIGF0dCBiZWdyJmF1bWw7bnNhIHZpc25pbmdlbiB0aWxsIG1lZGxlbW1hciBhdiBkZW4gZ3J1cHBlbi4nOwokbGFuZ1snaGVscF9wYXJhbV9naWQnXSA9ICdBbnYmYXVtbDtuZCBtZWQgRGVmYXVsdCBzJmFyaW5nOyBza2EgZGVubmEgcGFyYW1ldGVyIGlubmVoJmFyaW5nO2xsYSBJRDp0IHAmYXJpbmc7IGVuIEZFVSBhbnYmYXVtbDtuZGFyZ3J1cHBlbiBvY2gga29tbWVyIGF0dCBiZWdyJmF1bWw7bnNhIHZpc25pbmdlbiB0aWxsIG1lZGxlbW1hciBhdiBkZW4gZ3J1cHBlbi4gRGVubmEgcGFyYW1ldGVyIGthbiBpbnRlIGFudiZhdW1sO25kYXMgdGlsbHNhbW1hbnMgbWVkIEdyb3VwIHBhcmFtZXRlcm4uJzsKJGxhbmdbJ2hlbHBfcGFyYW1fc2hvd2V4cGlyZWQnXSA9ICdHcnVuZGluc3QmYXVtbDtsbG5pbmdlbiAmYXVtbDtyIGF0dCBzeXN0ZW1ldCBleGtsdWRlcmFyIGFudiZhdW1sO25kYXJrb250b24gc29tIGhhciBnJmFyaW5nO3R0IHV0LiBTdCZhdW1sO2xscyBwYXJhbWV0ZXJuIHRpbGwgMSBzJmFyaW5nOyBpbmtsdWRlcmFzIGRlc3NhIGFudiZhdW1sO25kYXJlLic7CiRsYW5nWydoZWxwX3BhcmFtX2Jzb3J0YnknXSA9ICdVc2VkIGZvciB0aGUgYnJvd3NlIGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoZSBzb3J0IG9yZGVyIG9mIHRoZSBnZW5lcmF0ZWQgcHJvcGVydHkgb3V0cHV0LiAgUG9zc2libGUgdmFsdWVzIGFyZToNCjx1bD4NCiAgPGxpPm5hbWUgLSB0aGUgcHJvcGVydHkgbmFtZS48L2xpPg0KICA8bGk+Y291bnQgLSB0aGUgbnVtYmVyIG9mIG1hdGNoZXMuPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHBfcGFyYW1fc3BhcnNlJ10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBkaXJlY3RvcnkgdmlldyB0aGlzIG9wdGlvbiB3aWxsIG9ubHkgc2hvdyBhIGRpcmVjdG9yeSAgbGV0dGVyIGZvciB3aGljaCB0aGVyZSBhcmUgbWF0Y2hpbmcgdXNlcnMuJzsKJGxhbmdbJ2hlbHBfcGFyYW1fcmVzdWx0cGFnZSddID0gJ0FudiZhdW1sO25kcyBmJm91bWw7ciBhdHQgcyZvdW1sO2thIG9jaCBibCZhdW1sO2RkcmEgYmxhbmQgb2xpa2Ega3JpdGVyaWVyIHNhbXQgYW5nZXIgdmlsa2VuIGlubmVoJmFyaW5nO2xsc3NpZGEgc29tIHNrYSB2aXNhIHJlc3VsdGF0ZXQgZiZvdW1sO3IgbWF0Y2hhbmRlIGFydGlrbGFyLic7CiRsYW5nWydoZWxwX3BhcmFtX3NvcnRieSddID0gJ0FudiZhdW1sO25kIHNvbSBncnVuZGluc3QmYXVtbDtsbG5pbmcsIGRlbm5hIHBhcmFtZXRlciBzcGVjaWZpY2VyYXIgaHVyIHJlc3VsdGF0ZXQgc2thIHNvcnRlcmFzLiBNJm91bWw7amxpZ2EgdiZhdW1sO3JkZW4gJmF1bWw7cjoNCjx1bD4NCiA8bGk+aWQgLSBBbnYmYXVtbDtuZGFyZW5zIGlkLjwvbGk+DQogPGxpPnVzZXJuYW1lIC0gQW52JmF1bWw7bmRhcm5hbW5ldC48L2xpPg0KIDxsaT5jcmVhdGVkYXRlIC0gRGF0dW1ldCBkJmFyaW5nOyBrb250b3Qgc2thcGFkZXMuPC9saT4NCiA8bGk+ZXhwaXJlcyAtIERhdHVtZXQga29udG90IGF2c2x1dGFzIChlbGxlciBoYXIgYXZzbHV0YXRzKTwvbGk+DQogPGxpPmFjdGl2aXR5IC0gRGF0dW1ldCBmJm91bWw7ciBzZW5hc3RlIGFrdGl2aXRldCAoaW5sb2dnYWQgZWxsZXIgdXRsb2dnYWQpLjwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwX3BhcmFtX2Jzb3J0b3JkZXInXSA9ICdVc2VkIGZvciB0aGUgYnJvd3NlIGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoZSBzb3J0IG9yZGVyIG9mIHRoZSBnZW5lcmF0ZWQgb3V0cHV0LiAgUG9zc2libGUgdmFsdWVzIGFyZToNCjx1bD4NCiAgPGxpPkFTQyAtIEFzY2VuZGluZyBvcmRlcjwvbGk+DQogIDxsaT5ERVNDIC0gRGVzY2VuZGluZyBvcmRlcjwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwX3BhcmFtX3NvcnRvcmRlciddID0gJ0FudiZhdW1sO25kIHNvbSBncnVuZGluc3QmYXVtbDtsbG5pbmcsIGRlbm5hIHBhcmFtZXRlciBzcGVjaWZpY2VyYXIgaHVyIHJlc3VsdGF0ZXQgc2thIHNvcnRlcmFzLiBNJm91bWw7amxpZ2EgdiZhdW1sO3JkZW4gJmF1bWw7cjoNCjx1bD4NCiAgPGxpPkFTQyAtIFN0aWdhbmRlIG9yZG5pbmc8L2xpPg0KICA8bGk+REVTQyAtIEZhbGxhbmRlIG9yZG5pbmc8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscF9wYXJhbV9wYWdlbGltaXQnXSA9ICdBbnYmYXVtbDtuZHMgZiZvdW1sO3Igc3RhbmRhcmQmYXJpbmc7dGcmYXVtbDtyZGVuLCBkZW5uYSBwYXJhbWV0ZXIgYW5nZXIgZGV0IGgmb3VtbDtnc3RhIGFudGFsZXQgcG9zdGVyIHNvbSBza2FsbCByZXR1cm5lcmFzLic7CiRsYW5nWydoZWxwX3BhcmFtX3Byb3AnXSA9ICdVc2VkIGZvciB0aGUgZGVmYXVsdCBhbmQgZGlyZWN0b3J5IGFjdGlvbnMsIHRoaXMgcGFyYW1ldGVyIGJlaGF2ZXMgaW4gdHdvIGRpZmZlcmVudCB3YXlzIGRlcGVuZGluZyB1cG9uIHRoZSBhY3Rpb246DQo8dWw+DQogIDxsaT5UaGUgZGVmYXVsdCAoc3VtbWFyeSkgYWN0aW9uDQogICAgPHA+SW4gdGhlIGRlZmF1bHQgKHN1bW1hcnkpIGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSBhIHByb3BlcnR5IHRvIGZpbHRlciB0aGUgcmVzdWx0cyBieS48L3A+DQogIDwvbGk+DQogIDxsaT5UaGUgZGlyZWN0b3J5IGFjdGlvbi4NCiAgICA8cD5JbiB0aGUgZGlyZWN0b3J5IGFjdGlvbiwgdGhpcyBhcHJhbWV0ZXIgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSBhIHByb3BlcnR5IHRvIGdlbmVyYXRlIGEgZGlyZWN0b3J5IGZyb20uICAgVGhlIGRlZmF1bHQgdmFsdWUgaW4gdGhlIGRpcmVjdG9yeSBhY3Rpb24gaXMgJnF1b3Q7dW5zZXJuYW1lJmFtcDtxdW90ZTs8L3A+DQogIDwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwX3BhcmFtX3Byb3B2YWwnXSA9ICdBbnYmYXVtbDtuZCB0aWxsc2FtbWFucyBtZWQgJnF1b3Q7cHJvcCZxdW90OyBwYXJhbWV0ZXJuIGYmb3VtbDtyIGdydW5kdmlzbmluZ2VuIGQmYXVtbDtyIGV0dCBzcGVjaWZpa3QgdiZhdW1sO3JkZSBrYW4gYW52JmF1bWw7bmRhcyB0aWxsIGF0dCBmaWx0cmVyYSBhbnYmYXVtbDtuZGFyZS4nOwokbGFuZ1snaGVscF9wYXJhbV91c2VsaWtlJ10gPSAnVXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSAmcXVvdDtwcm9wJnF1b3Q7IGFuZCAmcXVvdDtwcm9wdmFsJnF1b3Q7IHBhcmFtZXRlcnMsIHRoaXMgcGFyYW1ldGVyLCBpZiBzZXQgdG8gYSBwb3NpdGl2ZSBpbnRlZ2VyIHZhbHVlIGluZGljYXRlcyB0aGF0IHRoZSBwcm9wdmFsIHBhcmFtZXRlciBjb250YWlucyBhIExJS0UgZXhwcmVzc2lvbic7CiRsYW5nWydoZWxwX3BhcmFtX2RldGFpbHBhZ2UnXSA9ICdEZW5uYSBwYXJhbWV0ZXIsIG9tIGRlbiBhbmdlcywgYiZvdW1sO3IgaW5uZWgmYXJpbmc7bGxhIHBhZ2VpZCBlbGxlciBhbGlhcyBmJm91bWw7ciBlbiBDTVMgaW5uZWgmYXJpbmc7bGxzIHNpZGEgZCZhdW1sO3IgZHUgdmlsbCB2aXNhIGVuIGRldGFsamVyYWQgcmFwcG9ydCc7CiRsYW5nWydoZWxwX3BhcmFtX3N1bW1hcnl0ZW1wbGF0ZSddID0gJ0Rlbm5hIHBhcmFtZXRlciB0aWxsJmFyaW5nO3RlciBhdHQgbWFuIGFuZ2VyIGVuIGlja2Ugc3RhbmRhcmQgc3VtbWVyaW5nc21hbGwgbmFtbiBzb20gc2thIGFudiZhdW1sO25kYXMgbiZhdW1sO3Igc2FtbWFuc3QmYXVtbDtsbG5pbmdlbiB2aXNhcyc7CiRsYW5nWydoZWxwX3BhcmFtX2RldGFpbHRlbXBsYXRlJ10gPSAnRGVubmEgcGFyYW1ldGVyIHRpbGwmYXJpbmc7dGVyIGF0dCBtYW4gYW5nZXIgZW4gaWNrZSBzdGFuZGFyZCBkZXRhbGptYWxscyBuYW1uIHNvbSBza2EgYW52JmF1bWw7bmRhcyBuJmF1bWw7ciBkZXRhbGplciB2aXNhcyc7CiRsYW5nWydoZWxwX3BhcmFtX2RpcmVjdG9yeXRlbXBsYXRlJ10gPSAnRGVubmEgcGFyYW1ldGVyIHRpbGwmYXJpbmc7dGVyIGF0dCBtYW4gYW5nZXIgZW4gaWNrZSBzdGFuZGFyZCBrYXRhbG9nbWFsbHMgbmFtbiBzb20gc2thIGFudiZhdW1sO25kYXMgbiZhdW1sO3Iga2F0YWxvZ2VuIHZpc2FzJzsKJGxhbmdbJ2hlbHBfcGFyYW1fc2VhcmNoZm9ybXRlbXBsYXRlJ10gPSAnRGVubmEgcGFyYW1ldGVyIHRpbGwmYXJpbmc7dGVyIGF0dCBtYW4gYW5nZXIgZW4gaWNrZSBzdGFuZGFyZCBzJm91bWw7a2Z1bmt0aW9uIHNvbSBkdSBza2EgYW52JmF1bWw7bmRhIGYmb3VtbDtyIGF0dCBzJm91bWw7a2EgZm9ybWVyJzsKJGxhbmdbJ2hlbHBfcGFyYW1fc2VhcmNocHJvcGVydHknXSA9ICdUaGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIHNpbmdsZSBhZGRpdGlvbmFsIEZFVSBwcm9wZXJ0eSBuYW1lIHRvIHN1cHBseSBpbiB0aGUgc2VhcmNoIGZvcm0nOwokbGFuZ1snaGVscF9wYXJhbV91aWQnXSA9ICdBbnYmYXVtbDtuZHMgaSBzYW1iYW5kIG1lZCBkZXRhbGogZGlzcGxheWVuLCBkZW5uYSBwYXJhbWV0ZXIgbSZhcmluZztzdGUgaW5uZWgmYXJpbmc7bGxhIHVpZCBldHQgZ2lsdGlndCBmcm9udGVuZCBhbnYmYXVtbDtuZGFya29udG8nOwokbGFuZ1snaW5mb19icm93c2Vwcm9wX3RlbXBsYXRlJ10gPSAnQnJvd3NlIFByb3BlcnR5IHRlbXBsYXRlcyBkaXNwbGF5IEEgbGlzdCBvZiB1bmlxdWUgdmFsdWVzIGZvciB0aGUgc3BlY2lmaWVkIHByb3BlcnR5LiAgRWFjaCBpdGVtIGluIHRoZSBsaXN0IGlzIGEgbGluayB0byBhIHN1bW1hcnkgdmlldyBjb250YWluaW5nIHRoZSBtYXRjaGluZyB1c2VycyB0aGF0IG1hdGNoIHRoYXQgcHJvcGVydHkgdmFsdWUuICBZb3UgbWF5IHVzZSBhbnkgc21hcnR5IGxvZ2ljIG9yIHZhcmlhYmxlcyB0aGF0IGhhdmUgYmVlbiBjcmVhdGVkIHByZXZpb3VzbHksIG9yIHRoZSBvbmVzIG1hZGUgYXZhaWxhYmlsaXR5IHNwZWNpZmljYWxseSBmb3IgdGhpcyB2aWV3Lic7CiRsYW5nWydpbmZvX2Jyb3dzZXByb3BfdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIHRoZSBsaXN0IG9mIGF2YWlsYWJsZSBicm93c2UgcHJvcGVydHkgdmlldyB0ZW1wbGF0ZXMuICBPbmUgb2YgdGhlbSBpcyBtYXJrZWQgYXMgZGVmYXVsdC4gIFRoZSBkZWZhdWx0IG9uZSB3aWxsIGJlIHVzZWQgd2hlbiBubyBhbHRlcm5hdGUgdGVtcGxhdGUgbmFtZSBpcyBzdXBwbGllZCBvbiB0aGUgdGFnIHRoYXQgY2FsbHMgdGhpcyBtb2R1bGUnOwokbGFuZ1snaW5mb19kZXRhaWxfdGVtcGxhdGUnXSA9ICdEZXRhaWwgdGVtcGxhdGVzIGRpc3BsYXkgZGV0YWlsZWQgaW5mb3JtYXRpb24gYWJvdXQgYSBzcGVjaWZpYyBmcm9udGVuZCB1c2VyLiAgSGVyZSB5b3UgZGVzaWduIHRoZSB3YXkgaW4gd2hpY2ggeW91IHdhbnQgdGhhdCBpbmZvcm1hdGlvbiBsYWlkIG91dC4gIFlvdSBtYXkgdXNlIGFueSBzbWFydHkgbG9naWMgb3IgdmFyaWFibGVzIHRoYXQgaGF2ZSBiZWVuIGRlc2lnbmVkIHByZXZpb3VzbHksIG9yIHRoZSBvbmVzIG1hZGUgYXZhaWxhYmxlIHNwZWNpZmljYWxseSBmb3IgdGhpcyB2aWV3JzsKJGxhbmdbJ2luZm9fZGV0YWlsX3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyB0aGUgbGlzdCBvZiBhdmFpbGFibGUgZGV0YWlsIHZpZXcgdGVtcGxhdGVzLiAgT25lIG9mIHRoZW0gaXMgbWFya2VkIGFzIGRlZmF1bHQuICBUaGUgZGVmYXVsdCBvbmUgd2lsbCBiZSB1c2VkIHdoZW4gbm8gYWx0ZXJuYXRlIHRlbXBsYXRlIG5hbWUgaXMgc3VwcGxpZWQgb24gdGhlIHRhZyB0aGF0IGNhbGxzIHRoaXMgbW9kdWxlJzsKJGxhbmdbJ2luZm9fZGlyZWN0b3J5X3RlbXBsYXRlJ10gPSAnRGlyZWN0b3J5IHRlbXBsYXRlcyBkaXNwbGF5IGFuIGFscGhhYmV0aWNhbCBsaXN0IG9mIGxpbmtzLCB3aGVuIGEgbGluayBpcyBjbGlja2VkIGl0IHdpbGwgZGlzcGxheSBhIHN1bW1hcnkgdmlldyBvZiB0aGUgbWF0Y2hpbmcgdXNlcnMgZm9yIHRoYXQgbGV0dGVyLiAgSXQgaXMgcG9zc2libGUgdG8gY3JlYXRlIGRpcmVjdG9yaWVzIGJhc2VkIG9uIGRpZmZlcmVudCBwcm9wZXJ0aWVzLiAgSGVyZSB5b3UgZGVzaWduIHRoZSB3YXkgaW4gd2hpY2ggeW91IHdhbnQgdGhhdCBpbmZvcm1hdGlvbiBsYWlkIG91dC4gIFlvdSBtYXkgdXNlIGFueSBzbWFydHkgbG9naWMgb3IgdmFyaWFibGVzIHRoYXQgaGF2ZSBiZWVuIGRlc2lnbmVkIHByZXZpb3VzbHksIG9yIHRoZSBvbmVzIG1hZGUgYXZhaWxhYmxlIHNwZWNpZmljYWxseSBmb3IgdGhpcyB2aWV3JzsKJGxhbmdbJ2luZm9fZGlyZWN0b3J5X3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyB0aGUgbGlzdCBvZiBhdmFpbGFibGUgZGlyZWN0b3J5IHRlbXBsYXRlcy4gIE9uZSBvZiB0aGVtIGlzIG1hcmtlZCBhcyBkZWZhdWx0LiAgVGhlIGRlZmF1bHQgb25lIHdpbGwgYmUgdXNlZCB3aGVuIG5vIGFsdGVybmF0ZSB0ZW1wbGF0ZSBuYW1lIGlzIHN1cHBsaWVkIG9uIHRoZSB0YWcgdGhhdCBjYWxscyB0aGlzIG1vZHVsZSc7CiRsYW5nWydpbmZvX3N1bW1hcnlfdGVtcGxhdGUnXSA9ICdTdW1tYXJ5IHRlbXBsYXRlcyBkaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGEgbGlzdCBvZiB1c2VycyB0aGF0IG1hdGNoIGEgY3JpdGVyaWEuICBIZXJlIHlvdSBkZXNpZ24gdGhlIHdheSBpbiB3aGljaCB5b3Ugd2FudCB0aGF0IGluZm9ybWF0aW9uIGxhaWQgb3V0LiAgWW91IG1heSB1c2UgYW55IHNtYXJ0eSBsb2dpYyBvciB2YXJpYWJsZXMgdGhhdCBoYXZlIGJlZW4gZGVzaWduZWQgcHJldmlvdXNseSwgb3IgdGhlIG9uZXMgbWFkZSBhdmFpbGFibGUgc3BlY2lmaWNhbGx5IGZvciB0aGlzIHZpZXcnOwokbGFuZ1snaW5mb19zZWFyY2hmb3JtX3RlbXBsYXRlJ10gPSAnU2VhcmNoIGZvcm0gdGVtcGxhdGVzIGRpc3BsYXkgQSBmb3JtIHRvIGFsbG93IHNlYXJjaGluZyBmb3IgYSBwYXJ0aWN1bGFyIHVzZXIgb3IgZ3JvdXAgb2YgdXNlcnMuICBIZXJlIHlvdSBkZXNpZ24gdGhlIHdheSBpbiB3aGljaCB5b3Ugd2FudCB0aGUgZm9ybSBkaXNwbGF5ZWQuICBZb3UgbWF5IHVzZSBhbnkgc21hcnR5IGxvZ2ljIG9yIHZhcmlhYmxlcyB0aGF0IGhhdmUgYmVlbiBkZXNpZ25lZCBwcmV2aW91c2x5LCBvciB0aGUgb25lcyBtYWRlIGF2YWlsYWJsZSBzcGVjaWZpY2FsbHkgZm9yIHRoaXMgdmlldyc7CiRsYW5nWydpbmZvX3NlYXJjaGZvcm1fdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIHRoZSBsaXN0IG9mIGF2YWlsYWJsZSBzZWFyY2ggZm9ybSB0ZW1wbGF0ZXMuICBPbmUgb2YgdGhlbSBpcyBtYXJrZWQgYXMgZGVmYXVsdC4gIFRoZSBkZWZhdWx0IG9uZSB3aWxsIGJlIHVzZWQgd2hlbiBubyBhbHRlcm5hdGUgdGVtcGxhdGUgbmFtZSBpcyBzdXBwbGllZCBvbiB0aGUgdGFnIHRoYXQgY2FsbHMgdGhpcyBtb2R1bGUnOwokbGFuZ1snaW5mb19zdW1tYXJ5X3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyB0aGUgbGlzdCBvZiBhdmFpbGFibGUgc3VtbWFyeSB0ZW1wbGF0ZXMuICBPbmUgb2YgdGhlbSBpcyBtYXJrZWQgYXMgZGVmYXVsdC4gIFRoZSBkZWZhdWx0IG9uZSB3aWxsIGJlIHVzZWQgd2hlbiBubyBhbHRlcm5hdGUgdGVtcGxhdGUgbmFtZSBpcyBzdXBwbGllZCBvbiB0aGUgdGFnIHRoYXQgY2FsbHMgdGhpcyBtb2R1bGUnOwokbGFuZ1snaW5mb19zeXNkZmx0X2Jyb3dzZXByb3BfdGVtcGxhdGUnXSA9ICdTeXN0ZW0gRGVmYXVsdCBCcm93c2UgUHJvcGVydHkgVmlldyBUZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3N5c2RmbHRfZGV0YWlsX3RlbXBsYXRlJ10gPSAnU3RhbmRhcmQgRGV0YWxqbWFsbCc7CiRsYW5nWydpbmZvX3N5c2RmbHRfZGlyZWN0b3J5X3RlbXBsYXRlJ10gPSAnU3RhbmRhcmQgRGlyZWN0b3J5bWFsbCc7CiRsYW5nWydpbmZvX3N5c2RmbHRfc2VhcmNoZm9ybV90ZW1wbGF0ZSddID0gJ1N0YW5kYXJkIFMmb3VtbDtrbWFsbCc7CiRsYW5nWydpbmZvX3N5c2RmbHRfc3VtbWFyeV90ZW1wbGF0ZSddID0gJ1N0YW5kYXJkIFN1bW1lcmluZ3NtYWxsJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF90ZW1wbGF0ZSddID0gJyZBdW1sO25kcmluZyBhdiBkZW4gaCZhdW1sO3IgbWFsbGVuIGtvbW1lciBpbnRlIGF0dCBoYSBuJmFyaW5nO2dvbiBvbWVkZWxiYXIgZWZmZWt0IHAmYXJpbmc7IGJlZmludGxpZ2EgbWFsbGFyLiBEZW5uYSBmb3JtIHN0eXIgdiZhdW1sO3JkZXQgcCZhcmluZzsgZGVuIG1hbGwgc29tIHNrYXBhcyBuJmF1bWw7ciBkdSBrbGlja2FyIHAmYXJpbmc7ICZxdW90O05ldyBUZW1wbGF0ZSZxdW90OyBpIGwmYXVtbDttcGxpZyBtYWxsIGZsaWsuJzsKJGxhbmdbJ2xhc3RfYWN0aXZlJ10gPSAnU2VuYXN0IGFrdGl2JzsKJGxhbmdbJ2xibF9icm93c2Vwcm9wdGVtcGxhdGVzJ10gPSAnQnJvd3NlIFByb3BlcnR5IFRlbXBsYXRlcyc7CiRsYW5nWydsYmxfZGVmYXVsdHRlbXBsYXRlcyddID0gJ1N0YW5kYXJtYWxsYXInOwokbGFuZ1snbGJsX2RldGFpbHRlbXBsYXRlcyddID0gJ0RldGFsam1hbGxhcic7CiRsYW5nWydsYmxfZGlyZWN0b3J5dGVtcGxhdGVzJ10gPSAnRGlyZWN0b3J5bWFsbGFyJzsKJGxhbmdbJ2xibF9maXJzdF9wYWdlJ10gPSAnRyZhcmluZzsgdGlsbCBmJm91bWw7cnN0YSBzaWRhbic7CiRsYW5nWydsYmxfbGFzdF9wYWdlJ10gPSAnRyZhcmluZzsgdGlsbCBzaXN0YSBzaWRhbic7CiRsYW5nWydsYmxfbmV4dF9wYWdlJ10gPSAnRyZhcmluZzsgdGlsbCBuJmF1bWw7c3RhIHNpZGEnOwokbGFuZ1snbGJsX3ByZXZfcGFnZSddID0gJ0cmYXJpbmc7IHRpbGwgZiZvdW1sO3JlZyZhcmluZztlbmRlIHNpZGEnOwokbGFuZ1snbGJsX3NlYXJjaGZvcm10ZW1wbGF0ZXMnXSA9ICdTJm91bWw7a2Zvcm11bCZhdW1sO3JzbWFsbCc7CiRsYW5nWydsYmxfc2V0dGluZ3MnXSA9ICdJbnN0JmF1bWw7bGxuaW5nYXInOwokbGFuZ1snbGJsX3N1bW1hcnl0ZW1wbGF0ZXMnXSA9ICdTdW1tZXJpbmdzbWFsbGFyJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnRW4gbW9kdWwgc29tIGcmb3VtbDtyIGRldCBtJm91bWw7amxpZ3QgYXR0IHMmb3VtbDtrYSwgYmwmYXVtbDtkZHJhIG9jaCB2aXNhIGluZm9ybWF0aW9uIG9tIEZyb250ZW5kIFVzZXJzJzsKJGxhbmdbJ29mJ10gPSAnQXYnOwokbGFuZ1sncGFnZSddID0gJ1NpZGEnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdDR1VzZXJEaXJlY3RvcnkgbW9kdWxlbiAmYXVtbDtyIG51IGYmYXVtbDtyZGlnIGYmb3VtbDtyIGtvbmZpZ3VyYXRpb24nOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ0NHVXNlcmRpcmVjdG9yeSBtb2R1bGVuLCBvY2ggYWxsIGFzc29jaWVyYWQgZGF0YSAmYXVtbDtyIG51IHJhZGVyYXQgaSBkYXRhYmFzZW4nOwokbGFuZ1sncmVzdWx0c19hbGxfYW55J10gPSAnUmV0dXJuIHJlc3VsdHMgdGhhdCBtYXRjaCBhbGwsIG9yIGFueSBvZiB0aGUgY29uZGl0aW9ucyBzcGVjaWZpZWQnOwokbGFuZ1snc3VibWl0J10gPSAnU2tpY2thJzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAnQW52JmF1bWw7bmRhcm5hbW4nOwokbGFuZ1sncWNhJ10gPSAnUDAtMjQ1NzQ4MDcyLTEyNTE1MDQxODA5OTAnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjY5ODk0OTAzLjIyLjE1LnV0bWNzcj1nb29nbGV8dXRtY2NuPShvcmdhbmljKXx1dG1jbWQ9b3JnYW5pY3x1dG1jdHI9bW9kdWxlcyBjbXNtcyc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjI5MTcyODA3MTUzOTE4NTkwMDAuMTI1MTUwNDE4MS4xMjY5NTQwMTQ5LjEyNjk4OTExMTMuMjInOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzLjEuMTAuMTI2OTg5MTExMyc7Cj8+]]></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+CiAgPC9wPgo8L2Rpdj4KCntpZiBpc3NldCgkc2VhcmNocHJvcHMpfQp7Zm9yZWFjaCBmcm9tPSRzZWFyY2hwcm9wcyBrZXk9J3Byb3BuYW1lJyBpdGVtPSdkYXRhJ30KeyRkYXRhfEBkZWJ1Z19kaXNwbGF5fQo8ZGl2IGNsYXNzPSJyb3ciPgogIDxwIGNsYXNzPSJjb2wzMCI+eyRkYXRhLmZpZWxkZGVmbi5wcm9tcHR9OjwvcD4KICA8cCBjbGFzcz0iY29sNzAiPgogICAge2lmICRkYXRhLmZpZWxkdHlwZSA9PSAndGV4dCd9CiAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfXVkX3Byb3B2YWx1ZVt7JHByb3BuYW1lfV0iIHNpemU9IjIwIiBtYXhsZW5ndGg9IjIwIi8+CiAgICB7ZWxzZSBpZiAkZGF0YS5maWVsZHR5cGUgPT0gJ3NlbGVjdCd9CiAgICAgIDxzZWxlY3QgbmFtZT0ieyRhY3Rpb25pZH11ZF9wcm9wdmFsdWVbeyRwcm9wbmFtZX1dIj4KICAgICAge2h0bWxfb3B0aW9ucyBvcHRpb25zPSRkYXRhLm9wdGlvbnN9CiAgICAgIDwvc2VsZWN0PgogICAgey9pZn0KICA8L3A+CjwvZGl2Pgp7L2ZvcmVhY2h9CnsvaWZ9Cgo8ZGl2IGNsYXNzPSJyb3ciPgogIDxwIGNsYXNzPSJjb2wzMCI+eyRtb2QtPkxhbmcoJ3Jlc3VsdHNfYWxsX2FueScpfT88L3A+CiAgPHAgY2xhc3M9ImNvbDcwIj4KICAgIDxzZWxlY3QgbmFtZT0ieyRhY3Rpb25pZH11ZF9hbGxhbnkiPgogICAgICA8b3B0aW9uIHZhbHVlPSJhbGwiPnskbW9kLT5MYW5nKCdhbGwnKX08L29wdGlvbj4KICAgICAgPG9wdGlvbiB2YWx1ZT0iYW55Ij57JG1vZC0+TGFuZygnYW55Jyl9PC9vcHRpb24+CiAgICA8L3NlbGVjdD4KICA8L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icm93Ij4KICA8cCBjbGFzcz0iY29sMzAiPiA8L3A+CiAgPHAgY2xhc3M9ImNvbDcwIj4KICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9dWRfc3VibWl0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3N1Ym1pdCcpfSIvPgogIDwvcD4KPC9kaXY+Cgp7JGZvcm1lbmR9CjwvZGl2Pgp7KiBzZWFyY2ggZm9ybSB0ZW1wbGF0ZSAqfQp7KiB2YWxpZCBmaWVsZHMgYXJlOgogICB7JGFjdGlvbmlkfXVkX3N1Ym1pdCAgICAtIChzdHJpbmcpIGZvciBhIHN1Ym1pdCBidXR0b24KICAgeyRhY3Rpb25pZH11ZF9jYW5jZWwgICAgLSAoc3RyaW5nKSBmb3IgYSBjYW5jZWwgYnV0dG9uCiAgIHskYWN0aW9uaWR9dWRfdXNlcm5hbWUgIC0gKHN0cmluZykgdXNlcm5hbWUgZXhwcmVzc2lvbgogICB7JGFjdGlvbmlkfXVkX3Byb3B2YWx1ZSAtIChzdHJpbmcpIHByb3BlcnR5IHZhbHVlCip9Cgo8ZGl2IGlkPSJ1ZF9zZWFyY2hmb3JtIj4KeyRmb3Jtc3RhcnR9Cgo8ZGl2IGNsYXNzPSJyb3ciPgogIDxwIGNsYXNzPSJjb2wzMCI+eyRtb2QtPkxhbmcoJ3VzZXJuYW1lJyl9PC9wPgogIDxwIGNsYXNzPSJjb2w3MCI+CiAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH11ZF91c2VybmFtZSIgc2l6ZT0iMjAiIG1heGxlbmd0aD0iNDAiLz4KICA8L3A+CjwvZGl2PgoKe2lmIGlzc2V0KCRzZWFyY2hwcm9wcyl9Cntmb3JlYWNoIGZyb209JHNlYXJjaHByb3Aga2V5PSdwcm9wbmFtZScgaXRlbT0kZGF0YX0KPGRpdiBjbGFzcz0icm93Ij4KICA8cCBjbGFzcz0iY29sMzAiPnskZGF0YS5maWVsZGRlZm4ucHJvbXB0fTo8L3A+CiAgPHAgY2xhc3M9ImNvbDcwIj4KICAgIHtpZiAkZGF0YS5maWVsZHR5cGUgPT0gJ3RleHQnfQogICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH11ZF9wcm9wdmFsdWVbeyRwcm9wbmFtZX1dIiBzaXplPSIyMCIgbWF4bGVuZ3RoPSIyMCIvPgogICAge2Vsc2UgaWYgJGRhdGEuZmllbGR0eXBlID09ICdzZWxlY3QnfQogICAgICA8c2VsZWN0IG5hbWU9InskYWN0aW9uaWR9dWRfcHJvcHZhbHVlW3skcHJvcG5hbWV9XSI+CiAgICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kdWRfb3B0aW9uc30KICAgICAgPC9zZWxlY3Q+CiAgICB7L2lmfQogIDwvcD4KPC9kaXY+CnsvZm9yZWFjaH0Key9pZn0KCjxkaXYgY2xhc3M9InJvdyI+CiAgPHAgY2xhc3M9ImNvbDMwIj57JG1vZC0+TGFuZygncmVzdWx0c19hbGxfYW55Jyl9PzwvcD4KICA8cCBjbGFzcz0iY29sNzAiPgogICAgPHNlbGVjdCBuYW1lPSJ7JGFjdGlvbmlkfXVkX2FsbGFueSI+CiAgICAgIDxvcHRpb24gdmFsdWU9ImFsbCI+eyRtb2QtPkxhbmcoJ2FsbCcpfTwvb3B0aW9uPgogICAgICA8b3B0aW9uIHZhbHVlPSJhbnkiPnskbW9kLT5MYW5nKCdhbnknKX08L29wdGlvbj4KICAgIDwvc2VsZWN0PgogIDwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJyb3ciPgogIDxwIGNsYXNzPSJjb2wzMCI+Jm5ic3A7PC9wPgogIDxwIGNsYXNzPSJjb2w3MCI+CiAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXVkX3N1Ym1pdCIgdmFsdWU9InskbW9kLT5MYW5nKCdzdWJtaXQnKX0iLz4KICA8L3A+CjwvZGl2PgoKeyRmb3JtZW5kfQo8L2Rpdj4=]]></data>
	</file>
	<file>
	  <filename>/templates/orig_summary_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogQ0dVc2VyRGlyZWN0b3J5IHN1bW1hcnkgdGVtcGxhdGUgKn0KCjxkaXYgaWQ9InVzZXJkaXJlY3Rvcnlfc3VtbWFyeSI+CntpZiBpc3NldCgkbnVtcGFnZXMpICYmICRudW1wYWdlcyA+IDF9CntpZiBpc3NldCgkZmlyc3RwYWdlX3VybCl9CiAgPGEgaHJlZj0ieyRmaXJzdHBhZ2VfdXJsfSIgdGl0bGU9InskbW9kLT5MYW5nKCdsYmxfZmlyc3RfcGFnZScpfSI+Jmx0OyZsdDs8L2E+CnsvaWZ9CntpZiBpc3NldCgkcHJldnBhZ2VfdXJsKX0KICA8YSBocmVmPSJ7JHByZXZwYWdlX3VybH0iIHRpdGxlPSJ7JG1vZC0+TGFuZygnbGlibF9wcmV2X3BhZ2UnKX0iPiZsdDs8L2E+CnsvaWZ9CiZuYnNwO3skbW9kLT5MYW5nKCdwYWdlJyl9Jm5ic3A7eyRjdXJwYWdlfSZuYnNwO3skbW9kLT5MYW5nKCdvZicpfSZuYnNwO3skbnVtcGFnZXN9Jm5ic3A7CntpZiBpc3NldCgkbmV4dHBhZ2VfdXJsKX0KICA8YSBocmVmPSJ7JG5leHRwYWdlX3VybH0iIHRpdGxlPSJ7JG1vZC0+TGFuZygnbGJsX25leHRfcGFnZScpfSI+Jmd0OzwvYT4Key9pZn0Ke2lmIGlzc2V0KCRsYXN0cGFnZV91cmwpfQogIDxhIGhyZWY9InskbGFzdHBhZ2VfdXJsfSIgdGl0bGU9InskbW9kLT5MYW5nKCdsYmxfbGFzdF9wYWdlJyl9Ij4mZ3Q7Jmd0OzwvYT4Key9pZn0Key9pZn0KCntmb3JlYWNoIGZyb209JHVzZXJzIGl0ZW09J29uZXVzZXInfQo8ZGl2IGNsYXNzPSJ1c2VyZGlyZWN0b3J5X29uZXVzZXIiIHN0eWxlPSJtYXJnaW46IDJlbTsgcGFkZGluZy1ib3R0b207IDJlbTsiPgoKICA8ZGl2IGNsYXNzPSJyb3ciIHN0eWxlPSJtYXJnaW46IDAuNWVtOyI+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>
