<?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>JM_NBBCode</name>
	<version>1.0RC1</version>
  <mincmsversion>1.10.0</mincmsversion>
	<help><![CDATA[CgoKCjxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPgo8cD5KTSBOQkJDb2RlIHByb3ZpZGVzIGFuIEFQSSBmb3IgeW91IHRvIHVzZSBCQkMgY29kZSBpbiB5b3VyIG93biBtb2R1bGVzIGJ5IHdyYXBwaW5nIHRoZSBOQkJDIGxpYnJhcnkuPC9wPgo8aDM+SG93IERvIEkgVXNlIEl0PC9oMz4KPHA+SWYgeW91ciBub3QgYSBwcm9ncmFtbWVyIHRoaXMgbW9kdWxlIGRvZXNuJ3QgcHJvdmlkZSBhbnkgZnVuY2lvbmFsaXR5IHlldCAoZnV0dXJlIHZlcnNpb25zIHdpbGwpLjwvcD4KPHA+SWYgeW91IGRldmVsb3AgeW91ciBvd24gbW9kdWxlcyBhbmQgd2FudCB0byBwYXJzZSB5b3VyIGNvZGUgdGhyb3VnaCBhbiBhZHZhbmNlZCBiYmMgcGFyc2VyCnlvdSBjYW4gdXNlIHRoaXMgZXh0ZW5zaXZlIEFQSS48L3A+CjxwPlRpcGljYWwgdXNlOjwvcD4KPHByZT4KICAgICAgICAkYmJjb2RlID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdKTV9OQkJDb2RlJyk7CiAgICAgICAgaWYgKGlzX29iamVjdCgkYmJjb2RlKSkKICAgICAgICB7CiAgICAgICAgICAgICRiYmNvZGUtPlNldFNtaWxleVVSTCgkdGhpcy0+TW9kdWxlRGF0YVsnSW1hZ2VVcmwnXS4nc21pbGV5cycpOwogICAgICAgICAgICAkcGFyc2VkX3RleHQgJGJiY29kZS0+UGFyc2UoJHJhd190ZXh0KTsKICAgICAgICB9CjwvcHJlPgoKPHA+QSBjb21wbGV0ZSBtYW51YWwgY2FuIGJlIGZvdW5kIG9uIHRoaXMgbW9kdWxlIGRvY3MgZm9sZGVyLjwvcD4KPHA+WW91IGNhbiBhbHNvIGNvbnN1bHQ6IDxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vbmJiYy5zb3VyY2Vmb3JnZS5uZXQvcmVhZG1lLnBocD9wYWdlPWFwaSI+VGhlIE5ldyBCQkNvZGUgUGFyc2VyPC9hPjwvcD4KCjxwPk5CQkMgY29tZXMgYnVpbHQtaW4gd2l0aCBhIG51bWJlciBvZiB1c2VmdWwgZmVhdHVyZXM6PC9wPgoKPHVsPgo8bGk+T3V0cHV0IGlzIGFsd2F5cyBYSFRNTCAxLjAgU3RyaWN0IGNvbmZvcm1hbnQuPC9saT4KPGxpPk91dHB1dCBpcyBwcm90ZWN0ZWQgYWdhaW5zdCBtYW55IGNvbW1vbiB1c2VyLWlucHV0IGF0dGFja3MsIHN1Y2ggYXMgWFNTIGF0dGFja3MuPC9saT4KPGxpPlNtaWxleXMsIHN1Y2ggYXMgPHR0PjotKTwvdHQ+LCBhcmUgY29udmVydGVkIGludG8gPHR0PiZsdDtpbWcmZ3Q7PC90dD4gdGFncywKICAgIGFuZCBhIGxhcmdlIGxpYnJhcnkgb2YgY29tbW9uIHNtaWxleSBpbWFnZXMgaXMgaW5jbHVkZWQuPC9saT4KPGxpPkluY2x1ZGVzIGEgbGlicmFyeSBzdXBwb3J0aW5nIGFsbCB0aGUgc3RhbmRhcmQgQkJDb2RlIGNvZGVzIGZvdW5kIG9uIG1vc3QKICAgIHBvcHVsYXIgYnVsbGV0aW4gYm9hcmRzIGFuZCB3ZWIgZm9ydW1zLjwvbGk+CjxsaT5TdXBwb3J0cyAid2lraSBsaW5rcywiIHdoaWNoIGNhbiBiZSBhbiBlYXN5IHdheSBmb3IgdXNlcnMgdG8gcmVmZXJlbmNlIHdpa2kKICAgIHBhZ2VzIG9uIHlvdXIgc2l0ZSBpZiB5b3UgYWxzbyBoYXZlIGEgd2lraSBpbnN0YWxsZWQuPC9saT4KPGxpPlRoZSBsaXN0IG9mIGNvZGVzIGlzIGZ1bGx5IGV4dGVuc2libGU7IHlvdSBjYW4gYWRkIGFuZCByZW1vdmUgY29kZXMgYXQgYW55IHRpbWUuPC9saT4KPGxpPlRpZ2h0bHkgZW5jYXBzdWxhdGVkIGluIGNsYXNzZXMgYW5kIGRvZXNuJ3QgcG9sbHV0ZSB0aGUgZ2xvYmFsIG5hbWVzcGFjZSwKICAgIHNvIGl0J3MgZWFzeSB0byBkcm9wIGludG8gZXhpc3RpbmcgZW52aXJvbm1lbnRzLjwvbGk+CjxsaT5UaGUgZW50aXJlIHBhcnNlciBjb25zaXN0cyBvZiBvbmx5IGZvdXIgZmlsZXMsIG9ubHkgb25lIG9mIHdoaWNoIHlvdSBldmVyIG5lZWQKICAgIHRvIGluY2x1ZGUgZGlyZWN0bHksIHdoaWNoIGFsc28gbWFrZXMgaXQgZWFzeSB0byBkcm9wIGludG8gZXhpc3RpbmcgZW52aXJvbm1lbnRzLjwvbGk+CjxsaT5UaGUgc3RhbmRhcmQgbGlicmFyeSBpbmNsdWRlcyBzdXBwb3J0IGZvciBub3Qgb25seSBleHRyZW1lbHkgY29tbW9uIHRhZ3MgbGlrZSBbYl0KICAgIGFuZCBbaV0sIGJ1dCBhbHNvIHN1cHBvcnRzIG5lYXJseSBhbGwgdGhlIHRhZ3MgZm91bmQgb24gbW9zdCBtYWpvciBmb3J1bXMgYW5kCiAgICBidWxsZXRpbiBib2FyZHM6ICBbY2VudGVyXSwgW2xpc3RdLCBbY29kZV0sIGFuZCBbcXVvdGVdLCBhbW9uZyBvdGhlcnMsIHdpdGggYWxsCiAgICB0aGVpciB2YXJpb3VzIGZsYWdzIGFuZCBwYXJhbWV0ZXJzLjwvbGk+CjxsaT4gTkJCQyBpcyBjb3ZlcmVkIHVuZGVyIHRoZQogICAgPGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvYnNkLWxpY2Vuc2UucGhwIj5OZXcgQlNEIE9wZW4tU291cmNlIExpY2Vuc2U8L2E+LAogICAgc28gaXQgY2FuIGJlIHVzZWQgYW55d2hlcmUsIGFueXdoZW4sIGluIGFueSBwcm9qZWN0LCBmb3IgYW55IHJlYXNvbi48L2xpPgo8L3VsPgoKPGgzPkZ1bmN0aW9ucyBsaXN0PC9oMz4KPHA+PGVtPihmb3IgZGV0YWlscyBhbmQgcGFyYW1ldGVycyBjb25zdWx0IHRoZSBpbmNsdWRlZCBkb2NzKTwvZW0+PC9wPgo8cD5Db3JlIFBhcnNpbmcgRnVuY3Rpb25zOjwvcD4KPHVsPgogIDxsaT5CQkNvZGU6OkJCQ29kZTwvbGk+CiAgPGxpPkJCQ29kZTo6UGFyc2U8L2xpPgogIDxsaT5CQkNvZGU6OkRvVGFnPC9saT4KICA8bGk+QkJDb2RlOjpTZXREZWJ1ZzwvbGk+CiAgPGxpPkJCQ29kZTo6R2V0RGVidWc8L2xpPgo8L3VsPgo8cD5MYW5ndWFnZS1CZWhhdmlvciBGdW5jdGlvbnM6PC9wPgo8dWw+CiAgPGxpPkJCQ29kZTo6U2V0VGFnTWFya2VyPC9saT4KICA8bGk+QkJDb2RlOjpHZXRUYWdNYXJrZXI8L2xpPgogIDxsaT5CQkNvZGU6OlNldEFsbG93QW1wZXJzYW5kPC9saT4KICA8bGk+QkJDb2RlOjpHZXRBbGxvd0FtcGVyc2FuZDwvbGk+CiAgPGxpPkJCQ29kZTo6U2V0SWdub3JlTmV3bGluZXM8L2xpPgogIDxsaT5CQkNvZGU6OkdldElnbm9yZU5ld2xpbmVzPC9saT4KICA8bGk+QkJDb2RlOjpTZXRQbGFpbk1vZGU8L2xpPgogIDxsaT5CQkNvZGU6OkdldFBsYWluTW9kZTwvbGk+CiAgPGxpPkJCQ29kZTo6U2V0TGltaXQ8L2xpPgogIDxsaT5CQkNvZGU6OkdldExpbWl0PC9saT4KICA8bGk+QkJDb2RlOjpTZXRMaW1pdFByZWNpc2lvbjwvbGk+CiAgPGxpPkJCQ29kZTo6R2V0TGltaXRQcmVjaXNpb248L2xpPgogIDxsaT5CQkNvZGU6OlNldExpbWl0VGFpbDwvbGk+CiAgPGxpPkJCQ29kZTo6R2V0TGltaXRUYWlsPC9saT4KICA8bGk+QkJDb2RlOjpXYXNMaW1pdGVkPC9saT4KPC91bD4KPHA+Q29udGVudC1UcmltbWluZyBGdW5jdGlvbnM6PC9wPgo8dWw+CiAgPGxpPkJCQ29kZTo6U2V0UHJlVHJpbTwvbGk+CiAgPGxpPkJCQ29kZTo6R2V0UHJlVHJpbTwvbGk+CiAgPGxpPkJCQ29kZTo6U2V0UG9zdFRyaW08L2xpPgogIDxsaT5CQkNvZGU6OkdldFBvc3RUcmltPC9saT4KICA8bGk+Um9vdC1DbGFzcyBGdW5jdGlvbnM6PC9saT4KICA8bGk+QkJDb2RlOjpTZXRSb290SW5saW5lPC9saT4KICA8bGk+QkJDb2RlOjpTZXRSb290QmxvY2s8L2xpPgogIDxsaT5CQkNvZGU6OlNldFJvb3Q8L2xpPgogIDxsaT5CQkNvZGU6OkdldFJvb3Q8L2xpPgo8L3VsPgo8cD5SdWxlIEZ1bmN0aW9uczo8L3A+Cjx1bD4KICA8bGk+QkJDb2RlOjpBZGRSdWxlPC9saT4KICA8bGk+QkJDb2RlOjpSZW1vdmVSdWxlPC9saT4KICA8bGk+QkJDb2RlOjpHZXRSdWxlPC9saT4KICA8bGk+QkJDb2RlOjpDbGVhclJ1bGVzPC9saT4KICA8bGk+QkJDb2RlOjpHZXREZWZhdWx0UnVsZTwvbGk+CiAgPGxpPkJCQ29kZTo6U2V0RGVmYXVsdFJ1bGU8L2xpPgogIDxsaT5CQkNvZGU6OkdldERlZmF1bHRSdWxlczwvbGk+CiAgPGxpPkJCQ29kZTo6U2V0RGVmYXVsdFJ1bGVzPC9saT4KICA8bGk+V2lraS1MaW5rIEZ1bmN0aW9uczo8L2xpPgogIDxsaT5CQkNvZGU6OlNldFdpa2lVUkw8L2xpPgogIDxsaT5CQkNvZGU6OkdldFdpa2lVUkw8L2xpPgogIDxsaT5CQkNvZGU6OkdldERlZmF1bHRXaWtpVVJMPC9saT4KICA8bGk+QkJDb2RlOjpXaWtpZnk8L2xpPgo8L3VsPgo8cD5TbWlsZXkgRnVuY3Rpb25zOjwvcD4KPHVsPgogIDxsaT5CQkNvZGU6OkFkZFNtaWxleTwvbGk+CiAgPGxpPkJCQ29kZTo6UmVtb3ZlU21pbGV5PC9saT4KICA8bGk+QkJDb2RlOjpHZXRTbWlsZXk8L2xpPgogIDxsaT5CQkNvZGU6OkNsZWFyU21pbGV5czwvbGk+CiAgPGxpPkJCQ29kZTo6R2V0RGVmYXVsdFNtaWxleTwvbGk+CiAgPGxpPkJCQ29kZTo6U2V0RGVmYXVsdFNtaWxleTwvbGk+CiAgPGxpPkJCQ29kZTo6R2V0RGVmYXVsdFNtaWxleXM8L2xpPgogIDxsaT5CQkNvZGU6OlNldERlZmF1bHRTbWlsZXlzPC9saT4KICA8bGk+QkJDb2RlOjpTZXRTbWlsZXlEaXI8L2xpPgogIDxsaT5CQkNvZGU6OkdldFNtaWxleURpcjwvbGk+CiAgPGxpPkJCQ29kZTo6R2V0RGVmYXVsdFNtaWxleURpcjwvbGk+CiAgPGxpPkJCQ29kZTo6U2V0U21pbGV5VVJMPC9saT4KICA8bGk+QkJDb2RlOjpHZXRTbWlsZXlVUkw8L2xpPgogIDxsaT5CQkNvZGU6OkdldERlZmF1bHRTbWlsZXlVUkw8L2xpPgogIDxsaT5CQkNvZGU6OlNldEVuYWJsZVNtaWxleXM8L2xpPgogIDxsaT5CQkNvZGU6OkdldEVuYWJsZVNtaWxleXM8L2xpPgo8L3VsPgo8cD5SZXBsYWNlZCBJdGVtIEZ1bmN0aW9uczo8L3A+Cjx1bD4KICA8bGk+QkJDb2RlOjpHZXRSdWxlSFRNTDwvbGk+CiAgPGxpPkJCQ29kZTo6U2V0UnVsZUhUTUw8L2xpPgogIDxsaT5CQkNvZGU6OkdldERlZmF1bHRSdWxlSFRNTDwvbGk+CiAgPGxpPkJCQ29kZTo6R2V0TG9jYWxJbWdEaXI8L2xpPgogIDxsaT5CQkNvZGU6OlNldExvY2FsSW1nRGlyPC9saT4KICA8bGk+QkJDb2RlOjpHZXREZWZhdWx0TG9jYWxJbWdEaXI8L2xpPgogIDxsaT5CQkNvZGU6OkdldExvY2FsSW1nVVJMPC9saT4KICA8bGk+QkJDb2RlOjpTZXRMb2NhbEltZ1VSTDwvbGk+CiAgPGxpPkJCQ29kZTo6R2V0RGVmYXVsdExvY2FsSW1nVVJMPC9saT4KPC91bD4KPHA+TWlzY2VsbGFuZW91cyBTdXBwb3J0IEZ1bmN0aW9uczo8L3A+Cjx1bD4KICA8bGk+QkJDb2RlOjpubDJicjwvbGk+CiAgPGxpPkJCQ29kZTo6SXNWYWxpZFVSTDwvbGk+CiAgPGxpPkJCQ29kZTo6SXNWYWxpZEVtYWlsPC9saT4KICA8bGk+QkJDb2RlOjpIVE1MRW5jb2RlPC9saT4KICA8bGk+QkJDb2RlOjpGaXh1cE91dHB1dDwvbGk+CjwvdWw+Cgo8aDM+U3VwcG9ydDwvaDM+CjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4KPHVsPgo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQsIHBsZWFzZSB2aXNpdCB0aGUgTW9kdWxlIEZvcmdlCjxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvam1fbmJiY29kZS8iPkpNX05CQkNvZGUgUGFnZTwvYT4uPC9saT4KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPgo8bGk+VGhlIGF1dGhvciwgSm9Nb3JnLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPgo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkuPC9saT4KPC91bD4KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0Cm9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4KCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPgo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMTIsIEZlcm5hbmRvIE1vcmdhZG8uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4KPHA+TkJCQyBpcyByZWxlYXNlZCB1bmRlciBDb3B5cmlnaHQgJmNvcHk7IDIwMTAsIHRoZSBQaGFudG9tIElua2VyLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC48L3A+CjxwPlRoaXMgbW9kdWxlIGhhcyBiZWVuIHJlbGVhc2VkIHVuZGVyIHRoZSA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPkdOVSBQdWJsaWMgTGljZW5zZTwvYT4uIFlvdSBtdXN0IGFncmVlIHRvIHRoaXMgbGljZW5zZSBiZWZvcmUgdXNpbmcgdGhlIG1vZHVsZS48L3A+CjxoMz5QYXJhbWV0ZXJzPC9oMz48dWw+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gbGFuZz0iZW5fVVMiIC0gPC9saT48L3VsPg==]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBKb01vcmcgJmx0O2ptb3JnLm1vcmdAZ21haWwuY29tJmd0OzxiciAvPjxiciAvPlZlcnNpb246IDEuMFJDMTxiciAvPg==]]></about>
	<description><![CDATA[NBBCode API allows other modules to use NNBC parsing.]]></description>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/docs/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/docs/CHANGELOG</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CjIwMTAtMDktMTcgLyB2MS40LjUgLyBQaGFudG9tIElua2VyIChpbmtlcjI1NzZAeWFob28uY29tKQoJKiBTRUNVUklUWSBGSVg6ICBGaXhlZCBhIGJ1ZyB0aGF0IHdvdWxkIGFsbG93IGFyYml0cmFyeSBIVE1MCgkJaW5qZWN0aW9uIHZpYSB0aGUgc3RhbmRhcmQgW2Fjcm9ueW1dIHRhZy4KCjIwMTAtMDgtMTYgLyBub24tcmVsZWFzZWQgLyBQaGFudG9tIElua2VyIChpbmtlcjI1NzZAeWFob28uY29tKQoJKiBBZGRlZCBhbm90aGVyIHVuaXQgdGVzdCBmb3IgdW5jbG9zZWQgbGlzdHMuCgoyMDEwLTA2LTA1IC8gdjEuNC40IC8gUGhhbnRvbSBJbmtlciAoaW5rZXIyNTc2QHlhaG9vLmNvbSkKCSogRml4ZWQgdGhlIGxvbmctc3RhbmRpbmcgYnVnIGluIHZlcmJhdGltIHBhcnNpbmcgc28gdGhhdAoJCWludGVyaW9yIGNvbnRlbnQgaXMgbm93IHRydWx5IHZlcmJhdGltIGFuZCB1bnByb2Nlc3NlZC4KCQlUaGlzIGFsbG93cyBzb3VyY2UgY29kZSB0byBiZSBjb3JyZWN0bHkgcmVwcmVzZW50ZWQgaW5zaWRlCgkJYSBbY29kZV0gYmxvY2sgZXZlbiBpZiBpdCBjb250YWlucyB0aGluZ3MgbGlrZSBbJ2ZvbyddLgoJKiBGaXhlZCB0eXBvcyAobWlzc2luZyAkdGhpcy0+IGFuZCB3cm9uZyB2YXJpYWJsZSBuYW1lcykgaW4KCQlTZXREZWZhdWx0UnVsZSgpIGFuZCBTZXRXaWtpVVJMKCkgdGhhdCBjYXVzZWQgdGhlbSB0bwoJCXJlZmVyZW5jZSB0aGluZ3MgdGhhdCBkaWRuJ3QgZXhpc3QuCgkqIEZpeGVkIGEgdHlwbyAobWlzc2luZyBiYWNrc2xhc2gpIGluIElzVmFsaWRVUkwoKSB0aGF0IGNhdXNlZAoJCWl0IHRvIG1pc3Mgc29tZSBsZWdhbCBVUkxzLgoJKiBGaXhlZCBhIGJ1ZyB0aGF0IHdhcyBpbmNvcnJlY3RseSBnZW5lcmF0aW5nIGxpc3RzIGluIHNvbWUgY2FzZXMuCgoyMDA5LTEwLTMxIC8gbm9uLXJlbGVhc2VkIC8gUGhhbnRvbSBJbmtlciAoaW5rZXIyNTc2QHlhaG9vLmNvbSkKCSogRml4ZWQgYSBidWcgaW4gU2V0V2lraVVSTCB0aGF0IHJlZmVyZW5jZWQgYW4gaW52YWxpZCBmdW5jdGlvbgoJCXBhcmFtZXRlci4KCSogRml4ZWQgYSBidWcgaW4gdGhlIGxleGVyIHRoYXQgd2FzIGNhdXNpbmcgY29tbWVudHMgdG8gcHJvZHVjZQoJCWFuIGludmFsaWQgZm9sbG93aW5nIHN0YXRlIChhbmQgdGh1cyBjYXVzaW5nIGNvbW1lbnRzIHRvCgkJZWZmZWN0aXZlbHkgdHVybiBvZmYgdGFnIHBhcnNpbmcgdGhlcmVhZnRlciEpLgoJKiBBZGRlZCB0ZXN0cyBmb3IgdGhlIGNvbW1lbnQgYnVnLCBhbmQgZm9yIGEgcmVwb3J0ZWQgKGJ1dCBub3QKCQl5ZXQgcmVwcm9kdWNlZCkgcXVvdGUgYnVnLgoKMjAwOS0xMC0xMCAvIHYxLjQuMyAvIFBoYW50b20gSW5rZXIgKGlua2VyMjU3NkB5YWhvby5jb20pCgkqIEZpeGVkIGEgYnVnIGluIHBsYWluIG1vZGUgdGhhdCB3YXMgY2F1c2luZyB0YWdzIHByb2Nlc3NlZCBpbgoJCXBsYWluIG1vZGUgdG8gdGhyb3cgZXJyb3JzIChpdCB3YXMgY2FsbGluZyBhIGZ1bmN0aW9uIHRoYXQKCQloYWQgc2luY2UgYmVlbiByZW5hbWVkKS4KCSogQWRkZWQgdGVzdHMgZm9yIHBsYWluIG1vZGUgdG8gZW5zdXJlIHRoaXMgb21pc3Npb24gd29uJ3QKCQloYXBwZW4gYWdhaW4uCgoyMDA5LTA2LTIxIC8gdjEuNC4yIC8gUGhhbnRvbSBJbmtlciAoaW5rZXIyNTc2QHlhaG9vLmNvbSkKCSogU0VDVVJJVFkgRklYOiBbaW1nXSB0YWcgd2FzIGFsbG93aW5nIEhUTUwgY29udGVudCB0byBiZSBwYXNzZWQKCQl0aHJvdWdoLgoKMjAwOS0wNC0wMyAvIHYxLjQuMSAvIFBoYW50b20gSW5rZXIgKGlua2VyMjU3NkB5YWhvby5jb20pCgkqIEZpeGVkIGRvY3VtZW50YXRpb24gZm9yIFtxdW90ZV0gdGFnJ3MgdXJsPSBhdHRyaWJ1dGUuCgoyMDA5LTAzLTIwIC8gdjEuNC4xIC8gUGhhbnRvbSBJbmtlciAoaW5rZXIyNTc2QHlhaG9vLmNvbSkKCSogQWRkZWQgc3VwcG9ydCBmb3IgU2V0VVJMVGFyZ2V0KCkgYW5kIEdldFVSTFRhcmdldCgpLCBhbmQKCQlleHRlbmRlZCBzdXBwb3J0IGZvciBTZXRVUkxUYXJnZXRpbmcoKS4KCSogQWRkZWQgZm91ciBtb3JlIHJlZ3Jlc3Npb24gdGVzdHMgZm9yIFVSTCB0YXJnZXRpbmcuCgoyMDA5LTAyLTE2IC8gdjEuNC4wIFJFTEVBU0UgLyBQaGFudG9tIElua2VyIChpbmtlcjI1NzZAeWFob28uY29tKQoJKiBSZXBsYWNlZCBwYXJzaW5nIGxvZ2ljIGZvciB0YWdzIHNvIHRoYXQgYW4gZXF1YWwtc2lnbiBiZWZvcmUKCSAgICB3aGl0ZXNwYWNlIGNhbiBiZSBjb25zaWRlcmVkIHBhcnQgb2YgYSB0YWcncyB2YWx1ZS4gIFRoaXMKCSAgICBhbGxvd3MgW3VybD1odHRwOi8vZm9vLmNvbT9iYXI9YmF6XSB0byBiZSBwYXJzZWQgdGhlIHdheSB0aGUKCSAgICB1c2VyIGV4cGVjdHMuICBOb3RlIHRoYXQgdGhpcyBkb2VzIGJyZWFrIHNvbWUgKHByb2JhYmx5CgkgICAgaW52YWxpZCkgdGFncywgYnV0IG92ZXJhbGwsIHRoZSBuZXcgcGFyc2luZyBhbGdvcml0aG0gc2VlbXMKCSAgICB0byBiZSBhIHdpbi4KCSogQWRkZWQgc2V2ZXJhbCByZWdyZXNzaW9uIHRlc3RzIGZvciB0aGUgbmV3IHRhZy1wYXJzaW5nIGxvZ2ljLgoJKiBBZGRlZCBTZXRVUkxUYXJnZXRhYmxlKCkgYW5kIEdldFVSTFRhcmdldGFibGUoKS4gIEhvd2V2ZXIsIHRoZQoJICAgIGRlZmF1bHQgc2V0dGluZyBpcyB0byBoYXZlIHRoaXMgZGlzYWJsZWQgZm9yIHNlY3VyaXR5IHJlYXNvbnMuCgkqIFVwZGF0ZWQgW3VybF0gdGFnIHRvIHN1cHBvcnQgVVJMIHRhcmdldGluZywgdXNpbmcgdGhlIHN0YW5kYXJkCgkgICAgdGFyZ2V0PSIiIGZvcm0uCgkqIEZpeGVkIFdpa2lmeSgpIHNvIHRoYXQgd2lraSBsaW5rcyB3aXRoICcgb3IgLCBpbiB0aGVtIHdpbGwgYmUKCSAgICBwcm9jZXNzZWQgY29ycmVjdGx5LgoJKiBBZGRlZCB0aGUgX3RhZywgX2VuZHRhZywgX2hhc2VuZCwgYW5kIF9wYXJhbXMgdGFnIHBhcmFtZXRlcnMuCgkqIEFkZGVkIG5ldyBhcHBlbmRpeCBIIGZvciB0aGUgdGFnIHBhcmFtZXRlcnM7IGFkZGVkIGFkZGl0aW9uYWwKCSAgICBkb2N1bWVudGF0aW9uIGZvciBTZXQvR2V0VVJMVGFyZ2V0YWJsZSgpLgoJKiBBZGRlZCAkZGVidWcgZmxhZyB0byBCQkNvZGVMZXhlciwgcmVwbGljYXRlZCBmcm9tIHRoZSBzYW1lIGZsYWcgaW4KCSAgICBjbGFzcyBCQkNvZGUgaXRzZWxmLgoKMjAwOS0wMS0wOCAvIHYxLjMuNCAvIFBoYW50b20gSW5rZXIgKGlua2VyMjU3NkB5YWhvby5jb20pCgkqIFJlcGxhY2VkIElzVmFsaWRFbWFpbCgpIHdpdGggZS1tYWlsIHZhbGlkYXRvciBmcm9tIEFkZGVkQnl0ZXMuY29tLAoJICAgIHdoaWNoIGRvZXMgYSBjb25zaWRlcmFibHkgYmV0dGVyIGpvYiBvZiB2YWxpZGF0aW5nIGluY29ycmVjdAoJICAgIGUtbWFpbHMuICBUaGlzIGZpeGVzIGEgYnVnIHdlcmUgc29tZSBlLW1haWwgYWRkcmVzc2VzIGluIFtlbWFpbF0KCSAgICB0YWdzIHdlcmUgYmVpbmcgcmVqZWN0ZWQgZXZlbiB0aG91Z2ggdGhleSB3ZXJlIGxlZ2FsLgoKMjAwOC0xMi0wMSAvIHYxLjMuMyAvIFBoYW50b20gSW5rZXIgKGlua2VyMjU3NkB5YWhvby5jb20pCgkqIEFkZGVkIHJlZ3Jlc3Npb24gdGVzdHMgZm9yIFtbd2lraV1dIHRhZ3MgZHVlIHRvIHBvc3NpYmxlIGlzc3VlCgkJaWRlbnRpZmllZCBpbiBkZWJ1Z2dpbmcgQ01YcHJlc3MgdjAuOS44LgoKMjAwOC0xMS0wNiAvIHYxLjMuMiAvIFBoYW50b20gSW5rZXIgKGlua2VyMjU3NkB5YWhvby5jb20pCgkqIEFkZGVkIHJlZ3Jlc3Npb24gdGVzdHMgZm9yIHBhcnNpbmcgZXF1YWwgc2lnbnMgaW4gdGFncyBwZXIgdHJhY2tlcgoJCUlEICMyMjIwNTk4LgoKMjAwOC0wOC0wOCAvIHYxLjMuMSBSRUxFQVNFIC8gUGhhbnRvbSBJbmtlciAoaW5rZXIyNTc2QHlhaG9vLmNvbSkKCSogQWRkZWQgcHJvZmlsZXIgY2xhc3MgYW5kIHByb2ZpbGluZyBjb2RlLgoJKiBBZGRlZCBzdXBwb3J0IGZvciByZW1vdmFibGUgc2VjdGlvbnMgaW4gY29tcHJlc3NlZCB2ZXJzaW9uLgoJKiBSZW1vdmVkIG1ham9yIHBlcmZvcm1hbmNlIGJvdHRsZW5lY2sgaW4gSW50ZXJuYWxfUHJvY2Vzc1NtaWxleXMoKQoJCXRoYXQgY3V0IG92ZXJhbGwgcGFyc2luZyB0aW1lcyB0byBhYm91dCBvbmUgdGhpcmQgb2Ygd2hhdCB0aGV5CgkJd2VyZSBiZWZvcmUuCgkqIEFkZGVkIFBIUCA0IGNvbXBhdGlibGl0eSBjaGVjayBmb3Igc3RyX3NwbGl0OyBmaXhlcyBhIHNpZ25pZmljYW50CgkJYnVnIG9uIFBIUCA0IHN5c3RlbXMuCgkqIFNpbXBsaWZpZWQgdGVzdCBzY3JpcHQncyB0aW1lIG91dHB1dCwgc2luY2UgdGhlIG5ldyBwcm9maWxpbmcgY29kZSBjYW4KCQl0cmFjayBpdCBtb3JlIGFjY3VyYXRlbHkgd2hlbiBkZWJ1Z2dpbmcuCgoyMDA4LTA4LTA3IC8gdjEuMyBSRUxFQVNFIC8gUGhhbnRvbSBJbmtlciAoaW5rZXIyNTc2QHlhaG9vLmNvbSkKCSogRXhwb3NlZCB0aGUgZnVuY3Rpb25hbGl0eSBvZiBGaWxsVGVtcGxhdGUoKSBhcyBhIHB1YmxpYyBmdW5jdGlvbi4KCSogQ2hhbmdlZCB0ZW1wbGF0ZS1maWxsaW5nIHRvIGhhdmUgaXRzIGRlZmF1bHQgZW5jb2RpbmcgYmUgUkFXLCBub3QKCQlIVE1MRW5jb2RlKCkuICBUaGlzIHdpbGwgYWZmZWN0IGFueSBFTkhBTkNFRCBydWxlIHVzZWQgd2l0aCB2MS4yCgkJb3IgZWFybGllcjsgdGhvc2UgcnVsZXMgTVVTVCBiZSBjb252ZXJ0ZWQgdG8gdXNlIHRoZSBuZXcgL2UKCQlmbGFnIG9yIHRoZXkgd2lsbCBub3QgZnVuY3Rpb24gcHJvcGVybHkuCgkqIENoYW5nZWQgJ3BsYWluX2xpbmsnIHByb2Nlc3NpbmcgdG8gdXNlIEZpbGxUZW1wbGF0ZSgpLgoJKiBBZGRlZCBVUkwvZG9tYWluLW5hbWUvZW1haWwtYWRkcmVzcyBhdXRvLWRldGVjdGlvbiAodHVybmVkIG9mZiBieSBkZWZhdWx0KS4KCSogQWRkZWQgY29uZm9ybWFuY2UgdGVzdHMgZm9yIFVSTC9ldGMuIGF1dG8tZGV0ZWN0aW9uLgoJKiBBZGRlZCBVUkwvZXRjLiBhdXRvLWRldGVjdGlvbiBBUElzIHRvIGRvY3VtZW50YXRpb24uCgkqIEFkZGVkICdrJyBmbGFnIGFuZCAnLicgb3BlcmF0b3IgdG8gRmlsbFRlbXBsYXRlKCkuCgkqIEFkZGVkIEZpbGxUZW1wbGF0ZSgpIEFQSSB0byBkb2N1bWVudGF0aW9uLgoJKiBBZGRlZCBGaWxsVGVtcGxhdGUoKSBleGFtcGxlLgoJKiBDaGFuZ2VkIGV4YW1wbGUgcHJvZ3JhbXMgdG8gdXNlICJuYmJjLnBocCIsIG5vdCAic3JjL25iYmNfbWFpbi5waHAiLgoJKiBBZGRlZCBSU1MgZXhhbXBsZSB0byBkZW1vbnN0cmF0ZSBsaW1pdGluZyBhbmQgcGxhaW4gbW9kZXMuCgkqIENoYW5nZWQgZnVsbCBleGFtcGxlIHRvIG9mZmVyIGNoZWNrYm94ZXMgZm9yIHRlc3RpbmcgdmFyaW91cyBtb2Rlcy4KCSogQWRkZWQgYW4gYXBwZW5kaXggY29udGFpbmluZyBzYW1wbGUgQ1NTLgoJKiBBZGRlZCB1c2FnZSBzZWN0aW9ucyB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgbGltaXRlZC1sZW5ndGggbW9kZSwKCQlwbGFpbi1IVE1MIG1vZGUsIGFuZCBVUkwtYXV0b2RldGVjdGlvbiBtb2RlLgoJKiBBZGRlZCBuZXcgTkJCQyBsb2dvIDotKQogICAgU3RhdHM6ICAxMjcgS0Igc291cmNlLCAyNjAgS0IgdXNlcidzIG1hbnVhbCwgMTMxIGNvbmZvcm1hbmNlIHRlc3RzIFtBTEwgUEFTU10uCgoyMDA4LTA4LTA0IC8gdjEuMiBSRUxFQVNFIC8gUGhhbnRvbSBJbmtlciAoaW5rZXIyNTc2QHlhaG9vLmNvbSkKCSogQWRkZWQgb3V0cHV0LWxpbWl0aW5nIG1vZGUuCgkqIEFkZGVkIG91dHB1dC1saW1pdCB0YWlscy4KCSogQWRkZWQgZnV6enkgb3V0cHV0IGxpbWl0aW5nLgoJKiBBZGRlZCBwbGFpbi10ZXh0IG1vZGUuCgkqIEFkZGVkIEFQSSBkb2N1bWVudGF0aW9uIGZvciBvdXRwdXQtbGltaXQgYW5kIHBsYWluLXRleHQgbW9kZS4KCSogQ2hhbmdlZCBleGFtcGxlcyB0byB1c2UgWEhUTUwgaGVhZGVyIGRlY2xhcmF0aW9ucwoJKiBBZGRlZCBsaW1pdGluZyBleGFtcGxlLgoJKiBBZGRlZCBzdHJpcF90YWdzKCkgY2FsbHMgdG8gW3VybF0sIFtlbWFpbF0sIGFuZCBbaW1nXSB0YWdzIGZvciBzYWZldHkuCgkqIEZpeGVkIGRvdWJsZS1lbmNvZGluZyBidWcgaW4gW3VybF0sIFtlbWFpbF0sIGFuZCBbaW1nXSB0YWdzIHdoZW4gc3BlY2lmeWluZwoJICAgdGhlIFVSTCBhcyBjb250ZW50IGluc3RlYWQgb2YgaW4gdGhlIHRhZyBpdHNlbGYuCgkqIEZpeGVkIGRvdWJsZS1lbmNvZGluZyBidWcgaW4gdGhlIFtjb2xvcl0gYW5kIFthY3JvbnltXSB0YWdzLgoKMjAwOC0wNy0zMCAvIHYxLjEgUkVMRUFTRSAvIFBoYW50b20gSW5rZXIgKGlua2VyMjU3NkB5YWhvby5jb20pCiAgICAqIEFkZGVkIG1vcmUgY29uZm9ybWFuY2UgdGVzdHMgYW5kIGV4cGFuZGVkIHNvbWUgZXhpc3Rpbmcgb25lcy4KCSogQWRkZWQgcGVyZm9ybWFuY2UtbWVhc3VyaW5nIHRvIHRlc3RfbmJiYy5waHAuCgkqIE9wdGltaXplZCBsZXhlciBwYXR0ZXJuIHRvIHJldHVybiBmZXdlciB0ZXh0IHRva2VucyB3aGVuZXZlciBwb3NzaWJsZS4KCSogT3B0aW1pemVkIHN0YWNrIHRvIHVzZSBzeW1ib2xpYyBjb25zdGFudHMgaW5zdGVhZCBvZiBzdHJpbmdzLgoJKiBPcHRpbWl6ZWQgd2hpdGVzcGFjZSByZW1vdmFsIHRvIHBlcmZvcm0gZmV3ZXIgbGV4ZXIgY2FsbHMuCgkqIE9wdGltaXplZCBwYXJzZXIgY29yZSB3aGVuIGRlYWxpbmcgd2l0aCB0ZXh0L3doaXRlc3BhY2UvbmV3bGluZXMuCgkqIE9wdGltaXplZCB0ZXh0LWNvbGxlY3Rpb24gdG8gdXNlIG91dHB1dCBidWZmZXJpbmcgaW5zdGVhZCBvZiBzdHJpbmcgY2F0cy4KCSogT3B0aW1pemVkIHNtaWxleSBjb252ZXJzaW9ucyBmb3IgdGhlIG1vc3QgY29tbW9uIGNhc2UuCgkqIFNldmVyYWwgb3RoZXIgc21hbGwgb3B0aW1pemF0aW9ucyBhbmQgY2xlYW51cHMuCgkqIE92ZXJhbGwgcGVyZm9ybWFuY2UgaW1wcm92ZW1lbnQgb2YgYWJvdXQgMzAlLgoJKiBGaXhlZCBpbmNvcnJlY3QgcnVsZSBkZWNsYXJhdGlvbiBsb2dpYyBmb3IgY2FsbGJhY2sgZnVuY3Rpb25zLgoJKiBGaXhlZCBzZWN0aW9uLWxpbmsgZ2xpdGNoIGluIHVzZXIncyBtYW51YWwuCgkqIEZpeGVkIGJ1ZyB0aGF0IHdhcyBwcm9oaWJpdGluZyB1bmNvbXByZXNzZWQgdmVyc2lvbiBmcm9tIHdvcmtpbmcgcmlnaHQuCgkqIFJlbW92ZWQgKGN1cnJlbnRseSkgdW51c2VkIEJCQ09ERV9PVVRQVVRfVEVYVCBkZWNsYXJhdGlvbnMgKHRoZXNlIHByb2JhYmx5CgkgICBuZWVkIHRvIGJlIGFkZGVkIGluIGZvciByZWFsIGF0IGEgbGF0ZXIgZGF0ZSkuCgkqIEFkZGVkIHNhbXBsZSBDU1MgYXBwZW5kaXggdG8gdXNlcidzIG1hbnVhbC4KCSogQWRkZWQgc2hvcnQgdGFibGUtb2YtY29udGVudHMgdG8gdXNlcidzIG1hbnVhbCBmb3Igd2ViIHNpdGUuCgkqIEFkZGVkIGZpdmUgZXhhbXBsZSBzY3JpcHRzIHRvIHRoZSBuZXcgZXhhbXBsZXMvIGRpcmVjdG9yeS4KICAgIFN0YXRzOiAgMTA1IEtCIHNvdXJjZSwgMjE3IEtCIHVzZXIncyBtYW51YWwsIDEyMSBjb25mb3JtYW5jZSB0ZXN0cyBbQUxMIFBBU1NdLgoKMjAwOC0wNy0yOSAvIHYxLjAgUkVMRUFTRSAvIFBoYW50b20gSW5rZXIgKGlua2VyMjU3NkB5YWhvby5jb20pCiAgICAqIEFkZGVkIG5ld2xpbmUtaWdub3JlIG1vZGUgYW5kIGNvbmZvcm1hbmNlIHRlc3RzIGZvciBpdC4KCSogRmluaXNoZWQgd3JpdGluZyBmaXJzdC1lZGl0aW9uIHVzZXIncyBtYW51YWwuCiAgICBTdGF0czogIDEwMiBLQiBzb3VyY2UsIDIxMiBLQiB1c2VyJ3MgbWFudWFsLCAxMjAgY29uZm9ybWFuY2UgdGVzdHMgW0FMTCBQQVNTXS4KCjIwMDgtMDctMjQgLyB2MS4wIFJDNSAvIFBoYW50b20gSW5rZXIgKGlua2VyMjU3NkB5YWhvby5jb20pCgkqIEFkZGVkIGFsdGVybmF0ZSB0YWctbWFya2VyIG1vZGVzIGFuZCBjb25mb3JtYW5jZSB0ZXN0cyBmb3IgaXQuCgkqIEFkZGVkIGFtcGVyc2FuZCBwYXNzLXRocm91Z2ggbW9kZSBhbmQgY29uZm9ybWFuY2UgdGVzdHMgZm9yIGl0LgoJKiBGaXhlZCBIVE1MLWVuY29kaW5nIGVycm9yIGluIEJCQ09ERV9WRVJCQVRJTSB0YWdzOyBjb252ZXJ0ZWQgW2NvZGVdCgkJdGFnIHRvIHVzZSBkaXJlY3QgaHRtbHNwZWNpYWxjaGFycygpIGNhbGxzLgoKMjAwOC0wNy0yMyAvIHYxLjAgUkM0IC8gUGhhbnRvbSBJbmtlciAoaW5rZXIyNTc2QHlhaG9vLmNvbSkKCSogVXBkYXRlZCB0ZXN0cyB0byByZWNvZ25pemUgbmV3IENTUyBjbGFzc2VzIGluIHN0YW5kYXJkIGxpYnJhcnkncyBvdXRwdXQuCgkqIEZpeGVkIGNsYXNzLW91dHB1dCBidWdzIGluIHN0YW5kYXJkIGxpYnJhcnkuCgoyMDA4LTA3LTIxIC8gdjEuMCBSQzMgLyBQaGFudG9tIElua2VyIChpbmtlcjI1NzZAeWFob28uY29tKQoJKiBDb252ZXJ0ZWQgdXNlcidzIG1hbnVhbCB0byBuZXcgYXV0by1nZW5lcmF0aW5nIGZvcm1hdCwgYW5kIHdyb3RlCgkJYWRkaXRpb25hbCBkb2N1bWVudGF0aW9uLiAgVXNlcidzIG1hbnVhbCBpcyBub3cgYWJvdXQgOTAlIGNvbXBsZXRlLgoJKiBSZXdvcmtlZCBkaXJlY3Rvcnkgc3RydWN0dXJlIHRvIGJlIGNsZWFuZXIsIGFuZCBhZGRlZCBzdXBwb3J0IGZvcgoJCWdlbmVyYXRpbmcgY29tcGFjdGVkICJuYmJjLnBocCIgdmVyc2lvbi4KCjIwMDgtMDctMTYgLyB2MS4wIFJDMiAvIFBoYW50b20gSW5rZXIgKGlua2VyMjU3NkB5YWhvby5jb20pCgkqIEZpeCBkZWNvZGluZyBpc3N1ZSB0byBiZSBtb3JlIHBlcm1pc3NpdmUsIHdoaWNoIGNvcnJlY3RzIG5lc3RpbmcgZXJyb3JzCgkJZm9yIGJyb2tlbiBbY29sdW1uXSB0YWdzIGFuZCBvdGhlciBjbGFzcy1uZXN0aW5nIGlzc3Vlcy4KCSogQWRkIHN1cHBvcnQgZm9yIHJlbW92aW5nIGZsb2F0aW5nIGVuZGluZyB0YWdzIHdob3NlIHN0YXJ0IHRhZ3MgaGFkIGJlZW4KCQljb25zdW1lZCBkdXJpbmcgb3V0cHV0LWdlbmVyYXRpb24uCgoyMDA4LTA3LTE0IC8gdjEuMCBSQyAvIFBoYW50b20gSW5rZXIgKGlua2VyMjU3NkB5YWhvby5jb20pCgkqIFByb3Bvc2VkIGZpbmFsIHJlbGVhc2UgY2FuZGlkYXRlOiAgSW1wbGVtZW50cyBmdWxsIEJCQ29kZSBsYW5ndWFnZSwgcGx1cwoJCXNtaWxleXMgYW5kIHdpa2ktbGlua3MsIHdpdGggbm8gYXBwYXJlbnQgZmFpbHVyZXMgb3IgY2F2ZWF0cy4KICAgICogQWRkZWQgY29uZm9ybWFuY2UgdGVzdCBzY3JpcHQgd2l0aCA0OSB0ZXN0cy4KCjIwMDgtMDctMDEgLyBhbHBoYSAvIFBoYW50b20gSW5rZXIgKGlua2VyMjU3NkB5YWhvby5jb20pCgkqIEZpcnN0IHVzYWJsZSBidWlsZDsgbm8gdmVyc2lvbiBudW1iZXIuICBQZXJmb3JtcyBiYXNpYyBjb21waWxpbmcgYW5kIHN0YWNrCgkJdHJhbnNmb3JtczsgY3VycmVudGx5IHZlcnkgbGltaXRlZCBpbiB3aGF0IGl0IGNhbiBwcm9jZXNzLgoK]]></data>
	</file>
	<file>
	  <filename>/docs/doc/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/docs/doc/api.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWw6bGFuZz0iZW4iIGxhbmc9ImVuIj4KCjxoZWFkPgo8dGl0bGU+QWxwaGFiZXRpY2FsIEZ1bmN0aW9uIExpc3QgLSBOQkJDOiBUaGUgTmV3IEJCQ29kZSBQYXJzZXI8L3RpdGxlPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz4KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyB0eXBlPSd0ZXh0L2NzcycgaHJlZj0nc3R5bGVzLmNzcycgLz4KPC9oZWFkPgoKPGJvZHk+Cgo8ZGl2IGFsaWduPSdjZW50ZXInPjxkaXYgY2xhc3M9J3BhZ2VfY29udGFpbmVyMic+PGRpdiBjbGFzcz0ncGFnZV9jb250YWluZXInPgoKPGgyPklWLiBBUEkgUmVmZXJlbmNlPC9oMj4KCjxwIHN0eWxlPSd0ZXh0LWFsaWduOnJpZ2h0O21hcmdpbjowOyc+WyBQcmV2aW91czogPGEgaHJlZj0idXNhZ2VfY3NzLmh0bWwiPklJSS5MLiBTdHlsZXMsIENvbG9ycywgYW5kIENTUyBDb25zaWRlcmF0aW9uczwvYT4gfCBOZXh0OiA8YSBocmVmPSJhcGlfY29yZS5odG1sIj5CLiBDb3JlIFBhcnNpbmcgRnVuY3Rpb25zPC9hPiBdPC9wPgoKPGgzPkEuIEFscGhhYmV0aWNhbCBGdW5jdGlvbiBMaXN0PC9oMz4KCjxwPlNlY3Rpb24gSVYgb2YgdGhlIG1hbnVhbCBjb21wbGV0ZWx5IGRvY3VtZW50cyB0aGUgcHVibGljIG1ldGhvZHMgb2YgdGhlIDx0dD5CQkNvZGU8L3R0PiBjbGFzcywKd2hpY2ggYXJlIGxpc3RlZCBiZWxvdyBpbiBjb25jZXB0dWFsIGdyb3VwaW5ncyBhbmQgaW4gYWxwaGFiZXRpY2FsIG9yZGVyLiAgQWxsIG1lbWJlcgp2YXJpYWJsZXMgb2YgdGhlIDx0dD5CQkNvZGU8L3R0PiBjbGFzcyBhcmUgcHJpdmF0ZSBhbmQgc2hvdWxkIG5vdCBiZSB0b3VjaGVkOyBsaWtld2lzZSwKYW55IG1ldGhvZCBvZiB0aGUgPHR0PkJCQ29kZTwvdHQ+IGNsYXNzIHdpdGggIjx0dD5JbnRlcm5hbF88L3R0PiIgaW4gaXRzIG5hbWUgc2hvdWxkCm5vdCBiZSB0b3VjaGVkIGVpdGhlci4gIFRoZSA8dHQ+QkJDb2RlTGV4ZXI8L3R0PiBhbmQgPHR0PkJCQ29kZUxpYnJhcnk8L3R0PiBjbGFzc2VzCmFyZSB1c2VkIGludGVybmFsbHkgYnkgdGhlIHBhcnNlciBhbmQgY29udGFpbiBubyBwdWJsaWMgaW50ZXJmYWNlcywgc28gdGhleSBhcmUgbm90CmRvY3VtZW50ZWQgaGVyZS48L3A+Cgo8dGFibGUgc3R5bGU9J2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTsnPjx0Ym9keT48dHI+PHRkIHN0eWxlPSdwYWRkaW5nLXJpZ2h0OjNlbTsnPgo8dWw+CjxsaT48Yj48YSBocmVmPSJhcGlfY29yZS5odG1sIiBzdHlsZT0iY29sb3I6IzAwMDsiPkNvcmUgUGFyc2luZyBGdW5jdGlvbnM6PC9hPjwvYj4KCTx1bD4KCTxsaT48YSBocmVmPSJhcGlfY29yZS5odG1sI3JlZl9wYXJzZXJfQkJDb2RlIj5CQkNvZGU6OkJCQ29kZTwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9jb3JlLmh0bWwjcmVmX3BhcnNlcl9QYXJzZSI+QkJDb2RlOjpQYXJzZTwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9jb3JlLmh0bWwjcmVmX3BhcnNlcl9Eb1RhZyI+QkJDb2RlOjpEb1RhZzwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9jb3JlLmh0bWwjcmVmX3BhcnNlcl9TZXREZWJ1ZyI+QkJDb2RlOjpTZXREZWJ1ZzwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9jb3JlLmh0bWwjcmVmX3BhcnNlcl9HZXREZWJ1ZyI+QkJDb2RlOjpHZXREZWJ1ZzwvYT48L2xpPgoJPC91bD4KPC9saT4KPGxpPjxiPjxhIGhyZWY9ImFwaV9iZWh2Lmh0bWwiIHN0eWxlPSJjb2xvcjojMDAwOyI+TGFuZ3VhZ2UtQmVoYXZpb3IgRnVuY3Rpb25zOjwvYT48L2I+Cgk8dWw+Cgk8bGk+PGEgaHJlZj0iYXBpX2JlaHYuaHRtbCNyZWZfcGFyc2VyX1NldFRhZ01hcmtlciI+QkJDb2RlOjpTZXRUYWdNYXJrZXI8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfYmVodi5odG1sI3JlZl9wYXJzZXJfR2V0VGFnTWFya2VyIj5CQkNvZGU6OkdldFRhZ01hcmtlcjwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9iZWh2Lmh0bWwjcmVmX3BhcnNlcl9TZXRBbGxvd0FtcGVyc2FuZCI+QkJDb2RlOjpTZXRBbGxvd0FtcGVyc2FuZDwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9iZWh2Lmh0bWwjcmVmX3BhcnNlcl9HZXRBbGxvd0FtcGVyc2FuZCI+QkJDb2RlOjpHZXRBbGxvd0FtcGVyc2FuZDwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9iZWh2Lmh0bWwjcmVmX3BhcnNlcl9TZXRJZ25vcmVOZXdsaW5lcyI+QkJDb2RlOjpTZXRJZ25vcmVOZXdsaW5lczwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9iZWh2Lmh0bWwjcmVmX3BhcnNlcl9HZXRJZ25vcmVOZXdsaW5lcyI+QkJDb2RlOjpHZXRJZ25vcmVOZXdsaW5lczwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9iZWh2Lmh0bWwjcmVmX3BhcnNlcl9TZXRQbGFpbk1vZGUiPkJCQ29kZTo6U2V0UGxhaW5Nb2RlPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX2JlaHYuaHRtbCNyZWZfcGFyc2VyX0dldFBsYWluTW9kZSI+QkJDb2RlOjpHZXRQbGFpbk1vZGU8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfYmVodi5odG1sI3JlZl9wYXJzZXJfU2V0TGltaXQiPkJCQ29kZTo6U2V0TGltaXQ8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfYmVodi5odG1sI3JlZl9wYXJzZXJfR2V0TGltaXQiPkJCQ29kZTo6R2V0TGltaXQ8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfYmVodi5odG1sI3JlZl9wYXJzZXJfU2V0TGltaXRQcmVjaXNpb24iPkJCQ29kZTo6U2V0TGltaXRQcmVjaXNpb248L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfYmVodi5odG1sI3JlZl9wYXJzZXJfR2V0TGltaXRQcmVjaXNpb24iPkJCQ29kZTo6R2V0TGltaXRQcmVjaXNpb248L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfYmVodi5odG1sI3JlZl9wYXJzZXJfU2V0TGltaXRUYWlsIj5CQkNvZGU6OlNldExpbWl0VGFpbDwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9iZWh2Lmh0bWwjcmVmX3BhcnNlcl9HZXRMaW1pdFRhaWwiPkJCQ29kZTo6R2V0TGltaXRUYWlsPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX2JlaHYuaHRtbCNyZWZfcGFyc2VyX1dhc0xpbWl0ZWQiPkJCQ29kZTo6V2FzTGltaXRlZDwvYT48L2xpPgoJPC91bD4KPC9saT4KPGxpPjxiPjxhIGhyZWY9ImFwaV90cmltLmh0bWwiIHN0eWxlPSJjb2xvcjojMDAwOyI+Q29udGVudC1UcmltbWluZyBGdW5jdGlvbnM6PC9hPjwvYj4KCTx1bD4KCTxsaT48YSBocmVmPSJhcGlfdHJpbS5odG1sI3JlZl9wYXJzZXJfU2V0UHJlVHJpbSI+QkJDb2RlOjpTZXRQcmVUcmltPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX3RyaW0uaHRtbCNyZWZfcGFyc2VyX0dldFByZVRyaW0iPkJCQ29kZTo6R2V0UHJlVHJpbTwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV90cmltLmh0bWwjcmVmX3BhcnNlcl9TZXRQb3N0VHJpbSI+QkJDb2RlOjpTZXRQb3N0VHJpbTwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV90cmltLmh0bWwjcmVmX3BhcnNlcl9HZXRQb3N0VHJpbSI+QkJDb2RlOjpHZXRQb3N0VHJpbTwvYT48L2xpPgoJPC91bD4KPC9saT4KPGxpPjxiPjxhIGhyZWY9ImFwaV9yb290Lmh0bWwiIHN0eWxlPSJjb2xvcjojMDAwOyI+Um9vdC1DbGFzcyBGdW5jdGlvbnM6PC9hPjwvYj4KCTx1bD4KCTxsaT48YSBocmVmPSJhcGlfcm9vdC5odG1sI3JlZl9wYXJzZXJfU2V0Um9vdElubGluZSI+QkJDb2RlOjpTZXRSb290SW5saW5lPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX3Jvb3QuaHRtbCNyZWZfcGFyc2VyX1NldFJvb3RCbG9jayI+QkJDb2RlOjpTZXRSb290QmxvY2s8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfcm9vdC5odG1sI3JlZl9wYXJzZXJfU2V0Um9vdCI+QkJDb2RlOjpTZXRSb290PC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX3Jvb3QuaHRtbCNyZWZfcGFyc2VyX0dldFJvb3QiPkJCQ29kZTo6R2V0Um9vdDwvYT48L2xpPgoJPC91bD4KPC9saT4KPGxpPjxiPjxhIGhyZWY9ImFwaV9ydWxlLmh0bWwiIHN0eWxlPSJjb2xvcjojMDAwOyI+UnVsZSBGdW5jdGlvbnM6PC9hPjwvYj4KCTx1bD4KCTxsaT48YSBocmVmPSJhcGlfcnVsZS5odG1sI3JlZl9wYXJzZXJfQWRkUnVsZSI+QkJDb2RlOjpBZGRSdWxlPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX3J1bGUuaHRtbCNyZWZfcGFyc2VyX1JlbW92ZVJ1bGUiPkJCQ29kZTo6UmVtb3ZlUnVsZTwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9ydWxlLmh0bWwjcmVmX3BhcnNlcl9HZXRSdWxlIj5CQkNvZGU6OkdldFJ1bGU8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfcnVsZS5odG1sI3JlZl9wYXJzZXJfQ2xlYXJSdWxlcyI+QkJDb2RlOjpDbGVhclJ1bGVzPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX3J1bGUuaHRtbCNyZWZfcGFyc2VyX0dldERlZmF1bHRSdWxlIj5CQkNvZGU6OkdldERlZmF1bHRSdWxlPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX3J1bGUuaHRtbCNyZWZfcGFyc2VyX1NldERlZmF1bHRSdWxlIj5CQkNvZGU6OlNldERlZmF1bHRSdWxlPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX3J1bGUuaHRtbCNyZWZfcGFyc2VyX0dldERlZmF1bHRSdWxlcyI+QkJDb2RlOjpHZXREZWZhdWx0UnVsZXM8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfcnVsZS5odG1sI3JlZl9wYXJzZXJfU2V0RGVmYXVsdFJ1bGVzIj5CQkNvZGU6OlNldERlZmF1bHRSdWxlczwvYT48L2xpPgoJPC91bD4KPC9saT4KPGxpPjxiPjxhIGhyZWY9ImFwaV93aWtpLmh0bWwiIHN0eWxlPSJjb2xvcjojMDAwOyI+V2lraS1MaW5rIEZ1bmN0aW9uczo8L2E+PC9iPgoJPHVsPgoJPGxpPjxhIGhyZWY9ImFwaV93aWtpLmh0bWwjcmVmX3BhcnNlcl9TZXRXaWtpVVJMIj5CQkNvZGU6OlNldFdpa2lVUkw8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfd2lraS5odG1sI3JlZl9wYXJzZXJfR2V0V2lraVVSTCI+QkJDb2RlOjpHZXRXaWtpVVJMPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX3dpa2kuaHRtbCNyZWZfcGFyc2VyX0dldERlZmF1bHRXaWtpVVJMIj5CQkNvZGU6OkdldERlZmF1bHRXaWtpVVJMPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX3dpa2kuaHRtbCNyZWZfcGFyc2VyX1dpa2lmeSI+QkJDb2RlOjpXaWtpZnk8L2E+PC9saT4KCTwvdWw+CjwvbGk+CjxsaT48Yj48YSBocmVmPSJhcGlfc21pbGV5Lmh0bWwiIHN0eWxlPSJjb2xvcjojMDAwOyI+U21pbGV5IEZ1bmN0aW9uczo8L2E+PC9iPgoJPHVsPgoJPGxpPjxhIGhyZWY9ImFwaV9zbWlsZXkuaHRtbCNyZWZfcGFyc2VyX0FkZFNtaWxleSI+QkJDb2RlOjpBZGRTbWlsZXk8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfc21pbGV5Lmh0bWwjcmVmX3BhcnNlcl9SZW1vdmVTbWlsZXkiPkJCQ29kZTo6UmVtb3ZlU21pbGV5PC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX3NtaWxleS5odG1sI3JlZl9wYXJzZXJfR2V0U21pbGV5Ij5CQkNvZGU6OkdldFNtaWxleTwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9zbWlsZXkuaHRtbCNyZWZfcGFyc2VyX0NsZWFyU21pbGV5cyI+QkJDb2RlOjpDbGVhclNtaWxleXM8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfc21pbGV5Lmh0bWwjcmVmX3BhcnNlcl9HZXREZWZhdWx0U21pbGV5Ij5CQkNvZGU6OkdldERlZmF1bHRTbWlsZXk8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfc21pbGV5Lmh0bWwjcmVmX3BhcnNlcl9TZXREZWZhdWx0U21pbGV5Ij5CQkNvZGU6OlNldERlZmF1bHRTbWlsZXk8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfc21pbGV5Lmh0bWwjcmVmX3BhcnNlcl9HZXREZWZhdWx0U21pbGV5cyI+QkJDb2RlOjpHZXREZWZhdWx0U21pbGV5czwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9zbWlsZXkuaHRtbCNyZWZfcGFyc2VyX1NldERlZmF1bHRTbWlsZXlzIj5CQkNvZGU6OlNldERlZmF1bHRTbWlsZXlzPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX3NtaWxleS5odG1sI3JlZl9wYXJzZXJfU2V0U21pbGV5RGlyIj5CQkNvZGU6OlNldFNtaWxleURpcjwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9zbWlsZXkuaHRtbCNyZWZfcGFyc2VyX0dldFNtaWxleURpciI+QkJDb2RlOjpHZXRTbWlsZXlEaXI8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfc21pbGV5Lmh0bWwjcmVmX3BhcnNlcl9HZXREZWZhdWx0U21pbGV5RGlyIj5CQkNvZGU6OkdldERlZmF1bHRTbWlsZXlEaXI8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfc21pbGV5Lmh0bWwjcmVmX3BhcnNlcl9TZXRTbWlsZXlVUkwiPkJCQ29kZTo6U2V0U21pbGV5VVJMPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX3NtaWxleS5odG1sI3JlZl9wYXJzZXJfR2V0U21pbGV5VVJMIj5CQkNvZGU6OkdldFNtaWxleVVSTDwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9zbWlsZXkuaHRtbCNyZWZfcGFyc2VyX0dldERlZmF1bHRTbWlsZXlVUkwiPkJCQ29kZTo6R2V0RGVmYXVsdFNtaWxleVVSTDwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9zbWlsZXkuaHRtbCNyZWZfcGFyc2VyX1NldEVuYWJsZVNtaWxleXMiPkJCQ29kZTo6U2V0RW5hYmxlU21pbGV5czwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9zbWlsZXkuaHRtbCNyZWZfcGFyc2VyX0dldEVuYWJsZVNtaWxleXMiPkJCQ29kZTo6R2V0RW5hYmxlU21pbGV5czwvYT48L2xpPgoJPC91bD4KPC9saT4KPGxpPjxiPjxhIGhyZWY9ImFwaV9yZXBsLmh0bWwiIHN0eWxlPSJjb2xvcjojMDAwOyI+UmVwbGFjZWQgSXRlbSBGdW5jdGlvbnM6PC9hPjwvYj4KCTx1bD4KCTxsaT48YSBocmVmPSJhcGlfcmVwbC5odG1sI3JlZl9wYXJzZXJfR2V0UnVsZUhUTUwiPkJCQ29kZTo6R2V0UnVsZUhUTUw8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfcmVwbC5odG1sI3JlZl9wYXJzZXJfU2V0UnVsZUhUTUwiPkJCQ29kZTo6U2V0UnVsZUhUTUw8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfcmVwbC5odG1sI3JlZl9wYXJzZXJfR2V0RGVmYXVsdFJ1bGVIVE1MIj5CQkNvZGU6OkdldERlZmF1bHRSdWxlSFRNTDwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9yZXBsLmh0bWwjcmVmX3BhcnNlcl9HZXRMb2NhbEltZ0RpciI+QkJDb2RlOjpHZXRMb2NhbEltZ0RpcjwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9yZXBsLmh0bWwjcmVmX3BhcnNlcl9TZXRMb2NhbEltZ0RpciI+QkJDb2RlOjpTZXRMb2NhbEltZ0RpcjwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9yZXBsLmh0bWwjcmVmX3BhcnNlcl9HZXREZWZhdWx0TG9jYWxJbWdEaXIiPkJCQ29kZTo6R2V0RGVmYXVsdExvY2FsSW1nRGlyPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX3JlcGwuaHRtbCNyZWZfcGFyc2VyX0dldExvY2FsSW1nVVJMIj5CQkNvZGU6OkdldExvY2FsSW1nVVJMPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX3JlcGwuaHRtbCNyZWZfcGFyc2VyX1NldExvY2FsSW1nVVJMIj5CQkNvZGU6OlNldExvY2FsSW1nVVJMPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX3JlcGwuaHRtbCNyZWZfcGFyc2VyX0dldERlZmF1bHRMb2NhbEltZ1VSTCI+QkJDb2RlOjpHZXREZWZhdWx0TG9jYWxJbWdVUkw8L2E+PC9saT4KCTwvdWw+CjwvbGk+CjxsaT48Yj48YSBocmVmPSJhcGlfbWlzYy5odG1sIiBzdHlsZT0iY29sb3I6IzAwMDsiPk1pc2NlbGxhbmVvdXMgU3VwcG9ydCBGdW5jdGlvbnM6PC9hPjwvYj4KCTx1bD4KCTxsaT48YSBocmVmPSJhcGlfbWlzYy5odG1sI3JlZl9wYXJzZXJfbmwyYnIiPkJCQ29kZTo6bmwyYnI8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfbWlzYy5odG1sI3JlZl9wYXJzZXJfSXNWYWxpZFVSTCI+QkJDb2RlOjpJc1ZhbGlkVVJMPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX21pc2MuaHRtbCNyZWZfcGFyc2VyX0lzVmFsaWRFbWFpbCI+QkJDb2RlOjpJc1ZhbGlkRW1haWw8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfbWlzYy5odG1sI3JlZl9wYXJzZXJfSFRNTEVuY29kZSI+QkJDb2RlOjpIVE1MRW5jb2RlPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX21pc2MuaHRtbCNyZWZfcGFyc2VyX0ZpeHVwT3V0cHV0Ij5CQkNvZGU6OkZpeHVwT3V0cHV0PC9hPjwvbGk+Cgk8L3VsPgo8L2xpPgo8L3VsPgo8L3RkPjx0ZCBzdHlsZT0ndmVydGljYWwtYWxpZ246dG9wOyc+Cjx1bD4KPGxpPjxiPkFscGhhYmV0aWNhbCBPcmRlcjo8L2I+Cgk8dWw+Cgk8bGk+PGEgaHJlZj0iYXBpX3J1bGUuaHRtbCNyZWZfcGFyc2VyX0FkZFJ1bGUiPkJCQ29kZTo6QWRkUnVsZTwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9zbWlsZXkuaHRtbCNyZWZfcGFyc2VyX0FkZFNtaWxleSI+QkJDb2RlOjpBZGRTbWlsZXk8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfY29yZS5odG1sI3JlZl9wYXJzZXJfQkJDb2RlIj5CQkNvZGU6OkJCQ29kZTwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9ydWxlLmh0bWwjcmVmX3BhcnNlcl9DbGVhclJ1bGVzIj5CQkNvZGU6OkNsZWFyUnVsZXM8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfc21pbGV5Lmh0bWwjcmVmX3BhcnNlcl9DbGVhclNtaWxleXMiPkJCQ29kZTo6Q2xlYXJTbWlsZXlzPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX2NvcmUuaHRtbCNyZWZfcGFyc2VyX0RvVGFnIj5CQkNvZGU6OkRvVGFnPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX21pc2MuaHRtbCNyZWZfcGFyc2VyX0ZpeHVwT3V0cHV0Ij5CQkNvZGU6OkZpeHVwT3V0cHV0PC9hPjxiciAvPjxiciAvPjwvbGk+CgoJPGxpPjxhIGhyZWY9ImFwaV9iZWh2Lmh0bWwjcmVmX3BhcnNlcl9HZXRBbGxvd0FtcGVyc2FuZCI+QkJDb2RlOjpHZXRBbGxvd0FtcGVyc2FuZDwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9jb3JlLmh0bWwjcmVmX3BhcnNlcl9HZXREZWJ1ZyI+QkJDb2RlOjpHZXREZWJ1ZzwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9yZXBsLmh0bWwjcmVmX3BhcnNlcl9HZXREZWZhdWx0TG9jYWxJbWdEaXIiPkJCQ29kZTo6R2V0RGVmYXVsdExvY2FsSW1nRGlyPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX3JlcGwuaHRtbCNyZWZfcGFyc2VyX0dldERlZmF1bHRMb2NhbEltZ1VSTCI+QkJDb2RlOjpHZXREZWZhdWx0TG9jYWxJbWdVUkw8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfcnVsZS5odG1sI3JlZl9wYXJzZXJfR2V0RGVmYXVsdFJ1bGUiPkJCQ29kZTo6R2V0RGVmYXVsdFJ1bGU8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfcmVwbC5odG1sI3JlZl9wYXJzZXJfR2V0RGVmYXVsdFJ1bGVIVE1MIj5CQkNvZGU6OkdldERlZmF1bHRSdWxlSFRNTDwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9ydWxlLmh0bWwjcmVmX3BhcnNlcl9HZXREZWZhdWx0UnVsZXMiPkJCQ29kZTo6R2V0RGVmYXVsdFJ1bGVzPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX3NtaWxleS5odG1sI3JlZl9wYXJzZXJfR2V0RGVmYXVsdFNtaWxleSI+QkJDb2RlOjpHZXREZWZhdWx0U21pbGV5PC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX3NtaWxleS5odG1sI3JlZl9wYXJzZXJfR2V0RGVmYXVsdFNtaWxleURpciI+QkJDb2RlOjpHZXREZWZhdWx0U21pbGV5RGlyPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX3NtaWxleS5odG1sI3JlZl9wYXJzZXJfR2V0RGVmYXVsdFNtaWxleXMiPkJCQ29kZTo6R2V0RGVmYXVsdFNtaWxleXM8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfc21pbGV5Lmh0bWwjcmVmX3BhcnNlcl9HZXREZWZhdWx0U21pbGV5VVJMIj5CQkNvZGU6OkdldERlZmF1bHRTbWlsZXlVUkw8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfd2lraS5odG1sI3JlZl9wYXJzZXJfR2V0RGVmYXVsdFdpa2lVUkwiPkJCQ29kZTo6R2V0RGVmYXVsdFdpa2lVUkw8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfc21pbGV5Lmh0bWwjcmVmX3BhcnNlcl9HZXRFbmFibGVTbWlsZXlzIj5CQkNvZGU6OkdldEVuYWJsZVNtaWxleXM8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfYmVodi5odG1sI3JlZl9wYXJzZXJfR2V0SWdub3JlTmV3bGluZXMiPkJCQ29kZTo6R2V0SWdub3JlTmV3bGluZXM8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfYmVodi5odG1sI3JlZl9wYXJzZXJfR2V0TGltaXQiPkJCQ29kZTo6R2V0TGltaXQ8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfYmVodi5odG1sI3JlZl9wYXJzZXJfR2V0TGltaXRQcmVjaXNpb24iPkJCQ29kZTo6R2V0TGltaXRQcmVjaXNpb248L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfYmVodi5odG1sI3JlZl9wYXJzZXJfR2V0TGltaXRUYWlsIj5CQkNvZGU6OkdldExpbWl0VGFpbDwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9yZXBsLmh0bWwjcmVmX3BhcnNlcl9HZXRMb2NhbEltZ0RpciI+QkJDb2RlOjpHZXRMb2NhbEltZ0RpcjwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9yZXBsLmh0bWwjcmVmX3BhcnNlcl9HZXRMb2NhbEltZ1VSTCI+QkJDb2RlOjpHZXRMb2NhbEltZ1VSTDwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV90cmltLmh0bWwjcmVmX3BhcnNlcl9HZXRQb3N0VHJpbSI+QkJDb2RlOjpHZXRQb3N0VHJpbTwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9iZWh2Lmh0bWwjcmVmX3BhcnNlcl9HZXRQbGFpbk1vZGUiPkJCQ29kZTo6R2V0UGxhaW5Nb2RlPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX3RyaW0uaHRtbCNyZWZfcGFyc2VyX0dldFByZVRyaW0iPkJCQ29kZTo6R2V0UHJlVHJpbTwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9yb290Lmh0bWwjcmVmX3BhcnNlcl9HZXRSb290Ij5CQkNvZGU6OkdldFJvb3Q8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfcnVsZS5odG1sI3JlZl9wYXJzZXJfR2V0UnVsZSI+QkJDb2RlOjpHZXRSdWxlPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX3JlcGwuaHRtbCNyZWZfcGFyc2VyX0dldFJ1bGVIVE1MIj5CQkNvZGU6OkdldFJ1bGVIVE1MPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX3NtaWxleS5odG1sI3JlZl9wYXJzZXJfR2V0U21pbGV5Ij5CQkNvZGU6OkdldFNtaWxleTwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9zbWlsZXkuaHRtbCNyZWZfcGFyc2VyX0dldFNtaWxleURpciI+QkJDb2RlOjpHZXRTbWlsZXlEaXI8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfc21pbGV5Lmh0bWwjcmVmX3BhcnNlcl9HZXRTbWlsZXlVUkwiPkJCQ29kZTo6R2V0U21pbGV5VVJMPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX2JlaHYuaHRtbCNyZWZfcGFyc2VyX0dldFRhZ01hcmtlciI+QkJDb2RlOjpHZXRUYWdNYXJrZXI8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfd2lraS5odG1sI3JlZl9wYXJzZXJfR2V0V2lraVVSTCI+QkJDb2RlOjpHZXRXaWtpVVJMPC9hPjxiciAvPjxiciAvPjwvbGk+CgoKCTxsaT48YSBocmVmPSJhcGlfbWlzYy5odG1sI3JlZl9wYXJzZXJfSFRNTEVuY29kZSI+QkJDb2RlOjpIVE1MRW5jb2RlPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX21pc2MuaHRtbCNyZWZfcGFyc2VyX0lzVmFsaWRVUkwiPkJCQ29kZTo6SXNWYWxpZFVSTDwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9taXNjLmh0bWwjcmVmX3BhcnNlcl9Jc1ZhbGlkRW1haWwiPkJCQ29kZTo6SXNWYWxpZEVtYWlsPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX21pc2MuaHRtbCNyZWZfcGFyc2VyX25sMmJyIj5CQkNvZGU6Om5sMmJyPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX2NvcmUuaHRtbCNyZWZfcGFyc2VyX1BhcnNlIj5CQkNvZGU6OlBhcnNlPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX3J1bGUuaHRtbCNyZWZfcGFyc2VyX1JlbW92ZVJ1bGUiPkJCQ29kZTo6UmVtb3ZlUnVsZTwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9zbWlsZXkuaHRtbCNyZWZfcGFyc2VyX1JlbW92ZVNtaWxleSI+QkJDb2RlOjpSZW1vdmVTbWlsZXk8L2E+PGJyIC8+PGJyIC8+PC9saT4KCQoJPGxpPjxhIGhyZWY9ImFwaV9iZWh2Lmh0bWwjcmVmX3BhcnNlcl9TZXRBbGxvd0FtcGVyc2FuZCI+QkJDb2RlOjpTZXRBbGxvd0FtcGVyc2FuZDwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9jb3JlLmh0bWwjcmVmX3BhcnNlcl9TZXREZWJ1ZyI+QkJDb2RlOjpTZXREZWJ1ZzwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9ydWxlLmh0bWwjcmVmX3BhcnNlcl9TZXREZWZhdWx0UnVsZXMiPkJCQ29kZTo6U2V0RGVmYXVsdFJ1bGVzPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX3NtaWxleS5odG1sI3JlZl9wYXJzZXJfU2V0RGVmYXVsdFNtaWxleSI+QkJDb2RlOjpTZXREZWZhdWx0U21pbGV5PC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX3NtaWxleS5odG1sI3JlZl9wYXJzZXJfU2V0RW5hYmxlU21pbGV5cyI+QkJDb2RlOjpTZXRFbmFibGVTbWlsZXlzPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX2JlaHYuaHRtbCNyZWZfcGFyc2VyX1NldElnbm9yZU5ld2xpbmVzIj5CQkNvZGU6OlNldElnbm9yZU5ld2xpbmVzPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX2JlaHYuaHRtbCNyZWZfcGFyc2VyX1NldExpbWl0Ij5CQkNvZGU6OlNldExpbWl0PC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX2JlaHYuaHRtbCNyZWZfcGFyc2VyX1NldExpbWl0UHJlY2lzaW9uIj5CQkNvZGU6OlNldExpbWl0UHJlY2lzaW9uPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX2JlaHYuaHRtbCNyZWZfcGFyc2VyX1NldExpbWl0VGFpbCI+QkJDb2RlOjpTZXRMaW1pdFRhaWw8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfcmVwbC5odG1sI3JlZl9wYXJzZXJfU2V0TG9jYWxJbWdEaXIiPkJCQ29kZTo6U2V0TG9jYWxJbWdEaXI8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfcmVwbC5odG1sI3JlZl9wYXJzZXJfU2V0TG9jYWxJbWdVUkwiPkJCQ29kZTo6U2V0TG9jYWxJbWdVUkw8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfYmVodi5odG1sI3JlZl9wYXJzZXJfU2V0UGxhaW5Nb2RlIj5CQkNvZGU6OlNldFBsYWluTW9kZTwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV90cmltLmh0bWwjcmVmX3BhcnNlcl9TZXRQb3N0VHJpbSI+QkJDb2RlOjpTZXRQb3N0VHJpbTwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV90cmltLmh0bWwjcmVmX3BhcnNlcl9TZXRQcmVUcmltIj5CQkNvZGU6OlNldFByZVRyaW08L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfcm9vdC5odG1sI3JlZl9wYXJzZXJfU2V0Um9vdCI+QkJDb2RlOjpTZXRSb290PC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX3Jvb3QuaHRtbCNyZWZfcGFyc2VyX1NldFJvb3RCbG9jayI+QkJDb2RlOjpTZXRSb290QmxvY2s8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfcm9vdC5odG1sI3JlZl9wYXJzZXJfU2V0Um9vdElubGluZSI+QkJDb2RlOjpTZXRSb290SW5saW5lPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX3JlcGwuaHRtbCNyZWZfcGFyc2VyX1NldFJ1bGVIVE1MIj5CQkNvZGU6OlNldFJ1bGVIVE1MPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX3NtaWxleS5odG1sI3JlZl9wYXJzZXJfU2V0U21pbGV5RGlyIj5CQkNvZGU6OlNldFNtaWxleURpcjwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9zbWlsZXkuaHRtbCNyZWZfcGFyc2VyX1NldFNtaWxleVVSTCI+QkJDb2RlOjpTZXRTbWlsZXlVUkw8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfYmVodi5odG1sI3JlZl9wYXJzZXJfU2V0VGFnTWFya2VyIj5CQkNvZGU6OlNldFRhZ01hcmtlcjwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV93aWtpLmh0bWwjcmVmX3BhcnNlcl9TZXRXaWtpVVJMIj5CQkNvZGU6OlNldFdpa2lVUkw8L2E+PGJyIC8+PGJyIC8+PC9saT4KCgk8bGk+PGEgaHJlZj0iYXBpX2JlaHYuaHRtbCNyZWZfcGFyc2VyX1dhc0xpbWl0ZWQiPkJCQ29kZTo6V2FzTGltaXRlZDwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV93aWtpLmh0bWwjcmVmX3BhcnNlcl9XaWtpZnkiPkJCQ29kZTo6V2lraWZ5PC9hPjwvbGk+Cgk8L3VsPgo8L2xpPgo8L3VsPgo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPgoKPHAgc3R5bGU9J3RleHQtYWxpZ246cmlnaHQ7Jz5bIFByZXZpb3VzOiA8YSBocmVmPSJ1c2FnZV9jc3MuaHRtbCI+SUlJLkwuIFN0eWxlcywgQ29sb3JzLCBhbmQgQ1NTIENvbnNpZGVyYXRpb25zPC9hPiB8IE5leHQ6IDxhIGhyZWY9ImFwaV9jb3JlLmh0bWwiPkIuIENvcmUgUGFyc2luZyBGdW5jdGlvbnM8L2E+IF08L3A+Cgo8aHIgLz4KCjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+Q29weXJpZ2h0ICZjb3B5OyAyMDEwLCB0aGUgUGhhbnRvbSBJbmtlci4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9kaXY+Cgo8L2Rpdj48L2Rpdj48L2Rpdj4KCjwvYm9keT4KCjwvaHRtbD4K]]></data>
	</file>
	<file>
	  <filename>/docs/doc/api_behv.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWw6bGFuZz0iZW4iIGxhbmc9ImVuIj4KCjxoZWFkPgo8dGl0bGU+TGFuZ3VhZ2UtQmVoYXZpb3IgRnVuY3Rpb25zIC0gTkJCQzogVGhlIE5ldyBCQkNvZGUgUGFyc2VyPC90aXRsZT4KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+CjxsaW5rIHJlbD0nc3R5bGVzaGVldCcgdHlwZT0ndGV4dC9jc3MnIGhyZWY9J3N0eWxlcy5jc3MnIC8+CjwvaGVhZD4KCjxib2R5PgoKPGRpdiBhbGlnbj0nY2VudGVyJz48ZGl2IGNsYXNzPSdwYWdlX2NvbnRhaW5lcjInPjxkaXYgY2xhc3M9J3BhZ2VfY29udGFpbmVyJz4KCjxoMj5JVi4gQVBJIFJlZmVyZW5jZTwvaDI+Cgo8cCBzdHlsZT0ndGV4dC1hbGlnbjpyaWdodDttYXJnaW46MDsnPlsgUHJldmlvdXM6IDxhIGhyZWY9ImFwaV9jb3JlLmh0bWwiPkIuIENvcmUgUGFyc2luZyBGdW5jdGlvbnM8L2E+IHwgTmV4dDogPGEgaHJlZj0iYXBpX3RyaW0uaHRtbCI+RC4gQ29udGVudC1UcmltbWluZyBGdW5jdGlvbnM8L2E+IF08L3A+Cgo8aDM+Qy4gTGFuZ3VhZ2UtQmVoYXZpb3IgRnVuY3Rpb25zPC9oMz4KCjxhIG5hbWU9InJlZl9wYXJzZXJfU2V0VGFnTWFya2VyIj48L2E+CjxkaXYgY2xhc3M9J2FwaSc+Cgk8ZGl2IGNsYXNzPSdhcGlfaGVhZCc+dm9pZCA8Yj5CQkNvZGU6OlNldFRhZ01hcmtlcjwvYj4gKCBzdHJpbmcgJDx0dD5tYXJrZXI8L3R0PiApPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfZGVzY3InPlRoaXMgZnVuY3Rpb24gY2hhbmdlcyBOQkJDJ3MgPGk+dGFnIG1hcmtlcjwvaT4sIHdoaWNoIGlzIHRoZSBjaGFyYWN0ZXIKCQl1c2VkIHRvIHNlcGFyYXRlIHRhZ3MgZnJvbSBjb250ZW50LiAgWW91IG1heSBzZXQgdGhpcyB0byBhbnkgb2YgJzx0dD5bPC90dD4nLAoJCSc8dHQ+Jmx0OzwvdHQ+JywgJzx0dD57PC90dD4nLCBvciAnPHR0Pig8L3R0PicuICBOQkJDIGFsbG93cyB5b3UgdG8gY2hhbmdlIHRoZSB0YWcKCQltYXJrZXIgc28gdGhhdCB5b3UgY2FuIHVzZSBpdCBpbiBtb3JlIGVudmlyb25tZW50cywgYW5kIHlvdSBjb3VsZCBldmVuIHVzZSBpdCBhcyBhbiBIVE1MCgkJdmFsaWRhdG9yLjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlBhcmFtZXRlcnM6PC9iPgoJCTx1bCBjbGFzcz0nYXBpX3BhcmFtcyc+CgkJPGxpPjx0dD48aT5tYXJrZXI8L2k+PC90dD46IFRoZSB0eXBlIG9mIHRhZyBtYXJrZXIgdG8gdXNlOyB0aGlzIG11c3QgYmUgb25lIG9mICc8dHQ+WzwvdHQ+JywKCQkJJzx0dD4mbHQ7PC90dD4nLCAnPHR0Pns8L3R0PicsIG9yICc8dHQ+KDwvdHQ+Jy4gIE90aGVyIHZhbHVlcyA8aT5tdXN0IG5vdDwvaT4gYmUKCQkJdXNlZCB3aXRoIHRoZSBjdXJyZW50IHZlcnNpb24gb2YgTkJCQy48L2xpPgoJCTwvdWw+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5Ob3RlOjwvYj4gIFRoZSBkZWZhdWx0IHRhZyBtYXJrZXIgaXMgb2J2aW91c2x5ICc8dHQ+WzwvdHQ+JyBzaW5jZQoJCU5CQkMgaXMgZGVzaWduZWQgdG8gcHJvY2VzcyBCQkNvZGUuICBJZiB5b3UgaW50ZW5kIHRvIHVzZSBOQkJDIHRvIHByb2Nlc3MgSFRNTCwgdGhvdWdoLAoJCXlvdSBzaG91bGQgbm90IG9ubHkgY2hhbmdlIHRoZSB0YWcgbWFya2VyLCBidXQgeW91IHNob3VsZCBhbHNvIGFsbG93IGFtcGVyc2FuZHMgd2l0aAoJCXRoZSA8YSBocmVmPSIjcmVmX3BhcnNlcl9TZXRBbGxvd0FtcGVyc2FuZCI+U2V0QWxsb3dBbXBlcnNhbmQoKTwvYT4gZnVuY3Rpb246ICBJZiB5b3UKCQlmb3JnZXQgdG8gYWxsb3cgYW1wZXJzYW5kcywgeW91ciB1c2VycyB3aWxsIGJlIHVuYWJsZSB0byBkaXNwbGF5ICZsdDsgYW5kICZndDsgY2hhcmFjdGVycwoJCWJlY2F1c2UgdGhlIGluaXRpYWwgJmFtcDsgdXNlZCBpbiBIVE1MIHRvIHJlcHJlc2VudCB0aGVtIChhcyBpbiB0aGUgY2FzZSBvZiA8dHQ+JmFtcDtsdDs8L3R0PgoJCWFuZCA8dHQ+JmFtcDtndDs8L3R0Pikgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gPHR0PiZhbXA7YW1wOzwvdHQ+IGluIHRoZSBvdXRwdXQuPGJyIC8+PGJyIC8+CgkJCgkJPGI+VmVyeSBpbXBvcnRhbnQgbm90ZTogVGhlIHRhZyBtYXJrZXIgY2Fubm90IGJlIGNoYW5nZWQgZHVyaW5nIGEgcGFyc2UhPC9iPgoJCVRoaXMgZnVuY3Rpb24gbXVzdCBub3QgYmUgY2FsbGVkIGJ5IGEgdGFnIGNhbGxiYWNrIGZ1bmN0aW9uOyBhbnkgY2hhbmdlcyB0byB0aGUKCQl0YWcgbWFya2VyIGR1cmluZyBhIDx0dD5QYXJzZSgpPC90dD4gd2lsbCBiZSBpZ25vcmVkIHVudGlsIHRoZSBuZXh0IHRpbWUgPHR0PlBhcnNlKCk8L3R0PgoJCWlzIGNhbGxlZC4KCTwvZGl2Pgo8L2Rpdj4KCjxhIG5hbWU9InJlZl9wYXJzZXJfR2V0VGFnTWFya2VyIj48L2E+CjxkaXYgY2xhc3M9J2FwaSc+Cgk8ZGl2IGNsYXNzPSdhcGlfaGVhZCc+c3RyaW5nIDxiPkJCQ29kZTo6R2V0VGFnTWFya2VyPC9iPiAoICk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9kZXNjcic+VGhpcyBmdW5jdGlvbiByZXR1cm5zIHRoZSBjdXJyZW50IHRhZyBtYXJrZXIuCgkJU2VlIDxhIGhyZWY9ImFwaV9iZWh2Lmh0bWwjcmVmX3BhcnNlcl9TZXRUYWdNYXJrZXIiPlNldFRhZ01hcmtlcigpPC9hPiBmb3IgbW9yZSBkZXRhaWxzLjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlJldHVybiB2YWx1ZXM6PC9iPiAgUmV0dXJucyBvbmUgb2YgJzx0dD5bPC90dD4nLAoJCSc8dHQ+Jmx0OzwvdHQ+JywgJzx0dD57PC90dD4nLCBvciAnPHR0Pig8L3R0PicuPC9kaXY+CjwvZGl2PgoKPGEgbmFtZT0icmVmX3BhcnNlcl9TZXRBbGxvd0FtcGVyc2FuZCI+PC9hPgo8ZGl2IGNsYXNzPSdhcGknPgoJPGRpdiBjbGFzcz0nYXBpX2hlYWQnPnZvaWQgPGI+QkJDb2RlOjpTZXRBbGxvd0FtcGVyc2FuZDwvYj4gKCBib29sICQ8dHQ+YWxsb3c8L3R0PiApPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfZGVzY3InPlRoaXMgZnVuY3Rpb24gZGV0ZXJtaW5lcyB3aGV0aGVyIGFtcGVyc2FuZHMgKHRoZSAnJmFtcDsnIGNoYXJhY3RlcikKCQlhcmUgY29udmVydGVkIHRvIDx0dD4mYW1wO2FtcDs8L3R0PiBpbiB0aGUgb3V0cHV0IG9yIHNlbnQgdG8gdGhlIG91dHB1dCB2ZXJiYXRpbS48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5QYXJhbWV0ZXJzOjwvYj4KCQk8dWwgY2xhc3M9J2FwaV9wYXJhbXMnPgoJCTxsaT48dHQ+PGk+YWxsb3c8L2k+PC90dD46ICBJZiBzZXQgdG8gZmFsc2UsIGFsbCAnJmFtcDsnIGNoYXJhY3RlcnMgYXJlIGNvbnZlcnRlZCB0bwoJCQkiPHR0PiZhbXA7YW1wOzwvdHQ+IjsgdGhpcyBpcyB0aGUgZGVmYXVsdCBiZWhhdmlvci4gIElmIHNldCB0byB0cnVlLCBhbGwgJyZhbXA7JwoJCQljaGFyYWN0ZXJzIGFyZSBsZWZ0IHVuY2hhbmdlZCBpbiB0aGUgb3V0cHV0LjwvbGk+CgkJPC91bD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPk5vdGU6PC9iPiAgVGhpcyBmdW5jdGlvbiBleGlzdHMgc28gdGhhdCB5b3UgY2FuIGFsbG93IHRoZSB1c2VyCgkJdG8gdHlwZSBIVE1MIGVudGl0aWVzIGxpa2UgJyZhbXA7bHQ7JyBkaXJlY3RseS4gIEJ5IGRlZmF1bHQsIGFueSB0aW1lIHRoZSB1c2VyIHR5cGVzIGFuICcmYW1wOycKCQljaGFyYWN0ZXIsIGl0IHdpbGwgYmUgdHVybmVkIGludG8gJyZhbXA7YW1wOyc7IGJ1dCBpZiB5b3UgYWxsb3cgYW1wZXJzYW5kcyB0byBwYXNzCgkJdGhyb3VnaCB1bmNoYW5nZWQsIHRoZSB1c2VyIGNhbiB0eXBlICcmYW1wO2VhY3V0ZTsnIGFuZCBnZXQgJyZhbXA7ZWFjdXRlOycgaW4gdGhlCgkJb3V0cHV0LCB0aHVzIGRpc3BsYXlpbmcgYXMgJyZlYWN1dGU7Jy4gIFRoaXMgaXMgZWZmZWN0aXZlbHkgYSBwYXNzLXRocm91Z2gsIGFsbG93aW5nCgkJdGhlIHVzZXIgdG8gZG8gSFRNTCB0aGluZ3MgdGhhdCB3b3VsZCBvdGhlcndpc2UgYmUgdW5zYWZlOyBidXQgaXQncyB2ZXJ5IGltcG9ydGFudAoJCXdoZW4gdGhlIHRhZyBtYXJrZXIgaXMgc2V0IHRvICcmbHQ7JywgYmVjYXVzZSBvdGhlcndpc2UgdGhlIHVzZXIgd291bGQgaGF2ZSBubwoJCXdheSB0byBkaXNwbGF5ICcmbHQ7JyBvciAnJmd0Oycgd2l0aG91dCB0aGVtIGJlaW5nIGNvbnZlcnRlZCB0byB0YWdzLjxiciAvPjxiciAvPgoJCQoJCU5vdGUgYWxzbyB0aGF0IGluIHRhZ3MgbWFya2VkIDx0dD5CQkNPREVfVkVSQkFUSU08L3R0PiwgdGhpcyBpcyB0ZW1wb3JhcmlseQoJCWRpc2FibGVkOiAgVGhlIHRhZyB3YW50cyBpdHMgZGF0YSB2ZXJiYXRpbSwgc28gaXQncyBnZXR0aW5nIGl0cyBkYXRhIHZlcmJhdGltLjxiciAvPjxiciAvPgoJPC9kaXY+CjwvZGl2PgoKPGEgbmFtZT0icmVmX3BhcnNlcl9HZXRBbGxvd0FtcGVyc2FuZCI+PC9hPgo8ZGl2IGNsYXNzPSdhcGknPgoJPGRpdiBjbGFzcz0nYXBpX2hlYWQnPmJvb2wgPGI+QkJDb2RlOjpHZXRBbGxvd0FtcGVyc2FuZDwvYj4gKCApPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfZGVzY3InPlRoaXMgZnVuY3Rpb24gcmV0dXJucyB0aGUgY3VycmVudCBhbGxvdy1hbXBlcnNhbmQgc3RhdGUuCgkJU2VlIDxhIGhyZWY9ImFwaV9iZWh2Lmh0bWwjcmVmX3BhcnNlcl9TZXRBbGxvd0FtcGVyc2FuZCI+U2V0QWxsb3dBbXBlcnNhbmQoKTwvYT4gZm9yIG1vcmUgZGV0YWlscy48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5SZXR1cm4gdmFsdWVzOjwvYj4gIFJldHVybnMgPHR0PnRydWU8L3R0PiBvciA8dHQ+ZmFsc2U8L3R0PiwgZGVwZW5kaW5nCgkJb24gd2hldGhlciBhbXBlcnNhbmRzIGFyZSBwYXNzZWQgdmVyYmF0aW0gdG8gdGhlIG91dHB1dC48L2Rpdj4KPC9kaXY+Cgo8YSBuYW1lPSJyZWZfcGFyc2VyX1NldElnbm9yZU5ld2xpbmVzIj48L2E+CjxkaXYgY2xhc3M9J2FwaSc+Cgk8ZGl2IGNsYXNzPSdhcGlfaGVhZCc+dm9pZCA8Yj5CQkNvZGU6OlNldElnbm9yZU5ld2xpbmVzPC9iPiAoIGJvb2wgJDx0dD5pZ25vcmU8L3R0PiApPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfZGVzY3InPlRoaXMgZnVuY3Rpb24gZGV0ZXJtaW5lcyB3aGV0aGVyIG5ld2xpbmVzCgkJYXJlIGNvbnZlcnRlZCB0byA8dHQ+Jmx0O2JyJm5ic3A7LyZndDs8L3R0PiBpbiB0aGUgb3V0cHV0IG9yIHNlbnQgdG8gdGhlIG91dHB1dCB2ZXJiYXRpbTsKCQlpbiBlZmZlY3QsIGl0IGFsbG93cyB5b3UgdG8gInR1cm4gb2ZmIiB0aGUgbm9ybWFsIHdheSB0aGF0IEJCQ29kZSBoYW5kbGVzIG5ld2xpbmVzCgkJYW5kIGhhdmUgYSBmdWxseSBmcmVlLWZvcm1hdHRlZCBsYW5ndWFnZS48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5QYXJhbWV0ZXJzOjwvYj4KCQk8dWwgY2xhc3M9J2FwaV9wYXJhbXMnPgoJCTxsaT48dHQ+PGk+aWdub3JlPC9pPjwvdHQ+OiAgSWYgc2V0IHRvIGZhbHNlLCBhbGwgbmV3bGluZXMgKGJlIHRoZXkgVW4qeC1zdHlsZSAiXG4iLCBvcgoJCQlXaW5kb3dzL0RPUy1zdHlsZSAiXHJcbiIgb3IgIlxuXHIiLCBvciBNYWMtc3R5bGUgIlxyIikgYXJlIGNvbnZlcnRlZCB0bwoJCQkiPHR0PiZsdDticiZuYnNwOy8mZ3Q7PC90dD4iOyB0aGlzIGlzIHRoZSBkZWZhdWx0IGJlaGF2aW9yLiAgSWYgc2V0IHRvIHRydWUsIGFsbAoJCQluZXdsaW5lcyBhcmUgY29udmVydGVkIHRvIFVuKngtc3R5bGUgbmV3bGluZXMgKCJcbiIpIGFuZCBwYXNzZWQgdG8gdGhlIG91dHB1dAoJCQl0aGUgc2FtZSBhcyBhbnkgb3RoZXIgd2hpdGVzcGFjZS48L2xpPgoJCTwvdWw+Cgk8L2Rpdj4KPC9kaXY+Cgo8YSBuYW1lPSJyZWZfcGFyc2VyX0dldElnbm9yZU5ld2xpbmVzIj48L2E+CjxkaXYgY2xhc3M9J2FwaSc+Cgk8ZGl2IGNsYXNzPSdhcGlfaGVhZCc+Ym9vbCA8Yj5CQkNvZGU6OkdldElnbm9yZU5ld2xpbmVzPC9iPiAoICk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9kZXNjcic+VGhpcyBmdW5jdGlvbiByZXR1cm5zIHRoZSBjdXJyZW50IGlnbm9yZS1uZXdsaW5lIHN0YXRlLgoJCVNlZSA8YSBocmVmPSJhcGlfYmVodi5odG1sI3JlZl9wYXJzZXJfU2V0SWdub3JlTmV3bGluZXMiPlNldElnbm9yZU5ld2xpbmVzKCk8L2E+IGZvciBtb3JlIGRldGFpbHMuPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UmV0dXJuIHZhbHVlczo8L2I+ICBSZXR1cm5zIDx0dD50cnVlPC90dD4gb3IgPHR0PmZhbHNlPC90dD4sIGRlcGVuZGluZwoJCW9uIHdoZXRoZXIgbmV3bGluZXMgYXJlIHRyZWF0ZWQgYXMgcGFyYWdyYXBoIGJyZWFrcyAoPHR0PmZhbHNlPC90dD4pIG9yIHdoZXRoZXIgdGhleSdyZSB0cmVhdGVkCgkJYXMgZ2VuZXJpYyB3aGl0ZXNwYWNlICg8dHQ+dHJ1ZTwvdHQ+KS48L2Rpdj4KPC9kaXY+Cgo8YSBuYW1lPSJyZWZfcGFyc2VyX1NldFBsYWluTW9kZSI+PC9hPgo8ZGl2IGNsYXNzPSdhcGknPgoJPGRpdiBjbGFzcz0nYXBpX2hlYWQnPnZvaWQgPGI+QkJDb2RlOjpTZXRQbGFpbk1vZGU8L2I+ICggYm9vbCAkPHR0PmVuYWJsZTwvdHQ+ICk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9kZXNjcic+VGhpcyBmdW5jdGlvbiB0dXJucyBvbiAicGxhaW4gbW9kZS4iICAgV2hlbiBOQkJDIGlzIGluICJwbGFpbiBtb2RlIiwKCQlpdCBvdXRwdXRzIHZlcnkgbGlnaHR3ZWlnaHQgSFRNTCBjb250ZW50LCB1c2luZyB0aGUgdGFncyBhcyBhIGd1aWRlLCBidXQgbm90IGFjdHVhbGx5IGNhbGxpbmcKCQlhbnkgb2YgdGhlbSBkaXJlY3RseS48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5QYXJhbWV0ZXJzOjwvYj4KCQk8dWwgY2xhc3M9J2FwaV9wYXJhbXMnPgoJCTxsaT48dHQ+PGk+ZW5hYmxlPC9pPjwvdHQ+OiAgSWYgc2V0IHRvIHRydWUsIGFsbCBwbGFpbiB0ZXh0IHdpbGwgYmUgY29waWVkIHZlcmJhdGltCgkJCXRvIHRoZSBvdXRwdXQsIGFuZCB0YWdzIHdpbGwgYmUgbW9zdGx5IGlnbm9yZWQsIHVzaW5nIG9ubHkgdGhlaXIgJzx0dD5wbGFpbl9zdGFydDwvdHQ+JwoJCQlhbmQgJzx0dD5wbGFpbl9lbmQ8L3R0PicgYW5kICc8dHQ+cGxhaW5fY29udGVudDwvdHQ+JyBtZW1iZXJzIGFzIGEgZ3VpZGVsaW5lIGZvcgoJCQlnZW5lcmF0aW5nIHRoZSBvdXRwdXQuICBJZiBzZXQgdG8gZmFsc2UgKHRoZSBkZWZhdWx0KSwgZnVsbCBCQkNvZGUtYW5kLUhUTUwgZm9ybWF0dGluZwoJCQlsb2dpYyB3aWxsIGJlIHVzZWQgZm9yIGFsbCB0YWdzLjwvbGk+CgkJPC91bD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm9fYmxvY2snPjxiPk5vdGU6PC9iPjxiciAvPgoJCTxiciAvPgoJCVBsYWluIG1vZGUgaXMgdXNlZnVsIGZvciBnZW5lcmF0aW5nIGEgbm9uLUhUTUwgb3IgbWluaW1hbC1IVE1MIGJ1dCBzdGlsbC1yZWFkYWJsZQoJCXJlcHJlc2VudGF0aW9uIG9mIHRoZSBpbnB1dCB0ZXh0IHF1aWNrbHksIHdpdGhvdXQgaGF2aW5nIHRvIHJlc29ydCB0byBicnV0ZS1mb3JjZQoJCXNvbHV0aW9ucyBsaWtlIDx0dD5zdHJpcF90YWdzKCk8L3R0Pi4gIFRoZSBvbmx5IEhUTUwgdGFncyBnZW5lcmF0ZWQgaW4gcGxhaW4gbW9kZQoJCXdpbGwgYmUgJmx0O2ImZ3Q7LCAmbHQ7aSZndDssICZsdDt1Jmd0OywgYW5kICZsdDthJm5ic3A7aHJlZj0iLi4uIiZndDsgdGFncy4gIE5ld2xpbmVzCgkJd2lsbCBiZSByZXRhaW5lZCBpbiB0aGUgb3V0cHV0LCBzbyBpZiB5b3Ugd2FudCB0byBkaXNwbGF5IHRoZW0sIGEgcXVpY2sgY2FsbCB0bwoJCTx0dD5ubDJicigpPC90dD4gd2lsbCBkbyB0aGUgam9iLiAgQWx0ZXJuYXRpdmVseSwgYSBmZXcgcXVpY2sgY2FsbHMgdG8gPHR0PnByZWdfcmVwbGFjZSgpPC90dD4KCQljYW4gdHVybiB5b3VyIHBsYWluLWphbmUgSFRNTCBpbnRvIHNpbXBsZSwgcmVhZGFibGUgcGxhaW4gdGV4dDoKCQkKCQk8ZGl2IGNsYXNzPSdjb2RlX2hlYWRlcic+Q29kZTo8L2Rpdj4KCQk8eG1wIGNsYXNzPSdjb2RlJz4vLyBDb252ZXJ0IHRoZSBpbnB1dCB0byBwbGFpbiBIVE1MIHdpdGggbGluZSBicmVha3MgaW50YWN0LgokYmJjb2RlLT5TZXRQbGFpbk1vZGUodHJ1ZSk7CiRvdXRwdXQgPSAkYmJjb2RlLT5QYXJzZSgkaW5wdXQpOwokb3V0cHV0ID0gJGJiY29kZS0+bmwyYnIoJG91dHB1dCk7CnByaW50ICRvdXRwdXQ7PC94bXA+CgoJCTxkaXYgY2xhc3M9J2NvZGVfaGVhZGVyJz5Db2RlOjwvZGl2PgoJCTx4bXAgY2xhc3M9J2NvZGUnPi8vIENvbnZlcnQgdGhlIGlucHV0IHRvICJwbGFpbiBIVE1MIi4uLgokYmJjb2RlLT5TZXRQbGFpbk1vZGUodHJ1ZSk7CiRvdXRwdXQgPSAkYmJjb2RlLT5QYXJzZSgkaW5wdXQpOwoKLy8gLi4uYW5kIGNvbnZlcnQgdG8gcGxhaW4gdGV4dCBieSBzdHJpcHBpbmcgdGhlIDxiPiwgPGk+LCA8dT4sIGFuZAovLyA8YT4gdGFncy4gIEp1c3QgZm9yIHRoZSBoZWNrIG9mIGl0LCB3ZSBkbyB3b3JkLXdyYXAgdG9vIHRvIG1ha2UgaXQKLy8gbG9vayBuaWNlIG9uIHRleHQgZGlzcGxheXMgYW5kIGxpbmUgcHJpbnRlcnMgYW5kIHNpbWlsYXIgYW5jaWVudAovLyBvdXRwdXQgZGV2aWNlcy4KJG91dHB1dCA9IHdvcmR3cmFwKCRiYmNvZGUtPlVuSFRNTEVuY29kZShzdHJpcF90YWdzKCRvdXRwdXQpKSk7CgpwcmludCAkb3V0cHV0OzwveG1wPgoJPC9kaXY+CjwvZGl2PgoKPGEgbmFtZT0icmVmX3BhcnNlcl9HZXRQbGFpbk1vZGUiPjwvYT4KPGRpdiBjbGFzcz0nYXBpJz4KCTxkaXYgY2xhc3M9J2FwaV9oZWFkJz5ib29sIDxiPkJCQ29kZTo6R2V0UGxhaW5Nb2RlPC9iPiAoICk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9kZXNjcic+VGhpcyBmdW5jdGlvbiByZXR1cm5zIHRoZSBjdXJyZW50IHBsYWluLW1vZGUgc3RhdGUuCgkJU2VlIDxhIGhyZWY9ImFwaV9iZWh2Lmh0bWwjcmVmX3BhcnNlcl9TZXRQbGFpbk1vZGUiPlNldFBsYWluTW9kZSgpPC9hPiBmb3IgbW9yZSBkZXRhaWxzLjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlJldHVybiB2YWx1ZXM6PC9iPiAgUmV0dXJucyA8dHQ+dHJ1ZTwvdHQ+IG9yIDx0dD5mYWxzZTwvdHQ+LCBkZXBlbmRpbmcKCQlvbiB3aGV0aGVyIHBsYWluLWphbmUgSFRNTCBpcyBnZW5lcmF0ZWQgYXMgb3V0cHV0ICg8dHQ+dHJ1ZTwvdHQ+KSBvciB3aGV0aGVyIEhUTUwgaXMgZ2VuZXJhdGVkCgkJYXMgb3V0cHV0ICg8dHQ+ZmFsc2U8L3R0PikuPC9kaXY+CjwvZGl2PgoKPGEgbmFtZT0icmVmX3BhcnNlcl9TZXRMaW1pdCI+PC9hPgo8ZGl2IGNsYXNzPSdhcGknPgoJPGRpdiBjbGFzcz0nYXBpX2hlYWQnPnZvaWQgPGI+QkJDb2RlOjpTZXRMaW1pdDwvYj4gKCBpbnQgJDx0dD5saW1pdDwvdHQ+ICk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9kZXNjcic+VGhpcyBmdW5jdGlvbiBlbmFibGVzIG91dHB1dC1saW1pdGluZy4gIFdoZW4gb3V0cHV0LWxpbWl0aW5nIGlzCgkJdHVybmVkIG9uLCBubyBtb3JlIHRoYW4gPHR0PiRsaW1pdDwvdHQ+IHBsYWluLXRleHQgY2hhcmFjdGVycyB3aWxsIGJlIGdlbmVyYXRlZCBpbgoJCXRoZSBvdXRwdXQgKHRhZ3MgbGlrZSAmbHQ7YiZndDsgYXJlIG5vdCBjb3VudGVkLCBidXQgdGhlaXIgY29udGVudCBpcyksIGFuZCB0aGUKCQlyZXN1bHRpbmcgb3V0cHV0IHdpbGwgYmUgYWx3YXlzIGJlIGJyb2tlbiBhdCB3aGl0ZXNwYWNlIG9yIGJlZm9yZS9hZnRlciBhIHRhZywgbmV2ZXIKCQlpbiB0aGUgbWlkZGxlIG9mIGEgd29yZC4gIEV2ZW4gaWYgb3V0cHV0IGlzIGxpbWl0ZWQsIGNvcnJlY3QgZm9ybWF0dGluZyBsb2dpYyB3aWxsCgkJYmUgYXBwbGllZDsgdGhlIG91dHB1dCB3aWxsIHN0aWxsIGJlIFhIVE1MIDEuMCBTdHJpY3QtY29tcGxpYW50LjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlBhcmFtZXRlcnM6PC9iPgoJCTx1bCBjbGFzcz0nYXBpX3BhcmFtcyc+CgkJPGxpPjx0dD48aT5saW1pdDwvaT48L3R0PjogIElmIHNldCB0byBub256ZXJvLCBubyBtb3JlIHRoYW4gdGhpcyBtYW55IHBsYWluLXRleHQKCQkJY2hhcmFjdGVycyB3aWxsIGJlIGdlbmVyYXRlZCBpbiB0aGUgb3V0cHV0LiAgSWYgc2V0IHRvIHplcm8sIHRoZXJlIGlzIG5vIGxpbWl0LjwvbGk+CgkJPC91bD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm9fYmxvY2snPjxiPk5vdGU6PC9iPjxiciAvPjxiciAvPgoJCVRoZSBwdXJwb3NlIG9mIHRoaXMgZnVuY3Rpb24gaXMgdG8gYWxsb3cgeW91IHRvIGdlbmVyYXRlIDxpPmV4Y2VycHRzPC9pPiBvZiB5b3VyCgkJdGV4dCwgc2hvcnQgaW5pdGlhbCBjaHVua3Mgb2YgdGhlIHRleHQgc3VpdGFibGUgZm9yIHVzZSBhcyB0aXRsZXMgb3IgYXMgYmx1cmJzIGluIGEKCQluZXdzIGJveCBvciBSU1MgZmVlZC4gIEl0IGRvZXMgPGk+bm90PC9pPiBleGlzdCB0byBzaW1wbHkgY2hvcCBvZmYgdGhlIG91dHB1dCBpbgoJCWFuIGV4YWN0aW5nIGZhc2hpb247IHJhdGhlciwgaXQgdHJpZXMgdG8gZ2VuZXJhdGUgc29tZXRoaW5nIHJlbGF0aXZlbHkgc2hvcnQsIG5lYXIKCQl5b3VyIHNpemUgbGltaXQsIHdoaWxlIHN0aWxsIG1haW50YWluaW5nIGZvcm1hdHRpbmcuICBJdCB3b3JrcyB2ZXJ5IHdlbGwgd2hlbiB1c2VkCgkJaW4gY29uanVuY3Rpb24gd2l0aCA8YSBocmVmPSIjcmVmX3BhcnNlcl9TZXRQbGFpbk1vZGUiPlNldFBsYWluTW9kZSgpPC9hPiwgd2hpY2gKCQl0b2dldGhlciBjYW4gb3V0cHV0IGEgc2hvcnQsIEhUTUwtZnJlZSBleGNlcnB0IG9mIGFueSBpbnB1dCB0ZXh0LgoJPC9kaXY+CjwvZGl2PgoKPGEgbmFtZT0icmVmX3BhcnNlcl9HZXRMaW1pdCI+PC9hPgo8ZGl2IGNsYXNzPSdhcGknPgoJPGRpdiBjbGFzcz0nYXBpX2hlYWQnPmludCA8Yj5CQkNvZGU6OkdldExpbWl0PC9iPiAoICk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9kZXNjcic+VGhpcyBmdW5jdGlvbiByZXR1cm5zIHRoZSBjdXJyZW50IG91dHB1dC1saW1pdCBsZW5ndGguCgkJU2VlIDxhIGhyZWY9ImFwaV9iZWh2Lmh0bWwjcmVmX3BhcnNlcl9TZXRMaW1pdCI+U2V0TGltaXQoKTwvYT4gZm9yIG1vcmUgZGV0YWlscy48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5SZXR1cm4gdmFsdWVzOjwvYj4gIFJldHVybnMgdGhlIG51bWJlciBvZiBjaGFyYWN0ZXJzIHRvIHdoaWNoCgkJdGhlIG91dHB1dCBpcyBsaW1pdGVkLCBvciB6ZXJvICgwKSBpZiB0aGVyZSBpcyBubyBsaW1pdC48L2Rpdj4KPC9kaXY+Cgo8YSBuYW1lPSJyZWZfcGFyc2VyX1NldExpbWl0UHJlY2lzaW9uIj48L2E+CjxkaXYgY2xhc3M9J2FwaSc+Cgk8ZGl2IGNsYXNzPSdhcGlfaGVhZCc+dm9pZCA8Yj5CQkNvZGU6OlNldExpbWl0UHJlY2lzaW9uPC9iPiAoIGZsb2F0ICQ8dHQ+cHJlYzwvdHQ+ICk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9kZXNjcic+V2hlbiBsaW1pdGluZyB0ZXh0LCBpdCdzIG9mdGVuIGRlc2lyYWJsZSB0byBhbGxvdyB0ZXh0IHRoYXQncwoJCXNsaWdodGx5IGxvbmdlciB0aGFuIHlvdXIgbGltaXQgdG8gcGFzcyB0aHJvdWdoOiAgRm9yIGV4YW1wbGUsIGN1dHRpbmcgb25lIHdvcmQKCQlvZmYgYW4gZW50aXJlIHBhcmFncmFwaCBpcyB3YXN0ZWZ1bCBhbmQgc2lsbHkuICBUaGlzIGZ1bmN0aW9uIGxldHMgeW91IGNvbnRyb2wKCQlob3cgYWNjdXJhdGUgdGhlIGxpbWl0aW5nIGlzLCB3aGV0aGVyIGl0IHdpbGwgY2hvcCB0aGluZ3MgZXhhY3RseSB3aGVyZSB5b3Ugc3BlY2lmeSwKCQlvciB3aGV0aGVyIHlvdSdyZSB3aWxsaW5nIHRvIGxldCBzb21lIHRleHQgc2xpcCB0aHJvdWdoIHRvIGdldCBhIGJldHRlciBhcHBlYXJhbmNlLjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlBhcmFtZXRlcnM6PC9iPgoJCTx1bCBjbGFzcz0nYXBpX3BhcmFtcyc+CgkJPGxpPjx0dD48aT5wcmVjPC9pPjwvdHQ+OiAgV2hhdCBhbW91bnQgb3ZlciB5b3VyIGxpbWl0IHlvdSdyZSB3aWxsaW5nIHRvIGFjY2VwdC4KCQkJRm9yIGV4YW1wbGUsIGlmIHlvdSdyZSB3aWxsaW5nIHRvIGFjY2VwdCB1cCB0byAxMCUgbW9yZSB0aGFuIHlvdXIgbGltaXQsCgkJCSQ8dHQ+cHJlYzwvdHQ+IHdvdWxkIGJlIDx0dD4wLjE8L3R0PjsgMjUlIG1vcmUgd291bGQgYmUgPHR0PjAuMjU8L3R0PjsgYW5kIHNvCgkJCW9uLiAgVGhlIGRlZmF1bHQgaXMgPHR0PjAuMTU8L3R0Piwgb3IgdXAgdG8gMTUlIG1vcmUgdGhhbiB5b3VyIGxpbWl0LiAgSWYKCQkJeW91IHdhbnQgdGhlIHRleHQgY2hvcHBlZCB2ZXJ5IGV4YWN0aW5nbHkgYXQgeW91ciBsaW1pdCwgdXNlIGEgJDx0dD5wcmVjPC90dD4KCQkJdmFsdWUgb2YgPHR0PjA8L3R0Pi48L2xpPgoJCTwvdWw+Cgk8L2Rpdj4KPC9kaXY+Cgo8YSBuYW1lPSJyZWZfcGFyc2VyX0dldExpbWl0UHJlY2lzaW9uIj48L2E+CjxkaXYgY2xhc3M9J2FwaSc+Cgk8ZGl2IGNsYXNzPSdhcGlfaGVhZCc+ZmxvYXQgPGI+QkJDb2RlOjpHZXRMaW1pdFByZWNpc2lvbjwvYj4gKCApPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfZGVzY3InPlRoaXMgZnVuY3Rpb24gcmV0dXJucyB0aGUgY3VycmVudCBvdXRwdXQtbGltaXQgcHJlY2lzaW9uLgoJCVNlZSA8YSBocmVmPSJhcGlfYmVodi5odG1sI3JlZl9wYXJzZXJfU2V0TGltaXRQcmVjaXNpb24iPlNldExpbWl0UHJlY2lzaW9uKCk8L2E+IGZvciBtb3JlIGRldGFpbHMuPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UmV0dXJuIHZhbHVlczo8L2I+ICBSZXR1cm5zIHRoZSBjdXJyZW50IG91dHB1dC1saW1pdCBwcmVjaXNpb24uPC9kaXY+CjwvZGl2PgoKPGEgbmFtZT0icmVmX3BhcnNlcl9TZXRMaW1pdFRhaWwiPjwvYT4KPGRpdiBjbGFzcz0nYXBpJz4KCTxkaXYgY2xhc3M9J2FwaV9oZWFkJz52b2lkIDxiPkJCQ29kZTo6U2V0TGltaXRUYWlsPC9iPiAoIHN0cmluZyAkPHR0PnRhaWw8L3R0PiApPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfZGVzY3InPldoZW4gbGltaXRpbmcgdGV4dCwgaXQncyBvZnRlbiBkZXNpcmFibGUgdG8gYXBwZW5kIHNvbWUga2luZAoJCW9mIHRleHQgdG8gdGhlIGVuZCBvZiBhIHN0cmluZyB0aGF0IGdldHMgY3V0IG9mZi4gIEZvciBleGFtcGxlLCB5b3UgbWF5IHdhbnQgdG8KCQlhZGQgIjx0dD4uLi48L3R0PiIgdG8gYSBzdHJpbmcgdG8gc2hvdyB0aGF0IGl0IGhhcyBiZWVuIGN1dC4gIFRoaXMgZnVuY3Rpb24gbGV0cwoJCXlvdSBzcGVjaWZ5IHdoYXQgZ2V0cyBhZGRlZCB0byBhIGNob3BwZWQtb2ZmIHN0cmluZy48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5QYXJhbWV0ZXJzOjwvYj4KCQk8dWwgY2xhc3M9J2FwaV9wYXJhbXMnPgoJCTxsaT48dHQ+PGk+dGFpbDwvaT48L3R0PjogIElmIHlvdXIgaW5wdXQgZ2V0cyB0cnVuY2F0ZWQsIHRoaXMgd2lsbCBiZSBhcHBlbmRlZAoJCQl0byB0aGUgZW5kIG9mIHRoZSBvdXRwdXQsIGJlZm9yZSBhbnkgY2xvc2luZyB0YWdzIGFuZCB3aGl0ZXNwYWNlLiAgVGhlCgkJCWRlZmF1bHQgdmFsdWUgaXMgIjx0dD4uLi48L3R0PiIsIGJ1dCBvdGhlciBjb21tb24gdmFsdWVzIGFyZSAiPHR0PiZuYnNwO1ttb3JlXTwvdHQ+IgoJCQlhbmQgIjx0dD4mbmJzcDtbY29udCdkXTwvdHQ+Ii4gIFRoZSB0YWlsIG11c3QgYmUgPGk+SFRNTDwvaT4sIG5vdCBwbGFpbi10ZXh0CgkJCW9yIEJCQ29kZS48L2xpPgoJCTwvdWw+Cgk8L2Rpdj4KPC9kaXY+Cgo8YSBuYW1lPSJyZWZfcGFyc2VyX0dldExpbWl0VGFpbCI+PC9hPgo8ZGl2IGNsYXNzPSdhcGknPgoJPGRpdiBjbGFzcz0nYXBpX2hlYWQnPnN0cmluZyA8Yj5CQkNvZGU6OkdldExpbWl0VGFpbDwvYj4gKCApPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfZGVzY3InPlRoaXMgZnVuY3Rpb24gcmV0dXJucyB0aGUgY3VycmVudCBvdXRwdXQtbGltaXQgdGFpbCBzdHJpbmcuCgkJU2VlIDxhIGhyZWY9ImFwaV9iZWh2Lmh0bWwjcmVmX3BhcnNlcl9TZXRMaW1pdFRhaWwiPlNldExpbWl0VGFpbCgpPC9hPiBmb3IgbW9yZSBkZXRhaWxzLjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlJldHVybiB2YWx1ZXM6PC9iPiAgUmV0dXJucyB0aGUgY3VycmVudCBvdXRwdXQtbGltaXQgdGFpbCBIVE1MLjwvZGl2Pgo8L2Rpdj4KCjxhIG5hbWU9InJlZl9wYXJzZXJfV2FzTGltaXRlZCI+PC9hPgo8ZGl2IGNsYXNzPSdhcGknPgoJPGRpdiBjbGFzcz0nYXBpX2hlYWQnPmJvb2wgPGI+QkJDb2RlOjpXYXNMaW1pdGVkPC9iPiAoICk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9kZXNjcic+VGhpcyBmdW5jdGlvbiByZXR1cm5zIHRydWUgaWYgdGhlIG1vc3QtcmVjZW50bHktZ2VuZXJhdGVkIG91dHB1dAoJCWZyb20gPGEgaHJlZj0iYXBpX2NvcmUuaHRtbCNyZWZfcGFyc2VyX1BhcnNlIj5QYXJzZSgpPC9hPiB3YXMgY3V0IG9mZiBhcyB0aGUgcmVzdWx0CgkJb2YgYW4gb3V0cHV0IGxpbWl0LiAgVGhpcyBwcm92aWRlcyB5b3Ugd2l0aCBhIHdheSB0byBkZXRlcm1pbmUgd2hldGhlciBvciBub3QgdGhlCgkJbGltaXQgd2FzIGFwcGxpZWQgdG8gdGhlIGlucHV0IG9yIHdhcyB1bm5lZWRlZC48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5SZXR1cm4gdmFsdWVzOjwvYj4gIFJldHVybnMgPHR0PnRydWU8L3R0PiBpZiB0aGUgb3V0cHV0IHdhcwoJCXRydW5jYXRlZCwgb3IgPHR0PmZhbHNlPC90dD4gaWYgdGhlIG91dHB1dCB3YXMgY29tcGxldGUuPC9kaXY+CjwvZGl2PgoKPHAgc3R5bGU9J3RleHQtYWxpZ246cmlnaHQ7Jz5bIFByZXZpb3VzOiA8YSBocmVmPSJhcGlfY29yZS5odG1sIj5CLiBDb3JlIFBhcnNpbmcgRnVuY3Rpb25zPC9hPiB8IE5leHQ6IDxhIGhyZWY9ImFwaV90cmltLmh0bWwiPkQuIENvbnRlbnQtVHJpbW1pbmcgRnVuY3Rpb25zPC9hPiBdPC9wPgoKPGhyIC8+Cgo8ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPkNvcHlyaWdodCAmY29weTsgMjAxMCwgdGhlIFBoYW50b20gSW5rZXIuICBBbGwgcmlnaHRzIHJlc2VydmVkLjwvZGl2PgoKPC9kaXY+PC9kaXY+PC9kaXY+Cgo8L2JvZHk+Cgo8L2h0bWw+Cg==]]></data>
	</file>
	<file>
	  <filename>/docs/doc/api_core.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWw6bGFuZz0iZW4iIGxhbmc9ImVuIj4KCjxoZWFkPgo8dGl0bGU+Q29yZSBQYXJzaW5nIEZ1bmN0aW9ucyAtIE5CQkM6IFRoZSBOZXcgQkJDb2RlIFBhcnNlcjwvdGl0bGU+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgo8bGluayByZWw9J3N0eWxlc2hlZXQnIHR5cGU9J3RleHQvY3NzJyBocmVmPSdzdHlsZXMuY3NzJyAvPgo8L2hlYWQ+Cgo8Ym9keT4KCjxkaXYgYWxpZ249J2NlbnRlcic+PGRpdiBjbGFzcz0ncGFnZV9jb250YWluZXIyJz48ZGl2IGNsYXNzPSdwYWdlX2NvbnRhaW5lcic+Cgo8aDI+SVYuIEFQSSBSZWZlcmVuY2U8L2gyPgoKPHAgc3R5bGU9J3RleHQtYWxpZ246cmlnaHQ7bWFyZ2luOjA7Jz5bIFByZXZpb3VzOiA8YSBocmVmPSJhcGkuaHRtbCI+QS4gQWxwaGFiZXRpY2FsIEZ1bmN0aW9uIExpc3Q8L2E+IHwgTmV4dDogPGEgaHJlZj0iYXBpX2JlaHYuaHRtbCI+Qy4gTGFuZ3VhZ2UtQmVoYXZpb3IgRnVuY3Rpb25zPC9hPiBdPC9wPgoKPGgzPkIuIENvcmUgUGFyc2luZyBGdW5jdGlvbnM8L2gzPgoKPGEgbmFtZT0icmVmX3BhcnNlcl9CQkNvZGUiPjwvYT4KPGRpdiBjbGFzcz0nYXBpJz4KCTxkaXYgY2xhc3M9J2FwaV9oZWFkJz48Yj5CQkNvZGU6OkJCQ29kZTwvYj4gKCApPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfZGVzY3InPlRoaXMgaXMgdGhlIGNvbnN0cnVjdG9yIGZvciB0aGUgQkJDb2RlIG9iamVjdC4gIEl0IGFzc2lnbnMgZGVmYXVsdCB2YWx1ZXMKCQl0byBhbGwgc2V0dGluZ3MgYW5kIGNyZWF0ZXMgYWxsIGF0dGFjaGVkIG9iamVjdHMgbGlrZSB0aGUgQkJDb2RlTGlicmFyeSBvYmplY3QuPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UGFyYW1ldGVyczo8L2I+ICBOb25lLjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlJldHVybiBWYWx1ZTo8L2I+ICBOb25lLjwvZGl2Pgo8L2Rpdj4KCjxhIG5hbWU9InJlZl9wYXJzZXJfUGFyc2UiPjwvYT4KPGRpdiBjbGFzcz0nYXBpJz4KCTxkaXYgY2xhc3M9J2FwaV9oZWFkJz5zdHJpbmcgPGI+QkJDb2RlOjpQYXJzZTwvYj4gKCBzdHJpbmcgJDx0dD5zdHJpbmc8L3R0PiApPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfZGVzY3InPlRoaXMgZnVuY3Rpb24gaXMgdGhlIHB1YmxpYyBpbnRlcmZhY2UgdG8gdGhlIGNvcmUgQkJDb2RlCgkJcGFyc2VyOyBzdXBwbHkgdGhpcyB3aXRoIEJCQ29kZSBhcyBpbnB1dCwgYW5kIGl0IHdpbGwgcmV0dXJuIHRoYXQgQkJDb2RlIGNvbnZlcnRlZCB0byBIVE1MLjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlBhcmFtZXRlcnM6PC9iPgoJCTx1bCBjbGFzcz0nYXBpX3BhcmFtcyc+CgkJPGxpPjx0dD48aT5zdHJpbmc8L2k+PC90dD46IFRoZSBzdHJpbmcgdG8gYmUgY29udmVydGVkIGZyb20gQkJDb2RlIHRvIEhUTUwuPC9saT4KCQk8L3VsPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UmV0dXJuIFZhbHVlOjwvYj4gIEEgc3RyaW5nIGNvbnRhaW5pbmcgSFRNTCBjb252ZXJ0ZWQgZnJvbSB0aGUgaW5wdXQgQkJDb2RlLjwvZGl2Pgo8L2Rpdj4KCjxhIG5hbWU9InJlZl9wYXJzZXJfRG9UYWciPjwvYT4KPGRpdiBjbGFzcz0nYXBpJz4KCTxkaXYgY2xhc3M9J2FwaV9oZWFkJz5zdHJpbmcgPGI+QkJDb2RlOjpEb1RhZzwvYj4gKCBzdHJpbmcgJDx0dD5hY3Rpb248L3R0PiAsIHN0cmluZyAkPHR0PnRhZ19uYW1lPC90dD4gLAoJCXN0cmluZyAkPHR0PmRlZmF1bHRfdmFsdWU8L3R0PiAsIGFycmF5ICQ8dHQ+cGFyYW1zPC90dD4gLCBzdHJpbmcgJDx0dD5jb250ZW50czwvdHQ+ICk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9kZXNjcic+VGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgYnkgdGhlIHBhcnNlciB0byBjaGVjayB0YWdzIGFuZCB0byBjb252ZXJ0IHRhZ3MgaW50byBIVE1MLgoJCUl0IGlzIGNhbGxlZCBhdCBtb3N0IHR3aWNlIGZvciBlYWNoIHRhZy4gIE5vcm1hbGx5LCBpdCBkaXNwYXRjaGVzIHRoZSBjaGVja2luZy9jb252ZXJzaW9uIGpvYiB0bwoJCW90aGVyIGZ1bmN0aW9ucywgbGlrZSBsaWJyYXJ5IGZ1bmN0aW9ucyBhbmQgY2FsbGJhY2sgZnVuY3Rpb25zLCBidXQgeW91IGNhbiBvdmVycmlkZSB0aGlzCgkJYmVoYXZpb3IgYnkgaW5oZXJpdGluZyB0aGUgQkJDb2RlIGNsYXNzIGFuZCBvdmVycmlkaW5nIHRoaXMgZnVuY3Rpb24uPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UGFyYW1ldGVyczo8L2I+CgkJPHVsIGNsYXNzPSdhcGlfcGFyYW1zJz4KCQk8bGk+PHR0PjxpPmFjdGlvbjwvaT48L3R0PjogT25lIG9mIDx0dD5CQkNPREVfQ0hFQ0s8L3R0PiBvciA8dHQ+QkJDT0RFX09VVFBVVDwvdHQ+LCBkZXBlbmRpbmcKCQkJb24gdGhlIHRhc2sgdG8gYmUgcGVyZm9ybWVkLiAgSWYgdGhpcyBpcyA8dHQ+QkJDT0RFX0NIRUNLPC90dD4sIERvVGFnKCkgbXVzdCByZXR1cm4KCQkJPGk+dHJ1ZTwvaT4gaWYgdGhlIGlucHV0cyBhcmUgYWNjZXB0YWJsZSwgb3IgPGk+ZmFsc2U8L2k+IGlmIHRoZSBpbnB1dHMgYXJlIHVuYWNjZXB0YWJsZTsKCQkJaWYgdGhpcyBpcyA8dHQ+QkJDT0RFX09VVFBVVDwvdHQ+LCBEb1RhZygpIG11c3QgcmV0dXJuIGFuIEhUTUwgc3RyaW5nIHRoYXQgY29udGFpbnMKCQkJdGhlIGNvbnZlcnRlZCBvdXRwdXQgb2YgdGhpcyB0YWcuPC9saT4KCQk8bGk+PHR0PjxpPnRhZ19uYW1lPC9pPjwvdHQ+OiBUaGUgbmFtZSBvZiB0aGUgdGFnIGJlaW5nIHByb2Nlc3NlZCwgd2l0aG91dCBzdXJyb3VuZGluZyBicmFja2V0cwoJCQlvciBhbiBlbmQtdGFnIHNsYXNoICgvKSwgYXMgaW4gIjx0dD5iPC90dD4iIG9yICI8dHQ+cXVvdGU8L3R0PiIuPC9saT4KCQk8bGk+PHR0PjxpPmRlZmF1bHRfdmFsdWU8L2k+PC90dD46IFRoZSBkZWZhdWx0IHZhbHVlIG9mIHRoZSB0YWcuICBUaGUgZGVmYXVsdCB2YWx1ZSBpcyB0aGUKCQkJdmFsdWUgYXNzaWduZWQgdG8gdGhlIHRhZyBuYW1lIGl0c2VsZjsgZm9yIGV4YW1wbGUsIGluIDx0dD5bcXVvdGU9Sm9obl08L3R0PiwgdGhlIGRlZmF1bHQKCQkJdmFsdWUgaXMgIjx0dD5Kb2huPC90dD4iLCBidXQgaW4gPHR0PltxdW90ZSZuYnNwO25hbWU9Sm9obl08L3R0PiBvciA8dHQ+W2JdPC90dD4sIHRoZSBkZWZhdWx0CgkJCXZhbHVlIGlzIHRoZSBlbXB0eSBzdHJpbmcuPC9saT4KCQk8bGk+PHR0PjxpPnBhcmFtczwvaT48L3R0PjogIFRoaXMgaXMgYW4gYXJyYXkgb2Yga2V5ID0mZ3Q7IHZhbHVlIHBhcmFtZXRlcnMgZ2l2ZW4gaW4gdGhlIHRhZy4KCQkJRm9yIGV4YW1wbGUsIGluIHRoZSB0YWcgPHR0Plt0YWc9ImZvbyImbmJzcDtiYXI9ImJheiImbmJzcDtjaG9jb2xhdGU9Imdvb2QiXTwvdHQ+LCB0aGlzIGFycmF5IHdvdWxkIGJlOjxiciAvPgoJCQk8eG1wIHN0eWxlPSdtYXJnaW46MCc+ICAgIGFycmF5KAogICAgICAgICJfbmFtZSIgPT4gInRhZyIsCiAgICAgICAgIl9kZWZhdWx0IiA9PiAiZm9vIiwKICAgICAgICAiYmFyIiA9PiAiYmF6IiwKICAgICAgICAiY2hvY29sYXRlIiA9PiAiZ29vZCIsCiAgICApOzwveG1wPgoJCQlUaGUgIjx0dD5fbmFtZTwvdHQ+IiBhbmQgIjx0dD5fZGVmYXVsdDwvdHQ+IiBwYXJhbWV0ZXJzIHdpbGwgYWx3YXlzIGJlIHByZXNlbnQgaW4gdGhpcwoJCQlhcnJheSwgYW5kIHdpbGwgYWx3YXlzIGNvbnRhaW4gdGhlIHNhbWUgdmFsdWVzIGFzICQ8dHQ+dGFnX25hbWU8L3R0PiBhbmQgJDx0dD5kZWZhdWx0X3ZhbHVlPC90dD4uPC9saT4KCQk8bGk+PHR0PjxpPmNvbnRlbnRzPC9pPjwvdHQ+OiAgVGhpcyBwYXJhbWV0ZXIgaXMgPGk+b25seTwvaT4gdmFsaWQgZHVyaW5nIDx0dD5CQkNPREVfT1VUUFVUPC90dD47CgkJCWR1cmluZyA8dHQ+QkJDT0RFX0NIRUNLPC90dD4gaXQgd2lsbCBhbHdheXMgYmUgdGhlIGVtcHR5IHN0cmluZy4gIFRoaXMgcGFyYW1ldGVyIGNvbnRhaW5zCgkJCXRoZSAiY29udGVudHMiIG9mIHRoZSB0YWcsIHRoZSB0ZXh0IGJldHdlZW4gdGhlIHN0YXJ0IHRhZyBhbmQgaXRzIG1hdGNoaW5nIGVuZCB0YWcuICBGb3IKCQkJZXhhbXBsZSwgd2l0aCB0aGlzIGlucHV0OjxiciAvPgoJCQk8dHQ+ICZuYnNwOyAmbmJzcDsgW2JdVGhlIHF1aWNrIGJyb3duICJmb3giIGp1bXBzIG92ZXIgdGhlIGxhenkgZG9nLlsvYl08L3R0PjxiciAvPgoJCQlkdXJpbmcgPHR0PkJCQ09ERV9PVVRQVVQ8L3R0PiwgdGhlICQ8dHQ+Y29udGVudHM8L3R0PiBwYXJhbWV0ZXIgd2lsbCBiZSBzZXQgdG86PGJyIC8+CgkJCTx0dD4gJm5ic3A7ICZuYnNwOyBUaGUgcXVpY2sgYnJvd24gJmFtcDtxdW90O2ZveCZhbXA7cXVvdDsganVtcHMgb3ZlciB0aGUgbGF6eSBkb2cuPC90dD48YnIgLz4KCQkJVGhpcyBwYXJhbWV0ZXIgaXMgYWx3YXlzIGVpdGhlciB0aGUgZW1wdHkgc3RyaW5nIG9yIGZ1bGx5LXZhbGlkYXRlZCBIVE1MIGNvbnRlbnRzLjwvbGk+CgkJPC91bD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlJldHVybiBWYWx1ZTo8L2I+ICBGb3IgPHR0PkJCQ09ERV9DSEVDSzwvdHQ+LCB0aGlzIG11c3QgcmV0dXJuIDxpPnRydWU8L2k+IGlmCgkJdGhlIGRlZmF1bHQgdmFsdWUgYW5kIHBhcmFtZXRlcnMgYXJlIGFjY2VwdGFibGUsIG9yIDxpPmZhbHNlPC9pPiBpZiB0aGV5J3JlIG1hbGZvcm1lZC4gIEZvcgoJCTx0dD5CQkNPREVfT1VUUFVUPC90dD4sIHRoaXMgbXVzdCByZXR1cm4gY2xlYW4gSFRNTCBvdXRwdXQgdGV4dC48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5XYXJuaW5nOjwvYj4gIFRoaXMgZnVuY3Rpb24gaXMgcGFydCBvZiBOQkJDJ3MgaW50ZXJuYWwgcGFyc2VyLiAgSXQgaXMgZXhwb3NlZAoJCWFuZCBkb2N1bWVudGVkIHNvIHRoYXQgeW91IGNhbiBpbmhlcml0IGFuZCBvdmVycmlkZSBpdHMgYmVoYXZpb3IgaWYgeW91IHdhbnQsIHNob3VsZAoJCXlvdSB3YW50IGV4b3RpYyB0YWcgcHJvY2Vzc2luZyB0aGF0IE5CQkMgZG9lcyBub3QgcGVyZm9ybSBieSBkZWZhdWx0OyBob3dldmVyLAoJCWJlIGF3YXJlIHRoYXQgYnkgY2hhbmdpbmcgdGhpcyB5b3UgYXJlIGNoYW5naW5nIE5CQkMncyBpbnRlcm5hbHMsIHNvIGJlIGNhcmVmdWwuPC9kaXY+CjwvZGl2PgoKPGEgbmFtZT0icmVmX3BhcnNlcl9TZXREZWJ1ZyI+PC9hPgo8ZGl2IGNsYXNzPSdhcGknPgoJPGRpdiBjbGFzcz0nYXBpX2hlYWQnPnZvaWQgPGI+QkJDb2RlOjpTZXREZWJ1ZzwvYj4gKCBib29sICQ8dHQ+ZW5hYmxlPC90dD4gKTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2Rlc2NyJz5UaGlzIGZ1bmN0aW9uIGVuYWJsZXMgTkJCQydzIGJ1aWx0LWluIDxpPmRlYnVnIG1vZGU8L2k+LiAgV2hlbiBpbiBkZWJ1ZyBtb2RlLAoJCU5CQkMgd2lsbCBkdW1wIDxpPmh1Z2U8L2k+IHF1YW50aXRpZXMgb2YgZGF0YSB0byB0aGUgYnJvd3NlciB0byBpbmRpY2F0ZSB3aGF0IGl0IGlzIGRvaW5nCgkJd2hlbiBpdCBwYXJzZXMgYSBnaXZlbiBjaHVuayBvZiBpbnB1dCAoaXQncyBub3QgdW51c3VhbCBmb3IgYSBzaW5nbGUgbGluZSBvZiBCQkNvZGUgaW5wdXQKCQl0byBwcm9kdWNlIHNldmVyYWwgPGk+cGFnZXM8L2k+IG9mIGRlYnVnIG91dHB1dCkuICBUaGlzIGlzIHVzZWZ1bCBpZiB5b3UgdGhpbmsgTkJCQyBpcwoJCW1pc2JlaGF2aW5nLCBvciBpZiB5b3UncmUgYWRkaW5nIGEgdGFnIG9mIHlvdXIgb3duIGFuZCB0cnlpbmcgdG8gZmlndXJlIG91dCB3aHkgaXQgaXMgb3IKCQlpcyBub3Qgd29ya2luZyBjb3JyZWN0bHkuICBZb3Ugc2hvdWxkIDxpPm5vdDwvaT4gZW5hYmxlIGRlYnVnIG1vZGUgaW4gcHJvZHVjdGlvbiBlbnZpcm9ubWVudHMuPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UGFyYW1ldGVyczo8L2I+CgkJPHVsIGNsYXNzPSdhcGlfcGFyYW1zJz4KCQk8bGk+PHR0PjxpPmVuYWJsZTwvaT48L3R0PjogV2hldGhlciB0byB0dXJuIGRlYnVnIG1vZGUgb24gb3Igb2ZmOyBpZiB0aGlzIHBhcmFtZXRlciBpcyA8aT50cnVlPC9pPiwKCQkJZGVidWcgbW9kZSB3aWxsIGJlIGVuYWJsZWQgYW5kIGh1Z2UgcXVhbnRpdGllcyBvZiBkZWJ1Z2dpbmcgaW5mb3JtYXRpb24gd2lsbCBiZSBkdW1wZWQgdG8gdGhlCgkJCWJyb3dzZXI7IGlmIHRoaXMgcGFyYW1ldGVyIGlzIDxpPmZhbHNlPC9pPiwgbm8gZGVidWdnaW5nIGluZm9ybWF0aW9uIHdpbGwgYmUgZGlzcGxheWVkLjwvbGk+CgkJPC91bD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPk5vdGU6PC9iPiAgRGVidWcgbW9kZSBpcyBkaXNhYmxlZCBieSBkZWZhdWx0LCBhbmQgaXMgb25seSBhdmFpbGFibGUgaWYKCQl5b3UgdXNlIHRoZSBtdWx0aS1maWxlIHZlcnNpb24gb2YgTkJCQyAoPHR0Pm5iYmNfbWFpbi5waHA8L3R0PiwgPHR0Pm5iYmNfcGFyc2UucGhwPC90dD4sCgkJPHR0Pm5iYmNfbGV4LnBocDwvdHQ+LCBldGMuKTogIEluIHRoZSBjb21wcmVzc2VkIHZlcnNpb24gb2YgTkJCQyAoPHR0Pm5iYmMucGhwPC90dD4pLAoJCWFsbCBkZWJ1Z2dpbmcgY29kZSBoYXMgYmVlbiByZW1vdmVkIHRvIG1ha2UgdGhlIGNvZGUgc21hbGxlciBhbmQgZmFzdGVyLiAgVGhpcyBmdW5jdGlvbgoJCWFuZCBHZXREZWJ1ZygpIHN0aWxsIGJvdGggZXhpc3QgaW4gdGhlIGNvbXByZXNzZWQgdmVyc2lvbiwgYnV0IHJlZ2FyZGxlc3Mgb2YgdGhlIHN0YXRlCgkJb2YgdGhlIGRlYnVnIGZsYWcsIGNvbXByZXNzZWQgTkJCQyB3aWxsIG5vdCBkaXNwbGF5IGFueSBkZWJ1Z2dpbmcgaW5mb3JtYXRpb24uCgk8L2Rpdj4KPC9kaXY+Cgo8YSBuYW1lPSJyZWZfcGFyc2VyX0dldERlYnVnIj48L2E+CjxkaXYgY2xhc3M9J2FwaSc+Cgk8ZGl2IGNsYXNzPSdhcGlfaGVhZCc+Ym9vbCA8Yj5CQkNvZGU6OkdldERlYnVnPC9iPiAoICk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9kZXNjcic+VGhpcyBmdW5jdGlvbiByZXR1cm5zIHRoZSBjdXJyZW50IHN0YXRlIG9mIE5CQkMncyBidWlsdC1pbiA8aT5kZWJ1ZyBtb2RlPC9pPi4KCQlTZWUgPGEgaHJlZj0iYXBpX2NvcmUuaHRtbCNyZWZfcGFyc2VyX1NldERlYnVnIj5TZXREZWJ1ZygpPC9hPiBmb3IgbW9yZSBkZXRhaWxzLjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlJldHVybiB2YWx1ZXM6PC9iPiAgUmV0dXJucyA8aT50cnVlPC9pPiBvciA8aT5mYWxzZTwvaT4sIGRlcGVuZGluZyBvbgoJCXdoZXRoZXIgZGVidWcgbW9kZSBpcyBlbmFibGVkLjwvZGl2Pgo8L2Rpdj4KCjxwIHN0eWxlPSd0ZXh0LWFsaWduOnJpZ2h0Oyc+WyBQcmV2aW91czogPGEgaHJlZj0iYXBpLmh0bWwiPkEuIEFscGhhYmV0aWNhbCBGdW5jdGlvbiBMaXN0PC9hPiB8IE5leHQ6IDxhIGhyZWY9ImFwaV9iZWh2Lmh0bWwiPkMuIExhbmd1YWdlLUJlaGF2aW9yIEZ1bmN0aW9uczwvYT4gXTwvcD4KCjxociAvPgoKPGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz5Db3B5cmlnaHQgJmNvcHk7IDIwMTAsIHRoZSBQaGFudG9tIElua2VyLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC48L2Rpdj4KCjwvZGl2PjwvZGl2PjwvZGl2PgoKPC9ib2R5PgoKPC9odG1sPgo=]]></data>
	</file>
	<file>
	  <filename>/docs/doc/api_misc.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWw6bGFuZz0iZW4iIGxhbmc9ImVuIj4KCjxoZWFkPgo8dGl0bGU+TWlzY2VsbGFuZW91cyBTdXBwb3J0IEZ1bmN0aW9ucyAtIE5CQkM6IFRoZSBOZXcgQkJDb2RlIFBhcnNlcjwvdGl0bGU+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgo8bGluayByZWw9J3N0eWxlc2hlZXQnIHR5cGU9J3RleHQvY3NzJyBocmVmPSdzdHlsZXMuY3NzJyAvPgo8L2hlYWQ+Cgo8Ym9keT4KCjxkaXYgYWxpZ249J2NlbnRlcic+PGRpdiBjbGFzcz0ncGFnZV9jb250YWluZXIyJz48ZGl2IGNsYXNzPSdwYWdlX2NvbnRhaW5lcic+Cgo8aDI+SVYuIEFQSSBSZWZlcmVuY2U8L2gyPgoKPHAgc3R5bGU9J3RleHQtYWxpZ246cmlnaHQ7bWFyZ2luOjA7Jz5bIFByZXZpb3VzOiA8YSBocmVmPSJhcGlfcmVwbC5odG1sIj5JLiBSZXBsYWNlZC1JdGVtIEZ1bmN0aW9uczwvYT4gfCBOZXh0OiA8YSBocmVmPSJiYmMuaHRtbCI+Vi5BLiBBbHBoYWJldGljYWwgQkJDb2RlIExpc3Q8L2E+IF08L3A+Cgo8aDM+Si4gTWlzY2VsbGFuZW91cyBTdXBwb3J0IEZ1bmN0aW9uczwvaDM+Cgo8YSBuYW1lPSJyZWZfcGFyc2VyX25sMmJyIj48L2E+CjxkaXYgY2xhc3M9J2FwaSc+Cgk8ZGl2IGNsYXNzPSdhcGlfaGVhZCc+c3RyaW5nIDxiPkJCQ29kZTo6bmwyYnI8L2I+ICggc3RyaW5nICQ8dHQ+aW5wdXQ8L3R0PiApPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfZGVzY3InPlRoaXMgZnVuY3Rpb24gaXMgbmVhcmx5IGlkZW50aWNhbCB0byBQSFAncyBidWlsdC1pbiA8dHQ+PGEgaHJlZj0iaHR0cDovL3d3dy5waHAubmV0L25sMmJyIj5ubDJicigpPC9hPjwvdHQ+CgkJZnVuY3Rpb247IGhvd2V2ZXIsIHVubGlrZSB0aGUgYnVpbHQtaW4gZnVuY3Rpb24sIHRoaXMgY29ycmVjdGx5IGhhbmRsZXMgYWxsIGZvdXIgbWFqb3IgZm9ybXMgb2YKCQlsaW5lIGJyZWFrcyAoV2luZG93cyAiXHJcbiIgYW5kICJcblxyIjsgVW4qeCAiXG4iOyBhbmQgTWFjICJcciIpLCBhbmQgYWx3YXlzIGdlbmVyYXRlcwoJCSI8dHQ+Jmx0O2JyIC8mZ3Q7PC90dD4iIGFzIGl0cyBvdXRwdXQsIG1ha2luZyBpdCBYSFRNTC1zYWZlLiAgSW4gZ2VuZXJhbCwgeW91IHNob3VsZAoJCWFsd2F5cyBwcmVmZXIgdGhpcyBvdmVyIHRoZSBidWlsdC1pbiBmdW5jdGlvbjsgd2hpbGUgdGhlIGJ1aWx0LWluIGZ1bmN0aW9uIGlzIHNvbWV3aGF0CgkJZmFzdGVyLCB0aGlzIHlpZWxkcyBtb3JlIGNvcnJlY3QsIG1vcmUgY29tcGF0aWJsZSBiZWhhdmlvci48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5QYXJhbWV0ZXJzOjwvYj4KCQk8dWw+CgkJPGxpPjxpPmlucHV0PC9pPjogVGhlIHN0cmluZyB0byBjb252ZXJ0LjwvbGk+CgkJPC91bD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlJldHVybiBWYWx1ZTo8L2I+ICBBbiBpZGVudGljYWwgc3RyaW5nLCB3aGVyZSBhbGwgbmV3bGluZXMgaGF2ZQoJCWJlZW4gcmVwbGFjZWQgd2l0aCBYSFRNTC1jb21wYXRpYmxlICI8dHQ+Jmx0O2JyIC8mZ3Q7PC90dD4iIGVsZW1lbnRzLjwvZGl2Pgo8L2Rpdj4KCjxhIG5hbWU9InJlZl9wYXJzZXJfSXNWYWxpZFVSTCI+PC9hPgo8ZGl2IGNsYXNzPSdhcGknPgoJPGRpdiBjbGFzcz0nYXBpX2hlYWQnPmJvb2wgPGI+QkJDb2RlOjpJc1ZhbGlkVVJMPC9iPiAoIHN0cmluZyAkPHR0PmFkZHJlc3M8L3R0PiApPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfZGVzY3InPlRoaXMgZnVuY3Rpb24gdGVzdHMgdGhlIGlucHV0IHN0cmluZyB0byBzZWUgaWYgaXQgaXMgYSBsZWdhbAoJCVVSTC4gIEEgbGVnYWwgVVJMIG11c3QgZWl0aGVyIGJlIGEgcmVsYXRpdmUgVVJMLCBpbiB3aGljaCBjYXNlIGl0IGhhcyBubyBwcm90b2NvbAoJCWlkZW50aWZpZXIsIG9yIG11c3QgY29udGFpbiB0aGUgPHR0Pmh0dHA6PC90dD4gb3IgPHR0Pmh0dHBzOjwvdHQ+IG9yIDx0dD5mdHA6PC90dD4KCQlwcm90b2NvbCBpZGVudGlmaWVycyBmb2xsb3dlZCBieSBhIGxlZ2FsIGRvbWFpbiBuYW1lIG9yIElQIGFkZHJlc3MuPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UGFyYW1ldGVyczo8L2I+CgkJPHVsPgoJCTxsaT48aT5hZGRyZXNzPC9pPjogVGhlIHN0cmluZyB0byB0ZXN0LjwvbGk+CgkJPC91bD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlJldHVybiBWYWx1ZTo8L2I+ICBUcnVlIGlmIHRoaXMgaXMgYSBsZWdhbCBVUkw7IGZhbHNlIGlmCgkJdGhpcyBpcyBhbiBpbGxlZ2FsIFVSTC48L2Rpdj4KPC9kaXY+Cgo8YSBuYW1lPSJyZWZfcGFyc2VyX0lzVmFsaWRFbWFpbCI+PC9hPgo8ZGl2IGNsYXNzPSdhcGknPgoJPGRpdiBjbGFzcz0nYXBpX2hlYWQnPmJvb2wgPGI+QkJDb2RlOjpJc1ZhbGlkRW1haWw8L2I+ICggc3RyaW5nICQ8dHQ+YWRkcmVzczwvdHQ+ICk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9kZXNjcic+VGhpcyBmdW5jdGlvbiB0ZXN0cyB0aGUgaW5wdXQgc3RyaW5nIHRvIHNlZSBpZiBpdCBpcyBhIGxlZ2FsCgkJZS1tYWlsIGFkZHJlc3MuICBBIGxlZ2FsIGUtbWFpbCBhZGRyZXNzIG11c3QgZm9sbG93IHRoZSBydWxlcyBkZWZpbmVkIGluIHRoZQoJCVNNVFAgUkZDOiAgSXQgbXVzdCBzdGFydCB3aXRoIGEgdXNlcidzIG5hbWUsIHRoYXQgZm9sbG93ZWQgd2l0aCBhbiBAIHNpZ24sIGFuZCBlbmQKCQl3aXRoIGEgbGVnYWwgZG9tYWluIG5hbWUgb3IgSVAgYWRkcmVzcy48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5QYXJhbWV0ZXJzOjwvYj4KCQk8dWw+CgkJPGxpPjxpPmFkZHJlc3M8L2k+OiBUaGUgc3RyaW5nIHRvIHRlc3QuPC9saT4KCQk8L3VsPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UmV0dXJuIFZhbHVlOjwvYj4gIFRydWUgaWYgdGhpcyBpcyBhIGxlZ2FsIGUtbWFpbCBhZGRyZXNzOyBmYWxzZSBpZgoJCXRoaXMgaXMgYW4gaWxsZWdhbCBlLW1haWwgYWRkcmVzcy48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvX2Jsb2NrJz48Yj5Ob3RlOjwvYj48YnIgLz48YnIgLz4KCQlUaGlzIHBlcmZvcm1zIGV4YWN0bHkgdGhlIHRlc3QgcmVxdWlyZWQgYnkgdGhlIFNNVFAgUkZDLCBhbmQgbm8gb3RoZXI7IHNvIHNvbWUKCQllLW1haWwgYWRkcmVzc2VzIHRoYXQgYXJlIG9idmlvdXNseSBpbGxlZ2FsLCBsaWtlICI8dHQ+JyMkJSdAZm9vLmZvby5mb288L3R0PiIgKGEKCQljb21wbGV0ZWx5IGdhcmJhZ2UgYWRkcmVzcyB0aGF0IGZvbGxvd3MgdGhlIGNvcnJlY3QgcGF0dGVybiksIG9yCgkJIjx0dD5qb2huQHNhbGVzLnlveW9keW5lPC90dD4iICh3aGVyZSB0aGUgdXNlciBmb3Jnb3QgdG8gYWRkIGEgVExEIGxpa2UgIjx0dD4uY29tPC90dD4iIG9yICI8dHQ+Lm9yZzwvdHQ+IikKCQlhcmUgc3RpbGwgcGVybWl0dGVkIGJ5IHRoaXMgZnVuY3Rpb24uICBTdGlsbCwgdGhpcyBpcyBhIHVzZWZ1bCB2YWxpZGF0b3IsIGJlY2F1c2UKCQlpdCBlbnN1cmVzIHRoYXQgPGk+dHJ1ZTwvaT4gZ2FyYmFnZSBhZGRyZXNzZXMgbGlrZSAiPHR0PmZvby5iYXI8L3R0PiIgYW5kCgkJIjx0dD5ibGVlcEB5b3U8L3R0PiIgYW5kICI8dHQ+Z28hYXdheTwvdHQ+IiBhcmUgY29ycmVjdGx5IGlnbm9yZWQuCgk8L2Rpdj4KPC9kaXY+Cgo8YSBuYW1lPSJyZWZfcGFyc2VyX0hUTUxFbmNvZGUiPjwvYT4KPGRpdiBjbGFzcz0nYXBpJz4KCTxkaXYgY2xhc3M9J2FwaV9oZWFkJz5zdHJpbmcgPGI+QkJDb2RlOjpIVE1MRW5jb2RlPC9iPiAoIHN0cmluZyAkPHR0PmlucHV0PC90dD4gKTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2Rlc2NyJz5UaGlzIGZ1bmN0aW9uIGNhbGxzIFBIUCdzIDx0dD5odG1sc3BlY2lhbGNoYXJzKCk8L3R0PiBmdW5jdGlvbi4KCQlJdCBpcyBjYWxsZWQgYnkgdGhlIHBhcnNlciB0byBjb252ZXJ0IGVhY2ggY2h1bmsgb2YgcGxhaW4gdGV4dCB0byBzYWZlIEhUTUwuICBUaGlzCgkJZnVuY3Rpb24gY2FuIHNhZmVseSBhc3N1bWUgdGhhdCB0aGVyZSBhcmUgbm8gZW1iZWRkZWQgdGFncyBvciBzbWlsZXlzOyB0aG9zZSB3aWxsCgkJaGF2ZSBiZWVuIHJlbW92ZWQgYmVmb3JlIHRoaXMgaXMgY2FsbGVkLjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlBhcmFtZXRlcnM6PC9iPgoJCTx1bD4KCQk8bGk+PGk+aW5wdXQ8L2k+OiBUaGUgc3RyaW5nIHRvIEhUTUwtZW5jb2RlLjwvbGk+CgkJPC91bD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlJldHVybiBWYWx1ZTo8L2I+ICBBbiBlbmNvZGVkIEhUTUwgc3RyaW5nLjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm9fYmxvY2snPjxiPk5vdGU6PC9iPjxiciAvPjxiciAvPgoJCVRoaXMgZnVuY3Rpb24gaXMgYW4gaW50ZXJuYWwgcGFydCBvZiB0aGUgTkJCQyBwYXJzZXIuICBJdCBpcyBleHBvc2VkIHNvIHRoYXQgaWYKCQl5b3UgaW5oZXJpdCB0aGUgQkJDb2RlIGNsYXNzLCB5b3UgY2FuIG92ZXJyaWRlIGl0IGFuZCBjaGFuZ2UgaXRzIGJlaGF2aW9yLiAgKFlvdQoJCWNvdWxkLCBmb3IgZXhhbXBsZSwgdXNlIDx0dD5odG1sZW50aXRpZXMoKTwvdHQ+IGluc3RlYWQgb2YgPHR0Pmh0bWxzcGVjaWFsY2hhcnMoKTwvdHQ+LCBvcgoJCW1heWJlIGFkZCBzdXBwb3J0IGZvciBwcm9jZXNzaW5nIHlvdXIgb3duIGtpbmQgb2YgdmFyaWFibGUgeyRpbnNlcnRzfSwgb3IgbWF5YmUKCQlhZGQgc3VwcG9ydCBmb3IgZWFzeSAqYm9sZGZhY2UqIGFuZCAvaXRhbGljcy8uICBJdCdzIHVwIHRvIHlvdSBob3cgeW91IHVzZSB0aGlzCgkJZnVuY3Rpb24sIHNvIGxvbmcgYXMgdGhlIG91dHB1dCBpcyB2YWxpZCBIVE1MOyB0aGF0IGZyZWVkb20gaXMgd2h5IGl0IGlzIGV4cG9zZWQKCQlieSB0aGUgcGFyc2VyLikKCTwvZGl2Pgo8L2Rpdj4KCjxhIG5hbWU9InJlZl9wYXJzZXJfRml4dXBPdXRwdXQiPjwvYT4KPGRpdiBjbGFzcz0nYXBpJz4KCTxkaXYgY2xhc3M9J2FwaV9oZWFkJz5zdHJpbmcgPGI+QkJDb2RlOjpGaXh1cE91dHB1dDwvYj4gKCBzdHJpbmcgJDx0dD5pbnB1dDwvdHQ+ICk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9kZXNjcic+VGhpcyBmdW5jdGlvbiBpcyB1c2VkIGludGVybmFsbHkgYnkgdGhlIHBhcnNlciB0byBwcm9jZXNzCgkJc3RyaW5ncyBvZiBwbGFpbiB0ZXh0OiAgSXQgc3RyaXBzIG91dCBzbWlsZXlzLCBjb252ZXJ0aW5nIHRoZW0gdG8gaW1hZ2VzLCBhbmQKCQl0aGVuIHBhc3NlcyB0aGUgcmVzdCBvZiB0aGUgdGV4dCB0aHJvdWdoIDxhIGhyZWY9IiNyZWZfcGFyc2VyX0hUTUxFbmNvZGUiPkhUTUxFbmNvZGUoKTwvYT4KCQl0byBjb252ZXJ0IHVuc2FmZSBjaGFyYWN0ZXJzIGxpa2UgJmx0OyBhbmQgJmd0OyBhbmQgJmFtcDsgdG8gPHR0PiZhbXA7bHQ7PC90dD4KCQlhbmQgPHR0PiZhbXA7Z3Q7PC90dD4gYW5kIDx0dD4mYW1wO2FtcDs8L3R0PiwgcmVzcGVjdGl2ZWx5LjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlBhcmFtZXRlcnM6PC9iPgoJCTx1bD4KCQk8bGk+PGk+aW5wdXQ8L2k+OiBUaGUgc3RyaW5nIHRvIGNvbnZlcnQgdG8gSFRNTC48L2xpPgoJCTwvdWw+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5SZXR1cm4gVmFsdWU6PC9iPiAgQW4gZW5jb2RlZCBIVE1MIHN0cmluZy48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvX2Jsb2NrJz48Yj5Ob3RlOjwvYj48YnIgLz48YnIgLz4KCQlUaGlzIGZ1bmN0aW9uIGlzIGFuIGludGVybmFsIHBhcnQgb2YgdGhlIE5CQkMgcGFyc2VyLiAgSXQgaXMgZXhwb3NlZCBmb3IgdHdvCgkJcmVhc29uczogIEZpcnN0LCBpZiB5b3UgaW5oZXJpdCB0aGUgQkJDb2RlIGNsYXNzLCB5b3UgY2FuIG92ZXJyaWRlIGl0IGFuZCBjaGFuZ2UKCQlpdHMgYmVoYXZpb3I7IGJ1dCBzZWNvbmQsIGFuZCBtb3JlIGltcG9ydGFudGx5LCBpdCBhbGxvd3MgeW91IHRvIGVhc2lseSBjb252ZXJ0CgkJcGxhaW4tdGV4dCAuICAoWW91CgkJY291bGQsIGZvciBleGFtcGxlLCB1c2UgPHR0Pmh0bWxlbnRpdGllcygpPC90dD4gaW5zdGVhZCBvZiA8dHQ+aHRtbHNwZWNpYWxjaGFycygpPC90dD4sIG9yCgkJbWF5YmUgYWRkIHN1cHBvcnQgZm9yIHByb2Nlc3NpbmcgeW91ciBvd24ga2luZCBvZiB2YXJpYWJsZSB7JGluc2VydHN9LCBvciBtYXliZQoJCWFkZCBzdXBwb3J0IGZvciBlYXN5ICpib2xkZmFjZSogYW5kIC9pdGFsaWNzLy4gIEl0J3MgdXAgdG8geW91IGhvdyB5b3UgdXNlIHRoaXMKCQlmdW5jdGlvbiwgc28gbG9uZyBhcyB0aGUgb3V0cHV0IGlzIHZhbGlkIEhUTUw7IHRoYXQgZnJlZWRvbSBpcyB3aHkgaXQgaXMgZXhwb3NlZAoJCWJ5IHRoZSBwYXJzZXIuKQoJPC9kaXY+CjwvZGl2PgoKPGEgbmFtZT0icmVmX3BhcnNlcl9GaWxsVGVtcGxhdGUiPjwvYT4KPGRpdiBjbGFzcz0nYXBpJz4KCTxkaXYgY2xhc3M9J2FwaV9oZWFkJz5zdHJpbmcgPGI+QkJDb2RlOjpGaWxsVGVtcGxhdGU8L2I+ICggc3RyaW5nICQ8dHQ+dGVtcGxhdGU8L3R0PiAsIGFycmF5ICQ8dHQ+cGFyYW1zPC90dD4gLCBhcnJheSAkPHR0PmRlZmF1bHQ8L3R0PiA9IGFycmF5KCkgKTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2Rlc2NyJz5UaGlzIGZ1bmN0aW9uIGlzIHVzZWQgYnkgdGhlIHBhcnNlciBpbiBhIG51bWJlciBvZgoJCXBsYWNlcyB0byBmaWxsIHZhcmlhYmxlcyBpbnRvIHRlbXBsYXRlcywgbW9zdCBub3RhYmx5IGluIHRoZSB0ZW1wbGF0ZXMKCQlhc3NvY2lhdGVkIHdpdGggPGEgaHJlZj0idXNhZ2VfZW5oLmh0bWwiPmVuaGFuY2VkIHRhZ3M8L2E+LiAgSXQgaXMgZXhwb3NlZAoJCXNvIHRoYXQgeW91IGNhbiB1c2UgaXQgdG8gZmlsbCB2YWx1ZXMgaW50byB5b3VyIG93biB0ZW1wbGF0ZXMgZWFzaWx5LjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlBhcmFtZXRlcnM6PC9iPgoJCTx1bD4KCQk8bGk+PGk+dGVtcGxhdGU8L2k+OiBUaGUgdGVtcGxhdGUgc3RyaW5nLCBwb3NzaWJseSBjb250YWluaW5nIHZhcmlhYmxlIGluc2VydHMuPC9saT4KCQk8bGk+PGk+cGFyYW1zPC9pPjogQW4gYXJyYXkgb2YgdmFsdWVzIHRvIHVzZSB3aGVuIGZpbGxpbmcgaW4gdGhlIHRlbXBsYXRlLiAgRm9yIGV4YW1wbGUsCgkJCWlmICI8dHQ+eyRmb299PC90dD4iIGlzIGZvdW5kIGluIHRoZSB0ZW1wbGF0ZSwgaXQgd2lsbCBiZSByZXBsYWNlZCB3aXRoIHRoZSB2YWx1ZQoJCQlvZiB0aGUgJzx0dD5mb288L3R0PicgbWVtYmVyIG9mIHRoaXMgYXJyYXkuPC9saT4KCQk8bGk+PGk+ZGVmYXVsdDwvaT46IEFuIGFycmF5IG9mIHZhbHVlcyB0byB1c2Ugd2hlbiBhIGRlc2lyZWQgdmFsdWUgZG9lcyBub3QgZXhpc3QgaW4KCQkJdGhlICQ8dHQ+cGFyYW1zPC90dD4gYXJyYXkuICBGb3IgZXhhbXBsZSwgaWYgIjx0dD57JGZvb308L3R0PiIgaXMgZm91bmQgaW4gdGhlCgkJCXRlbXBsYXRlLCBidXQgdGhlICQ8dHQ+cGFyYW1zPC90dD4gYXJyYXkgZG9lcyBub3QgY29udGFpbiBhICc8dHQ+Zm9vPC90dD4nIG1lbWJlciwKCQkJRmlsbFRlbXBsYXRlKCkgd2lsbCBjaGVjayB0byBzZWUgaWYgdGhlICQ8dHQ+ZGVmYXVsdDwvdHQ+IGFycmF5IGNvbnRhaW5zIGEgJzx0dD5mb288L3R0PicKCQkJbWVtYmVyLCBhbmQgaWYgaXQgZG9lcywgRmlsbFRlbXBsYXRlKCkgd2lsbCB1c2UgdGhhdCB2YWx1ZSBpbnN0ZWFkLiAgT25seSB3aGVuCgkJCW5laXRoZXIgdGhlICQ8dHQ+cGFyYW1zPC90dD4gYXJyYXkgbm9yIHRoZSAkPHR0PmRlZmF1bHQ8L3R0PiBhcnJheSBjb250YWlucyB0aGUKCQkJdmFsdWUgd2lsbCBGaWxsVGVtcGxhdGUoKSB1c2UgYW4gZW1wdHkgc3RyaW5nIGluc3RlYWQuPC9saT4KCQk8L3VsPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UmV0dXJuIFZhbHVlOjwvYj4gIEEgc3RyaW5nIHdpdGggYWxsIHZhcmlhYmxlIGluc2VydHMgcmVwbGFjZWQgd2l0aCB2YWx1ZXMsCgkJcG9zc2libHkgZm9ybWF0dGVkIHdpdGggPGEgaHJlZj0iYXBwX2VuaGZsYWdzLmh0bWwiPmZvcm1hdHRpbmcgZmxhZ3M8L2E+IGlmIGFueSBoYXZlIGJlZW4gZ2l2ZW4uPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mb19ibG9jayc+PGI+Tm90ZTo8L2I+PGJyIC8+PGJyIC8+CgkJV2hpbGUgdGhpcyBmdW5jdGlvbiBpcyBubyBzdWJzdGl0dXRlIGZvciBhIGdvb2QsIGZ1bGwgdGVtcGxhdGluZyBlbmdpbmUgbGlrZQoJCTxhIGhyZWY9Imh0dHA6Ly93d3cuc21hcnR5Lm5ldCI+U21hcnR5PC9hPiwgaXQgaXMgdmVyeSBsaWdodHdlaWdodCBhbmQgY2FuIHBlcmZvcm0KCQlzb21lIG9mIHRoZSBzYW1lIG9wZXJhdGlvbnMuICBOQkJDIHVzZXMgaXQgaW50ZXJuYWxseSBpbiBzZXZlcmFsIHBsYWNlcywgYW5kIGluCgkJTkJCQyAxLjMsIGl0IGhhcyBiZWVuIGV4cG9zZWQgYXMgYSBzaW1wbGUgcHVibGljIHRlbXBsYXRpbmcgQVBJLjxiciAvPgoJCTxiciAvPgoJCVZhcmlhYmxlIGluc2VydHMgaW4geW91ciB0ZW1wbGF0ZXMgY29tZSBpbiBvbmUgb2YgZm91ciBiYXNpYyBmb3Jtczo8YnIgLz4KCQk8dWw+CgkJPGxpPjx0dD57JHBhcmFtfTwvdHQ+IC0gQSBzaW1wbGUgcmVwbGFjZWQgdmFyaWFibGUgd2l0aCBubyBmb3JtYXR0aW5nIG9yIHRyYW5zbGF0aW9uIGFwcGxpZWQgdG8gaXQuPC9saT4KCQk8bGk+PHR0PnskcGFyYW0vZmxhZ3N9PC90dD4gLSBBIHJlcGxhY2VkIHZhcmlhYmxlIHRoYXQgaGFzIDxhIGhyZWY9ImFwcF9lbmhmbGFncy5odG1sIj5mb3JtYXR0aW5nIGZsYWdzPC9hPgoJCQlhcHBsaWVkIHRvIGl0cyB2YWx1ZSB3aGVuIHRoZSB2YWx1ZSBpcyBpbnNlcnRlZCBpbnRvIHRoZSB0ZW1wbGF0ZS48L2xpPgoJCTxsaT48dHQ+eyRwYXJhbS5pbmRleH08L3R0PiBhbmQgPHR0PnskcGFyYW0uaW5kZXgvZmxhZ3N9PC90dD4gLSBZb3UgY2FuIHVzZSB0aGUgc3BlY2lhbCBkb3QgKDx0dD4uPC90dD4pCgkJCW9wZXJhdG9yIHRvIGFjY2VzcyBtZW1iZXJzIG9mIGFuIGFycmF5IG9yIG1lbWJlcnMgb2YgYW4gb2JqZWN0LiAgRm9yIGV4YW1wbGUsIGlmCgkJCTx0dD4kcGFyYW1zWydwZXJzb24nXTwvdHQ+IGNvbnRhaW5zIGFuIGFycmF5IDx0dD4oJ2ZhdGhlcic9Jmx0Oydqb2huJywnbW90aGVyJz0mbHQ7J3N1ZScpPC90dD4sCgkJCXRoZW4geW91IGNhbiBhY2Nlc3MgdGhlIHBlcnNvbidzIG1vdGhlciBieSB3cml0aW5nIDx0dD57JHBlcnNvbi5tb3RoZXJ9PC90dD4KCQkJaW4geW91ciB0ZW1wbGF0ZS4gIE11bHRpcGxlIGRvdCBvcGVyYXRvcnMgYXJlIHBlcm1pdHRlZCwgYW5kIGFyZSBldmFsdWF0ZWQgZnJvbQoJCQlsZWZ0IHRvIHJpZ2h0LCBsaWtlIFBIUCdzIGFycm93ICg8dHQ+LSZndDs8L3R0Pikgb3BlcmF0b3IsIGJ1dCB1bmxpa2UgUEhQJ3MgYnJhY2tldHMgKDx0dD5bLi4uXTwvdHQ+KQoJCQlvcGVyYXRvci48L2xpPgoJCTwvdWw+CgkJQW4gZXhhbXBsZSB1c2FnZSBvZiB0aGlzIGZ1bmN0aW9uIGlzIGRlbW9uc3RyYXRlZCBiZWxvdzoKCQk8ZGl2IGNsYXNzPSdjb2RlX2hlYWRlcic+Q29kZTo8L2Rpdj4KCQk8eG1wIGNsYXNzPSdjb2RlJz4kdGVtcGxhdGUgPSAieyRuYW1lfSBpcyB7JGFnZX0geWVhcnMgb2xkLCIKICAgIC4gIiBhbmQgeyRwcm9ub3Vucy5vd25lcn0gbW90aGVyIGlzIHskZmFtaWx5Lm1vdGhlcn0uXG4iOwoKJHBhcmFtcyA9IEFycmF5KAogICAgJ25hbWUnID0+ICJKb2huIiwKICAgICdhZ2UnID0+IDIwLAogICAgJ2dlbmRlcicgPT4gJ21hbGUnLAoJJ2ZhbWlseScgPT4gQXJyYXkoCiAgICAgICAgJ2ZhdGhlcicgPT4gIkJpbGwiLAogICAgICAgICdtb3RoZXInID0+ICJTdWUiLAogICAgICAgICdicm90aGVyJyA9PiAiR2VvcmdlIiwKICAgICAgICAnc2lzdGVyJyA9PiAiU2FsbHkiLAogICAgKSwKICAgICdwcm9ub3VucycgPT4gQXJyYXkoCiAgICAgICAgJ3NlbGYnID0+ICJoaW0iLAogICAgICAgICdvd25lcicgPT4gImhpcyIsCiAgICApLAopOwoKJGJiY29kZSA9IG5ldyBCQkNvZGU7CiRvdXRwdXQgPSAkYmJjb2RlLT5GaWxsVGVtcGxhdGUoJHRlbXBsYXRlLCAkcGFyYW1zKTsKCnByaW50IGh0bWxzcGVjaWFsY2hhcnMoJG91dHB1dCk7PC94bXA+Cgk8L2Rpdj4KPC9kaXY+Cgo8cCBzdHlsZT0ndGV4dC1hbGlnbjpyaWdodDsnPlsgUHJldmlvdXM6IDxhIGhyZWY9ImFwaV9yZXBsLmh0bWwiPkkuIFJlcGxhY2VkLUl0ZW0gRnVuY3Rpb25zPC9hPiB8IE5leHQ6IDxhIGhyZWY9ImJiYy5odG1sIj5WLkEuIEFscGhhYmV0aWNhbCBCQkNvZGUgTGlzdDwvYT4gXTwvcD4KCjxociAvPgoKPGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz5Db3B5cmlnaHQgJmNvcHk7IDIwMTAsIHRoZSBQaGFudG9tIElua2VyLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC48L2Rpdj4KCjwvZGl2PjwvZGl2PjwvZGl2PgoKPC9ib2R5PgoKPC9odG1sPgo=]]></data>
	</file>
	<file>
	  <filename>/docs/doc/api_repl.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWw6bGFuZz0iZW4iIGxhbmc9ImVuIj4KCjxoZWFkPgo8dGl0bGU+UmVwbGFjZWQtSXRlbSBGdW5jdGlvbnMgLSBOQkJDOiBUaGUgTmV3IEJCQ29kZSBQYXJzZXI8L3RpdGxlPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz4KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyB0eXBlPSd0ZXh0L2NzcycgaHJlZj0nc3R5bGVzLmNzcycgLz4KPC9oZWFkPgoKPGJvZHk+Cgo8ZGl2IGFsaWduPSdjZW50ZXInPjxkaXYgY2xhc3M9J3BhZ2VfY29udGFpbmVyMic+PGRpdiBjbGFzcz0ncGFnZV9jb250YWluZXInPgoKPGgyPklWLiBBUEkgUmVmZXJlbmNlPC9oMj4KCjxwIHN0eWxlPSd0ZXh0LWFsaWduOnJpZ2h0O21hcmdpbjowOyc+WyBQcmV2aW91czogPGEgaHJlZj0iYXBpX3NtaWxleS5odG1sIj5ILiBTbWlsZXkgRnVuY3Rpb25zPC9hPiB8IE5leHQ6IDxhIGhyZWY9ImFwaV9taXNjLmh0bWwiPkouIE1pc2NlbGxhbmVvdXMgU3VwcG9ydCBGdW5jdGlvbnM8L2E+IF08L3A+Cgo8aDM+SS4gUmVwbGFjZWQtSXRlbSBGdW5jdGlvbnM8L2gzPgoKPGEgbmFtZT0icmVmX3BhcnNlcl9TZXRSdWxlSFRNTCI+PC9hPgo8ZGl2IGNsYXNzPSdhcGknPgoJPGRpdiBjbGFzcz0nYXBpX2hlYWQnPnZvaWQgPGI+QkJDb2RlOjpTZXRSdWxlSFRNTDwvYj4gKCBzdHJpbmcgJDx0dD5odG1sPC90dD4gKTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2Rlc2NyJz5UaGlzIGZ1bmN0aW9uIGRldGVybWluZXMgaG93IHRoZSBTdGFuZGFyZCBCQkNvZGUgTGlicmFyeQoJCWdlbmVyYXRlcyBhIGhvcml6b250YWwgcnVsZS4gIEJ5IGRlZmF1bHQsIGl0IG91dHB1dHMgIjx0dD4mbHQ7aHImbmJzcDsvJmd0OzwvdHQ+LCIKCQlidXQgeW91IGNhbiB1c2UgdGhpcyBmdW5jdGlvbiB0byBjaGFuZ2UgdGhhdCBvdXRwdXQgaW50byBhbnkgSFRNTCB5b3Ugd2FudC4KCQlNYW55IHNpdGVzIHByZWZlciB0byB1c2UgaW1hZ2VzIG9yICZsdDtkaXYmZ3Q7IGVsZW1lbnRzIHRvIHByb2R1Y2UgaG9yaXpvbnRhbAoJCXJ1bGVzIGZvciBzdHlsaXN0aWMgcmVhc29ucywgYW5kIHRoaXMgZnVuY3Rpb24gbGV0cyB5b3UgZWFzaWx5IHN3YXAgdGhvc2UgaW4KCQl3aXRob3V0IGNoYW5naW5nIGFueSBDU1MuPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UGFyYW1ldGVyczo8L2I+CgkJPHVsIGNsYXNzPSdhcGlfcGFyYW1zJz4KCQk8bGk+PHR0PjxpPmh0bWw8L2k+PC90dD46IFRoZSBIVE1MIHRvIGdlbmVyYXRlIHdoZW4gTkJCQyBlbmNvdW50ZXJzIGEgW3J1bGVdIHRhZy48L2xpPgoJCTwvdWw+Cgk8L2Rpdj4KPC9kaXY+Cgo8YSBuYW1lPSJyZWZfcGFyc2VyX0dldFJ1bGVIVE1MIj48L2E+CjxkaXYgY2xhc3M9J2FwaSc+Cgk8ZGl2IGNsYXNzPSdhcGlfaGVhZCc+c3RyaW5nIDxiPkJCQ29kZTo6R2V0UnVsZUhUTUw8L2I+ICggKTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2Rlc2NyJz5UaGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIGN1cnJlbnQgSFRNTCBydWxlIG91dHB1dC4KCQlTZWUgPGEgaHJlZj0iYXBpX3JlcGwuaHRtbCNyZWZfcGFyc2VyX1NldFJ1bGVIVE1MIj5TZXRSdWxlSFRNTCgpPC9hPiBmb3IgbW9yZSBkZXRhaWxzLjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlJldHVybiB2YWx1ZXM6PC9iPiAgUmV0dXJucyBhIHN0cmluZyBjb250YWluaW5nIEhUTUwsIHRoZQoJCXNhbWUgSFRNTCBtb3N0LXJlY2VudGx5IGdpdmVuIHRvIDxhIGhyZWY9ImFwaV9yZXBsLmh0bWwjcmVmX3BhcnNlcl9TZXRSdWxlSFRNTCI+U2V0UnVsZUhUTUwoKTwvYT4sCgkJb3IgIjx0dD4mbHQ7aHImbmJzcDsvJmd0OzwvdHQ+IiBpZiBTZXRSdWxlSFRNTCgpIGhhcyBuZXZlciBiZWVuIGNhbGxlZC48L2Rpdj4KPC9kaXY+Cgo8YSBuYW1lPSJyZWZfcGFyc2VyX0dldERlZmF1bHRSdWxlSFRNTCI+PC9hPgo8ZGl2IGNsYXNzPSdhcGknPgoJPGRpdiBjbGFzcz0nYXBpX2hlYWQnPnN0cmluZyA8Yj5CQkNvZGU6OkdldERlZmF1bHRSdWxlSFRNTDwvYj4gKCApPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfZGVzY3InPlRoaXMgZnVuY3Rpb24gcmV0dXJucyB0aGUgZGVmYXVsdCBIVE1MIHJ1bGUgb3V0cHV0IHByb3ZpZGVkIGJ5CgkJdGhlIFN0YW5kYXJkIEJCQ29kZSBMaWJyYXJ5LjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlJldHVybiB2YWx1ZXM6PC9iPiAgQWx3YXlzIHJldHVybnMgIjx0dD4mbHQ7aHImbmJzcDsvJmd0OzwvdHQ+Ii48L2Rpdj4KPC9kaXY+Cgo8YSBuYW1lPSJyZWZfcGFyc2VyX1NldExvY2FsSW1nRGlyIj48L2E+CjxkaXYgY2xhc3M9J2FwaSc+Cgk8ZGl2IGNsYXNzPSdhcGlfaGVhZCc+dm9pZCA8Yj5CQkNvZGU6OlNldExvY2FsSW1nRGlyPC9iPiAoIHN0cmluZyAkPHR0PmZ1bGxwYXRoPC90dD4gKTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2Rlc2NyJz5UaGlzIGZ1bmN0aW9uIHRlbGxzIE5CQkMgd2hlcmUgbG9jYWwgaW1hZ2VzIGFyZSBmb3VuZCwKCQlhcyBhIHBhdGhuYW1lIHJlbGF0aXZlIHRvIHRoZSByb290IG9mIHRoZSBob3N0J3MgZmlsZXN5c3RlbSAoYW4gYWJzb2x1dGUgcGF0aG5hbWUpLgoJCVlvdSBzaG91bGQgdXN1YWxseSB1c2UgYSBmdWxsIGFic29sdXRlIHBhdGhuYW1lIGZvciB0aGlzLCBsaWtlICI8dHQ+L2hvbWUvbGFycnkvd2ViL215aW1hZ2VzPC90dD4iLAoJCWFuZCB5b3Ugc2hvdWxkIDxpPm5vdDwvaT4gaW5jbHVkZSBhIHRyYWlsaW5nIHNsYXNoIG9uIHRoZSBwYXRoLCBhcyBvbmUgd2lsbCBiZSBhcHBlbmRlZAoJCWF1dG9tYXRpY2FsbHkuICBVc2luZyByZWxhdGl2ZSBwYXRobmFtZXMgY2FuIHdvcmssIGJ1dCBtYXkgcHJvZHVjZSBwcm9ibGVtcyBvbiBzb21lCgkJd2ViIHNlcnZlcnMuPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UGFyYW1ldGVyczo8L2I+CgkJPHVsIGNsYXNzPSdhcGlfcGFyYW1zJz4KCQk8bGk+PHR0PjxpPmZ1bGxwYXRoPC9pPjwvdHQ+OiBUaGUgZmlsZXN5c3RlbSBwYXRoIHRvIHlvdXIgbG9jYWwgaW1hZ2UgZGlyZWN0b3J5LjwvbGk+CgkJPC91bD4KCTwvZGl2Pgo8L2Rpdj4KCjxhIG5hbWU9InJlZl9wYXJzZXJfR2V0TG9jYWxJbWdEaXIiPjwvYT4KPGRpdiBjbGFzcz0nYXBpJz4KCTxkaXYgY2xhc3M9J2FwaV9oZWFkJz5zdHJpbmcgPGI+QkJDb2RlOjpHZXRMb2NhbEltZ0RpcjwvYj4gKCApPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfZGVzY3InPlRoaXMgZnVuY3Rpb24gcmV0dXJucyB0aGUgY3VycmVudCBsb2NhbCBpbWFnZSBkaXJlY3RvcnkuCgkJU2VlIDxhIGhyZWY9ImFwaV9yZXBsLmh0bWwjcmVmX3BhcnNlcl9TZXRMb2NhbEltZ0RpciI+U2V0TG9jYWxJbWdEaXIoKTwvYT4gZm9yIG1vcmUgZGV0YWlscy48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5SZXR1cm4gdmFsdWVzOjwvYj4gIFJldHVybnMgdGhlIGN1cnJlbnQgbG9jYWwgaW1hZ2UgZGlyZWN0b3J5LgoJCUlmIG5vIGxvY2FsIGltYWdlIGRpcmVjdG9yeSBoYXMgYmVlbiBzZXQsIHRoaXMgcmV0dXJucyBzaW1wbHkgImltZyIuPC9kaXY+CjwvZGl2PgoKPGEgbmFtZT0icmVmX3BhcnNlcl9HZXREZWZhdWx0TG9jYWxJbWdEaXIiPjwvYT4KPGRpdiBjbGFzcz0nYXBpJz4KCTxkaXYgY2xhc3M9J2FwaV9oZWFkJz5zdHJpbmcgPGI+QkJDb2RlOjpHZXREZWZhdWx0TG9jYWxJbWdEaXI8L2I+ICggKTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2Rlc2NyJz5UaGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIGRlZmF1bHQgbG9jYWwgaW1hZ2UgZGlyZWN0b3J5LjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlJldHVybiB2YWx1ZXM6PC9iPiAgQWx3YXlzIHJldHVybnMgImltZyIuPC9kaXY+CjwvZGl2PgoKPGEgbmFtZT0icmVmX3BhcnNlcl9TZXRMb2NhbEltZ1VSTCI+PC9hPgo8ZGl2IGNsYXNzPSdhcGknPgoJPGRpdiBjbGFzcz0nYXBpX2hlYWQnPnZvaWQgPGI+QkJDb2RlOjpTZXRMb2NhbEltZ1VSTDwvYj4gKCBzdHJpbmcgJDx0dD51cmw8L3R0PiApPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfZGVzY3InPlRoaXMgZnVuY3Rpb24gdGVsbHMgdGhlIGJyb3dzZXIgd2hlcmUgbG9jYWwgaW1hZ2VzIGFyZSBmb3VuZCwKCQlhcyBhbiBhYnNvbHV0ZSBVUkwuICBZb3Ugc2hvdWxkIHVzdWFsbHkgdXNlIGEgZnVsbCBhYnNvbHV0ZSBVUkwgZm9yIHRoaXMsIGxpa2UKCQkiPHR0Pmh0dHA6Ly9sYXJyeS5leGFtcGxlLmNvbS9teWltYWdlczwvdHQ+IiwgYW5kIHlvdSBzaG91bGQgPGk+bm90PC9pPiBpbmNsdWRlIGEKCQl0cmFpbGluZyBzbGFzaCBvbiB0aGUgcGF0aCwgYXMgb25lIHdpbGwgYmUgYXBwZW5kZWQgYXV0b21hdGljYWxseS4gIFVzaW5nIHJlbGF0aXZlCgkJKHNob3J0KSBVUkxzIGNhbiB3b3JrLCBidXQgbWF5IHByb2R1Y2UgcHJvYmxlbXMgd2l0aCBzb21lIHdlYiBicm93c2VycyBpZiBub3QKCQl1c2VkIGNhcmVmdWxseS48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5QYXJhbWV0ZXJzOjwvYj4KCQk8dWwgY2xhc3M9J2FwaV9wYXJhbXMnPgoJCTxsaT48dHQ+PGk+dXJsPC9pPjwvdHQ+OiBUaGUgZnVsbCBVUkwgdG8geW91ciBsb2NhbCBpbWFnZSBkaXJlY3RvcnkuPC9saT4KCQk8L3VsPgoJPC9kaXY+CjwvZGl2PgoKPGEgbmFtZT0icmVmX3BhcnNlcl9HZXRMb2NhbEltZ1VSTCI+PC9hPgo8ZGl2IGNsYXNzPSdhcGknPgoJPGRpdiBjbGFzcz0nYXBpX2hlYWQnPnN0cmluZyA8Yj5CQkNvZGU6OkdldExvY2FsSW1nVVJMPC9iPiAoICk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9kZXNjcic+VGhpcyBmdW5jdGlvbiByZXR1cm5zIHRoZSBjdXJyZW50IGxvY2FsIGltYWdlIFVSTC4KCQlTZWUgPGEgaHJlZj0iYXBpX3JlcGwuaHRtbCNyZWZfcGFyc2VyX1NldExvY2FsSW1nVVJMIj5TZXRMb2NhbEltZ1VSTCgpPC9hPiBmb3IgbW9yZSBkZXRhaWxzLjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlJldHVybiB2YWx1ZXM6PC9iPiAgUmV0dXJucyB0aGUgY3VycmVudCBsb2NhbCBpbWFnZSBVUkwuCgkJSWYgbm8gbG9jYWwgaW1hZ2UgVVJMIGhhcyBiZWVuIHNldCwgdGhpcyByZXR1cm5zIHNpbXBseSAiaW1nIi48L2Rpdj4KPC9kaXY+Cgo8YSBuYW1lPSJyZWZfcGFyc2VyX0dldERlZmF1bHRMb2NhbEltZ1VSTCI+PC9hPgo8ZGl2IGNsYXNzPSdhcGknPgoJPGRpdiBjbGFzcz0nYXBpX2hlYWQnPnN0cmluZyA8Yj5CQkNvZGU6OkdldERlZmF1bHRMb2NhbEltZ1VSTDwvYj4gKCApPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfZGVzY3InPlRoaXMgZnVuY3Rpb24gcmV0dXJucyB0aGUgZGVmYXVsdCBsb2NhbCBpbWFnZSBVUkwuPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UmV0dXJuIHZhbHVlczo8L2I+ICBBbHdheXMgcmV0dXJucyAiaW1nIi48L2Rpdj4KPC9kaXY+Cgo8YSBuYW1lPSJyZWZfcGFyc2VyX0dldFVSTFRhcmdldGFibGUiPjwvYT4KPGRpdiBjbGFzcz0nYXBpJz4KCTxkaXYgY2xhc3M9J2FwaV9oZWFkJz5taXhlZCA8Yj5CQkNvZGU6OkdldFVSTFRhcmdldGFibGU8L2I+ICggKTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2Rlc2NyJz5UaGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIGN1cnJlbnQgc2V0dGluZyBmb3IgdGhlIFVSTC10YXJnZXRhYmxlIHNlY3VyaXR5IGZsYWcuCgkJU2VlIDxhIGhyZWY9ImFwaV9yZXBsLmh0bWwjcmVmX3BhcnNlcl9TZXRVUkxUYXJnZXRhYmxlIj5TZXRVUkxUYXJnZXRhYmxlKCk8L2E+IGZvciBtb3JlIGRldGFpbHMuPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UmV0dXJuIHZhbHVlczo8L2I+ICBUaGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgVVJMLXRhcmdldGFibGUgc2VjdXJpdHkgZmxhZy48L2Rpdj4KPC9kaXY+Cgo8YSBuYW1lPSJyZWZfcGFyc2VyX1NldFVSTFRhcmdldGFibGUiPjwvYT4KPGRpdiBjbGFzcz0nYXBpJz4KCTxkaXYgY2xhc3M9J2FwaV9oZWFkJz52b2lkIDxiPkJCQ29kZTo6U2V0VVJMVGFyZ2V0YWJsZTwvYj4gKCBtaXhlZCAkPHR0PmVuYWJsZWQ8L3R0PiApPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfZGVzY3InPlRoaXMgZnVuY3Rpb24gY2hhbmdlcyB0aGUgVVJMLXRhcmdldGFibGUgc2VjdXJpdHkgZmxhZy48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5QYXJhbWV0ZXJzOjwvYj4KCQk8dWwgY2xhc3M9J2FwaV9wYXJhbXMnPgoJCTxsaT48dHQ+PGk+ZW5hYmxlZDwvaT48L3R0PjogSWYgdHJ1ZSwgdGhlIDx0dD5bdXJsXTwvdHQ+IHRhZyB3aWxsIGFsbG93IFVSTCB0YXJnZXRpbmcuCgkJCUlmIGZhbHNlLCB0aGUgPHR0Plt1cmxdPC90dD4gdGFnIHdpbGwgbm90IGFsbG93IHVzZXItdGFyZ2V0aW5nLiAgSWYgc2V0IHRvCgkJCTx0dD4nb3ZlcnJpZGUnPC90dD4sIGFueSB1c2VyLXN1cHBsaWVkIHRhcmdldCB3aWxsIG92ZXJyaWRlIHRoZSBkZWZhdWx0CgkJCVVSTCB0YXJnZXQuPC9saT4KCQk8L3VsPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mb19ibG9jayc+VGhlIFVSTC10YXJnZXRhYmxlIGZsYWcgY29udHJvbHMgd2hldGhlciB0aGUgPHR0Plt1cmxdPC90dD4gdGFnIGFsbG93cwoJCWFuIGFkZGl0aW9uYWwgPHR0PnRhcmdldD0iIjwvdHQ+IHBhcmFtZXRlciB0aGF0IGNvbnRyb2xzIHdoaWNoIHdpbmRvdyBvciBmcmFtZSB0aGUKCQlsaW5rIHdpbGwgYXBwZWFyIGluLiAgSXQgbWlycm9ycyB0aGUgPHR0PnRhcmdldD0iIjwvdHQ+IHBhcmFtZXRlciB0aGF0IDx0dD4mbHQ7YSZndDs8L3R0PgoJCWVsZW1lbnRzIGhhdmUsIGFuZCBzdXBwb3J0cyBhbGwgdGhlIHNhbWUgdmFsdWVzLiAgQnkgZGVmYXVsdCwgdGhpcyBwYXJhbWV0ZXIgaXMgZGlzYWJsZWQKCQlmb3Igc2VjdXJpdHkgcmVhc29uczogIEluIGNlcnRhaW4gKHJhcmUpIGNpcmN1bXN0YW5jZXMgd2hlcmUgYSB2aXNpdG9yIGhhcyB0aGUgYWJpbGl0eSB0byB3cml0ZQoJCUJCQ29kZSBvbiB5b3VyIHNpdGUsIGl0IGNhbiBiZSBwb3NzaWJsZSB0byB1c2UgdGhlIDx0dD50YXJnZXQ9IiI8L3R0PiBwYXJhbWV0ZXIgdG8gYnlwYXNzCgkJZW5vdWdoIHNlY3VyaXR5IHJlc3RyaWN0aW9ucyB0byBwZXJmb3JtIENTUkYgb3IgWFNTIGF0dGFja3MuICBIb3dldmVyLCBpZiB0aGUgb25seSBwZW9wbGUKCQl3aG8gd2lsbCBiZSB3cml0aW5nIEJCQ29kZSBvbiB5b3VyIHNpdGUgYXJlIHRydXN0ZWQgcGVvcGxlLCB0aGVuIHRoaXMgcGFyYW1ldGVyIGNhbiBiZQoJCXNhZmVseSBlbmFibGVkLjwvZGl2Pgo8L2Rpdj4KCjxhIG5hbWU9InJlZl9wYXJzZXJfR2V0VVJMVGFyZ2V0Ij48L2E+CjxkaXYgY2xhc3M9J2FwaSc+Cgk8ZGl2IGNsYXNzPSdhcGlfaGVhZCc+bWl4ZWQgPGI+QkJDb2RlOjpHZXRVUkxUYXJnZXQ8L2I+ICggKTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2Rlc2NyJz5UaGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIGN1cnJlbnQgc2V0dGluZyBmb3IgdGhlIFVSTCB0YXJnZXQuICBUaGlzIHdpbGwgZWl0aGVyCgkJYmUgPGk+ZmFsc2U8L2k+IG9yIGEgdGFyZ2V0IHN0cmluZy4KCQlTZWUgPGEgaHJlZj0iYXBpX3JlcGwuaHRtbCNyZWZfcGFyc2VyX1NldFVSTFRhcmdldCI+U2V0VVJMVGFyZ2V0KCk8L2E+IGZvciBtb3JlIGRldGFpbHMuPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UmV0dXJuIHZhbHVlczo8L2I+ICBUaGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgVVJMIHRhcmdldC48L2Rpdj4KPC9kaXY+Cgo8YSBuYW1lPSJyZWZfcGFyc2VyX1NldFVSTFRhcmdldCI+PC9hPgo8ZGl2IGNsYXNzPSdhcGknPgoJPGRpdiBjbGFzcz0nYXBpX2hlYWQnPnZvaWQgPGI+QkJDb2RlOjpTZXRVUkxUYXJnZXQ8L2I+ICggbWl4ZWQgJDx0dD5zZXR0aW5nPC90dD4gKTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2Rlc2NyJz5UaGlzIGZ1bmN0aW9uIGNoYW5nZXMgdGhlIFVSTCB0YXJnZXQuPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UGFyYW1ldGVyczo8L2I+CgkJPHVsIGNsYXNzPSdhcGlfcGFyYW1zJz4KCQk8bGk+PHR0PjxpPnNldHRpbmc8L2k+PC90dD46IElmIGZhbHNlLCB0aGUgPHR0Plt1cmxdPC90dD4gdGFnIHdpbGwgZWl0aGVyIGFsbG93CgkJCVVSTCB0YXJnZXRpbmcgKGlmIFVSTCB0YXJnZXRpbmcgaXMgZW5hYmxlZCksIG9yIGl0IHdpbGwgaGF2ZSBubyB0YXJnZXQuICBJZgoJCQk8aT5zZXR0aW5nPC9pPiBpcyBhIHN0cmluZywgdGhhdCBzdHJpbmcgd2lsbCBiZSB1c2VkIGZvciB0aGUgbGluayB0YXJnZXQsCgkJCWFuZCBhbnkgdXNlci1zdXBwbGllZCB0YXJnZXQgd2lsbCBiZSBpZ25vcmVkLjwvbGk+CgkJPC91bD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm9fYmxvY2snPlRoZSBVUkwgdGFyZ2V0IHNldHRpbmcgY29udHJvbHMgd2hldGhlciB0aGUgPHR0Plt1cmxdPC90dD4gdGFnIHdpbGwKCQlwcm9kdWNlIGxpbmtzIHRoYXQgaGF2ZSBhbiBhZGRpdGlvbmFsIDx0dD50YXJnZXQ9IiI8L3R0PiBwYXJhbWV0ZXIgdGhhdCBjb250cm9scyB3aGljaAoJCXdpbmRvdyBvciBmcmFtZSB0aGUgbGluayB3aWxsIGFwcGVhciBpbi4gIEJ5IGRlZmF1bHQsIHRoaXMgaXMgZGlzYWJsZWQgKDxpPmZhbHNlPC9pPiksCgkJYWxsb3dpbmcgbGlua3MgdG8gZWl0aGVyIG9wZW4gaW4gdGhlIGN1cnJlbnQgd2luZG93LCBvciBpbiBhIHVzZXItY2hvc2VuIHdpbmRvdyAoaWYgdGhlCgkJVVJMLXRhcmdldGFibGUgZmxhZyBpcyBzZXQpLiAgQnkgc2V0dGluZyB0aGlzLCBob3dldmVyLCB5b3UgY2FuIGZvcmNlIGFsbCBsaW5rcyB0byBvcGVuIGluCgkJdGhlIHdpbmRvdyBvZiB5b3VyIGNob2ljZSwgYmUgaXQgIl9ibGFuayIgb3Igc29tZSBzcGVjaWZpYyBjdXN0b20gd2luZG93LjwvZGl2Pgo8L2Rpdj4KCjxwIHN0eWxlPSd0ZXh0LWFsaWduOnJpZ2h0Oyc+WyBQcmV2aW91czogPGEgaHJlZj0iYXBpX3NtaWxleS5odG1sIj5ILiBTbWlsZXkgRnVuY3Rpb25zPC9hPiB8IE5leHQ6IDxhIGhyZWY9ImFwaV9taXNjLmh0bWwiPkouIE1pc2NlbGxhbmVvdXMgU3VwcG9ydCBGdW5jdGlvbnM8L2E+IF08L3A+Cgo8aHIgLz4KCjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+Q29weXJpZ2h0ICZjb3B5OyAyMDEwLCB0aGUgUGhhbnRvbSBJbmtlci4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9kaXY+Cgo8L2Rpdj48L2Rpdj48L2Rpdj4KCjwvYm9keT4KCjwvaHRtbD4K]]></data>
	</file>
	<file>
	  <filename>/docs/doc/api_root.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWw6bGFuZz0iZW4iIGxhbmc9ImVuIj4KCjxoZWFkPgo8dGl0bGU+Um9vdC1DbGFzcyBGdW5jdGlvbnMgLSBOQkJDOiBUaGUgTmV3IEJCQ29kZSBQYXJzZXI8L3RpdGxlPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz4KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyB0eXBlPSd0ZXh0L2NzcycgaHJlZj0nc3R5bGVzLmNzcycgLz4KPC9oZWFkPgoKPGJvZHk+Cgo8ZGl2IGFsaWduPSdjZW50ZXInPjxkaXYgY2xhc3M9J3BhZ2VfY29udGFpbmVyMic+PGRpdiBjbGFzcz0ncGFnZV9jb250YWluZXInPgoKPGgyPklWLiBBUEkgUmVmZXJlbmNlPC9oMj4KCjxwIHN0eWxlPSd0ZXh0LWFsaWduOnJpZ2h0O21hcmdpbjowOyc+WyBQcmV2aW91czogPGEgaHJlZj0iYXBpX3RyaW0uaHRtbCI+RC4gQ29udGVudC1UcmltbWluZyBGdW5jdGlvbnM8L2E+IHwgTmV4dDogPGEgaHJlZj0iYXBpX3J1bGUuaHRtbCI+Ri4gUnVsZSBGdW5jdGlvbnM8L2E+IF08L3A+Cgo8aDM+RS4gUm9vdC1DbGFzcyBGdW5jdGlvbnM8L2gzPgoKPGEgbmFtZT0icmVmX3BhcnNlcl9TZXRSb290SW5saW5lIj48L2E+CjxkaXYgY2xhc3M9J2FwaSc+Cgk8ZGl2IGNsYXNzPSdhcGlfaGVhZCc+dm9pZCA8Yj5CQkNvZGU6OlNldFJvb3RJbmxpbmU8L2I+ICggKTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2Rlc2NyJz5UaGlzIGZ1bmN0aW9uIHRlbGxzIE5CQkMgdGhhdCB0aGUgQkJDb2RlIGNvbnRlbnQgdG8gYmUgZm9ybWF0dGVkCgkJaXMgPGk+aW5saW5lPC9pPiBjb250ZW50IC0tLSBpdCdzIHBhcnQgb2YgYW5vdGhlciBwYXJhZ3JhcGggLS0tIHdoaWNoIG1lYW5zIGl0IGNhbm5vdAoJCWNvbnRhaW4gYmxvY2sgZm9ybWF0dGluZyB0YWdzIHN1Y2ggYXMgPHR0PltjZW50ZXJdPC90dD4gYW5kIDx0dD5bY29sdW1uc108L3R0PiBhbmQKCQk8dHQ+W3F1b3RlXTwvdHQ+IGFuZCA8dHQ+W2NvZGVdPC90dD4uICBBbnkgYXR0ZW1wdHMgdG8gdXNlIHRob3NlIHRhZ3Mgd2lsbCByZXN1bHQKCQlpbiB0aGVtIGFwcGVhcmluZyB2ZXJiYXRpbSwgYXMgaWYgdGhleSB3ZXJlIG5vdCByZWdpc3RlcmVkIHJ1bGVzIG9yIHRhZ3MgYXQgYWxsLgoJCVRoaXMgPGk+aW5saW5lIG1vZGU8L2k+IGlzIG1vc3QgdXNlZnVsIHdoZW4geW91IGhhdmUgY29udGVudCB0aGF0IG11c3QgYmUgam9pbmVkIHRvCgkJb3RoZXIgcHJlLWV4aXN0aW5nIGNvbnRlbnQuPGJyIC8+CgkJPGJyIC8+CgkJQXMgYWx3YXlzLCB3aGV0aGVyIGluIDxpPmlubGluZSBtb2RlPC9pPiBvciBpbiA8aT5ibG9jayBtb2RlPC9pPiwgTkJCQyBkb2VzIDxpPm5vdDwvaT4KCQl3cmFwIHRoZSBvdXRwdXQgaW4gYW4gSFRNTCBlbGVtZW50IG9mIGFueSBraW5kOiAgR2VuZXJhbGx5LCB5b3Ugd2lsbCB3YW50IHRvIHdyYXAKCQl0aGUgb3V0cHV0IGluIGEgJmx0O3NwYW4mZ3Q7IGVsZW1lbnQgKHdoZW4gaW5saW5lIG1vZGUgaXMgYWN0aXZlKSwgYnV0IHlvdSBkbyBub3QKCQloYXZlIHRvIGlmIHRoYXQgZG9lc24ndCBmaXQgeW91ciBuZWVkcy48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5QYXJhbWV0ZXJzOjwvYj4gIE5vbmUuPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UmV0dXJuIFZhbHVlOjwvYj4gIE5vbmUuPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mb19ibG9jayc+CgkJPGRpdiBjbGFzcz0nYXBpX2luZm9fYmxvY2tfaGVhZGVyJz5Ob3Rlczo8L2Rpdj4KCQkKCQlUaGUgYmVzdCB3YXkgdG8gdW5kZXJzdGFuZCB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSByb290IGNsYXNzIGJlaW5nICI8dHQ+aW5saW5lPC90dD4iCgkJYW5kIHRoZSByb290IGNsYXNzIGJlaW5nICI8dHQ+YmxvY2s8L3R0PiIgaXMgdG8gc2VlIGFuIGV4YW1wbGUuICBDb25zaWRlciB0aGUgQkJDb2RlCgkJYmVsb3c6CgkJPGRpdiBzdHlsZT0nbWFyZ2luLWxlZnQ6IDJlbTsnPgoJCQk8ZGl2IGNsYXNzPSdjb2RlX2hlYWRlcic+Q29kZTo8L2Rpdj4KCQkJPHhtcCBjbGFzcz0nY29kZSc+W2NlbnRlcl1UaGlzIGlzIGEgW2lddGVzdFsvaV0uWy9jZW50ZXJdPC94bXA+CgkJPC9kaXY+CgkJSW4gYmxvY2sgbW9kZSwgdGhpcyBCQkNvZGUgd291bGQgYmUgY29udmVydGVkIHRvOgoJCTxkaXYgc3R5bGU9J21hcmdpbi1sZWZ0OiAyZW07Jz4KCQkJPGRpdiBjbGFzcz0nb3V0cHV0X2hlYWRlcic+T3V0cHV0OjwvZGl2PgoJCQk8ZGl2IGNsYXNzPSdvdXRwdXQnPiZsdDtkaXYgc3R5bGU9InRleHQtYWxpZ246Y2VudGVyIiZndDtUaGlzIGlzIGEgJmx0O2kmZ3Q7dGVzdCZsdDsvaSZndDsuJmx0Oy9kaXYmZ3Q7PC9kaXY+CgkJPC9kaXY+CgkJQnV0IGluIGlubGluZSBtb2RlLCB0aGlzIHNhbWUgQkJDb2RlIHdvdWxkIGJlIGNvbnZlcnRlZCB0byB0aGlzIGluc3RlYWQ6CgkJPGRpdiBzdHlsZT0nbWFyZ2luLWxlZnQ6IDJlbTsnPgoJCQk8ZGl2IGNsYXNzPSdvdXRwdXRfaGVhZGVyJz5PdXRwdXQ6PC9kaXY+CgkJCTxkaXYgY2xhc3M9J291dHB1dCc+W2NlbnRlcl1UaGlzIGlzIGEgJmx0O2kmZ3Q7dGVzdCZsdDsvaSZndDsuWy9jZW50ZXJdPC9kaXY+CgkJPC9kaXY+CgkJTm90aWNlIHRoYXQgaW4gaW5saW5lIG1vZGUsIE5CQkMgcmVmdXNlcyB0byBnZW5lcmF0ZSAmbHQ7ZGl2Jmd0OyB0YWdzIGluIHRoZSBvdXRwdXQ7CgkJdGhpcyBpcyBiZWNhdXNlIGlubGluZSBtb2RlIG1lYW5zIHRoYXQgeW91IGludGVuZCB0byBwdXQgdGhlIGNvbnRlbnQgaW5zaWRlIGEKCQkmbHQ7c3BhbiZndDsgb3IgZXF1aXZhbGVudCBlbGVtZW50LCBhbmQgJmx0O2RpdiZndDsgaXMgaWxsZWdhbCBpbnNpZGUgJmx0O3NwYW4mZ3Q7LAoJCXNvIGFsbCB0YWdzIHRoYXQgbWlnaHQgcmVxdWlyZSAmbHQ7ZGl2Jmd0OyBvciBzaW1pbGFyIGJsb2NrIGxheW91dHMgYmVjb21lIGZvcmJpZGRlbjoKCQlJbiBzaG9ydCwgb25seSB0ZXh0LXN0eWxlIHRhZ3MgbGlrZSBbaV0gYW5kIFtiXSBhbmQgW2ZvbnRdLCBhbmQgbGluayB0YWdzIGxpa2UKCQlbdXJsXSBhbmQgW3dpa2ldLCBhbmQgW2ltZ10gdGFncyAoYW5kIHNtaWxleXMhKSAtLS0gdGFncyB0aGF0IGFmZmVjdCB0aGUgY3VycmVudAoJCWxpbmUgb2YgdGV4dCBidXQgdGhhdCBkb24ndCBzdGFydCBhIG5ldyBvbmUgLS0tIGFyZSBhbGxvd2VkIGluIGlubGluZSBtb2RlLCB3aGlsZQoJCWFsbCB0YWdzIGFyZSBhbGxvd2VkIGluIGJsb2NrIG1vZGUuCgk8L2Rpdj4KPC9kaXY+Cgo8YSBuYW1lPSJyZWZfcGFyc2VyX1NldFJvb3RCbG9jayI+PC9hPgo8ZGl2IGNsYXNzPSdhcGknPgoJPGRpdiBjbGFzcz0nYXBpX2hlYWQnPnZvaWQgPGI+QkJDb2RlOjpTZXRSb290QmxvY2s8L2I+ICggKTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2Rlc2NyJz5UaGlzIGZ1bmN0aW9uIHRlbGxzIE5CQkMgdGhhdCB0aGUgQkJDb2RlIGNvbnRlbnQgdG8gYmUgZm9ybWF0dGVkCgkJaXMgPGk+YmxvY2s8L2k+IGNvbnRlbnQgLS0tIGl0J3MgPGk+bm90PC9pPiBwYXJ0IG9mIGFub3RoZXIgcGFyYWdyYXBoLCBhbmQgbGlrZWx5CgkJd2lsbCBiZSB3cmFwcGVkIGluIGl0cyBvd24gJmx0O2RpdiZndDsgZWxlbWVudCBieSB0aGUgY2FsbGVyLiAgSW4gPGk+YmxvY2sgbW9kZTwvaT4sCgkJYWxsIEJCQ29kZSB0YWdzIGFyZSBsZWdhbCAoY29udHJhc3QgdGhpcyB3aXRoIDxpPjxhIGhyZWY9IiNyZWZfcGFyc2VyX1NldFJvb3RJbmxpbmUiPmlubGluZSBtb2RlPC9hPjwvaT4KCQl3aGVyZSBvbmx5IHRleHQtc3R5bGUgdGFncywgbGluayB0YWdzLCBhbmQgaW1hZ2VzIGFyZSBsZWdhbCkuPGJyIC8+CgkJPGJyIC8+CgkJTm90ZSB0aGF0IGV2ZW4gaW4gYmxvY2sgbW9kZSwgeW91IGNhbm5vdCAoc2hvdWxkIG5vdCkgd3JhcCB0aGUgb3V0cHV0IGluc2lkZSBhbgoJCUhUTUwgJmx0O3AmZ3Q7IGVsZW1lbnQsIGJlY2F1c2UgJmx0O3AmZ3Q7IGlzIGFjdHVhbGx5IHZlcnkgcmVzdHJpY3RlZCBpbiB0aGUga2luZHMgb2YKCQljb250ZW50IGl0IGNhbiBjb250YWluOiAgRm9yIGV4YW1wbGUsIHRoZSAmbHQ7dGFibGUmZ3Q7IGVsZW1lbnQgdXNlZCBieSBOQkJDIHRvCgkJY3JlYXRlIGNvbHVtbnMgaXMgaWxsZWdhbCBpbnNpZGUgYSAmbHQ7cCZndDsgZWxlbWVudC4gIFNvIGlmIHlvdSBuZWVkIHRvIHdyYXAgeW91cgoJCW91dHB1dCBpbiBhIHNpbmdsZSBIVE1MIGVsZW1lbnQsIHlvdSBzaG91bGQgdXNlIGEgJmx0O2RpdiZndDsgZWxlbWVudC48YnIgLz4KCQk8YnIgLz4KCQlBcyBhbHdheXMsIHdoZXRoZXIgaW4gPGk+aW5saW5lIG1vZGU8L2k+IG9yIGluIDxpPmJsb2NrIG1vZGU8L2k+LCBOQkJDIGRvZXMgPGk+bm90PC9pPgoJCXdyYXAgdGhlIG91dHB1dCBpbiBhbiBIVE1MIGVsZW1lbnQgb2YgYW55IGtpbmQ6ICBHZW5lcmFsbHksIHlvdSB3aWxsIHdhbnQgdG8gd3JhcAoJCXRoZSBvdXRwdXQgaW4gYSAmbHQ7ZGl2Jmd0OyBlbGVtZW50ICh3aGVuIGJsb2NrIG1vZGUgaXMgYWN0aXZlKSwgYnV0IHlvdSBkbyBub3QKCQloYXZlIHRvIGlmIHRoYXQgZG9lc24ndCBmaXQgeW91ciBuZWVkcy48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5QYXJhbWV0ZXJzOjwvYj4gIE5vbmUuPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UmV0dXJuIFZhbHVlOjwvYj4gIE5vbmUuPC9kaXY+CjwvZGl2PgoKPGEgbmFtZT0icmVmX3BhcnNlcl9TZXRSb290Ij48L2E+CjxkaXYgY2xhc3M9J2FwaSc+Cgk8ZGl2IGNsYXNzPSdhcGlfaGVhZCc+dm9pZCA8Yj5CQkNvZGU6OlNldFJvb3Q8L2I+ICggc3RyaW5nICQ8dHQ+Y2xhc3M8L3R0PiApPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfZGVzY3InPlRoaXMgZnVuY3Rpb24gY29udHJvbHMgdGhlIHJvb3QgY2xhc3MgTkJCQyB1c2VzLiAgVGhlIGNsYXNzZXMKCQlOQkJDIG5vcm1hbGx5IHVzZXMgZm9yIHJvb3QgY2xhc3NlcyBhcmUgIjx0dD5ibG9jazwvdHQ+IiBhbmQgIjx0dD5pbmxpbmU8L3R0PiIsCgkJYnV0IGlmIHlvdSBjcmVhdGUgbmV3IGNsYXNzZXMsIHlvdSBjYW4gdGVsbCBOQkJDIHRvIHN0YXJ0IHdpdGggb25lIG9mIHRob3NlCgkJaW5zdGVhZCB1c2luZyB0aGlzIGZ1bmN0aW9uLjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlBhcmFtZXRlcnM6PC9iPgoJCTx1bD4KCQk8bGk+PGk+Y2xhc3M8L2k+OiAgQSBjbGFzc25hbWUgdG8gdXNlIGFzIHRoZSByb290IGNsYXNzLiAgU2VlIHRoZSBhcHBlbmRpeCBvbgoJCQk8YSBocmVmPSJhcHBfY2xhc3MuaHRtbCI+Y29udGVudCBjbGFzc2VzPC9hPiBmb3IgbW9yZSBkZXRhaWxzLjwvbGk+CgkJPC91bD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlJldHVybiBWYWx1ZTo8L2I+ICBOb25lLjwvZGl2Pgo8L2Rpdj4KCjxhIG5hbWU9InJlZl9wYXJzZXJfR2V0Um9vdCI+PC9hPgo8ZGl2IGNsYXNzPSdhcGknPgoJPGRpdiBjbGFzcz0nYXBpX2hlYWQnPnN0cmluZyA8Yj5CQkNvZGU6OkdldFJvb3Q8L2I+ICggKTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2Rlc2NyJz5UaGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIGN1cnJlbnRseS1zZWxlY3RlZCByb290IGNsYXNzLCB1c3VhbGx5CgkJZWl0aGVyICI8dHQ+YmxvY2s8L3R0PiIgb3IgIjx0dD5pbmxpbmU8L3R0PiIuICBTZWUKCQk8YSBocmVmPSJhcGlfcm9vdC5odG1sI3JlZl9wYXJzZXJfU2V0Um9vdElubGluZSI+U2V0Um9vdElubGluZSgpPC9hPiwKCQk8YSBocmVmPSJhcGlfcm9vdC5odG1sI3JlZl9wYXJzZXJfU2V0Um9vdEJsb2NrIj5TZXRSb290QmxvY2soKTwvYT4sCgkJb3IgPGEgaHJlZj0iYXBpX3Jvb3QuaHRtbCNyZWZfcGFyc2VyX1NldFJvb3QiPlNldFJvb3QoKTwvYT4gZm9yIG1vcmUgZGV0YWlscy48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5SZXR1cm4gdmFsdWVzOjwvYj4gIFRoZSBjdXJyZW50bHktc2VsZWN0ZWQgcm9vdCBjbGFzcy48L2Rpdj4KPC9kaXY+Cgo8cCBzdHlsZT0ndGV4dC1hbGlnbjpyaWdodDsnPlsgUHJldmlvdXM6IDxhIGhyZWY9ImFwaV90cmltLmh0bWwiPkQuIENvbnRlbnQtVHJpbW1pbmcgRnVuY3Rpb25zPC9hPiB8IE5leHQ6IDxhIGhyZWY9ImFwaV9ydWxlLmh0bWwiPkYuIFJ1bGUgRnVuY3Rpb25zPC9hPiBdPC9wPgoKPGhyIC8+Cgo8ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPkNvcHlyaWdodCAmY29weTsgMjAxMCwgdGhlIFBoYW50b20gSW5rZXIuICBBbGwgcmlnaHRzIHJlc2VydmVkLjwvZGl2PgoKPC9kaXY+PC9kaXY+PC9kaXY+Cgo8L2JvZHk+Cgo8L2h0bWw+Cg==]]></data>
	</file>
	<file>
	  <filename>/docs/doc/api_rule.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWw6bGFuZz0iZW4iIGxhbmc9ImVuIj4KCjxoZWFkPgo8dGl0bGU+UnVsZSBGdW5jdGlvbnMgLSBOQkJDOiBUaGUgTmV3IEJCQ29kZSBQYXJzZXI8L3RpdGxlPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz4KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyB0eXBlPSd0ZXh0L2NzcycgaHJlZj0nc3R5bGVzLmNzcycgLz4KPC9oZWFkPgoKPGJvZHk+Cgo8ZGl2IGFsaWduPSdjZW50ZXInPjxkaXYgY2xhc3M9J3BhZ2VfY29udGFpbmVyMic+PGRpdiBjbGFzcz0ncGFnZV9jb250YWluZXInPgoKPGgyPklWLiBBUEkgUmVmZXJlbmNlPC9oMj4KCjxwIHN0eWxlPSd0ZXh0LWFsaWduOnJpZ2h0O21hcmdpbjowOyc+WyBQcmV2aW91czogPGEgaHJlZj0iYXBpX3Jvb3QuaHRtbCI+RS4gUm9vdC1DbGFzcyBGdW5jdGlvbnM8L2E+IHwgTmV4dDogPGEgaHJlZj0iYXBpX3dpa2kuaHRtbCI+Ry4gV2lraS1MaW5rIEZ1bmN0aW9uczwvYT4gXTwvcD4KCjxoMz5GLiBSdWxlIEZ1bmN0aW9uczwvaDM+Cgo8YSBuYW1lPSJyZWZfcGFyc2VyX0FkZFJ1bGUiPjwvYT4KPGRpdiBjbGFzcz0nYXBpJz4KCTxkaXYgY2xhc3M9J2FwaV9oZWFkJz52b2lkIDxiPkJCQ29kZTo6QWRkUnVsZTwvYj4gKCBzdHJpbmcgJDx0dD5uYW1lPC90dD4gLCBhcnJheSAkPHR0PnBhcmFtczwvdHQ+ICk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9kZXNjcic+VGhpcyBmdW5jdGlvbiBhZGRzIGEgbmV3IHRhZyBydWxlLiAgVGFnIHJ1bGVzIGNvbnRyb2wgdGhlIHByb2Nlc3Npbmcgb2YKCQlCQkNvZGUgW3RhZ3NdOyB3aXRoIHRoZSBjb3JyZWN0IHJ1bGUgZGVmaW5pdGlvbiwgeW91IGNhbiBtYWtlIGEgdGFnIGRvIGp1c3QgYWJvdXQgYW55dGhpbmcKCQl5b3UgY2FuIHRoaW5rIG9mLiAgVG8gYWRkIGEgcnVsZSBmb3IgYSBnaXZlbiB0YWcsIGNhbGwgQWRkUnVsZSgpIGFuZCBwcm92aWRlIHRoZSBuYW1lIG9mCgkJdGhlIHRhZyBydWxlIHlvdSB3aXNoIHRvIGFkZCBvciByZXBsYWNlLCBhbmQgYW4gYXJyYXkgY29udGFpbmluZwoJCTxhIGhyZWY9ImFwcF9ydWxlLmh0bWwiPnJ1bGUgcGFyYW1ldGVyczwvYT4gdGhhdCBkZWZpbmVzIHdoYXQgTkJCQyBzaG91bGQgZG8gd2hlbiBpdCBzZWVzCgkJdGhhdCB0YWcuICBBbnkgb2xkIHJ1bGUgcGFyYW1ldGVycyBkZWZpbmVkIGZvciB0aGF0IHRhZyB3aWxsIGJlIHJlbW92ZWQgYnkgdGhpcyBmdW5jdGlvbiwKCQlzbyB0aGlzIGNhbiBhbHNvIHJlcGxhY2UgdGFnIHJ1bGVzIGFzIHdlbGwgYXMgYWRkaW5nIG5ldyBydWxlcy48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5QYXJhbWV0ZXJzOjwvYj4KCQk8dWw+CgkJPGxpPjxpPm5hbWU8L2k+OiBUaGUgbmFtZSBvZiBhIHRhZyB5b3Ugd2lzaCB0byBhZGQgb3IgcmVwbGFjZSwgbGlrZSAiPHR0PmI8L3R0PiIgb3IKCQkJIjx0dD51cmw8L3R0PiIgb3IgIjx0dD5sYXJyeTwvdHQ+Ii4gIE5lYXJseSBhbnkgbmFtZSBpcyBhbGxvd2VkOyBob3dldmVyLCB0aGUgbmFtZSBtYXkgbm90IGluY2x1ZGUKCQkJdGhlIGZvbGxvd2luZyBjaGFyYWN0ZXJzOiAgJ1snLCAnXScsICc9Jywgb3IgYW55IHdoaXRlc3BhY2UgY2hhcmFjdGVyLjwvbGk+CgkJPGxpPjxpPnBhcmFtczwvaT46ICBBbiBhcnJheSBvZiA8YSBocmVmPSJhcHBfcnVsZS5odG1sIj5ydWxlIHBhcmFtZXRlcnM8L2E+IGRlZmluaW5nCgkJCXdoYXQgTkJCQyBzaG91bGQgZG8gd2hlbiBpdCBwcm9jZXNzZXMgdGhpcyB0YWcuPC9saT4KCQk8L3VsPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UmV0dXJuIFZhbHVlOjwvYj4gIE5vbmUuPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mb19ibG9jayc+CgkJKFRoZSB1c2VyJ3MgbWFudWFsLCBzZWN0aW9ucyA8YSBocmVmPSJ1c2FnZV9hZGQuaHRtbCI+SUlJLkM8L2E+IHRocm91Z2gKCQk8YSBocmVmPSJ1c2FnZV9jYWxsLmh0bWwiPklJSS5GPC9hPiBhcyB3ZWxsIGFzIDxhIGhyZWY9ImFwcF9ydWxlLmh0bWwiPmFwcGVuZGl4IEI8L2E+CgkJYW5kIDxhIGhyZWY9ImFwcF9ydWxlLmh0bWwiPmFwcGVuZGl4IEU8L2E+LCBjb250YWlucyBleHRlbnNpdmUgZG9jdW1lbnRhdGlvbiBvbgoJCXVzaW5nIHRoaXMgZnVuY3Rpb24sIHNvIHRoYXQgaW5mb3JtYXRpb24gd2lsbCBub3QgYmUgcmVwZWF0ZWQgaGVyZS4pCgk8L2Rpdj4KPC9kaXY+Cgo8YSBuYW1lPSJyZWZfcGFyc2VyX1JlbW92ZVJ1bGUiPjwvYT4KPGRpdiBjbGFzcz0nYXBpJz4KCTxkaXYgY2xhc3M9J2FwaV9oZWFkJz52b2lkIDxiPkJCQ29kZTo6UmVtb3ZlUnVsZTwvYj4gKCBzdHJpbmcgJDx0dD5uYW1lPC90dD4gKTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2Rlc2NyJz5UaGlzIGZ1bmN0aW9uIHVuLWRlZmluZXMgdGhlIGN1cnJlbnQgcnVsZSBmb3IgdGhlIGdpdmVuIHRhZyAtLS0gaW4gc2hvcnQsCgkJdGhpcyBjYXVzZXMgTkJCQyB0byBzdG9wIHJlY29nbml6aW5nIHRoZSBnaXZlbiB0YWcgYXMgYSB0YWcuPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UGFyYW1ldGVyczo8L2I+CgkJPHVsPgoJCTxsaT48aT5uYW1lPC9pPjogVGhlIG5hbWUgb2YgYSB0YWcgdG8gcmVtb3ZlIGZyb20gdGhlIHJ1bGVzZXQuPC9saT4KCQk8L3VsPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UmV0dXJuIFZhbHVlOjwvYj4gIE5vbmUuPC9kaXY+CjwvZGl2PgoKPGEgbmFtZT0icmVmX3BhcnNlcl9HZXRSdWxlIj48L2E+CjxkaXYgY2xhc3M9J2FwaSc+Cgk8ZGl2IGNsYXNzPSdhcGlfaGVhZCc+YXJyYXkgPGI+QkJDb2RlOjpHZXRSdWxlPC9iPiAoIHN0cmluZyAkPHR0Pm5hbWU8L3R0PiApPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfZGVzY3InPlRoaXMgZnVuY3Rpb24gcmV0dXJucyB0aGUgPGEgaHJlZj0iYXBwX3J1bGUuaHRtbCI+cGFyYW1ldGVyIGFycmF5PC9hPiBmb3IgYSBnaXZlbiB0YWcsCgkJYnkgbmFtZSwgdGhlIHNhbWUgYXJyYXkgYXMgd2FzIG1vc3QgcmVjZW50bHkgZ2l2ZW4gdG8gPGEgaHJlZj0iYXBpX3Jvb3QuaHRtbCNyZWZfcGFyc2VyX0FkZFJ1bGUiPkFkZFJ1bGUoKTwvYT4KCQlmb3IgdGhhdCBzYW1lIHRhZyBuYW1lLjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlBhcmFtZXRlcnM6PC9iPgoJCTx1bD4KCQk8bGk+PGk+bmFtZTwvaT46IFRoZSBuYW1lIG9mIHRoZSB0YWcgd2hvc2UgcGFyYW1ldGVycyB5b3UnZCBsaWtlIHRvIHJldHJpZXZlLjwvbGk+CgkJPC91bD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlJldHVybiB2YWx1ZXM6PC9iPiAgVGhlIHBhcmFtZXRlciBhcnJheSBmb3IgdGhlIGdpdmVuIHRhZywgaWYgdGhlIHRhZwoJCWhhcyBhIHJ1bGU7IGlmIGl0IGRvZXMgbm90LCB0aGUgcmV0dXJuIHZhbHVlIGlzIDx0dD5mYWxzZTwvdHQ+LjwvZGl2Pgo8L2Rpdj4KCjxhIG5hbWU9InJlZl9wYXJzZXJfQ2xlYXJSdWxlcyI+PC9hPgo8ZGl2IGNsYXNzPSdhcGknPgoJPGRpdiBjbGFzcz0nYXBpX2hlYWQnPnZvaWQgPGI+QkJDb2RlOjpDbGVhclJ1bGVzPC9iPiAoICk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9kZXNjcic+VGhpcyBmdW5jdGlvbiByZW1vdmVzIDxpPmFsbDwvaT4gcnVsZXMgY3VycmVudGx5IGFzc29jaWF0ZWQgd2l0aCB0aGlzCgkJQkJDb2RlIG9iamVjdCwgYWZ0ZXIgd2hpY2ggdGhlIEJCQ29kZSBvYmplY3Qgd2lsbCBoYXZlIG5vIHJ1bGVzIGRlZmluZWQgYXQgYWxsLiAgVGhpcwoJCWlzIHVzZWZ1bCBpZiB5b3Ugd2FudCB0byByZXBsYWNlIHRoZSBkZWZhdWx0IHJ1bGVzZXQgZW50aXJlbHkgd2l0aCB5b3VyIG93biBjdXN0b20gcnVsZXNldC48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5QYXJhbWV0ZXJzOjwvYj4gIE5vbmUuPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UmV0dXJuIFZhbHVlOjwvYj4gIE5vbmUuPC9kaXY+CjwvZGl2PgoKPGEgbmFtZT0icmVmX3BhcnNlcl9HZXREZWZhdWx0UnVsZSI+PC9hPgo8ZGl2IGNsYXNzPSdhcGknPgoJPGRpdiBjbGFzcz0nYXBpX2hlYWQnPmFycmF5IDxiPkJCQ29kZTo6R2V0RGVmYXVsdFJ1bGU8L2I+ICggc3RyaW5nICQ8dHQ+bmFtZTwvdHQ+ICk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9kZXNjcic+VGhpcyBmdW5jdGlvbiByZXR1cm5zIHRoZSBkZWZhdWx0IDxhIGhyZWY9ImFwcF9ydWxlLmh0bWwiPnBhcmFtZXRlciBhcnJheTwvYT4KCQlmb3IgYSBnaXZlbiB0YWcsIGJ5IG5hbWUsIHRoZSBzYW1lIGFycmF5IHRoYXQgd291bGQgYmUgdXNlZCBieSBhIG5ld2x5LWNvbnN0cnVjdGVkIEJCQ29kZSBvYmplY3QuCgkJVGhpcyBwcm92aWRlcyB5b3Ugd2l0aCBhbiBlYXN5IHdheSB0byBsb29rIHVwIGEgcnVsZSBwcm92aWRlZCBieSB0aGUgPGEgaHJlZj0iYmJjLmh0bWwiPlN0YW5kYXJkIEJCQ29kZSBMaWJyYXJ5PC9hPi48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5QYXJhbWV0ZXJzOjwvYj4KCQk8dWw+CgkJPGxpPjxpPm5hbWU8L2k+OiBUaGUgbmFtZSBvZiB0aGUgdGFnIHdob3NlIHBhcmFtZXRlcnMgeW91J2QgbGlrZSB0byByZXRyaWV2ZS48L2xpPgoJCTwvdWw+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5SZXR1cm4gdmFsdWVzOjwvYj4gIFRoZSBTdGFuZGFyZCBCQkNvZGUgTGlicmFyeSdzIHBhcmFtZXRlciBhcnJheSBmb3IgdGhlCgkJZ2l2ZW4gdGFnLCBpZiB0aGUgdGFnIGhhcyBhIHJ1bGU7IGlmIGl0IGRvZXMgbm90LCB0aGUgcmV0dXJuIHZhbHVlIGlzIDx0dD5mYWxzZTwvdHQ+LjwvZGl2Pgo8L2Rpdj4KCjxhIG5hbWU9InJlZl9wYXJzZXJfU2V0RGVmYXVsdFJ1bGUiPjwvYT4KPGRpdiBjbGFzcz0nYXBpJz4KCTxkaXYgY2xhc3M9J2FwaV9oZWFkJz52b2lkIDxiPkJCQ29kZTo6U2V0RGVmYXVsdFJ1bGU8L2I+ICggc3RyaW5nICQ8dHQ+bmFtZTwvdHQ+ICk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9kZXNjcic+VGhpcyBmdW5jdGlvbiBjaGFuZ2VzIHRoZSA8YSBocmVmPSJhcHBfcnVsZS5odG1sIj5wYXJhbWV0ZXIgYXJyYXk8L2E+CgkJZm9yIGEgZ2l2ZW4gdGFnLCBieSBuYW1lLCB0byB0aGUgc2FtZSBhcnJheSB0aGF0IHdvdWxkIGJlIHVzZWQgYnkgYSBuZXdseS1jb25zdHJ1Y3RlZCBCQkNvZGUgb2JqZWN0LAoJCXRoZSBzYW1lIGFycmF5IHRoYXQgd291bGQgYmUgcmV0dXJuZWQgYnkgPGEgaHJlZj0iI3JlZl9wYXJzZXJfR2V0RGVmYXVsdFJ1bGUiPkdldERlZmF1bHRSdWxlKCk8L2E+LjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlBhcmFtZXRlcnM6PC9iPgoJCTx1bD4KCQk8bGk+PGk+bmFtZTwvaT46IFRoZSBuYW1lIG9mIHRoZSB0YWcgd2hvc2UgcnVsZSB5b3UnZCBsaWtlIHRvIHJldmVydCB0byBpdHMgZGVmYXVsdCBzZXR0aW5nLjwvbGk+CgkJPC91bD4KCTwvZGl2Pgo8L2Rpdj4KCjxhIG5hbWU9InJlZl9wYXJzZXJfR2V0RGVmYXVsdFJ1bGVzIj48L2E+CjxkaXYgY2xhc3M9J2FwaSc+Cgk8ZGl2IGNsYXNzPSdhcGlfaGVhZCc+YXJyYXkgPGI+QkJDb2RlOjpHZXREZWZhdWx0UnVsZXM8L2I+ICggKTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2Rlc2NyJz5UaGlzIGZ1bmN0aW9uIHJldHVybnMgYSBrZXkgPSZndDsgdmFsdWUgYXJyYXkgdGhhdCBjb250YWlucyA8aT5hbGw8L2k+CgkJb2YgdGhlIGRlZmF1bHQgcnVsZXMgLS0tIGFsbCBvZiB0aGUgcnVsZXMgZm9yIHRoZSA8YSBocmVmPSJiYmMuaHRtbCI+U3RhbmRhcmQgQkJDb2RlIExpYnJhcnk8L2E+LiAgRWFjaCBrZXkKCQlpcyB0aGUgbmFtZSBvZiBhIHRhZywgYW5kIGVhY2ggdmFsdWUgaXMgYW4gYXJyYXkgY29udGFpbmluZyA8YSBocmVmPSJhcHBfcnVsZS5odG1sIj5ydWxlIHBhcmFtZXRlcnM8L2E+LgoJCVRoaXMgaXMgZXhhY3RseSB0aGUgc2FtZSBhcyBjYWxsaW5nIDxhIGhyZWY9IiNyZWZfcGFyc2VyX0dldERlZmF1bHRSdWxlIj5HZXREZWZhdWx0UnVsZSgpPC9hPgoJCW1hbnkgdGltZXMsIG9uY2UgZm9yIGVhY2ggdGFnIGluIHRoZSBTdGFuZGFyZCBCQkNvZGUgTGlicmFyeSwgb25seSBtdWNoLCBtdWNoIGZhc3Rlci48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5QYXJhbWV0ZXJzOjwvYj4gIE5vbmUuPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UmV0dXJuIFZhbHVlOjwvYj4gIEFuIGFycmF5IGNvbnRhaW5pbmcgYWxsIG9mIHRoZSBkZWZhdWx0IEJCQ29kZSBydWxlcy48L2Rpdj4KPC9kaXY+Cgo8YSBuYW1lPSJyZWZfcGFyc2VyX1NldERlZmF1bHRSdWxlcyI+PC9hPgo8ZGl2IGNsYXNzPSdhcGknPgoJPGRpdiBjbGFzcz0nYXBpX2hlYWQnPnZvaWQgPGI+QkJDb2RlOjpTZXREZWZhdWx0UnVsZXM8L2I+ICggKTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2Rlc2NyJz5UaGlzIGZ1bmN0aW9uIGNhdXNlcyB0aGUgQkJDb2RlIG9iamVjdCdzIGVudGlyZSBjdXJyZW50IHJ1bGVzZXQgdG8gYmUKCQlyZXBsYWNlZCB3aXRoIHRoZSBkZWZhdWx0IHJ1bGVzIC0tLSBpbiBvdGhlciB3b3JkcywgdG8gYmUgY2hhbmdlZCBiYWNrIHRvIHRoZSBydWxlcwoJCXRoYXQgaXQgaGFkIGp1c3QgYWZ0ZXIgaXQgd2FzIG5ld2x5LWNyZWF0ZWQgLS0tIGluIG90aGVyIHdvcmRzLCB0byB0aGUgcnVsZXNldCBmb3IgdGhlCgkJPGEgaHJlZj0iYmJjLmh0bWwiPlN0YW5kYXJkIEJCQ29kZSBMaWJyYXJ5PC9hPi4gIEFsbCBvZiB0aGUgZXhpc3RpbmcgcnVsZXMgb2YgdGhpcwoJCW9iamVjdCB3aWxsIGJlIGRlbGV0ZWQsIGFuZCB0aGUgbmV3LCBkZWZhdWx0IHJ1bGVzIHdpbGwgYmUgaW5zdGFsbGVkIGluc3RlYWQuPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UGFyYW1ldGVyczo8L2I+ICBOb25lLjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlJldHVybiBWYWx1ZTo8L2I+ICBOb25lLjwvZGl2Pgo8L2Rpdj4KCjxwIHN0eWxlPSd0ZXh0LWFsaWduOnJpZ2h0Oyc+WyBQcmV2aW91czogPGEgaHJlZj0iYXBpX3Jvb3QuaHRtbCI+RS4gUm9vdC1DbGFzcyBGdW5jdGlvbnM8L2E+IHwgTmV4dDogPGEgaHJlZj0iYXBpX3dpa2kuaHRtbCI+Ry4gV2lraS1MaW5rIEZ1bmN0aW9uczwvYT4gXTwvcD4KCjxociAvPgoKPGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz5Db3B5cmlnaHQgJmNvcHk7IDIwMTAsIHRoZSBQaGFudG9tIElua2VyLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC48L2Rpdj4KCjwvZGl2PjwvZGl2PjwvZGl2PgoKPC9ib2R5PgoKPC9odG1sPgo=]]></data>
	</file>
	<file>
	  <filename>/docs/doc/api_smiley.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWw6bGFuZz0iZW4iIGxhbmc9ImVuIj4KCjxoZWFkPgo8dGl0bGU+U21pbGV5IEZ1bmN0aW9ucyAtIE5CQkM6IFRoZSBOZXcgQkJDb2RlIFBhcnNlcjwvdGl0bGU+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgo8bGluayByZWw9J3N0eWxlc2hlZXQnIHR5cGU9J3RleHQvY3NzJyBocmVmPSdzdHlsZXMuY3NzJyAvPgo8L2hlYWQ+Cgo8Ym9keT4KCjxkaXYgYWxpZ249J2NlbnRlcic+PGRpdiBjbGFzcz0ncGFnZV9jb250YWluZXIyJz48ZGl2IGNsYXNzPSdwYWdlX2NvbnRhaW5lcic+Cgo8aDI+SVYuIEFQSSBSZWZlcmVuY2U8L2gyPgoKPHAgc3R5bGU9J3RleHQtYWxpZ246cmlnaHQ7bWFyZ2luOjA7Jz5bIFByZXZpb3VzOiA8YSBocmVmPSJhcGlfd2lraS5odG1sIj5HLiBXaWtpLUxpbmsgRnVuY3Rpb25zPC9hPiB8IE5leHQ6IDxhIGhyZWY9ImFwaV9yZXBsLmh0bWwiPkkuIFJlcGxhY2VkLUl0ZW0gRnVuY3Rpb25zPC9hPiBdPC9wPgoKPGgzPkguIFNtaWxleSBGdW5jdGlvbnM8L2gzPgoKPGEgbmFtZT0icmVmX3BhcnNlcl9BZGRTbWlsZXkiPjwvYT4KPGRpdiBjbGFzcz0nYXBpJz4KCTxkaXYgY2xhc3M9J2FwaV9oZWFkJz52b2lkIDxiPkJCQ29kZTo6QWRkU21pbGV5PC9iPiAoIHN0cmluZyAkPHR0Pm5hbWU8L3R0PiAsIHN0cmluZyAkPHR0PmltYWdlPC90dD4gKTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2Rlc2NyJz5UaGlzIGZ1bmN0aW9uIGFkZHMgYSBuZXcgc21pbGV5LiAgU21pbGV5cywgb3IgZW1vdGljb25zLCBhcmUgY2hhcmFjdGVyCgkJc3ltYm9scyBsaWtlIDx0dD46LSk8L3R0PiB0aGF0IGdldCBhdXRvbWF0aWNhbGx5IGNvbnZlcnRlZCB0byBpbWFnZXMgbGlrZQoJCTxpbWcgc3JjPSIuLi9zbWlsZXlzL3NtaWxlLmdpZiIgd2lkdGg9JzE2JyBoZWlnaHQ9JzE2JyBhbHQ9IjotKSIgLz4uICBUbyBhZGQgYSBzbWlsZXksIGNhbGwKCQlBZGRTbWlsZXkoKSBhbmQgcHJvdmlkZSB0aGUgdGV4dCBvZiB0aGUgc21pbGV5IHlvdSB3aXNoIHRvIGFkZCBvciByZXBsYWNlLCBhbmQgdGhlIG5hbWUKCQlvZiBhbiBpbWFnZSB0aGF0IGlzIHRvIGJlIGRpc3BsYXllZCBpbiBpdHMgcGxhY2UuICBBbnkgb2xkIHNtaWxleSBkZWZpbmVkIGZvciB0aGF0IHN0cmluZwoJCXdpbGwgYmUgcmVtb3ZlZCBieSB0aGlzIGZ1bmN0aW9uLCBzbyB0aGlzIGNhbiBhbHNvIHJlcGxhY2Ugc21pbGV5cyBhcyB3ZWxsIGFzIGFkZGluZyBuZXcgc21pbGV5cy48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5QYXJhbWV0ZXJzOjwvYj4KCQk8dWw+CgkJPGxpPjxpPm5hbWU8L2k+OiBUaGUgbmFtZSBvZiBhIHNtaWxleSB5b3Ugd2lzaCB0byBhZGQgb3IgcmVwbGFjZSwgbGlrZSAiPHR0PjotKTwvdHQ+IiBvcgoJCQkiPHR0PjozPC90dD4iIG9yICI8dHQ+OmZyb2c6PC90dD4iLiAgTmVhcmx5IGFueSBuYW1lIGlzIGFsbG93ZWQ7IGhvd2V2ZXIsIGJleW9uZAoJCQljb21tb24gc2VxdWVuY2VzLCB5b3UgYXJlIGVuY291cmFnZWQgdG8gdXNlIG5hbWVzIHN1cnJvdW5kZWQgYnkgPHR0Pjo8L3R0PmNvbG9uczx0dD46PC90dD4KCQkJc28gdGhhdCB0aGV5IGFyZSBub3QgYWNjaWRlbnRhbGx5IG1pc3Rha2VuIGZvciBub24tc21pbGV5IHRleHQuPC9saT4KCQk8bGk+PGk+aW1hZ2U8L2k+OiAgVGhlIG5hbWUgb2YgYW4gaW1hZ2UgbG9jYXRlZCBpbiB0aGUgY3VycmVudCBzbWlsZXlzIGRpcmVjdG9yeSB0aGF0CgkJCXlvdSB3aXNoIHRvIGhhdmUgZGlzcGxheWVkIGluIHBsYWNlIG9mIHRoZSB0ZXh0IHN5bWJvbC48L2xpPgoJCTwvdWw+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5SZXR1cm4gVmFsdWU6PC9iPiAgTm9uZS48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvX2Jsb2NrJz4KCQkoVGhlIHVzZXIncyBtYW51YWwsIHNlY3Rpb24gPGEgaHJlZj0idXNhZ2Vfc21pbGV5Lmh0bWwiPklJSS5EPC9hPiBhcyB3ZWxsIGFzCgkJPGEgaHJlZj0iYXBwX3NtaWxleS5odG1sIj5hcHBlbmRpeCBBPC9hPiwgY29udGFpbnMgYWRkaXRpb25hbCBkb2N1bWVudGF0aW9uIG9uCgkJdXNpbmcgdGhpcyBmdW5jdGlvbiwgc28gdGhhdCBpbmZvcm1hdGlvbiB3aWxsIG5vdCBiZSByZXBlYXRlZCBoZXJlLikKCTwvZGl2Pgo8L2Rpdj4KCjxhIG5hbWU9InJlZl9wYXJzZXJfUmVtb3ZlU21pbGV5Ij48L2E+CjxkaXYgY2xhc3M9J2FwaSc+Cgk8ZGl2IGNsYXNzPSdhcGlfaGVhZCc+dm9pZCA8Yj5CQkNvZGU6OlJlbW92ZVNtaWxleTwvYj4gKCBzdHJpbmcgJDx0dD5uYW1lPC90dD4gKTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2Rlc2NyJz5UaGlzIGZ1bmN0aW9uIHVuLWRlZmluZXMgdGhlIGdpdmVuIHNtaWxleSAtLS0gaW4gc2hvcnQsCgkJdGhpcyBjYXVzZXMgTkJCQyB0byBzdG9wIHJlY29nbml6aW5nIHRoZSBnaXZlbiBzbWlsZXkgYW5kIGNvbnZlcnRpbmcgaXQgdG8gYW4gaW1hZ2UuPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UGFyYW1ldGVyczo8L2I+CgkJPHVsPgoJCTxsaT48aT5uYW1lPC9pPjogVGhlIHRleHQgZm9ybSBvZiBhIHNtaWxleSB0byByZW1vdmUgZnJvbSB0aGUgcnVsZXNldC48L2xpPgoJCTwvdWw+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5SZXR1cm4gVmFsdWU6PC9iPiAgTm9uZS48L2Rpdj4KPC9kaXY+Cgo8YSBuYW1lPSJyZWZfcGFyc2VyX0dldFNtaWxleSI+PC9hPgo8ZGl2IGNsYXNzPSdhcGknPgoJPGRpdiBjbGFzcz0nYXBpX2hlYWQnPnN0cmluZyA8Yj5CQkNvZGU6OkdldFNtaWxleTwvYj4gKCBzdHJpbmcgJDx0dD5uYW1lPC90dD4gKTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2Rlc2NyJz5UaGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIGltYWdlIGZvciBhIGdpdmVuIHNtaWxleSwKCQlieSBuYW1lLCB0aGUgc2FtZSBhcnJheSBhcyB3YXMgbW9zdCByZWNlbnRseSBnaXZlbiB0byA8YSBocmVmPSJhcGlfc21pbGV5Lmh0bWwjcmVmX3BhcnNlcl9BZGRTbWlsZXkiPkFkZFNtaWxleSgpPC9hPgoJCWZvciB0aGF0IHNhbWUgc21pbGV5LjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlBhcmFtZXRlcnM6PC9iPgoJCTx1bD4KCQk8bGk+PGk+bmFtZTwvaT46IFRoZSB0ZXh0IGZvcm0gb2YgdGhlIHNtaWxleSB3aG9zZSBpbWFnZSBuYW1lIHlvdSdkIGxpa2UgdG8gcmV0cmlldmUuPC9saT4KCQk8L3VsPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UmV0dXJuIHZhbHVlczo8L2I+ICBUaGUgaW1hZ2UgZm9yIHRoZSBnaXZlbiBzbWlsZXksIGlmIHRoZSBzbWlsZXkKCQloYXMgYmVlbiBkZWZpbmVkOyBpZiBpdCBoYXMgbm90LCB0aGUgcmV0dXJuIHZhbHVlIGlzIDx0dD5mYWxzZTwvdHQ+LjwvZGl2Pgo8L2Rpdj4KCjxhIG5hbWU9InJlZl9wYXJzZXJfQ2xlYXJTbWlsZXlzIj48L2E+CjxkaXYgY2xhc3M9J2FwaSc+Cgk8ZGl2IGNsYXNzPSdhcGlfaGVhZCc+dm9pZCA8Yj5CQkNvZGU6OkNsZWFyU21pbGV5czwvYj4gKCApPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfZGVzY3InPlRoaXMgZnVuY3Rpb24gcmVtb3ZlcyA8aT5hbGw8L2k+IHNtaWxleXMgY3VycmVudGx5IGFzc29jaWF0ZWQgd2l0aCB0aGlzCgkJQkJDb2RlIG9iamVjdCwgYWZ0ZXIgd2hpY2ggdGhlIEJCQ29kZSBvYmplY3Qgd2lsbCBoYXZlIG5vIHNtaWxleXMgZGVmaW5lZCBhdCBhbGwuICBUaGlzCgkJaXMgdXNlZnVsIGlmIHlvdSB3YW50IHRvIHJlcGxhY2UgdGhlIGRlZmF1bHQgc21pbGV5cyBlbnRpcmVseSB3aXRoIHlvdXIgb3duIGN1c3RvbSBzbWlsZXlzLjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlBhcmFtZXRlcnM6PC9iPiAgTm9uZS48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5SZXR1cm4gVmFsdWU6PC9iPiAgTm9uZS48L2Rpdj4KPC9kaXY+Cgo8YSBuYW1lPSJyZWZfcGFyc2VyX0dldERlZmF1bHRTbWlsZXkiPjwvYT4KPGRpdiBjbGFzcz0nYXBpJz4KCTxkaXYgY2xhc3M9J2FwaV9oZWFkJz5hcnJheSA8Yj5CQkNvZGU6OkdldERlZmF1bHRTbWlsZXk8L2I+ICggc3RyaW5nICQ8dHQ+bmFtZTwvdHQ+ICk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9kZXNjcic+VGhpcyBmdW5jdGlvbiByZXR1cm5zIHRoZSBkZWZhdWx0IHNtaWxleSBpbWFnZSBuYW1lCgkJZm9yIGEgZ2l2ZW4gY2h1bmsgb2YgdGV4dCwgdGhlIHNhbWUgaW1hZ2UgbmFtZSB0aGF0IHdvdWxkIGJlIHVzZWQgYnkgYSBuZXdseS1jb25zdHJ1Y3RlZCBCQkNvZGUgb2JqZWN0LgoJCVRoaXMgcHJvdmlkZXMgeW91IHdpdGggYW4gZWFzeSB3YXkgdG8gbG9vayB1cCBhIHNtaWxleSBwcm92aWRlZCBieSB0aGUgPGEgaHJlZj0iYXBwX3NtaWxleS5odG1sIj5TdGFuZGFyZCBTbWlsZXlzPC9hPi48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5QYXJhbWV0ZXJzOjwvYj4KCQk8dWw+CgkJPGxpPjxpPm5hbWU8L2k+OiBUaGUgdGV4dCBmb3JtIG9mIHRoZSBzbWlsZXkgd2hvc2UgaW1hZ2UgbmFtZSB5b3UnZCBsaWtlIHRvIHJldHJpZXZlLjwvbGk+CgkJPC91bD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlJldHVybiB2YWx1ZXM6PC9iPiAgVGhlIFN0YW5kYXJkIFNtaWxleSdzIGltYWdlIG5hbWUgZm9yIHRoZQoJCWdpdmVuIHRleHQsIGlmIHRoZSB0ZXh0IGhhcyBiZWVuIGRlZmluZWQgYXMgYSBzbWlsZXk7IGlmIGl0IGhhcyBub3QsIHRoZSByZXR1cm4gdmFsdWUgaXMgPHR0PmZhbHNlPC90dD4uPC9kaXY+CjwvZGl2PgoKPGEgbmFtZT0icmVmX3BhcnNlcl9TZXREZWZhdWx0U21pbGV5Ij48L2E+CjxkaXYgY2xhc3M9J2FwaSc+Cgk8ZGl2IGNsYXNzPSdhcGlfaGVhZCc+dm9pZCA8Yj5CQkNvZGU6OlNldERlZmF1bHRTbWlsZXk8L2I+ICggc3RyaW5nICQ8dHQ+bmFtZTwvdHQ+ICk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9kZXNjcic+VGhpcyBmdW5jdGlvbiBjaGFuZ2VzIHRoZSBzbWlsZXkKCQlmb3IgYSBnaXZlbiB0ZXh0IHN0cmluZyB0byB0aGUgc2FtZSBpbWFnZSBuYW1lIHRoYXQgd291bGQgYmUgdXNlZCBieSBhIG5ld2x5LWNvbnN0cnVjdGVkIEJCQ29kZSBvYmplY3QsCgkJdGhlIHNhbWUgaW1hZ2UgbmFtZSB0aGF0IHdvdWxkIGJlIHJldHVybmVkIGJ5IDxhIGhyZWY9IiNyZWZfcGFyc2VyX0dldERlZmF1bHRTbWlsZXkiPkdldERlZmF1bHRTbWlsZXkoKTwvYT4uPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UGFyYW1ldGVyczo8L2I+CgkJPHVsPgoJCTxsaT48aT5uYW1lPC9pPjogVGhlIHRleHQgZm9ybSBvZiB0aGUgc21pbGV5IHdob3NlIGltYWdlIG5hbWUgeW91J2QgbGlrZSB0byByZXZlcnQgdG8gaXRzIGRlZmF1bHQgc2V0dGluZy48L2xpPgoJCTwvdWw+Cgk8L2Rpdj4KPC9kaXY+Cgo8YSBuYW1lPSJyZWZfcGFyc2VyX0dldERlZmF1bHRTbWlsZXlzIj48L2E+CjxkaXYgY2xhc3M9J2FwaSc+Cgk8ZGl2IGNsYXNzPSdhcGlfaGVhZCc+YXJyYXkgPGI+QkJDb2RlOjpHZXREZWZhdWx0U21pbGV5czwvYj4gKCApPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfZGVzY3InPlRoaXMgZnVuY3Rpb24gcmV0dXJucyBhIGtleSA9Jmd0OyB2YWx1ZSBhcnJheSB0aGF0IGNvbnRhaW5zIDxpPmFsbDwvaT4KCQlvZiB0aGUgZGVmYXVsdCBzbWlsZXlzIC0tLSBhbGwgb2YgdGhlIHNtaWxleXMgaW4gdGhlIHNldCBvZiA8YSBocmVmPSJhcHBfc21pbGV5Lmh0bWwiPlN0YW5kYXJkIFNtaWxleXM8L2E+LiAgRWFjaCBrZXkKCQlpcyBhIHRleHQgc3RyaW5nLCBhbmQgZWFjaCB2YWx1ZSBpcyB0aGUgbmFtZSBvZiBhbiBpbWFnZS4KCQlUaGlzIGlzIGV4YWN0bHkgdGhlIHNhbWUgYXMgY2FsbGluZyA8YSBocmVmPSIjcmVmX3BhcnNlcl9HZXREZWZhdWx0U21pbGV5Ij5HZXREZWZhdWx0U21pbGV5KCk8L2E+CgkJbWFueSB0aW1lcywgb25jZSBmb3IgZWFjaCB0ZXh0IHN0cmluZyBpbiB0aGUgU3RhbmRhcmQgU21pbGV5cywgb25seSBtdWNoLCBtdWNoIGZhc3Rlci48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5QYXJhbWV0ZXJzOjwvYj4gIE5vbmUuPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UmV0dXJuIFZhbHVlOjwvYj4gIEFuIGFycmF5IGNvbnRhaW5pbmcgYWxsIG9mIHRoZSBkZWZhdWx0IHNtaWxleXMuPC9kaXY+CjwvZGl2PgoKPGEgbmFtZT0icmVmX3BhcnNlcl9TZXREZWZhdWx0U21pbGV5cyI+PC9hPgo8ZGl2IGNsYXNzPSdhcGknPgoJPGRpdiBjbGFzcz0nYXBpX2hlYWQnPnZvaWQgPGI+QkJDb2RlOjpTZXREZWZhdWx0U21pbGV5czwvYj4gKCApPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfZGVzY3InPlRoaXMgZnVuY3Rpb24gY2F1c2VzIHRoZSBCQkNvZGUgb2JqZWN0J3MgZW50aXJlIGN1cnJlbnQgc2V0IG9mIHNtaWxleXMgdG8gYmUKCQlyZXBsYWNlZCB3aXRoIHRoZSBkZWZhdWx0IHNtaWxleXMgLS0tIGluIG90aGVyIHdvcmRzLCB0byBiZSBjaGFuZ2VkIGJhY2sgdG8gdGhlIHNtaWxleXMKCQl0aGF0IGl0IGhhZCBqdXN0IGFmdGVyIGl0IHdhcyBuZXdseS1jcmVhdGVkIC0tLSBpbiBvdGhlciB3b3JkcywgdG8gdGhlIHJ1bGVzZXQgZm9yIHRoZQoJCTxhIGhyZWY9ImFwcF9zbWlsZXkuaHRtbCI+U3RhbmRhcmQgU21pbGV5czwvYT4uICBBbGwgb2YgdGhlIGV4aXN0aW5nIHNtaWxleSBkZWZpbml0aW9ucyBpbiB0aGlzCgkJb2JqZWN0IHdpbGwgYmUgZGVsZXRlZCwgYW5kIHRoZSBuZXcsIGRlZmF1bHQgc21pbGV5IGRlZmluaXRpb25zIHdpbGwgYmUgaW5zdGFsbGVkIGluc3RlYWQuPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UGFyYW1ldGVyczo8L2I+ICBOb25lLjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlJldHVybiBWYWx1ZTo8L2I+ICBOb25lLjwvZGl2Pgo8L2Rpdj4KCjxhIG5hbWU9InJlZl9wYXJzZXJfU2V0U21pbGV5RGlyIj48L2E+CjxkaXYgY2xhc3M9J2FwaSc+Cgk8ZGl2IGNsYXNzPSdhcGlfaGVhZCc+dm9pZCA8Yj5CQkNvZGU6OlNldFNtaWxleURpcjwvYj4gKCBzdHJpbmcgJDx0dD5mdWxscGF0aDwvdHQ+ICk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9kZXNjcic+VGhpcyBmdW5jdGlvbiB0ZWxscyBOQkJDIHdoZXJlIHNtaWxleSBpbWFnZXMgYXJlIGZvdW5kLAoJCWFzIGEgcGF0aG5hbWUgcmVsYXRpdmUgdG8gdGhlIHJvb3Qgb2YgdGhlIGhvc3QncyBmaWxlc3lzdGVtIChhbiBhYnNvbHV0ZSBwYXRobmFtZSkuCgkJWW91IHNob3VsZCB1c3VhbGx5IHVzZSBhIGZ1bGwgYWJzb2x1dGUgcGF0aG5hbWUgZm9yIHRoaXMsIGxpa2UgIjx0dD4vaG9tZS9sYXJyeS93ZWIvc21pbGV5czwvdHQ+IiwKCQlhbmQgeW91IHNob3VsZCA8aT5ub3Q8L2k+IGluY2x1ZGUgYSB0cmFpbGluZyBzbGFzaCBvbiB0aGUgcGF0aCwgYXMgb25lIHdpbGwgYmUgYXBwZW5kZWQKCQlhdXRvbWF0aWNhbGx5LiAgVXNpbmcgcmVsYXRpdmUgcGF0aG5hbWVzIGNhbiB3b3JrLCBidXQgbWF5IHByb2R1Y2UgcHJvYmxlbXMgb24gc29tZQoJCXdlYiBzZXJ2ZXJzLjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlBhcmFtZXRlcnM6PC9iPgoJCTx1bCBjbGFzcz0nYXBpX3BhcmFtcyc+CgkJPGxpPjx0dD48aT5mdWxscGF0aDwvaT48L3R0PjogVGhlIGZpbGVzeXN0ZW0gcGF0aCB0byB5b3VyIHNtaWxleSBkaXJlY3RvcnkuPC9saT4KCQk8L3VsPgoJPC9kaXY+CjwvZGl2PgoKPGEgbmFtZT0icmVmX3BhcnNlcl9HZXRTbWlsZXlEaXIiPjwvYT4KPGRpdiBjbGFzcz0nYXBpJz4KCTxkaXYgY2xhc3M9J2FwaV9oZWFkJz5zdHJpbmcgPGI+QkJDb2RlOjpHZXRTbWlsZXlEaXI8L2I+ICggKTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2Rlc2NyJz5UaGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIGN1cnJlbnQgc21pbGV5IGRpcmVjdG9yeS4KCQlTZWUgPGEgaHJlZj0iYXBpX3NtaWxleS5odG1sI3JlZl9wYXJzZXJfU2V0U21pbGV5RGlyIj5TZXRTbWlsZXlEaXIoKTwvYT4gZm9yIG1vcmUgZGV0YWlscy48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5SZXR1cm4gdmFsdWVzOjwvYj4gIFJldHVybnMgdGhlIGN1cnJlbnQgc21pbGV5IGRpcmVjdG9yeS4KCQlJZiBubyBzbWlsZXkgZGlyZWN0b3J5IGhhcyBiZWVuIHNldCwgdGhpcyByZXR1cm5zIHNpbXBseSAic21pbGV5cyIuPC9kaXY+CjwvZGl2PgoKPGEgbmFtZT0icmVmX3BhcnNlcl9HZXREZWZhdWx0U21pbGV5RGlyIj48L2E+CjxkaXYgY2xhc3M9J2FwaSc+Cgk8ZGl2IGNsYXNzPSdhcGlfaGVhZCc+c3RyaW5nIDxiPkJCQ29kZTo6R2V0RGVmYXVsdFNtaWxleURpcjwvYj4gKCApPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfZGVzY3InPlRoaXMgZnVuY3Rpb24gcmV0dXJucyB0aGUgZGVmYXVsdCBsb2NhbCBpbWFnZSBkaXJlY3RvcnkuPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UmV0dXJuIHZhbHVlczo8L2I+ICBBbHdheXMgcmV0dXJucyAic21pbGV5cyIuPC9kaXY+CjwvZGl2PgoKPGEgbmFtZT0icmVmX3BhcnNlcl9TZXRTbWlsZXlVUkwiPjwvYT4KPGRpdiBjbGFzcz0nYXBpJz4KCTxkaXYgY2xhc3M9J2FwaV9oZWFkJz52b2lkIDxiPkJCQ29kZTo6U2V0U21pbGV5VVJMPC9iPiAoIHN0cmluZyAkPHR0PnVybDwvdHQ+ICk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9kZXNjcic+VGhpcyBmdW5jdGlvbiB0ZWxscyB0aGUgYnJvd3NlciB3aGVyZSBzbWlsZXlzIGFyZSBmb3VuZCwKCQlhcyBhbiBhYnNvbHV0ZSBVUkwuICBZb3Ugc2hvdWxkIHVzdWFsbHkgdXNlIGEgZnVsbCBhYnNvbHV0ZSBVUkwgZm9yIHRoaXMsIGxpa2UKCQkiPHR0Pmh0dHA6Ly9sYXJyeS5leGFtcGxlLmNvbS9zbWlsZXlzPC90dD4iLCBhbmQgeW91IHNob3VsZCA8aT5ub3Q8L2k+IGluY2x1ZGUgYQoJCXRyYWlsaW5nIHNsYXNoIG9uIHRoZSBwYXRoLCBhcyBvbmUgd2lsbCBiZSBhcHBlbmRlZCBhdXRvbWF0aWNhbGx5LiAgVXNpbmcgcmVsYXRpdmUKCQkoc2hvcnQpIFVSTHMgY2FuIHdvcmssIGJ1dCBtYXkgcHJvZHVjZSBwcm9ibGVtcyB3aXRoIHNvbWUgd2ViIGJyb3dzZXJzIGlmIG5vdAoJCXVzZWQgY2FyZWZ1bGx5LjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlBhcmFtZXRlcnM6PC9iPgoJCTx1bCBjbGFzcz0nYXBpX3BhcmFtcyc+CgkJPGxpPjx0dD48aT51cmw8L2k+PC90dD46IFRoZSBmdWxsIFVSTCB0byB5b3VyIHNtaWxleSBkaXJlY3RvcnkuPC9saT4KCQk8L3VsPgoJPC9kaXY+CjwvZGl2PgoKPGEgbmFtZT0icmVmX3BhcnNlcl9HZXRTbWlsZXlVUkwiPjwvYT4KPGRpdiBjbGFzcz0nYXBpJz4KCTxkaXYgY2xhc3M9J2FwaV9oZWFkJz5zdHJpbmcgPGI+QkJDb2RlOjpHZXRTbWlsZXlVUkw8L2I+ICggKTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2Rlc2NyJz5UaGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIGN1cnJlbnQgc21pbGV5IFVSTC4KCQlTZWUgPGEgaHJlZj0iYXBpX3NtaWxleS5odG1sI3JlZl9wYXJzZXJfU2V0U21pbGV5VVJMIj5TZXRTbWlsZXlVUkwoKTwvYT4gZm9yIG1vcmUgZGV0YWlscy48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5SZXR1cm4gdmFsdWVzOjwvYj4gIFJldHVybnMgdGhlIGN1cnJlbnQgc21pbGV5IFVSTC4KCQlJZiBubyBzbWlsZXkgVVJMIGhhcyBiZWVuIHNldCwgdGhpcyByZXR1cm5zIHNpbXBseSAic21pbGV5cyIuPC9kaXY+CjwvZGl2PgoKPGEgbmFtZT0icmVmX3BhcnNlcl9HZXREZWZhdWx0U21pbGV5VVJMIj48L2E+CjxkaXYgY2xhc3M9J2FwaSc+Cgk8ZGl2IGNsYXNzPSdhcGlfaGVhZCc+c3RyaW5nIDxiPkJCQ29kZTo6R2V0RGVmYXVsdFNtaWxleVVSTDwvYj4gKCApPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfZGVzY3InPlRoaXMgZnVuY3Rpb24gcmV0dXJucyB0aGUgZGVmYXVsdCBzbWlsZXkgVVJMLjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlJldHVybiB2YWx1ZXM6PC9iPiAgQWx3YXlzIHJldHVybnMgInNtaWxleXMiLjwvZGl2Pgo8L2Rpdj4KCjxhIG5hbWU9InJlZl9wYXJzZXJfU2V0RW5hYmxlU21pbGV5cyI+PC9hPgo8ZGl2IGNsYXNzPSdhcGknPgoJPGRpdiBjbGFzcz0nYXBpX2hlYWQnPnZvaWQgPGI+QkJDb2RlOjpTZXRFbmFibGVTbWlsZXlzPC9iPiAoIGJvb2wgJDx0dD5lbmFibGU8L3R0PiApPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfZGVzY3InPlRoaXMgZnVuY3Rpb24gZGV0ZXJtaW5lcyB3aGV0aGVyIHNtaWxleXMgbGlrZSA8dHQ+Oi0pPC90dD4gYXJlCgkJY29udmVydGVkIHRvIGltYWdlcyBvciB3aGV0aGVyIHRoZXkgYXJlIGlnbm9yZWQgYW5kIHRyZWF0ZWQgYXMgcGxhaW4gdGV4dC48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5QYXJhbWV0ZXJzOjwvYj4KCQk8dWwgY2xhc3M9J2FwaV9wYXJhbXMnPgoJCTxsaT48dHQ+PGk+ZW5hYmxlPC9pPjwvdHQ+OiAgSWYgc2V0IHRvIDx0dD50cnVlPC90dD4sIGFsbCBkZWZpbmVkIHNtaWxleXMgYXJlIGNvbnZlcnRlZCB0bwoJCQl0aGVpciBtYXRjaGluZyBpbWFnZXM7IHRoaXMgaXMgdGhlIGRlZmF1bHQgYmVoYXZpb3IuICBJZiBzZXQgdG8gPHR0PmZhbHNlPC90dD4sIGFsbAoJCQlzbWlsZXlzIGFyZSB0cmVhdGVkIHRoZSBzYW1lIGFzIGFueSBvdGhlciB0ZXh0IGFuZCBwYXNzZWQgdG8gdGhlIG91dHB1dCB1bmNoYW5nZWQuPC9saT4KCQk8L3VsPgoJPC9kaXY+CjwvZGl2PgoKPGEgbmFtZT0icmVmX3BhcnNlcl9HZXRFbmFibGVTbWlsZXlzIj48L2E+CjxkaXYgY2xhc3M9J2FwaSc+Cgk8ZGl2IGNsYXNzPSdhcGlfaGVhZCc+Ym9vbCA8Yj5CQkNvZGU6OkdldEVuYWJsZVNtaWxleXM8L2I+ICggKTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2Rlc2NyJz5UaGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIGN1cnJlbnQgZW5hYmxlLXNtaWxleXMgc3RhdGUuCgkJU2VlIDxhIGhyZWY9ImFwaV9zbWlsZXkuaHRtbCNyZWZfcGFyc2VyX1NldEVuYWJsZVNtaWxleXMiPlNldEVuYWJsZVNtaWxleXMoKTwvYT4gZm9yIG1vcmUgZGV0YWlscy48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5SZXR1cm4gdmFsdWVzOjwvYj4gIFJldHVybnMgPHR0PnRydWU8L3R0PiBvciA8dHQ+ZmFsc2U8L3R0PiwgZGVwZW5kaW5nCgkJb24gd2hldGhlciBzbWlsZXlzIGFyZSBiZWluZyBjb252ZXJ0ZWQgdG8gaW1hZ2VzLjwvZGl2Pgo8L2Rpdj4KCjxwIHN0eWxlPSd0ZXh0LWFsaWduOnJpZ2h0Oyc+WyBQcmV2aW91czogPGEgaHJlZj0iYXBpX3dpa2kuaHRtbCI+Ry4gV2lraS1MaW5rIEZ1bmN0aW9uczwvYT4gfCBOZXh0OiA8YSBocmVmPSJhcGlfcmVwbC5odG1sIj5JLiBSZXBsYWNlZC1JdGVtIEZ1bmN0aW9uczwvYT4gXTwvcD4KCjxociAvPgoKPGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz5Db3B5cmlnaHQgJmNvcHk7IDIwMTAsIHRoZSBQaGFudG9tIElua2VyLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC48L2Rpdj4KCjwvZGl2PjwvZGl2PjwvZGl2PgoKPC9ib2R5PgoKPC9odG1sPgo=]]></data>
	</file>
	<file>
	  <filename>/docs/doc/api_trim.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWw6bGFuZz0iZW4iIGxhbmc9ImVuIj4KCjxoZWFkPgo8dGl0bGU+Q29udGVudC1UcmltbWluZyBGdW5jdGlvbnMgLSBOQkJDOiBUaGUgTmV3IEJCQ29kZSBQYXJzZXI8L3RpdGxlPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz4KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyB0eXBlPSd0ZXh0L2NzcycgaHJlZj0nc3R5bGVzLmNzcycgLz4KPC9oZWFkPgoKPGJvZHk+Cgo8ZGl2IGFsaWduPSdjZW50ZXInPjxkaXYgY2xhc3M9J3BhZ2VfY29udGFpbmVyMic+PGRpdiBjbGFzcz0ncGFnZV9jb250YWluZXInPgoKPGgyPklWLiBBUEkgUmVmZXJlbmNlPC9oMj4KCjxwIHN0eWxlPSd0ZXh0LWFsaWduOnJpZ2h0O21hcmdpbjowOyc+WyBQcmV2aW91czogPGEgaHJlZj0iYXBpX2JlaHYuaHRtbCI+Qy4gTGFuZ3VhZ2UtQmVoYXZpb3IgRnVuY3Rpb25zPC9hPiB8IE5leHQ6IDxhIGhyZWY9ImFwaV9yb290Lmh0bWwiPkUuIFJvb3QtQ2xhc3MgRnVuY3Rpb25zPC9hPiBdPC9wPgoKPGgzPkQuIENvbnRlbnQtVHJpbW1pbmcgRnVuY3Rpb25zPC9oMz4KCjxhIG5hbWU9InJlZl9wYXJzZXJfU2V0UHJlVHJpbSI+PC9hPgo8ZGl2IGNsYXNzPSdhcGknPgoJPGRpdiBjbGFzcz0nYXBpX2hlYWQnPnZvaWQgPGI+QkJDb2RlOjpTZXRQcmVUcmltPC9iPiAoIHN0cmluZyAkPHR0PmhvdzwvdHQ+ICk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9kZXNjcic+VGhpcyBmdW5jdGlvbiBjb250cm9scyBob3cgTkJCQyByZW1vdmVzIHdoaXRlc3BhY2UgZnJvbSB0aGUKCQlzdGFydCBvZiB0aGUgZG9jdW1lbnQuICBUaGUgZGVmYXVsdCBiZWhhdmlvciBpcyB0byByZW1vdmUgbm8gd2hpdGVzcGFjZTsgaG93ZXZlciwKCQlpdCBjYW4gYmUgY29udmVuaWVudCB0byBoYXZlIE5CQkMgcmVtb3ZlIGFueSBpbml0aWFsIHNwYWNlcyBvciBuZXdsaW5lcyBmb3IgeW91LgoJCVlvdSBzdXBwbHkgYSB3aGl0ZXNwYWNlLXJlbW92YWwgc3RyaW5nIGluICQ8dHQ+aG93PC90dD4gdXNpbmcgdGhlIHNhbWUgc3ludGF4CgkJYXMgaW4gdGhlIDxhIGhyZWY9ImFwcF9ydWxlLmh0bWwiPndoaXRlc3BhY2UtcmVtb3ZhbCBwYXJhbWV0ZXJzIGZvciBhIHJ1bGU8L2E+LjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlBhcmFtZXRlcnM6PC9iPgoJCTx1bD4KCQk8bGk+PGk+aG93PC9pPjogVGhpcyBzdHJpbmcgZGVzY3JpYmVzIHdoYXQga2luZHMgb2Ygd2hpdGVzcGFjZSB0byByZW1vdmUuICBJdCBpcwoJCQlhIHNpbXBsZSBwYXR0ZXJuIGV4cHJlc3Npb24sIGNvbnN0cnVjdGVkIGZyb20gdGhlIGZvbGxvd2luZyBlbGVtZW50czoKCQkJPHVsPgoJCQk8bGk+PHR0PnM8L3R0PiAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUmVtb3ZlIGFueSBub24tbmV3bGluZSB3aGl0ZXNwYWNlIGZvdW5kLjwvbGk+CgkJCTxsaT48dHQ+bjwvdHQ+ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBSZW1vdmUgYSBzaW5nbGUgbmV3bGluZSwgaWYgb25lIGV4aXN0cy48L2xpPgoJCQk8bGk+PHR0PmE8L3R0PiAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUmVtb3ZlIGFzIG1hbnkgc3BhY2VzIGFuZCBuZXdsaW5lcyBhcyBhcmUgZm91bmQuPC9saT4KCQkJPC91bD4KCQkJVGhlIHBhdHRlcm4gcHJvdmlkZWQgaXMgbWF0Y2hlZCA8aT5mb3J3YXJkPC9pPiBmcm9tIHRoZSBzdGFydCBvZiB0aGUgaW5wdXQuCgkJCVRoZSBkZWZhdWx0IGlzIHRoZSBlbXB0eSBzdHJpbmcsIHdoaWNoIG1lYW5zIG5vIHdoaXRlc3BhY2Ugb3IgbmV3bGluZXMKCQkJYXJlIHRvIGJlIHJlbW92ZWQuCgkJPC9saT4KCQk8L3VsPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UmV0dXJuIFZhbHVlOjwvYj4gIE5vbmUuPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+Q29tbW9uIEV4YW1wbGVzOjwvYj48YnIgLz4KCQkmbmJzcDsgJm5ic3A7ICZuYnNwOyA8dHQ+J3MnJm5ic3A7Jm5ic3A7PC90dD4gJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFJlbW92ZSBhbGwgbm9uLW5ld2xpbmUgd2hpdGVzcGFjZTxiciAvPgoJCSZuYnNwOyAmbmJzcDsgJm5ic3A7IDx0dD4nc24nJm5ic3A7PC90dD4gJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFJlbW92ZSBhbGwgbm9uLW5ld2xpbmUgd2hpdGVzcGFjZSwgdGhlbiBhIHNpbmdsZSBuZXdsaW5lIGlmIGl0IGV4aXN0cy48YnIgLz4KCQkmbmJzcDsgJm5ic3A7ICZuYnNwOyA8dHQ+J25zJyZuYnNwOzwvdHQ+ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBSZW1vdmUgYSBzaW5nbGUgbmV3bGluZSBpZiBpdCBleGlzdHMsIHRoZW4gYWxsIG5vbi1uZXdsaW5lIHdoaXRlc3BhY2UuPGJyIC8+CgkJJm5ic3A7ICZuYnNwOyAmbmJzcDsgPHR0PidzbnMnPC90dD4gJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFJlbW92ZSBhbGwgbm9uLW5ld2xpbmUgd2hpdGVzcGFjZSwgdGhlbiBhIHNpbmdsZSBuZXdsaW5lIGlmIGl0IGV4aXN0cyw8YnIgLz4KCQkmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyB0aGVuIGFueSBub24tbmV3bGluZSB3aGl0ZXNwYWNlIGZvdW5kIHBhc3QgdGhhdCBuZXdsaW5lLgoJPC9kaXY+CjwvZGl2PgoKPGEgbmFtZT0icmVmX3BhcnNlcl9HZXRQcmVUcmltIj48L2E+CjxkaXYgY2xhc3M9J2FwaSc+Cgk8ZGl2IGNsYXNzPSdhcGlfaGVhZCc+c3RyaW5nIDxiPkJCQ29kZTo6R2V0UHJlVHJpbTwvYj4gKCApPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfZGVzY3InPlRoaXMgZnVuY3Rpb24gcmV0dXJucyB0aGUgY3VycmVudCB3aGl0ZXNwYWNlIHByZS10cmltbWluZyBwYXR0ZXJuLgoJCVNlZSA8YSBocmVmPSJhcGlfdHJpbS5odG1sI3JlZl9wYXJzZXJfU2V0UHJlVHJpbSI+U2V0UHJlVHJpbSgpPC9hPiBmb3IgbW9yZSBkZXRhaWxzLjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlJldHVybiB2YWx1ZXM6PC9iPiAgVGhlIGN1cnJlbnQgd2hpdGVzcGFjZSBwcmUtdHJpbW1pbmcgcGF0dGVybi48L2Rpdj4KPC9kaXY+Cgo8YSBuYW1lPSJyZWZfcGFyc2VyX1NldFBvc3RUcmltIj48L2E+CjxkaXYgY2xhc3M9J2FwaSc+Cgk8ZGl2IGNsYXNzPSdhcGlfaGVhZCc+dm9pZCA8Yj5CQkNvZGU6OlNldFBvc3RUcmltPC9iPiAoIHN0cmluZyAkPHR0PmhvdzwvdHQ+ICk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9kZXNjcic+VGhpcyBmdW5jdGlvbiBjb250cm9scyBob3cgTkJCQyByZW1vdmVzIHdoaXRlc3BhY2UgZnJvbSB0aGUKCQllbmQgb2YgdGhlIGRvY3VtZW50LiAgVGhlIGRlZmF1bHQgYmVoYXZpb3IgaXMgdG8gcmVtb3ZlIG5vIHdoaXRlc3BhY2U7IGhvd2V2ZXIsCgkJaXQgY2FuIGJlIGNvbnZlbmllbnQgdG8gaGF2ZSBOQkJDIHJlbW92ZSBhbnkgdHJhaWxpbmcgc3BhY2VzIG9yIG5ld2xpbmVzIGZvciB5b3UuCgkJWW91IHN1cHBseSBhIHdoaXRlc3BhY2UtcmVtb3ZhbCBzdHJpbmcgaW4gJDx0dD5ob3c8L3R0PiB1c2luZyB0aGUgc2FtZSBzeW50YXgKCQlhcyBpbiB0aGUgPGEgaHJlZj0iYXBwX3J1bGUuaHRtbCI+d2hpdGVzcGFjZS1yZW1vdmFsIHBhcmFtZXRlcnMgZm9yIGEgcnVsZTwvYT4uPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UGFyYW1ldGVyczo8L2I+CgkJPHVsPgoJCTxsaT48aT5ob3c8L2k+OiBUaGlzIHN0cmluZyBkZXNjcmliZXMgd2hhdCBraW5kcyBvZiB3aGl0ZXNwYWNlIHRvIHJlbW92ZS4gIEl0IGlzCgkJCWEgc2ltcGxlIHBhdHRlcm4gZXhwcmVzc2lvbiwgY29uc3RydWN0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIGVsZW1lbnRzOgoJCQk8dWw+CgkJCTxsaT48dHQ+czwvdHQ+ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBSZW1vdmUgYW55IG5vbi1uZXdsaW5lIHdoaXRlc3BhY2UgZm91bmQuPC9saT4KCQkJPGxpPjx0dD5uPC90dD4gJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFJlbW92ZSBhIHNpbmdsZSBuZXdsaW5lLCBpZiBvbmUgZXhpc3RzLjwvbGk+CgkJCTxsaT48dHQ+YTwvdHQ+ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBSZW1vdmUgYXMgbWFueSBzcGFjZXMgYW5kIG5ld2xpbmVzIGFzIGFyZSBmb3VuZC48L2xpPgoJCQk8L3VsPgoJCQlUaGUgcGF0dGVybiBwcm92aWRlZCBpcyBtYXRjaGVkIDxpPmJhY2t3YXJkPC9pPiBmcm9tIHRoZSB2ZXJ5IGVuZCBvZiB0aGUgaW5wdXQuCgkJCVRoZSBkZWZhdWx0IGlzIHRoZSBlbXB0eSBzdHJpbmcsIHdoaWNoIG1lYW5zIG5vIHdoaXRlc3BhY2Ugb3IgbmV3bGluZXMKCQkJYXJlIHRvIGJlIHJlbW92ZWQuCgkJPC9saT4KCQk8L3VsPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UmV0dXJuIFZhbHVlOjwvYj4gIE5vbmUuPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+Q29tbW9uIEV4YW1wbGVzOjwvYj48YnIgLz4KCQkmbmJzcDsgJm5ic3A7ICZuYnNwOyA8dHQ+J3MnJm5ic3A7Jm5ic3A7PC90dD4gJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFJlbW92ZSBhbGwgbm9uLW5ld2xpbmUgd2hpdGVzcGFjZTxiciAvPgoJCSZuYnNwOyAmbmJzcDsgJm5ic3A7IDx0dD4nc24nJm5ic3A7PC90dD4gJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFJlbW92ZSBhbGwgbm9uLW5ld2xpbmUgd2hpdGVzcGFjZSwgdGhlbiBhIHNpbmdsZSBuZXdsaW5lIGlmIGl0IGV4aXN0cy48YnIgLz4KCQkmbmJzcDsgJm5ic3A7ICZuYnNwOyA8dHQ+J25zJyZuYnNwOzwvdHQ+ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBSZW1vdmUgYSBzaW5nbGUgbmV3bGluZSBpZiBpdCBleGlzdHMsIHRoZW4gYWxsIG5vbi1uZXdsaW5lIHdoaXRlc3BhY2UuPGJyIC8+CgkJJm5ic3A7ICZuYnNwOyAmbmJzcDsgPHR0PidzbnMnPC90dD4gJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFJlbW92ZSBhbGwgbm9uLW5ld2xpbmUgd2hpdGVzcGFjZSwgdGhlbiBhIHNpbmdsZSBuZXdsaW5lIGlmIGl0IGV4aXN0cyw8YnIgLz4KCQkmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyB0aGVuIGFueSBub24tbmV3bGluZSB3aGl0ZXNwYWNlIGZvdW5kIHBhc3QgdGhhdCBuZXdsaW5lLgoJPC9kaXY+CjwvZGl2PgoKPGEgbmFtZT0icmVmX3BhcnNlcl9HZXRQb3N0VHJpbSI+PC9hPgo8ZGl2IGNsYXNzPSdhcGknPgoJPGRpdiBjbGFzcz0nYXBpX2hlYWQnPnN0cmluZyA8Yj5CQkNvZGU6OkdldFBvc3RUcmltPC9iPiAoICk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9kZXNjcic+VGhpcyBmdW5jdGlvbiByZXR1cm5zIHRoZSBjdXJyZW50IHdoaXRlc3BhY2UgcG9zdC10cmltbWluZyBwYXR0ZXJuLgoJCVNlZSA8YSBocmVmPSJhcGlfdHJpbS5odG1sI3JlZl9wYXJzZXJfU2V0UG9zdFRyaW0iPlNldFBvc3RUcmltKCk8L2E+IGZvciBtb3JlIGRldGFpbHMuPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UmV0dXJuIHZhbHVlczo8L2I+ICBUaGUgY3VycmVudCB3aGl0ZXNwYWNlIHBvc3QtdHJpbW1pbmcgcGF0dGVybi48L2Rpdj4KPC9kaXY+Cgo8cCBzdHlsZT0ndGV4dC1hbGlnbjpyaWdodDsnPlsgUHJldmlvdXM6IDxhIGhyZWY9ImFwaV9iZWh2Lmh0bWwiPkMuIExhbmd1YWdlLUJlaGF2aW9yIEZ1bmN0aW9uczwvYT4gfCBOZXh0OiA8YSBocmVmPSJhcGlfcm9vdC5odG1sIj5FLiBSb290LUNsYXNzIEZ1bmN0aW9uczwvYT4gXTwvcD4KCjxociAvPgoKPGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz5Db3B5cmlnaHQgJmNvcHk7IDIwMTAsIHRoZSBQaGFudG9tIElua2VyLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC48L2Rpdj4KCjwvZGl2PjwvZGl2PjwvZGl2PgoKPC9ib2R5PgoKPC9odG1sPgo=]]></data>
	</file>
	<file>
	  <filename>/docs/doc/api_wiki.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWw6bGFuZz0iZW4iIGxhbmc9ImVuIj4KCjxoZWFkPgo8dGl0bGU+V2lraS1MaW5rIEZ1bmN0aW9ucyAtIE5CQkM6IFRoZSBOZXcgQkJDb2RlIFBhcnNlcjwvdGl0bGU+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgo8bGluayByZWw9J3N0eWxlc2hlZXQnIHR5cGU9J3RleHQvY3NzJyBocmVmPSdzdHlsZXMuY3NzJyAvPgo8L2hlYWQ+Cgo8Ym9keT4KCjxkaXYgYWxpZ249J2NlbnRlcic+PGRpdiBjbGFzcz0ncGFnZV9jb250YWluZXIyJz48ZGl2IGNsYXNzPSdwYWdlX2NvbnRhaW5lcic+Cgo8aDI+SVYuIEFQSSBSZWZlcmVuY2U8L2gyPgoKPHAgc3R5bGU9J3RleHQtYWxpZ246cmlnaHQ7bWFyZ2luOjA7Jz5bIFByZXZpb3VzOiA8YSBocmVmPSJhcGlfcnVsZS5odG1sIj5GLiBSdWxlIEZ1bmN0aW9uczwvYT4gfCBOZXh0OiA8YSBocmVmPSJhcGlfc21pbGV5Lmh0bWwiPkguIFNtaWxleSBGdW5jdGlvbnM8L2E+IF08L3A+Cgo8aDM+Ry4gV2lraS1MaW5rIEZ1bmN0aW9uczwvaDM+Cgo8YSBuYW1lPSJyZWZfcGFyc2VyX1NldFdpa2lVUkwiPjwvYT4KPGRpdiBjbGFzcz0nYXBpJz4KCTxkaXYgY2xhc3M9J2FwaV9oZWFkJz52b2lkIDxiPkJCQ29kZTo6U2V0V2lraVVSTDwvYj4gKCBzdHJpbmcgJDx0dD51cmw8L3R0PiApPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfZGVzY3InPlRoaXMgZnVuY3Rpb24gY2hhbmdlcyB0aGUgY3VycmVudCB3aWtpIFVSTCB0byB0aGUgcHJvdmlkZWQKCQlzdHJpbmcuICBXaGVuIGEgW3dpa2k9ImZvbyJdIHRhZyBpcyBlbmNvdW50ZXJlZCBpbiB0aGUgaW5wdXQgKG9yIGl0cyBlcXVpdmFsZW50CgkJdGFnLCBbW2Zvb11dKSwgTkJCQyB3aWxsIHVzZSB0aGlzIFVSTCB0byB0dXJuIHRoYXQgdGFnIGludG8gYSA8dHQ+Jmx0O2EmZ3Q7PC90dD4KCQlsaW5rOiAgVGhpcyBVUkwgd2lsbCBiZSB0YWtlbiBmaXJzdCwgYW5kIHRoZSA8YSBocmVmPSIjcmVmX3BhcnNlcl9XaWtpZnkiPndpa2ktZmllZDwvYT4KCQlwYWdlIG5hbWUgKCJmb28iKSB3aWxsIGJlIGFwcGVuZGVkIHRvIGl0ICh3aXRoIG5vIGNoYXJhY3RlcnMgYWRkZWQgaW4gYmV0d2VlbikuCgkJU2VlIHRoZSBzZWN0aW9uIG9uIDxhIGhyZWY9InVzYWdlX3dpa2kiPndpa2ktbGlua3M8L2E+IGZvciBtb3JlIGluZm9ybWF0aW9uIG9uCgkJaG93IHRvIHVzZSB0aGlzIGZ1bmN0aW9uLjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlBhcmFtZXRlcnM6PC9iPgoJCTx1bD4KCQk8bGk+PGk+dXJsPC9pPjogIEEgc3RyaW5nIHRvIGJlIGluc2VydGVkIGluIHRoZSByZXN1bHRpbmcgPHR0PiZsdDthJm5ic3A7aHJlZj0uLi4mZ3Q7PC90dD4KCQkJZWxlbWVudCBiZWZvcmUgdGhlIDxhIGhyZWY9IiNyZWZfcGFyc2VyX1dpa2lmeSI+d2lraS1maWVkPC9hPiBwYWdlIG5hbWUuICBGb3IgZXhhbXBsZSwKCQkJaWYgdGhpcyBpcyAiPHR0Pmh0dHA6Ly93d3cuZXhhbXBsZS5jb20vd2lraS5waHA/cGFnZT08L3R0PiIgYW5kIHRoZSBwYWdlIG5hbWUgZ2l2ZW4gYnkKCQkJdGhlIHVzZXIgaXMgIjx0dD5HZW9yZ2UgV2FzaGluZ3RvbjwvdHQ+IiwgdGhlIHJlc3VsdGluZyBjb21wbGV0ZSBVUkwgd291bGQgYmUKCQkJPHR0PiZsdDthJm5ic3A7aHJlZj1cImh0dHA6Ly93d3cuZXhhbXBsZS5jb20vd2lraS5waHA/cGFnZT1HZW9yZ2VfV2FzaGluZ3RvbiZndDs8L3R0Pi4KCQk8L3VsPjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlJldHVybiB2YWx1ZXM6PC9iPiAgTm9uZS48L2Rpdj4KPC9kaXY+Cgo8YSBuYW1lPSJyZWZfcGFyc2VyX0dldFdpa2lVUkwiPjwvYT4KPGRpdiBjbGFzcz0nYXBpJz4KCTxkaXYgY2xhc3M9J2FwaV9oZWFkJz5zdHJpbmcgPGI+QkJDb2RlOjpHZXRXaWtpVVJMPC9iPiAoICk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9kZXNjcic+VGhpcyBmdW5jdGlvbiByZXR1cm5zIHRoZSBjdXJyZW50IHdpa2kgVVJMLCBhcyBzZXQgYnkKCQk8YSBocmVmPSJyZWZfcGFyc2VyX1NldFdpa2lVUkwiPlNldFdpa2lVUkwoKTwvYT4uICBJZiBubyB3aWtpIFVSTCBoYXMgYmVlbgoJCXNldCwgdGhlIHJldHVybiB2YWx1ZSBpcyB0aGUgc2FtZSBhcyB0aGF0IG9mCgkJPGEgaHJlZj0icmVmX3BhcnNlcl9HZXREZWZhdWx0V2lraVVSTCI+R2V0RGVmYXVsdFdpa2lVUkwoKTwvYT4uPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UGFyYW1ldGVyczo8L2I+IE5vbmUuPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UmV0dXJuIHZhbHVlczo8L2I+ICBUaGUgY3VycmVudCB3aWtpIFVSTC48L2Rpdj4KPC9kaXY+Cgo8YSBuYW1lPSJyZWZfcGFyc2VyX0dldERlZmF1bHRXaWtpVVJMIj48L2E+CjxkaXYgY2xhc3M9J2FwaSc+Cgk8ZGl2IGNsYXNzPSdhcGlfaGVhZCc+c3RyaW5nIDxiPkJCQ29kZTo6R2V0RGVmYXVsdFdpa2lVUkw8L2I+ICggKTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2Rlc2NyJz5UaGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIGRlZmF1bHQgd2lraSBVUkwsIHdoaWNoIGlzCgkJYWx3YXlzIDx0dD4iLz9wYWdlPTwvdHQ+IiAtLS0gdGhpcyBVUkwsIHdoZW4gYSB3aWtpIHBhZ2UgbmFtZSBsaWtlICJmb28iIGlzCgkJYXBwZW5kZWQgdG8gdGhlIGVuZCBvZiBpdCwgcmVzdWx0cyBpbiBsaW5rcyB0aGF0IGxvb2sgbGlrZSB0aGlzOgoJCTx0dD4mbHQ7YSZuYnNwO2hyZWY9Ii8/cGFnZT1mb28iJmd0Oy4uLiZsdDsvYSZndDs8L3R0PjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlBhcmFtZXRlcnM6PC9iPiBOb25lLjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlJldHVybiB2YWx1ZXM6PC9iPiAgVGhlIGRlZmF1bHQgd2lraSBVUkwsIHdoaWNoCgkJaXMgYWx3YXlzIDx0dD4iLz9wYWdlPTwvdHQ+Ii48L2Rpdj4KPC9kaXY+Cgo8YSBuYW1lPSJyZWZfcGFyc2VyX1dpa2lmeSI+PC9hPgo8ZGl2IGNsYXNzPSdhcGknPgoJPGRpdiBjbGFzcz0nYXBpX2hlYWQnPnN0cmluZyA8Yj5CQkNvZGU6Oldpa2lmeTwvYj4gKCBzdHJpbmcgJDx0dD5yYXdzdHJpbmc8L3R0PiApPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfZGVzY3InPlRoaXMgZnVuY3Rpb24gdGFrZXMgYSByYXcgc3RyaW5nIGFuZCBjbGVhbnMgaXQgdXAgZm9yIHVzZSBhcwoJCWEgd2lraSBwYWdlIG5hbWUuICBUbyBkbyB0aGlzLCBpdCByZXBsYWNlcyBhbGwgb2YgdGhlIGZvbGxvd2luZyBjaGFyYWN0ZXJzIHdpdGgKCQl1bmRlcnNjb3Jlczo8YnIgLz4KCQk8YnIgLz4KCQkmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8dHQ+LCAhID8gOyBAICMgJCAlIFwgXiAmYW1wOyAqICZsdDsgJmd0OyA9ICsgYCB+ICcgXyAtPC90dD4gJm5ic3A7ICZuYnNwOyBhbmQgYWxsIHdoaXRlc3BhY2UgKDB4MDAtMHgyMCkuPGJyIC8+CgkJPGJyIC8+CgkJSW4gYWRkaXRpb24sIG11bHRpcGxlIHN1Y2Nlc3NpdmUgdW5kZXJzY29yZXMgYXJlIGNvbmRlbnNlZCB0byBhIHNpbmdsZSB1bmRlcnNjb3JlLAoJCWFuZCBhbGwgaW5pdGlhbCBhbmQgdHJhaWxpbmcgdW5kZXJzY29yZXMgYXJlIHJlbW92ZWQuICBBbHNvLCBjaGFyYWN0ZXJzIGluIHRoZSBleHRlbmRlZAoJCXJhbmdlICgweDdGLTB4RkYpIGFyZSByZXBsYWNlZCB3aXRoIHRoZWlyIFVSTC1lbmNvZGVkIGVxdWl2YWxlbnRzLgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UGFyYW1ldGVyczo8L2I+CgkJPHVsPgoJCTxsaT48aT5yYXdzdHJpbmc8L2k+OiBUaGUgc3RyaW5nIHRvIGNsZWFuIHVwIGFuZCBtYWtlICJ3aWtpLWZyaWVuZGx5LiI8L2xpPgoJCTwvdWw+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5SZXR1cm4gdmFsdWVzOjwvYj4gIFRoZSByZXN1bHRpbmcgImNsZWFuIiBzdHJpbmcuPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mb19ibG9jayc+PGI+Tm90ZXM6PC9iPjxiciAvPjxiciAvPgoJCUZvciBleGFtcGxlLCAiV2FzaGluZ3RvbiwgRC5DLiIKCQl3b3VsZCBiZWNvbWUgIjx0dD5XYXNoaW5ndG9uX0QuQy48L3R0PiIsIHdoaWNoIGlzIGEgc3RyaW5nIHRoYXQgY2FuIGJlIHNhZmVseSB1c2VkIGFzCgkJcGFydCBvZiBhIFVSTDsgd2hpbGUgIiZlYWN1dGU7IiBtaWdodCBiZWNvbWUgIjx0dD4lRTk8L3R0PiIsIGFuZCAiJmVhY3V0ZTtnbGlzZSIgbWlnaHQKCQliZWNvbWUgIjx0dD4lRTlnbGlzZTwvdHQ+IiwgZGVwZW5kaW5nIG9uIHlvdXIgY3VycmVudCBjaGFyYWN0ZXIgZW5jb2RpbmcuICBUaGUKCQlvdXRwdXQgb2YgdGhpcyBmdW5jdGlvbiBpcyBhbHdheXMgVVJMLXNhZmUgYW5kIDgtYml0IGNsZWFuLjxiciAvPjxiciAvPgoJCQoJCU5vdGUgdGhhdCBiZWNhdXNlIGFjY2VudGVkIGNoYXJhY3RlcnMgbGlrZSAmZWFjdXRlOyBhbmQgJnV1bWw7IGFuZAoJCW5vbi1Sb21hbiBjaGFyYWN0ZXJzIGxpa2UgPHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxM3B0Oyc+JiMxNDg4Ozwvc3Bhbj4gYW5kIDxzcGFuIHN0eWxlPSdmb250OjEzcHQgQmF0YW5nLCJNUyBHb3RoaWMiLCJNUyBNaW5jaG8iLEFyaWFsJz4mIzIzNDcwOzwvc3Bhbj4gYXJlIGNvbnZlcnRlZCB0bwoJCVVSTC1lbmNvZGVkLWVxdWl2YWxlbnRzLCB0aGlzIGZ1bmN0aW9uIG1heSBub3Qgc3VpdGFibGUgZm9yIHVzZSB3aXRoIHNvbWUgbm9uLVJvbWFuCgkJbGFuZ3VhZ2VzLjxiciAvPjxiciAvPgoJCQoJCVRoZSByYXRpb25hbGUgYmVoaW5kIFVSTC1lbmNvZGluZyB0aGUgbm9uLUVuZ2xpc2ggY2hhcmFjdGVycyBpcyB0aGF0IHNvbWUgd2ViIHNlcnZlcnMKCQlhbmQgc29tZSB3ZWIgYnJvd3NlcnMgYXJlIDxpPm5vdDwvaT4gOC1iaXQgY2xlYW4gYW5kIG1heSBtaXNiZWhhdmUgaWYgdGhleSBhcmUKCQlzZW50IGEgZGlyZWN0IGNvZGUgdmFsdWUgaW4gdGhpcyByYW5nZS4KCTwvZGl2Pgo8L2Rpdj4KCjxwIHN0eWxlPSd0ZXh0LWFsaWduOnJpZ2h0Oyc+WyBQcmV2aW91czogPGEgaHJlZj0iYXBpX3J1bGUuaHRtbCI+Ri4gUnVsZSBGdW5jdGlvbnM8L2E+IHwgTmV4dDogPGEgaHJlZj0iYXBpX3NtaWxleS5odG1sIj5ILiBTbWlsZXkgRnVuY3Rpb25zPC9hPiBdPC9wPgoKPGhyIC8+Cgo8ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPkNvcHlyaWdodCAmY29weTsgMjAxMCwgdGhlIFBoYW50b20gSW5rZXIuICBBbGwgcmlnaHRzIHJlc2VydmVkLjwvZGl2PgoKPC9kaXY+PC9kaXY+PC9kaXY+Cgo8L2JvZHk+Cgo8L2h0bWw+Cg==]]></data>
	</file>
	<file>
	  <filename>/docs/doc/app_class.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWw6bGFuZz0iZW4iIGxhbmc9ImVuIj4KCjxoZWFkPgo8dGl0bGU+Q29udGVudCBDbGFzc2VzIC0gTkJCQzogVGhlIE5ldyBCQkNvZGUgUGFyc2VyPC90aXRsZT4KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+CjxsaW5rIHJlbD0nc3R5bGVzaGVldCcgdHlwZT0ndGV4dC9jc3MnIGhyZWY9J3N0eWxlcy5jc3MnIC8+CjwvaGVhZD4KCjxib2R5PgoKPGRpdiBhbGlnbj0nY2VudGVyJz48ZGl2IGNsYXNzPSdwYWdlX2NvbnRhaW5lcjInPjxkaXYgY2xhc3M9J3BhZ2VfY29udGFpbmVyJz4KCjxoMj5WSS4gQXBwZW5kaWNlczwvaDI+Cgo8cCBzdHlsZT0ndGV4dC1hbGlnbjpyaWdodDttYXJnaW46MDsnPlsgUHJldmlvdXM6IDxhIGhyZWY9ImFwcF9ydWxlLmh0bWwiPkIuIFJ1bGUgUGFyYW1ldGVyczwvYT4gfCBOZXh0OiA8YSBocmVmPSJhcHBfZW5oZmxhZ3MuaHRtbCI+RC4gVGVtcGxhdGUgRmxhZ3M8L2E+IF08L3A+Cgo8aDM+Qy4gQ29udGVudCBDbGFzc2VzPC9oMz4KCjxwPkNvbnRlbnQgY2xhc3NlcyBjb250cm9sIHdoaWNoIHRhZ3MgYXJlIGFsbG93ZWQgdG8gbmVzdCB3aXRoaW4gb3RoZXJzIGFuZCB3aGljaAphcmUgbm90OiAgSWYgYSB0YWcgaXMgbm90IGFsbG93ZWQgdG8gbmVzdCBpbnNpZGUgdGhlIGN1cnJlbnQgY2xhc3MsIGl0IHdpbGwgYmUgdHJlYXRlZAphcyBwbGFpbiB0ZXh0IGluc3RlYWQgb2YgYXMgYSB0YWcuICBZb3UgY2FuIGRlZmluZSB5b3VyIG93biBjbGFzc2VzIGRlcGVuZGluZyBvbiB5b3VyCm5lZWRzLCBidXQgdGhlIG1vc3QgY29tbW9uIGNsYXNzZXMgYXJlIGFzIGZvbGxvd3M6PC9wPgoKPHVsPgo8bGk+PGI+PHR0PmJsb2NrPC90dD48L2I+OiAgQSByZWN0YW5ndWxhciBibG9jayBvZiB0ZXh0LCBlcXVpdmFsZW50IHRvIHRoZSBDU1MgPHR0PmRpc3BsYXk6YmxvY2s8L3R0PgoJcHJvcGVydHkuICBUaGlzIGlzIGdlbmVyYWxseSBhbiBvdXRlciBjb250YWluaW5nIGNsYXNzLjxiciAvPgoJPGk+VXN1YWxseSBjb250YWluZWQgYnk6PC9pPiAgQmxvY2tzLCBsaXN0IGl0ZW1zLCBjb2x1bW5zLjxiciAvPgoJPGk+Q2FuIHVzdWFsbHkgY29udGFpbjo8L2k+ICBCbG9ja3MsIGlubGluZXMsIGxpbmtzLCBsaXN0cywgY29sdW1ucywgaW1hZ2VzLCBjb2RlPGJyIC8+PGJyIC8+PC9saT4KCjxsaT48Yj48dHQ+aW5saW5lPC90dD48L2I+OiAgQSBzcGFuIG9mIHRleHQgd2l0aCBhbiB1bnVzdWFsIHByb3BlcnR5LCBsaWtlIGl0YWxpY3Mgb3IKCWJvbGRmYWNlIG9yIGEgY29sb3IgY2hhbmdlLiAgVGhpcyBpcyBnZW5lcmFsbHkgYW4gaW5uZXJtb3N0IGNsYXNzOiAgTW9zdCBvdGhlciB0YWdzCgljYW4ndCBnbyBpbnNpZGUgaXQsIHdpdGggc29tZSBleGNlcHRpb25zLjxiciAvPgoJPGk+VXN1YWxseSBjb250YWluZWQgYnk6PC9pPiAgQmxvY2tzLCBsaXN0IGl0ZW1zLCBjb2x1bW5zLCBsaW5rcywgaW5saW5lcy48YnIgLz4KCTxpPkNhbiB1c3VhbGx5IGNvbnRhaW46PC9pPiAgSW5saW5lcywgbGlua3MsIGltYWdlcy48YnIgLz48YnIgLz48L2xpPgoKPGxpPjxiPjx0dD5saW5rPC90dD48L2I+OiAgQSBzcGFuIG9mIHRleHQgdGhhdCBpcyBhIGNsaWNrYWJsZSBsaW5rIHRvIHNvbWV3aGVyZS4gIExpbmtzCgl1c3VhbGx5IGNhbm5vdCBiZSBwbGFjZWQgaW5zaWRlIG90aGVyIGxpbmtzLjxiciAvPgoJPGk+VXN1YWxseSBjb250YWluZWQgYnk6PC9pPiAgQmxvY2tzLCBsaXN0IGl0ZW1zLCBjb2x1bW5zLCBpbmxpbmVzLjxiciAvPgoJPGk+Q2FuIHVzdWFsbHkgY29udGFpbjo8L2k+ICBJbmxpbmVzLCBpbWFnZXMuPGJyIC8+PGJyIC8+PC9saT4KCjxsaT48Yj48dHQ+bGlzdDwvdHQ+PC9iPjogIEEgYmxvY2stbGlrZSByZWdpb24gdGhhdCBtYXkgb25seSBjb250YWluIGxpc3QgaXRlbXMuPGJyIC8+Cgk8aT5Vc3VhbGx5IGNvbnRhaW5lZCBieTo8L2k+ICBCbG9ja3MsIGxpc3QgaXRlbXMsIGNvbHVtbnMuPGJyIC8+Cgk8aT5DYW4gdXN1YWxseSBjb250YWluOjwvaT4gIExpc3QgaXRlbXMuPGJyIC8+PGJyIC8+PC9saT4KCjxsaT48Yj48dHQ+bGlzdGl0ZW08L3R0PjwvYj46ICBBIHNpbmdsZSBpdGVtIGluIGEgbGlzdCwgdGhpcyBpcyBhIGJsb2NrLWxpa2UgcmVnaW9uIHRoYXQKCWNhbiBjb250YWluIGp1c3QgYWJvdXQgYW55dGhpbmcgZWxzZS48YnIgLz4KCTxpPlVzdWFsbHkgY29udGFpbmVkIGJ5OjwvaT4gIExpc3RzLjxiciAvPgoJPGk+Q2FuIHVzdWFsbHkgY29udGFpbjo8L2k+ICBCbG9ja3MsIGlubGluZXMsIGxpbmtzLCBsaXN0cywgY29sdW1ucywgaW1hZ2VzLCBjb2RlPGJyIC8+PGJyIC8+PC9saT4KCjxsaT48Yj48dHQ+Y29sdW1uczwvdHQ+PC9iPjogIEEgYmxvY2stbGlrZSByZWdpb24gdGhhdCBtYXkgY29udGFpbiBtdWx0aXBsZSBwYXJhbGxlbAoJY29sdW1ucyBvZiBibG9ja3Mgd2l0aGluIGl0LjxiciAvPgoJPGk+VXN1YWxseSBjb250YWluZWQgYnk6PC9pPiAgQmxvY2tzLCBsaXN0IGl0ZW1zLCBjb2x1bW5zLjxiciAvPgoJPGk+Q2FuIHVzdWFsbHkgY29udGFpbjo8L2k+ICBCbG9ja3MsIGlubGluZXMsIGxpbmtzLCBsaXN0cywgY29sdW1ucywgaW1hZ2VzLCBjb2RlPGJyIC8+PGJyIC8+PC9saT4KCjxsaT48Yj48dHQ+bmV4dGNvbDwvdHQ+PC9iPjogIEFuIGluZmluaXRlbHkgc21hbGwgY2xhc3MgKHdpdGggbm8gY29udGVudCkgZGVzaWduZWQgdG8KCXNlcGFyYXRlIGNvbHVtbnMgb2YgYSBjb2x1bW4gZ3JvdXAuPGJyIC8+Cgk8aT5Vc3VhbGx5IGNvbnRhaW5lZCBieTo8L2k+ICBDb2x1bW5zLjxiciAvPgoJPGk+Q2FuIHVzdWFsbHkgY29udGFpbjo8L2k+ICAobm90aGluZzsgaGFzIG5vIGJvZHkpPGJyIC8+PGJyIC8+PC9saT4KCjxsaT48Yj48dHQ+aW1hZ2U8L3R0PjwvYj46ICBBbiBpbmxpbmUgdGV4dC1saWtlIG9iamVjdCB0aGF0IGlzIHJlcGxhY2VkIHdpdGggZXh0ZXJuYWwgY29udGVudC48YnIgLz4KCTxpPlVzdWFsbHkgY29udGFpbmVkIGJ5PC9pPjogIEJsb2NrcywgaW5saW5lcywgbGlua3MsIGxpc3QgaXRlbXMsIGNvbHVtbnMsIGNvZGUuPGJyIC8+Cgk8aT5DYW4gdXN1YWxseSBjb250YWluOjwvaT4gIChub3RoaW5nOyBoYXMgbm8gYm9keSk8YnIgLz48YnIgLz48L2xpPgoKPGxpPjxiPjx0dD5jb2RlPC90dD48L2I+OiAgQSBibG9jay1saWtlIHJlZ2lvbiB0aGF0IHJlcHJvZHVjZXMgaXRzIGNvbnRlbnRzIGV4YWN0bHkuPGJyIC8+Cgk8aT5Vc3VhbGx5IGNvbnRhaW5lZCBieTwvaT46ICBCbG9ja3MsIGxpc3QgaXRlbXMsIGNvbHVtbnMuPGJyIC8+Cgk8aT5DYW4gdXN1YWxseSBjb250YWluOjwvaT4gIChub3RoaW5nOyBib2R5IGlzIHZlcmJhdGltKTwvbGk+CjwvdWw+Cgo8cD5TbyB0aGUgc3RhbmRhcmQgY2xhc3MgY29udGFpbmVycyBhcmUgcmVsYXRlZCBsaWtlIHRoaXM6PC9wPgoKPHRhYmxlIGFsaWduPSdjZW50ZXInIGNsYXNzPSdjbGFzc19jb250YWluZXJzJz4KPHRoZWFkPjx0cj48dGggY29sc3Bhbj0nMicgY2xhc3M9J2VtcHR5Jz48L3RoPgoJPHRoIGNvbHNwYW49JzcnPkNhbiBiZSBwbGFjZWQgd2l0aGluIHRoaXMgY2xhc3MqOjwvdGg+PC90cj4KCTx0cj48dGggY29sc3Bhbj0nMicgY2xhc3M9J2VtcHR5Jz48L3RoPgoJCTx0aD5ibG9jazwvdGg+PHRoPmlubGluZTwvdGg+PHRoPmxpbms8L3RoPjx0aD5saXN0PC90aD48dGg+bGlzdGl0ZW08L3RoPjx0aD5jb2x1bW5zPC90aD48dGg+Y29kZTwvdGg+PC90cj4KPC90aGVhZD4KPHRib2R5PgoJPHRyPjx0aCByb3dzcGFuPSc5Jz5UYWc8YnIvID5vZjxici8gPmNsYXNzOjwvdGg+CgkJPHRoPmJsb2NrPC90aD4gICAgICA8dGQ+WWVzPC90ZD48dGQ+LiAgPC90ZD48dGQ+LiAgPC90ZD48dGQ+LiAgPC90ZD48dGQ+WWVzPC90ZD48dGQ+LiAgPC90ZD48dGQ+LiAgPC90ZD48L3RyPgoJPHRyPjx0aD5pbmxpbmU8L3RoPiAgICAgPHRkPlllczwvdGQ+PHRkPlllczwvdGQ+PHRkPlllczwvdGQ+PHRkPi4gIDwvdGQ+PHRkPlllczwvdGQ+PHRkPi4gIDwvdGQ+PHRkPi4gIDwvdGQ+PC90cj4KCTx0cj48dGg+bGluazwvdGg+ICAgICAgIDx0ZD5ZZXM8L3RkPjx0ZD5ZZXM8L3RkPjx0ZD4uICA8L3RkPjx0ZD4uICA8L3RkPjx0ZD5ZZXM8L3RkPjx0ZD4uICA8L3RkPjx0ZD4uICA8L3RkPjwvdHI+Cgk8dHI+PHRoPmxpc3Q8L3RoPiAgICAgICA8dGQ+WWVzPC90ZD48dGQ+LiAgPC90ZD48dGQ+LiAgPC90ZD48dGQ+LiAgPC90ZD48dGQ+WWVzPC90ZD48dGQ+LiAgPC90ZD48dGQ+LiAgPC90ZD48L3RyPgoJPHRyPjx0aD5saXN0aXRlbTwvdGg+ICAgPHRkPi4gIDwvdGQ+PHRkPi4gIDwvdGQ+PHRkPi4gIDwvdGQ+PHRkPlllczwvdGQ+PHRkPi4gIDwvdGQ+PHRkPi4gIDwvdGQ+PHRkPi4gIDwvdGQ+PC90cj4KCTx0cj48dGg+Y29sdW1uczwvdGg+ICAgIDx0ZD5ZZXM8L3RkPjx0ZD4uICA8L3RkPjx0ZD4uICA8L3RkPjx0ZD4uICA8L3RkPjx0ZD5ZZXM8L3RkPjx0ZD4uICA8L3RkPjx0ZD4uICA8L3RkPjwvdHI+Cgk8dHI+PHRoPm5leHRjb2w8L3RoPiAgICA8dGQ+LiAgPC90ZD48dGQ+LiAgPC90ZD48dGQ+LiAgPC90ZD48dGQ+LiAgPC90ZD48dGQ+LiAgPC90ZD48dGQ+WWVzPC90ZD48dGQ+LiAgPC90ZD48L3RyPgoJPHRyPjx0aD5pbWFnZTwvdGg+ICAgICAgPHRkPlllczwvdGQ+PHRkPlllczwvdGQ+PHRkPlllczwvdGQ+PHRkPi4gIDwvdGQ+PHRkPlllczwvdGQ+PHRkPlllczwvdGQ+PHRkPi4gIDwvdGQ+PC90cj4KCTx0cj48dGg+Y29kZTwvdGg+ICAgICAgIDx0ZD5ZZXM8L3RkPjx0ZD4uICA8L3RkPjx0ZD4uICA8L3RkPjx0ZD4uICA8L3RkPjx0ZD5ZZXM8L3RkPjx0ZD5ZZXM8L3RkPjx0ZD4uICA8L3RkPjwvdHI+Cgk8dHI+PHRoIHJvd3NwYW49JzMnPlNwZWNpYWw8YnIgLz5jb250ZW50OjwvdGg+CgkJPHRoPltwbGFpbnRleHRdPC90aD48dGQ+WWVzPC90ZD48dGQ+WWVzPC90ZD48dGQ+WWVzPC90ZD48dGQ+LiAgPC90ZD48dGQ+WWVzPC90ZD48dGQ+WWVzPC90ZD48dGQ+WWVzPC90ZD48L3RyPgoJPHRyPjx0aD5bc21pbGV5c108L3RoPiAgPHRkPlllczwvdGQ+PHRkPlllczwvdGQ+PHRkPlllczwvdGQ+PHRkPi4gIDwvdGQ+PHRkPlllczwvdGQ+PHRkPlllczwvdGQ+PHRkPi4gIDwvdGQ+PC90cj4KCTx0cj48dGg+W3J1bGVzXTwvdGg+ICAgIDx0ZD5ZZXM8L3RkPjx0ZD4uICA8L3RkPjx0ZD4uICA8L3RkPjx0ZD4uICA8L3RkPjx0ZD5ZZXM8L3RkPjx0ZD5ZZXM8L3RkPjx0ZD4uICA8L3RkPjwvdHI+CjwvdGJvZHk+CjwvdGFibGU+Cgo8cD4qIE5vdGU6IEluIHRoZSBsaXN0IG9mIHBvc3NpYmxlIGNvbnRhaW5lcnMsIHRoZSA8dHQ+bmV4dGNvbDwvdHQ+IGFuZCA8dHQ+aW1hZ2U8L3R0PiBjbGFzc2VzCmFyZSBvbWl0dGVkIGJlY2F1c2UgdGhleSBjYW5ub3QgY29udGFpbiBhbnkgY29udGVudC48L3A+Cgo8cD5UaGUgaW5pdGlhbCBjb250YWluZXIgY2xhc3MgdGhhdCB3cmFwcyBhcm91bmQgdGhlIGVudGlyZSBpbnB1dCBkb2N1bWVudCBpcyAiPHR0PmJsb2NrPC90dD4iIGJ5CmRlZmF1bHQ7IGhvd2V2ZXIsIHRoaXMgY2FuIGJlIGNoYW5nZWQgYXQgcnVudGltZSB3aXRoIHRoZSA8YSBocmVmPSJhcGlfcm9vdC5odG1sI3JlZl9wYXJzZXJfU2V0Um9vdCI+PHR0PkJCQ29kZTo6U2V0Um9vdDwvdHQ+PC9hPgpmYW1pbHkgb2YgZnVuY3Rpb25zLjwvcD4KCjxwIHN0eWxlPSd0ZXh0LWFsaWduOnJpZ2h0Oyc+WyBQcmV2aW91czogPGEgaHJlZj0iYXBwX3J1bGUuaHRtbCI+Qi4gUnVsZSBQYXJhbWV0ZXJzPC9hPiB8IE5leHQ6IDxhIGhyZWY9ImFwcF9lbmhmbGFncy5odG1sIj5ELiBUZW1wbGF0ZSBGbGFnczwvYT4gXTwvcD4KCjxociAvPgoKPGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz5Db3B5cmlnaHQgJmNvcHk7IDIwMTAsIHRoZSBQaGFudG9tIElua2VyLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC48L2Rpdj4KCjwvZGl2PjwvZGl2PjwvZGl2PgoKPC9ib2R5PgoKPC9odG1sPgo=]]></data>
	</file>
	<file>
	  <filename>/docs/doc/app_css.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWw6bGFuZz0iZW4iIGxhbmc9ImVuIj4KCjxoZWFkPgo8dGl0bGU+Q1NTIEV4YW1wbGVzIC0gTkJCQzogVGhlIE5ldyBCQkNvZGUgUGFyc2VyPC90aXRsZT4KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+CjxsaW5rIHJlbD0nc3R5bGVzaGVldCcgdHlwZT0ndGV4dC9jc3MnIGhyZWY9J3N0eWxlcy5jc3MnIC8+CjwvaGVhZD4KCjxib2R5PgoKPGRpdiBhbGlnbj0nY2VudGVyJz48ZGl2IGNsYXNzPSdwYWdlX2NvbnRhaW5lcjInPjxkaXYgY2xhc3M9J3BhZ2VfY29udGFpbmVyJz4KCjxoMj5WSS4gQXBwZW5kaWNlczwvaDI+Cgo8cCBzdHlsZT0ndGV4dC1hbGlnbjpyaWdodDttYXJnaW46MDsnPlsgUHJldmlvdXM6IDxhIGhyZWY9ImFwcF9leGFtcGxlLmh0bWwiPkUuIENvbW1vbiBSdWxlIEV4YW1wbGVzPC9hPiB8IE5leHQ6IDxhIGhyZWY9ImFwcF9pbnRlcm5hbHMuaHRtbCI+Ry4gSG93IHRoZSBQYXJzZXIgV29ya3M8L2E+IF08L3A+Cgo8aDM+Ri4gQ1NTIEV4YW1wbGVzPC9oMz4KCjxwPlRoaXMgYXBwZW5kaXggcHJvdmlkZXMgc29tZSBzYW1wbGUgQ1NTIHRoYXQgeW91IGNhbiB1c2Ugb24geW91ciBvd24gc2l0ZXMuCkl0IGlzIG5vdCBmbGFzaHksIGJ1dCBpdCB3aWxsIGRvIHRoZSBqb2IgYWNjZXB0YWJseSB3ZWxsIGZvciBtb3N0IG5lZWRzLCBhbmQKcHJvdmlkZXMgYSBnb29kIHN0YXJ0aW5nIHBvaW50IGZvciBjcmVhdGluZyB5b3VyIG93biBCQkNvZGUgc3R5bGVzLjwvcD4KCjxoND5CbGFjayB0ZXh0LCB3aGl0ZSBiYWNrZ3JvdW5kLCBibHVlIGFjY2VudHM8L2g0PgoKPHA+VGhlIENTUyBiZWxvdyBpcyBzdWl0YWJsZSBmb3IgdXNlIHdpdGggPGk+YmxhY2s8L2k+IHRleHQgb24gYSA8aT53aGl0ZTwvaT4gYmFja2dyb3VuZC4KQWNyb255bXMgaGF2ZSBkYXNoZWQgbGlnaHQtZ3JlZW4gdW5kZXJsaW5lczsgc3BvaWxlcnMgYXJlIGJsYWNrLW9uLWJsYWNrOyBhbmQgcXVvdGVzCmFuZCBjb2RlIGJsb2NrcyB1c2UgPGk+Ymx1ZTwvaT4gYm9yZGVycy48L3A+Cgo8ZGl2IHN0eWxlPSdtYXJnaW4tbGVmdDoyZW07Jz4KPGRpdiBjbGFzcz0nY29kZV9oZWFkZXInPkNvZGU6PC9kaXY+Cjx4bXAgY2xhc3M9J2NvZGUnPi8qIEFkZCBhIGRhc2hlZCB1bmRlcmxpbmUgdG8gYWNyb255bXMuICovCnNwYW4uYWNyb255bSB7IGJvcmRlci1ib3R0b206MXB4IGRhc2hlZCBncmVlbjsgfQpzcGFuLmFjcm9ueW06aG92ZXIgeyBjb2xvcjogZ3JlZW47IGJvcmRlci1ib3R0b206MXB4IGRhc2hlZCBsaWdodGdyZWVuOyB9CgovKiBNYWtlIHNwb2lsZXJzIGludmlzaWJsZSwgc28gdGhhdCB5b3UgbmVlZCB0byBzZWxlY3QgdGhlbSB3aXRoIHRoZSBtb3VzZS4gKi8Kc3Bhbi5zcG9pbGVyIHsgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7IGNvbG9yOiBibGFjazsgfQoKLyogQWxpZ24gY29sdW1ucyB0byB0aGUgdG9wLCBhbmQgYWRkIHNvbWUgc3BhY2UgYmV0d2VlbiB0aGVtLiAqLwp0YWJsZS5iYmNvZGVfY29sdW1ucyB7IGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7CiAgICBtYXJnaW4tdG9wOiAxZW07IG1hcmdpbi1ib3R0b206IDFlbTsgfQp0YWJsZS5iYmNvZGVfY29sdW1ucyB0ZC5iYmNvZGVfY29sdW1uIHsgcGFkZGluZzogMCAxZW07IHZlcnRpY2FsLWFsaWduOiB0b3A7fQp0YWJsZS5iYmNvZGVfY29sdW1ucyB0ZC5iYmNvZGVfZmlyc3Rjb2x1bW4geyBib3JkZXItbGVmdDogMDsgcGFkZGluZy1sZWZ0OiAwOyB9CgovKiBXcmFwIHF1b3RlcyBpbiBhIGJpZyBibHVlIGJveC4gKi8KZGl2LmJiY29kZV9xdW90ZSB7IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7IG1hcmdpbjogMC41ZW0gMDsgfQpkaXYuYmJjb2RlX3F1b3RlX2hlYWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlOyBjb2xvcjogd2hpdGU7CiAgICBmb250LXdlaWdodDogYm9sZDsgcGFkZGluZzogMC4yNWVtIDAuNWVtOyB9CmRpdi5iYmNvZGVfcXVvdGVfaGVhZCBhOmxpbmsgeyBjb2xvcjogeWVsbG93OyB9CmRpdi5iYmNvZGVfcXVvdGVfaGVhZCBhOnZpc2l0ZWQgeyBjb2xvcjogeWVsbG93OyB9CmRpdi5iYmNvZGVfcXVvdGVfaGVhZCBhOmhvdmVyIHsgY29sb3I6IHdoaXRlOyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfQpkaXYuYmJjb2RlX3F1b3RlX2hlYWQgYTphY3RpdmUgeyBjb2xvcjogd2hpdGU7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9CmRpdi5iYmNvZGVfcXVvdGVfYm9keSB7IGJhY2tncm91bmQtY29sb3I6IHNreWJsdWU7CiAgICBjb2xvcjogYmxhY2s7IHBhZGRpbmc6IDAuNWVtIDFlbTsgfQoKLyogV3JhcCBjb2RlIGluIGEgYmlnIGJsdWUgYm94LiAqLwpkaXYuYmJjb2RlX2NvZGUgeyBib3JkZXI6IDFweCBzb2xpZCBibHVlOyBtYXJnaW46IDAuNWVtIDA7IH0KZGl2LmJiY29kZV9jb2RlX2hlYWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlOyBjb2xvcjogd2hpdGU7CiAgICBmb250LXdlaWdodDogYm9sZDsgcGFkZGluZzogMC4yNWVtIDAuNWVtOyB9CmRpdi5iYmNvZGVfY29kZV9ib2R5IHsgYmFja2dyb3VuZC1jb2xvcjogc2t5Ymx1ZTsgY29sb3I6IGJsYWNrOwogICAgZm9udDogMTBwdCBtb25vc3BhY2U7IHBhZGRpbmc6IDAuNWVtIDFlbTsgfTwveG1wPgo8L2Rpdj4KCjxoND5XaGl0ZSB0ZXh0LCBibGFjayBiYWNrZ3JvdW5kLCByZWQgYWNjZW50czwvaDQ+Cgo8cD5UaGUgQ1NTIGJlbG93IGlzIHN1aXRhYmxlIGZvciB1c2Ugd2l0aCA8aT53aGl0ZTwvaT4gdGV4dCBvbiBhIDxpPmJsYWNrPC9pPiBiYWNrZ3JvdW5kLgpBY3JvbnltcyBoYXZlIGRhc2hlZCBkYXJrLWdyZWVuIHVuZGVybGluZXM7IHNwb2lsZXJzIGFyZSBncmF5LW9uLWdyYXk7IGFuZCBxdW90ZXMKYW5kIGNvZGUgYmxvY2tzIHVzZSA8aT5yZWQ8L2k+IGJvcmRlcnMuPC9wPgoKPGRpdiBzdHlsZT0nbWFyZ2luLWxlZnQ6MmVtOyc+CjxkaXYgY2xhc3M9J2NvZGVfaGVhZGVyJz5Db2RlOjwvZGl2Pgo8eG1wIGNsYXNzPSdjb2RlJz4vKiBBZGQgYSBkYXNoZWQgdW5kZXJsaW5lIHRvIGFjcm9ueW1zLiAqLwpzcGFuLmFjcm9ueW0geyBib3JkZXItYm90dG9tOjFweCBkYXNoZWQgZGFya2dyZWVuOyB9CnNwYW4uYWNyb255bTpob3ZlciB7IGNvbG9yOiBsaWdodGdyZWVuOyBib3JkZXItYm90dG9tOjFweCBkYXNoZWQgZ3JlZW47IH0KCi8qIE1ha2Ugc3BvaWxlcnMgaW52aXNpYmxlLCBzbyB0aGF0IHlvdSBuZWVkIHRvIHNlbGVjdCB0aGVtIHdpdGggdGhlIG1vdXNlLiAqLwpzcGFuLnNwb2lsZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiBncmF5OyBjb2xvcjogZ3JheTsgfQoKLyogQWxpZ24gY29sdW1ucyB0byB0aGUgdG9wLCBhbmQgYWRkIHNvbWUgc3BhY2UgYmV0d2VlbiB0aGVtLiAqLwp0YWJsZS5iYmNvZGVfY29sdW1ucyB7IGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7CiAgICBtYXJnaW4tdG9wOiAxZW07IG1hcmdpbi1ib3R0b206IDFlbTsgfQp0YWJsZS5iYmNvZGVfY29sdW1ucyB0ZC5iYmNvZGVfY29sdW1uIHsgcGFkZGluZzogMCAxZW07IHZlcnRpY2FsLWFsaWduOiB0b3A7fQp0YWJsZS5iYmNvZGVfY29sdW1ucyB0ZC5iYmNvZGVfZmlyc3Rjb2x1bW4geyBib3JkZXItbGVmdDogMDsgcGFkZGluZy1sZWZ0OiAwOyB9CgovKiBXcmFwIHF1b3RlcyBpbiBhIGJpZyByZWQgYm94LiAqLwpkaXYuYmJjb2RlX3F1b3RlIHsgYm9yZGVyOiAxcHggc29saWQgZGFya3JlZDsgbWFyZ2luOiAwLjVlbSAwOyB9CmRpdi5iYmNvZGVfcXVvdGVfaGVhZCB7IGJhY2tncm91bmQtY29sb3I6IGRhcmtyZWQ7IGNvbG9yOiB3aGl0ZTsKICAgIGZvbnQtd2VpZ2h0OiBib2xkOyBwYWRkaW5nOiAwLjI1ZW0gMC41ZW07IH0KZGl2LmJiY29kZV9xdW90ZV9oZWFkIGE6bGluayB7IGNvbG9yOiB5ZWxsb3c7IH0KZGl2LmJiY29kZV9xdW90ZV9oZWFkIGE6dmlzaXRlZCB7IGNvbG9yOiB5ZWxsb3c7IH0KZGl2LmJiY29kZV9xdW90ZV9oZWFkIGE6aG92ZXIgeyBjb2xvcjogd2hpdGU7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9CmRpdi5iYmNvZGVfcXVvdGVfaGVhZCBhOmFjdGl2ZSB7IGNvbG9yOiB3aGl0ZTsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH0KZGl2LmJiY29kZV9xdW90ZV9ib2R5IHsgYmFja2dyb3VuZC1jb2xvcjogIzMzMzsKICAgIGNvbG9yOiB3aGl0ZTsgcGFkZGluZzogMC41ZW0gMWVtOyB9CgovKiBXcmFwIGNvZGUgaW4gYSBiaWcgcmVkIGJveC4gKi8KZGl2LmJiY29kZV9jb2RlIHsgYm9yZGVyOiAxcHggc29saWQgZGFya3JlZDsgbWFyZ2luOiAwLjVlbSAwOyB9CmRpdi5iYmNvZGVfY29kZV9oZWFkIHsgYmFja2dyb3VuZC1jb2xvcjogZGFya3JlZDsgY29sb3I6IHdoaXRlOwogICAgZm9udC13ZWlnaHQ6IGJvbGQ7IHBhZGRpbmc6IDAuMjVlbSAwLjVlbTsgfQpkaXYuYmJjb2RlX2NvZGVfYm9keSB7IGJhY2tncm91bmQtY29sb3I6ICMzMzM7IGNvbG9yOiB3aGl0ZTsKICAgIGZvbnQ6IDEwcHQgbW9ub3NwYWNlOyBwYWRkaW5nOiAwLjVlbSAxZW07IH08L3htcD4KPC9kaXY+Cgo8cCBzdHlsZT0ndGV4dC1hbGlnbjpyaWdodDsnPlsgUHJldmlvdXM6IDxhIGhyZWY9ImFwcF9leGFtcGxlLmh0bWwiPkUuIENvbW1vbiBSdWxlIEV4YW1wbGVzPC9hPiB8IE5leHQ6IDxhIGhyZWY9ImFwcF9pbnRlcm5hbHMuaHRtbCI+Ry4gSG93IHRoZSBQYXJzZXIgV29ya3M8L2E+IF08L3A+Cgo8aHIgLz4KCjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+Q29weXJpZ2h0ICZjb3B5OyAyMDEwLCB0aGUgUGhhbnRvbSBJbmtlci4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9kaXY+Cgo8L2Rpdj48L2Rpdj48L2Rpdj4KCjwvYm9keT4KCjwvaHRtbD4K]]></data>
	</file>
	<file>
	  <filename>/docs/doc/app_enhflags.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWw6bGFuZz0iZW4iIGxhbmc9ImVuIj4KCjxoZWFkPgo8dGl0bGU+VGVtcGxhdGUgRmxhZ3MgLSBOQkJDOiBUaGUgTmV3IEJCQ29kZSBQYXJzZXI8L3RpdGxlPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz4KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyB0eXBlPSd0ZXh0L2NzcycgaHJlZj0nc3R5bGVzLmNzcycgLz4KPC9oZWFkPgoKPGJvZHk+Cgo8ZGl2IGFsaWduPSdjZW50ZXInPjxkaXYgY2xhc3M9J3BhZ2VfY29udGFpbmVyMic+PGRpdiBjbGFzcz0ncGFnZV9jb250YWluZXInPgoKPGgyPlZJLiBBcHBlbmRpY2VzPC9oMj4KCjxwIHN0eWxlPSd0ZXh0LWFsaWduOnJpZ2h0O21hcmdpbjowOyc+WyBQcmV2aW91czogPGEgaHJlZj0iYXBwX2NsYXNzLmh0bWwiPkMuIENvbnRlbnQgQ2xhc3NlczwvYT4gfCBOZXh0OiA8YSBocmVmPSJhcHBfZXhhbXBsZS5odG1sIj5FLiBDb21tb24gUnVsZSBFeGFtcGxlczwvYT4gXTwvcD4KCjxoMz5ELiBUZW1wbGF0ZSBGbGFnczwvaDM+Cgo8cD5XaXRoIGFuIGVuaGFuY2VkIG1vZGUgdGFnIG9yIHRoZSA8YSBocmVmPSJhcGlfbWlzYy50cGwjcmVmX3BhcnNlcl9GaWxsVGVtcGxhdGUiPkZpbGxUZW1wbGF0ZSgpPC9hPgpmdW5jdGlvbiwgeW91IG1heSBhZGQgZm9ybWF0dGluZyBmbGFncyB0byBhIHZhcmlhYmxlIGFmdGVyIGEgc2xhc2gKY2hhcmFjdGVyICg8dHQ+LzwvdHQ+KSB0byBjb250cm9sIGhvdyBpdHMgdGV4dCBpcyBjbGVhbmVkIHVwLiAgQnkgZGVmYXVsdCwgdGhlIHRleHQgaXMKdW5jaGFuZ2VkLCBwYXNzZWQgcmF3IHRvIHRoZSBvdXRwdXQuICAoTm90ZTogVGhpcyBkaWZmZXJzIGZyb20gdGhlIGJlaGF2aW9yIG9mIE5CQkMgdjEuMgphbmQgZWFybGllci4pICBIb3dldmVyLCB5b3UgY2FuIGNoYW5nZSB0aGlzIHNvIHRoYXQgeW91IGRvIG5vdCBoYXZlIHRvIG1hbnVhbGx5IGVuY29kZQp5b3VyIGRhdGE6ICBGb3IgZXhhbXBsZSwgdXNpbmcgPHR0PnskdmFyaWFibGUvdX08L3R0PiBpbnN0ZWFkIG9mIGp1c3QgPHR0PnskdmFyaWFibGV9PC90dD4KY2F1c2VzIHRoaXMgdmFyaWFibGUgdG8gYmUgcGFzc2VkIHRocm91Z2ggPHR0PnVybGVuY29kZSgpPC90dD4sIGFuZCB1c2luZyA8dHQ+eyR2YXJpYWJsZS9lfTwvdHQ+CmNhdXNlcyB0aGlzIHZhcmlhYmxlIHRvIGJlIHBhc3NlZCB0aHJvdWdoIDxhIGhyZWY9ImFwaV9taXNjLmh0bWwjcmVmX3BhcnNlcl9IVE1MRW5jb2RlIj5IVE1MRW5jb2RlKCk8L2E+LgpUaGUgYXZhaWxhYmxlIGZvcm1hdHRpbmcgZmxhZ3MgYXJlOjwvcD4KCjx1bD4KPGxpIHN0eWxlPSdtYXJnaW4tYm90dG9tOjFlbTsnPjxiPjx0dD52PC90dD4gLSBWZXJiYXRpbS48L2I+ICBEbyBub3QgYXBwbHkgYW55IGZvcm1hdHRpbmcgdG8gdGhlIHZhcmlhYmxlOyB1c2UgaXRzIGV4YWN0IHRleHQsCglob3dldmVyIHRoZSB1c2VyIHByb3ZpZGVkIGl0LiAgVGhpcyBvdmVycmlkZXMgYWxsIG90aGVyIGZsYWdzLjwvbGk+Cgo8bGk+PGI+PHR0PmI8L3R0PiAtIEFwcGx5IDx0dD5iYXNlbmFtZSgpPC90dD4gdG8gdGhlIHZhcmlhYmxlLjwvYj48L2xpPgo8bGk+PGI+PHR0Pm48L3R0PiAtIEFwcGx5IDx0dD5ubDJicigpPC90dD4gdG8gdGhlIHZhcmlhYmxlLjwvYj48L2xpPgo8bGk+PGI+PHR0PnQ8L3R0PiAtIFRyaW0uPC9iPiAgVGhpcyBjYXVzZXMgYWxsIGluaXRpYWwgYW5kIHRyYWlsaW5nIHdoaXRlc3BhY2UgdG8gYmUgdHJpbW1lZCAocmVtb3ZlZCkuPC9saT4KPGxpIHN0eWxlPSdtYXJnaW4tYm90dG9tOjFlbTsnPjxiPjx0dD53PC90dD4gLSBDbGVhbiB1cCB3aGl0ZXNwYWNlLjwvYj4gIFRoaXMgY2F1c2VzIGFsbCBub24tbmV3bGluZSB3aGl0ZXNwYWNlLCBzdWNoIGFzCgljb250cm9sIGNvZGVzIGFuZCB0YWJzLCB0byBiZSBjb2xsYXBzZWQgaW50byBpbmRpdmlkdWFsIHNwYWNlIGNoYXJhY3RlcnMuPC9saT4KCjxsaT48Yj48dHQ+ZTwvdHQ+IC0gQXBwbHkgPGEgaHJlZj0iYXBpX21pc2MuaHRtbCNyZWZfcGFyc2VyX0hUTUxFbmNvZGUiPjx0dD5CQkNvZGU6OkhUTUxFbmNvZGUoKTwvdHQ+PC9hPjwvYj4gdG8gdGhlIHZhcmlhYmxlLjwvbGk+CjxsaT48Yj48dHQ+aDwvdHQ+IC0gQXBwbHkgPHR0Pmh0bWxzcGVjaWFsY2hhcnMoKTwvdHQ+PC9iPiB0byB0aGUgdmFyaWFibGUuPC9saT4KPGxpPjxiPjx0dD5rPC90dD4gLSBBcHBseSA8YSBocmVmPSJhcGlfd2lraS5odG1sI3JlZl9wYXJzZXJfV2lraWZ5Ij48dHQ+QkJDb2RlOjpXaWtpZnkoKTwvdHQ+PC9hPjwvYj4gdG8gdGhlIHZhcmlhYmxlLjwvbGk+CjxsaT48Yj48dHQ+dTwvdHQ+IC0gQXBwbHkgPHR0PnVybGVuY29kZSgpPC90dD48L2I+IHRvIHRoZSB2YXJpYWJsZS48L2xpPgo8L3VsPgoKPHA+Tm90ZSB0aGF0IG9ubHkgb25lIG9mIHRoZSAnZScsICdoJywgJ2snLCBvciAndScgZmxhZ3MgbWF5IGJlIHNwZWNpZmllZDsKdGhlc2UgZm91ciBmbGFncyBhcmUgbXV0dWFsbHktZXhjbHVzaXZlLiAgTm90ZSBhbHNvIHRoYXQgdGhlICd2JyBmbGFnIG92ZXJyaWRlcwphbGwgb3RoZXIgZmxhZ3MsIGFuZCBjYW4gZWZmZWN0aXZlbHkgYmUgdXNlZCBkdXJpbmcgZGVidWdnaW5nIHRvIHRlbXBvcmFyaWx5CmRpc2FibGUgYWxsIGZvcm1hdHRpbmcgZmxhZ3MuPC9wPgoKPHAgc3R5bGU9J3RleHQtYWxpZ246cmlnaHQ7Jz5bIFByZXZpb3VzOiA8YSBocmVmPSJhcHBfY2xhc3MuaHRtbCI+Qy4gQ29udGVudCBDbGFzc2VzPC9hPiB8IE5leHQ6IDxhIGhyZWY9ImFwcF9leGFtcGxlLmh0bWwiPkUuIENvbW1vbiBSdWxlIEV4YW1wbGVzPC9hPiBdPC9wPgoKPGhyIC8+Cgo8ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPkNvcHlyaWdodCAmY29weTsgMjAxMCwgdGhlIFBoYW50b20gSW5rZXIuICBBbGwgcmlnaHRzIHJlc2VydmVkLjwvZGl2PgoKPC9kaXY+PC9kaXY+PC9kaXY+Cgo8L2JvZHk+Cgo8L2h0bWw+Cg==]]></data>
	</file>
	<file>
	  <filename>/docs/doc/app_example.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWw6bGFuZz0iZW4iIGxhbmc9ImVuIj4KCjxoZWFkPgo8dGl0bGU+Q29tbW9uIFJ1bGUgRXhhbXBsZXMgLSBOQkJDOiBUaGUgTmV3IEJCQ29kZSBQYXJzZXI8L3RpdGxlPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz4KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyB0eXBlPSd0ZXh0L2NzcycgaHJlZj0nc3R5bGVzLmNzcycgLz4KPC9oZWFkPgoKPGJvZHk+Cgo8ZGl2IGFsaWduPSdjZW50ZXInPjxkaXYgY2xhc3M9J3BhZ2VfY29udGFpbmVyMic+PGRpdiBjbGFzcz0ncGFnZV9jb250YWluZXInPgoKPGgyPlZJLiBBcHBlbmRpY2VzPC9oMj4KCjxwIHN0eWxlPSd0ZXh0LWFsaWduOnJpZ2h0O21hcmdpbjowOyc+WyBQcmV2aW91czogPGEgaHJlZj0iYXBwX2VuaGZsYWdzLmh0bWwiPkQuIFRlbXBsYXRlIEZsYWdzPC9hPiB8IE5leHQ6IDxhIGhyZWY9ImFwcF9jc3MuaHRtbCI+Ri4gQ1NTIEV4YW1wbGVzPC9hPiBdPC9wPgoKPGgzPkUuIENvbW1vbiBSdWxlIEV4YW1wbGVzPC9oMz4KCjxoND5Db21tb24gUnVsZSBUeXBlczwvaDQ+Cgo8ZGl2IGNsYXNzPSdjb2RlX2hlYWRlcic+QSBzaW1wbGUgQkJDb2RlIC0tJmd0OyBIVE1MIHJ1bGU6PC9kaXY+Cjx4bXAgY2xhc3M9J2NvZGUnPiRiYmNvZGUtPkFkZFJ1bGUoJ21vbm8nLCBhcnJheSgKICAgICdzaW1wbGVfc3RhcnQnID0+ICc8dHQ+JywKICAgICdzaW1wbGVfZW5kJyA9PiAnPC90dD4nLAogICAgJ2NsYXNzJyA9PiAnaW5saW5lJywKICAgICdhbGxvd19pbicgPT4gQXJyYXkoJ2xpc3RpdGVtJywgJ2Jsb2NrJywgJ2NvbHVtbnMnLCAnaW5saW5lJywgJ2xpbmsnKSwKKSk7PC94bXA+Cgo8ZGl2IGNsYXNzPSdjb2RlX2hlYWRlcic+QW4gZW5oYW5jZWQgcnVsZSwgd2l0aCBwYXJhbWV0ZXIgdmFsaWRhdGlvbiBhbmQgZGVmYXVsdCB2YWx1ZXM6PC9kaXY+Cjx4bXAgY2xhc3M9J2NvZGUnPiRiYmNvZGUtPkFkZFJ1bGUoJ2JvcmRlcicsICBBcnJheSgKICAgICdtb2RlJyA9PiBCQkNPREVfTU9ERV9FTkhBTkNFRCwKICAgICd0ZW1wbGF0ZScgPT4gJzxkaXYgc3R5bGU9ImJvcmRlcjogeyRzaXplfXB4IHNvbGlkIHskY29sb3J9Ij57JF9jb250ZW50fTwvZGl2PicsCiAgICAnYWxsb3cnID0+IEFycmF5KAogICAgICAgICdjb2xvcicgPT4gJy9eI1swLTlhLWZBLUZdK3xbYS16QS1aXSskLycsCiAgICAgICAgJ3NpemUnID0+ICcvXlsxLTldWzAtOV0qJC8nLAogICAgKSwKICAgICdkZWZhdWx0JyA9PiBBcnJheSgKICAgICAgICAnY29sb3InID0+ICdibHVlJywKICAgICAgICAnc2l6ZScgPT4gJzEnLAogICAgKSwKICAgICdjbGFzcycgPT4gJ2Jsb2NrJywKICAgICdhbGxvd19pbicgPT4gQXJyYXkoJ2xpc3RpdGVtJywgJ2Jsb2NrJywgJ2NvbHVtbnMnKSwKKSk7PC94bXA+Cgo8ZGl2IGNsYXNzPSdjb2RlX2hlYWRlcic+QSBjYWxsYmFjayBydWxlOjwvZGl2Pgo8eG1wIGNsYXNzPSdjb2RlJz4kYmJjb2RlLT5BZGRSdWxlKCdib3JkZXInLCAgQXJyYXkoCiAgICAnbW9kZScgPT4gQkJDT0RFX01PREVfQ0FMTEJBQ0ssCiAgICAnbWV0aG9kJyA9PiAnTXlCb3JkZXJGdW5jdGlvbicsCiAgICAnY2xhc3MnID0+ICdibG9jaycsCiAgICAnYWxsb3dfaW4nID0+IEFycmF5KCdsaXN0aXRlbScsICdibG9jaycsICdjb2x1bW5zJyksCikpOwoKZnVuY3Rpb24gTXlCb3JkZXJGdW5jdGlvbigkYmJjb2RlLCAkYWN0aW9uLCAkbmFtZSwKICAgICRkZWZhdWx0LCAkcGFyYW1zLCAkY29udGVudCkgewogICAgLi4uLgp9PC94bXA+Cgo8ZGl2IGNsYXNzPSdjb2RlX2hlYWRlcic+QSBjYWxsYmFjayBydWxlIHRvIGEgbWV0aG9kIG9mIGFuIG9iamVjdDo8L2Rpdj4KPHhtcCBjbGFzcz0nY29kZSc+Y2xhc3MgTXlPYmplY3QgewogICAgZnVuY3Rpb24gQmxhcmdGdW5jdGlvbigkYmJjb2RlLCAkYWN0aW9uLCAkbmFtZSwKICAgICAgICAkZGVmYXVsdCwgJHBhcmFtcywgJGNvbnRlbnQpIHsKICAgICAgICAuLi4uCiAgICB9Cn0KCiRvYmplY3QgPSBuZXcgTXlPYmplY3Q7CgokYmJjb2RlLT5BZGRSdWxlKCdibGFyZycsICBBcnJheSgKICAgICdtb2RlJyA9PiBCQkNPREVfTU9ERV9DQUxMQkFDSywKICAgICdtZXRob2QnID0+IGFycmF5KCRvYmplY3QsICdCbGFyZ0Z1bmN0aW9uJyksCiAgICAnY2xhc3MnID0+ICdibG9jaycsCiAgICAnYWxsb3dfaW4nID0+IEFycmF5KCdsaXN0aXRlbScsICdibG9jaycsICdjb2x1bW5zJyksCikpOzwveG1wPgoKPGhyIC8+Cgo8aDQ+Q29tbW9uIENsYXNzIFR5cGVzPC9oND4KCjxwPklmIHlvdXIgdGFnIGlzIGEgbmV3IDxiPnJlcGxhY2VkIGl0ZW08L2I+IHRhZyAobGlrZSBbaW1nXSwgZm9yIGV4YW1wbGUpLCB5b3UnbGwgcHJvYmFibHkgd2FudCB0byB1c2UgdGhlc2UgY2xhc3Nlczo8L3A+Cjx4bXAgY2xhc3M9J2NvZGUnPmFycmF5KAogICAgLi4uCiAgICAnY2xhc3MnID0+ICdpbWFnZScsCiAgICAnYWxsb3dfaW4nID0+IEFycmF5KCdsaXN0aXRlbScsICdibG9jaycsICdjb2x1bW5zJywgJ2lubGluZScsICdsaW5rJyksCiAgICAuLi4KKTwveG1wPgoKPHA+SWYgeW91ciB0YWcgaXMgYSBuZXcgPGI+aW5saW5lIHN0eWxlPC9iPiB0YWcgKGxpa2UgW2JdIG9yIFtmb250XSwgZm9yIGV4YW1wbGUpLCB5b3UnbGwgcHJvYmFibHkgd2FudCB0byB1c2UgdGhlc2UgY2xhc3Nlczo8L3A+Cjx4bXAgY2xhc3M9J2NvZGUnPmFycmF5KAogICAgLi4uCiAgICAnY2xhc3MnID0+ICdpbmxpbmUnLAogICAgJ2FsbG93X2luJyA9PiBBcnJheSgnbGlzdGl0ZW0nLCAnYmxvY2snLCAnY29sdW1ucycsICdpbmxpbmUnLCAnbGluaycpLAogICAgLi4uCik8L3htcD4KCjxwPklmIHlvdXIgdGFnIGlzIGEgbmV3IDxiPmxpbms8L2I+IHRhZyAobGlrZSBbdXJsXSBvciBbZW1haWxdLCBmb3IgZXhhbXBsZSksIHlvdSdsbCBwcm9iYWJseSB3YW50IHRvIHVzZSB0aGVzZSBjbGFzc2VzOjwvcD4KPHhtcCBjbGFzcz0nY29kZSc+YXJyYXkoCiAgICAuLi4KICAgICdjbGFzcycgPT4gJ2xpbmsnLAogICAgJ2FsbG93X2luJyA9PiBBcnJheSgnbGlzdGl0ZW0nLCAnYmxvY2snLCAnY29sdW1ucycsICdpbmxpbmUnKSwKICAgIC4uLgopPC94bXA+Cgo8cD5JZiB5b3VyIHRhZyBpcyBhIG5ldyA8Yj5ibG9jazwvYj4gdGFnIChsaWtlIFtxdW90ZV0gb3IgW2NlbnRlcl0sIGZvciBleGFtcGxlKSwgeW91J2xsIHByb2JhYmx5IHdhbnQgdG8gdXNlIHRoZXNlIGNsYXNzZXM6PC9wPgo8eG1wIGNsYXNzPSdjb2RlJz5hcnJheSgKICAgIC4uLgogICAgJ2NsYXNzJyA9PiAnYmxvY2snLAogICAgJ2FsbG93X2luJyA9PiBBcnJheSgnbGlzdGl0ZW0nLCAnYmxvY2snLCAnY29sdW1ucycpLAogICAgLi4uCik8L3htcD4KCjxwPlJlZ2FyZGxlc3Mgb2Ygd2hpY2ggY2xhc3NlcyB5b3UgdXNlLCBpdCBpcyBzdGlsbCBpbXBvcnRhbnQgdG8gY2hlY2sgdG8gbWFrZSBzdXJlIHRoYXQgeW91ciBuZXcKdGFnIGNhbiBvbmx5IGdvIGluc2lkZSBvdGhlciB0YWdzIHdoZXJlIGl0J3MgbGVnYWw6ICBGb3IgZXhhbXBsZSwgaWYgeW91ciB0YWcgb3V0cHV0cyBhIDx0dD4mbHQ7c3BhbiZndDs8L3R0PiwKaXQncyBsZWdhbCBpbnNpZGUgYW5vdGhlciB0YWcgdGhhdCBvdXRwdXRzIGEgPHR0PiZsdDtkaXYmZ3Q7PC90dD4sIGJ1dCBub3QgdGhlIG90aGVyIHdheSBhcm91bmQuICBUaGUgcnVsZXMKYWJvdmUgYXJlIGdvb2QgcnVsZXMgb2YgdGh1bWIsIGJ1dCBpdCdzIHN0aWxsIGltcG9ydGFudCB0byBjaGVjay4gIChGb3IgZXhhbXBsZSwgeW91IHNob3VsZCBub3QgYWxsb3cgdGhlCnVzZXIgdG8gcGxhY2UgYSBGbGFzaCBhbmltYXRpb24gaW5zaWRlIGFuIDx0dD4mbHQ7YSZuYnNwO2hyZWY9Ii4uLiImZ3Q7Li4uJmx0Oy9hJmd0OzwvdHQ+IGVsZW1lbnQsIHdoaWNoCm1lYW5zIHRoYXQgaWYgeW91IGFkZCBhIDx0dD5bZmxhc2hdPC90dD4gdGFnLCBpdCdzIG9mIGNsYXNzICI8dHQ+aW1hZ2U8L3R0PiIgYnV0IGlzIDxpPm5vdDwvaT4gYWxsb3dlZAppbnNpZGUgY2xhc3MgIjx0dD5saW5rPC90dD4iIGxpa2UgPHR0PltpbWddPC90dD4gaXMuICBBbHdheXMgY2FyZWZ1bGx5IGNoZWNrIHRvIHNlZSBob3cgeW91ciBuZXcgdGFncwphZmZlY3QgdGhlIGNsYXNzIGhpZXJhcmNoeSBhbmQgdGhlIHJlc3VsdGluZyBIVE1MLik8L3A+Cgo8cCBzdHlsZT0ndGV4dC1hbGlnbjpyaWdodDsnPlsgUHJldmlvdXM6IDxhIGhyZWY9ImFwcF9lbmhmbGFncy5odG1sIj5ELiBUZW1wbGF0ZSBGbGFnczwvYT4gfCBOZXh0OiA8YSBocmVmPSJhcHBfY3NzLmh0bWwiPkYuIENTUyBFeGFtcGxlczwvYT4gXTwvcD4KCjxociAvPgoKPGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz5Db3B5cmlnaHQgJmNvcHk7IDIwMTAsIHRoZSBQaGFudG9tIElua2VyLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC48L2Rpdj4KCjwvZGl2PjwvZGl2PjwvZGl2PgoKPC9ib2R5PgoKPC9odG1sPgo=]]></data>
	</file>
	<file>
	  <filename>/docs/doc/app_internals.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWw6bGFuZz0iZW4iIGxhbmc9ImVuIj4KCjxoZWFkPgo8dGl0bGU+SG93IHRoZSBQYXJzZXIgV29ya3MgLSBOQkJDOiBUaGUgTmV3IEJCQ29kZSBQYXJzZXI8L3RpdGxlPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz4KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyB0eXBlPSd0ZXh0L2NzcycgaHJlZj0nc3R5bGVzLmNzcycgLz4KPC9oZWFkPgoKPGJvZHk+Cgo8ZGl2IGFsaWduPSdjZW50ZXInPjxkaXYgY2xhc3M9J3BhZ2VfY29udGFpbmVyMic+PGRpdiBjbGFzcz0ncGFnZV9jb250YWluZXInPgoKPGgyPlZJLiBBcHBlbmRpY2VzPC9oMj4KCjxwIHN0eWxlPSd0ZXh0LWFsaWduOnJpZ2h0O21hcmdpbjowOyc+WyBQcmV2aW91czogPGEgaHJlZj0iYXBwX2Nzcy5odG1sIj5GLiBDU1MgRXhhbXBsZXM8L2E+IHwgTmV4dDogPGEgaHJlZj0iYXBwX3RhZ3BhcmFtcy5odG1sIj5ILiBUYWcgUGFyYW1ldGVyczwvYT4gXTwvcD4KCjxoMz5HLiBIb3cgdGhlIFBhcnNlciBXb3JrczwvaDM+Cgo8ZGl2IGNsYXNzPSd0aXBib3gnPgoJPGRpdiBjbGFzcz0ndGlwYm94X2hlYWRlcic+CgkJPGRpdiBjbGFzcz0ndGlwYm94X3N0YXInPio8L2Rpdj48ZGl2PjxiPlRlY2ggVGlwPC9iPjwvZGl2PgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSd0aXBib3hfY29udGVudCc+PGRpdiBjbGFzcz0ndGlwYm94X2NvbnRlbnQyJz4KCQk8cD5UaGlzIHNlY3Rpb24gaXMgaW50ZW5kZWQgcHJpbWFyaWx5IGZvciBleHBlcmllbmNlZCBzb2Z0d2FyZSBlbmdpbmVlcnMgYW5kCgkJY29tcHV0ZXIgc2NpZW50aXN0cy4gIEl0J3MgaGVhdnkgb24gdGhlb3J5LCBsaWdodCBvbiBwcmFjdGljZSwgYW5kIGlmIHlvdSdyZQoJCXVuY29tZm9ydGFibGUgYXJvdW5kIGNvbmNlcHRzIGxpa2UgY29tcHV0YXRpb25hbCBvcmRlcnMsIGZpbml0ZS1zdGF0ZSBtYWNoaW5lcywKCQlhbmQgcHVzaC1kb3duIGF1dG9tYXRhLCB5b3UncmUgZ29pbmcgdG8gYmUgbG9zdC4gIElmIHlvdSBuZWVkIGFuIGludHJvZHVjdGlvbiB0bwoJCXRoZXNlIGNvbmNlcHRzLCB3ZSByZWNvbW1lbmQgdGhlIGNsYXNzaWMgPGEgaHJlZj0iaHR0cDovL3d3dy5hbWF6b24uY29tL0NvbXBpbGVycy1QcmluY2lwbGVzLVRlY2huaXF1ZXMtVG9vbHMtMm5kL2RwLzAzMjE0ODY4MTEvcmVmPXBkX2Jic19zcl8xP2llPVVURjgmcz1ib29rcyZxaWQ9MTIxNjA2NjQwOSZzcj04LTEiPkRyYWdvbiBCb29rPC9hPgoJCWFuZCBIb3Bjcm9mdCBhbmQgVWxsbWFuJ3MgPGEgaHJlZj0iaHR0cDovL3d3dy5hbWF6b24uY29tL0ludHJvZHVjdGlvbi1BdXRvbWF0YS1UaGVvcnktTGFuZ3VhZ2VzLUNvbXB1dGF0aW9uL2RwLzAzMjE0NjIyNTQvcmVmPXNyXzFfMz9pZT1VVEY4JnM9Ym9va3MmcWlkPTEyMTYwNjY1MDAmc3I9MS0zIj5MaXR0bGUgQm9vayBvZiBFdmlsPC9hPiwKCQlidXQgYmUgZm9yZXdhcm5lZCB0aGF0IGNvbXBpbGVycyBhcmUgYSBkZW5zZSBzdWJqZWN0LCBhbmQgZWFjaCBvbmUgb2YgdGhvc2UgYm9va3MKCQljb3VsZCByZWFkaWx5IGJlIHRoZSBzdWJqZWN0IG9mIGEgeWVhciBvciB0d28gb2Ygc3R1ZHkgYXQgYSBkZWNlbnQgdW5pdmVyc2l0eS48L3A+CgkJCgkJPHA+Rm9yIHdoYXQgaXQncyB3b3J0aCwgeW91IGRvbid0IG5lZWQgdG8ga25vdyBhbnkgb2YgdGhlIHN0dWZmIGluIHRoaXMgc2VjdGlvbgoJCXRvIGJlIGFibGUgdG8gdXNlIE5CQkM7IHRoaXMgc2VjdGlvbiBpcyBwcmltYXJpbHkgb2YgYWNhZGVtaWMgaW50ZXJlc3QuPC9wPgoJPC9kaXY+PC9kaXY+Cgk8L2Rpdj4KCjxwPk5CQkMgaXMgYSBjb21waWxlciwgYW5kIGlzIGJyb2tlbiBkb3duIGludG8gdHdvIG1haW4gbGF5ZXJzOiAgVGhlcmUncyB0aGUgbGV4aWNhbCBhbmFseXplciwKd2hpY2ggaXMgcmVzcG9uc2libGUgZm9yIGJyZWFraW5nIGNoYXJhY3RlcnMgc2VxdWVuY2VzIGludG8gdG9rZW5zLCBhbmQgaXMgaW1wbGVtZW50ZWQgaW4KPHR0Pm5iYmNfbGV4LnBocDwvdHQ+OyBhbmQgdGhlcmUncyB0aGUgcGFyc2VyLCB3aGljaCBpcyByZXNwb25zaWJsZSBmb3IgYW5hbHl6aW5nIHRoZSB0b2tlbgpzZXF1ZW5jZXMgYW5kIGdlbmVyYXRpbmcgcHJvcGVyIG91dHB1dC4gIFRoaXMgYXBwZW5kaXggaXMgPGk+bm90PC9pPiBpbnRlbmRlZCB0byBiZSBhIGNvbXBsZXRlCmFuYWx5c2lzIG9mIHRoZSBzdHJ1Y3R1cmUgb2YgTkJCQzogIFJhdGhlciwgaXQncyBpbnRlbmRlZCB0byBiZSBhIGJyb2FkIG92ZXJ2aWV3IHRoYXQgd2lsbApoZWxwIHlvdSB0byB1bmRlcnN0YW5kIHRoZSByYXRpb25hbGUgZW1ib2RpZWQgYnkgdGhlIHNvdXJjZSBjb2RlLCB3aGljaCBpcyB3ZWxsLWNvbW1lbnRlZCwKc28gc2hvdWxkIGJlIHJlbGF0aXZlbHkgZWFzeSB0byBmb2xsb3cgb25jZSB5b3UndmUgcmVhZCB0aGlzIHNob3J0IGRpc2N1c3Npb24uPC9wPgoKPGg0PlRoZSBMZXhlcjwvaDQ+Cgo8cD5Nb3N0IG9mIHRoZSBkaXNjdXNzaW9uIGFuZCBtb3N0IG9mIHRoZSBjb21wbGV4aXR5IGlzIGZvY3Vzc2VkIGluIHRoZSBwYXJzZXIsIHNvIGxldCdzCnF1aWNrbHkgZ2V0IHRoZSBsZXhpY2FsIGFuYWx5emVyIChsZXhlcikgb3V0IG9mIHRoZSB3YXkuICBMaWtlIG1vc3QgbGV4ZXJzLCBOQkJDJ3MgaXMKYnVpbHQgb24gcmVndWxhciBleHByZXNzaW9ucy4gIFRoZSBnZW5lcmFsIHByaW5jaXBsZSB1c2VkIGJ5IHRoZSBsZXhlciBpcyB0bwp1c2UgPHR0PnByZWdfc3BsaXQ8L3R0PiB0byBpbml0aWFsbHkgZGl2aWRlIHRoZSBpbnB1dCBpbnRvIGFuIGFycmF5IG9mIHN0cmluZ3MgdGhhdAphbHRlcm5hdGUgYmV0d2VlbiB0YWdzL3doaXRlc3BhY2UvbmV3bGluZXMgaW4gdGhlIG9kZCBhcnJheSBpbmRpY2VzIGFuZCBub24td2hpdGVzcGFjZQp0ZXh0IHN0cmluZ3MgaW4gdGhlIGV2ZW4gYXJyYXkgaW5kaWNlcy4gIEEgc2ltcGxlIGZsYWcgaXMgdXNlZCB0byB0cmFjayB3aGV0aGVyIHRoZQpuZXh0IGl0ZW0gaW4gdGhlIGFycmF5IGlzIGEgdGFnL3doaXRlc3BhY2UvbmV3bGluZSBvciBhIHRleHQgc3RyaW5nLjwvcD4KCjxwPkZvciB0aGlzIGRpc2N1c3Npb24sIHdlJ2xsIHVzZSB0aGUgZm9sbG93aW5nIGlucHV0IGFzIG91ciBwcmltYXJ5IGV4YW1wbGU6PC9wPgoKPGRpdiBjbGFzcz0nY29kZV9oZWFkZXInPkNvZGU6PC9kaXY+Cjx4bXAgY2xhc3M9J2NvZGUnPkJlZm9yZS4KW2NlbnRlcl1IZWxsbywgW2ldV29ybGRbL2ldIVsvY2VudGVyXQpBZnRlci48L3htcD4KCjxwPlRoZSBsZXhlciBicmVha3MgdGhpcyBpbnB1dCBkb3duIGludG8gdGhlIGZvbGxvd2luZyBzdHJlYW0gb2YgdG9rZW5zICh3cmFwcGVkIGhlcmUgZm9yCmNsYXJpdHkncyBzYWtlOyBub3RlIHRoYXQgdGhlIGVtcHR5IGFycmF5IGVsZW1lbnRzIGFyZSBvbWl0dGVkIGluIHRoaXMgZGlzY3Vzc2lvbiBmb3IKY2xhcml0eSk6PC9wPgoKPGRpdiBjbGFzcz0nY29kZV9oZWFkZXInPkNvZGU6PC9kaXY+Cjx4bXAgY2xhc3M9J2NvZGUnPiJCZWZvcmUuIiBXUyBOTCBbY2VudGVyXSAiSGVsbG8sIiBXUyBbaV0gIldvcmxkIiBbL2ldICIhIiBbL2NlbnRlcl0gTkwgIkFmdGVyLiI8L3htcD4KCjxwPkVhY2ggdG9rZW4gaXMgb2YgdHlwZSA8dHQ+QkJDT0RFX1RFWFQ8L3R0PiAobGlrZSAiPHR0PkJlZm9yZS48L3R0PiIpLCA8dHQ+QkJDT0RFX05MPC90dD4KKHdoaWNoIGlzIGEgbmV3bGluZSBtYXRjaGluZyBlaXRoZXIgVW4qeCwgV2luZG93cywgb3IgTWFjIGZvcm1hdHMpLCA8dHQ+QkJDT0RFX1dTPC90dD4gKGFueQpzZXF1ZW5jZSBvZiBub24tbmV3bGluZSB3aGl0ZXNwYWNlIGNoYXJhY3RlcnMpLCA8dHQ+QkJDT0RFX1RBRzwvdHQ+IChhIHN0YXJ0IHRhZyksIG9yCjx0dD5CQkNPREVfRU5EVEFHPC90dD4gKGFuIGVuZCB0YWcpLiAgVGhlc2UgYXJlIHJldHJpZXZlZCBieSB0aGUgcGFyc2VyIG9uZSBhdCBhIHRpbWUKYnkgY2FsbGluZyA8dHQ+QkJDb2RlTGV4ZXI6Ok5leHRUb2tlbigpPC90dD4uPC9wPgoKPGg0Pk92ZXJ2aWV3IG9mIHRoZSBQYXJzZXI8L2g0PgoKPHA+VGhlIHBhcnNlciBpcyBhIHB1c2gtZG93biBhdXRvbWF0b24gdGhhdCByZWNvZ25pemVzIGFuIExMKDEpIGdyYW1tYXIuCkl0cyBkZXNpZ24gaXMgaW5zcGlyZWQgYnkgdGhhdCBvZiBzaW1wbGUgcHVzaC1kb3duIG1hdGhlbWF0aWNhbCBleHByZXNzaW9uIHBhcnNlcnMsIHdoZXJlCnRoZSBzdGF0ZSBvZiB0aGUgc3RhY2sgYW5kIGEgc2luZ2xlIHRva2VuIG9mIGxvb2thaGVhZCBpcyB1c2VkIHRvIGRldGVybWluZSB3aGF0IG9wZXJhdGlvbgp0byBwZXJmb3JtIG5leHQuICBUaGlzIG1lYW5zIHRoYXQgdGhlIHBhcnNlciBpcyBpbXBsaWNpdGx5IGNvbnN0cnVjdGluZyBhIGRvY3VtZW50IHRyZWUKYmFzZWQgb24gdGhlIHRva2VucyBhbmQgdGhlIHRhZ3MnIGNsYXNzIGNvbnRyYWludHMsIGJ1dCBiZWNhdXNlIGl0J3MgYW4gaW1wbGljdCBpbnN0ZWFkCm9mIGV4cGxpY2l0IGNvbnN0cnVjdGlvbiwgaXQncyBtdWNoIGZhc3RlciB0aGFuIGEgZ2VudWluZSB0cmVlLWJ1aWxkZXI6ICBXZSBkb24ndCBuZWVkIHRvCmFsbG9jYXRlLCBzdG9yZSwgYW5kIGZyZWUgdHJlZSBub2RlcyBmb3IgdGhpcyB0byB3b3JrLjwvcD4KCjxwPldoZW4gcHJvdmlkZWQgd2l0aCBhIHN0cmluZywgdGhlIHBhcnNlciBnaXZlcyBpdCB0byB0aGUgbGV4ZXIsIHdoaWNoIGJyZWFrcyBpdCBkb3duCmludG8gdG9rZW5zOyB0aGVuIHRoZSBwYXJzZXIgcmVhZHMgZWFjaCBzdWNjZXNzaXZlIHRva2VuLCBvbmUgYXQgYSB0aW1lLCBhbmQgcHJvY2Vzc2VzCnRoZSB0b2tlbiBhY2NvcmRpbmcgdG8gaXRzIGN1cnJlbnQgc3RhdGUgYW5kIHRoZSBjb250ZW50cyBvZiB0aGUgc3RhY2suICBUaGlzIGlzIGFuCmFwcHJveGltYXRlIGRlc2NyaXB0aW9uIG9mIHdoYXQgaGFwcGVucyBmb3IgZWFjaCBpbmNvbWluZyB0b2tlbiwgaWdub3JpbmcgdGhlIG1hbnkgZWRnZQpjYXNlcywgZXJyb3ItZGV0ZWN0aW9uIGFuZCBlcnJvci1jb3JyZWN0aW9uLCBhbmQgd2hpdGVzcGFjZSBjbGVhbnVwczo8L3A+Cgo8dWw+CjxsaT48Yj48dHQ+QkJDT0RFX1RFWFQ8L3R0PjwvYj46ICBQbGFpbiB0ZXh0IGlzIGZpbHRlcmVkLCBhbmQgdGhlbiBwdXNoZWQgb250byB0aGUgdG9wCglvZiB0aGUgc3RhY2sgdG8gYXdhaXQgZnVydGhlciBwcm9jZXNzaW5nLjwvbGk+CjxsaT48Yj48dHQ+QkJDT0RFX1dTPC90dD48L2I+OiAgTm9uLW5ld2xpbmUgd2hpdGVzcGFjZSBpcyBwdXNoZWQganVzdCBsaWtlIHRleHQuPC9saT4KPGxpPjxiPjx0dD5CQkNPREVfTkw8L3R0PjwvYj46ICBOZXdsaW5lcyBhcmUgcHVzaGVkIG9udG8gdGhlIHN0YWNrIG1vc3RseSBsaWtlIHRleHQuPC9saT4KPGxpPjxiPjx0dD5CQkNPREVfVEFHPC90dD48L2I+OiAgT25lIG9mIHNldmVyYWwgdGhpbmdzIGNhbiBoYXBwZW4sIGRlcGVuZGluZyBvbiB3aGF0IGtpbmQgb2YgdGFnIHRoaXMgaXM6Cgk8dWw+Cgk8bGk+PGI+SWYgdGhlIHRhZyBpcyBhIHZlcmJhdGltIHRhZyw8L2I+IHJ1biBhIEJCQ09ERV9DSEVDSyBvbiBpdCwgdGhlbiBjb2xsZWN0IHN1Y2Nlc3NpdmUKCQl0b2tlbnMgdW50aWwgd2UgcmVhY2ggaXRzIG1hdGNoaW5nIGVuZCB0YWcuICBQYWNrIHRoZSBpbnRlcnZlbmluZyB0b2tlbnMgdG9nZXRoZXIsCgkJYW5kIHBhc3MgdGhlIHJlc3VsdCB0byB0aGUgdGFnJ3MgcHJvY2Vzc2luZyBmdW5jdGlvbi4gIFRoZSBvdXRwdXQgb2YgdGhlIHByb2Nlc3NpbmcKCQlmdW5jdGlvbiBpcyB0aGVuIHB1c2hlZCBiYWNrIG9udG8gdGhlIHN0YWNrIGFzIHRleHQuPC9saT4KCTxsaT48Yj5JZiB0aGUgdGFnIGlzIGFuIGlzb2xhdGVkIHRhZzwvYj4gKGl0IGhhcyBubyBlbmQgdGFnKSwgcnVuIGEgQkJDT0RFX0NIRUNLIG9uIGl0LAoJCWFuZCB0aGVuIGltbWVkaWF0ZWx5IHBhc3MgdGhlIHRhZyB0byB0aGUgdGFnJ3MgcHJvY2Vzc2luZyBmdW5jdGlvbi4gIFRoZSBvdXRwdXQgb2YKCQl0aGUgcHJvY2Vzc2luZyBmdW5jdGlvbiBpcyB0aGVuIHB1c2hlZCBiYWNrIG9udG8gdGhlIHN0YWNrIGFzIHRleHQuPC9saT4KCTxsaT48Yj5Gb3IgYWxsIG90aGVyIHN0YXJ0IHRhZ3MsPC9iPiBpbmNsdWRpbmcgdGhvc2Ugd2l0aCBib3RoIHJlcXVpcmVkIGFuZCBvcHRpb25hbCBlbmQKCQl0YWdzLCB3ZSBzaW1wbHkgcHVzaCB0aGUgdGFnIG9udG8gdGhlIHN0YWNrLCBzaW5jZSB3ZSB3b24ndCBrbm93IGhvdyB0byBmdWxseQoJCXByb2Nlc3MgaXQgdW50aWwgaXRzIGJvZHkgaGFzIGJlZW4gcHJvY2Vzc2VkLjwvbGk+Cgk8L3VsPgoJPC9saT4KPGxpPjxiPjx0dD5CQkNPREVfRU5EVEFHPC90dD48L2I+OiAgV2FsayBiYWNrd2FyZHMgdXAgdGhlIHN0YWNrLCBzZWFyY2hpbmcgZm9yIGEgbWF0Y2hpbmcKCXN0YXJ0IHRhZy4gIElmIGFuIGVuZGluZy1vcHRpb25hbCB0YWcgaXMgZm91bmQgaW4gYmV0d2VlbiwgYSBzdWl0YWJsZSBlbmQgdGFnIGlzIGdlbmVyYXRlZAoJZm9yIGl0IG9uIHRoZSBzcG90IGFuZCBwcm9jZXNzZWQsIHVudGlsIHRoZXJlIGlzIG5vdGhpbmcgYmV0d2VlbiB0aGlzIGVuZCB0YWcgYW5kIGl0cwoJc3RhcnQgdGFnIGV4Y2VwdCBmb3IgcHJvY2Vzc2VkIEhUTUwgdGV4dC4gIFRoZSBwcm9jZXNzZWQgSFRNTCB0ZXh0IGlzIGNvbGxlY3RlZCBhcyBhIHN0cmluZywKCWFuZCBwYXNzZWQgdG8gdGhlIHRhZydzIHByb2Nlc3NpbmcgZnVuY3Rpb247IHRoZSBvdXRwdXQgb2YKCXRoZSBwcm9jZXNzaW5nIGZ1bmN0aW9uIGlzIHRoZW4gcHVzaGVkIGJhY2sgb250byB0aGUgc3RhY2sgYXMgdGV4dC48L2xpPgo8L3VsPgoKPHA+QXQgdGhlIGVuZCBvZiBwcm9jZXNzaW5nIHRoZSBpbnB1dCwgdGhlIHN0YWNrIHdpbGwgY29udGFpbiB0aGUgb3V0cHV0IGFzIG11bHRpcGxlIHN0YWNrCmVudHJpZXM7IHRoZXNlIGFyZSBjb2xsZWN0ZWQgdG8gYSBzaW5nbGUgc3RyaW5nLCB3aGljaCBpcyByZXR1cm5lZCBhcyB0aGUgb3V0cHV0LjwvcD4KCjxoND5QZXJmb3JtYW5jZSBhbmFseXNpczwvaDQ+Cgo8cD5UaGlzIGFsZ29yaXRobSBydW5zIGluIE8obikgdGltZSBleGNlcHQgd2hlbiB3ZSBlbmNvdW50ZXIgYW4gZW5kIHRhZyBhbmQgaGF2ZSB0byBnbyBiYWNrCnVwIHRoZSBzdGFjazsgdGhlbiBpdCdzIE8obikgdG8gd2FsayBiYWNrIHRvIHRoZSBzdGFydCB0YWcsIGFuZCBPKG4pIHRvIGNvbGxlY3QgdG9rZW5zIGJldHdlZW4KdGhlIHN0YXJ0IHRhZyBhbmQgZW5kIHRhZyBhbmQgY29sbGFwc2UgdGhlbSBpbnRvIGEgc3RyaW5nLiAgU28gdGhpcyBpcyBlZmZlY3RpdmVseSBPKG4rbiptKSwKd2hlcmUgIm4iIGlzIHRoZSBudW1iZXIgb2YgaW5wdXQgdG9rZW5zIGFuZCAibSIgaXMgdGhlIG51bWJlciBvZiBlbmQgdGFnczsgaG93ZXZlciwgdGhhdCdzCmEgd29yc3QtY2FzZSBhbmFseXNpcywgYXNzdW1pbmcgdGhhdCBlYWNoIGVuZCB0YWcgY29udGFpbnMgYW4gZW50aXJlIGRvY3VtZW50J3Mgd29ydGggb2YgdG9rZW5zCmJldHdlZW4gaXQgYW5kIGl0cyBzdGFydCB0YWcuICBJbiBwcmFjdGljZSwgdGhlIG51bWJlciBvZiB0b2tlbnMgYmV0d2VlbiBhIHN0YXJ0IGFuZCBhbiBlbmQgdGFnIGlzCmZhaXJseSBzbWFsbCwgYXBwcm9hY2hpbmcgc29tZSBjb25zdGFudCBrICh3aGljaCBpcyBhcm91bmQgMjAgb3IgMzAgdG9rZW5zLCBpbiBwcmFjdGljZSksIHNvIGluCnR5cGljYWwsIGF2ZXJhZ2UgY2FzZXMsIHRoaXMgYWxnb3JpdGhtIHJ1bnMgaW4gTyhuK20pIHRpbWUuPC9wPgoKPHA+KEFzIGEgZnV0dXJlIG9wdGltaXphdGlvbiwgYSBjb25zdGFudC10aW1lIHNwZWVkdXAgY291bGQgYmUgYWNoaWV2ZWQgYnkgdXNpbmcKaGFzaCB0YWJsZXMgdG8gdHJhY2sgc3RhcnQgdGFnIGxvY2F0aW9ucywgaW5zdGVhZCBvZiBzZWFyY2hpbmcgZm9yIHRoZW0sIGJ1dCB0aGUKaW50ZXJ2ZW5pbmcgdG9rZW5zIG11c3QgYmUgY29sbGVjdGVkIGFueXdheSB3aGVuIHRoZSBzdGFydCB0YWcgaXMgZm91bmQsIHNvIHRoZSByZXN1bHRpbmcKc2VhcmNoIHBlcmZvcm1hbmNlIHdvdWxkIHN0aWxsIGJlIE8obikuKTwvcD4KCjxoND5FcnJvci1jb3JyZWN0aW9uPC9oND4KCjxwPldoaWxlIDx0dD5CQkNPREVfVEVYVDwvdHQ+LCA8dHQ+QkJDT0RFX1dTPC90dD4sIGFuZCA8dHQ+QkJDT0RFX05MPC90dD4gdG9rZW5zIGFyZSBhbHdheXMKbGVnYWwsIDx0dD5CQkNPREVfVEFHPC90dD4gYW5kIDx0dD5CQkNPREVfRU5EVEFHPC90dD4gdG9rZW5zIG1heSBiZSBpbGxlZ2FsIGluIHNvbWUgY2FzZXMsCmFuZCB0aGUgcGFyc2VyIG5lZWRzIHRvIGNvcGUgd2l0aCB0aGlzLiAgVGhlcmUgYXJlIHNldmVyYWwgcG9zc2liaWxpdGllczo8L3A+Cgo8dWw+CjxsaT48Yj48dHQ+QkJDT0RFX1RBRzwvdHQ+IHdpdGggbm8gbWF0Y2hpbmcgPHR0PkJCQ09ERV9FTkRUQUc8L3R0PjwvYj46ICBXaGVuIHRleHQgaXMgYmVpbmcgY29sbGVjdGVkCglhdCB0aGUgZW5kLCB0aGUgaW5pdGlhbCB0YWcgd2lsbCBoYXZlIGFuIGludmlzaWJsZSA8dHQ+QkJDT0RFX0VORFRBRzwvdHQ+IGFkZGVkIHRvIHRoZSBlbmQgb2YgdGhlIGlucHV0LjwvbGk+CjxsaT48Yj48dHQ+QkJDT0RFX0VORFRBRzwvdHQ+IHdpdGggbm8gbWF0Y2hpbmcgPHR0PkJCQ09ERV9UQUc8L3R0PjwvYj46ICBUaGlzIGlzIGNhdWdodCBkdXJpbmcgdGhlCglwcm9jZXNzaW5nIG9mIDx0dD5CQkNPREVfRU5EVEFHPC90dD46ICBJZiB0aGUgc2VhcmNoIHVwIHRocm91Z2ggdGhlIHN0YWNrIGZpbmRzIG5vCgltYXRjaGluZyA8dHQ+QkJDT0RFX1RBRzwvdHQ+LCB0aGlzIGVuZCB0YWcgaXMgc2ltcGx5IGNvbnZlcnRlZCB0byBwbGFpbiB0ZXh0IGFuZCBwdXNoZWQKCWFzIGEgbmV3IDx0dD5CQkNPREVfVEVYVDwvdHQ+IGVudHJ5LjwvbGk+CjxsaT48Yj5UYWcgaW5zaWRlIGEgY2xhc3MgdGhhdCBkb2Vzbid0IGFsbG93IGl0PC9iPjogIElmLCBmb3IgZXhhbXBsZSwgYSB1c2VyIHBsYWNlcyBhCgk8dHQ+W2NlbnRlcl08L3R0PiBpbnNpZGUgYW4gPHR0PltpXTwvdHQ+IHRhZywgdGhhdCdzIGlsbGVnYWwsIGFuZCBOQkJDIGhhcyBhIHNwZWNpYWwKCXJvdXRpbmUgdG8gaGFuZGxlIHRoaXMgY2FzZS4gIFdoZW4gYSA8dHQ+QkJDT0RFX1RBRzwvdHQ+IGlzIGVuY291bnRlcmVkLCBpdCBpcyBjaGVja2VkCglhZ2FpbnN0IHRoZSBjdXJyZW50IGNvbnRhaW5pbmcgY2xhc3MsIHdoaWNoIGNhbiBiZSBkZXRlcm1pbmVkIGZyb20gdGhlIHRvcCBvZiB0aGUgc3RhY2s7CglpZiB0aGUgY29udGFpbmluZyBjbGFzcyBpcyBkaXNhbGxvd2VkLCB0aGlzIDx0dD5CQkNPREVfVEFHPC90dD4gd2lsbCBiZSBjb252ZXJ0ZWQgdG8KCXBsYWluIHRleHQgYW5kIHB1c2hlZCBhcyBhIDx0dD5CQkNPREVfVEVYVDwvdHQ+IHRva2VuLjwvbGk+CjxsaT48Yj5NaXMtb3JkZXJlZCA8dHQ+W2ldW2JdPC90dD50YWcgbmVzdGluZzx0dD5bL2ldWy9iXTwvdHQ+PC9iPjogIFRoaXMgaXMgZGV0ZWN0ZWQgZHVyaW5nCgk8dHQ+QkJDT0RFX0VORFRBRzwvdHQ+IHByb2Nlc3Npbmc6ICBJZiB0aGUgd2FsayBiYWNrIHVwIHRoZSBzdGFjayBjcm9zc2VzIG92ZXIgYW55Cglub24tbWF0Y2hpbmcgc3RhcnQgdGFncywgTkJCQyBnZW5lcmF0ZXMgYSBtYXRjaGluZyBlbmQgdGFnIGZvciBlYWNoIG9mIHRob3NlIHN0YXJ0IHRhZ3MKCWp1c3QgYmVmb3JlIHRoZSBjdXJyZW50IGVuZCB0YWcsIGFuZCBzZXRzIGEgZmxhZyB0byBpbmRpY2F0ZSB0aGF0IGFueSBzaW5nbGUgZm9sbG93aW5nCgl1bm1hdGNoZWQgZW5kIHRhZyB3aXRoIHRoZSBzYW1lIG5hbWUgc2hvdWxkIGJlIHNpbGVudGx5IHJlbW92ZWQgZnJvbSB0aGUgaW5wdXQuICBXZSBjYW4KCWJlIHN1cmUgdGhhdCBhbnkgc3RhcnQgdGFncyB0aGF0IGFyZSBjcm9zc2VkIGFyZSBub3Qgc3RhcnQgdGFncyBvZiBhIGhpZ2hlciBjbGFzcywKCWJlY2F1c2UgdGhleSB3b3VsZCBoYXZlIGJlZW4gdHVybmVkIGludG8gcGxhaW4gdGV4dCAoYnkgdGhlIHByZXZpb3VzIGVycm9yLWhhbmRsaW5nIHJ1bGUpCglpZiB0aGV5IHdlcmUuICBTbyBpbiB0aGUgZXhhbXBsZSBvZiA8dHQ+W2ldW2JddGFnJm5ic3A7bmVzdGluZ1svaV1bL2JdPC90dD4sIHVwb24gcmVhY2hpbmcgdGhlIDx0dD5bL2ldPC90dD4sIHRoZQoJcGFyc2VyIHdvdWxkIHNlYXJjaCBmb3IgdGhlIDx0dD5baV08L3R0PiwgZmluZCB0aGUgPHR0PltiXTwvdHQ+IGZpcnN0LCBhbmQgZ2VuZXJhdGUgYW4KCWFkZGl0aW9uYWwgPHR0PlsvYl08L3R0PiBiZWZvcmUgdGhlIDx0dD5bL2ldPC90dD47IHRoZW4sIHRvIGhlbHAgImZpeCIgdGhlIG91dHB1dCwgTkJCQwoJd2lsbCBzaWxlbnRseSByZW1vdmUgYW55IG9uZSB1bm1hdGNoZWQgPHR0PlsvYl08L3R0PiBpdCBmaW5kcyBsYXRlciBpbiB0aGUgaW5wdXQgc3RyZWFtLgoJU28gdGhlIG91dHB1dCB3b3VsZCBiZSA8dHQ+Jmx0O2kmZ3Q7Jmx0O2ImZ3Q7dGFnJm5ic3A7bmVzdGluZyZsdDsvYiZndDsmbHQ7L2kmZ3Q7PC90dD4sCgl3aGljaCBpcyBhYm91dCB3aGF0IHRoZSB1c2VyIG1pZ2h0IGV4cGVjdCB0byBnZXQuICBOb3RlIHRoYXQgZm9yIHNvbWUgcmVhbGx5IHVnbHkgbWlzLW5lc3RpbmdzLAoJdGhpcyBydWxlIHdpbGwgcHJvZHVjZSB3ZWlyZCByZXN1bHRzLCBidXQgdGhleSdsbCBzdGlsbCBhdCBsZWFzdCBiZSB2YWxpZCBYSFRNTCAxLjAgU3RyaWN0LjwvbGk+CjwvdWw+Cgo8aDQ+RXhhbXBsZSBwcm9jZXNzaW5nPC9oND4KCjxwPkxldCdzIGxvb2sgYXQgaG93IHRoaXMgd291bGQgdGhlbiBwcm9jZXNzIG91ciBleGFtcGxlIGlucHV0LiAgRmlyc3QsIHRoaXMgaXMgYWdhaW4gb3VyCmluY29taW5nIHRva2VuIHN0cmVhbTo8L3A+Cgo8ZGl2IGNsYXNzPSdjb2RlX2hlYWRlcic+Q29kZTo8L2Rpdj4KPHhtcCBjbGFzcz0nY29kZSc+IkJlZm9yZS4iIFdTIE5MIFtjZW50ZXJdICJIZWxsbywiIFdTIFtpXSAiV29ybGQiIFsvaV0gIiEiIFsvY2VudGVyXSBOTCAiQWZ0ZXIuIjwveG1wPgoKPHA+VGhpcyBpcyB3aGF0IGhhcHBlbnMgZHVyaW5nIHRoZSBwYXJzZSBvZiB0aGlzIHN0cmVhbTo8L3A+Cgo8b2w+CjxsaT5Jbml0aWFsIGNsYXNzIGlzICJibG9jayIuPC9saT4KPGxpPjxiPjx0dD4iQmVmb3JlLiI8L3R0PjwvYj4gcmVhZCwgYW5kIHB1c2hlZCBvbnRvIHRoZSBzdGFjay48L2xpPgo8bGk+PGI+PHR0PldTPC90dD48L2I+IHJlYWQsIGFuZCBwdXNoZWQgb250byB0aGUgc3RhY2suPC9saT4KPGxpPjxiPjx0dD5OTDwvdHQ+PC9iPiByZWFkLiAgPHR0PldTPC90dD4gb24gdGhlIHN0YWNrIGlzIHBvcHBlZCAoTkwgY29uc3VtZXMgbmVhcmJ5IFdTKSwgYW5kIHRoZSBOTCBpcyBwdXNoZWQgb250byB0aGUgc3RhY2suPC9saT4KPGxpPjxiPjx0dD5bY2VudGVyXTwvdHQ+PC9iPiByZWFkLiAgQ2xhc3MgaXMgY2hlY2tlZCwgYW5kIDx0dD5bY2VudGVyXTwvdHQ+IGlzIGFsbG93ZWQgd2l0aGluICJibG9jayIuICBQb3AgdGhlIE5MCglmcm9tIHRoZSBzdGFjaywgc2luY2UgPHR0PltjZW50ZXJdPC90dD4gY29uc3VtZXMgbmV3bGluZXMuICA8dHQ+W2NlbnRlcl08L3R0PiBpcwoJdGhlbiBwdXNoZWQgb250byB0aGUgc3RhY2ssIGFuZCBjbGFzcyBpcyBjaGFuZ2VkIHRvICJibG9jayIuPC9saT4KPGxpPjxiPjx0dD4iSGVsbG8sIjwvdHQ+PC9iPiByZWFkLCBhbmQgcHVzaGVkIG9udG8gdGhlIHN0YWNrLjwvbGk+CjxsaT48Yj48dHQ+V1M8L3R0PjwvYj4gcmVhZCwgYW5kIHB1c2hlZCBvbnRvIHRoZSBzdGFjay48L2xpPgo8bGk+PGI+PHR0PltpXTwvdHQ+PC9iPiByZWFkLiAgQ2xhc3MgaXMgY2hlY2tlZCwgYW5kIDx0dD5baV08L3R0PiBpcyBhbGxvd2VkIHdpdGhpbiAiYmxvY2siLiAgPHR0PltpXTwvdHQ+CglpcyBwdXNoZWQgb250byB0aGUgc3RhY2ssIGFuZCBjbGFzcyBpcyBjaGFuZ2VkIHRvICJpbmxpbmUiLjwvbGk+CjxsaT48Yj48dHQ+IldvcmxkIjwvdHQ+PC9iPiByZWFkLCBhbmQgcHVzaGVkIG9udG8gdGhlIHN0YWNrLjwvbGk+CjxsaT48Yj48dHQ+Wy9pXTwvdHQ+PC9iPiByZWFkLiAgU2VhcmNoIGRvd24gdGhlIHN0YWNrIGZvciBhIDx0dD5baV08L3R0Pi4gIFJlbW92ZSBhbGwgdG9rZW5zIGluIGJldHdlZW4gYW5kCgljb252ZXJ0IHRoZW0gdG8gYSBzdHJpbmcuICBQYXNzIHN0cmluZyB0byA8dHQ+W2ldPC90dD4ncyBwcm9jZXNzaW5nIGZ1bmN0aW9uLCBhbmQgcG9wIDx0dD5baV08L3R0PiBmcm9tIHN0YWNrLgoJUHVzaCB0aGUgcmVzdWx0aW5nIEhUTUwsICI8dHQ+Jmx0O2kmZ3Q7V29ybGQmbHQ7L2kmZ3Q7PC90dD4iLCBvbnRvIHRoZSBzdGFjay48L2xpPgo8bGk+PGI+PHR0PiIhIjwvdHQ+PC9iPiByZWFkLCBhbmQgcHVzaGVkIG9udG8gdGhlIHN0YWNrLjwvbGk+CjxsaT48Yj48dHQ+Wy9jZW50ZXJdPC90dD48L2I+IHJlYWQuICBTZWFyY2ggZG93biB0aGUgc3RhY2sgZm9yIGEgPHR0PltjZW50ZXJdPC90dD4uICBSZW1vdmUgYWxsIHRva2VucyBpbiBiZXR3ZWVuIGFuZAoJY29udmVydCB0aGVtIHRvIGEgc3RyaW5nLiAgUGFzcyBzdHJpbmcgdG8gPHR0PltjZW50ZXJdPC90dD4ncyBwcm9jZXNzaW5nIGZ1bmN0aW9uLCBhbmQgcG9wIDx0dD5bY2VudGVyXTwvdHQ+IGZyb20gc3RhY2suCglQdXNoIHRoZSByZXN1bHRpbmcgSFRNTCwgIjx0dD4mbHQ7ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOmNlbnRlcjsiJmd0O0hlbGxvLCAmbHQ7aSZndDtXb3JsZCZsdDsvaSZndDshJmx0Oy9kaXYmZ3Q7PC90dD4iLCBvbnRvIHRoZSBzdGFjay4KCVJlbW92ZSBhbnkgdHJhaWxpbmcgTkwgb3IgV1MgdG9rZW5zLCBzaW5jZSA8dHQ+Wy9jZW50ZXJdPC90dD4gY29uc3VtZXMgbmV3bGluZXMuPC9saT4KPGxpPihUaGUgbmV4dCA8dHQ+Tkw8L3R0PiB3YXMgc2tpcHBlZCBieSA8dHQ+Wy9jZW50ZXJdPC90dD4sIHNvIGl0J3Mgbm90IHNlZW4gYnkgdGhlIG1haW4gcGFyc2luZyBsb29wLik8L2xpPgo8bGk+PGI+PHR0PiJBZnRlci4iPC90dD48L2I+IHJlYWQsIGFuZCBwdXNoZWQgb250byB0aGUgc3RhY2suPC9saT4KPGxpPjxiPkVuZC1vZi1pbnB1dC48L2I+ICBNYWluIHBhcnNpbmcgbG9vcCBlbmRzLiAgRXZlcnl0aGluZyBzdGlsbCBvbiB0aGUgc3RhY2sgaXMgY29sbGVjdGVkIGFzIGEgc3RyaW5nLAoJIjx0dD5CZWZvcmUuJmx0O2RpdiBzdHlsZT0idGV4dC1hbGlnbjpjZW50ZXI7IiZndDtIZWxsbywgJmx0O2kmZ3Q7V29ybGQmbHQ7L2kmZ3Q7ISZsdDsvZGl2Jmd0O0FmdGVyLjwvdHQ+IiwKCXdoaWNoIGlzIHRoZW4gcmV0dXJuZWQgdG8gdGhlIGNhbGxlci48L2xpPgo8L29sPgoKPHA+Rm9yIHdoYXQgaXQncyB3b3J0aCwgeW91IGNhbiB0ZXN0IHRoaXMgeW91cnNlbGYgYnkgZW5hYmxpbmcgPGEgaHJlZj0iI3JlZl9wYXJzZXJfU2V0RGVidWciPmRlYnVnIG1vZGU8L2E+OgpJbiBkZWJ1ZyBtb2RlLCB0aGUgcGFyc2VyIHByaW50cyB0byB0aGUgYnJvd3NlciBlYWNoIGFjdGlvbiBpdCBwZXJmb3Jtcywgc2VwYXJhdGluZyBlYWNoIHRva2VuIHdpdGggaG9yaXpvbnRhbApydWxlcy4gIEluIGFkZGl0aW9uIHRvIGJlaW5nIHVzZWZ1bCBmb3IgZGVidWdnaW5nIG5ldyB0YWdzLCB0aGlzIG1vZGUgY2FuIGFsc28gYmUgdXNlZnVsIGZvciBkaXZpbmluZyB0aGUKYmFzaWMgd29ya2luZ3Mgb2YgdGhlIHBhcnNlciBpdHNlbGYuPC9wPgoKPHAgc3R5bGU9J3RleHQtYWxpZ246cmlnaHQ7Jz5bIFByZXZpb3VzOiA8YSBocmVmPSJhcHBfY3NzLmh0bWwiPkYuIENTUyBFeGFtcGxlczwvYT4gfCBOZXh0OiA8YSBocmVmPSJhcHBfdGFncGFyYW1zLmh0bWwiPkguIFRhZyBQYXJhbWV0ZXJzPC9hPiBdPC9wPgoKPGhyIC8+Cgo8ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPkNvcHlyaWdodCAmY29weTsgMjAxMCwgdGhlIFBoYW50b20gSW5rZXIuICBBbGwgcmlnaHRzIHJlc2VydmVkLjwvZGl2PgoKPC9kaXY+PC9kaXY+PC9kaXY+Cgo8L2JvZHk+Cgo8L2h0bWw+Cg==]]></data>
	</file>
	<file>
	  <filename>/docs/doc/app_rule.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWw6bGFuZz0iZW4iIGxhbmc9ImVuIj4KCjxoZWFkPgo8dGl0bGU+UnVsZSBQYXJhbWV0ZXJzIC0gTkJCQzogVGhlIE5ldyBCQkNvZGUgUGFyc2VyPC90aXRsZT4KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+CjxsaW5rIHJlbD0nc3R5bGVzaGVldCcgdHlwZT0ndGV4dC9jc3MnIGhyZWY9J3N0eWxlcy5jc3MnIC8+CjwvaGVhZD4KCjxib2R5PgoKPGRpdiBhbGlnbj0nY2VudGVyJz48ZGl2IGNsYXNzPSdwYWdlX2NvbnRhaW5lcjInPjxkaXYgY2xhc3M9J3BhZ2VfY29udGFpbmVyJz4KCjxoMj5WSS4gQXBwZW5kaWNlczwvaDI+Cgo8cCBzdHlsZT0ndGV4dC1hbGlnbjpyaWdodDttYXJnaW46MDsnPlsgUHJldmlvdXM6IDxhIGhyZWY9ImFwcF9zbWlsZXkuaHRtbCI+QS4gU3RhbmRhcmQgU21pbGV5czwvYT4gfCBOZXh0OiA8YSBocmVmPSJhcHBfY2xhc3MuaHRtbCI+Qy4gQ29udGVudCBDbGFzc2VzPC9hPiBdPC9wPgoKPGgzPkIuIFJ1bGUgUGFyYW1ldGVyczwvaDM+Cgo8cD5UYWcgcnVsZXMgYXJlIGFycmF5cyB0aGF0IG1heSBjb250YWluIGFueSBvZiB0aGUgZm9sbG93aW5nIG1lbWJlcnMgdG8gZGVzY3JpYmUKaG93IHRoZSB0YWcgaXMgdG8gYmUgcHJvY2Vzc2VkLiAgTW9zdCBtZW1iZXJzIGFyZSBvcHRpb25hbCwgYW5kIGRlZmF1bHQgdmFsdWVzIHdpbGwKdXN1YWxseSBiZSBhc3N1bWVkIGlmIG5vIG1lbWJlciBpcyBnaXZlbi48L3A+Cgo8dWw+CjxsaT48Yj48dHQ+J21vZGUnPC90dD48L2I+ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAoPGk+RGVmYXVsdCB2YWx1ZTo8L2k+ICA8dHQ+QkJDT0RFX01PREVfU0lNUExFPC90dD4pPGJyIC8+CglNdXN0IGJlIGV4YWN0bHkgb25lIG9mIHRoZSBmb2xsb3dpbmcgaWRlbnRpZmllcnM6PGJyIC8+PGJyIC8+Cgk8dWw+Cgk8bGk+PHR0PkJCQ09ERV9NT0RFX1NJTVBMRTwvdHQ+OiAgUmVwbGFjZXMgdGhlIHRhZyB3aXRoIHRoZSB0ZXh0IGRlZmluZWQgaW4gPHR0PidzaW1wbGVfc3RhcnQnPC90dD4KCQlhbmQgPHR0PidzaW1wbGVfZW5kJzwvdHQ+LjwvbGk+Cgk8bGk+PHR0PkJCQ09ERV9NT0RFX0NBTExCQUNLPC90dD46ICBDYWxscyBhIGNhbGxiYWNrIGZ1bmN0aW9uIG9yIG1ldGhvZCB0byBmb3JtYXQgdGhlIHRhZy4KCQlUaGUgZm9ybWF0dGluZyBmdW5jdGlvbiBpcyBzcGVjaWZpZWQgaW4gdGhlIDx0dD4nbWV0aG9kJzwvdHQ+IHBhcmFtZXRlci48L2xpPgoJPGxpPjx0dD5CQkNPREVfTU9ERV9JTlRFUk5BTDwvdHQ+OiAgQ2FsbHMgYW4gaW50ZXJuYWwgZm9ybWF0dGluZyBmdW5jdGlvbiBpbiB0aGUgQkJDb2RlIHBhcnNlci4KCQlUaGUgZm9ybWF0dGluZyBmdW5jdGlvbiBpcyBzcGVjaWZpZWQgaW4gdGhlIDx0dD4nbWV0aG9kJzwvdHQ+IHBhcmFtZXRlciwgd2hpY2ggbXVzdCBiZSBhIHN0cmluZy48L2xpPgoJPGxpPjx0dD5CQkNPREVfTU9ERV9MSUJSQVJZPC90dD46ICBDYWxscyBhIGZvcm1hdHRpbmcgZnVuY3Rpb24gdGhhdCdzIHBhcnQgb2YgdGhlIFN0YW5kYXJkIEJCQ29kZSBMaWJyYXJ5ICh0aGUgQkJDb2RlTGlicmFyeSBvYmplY3QpLgoJCVRoZSBmb3JtYXR0aW5nIGZ1bmN0aW9uIGlzIHNwZWNpZmllZCBpbiB0aGUgPHR0PidtZXRob2QnPC90dD4gcGFyYW1ldGVyLCB3aGljaCBtdXN0IGJlIGEgc3RyaW5nLjwvbGk+Cgk8L3VsPjxiciAvPgoJPC9saT4KCjxsaT48Yj48dHQ+J3NpbXBsZV9zdGFydCc8L3R0PjwvYj4gJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICg8aT5EZWZhdWx0IHZhbHVlOjwvaT4gIDx0dD4iIjwvdHQ+KTxiciAvPgoJVGhpcyBwYXJhbWV0ZXIgc3RvcmVzIGEgdGV4dCBzdHJpbmcgdGhhdCwgaW4gPHR0PkJCQ09ERV9NT0RFX1NJTVBMRTwvdHQ+LCBkZXNjcmliZXMgd2hhdAoJSFRNTCB0byB1c2UgaW4gcGxhY2Ugb2YgdGhlIHN0YXJ0IHRhZy48YnIgLz48YnIgLz4KCTwvbGk+Cgo8bGk+PGI+PHR0PidzaW1wbGVfZW5kJzwvdHQ+PC9iPiAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgKDxpPkRlZmF1bHQgdmFsdWU6PC9pPiAgPHR0PiIiPC90dD4pPGJyIC8+CglUaGlzIHBhcmFtZXRlciBzdG9yZXMgYSB0ZXh0IHN0cmluZyB0aGF0LCBpbiA8dHQ+QkJDT0RFX01PREVfU0lNUExFPC90dD4sIGRlc2NyaWJlcyB3aGF0CglIVE1MIHRvIHVzZSBpbiBwbGFjZSBvZiB0aGUgZW5kIHRhZy4gIE5vdGUgdGhhdCBpZiB0aGUgcnVsZSdzIDx0dD4nY29udGVudCc8L3R0PgoJbWVtYmVyIGlzIHNldCB0byA8dHQ+QkJDT0RFX1BST0hJQklUPC90dD4sIHRoZSA8dHQ+J3NpbXBsZV9lbmQnPC90dD4gc3RyaW5nIHdpbGwgYmUKCWNvbmNhdGVuYXRlZCB0byA8dHQ+J3NpbXBsZV9zdGFydCc8L3R0PiBhbmQgdGhlIHR3byBvZiB0aGVtIHRvZ2V0aGVyIHdpbGwgYmUgdXNlZCBpbgoJcGxhY2Ugb2YgdGhlIHN0YXJ0IHRhZyAodGhlIHN0YXJ0IHRhZywgZWZmZWN0aXZlbHksIGJlaGF2ZXMgYXMgYm90aCB0aGUgc3RhcnQgYW5kIGVuZAoJdGFncyBpZiBjb250ZW50IGlzIHByb2hpYml0ZWQpLjxiciAvPjxiciAvPgoJPC9saT4KCjxsaT48Yj48dHQ+J21ldGhvZCc8L3R0PjwvYj4gJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICg8aT5EZWZhdWx0IHZhbHVlOjwvaT4gIDx0dD4iIjwvdHQ+KTxiciAvPgoJVGhpcyBtZW1iZXIgaXMgdXNlZCB3aXRoIDx0dD5CQkNPREVfTU9ERV9DQUxMQkFDSzwvdHQ+LCA8dHQ+QkJDT0RFX01PREVfSU5URVJOQUw8L3R0PiwgYW5kCglpbiA8dHQ+QkJDT0RFX01PREVfTElCUkFSWTwvdHQ+IHRvIGRldGVybWluZSB3aGF0IGZ1bmN0aW9uIHRvIGNhbGw6PGJyIC8+PGJyIC8+Cgk8dWw+Cgk8bGk+PHR0PkJCQ09ERV9NT0RFX0NBTExCQUNLPC90dD46ICBUaGlzIG1heSBiZSBhIHN0cmluZywgZm9yIGNhbGxpbmcgYSBmdW5jdGlvbiwKCQlvciBhbiBhcnJheSwgZm9yIGNhbGxpbmcgYSBtZXRob2Qgb2YgYSBjbGFzcy4gIFNlZSBQSFAncwoJCWRvY3VtZW50YXRpb24gb24gPHR0PmNhbGxfdXNlcl9mdW5jKCk8L3R0PiBmb3IgbW9yZSBkZXRhaWxzIG9uIGhvdyB0bwoJCWRlZmluZSBhIGNhbGxiYWNrIGZ1bmN0aW9uLiAgU2VlIHRoZSBzZWN0aW9uIG9uIDxhIGhyZWY9InVzYWdlX2NhbGwuaHRtbCI+Y2FsbGJhY2sgdGFnczwvYT4gZm9yIG1vcmUgZGV0YWlscwoJCW9uIGhvdyB0byBzZXQgdXAgYSA8dHQ+QkJDT0RFX01PREVfQ0FMTEJBQ0s8L3R0PiB0YWcuPC9saT4KCTxsaT48dHQ+QkJDT0RFX01PREVfSU5URVJOQUw8L3R0PjogIFRoaXMgaXMgYSBzdHJpbmcsIHRoZSBuYW1lIG9mIGFuIGludGVybmFsCgkJbWV0aG9kIG9mIGFuIGluc3RhbmNlIG9mIGNsYXNzIDxhIGhyZWY9ImFwaS5odG1sIj48dHQ+QkJDb2RlPC90dD48L2E+LjwvbGk+Cgk8bGk+PHR0PkJCQ09ERV9NT0RFX0xJQlJBUlk8L3R0PjogIFRoaXMgaXMgYSBzdHJpbmcsIHRoZSBuYW1lIG9mIGEgbWV0aG9kIG9mIGFuCgkJaW5zdGFuY2Ugb2YgY2xhc3MgPHR0PkJCQ29kZUxpYnJhcnk8L3R0Pi48L2xpPgoJPC91bD48YnIgLz4KCU5vdGU6IFVubGlrZSBtb3N0IG1lbWJlcnMsIHRoaXMgbWVtYmVyIDxpPm11c3Q8L2k+IGJlIGRlZmluZWQgaWYgPHR0PkJCQ09ERV9NT0RFX0NBTExCQUNLPC90dD4sCgk8dHQ+QkJDT0RFX01PREVfSU5URVJOQUw8L3R0Piwgb3IgPHR0PkJCQ09ERV9NT0RFX0xJQlJBUlk8L3R0PiBpcyB1c2VkLiAgSWYgeW91IGZhaWwgdG8KCWRlZmluZSB0aGlzIG1lbWJlciwgTkJCQyBtYXkgcHJvZHVjZSBlcnJvciBtZXNzYWdlcyBvciB3YXJuaW5ncywgYW5kIHdpbGwgPGk+ZGVmaW5pdGVseTwvaT4KCW5vdCBmb3JtYXQgeW91ciBjb250ZW50IGNvcnJlY3RseSE8YnIgLz48YnIgLz4KCTwvbGk+Cgo8bGk+PGI+PHR0Pidjb250ZW50JzwvdHQ+PC9iPiAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgKDxpPkRlZmF1bHQgdmFsdWU6PC9pPiAgPHR0PkJCQ09ERV9PUFRJT05BTDwvdHQ+KTxiciAvPgoJTXVzdCBiZSBleGFjdGx5IG9uZSBvZiB0aGUgZm9sbG93aW5nIGlkZW50aWZpZXJzOjxiciAvPjxiciAvPgoJPHVsPgoJPGxpPjx0dD5CQkNPREVfUkVRVUlSRUQ8L3R0PjogIE5vbi1lbXB0eSBjb250ZW50IG11c3QgYmUgcHJvdmlkZWQgZm9yIHRoaXMgdGFnIHRvCgkJYmUgcHJvcGVybHkgY29udmVydGVkLiAgSWYgZW1wdHkgY29udGVudCBpcyBwcm92aWRlZCBieSB0aGUgdXNlciwKCQl0aGlzIHRhZyB3aWxsIGJlIHJlbmRlcmVkIHZlcmJhdGltIHJhdGhlciB0aGFuIGZvcm1hdHRlZC48L2xpPgoJPGxpPjx0dD5CQkNPREVfT1BUSU9OQUw8L3R0PjogIChUaGUgbW9zdCBjb21tb24gc2V0dGluZy4pICBDb250ZW50IGlzIG9wdGlvbmFsLCBhbmQKCQltYXkgYmUgcHJvdmlkZWQgYnkgdGhlIHVzZXIgYmV0d2VlbiB0aGUgc3RhcnQgdGFnIGFuZCB0aGUgZW5kCgkJdGFnLjwvbGk+Cgk8bGk+PHR0PkJCQ09ERV9QUk9ISUJJVDwvdHQ+OiAgQ29udGVudCBpcyBkaXNhbGxvd2VkLiAgR2VuZXJhbGx5LCB0aGlzIGlzIHVzZWQgaW4KCQljb25qdW5jdGlvbiB3aXRoIHRoZSA8dHQ+J2VuZF90YWcnPC90dD4gbWVtYmVyIChzZWUgYmVsb3cpIHdoZW4gZW5kIHRhZ3MgYXJlIHByb2hpYml0ZWQKCQlhcyB3ZWxsIGFzIGNvbnRlbnQuPC9saT4KCTxsaT48dHQ+QkJDT0RFX1ZFUkJBVElNPC90dD46ICBDb250ZW50IGlzIG9wdGlvbmFsLCBidXQgYW55IHRhZ3Mgb3Igc3BlY2lhbCBmb3JtYXR0aW5nCgkJY29udGFpbmVkIHdpdGhpbiBpdCB3aWxsIGJlIGlnbm9yZWQ6ICBUaGUgY29udGVudCBpcyB0cmVhdGVkIGFzCgkJcGxhaW4gdGV4dCwgYW5kIGlzIHNlbnQgdG8gdGhlIGZvcm1hdHRpbmcgZnVuY3Rpb24gZXhhY3RseSBhcwoJCWdpdmVuLiAgSWYgdGhpcyBpcyB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggPHR0PkJCQ09ERV9NT0RFX1NJTVBMRTwvdHQ+LAoJCXRoZSBjb250ZW50IDxpPndpbGw8L2k+IGJlIHBhc3NlZCB0aHJvdWdoIHNhZmV0eSByb3V0aW5lcyBsaWtlCgkJPHR0Pmh0bWxzcGVjaWFsY2hhcnMoKTwvdHQ+LCBzbyB5b3UgY2FuIHNhZmVseSB1c2UgdGhpcyBpbiBjb21iaW5hdGlvbgoJCXdpdGggZWxlbWVudHMgbGlrZSA8dHQ+Jmx0O3ByZSZndDs8L3R0PiwgYnV0IG5vdCB3aXRoIGVsZW1lbnRzIGxpa2UgPHR0PiZsdDt4bXAmZ3Q7PC90dD4uICBJZiB0aGlzCgkJaXMgdXNlZCB3aXRoIGEgZm9ybWF0dGluZyBmdW5jdGlvbiwgdGhlIGZvcm1hdHRpbmcgZnVuY3Rpb24gd2lsbAoJCWJlIHJlc3BvbnNpYmxlIGZvciBhcHBseWluZyA8dHQ+aHRtbHNwZWNpYWxjaGFycygpPC90dD4gb3IgYW55IG90aGVyIGZvcm0KCQlvZiBjbGVhbnVwIG5lY2Vzc2FyeTogIFRoZSBmb3JtYXR0aW5nIGZ1bmN0aW9uIHdpbGwgcmVjZWl2ZSB0aGUKCQlleGFjdCB0ZXh0IGdpdmVuIGJ5IHRoZSB1c2VyLCB3aGl0ZXNwYWNlIGluY2x1ZGVkLiAgVGhpcyBzZXR0aW5nIGlzIGdlbmVyYWxseQoJCWludGVuZGVkIHRvIGJlIGNvbWJpbmVkIHdpdGggdGhlIDx0dD53aGl0ZS1zcGFjZTpwcmU8L3R0PiBDU1MgcnVsZSBhcHBsaWVkIHRvCgkJdGhlIGJsb2NrIHRoYXQgY29udGFpbnMgdGhlIHZlcmJhdGltIGNvbnRlbnQuPC9saT4KCTwvdWw+Cgk8YnIgLz48L2xpPgoKPGxpPjxiPjx0dD4nYmVmb3JlX3RhZyc8L3R0PjwvYj4gJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICg8aT5EZWZhdWx0IHZhbHVlOjwvaT4gIDx0dD4iIjwvdHQ+KTwvbGk+CjxsaT48Yj48dHQ+J2FmdGVyX3RhZyc8L3R0PjwvYj4gJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICg8aT5EZWZhdWx0IHZhbHVlOjwvaT4gIDx0dD4iIjwvdHQ+KTwvbGk+CjxsaT48Yj48dHQ+J2JlZm9yZV9lbmR0YWcnPC90dD48L2I+ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAoPGk+RGVmYXVsdCB2YWx1ZTo8L2k+ICA8dHQ+IiI8L3R0Pik8L2xpPgo8bGk+PGI+PHR0PidhZnRlcl9lbmR0YWcnPC90dD48L2I+ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAoPGk+RGVmYXVsdCB2YWx1ZTo8L2k+ICA8dHQ+IiI8L3R0Pik8YnIgLz4KCVRoZXNlIHNldHRpbmdzIGNvbGxlY3RpdmVseSBjb250cm9sIGhvdyAobm9uLW5ld2xpbmUpIHdoaXRlc3BhY2UgYW5kCgluZXdsaW5lcyBhcmUgdHJlYXRlZCB3aGVuIHBsYWNlZCBpbiBwcm94aW1pdHkgdG8gdGhpcyB0YWcgb3IgdG8gaXRzCgllbmQgdGFnLiAgRm9yIGVhY2ggc2V0dGluZywgeW91IHVzZSBhIHNpbXBsZSBwYXR0ZXJuIGNvbXByaXNlZCBvZgoJdGhlIGZvbGxvd2luZyBjaGFyYWN0ZXJzIHRvIGRlc2NyaWJlIHdoYXQgdG8gcmVtb3ZlOjxiciAvPjxiciAvPgoJPHVsPgoJPGxpPjx0dD5zPC90dD4gJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFJlbW92ZSBhbnkgbm9uLW5ld2xpbmUgd2hpdGVzcGFjZSBmb3VuZC48L2xpPgoJPGxpPjx0dD5uPC90dD4gJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFJlbW92ZSBhIHNpbmdsZSBuZXdsaW5lLCBpZiBvbmUgZXhpc3RzLjwvbGk+Cgk8bGk+PHR0PmE8L3R0PiAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUmVtb3ZlIGFzIG1hbnkgc3BhY2VzIGFuZCBuZXdsaW5lcyBhcyBhcmUgZm91bmQuPC9saT4KCTwvdWw+PGJyIC8+CglGb3IgPHR0PidiZWZvcmUnPC90dD4gcmVtb3ZhbCwgdGhlIHBhdHRlcm4gaXMgbWF0Y2hlZCA8aT5iYWNrd2FyZDwvaT4gZnJvbSB0aGUgdGFnOwoJZm9yICdhZnRlcicgcmVtb3ZhbCwgdGhlIHBhdHRlcm4gaXMgbWF0Y2hlZCA8aT5mb3J3YXJkPC9pPiBmcm9tIHRoZSB0YWcuCglUaGUgZGVmYXVsdCBpcyB0aGUgZW1wdHkgc3RyaW5nLCB3aGljaCBtZWFucyBubyB3aGl0ZXNwYWNlIG9yIG5ld2xpbmVzCglhcmUgdG8gYmUgcmVtb3ZlZC48YnIgLz48YnIgLz4KCQoJPHU+Q29tbW9uIGV4YW1wbGVzOjwvdT48YnIgLz4KCSZuYnNwOyAmbmJzcDsgJm5ic3A7IDx0dD4ncycmbmJzcDsmbmJzcDs8L3R0PiAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUmVtb3ZlIGFsbCBub24tbmV3bGluZSB3aGl0ZXNwYWNlPGJyIC8+CgkmbmJzcDsgJm5ic3A7ICZuYnNwOyA8dHQ+J3NuJyZuYnNwOzwvdHQ+ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBSZW1vdmUgYWxsIG5vbi1uZXdsaW5lIHdoaXRlc3BhY2UsIHRoZW4gYSBzaW5nbGUgbmV3bGluZSBpZiBpdCBleGlzdHMuPGJyIC8+CgkmbmJzcDsgJm5ic3A7ICZuYnNwOyA8dHQ+J25zJyZuYnNwOzwvdHQ+ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBSZW1vdmUgYSBzaW5nbGUgbmV3bGluZSBpZiBpdCBleGlzdHMsIHRoZW4gYWxsIG5vbi1uZXdsaW5lIHdoaXRlc3BhY2UuPGJyIC8+CgkmbmJzcDsgJm5ic3A7ICZuYnNwOyA8dHQ+J3Nucyc8L3R0PiAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUmVtb3ZlIGFsbCBub24tbmV3bGluZSB3aGl0ZXNwYWNlLCB0aGVuIGEgc2luZ2xlIG5ld2xpbmUgaWYgaXQgZXhpc3RzLDxiciAvPgoJCSZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IHRoZW4gYW55IG5vbi1uZXdsaW5lIHdoaXRlc3BhY2UgZm91bmQgcGFzdCB0aGF0IG5ld2xpbmUuPGJyIC8+Cgk8YnIgLz48L2xpPgoKPGxpPjxiPjx0dD4nZW5kX3RhZyc8L3R0PjwvYj4gJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICg8aT5EZWZhdWx0IHZhbHVlOjwvaT4gIDx0dD5CQkNPREVfUkVRVUlSRUQ8L3R0Pik8L2xpPgpNdXN0IGJlIGV4YWN0bHkgb25lIG9mIHRoZSBmb2xsb3dpbmcgaWRlbnRpZmllcnM6PGJyIC8+PGJyIC8+Cjx1bD4KPGxpPjx0dD5CQkNPREVfUkVRVUlSRUQ8L3R0PjogIChUaGUgbW9zdCBjb21tb24gc2V0dGluZy4pICBBbiBlbmRpbmcgPHR0PlsvdGFnXTwvdHQ+IG11c3QgYmUKCXByb3ZpZGVkIGlmIHRoZSBzdGFydGluZyA8dHQ+W3RhZ108L3R0PiBpcyB1c2VkOyBpZiBubyBlbmQgdGFnIGlzIGdpdmVuIGJ5Cgl0aGUgdXNlciwgdGhlIHN0YXJ0IHRhZyB3aWxsIGJlIGlnbm9yZWQgYW5kIGZvcm1hdHRlZCB2ZXJiYXRpbS48L2xpPgo8bGk+PHR0PkJCQ09ERV9PUFRJT05BTDwvdHQ+OiAgQW4gZW5kIHRhZyBpcyBvcHRpb25hbCwgYW5kIHRoZSBjb250ZW50IG9mIHRoZSBzdGFydAoJdGFnIGV4dGVuZHMgdW50aWwgdGhlIGVuZCBvZiB0aGlzIG5vZGUgb2YgdGhlIGRvY3VtZW50IHRyZWUsIG9yCgl0byB0aGUgZW5kIG9mIHRoZSBkb2N1bWVudCwgd2hpY2hldmVyIGNvbWVzIGZpcnN0LjwvbGk+CjxsaT48dHQ+QkJDT0RFX1BST0hJQklUPC90dD46ICBBbiBlbmQgdGFnIGlzIGRpc2FsbG93ZWQuICBUaGUgc3RhcnQgdGFnIGhhcyBubwoJY29udGVudCwgYW5kIGlzIGZvcm1hdHRlZCBhcyBhbiBpc29sYXRlZCB0YWcuICBJZiBhbiBlbmQgdGFnIGlzCglwcm92aWRlZCwgaXQgd2lsbCBiZSBmb3JtYXR0ZWQgdmVyYmF0aW0uICBUaGlzIGlzIG1vc3QgdXNlZnVsCglmb3IgdGFncyBsaWtlIDx0dD5bcnVsZV08L3R0PiBhbmQgPHR0Plt3aWtpXTwvdHQ+IHRoYXQgaGF2ZSBubyBjb250ZW50LjwvbGk+CjwvdWw+CjxiciAvPjwvbGk+Cgo8bGk+PGI+PHR0PidhbGxvd19pbic8L3R0PjwvYj4gJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICg8aT5EZWZhdWx0IHZhbHVlOjwvaT4gIDx0dD5hcnJheSgnYmxvY2snKTwvdHQ+KTwvbGk+CglUaGlzIGlzIGFuIGFycmF5IHRoYXQgbGlzdHMgd2hpY2ggb3RoZXIgY2xhc3NlcyB0aGlzIHRhZyBtYXkgYmUKCXBsYWNlZCBpbnNpZGUuICBTZWUgdGhlIGRlc2NyaXB0aW9uIG9mIDxhIGhyZWY9ImFwcF9jbGFzcy5odG1sIj5jb250ZW50IGNsYXNzZXM8L2E+IGJlbG93Cgl0byB1bmRlcnN0YW5kIGhvdyB0aGlzIGlzIHVzZWQuPGJyIC8+PGJyIC8+PC9saT4KCjxsaT48Yj48dHQ+J2NsYXNzJzwvdHQ+PC9iPiAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgKDxpPkRlZmF1bHQgdmFsdWU6PC9pPiAgPHR0PidibG9jayc8L3R0Pik8L2xpPgoJVGhpcyBkZXNjcmliZXMgd2hhdCBjb250ZW50LWNsYXNzIHRoaXMgdGFnIGJlbG9uZ3MgdG8uICBUaGVyZSBpcyBvbmUKCXNwZWNpYWwgY2xhc3MsICI8dHQ+YmxvY2s8L3R0PiIsIHdoaWNoIGlzIHVzZWQgYnkgdGhlIGludmlzaWJsZSAicm9vdCB0YWciIG9mIHRoZQoJQkJDb2RlIHRyZWUsIGJ1dCBtYXkgYmUgdXNlZCBmb3Igb3RoZXIgdGFncyBhcyB3ZWxsLiAgU2VlIHRoZSBkZXNjcmlwdGlvbiBvZgoJPGEgaHJlZj0iYXBwX2NsYXNzLmh0bWwiPmNvbnRlbnQgY2xhc3NlczwvYT4gYmVsb3cgdG8gdW5kZXJzdGFuZCBob3cgdGhpcyBpcyB1c2VkLjxiciAvPjxiciAvPjwvbGk+CgkKPC91bD4KCjxwIHN0eWxlPSd0ZXh0LWFsaWduOnJpZ2h0Oyc+WyBQcmV2aW91czogPGEgaHJlZj0iYXBwX3NtaWxleS5odG1sIj5BLiBTdGFuZGFyZCBTbWlsZXlzPC9hPiB8IE5leHQ6IDxhIGhyZWY9ImFwcF9jbGFzcy5odG1sIj5DLiBDb250ZW50IENsYXNzZXM8L2E+IF08L3A+Cgo8aHIgLz4KCjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+Q29weXJpZ2h0ICZjb3B5OyAyMDEwLCB0aGUgUGhhbnRvbSBJbmtlci4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9kaXY+Cgo8L2Rpdj48L2Rpdj48L2Rpdj4KCjwvYm9keT4KCjwvaHRtbD4K]]></data>
	</file>
	<file>
	  <filename>/docs/doc/app_smiley.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWw6bGFuZz0iZW4iIGxhbmc9ImVuIj4KCjxoZWFkPgo8dGl0bGU+U3RhbmRhcmQgU21pbGV5cyAtIE5CQkM6IFRoZSBOZXcgQkJDb2RlIFBhcnNlcjwvdGl0bGU+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgo8bGluayByZWw9J3N0eWxlc2hlZXQnIHR5cGU9J3RleHQvY3NzJyBocmVmPSdzdHlsZXMuY3NzJyAvPgo8L2hlYWQ+Cgo8Ym9keT4KCjxkaXYgYWxpZ249J2NlbnRlcic+PGRpdiBjbGFzcz0ncGFnZV9jb250YWluZXIyJz48ZGl2IGNsYXNzPSdwYWdlX2NvbnRhaW5lcic+Cgo8aDI+VkkuIEFwcGVuZGljZXM8L2gyPgoKPHAgc3R5bGU9J3RleHQtYWxpZ246cmlnaHQ7bWFyZ2luOjA7Jz5bIFByZXZpb3VzOiA8YSBocmVmPSJiYmNfbGlzdC5odG1sIj5WLkguIExpc3RzPC9hPiB8IE5leHQ6IDxhIGhyZWY9ImFwcF9ydWxlLmh0bWwiPkIuIFJ1bGUgUGFyYW1ldGVyczwvYT4gXTwvcD4KCjxoMz5BLiBTdGFuZGFyZCBTbWlsZXlzPC9oMz4KCjxwPk5CQkMgY29tZXMgd2l0aCBidWlsdC1pbiBzdXBwb3J0IGZvciAzMCBjb21tb25seS11c2VkIHNtaWxleXMgKGVtb3RpY29ucykuICBUaGV5IGFyZTo8L3A+Cgo8ZGl2IGFsaWduPSdjZW50ZXInPgo8dGFibGUgY2xhc3M9J3NtaWxleV90YWJsZSc+Cjx0aGVhZD4KPHRyPjx0aD5JbWFnZTwvdGg+PHRoPkZpbGVuYW1lPC90aD48dGg+U21pbGV5IEJCQ29kZSAod2hhdCB5b3UgdHlwZSk8L3RoPjwvdHI+CjwvdGhlYWQ+Cjx0Ym9keT4KCjx0cj48dGg+PGltZyBzcmM9Jy4uL3NtaWxleXMvYW5ncnkuZ2lmJyB3aWR0aD0nMTYnIGhlaWdodD0nMTYnIGFsdD0nYW5ncnkuZ2lmJyAvPjwvdGg+Cgk8dGQ+YW5ncnkuZ2lmPC90ZD4KCTx0ZD4mZ3Q7OiggICZndDs6LSggICZndDs9KCAgJmd0Oz0tKCAgRDogIEQtOiAgRD0gIEQtPTwvdGQ+PC90cj4KCjx0cj48dGg+PGltZyBzcmM9Jy4uL3NtaWxleXMvYW5pbWUuZ2lmJyB3aWR0aD0nMTYnIGhlaWdodD0nMTYnIGFsdD0nYW5pbWUuZ2lmJyAvPjwvdGg+Cgk8dGQ+YW5pbWUuZ2lmPC90ZD4KCgk8dGQ+Xl9ePC90ZD48L3RyPgoKPHRyPjx0aD48aW1nIHNyYz0nLi4vc21pbGV5cy9iaWdleWVzLmdpZicgd2lkdGg9JzE2JyBoZWlnaHQ9JzE2JyBhbHQ9J2JpZ2V5ZXMuZ2lmJyAvPjwvdGg+Cgk8dGQ+YmlnZXllcy5naWY8L3RkPgoJPHRkPjgpICA4LSk8L3RkPjwvdHI+Cgo8dHI+PHRoPjxpbWcgc3JjPScuLi9zbWlsZXlzL2JpZ3NtaWxlLmdpZicgd2lkdGg9JzE2JyBoZWlnaHQ9JzE2JyBhbHQ9J2JpZ3NtaWxlLmdpZicgLz48L3RoPgoJPHRkPmJpZ3NtaWxlLmdpZjwvdGQ+Cgk8dGQ+OkQgIDotRCAgPUQgID0tRDwvdGQ+PC90cj4KCjx0cj48dGg+PGltZyBzcmM9Jy4uL3NtaWxleXMvYmlnd2luay5naWYnIHdpZHRoPScxNicgaGVpZ2h0PScxNicgYWx0PSdiaWd3aW5rLmdpZicgLz48L3RoPgoJPHRkPmJpZ3dpbmsuZ2lmPC90ZD4KCTx0ZD47RCAgOy1EPC90ZD48L3RyPgoKPHRyPjx0aD48aW1nIHNyYz0nLi4vc21pbGV5cy9ibHVlLmdpZicgd2lkdGg9JzE2JyBoZWlnaHQ9JzE2JyBhbHQ9J2JsdWUuZ2lmJyAvPjwvdGg+Cgk8dGQ+Ymx1ZS5naWY8L3RkPgoJPHRkPjpibHVlOjwvdGQ+PC90cj4KCjx0cj48dGg+PGltZyBzcmM9Jy4uL3NtaWxleXMvYm9nZ2xlLmdpZicgd2lkdGg9JzE2JyBoZWlnaHQ9JzE2JyBhbHQ9J2JvZ2dsZS5naWYnIC8+PC90aD4KCTx0ZD5ib2dnbGUuZ2lmPC90ZD4KCTx0ZD5vLk8gIE8ubzwvdGQ+PC90cj4KCjx0cj48dGg+PGltZyBzcmM9Jy4uL3NtaWxleXMvY29uZnVzZS5naWYnIHdpZHRoPScxNicgaGVpZ2h0PScxNicgYWx0PSdjb25mdXNlLmdpZicgLz48L3RoPgoJPHRkPmNvbmZ1c2UuZ2lmPC90ZD4KCTx0ZD46PyAgOi0/ICA9PyAgPS0/PC90ZD48L3RyPgoKPHRyPjx0aD48aW1nIHNyYz0nLi4vc21pbGV5cy9jb29sLmdpZicgd2lkdGg9JzE2JyBoZWlnaHQ9JzE2JyBhbHQ9J2Nvb2wuZ2lmJyAvPjwvdGg+CgoJPHRkPmNvb2wuZ2lmPC90ZD4KCTx0ZD5CKSAgQi0pPC90ZD48L3RyPgoKPHRyPjx0aD48aW1nIHNyYz0nLi4vc21pbGV5cy9ldmlsLmdpZicgd2lkdGg9JzE2JyBoZWlnaHQ9JzE2JyBhbHQ9J2V2aWwuZ2lmJyAvPjwvdGg+Cgk8dGQ+ZXZpbC5naWY8L3RkPgoJPHRkPiZndDs6KSAgJmd0OzotKSAgJmd0Oz0pICAmZ3Q7PS0pICAmZ3Q7OkQgICZndDs6LUQgICZndDs9RCAgJmd0Oz0tRDwvdGQ+PC90cj4KCjx0cj48dGg+PGltZyBzcmM9Jy4uL3NtaWxleXMvZnJvd24uZ2lmJyB3aWR0aD0nMTYnIGhlaWdodD0nMTYnIGFsdD0nZnJvd24uZ2lmJyAvPjwvdGg+Cgk8dGQ+ZnJvd24uZ2lmPC90ZD4KCTx0ZD46KCAgOi0oICA9KCAgPS0oPC90ZD48L3RyPgoKPHRyPjx0aD48aW1nIHNyYz0nLi4vc21pbGV5cy9oZWFydC5naWYnIHdpZHRoPScxNicgaGVpZ2h0PScxNicgYWx0PSdoZWFydC5naWYnIC8+PC90aD4KCTx0ZD5oZWFydC5naWY8L3RkPgoJPHRkPiZsdDszPC90ZD48L3RyPgoKPHRyPjx0aD48aW1nIHNyYz0nLi4vc21pbGV5cy9pcnJpdGF0ZWQuZ2lmJyB3aWR0aD0nMTYnIGhlaWdodD0nMTYnIGFsdD0naXJyaXRhdGVkLmdpZicgLz48L3RoPgoJPHRkPmlycml0YXRlZC5naWY8L3RkPgoJPHRkPjovICA6LS8gID0vICA9LS8gIDpcICA6LVwgID1cICA9LVw8L3RkPjwvdHI+Cgo8dHI+PHRoPjxpbWcgc3JjPScuLi9zbWlsZXlzL2xhdWdoLmdpZicgd2lkdGg9JzE2JyBoZWlnaHQ9JzE2JyBhbHQ9J2xhdWdoLmdpZicgLz48L3RoPgoJPHRkPmxhdWdoLmdpZjwvdGQ+Cgk8dGQ+WEQgIFgtRDwvdGQ+PC90cj4KCjx0cj48dGg+PGltZyBzcmM9Jy4uL3NtaWxleXMvbG9va2xlZnQuZ2lmJyB3aWR0aD0nMTYnIGhlaWdodD0nMTYnIGFsdD0nbG9va2xlZnQuZ2lmJyAvPjwvdGg+CgoJPHRkPmxvb2tsZWZ0LmdpZjwvdGQ+Cgk8dGQ+Jmx0O18mbHQ7ICAmbHQ7LiZsdDs8L3RkPjwvdHI+Cgo8dHI+PHRoPjxpbWcgc3JjPScuLi9zbWlsZXlzL2xvb2tyaWdodC5naWYnIHdpZHRoPScxNicgaGVpZ2h0PScxNicgYWx0PSdsb29rcmlnaHQuZ2lmJyAvPjwvdGg+Cgk8dGQ+bG9va3JpZ2h0LmdpZjwvdGQ+Cgk8dGQ+Jmd0O18mZ3Q7ICAmZ3Q7LiZndDs8L3RkPjwvdHI+Cgo8dHI+PHRoPjxpbWcgc3JjPScuLi9zbWlsZXlzL25ldXRyYWwuZ2lmJyB3aWR0aD0nMTYnIGhlaWdodD0nMTYnIGFsdD0nbmV1dHJhbC5naWYnIC8+PC90aD4KCTx0ZD5uZXV0cmFsLmdpZjwvdGQ+Cgk8dGQ+OnwgIDotfCAgPXwgID0tfCAgOkkgIDotSSAgPUkgID0tSTwvdGQ+PC90cj4KCjx0cj48dGg+PGltZyBzcmM9Jy4uL3NtaWxleXMvc2FpbnQuZ2lmJyB3aWR0aD0nMTYnIGhlaWdodD0nMTYnIGFsdD0nc2FpbnQuZ2lmJyAvPjwvdGg+Cgk8dGQ+c2FpbnQuZ2lmPC90ZD4KCTx0ZD5POikgIE86LSkgIE89KSAgTz0tKTwvdGQ+PC90cj4KCjx0cj48dGg+PGltZyBzcmM9Jy4uL3NtaWxleXMvc2xlZXB5LmdpZicgd2lkdGg9JzE2JyBoZWlnaHQ9JzE2JyBhbHQ9J3NsZWVweS5naWYnIC8+PC90aD4KCTx0ZD5zbGVlcHkuZ2lmPC90ZD4KCTx0ZD46enp6OjwvdGQ+PC90cj4KCjx0cj48dGg+PGltZyBzcmM9Jy4uL3NtaWxleXMvc21pbGUuZ2lmJyB3aWR0aD0nMTYnIGhlaWdodD0nMTYnIGFsdD0nc21pbGUuZ2lmJyAvPjwvdGg+Cgk8dGQ+c21pbGUuZ2lmPC90ZD4KCTx0ZD46KSAgOi0pICA9KSAgPS0pPC90ZD48L3RyPgoKPHRyPjx0aD48aW1nIHNyYz0nLi4vc21pbGV5cy9zbWlsZTMuZ2lmJyB3aWR0aD0nMTYnIGhlaWdodD0nMTYnIGFsdD0nc21pbGUzLmdpZicgLz48L3RoPgoKCTx0ZD5zbWlsZTMuZ2lmPC90ZD4KCTx0ZD46MyAgOi0zICA9MyAgPS0zPC90ZD48L3RyPgoKPHRyPjx0aD48aW1nIHNyYz0nLi4vc21pbGV5cy9zbmVha3kuZ2lmJyB3aWR0aD0nMTYnIGhlaWdodD0nMTYnIGFsdD0nc25lYWt5LmdpZicgLz48L3RoPgoJPHRkPnNuZWFreS5naWY8L3RkPgoJPHRkPiZndDs7KSAgJmd0OzstKSAgJmd0OztEICAmZ3Q7Oy1EPC90ZD48L3RyPgoKPHRyPjx0aD48aW1nIHNyYz0nLi4vc21pbGV5cy9zdGFyLmdpZicgd2lkdGg9JzE2JyBoZWlnaHQ9JzE2JyBhbHQ9J3N0YXIuZ2lmJyAvPjwvdGg+Cgk8dGQ+c3Rhci5naWY8L3RkPgoJPHRkPjpzdGFyOjwvdGQ+PC90cj4KCjx0cj48dGg+PGltZyBzcmM9Jy4uL3NtaWxleXMvc3VycHJpc2UuZ2lmJyB3aWR0aD0nMTYnIGhlaWdodD0nMTYnIGFsdD0nc3VycHJpc2UuZ2lmJyAvPjwvdGg+Cgk8dGQ+c3VycHJpc2UuZ2lmPC90ZD4KCTx0ZD46TyAgOi1PICA9TyAgPS1PPC90ZD48L3RyPgoKPHRyPjx0aD48aW1nIHNyYz0nLi4vc21pbGV5cy9zd2VhdGRyb3AuZ2lmJyB3aWR0aD0nMTYnIGhlaWdodD0nMTYnIGFsdD0nc3dlYXRkcm9wLmdpZicgLz48L3RoPgoJPHRkPnN3ZWF0ZHJvcC5naWY8L3RkPgoJPHRkPl5eOzwvdGQ+PC90cj4KCjx0cj48dGg+PGltZyBzcmM9Jy4uL3NtaWxleXMvdGVldGguZ2lmJyB3aWR0aD0nMTYnIGhlaWdodD0nMTYnIGFsdD0ndGVldGguZ2lmJyAvPjwvdGg+Cgk8dGQ+dGVldGguZ2lmPC90ZD4KCTx0ZD4mbHQ7ZyZndDsgICZsdDtHJmd0OzwvdGQ+PC90cj4KCjx0cj48dGg+PGltZyBzcmM9Jy4uL3NtaWxleXMvdG9uZ3VlLmdpZicgd2lkdGg9JzE2JyBoZWlnaHQ9JzE2JyBhbHQ9J3Rvbmd1ZS5naWYnIC8+PC90aD4KCTx0ZD50b25ndWUuZ2lmPC90ZD4KCTx0ZD46UCAgOi1QICA9UCAgPS1QICBYLVA8L3RkPjwvdHI+Cgo8dHI+PHRoPjxpbWcgc3JjPScuLi9zbWlsZXlzL3dpbmsuZ2lmJyB3aWR0aD0nMTYnIGhlaWdodD0nMTYnIGFsdD0nd2luay5naWYnIC8+PC90aD4KCTx0ZD53aW5rLmdpZjwvdGQ+Cgk8dGQ+OykgIDstKTwvdGQ+PC90cj4KCjx0cj48dGg+PGltZyBzcmM9Jy4uL3NtaWxleXMvd2luazMuZ2lmJyB3aWR0aD0nMTYnIGhlaWdodD0nMTYnIGFsdD0nd2luazMuZ2lmJyAvPjwvdGg+Cgk8dGQ+d2luazMuZ2lmPC90ZD4KCTx0ZD47MyAgOy0zPC90ZD48L3RyPgoKPHRyPjx0aD48aW1nIHNyYz0nLi4vc21pbGV5cy93b3JyeS5naWYnIHdpZHRoPScxNicgaGVpZ2h0PScxNicgYWx0PSd3b3JyeS5naWYnIC8+PC90aD4KCTx0ZD53b3JyeS5naWY8L3RkPgoJPHRkPjpzICA6LVMgID1zICA9LVM8L3RkPjwvdHI+Cgo8L3RhYmxlPgo8L2Rpdj4KCjxwPig8Yj5Ob3RlOjwvYj4gIFRoZXNlIHNtaWxleSBpbWFnZXMgd2VyZSBjdXN0b20tY3JlYXRlZCBmb3IgTkJCQywgYW5kIGFyZSBjb3ZlcmVkCnVuZGVyIHRoZSBzYW1lIDxhIGhyZWY9ImludHJvX2xpY2Vuc2UuaHRtbCI+QlNELXN0eWxlIG9wZW4tc291cmNlIGxpY2Vuc2U8L2E+IGFzIHRoZSByZXN0IG9mIE5CQkMsIHNvCnRoZXkgbWF5IGJlIGZyZWVseSB1c2VkLCByZXVzZWQsIG9yIG1vZGlmaWVkIGZvciBhbnkgcHVycG9zZSwgc3ViamVjdCB0byB0aGUgdGVybXMgb2YgdGhlIGxpY2Vuc2UuKTwvcD4KCjxwIHN0eWxlPSd0ZXh0LWFsaWduOnJpZ2h0Oyc+WyBQcmV2aW91czogPGEgaHJlZj0iYmJjX2xpc3QuaHRtbCI+Vi5ILiBMaXN0czwvYT4gfCBOZXh0OiA8YSBocmVmPSJhcHBfcnVsZS5odG1sIj5CLiBSdWxlIFBhcmFtZXRlcnM8L2E+IF08L3A+Cgo8aHIgLz4KCjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+Q29weXJpZ2h0ICZjb3B5OyAyMDEwLCB0aGUgUGhhbnRvbSBJbmtlci4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9kaXY+Cgo8L2Rpdj48L2Rpdj48L2Rpdj4KCjwvYm9keT4KCjwvaHRtbD4K]]></data>
	</file>
	<file>
	  <filename>/docs/doc/app_tagparams.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWw6bGFuZz0iZW4iIGxhbmc9ImVuIj4KCjxoZWFkPgo8dGl0bGU+VGFnIFBhcmFtZXRlcnMgLSBOQkJDOiBUaGUgTmV3IEJCQ29kZSBQYXJzZXI8L3RpdGxlPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz4KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyB0eXBlPSd0ZXh0L2NzcycgaHJlZj0nc3R5bGVzLmNzcycgLz4KPC9oZWFkPgoKPGJvZHk+Cgo8ZGl2IGFsaWduPSdjZW50ZXInPjxkaXYgY2xhc3M9J3BhZ2VfY29udGFpbmVyMic+PGRpdiBjbGFzcz0ncGFnZV9jb250YWluZXInPgoKPGgyPlZJLiBBcHBlbmRpY2VzPC9oMj4KCjxwIHN0eWxlPSd0ZXh0LWFsaWduOnJpZ2h0O21hcmdpbjowOyc+WyBQcmV2aW91czogPGEgaHJlZj0iYXBwX2ludGVybmFscy5odG1sIj5HLiBIb3cgdGhlIFBhcnNlciBXb3JrczwvYT4gXTwvcD4KCjxoMz5ILiBUYWcgUGFyYW1ldGVyczwvaDM+Cgo8cD5JbiB2ZXJzaW9ucyAxLjAgdGhyb3VnaCAxLjMgb2YgTkJCQywgdGhlIHRhZyBwYXJhbWV0ZXJzIHByb3ZpZGVkIHRvIHRoZSBjYWxsYmFjayBmdW5jdGlvbgp3ZXJlIGZhaXJseSBzaW1wbGUgYW5kIHN0cmFpZ2h0Zm9yd2FyZC4gIFRoZXJlIHdlcmUgdGhlIHBhcmFtZXRlcnMgcHJvdmlkZWQgYnkgdGhlIHVzZXIsIGFuZAp0aGVzZSB0aHJlZSBwYXJhbWV0ZXJzIHdlcmUgcHJvdmlkZWQgYnkgTkJCQyBpdHNlbGY6PC9wPgoKPHVsPgo8bGkgc3R5bGU9J21hcmdpbi1ib3R0b206MWVtOyc+PHR0Pl9uYW1lPC90dD46ICBUaGUgbmFtZSBvZiB0aGUgdGFnLCBsaWtlICI8dHQ+dXJsPC90dD4iIG9yICI8dHQ+Y29sb3I8L3R0PiIuPC9saT4KCjxsaSBzdHlsZT0nbWFyZ2luLWJvdHRvbToxZW07Jz48dHQ+X2RlZmF1bHQ8L3R0PjogVGhlIGRlZmF1bHQgdmFsdWUgb2YgdGhlIHRhZzsgaW4gPHR0Pltmb250PUFyaWFsJm5ic3A7c2l6ZT01XTwvdHQ+IHRoZQoJZGVmYXVsdCB2YWx1ZSB3b3VsZCBiZSAiPHR0PkFyaWFsPC90dD4iLjwvbGk+Cgo8bGkgc3R5bGU9J21hcmdpbi1ib3R0b206MWVtOyc+PHR0Pl9lbmQ8L3R0PjogQSBib29sZWFuIHZhbHVlIHRoYXQgaXMgZmFsc2UgaWYgdGhlIHRhZyBpcyBhIHN0YXJ0IHRhZyBhbmQgdHJ1ZSBpZgoJdGhlIHRhZyBpcyBhbiBlbmQgdGFnIDxpPihub3RlIHRoYXQgdGhpcyB3aWxsIGFsd2F5cyBiZSA8dHQ+ZmFsc2U8L3R0PiBmb3IgYSBjYWxsYmFjayBmdW5jdGlvbiwgc28KCWl0J3Mgbm90IHZlcnkgdXNlZnVsIG91dHNpZGUgb2YgTkJCQydzIGludGVybmFscyk8L2k+LjwvbGk+CjwvdWw+Cgo8cD5Ib3dldmVyLCBpbiB2MS40IGFuZCBsYXRlciBvZiBOQkJDLCB0aGUgdGFnIHBhcmFtZXRlcnMgaGF2ZSBiZWVuIGV4cGFuZGVkIHRvIGluY2x1ZGUgdGhlCmZvbGxvd2luZyBhZGRpdGlvbmFsIHBhcmFtZXRlcnM6PC9wPgoKPHVsPgo8bGkgc3R5bGU9J21hcmdpbi1ib3R0b206MWVtOyc+PHR0Pl90YWc8L3R0PjogVGhlIHJhdyB2ZXJiYXRpbSB0ZXh0IG9mIHRoZSB0YWcsIHVucGFyc2VkLiAgRm9yIGV4YW1wbGUsIGluCgk8dHQ+W2ZvbnQ9QXJpYWwmbmJzcDtzaXplPTVdLi4uWy9mb250XTwvdHQ+LCB0aGlzIHdpbGwgY29udGFpbiAiPHR0Pltmb250PUFyaWFsJm5ic3A7c2l6ZT01XTwvdHQ+Ii48L2xpPgoKPGxpIHN0eWxlPSdtYXJnaW4tYm90dG9tOjFlbTsnPjx0dD5fZW5kdGFnPC90dD46IFRoZSByYXcgdmVyYmF0aW0gdGV4dCBvZiB0aGUgY2xvc2luZyB0YWcsIHVucGFyc2VkLiAgRm9yIGV4YW1wbGUsIGluCgk8dHQ+W2ZvbnQ9QXJpYWwmbmJzcDtzaXplPTVdLi4uWy9mb250XTwvdHQ+LCB0aGlzIHdpbGwgY29udGFpbiAiPHR0PlsvZm9udF08L3R0PiIuICBOb3RlCgl0aGF0IGlmIGFuIGVuZCB0YWcgaXMgb3B0aW9uYWwsIG9yIGl0J3MgcmVxdWlyZWQgYnV0IHRoZSB1c2VyIGZvcmdldHMgdG8gcHJvdmlkZSBpdCwgdGhpcwoJdmFsdWUgd2lsbCBzdGlsbCBjb250YWluIGFwcHJvcHJpYXRlIGNsb3NpbmctdGFnIHRleHQgKGkuZS4sIHRoZSBwYXJzZXIgd2lsbCBjcmVhdGUgYSBzdWl0YWJsZQoJZW5kIHRhZykuPC9saT4KCQo8bGkgc3R5bGU9J21hcmdpbi1ib3R0b206MWVtOyc+PHR0Pl9oYXNlbmQ8L3R0PjogSWYgYSBjbG9zaW5nIHRhZyB3YXMgcHJvdmlkZWQgYnkgdGhlIHVzZXIsIHRoaXMgd2lsbCBiZSBzZXQgdG8gPHR0PnRydWU8L3R0PjsKCWlmIG5vIGNsb3NpbmcgdGFnIHdhcyBwcm92aWRlZCwgb3IgdGhpcyB0YWcgZGlkbid0IGFsbG93IGEgY2xvc2luZyB0YWcsIHRoaXMgd2lsbCBiZSBzZXQgdG8gPHR0PmZhbHNlPC90dD4uCglZb3UgY2FuIHVzZSB0aGlzIGZpZWxkIHRvIGRpc3Rpbmd1aXNoIHdoZXRoZXIgdGhlIHVzZXIgaGFzIHByb3ZpZGVkIGEgY2xvc2luZyB0YWcgb3Igbm90IHdoZW4KCWNsb3NpbmcgdGFncyBhcmUgb3B0aW9uYWwuPC9saT4KCQo8bGkgc3R5bGU9J21hcmdpbi1ib3R0b206MWVtOyc+PHR0Pl9wYXJhbXM8L3R0PjogVGhlIGV4YWN0IHBhcmFtZXRlcnMgb2YgdGhlIHRhZywgcGFyc2VkLCBpbiBsaXN0IGZvcm0uICBGb3IgZXhhbXBsZSwgaW4KCTx0dD5bZm9udD1BcmlhbCZuYnNwO3NpemU9NV08L3R0PiwgdGhpcyBwYXJhbWV0ZXIgd2lsbCBjb250YWluIHRoaXMgYXJyYXk6CjxwcmU+QXJyYXkoCiAgICBBcnJheSgia2V5IiA9Jmd0OyAiZm9udCIsICJ2YWx1ZSIgPSZndDsgIkFyaWFsIiksCiAgICBBcnJheSgia2V5IiA9Jmd0OyAic2l6ZSIsICJ2YWx1ZSIgPSZndDsgIjUiKQopPC9wcmU+CgkJV2hpbGUgdGhpcyBtYXkgYXBwZWFyIHRvIGJlIGlkZW50aWNhbCB0byB0aGUgYXJyYXkgdGhhdCBjb250YWlucyBpdCwgaXQncyBub3QuICBGaXJzdCwgdGhlCgkJMHRoIGFycmF5IGVsZW1lbnQgaXMgPGk+YWx3YXlzPC9pPiBzZXQgdG8gdGhlIHRhZydzIGRlZmF1bHQgdmFsdWUgKGV2ZW4gaWYgdGhlcmUgaXMgbm8KCQlkZWZhdWx0IHZhbHVlKSwgYW5kIHNlY29uZCwgaWYgcmVkdW5kYW50IHBhcmFtZXRlcnMgYXJlIHByb3ZpZGVkLCB0aGlzIHdpbGwgbGlzdCB0aGVtCgkJc2VwYXJhdGVseS4gIEZvciBleGFtcGxlOgo8cHJlPltpbmNsdWRlcyBmaWxlPSJMYXJyeSIgZmlsZT0iR2VvcmdlIiBmaWxlPSJCaWxsIl0KPSZndDsgQXJyYXkoCiAgICBBcnJheSgia2V5IiA9Jmd0OyAiaW5jbHVkZXMiLCAidmFsdWUiID0mZ3Q7ICIiKSwKICAgIEFycmF5KCJrZXkiID0mZ3Q7ICJmaWxlIiwgInZhbHVlIiA9Jmd0OyAiTGFycnkiKSwKICAgIEFycmF5KCJrZXkiID0mZ3Q7ICJmaWxlIiwgInZhbHVlIiA9Jmd0OyAiR2VvcmdlIiksCiAgICBBcnJheSgia2V5IiA9Jmd0OyAiZmlsZSIsICJ2YWx1ZSIgPSZndDsgIkJpbGwiKQopPC9wcmU+CjwvdWw+Cgo8cD5JbiBhZGRpdGlvbiwgaW4gdjEuNCwgdGhlIHJ1bGUgd2FzIGVzdGFibGlzaGVkIHRoYXQgbm8gdXNlci1wcm92aWRlZCBwYXJhbWV0ZXIgbWF5IGhhdmUgYSBuYW1lCnRoYXQgc3RhcnRzIHdpdGggYW4gdW5kZXJzY29yZSAoXyk7IG5hbWVzIHRoYXQgc3RhcnQgd2l0aCB1bmRlcnNjb3JlcyBhcmUgcmVzZXJ2ZWQgZm9yIHVzZSBieQpOQkJDIGl0c2VsZi48L3A+Cgo8cD5Tb21lIG9mIHRoZXNlIHZhbHVlcyBhcmUgZGViYXRhYmx5IHVzZWZ1bDsgZm9yIGV4YW1wbGUsIHRoZSA8dHQ+X2VuZDwvdHQ+IHBhcmFtZXRlciBpcyBwcmltYXJpbHkKdXNlZCBieSBOQkJDIHRvIGVuc3VyZSBwcm9wZXIgdGFnIHBhcnNpbmcgYW5kIGRvZXNuJ3QgaGVscCBhIGNhbGxiYWNrIHJ1bGUgbXVjaC4gIEJ1dCBvdGhlcnMsIHN1Y2gKYXMgdGhlIG5ldyA8dHQ+X3BhcmFtczwvdHQ+IHBhcmFtZXRlciwgcHJvdmlkZSBzaWduaWZpY2FudCBwb3dlciB0byBjYWxsYmFjayBydWxlcyB0aGF0IHRoZXkgbmV2ZXIKaGFkIGJlZm9yZS48L3A+Cgo8aHIgLz4KCjxwPkluIHBhcnRpY3VsYXIsIHRoZSA8dHQ+X3RhZzwvdHQ+IGFuZCA8dHQ+X2VuZHRhZzwvdHQ+IHBhcmFtZXRlcnMgYXJlIG5vdyBwcm92aWRlZCBzbwp0aGF0IGNhbGxiYWNrcyBjYW4gZG8gbGF0ZSB2YWxpZGF0aW9uIG9mIHRoZWlyIGRhdGEuICBGb3IgZXhhbXBsZSwgY29uc2lkZXIgYSBjYWxsYmFjayBmb3IgdGhlIHRhZwo8dHQ+W2ZydWl0XTwvdHQ+LiAgVGhpcyBjYWxsYmFjayB3YW50cyB0byBhbGxvdyA8dHQ+W2ZydWl0XWFwcGxlWy9mcnVpdF08L3R0PiBhbmQgPHR0PltmcnVpdF1vcmFuZ2VbL2ZydWl0XTwvdHQ+CmJ1dCBub3QgPHR0PltmcnVpdF1ncmVlblsvZnJ1aXRdPC90dD4uICBUaGUgY2FsbGJhY2sgY2Fubm90IHVzZSB0aGUgdmFsaWRhdGlvbiBzdGFnZSBvZiBydWxlIHByb2Nlc3NpbmcKdG8gYW5zd2VyIHRoaXMgYmVjYXVzZSBpdCBkb2Vzbid0IGtub3cgd2hhdCBpdHMgY29udGVudHMgd2lsbCBiZSB1bnRpbCBpdCBoYXMgYWxyZWFkeSBzYWlkICJ5ZXMiLgpCdXQgd2l0aCB0aGUgPHR0Pl90YWc8L3R0PiBhbmQgPHR0Pl9lbmR0YWc8L3R0PiBwYXJhbWV0ZXJzLCB0aGUgPHR0PltmcnVpdF08L3R0PiB0YWcgY2FuIG5vdyAiZmFrZSIKY29ycmVjdCBiZWhhdmlvcjo8L3A+Cgo8eG1wIGNsYXNzPSdjb2RlJz5mdW5jdGlvbiBEb0ZydWl0KCRiYmNvZGUsICRhY3Rpb24sICRuYW1lLCAkZGVmYXVsdCwgJHBhcmFtcywgJGNvbnRlbnQpIHsKICAgIC8vIFdlIGNhbid0IGNoZWNrIHRoaXMgd2l0aCBCQkNPREVfQ0hFQ0sgYmVjYXVzZSB3ZSBoYXZlIG5vIGZydWl0CiAgICAvLyBiZWZvcmUgdGhlIGNvbnRlbnQgaGFzIGJlZW4gcHJvY2Vzc2VkLgogICAgaWYgKCRhY3Rpb24gPT0gQkJDT0RFX0NIRUNLKSByZXR1cm4gdHJ1ZTsKCiAgICBpZiAoJGNvbnRlbnQgPT0gImFwcGxlIiB8fCAkY29udGVudCA9PSAib3JhbmdlIikgewogICAgICAgIC8vIEdlbmVyYXRlIHByb3BlciBvdXRwdXQgZm9yIG91ciBbZnJ1aXRdIHRhZy4KICAgICAgICByZXR1cm4gIjxkaXYgY2xhc3M9J2ZydWl0Jz4iIC4gJGNvbnRlbnQgLiAiPC9kaXY+IjsKICAgIH0KICAgIGVsc2UgewogICAgICAgIC8vIEp1c3Qgb3V0cHV0IHRoZSBvcmlnaW5hbCB0YWcncyB0ZXh0LCBzaW5jZSBpdCdzIG5vdCB2YWxpZC4KICAgICAgICByZXR1cm4gaHRtbHNwZWNpYWxjaGFycygkcGFyYW1zWydfdGFnJ10pIC4gJGNvbnRlbnQKICAgICAgICAgICAgLiBodG1sc3BlY2lhbGNoYXJzKCRwYXJhbXNbJ19lbmR0YWcnXSk7CiAgICB9Cn08L3htcD4KCjxwPk5vdGljZSBob3cgdGhpcyBjYWxsYmFjaywgaWYgZ2l2ZW4gYW4gaW52YWxpZCB0eXBlIG9mIGZydWl0LCBzaW1wbHkgcmV0dXJucyB0aGUgb3JpZ2luYWwKdGFnIGFuZCBpdHMgY29udGVudHMsIHVuY2hhbmdlZC4gIFRoaXMgcGF0dGVybiBpcyB1c2VkIGluIHNldmVyYWwgcGxhY2VzIGluIHRoZSBTdGFuZGFyZCBCQkNvZGUKTGlicmFyeSBpbiBOQkJDIHYxLjQsIGFuZCBjYW4gYmUgdmVyeSB1c2VmdWwgaW4geW91ciBvd24gcnVsZXMgYXMgcmVsbC48L3A+Cgo8cCBzdHlsZT0ndGV4dC1hbGlnbjpyaWdodDsnPlsgUHJldmlvdXM6IDxhIGhyZWY9ImFwcF9pbnRlcm5hbHMuaHRtbCI+Ry4gSG93IHRoZSBQYXJzZXIgV29ya3M8L2E+IF08L3A+Cgo8aHIgLz4KCjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+Q29weXJpZ2h0ICZjb3B5OyAyMDEwLCB0aGUgUGhhbnRvbSBJbmtlci4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9kaXY+Cgo8L2Rpdj48L2Rpdj48L2Rpdj4KCjwvYm9keT4KCjwvaHRtbD4K]]></data>
	</file>
	<file>
	  <filename>/docs/doc/bbc.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWw6bGFuZz0iZW4iIGxhbmc9ImVuIj4KCjxoZWFkPgo8dGl0bGU+QWxwaGFiZXRpY2FsIEJCQ29kZSBMaXN0IC0gTkJCQzogVGhlIE5ldyBCQkNvZGUgUGFyc2VyPC90aXRsZT4KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+CjxsaW5rIHJlbD0nc3R5bGVzaGVldCcgdHlwZT0ndGV4dC9jc3MnIGhyZWY9J3N0eWxlcy5jc3MnIC8+CjwvaGVhZD4KCjxib2R5PgoKPGRpdiBhbGlnbj0nY2VudGVyJz48ZGl2IGNsYXNzPSdwYWdlX2NvbnRhaW5lcjInPjxkaXYgY2xhc3M9J3BhZ2VfY29udGFpbmVyJz4KCjxoMj5WLiBTdGFuZGFyZCBCQkNvZGUgTGlicmFyeTwvaDI+Cgo8cCBzdHlsZT0ndGV4dC1hbGlnbjpyaWdodDttYXJnaW46MDsnPlsgUHJldmlvdXM6IDxhIGhyZWY9ImFwaV9taXNjLmh0bWwiPklWLkouIE1pc2NlbGxhbmVvdXMgU3VwcG9ydCBGdW5jdGlvbnM8L2E+IHwgTmV4dDogPGEgaHJlZj0iYmJjX3RleHQuaHRtbCI+Qi4gVGV4dCBTdHlsZXM8L2E+IF08L3A+Cgo8aDM+QS4gQWxwaGFiZXRpY2FsIEJCQ29kZSBMaXN0PC9oMz4KCjxwPlNlY3Rpb24gViBvZiB0aGUgdXNlcidzIG1hbnVhbCBkb2N1bWVudHMgYWxsIG9mIHRoZSAib3V0LW9mLXRoZS1ib3giIEJCQ29kZSBjb2RlcyB0aGF0IE5CQkMgc3VwcG9ydHM6ICBUaGVzZQpjb2RlcyBhcmUgcHJvdmlkZWQgYnkgTkJCQyBieSBkZWZhdWx0OyBpZiB5b3UgZG9uJ3Qgd2FudCB0aGVtLCB5b3UnbGwgaGF2ZSB0byBzcGVjaWZpY2FsbHkKcmVtb3ZlIHRoZW0gd2l0aCA8YSBocmVmPSJhcGlfcnVsZS5odG1sI3JlZl9wYXJzZXJfUmVtb3ZlUnVsZSI+UmVtb3ZlUnVsZTwvYT4uPC9wPgoKPHRhYmxlIHN0eWxlPSdib3JkZXItY29sbGFwc2U6Y29sbGFwc2U7Jz48dGJvZHk+PHRyPjx0ZCBzdHlsZT0ncGFkZGluZy1yaWdodDozZW07Jz4KPHVsPgo8bGk+PGI+PGEgaHJlZj0iYmJjX3RleHQuaHRtbCIgc3R5bGU9J2NvbG9yOiMwMDAnPlRleHQgU3R5bGVzOjwvYT48L2I+Cgk8dWw+Cgk8bGk+PGEgaHJlZj0iYmJjX3RleHQuaHRtbCNyZWZfbGliX3N0eWxlX2IiPltiXS4uLlsvYl08L2E+PC9saT4KCTxsaT48YSBocmVmPSJiYmNfdGV4dC5odG1sI3JlZl9saWJfc3R5bGVfaSI+W2ldLi4uWy9pXTwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImJiY190ZXh0Lmh0bWwjcmVmX2xpYl9zdHlsZV91Ij5bdV0uLi5bL3VdPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYmJjX3RleHQuaHRtbCNyZWZfbGliX3N0eWxlX3MiPltzXS4uLlsvc108L2E+PC9saT4KCTxsaT48YSBocmVmPSJiYmNfdGV4dC5odG1sI3JlZl9saWJfc3R5bGVfc3VwIj5bc3VwXS4uLlsvc3VwXTwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImJiY190ZXh0Lmh0bWwjcmVmX2xpYl9zdHlsZV9zdWIiPltzdWJdLi4uWy9zdWJdPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYmJjX3RleHQuaHRtbCNyZWZfbGliX3N0eWxlX3Nwb2lsZXIiPltzcG9pbGVyXS4uLlsvc3BvaWxlcl08L2E+PC9saT4KCTxsaT48YSBocmVmPSJiYmNfdGV4dC5odG1sI3JlZl9saWJfc3R5bGVfYWNyb255bSI+W2Fjcm9ueW1dLi4uWy9hY3JvbnltXTwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImJiY190ZXh0Lmh0bWwjcmVmX2xpYl9zdHlsZV9zaXplIj5bc2l6ZV0uLi5bL3NpemVdPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYmJjX3RleHQuaHRtbCNyZWZfbGliX3N0eWxlX2NvbG9yIj5bY29sb3JdLi4uWy9jb2xvcl08L2E+PC9saT4KCTxsaT48YSBocmVmPSJiYmNfdGV4dC5odG1sI3JlZl9saWJfc3R5bGVfZm9udCI+W2ZvbnRdLi4uWy9mb250XTwvYT48L2xpPgoJPC91bD4KPC9saT4KPGxpPjxiPjxhIGhyZWY9ImJiY19saW5rLmh0bWwiIHN0eWxlPSdjb2xvcjojMDAwJz5MaW5rczo8L2E+PC9iPgoJPHVsPgoJPGxpPjxhIGhyZWY9ImJiY19saW5rLmh0bWwjcmVmX2xpYl9saW5rc191cmwiPlt1cmxdLi4uWy91cmxdPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYmJjX2xpbmsuaHRtbCNyZWZfbGliX2xpbmtzX2VtYWlsIj5bZW1haWxdLi4uWy9lbWFpbF08L2E+PC9saT4KCTxsaT48YSBocmVmPSJiYmNfbGluay5odG1sI3JlZl9saWJfbGlua3Nfd2lraSI+W3dpa2ldPC9hPjwvbGk+Cgk8L3VsPgo8L2xpPgo8bGk+PGI+PGEgaHJlZj0iYmJjX3JlcGwuaHRtbCIgc3R5bGU9J2NvbG9yOiMwMDAnPlJlcGxhY2VkIEl0ZW1zOjwvYT48L2I+Cgk8dWw+Cgk8bGk+PGEgaHJlZj0iYmJjX3JlcGwuaHRtbCNyZWZfbGliX3JlcGxfaW1nIj5baW1nXS4uLlsvaW1nXTwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImJiY19yZXBsLmh0bWwjcmVmX2xpYl9yZXBsX3J1bGUiPltydWxlXTwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImJiY19yZXBsLmh0bWwjcmVmX2xpYl9yZXBsX2JyIj5bYnJdPC9hPjwvbGk+Cgk8L3VsPgo8L2xpPgo8bGk+PGI+PGEgaHJlZj0iYmJjX2FsaWduLmh0bWwiIHN0eWxlPSdjb2xvcjojMDAwJz5BbGlnbm1lbnQ6PC9hPjwvYj4KCTx1bD4KCTxsaT48YSBocmVmPSJiYmNfYWxpZ24uaHRtbCNyZWZfbGliX2FsaWduX2NlbnRlciI+W2NlbnRlcl0uLi5bL2NlbnRlcl08L2E+PC9saT4KCTxsaT48YSBocmVmPSJiYmNfYWxpZ24uaHRtbCNyZWZfbGliX2FsaWduX2xlZnQiPltsZWZ0XS4uLlsvbGVmdF08L2E+PC9saT4KCTxsaT48YSBocmVmPSJiYmNfYWxpZ24uaHRtbCNyZWZfbGliX2FsaWduX3JpZ2h0Ij5bcmlnaHRdLi4uWy9yaWdodF08L2E+PC9saT4KCTxsaT48YSBocmVmPSJiYmNfYWxpZ24uaHRtbCNyZWZfbGliX2FsaWduX2luZGVudCI+W2luZGVudF0uLi5bL2luZGVudF08L2E+PC9saT4KCTwvdWw+CjwvbGk+CjxsaT48Yj48YSBocmVmPSJiYmNfY29sLmh0bWwiIHN0eWxlPSdjb2xvcjojMDAwJz5Db2x1bW5zOjwvYT48L2I+Cgk8dWw+Cgk8bGk+PGEgaHJlZj0iYmJjX2NvbC5odG1sIj5bY29sdW1uc10uLi5bL2NvbHVtbnNdPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYmJjX2NvbC5odG1sIj5bbmV4dGNvbF08L2E+PC9saT4KCTwvdWw+CjwvbGk+CjxsaT48Yj48YSBocmVmPSJiYmNfY3RyLmh0bWwiIHN0eWxlPSdjb2xvcjojMDAwJz5Db250YWluZXJzOjwvYT48L2I+Cgk8dWw+Cgk8bGk+PGEgaHJlZj0iYmJjX2N0ci5odG1sI3JlZl9saWJfY29udGFpbmVyX2NvZGUiPltjb2RlXS4uLlsvY29kZV08L2E+PC9saT4KCTxsaT48YSBocmVmPSJiYmNfY3RyLmh0bWwjcmVmX2xpYl9jb250YWluZXJfcXVvdGUiPltxdW90ZV0uLi5bL3F1b3RlXTwvYT48L2xpPgoJPC91bD4KPC9saT4KPGxpPjxiPjxhIGhyZWY9ImJiY19saXN0Lmh0bWwiIHN0eWxlPSdjb2xvcjojMDAwJz5MaXN0czo8L2E+PC9iPgoJPHVsPgoJPGxpPjxhIGhyZWY9ImJiY19saXN0Lmh0bWwiPltsaXN0XS4uLlsvbGlzdF08L2E+PC9saT4KCTxsaT48YSBocmVmPSJiYmNfbGlzdC5odG1sIj5bKl0uLi48L2E+PC9saT4KCTwvdWw+CjwvbGk+CjwvdWw+CjwvdGQ+PHRkIHN0eWxlPSd2ZXJ0aWNhbC1hbGlnbjp0b3A7Jz4KPHVsPgo8bGk+PGI+QWxwaGFiZXRpY2FsOjwvYj4KCTx1bD4KCTxsaT48YSBocmVmPSJiYmNfbGlzdC5odG1sIj5bKl0uLi48L2E+PC9saT4KCTxsaT48YSBocmVmPSJiYmNfdGV4dC5odG1sI3JlZl9saWJfc3R5bGVfYWNyb255bSI+W2Fjcm9ueW1dLi4uWy9hY3JvbnltXTwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImJiY190ZXh0Lmh0bWwjcmVmX2xpYl9zdHlsZV9iIj5bYl0uLi5bL2JdPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYmJjX3JlcGwuaHRtbCNyZWZfbGliX3JlcGxfYnIiPlticl08L2E+PC9saT4KCTxsaT48YSBocmVmPSJiYmNfYWxpZ24uaHRtbCNyZWZfbGliX2FsaWduX2NlbnRlciI+W2NlbnRlcl0uLi5bL2NlbnRlcl08L2E+PC9saT4KCTxsaT48YSBocmVmPSJiYmNfY3RyLmh0bWwjcmVmX2xpYl9jb250YWluZXJfY29kZSI+W2NvZGVdLi4uWy9jb2RlXTwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImJiY190ZXh0Lmh0bWwjcmVmX2xpYl9zdHlsZV9jb2xvciI+W2NvbG9yXS4uLlsvY29sb3JdPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYmJjX2NvbC5odG1sIj5bY29sdW1uc10uLi5bL2NvbHVtbnNdPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYmJjX2xpbmsuaHRtbCNyZWZfbGliX2xpbmtzX2VtYWlsIj5bZW1haWxdLi4uWy9lbWFpbF08L2E+PC9saT4KCTxsaT48YSBocmVmPSJiYmNfdGV4dC5odG1sI3JlZl9saWJfc3R5bGVfZm9udCI+W2ZvbnRdLi4uWy9mb250XTwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImJiY190ZXh0Lmh0bWwjcmVmX2xpYl9zdHlsZV9pIj5baV0uLi5bL2ldPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYmJjX3JlcGwuaHRtbCNyZWZfbGliX3JlcGxfaW1nIj5baW1nXS4uLlsvaW1nXTwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImJiY19hbGlnbi5odG1sI3JlZl9saWJfYWxpZ25faW5kZW50Ij5baW5kZW50XS4uLlsvaW5kZW50XTwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImJiY19hbGlnbi5odG1sI3JlZl9saWJfYWxpZ25fbGVmdCI+W2xlZnRdLi4uWy9sZWZ0XTwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImJiY19saXN0Lmh0bWwiPltsaXN0XS4uLlsvbGlzdF08L2E+PC9saT4KCTxsaT48YSBocmVmPSJiYmNfY29sLmh0bWwiPltuZXh0Y29sXTwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImJiY19jdHIuaHRtbCNyZWZfbGliX2NvbnRhaW5lcl9xdW90ZSI+W3F1b3RlXS4uLlsvcXVvdGVdPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYmJjX2FsaWduLmh0bWwjcmVmX2xpYl9hbGlnbl9yaWdodCI+W3JpZ2h0XS4uLlsvcmlnaHRdPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYmJjX3JlcGwuaHRtbCNyZWZfbGliX3JlcGxfcnVsZSI+W3J1bGVdPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYmJjX3RleHQuaHRtbCNyZWZfbGliX3N0eWxlX3MiPltzXS4uLlsvc108L2E+PC9saT4KCTxsaT48YSBocmVmPSJiYmNfdGV4dC5odG1sI3JlZl9saWJfc3R5bGVfc2l6ZSI+W3NpemVdLi4uWy9zaXplXTwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImJiY190ZXh0Lmh0bWwjcmVmX2xpYl9zdHlsZV9zcG9pbGVyIj5bc3BvaWxlcl0uLi5bL3Nwb2lsZXJdPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYmJjX3RleHQuaHRtbCNyZWZfbGliX3N0eWxlX3N1YiI+W3N1Yl0uLi5bL3N1Yl08L2E+PC9saT4KCTxsaT48YSBocmVmPSJiYmNfdGV4dC5odG1sI3JlZl9saWJfc3R5bGVfc3VwIj5bc3VwXS4uLlsvc3VwXTwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImJiY190ZXh0Lmh0bWwjcmVmX2xpYl9zdHlsZV91Ij5bdV0uLi5bL3VdPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYmJjX2xpbmsuaHRtbCNyZWZfbGliX2xpbmtzX3VybCI+W3VybF0uLi5bL3VybF08L2E+PC9saT4KCTxsaT48YSBocmVmPSJiYmNfbGluay5odG1sI3JlZl9saWJfbGlua3Nfd2lraSI+W3dpa2ldPC9hPjwvbGk+Cgk8L3VsPgo8L2xpPgo8L3VsPgo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPgoKPHAgc3R5bGU9J3RleHQtYWxpZ246cmlnaHQ7Jz5bIFByZXZpb3VzOiA8YSBocmVmPSJhcGlfbWlzYy5odG1sIj5JVi5KLiBNaXNjZWxsYW5lb3VzIFN1cHBvcnQgRnVuY3Rpb25zPC9hPiB8IE5leHQ6IDxhIGhyZWY9ImJiY190ZXh0Lmh0bWwiPkIuIFRleHQgU3R5bGVzPC9hPiBdPC9wPgoKPGhyIC8+Cgo8ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPkNvcHlyaWdodCAmY29weTsgMjAxMCwgdGhlIFBoYW50b20gSW5rZXIuICBBbGwgcmlnaHRzIHJlc2VydmVkLjwvZGl2PgoKPC9kaXY+PC9kaXY+PC9kaXY+Cgo8L2JvZHk+Cgo8L2h0bWw+Cg==]]></data>
	</file>
	<file>
	  <filename>/docs/doc/bbc_align.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWw6bGFuZz0iZW4iIGxhbmc9ImVuIj4KCjxoZWFkPgo8dGl0bGU+QWxpZ25tZW50IC0gTkJCQzogVGhlIE5ldyBCQkNvZGUgUGFyc2VyPC90aXRsZT4KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+CjxsaW5rIHJlbD0nc3R5bGVzaGVldCcgdHlwZT0ndGV4dC9jc3MnIGhyZWY9J3N0eWxlcy5jc3MnIC8+CjwvaGVhZD4KCjxib2R5PgoKPGRpdiBhbGlnbj0nY2VudGVyJz48ZGl2IGNsYXNzPSdwYWdlX2NvbnRhaW5lcjInPjxkaXYgY2xhc3M9J3BhZ2VfY29udGFpbmVyJz4KCjxoMj5WLiBTdGFuZGFyZCBCQkNvZGUgTGlicmFyeTwvaDI+Cgo8cCBzdHlsZT0ndGV4dC1hbGlnbjpyaWdodDttYXJnaW46MDsnPlsgUHJldmlvdXM6IDxhIGhyZWY9ImJiY19yZXBsLmh0bWwiPkQuIFJlcGxhY2VkIEl0ZW1zPC9hPiB8IE5leHQ6IDxhIGhyZWY9ImJiY19jb2wuaHRtbCI+Ri4gQ29sdW1uczwvYT4gXTwvcD4KCjxoMz5FLiBBbGlnbm1lbnQ8L2gzPgoKPGEgbmFtZT0icmVmX2xpYl9hbGlnbl9jZW50ZXIiPjwvYT4KPHAgY2xhc3M9J2JibGliJz48Yj48dHQ+W2NlbnRlcl0uLi5bL2NlbnRlcl08L3R0PjwvYj48YnIgLz4KCVRoZSA8dHQ+W2NlbnRlcl08L3R0PiB0YWcgY2F1c2VzIGl0cyBjb250ZW50cyB0byBiZSBicm9rZW4gaW50byBhIHNlcGFyYXRlIGJsb2NrIGFuZCBhbGlnbmVkIGhvcml6b250YWxseQoJdG8gdGhlIGNlbnRlciBvZiB0aGUgcGFnZS4gIEl0cyBlbmQgdGFnIGlzIHJlcXVpcmVkLjwvcD4KCjxhIG5hbWU9InJlZl9saWJfYWxpZ25fbGVmdCI+PC9hPgo8cCBjbGFzcz0nYmJsaWInPjxiPjx0dD5bbGVmdF0uLi5bL2xlZnRdPC90dD48L2I+PGJyIC8+CglUaGUgPHR0PltsZWZ0XTwvdHQ+IHRhZyBjYXVzZXMgaXRzIGNvbnRlbnRzIHRvIGJlIGJyb2tlbiBpbnRvIGEgc2VwYXJhdGUgYmxvY2sgYW5kIGFsaWduZWQgaG9yaXpvbnRhbGx5Cgl0byB0aGUgbGVmdCBvZiB0aGUgcGFnZS4gIEl0cyBlbmQgdGFnIGlzIHJlcXVpcmVkLjwvcD4KCjxhIG5hbWU9InJlZl9saWJfYWxpZ25fcmlnaHQiPjwvYT4KPHAgY2xhc3M9J2JibGliJz48Yj48dHQ+W3JpZ2h0XS4uLlsvcmlnaHRdPC90dD48L2I+PGJyIC8+CglUaGUgPHR0PltyaWdodF08L3R0PiB0YWcgY2F1c2VzIGl0cyBjb250ZW50cyB0byBiZSBicm9rZW4gaW50byBhIHNlcGFyYXRlIGJsb2NrIGFuZCBhbGlnbmVkIGhvcml6b250YWxseQoJdG8gdGhlIHJpZ2h0IG9mIHRoZSBwYWdlLiAgSXRzIGVuZCB0YWcgaXMgcmVxdWlyZWQuPC9wPgoKPGEgbmFtZT0icmVmX2xpYl9hbGlnbl9pbmRlbnQiPjwvYT4KPHAgY2xhc3M9J2JibGliJz48Yj48dHQ+W2luZGVudF0uLi5bL2luZGVudF08L3R0PjwvYj48YnIgLz4KCVRoZSA8dHQ+W2luZGVudF08L3R0PiB0YWcgY2F1c2VzIGl0cyBjb250ZW50cyB0byBiZSBicm9rZW4gaW50byBhIHNlcGFyYXRlIGJsb2NrIGFuZCBiZSB0byBpbmRlbnRlZCwgdG8gaGF2ZQoJYW4gYXBwcm94aW1hdGVseSBoYWxmLWluY2ggbWFyZ2luIG9uIHRoZSBsZWZ0IHNpZGUuICBJdHMgZW5kIHRhZyBpcyByZXF1aXJlZC48L3A+Cgo8cCBzdHlsZT0ndGV4dC1hbGlnbjpyaWdodDsnPlsgUHJldmlvdXM6IDxhIGhyZWY9ImJiY19yZXBsLmh0bWwiPkQuIFJlcGxhY2VkIEl0ZW1zPC9hPiB8IE5leHQ6IDxhIGhyZWY9ImJiY19jb2wuaHRtbCI+Ri4gQ29sdW1uczwvYT4gXTwvcD4KCjxociAvPgoKPGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz5Db3B5cmlnaHQgJmNvcHk7IDIwMTAsIHRoZSBQaGFudG9tIElua2VyLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC48L2Rpdj4KCjwvZGl2PjwvZGl2PjwvZGl2PgoKPC9ib2R5PgoKPC9odG1sPgo=]]></data>
	</file>
	<file>
	  <filename>/docs/doc/bbc_col.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWw6bGFuZz0iZW4iIGxhbmc9ImVuIj4KCjxoZWFkPgo8dGl0bGU+Q29sdW1ucyAtIE5CQkM6IFRoZSBOZXcgQkJDb2RlIFBhcnNlcjwvdGl0bGU+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgo8bGluayByZWw9J3N0eWxlc2hlZXQnIHR5cGU9J3RleHQvY3NzJyBocmVmPSdzdHlsZXMuY3NzJyAvPgo8L2hlYWQ+Cgo8Ym9keT4KCjxkaXYgYWxpZ249J2NlbnRlcic+PGRpdiBjbGFzcz0ncGFnZV9jb250YWluZXIyJz48ZGl2IGNsYXNzPSdwYWdlX2NvbnRhaW5lcic+Cgo8aDI+Vi4gU3RhbmRhcmQgQkJDb2RlIExpYnJhcnk8L2gyPgoKPHAgc3R5bGU9J3RleHQtYWxpZ246cmlnaHQ7bWFyZ2luOjA7Jz5bIFByZXZpb3VzOiA8YSBocmVmPSJiYmNfYWxpZ24uaHRtbCI+RS4gQWxpZ25tZW50PC9hPiB8IE5leHQ6IDxhIGhyZWY9ImJiY19jdHIuaHRtbCI+Ry4gQ29udGFpbmVyczwvYT4gXTwvcD4KCjxoMz5GLiBDb2x1bW5zPC9oMz4KCjxhIG5hbWU9InJlZl9saWJfY29sdW1uc19jb2x1bW5zIj48L2E+CjxwIGNsYXNzPSdiYmxpYic+PGI+PHR0Pltjb2x1bW5zXS4uLltuZXh0Y29sXS4uLltuZXh0Y29sXS4uLlsvY29sdW1uc108L3R0PjwvYj48YnIgLz4KCVRoZSA8dHQ+W2NvbHVtbnNdPC90dD4gdGFnIGJlZ2lucyBhIHNlY3Rpb24gd2hlcmUgc2VwYXJhdGUgY2h1bmtzIG9mIHRleHQgYXJlIHBsYWNlZAoJdmlzdWFsbHkgc2lkZS1ieS1zaWRlLCBsaWtlIHdpdGggbmV3c3BhcGVyIGNvbHVtbnMuICBUaGUgPHR0PltuZXh0Y29sXTwvdHQ+IHRhZyB3b3JrcwoJd2l0aCB0aGUgPHR0Pltjb2x1bW5zXTwvdHQ+IHRhZyB0byBzZXBhcmF0ZSBpbmRpdmlkdWFsIGNvbHVtbnMgZnJvbSBvbmUgYW5vdGhlci4KCVVzYWdlIG9mIHRoZSA8dHQ+W2NvbHVtbnNdPC90dD4gdGFnIGlzIGJlc3QgZGVtb25zdHJhdGVkIGJ5IGV4YW1wbGU6PC9wPgoJCgk8ZGl2IHN0eWxlPSdtYXJnaW4tbGVmdDoyZW07Jz4KCTxkaXYgY2xhc3M9J2NvZGVfaGVhZGVyJz5Db2RlOjwvZGl2PgoJPHhtcCBjbGFzcz0nY29kZSc+VGhpcyB0ZXh0IGdvZXMgYmVmb3JlIHRoZSBjb2x1bW5zLgpbY29sdW1uc10KVGhpcyB0ZXh0IGlzIGluIHRoZSBmaXJzdCBjb2x1bW4uClRoaXMgaXMgYSBzZWNvbmQgbGluZSBpbiB0aGUgZmlyc3QgY29sdW1uLgpbbmV4dGNvbF0KVGhpcyBpcyB0aGUgc2Vjb25kIGNvbHVtbiwKd2l0aCBhIHNlY29uZCBsaW5lLgpbbmV4dGNvbF0KVGhpcyBpcyBhIHRoaXJkIGNvbHVtbi4KQXJlIHdlIGhhdmluZyBmdW4geWV0PwpbL2NvbHVtbnNdClRoaXMgdGV4dCBnb2VzIGFmdGVyIHRoZSBjb2x1bW5zLjwveG1wPgoJPGRpdiBjbGFzcz0nb3V0cHV0X2hlYWRlcic+T3V0cHV0OjwvZGl2PgoJPGRpdiBjbGFzcz0nb3V0cHV0Jz4KCQlUaGlzIHRleHQgZ29lcyBiZWZvcmUgdGhlIGNvbHVtbnMuCgkJPHRhYmxlIGNsYXNzPSJiYmNvZGVfY29sdW1ucyI+PHRib2R5Pjx0cj48dGQgY2xhc3M9ImJiY29kZV9jb2x1bW4gYmJjb2RlX2ZpcnN0Y29sdW1uIj4KCQlUaGlzIHRleHQgaXMgaW4gdGhlIGZpcnN0IGNvbHVtbi48YnIgLz4KCQlUaGlzIGlzIGEgc2Vjb25kIGxpbmUgaW4gdGhlIGZpcnN0IGNvbHVtbi4KCQk8L3RkPjx0ZCBjbGFzcz0iYmJjb2RlX2NvbHVtbiI+CgkJVGhpcyBpcyB0aGUgc2Vjb25kIGNvbHVtbiw8YnIgLz4KCQl3aXRoIGEgc2Vjb25kIGxpbmUuCgkJPC90ZD48dGQgY2xhc3M9ImJiY29kZV9jb2x1bW4iPgoJCVRoaXMgaXMgYSB0aGlyZCBjb2x1bW4uPGJyIC8+CgkJQXJlIHdlIGhhdmluZyBmdW4geWV0PwoJCTwvdGQ+PC90cj48L3RhYmxlPgoJCVRoaXMgdGV4dCBnb2VzIGFmdGVyIHRoZSBjb2x1bW5zLgoJPC9kaXY+Cgk8L2Rpdj4KCgk8cCBzdHlsZT0nbWFyZ2luLWxlZnQ6MmVtOyc+VGhlIGVuZGluZyA8dHQ+Wy9jb2x1bW5zXTwvdHQ+IHRhZyBpcyByZXF1aXJlZC48L3A+Cgo8cCBzdHlsZT0ndGV4dC1hbGlnbjpyaWdodDsnPlsgUHJldmlvdXM6IDxhIGhyZWY9ImJiY19hbGlnbi5odG1sIj5FLiBBbGlnbm1lbnQ8L2E+IHwgTmV4dDogPGEgaHJlZj0iYmJjX2N0ci5odG1sIj5HLiBDb250YWluZXJzPC9hPiBdPC9wPgoKPGhyIC8+Cgo8ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPkNvcHlyaWdodCAmY29weTsgMjAxMCwgdGhlIFBoYW50b20gSW5rZXIuICBBbGwgcmlnaHRzIHJlc2VydmVkLjwvZGl2PgoKPC9kaXY+PC9kaXY+PC9kaXY+Cgo8L2JvZHk+Cgo8L2h0bWw+Cg==]]></data>
	</file>
	<file>
	  <filename>/docs/doc/bbc_ctr.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWw6bGFuZz0iZW4iIGxhbmc9ImVuIj4KCjxoZWFkPgo8dGl0bGU+Q29udGFpbmVycyAtIE5CQkM6IFRoZSBOZXcgQkJDb2RlIFBhcnNlcjwvdGl0bGU+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgo8bGluayByZWw9J3N0eWxlc2hlZXQnIHR5cGU9J3RleHQvY3NzJyBocmVmPSdzdHlsZXMuY3NzJyAvPgo8L2hlYWQ+Cgo8Ym9keT4KCjxkaXYgYWxpZ249J2NlbnRlcic+PGRpdiBjbGFzcz0ncGFnZV9jb250YWluZXIyJz48ZGl2IGNsYXNzPSdwYWdlX2NvbnRhaW5lcic+Cgo8aDI+Vi4gU3RhbmRhcmQgQkJDb2RlIExpYnJhcnk8L2gyPgoKPHAgc3R5bGU9J3RleHQtYWxpZ246cmlnaHQ7bWFyZ2luOjA7Jz5bIFByZXZpb3VzOiA8YSBocmVmPSJiYmNfY29sLmh0bWwiPkYuIENvbHVtbnM8L2E+IHwgTmV4dDogPGEgaHJlZj0iYmJjX2xpc3QuaHRtbCI+SC4gTGlzdHM8L2E+IF08L3A+Cgo8aDM+Ry4gQ29udGFpbmVyczwvaDM+Cgo8YSBuYW1lPSJyZWZfbGliX2NvbnRhaW5lcl9jb2RlIj48L2E+CjxwIGNsYXNzPSdiYmxpYic+PGI+PHR0Pltjb2RlXS4uLlsvY29kZV08L3R0PjwvYj48YnIgLz4KCVRoZSA8dHQ+W2NvZGVdPC90dD4gdGFnIGlzIGRlc2lnbmVkIGZvciByZXByZXNlbnRpbmcgY29udGVudCBmcm9tIHZhcmlvdXMgcHJvZ3JhbW1pbmcKCWxhbmd1YWdlcyB3aXRob3V0IHJlcXVpcmluZyB1c2Ugb2Ygc3BlY2lhbCBjb2RlcyB0byBkaXNwbGF5IGl0LiAgRXZlcnkgY2hhcmFjdGVyIGJldHdlZW4KCTx0dD5bY29kZV08L3R0PiBhbmQgPHR0PlsvY29kZV08L3R0PiB3aWxsIGJlIGNvcGllZCBkaXJlY3RseSB0byB0aGUgb3V0cHV0LCB3aXRoIHdoaXRlc3BhY2UKCWluY2x1ZGluZyBuZXdsaW5lcyBhbmQgdGFicywgcmV0YWluZWQgYW5kIHByZWZvcm1hdHRlZC4gIFRoZSBvbmx5IGV4Y2VwdGlvbiB0byB0aGlzIGlzIHRoYXQKCXRoZSBmaXJzdCBuZXdsaW5lIGFmdGVyIHRoZSA8dHQ+W2NvZGVdPC90dD4gdGFnIHdpbGwgYmUgcmVtb3ZlZCwgYW5kIHRoZSBsYXN0IG5ld2xpbmUgYmVmb3JlCgk8dHQ+Wy9jb2RlXTwvdHQ+IHdpbGwgYmUgcmVtb3ZlZCwganVzdCB0byBrZWVwIHRoZSBvdXRwdXQgZnJvbSBoYXZpbmcgd2FzdGVkIGJsYW5rIGxpbmVzIGluIGl0LgoJVGhlIGVuZGluZyA8dHQ+Wy9jb2RlXTwvdHQ+IHRhZyBpcyByZXF1aXJlZDsgd2l0aG91dCBpdCwgdGhlIHN0YXJ0IDx0dD5bY29kZV08L3R0PiB0YWcgd2lsbAoJYmUgaWdub3JlZC48L3A+Cgo8YSBuYW1lPSJyZWZfbGliX2NvbnRhaW5lcl9xdW90ZSI+PC9hPgo8cCBjbGFzcz0nYmJsaWInIHN0eWxlPSdtYXJnaW4tYm90dG9tOjAnPjxiPjx0dD5bcXVvdGVdLi4uWy9xdW90ZV08L3R0PjwvYj48L3A+CjxwIGNsYXNzPSdiYmxpYicgc3R5bGU9J21hcmdpbi1ib3R0b206MDttYXJnaW4tdG9wOjAnPjxiPjx0dD5bcXVvdGU9IkpvaG4iXS4uLlsvcXVvdGVdPC90dD48L2I+PC9wPgo8cCBjbGFzcz0nYmJsaWInIHN0eWxlPSdtYXJnaW4tYm90dG9tOjA7bWFyZ2luLXRvcDowJz48Yj48dHQ+W3F1b3RlIG5hbWU9IkpvaG4iXS4uLlsvcXVvdGVdPC90dD48L2I+PC9wPgo8cCBjbGFzcz0nYmJsaWInIHN0eWxlPSdtYXJnaW4tYm90dG9tOjA7bWFyZ2luLXRvcDowJz48Yj48dHQ+W3F1b3RlIG5hbWU9IkpvaG4iIGRhdGU9Ikp1bHkgNCwgMjAwOCIgdXJsPSJodHRwOi8vd3d3LmZvby5jb20iXS4uLlsvcXVvdGVdPC90dD48L2I+CglUaGUgPHR0PltxdW90ZV08L3R0PiB0YWcgbGV0cyB5b3UgY29weSBzb21lb25lIGVsc2UncyBCQkNvZGUgYW5kIGF0dHJpYnR1ZSBpdCB0byB0aGVtLgoJVGhlIDx0dD5bcXVvdGVdPC90dD4gdGFnIGNvbWVzIGluIHNldmVyYWwgZGlmZmVyZW50IGZsYXZvcnMsIGRlcGVuZGluZyBvbiBob3cgeW91IHdhbnQgdG8KCXF1b3RlIHRoZW0uICBJbiB0aGUgZmlyc3QgZm9ybSwgaXQgYXR0cmlidXRlcyB0aGUgcXVvdGUgdG8gbm8tb25lIHNwZWNpZmljOjwvcD4KCgk8ZGl2IHN0eWxlPSdtYXJnaW4tbGVmdDoyZW07Jz4KCTxkaXYgY2xhc3M9J2NvZGVfaGVhZGVyJz5Db2RlOjwvZGl2PgoJPHhtcCBjbGFzcz0nY29kZSc+W3F1b3RlXUEgcm9sbGluZyBzdG9uZSBnYXRoZXJzIG5vIG1vc3MuWy9xdW90ZV08L3htcD4KCTxkaXYgY2xhc3M9J291dHB1dF9oZWFkZXInPk91dHB1dDo8L2Rpdj4KCTxkaXYgY2xhc3M9J291dHB1dCc+Cgk8ZGl2IGNsYXNzPSJiYmNvZGVfcXVvdGUiPgoJPGRpdiBjbGFzcz0iYmJjb2RlX3F1b3RlX2hlYWQiPlF1b3RlOjwvZGl2PgoJPGRpdiBjbGFzcz0iYmJjb2RlX3F1b3RlX2JvZHkiPkEgcm9sbGluZyBzdG9uZSBnYXRoZXJzIG5vIG1vc3MuPC9kaXY+Cgk8L2Rpdj4KCTwvZGl2PgoJPC9kaXY+CgoJPHAgc3R5bGU9J21hcmdpbi1sZWZ0OjJlbTsnPkluIGl0cyBzZWNvbmQgZm9ybSwgPHR0PltxdW90ZV08L3R0PiBsZXRzIHlvdSBpZGVudGlmeSB3aG8gc2FpZCBzb21ldGhpbmc6PC9wPgoKCTxkaXYgc3R5bGU9J21hcmdpbi1sZWZ0OjJlbTsnPgoJPGRpdiBjbGFzcz0nY29kZV9oZWFkZXInPkNvZGU6PC9kaXY+Cgk8eG1wIGNsYXNzPSdjb2RlJz5bcXVvdGU9VGhvbWFzIEplZmZlcnNvbl1XZSBob2xkIHRoZXNlIHRydXRocyB0byBiZSBzZWxmLWV2aWRlbnQ6ClRoYXQgYWxsIG1lbiBhcmUgY3JlYXRlZCBlcXVhbC5bL3F1b3RlXTwveG1wPgoJPGRpdiBjbGFzcz0nb3V0cHV0X2hlYWRlcic+T3V0cHV0OjwvZGl2PgoJPGRpdiBjbGFzcz0nb3V0cHV0Jz4KCTxkaXYgY2xhc3M9ImJiY29kZV9xdW90ZSI+Cgk8ZGl2IGNsYXNzPSJiYmNvZGVfcXVvdGVfaGVhZCI+VGhvbWFzIEplZmZlcnNvbiB3cm90ZTo8L2Rpdj4KCTxkaXYgY2xhc3M9ImJiY29kZV9xdW90ZV9ib2R5Ij5XZSBob2xkIHRoZXNlIHRydXRocyB0byBiZSBzZWxmLWV2aWRlbnQ6PGJyIC8+CglUaGF0IGFsbCBtZW4gYXJlIGNyZWF0ZWQgZXF1YWwuPC9kaXY+Cgk8L2Rpdj4KCTwvZGl2PgoJPC9kaXY+CgoJPHAgc3R5bGU9J21hcmdpbi1sZWZ0OjJlbTsnPkluIGl0cyB0aGlyZCBmb3JtLCA8dHQ+W3F1b3RlXTwvdHQ+IGxldHMgeW91IGlkZW50aWZ5IHdobyBzYWlkIHNvbWV0aGluZywKCQlhcyB3ZWxsIGFzIG9wdGlvbmFsbHkgaW5jbHVkaW5nIHRoZSBkYXRlIHRoZXkgc2FpZCBpdCBhbmQgYSBVUkwgdG8gd2hlcmUgaXQgY2FuIGJlIGZvdW5kOjwvcD4KCgk8ZGl2IHN0eWxlPSdtYXJnaW4tbGVmdDoyZW07Jz4KCTxkaXYgY2xhc3M9J2NvZGVfaGVhZGVyJz5Db2RlOjwvZGl2PgoJPHhtcCBjbGFzcz0nY29kZSc+W3F1b3RlIG5hbWU9IlRob21hcyBKZWZmZXJzb24iIGRhdGU9Ikp1bHkgNCwgMTc3NiIKCXVybD0iaHR0cDovL3d3dy51c2hpc3Rvcnkub3JnL0RlY2xhcmF0aW9uL2RvY3VtZW50L2luZGV4Lmh0bSJdCldlIGhvbGQgdGhlc2UgdHJ1dGhzIHRvIGJlIHNlbGYtZXZpZGVudDoKVGhhdCBhbGwgbWVuIGFyZSBjcmVhdGVkIGVxdWFsLlsvcXVvdGVdPC94bXA+Cgk8ZGl2IGNsYXNzPSdvdXRwdXRfaGVhZGVyJz5PdXRwdXQ6PC9kaXY+Cgk8ZGl2IGNsYXNzPSdvdXRwdXQnPgoJPGRpdiBjbGFzcz0iYmJjb2RlX3F1b3RlIj4KCTxkaXYgY2xhc3M9ImJiY29kZV9xdW90ZV9oZWFkIj48YSBocmVmPSJodHRwOi8vd3d3LnVzaGlzdG9yeS5vcmcvRGVjbGFyYXRpb24vZG9jdW1lbnQvaW5kZXguaHRtIj5UaG9tYXMgSmVmZmVyc29uIHdyb3RlIG9uIEp1bHkgNCwgMTc3Njo8L2E+PC9kaXY+Cgk8ZGl2IGNsYXNzPSJiYmNvZGVfcXVvdGVfYm9keSI+V2UgaG9sZCB0aGVzZSB0cnV0aHMgdG8gYmUgc2VsZi1ldmlkZW50OjxiciAvPgoJVGhhdCBhbGwgbWVuIGFyZSBjcmVhdGVkIGVxdWFsLjwvZGl2PgoJPC9kaXY+Cgk8L2Rpdj4KCTwvZGl2PgoKCTxwIHN0eWxlPSdtYXJnaW4tbGVmdDoyZW07Jz5UaGUgZW5kaW5nIDx0dD5bL3F1b3RlXTwvdHQ+IHRhZyBpcyByZXF1aXJlZC48L3A+Cgo8cCBzdHlsZT0ndGV4dC1hbGlnbjpyaWdodDsnPlsgUHJldmlvdXM6IDxhIGhyZWY9ImJiY19jb2wuaHRtbCI+Ri4gQ29sdW1uczwvYT4gfCBOZXh0OiA8YSBocmVmPSJiYmNfbGlzdC5odG1sIj5ILiBMaXN0czwvYT4gXTwvcD4KCjxociAvPgoKPGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz5Db3B5cmlnaHQgJmNvcHk7IDIwMTAsIHRoZSBQaGFudG9tIElua2VyLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC48L2Rpdj4KCjwvZGl2PjwvZGl2PjwvZGl2PgoKPC9ib2R5PgoKPC9odG1sPgo=]]></data>
	</file>
	<file>
	  <filename>/docs/doc/bbc_link.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWw6bGFuZz0iZW4iIGxhbmc9ImVuIj4KCjxoZWFkPgo8dGl0bGU+TGlua3MgLSBOQkJDOiBUaGUgTmV3IEJCQ29kZSBQYXJzZXI8L3RpdGxlPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz4KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyB0eXBlPSd0ZXh0L2NzcycgaHJlZj0nc3R5bGVzLmNzcycgLz4KPC9oZWFkPgoKPGJvZHk+Cgo8ZGl2IGFsaWduPSdjZW50ZXInPjxkaXYgY2xhc3M9J3BhZ2VfY29udGFpbmVyMic+PGRpdiBjbGFzcz0ncGFnZV9jb250YWluZXInPgoKPGgyPlYuIFN0YW5kYXJkIEJCQ29kZSBMaWJyYXJ5PC9oMj4KCjxwIHN0eWxlPSd0ZXh0LWFsaWduOnJpZ2h0O21hcmdpbjowOyc+WyBQcmV2aW91czogPGEgaHJlZj0iYmJjX3RleHQuaHRtbCI+Qi4gVGV4dCBTdHlsZXM8L2E+IHwgTmV4dDogPGEgaHJlZj0iYmJjX3JlcGwuaHRtbCI+RC4gUmVwbGFjZWQgSXRlbXM8L2E+IF08L3A+Cgo8aDM+Qy4gTGlua3M8L2gzPgoKPGEgbmFtZT0icmVmX2xpYl9saW5rc191cmwiPjwvYT4KPHAgY2xhc3M9J2JibGliJyBzdHlsZT0nbWFyZ2luLWJvdHRvbTowOyc+PGI+PHR0Plt1cmxdYWRkcmVzc1svdXJsXTwvdHQ+PC9iPjwvcD4KPHAgY2xhc3M9J2JibGliJyBzdHlsZT0nbWFyZ2luLWJvdHRvbTowO21hcmdpbi10b3A6MDsnPjxiPjx0dD5bdXJsPWFkZHJlc3NddGl0bGVbL3VybF08L3R0PjwvYj48L3A+CjxwIGNsYXNzPSdiYmxpYicgc3R5bGU9J21hcmdpbi1ib3R0b206MDttYXJnaW4tdG9wOjA7Jz48Yj48dHQ+W3VybCB0YXJnZXQ9dGFyZ2V0XWFkZHJlc3NbL3VybF08L3R0PjwvYj48L3A+CjxwIGNsYXNzPSdiYmxpYicgc3R5bGU9J21hcmdpbi10b3A6MDsnPjxiPjx0dD5bdXJsPWFkZHJlc3MgdGFyZ2V0PXRhcmdldF10aXRsZVsvdXJsXTwvdHQ+PC9iPjxiciAvPgoJVGhlIDx0dD5bdXJsXTwvdHQ+IHRhZywgd2hpY2ggaXMgYXZhaWxhYmxlIGluIHR3byBkaWZmZXJlbnQgZm9ybXMsIGFsbG93cyB5b3UgdG8gaW5zZXJ0IGxpbmtzIHRvCglleHRlcm5hbCBkb2N1bWVudHMuICBJbiB0aGUgZmlyc3QgZm9ybSwgaXQgc2ltcGx5IG1hcmtzIHRoZSBVUkwgYXMgYSBsaW5rOjxiciAvPgoJPGJyIC8+CgkmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgPHR0Plt1cmxdaHR0cDovL3d3dy5nb29nbGUuY29tWy91cmxdPC90dD4gJm5ic3A7IC0tJmd0OyAmbmJzcDsgPGEgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29tIj5odHRwOi8vd3d3Lmdvb2dsZS5jb208L2E+PGJyIC8+Cgk8YnIgLz4KCUluIHRoZSBzZWNvbmQgZm9ybSwgeW91IGNhbiBzcGVjaWZ5IHRoZSB0ZXh0IHRvIGFwcGVhciB3aXRoaW4gdGhlIGxpbms6PGJyIC8+Cgk8YnIgLz4KCSZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyA8dHQ+W3VybD1odHRwOi8vd3d3Lmdvb2dsZS5jb21dR29vZ2xlIVsvdXJsXTwvdHQ+ICZuYnNwOyAtLSZndDsgJm5ic3A7IDxhIGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbSI+R29vZ2xlITwvYT48YnIgLz4KCTxiciAvPgoJTm90ZSB0aGF0IGZvciBzYWZldHkncyBzYWtlLCB0aGUgPHR0Plt1cmxdPC90dD4gdGFnIHdpbGwgb25seSBhY2NlcHQgbG9jYWwgKHJlbGF0aXZlKSBVUkxzLAoJYW5kIFVSTHMgdGhhdCB1c2UgdGhlIDx0dD5odHRwOjwvdHQ+LCA8dHQ+aHR0cHM6PC90dD4sIDx0dD5mdHA6PC90dD4sIG9yIDx0dD5tYWlsdG86PC90dD4gcHJvdG9jb2xzLgoJSW4gcGFydGljdWxhciwgaXQgd2lsbCA8aT5ub3Q8L2k+IGFjY2VwdCBhbnkgVVJMIHRoYXQgdXNlcyB0aGUgPHR0PmphdmFzY3JpcHQ6PC90dD4gcHJvdG9jb2w7Cgl0aGlzIGxpbWl0YXRpb24gaXMgZm9yIHNlY3VyaXR5IHJlYXNvbnMsIGFuZCBjYW4gcHJldmVudCBjb2RlIGluamVjdGlvbiBvbiB5b3VyIHNpdGUuICBOQkJDCglhbHNvIHBlcmZvcm1zIHN0YXRpYyBjaGVja3Mgb24gdGhlIGdpdmVuIFVSTCB0byBlbnN1cmUgdGhhdCBpdCBpcyBsZWdhbDogIEZvciBleGFtcGxlLCBpdCBrbm93cwoJdGhhdCA8dHQ+aHR0cDovL2ZvbzwvdHQ+IGlzIG5vdCBhIGxlZ2FsIFVSTCBhbmQgd2lsbCBub3QgYWxsb3cgaXQuPGJyIC8+Cgk8YnIgLz4KCVRoZSA8dHQ+dGFyZ2V0PTwvdHQ+IHBhcmFtZXRlciBtaXJyb3JzIHRoYXQgb2YgdGhlIEhUTUwgPHR0PiZsdDthJmd0OzwvdHQ+IGVsZW1lbnQsIGFuZCBhbGxvd3MKCXRoZSBsaW5rIHRvIG9wZW4gaW4gYSBkaWZmZXJlbnQgd2luZG93IG9yIGZyYW1lLiAgSXQgYWNjZXB0cyBhbGwgb2YgdGhlIHN0YW5kYXJkIHdpbmRvdyBuYW1lcwoJdGhhdCB0aGUgPHR0PiZsdDthJmd0OzwvdHQ+IGVsZW1lbnQncyA8dHQ+dGFyZ2V0PTwvdHQ+IHBhcmFtZXRlciBhY2NlcHRzLCBpbmNsdWRpbmcgIjx0dD5fYmxhbms8L3R0PiIsCgkiPHR0Pl9zZWxmPC90dD4iLCAiPHR0Pl9wYXJlbnQ8L3R0PiIsIGFuZCAiPHR0Pl90b3A8L3R0PiIsIGFzIHdlbGwgYXMgc3BlY2lmaWNhbGx5LW5hbWVkIHdpbmRvd3MKCWFuZCBmcmFtZXMuPGJyIC8+Cgk8YnIgLz4KCTxpPihOb3RlOiBmb3Igc2VjdXJpdHkgcmVhc29ucywgdGhlIDx0dD50YXJnZXQ9PC90dD4gcGFyYW1ldGVyIGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQsIGFuZCBtdXN0CgliZSBtYW51YWxseSBlbmFibGVkIHVzaW5nIHRoZSA8YSBocmVmPSJhcGlfcmVwbC50cGwjcmVmX3BhcnNlcl9TZXRVUkxUYXJnZXRhYmxlIj5CQkNvZGU6OlNldFVSTFRhcmdldGFibGUoKTwvYT4KCWZ1bmN0aW9uIGZvciB0aGlzIHBhcmFtZXRlciB0byBiZSB1c2FibGUgaW4geW91ciBCQkNvZGUuIFNlZSA8YSBocmVmPSJhcGlfcmVwbC50cGwjcmVmX3BhcnNlcl9TZXRVUkxUYXJnZXRhYmxlIj5CQkNvZGU6OlNldFVSTFRhcmdldGFibGUoKTwvYT4KCWZvciBtb3JlIGRldGFpbHMuKTwvaT48L3A+Cgo8YSBuYW1lPSJyZWZfbGliX2xpbmtzX2VtYWlsIj48L2E+CjxwIGNsYXNzPSdiYmxpYicgc3R5bGU9J21hcmdpbi1ib3R0b206MDsnPjxiPjx0dD5bZW1haWxdYWRkcmVzc1svZW1haWxdPC90dD48L2I+PC9wPgo8cCBjbGFzcz0nYmJsaWInIHN0eWxlPSdtYXJnaW4tdG9wOjA7Jz48Yj48dHQ+W2VtYWlsPWFkZHJlc3NddGl0bGVbL2VtYWlsXTwvdHQ+PC9iPjxiciAvPgoJVGhlIDx0dD5bZW1haWxdPC90dD4gdGFnIGxldHMgeW91IGVhc2lseSBpbnNlcnQgc29tZW9uZSdzIGUtbWFpbCBhZGRyZXNzLiAgTGlrZSB0aGUKCTx0dD5bdXJsXTwvdHQ+IHRhZywgaXQgaXMgYXZhaWxhYmxlIGluIHR3byBmb3Jtcy4gIEluIHRoZSBmaXJzdCBmb3JtLCBpdCBzaW1wbHkgbWFya3MgdGhlIGUtbWFpbCBhZGRyZXNzIGFzIGEgbGluazo8YnIgLz4KCTxiciAvPgoJJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IDx0dD5bZW1haWxdYmlsbGdAbWljcm9zb2Z0LmNvbVsvZW1haWxdPC90dD4gJm5ic3A7IC0tJmd0OyAmbmJzcDsgPGEgaHJlZj0ibWFpbHRvOmJpbGxnQG1pY3Jvc29mdC5jb20iPmJpbGxnQG1pY3Jvc29mdC5jb208L2E+PGJyIC8+Cgk8YnIgLz4KCUluIHRoZSBzZWNvbmQgZm9ybSwgeW91IGNhbiBzcGVjaWZ5IHRoZSB0ZXh0IHRvIGFwcGVhciB3aXRoaW4gdGhlIGxpbms6PGJyIC8+Cgk8YnIgLz4KCSZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyA8dHQ+W2VtYWlsPWJpbGxnQG1pY3Jvc29mdC5jb21dQmlsbCBHLlsvZW1haWxdPC90dD4gJm5ic3A7IC0tJmd0OyAmbmJzcDsgPGEgaHJlZj0ibWFpbHRvOmJpbGxnQG1pY3Jvc29mdC5jb20iPkJpbGwgRy48L2E+PGJyIC8+Cgk8YnIgLz4KCUZvciBzYWZldHkncyBzYWtlLCBOQkJDIHBlcmZvcm1zIHN0YXRpYyBjaGVja3Mgb24gdGhlIGdpdmVuIGUtbWFpbCBhZGRyZXNzIHRvIGVuc3VyZSB0aGF0IGl0IGlzIGxlZ2FsOgoJRm9yIGV4YW1wbGUsIGl0IGtub3dzIHRoYXQgPHR0PmpvaG5AZm9vPC90dD4gaXMgbm90IGEgbGVnYWwgZS1tYWlsIGFkZHJlc3MgYW5kIHdpbGwgbm90IGFsbG93IGl0LjwvcD4KCjxhIG5hbWU9InJlZl9saWJfbGlua3Nfd2lraSI+PC9hPgo8cCBjbGFzcz0nYmJsaWInIHN0eWxlPSdtYXJnaW4tYm90dG9tOjA7Jz48Yj48dHQ+W3dpa2k9Im5hbWUiXTwvdHQ+PC9iPjwvcD4KPHAgY2xhc3M9J2JibGliJyBzdHlsZT0nbWFyZ2luLXRvcDowOyc+PGI+PHR0Plt3aWtpPSJuYW1lIiB0aXRsZT0idGl0bGUiXTwvdHQ+PC9iPjxiciAvPgoJVGhlIDx0dD5bd2lraV08L3R0PiB0YWcgaXMgdXNlZCBpbnRlcm5hbGx5IGJ5IE5CQkMgd2hlbiBpdCBlbmNvdW50ZXJzIGEgPHR0Pltbd2lraV1dPC90dD4gdGFnIChzZWUKCXRoZSBzZWN0aW9uIG9uIDxhIGhyZWY9InVzYWdlX3dpa2kuaHRtbCI+d2lraSB0YWdzPC9hPiBmb3IgbW9yZSBkZXRhaWxzKTogIFRoZSA8dHQ+W1t3aWtpXV08L3R0PiB0YWcKCWlzIGNvbnZlcnRlZCBpbnRvIGEgPHR0Plt3aWtpXTwvdHQ+IHRhZywgd2hpY2ggaXMgdGhlbiBjb252ZXJ0ZWQgaW50byBhIFVSTCBiYXNlZCBvbiB0aGUKCWFkZHJlc3Mgb2YgdGhlIGluc3RhbGxlZCB3aWtpLiAgTGlrZSB0aGUgPHR0Plt1cmxdPC90dD4gdGFnLCBpdCBpcyBhdmFpbGFibGUgaW4gdHdvIGZvcm1zLgoJSW4gdGhlIGZpcnN0IGZvcm0sIGl0IHNpbXBseSBtYXJrcyB0aGUgd2lraSBuYW1lIGFzIGEgbGluazo8YnIgLz4KCTxiciAvPgoJJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IDx0dD5bW1RoZSBXaGl0ZSBIb3VzZV1dPC90dD4gJm5ic3A7IC0tJmd0OyAmbmJzcDsgPGEgaHJlZj0iaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9UaGVfV2hpdGVfSG91c2UiPlRoZSBXaGl0ZSBIb3VzZTwvYT48YnIgLz4KCSZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyA8dHQ+W3dpa2k9IlRoZSBXaGl0ZSBIb3VzZSJdPC90dD4gJm5ic3A7IC0tJmd0OyAmbmJzcDsgPGEgaHJlZj0iaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9UaGVfV2hpdGVfSG91c2UiPlRoZSBXaGl0ZSBIb3VzZTwvYT48YnIgLz4KCTxiciAvPgoJSW4gdGhlIHNlY29uZCBmb3JtLCB5b3UgY2FuIHNwZWNpZnkgdGhlIHRleHQgdG8gYXBwZWFyIHdpdGhpbiB0aGUgbGluazo8YnIgLz4KCTxiciAvPgoJJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IDx0dD5bW1RoZSBXaGl0ZSBIb3VzZXwxNjAwIFBlbm5zeWx2YW5pYSBBdmVudWVdXTwvdHQ+ICZuYnNwOyAtLSZndDsgJm5ic3A7IDxhIGhyZWY9Imh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVGhlX1doaXRlX0hvdXNlIj4xNjAwIFBlbm5zeWx2YW5pYSBBdmVudWU8L2E+PGJyIC8+CgkmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgPHR0Plt3aWtpPSJUaGUgV2hpdGUgSG91c2UiIHRpdGxlPSIxNjAwIFBlbm5zeWx2YW5pYSBBdmVudWUiXTwvdHQ+ICZuYnNwOyAtLSZndDsgJm5ic3A7IDxhIGhyZWY9Imh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVGhlX1doaXRlX0hvdXNlIj4xNjAwIFBlbm5zeWx2YW5pYSBBdmVudWU8L2E+PGJyIC8+Cgk8YnIgLz4KCUJvdGggb2YgdGhlc2UgYXJlIGNvbnNpZGVyYWJseSBzaG9ydGVyIGFuZCBlYXNpZXIgdG8gdXNlIHRoYW4gdGhlIDx0dD5bdXJsXTwvdHQ+LWJhc2VkIHZlcnNpb24sIHdoaWNoIGlzIHdoeSB3aWtpLWxpbmtzIGV4aXN0OjxiciAvPgoJPGJyIC8+CgkmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgPHR0PltbVGhlIFdoaXRlIEhvdXNlXV08L3R0PiAmbmJzcDsgLS0mZ3Q7ICZuYnNwOyA8YSBocmVmPSJodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1RoZV9XaGl0ZV9Ib3VzZSI+VGhlIFdoaXRlIEhvdXNlPC9hPjxiciAvPjxiciAvPgoJJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IDx0dD5bdXJsPWh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVGhlX1doaXRlX0hvdXNlXVRoZSBXaGl0ZSBIb3VzZVsvdXJsXTwvdHQ+PGJyIC8+CgkmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAtLSZndDsgJm5ic3A7IDxhIGhyZWY9Imh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVGhlX1doaXRlX0hvdXNlIj5UaGUgV2hpdGUgSG91c2U8L2E+PGJyIC8+Cgk8YnIgLz4KCVRoZSA8dHQ+W3dpa2ldPC90dD4gdGFnIGRvZXMgbm90IGhhdmUgYW4gZW5kIHRhZy48L3A+Cgo8cCBzdHlsZT0ndGV4dC1hbGlnbjpyaWdodDsnPlsgUHJldmlvdXM6IDxhIGhyZWY9ImJiY190ZXh0Lmh0bWwiPkIuIFRleHQgU3R5bGVzPC9hPiB8IE5leHQ6IDxhIGhyZWY9ImJiY19yZXBsLmh0bWwiPkQuIFJlcGxhY2VkIEl0ZW1zPC9hPiBdPC9wPgoKPGhyIC8+Cgo8ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPkNvcHlyaWdodCAmY29weTsgMjAxMCwgdGhlIFBoYW50b20gSW5rZXIuICBBbGwgcmlnaHRzIHJlc2VydmVkLjwvZGl2PgoKPC9kaXY+PC9kaXY+PC9kaXY+Cgo8L2JvZHk+Cgo8L2h0bWw+Cg==]]></data>
	</file>
	<file>
	  <filename>/docs/doc/bbc_list.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWw6bGFuZz0iZW4iIGxhbmc9ImVuIj4KCjxoZWFkPgo8dGl0bGU+TGlzdHMgLSBOQkJDOiBUaGUgTmV3IEJCQ29kZSBQYXJzZXI8L3RpdGxlPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz4KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyB0eXBlPSd0ZXh0L2NzcycgaHJlZj0nc3R5bGVzLmNzcycgLz4KPC9oZWFkPgoKPGJvZHk+Cgo8ZGl2IGFsaWduPSdjZW50ZXInPjxkaXYgY2xhc3M9J3BhZ2VfY29udGFpbmVyMic+PGRpdiBjbGFzcz0ncGFnZV9jb250YWluZXInPgoKPGgyPlYuIFN0YW5kYXJkIEJCQ29kZSBMaWJyYXJ5PC9oMj4KCjxwIHN0eWxlPSd0ZXh0LWFsaWduOnJpZ2h0O21hcmdpbjowOyc+WyBQcmV2aW91czogPGEgaHJlZj0iYmJjX2N0ci5odG1sIj5HLiBDb250YWluZXJzPC9hPiB8IE5leHQ6IDxhIGhyZWY9ImFwcF9zbWlsZXkuaHRtbCI+QXBwZW5kaXggQS4gU3RhbmRhcmQgU21pbGV5czwvYT4gXTwvcD4KCjxoMz5ILiBMaXN0czwvaDM+Cgo8YSBuYW1lPSJyZWZfbGliX2xpc3RfbGlzdCI+PC9hPgo8cCBjbGFzcz0nYmJsaWInIHN0eWxlPSdtYXJnaW4tYm90dG9tOjAnPjxiPjx0dD5bbGlzdF0uLi5bKl0uLi5bKl0uLi5bL2xpc3RdPC90dD48L2I+PC9wPgo8cCBjbGFzcz0nYmJsaWInIHN0eWxlPSdtYXJnaW4tYm90dG9tOjA7bWFyZ2luLXRvcDowJz48Yj48dHQ+W2xpc3Q9dHlwZV0uLi5bKl0uLi5bKl0uLi5bL2xpc3RdPC90dD48L2I+PGJyIC8+CglUaGUgPHR0PltsaXN0XTwvdHQ+IHRhZyBpcyBkZXNpZ25lZCBmb3IgY3JlYXRpbmcgbGlzdHMgb2YgdGhpbmdzLiAgSW4gaXRzIGRlZmF1bHQgZm9ybSwKCXdoZXJlIG5vIHR5cGUgaXMgZ2l2ZW4sIGl0IGNyZWF0ZXMgYSBzaW1wbGUgYnVsbGV0LXBvaW50IGxpc3QsIGxpa2UgdGhpczo8L3A+CgoJPHRhYmxlIHN0eWxlPSdib3JkZXItY29sbGFwc2U6Y29sbGFwc2U7bWFyZ2luLWxlZnQ6MmVtOyc+PHRib2R5Pjx0cj48dGQgc3R5bGU9J3BhZGRpbmctcmlnaHQ6MmVtO3ZlcnRpY2FsLWFsaWduOnRvcDsnPgoJCTxkaXYgY2xhc3M9J2NvZGVfaGVhZGVyJz5Db2RlOjwvZGl2PgoJCTx4bXAgY2xhc3M9J2NvZGUnIHN0eWxlPSd3aWR0aDoxMGVtOyc+W2xpc3RdClsqXUpvaG4KWypdTWFyeQpbKl1CaWxsClsqXVN1ZQpbL2xpc3RdPC94bXA+Cgk8L3RkPjx0ZCBzdHlsZT0ndmVydGljYWwtYWxpZ246dG9wOyc+CgkJPGRpdiBjbGFzcz0nb3V0cHV0X2hlYWRlcic+T3V0cHV0OjwvZGl2PgoJCTxkaXYgY2xhc3M9J291dHB1dCcgc3R5bGU9J3dpZHRoOjEwZW07Jz4KCQkJPHVsIHN0eWxlPSdtYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTowJz4KCQkJPGxpPkpvaG48L2xpPgoJCQk8bGk+TWFyeTwvbGk+CgkJCTxsaT5CaWxsPC9saT4KCQkJPGxpPlN1ZTwvbGk+CgkJCTwvdWw+CgkJPC9kaXY+Cgk8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPgoKCTxwIHN0eWxlPSdtYXJnaW4tbGVmdDoyZW07Jz5Ob3RpY2UgdGhhdCB3aGlsZSB5b3UgZG8gbmVlZCB0byBoYXZlIGFuIGVuZGluZyA8dHQ+Wy9saXN0XTwvdHQ+IHRhZywKCXlvdSBkb24ndCBuZWVkIHRvIGhhdmUgYW4gZW5kaW5nIDx0dD5bLypdPC90dD4gdGFnIGZvciBlYWNoCTx0dD5bKl08L3R0PiB0YWc7IHRoaXMgbWFrZXMgY3JlYXRpbmcKCWxpc3RzIHNvbWV3aGF0IHNpbXBsZXIuPC9wPgoKCTxwIHN0eWxlPSdtYXJnaW4tbGVmdDoyZW07Jz5Zb3UgY2FuIGFsc28gY3JlYXRlIG51bWJlcmVkIGxpc3RzIGJ5IHNwZWNpZnlpbmcgd2hhdCB0eXBlCglvZiBsaXN0IHlvdSB3YW50OyBmb3IgZXhhbXBsZSwgaWYgeW91IHdhbnQgYSBudW1iZXJlZCBsaXN0LCB1c2UgdHlwZSAiPHR0PjE8L3R0PiIsIG9yIGZvciBhbgoJYWxwaGFiZXRpYyBsaXN0LCB1c2UgdHlwZSAiPHR0PkE8L3R0PiIsIG9yIGZvciBSb21hbiBudW1lcmFscywgdXNlIHR5cGUgIjx0dD5pPC90dD4iLiAgVHdvCglleGFtcGxlcyBhcmUgc2hvd24gYmVsb3c6PC9wPgoKCTx0YWJsZSBzdHlsZT0nYm9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO21hcmdpbi1sZWZ0OjJlbTsnPjx0Ym9keT48dHI+PHRkIHN0eWxlPSdwYWRkaW5nLXJpZ2h0OjJlbTt2ZXJ0aWNhbC1hbGlnbjp0b3A7Jz4KCQk8ZGl2IGNsYXNzPSdjb2RlX2hlYWRlcic+Q29kZTo8L2Rpdj4KCQk8eG1wIGNsYXNzPSdjb2RlJyBzdHlsZT0nd2lkdGg6MTBlbTsnPltsaXN0PTFdClsqXUpvaG4KWypdTWFyeQpbKl1CaWxsClsqXVN1ZQpbL2xpc3RdPC94bXA+Cgk8L3RkPjx0ZCBzdHlsZT0ndmVydGljYWwtYWxpZ246dG9wOyc+CgkJPGRpdiBjbGFzcz0nb3V0cHV0X2hlYWRlcic+T3V0cHV0OjwvZGl2PgoJCTxkaXYgY2xhc3M9J291dHB1dCcgc3R5bGU9J3dpZHRoOjEwZW07Jz4KCQkJPG9sIHN0eWxlPSdtYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTowJz4KCQkJPGxpPkpvaG48L2xpPgoJCQk8bGk+TWFyeTwvbGk+CgkJCTxsaT5CaWxsPC9saT4KCQkJPGxpPlN1ZTwvbGk+CgkJCTwvb2w+CgkJPC9kaXY+Cgk8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPgoKCTx0YWJsZSBzdHlsZT0nYm9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO21hcmdpbi1sZWZ0OjJlbTsnPjx0Ym9keT48dHI+PHRkIHN0eWxlPSdwYWRkaW5nLXJpZ2h0OjJlbTt2ZXJ0aWNhbC1hbGlnbjp0b3A7Jz4KCQk8ZGl2IGNsYXNzPSdjb2RlX2hlYWRlcic+Q29kZTo8L2Rpdj4KCQk8eG1wIGNsYXNzPSdjb2RlJyBzdHlsZT0nd2lkdGg6MTBlbTsnPltsaXN0PUFdClsqXUpvaG4KWypdTWFyeQpbKl1CaWxsClsqXVN1ZQpbL2xpc3RdPC94bXA+Cgk8L3RkPjx0ZCBzdHlsZT0ndmVydGljYWwtYWxpZ246dG9wOyc+CgkJPGRpdiBjbGFzcz0nb3V0cHV0X2hlYWRlcic+T3V0cHV0OjwvZGl2PgoJCTxkaXYgY2xhc3M9J291dHB1dCcgc3R5bGU9J3dpZHRoOjEwZW07Jz4KCQkJPG9sIHN0eWxlPSdtYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTowO2xpc3Qtc3R5bGUtdHlwZTp1cHBlci1hbHBoYTsnPgoJCQk8bGk+Sm9objwvbGk+CgkJCTxsaT5NYXJ5PC9saT4KCQkJPGxpPkJpbGw8L2xpPgoJCQk8bGk+U3VlPC9saT4KCQkJPC9vbD4KCQk8L2Rpdj4KCTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+CgkKCTxwIHN0eWxlPSdtYXJnaW4tbGVmdDoyZW07Jz5OQkJDIHN1cHBvcnRzIGEgd2lkZSB2YXJpZXR5IG9mIGRpZmZlcmVudCBraW5kcyBvZiBsaXN0IHR5cGVzLCBhbmQKCW1hdGNoZXMgY2FwYWJpbGl0aWVzLCBtb3JlLW9yLWxlc3MsIHdpdGggdGhlIHZhcmlvdXMgbGlzdCBzdHlsZXMgZGVmaW5lZCBpbiB0aGUgQ1NTIDIuMSBzdGFuZGFyZC4KCUEgY29tcGxldGUgbGlzdCBvZiBzdXBwb3J0ZWQgdHlwZXMgaXMgZ2l2ZW4gYmVsb3c6CgkKPGRpdiBhbGlnbj0nY2VudGVyJz4KPHRhYmxlIGNsYXNzPSdsaXN0X3RhYmxlJz4KPHRoZWFkPgo8dHI+PHRoPlR5cGU8L3RoPjx0aD5EZXNjcmlwdGlvbjwvdGg+PHRoPkV4YW1wbGU8L3RoPjx0aD5DU1MgZXF1aXZhbGVudDwvdGg+PC90cj4KPC90aGVhZD4KPHRib2R5Pgo8dHI+PHRoPjE8L3RoPjx0ZD5PcmRlcmVkIGxpc3QgdXNpbmcgQXJhYmljIG51bWVyYWxzPC90ZD48dGQ+MSwgMiwgMy4uLjwvdGQ+PHRkPjx0dD5kZWNpbWFsPC90dD48L3RkPjwvdHI+Cjx0cj48dGg+MDE8L3RoPjx0ZD5PcmRlcmVkIGxpc3QgdXNpbmcgbnVtYmVycyB3aXRoIGEgbGVhZGluZyB6ZXJvPC90ZD48dGQ+MDEsIDAyLCAwMy4uLiwgMTAsIDExLi4uPC90ZD48dGQ+PHR0PmRlY2ltYWwtbGVhZGluZy16ZXJvPC90dD48L3RkPjwvdHI+Cjx0cj48dGg+QTwvdGg+PHRkPk9yZGVyZWQgbGlzdCB1c2luZyBjYXBpdGFsIGxldHRlcnM8L3RkPjx0ZD5BLCBCLCBDLi4uPC90ZD48dGQ+PHR0PnVwcGVyLWFscGhhPC90dD48L3RkPjwvdHI+Cjx0cj48dGg+YTwvdGg+PHRkPk9yZGVyZWQgbGlzdCB1c2luZyBsb3dlcmNhc2UgbGV0dGVyczwvdGQ+PHRkPmEsIGIsIGMuLi48L3RkPjx0ZD48dHQ+bG93ZXItYWxwaGE8L3R0PjwvdGQ+PC90cj4KPHRyPjx0aD5JPC90aD48dGQ+T3JkZXJlZCBsaXN0IHVzaW5nIGNhcGl0YWwgUm9tYW4gbnVtZXJhbHM8L3RkPjx0ZD5JLCBJSSwgSUlJLCBJVi4uLjwvdGQ+PHRkPjx0dD51cHBlci1yb21hbjwvdHQ+PC90ZD48L3RyPgo8dHI+PHRoPmk8L3RoPjx0ZD5PcmRlcmVkIGxpc3QgdXNpbmcgbG93ZXJjYXNlIFJvbWFuIG51bWVyYWxzPC90ZD48dGQ+aSwgaWksIGlpaSwgaXYuLi48L3RkPjx0ZD48dHQ+bG93ZXItcm9tYW48L3R0PjwvdGQ+PC90cj4KPHRyPjx0aD5ncmVlazwvdGg+PHRkPk9yZGVyZWQgbGlzdCB1c2luZyBsb3dlcmNhc2UgR3JlZWsgbGV0dGVyczwvdGQ+PHRkPiYjOTQ1OywgJiM5NDY7LCAmIzk0NzsuLi48L3RkPjx0ZD48dHQ+bG93ZXItZ3JlZWs8L3R0PjwvdGQ+PC90cj4KPHRyPjx0aD5hcm1lbmlhbjwvdGg+PHRkPk9yZGVyZWQgbGlzdCB1c2luZyBBcm1lbmlhbiBudW1iZXJpbmc8L3RkPjx0ZD48L3RkPjx0ZD48dHQ+YXJtZW5pYW48L3R0PjwvdGQ+PC90cj4KPHRyPjx0aD5nZW9yZ2lhbjwvdGg+PHRkPk9yZGVyZWQgbGlzdCB1c2luZyBHZW9yZ2lhbiBudW1iZXJpbmc8L3RkPjx0ZD5hbiwgYmFuLCBnYW4uLi48L3RkPjx0ZD48dHQ+Z2VvcmdpYW48L3R0PjwvdGQ+PC90cj4KPHRyPjx0aD5jaXJjbGU8L3RoPjx0ZD5Vbm9yZGVyZWQgbGlzdCB1c2luZyBjaXJjbGUtYnVsbGV0czwvdGQ+PHRkPjx1bCBzdHlsZT0nbWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlOyc+PGxpPiZuYnNwOzwvbGk+PC91bD48L3RkPjx0ZD48dHQ+Y2lyY2xlPC90dD48L3RkPjwvdHI+Cjx0cj48dGg+ZGlzYzwvdGg+PHRkPlVub3JkZXJlZCBsaXN0IHVzaW5nIGRpc2MtYnVsbGV0czwvdGQ+PHRkPjx1bCBzdHlsZT0nbWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MDtsaXN0LXN0eWxlLXR5cGU6ZGlzYzsnPjxsaT4mbmJzcDs8L2xpPjwvdWw+PC90ZD48dGQ+PHR0PmRpc2M8L3R0PjwvdGQ+PC90cj4KPHRyPjx0aD5zcXVhcmU8L3RoPjx0ZD5Vbm9yZGVyZWQgbGlzdCB1c2luZyBzcXVhcmUtYnVsbGV0czwvdGQ+PHRkPjx1bCBzdHlsZT0nbWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MDtsaXN0LXN0eWxlLXR5cGU6c3F1YXJlOyc+PGxpPiZuYnNwOzwvbGk+PC91bD48L3RkPjx0ZD48dHQ+c3F1YXJlPC90dD48L3RkPjwvdHI+CjwvdGJvZHk+CjwvdGFibGU+CjwvZGl2PgoKPHAgc3R5bGU9J3RleHQtYWxpZ246cmlnaHQ7Jz5bIFByZXZpb3VzOiA8YSBocmVmPSJiYmNfY3RyLmh0bWwiPkcuIENvbnRhaW5lcnM8L2E+IHwgTmV4dDogPGEgaHJlZj0iYXBwX3NtaWxleS5odG1sIj5BcHBlbmRpeCBBLiBTdGFuZGFyZCBTbWlsZXlzPC9hPiBdPC9wPgoKPGhyIC8+Cgo8ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPkNvcHlyaWdodCAmY29weTsgMjAxMCwgdGhlIFBoYW50b20gSW5rZXIuICBBbGwgcmlnaHRzIHJlc2VydmVkLjwvZGl2PgoKPC9kaXY+PC9kaXY+PC9kaXY+Cgo8L2JvZHk+Cgo8L2h0bWw+Cg==]]></data>
	</file>
	<file>
	  <filename>/docs/doc/bbc_repl.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWw6bGFuZz0iZW4iIGxhbmc9ImVuIj4KCjxoZWFkPgo8dGl0bGU+UmVwbGFjZWQgSXRlbXMgLSBOQkJDOiBUaGUgTmV3IEJCQ29kZSBQYXJzZXI8L3RpdGxlPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz4KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyB0eXBlPSd0ZXh0L2NzcycgaHJlZj0nc3R5bGVzLmNzcycgLz4KPC9oZWFkPgoKPGJvZHk+Cgo8ZGl2IGFsaWduPSdjZW50ZXInPjxkaXYgY2xhc3M9J3BhZ2VfY29udGFpbmVyMic+PGRpdiBjbGFzcz0ncGFnZV9jb250YWluZXInPgoKPGgyPlYuIFN0YW5kYXJkIEJCQ29kZSBMaWJyYXJ5PC9oMj4KCjxwIHN0eWxlPSd0ZXh0LWFsaWduOnJpZ2h0O21hcmdpbjowOyc+WyBQcmV2aW91czogPGEgaHJlZj0iYmJjX2xpbmsuaHRtbCI+Qy4gTGlua3M8L2E+IHwgTmV4dDogPGEgaHJlZj0iYmJjX2FsaWduLmh0bWwiPkUuIEFsaWdubWVudDwvYT4gXTwvcD4KCjxoMz5ELiBSZXBsYWNlZCBJdGVtczwvaDM+Cgo8YSBuYW1lPSJyZWZfbGliX3JlcGxhY2VkX2ltZyI+PC9hPgo8cCBjbGFzcz0nYmJsaWInPjxiPjx0dD5baW1nXS4uLlsvaW1nXTwvdHQ+PC9iPjxiciAvPgoJVGhpcyBpbnNlcnRzIGFuIGltYWdlIGludG8geW91ciBkb2N1bWVudC4gIFlvdSBzaG91bGQgcHJvdmlkZSBhIFVSTCB0byB0aGUgaW1hZ2UgYmV0d2VlbiB0aGUgc3RhcnQgYW5kCgllbmQgPHR0PltpbWddPC90dD4gdGFncywgbGlrZSB0aGlzOjxiciAvPgoJPGJyIC8+CgkmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgPHR0Pkdvb2dsZSdzIGxvZ286IFtpbWddaHR0cDovL3d3dy5nb29nbGUuY29tL2ludGwvZW5fQUxML2ltYWdlcy9sb2dvLmdpZlsvaW1nXTwvdHQ+PGJyIC8+CgkmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgLS0mZ3Q7IEdvb2dsZSdzIGxvZ286IDxpbWcgc3JjPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vaW50bC9lbl9BTEwvaW1hZ2VzL2xvZ28uZ2lmIiBhbGlnbj0nbWlkZGxlJyAvPjxiciAvPgoJQWx0ZXJuYXRpdmVseSwgaWYgeW91IGluc3RlYWQgdXNlIGEgcGFydGlhbCBmaWxlbmFtZSAod2hpY2ggPGk+bXVzdDwvaT4gc3RhcnQgd2l0aCBhbiBhbHBoYW51bWVyaWMKCWNoYXJhY3RlciBvciBhbiB1bmRlcnNjb3JlKSwgdGhlIDx0dD5baW1nXTwvdHQ+IHRhZyB3aWxsIGxvY2F0ZSB0aGUgZmlsZSByZWxhdGl2ZSB0byB0aGUgZGVmaW5lZAoJPGEgaHJlZj0iYXBpX3JlcGwuaHRtbCNyZWZfcGFyc2VyX1NldExvY2FsSW1nRGlyIj5sb2NhbCBpbWFnZSBkaXJlY3Rvcnk8L2E+LCBhbmQgd2lsbCAoQSkgZGV0ZXJtaW5lIHRoYXQgdGhlCglpbWFnZSBmaWxlIGFjdHVhbGx5IGV4aXN0cyBvbiB0aGUgbG9jYWwgc2VydmVyIGFuZCAoQikgaW5zZXJ0IGNvcnJlY3Qgd2lkdGgvaGVpZ2h0IGZvciBpdCBhcyB3ZWxsLAoJd2hpY2ggY2FuIHNwZWVkIHBhZ2UgbG9hZGluZy4gIEZvciBleGFtcGxlLCBpZiB5b3UgcnVuIGEgd2ViY29taWMgc2l0ZSwgaXQgbWF5IGJlIGJlbmVmaWNpYWwgdG8KCXNldCB5b3VyIGxvY2FsIGltYWdlIGRpcmVjdG9yeSB0byA8dHQ+L2NvbWljczwvdHQ+LCBzbyB0aGF0IHlvdSBjYW4gdGhlbiBpbmNsdWRlIGluZGl2aWR1YWwKCWNvbWljcyBqdXN0IGJ5IHdyaXRpbmcgPHR0PltpbWddMjAwODA3MDQuanBnWy9pbWddPC90dD4uICBBbnkgZmlsZW5hbWUgd2hpY2ggc3RhcnRzIHdpdGggYSA8dHQ+LjwvdHQ+CglvciBhIDx0dD4vPC90dD4gd2lsbCA8aT5ub3Q8L2k+IGJlIGNvbnNpZGVyZWQgYSBsb2NhbCBpbWFnZSBmaWxlLjwvcD4KCjxhIG5hbWU9InJlZl9saWJfcmVwbGFjZWRfcnVsZSI+PC9hPgo8cCBjbGFzcz0nYmJsaWInPjxiPjx0dD5bcnVsZV08L3R0PjwvYj48YnIgLz4KCVRoaXMgaW5zZXJ0cyBhIGhvcml6b250YWwgcnVsZSAoc2VwYXJhdG9yIGJhcikgaW50byB5b3VyIGRvY3VtZW50LiAgV2hlbiB5b3UgdXNlIHRoZSBzaG9ydGhhbmQgPHR0Pi0tLS0tPC90dD4gZm9ybSwKCU5CQkMgY29udmVydHMgaXQgaW50byBhIDx0dD5bcnVsZV08L3R0PiB0YWcuICBUaGUgZGVmYXVsdCBiZWhhdmlvciBvZiB0aGUgPHR0PltydWxlXTwvdHQ+IHRhZyBpcyB0byBnZW5lcmF0ZQoJYSA8dHQ+Jmx0O2hyJm5ic3A7LyZndDs8L3R0PiBIVE1MIGVsZW1lbnQgYXMgaXRzIG91dHB1dDsgdGhpcyBiZWhhdmlvciBjYW4gYmUgY2hhbmdlZCB3aXRoIHRoZQoJPGEgaHJlZj0iYXBpX3J1bGUuaHRtbCNyZWZfcGFyc2VyX1NldFJ1bGVIVE1MIj5TZXRSdWxlSFRNTDwvYT4gZnVuY3Rpb24uICBUaGUgPHR0PltydWxlXTwvdHQ+IHRhZyBkb2VzIG5vdCBoYXZlIGFuIGVuZCB0YWcuPC9wPgoKPGEgbmFtZT0icmVmX2xpYl9yZXBsYWNlZF9iciI+PC9hPgo8cCBjbGFzcz0nYmJsaWInPjxiPjx0dD5bYnJdPC90dD48L2I+PGJyIC8+CglUaGlzIGluc2VydHMgYSBicmVhayAoPHR0PiZsdDticiAvJmd0OzwvdHQ+KSBpbnRvIHlvdXIgZG9jdW1lbnQ7IGl0IGlzIGVxdWl2YWxlbnQgdG8KCWEgY2FycmlhZ2UgcmV0dXJuLCBidXQgdW5saWtlIGEgY2FycmlhZ2UgcmV0dXJuLCBpdCBjYW4ndCBiZSAiZWF0ZW4iIGJ5IGEgbmVhcmJ5IGJsb2NrIHRhZyBsaWtlCgk8dHQ+W2NlbnRlcl08L3R0Pi4gIFRoZSA8dHQ+W2JyXTwvdHQ+IHRhZyBkb2VzIG5vdCBoYXZlIGFuIGVuZCB0YWcuPC9wPgoKPHAgc3R5bGU9J3RleHQtYWxpZ246cmlnaHQ7Jz5bIFByZXZpb3VzOiA8YSBocmVmPSJiYmNfbGluay5odG1sIj5DLiBMaW5rczwvYT4gfCBOZXh0OiA8YSBocmVmPSJiYmNfYWxpZ24uaHRtbCI+RS4gQWxpZ25tZW50PC9hPiBdPC9wPgoKPGhyIC8+Cgo8ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPkNvcHlyaWdodCAmY29weTsgMjAxMCwgdGhlIFBoYW50b20gSW5rZXIuICBBbGwgcmlnaHRzIHJlc2VydmVkLjwvZGl2PgoKPC9kaXY+PC9kaXY+PC9kaXY+Cgo8L2JvZHk+Cgo8L2h0bWw+Cg==]]></data>
	</file>
	<file>
	  <filename>/docs/doc/bbc_text.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWw6bGFuZz0iZW4iIGxhbmc9ImVuIj4KCjxoZWFkPgo8dGl0bGU+VGV4dCBTdHlsZXMgLSBOQkJDOiBUaGUgTmV3IEJCQ29kZSBQYXJzZXI8L3RpdGxlPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz4KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyB0eXBlPSd0ZXh0L2NzcycgaHJlZj0nc3R5bGVzLmNzcycgLz4KPC9oZWFkPgoKPGJvZHk+Cgo8ZGl2IGFsaWduPSdjZW50ZXInPjxkaXYgY2xhc3M9J3BhZ2VfY29udGFpbmVyMic+PGRpdiBjbGFzcz0ncGFnZV9jb250YWluZXInPgoKPGgyPlYuIFN0YW5kYXJkIEJCQ29kZSBMaWJyYXJ5PC9oMj4KCjxwIHN0eWxlPSd0ZXh0LWFsaWduOnJpZ2h0O21hcmdpbjowOyc+WyBQcmV2aW91czogPGEgaHJlZj0iYmJjLmh0bWwiPkEuIEFscGhhYmV0aWNhbCBCQkNvZGUgTGlzdDwvYT4gfCBOZXh0OiA8YSBocmVmPSJiYmNfbGluay5odG1sIj5DLiBMaW5rczwvYT4gXTwvcD4KCjxoMz5CLiBUZXh0IFN0eWxlczwvaDM+Cgo8YSBuYW1lPSJyZWZfbGliX3N0eWxlX2IiPjwvYT4KPHAgY2xhc3M9J2JibGliJz48Yj48dHQ+W2JdLi4uWy9iXTwvdHQ+PC9iPjxiciAvPgoJVGhlIDx0dD5bYl08L3R0PiB0YWcgZm9ybWF0cyBpdHMgY29udGVudHMgdXNpbmcgPGI+Ym9sZCB0ZXh0PC9iPi4gIFRoZSBlbmRpbmcgPHR0PlsvYl08L3R0PiB0YWcgaXMgcmVxdWlyZWQuPC9wPgoKPGEgbmFtZT0icmVmX2xpYl9zdHlsZV9pIj48L2E+CjxwIGNsYXNzPSdiYmxpYic+PGI+PHR0PltpXS4uLlsvaV08L3R0PjwvYj48YnIgLz4KCVRoZSA8dHQ+W2ldPC90dD4gdGFnIGZvcm1hdHMgaXRzIGNvbnRlbnRzIHVzaW5nIDxpPml0YWxpYyB0ZXh0PC9pPi4gIFRoZSBlbmRpbmcgPHR0PlsvaV08L3R0PiB0YWcgaXMgcmVxdWlyZWQuPC9wPgoKPGEgbmFtZT0icmVmX2xpYl9zdHlsZV91Ij48L2E+CjxwIGNsYXNzPSdiYmxpYic+PGI+PHR0Plt1XS4uLlsvdV08L3R0PjwvYj48YnIgLz4KCVRoZSA8dHQ+W3VdPC90dD4gdGFnIGFkZHMgYW4gPHU+dW5kZXJsaW5lPC91PiB0byBpdHMgY29udGVudHMuICBUaGUgZW5kaW5nIDx0dD5bL3VdPC90dD4gdGFnIGlzIHJlcXVpcmVkLjwvcD4KCjxhIG5hbWU9InJlZl9saWJfc3R5bGVfcyI+PC9hPgo8cCBjbGFzcz0nYmJsaWInPjxiPjx0dD5bc10uLi5bL3NdPC90dD48L2I+PGJyIC8+CglUaGUgPHR0PltzXTwvdHQ+IHRhZyBhZGRzIGEgPHN0cmlrZT5zdHJpa2VvdXQ8L3N0cmlrZT4gdG8gaXRzIGNvbnRlbnRzLiAgVGhlIGVuZGluZyA8dHQ+Wy9zXTwvdHQ+IHRhZyBpcyByZXF1aXJlZC48L3A+Cgo8YSBuYW1lPSJyZWZfbGliX3N0eWxlX3N1cCI+PC9hPgo8cCBjbGFzcz0nYmJsaWInPjxiPjx0dD5bc3VwXS4uLlsvc3VwXTwvdHQ+PC9iPjxiciAvPgoJVGhlIDx0dD5bc3VwXTwvdHQ+IHRhZyBmb3JtYXRzIGl0cyBjb250ZW50cyBhcyA8c3VwPnN1cGVyc2NyaXB0PC9zdXA+LiAgVGhlIGVuZGluZyA8dHQ+Wy9zdXBdPC90dD4gdGFnIGlzIHJlcXVpcmVkLjwvcD4KCjxhIG5hbWU9InJlZl9saWJfc3R5bGVfc3ViIj48L2E+CjxwIGNsYXNzPSdiYmxpYic+PGI+PHR0PltzdWJdLi4uWy9zdWJdPC90dD48L2I+PGJyIC8+CglUaGUgPHR0PltzdWJdPC90dD4gdGFnIGZvcm1hdHMgaXRzIGNvbnRlbnRzIGFzIDxzdWI+c3Vic2NyaXB0PC9zdWI+LiAgVGhlIGVuZGluZyA8dHQ+Wy9zdWJdPC90dD4gdGFnIGlzIHJlcXVpcmVkLjwvcD4KCjxhIG5hbWU9InJlZl9saWJfc3R5bGVfc3BvaWxlciI+PC9hPgo8cCBjbGFzcz0nYmJsaWInPjxiPjx0dD5bc3BvaWxlcl0uLi5bL3Nwb2lsZXJdPC90dD48L2I+PGJyIC8+CglUaGUgPHR0PltzcG9pbGVyXTwvdHQ+IHRhZyBmb3JtYXRzIGl0cyBjb250ZW50cyBhcyBhIDxzcGFuIHN0eWxlPSdjb2xvcjojMDAwO2JhY2tncm91bmQtY29sb3I6IzAwMCc+c3BvaWxlcjwvc3Bhbj4gKHNlbGVjdCB0aGlzIHRleHQgd2l0aCB5b3VyIG1vdXNlIHRvIHNlZSB0aGUgc3BvaWxlcikuICBUaGUgZW5kaW5nIDx0dD5bL3Nwb2lsZXJdPC90dD4gdGFnIGlzIHJlcXVpcmVkLjwvcD4KCjxhIG5hbWU9InJlZl9saWJfc3R5bGVfYWNyb255bSI+PC9hPgo8cCBjbGFzcz0nYmJsaWInPjxiPjx0dD5bYWNyb255bT0iZGVzY3JpcHRpb24iXWtleXdvcmRbL2Fjcm9ueW1dPC90dD48L2I+PGJyIC8+CglUaGUgPHR0PlthY3JvbnltXTwvdHQ+IHRhZyBwcm92aWRlcyBhIGhlbHBmdWwgbW91c2VvdmVyIGZvciBhY3JvbnltcyBhbmQgb3RoZXIgd29yZHMgd2hlcmUgcG9wdXAgdGV4dAoJY2FuIGJlIGhlbHBmdWwsIGxpa2UgdGhpczogIDxzcGFuIGNsYXNzPSdhY3JvbnltJyB0aXRsZT0iZGVzY3JpcHRpb24iPmtleXdvcmQ8L3NwYW4+LiAgVGhlIGVuZGluZyA8dHQ+Wy9hY3JvbnltXTwvdHQ+IHRhZyBpcyByZXF1aXJlZC48L3A+Cgo8YSBuYW1lPSJyZWZfbGliX3N0eWxlX3NpemUiPjwvYT4KPHAgY2xhc3M9J2JibGliJz48Yj48dHQ+W3NpemU9bl0uLi5bL3NpemVdPC90dD48L2I+PGJyIC8+CglUaGUgPHR0PltzaXplXTwvdHQ+IHRhZyBsZXRzIHlvdSBjb250cm9sIHRoZSBzaXplIG9mIHlvdXIgdGV4dDo8L3A+Cgk8ZGl2IHN0eWxlPSdtYXJnaW4tbGVmdDo0ZW07Jz4KCTxkaXYgc3R5bGU9J2ZvbnQtc2l6ZTogMC41ZW0nPlRoaXMgdGV4dCBpcyBzaXplIDAgKHRpbnkpLjwvZGl2PgoJPGRpdiBzdHlsZT0nZm9udC1zaXplOiAwLjY3ZW0nPlRoaXMgdGV4dCBpcyBzaXplIDEgKHZlcnkgc21hbGwpLjwvZGl2PgoJPGRpdiBzdHlsZT0nZm9udC1zaXplOiAwLjgzZW0nPlRoaXMgdGV4dCBpcyBzaXplIDIgKHNtYWxsKS48L2Rpdj4KCTxkaXYgc3R5bGU9J2ZvbnQtc2l6ZTogMS4wZW0nPlRoaXMgdGV4dCBpcyBzaXplIDMgKG5vcm1hbCkuPC9kaXY+Cgk8ZGl2IHN0eWxlPSdmb250LXNpemU6IDEuMTdlbSc+VGhpcyB0ZXh0IGlzIHNpemUgNCAobGFyZ2UpLjwvZGl2PgoJPGRpdiBzdHlsZT0nZm9udC1zaXplOiAxLjVlbSc+VGhpcyB0ZXh0IGlzIHNpemUgNSAodmVyeSBsYXJnZSkuPC9kaXY+Cgk8ZGl2IHN0eWxlPSdmb250LXNpemU6IDIuMGVtJz5UaGlzIHRleHQgaXMgc2l6ZSA2IChodWdlKS48L2Rpdj4KCTxkaXYgc3R5bGU9J2ZvbnQtc2l6ZTogMi41ZW0nPlRoaXMgdGV4dCBpcyBzaXplIDcgKHJpZGljdWxvdXMpLjwvZGl2PgoJPC9kaXY+Cgk8ZGl2IHN0eWxlPSdtYXJnaW4tbGVmdDogMmVtO21hcmdpbi10b3A6MC41ZW07Jz5UaGUgZW5kaW5nIDx0dD5bL3NpemVdPC90dD4gdGFnIGlzIHJlcXVpcmVkLCBhbmQgdGhlIHNpemUgZ2l2ZW4gbXVzdCBiZSBhIG51bWJlciBmcm9tIDAgdG8gNy48L2Rpdj4KCjxhIG5hbWU9InJlZl9saWJfc3R5bGVfY29sb3IiPjwvYT4KPHAgY2xhc3M9J2JibGliJz48Yj48dHQ+W2NvbG9yPW5dLi4uWy9jb2xvcl08L3R0PjwvYj48YnIgLz4KCVRoZSA8dHQ+W2NvbG9yXTwvdHQ+IHRhZyBhbGxvd3MgeW91IHRvIGNvbnRyb2wgdGhlIHRleHQgY29sb3IuICBZb3UgY2FuIHNwZWNpZnkgdGhlCgljb2xvciBhcyBlaXRoZXIgYSB0aHJlZS1kaWdpdCBoZXggY29kZSwgbGlrZSA8dHQ+IzA2OTwvdHQ+LCBvciBhcyBhIHNpeC1kaWdpdCBoZXggY29kZSwKCWxpa2UgPHR0PiNFMzQ3MTU8L3R0Piwgb3IgYXMgYSBzdGFuZGFyZCBIVE1MIGNvbG9yIG5hbWUsIGxpa2UgPHR0PnJlZDwvdHQ+LiAgRm9yIGV4YW1wbGUsCgk8dHQ+W2NvbG9yPWdvbGRlbnJvZF1TaGlueSZuYnNwO2dvbGRbL2NvbG9yXTwvdHQ+IHdpbGwgYXBwZWFyIGFzIDxzcGFuIHN0eWxlPSdjb2xvcjpnb2xkZW5yb2Q7Jz5TaGlueSZuYnNwO2dvbGQ8L3NwYW4+LAoJYW5kIDx0dD5bY29sb3I9IzA2OV1UcnVlJm5ic3A7Ymx1ZSFbL2NvbG9yXTwvdHQ+IHdpbGwgYXBwZWFyIGFzIDxzcGFuIHN0eWxlPSdjb2xvcjojMDY5Oyc+VHJ1ZSZuYnNwO2JsdWUhPC9zcGFuPgoJPC9wPgoKPGEgbmFtZT0icmVmX2xpYl9zdHlsZV9mb250Ij48L2E+CjxwIGNsYXNzPSdiYmxpYic+PGI+PHR0Pltmb250PW5dLi4uWy9mb250XTwvdHQ+PC9iPjxiciAvPgoJVGhlIDx0dD5bZm9udF08L3R0PiB0YWcgYWxsb3dzIHlvdSB0byBhbHRlciB0aGUgdGV4dCdzIHR5cGVmYWNlLiAgWW91IG1heSB1c2Ugc3BlY2lmaWMgZm9udCBuYW1lcywgbGlrZQoJPHNwYW4gc3R5bGU9J2ZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOyc+VGltZXMgTmV3IFJvbWFuPC9zcGFuPiwgb3IgZ2VuZXJpYyBmb250IG5hbWVzLCBsaWtlIDxzcGFuIHN0eWxlPSdmb250LWZhbWlseTpjdXJzaXZlOyc+Y3Vyc2l2ZTwvc3Bhbj4uCglOb3RlIHRoYXQgaWYgeW91IHdhbnQgdG8gdXNlIGEgbmFtZSB0aGF0IGNvbnRhaW5zIHNwYWNlcywgbGlrZSA8c3BhbiBzdHlsZT0nZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Jz5UaW1lcyBOZXcgUm9tYW48L3NwYW4+LAoJeW91IHNob3VsZCBzdXJyb3VuZCBpdCBpbiBxdW90YXRpb24gbWFya3MsIGxpa2UgdGhpczogIDx0dD5bZm9udD0iVGltZXMgTmV3IFJvbWFuIl0uLi5bL2ZvbnRdPC90dD4gIE5CQkMgd2lsbAoJYWxtb3N0IGFsd2F5cyBnZXQgaXQgcmlnaHQgZXZlbiBpZiB5b3UgZG9uJ3QgdXNlIHF1b3RlcywgYnV0IHF1b3RlcyBndWFyYW50ZWUgaXQnbGwgYmUgY29ycmVjdC48YnIgLz48YnIgLz4KCU5vdGUgdGhhdCB0aGUgW2ZvbnRdIHRhZyBhbGxvd3MgeW91IHRvIHNlcGFyYXRlIGZvbnQgbmFtZXMgd2l0aCBjb21tYXMsIGp1c3QgbGlrZSBDU1MgZG9lcywgc28gdGhhdAoJaWYgYSBnaXZlbiBmb250IGlzIG5vdCBhdmFpbGFibGUsIHlvdXIgY2hvaWNlIG9mIGZhbGxiYWNrIGZvbnRzIGNhbiBiZSB1c2VkIGluc3RlYWQ6ICA8dHQ+W2ZvbnQ9QXJpYWwsSGVsdixIZWx2ZXRpY2Esc2Fuc10uLi5bL2ZvbnRdPC90dD48YnIgLz48YnIgLz4KCVRoZSBbZm9udF0gdGFnIGFsc28gcmVjb2duaXplcyB0aGUgZml2ZSBzdGFuZGFyZCBDU1MgImdlbmVyaWMiIGZvbnQgbmFtZXM6PC9wPgoJPHVsIHN0eWxlPSdtYXJnaW4tbGVmdDozZW07Jz4KCTxsaT48dHQ+c2VyaWY8L3R0PiAtIEEgc2VyaWZlZCBmb250LCBsaWtlIFRpbWVzIG9yIFJvbWFuPC9saT4KCTxsaT48dHQ+c2Fucy1zZXJpZjwvdHQ+IC0gQSBzYW5zLXNlcmlmIGZvbnQsIGxpa2UgSGVsdmV0aWNhIG9yIEFyaWFsIChhbHNvIDx0dD5zYW5zc2VyaWY8L3R0PiwgPHR0PnNhbnMgc2VyaWY8L3R0PiwgYW5kIGp1c3QgPHR0PnNhbnM8L3R0Pik8L2xpPgoJPGxpPjx0dD5jdXJzaXZlPC90dD4gLSBBIGN1cnNpdmUgZm9udCwgbGlrZSBaYXBmLUNoYW5jZXJ5PC9saT4KCTxsaT48dHQ+ZmFudGFzeTwvdHQ+IC0gQSAiZmFudGFzeSIgZm9udCwgbGlrZSBXZXN0ZXJuPC9saT4KCTxsaT48dHQ+bW9ub3NwYWNlPC90dD4gLSBBIGZpeGVkLXdpZHRoIGZvbnQsIGxpa2UgQ291cmllciAoYWxzbyA8dHQ+bW9ubzwvdHQ+KQoJPC91bD4KCjxwIHN0eWxlPSd0ZXh0LWFsaWduOnJpZ2h0Oyc+WyBQcmV2aW91czogPGEgaHJlZj0iYmJjLmh0bWwiPkEuIEFscGhhYmV0aWNhbCBCQkNvZGUgTGlzdDwvYT4gfCBOZXh0OiA8YSBocmVmPSJiYmNfbGluay5odG1sIj5DLiBMaW5rczwvYT4gXTwvcD4KCjxociAvPgoKPGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz5Db3B5cmlnaHQgJmNvcHk7IDIwMTAsIHRoZSBQaGFudG9tIElua2VyLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC48L2Rpdj4KCjwvZGl2PjwvZGl2PjwvZGl2PgoKPC9ib2R5PgoKPC9odG1sPgo=]]></data>
	</file>
	<file>
	  <filename>/docs/doc/external.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhCwALAKIAAP8A/wBmzICz5cDZ8v///wAAAAAAAAAAACH5BAkAAAAALAAAAAALAAsAAAhBAAEIFBCgoMEAAgcKIMCQAMKEAAIsZPhQoMSGDg9OJLCw4ICLDAkSDDCAYEiEIweUlFiRoMqVFSO+VBnzoEGIAQEA]]></data>
	</file>
	<file>
	  <filename>/docs/doc/index.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWw6bGFuZz0iZW4iIGxhbmc9ImVuIj4KCjxoZWFkPgo8dGl0bGU+Q01YcHJlc3MgVXNlcidzIE1hbnVhbDwvdGl0bGU+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgo8L2hlYWQ+Cgo8ZnJhbWVzZXQgY29scz0iMjEwLDEqIj4KCTxmcmFtZSBuYW1lPSJ0b2MiIHNyYz0idG9jLmh0bWwiIC8+Cgk8ZnJhbWUgbmFtZT0iY29udGVudCIgc3JjPSI8P3BocAoJaWYgKGlzc2V0KCRfUkVRVUVTVFsncGFnZSddKSAmJiBwcmVnX21hdGNoKCcvW2EtekEtWjAtOV9dKy8nLCAkX1JFUVVFU1RbJ3BhZ2UnXSkpCgkJcHJpbnQgJF9SRVFVRVNUWydwYWdlJ10gLiAiLmh0bWwiOwoJZWxzZSBwcmludCAiaW50cm9fb3Zlci5odG1sIjsKPz4iIC8+CjwvZnJhbWVzZXQ+Cgo8bm9mcmFtZXM+U29ycnksIHRoaXMgdXNlcidzIG1hbnVhbCByZXF1aXJlcyBhIGJyb3dzZXIgd2l0aCBzdXBwb3J0IGZvciBmcmFtZXMuPC9ub2ZyYW1lcz4KCjwvaHRtbD4K]]></data>
	</file>
	<file>
	  <filename>/docs/doc/install_req.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWw6bGFuZz0iZW4iIGxhbmc9ImVuIj4KCjxoZWFkPgo8dGl0bGU+UmVxdWlyZW1lbnRzIC0gTkJCQzogVGhlIE5ldyBCQkNvZGUgUGFyc2VyPC90aXRsZT4KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+CjxsaW5rIHJlbD0nc3R5bGVzaGVldCcgdHlwZT0ndGV4dC9jc3MnIGhyZWY9J3N0eWxlcy5jc3MnIC8+CjwvaGVhZD4KCjxib2R5PgoKPGRpdiBhbGlnbj0nY2VudGVyJz48ZGl2IGNsYXNzPSdwYWdlX2NvbnRhaW5lcjInPjxkaXYgY2xhc3M9J3BhZ2VfY29udGFpbmVyJz4KCjxoMj5JSS4gSW5zdGFsbGluZyBOQkJDPC9oMj4KCjxwIHN0eWxlPSd0ZXh0LWFsaWduOnJpZ2h0O21hcmdpbjowOyc+WyBQcmV2aW91czogPGEgaHJlZj0iaW50cm9fbGljZW5zZS5odG1sIj5JLkQuIExpY2Vuc2U8L2E+IHwgTmV4dDogPGEgaHJlZj0iaW5zdGFsbF91bnBhY2suaHRtbCI+Qi4gSW5zdGFsbGF0aW9uPC9hPiBdPC9wPgoKPGgzPkEuIFJlcXVpcmVtZW50czwvaDM+Cgo8cD5UbyB1c2UgTkJCQyBpbiB5b3VyIHByb2dyYW1zLCB5b3Ugd2lsbCBuZWVkIHRvIGhhdmUgdGhlIGZvbGxvd2luZzo8L3A+Cgo8dWw+CjxsaT5BIHdlYiBzZXJ2ZXIgcnVubmluZyBQSFAgNC4wLjUgb3IgaGlnaGVyLCBvciBQSFAgNS4wIG9yIGhpZ2hlci48L2xpPgo8bGk+U29tZSBQSFAgcHJvZ3JhbW1pbmcgc2tpbGxzIChzYXksIHNraWxsIGxldmVsIDIsIHdoZXJlIDEgaXMgIm5ld2JpZSIgYW5kIDUgaXMgImd1cnUiKS48L2xpPgo8L3VsPgoKPHA+VGhhdCdzIGl0LiAgTkJCQyBoYXMgYmVlbiB0ZXN0ZWQgcHJpbWFyaWx5IG9uIFVuKnggc2VydmVycyBydW5uaW5nIEFwYWNoZSwgYnV0IHNob3VsZAp3b3JrIGZpbmUgb24gYW55IG90aGVyIG9wZXJhdGluZyBzeXN0ZW0gb3Igd2ViIHNlcnZlci4gIElmIHlvdSB3YW50IHRvIHBlcmZvcm0gc29waGlzdGljYXRlZAp0cmlja3Mgd2l0aCBOQkJDLCBsaWtlIGFkZGluZyBjYWxsYmFjayB0YWdzLCBvciBjaGFuZ2luZyB0aGUgTkJCQyBwYXJzaW5nIG1lY2hhbmlzbXMsIHlvdQptaWdodCBuZWVkIGEgc2tpbGwgbGV2ZWwgaGlnaGVyIHRoYW4gIjIiLCBidXQgZm9yIGJhc2ljIHVzYWdlLCB5b3UgcmVhbGx5IG9ubHkgbmVlZCBiYXNpYwpza2lsbHMuPC9wPgoKPHAgc3R5bGU9J3RleHQtYWxpZ246cmlnaHQ7Jz5bIFByZXZpb3VzOiA8YSBocmVmPSJpbnRyb19saWNlbnNlLmh0bWwiPkkuRC4gTGljZW5zZTwvYT4gfCBOZXh0OiA8YSBocmVmPSJpbnN0YWxsX3VucGFjay5odG1sIj5CLiBJbnN0YWxsYXRpb248L2E+IF08L3A+Cgo8aHIgLz4KCjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+Q29weXJpZ2h0ICZjb3B5OyAyMDEwLCB0aGUgUGhhbnRvbSBJbmtlci4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9kaXY+Cgo8L2Rpdj48L2Rpdj48L2Rpdj4KCjwvYm9keT4KCjwvaHRtbD4K]]></data>
	</file>
	<file>
	  <filename>/docs/doc/install_unpack.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWw6bGFuZz0iZW4iIGxhbmc9ImVuIj4KCjxoZWFkPgo8dGl0bGU+SW5zdGFsbGF0aW9uIC0gTkJCQzogVGhlIE5ldyBCQkNvZGUgUGFyc2VyPC90aXRsZT4KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+CjxsaW5rIHJlbD0nc3R5bGVzaGVldCcgdHlwZT0ndGV4dC9jc3MnIGhyZWY9J3N0eWxlcy5jc3MnIC8+CjwvaGVhZD4KCjxib2R5PgoKPGRpdiBhbGlnbj0nY2VudGVyJz48ZGl2IGNsYXNzPSdwYWdlX2NvbnRhaW5lcjInPjxkaXYgY2xhc3M9J3BhZ2VfY29udGFpbmVyJz4KCjxoMj5JSS4gSW5zdGFsbGluZyBOQkJDPC9oMj4KCjxwIHN0eWxlPSd0ZXh0LWFsaWduOnJpZ2h0O21hcmdpbjowOyc+WyBQcmV2aW91czogPGEgaHJlZj0iaW5zdGFsbF9yZXEuaHRtbCI+QS4gUmVxdWlyZW1lbnRzPC9hPiB8IE5leHQ6IDxhIGhyZWY9InVzYWdlX2Jhc2ljLmh0bWwiPklJSS5BLiBZb3VyIEZpcnN0IE5CQkMgUHJvZ3JhbTwvYT4gXTwvcD4KCjxoMz5CLiBJbnN0YWxsYXRpb248L2gzPgoKPHA+TkJCQyBzaG91bGQgaGF2ZSBiZWVuIHByb3ZpZGVkIHRvIHlvdSBhcyBhIDx0dD4udGFyLmd6PC90dD4gZmlsZSBvciBhcyBhIDx0dD4uemlwPC90dD4KYXJjaGl2ZSBmaWxlLiAgVW5wYWNrIHRoaXMgYXJjaGl2ZSBmaWxlLiAgSW5zaWRlLCB5b3Ugc2hvdWxkIGZpbmQgdGhpczo8L3A+Cgo8dWw+CjxsaT48dHQ+bmJiYy9DSEFOR0VMT0c8L3R0PiAmbmJzcDsgJm5ic3A7ICZuYnNwOyAoYSBsaXN0IG9mIGV2ZXJ5dGhpbmcgbmV3IGluIHRoaXMgdmVyc2lvbiBvZiBOQkJDKTwvbGk+CjxsaT48dHQ+bmJiYy9kb2MvKi4qPC90dD4gJm5ic3A7ICZuYnNwOyAmbmJzcDsgKHZhcmlvdXMgcGllY2VzIG9mIHRoaXMgdXNlcidzIG1hbnVhbCk8L2xpPgo8bGk+PHR0Pm5iYmMvbmJiYy5waHA8L3R0PiAmbmJzcDsgJm5ic3A7ICZuYnNwOyAodGhlIGNvbXByZXNzZWQgc2luZ2xlLWZpbGUgdmVyc2lvbiBvZiBOQkJDKTwvbGk+CjxsaT48dHQ+bmJiYy9yZWFkbWUuaHRtbDwvdHQ+ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICh0aGUgbWFpbiBmaWxlIGZvciB0aGlzIHVzZXIncyBtYW51YWwpPC9saT4KPGxpPjx0dD5uYmJjL3NtaWxleXMvKi5naWY8L3R0PiAmbmJzcDsgJm5ic3A7ICZuYnNwOyAodGhpcnR5IHN0YW5kYXJkIHNtaWxleXMsIGFzIEdJRiBpbWFnZSBmaWxlcyk8L2xpPgo8bGk+PHR0Pm5iYmMvc3JjL25iYmNfbWFpbi5waHA8L3R0PiAmbmJzcDsgJm5ic3A7ICZuYnNwOyAodGhlIG1haW4gcm9vdCBpbmNsdWRlLCB3aXRoIGNvbW1lbnRzKTwvbGk+CjxsaT48dHQ+bmJiYy9zcmMvbmJiY19sZXgucGhwPC90dD4gJm5ic3A7ICZuYnNwOyAmbmJzcDsgKHRoZSBsZXhpY2FsIGFuYWx5emVyLCB3aXRoIGNvbW1lbnRzKTwvbGk+CjxsaT48dHQ+bmJiYy9zcmMvbmJiY19saWIucGhwPC90dD4gJm5ic3A7ICZuYnNwOyAmbmJzcDsgKHRoZSBzdGFuZGFyZCBCQkNvZGUgbGlicmFyeSwgd2l0aCBjb21tZW50cyk8L2xpPgo8bGk+PHR0Pm5iYmMvc3JjL25iYmNfcGFyc2UucGhwPC90dD4gJm5ic3A7ICZuYnNwOyAmbmJzcDsgKHRoZSBjb3JlIHBhcnNlciwgd2l0aCBjb21tZW50cyk8L2xpPgo8bGk+PHR0Pm5iYmMvdG9vbHMvY29sbGVjdF9zbWlsZXlzLnBocDwvdHQ+ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICh1c2VkIGZvciBjcmVhdGluZyBhbiBIVE1MIDxhIGhyZWY9ImFwcF9zbWlsZXkuaHRtbCI+dGFibGUgb2Ygc21pbGV5czwvYT4pPC9saT4KPGxpPjx0dD5uYmJjL3Rvb2xzL01ha2VmaWxlPC90dD4gJm5ic3A7ICZuYnNwOyAmbmJzcDsgKHVzZWQgZm9yIGNyZWF0aW5nIDx0dD5uYmJjLnBocDwvdHQ+IGZyb20gdGhlIG90aGVyIGZpbGVzKTwvbGk+CjxsaT48dHQ+bmJiYy90b29scy9tZXJnZS5wbDwvdHQ+ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICh1c2VkIGZvciBjcmVhdGluZyA8dHQ+bmJiYy5waHA8L3R0PiBmcm9tIHRoZSBvdGhlciBmaWxlcyk8L2xpPgo8bGk+PHR0Pm5iYmMvdG9vbHMvdGVzdF9uYmJjLnBocDwvdHQ+ICZuYnNwOyAmbmJzcDsgJm5ic3A7IChhIHRlc3QgcHJvZ3JhbSB0byBlbnN1cmUgTkJCQyB3b3JrcyBjb3JyZWN0bHkpPC9saT4KPC91bD4KCjxwPlRvIHNlZSBpZiBOQkJDIGhhcyBiZWVuIGluc3RhbGxlZCBjb3JyZWN0bHksIG9wZW4gPHR0PnRvb2xzL3Rlc3RfbmJiYy5waHA8L3R0PiBpbiB5b3VyIHdlYiBicm93c2VyLgpUaGlzIHNjcmlwdCB3aWxsIHRlc3QgYWxsIG9mIHRoZSBtYWpvciBmZWF0dXJlcyBvZiBOQkJDLCBhbmQgaXQgd2lsbCBwZXJmb3JtIHNldmVyYWwKc2VjdXJpdHkgdGVzdHMgYXMgd2VsbC4gIElmIGl0IHJlcG9ydHMgdGhhdCBhbGwgb2YgdGhlIHRlc3RzIHN1Y2NlZWRlZCwgdGhlbiBOQkJDIGhhcyBiZWVuCmluc3RhbGxlZCBjb3JyZWN0bHkuPC9wPgoKPHA+SW5jbHVkaW5nIE5CQkMgaW4geW91ciBwcm9qZWN0IGlzIGZhaXJseSBlYXN5LCBhbmQgdGhlcmUncyB0d28gcG9zc2libGUgd2F5cyB0byBkbyBpdDoKPHVsPgo8bGk+WW91IGNhbiB1c2UgdGhlIGNvbXByZXNzZWQgdmVyc2lvbiBvZiBOQkJDLCB3aGljaCBsb2FkcyBhIGxpdHRsZSBmYXN0ZXIgYW5kIGlzIHBhY2tlZAoJaW50byBvbmUgUEhQIGZpbGUuICBUbyBkbyB0aGlzLCBjb3B5IGp1c3QgIjx0dD5uYmJjLnBocDwvdHQ+IiBpbnRvIHlvdXIgcHJvamVjdCdzIGRpcmVjdG9yeSwKCWFuZCBpbiB5b3VyIFBIUCBzY3JpcHQsIHlvdSBzaW1wbHkgPHR0PnJlcXVpcmVfb25jZSgibmJiYy5waHAiKTwvdHQ+LjwvbGk+CjxsaT5Zb3UgY2FuIHVzZSB0aGUgdW5jb21wcmVzc2VkIHZlcnNpb24gb2YgTkJCQywgd2hpY2ggbG9hZHMgYSBsaXR0bGUgc2xvd2VyIGFuZCBpcyBtdWx0aXBsZQoJUEhQIGZpbGVzLCBidXQgaXMgd2VsbC1jb21tZW50ZWQgYW5kIHN1cHBvcnRzIGEgZGVidWdnaW5nIG1vZGUuICBUbyBkbyB0aGlzLCBjb3B5IGFsbCB0aGUKCSI8dHQ+bmJiY18qLnBocDwvdHQ+IiBmaWxlcyBmcm9tIHRoZSAiPHR0PnNyYy88L3R0PiIgZGlyZWN0b3J5IGludG8geW91ciBwcm9qZWN0J3MgZGlyZWN0b3J5LAoJYW5kIGluIHlvdXIgUEhQIHNjcmlwdCwgeW91IHNpbXBseSA8dHQ+cmVxdWlyZV9vbmNlKCJuYmJjX21haW4ucGhwIik8L3R0Pi48L2xpPgo8L3VsPgoKPHA+SW4gYWRkaXRpb24gdG8gY29weWluZyB0aGUgUEhQIGZpbGUocyksIHlvdSBwcm9iYWJseSBhbHNvIHdhbnQgdG8gY29weSB0aGUgIjx0dD5zbWlsZXlzLzwvdHQ+IgpkaXJlY3RvcnksIHdoaWNoIGNvbnRhaW5zIHRoaXJ0eSBzbWlsZXlzIHN1cHBvcnRlZCBieSB0aGUgYnVpbHQtaW4gU3RhbmRhcmQgQkJDb2RlIExpYnJhcnkuCllvdSBjYW4gZmluZCBhIGNvbXBsZXRlIGxpc3Qgb2YgdGhlc2Ugc21pbGV5cyBpbiA8YSBocmVmPSJhcHBfc21pbGV5Lmh0bWwiPkFwcGVuZGl4IEE8L2E+LjwvcD4KCjxwIHN0eWxlPSd0ZXh0LWFsaWduOnJpZ2h0Oyc+WyBQcmV2aW91czogPGEgaHJlZj0iaW5zdGFsbF9yZXEuaHRtbCI+QS4gUmVxdWlyZW1lbnRzPC9hPiB8IE5leHQ6IDxhIGhyZWY9InVzYWdlX2Jhc2ljLmh0bWwiPklJSS5BLiBZb3VyIEZpcnN0IE5CQkMgUHJvZ3JhbTwvYT4gXTwvcD4KCjxociAvPgoKPGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz5Db3B5cmlnaHQgJmNvcHk7IDIwMTAsIHRoZSBQaGFudG9tIElua2VyLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC48L2Rpdj4KCjwvZGl2PjwvZGl2PjwvZGl2PgoKPC9ib2R5PgoKPC9odG1sPgo=]]></data>
	</file>
	<file>
	  <filename>/docs/doc/intro_license.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWw6bGFuZz0iZW4iIGxhbmc9ImVuIj4KCjxoZWFkPgo8dGl0bGU+TGljZW5zZSAtIE5CQkM6IFRoZSBOZXcgQkJDb2RlIFBhcnNlcjwvdGl0bGU+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgo8bGluayByZWw9J3N0eWxlc2hlZXQnIHR5cGU9J3RleHQvY3NzJyBocmVmPSdzdHlsZXMuY3NzJyAvPgo8L2hlYWQ+Cgo8Ym9keT4KCjxkaXYgYWxpZ249J2NlbnRlcic+PGRpdiBjbGFzcz0ncGFnZV9jb250YWluZXIyJz48ZGl2IGNsYXNzPSdwYWdlX2NvbnRhaW5lcic+Cgo8aDI+SS4gSW50cm9kdWN0aW9uPC9oMj4KCjxwIHN0eWxlPSd0ZXh0LWFsaWduOnJpZ2h0O21hcmdpbjowOyc+WyBQcmV2aW91czogPGEgaHJlZj0iaW50cm9fd2h5bmJiYy5odG1sIj5DLiBXaHkgTkJCQz88L2E+IHwgTmV4dDogPGEgaHJlZj0iaW5zdGFsbF9yZXEuaHRtbCI+SUkuQS4gUmVxdWlyZW1lbnRzPC9hPiBdPC9wPgoKPGgzPkQuIExpY2Vuc2U8L2gzPgoKPHA+TkJCQywgdGhpcyBkb2N1bWVudCwgYW5kIGFsbCBhcnR3b3JrIGFuZCBzb3VyY2UgY29kZSBpbmNsdWRlZCB3aXRoIHRoZSBOQkJDIHBhY2thZ2UKYXJlIGNvdmVyZWQgdW5kZXIgYSA8YSBocmVmPSJodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2JzZC1saWNlbnNlLnBocCI+QlNELWxpa2UgbGljZW5zZTwvYT4sIHNob3duIGJlbG93LiAgSW4gc2hvcnQsIE5CQkMgaXMgZnJlZTogIFlvdSBjYW4gZG8Kd2hhdCB5b3Ugd2FudCB3aXRoIGl0LCBpbmNsdWRpbmcgbW9kaWZ5IGl0LCBkZXJpdmUgZnJvbSBpdCwgb3IgZXZlbiBzZWxsIGl0LCBidXQgdGhlCm9ubHkgdGhpbmcgeW91IGNhbid0IGRvIGlzIGNsYWltIHlvdSB3cm90ZSBpdDogIEdpdmUgY3JlZGl0IHdoZXJlIGNyZWRpdCBpcyBkdWUuPC9wPgoKPGRpdiBjbGFzcz0nb3V0cHV0Jz4KCTxwPjxiPkNvcHlyaWdodCAmY29weTsgMjAwOCwgdGhlIFBoYW50b20gSW5rZXIuICBBbGwgcmlnaHRzIHJlc2VydmVkLjwvYj48L3A+CgkKCTxwPlJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAoJbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCglhcmUgbWV0OjwvcD4KCQoJPHVsPgoJPGxpPlJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CgkJbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLjwvbGk+CgkKCTxsaT5SZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAoJCW5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbgoJCXRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKCQlkaXN0cmlidXRpb24uPC9saT4KCTwvdWw+CgkKCTxwPlRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIFBIQU5UT00gSU5LRVIgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MKCU9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECglXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCglESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRQoJTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgoJQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKCVNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUgoJQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksCglXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRQoJT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTgoJSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuPC9wPgo8L2Rpdj4KCjxwPjxiPk5vdGU6PC9iPiAgQWxsIG9mIHRoZSBpbWFnZXMgYW5kIGFydHdvcmsgaW5jbHVkZWQgd2l0aCBOQkJDLCBpbmNsdWRpbmcgdGhlCnRoaXJ0eSBzdGFuZGFyZCA8YSBocmVmPSJhcHBfc21pbGV5Lmh0bWwiPnNtaWxleXM8L2E+IGFuZCB2YXJpb3VzIGljb25zCnN1Y2ggYXMgPGltZyBzcmM9ImV4dGVybmFsLmdpZiIgd2lkdGg9JzExJyBoZWlnaHQ9JzExJyBhbHQ9IiIgLz4gd2VyZSBjdXN0b20tY3JlYXRlZApmb3IgTkJCQyBhbmQgYXJlIHN1YmplY3QgdG8gdGhlIGxpY2Vuc2UgYWJvdmUsIHdoaWNoIG1lYW5zIHRoYXQgdGhleSBtYXkgYmUgZnJlZWx5CnVzZWQsIHJldXNlZCwgYW5kIGFsdGVyZWQgZm9yIGFueSBwdXJwb3NlLCBwdWJsaWMsIHByaXZhdGUsIG9yIGNvbW1lcmNpYWwsIHNvIGxvbmcKYXMgdGhlIHR3byBsaWNlbnNlIHRlcm1zIGFib3ZlIGFyZSBhZGhlcmVkIHRvLjwvcD4KCjxwIHN0eWxlPSd0ZXh0LWFsaWduOnJpZ2h0Oyc+WyBQcmV2aW91czogPGEgaHJlZj0iaW50cm9fd2h5bmJiYy5odG1sIj5DLiBXaHkgTkJCQz88L2E+IHwgTmV4dDogPGEgaHJlZj0iaW5zdGFsbF9yZXEuaHRtbCI+SUkuQS4gUmVxdWlyZW1lbnRzPC9hPiBdPC9wPgoKPGhyIC8+Cgo8ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPkNvcHlyaWdodCAmY29weTsgMjAxMCwgdGhlIFBoYW50b20gSW5rZXIuICBBbGwgcmlnaHRzIHJlc2VydmVkLjwvZGl2PgoKPC9kaXY+PC9kaXY+PC9kaXY+Cgo8L2JvZHk+Cgo8L2h0bWw+Cg==]]></data>
	</file>
	<file>
	  <filename>/docs/doc/intro_over.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWw6bGFuZz0iZW4iIGxhbmc9ImVuIj4KCjxoZWFkPgo8dGl0bGU+T3ZlcnZpZXcgLSBOQkJDOiBUaGUgTmV3IEJCQ29kZSBQYXJzZXI8L3RpdGxlPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz4KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyB0eXBlPSd0ZXh0L2NzcycgaHJlZj0nc3R5bGVzLmNzcycgLz4KPC9oZWFkPgoKPGJvZHk+Cgo8ZGl2IGFsaWduPSdjZW50ZXInPjxkaXYgY2xhc3M9J3BhZ2VfY29udGFpbmVyMic+PGRpdiBjbGFzcz0ncGFnZV9jb250YWluZXInPgoKPGgyPkkuIEludHJvZHVjdGlvbjwvaDI+Cgo8cCBzdHlsZT0ndGV4dC1hbGlnbjpyaWdodDttYXJnaW46MDsnPlsgTmV4dDogPGEgaHJlZj0iaW50cm9fd2h5Lmh0bWwiPkIuIFdoeSBCQkNvZGU/PC9hPiBdPC9wPgoKPGgzPkEuIE92ZXJ2aWV3PC9oMz4KCjxhIG5hbWU9ImludHJvIj48L2E+CjxoMT48aW1nIHNyYz0nbmJiYy1zbWFsbC5wbmcnIHdpZHRoPScyMDYnIGhlaWdodD0nNTYnIGFsdD0nTkJCQycgLz48YnIgLz5UaGUgTmV3IEJCQ29kZSBQYXJzZXI8L2gxPgo8cCBjbGFzcz0nY29weXJpZ2h0Jz5WZXJzaW9uIDEuNC41PGJyIC8+CkNvcHlyaWdodCAmY29weTsgMjAwOC0xMCwgdGhlIFBoYW50b20gSW5rZXIuICBBbGwgcmlnaHRzIHJlc2VydmVkLjwvcD4KCjxwPlRoZSBOZXcgQkJDb2RlIFBhcnNlciAoTkJCQykgaXMgYSBmdWxseS12YWxpZGF0aW5nLCBoaWdoLXNwZWVkLCBleHRlbnNpYmxlIHBhcnNlcgpmb3IgdGhlIEJCQ29kZSBkb2N1bWVudCBsYW5ndWFnZSwgd3JpdHRlbiBpbiBQSFAsIGNvbXBhdGlibGUgd2l0aCBQSFAgNC4wLjUrIGFuZCBQSFAgNS4KSXQgY29udmVydHMgQkJDb2RlIGlucHV0IGludG8gSFRNTCBvdXRwdXQsIGFuZCBjYW4gZ3VhcmFudGVlIHRoYXQgdGhlIG91dHB1dCB3aWxsIGJlCmZ1bGx5IGNvbmZvcm1hbnQgdG8gdGhlIFhIVE1MIDEuMCBTdHJpY3Qgc3RhbmRhcmQgbm8gbWF0dGVyIGhvdyBiYWRseS1tYW5nbGVkIHRoZSBCQkNvZGUKaW5wdXQgaXMuPC9wPgoKPHA+V2hhdCBpcyBCQkNvZGU/ICBCQkNvZGUgaXMgYSBkb2N1bWVudC1mb3JtYXR0aW5nIGxhbmd1YWdlLCBzaW1pbGFyIHRvIEhUTUwsCm9ubHkgZGVzaWduZWQgdG8gYmUgbXVjaCBzaW1wbGVyIHRvIHVzZS4gIEJCQ29kZSB3YXMgcG9wdWxhcml6ZWQgYnkgdmFyaW91cyBmb3J1bSBhbmQKYnVsbGV0aW4tYm9hcmQgc2VydmljZXMgdGhyb3VnaG91dCB0aGUgbGF0ZSAxOTkwcyBhbmQgZWFybHkgMjAwMHMsIGFuZCBpcyBub3cgYQpkZS1mYWN0byBzdGFuZGFyZDsgaG93ZXZlciwgbW9zdCBCQkNvZGUgcGFyc2Vycywgd2hpY2ggY29udmVydCB0aGF0IEJCQ29kZSBpbnRvCmRpc3BsYXlhYmxlIEhUTUwsIGFyZSBub24tdmFsaWRhdGluZywgbWVhbmluZyB0aGF0IHRoZXkgZG8gbm90IGd1YXJhbnRlZSB0aGF0IHRoZWlyCm91dHB1dCB3aWxsIG5lY2Vzc2FyaWx5IGJlICZxdW90O2dvb2QmcXVvdDsgSFRNTC4gIFNvbWUgYXJlIHNvIG92ZXItc2ltcGxpZmllZCB0aGF0CnRoZXkgYXJlIHZ1bG5lcmFibGUgdG8gYSBudW1iZXIgb2Ygc2VjdXJpdHkgYXR0YWNrcy4gIE5CQkMgaXMgZGVzaWduZWQgdG8gYmUgYW4gZWFzeQpkcm9wLWluIHJlcGxhY2VtZW50IGZvciBtb3N0IGV4aXN0aW5nIEJCQ29kZSBwYXJzZXJzLCBhbmQgaXMgZGVzaWduZWQgdG8gYmUgYm90aAp2YWxpZGF0aW5nIGFuZCBzZWN1cmUuPC9wPgoKPHA+TkJCQyBjb21lcyBidWlsdC1pbiB3aXRoIGEgbnVtYmVyIG9mIHVzZWZ1bCBmZWF0dXJlczo8L3A+Cgo8dWw+CjxsaT5PdXRwdXQgaXMgYWx3YXlzIFhIVE1MIDEuMCBTdHJpY3QgY29uZm9ybWFudC48L2xpPgo8bGk+T3V0cHV0IGlzIHByb3RlY3RlZCBhZ2FpbnN0IG1hbnkgY29tbW9uIHVzZXItaW5wdXQgYXR0YWNrcywgc3VjaCBhcyBYU1MgYXR0YWNrcy48L2xpPgo8bGk+U21pbGV5cywgc3VjaCBhcyA8dHQ+Oi0pPC90dD4sIGFyZSBjb252ZXJ0ZWQgaW50byA8dHQ+Jmx0O2ltZyZndDs8L3R0PiB0YWdzLAoJYW5kIGEgbGFyZ2UgbGlicmFyeSBvZiBjb21tb24gc21pbGV5IGltYWdlcyBpcyBpbmNsdWRlZC48L2xpPgo8bGk+SW5jbHVkZXMgYSBsaWJyYXJ5IHN1cHBvcnRpbmcgYWxsIHRoZSBzdGFuZGFyZCBCQkNvZGUgY29kZXMgZm91bmQgb24gbW9zdAoJcG9wdWxhciBidWxsZXRpbiBib2FyZHMgYW5kIHdlYiBmb3J1bXMuPC9saT4KPGxpPlN1cHBvcnRzICJ3aWtpIGxpbmtzLCIgd2hpY2ggY2FuIGJlIGFuIGVhc3kgd2F5IGZvciB1c2VycyB0byByZWZlcmVuY2Ugd2lraQoJcGFnZXMgb24geW91ciBzaXRlIGlmIHlvdSBhbHNvIGhhdmUgYSB3aWtpIGluc3RhbGxlZC48L2xpPgo8bGk+VGhlIGxpc3Qgb2YgY29kZXMgaXMgZnVsbHkgZXh0ZW5zaWJsZTsgeW91IGNhbiBhZGQgYW5kIHJlbW92ZSBjb2RlcyBhdCBhbnkgdGltZS48L2xpPgo8bGk+VGlnaHRseSBlbmNhcHN1bGF0ZWQgaW4gY2xhc3NlcyBhbmQgZG9lc24ndCBwb2xsdXRlIHRoZSBnbG9iYWwgbmFtZXNwYWNlLAoJc28gaXQncyBlYXN5IHRvIGRyb3AgaW50byBleGlzdGluZyBlbnZpcm9ubWVudHMuPC9saT4KPGxpPlRoZSBlbnRpcmUgcGFyc2VyIGNvbnNpc3RzIG9mIG9ubHkgZm91ciBmaWxlcywgb25seSBvbmUgb2Ygd2hpY2ggeW91IGV2ZXIgbmVlZAoJdG8gaW5jbHVkZSBkaXJlY3RseSwgd2hpY2ggYWxzbyBtYWtlcyBpdCBlYXN5IHRvIGRyb3AgaW50byBleGlzdGluZyBlbnZpcm9ubWVudHMuPC9saT4KPGxpPlRoZSBzdGFuZGFyZCBsaWJyYXJ5IGluY2x1ZGVzIHN1cHBvcnQgZm9yIG5vdCBvbmx5IGV4dHJlbWVseSBjb21tb24gdGFncyBsaWtlIFtiXQoJYW5kIFtpXSwgYnV0IGFsc28gc3VwcG9ydHMgbmVhcmx5IGFsbCB0aGUgdGFncyBmb3VuZCBvbiBtb3N0IG1ham9yIGZvcnVtcyBhbmQKCWJ1bGxldGluIGJvYXJkczogIFtjZW50ZXJdLCBbbGlzdF0sIFtjb2RlXSwgYW5kIFtxdW90ZV0sIGFtb25nIG90aGVycywgd2l0aCBhbGwKCXRoZWlyIHZhcmlvdXMgZmxhZ3MgYW5kIHBhcmFtZXRlcnMuPC9saT4KPGxpPkJlc3Qgb2YgYWxsLCBpdCdzIGZyZWUhICBOQkJDIGlzIGNvdmVyZWQgdW5kZXIgdGhlCgk8YSBocmVmPSJodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2JzZC1saWNlbnNlLnBocCI+TmV3IEJTRCBPcGVuLVNvdXJjZSBMaWNlbnNlPC9hPiwKCXNvIGl0IGNhbiBiZSB1c2VkIGFueXdoZXJlLCBhbnl3aGVuLCBpbiBhbnkgcHJvamVjdCwgZm9yIGFueSByZWFzb24uPC9saT4KPC91bD4KCjxwIHN0eWxlPSd0ZXh0LWFsaWduOnJpZ2h0Oyc+WyBOZXh0OiA8YSBocmVmPSJpbnRyb193aHkuaHRtbCI+Qi4gV2h5IEJCQ29kZT88L2E+IF08L3A+Cgo8aHIgLz4KCjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+Q29weXJpZ2h0ICZjb3B5OyAyMDEwLCB0aGUgUGhhbnRvbSBJbmtlci4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9kaXY+Cgo8L2Rpdj48L2Rpdj48L2Rpdj4KCjwvYm9keT4KCjwvaHRtbD4K]]></data>
	</file>
	<file>
	  <filename>/docs/doc/intro_why.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWw6bGFuZz0iZW4iIGxhbmc9ImVuIj4KCjxoZWFkPgo8dGl0bGU+V2h5IEJCQ29kZT8gLSBOQkJDOiBUaGUgTmV3IEJCQ29kZSBQYXJzZXI8L3RpdGxlPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz4KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyB0eXBlPSd0ZXh0L2NzcycgaHJlZj0nc3R5bGVzLmNzcycgLz4KPC9oZWFkPgoKPGJvZHk+Cgo8ZGl2IGFsaWduPSdjZW50ZXInPjxkaXYgY2xhc3M9J3BhZ2VfY29udGFpbmVyMic+PGRpdiBjbGFzcz0ncGFnZV9jb250YWluZXInPgoKPGgyPkkuIEludHJvZHVjdGlvbjwvaDI+Cgo8cCBzdHlsZT0ndGV4dC1hbGlnbjpyaWdodDttYXJnaW46MDsnPlsgUHJldmlvdXM6IDxhIGhyZWY9ImludHJvX292ZXIuaHRtbCI+QS4gT3ZlcnZpZXc8L2E+IHwgTmV4dDogPGEgaHJlZj0iaW50cm9fd2h5bmJiYy5odG1sIj5DLiBXaHkgTkJCQz88L2E+IF08L3A+Cgo8aDM+Qi4gV2h5IEJCQ29kZT88L2gzPgoKPHA+WW91IG1heSBiZSBhc2tpbmcgeW91cnNlbGY6ICBXaHkgZG9lcyBteSB3ZWIgYXBwbGljYXRpb24gbmVlZCBCQkNvZGU/ICBXaGF0IGRvZXMKQkJDb2RlIGRvIGZvciBtZSB0aGF0IEhUTUwgZG9lc24ndCBkbz8gIElmIHlvdSdyZSBhc2tpbmcgdGhlc2Uga2luZHMgb2YgcXVlc3Rpb25zLCB0aGlzCmlzIHRoZSBzZWN0aW9uIGZvciB5b3UuICBCQkNvZGUgaXMgYSBkb2N1bWVudCBmb3JtYXR0aW5nIGxhbmd1YWdlLCBqdXN0IGxpa2UgSFRNTCwgYnV0CmluIG1hbnkgd2F5cyBpdCdzIGJldHRlciB0aGFuIEhUTUwgZm9yIHlvdXIgdXNlci1nZW5lcmF0ZWQgY29udGVudDo8L3A+Cgo8dWw+CjxsaT48Yj5CQkNvZGUgaXMgc2ltcGxlci48L2I+ICBIVE1MIGlzIGEgYmlnLCBob2FyeSwgY29tcGxleCBsYW5ndWFnZSB3aXRoIHRvbnMgb2YKCWNhdmVhdHMsIHNpZGUgZWZmZWN0cywgYW5kIHNlY3VyaXR5IGlzc3Vlcy4gIEhUTUwgY2FuIHRha2Ugd2Vla3Mgb3IgbW9udGhzIHRvCglsZWFybiB3ZWxsLCB3aGVyZWFzIG1vc3Qgb2YgdGhlIEJCQ29kZSBmZWF0dXJlcyBwZW9wbGUgd2lsbCBldmVyIHVzZSBjYW4gYmUgbGVhcm5lZAoJZnVsbHkgaW4gYW4gYWZ0ZXJub29uLiAgTmV3bGluZXMgYmVoYXZlIGFzIG5ld2xpbmVzLCBzbWlsZXlzIGJlaGF2ZSBhcyBzbWlsZXlzLAoJYW5kIGdlbmVyYWxseSB0aGUgbGFuZ3VhZ2UgaXMgdXNlci1mcmllbmRseSBhbmQgbmV3YmllLWZyaWVuZGx5IHJpZ2h0IG91dCBvZiB0aGUgYm94LjwvbGk+CjxsaT48Yj5CQkNvZGUgaXMgc2FmZXIuPC9iPiAgSFRNTCBoYXMgcGxlbnR5IG9mIHNlY3VyaXR5IGhvbGVzLCBmcm9tIDx0dD4mbHQ7c2NyaXB0Jmd0OzwvdHQ+Cgl0YWdzIHRvIDx0dD5qYXZhc2NyaXB0OjwvdHQ+IFVSTHMgdG8gWFNTIGF0dGFja3MgYW5kIG1vcmUuICBCQkNvZGUsIG9uIHRoZSBvdGhlcgoJaGFuZCwgaXMgYSBzaW1wbGUgbGFuZ3VhZ2UgdGhhdCBkb2VzIDxpPm1vc3Q8L2k+IHRoZSB0YXNrcyB0aGF0IDxpPm1vc3Q8L2k+IHBlb3BsZQoJbmVlZCwgd2l0aG91dCBhbGwgdGhlIHNlY3VyaXR5IHRyb3VibGVzOiAgQkJDb2RlIGFjdGl2ZWx5IHByb2hpYml0cyB0YWdzIGFuZAoJY29uc3RydWN0cyB0aGF0IGNhbiBnZXQgeW91IGludG8gdHJvdWJsZSwgYW5kIGV2ZW4gcmVwYWlycyBiYWQgY29kZSBvbiB0aGUgZmx5LjwvbGk+CjxsaT48Yj5CQkNvZGUgaXMgZmxleGlibGUuPC9iPiAgSFRNTCBrbm93cyBob3cgdG8gZG8gd2hhdCBpdCBkb2VzLCBhbmQgdGhhdCdzIGl0OyBpZiB5b3UKCXdhbnQgYSBuZXcgZWxlbWVudCBpbiBIVE1MLCBzYXksIGEgPHR0PiZsdDtxdW90ZSZndDs8L3R0PiBlbGVtZW50IG9yIGEgPHR0PiZsdDttdWx0aWNvbCZndDs8L3R0PgoJZWxlbWVudCwgeW91IGhhdmUgdG8gd2FpdCBhbmQgPGk+aG9wZTwvaT4gdGhhdCBhbGwgdGhlIG1ham9yIGJyb3dzZXJzIGltcGxlbWVudCB3aGF0IHlvdSBuZWVkCgktLS0gaWYgdGhleSBkb24ndCBpbXBsZW1lbnQgaXQsIHlvdSBkb24ndCBoYXZlIGl0LiAgV2l0aCBCQkNvZGUsIHlvdSBjYW4gZGVmaW5lIHNpbXBsZQoJdGFncyB0aGF0IHByb2R1Y2UgYmlnLCBjb21wbGV4IEhUTUwgb24gdGhlIGJhY2tlbmQsIHNvIHRoYXQgYSB0YWcgbGlrZSA8dHQ+W2NhbGVuZGFyPTIwMDgtMDddPC90dD4KCXJlYWxseSBjYW4gcHJvZHVjZSBhIHdvcmtpbmcgY2FsZW5kYXIsIGV2ZW4gaWYgbm8gYnJvd3NlcnMgaGF2ZSBhIGJ1aWx0LWluIDx0dD4mbHQ7Y2FsZW5kYXImZ3Q7PC90dD4KCWVsZW1lbnQuPC9saT4KPGxpPjxiPkJCQ29kZSBpcyBwb3J0YWJsZS48L2I+ICBBZ2Fpbiwgd2l0aCBIVE1MLCB5b3UncmUgbGltaXRlZCB0byB3aGF0IHRoZSBicm93c2VycwoJc3VwcG9ydC4gIEJ1dCBzaW5jZSBCQkNvZGUgaXMgdHJhbnNsYXRlZCB0byBhIHZlcnkgc2ltcGxlIHN1YnNldCBvZiBIVE1MLCBldmVuIHJlYWxseQoJY29tcGxpY2F0ZWQgQkJDb2RlIGNvbnN0cnVjdHMgY2FuIHdvcmsgb24ganVzdCBhYm91dCBhbnkgYnJvd3Nlci4gIE5vdCBzbyB3aXRoIHRoZQoJZnVsbCBwb3dlciBvZiBIVE1MLCB3aGVyZSBhIGxvdCBvZiBzdHVmZiBqdXN0IHBsYWluIGRvZXNuJ3Qgd29yayBpZiB5b3Ugc3dpdGNoIGZyb20KCUZpcmVmb3ggdG8gSW50ZXJuZXQgRXhwbG9yZXIgYW5kIGJhY2suPC9saT4KPGxpPjxiPkJCQ29kZSBmb2xsb3dzIGl0cyB1c2VycyBtZW50YWwgbW9kZWxzLjwvYj4gIFdpdGggSFRNTCwgdGhlcmUncyBhIGxvbmdzdGFuZGluZwoJYXJndW1lbnQgb3ZlciB2aXN1YWwgc3R5bGVzIHZzLiBsb2dpY2FsIHN0eWxlcywgd2hldGhlciB5b3VyIGRvY3VtZW50IHNob3VsZCBiZQoJZm9ybWF0dGVkIGZvciBtYWNoaW5lIHVzZSB3aXRoIGVsZW1lbnRzIGxpa2UgPHR0PiZsdDtzdHJvbmcmZ3Q7PC90dD4gb3IgZm9ybWF0dGVkIGZvcgoJdmlzdWFscyB3aXRoIGVsZW1lbnRzIGxpa2UgPHR0PiZsdDtiJmd0OzwvdHQ+LiAgQkJDb2RlIGRvZXNuJ3QgY2FyZTogIEl0IGltcGxlbWVudHMKCXdoYXRldmVyIHRhZ3MgeW91IHdhbnQgaXQgdG8gaW1wbGVtZW50LCB3aGF0ZXZlciBtYWtlIHRoZSBtb3N0IHNlbnNlIGZvciB5b3VyIG5lZWRzLgoJTmVlZCBhIDx0dD5bZmxhc2hdPC90dD4gdGFnLCBvciBhIDx0dD5bdmlkZW9dPC90dD4gdGFnLCBvciBhIDx0dD5bd2ViY29taWM9XS4uLlsvd2ViY29taWNdPC90dD4KCWxpbms/ICBBZGQgaXQgc28gdGhhdCB0aGUgbGFuZ3VhZ2UgZG9lcyB3aGF0IHlvdSB3YW50IGl0IHRvIGRvLCBhbmQgbm90IHRoZSBvdGhlciB3YXkgYXJvdW5kLjwvbGk+CjxsaT48Yj5CQkNvZGUgaXMgYXV0b21hdGljYWxseSBhbmQgZWFzaWx5IHN0eWxlZC48L2I+ICBTaW5jZSBhbGwgQkJDb2RlIGdldHMgY29tcGlsZWQgdG8gYSBzaW1wbGUKCXN1YnNldCBvZiBIVE1MLCBjaGFuZ2luZyB0aGUgbG9vay1hbmQtZmVlbCBvZiBCQkNvZGUgY29udGVudCBjYW4gYmUgZG9uZSBieQoJY2hhbmdpbmcganVzdCBhIHZlcnkgc21hbGwgaGFuZGZ1bCBvZiBDU1Mgc3R5bGVzLiAgTm90IHNvIHdpdGggSFRNTCwgd2hlcmUgdGhlcmUgYXJlCglvZnRlbiBodW5kcmVkcyBvZiBjbGFzc2VzIGluIGV2ZW4gYSByZWxhdGl2ZWx5IHNob3J0IGRvY3VtZW50LjwvbGk+CjwvdWw+Cgo8cD5JbiBmYWlybmVzcywgQkJDb2RlIGlzbid0IHBlcmZlY3QuICBMZXQncyBsb29rIGF0IHdoYXQgaXQgY2FuJ3QgZG8gdG9vLCBjb21wYXJlZCB0byBIVE1MOjwvcD4KCjx1bD4KPGxpPjxiPkhUTUwgaXMgZmFzdGVyLjwvYj4gIEJCQ29kZSBuZWVkcyB0byBiZSBjb21waWxlZCwgYW5kIHRoYXQgdGFrZXMgdGltZSBvbiB5b3VyIHNlcnZlci4KCUJ1dCBOQkJDIGlzIGRlc2lnbmVkIHRvIGJlIGEgdmVyeSBmYXN0IGNvbXBpbGVyLCBhbmQgZXZlbiBsb25nIEJCQ29kZSBkb2N1bWVudHMgY2FuCgliZSBmb3JtYXR0ZWQgcmFwaWRseSB3aXRoIGl0LjwvbGk+CjxsaT48Yj5IVE1MIHN1cHBvcnRzIGxvdHMgb2YgZXh0cmFzLjwvYj4gIFNjcmlwdHMsIGZvcm1zLCBlbWJlZGRlZCBvYmplY3RzLCB2aWRlby4uLiAgaWYKCXRoZSB3ZWIgY2FuIGRvIGl0LCBIVE1MIGNhbiBkbyBpdC4gIEJCQ29kZSBpbnRlbnRpb25hbGx5IGxlYXZlcyBvdXQgdGhpcyBmbGV4aWJpbGl0eQoJaW4gZXhjaGFuZ2UgZm9yIHNhZmV0eSwgYnV0IHdpdGggTkJCQywgeW91IGNhbiBhbHdheXMgYWRkIHRoZXNlIGtpbmRzIG9mIGVsZW1lbnRzCgliYWNrIGluIGlmIHlvdSByZWFsbHkgbmVlZCB0aGVtLjwvbGk+CjxsaT48Yj5IVE1MIG1vcmUgZmxleGlibGUgYWJvdXQgaXRzIGxvb2sgYW5kIGZlZWwuPC9iPiAgQkJDb2RlIGludGVudGlvbmFsbHkgcmVzdHJpY3RzCglpdHMgY29udGVudCB0byBhbGwgbG9vayB0aGUgc2FtZSwgdG8gc2hhcmUgdGhlIHNhbWUgc3R5bGVzLCB3aGlsZSBIVE1MIGNhbiBoYXZlIGFueQoJbG9vayBhbnl3aGVyZS48L2xpPgo8bGk+PGI+SFRNTCBjYW4gYW5kIHdpbGwgZ3Jvdy48L2I+ICBCQkNvZGUgb25seSBjYW4gZG8gd2hhdCB5b3VyIEJCQ29kZSBsaWJyYXJ5IChOQkJDKSBjYW4KCWRvLCB3aGVyZWFzIEhUTUwgd2lsbCBnZXQgbmV3IGZlYXR1cmVzIG92ZXIgdGltZSBhcyBwZW9wbGUgdXBncmFkZSB0aGVpciBicm93c2Vycy48L2xpPgo8bGk+PGI+SFRNTCBoYXMgV1lTSVdZRyBlZGl0b3JzLDwvYj4gd2hpY2ggYXJlIGdyZWF0IGZvciBuZXdiaWVzLiAgQnV0IHRoaXMgYWR2YW50YWdlCgl3aWxsIGVyb2RlOiAgRXZlbiBub3csIHNvbWUgcnVkaW1lbnRhcnkgQkJDb2RlIFdZU0lXWUcgZWRpdG9ycyBoYXZlIHN0YXJ0ZWQKCXRvIGFwcGVhciwgYW5kIHRoZXknbGwgb25seSBnZXQgYmV0dGVyIHdpdGggdGltZS48L2xpPgo8L3VsPgoKPHA+U3RpbGwsIGV2ZW4gd2l0aCB0aGUgYWR2YW50YWdlcyBIVE1MIGhhcywgaW4gYSBzZWN1cml0eS0gYW5kIHNhZmV0eS1jb25zY2lvdXMgYWdlLApCQkNvZGUgaXMgdGhlIGNsZWFyIHdpbm5lciBmb3IgdXNlci1nZW5lcmF0ZWQgY29udGVudC4gIElmIHlvdSdyZSBsZXR0aW5nIHlvdXIgdXNlcnMKYWRkIGFueSBraW5kIG9mIHRleHQtYmFzZWQgY29udGVudCB0byB5b3VyIHNpdGUsIHlvdXIgc2l0ZSA8aT5uZWVkczwvaT4gQkJDb2RlLCBhbmQKTkJCQyBpcyB0aGUgYmVzdCBhbmQgZWFzaWVzdCB3YXkgdG8gZ2V0IGl0LjwvcD4KCjxwIHN0eWxlPSd0ZXh0LWFsaWduOnJpZ2h0Oyc+WyBQcmV2aW91czogPGEgaHJlZj0iaW50cm9fb3Zlci5odG1sIj5BLiBPdmVydmlldzwvYT4gfCBOZXh0OiA8YSBocmVmPSJpbnRyb193aHluYmJjLmh0bWwiPkMuIFdoeSBOQkJDPzwvYT4gXTwvcD4KCjxociAvPgoKPGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz5Db3B5cmlnaHQgJmNvcHk7IDIwMTAsIHRoZSBQaGFudG9tIElua2VyLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC48L2Rpdj4KCjwvZGl2PjwvZGl2PjwvZGl2PgoKPC9ib2R5PgoKPC9odG1sPgo=]]></data>
	</file>
	<file>
	  <filename>/docs/doc/intro_whynbbc.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWw6bGFuZz0iZW4iIGxhbmc9ImVuIj4KCjxoZWFkPgo8dGl0bGU+V2h5IE5CQkM/IC0gTkJCQzogVGhlIE5ldyBCQkNvZGUgUGFyc2VyPC90aXRsZT4KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+CjxsaW5rIHJlbD0nc3R5bGVzaGVldCcgdHlwZT0ndGV4dC9jc3MnIGhyZWY9J3N0eWxlcy5jc3MnIC8+CjwvaGVhZD4KCjxib2R5PgoKPGRpdiBhbGlnbj0nY2VudGVyJz48ZGl2IGNsYXNzPSdwYWdlX2NvbnRhaW5lcjInPjxkaXYgY2xhc3M9J3BhZ2VfY29udGFpbmVyJz4KCjxoMj5JLiBJbnRyb2R1Y3Rpb248L2gyPgoKPHAgc3R5bGU9J3RleHQtYWxpZ246cmlnaHQ7bWFyZ2luOjA7Jz5bIFByZXZpb3VzOiA8YSBocmVmPSJpbnRyb193aHkuaHRtbCI+Qi4gV2h5IEJCQ29kZT88L2E+IHwgTmV4dDogPGEgaHJlZj0iaW50cm9fbGljZW5zZS5odG1sIj5ELiBMaWNlbnNlPC9hPiBdPC9wPgoKPGgzPkMuIFdoeSBOQkJDPzwvaDM+Cgo8cD5TbyBpZiB5b3UncmUgY29udmluY2VkIHRoYXQgQkJDb2RlIGlzIHJpZ2h0IGZvciB5b3VyIGFwcGxpY2F0aW9uLCB5b3Ugc3RpbGwgbWF5CmJlIHdvbmRlcmluZyB3aHkgeW91IHNob3VsZCB1c2UgTkJCQyBpbnN0ZWFkIG9mIGFub3RoZXIgQkJDb2RlIGxpYnJhcnksIG9yIGluc3RlYWQKb2YganVzdCByb2xsaW5nIHlvdXIgb3duIHNvbHV0aW9uLiAgV2UgYmVsaWV2ZSBOQkJDIGlzIGJldHRlcjo8L3A+Cgo8dWw+CjxsaT48Yj5OQkJDIGlzIGNvcnJlY3QgYW5kIGNvbXBsaWFudC48L2I+ICBVbmxpa2UgbWFueSBvdGhlciBsaWJyYXJpZXMgKGFuZCBkZWZpbml0ZWx5Cgl1bmxpa2UgbWFueSByb2xsLXlvdXItb3duIHNvbHV0aW9ucyksIE5CQkMncyBvdXRwdXQgaXMgY29tcGF0aWJsZSB3aXRoIHRoZQoJcmVzdHJpY3Rpb25zIG9mIFhIVE1MIDEuMCBTdHJpY3Q6ICBUaGUgb3V0cHV0IEhUTUwgaXMgY29ycmVjdGx5LXN0cnVjdHVyZWQgbm8KCW1hdHRlciBob3cgYmFkbHktbWFuZ2xlZCB0aGUgdXNlcidzIGlucHV0IGlzLCBzbyBldmVuIHRoZSB1Z2xpZXN0IGRhbWFnZWQgaW5wdXQKCWNhbiBzdGlsbCBwYXNzIGFuIFhIVE1MLXZhbGlkYXRpb24gdGVzdC48L2xpPgo8bGk+PGI+TkJCQyBpcyBmYXN0LjwvYj4gIEJ1aWx0IG9uIGEgc29saWQgZm91bmRhdGlvbiBvZiBjb21waWxlciB0ZWNobm9sb2dpZXMsCglOQkJDIGNhbiBjb21wZXRlIHdpdGggdGhlIGJlc3QgQkJDb2RlLXBhcnNpbmcgc29sdXRpb25zIHRoYXQgeW91IGNhbiBpbXBsZW1lbnQsCglhbmQgY2FuIHNvbWV0aW1lcyBldmVuIG91dHBlcmZvcm0gYSBzaW1wbGUgPHR0PnN0cl9yZXBsYWNlKCk8L3R0PiBvcgoJPHR0PnByZWdfcmVwbGFjZSgpPC90dD4tYmFzZWQgc29sdXRpb24hPC9saT4KPGxpPjxiPk5CQkMgaXMgbGlnaHR3ZWlnaHQuPC9iPiAgWW91IGNhbiBlYXNpbHkgaW1wbGVtZW50IE5CQkMgaW4gYW55IGVudmlyb25tZW50IGJ5IGluY2x1ZGluZwoJYSBzaW5nbGUgUEhQIHNvdXJjZSBmaWxlLiAgRHJvcCBpdCBpbiBhbmQgYXdheSB5b3UgZ28hPC9saT4KPGxpPjxiPk5CQkMgaXMgZWFzeSB0byB1c2UuPC9iPiAgQWRkaW5nIGJhc2ljIHN1cHBvcnQgZm9yIEJCQ29kZSBpbiB5b3VyIGFwcGxpY2F0aW9uCgljYW4gYmUgZG9uZSBpbiBvbmx5IHRocmVlIGxpbmVzIG9mIGNvZGUuICBXaHkgbGltaXQgeW91ciB1c2VycyB0byBwbGFpbiB0ZXh0CglvciBpbXBsZW1lbnQgY29tcGxpY2F0ZWQgSFRNTCB2YWxpZGF0aW9uIHdoZW4geW91IGNhbiBhZGQgc29waGlzdGljYXRlZCBmb3JtYXR0aW5nCglpbiB0aHJlZSBsaW5lcyBvZiBjb2RlPzwvbGk+CjxsaT48Yj5OQkJDIGltcGxlbWVudHMgbW9zdCBjb21tb24gQkJDb2RlIHRhZ3MuPC9iPiAgUmlnaHQgb3V0IG9mIHRoZSBib3gsIHlvdSBoYXZlCglzdXBwb3J0IGZvciBldmVyeXRoaW5nIGZyb20gY29tbW9uIHRhZ3MgbGlrZSA8dHQ+W2JdPC90dD4gYW5kIDx0dD5baV08L3R0PiB0bwoJc29waGlzdGljYXRlZCB0YWdzIGxpa2UgPHR0Pltjb2RlXTwvdHQ+IGFuZCA8dHQ+W3F1b3RlXTwvdHQ+IGFuZCBldmVuIDx0dD5bY29sdW1uc108L3R0Pi4KCUZvciBtb3N0IG5lZWRzLCB5b3Ugd29uJ3QgbmVlZCB0byBhZGQgb3IgY2hhbmdlIGEgdGhpbmcuPC9saT4KPGxpPjxiPk5CQkMgc3VwcG9ydHMgc21pbGV5cyE8L2I+ICBOb3QgYWxsIEJCQ29kZSBwYXJzZXJzIHN1cHBvcnQgc21pbGV5cyAoZW1vdGljb25zKQoJZGlyZWN0bHksIGFuZCBmZXdlciBzdGlsbCBpbmNsdWRlIDMwIG9mIHRoZSBtb3N0IGNvbW1vbmx5LXVzZWQgb25lcyByaWdodCBvdXQgb2YgdGhlCglib3ghICBZb3UgY2FuIGFsd2F5cyBhZGQgeW91ciBvd24gY3VzdG9tIHNtaWxleXMsIGJ1dCBmb3IgYSBsb3Qgb2YgcHVycG9zZXMsIE5CQkMncwoJYnVpbHQtaW4gc21pbGV5cyB3aWxsIGJlIGFsbCB5b3UnbGwgZXZlciBuZWVkLjwvbGk+CjxsaT48Yj5OQkJDIGlzIGV4dGVuc2libGUuPC9iPiAgSWYgTkJCQyBkb2Vzbid0IGhhdmUgdGhlIHRhZ3MgeW91IHdhbnQgb3IgbmVlZCBmb3IKCXlvdXIgZW52aXJvbm1lbnQsIHRoZXkncmUgaW5jcmVkaWJseSBlYXN5IHRvIGFkZCB3aXRoIGl0cyBzb3BoaXN0aWNhdGVkCglBUEkuICBNYW55IHRhZ3MgY2FuIGJlIGFkZGVkIGluIG9ubHkgYSBmZXcgbGluZXMgb2YgY29kZSE8L2xpPgo8bGk+PGI+TkJCQyBpcyB3ZWxsLWRvY3VtZW50ZWQuPC9iPiAgTm90IG9ubHkgaXMgdGhlIHNvdXJjZS1jb2RlIHdlbGwtY29tbWVudGVkCglhbmQgZGVzaWduZWQgdG8gYmUgZWFzeSB0byByZWFkLCB0aGVyZSBhcmUgb3ZlciA1MCBwYWdlcyBvZiBkb2N1bWVudGF0aW9uCglkZXNjcmliaW5nIGhvdyB0byB1c2UgTkJCQyBhbmQgaXRzIGZlYXR1cmVzLjwvbGk+CjxsaT48Yj5OQkJDIGlzIHRlc3RlZC48L2I+ICBOQkJDIGhhcyBhIGxhcmdlIHJlZ3Jlc3Npb24tdGVzdCBzdWl0ZSB0aGF0IGlzIGRlc2lnbmVkCgl0byBlbnN1cmUgaXRzIGNvcnJlY3RuZXNzOiAgV2hpbGUgbW9zdCBvdGhlciBCQkNvZGUgc29sdXRpb25zIGFyZSBjb250ZW50IHRvCglqdXN0IHN3YXAgYSB0YWcgZm9yIGEgdGFnLCBOQkJDIGlzIGRlc2lnbmVkIHdpdGggcHJlZGljdGFiaWxpdHksIHNlY3VyaXR5LCBhbmQKCXN0YWJpbGl0eSBpbiBtaW5kLCBzbyB5b3UgY2FuIGVuc3VyZSB0aGF0IGl0cyBvdXRwdXQgaXMgc2FmZSBhbmQgY29ycmVjdCBubwoJbWF0dGVyIHdoYXQgaW5wdXQgeW91ciB1c2VycyBwcm92aWRlLjwvbGk+CjwvdWw+Cgo8cD5GYXN0LCBwb3dlcmZ1bCwgY2xlYW4sIGZsZXhpYmxlLCBhbmQgbGlnaHR3ZWlnaHQ6ICBOQkJDIGlzIGRlc2lnbmVkIHRvIGJlIHRoZQpwZXJmZWN0IEJCQ29kZS1wcm9jZXNzaW5nIGxpYnJhcnkuPC9wPgoKPHAgc3R5bGU9J3RleHQtYWxpZ246cmlnaHQ7Jz5bIFByZXZpb3VzOiA8YSBocmVmPSJpbnRyb193aHkuaHRtbCI+Qi4gV2h5IEJCQ29kZT88L2E+IHwgTmV4dDogPGEgaHJlZj0iaW50cm9fbGljZW5zZS5odG1sIj5ELiBMaWNlbnNlPC9hPiBdPC9wPgoKPGhyIC8+Cgo8ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPkNvcHlyaWdodCAmY29weTsgMjAxMCwgdGhlIFBoYW50b20gSW5rZXIuICBBbGwgcmlnaHRzIHJlc2VydmVkLjwvZGl2PgoKPC9kaXY+PC9kaXY+PC9kaXY+Cgo8L2JvZHk+Cgo8L2h0bWw+Cg==]]></data>
	</file>
	<file>
	  <filename>/docs/doc/nbbc-small.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/docs/doc/shorttoc.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHRhYmxlIGNsYXNzPSdzaG9ydHRvYyc+PHRib2R5Pjx0cj48dGQ+Cgo8ZGl2IHN0eWxlPSdtYXJnaW4tYm90dG9tOjFlbTsnPjxiPkkuIEludHJvZHVjdGlvbjwvYj4KCTxvbCBzdHlsZT0ibGlzdC1zdHlsZS10eXBlOnVwcGVyLWFscGhhIj4KCTxsaT48YSBocmVmPSJyZWFkbWUucGhwP3BhZ2U9aW50cm9fb3ZlciI+T3ZlcnZpZXc8L2E+PC9saT4KCTxsaT48YSBocmVmPSJyZWFkbWUucGhwP3BhZ2U9aW50cm9fd2h5Ij5XaHkgQkJDb2RlPzwvYT48L2xpPgoJPGxpPjxhIGhyZWY9InJlYWRtZS5waHA/cGFnZT1pbnRyb193aHluYmJjIj5XaHkgTkJCQz88L2E+PC9saT4KCTxsaT48YSBocmVmPSJyZWFkbWUucGhwP3BhZ2U9aW50cm9fbGljZW5zZSI+TGljZW5zZTwvYT48L2xpPgoJPC9vbD4KPC9kaXY+Cgo8ZGl2IHN0eWxlPSdtYXJnaW4tYm90dG9tOjFlbTsnPjxiPklJLiBJbnN0YWxsaW5nIE5CQkM8L2I+Cgk8b2wgc3R5bGU9Imxpc3Qtc3R5bGUtdHlwZTp1cHBlci1hbHBoYSI+Cgk8bGk+PGEgaHJlZj0icmVhZG1lLnBocD9wYWdlPWluc3RhbGxfcmVxIj5SZXF1aXJlbWVudHM8L2E+PC9saT4KCTxsaT48YSBocmVmPSJyZWFkbWUucGhwP3BhZ2U9aW5zdGFsbF91bnBhY2siPkluc3RhbGxhdGlvbjwvYT48L2xpPgoJPC9vbD4KPC9kaXY+Cgo8ZGl2IHN0eWxlPSdtYXJnaW4tYm90dG9tOjFlbTsnPjxiPklJSS4gVXNpbmcgTkJCQzwvYj4KCTxvbCBzdHlsZT0ibGlzdC1zdHlsZS10eXBlOnVwcGVyLWFscGhhIj4KCTxsaT48YSBocmVmPSJyZWFkbWUucGhwP3BhZ2U9dXNhZ2VfYmFzaWMiPllvdXIgRmlyc3QgTkJCQyBQcm9ncmFtPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0icmVhZG1lLnBocD9wYWdlPXVzYWdlX2hvdyI+SG93IGEgVHlwaWNhbCBOQkJDIFByb2dyYW0gV29ya3M8L2E+PC9saT4KCTxsaT48YSBocmVmPSJyZWFkbWUucGhwP3BhZ2U9dXNhZ2VfYWRkIj5BZGRpbmcgWW91ciBPd24gVGFnczwvYT48L2xpPgoJPGxpPjxhIGhyZWY9InJlYWRtZS5waHA/cGFnZT11c2FnZV9zbWlsZXkiPkFkZGluZyBZb3VyIE93biBTbWlsZXlzPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0icmVhZG1lLnBocD9wYWdlPXVzYWdlX2VuaCI+QWRkaW5nIEVuaGFuY2VkIFRhZ3M8L2E+PC9saT4KCTxsaT48YSBocmVmPSJyZWFkbWUucGhwP3BhZ2U9dXNhZ2VfY2FsbCI+QWRkaW5nIENhbGxiYWNrIFRhZ3M8L2E+PC9saT4KCTxsaT48YSBocmVmPSJyZWFkbWUucGhwP3BhZ2U9dXNhZ2Vfd2lraSI+U3VwcG9ydGluZyBXaWtpLUxpbmtzPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0icmVhZG1lLnBocD9wYWdlPXVzYWdlX2ltZyI+U3VwcG9ydGluZyBMb2NhbCBJbWFnZXM8L2E+PC9saT4KCTxsaT48YSBocmVmPSJyZWFkbWUucGhwP3BhZ2U9dXNhZ2VfaHRtbCI+UGFyc2luZy9WYWxpZGF0aW5nIEhUTUwgYW5kIE90aGVyIFRyaWNrczwvYT48L2xpPgoJPGxpPjxhIGhyZWY9InJlYWRtZS5waHA/cGFnZT11c2FnZV9saW1pdCI+TGltaXRlZC1MZW5ndGggYW5kIFBsYWluLU91dHB1dCBNb2RlczwvYT48L2xpPgoJPGxpPjxhIGhyZWY9InJlYWRtZS5waHA/cGFnZT11c2FnZV9hdXRvIj5VUkwgQXV0b2RldGVjdGlvbjwvYT48L2xpPgoJPGxpPjxhIGhyZWY9InJlYWRtZS5waHA/cGFnZT11c2FnZV9jc3MiPlN0eWxlcywgQ29sb3JzLCBhbmQgQ1NTIENvbnNpZGVyYXRpb25zPC9hPjwvbGk+Cgk8L29sPgo8L2Rpdj4KCjwvdGQ+PHRkPgoKPGRpdiBzdHlsZT0nbWFyZ2luLWJvdHRvbToxZW07Jz48Yj5JVi4gQVBJIFJlZmVyZW5jZTwvYj4KCTxvbCBzdHlsZT0ibGlzdC1zdHlsZS10eXBlOnVwcGVyLWFscGhhIj4KCTxsaT48YSBocmVmPSJyZWFkbWUucGhwP3BhZ2U9YXBpIj48Yj5BbHBoYWJldGljYWwgRnVuY3Rpb24gTGlzdDwvYj48L2E+PC9saT4KCTxsaT48YSBocmVmPSJyZWFkbWUucGhwP3BhZ2U9YXBpX2NvcmUiPkNvcmUgUGFyc2luZyBGdW5jdGlvbnM8L2E+PC9saT4KCTxsaT48YSBocmVmPSJyZWFkbWUucGhwP3BhZ2U9YXBpX2JlaHYiPkxhbmd1YWdlLUJlaGF2aW9yIEZ1bmN0aW9uczwvYT48L2xpPgoJPGxpPjxhIGhyZWY9InJlYWRtZS5waHA/cGFnZT1hcGlfdHJpbSI+Q29udGVudC1UcmltbWluZyBGdW5jdGlvbnM8L2E+PC9saT4KCTxsaT48YSBocmVmPSJyZWFkbWUucGhwP3BhZ2U9YXBpX3Jvb3QiPlJvb3QtQ2xhc3MgRnVuY3Rpb25zPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0icmVhZG1lLnBocD9wYWdlPWFwaV9ydWxlIj5SdWxlIEZ1bmN0aW9uczwvYT48L2xpPgoJPGxpPjxhIGhyZWY9InJlYWRtZS5waHA/cGFnZT1hcGlfd2lraSI+V2lraS1MaW5rIEZ1bmN0aW9uczwvYT48L2xpPgoJPGxpPjxhIGhyZWY9InJlYWRtZS5waHA/cGFnZT1hcGlfc21pbGV5Ij5TbWlsZXkgRnVuY3Rpb25zPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0icmVhZG1lLnBocD9wYWdlPWFwaV9yZXBsIj5SZXBsYWNlZC1JdGVtIEZ1bmN0aW9uczwvYT48L2xpPgoJPGxpPjxhIGhyZWY9InJlYWRtZS5waHA/cGFnZT1hcGlfbWlzYyI+TWlzY2VsbGFuZW91cyBTdXBwb3J0IEZ1bmN0aW9uczwvYT48L2xpPgoJPC9vbD4KPC9kaXY+Cgo8ZGl2IHN0eWxlPSdtYXJnaW4tYm90dG9tOjFlbTsnPjxiPlYuIFN0YW5kYXJkIEJCQ29kZSBMaWJyYXJ5PC9iPgoJPG9sIHN0eWxlPSJsaXN0LXN0eWxlLXR5cGU6dXBwZXItYWxwaGEiPgoJPGxpPjxhIGhyZWY9InJlYWRtZS5waHA/cGFnZT1iYmMiPjxiPkFscGhhYmV0aWNhbCBCQkNvZGUgTGlzdDwvYj48L2E+PC9saT4KCTxsaT48YSBocmVmPSJyZWFkbWUucGhwP3BhZ2U9YmJjX3RleHQiPlRleHQgU3R5bGVzPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0icmVhZG1lLnBocD9wYWdlPWJiY19saW5rIj5MaW5rczwvYT48L2xpPgoJPGxpPjxhIGhyZWY9InJlYWRtZS5waHA/cGFnZT1iYmNfcmVwbCI+UmVwbGFjZWQgSXRlbXM8L2E+PC9saT4KCTxsaT48YSBocmVmPSJyZWFkbWUucGhwP3BhZ2U9YmJjX2FsaWduIj5BbGlnbm1lbnQ8L2E+PC9saT4KCTxsaT48YSBocmVmPSJyZWFkbWUucGhwP3BhZ2U9YmJjX2NvbCI+Q29sdW1uczwvYT48L2xpPgoJPGxpPjxhIGhyZWY9InJlYWRtZS5waHA/cGFnZT1iYmNfY3RyIj5Db250YWluZXJzPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0icmVhZG1lLnBocD9wYWdlPWJiY19saXN0Ij5MaXN0czwvYT48L2xpPgoJPC9vbD4KPC9kaXY+Cgo8L3RkPjx0ZD4KCjxkaXYgc3R5bGU9J21hcmdpbi1ib3R0b206MWVtOyc+PGI+VkkuIEFwcGVuZGljZXM8L2I+Cgk8b2wgc3R5bGU9Imxpc3Qtc3R5bGUtdHlwZTp1cHBlci1hbHBoYSI+Cgk8bGk+PGEgaHJlZj0icmVhZG1lLnBocD9wYWdlPWFwcF9zbWlsZXkiPlN0YW5kYXJkIFNtaWxleXM8L2E+PC9saT4KCTxsaT48YSBocmVmPSJyZWFkbWUucGhwP3BhZ2U9YXBwX3J1bGUiPlJ1bGUgUGFyYW1ldGVyczwvYT48L2xpPgoJPGxpPjxhIGhyZWY9InJlYWRtZS5waHA/cGFnZT1hcHBfY2xhc3MiPkNvbnRlbnQgQ2xhc3NlczwvYT48L2xpPgoJPGxpPjxhIGhyZWY9InJlYWRtZS5waHA/cGFnZT1hcHBfZW5oZmxhZ3MiPlRlbXBsYXRlIEZsYWdzPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0icmVhZG1lLnBocD9wYWdlPWFwcF9leGFtcGxlIj5Db21tb24gUnVsZSBFeGFtcGxlczwvYT48L2xpPgoJPGxpPjxhIGhyZWY9InJlYWRtZS5waHA/cGFnZT1hcHBfY3NzIj5DU1MgRXhhbXBsZXM8L2E+PC9saT4KCTxsaT48YSBocmVmPSJyZWFkbWUucGhwP3BhZ2U9YXBwX2ludGVybmFscyI+SG93IHRoZSBQYXJzZXIgV29ya3M8L2E+PC9saT4KCTxsaT48YSBocmVmPSJyZWFkbWUucGhwP3BhZ2U9YXBwX3RhZ3BhcmFtcyI+VGFnIFBhcmFtZXRlcnM8L2E+PC9saT4KCTwvb2w+CjwvZGl2PgoKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT4K]]></data>
	</file>
	<file>
	  <filename>/docs/doc/src/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/docs/doc/src/api.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CjxwPlNlY3Rpb24gSVYgb2YgdGhlIG1hbnVhbCBjb21wbGV0ZWx5IGRvY3VtZW50cyB0aGUgcHVibGljIG1ldGhvZHMgb2YgdGhlIDx0dD5CQkNvZGU8L3R0PiBjbGFzcywKd2hpY2ggYXJlIGxpc3RlZCBiZWxvdyBpbiBjb25jZXB0dWFsIGdyb3VwaW5ncyBhbmQgaW4gYWxwaGFiZXRpY2FsIG9yZGVyLiAgQWxsIG1lbWJlcgp2YXJpYWJsZXMgb2YgdGhlIDx0dD5CQkNvZGU8L3R0PiBjbGFzcyBhcmUgcHJpdmF0ZSBhbmQgc2hvdWxkIG5vdCBiZSB0b3VjaGVkOyBsaWtld2lzZSwKYW55IG1ldGhvZCBvZiB0aGUgPHR0PkJCQ29kZTwvdHQ+IGNsYXNzIHdpdGggIjx0dD5JbnRlcm5hbF88L3R0PiIgaW4gaXRzIG5hbWUgc2hvdWxkCm5vdCBiZSB0b3VjaGVkIGVpdGhlci4gIFRoZSA8dHQ+QkJDb2RlTGV4ZXI8L3R0PiBhbmQgPHR0PkJCQ29kZUxpYnJhcnk8L3R0PiBjbGFzc2VzCmFyZSB1c2VkIGludGVybmFsbHkgYnkgdGhlIHBhcnNlciBhbmQgY29udGFpbiBubyBwdWJsaWMgaW50ZXJmYWNlcywgc28gdGhleSBhcmUgbm90CmRvY3VtZW50ZWQgaGVyZS48L3A+Cgo8dGFibGUgc3R5bGU9J2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTsnPjx0Ym9keT48dHI+PHRkIHN0eWxlPSdwYWRkaW5nLXJpZ2h0OjNlbTsnPgo8dWw+CjxsaT48Yj48YSBocmVmPSJhcGlfY29yZS5odG1sIiBzdHlsZT0iY29sb3I6IzAwMDsiPkNvcmUgUGFyc2luZyBGdW5jdGlvbnM6PC9hPjwvYj4KCTx1bD4KCTxsaT48YSBocmVmPSJhcGlfY29yZS5odG1sI3JlZl9wYXJzZXJfQkJDb2RlIj5CQkNvZGU6OkJCQ29kZTwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9jb3JlLmh0bWwjcmVmX3BhcnNlcl9QYXJzZSI+QkJDb2RlOjpQYXJzZTwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9jb3JlLmh0bWwjcmVmX3BhcnNlcl9Eb1RhZyI+QkJDb2RlOjpEb1RhZzwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9jb3JlLmh0bWwjcmVmX3BhcnNlcl9TZXREZWJ1ZyI+QkJDb2RlOjpTZXREZWJ1ZzwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9jb3JlLmh0bWwjcmVmX3BhcnNlcl9HZXREZWJ1ZyI+QkJDb2RlOjpHZXREZWJ1ZzwvYT48L2xpPgoJPC91bD4KPC9saT4KPGxpPjxiPjxhIGhyZWY9ImFwaV9iZWh2Lmh0bWwiIHN0eWxlPSJjb2xvcjojMDAwOyI+TGFuZ3VhZ2UtQmVoYXZpb3IgRnVuY3Rpb25zOjwvYT48L2I+Cgk8dWw+Cgk8bGk+PGEgaHJlZj0iYXBpX2JlaHYuaHRtbCNyZWZfcGFyc2VyX1NldFRhZ01hcmtlciI+QkJDb2RlOjpTZXRUYWdNYXJrZXI8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfYmVodi5odG1sI3JlZl9wYXJzZXJfR2V0VGFnTWFya2VyIj5CQkNvZGU6OkdldFRhZ01hcmtlcjwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9iZWh2Lmh0bWwjcmVmX3BhcnNlcl9TZXRBbGxvd0FtcGVyc2FuZCI+QkJDb2RlOjpTZXRBbGxvd0FtcGVyc2FuZDwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9iZWh2Lmh0bWwjcmVmX3BhcnNlcl9HZXRBbGxvd0FtcGVyc2FuZCI+QkJDb2RlOjpHZXRBbGxvd0FtcGVyc2FuZDwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9iZWh2Lmh0bWwjcmVmX3BhcnNlcl9TZXRJZ25vcmVOZXdsaW5lcyI+QkJDb2RlOjpTZXRJZ25vcmVOZXdsaW5lczwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9iZWh2Lmh0bWwjcmVmX3BhcnNlcl9HZXRJZ25vcmVOZXdsaW5lcyI+QkJDb2RlOjpHZXRJZ25vcmVOZXdsaW5lczwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9iZWh2Lmh0bWwjcmVmX3BhcnNlcl9TZXRQbGFpbk1vZGUiPkJCQ29kZTo6U2V0UGxhaW5Nb2RlPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX2JlaHYuaHRtbCNyZWZfcGFyc2VyX0dldFBsYWluTW9kZSI+QkJDb2RlOjpHZXRQbGFpbk1vZGU8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfYmVodi5odG1sI3JlZl9wYXJzZXJfU2V0TGltaXQiPkJCQ29kZTo6U2V0TGltaXQ8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfYmVodi5odG1sI3JlZl9wYXJzZXJfR2V0TGltaXQiPkJCQ29kZTo6R2V0TGltaXQ8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfYmVodi5odG1sI3JlZl9wYXJzZXJfU2V0TGltaXRQcmVjaXNpb24iPkJCQ29kZTo6U2V0TGltaXRQcmVjaXNpb248L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfYmVodi5odG1sI3JlZl9wYXJzZXJfR2V0TGltaXRQcmVjaXNpb24iPkJCQ29kZTo6R2V0TGltaXRQcmVjaXNpb248L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfYmVodi5odG1sI3JlZl9wYXJzZXJfU2V0TGltaXRUYWlsIj5CQkNvZGU6OlNldExpbWl0VGFpbDwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9iZWh2Lmh0bWwjcmVmX3BhcnNlcl9HZXRMaW1pdFRhaWwiPkJCQ29kZTo6R2V0TGltaXRUYWlsPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX2JlaHYuaHRtbCNyZWZfcGFyc2VyX1dhc0xpbWl0ZWQiPkJCQ29kZTo6V2FzTGltaXRlZDwvYT48L2xpPgoJPC91bD4KPC9saT4KPGxpPjxiPjxhIGhyZWY9ImFwaV90cmltLmh0bWwiIHN0eWxlPSJjb2xvcjojMDAwOyI+Q29udGVudC1UcmltbWluZyBGdW5jdGlvbnM6PC9hPjwvYj4KCTx1bD4KCTxsaT48YSBocmVmPSJhcGlfdHJpbS5odG1sI3JlZl9wYXJzZXJfU2V0UHJlVHJpbSI+QkJDb2RlOjpTZXRQcmVUcmltPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX3RyaW0uaHRtbCNyZWZfcGFyc2VyX0dldFByZVRyaW0iPkJCQ29kZTo6R2V0UHJlVHJpbTwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV90cmltLmh0bWwjcmVmX3BhcnNlcl9TZXRQb3N0VHJpbSI+QkJDb2RlOjpTZXRQb3N0VHJpbTwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV90cmltLmh0bWwjcmVmX3BhcnNlcl9HZXRQb3N0VHJpbSI+QkJDb2RlOjpHZXRQb3N0VHJpbTwvYT48L2xpPgoJPC91bD4KPC9saT4KPGxpPjxiPjxhIGhyZWY9ImFwaV9yb290Lmh0bWwiIHN0eWxlPSJjb2xvcjojMDAwOyI+Um9vdC1DbGFzcyBGdW5jdGlvbnM6PC9hPjwvYj4KCTx1bD4KCTxsaT48YSBocmVmPSJhcGlfcm9vdC5odG1sI3JlZl9wYXJzZXJfU2V0Um9vdElubGluZSI+QkJDb2RlOjpTZXRSb290SW5saW5lPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX3Jvb3QuaHRtbCNyZWZfcGFyc2VyX1NldFJvb3RCbG9jayI+QkJDb2RlOjpTZXRSb290QmxvY2s8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfcm9vdC5odG1sI3JlZl9wYXJzZXJfU2V0Um9vdCI+QkJDb2RlOjpTZXRSb290PC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX3Jvb3QuaHRtbCNyZWZfcGFyc2VyX0dldFJvb3QiPkJCQ29kZTo6R2V0Um9vdDwvYT48L2xpPgoJPC91bD4KPC9saT4KPGxpPjxiPjxhIGhyZWY9ImFwaV9ydWxlLmh0bWwiIHN0eWxlPSJjb2xvcjojMDAwOyI+UnVsZSBGdW5jdGlvbnM6PC9hPjwvYj4KCTx1bD4KCTxsaT48YSBocmVmPSJhcGlfcnVsZS5odG1sI3JlZl9wYXJzZXJfQWRkUnVsZSI+QkJDb2RlOjpBZGRSdWxlPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX3J1bGUuaHRtbCNyZWZfcGFyc2VyX1JlbW92ZVJ1bGUiPkJCQ29kZTo6UmVtb3ZlUnVsZTwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9ydWxlLmh0bWwjcmVmX3BhcnNlcl9HZXRSdWxlIj5CQkNvZGU6OkdldFJ1bGU8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfcnVsZS5odG1sI3JlZl9wYXJzZXJfQ2xlYXJSdWxlcyI+QkJDb2RlOjpDbGVhclJ1bGVzPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX3J1bGUuaHRtbCNyZWZfcGFyc2VyX0dldERlZmF1bHRSdWxlIj5CQkNvZGU6OkdldERlZmF1bHRSdWxlPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX3J1bGUuaHRtbCNyZWZfcGFyc2VyX1NldERlZmF1bHRSdWxlIj5CQkNvZGU6OlNldERlZmF1bHRSdWxlPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX3J1bGUuaHRtbCNyZWZfcGFyc2VyX0dldERlZmF1bHRSdWxlcyI+QkJDb2RlOjpHZXREZWZhdWx0UnVsZXM8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfcnVsZS5odG1sI3JlZl9wYXJzZXJfU2V0RGVmYXVsdFJ1bGVzIj5CQkNvZGU6OlNldERlZmF1bHRSdWxlczwvYT48L2xpPgoJPC91bD4KPC9saT4KPGxpPjxiPjxhIGhyZWY9ImFwaV93aWtpLmh0bWwiIHN0eWxlPSJjb2xvcjojMDAwOyI+V2lraS1MaW5rIEZ1bmN0aW9uczo8L2E+PC9iPgoJPHVsPgoJPGxpPjxhIGhyZWY9ImFwaV93aWtpLmh0bWwjcmVmX3BhcnNlcl9TZXRXaWtpVVJMIj5CQkNvZGU6OlNldFdpa2lVUkw8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfd2lraS5odG1sI3JlZl9wYXJzZXJfR2V0V2lraVVSTCI+QkJDb2RlOjpHZXRXaWtpVVJMPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX3dpa2kuaHRtbCNyZWZfcGFyc2VyX0dldERlZmF1bHRXaWtpVVJMIj5CQkNvZGU6OkdldERlZmF1bHRXaWtpVVJMPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX3dpa2kuaHRtbCNyZWZfcGFyc2VyX1dpa2lmeSI+QkJDb2RlOjpXaWtpZnk8L2E+PC9saT4KCTwvdWw+CjwvbGk+CjxsaT48Yj48YSBocmVmPSJhcGlfc21pbGV5Lmh0bWwiIHN0eWxlPSJjb2xvcjojMDAwOyI+U21pbGV5IEZ1bmN0aW9uczo8L2E+PC9iPgoJPHVsPgoJPGxpPjxhIGhyZWY9ImFwaV9zbWlsZXkuaHRtbCNyZWZfcGFyc2VyX0FkZFNtaWxleSI+QkJDb2RlOjpBZGRTbWlsZXk8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfc21pbGV5Lmh0bWwjcmVmX3BhcnNlcl9SZW1vdmVTbWlsZXkiPkJCQ29kZTo6UmVtb3ZlU21pbGV5PC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX3NtaWxleS5odG1sI3JlZl9wYXJzZXJfR2V0U21pbGV5Ij5CQkNvZGU6OkdldFNtaWxleTwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9zbWlsZXkuaHRtbCNyZWZfcGFyc2VyX0NsZWFyU21pbGV5cyI+QkJDb2RlOjpDbGVhclNtaWxleXM8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfc21pbGV5Lmh0bWwjcmVmX3BhcnNlcl9HZXREZWZhdWx0U21pbGV5Ij5CQkNvZGU6OkdldERlZmF1bHRTbWlsZXk8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfc21pbGV5Lmh0bWwjcmVmX3BhcnNlcl9TZXREZWZhdWx0U21pbGV5Ij5CQkNvZGU6OlNldERlZmF1bHRTbWlsZXk8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfc21pbGV5Lmh0bWwjcmVmX3BhcnNlcl9HZXREZWZhdWx0U21pbGV5cyI+QkJDb2RlOjpHZXREZWZhdWx0U21pbGV5czwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9zbWlsZXkuaHRtbCNyZWZfcGFyc2VyX1NldERlZmF1bHRTbWlsZXlzIj5CQkNvZGU6OlNldERlZmF1bHRTbWlsZXlzPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX3NtaWxleS5odG1sI3JlZl9wYXJzZXJfU2V0U21pbGV5RGlyIj5CQkNvZGU6OlNldFNtaWxleURpcjwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9zbWlsZXkuaHRtbCNyZWZfcGFyc2VyX0dldFNtaWxleURpciI+QkJDb2RlOjpHZXRTbWlsZXlEaXI8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfc21pbGV5Lmh0bWwjcmVmX3BhcnNlcl9HZXREZWZhdWx0U21pbGV5RGlyIj5CQkNvZGU6OkdldERlZmF1bHRTbWlsZXlEaXI8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfc21pbGV5Lmh0bWwjcmVmX3BhcnNlcl9TZXRTbWlsZXlVUkwiPkJCQ29kZTo6U2V0U21pbGV5VVJMPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX3NtaWxleS5odG1sI3JlZl9wYXJzZXJfR2V0U21pbGV5VVJMIj5CQkNvZGU6OkdldFNtaWxleVVSTDwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9zbWlsZXkuaHRtbCNyZWZfcGFyc2VyX0dldERlZmF1bHRTbWlsZXlVUkwiPkJCQ29kZTo6R2V0RGVmYXVsdFNtaWxleVVSTDwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9zbWlsZXkuaHRtbCNyZWZfcGFyc2VyX1NldEVuYWJsZVNtaWxleXMiPkJCQ29kZTo6U2V0RW5hYmxlU21pbGV5czwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9zbWlsZXkuaHRtbCNyZWZfcGFyc2VyX0dldEVuYWJsZVNtaWxleXMiPkJCQ29kZTo6R2V0RW5hYmxlU21pbGV5czwvYT48L2xpPgoJPC91bD4KPC9saT4KPGxpPjxiPjxhIGhyZWY9ImFwaV9yZXBsLmh0bWwiIHN0eWxlPSJjb2xvcjojMDAwOyI+UmVwbGFjZWQgSXRlbSBGdW5jdGlvbnM6PC9hPjwvYj4KCTx1bD4KCTxsaT48YSBocmVmPSJhcGlfcmVwbC5odG1sI3JlZl9wYXJzZXJfR2V0UnVsZUhUTUwiPkJCQ29kZTo6R2V0UnVsZUhUTUw8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfcmVwbC5odG1sI3JlZl9wYXJzZXJfU2V0UnVsZUhUTUwiPkJCQ29kZTo6U2V0UnVsZUhUTUw8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfcmVwbC5odG1sI3JlZl9wYXJzZXJfR2V0RGVmYXVsdFJ1bGVIVE1MIj5CQkNvZGU6OkdldERlZmF1bHRSdWxlSFRNTDwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9yZXBsLmh0bWwjcmVmX3BhcnNlcl9HZXRMb2NhbEltZ0RpciI+QkJDb2RlOjpHZXRMb2NhbEltZ0RpcjwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9yZXBsLmh0bWwjcmVmX3BhcnNlcl9TZXRMb2NhbEltZ0RpciI+QkJDb2RlOjpTZXRMb2NhbEltZ0RpcjwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9yZXBsLmh0bWwjcmVmX3BhcnNlcl9HZXREZWZhdWx0TG9jYWxJbWdEaXIiPkJCQ29kZTo6R2V0RGVmYXVsdExvY2FsSW1nRGlyPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX3JlcGwuaHRtbCNyZWZfcGFyc2VyX0dldExvY2FsSW1nVVJMIj5CQkNvZGU6OkdldExvY2FsSW1nVVJMPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX3JlcGwuaHRtbCNyZWZfcGFyc2VyX1NldExvY2FsSW1nVVJMIj5CQkNvZGU6OlNldExvY2FsSW1nVVJMPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX3JlcGwuaHRtbCNyZWZfcGFyc2VyX0dldERlZmF1bHRMb2NhbEltZ1VSTCI+QkJDb2RlOjpHZXREZWZhdWx0TG9jYWxJbWdVUkw8L2E+PC9saT4KCTwvdWw+CjwvbGk+CjxsaT48Yj48YSBocmVmPSJhcGlfbWlzYy5odG1sIiBzdHlsZT0iY29sb3I6IzAwMDsiPk1pc2NlbGxhbmVvdXMgU3VwcG9ydCBGdW5jdGlvbnM6PC9hPjwvYj4KCTx1bD4KCTxsaT48YSBocmVmPSJhcGlfbWlzYy5odG1sI3JlZl9wYXJzZXJfbmwyYnIiPkJCQ29kZTo6bmwyYnI8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfbWlzYy5odG1sI3JlZl9wYXJzZXJfSXNWYWxpZFVSTCI+QkJDb2RlOjpJc1ZhbGlkVVJMPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX21pc2MuaHRtbCNyZWZfcGFyc2VyX0lzVmFsaWRFbWFpbCI+QkJDb2RlOjpJc1ZhbGlkRW1haWw8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfbWlzYy5odG1sI3JlZl9wYXJzZXJfSFRNTEVuY29kZSI+QkJDb2RlOjpIVE1MRW5jb2RlPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX21pc2MuaHRtbCNyZWZfcGFyc2VyX0ZpeHVwT3V0cHV0Ij5CQkNvZGU6OkZpeHVwT3V0cHV0PC9hPjwvbGk+Cgk8L3VsPgo8L2xpPgo8L3VsPgo8L3RkPjx0ZCBzdHlsZT0ndmVydGljYWwtYWxpZ246dG9wOyc+Cjx1bD4KPGxpPjxiPkFscGhhYmV0aWNhbCBPcmRlcjo8L2I+Cgk8dWw+Cgk8bGk+PGEgaHJlZj0iYXBpX3J1bGUuaHRtbCNyZWZfcGFyc2VyX0FkZFJ1bGUiPkJCQ29kZTo6QWRkUnVsZTwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9zbWlsZXkuaHRtbCNyZWZfcGFyc2VyX0FkZFNtaWxleSI+QkJDb2RlOjpBZGRTbWlsZXk8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfY29yZS5odG1sI3JlZl9wYXJzZXJfQkJDb2RlIj5CQkNvZGU6OkJCQ29kZTwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9ydWxlLmh0bWwjcmVmX3BhcnNlcl9DbGVhclJ1bGVzIj5CQkNvZGU6OkNsZWFyUnVsZXM8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfc21pbGV5Lmh0bWwjcmVmX3BhcnNlcl9DbGVhclNtaWxleXMiPkJCQ29kZTo6Q2xlYXJTbWlsZXlzPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX2NvcmUuaHRtbCNyZWZfcGFyc2VyX0RvVGFnIj5CQkNvZGU6OkRvVGFnPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX21pc2MuaHRtbCNyZWZfcGFyc2VyX0ZpeHVwT3V0cHV0Ij5CQkNvZGU6OkZpeHVwT3V0cHV0PC9hPjxiciAvPjxiciAvPjwvbGk+CgoJPGxpPjxhIGhyZWY9ImFwaV9iZWh2Lmh0bWwjcmVmX3BhcnNlcl9HZXRBbGxvd0FtcGVyc2FuZCI+QkJDb2RlOjpHZXRBbGxvd0FtcGVyc2FuZDwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9jb3JlLmh0bWwjcmVmX3BhcnNlcl9HZXREZWJ1ZyI+QkJDb2RlOjpHZXREZWJ1ZzwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9yZXBsLmh0bWwjcmVmX3BhcnNlcl9HZXREZWZhdWx0TG9jYWxJbWdEaXIiPkJCQ29kZTo6R2V0RGVmYXVsdExvY2FsSW1nRGlyPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX3JlcGwuaHRtbCNyZWZfcGFyc2VyX0dldERlZmF1bHRMb2NhbEltZ1VSTCI+QkJDb2RlOjpHZXREZWZhdWx0TG9jYWxJbWdVUkw8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfcnVsZS5odG1sI3JlZl9wYXJzZXJfR2V0RGVmYXVsdFJ1bGUiPkJCQ29kZTo6R2V0RGVmYXVsdFJ1bGU8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfcmVwbC5odG1sI3JlZl9wYXJzZXJfR2V0RGVmYXVsdFJ1bGVIVE1MIj5CQkNvZGU6OkdldERlZmF1bHRSdWxlSFRNTDwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9ydWxlLmh0bWwjcmVmX3BhcnNlcl9HZXREZWZhdWx0UnVsZXMiPkJCQ29kZTo6R2V0RGVmYXVsdFJ1bGVzPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX3NtaWxleS5odG1sI3JlZl9wYXJzZXJfR2V0RGVmYXVsdFNtaWxleSI+QkJDb2RlOjpHZXREZWZhdWx0U21pbGV5PC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX3NtaWxleS5odG1sI3JlZl9wYXJzZXJfR2V0RGVmYXVsdFNtaWxleURpciI+QkJDb2RlOjpHZXREZWZhdWx0U21pbGV5RGlyPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX3NtaWxleS5odG1sI3JlZl9wYXJzZXJfR2V0RGVmYXVsdFNtaWxleXMiPkJCQ29kZTo6R2V0RGVmYXVsdFNtaWxleXM8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfc21pbGV5Lmh0bWwjcmVmX3BhcnNlcl9HZXREZWZhdWx0U21pbGV5VVJMIj5CQkNvZGU6OkdldERlZmF1bHRTbWlsZXlVUkw8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfd2lraS5odG1sI3JlZl9wYXJzZXJfR2V0RGVmYXVsdFdpa2lVUkwiPkJCQ29kZTo6R2V0RGVmYXVsdFdpa2lVUkw8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfc21pbGV5Lmh0bWwjcmVmX3BhcnNlcl9HZXRFbmFibGVTbWlsZXlzIj5CQkNvZGU6OkdldEVuYWJsZVNtaWxleXM8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfYmVodi5odG1sI3JlZl9wYXJzZXJfR2V0SWdub3JlTmV3bGluZXMiPkJCQ29kZTo6R2V0SWdub3JlTmV3bGluZXM8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfYmVodi5odG1sI3JlZl9wYXJzZXJfR2V0TGltaXQiPkJCQ29kZTo6R2V0TGltaXQ8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfYmVodi5odG1sI3JlZl9wYXJzZXJfR2V0TGltaXRQcmVjaXNpb24iPkJCQ29kZTo6R2V0TGltaXRQcmVjaXNpb248L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfYmVodi5odG1sI3JlZl9wYXJzZXJfR2V0TGltaXRUYWlsIj5CQkNvZGU6OkdldExpbWl0VGFpbDwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9yZXBsLmh0bWwjcmVmX3BhcnNlcl9HZXRMb2NhbEltZ0RpciI+QkJDb2RlOjpHZXRMb2NhbEltZ0RpcjwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9yZXBsLmh0bWwjcmVmX3BhcnNlcl9HZXRMb2NhbEltZ1VSTCI+QkJDb2RlOjpHZXRMb2NhbEltZ1VSTDwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV90cmltLmh0bWwjcmVmX3BhcnNlcl9HZXRQb3N0VHJpbSI+QkJDb2RlOjpHZXRQb3N0VHJpbTwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9iZWh2Lmh0bWwjcmVmX3BhcnNlcl9HZXRQbGFpbk1vZGUiPkJCQ29kZTo6R2V0UGxhaW5Nb2RlPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX3RyaW0uaHRtbCNyZWZfcGFyc2VyX0dldFByZVRyaW0iPkJCQ29kZTo6R2V0UHJlVHJpbTwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9yb290Lmh0bWwjcmVmX3BhcnNlcl9HZXRSb290Ij5CQkNvZGU6OkdldFJvb3Q8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfcnVsZS5odG1sI3JlZl9wYXJzZXJfR2V0UnVsZSI+QkJDb2RlOjpHZXRSdWxlPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX3JlcGwuaHRtbCNyZWZfcGFyc2VyX0dldFJ1bGVIVE1MIj5CQkNvZGU6OkdldFJ1bGVIVE1MPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX3NtaWxleS5odG1sI3JlZl9wYXJzZXJfR2V0U21pbGV5Ij5CQkNvZGU6OkdldFNtaWxleTwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9zbWlsZXkuaHRtbCNyZWZfcGFyc2VyX0dldFNtaWxleURpciI+QkJDb2RlOjpHZXRTbWlsZXlEaXI8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfc21pbGV5Lmh0bWwjcmVmX3BhcnNlcl9HZXRTbWlsZXlVUkwiPkJCQ29kZTo6R2V0U21pbGV5VVJMPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX2JlaHYuaHRtbCNyZWZfcGFyc2VyX0dldFRhZ01hcmtlciI+QkJDb2RlOjpHZXRUYWdNYXJrZXI8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfd2lraS5odG1sI3JlZl9wYXJzZXJfR2V0V2lraVVSTCI+QkJDb2RlOjpHZXRXaWtpVVJMPC9hPjxiciAvPjxiciAvPjwvbGk+CgoKCTxsaT48YSBocmVmPSJhcGlfbWlzYy5odG1sI3JlZl9wYXJzZXJfSFRNTEVuY29kZSI+QkJDb2RlOjpIVE1MRW5jb2RlPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX21pc2MuaHRtbCNyZWZfcGFyc2VyX0lzVmFsaWRVUkwiPkJCQ29kZTo6SXNWYWxpZFVSTDwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9taXNjLmh0bWwjcmVmX3BhcnNlcl9Jc1ZhbGlkRW1haWwiPkJCQ29kZTo6SXNWYWxpZEVtYWlsPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX21pc2MuaHRtbCNyZWZfcGFyc2VyX25sMmJyIj5CQkNvZGU6Om5sMmJyPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX2NvcmUuaHRtbCNyZWZfcGFyc2VyX1BhcnNlIj5CQkNvZGU6OlBhcnNlPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX3J1bGUuaHRtbCNyZWZfcGFyc2VyX1JlbW92ZVJ1bGUiPkJCQ29kZTo6UmVtb3ZlUnVsZTwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9zbWlsZXkuaHRtbCNyZWZfcGFyc2VyX1JlbW92ZVNtaWxleSI+QkJDb2RlOjpSZW1vdmVTbWlsZXk8L2E+PGJyIC8+PGJyIC8+PC9saT4KCQoJPGxpPjxhIGhyZWY9ImFwaV9iZWh2Lmh0bWwjcmVmX3BhcnNlcl9TZXRBbGxvd0FtcGVyc2FuZCI+QkJDb2RlOjpTZXRBbGxvd0FtcGVyc2FuZDwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9jb3JlLmh0bWwjcmVmX3BhcnNlcl9TZXREZWJ1ZyI+QkJDb2RlOjpTZXREZWJ1ZzwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9ydWxlLmh0bWwjcmVmX3BhcnNlcl9TZXREZWZhdWx0UnVsZXMiPkJCQ29kZTo6U2V0RGVmYXVsdFJ1bGVzPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX3NtaWxleS5odG1sI3JlZl9wYXJzZXJfU2V0RGVmYXVsdFNtaWxleSI+QkJDb2RlOjpTZXREZWZhdWx0U21pbGV5PC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX3NtaWxleS5odG1sI3JlZl9wYXJzZXJfU2V0RW5hYmxlU21pbGV5cyI+QkJDb2RlOjpTZXRFbmFibGVTbWlsZXlzPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX2JlaHYuaHRtbCNyZWZfcGFyc2VyX1NldElnbm9yZU5ld2xpbmVzIj5CQkNvZGU6OlNldElnbm9yZU5ld2xpbmVzPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX2JlaHYuaHRtbCNyZWZfcGFyc2VyX1NldExpbWl0Ij5CQkNvZGU6OlNldExpbWl0PC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX2JlaHYuaHRtbCNyZWZfcGFyc2VyX1NldExpbWl0UHJlY2lzaW9uIj5CQkNvZGU6OlNldExpbWl0UHJlY2lzaW9uPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX2JlaHYuaHRtbCNyZWZfcGFyc2VyX1NldExpbWl0VGFpbCI+QkJDb2RlOjpTZXRMaW1pdFRhaWw8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfcmVwbC5odG1sI3JlZl9wYXJzZXJfU2V0TG9jYWxJbWdEaXIiPkJCQ29kZTo6U2V0TG9jYWxJbWdEaXI8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfcmVwbC5odG1sI3JlZl9wYXJzZXJfU2V0TG9jYWxJbWdVUkwiPkJCQ29kZTo6U2V0TG9jYWxJbWdVUkw8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfYmVodi5odG1sI3JlZl9wYXJzZXJfU2V0UGxhaW5Nb2RlIj5CQkNvZGU6OlNldFBsYWluTW9kZTwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV90cmltLmh0bWwjcmVmX3BhcnNlcl9TZXRQb3N0VHJpbSI+QkJDb2RlOjpTZXRQb3N0VHJpbTwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV90cmltLmh0bWwjcmVmX3BhcnNlcl9TZXRQcmVUcmltIj5CQkNvZGU6OlNldFByZVRyaW08L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfcm9vdC5odG1sI3JlZl9wYXJzZXJfU2V0Um9vdCI+QkJDb2RlOjpTZXRSb290PC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX3Jvb3QuaHRtbCNyZWZfcGFyc2VyX1NldFJvb3RCbG9jayI+QkJDb2RlOjpTZXRSb290QmxvY2s8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfcm9vdC5odG1sI3JlZl9wYXJzZXJfU2V0Um9vdElubGluZSI+QkJDb2RlOjpTZXRSb290SW5saW5lPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX3JlcGwuaHRtbCNyZWZfcGFyc2VyX1NldFJ1bGVIVE1MIj5CQkNvZGU6OlNldFJ1bGVIVE1MPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX3NtaWxleS5odG1sI3JlZl9wYXJzZXJfU2V0U21pbGV5RGlyIj5CQkNvZGU6OlNldFNtaWxleURpcjwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9zbWlsZXkuaHRtbCNyZWZfcGFyc2VyX1NldFNtaWxleVVSTCI+QkJDb2RlOjpTZXRTbWlsZXlVUkw8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfYmVodi5odG1sI3JlZl9wYXJzZXJfU2V0VGFnTWFya2VyIj5CQkNvZGU6OlNldFRhZ01hcmtlcjwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV93aWtpLmh0bWwjcmVmX3BhcnNlcl9TZXRXaWtpVVJMIj5CQkNvZGU6OlNldFdpa2lVUkw8L2E+PGJyIC8+PGJyIC8+PC9saT4KCgk8bGk+PGEgaHJlZj0iYXBpX2JlaHYuaHRtbCNyZWZfcGFyc2VyX1dhc0xpbWl0ZWQiPkJCQ29kZTo6V2FzTGltaXRlZDwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV93aWtpLmh0bWwjcmVmX3BhcnNlcl9XaWtpZnkiPkJCQ29kZTo6V2lraWZ5PC9hPjwvbGk+Cgk8L3VsPgo8L2xpPgo8L3VsPgo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPgo=]]></data>
	</file>
	<file>
	  <filename>/docs/doc/src/api_behv.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CjxhIG5hbWU9InJlZl9wYXJzZXJfU2V0VGFnTWFya2VyIj48L2E+CjxkaXYgY2xhc3M9J2FwaSc+Cgk8ZGl2IGNsYXNzPSdhcGlfaGVhZCc+dm9pZCA8Yj5CQkNvZGU6OlNldFRhZ01hcmtlcjwvYj4gKCBzdHJpbmcgJDx0dD5tYXJrZXI8L3R0PiApPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfZGVzY3InPlRoaXMgZnVuY3Rpb24gY2hhbmdlcyBOQkJDJ3MgPGk+dGFnIG1hcmtlcjwvaT4sIHdoaWNoIGlzIHRoZSBjaGFyYWN0ZXIKCQl1c2VkIHRvIHNlcGFyYXRlIHRhZ3MgZnJvbSBjb250ZW50LiAgWW91IG1heSBzZXQgdGhpcyB0byBhbnkgb2YgJzx0dD5bPC90dD4nLAoJCSc8dHQ+Jmx0OzwvdHQ+JywgJzx0dD57PC90dD4nLCBvciAnPHR0Pig8L3R0PicuICBOQkJDIGFsbG93cyB5b3UgdG8gY2hhbmdlIHRoZSB0YWcKCQltYXJrZXIgc28gdGhhdCB5b3UgY2FuIHVzZSBpdCBpbiBtb3JlIGVudmlyb25tZW50cywgYW5kIHlvdSBjb3VsZCBldmVuIHVzZSBpdCBhcyBhbiBIVE1MCgkJdmFsaWRhdG9yLjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlBhcmFtZXRlcnM6PC9iPgoJCTx1bCBjbGFzcz0nYXBpX3BhcmFtcyc+CgkJPGxpPjx0dD48aT5tYXJrZXI8L2k+PC90dD46IFRoZSB0eXBlIG9mIHRhZyBtYXJrZXIgdG8gdXNlOyB0aGlzIG11c3QgYmUgb25lIG9mICc8dHQ+WzwvdHQ+JywKCQkJJzx0dD4mbHQ7PC90dD4nLCAnPHR0Pns8L3R0PicsIG9yICc8dHQ+KDwvdHQ+Jy4gIE90aGVyIHZhbHVlcyA8aT5tdXN0IG5vdDwvaT4gYmUKCQkJdXNlZCB3aXRoIHRoZSBjdXJyZW50IHZlcnNpb24gb2YgTkJCQy48L2xpPgoJCTwvdWw+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5Ob3RlOjwvYj4gIFRoZSBkZWZhdWx0IHRhZyBtYXJrZXIgaXMgb2J2aW91c2x5ICc8dHQ+WzwvdHQ+JyBzaW5jZQoJCU5CQkMgaXMgZGVzaWduZWQgdG8gcHJvY2VzcyBCQkNvZGUuICBJZiB5b3UgaW50ZW5kIHRvIHVzZSBOQkJDIHRvIHByb2Nlc3MgSFRNTCwgdGhvdWdoLAoJCXlvdSBzaG91bGQgbm90IG9ubHkgY2hhbmdlIHRoZSB0YWcgbWFya2VyLCBidXQgeW91IHNob3VsZCBhbHNvIGFsbG93IGFtcGVyc2FuZHMgd2l0aAoJCXRoZSA8YSBocmVmPSIjcmVmX3BhcnNlcl9TZXRBbGxvd0FtcGVyc2FuZCI+U2V0QWxsb3dBbXBlcnNhbmQoKTwvYT4gZnVuY3Rpb246ICBJZiB5b3UKCQlmb3JnZXQgdG8gYWxsb3cgYW1wZXJzYW5kcywgeW91ciB1c2VycyB3aWxsIGJlIHVuYWJsZSB0byBkaXNwbGF5ICZsdDsgYW5kICZndDsgY2hhcmFjdGVycwoJCWJlY2F1c2UgdGhlIGluaXRpYWwgJmFtcDsgdXNlZCBpbiBIVE1MIHRvIHJlcHJlc2VudCB0aGVtIChhcyBpbiB0aGUgY2FzZSBvZiA8dHQ+JmFtcDtsdDs8L3R0PgoJCWFuZCA8dHQ+JmFtcDtndDs8L3R0Pikgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gPHR0PiZhbXA7YW1wOzwvdHQ+IGluIHRoZSBvdXRwdXQuPGJyIC8+PGJyIC8+CgkJCgkJPGI+VmVyeSBpbXBvcnRhbnQgbm90ZTogVGhlIHRhZyBtYXJrZXIgY2Fubm90IGJlIGNoYW5nZWQgZHVyaW5nIGEgcGFyc2UhPC9iPgoJCVRoaXMgZnVuY3Rpb24gbXVzdCBub3QgYmUgY2FsbGVkIGJ5IGEgdGFnIGNhbGxiYWNrIGZ1bmN0aW9uOyBhbnkgY2hhbmdlcyB0byB0aGUKCQl0YWcgbWFya2VyIGR1cmluZyBhIDx0dD5QYXJzZSgpPC90dD4gd2lsbCBiZSBpZ25vcmVkIHVudGlsIHRoZSBuZXh0IHRpbWUgPHR0PlBhcnNlKCk8L3R0PgoJCWlzIGNhbGxlZC4KCTwvZGl2Pgo8L2Rpdj4KCjxhIG5hbWU9InJlZl9wYXJzZXJfR2V0VGFnTWFya2VyIj48L2E+CjxkaXYgY2xhc3M9J2FwaSc+Cgk8ZGl2IGNsYXNzPSdhcGlfaGVhZCc+c3RyaW5nIDxiPkJCQ29kZTo6R2V0VGFnTWFya2VyPC9iPiAoICk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9kZXNjcic+VGhpcyBmdW5jdGlvbiByZXR1cm5zIHRoZSBjdXJyZW50IHRhZyBtYXJrZXIuCgkJU2VlIDxhIGhyZWY9ImFwaV9iZWh2Lmh0bWwjcmVmX3BhcnNlcl9TZXRUYWdNYXJrZXIiPlNldFRhZ01hcmtlcigpPC9hPiBmb3IgbW9yZSBkZXRhaWxzLjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlJldHVybiB2YWx1ZXM6PC9iPiAgUmV0dXJucyBvbmUgb2YgJzx0dD5bPC90dD4nLAoJCSc8dHQ+Jmx0OzwvdHQ+JywgJzx0dD57PC90dD4nLCBvciAnPHR0Pig8L3R0PicuPC9kaXY+CjwvZGl2PgoKPGEgbmFtZT0icmVmX3BhcnNlcl9TZXRBbGxvd0FtcGVyc2FuZCI+PC9hPgo8ZGl2IGNsYXNzPSdhcGknPgoJPGRpdiBjbGFzcz0nYXBpX2hlYWQnPnZvaWQgPGI+QkJDb2RlOjpTZXRBbGxvd0FtcGVyc2FuZDwvYj4gKCBib29sICQ8dHQ+YWxsb3c8L3R0PiApPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfZGVzY3InPlRoaXMgZnVuY3Rpb24gZGV0ZXJtaW5lcyB3aGV0aGVyIGFtcGVyc2FuZHMgKHRoZSAnJmFtcDsnIGNoYXJhY3RlcikKCQlhcmUgY29udmVydGVkIHRvIDx0dD4mYW1wO2FtcDs8L3R0PiBpbiB0aGUgb3V0cHV0IG9yIHNlbnQgdG8gdGhlIG91dHB1dCB2ZXJiYXRpbS48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5QYXJhbWV0ZXJzOjwvYj4KCQk8dWwgY2xhc3M9J2FwaV9wYXJhbXMnPgoJCTxsaT48dHQ+PGk+YWxsb3c8L2k+PC90dD46ICBJZiBzZXQgdG8gZmFsc2UsIGFsbCAnJmFtcDsnIGNoYXJhY3RlcnMgYXJlIGNvbnZlcnRlZCB0bwoJCQkiPHR0PiZhbXA7YW1wOzwvdHQ+IjsgdGhpcyBpcyB0aGUgZGVmYXVsdCBiZWhhdmlvci4gIElmIHNldCB0byB0cnVlLCBhbGwgJyZhbXA7JwoJCQljaGFyYWN0ZXJzIGFyZSBsZWZ0IHVuY2hhbmdlZCBpbiB0aGUgb3V0cHV0LjwvbGk+CgkJPC91bD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPk5vdGU6PC9iPiAgVGhpcyBmdW5jdGlvbiBleGlzdHMgc28gdGhhdCB5b3UgY2FuIGFsbG93IHRoZSB1c2VyCgkJdG8gdHlwZSBIVE1MIGVudGl0aWVzIGxpa2UgJyZhbXA7bHQ7JyBkaXJlY3RseS4gIEJ5IGRlZmF1bHQsIGFueSB0aW1lIHRoZSB1c2VyIHR5cGVzIGFuICcmYW1wOycKCQljaGFyYWN0ZXIsIGl0IHdpbGwgYmUgdHVybmVkIGludG8gJyZhbXA7YW1wOyc7IGJ1dCBpZiB5b3UgYWxsb3cgYW1wZXJzYW5kcyB0byBwYXNzCgkJdGhyb3VnaCB1bmNoYW5nZWQsIHRoZSB1c2VyIGNhbiB0eXBlICcmYW1wO2VhY3V0ZTsnIGFuZCBnZXQgJyZhbXA7ZWFjdXRlOycgaW4gdGhlCgkJb3V0cHV0LCB0aHVzIGRpc3BsYXlpbmcgYXMgJyZlYWN1dGU7Jy4gIFRoaXMgaXMgZWZmZWN0aXZlbHkgYSBwYXNzLXRocm91Z2gsIGFsbG93aW5nCgkJdGhlIHVzZXIgdG8gZG8gSFRNTCB0aGluZ3MgdGhhdCB3b3VsZCBvdGhlcndpc2UgYmUgdW5zYWZlOyBidXQgaXQncyB2ZXJ5IGltcG9ydGFudAoJCXdoZW4gdGhlIHRhZyBtYXJrZXIgaXMgc2V0IHRvICcmbHQ7JywgYmVjYXVzZSBvdGhlcndpc2UgdGhlIHVzZXIgd291bGQgaGF2ZSBubwoJCXdheSB0byBkaXNwbGF5ICcmbHQ7JyBvciAnJmd0Oycgd2l0aG91dCB0aGVtIGJlaW5nIGNvbnZlcnRlZCB0byB0YWdzLjxiciAvPjxiciAvPgoJCQoJCU5vdGUgYWxzbyB0aGF0IGluIHRhZ3MgbWFya2VkIDx0dD5CQkNPREVfVkVSQkFUSU08L3R0PiwgdGhpcyBpcyB0ZW1wb3JhcmlseQoJCWRpc2FibGVkOiAgVGhlIHRhZyB3YW50cyBpdHMgZGF0YSB2ZXJiYXRpbSwgc28gaXQncyBnZXR0aW5nIGl0cyBkYXRhIHZlcmJhdGltLjxiciAvPjxiciAvPgoJPC9kaXY+CjwvZGl2PgoKPGEgbmFtZT0icmVmX3BhcnNlcl9HZXRBbGxvd0FtcGVyc2FuZCI+PC9hPgo8ZGl2IGNsYXNzPSdhcGknPgoJPGRpdiBjbGFzcz0nYXBpX2hlYWQnPmJvb2wgPGI+QkJDb2RlOjpHZXRBbGxvd0FtcGVyc2FuZDwvYj4gKCApPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfZGVzY3InPlRoaXMgZnVuY3Rpb24gcmV0dXJucyB0aGUgY3VycmVudCBhbGxvdy1hbXBlcnNhbmQgc3RhdGUuCgkJU2VlIDxhIGhyZWY9ImFwaV9iZWh2Lmh0bWwjcmVmX3BhcnNlcl9TZXRBbGxvd0FtcGVyc2FuZCI+U2V0QWxsb3dBbXBlcnNhbmQoKTwvYT4gZm9yIG1vcmUgZGV0YWlscy48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5SZXR1cm4gdmFsdWVzOjwvYj4gIFJldHVybnMgPHR0PnRydWU8L3R0PiBvciA8dHQ+ZmFsc2U8L3R0PiwgZGVwZW5kaW5nCgkJb24gd2hldGhlciBhbXBlcnNhbmRzIGFyZSBwYXNzZWQgdmVyYmF0aW0gdG8gdGhlIG91dHB1dC48L2Rpdj4KPC9kaXY+Cgo8YSBuYW1lPSJyZWZfcGFyc2VyX1NldElnbm9yZU5ld2xpbmVzIj48L2E+CjxkaXYgY2xhc3M9J2FwaSc+Cgk8ZGl2IGNsYXNzPSdhcGlfaGVhZCc+dm9pZCA8Yj5CQkNvZGU6OlNldElnbm9yZU5ld2xpbmVzPC9iPiAoIGJvb2wgJDx0dD5pZ25vcmU8L3R0PiApPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfZGVzY3InPlRoaXMgZnVuY3Rpb24gZGV0ZXJtaW5lcyB3aGV0aGVyIG5ld2xpbmVzCgkJYXJlIGNvbnZlcnRlZCB0byA8dHQ+Jmx0O2JyJm5ic3A7LyZndDs8L3R0PiBpbiB0aGUgb3V0cHV0IG9yIHNlbnQgdG8gdGhlIG91dHB1dCB2ZXJiYXRpbTsKCQlpbiBlZmZlY3QsIGl0IGFsbG93cyB5b3UgdG8gInR1cm4gb2ZmIiB0aGUgbm9ybWFsIHdheSB0aGF0IEJCQ29kZSBoYW5kbGVzIG5ld2xpbmVzCgkJYW5kIGhhdmUgYSBmdWxseSBmcmVlLWZvcm1hdHRlZCBsYW5ndWFnZS48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5QYXJhbWV0ZXJzOjwvYj4KCQk8dWwgY2xhc3M9J2FwaV9wYXJhbXMnPgoJCTxsaT48dHQ+PGk+aWdub3JlPC9pPjwvdHQ+OiAgSWYgc2V0IHRvIGZhbHNlLCBhbGwgbmV3bGluZXMgKGJlIHRoZXkgVW4qeC1zdHlsZSAiXG4iLCBvcgoJCQlXaW5kb3dzL0RPUy1zdHlsZSAiXHJcbiIgb3IgIlxuXHIiLCBvciBNYWMtc3R5bGUgIlxyIikgYXJlIGNvbnZlcnRlZCB0bwoJCQkiPHR0PiZsdDticiZuYnNwOy8mZ3Q7PC90dD4iOyB0aGlzIGlzIHRoZSBkZWZhdWx0IGJlaGF2aW9yLiAgSWYgc2V0IHRvIHRydWUsIGFsbAoJCQluZXdsaW5lcyBhcmUgY29udmVydGVkIHRvIFVuKngtc3R5bGUgbmV3bGluZXMgKCJcbiIpIGFuZCBwYXNzZWQgdG8gdGhlIG91dHB1dAoJCQl0aGUgc2FtZSBhcyBhbnkgb3RoZXIgd2hpdGVzcGFjZS48L2xpPgoJCTwvdWw+Cgk8L2Rpdj4KPC9kaXY+Cgo8YSBuYW1lPSJyZWZfcGFyc2VyX0dldElnbm9yZU5ld2xpbmVzIj48L2E+CjxkaXYgY2xhc3M9J2FwaSc+Cgk8ZGl2IGNsYXNzPSdhcGlfaGVhZCc+Ym9vbCA8Yj5CQkNvZGU6OkdldElnbm9yZU5ld2xpbmVzPC9iPiAoICk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9kZXNjcic+VGhpcyBmdW5jdGlvbiByZXR1cm5zIHRoZSBjdXJyZW50IGlnbm9yZS1uZXdsaW5lIHN0YXRlLgoJCVNlZSA8YSBocmVmPSJhcGlfYmVodi5odG1sI3JlZl9wYXJzZXJfU2V0SWdub3JlTmV3bGluZXMiPlNldElnbm9yZU5ld2xpbmVzKCk8L2E+IGZvciBtb3JlIGRldGFpbHMuPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UmV0dXJuIHZhbHVlczo8L2I+ICBSZXR1cm5zIDx0dD50cnVlPC90dD4gb3IgPHR0PmZhbHNlPC90dD4sIGRlcGVuZGluZwoJCW9uIHdoZXRoZXIgbmV3bGluZXMgYXJlIHRyZWF0ZWQgYXMgcGFyYWdyYXBoIGJyZWFrcyAoPHR0PmZhbHNlPC90dD4pIG9yIHdoZXRoZXIgdGhleSdyZSB0cmVhdGVkCgkJYXMgZ2VuZXJpYyB3aGl0ZXNwYWNlICg8dHQ+dHJ1ZTwvdHQ+KS48L2Rpdj4KPC9kaXY+Cgo8YSBuYW1lPSJyZWZfcGFyc2VyX1NldFBsYWluTW9kZSI+PC9hPgo8ZGl2IGNsYXNzPSdhcGknPgoJPGRpdiBjbGFzcz0nYXBpX2hlYWQnPnZvaWQgPGI+QkJDb2RlOjpTZXRQbGFpbk1vZGU8L2I+ICggYm9vbCAkPHR0PmVuYWJsZTwvdHQ+ICk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9kZXNjcic+VGhpcyBmdW5jdGlvbiB0dXJucyBvbiAicGxhaW4gbW9kZS4iICAgV2hlbiBOQkJDIGlzIGluICJwbGFpbiBtb2RlIiwKCQlpdCBvdXRwdXRzIHZlcnkgbGlnaHR3ZWlnaHQgSFRNTCBjb250ZW50LCB1c2luZyB0aGUgdGFncyBhcyBhIGd1aWRlLCBidXQgbm90IGFjdHVhbGx5IGNhbGxpbmcKCQlhbnkgb2YgdGhlbSBkaXJlY3RseS48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5QYXJhbWV0ZXJzOjwvYj4KCQk8dWwgY2xhc3M9J2FwaV9wYXJhbXMnPgoJCTxsaT48dHQ+PGk+ZW5hYmxlPC9pPjwvdHQ+OiAgSWYgc2V0IHRvIHRydWUsIGFsbCBwbGFpbiB0ZXh0IHdpbGwgYmUgY29waWVkIHZlcmJhdGltCgkJCXRvIHRoZSBvdXRwdXQsIGFuZCB0YWdzIHdpbGwgYmUgbW9zdGx5IGlnbm9yZWQsIHVzaW5nIG9ubHkgdGhlaXIgJzx0dD5wbGFpbl9zdGFydDwvdHQ+JwoJCQlhbmQgJzx0dD5wbGFpbl9lbmQ8L3R0PicgYW5kICc8dHQ+cGxhaW5fY29udGVudDwvdHQ+JyBtZW1iZXJzIGFzIGEgZ3VpZGVsaW5lIGZvcgoJCQlnZW5lcmF0aW5nIHRoZSBvdXRwdXQuICBJZiBzZXQgdG8gZmFsc2UgKHRoZSBkZWZhdWx0KSwgZnVsbCBCQkNvZGUtYW5kLUhUTUwgZm9ybWF0dGluZwoJCQlsb2dpYyB3aWxsIGJlIHVzZWQgZm9yIGFsbCB0YWdzLjwvbGk+CgkJPC91bD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm9fYmxvY2snPjxiPk5vdGU6PC9iPjxiciAvPgoJCTxiciAvPgoJCVBsYWluIG1vZGUgaXMgdXNlZnVsIGZvciBnZW5lcmF0aW5nIGEgbm9uLUhUTUwgb3IgbWluaW1hbC1IVE1MIGJ1dCBzdGlsbC1yZWFkYWJsZQoJCXJlcHJlc2VudGF0aW9uIG9mIHRoZSBpbnB1dCB0ZXh0IHF1aWNrbHksIHdpdGhvdXQgaGF2aW5nIHRvIHJlc29ydCB0byBicnV0ZS1mb3JjZQoJCXNvbHV0aW9ucyBsaWtlIDx0dD5zdHJpcF90YWdzKCk8L3R0Pi4gIFRoZSBvbmx5IEhUTUwgdGFncyBnZW5lcmF0ZWQgaW4gcGxhaW4gbW9kZQoJCXdpbGwgYmUgJmx0O2ImZ3Q7LCAmbHQ7aSZndDssICZsdDt1Jmd0OywgYW5kICZsdDthJm5ic3A7aHJlZj0iLi4uIiZndDsgdGFncy4gIE5ld2xpbmVzCgkJd2lsbCBiZSByZXRhaW5lZCBpbiB0aGUgb3V0cHV0LCBzbyBpZiB5b3Ugd2FudCB0byBkaXNwbGF5IHRoZW0sIGEgcXVpY2sgY2FsbCB0bwoJCTx0dD5ubDJicigpPC90dD4gd2lsbCBkbyB0aGUgam9iLiAgQWx0ZXJuYXRpdmVseSwgYSBmZXcgcXVpY2sgY2FsbHMgdG8gPHR0PnByZWdfcmVwbGFjZSgpPC90dD4KCQljYW4gdHVybiB5b3VyIHBsYWluLWphbmUgSFRNTCBpbnRvIHNpbXBsZSwgcmVhZGFibGUgcGxhaW4gdGV4dDoKCQkKCQk8ZGl2IGNsYXNzPSdjb2RlX2hlYWRlcic+Q29kZTo8L2Rpdj4KCQk8eG1wIGNsYXNzPSdjb2RlJz4vLyBDb252ZXJ0IHRoZSBpbnB1dCB0byBwbGFpbiBIVE1MIHdpdGggbGluZSBicmVha3MgaW50YWN0LgokYmJjb2RlLT5TZXRQbGFpbk1vZGUodHJ1ZSk7CiRvdXRwdXQgPSAkYmJjb2RlLT5QYXJzZSgkaW5wdXQpOwokb3V0cHV0ID0gJGJiY29kZS0+bmwyYnIoJG91dHB1dCk7CnByaW50ICRvdXRwdXQ7PC94bXA+CgoJCTxkaXYgY2xhc3M9J2NvZGVfaGVhZGVyJz5Db2RlOjwvZGl2PgoJCTx4bXAgY2xhc3M9J2NvZGUnPi8vIENvbnZlcnQgdGhlIGlucHV0IHRvICJwbGFpbiBIVE1MIi4uLgokYmJjb2RlLT5TZXRQbGFpbk1vZGUodHJ1ZSk7CiRvdXRwdXQgPSAkYmJjb2RlLT5QYXJzZSgkaW5wdXQpOwoKLy8gLi4uYW5kIGNvbnZlcnQgdG8gcGxhaW4gdGV4dCBieSBzdHJpcHBpbmcgdGhlIDxiPiwgPGk+LCA8dT4sIGFuZAovLyA8YT4gdGFncy4gIEp1c3QgZm9yIHRoZSBoZWNrIG9mIGl0LCB3ZSBkbyB3b3JkLXdyYXAgdG9vIHRvIG1ha2UgaXQKLy8gbG9vayBuaWNlIG9uIHRleHQgZGlzcGxheXMgYW5kIGxpbmUgcHJpbnRlcnMgYW5kIHNpbWlsYXIgYW5jaWVudAovLyBvdXRwdXQgZGV2aWNlcy4KJG91dHB1dCA9IHdvcmR3cmFwKCRiYmNvZGUtPlVuSFRNTEVuY29kZShzdHJpcF90YWdzKCRvdXRwdXQpKSk7CgpwcmludCAkb3V0cHV0OzwveG1wPgoJPC9kaXY+CjwvZGl2PgoKPGEgbmFtZT0icmVmX3BhcnNlcl9HZXRQbGFpbk1vZGUiPjwvYT4KPGRpdiBjbGFzcz0nYXBpJz4KCTxkaXYgY2xhc3M9J2FwaV9oZWFkJz5ib29sIDxiPkJCQ29kZTo6R2V0UGxhaW5Nb2RlPC9iPiAoICk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9kZXNjcic+VGhpcyBmdW5jdGlvbiByZXR1cm5zIHRoZSBjdXJyZW50IHBsYWluLW1vZGUgc3RhdGUuCgkJU2VlIDxhIGhyZWY9ImFwaV9iZWh2Lmh0bWwjcmVmX3BhcnNlcl9TZXRQbGFpbk1vZGUiPlNldFBsYWluTW9kZSgpPC9hPiBmb3IgbW9yZSBkZXRhaWxzLjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlJldHVybiB2YWx1ZXM6PC9iPiAgUmV0dXJucyA8dHQ+dHJ1ZTwvdHQ+IG9yIDx0dD5mYWxzZTwvdHQ+LCBkZXBlbmRpbmcKCQlvbiB3aGV0aGVyIHBsYWluLWphbmUgSFRNTCBpcyBnZW5lcmF0ZWQgYXMgb3V0cHV0ICg8dHQ+dHJ1ZTwvdHQ+KSBvciB3aGV0aGVyIEhUTUwgaXMgZ2VuZXJhdGVkCgkJYXMgb3V0cHV0ICg8dHQ+ZmFsc2U8L3R0PikuPC9kaXY+CjwvZGl2PgoKPGEgbmFtZT0icmVmX3BhcnNlcl9TZXRMaW1pdCI+PC9hPgo8ZGl2IGNsYXNzPSdhcGknPgoJPGRpdiBjbGFzcz0nYXBpX2hlYWQnPnZvaWQgPGI+QkJDb2RlOjpTZXRMaW1pdDwvYj4gKCBpbnQgJDx0dD5saW1pdDwvdHQ+ICk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9kZXNjcic+VGhpcyBmdW5jdGlvbiBlbmFibGVzIG91dHB1dC1saW1pdGluZy4gIFdoZW4gb3V0cHV0LWxpbWl0aW5nIGlzCgkJdHVybmVkIG9uLCBubyBtb3JlIHRoYW4gPHR0PiRsaW1pdDwvdHQ+IHBsYWluLXRleHQgY2hhcmFjdGVycyB3aWxsIGJlIGdlbmVyYXRlZCBpbgoJCXRoZSBvdXRwdXQgKHRhZ3MgbGlrZSAmbHQ7YiZndDsgYXJlIG5vdCBjb3VudGVkLCBidXQgdGhlaXIgY29udGVudCBpcyksIGFuZCB0aGUKCQlyZXN1bHRpbmcgb3V0cHV0IHdpbGwgYmUgYWx3YXlzIGJlIGJyb2tlbiBhdCB3aGl0ZXNwYWNlIG9yIGJlZm9yZS9hZnRlciBhIHRhZywgbmV2ZXIKCQlpbiB0aGUgbWlkZGxlIG9mIGEgd29yZC4gIEV2ZW4gaWYgb3V0cHV0IGlzIGxpbWl0ZWQsIGNvcnJlY3QgZm9ybWF0dGluZyBsb2dpYyB3aWxsCgkJYmUgYXBwbGllZDsgdGhlIG91dHB1dCB3aWxsIHN0aWxsIGJlIFhIVE1MIDEuMCBTdHJpY3QtY29tcGxpYW50LjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlBhcmFtZXRlcnM6PC9iPgoJCTx1bCBjbGFzcz0nYXBpX3BhcmFtcyc+CgkJPGxpPjx0dD48aT5saW1pdDwvaT48L3R0PjogIElmIHNldCB0byBub256ZXJvLCBubyBtb3JlIHRoYW4gdGhpcyBtYW55IHBsYWluLXRleHQKCQkJY2hhcmFjdGVycyB3aWxsIGJlIGdlbmVyYXRlZCBpbiB0aGUgb3V0cHV0LiAgSWYgc2V0IHRvIHplcm8sIHRoZXJlIGlzIG5vIGxpbWl0LjwvbGk+CgkJPC91bD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm9fYmxvY2snPjxiPk5vdGU6PC9iPjxiciAvPjxiciAvPgoJCVRoZSBwdXJwb3NlIG9mIHRoaXMgZnVuY3Rpb24gaXMgdG8gYWxsb3cgeW91IHRvIGdlbmVyYXRlIDxpPmV4Y2VycHRzPC9pPiBvZiB5b3VyCgkJdGV4dCwgc2hvcnQgaW5pdGlhbCBjaHVua3Mgb2YgdGhlIHRleHQgc3VpdGFibGUgZm9yIHVzZSBhcyB0aXRsZXMgb3IgYXMgYmx1cmJzIGluIGEKCQluZXdzIGJveCBvciBSU1MgZmVlZC4gIEl0IGRvZXMgPGk+bm90PC9pPiBleGlzdCB0byBzaW1wbHkgY2hvcCBvZmYgdGhlIG91dHB1dCBpbgoJCWFuIGV4YWN0aW5nIGZhc2hpb247IHJhdGhlciwgaXQgdHJpZXMgdG8gZ2VuZXJhdGUgc29tZXRoaW5nIHJlbGF0aXZlbHkgc2hvcnQsIG5lYXIKCQl5b3VyIHNpemUgbGltaXQsIHdoaWxlIHN0aWxsIG1haW50YWluaW5nIGZvcm1hdHRpbmcuICBJdCB3b3JrcyB2ZXJ5IHdlbGwgd2hlbiB1c2VkCgkJaW4gY29uanVuY3Rpb24gd2l0aCA8YSBocmVmPSIjcmVmX3BhcnNlcl9TZXRQbGFpbk1vZGUiPlNldFBsYWluTW9kZSgpPC9hPiwgd2hpY2gKCQl0b2dldGhlciBjYW4gb3V0cHV0IGEgc2hvcnQsIEhUTUwtZnJlZSBleGNlcnB0IG9mIGFueSBpbnB1dCB0ZXh0LgoJPC9kaXY+CjwvZGl2PgoKPGEgbmFtZT0icmVmX3BhcnNlcl9HZXRMaW1pdCI+PC9hPgo8ZGl2IGNsYXNzPSdhcGknPgoJPGRpdiBjbGFzcz0nYXBpX2hlYWQnPmludCA8Yj5CQkNvZGU6OkdldExpbWl0PC9iPiAoICk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9kZXNjcic+VGhpcyBmdW5jdGlvbiByZXR1cm5zIHRoZSBjdXJyZW50IG91dHB1dC1saW1pdCBsZW5ndGguCgkJU2VlIDxhIGhyZWY9ImFwaV9iZWh2Lmh0bWwjcmVmX3BhcnNlcl9TZXRMaW1pdCI+U2V0TGltaXQoKTwvYT4gZm9yIG1vcmUgZGV0YWlscy48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5SZXR1cm4gdmFsdWVzOjwvYj4gIFJldHVybnMgdGhlIG51bWJlciBvZiBjaGFyYWN0ZXJzIHRvIHdoaWNoCgkJdGhlIG91dHB1dCBpcyBsaW1pdGVkLCBvciB6ZXJvICgwKSBpZiB0aGVyZSBpcyBubyBsaW1pdC48L2Rpdj4KPC9kaXY+Cgo8YSBuYW1lPSJyZWZfcGFyc2VyX1NldExpbWl0UHJlY2lzaW9uIj48L2E+CjxkaXYgY2xhc3M9J2FwaSc+Cgk8ZGl2IGNsYXNzPSdhcGlfaGVhZCc+dm9pZCA8Yj5CQkNvZGU6OlNldExpbWl0UHJlY2lzaW9uPC9iPiAoIGZsb2F0ICQ8dHQ+cHJlYzwvdHQ+ICk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9kZXNjcic+V2hlbiBsaW1pdGluZyB0ZXh0LCBpdCdzIG9mdGVuIGRlc2lyYWJsZSB0byBhbGxvdyB0ZXh0IHRoYXQncwoJCXNsaWdodGx5IGxvbmdlciB0aGFuIHlvdXIgbGltaXQgdG8gcGFzcyB0aHJvdWdoOiAgRm9yIGV4YW1wbGUsIGN1dHRpbmcgb25lIHdvcmQKCQlvZmYgYW4gZW50aXJlIHBhcmFncmFwaCBpcyB3YXN0ZWZ1bCBhbmQgc2lsbHkuICBUaGlzIGZ1bmN0aW9uIGxldHMgeW91IGNvbnRyb2wKCQlob3cgYWNjdXJhdGUgdGhlIGxpbWl0aW5nIGlzLCB3aGV0aGVyIGl0IHdpbGwgY2hvcCB0aGluZ3MgZXhhY3RseSB3aGVyZSB5b3Ugc3BlY2lmeSwKCQlvciB3aGV0aGVyIHlvdSdyZSB3aWxsaW5nIHRvIGxldCBzb21lIHRleHQgc2xpcCB0aHJvdWdoIHRvIGdldCBhIGJldHRlciBhcHBlYXJhbmNlLjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlBhcmFtZXRlcnM6PC9iPgoJCTx1bCBjbGFzcz0nYXBpX3BhcmFtcyc+CgkJPGxpPjx0dD48aT5wcmVjPC9pPjwvdHQ+OiAgV2hhdCBhbW91bnQgb3ZlciB5b3VyIGxpbWl0IHlvdSdyZSB3aWxsaW5nIHRvIGFjY2VwdC4KCQkJRm9yIGV4YW1wbGUsIGlmIHlvdSdyZSB3aWxsaW5nIHRvIGFjY2VwdCB1cCB0byAxMCUgbW9yZSB0aGFuIHlvdXIgbGltaXQsCgkJCSQ8dHQ+cHJlYzwvdHQ+IHdvdWxkIGJlIDx0dD4wLjE8L3R0PjsgMjUlIG1vcmUgd291bGQgYmUgPHR0PjAuMjU8L3R0PjsgYW5kIHNvCgkJCW9uLiAgVGhlIGRlZmF1bHQgaXMgPHR0PjAuMTU8L3R0Piwgb3IgdXAgdG8gMTUlIG1vcmUgdGhhbiB5b3VyIGxpbWl0LiAgSWYKCQkJeW91IHdhbnQgdGhlIHRleHQgY2hvcHBlZCB2ZXJ5IGV4YWN0aW5nbHkgYXQgeW91ciBsaW1pdCwgdXNlIGEgJDx0dD5wcmVjPC90dD4KCQkJdmFsdWUgb2YgPHR0PjA8L3R0Pi48L2xpPgoJCTwvdWw+Cgk8L2Rpdj4KPC9kaXY+Cgo8YSBuYW1lPSJyZWZfcGFyc2VyX0dldExpbWl0UHJlY2lzaW9uIj48L2E+CjxkaXYgY2xhc3M9J2FwaSc+Cgk8ZGl2IGNsYXNzPSdhcGlfaGVhZCc+ZmxvYXQgPGI+QkJDb2RlOjpHZXRMaW1pdFByZWNpc2lvbjwvYj4gKCApPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfZGVzY3InPlRoaXMgZnVuY3Rpb24gcmV0dXJucyB0aGUgY3VycmVudCBvdXRwdXQtbGltaXQgcHJlY2lzaW9uLgoJCVNlZSA8YSBocmVmPSJhcGlfYmVodi5odG1sI3JlZl9wYXJzZXJfU2V0TGltaXRQcmVjaXNpb24iPlNldExpbWl0UHJlY2lzaW9uKCk8L2E+IGZvciBtb3JlIGRldGFpbHMuPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UmV0dXJuIHZhbHVlczo8L2I+ICBSZXR1cm5zIHRoZSBjdXJyZW50IG91dHB1dC1saW1pdCBwcmVjaXNpb24uPC9kaXY+CjwvZGl2PgoKPGEgbmFtZT0icmVmX3BhcnNlcl9TZXRMaW1pdFRhaWwiPjwvYT4KPGRpdiBjbGFzcz0nYXBpJz4KCTxkaXYgY2xhc3M9J2FwaV9oZWFkJz52b2lkIDxiPkJCQ29kZTo6U2V0TGltaXRUYWlsPC9iPiAoIHN0cmluZyAkPHR0PnRhaWw8L3R0PiApPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfZGVzY3InPldoZW4gbGltaXRpbmcgdGV4dCwgaXQncyBvZnRlbiBkZXNpcmFibGUgdG8gYXBwZW5kIHNvbWUga2luZAoJCW9mIHRleHQgdG8gdGhlIGVuZCBvZiBhIHN0cmluZyB0aGF0IGdldHMgY3V0IG9mZi4gIEZvciBleGFtcGxlLCB5b3UgbWF5IHdhbnQgdG8KCQlhZGQgIjx0dD4uLi48L3R0PiIgdG8gYSBzdHJpbmcgdG8gc2hvdyB0aGF0IGl0IGhhcyBiZWVuIGN1dC4gIFRoaXMgZnVuY3Rpb24gbGV0cwoJCXlvdSBzcGVjaWZ5IHdoYXQgZ2V0cyBhZGRlZCB0byBhIGNob3BwZWQtb2ZmIHN0cmluZy48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5QYXJhbWV0ZXJzOjwvYj4KCQk8dWwgY2xhc3M9J2FwaV9wYXJhbXMnPgoJCTxsaT48dHQ+PGk+dGFpbDwvaT48L3R0PjogIElmIHlvdXIgaW5wdXQgZ2V0cyB0cnVuY2F0ZWQsIHRoaXMgd2lsbCBiZSBhcHBlbmRlZAoJCQl0byB0aGUgZW5kIG9mIHRoZSBvdXRwdXQsIGJlZm9yZSBhbnkgY2xvc2luZyB0YWdzIGFuZCB3aGl0ZXNwYWNlLiAgVGhlCgkJCWRlZmF1bHQgdmFsdWUgaXMgIjx0dD4uLi48L3R0PiIsIGJ1dCBvdGhlciBjb21tb24gdmFsdWVzIGFyZSAiPHR0PiZuYnNwO1ttb3JlXTwvdHQ+IgoJCQlhbmQgIjx0dD4mbmJzcDtbY29udCdkXTwvdHQ+Ii4gIFRoZSB0YWlsIG11c3QgYmUgPGk+SFRNTDwvaT4sIG5vdCBwbGFpbi10ZXh0CgkJCW9yIEJCQ29kZS48L2xpPgoJCTwvdWw+Cgk8L2Rpdj4KPC9kaXY+Cgo8YSBuYW1lPSJyZWZfcGFyc2VyX0dldExpbWl0VGFpbCI+PC9hPgo8ZGl2IGNsYXNzPSdhcGknPgoJPGRpdiBjbGFzcz0nYXBpX2hlYWQnPnN0cmluZyA8Yj5CQkNvZGU6OkdldExpbWl0VGFpbDwvYj4gKCApPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfZGVzY3InPlRoaXMgZnVuY3Rpb24gcmV0dXJucyB0aGUgY3VycmVudCBvdXRwdXQtbGltaXQgdGFpbCBzdHJpbmcuCgkJU2VlIDxhIGhyZWY9ImFwaV9iZWh2Lmh0bWwjcmVmX3BhcnNlcl9TZXRMaW1pdFRhaWwiPlNldExpbWl0VGFpbCgpPC9hPiBmb3IgbW9yZSBkZXRhaWxzLjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlJldHVybiB2YWx1ZXM6PC9iPiAgUmV0dXJucyB0aGUgY3VycmVudCBvdXRwdXQtbGltaXQgdGFpbCBIVE1MLjwvZGl2Pgo8L2Rpdj4KCjxhIG5hbWU9InJlZl9wYXJzZXJfV2FzTGltaXRlZCI+PC9hPgo8ZGl2IGNsYXNzPSdhcGknPgoJPGRpdiBjbGFzcz0nYXBpX2hlYWQnPmJvb2wgPGI+QkJDb2RlOjpXYXNMaW1pdGVkPC9iPiAoICk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9kZXNjcic+VGhpcyBmdW5jdGlvbiByZXR1cm5zIHRydWUgaWYgdGhlIG1vc3QtcmVjZW50bHktZ2VuZXJhdGVkIG91dHB1dAoJCWZyb20gPGEgaHJlZj0iYXBpX2NvcmUuaHRtbCNyZWZfcGFyc2VyX1BhcnNlIj5QYXJzZSgpPC9hPiB3YXMgY3V0IG9mZiBhcyB0aGUgcmVzdWx0CgkJb2YgYW4gb3V0cHV0IGxpbWl0LiAgVGhpcyBwcm92aWRlcyB5b3Ugd2l0aCBhIHdheSB0byBkZXRlcm1pbmUgd2hldGhlciBvciBub3QgdGhlCgkJbGltaXQgd2FzIGFwcGxpZWQgdG8gdGhlIGlucHV0IG9yIHdhcyB1bm5lZWRlZC48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5SZXR1cm4gdmFsdWVzOjwvYj4gIFJldHVybnMgPHR0PnRydWU8L3R0PiBpZiB0aGUgb3V0cHV0IHdhcwoJCXRydW5jYXRlZCwgb3IgPHR0PmZhbHNlPC90dD4gaWYgdGhlIG91dHB1dCB3YXMgY29tcGxldGUuPC9kaXY+CjwvZGl2Pgo=]]></data>
	</file>
	<file>
	  <filename>/docs/doc/src/api_core.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CjxhIG5hbWU9InJlZl9wYXJzZXJfQkJDb2RlIj48L2E+CjxkaXYgY2xhc3M9J2FwaSc+Cgk8ZGl2IGNsYXNzPSdhcGlfaGVhZCc+PGI+QkJDb2RlOjpCQkNvZGU8L2I+ICggKTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2Rlc2NyJz5UaGlzIGlzIHRoZSBjb25zdHJ1Y3RvciBmb3IgdGhlIEJCQ29kZSBvYmplY3QuICBJdCBhc3NpZ25zIGRlZmF1bHQgdmFsdWVzCgkJdG8gYWxsIHNldHRpbmdzIGFuZCBjcmVhdGVzIGFsbCBhdHRhY2hlZCBvYmplY3RzIGxpa2UgdGhlIEJCQ29kZUxpYnJhcnkgb2JqZWN0LjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlBhcmFtZXRlcnM6PC9iPiAgTm9uZS48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5SZXR1cm4gVmFsdWU6PC9iPiAgTm9uZS48L2Rpdj4KPC9kaXY+Cgo8YSBuYW1lPSJyZWZfcGFyc2VyX1BhcnNlIj48L2E+CjxkaXYgY2xhc3M9J2FwaSc+Cgk8ZGl2IGNsYXNzPSdhcGlfaGVhZCc+c3RyaW5nIDxiPkJCQ29kZTo6UGFyc2U8L2I+ICggc3RyaW5nICQ8dHQ+c3RyaW5nPC90dD4gKTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2Rlc2NyJz5UaGlzIGZ1bmN0aW9uIGlzIHRoZSBwdWJsaWMgaW50ZXJmYWNlIHRvIHRoZSBjb3JlIEJCQ29kZQoJCXBhcnNlcjsgc3VwcGx5IHRoaXMgd2l0aCBCQkNvZGUgYXMgaW5wdXQsIGFuZCBpdCB3aWxsIHJldHVybiB0aGF0IEJCQ29kZSBjb252ZXJ0ZWQgdG8gSFRNTC48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5QYXJhbWV0ZXJzOjwvYj4KCQk8dWwgY2xhc3M9J2FwaV9wYXJhbXMnPgoJCTxsaT48dHQ+PGk+c3RyaW5nPC9pPjwvdHQ+OiBUaGUgc3RyaW5nIHRvIGJlIGNvbnZlcnRlZCBmcm9tIEJCQ29kZSB0byBIVE1MLjwvbGk+CgkJPC91bD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlJldHVybiBWYWx1ZTo8L2I+ICBBIHN0cmluZyBjb250YWluaW5nIEhUTUwgY29udmVydGVkIGZyb20gdGhlIGlucHV0IEJCQ29kZS48L2Rpdj4KPC9kaXY+Cgo8YSBuYW1lPSJyZWZfcGFyc2VyX0RvVGFnIj48L2E+CjxkaXYgY2xhc3M9J2FwaSc+Cgk8ZGl2IGNsYXNzPSdhcGlfaGVhZCc+c3RyaW5nIDxiPkJCQ29kZTo6RG9UYWc8L2I+ICggc3RyaW5nICQ8dHQ+YWN0aW9uPC90dD4gLCBzdHJpbmcgJDx0dD50YWdfbmFtZTwvdHQ+ICwKCQlzdHJpbmcgJDx0dD5kZWZhdWx0X3ZhbHVlPC90dD4gLCBhcnJheSAkPHR0PnBhcmFtczwvdHQ+ICwgc3RyaW5nICQ8dHQ+Y29udGVudHM8L3R0PiApPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfZGVzY3InPlRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIGJ5IHRoZSBwYXJzZXIgdG8gY2hlY2sgdGFncyBhbmQgdG8gY29udmVydCB0YWdzIGludG8gSFRNTC4KCQlJdCBpcyBjYWxsZWQgYXQgbW9zdCB0d2ljZSBmb3IgZWFjaCB0YWcuICBOb3JtYWxseSwgaXQgZGlzcGF0Y2hlcyB0aGUgY2hlY2tpbmcvY29udmVyc2lvbiBqb2IgdG8KCQlvdGhlciBmdW5jdGlvbnMsIGxpa2UgbGlicmFyeSBmdW5jdGlvbnMgYW5kIGNhbGxiYWNrIGZ1bmN0aW9ucywgYnV0IHlvdSBjYW4gb3ZlcnJpZGUgdGhpcwoJCWJlaGF2aW9yIGJ5IGluaGVyaXRpbmcgdGhlIEJCQ29kZSBjbGFzcyBhbmQgb3ZlcnJpZGluZyB0aGlzIGZ1bmN0aW9uLjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlBhcmFtZXRlcnM6PC9iPgoJCTx1bCBjbGFzcz0nYXBpX3BhcmFtcyc+CgkJPGxpPjx0dD48aT5hY3Rpb248L2k+PC90dD46IE9uZSBvZiA8dHQ+QkJDT0RFX0NIRUNLPC90dD4gb3IgPHR0PkJCQ09ERV9PVVRQVVQ8L3R0PiwgZGVwZW5kaW5nCgkJCW9uIHRoZSB0YXNrIHRvIGJlIHBlcmZvcm1lZC4gIElmIHRoaXMgaXMgPHR0PkJCQ09ERV9DSEVDSzwvdHQ+LCBEb1RhZygpIG11c3QgcmV0dXJuCgkJCTxpPnRydWU8L2k+IGlmIHRoZSBpbnB1dHMgYXJlIGFjY2VwdGFibGUsIG9yIDxpPmZhbHNlPC9pPiBpZiB0aGUgaW5wdXRzIGFyZSB1bmFjY2VwdGFibGU7CgkJCWlmIHRoaXMgaXMgPHR0PkJCQ09ERV9PVVRQVVQ8L3R0PiwgRG9UYWcoKSBtdXN0IHJldHVybiBhbiBIVE1MIHN0cmluZyB0aGF0IGNvbnRhaW5zCgkJCXRoZSBjb252ZXJ0ZWQgb3V0cHV0IG9mIHRoaXMgdGFnLjwvbGk+CgkJPGxpPjx0dD48aT50YWdfbmFtZTwvaT48L3R0PjogVGhlIG5hbWUgb2YgdGhlIHRhZyBiZWluZyBwcm9jZXNzZWQsIHdpdGhvdXQgc3Vycm91bmRpbmcgYnJhY2tldHMKCQkJb3IgYW4gZW5kLXRhZyBzbGFzaCAoLyksIGFzIGluICI8dHQ+YjwvdHQ+IiBvciAiPHR0PnF1b3RlPC90dD4iLjwvbGk+CgkJPGxpPjx0dD48aT5kZWZhdWx0X3ZhbHVlPC9pPjwvdHQ+OiBUaGUgZGVmYXVsdCB2YWx1ZSBvZiB0aGUgdGFnLiAgVGhlIGRlZmF1bHQgdmFsdWUgaXMgdGhlCgkJCXZhbHVlIGFzc2lnbmVkIHRvIHRoZSB0YWcgbmFtZSBpdHNlbGY7IGZvciBleGFtcGxlLCBpbiA8dHQ+W3F1b3RlPUpvaG5dPC90dD4sIHRoZSBkZWZhdWx0CgkJCXZhbHVlIGlzICI8dHQ+Sm9objwvdHQ+IiwgYnV0IGluIDx0dD5bcXVvdGUmbmJzcDtuYW1lPUpvaG5dPC90dD4gb3IgPHR0PltiXTwvdHQ+LCB0aGUgZGVmYXVsdAoJCQl2YWx1ZSBpcyB0aGUgZW1wdHkgc3RyaW5nLjwvbGk+CgkJPGxpPjx0dD48aT5wYXJhbXM8L2k+PC90dD46ICBUaGlzIGlzIGFuIGFycmF5IG9mIGtleSA9Jmd0OyB2YWx1ZSBwYXJhbWV0ZXJzIGdpdmVuIGluIHRoZSB0YWcuCgkJCUZvciBleGFtcGxlLCBpbiB0aGUgdGFnIDx0dD5bdGFnPSJmb28iJm5ic3A7YmFyPSJiYXoiJm5ic3A7Y2hvY29sYXRlPSJnb29kIl08L3R0PiwgdGhpcyBhcnJheSB3b3VsZCBiZTo8YnIgLz4KCQkJPHhtcCBzdHlsZT0nbWFyZ2luOjAnPiAgICBhcnJheSgKICAgICAgICAiX25hbWUiID0+ICJ0YWciLAogICAgICAgICJfZGVmYXVsdCIgPT4gImZvbyIsCiAgICAgICAgImJhciIgPT4gImJheiIsCiAgICAgICAgImNob2NvbGF0ZSIgPT4gImdvb2QiLAogICAgKTs8L3htcD4KCQkJVGhlICI8dHQ+X25hbWU8L3R0PiIgYW5kICI8dHQ+X2RlZmF1bHQ8L3R0PiIgcGFyYW1ldGVycyB3aWxsIGFsd2F5cyBiZSBwcmVzZW50IGluIHRoaXMKCQkJYXJyYXksIGFuZCB3aWxsIGFsd2F5cyBjb250YWluIHRoZSBzYW1lIHZhbHVlcyBhcyAkPHR0PnRhZ19uYW1lPC90dD4gYW5kICQ8dHQ+ZGVmYXVsdF92YWx1ZTwvdHQ+LjwvbGk+CgkJPGxpPjx0dD48aT5jb250ZW50czwvaT48L3R0PjogIFRoaXMgcGFyYW1ldGVyIGlzIDxpPm9ubHk8L2k+IHZhbGlkIGR1cmluZyA8dHQ+QkJDT0RFX09VVFBVVDwvdHQ+OwoJCQlkdXJpbmcgPHR0PkJCQ09ERV9DSEVDSzwvdHQ+IGl0IHdpbGwgYWx3YXlzIGJlIHRoZSBlbXB0eSBzdHJpbmcuICBUaGlzIHBhcmFtZXRlciBjb250YWlucwoJCQl0aGUgImNvbnRlbnRzIiBvZiB0aGUgdGFnLCB0aGUgdGV4dCBiZXR3ZWVuIHRoZSBzdGFydCB0YWcgYW5kIGl0cyBtYXRjaGluZyBlbmQgdGFnLiAgRm9yCgkJCWV4YW1wbGUsIHdpdGggdGhpcyBpbnB1dDo8YnIgLz4KCQkJPHR0PiAmbmJzcDsgJm5ic3A7IFtiXVRoZSBxdWljayBicm93biAiZm94IiBqdW1wcyBvdmVyIHRoZSBsYXp5IGRvZy5bL2JdPC90dD48YnIgLz4KCQkJZHVyaW5nIDx0dD5CQkNPREVfT1VUUFVUPC90dD4sIHRoZSAkPHR0PmNvbnRlbnRzPC90dD4gcGFyYW1ldGVyIHdpbGwgYmUgc2V0IHRvOjxiciAvPgoJCQk8dHQ+ICZuYnNwOyAmbmJzcDsgVGhlIHF1aWNrIGJyb3duICZhbXA7cXVvdDtmb3gmYW1wO3F1b3Q7IGp1bXBzIG92ZXIgdGhlIGxhenkgZG9nLjwvdHQ+PGJyIC8+CgkJCVRoaXMgcGFyYW1ldGVyIGlzIGFsd2F5cyBlaXRoZXIgdGhlIGVtcHR5IHN0cmluZyBvciBmdWxseS12YWxpZGF0ZWQgSFRNTCBjb250ZW50cy48L2xpPgoJCTwvdWw+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5SZXR1cm4gVmFsdWU6PC9iPiAgRm9yIDx0dD5CQkNPREVfQ0hFQ0s8L3R0PiwgdGhpcyBtdXN0IHJldHVybiA8aT50cnVlPC9pPiBpZgoJCXRoZSBkZWZhdWx0IHZhbHVlIGFuZCBwYXJhbWV0ZXJzIGFyZSBhY2NlcHRhYmxlLCBvciA8aT5mYWxzZTwvaT4gaWYgdGhleSdyZSBtYWxmb3JtZWQuICBGb3IKCQk8dHQ+QkJDT0RFX09VVFBVVDwvdHQ+LCB0aGlzIG11c3QgcmV0dXJuIGNsZWFuIEhUTUwgb3V0cHV0IHRleHQuPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+V2FybmluZzo8L2I+ICBUaGlzIGZ1bmN0aW9uIGlzIHBhcnQgb2YgTkJCQydzIGludGVybmFsIHBhcnNlci4gIEl0IGlzIGV4cG9zZWQKCQlhbmQgZG9jdW1lbnRlZCBzbyB0aGF0IHlvdSBjYW4gaW5oZXJpdCBhbmQgb3ZlcnJpZGUgaXRzIGJlaGF2aW9yIGlmIHlvdSB3YW50LCBzaG91bGQKCQl5b3Ugd2FudCBleG90aWMgdGFnIHByb2Nlc3NpbmcgdGhhdCBOQkJDIGRvZXMgbm90IHBlcmZvcm0gYnkgZGVmYXVsdDsgaG93ZXZlciwKCQliZSBhd2FyZSB0aGF0IGJ5IGNoYW5naW5nIHRoaXMgeW91IGFyZSBjaGFuZ2luZyBOQkJDJ3MgaW50ZXJuYWxzLCBzbyBiZSBjYXJlZnVsLjwvZGl2Pgo8L2Rpdj4KCjxhIG5hbWU9InJlZl9wYXJzZXJfU2V0RGVidWciPjwvYT4KPGRpdiBjbGFzcz0nYXBpJz4KCTxkaXYgY2xhc3M9J2FwaV9oZWFkJz52b2lkIDxiPkJCQ29kZTo6U2V0RGVidWc8L2I+ICggYm9vbCAkPHR0PmVuYWJsZTwvdHQ+ICk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9kZXNjcic+VGhpcyBmdW5jdGlvbiBlbmFibGVzIE5CQkMncyBidWlsdC1pbiA8aT5kZWJ1ZyBtb2RlPC9pPi4gIFdoZW4gaW4gZGVidWcgbW9kZSwKCQlOQkJDIHdpbGwgZHVtcCA8aT5odWdlPC9pPiBxdWFudGl0aWVzIG9mIGRhdGEgdG8gdGhlIGJyb3dzZXIgdG8gaW5kaWNhdGUgd2hhdCBpdCBpcyBkb2luZwoJCXdoZW4gaXQgcGFyc2VzIGEgZ2l2ZW4gY2h1bmsgb2YgaW5wdXQgKGl0J3Mgbm90IHVudXN1YWwgZm9yIGEgc2luZ2xlIGxpbmUgb2YgQkJDb2RlIGlucHV0CgkJdG8gcHJvZHVjZSBzZXZlcmFsIDxpPnBhZ2VzPC9pPiBvZiBkZWJ1ZyBvdXRwdXQpLiAgVGhpcyBpcyB1c2VmdWwgaWYgeW91IHRoaW5rIE5CQkMgaXMKCQltaXNiZWhhdmluZywgb3IgaWYgeW91J3JlIGFkZGluZyBhIHRhZyBvZiB5b3VyIG93biBhbmQgdHJ5aW5nIHRvIGZpZ3VyZSBvdXQgd2h5IGl0IGlzIG9yCgkJaXMgbm90IHdvcmtpbmcgY29ycmVjdGx5LiAgWW91IHNob3VsZCA8aT5ub3Q8L2k+IGVuYWJsZSBkZWJ1ZyBtb2RlIGluIHByb2R1Y3Rpb24gZW52aXJvbm1lbnRzLjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlBhcmFtZXRlcnM6PC9iPgoJCTx1bCBjbGFzcz0nYXBpX3BhcmFtcyc+CgkJPGxpPjx0dD48aT5lbmFibGU8L2k+PC90dD46IFdoZXRoZXIgdG8gdHVybiBkZWJ1ZyBtb2RlIG9uIG9yIG9mZjsgaWYgdGhpcyBwYXJhbWV0ZXIgaXMgPGk+dHJ1ZTwvaT4sCgkJCWRlYnVnIG1vZGUgd2lsbCBiZSBlbmFibGVkIGFuZCBodWdlIHF1YW50aXRpZXMgb2YgZGVidWdnaW5nIGluZm9ybWF0aW9uIHdpbGwgYmUgZHVtcGVkIHRvIHRoZQoJCQlicm93c2VyOyBpZiB0aGlzIHBhcmFtZXRlciBpcyA8aT5mYWxzZTwvaT4sIG5vIGRlYnVnZ2luZyBpbmZvcm1hdGlvbiB3aWxsIGJlIGRpc3BsYXllZC48L2xpPgoJCTwvdWw+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5Ob3RlOjwvYj4gIERlYnVnIG1vZGUgaXMgZGlzYWJsZWQgYnkgZGVmYXVsdCwgYW5kIGlzIG9ubHkgYXZhaWxhYmxlIGlmCgkJeW91IHVzZSB0aGUgbXVsdGktZmlsZSB2ZXJzaW9uIG9mIE5CQkMgKDx0dD5uYmJjX21haW4ucGhwPC90dD4sIDx0dD5uYmJjX3BhcnNlLnBocDwvdHQ+LAoJCTx0dD5uYmJjX2xleC5waHA8L3R0PiwgZXRjLik6ICBJbiB0aGUgY29tcHJlc3NlZCB2ZXJzaW9uIG9mIE5CQkMgKDx0dD5uYmJjLnBocDwvdHQ+KSwKCQlhbGwgZGVidWdnaW5nIGNvZGUgaGFzIGJlZW4gcmVtb3ZlZCB0byBtYWtlIHRoZSBjb2RlIHNtYWxsZXIgYW5kIGZhc3Rlci4gIFRoaXMgZnVuY3Rpb24KCQlhbmQgR2V0RGVidWcoKSBzdGlsbCBib3RoIGV4aXN0IGluIHRoZSBjb21wcmVzc2VkIHZlcnNpb24sIGJ1dCByZWdhcmRsZXNzIG9mIHRoZSBzdGF0ZQoJCW9mIHRoZSBkZWJ1ZyBmbGFnLCBjb21wcmVzc2VkIE5CQkMgd2lsbCBub3QgZGlzcGxheSBhbnkgZGVidWdnaW5nIGluZm9ybWF0aW9uLgoJPC9kaXY+CjwvZGl2PgoKPGEgbmFtZT0icmVmX3BhcnNlcl9HZXREZWJ1ZyI+PC9hPgo8ZGl2IGNsYXNzPSdhcGknPgoJPGRpdiBjbGFzcz0nYXBpX2hlYWQnPmJvb2wgPGI+QkJDb2RlOjpHZXREZWJ1ZzwvYj4gKCApPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfZGVzY3InPlRoaXMgZnVuY3Rpb24gcmV0dXJucyB0aGUgY3VycmVudCBzdGF0ZSBvZiBOQkJDJ3MgYnVpbHQtaW4gPGk+ZGVidWcgbW9kZTwvaT4uCgkJU2VlIDxhIGhyZWY9ImFwaV9jb3JlLmh0bWwjcmVmX3BhcnNlcl9TZXREZWJ1ZyI+U2V0RGVidWcoKTwvYT4gZm9yIG1vcmUgZGV0YWlscy48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5SZXR1cm4gdmFsdWVzOjwvYj4gIFJldHVybnMgPGk+dHJ1ZTwvaT4gb3IgPGk+ZmFsc2U8L2k+LCBkZXBlbmRpbmcgb24KCQl3aGV0aGVyIGRlYnVnIG1vZGUgaXMgZW5hYmxlZC48L2Rpdj4KPC9kaXY+Cg==]]></data>
	</file>
	<file>
	  <filename>/docs/doc/src/api_misc.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CjxhIG5hbWU9InJlZl9wYXJzZXJfbmwyYnIiPjwvYT4KPGRpdiBjbGFzcz0nYXBpJz4KCTxkaXYgY2xhc3M9J2FwaV9oZWFkJz5zdHJpbmcgPGI+QkJDb2RlOjpubDJicjwvYj4gKCBzdHJpbmcgJDx0dD5pbnB1dDwvdHQ+ICk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9kZXNjcic+VGhpcyBmdW5jdGlvbiBpcyBuZWFybHkgaWRlbnRpY2FsIHRvIFBIUCdzIGJ1aWx0LWluIDx0dD48YSBocmVmPSJodHRwOi8vd3d3LnBocC5uZXQvbmwyYnIiPm5sMmJyKCk8L2E+PC90dD4KCQlmdW5jdGlvbjsgaG93ZXZlciwgdW5saWtlIHRoZSBidWlsdC1pbiBmdW5jdGlvbiwgdGhpcyBjb3JyZWN0bHkgaGFuZGxlcyBhbGwgZm91ciBtYWpvciBmb3JtcyBvZgoJCWxpbmUgYnJlYWtzIChXaW5kb3dzICJcclxuIiBhbmQgIlxuXHIiOyBVbip4ICJcbiI7IGFuZCBNYWMgIlxyIiksIGFuZCBhbHdheXMgZ2VuZXJhdGVzCgkJIjx0dD4mbHQ7YnIgLyZndDs8L3R0PiIgYXMgaXRzIG91dHB1dCwgbWFraW5nIGl0IFhIVE1MLXNhZmUuICBJbiBnZW5lcmFsLCB5b3Ugc2hvdWxkCgkJYWx3YXlzIHByZWZlciB0aGlzIG92ZXIgdGhlIGJ1aWx0LWluIGZ1bmN0aW9uOyB3aGlsZSB0aGUgYnVpbHQtaW4gZnVuY3Rpb24gaXMgc29tZXdoYXQKCQlmYXN0ZXIsIHRoaXMgeWllbGRzIG1vcmUgY29ycmVjdCwgbW9yZSBjb21wYXRpYmxlIGJlaGF2aW9yLjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlBhcmFtZXRlcnM6PC9iPgoJCTx1bD4KCQk8bGk+PGk+aW5wdXQ8L2k+OiBUaGUgc3RyaW5nIHRvIGNvbnZlcnQuPC9saT4KCQk8L3VsPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UmV0dXJuIFZhbHVlOjwvYj4gIEFuIGlkZW50aWNhbCBzdHJpbmcsIHdoZXJlIGFsbCBuZXdsaW5lcyBoYXZlCgkJYmVlbiByZXBsYWNlZCB3aXRoIFhIVE1MLWNvbXBhdGlibGUgIjx0dD4mbHQ7YnIgLyZndDs8L3R0PiIgZWxlbWVudHMuPC9kaXY+CjwvZGl2PgoKPGEgbmFtZT0icmVmX3BhcnNlcl9Jc1ZhbGlkVVJMIj48L2E+CjxkaXYgY2xhc3M9J2FwaSc+Cgk8ZGl2IGNsYXNzPSdhcGlfaGVhZCc+Ym9vbCA8Yj5CQkNvZGU6OklzVmFsaWRVUkw8L2I+ICggc3RyaW5nICQ8dHQ+YWRkcmVzczwvdHQ+ICk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9kZXNjcic+VGhpcyBmdW5jdGlvbiB0ZXN0cyB0aGUgaW5wdXQgc3RyaW5nIHRvIHNlZSBpZiBpdCBpcyBhIGxlZ2FsCgkJVVJMLiAgQSBsZWdhbCBVUkwgbXVzdCBlaXRoZXIgYmUgYSByZWxhdGl2ZSBVUkwsIGluIHdoaWNoIGNhc2UgaXQgaGFzIG5vIHByb3RvY29sCgkJaWRlbnRpZmllciwgb3IgbXVzdCBjb250YWluIHRoZSA8dHQ+aHR0cDo8L3R0PiBvciA8dHQ+aHR0cHM6PC90dD4gb3IgPHR0PmZ0cDo8L3R0PgoJCXByb3RvY29sIGlkZW50aWZpZXJzIGZvbGxvd2VkIGJ5IGEgbGVnYWwgZG9tYWluIG5hbWUgb3IgSVAgYWRkcmVzcy48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5QYXJhbWV0ZXJzOjwvYj4KCQk8dWw+CgkJPGxpPjxpPmFkZHJlc3M8L2k+OiBUaGUgc3RyaW5nIHRvIHRlc3QuPC9saT4KCQk8L3VsPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UmV0dXJuIFZhbHVlOjwvYj4gIFRydWUgaWYgdGhpcyBpcyBhIGxlZ2FsIFVSTDsgZmFsc2UgaWYKCQl0aGlzIGlzIGFuIGlsbGVnYWwgVVJMLjwvZGl2Pgo8L2Rpdj4KCjxhIG5hbWU9InJlZl9wYXJzZXJfSXNWYWxpZEVtYWlsIj48L2E+CjxkaXYgY2xhc3M9J2FwaSc+Cgk8ZGl2IGNsYXNzPSdhcGlfaGVhZCc+Ym9vbCA8Yj5CQkNvZGU6OklzVmFsaWRFbWFpbDwvYj4gKCBzdHJpbmcgJDx0dD5hZGRyZXNzPC90dD4gKTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2Rlc2NyJz5UaGlzIGZ1bmN0aW9uIHRlc3RzIHRoZSBpbnB1dCBzdHJpbmcgdG8gc2VlIGlmIGl0IGlzIGEgbGVnYWwKCQllLW1haWwgYWRkcmVzcy4gIEEgbGVnYWwgZS1tYWlsIGFkZHJlc3MgbXVzdCBmb2xsb3cgdGhlIHJ1bGVzIGRlZmluZWQgaW4gdGhlCgkJU01UUCBSRkM6ICBJdCBtdXN0IHN0YXJ0IHdpdGggYSB1c2VyJ3MgbmFtZSwgdGhhdCBmb2xsb3dlZCB3aXRoIGFuIEAgc2lnbiwgYW5kIGVuZAoJCXdpdGggYSBsZWdhbCBkb21haW4gbmFtZSBvciBJUCBhZGRyZXNzLjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlBhcmFtZXRlcnM6PC9iPgoJCTx1bD4KCQk8bGk+PGk+YWRkcmVzczwvaT46IFRoZSBzdHJpbmcgdG8gdGVzdC48L2xpPgoJCTwvdWw+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5SZXR1cm4gVmFsdWU6PC9iPiAgVHJ1ZSBpZiB0aGlzIGlzIGEgbGVnYWwgZS1tYWlsIGFkZHJlc3M7IGZhbHNlIGlmCgkJdGhpcyBpcyBhbiBpbGxlZ2FsIGUtbWFpbCBhZGRyZXNzLjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm9fYmxvY2snPjxiPk5vdGU6PC9iPjxiciAvPjxiciAvPgoJCVRoaXMgcGVyZm9ybXMgZXhhY3RseSB0aGUgdGVzdCByZXF1aXJlZCBieSB0aGUgU01UUCBSRkMsIGFuZCBubyBvdGhlcjsgc28gc29tZQoJCWUtbWFpbCBhZGRyZXNzZXMgdGhhdCBhcmUgb2J2aW91c2x5IGlsbGVnYWwsIGxpa2UgIjx0dD4nIyQlJ0Bmb28uZm9vLmZvbzwvdHQ+IiAoYQoJCWNvbXBsZXRlbHkgZ2FyYmFnZSBhZGRyZXNzIHRoYXQgZm9sbG93cyB0aGUgY29ycmVjdCBwYXR0ZXJuKSwgb3IKCQkiPHR0PmpvaG5Ac2FsZXMueW95b2R5bmU8L3R0PiIgKHdoZXJlIHRoZSB1c2VyIGZvcmdvdCB0byBhZGQgYSBUTEQgbGlrZSAiPHR0Pi5jb208L3R0PiIgb3IgIjx0dD4ub3JnPC90dD4iKQoJCWFyZSBzdGlsbCBwZXJtaXR0ZWQgYnkgdGhpcyBmdW5jdGlvbi4gIFN0aWxsLCB0aGlzIGlzIGEgdXNlZnVsIHZhbGlkYXRvciwgYmVjYXVzZQoJCWl0IGVuc3VyZXMgdGhhdCA8aT50cnVlPC9pPiBnYXJiYWdlIGFkZHJlc3NlcyBsaWtlICI8dHQ+Zm9vLmJhcjwvdHQ+IiBhbmQKCQkiPHR0PmJsZWVwQHlvdTwvdHQ+IiBhbmQgIjx0dD5nbyFhd2F5PC90dD4iIGFyZSBjb3JyZWN0bHkgaWdub3JlZC4KCTwvZGl2Pgo8L2Rpdj4KCjxhIG5hbWU9InJlZl9wYXJzZXJfSFRNTEVuY29kZSI+PC9hPgo8ZGl2IGNsYXNzPSdhcGknPgoJPGRpdiBjbGFzcz0nYXBpX2hlYWQnPnN0cmluZyA8Yj5CQkNvZGU6OkhUTUxFbmNvZGU8L2I+ICggc3RyaW5nICQ8dHQ+aW5wdXQ8L3R0PiApPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfZGVzY3InPlRoaXMgZnVuY3Rpb24gY2FsbHMgUEhQJ3MgPHR0Pmh0bWxzcGVjaWFsY2hhcnMoKTwvdHQ+IGZ1bmN0aW9uLgoJCUl0IGlzIGNhbGxlZCBieSB0aGUgcGFyc2VyIHRvIGNvbnZlcnQgZWFjaCBjaHVuayBvZiBwbGFpbiB0ZXh0IHRvIHNhZmUgSFRNTC4gIFRoaXMKCQlmdW5jdGlvbiBjYW4gc2FmZWx5IGFzc3VtZSB0aGF0IHRoZXJlIGFyZSBubyBlbWJlZGRlZCB0YWdzIG9yIHNtaWxleXM7IHRob3NlIHdpbGwKCQloYXZlIGJlZW4gcmVtb3ZlZCBiZWZvcmUgdGhpcyBpcyBjYWxsZWQuPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UGFyYW1ldGVyczo8L2I+CgkJPHVsPgoJCTxsaT48aT5pbnB1dDwvaT46IFRoZSBzdHJpbmcgdG8gSFRNTC1lbmNvZGUuPC9saT4KCQk8L3VsPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UmV0dXJuIFZhbHVlOjwvYj4gIEFuIGVuY29kZWQgSFRNTCBzdHJpbmcuPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mb19ibG9jayc+PGI+Tm90ZTo8L2I+PGJyIC8+PGJyIC8+CgkJVGhpcyBmdW5jdGlvbiBpcyBhbiBpbnRlcm5hbCBwYXJ0IG9mIHRoZSBOQkJDIHBhcnNlci4gIEl0IGlzIGV4cG9zZWQgc28gdGhhdCBpZgoJCXlvdSBpbmhlcml0IHRoZSBCQkNvZGUgY2xhc3MsIHlvdSBjYW4gb3ZlcnJpZGUgaXQgYW5kIGNoYW5nZSBpdHMgYmVoYXZpb3IuICAoWW91CgkJY291bGQsIGZvciBleGFtcGxlLCB1c2UgPHR0Pmh0bWxlbnRpdGllcygpPC90dD4gaW5zdGVhZCBvZiA8dHQ+aHRtbHNwZWNpYWxjaGFycygpPC90dD4sIG9yCgkJbWF5YmUgYWRkIHN1cHBvcnQgZm9yIHByb2Nlc3NpbmcgeW91ciBvd24ga2luZCBvZiB2YXJpYWJsZSB7JGluc2VydHN9LCBvciBtYXliZQoJCWFkZCBzdXBwb3J0IGZvciBlYXN5ICpib2xkZmFjZSogYW5kIC9pdGFsaWNzLy4gIEl0J3MgdXAgdG8geW91IGhvdyB5b3UgdXNlIHRoaXMKCQlmdW5jdGlvbiwgc28gbG9uZyBhcyB0aGUgb3V0cHV0IGlzIHZhbGlkIEhUTUw7IHRoYXQgZnJlZWRvbSBpcyB3aHkgaXQgaXMgZXhwb3NlZAoJCWJ5IHRoZSBwYXJzZXIuKQoJPC9kaXY+CjwvZGl2PgoKPGEgbmFtZT0icmVmX3BhcnNlcl9GaXh1cE91dHB1dCI+PC9hPgo8ZGl2IGNsYXNzPSdhcGknPgoJPGRpdiBjbGFzcz0nYXBpX2hlYWQnPnN0cmluZyA8Yj5CQkNvZGU6OkZpeHVwT3V0cHV0PC9iPiAoIHN0cmluZyAkPHR0PmlucHV0PC90dD4gKTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2Rlc2NyJz5UaGlzIGZ1bmN0aW9uIGlzIHVzZWQgaW50ZXJuYWxseSBieSB0aGUgcGFyc2VyIHRvIHByb2Nlc3MKCQlzdHJpbmdzIG9mIHBsYWluIHRleHQ6ICBJdCBzdHJpcHMgb3V0IHNtaWxleXMsIGNvbnZlcnRpbmcgdGhlbSB0byBpbWFnZXMsIGFuZAoJCXRoZW4gcGFzc2VzIHRoZSByZXN0IG9mIHRoZSB0ZXh0IHRocm91Z2ggPGEgaHJlZj0iI3JlZl9wYXJzZXJfSFRNTEVuY29kZSI+SFRNTEVuY29kZSgpPC9hPgoJCXRvIGNvbnZlcnQgdW5zYWZlIGNoYXJhY3RlcnMgbGlrZSAmbHQ7IGFuZCAmZ3Q7IGFuZCAmYW1wOyB0byA8dHQ+JmFtcDtsdDs8L3R0PgoJCWFuZCA8dHQ+JmFtcDtndDs8L3R0PiBhbmQgPHR0PiZhbXA7YW1wOzwvdHQ+LCByZXNwZWN0aXZlbHkuPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UGFyYW1ldGVyczo8L2I+CgkJPHVsPgoJCTxsaT48aT5pbnB1dDwvaT46IFRoZSBzdHJpbmcgdG8gY29udmVydCB0byBIVE1MLjwvbGk+CgkJPC91bD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlJldHVybiBWYWx1ZTo8L2I+ICBBbiBlbmNvZGVkIEhUTUwgc3RyaW5nLjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm9fYmxvY2snPjxiPk5vdGU6PC9iPjxiciAvPjxiciAvPgoJCVRoaXMgZnVuY3Rpb24gaXMgYW4gaW50ZXJuYWwgcGFydCBvZiB0aGUgTkJCQyBwYXJzZXIuICBJdCBpcyBleHBvc2VkIGZvciB0d28KCQlyZWFzb25zOiAgRmlyc3QsIGlmIHlvdSBpbmhlcml0IHRoZSBCQkNvZGUgY2xhc3MsIHlvdSBjYW4gb3ZlcnJpZGUgaXQgYW5kIGNoYW5nZQoJCWl0cyBiZWhhdmlvcjsgYnV0IHNlY29uZCwgYW5kIG1vcmUgaW1wb3J0YW50bHksIGl0IGFsbG93cyB5b3UgdG8gZWFzaWx5IGNvbnZlcnQKCQlwbGFpbi10ZXh0IC4gIChZb3UKCQljb3VsZCwgZm9yIGV4YW1wbGUsIHVzZSA8dHQ+aHRtbGVudGl0aWVzKCk8L3R0PiBpbnN0ZWFkIG9mIDx0dD5odG1sc3BlY2lhbGNoYXJzKCk8L3R0Piwgb3IKCQltYXliZSBhZGQgc3VwcG9ydCBmb3IgcHJvY2Vzc2luZyB5b3VyIG93biBraW5kIG9mIHZhcmlhYmxlIHskaW5zZXJ0c30sIG9yIG1heWJlCgkJYWRkIHN1cHBvcnQgZm9yIGVhc3kgKmJvbGRmYWNlKiBhbmQgL2l0YWxpY3MvLiAgSXQncyB1cCB0byB5b3UgaG93IHlvdSB1c2UgdGhpcwoJCWZ1bmN0aW9uLCBzbyBsb25nIGFzIHRoZSBvdXRwdXQgaXMgdmFsaWQgSFRNTDsgdGhhdCBmcmVlZG9tIGlzIHdoeSBpdCBpcyBleHBvc2VkCgkJYnkgdGhlIHBhcnNlci4pCgk8L2Rpdj4KPC9kaXY+Cgo8YSBuYW1lPSJyZWZfcGFyc2VyX0ZpbGxUZW1wbGF0ZSI+PC9hPgo8ZGl2IGNsYXNzPSdhcGknPgoJPGRpdiBjbGFzcz0nYXBpX2hlYWQnPnN0cmluZyA8Yj5CQkNvZGU6OkZpbGxUZW1wbGF0ZTwvYj4gKCBzdHJpbmcgJDx0dD50ZW1wbGF0ZTwvdHQ+ICwgYXJyYXkgJDx0dD5wYXJhbXM8L3R0PiAsIGFycmF5ICQ8dHQ+ZGVmYXVsdDwvdHQ+ID0gYXJyYXkoKSApPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfZGVzY3InPlRoaXMgZnVuY3Rpb24gaXMgdXNlZCBieSB0aGUgcGFyc2VyIGluIGEgbnVtYmVyIG9mCgkJcGxhY2VzIHRvIGZpbGwgdmFyaWFibGVzIGludG8gdGVtcGxhdGVzLCBtb3N0IG5vdGFibHkgaW4gdGhlIHRlbXBsYXRlcwoJCWFzc29jaWF0ZWQgd2l0aCA8YSBocmVmPSJ1c2FnZV9lbmguaHRtbCI+ZW5oYW5jZWQgdGFnczwvYT4uICBJdCBpcyBleHBvc2VkCgkJc28gdGhhdCB5b3UgY2FuIHVzZSBpdCB0byBmaWxsIHZhbHVlcyBpbnRvIHlvdXIgb3duIHRlbXBsYXRlcyBlYXNpbHkuPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UGFyYW1ldGVyczo8L2I+CgkJPHVsPgoJCTxsaT48aT50ZW1wbGF0ZTwvaT46IFRoZSB0ZW1wbGF0ZSBzdHJpbmcsIHBvc3NpYmx5IGNvbnRhaW5pbmcgdmFyaWFibGUgaW5zZXJ0cy48L2xpPgoJCTxsaT48aT5wYXJhbXM8L2k+OiBBbiBhcnJheSBvZiB2YWx1ZXMgdG8gdXNlIHdoZW4gZmlsbGluZyBpbiB0aGUgdGVtcGxhdGUuICBGb3IgZXhhbXBsZSwKCQkJaWYgIjx0dD57JGZvb308L3R0PiIgaXMgZm91bmQgaW4gdGhlIHRlbXBsYXRlLCBpdCB3aWxsIGJlIHJlcGxhY2VkIHdpdGggdGhlIHZhbHVlCgkJCW9mIHRoZSAnPHR0PmZvbzwvdHQ+JyBtZW1iZXIgb2YgdGhpcyBhcnJheS48L2xpPgoJCTxsaT48aT5kZWZhdWx0PC9pPjogQW4gYXJyYXkgb2YgdmFsdWVzIHRvIHVzZSB3aGVuIGEgZGVzaXJlZCB2YWx1ZSBkb2VzIG5vdCBleGlzdCBpbgoJCQl0aGUgJDx0dD5wYXJhbXM8L3R0PiBhcnJheS4gIEZvciBleGFtcGxlLCBpZiAiPHR0PnskZm9vfTwvdHQ+IiBpcyBmb3VuZCBpbiB0aGUKCQkJdGVtcGxhdGUsIGJ1dCB0aGUgJDx0dD5wYXJhbXM8L3R0PiBhcnJheSBkb2VzIG5vdCBjb250YWluIGEgJzx0dD5mb288L3R0PicgbWVtYmVyLAoJCQlGaWxsVGVtcGxhdGUoKSB3aWxsIGNoZWNrIHRvIHNlZSBpZiB0aGUgJDx0dD5kZWZhdWx0PC90dD4gYXJyYXkgY29udGFpbnMgYSAnPHR0PmZvbzwvdHQ+JwoJCQltZW1iZXIsIGFuZCBpZiBpdCBkb2VzLCBGaWxsVGVtcGxhdGUoKSB3aWxsIHVzZSB0aGF0IHZhbHVlIGluc3RlYWQuICBPbmx5IHdoZW4KCQkJbmVpdGhlciB0aGUgJDx0dD5wYXJhbXM8L3R0PiBhcnJheSBub3IgdGhlICQ8dHQ+ZGVmYXVsdDwvdHQ+IGFycmF5IGNvbnRhaW5zIHRoZQoJCQl2YWx1ZSB3aWxsIEZpbGxUZW1wbGF0ZSgpIHVzZSBhbiBlbXB0eSBzdHJpbmcgaW5zdGVhZC48L2xpPgoJCTwvdWw+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5SZXR1cm4gVmFsdWU6PC9iPiAgQSBzdHJpbmcgd2l0aCBhbGwgdmFyaWFibGUgaW5zZXJ0cyByZXBsYWNlZCB3aXRoIHZhbHVlcywKCQlwb3NzaWJseSBmb3JtYXR0ZWQgd2l0aCA8YSBocmVmPSJhcHBfZW5oZmxhZ3MuaHRtbCI+Zm9ybWF0dGluZyBmbGFnczwvYT4gaWYgYW55IGhhdmUgYmVlbiBnaXZlbi48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvX2Jsb2NrJz48Yj5Ob3RlOjwvYj48YnIgLz48YnIgLz4KCQlXaGlsZSB0aGlzIGZ1bmN0aW9uIGlzIG5vIHN1YnN0aXR1dGUgZm9yIGEgZ29vZCwgZnVsbCB0ZW1wbGF0aW5nIGVuZ2luZSBsaWtlCgkJPGEgaHJlZj0iaHR0cDovL3d3dy5zbWFydHkubmV0Ij5TbWFydHk8L2E+LCBpdCBpcyB2ZXJ5IGxpZ2h0d2VpZ2h0IGFuZCBjYW4gcGVyZm9ybQoJCXNvbWUgb2YgdGhlIHNhbWUgb3BlcmF0aW9ucy4gIE5CQkMgdXNlcyBpdCBpbnRlcm5hbGx5IGluIHNldmVyYWwgcGxhY2VzLCBhbmQgaW4KCQlOQkJDIDEuMywgaXQgaGFzIGJlZW4gZXhwb3NlZCBhcyBhIHNpbXBsZSBwdWJsaWMgdGVtcGxhdGluZyBBUEkuPGJyIC8+CgkJPGJyIC8+CgkJVmFyaWFibGUgaW5zZXJ0cyBpbiB5b3VyIHRlbXBsYXRlcyBjb21lIGluIG9uZSBvZiBmb3VyIGJhc2ljIGZvcm1zOjxiciAvPgoJCTx1bD4KCQk8bGk+PHR0PnskcGFyYW19PC90dD4gLSBBIHNpbXBsZSByZXBsYWNlZCB2YXJpYWJsZSB3aXRoIG5vIGZvcm1hdHRpbmcgb3IgdHJhbnNsYXRpb24gYXBwbGllZCB0byBpdC48L2xpPgoJCTxsaT48dHQ+eyRwYXJhbS9mbGFnc308L3R0PiAtIEEgcmVwbGFjZWQgdmFyaWFibGUgdGhhdCBoYXMgPGEgaHJlZj0iYXBwX2VuaGZsYWdzLmh0bWwiPmZvcm1hdHRpbmcgZmxhZ3M8L2E+CgkJCWFwcGxpZWQgdG8gaXRzIHZhbHVlIHdoZW4gdGhlIHZhbHVlIGlzIGluc2VydGVkIGludG8gdGhlIHRlbXBsYXRlLjwvbGk+CgkJPGxpPjx0dD57JHBhcmFtLmluZGV4fTwvdHQ+IGFuZCA8dHQ+eyRwYXJhbS5pbmRleC9mbGFnc308L3R0PiAtIFlvdSBjYW4gdXNlIHRoZSBzcGVjaWFsIGRvdCAoPHR0Pi48L3R0PikKCQkJb3BlcmF0b3IgdG8gYWNjZXNzIG1lbWJlcnMgb2YgYW4gYXJyYXkgb3IgbWVtYmVycyBvZiBhbiBvYmplY3QuICBGb3IgZXhhbXBsZSwgaWYKCQkJPHR0PiRwYXJhbXNbJ3BlcnNvbiddPC90dD4gY29udGFpbnMgYW4gYXJyYXkgPHR0PignZmF0aGVyJz0mbHQ7J2pvaG4nLCdtb3RoZXInPSZsdDsnc3VlJyk8L3R0PiwKCQkJdGhlbiB5b3UgY2FuIGFjY2VzcyB0aGUgcGVyc29uJ3MgbW90aGVyIGJ5IHdyaXRpbmcgPHR0PnskcGVyc29uLm1vdGhlcn08L3R0PgoJCQlpbiB5b3VyIHRlbXBsYXRlLiAgTXVsdGlwbGUgZG90IG9wZXJhdG9ycyBhcmUgcGVybWl0dGVkLCBhbmQgYXJlIGV2YWx1YXRlZCBmcm9tCgkJCWxlZnQgdG8gcmlnaHQsIGxpa2UgUEhQJ3MgYXJyb3cgKDx0dD4tJmd0OzwvdHQ+KSBvcGVyYXRvciwgYnV0IHVubGlrZSBQSFAncyBicmFja2V0cyAoPHR0PlsuLi5dPC90dD4pCgkJCW9wZXJhdG9yLjwvbGk+CgkJPC91bD4KCQlBbiBleGFtcGxlIHVzYWdlIG9mIHRoaXMgZnVuY3Rpb24gaXMgZGVtb25zdHJhdGVkIGJlbG93OgoJCTxkaXYgY2xhc3M9J2NvZGVfaGVhZGVyJz5Db2RlOjwvZGl2PgoJCTx4bXAgY2xhc3M9J2NvZGUnPiR0ZW1wbGF0ZSA9ICJ7JG5hbWV9IGlzIHskYWdlfSB5ZWFycyBvbGQsIgogICAgLiAiIGFuZCB7JHByb25vdW5zLm93bmVyfSBtb3RoZXIgaXMgeyRmYW1pbHkubW90aGVyfS5cbiI7CgokcGFyYW1zID0gQXJyYXkoCiAgICAnbmFtZScgPT4gIkpvaG4iLAogICAgJ2FnZScgPT4gMjAsCiAgICAnZ2VuZGVyJyA9PiAnbWFsZScsCgknZmFtaWx5JyA9PiBBcnJheSgKICAgICAgICAnZmF0aGVyJyA9PiAiQmlsbCIsCiAgICAgICAgJ21vdGhlcicgPT4gIlN1ZSIsCiAgICAgICAgJ2Jyb3RoZXInID0+ICJHZW9yZ2UiLAogICAgICAgICdzaXN0ZXInID0+ICJTYWxseSIsCiAgICApLAogICAgJ3Byb25vdW5zJyA9PiBBcnJheSgKICAgICAgICAnc2VsZicgPT4gImhpbSIsCiAgICAgICAgJ293bmVyJyA9PiAiaGlzIiwKICAgICksCik7CgokYmJjb2RlID0gbmV3IEJCQ29kZTsKJG91dHB1dCA9ICRiYmNvZGUtPkZpbGxUZW1wbGF0ZSgkdGVtcGxhdGUsICRwYXJhbXMpOwoKcHJpbnQgaHRtbHNwZWNpYWxjaGFycygkb3V0cHV0KTs8L3htcD4KCTwvZGl2Pgo8L2Rpdj4=]]></data>
	</file>
	<file>
	  <filename>/docs/doc/src/api_repl.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CjxhIG5hbWU9InJlZl9wYXJzZXJfU2V0UnVsZUhUTUwiPjwvYT4KPGRpdiBjbGFzcz0nYXBpJz4KCTxkaXYgY2xhc3M9J2FwaV9oZWFkJz52b2lkIDxiPkJCQ29kZTo6U2V0UnVsZUhUTUw8L2I+ICggc3RyaW5nICQ8dHQ+aHRtbDwvdHQ+ICk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9kZXNjcic+VGhpcyBmdW5jdGlvbiBkZXRlcm1pbmVzIGhvdyB0aGUgU3RhbmRhcmQgQkJDb2RlIExpYnJhcnkKCQlnZW5lcmF0ZXMgYSBob3Jpem9udGFsIHJ1bGUuICBCeSBkZWZhdWx0LCBpdCBvdXRwdXRzICI8dHQ+Jmx0O2hyJm5ic3A7LyZndDs8L3R0PiwiCgkJYnV0IHlvdSBjYW4gdXNlIHRoaXMgZnVuY3Rpb24gdG8gY2hhbmdlIHRoYXQgb3V0cHV0IGludG8gYW55IEhUTUwgeW91IHdhbnQuCgkJTWFueSBzaXRlcyBwcmVmZXIgdG8gdXNlIGltYWdlcyBvciAmbHQ7ZGl2Jmd0OyBlbGVtZW50cyB0byBwcm9kdWNlIGhvcml6b250YWwKCQlydWxlcyBmb3Igc3R5bGlzdGljIHJlYXNvbnMsIGFuZCB0aGlzIGZ1bmN0aW9uIGxldHMgeW91IGVhc2lseSBzd2FwIHRob3NlIGluCgkJd2l0aG91dCBjaGFuZ2luZyBhbnkgQ1NTLjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlBhcmFtZXRlcnM6PC9iPgoJCTx1bCBjbGFzcz0nYXBpX3BhcmFtcyc+CgkJPGxpPjx0dD48aT5odG1sPC9pPjwvdHQ+OiBUaGUgSFRNTCB0byBnZW5lcmF0ZSB3aGVuIE5CQkMgZW5jb3VudGVycyBhIFtydWxlXSB0YWcuPC9saT4KCQk8L3VsPgoJPC9kaXY+CjwvZGl2PgoKPGEgbmFtZT0icmVmX3BhcnNlcl9HZXRSdWxlSFRNTCI+PC9hPgo8ZGl2IGNsYXNzPSdhcGknPgoJPGRpdiBjbGFzcz0nYXBpX2hlYWQnPnN0cmluZyA8Yj5CQkNvZGU6OkdldFJ1bGVIVE1MPC9iPiAoICk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9kZXNjcic+VGhpcyBmdW5jdGlvbiByZXR1cm5zIHRoZSBjdXJyZW50IEhUTUwgcnVsZSBvdXRwdXQuCgkJU2VlIDxhIGhyZWY9ImFwaV9yZXBsLmh0bWwjcmVmX3BhcnNlcl9TZXRSdWxlSFRNTCI+U2V0UnVsZUhUTUwoKTwvYT4gZm9yIG1vcmUgZGV0YWlscy48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5SZXR1cm4gdmFsdWVzOjwvYj4gIFJldHVybnMgYSBzdHJpbmcgY29udGFpbmluZyBIVE1MLCB0aGUKCQlzYW1lIEhUTUwgbW9zdC1yZWNlbnRseSBnaXZlbiB0byA8YSBocmVmPSJhcGlfcmVwbC5odG1sI3JlZl9wYXJzZXJfU2V0UnVsZUhUTUwiPlNldFJ1bGVIVE1MKCk8L2E+LAoJCW9yICI8dHQ+Jmx0O2hyJm5ic3A7LyZndDs8L3R0PiIgaWYgU2V0UnVsZUhUTUwoKSBoYXMgbmV2ZXIgYmVlbiBjYWxsZWQuPC9kaXY+CjwvZGl2PgoKPGEgbmFtZT0icmVmX3BhcnNlcl9HZXREZWZhdWx0UnVsZUhUTUwiPjwvYT4KPGRpdiBjbGFzcz0nYXBpJz4KCTxkaXYgY2xhc3M9J2FwaV9oZWFkJz5zdHJpbmcgPGI+QkJDb2RlOjpHZXREZWZhdWx0UnVsZUhUTUw8L2I+ICggKTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2Rlc2NyJz5UaGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIGRlZmF1bHQgSFRNTCBydWxlIG91dHB1dCBwcm92aWRlZCBieQoJCXRoZSBTdGFuZGFyZCBCQkNvZGUgTGlicmFyeS48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5SZXR1cm4gdmFsdWVzOjwvYj4gIEFsd2F5cyByZXR1cm5zICI8dHQ+Jmx0O2hyJm5ic3A7LyZndDs8L3R0PiIuPC9kaXY+CjwvZGl2PgoKPGEgbmFtZT0icmVmX3BhcnNlcl9TZXRMb2NhbEltZ0RpciI+PC9hPgo8ZGl2IGNsYXNzPSdhcGknPgoJPGRpdiBjbGFzcz0nYXBpX2hlYWQnPnZvaWQgPGI+QkJDb2RlOjpTZXRMb2NhbEltZ0RpcjwvYj4gKCBzdHJpbmcgJDx0dD5mdWxscGF0aDwvdHQ+ICk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9kZXNjcic+VGhpcyBmdW5jdGlvbiB0ZWxscyBOQkJDIHdoZXJlIGxvY2FsIGltYWdlcyBhcmUgZm91bmQsCgkJYXMgYSBwYXRobmFtZSByZWxhdGl2ZSB0byB0aGUgcm9vdCBvZiB0aGUgaG9zdCdzIGZpbGVzeXN0ZW0gKGFuIGFic29sdXRlIHBhdGhuYW1lKS4KCQlZb3Ugc2hvdWxkIHVzdWFsbHkgdXNlIGEgZnVsbCBhYnNvbHV0ZSBwYXRobmFtZSBmb3IgdGhpcywgbGlrZSAiPHR0Pi9ob21lL2xhcnJ5L3dlYi9teWltYWdlczwvdHQ+IiwKCQlhbmQgeW91IHNob3VsZCA8aT5ub3Q8L2k+IGluY2x1ZGUgYSB0cmFpbGluZyBzbGFzaCBvbiB0aGUgcGF0aCwgYXMgb25lIHdpbGwgYmUgYXBwZW5kZWQKCQlhdXRvbWF0aWNhbGx5LiAgVXNpbmcgcmVsYXRpdmUgcGF0aG5hbWVzIGNhbiB3b3JrLCBidXQgbWF5IHByb2R1Y2UgcHJvYmxlbXMgb24gc29tZQoJCXdlYiBzZXJ2ZXJzLjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlBhcmFtZXRlcnM6PC9iPgoJCTx1bCBjbGFzcz0nYXBpX3BhcmFtcyc+CgkJPGxpPjx0dD48aT5mdWxscGF0aDwvaT48L3R0PjogVGhlIGZpbGVzeXN0ZW0gcGF0aCB0byB5b3VyIGxvY2FsIGltYWdlIGRpcmVjdG9yeS48L2xpPgoJCTwvdWw+Cgk8L2Rpdj4KPC9kaXY+Cgo8YSBuYW1lPSJyZWZfcGFyc2VyX0dldExvY2FsSW1nRGlyIj48L2E+CjxkaXYgY2xhc3M9J2FwaSc+Cgk8ZGl2IGNsYXNzPSdhcGlfaGVhZCc+c3RyaW5nIDxiPkJCQ29kZTo6R2V0TG9jYWxJbWdEaXI8L2I+ICggKTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2Rlc2NyJz5UaGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIGN1cnJlbnQgbG9jYWwgaW1hZ2UgZGlyZWN0b3J5LgoJCVNlZSA8YSBocmVmPSJhcGlfcmVwbC5odG1sI3JlZl9wYXJzZXJfU2V0TG9jYWxJbWdEaXIiPlNldExvY2FsSW1nRGlyKCk8L2E+IGZvciBtb3JlIGRldGFpbHMuPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UmV0dXJuIHZhbHVlczo8L2I+ICBSZXR1cm5zIHRoZSBjdXJyZW50IGxvY2FsIGltYWdlIGRpcmVjdG9yeS4KCQlJZiBubyBsb2NhbCBpbWFnZSBkaXJlY3RvcnkgaGFzIGJlZW4gc2V0LCB0aGlzIHJldHVybnMgc2ltcGx5ICJpbWciLjwvZGl2Pgo8L2Rpdj4KCjxhIG5hbWU9InJlZl9wYXJzZXJfR2V0RGVmYXVsdExvY2FsSW1nRGlyIj48L2E+CjxkaXYgY2xhc3M9J2FwaSc+Cgk8ZGl2IGNsYXNzPSdhcGlfaGVhZCc+c3RyaW5nIDxiPkJCQ29kZTo6R2V0RGVmYXVsdExvY2FsSW1nRGlyPC9iPiAoICk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9kZXNjcic+VGhpcyBmdW5jdGlvbiByZXR1cm5zIHRoZSBkZWZhdWx0IGxvY2FsIGltYWdlIGRpcmVjdG9yeS48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5SZXR1cm4gdmFsdWVzOjwvYj4gIEFsd2F5cyByZXR1cm5zICJpbWciLjwvZGl2Pgo8L2Rpdj4KCjxhIG5hbWU9InJlZl9wYXJzZXJfU2V0TG9jYWxJbWdVUkwiPjwvYT4KPGRpdiBjbGFzcz0nYXBpJz4KCTxkaXYgY2xhc3M9J2FwaV9oZWFkJz52b2lkIDxiPkJCQ29kZTo6U2V0TG9jYWxJbWdVUkw8L2I+ICggc3RyaW5nICQ8dHQ+dXJsPC90dD4gKTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2Rlc2NyJz5UaGlzIGZ1bmN0aW9uIHRlbGxzIHRoZSBicm93c2VyIHdoZXJlIGxvY2FsIGltYWdlcyBhcmUgZm91bmQsCgkJYXMgYW4gYWJzb2x1dGUgVVJMLiAgWW91IHNob3VsZCB1c3VhbGx5IHVzZSBhIGZ1bGwgYWJzb2x1dGUgVVJMIGZvciB0aGlzLCBsaWtlCgkJIjx0dD5odHRwOi8vbGFycnkuZXhhbXBsZS5jb20vbXlpbWFnZXM8L3R0PiIsIGFuZCB5b3Ugc2hvdWxkIDxpPm5vdDwvaT4gaW5jbHVkZSBhCgkJdHJhaWxpbmcgc2xhc2ggb24gdGhlIHBhdGgsIGFzIG9uZSB3aWxsIGJlIGFwcGVuZGVkIGF1dG9tYXRpY2FsbHkuICBVc2luZyByZWxhdGl2ZQoJCShzaG9ydCkgVVJMcyBjYW4gd29yaywgYnV0IG1heSBwcm9kdWNlIHByb2JsZW1zIHdpdGggc29tZSB3ZWIgYnJvd3NlcnMgaWYgbm90CgkJdXNlZCBjYXJlZnVsbHkuPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UGFyYW1ldGVyczo8L2I+CgkJPHVsIGNsYXNzPSdhcGlfcGFyYW1zJz4KCQk8bGk+PHR0PjxpPnVybDwvaT48L3R0PjogVGhlIGZ1bGwgVVJMIHRvIHlvdXIgbG9jYWwgaW1hZ2UgZGlyZWN0b3J5LjwvbGk+CgkJPC91bD4KCTwvZGl2Pgo8L2Rpdj4KCjxhIG5hbWU9InJlZl9wYXJzZXJfR2V0TG9jYWxJbWdVUkwiPjwvYT4KPGRpdiBjbGFzcz0nYXBpJz4KCTxkaXYgY2xhc3M9J2FwaV9oZWFkJz5zdHJpbmcgPGI+QkJDb2RlOjpHZXRMb2NhbEltZ1VSTDwvYj4gKCApPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfZGVzY3InPlRoaXMgZnVuY3Rpb24gcmV0dXJucyB0aGUgY3VycmVudCBsb2NhbCBpbWFnZSBVUkwuCgkJU2VlIDxhIGhyZWY9ImFwaV9yZXBsLmh0bWwjcmVmX3BhcnNlcl9TZXRMb2NhbEltZ1VSTCI+U2V0TG9jYWxJbWdVUkwoKTwvYT4gZm9yIG1vcmUgZGV0YWlscy48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5SZXR1cm4gdmFsdWVzOjwvYj4gIFJldHVybnMgdGhlIGN1cnJlbnQgbG9jYWwgaW1hZ2UgVVJMLgoJCUlmIG5vIGxvY2FsIGltYWdlIFVSTCBoYXMgYmVlbiBzZXQsIHRoaXMgcmV0dXJucyBzaW1wbHkgImltZyIuPC9kaXY+CjwvZGl2PgoKPGEgbmFtZT0icmVmX3BhcnNlcl9HZXREZWZhdWx0TG9jYWxJbWdVUkwiPjwvYT4KPGRpdiBjbGFzcz0nYXBpJz4KCTxkaXYgY2xhc3M9J2FwaV9oZWFkJz5zdHJpbmcgPGI+QkJDb2RlOjpHZXREZWZhdWx0TG9jYWxJbWdVUkw8L2I+ICggKTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2Rlc2NyJz5UaGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIGRlZmF1bHQgbG9jYWwgaW1hZ2UgVVJMLjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlJldHVybiB2YWx1ZXM6PC9iPiAgQWx3YXlzIHJldHVybnMgImltZyIuPC9kaXY+CjwvZGl2PgoKPGEgbmFtZT0icmVmX3BhcnNlcl9HZXRVUkxUYXJnZXRhYmxlIj48L2E+CjxkaXYgY2xhc3M9J2FwaSc+Cgk8ZGl2IGNsYXNzPSdhcGlfaGVhZCc+bWl4ZWQgPGI+QkJDb2RlOjpHZXRVUkxUYXJnZXRhYmxlPC9iPiAoICk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9kZXNjcic+VGhpcyBmdW5jdGlvbiByZXR1cm5zIHRoZSBjdXJyZW50IHNldHRpbmcgZm9yIHRoZSBVUkwtdGFyZ2V0YWJsZSBzZWN1cml0eSBmbGFnLgoJCVNlZSA8YSBocmVmPSJhcGlfcmVwbC5odG1sI3JlZl9wYXJzZXJfU2V0VVJMVGFyZ2V0YWJsZSI+U2V0VVJMVGFyZ2V0YWJsZSgpPC9hPiBmb3IgbW9yZSBkZXRhaWxzLjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlJldHVybiB2YWx1ZXM6PC9iPiAgVGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIFVSTC10YXJnZXRhYmxlIHNlY3VyaXR5IGZsYWcuPC9kaXY+CjwvZGl2PgoKPGEgbmFtZT0icmVmX3BhcnNlcl9TZXRVUkxUYXJnZXRhYmxlIj48L2E+CjxkaXYgY2xhc3M9J2FwaSc+Cgk8ZGl2IGNsYXNzPSdhcGlfaGVhZCc+dm9pZCA8Yj5CQkNvZGU6OlNldFVSTFRhcmdldGFibGU8L2I+ICggbWl4ZWQgJDx0dD5lbmFibGVkPC90dD4gKTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2Rlc2NyJz5UaGlzIGZ1bmN0aW9uIGNoYW5nZXMgdGhlIFVSTC10YXJnZXRhYmxlIHNlY3VyaXR5IGZsYWcuPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UGFyYW1ldGVyczo8L2I+CgkJPHVsIGNsYXNzPSdhcGlfcGFyYW1zJz4KCQk8bGk+PHR0PjxpPmVuYWJsZWQ8L2k+PC90dD46IElmIHRydWUsIHRoZSA8dHQ+W3VybF08L3R0PiB0YWcgd2lsbCBhbGxvdyBVUkwgdGFyZ2V0aW5nLgoJCQlJZiBmYWxzZSwgdGhlIDx0dD5bdXJsXTwvdHQ+IHRhZyB3aWxsIG5vdCBhbGxvdyB1c2VyLXRhcmdldGluZy4gIElmIHNldCB0bwoJCQk8dHQ+J292ZXJyaWRlJzwvdHQ+LCBhbnkgdXNlci1zdXBwbGllZCB0YXJnZXQgd2lsbCBvdmVycmlkZSB0aGUgZGVmYXVsdAoJCQlVUkwgdGFyZ2V0LjwvbGk+CgkJPC91bD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm9fYmxvY2snPlRoZSBVUkwtdGFyZ2V0YWJsZSBmbGFnIGNvbnRyb2xzIHdoZXRoZXIgdGhlIDx0dD5bdXJsXTwvdHQ+IHRhZyBhbGxvd3MKCQlhbiBhZGRpdGlvbmFsIDx0dD50YXJnZXQ9IiI8L3R0PiBwYXJhbWV0ZXIgdGhhdCBjb250cm9scyB3aGljaCB3aW5kb3cgb3IgZnJhbWUgdGhlCgkJbGluayB3aWxsIGFwcGVhciBpbi4gIEl0IG1pcnJvcnMgdGhlIDx0dD50YXJnZXQ9IiI8L3R0PiBwYXJhbWV0ZXIgdGhhdCA8dHQ+Jmx0O2EmZ3Q7PC90dD4KCQllbGVtZW50cyBoYXZlLCBhbmQgc3VwcG9ydHMgYWxsIHRoZSBzYW1lIHZhbHVlcy4gIEJ5IGRlZmF1bHQsIHRoaXMgcGFyYW1ldGVyIGlzIGRpc2FibGVkCgkJZm9yIHNlY3VyaXR5IHJlYXNvbnM6ICBJbiBjZXJ0YWluIChyYXJlKSBjaXJjdW1zdGFuY2VzIHdoZXJlIGEgdmlzaXRvciBoYXMgdGhlIGFiaWxpdHkgdG8gd3JpdGUKCQlCQkNvZGUgb24geW91ciBzaXRlLCBpdCBjYW4gYmUgcG9zc2libGUgdG8gdXNlIHRoZSA8dHQ+dGFyZ2V0PSIiPC90dD4gcGFyYW1ldGVyIHRvIGJ5cGFzcwoJCWVub3VnaCBzZWN1cml0eSByZXN0cmljdGlvbnMgdG8gcGVyZm9ybSBDU1JGIG9yIFhTUyBhdHRhY2tzLiAgSG93ZXZlciwgaWYgdGhlIG9ubHkgcGVvcGxlCgkJd2hvIHdpbGwgYmUgd3JpdGluZyBCQkNvZGUgb24geW91ciBzaXRlIGFyZSB0cnVzdGVkIHBlb3BsZSwgdGhlbiB0aGlzIHBhcmFtZXRlciBjYW4gYmUKCQlzYWZlbHkgZW5hYmxlZC48L2Rpdj4KPC9kaXY+Cgo8YSBuYW1lPSJyZWZfcGFyc2VyX0dldFVSTFRhcmdldCI+PC9hPgo8ZGl2IGNsYXNzPSdhcGknPgoJPGRpdiBjbGFzcz0nYXBpX2hlYWQnPm1peGVkIDxiPkJCQ29kZTo6R2V0VVJMVGFyZ2V0PC9iPiAoICk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9kZXNjcic+VGhpcyBmdW5jdGlvbiByZXR1cm5zIHRoZSBjdXJyZW50IHNldHRpbmcgZm9yIHRoZSBVUkwgdGFyZ2V0LiAgVGhpcyB3aWxsIGVpdGhlcgoJCWJlIDxpPmZhbHNlPC9pPiBvciBhIHRhcmdldCBzdHJpbmcuCgkJU2VlIDxhIGhyZWY9ImFwaV9yZXBsLmh0bWwjcmVmX3BhcnNlcl9TZXRVUkxUYXJnZXQiPlNldFVSTFRhcmdldCgpPC9hPiBmb3IgbW9yZSBkZXRhaWxzLjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlJldHVybiB2YWx1ZXM6PC9iPiAgVGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIFVSTCB0YXJnZXQuPC9kaXY+CjwvZGl2PgoKPGEgbmFtZT0icmVmX3BhcnNlcl9TZXRVUkxUYXJnZXQiPjwvYT4KPGRpdiBjbGFzcz0nYXBpJz4KCTxkaXYgY2xhc3M9J2FwaV9oZWFkJz52b2lkIDxiPkJCQ29kZTo6U2V0VVJMVGFyZ2V0PC9iPiAoIG1peGVkICQ8dHQ+c2V0dGluZzwvdHQ+ICk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9kZXNjcic+VGhpcyBmdW5jdGlvbiBjaGFuZ2VzIHRoZSBVUkwgdGFyZ2V0LjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlBhcmFtZXRlcnM6PC9iPgoJCTx1bCBjbGFzcz0nYXBpX3BhcmFtcyc+CgkJPGxpPjx0dD48aT5zZXR0aW5nPC9pPjwvdHQ+OiBJZiBmYWxzZSwgdGhlIDx0dD5bdXJsXTwvdHQ+IHRhZyB3aWxsIGVpdGhlciBhbGxvdwoJCQlVUkwgdGFyZ2V0aW5nIChpZiBVUkwgdGFyZ2V0aW5nIGlzIGVuYWJsZWQpLCBvciBpdCB3aWxsIGhhdmUgbm8gdGFyZ2V0LiAgSWYKCQkJPGk+c2V0dGluZzwvaT4gaXMgYSBzdHJpbmcsIHRoYXQgc3RyaW5nIHdpbGwgYmUgdXNlZCBmb3IgdGhlIGxpbmsgdGFyZ2V0LAoJCQlhbmQgYW55IHVzZXItc3VwcGxpZWQgdGFyZ2V0IHdpbGwgYmUgaWdub3JlZC48L2xpPgoJCTwvdWw+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvX2Jsb2NrJz5UaGUgVVJMIHRhcmdldCBzZXR0aW5nIGNvbnRyb2xzIHdoZXRoZXIgdGhlIDx0dD5bdXJsXTwvdHQ+IHRhZyB3aWxsCgkJcHJvZHVjZSBsaW5rcyB0aGF0IGhhdmUgYW4gYWRkaXRpb25hbCA8dHQ+dGFyZ2V0PSIiPC90dD4gcGFyYW1ldGVyIHRoYXQgY29udHJvbHMgd2hpY2gKCQl3aW5kb3cgb3IgZnJhbWUgdGhlIGxpbmsgd2lsbCBhcHBlYXIgaW4uICBCeSBkZWZhdWx0LCB0aGlzIGlzIGRpc2FibGVkICg8aT5mYWxzZTwvaT4pLAoJCWFsbG93aW5nIGxpbmtzIHRvIGVpdGhlciBvcGVuIGluIHRoZSBjdXJyZW50IHdpbmRvdywgb3IgaW4gYSB1c2VyLWNob3NlbiB3aW5kb3cgKGlmIHRoZQoJCVVSTC10YXJnZXRhYmxlIGZsYWcgaXMgc2V0KS4gIEJ5IHNldHRpbmcgdGhpcywgaG93ZXZlciwgeW91IGNhbiBmb3JjZSBhbGwgbGlua3MgdG8gb3BlbiBpbgoJCXRoZSB3aW5kb3cgb2YgeW91ciBjaG9pY2UsIGJlIGl0ICJfYmxhbmsiIG9yIHNvbWUgc3BlY2lmaWMgY3VzdG9tIHdpbmRvdy48L2Rpdj4KPC9kaXY+Cg==]]></data>
	</file>
	<file>
	  <filename>/docs/doc/src/api_root.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CjxhIG5hbWU9InJlZl9wYXJzZXJfU2V0Um9vdElubGluZSI+PC9hPgo8ZGl2IGNsYXNzPSdhcGknPgoJPGRpdiBjbGFzcz0nYXBpX2hlYWQnPnZvaWQgPGI+QkJDb2RlOjpTZXRSb290SW5saW5lPC9iPiAoICk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9kZXNjcic+VGhpcyBmdW5jdGlvbiB0ZWxscyBOQkJDIHRoYXQgdGhlIEJCQ29kZSBjb250ZW50IHRvIGJlIGZvcm1hdHRlZAoJCWlzIDxpPmlubGluZTwvaT4gY29udGVudCAtLS0gaXQncyBwYXJ0IG9mIGFub3RoZXIgcGFyYWdyYXBoIC0tLSB3aGljaCBtZWFucyBpdCBjYW5ub3QKCQljb250YWluIGJsb2NrIGZvcm1hdHRpbmcgdGFncyBzdWNoIGFzIDx0dD5bY2VudGVyXTwvdHQ+IGFuZCA8dHQ+W2NvbHVtbnNdPC90dD4gYW5kCgkJPHR0PltxdW90ZV08L3R0PiBhbmQgPHR0Pltjb2RlXTwvdHQ+LiAgQW55IGF0dGVtcHRzIHRvIHVzZSB0aG9zZSB0YWdzIHdpbGwgcmVzdWx0CgkJaW4gdGhlbSBhcHBlYXJpbmcgdmVyYmF0aW0sIGFzIGlmIHRoZXkgd2VyZSBub3QgcmVnaXN0ZXJlZCBydWxlcyBvciB0YWdzIGF0IGFsbC4KCQlUaGlzIDxpPmlubGluZSBtb2RlPC9pPiBpcyBtb3N0IHVzZWZ1bCB3aGVuIHlvdSBoYXZlIGNvbnRlbnQgdGhhdCBtdXN0IGJlIGpvaW5lZCB0bwoJCW90aGVyIHByZS1leGlzdGluZyBjb250ZW50LjxiciAvPgoJCTxiciAvPgoJCUFzIGFsd2F5cywgd2hldGhlciBpbiA8aT5pbmxpbmUgbW9kZTwvaT4gb3IgaW4gPGk+YmxvY2sgbW9kZTwvaT4sIE5CQkMgZG9lcyA8aT5ub3Q8L2k+CgkJd3JhcCB0aGUgb3V0cHV0IGluIGFuIEhUTUwgZWxlbWVudCBvZiBhbnkga2luZDogIEdlbmVyYWxseSwgeW91IHdpbGwgd2FudCB0byB3cmFwCgkJdGhlIG91dHB1dCBpbiBhICZsdDtzcGFuJmd0OyBlbGVtZW50ICh3aGVuIGlubGluZSBtb2RlIGlzIGFjdGl2ZSksIGJ1dCB5b3UgZG8gbm90CgkJaGF2ZSB0byBpZiB0aGF0IGRvZXNuJ3QgZml0IHlvdXIgbmVlZHMuPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UGFyYW1ldGVyczo8L2I+ICBOb25lLjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlJldHVybiBWYWx1ZTo8L2I+ICBOb25lLjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm9fYmxvY2snPgoJCTxkaXYgY2xhc3M9J2FwaV9pbmZvX2Jsb2NrX2hlYWRlcic+Tm90ZXM6PC9kaXY+CgkJCgkJVGhlIGJlc3Qgd2F5IHRvIHVuZGVyc3RhbmQgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgcm9vdCBjbGFzcyBiZWluZyAiPHR0PmlubGluZTwvdHQ+IgoJCWFuZCB0aGUgcm9vdCBjbGFzcyBiZWluZyAiPHR0PmJsb2NrPC90dD4iIGlzIHRvIHNlZSBhbiBleGFtcGxlLiAgQ29uc2lkZXIgdGhlIEJCQ29kZQoJCWJlbG93OgoJCTxkaXYgc3R5bGU9J21hcmdpbi1sZWZ0OiAyZW07Jz4KCQkJPGRpdiBjbGFzcz0nY29kZV9oZWFkZXInPkNvZGU6PC9kaXY+CgkJCTx4bXAgY2xhc3M9J2NvZGUnPltjZW50ZXJdVGhpcyBpcyBhIFtpXXRlc3RbL2ldLlsvY2VudGVyXTwveG1wPgoJCTwvZGl2PgoJCUluIGJsb2NrIG1vZGUsIHRoaXMgQkJDb2RlIHdvdWxkIGJlIGNvbnZlcnRlZCB0bzoKCQk8ZGl2IHN0eWxlPSdtYXJnaW4tbGVmdDogMmVtOyc+CgkJCTxkaXYgY2xhc3M9J291dHB1dF9oZWFkZXInPk91dHB1dDo8L2Rpdj4KCQkJPGRpdiBjbGFzcz0nb3V0cHV0Jz4mbHQ7ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOmNlbnRlciImZ3Q7VGhpcyBpcyBhICZsdDtpJmd0O3Rlc3QmbHQ7L2kmZ3Q7LiZsdDsvZGl2Jmd0OzwvZGl2PgoJCTwvZGl2PgoJCUJ1dCBpbiBpbmxpbmUgbW9kZSwgdGhpcyBzYW1lIEJCQ29kZSB3b3VsZCBiZSBjb252ZXJ0ZWQgdG8gdGhpcyBpbnN0ZWFkOgoJCTxkaXYgc3R5bGU9J21hcmdpbi1sZWZ0OiAyZW07Jz4KCQkJPGRpdiBjbGFzcz0nb3V0cHV0X2hlYWRlcic+T3V0cHV0OjwvZGl2PgoJCQk8ZGl2IGNsYXNzPSdvdXRwdXQnPltjZW50ZXJdVGhpcyBpcyBhICZsdDtpJmd0O3Rlc3QmbHQ7L2kmZ3Q7LlsvY2VudGVyXTwvZGl2PgoJCTwvZGl2PgoJCU5vdGljZSB0aGF0IGluIGlubGluZSBtb2RlLCBOQkJDIHJlZnVzZXMgdG8gZ2VuZXJhdGUgJmx0O2RpdiZndDsgdGFncyBpbiB0aGUgb3V0cHV0OwoJCXRoaXMgaXMgYmVjYXVzZSBpbmxpbmUgbW9kZSBtZWFucyB0aGF0IHlvdSBpbnRlbmQgdG8gcHV0IHRoZSBjb250ZW50IGluc2lkZSBhCgkJJmx0O3NwYW4mZ3Q7IG9yIGVxdWl2YWxlbnQgZWxlbWVudCwgYW5kICZsdDtkaXYmZ3Q7IGlzIGlsbGVnYWwgaW5zaWRlICZsdDtzcGFuJmd0OywKCQlzbyBhbGwgdGFncyB0aGF0IG1pZ2h0IHJlcXVpcmUgJmx0O2RpdiZndDsgb3Igc2ltaWxhciBibG9jayBsYXlvdXRzIGJlY29tZSBmb3JiaWRkZW46CgkJSW4gc2hvcnQsIG9ubHkgdGV4dC1zdHlsZSB0YWdzIGxpa2UgW2ldIGFuZCBbYl0gYW5kIFtmb250XSwgYW5kIGxpbmsgdGFncyBsaWtlCgkJW3VybF0gYW5kIFt3aWtpXSwgYW5kIFtpbWddIHRhZ3MgKGFuZCBzbWlsZXlzISkgLS0tIHRhZ3MgdGhhdCBhZmZlY3QgdGhlIGN1cnJlbnQKCQlsaW5lIG9mIHRleHQgYnV0IHRoYXQgZG9uJ3Qgc3RhcnQgYSBuZXcgb25lIC0tLSBhcmUgYWxsb3dlZCBpbiBpbmxpbmUgbW9kZSwgd2hpbGUKCQlhbGwgdGFncyBhcmUgYWxsb3dlZCBpbiBibG9jayBtb2RlLgoJPC9kaXY+CjwvZGl2PgoKPGEgbmFtZT0icmVmX3BhcnNlcl9TZXRSb290QmxvY2siPjwvYT4KPGRpdiBjbGFzcz0nYXBpJz4KCTxkaXYgY2xhc3M9J2FwaV9oZWFkJz52b2lkIDxiPkJCQ29kZTo6U2V0Um9vdEJsb2NrPC9iPiAoICk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9kZXNjcic+VGhpcyBmdW5jdGlvbiB0ZWxscyBOQkJDIHRoYXQgdGhlIEJCQ29kZSBjb250ZW50IHRvIGJlIGZvcm1hdHRlZAoJCWlzIDxpPmJsb2NrPC9pPiBjb250ZW50IC0tLSBpdCdzIDxpPm5vdDwvaT4gcGFydCBvZiBhbm90aGVyIHBhcmFncmFwaCwgYW5kIGxpa2VseQoJCXdpbGwgYmUgd3JhcHBlZCBpbiBpdHMgb3duICZsdDtkaXYmZ3Q7IGVsZW1lbnQgYnkgdGhlIGNhbGxlci4gIEluIDxpPmJsb2NrIG1vZGU8L2k+LAoJCWFsbCBCQkNvZGUgdGFncyBhcmUgbGVnYWwgKGNvbnRyYXN0IHRoaXMgd2l0aCA8aT48YSBocmVmPSIjcmVmX3BhcnNlcl9TZXRSb290SW5saW5lIj5pbmxpbmUgbW9kZTwvYT48L2k+CgkJd2hlcmUgb25seSB0ZXh0LXN0eWxlIHRhZ3MsIGxpbmsgdGFncywgYW5kIGltYWdlcyBhcmUgbGVnYWwpLjxiciAvPgoJCTxiciAvPgoJCU5vdGUgdGhhdCBldmVuIGluIGJsb2NrIG1vZGUsIHlvdSBjYW5ub3QgKHNob3VsZCBub3QpIHdyYXAgdGhlIG91dHB1dCBpbnNpZGUgYW4KCQlIVE1MICZsdDtwJmd0OyBlbGVtZW50LCBiZWNhdXNlICZsdDtwJmd0OyBpcyBhY3R1YWxseSB2ZXJ5IHJlc3RyaWN0ZWQgaW4gdGhlIGtpbmRzIG9mCgkJY29udGVudCBpdCBjYW4gY29udGFpbjogIEZvciBleGFtcGxlLCB0aGUgJmx0O3RhYmxlJmd0OyBlbGVtZW50IHVzZWQgYnkgTkJCQyB0bwoJCWNyZWF0ZSBjb2x1bW5zIGlzIGlsbGVnYWwgaW5zaWRlIGEgJmx0O3AmZ3Q7IGVsZW1lbnQuICBTbyBpZiB5b3UgbmVlZCB0byB3cmFwIHlvdXIKCQlvdXRwdXQgaW4gYSBzaW5nbGUgSFRNTCBlbGVtZW50LCB5b3Ugc2hvdWxkIHVzZSBhICZsdDtkaXYmZ3Q7IGVsZW1lbnQuPGJyIC8+CgkJPGJyIC8+CgkJQXMgYWx3YXlzLCB3aGV0aGVyIGluIDxpPmlubGluZSBtb2RlPC9pPiBvciBpbiA8aT5ibG9jayBtb2RlPC9pPiwgTkJCQyBkb2VzIDxpPm5vdDwvaT4KCQl3cmFwIHRoZSBvdXRwdXQgaW4gYW4gSFRNTCBlbGVtZW50IG9mIGFueSBraW5kOiAgR2VuZXJhbGx5LCB5b3Ugd2lsbCB3YW50IHRvIHdyYXAKCQl0aGUgb3V0cHV0IGluIGEgJmx0O2RpdiZndDsgZWxlbWVudCAod2hlbiBibG9jayBtb2RlIGlzIGFjdGl2ZSksIGJ1dCB5b3UgZG8gbm90CgkJaGF2ZSB0byBpZiB0aGF0IGRvZXNuJ3QgZml0IHlvdXIgbmVlZHMuPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UGFyYW1ldGVyczo8L2I+ICBOb25lLjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlJldHVybiBWYWx1ZTo8L2I+ICBOb25lLjwvZGl2Pgo8L2Rpdj4KCjxhIG5hbWU9InJlZl9wYXJzZXJfU2V0Um9vdCI+PC9hPgo8ZGl2IGNsYXNzPSdhcGknPgoJPGRpdiBjbGFzcz0nYXBpX2hlYWQnPnZvaWQgPGI+QkJDb2RlOjpTZXRSb290PC9iPiAoIHN0cmluZyAkPHR0PmNsYXNzPC90dD4gKTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2Rlc2NyJz5UaGlzIGZ1bmN0aW9uIGNvbnRyb2xzIHRoZSByb290IGNsYXNzIE5CQkMgdXNlcy4gIFRoZSBjbGFzc2VzCgkJTkJCQyBub3JtYWxseSB1c2VzIGZvciByb290IGNsYXNzZXMgYXJlICI8dHQ+YmxvY2s8L3R0PiIgYW5kICI8dHQ+aW5saW5lPC90dD4iLAoJCWJ1dCBpZiB5b3UgY3JlYXRlIG5ldyBjbGFzc2VzLCB5b3UgY2FuIHRlbGwgTkJCQyB0byBzdGFydCB3aXRoIG9uZSBvZiB0aG9zZQoJCWluc3RlYWQgdXNpbmcgdGhpcyBmdW5jdGlvbi48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5QYXJhbWV0ZXJzOjwvYj4KCQk8dWw+CgkJPGxpPjxpPmNsYXNzPC9pPjogIEEgY2xhc3NuYW1lIHRvIHVzZSBhcyB0aGUgcm9vdCBjbGFzcy4gIFNlZSB0aGUgYXBwZW5kaXggb24KCQkJPGEgaHJlZj0iYXBwX2NsYXNzLmh0bWwiPmNvbnRlbnQgY2xhc3NlczwvYT4gZm9yIG1vcmUgZGV0YWlscy48L2xpPgoJCTwvdWw+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5SZXR1cm4gVmFsdWU6PC9iPiAgTm9uZS48L2Rpdj4KPC9kaXY+Cgo8YSBuYW1lPSJyZWZfcGFyc2VyX0dldFJvb3QiPjwvYT4KPGRpdiBjbGFzcz0nYXBpJz4KCTxkaXYgY2xhc3M9J2FwaV9oZWFkJz5zdHJpbmcgPGI+QkJDb2RlOjpHZXRSb290PC9iPiAoICk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9kZXNjcic+VGhpcyBmdW5jdGlvbiByZXR1cm5zIHRoZSBjdXJyZW50bHktc2VsZWN0ZWQgcm9vdCBjbGFzcywgdXN1YWxseQoJCWVpdGhlciAiPHR0PmJsb2NrPC90dD4iIG9yICI8dHQ+aW5saW5lPC90dD4iLiAgU2VlCgkJPGEgaHJlZj0iYXBpX3Jvb3QuaHRtbCNyZWZfcGFyc2VyX1NldFJvb3RJbmxpbmUiPlNldFJvb3RJbmxpbmUoKTwvYT4sCgkJPGEgaHJlZj0iYXBpX3Jvb3QuaHRtbCNyZWZfcGFyc2VyX1NldFJvb3RCbG9jayI+U2V0Um9vdEJsb2NrKCk8L2E+LAoJCW9yIDxhIGhyZWY9ImFwaV9yb290Lmh0bWwjcmVmX3BhcnNlcl9TZXRSb290Ij5TZXRSb290KCk8L2E+IGZvciBtb3JlIGRldGFpbHMuPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UmV0dXJuIHZhbHVlczo8L2I+ICBUaGUgY3VycmVudGx5LXNlbGVjdGVkIHJvb3QgY2xhc3MuPC9kaXY+CjwvZGl2Pgo=]]></data>
	</file>
	<file>
	  <filename>/docs/doc/src/api_rule.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CjxhIG5hbWU9InJlZl9wYXJzZXJfQWRkUnVsZSI+PC9hPgo8ZGl2IGNsYXNzPSdhcGknPgoJPGRpdiBjbGFzcz0nYXBpX2hlYWQnPnZvaWQgPGI+QkJDb2RlOjpBZGRSdWxlPC9iPiAoIHN0cmluZyAkPHR0Pm5hbWU8L3R0PiAsIGFycmF5ICQ8dHQ+cGFyYW1zPC90dD4gKTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2Rlc2NyJz5UaGlzIGZ1bmN0aW9uIGFkZHMgYSBuZXcgdGFnIHJ1bGUuICBUYWcgcnVsZXMgY29udHJvbCB0aGUgcHJvY2Vzc2luZyBvZgoJCUJCQ29kZSBbdGFnc107IHdpdGggdGhlIGNvcnJlY3QgcnVsZSBkZWZpbml0aW9uLCB5b3UgY2FuIG1ha2UgYSB0YWcgZG8ganVzdCBhYm91dCBhbnl0aGluZwoJCXlvdSBjYW4gdGhpbmsgb2YuICBUbyBhZGQgYSBydWxlIGZvciBhIGdpdmVuIHRhZywgY2FsbCBBZGRSdWxlKCkgYW5kIHByb3ZpZGUgdGhlIG5hbWUgb2YKCQl0aGUgdGFnIHJ1bGUgeW91IHdpc2ggdG8gYWRkIG9yIHJlcGxhY2UsIGFuZCBhbiBhcnJheSBjb250YWluaW5nCgkJPGEgaHJlZj0iYXBwX3J1bGUuaHRtbCI+cnVsZSBwYXJhbWV0ZXJzPC9hPiB0aGF0IGRlZmluZXMgd2hhdCBOQkJDIHNob3VsZCBkbyB3aGVuIGl0IHNlZXMKCQl0aGF0IHRhZy4gIEFueSBvbGQgcnVsZSBwYXJhbWV0ZXJzIGRlZmluZWQgZm9yIHRoYXQgdGFnIHdpbGwgYmUgcmVtb3ZlZCBieSB0aGlzIGZ1bmN0aW9uLAoJCXNvIHRoaXMgY2FuIGFsc28gcmVwbGFjZSB0YWcgcnVsZXMgYXMgd2VsbCBhcyBhZGRpbmcgbmV3IHJ1bGVzLjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlBhcmFtZXRlcnM6PC9iPgoJCTx1bD4KCQk8bGk+PGk+bmFtZTwvaT46IFRoZSBuYW1lIG9mIGEgdGFnIHlvdSB3aXNoIHRvIGFkZCBvciByZXBsYWNlLCBsaWtlICI8dHQ+YjwvdHQ+IiBvcgoJCQkiPHR0PnVybDwvdHQ+IiBvciAiPHR0PmxhcnJ5PC90dD4iLiAgTmVhcmx5IGFueSBuYW1lIGlzIGFsbG93ZWQ7IGhvd2V2ZXIsIHRoZSBuYW1lIG1heSBub3QgaW5jbHVkZQoJCQl0aGUgZm9sbG93aW5nIGNoYXJhY3RlcnM6ICAnWycsICddJywgJz0nLCBvciBhbnkgd2hpdGVzcGFjZSBjaGFyYWN0ZXIuPC9saT4KCQk8bGk+PGk+cGFyYW1zPC9pPjogIEFuIGFycmF5IG9mIDxhIGhyZWY9ImFwcF9ydWxlLmh0bWwiPnJ1bGUgcGFyYW1ldGVyczwvYT4gZGVmaW5pbmcKCQkJd2hhdCBOQkJDIHNob3VsZCBkbyB3aGVuIGl0IHByb2Nlc3NlcyB0aGlzIHRhZy48L2xpPgoJCTwvdWw+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5SZXR1cm4gVmFsdWU6PC9iPiAgTm9uZS48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvX2Jsb2NrJz4KCQkoVGhlIHVzZXIncyBtYW51YWwsIHNlY3Rpb25zIDxhIGhyZWY9InVzYWdlX2FkZC5odG1sIj5JSUkuQzwvYT4gdGhyb3VnaAoJCTxhIGhyZWY9InVzYWdlX2NhbGwuaHRtbCI+SUlJLkY8L2E+IGFzIHdlbGwgYXMgPGEgaHJlZj0iYXBwX3J1bGUuaHRtbCI+YXBwZW5kaXggQjwvYT4KCQlhbmQgPGEgaHJlZj0iYXBwX3J1bGUuaHRtbCI+YXBwZW5kaXggRTwvYT4sIGNvbnRhaW5zIGV4dGVuc2l2ZSBkb2N1bWVudGF0aW9uIG9uCgkJdXNpbmcgdGhpcyBmdW5jdGlvbiwgc28gdGhhdCBpbmZvcm1hdGlvbiB3aWxsIG5vdCBiZSByZXBlYXRlZCBoZXJlLikKCTwvZGl2Pgo8L2Rpdj4KCjxhIG5hbWU9InJlZl9wYXJzZXJfUmVtb3ZlUnVsZSI+PC9hPgo8ZGl2IGNsYXNzPSdhcGknPgoJPGRpdiBjbGFzcz0nYXBpX2hlYWQnPnZvaWQgPGI+QkJDb2RlOjpSZW1vdmVSdWxlPC9iPiAoIHN0cmluZyAkPHR0Pm5hbWU8L3R0PiApPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfZGVzY3InPlRoaXMgZnVuY3Rpb24gdW4tZGVmaW5lcyB0aGUgY3VycmVudCBydWxlIGZvciB0aGUgZ2l2ZW4gdGFnIC0tLSBpbiBzaG9ydCwKCQl0aGlzIGNhdXNlcyBOQkJDIHRvIHN0b3AgcmVjb2duaXppbmcgdGhlIGdpdmVuIHRhZyBhcyBhIHRhZy48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5QYXJhbWV0ZXJzOjwvYj4KCQk8dWw+CgkJPGxpPjxpPm5hbWU8L2k+OiBUaGUgbmFtZSBvZiBhIHRhZyB0byByZW1vdmUgZnJvbSB0aGUgcnVsZXNldC48L2xpPgoJCTwvdWw+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5SZXR1cm4gVmFsdWU6PC9iPiAgTm9uZS48L2Rpdj4KPC9kaXY+Cgo8YSBuYW1lPSJyZWZfcGFyc2VyX0dldFJ1bGUiPjwvYT4KPGRpdiBjbGFzcz0nYXBpJz4KCTxkaXYgY2xhc3M9J2FwaV9oZWFkJz5hcnJheSA8Yj5CQkNvZGU6OkdldFJ1bGU8L2I+ICggc3RyaW5nICQ8dHQ+bmFtZTwvdHQ+ICk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9kZXNjcic+VGhpcyBmdW5jdGlvbiByZXR1cm5zIHRoZSA8YSBocmVmPSJhcHBfcnVsZS5odG1sIj5wYXJhbWV0ZXIgYXJyYXk8L2E+IGZvciBhIGdpdmVuIHRhZywKCQlieSBuYW1lLCB0aGUgc2FtZSBhcnJheSBhcyB3YXMgbW9zdCByZWNlbnRseSBnaXZlbiB0byA8YSBocmVmPSJhcGlfcm9vdC5odG1sI3JlZl9wYXJzZXJfQWRkUnVsZSI+QWRkUnVsZSgpPC9hPgoJCWZvciB0aGF0IHNhbWUgdGFnIG5hbWUuPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UGFyYW1ldGVyczo8L2I+CgkJPHVsPgoJCTxsaT48aT5uYW1lPC9pPjogVGhlIG5hbWUgb2YgdGhlIHRhZyB3aG9zZSBwYXJhbWV0ZXJzIHlvdSdkIGxpa2UgdG8gcmV0cmlldmUuPC9saT4KCQk8L3VsPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UmV0dXJuIHZhbHVlczo8L2I+ICBUaGUgcGFyYW1ldGVyIGFycmF5IGZvciB0aGUgZ2l2ZW4gdGFnLCBpZiB0aGUgdGFnCgkJaGFzIGEgcnVsZTsgaWYgaXQgZG9lcyBub3QsIHRoZSByZXR1cm4gdmFsdWUgaXMgPHR0PmZhbHNlPC90dD4uPC9kaXY+CjwvZGl2PgoKPGEgbmFtZT0icmVmX3BhcnNlcl9DbGVhclJ1bGVzIj48L2E+CjxkaXYgY2xhc3M9J2FwaSc+Cgk8ZGl2IGNsYXNzPSdhcGlfaGVhZCc+dm9pZCA8Yj5CQkNvZGU6OkNsZWFyUnVsZXM8L2I+ICggKTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2Rlc2NyJz5UaGlzIGZ1bmN0aW9uIHJlbW92ZXMgPGk+YWxsPC9pPiBydWxlcyBjdXJyZW50bHkgYXNzb2NpYXRlZCB3aXRoIHRoaXMKCQlCQkNvZGUgb2JqZWN0LCBhZnRlciB3aGljaCB0aGUgQkJDb2RlIG9iamVjdCB3aWxsIGhhdmUgbm8gcnVsZXMgZGVmaW5lZCBhdCBhbGwuICBUaGlzCgkJaXMgdXNlZnVsIGlmIHlvdSB3YW50IHRvIHJlcGxhY2UgdGhlIGRlZmF1bHQgcnVsZXNldCBlbnRpcmVseSB3aXRoIHlvdXIgb3duIGN1c3RvbSBydWxlc2V0LjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlBhcmFtZXRlcnM6PC9iPiAgTm9uZS48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5SZXR1cm4gVmFsdWU6PC9iPiAgTm9uZS48L2Rpdj4KPC9kaXY+Cgo8YSBuYW1lPSJyZWZfcGFyc2VyX0dldERlZmF1bHRSdWxlIj48L2E+CjxkaXYgY2xhc3M9J2FwaSc+Cgk8ZGl2IGNsYXNzPSdhcGlfaGVhZCc+YXJyYXkgPGI+QkJDb2RlOjpHZXREZWZhdWx0UnVsZTwvYj4gKCBzdHJpbmcgJDx0dD5uYW1lPC90dD4gKTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2Rlc2NyJz5UaGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIGRlZmF1bHQgPGEgaHJlZj0iYXBwX3J1bGUuaHRtbCI+cGFyYW1ldGVyIGFycmF5PC9hPgoJCWZvciBhIGdpdmVuIHRhZywgYnkgbmFtZSwgdGhlIHNhbWUgYXJyYXkgdGhhdCB3b3VsZCBiZSB1c2VkIGJ5IGEgbmV3bHktY29uc3RydWN0ZWQgQkJDb2RlIG9iamVjdC4KCQlUaGlzIHByb3ZpZGVzIHlvdSB3aXRoIGFuIGVhc3kgd2F5IHRvIGxvb2sgdXAgYSBydWxlIHByb3ZpZGVkIGJ5IHRoZSA8YSBocmVmPSJiYmMuaHRtbCI+U3RhbmRhcmQgQkJDb2RlIExpYnJhcnk8L2E+LjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlBhcmFtZXRlcnM6PC9iPgoJCTx1bD4KCQk8bGk+PGk+bmFtZTwvaT46IFRoZSBuYW1lIG9mIHRoZSB0YWcgd2hvc2UgcGFyYW1ldGVycyB5b3UnZCBsaWtlIHRvIHJldHJpZXZlLjwvbGk+CgkJPC91bD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlJldHVybiB2YWx1ZXM6PC9iPiAgVGhlIFN0YW5kYXJkIEJCQ29kZSBMaWJyYXJ5J3MgcGFyYW1ldGVyIGFycmF5IGZvciB0aGUKCQlnaXZlbiB0YWcsIGlmIHRoZSB0YWcgaGFzIGEgcnVsZTsgaWYgaXQgZG9lcyBub3QsIHRoZSByZXR1cm4gdmFsdWUgaXMgPHR0PmZhbHNlPC90dD4uPC9kaXY+CjwvZGl2PgoKPGEgbmFtZT0icmVmX3BhcnNlcl9TZXREZWZhdWx0UnVsZSI+PC9hPgo8ZGl2IGNsYXNzPSdhcGknPgoJPGRpdiBjbGFzcz0nYXBpX2hlYWQnPnZvaWQgPGI+QkJDb2RlOjpTZXREZWZhdWx0UnVsZTwvYj4gKCBzdHJpbmcgJDx0dD5uYW1lPC90dD4gKTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2Rlc2NyJz5UaGlzIGZ1bmN0aW9uIGNoYW5nZXMgdGhlIDxhIGhyZWY9ImFwcF9ydWxlLmh0bWwiPnBhcmFtZXRlciBhcnJheTwvYT4KCQlmb3IgYSBnaXZlbiB0YWcsIGJ5IG5hbWUsIHRvIHRoZSBzYW1lIGFycmF5IHRoYXQgd291bGQgYmUgdXNlZCBieSBhIG5ld2x5LWNvbnN0cnVjdGVkIEJCQ29kZSBvYmplY3QsCgkJdGhlIHNhbWUgYXJyYXkgdGhhdCB3b3VsZCBiZSByZXR1cm5lZCBieSA8YSBocmVmPSIjcmVmX3BhcnNlcl9HZXREZWZhdWx0UnVsZSI+R2V0RGVmYXVsdFJ1bGUoKTwvYT4uPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UGFyYW1ldGVyczo8L2I+CgkJPHVsPgoJCTxsaT48aT5uYW1lPC9pPjogVGhlIG5hbWUgb2YgdGhlIHRhZyB3aG9zZSBydWxlIHlvdSdkIGxpa2UgdG8gcmV2ZXJ0IHRvIGl0cyBkZWZhdWx0IHNldHRpbmcuPC9saT4KCQk8L3VsPgoJPC9kaXY+CjwvZGl2PgoKPGEgbmFtZT0icmVmX3BhcnNlcl9HZXREZWZhdWx0UnVsZXMiPjwvYT4KPGRpdiBjbGFzcz0nYXBpJz4KCTxkaXYgY2xhc3M9J2FwaV9oZWFkJz5hcnJheSA8Yj5CQkNvZGU6OkdldERlZmF1bHRSdWxlczwvYj4gKCApPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfZGVzY3InPlRoaXMgZnVuY3Rpb24gcmV0dXJucyBhIGtleSA9Jmd0OyB2YWx1ZSBhcnJheSB0aGF0IGNvbnRhaW5zIDxpPmFsbDwvaT4KCQlvZiB0aGUgZGVmYXVsdCBydWxlcyAtLS0gYWxsIG9mIHRoZSBydWxlcyBmb3IgdGhlIDxhIGhyZWY9ImJiYy5odG1sIj5TdGFuZGFyZCBCQkNvZGUgTGlicmFyeTwvYT4uICBFYWNoIGtleQoJCWlzIHRoZSBuYW1lIG9mIGEgdGFnLCBhbmQgZWFjaCB2YWx1ZSBpcyBhbiBhcnJheSBjb250YWluaW5nIDxhIGhyZWY9ImFwcF9ydWxlLmh0bWwiPnJ1bGUgcGFyYW1ldGVyczwvYT4uCgkJVGhpcyBpcyBleGFjdGx5IHRoZSBzYW1lIGFzIGNhbGxpbmcgPGEgaHJlZj0iI3JlZl9wYXJzZXJfR2V0RGVmYXVsdFJ1bGUiPkdldERlZmF1bHRSdWxlKCk8L2E+CgkJbWFueSB0aW1lcywgb25jZSBmb3IgZWFjaCB0YWcgaW4gdGhlIFN0YW5kYXJkIEJCQ29kZSBMaWJyYXJ5LCBvbmx5IG11Y2gsIG11Y2ggZmFzdGVyLjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlBhcmFtZXRlcnM6PC9iPiAgTm9uZS48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5SZXR1cm4gVmFsdWU6PC9iPiAgQW4gYXJyYXkgY29udGFpbmluZyBhbGwgb2YgdGhlIGRlZmF1bHQgQkJDb2RlIHJ1bGVzLjwvZGl2Pgo8L2Rpdj4KCjxhIG5hbWU9InJlZl9wYXJzZXJfU2V0RGVmYXVsdFJ1bGVzIj48L2E+CjxkaXYgY2xhc3M9J2FwaSc+Cgk8ZGl2IGNsYXNzPSdhcGlfaGVhZCc+dm9pZCA8Yj5CQkNvZGU6OlNldERlZmF1bHRSdWxlczwvYj4gKCApPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfZGVzY3InPlRoaXMgZnVuY3Rpb24gY2F1c2VzIHRoZSBCQkNvZGUgb2JqZWN0J3MgZW50aXJlIGN1cnJlbnQgcnVsZXNldCB0byBiZQoJCXJlcGxhY2VkIHdpdGggdGhlIGRlZmF1bHQgcnVsZXMgLS0tIGluIG90aGVyIHdvcmRzLCB0byBiZSBjaGFuZ2VkIGJhY2sgdG8gdGhlIHJ1bGVzCgkJdGhhdCBpdCBoYWQganVzdCBhZnRlciBpdCB3YXMgbmV3bHktY3JlYXRlZCAtLS0gaW4gb3RoZXIgd29yZHMsIHRvIHRoZSBydWxlc2V0IGZvciB0aGUKCQk8YSBocmVmPSJiYmMuaHRtbCI+U3RhbmRhcmQgQkJDb2RlIExpYnJhcnk8L2E+LiAgQWxsIG9mIHRoZSBleGlzdGluZyBydWxlcyBvZiB0aGlzCgkJb2JqZWN0IHdpbGwgYmUgZGVsZXRlZCwgYW5kIHRoZSBuZXcsIGRlZmF1bHQgcnVsZXMgd2lsbCBiZSBpbnN0YWxsZWQgaW5zdGVhZC48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5QYXJhbWV0ZXJzOjwvYj4gIE5vbmUuPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UmV0dXJuIFZhbHVlOjwvYj4gIE5vbmUuPC9kaXY+CjwvZGl2Pgo=]]></data>
	</file>
	<file>
	  <filename>/docs/doc/src/api_smiley.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CjxhIG5hbWU9InJlZl9wYXJzZXJfQWRkU21pbGV5Ij48L2E+CjxkaXYgY2xhc3M9J2FwaSc+Cgk8ZGl2IGNsYXNzPSdhcGlfaGVhZCc+dm9pZCA8Yj5CQkNvZGU6OkFkZFNtaWxleTwvYj4gKCBzdHJpbmcgJDx0dD5uYW1lPC90dD4gLCBzdHJpbmcgJDx0dD5pbWFnZTwvdHQ+ICk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9kZXNjcic+VGhpcyBmdW5jdGlvbiBhZGRzIGEgbmV3IHNtaWxleS4gIFNtaWxleXMsIG9yIGVtb3RpY29ucywgYXJlIGNoYXJhY3RlcgoJCXN5bWJvbHMgbGlrZSA8dHQ+Oi0pPC90dD4gdGhhdCBnZXQgYXV0b21hdGljYWxseSBjb252ZXJ0ZWQgdG8gaW1hZ2VzIGxpa2UKCQk8aW1nIHNyYz0iLi4vc21pbGV5cy9zbWlsZS5naWYiIHdpZHRoPScxNicgaGVpZ2h0PScxNicgYWx0PSI6LSkiIC8+LiAgVG8gYWRkIGEgc21pbGV5LCBjYWxsCgkJQWRkU21pbGV5KCkgYW5kIHByb3ZpZGUgdGhlIHRleHQgb2YgdGhlIHNtaWxleSB5b3Ugd2lzaCB0byBhZGQgb3IgcmVwbGFjZSwgYW5kIHRoZSBuYW1lCgkJb2YgYW4gaW1hZ2UgdGhhdCBpcyB0byBiZSBkaXNwbGF5ZWQgaW4gaXRzIHBsYWNlLiAgQW55IG9sZCBzbWlsZXkgZGVmaW5lZCBmb3IgdGhhdCBzdHJpbmcKCQl3aWxsIGJlIHJlbW92ZWQgYnkgdGhpcyBmdW5jdGlvbiwgc28gdGhpcyBjYW4gYWxzbyByZXBsYWNlIHNtaWxleXMgYXMgd2VsbCBhcyBhZGRpbmcgbmV3IHNtaWxleXMuPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UGFyYW1ldGVyczo8L2I+CgkJPHVsPgoJCTxsaT48aT5uYW1lPC9pPjogVGhlIG5hbWUgb2YgYSBzbWlsZXkgeW91IHdpc2ggdG8gYWRkIG9yIHJlcGxhY2UsIGxpa2UgIjx0dD46LSk8L3R0PiIgb3IKCQkJIjx0dD46MzwvdHQ+IiBvciAiPHR0Pjpmcm9nOjwvdHQ+Ii4gIE5lYXJseSBhbnkgbmFtZSBpcyBhbGxvd2VkOyBob3dldmVyLCBiZXlvbmQKCQkJY29tbW9uIHNlcXVlbmNlcywgeW91IGFyZSBlbmNvdXJhZ2VkIHRvIHVzZSBuYW1lcyBzdXJyb3VuZGVkIGJ5IDx0dD46PC90dD5jb2xvbnM8dHQ+OjwvdHQ+CgkJCXNvIHRoYXQgdGhleSBhcmUgbm90IGFjY2lkZW50YWxseSBtaXN0YWtlbiBmb3Igbm9uLXNtaWxleSB0ZXh0LjwvbGk+CgkJPGxpPjxpPmltYWdlPC9pPjogIFRoZSBuYW1lIG9mIGFuIGltYWdlIGxvY2F0ZWQgaW4gdGhlIGN1cnJlbnQgc21pbGV5cyBkaXJlY3RvcnkgdGhhdAoJCQl5b3Ugd2lzaCB0byBoYXZlIGRpc3BsYXllZCBpbiBwbGFjZSBvZiB0aGUgdGV4dCBzeW1ib2wuPC9saT4KCQk8L3VsPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UmV0dXJuIFZhbHVlOjwvYj4gIE5vbmUuPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mb19ibG9jayc+CgkJKFRoZSB1c2VyJ3MgbWFudWFsLCBzZWN0aW9uIDxhIGhyZWY9InVzYWdlX3NtaWxleS5odG1sIj5JSUkuRDwvYT4gYXMgd2VsbCBhcwoJCTxhIGhyZWY9ImFwcF9zbWlsZXkuaHRtbCI+YXBwZW5kaXggQTwvYT4sIGNvbnRhaW5zIGFkZGl0aW9uYWwgZG9jdW1lbnRhdGlvbiBvbgoJCXVzaW5nIHRoaXMgZnVuY3Rpb24sIHNvIHRoYXQgaW5mb3JtYXRpb24gd2lsbCBub3QgYmUgcmVwZWF0ZWQgaGVyZS4pCgk8L2Rpdj4KPC9kaXY+Cgo8YSBuYW1lPSJyZWZfcGFyc2VyX1JlbW92ZVNtaWxleSI+PC9hPgo8ZGl2IGNsYXNzPSdhcGknPgoJPGRpdiBjbGFzcz0nYXBpX2hlYWQnPnZvaWQgPGI+QkJDb2RlOjpSZW1vdmVTbWlsZXk8L2I+ICggc3RyaW5nICQ8dHQ+bmFtZTwvdHQ+ICk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9kZXNjcic+VGhpcyBmdW5jdGlvbiB1bi1kZWZpbmVzIHRoZSBnaXZlbiBzbWlsZXkgLS0tIGluIHNob3J0LAoJCXRoaXMgY2F1c2VzIE5CQkMgdG8gc3RvcCByZWNvZ25pemluZyB0aGUgZ2l2ZW4gc21pbGV5IGFuZCBjb252ZXJ0aW5nIGl0IHRvIGFuIGltYWdlLjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlBhcmFtZXRlcnM6PC9iPgoJCTx1bD4KCQk8bGk+PGk+bmFtZTwvaT46IFRoZSB0ZXh0IGZvcm0gb2YgYSBzbWlsZXkgdG8gcmVtb3ZlIGZyb20gdGhlIHJ1bGVzZXQuPC9saT4KCQk8L3VsPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UmV0dXJuIFZhbHVlOjwvYj4gIE5vbmUuPC9kaXY+CjwvZGl2PgoKPGEgbmFtZT0icmVmX3BhcnNlcl9HZXRTbWlsZXkiPjwvYT4KPGRpdiBjbGFzcz0nYXBpJz4KCTxkaXYgY2xhc3M9J2FwaV9oZWFkJz5zdHJpbmcgPGI+QkJDb2RlOjpHZXRTbWlsZXk8L2I+ICggc3RyaW5nICQ8dHQ+bmFtZTwvdHQ+ICk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9kZXNjcic+VGhpcyBmdW5jdGlvbiByZXR1cm5zIHRoZSBpbWFnZSBmb3IgYSBnaXZlbiBzbWlsZXksCgkJYnkgbmFtZSwgdGhlIHNhbWUgYXJyYXkgYXMgd2FzIG1vc3QgcmVjZW50bHkgZ2l2ZW4gdG8gPGEgaHJlZj0iYXBpX3NtaWxleS5odG1sI3JlZl9wYXJzZXJfQWRkU21pbGV5Ij5BZGRTbWlsZXkoKTwvYT4KCQlmb3IgdGhhdCBzYW1lIHNtaWxleS48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5QYXJhbWV0ZXJzOjwvYj4KCQk8dWw+CgkJPGxpPjxpPm5hbWU8L2k+OiBUaGUgdGV4dCBmb3JtIG9mIHRoZSBzbWlsZXkgd2hvc2UgaW1hZ2UgbmFtZSB5b3UnZCBsaWtlIHRvIHJldHJpZXZlLjwvbGk+CgkJPC91bD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlJldHVybiB2YWx1ZXM6PC9iPiAgVGhlIGltYWdlIGZvciB0aGUgZ2l2ZW4gc21pbGV5LCBpZiB0aGUgc21pbGV5CgkJaGFzIGJlZW4gZGVmaW5lZDsgaWYgaXQgaGFzIG5vdCwgdGhlIHJldHVybiB2YWx1ZSBpcyA8dHQ+ZmFsc2U8L3R0Pi48L2Rpdj4KPC9kaXY+Cgo8YSBuYW1lPSJyZWZfcGFyc2VyX0NsZWFyU21pbGV5cyI+PC9hPgo8ZGl2IGNsYXNzPSdhcGknPgoJPGRpdiBjbGFzcz0nYXBpX2hlYWQnPnZvaWQgPGI+QkJDb2RlOjpDbGVhclNtaWxleXM8L2I+ICggKTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2Rlc2NyJz5UaGlzIGZ1bmN0aW9uIHJlbW92ZXMgPGk+YWxsPC9pPiBzbWlsZXlzIGN1cnJlbnRseSBhc3NvY2lhdGVkIHdpdGggdGhpcwoJCUJCQ29kZSBvYmplY3QsIGFmdGVyIHdoaWNoIHRoZSBCQkNvZGUgb2JqZWN0IHdpbGwgaGF2ZSBubyBzbWlsZXlzIGRlZmluZWQgYXQgYWxsLiAgVGhpcwoJCWlzIHVzZWZ1bCBpZiB5b3Ugd2FudCB0byByZXBsYWNlIHRoZSBkZWZhdWx0IHNtaWxleXMgZW50aXJlbHkgd2l0aCB5b3VyIG93biBjdXN0b20gc21pbGV5cy48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5QYXJhbWV0ZXJzOjwvYj4gIE5vbmUuPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UmV0dXJuIFZhbHVlOjwvYj4gIE5vbmUuPC9kaXY+CjwvZGl2PgoKPGEgbmFtZT0icmVmX3BhcnNlcl9HZXREZWZhdWx0U21pbGV5Ij48L2E+CjxkaXYgY2xhc3M9J2FwaSc+Cgk8ZGl2IGNsYXNzPSdhcGlfaGVhZCc+YXJyYXkgPGI+QkJDb2RlOjpHZXREZWZhdWx0U21pbGV5PC9iPiAoIHN0cmluZyAkPHR0Pm5hbWU8L3R0PiApPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfZGVzY3InPlRoaXMgZnVuY3Rpb24gcmV0dXJucyB0aGUgZGVmYXVsdCBzbWlsZXkgaW1hZ2UgbmFtZQoJCWZvciBhIGdpdmVuIGNodW5rIG9mIHRleHQsIHRoZSBzYW1lIGltYWdlIG5hbWUgdGhhdCB3b3VsZCBiZSB1c2VkIGJ5IGEgbmV3bHktY29uc3RydWN0ZWQgQkJDb2RlIG9iamVjdC4KCQlUaGlzIHByb3ZpZGVzIHlvdSB3aXRoIGFuIGVhc3kgd2F5IHRvIGxvb2sgdXAgYSBzbWlsZXkgcHJvdmlkZWQgYnkgdGhlIDxhIGhyZWY9ImFwcF9zbWlsZXkuaHRtbCI+U3RhbmRhcmQgU21pbGV5czwvYT4uPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UGFyYW1ldGVyczo8L2I+CgkJPHVsPgoJCTxsaT48aT5uYW1lPC9pPjogVGhlIHRleHQgZm9ybSBvZiB0aGUgc21pbGV5IHdob3NlIGltYWdlIG5hbWUgeW91J2QgbGlrZSB0byByZXRyaWV2ZS48L2xpPgoJCTwvdWw+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5SZXR1cm4gdmFsdWVzOjwvYj4gIFRoZSBTdGFuZGFyZCBTbWlsZXkncyBpbWFnZSBuYW1lIGZvciB0aGUKCQlnaXZlbiB0ZXh0LCBpZiB0aGUgdGV4dCBoYXMgYmVlbiBkZWZpbmVkIGFzIGEgc21pbGV5OyBpZiBpdCBoYXMgbm90LCB0aGUgcmV0dXJuIHZhbHVlIGlzIDx0dD5mYWxzZTwvdHQ+LjwvZGl2Pgo8L2Rpdj4KCjxhIG5hbWU9InJlZl9wYXJzZXJfU2V0RGVmYXVsdFNtaWxleSI+PC9hPgo8ZGl2IGNsYXNzPSdhcGknPgoJPGRpdiBjbGFzcz0nYXBpX2hlYWQnPnZvaWQgPGI+QkJDb2RlOjpTZXREZWZhdWx0U21pbGV5PC9iPiAoIHN0cmluZyAkPHR0Pm5hbWU8L3R0PiApPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfZGVzY3InPlRoaXMgZnVuY3Rpb24gY2hhbmdlcyB0aGUgc21pbGV5CgkJZm9yIGEgZ2l2ZW4gdGV4dCBzdHJpbmcgdG8gdGhlIHNhbWUgaW1hZ2UgbmFtZSB0aGF0IHdvdWxkIGJlIHVzZWQgYnkgYSBuZXdseS1jb25zdHJ1Y3RlZCBCQkNvZGUgb2JqZWN0LAoJCXRoZSBzYW1lIGltYWdlIG5hbWUgdGhhdCB3b3VsZCBiZSByZXR1cm5lZCBieSA8YSBocmVmPSIjcmVmX3BhcnNlcl9HZXREZWZhdWx0U21pbGV5Ij5HZXREZWZhdWx0U21pbGV5KCk8L2E+LjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlBhcmFtZXRlcnM6PC9iPgoJCTx1bD4KCQk8bGk+PGk+bmFtZTwvaT46IFRoZSB0ZXh0IGZvcm0gb2YgdGhlIHNtaWxleSB3aG9zZSBpbWFnZSBuYW1lIHlvdSdkIGxpa2UgdG8gcmV2ZXJ0IHRvIGl0cyBkZWZhdWx0IHNldHRpbmcuPC9saT4KCQk8L3VsPgoJPC9kaXY+CjwvZGl2PgoKPGEgbmFtZT0icmVmX3BhcnNlcl9HZXREZWZhdWx0U21pbGV5cyI+PC9hPgo8ZGl2IGNsYXNzPSdhcGknPgoJPGRpdiBjbGFzcz0nYXBpX2hlYWQnPmFycmF5IDxiPkJCQ29kZTo6R2V0RGVmYXVsdFNtaWxleXM8L2I+ICggKTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2Rlc2NyJz5UaGlzIGZ1bmN0aW9uIHJldHVybnMgYSBrZXkgPSZndDsgdmFsdWUgYXJyYXkgdGhhdCBjb250YWlucyA8aT5hbGw8L2k+CgkJb2YgdGhlIGRlZmF1bHQgc21pbGV5cyAtLS0gYWxsIG9mIHRoZSBzbWlsZXlzIGluIHRoZSBzZXQgb2YgPGEgaHJlZj0iYXBwX3NtaWxleS5odG1sIj5TdGFuZGFyZCBTbWlsZXlzPC9hPi4gIEVhY2gga2V5CgkJaXMgYSB0ZXh0IHN0cmluZywgYW5kIGVhY2ggdmFsdWUgaXMgdGhlIG5hbWUgb2YgYW4gaW1hZ2UuCgkJVGhpcyBpcyBleGFjdGx5IHRoZSBzYW1lIGFzIGNhbGxpbmcgPGEgaHJlZj0iI3JlZl9wYXJzZXJfR2V0RGVmYXVsdFNtaWxleSI+R2V0RGVmYXVsdFNtaWxleSgpPC9hPgoJCW1hbnkgdGltZXMsIG9uY2UgZm9yIGVhY2ggdGV4dCBzdHJpbmcgaW4gdGhlIFN0YW5kYXJkIFNtaWxleXMsIG9ubHkgbXVjaCwgbXVjaCBmYXN0ZXIuPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UGFyYW1ldGVyczo8L2I+ICBOb25lLjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlJldHVybiBWYWx1ZTo8L2I+ICBBbiBhcnJheSBjb250YWluaW5nIGFsbCBvZiB0aGUgZGVmYXVsdCBzbWlsZXlzLjwvZGl2Pgo8L2Rpdj4KCjxhIG5hbWU9InJlZl9wYXJzZXJfU2V0RGVmYXVsdFNtaWxleXMiPjwvYT4KPGRpdiBjbGFzcz0nYXBpJz4KCTxkaXYgY2xhc3M9J2FwaV9oZWFkJz52b2lkIDxiPkJCQ29kZTo6U2V0RGVmYXVsdFNtaWxleXM8L2I+ICggKTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2Rlc2NyJz5UaGlzIGZ1bmN0aW9uIGNhdXNlcyB0aGUgQkJDb2RlIG9iamVjdCdzIGVudGlyZSBjdXJyZW50IHNldCBvZiBzbWlsZXlzIHRvIGJlCgkJcmVwbGFjZWQgd2l0aCB0aGUgZGVmYXVsdCBzbWlsZXlzIC0tLSBpbiBvdGhlciB3b3JkcywgdG8gYmUgY2hhbmdlZCBiYWNrIHRvIHRoZSBzbWlsZXlzCgkJdGhhdCBpdCBoYWQganVzdCBhZnRlciBpdCB3YXMgbmV3bHktY3JlYXRlZCAtLS0gaW4gb3RoZXIgd29yZHMsIHRvIHRoZSBydWxlc2V0IGZvciB0aGUKCQk8YSBocmVmPSJhcHBfc21pbGV5Lmh0bWwiPlN0YW5kYXJkIFNtaWxleXM8L2E+LiAgQWxsIG9mIHRoZSBleGlzdGluZyBzbWlsZXkgZGVmaW5pdGlvbnMgaW4gdGhpcwoJCW9iamVjdCB3aWxsIGJlIGRlbGV0ZWQsIGFuZCB0aGUgbmV3LCBkZWZhdWx0IHNtaWxleSBkZWZpbml0aW9ucyB3aWxsIGJlIGluc3RhbGxlZCBpbnN0ZWFkLjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlBhcmFtZXRlcnM6PC9iPiAgTm9uZS48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5SZXR1cm4gVmFsdWU6PC9iPiAgTm9uZS48L2Rpdj4KPC9kaXY+Cgo8YSBuYW1lPSJyZWZfcGFyc2VyX1NldFNtaWxleURpciI+PC9hPgo8ZGl2IGNsYXNzPSdhcGknPgoJPGRpdiBjbGFzcz0nYXBpX2hlYWQnPnZvaWQgPGI+QkJDb2RlOjpTZXRTbWlsZXlEaXI8L2I+ICggc3RyaW5nICQ8dHQ+ZnVsbHBhdGg8L3R0PiApPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfZGVzY3InPlRoaXMgZnVuY3Rpb24gdGVsbHMgTkJCQyB3aGVyZSBzbWlsZXkgaW1hZ2VzIGFyZSBmb3VuZCwKCQlhcyBhIHBhdGhuYW1lIHJlbGF0aXZlIHRvIHRoZSByb290IG9mIHRoZSBob3N0J3MgZmlsZXN5c3RlbSAoYW4gYWJzb2x1dGUgcGF0aG5hbWUpLgoJCVlvdSBzaG91bGQgdXN1YWxseSB1c2UgYSBmdWxsIGFic29sdXRlIHBhdGhuYW1lIGZvciB0aGlzLCBsaWtlICI8dHQ+L2hvbWUvbGFycnkvd2ViL3NtaWxleXM8L3R0PiIsCgkJYW5kIHlvdSBzaG91bGQgPGk+bm90PC9pPiBpbmNsdWRlIGEgdHJhaWxpbmcgc2xhc2ggb24gdGhlIHBhdGgsIGFzIG9uZSB3aWxsIGJlIGFwcGVuZGVkCgkJYXV0b21hdGljYWxseS4gIFVzaW5nIHJlbGF0aXZlIHBhdGhuYW1lcyBjYW4gd29yaywgYnV0IG1heSBwcm9kdWNlIHByb2JsZW1zIG9uIHNvbWUKCQl3ZWIgc2VydmVycy48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5QYXJhbWV0ZXJzOjwvYj4KCQk8dWwgY2xhc3M9J2FwaV9wYXJhbXMnPgoJCTxsaT48dHQ+PGk+ZnVsbHBhdGg8L2k+PC90dD46IFRoZSBmaWxlc3lzdGVtIHBhdGggdG8geW91ciBzbWlsZXkgZGlyZWN0b3J5LjwvbGk+CgkJPC91bD4KCTwvZGl2Pgo8L2Rpdj4KCjxhIG5hbWU9InJlZl9wYXJzZXJfR2V0U21pbGV5RGlyIj48L2E+CjxkaXYgY2xhc3M9J2FwaSc+Cgk8ZGl2IGNsYXNzPSdhcGlfaGVhZCc+c3RyaW5nIDxiPkJCQ29kZTo6R2V0U21pbGV5RGlyPC9iPiAoICk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9kZXNjcic+VGhpcyBmdW5jdGlvbiByZXR1cm5zIHRoZSBjdXJyZW50IHNtaWxleSBkaXJlY3RvcnkuCgkJU2VlIDxhIGhyZWY9ImFwaV9zbWlsZXkuaHRtbCNyZWZfcGFyc2VyX1NldFNtaWxleURpciI+U2V0U21pbGV5RGlyKCk8L2E+IGZvciBtb3JlIGRldGFpbHMuPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UmV0dXJuIHZhbHVlczo8L2I+ICBSZXR1cm5zIHRoZSBjdXJyZW50IHNtaWxleSBkaXJlY3RvcnkuCgkJSWYgbm8gc21pbGV5IGRpcmVjdG9yeSBoYXMgYmVlbiBzZXQsIHRoaXMgcmV0dXJucyBzaW1wbHkgInNtaWxleXMiLjwvZGl2Pgo8L2Rpdj4KCjxhIG5hbWU9InJlZl9wYXJzZXJfR2V0RGVmYXVsdFNtaWxleURpciI+PC9hPgo8ZGl2IGNsYXNzPSdhcGknPgoJPGRpdiBjbGFzcz0nYXBpX2hlYWQnPnN0cmluZyA8Yj5CQkNvZGU6OkdldERlZmF1bHRTbWlsZXlEaXI8L2I+ICggKTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2Rlc2NyJz5UaGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIGRlZmF1bHQgbG9jYWwgaW1hZ2UgZGlyZWN0b3J5LjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlJldHVybiB2YWx1ZXM6PC9iPiAgQWx3YXlzIHJldHVybnMgInNtaWxleXMiLjwvZGl2Pgo8L2Rpdj4KCjxhIG5hbWU9InJlZl9wYXJzZXJfU2V0U21pbGV5VVJMIj48L2E+CjxkaXYgY2xhc3M9J2FwaSc+Cgk8ZGl2IGNsYXNzPSdhcGlfaGVhZCc+dm9pZCA8Yj5CQkNvZGU6OlNldFNtaWxleVVSTDwvYj4gKCBzdHJpbmcgJDx0dD51cmw8L3R0PiApPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfZGVzY3InPlRoaXMgZnVuY3Rpb24gdGVsbHMgdGhlIGJyb3dzZXIgd2hlcmUgc21pbGV5cyBhcmUgZm91bmQsCgkJYXMgYW4gYWJzb2x1dGUgVVJMLiAgWW91IHNob3VsZCB1c3VhbGx5IHVzZSBhIGZ1bGwgYWJzb2x1dGUgVVJMIGZvciB0aGlzLCBsaWtlCgkJIjx0dD5odHRwOi8vbGFycnkuZXhhbXBsZS5jb20vc21pbGV5czwvdHQ+IiwgYW5kIHlvdSBzaG91bGQgPGk+bm90PC9pPiBpbmNsdWRlIGEKCQl0cmFpbGluZyBzbGFzaCBvbiB0aGUgcGF0aCwgYXMgb25lIHdpbGwgYmUgYXBwZW5kZWQgYXV0b21hdGljYWxseS4gIFVzaW5nIHJlbGF0aXZlCgkJKHNob3J0KSBVUkxzIGNhbiB3b3JrLCBidXQgbWF5IHByb2R1Y2UgcHJvYmxlbXMgd2l0aCBzb21lIHdlYiBicm93c2VycyBpZiBub3QKCQl1c2VkIGNhcmVmdWxseS48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5QYXJhbWV0ZXJzOjwvYj4KCQk8dWwgY2xhc3M9J2FwaV9wYXJhbXMnPgoJCTxsaT48dHQ+PGk+dXJsPC9pPjwvdHQ+OiBUaGUgZnVsbCBVUkwgdG8geW91ciBzbWlsZXkgZGlyZWN0b3J5LjwvbGk+CgkJPC91bD4KCTwvZGl2Pgo8L2Rpdj4KCjxhIG5hbWU9InJlZl9wYXJzZXJfR2V0U21pbGV5VVJMIj48L2E+CjxkaXYgY2xhc3M9J2FwaSc+Cgk8ZGl2IGNsYXNzPSdhcGlfaGVhZCc+c3RyaW5nIDxiPkJCQ29kZTo6R2V0U21pbGV5VVJMPC9iPiAoICk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9kZXNjcic+VGhpcyBmdW5jdGlvbiByZXR1cm5zIHRoZSBjdXJyZW50IHNtaWxleSBVUkwuCgkJU2VlIDxhIGhyZWY9ImFwaV9zbWlsZXkuaHRtbCNyZWZfcGFyc2VyX1NldFNtaWxleVVSTCI+U2V0U21pbGV5VVJMKCk8L2E+IGZvciBtb3JlIGRldGFpbHMuPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UmV0dXJuIHZhbHVlczo8L2I+ICBSZXR1cm5zIHRoZSBjdXJyZW50IHNtaWxleSBVUkwuCgkJSWYgbm8gc21pbGV5IFVSTCBoYXMgYmVlbiBzZXQsIHRoaXMgcmV0dXJucyBzaW1wbHkgInNtaWxleXMiLjwvZGl2Pgo8L2Rpdj4KCjxhIG5hbWU9InJlZl9wYXJzZXJfR2V0RGVmYXVsdFNtaWxleVVSTCI+PC9hPgo8ZGl2IGNsYXNzPSdhcGknPgoJPGRpdiBjbGFzcz0nYXBpX2hlYWQnPnN0cmluZyA8Yj5CQkNvZGU6OkdldERlZmF1bHRTbWlsZXlVUkw8L2I+ICggKTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2Rlc2NyJz5UaGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIGRlZmF1bHQgc21pbGV5IFVSTC48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5SZXR1cm4gdmFsdWVzOjwvYj4gIEFsd2F5cyByZXR1cm5zICJzbWlsZXlzIi48L2Rpdj4KPC9kaXY+Cgo8YSBuYW1lPSJyZWZfcGFyc2VyX1NldEVuYWJsZVNtaWxleXMiPjwvYT4KPGRpdiBjbGFzcz0nYXBpJz4KCTxkaXYgY2xhc3M9J2FwaV9oZWFkJz52b2lkIDxiPkJCQ29kZTo6U2V0RW5hYmxlU21pbGV5czwvYj4gKCBib29sICQ8dHQ+ZW5hYmxlPC90dD4gKTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2Rlc2NyJz5UaGlzIGZ1bmN0aW9uIGRldGVybWluZXMgd2hldGhlciBzbWlsZXlzIGxpa2UgPHR0PjotKTwvdHQ+IGFyZQoJCWNvbnZlcnRlZCB0byBpbWFnZXMgb3Igd2hldGhlciB0aGV5IGFyZSBpZ25vcmVkIGFuZCB0cmVhdGVkIGFzIHBsYWluIHRleHQuPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UGFyYW1ldGVyczo8L2I+CgkJPHVsIGNsYXNzPSdhcGlfcGFyYW1zJz4KCQk8bGk+PHR0PjxpPmVuYWJsZTwvaT48L3R0PjogIElmIHNldCB0byA8dHQ+dHJ1ZTwvdHQ+LCBhbGwgZGVmaW5lZCBzbWlsZXlzIGFyZSBjb252ZXJ0ZWQgdG8KCQkJdGhlaXIgbWF0Y2hpbmcgaW1hZ2VzOyB0aGlzIGlzIHRoZSBkZWZhdWx0IGJlaGF2aW9yLiAgSWYgc2V0IHRvIDx0dD5mYWxzZTwvdHQ+LCBhbGwKCQkJc21pbGV5cyBhcmUgdHJlYXRlZCB0aGUgc2FtZSBhcyBhbnkgb3RoZXIgdGV4dCBhbmQgcGFzc2VkIHRvIHRoZSBvdXRwdXQgdW5jaGFuZ2VkLjwvbGk+CgkJPC91bD4KCTwvZGl2Pgo8L2Rpdj4KCjxhIG5hbWU9InJlZl9wYXJzZXJfR2V0RW5hYmxlU21pbGV5cyI+PC9hPgo8ZGl2IGNsYXNzPSdhcGknPgoJPGRpdiBjbGFzcz0nYXBpX2hlYWQnPmJvb2wgPGI+QkJDb2RlOjpHZXRFbmFibGVTbWlsZXlzPC9iPiAoICk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9kZXNjcic+VGhpcyBmdW5jdGlvbiByZXR1cm5zIHRoZSBjdXJyZW50IGVuYWJsZS1zbWlsZXlzIHN0YXRlLgoJCVNlZSA8YSBocmVmPSJhcGlfc21pbGV5Lmh0bWwjcmVmX3BhcnNlcl9TZXRFbmFibGVTbWlsZXlzIj5TZXRFbmFibGVTbWlsZXlzKCk8L2E+IGZvciBtb3JlIGRldGFpbHMuPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UmV0dXJuIHZhbHVlczo8L2I+ICBSZXR1cm5zIDx0dD50cnVlPC90dD4gb3IgPHR0PmZhbHNlPC90dD4sIGRlcGVuZGluZwoJCW9uIHdoZXRoZXIgc21pbGV5cyBhcmUgYmVpbmcgY29udmVydGVkIHRvIGltYWdlcy48L2Rpdj4KPC9kaXY+Cg==]]></data>
	</file>
	<file>
	  <filename>/docs/doc/src/api_trim.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CjxhIG5hbWU9InJlZl9wYXJzZXJfU2V0UHJlVHJpbSI+PC9hPgo8ZGl2IGNsYXNzPSdhcGknPgoJPGRpdiBjbGFzcz0nYXBpX2hlYWQnPnZvaWQgPGI+QkJDb2RlOjpTZXRQcmVUcmltPC9iPiAoIHN0cmluZyAkPHR0PmhvdzwvdHQ+ICk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9kZXNjcic+VGhpcyBmdW5jdGlvbiBjb250cm9scyBob3cgTkJCQyByZW1vdmVzIHdoaXRlc3BhY2UgZnJvbSB0aGUKCQlzdGFydCBvZiB0aGUgZG9jdW1lbnQuICBUaGUgZGVmYXVsdCBiZWhhdmlvciBpcyB0byByZW1vdmUgbm8gd2hpdGVzcGFjZTsgaG93ZXZlciwKCQlpdCBjYW4gYmUgY29udmVuaWVudCB0byBoYXZlIE5CQkMgcmVtb3ZlIGFueSBpbml0aWFsIHNwYWNlcyBvciBuZXdsaW5lcyBmb3IgeW91LgoJCVlvdSBzdXBwbHkgYSB3aGl0ZXNwYWNlLXJlbW92YWwgc3RyaW5nIGluICQ8dHQ+aG93PC90dD4gdXNpbmcgdGhlIHNhbWUgc3ludGF4CgkJYXMgaW4gdGhlIDxhIGhyZWY9ImFwcF9ydWxlLmh0bWwiPndoaXRlc3BhY2UtcmVtb3ZhbCBwYXJhbWV0ZXJzIGZvciBhIHJ1bGU8L2E+LjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlBhcmFtZXRlcnM6PC9iPgoJCTx1bD4KCQk8bGk+PGk+aG93PC9pPjogVGhpcyBzdHJpbmcgZGVzY3JpYmVzIHdoYXQga2luZHMgb2Ygd2hpdGVzcGFjZSB0byByZW1vdmUuICBJdCBpcwoJCQlhIHNpbXBsZSBwYXR0ZXJuIGV4cHJlc3Npb24sIGNvbnN0cnVjdGVkIGZyb20gdGhlIGZvbGxvd2luZyBlbGVtZW50czoKCQkJPHVsPgoJCQk8bGk+PHR0PnM8L3R0PiAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUmVtb3ZlIGFueSBub24tbmV3bGluZSB3aGl0ZXNwYWNlIGZvdW5kLjwvbGk+CgkJCTxsaT48dHQ+bjwvdHQ+ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBSZW1vdmUgYSBzaW5nbGUgbmV3bGluZSwgaWYgb25lIGV4aXN0cy48L2xpPgoJCQk8bGk+PHR0PmE8L3R0PiAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUmVtb3ZlIGFzIG1hbnkgc3BhY2VzIGFuZCBuZXdsaW5lcyBhcyBhcmUgZm91bmQuPC9saT4KCQkJPC91bD4KCQkJVGhlIHBhdHRlcm4gcHJvdmlkZWQgaXMgbWF0Y2hlZCA8aT5mb3J3YXJkPC9pPiBmcm9tIHRoZSBzdGFydCBvZiB0aGUgaW5wdXQuCgkJCVRoZSBkZWZhdWx0IGlzIHRoZSBlbXB0eSBzdHJpbmcsIHdoaWNoIG1lYW5zIG5vIHdoaXRlc3BhY2Ugb3IgbmV3bGluZXMKCQkJYXJlIHRvIGJlIHJlbW92ZWQuCgkJPC9saT4KCQk8L3VsPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UmV0dXJuIFZhbHVlOjwvYj4gIE5vbmUuPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+Q29tbW9uIEV4YW1wbGVzOjwvYj48YnIgLz4KCQkmbmJzcDsgJm5ic3A7ICZuYnNwOyA8dHQ+J3MnJm5ic3A7Jm5ic3A7PC90dD4gJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFJlbW92ZSBhbGwgbm9uLW5ld2xpbmUgd2hpdGVzcGFjZTxiciAvPgoJCSZuYnNwOyAmbmJzcDsgJm5ic3A7IDx0dD4nc24nJm5ic3A7PC90dD4gJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFJlbW92ZSBhbGwgbm9uLW5ld2xpbmUgd2hpdGVzcGFjZSwgdGhlbiBhIHNpbmdsZSBuZXdsaW5lIGlmIGl0IGV4aXN0cy48YnIgLz4KCQkmbmJzcDsgJm5ic3A7ICZuYnNwOyA8dHQ+J25zJyZuYnNwOzwvdHQ+ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBSZW1vdmUgYSBzaW5nbGUgbmV3bGluZSBpZiBpdCBleGlzdHMsIHRoZW4gYWxsIG5vbi1uZXdsaW5lIHdoaXRlc3BhY2UuPGJyIC8+CgkJJm5ic3A7ICZuYnNwOyAmbmJzcDsgPHR0PidzbnMnPC90dD4gJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFJlbW92ZSBhbGwgbm9uLW5ld2xpbmUgd2hpdGVzcGFjZSwgdGhlbiBhIHNpbmdsZSBuZXdsaW5lIGlmIGl0IGV4aXN0cyw8YnIgLz4KCQkmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyB0aGVuIGFueSBub24tbmV3bGluZSB3aGl0ZXNwYWNlIGZvdW5kIHBhc3QgdGhhdCBuZXdsaW5lLgoJPC9kaXY+CjwvZGl2PgoKPGEgbmFtZT0icmVmX3BhcnNlcl9HZXRQcmVUcmltIj48L2E+CjxkaXYgY2xhc3M9J2FwaSc+Cgk8ZGl2IGNsYXNzPSdhcGlfaGVhZCc+c3RyaW5nIDxiPkJCQ29kZTo6R2V0UHJlVHJpbTwvYj4gKCApPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfZGVzY3InPlRoaXMgZnVuY3Rpb24gcmV0dXJucyB0aGUgY3VycmVudCB3aGl0ZXNwYWNlIHByZS10cmltbWluZyBwYXR0ZXJuLgoJCVNlZSA8YSBocmVmPSJhcGlfdHJpbS5odG1sI3JlZl9wYXJzZXJfU2V0UHJlVHJpbSI+U2V0UHJlVHJpbSgpPC9hPiBmb3IgbW9yZSBkZXRhaWxzLjwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlJldHVybiB2YWx1ZXM6PC9iPiAgVGhlIGN1cnJlbnQgd2hpdGVzcGFjZSBwcmUtdHJpbW1pbmcgcGF0dGVybi48L2Rpdj4KPC9kaXY+Cgo8YSBuYW1lPSJyZWZfcGFyc2VyX1NldFBvc3RUcmltIj48L2E+CjxkaXYgY2xhc3M9J2FwaSc+Cgk8ZGl2IGNsYXNzPSdhcGlfaGVhZCc+dm9pZCA8Yj5CQkNvZGU6OlNldFBvc3RUcmltPC9iPiAoIHN0cmluZyAkPHR0PmhvdzwvdHQ+ICk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9kZXNjcic+VGhpcyBmdW5jdGlvbiBjb250cm9scyBob3cgTkJCQyByZW1vdmVzIHdoaXRlc3BhY2UgZnJvbSB0aGUKCQllbmQgb2YgdGhlIGRvY3VtZW50LiAgVGhlIGRlZmF1bHQgYmVoYXZpb3IgaXMgdG8gcmVtb3ZlIG5vIHdoaXRlc3BhY2U7IGhvd2V2ZXIsCgkJaXQgY2FuIGJlIGNvbnZlbmllbnQgdG8gaGF2ZSBOQkJDIHJlbW92ZSBhbnkgdHJhaWxpbmcgc3BhY2VzIG9yIG5ld2xpbmVzIGZvciB5b3UuCgkJWW91IHN1cHBseSBhIHdoaXRlc3BhY2UtcmVtb3ZhbCBzdHJpbmcgaW4gJDx0dD5ob3c8L3R0PiB1c2luZyB0aGUgc2FtZSBzeW50YXgKCQlhcyBpbiB0aGUgPGEgaHJlZj0iYXBwX3J1bGUuaHRtbCI+d2hpdGVzcGFjZS1yZW1vdmFsIHBhcmFtZXRlcnMgZm9yIGEgcnVsZTwvYT4uPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UGFyYW1ldGVyczo8L2I+CgkJPHVsPgoJCTxsaT48aT5ob3c8L2k+OiBUaGlzIHN0cmluZyBkZXNjcmliZXMgd2hhdCBraW5kcyBvZiB3aGl0ZXNwYWNlIHRvIHJlbW92ZS4gIEl0IGlzCgkJCWEgc2ltcGxlIHBhdHRlcm4gZXhwcmVzc2lvbiwgY29uc3RydWN0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIGVsZW1lbnRzOgoJCQk8dWw+CgkJCTxsaT48dHQ+czwvdHQ+ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBSZW1vdmUgYW55IG5vbi1uZXdsaW5lIHdoaXRlc3BhY2UgZm91bmQuPC9saT4KCQkJPGxpPjx0dD5uPC90dD4gJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFJlbW92ZSBhIHNpbmdsZSBuZXdsaW5lLCBpZiBvbmUgZXhpc3RzLjwvbGk+CgkJCTxsaT48dHQ+YTwvdHQ+ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBSZW1vdmUgYXMgbWFueSBzcGFjZXMgYW5kIG5ld2xpbmVzIGFzIGFyZSBmb3VuZC48L2xpPgoJCQk8L3VsPgoJCQlUaGUgcGF0dGVybiBwcm92aWRlZCBpcyBtYXRjaGVkIDxpPmJhY2t3YXJkPC9pPiBmcm9tIHRoZSB2ZXJ5IGVuZCBvZiB0aGUgaW5wdXQuCgkJCVRoZSBkZWZhdWx0IGlzIHRoZSBlbXB0eSBzdHJpbmcsIHdoaWNoIG1lYW5zIG5vIHdoaXRlc3BhY2Ugb3IgbmV3bGluZXMKCQkJYXJlIHRvIGJlIHJlbW92ZWQuCgkJPC9saT4KCQk8L3VsPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UmV0dXJuIFZhbHVlOjwvYj4gIE5vbmUuPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+Q29tbW9uIEV4YW1wbGVzOjwvYj48YnIgLz4KCQkmbmJzcDsgJm5ic3A7ICZuYnNwOyA8dHQ+J3MnJm5ic3A7Jm5ic3A7PC90dD4gJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFJlbW92ZSBhbGwgbm9uLW5ld2xpbmUgd2hpdGVzcGFjZTxiciAvPgoJCSZuYnNwOyAmbmJzcDsgJm5ic3A7IDx0dD4nc24nJm5ic3A7PC90dD4gJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFJlbW92ZSBhbGwgbm9uLW5ld2xpbmUgd2hpdGVzcGFjZSwgdGhlbiBhIHNpbmdsZSBuZXdsaW5lIGlmIGl0IGV4aXN0cy48YnIgLz4KCQkmbmJzcDsgJm5ic3A7ICZuYnNwOyA8dHQ+J25zJyZuYnNwOzwvdHQ+ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBSZW1vdmUgYSBzaW5nbGUgbmV3bGluZSBpZiBpdCBleGlzdHMsIHRoZW4gYWxsIG5vbi1uZXdsaW5lIHdoaXRlc3BhY2UuPGJyIC8+CgkJJm5ic3A7ICZuYnNwOyAmbmJzcDsgPHR0PidzbnMnPC90dD4gJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFJlbW92ZSBhbGwgbm9uLW5ld2xpbmUgd2hpdGVzcGFjZSwgdGhlbiBhIHNpbmdsZSBuZXdsaW5lIGlmIGl0IGV4aXN0cyw8YnIgLz4KCQkmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyB0aGVuIGFueSBub24tbmV3bGluZSB3aGl0ZXNwYWNlIGZvdW5kIHBhc3QgdGhhdCBuZXdsaW5lLgoJPC9kaXY+CjwvZGl2PgoKPGEgbmFtZT0icmVmX3BhcnNlcl9HZXRQb3N0VHJpbSI+PC9hPgo8ZGl2IGNsYXNzPSdhcGknPgoJPGRpdiBjbGFzcz0nYXBpX2hlYWQnPnN0cmluZyA8Yj5CQkNvZGU6OkdldFBvc3RUcmltPC9iPiAoICk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9kZXNjcic+VGhpcyBmdW5jdGlvbiByZXR1cm5zIHRoZSBjdXJyZW50IHdoaXRlc3BhY2UgcG9zdC10cmltbWluZyBwYXR0ZXJuLgoJCVNlZSA8YSBocmVmPSJhcGlfdHJpbS5odG1sI3JlZl9wYXJzZXJfU2V0UG9zdFRyaW0iPlNldFBvc3RUcmltKCk8L2E+IGZvciBtb3JlIGRldGFpbHMuPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UmV0dXJuIHZhbHVlczo8L2I+ICBUaGUgY3VycmVudCB3aGl0ZXNwYWNlIHBvc3QtdHJpbW1pbmcgcGF0dGVybi48L2Rpdj4KPC9kaXY+Cg==]]></data>
	</file>
	<file>
	  <filename>/docs/doc/src/api_wiki.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CjxhIG5hbWU9InJlZl9wYXJzZXJfU2V0V2lraVVSTCI+PC9hPgo8ZGl2IGNsYXNzPSdhcGknPgoJPGRpdiBjbGFzcz0nYXBpX2hlYWQnPnZvaWQgPGI+QkJDb2RlOjpTZXRXaWtpVVJMPC9iPiAoIHN0cmluZyAkPHR0PnVybDwvdHQ+ICk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9kZXNjcic+VGhpcyBmdW5jdGlvbiBjaGFuZ2VzIHRoZSBjdXJyZW50IHdpa2kgVVJMIHRvIHRoZSBwcm92aWRlZAoJCXN0cmluZy4gIFdoZW4gYSBbd2lraT0iZm9vIl0gdGFnIGlzIGVuY291bnRlcmVkIGluIHRoZSBpbnB1dCAob3IgaXRzIGVxdWl2YWxlbnQKCQl0YWcsIFtbZm9vXV0pLCBOQkJDIHdpbGwgdXNlIHRoaXMgVVJMIHRvIHR1cm4gdGhhdCB0YWcgaW50byBhIDx0dD4mbHQ7YSZndDs8L3R0PgoJCWxpbms6ICBUaGlzIFVSTCB3aWxsIGJlIHRha2VuIGZpcnN0LCBhbmQgdGhlIDxhIGhyZWY9IiNyZWZfcGFyc2VyX1dpa2lmeSI+d2lraS1maWVkPC9hPgoJCXBhZ2UgbmFtZSAoImZvbyIpIHdpbGwgYmUgYXBwZW5kZWQgdG8gaXQgKHdpdGggbm8gY2hhcmFjdGVycyBhZGRlZCBpbiBiZXR3ZWVuKS4KCQlTZWUgdGhlIHNlY3Rpb24gb24gPGEgaHJlZj0idXNhZ2Vfd2lraSI+d2lraS1saW5rczwvYT4gZm9yIG1vcmUgaW5mb3JtYXRpb24gb24KCQlob3cgdG8gdXNlIHRoaXMgZnVuY3Rpb24uPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UGFyYW1ldGVyczo8L2I+CgkJPHVsPgoJCTxsaT48aT51cmw8L2k+OiAgQSBzdHJpbmcgdG8gYmUgaW5zZXJ0ZWQgaW4gdGhlIHJlc3VsdGluZyA8dHQ+Jmx0O2EmbmJzcDtocmVmPS4uLiZndDs8L3R0PgoJCQllbGVtZW50IGJlZm9yZSB0aGUgPGEgaHJlZj0iI3JlZl9wYXJzZXJfV2lraWZ5Ij53aWtpLWZpZWQ8L2E+IHBhZ2UgbmFtZS4gIEZvciBleGFtcGxlLAoJCQlpZiB0aGlzIGlzICI8dHQ+aHR0cDovL3d3dy5leGFtcGxlLmNvbS93aWtpLnBocD9wYWdlPTwvdHQ+IiBhbmQgdGhlIHBhZ2UgbmFtZSBnaXZlbiBieQoJCQl0aGUgdXNlciBpcyAiPHR0Pkdlb3JnZSBXYXNoaW5ndG9uPC90dD4iLCB0aGUgcmVzdWx0aW5nIGNvbXBsZXRlIFVSTCB3b3VsZCBiZQoJCQk8dHQ+Jmx0O2EmbmJzcDtocmVmPVwiaHR0cDovL3d3dy5leGFtcGxlLmNvbS93aWtpLnBocD9wYWdlPUdlb3JnZV9XYXNoaW5ndG9uJmd0OzwvdHQ+LgoJCTwvdWw+PC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UmV0dXJuIHZhbHVlczo8L2I+ICBOb25lLjwvZGl2Pgo8L2Rpdj4KCjxhIG5hbWU9InJlZl9wYXJzZXJfR2V0V2lraVVSTCI+PC9hPgo8ZGl2IGNsYXNzPSdhcGknPgoJPGRpdiBjbGFzcz0nYXBpX2hlYWQnPnN0cmluZyA8Yj5CQkNvZGU6OkdldFdpa2lVUkw8L2I+ICggKTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2Rlc2NyJz5UaGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIGN1cnJlbnQgd2lraSBVUkwsIGFzIHNldCBieQoJCTxhIGhyZWY9InJlZl9wYXJzZXJfU2V0V2lraVVSTCI+U2V0V2lraVVSTCgpPC9hPi4gIElmIG5vIHdpa2kgVVJMIGhhcyBiZWVuCgkJc2V0LCB0aGUgcmV0dXJuIHZhbHVlIGlzIHRoZSBzYW1lIGFzIHRoYXQgb2YKCQk8YSBocmVmPSJyZWZfcGFyc2VyX0dldERlZmF1bHRXaWtpVVJMIj5HZXREZWZhdWx0V2lraVVSTCgpPC9hPi48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5QYXJhbWV0ZXJzOjwvYj4gTm9uZS48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5SZXR1cm4gdmFsdWVzOjwvYj4gIFRoZSBjdXJyZW50IHdpa2kgVVJMLjwvZGl2Pgo8L2Rpdj4KCjxhIG5hbWU9InJlZl9wYXJzZXJfR2V0RGVmYXVsdFdpa2lVUkwiPjwvYT4KPGRpdiBjbGFzcz0nYXBpJz4KCTxkaXYgY2xhc3M9J2FwaV9oZWFkJz5zdHJpbmcgPGI+QkJDb2RlOjpHZXREZWZhdWx0V2lraVVSTDwvYj4gKCApPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfZGVzY3InPlRoaXMgZnVuY3Rpb24gcmV0dXJucyB0aGUgZGVmYXVsdCB3aWtpIFVSTCwgd2hpY2ggaXMKCQlhbHdheXMgPHR0PiIvP3BhZ2U9PC90dD4iIC0tLSB0aGlzIFVSTCwgd2hlbiBhIHdpa2kgcGFnZSBuYW1lIGxpa2UgImZvbyIgaXMKCQlhcHBlbmRlZCB0byB0aGUgZW5kIG9mIGl0LCByZXN1bHRzIGluIGxpbmtzIHRoYXQgbG9vayBsaWtlIHRoaXM6CgkJPHR0PiZsdDthJm5ic3A7aHJlZj0iLz9wYWdlPWZvbyImZ3Q7Li4uJmx0Oy9hJmd0OzwvdHQ+PC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UGFyYW1ldGVyczo8L2I+IE5vbmUuPC9kaXY+Cgk8ZGl2IGNsYXNzPSdhcGlfaW5mbyc+PGI+UmV0dXJuIHZhbHVlczo8L2I+ICBUaGUgZGVmYXVsdCB3aWtpIFVSTCwgd2hpY2gKCQlpcyBhbHdheXMgPHR0PiIvP3BhZ2U9PC90dD4iLjwvZGl2Pgo8L2Rpdj4KCjxhIG5hbWU9InJlZl9wYXJzZXJfV2lraWZ5Ij48L2E+CjxkaXYgY2xhc3M9J2FwaSc+Cgk8ZGl2IGNsYXNzPSdhcGlfaGVhZCc+c3RyaW5nIDxiPkJCQ29kZTo6V2lraWZ5PC9iPiAoIHN0cmluZyAkPHR0PnJhd3N0cmluZzwvdHQ+ICk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9kZXNjcic+VGhpcyBmdW5jdGlvbiB0YWtlcyBhIHJhdyBzdHJpbmcgYW5kIGNsZWFucyBpdCB1cCBmb3IgdXNlIGFzCgkJYSB3aWtpIHBhZ2UgbmFtZS4gIFRvIGRvIHRoaXMsIGl0IHJlcGxhY2VzIGFsbCBvZiB0aGUgZm9sbG93aW5nIGNoYXJhY3RlcnMgd2l0aAoJCXVuZGVyc2NvcmVzOjxiciAvPgoJCTxiciAvPgoJCSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzx0dD4sICEgPyA7IEAgIyAkICUgXCBeICZhbXA7ICogJmx0OyAmZ3Q7ID0gKyBgIH4gJyBfIC08L3R0PiAmbmJzcDsgJm5ic3A7IGFuZCBhbGwgd2hpdGVzcGFjZSAoMHgwMC0weDIwKS48YnIgLz4KCQk8YnIgLz4KCQlJbiBhZGRpdGlvbiwgbXVsdGlwbGUgc3VjY2Vzc2l2ZSB1bmRlcnNjb3JlcyBhcmUgY29uZGVuc2VkIHRvIGEgc2luZ2xlIHVuZGVyc2NvcmUsCgkJYW5kIGFsbCBpbml0aWFsIGFuZCB0cmFpbGluZyB1bmRlcnNjb3JlcyBhcmUgcmVtb3ZlZC4gIEFsc28sIGNoYXJhY3RlcnMgaW4gdGhlIGV4dGVuZGVkCgkJcmFuZ2UgKDB4N0YtMHhGRikgYXJlIHJlcGxhY2VkIHdpdGggdGhlaXIgVVJMLWVuY29kZWQgZXF1aXZhbGVudHMuCgk8L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvJz48Yj5QYXJhbWV0ZXJzOjwvYj4KCQk8dWw+CgkJPGxpPjxpPnJhd3N0cmluZzwvaT46IFRoZSBzdHJpbmcgdG8gY2xlYW4gdXAgYW5kIG1ha2UgIndpa2ktZnJpZW5kbHkuIjwvbGk+CgkJPC91bD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0nYXBpX2luZm8nPjxiPlJldHVybiB2YWx1ZXM6PC9iPiAgVGhlIHJlc3VsdGluZyAiY2xlYW4iIHN0cmluZy48L2Rpdj4KCTxkaXYgY2xhc3M9J2FwaV9pbmZvX2Jsb2NrJz48Yj5Ob3Rlczo8L2I+PGJyIC8+PGJyIC8+CgkJRm9yIGV4YW1wbGUsICJXYXNoaW5ndG9uLCBELkMuIgoJCXdvdWxkIGJlY29tZSAiPHR0Pldhc2hpbmd0b25fRC5DLjwvdHQ+Iiwgd2hpY2ggaXMgYSBzdHJpbmcgdGhhdCBjYW4gYmUgc2FmZWx5IHVzZWQgYXMKCQlwYXJ0IG9mIGEgVVJMOyB3aGlsZSAiJmVhY3V0ZTsiIG1pZ2h0IGJlY29tZSAiPHR0PiVFOTwvdHQ+IiwgYW5kICImZWFjdXRlO2dsaXNlIiBtaWdodAoJCWJlY29tZSAiPHR0PiVFOWdsaXNlPC90dD4iLCBkZXBlbmRpbmcgb24geW91ciBjdXJyZW50IGNoYXJhY3RlciBlbmNvZGluZy4gIFRoZQoJCW91dHB1dCBvZiB0aGlzIGZ1bmN0aW9uIGlzIGFsd2F5cyBVUkwtc2FmZSBhbmQgOC1iaXQgY2xlYW4uPGJyIC8+PGJyIC8+CgkJCgkJTm90ZSB0aGF0IGJlY2F1c2UgYWNjZW50ZWQgY2hhcmFjdGVycyBsaWtlICZlYWN1dGU7IGFuZCAmdXVtbDsgYW5kCgkJbm9uLVJvbWFuIGNoYXJhY3RlcnMgbGlrZSA8c3BhbiBzdHlsZT0nZm9udC1zaXplOjEzcHQ7Jz4mIzE0ODg7PC9zcGFuPiBhbmQgPHNwYW4gc3R5bGU9J2ZvbnQ6MTNwdCBCYXRhbmcsIk1TIEdvdGhpYyIsIk1TIE1pbmNobyIsQXJpYWwnPiYjMjM0NzA7PC9zcGFuPiBhcmUgY29udmVydGVkIHRvCgkJVVJMLWVuY29kZWQtZXF1aXZhbGVudHMsIHRoaXMgZnVuY3Rpb24gbWF5IG5vdCBzdWl0YWJsZSBmb3IgdXNlIHdpdGggc29tZSBub24tUm9tYW4KCQlsYW5ndWFnZXMuPGJyIC8+PGJyIC8+CgkJCgkJVGhlIHJhdGlvbmFsZSBiZWhpbmQgVVJMLWVuY29kaW5nIHRoZSBub24tRW5nbGlzaCBjaGFyYWN0ZXJzIGlzIHRoYXQgc29tZSB3ZWIgc2VydmVycwoJCWFuZCBzb21lIHdlYiBicm93c2VycyBhcmUgPGk+bm90PC9pPiA4LWJpdCBjbGVhbiBhbmQgbWF5IG1pc2JlaGF2ZSBpZiB0aGV5IGFyZQoJCXNlbnQgYSBkaXJlY3QgY29kZSB2YWx1ZSBpbiB0aGlzIHJhbmdlLgoJPC9kaXY+CjwvZGl2PgoK]]></data>
	</file>
	<file>
	  <filename>/docs/doc/src/app_class.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CjxwPkNvbnRlbnQgY2xhc3NlcyBjb250cm9sIHdoaWNoIHRhZ3MgYXJlIGFsbG93ZWQgdG8gbmVzdCB3aXRoaW4gb3RoZXJzIGFuZCB3aGljaAphcmUgbm90OiAgSWYgYSB0YWcgaXMgbm90IGFsbG93ZWQgdG8gbmVzdCBpbnNpZGUgdGhlIGN1cnJlbnQgY2xhc3MsIGl0IHdpbGwgYmUgdHJlYXRlZAphcyBwbGFpbiB0ZXh0IGluc3RlYWQgb2YgYXMgYSB0YWcuICBZb3UgY2FuIGRlZmluZSB5b3VyIG93biBjbGFzc2VzIGRlcGVuZGluZyBvbiB5b3VyCm5lZWRzLCBidXQgdGhlIG1vc3QgY29tbW9uIGNsYXNzZXMgYXJlIGFzIGZvbGxvd3M6PC9wPgoKPHVsPgo8bGk+PGI+PHR0PmJsb2NrPC90dD48L2I+OiAgQSByZWN0YW5ndWxhciBibG9jayBvZiB0ZXh0LCBlcXVpdmFsZW50IHRvIHRoZSBDU1MgPHR0PmRpc3BsYXk6YmxvY2s8L3R0PgoJcHJvcGVydHkuICBUaGlzIGlzIGdlbmVyYWxseSBhbiBvdXRlciBjb250YWluaW5nIGNsYXNzLjxiciAvPgoJPGk+VXN1YWxseSBjb250YWluZWQgYnk6PC9pPiAgQmxvY2tzLCBsaXN0IGl0ZW1zLCBjb2x1bW5zLjxiciAvPgoJPGk+Q2FuIHVzdWFsbHkgY29udGFpbjo8L2k+ICBCbG9ja3MsIGlubGluZXMsIGxpbmtzLCBsaXN0cywgY29sdW1ucywgaW1hZ2VzLCBjb2RlPGJyIC8+PGJyIC8+PC9saT4KCjxsaT48Yj48dHQ+aW5saW5lPC90dD48L2I+OiAgQSBzcGFuIG9mIHRleHQgd2l0aCBhbiB1bnVzdWFsIHByb3BlcnR5LCBsaWtlIGl0YWxpY3Mgb3IKCWJvbGRmYWNlIG9yIGEgY29sb3IgY2hhbmdlLiAgVGhpcyBpcyBnZW5lcmFsbHkgYW4gaW5uZXJtb3N0IGNsYXNzOiAgTW9zdCBvdGhlciB0YWdzCgljYW4ndCBnbyBpbnNpZGUgaXQsIHdpdGggc29tZSBleGNlcHRpb25zLjxiciAvPgoJPGk+VXN1YWxseSBjb250YWluZWQgYnk6PC9pPiAgQmxvY2tzLCBsaXN0IGl0ZW1zLCBjb2x1bW5zLCBsaW5rcywgaW5saW5lcy48YnIgLz4KCTxpPkNhbiB1c3VhbGx5IGNvbnRhaW46PC9pPiAgSW5saW5lcywgbGlua3MsIGltYWdlcy48YnIgLz48YnIgLz48L2xpPgoKPGxpPjxiPjx0dD5saW5rPC90dD48L2I+OiAgQSBzcGFuIG9mIHRleHQgdGhhdCBpcyBhIGNsaWNrYWJsZSBsaW5rIHRvIHNvbWV3aGVyZS4gIExpbmtzCgl1c3VhbGx5IGNhbm5vdCBiZSBwbGFjZWQgaW5zaWRlIG90aGVyIGxpbmtzLjxiciAvPgoJPGk+VXN1YWxseSBjb250YWluZWQgYnk6PC9pPiAgQmxvY2tzLCBsaXN0IGl0ZW1zLCBjb2x1bW5zLCBpbmxpbmVzLjxiciAvPgoJPGk+Q2FuIHVzdWFsbHkgY29udGFpbjo8L2k+ICBJbmxpbmVzLCBpbWFnZXMuPGJyIC8+PGJyIC8+PC9saT4KCjxsaT48Yj48dHQ+bGlzdDwvdHQ+PC9iPjogIEEgYmxvY2stbGlrZSByZWdpb24gdGhhdCBtYXkgb25seSBjb250YWluIGxpc3QgaXRlbXMuPGJyIC8+Cgk8aT5Vc3VhbGx5IGNvbnRhaW5lZCBieTo8L2k+ICBCbG9ja3MsIGxpc3QgaXRlbXMsIGNvbHVtbnMuPGJyIC8+Cgk8aT5DYW4gdXN1YWxseSBjb250YWluOjwvaT4gIExpc3QgaXRlbXMuPGJyIC8+PGJyIC8+PC9saT4KCjxsaT48Yj48dHQ+bGlzdGl0ZW08L3R0PjwvYj46ICBBIHNpbmdsZSBpdGVtIGluIGEgbGlzdCwgdGhpcyBpcyBhIGJsb2NrLWxpa2UgcmVnaW9uIHRoYXQKCWNhbiBjb250YWluIGp1c3QgYWJvdXQgYW55dGhpbmcgZWxzZS48YnIgLz4KCTxpPlVzdWFsbHkgY29udGFpbmVkIGJ5OjwvaT4gIExpc3RzLjxiciAvPgoJPGk+Q2FuIHVzdWFsbHkgY29udGFpbjo8L2k+ICBCbG9ja3MsIGlubGluZXMsIGxpbmtzLCBsaXN0cywgY29sdW1ucywgaW1hZ2VzLCBjb2RlPGJyIC8+PGJyIC8+PC9saT4KCjxsaT48Yj48dHQ+Y29sdW1uczwvdHQ+PC9iPjogIEEgYmxvY2stbGlrZSByZWdpb24gdGhhdCBtYXkgY29udGFpbiBtdWx0aXBsZSBwYXJhbGxlbAoJY29sdW1ucyBvZiBibG9ja3Mgd2l0aGluIGl0LjxiciAvPgoJPGk+VXN1YWxseSBjb250YWluZWQgYnk6PC9pPiAgQmxvY2tzLCBsaXN0IGl0ZW1zLCBjb2x1bW5zLjxiciAvPgoJPGk+Q2FuIHVzdWFsbHkgY29udGFpbjo8L2k+ICBCbG9ja3MsIGlubGluZXMsIGxpbmtzLCBsaXN0cywgY29sdW1ucywgaW1hZ2VzLCBjb2RlPGJyIC8+PGJyIC8+PC9saT4KCjxsaT48Yj48dHQ+bmV4dGNvbDwvdHQ+PC9iPjogIEFuIGluZmluaXRlbHkgc21hbGwgY2xhc3MgKHdpdGggbm8gY29udGVudCkgZGVzaWduZWQgdG8KCXNlcGFyYXRlIGNvbHVtbnMgb2YgYSBjb2x1bW4gZ3JvdXAuPGJyIC8+Cgk8aT5Vc3VhbGx5IGNvbnRhaW5lZCBieTo8L2k+ICBDb2x1bW5zLjxiciAvPgoJPGk+Q2FuIHVzdWFsbHkgY29udGFpbjo8L2k+ICAobm90aGluZzsgaGFzIG5vIGJvZHkpPGJyIC8+PGJyIC8+PC9saT4KCjxsaT48Yj48dHQ+aW1hZ2U8L3R0PjwvYj46ICBBbiBpbmxpbmUgdGV4dC1saWtlIG9iamVjdCB0aGF0IGlzIHJlcGxhY2VkIHdpdGggZXh0ZXJuYWwgY29udGVudC48YnIgLz4KCTxpPlVzdWFsbHkgY29udGFpbmVkIGJ5PC9pPjogIEJsb2NrcywgaW5saW5lcywgbGlua3MsIGxpc3QgaXRlbXMsIGNvbHVtbnMsIGNvZGUuPGJyIC8+Cgk8aT5DYW4gdXN1YWxseSBjb250YWluOjwvaT4gIChub3RoaW5nOyBoYXMgbm8gYm9keSk8YnIgLz48YnIgLz48L2xpPgoKPGxpPjxiPjx0dD5jb2RlPC90dD48L2I+OiAgQSBibG9jay1saWtlIHJlZ2lvbiB0aGF0IHJlcHJvZHVjZXMgaXRzIGNvbnRlbnRzIGV4YWN0bHkuPGJyIC8+Cgk8aT5Vc3VhbGx5IGNvbnRhaW5lZCBieTwvaT46ICBCbG9ja3MsIGxpc3QgaXRlbXMsIGNvbHVtbnMuPGJyIC8+Cgk8aT5DYW4gdXN1YWxseSBjb250YWluOjwvaT4gIChub3RoaW5nOyBib2R5IGlzIHZlcmJhdGltKTwvbGk+CjwvdWw+Cgo8cD5TbyB0aGUgc3RhbmRhcmQgY2xhc3MgY29udGFpbmVycyBhcmUgcmVsYXRlZCBsaWtlIHRoaXM6PC9wPgoKPHRhYmxlIGFsaWduPSdjZW50ZXInIGNsYXNzPSdjbGFzc19jb250YWluZXJzJz4KPHRoZWFkPjx0cj48dGggY29sc3Bhbj0nMicgY2xhc3M9J2VtcHR5Jz48L3RoPgoJPHRoIGNvbHNwYW49JzcnPkNhbiBiZSBwbGFjZWQgd2l0aGluIHRoaXMgY2xhc3MqOjwvdGg+PC90cj4KCTx0cj48dGggY29sc3Bhbj0nMicgY2xhc3M9J2VtcHR5Jz48L3RoPgoJCTx0aD5ibG9jazwvdGg+PHRoPmlubGluZTwvdGg+PHRoPmxpbms8L3RoPjx0aD5saXN0PC90aD48dGg+bGlzdGl0ZW08L3RoPjx0aD5jb2x1bW5zPC90aD48dGg+Y29kZTwvdGg+PC90cj4KPC90aGVhZD4KPHRib2R5PgoJPHRyPjx0aCByb3dzcGFuPSc5Jz5UYWc8YnIvID5vZjxici8gPmNsYXNzOjwvdGg+CgkJPHRoPmJsb2NrPC90aD4gICAgICA8dGQ+WWVzPC90ZD48dGQ+LiAgPC90ZD48dGQ+LiAgPC90ZD48dGQ+LiAgPC90ZD48dGQ+WWVzPC90ZD48dGQ+LiAgPC90ZD48dGQ+LiAgPC90ZD48L3RyPgoJPHRyPjx0aD5pbmxpbmU8L3RoPiAgICAgPHRkPlllczwvdGQ+PHRkPlllczwvdGQ+PHRkPlllczwvdGQ+PHRkPi4gIDwvdGQ+PHRkPlllczwvdGQ+PHRkPi4gIDwvdGQ+PHRkPi4gIDwvdGQ+PC90cj4KCTx0cj48dGg+bGluazwvdGg+ICAgICAgIDx0ZD5ZZXM8L3RkPjx0ZD5ZZXM8L3RkPjx0ZD4uICA8L3RkPjx0ZD4uICA8L3RkPjx0ZD5ZZXM8L3RkPjx0ZD4uICA8L3RkPjx0ZD4uICA8L3RkPjwvdHI+Cgk8dHI+PHRoPmxpc3Q8L3RoPiAgICAgICA8dGQ+WWVzPC90ZD48dGQ+LiAgPC90ZD48dGQ+LiAgPC90ZD48dGQ+LiAgPC90ZD48dGQ+WWVzPC90ZD48dGQ+LiAgPC90ZD48dGQ+LiAgPC90ZD48L3RyPgoJPHRyPjx0aD5saXN0aXRlbTwvdGg+ICAgPHRkPi4gIDwvdGQ+PHRkPi4gIDwvdGQ+PHRkPi4gIDwvdGQ+PHRkPlllczwvdGQ+PHRkPi4gIDwvdGQ+PHRkPi4gIDwvdGQ+PHRkPi4gIDwvdGQ+PC90cj4KCTx0cj48dGg+Y29sdW1uczwvdGg+ICAgIDx0ZD5ZZXM8L3RkPjx0ZD4uICA8L3RkPjx0ZD4uICA8L3RkPjx0ZD4uICA8L3RkPjx0ZD5ZZXM8L3RkPjx0ZD4uICA8L3RkPjx0ZD4uICA8L3RkPjwvdHI+Cgk8dHI+PHRoPm5leHRjb2w8L3RoPiAgICA8dGQ+LiAgPC90ZD48dGQ+LiAgPC90ZD48dGQ+LiAgPC90ZD48dGQ+LiAgPC90ZD48dGQ+LiAgPC90ZD48dGQ+WWVzPC90ZD48dGQ+LiAgPC90ZD48L3RyPgoJPHRyPjx0aD5pbWFnZTwvdGg+ICAgICAgPHRkPlllczwvdGQ+PHRkPlllczwvdGQ+PHRkPlllczwvdGQ+PHRkPi4gIDwvdGQ+PHRkPlllczwvdGQ+PHRkPlllczwvdGQ+PHRkPi4gIDwvdGQ+PC90cj4KCTx0cj48dGg+Y29kZTwvdGg+ICAgICAgIDx0ZD5ZZXM8L3RkPjx0ZD4uICA8L3RkPjx0ZD4uICA8L3RkPjx0ZD4uICA8L3RkPjx0ZD5ZZXM8L3RkPjx0ZD5ZZXM8L3RkPjx0ZD4uICA8L3RkPjwvdHI+Cgk8dHI+PHRoIHJvd3NwYW49JzMnPlNwZWNpYWw8YnIgLz5jb250ZW50OjwvdGg+CgkJPHRoPltwbGFpbnRleHRdPC90aD48dGQ+WWVzPC90ZD48dGQ+WWVzPC90ZD48dGQ+WWVzPC90ZD48dGQ+LiAgPC90ZD48dGQ+WWVzPC90ZD48dGQ+WWVzPC90ZD48dGQ+WWVzPC90ZD48L3RyPgoJPHRyPjx0aD5bc21pbGV5c108L3RoPiAgPHRkPlllczwvdGQ+PHRkPlllczwvdGQ+PHRkPlllczwvdGQ+PHRkPi4gIDwvdGQ+PHRkPlllczwvdGQ+PHRkPlllczwvdGQ+PHRkPi4gIDwvdGQ+PC90cj4KCTx0cj48dGg+W3J1bGVzXTwvdGg+ICAgIDx0ZD5ZZXM8L3RkPjx0ZD4uICA8L3RkPjx0ZD4uICA8L3RkPjx0ZD4uICA8L3RkPjx0ZD5ZZXM8L3RkPjx0ZD5ZZXM8L3RkPjx0ZD4uICA8L3RkPjwvdHI+CjwvdGJvZHk+CjwvdGFibGU+Cgo8cD4qIE5vdGU6IEluIHRoZSBsaXN0IG9mIHBvc3NpYmxlIGNvbnRhaW5lcnMsIHRoZSA8dHQ+bmV4dGNvbDwvdHQ+IGFuZCA8dHQ+aW1hZ2U8L3R0PiBjbGFzc2VzCmFyZSBvbWl0dGVkIGJlY2F1c2UgdGhleSBjYW5ub3QgY29udGFpbiBhbnkgY29udGVudC48L3A+Cgo8cD5UaGUgaW5pdGlhbCBjb250YWluZXIgY2xhc3MgdGhhdCB3cmFwcyBhcm91bmQgdGhlIGVudGlyZSBpbnB1dCBkb2N1bWVudCBpcyAiPHR0PmJsb2NrPC90dD4iIGJ5CmRlZmF1bHQ7IGhvd2V2ZXIsIHRoaXMgY2FuIGJlIGNoYW5nZWQgYXQgcnVudGltZSB3aXRoIHRoZSA8YSBocmVmPSJhcGlfcm9vdC5odG1sI3JlZl9wYXJzZXJfU2V0Um9vdCI+PHR0PkJCQ29kZTo6U2V0Um9vdDwvdHQ+PC9hPgpmYW1pbHkgb2YgZnVuY3Rpb25zLjwvcD4K]]></data>
	</file>
	<file>
	  <filename>/docs/doc/src/app_css.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CjxwPlRoaXMgYXBwZW5kaXggcHJvdmlkZXMgc29tZSBzYW1wbGUgQ1NTIHRoYXQgeW91IGNhbiB1c2Ugb24geW91ciBvd24gc2l0ZXMuCkl0IGlzIG5vdCBmbGFzaHksIGJ1dCBpdCB3aWxsIGRvIHRoZSBqb2IgYWNjZXB0YWJseSB3ZWxsIGZvciBtb3N0IG5lZWRzLCBhbmQKcHJvdmlkZXMgYSBnb29kIHN0YXJ0aW5nIHBvaW50IGZvciBjcmVhdGluZyB5b3VyIG93biBCQkNvZGUgc3R5bGVzLjwvcD4KCjxoND5CbGFjayB0ZXh0LCB3aGl0ZSBiYWNrZ3JvdW5kLCBibHVlIGFjY2VudHM8L2g0PgoKPHA+VGhlIENTUyBiZWxvdyBpcyBzdWl0YWJsZSBmb3IgdXNlIHdpdGggPGk+YmxhY2s8L2k+IHRleHQgb24gYSA8aT53aGl0ZTwvaT4gYmFja2dyb3VuZC4KQWNyb255bXMgaGF2ZSBkYXNoZWQgbGlnaHQtZ3JlZW4gdW5kZXJsaW5lczsgc3BvaWxlcnMgYXJlIGJsYWNrLW9uLWJsYWNrOyBhbmQgcXVvdGVzCmFuZCBjb2RlIGJsb2NrcyB1c2UgPGk+Ymx1ZTwvaT4gYm9yZGVycy48L3A+Cgo8ZGl2IHN0eWxlPSdtYXJnaW4tbGVmdDoyZW07Jz4KPGRpdiBjbGFzcz0nY29kZV9oZWFkZXInPkNvZGU6PC9kaXY+Cjx4bXAgY2xhc3M9J2NvZGUnPi8qIEFkZCBhIGRhc2hlZCB1bmRlcmxpbmUgdG8gYWNyb255bXMuICovCnNwYW4uYWNyb255bSB7IGJvcmRlci1ib3R0b206MXB4IGRhc2hlZCBncmVlbjsgfQpzcGFuLmFjcm9ueW06aG92ZXIgeyBjb2xvcjogZ3JlZW47IGJvcmRlci1ib3R0b206MXB4IGRhc2hlZCBsaWdodGdyZWVuOyB9CgovKiBNYWtlIHNwb2lsZXJzIGludmlzaWJsZSwgc28gdGhhdCB5b3UgbmVlZCB0byBzZWxlY3QgdGhlbSB3aXRoIHRoZSBtb3VzZS4gKi8Kc3Bhbi5zcG9pbGVyIHsgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7IGNvbG9yOiBibGFjazsgfQoKLyogQWxpZ24gY29sdW1ucyB0byB0aGUgdG9wLCBhbmQgYWRkIHNvbWUgc3BhY2UgYmV0d2VlbiB0aGVtLiAqLwp0YWJsZS5iYmNvZGVfY29sdW1ucyB7IGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7CiAgICBtYXJnaW4tdG9wOiAxZW07IG1hcmdpbi1ib3R0b206IDFlbTsgfQp0YWJsZS5iYmNvZGVfY29sdW1ucyB0ZC5iYmNvZGVfY29sdW1uIHsgcGFkZGluZzogMCAxZW07IHZlcnRpY2FsLWFsaWduOiB0b3A7fQp0YWJsZS5iYmNvZGVfY29sdW1ucyB0ZC5iYmNvZGVfZmlyc3Rjb2x1bW4geyBib3JkZXItbGVmdDogMDsgcGFkZGluZy1sZWZ0OiAwOyB9CgovKiBXcmFwIHF1b3RlcyBpbiBhIGJpZyBibHVlIGJveC4gKi8KZGl2LmJiY29kZV9xdW90ZSB7IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7IG1hcmdpbjogMC41ZW0gMDsgfQpkaXYuYmJjb2RlX3F1b3RlX2hlYWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlOyBjb2xvcjogd2hpdGU7CiAgICBmb250LXdlaWdodDogYm9sZDsgcGFkZGluZzogMC4yNWVtIDAuNWVtOyB9CmRpdi5iYmNvZGVfcXVvdGVfaGVhZCBhOmxpbmsgeyBjb2xvcjogeWVsbG93OyB9CmRpdi5iYmNvZGVfcXVvdGVfaGVhZCBhOnZpc2l0ZWQgeyBjb2xvcjogeWVsbG93OyB9CmRpdi5iYmNvZGVfcXVvdGVfaGVhZCBhOmhvdmVyIHsgY29sb3I6IHdoaXRlOyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfQpkaXYuYmJjb2RlX3F1b3RlX2hlYWQgYTphY3RpdmUgeyBjb2xvcjogd2hpdGU7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9CmRpdi5iYmNvZGVfcXVvdGVfYm9keSB7IGJhY2tncm91bmQtY29sb3I6IHNreWJsdWU7CiAgICBjb2xvcjogYmxhY2s7IHBhZGRpbmc6IDAuNWVtIDFlbTsgfQoKLyogV3JhcCBjb2RlIGluIGEgYmlnIGJsdWUgYm94LiAqLwpkaXYuYmJjb2RlX2NvZGUgeyBib3JkZXI6IDFweCBzb2xpZCBibHVlOyBtYXJnaW46IDAuNWVtIDA7IH0KZGl2LmJiY29kZV9jb2RlX2hlYWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlOyBjb2xvcjogd2hpdGU7CiAgICBmb250LXdlaWdodDogYm9sZDsgcGFkZGluZzogMC4yNWVtIDAuNWVtOyB9CmRpdi5iYmNvZGVfY29kZV9ib2R5IHsgYmFja2dyb3VuZC1jb2xvcjogc2t5Ymx1ZTsgY29sb3I6IGJsYWNrOwogICAgZm9udDogMTBwdCBtb25vc3BhY2U7IHBhZGRpbmc6IDAuNWVtIDFlbTsgfTwveG1wPgo8L2Rpdj4KCjxoND5XaGl0ZSB0ZXh0LCBibGFjayBiYWNrZ3JvdW5kLCByZWQgYWNjZW50czwvaDQ+Cgo8cD5UaGUgQ1NTIGJlbG93IGlzIHN1aXRhYmxlIGZvciB1c2Ugd2l0aCA8aT53aGl0ZTwvaT4gdGV4dCBvbiBhIDxpPmJsYWNrPC9pPiBiYWNrZ3JvdW5kLgpBY3JvbnltcyBoYXZlIGRhc2hlZCBkYXJrLWdyZWVuIHVuZGVybGluZXM7IHNwb2lsZXJzIGFyZSBncmF5LW9uLWdyYXk7IGFuZCBxdW90ZXMKYW5kIGNvZGUgYmxvY2tzIHVzZSA8aT5yZWQ8L2k+IGJvcmRlcnMuPC9wPgoKPGRpdiBzdHlsZT0nbWFyZ2luLWxlZnQ6MmVtOyc+CjxkaXYgY2xhc3M9J2NvZGVfaGVhZGVyJz5Db2RlOjwvZGl2Pgo8eG1wIGNsYXNzPSdjb2RlJz4vKiBBZGQgYSBkYXNoZWQgdW5kZXJsaW5lIHRvIGFjcm9ueW1zLiAqLwpzcGFuLmFjcm9ueW0geyBib3JkZXItYm90dG9tOjFweCBkYXNoZWQgZGFya2dyZWVuOyB9CnNwYW4uYWNyb255bTpob3ZlciB7IGNvbG9yOiBsaWdodGdyZWVuOyBib3JkZXItYm90dG9tOjFweCBkYXNoZWQgZ3JlZW47IH0KCi8qIE1ha2Ugc3BvaWxlcnMgaW52aXNpYmxlLCBzbyB0aGF0IHlvdSBuZWVkIHRvIHNlbGVjdCB0aGVtIHdpdGggdGhlIG1vdXNlLiAqLwpzcGFuLnNwb2lsZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiBncmF5OyBjb2xvcjogZ3JheTsgfQoKLyogQWxpZ24gY29sdW1ucyB0byB0aGUgdG9wLCBhbmQgYWRkIHNvbWUgc3BhY2UgYmV0d2VlbiB0aGVtLiAqLwp0YWJsZS5iYmNvZGVfY29sdW1ucyB7IGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7CiAgICBtYXJnaW4tdG9wOiAxZW07IG1hcmdpbi1ib3R0b206IDFlbTsgfQp0YWJsZS5iYmNvZGVfY29sdW1ucyB0ZC5iYmNvZGVfY29sdW1uIHsgcGFkZGluZzogMCAxZW07IHZlcnRpY2FsLWFsaWduOiB0b3A7fQp0YWJsZS5iYmNvZGVfY29sdW1ucyB0ZC5iYmNvZGVfZmlyc3Rjb2x1bW4geyBib3JkZXItbGVmdDogMDsgcGFkZGluZy1sZWZ0OiAwOyB9CgovKiBXcmFwIHF1b3RlcyBpbiBhIGJpZyByZWQgYm94LiAqLwpkaXYuYmJjb2RlX3F1b3RlIHsgYm9yZGVyOiAxcHggc29saWQgZGFya3JlZDsgbWFyZ2luOiAwLjVlbSAwOyB9CmRpdi5iYmNvZGVfcXVvdGVfaGVhZCB7IGJhY2tncm91bmQtY29sb3I6IGRhcmtyZWQ7IGNvbG9yOiB3aGl0ZTsKICAgIGZvbnQtd2VpZ2h0OiBib2xkOyBwYWRkaW5nOiAwLjI1ZW0gMC41ZW07IH0KZGl2LmJiY29kZV9xdW90ZV9oZWFkIGE6bGluayB7IGNvbG9yOiB5ZWxsb3c7IH0KZGl2LmJiY29kZV9xdW90ZV9oZWFkIGE6dmlzaXRlZCB7IGNvbG9yOiB5ZWxsb3c7IH0KZGl2LmJiY29kZV9xdW90ZV9oZWFkIGE6aG92ZXIgeyBjb2xvcjogd2hpdGU7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9CmRpdi5iYmNvZGVfcXVvdGVfaGVhZCBhOmFjdGl2ZSB7IGNvbG9yOiB3aGl0ZTsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH0KZGl2LmJiY29kZV9xdW90ZV9ib2R5IHsgYmFja2dyb3VuZC1jb2xvcjogIzMzMzsKICAgIGNvbG9yOiB3aGl0ZTsgcGFkZGluZzogMC41ZW0gMWVtOyB9CgovKiBXcmFwIGNvZGUgaW4gYSBiaWcgcmVkIGJveC4gKi8KZGl2LmJiY29kZV9jb2RlIHsgYm9yZGVyOiAxcHggc29saWQgZGFya3JlZDsgbWFyZ2luOiAwLjVlbSAwOyB9CmRpdi5iYmNvZGVfY29kZV9oZWFkIHsgYmFja2dyb3VuZC1jb2xvcjogZGFya3JlZDsgY29sb3I6IHdoaXRlOwogICAgZm9udC13ZWlnaHQ6IGJvbGQ7IHBhZGRpbmc6IDAuMjVlbSAwLjVlbTsgfQpkaXYuYmJjb2RlX2NvZGVfYm9keSB7IGJhY2tncm91bmQtY29sb3I6ICMzMzM7IGNvbG9yOiB3aGl0ZTsKICAgIGZvbnQ6IDEwcHQgbW9ub3NwYWNlOyBwYWRkaW5nOiAwLjVlbSAxZW07IH08L3htcD4KPC9kaXY+Cg==]]></data>
	</file>
	<file>
	  <filename>/docs/doc/src/app_enhflags.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CjxwPldpdGggYW4gZW5oYW5jZWQgbW9kZSB0YWcgb3IgdGhlIDxhIGhyZWY9ImFwaV9taXNjLnRwbCNyZWZfcGFyc2VyX0ZpbGxUZW1wbGF0ZSI+RmlsbFRlbXBsYXRlKCk8L2E+CmZ1bmN0aW9uLCB5b3UgbWF5IGFkZCBmb3JtYXR0aW5nIGZsYWdzIHRvIGEgdmFyaWFibGUgYWZ0ZXIgYSBzbGFzaApjaGFyYWN0ZXIgKDx0dD4vPC90dD4pIHRvIGNvbnRyb2wgaG93IGl0cyB0ZXh0IGlzIGNsZWFuZWQgdXAuICBCeSBkZWZhdWx0LCB0aGUgdGV4dCBpcwp1bmNoYW5nZWQsIHBhc3NlZCByYXcgdG8gdGhlIG91dHB1dC4gIChOb3RlOiBUaGlzIGRpZmZlcnMgZnJvbSB0aGUgYmVoYXZpb3Igb2YgTkJCQyB2MS4yCmFuZCBlYXJsaWVyLikgIEhvd2V2ZXIsIHlvdSBjYW4gY2hhbmdlIHRoaXMgc28gdGhhdCB5b3UgZG8gbm90IGhhdmUgdG8gbWFudWFsbHkgZW5jb2RlCnlvdXIgZGF0YTogIEZvciBleGFtcGxlLCB1c2luZyA8dHQ+eyR2YXJpYWJsZS91fTwvdHQ+IGluc3RlYWQgb2YganVzdCA8dHQ+eyR2YXJpYWJsZX08L3R0PgpjYXVzZXMgdGhpcyB2YXJpYWJsZSB0byBiZSBwYXNzZWQgdGhyb3VnaCA8dHQ+dXJsZW5jb2RlKCk8L3R0PiwgYW5kIHVzaW5nIDx0dD57JHZhcmlhYmxlL2V9PC90dD4KY2F1c2VzIHRoaXMgdmFyaWFibGUgdG8gYmUgcGFzc2VkIHRocm91Z2ggPGEgaHJlZj0iYXBpX21pc2MuaHRtbCNyZWZfcGFyc2VyX0hUTUxFbmNvZGUiPkhUTUxFbmNvZGUoKTwvYT4uClRoZSBhdmFpbGFibGUgZm9ybWF0dGluZyBmbGFncyBhcmU6PC9wPgoKPHVsPgo8bGkgc3R5bGU9J21hcmdpbi1ib3R0b206MWVtOyc+PGI+PHR0PnY8L3R0PiAtIFZlcmJhdGltLjwvYj4gIERvIG5vdCBhcHBseSBhbnkgZm9ybWF0dGluZyB0byB0aGUgdmFyaWFibGU7IHVzZSBpdHMgZXhhY3QgdGV4dCwKCWhvd2V2ZXIgdGhlIHVzZXIgcHJvdmlkZWQgaXQuICBUaGlzIG92ZXJyaWRlcyBhbGwgb3RoZXIgZmxhZ3MuPC9saT4KCjxsaT48Yj48dHQ+YjwvdHQ+IC0gQXBwbHkgPHR0PmJhc2VuYW1lKCk8L3R0PiB0byB0aGUgdmFyaWFibGUuPC9iPjwvbGk+CjxsaT48Yj48dHQ+bjwvdHQ+IC0gQXBwbHkgPHR0Pm5sMmJyKCk8L3R0PiB0byB0aGUgdmFyaWFibGUuPC9iPjwvbGk+CjxsaT48Yj48dHQ+dDwvdHQ+IC0gVHJpbS48L2I+ICBUaGlzIGNhdXNlcyBhbGwgaW5pdGlhbCBhbmQgdHJhaWxpbmcgd2hpdGVzcGFjZSB0byBiZSB0cmltbWVkIChyZW1vdmVkKS48L2xpPgo8bGkgc3R5bGU9J21hcmdpbi1ib3R0b206MWVtOyc+PGI+PHR0Pnc8L3R0PiAtIENsZWFuIHVwIHdoaXRlc3BhY2UuPC9iPiAgVGhpcyBjYXVzZXMgYWxsIG5vbi1uZXdsaW5lIHdoaXRlc3BhY2UsIHN1Y2ggYXMKCWNvbnRyb2wgY29kZXMgYW5kIHRhYnMsIHRvIGJlIGNvbGxhcHNlZCBpbnRvIGluZGl2aWR1YWwgc3BhY2UgY2hhcmFjdGVycy48L2xpPgoKPGxpPjxiPjx0dD5lPC90dD4gLSBBcHBseSA8YSBocmVmPSJhcGlfbWlzYy5odG1sI3JlZl9wYXJzZXJfSFRNTEVuY29kZSI+PHR0PkJCQ29kZTo6SFRNTEVuY29kZSgpPC90dD48L2E+PC9iPiB0byB0aGUgdmFyaWFibGUuPC9saT4KPGxpPjxiPjx0dD5oPC90dD4gLSBBcHBseSA8dHQ+aHRtbHNwZWNpYWxjaGFycygpPC90dD48L2I+IHRvIHRoZSB2YXJpYWJsZS48L2xpPgo8bGk+PGI+PHR0Pms8L3R0PiAtIEFwcGx5IDxhIGhyZWY9ImFwaV93aWtpLmh0bWwjcmVmX3BhcnNlcl9XaWtpZnkiPjx0dD5CQkNvZGU6Oldpa2lmeSgpPC90dD48L2E+PC9iPiB0byB0aGUgdmFyaWFibGUuPC9saT4KPGxpPjxiPjx0dD51PC90dD4gLSBBcHBseSA8dHQ+dXJsZW5jb2RlKCk8L3R0PjwvYj4gdG8gdGhlIHZhcmlhYmxlLjwvbGk+CjwvdWw+Cgo8cD5Ob3RlIHRoYXQgb25seSBvbmUgb2YgdGhlICdlJywgJ2gnLCAnaycsIG9yICd1JyBmbGFncyBtYXkgYmUgc3BlY2lmaWVkOwp0aGVzZSBmb3VyIGZsYWdzIGFyZSBtdXR1YWxseS1leGNsdXNpdmUuICBOb3RlIGFsc28gdGhhdCB0aGUgJ3YnIGZsYWcgb3ZlcnJpZGVzCmFsbCBvdGhlciBmbGFncywgYW5kIGNhbiBlZmZlY3RpdmVseSBiZSB1c2VkIGR1cmluZyBkZWJ1Z2dpbmcgdG8gdGVtcG9yYXJpbHkKZGlzYWJsZSBhbGwgZm9ybWF0dGluZyBmbGFncy48L3A+Cg==]]></data>
	</file>
	<file>
	  <filename>/docs/doc/src/app_example.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CjxoND5Db21tb24gUnVsZSBUeXBlczwvaDQ+Cgo8ZGl2IGNsYXNzPSdjb2RlX2hlYWRlcic+QSBzaW1wbGUgQkJDb2RlIC0tJmd0OyBIVE1MIHJ1bGU6PC9kaXY+Cjx4bXAgY2xhc3M9J2NvZGUnPiRiYmNvZGUtPkFkZFJ1bGUoJ21vbm8nLCBhcnJheSgKICAgICdzaW1wbGVfc3RhcnQnID0+ICc8dHQ+JywKICAgICdzaW1wbGVfZW5kJyA9PiAnPC90dD4nLAogICAgJ2NsYXNzJyA9PiAnaW5saW5lJywKICAgICdhbGxvd19pbicgPT4gQXJyYXkoJ2xpc3RpdGVtJywgJ2Jsb2NrJywgJ2NvbHVtbnMnLCAnaW5saW5lJywgJ2xpbmsnKSwKKSk7PC94bXA+Cgo8ZGl2IGNsYXNzPSdjb2RlX2hlYWRlcic+QW4gZW5oYW5jZWQgcnVsZSwgd2l0aCBwYXJhbWV0ZXIgdmFsaWRhdGlvbiBhbmQgZGVmYXVsdCB2YWx1ZXM6PC9kaXY+Cjx4bXAgY2xhc3M9J2NvZGUnPiRiYmNvZGUtPkFkZFJ1bGUoJ2JvcmRlcicsICBBcnJheSgKICAgICdtb2RlJyA9PiBCQkNPREVfTU9ERV9FTkhBTkNFRCwKICAgICd0ZW1wbGF0ZScgPT4gJzxkaXYgc3R5bGU9ImJvcmRlcjogeyRzaXplfXB4IHNvbGlkIHskY29sb3J9Ij57JF9jb250ZW50fTwvZGl2PicsCiAgICAnYWxsb3cnID0+IEFycmF5KAogICAgICAgICdjb2xvcicgPT4gJy9eI1swLTlhLWZBLUZdK3xbYS16QS1aXSskLycsCiAgICAgICAgJ3NpemUnID0+ICcvXlsxLTldWzAtOV0qJC8nLAogICAgKSwKICAgICdkZWZhdWx0JyA9PiBBcnJheSgKICAgICAgICAnY29sb3InID0+ICdibHVlJywKICAgICAgICAnc2l6ZScgPT4gJzEnLAogICAgKSwKICAgICdjbGFzcycgPT4gJ2Jsb2NrJywKICAgICdhbGxvd19pbicgPT4gQXJyYXkoJ2xpc3RpdGVtJywgJ2Jsb2NrJywgJ2NvbHVtbnMnKSwKKSk7PC94bXA+Cgo8ZGl2IGNsYXNzPSdjb2RlX2hlYWRlcic+QSBjYWxsYmFjayBydWxlOjwvZGl2Pgo8eG1wIGNsYXNzPSdjb2RlJz4kYmJjb2RlLT5BZGRSdWxlKCdib3JkZXInLCAgQXJyYXkoCiAgICAnbW9kZScgPT4gQkJDT0RFX01PREVfQ0FMTEJBQ0ssCiAgICAnbWV0aG9kJyA9PiAnTXlCb3JkZXJGdW5jdGlvbicsCiAgICAnY2xhc3MnID0+ICdibG9jaycsCiAgICAnYWxsb3dfaW4nID0+IEFycmF5KCdsaXN0aXRlbScsICdibG9jaycsICdjb2x1bW5zJyksCikpOwoKZnVuY3Rpb24gTXlCb3JkZXJGdW5jdGlvbigkYmJjb2RlLCAkYWN0aW9uLCAkbmFtZSwKICAgICRkZWZhdWx0LCAkcGFyYW1zLCAkY29udGVudCkgewogICAgLi4uLgp9PC94bXA+Cgo8ZGl2IGNsYXNzPSdjb2RlX2hlYWRlcic+QSBjYWxsYmFjayBydWxlIHRvIGEgbWV0aG9kIG9mIGFuIG9iamVjdDo8L2Rpdj4KPHhtcCBjbGFzcz0nY29kZSc+Y2xhc3MgTXlPYmplY3QgewogICAgZnVuY3Rpb24gQmxhcmdGdW5jdGlvbigkYmJjb2RlLCAkYWN0aW9uLCAkbmFtZSwKICAgICAgICAkZGVmYXVsdCwgJHBhcmFtcywgJGNvbnRlbnQpIHsKICAgICAgICAuLi4uCiAgICB9Cn0KCiRvYmplY3QgPSBuZXcgTXlPYmplY3Q7CgokYmJjb2RlLT5BZGRSdWxlKCdibGFyZycsICBBcnJheSgKICAgICdtb2RlJyA9PiBCQkNPREVfTU9ERV9DQUxMQkFDSywKICAgICdtZXRob2QnID0+IGFycmF5KCRvYmplY3QsICdCbGFyZ0Z1bmN0aW9uJyksCiAgICAnY2xhc3MnID0+ICdibG9jaycsCiAgICAnYWxsb3dfaW4nID0+IEFycmF5KCdsaXN0aXRlbScsICdibG9jaycsICdjb2x1bW5zJyksCikpOzwveG1wPgoKPGhyIC8+Cgo8aDQ+Q29tbW9uIENsYXNzIFR5cGVzPC9oND4KCjxwPklmIHlvdXIgdGFnIGlzIGEgbmV3IDxiPnJlcGxhY2VkIGl0ZW08L2I+IHRhZyAobGlrZSBbaW1nXSwgZm9yIGV4YW1wbGUpLCB5b3UnbGwgcHJvYmFibHkgd2FudCB0byB1c2UgdGhlc2UgY2xhc3Nlczo8L3A+Cjx4bXAgY2xhc3M9J2NvZGUnPmFycmF5KAogICAgLi4uCiAgICAnY2xhc3MnID0+ICdpbWFnZScsCiAgICAnYWxsb3dfaW4nID0+IEFycmF5KCdsaXN0aXRlbScsICdibG9jaycsICdjb2x1bW5zJywgJ2lubGluZScsICdsaW5rJyksCiAgICAuLi4KKTwveG1wPgoKPHA+SWYgeW91ciB0YWcgaXMgYSBuZXcgPGI+aW5saW5lIHN0eWxlPC9iPiB0YWcgKGxpa2UgW2JdIG9yIFtmb250XSwgZm9yIGV4YW1wbGUpLCB5b3UnbGwgcHJvYmFibHkgd2FudCB0byB1c2UgdGhlc2UgY2xhc3Nlczo8L3A+Cjx4bXAgY2xhc3M9J2NvZGUnPmFycmF5KAogICAgLi4uCiAgICAnY2xhc3MnID0+ICdpbmxpbmUnLAogICAgJ2FsbG93X2luJyA9PiBBcnJheSgnbGlzdGl0ZW0nLCAnYmxvY2snLCAnY29sdW1ucycsICdpbmxpbmUnLCAnbGluaycpLAogICAgLi4uCik8L3htcD4KCjxwPklmIHlvdXIgdGFnIGlzIGEgbmV3IDxiPmxpbms8L2I+IHRhZyAobGlrZSBbdXJsXSBvciBbZW1haWxdLCBmb3IgZXhhbXBsZSksIHlvdSdsbCBwcm9iYWJseSB3YW50IHRvIHVzZSB0aGVzZSBjbGFzc2VzOjwvcD4KPHhtcCBjbGFzcz0nY29kZSc+YXJyYXkoCiAgICAuLi4KICAgICdjbGFzcycgPT4gJ2xpbmsnLAogICAgJ2FsbG93X2luJyA9PiBBcnJheSgnbGlzdGl0ZW0nLCAnYmxvY2snLCAnY29sdW1ucycsICdpbmxpbmUnKSwKICAgIC4uLgopPC94bXA+Cgo8cD5JZiB5b3VyIHRhZyBpcyBhIG5ldyA8Yj5ibG9jazwvYj4gdGFnIChsaWtlIFtxdW90ZV0gb3IgW2NlbnRlcl0sIGZvciBleGFtcGxlKSwgeW91J2xsIHByb2JhYmx5IHdhbnQgdG8gdXNlIHRoZXNlIGNsYXNzZXM6PC9wPgo8eG1wIGNsYXNzPSdjb2RlJz5hcnJheSgKICAgIC4uLgogICAgJ2NsYXNzJyA9PiAnYmxvY2snLAogICAgJ2FsbG93X2luJyA9PiBBcnJheSgnbGlzdGl0ZW0nLCAnYmxvY2snLCAnY29sdW1ucycpLAogICAgLi4uCik8L3htcD4KCjxwPlJlZ2FyZGxlc3Mgb2Ygd2hpY2ggY2xhc3NlcyB5b3UgdXNlLCBpdCBpcyBzdGlsbCBpbXBvcnRhbnQgdG8gY2hlY2sgdG8gbWFrZSBzdXJlIHRoYXQgeW91ciBuZXcKdGFnIGNhbiBvbmx5IGdvIGluc2lkZSBvdGhlciB0YWdzIHdoZXJlIGl0J3MgbGVnYWw6ICBGb3IgZXhhbXBsZSwgaWYgeW91ciB0YWcgb3V0cHV0cyBhIDx0dD4mbHQ7c3BhbiZndDs8L3R0PiwKaXQncyBsZWdhbCBpbnNpZGUgYW5vdGhlciB0YWcgdGhhdCBvdXRwdXRzIGEgPHR0PiZsdDtkaXYmZ3Q7PC90dD4sIGJ1dCBub3QgdGhlIG90aGVyIHdheSBhcm91bmQuICBUaGUgcnVsZXMKYWJvdmUgYXJlIGdvb2QgcnVsZXMgb2YgdGh1bWIsIGJ1dCBpdCdzIHN0aWxsIGltcG9ydGFudCB0byBjaGVjay4gIChGb3IgZXhhbXBsZSwgeW91IHNob3VsZCBub3QgYWxsb3cgdGhlCnVzZXIgdG8gcGxhY2UgYSBGbGFzaCBhbmltYXRpb24gaW5zaWRlIGFuIDx0dD4mbHQ7YSZuYnNwO2hyZWY9Ii4uLiImZ3Q7Li4uJmx0Oy9hJmd0OzwvdHQ+IGVsZW1lbnQsIHdoaWNoCm1lYW5zIHRoYXQgaWYgeW91IGFkZCBhIDx0dD5bZmxhc2hdPC90dD4gdGFnLCBpdCdzIG9mIGNsYXNzICI8dHQ+aW1hZ2U8L3R0PiIgYnV0IGlzIDxpPm5vdDwvaT4gYWxsb3dlZAppbnNpZGUgY2xhc3MgIjx0dD5saW5rPC90dD4iIGxpa2UgPHR0PltpbWddPC90dD4gaXMuICBBbHdheXMgY2FyZWZ1bGx5IGNoZWNrIHRvIHNlZSBob3cgeW91ciBuZXcgdGFncwphZmZlY3QgdGhlIGNsYXNzIGhpZXJhcmNoeSBhbmQgdGhlIHJlc3VsdGluZyBIVE1MLik8L3A+Cg==]]></data>
	</file>
	<file>
	  <filename>/docs/doc/src/app_internals.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Cgk8ZGl2IGNsYXNzPSd0aXBib3gnPgoJPGRpdiBjbGFzcz0ndGlwYm94X2hlYWRlcic+CgkJPGRpdiBjbGFzcz0ndGlwYm94X3N0YXInPio8L2Rpdj48ZGl2PjxiPlRlY2ggVGlwPC9iPjwvZGl2PgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSd0aXBib3hfY29udGVudCc+PGRpdiBjbGFzcz0ndGlwYm94X2NvbnRlbnQyJz4KCQk8cD5UaGlzIHNlY3Rpb24gaXMgaW50ZW5kZWQgcHJpbWFyaWx5IGZvciBleHBlcmllbmNlZCBzb2Z0d2FyZSBlbmdpbmVlcnMgYW5kCgkJY29tcHV0ZXIgc2NpZW50aXN0cy4gIEl0J3MgaGVhdnkgb24gdGhlb3J5LCBsaWdodCBvbiBwcmFjdGljZSwgYW5kIGlmIHlvdSdyZQoJCXVuY29tZm9ydGFibGUgYXJvdW5kIGNvbmNlcHRzIGxpa2UgY29tcHV0YXRpb25hbCBvcmRlcnMsIGZpbml0ZS1zdGF0ZSBtYWNoaW5lcywKCQlhbmQgcHVzaC1kb3duIGF1dG9tYXRhLCB5b3UncmUgZ29pbmcgdG8gYmUgbG9zdC4gIElmIHlvdSBuZWVkIGFuIGludHJvZHVjdGlvbiB0bwoJCXRoZXNlIGNvbmNlcHRzLCB3ZSByZWNvbW1lbmQgdGhlIGNsYXNzaWMgPGEgaHJlZj0iaHR0cDovL3d3dy5hbWF6b24uY29tL0NvbXBpbGVycy1QcmluY2lwbGVzLVRlY2huaXF1ZXMtVG9vbHMtMm5kL2RwLzAzMjE0ODY4MTEvcmVmPXBkX2Jic19zcl8xP2llPVVURjgmcz1ib29rcyZxaWQ9MTIxNjA2NjQwOSZzcj04LTEiPkRyYWdvbiBCb29rPC9hPgoJCWFuZCBIb3Bjcm9mdCBhbmQgVWxsbWFuJ3MgPGEgaHJlZj0iaHR0cDovL3d3dy5hbWF6b24uY29tL0ludHJvZHVjdGlvbi1BdXRvbWF0YS1UaGVvcnktTGFuZ3VhZ2VzLUNvbXB1dGF0aW9uL2RwLzAzMjE0NjIyNTQvcmVmPXNyXzFfMz9pZT1VVEY4JnM9Ym9va3MmcWlkPTEyMTYwNjY1MDAmc3I9MS0zIj5MaXR0bGUgQm9vayBvZiBFdmlsPC9hPiwKCQlidXQgYmUgZm9yZXdhcm5lZCB0aGF0IGNvbXBpbGVycyBhcmUgYSBkZW5zZSBzdWJqZWN0LCBhbmQgZWFjaCBvbmUgb2YgdGhvc2UgYm9va3MKCQljb3VsZCByZWFkaWx5IGJlIHRoZSBzdWJqZWN0IG9mIGEgeWVhciBvciB0d28gb2Ygc3R1ZHkgYXQgYSBkZWNlbnQgdW5pdmVyc2l0eS48L3A+CgkJCgkJPHA+Rm9yIHdoYXQgaXQncyB3b3J0aCwgeW91IGRvbid0IG5lZWQgdG8ga25vdyBhbnkgb2YgdGhlIHN0dWZmIGluIHRoaXMgc2VjdGlvbgoJCXRvIGJlIGFibGUgdG8gdXNlIE5CQkM7IHRoaXMgc2VjdGlvbiBpcyBwcmltYXJpbHkgb2YgYWNhZGVtaWMgaW50ZXJlc3QuPC9wPgoJPC9kaXY+PC9kaXY+Cgk8L2Rpdj4KCjxwPk5CQkMgaXMgYSBjb21waWxlciwgYW5kIGlzIGJyb2tlbiBkb3duIGludG8gdHdvIG1haW4gbGF5ZXJzOiAgVGhlcmUncyB0aGUgbGV4aWNhbCBhbmFseXplciwKd2hpY2ggaXMgcmVzcG9uc2libGUgZm9yIGJyZWFraW5nIGNoYXJhY3RlcnMgc2VxdWVuY2VzIGludG8gdG9rZW5zLCBhbmQgaXMgaW1wbGVtZW50ZWQgaW4KPHR0Pm5iYmNfbGV4LnBocDwvdHQ+OyBhbmQgdGhlcmUncyB0aGUgcGFyc2VyLCB3aGljaCBpcyByZXNwb25zaWJsZSBmb3IgYW5hbHl6aW5nIHRoZSB0b2tlbgpzZXF1ZW5jZXMgYW5kIGdlbmVyYXRpbmcgcHJvcGVyIG91dHB1dC4gIFRoaXMgYXBwZW5kaXggaXMgPGk+bm90PC9pPiBpbnRlbmRlZCB0byBiZSBhIGNvbXBsZXRlCmFuYWx5c2lzIG9mIHRoZSBzdHJ1Y3R1cmUgb2YgTkJCQzogIFJhdGhlciwgaXQncyBpbnRlbmRlZCB0byBiZSBhIGJyb2FkIG92ZXJ2aWV3IHRoYXQgd2lsbApoZWxwIHlvdSB0byB1bmRlcnN0YW5kIHRoZSByYXRpb25hbGUgZW1ib2RpZWQgYnkgdGhlIHNvdXJjZSBjb2RlLCB3aGljaCBpcyB3ZWxsLWNvbW1lbnRlZCwKc28gc2hvdWxkIGJlIHJlbGF0aXZlbHkgZWFzeSB0byBmb2xsb3cgb25jZSB5b3UndmUgcmVhZCB0aGlzIHNob3J0IGRpc2N1c3Npb24uPC9wPgoKPGg0PlRoZSBMZXhlcjwvaDQ+Cgo8cD5Nb3N0IG9mIHRoZSBkaXNjdXNzaW9uIGFuZCBtb3N0IG9mIHRoZSBjb21wbGV4aXR5IGlzIGZvY3Vzc2VkIGluIHRoZSBwYXJzZXIsIHNvIGxldCdzCnF1aWNrbHkgZ2V0IHRoZSBsZXhpY2FsIGFuYWx5emVyIChsZXhlcikgb3V0IG9mIHRoZSB3YXkuICBMaWtlIG1vc3QgbGV4ZXJzLCBOQkJDJ3MgaXMKYnVpbHQgb24gcmVndWxhciBleHByZXNzaW9ucy4gIFRoZSBnZW5lcmFsIHByaW5jaXBsZSB1c2VkIGJ5IHRoZSBsZXhlciBpcyB0bwp1c2UgPHR0PnByZWdfc3BsaXQ8L3R0PiB0byBpbml0aWFsbHkgZGl2aWRlIHRoZSBpbnB1dCBpbnRvIGFuIGFycmF5IG9mIHN0cmluZ3MgdGhhdAphbHRlcm5hdGUgYmV0d2VlbiB0YWdzL3doaXRlc3BhY2UvbmV3bGluZXMgaW4gdGhlIG9kZCBhcnJheSBpbmRpY2VzIGFuZCBub24td2hpdGVzcGFjZQp0ZXh0IHN0cmluZ3MgaW4gdGhlIGV2ZW4gYXJyYXkgaW5kaWNlcy4gIEEgc2ltcGxlIGZsYWcgaXMgdXNlZCB0byB0cmFjayB3aGV0aGVyIHRoZQpuZXh0IGl0ZW0gaW4gdGhlIGFycmF5IGlzIGEgdGFnL3doaXRlc3BhY2UvbmV3bGluZSBvciBhIHRleHQgc3RyaW5nLjwvcD4KCjxwPkZvciB0aGlzIGRpc2N1c3Npb24sIHdlJ2xsIHVzZSB0aGUgZm9sbG93aW5nIGlucHV0IGFzIG91ciBwcmltYXJ5IGV4YW1wbGU6PC9wPgoKPGRpdiBjbGFzcz0nY29kZV9oZWFkZXInPkNvZGU6PC9kaXY+Cjx4bXAgY2xhc3M9J2NvZGUnPkJlZm9yZS4KW2NlbnRlcl1IZWxsbywgW2ldV29ybGRbL2ldIVsvY2VudGVyXQpBZnRlci48L3htcD4KCjxwPlRoZSBsZXhlciBicmVha3MgdGhpcyBpbnB1dCBkb3duIGludG8gdGhlIGZvbGxvd2luZyBzdHJlYW0gb2YgdG9rZW5zICh3cmFwcGVkIGhlcmUgZm9yCmNsYXJpdHkncyBzYWtlOyBub3RlIHRoYXQgdGhlIGVtcHR5IGFycmF5IGVsZW1lbnRzIGFyZSBvbWl0dGVkIGluIHRoaXMgZGlzY3Vzc2lvbiBmb3IKY2xhcml0eSk6PC9wPgoKPGRpdiBjbGFzcz0nY29kZV9oZWFkZXInPkNvZGU6PC9kaXY+Cjx4bXAgY2xhc3M9J2NvZGUnPiJCZWZvcmUuIiBXUyBOTCBbY2VudGVyXSAiSGVsbG8sIiBXUyBbaV0gIldvcmxkIiBbL2ldICIhIiBbL2NlbnRlcl0gTkwgIkFmdGVyLiI8L3htcD4KCjxwPkVhY2ggdG9rZW4gaXMgb2YgdHlwZSA8dHQ+QkJDT0RFX1RFWFQ8L3R0PiAobGlrZSAiPHR0PkJlZm9yZS48L3R0PiIpLCA8dHQ+QkJDT0RFX05MPC90dD4KKHdoaWNoIGlzIGEgbmV3bGluZSBtYXRjaGluZyBlaXRoZXIgVW4qeCwgV2luZG93cywgb3IgTWFjIGZvcm1hdHMpLCA8dHQ+QkJDT0RFX1dTPC90dD4gKGFueQpzZXF1ZW5jZSBvZiBub24tbmV3bGluZSB3aGl0ZXNwYWNlIGNoYXJhY3RlcnMpLCA8dHQ+QkJDT0RFX1RBRzwvdHQ+IChhIHN0YXJ0IHRhZyksIG9yCjx0dD5CQkNPREVfRU5EVEFHPC90dD4gKGFuIGVuZCB0YWcpLiAgVGhlc2UgYXJlIHJldHJpZXZlZCBieSB0aGUgcGFyc2VyIG9uZSBhdCBhIHRpbWUKYnkgY2FsbGluZyA8dHQ+QkJDb2RlTGV4ZXI6Ok5leHRUb2tlbigpPC90dD4uPC9wPgoKPGg0Pk92ZXJ2aWV3IG9mIHRoZSBQYXJzZXI8L2g0PgoKPHA+VGhlIHBhcnNlciBpcyBhIHB1c2gtZG93biBhdXRvbWF0b24gdGhhdCByZWNvZ25pemVzIGFuIExMKDEpIGdyYW1tYXIuCkl0cyBkZXNpZ24gaXMgaW5zcGlyZWQgYnkgdGhhdCBvZiBzaW1wbGUgcHVzaC1kb3duIG1hdGhlbWF0aWNhbCBleHByZXNzaW9uIHBhcnNlcnMsIHdoZXJlCnRoZSBzdGF0ZSBvZiB0aGUgc3RhY2sgYW5kIGEgc2luZ2xlIHRva2VuIG9mIGxvb2thaGVhZCBpcyB1c2VkIHRvIGRldGVybWluZSB3aGF0IG9wZXJhdGlvbgp0byBwZXJmb3JtIG5leHQuICBUaGlzIG1lYW5zIHRoYXQgdGhlIHBhcnNlciBpcyBpbXBsaWNpdGx5IGNvbnN0cnVjdGluZyBhIGRvY3VtZW50IHRyZWUKYmFzZWQgb24gdGhlIHRva2VucyBhbmQgdGhlIHRhZ3MnIGNsYXNzIGNvbnRyYWludHMsIGJ1dCBiZWNhdXNlIGl0J3MgYW4gaW1wbGljdCBpbnN0ZWFkCm9mIGV4cGxpY2l0IGNvbnN0cnVjdGlvbiwgaXQncyBtdWNoIGZhc3RlciB0aGFuIGEgZ2VudWluZSB0cmVlLWJ1aWxkZXI6ICBXZSBkb24ndCBuZWVkIHRvCmFsbG9jYXRlLCBzdG9yZSwgYW5kIGZyZWUgdHJlZSBub2RlcyBmb3IgdGhpcyB0byB3b3JrLjwvcD4KCjxwPldoZW4gcHJvdmlkZWQgd2l0aCBhIHN0cmluZywgdGhlIHBhcnNlciBnaXZlcyBpdCB0byB0aGUgbGV4ZXIsIHdoaWNoIGJyZWFrcyBpdCBkb3duCmludG8gdG9rZW5zOyB0aGVuIHRoZSBwYXJzZXIgcmVhZHMgZWFjaCBzdWNjZXNzaXZlIHRva2VuLCBvbmUgYXQgYSB0aW1lLCBhbmQgcHJvY2Vzc2VzCnRoZSB0b2tlbiBhY2NvcmRpbmcgdG8gaXRzIGN1cnJlbnQgc3RhdGUgYW5kIHRoZSBjb250ZW50cyBvZiB0aGUgc3RhY2suICBUaGlzIGlzIGFuCmFwcHJveGltYXRlIGRlc2NyaXB0aW9uIG9mIHdoYXQgaGFwcGVucyBmb3IgZWFjaCBpbmNvbWluZyB0b2tlbiwgaWdub3JpbmcgdGhlIG1hbnkgZWRnZQpjYXNlcywgZXJyb3ItZGV0ZWN0aW9uIGFuZCBlcnJvci1jb3JyZWN0aW9uLCBhbmQgd2hpdGVzcGFjZSBjbGVhbnVwczo8L3A+Cgo8dWw+CjxsaT48Yj48dHQ+QkJDT0RFX1RFWFQ8L3R0PjwvYj46ICBQbGFpbiB0ZXh0IGlzIGZpbHRlcmVkLCBhbmQgdGhlbiBwdXNoZWQgb250byB0aGUgdG9wCglvZiB0aGUgc3RhY2sgdG8gYXdhaXQgZnVydGhlciBwcm9jZXNzaW5nLjwvbGk+CjxsaT48Yj48dHQ+QkJDT0RFX1dTPC90dD48L2I+OiAgTm9uLW5ld2xpbmUgd2hpdGVzcGFjZSBpcyBwdXNoZWQganVzdCBsaWtlIHRleHQuPC9saT4KPGxpPjxiPjx0dD5CQkNPREVfTkw8L3R0PjwvYj46ICBOZXdsaW5lcyBhcmUgcHVzaGVkIG9udG8gdGhlIHN0YWNrIG1vc3RseSBsaWtlIHRleHQuPC9saT4KPGxpPjxiPjx0dD5CQkNPREVfVEFHPC90dD48L2I+OiAgT25lIG9mIHNldmVyYWwgdGhpbmdzIGNhbiBoYXBwZW4sIGRlcGVuZGluZyBvbiB3aGF0IGtpbmQgb2YgdGFnIHRoaXMgaXM6Cgk8dWw+Cgk8bGk+PGI+SWYgdGhlIHRhZyBpcyBhIHZlcmJhdGltIHRhZyw8L2I+IHJ1biBhIEJCQ09ERV9DSEVDSyBvbiBpdCwgdGhlbiBjb2xsZWN0IHN1Y2Nlc3NpdmUKCQl0b2tlbnMgdW50aWwgd2UgcmVhY2ggaXRzIG1hdGNoaW5nIGVuZCB0YWcuICBQYWNrIHRoZSBpbnRlcnZlbmluZyB0b2tlbnMgdG9nZXRoZXIsCgkJYW5kIHBhc3MgdGhlIHJlc3VsdCB0byB0aGUgdGFnJ3MgcHJvY2Vzc2luZyBmdW5jdGlvbi4gIFRoZSBvdXRwdXQgb2YgdGhlIHByb2Nlc3NpbmcKCQlmdW5jdGlvbiBpcyB0aGVuIHB1c2hlZCBiYWNrIG9udG8gdGhlIHN0YWNrIGFzIHRleHQuPC9saT4KCTxsaT48Yj5JZiB0aGUgdGFnIGlzIGFuIGlzb2xhdGVkIHRhZzwvYj4gKGl0IGhhcyBubyBlbmQgdGFnKSwgcnVuIGEgQkJDT0RFX0NIRUNLIG9uIGl0LAoJCWFuZCB0aGVuIGltbWVkaWF0ZWx5IHBhc3MgdGhlIHRhZyB0byB0aGUgdGFnJ3MgcHJvY2Vzc2luZyBmdW5jdGlvbi4gIFRoZSBvdXRwdXQgb2YKCQl0aGUgcHJvY2Vzc2luZyBmdW5jdGlvbiBpcyB0aGVuIHB1c2hlZCBiYWNrIG9udG8gdGhlIHN0YWNrIGFzIHRleHQuPC9saT4KCTxsaT48Yj5Gb3IgYWxsIG90aGVyIHN0YXJ0IHRhZ3MsPC9iPiBpbmNsdWRpbmcgdGhvc2Ugd2l0aCBib3RoIHJlcXVpcmVkIGFuZCBvcHRpb25hbCBlbmQKCQl0YWdzLCB3ZSBzaW1wbHkgcHVzaCB0aGUgdGFnIG9udG8gdGhlIHN0YWNrLCBzaW5jZSB3ZSB3b24ndCBrbm93IGhvdyB0byBmdWxseQoJCXByb2Nlc3MgaXQgdW50aWwgaXRzIGJvZHkgaGFzIGJlZW4gcHJvY2Vzc2VkLjwvbGk+Cgk8L3VsPgoJPC9saT4KPGxpPjxiPjx0dD5CQkNPREVfRU5EVEFHPC90dD48L2I+OiAgV2FsayBiYWNrd2FyZHMgdXAgdGhlIHN0YWNrLCBzZWFyY2hpbmcgZm9yIGEgbWF0Y2hpbmcKCXN0YXJ0IHRhZy4gIElmIGFuIGVuZGluZy1vcHRpb25hbCB0YWcgaXMgZm91bmQgaW4gYmV0d2VlbiwgYSBzdWl0YWJsZSBlbmQgdGFnIGlzIGdlbmVyYXRlZAoJZm9yIGl0IG9uIHRoZSBzcG90IGFuZCBwcm9jZXNzZWQsIHVudGlsIHRoZXJlIGlzIG5vdGhpbmcgYmV0d2VlbiB0aGlzIGVuZCB0YWcgYW5kIGl0cwoJc3RhcnQgdGFnIGV4Y2VwdCBmb3IgcHJvY2Vzc2VkIEhUTUwgdGV4dC4gIFRoZSBwcm9jZXNzZWQgSFRNTCB0ZXh0IGlzIGNvbGxlY3RlZCBhcyBhIHN0cmluZywKCWFuZCBwYXNzZWQgdG8gdGhlIHRhZydzIHByb2Nlc3NpbmcgZnVuY3Rpb247IHRoZSBvdXRwdXQgb2YKCXRoZSBwcm9jZXNzaW5nIGZ1bmN0aW9uIGlzIHRoZW4gcHVzaGVkIGJhY2sgb250byB0aGUgc3RhY2sgYXMgdGV4dC48L2xpPgo8L3VsPgoKPHA+QXQgdGhlIGVuZCBvZiBwcm9jZXNzaW5nIHRoZSBpbnB1dCwgdGhlIHN0YWNrIHdpbGwgY29udGFpbiB0aGUgb3V0cHV0IGFzIG11bHRpcGxlIHN0YWNrCmVudHJpZXM7IHRoZXNlIGFyZSBjb2xsZWN0ZWQgdG8gYSBzaW5nbGUgc3RyaW5nLCB3aGljaCBpcyByZXR1cm5lZCBhcyB0aGUgb3V0cHV0LjwvcD4KCjxoND5QZXJmb3JtYW5jZSBhbmFseXNpczwvaDQ+Cgo8cD5UaGlzIGFsZ29yaXRobSBydW5zIGluIE8obikgdGltZSBleGNlcHQgd2hlbiB3ZSBlbmNvdW50ZXIgYW4gZW5kIHRhZyBhbmQgaGF2ZSB0byBnbyBiYWNrCnVwIHRoZSBzdGFjazsgdGhlbiBpdCdzIE8obikgdG8gd2FsayBiYWNrIHRvIHRoZSBzdGFydCB0YWcsIGFuZCBPKG4pIHRvIGNvbGxlY3QgdG9rZW5zIGJldHdlZW4KdGhlIHN0YXJ0IHRhZyBhbmQgZW5kIHRhZyBhbmQgY29sbGFwc2UgdGhlbSBpbnRvIGEgc3RyaW5nLiAgU28gdGhpcyBpcyBlZmZlY3RpdmVseSBPKG4rbiptKSwKd2hlcmUgIm4iIGlzIHRoZSBudW1iZXIgb2YgaW5wdXQgdG9rZW5zIGFuZCAibSIgaXMgdGhlIG51bWJlciBvZiBlbmQgdGFnczsgaG93ZXZlciwgdGhhdCdzCmEgd29yc3QtY2FzZSBhbmFseXNpcywgYXNzdW1pbmcgdGhhdCBlYWNoIGVuZCB0YWcgY29udGFpbnMgYW4gZW50aXJlIGRvY3VtZW50J3Mgd29ydGggb2YgdG9rZW5zCmJldHdlZW4gaXQgYW5kIGl0cyBzdGFydCB0YWcuICBJbiBwcmFjdGljZSwgdGhlIG51bWJlciBvZiB0b2tlbnMgYmV0d2VlbiBhIHN0YXJ0IGFuZCBhbiBlbmQgdGFnIGlzCmZhaXJseSBzbWFsbCwgYXBwcm9hY2hpbmcgc29tZSBjb25zdGFudCBrICh3aGljaCBpcyBhcm91bmQgMjAgb3IgMzAgdG9rZW5zLCBpbiBwcmFjdGljZSksIHNvIGluCnR5cGljYWwsIGF2ZXJhZ2UgY2FzZXMsIHRoaXMgYWxnb3JpdGhtIHJ1bnMgaW4gTyhuK20pIHRpbWUuPC9wPgoKPHA+KEFzIGEgZnV0dXJlIG9wdGltaXphdGlvbiwgYSBjb25zdGFudC10aW1lIHNwZWVkdXAgY291bGQgYmUgYWNoaWV2ZWQgYnkgdXNpbmcKaGFzaCB0YWJsZXMgdG8gdHJhY2sgc3RhcnQgdGFnIGxvY2F0aW9ucywgaW5zdGVhZCBvZiBzZWFyY2hpbmcgZm9yIHRoZW0sIGJ1dCB0aGUKaW50ZXJ2ZW5pbmcgdG9rZW5zIG11c3QgYmUgY29sbGVjdGVkIGFueXdheSB3aGVuIHRoZSBzdGFydCB0YWcgaXMgZm91bmQsIHNvIHRoZSByZXN1bHRpbmcKc2VhcmNoIHBlcmZvcm1hbmNlIHdvdWxkIHN0aWxsIGJlIE8obikuKTwvcD4KCjxoND5FcnJvci1jb3JyZWN0aW9uPC9oND4KCjxwPldoaWxlIDx0dD5CQkNPREVfVEVYVDwvdHQ+LCA8dHQ+QkJDT0RFX1dTPC90dD4sIGFuZCA8dHQ+QkJDT0RFX05MPC90dD4gdG9rZW5zIGFyZSBhbHdheXMKbGVnYWwsIDx0dD5CQkNPREVfVEFHPC90dD4gYW5kIDx0dD5CQkNPREVfRU5EVEFHPC90dD4gdG9rZW5zIG1heSBiZSBpbGxlZ2FsIGluIHNvbWUgY2FzZXMsCmFuZCB0aGUgcGFyc2VyIG5lZWRzIHRvIGNvcGUgd2l0aCB0aGlzLiAgVGhlcmUgYXJlIHNldmVyYWwgcG9zc2liaWxpdGllczo8L3A+Cgo8dWw+CjxsaT48Yj48dHQ+QkJDT0RFX1RBRzwvdHQ+IHdpdGggbm8gbWF0Y2hpbmcgPHR0PkJCQ09ERV9FTkRUQUc8L3R0PjwvYj46ICBXaGVuIHRleHQgaXMgYmVpbmcgY29sbGVjdGVkCglhdCB0aGUgZW5kLCB0aGUgaW5pdGlhbCB0YWcgd2lsbCBoYXZlIGFuIGludmlzaWJsZSA8dHQ+QkJDT0RFX0VORFRBRzwvdHQ+IGFkZGVkIHRvIHRoZSBlbmQgb2YgdGhlIGlucHV0LjwvbGk+CjxsaT48Yj48dHQ+QkJDT0RFX0VORFRBRzwvdHQ+IHdpdGggbm8gbWF0Y2hpbmcgPHR0PkJCQ09ERV9UQUc8L3R0PjwvYj46ICBUaGlzIGlzIGNhdWdodCBkdXJpbmcgdGhlCglwcm9jZXNzaW5nIG9mIDx0dD5CQkNPREVfRU5EVEFHPC90dD46ICBJZiB0aGUgc2VhcmNoIHVwIHRocm91Z2ggdGhlIHN0YWNrIGZpbmRzIG5vCgltYXRjaGluZyA8dHQ+QkJDT0RFX1RBRzwvdHQ+LCB0aGlzIGVuZCB0YWcgaXMgc2ltcGx5IGNvbnZlcnRlZCB0byBwbGFpbiB0ZXh0IGFuZCBwdXNoZWQKCWFzIGEgbmV3IDx0dD5CQkNPREVfVEVYVDwvdHQ+IGVudHJ5LjwvbGk+CjxsaT48Yj5UYWcgaW5zaWRlIGEgY2xhc3MgdGhhdCBkb2Vzbid0IGFsbG93IGl0PC9iPjogIElmLCBmb3IgZXhhbXBsZSwgYSB1c2VyIHBsYWNlcyBhCgk8dHQ+W2NlbnRlcl08L3R0PiBpbnNpZGUgYW4gPHR0PltpXTwvdHQ+IHRhZywgdGhhdCdzIGlsbGVnYWwsIGFuZCBOQkJDIGhhcyBhIHNwZWNpYWwKCXJvdXRpbmUgdG8gaGFuZGxlIHRoaXMgY2FzZS4gIFdoZW4gYSA8dHQ+QkJDT0RFX1RBRzwvdHQ+IGlzIGVuY291bnRlcmVkLCBpdCBpcyBjaGVja2VkCglhZ2FpbnN0IHRoZSBjdXJyZW50IGNvbnRhaW5pbmcgY2xhc3MsIHdoaWNoIGNhbiBiZSBkZXRlcm1pbmVkIGZyb20gdGhlIHRvcCBvZiB0aGUgc3RhY2s7CglpZiB0aGUgY29udGFpbmluZyBjbGFzcyBpcyBkaXNhbGxvd2VkLCB0aGlzIDx0dD5CQkNPREVfVEFHPC90dD4gd2lsbCBiZSBjb252ZXJ0ZWQgdG8KCXBsYWluIHRleHQgYW5kIHB1c2hlZCBhcyBhIDx0dD5CQkNPREVfVEVYVDwvdHQ+IHRva2VuLjwvbGk+CjxsaT48Yj5NaXMtb3JkZXJlZCA8dHQ+W2ldW2JdPC90dD50YWcgbmVzdGluZzx0dD5bL2ldWy9iXTwvdHQ+PC9iPjogIFRoaXMgaXMgZGV0ZWN0ZWQgZHVyaW5nCgk8dHQ+QkJDT0RFX0VORFRBRzwvdHQ+IHByb2Nlc3Npbmc6ICBJZiB0aGUgd2FsayBiYWNrIHVwIHRoZSBzdGFjayBjcm9zc2VzIG92ZXIgYW55Cglub24tbWF0Y2hpbmcgc3RhcnQgdGFncywgTkJCQyBnZW5lcmF0ZXMgYSBtYXRjaGluZyBlbmQgdGFnIGZvciBlYWNoIG9mIHRob3NlIHN0YXJ0IHRhZ3MKCWp1c3QgYmVmb3JlIHRoZSBjdXJyZW50IGVuZCB0YWcsIGFuZCBzZXRzIGEgZmxhZyB0byBpbmRpY2F0ZSB0aGF0IGFueSBzaW5nbGUgZm9sbG93aW5nCgl1bm1hdGNoZWQgZW5kIHRhZyB3aXRoIHRoZSBzYW1lIG5hbWUgc2hvdWxkIGJlIHNpbGVudGx5IHJlbW92ZWQgZnJvbSB0aGUgaW5wdXQuICBXZSBjYW4KCWJlIHN1cmUgdGhhdCBhbnkgc3RhcnQgdGFncyB0aGF0IGFyZSBjcm9zc2VkIGFyZSBub3Qgc3RhcnQgdGFncyBvZiBhIGhpZ2hlciBjbGFzcywKCWJlY2F1c2UgdGhleSB3b3VsZCBoYXZlIGJlZW4gdHVybmVkIGludG8gcGxhaW4gdGV4dCAoYnkgdGhlIHByZXZpb3VzIGVycm9yLWhhbmRsaW5nIHJ1bGUpCglpZiB0aGV5IHdlcmUuICBTbyBpbiB0aGUgZXhhbXBsZSBvZiA8dHQ+W2ldW2JddGFnJm5ic3A7bmVzdGluZ1svaV1bL2JdPC90dD4sIHVwb24gcmVhY2hpbmcgdGhlIDx0dD5bL2ldPC90dD4sIHRoZQoJcGFyc2VyIHdvdWxkIHNlYXJjaCBmb3IgdGhlIDx0dD5baV08L3R0PiwgZmluZCB0aGUgPHR0PltiXTwvdHQ+IGZpcnN0LCBhbmQgZ2VuZXJhdGUgYW4KCWFkZGl0aW9uYWwgPHR0PlsvYl08L3R0PiBiZWZvcmUgdGhlIDx0dD5bL2ldPC90dD47IHRoZW4sIHRvIGhlbHAgImZpeCIgdGhlIG91dHB1dCwgTkJCQwoJd2lsbCBzaWxlbnRseSByZW1vdmUgYW55IG9uZSB1bm1hdGNoZWQgPHR0PlsvYl08L3R0PiBpdCBmaW5kcyBsYXRlciBpbiB0aGUgaW5wdXQgc3RyZWFtLgoJU28gdGhlIG91dHB1dCB3b3VsZCBiZSA8dHQ+Jmx0O2kmZ3Q7Jmx0O2ImZ3Q7dGFnJm5ic3A7bmVzdGluZyZsdDsvYiZndDsmbHQ7L2kmZ3Q7PC90dD4sCgl3aGljaCBpcyBhYm91dCB3aGF0IHRoZSB1c2VyIG1pZ2h0IGV4cGVjdCB0byBnZXQuICBOb3RlIHRoYXQgZm9yIHNvbWUgcmVhbGx5IHVnbHkgbWlzLW5lc3RpbmdzLAoJdGhpcyBydWxlIHdpbGwgcHJvZHVjZSB3ZWlyZCByZXN1bHRzLCBidXQgdGhleSdsbCBzdGlsbCBhdCBsZWFzdCBiZSB2YWxpZCBYSFRNTCAxLjAgU3RyaWN0LjwvbGk+CjwvdWw+Cgo8aDQ+RXhhbXBsZSBwcm9jZXNzaW5nPC9oND4KCjxwPkxldCdzIGxvb2sgYXQgaG93IHRoaXMgd291bGQgdGhlbiBwcm9jZXNzIG91ciBleGFtcGxlIGlucHV0LiAgRmlyc3QsIHRoaXMgaXMgYWdhaW4gb3VyCmluY29taW5nIHRva2VuIHN0cmVhbTo8L3A+Cgo8ZGl2IGNsYXNzPSdjb2RlX2hlYWRlcic+Q29kZTo8L2Rpdj4KPHhtcCBjbGFzcz0nY29kZSc+IkJlZm9yZS4iIFdTIE5MIFtjZW50ZXJdICJIZWxsbywiIFdTIFtpXSAiV29ybGQiIFsvaV0gIiEiIFsvY2VudGVyXSBOTCAiQWZ0ZXIuIjwveG1wPgoKPHA+VGhpcyBpcyB3aGF0IGhhcHBlbnMgZHVyaW5nIHRoZSBwYXJzZSBvZiB0aGlzIHN0cmVhbTo8L3A+Cgo8b2w+CjxsaT5Jbml0aWFsIGNsYXNzIGlzICJibG9jayIuPC9saT4KPGxpPjxiPjx0dD4iQmVmb3JlLiI8L3R0PjwvYj4gcmVhZCwgYW5kIHB1c2hlZCBvbnRvIHRoZSBzdGFjay48L2xpPgo8bGk+PGI+PHR0PldTPC90dD48L2I+IHJlYWQsIGFuZCBwdXNoZWQgb250byB0aGUgc3RhY2suPC9saT4KPGxpPjxiPjx0dD5OTDwvdHQ+PC9iPiByZWFkLiAgPHR0PldTPC90dD4gb24gdGhlIHN0YWNrIGlzIHBvcHBlZCAoTkwgY29uc3VtZXMgbmVhcmJ5IFdTKSwgYW5kIHRoZSBOTCBpcyBwdXNoZWQgb250byB0aGUgc3RhY2suPC9saT4KPGxpPjxiPjx0dD5bY2VudGVyXTwvdHQ+PC9iPiByZWFkLiAgQ2xhc3MgaXMgY2hlY2tlZCwgYW5kIDx0dD5bY2VudGVyXTwvdHQ+IGlzIGFsbG93ZWQgd2l0aGluICJibG9jayIuICBQb3AgdGhlIE5MCglmcm9tIHRoZSBzdGFjaywgc2luY2UgPHR0PltjZW50ZXJdPC90dD4gY29uc3VtZXMgbmV3bGluZXMuICA8dHQ+W2NlbnRlcl08L3R0PiBpcwoJdGhlbiBwdXNoZWQgb250byB0aGUgc3RhY2ssIGFuZCBjbGFzcyBpcyBjaGFuZ2VkIHRvICJibG9jayIuPC9saT4KPGxpPjxiPjx0dD4iSGVsbG8sIjwvdHQ+PC9iPiByZWFkLCBhbmQgcHVzaGVkIG9udG8gdGhlIHN0YWNrLjwvbGk+CjxsaT48Yj48dHQ+V1M8L3R0PjwvYj4gcmVhZCwgYW5kIHB1c2hlZCBvbnRvIHRoZSBzdGFjay48L2xpPgo8bGk+PGI+PHR0PltpXTwvdHQ+PC9iPiByZWFkLiAgQ2xhc3MgaXMgY2hlY2tlZCwgYW5kIDx0dD5baV08L3R0PiBpcyBhbGxvd2VkIHdpdGhpbiAiYmxvY2siLiAgPHR0PltpXTwvdHQ+CglpcyBwdXNoZWQgb250byB0aGUgc3RhY2ssIGFuZCBjbGFzcyBpcyBjaGFuZ2VkIHRvICJpbmxpbmUiLjwvbGk+CjxsaT48Yj48dHQ+IldvcmxkIjwvdHQ+PC9iPiByZWFkLCBhbmQgcHVzaGVkIG9udG8gdGhlIHN0YWNrLjwvbGk+CjxsaT48Yj48dHQ+Wy9pXTwvdHQ+PC9iPiByZWFkLiAgU2VhcmNoIGRvd24gdGhlIHN0YWNrIGZvciBhIDx0dD5baV08L3R0Pi4gIFJlbW92ZSBhbGwgdG9rZW5zIGluIGJldHdlZW4gYW5kCgljb252ZXJ0IHRoZW0gdG8gYSBzdHJpbmcuICBQYXNzIHN0cmluZyB0byA8dHQ+W2ldPC90dD4ncyBwcm9jZXNzaW5nIGZ1bmN0aW9uLCBhbmQgcG9wIDx0dD5baV08L3R0PiBmcm9tIHN0YWNrLgoJUHVzaCB0aGUgcmVzdWx0aW5nIEhUTUwsICI8dHQ+Jmx0O2kmZ3Q7V29ybGQmbHQ7L2kmZ3Q7PC90dD4iLCBvbnRvIHRoZSBzdGFjay48L2xpPgo8bGk+PGI+PHR0PiIhIjwvdHQ+PC9iPiByZWFkLCBhbmQgcHVzaGVkIG9udG8gdGhlIHN0YWNrLjwvbGk+CjxsaT48Yj48dHQ+Wy9jZW50ZXJdPC90dD48L2I+IHJlYWQuICBTZWFyY2ggZG93biB0aGUgc3RhY2sgZm9yIGEgPHR0PltjZW50ZXJdPC90dD4uICBSZW1vdmUgYWxsIHRva2VucyBpbiBiZXR3ZWVuIGFuZAoJY29udmVydCB0aGVtIHRvIGEgc3RyaW5nLiAgUGFzcyBzdHJpbmcgdG8gPHR0PltjZW50ZXJdPC90dD4ncyBwcm9jZXNzaW5nIGZ1bmN0aW9uLCBhbmQgcG9wIDx0dD5bY2VudGVyXTwvdHQ+IGZyb20gc3RhY2suCglQdXNoIHRoZSByZXN1bHRpbmcgSFRNTCwgIjx0dD4mbHQ7ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOmNlbnRlcjsiJmd0O0hlbGxvLCAmbHQ7aSZndDtXb3JsZCZsdDsvaSZndDshJmx0Oy9kaXYmZ3Q7PC90dD4iLCBvbnRvIHRoZSBzdGFjay4KCVJlbW92ZSBhbnkgdHJhaWxpbmcgTkwgb3IgV1MgdG9rZW5zLCBzaW5jZSA8dHQ+Wy9jZW50ZXJdPC90dD4gY29uc3VtZXMgbmV3bGluZXMuPC9saT4KPGxpPihUaGUgbmV4dCA8dHQ+Tkw8L3R0PiB3YXMgc2tpcHBlZCBieSA8dHQ+Wy9jZW50ZXJdPC90dD4sIHNvIGl0J3Mgbm90IHNlZW4gYnkgdGhlIG1haW4gcGFyc2luZyBsb29wLik8L2xpPgo8bGk+PGI+PHR0PiJBZnRlci4iPC90dD48L2I+IHJlYWQsIGFuZCBwdXNoZWQgb250byB0aGUgc3RhY2suPC9saT4KPGxpPjxiPkVuZC1vZi1pbnB1dC48L2I+ICBNYWluIHBhcnNpbmcgbG9vcCBlbmRzLiAgRXZlcnl0aGluZyBzdGlsbCBvbiB0aGUgc3RhY2sgaXMgY29sbGVjdGVkIGFzIGEgc3RyaW5nLAoJIjx0dD5CZWZvcmUuJmx0O2RpdiBzdHlsZT0idGV4dC1hbGlnbjpjZW50ZXI7IiZndDtIZWxsbywgJmx0O2kmZ3Q7V29ybGQmbHQ7L2kmZ3Q7ISZsdDsvZGl2Jmd0O0FmdGVyLjwvdHQ+IiwKCXdoaWNoIGlzIHRoZW4gcmV0dXJuZWQgdG8gdGhlIGNhbGxlci48L2xpPgo8L29sPgoKPHA+Rm9yIHdoYXQgaXQncyB3b3J0aCwgeW91IGNhbiB0ZXN0IHRoaXMgeW91cnNlbGYgYnkgZW5hYmxpbmcgPGEgaHJlZj0iI3JlZl9wYXJzZXJfU2V0RGVidWciPmRlYnVnIG1vZGU8L2E+OgpJbiBkZWJ1ZyBtb2RlLCB0aGUgcGFyc2VyIHByaW50cyB0byB0aGUgYnJvd3NlciBlYWNoIGFjdGlvbiBpdCBwZXJmb3Jtcywgc2VwYXJhdGluZyBlYWNoIHRva2VuIHdpdGggaG9yaXpvbnRhbApydWxlcy4gIEluIGFkZGl0aW9uIHRvIGJlaW5nIHVzZWZ1bCBmb3IgZGVidWdnaW5nIG5ldyB0YWdzLCB0aGlzIG1vZGUgY2FuIGFsc28gYmUgdXNlZnVsIGZvciBkaXZpbmluZyB0aGUKYmFzaWMgd29ya2luZ3Mgb2YgdGhlIHBhcnNlciBpdHNlbGYuPC9wPgo=]]></data>
	</file>
	<file>
	  <filename>/docs/doc/src/app_rule.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CjxwPlRhZyBydWxlcyBhcmUgYXJyYXlzIHRoYXQgbWF5IGNvbnRhaW4gYW55IG9mIHRoZSBmb2xsb3dpbmcgbWVtYmVycyB0byBkZXNjcmliZQpob3cgdGhlIHRhZyBpcyB0byBiZSBwcm9jZXNzZWQuICBNb3N0IG1lbWJlcnMgYXJlIG9wdGlvbmFsLCBhbmQgZGVmYXVsdCB2YWx1ZXMgd2lsbAp1c3VhbGx5IGJlIGFzc3VtZWQgaWYgbm8gbWVtYmVyIGlzIGdpdmVuLjwvcD4KCjx1bD4KPGxpPjxiPjx0dD4nbW9kZSc8L3R0PjwvYj4gJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICg8aT5EZWZhdWx0IHZhbHVlOjwvaT4gIDx0dD5CQkNPREVfTU9ERV9TSU1QTEU8L3R0Pik8YnIgLz4KCU11c3QgYmUgZXhhY3RseSBvbmUgb2YgdGhlIGZvbGxvd2luZyBpZGVudGlmaWVyczo8YnIgLz48YnIgLz4KCTx1bD4KCTxsaT48dHQ+QkJDT0RFX01PREVfU0lNUExFPC90dD46ICBSZXBsYWNlcyB0aGUgdGFnIHdpdGggdGhlIHRleHQgZGVmaW5lZCBpbiA8dHQ+J3NpbXBsZV9zdGFydCc8L3R0PgoJCWFuZCA8dHQ+J3NpbXBsZV9lbmQnPC90dD4uPC9saT4KCTxsaT48dHQ+QkJDT0RFX01PREVfQ0FMTEJBQ0s8L3R0PjogIENhbGxzIGEgY2FsbGJhY2sgZnVuY3Rpb24gb3IgbWV0aG9kIHRvIGZvcm1hdCB0aGUgdGFnLgoJCVRoZSBmb3JtYXR0aW5nIGZ1bmN0aW9uIGlzIHNwZWNpZmllZCBpbiB0aGUgPHR0PidtZXRob2QnPC90dD4gcGFyYW1ldGVyLjwvbGk+Cgk8bGk+PHR0PkJCQ09ERV9NT0RFX0lOVEVSTkFMPC90dD46ICBDYWxscyBhbiBpbnRlcm5hbCBmb3JtYXR0aW5nIGZ1bmN0aW9uIGluIHRoZSBCQkNvZGUgcGFyc2VyLgoJCVRoZSBmb3JtYXR0aW5nIGZ1bmN0aW9uIGlzIHNwZWNpZmllZCBpbiB0aGUgPHR0PidtZXRob2QnPC90dD4gcGFyYW1ldGVyLCB3aGljaCBtdXN0IGJlIGEgc3RyaW5nLjwvbGk+Cgk8bGk+PHR0PkJCQ09ERV9NT0RFX0xJQlJBUlk8L3R0PjogIENhbGxzIGEgZm9ybWF0dGluZyBmdW5jdGlvbiB0aGF0J3MgcGFydCBvZiB0aGUgU3RhbmRhcmQgQkJDb2RlIExpYnJhcnkgKHRoZSBCQkNvZGVMaWJyYXJ5IG9iamVjdCkuCgkJVGhlIGZvcm1hdHRpbmcgZnVuY3Rpb24gaXMgc3BlY2lmaWVkIGluIHRoZSA8dHQ+J21ldGhvZCc8L3R0PiBwYXJhbWV0ZXIsIHdoaWNoIG11c3QgYmUgYSBzdHJpbmcuPC9saT4KCTwvdWw+PGJyIC8+Cgk8L2xpPgoKPGxpPjxiPjx0dD4nc2ltcGxlX3N0YXJ0JzwvdHQ+PC9iPiAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgKDxpPkRlZmF1bHQgdmFsdWU6PC9pPiAgPHR0PiIiPC90dD4pPGJyIC8+CglUaGlzIHBhcmFtZXRlciBzdG9yZXMgYSB0ZXh0IHN0cmluZyB0aGF0LCBpbiA8dHQ+QkJDT0RFX01PREVfU0lNUExFPC90dD4sIGRlc2NyaWJlcyB3aGF0CglIVE1MIHRvIHVzZSBpbiBwbGFjZSBvZiB0aGUgc3RhcnQgdGFnLjxiciAvPjxiciAvPgoJPC9saT4KCjxsaT48Yj48dHQ+J3NpbXBsZV9lbmQnPC90dD48L2I+ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAoPGk+RGVmYXVsdCB2YWx1ZTo8L2k+ICA8dHQ+IiI8L3R0Pik8YnIgLz4KCVRoaXMgcGFyYW1ldGVyIHN0b3JlcyBhIHRleHQgc3RyaW5nIHRoYXQsIGluIDx0dD5CQkNPREVfTU9ERV9TSU1QTEU8L3R0PiwgZGVzY3JpYmVzIHdoYXQKCUhUTUwgdG8gdXNlIGluIHBsYWNlIG9mIHRoZSBlbmQgdGFnLiAgTm90ZSB0aGF0IGlmIHRoZSBydWxlJ3MgPHR0Pidjb250ZW50JzwvdHQ+CgltZW1iZXIgaXMgc2V0IHRvIDx0dD5CQkNPREVfUFJPSElCSVQ8L3R0PiwgdGhlIDx0dD4nc2ltcGxlX2VuZCc8L3R0PiBzdHJpbmcgd2lsbCBiZQoJY29uY2F0ZW5hdGVkIHRvIDx0dD4nc2ltcGxlX3N0YXJ0JzwvdHQ+IGFuZCB0aGUgdHdvIG9mIHRoZW0gdG9nZXRoZXIgd2lsbCBiZSB1c2VkIGluCglwbGFjZSBvZiB0aGUgc3RhcnQgdGFnICh0aGUgc3RhcnQgdGFnLCBlZmZlY3RpdmVseSwgYmVoYXZlcyBhcyBib3RoIHRoZSBzdGFydCBhbmQgZW5kCgl0YWdzIGlmIGNvbnRlbnQgaXMgcHJvaGliaXRlZCkuPGJyIC8+PGJyIC8+Cgk8L2xpPgoKPGxpPjxiPjx0dD4nbWV0aG9kJzwvdHQ+PC9iPiAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgKDxpPkRlZmF1bHQgdmFsdWU6PC9pPiAgPHR0PiIiPC90dD4pPGJyIC8+CglUaGlzIG1lbWJlciBpcyB1c2VkIHdpdGggPHR0PkJCQ09ERV9NT0RFX0NBTExCQUNLPC90dD4sIDx0dD5CQkNPREVfTU9ERV9JTlRFUk5BTDwvdHQ+LCBhbmQKCWluIDx0dD5CQkNPREVfTU9ERV9MSUJSQVJZPC90dD4gdG8gZGV0ZXJtaW5lIHdoYXQgZnVuY3Rpb24gdG8gY2FsbDo8YnIgLz48YnIgLz4KCTx1bD4KCTxsaT48dHQ+QkJDT0RFX01PREVfQ0FMTEJBQ0s8L3R0PjogIFRoaXMgbWF5IGJlIGEgc3RyaW5nLCBmb3IgY2FsbGluZyBhIGZ1bmN0aW9uLAoJCW9yIGFuIGFycmF5LCBmb3IgY2FsbGluZyBhIG1ldGhvZCBvZiBhIGNsYXNzLiAgU2VlIFBIUCdzCgkJZG9jdW1lbnRhdGlvbiBvbiA8dHQ+Y2FsbF91c2VyX2Z1bmMoKTwvdHQ+IGZvciBtb3JlIGRldGFpbHMgb24gaG93IHRvCgkJZGVmaW5lIGEgY2FsbGJhY2sgZnVuY3Rpb24uICBTZWUgdGhlIHNlY3Rpb24gb24gPGEgaHJlZj0idXNhZ2VfY2FsbC5odG1sIj5jYWxsYmFjayB0YWdzPC9hPiBmb3IgbW9yZSBkZXRhaWxzCgkJb24gaG93IHRvIHNldCB1cCBhIDx0dD5CQkNPREVfTU9ERV9DQUxMQkFDSzwvdHQ+IHRhZy48L2xpPgoJPGxpPjx0dD5CQkNPREVfTU9ERV9JTlRFUk5BTDwvdHQ+OiAgVGhpcyBpcyBhIHN0cmluZywgdGhlIG5hbWUgb2YgYW4gaW50ZXJuYWwKCQltZXRob2Qgb2YgYW4gaW5zdGFuY2Ugb2YgY2xhc3MgPGEgaHJlZj0iYXBpLmh0bWwiPjx0dD5CQkNvZGU8L3R0PjwvYT4uPC9saT4KCTxsaT48dHQ+QkJDT0RFX01PREVfTElCUkFSWTwvdHQ+OiAgVGhpcyBpcyBhIHN0cmluZywgdGhlIG5hbWUgb2YgYSBtZXRob2Qgb2YgYW4KCQlpbnN0YW5jZSBvZiBjbGFzcyA8dHQ+QkJDb2RlTGlicmFyeTwvdHQ+LjwvbGk+Cgk8L3VsPjxiciAvPgoJTm90ZTogVW5saWtlIG1vc3QgbWVtYmVycywgdGhpcyBtZW1iZXIgPGk+bXVzdDwvaT4gYmUgZGVmaW5lZCBpZiA8dHQ+QkJDT0RFX01PREVfQ0FMTEJBQ0s8L3R0PiwKCTx0dD5CQkNPREVfTU9ERV9JTlRFUk5BTDwvdHQ+LCBvciA8dHQ+QkJDT0RFX01PREVfTElCUkFSWTwvdHQ+IGlzIHVzZWQuICBJZiB5b3UgZmFpbCB0bwoJZGVmaW5lIHRoaXMgbWVtYmVyLCBOQkJDIG1heSBwcm9kdWNlIGVycm9yIG1lc3NhZ2VzIG9yIHdhcm5pbmdzLCBhbmQgd2lsbCA8aT5kZWZpbml0ZWx5PC9pPgoJbm90IGZvcm1hdCB5b3VyIGNvbnRlbnQgY29ycmVjdGx5ITxiciAvPjxiciAvPgoJPC9saT4KCjxsaT48Yj48dHQ+J2NvbnRlbnQnPC90dD48L2I+ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAoPGk+RGVmYXVsdCB2YWx1ZTo8L2k+ICA8dHQ+QkJDT0RFX09QVElPTkFMPC90dD4pPGJyIC8+CglNdXN0IGJlIGV4YWN0bHkgb25lIG9mIHRoZSBmb2xsb3dpbmcgaWRlbnRpZmllcnM6PGJyIC8+PGJyIC8+Cgk8dWw+Cgk8bGk+PHR0PkJCQ09ERV9SRVFVSVJFRDwvdHQ+OiAgTm9uLWVtcHR5IGNvbnRlbnQgbXVzdCBiZSBwcm92aWRlZCBmb3IgdGhpcyB0YWcgdG8KCQliZSBwcm9wZXJseSBjb252ZXJ0ZWQuICBJZiBlbXB0eSBjb250ZW50IGlzIHByb3ZpZGVkIGJ5IHRoZSB1c2VyLAoJCXRoaXMgdGFnIHdpbGwgYmUgcmVuZGVyZWQgdmVyYmF0aW0gcmF0aGVyIHRoYW4gZm9ybWF0dGVkLjwvbGk+Cgk8bGk+PHR0PkJCQ09ERV9PUFRJT05BTDwvdHQ+OiAgKFRoZSBtb3N0IGNvbW1vbiBzZXR0aW5nLikgIENvbnRlbnQgaXMgb3B0aW9uYWwsIGFuZAoJCW1heSBiZSBwcm92aWRlZCBieSB0aGUgdXNlciBiZXR3ZWVuIHRoZSBzdGFydCB0YWcgYW5kIHRoZSBlbmQKCQl0YWcuPC9saT4KCTxsaT48dHQ+QkJDT0RFX1BST0hJQklUPC90dD46ICBDb250ZW50IGlzIGRpc2FsbG93ZWQuICBHZW5lcmFsbHksIHRoaXMgaXMgdXNlZCBpbgoJCWNvbmp1bmN0aW9uIHdpdGggdGhlIDx0dD4nZW5kX3RhZyc8L3R0PiBtZW1iZXIgKHNlZSBiZWxvdykgd2hlbiBlbmQgdGFncyBhcmUgcHJvaGliaXRlZAoJCWFzIHdlbGwgYXMgY29udGVudC48L2xpPgoJPGxpPjx0dD5CQkNPREVfVkVSQkFUSU08L3R0PjogIENvbnRlbnQgaXMgb3B0aW9uYWwsIGJ1dCBhbnkgdGFncyBvciBzcGVjaWFsIGZvcm1hdHRpbmcKCQljb250YWluZWQgd2l0aGluIGl0IHdpbGwgYmUgaWdub3JlZDogIFRoZSBjb250ZW50IGlzIHRyZWF0ZWQgYXMKCQlwbGFpbiB0ZXh0LCBhbmQgaXMgc2VudCB0byB0aGUgZm9ybWF0dGluZyBmdW5jdGlvbiBleGFjdGx5IGFzCgkJZ2l2ZW4uICBJZiB0aGlzIGlzIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCA8dHQ+QkJDT0RFX01PREVfU0lNUExFPC90dD4sCgkJdGhlIGNvbnRlbnQgPGk+d2lsbDwvaT4gYmUgcGFzc2VkIHRocm91Z2ggc2FmZXR5IHJvdXRpbmVzIGxpa2UKCQk8dHQ+aHRtbHNwZWNpYWxjaGFycygpPC90dD4sIHNvIHlvdSBjYW4gc2FmZWx5IHVzZSB0aGlzIGluIGNvbWJpbmF0aW9uCgkJd2l0aCBlbGVtZW50cyBsaWtlIDx0dD4mbHQ7cHJlJmd0OzwvdHQ+LCBidXQgbm90IHdpdGggZWxlbWVudHMgbGlrZSA8dHQ+Jmx0O3htcCZndDs8L3R0Pi4gIElmIHRoaXMKCQlpcyB1c2VkIHdpdGggYSBmb3JtYXR0aW5nIGZ1bmN0aW9uLCB0aGUgZm9ybWF0dGluZyBmdW5jdGlvbiB3aWxsCgkJYmUgcmVzcG9uc2libGUgZm9yIGFwcGx5aW5nIDx0dD5odG1sc3BlY2lhbGNoYXJzKCk8L3R0PiBvciBhbnkgb3RoZXIgZm9ybQoJCW9mIGNsZWFudXAgbmVjZXNzYXJ5OiAgVGhlIGZvcm1hdHRpbmcgZnVuY3Rpb24gd2lsbCByZWNlaXZlIHRoZQoJCWV4YWN0IHRleHQgZ2l2ZW4gYnkgdGhlIHVzZXIsIHdoaXRlc3BhY2UgaW5jbHVkZWQuICBUaGlzIHNldHRpbmcgaXMgZ2VuZXJhbGx5CgkJaW50ZW5kZWQgdG8gYmUgY29tYmluZWQgd2l0aCB0aGUgPHR0PndoaXRlLXNwYWNlOnByZTwvdHQ+IENTUyBydWxlIGFwcGxpZWQgdG8KCQl0aGUgYmxvY2sgdGhhdCBjb250YWlucyB0aGUgdmVyYmF0aW0gY29udGVudC48L2xpPgoJPC91bD4KCTxiciAvPjwvbGk+Cgo8bGk+PGI+PHR0PidiZWZvcmVfdGFnJzwvdHQ+PC9iPiAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgKDxpPkRlZmF1bHQgdmFsdWU6PC9pPiAgPHR0PiIiPC90dD4pPC9saT4KPGxpPjxiPjx0dD4nYWZ0ZXJfdGFnJzwvdHQ+PC9iPiAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgKDxpPkRlZmF1bHQgdmFsdWU6PC9pPiAgPHR0PiIiPC90dD4pPC9saT4KPGxpPjxiPjx0dD4nYmVmb3JlX2VuZHRhZyc8L3R0PjwvYj4gJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICg8aT5EZWZhdWx0IHZhbHVlOjwvaT4gIDx0dD4iIjwvdHQ+KTwvbGk+CjxsaT48Yj48dHQ+J2FmdGVyX2VuZHRhZyc8L3R0PjwvYj4gJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICg8aT5EZWZhdWx0IHZhbHVlOjwvaT4gIDx0dD4iIjwvdHQ+KTxiciAvPgoJVGhlc2Ugc2V0dGluZ3MgY29sbGVjdGl2ZWx5IGNvbnRyb2wgaG93IChub24tbmV3bGluZSkgd2hpdGVzcGFjZSBhbmQKCW5ld2xpbmVzIGFyZSB0cmVhdGVkIHdoZW4gcGxhY2VkIGluIHByb3hpbWl0eSB0byB0aGlzIHRhZyBvciB0byBpdHMKCWVuZCB0YWcuICBGb3IgZWFjaCBzZXR0aW5nLCB5b3UgdXNlIGEgc2ltcGxlIHBhdHRlcm4gY29tcHJpc2VkIG9mCgl0aGUgZm9sbG93aW5nIGNoYXJhY3RlcnMgdG8gZGVzY3JpYmUgd2hhdCB0byByZW1vdmU6PGJyIC8+PGJyIC8+Cgk8dWw+Cgk8bGk+PHR0PnM8L3R0PiAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUmVtb3ZlIGFueSBub24tbmV3bGluZSB3aGl0ZXNwYWNlIGZvdW5kLjwvbGk+Cgk8bGk+PHR0Pm48L3R0PiAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUmVtb3ZlIGEgc2luZ2xlIG5ld2xpbmUsIGlmIG9uZSBleGlzdHMuPC9saT4KCTxsaT48dHQ+YTwvdHQ+ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBSZW1vdmUgYXMgbWFueSBzcGFjZXMgYW5kIG5ld2xpbmVzIGFzIGFyZSBmb3VuZC48L2xpPgoJPC91bD48YnIgLz4KCUZvciA8dHQ+J2JlZm9yZSc8L3R0PiByZW1vdmFsLCB0aGUgcGF0dGVybiBpcyBtYXRjaGVkIDxpPmJhY2t3YXJkPC9pPiBmcm9tIHRoZSB0YWc7Cglmb3IgJ2FmdGVyJyByZW1vdmFsLCB0aGUgcGF0dGVybiBpcyBtYXRjaGVkIDxpPmZvcndhcmQ8L2k+IGZyb20gdGhlIHRhZy4KCVRoZSBkZWZhdWx0IGlzIHRoZSBlbXB0eSBzdHJpbmcsIHdoaWNoIG1lYW5zIG5vIHdoaXRlc3BhY2Ugb3IgbmV3bGluZXMKCWFyZSB0byBiZSByZW1vdmVkLjxiciAvPjxiciAvPgoJCgk8dT5Db21tb24gZXhhbXBsZXM6PC91PjxiciAvPgoJJm5ic3A7ICZuYnNwOyAmbmJzcDsgPHR0PidzJyZuYnNwOyZuYnNwOzwvdHQ+ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBSZW1vdmUgYWxsIG5vbi1uZXdsaW5lIHdoaXRlc3BhY2U8YnIgLz4KCSZuYnNwOyAmbmJzcDsgJm5ic3A7IDx0dD4nc24nJm5ic3A7PC90dD4gJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFJlbW92ZSBhbGwgbm9uLW5ld2xpbmUgd2hpdGVzcGFjZSwgdGhlbiBhIHNpbmdsZSBuZXdsaW5lIGlmIGl0IGV4aXN0cy48YnIgLz4KCSZuYnNwOyAmbmJzcDsgJm5ic3A7IDx0dD4nbnMnJm5ic3A7PC90dD4gJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFJlbW92ZSBhIHNpbmdsZSBuZXdsaW5lIGlmIGl0IGV4aXN0cywgdGhlbiBhbGwgbm9uLW5ld2xpbmUgd2hpdGVzcGFjZS48YnIgLz4KCSZuYnNwOyAmbmJzcDsgJm5ic3A7IDx0dD4nc25zJzwvdHQ+ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBSZW1vdmUgYWxsIG5vbi1uZXdsaW5lIHdoaXRlc3BhY2UsIHRoZW4gYSBzaW5nbGUgbmV3bGluZSBpZiBpdCBleGlzdHMsPGJyIC8+CgkJJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgdGhlbiBhbnkgbm9uLW5ld2xpbmUgd2hpdGVzcGFjZSBmb3VuZCBwYXN0IHRoYXQgbmV3bGluZS48YnIgLz4KCTxiciAvPjwvbGk+Cgo8bGk+PGI+PHR0PidlbmRfdGFnJzwvdHQ+PC9iPiAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgKDxpPkRlZmF1bHQgdmFsdWU6PC9pPiAgPHR0PkJCQ09ERV9SRVFVSVJFRDwvdHQ+KTwvbGk+Ck11c3QgYmUgZXhhY3RseSBvbmUgb2YgdGhlIGZvbGxvd2luZyBpZGVudGlmaWVyczo8YnIgLz48YnIgLz4KPHVsPgo8bGk+PHR0PkJCQ09ERV9SRVFVSVJFRDwvdHQ+OiAgKFRoZSBtb3N0IGNvbW1vbiBzZXR0aW5nLikgIEFuIGVuZGluZyA8dHQ+Wy90YWddPC90dD4gbXVzdCBiZQoJcHJvdmlkZWQgaWYgdGhlIHN0YXJ0aW5nIDx0dD5bdGFnXTwvdHQ+IGlzIHVzZWQ7IGlmIG5vIGVuZCB0YWcgaXMgZ2l2ZW4gYnkKCXRoZSB1c2VyLCB0aGUgc3RhcnQgdGFnIHdpbGwgYmUgaWdub3JlZCBhbmQgZm9ybWF0dGVkIHZlcmJhdGltLjwvbGk+CjxsaT48dHQ+QkJDT0RFX09QVElPTkFMPC90dD46ICBBbiBlbmQgdGFnIGlzIG9wdGlvbmFsLCBhbmQgdGhlIGNvbnRlbnQgb2YgdGhlIHN0YXJ0Cgl0YWcgZXh0ZW5kcyB1bnRpbCB0aGUgZW5kIG9mIHRoaXMgbm9kZSBvZiB0aGUgZG9jdW1lbnQgdHJlZSwgb3IKCXRvIHRoZSBlbmQgb2YgdGhlIGRvY3VtZW50LCB3aGljaGV2ZXIgY29tZXMgZmlyc3QuPC9saT4KPGxpPjx0dD5CQkNPREVfUFJPSElCSVQ8L3R0PjogIEFuIGVuZCB0YWcgaXMgZGlzYWxsb3dlZC4gIFRoZSBzdGFydCB0YWcgaGFzIG5vCgljb250ZW50LCBhbmQgaXMgZm9ybWF0dGVkIGFzIGFuIGlzb2xhdGVkIHRhZy4gIElmIGFuIGVuZCB0YWcgaXMKCXByb3ZpZGVkLCBpdCB3aWxsIGJlIGZvcm1hdHRlZCB2ZXJiYXRpbS4gIFRoaXMgaXMgbW9zdCB1c2VmdWwKCWZvciB0YWdzIGxpa2UgPHR0PltydWxlXTwvdHQ+IGFuZCA8dHQ+W3dpa2ldPC90dD4gdGhhdCBoYXZlIG5vIGNvbnRlbnQuPC9saT4KPC91bD4KPGJyIC8+PC9saT4KCjxsaT48Yj48dHQ+J2FsbG93X2luJzwvdHQ+PC9iPiAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgKDxpPkRlZmF1bHQgdmFsdWU6PC9pPiAgPHR0PmFycmF5KCdibG9jaycpPC90dD4pPC9saT4KCVRoaXMgaXMgYW4gYXJyYXkgdGhhdCBsaXN0cyB3aGljaCBvdGhlciBjbGFzc2VzIHRoaXMgdGFnIG1heSBiZQoJcGxhY2VkIGluc2lkZS4gIFNlZSB0aGUgZGVzY3JpcHRpb24gb2YgPGEgaHJlZj0iYXBwX2NsYXNzLmh0bWwiPmNvbnRlbnQgY2xhc3NlczwvYT4gYmVsb3cKCXRvIHVuZGVyc3RhbmQgaG93IHRoaXMgaXMgdXNlZC48YnIgLz48YnIgLz48L2xpPgoKPGxpPjxiPjx0dD4nY2xhc3MnPC90dD48L2I+ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAoPGk+RGVmYXVsdCB2YWx1ZTo8L2k+ICA8dHQ+J2Jsb2NrJzwvdHQ+KTwvbGk+CglUaGlzIGRlc2NyaWJlcyB3aGF0IGNvbnRlbnQtY2xhc3MgdGhpcyB0YWcgYmVsb25ncyB0by4gIFRoZXJlIGlzIG9uZQoJc3BlY2lhbCBjbGFzcywgIjx0dD5ibG9jazwvdHQ+Iiwgd2hpY2ggaXMgdXNlZCBieSB0aGUgaW52aXNpYmxlICJyb290IHRhZyIgb2YgdGhlCglCQkNvZGUgdHJlZSwgYnV0IG1heSBiZSB1c2VkIGZvciBvdGhlciB0YWdzIGFzIHdlbGwuICBTZWUgdGhlIGRlc2NyaXB0aW9uIG9mCgk8YSBocmVmPSJhcHBfY2xhc3MuaHRtbCI+Y29udGVudCBjbGFzc2VzPC9hPiBiZWxvdyB0byB1bmRlcnN0YW5kIGhvdyB0aGlzIGlzIHVzZWQuPGJyIC8+PGJyIC8+PC9saT4KCQo8L3VsPgo=]]></data>
	</file>
	<file>
	  <filename>/docs/doc/src/app_smiley.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CjxwPk5CQkMgY29tZXMgd2l0aCBidWlsdC1pbiBzdXBwb3J0IGZvciAzMCBjb21tb25seS11c2VkIHNtaWxleXMgKGVtb3RpY29ucykuICBUaGV5IGFyZTo8L3A+Cgo8ZGl2IGFsaWduPSdjZW50ZXInPgo8dGFibGUgY2xhc3M9J3NtaWxleV90YWJsZSc+Cjx0aGVhZD4KPHRyPjx0aD5JbWFnZTwvdGg+PHRoPkZpbGVuYW1lPC90aD48dGg+U21pbGV5IEJCQ29kZSAod2hhdCB5b3UgdHlwZSk8L3RoPjwvdHI+CjwvdGhlYWQ+Cjx0Ym9keT4KCjx0cj48dGg+PGltZyBzcmM9Jy4uL3NtaWxleXMvYW5ncnkuZ2lmJyB3aWR0aD0nMTYnIGhlaWdodD0nMTYnIGFsdD0nYW5ncnkuZ2lmJyAvPjwvdGg+Cgk8dGQ+YW5ncnkuZ2lmPC90ZD4KCTx0ZD4mZ3Q7OiggICZndDs6LSggICZndDs9KCAgJmd0Oz0tKCAgRDogIEQtOiAgRD0gIEQtPTwvdGQ+PC90cj4KCjx0cj48dGg+PGltZyBzcmM9Jy4uL3NtaWxleXMvYW5pbWUuZ2lmJyB3aWR0aD0nMTYnIGhlaWdodD0nMTYnIGFsdD0nYW5pbWUuZ2lmJyAvPjwvdGg+Cgk8dGQ+YW5pbWUuZ2lmPC90ZD4KCgk8dGQ+Xl9ePC90ZD48L3RyPgoKPHRyPjx0aD48aW1nIHNyYz0nLi4vc21pbGV5cy9iaWdleWVzLmdpZicgd2lkdGg9JzE2JyBoZWlnaHQ9JzE2JyBhbHQ9J2JpZ2V5ZXMuZ2lmJyAvPjwvdGg+Cgk8dGQ+YmlnZXllcy5naWY8L3RkPgoJPHRkPjgpICA4LSk8L3RkPjwvdHI+Cgo8dHI+PHRoPjxpbWcgc3JjPScuLi9zbWlsZXlzL2JpZ3NtaWxlLmdpZicgd2lkdGg9JzE2JyBoZWlnaHQ9JzE2JyBhbHQ9J2JpZ3NtaWxlLmdpZicgLz48L3RoPgoJPHRkPmJpZ3NtaWxlLmdpZjwvdGQ+Cgk8dGQ+OkQgIDotRCAgPUQgID0tRDwvdGQ+PC90cj4KCjx0cj48dGg+PGltZyBzcmM9Jy4uL3NtaWxleXMvYmlnd2luay5naWYnIHdpZHRoPScxNicgaGVpZ2h0PScxNicgYWx0PSdiaWd3aW5rLmdpZicgLz48L3RoPgoJPHRkPmJpZ3dpbmsuZ2lmPC90ZD4KCTx0ZD47RCAgOy1EPC90ZD48L3RyPgoKPHRyPjx0aD48aW1nIHNyYz0nLi4vc21pbGV5cy9ibHVlLmdpZicgd2lkdGg9JzE2JyBoZWlnaHQ9JzE2JyBhbHQ9J2JsdWUuZ2lmJyAvPjwvdGg+Cgk8dGQ+Ymx1ZS5naWY8L3RkPgoJPHRkPjpibHVlOjwvdGQ+PC90cj4KCjx0cj48dGg+PGltZyBzcmM9Jy4uL3NtaWxleXMvYm9nZ2xlLmdpZicgd2lkdGg9JzE2JyBoZWlnaHQ9JzE2JyBhbHQ9J2JvZ2dsZS5naWYnIC8+PC90aD4KCTx0ZD5ib2dnbGUuZ2lmPC90ZD4KCTx0ZD5vLk8gIE8ubzwvdGQ+PC90cj4KCjx0cj48dGg+PGltZyBzcmM9Jy4uL3NtaWxleXMvY29uZnVzZS5naWYnIHdpZHRoPScxNicgaGVpZ2h0PScxNicgYWx0PSdjb25mdXNlLmdpZicgLz48L3RoPgoJPHRkPmNvbmZ1c2UuZ2lmPC90ZD4KCTx0ZD46PyAgOi0/ICA9PyAgPS0/PC90ZD48L3RyPgoKPHRyPjx0aD48aW1nIHNyYz0nLi4vc21pbGV5cy9jb29sLmdpZicgd2lkdGg9JzE2JyBoZWlnaHQ9JzE2JyBhbHQ9J2Nvb2wuZ2lmJyAvPjwvdGg+CgoJPHRkPmNvb2wuZ2lmPC90ZD4KCTx0ZD5CKSAgQi0pPC90ZD48L3RyPgoKPHRyPjx0aD48aW1nIHNyYz0nLi4vc21pbGV5cy9ldmlsLmdpZicgd2lkdGg9JzE2JyBoZWlnaHQ9JzE2JyBhbHQ9J2V2aWwuZ2lmJyAvPjwvdGg+Cgk8dGQ+ZXZpbC5naWY8L3RkPgoJPHRkPiZndDs6KSAgJmd0OzotKSAgJmd0Oz0pICAmZ3Q7PS0pICAmZ3Q7OkQgICZndDs6LUQgICZndDs9RCAgJmd0Oz0tRDwvdGQ+PC90cj4KCjx0cj48dGg+PGltZyBzcmM9Jy4uL3NtaWxleXMvZnJvd24uZ2lmJyB3aWR0aD0nMTYnIGhlaWdodD0nMTYnIGFsdD0nZnJvd24uZ2lmJyAvPjwvdGg+Cgk8dGQ+ZnJvd24uZ2lmPC90ZD4KCTx0ZD46KCAgOi0oICA9KCAgPS0oPC90ZD48L3RyPgoKPHRyPjx0aD48aW1nIHNyYz0nLi4vc21pbGV5cy9oZWFydC5naWYnIHdpZHRoPScxNicgaGVpZ2h0PScxNicgYWx0PSdoZWFydC5naWYnIC8+PC90aD4KCTx0ZD5oZWFydC5naWY8L3RkPgoJPHRkPiZsdDszPC90ZD48L3RyPgoKPHRyPjx0aD48aW1nIHNyYz0nLi4vc21pbGV5cy9pcnJpdGF0ZWQuZ2lmJyB3aWR0aD0nMTYnIGhlaWdodD0nMTYnIGFsdD0naXJyaXRhdGVkLmdpZicgLz48L3RoPgoJPHRkPmlycml0YXRlZC5naWY8L3RkPgoJPHRkPjovICA6LS8gID0vICA9LS8gIDpcICA6LVwgID1cICA9LVw8L3RkPjwvdHI+Cgo8dHI+PHRoPjxpbWcgc3JjPScuLi9zbWlsZXlzL2xhdWdoLmdpZicgd2lkdGg9JzE2JyBoZWlnaHQ9JzE2JyBhbHQ9J2xhdWdoLmdpZicgLz48L3RoPgoJPHRkPmxhdWdoLmdpZjwvdGQ+Cgk8dGQ+WEQgIFgtRDwvdGQ+PC90cj4KCjx0cj48dGg+PGltZyBzcmM9Jy4uL3NtaWxleXMvbG9va2xlZnQuZ2lmJyB3aWR0aD0nMTYnIGhlaWdodD0nMTYnIGFsdD0nbG9va2xlZnQuZ2lmJyAvPjwvdGg+CgoJPHRkPmxvb2tsZWZ0LmdpZjwvdGQ+Cgk8dGQ+Jmx0O18mbHQ7ICAmbHQ7LiZsdDs8L3RkPjwvdHI+Cgo8dHI+PHRoPjxpbWcgc3JjPScuLi9zbWlsZXlzL2xvb2tyaWdodC5naWYnIHdpZHRoPScxNicgaGVpZ2h0PScxNicgYWx0PSdsb29rcmlnaHQuZ2lmJyAvPjwvdGg+Cgk8dGQ+bG9va3JpZ2h0LmdpZjwvdGQ+Cgk8dGQ+Jmd0O18mZ3Q7ICAmZ3Q7LiZndDs8L3RkPjwvdHI+Cgo8dHI+PHRoPjxpbWcgc3JjPScuLi9zbWlsZXlzL25ldXRyYWwuZ2lmJyB3aWR0aD0nMTYnIGhlaWdodD0nMTYnIGFsdD0nbmV1dHJhbC5naWYnIC8+PC90aD4KCTx0ZD5uZXV0cmFsLmdpZjwvdGQ+Cgk8dGQ+OnwgIDotfCAgPXwgID0tfCAgOkkgIDotSSAgPUkgID0tSTwvdGQ+PC90cj4KCjx0cj48dGg+PGltZyBzcmM9Jy4uL3NtaWxleXMvc2FpbnQuZ2lmJyB3aWR0aD0nMTYnIGhlaWdodD0nMTYnIGFsdD0nc2FpbnQuZ2lmJyAvPjwvdGg+Cgk8dGQ+c2FpbnQuZ2lmPC90ZD4KCTx0ZD5POikgIE86LSkgIE89KSAgTz0tKTwvdGQ+PC90cj4KCjx0cj48dGg+PGltZyBzcmM9Jy4uL3NtaWxleXMvc2xlZXB5LmdpZicgd2lkdGg9JzE2JyBoZWlnaHQ9JzE2JyBhbHQ9J3NsZWVweS5naWYnIC8+PC90aD4KCTx0ZD5zbGVlcHkuZ2lmPC90ZD4KCTx0ZD46enp6OjwvdGQ+PC90cj4KCjx0cj48dGg+PGltZyBzcmM9Jy4uL3NtaWxleXMvc21pbGUuZ2lmJyB3aWR0aD0nMTYnIGhlaWdodD0nMTYnIGFsdD0nc21pbGUuZ2lmJyAvPjwvdGg+Cgk8dGQ+c21pbGUuZ2lmPC90ZD4KCTx0ZD46KSAgOi0pICA9KSAgPS0pPC90ZD48L3RyPgoKPHRyPjx0aD48aW1nIHNyYz0nLi4vc21pbGV5cy9zbWlsZTMuZ2lmJyB3aWR0aD0nMTYnIGhlaWdodD0nMTYnIGFsdD0nc21pbGUzLmdpZicgLz48L3RoPgoKCTx0ZD5zbWlsZTMuZ2lmPC90ZD4KCTx0ZD46MyAgOi0zICA9MyAgPS0zPC90ZD48L3RyPgoKPHRyPjx0aD48aW1nIHNyYz0nLi4vc21pbGV5cy9zbmVha3kuZ2lmJyB3aWR0aD0nMTYnIGhlaWdodD0nMTYnIGFsdD0nc25lYWt5LmdpZicgLz48L3RoPgoJPHRkPnNuZWFreS5naWY8L3RkPgoJPHRkPiZndDs7KSAgJmd0OzstKSAgJmd0OztEICAmZ3Q7Oy1EPC90ZD48L3RyPgoKPHRyPjx0aD48aW1nIHNyYz0nLi4vc21pbGV5cy9zdGFyLmdpZicgd2lkdGg9JzE2JyBoZWlnaHQ9JzE2JyBhbHQ9J3N0YXIuZ2lmJyAvPjwvdGg+Cgk8dGQ+c3Rhci5naWY8L3RkPgoJPHRkPjpzdGFyOjwvdGQ+PC90cj4KCjx0cj48dGg+PGltZyBzcmM9Jy4uL3NtaWxleXMvc3VycHJpc2UuZ2lmJyB3aWR0aD0nMTYnIGhlaWdodD0nMTYnIGFsdD0nc3VycHJpc2UuZ2lmJyAvPjwvdGg+Cgk8dGQ+c3VycHJpc2UuZ2lmPC90ZD4KCTx0ZD46TyAgOi1PICA9TyAgPS1PPC90ZD48L3RyPgoKPHRyPjx0aD48aW1nIHNyYz0nLi4vc21pbGV5cy9zd2VhdGRyb3AuZ2lmJyB3aWR0aD0nMTYnIGhlaWdodD0nMTYnIGFsdD0nc3dlYXRkcm9wLmdpZicgLz48L3RoPgoJPHRkPnN3ZWF0ZHJvcC5naWY8L3RkPgoJPHRkPl5eOzwvdGQ+PC90cj4KCjx0cj48dGg+PGltZyBzcmM9Jy4uL3NtaWxleXMvdGVldGguZ2lmJyB3aWR0aD0nMTYnIGhlaWdodD0nMTYnIGFsdD0ndGVldGguZ2lmJyAvPjwvdGg+Cgk8dGQ+dGVldGguZ2lmPC90ZD4KCTx0ZD4mbHQ7ZyZndDsgICZsdDtHJmd0OzwvdGQ+PC90cj4KCjx0cj48dGg+PGltZyBzcmM9Jy4uL3NtaWxleXMvdG9uZ3VlLmdpZicgd2lkdGg9JzE2JyBoZWlnaHQ9JzE2JyBhbHQ9J3Rvbmd1ZS5naWYnIC8+PC90aD4KCTx0ZD50b25ndWUuZ2lmPC90ZD4KCTx0ZD46UCAgOi1QICA9UCAgPS1QICBYLVA8L3RkPjwvdHI+Cgo8dHI+PHRoPjxpbWcgc3JjPScuLi9zbWlsZXlzL3dpbmsuZ2lmJyB3aWR0aD0nMTYnIGhlaWdodD0nMTYnIGFsdD0nd2luay5naWYnIC8+PC90aD4KCTx0ZD53aW5rLmdpZjwvdGQ+Cgk8dGQ+OykgIDstKTwvdGQ+PC90cj4KCjx0cj48dGg+PGltZyBzcmM9Jy4uL3NtaWxleXMvd2luazMuZ2lmJyB3aWR0aD0nMTYnIGhlaWdodD0nMTYnIGFsdD0nd2luazMuZ2lmJyAvPjwvdGg+Cgk8dGQ+d2luazMuZ2lmPC90ZD4KCTx0ZD47MyAgOy0zPC90ZD48L3RyPgoKPHRyPjx0aD48aW1nIHNyYz0nLi4vc21pbGV5cy93b3JyeS5naWYnIHdpZHRoPScxNicgaGVpZ2h0PScxNicgYWx0PSd3b3JyeS5naWYnIC8+PC90aD4KCTx0ZD53b3JyeS5naWY8L3RkPgoJPHRkPjpzICA6LVMgID1zICA9LVM8L3RkPjwvdHI+Cgo8L3RhYmxlPgo8L2Rpdj4KCjxwPig8Yj5Ob3RlOjwvYj4gIFRoZXNlIHNtaWxleSBpbWFnZXMgd2VyZSBjdXN0b20tY3JlYXRlZCBmb3IgTkJCQywgYW5kIGFyZSBjb3ZlcmVkCnVuZGVyIHRoZSBzYW1lIDxhIGhyZWY9ImludHJvX2xpY2Vuc2UuaHRtbCI+QlNELXN0eWxlIG9wZW4tc291cmNlIGxpY2Vuc2U8L2E+IGFzIHRoZSByZXN0IG9mIE5CQkMsIHNvCnRoZXkgbWF5IGJlIGZyZWVseSB1c2VkLCByZXVzZWQsIG9yIG1vZGlmaWVkIGZvciBhbnkgcHVycG9zZSwgc3ViamVjdCB0byB0aGUgdGVybXMgb2YgdGhlIGxpY2Vuc2UuKTwvcD4K]]></data>
	</file>
	<file>
	  <filename>/docs/doc/src/app_tagparams.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CjxwPkluIHZlcnNpb25zIDEuMCB0aHJvdWdoIDEuMyBvZiBOQkJDLCB0aGUgdGFnIHBhcmFtZXRlcnMgcHJvdmlkZWQgdG8gdGhlIGNhbGxiYWNrIGZ1bmN0aW9uCndlcmUgZmFpcmx5IHNpbXBsZSBhbmQgc3RyYWlnaHRmb3J3YXJkLiAgVGhlcmUgd2VyZSB0aGUgcGFyYW1ldGVycyBwcm92aWRlZCBieSB0aGUgdXNlciwgYW5kCnRoZXNlIHRocmVlIHBhcmFtZXRlcnMgd2VyZSBwcm92aWRlZCBieSBOQkJDIGl0c2VsZjo8L3A+Cgo8dWw+CjxsaSBzdHlsZT0nbWFyZ2luLWJvdHRvbToxZW07Jz48dHQ+X25hbWU8L3R0PjogIFRoZSBuYW1lIG9mIHRoZSB0YWcsIGxpa2UgIjx0dD51cmw8L3R0PiIgb3IgIjx0dD5jb2xvcjwvdHQ+Ii48L2xpPgoKPGxpIHN0eWxlPSdtYXJnaW4tYm90dG9tOjFlbTsnPjx0dD5fZGVmYXVsdDwvdHQ+OiBUaGUgZGVmYXVsdCB2YWx1ZSBvZiB0aGUgdGFnOyBpbiA8dHQ+W2ZvbnQ9QXJpYWwmbmJzcDtzaXplPTVdPC90dD4gdGhlCglkZWZhdWx0IHZhbHVlIHdvdWxkIGJlICI8dHQ+QXJpYWw8L3R0PiIuPC9saT4KCjxsaSBzdHlsZT0nbWFyZ2luLWJvdHRvbToxZW07Jz48dHQ+X2VuZDwvdHQ+OiBBIGJvb2xlYW4gdmFsdWUgdGhhdCBpcyBmYWxzZSBpZiB0aGUgdGFnIGlzIGEgc3RhcnQgdGFnIGFuZCB0cnVlIGlmCgl0aGUgdGFnIGlzIGFuIGVuZCB0YWcgPGk+KG5vdGUgdGhhdCB0aGlzIHdpbGwgYWx3YXlzIGJlIDx0dD5mYWxzZTwvdHQ+IGZvciBhIGNhbGxiYWNrIGZ1bmN0aW9uLCBzbwoJaXQncyBub3QgdmVyeSB1c2VmdWwgb3V0c2lkZSBvZiBOQkJDJ3MgaW50ZXJuYWxzKTwvaT4uPC9saT4KPC91bD4KCjxwPkhvd2V2ZXIsIGluIHYxLjQgYW5kIGxhdGVyIG9mIE5CQkMsIHRoZSB0YWcgcGFyYW1ldGVycyBoYXZlIGJlZW4gZXhwYW5kZWQgdG8gaW5jbHVkZSB0aGUKZm9sbG93aW5nIGFkZGl0aW9uYWwgcGFyYW1ldGVyczo8L3A+Cgo8dWw+CjxsaSBzdHlsZT0nbWFyZ2luLWJvdHRvbToxZW07Jz48dHQ+X3RhZzwvdHQ+OiBUaGUgcmF3IHZlcmJhdGltIHRleHQgb2YgdGhlIHRhZywgdW5wYXJzZWQuICBGb3IgZXhhbXBsZSwgaW4KCTx0dD5bZm9udD1BcmlhbCZuYnNwO3NpemU9NV0uLi5bL2ZvbnRdPC90dD4sIHRoaXMgd2lsbCBjb250YWluICI8dHQ+W2ZvbnQ9QXJpYWwmbmJzcDtzaXplPTVdPC90dD4iLjwvbGk+Cgo8bGkgc3R5bGU9J21hcmdpbi1ib3R0b206MWVtOyc+PHR0Pl9lbmR0YWc8L3R0PjogVGhlIHJhdyB2ZXJiYXRpbSB0ZXh0IG9mIHRoZSBjbG9zaW5nIHRhZywgdW5wYXJzZWQuICBGb3IgZXhhbXBsZSwgaW4KCTx0dD5bZm9udD1BcmlhbCZuYnNwO3NpemU9NV0uLi5bL2ZvbnRdPC90dD4sIHRoaXMgd2lsbCBjb250YWluICI8dHQ+Wy9mb250XTwvdHQ+Ii4gIE5vdGUKCXRoYXQgaWYgYW4gZW5kIHRhZyBpcyBvcHRpb25hbCwgb3IgaXQncyByZXF1aXJlZCBidXQgdGhlIHVzZXIgZm9yZ2V0cyB0byBwcm92aWRlIGl0LCB0aGlzCgl2YWx1ZSB3aWxsIHN0aWxsIGNvbnRhaW4gYXBwcm9wcmlhdGUgY2xvc2luZy10YWcgdGV4dCAoaS5lLiwgdGhlIHBhcnNlciB3aWxsIGNyZWF0ZSBhIHN1aXRhYmxlCgllbmQgdGFnKS48L2xpPgoJCjxsaSBzdHlsZT0nbWFyZ2luLWJvdHRvbToxZW07Jz48dHQ+X2hhc2VuZDwvdHQ+OiBJZiBhIGNsb3NpbmcgdGFnIHdhcyBwcm92aWRlZCBieSB0aGUgdXNlciwgdGhpcyB3aWxsIGJlIHNldCB0byA8dHQ+dHJ1ZTwvdHQ+OwoJaWYgbm8gY2xvc2luZyB0YWcgd2FzIHByb3ZpZGVkLCBvciB0aGlzIHRhZyBkaWRuJ3QgYWxsb3cgYSBjbG9zaW5nIHRhZywgdGhpcyB3aWxsIGJlIHNldCB0byA8dHQ+ZmFsc2U8L3R0Pi4KCVlvdSBjYW4gdXNlIHRoaXMgZmllbGQgdG8gZGlzdGluZ3Vpc2ggd2hldGhlciB0aGUgdXNlciBoYXMgcHJvdmlkZWQgYSBjbG9zaW5nIHRhZyBvciBub3Qgd2hlbgoJY2xvc2luZyB0YWdzIGFyZSBvcHRpb25hbC48L2xpPgoJCjxsaSBzdHlsZT0nbWFyZ2luLWJvdHRvbToxZW07Jz48dHQ+X3BhcmFtczwvdHQ+OiBUaGUgZXhhY3QgcGFyYW1ldGVycyBvZiB0aGUgdGFnLCBwYXJzZWQsIGluIGxpc3QgZm9ybS4gIEZvciBleGFtcGxlLCBpbgoJPHR0Pltmb250PUFyaWFsJm5ic3A7c2l6ZT01XTwvdHQ+LCB0aGlzIHBhcmFtZXRlciB3aWxsIGNvbnRhaW4gdGhpcyBhcnJheToKPHByZT5BcnJheSgKICAgIEFycmF5KCJrZXkiID0mZ3Q7ICJmb250IiwgInZhbHVlIiA9Jmd0OyAiQXJpYWwiKSwKICAgIEFycmF5KCJrZXkiID0mZ3Q7ICJzaXplIiwgInZhbHVlIiA9Jmd0OyAiNSIpCik8L3ByZT4KCQlXaGlsZSB0aGlzIG1heSBhcHBlYXIgdG8gYmUgaWRlbnRpY2FsIHRvIHRoZSBhcnJheSB0aGF0IGNvbnRhaW5zIGl0LCBpdCdzIG5vdC4gIEZpcnN0LCB0aGUKCQkwdGggYXJyYXkgZWxlbWVudCBpcyA8aT5hbHdheXM8L2k+IHNldCB0byB0aGUgdGFnJ3MgZGVmYXVsdCB2YWx1ZSAoZXZlbiBpZiB0aGVyZSBpcyBubwoJCWRlZmF1bHQgdmFsdWUpLCBhbmQgc2Vjb25kLCBpZiByZWR1bmRhbnQgcGFyYW1ldGVycyBhcmUgcHJvdmlkZWQsIHRoaXMgd2lsbCBsaXN0IHRoZW0KCQlzZXBhcmF0ZWx5LiAgRm9yIGV4YW1wbGU6CjxwcmU+W2luY2x1ZGVzIGZpbGU9IkxhcnJ5IiBmaWxlPSJHZW9yZ2UiIGZpbGU9IkJpbGwiXQo9Jmd0OyBBcnJheSgKICAgIEFycmF5KCJrZXkiID0mZ3Q7ICJpbmNsdWRlcyIsICJ2YWx1ZSIgPSZndDsgIiIpLAogICAgQXJyYXkoImtleSIgPSZndDsgImZpbGUiLCAidmFsdWUiID0mZ3Q7ICJMYXJyeSIpLAogICAgQXJyYXkoImtleSIgPSZndDsgImZpbGUiLCAidmFsdWUiID0mZ3Q7ICJHZW9yZ2UiKSwKICAgIEFycmF5KCJrZXkiID0mZ3Q7ICJmaWxlIiwgInZhbHVlIiA9Jmd0OyAiQmlsbCIpCik8L3ByZT4KPC91bD4KCjxwPkluIGFkZGl0aW9uLCBpbiB2MS40LCB0aGUgcnVsZSB3YXMgZXN0YWJsaXNoZWQgdGhhdCBubyB1c2VyLXByb3ZpZGVkIHBhcmFtZXRlciBtYXkgaGF2ZSBhIG5hbWUKdGhhdCBzdGFydHMgd2l0aCBhbiB1bmRlcnNjb3JlIChfKTsgbmFtZXMgdGhhdCBzdGFydCB3aXRoIHVuZGVyc2NvcmVzIGFyZSByZXNlcnZlZCBmb3IgdXNlIGJ5Ck5CQkMgaXRzZWxmLjwvcD4KCjxwPlNvbWUgb2YgdGhlc2UgdmFsdWVzIGFyZSBkZWJhdGFibHkgdXNlZnVsOyBmb3IgZXhhbXBsZSwgdGhlIDx0dD5fZW5kPC90dD4gcGFyYW1ldGVyIGlzIHByaW1hcmlseQp1c2VkIGJ5IE5CQkMgdG8gZW5zdXJlIHByb3BlciB0YWcgcGFyc2luZyBhbmQgZG9lc24ndCBoZWxwIGEgY2FsbGJhY2sgcnVsZSBtdWNoLiAgQnV0IG90aGVycywgc3VjaAphcyB0aGUgbmV3IDx0dD5fcGFyYW1zPC90dD4gcGFyYW1ldGVyLCBwcm92aWRlIHNpZ25pZmljYW50IHBvd2VyIHRvIGNhbGxiYWNrIHJ1bGVzIHRoYXQgdGhleSBuZXZlcgpoYWQgYmVmb3JlLjwvcD4KCjxociAvPgoKPHA+SW4gcGFydGljdWxhciwgdGhlIDx0dD5fdGFnPC90dD4gYW5kIDx0dD5fZW5kdGFnPC90dD4gcGFyYW1ldGVycyBhcmUgbm93IHByb3ZpZGVkIHNvCnRoYXQgY2FsbGJhY2tzIGNhbiBkbyBsYXRlIHZhbGlkYXRpb24gb2YgdGhlaXIgZGF0YS4gIEZvciBleGFtcGxlLCBjb25zaWRlciBhIGNhbGxiYWNrIGZvciB0aGUgdGFnCjx0dD5bZnJ1aXRdPC90dD4uICBUaGlzIGNhbGxiYWNrIHdhbnRzIHRvIGFsbG93IDx0dD5bZnJ1aXRdYXBwbGVbL2ZydWl0XTwvdHQ+IGFuZCA8dHQ+W2ZydWl0XW9yYW5nZVsvZnJ1aXRdPC90dD4KYnV0IG5vdCA8dHQ+W2ZydWl0XWdyZWVuWy9mcnVpdF08L3R0Pi4gIFRoZSBjYWxsYmFjayBjYW5ub3QgdXNlIHRoZSB2YWxpZGF0aW9uIHN0YWdlIG9mIHJ1bGUgcHJvY2Vzc2luZwp0byBhbnN3ZXIgdGhpcyBiZWNhdXNlIGl0IGRvZXNuJ3Qga25vdyB3aGF0IGl0cyBjb250ZW50cyB3aWxsIGJlIHVudGlsIGl0IGhhcyBhbHJlYWR5IHNhaWQgInllcyIuCkJ1dCB3aXRoIHRoZSA8dHQ+X3RhZzwvdHQ+IGFuZCA8dHQ+X2VuZHRhZzwvdHQ+IHBhcmFtZXRlcnMsIHRoZSA8dHQ+W2ZydWl0XTwvdHQ+IHRhZyBjYW4gbm93ICJmYWtlIgpjb3JyZWN0IGJlaGF2aW9yOjwvcD4KCjx4bXAgY2xhc3M9J2NvZGUnPmZ1bmN0aW9uIERvRnJ1aXQoJGJiY29kZSwgJGFjdGlvbiwgJG5hbWUsICRkZWZhdWx0LCAkcGFyYW1zLCAkY29udGVudCkgewogICAgLy8gV2UgY2FuJ3QgY2hlY2sgdGhpcyB3aXRoIEJCQ09ERV9DSEVDSyBiZWNhdXNlIHdlIGhhdmUgbm8gZnJ1aXQKICAgIC8vIGJlZm9yZSB0aGUgY29udGVudCBoYXMgYmVlbiBwcm9jZXNzZWQuCiAgICBpZiAoJGFjdGlvbiA9PSBCQkNPREVfQ0hFQ0spIHJldHVybiB0cnVlOwoKICAgIGlmICgkY29udGVudCA9PSAiYXBwbGUiIHx8ICRjb250ZW50ID09ICJvcmFuZ2UiKSB7CiAgICAgICAgLy8gR2VuZXJhdGUgcHJvcGVyIG91dHB1dCBmb3Igb3VyIFtmcnVpdF0gdGFnLgogICAgICAgIHJldHVybiAiPGRpdiBjbGFzcz0nZnJ1aXQnPiIgLiAkY29udGVudCAuICI8L2Rpdj4iOwogICAgfQogICAgZWxzZSB7CiAgICAgICAgLy8gSnVzdCBvdXRwdXQgdGhlIG9yaWdpbmFsIHRhZydzIHRleHQsIHNpbmNlIGl0J3Mgbm90IHZhbGlkLgogICAgICAgIHJldHVybiBodG1sc3BlY2lhbGNoYXJzKCRwYXJhbXNbJ190YWcnXSkgLiAkY29udGVudAogICAgICAgICAgICAuIGh0bWxzcGVjaWFsY2hhcnMoJHBhcmFtc1snX2VuZHRhZyddKTsKICAgIH0KfTwveG1wPgoKPHA+Tm90aWNlIGhvdyB0aGlzIGNhbGxiYWNrLCBpZiBnaXZlbiBhbiBpbnZhbGlkIHR5cGUgb2YgZnJ1aXQsIHNpbXBseSByZXR1cm5zIHRoZSBvcmlnaW5hbAp0YWcgYW5kIGl0cyBjb250ZW50cywgdW5jaGFuZ2VkLiAgVGhpcyBwYXR0ZXJuIGlzIHVzZWQgaW4gc2V2ZXJhbCBwbGFjZXMgaW4gdGhlIFN0YW5kYXJkIEJCQ29kZQpMaWJyYXJ5IGluIE5CQkMgdjEuNCwgYW5kIGNhbiBiZSB2ZXJ5IHVzZWZ1bCBpbiB5b3VyIG93biBydWxlcyBhcyByZWxsLjwvcD4K]]></data>
	</file>
	<file>
	  <filename>/docs/doc/src/bbc.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CjxwPlNlY3Rpb24gViBvZiB0aGUgdXNlcidzIG1hbnVhbCBkb2N1bWVudHMgYWxsIG9mIHRoZSAib3V0LW9mLXRoZS1ib3giIEJCQ29kZSBjb2RlcyB0aGF0IE5CQkMgc3VwcG9ydHM6ICBUaGVzZQpjb2RlcyBhcmUgcHJvdmlkZWQgYnkgTkJCQyBieSBkZWZhdWx0OyBpZiB5b3UgZG9uJ3Qgd2FudCB0aGVtLCB5b3UnbGwgaGF2ZSB0byBzcGVjaWZpY2FsbHkKcmVtb3ZlIHRoZW0gd2l0aCA8YSBocmVmPSJhcGlfcnVsZS5odG1sI3JlZl9wYXJzZXJfUmVtb3ZlUnVsZSI+UmVtb3ZlUnVsZTwvYT4uPC9wPgoKPHRhYmxlIHN0eWxlPSdib3JkZXItY29sbGFwc2U6Y29sbGFwc2U7Jz48dGJvZHk+PHRyPjx0ZCBzdHlsZT0ncGFkZGluZy1yaWdodDozZW07Jz4KPHVsPgo8bGk+PGI+PGEgaHJlZj0iYmJjX3RleHQuaHRtbCIgc3R5bGU9J2NvbG9yOiMwMDAnPlRleHQgU3R5bGVzOjwvYT48L2I+Cgk8dWw+Cgk8bGk+PGEgaHJlZj0iYmJjX3RleHQuaHRtbCNyZWZfbGliX3N0eWxlX2IiPltiXS4uLlsvYl08L2E+PC9saT4KCTxsaT48YSBocmVmPSJiYmNfdGV4dC5odG1sI3JlZl9saWJfc3R5bGVfaSI+W2ldLi4uWy9pXTwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImJiY190ZXh0Lmh0bWwjcmVmX2xpYl9zdHlsZV91Ij5bdV0uLi5bL3VdPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYmJjX3RleHQuaHRtbCNyZWZfbGliX3N0eWxlX3MiPltzXS4uLlsvc108L2E+PC9saT4KCTxsaT48YSBocmVmPSJiYmNfdGV4dC5odG1sI3JlZl9saWJfc3R5bGVfc3VwIj5bc3VwXS4uLlsvc3VwXTwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImJiY190ZXh0Lmh0bWwjcmVmX2xpYl9zdHlsZV9zdWIiPltzdWJdLi4uWy9zdWJdPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYmJjX3RleHQuaHRtbCNyZWZfbGliX3N0eWxlX3Nwb2lsZXIiPltzcG9pbGVyXS4uLlsvc3BvaWxlcl08L2E+PC9saT4KCTxsaT48YSBocmVmPSJiYmNfdGV4dC5odG1sI3JlZl9saWJfc3R5bGVfYWNyb255bSI+W2Fjcm9ueW1dLi4uWy9hY3JvbnltXTwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImJiY190ZXh0Lmh0bWwjcmVmX2xpYl9zdHlsZV9zaXplIj5bc2l6ZV0uLi5bL3NpemVdPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYmJjX3RleHQuaHRtbCNyZWZfbGliX3N0eWxlX2NvbG9yIj5bY29sb3JdLi4uWy9jb2xvcl08L2E+PC9saT4KCTxsaT48YSBocmVmPSJiYmNfdGV4dC5odG1sI3JlZl9saWJfc3R5bGVfZm9udCI+W2ZvbnRdLi4uWy9mb250XTwvYT48L2xpPgoJPC91bD4KPC9saT4KPGxpPjxiPjxhIGhyZWY9ImJiY19saW5rLmh0bWwiIHN0eWxlPSdjb2xvcjojMDAwJz5MaW5rczo8L2E+PC9iPgoJPHVsPgoJPGxpPjxhIGhyZWY9ImJiY19saW5rLmh0bWwjcmVmX2xpYl9saW5rc191cmwiPlt1cmxdLi4uWy91cmxdPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYmJjX2xpbmsuaHRtbCNyZWZfbGliX2xpbmtzX2VtYWlsIj5bZW1haWxdLi4uWy9lbWFpbF08L2E+PC9saT4KCTxsaT48YSBocmVmPSJiYmNfbGluay5odG1sI3JlZl9saWJfbGlua3Nfd2lraSI+W3dpa2ldPC9hPjwvbGk+Cgk8L3VsPgo8L2xpPgo8bGk+PGI+PGEgaHJlZj0iYmJjX3JlcGwuaHRtbCIgc3R5bGU9J2NvbG9yOiMwMDAnPlJlcGxhY2VkIEl0ZW1zOjwvYT48L2I+Cgk8dWw+Cgk8bGk+PGEgaHJlZj0iYmJjX3JlcGwuaHRtbCNyZWZfbGliX3JlcGxfaW1nIj5baW1nXS4uLlsvaW1nXTwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImJiY19yZXBsLmh0bWwjcmVmX2xpYl9yZXBsX3J1bGUiPltydWxlXTwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImJiY19yZXBsLmh0bWwjcmVmX2xpYl9yZXBsX2JyIj5bYnJdPC9hPjwvbGk+Cgk8L3VsPgo8L2xpPgo8bGk+PGI+PGEgaHJlZj0iYmJjX2FsaWduLmh0bWwiIHN0eWxlPSdjb2xvcjojMDAwJz5BbGlnbm1lbnQ6PC9hPjwvYj4KCTx1bD4KCTxsaT48YSBocmVmPSJiYmNfYWxpZ24uaHRtbCNyZWZfbGliX2FsaWduX2NlbnRlciI+W2NlbnRlcl0uLi5bL2NlbnRlcl08L2E+PC9saT4KCTxsaT48YSBocmVmPSJiYmNfYWxpZ24uaHRtbCNyZWZfbGliX2FsaWduX2xlZnQiPltsZWZ0XS4uLlsvbGVmdF08L2E+PC9saT4KCTxsaT48YSBocmVmPSJiYmNfYWxpZ24uaHRtbCNyZWZfbGliX2FsaWduX3JpZ2h0Ij5bcmlnaHRdLi4uWy9yaWdodF08L2E+PC9saT4KCTxsaT48YSBocmVmPSJiYmNfYWxpZ24uaHRtbCNyZWZfbGliX2FsaWduX2luZGVudCI+W2luZGVudF0uLi5bL2luZGVudF08L2E+PC9saT4KCTwvdWw+CjwvbGk+CjxsaT48Yj48YSBocmVmPSJiYmNfY29sLmh0bWwiIHN0eWxlPSdjb2xvcjojMDAwJz5Db2x1bW5zOjwvYT48L2I+Cgk8dWw+Cgk8bGk+PGEgaHJlZj0iYmJjX2NvbC5odG1sIj5bY29sdW1uc10uLi5bL2NvbHVtbnNdPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYmJjX2NvbC5odG1sIj5bbmV4dGNvbF08L2E+PC9saT4KCTwvdWw+CjwvbGk+CjxsaT48Yj48YSBocmVmPSJiYmNfY3RyLmh0bWwiIHN0eWxlPSdjb2xvcjojMDAwJz5Db250YWluZXJzOjwvYT48L2I+Cgk8dWw+Cgk8bGk+PGEgaHJlZj0iYmJjX2N0ci5odG1sI3JlZl9saWJfY29udGFpbmVyX2NvZGUiPltjb2RlXS4uLlsvY29kZV08L2E+PC9saT4KCTxsaT48YSBocmVmPSJiYmNfY3RyLmh0bWwjcmVmX2xpYl9jb250YWluZXJfcXVvdGUiPltxdW90ZV0uLi5bL3F1b3RlXTwvYT48L2xpPgoJPC91bD4KPC9saT4KPGxpPjxiPjxhIGhyZWY9ImJiY19saXN0Lmh0bWwiIHN0eWxlPSdjb2xvcjojMDAwJz5MaXN0czo8L2E+PC9iPgoJPHVsPgoJPGxpPjxhIGhyZWY9ImJiY19saXN0Lmh0bWwiPltsaXN0XS4uLlsvbGlzdF08L2E+PC9saT4KCTxsaT48YSBocmVmPSJiYmNfbGlzdC5odG1sIj5bKl0uLi48L2E+PC9saT4KCTwvdWw+CjwvbGk+CjwvdWw+CjwvdGQ+PHRkIHN0eWxlPSd2ZXJ0aWNhbC1hbGlnbjp0b3A7Jz4KPHVsPgo8bGk+PGI+QWxwaGFiZXRpY2FsOjwvYj4KCTx1bD4KCTxsaT48YSBocmVmPSJiYmNfbGlzdC5odG1sIj5bKl0uLi48L2E+PC9saT4KCTxsaT48YSBocmVmPSJiYmNfdGV4dC5odG1sI3JlZl9saWJfc3R5bGVfYWNyb255bSI+W2Fjcm9ueW1dLi4uWy9hY3JvbnltXTwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImJiY190ZXh0Lmh0bWwjcmVmX2xpYl9zdHlsZV9iIj5bYl0uLi5bL2JdPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYmJjX3JlcGwuaHRtbCNyZWZfbGliX3JlcGxfYnIiPlticl08L2E+PC9saT4KCTxsaT48YSBocmVmPSJiYmNfYWxpZ24uaHRtbCNyZWZfbGliX2FsaWduX2NlbnRlciI+W2NlbnRlcl0uLi5bL2NlbnRlcl08L2E+PC9saT4KCTxsaT48YSBocmVmPSJiYmNfY3RyLmh0bWwjcmVmX2xpYl9jb250YWluZXJfY29kZSI+W2NvZGVdLi4uWy9jb2RlXTwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImJiY190ZXh0Lmh0bWwjcmVmX2xpYl9zdHlsZV9jb2xvciI+W2NvbG9yXS4uLlsvY29sb3JdPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYmJjX2NvbC5odG1sIj5bY29sdW1uc10uLi5bL2NvbHVtbnNdPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYmJjX2xpbmsuaHRtbCNyZWZfbGliX2xpbmtzX2VtYWlsIj5bZW1haWxdLi4uWy9lbWFpbF08L2E+PC9saT4KCTxsaT48YSBocmVmPSJiYmNfdGV4dC5odG1sI3JlZl9saWJfc3R5bGVfZm9udCI+W2ZvbnRdLi4uWy9mb250XTwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImJiY190ZXh0Lmh0bWwjcmVmX2xpYl9zdHlsZV9pIj5baV0uLi5bL2ldPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYmJjX3JlcGwuaHRtbCNyZWZfbGliX3JlcGxfaW1nIj5baW1nXS4uLlsvaW1nXTwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImJiY19hbGlnbi5odG1sI3JlZl9saWJfYWxpZ25faW5kZW50Ij5baW5kZW50XS4uLlsvaW5kZW50XTwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImJiY19hbGlnbi5odG1sI3JlZl9saWJfYWxpZ25fbGVmdCI+W2xlZnRdLi4uWy9sZWZ0XTwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImJiY19saXN0Lmh0bWwiPltsaXN0XS4uLlsvbGlzdF08L2E+PC9saT4KCTxsaT48YSBocmVmPSJiYmNfY29sLmh0bWwiPltuZXh0Y29sXTwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImJiY19jdHIuaHRtbCNyZWZfbGliX2NvbnRhaW5lcl9xdW90ZSI+W3F1b3RlXS4uLlsvcXVvdGVdPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYmJjX2FsaWduLmh0bWwjcmVmX2xpYl9hbGlnbl9yaWdodCI+W3JpZ2h0XS4uLlsvcmlnaHRdPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYmJjX3JlcGwuaHRtbCNyZWZfbGliX3JlcGxfcnVsZSI+W3J1bGVdPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYmJjX3RleHQuaHRtbCNyZWZfbGliX3N0eWxlX3MiPltzXS4uLlsvc108L2E+PC9saT4KCTxsaT48YSBocmVmPSJiYmNfdGV4dC5odG1sI3JlZl9saWJfc3R5bGVfc2l6ZSI+W3NpemVdLi4uWy9zaXplXTwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImJiY190ZXh0Lmh0bWwjcmVmX2xpYl9zdHlsZV9zcG9pbGVyIj5bc3BvaWxlcl0uLi5bL3Nwb2lsZXJdPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYmJjX3RleHQuaHRtbCNyZWZfbGliX3N0eWxlX3N1YiI+W3N1Yl0uLi5bL3N1Yl08L2E+PC9saT4KCTxsaT48YSBocmVmPSJiYmNfdGV4dC5odG1sI3JlZl9saWJfc3R5bGVfc3VwIj5bc3VwXS4uLlsvc3VwXTwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImJiY190ZXh0Lmh0bWwjcmVmX2xpYl9zdHlsZV91Ij5bdV0uLi5bL3VdPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYmJjX2xpbmsuaHRtbCNyZWZfbGliX2xpbmtzX3VybCI+W3VybF0uLi5bL3VybF08L2E+PC9saT4KCTxsaT48YSBocmVmPSJiYmNfbGluay5odG1sI3JlZl9saWJfbGlua3Nfd2lraSI+W3dpa2ldPC9hPjwvbGk+Cgk8L3VsPgo8L2xpPgo8L3VsPgo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPgo=]]></data>
	</file>
	<file>
	  <filename>/docs/doc/src/bbc_align.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CjxhIG5hbWU9InJlZl9saWJfYWxpZ25fY2VudGVyIj48L2E+CjxwIGNsYXNzPSdiYmxpYic+PGI+PHR0PltjZW50ZXJdLi4uWy9jZW50ZXJdPC90dD48L2I+PGJyIC8+CglUaGUgPHR0PltjZW50ZXJdPC90dD4gdGFnIGNhdXNlcyBpdHMgY29udGVudHMgdG8gYmUgYnJva2VuIGludG8gYSBzZXBhcmF0ZSBibG9jayBhbmQgYWxpZ25lZCBob3Jpem9udGFsbHkKCXRvIHRoZSBjZW50ZXIgb2YgdGhlIHBhZ2UuICBJdHMgZW5kIHRhZyBpcyByZXF1aXJlZC48L3A+Cgo8YSBuYW1lPSJyZWZfbGliX2FsaWduX2xlZnQiPjwvYT4KPHAgY2xhc3M9J2JibGliJz48Yj48dHQ+W2xlZnRdLi4uWy9sZWZ0XTwvdHQ+PC9iPjxiciAvPgoJVGhlIDx0dD5bbGVmdF08L3R0PiB0YWcgY2F1c2VzIGl0cyBjb250ZW50cyB0byBiZSBicm9rZW4gaW50byBhIHNlcGFyYXRlIGJsb2NrIGFuZCBhbGlnbmVkIGhvcml6b250YWxseQoJdG8gdGhlIGxlZnQgb2YgdGhlIHBhZ2UuICBJdHMgZW5kIHRhZyBpcyByZXF1aXJlZC48L3A+Cgo8YSBuYW1lPSJyZWZfbGliX2FsaWduX3JpZ2h0Ij48L2E+CjxwIGNsYXNzPSdiYmxpYic+PGI+PHR0PltyaWdodF0uLi5bL3JpZ2h0XTwvdHQ+PC9iPjxiciAvPgoJVGhlIDx0dD5bcmlnaHRdPC90dD4gdGFnIGNhdXNlcyBpdHMgY29udGVudHMgdG8gYmUgYnJva2VuIGludG8gYSBzZXBhcmF0ZSBibG9jayBhbmQgYWxpZ25lZCBob3Jpem9udGFsbHkKCXRvIHRoZSByaWdodCBvZiB0aGUgcGFnZS4gIEl0cyBlbmQgdGFnIGlzIHJlcXVpcmVkLjwvcD4KCjxhIG5hbWU9InJlZl9saWJfYWxpZ25faW5kZW50Ij48L2E+CjxwIGNsYXNzPSdiYmxpYic+PGI+PHR0PltpbmRlbnRdLi4uWy9pbmRlbnRdPC90dD48L2I+PGJyIC8+CglUaGUgPHR0PltpbmRlbnRdPC90dD4gdGFnIGNhdXNlcyBpdHMgY29udGVudHMgdG8gYmUgYnJva2VuIGludG8gYSBzZXBhcmF0ZSBibG9jayBhbmQgYmUgdG8gaW5kZW50ZWQsIHRvIGhhdmUKCWFuIGFwcHJveGltYXRlbHkgaGFsZi1pbmNoIG1hcmdpbiBvbiB0aGUgbGVmdCBzaWRlLiAgSXRzIGVuZCB0YWcgaXMgcmVxdWlyZWQuPC9wPgo=]]></data>
	</file>
	<file>
	  <filename>/docs/doc/src/bbc_col.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CjxhIG5hbWU9InJlZl9saWJfY29sdW1uc19jb2x1bW5zIj48L2E+CjxwIGNsYXNzPSdiYmxpYic+PGI+PHR0Pltjb2x1bW5zXS4uLltuZXh0Y29sXS4uLltuZXh0Y29sXS4uLlsvY29sdW1uc108L3R0PjwvYj48YnIgLz4KCVRoZSA8dHQ+W2NvbHVtbnNdPC90dD4gdGFnIGJlZ2lucyBhIHNlY3Rpb24gd2hlcmUgc2VwYXJhdGUgY2h1bmtzIG9mIHRleHQgYXJlIHBsYWNlZAoJdmlzdWFsbHkgc2lkZS1ieS1zaWRlLCBsaWtlIHdpdGggbmV3c3BhcGVyIGNvbHVtbnMuICBUaGUgPHR0PltuZXh0Y29sXTwvdHQ+IHRhZyB3b3JrcwoJd2l0aCB0aGUgPHR0Pltjb2x1bW5zXTwvdHQ+IHRhZyB0byBzZXBhcmF0ZSBpbmRpdmlkdWFsIGNvbHVtbnMgZnJvbSBvbmUgYW5vdGhlci4KCVVzYWdlIG9mIHRoZSA8dHQ+W2NvbHVtbnNdPC90dD4gdGFnIGlzIGJlc3QgZGVtb25zdHJhdGVkIGJ5IGV4YW1wbGU6PC9wPgoJCgk8ZGl2IHN0eWxlPSdtYXJnaW4tbGVmdDoyZW07Jz4KCTxkaXYgY2xhc3M9J2NvZGVfaGVhZGVyJz5Db2RlOjwvZGl2PgoJPHhtcCBjbGFzcz0nY29kZSc+VGhpcyB0ZXh0IGdvZXMgYmVmb3JlIHRoZSBjb2x1bW5zLgpbY29sdW1uc10KVGhpcyB0ZXh0IGlzIGluIHRoZSBmaXJzdCBjb2x1bW4uClRoaXMgaXMgYSBzZWNvbmQgbGluZSBpbiB0aGUgZmlyc3QgY29sdW1uLgpbbmV4dGNvbF0KVGhpcyBpcyB0aGUgc2Vjb25kIGNvbHVtbiwKd2l0aCBhIHNlY29uZCBsaW5lLgpbbmV4dGNvbF0KVGhpcyBpcyBhIHRoaXJkIGNvbHVtbi4KQXJlIHdlIGhhdmluZyBmdW4geWV0PwpbL2NvbHVtbnNdClRoaXMgdGV4dCBnb2VzIGFmdGVyIHRoZSBjb2x1bW5zLjwveG1wPgoJPGRpdiBjbGFzcz0nb3V0cHV0X2hlYWRlcic+T3V0cHV0OjwvZGl2PgoJPGRpdiBjbGFzcz0nb3V0cHV0Jz4KCQlUaGlzIHRleHQgZ29lcyBiZWZvcmUgdGhlIGNvbHVtbnMuCgkJPHRhYmxlIGNsYXNzPSJiYmNvZGVfY29sdW1ucyI+PHRib2R5Pjx0cj48dGQgY2xhc3M9ImJiY29kZV9jb2x1bW4gYmJjb2RlX2ZpcnN0Y29sdW1uIj4KCQlUaGlzIHRleHQgaXMgaW4gdGhlIGZpcnN0IGNvbHVtbi48YnIgLz4KCQlUaGlzIGlzIGEgc2Vjb25kIGxpbmUgaW4gdGhlIGZpcnN0IGNvbHVtbi4KCQk8L3RkPjx0ZCBjbGFzcz0iYmJjb2RlX2NvbHVtbiI+CgkJVGhpcyBpcyB0aGUgc2Vjb25kIGNvbHVtbiw8YnIgLz4KCQl3aXRoIGEgc2Vjb25kIGxpbmUuCgkJPC90ZD48dGQgY2xhc3M9ImJiY29kZV9jb2x1bW4iPgoJCVRoaXMgaXMgYSB0aGlyZCBjb2x1bW4uPGJyIC8+CgkJQXJlIHdlIGhhdmluZyBmdW4geWV0PwoJCTwvdGQ+PC90cj48L3RhYmxlPgoJCVRoaXMgdGV4dCBnb2VzIGFmdGVyIHRoZSBjb2x1bW5zLgoJPC9kaXY+Cgk8L2Rpdj4KCgk8cCBzdHlsZT0nbWFyZ2luLWxlZnQ6MmVtOyc+VGhlIGVuZGluZyA8dHQ+Wy9jb2x1bW5zXTwvdHQ+IHRhZyBpcyByZXF1aXJlZC48L3A+Cg==]]></data>
	</file>
	<file>
	  <filename>/docs/doc/src/bbc_ctr.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CjxhIG5hbWU9InJlZl9saWJfY29udGFpbmVyX2NvZGUiPjwvYT4KPHAgY2xhc3M9J2JibGliJz48Yj48dHQ+W2NvZGVdLi4uWy9jb2RlXTwvdHQ+PC9iPjxiciAvPgoJVGhlIDx0dD5bY29kZV08L3R0PiB0YWcgaXMgZGVzaWduZWQgZm9yIHJlcHJlc2VudGluZyBjb250ZW50IGZyb20gdmFyaW91cyBwcm9ncmFtbWluZwoJbGFuZ3VhZ2VzIHdpdGhvdXQgcmVxdWlyaW5nIHVzZSBvZiBzcGVjaWFsIGNvZGVzIHRvIGRpc3BsYXkgaXQuICBFdmVyeSBjaGFyYWN0ZXIgYmV0d2VlbgoJPHR0Pltjb2RlXTwvdHQ+IGFuZCA8dHQ+Wy9jb2RlXTwvdHQ+IHdpbGwgYmUgY29waWVkIGRpcmVjdGx5IHRvIHRoZSBvdXRwdXQsIHdpdGggd2hpdGVzcGFjZQoJaW5jbHVkaW5nIG5ld2xpbmVzIGFuZCB0YWJzLCByZXRhaW5lZCBhbmQgcHJlZm9ybWF0dGVkLiAgVGhlIG9ubHkgZXhjZXB0aW9uIHRvIHRoaXMgaXMgdGhhdAoJdGhlIGZpcnN0IG5ld2xpbmUgYWZ0ZXIgdGhlIDx0dD5bY29kZV08L3R0PiB0YWcgd2lsbCBiZSByZW1vdmVkLCBhbmQgdGhlIGxhc3QgbmV3bGluZSBiZWZvcmUKCTx0dD5bL2NvZGVdPC90dD4gd2lsbCBiZSByZW1vdmVkLCBqdXN0IHRvIGtlZXAgdGhlIG91dHB1dCBmcm9tIGhhdmluZyB3YXN0ZWQgYmxhbmsgbGluZXMgaW4gaXQuCglUaGUgZW5kaW5nIDx0dD5bL2NvZGVdPC90dD4gdGFnIGlzIHJlcXVpcmVkOyB3aXRob3V0IGl0LCB0aGUgc3RhcnQgPHR0Pltjb2RlXTwvdHQ+IHRhZyB3aWxsCgliZSBpZ25vcmVkLjwvcD4KCjxhIG5hbWU9InJlZl9saWJfY29udGFpbmVyX3F1b3RlIj48L2E+CjxwIGNsYXNzPSdiYmxpYicgc3R5bGU9J21hcmdpbi1ib3R0b206MCc+PGI+PHR0PltxdW90ZV0uLi5bL3F1b3RlXTwvdHQ+PC9iPjwvcD4KPHAgY2xhc3M9J2JibGliJyBzdHlsZT0nbWFyZ2luLWJvdHRvbTowO21hcmdpbi10b3A6MCc+PGI+PHR0PltxdW90ZT0iSm9obiJdLi4uWy9xdW90ZV08L3R0PjwvYj48L3A+CjxwIGNsYXNzPSdiYmxpYicgc3R5bGU9J21hcmdpbi1ib3R0b206MDttYXJnaW4tdG9wOjAnPjxiPjx0dD5bcXVvdGUgbmFtZT0iSm9obiJdLi4uWy9xdW90ZV08L3R0PjwvYj48L3A+CjxwIGNsYXNzPSdiYmxpYicgc3R5bGU9J21hcmdpbi1ib3R0b206MDttYXJnaW4tdG9wOjAnPjxiPjx0dD5bcXVvdGUgbmFtZT0iSm9obiIgZGF0ZT0iSnVseSA0LCAyMDA4IiB1cmw9Imh0dHA6Ly93d3cuZm9vLmNvbSJdLi4uWy9xdW90ZV08L3R0PjwvYj4KCVRoZSA8dHQ+W3F1b3RlXTwvdHQ+IHRhZyBsZXRzIHlvdSBjb3B5IHNvbWVvbmUgZWxzZSdzIEJCQ29kZSBhbmQgYXR0cmlidHVlIGl0IHRvIHRoZW0uCglUaGUgPHR0PltxdW90ZV08L3R0PiB0YWcgY29tZXMgaW4gc2V2ZXJhbCBkaWZmZXJlbnQgZmxhdm9ycywgZGVwZW5kaW5nIG9uIGhvdyB5b3Ugd2FudCB0bwoJcXVvdGUgdGhlbS4gIEluIHRoZSBmaXJzdCBmb3JtLCBpdCBhdHRyaWJ1dGVzIHRoZSBxdW90ZSB0byBuby1vbmUgc3BlY2lmaWM6PC9wPgoKCTxkaXYgc3R5bGU9J21hcmdpbi1sZWZ0OjJlbTsnPgoJPGRpdiBjbGFzcz0nY29kZV9oZWFkZXInPkNvZGU6PC9kaXY+Cgk8eG1wIGNsYXNzPSdjb2RlJz5bcXVvdGVdQSByb2xsaW5nIHN0b25lIGdhdGhlcnMgbm8gbW9zcy5bL3F1b3RlXTwveG1wPgoJPGRpdiBjbGFzcz0nb3V0cHV0X2hlYWRlcic+T3V0cHV0OjwvZGl2PgoJPGRpdiBjbGFzcz0nb3V0cHV0Jz4KCTxkaXYgY2xhc3M9ImJiY29kZV9xdW90ZSI+Cgk8ZGl2IGNsYXNzPSJiYmNvZGVfcXVvdGVfaGVhZCI+UXVvdGU6PC9kaXY+Cgk8ZGl2IGNsYXNzPSJiYmNvZGVfcXVvdGVfYm9keSI+QSByb2xsaW5nIHN0b25lIGdhdGhlcnMgbm8gbW9zcy48L2Rpdj4KCTwvZGl2PgoJPC9kaXY+Cgk8L2Rpdj4KCgk8cCBzdHlsZT0nbWFyZ2luLWxlZnQ6MmVtOyc+SW4gaXRzIHNlY29uZCBmb3JtLCA8dHQ+W3F1b3RlXTwvdHQ+IGxldHMgeW91IGlkZW50aWZ5IHdobyBzYWlkIHNvbWV0aGluZzo8L3A+CgoJPGRpdiBzdHlsZT0nbWFyZ2luLWxlZnQ6MmVtOyc+Cgk8ZGl2IGNsYXNzPSdjb2RlX2hlYWRlcic+Q29kZTo8L2Rpdj4KCTx4bXAgY2xhc3M9J2NvZGUnPltxdW90ZT1UaG9tYXMgSmVmZmVyc29uXVdlIGhvbGQgdGhlc2UgdHJ1dGhzIHRvIGJlIHNlbGYtZXZpZGVudDoKVGhhdCBhbGwgbWVuIGFyZSBjcmVhdGVkIGVxdWFsLlsvcXVvdGVdPC94bXA+Cgk8ZGl2IGNsYXNzPSdvdXRwdXRfaGVhZGVyJz5PdXRwdXQ6PC9kaXY+Cgk8ZGl2IGNsYXNzPSdvdXRwdXQnPgoJPGRpdiBjbGFzcz0iYmJjb2RlX3F1b3RlIj4KCTxkaXYgY2xhc3M9ImJiY29kZV9xdW90ZV9oZWFkIj5UaG9tYXMgSmVmZmVyc29uIHdyb3RlOjwvZGl2PgoJPGRpdiBjbGFzcz0iYmJjb2RlX3F1b3RlX2JvZHkiPldlIGhvbGQgdGhlc2UgdHJ1dGhzIHRvIGJlIHNlbGYtZXZpZGVudDo8YnIgLz4KCVRoYXQgYWxsIG1lbiBhcmUgY3JlYXRlZCBlcXVhbC48L2Rpdj4KCTwvZGl2PgoJPC9kaXY+Cgk8L2Rpdj4KCgk8cCBzdHlsZT0nbWFyZ2luLWxlZnQ6MmVtOyc+SW4gaXRzIHRoaXJkIGZvcm0sIDx0dD5bcXVvdGVdPC90dD4gbGV0cyB5b3UgaWRlbnRpZnkgd2hvIHNhaWQgc29tZXRoaW5nLAoJCWFzIHdlbGwgYXMgb3B0aW9uYWxseSBpbmNsdWRpbmcgdGhlIGRhdGUgdGhleSBzYWlkIGl0IGFuZCBhIFVSTCB0byB3aGVyZSBpdCBjYW4gYmUgZm91bmQ6PC9wPgoKCTxkaXYgc3R5bGU9J21hcmdpbi1sZWZ0OjJlbTsnPgoJPGRpdiBjbGFzcz0nY29kZV9oZWFkZXInPkNvZGU6PC9kaXY+Cgk8eG1wIGNsYXNzPSdjb2RlJz5bcXVvdGUgbmFtZT0iVGhvbWFzIEplZmZlcnNvbiIgZGF0ZT0iSnVseSA0LCAxNzc2IgoJdXJsPSJodHRwOi8vd3d3LnVzaGlzdG9yeS5vcmcvRGVjbGFyYXRpb24vZG9jdW1lbnQvaW5kZXguaHRtIl0KV2UgaG9sZCB0aGVzZSB0cnV0aHMgdG8gYmUgc2VsZi1ldmlkZW50OgpUaGF0IGFsbCBtZW4gYXJlIGNyZWF0ZWQgZXF1YWwuWy9xdW90ZV08L3htcD4KCTxkaXYgY2xhc3M9J291dHB1dF9oZWFkZXInPk91dHB1dDo8L2Rpdj4KCTxkaXYgY2xhc3M9J291dHB1dCc+Cgk8ZGl2IGNsYXNzPSJiYmNvZGVfcXVvdGUiPgoJPGRpdiBjbGFzcz0iYmJjb2RlX3F1b3RlX2hlYWQiPjxhIGhyZWY9Imh0dHA6Ly93d3cudXNoaXN0b3J5Lm9yZy9EZWNsYXJhdGlvbi9kb2N1bWVudC9pbmRleC5odG0iPlRob21hcyBKZWZmZXJzb24gd3JvdGUgb24gSnVseSA0LCAxNzc2OjwvYT48L2Rpdj4KCTxkaXYgY2xhc3M9ImJiY29kZV9xdW90ZV9ib2R5Ij5XZSBob2xkIHRoZXNlIHRydXRocyB0byBiZSBzZWxmLWV2aWRlbnQ6PGJyIC8+CglUaGF0IGFsbCBtZW4gYXJlIGNyZWF0ZWQgZXF1YWwuPC9kaXY+Cgk8L2Rpdj4KCTwvZGl2PgoJPC9kaXY+CgoJPHAgc3R5bGU9J21hcmdpbi1sZWZ0OjJlbTsnPlRoZSBlbmRpbmcgPHR0PlsvcXVvdGVdPC90dD4gdGFnIGlzIHJlcXVpcmVkLjwvcD4K]]></data>
	</file>
	<file>
	  <filename>/docs/doc/src/bbc_link.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CjxhIG5hbWU9InJlZl9saWJfbGlua3NfdXJsIj48L2E+CjxwIGNsYXNzPSdiYmxpYicgc3R5bGU9J21hcmdpbi1ib3R0b206MDsnPjxiPjx0dD5bdXJsXWFkZHJlc3NbL3VybF08L3R0PjwvYj48L3A+CjxwIGNsYXNzPSdiYmxpYicgc3R5bGU9J21hcmdpbi1ib3R0b206MDttYXJnaW4tdG9wOjA7Jz48Yj48dHQ+W3VybD1hZGRyZXNzXXRpdGxlWy91cmxdPC90dD48L2I+PC9wPgo8cCBjbGFzcz0nYmJsaWInIHN0eWxlPSdtYXJnaW4tYm90dG9tOjA7bWFyZ2luLXRvcDowOyc+PGI+PHR0Plt1cmwgdGFyZ2V0PXRhcmdldF1hZGRyZXNzWy91cmxdPC90dD48L2I+PC9wPgo8cCBjbGFzcz0nYmJsaWInIHN0eWxlPSdtYXJnaW4tdG9wOjA7Jz48Yj48dHQ+W3VybD1hZGRyZXNzIHRhcmdldD10YXJnZXRddGl0bGVbL3VybF08L3R0PjwvYj48YnIgLz4KCVRoZSA8dHQ+W3VybF08L3R0PiB0YWcsIHdoaWNoIGlzIGF2YWlsYWJsZSBpbiB0d28gZGlmZmVyZW50IGZvcm1zLCBhbGxvd3MgeW91IHRvIGluc2VydCBsaW5rcyB0bwoJZXh0ZXJuYWwgZG9jdW1lbnRzLiAgSW4gdGhlIGZpcnN0IGZvcm0sIGl0IHNpbXBseSBtYXJrcyB0aGUgVVJMIGFzIGEgbGluazo8YnIgLz4KCTxiciAvPgoJJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IDx0dD5bdXJsXWh0dHA6Ly93d3cuZ29vZ2xlLmNvbVsvdXJsXTwvdHQ+ICZuYnNwOyAtLSZndDsgJm5ic3A7IDxhIGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbSI+aHR0cDovL3d3dy5nb29nbGUuY29tPC9hPjxiciAvPgoJPGJyIC8+CglJbiB0aGUgc2Vjb25kIGZvcm0sIHlvdSBjYW4gc3BlY2lmeSB0aGUgdGV4dCB0byBhcHBlYXIgd2l0aGluIHRoZSBsaW5rOjxiciAvPgoJPGJyIC8+CgkmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgPHR0Plt1cmw9aHR0cDovL3d3dy5nb29nbGUuY29tXUdvb2dsZSFbL3VybF08L3R0PiAmbmJzcDsgLS0mZ3Q7ICZuYnNwOyA8YSBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20iPkdvb2dsZSE8L2E+PGJyIC8+Cgk8YnIgLz4KCU5vdGUgdGhhdCBmb3Igc2FmZXR5J3Mgc2FrZSwgdGhlIDx0dD5bdXJsXTwvdHQ+IHRhZyB3aWxsIG9ubHkgYWNjZXB0IGxvY2FsIChyZWxhdGl2ZSkgVVJMcywKCWFuZCBVUkxzIHRoYXQgdXNlIHRoZSA8dHQ+aHR0cDo8L3R0PiwgPHR0Pmh0dHBzOjwvdHQ+LCA8dHQ+ZnRwOjwvdHQ+LCBvciA8dHQ+bWFpbHRvOjwvdHQ+IHByb3RvY29scy4KCUluIHBhcnRpY3VsYXIsIGl0IHdpbGwgPGk+bm90PC9pPiBhY2NlcHQgYW55IFVSTCB0aGF0IHVzZXMgdGhlIDx0dD5qYXZhc2NyaXB0OjwvdHQ+IHByb3RvY29sOwoJdGhpcyBsaW1pdGF0aW9uIGlzIGZvciBzZWN1cml0eSByZWFzb25zLCBhbmQgY2FuIHByZXZlbnQgY29kZSBpbmplY3Rpb24gb24geW91ciBzaXRlLiAgTkJCQwoJYWxzbyBwZXJmb3JtcyBzdGF0aWMgY2hlY2tzIG9uIHRoZSBnaXZlbiBVUkwgdG8gZW5zdXJlIHRoYXQgaXQgaXMgbGVnYWw6ICBGb3IgZXhhbXBsZSwgaXQga25vd3MKCXRoYXQgPHR0Pmh0dHA6Ly9mb288L3R0PiBpcyBub3QgYSBsZWdhbCBVUkwgYW5kIHdpbGwgbm90IGFsbG93IGl0LjxiciAvPgoJPGJyIC8+CglUaGUgPHR0PnRhcmdldD08L3R0PiBwYXJhbWV0ZXIgbWlycm9ycyB0aGF0IG9mIHRoZSBIVE1MIDx0dD4mbHQ7YSZndDs8L3R0PiBlbGVtZW50LCBhbmQgYWxsb3dzCgl0aGUgbGluayB0byBvcGVuIGluIGEgZGlmZmVyZW50IHdpbmRvdyBvciBmcmFtZS4gIEl0IGFjY2VwdHMgYWxsIG9mIHRoZSBzdGFuZGFyZCB3aW5kb3cgbmFtZXMKCXRoYXQgdGhlIDx0dD4mbHQ7YSZndDs8L3R0PiBlbGVtZW50J3MgPHR0PnRhcmdldD08L3R0PiBwYXJhbWV0ZXIgYWNjZXB0cywgaW5jbHVkaW5nICI8dHQ+X2JsYW5rPC90dD4iLAoJIjx0dD5fc2VsZjwvdHQ+IiwgIjx0dD5fcGFyZW50PC90dD4iLCBhbmQgIjx0dD5fdG9wPC90dD4iLCBhcyB3ZWxsIGFzIHNwZWNpZmljYWxseS1uYW1lZCB3aW5kb3dzCglhbmQgZnJhbWVzLjxiciAvPgoJPGJyIC8+Cgk8aT4oTm90ZTogZm9yIHNlY3VyaXR5IHJlYXNvbnMsIHRoZSA8dHQ+dGFyZ2V0PTwvdHQ+IHBhcmFtZXRlciBpcyBkaXNhYmxlZCBieSBkZWZhdWx0LCBhbmQgbXVzdAoJYmUgbWFudWFsbHkgZW5hYmxlZCB1c2luZyB0aGUgPGEgaHJlZj0iYXBpX3JlcGwudHBsI3JlZl9wYXJzZXJfU2V0VVJMVGFyZ2V0YWJsZSI+QkJDb2RlOjpTZXRVUkxUYXJnZXRhYmxlKCk8L2E+CglmdW5jdGlvbiBmb3IgdGhpcyBwYXJhbWV0ZXIgdG8gYmUgdXNhYmxlIGluIHlvdXIgQkJDb2RlLiBTZWUgPGEgaHJlZj0iYXBpX3JlcGwudHBsI3JlZl9wYXJzZXJfU2V0VVJMVGFyZ2V0YWJsZSI+QkJDb2RlOjpTZXRVUkxUYXJnZXRhYmxlKCk8L2E+Cglmb3IgbW9yZSBkZXRhaWxzLik8L2k+PC9wPgoKPGEgbmFtZT0icmVmX2xpYl9saW5rc19lbWFpbCI+PC9hPgo8cCBjbGFzcz0nYmJsaWInIHN0eWxlPSdtYXJnaW4tYm90dG9tOjA7Jz48Yj48dHQ+W2VtYWlsXWFkZHJlc3NbL2VtYWlsXTwvdHQ+PC9iPjwvcD4KPHAgY2xhc3M9J2JibGliJyBzdHlsZT0nbWFyZ2luLXRvcDowOyc+PGI+PHR0PltlbWFpbD1hZGRyZXNzXXRpdGxlWy9lbWFpbF08L3R0PjwvYj48YnIgLz4KCVRoZSA8dHQ+W2VtYWlsXTwvdHQ+IHRhZyBsZXRzIHlvdSBlYXNpbHkgaW5zZXJ0IHNvbWVvbmUncyBlLW1haWwgYWRkcmVzcy4gIExpa2UgdGhlCgk8dHQ+W3VybF08L3R0PiB0YWcsIGl0IGlzIGF2YWlsYWJsZSBpbiB0d28gZm9ybXMuICBJbiB0aGUgZmlyc3QgZm9ybSwgaXQgc2ltcGx5IG1hcmtzIHRoZSBlLW1haWwgYWRkcmVzcyBhcyBhIGxpbms6PGJyIC8+Cgk8YnIgLz4KCSZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyA8dHQ+W2VtYWlsXWJpbGxnQG1pY3Jvc29mdC5jb21bL2VtYWlsXTwvdHQ+ICZuYnNwOyAtLSZndDsgJm5ic3A7IDxhIGhyZWY9Im1haWx0bzpiaWxsZ0BtaWNyb3NvZnQuY29tIj5iaWxsZ0BtaWNyb3NvZnQuY29tPC9hPjxiciAvPgoJPGJyIC8+CglJbiB0aGUgc2Vjb25kIGZvcm0sIHlvdSBjYW4gc3BlY2lmeSB0aGUgdGV4dCB0byBhcHBlYXIgd2l0aGluIHRoZSBsaW5rOjxiciAvPgoJPGJyIC8+CgkmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgPHR0PltlbWFpbD1iaWxsZ0BtaWNyb3NvZnQuY29tXUJpbGwgRy5bL2VtYWlsXTwvdHQ+ICZuYnNwOyAtLSZndDsgJm5ic3A7IDxhIGhyZWY9Im1haWx0bzpiaWxsZ0BtaWNyb3NvZnQuY29tIj5CaWxsIEcuPC9hPjxiciAvPgoJPGJyIC8+CglGb3Igc2FmZXR5J3Mgc2FrZSwgTkJCQyBwZXJmb3JtcyBzdGF0aWMgY2hlY2tzIG9uIHRoZSBnaXZlbiBlLW1haWwgYWRkcmVzcyB0byBlbnN1cmUgdGhhdCBpdCBpcyBsZWdhbDoKCUZvciBleGFtcGxlLCBpdCBrbm93cyB0aGF0IDx0dD5qb2huQGZvbzwvdHQ+IGlzIG5vdCBhIGxlZ2FsIGUtbWFpbCBhZGRyZXNzIGFuZCB3aWxsIG5vdCBhbGxvdyBpdC48L3A+Cgo8YSBuYW1lPSJyZWZfbGliX2xpbmtzX3dpa2kiPjwvYT4KPHAgY2xhc3M9J2JibGliJyBzdHlsZT0nbWFyZ2luLWJvdHRvbTowOyc+PGI+PHR0Plt3aWtpPSJuYW1lIl08L3R0PjwvYj48L3A+CjxwIGNsYXNzPSdiYmxpYicgc3R5bGU9J21hcmdpbi10b3A6MDsnPjxiPjx0dD5bd2lraT0ibmFtZSIgdGl0bGU9InRpdGxlIl08L3R0PjwvYj48YnIgLz4KCVRoZSA8dHQ+W3dpa2ldPC90dD4gdGFnIGlzIHVzZWQgaW50ZXJuYWxseSBieSBOQkJDIHdoZW4gaXQgZW5jb3VudGVycyBhIDx0dD5bW3dpa2ldXTwvdHQ+IHRhZyAoc2VlCgl0aGUgc2VjdGlvbiBvbiA8YSBocmVmPSJ1c2FnZV93aWtpLmh0bWwiPndpa2kgdGFnczwvYT4gZm9yIG1vcmUgZGV0YWlscyk6ICBUaGUgPHR0Pltbd2lraV1dPC90dD4gdGFnCglpcyBjb252ZXJ0ZWQgaW50byBhIDx0dD5bd2lraV08L3R0PiB0YWcsIHdoaWNoIGlzIHRoZW4gY29udmVydGVkIGludG8gYSBVUkwgYmFzZWQgb24gdGhlCglhZGRyZXNzIG9mIHRoZSBpbnN0YWxsZWQgd2lraS4gIExpa2UgdGhlIDx0dD5bdXJsXTwvdHQ+IHRhZywgaXQgaXMgYXZhaWxhYmxlIGluIHR3byBmb3Jtcy4KCUluIHRoZSBmaXJzdCBmb3JtLCBpdCBzaW1wbHkgbWFya3MgdGhlIHdpa2kgbmFtZSBhcyBhIGxpbms6PGJyIC8+Cgk8YnIgLz4KCSZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyA8dHQ+W1tUaGUgV2hpdGUgSG91c2VdXTwvdHQ+ICZuYnNwOyAtLSZndDsgJm5ic3A7IDxhIGhyZWY9Imh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVGhlX1doaXRlX0hvdXNlIj5UaGUgV2hpdGUgSG91c2U8L2E+PGJyIC8+CgkmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgPHR0Plt3aWtpPSJUaGUgV2hpdGUgSG91c2UiXTwvdHQ+ICZuYnNwOyAtLSZndDsgJm5ic3A7IDxhIGhyZWY9Imh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVGhlX1doaXRlX0hvdXNlIj5UaGUgV2hpdGUgSG91c2U8L2E+PGJyIC8+Cgk8YnIgLz4KCUluIHRoZSBzZWNvbmQgZm9ybSwgeW91IGNhbiBzcGVjaWZ5IHRoZSB0ZXh0IHRvIGFwcGVhciB3aXRoaW4gdGhlIGxpbms6PGJyIC8+Cgk8YnIgLz4KCSZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyA8dHQ+W1tUaGUgV2hpdGUgSG91c2V8MTYwMCBQZW5uc3lsdmFuaWEgQXZlbnVlXV08L3R0PiAmbmJzcDsgLS0mZ3Q7ICZuYnNwOyA8YSBocmVmPSJodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1RoZV9XaGl0ZV9Ib3VzZSI+MTYwMCBQZW5uc3lsdmFuaWEgQXZlbnVlPC9hPjxiciAvPgoJJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IDx0dD5bd2lraT0iVGhlIFdoaXRlIEhvdXNlIiB0aXRsZT0iMTYwMCBQZW5uc3lsdmFuaWEgQXZlbnVlIl08L3R0PiAmbmJzcDsgLS0mZ3Q7ICZuYnNwOyA8YSBocmVmPSJodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1RoZV9XaGl0ZV9Ib3VzZSI+MTYwMCBQZW5uc3lsdmFuaWEgQXZlbnVlPC9hPjxiciAvPgoJPGJyIC8+CglCb3RoIG9mIHRoZXNlIGFyZSBjb25zaWRlcmFibHkgc2hvcnRlciBhbmQgZWFzaWVyIHRvIHVzZSB0aGFuIHRoZSA8dHQ+W3VybF08L3R0Pi1iYXNlZCB2ZXJzaW9uLCB3aGljaCBpcyB3aHkgd2lraS1saW5rcyBleGlzdDo8YnIgLz4KCTxiciAvPgoJJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IDx0dD5bW1RoZSBXaGl0ZSBIb3VzZV1dPC90dD4gJm5ic3A7IC0tJmd0OyAmbmJzcDsgPGEgaHJlZj0iaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9UaGVfV2hpdGVfSG91c2UiPlRoZSBXaGl0ZSBIb3VzZTwvYT48YnIgLz48YnIgLz4KCSZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyA8dHQ+W3VybD1odHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1RoZV9XaGl0ZV9Ib3VzZV1UaGUgV2hpdGUgSG91c2VbL3VybF08L3R0PjxiciAvPgoJJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgLS0mZ3Q7ICZuYnNwOyA8YSBocmVmPSJodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1RoZV9XaGl0ZV9Ib3VzZSI+VGhlIFdoaXRlIEhvdXNlPC9hPjxiciAvPgoJPGJyIC8+CglUaGUgPHR0Plt3aWtpXTwvdHQ+IHRhZyBkb2VzIG5vdCBoYXZlIGFuIGVuZCB0YWcuPC9wPgo=]]></data>
	</file>
	<file>
	  <filename>/docs/doc/src/bbc_list.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CjxhIG5hbWU9InJlZl9saWJfbGlzdF9saXN0Ij48L2E+CjxwIGNsYXNzPSdiYmxpYicgc3R5bGU9J21hcmdpbi1ib3R0b206MCc+PGI+PHR0PltsaXN0XS4uLlsqXS4uLlsqXS4uLlsvbGlzdF08L3R0PjwvYj48L3A+CjxwIGNsYXNzPSdiYmxpYicgc3R5bGU9J21hcmdpbi1ib3R0b206MDttYXJnaW4tdG9wOjAnPjxiPjx0dD5bbGlzdD10eXBlXS4uLlsqXS4uLlsqXS4uLlsvbGlzdF08L3R0PjwvYj48YnIgLz4KCVRoZSA8dHQ+W2xpc3RdPC90dD4gdGFnIGlzIGRlc2lnbmVkIGZvciBjcmVhdGluZyBsaXN0cyBvZiB0aGluZ3MuICBJbiBpdHMgZGVmYXVsdCBmb3JtLAoJd2hlcmUgbm8gdHlwZSBpcyBnaXZlbiwgaXQgY3JlYXRlcyBhIHNpbXBsZSBidWxsZXQtcG9pbnQgbGlzdCwgbGlrZSB0aGlzOjwvcD4KCgk8dGFibGUgc3R5bGU9J2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTttYXJnaW4tbGVmdDoyZW07Jz48dGJvZHk+PHRyPjx0ZCBzdHlsZT0ncGFkZGluZy1yaWdodDoyZW07dmVydGljYWwtYWxpZ246dG9wOyc+CgkJPGRpdiBjbGFzcz0nY29kZV9oZWFkZXInPkNvZGU6PC9kaXY+CgkJPHhtcCBjbGFzcz0nY29kZScgc3R5bGU9J3dpZHRoOjEwZW07Jz5bbGlzdF0KWypdSm9obgpbKl1NYXJ5ClsqXUJpbGwKWypdU3VlClsvbGlzdF08L3htcD4KCTwvdGQ+PHRkIHN0eWxlPSd2ZXJ0aWNhbC1hbGlnbjp0b3A7Jz4KCQk8ZGl2IGNsYXNzPSdvdXRwdXRfaGVhZGVyJz5PdXRwdXQ6PC9kaXY+CgkJPGRpdiBjbGFzcz0nb3V0cHV0JyBzdHlsZT0nd2lkdGg6MTBlbTsnPgoJCQk8dWwgc3R5bGU9J21hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOjAnPgoJCQk8bGk+Sm9objwvbGk+CgkJCTxsaT5NYXJ5PC9saT4KCQkJPGxpPkJpbGw8L2xpPgoJCQk8bGk+U3VlPC9saT4KCQkJPC91bD4KCQk8L2Rpdj4KCTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+CgoJPHAgc3R5bGU9J21hcmdpbi1sZWZ0OjJlbTsnPk5vdGljZSB0aGF0IHdoaWxlIHlvdSBkbyBuZWVkIHRvIGhhdmUgYW4gZW5kaW5nIDx0dD5bL2xpc3RdPC90dD4gdGFnLAoJeW91IGRvbid0IG5lZWQgdG8gaGF2ZSBhbiBlbmRpbmcgPHR0PlsvKl08L3R0PiB0YWcgZm9yIGVhY2gJPHR0PlsqXTwvdHQ+IHRhZzsgdGhpcyBtYWtlcyBjcmVhdGluZwoJbGlzdHMgc29tZXdoYXQgc2ltcGxlci48L3A+CgoJPHAgc3R5bGU9J21hcmdpbi1sZWZ0OjJlbTsnPllvdSBjYW4gYWxzbyBjcmVhdGUgbnVtYmVyZWQgbGlzdHMgYnkgc3BlY2lmeWluZyB3aGF0IHR5cGUKCW9mIGxpc3QgeW91IHdhbnQ7IGZvciBleGFtcGxlLCBpZiB5b3Ugd2FudCBhIG51bWJlcmVkIGxpc3QsIHVzZSB0eXBlICI8dHQ+MTwvdHQ+Iiwgb3IgZm9yIGFuCglhbHBoYWJldGljIGxpc3QsIHVzZSB0eXBlICI8dHQ+QTwvdHQ+Iiwgb3IgZm9yIFJvbWFuIG51bWVyYWxzLCB1c2UgdHlwZSAiPHR0Pmk8L3R0PiIuICBUd28KCWV4YW1wbGVzIGFyZSBzaG93biBiZWxvdzo8L3A+CgoJPHRhYmxlIHN0eWxlPSdib3JkZXItY29sbGFwc2U6Y29sbGFwc2U7bWFyZ2luLWxlZnQ6MmVtOyc+PHRib2R5Pjx0cj48dGQgc3R5bGU9J3BhZGRpbmctcmlnaHQ6MmVtO3ZlcnRpY2FsLWFsaWduOnRvcDsnPgoJCTxkaXYgY2xhc3M9J2NvZGVfaGVhZGVyJz5Db2RlOjwvZGl2PgoJCTx4bXAgY2xhc3M9J2NvZGUnIHN0eWxlPSd3aWR0aDoxMGVtOyc+W2xpc3Q9MV0KWypdSm9obgpbKl1NYXJ5ClsqXUJpbGwKWypdU3VlClsvbGlzdF08L3htcD4KCTwvdGQ+PHRkIHN0eWxlPSd2ZXJ0aWNhbC1hbGlnbjp0b3A7Jz4KCQk8ZGl2IGNsYXNzPSdvdXRwdXRfaGVhZGVyJz5PdXRwdXQ6PC9kaXY+CgkJPGRpdiBjbGFzcz0nb3V0cHV0JyBzdHlsZT0nd2lkdGg6MTBlbTsnPgoJCQk8b2wgc3R5bGU9J21hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOjAnPgoJCQk8bGk+Sm9objwvbGk+CgkJCTxsaT5NYXJ5PC9saT4KCQkJPGxpPkJpbGw8L2xpPgoJCQk8bGk+U3VlPC9saT4KCQkJPC9vbD4KCQk8L2Rpdj4KCTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+CgoJPHRhYmxlIHN0eWxlPSdib3JkZXItY29sbGFwc2U6Y29sbGFwc2U7bWFyZ2luLWxlZnQ6MmVtOyc+PHRib2R5Pjx0cj48dGQgc3R5bGU9J3BhZGRpbmctcmlnaHQ6MmVtO3ZlcnRpY2FsLWFsaWduOnRvcDsnPgoJCTxkaXYgY2xhc3M9J2NvZGVfaGVhZGVyJz5Db2RlOjwvZGl2PgoJCTx4bXAgY2xhc3M9J2NvZGUnIHN0eWxlPSd3aWR0aDoxMGVtOyc+W2xpc3Q9QV0KWypdSm9obgpbKl1NYXJ5ClsqXUJpbGwKWypdU3VlClsvbGlzdF08L3htcD4KCTwvdGQ+PHRkIHN0eWxlPSd2ZXJ0aWNhbC1hbGlnbjp0b3A7Jz4KCQk8ZGl2IGNsYXNzPSdvdXRwdXRfaGVhZGVyJz5PdXRwdXQ6PC9kaXY+CgkJPGRpdiBjbGFzcz0nb3V0cHV0JyBzdHlsZT0nd2lkdGg6MTBlbTsnPgoJCQk8b2wgc3R5bGU9J21hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOjA7bGlzdC1zdHlsZS10eXBlOnVwcGVyLWFscGhhOyc+CgkJCTxsaT5Kb2huPC9saT4KCQkJPGxpPk1hcnk8L2xpPgoJCQk8bGk+QmlsbDwvbGk+CgkJCTxsaT5TdWU8L2xpPgoJCQk8L29sPgoJCTwvZGl2PgoJPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT4KCQoJPHAgc3R5bGU9J21hcmdpbi1sZWZ0OjJlbTsnPk5CQkMgc3VwcG9ydHMgYSB3aWRlIHZhcmlldHkgb2YgZGlmZmVyZW50IGtpbmRzIG9mIGxpc3QgdHlwZXMsIGFuZAoJbWF0Y2hlcyBjYXBhYmlsaXRpZXMsIG1vcmUtb3ItbGVzcywgd2l0aCB0aGUgdmFyaW91cyBsaXN0IHN0eWxlcyBkZWZpbmVkIGluIHRoZSBDU1MgMi4xIHN0YW5kYXJkLgoJQSBjb21wbGV0ZSBsaXN0IG9mIHN1cHBvcnRlZCB0eXBlcyBpcyBnaXZlbiBiZWxvdzoKCQo8ZGl2IGFsaWduPSdjZW50ZXInPgo8dGFibGUgY2xhc3M9J2xpc3RfdGFibGUnPgo8dGhlYWQ+Cjx0cj48dGg+VHlwZTwvdGg+PHRoPkRlc2NyaXB0aW9uPC90aD48dGg+RXhhbXBsZTwvdGg+PHRoPkNTUyBlcXVpdmFsZW50PC90aD48L3RyPgo8L3RoZWFkPgo8dGJvZHk+Cjx0cj48dGg+MTwvdGg+PHRkPk9yZGVyZWQgbGlzdCB1c2luZyBBcmFiaWMgbnVtZXJhbHM8L3RkPjx0ZD4xLCAyLCAzLi4uPC90ZD48dGQ+PHR0PmRlY2ltYWw8L3R0PjwvdGQ+PC90cj4KPHRyPjx0aD4wMTwvdGg+PHRkPk9yZGVyZWQgbGlzdCB1c2luZyBudW1iZXJzIHdpdGggYSBsZWFkaW5nIHplcm88L3RkPjx0ZD4wMSwgMDIsIDAzLi4uLCAxMCwgMTEuLi48L3RkPjx0ZD48dHQ+ZGVjaW1hbC1sZWFkaW5nLXplcm88L3R0PjwvdGQ+PC90cj4KPHRyPjx0aD5BPC90aD48dGQ+T3JkZXJlZCBsaXN0IHVzaW5nIGNhcGl0YWwgbGV0dGVyczwvdGQ+PHRkPkEsIEIsIEMuLi48L3RkPjx0ZD48dHQ+dXBwZXItYWxwaGE8L3R0PjwvdGQ+PC90cj4KPHRyPjx0aD5hPC90aD48dGQ+T3JkZXJlZCBsaXN0IHVzaW5nIGxvd2VyY2FzZSBsZXR0ZXJzPC90ZD48dGQ+YSwgYiwgYy4uLjwvdGQ+PHRkPjx0dD5sb3dlci1hbHBoYTwvdHQ+PC90ZD48L3RyPgo8dHI+PHRoPkk8L3RoPjx0ZD5PcmRlcmVkIGxpc3QgdXNpbmcgY2FwaXRhbCBSb21hbiBudW1lcmFsczwvdGQ+PHRkPkksIElJLCBJSUksIElWLi4uPC90ZD48dGQ+PHR0PnVwcGVyLXJvbWFuPC90dD48L3RkPjwvdHI+Cjx0cj48dGg+aTwvdGg+PHRkPk9yZGVyZWQgbGlzdCB1c2luZyBsb3dlcmNhc2UgUm9tYW4gbnVtZXJhbHM8L3RkPjx0ZD5pLCBpaSwgaWlpLCBpdi4uLjwvdGQ+PHRkPjx0dD5sb3dlci1yb21hbjwvdHQ+PC90ZD48L3RyPgo8dHI+PHRoPmdyZWVrPC90aD48dGQ+T3JkZXJlZCBsaXN0IHVzaW5nIGxvd2VyY2FzZSBHcmVlayBsZXR0ZXJzPC90ZD48dGQ+JiM5NDU7LCAmIzk0NjssICYjOTQ3Oy4uLjwvdGQ+PHRkPjx0dD5sb3dlci1ncmVlazwvdHQ+PC90ZD48L3RyPgo8dHI+PHRoPmFybWVuaWFuPC90aD48dGQ+T3JkZXJlZCBsaXN0IHVzaW5nIEFybWVuaWFuIG51bWJlcmluZzwvdGQ+PHRkPjwvdGQ+PHRkPjx0dD5hcm1lbmlhbjwvdHQ+PC90ZD48L3RyPgo8dHI+PHRoPmdlb3JnaWFuPC90aD48dGQ+T3JkZXJlZCBsaXN0IHVzaW5nIEdlb3JnaWFuIG51bWJlcmluZzwvdGQ+PHRkPmFuLCBiYW4sIGdhbi4uLjwvdGQ+PHRkPjx0dD5nZW9yZ2lhbjwvdHQ+PC90ZD48L3RyPgo8dHI+PHRoPmNpcmNsZTwvdGg+PHRkPlVub3JkZXJlZCBsaXN0IHVzaW5nIGNpcmNsZS1idWxsZXRzPC90ZD48dGQ+PHVsIHN0eWxlPSdtYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTowO2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7Jz48bGk+Jm5ic3A7PC9saT48L3VsPjwvdGQ+PHRkPjx0dD5jaXJjbGU8L3R0PjwvdGQ+PC90cj4KPHRyPjx0aD5kaXNjPC90aD48dGQ+VW5vcmRlcmVkIGxpc3QgdXNpbmcgZGlzYy1idWxsZXRzPC90ZD48dGQ+PHVsIHN0eWxlPSdtYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTowO2xpc3Qtc3R5bGUtdHlwZTpkaXNjOyc+PGxpPiZuYnNwOzwvbGk+PC91bD48L3RkPjx0ZD48dHQ+ZGlzYzwvdHQ+PC90ZD48L3RyPgo8dHI+PHRoPnNxdWFyZTwvdGg+PHRkPlVub3JkZXJlZCBsaXN0IHVzaW5nIHNxdWFyZS1idWxsZXRzPC90ZD48dGQ+PHVsIHN0eWxlPSdtYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTowO2xpc3Qtc3R5bGUtdHlwZTpzcXVhcmU7Jz48bGk+Jm5ic3A7PC9saT48L3VsPjwvdGQ+PHRkPjx0dD5zcXVhcmU8L3R0PjwvdGQ+PC90cj4KPC90Ym9keT4KPC90YWJsZT4KPC9kaXY+Cg==]]></data>
	</file>
	<file>
	  <filename>/docs/doc/src/bbc_repl.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CjxhIG5hbWU9InJlZl9saWJfcmVwbGFjZWRfaW1nIj48L2E+CjxwIGNsYXNzPSdiYmxpYic+PGI+PHR0PltpbWddLi4uWy9pbWddPC90dD48L2I+PGJyIC8+CglUaGlzIGluc2VydHMgYW4gaW1hZ2UgaW50byB5b3VyIGRvY3VtZW50LiAgWW91IHNob3VsZCBwcm92aWRlIGEgVVJMIHRvIHRoZSBpbWFnZSBiZXR3ZWVuIHRoZSBzdGFydCBhbmQKCWVuZCA8dHQ+W2ltZ108L3R0PiB0YWdzLCBsaWtlIHRoaXM6PGJyIC8+Cgk8YnIgLz4KCSZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyA8dHQ+R29vZ2xlJ3MgbG9nbzogW2ltZ11odHRwOi8vd3d3Lmdvb2dsZS5jb20vaW50bC9lbl9BTEwvaW1hZ2VzL2xvZ28uZ2lmWy9pbWddPC90dD48YnIgLz4KCSZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAtLSZndDsgR29vZ2xlJ3MgbG9nbzogPGltZyBzcmM9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS9pbnRsL2VuX0FMTC9pbWFnZXMvbG9nby5naWYiIGFsaWduPSdtaWRkbGUnIC8+PGJyIC8+CglBbHRlcm5hdGl2ZWx5LCBpZiB5b3UgaW5zdGVhZCB1c2UgYSBwYXJ0aWFsIGZpbGVuYW1lICh3aGljaCA8aT5tdXN0PC9pPiBzdGFydCB3aXRoIGFuIGFscGhhbnVtZXJpYwoJY2hhcmFjdGVyIG9yIGFuIHVuZGVyc2NvcmUpLCB0aGUgPHR0PltpbWddPC90dD4gdGFnIHdpbGwgbG9jYXRlIHRoZSBmaWxlIHJlbGF0aXZlIHRvIHRoZSBkZWZpbmVkCgk8YSBocmVmPSJhcGlfcmVwbC5odG1sI3JlZl9wYXJzZXJfU2V0TG9jYWxJbWdEaXIiPmxvY2FsIGltYWdlIGRpcmVjdG9yeTwvYT4sIGFuZCB3aWxsIChBKSBkZXRlcm1pbmUgdGhhdCB0aGUKCWltYWdlIGZpbGUgYWN0dWFsbHkgZXhpc3RzIG9uIHRoZSBsb2NhbCBzZXJ2ZXIgYW5kIChCKSBpbnNlcnQgY29ycmVjdCB3aWR0aC9oZWlnaHQgZm9yIGl0IGFzIHdlbGwsCgl3aGljaCBjYW4gc3BlZWQgcGFnZSBsb2FkaW5nLiAgRm9yIGV4YW1wbGUsIGlmIHlvdSBydW4gYSB3ZWJjb21pYyBzaXRlLCBpdCBtYXkgYmUgYmVuZWZpY2lhbCB0bwoJc2V0IHlvdXIgbG9jYWwgaW1hZ2UgZGlyZWN0b3J5IHRvIDx0dD4vY29taWNzPC90dD4sIHNvIHRoYXQgeW91IGNhbiB0aGVuIGluY2x1ZGUgaW5kaXZpZHVhbAoJY29taWNzIGp1c3QgYnkgd3JpdGluZyA8dHQ+W2ltZ10yMDA4MDcwNC5qcGdbL2ltZ108L3R0Pi4gIEFueSBmaWxlbmFtZSB3aGljaCBzdGFydHMgd2l0aCBhIDx0dD4uPC90dD4KCW9yIGEgPHR0Pi88L3R0PiB3aWxsIDxpPm5vdDwvaT4gYmUgY29uc2lkZXJlZCBhIGxvY2FsIGltYWdlIGZpbGUuPC9wPgoKPGEgbmFtZT0icmVmX2xpYl9yZXBsYWNlZF9ydWxlIj48L2E+CjxwIGNsYXNzPSdiYmxpYic+PGI+PHR0PltydWxlXTwvdHQ+PC9iPjxiciAvPgoJVGhpcyBpbnNlcnRzIGEgaG9yaXpvbnRhbCBydWxlIChzZXBhcmF0b3IgYmFyKSBpbnRvIHlvdXIgZG9jdW1lbnQuICBXaGVuIHlvdSB1c2UgdGhlIHNob3J0aGFuZCA8dHQ+LS0tLS08L3R0PiBmb3JtLAoJTkJCQyBjb252ZXJ0cyBpdCBpbnRvIGEgPHR0PltydWxlXTwvdHQ+IHRhZy4gIFRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIHRoZSA8dHQ+W3J1bGVdPC90dD4gdGFnIGlzIHRvIGdlbmVyYXRlCglhIDx0dD4mbHQ7aHImbmJzcDsvJmd0OzwvdHQ+IEhUTUwgZWxlbWVudCBhcyBpdHMgb3V0cHV0OyB0aGlzIGJlaGF2aW9yIGNhbiBiZSBjaGFuZ2VkIHdpdGggdGhlCgk8YSBocmVmPSJhcGlfcnVsZS5odG1sI3JlZl9wYXJzZXJfU2V0UnVsZUhUTUwiPlNldFJ1bGVIVE1MPC9hPiBmdW5jdGlvbi4gIFRoZSA8dHQ+W3J1bGVdPC90dD4gdGFnIGRvZXMgbm90IGhhdmUgYW4gZW5kIHRhZy48L3A+Cgo8YSBuYW1lPSJyZWZfbGliX3JlcGxhY2VkX2JyIj48L2E+CjxwIGNsYXNzPSdiYmxpYic+PGI+PHR0Plticl08L3R0PjwvYj48YnIgLz4KCVRoaXMgaW5zZXJ0cyBhIGJyZWFrICg8dHQ+Jmx0O2JyIC8mZ3Q7PC90dD4pIGludG8geW91ciBkb2N1bWVudDsgaXQgaXMgZXF1aXZhbGVudCB0bwoJYSBjYXJyaWFnZSByZXR1cm4sIGJ1dCB1bmxpa2UgYSBjYXJyaWFnZSByZXR1cm4sIGl0IGNhbid0IGJlICJlYXRlbiIgYnkgYSBuZWFyYnkgYmxvY2sgdGFnIGxpa2UKCTx0dD5bY2VudGVyXTwvdHQ+LiAgVGhlIDx0dD5bYnJdPC90dD4gdGFnIGRvZXMgbm90IGhhdmUgYW4gZW5kIHRhZy48L3A+Cg==]]></data>
	</file>
	<file>
	  <filename>/docs/doc/src/bbc_text.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CjxhIG5hbWU9InJlZl9saWJfc3R5bGVfYiI+PC9hPgo8cCBjbGFzcz0nYmJsaWInPjxiPjx0dD5bYl0uLi5bL2JdPC90dD48L2I+PGJyIC8+CglUaGUgPHR0PltiXTwvdHQ+IHRhZyBmb3JtYXRzIGl0cyBjb250ZW50cyB1c2luZyA8Yj5ib2xkIHRleHQ8L2I+LiAgVGhlIGVuZGluZyA8dHQ+Wy9iXTwvdHQ+IHRhZyBpcyByZXF1aXJlZC48L3A+Cgo8YSBuYW1lPSJyZWZfbGliX3N0eWxlX2kiPjwvYT4KPHAgY2xhc3M9J2JibGliJz48Yj48dHQ+W2ldLi4uWy9pXTwvdHQ+PC9iPjxiciAvPgoJVGhlIDx0dD5baV08L3R0PiB0YWcgZm9ybWF0cyBpdHMgY29udGVudHMgdXNpbmcgPGk+aXRhbGljIHRleHQ8L2k+LiAgVGhlIGVuZGluZyA8dHQ+Wy9pXTwvdHQ+IHRhZyBpcyByZXF1aXJlZC48L3A+Cgo8YSBuYW1lPSJyZWZfbGliX3N0eWxlX3UiPjwvYT4KPHAgY2xhc3M9J2JibGliJz48Yj48dHQ+W3VdLi4uWy91XTwvdHQ+PC9iPjxiciAvPgoJVGhlIDx0dD5bdV08L3R0PiB0YWcgYWRkcyBhbiA8dT51bmRlcmxpbmU8L3U+IHRvIGl0cyBjb250ZW50cy4gIFRoZSBlbmRpbmcgPHR0PlsvdV08L3R0PiB0YWcgaXMgcmVxdWlyZWQuPC9wPgoKPGEgbmFtZT0icmVmX2xpYl9zdHlsZV9zIj48L2E+CjxwIGNsYXNzPSdiYmxpYic+PGI+PHR0PltzXS4uLlsvc108L3R0PjwvYj48YnIgLz4KCVRoZSA8dHQ+W3NdPC90dD4gdGFnIGFkZHMgYSA8c3RyaWtlPnN0cmlrZW91dDwvc3RyaWtlPiB0byBpdHMgY29udGVudHMuICBUaGUgZW5kaW5nIDx0dD5bL3NdPC90dD4gdGFnIGlzIHJlcXVpcmVkLjwvcD4KCjxhIG5hbWU9InJlZl9saWJfc3R5bGVfc3VwIj48L2E+CjxwIGNsYXNzPSdiYmxpYic+PGI+PHR0PltzdXBdLi4uWy9zdXBdPC90dD48L2I+PGJyIC8+CglUaGUgPHR0PltzdXBdPC90dD4gdGFnIGZvcm1hdHMgaXRzIGNvbnRlbnRzIGFzIDxzdXA+c3VwZXJzY3JpcHQ8L3N1cD4uICBUaGUgZW5kaW5nIDx0dD5bL3N1cF08L3R0PiB0YWcgaXMgcmVxdWlyZWQuPC9wPgoKPGEgbmFtZT0icmVmX2xpYl9zdHlsZV9zdWIiPjwvYT4KPHAgY2xhc3M9J2JibGliJz48Yj48dHQ+W3N1Yl0uLi5bL3N1Yl08L3R0PjwvYj48YnIgLz4KCVRoZSA8dHQ+W3N1Yl08L3R0PiB0YWcgZm9ybWF0cyBpdHMgY29udGVudHMgYXMgPHN1Yj5zdWJzY3JpcHQ8L3N1Yj4uICBUaGUgZW5kaW5nIDx0dD5bL3N1Yl08L3R0PiB0YWcgaXMgcmVxdWlyZWQuPC9wPgoKPGEgbmFtZT0icmVmX2xpYl9zdHlsZV9zcG9pbGVyIj48L2E+CjxwIGNsYXNzPSdiYmxpYic+PGI+PHR0PltzcG9pbGVyXS4uLlsvc3BvaWxlcl08L3R0PjwvYj48YnIgLz4KCVRoZSA8dHQ+W3Nwb2lsZXJdPC90dD4gdGFnIGZvcm1hdHMgaXRzIGNvbnRlbnRzIGFzIGEgPHNwYW4gc3R5bGU9J2NvbG9yOiMwMDA7YmFja2dyb3VuZC1jb2xvcjojMDAwJz5zcG9pbGVyPC9zcGFuPiAoc2VsZWN0IHRoaXMgdGV4dCB3aXRoIHlvdXIgbW91c2UgdG8gc2VlIHRoZSBzcG9pbGVyKS4gIFRoZSBlbmRpbmcgPHR0Plsvc3BvaWxlcl08L3R0PiB0YWcgaXMgcmVxdWlyZWQuPC9wPgoKPGEgbmFtZT0icmVmX2xpYl9zdHlsZV9hY3JvbnltIj48L2E+CjxwIGNsYXNzPSdiYmxpYic+PGI+PHR0PlthY3JvbnltPSJkZXNjcmlwdGlvbiJda2V5d29yZFsvYWNyb255bV08L3R0PjwvYj48YnIgLz4KCVRoZSA8dHQ+W2Fjcm9ueW1dPC90dD4gdGFnIHByb3ZpZGVzIGEgaGVscGZ1bCBtb3VzZW92ZXIgZm9yIGFjcm9ueW1zIGFuZCBvdGhlciB3b3JkcyB3aGVyZSBwb3B1cCB0ZXh0CgljYW4gYmUgaGVscGZ1bCwgbGlrZSB0aGlzOiAgPHNwYW4gY2xhc3M9J2Fjcm9ueW0nIHRpdGxlPSJkZXNjcmlwdGlvbiI+a2V5d29yZDwvc3Bhbj4uICBUaGUgZW5kaW5nIDx0dD5bL2Fjcm9ueW1dPC90dD4gdGFnIGlzIHJlcXVpcmVkLjwvcD4KCjxhIG5hbWU9InJlZl9saWJfc3R5bGVfc2l6ZSI+PC9hPgo8cCBjbGFzcz0nYmJsaWInPjxiPjx0dD5bc2l6ZT1uXS4uLlsvc2l6ZV08L3R0PjwvYj48YnIgLz4KCVRoZSA8dHQ+W3NpemVdPC90dD4gdGFnIGxldHMgeW91IGNvbnRyb2wgdGhlIHNpemUgb2YgeW91ciB0ZXh0OjwvcD4KCTxkaXYgc3R5bGU9J21hcmdpbi1sZWZ0OjRlbTsnPgoJPGRpdiBzdHlsZT0nZm9udC1zaXplOiAwLjVlbSc+VGhpcyB0ZXh0IGlzIHNpemUgMCAodGlueSkuPC9kaXY+Cgk8ZGl2IHN0eWxlPSdmb250LXNpemU6IDAuNjdlbSc+VGhpcyB0ZXh0IGlzIHNpemUgMSAodmVyeSBzbWFsbCkuPC9kaXY+Cgk8ZGl2IHN0eWxlPSdmb250LXNpemU6IDAuODNlbSc+VGhpcyB0ZXh0IGlzIHNpemUgMiAoc21hbGwpLjwvZGl2PgoJPGRpdiBzdHlsZT0nZm9udC1zaXplOiAxLjBlbSc+VGhpcyB0ZXh0IGlzIHNpemUgMyAobm9ybWFsKS48L2Rpdj4KCTxkaXYgc3R5bGU9J2ZvbnQtc2l6ZTogMS4xN2VtJz5UaGlzIHRleHQgaXMgc2l6ZSA0IChsYXJnZSkuPC9kaXY+Cgk8ZGl2IHN0eWxlPSdmb250LXNpemU6IDEuNWVtJz5UaGlzIHRleHQgaXMgc2l6ZSA1ICh2ZXJ5IGxhcmdlKS48L2Rpdj4KCTxkaXYgc3R5bGU9J2ZvbnQtc2l6ZTogMi4wZW0nPlRoaXMgdGV4dCBpcyBzaXplIDYgKGh1Z2UpLjwvZGl2PgoJPGRpdiBzdHlsZT0nZm9udC1zaXplOiAyLjVlbSc+VGhpcyB0ZXh0IGlzIHNpemUgNyAocmlkaWN1bG91cykuPC9kaXY+Cgk8L2Rpdj4KCTxkaXYgc3R5bGU9J21hcmdpbi1sZWZ0OiAyZW07bWFyZ2luLXRvcDowLjVlbTsnPlRoZSBlbmRpbmcgPHR0Plsvc2l6ZV08L3R0PiB0YWcgaXMgcmVxdWlyZWQsIGFuZCB0aGUgc2l6ZSBnaXZlbiBtdXN0IGJlIGEgbnVtYmVyIGZyb20gMCB0byA3LjwvZGl2PgoKPGEgbmFtZT0icmVmX2xpYl9zdHlsZV9jb2xvciI+PC9hPgo8cCBjbGFzcz0nYmJsaWInPjxiPjx0dD5bY29sb3I9bl0uLi5bL2NvbG9yXTwvdHQ+PC9iPjxiciAvPgoJVGhlIDx0dD5bY29sb3JdPC90dD4gdGFnIGFsbG93cyB5b3UgdG8gY29udHJvbCB0aGUgdGV4dCBjb2xvci4gIFlvdSBjYW4gc3BlY2lmeSB0aGUKCWNvbG9yIGFzIGVpdGhlciBhIHRocmVlLWRpZ2l0IGhleCBjb2RlLCBsaWtlIDx0dD4jMDY5PC90dD4sIG9yIGFzIGEgc2l4LWRpZ2l0IGhleCBjb2RlLAoJbGlrZSA8dHQ+I0UzNDcxNTwvdHQ+LCBvciBhcyBhIHN0YW5kYXJkIEhUTUwgY29sb3IgbmFtZSwgbGlrZSA8dHQ+cmVkPC90dD4uICBGb3IgZXhhbXBsZSwKCTx0dD5bY29sb3I9Z29sZGVucm9kXVNoaW55Jm5ic3A7Z29sZFsvY29sb3JdPC90dD4gd2lsbCBhcHBlYXIgYXMgPHNwYW4gc3R5bGU9J2NvbG9yOmdvbGRlbnJvZDsnPlNoaW55Jm5ic3A7Z29sZDwvc3Bhbj4sCglhbmQgPHR0Pltjb2xvcj0jMDY5XVRydWUmbmJzcDtibHVlIVsvY29sb3JdPC90dD4gd2lsbCBhcHBlYXIgYXMgPHNwYW4gc3R5bGU9J2NvbG9yOiMwNjk7Jz5UcnVlJm5ic3A7Ymx1ZSE8L3NwYW4+Cgk8L3A+Cgo8YSBuYW1lPSJyZWZfbGliX3N0eWxlX2ZvbnQiPjwvYT4KPHAgY2xhc3M9J2JibGliJz48Yj48dHQ+W2ZvbnQ9bl0uLi5bL2ZvbnRdPC90dD48L2I+PGJyIC8+CglUaGUgPHR0Pltmb250XTwvdHQ+IHRhZyBhbGxvd3MgeW91IHRvIGFsdGVyIHRoZSB0ZXh0J3MgdHlwZWZhY2UuICBZb3UgbWF5IHVzZSBzcGVjaWZpYyBmb250IG5hbWVzLCBsaWtlCgk8c3BhbiBzdHlsZT0nZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Jz5UaW1lcyBOZXcgUm9tYW48L3NwYW4+LCBvciBnZW5lcmljIGZvbnQgbmFtZXMsIGxpa2UgPHNwYW4gc3R5bGU9J2ZvbnQtZmFtaWx5OmN1cnNpdmU7Jz5jdXJzaXZlPC9zcGFuPi4KCU5vdGUgdGhhdCBpZiB5b3Ugd2FudCB0byB1c2UgYSBuYW1lIHRoYXQgY29udGFpbnMgc3BhY2VzLCBsaWtlIDxzcGFuIHN0eWxlPSdmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjsnPlRpbWVzIE5ldyBSb21hbjwvc3Bhbj4sCgl5b3Ugc2hvdWxkIHN1cnJvdW5kIGl0IGluIHF1b3RhdGlvbiBtYXJrcywgbGlrZSB0aGlzOiAgPHR0Pltmb250PSJUaW1lcyBOZXcgUm9tYW4iXS4uLlsvZm9udF08L3R0PiAgTkJCQyB3aWxsCglhbG1vc3QgYWx3YXlzIGdldCBpdCByaWdodCBldmVuIGlmIHlvdSBkb24ndCB1c2UgcXVvdGVzLCBidXQgcXVvdGVzIGd1YXJhbnRlZSBpdCdsbCBiZSBjb3JyZWN0LjxiciAvPjxiciAvPgoJTm90ZSB0aGF0IHRoZSBbZm9udF0gdGFnIGFsbG93cyB5b3UgdG8gc2VwYXJhdGUgZm9udCBuYW1lcyB3aXRoIGNvbW1hcywganVzdCBsaWtlIENTUyBkb2VzLCBzbyB0aGF0CglpZiBhIGdpdmVuIGZvbnQgaXMgbm90IGF2YWlsYWJsZSwgeW91ciBjaG9pY2Ugb2YgZmFsbGJhY2sgZm9udHMgY2FuIGJlIHVzZWQgaW5zdGVhZDogIDx0dD5bZm9udD1BcmlhbCxIZWx2LEhlbHZldGljYSxzYW5zXS4uLlsvZm9udF08L3R0PjxiciAvPjxiciAvPgoJVGhlIFtmb250XSB0YWcgYWxzbyByZWNvZ25pemVzIHRoZSBmaXZlIHN0YW5kYXJkIENTUyAiZ2VuZXJpYyIgZm9udCBuYW1lczo8L3A+Cgk8dWwgc3R5bGU9J21hcmdpbi1sZWZ0OjNlbTsnPgoJPGxpPjx0dD5zZXJpZjwvdHQ+IC0gQSBzZXJpZmVkIGZvbnQsIGxpa2UgVGltZXMgb3IgUm9tYW48L2xpPgoJPGxpPjx0dD5zYW5zLXNlcmlmPC90dD4gLSBBIHNhbnMtc2VyaWYgZm9udCwgbGlrZSBIZWx2ZXRpY2Egb3IgQXJpYWwgKGFsc28gPHR0PnNhbnNzZXJpZjwvdHQ+LCA8dHQ+c2FucyBzZXJpZjwvdHQ+LCBhbmQganVzdCA8dHQ+c2FuczwvdHQ+KTwvbGk+Cgk8bGk+PHR0PmN1cnNpdmU8L3R0PiAtIEEgY3Vyc2l2ZSBmb250LCBsaWtlIFphcGYtQ2hhbmNlcnk8L2xpPgoJPGxpPjx0dD5mYW50YXN5PC90dD4gLSBBICJmYW50YXN5IiBmb250LCBsaWtlIFdlc3Rlcm48L2xpPgoJPGxpPjx0dD5tb25vc3BhY2U8L3R0PiAtIEEgZml4ZWQtd2lkdGggZm9udCwgbGlrZSBDb3VyaWVyIChhbHNvIDx0dD5tb25vPC90dD4pCgk8L3VsPgo=]]></data>
	</file>
	<file>
	  <filename>/docs/doc/src/install_req.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CjxwPlRvIHVzZSBOQkJDIGluIHlvdXIgcHJvZ3JhbXMsIHlvdSB3aWxsIG5lZWQgdG8gaGF2ZSB0aGUgZm9sbG93aW5nOjwvcD4KCjx1bD4KPGxpPkEgd2ViIHNlcnZlciBydW5uaW5nIFBIUCA0LjAuNSBvciBoaWdoZXIsIG9yIFBIUCA1LjAgb3IgaGlnaGVyLjwvbGk+CjxsaT5Tb21lIFBIUCBwcm9ncmFtbWluZyBza2lsbHMgKHNheSwgc2tpbGwgbGV2ZWwgMiwgd2hlcmUgMSBpcyAibmV3YmllIiBhbmQgNSBpcyAiZ3VydSIpLjwvbGk+CjwvdWw+Cgo8cD5UaGF0J3MgaXQuICBOQkJDIGhhcyBiZWVuIHRlc3RlZCBwcmltYXJpbHkgb24gVW4qeCBzZXJ2ZXJzIHJ1bm5pbmcgQXBhY2hlLCBidXQgc2hvdWxkCndvcmsgZmluZSBvbiBhbnkgb3RoZXIgb3BlcmF0aW5nIHN5c3RlbSBvciB3ZWIgc2VydmVyLiAgSWYgeW91IHdhbnQgdG8gcGVyZm9ybSBzb3BoaXN0aWNhdGVkCnRyaWNrcyB3aXRoIE5CQkMsIGxpa2UgYWRkaW5nIGNhbGxiYWNrIHRhZ3MsIG9yIGNoYW5naW5nIHRoZSBOQkJDIHBhcnNpbmcgbWVjaGFuaXNtcywgeW91Cm1pZ2h0IG5lZWQgYSBza2lsbCBsZXZlbCBoaWdoZXIgdGhhbiAiMiIsIGJ1dCBmb3IgYmFzaWMgdXNhZ2UsIHlvdSByZWFsbHkgb25seSBuZWVkIGJhc2ljCnNraWxscy48L3A+Cg==]]></data>
	</file>
	<file>
	  <filename>/docs/doc/src/install_unpack.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CjxwPk5CQkMgc2hvdWxkIGhhdmUgYmVlbiBwcm92aWRlZCB0byB5b3UgYXMgYSA8dHQ+LnRhci5nejwvdHQ+IGZpbGUgb3IgYXMgYSA8dHQ+LnppcDwvdHQ+CmFyY2hpdmUgZmlsZS4gIFVucGFjayB0aGlzIGFyY2hpdmUgZmlsZS4gIEluc2lkZSwgeW91IHNob3VsZCBmaW5kIHRoaXM6PC9wPgoKPHVsPgo8bGk+PHR0Pm5iYmMvQ0hBTkdFTE9HPC90dD4gJm5ic3A7ICZuYnNwOyAmbmJzcDsgKGEgbGlzdCBvZiBldmVyeXRoaW5nIG5ldyBpbiB0aGlzIHZlcnNpb24gb2YgTkJCQyk8L2xpPgo8bGk+PHR0Pm5iYmMvZG9jLyouKjwvdHQ+ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICh2YXJpb3VzIHBpZWNlcyBvZiB0aGlzIHVzZXIncyBtYW51YWwpPC9saT4KPGxpPjx0dD5uYmJjL25iYmMucGhwPC90dD4gJm5ic3A7ICZuYnNwOyAmbmJzcDsgKHRoZSBjb21wcmVzc2VkIHNpbmdsZS1maWxlIHZlcnNpb24gb2YgTkJCQyk8L2xpPgo8bGk+PHR0Pm5iYmMvcmVhZG1lLmh0bWw8L3R0PiAmbmJzcDsgJm5ic3A7ICZuYnNwOyAodGhlIG1haW4gZmlsZSBmb3IgdGhpcyB1c2VyJ3MgbWFudWFsKTwvbGk+CjxsaT48dHQ+bmJiYy9zbWlsZXlzLyouZ2lmPC90dD4gJm5ic3A7ICZuYnNwOyAmbmJzcDsgKHRoaXJ0eSBzdGFuZGFyZCBzbWlsZXlzLCBhcyBHSUYgaW1hZ2UgZmlsZXMpPC9saT4KPGxpPjx0dD5uYmJjL3NyYy9uYmJjX21haW4ucGhwPC90dD4gJm5ic3A7ICZuYnNwOyAmbmJzcDsgKHRoZSBtYWluIHJvb3QgaW5jbHVkZSwgd2l0aCBjb21tZW50cyk8L2xpPgo8bGk+PHR0Pm5iYmMvc3JjL25iYmNfbGV4LnBocDwvdHQ+ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICh0aGUgbGV4aWNhbCBhbmFseXplciwgd2l0aCBjb21tZW50cyk8L2xpPgo8bGk+PHR0Pm5iYmMvc3JjL25iYmNfbGliLnBocDwvdHQ+ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICh0aGUgc3RhbmRhcmQgQkJDb2RlIGxpYnJhcnksIHdpdGggY29tbWVudHMpPC9saT4KPGxpPjx0dD5uYmJjL3NyYy9uYmJjX3BhcnNlLnBocDwvdHQ+ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICh0aGUgY29yZSBwYXJzZXIsIHdpdGggY29tbWVudHMpPC9saT4KPGxpPjx0dD5uYmJjL3Rvb2xzL2NvbGxlY3Rfc21pbGV5cy5waHA8L3R0PiAmbmJzcDsgJm5ic3A7ICZuYnNwOyAodXNlZCBmb3IgY3JlYXRpbmcgYW4gSFRNTCA8YSBocmVmPSJhcHBfc21pbGV5Lmh0bWwiPnRhYmxlIG9mIHNtaWxleXM8L2E+KTwvbGk+CjxsaT48dHQ+bmJiYy90b29scy9NYWtlZmlsZTwvdHQ+ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICh1c2VkIGZvciBjcmVhdGluZyA8dHQ+bmJiYy5waHA8L3R0PiBmcm9tIHRoZSBvdGhlciBmaWxlcyk8L2xpPgo8bGk+PHR0Pm5iYmMvdG9vbHMvbWVyZ2UucGw8L3R0PiAmbmJzcDsgJm5ic3A7ICZuYnNwOyAodXNlZCBmb3IgY3JlYXRpbmcgPHR0Pm5iYmMucGhwPC90dD4gZnJvbSB0aGUgb3RoZXIgZmlsZXMpPC9saT4KPGxpPjx0dD5uYmJjL3Rvb2xzL3Rlc3RfbmJiYy5waHA8L3R0PiAmbmJzcDsgJm5ic3A7ICZuYnNwOyAoYSB0ZXN0IHByb2dyYW0gdG8gZW5zdXJlIE5CQkMgd29ya3MgY29ycmVjdGx5KTwvbGk+CjwvdWw+Cgo8cD5UbyBzZWUgaWYgTkJCQyBoYXMgYmVlbiBpbnN0YWxsZWQgY29ycmVjdGx5LCBvcGVuIDx0dD50b29scy90ZXN0X25iYmMucGhwPC90dD4gaW4geW91ciB3ZWIgYnJvd3Nlci4KVGhpcyBzY3JpcHQgd2lsbCB0ZXN0IGFsbCBvZiB0aGUgbWFqb3IgZmVhdHVyZXMgb2YgTkJCQywgYW5kIGl0IHdpbGwgcGVyZm9ybSBzZXZlcmFsCnNlY3VyaXR5IHRlc3RzIGFzIHdlbGwuICBJZiBpdCByZXBvcnRzIHRoYXQgYWxsIG9mIHRoZSB0ZXN0cyBzdWNjZWVkZWQsIHRoZW4gTkJCQyBoYXMgYmVlbgppbnN0YWxsZWQgY29ycmVjdGx5LjwvcD4KCjxwPkluY2x1ZGluZyBOQkJDIGluIHlvdXIgcHJvamVjdCBpcyBmYWlybHkgZWFzeSwgYW5kIHRoZXJlJ3MgdHdvIHBvc3NpYmxlIHdheXMgdG8gZG8gaXQ6Cjx1bD4KPGxpPllvdSBjYW4gdXNlIHRoZSBjb21wcmVzc2VkIHZlcnNpb24gb2YgTkJCQywgd2hpY2ggbG9hZHMgYSBsaXR0bGUgZmFzdGVyIGFuZCBpcyBwYWNrZWQKCWludG8gb25lIFBIUCBmaWxlLiAgVG8gZG8gdGhpcywgY29weSBqdXN0ICI8dHQ+bmJiYy5waHA8L3R0PiIgaW50byB5b3VyIHByb2plY3QncyBkaXJlY3RvcnksCglhbmQgaW4geW91ciBQSFAgc2NyaXB0LCB5b3Ugc2ltcGx5IDx0dD5yZXF1aXJlX29uY2UoIm5iYmMucGhwIik8L3R0Pi48L2xpPgo8bGk+WW91IGNhbiB1c2UgdGhlIHVuY29tcHJlc3NlZCB2ZXJzaW9uIG9mIE5CQkMsIHdoaWNoIGxvYWRzIGEgbGl0dGxlIHNsb3dlciBhbmQgaXMgbXVsdGlwbGUKCVBIUCBmaWxlcywgYnV0IGlzIHdlbGwtY29tbWVudGVkIGFuZCBzdXBwb3J0cyBhIGRlYnVnZ2luZyBtb2RlLiAgVG8gZG8gdGhpcywgY29weSBhbGwgdGhlCgkiPHR0Pm5iYmNfKi5waHA8L3R0PiIgZmlsZXMgZnJvbSB0aGUgIjx0dD5zcmMvPC90dD4iIGRpcmVjdG9yeSBpbnRvIHlvdXIgcHJvamVjdCdzIGRpcmVjdG9yeSwKCWFuZCBpbiB5b3VyIFBIUCBzY3JpcHQsIHlvdSBzaW1wbHkgPHR0PnJlcXVpcmVfb25jZSgibmJiY19tYWluLnBocCIpPC90dD4uPC9saT4KPC91bD4KCjxwPkluIGFkZGl0aW9uIHRvIGNvcHlpbmcgdGhlIFBIUCBmaWxlKHMpLCB5b3UgcHJvYmFibHkgYWxzbyB3YW50IHRvIGNvcHkgdGhlICI8dHQ+c21pbGV5cy88L3R0PiIKZGlyZWN0b3J5LCB3aGljaCBjb250YWlucyB0aGlydHkgc21pbGV5cyBzdXBwb3J0ZWQgYnkgdGhlIGJ1aWx0LWluIFN0YW5kYXJkIEJCQ29kZSBMaWJyYXJ5LgpZb3UgY2FuIGZpbmQgYSBjb21wbGV0ZSBsaXN0IG9mIHRoZXNlIHNtaWxleXMgaW4gPGEgaHJlZj0iYXBwX3NtaWxleS5odG1sIj5BcHBlbmRpeCBBPC9hPi48L3A+Cg==]]></data>
	</file>
	<file>
	  <filename>/docs/doc/src/intro_license.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CjxwPk5CQkMsIHRoaXMgZG9jdW1lbnQsIGFuZCBhbGwgYXJ0d29yayBhbmQgc291cmNlIGNvZGUgaW5jbHVkZWQgd2l0aCB0aGUgTkJCQyBwYWNrYWdlCmFyZSBjb3ZlcmVkIHVuZGVyIGEgPGEgaHJlZj0iaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9ic2QtbGljZW5zZS5waHAiPkJTRC1saWtlIGxpY2Vuc2U8L2E+LCBzaG93biBiZWxvdy4gIEluIHNob3J0LCBOQkJDIGlzIGZyZWU6ICBZb3UgY2FuIGRvCndoYXQgeW91IHdhbnQgd2l0aCBpdCwgaW5jbHVkaW5nIG1vZGlmeSBpdCwgZGVyaXZlIGZyb20gaXQsIG9yIGV2ZW4gc2VsbCBpdCwgYnV0IHRoZQpvbmx5IHRoaW5nIHlvdSBjYW4ndCBkbyBpcyBjbGFpbSB5b3Ugd3JvdGUgaXQ6ICBHaXZlIGNyZWRpdCB3aGVyZSBjcmVkaXQgaXMgZHVlLjwvcD4KCjxkaXYgY2xhc3M9J291dHB1dCc+Cgk8cD48Yj5Db3B5cmlnaHQgJmNvcHk7IDIwMDgsIHRoZSBQaGFudG9tIElua2VyLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC48L2I+PC9wPgoJCgk8cD5SZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKCW1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwoJYXJlIG1ldDo8L3A+CgkKCTx1bD4KCTxsaT5SZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAoJCW5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci48L2xpPgoJCgk8bGk+UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKCQlub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4KCQl0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCgkJZGlzdHJpYnV0aW9uLjwvbGk+Cgk8L3VsPgoJCgk8cD5USElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBQSEFOVE9NIElOS0VSICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTCglPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAoJV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQoJRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUKCUxJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKCUNPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCglTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IKCUJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLAoJV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UKCU9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4KCUlGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLjwvcD4KPC9kaXY+Cgo8cD48Yj5Ob3RlOjwvYj4gIEFsbCBvZiB0aGUgaW1hZ2VzIGFuZCBhcnR3b3JrIGluY2x1ZGVkIHdpdGggTkJCQywgaW5jbHVkaW5nIHRoZQp0aGlydHkgc3RhbmRhcmQgPGEgaHJlZj0iYXBwX3NtaWxleS5odG1sIj5zbWlsZXlzPC9hPiBhbmQgdmFyaW91cyBpY29ucwpzdWNoIGFzIDxpbWcgc3JjPSJleHRlcm5hbC5naWYiIHdpZHRoPScxMScgaGVpZ2h0PScxMScgYWx0PSIiIC8+IHdlcmUgY3VzdG9tLWNyZWF0ZWQKZm9yIE5CQkMgYW5kIGFyZSBzdWJqZWN0IHRvIHRoZSBsaWNlbnNlIGFib3ZlLCB3aGljaCBtZWFucyB0aGF0IHRoZXkgbWF5IGJlIGZyZWVseQp1c2VkLCByZXVzZWQsIGFuZCBhbHRlcmVkIGZvciBhbnkgcHVycG9zZSwgcHVibGljLCBwcml2YXRlLCBvciBjb21tZXJjaWFsLCBzbyBsb25nCmFzIHRoZSB0d28gbGljZW5zZSB0ZXJtcyBhYm92ZSBhcmUgYWRoZXJlZCB0by48L3A+Cg==]]></data>
	</file>
	<file>
	  <filename>/docs/doc/src/intro_over.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CjxhIG5hbWU9ImludHJvIj48L2E+CjxoMT48aW1nIHNyYz0nbmJiYy1zbWFsbC5wbmcnIHdpZHRoPScyMDYnIGhlaWdodD0nNTYnIGFsdD0nTkJCQycgLz48YnIgLz5UaGUgTmV3IEJCQ29kZSBQYXJzZXI8L2gxPgo8cCBjbGFzcz0nY29weXJpZ2h0Jz5WZXJzaW9uIHskQkJDT0RFX1ZFUlNJT059PGJyIC8+CkNvcHlyaWdodCAmY29weTsgMjAwOC0xMCwgdGhlIFBoYW50b20gSW5rZXIuICBBbGwgcmlnaHRzIHJlc2VydmVkLjwvcD4KCjxwPlRoZSBOZXcgQkJDb2RlIFBhcnNlciAoTkJCQykgaXMgYSBmdWxseS12YWxpZGF0aW5nLCBoaWdoLXNwZWVkLCBleHRlbnNpYmxlIHBhcnNlcgpmb3IgdGhlIEJCQ29kZSBkb2N1bWVudCBsYW5ndWFnZSwgd3JpdHRlbiBpbiBQSFAsIGNvbXBhdGlibGUgd2l0aCBQSFAgNC4wLjUrIGFuZCBQSFAgNS4KSXQgY29udmVydHMgQkJDb2RlIGlucHV0IGludG8gSFRNTCBvdXRwdXQsIGFuZCBjYW4gZ3VhcmFudGVlIHRoYXQgdGhlIG91dHB1dCB3aWxsIGJlCmZ1bGx5IGNvbmZvcm1hbnQgdG8gdGhlIFhIVE1MIDEuMCBTdHJpY3Qgc3RhbmRhcmQgbm8gbWF0dGVyIGhvdyBiYWRseS1tYW5nbGVkIHRoZSBCQkNvZGUKaW5wdXQgaXMuPC9wPgoKPHA+V2hhdCBpcyBCQkNvZGU/ICBCQkNvZGUgaXMgYSBkb2N1bWVudC1mb3JtYXR0aW5nIGxhbmd1YWdlLCBzaW1pbGFyIHRvIEhUTUwsCm9ubHkgZGVzaWduZWQgdG8gYmUgbXVjaCBzaW1wbGVyIHRvIHVzZS4gIEJCQ29kZSB3YXMgcG9wdWxhcml6ZWQgYnkgdmFyaW91cyBmb3J1bSBhbmQKYnVsbGV0aW4tYm9hcmQgc2VydmljZXMgdGhyb3VnaG91dCB0aGUgbGF0ZSAxOTkwcyBhbmQgZWFybHkgMjAwMHMsIGFuZCBpcyBub3cgYQpkZS1mYWN0byBzdGFuZGFyZDsgaG93ZXZlciwgbW9zdCBCQkNvZGUgcGFyc2Vycywgd2hpY2ggY29udmVydCB0aGF0IEJCQ29kZSBpbnRvCmRpc3BsYXlhYmxlIEhUTUwsIGFyZSBub24tdmFsaWRhdGluZywgbWVhbmluZyB0aGF0IHRoZXkgZG8gbm90IGd1YXJhbnRlZSB0aGF0IHRoZWlyCm91dHB1dCB3aWxsIG5lY2Vzc2FyaWx5IGJlICZxdW90O2dvb2QmcXVvdDsgSFRNTC4gIFNvbWUgYXJlIHNvIG92ZXItc2ltcGxpZmllZCB0aGF0CnRoZXkgYXJlIHZ1bG5lcmFibGUgdG8gYSBudW1iZXIgb2Ygc2VjdXJpdHkgYXR0YWNrcy4gIE5CQkMgaXMgZGVzaWduZWQgdG8gYmUgYW4gZWFzeQpkcm9wLWluIHJlcGxhY2VtZW50IGZvciBtb3N0IGV4aXN0aW5nIEJCQ29kZSBwYXJzZXJzLCBhbmQgaXMgZGVzaWduZWQgdG8gYmUgYm90aAp2YWxpZGF0aW5nIGFuZCBzZWN1cmUuPC9wPgoKPHA+TkJCQyBjb21lcyBidWlsdC1pbiB3aXRoIGEgbnVtYmVyIG9mIHVzZWZ1bCBmZWF0dXJlczo8L3A+Cgo8dWw+CjxsaT5PdXRwdXQgaXMgYWx3YXlzIFhIVE1MIDEuMCBTdHJpY3QgY29uZm9ybWFudC48L2xpPgo8bGk+T3V0cHV0IGlzIHByb3RlY3RlZCBhZ2FpbnN0IG1hbnkgY29tbW9uIHVzZXItaW5wdXQgYXR0YWNrcywgc3VjaCBhcyBYU1MgYXR0YWNrcy48L2xpPgo8bGk+U21pbGV5cywgc3VjaCBhcyA8dHQ+Oi0pPC90dD4sIGFyZSBjb252ZXJ0ZWQgaW50byA8dHQ+Jmx0O2ltZyZndDs8L3R0PiB0YWdzLAoJYW5kIGEgbGFyZ2UgbGlicmFyeSBvZiBjb21tb24gc21pbGV5IGltYWdlcyBpcyBpbmNsdWRlZC48L2xpPgo8bGk+SW5jbHVkZXMgYSBsaWJyYXJ5IHN1cHBvcnRpbmcgYWxsIHRoZSBzdGFuZGFyZCBCQkNvZGUgY29kZXMgZm91bmQgb24gbW9zdAoJcG9wdWxhciBidWxsZXRpbiBib2FyZHMgYW5kIHdlYiBmb3J1bXMuPC9saT4KPGxpPlN1cHBvcnRzICJ3aWtpIGxpbmtzLCIgd2hpY2ggY2FuIGJlIGFuIGVhc3kgd2F5IGZvciB1c2VycyB0byByZWZlcmVuY2Ugd2lraQoJcGFnZXMgb24geW91ciBzaXRlIGlmIHlvdSBhbHNvIGhhdmUgYSB3aWtpIGluc3RhbGxlZC48L2xpPgo8bGk+VGhlIGxpc3Qgb2YgY29kZXMgaXMgZnVsbHkgZXh0ZW5zaWJsZTsgeW91IGNhbiBhZGQgYW5kIHJlbW92ZSBjb2RlcyBhdCBhbnkgdGltZS48L2xpPgo8bGk+VGlnaHRseSBlbmNhcHN1bGF0ZWQgaW4gY2xhc3NlcyBhbmQgZG9lc24ndCBwb2xsdXRlIHRoZSBnbG9iYWwgbmFtZXNwYWNlLAoJc28gaXQncyBlYXN5IHRvIGRyb3AgaW50byBleGlzdGluZyBlbnZpcm9ubWVudHMuPC9saT4KPGxpPlRoZSBlbnRpcmUgcGFyc2VyIGNvbnNpc3RzIG9mIG9ubHkgZm91ciBmaWxlcywgb25seSBvbmUgb2Ygd2hpY2ggeW91IGV2ZXIgbmVlZAoJdG8gaW5jbHVkZSBkaXJlY3RseSwgd2hpY2ggYWxzbyBtYWtlcyBpdCBlYXN5IHRvIGRyb3AgaW50byBleGlzdGluZyBlbnZpcm9ubWVudHMuPC9saT4KPGxpPlRoZSBzdGFuZGFyZCBsaWJyYXJ5IGluY2x1ZGVzIHN1cHBvcnQgZm9yIG5vdCBvbmx5IGV4dHJlbWVseSBjb21tb24gdGFncyBsaWtlIFtiXQoJYW5kIFtpXSwgYnV0IGFsc28gc3VwcG9ydHMgbmVhcmx5IGFsbCB0aGUgdGFncyBmb3VuZCBvbiBtb3N0IG1ham9yIGZvcnVtcyBhbmQKCWJ1bGxldGluIGJvYXJkczogIFtjZW50ZXJdLCBbbGlzdF0sIFtjb2RlXSwgYW5kIFtxdW90ZV0sIGFtb25nIG90aGVycywgd2l0aCBhbGwKCXRoZWlyIHZhcmlvdXMgZmxhZ3MgYW5kIHBhcmFtZXRlcnMuPC9saT4KPGxpPkJlc3Qgb2YgYWxsLCBpdCdzIGZyZWUhICBOQkJDIGlzIGNvdmVyZWQgdW5kZXIgdGhlCgk8YSBocmVmPSJodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2JzZC1saWNlbnNlLnBocCI+TmV3IEJTRCBPcGVuLVNvdXJjZSBMaWNlbnNlPC9hPiwKCXNvIGl0IGNhbiBiZSB1c2VkIGFueXdoZXJlLCBhbnl3aGVuLCBpbiBhbnkgcHJvamVjdCwgZm9yIGFueSByZWFzb24uPC9saT4KPC91bD4K]]></data>
	</file>
	<file>
	  <filename>/docs/doc/src/intro_why.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CjxwPllvdSBtYXkgYmUgYXNraW5nIHlvdXJzZWxmOiAgV2h5IGRvZXMgbXkgd2ViIGFwcGxpY2F0aW9uIG5lZWQgQkJDb2RlPyAgV2hhdCBkb2VzCkJCQ29kZSBkbyBmb3IgbWUgdGhhdCBIVE1MIGRvZXNuJ3QgZG8/ICBJZiB5b3UncmUgYXNraW5nIHRoZXNlIGtpbmRzIG9mIHF1ZXN0aW9ucywgdGhpcwppcyB0aGUgc2VjdGlvbiBmb3IgeW91LiAgQkJDb2RlIGlzIGEgZG9jdW1lbnQgZm9ybWF0dGluZyBsYW5ndWFnZSwganVzdCBsaWtlIEhUTUwsIGJ1dAppbiBtYW55IHdheXMgaXQncyBiZXR0ZXIgdGhhbiBIVE1MIGZvciB5b3VyIHVzZXItZ2VuZXJhdGVkIGNvbnRlbnQ6PC9wPgoKPHVsPgo8bGk+PGI+QkJDb2RlIGlzIHNpbXBsZXIuPC9iPiAgSFRNTCBpcyBhIGJpZywgaG9hcnksIGNvbXBsZXggbGFuZ3VhZ2Ugd2l0aCB0b25zIG9mCgljYXZlYXRzLCBzaWRlIGVmZmVjdHMsIGFuZCBzZWN1cml0eSBpc3N1ZXMuICBIVE1MIGNhbiB0YWtlIHdlZWtzIG9yIG1vbnRocyB0bwoJbGVhcm4gd2VsbCwgd2hlcmVhcyBtb3N0IG9mIHRoZSBCQkNvZGUgZmVhdHVyZXMgcGVvcGxlIHdpbGwgZXZlciB1c2UgY2FuIGJlIGxlYXJuZWQKCWZ1bGx5IGluIGFuIGFmdGVybm9vbi4gIE5ld2xpbmVzIGJlaGF2ZSBhcyBuZXdsaW5lcywgc21pbGV5cyBiZWhhdmUgYXMgc21pbGV5cywKCWFuZCBnZW5lcmFsbHkgdGhlIGxhbmd1YWdlIGlzIHVzZXItZnJpZW5kbHkgYW5kIG5ld2JpZS1mcmllbmRseSByaWdodCBvdXQgb2YgdGhlIGJveC48L2xpPgo8bGk+PGI+QkJDb2RlIGlzIHNhZmVyLjwvYj4gIEhUTUwgaGFzIHBsZW50eSBvZiBzZWN1cml0eSBob2xlcywgZnJvbSA8dHQ+Jmx0O3NjcmlwdCZndDs8L3R0PgoJdGFncyB0byA8dHQ+amF2YXNjcmlwdDo8L3R0PiBVUkxzIHRvIFhTUyBhdHRhY2tzIGFuZCBtb3JlLiAgQkJDb2RlLCBvbiB0aGUgb3RoZXIKCWhhbmQsIGlzIGEgc2ltcGxlIGxhbmd1YWdlIHRoYXQgZG9lcyA8aT5tb3N0PC9pPiB0aGUgdGFza3MgdGhhdCA8aT5tb3N0PC9pPiBwZW9wbGUKCW5lZWQsIHdpdGhvdXQgYWxsIHRoZSBzZWN1cml0eSB0cm91YmxlczogIEJCQ29kZSBhY3RpdmVseSBwcm9oaWJpdHMgdGFncyBhbmQKCWNvbnN0cnVjdHMgdGhhdCBjYW4gZ2V0IHlvdSBpbnRvIHRyb3VibGUsIGFuZCBldmVuIHJlcGFpcnMgYmFkIGNvZGUgb24gdGhlIGZseS48L2xpPgo8bGk+PGI+QkJDb2RlIGlzIGZsZXhpYmxlLjwvYj4gIEhUTUwga25vd3MgaG93IHRvIGRvIHdoYXQgaXQgZG9lcywgYW5kIHRoYXQncyBpdDsgaWYgeW91Cgl3YW50IGEgbmV3IGVsZW1lbnQgaW4gSFRNTCwgc2F5LCBhIDx0dD4mbHQ7cXVvdGUmZ3Q7PC90dD4gZWxlbWVudCBvciBhIDx0dD4mbHQ7bXVsdGljb2wmZ3Q7PC90dD4KCWVsZW1lbnQsIHlvdSBoYXZlIHRvIHdhaXQgYW5kIDxpPmhvcGU8L2k+IHRoYXQgYWxsIHRoZSBtYWpvciBicm93c2VycyBpbXBsZW1lbnQgd2hhdCB5b3UgbmVlZAoJLS0tIGlmIHRoZXkgZG9uJ3QgaW1wbGVtZW50IGl0LCB5b3UgZG9uJ3QgaGF2ZSBpdC4gIFdpdGggQkJDb2RlLCB5b3UgY2FuIGRlZmluZSBzaW1wbGUKCXRhZ3MgdGhhdCBwcm9kdWNlIGJpZywgY29tcGxleCBIVE1MIG9uIHRoZSBiYWNrZW5kLCBzbyB0aGF0IGEgdGFnIGxpa2UgPHR0PltjYWxlbmRhcj0yMDA4LTA3XTwvdHQ+CglyZWFsbHkgY2FuIHByb2R1Y2UgYSB3b3JraW5nIGNhbGVuZGFyLCBldmVuIGlmIG5vIGJyb3dzZXJzIGhhdmUgYSBidWlsdC1pbiA8dHQ+Jmx0O2NhbGVuZGFyJmd0OzwvdHQ+CgllbGVtZW50LjwvbGk+CjxsaT48Yj5CQkNvZGUgaXMgcG9ydGFibGUuPC9iPiAgQWdhaW4sIHdpdGggSFRNTCwgeW91J3JlIGxpbWl0ZWQgdG8gd2hhdCB0aGUgYnJvd3NlcnMKCXN1cHBvcnQuICBCdXQgc2luY2UgQkJDb2RlIGlzIHRyYW5zbGF0ZWQgdG8gYSB2ZXJ5IHNpbXBsZSBzdWJzZXQgb2YgSFRNTCwgZXZlbiByZWFsbHkKCWNvbXBsaWNhdGVkIEJCQ29kZSBjb25zdHJ1Y3RzIGNhbiB3b3JrIG9uIGp1c3QgYWJvdXQgYW55IGJyb3dzZXIuICBOb3Qgc28gd2l0aCB0aGUKCWZ1bGwgcG93ZXIgb2YgSFRNTCwgd2hlcmUgYSBsb3Qgb2Ygc3R1ZmYganVzdCBwbGFpbiBkb2Vzbid0IHdvcmsgaWYgeW91IHN3aXRjaCBmcm9tCglGaXJlZm94IHRvIEludGVybmV0IEV4cGxvcmVyIGFuZCBiYWNrLjwvbGk+CjxsaT48Yj5CQkNvZGUgZm9sbG93cyBpdHMgdXNlcnMgbWVudGFsIG1vZGVscy48L2I+ICBXaXRoIEhUTUwsIHRoZXJlJ3MgYSBsb25nc3RhbmRpbmcKCWFyZ3VtZW50IG92ZXIgdmlzdWFsIHN0eWxlcyB2cy4gbG9naWNhbCBzdHlsZXMsIHdoZXRoZXIgeW91ciBkb2N1bWVudCBzaG91bGQgYmUKCWZvcm1hdHRlZCBmb3IgbWFjaGluZSB1c2Ugd2l0aCBlbGVtZW50cyBsaWtlIDx0dD4mbHQ7c3Ryb25nJmd0OzwvdHQ+IG9yIGZvcm1hdHRlZCBmb3IKCXZpc3VhbHMgd2l0aCBlbGVtZW50cyBsaWtlIDx0dD4mbHQ7YiZndDs8L3R0Pi4gIEJCQ29kZSBkb2Vzbid0IGNhcmU6ICBJdCBpbXBsZW1lbnRzCgl3aGF0ZXZlciB0YWdzIHlvdSB3YW50IGl0IHRvIGltcGxlbWVudCwgd2hhdGV2ZXIgbWFrZSB0aGUgbW9zdCBzZW5zZSBmb3IgeW91ciBuZWVkcy4KCU5lZWQgYSA8dHQ+W2ZsYXNoXTwvdHQ+IHRhZywgb3IgYSA8dHQ+W3ZpZGVvXTwvdHQ+IHRhZywgb3IgYSA8dHQ+W3dlYmNvbWljPV0uLi5bL3dlYmNvbWljXTwvdHQ+CglsaW5rPyAgQWRkIGl0IHNvIHRoYXQgdGhlIGxhbmd1YWdlIGRvZXMgd2hhdCB5b3Ugd2FudCBpdCB0byBkbywgYW5kIG5vdCB0aGUgb3RoZXIgd2F5IGFyb3VuZC48L2xpPgo8bGk+PGI+QkJDb2RlIGlzIGF1dG9tYXRpY2FsbHkgYW5kIGVhc2lseSBzdHlsZWQuPC9iPiAgU2luY2UgYWxsIEJCQ29kZSBnZXRzIGNvbXBpbGVkIHRvIGEgc2ltcGxlCglzdWJzZXQgb2YgSFRNTCwgY2hhbmdpbmcgdGhlIGxvb2stYW5kLWZlZWwgb2YgQkJDb2RlIGNvbnRlbnQgY2FuIGJlIGRvbmUgYnkKCWNoYW5naW5nIGp1c3QgYSB2ZXJ5IHNtYWxsIGhhbmRmdWwgb2YgQ1NTIHN0eWxlcy4gIE5vdCBzbyB3aXRoIEhUTUwsIHdoZXJlIHRoZXJlIGFyZQoJb2Z0ZW4gaHVuZHJlZHMgb2YgY2xhc3NlcyBpbiBldmVuIGEgcmVsYXRpdmVseSBzaG9ydCBkb2N1bWVudC48L2xpPgo8L3VsPgoKPHA+SW4gZmFpcm5lc3MsIEJCQ29kZSBpc24ndCBwZXJmZWN0LiAgTGV0J3MgbG9vayBhdCB3aGF0IGl0IGNhbid0IGRvIHRvbywgY29tcGFyZWQgdG8gSFRNTDo8L3A+Cgo8dWw+CjxsaT48Yj5IVE1MIGlzIGZhc3Rlci48L2I+ICBCQkNvZGUgbmVlZHMgdG8gYmUgY29tcGlsZWQsIGFuZCB0aGF0IHRha2VzIHRpbWUgb24geW91ciBzZXJ2ZXIuCglCdXQgTkJCQyBpcyBkZXNpZ25lZCB0byBiZSBhIHZlcnkgZmFzdCBjb21waWxlciwgYW5kIGV2ZW4gbG9uZyBCQkNvZGUgZG9jdW1lbnRzIGNhbgoJYmUgZm9ybWF0dGVkIHJhcGlkbHkgd2l0aCBpdC48L2xpPgo8bGk+PGI+SFRNTCBzdXBwb3J0cyBsb3RzIG9mIGV4dHJhcy48L2I+ICBTY3JpcHRzLCBmb3JtcywgZW1iZWRkZWQgb2JqZWN0cywgdmlkZW8uLi4gIGlmCgl0aGUgd2ViIGNhbiBkbyBpdCwgSFRNTCBjYW4gZG8gaXQuICBCQkNvZGUgaW50ZW50aW9uYWxseSBsZWF2ZXMgb3V0IHRoaXMgZmxleGliaWxpdHkKCWluIGV4Y2hhbmdlIGZvciBzYWZldHksIGJ1dCB3aXRoIE5CQkMsIHlvdSBjYW4gYWx3YXlzIGFkZCB0aGVzZSBraW5kcyBvZiBlbGVtZW50cwoJYmFjayBpbiBpZiB5b3UgcmVhbGx5IG5lZWQgdGhlbS48L2xpPgo8bGk+PGI+SFRNTCBtb3JlIGZsZXhpYmxlIGFib3V0IGl0cyBsb29rIGFuZCBmZWVsLjwvYj4gIEJCQ29kZSBpbnRlbnRpb25hbGx5IHJlc3RyaWN0cwoJaXRzIGNvbnRlbnQgdG8gYWxsIGxvb2sgdGhlIHNhbWUsIHRvIHNoYXJlIHRoZSBzYW1lIHN0eWxlcywgd2hpbGUgSFRNTCBjYW4gaGF2ZSBhbnkKCWxvb2sgYW55d2hlcmUuPC9saT4KPGxpPjxiPkhUTUwgY2FuIGFuZCB3aWxsIGdyb3cuPC9iPiAgQkJDb2RlIG9ubHkgY2FuIGRvIHdoYXQgeW91ciBCQkNvZGUgbGlicmFyeSAoTkJCQykgY2FuCglkbywgd2hlcmVhcyBIVE1MIHdpbGwgZ2V0IG5ldyBmZWF0dXJlcyBvdmVyIHRpbWUgYXMgcGVvcGxlIHVwZ3JhZGUgdGhlaXIgYnJvd3NlcnMuPC9saT4KPGxpPjxiPkhUTUwgaGFzIFdZU0lXWUcgZWRpdG9ycyw8L2I+IHdoaWNoIGFyZSBncmVhdCBmb3IgbmV3Ymllcy4gIEJ1dCB0aGlzIGFkdmFudGFnZQoJd2lsbCBlcm9kZTogIEV2ZW4gbm93LCBzb21lIHJ1ZGltZW50YXJ5IEJCQ29kZSBXWVNJV1lHIGVkaXRvcnMgaGF2ZSBzdGFydGVkCgl0byBhcHBlYXIsIGFuZCB0aGV5J2xsIG9ubHkgZ2V0IGJldHRlciB3aXRoIHRpbWUuPC9saT4KPC91bD4KCjxwPlN0aWxsLCBldmVuIHdpdGggdGhlIGFkdmFudGFnZXMgSFRNTCBoYXMsIGluIGEgc2VjdXJpdHktIGFuZCBzYWZldHktY29uc2Npb3VzIGFnZSwKQkJDb2RlIGlzIHRoZSBjbGVhciB3aW5uZXIgZm9yIHVzZXItZ2VuZXJhdGVkIGNvbnRlbnQuICBJZiB5b3UncmUgbGV0dGluZyB5b3VyIHVzZXJzCmFkZCBhbnkga2luZCBvZiB0ZXh0LWJhc2VkIGNvbnRlbnQgdG8geW91ciBzaXRlLCB5b3VyIHNpdGUgPGk+bmVlZHM8L2k+IEJCQ29kZSwgYW5kCk5CQkMgaXMgdGhlIGJlc3QgYW5kIGVhc2llc3Qgd2F5IHRvIGdldCBpdC48L3A+Cg==]]></data>
	</file>
	<file>
	  <filename>/docs/doc/src/intro_whynbbc.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CjxwPlNvIGlmIHlvdSdyZSBjb252aW5jZWQgdGhhdCBCQkNvZGUgaXMgcmlnaHQgZm9yIHlvdXIgYXBwbGljYXRpb24sIHlvdSBzdGlsbCBtYXkKYmUgd29uZGVyaW5nIHdoeSB5b3Ugc2hvdWxkIHVzZSBOQkJDIGluc3RlYWQgb2YgYW5vdGhlciBCQkNvZGUgbGlicmFyeSwgb3IgaW5zdGVhZApvZiBqdXN0IHJvbGxpbmcgeW91ciBvd24gc29sdXRpb24uICBXZSBiZWxpZXZlIE5CQkMgaXMgYmV0dGVyOjwvcD4KCjx1bD4KPGxpPjxiPk5CQkMgaXMgY29ycmVjdCBhbmQgY29tcGxpYW50LjwvYj4gIFVubGlrZSBtYW55IG90aGVyIGxpYnJhcmllcyAoYW5kIGRlZmluaXRlbHkKCXVubGlrZSBtYW55IHJvbGwteW91ci1vd24gc29sdXRpb25zKSwgTkJCQydzIG91dHB1dCBpcyBjb21wYXRpYmxlIHdpdGggdGhlCglyZXN0cmljdGlvbnMgb2YgWEhUTUwgMS4wIFN0cmljdDogIFRoZSBvdXRwdXQgSFRNTCBpcyBjb3JyZWN0bHktc3RydWN0dXJlZCBubwoJbWF0dGVyIGhvdyBiYWRseS1tYW5nbGVkIHRoZSB1c2VyJ3MgaW5wdXQgaXMsIHNvIGV2ZW4gdGhlIHVnbGllc3QgZGFtYWdlZCBpbnB1dAoJY2FuIHN0aWxsIHBhc3MgYW4gWEhUTUwtdmFsaWRhdGlvbiB0ZXN0LjwvbGk+CjxsaT48Yj5OQkJDIGlzIGZhc3QuPC9iPiAgQnVpbHQgb24gYSBzb2xpZCBmb3VuZGF0aW9uIG9mIGNvbXBpbGVyIHRlY2hub2xvZ2llcywKCU5CQkMgY2FuIGNvbXBldGUgd2l0aCB0aGUgYmVzdCBCQkNvZGUtcGFyc2luZyBzb2x1dGlvbnMgdGhhdCB5b3UgY2FuIGltcGxlbWVudCwKCWFuZCBjYW4gc29tZXRpbWVzIGV2ZW4gb3V0cGVyZm9ybSBhIHNpbXBsZSA8dHQ+c3RyX3JlcGxhY2UoKTwvdHQ+IG9yCgk8dHQ+cHJlZ19yZXBsYWNlKCk8L3R0Pi1iYXNlZCBzb2x1dGlvbiE8L2xpPgo8bGk+PGI+TkJCQyBpcyBsaWdodHdlaWdodC48L2I+ICBZb3UgY2FuIGVhc2lseSBpbXBsZW1lbnQgTkJCQyBpbiBhbnkgZW52aXJvbm1lbnQgYnkgaW5jbHVkaW5nCglhIHNpbmdsZSBQSFAgc291cmNlIGZpbGUuICBEcm9wIGl0IGluIGFuZCBhd2F5IHlvdSBnbyE8L2xpPgo8bGk+PGI+TkJCQyBpcyBlYXN5IHRvIHVzZS48L2I+ICBBZGRpbmcgYmFzaWMgc3VwcG9ydCBmb3IgQkJDb2RlIGluIHlvdXIgYXBwbGljYXRpb24KCWNhbiBiZSBkb25lIGluIG9ubHkgdGhyZWUgbGluZXMgb2YgY29kZS4gIFdoeSBsaW1pdCB5b3VyIHVzZXJzIHRvIHBsYWluIHRleHQKCW9yIGltcGxlbWVudCBjb21wbGljYXRlZCBIVE1MIHZhbGlkYXRpb24gd2hlbiB5b3UgY2FuIGFkZCBzb3BoaXN0aWNhdGVkIGZvcm1hdHRpbmcKCWluIHRocmVlIGxpbmVzIG9mIGNvZGU/PC9saT4KPGxpPjxiPk5CQkMgaW1wbGVtZW50cyBtb3N0IGNvbW1vbiBCQkNvZGUgdGFncy48L2I+ICBSaWdodCBvdXQgb2YgdGhlIGJveCwgeW91IGhhdmUKCXN1cHBvcnQgZm9yIGV2ZXJ5dGhpbmcgZnJvbSBjb21tb24gdGFncyBsaWtlIDx0dD5bYl08L3R0PiBhbmQgPHR0PltpXTwvdHQ+IHRvCglzb3BoaXN0aWNhdGVkIHRhZ3MgbGlrZSA8dHQ+W2NvZGVdPC90dD4gYW5kIDx0dD5bcXVvdGVdPC90dD4gYW5kIGV2ZW4gPHR0Pltjb2x1bW5zXTwvdHQ+LgoJRm9yIG1vc3QgbmVlZHMsIHlvdSB3b24ndCBuZWVkIHRvIGFkZCBvciBjaGFuZ2UgYSB0aGluZy48L2xpPgo8bGk+PGI+TkJCQyBzdXBwb3J0cyBzbWlsZXlzITwvYj4gIE5vdCBhbGwgQkJDb2RlIHBhcnNlcnMgc3VwcG9ydCBzbWlsZXlzIChlbW90aWNvbnMpCglkaXJlY3RseSwgYW5kIGZld2VyIHN0aWxsIGluY2x1ZGUgMzAgb2YgdGhlIG1vc3QgY29tbW9ubHktdXNlZCBvbmVzIHJpZ2h0IG91dCBvZiB0aGUKCWJveCEgIFlvdSBjYW4gYWx3YXlzIGFkZCB5b3VyIG93biBjdXN0b20gc21pbGV5cywgYnV0IGZvciBhIGxvdCBvZiBwdXJwb3NlcywgTkJCQydzCglidWlsdC1pbiBzbWlsZXlzIHdpbGwgYmUgYWxsIHlvdSdsbCBldmVyIG5lZWQuPC9saT4KPGxpPjxiPk5CQkMgaXMgZXh0ZW5zaWJsZS48L2I+ICBJZiBOQkJDIGRvZXNuJ3QgaGF2ZSB0aGUgdGFncyB5b3Ugd2FudCBvciBuZWVkIGZvcgoJeW91ciBlbnZpcm9ubWVudCwgdGhleSdyZSBpbmNyZWRpYmx5IGVhc3kgdG8gYWRkIHdpdGggaXRzIHNvcGhpc3RpY2F0ZWQKCUFQSS4gIE1hbnkgdGFncyBjYW4gYmUgYWRkZWQgaW4gb25seSBhIGZldyBsaW5lcyBvZiBjb2RlITwvbGk+CjxsaT48Yj5OQkJDIGlzIHdlbGwtZG9jdW1lbnRlZC48L2I+ICBOb3Qgb25seSBpcyB0aGUgc291cmNlLWNvZGUgd2VsbC1jb21tZW50ZWQKCWFuZCBkZXNpZ25lZCB0byBiZSBlYXN5IHRvIHJlYWQsIHRoZXJlIGFyZSBvdmVyIDUwIHBhZ2VzIG9mIGRvY3VtZW50YXRpb24KCWRlc2NyaWJpbmcgaG93IHRvIHVzZSBOQkJDIGFuZCBpdHMgZmVhdHVyZXMuPC9saT4KPGxpPjxiPk5CQkMgaXMgdGVzdGVkLjwvYj4gIE5CQkMgaGFzIGEgbGFyZ2UgcmVncmVzc2lvbi10ZXN0IHN1aXRlIHRoYXQgaXMgZGVzaWduZWQKCXRvIGVuc3VyZSBpdHMgY29ycmVjdG5lc3M6ICBXaGlsZSBtb3N0IG90aGVyIEJCQ29kZSBzb2x1dGlvbnMgYXJlIGNvbnRlbnQgdG8KCWp1c3Qgc3dhcCBhIHRhZyBmb3IgYSB0YWcsIE5CQkMgaXMgZGVzaWduZWQgd2l0aCBwcmVkaWN0YWJpbGl0eSwgc2VjdXJpdHksIGFuZAoJc3RhYmlsaXR5IGluIG1pbmQsIHNvIHlvdSBjYW4gZW5zdXJlIHRoYXQgaXRzIG91dHB1dCBpcyBzYWZlIGFuZCBjb3JyZWN0IG5vCgltYXR0ZXIgd2hhdCBpbnB1dCB5b3VyIHVzZXJzIHByb3ZpZGUuPC9saT4KPC91bD4KCjxwPkZhc3QsIHBvd2VyZnVsLCBjbGVhbiwgZmxleGlibGUsIGFuZCBsaWdodHdlaWdodDogIE5CQkMgaXMgZGVzaWduZWQgdG8gYmUgdGhlCnBlcmZlY3QgQkJDb2RlLXByb2Nlc3NpbmcgbGlicmFyeS48L3A+Cg==]]></data>
	</file>
	<file>
	  <filename>/docs/doc/src/make-manual.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCglyZXF1aXJlX29uY2UoIi4uLy4uL25iYmMucGhwIik7CgoJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkvLyAgUmVhZCAidG9jLnRwbCIgYW5kIGNvbnZlcnQgaXQgaW50byBhIGhpZXJhcmNoeS4KCgkkR3JvdXBzID0gQXJyYXkoKTsKCgkkdG9jZmlsZSA9IGZpbGUoInRvYy50cGwiKTsKCWlmICghJHRvY2ZpbGUpCgkJZGllKCJVbmFibGUgdG8gb3BlbiAndG9jLnRwbCcgZm9yIHJlYWRpbmcuXG4iKTsKCgkkZ3JvdXAgPSAtMTsKCSRzZWN0aW9uID0gLTE7Cgkkc3Vic2VjdGlvbiA9IC0xOwoJZm9yZWFjaCAoJHRvY2ZpbGUgYXMgJGxpbmUpIHsKCQkkbGluZSA9IHRyaW0oJGxpbmUpOwoJCWlmIChwcmVnX21hdGNoKCIvXlsgXHRdKihcXCorKVsgXHRdKigoPzpbXjpdKzopPykoLiopJC8iLCAkbGluZSwgJG1hdGNoZXMpKSB7CgkJCSRzdGFycyA9IHN0cmxlbigkbWF0Y2hlc1sxXSk7CgkJCSRuYW1lID0gJG1hdGNoZXNbMl07CgkJCSR0aXRsZSA9ICRtYXRjaGVzWzNdOwoJCQlpZiAocHJlZ19tYXRjaCgiL14oW14jOl0rKSgoPzojW146XSopPyk6LyIsICRuYW1lLCAkbWF0Y2hlcykpIHsKCQkJCSRuYW1lID0gJG1hdGNoZXNbMV07CgkJCQkkbGluayA9ICRtYXRjaGVzWzJdOwoJCQl9CgkJCWVsc2UgJG5hbWUgPSAkbGluayA9ICIiOwoJCQlzd2l0Y2ggKCRzdGFycykgewoJCQljYXNlIDE6CgkJCQkrKyRncm91cDsKCQkJCSRHcm91cHNbJGdyb3VwXQoJCQkJCT0gQXJyYXkoJ25hbWUnID0+ICRuYW1lLCAnbGluaycgPT4gJGxpbmssICd0aXRsZScgPT4gJHRpdGxlLCAnc3ViJyA9PiBBcnJheSgpKTsKCQkJCSRzZWN0aW9uID0gLTE7CgkJCQlicmVhazsKCQkJY2FzZSAyOgoJCQkJKyskc2VjdGlvbjsKCQkJCSRHcm91cHNbJGdyb3VwXVsnc3ViJ11bJHNlY3Rpb25dCgkJCQkJPSBBcnJheSgnbmFtZScgPT4gJG5hbWUsICdsaW5rJyA9PiAkbGluaywgJ3RpdGxlJyA9PiAkdGl0bGUsICdzdWInID0+IEFycmF5KCkpOwoJCQkJJHN1YnNlY3Rpb24gPSAtMTsKCQkJCWJyZWFrOwoJCQljYXNlIDM6CgkJCQkrKyRzdWJzZWN0aW9uOwoJCQkJJEdyb3Vwc1skZ3JvdXBdWydzdWInXVskc2VjdGlvbl1bJ3N1YiddWyRzdWJzZWN0aW9uXQoJCQkJCT0gQXJyYXkoJ25hbWUnID0+ICRuYW1lLCAnbGluaycgPT4gJGxpbmssICd0aXRsZScgPT4gJHRpdGxlLCAnc3ViJyA9PiBBcnJheSgpKTsKCQkJCWJyZWFrOwoJCQl9CgkJfQoJfQoKCS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJLy8gIEdlbmVyYXRlIHRoZSB0YWJsZSBvZiBjb250ZW50cywgcmVjdXJzaXZlbHkuCgoJZnVuY3Rpb24gR2VuZXJhdGVUb2NUcmVlKCRicmFuY2gsICRkZXB0aCwgJiRjb3VudCwgJGNsYXNzID0gIiIsICRsaW1pdCA9IDk5OTk5LCAkZnVua3lsaW5rID0gZmFsc2UpIHsKCQkkbGlzdF90eXBlc19ieV9kZXB0aCA9IEFycmF5KAoJCQkndXBwZXItcm9tYW4nLAoJCQkndXBwZXItYWxwaGEnLAoJCQknZGVjaW1hbCcsCgkJCSdsb3dlci1hbHBoYScsCgkJCSdsb3dlci1yb21hbicsCgkJKTsKCgkJJG91dHB1dCA9IHN0cl9yZXBlYXQoIlx0IiwgJGRlcHRoKQoJCQkuICI8b2wgc3R5bGU9XCJsaXN0LXN0eWxlLXR5cGU6eyRsaXN0X3R5cGVzX2J5X2RlcHRoWyRkZXB0aF19XCIkY2xhc3M+XG4iOwoKCQlpZiAoJGRlcHRoID09IDApCgkJCSRzdHlsZSA9ICIgc3R5bGU9XCJtYXJnaW4tdG9wOjFlbTtcIiI7CgkJZWxzZSAkc3R5bGUgPSAiIjsKCgkJZm9yZWFjaCAoJGJyYW5jaCBhcyAkbm9kZSkgewoJCQkkdGl0bGUgPSB0cmltKCRub2RlWyd0aXRsZSddKTsKCQkJaWYgKGlzc2V0KCRub2RlWyduYW1lJ10pKQoJCQkJJG5hbWUgPSB0cmltKCRub2RlWyduYW1lJ10pOwoJCQllbHNlICRuYW1lID0gIiI7CgkJCWlmIChzdWJzdHIoJHRpdGxlLCAwLCAxKSA9PSAnKicpCgkJCQkkdGl0bGUgPSAiPGI+IiAuIGh0bWxzcGVjaWFsY2hhcnModHJpbShzdWJzdHIoJHRpdGxlLCAxKSkpIC4gIjwvYj4iOwoJCQllbHNlICR0aXRsZSA9IGh0bWxzcGVjaWFsY2hhcnMoJHRpdGxlKTsKCgkJCSRvdXRwdXQgLj0gc3RyX3JlcGVhdCgiXHQiLCAkZGVwdGgpOwoKCQkJaWYgKHN0cmxlbigkbmFtZSkpIHsKCQkJCWlmICgkZnVua3lsaW5rKSB7CgkJCQkJJG91dHB1dCAuPSAiPGxpJHN0eWxlPjxhIGhyZWY9XCJyZWFkbWUucGhwP3BhZ2U9IiAuIGh0bWxzcGVjaWFsY2hhcnMoJG5hbWUpCgkJCQkJCS4gIlwiPiR0aXRsZTwvYT4iOwoJCQkJfQoJCQkJZWxzZSB7CgkJCQkJJG91dHB1dCAuPSAiPGxpJHN0eWxlPjxhIGhyZWY9XCIiIC4gaHRtbHNwZWNpYWxjaGFycygkbmFtZSkgLiAiLmh0bWwiCgkJCQkJCS4gaHRtbHNwZWNpYWxjaGFycyh0cmltKEAkbm9kZVsnbGluayddKSkgLiAiXCIgdGFyZ2V0PVwiY29udGVudFwiPiR0aXRsZTwvYT4iOwoJCQkJfQoJCQl9CgkJCWVsc2UgJG91dHB1dCAuPSAiPGxpJHN0eWxlPiR0aXRsZSI7CgkJCSRjb3VudCsrOwoKCQkJaWYgKGNvdW50KCRub2RlWydzdWInXSkgJiYgJGRlcHRoKzEgPCAkbGltaXQpIHsKCQkJCSRvdXRwdXQgLj0gIlxuIjsKCQkJCSRvdXRwdXQgLj0gR2VuZXJhdGVUb2NUcmVlKCRub2RlWydzdWInXSwgJGRlcHRoICsgMSwgJGNvdW50LCAiIiwgJGxpbWl0KTsKCQkJCSRvdXRwdXQgLj0gc3RyX3JlcGVhdCgiXHQiLCAkZGVwdGgpOwoJCQl9CgoJCQkkb3V0cHV0IC49ICI8L2xpPlxuIjsKCQl9CgoJCSRvdXRwdXQgLj0gc3RyX3JlcGVhdCgiXHQiLCAkZGVwdGgpIC4gIjwvb2w+XG4iOwoKCQlyZXR1cm4gJG91dHB1dDsKCX0KCglmdW5jdGlvbiBHZW5lcmF0ZVNob3J0VG9jVHJlZSgkYnJhbmNoKSB7CgkJJG91dHB1dCA9ICI8dGFibGUgY2xhc3M9J3Nob3J0dG9jJz48dGJvZHk+PHRyPjx0ZD5cblxuIjsKCgkJJGNvdW50ID0gMDsKCQlmb3JlYWNoICgkYnJhbmNoIGFzICRpbmRleCA9PiAkbm9kZSkgewoJCQlpZiAoJGNvdW50ID4gMTIpIHsKCQkJCSRvdXRwdXQgLj0gIjwvdGQ+PHRkPlxuXG4iOwoJCQkJJGNvdW50ID0gMDsKCQkJfQoKCQkJJHRpdGxlID0gdHJpbSgkbm9kZVsndGl0bGUnXSk7CgkJCWlmIChpc3NldCgkbm9kZVsnbmFtZSddKSkKCQkJCSRuYW1lID0gdHJpbSgkbm9kZVsnbmFtZSddKTsKCQkJZWxzZSAkbmFtZSA9ICIiOwoJCQlpZiAoc3Vic3RyKCR0aXRsZSwgMCwgMSkgPT0gJyonKQoJCQkJJHRpdGxlID0gIjxiPiIgLiBSb21hbk51bWVyYWxzKCRpbmRleCsxKSAuICIuICIKCQkJCQkuIGh0bWxzcGVjaWFsY2hhcnModHJpbShzdWJzdHIoJHRpdGxlLCAxKSkpIC4gIjwvYj4iOwoJCQllbHNlICR0aXRsZSA9IFJvbWFuTnVtZXJhbHMoJGluZGV4KzEpIC4gIi4gIiAuIGh0bWxzcGVjaWFsY2hhcnMoJHRpdGxlKTsKCgkJCSRvdXRwdXQgLj0gIjxkaXYgc3R5bGU9J21hcmdpbi1ib3R0b206MWVtOyc+JHRpdGxlIjsKCQkJJGNvdW50Kys7CgoJCQlpZiAoY291bnQoJG5vZGVbJ3N1YiddKSkgewoJCQkJJG91dHB1dCAuPSAiXG4iOwoJCQkJJG91dHB1dCAuPSBHZW5lcmF0ZVRvY1RyZWUoJG5vZGVbJ3N1YiddLCAxLCAkY291bnQsICIiLCAyLCB0cnVlKTsKCQkJfQoKCQkJJG91dHB1dCAuPSAiPC9kaXY+XG5cbiI7CgkJfQoKCQkkb3V0cHV0IC49ICI8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPlxuIjsKCgkJcmV0dXJuICRvdXRwdXQ7Cgl9CgoJJG91dHB1dCA9IDw8PCBFT0kKPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWw6bGFuZz0iZW4iIGxhbmc9ImVuIj4KCjxoZWFkPgo8dGl0bGU+VGFibGUgb2YgQ29udGVudHMgLSBOQkJDOiBUaGUgTmV3IEJCQ29kZSBQYXJzZXI8L3RpdGxlPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz4KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyB0eXBlPSd0ZXh0L2NzcycgaHJlZj0nc3R5bGVzLmNzcycgLz4KPC9oZWFkPgoKPGJvZHk+Cgo8ZGl2IGNsYXNzPSd0b2MnPgoKCkVPSTsKCgkkY291bnQgPSAwOwoJJG91dHB1dCAuPSBHZW5lcmF0ZVRvY1RyZWUoJEdyb3VwcywgMCwgJGNvdW50LCAiIGNsYXNzPVwidG9jX291dGVybW9zdFwiIik7CgoJJG91dHB1dCAuPSA8PDwgRU9JCgo8L2Rpdj4KCjwvYm9keT4KPC9odG1sPgoKRU9JOwoKCSR0b2NmaWxlID0gZm9wZW4oIi4uL3RvYy5odG1sIiwgInciKTsKCWZ3cml0ZSgkdG9jZmlsZSwgJG91dHB1dCk7CglmY2xvc2UoJHRvY2ZpbGUpOwoKCSRvdXRwdXQgPSBHZW5lcmF0ZVNob3J0VG9jVHJlZSgkR3JvdXBzKTsKCSR0b2NmaWxlID0gZm9wZW4oIi4uL3Nob3J0dG9jLmh0bWwiLCAidyIpOwoJZndyaXRlKCR0b2NmaWxlLCAkb3V0cHV0KTsKCWZjbG9zZSgkdG9jZmlsZSk7CgoJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkvLyAgR2VuZXJhdGUgZWFjaCB0ZW1wbGF0ZWQgZmlsZSwgcmVjdXJzaXZlbHkuCgoJZnVuY3Rpb24gRm9ybWF0UGFnZSgkZ3JvdXBfaW5kZXgsICRncm91cF90aXRsZSwgJHNlY3Rpb25faW5kZXgsICRzZWN0aW9uX3RpdGxlLAoJCSRjb250ZW50LCAkcHJldl91cmwsICRwcmV2X3RpdGxlLCAkbmV4dF91cmwsICRuZXh0X3RpdGxlKSB7CgoJCSRncm91cF9pbmRleCA9IGh0bWxzcGVjaWFsY2hhcnMoJGdyb3VwX2luZGV4KTsKCQkkc2VjdGlvbl9pbmRleCA9IGh0bWxzcGVjaWFsY2hhcnMoJHNlY3Rpb25faW5kZXgpOwoJCSRncm91cF90aXRsZSA9IGh0bWxzcGVjaWFsY2hhcnMoJGdyb3VwX3RpdGxlKTsKCQkkc2VjdGlvbl90aXRsZSA9IGh0bWxzcGVjaWFsY2hhcnMoJHNlY3Rpb25fdGl0bGUpOwoJCSRwcmV2X3RpdGxlID0gaHRtbHNwZWNpYWxjaGFycygkcHJldl90aXRsZSk7CgkJJHByZXZfdXJsID0gaHRtbHNwZWNpYWxjaGFycygkcHJldl91cmwpOwoJCSRuZXh0X3RpdGxlID0gaHRtbHNwZWNpYWxjaGFycygkbmV4dF90aXRsZSk7CgkJJG5leHRfdXJsID0gaHRtbHNwZWNpYWxjaGFycygkbmV4dF91cmwpOwoKCQkkeWVhciA9IGRhdGUoIlkiKTsKCgkJJGNvbnRlbnQgPSBzdHJfcmVwbGFjZSgneyRCQkNPREVfVkVSU0lPTn0nLCBCQkNPREVfVkVSU0lPTiwgJGNvbnRlbnQpOwoKCQlpZiAoJHByZXZfdXJsKQoJCQkkcHJldiA9ICJQcmV2aW91czogPGEgaHJlZj1cIiRwcmV2X3VybFwiPiRwcmV2X3RpdGxlPC9hPiI7CgkJZWxzZSAkcHJldiA9ICIiOwoJCWlmICgkbmV4dF91cmwpCgkJCSRuZXh0ID0gIk5leHQ6IDxhIGhyZWY9XCIkbmV4dF91cmxcIj4kbmV4dF90aXRsZTwvYT4iOwoJCWVsc2UgJG5leHQgPSAiIjsKCQlpZiAoJHByZXZfdXJsICYmICRuZXh0X3VybCkKCQkJJHNlcGFyYXRvciA9ICIgfCAiOwoJCWVsc2UgJHNlcGFyYXRvciA9ICIiOwoKCQkkb3V0cHV0ID0gPDw8IEVPSQo8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBTdHJpY3QvL0VOIgogICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS1zdHJpY3QuZHRkIj4KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIHhtbDpsYW5nPSJlbiIgbGFuZz0iZW4iPgoKPGhlYWQ+Cjx0aXRsZT57JHNlY3Rpb25fdGl0bGV9IC0gTkJCQzogVGhlIE5ldyBCQkNvZGUgUGFyc2VyPC90aXRsZT4KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+CjxsaW5rIHJlbD0nc3R5bGVzaGVldCcgdHlwZT0ndGV4dC9jc3MnIGhyZWY9J3N0eWxlcy5jc3MnIC8+CjwvaGVhZD4KCjxib2R5PgoKPGRpdiBhbGlnbj0nY2VudGVyJz48ZGl2IGNsYXNzPSdwYWdlX2NvbnRhaW5lcjInPjxkaXYgY2xhc3M9J3BhZ2VfY29udGFpbmVyJz4KCjxoMj57JGdyb3VwX2luZGV4fSB7JGdyb3VwX3RpdGxlfTwvaDI+Cgo8cCBzdHlsZT0ndGV4dC1hbGlnbjpyaWdodDttYXJnaW46MDsnPlsgJHByZXYkc2VwYXJhdG9yJG5leHQgXTwvcD4KCjxoMz57JHNlY3Rpb25faW5kZXh9LiB7JHNlY3Rpb25fdGl0bGV9PC9oMz4KCnskY29udGVudH0KCjxwIHN0eWxlPSd0ZXh0LWFsaWduOnJpZ2h0Oyc+WyAkcHJldiRzZXBhcmF0b3IkbmV4dCBdPC9wPgoKPGhyIC8+Cgo8ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPkNvcHlyaWdodCAmY29weTsgeyR5ZWFyfSwgdGhlIFBoYW50b20gSW5rZXIuICBBbGwgcmlnaHRzIHJlc2VydmVkLjwvZGl2PgoKPC9kaXY+PC9kaXY+PC9kaXY+Cgo8L2JvZHk+Cgo8L2h0bWw+CgpFT0k7CgoJCXJldHVybiAkb3V0cHV0OwoJfQoKCWZ1bmN0aW9uIFJvbWFuTnVtZXJhbHMyKCRudW0pIHsKCQlpZiAoJG51bSA9PSA2KSByZXR1cm4gIkFwcGVuZGl4ICI7CgkJcmV0dXJuIFJvbWFuTnVtZXJhbHMoJG51bSkgLiAiLiI7Cgl9CgoJZnVuY3Rpb24gUm9tYW5OdW1lcmFscygkbnVtKSB7CgkJJG4gPSBpbnR2YWwoJG51bSk7CgkJJHJlc3VsdCA9ICcnOwoKCQkkbG9va3VwID0gYXJyYXkoJ00nID0+IDEwMDAsICdDTScgPT4gOTAwLCAnRCcgPT4gNTAwLCAnQ0QnID0+IDQwMCwKCQkJJ0MnID0+IDEwMCwgJ1hDJyA9PiA5MCwgJ0wnID0+IDUwLCAnWEwnID0+IDQwLAoJCQknWCcgPT4gMTAsICdJWCcgPT4gOSwgJ1YnID0+IDUsICdJVicgPT4gNCwgJ0knID0+IDEpOwoKCQlmb3JlYWNoICgkbG9va3VwIGFzICRyb21hbiA9PiAkdmFsdWUpIHsKCQkJJG1hdGNoZXMgPSBpbnR2YWwoJG4gLyAkdmFsdWUpOwoJCQkkcmVzdWx0IC49IHN0cl9yZXBlYXQoJHJvbWFuLCAkbWF0Y2hlcyk7CgkJCSRuID0gJG4gJSAkdmFsdWU7CgkJfQoKCQlyZXR1cm4gJHJlc3VsdDsKCX0KCglmdW5jdGlvbiBHZXRQcmV2U2VjdGlvbigkZ3JvdXBfaW5kZXgsICRzZWN0aW9uX2luZGV4LCAmJHByZXZfZ3JvdXAsICYkcHJldl9zZWN0aW9uKSB7CgkJZ2xvYmFsICRHcm91cHM7CgkJaWYgKC0tJHNlY3Rpb25faW5kZXggPCAwKSB7CgkJCWlmICgtLSRncm91cF9pbmRleCA8IDApCgkJCQlyZXR1cm4gJHByZXZfZ3JvdXAgPSAkcHJldl9zZWN0aW9uID0gZmFsc2U7CgkJCSRzZWN0aW9uX2luZGV4ID0gY291bnQoJEdyb3Vwc1skZ3JvdXBfaW5kZXhdWydzdWInXSkgLSAxOwoJCX0KCQkkcHJldl9ncm91cCA9ICRncm91cF9pbmRleDsKCQkkcHJldl9zZWN0aW9uID0gJHNlY3Rpb25faW5kZXg7CgkJcmV0dXJuIHRydWU7Cgl9CgoJZnVuY3Rpb24gR2V0TmV4dFNlY3Rpb24oJGdyb3VwX2luZGV4LCAkc2VjdGlvbl9pbmRleCwgJiRuZXh0X2dyb3VwLCAmJG5leHRfc2VjdGlvbikgewoJCWdsb2JhbCAkR3JvdXBzOwoJCWlmICgrKyRzZWN0aW9uX2luZGV4ID49IGNvdW50KCRHcm91cHNbJGdyb3VwX2luZGV4XVsnc3ViJ10pKSB7CgkJCWlmICgrKyRncm91cF9pbmRleCA+PSBjb3VudCgkR3JvdXBzKSkKCQkJCXJldHVybiAkbmV4dF9ncm91cCA9ICRuZXh0X3NlY3Rpb24gPSBmYWxzZTsKCQkJJHNlY3Rpb25faW5kZXggPSAwOwoJCX0KCQkkbmV4dF9ncm91cCA9ICRncm91cF9pbmRleDsKCQkkbmV4dF9zZWN0aW9uID0gJHNlY3Rpb25faW5kZXg7CgkJcmV0dXJuIHRydWU7Cgl9CgoJcHJpbnQgIkNyZWF0aW5nIHRoZSB1c2VyIG1hbnVhbC4uLlxuIjsKCglmb3JlYWNoICgkR3JvdXBzIGFzICRncm91cF9pbmRleCA9PiAkZ3JvdXApIHsKCQkkZ3JvdXBfdGl0bGUgPSB0cmltKCRncm91cFsndGl0bGUnXSk7CgkJaWYgKHN1YnN0cigkZ3JvdXBfdGl0bGUsIDAsIDEpID09ICcqJykKCQkJJGdyb3VwX3RpdGxlID0gdHJpbShzdWJzdHIoJGdyb3VwX3RpdGxlLCAxKSk7CgkJZm9yZWFjaCAoJGdyb3VwWydzdWInXSBhcyAkc2VjdGlvbl9pbmRleCA9PiAkc2VjdGlvbikgewoJCQlwcmludCAieyRzZWN0aW9uWyduYW1lJ119LnRwbFxuIjsKCQkJJGNvbnRlbnQgPSB0cmltKGZpbGVfZ2V0X2NvbnRlbnRzKCJ7JHNlY3Rpb25bJ25hbWUnXX0udHBsIikpOwoJCQkkZ3JvdXBfaWQgPSBSb21hbk51bWVyYWxzKCRncm91cF9pbmRleCsxKSAuICIuIjsKCQkJJHNlY3Rpb25faWQgPSBjaHIoJHNlY3Rpb25faW5kZXggKyA2NSk7CgkJCSRzZWN0aW9uX3RpdGxlID0gdHJpbSgkc2VjdGlvblsndGl0bGUnXSk7CgkJCWlmIChzdWJzdHIoJHNlY3Rpb25fdGl0bGUsIDAsIDEpID09ICcqJykKCQkJCSRzZWN0aW9uX3RpdGxlID0gdHJpbShzdWJzdHIoJHNlY3Rpb25fdGl0bGUsIDEpKTsKCgkJCWlmIChHZXRQcmV2U2VjdGlvbigkZ3JvdXBfaW5kZXgsICRzZWN0aW9uX2luZGV4LCAkcHJldl9ncm91cCwgJHByZXZfc2VjdGlvbikpIHsKCQkJCSRwcmV2X2dyb3VwX2lkID0gUm9tYW5OdW1lcmFsczIoJHByZXZfZ3JvdXAgKyAxKTsKCQkJCSRwcmV2X3NlY3Rpb25faWQgPSBjaHIoJHByZXZfc2VjdGlvbiArIDY1KTsKCQkJCSRwcmV2X3VybCA9ICRHcm91cHNbJHByZXZfZ3JvdXBdWydzdWInXVskcHJldl9zZWN0aW9uXVsnbmFtZSddIC4gIi5odG1sIjsKCQkJCSRwcmV2X3RpdGxlID0gdHJpbSgkR3JvdXBzWyRwcmV2X2dyb3VwXVsnc3ViJ11bJHByZXZfc2VjdGlvbl1bJ3RpdGxlJ10pOwoJCQkJaWYgKHN1YnN0cigkcHJldl90aXRsZSwgMCwgMSkgPT0gJyonKQoJCQkJCSRwcmV2X3RpdGxlID0gdHJpbShzdWJzdHIoJHByZXZfdGl0bGUsIDEpKTsKCQkJCWlmICgkcHJldl9ncm91cCA9PSAkZ3JvdXBfaW5kZXgpCgkJCQkJJHByZXZfdGl0bGUgPSAieyRwcmV2X3NlY3Rpb25faWR9LiAkcHJldl90aXRsZSI7CgkJCQllbHNlICRwcmV2X3RpdGxlID0gInskcHJldl9ncm91cF9pZH17JHByZXZfc2VjdGlvbl9pZH0uICRwcmV2X3RpdGxlIjsKCQkJfQoJCQllbHNlICRwcmV2X3VybCA9ICRwcmV2X3RpdGxlID0gIiI7CgkJCWlmIChHZXROZXh0U2VjdGlvbigkZ3JvdXBfaW5kZXgsICRzZWN0aW9uX2luZGV4LCAkbmV4dF9ncm91cCwgJG5leHRfc2VjdGlvbikpIHsKCQkJCSRuZXh0X2dyb3VwX2lkID0gUm9tYW5OdW1lcmFsczIoJG5leHRfZ3JvdXAgKyAxKTsKCQkJCSRuZXh0X3NlY3Rpb25faWQgPSBjaHIoJG5leHRfc2VjdGlvbiArIDY1KTsKCQkJCSRuZXh0X3VybCA9ICRHcm91cHNbJG5leHRfZ3JvdXBdWydzdWInXVskbmV4dF9zZWN0aW9uXVsnbmFtZSddIC4gIi5odG1sIjsKCQkJCSRuZXh0X3RpdGxlID0gdHJpbSgkR3JvdXBzWyRuZXh0X2dyb3VwXVsnc3ViJ11bJG5leHRfc2VjdGlvbl1bJ3RpdGxlJ10pOwoJCQkJaWYgKHN1YnN0cigkbmV4dF90aXRsZSwgMCwgMSkgPT0gJyonKQoJCQkJCSRuZXh0X3RpdGxlID0gdHJpbShzdWJzdHIoJG5leHRfdGl0bGUsIDEpKTsKCQkJCWlmICgkbmV4dF9ncm91cCA9PSAkZ3JvdXBfaW5kZXgpCgkJCQkJJG5leHRfdGl0bGUgPSAieyRuZXh0X3NlY3Rpb25faWR9LiAkbmV4dF90aXRsZSI7CgkJCQllbHNlICRuZXh0X3RpdGxlID0gInskbmV4dF9ncm91cF9pZH17JG5leHRfc2VjdGlvbl9pZH0uICRuZXh0X3RpdGxlIjsKCQkJfQoJCQllbHNlICRuZXh0X3VybCA9ICRuZXh0X3RpdGxlID0gIiI7CgoJCQkkb3V0cHV0ID0gRm9ybWF0UGFnZSgkZ3JvdXBfaWQsICRncm91cF90aXRsZSwgJHNlY3Rpb25faWQsICRzZWN0aW9uX3RpdGxlLCAkY29udGVudCwKCQkJCSRwcmV2X3VybCwgJHByZXZfdGl0bGUsICRuZXh0X3VybCwgJG5leHRfdGl0bGUpOwoJCQkkZmlsZSA9IGZvcGVuKCIuLi97JHNlY3Rpb25bJ25hbWUnXX0uaHRtbCIsICJ3Iik7CgkJCWlmICghJGZpbGUpIHsKCQkJCXByaW50ICJXYXJuaW5nOiBVbmFibGUgdG8gb3BlbiBcIi4uL3skc2VjdGlvblsnbmFtZSddfS5odG1sXCIgZm9yIHdyaXRpbmcuXG4iOwoJCQkJY29udGludWU7CgkJCX0KCQkJZndyaXRlKCRmaWxlLCAkb3V0cHV0KTsKCQkJZmNsb3NlKCRmaWxlKTsKCQl9Cgl9Cgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/docs/doc/src/template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWw6bGFuZz0iZW4iIGxhbmc9ImVuIj4KCjxoZWFkPgo8dGl0bGU+eyRTRUNUSU9OX1RJVExFfSAtIE5CQkM6IFRoZSBOZXcgQkJDb2RlIFBhcnNlcjwvdGl0bGU+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgo8bGluayByZWw9J3N0eWxlc2hlZXQnIHR5cGU9J3RleHQvY3NzJyBocmVmPSdzdHlsZXMuY3NzJyAvPgo8L2hlYWQ+Cgo8Ym9keT4KCjxkaXYgYWxpZ249J2NlbnRlcic+PGRpdiBjbGFzcz0ncGFnZV9jb250YWluZXIyJz48ZGl2IGNsYXNzPSdwYWdlX2NvbnRhaW5lcic+Cgo8aDI+eyRQQVJUX05VTUJFUn0geyRQQVJUX1RJVExFfTwvaDI+Cgo8aDM+eyRQQVJUX05VTUJFUn17JFNFQ1RJT05fTlVNQkVSfSB7JFNFQ1RJT05fVElUTEV9PC9oMz4KCnskTUFJTl9DT05URU5UfQoKPGJyIC8+CjxociAvPgoKPGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz5Db3B5cmlnaHQgJmNvcHk7IHskWUVBUn0sIHRoZSBQaGFudG9tIElua2VyLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC48L2Rpdj4KCjwvZGl2PjwvZGl2PjwvZGl2PgoKPC9ib2R5PgoKPC9odG1sPgo=]]></data>
	</file>
	<file>
	  <filename>/docs/doc/src/toc.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CiogKkludHJvZHVjdGlvbgoqKiBpbnRyb19vdmVyOk92ZXJ2aWV3CioqIGludHJvX3doeTpXaHkgQkJDb2RlPwoqKiBpbnRyb193aHluYmJjOldoeSBOQkJDPwoqKiBpbnRyb19saWNlbnNlOkxpY2Vuc2UKCiogKkluc3RhbGxpbmcgTkJCQwoqKiBpbnN0YWxsX3JlcTpSZXF1aXJlbWVudHMKKiogaW5zdGFsbF91bnBhY2s6SW5zdGFsbGF0aW9uCgoqICpVc2luZyBOQkJDCioqIHVzYWdlX2Jhc2ljOllvdXIgRmlyc3QgTkJCQyBQcm9ncmFtCioqIHVzYWdlX2hvdzpIb3cgYSBUeXBpY2FsIE5CQkMgUHJvZ3JhbSBXb3JrcwoqKiB1c2FnZV9hZGQ6QWRkaW5nIFlvdXIgT3duIFRhZ3MKKiogdXNhZ2Vfc21pbGV5OkFkZGluZyBZb3VyIE93biBTbWlsZXlzCioqIHVzYWdlX2VuaDpBZGRpbmcgRW5oYW5jZWQgVGFncwoqKiogdXNhZ2VfZW5oI3VzYWdlX2VuaHRhZ190aGVvcnk6RW5oYW5jZWQgVGFncywgdGhlIFRoZW9yeQoqKiogdXNhZ2VfZW5oI3VzYWdlX2VuaHRhZ192YWw6SW5wdXQgVmFsaWRhdGlvbgoqKiogdXNhZ2VfZW5oI3VzYWdlX2VuaHRhZ19kZWZhdWx0OkRlZmF1bHQgVmFsdWVzCioqIHVzYWdlX2NhbGw6QWRkaW5nIENhbGxiYWNrIFRhZ3MKKiogdXNhZ2Vfd2lraTpTdXBwb3J0aW5nIFdpa2ktTGlua3MKKioqIHVzYWdlX3dpa2kjdXNhZ2Vfd2lraV93aWtpOkxpbmtpbmcgdG8gYSBXaWtpCioqKiB1c2FnZV93aWtpI3VzYWdlX3dpa2lfb3RoZXI6TGlua2luZyB0byBPdGhlciBUaGluZ3MKKioqIHVzYWdlX3dpa2kjdXNhZ2Vfd2lraV9hZHZhbmNlZDpBZHZhbmNlZCBMaW5raW5nCioqKiB1c2FnZV93aWtpI3VzYWdlX3dpa2lfbXVsdGk6TGlua2luZyB0byBNdWx0aXBsZSBUaGluZ3MKKiogdXNhZ2VfaW1nOlN1cHBvcnRpbmcgTG9jYWwgSW1hZ2VzCioqIHVzYWdlX2h0bWw6UGFyc2luZy9WYWxpZGF0aW5nIEhUTUwgYW5kIE90aGVyIFRyaWNrcwoqKiogdXNhZ2VfaHRtbDpPdmVydmlldwoqKiogdXNhZ2VfaHRtbCN0YWdtYXJrZXJzOlN3aXRjaGluZyBUYWcgTWFya2VycwoqKiogdXNhZ2VfaHRtbCNuZXdsaW5lczpEaXNhYmxpbmcgTmV3bGluZSBCcmVha3MKKioqIHVzYWdlX2h0bWwjZW50aXRpZXM6QWxsb3dpbmcgSFRNTCBFbnRpdGllcwoqKiogdXNhZ2VfaHRtbCN0b2dldGhlcjpQdXR0aW5nIEl0IEFsbCBUb2dldGhlcgoqKiB1c2FnZV9saW1pdDpMaW1pdGVkLUxlbmd0aCBhbmQgUGxhaW4tT3V0cHV0IE1vZGVzCioqKiB1c2FnZV9saW1pdCNsaW1pdDpMaW1pdGluZyBMZW5ndGhzCioqKiB1c2FnZV9saW1pdCNwbGFpbjpQbGFpbiBIVE1MIE91dHB1dAoqKiogdXNhZ2VfbGltaXQjdGV4dDpQbGFpbiBUZXh0IE91dHB1dAoqKiogdXNhZ2VfbGltaXQjcnNzOlB1dHRpbmcgSXQgQWxsIFRvZ2V0aGVyCioqIHVzYWdlX2F1dG86VVJMIEF1dG9kZXRlY3Rpb24KKiogdXNhZ2VfY3NzOlN0eWxlcywgQ29sb3JzLCBhbmQgQ1NTIENvbnNpZGVyYXRpb25zCgoqICpBUEkgUmVmZXJlbmNlCioqIGFwaToqQWxwaGFiZXRpY2FsIEZ1bmN0aW9uIExpc3QKKiogYXBpX2NvcmU6Q29yZSBQYXJzaW5nIEZ1bmN0aW9ucwoqKiBhcGlfYmVodjpMYW5ndWFnZS1CZWhhdmlvciBGdW5jdGlvbnMKKiogYXBpX3RyaW06Q29udGVudC1UcmltbWluZyBGdW5jdGlvbnMKKiogYXBpX3Jvb3Q6Um9vdC1DbGFzcyBGdW5jdGlvbnMKKiogYXBpX3J1bGU6UnVsZSBGdW5jdGlvbnMKKiogYXBpX3dpa2k6V2lraS1MaW5rIEZ1bmN0aW9ucwoqKiBhcGlfc21pbGV5OlNtaWxleSBGdW5jdGlvbnMKKiogYXBpX3JlcGw6UmVwbGFjZWQtSXRlbSBGdW5jdGlvbnMKKiogYXBpX21pc2M6TWlzY2VsbGFuZW91cyBTdXBwb3J0IEZ1bmN0aW9ucwoKKiAqU3RhbmRhcmQgQkJDb2RlIExpYnJhcnkKKiogYmJjOipBbHBoYWJldGljYWwgQkJDb2RlIExpc3QKKiogYmJjX3RleHQ6VGV4dCBTdHlsZXMKKiogYmJjX2xpbms6TGlua3MKKiogYmJjX3JlcGw6UmVwbGFjZWQgSXRlbXMKKiogYmJjX2FsaWduOkFsaWdubWVudAoqKiBiYmNfY29sOkNvbHVtbnMKKiogYmJjX2N0cjpDb250YWluZXJzCioqIGJiY19saXN0Okxpc3RzCgoqICpBcHBlbmRpY2VzCioqIGFwcF9zbWlsZXk6U3RhbmRhcmQgU21pbGV5cwoqKiBhcHBfcnVsZTpSdWxlIFBhcmFtZXRlcnMKKiogYXBwX2NsYXNzOkNvbnRlbnQgQ2xhc3NlcwoqKiBhcHBfZW5oZmxhZ3M6VGVtcGxhdGUgRmxhZ3MKKiogYXBwX2V4YW1wbGU6Q29tbW9uIFJ1bGUgRXhhbXBsZXMKKiogYXBwX2NzczpDU1MgRXhhbXBsZXMKKiogYXBwX2ludGVybmFsczpIb3cgdGhlIFBhcnNlciBXb3JrcwoqKiBhcHBfdGFncGFyYW1zOlRhZyBQYXJhbWV0ZXJzCgo=]]></data>
	</file>
	<file>
	  <filename>/docs/doc/src/usage_add.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CjxwPkxldCdzIHNheSB5b3Ugd2FudCB0byBhZGQgYSBCQkNvZGUgdGFnIHRoYXQgZG9lc24ndCBleGlzdCwgc2F5LCBob3cgYWJvdXQsIGEgPHR0Plttb25vXTwvdHQ+CmZvciBkaXNwbGF5aW5nIHRoaW5ncyBhcyBtb25vc3BhY2UgdGV4dD8gIExldCdzIGxvb2sgYXQgaG93IHlvdSdkIGdvIGFib3V0IGFkZGluZyBhCnNpbXBsZSBhZGRpdGlvbmFsIHRhZy48L3A+Cgo8cD5UbyBhZGQgYSB0YWcsIHdoaWNoIE5CQkMgY2FsbHMgYSAicnVsZSwiIHNpbmNlIGl0J3MgcmVhbGx5IGEgcnVsZSBmb3IgZGVzY3JpYmluZyBob3cKYSBnaXZlbiBjaHVuayBvZiBpbnB1dCBpcyBwcm9jZXNzZWQsIHlvdSBzaW1wbHkgY2FsbCB0aGUgPGEgaHJlZj0iYXBpX3J1bGUuaHRtbCNyZWZfcGFyc2VyX0FkZFJ1bGUiPjx0dD5BZGRSdWxlPC90dD48L2E+Cm1ldGhvZCBvZiB0aGUgPHR0PiRiYmNvZGU8L3R0PiBvYmplY3QgYW5kIHBhc3MgdG8gaXQgYW4gYXJyYXkgZGVzY3JpYmluZyBob3cgdGhlIG5ldwpydWxlIHdpbGwgY29udmVydCBpdHMgaW5wdXQgdG8gSFRNTC4gIEhlcmUncyBhbiBleGFtcGxlIGZvciBvdXIgPHR0Plttb25vXTwvdHQ+IHRhZzo8L3A+Cgo8ZGl2IGNsYXNzPSdjb2RlX2hlYWRlcic+Q29kZTo8L2Rpdj4KPHhtcCBjbGFzcz0nY29kZSc+PD9waHAKICAgIHJlcXVpcmVfb25jZSgibmJiYy5waHAiKTsKCiAgICAkYmJjb2RlID0gbmV3IEJCQ29kZTsKCiAgICAuLi4KCiAgICAkbmV3X3J1bGUgPSBBcnJheSgKICAgICAgICAnc2ltcGxlX3N0YXJ0JyA9PiAnPHR0PicsCiAgICAgICAgJ3NpbXBsZV9lbmQnID0+ICc8L3R0PicsCiAgICAgICAgJ2NsYXNzJyA9PiAnaW5saW5lJywKICAgICAgICAnYWxsb3dfaW4nID0+IEFycmF5KCdsaXN0aXRlbScsICdibG9jaycsICdjb2x1bW5zJywgJ2lubGluZScsICdsaW5rJyksCiAgICApOwogICAgJGJiY29kZS0+QWRkUnVsZSgnbW9ubycsICRuZXdfcnVsZSk7CgogICAgLi4uCgogICAgJGlucHV0ID0gIlRoaXMgdGV4dCBpcyBbbW9ub11tb25vc3BhY2VkIVsvbW9ub10iOwogICAgJG91dHB1dCA9ICRiYmNvZGUtPlBhcnNlKCRpbnB1dCk7CiAgICBwcmludCAkb3V0cHV0Owo/PjwveG1wPgoKPGRpdiBjbGFzcz0nb3V0cHV0X2hlYWRlcic+T3V0cHV0OjwvZGl2Pgo8ZGl2IGNsYXNzPSdvdXRwdXQnPgpUaGlzIHRleHQgaXMgPHR0Pm1vbm9zcGFjZWQhPC90dD4KPC9kaXY+Cgo8cD5FYWNoIG5ldyBydWxlIGlzIGRlc2NyaWJlZCBieSBhbiBhcnJheSBvZiBwYXJhbWV0ZXJzLiAgVGhlcmUgYXJlIGEgbGFyZ2UgbnVtYmVyIG9mCmRpZmZlcmVudCBwYXJhbWV0ZXJzIHlvdSBjYW4gdXNlLCBidXQgZm9yIG5vdywgbGV0J3MgbG9vayBhdCBqdXN0IHRoZSBmb3VyIHBhcmFtZXRlcnMKc2hvd24gaW4gdGhpcyBleGFtcGxlLiAgKFlvdSBjYW4gbGVhcm4gYWJvdXQgdGhlIHJlc3Qgb2YgdGhlIHBhcmFtZXRlcnMgaW4gdGhlIGFwcGVuZGl4Cm9uIDxhIGhyZWY9ImFwcF9ydWxlLmh0bWwiPkJCQ29kZSBydWxlIHBhcmFtZXRlcnM8L2E+Lik8L3A+ICBUaGUgZm91ciBwYXJhbWV0ZXJzCmdpdmVuIGhlcmUgYXJlOjwvcD4KCjx1bD4KPGxpPjx0dD5zaW1wbGVfc3RhcnQ8L3R0PjogIFRoaXMgZGVzY3JpYmVzIHNvbWUgSFRNTCB0byBiZSBhZGRlZCBpbiBwbGFjZSBvZiB0aGUKCXN0YXJ0aW5nIDx0dD5bbW9ub108L3R0PiB0YWcuICBJbiB0aGlzIGNhc2UsIHdlJ3JlIGdvaW5nIHRvIHJlcGxhY2UgaXQgd2l0aAoJdGhlIDx0dD4mbHQ7dHQmZ3Q7PC90dD4gSFRNTCBlbGVtZW50LjxiciAvPjxiciAvPjwvbGk+CjxsaT48dHQ+c2ltcGxlX2VuZDwvdHQ+OiAgVGhpcyBkZXNjcmliZXMgc29tZSBIVE1MIHRvIGJlIGFkZGVkIGluIHBsYWNlIG9mIHRoZQoJZW5kaW5nIDx0dD5bL21vbm9dPC90dD4gdGFnLiAgSW4gdGhpcyBjYXNlLCB3ZSdyZSBnb2luZyB0byByZXBsYWNlIGl0IHdpdGgKCXRoZSA8dHQ+Jmx0Oy90dCZndDs8L3R0PiBIVE1MIGVsZW1lbnQgdGVybWluYXRvci48YnIgLz48YnIgLz48L2xpPgo8bGk+PHR0PmNsYXNzPC90dD46ICBUaGlzIGFzc2lnbnMgdGhpcyBuZXcgcnVsZSBhbmQgaXRzIGNvbnRlbnRzIHRvIGJlIG9mIGEgY2VydGFpbgoJImNsYXNzIiBvZiBkYXRhIHdpdGhpbiB0aGUgZG9jdW1lbnQuICBDbGFzc2VzIGNvbnRyb2wgd2hpY2ggdGFncyBhcmUgYWxsb3dlZCB0bwoJZ28gaW5zaWRlIHdoaWNoIG90aGVyIHRhZ3MsIGFuZCBlbnN1cmUgdGhhdCB0aGUgcmVzdWx0aW5nIEhUTUwgaXMgbGVnYWwgYW5kCgl2YWxpZC4gIFRoZSBzdGFuZGFyZCBjbGFzc2VzIGFyZTogPHR0PmJsb2NrPC90dD4sIDx0dD5pbmxpbmU8L3R0PiwgPHR0Pmxpc3Q8L3R0PiwKCTx0dD5saXN0aXRlbTwvdHQ+LCA8dHQ+bGluazwvdHQ+LCA8dHQ+Y29sdW1uczwvdHQ+LCA8dHQ+bmV4dGNvbDwvdHQ+LCA8dHQ+Y29kZTwvdHQ+LAoJYW5kIDx0dD5pbWFnZTwvdHQ+LiAgKFNlZSB0aGUgYXBwZW5kaXggb24gPGEgaHJlZj0iYXBwX2NsYXNzLmh0bWwiPmNvbnRlbnQKCWNsYXNzZXM8L2E+IGZvciBtb3JlIGRldGFpbHMuKSAgSW4gdGhpcyBjYXNlLCBvdXIgbmV3IHRhZyB3aWxsIGJlIG9mIGNsYXNzCgk8dHQ+aW5saW5lPC90dD47IDx0dD5pbmxpbmU8L3R0PiBpcyB1c2VkIHRvIGRlc2NyaWJlIGEgY2h1bmsgb2YgdGV4dCBpbiBhCglwYXJhZ3JhcGguICBNb3N0IHRhZ3MgdGhhdCBjaGFuZ2UgdGhlIGFwcGVhcmFuY2Ugb2YgdGV4dCwgbGlrZSA8dHQ+W2JdPC90dD4KCWFuZCA8dHQ+W2ldPC90dD4gYW5kIDx0dD5bZm9udF08L3R0PiwgYXJlIG9mIGNsYXNzIDx0dD5pbmxpbmU8L3R0PiBhbHNvLjxiciAvPjxiciAvPjwvbGk+CjxsaT48dHQ+YWxsb3dfaW48L3R0PjogIFRoaXMgaXMgYSBsaXN0IG9mIHdoaWNoIHRhZyBjbGFzc2VzIHRoaXMgbmV3IHRhZyBtYXkKCWJlIHVzZWQgaW5zaWRlLiAgSXQgY2FuIGJlIHNhZmVseSB1c2VkIGluc2lkZSBsaXN0IGl0ZW1zLCBsaWtlIDx0dD5bKl08L3R0PiwKCWluc2lkZSBibG9jayBpdGVtcyBsaWtlIDx0dD5bY2VudGVyXTwvdHQ+LCBhbmQgaW5zaWRlIG90aGVyIGlubGluZSBpdGVtcywKCWxpa2UgPHR0PltiXTwvdHQ+LiAgRm9yIGEgY29tcGxldGUgbGlzdCBvZiB0aGUgdGFnIGNsYXNzZXMgYW5kIGhvdyB0aGV5IHJlbGF0ZQoJdG8gZWFjaCBvdGhlciwgc2VlIHRoZSBhcHBlbmRpeCBvbiA8YSBocmVmPSJhcHBfY2xhc3MuaHRtbCI+Y29udGVudCBjbGFzc2VzPC9hPi48L2xpPgo8L3VsPgoKPHA+QWRkaW5nIHRoZSBuZXcgcnVsZSBpcyB2ZXJ5IHN0cmFpZ2h0Zm9yd2FyZCBvbmNlIHRoZSBydWxlIGlzIGRlZmluZWQ7IHlvdSBqdXN0IGNhbGwKPHR0PkJCQ29kZTo6QWRkUnVsZTwvdHQ+IGFuZCBwYXNzIGl0IHRoZSBuYW1lIG9mIHRoZSBuZXcgcnVsZSBhbmQgdGhlIGFycmF5IGNvbnRhaW5pbmcKaXRzIHBhcmFtZXRlcnMuICBBZHZhbmNlZCB1c2VycyBtYXkgcHJlZmVyIHRvIHdyaXRlIGl0IGxpa2UgdGhpcyBpbnN0ZWFkLCB0aG91Z2gsIGJlY2F1c2UKaXQncyBhY3R1YWxseSBhIGxpdHRsZSBmYXN0ZXIgYW5kIGRvZXNuJ3QgcG9sbHV0ZSB0aGUgbmFtZXNwYWNlIHdpdGggYW4gdW5uZWNlc3NhcnkKPHR0PiRuZXdfcnVsZTwvdHQ+IHZhcmlhYmxlIHRoYXQgeW91J2xsIG5ldmVyIHVzZSBhZ2Fpbjo8L3A+Cgo8ZGl2IGNsYXNzPSdjb2RlX2hlYWRlcic+Q29kZTo8L2Rpdj4KPHhtcCBjbGFzcz0nY29kZSc+ICAgICRiYmNvZGUtPkFkZFJ1bGUoJ21vbm8nLCAgQXJyYXkoCiAgICAgICAgJ3NpbXBsZV9zdGFydCcgPT4gJzx0dD4nLAogICAgICAgICdzaW1wbGVfZW5kJyA9PiAnPC90dD4nLAogICAgICAgICdjbGFzcycgPT4gJ2lubGluZScsCiAgICAgICAgJ2FsbG93X2luJyA9PiBBcnJheSgnbGlzdGl0ZW0nLCAnYmxvY2snLCAnY29sdW1ucycsICdpbmxpbmUnLCAnbGluaycpLAogICAgKSk7PC94bXA+Cg==]]></data>
	</file>
	<file>
	  <filename>/docs/doc/src/usage_auto.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CjxwPkl0IGNhbiBiZSB1c2VmdWwgdG8gaGF2ZSBOQkJDIGRldGVjdCBVUkxzICh3ZWIgYWRkcmVzc2VzKSBhbmQgZS1tYWlsIGFkZHJlc3NlcwphbmQgdHVybiB0aGVtIGludG8gbGlua3MuICBGb3IgZXhhbXBsZSwgY29uc2lkZXIgdGhlIGZvbGxvd2luZyB0ZXh0OjwvcD4KCjxkaXYgY2xhc3M9J2NvZGVfaGVhZGVyJz5Vc2VyIElucHV0OjwvZGl2Pgo8eG1wIGNsYXNzPSdjb2RlJz5HbyB0byB3d3cuZ29vZ2xlLmNvbSBmb3IgYWxsIHlvdXIgc2VhcmNoaW5nIG5lZWRzITwveG1wPgoKPGRpdiBjbGFzcz0nb3V0cHV0X2hlYWRlcic+T3V0cHV0OjwvZGl2Pgo8ZGl2IGNsYXNzPSdvdXRwdXQnPkdvIHRvIHd3dy5nb29nbGUuY29tIGZvciBhbGwgeW91ciBzZWFyY2hpbmcgbmVlZHMhPC9kaXY+Cgo8cD5JdCB3b3VsZCBiZSBuaWNlIGlmIHRoZSAid3d3Lmdvb2dsZS5jb20iIHRoZXJlIHdhcyBjbGlja2FibGUsIGFuZCBOQkJDIGluY2x1ZGVzCmEgZmVhdHVyZSBmb3IgbWFraW5nIGl0IGp1c3QgdGhhdC4gIFdpdGggVVJMIGF1dG9kZXRlY3Rpb24gZW5hYmxlZCwgYW55dGhpbmcgdGhhdApsb29rcyBsaWtlIHBhcnQgb2YgYSB3ZWIgYWRkcmVzcywgYSBVUkwsIG9yIGFuIGUtbWFpbCBhZGRyZXNzIHdpbGwgYmUgdHVybmVkIGludG8KYSBsaW5rLCBsaWtlIHRoaXM6PC9wPgoKPGRpdiBjbGFzcz0nY29kZV9oZWFkZXInPkNvZGU6PC9kaXY+Cjx4bXAgY2xhc3M9J2NvZGUnPiRiYmNvZGUgPSBuZXcgQkJDb2RlOwokYmJjb2RlLT5TZXREZXRlY3RVUkxzKHRydWUpOwokb3V0cHV0ID0gJGJiY29kZS0+UGFyc2UoJGlucHV0KTs8L3htcD4KCjxkaXYgY2xhc3M9J2NvZGVfaGVhZGVyJz5Vc2VyIElucHV0OjwvZGl2Pgo8eG1wIGNsYXNzPSdjb2RlJz5HbyB0byB3d3cuZ29vZ2xlLmNvbSBvciBleGFtcGxlLmNvbTo4MDg2IG9yIGh0dHA6Ly93d3cuZ29vZ2xlLmNvbSBvciBteSBmcmllbmQgTGFycnksCmxhcnJ5QGV4YW1wbGUuY29tLCBmb3IgYWxsIHlvdXIgc2VhcmNoaW5nIG5lZWRzITwveG1wPgoKPGRpdiBjbGFzcz0nb3V0cHV0X2hlYWRlcic+T3V0cHV0OjwvZGl2Pgo8ZGl2IGNsYXNzPSdvdXRwdXQnPkdvIHRvIDxhIGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8iPnd3dy5nb29nbGUuY29tPC9hPiBvciA8YSBocmVmPSJodHRwOi8vZXhhbXBsZS5jb206ODA4Ni8iPmV4YW1wbGUuY29tOjgwODY8L2E+Cm9yIDxhIGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8iPmh0dHA6Ly93d3cuZ29vZ2xlLmNvbTwvYT4gb3IgbXkgZnJpZW5kIExhcnJ5LAo8YSBocmVmPSJtYWlsdG86bGFycnlAZXhhbXBsZS5jb20iPmxhcnJ5QGV4YW1wbGUuY29tPC9hPiwgZm9yIGFsbCB5b3VyIHNlYXJjaGluZyBuZWVkcyE8L2Rpdj4KCjxwPlVSTCBhdXRvZGV0ZWN0aW9uIHBpY2tzIG91dCBkb21haW4gbmFtZXMgKGxpa2UgInd3dy5nb29nbGUuY29tIiksIFVSTHMgdGhhdCB1c2UgdGhlIEhUVFAsIEhUVFBTLCBvcgpGVFAgcHJvdG9jb2xzIChsaWtlICJodHRwOi8vd3d3Lmdvb2dsZS5jb20iKSwgYW5kIGUtbWFpbCBhZGRyZXNzZXMgKGxpa2UgImxhcnJ5QGV4YW1wbGUuY29tIikgYW5kCnR1cm5zIHRoZW0gaW50byBsaW5rcy4gIEl0IHVzZXMgYSB0ZW1wbGF0ZSBzeXN0ZW0ganVzdCBsaWtlIDxhIGhyZWY9InVzYWdlX2VuaC5odG1sIj5CQkNPREVfTU9ERV9FTkhBTkNFRDwvYT4KZG9lcyB0byB0cmFuc2Zvcm0gdGhlbSwgc28geW91IGNhbiBldmVuIG1ha2UgYW55IG9mIHRoZSByZXN1bHRzIGJlbG93IHBvc3NpYmxlOjwvcD4KCjxkaXYgY2xhc3M9J2NvZGVfaGVhZGVyJz5Db2RlOjwvZGl2Pgo8eG1wIGNsYXNzPSdjb2RlJz4kYmJjb2RlID0gbmV3IEJCQ29kZTsKJGJiY29kZS0+U2V0RGV0ZWN0VVJMcyh0cnVlKTsKJGJiY29kZS0+U2V0VVJMUGF0dGVybignPGEgaHJlZj0ieyR1cmwvaH0iPnskdGV4dC9ofTwvYT4nKTsKJG91dHB1dCA9ICRiYmNvZGUtPlBhcnNlKCRpbnB1dCk7PC94bXA+Cgo8ZGl2IGNsYXNzPSdvdXRwdXRfaGVhZGVyJz5PdXRwdXQ6PC9kaXY+CjxkaXYgY2xhc3M9J291dHB1dCc+R28gdG8gPGEgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29tLyI+d3d3Lmdvb2dsZS5jb208L2E+IGZvciBhbGwgeW91ciBzZWFyY2hpbmcgbmVlZHMhPC9kaXY+Cgo8ZGl2IGNsYXNzPSdjb2RlX2hlYWRlcic+Q29kZTo8L2Rpdj4KPHhtcCBjbGFzcz0nY29kZSc+JGJiY29kZSA9IG5ldyBCQkNvZGU7CiRiYmNvZGUtPlNldERldGVjdFVSTHModHJ1ZSk7CiRiYmNvZGUtPlNldFVSTFBhdHRlcm4oJ3skdGV4dC9ofSA8YSBocmVmPSJ7JHVybC9ofSI+W2xpbmtdPC9hPicpOwokb3V0cHV0ID0gJGJiY29kZS0+UGFyc2UoJGlucHV0KTs8L3htcD4KCjxkaXYgY2xhc3M9J291dHB1dF9oZWFkZXInPk91dHB1dDo8L2Rpdj4KPGRpdiBjbGFzcz0nb3V0cHV0Jz5HbyB0byB3d3cuZ29vZ2xlLmNvbSA8YSBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIj5bbGlua108L2E+IGZvciBhbGwgeW91ciBzZWFyY2hpbmcgbmVlZHMhPC9kaXY+Cgo8ZGl2IGNsYXNzPSdjb2RlX2hlYWRlcic+Q29kZTo8L2Rpdj4KPHhtcCBjbGFzcz0nY29kZSc+JGJiY29kZSA9IG5ldyBCQkNvZGU7CiRiYmNvZGUtPlNldERldGVjdFVSTHModHJ1ZSk7CiRiYmNvZGUtPlNldFVSTFBhdHRlcm4oJzxhIGhyZWY9InskdXJsL2h9Ij57JHRleHQvaH0gPGltZyBzcmM9ImV4dGVybmFsLmdpZiIKICAgIHdpZHRoPSIxMSIgaGVpZ2h0PSIxMSIgYWx0PSJFeHRlcm5hbCBMaW5rIiAvPjwvYT4nKTsKJG91dHB1dCA9ICRiYmNvZGUtPlBhcnNlKCRpbnB1dCk7PC94bXA+Cgo8ZGl2IGNsYXNzPSdvdXRwdXRfaGVhZGVyJz5PdXRwdXQ6PC9kaXY+CjxkaXYgY2xhc3M9J291dHB1dCc+R28gdG8gPGEgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29tLyI+d3d3Lmdvb2dsZS5jb20gPGltZyBzcmM9ImV4dGVybmFsLmdpZiIgd2lkdGg9IjExIiBoZWlnaHQ9IjExIiBhbHQ9IkV4dGVybmFsIExpbmsiIGJvcmRlcj0iMCIgLz48L2E+IGZvciBhbGwgeW91ciBzZWFyY2hpbmcgbmVlZHMhPC9kaXY+Cgo8cD5Gb3IgYWRkaXRpb25hbCBkb2N1bWVudGF0aW9uIG9uIHRlbXBsYXRpbmcsIHNlZSB0aGUgPGEgaHJlZj0iYXBpX21pc2MuaHRtbCNyZWZfcGFyc2VyX0ZpbGxUZW1wbGF0ZSI+RmlsbFRlbXBsYXRlKCk8L2E+CmZ1bmN0aW9uLCB3aGljaCBpcyBzaGFyZWQgYnkgYWxsIG9mIHRoZSB0ZW1wbGF0ZSBjb2RlIGluIE5CQkMgYW5kIGNhbiBiZSB1c2VkIGluIHlvdXIgb3duIHByb2dyYW1zIGFzCndlbGw7IGFuZCBhbHNvIHNlZSB0aGUgbGlzdCBvZiA8YSBocmVmPSJhcHBfZW5oZmxhZ3MuaHRtbCI+dGVtcGxhdGUgZmxhZ3M8L2E+LjwvcD4K]]></data>
	</file>
	<file>
	  <filename>/docs/doc/src/usage_basic.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CjxwPk5CQkMgaXMgZGVzaWduZWQgdG8gYmUgdmVyeSBlYXN5IHRvIHVzZSwgZXZlbiBmb3IgdGhlIG1vc3QgbWVhZ2VyIG9mIFBIUCBwcm9ncmFtbWVycy4gIExldCdzCnRyeSBjcmVhdGluZyB5b3VyIGZpcnN0IHByb2dyYW0gdGhhdCBwYXJzZXMgQkJDb2RlLiAgQ3JlYXRlIGEgbmV3IGZpbGUgaW4geW91ciBwcm9qZWN0IGRpcmVjdG9yeSwKbmFtZWQgIjx0dD5oZWxsby5waHA8L3R0PiIsIGFuZCB1c2UgeW91ciBmYXZvcml0ZSB0ZXh0IGVkaXRvciB0byBwdXQgdGhpcyB2ZXJ5IHNpbXBsZSBQSFAKcHJvZ3JhbSBpbiBpdDoKCjxkaXYgY2xhc3M9J2NvZGVfaGVhZGVyJz5Db2RlOjwvZGl2Pgo8eG1wIGNsYXNzPSdjb2RlJz48P3BocAogICAgcmVxdWlyZV9vbmNlKCJuYmJjLnBocCIpOwogICAgJGJiY29kZSA9IG5ldyBCQkNvZGU7CiAgICBwcmludCAkYmJjb2RlLT5QYXJzZSgiW2ldSGVsbG8sIFdvcmxkIVsvaV0gIFRoaXMgaXMgdGhlIG1hZ2ljIG9mIFtiXUJCQ29kZVsvYl0hIik7Cj8+PC94bXA+Cgo8ZGl2IGNsYXNzPSdvdXRwdXRfaGVhZGVyJz5PdXRwdXQ6PC9kaXY+CjxkaXYgY2xhc3M9J291dHB1dCc+CjxpPkhlbGxvLCBXb3JsZCE8L2k+ICBUaGlzIGlzIHRoZSBtYWdpYyBvZiA8Yj5CQkNvZGU8L2I+IQo8L2Rpdj4KCjxwPkxldCdzIGxvb2sgYXQgd2hhdCB0aGlzIGRvZXMuICBGaXJzdCwgdGhlIDx0dD5yZXF1aXJlX29uY2U8L3R0PiBkaXJlY3RpdmUgYWRkcyBOQkJDIHRvIHlvdXIKcHJvZ3JhbS4gIE5leHQsIDx0dD5uZXcgQkJDb2RlPC90dD4gY3JlYXRlcyBhIG5ldyBCQkNvZGUgcGFyc2VyIG9iamVjdCBhbmQgc2V0cyBpdCB1cCB0byBiZQpyZWFkeSBmb3IgcGVyZm9ybWluZyBwYXJzaW5nLiAgVGhlIG5ldyA8YSBocmVmPSJhcGkuaHRtbCI+PHR0PkJCQ29kZTwvdHQ+PC9hPiBvYmplY3QgaXMgdGhlbiBzdG9yZWQgaW4gdGhlIHZhcmlhYmxlCjx0dD4kYmJjb2RlPC90dD4uICBGaW5hbGx5LCB0aGUgYmlnIG9uZS4uLiAgd2UgYXNrIHRoZSA8dHQ+QkJDb2RlPC90dD4gb2JqZWN0IHRvIGNvbnZlcnQKc29tZSBCQkNvZGUgdGV4dCB0byBIVE1MLCBhbmQgd2UgcHJpbnQgdGhlIHJlc3VsdC48L3A+Cg==]]></data>
	</file>
	<file>
	  <filename>/docs/doc/src/usage_call.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CjxwPlRoZXJlIGFyZSBjaXJjdW1zdGFuY2VzIHdoZXJlIGVuaGFuY2VkIHRhZ3Mgd2lsbCBub3QgYmUgY2FwYWJsZSBlbm91Z2ggdG8gaGFuZGxlCnlvdXIgbmVlZHMsIGFuZCBmb3IgdGhvc2UsIE5CQkMgc3VwcG9ydHMgPGk+Y2FsbGJhY2sgdGFnczwvaT4gLS0tIHRhZ3MgdGhhdCBjYWxsIGEKZnVuY3Rpb24geW91IHByb3ZpZGUgdG8gcGVyZm9ybSB0aGVpciB2YWxpZGF0aW9uIGFuZCBmb3JtYXR0aW5nLjwvcD4KCjxwPlNvIGxldCdzIGxvb2sgYXQgaG93IHRvIGFkZCBhIHNpbXBsZSBjYWxsYmFjayB0YWc6ICBFdmVuIHRob3VnaCB3ZSBjYW4gZG8gPHR0Pltib3JkZXJdPC90dD4KYXMgYW4gZW5oYW5jZWQgdGFnLCBsZXQncyBsb29rIG5vdyBhdCBob3cgdG8gaW1wbGVtZW50IGl0IGFzIGEgY2FsbGJhY2sgdGFnIGluc3RlYWQuPC9wPgoKPHA+Rmlyc3QsIHlvdSdsbCBuZWVkIHRvIGFsdGVyIHRoZSBydWxlIGRlZmluaXRpb24uICBTdGFydCB3aXRoIHRoZSBzYW1lIGJhc2ljIGRlZmluaXRpb24Kd2UndmUgdXNlZCBiZWZvcmUsIGJ1dCB1c2UgPHR0PkJCQ09ERV9NT0RFX0NBTExCQUNLPC90dD4gYW5kIGFkZCBhICdtZXRob2QnIHBhcmFtZXRlcjo8L3A+Cgo8ZGl2IGNsYXNzPSdjb2RlX2hlYWRlcic+Q29kZTo8L2Rpdj4KPHhtcCBjbGFzcz0nY29kZSc+ICAgICRiYmNvZGUtPkFkZFJ1bGUoJ2JvcmRlcicsICBBcnJheSgKICAgICAgICAnbW9kZScgPT4gQkJDT0RFX01PREVfQ0FMTEJBQ0ssCiAgICAgICAgJ21ldGhvZCcgPT4gJ015Qm9yZGVyRnVuY3Rpb24nLAogICAgICAgICdjbGFzcycgPT4gJ2Jsb2NrJywKICAgICAgICAnYWxsb3dfaW4nID0+IEFycmF5KCdsaXN0aXRlbScsICdibG9jaycsICdjb2x1bW5zJyksCiAgICApKTs8L3htcD4KCjxwPlNvbWV3aGVyZSBlbHNlIGluIHlvdXIgY29kZSwgeW91J2xsIG5lZWQgdG8gcHJvdmlkZSB0aGUgY2FsbGJhY2sgZnVuY3Rpb24gaXRzZWxmLAp3aGljaCwgaW4gdGhpcyBjYXNlLCBpcyBuYW1lZCAiPHR0Pk15Qm9yZGVyRnVuY3Rpb248L3R0PiI6PC9wPgoKPGRpdiBjbGFzcz0nY29kZV9oZWFkZXInPkNvZGU6PC9kaXY+Cjx4bXAgY2xhc3M9J2NvZGUnPmZ1bmN0aW9uIE15Qm9yZGVyRnVuY3Rpb24oJGJiY29kZSwgJGFjdGlvbiwgJG5hbWUsCiAgICAkZGVmYXVsdCwgJHBhcmFtcywgJGNvbnRlbnQpIHsKICAgIC4uLi4KfTwveG1wPgoKCTxkaXYgY2xhc3M9J3RpcGJveCc+Cgk8ZGl2IGNsYXNzPSd0aXBib3hfaGVhZGVyJz4KCQk8ZGl2IGNsYXNzPSd0aXBib3hfc3Rhcic+KjwvZGl2PjxkaXY+PGI+VGVjaCBUaXA8L2I+PC9kaXY+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9J3RpcGJveF9jb250ZW50Jz48ZGl2IGNsYXNzPSd0aXBib3hfY29udGVudDInPgoJCTxwPk5CQkMgdXNlcyBQSFAncyA8dHQ+Y2FsbF91c2VyX2Z1bmMoKTwvdHQ+IGZ1bmN0aW9uIHRvIGNhbGwgeW91ciBmdW5jdGlvbiwgc28gaXQKCQlkb2Vzbid0IG5lZWQgdG8gYmUganVzdCBhIGZ1bmN0aW9uIG5hbWU6ICBJZiB5b3Ugd2FudCBOQkJDIHRvIGNhbGwgYSBtZXRob2Qgb2YgYW4KCQlvYmplY3Qgb2YgYSBwYXJ0aWN1bGFyIGNsYXNzLCB5b3UgY2FuIHN1cHBseSBhbiBhcnJheSBpbnN0ZWFkIG9mIGEgc3RyaW5nLCBsaWtlCgkJdGhpcyAod2hlcmUgPHR0PiRvYmo8L3R0PiBjb250YWlucyBhbiBvYmplY3Qgd2l0aCBhIG1lbWJlciBmdW5jdGlvbiBuYW1lZCAiPHR0Pk15TWV0aG9kPC90dD4iKTo8L3A+CgkJCgkJPHA+PHR0PidtZXRob2QnID0mZ3Q7IEFycmF5KCRvYmosICdNeU1ldGhvZCcpLDwvdHQ+PC9wPgoJPC9kaXY+PC9kaXY+Cgk8L2Rpdj4KCjxwPkxldCdzIGxvb2sgYXQgaG93IHRoZSBjYWxsYmFjayBmdW5jdGlvbiB3b3Jrcy4gIEZpcnN0LCB0aGVzZSBhcmUgaXRzIHBhcmFtZXRlcnM6PC9wPgoKPHVsPgo8bGk+PGI+PHR0PiRiYmNvZGU8L3R0PjwvYj4gLSBUaGUgPHR0PkJCQ29kZTwvdHQ+IG9iamVjdCB0aGF0IGlzIGN1cnJlbnRseSBkb2luZyB0aGUgcGFyc2luZy48L2xpPgo8bGk+PGI+PHR0PiRhY3Rpb248L3R0PjwvYj4gLSBBbHdheXMgb25lIG9mIDx0dD5CQkNPREVfQ0hFQ0s8L3R0PiBvciA8dHQ+QkJDT0RFX09VVFBVVDwvdHQ+LAoJcHJvdmlkZWQgdG8gaW5kaWNhdGUgd2h5IHRoaXMgZnVuY3Rpb24gd2FzIGNhbGxlZCBhbmQgd2hhdCBpdCBzaG91bGQgcmV0dXJuLjwvbGk+CjxsaT48Yj48dHQ+JG5hbWU8L3R0PjwvYj4gLSBUaGUgdGFnIG5hbWU6ICBJbiB0aGUgPHR0Pltib3JkZXJdPC90dD4gZXhhbXBsZSwgdGhpcyB3b3VsZCBjb250YWluIHRoZSBzdHJpbmcgIjx0dD5ib3JkZXI8L3R0PiIuPC9saT4KPGxpPjxiPjx0dD4kZGVmYXVsdDwvdHQ+PC9iPiAtIFRoZSBkZWZhdWx0IHZhbHVlIG9mIHRoZSB0YWcuICBJZiB0aGUgdXNlciB3ZXJlIHRvIHR5cGUgPHR0Pltib3JkZXI9MSBjb2xvcj1yZWRdPC90dD4sCgl0aGUgZGVmYXVsdCB2YWx1ZSB3b3VsZCBiZSAiPHR0PjE8L3R0PiIuPC9saT4KPGxpPjxiPjx0dD4kcGFyYW1zPC90dD48L2I+IC0gVGhlIHBhcmFtZXRlcnMgb2YgdGhlIHRhZywgc29tZSBnaXZlbiBieSB0aGUgdXNlciwKCXNvbWUgZ2VuZXJhdGVkIGJ5IE5CQkMsIHN0b3JlZCBpbiBhbiBhcnJheSBvZiBrZXkgPSZndDsgdmFsdWUgcGFpcnMuCglJbiB0aGUgZXhhbXBsZSBvZiA8dHQ+W2JvcmRlcj0xIGNvbG9yPXJlZF1IZWxsb1svYm9yZGVyXTwvdHQ+LCB0aGlzIGFycmF5IG1pZ2h0IGNvbnRhaW46Cgk8dWw+Cgk8bGk+Jzx0dD5fbmFtZTwvdHQ+JyA9Jmd0OyAnPHR0PmJvcmRlcjwvdHQ+JzwvbGk+Cgk8bGk+Jzx0dD5fZGVmYXVsdDwvdHQ+JyA9Jmd0OyAnPHR0PjE8L3R0Pic8L2xpPgoJPGxpPic8dHQ+Y29sb3I8L3R0PicgPSZndDsgJzx0dD5yZWQ8L3R0Pic8L2xpPgoJPC91bD4KCUEgZnVsbCBsaXN0IG9mIHRoZSB2YWx1ZXMgTkJCQyBhZGRzIHRvIHRoZSB0YWcgcGFyYW1ldGVycyBpcyBpbmNsdWRlZAoJPGEgaHJlZj0iYXBwX3RhZ3BhcmFtcy5odG1sIj5pbiB0aGUgQXBwZW5kaXg8L2E+LgoJPC9saT4KPGxpPjxiPjx0dD4kY29udGVudDwvdHQ+PC9iPiAtIE9ubHkgdmFsaWQgd2hlbiA8dHQ+JGFjdGlvbjwvdHQ+IGlzIDx0dD5CQkNPREVfT1VUUFVUPC90dD4sCgl0aGlzIGlzIHRoZSBjb250ZW50IChib2R5KSBvZiB0aGUgdGFnLCBhbHJlYWR5IGNvbnZlcnRlZCB0byB2YWxpZCBIVE1MLiAgSW4gdGhlIGV4YW1wbGUgb2YKCTx0dD5bYm9yZGVyPTEgY29sb3I9cmVkXUhlbGxvWy9ib3JkZXJdPC90dD4sIDx0dD4kY29udGVudDwvdHQ+IHdvdWxkIGNvbnRhaW4gdGhlIHN0cmluZyAiPHR0PkhlbGxvPC90dD4iLjwvbGk+CjwvdWw+Cgo8cD5UaGUgY2FsbGJhY2sgZnVuY3Rpb24gaXMgY2FsbGVkIGluIHR3byBzdGFnZXMuICBGaXJzdCwgYWZ0ZXIgdGhlIHN0YXJ0IHRhZyBoYXMgYmVlbiByZWFkIGJ5IHRoZQpwYXJzZXIsIHRoZSBjYWxsYmFjayBmdW5jdGlvbiBpcyBjYWxsZWQgaW1tZWRpYXRlbHkgd2l0aCA8dHQ+JGFjdGlvbjwvdHQ+IHNldCB0byA8dHQ+QkJDT0RFX0NIRUNLPC90dD4uClRoaXMgZ2l2ZXMgdGhlIHRhZyB0aGUgb3Bwb3J0dW5pdHkgdG8gZGVjaWRlIHdoZXRoZXIgdGhlIHBhcmFtZXRlcnMgdGhlIHVzZXIgcHJvdmlkZXMgbWFrZSBhbnkgc2Vuc2U7CmFuZCB0aGlzIGlzIHdoZW4gd2Ugd291bGQgcmVqZWN0IGJhZCBzaXplcyBhbmQgY29sb3JzIGluIG91ciA8dHQ+W2JvcmRlcl08L3R0PiBleGFtcGxlOjwvcD4KCjxkaXYgY2xhc3M9J2NvZGVfaGVhZGVyJz5Db2RlOjwvZGl2Pgo8eG1wIGNsYXNzPSdjb2RlJz5mdW5jdGlvbiBNeUJvcmRlckZ1bmN0aW9uKCRiYmNvZGUsICRhY3Rpb24sICRuYW1lLAogICAgJGRlZmF1bHQsICRwYXJhbXMsICRjb250ZW50KSB7CiAgICBpZiAoJGFjdGlvbiA9PSBCQkNPREVfQ0hFQ0spIHsKICAgICAgICBpZiAoaXNzZXQoJHBhcmFtc1snY29sb3InXSkKICAgICAgICAgICAgJiYgIXByZWdfbWF0Y2goJy9eI1swLTlhLWZBLUZdK3xbYS16QS1aXSskLycsICRwYXJhbXNbJ2NvbG9yJ10pKQogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgaWYgKGlzc2V0KCRwYXJhbXNbJ3NpemUnXSkKICAgICAgICAgICAgJiYgIXByZWdfbWF0Y2goJy9eWzEtOV1bMC05XSokLycsICRwYXJhbXNbJ3NpemUnXSkpCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgIH0KfTwveG1wPgoKPHA+QSBjYWxsIHdpdGggPHR0PiRhY3Rpb24gPT0gQkJDT0RFX0NIRUNLPC90dD4gbXVzdCByZXR1cm4gZWl0aGVyIDx0dD50cnVlPC90dD4gb3IgPHR0PmZhbHNlPC90dD46CklmIGl0IHJldHVybnMgPHR0PnRydWU8L3R0PiwgTkJCQyB3aWxsIGFzc3VtZSB0aGUgdGFnIGlzIGFjY2VwdGFibGU7IGlmIGl0IHJldHVybnMgPHR0PmZhbHNlPC90dD4sCk5CQkMgd2lsbCBhc3N1bWUgdGhhdCB0aGUgdGFnIGlzIHVuYWNjZXB0YWJsZSBhbmQgd2lsbCBub3QgdHJlYXQgaXQgYXMgYSB0YWcgb3IgZXZhbHVhdGUgaXQgZnVydGhlci48L3A+Cgo8cD5UaGUgc2Vjb25kIHRpbWUgdGhlIGZ1bmN0aW9uIGlzIGNhbGxlZCBpcyB3aXRoIDx0dD4kYWN0aW9uPC90dD4gc2V0IHRvIDx0dD5CQkNPREVfT1VUUFVUPC90dD4uCklmIDx0dD4kYWN0aW9uPC90dD4gaXMgPHR0PkJCQ09ERV9PVVRQVVQ8L3R0PiwgTkJCQyBpcyBhc2tpbmcgdGhlCmZ1bmN0aW9uIHRvIGdlbmVyYXRlIEhUTUwgZnJvbSBpdHMgaW5wdXRzLiAgVGhlIHJldHVybiB2YWx1ZSBtdXN0CmJlIGEgc3RyaW5nLCBhbmQgbXVzdCBjb250YWluIEhUTUwgb3IgcGxhaW4gdGV4dDogIE5vIEJCQ29kZSB0YWdzLiAgQSB0eXBpY2FsIGltcGxlbWVudGF0aW9uIGZvcgpvdXIgPHR0Pltib3JkZXJdPC90dD4gZXhhbXBsZSBtaWdodCBsb29rIGxpa2UgdGhpczo8L3A+Cgo8ZGl2IGNsYXNzPSdjb2RlX2hlYWRlcic+Q29kZTo8L2Rpdj4KPHhtcCBjbGFzcz0nY29kZSc+ZnVuY3Rpb24gTXlCb3JkZXJGdW5jdGlvbigkYmJjb2RlLCAkYWN0aW9uLCAkbmFtZSwKICAgICRkZWZhdWx0LCAkcGFyYW1zLCAkY29udGVudCkgewogICAgaWYgKCRhY3Rpb24gPT0gQkJDT0RFX0NIRUNLKSB7CiAgICAgICAgaWYgKGlzc2V0KCRwYXJhbXNbJ2NvbG9yJ10pCiAgICAgICAgICAgICYmICFwcmVnX21hdGNoKCcvXiNbMC05YS1mQS1GXSt8W2EtekEtWl0rJC8nLCAkcGFyYW1zWydjb2xvciddKSkKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIGlmIChpc3NldCgkcGFyYW1zWydzaXplJ10pCiAgICAgICAgICAgICYmICFwcmVnX21hdGNoKCcvXlsxLTldWzAtOV0qJC8nLCAkcGFyYW1zWydzaXplJ10pKQogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICB9CgogICAgJGNvbG9yID0gaXNzZXQoJHBhcmFtc1snY29sb3InXSkgPyAkcGFyYW1zWydjb2xvciddIDogImJsdWUiOwogICAgJHNpemUgPSBpc3NldCgkcGFyYW1zWydzaXplJ10pID8gJHBhcmFtc1snc2l6ZSddIDogMTsKICAgIHJldHVybiAiPGRpdiBzdHlsZT1cImJvcmRlcjogeyRzaXplfXB4IHNvbGlkICRjb2xvclwiPiRjb250ZW50PC9kaXY+IjsKfTwveG1wPgoKCTxkaXYgY2xhc3M9J3RpcGJveCc+Cgk8ZGl2IGNsYXNzPSd0aXBib3hfaGVhZGVyJz4KCQk8ZGl2IGNsYXNzPSd0aXBib3hfc3Rhcic+KjwvZGl2PjxkaXY+PGI+VGVjaCBUaXA8L2I+PC9kaXY+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9J3RpcGJveF9jb250ZW50Jz48ZGl2IGNsYXNzPSd0aXBib3hfY29udGVudDInPgoJCTxwPldoZW4geW91IGltcGxlbWVudCBhIGNhbGxiYWNrIGZ1bmN0aW9uLCB0YWtlIHNwZWNpYWwgY2FyZSB0byBub3RlIHdoaWNoIHBhcmFtZXRlcnMgYXJlCgkJdmFsaWRhdGVkIGFuZCB3aGljaCBwYXJhbWV0ZXJzIGFyZSBub3Q6PC9wPgoJCQoJCTx1bD4KCQk8bGk+PGI+PHR0PiRkZWZhdWx0PC90dD48L2I+IGNvbnRhaW5zIGV4YWN0bHkgd2hhdCB0aGUgdXNlciB0eXBlZCwgYW5kIGhhcyBub3QgYmVlbiBwYXNzZWQgdGhyb3VnaAoJCQk8dHQ+aHRtbHNwZWNpYWxjaGFycygpPC90dD4gb3IgPHR0Pmh0bWxlbnRpdGllcygpPC90dD4gb3IgYW55IG90aGVyIGNsZWFudXAgZnVuY3Rpb24uCgkJCUlmIHlvdSBvdXRwdXQgdGhpcyB2YWx1ZSwgeW91IHNob3VsZCBjbGVhbiBpdCB1cCBiZWZvcmUgb3V0cHV0dGluZyBpdC48L2xpPgoJCTxsaT48Yj48dHQ+JHBhcmFtczwvdHQ+PC9iPiBhbGwgY29udGFpbiBleGFjdGx5IHdoYXQgdGhlIHVzZXIgdHlwZWQsIGFuZCBub25lIG9mIHRoZW0gaGF2ZSBiZWVuIHBhc3NlZCB0aHJvdWdoCgkJCTx0dD5odG1sc3BlY2lhbGNoYXJzKCk8L3R0PiBvciA8dHQ+aHRtbGVudGl0aWVzKCk8L3R0PiBvciBhbnkgb3RoZXIgY2xlYW51cCBmdW5jdGlvbi4KCQkJSWYgeW91IG91dHB1dCB0aGlzIHZhbHVlLCB5b3Ugc2hvdWxkIGNsZWFuIGl0IHVwIGJlZm9yZSBvdXRwdXR0aW5nIGl0LjwvbGk+CgkJPGxpPjxiPjx0dD4kY29udGVudDwvdHQ+PC9iPiBpcyBhbHdheXMgcHVyZSwgY2xlYW4gb3V0cHV0IEhUTUwsIG9yIHB1cmUsIGNsZWFuIG91dHB1dCBwbGFpbnRleHQsIGRlcGVuZGluZyBvbgoJCQl3aGV0aGVyIGl0J3Mgb3V0cHV0dGluZyBpbiBIVE1MIG9yIHBsYWludGV4dCBtb2RlLjwvbGk+CgkJPGxpPjxiPllvdXIgY2FsbGJhY2sgZnVuY3Rpb24ncyByZXR1cm4gdmFsdWU8L2I+IG11c3QgYWx3YXlzIGJlIHB1cmUsIGNsZWFuIG91dHB1dCBIVE1MLCBvciBwdXJlLCBjbGVhbiBvdXRwdXQKCQkJcGxhaW50ZXh0LCBkZXBlbmRpbmcgb24gd2hldGhlciBpdCdzIG91dHB1dHRpbmcgaW4gSFRNTCBvciBwbGFpbnRleHQgbW9kZS48L2xpPgoJCTxsaT5Ob25lIG9mIHRoZSBpbnB1dCBwYXJhbWV0ZXJzIHRvIHRoaXMgZnVuY3Rpb24gd2lsbCBjb250YWluIGFueSBCQkNvZGUgdGFncy48L2xpPgoJCTwvdWw+Cgk8L2Rpdj48L2Rpdj4KCTwvZGl2Pgo=]]></data>
	</file>
	<file>
	  <filename>/docs/doc/src/usage_css.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CjxwPk5CQkMgaXMgcmVzcG9uc2libGUgZm9yIHR1cm5pbmcgQkJDb2RlIGlucHV0IGludG8gc2FmZSBYSFRNTCBvdXRwdXQsIGJ1dCBvbmUgdGhpbmcgdGhhdAppdCBkb2VzIDxpPm5vdDwvaT4gZG8gaXMgYW55IHN0eWxpbmcgb2YgdGhlIG91dHB1dC4gIEZvciBleGFtcGxlLCBpZiB5b3UgaW5zdGFsbCBOQkJDIGFuZApzdGFydCB1c2luZyBpdCB3aXRob3V0IGFueSBDU1Mgc3R5bGVzLCB5b3UnbGwgc2VlIHRoaXM6PC9wPgoKCTxkaXYgc3R5bGU9J21hcmdpbi1sZWZ0OjJlbTsnPgoJPGRpdiBjbGFzcz0nY29kZV9oZWFkZXInPkNvZGU6PC9kaXY+Cgk8eG1wIGNsYXNzPSdjb2RlJz5bcXVvdGU9U29tZWJvZHldQSByb2xsaW5nIHN0b25lIGdhdGhlcnMgbm8gbW9zcy5bL3F1b3RlXTwveG1wPgoJPGRpdiBjbGFzcz0nb3V0cHV0X2hlYWRlcic+T3V0cHV0OjwvZGl2PgoJPGRpdiBjbGFzcz0nb3V0cHV0Jz4KCTxkaXY+Cgk8ZGl2PlNvbWVib2R5IHdyb3RlOjwvZGl2PgoJPGRpdj5BIHJvbGxpbmcgc3RvbmUgZ2F0aGVycyBubyBtb3NzLjwvZGl2PgoJPC9kaXY+Cgk8L2Rpdj4KCTwvZGl2PgoKPHA+aW5zdGVhZCBvZiBzZWVpbmcgdGhpczo8L3A+CgoJPGRpdiBzdHlsZT0nbWFyZ2luLWxlZnQ6MmVtOyc+Cgk8ZGl2IGNsYXNzPSdvdXRwdXRfaGVhZGVyJz5PdXRwdXQ6PC9kaXY+Cgk8ZGl2IGNsYXNzPSdvdXRwdXQnPgoJPGRpdiBjbGFzcz0iYmJjb2RlX3F1b3RlIj4KCTxkaXYgY2xhc3M9ImJiY29kZV9xdW90ZV9oZWFkIj5Tb21lYm9keSB3cm90ZTo8L2Rpdj4KCTxkaXYgY2xhc3M9ImJiY29kZV9xdW90ZV9ib2R5Ij5BIHJvbGxpbmcgc3RvbmUgZ2F0aGVycyBubyBtb3NzLjwvZGl2PgoJPC9kaXY+Cgk8L2Rpdj4KCTwvZGl2PgoKPHA+Q2xlYXJseSwgdGhlIGxhdHRlciBhcHBlYXJhbmNlIGlzIHByZWZlcmFibGU6ICBJdCBoYXMgYSBuaWNlIGJsdWUgYm94IHdpdGggYSB0aXRsZSBhcmVhLAphbmQgZm9ybWF0cyBpdHMgY29udGVudCBhdHRyYWN0aXZlbHkuICBTbyB3aHkgZG9lc24ndCBOQkJDIGRvIHRoaXMgYnkgZGVmYXVsdD8gIEJlY2F1c2UgdGhhdCdzCnByb2JhYmx5IG5vdCB3aGF0IHlvdSB3YW50LjwvcD4KCjxwPk5CQkMgY2FuIGJlIHVzZWQgb24gYSB3aWRlIHZhcmlldHkgb2Ygd2ViIHNpdGVzLCBhbmQgaXQgaGFzIG5vIHdheSBvZiBrbm93aW5nIHdoYXQga2luZHMKb2YgY29sb3Igc2NoZW1lcyBhbmQgZm9udHMgYW5kIGFydHdvcmsgeW91J3JlIHVzaW5nIGZvciB0aGUgYmFzaWMgdGhlbWUgb2YgeW91ciBzaXRlLgpZb3UgY291bGQgaGF2ZSBhIHdoaXRlIGJhY2tncm91bmQgd2l0aCBibGFjayB0ZXh0LCBhIGJsYWNrIGJhY2tncm91bmQgd2l0aCB3aGl0ZSB0ZXh0LAphIHJlZCBiYWNrZ3JvdW5kIHdpdGggeWVsbG93IHRleHQsIG9yIGV2ZW4gYW4gdWdseSBwdXJwbGUgaW1hZ2UgYmFja2dyb3VuZCB3aXRoIGhpZGVvdXMKZ3JlZW4gdGV4dDsgYW5kIGluIGFsbCBvZiB0aG9zZSwgTkJCQyBuZWVkcyB0byBiZSBhYmxlIHRvIGNvbmZvcm0gdG8geW91ciBuZWVkcywgbm90IHRoZQpvdGhlciB3YXkgYXJvdW5kLiAgU28gaW5zdGVhZCBvZiBwcm9kdWNpbmcgcXVvdGVzIHRoYXQgYXJlIGFsd2F5cyBibGFjay1vbi13aGl0ZSB3aXRoCmEgc3BlY2lmaWMgYm9yZGVyLCBvciBydWxlcyB0aGF0IGFyZSBhbHdheXMgaW5kZW50ZWQsIE5CQkMncyBTdGFuZGFyZCBCQkNvZGUgTGlicmFyeQpvdXRwdXRzIGZhaXJseSBnZW5lcmljIFhIVE1MIHdpdGggdmVyeSBzcGVjaWZpYyBDU1MgY2xhc3NlcyBhdHRhY2hlZCB0byBpdCBzbyB0aGF0CnlvdSBjYW4gdXNlIHlvdXIgb3duIENTUyBydWxlcyB0byBzdHlsZSB0aGUgb3V0cHV0IGV4YWN0bHkgYXMgeW91IHdhbnQuPC9wPgoKPHA+VGhlc2UgYXJlIHRoZSBDU1MgY2xhc3NlcyBvdXRwdXQgYnkgTkJCQywgZ3JvdXBlZCBtb3JlLW9yLWxlc3MgYnkgdHlwZTo8L3A+Cgo8dWw+CjxsaT48dHQ+PGI+YmJjb2RlX3Nwb2lsZXI8L2I+PC90dD46IDx0dD4mbHQ7c3BhbiZndDs8L3R0PiB0aGF0IGNvbnRhaW5zIGEgc3BvaWxlci48L2xpPgo8bGk+PHR0PjxiPmJiY29kZV9hY3JvbnltPC9iPjwvdHQ+OiA8dHQ+Jmx0O3NwYW4mZ3Q7PC90dD4gdGhhdCBjb250YWlucyBhbiBhY3JvbnltLjxiciAvPjxiciAvPjwvbGk+CjxsaT48dHQ+PGI+YmJjb2RlX2xlZnQ8L2I+PC90dD46IDx0dD4mbHQ7ZGl2Jmd0OzwvdHQ+IHRoYXQgYWxpZ25zIGNvbnRlbnQgdG8gdGhlIGxlZnQuPC9saT4KPGxpPjx0dD48Yj5iYmNvZGVfcmlnaHQ8L2I+PC90dD46IDx0dD4mbHQ7ZGl2Jmd0OzwvdHQ+IHRoYXQgYWxpZ25zIGNvbnRlbnQgdG8gdGhlIHJpZ2h0LjwvbGk+CjxsaT48dHQ+PGI+YmJjb2RlX2NlbnRlcjwvYj48L3R0PjogPHR0PiZsdDtkaXYmZ3Q7PC90dD4gdGhhdCBhbGlnbnMgY29udGVudCB0byB0aGUgY2VudGVyLjwvbGk+CjxsaT48dHQ+PGI+YmJjb2RlX2luZGVudDwvYj48L3R0PjogPHR0PiZsdDtkaXYmZ3Q7PC90dD4gdGhhdCBpbmRlbnRzIGl0cyBjb250ZW50LjxiciAvPjxiciAvPjwvbGk+CjxsaT48dHQ+PGI+YmJjb2RlX2NvbHVtbnM8L2I+PC90dD46IDx0dD4mbHQ7dGFibGUmZ3Q7PC90dD4gdGhhdCBpcyB1c2VkIHRvIGdlbmVyYXRlIG11bHRpcGxlIGNvbHVtbnMuPC9saT4KPGxpPjx0dD48Yj5iYmNvZGVfY29sdW1uPC9iPjwvdHQ+OiA8dHQ+Jmx0O3RkJmd0OzwvdHQ+IHRoYXQgY29udGFpbnMgYW55IHNpbmdsZSBjb2x1bW4uPC9saT4KPGxpPjx0dD48Yj5iYmNvZGVfZmlyc3Rjb2x1bW48L2I+PC90dD46IDx0dD4mbHQ7dGQmZ3Q7PC90dD4gdGhhdCBjb250YWlucyB0aGUgZmlyc3QgY29sdW1uIGluIGEgZ3JvdXAuPGJyIC8+PGJyIC8+PC9saT4KPGxpPjx0dD48Yj5iYmNvZGVfY29kZTwvYj48L3R0PjogPHR0PiZsdDtkaXYmZ3Q7PC90dD4gdGhhdCB3cmFwcyBhcm91bmQgYSB3aG9sZSBjb2RlIGJsb2NrLjwvbGk+CjxsaT48dHQ+PGI+YmJjb2RlX2NvZGVfaGVhZDwvYj48L3R0PjogPHR0PiZsdDtkaXYmZ3Q7PC90dD4gdGhhdCB3cmFwcyBhcm91bmQgdGhlICJDb2RlOiIgdGl0bGUgYXJlYS48L2xpPgo8bGk+PHR0PjxiPmJiY29kZV9jb2RlX2JvZHk8L2I+PC90dD46IDx0dD4mbHQ7ZGl2Jmd0OzwvdHQ+IHRoYXQgd3JhcHMgYXJvdW5kIGNvbnRlbnQgb2YgYSBjb2RlIGJsb2NrLjxiciAvPjxiciAvPjwvbGk+CjxsaT48dHQ+PGI+YmJjb2RlX3F1b3RlPC9iPjwvdHQ+OiA8dHQ+Jmx0O2RpdiZndDs8L3R0PiB0aGF0IHdyYXBzIGFyb3VuZCBhIHdob2xlIHF1b3RlIGJsb2NrLjwvbGk+CjxsaT48dHQ+PGI+YmJjb2RlX3F1b3RlX2hlYWQ8L2I+PC90dD46IDx0dD4mbHQ7ZGl2Jmd0OzwvdHQ+IHRoYXQgd3JhcHMgYXJvdW5kIHRoZSAiU28tYW5kLXNvIHdyb3RlOiIgdGl0bGUgYXJlYS48L2xpPgo8bGk+PHR0PjxiPmJiY29kZV9xdW90ZV9ib2R5PC9iPjwvdHQ+OiA8dHQ+Jmx0O2RpdiZndDs8L3R0PiB0aGF0IHdyYXBzIGFyb3VuZCBjb250ZW50IG9mIGEgY29kZSBibG9jay48YnIgLz48YnIgLz48L2xpPgo8bGk+PHR0PjxiPmJiY29kZV91cmw8L2I+PC90dD46IDx0dD4mbHQ7YSZndDs8L3R0PiB0aGF0IHdhcyBnZW5lcmF0ZWQgYnkgYSA8dHQ+W3VybF08L3R0PiB0YWcuPC9saT4KPGxpPjx0dD48Yj5iYmNvZGVfZW1haWw8L2I+PC90dD46IDx0dD4mbHQ7YSZndDs8L3R0PiB0aGF0IHdhcyBnZW5lcmF0ZWQgYnkgYW4gPHR0PltlbWFpbF08L3R0PiB0YWcuPC9saT4KPGxpPjx0dD48Yj5iYmNvZGVfd2lraTwvYj48L3R0PjogPHR0PiZsdDthJmd0OzwvdHQ+IHRoYXQgd2FzIGdlbmVyYXRlZCBieSBhIDx0dD5bd2lraV08L3R0PiBvciA8dHQ+W1t3aWtpXV08L3R0PiB0YWcuPC9saT4KPGxpPjx0dD48Yj5iYmNvZGVfaW1nPC9iPjwvdHQ+OiA8dHQ+Jmx0O2ltZyZndDs8L3R0PiB0aGF0IHdhcyBnZW5lcmF0ZWQgYnkgYW4gPHR0PltpbWddPC90dD4gdGFnLjxiciAvPjxiciAvPjwvbGk+CjxsaT48dHQ+PGI+YmJjb2RlX2xpc3Q8L2I+PC90dD46IDx0dD4mbHQ7dWwmZ3Q7PC90dD4gb3IgPHR0PiZsdDtvbCZndDs8L3R0PiB0aGF0IHdhcyBnZW5lcmF0ZWQgYnkgYSA8dHQ+W2xpc3RdPC90dD4gdGFnLjwvbGk+CjwvdWw+Cgo8cD5HZW5lcmFsbHksIHlvdSB3aWxsIDxpPm5vdDwvaT4gd2FudCB0byBwcm92aWRlIENTUyBmb3IgbW9zdCBvZiB0aGVzZS4gIE5CQkMgdXNlcyBpbmxpbmUgc3R5bGVzIGZvciBzb21lCnRhZ3Mgd2hvc2UgcHVycG9zZSBpcyBvYnZpb3VzLCBzdWNoIGFzIDx0dD5bY2VudGVyXTwvdHQ+IGFuZCA8dHQ+W2xpc3RdPC90dD4sIHNvIHRoZSBDU1MKY2xhc3NlcyBhcmUgbWFpbmx5IGluY2x1ZGVkIGZvciBjb252ZW5pZW5jZSBhbmQgY29tcGxldGVuZXNzLiAgVHlwaWNhbGx5LCB5b3UnbGwgd2FudCB0bwpwcm92aWRlIENTUyBmb3IgYWJvdXQgaGFsZiBvZiB0aGVzZSBjbGFzc2VzLCBsaWtlIHRoaXMgZXhhbXBsZSBmb3IgYSB0eXBjaWFsIGJsYWNrLW9uLXdoaXRlCnNpdGUgd2l0aCBibHVlIGFjY2VudCBjb2xvcnM6PC9wPgoKCTxkaXYgc3R5bGU9J21hcmdpbi1sZWZ0OjJlbTsnPgoJPGRpdiBjbGFzcz0nY29kZV9oZWFkZXInPkNvZGU6PC9kaXY+Cgk8eG1wIGNsYXNzPSdjb2RlJz4vKiBBZGQgYSBkYXNoZWQgdW5kZXJsaW5lIHRvIGFjcm9ueW1zLiAqLwpzcGFuLmFjcm9ueW0geyBib3JkZXItYm90dG9tOjFweCBkYXNoZWQgZ3JlZW47IH0Kc3Bhbi5hY3JvbnltOmhvdmVyIHsgY29sb3I6IGdyZWVuOyBib3JkZXItYm90dG9tOjFweCBkYXNoZWQgbGlnaHRncmVlbjsgfQoKLyogTWFrZSBzcG9pbGVycyBpbnZpc2libGUsIHNvIHRoYXQgeW91IG5lZWQgdG8gc2VsZWN0IHRoZW0gd2l0aCB0aGUgbW91c2UuICovCnNwYW4uc3BvaWxlciB7IGJhY2tncm91bmQtY29sb3I6IGJsYWNrOyBjb2xvcjogYmxhY2s7IH0KCi8qIEFsaWduIGNvbHVtbnMgdG8gdGhlIHRvcCwgYW5kIGFkZCBzb21lIHNwYWNlIGJldHdlZW4gdGhlbS4gKi8KdGFibGUuYmJjb2RlX2NvbHVtbnMgeyBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwogICAgbWFyZ2luLXRvcDogMWVtOyBtYXJnaW4tYm90dG9tOiAxZW07IH0KdGFibGUuYmJjb2RlX2NvbHVtbnMgdGQuYmJjb2RlX2NvbHVtbiB7IHBhZGRpbmc6IDAgMWVtOyB2ZXJ0aWNhbC1hbGlnbjogdG9wO30KdGFibGUuYmJjb2RlX2NvbHVtbnMgdGQuYmJjb2RlX2ZpcnN0Y29sdW1uIHsgYm9yZGVyLWxlZnQ6IDA7IHBhZGRpbmctbGVmdDogMDsgfQoKLyogV3JhcCBxdW90ZXMgaW4gYSBiaWcgYmx1ZSBib3guICovCmRpdi5iYmNvZGVfcXVvdGUgeyBib3JkZXI6IDFweCBzb2xpZCBibHVlOyBtYXJnaW46IDAuNWVtIDA7IH0KZGl2LmJiY29kZV9xdW90ZV9oZWFkIHsgYmFja2dyb3VuZC1jb2xvcjogYmx1ZTsgY29sb3I6IHdoaXRlOwogICAgZm9udC13ZWlnaHQ6IGJvbGQ7IHBhZGRpbmc6IDAuMjVlbSAwLjVlbTsgfQpkaXYuYmJjb2RlX3F1b3RlX2hlYWQgYTpsaW5rIHsgY29sb3I6IHllbGxvdzsgfQpkaXYuYmJjb2RlX3F1b3RlX2hlYWQgYTp2aXNpdGVkIHsgY29sb3I6IHllbGxvdzsgfQpkaXYuYmJjb2RlX3F1b3RlX2hlYWQgYTpob3ZlciB7IGNvbG9yOiB3aGl0ZTsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH0KZGl2LmJiY29kZV9xdW90ZV9oZWFkIGE6YWN0aXZlIHsgY29sb3I6IHdoaXRlOyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfQpkaXYuYmJjb2RlX3F1b3RlX2JvZHkgeyBiYWNrZ3JvdW5kLWNvbG9yOiBza3libHVlOwogICAgY29sb3I6IGJsYWNrOyBwYWRkaW5nOiAwLjVlbSAxZW07IH0KCi8qIFdyYXAgY29kZSBpbiBhIGJpZyBibHVlIGJveC4gKi8KZGl2LmJiY29kZV9jb2RlIHsgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsgbWFyZ2luOiAwLjVlbSAwOyB9CmRpdi5iYmNvZGVfY29kZV9oZWFkIHsgYmFja2dyb3VuZC1jb2xvcjogYmx1ZTsgY29sb3I6IHdoaXRlOwogICAgZm9udC13ZWlnaHQ6IGJvbGQ7IHBhZGRpbmc6IDAuMjVlbSAwLjVlbTsgfQpkaXYuYmJjb2RlX2NvZGVfYm9keSB7IGJhY2tncm91bmQtY29sb3I6IHNreWJsdWU7IGNvbG9yOiBibGFjazsKICAgIGZvbnQ6IDEwcHQgbW9ub3NwYWNlOyBwYWRkaW5nOiAwLjVlbSAxZW07IH08L3htcD4KCTwvZGl2PgoKPHA+SW4gc2hvcnQsIHlvdSB3aWxsIG5lZWQgdG8gcHJvdmlkZSBzb21lIGtpbmQgb2YgQ1NTIGZvciA8dHQ+W2Fjcm9ueW1dPC90dD4sCjx0dD5bc3BvaWxlcl08L3R0PiwgPHR0Pltjb2x1bW5zXTwvdHQ+LCA8dHQ+W3F1b3RlXTwvdHQ+LCBhbmQgPHR0Pltjb2RlXTwvdHQ+LApwcmltYXJpbHkgYmVjYXVzZSBOQkJDIGNhbid0IGd1ZXNzIGluIGFkdmFuY2Ugd2hhdCBjb2xvcnMgYW5kIGltYWdlcyBhbmQKYmFja2dyb3VuZHMgdG8gdXNlIGZvciB0aGVtLjwvcD4KCjxwPkhvcGVmdWxseSwgaXQgZG9lc24ndCBuZWVkIHRvIGJlIHNhaWQgdGhhdCB5b3UgYWxzbyBzaG91bGQgd3JhcCB0aGUgZW50aXJlCkJCQ29kZSBvdXRwdXQgaW4gYSA8dHQ+Jmx0O3NwYW4mZ3Q7PC90dD4gb3IgPHR0PiZsdDtkaXYmZ3Q7PC90dD4gaWYgeW91IGludGVuZCB0bwpzdHlsZSBjb250ZW50IHdpdGhpbiBpdC4gIE5CQkMgaW50ZW50aW9uYWxseSBkb2VzIG5vdCBpbmNsdWRlIGEgY29udGFpbmVyCjx0dD4mbHQ7c3BhbiZndDs8L3R0PiBvciA8dHQ+Jmx0O2RpdiZndDs8L3R0PiBzbyB0aGF0IHlvdSBjYW4gZGVjaWRlIGZvciB5b3Vyc2VsZgp3aGF0IGtpbmQgb2Ygd3JhcHBlciB0byB1c2UgYW5kIHdoZXRoZXIgdG8gaW5jbHVkZSBhZGRpdGlvbmFsIGNvbnRlbnQgb2YgeW91cgpvd24gYmVmb3JlIG9yIGFmdGVyIHRoZSBCQkNvZGUgb3V0cHV0LiAgWW91IG1heSB3YW50IHRvIHNlZSB0aGUKPGEgaHJlZj0iYXBpX3Jvb3QuaHRtbCNyZWZfcGFyc2VyX1NldFJvb3RJbmxpbmUiPlNldFJvb3RJbmxpbmUoKTwvYT4KYW5kIDxhIGhyZWY9ImFwaV9yb290Lmh0bWwjcmVmX3BhcnNlcl9TZXRSb290QmxvY2siPlNldFJvb3RCbG9jaygpPC9hPiBmdW5jdGlvbnMsCndoaWNoIGNvbnRhaW4gbW9yZSBpbmZvcm1hdGlvbiBvbiB0aGUgc3ViamVjdCBvZiB3cmFwcGluZyB0aGUgb3V0cHV0IGluIGFuCkhUTUwgY29udGFpbmVyIGVsZW1lbnQuPC9wPgoKPHA+Rm9yIG1vcmUgZXhhbXBsZSBDU1MgdGhhdCB5b3UgY2FuIHVzZSwgbG9vayBpbiB0aGUgYXBwZW5kaXggc2VjdGlvbgp3aXRoIDxhIGhyZWY9ImFwcF9jc3MuaHRtbCI+Q1NTIEV4YW1wbGVzPC9hPi48L3A+Cgo=]]></data>
	</file>
	<file>
	  <filename>/docs/doc/src/usage_enh.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CjxhIG5hbWU9InVzYWdlX2VuaHRhZ190aGVvcnkiPjwvYT48aDQ+RW5oYW5jZWQgVGFncywgdGhlIFRoZW9yeTwvaDQ+Cgo8cD5XaGF0IGlmIHNpbXBsZSBIVE1MIHJlcGxhY2VtZW50IGlzbid0IGVub3VnaCBmb3IgeW91ciB0YWdzPyAgTkJCQyBwcm92aWRlcyB0d28gdGVjaG5pcXVlcwpmb3IgcGVyZm9ybWluZyBtb3JlIHNvcGhpc3RpY2F0ZWQgY29udmVyc2lvbnM7IHRoZSBmaXJzdCBpcyA8aT5lbmhhbmNlZCB0YWdzPC9pPiwKYW5kIHRoZSBzZWNvbmQgaXMgPGk+Y2FsbGJhY2sgdGFnczwvaT4uICBXZSdsbCBzdGFydCB3aXRoIDxpPmVuaGFuY2VkIHRhZ3M8L2k+LjwvcD4KCjxwPkxldCdzIHNheSB5b3Ugd2FudCB0byBhZGQgYSB0YWcgdGhhdCBsZXRzIHlvdXIgdXNlcnMgYWRkIGEgYm9yZGVyIGFyb3VuZCB0aGVpcgp0ZXh0LCBhIDx0dD5bYm9yZGVyXTwvdHQ+IHRhZy4gIFlvdSB3YW50IHRoZSB1c2VyIHRvIGJlIGFibGUgdG8gc3BlY2lmeSB0aGUgY29sb3IKYW5kIHRoaWNrbmVzcyBvZiB0aGUgYm9yZGVyLCBsaWtlIHRoaXM6PC9wPgoKPGRpdiBjbGFzcz0nY29kZV9oZWFkZXInPkNvZGU6PC9kaXY+Cjx4bXAgY2xhc3M9J2NvZGUnPltib3JkZXIgY29sb3I9Ymx1ZSBzaXplPTJdVGhpcyBoYXMgYSBibHVlIGJvcmRlciFbL2JvcmRlcl08L3htcD4KPGRpdiBjbGFzcz0nb3V0cHV0X2hlYWRlcic+T3V0cHV0OjwvZGl2Pgo8ZGl2IGNsYXNzPSdvdXRwdXQnPjxkaXYgc3R5bGU9J2JvcmRlcjogMnB4IHNvbGlkIGJsdWU7Jz5UaGlzIGhhcyBhIGJsdWUgYm9yZGVyITwvZGl2PjwvZGl2PgoKPHA+T2J2aW91c2x5LCBhIHNpbXBsZSByZXBsYWNlbWVudCBvZiBIVE1MIGlzbid0IGdvaW5nIHRvIGJlIHN1ZmZpY2llbnQgZm9yIHRoaXM7CndlIG5lZWQgdG8gZ2VuZXJhdGUgY3VzdG9taXplZCBIVE1MIGRlcGVuZGluZyBvbiB3aGF0IHRoZSB1c2VyIHN1cHBsaWVzIGZvciB0aGUKY29sb3IgYW5kIHRoZSBzaXplLCBhbmQgd2UgbmVlZCB0byBhbHNvIG1ha2Ugc3VyZSB0aGUgdXNlciBzdXBwbGllZCBhIGNvbG9yIGFuZApzaXplIHRoYXQgbWFrZXMgc2Vuc2U6ICBBIHNpemUgb2YgIi0xIiBpcyBubyBnb29kLCBhbmQgYSBjb2xvciBuYW1lZCAiYmxvcmsiIGlzIG5vCmdvb2QgZWl0aGVyLjwvcD4KCjxwPlRoaXMgaXMgd2hlcmUgPGk+ZW5oYW5jZWQgbW9kZTwvaT4gY29tZXMgaW4uICBJbiBlbmhhbmNlZCBtb2RlLCBpbnN0ZWFkIG9mIHN1cHBseWluZwphIHBhaXIgb2YgY2h1bmtzIG9mIHJlcGxhY2VtZW50IEhUTUwgdGV4dCwgeW91IHN1cHBseSBhIHRlbXBsYXRlIHdpdGggbG9jYXRpb25zIGluIGl0CndoZXJlIHRoZSB1c2VyJ3MgdmFsdWVzIHNob3VsZCBiZSBpbnNlcnRlZC4gIExpa2UgdGhpczo8L3A+Cgo8ZGl2IGNsYXNzPSdjb2RlX2hlYWRlcic+Q29kZTo8L2Rpdj4KPHhtcCBjbGFzcz0nY29kZSc+ICAgICRiYmNvZGUtPkFkZFJ1bGUoJ2JvcmRlcicsICBBcnJheSgKICAgICAgICAnbW9kZScgPT4gQkJDT0RFX01PREVfRU5IQU5DRUQsCiAgICAgICAgJ3RlbXBsYXRlJyA9PiAnPGRpdiBzdHlsZT0iYm9yZGVyOiB7JHNpemV9cHggc29saWQgeyRjb2xvcn0iPnskX2NvbnRlbnR9PC9kaXY+JywKICAgICAgICAnY2xhc3MnID0+ICdibG9jaycsCiAgICAgICAgJ2FsbG93X2luJyA9PiBBcnJheSgnbGlzdGl0ZW0nLCAnYmxvY2snLCAnY29sdW1ucycpLAogICAgKSk7PC94bXA+Cgo8cD5UaGVyZSBhcmUgc2V2ZXJhbCB0aGluZ3MgZGlmZmVyZW50IGhlcmUgZnJvbSB0aGUgbGFzdCBleGFtcGxlLiAgRmlyc3QsIHdlJ3ZlIGFkZGVkCnRoZSA8dHQ+bW9kZTwvdHQ+IHBhcmFtZXRlciwgd2hpY2ggY29udHJvbHMgaG93IGEgdGFnIHJ1bGUgaXMgcHJvY2Vzc2VkIGJ5IE5CQkMuICBUaGUKZGVmYXVsdCBtb2RlIGlzIDx0dD5CQkNPREVfTU9ERV9TSU1QTEU8L3R0Piwgd2hpY2ggd2UganVzdCBsb29rZWQgYXQ7IHlvdSBjYW4gYWxzbyB1c2UKPHR0PkJCQ09ERV9NT0RFX0VOSEFOQ0VEPC90dD4gYW5kIDx0dD5CQkNPREVfTU9ERV9DQUxMQkFDSzwvdHQ+LCBhbmQgTkJCQyBpdHNlbGYgdXNlcwo8dHQ+QkJDT0RFX01PREVfSU5URVJOQUw8L3R0PiBhbmQgPHR0PkJCQ09ERV9NT0RFX0xJQlJBUlk8L3R0PiBhcyBwYXJ0IG9mIHRoZSBzdGFuZGFyZApCQmNvZGUgbGlicmFyeS48L3A+Cgo8cD5TZWNvbmQsIHdlJ3ZlIHN3aXRjaGVkIGZyb20gPHR0PmlubGluZTwvdHQ+IGNsYXNzIHRvIDx0dD5ibG9jazwvdHQ+IGNsYXNzLCBiZWNhdXNlCkhUTUwgYm9yZGVycyB0ZW5kIHRvIGxvb2sgYSBsaXR0bGUgd2VpcmQgd2hlbiBhcHBsaWVkIHRvIGluZGl2aWR1YWwgbGluZXMgb2YgdGV4dCwKYW5kIGJlY2F1c2UgYXBwbHlpbmcgdGhlbSB0byBhIHNpbmdsZSBsaW5lIG9yIHdvcmQgdXN1YWxseSBpc24ndCB3aGF0IHRoZSB1c2VyIHRoaW5rcwp3aWxsIGhhcHBlbiB3aXRoIGEgPHR0Pltib3JkZXJdPC90dD4gdGFnIGFueXdheTogIEhlJ2xsIGV4cGVjdCB0aGF0IGl0IHByb2R1Y2VzIGEgYmlnCmJvcmRlciBhcm91bmQgYWxsIG9mIGhpcyB0ZXh0LiAgU28gb3VyIG91dHB1dCB3aWxsIGJlIGJhc2VkIG9uIDx0dD4mbHQ7ZGl2Jmd0OzwvdHQ+IGFuZApub3QgPHR0PiZsdDtzcGFuJmd0OzwvdHQ+LCBhbmQgb3VyIGNsYXNzIGlzIDx0dD5ibG9jazwvdHQ+LCBhbmQgYmVjYXVzZSBhIDx0dD4mbHQ7ZGl2Jmd0OzwvdHQ+CmluIEhUTUwgY2FuJ3QgZ28gaW5zaWRlIGEgPHR0PiZsdDtzcGFuJmd0OzwvdHQ+LCB3ZSd2ZSByZXN0cmljdGVkIHRoZSA8dHQ+YWxsb3dfaW48L3R0PgphcnJheSB0byB0aGluZ3MgdGhhdCA8dHQ+Jmx0O2RpdiZndDs8L3R0PiBlbGVtZW50cyBjYW4gYWN0dWFsbHkgZ28gaW5zaWRlOiAgT3RoZXIKYmxvY2tzLCBsaXN0IGl0ZW1zLCBhbmQgY29sdW1ucyAod2hpY2ggYXJlIHRhYmxlIGNlbGxzIGluIGRpc2d1aXNlKS48L3A+Cgo8cD5MYXN0LCB3ZSBjb21lIHRvIHRoZSBtZWF0IG9mIHRoZSBydWxlLCB0aGUgPHR0PnRlbXBsYXRlPC90dD4gaXRzZWxmLiAgTGV0J3MgYnJlYWsKdGhhdCBvdXQgYW5kIGxvb2sgYXQgaXQgYnkgaXRzZWxmOjwvcD4KCjxkaXYgY2xhc3M9J2NvZGVfaGVhZGVyJz5Db2RlOjwvZGl2Pgo8eG1wIGNsYXNzPSdjb2RlJz48ZGl2IHN0eWxlPSJib3JkZXI6IHskc2l6ZX1weCBzb2xpZCB7JGNvbG9yfSI+eyRfY29udGVudH08L2Rpdj48L3htcD4KCjxwPlRoaXMgdGVtcGxhdGUgaW5jbHVkZXMgdGhyZWUgPGk+aW5zZXJ0czwvaT4sIHBsYWNlcyB3aGVyZSB0ZXh0IGZyb20gdGhlIHVzZXIgbWF5IGJlCnN1YnN0aXR1dGVkLiAgVGhlIGZpcnN0LCA8dHQ+eyRzaXplfTwvdHQ+IHN3YXBzIGluIHRoZSB1c2VyJ3MgcHJvdmlkZWQgYm9yZGVyIHNpemU7CnRoZSBzZWNvbmQsIDx0dD57JGNvbG9yfTwvdHQ+IHN3YXBzIGluIHRoZSB1c2VyJ3MgcHJvdmlkZWQgYm9yZGVyIGNvbG9yOyBhbmQgdGhlIHRoaXJkLAo8dHQ+eyRfY29udGVudH08L3R0PiwgaXMgYSBzcGVjaWFsIGluc2VydCB0aGF0IHN1YnN0aXR1dGVzIHRoZSBjb250ZW50IG9yIGJvZHkgb2YgdGhlCnRhZywgdGhlIHRleHQgYmV0d2VlbiB0aGUgW2JvcmRlcl0gdGFnIGFuZCB0aGUgWy9ib3JkZXJdIHRhZy4gIFlvdSBtYXkgc3Vic3RpdHV0ZSBpbgphbnkgcGFyYW1ldGVycyBmcm9tIHRoZSB0YWcgdGhhdCB5b3Ugd2FudCwgbm90IGp1c3QgPHR0PmNvbG9yPC90dD4gYW5kIDx0dD5zaXplPC90dD4uPC9wPgoKPHA+KFRoZXJlIGFyZSB0d28gYWRkaXRpb25hbCBwb3NzaWJsZSBidWlsdC1pbiAic3BlY2lhbCIgaW5zZXJ0cywgbGlrZSA8dHQ+eyRfY29udGVudH08L3R0Pi4KVGhleSBhcmUgPHR0PnskX25hbWV9PC90dD4sIHdoaWNoIGlzIGFsd2F5cyB0aGUgbmFtZSBvZiB0aGUgdGFnIGl0c2VsZjsgYW5kIDx0dD57JF9kZWZhdWx0fTwvdHQ+CndoaWNoIGlzIHRoZSBkZWZhdWx0IHZhbHVlIHByb3ZpZGVkIGJ5IHRoZSB1c2VyLiAgVGhlIGRlZmF1bHQgdmFsdWUgaXMgdGhlIHZhbHVlIGF0dGFjaGVkIHRvCnRoZSBuYW1lIG9mIHRoZSB0YWcgYW5kIG5vdCBhbnkgc3BlY2lmaWMgb3RoZXIgcGFyYW1ldGVyOyBmb3IgZXhhbXBsZSwgaW4gPHR0Pltmb250PVRpbWVzXTwvdHQ+LAp0aGUgZGVmYXVsdCB2YWx1ZSBpcyAiVGltZXMiLiAgTW9zdCBvZiB0aGUgdGFncyBpbiB0aGUgc3RhbmRhcmQgbGlicmFyeSB1c2UgYW5kIHN1cHBvcnQKZGVmYXVsdCB2YWx1ZXMgd2hlbmV2ZXIgcG9zc2libGUsIHNpbmNlIHRoZXkncmUgZWFzaWVzdCBmb3IgdGhlIHVzZXIgdG8gd29yayB3aXRoLik8L3A+Cgo8YSBuYW1lPSJ1c2FnZV9lbmh0YWdfdmFsIj48L2E+PGg0PklucHV0IFZhbGlkYXRpb248L2g0PgoKPHA+U28gbm93IHdlIGhhdmUgYSB0YWcgdGhhdCB3cmFwcyBvdXIgdGV4dCBpbiBhIGJvcmRlci4gIFdoYXQncyB3cm9uZyB3aXRoIHRoYXQ/PC9wPgoKPHA+VGhlIGFuc3dlciBpcyB0aGF0IHdlIGhhdmVuJ3QgZG9uZSBhbnkga2luZCBvZiB2YWxpZGF0aW9uOiAgV2hhdCBpZiwgZm9yIGV4YW1wbGUsIHRoZQp1c2VyIHdyb3RlIHRoaXMgbWFsaWNpb3VzIEJCQ29kZT8KCjxkaXYgY2xhc3M9J2NvZGVfaGVhZGVyJz5Db2RlOjwvZGl2Pgo8eG1wIGNsYXNzPSdjb2RlJz5bYm9yZGVyIGNvbG9yPSJibHVlO2ZvbnQtc2l6ZTo0MHB0IiBzaXplPTJdVGhpcyBoYXMgYSBibHVlIGJvcmRlciFbL2JvcmRlcl08L3htcD4KPGRpdiBjbGFzcz0nb3V0cHV0X2hlYWRlcic+T3V0cHV0OjwvZGl2Pgo8ZGl2IGNsYXNzPSdvdXRwdXQnPjxkaXYgc3R5bGU9J2JvcmRlcjogMnB4IHNvbGlkIGJsdWU7Zm9udC1zaXplOjQwcHQ7Jz5UaGlzIGhhcyBhIGJsdWUgYm9yZGVyITwvZGl2PjwvZGl2PgoKPHA+T29wcyEgIFRoYXQncyBub3Qgc3VwcG9zZWQgdG8gaGFwcGVuISAgVGhlIHVzZXIncyBub3Qgc3VwcG9zZWQgdG8gYmUgYWJsZSB0bwp1c2UgdGhlIDx0dD5bYm9yZGVyXTwvdHQ+IHRhZyB0byBjaGFuZ2UgdGhlIGZvbnQgc2l6ZSEgIFdlIGhhdmUgYSBwcm9ibGVtIGhlcmUKYmVjYXVzZSB3ZSBoYXZlbid0IGNoZWNrZWQgdGhlIHVzZXIncyBpbnB1dCwgYW5kIHRoYXQncyBkYW5nZXJvdXM6ICBUaGUgd2hvbGUgcG9pbnQKYmVoaW5kIGEgPGk+dmFsaWRhdGluZzwvaT4gQkJDb2RlIHBhcnNlciBpcyB0aGF0IGl0IGVuc3VyZXMgdGhhdCB0aGUgdXNlciBjYW4ndCBkbyB0aGluZ3MKbGlrZSB0aGlzLiAgSW1hZ2luZSB3aGF0IHdvdWxkIGhhcHBlbiBpZiB0aGUgdXNlciBpbnNlcnRlZCBzb21lIEphdmFzY3JpcHQ/ICBZb3VyCnBhZ2UgY291bGQgYmUgbWFkZSB0byB1bmtub3dpbmdseSBkaXN0cmlidXRlIHZpcnVzZXMhICBTaW5jZSB0aGF0J3MgYmFkIC0tLQo8aT52ZXJ5PC9pPiBiYWQgLS0tIGxldCdzIGxvb2sgYXQgaG93IHRvIGZpeCB0aGlzIHByb2JsZW0uPC9wPgoKPHA+VGhlIHNvbHV0aW9uIGlzIHRvIHNwZWNpZnkgc29tZSByZXN0cmljdGlvbnMgb24gd2hhdCB0aGUgdXNlciBpcyBhbGxvd2VkIHRvIHVzZQpmb3IgYXR0cmlidXRlcy4gIFRvIGRvIHRoaXMsIHdlIHVzZSByZWd1bGFyIGV4cHJlc3Npb25zCnRvIGxpbWl0IHRoZSBwb3NzaWJsZSB2YWx1ZXMgb2YgPHR0Pnskc2l6ZX08L3R0PiBhbmQgPHR0PnskY29sb3J9PC90dD4gdG8gdGhpbmdzCnRoYXQgd2Uga25vdyBhcmUgc2FmZSwgbGlrZSAiMSIgYW5kICJyZWQsIiBhbmQgdG8gcHJvaGliaXQgYWxsIG90aGVyIHZhbHVlcy4gIFdoZW4KTkJCQyBzZWVzIGEgcHJvaGliaXRlZCB2YWx1ZSwgaXQgcmVqZWN0cyB0aGUgdGFnIGluIGl0cyBlbnRpcmV0eSwgdGh1cyBlbnN1cmluZyB0aGF0CnlvdXIgb3V0cHV0IHdpbGwgc3RpbGwgYmUgc2FmZS48L3A+CgoJPGRpdiBjbGFzcz0ndGlwYm94Jz4KCTxkaXYgY2xhc3M9J3RpcGJveF9oZWFkZXInPgoJCTxkaXYgY2xhc3M9J3RpcGJveF9zdGFyJz4qPC9kaXY+PGRpdj48Yj5UZWNoIFRpcDwvYj48L2Rpdj4KCTwvZGl2PgoJPGRpdiBjbGFzcz0ndGlwYm94X2NvbnRlbnQnPjxkaXYgY2xhc3M9J3RpcGJveF9jb250ZW50Mic+CgkJPHA+PGI+RG9uJ3Qga25vdyB3aGF0IHJlZ3VsYXIgZXhwcmVzc2lvbnMgYXJlPzwvYj4gIFRoZXkncmUgdXNlZCBwcmV0dHkgZnJlcXVlbnRseSBpbiBOQkJDLAoJCWJ1dCB3ZSB3b24ndCBpbnRyb2R1Y2UgdGhlbSBoZXJlOiAgVGhleSdyZSBkb2N1bWVudGVkIHZlcnkgd2VsbCBpbiBvdGhlciBwbGFjZXMsIGFuZCB5b3UKCQljYW4gZXZlbiBidXkgd2hvbGUgYm9va3Mgb24gdGhlbSBpZiB5b3Ugd2FudCB0byBsZWFybiB0aGVtIGluIGRlcHRoLgoJCU9ubGluZSwgdGhlcmUncyBhIGdvb2QgbWFudWFsIGRvY3VtZW50aW5nIE5CQkMncyBQZXJsLWNvbXBhdGlibGUgcmVndWxhciBleHByZXNzaW9ucwoJCSg8YSBocmVmPSJodHRwOi8vcGVybGRvYy5wZXJsLm9yZy9wZXJscmUuaHRtbCI+UENSRTwvYT4pIGluIGRldGFpbCwgYW5kIHRoZXJlIGFyZSBhbHNvIGdvb2QKCQlpbnRyb2R1Y3Rpb25zL3R1dG9yaWFscyB0byByZWd1bGFyIGV4cHJlc3Npb25zLCBib3RoIDxhIGhyZWY9Imh0dHA6Ly9wZXJsZG9jLnBlcmwub3JnL3BlcmxyZXF1aWNrLmh0bWwiPnNob3J0IGludHJvczwvYT4KCQlhbmQgPGEgaHJlZj0iaHR0cDovL3Blcmxkb2MucGVybC5vcmcvcGVybHJldHV0Lmh0bWwiPmxvbmcgdHV0b3JpYWxzPC9hPi48L3A+CgkJCgkJPHA+SW4gdGhpcyBtYW51YWwsIHRob3VnaCwgd2UncmUgZ29pbmcgdG8gdXNlIGp1c3QgdGhlIGZvbGxvd2luZyBiYXNpYyBzeW50YXg6PC9wPgoJCTx1bD4KCQk8bGk+PGI+PHR0PmE8L3R0PjwvYj4gLSB0aGUgbGV0dGVyICJhIjsgYSBsZXR0ZXIgb3IgbnVtYmVyIG9yIHN5bWJvbCB1c3VhbGx5IG1hdGNoZXMgaXRzZWxmPC9saT4KCQk8bGk+PGI+PHR0PlthLXpdPC90dD48L2I+IC0gYSBjaGFyYWN0ZXIgY2xhc3MsIG1hdGNoaW5nICJhIiB0aHJvdWdoICJ6IiwgaW5jbHVzaXZlPC9saT4KCQk8bGk+PGI+PHR0PlthLWYwLTl6XTwvdHQ+PC9iPiAtIGEgY2hhcmFjdGVyIGNsYXNzLCBtYXRjaGluZyAiYSIgdGhyb3VnaCAiZiIsIGFuZCAiMCIgdGhyb3VnaCAiOSIsIGFuZCAieiI8L2xpPgoJCTxsaT48Yj48dHQ+XjwvdHQ+PC9iPiAtIGFuY2hvciB0byB0aGUgYmVnaW5uaW5nIG9mIHRoZSBpbnB1dDwvbGk+CgkJPGxpPjxiPjx0dD4kPC90dD48L2I+IC0gYW5jaG9yIHRvIHRoZSBlbmQgb2YgdGhlIGlucHV0PC9saT4KCQk8L3VsPgoJCTx1bD4KCQk8bGk+PGI+PHR0PnIqPC90dD48L2I+IC0gemVybyBvciBtb3JlIG9mICJyIjwvbGk+CgkJPGxpPjxiPjx0dD5yKzwvdHQ+PC9iPiAtIG9uZSBvciBtb3JlIG9mICJyIjwvbGk+CgkJPGxpPjxiPjx0dD5yPzwvdHQ+PC9iPiAtIHplcm8gb3Igb25lIG9mICJyIiwgaS5lLiwgYW4gb3B0aW9uYWwgInIiPC9saT4KCQk8bGk+PGI+PHR0PnJ8czwvdHQ+PC9iPiAtICJyIiBvciAicyI8L2xpPgoJCTxsaT48Yj48dHQ+KHIpPC90dD48L2I+IC0gcGFyZW50aGVzZXMgY29udHJvbCBwcmVjZWRlbmNlLCBqdXN0IGxpa2UgaW4gYXJpdGhtZXRpYzwvbGk+CgkJPC91bD4KCQk8cD5UaGF0J3MgaXQ6ICBXZSdyZSBnb2luZyB0byB1c2UganVzdCB0aGUgYmFzaWNzLCBhbmQgbm90IGdvaW5nIHRvIHRvdWNoIGFkdmFuY2VkIHN5bnRheCBsaWtlCgkJPHR0Pig/PS4uLik8L3R0PiBvciA8dHQ+cntuLG19PC90dD4gaW4gdGhlIE5CQkMgbWFudWFsLiAgSWYgeW91IG5lZWQgdG8gbGVhcm4gb3IgYnJ1c2ggdXAKCQlvbiByZWdleGVzIHRvIGZvbGxvdyB0aGlzLCB0aGVyZSBhcmUgcGxlbnR5IG9mIG90aGVyIGRvY3VtZW50cyB0aGF0IHdpbGwgdGVhY2ggeW91IGhvdyB0byBkbyBzby48L3A+Cgk8L2Rpdj48L2Rpdj4KCTwvZGl2PgoKPHA+VGhlc2UgYXJlIHRoZSByZWd1bGFyIGV4cHJlc3Npb25zIHdlJ2xsIHVzZSBmb3IgPHR0Pnskc2l6ZX08L3R0PiBhbmQgPHR0PnskY29sb3J9PC90dD4sIGFuZCB3ZSdsbAplcnIgb24gdGhlIHNpZGUgb2YgYmVpbmcgdG9vIHJlc3RyaWN0aXZlOiAgVGhhdCdzIGdlbmVyYWxseSBzYWZlciB0aGFuIGJlaW5nIHRvbyBwZXJtaXNzaXZlLgpJbiB0aGlzIGNhc2UsIHdlJ2xsIGFsbG93IGFueSBwb3NpdGl2ZSBpbnRlZ2VyIGZvciA8dHQ+eyRzaXplfTwvdHQ+LCBhbmQgYW55IGhleCB2YWx1ZSBvciBhbHBoYWJldGljCnN0cmluZyBmb3IgPHR0PnskY29sb3J9PC90dD4uICBUaGlzIGxlYXZlcyBvdXQgQ1NTLXN0eWxlIDx0dD5yZ2IocixnLGIpPC90dD4gY29sb3JzIGFuZCB0aGUgbmV3CkNTUzMgPHR0PmhzdihoLHMsdik8L3R0PiBjb2xvcnMsIGJ1dCBpdCdzIHNpbXBsZSwgdXNhYmxlLCBhbmQgcmVhc29uYWJseSBmbGV4aWJsZTo8L3A+Cgo8ZGl2IGNsYXNzPSdjb2RlX2hlYWRlcic+UmVnZXggZm9yIHZhbGlkYXRpbmcgYSA8dHQ+eyRzaXplfTwvdHQ+OjwvZGl2Pgo8eG1wIGNsYXNzPSdjb2RlJz4vXlsxLTldWzAtOV0qJC88L3htcD4KCjxkaXYgY2xhc3M9J2NvZGVfaGVhZGVyJz5SZWdleCBmb3IgdmFsaWRhdGluZyBhIDx0dD57JGNvbG9yfTwvdHQ+OjwvZGl2Pgo8eG1wIGNsYXNzPSdjb2RlJz4vXiNbMC05YS1mQS1GXSt8W2EtekEtWl0rJC88L3htcD4KCjxwPlNvIGhvdyBkbyB3ZSB1c2UgdGhlc2UgZXhwcmVzc2lvbnM/ICBUaGV5IGdldCBhZGRlZCB0byB0aGUgQkJDb2RlIHJ1bGUgZm9yIDx0dD5bYm9yZGVyXTwvdHQ+CnVuZGVyIGl0cyA8dHQ+J2FsbG93JzwvdHQ+IHByb3BlcnR5LCBsaWtlIHRoaXM6PC9wPgoKPGRpdiBjbGFzcz0nY29kZV9oZWFkZXInPkNvZGU6PC9kaXY+Cjx4bXAgY2xhc3M9J2NvZGUnPiAgICAkYmJjb2RlLT5BZGRSdWxlKCdib3JkZXInLCAgQXJyYXkoCiAgICAgICAgJ21vZGUnID0+IEJCQ09ERV9NT0RFX0VOSEFOQ0VELAogICAgICAgICd0ZW1wbGF0ZScgPT4gJzxkaXYgc3R5bGU9ImJvcmRlcjogeyRzaXplfXB4IHNvbGlkIHskY29sb3J9Ij57JF9jb250ZW50fTwvZGl2PicsCiAgICAgICAgJ2FsbG93JyA9PiBBcnJheSgKICAgICAgICAgICAgJ2NvbG9yJyA9PiAnL14jWzAtOWEtZkEtRl0rfFthLXpBLVpdKyQvJywKICAgICAgICAgICAgJ3NpemUnID0+ICcvXlsxLTldWzAtOV0qJC8nLAogICAgICAgICksCiAgICAgICAgJ2NsYXNzJyA9PiAnYmxvY2snLAogICAgICAgICdhbGxvd19pbicgPT4gQXJyYXkoJ2xpc3RpdGVtJywgJ2Jsb2NrJywgJ2NvbHVtbnMnKSwKICAgICkpOzwveG1wPgoKPHA+Tm93IGFueSB0aW1lIE5CQkMgc2VlcyBhIHRhZyB3aG9zZSBwYXJhbWV0ZXJzIGFyZSB2YWxpZCwgaXQnbGwgYWNjZXB0IHRoYXQgdGFnOyBidXQKYW55IHRpbWUgaXQgc2VlcyBhIHRhZyB3aG9zZSBwYXJhbWV0ZXJzIGRvbid0IG1hdGNoIHRoZSA8dHQ+J2FsbG93JzwvdHQ+IHJlZ2V4ZXMsIHRoYXQKdGFnIHdpbGwgYmUgcmVqZWN0ZWQsIGxpa2UgdGhpczo8L3A+Cgo8ZGl2IGNsYXNzPSdjb2RlX2hlYWRlcic+Q29kZTo8L2Rpdj4KPHhtcCBjbGFzcz0nY29kZSc+W2JvcmRlciBjb2xvcj0iYmx1ZTtmb250LXNpemU6NDBwdCIgc2l6ZT0yXVRoaXMgaGFzIGEgYmx1ZSBib3JkZXIhWy9ib3JkZXJdCltib3JkZXIgY29sb3I9ImdyZWVuIiBzaXplPTJdVGhpcyBoYXMgYSBncmVlbiBib3JkZXIhWy9ib3JkZXJdPC94bXA+CjxkaXYgY2xhc3M9J291dHB1dF9oZWFkZXInPk91dHB1dDo8L2Rpdj4KPGRpdiBjbGFzcz0nb3V0cHV0Jz5bYm9yZGVyIGNvbG9yPSJibHVlO2ZvbnQtc2l6ZTo0MHB0IiBzaXplPTJdVGhpcyBoYXMgYSBibHVlIGJvcmRlciFbL2JvcmRlcl0KPGRpdiBzdHlsZT0nYm9yZGVyOiAycHggc29saWQgZ3JlZW47Jz5UaGlzIGhhcyBhIGdyZWVuIGJvcmRlciE8L2Rpdj48L2Rpdj4KCjxwPldoaWxlIHRoaXMgb3V0cHV0IGlzbid0IHBlcmZlY3QgKGZvciBleGFtcGxlLCBpdCBtaWdodCBiZSBiZXR0ZXIgd2hlbiBnaXZlbiBhIGJhZCBjb2xvcgpvciBzaXplIHRvIHRyeSB0byBjbGVhbiBpdCB1cCB0aGFuIHRvIG91dHJpZ2h0IGlnbm9yZSBpdCksIGl0J3MgYXQgbGVhc3Qgc2FmZSBvdXRwdXQ7IHRoZQp1c2VyIHR5cGVkIGdhcmJhZ2UgaW5wdXQsIGFuZCBnb3QgZ2FyYmFnZSBvdXRwdXQsIHdoaWNoIGlzIG11Y2ggYmV0dGVyIHRoYW4gd2hhdCB3ZSBoYWQKYmVmb3JlLjwvcD4KCjxhIG5hbWU9InVzYWdlX2VuaHRhZ19kZWZhdWx0Ij48L2E+PGg0PkRlZmF1bHQgVmFsdWVzPC9oND4KCjxwPk9rYXksIG9uZSBtb3JlIHF1ZXN0aW9uOiAgV2hhdCBoYXBwZW5zIGlmIHRoZSB1c2VyIGRvZXNuJ3QgcHJvdmlkZSBhIGNvbG9yIG9yIHNpemUKZm9yIHRoZSBib3JkZXI/ICBUaGUgPHR0PidhbGxvdyc8L3R0PiBwcm9wZXJ0eSBpcyBvbmx5IGNoZWNrZWQgZm9yIHRoZSBwYXJhbWV0ZXJzIHRoYXQKZ2V0IGluY2x1ZGVkLCBzbyBpdCdzIGVudGlyZWx5IHBvc3NpYmxlIGZvciB0aGUgdXNlciB0byBzdGlsbCBwcm9kdWNlIGJhZCBvdXRwdXQgbGlrZSB0aGlzOjwvcD4KCjxkaXYgY2xhc3M9J2NvZGVfaGVhZGVyJz5Db2RlOjwvZGl2Pgo8eG1wIGNsYXNzPSdjb2RlJz5bYm9yZGVyIGNvbG9yPWJsdWVdVGhpcyBoYXMgYSBibHVlIGJvcmRlciFbL2JvcmRlcl08L3htcD4KPGRpdiBjbGFzcz0nb3V0cHV0X2hlYWRlcic+T3V0cHV0OjwvZGl2Pgo8ZGl2IGNsYXNzPSdvdXRwdXQnPlRoaXMgaGFzIGEgYmx1ZSBib3JkZXIhPC9kaXY+Cgo8cD5PYnZpb3VzbHksIHRoYXQncyBub3Qgd2hhdCB5b3Ugd2FudCwgYW5kIHdoZXRoZXIgaXQnbGwgd29yayBhdCBhbGwgZGVwZW5kcyBvbiBob3cKdGhlIGJyb3dzZXIgdHJlYXRzIGEgZGFtYWdlZCBDU1Mgc3R5bGUgKG1vc3Qgd2lsbCBpZ25vcmUgaXQpLiAgSW5zdGVhZCwgaXQgd291bGQgYmUgZ29vZAp0byBiZSBhYmxlIHRvIHNheSB0aGF0IGlmLCBzYXksIGEgc2l6ZSBpcyBub3QgaW5jbHVkZWQsIHVzZSBhIHNpemUgb2YgIjx0dD4xPC90dD4iIHNvCnRoYXQgdGhlIG91dHB1dCBpcyB2YWxpZCBhbmQgdXNlZnVsIGV2ZW4gaWYgbm90IGFsbCBvZiB0aGUgaW5mb3JtYXRpb24gaXMgaW5jbHVkZWQuICBXZQpjYW4gZG8gdGhpcyB1c2luZyBkZWZhdWx0IHZhbHVlczo8L3A+Cgo8ZGl2IGNsYXNzPSdjb2RlX2hlYWRlcic+Q29kZTo8L2Rpdj4KPHhtcCBjbGFzcz0nY29kZSc+ICAgICRiYmNvZGUtPkFkZFJ1bGUoJ2JvcmRlcicsICBBcnJheSgKICAgICAgICAnbW9kZScgPT4gQkJDT0RFX01PREVfRU5IQU5DRUQsCiAgICAgICAgJ3RlbXBsYXRlJyA9PiAnPGRpdiBzdHlsZT0iYm9yZGVyOiB7JHNpemV9cHggc29saWQgeyRjb2xvcn0iPnskX2NvbnRlbnR9PC9kaXY+JywKICAgICAgICAnYWxsb3cnID0+IEFycmF5KAogICAgICAgICAgICAnY29sb3InID0+ICcvXiNbMC05YS1mQS1GXSt8W2EtekEtWl0rJC8nLAogICAgICAgICAgICAnc2l6ZScgPT4gJy9eWzEtOV1bMC05XSokLycsCiAgICAgICAgKSwKICAgICAgICAnZGVmYXVsdCcgPT4gQXJyYXkoCiAgICAgICAgICAgICdjb2xvcicgPT4gJ2JsdWUnLAogICAgICAgICAgICAnc2l6ZScgPT4gJzEnLAogICAgICAgICksCiAgICAgICAgJ2NsYXNzJyA9PiAnYmxvY2snLAogICAgICAgICdhbGxvd19pbicgPT4gQXJyYXkoJ2xpc3RpdGVtJywgJ2Jsb2NrJywgJ2NvbHVtbnMnKSwKICAgICkpOzwveG1wPgoKPHA+Tm93IHdoZW5ldmVyIHRoZSB1c2VyIGxlYXZlcyBvdXQgdGhlIDx0dD5jb2xvcjwvdHQ+IHBhcmFtZXRlciwgTkJCQyB3aWxsIHByZXRlbmQKdGhhdCB0aGUgdXNlciBpbmNsdWRlZCA8dHQ+Y29sb3I9Ymx1ZTwvdHQ+OyBhbmQgbGlrZXdpc2UsIHdoZW4gPHR0PnNpemU8L3R0PiBpcyBvbWl0dGVkLApOQkJDIHdpbGwgcHJldGVuZCB0aGF0IHRoZSB1c2VyIGluY2x1ZGVkIDx0dD5zaXplPTE8L3R0Pi4gIFRoaXMgaXMgY2VydGFpbmx5IG11Y2ggbW9yZQppbiBrZWVwaW5nIHdpdGggdGhlIHVzZXIncyBleHBlY3RhdGlvbnMgKHRoYXQgaWYgaGUgdXNlcyA8dHQ+W2JvcmRlcl08L3R0PiwgaGUnbGwgZ2V0IGEKYm9yZGVyKSwgYW5kIGl0IG1ha2VzIHRoZSBlbmhhbmNlZCB0YWcgdXNlZnVsIGluIHByZXR0eSBtdWNoIGFsbCBjaXJjdW1zdGFuY2VzOjwvcD4KCjxkaXYgY2xhc3M9J2NvZGVfaGVhZGVyJz5Db2RlOjwvZGl2Pgo8eG1wIGNsYXNzPSdjb2RlJz5bYm9yZGVyXVRoaXMgaGFzIGEgYmx1ZSBib3JkZXIhWy9ib3JkZXJdPC94bXA+CjxkaXYgY2xhc3M9J291dHB1dF9oZWFkZXInPk91dHB1dDo8L2Rpdj4KPGRpdiBjbGFzcz0nb3V0cHV0Jz48ZGl2IHN0eWxlPSdib3JkZXI6IDFweCBzb2xpZCBibHVlOyc+VGhpcyBoYXMgYSBibHVlIGJvcmRlciE8L2Rpdj48L2Rpdj4K]]></data>
	</file>
	<file>
	  <filename>/docs/doc/src/usage_how.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CjxwPldoaWxlIHRoZSBleGFtcGxlIGluIHRoZSA8YSBocmVmPSJ1c2FnZV9iYXNpYy5odG1sIj5wcmV2aW91cyBzZWN0aW9uPC9hPgppcyBzaW1wbGUsIGl0J3Mgbm90IHZlcnkgdXNlZnVsLiAgR2VuZXJhbGx5LCBtb3N0IHByb2dyYW1zIHVzaW5nIE5CQkMKd2lsbCBiZSBzdHJ1Y3R1cmVkIGxpa2UgdGhpczo8L3A+Cgo8ZGl2IGNsYXNzPSdjb2RlX2hlYWRlcic+Q29kZTo8L2Rpdj4KPHhtcCBjbGFzcz0nY29kZSc+PD9waHAKICAgIC4uLm90aGVyIGluY2x1ZGVzLi4uCiAgICByZXF1aXJlX29uY2UoIm5iYmMucGhwIik7CgkKICAgIC4uLgoJCiAgICAkYmJjb2RlID0gbmV3IEJCQ29kZTsKICAgIC4uLnBvc3NpYmxlIGFkZGl0aW9uYWwgb3B0aW9uYWwgc2V0dXAgZm9yIHRoZSAkYmJjb2RlIG9iamVjdC4uLgoJCiAgICAuLi4KCQogICAgJHN0cmluZyA9IFtzb21lIEJCQ29kZSBmcm9tIHNvbWV3aGVyZSwgdXN1YWxseSBlaXRoZXIgYSBmaWxlIG9yIGEgZGF0YWJhc2VdCiAgICAkb3V0cHV0ID0gJGJiY29kZS0+UGFyc2UoJHN0cmluZyk7CgkKICAgIC4uLgoJCiAgICBwcmludCAkb3V0cHV0Owo/PjwveG1wPgoKPHA+VGhlIHNldHVwIHBoYXNlLCB3aGVyZSB5b3UgY3JlYXRlIHRoZSBuZXcgPHR0PkJCQ29kZTwvdHQ+IG9iamVjdCBhbmQgbWF5YmUgYWx0ZXIgaXRzCmZ1bmN0aW9uYWxpdHkgYSBsaXR0bGUgKHNheSwgdG8gYWRkIG1vcmUgc21pbGV5cyBhbmQgQkJDb2RlIHJ1bGVzLCBvciByZW1vdmUgZXhpc3Rpbmcgb25lcyksCm9ubHkgbmVlZHMgdG8gYmUgZG9uZSBvbmNlIGluIHlvdXIgc2NyaXB0OiAgVGhlIDx0dD5CQkNvZGU8L3R0PiBvYmplY3QsIG9uY2UgaXQncyBiZWVuCnNldCB1cCwgY2FuIGJlIHJldXNlZCBhZ2FpbiBhbmQgYWdhaW4gdG8gY29udmVydCBkaWZmZXJlbnQgcGllY2VzIG9mIEJCQ29kZSB0ZXh0IGluIHRoZQpzYW1lIHNjcmlwdC48L3A+Cg==]]></data>
	</file>
	<file>
	  <filename>/docs/doc/src/usage_html.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CjxhIG5hbWU9Im92ZXJ2aWV3Ij48L2E+CjxoND5PdmVydmlldzwvaDQ+Cgo8cD5TbyB5b3Ugc2F5IHRoYXQgeW91IGRvbid0IHJlYWxseSB3YW50IEJCQ29kZSwgYW5kIGp1c3Qgd2FudCBhIHNhZmVyIHZlcnNpb24gb2YgSFRNTCBpbnN0ZWFkPwpNYXliZSB5b3UganVzdCBwcmVmZXIgdGhlIHN5bnRheCBhbmQgc3RydWN0dXJlIG9mIEhUTUwsIG9yIG1heWJlIHlvdSB3YW50IHRvIHVzZSBhIEphdmFzY3JpcHQKV1lTSVdZRyBIVE1MIGVkaXRvciBvbiB5b3VyIHNpdGU/ICBCZWxpZXZlIGl0IG9yIG5vdCwgTkJCQyBjYW4gZG8gSFRNTCBzeW50YXggdG9vLiAgSW4gdGhpcwpzZWN0aW9uLCB3ZSdsbCBkaXNjdXNzIHdoYXQgaXQgdGFrZXMgdG8gaW1wbGVtZW50IGEgInNhZmUgSFRNTCIgdXNpbmcgTkJCQywgYW5kIGxvb2sgYXQgc29tZQpvZiB0aGUgaXNzdWVzIGFuZCBjYXZlYXRzIGludm9sdmVkLjwvcD4KCjxwPkJCQ29kZSBpcyBub3QsIGluIGdlbmVyYWwsIHRoYXQgZGlmZmVyZW50IGZyb20gSFRNTC4gIFRoZXkgYm90aCB1c2UgInRhZ3MiIHRvIHJlcHJlc2VudApkb2N1bWVudCBzdHJ1Y3R1cmUsIGFuZCBhbHRob3VnaCB0aGVpciB0YWdzIGFyZW4ndCB0aGUgc2FtZSwgdGhlcmUgaXMgc29tZSBvdmVybGFwLiAgQkJDb2RlCnRlbmRzIHRvIGZvY3VzIG9uIHByZXNlbnRhdGlvbiwgd2hpbGUgSFRNTCB0ZW5kcyB0byBmb2N1cyBvbiBzdHJ1Y3R1cmUsIGJ1dCBzb21lIHRhZ3MsIGxpa2UKPHR0PltiXTwvdHQ+IGFuZCA8dHQ+Jmx0O2ImZ3Q7PC90dD4gYXJlIG5lYXJseSBpZGVudGljYWwgaW4gYmVoYXZpb3IuICBUaGVzZSBhcmUgdGhlIG1ham9yCmRpZmZlcmVuY2VzIGJldHdlZW4gQkJDb2RlIGFuZCBIVE1MOjwvcD4KCjxvbD4KPGxpPkJCQ29kZSB1c2VzIFticmFja2V0c10gd2hpbGUgSFRNTCB1c2VzICZsdDthbmdsZSBicmFja2V0cyZndDsuPC9saT4KPGxpPkJCQ29kZSB0cmVhdHMgYSBuZXdsaW5lIGFzIGEgcGFyYWdyYXBoIGJyZWFrOyBIVE1MIGlnbm9yZXMgaXQuPC9saT4KPGxpPkhUTUwgYWxsb3dzIHRoZSB1c2Ugb2YgPGk+ZW50aXRpZXM8L2k+LCBjaGFyYWN0ZXIgY29kZXMgcHJvZHVjZWQgYnkgdGhlICImYW1wOyIgY2hhcmFjdGVyLCBzdWNoCglhcyA8dHQ+JmFtcDtsdDs8L3R0PiBhbmQgPHR0PiZhbXA7YW1wOzwvdHQ+IGFuZCA8dHQ+JmFtcDtlYWN1dGU7PC90dD4uPC9saT4KPGxpPkJCQ29kZSBoYXMgbW9zdGx5IHByZXNlbnRhdGlvbiB0YWdzLCB3aGlsZSBIVE1MIGhhcyBtb3N0bHkgc3RydWN0dXJhbCB0YWdzLCBsZWF2aW5nIHByZXNlbnRhdGlvbiB0byBDU1MuPC9saT4KPC9vbD4KCjxwPk5CQkMgaGFzIHNwZWNpZmljIGZlYXR1cmVzIHRvIGFkZHJlc3MgcG9pbnRzIDEsIDIsIGFuZCAzIGFib3ZlOyBwb2ludCA0LCB0aGUgaXNzdWUgb2YKdHJhbnNsYXRpbmcgaW5wdXQgcHNldWRvLUhUTUwgdGFncyBpbnRvIHZhbGlkIG91dHB1dCBIVE1MIGVudGl0aWVzIChpLmUuLCByZXBsYWNpbmcgdGhlClN0YW5kYXJkIEJCQ29kZSBMaWJyYXJ5KSBpcyBsZWZ0IHVwIHRvIHlvdSAoYWx0aG91Z2ggaW4gZnV0dXJlIHZlcnNpb25zIG9mIE5CQkMsIHdlIG1heQphZGQgYSBTdGFuZGFyZCBIVE1MIExpYnJhcnkgaWYgZW5vdWdoIHBlb3BsZSBkZW1hbmQgaXQpLjwvcD4KCjxwPkxldCdzIHRhY2tsZSBlYWNoIG9mIHBvaW50cyAxLCAyLCBhbmQgMyBzZXBhcmF0ZWx5LCBhbmQgdGhlbiBwdXQgdGhlbSBhbGwgdG9nZXRoZXIKYXQgdGhlIGVuZC48L3A+Cgo8YSBuYW1lPSJ0YWdtYXJrZXJzIj48L2E+CjxoND5Td2l0Y2hpbmcgVGFnIE1hcmtlcnM8L2g0PgoKPHA+TkJCQyBsZXRzIHlvdSB1c2UgYW55IG9mIFticmFja2V0c10sICZsdDthbmdsZSBicmFja2V0cyZndDssIHtjdXJseSBicmFjZXN9LCBvciAocGFyZW50aGVzZXMpCnRvIGRlbGluZWF0ZSB5b3VyIHRhZ3MuICAoTW9zdCBsaWtlbHksIHlvdSdsbCB3YW50IGVpdGhlciBbYnJhY2tldHNdIG9yICZsdDthbmdsZSBicmFja2V0cyZndDssCmJ1dCB0aGUgb3RoZXIgdHdvIGFyZSBvZmZlcmVkIGluIGNhc2UgeW91IG5lZWQgdGhlbS4pPC9wPgoKPHA+U3dpdGNoaW5nIGZyb20gdXNpbmcgW2JyYWNrZXRzXSB0byB1c2luZyAmbHQ7YW5nbGUgYnJhY2tldHMmZ3Q7IGlzIGVhc3k6PC9wPgoKPGRpdiBjbGFzcz0nY29kZV9oZWFkZXInPkNvZGU6PC9kaXY+Cjx4bXAgY2xhc3M9J2NvZGUnPiRodG1scGFyc2VyID0gbmV3IEJCQ29kZTsKJGh0bWxwYXJzZXItPlNldFRhZ01hcmtlcignPCcpOwouLi4KJG91dHB1dCA9ICRodG1scGFyc2VyLT5QYXJzZSgkaW5wdXQpOzwveG1wPgoKPHA+VGhlIDxhIGhyZWY9ImFwaV9jb3JlLmh0bWwjcmVmX3BhcnNlcl9TZXRUYWdNYXJrZXIiPlNldFRhZ01hcmtlcjwvYT4gZnVuY3Rpb24gY2hhbmdlcyB0aGUKY3VycmVudCB0YWcgbWFya2VyIHRvIHlvdXIgZGVzaXJlZCBtYXJrZXIuICBOb3RlIHRoYXQgTkJCQyBzdGlsbCBiZWhhdmVzIG90aGVyd2lzZSB0aGUgc2FtZToKSXQgc2ltcGx5IHVzZXMgYSBkaWZmZXJlbnQgY2hhcmFjdGVyIGZvciBtYXJraW5nIHRoZSBzdGFydCBhbmQgZW5kIG9mIHRhZ3MuCjxhIGhyZWY9InVzYWdlX3dpa2kuaHRtbCI+W1tXaWtpLWxpbmtzXV08L2E+IGFyZSBmdWxseSBzdXBwb3J0ZWQgbm8gbWF0dGVyIHdoYXQgdGFnIG1hcmtlcgp5b3UgdXNlLCBhbmQgYWx3YXlzIHVzZSB0aGUgY3VycmVudCB0YWcgbWFya2VyOyBmb3IgZXhhbXBsZSwgaWYgdGhlIHRhZyBtYXJrZXIgaXMgJyZsdDsnLAphIHZhbGlkIHdpa2ktbGluayBtaWdodCBsb29rIGxpa2UgdGhpczogICZsdDsmbHQ7a2V5d29yZCZndDsmZ3Q7PC9wPgoKPHA+VGhlIGRlZmF1bHQgdGFnIG1hcmtlciBpcyAnWycsIGFuZCB5b3UgY2FuIGRldGVybWluZSB0aGUgY3VycmVudCB0YWcgbWFya2VyIGJ5IGNhbGxpbmcKPGEgaHJlZj0iYXBpX2NvcmUuaHRtbCNyZWZfcGFyc2VyX0dldFRhZ01hcmtlciI+R2V0VGFnTWFya2VyPC9hPi48L3A+Cgo8YSBuYW1lPSJuZXdsaW5lcyI+PC9hPgo8aDQ+RGlzYWJsaW5nIE5ld2xpbmUgQnJlYWtzPC9oND4KCjxwPk5vcm1hbGx5LCBOQkJDIHRyZWF0cyBhIG5ld2xpbmUgYXMgdGhlIGVuZCBvZiBhIHBhcmFncmFwaDogIEFuIEhUTUwgPHR0PiZsdDticiZuYnNwOy8mZ3Q7PC90dD4KdGFnIGlzIGluc2VydGVkIGFueXdoZXJlIGEgbmV3bGluZSBhcHBlYXJzLCBleGNlcHQgd2hlbiBpdCdzIGNsb3NlIHRvIGEgdGFnIHRoYXQgcHJvaGliaXRzCm5ld2xpbmVzIG5lYXIgaXQuICBXaGlsZSB0aGlzIGlzIHZlcnkgY29udmVuaWVudCBmb3IgdGhlIHVzZXIsIHRoaXMgaXMgdmVyeSBtdWNoIHVuLUhUTUwtbGlrZSwKYXMgSFRNTCBpcyBhIGZ1bGx5IGZyZWUtZm9ybWF0dGVkIGxhbmd1YWdlOiAgTmV3bGluZXMgbWVhbiBub3RoaW5nIHNwZWNpYWwgaW4gSFRNTC48L3A+Cgo8cD5OQkJDIGNhbiBiZSB0b2xkIHRvIHRyZWF0IG5ld2xpbmVzIGFzIHBsYWluIHdoaXRlc3BhY2UsIGp1c3QgbGlrZSBIVE1MIGRvZXMuICBUbyBkbwp0aGlzLCB5b3UgdXNlIHRoZSA8YSBocmVmPSJhcGlfY29yZS5odG1sI3JlZl9wYXJzZXJfU2V0SWdub3JlTmV3bGluZXMiPlNldElnbm9yZU5ld2xpbmVzPC9hPgpmdW5jdGlvbjo8L3A+Cgo8ZGl2IGNsYXNzPSdjb2RlX2hlYWRlcic+Q29kZTo8L2Rpdj4KPHhtcCBjbGFzcz0nY29kZSc+JGh0bWxwYXJzZXIgPSBuZXcgQkJDb2RlOwokaHRtbHBhcnNlci0+U2V0SWdub3JlTmV3bGluZXModHJ1ZSk7Ci4uLgokb3V0cHV0ID0gJGh0bWxwYXJzZXItPlBhcnNlKCRpbnB1dCk7PC94bXA+Cgo8cD5XaGVuICJpZ25vcmUtbmV3bGluZXMiIGlzIDx0dD50cnVlPC90dD4sIE5CQkMgd2lsbCB0cmVhdCBuZXdsaW5lcyBhbG1vc3QgZXhhY3RseSB0aGUgc2FtZQphcyBpdCB0cmVhdHMgd2hpdGVzcGFjZSwgYW5kIHdpbGwgPGk+bm90PC9pPiBnZW5lcmF0ZSA8dHQ+Jmx0O2JyJm5ic3A7LyZndDs8L3R0PiB0YWdzIGluCnRoZSBvdXRwdXQuICAoSW4gZmFjdCwgdGhlIG9ubHkgZGlmZmVyZW5jZSBiZXR3ZWVuIG5ld2xpbmVzIGFuZCBvdGhlciB3aGl0ZXNwYWNlIGlzIHRoYXQKbmV3bGluZXMgYXJlIHJlZ3VsYXJpemVkIHRvIFVuKnggZm9ybWF0OiAgV2hldGhlciB0aGV5J3JlICJcclxuIiBvciAiXG4iIG9yICJcciIgaW4gdGhlCmlucHV0LCB0aGV5J2xsIGFsd2F5cyBiZSAiXG4iIGluIHRoZSBvdXRwdXQuKTwvcD4KCjxwPkJ5IGRlZmF1bHQsICJpZ25vcmUtbmV3bGluZXMiIGlzIDx0dD5mYWxzZTwvdHQ+LCBhbmQgeW91IGNhbiBkZXRlcm1pbmUgdGhlIGN1cnJlbnQgc3RhdGUKYnkgY2FsbGluZyA8YSBocmVmPSJhcGlfY29yZS5odG1sI3JlZl9wYXJzZXJfR2V0SWdub3JlTmV3bGluZXMiPkdldElnbm9yZU5ld2xpbmVzPC9hPi48L3A+Cgo8YSBuYW1lPSJlbnRpdGllcyI+PC9hPgo8aDQ+QWxsb3dpbmcgSFRNTCBFbnRpdGllczwvaDQ+Cgo8cD5Ob3JtYWxseSwgTkJCQyB0YWtlcyBhbGwgaW5wdXQgY2hhcmFjdGVycyBhbmQgbWFrZXMgdGhlbSBzYWZlIGZvciBIVE1MIG91dHB1dDogIEZvciBleGFtcGxlLAphICZsdDsgc3ltYm9sIGluIHRoZSBpbnB1dCB3aWxsIGJlIHR1cm5lZCBpbnRvIGEgPHR0PiZhbXA7bHQ7PC90dD4gZW50aXR5IGluIHRoZSBvdXRwdXQuClVzdWFsbHksIHRoaXMgaXMgZGVzaXJhYmxlOyBob3dldmVyLCB3aGVuIHlvdSBoYXZlIHNldCB0aGUgdGFnIG1hcmtlciB0byAnPHR0PiZsdDs8L3R0PicsIHlvdQpwcm9iYWJseSB3YW50IEhUTUwgYmVoYXZpb3IsIGFuZCB3YW50IHRvIGJlIGFibGUgdG8gdHlwZSA8dHQ+JmFtcDtsdDs8L3R0PiBpbiB0aGUgaW5wdXQgdG8KZ2V0IGEgJmx0OyBzeW1ib2wgaW4gdGhlIG91dHB1dC48L3A+Cgo8cD5UbyBhbGxvdyBlbnRpdGllcywgeW91IG5lZWQgdG8gYWxsb3cgdGhlIGFtcGVyc2FuZCBjaGFyYWN0ZXIgKCcmYW1wOycpIHRvIGJlIHBhc3NlZCB0aHJvdWdoCnVuY2hhbmdlZCB0byB0aGUgb3V0cHV0LiAgTm9ybWFsbHksIE5CQkMsIHVwb24gc2VlaW5nIGEgJmFtcDsgc3ltYm9sIGluIHRoZSBpbnB1dCwgd2lsbAp0dXJuIGl0IGludG8gPHR0PiZhbXA7YW1wOzwvdHQ+IGluIHRoZSBvdXRwdXQsIHdoaWNoIG1lYW5zIHRoYXQgaWYgeW91IHR5cGUgPHR0PiZhbXA7bHQ7PC90dD4KaW4gdGhlIGlucHV0LCB5b3UnbGwgc2VlIDx0dD4mYW1wO2x0OzwvdHQ+IGluIHRoZSBvdXRwdXQgKHdoaWNoIGlzIGFjdHVhbGx5Cjx0dD4mYW1wO2FtcDtsdDs8L3R0PiBpZiB5b3UgbG9vayBhdCB0aGUgSFRNTCBzb3VyY2UpLiAgQnV0IHRoaXMgaXNuJ3Qgd2hhdCB5b3Ugd2FudAp3aGVuIHlvdSdyZSB0cnlpbmcgdG8gcHJvY2VzcyBIVE1MOiAgWW91IHdhbnQgYSAmYW1wOyBpbiB0aGUgaW5wdXQgdG8gYmUgYW4gJmFtcDsgaW4KdGhlIG91dHB1dC48L3A+Cgo8cD5OQkJDIGluY2x1ZGVzIGEgY29udmVuaWVudCBwYWlyIG9mIGZ1bmN0aW9ucyB0byBjb250cm9sIGhvdyB0aGUgYW1wZXJzYW5kIGNoYXJhY3RlciBpcwpwcm9jZXNzZWQsIHdoZXRoZXIgaXQncyB0cmFuc2xhdGVkIHRvIHNhZmUgSFRNTCBvciB3aGV0aGVyIGl0J3MgcGFzc2VkIHRocm91Z2ggdW5jaGFuZ2VkLgpZb3UgY2FuIGFsbG93ICZhbXA7IHRvIGJlIHBhc3NlZCB0aHJvdWdoIHVuY2hhbmdlZCBsaWtlIHRoaXM6PC9wPgoKPGRpdiBjbGFzcz0nY29kZV9oZWFkZXInPkNvZGU6PC9kaXY+Cjx4bXAgY2xhc3M9J2NvZGUnPiRodG1scGFyc2VyID0gbmV3IEJCQ29kZTsKJGh0bWxwYXJzZXItPlNldEFsbG93QW1wZXJzYW5kKHRydWUpOwouLi4KJG91dHB1dCA9ICRodG1scGFyc2VyLT5QYXJzZSgkaW5wdXQpOzwveG1wPgoKPHA+V2hlbiAiYWxsb3ctYW1wZXJzYW5kIiBpcyA8dHQ+dHJ1ZTwvdHQ+LCB0aGUgYW1wZXJzYW5kIHdpbGwgYmUgcGFzc2VkIHRvIHRoZSBvdXRwdXQKZW50aXJlbHkgdW5jaGFuZ2VkLCB3aGljaCBpcyBleGFjdGx5IHdoYXQgeW91IHdhbnQgd2hlbiBwcm9jZXNzaW5nIEhUTUwuICBUaGUgZGVmYXVsdCBpcwo8dHQ+ZmFsc2U8L3R0PiwgYW5kIHlvdSBjYW4gZGV0ZXJtaW5lIHRoZSBjdXJyZW50IHN0YXRlCmJ5IGNhbGxpbmcgPGEgaHJlZj0iYXBpX2NvcmUuaHRtbCNyZWZfcGFyc2VyX0dldEFsbG93QW1wZXJzYW5kIj5HZXRBbGxvd0FtcGVyc2FuZDwvYT4uPC9wPgoKPGEgbmFtZT0idG9nZXRoZXIiPjwvYT4KPGg0PlB1dHRpbmcgSXQgQWxsIFRvZ2V0aGVyPC9oND4KCjxwPlNvIG5vdyBsZXQncyBhc3NlbWJsZSBhbGwgdGhlc2UgcGllY2VzIGludG8gYSBzaW5nbGUgc2hvcnQgc2NyaXB0IHRoYXQgY2FuIHBhcnNlIEhUTUwuCk91ciBIVE1MIHRhZ3Mgd2lsbCBtYXRjaCB0aGUgQkJDb2RlIHRhZ3MsIGJ1dCBpZiB5b3UgbmVlZCBIVE1MLXNwZWNpZmljIHRhZ3MsIHlvdSBjYW4gYWx3YXlzCmFkZCBzdXBwb3J0IGZvciB0aGVtIHdpdGggPGEgaHJlZj0iYXBpX3J1bGUuaHRtbCNyZWZfcGFyc2VyX0FkZFJ1bGUiPkFkZFJ1bGU8L2E+LiAgKFRoYXQgc2FpZCwKaW4gYSBmdXR1cmUgdmVyc2lvbiBvZiBOQkJDLCB0aGVyZSBtYXkgYmUgYSBTdGFuZGFyZCBIVE1MIExpYnJhcnkgYWRkZWQgaWYgZW5vdWdoIHBlb3BsZSB3YW50Cml0LikgIFNvIHRoaXMgY29kZSBpcyBnZW5lcmFsbHkgd2hhdCB5b3UnbGwgd2FudCBpZiB5b3UncmUgaW1wbGVtZW50aW5nIEhUTUw6PC9wPgoKPGRpdiBjbGFzcz0nY29kZV9oZWFkZXInPkNvZGU6PC9kaXY+Cjx4bXAgY2xhc3M9J2NvZGUnPiRodG1scGFyc2VyID0gbmV3IEJCQ29kZTsKJGh0bWxwYXJzZXItPlNldFRhZ01hcmtlcignPCcpOyAgICAgICAgIC8vIEhUTUwgdXNlcyA8YW5nbGUgYnJhY2tldHM+LgokaHRtbHBhcnNlci0+U2V0SWdub3JlTmV3bGluZXModHJ1ZSk7ICAgLy8gSFRNTCBpcyBmcmVlLWZvcm1hdHRlZC4KJGh0bWxwYXJzZXItPlNldEFsbG93QW1wZXJzYW5kKHRydWUpOyAgIC8vIEhUTUwgdXNlcyAmIGZvciBlc2NhcGluZyBlbnRpdGllcy4KJGh0bWxwYXJzZXItPkRpc2FibGVTbWlsZXlzKCk7ICAgICAgICAgIC8vIEhUTUwgZG9lc24ndCBoYXZlIGJ1aWx0LWluIHNtaWxleXMuCi4uLgokaHRtbHBhcnNlci0+Q2xlYXJSdWxlcygpOyAgICAgICAgICAgICAgLy8gTm8gQkJDb2RlIHJ1bGVzLgokaHRtbHBhcnNlci0+QWRkUnVsZSgicCIsIC4uLik7ICAgICAgICAgLy8gQWxsb3cgdGhlIDxwPiBlbGVtZW50LgokaHRtbHBhcnNlci0+QWRkUnVsZSgiYiIsIC4uLik7ICAgICAgICAgLy8gQWxsb3cgdGhlIDxiPiBlbGVtZW50LgokaHRtbHBhcnNlci0+QWRkUnVsZSgiaSIsIC4uLik7ICAgICAgICAgLy8gQWxsb3cgdGhlIDxpPiBlbGVtZW50LgokaHRtbHBhcnNlci0+QWRkUnVsZSgiYSIsIC4uLik7ICAgICAgICAgLy8gQWxsb3cgdGhlIDxhPiBlbGVtZW50LgokaHRtbHBhcnNlci0+QWRkUnVsZSgicHJlIiwgLi4uKTsgICAgICAgLy8gQWxsb3cgdGhlIDxwcmU+IGVsZW1lbnQuCi4uLgouLi5tb3JlIHJ1bGVzLi4uCi4uLgokb3V0cHV0ID0gJGh0bWxwYXJzZXItPlBhcnNlKCRpbnB1dCk7PC94bXA+Cgo8cD5GaXJzdCwgd2Ugc3dpdGNoIHRvICZsdDtIVE1MJmd0OyB0YWcgbWFya2VycywgYW5kIHdlIHRyZWF0IG5ld2xpbmVzIGFzIHBsYWluIHdoaXRlc3BhY2UsCmFuZCB3ZSBhbGxvdyBhbXBlcmFuZHMgdG8gYmUgdXNlZCB0byBwcm92aWRlIGVudGl0aWVzLiAgVGhlbiB3ZSByZW1vdmUgYWxsIHRoZSBCQkNvZGUgcnVsZXMsCmFuZCBhZGQgcnVsZXMgc3BlY2lmaWMgdG8gSFRNTC4gIEFuZCB0aGF0J3MgYWxsIGl0IHRha2VzLjwvcD4K]]></data>
	</file>
	<file>
	  <filename>/docs/doc/src/usage_img.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CjxwPlRoZSBCQkNvZGUgPHR0PltpbWddPC90dD4gdGFnIGhhcyBiZWVuIHVzZWQgc2luY2UgQkJDb2RlJ3MgaW5jZXB0aW9uIHRvIHN1cHBvcnQKaW5zZXJ0aW9uIG9mIGltYWdlcyBpbnRvIGEgZG9jdW1lbnQsIGFuZCBOQkJDIHN1cHBvcnRzIHRoaXMgYXMgd2VsbC4gIFR5cGljYWxseSwKdGhlc2UgaW1hZ2VzIGFyZSBsb2NhdGVkIG9uIGFub3RoZXIgc2VydmVyLCB0aG91Z2gsIGFuZCBhIGZ1bGwgVVJMIGlzIHVzZWQgd2l0aCB0aGUKPHR0PltpbWddPC90dD4gdGFnOiAgRm9yIGV4YW1wbGUsIGl0J3Mgbm90IHVudXN1YWwgdG8gc2VlIHNvbWV0aGluZyBsaWtlIHRoaXMgaW4gQkJDb2RlOjwvcD4KCjxkaXYgY2xhc3M9J2NvZGVfaGVhZGVyJz5Db2RlOjwvZGl2Pgo8eG1wIGNsYXNzPSdjb2RlJz5baW1nXWh0dHA6Ly9pbWcucGhvdG9idWNrZXQuY29tL2FsYnVtcy92NjMvcGhhbnRvbS1pbmtlci9vdGhlci9mb3J1bS1tb2QucG5nWy9pbWddPC94bXA+CjxkaXYgY2xhc3M9J291dHB1dF9oZWFkZXInPk91dHB1dDo8L2Rpdj4KPGRpdiBjbGFzcz0nb3V0cHV0Jz48aW1nIHNyYz0iaHR0cDovL2ltZy5waG90b2J1Y2tldC5jb20vYWxidW1zL3Y2My9waGFudG9tLWlua2VyL290aGVyL2ZvcnVtLW1vZC5wbmciIHdpZHRoPSc5MScgaGVpZ2h0PScxMDAnIGFsdD0iZm9ydW0tbW9kLnBuZyIgLz48L2Rpdj4KCjxwPk1hbnkgb2YgdGhlIHBpY3R1cmVzIHRoYXQgZ2V0IGluY2x1ZGVkLCBob3dldmVyLCBhbGwgY29tZSBmcm9tIHRoZSBzYW1lIHdlYiBzaXRlLCBiZSBpdAphIHJlbW90ZSBpbWFnZSBob3N0IGxpa2UgUGhvdG9idWNrZXQsIG9yIHRoZSBsb2NhbCBob3N0IG9uIHdoaWNoIE5CQkMgaXRzZWxmIGlzIHRvIGJlIHJ1bm5pbmcuCkJlY2F1c2Ugb2YgdGhpcywgTkJCQyBvZmZlcnMgYSBzcGVjaWFsIHN5bnRheCB0aGF0IG1ha2VzIGluY2x1c2lvbiBvZiBpbWFnZXMgZnJvbSB0aGUgc2FtZQpsb2NhdGlvbiBtdWNoIGVhc2llci4gIFRoaXMgY2FuIGJlIHVzZWQgdG8gc2ltcGxpZnkgVVJMcywgb3IgaXQgaXMgbW9yZSBmcmVxdWVudGx5IHVzZWQgdG8Kb2ZmZXIgYSBsb2NhbCBncm91cCBvZiBpbWFnZXMgdGhhdCB5b3VyIHVzZXJzIGNhbiBlYXNpbHkgbGluayB0by48L3A+Cgo8cD5MZXQncyBsb29rIGF0IHRoaXMgd2l0aCBhbiBleGFtcGxlLiAgTGV0J3Mgc2F5IHRoYXQgeW91IGhhdmUgYSBzZXJ2ZXIgbmFtZWQKPHR0Pmh0dHA6Ly93d3cuZXhhbXBsZS5jb208L3R0PiwgYW5kIHlvdSBhcmUgdXNpbmcgTkJCQyBoZXJlOgo8dHQ+aHR0cDovL3d3dy5leGFtcGxlLmNvbS9mb28vYmFyL25iYmMucGhwPC90dD4uICBZb3UgaGF2ZSBhbHNvIGluc3RhbGxlZCBhIHNpbXBsZQppbWFnZS1nYWxsZXJ5IHBhY2thZ2UsIHNvIHRoYXQgcGVvcGxlIGNhbiB1cGxvYWQgdGhlaXIgaW1hZ2VzIHRvIHlvdXIgc2VydmVyLCBhbmQKaXQgd2lsbCBzdG9yZSBpdHMgaW1hZ2VzIGluIDx0dD5odHRwOi8vd3d3LmV4YW1wbGUuY29tL2Zvby9pbWFnZXM8L3R0Pi4gIE5vdyBpZiBhCnVzZXIgd2FudHMgdG8gaW5jbHVkZSBhbiBpbWFnZSBuYW1lZCAiPHR0PmJpbGwuanBnPC90dD4iIHRoYXQgaGUncyBqdXN0IHVwbG9hZGVkLApub3JtYWxseSwgaGUnZCBoYXZlIHRvIHR5cGUgdGhpczo8L3A+Cgo8ZGl2IGNsYXNzPSdjb2RlX2hlYWRlcic+Q29kZTo8L2Rpdj4KPHhtcCBjbGFzcz0nY29kZSc+W2ltZ11odHRwOi8vd3d3LmV4YW1wbGUuY29tL2Zvby9pbWFnZXMvYmlsbC5qcGdbL2ltZ108L3htcD4KCjxwPlRoYXQncyBwcmV0dHkgZXhjZXNzaXZlLCB0aG91Z2gsIGVzcGVjaWFsbHkgc2luY2UgbW9zdCBvZiB0aGUgaW1hZ2VzIHRoYXQgaGUgYW5kCm90aGVyIHVzZXJzIG9mIHRoaXMgc2l0ZSB3aWxsIGJlIGxvY2F0ZWQgaW4gdGhhdCBzYW1lIDx0dD5pbWFnZXMvPC90dD4gZGlyZWN0b3J5LiAgU28KTkJCQyBwcm92aWRlcyBpdHMgPGk+bG9jYWwgaW1hZ2VzPC9pPiBzeXN0ZW0gdG8gc2ltcGxpZnkgZXhhY3RseSB0aGlzIGNvbW1vbiBjYXNlLgpJbiB5b3VyIFBIUCBjb2RlLCB5b3UgbWlnaHQgZmlyc3Qgd3JpdGUgdGhpczo8L3A+Cgo8ZGl2IGNsYXNzPSdjb2RlX2hlYWRlcic+Q29kZTo8L2Rpdj4KPHhtcCBjbGFzcz0nY29kZSc+JGJiY29kZSA9IG5ldyBCQkNvZGU7CiRiYmNvZGUtPlNldExvY2FsSW1nVVJMKCJodHRwOi8vd3d3LmV4YW1wbGUuY29tL2Zvby9pbWFnZXMvIik7CiRiYmNvZGUtPlNldExvY2FsSW1nRGlyKCIvaG9tZS9leGFtcGxlLmNvbS9mb28vaW1hZ2VzLyIpOzwveG1wPgoKPHA+KE5vdGUgdGhhdCB0aGUgbG9jYWwgaW1hZ2UgZGlyZWN0b3J5IHBhc3NlZCB0byA8YSBocmVmPSJhcGlfcmVwbC5odG1sI3JlZl9wYXJzZXJfU2V0TG9jYWxJbWdEaXIiPjx0dD5TZXRMb2NhbEltZ0RpcigpPC90dD48L2E+CjxpPm11c3Q8L2k+IGJlIHRoZSBmdWxsIHNlcnZlciBwYXRoIHRvIHRoZSBsb2NhbCBpbWFnZSBkaXJlY3Rvcnk7IGFuZCB0aGUgYWRkcmVzcyBnaXZlbiB0byA8YSBocmVmPSJhcGlfcmVwbC5odG1sI3JlZl9wYXJzZXJfU2V0TG9jYWxJbWdVUkwiPjx0dD5TZXRMb2NhbEltZ1VSTCgpPC90dD48L2E+CnNob3VsZCBtYXRjaCB0aGF0IGxvY2F0aW9uLCBvbmx5IGFzIGEgZ2xvYmFsIFVSTC4pPC9wPgoKPHA+T25jZSB5b3UndmUgc2V0IHRoaXMgdXAsIHRoYXQgdXNlciBjYW4gbm93IG11Y2ggbW9yZSBlYXNpbHkgaW5jbHVkZSBhbnkgZmlsZSBpbgp0aGF0IGRpcmVjdG9yeTo8L3A+Cgo8ZGl2IGNsYXNzPSdjb2RlX2hlYWRlcic+Q29kZTo8L2Rpdj4KPHhtcCBjbGFzcz0nY29kZSc+W2ltZ11iaWxsLmpwZ1svaW1nXTwveG1wPgoKPHA+U28gYW55IHBhdGggZ2l2ZW4gdG8gdGhlIDx0dD5baW1nXTwvdHQ+IHRhZyB0aGF0IGRvZXMgbm90IGluY2x1ZGUgYSBwcm90b2NvbCAoc3VjaCBhcyA8dHQ+aHR0cDo8L3R0PiwKPHR0PmZ0cDo8L3R0Piwgb3IgPHR0Pmh0dHBzOjwvdHQ+KSwgYW5kIHRoYXQgZG9lcyBub3Qgc3RhcnQgd2l0aCBhIDx0dD5cPC90dD4gb3IgYSA8dHQ+LzwvdHQ+IHdpbGwgYmUKdHJlYXRlZCBhcyBhIHBhdGggdG8gYSA8aT5sb2NhbCBpbWFnZTwvaT4sIGFuIGltYWdlIHNvbWV3aGVyZSB1bmRlciB0aGUgY3VycmVudCBsb2NhbCBpbWFnZSBkaXJlY3RvcnkuCk5CQkMgd2lsbCBzZW5zaWJseSBvbmx5IGluY2x1ZGUgaW1hZ2VzIHRoYXQgYXJlIGFjdHVhbCBpbWFnZXMsIGFuZCBmb3Igc2VjdXJpdHkgcmVhc29ucywgaXQgd2lsbCBhbHNvCmRpc2FsbG93IHRoZSB1c2Ugb2YgPHR0Pi4uPC90dD4gaW4gYSBmaWxlbmFtZS48L3A+Cg==]]></data>
	</file>
	<file>
	  <filename>/docs/doc/src/usage_limit.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CjxwPk9mdGVuIHdoZW4gYnVpbGRpbmcgYXBwbGljYXRpb25zIHRoYXQgdXNlIEJCQ29kZSwgaXQgY2FuIGJlIHVzZWZ1bCB0byBnZW5lcmF0ZQpwYXJ0aWFsIEhUTUwgb3V0cHV0IG9yIHNpbXBsaWZpZWQgSFRNTCBvdXRwdXQgb3IgZXZlbiBwbGFpbi10ZXh0IG91dHB1dCBmcm9tIHRoZQpCQkNvZGUgc291cmNlLiAgRm9yIGV4YW1wbGUsIGFuIFJTUyBmZWVkIGZvciBhIGJsb2cgbWlnaHQgcmVxdWlyZSBvbmx5IHNob3J0IGV4Y2VycHRzCmZyb20gZWFjaCBibG9nIHBvc3RpbmcuICBTYWRseSwgc2ltcGx5IGN1dHRpbmcgb2ZmIHRoZSBpbnB1dCBvciBvdXRwdXQgd29uJ3QgZG8gdGhlCmpvYjogIEhvdyBkbyB5b3Uga25vdyB0aGF0IHlvdSBoYXZlbid0IGJyb2tlbiB0aGUgdGV4dCBpbiB0aGUgbWlkZGxlIG9mIGEgd29yZCwKb3Igd29yc2UsIGluIHRoZSBtaWRkbGUgb2YgYSB0YWc/PC9wPgoKPHA+TkJCQyB2MS4yIGFuZCBsYXRlciBpbmNsdWRlcyBzb21lIHNwZWNpYWwgZnVuY3Rpb25zIHRvIGhhbmRsZSBleGFjdGx5IHRoaXMKcHJvYmxlbTogIFlvdSBjYW4gdGVsbCBpdCB0byBjdXQgc2hvcnQgdGhlIHRleHQsIG9yIHByb2R1Y2Ugc2ltcGxpZmllZCBIVE1MIG9yCnBsYWluLXRleHQgb3V0cHV0LCBhbmQgaXQgd2lsbCBhbHdheXMgZG8gaXQgYmV0d2VlbiB3b3JkcywgbmV2ZXIgYnJlYWsgb3IgZGFtYWdlCmEgdGFnLCBhbmQgd2lsbCBhbHdheXMgb3V0cHV0IHByb3BlciBlbmRpbmcgSFRNTCB0YWdzIG5vIG1hdHRlciB3aGVyZSB5b3UgYXNrCml0IHRvIGJyZWFrIHRoZSBpbnB1dCB0ZXh0LiAgSW4gdGhpcyBzZWN0aW9uLCB3ZSdsbCBsb29rIGF0IGhvdyB0byB1c2UgdGhlCmZlYXR1cmVzIE5CQkMgcHJvdmlkZXMgdG8gc3VwcG9ydCB0aGVzZSBuZWVkcywgYW5kIGhvdyB0byBjb21iaW5lIHRoZXNlIGZlYXR1cmVzCnRvIHByb2R1Y2UgdXNlZnVsLCBwcmFjdGljYWwgcmVzdWx0cy48L3A+Cgo8cD5PbmUgc2lkZSBub3RlIGJlZm9yZSB3ZSBiZWdpbjogIEluIHRoZSA8dHQ+ZXhhbXBsZXMvPC90dD4gZGlyZWN0b3J5IGluY2x1ZGVkCndpdGggTkJCQywgdGhlcmUgaXMgYSA8dHQ+bGltaXRfZXhhbXBsZS5waHA8L3R0PiBwcm9ncmFtIHRoYXQgZGVtb25zdHJhdGVzIGFsbCBvZgp0aGVzZSB0ZWNobmlxdWVzLiAgSWYgeW91J3JlIGZlZWxpbmcgaW1wYXRpZW50IGFuZCBkb24ndCB3YW50IHRvIHJlYWQgdGhpcyBhbmQKanVzdCB3YW50IHRvIHNlZSBob3cgYSBzaW1wbGUgd29ya2luZyBwcm9ncmFtIGRvZXMgaXQsIGdvIHN0dWR5IHRoYXQgb25lLjwvcD4KCjxhIG5hbWU9ImxpbWl0Ij48L2E+CjxoND5MaW1pdGluZyBMZW5ndGhzPC9oND4KCjxwPkxldCdzIHNheSB0aGF0IHlvdSBoYXZlIGEgaHVnZSBjaHVuayBvZiB0ZXh0LiAgUmVhbGx5IGh1Z2UuICBNb25zdHJvdXNseSBodWdlLgpBbmQgeW91IHdhbnQgdG8gdHJpbSBpdCBkb3duIHRvIGEgc3ZlbHRlLCBzYXksIDIwMCBjaGFyYWN0ZXJzIG9yIGxlc3MsIHNvbWV0aGluZwp0aGF0IGNhbiBiZSBwb3N0ZWQgYXMgYSBvbmUtb3ItdHdvLWxpbmUgYmx1cmIgc29tZXdoZXJlLiAgTkJCQyBtYWtlcyB0aGlzIGVhc3kKd2l0aCBpdHMgPGEgaHJlZj0iYXBpX2JlaHYuaHRtbCNyZWZfcGFyc2VyX1NldExpbWl0Ij5TZXRMaW1pdCgpPC9hPiBmdW5jdGlvbi48L3A+Cgo8cD5TZXRMaW1pdCgpIHRha2VzIGFzIGEgcGFyYW1ldGVyIHRoZSBtYXhpbXVtIG51bWJlciBvZiB0ZXh0IGNoYXJhY3RlcnMgeW91IHdhbnQKTkJCQyB0byBvdXRwdXQuICBUaGlzIGlzIG5vdCB0aGUgc2FtZSBhcyB0aGUgbnVtYmVyIG9mIDxpPmNoYXJhY3RlcnM8L2k+IHlvdSB3YW50Ck5CQkMgdG8gb3V0cHV0LiAgV2hhdCdzIHRoZSBkaWZmZXJlbmNlPyAgPGk+VGFnczwvaT4uICBJbiBOQkJDJ3Mgd2F5IG9mIHRoaW5raW5nLAp3aGVuIHlvdSBjdXQgb2ZmIHRleHQsIHlvdSBkb24ndCBjYXJlIGFib3V0IHRoZSBIVE1MIHRhZ3MsIHdoaWNoIHVzdWFsbHkgY2FuJ3QgYmUKc2VlbiBhbnl3YXk7IHlvdSBvbmx5IGNhcmUgYWJvdXQgdGhlIGFjdHVhbCB0ZXh0IGl0c2VsZiwgdGhlIHdvcmRzIHRoZSB1c2VyIHNlZXMuClNvIHRoZSBmb2xsb3dpbmcgdHdvIGNvZGUgYmxvY2tzIGhhdmUgZGlmZmVyZW50IHBoeXNpY2FsIGxlbmd0aHMsIGJ1dCB0aGUgc2FtZSBudW1iZXIKb2YgdGV4dCBjaGFyYWN0ZXJzIHRoYXQgdGhlIHVzZXIgd2lsbCBzZWU6PC9wPgoKPHhtcCBjbGFzcz0nY29kZSc+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wcyBzbGlnaHRseQp0byB0aGUgbGVmdCBvZiB0aGUgbGF6eSBkb2cuPC94bXA+Cgo8eG1wIGNsYXNzPSdjb2RlJz5UaGUgcXVpY2sgPGk+YnJvd248L2k+IGZveCBqdW1wcyBzbGlnaHRseQp0byB0aGUgPGI+bGVmdDwvYj4gb2YgdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cubGF6eWRvZy5jb20iPmxhenkgZG9nPC9hPi48L3htcD4KCjxwPkluIGJvdGggY2FzZXMsIHRoZSB1c2VyIHdpbGwgc2VlIHRoZSBzYW1lIHNlbnRlbmNlLCBzbyBOQkJDIGNvbnNpZGVycyB0aGVzZSB0bwpiZSBlcXVhbCBmcm9tIGEgdGV4dC1sZW5ndGggcGVyc3BlY3RpdmU6ICBUaGUgaXRhbGljcyBhbmQgYm9sZGZhY2UgYW5kIGxpbmsgZG9uJ3QKZmFjdG9yIGludG8gdGhlIHRleHQgbGVuZ3RoLjwvcD4KCjxwPlNvIGxldCdzIGxvb2sgYXQgYW4gZXhhbXBsZSBwcm9ncmFtIG5vdyBhbmQgc2VlIGhvdyB0aGlzIHdvcmtzLiAgVGhpcyBleGFtcGxlCnByb2dyYW0gd2lsbCBwcm9kdWNlIGEgbmljZSBsb25nIGNvcHkgb2YgdGhlIGJlZ2lubmluZyBwYXJhZ3JhcGhzIG9mIHRoZSBEZWNsYXJhdGlvbgpvZiBJbmRlcGVuZGVuY2UsIG5lYXRseSBmb3JtYXR0ZWQsIGFuZCBzaWduZWQgYnkgdGhlIGF1dGhvcjo8L3A+Cgo8ZGl2IGNsYXNzPSdjb2RlX2hlYWRlcic+Q29kZTo8L2Rpdj4KPHhtcCBjbGFzcz0nY29kZSc+JGlucHV0ID0gPDw8IEVPSQpGcm9tIFt1cmw9aHR0cDovL3d3dy51c2hpc3Rvcnkub3JnL0RlY2xhcmF0aW9uL2RvY3VtZW50L2luZGV4Lmh0bV11c2hpc3Rvcnkub3JnWy91cmxdOgoKW2NlbnRlcl1bYl1bc2l6ZT01XUluIENPTkdSRVNTLCBKdWx5IDQsIDE3NzZbL3NpemVdClRoZSB1bmFuaW1vdXMgRGVjbGFyYXRpb24gb2YgdGhlIHRoaXJ0ZWVuIHVuaXRlZCBTdGF0ZXMgb2YgQW1lcmljYVsvYl1bL2NlbnRlcl0KCltiXVtzaXplPTZdV1svc2l6ZV1bL2JdaGVuIGluIHRoZSBDb3Vyc2Ugb2YgaHVtYW4gZXZlbnRzIGl0IGJlY29tZXMgbmVjZXNzYXJ5IGZvciBvbmUKcGVvcGxlIHRvIGRpc3NvbHZlIHRoZSBwb2xpdGljYWwgYmFuZHMgd2hpY2ggaGF2ZSBjb25uZWN0ZWQgdGhlbSB3aXRoIGFub3RoZXIgYW5kIHRvCmFzc3VtZSBhbW9uZyB0aGUgcG93ZXJzIG9mIHRoZSBlYXJ0aCwgdGhlIHNlcGFyYXRlIGFuZCBlcXVhbCBzdGF0aW9uIHRvIHdoaWNoIHRoZSBMYXdzCm9mIE5hdHVyZSBhbmQgb2YgTmF0dXJlJ3MgR29kIGVudGl0bGUgdGhlbSwgYSBkZWNlbnQgcmVzcGVjdCB0byB0aGUgb3BpbmlvbnMgb2YgbWFua2luZApyZXF1aXJlcyB0aGF0IHRoZXkgc2hvdWxkIGRlY2xhcmUgdGhlIGNhdXNlcyB3aGljaCBpbXBlbCB0aGVtIHRvIHRoZSBzZXBhcmF0aW9uLgoKV2UgaG9sZCB0aGVzZSB0cnV0aHMgdG8gYmUgc2VsZi1ldmlkZW50LCB0aGF0IGFsbCBtZW4gYXJlIGNyZWF0ZWQgZXF1YWwsIHRoYXQgdGhleSBhcmUKZW5kb3dlZCBieSB0aGVpciBDcmVhdG9yIHdpdGggY2VydGFpbiB1bmFsaWVuYWJsZSBSaWdodHMsIHRoYXQgYW1vbmcgdGhlc2UgYXJlIExpZmUsCkxpYmVydHkgYW5kIHRoZSBwdXJzdWl0IG9mIEhhcHBpbmVzcy4gLS0gVGhhdCB0byBzZWN1cmUgdGhlc2UgcmlnaHRzLCBHb3Zlcm5tZW50cyBhcmUKaW5zdGl0dXRlZCBhbW9uZyBNZW4sIGRlcml2aW5nIHRoZWlyIGp1c3QgcG93ZXJzIGZyb20gdGhlIGNvbnNlbnQgb2YgdGhlIGdvdmVybmVkLCAtLQpUaGF0IHdoZW5ldmVyIGFueSBGb3JtIG9mIEdvdmVybm1lbnQgYmVjb21lcyBkZXN0cnVjdGl2ZSBvZiB0aGVzZSBlbmRzLCBpdCBpcyB0aGUgUmlnaHQKb2YgdGhlIFBlb3BsZSB0byBhbHRlciBvciB0byBhYm9saXNoIGl0LCBhbmQgdG8gaW5zdGl0dXRlIG5ldyBHb3Zlcm5tZW50LCBsYXlpbmcgaXRzCmZvdW5kYXRpb24gb24gc3VjaCBwcmluY2lwbGVzIGFuZCBvcmdhbml6aW5nIGl0cyBwb3dlcnMgaW4gc3VjaCBmb3JtLCBhcyB0byB0aGVtIHNoYWxsCnNlZW0gbW9zdCBsaWtlbHkgdG8gZWZmZWN0IHRoZWlyIFNhZmV0eSBhbmQgSGFwcGluZXNzLiBQcnVkZW5jZSwgaW5kZWVkLCB3aWxsIGRpY3RhdGUKdGhhdCBHb3Zlcm5tZW50cyBsb25nIGVzdGFibGlzaGVkIHNob3VsZCBub3QgYmUgY2hhbmdlZCBmb3IgbGlnaHQgYW5kIHRyYW5zaWVudCBjYXVzZXM7CmFuZCBhY2NvcmRpbmdseSBhbGwgZXhwZXJpZW5jZSBoYXRoIHNoZXduIHRoYXQgbWFua2luZCBhcmUgbW9yZSBkaXNwb3NlZCB0byBzdWZmZXIsCndoaWxlIGV2aWxzIGFyZSBzdWZmZXJhYmxlIHRoYW4gdG8gcmlnaHQgdGhlbXNlbHZlcyBieSBhYm9saXNoaW5nIHRoZSBmb3JtcyB0byB3aGljaAp0aGV5IGFyZSBhY2N1c3RvbWVkLiBCdXQgd2hlbiBhIGxvbmcgdHJhaW4gb2YgYWJ1c2VzIGFuZCB1c3VycGF0aW9ucywgcHVyc3VpbmcKaW52YXJpYWJseSB0aGUgc2FtZSBPYmplY3QgZXZpbmNlcyBhIGRlc2lnbiB0byByZWR1Y2UgdGhlbSB1bmRlciBhYnNvbHV0ZSBEZXNwb3Rpc20sIGl0CmlzIHRoZWlyIHJpZ2h0LCBpdCBpcyB0aGVpciBkdXR5LCB0byB0aHJvdyBvZmYgc3VjaCBHb3Zlcm5tZW50LCBhbmQgdG8gcHJvdmlkZSBuZXcKR3VhcmRzIGZvciB0aGVpciBmdXR1cmUgc2VjdXJpdHkuIC0tIFN1Y2ggaGFzIGJlZW4gdGhlIHBhdGllbnQgc3VmZmVyYW5jZSBvZiB0aGVzZQpDb2xvbmllczsgYW5kIHN1Y2ggaXMgbm93IHRoZSBuZWNlc3NpdHkgd2hpY2ggY29uc3RyYWlucyB0aGVtIHRvIGFsdGVyIHRoZWlyIGZvcm1lcgpTeXN0ZW1zIG9mIEdvdmVybm1lbnQuIFRoZSBoaXN0b3J5IG9mIHRoZSBwcmVzZW50IEtpbmcgb2YgR3JlYXQgQnJpdGFpbiBpcyBhIGhpc3RvcnkKb2YgcmVwZWF0ZWQgaW5qdXJpZXMgYW5kIHVzdXJwYXRpb25zLCBhbGwgaGF2aW5nIGluIGRpcmVjdCBvYmplY3QgdGhlIGVzdGFibGlzaG1lbnQgb2YKYW4gYWJzb2x1dGUgVHlyYW5ueSBvdmVyIHRoZXNlIFN0YXRlcy4gVG8gcHJvdmUgdGhpcywgbGV0IEZhY3RzIGJlIHN1Ym1pdHRlZCB0byBhCmNhbmRpZCB3b3JsZC4KCltyaWdodF1bY29sb3I9Z3JlZW5dW2ldLS0tIHdyaXR0ZW4gYnkgVGhvbWFzIEplZmZlcnNvblsvaV1bL2NvbG9yXVsvcmlnaHRdCkVPSTsKCiRiYmNvZGUgPSBuZXcgQkJDb2RlOwokb3V0cHV0ID0gJGJiY29kZS0+UGFyc2UoJGlucHV0KTs8L3htcD4KCjxkaXYgY2xhc3M9J291dHB1dF9oZWFkZXInPk91dHB1dDo8L2Rpdj4KPGRpdiBjbGFzcz0nb3V0cHV0Jz4KPGRpdiBjbGFzcz0nYmJjb2RlJyBzdHlsZT0nbWFyZ2luOjFlbTsnPkZyb20gPGEgaHJlZj0iaHR0cDovL3d3dy51c2hpc3Rvcnkub3JnL0RlY2xhcmF0aW9uL2RvY3VtZW50L2luZGV4Lmh0bSIgY2xhc3M9ImJiY29kZV91cmwiPnVzaGlzdG9yeS5vcmc8L2E+OjxiciAvPgoKPGRpdiBjbGFzcz0iYmJjb2RlX2NlbnRlciIgc3R5bGU9InRleHQtYWxpZ246Y2VudGVyIj4KPGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxLjVlbSI+SW4gQ09OR1JFU1MsIEp1bHkgNCwgMTc3Njwvc3Bhbj48YnIgLz4KVGhlIHVuYW5pbW91cyBEZWNsYXJhdGlvbiBvZiB0aGUgdGhpcnRlZW4gdW5pdGVkIFN0YXRlcyBvZiBBbWVyaWNhPC9iPgo8L2Rpdj4KPGJyIC8+CjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6Mi4wZW0iPlc8L3NwYW4+PC9iPmhlbiBpbiB0aGUgQ291cnNlIG9mIGh1bWFuIGV2ZW50cyBpdCBiZWNvbWVzIG5lY2Vzc2FyeSBmb3Igb25lIHBlb3BsZSB0byBkaXNzb2x2ZSB0aGUgcG9saXRpY2FsIGJhbmRzIHdoaWNoIGhhdmUgY29ubmVjdGVkIHRoZW0gd2l0aCBhbm90aGVyIGFuZCB0byBhc3N1bWUgYW1vbmcgdGhlIHBvd2VycyBvZiB0aGUgZWFydGgsIHRoZSBzZXBhcmF0ZSBhbmQgZXF1YWwgc3RhdGlvbiB0byB3aGljaCB0aGUgTGF3cyBvZiBOYXR1cmUgYW5kIG9mIE5hdHVyZSdzIEdvZCBlbnRpdGxlIHRoZW0sIGEgZGVjZW50IHJlc3BlY3QgdG8gdGhlIG9waW5pb25zIG9mIG1hbmtpbmQgcmVxdWlyZXMgdGhhdCB0aGV5IHNob3VsZCBkZWNsYXJlIHRoZSBjYXVzZXMgd2hpY2ggaW1wZWwgdGhlbSB0byB0aGUgc2VwYXJhdGlvbi48YnIgLz4KPGJyIC8+CldlIGhvbGQgdGhlc2UgdHJ1dGhzIHRvIGJlIHNlbGYtZXZpZGVudCwgdGhhdCBhbGwgbWVuIGFyZSBjcmVhdGVkIGVxdWFsLCB0aGF0IHRoZXkgYXJlIGVuZG93ZWQgYnkgdGhlaXIgQ3JlYXRvciB3aXRoIGNlcnRhaW4gdW5hbGllbmFibGUgUmlnaHRzLCB0aGF0IGFtb25nIHRoZXNlIGFyZSBMaWZlLCBMaWJlcnR5IGFuZCB0aGUgcHVyc3VpdCBvZiBIYXBwaW5lc3MuIC0tIFRoYXQgdG8gc2VjdXJlIHRoZXNlIHJpZ2h0cywgR292ZXJubWVudHMgYXJlIGluc3RpdHV0ZWQgYW1vbmcgTWVuLCBkZXJpdmluZyB0aGVpciBqdXN0IHBvd2VycyBmcm9tIHRoZSBjb25zZW50IG9mIHRoZSBnb3Zlcm5lZCwgLS0gVGhhdCB3aGVuZXZlciBhbnkgRm9ybSBvZiBHb3Zlcm5tZW50IGJlY29tZXMgZGVzdHJ1Y3RpdmUgb2YgdGhlc2UgZW5kcywgaXQgaXMgdGhlIFJpZ2h0IG9mIHRoZSBQZW9wbGUgdG8gYWx0ZXIgb3IgdG8gYWJvbGlzaCBpdCwgYW5kIHRvIGluc3RpdHV0ZSBuZXcgR292ZXJubWVudCwgbGF5aW5nIGl0cyBmb3VuZGF0aW9uIG9uIHN1Y2ggcHJpbmNpcGxlcyBhbmQgb3JnYW5pemluZyBpdHMgcG93ZXJzIGluIHN1Y2ggZm9ybSwgYXMgdG8gdGhlbSBzaGFsbCBzZWVtIG1vc3QgbGlrZWx5IHRvIGVmZmVjdCB0aGVpciBTYWZldHkgYW5kIEhhcHBpbmVzcy4gUHJ1ZGVuY2UsIGluZGVlZCwgd2lsbCBkaWN0YXRlIHRoYXQgR292ZXJubWVudHMgbG9uZyBlc3RhYmxpc2hlZCBzaG91bGQgbm90IGJlIGNoYW5nZWQgZm9yIGxpZ2h0IGFuZCB0cmFuc2llbnQgY2F1c2VzOyBhbmQgYWNjb3JkaW5nbHkgYWxsIGV4cGVyaWVuY2UgaGF0aCBzaGV3biB0aGF0IG1hbmtpbmQgYXJlIG1vcmUgZGlzcG9zZWQgdG8gc3VmZmVyLCB3aGlsZSBldmlscyBhcmUgc3VmZmVyYWJsZSB0aGFuIHRvIHJpZ2h0IHRoZW1zZWx2ZXMgYnkgYWJvbGlzaGluZyB0aGUgZm9ybXMgdG8gd2hpY2ggdGhleSBhcmUgYWNjdXN0b21lZC4gQnV0IHdoZW4gYSBsb25nIHRyYWluIG9mIGFidXNlcyBhbmQgdXN1cnBhdGlvbnMsIHB1cnN1aW5nIGludmFyaWFibHkgdGhlIHNhbWUgT2JqZWN0IGV2aW5jZXMgYSBkZXNpZ24gdG8gcmVkdWNlIHRoZW0gdW5kZXIgYWJzb2x1dGUgRGVzcG90aXNtLCBpdCBpcyB0aGVpciByaWdodCwgaXQgaXMgdGhlaXIgZHV0eSwgdG8gdGhyb3cgb2ZmIHN1Y2ggR292ZXJubWVudCwgYW5kIHRvIHByb3ZpZGUgbmV3IEd1YXJkcyBmb3IgdGhlaXIgZnV0dXJlIHNlY3VyaXR5LiAtLSBTdWNoIGhhcyBiZWVuIHRoZSBwYXRpZW50IHN1ZmZlcmFuY2Ugb2YgdGhlc2UgQ29sb25pZXM7IGFuZCBzdWNoIGlzIG5vdyB0aGUgbmVjZXNzaXR5IHdoaWNoIGNvbnN0cmFpbnMgdGhlbSB0byBhbHRlciB0aGVpciBmb3JtZXIgU3lzdGVtcyBvZiBHb3Zlcm5tZW50LiBUaGUgaGlzdG9yeSBvZiB0aGUgcHJlc2VudCBLaW5nIG9mIEdyZWF0IEJyaXRhaW4gaXMgYSBoaXN0b3J5IG9mIHJlcGVhdGVkIGluanVyaWVzIGFuZCB1c3VycGF0aW9ucywgYWxsIGhhdmluZyBpbiBkaXJlY3Qgb2JqZWN0IHRoZSBlc3RhYmxpc2htZW50IG9mIGFuIGFic29sdXRlIFR5cmFubnkgb3ZlciB0aGVzZSBTdGF0ZXMuIFRvIHByb3ZlIHRoaXMsIGxldCBGYWN0cyBiZSBzdWJtaXR0ZWQgdG8gYSBjYW5kaWQgd29ybGQuPGJyIC8+Cgo8ZGl2IGNsYXNzPSJiYmNvZGVfcmlnaHQiIHN0eWxlPSJ0ZXh0LWFsaWduOnJpZ2h0Ij4KPHNwYW4gc3R5bGU9ImNvbG9yOmdyZWVuIj48aT4tLS0gd3JpdHRlbiBieSBUaG9tYXMgSmVmZmVyc29uPC9pPjwvc3Bhbj4KPC9kaXY+CjwvZGl2Pgo8L2Rpdj4KCjxwPihUaGUgJDx0dD5pbnB1dDwvdHQ+IGRlY2xhcmF0aW9uIHdhcyBsaW5lLXdyYXBwZWQgYWJvdmUgc28geW91IGNvdWxkIHJlYWQgaXQ7IHRoZQpvcmlnaW5hbCB0ZXh0IGRvZXNuJ3QgaGF2ZSB0aGUgbGluZSBlbmRpbmdzLCB3aGljaCBOQkJDIHdvdWxkIHNlZSBhcyBnb29kIHBsYWNlcwp0byBzdGljayBpbiB1bmRlc2lyYWJsZSA8dHQ+Jmx0O2JyJm5ic3A7LyZndDs8L3R0PiB0YWdzLik8L3A+Cgo8cD5WZXJ5IG5pY2UsIHJpZ2h0PyAgQnV0IGFsc28gdmVyeSBsb25nIC0tLSB3YXkgdG9vIGxvbmcgZm9yIGEgY2FzdWFsIHN1bW1hcnkhICBTbwpsZXQncyBjaGFuZ2UgdGhlIHdheSB3ZSBwYXJzZSB0aGlzIHRleHQgc28gdGhhdCB0aGUgcHJvZ3JhbSBvdXRwdXRzIHNvbWV0aGluZyBhCmxpdHRsZSBtb3JlIG1hbmFnZWFibGUgLS0tIGxldCdzIHNheSB0aGUgZmlyc3QgNTIwIHRleHQgY2hhcmFjdGVycy4gIChBbmQgd2UnbGwgc2tpcApzaG93aW5nIHRoZSBkZWNsYXJhdGlvbiBvZiAkPHR0PmlucHV0PC90dD4gYWdhaW4gYmVjYXVzZSBpdCdzIHNvIGh1Z2U7IHlvdSBjYW4ganVzdAphc3N1bWUgaXQgY29tZXMgaW4gZnVsbCBiZWZvcmUgdGhlIGNvZGUgeW91IHNlZSBoZXJlLiAgQW5kIHdoeSA1MjA/ICBCZWNhdXNlIGl0J3MganVzdAplbm91Z2ggZm9yIHRoZSBlbnRpcmUgZmlyc3QgcGFyYWdyYXBoIGJ1dCBub3QgZW5vdWdoIGZvciBhbnkgb2YgdGhlIHNlY29uZCwgbWFraW5nCml0IGEgcGVyZmVjdCBsZW5ndGggZm9yIGRlbW9uc3RyYXRpb24gcHVycG9zZXMuKSAgSGVyZSdzIG91ciBuZXcgbGVuZ3RoLWxpbWl0aW5nCnByb2dyYW06PC9wPgoKPGRpdiBjbGFzcz0nY29kZV9oZWFkZXInPkNvZGU6PC9kaXY+Cjx4bXAgY2xhc3M9J2NvZGUnPiRpbnB1dCA9IDw8PCBFT0kKCiAgICAoLi4ubG9uZyB0ZXh0Li4uKQoKRU9JOwoKJGJiY29kZSA9IG5ldyBCQkNvZGU7CiRiYmNvZGUtPlNldExpbWl0KDUyMCk7CiRvdXRwdXQgPSAkYmJjb2RlLT5QYXJzZSgkaW5wdXQpOzwveG1wPgoKPGRpdiBjbGFzcz0nb3V0cHV0X2hlYWRlcic+T3V0cHV0OjwvZGl2Pgo8ZGl2IGNsYXNzPSdvdXRwdXQnPgo8ZGl2IGNsYXNzPSdiYmNvZGUnIHN0eWxlPSdtYXJnaW46MWVtOyc+RnJvbSA8YSBocmVmPSJodHRwOi8vd3d3LnVzaGlzdG9yeS5vcmcvRGVjbGFyYXRpb24vZG9jdW1lbnQvaW5kZXguaHRtIiBjbGFzcz0iYmJjb2RlX3VybCI+dXNoaXN0b3J5Lm9yZzwvYT46PGJyIC8+Cgo8ZGl2IGNsYXNzPSJiYmNvZGVfY2VudGVyIiBzdHlsZT0idGV4dC1hbGlnbjpjZW50ZXIiPgo8Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEuNWVtIj5JbiBDT05HUkVTUywgSnVseSA0LCAxNzc2PC9zcGFuPjxiciAvPgoKVGhlIHVuYW5pbW91cyBEZWNsYXJhdGlvbiBvZiB0aGUgdGhpcnRlZW4gdW5pdGVkIFN0YXRlcyBvZiBBbWVyaWNhPC9iPgo8L2Rpdj4KPGJyIC8+CjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6Mi4wZW0iPlc8L3NwYW4+PC9iPmhlbiBpbiB0aGUgQ291cnNlIG9mIGh1bWFuIGV2ZW50cyBpdCBiZWNvbWVzIG5lY2Vzc2FyeSBmb3Igb25lIHBlb3BsZSB0byBkaXNzb2x2ZSB0aGUgcG9saXRpY2FsIGJhbmRzIHdoaWNoIGhhdmUgY29ubmVjdGVkIHRoZW0gd2l0aCBhbm90aGVyIGFuZCB0byBhc3N1bWUgYW1vbmcgdGhlIHBvd2VycyBvZiB0aGUgZWFydGgsIHRoZSBzZXBhcmF0ZSBhbmQgZXF1YWwgc3RhdGlvbiB0byB3aGljaCB0aGUgTGF3cyBvZiBOYXR1cmUgYW5kIG9mIE5hdHVyZSdzIEdvZCBlbnRpdGxlIHRoZW0sIGEgZGVjZW50IHJlc3BlY3QgdG8gdGhlIG9waW5pb25zIG9mIG1hbmtpbmQgcmVxdWlyZXMgdGhhdCB0aGV5IHNob3VsZCBkZWNsYXJlIHRoZSBjYXVzZXMgd2hpY2ggaW1wZWwgdGhlbSB0byB0aGUgc2VwYXJhdGlvbi4uLi48L2Rpdj4KPC9kaXY+Cgo8cD5UaGF0J3MgcXVpdGUgYSBiaXQgc2hvcnRlciEgIE5vdGljZSB0aGF0IE5CQkMgc21hcnRseSBjdXQgdGhlIHRleHQgYWZ0ZXIgdGhlIHdvcmQgPGk+c2VwYXJhdGlvbjwvaT4gLS0tCm5vdCBpbiB0aGUgbWlkZGxlIG9mIGFub3RoZXIgd29yZCAtLS0gYW5kIGl0IG1hZGUgc3VyZSB0aGF0IGFsbCB0aGUgb3BlbmVkIHRhZ3MgZ290IHByb3Blcmx5IGNsb3NlZCwKYW5kIGl0IGV2ZW4gaGVscGZ1bGx5IGFkZGVkIGFuIGVsbGlwc2lzICg8dHQ+Li4uPC90dD4pIGF0IHRoZSBlbmQgdG8gc2hvdyB1cyB0aGF0IHNvbWUgb2YgdGhlIHRleHQKd2FzIHJlbW92ZWQuPC9wPgoKPHA+TkJCQyBpcyBzbWFydCBhYm91dCBpdHMgbGltaXRpbmcsIHRvbzogIElmIHRoZSBpbnB1dCB0ZXh0IGlzIG9ubHkgc2xpZ2h0bHkgbG9uZ2VyIHRoYW4gdGhlIGxpbWl0LAp0aGVuIE5CQkMgd2lsbCAibGV0IGl0IHNsaWRlIiBhbmQgd29uJ3QgY3V0IG9mZiB0aGUgdGV4dC4gIEZvciBleGFtcGxlLCB3ZSdyZSBsaW1pdGluZyBoZXJlIGF0IDUyMApjaGFyYWN0ZXJzLCBhbmQgaWYgTkJCQyBzYXcgaW5wdXQgdGhhdCB3YXMgaW4gdGhlIHJhbmdlIG9mIDUyMC02MDAgY2hhcmFjdGVycywgaXQgd291bGQgY29uc2lkZXIgdGhhdAp0byBub3QgYmUgd29ydGggY3V0dGluZyBvZmYuPC9wPgoKPHA+WW91IGNhbiBjb250cm9sIHRoaXMgImZ1enppbmVzcyBmYWN0b3IiIHdpdGggdGhlCjxhIGhyZWY9ImFwaV9iZWh2Lmh0bWwjcmVmX3BhcnNlcl9TZXRMaW1pdFByZWNpc2lvbiI+U2V0TGltaXRQcmVjaXNpb24oKTwvYT4gZnVuY3Rpb24sIGFuZCB5b3UgY2FuCmNvbnRyb2wgd2hhdCBnZXRzIGFkZGVkIG9uIHRoZSBlbmQgKGxpa2UgdGhlIGVsbGlwc2lzKSB3aXRoIHRoZQo8YSBocmVmPSJhcGlfYmVodi5odG1sI3JlZl9wYXJzZXJfU2V0TGltaXRUYWlsIj5TZXRMaW1pdFRhaWwoKTwvYT4gZnVuY3Rpb24uICBZb3UgY2FuIGFsc28gZGV0ZXJtaW5lCndoZXRoZXIgdGhlIHRleHQgd2FzIGN1dCBvZmYgb3Igbm90IGluIHRoZSBsYXN0IHBhcnNlIGpvYiB3aXRoIHRoZQo8YSBocmVmPSJhcGlfYmVodi5odG1sI3JlZl9wYXJzZXJfV2FzTGltaXRlZCI+V2FzTGltaXRlZCgpPC9hPiBmdW5jdGlvbi48L3A+Cgo8YSBuYW1lPSJwbGFpbiI+PC9hPgo8aDQ+UGxhaW4gSFRNTCBPdXRwdXQ8L2g0PgoKPHA+U29tZXRpbWVzLCBqdXN0IHNob3J0ZW5pbmcgdGhlIHRleHQgaXNuJ3QgZ29vZCBlbm91Z2g7IHNvbWV0aW1lcyB5b3UgbmVlZCBhbiBleGNlcnB0IHRoYXQKc3RpbGwgbG9va3Mgc2ltaWxhciB0byB0aGUgb3JpZ2luYWwgYnV0IHRoYXQgd29uJ3QgYWZmZWN0IHRoZSBmb3JtYXR0aW5nIGFuZCBsYXlvdXQgb2YgdGhlCnBhZ2UgaXQncyBpbnNlcnRlZCBpbnRvLiAgTkJCQyB1bmRlcnN0YW5kcyB0aGF0LCBhbmQgaW4gdjEuMiwgaXQgb2ZmZXJzIGEgPGk+UGxhaW4gSFRNTDwvaT4KbW9kZSB0byBzdXBwb3J0IHRoYXQgbmVlZC4gIEluIHBsYWluIEhUTUwgbW9kZSwgTkJCQyB3aWxsIDxpPm9ubHk8L2k+IG91dHB1dCBmb3VyIG9mIHRoZQpzaW1wbGVzdCBvZiBzaW1wbGUgSFRNTCB0YWdzOiAgPHR0PiZsdDtiJmd0OzwvdHQ+LCA8dHQ+Jmx0O2kmZ3Q7PC90dD4sIDx0dD4mbHQ7dSZndDs8L3R0PiwgYW5kIDx0dD4mbHQ7YSZndDs8L3R0Pi4KSW4gcGxhaW4gSFRNTCBtb2RlLCBhbGwgb3RoZXIgdGFncyB3aWxsIGJlIG9taXR0ZWQgb3IgY29udmVydGVkIHRvIG9uZSBvZiB0aG9zZSBmb3VyLjwvcD4KCjxwPihOb3RlOiAgSW4gcGxhaW4gSFRNTCBtb2RlLCBOQkJDCndpbGwgbm90IG91dHB1dCA8dHQ+Jmx0O2RpdiZndDs8L3R0PiBvciA8dHQ+Jmx0O2JyJm5ic3A7LyZndDs8L3R0PiB0YWdzIGVpdGhlciwgc28gaWYgeW91IHdhbnQKdGhlIHRleHQgdG8gZXZlbiBzcGFuIG11bHRpcGxlIGxpbmVzLCB5b3UnbGwgaGF2ZSB0byB1c2UgPGEgaHJlZj0iYXBpX21pc2MuaHRtbCNyZWZfcGFyc2VyX25sMmJyIj5ubDJicigpPC9hPgp0byBjb252ZXJ0IGl0cyBuZXdsaW5lcyB0byA8dHQ+Jmx0O2JyJm5ic3A7LyZndDs8L3R0PiB0YWdzOyBvdGhlcndpc2UsIHlvdSdsbCBqdXN0IGdldCBvbmUKbG9uZyBwYXJhZ3JhcGggb2YgSFRNTCBvdXRwdXQuKTwvcD4KCjxwPkxldCdzIGxvb2sgYXQgaG93IG91ciBleGFtcGxlIHBhcmFncmFwaCBsb29rcyBpbiBwbGFpbi1IVE1MIG1vZGUuICBXZSdsbCBhZGQgYSBsaW5lIHRvCmNvbnZlcnQgbmV3bGluZXMgdG8gPHR0PiZsdDticiZuYnNwOy8mZ3Q7PC90dD4gdGFncyBzbyB0aGF0IGl0IGxvb2tzIHZhZ3VlbHkgc2ltaWxhciB0byB0aGUKb3JpZ2luYWw6PC9wPgoKPGRpdiBjbGFzcz0nY29kZV9oZWFkZXInPkNvZGU6PC9kaXY+Cjx4bXAgY2xhc3M9J2NvZGUnPiRpbnB1dCA9IDw8PCBFT0kKCiAgICAoLi4ubG9uZyB0ZXh0Li4uKQoKRU9JOwoKJGJiY29kZSA9IG5ldyBCQkNvZGU7CiRiYmNvZGUtPlNldFBsYWluTW9kZSh0cnVlKTsKJG91dHB1dCA9ICRiYmNvZGUtPlBhcnNlKCRpbnB1dCk7CiRvdXRwdXQgPSAkYmJjb2RlLT5ubDJicigkb3V0cHV0KTs8L3htcD4KCjxkaXYgY2xhc3M9J291dHB1dF9oZWFkZXInPk91dHB1dDo8L2Rpdj4KPGRpdiBjbGFzcz0nb3V0cHV0Jz4KRnJvbSA8YSBocmVmPSJodHRwOi8vd3d3LnVzaGlzdG9yeS5vcmcvRGVjbGFyYXRpb24vZG9jdW1lbnQvaW5kZXguaHRtIj51c2hpc3Rvcnkub3JnPC9hPjo8YnIgLz4KPGJyIC8+CjxiPkluIENPTkdSRVNTLCBKdWx5IDQsIDE3NzY8YnIgLz4KVGhlIHVuYW5pbW91cyBEZWNsYXJhdGlvbiBvZiB0aGUgdGhpcnRlZW4gdW5pdGVkIFN0YXRlcyBvZiBBbWVyaWNhPC9iPjxiciAvPgo8YnIgLz4KPGI+VzwvYj5oZW4gaW4gdGhlIENvdXJzZSBvZiBodW1hbiBldmVudHMgaXQgYmVjb21lcyBuZWNlc3NhcnkgZm9yIG9uZSBwZW9wbGUgdG8gZGlzc29sdmUgdGhlIHBvbGl0aWNhbCBiYW5kcyB3aGljaCBoYXZlIGNvbm5lY3RlZCB0aGVtIHdpdGggYW5vdGhlciBhbmQgdG8gYXNzdW1lIGFtb25nIHRoZSBwb3dlcnMgb2YgdGhlIGVhcnRoLCB0aGUgc2VwYXJhdGUgYW5kIGVxdWFsIHN0YXRpb24gdG8gd2hpY2ggdGhlIExhd3Mgb2YgTmF0dXJlIGFuZCBvZiBOYXR1cmUncyBHb2QgZW50aXRsZSB0aGVtLCBhIGRlY2VudCByZXNwZWN0IHRvIHRoZSBvcGluaW9ucyBvZiBtYW5raW5kIHJlcXVpcmVzIHRoYXQgdGhleSBzaG91bGQgZGVjbGFyZSB0aGUgY2F1c2VzIHdoaWNoIGltcGVsIHRoZW0gdG8gdGhlIHNlcGFyYXRpb24uPGJyIC8+CjxiciAvPgpXZSBob2xkIHRoZXNlIHRydXRocyB0byBiZSBzZWxmLWV2aWRlbnQsIHRoYXQgYWxsIG1lbiBhcmUgY3JlYXRlZCBlcXVhbCwgdGhhdCB0aGV5IGFyZSBlbmRvd2VkIGJ5IHRoZWlyIENyZWF0b3Igd2l0aCBjZXJ0YWluIHVuYWxpZW5hYmxlIFJpZ2h0cywgdGhhdCBhbW9uZyB0aGVzZSBhcmUgTGlmZSwgTGliZXJ0eSBhbmQgdGhlIHB1cnN1aXQgb2YgSGFwcGluZXNzLiAtLSBUaGF0IHRvIHNlY3VyZSB0aGVzZSByaWdodHMsIEdvdmVybm1lbnRzIGFyZSBpbnN0aXR1dGVkIGFtb25nIE1lbiwgZGVyaXZpbmcgdGhlaXIganVzdCBwb3dlcnMgZnJvbSB0aGUgY29uc2VudCBvZiB0aGUgZ292ZXJuZWQsIC0tIFRoYXQgd2hlbmV2ZXIgYW55IEZvcm0gb2YgR292ZXJubWVudCBiZWNvbWVzIGRlc3RydWN0aXZlIG9mIHRoZXNlIGVuZHMsIGl0IGlzIHRoZSBSaWdodCBvZiB0aGUgUGVvcGxlIHRvIGFsdGVyIG9yIHRvIGFib2xpc2ggaXQsIGFuZCB0byBpbnN0aXR1dGUgbmV3IEdvdmVybm1lbnQsIGxheWluZyBpdHMgZm91bmRhdGlvbiBvbiBzdWNoIHByaW5jaXBsZXMgYW5kIG9yZ2FuaXppbmcgaXRzIHBvd2VycyBpbiBzdWNoIGZvcm0sIGFzIHRvIHRoZW0gc2hhbGwgc2VlbSBtb3N0IGxpa2VseSB0byBlZmZlY3QgdGhlaXIgU2FmZXR5IGFuZCBIYXBwaW5lc3MuIFBydWRlbmNlLCBpbmRlZWQsIHdpbGwgZGljdGF0ZSB0aGF0IEdvdmVybm1lbnRzIGxvbmcgZXN0YWJsaXNoZWQgc2hvdWxkIG5vdCBiZSBjaGFuZ2VkIGZvciBsaWdodCBhbmQgdHJhbnNpZW50IGNhdXNlczsgYW5kIGFjY29yZGluZ2x5IGFsbCBleHBlcmllbmNlIGhhdGggc2hld24gdGhhdCBtYW5raW5kIGFyZSBtb3JlIGRpc3Bvc2VkIHRvIHN1ZmZlciwgd2hpbGUgZXZpbHMgYXJlIHN1ZmZlcmFibGUgdGhhbiB0byByaWdodCB0aGVtc2VsdmVzIGJ5IGFib2xpc2hpbmcgdGhlIGZvcm1zIHRvIHdoaWNoIHRoZXkgYXJlIGFjY3VzdG9tZWQuIEJ1dCB3aGVuIGEgbG9uZyB0cmFpbiBvZiBhYnVzZXMgYW5kIHVzdXJwYXRpb25zLCBwdXJzdWluZyBpbnZhcmlhYmx5IHRoZSBzYW1lIE9iamVjdCBldmluY2VzIGEgZGVzaWduIHRvIHJlZHVjZSB0aGVtIHVuZGVyIGFic29sdXRlIERlc3BvdGlzbSwgaXQgaXMgdGhlaXIgcmlnaHQsIGl0IGlzIHRoZWlyIGR1dHksIHRvIHRocm93IG9mZiBzdWNoIEdvdmVybm1lbnQsIGFuZCB0byBwcm92aWRlIG5ldyBHdWFyZHMgZm9yIHRoZWlyIGZ1dHVyZSBzZWN1cml0eS4gLS0gU3VjaCBoYXMgYmVlbiB0aGUgcGF0aWVudCBzdWZmZXJhbmNlIG9mIHRoZXNlIENvbG9uaWVzOyBhbmQgc3VjaCBpcyBub3cgdGhlIG5lY2Vzc2l0eSB3aGljaCBjb25zdHJhaW5zIHRoZW0gdG8gYWx0ZXIgdGhlaXIgZm9ybWVyIFN5c3RlbXMgb2YgR292ZXJubWVudC4gVGhlIGhpc3Rvcnkgb2YgdGhlIHByZXNlbnQgS2luZyBvZiBHcmVhdCBCcml0YWluIGlzIGEgaGlzdG9yeSBvZiByZXBlYXRlZCBpbmp1cmllcyBhbmQgdXN1cnBhdGlvbnMsIGFsbCBoYXZpbmcgaW4gZGlyZWN0IG9iamVjdCB0aGUgZXN0YWJsaXNobWVudCBvZiBhbiBhYnNvbHV0ZSBUeXJhbm55IG92ZXIgdGhlc2UgU3RhdGVzLiBUbyBwcm92ZSB0aGlzLCBsZXQgRmFjdHMgYmUgc3VibWl0dGVkIHRvIGEgY2FuZGlkIHdvcmxkLjxiciAvPgo8YnIgLz4KCjxpPi0tLSB3cml0dGVuIGJ5IFRob21hcyBKZWZmZXJzb248L2k+CjwvZGl2PgoKPGEgbmFtZT0idGV4dCI+PC9hPgo8aDQ+UGxhaW4gVGV4dCBPdXRwdXQ8L2g0PgoKPHA+QnV0IHdoYXQgaWYgeW91IG5lZWQgbW9yZT8gIEZvciBleGFtcGxlLCBpbiBSU1MgZmVlZHMsIHlvdSdyZSBub3Qgc3VwcG9zZWQgdG8gaW5jbHVkZSA8aT5hbnk8L2k+IEhUTUwKdGFncyAoYWx0aG91Z2ggbWFueSBmZWVkcyBkbywgYW5kIGlmIHlvdSBkb24ndCBjYXJlIGlmIHlvdXIgZG8sIHRoZW4gcGxhaW4tSFRNTCBtb2RlIG1pZ2h0IHdvcmsgZm9yIHlvdSk7Cm9yIG1heWJlIHlvdSdyZSB0cnlpbmcgdG8gZ2VuZXJhdGUgcGxhaW4gdGV4dCBmb3IgYW4gZS1tYWlsIG9yIGEgdGV4dC1tb2RlIGRpc3BsYXkuCk5CQkMncyBwbGFpbi1IVE1MIG1vZGUgY2FuIGJlIHNpbXBsaWZpZWQgZXZlbiBmdXJ0aGVyOiAgU2luY2UgaXQgb25seSBldmVyIG91dHB1dHMgZm91ciB3ZWxsLWtub3duIGNsYXNzaWMgSFRNTAp0YWdzLCB0aGV5IGNhbiByZWFkaWx5IGFuZCBlYXNpbHkgYmUgc3RyaXBwZWQgdG8gcHJvZHVjZSBwbGFpbi10ZXh0IG91dHB1dC4gIEJlbG93IGFyZSB0d28gcG9zc2libGUgd2F5cwp0byBzaW1wbGlmeSB5b3VyIG91dHB1dCBldmVuIGZ1cnRoZXIuPC9wPgoKPHA+SW4gdGhpcyBleGFtcGxlLCB3ZSBqdXN0IHN0cmlwIHRoZSB0YWdzIGFuZCBjb252ZXJ0IGVudGl0aWVzIGxpa2UgPHR0PiZhbXA7bHQ7PC90dD4gdG8gYWN0dWFsCmNoYXJhY3RlcnMgbGlrZSA8dHQ+Jmx0OzwvdHQ+LCB5aWVsZGluZyBzaW1wbGUgcHJlLWZvcm1hdHRlZCB0ZXh0OjwvcD4KCjxkaXYgY2xhc3M9J2NvZGVfaGVhZGVyJz5Db2RlOjwvZGl2Pgo8eG1wIGNsYXNzPSdjb2RlJz4kaW5wdXQgPSA8PDwgRU9JCgogICAgKC4uLmxvbmcgdGV4dC4uLikKCkVPSTsKCiRiYmNvZGUgPSBuZXcgQkJDb2RlOwokYmJjb2RlLT5TZXRQbGFpbk1vZGUodHJ1ZSk7CiRvdXRwdXQgPSAkYmJjb2RlLT5QYXJzZSgkaW5wdXQpOwokb3V0cHV0ID0gJGJiY29kZS0+VW5IVE1MRW5jb2RlKHN0cmlwX3RhZ3MoJG91dHB1dCkpOzwveG1wPgoKPGRpdiBjbGFzcz0nb3V0cHV0X2hlYWRlcic+T3V0cHV0OjwvZGl2Pgo8ZGl2IGNsYXNzPSdvdXRwdXQnIHN0eWxlPSd3aGl0ZS1zcGFjZTpwcmUtd3JhcDsnPkZyb20gdXNoaXN0b3J5Lm9yZzoKCkluIENPTkdSRVNTLCBKdWx5IDQsIDE3NzYKVGhlIHVuYW5pbW91cyBEZWNsYXJhdGlvbiBvZiB0aGUgdGhpcnRlZW4gdW5pdGVkIFN0YXRlcyBvZiBBbWVyaWNhCgpXaGVuIGluIHRoZSBDb3Vyc2Ugb2YgaHVtYW4gZXZlbnRzIGl0IGJlY29tZXMgbmVjZXNzYXJ5IGZvciBvbmUgcGVvcGxlIHRvIGRpc3NvbHZlIHRoZSBwb2xpdGljYWwgYmFuZHMgd2hpY2ggaGF2ZSBjb25uZWN0ZWQgdGhlbSB3aXRoIGFub3RoZXIgYW5kIHRvIGFzc3VtZSBhbW9uZyB0aGUgcG93ZXJzIG9mIHRoZSBlYXJ0aCwgdGhlIHNlcGFyYXRlIGFuZCBlcXVhbCBzdGF0aW9uIHRvIHdoaWNoIHRoZSBMYXdzIG9mIE5hdHVyZSBhbmQgb2YgTmF0dXJlJ3MgR29kIGVudGl0bGUgdGhlbSwgYSBkZWNlbnQgcmVzcGVjdCB0byB0aGUgb3BpbmlvbnMgb2YgbWFua2luZCByZXF1aXJlcyB0aGF0IHRoZXkgc2hvdWxkIGRlY2xhcmUgdGhlIGNhdXNlcyB3aGljaCBpbXBlbCB0aGVtIHRvIHRoZSBzZXBhcmF0aW9uLgoKV2UgaG9sZCB0aGVzZSB0cnV0aHMgdG8gYmUgc2VsZi1ldmlkZW50LCB0aGF0IGFsbCBtZW4gYXJlIGNyZWF0ZWQgZXF1YWwsIHRoYXQgdGhleSBhcmUgZW5kb3dlZCBieSB0aGVpciBDcmVhdG9yIHdpdGggY2VydGFpbiB1bmFsaWVuYWJsZSBSaWdodHMsIHRoYXQgYW1vbmcgdGhlc2UgYXJlIExpZmUsIExpYmVydHkgYW5kIHRoZSBwdXJzdWl0IG9mIEhhcHBpbmVzcy4gLS0gVGhhdCB0byBzZWN1cmUgdGhlc2UgcmlnaHRzLCBHb3Zlcm5tZW50cyBhcmUgaW5zdGl0dXRlZCBhbW9uZyBNZW4sIGRlcml2aW5nIHRoZWlyIGp1c3QgcG93ZXJzIGZyb20gdGhlIGNvbnNlbnQgb2YgdGhlIGdvdmVybmVkLCAtLSBUaGF0IHdoZW5ldmVyIGFueSBGb3JtIG9mIEdvdmVybm1lbnQgYmVjb21lcyBkZXN0cnVjdGl2ZSBvZiB0aGVzZSBlbmRzLCBpdCBpcyB0aGUgUmlnaHQgb2YgdGhlIFBlb3BsZSB0byBhbHRlciBvciB0byBhYm9saXNoIGl0LCBhbmQgdG8gaW5zdGl0dXRlIG5ldyBHb3Zlcm5tZW50LCBsYXlpbmcgaXRzIGZvdW5kYXRpb24gb24gc3VjaCBwcmluY2lwbGVzIGFuZCBvcmdhbml6aW5nIGl0cyBwb3dlcnMgaW4gc3VjaCBmb3JtLCBhcyB0byB0aGVtIHNoYWxsIHNlZW0gbW9zdCBsaWtlbHkgdG8gZWZmZWN0IHRoZWlyIFNhZmV0eSBhbmQgSGFwcGluZXNzLiBQcnVkZW5jZSwgaW5kZWVkLCB3aWxsIGRpY3RhdGUgdGhhdCBHb3Zlcm5tZW50cyBsb25nIGVzdGFibGlzaGVkIHNob3VsZCBub3QgYmUgY2hhbmdlZCBmb3IgbGlnaHQgYW5kIHRyYW5zaWVudCBjYXVzZXM7IGFuZCBhY2NvcmRpbmdseSBhbGwgZXhwZXJpZW5jZSBoYXRoIHNoZXduIHRoYXQgbWFua2luZCBhcmUgbW9yZSBkaXNwb3NlZCB0byBzdWZmZXIsIHdoaWxlIGV2aWxzIGFyZSBzdWZmZXJhYmxlIHRoYW4gdG8gcmlnaHQgdGhlbXNlbHZlcyBieSBhYm9saXNoaW5nIHRoZSBmb3JtcyB0byB3aGljaCB0aGV5IGFyZSBhY2N1c3RvbWVkLiBCdXQgd2hlbiBhIGxvbmcgdHJhaW4gb2YgYWJ1c2VzIGFuZCB1c3VycGF0aW9ucywgcHVyc3VpbmcgaW52YXJpYWJseSB0aGUgc2FtZSBPYmplY3QgZXZpbmNlcyBhIGRlc2lnbiB0byByZWR1Y2UgdGhlbSB1bmRlciBhYnNvbHV0ZSBEZXNwb3Rpc20sIGl0IGlzIHRoZWlyIHJpZ2h0LCBpdCBpcyB0aGVpciBkdXR5LCB0byB0aHJvdyBvZmYgc3VjaCBHb3Zlcm5tZW50LCBhbmQgdG8gcHJvdmlkZSBuZXcgR3VhcmRzIGZvciB0aGVpciBmdXR1cmUgc2VjdXJpdHkuIC0tIFN1Y2ggaGFzIGJlZW4gdGhlIHBhdGllbnQgc3VmZmVyYW5jZSBvZiB0aGVzZSBDb2xvbmllczsgYW5kIHN1Y2ggaXMgbm93IHRoZSBuZWNlc3NpdHkgd2hpY2ggY29uc3RyYWlucyB0aGVtIHRvIGFsdGVyIHRoZWlyIGZvcm1lciBTeXN0ZW1zIG9mIEdvdmVybm1lbnQuIFRoZSBoaXN0b3J5IG9mIHRoZSBwcmVzZW50IEtpbmcgb2YgR3JlYXQgQnJpdGFpbiBpcyBhIGhpc3Rvcnkgb2YgcmVwZWF0ZWQgaW5qdXJpZXMgYW5kIHVzdXJwYXRpb25zLCBhbGwgaGF2aW5nIGluIGRpcmVjdCBvYmplY3QgdGhlIGVzdGFibGlzaG1lbnQgb2YgYW4gYWJzb2x1dGUgVHlyYW5ueSBvdmVyIHRoZXNlIFN0YXRlcy4gVG8gcHJvdmUgdGhpcywgbGV0IEZhY3RzIGJlIHN1Ym1pdHRlZCB0byBhIGNhbmRpZCB3b3JsZC4KCi0tLSB3cml0dGVuIGJ5IFRob21hcyBKZWZmZXJzb248L2Rpdj4KCjxwPkluIHRoaXMgZXhhbXBsZSwgd2Ugbm90IG9ubHkgc3RyaXAgdGhlIHRhZ3MgYW5kIHVuLWNvbnZlcnQgZW50aXRpZXMsIGJ1dCB3ZSBhbHNvIHBlcmZvcm0gd29yZC13cmFwCnNvIHRoYXQgdGhlIHJlc3VsdCBsb29rcyBhY2NlcHRhYmxlIG9uIGFuIDgwLWNvbHVtbiBkaXNwbGF5OjwvcD4KCjxkaXYgY2xhc3M9J2NvZGVfaGVhZGVyJz5Db2RlOjwvZGl2Pgo8eG1wIGNsYXNzPSdjb2RlJz4kaW5wdXQgPSA8PDwgRU9JCgogICAgKC4uLmxvbmcgdGV4dC4uLikKCkVPSTsKCiRiYmNvZGUgPSBuZXcgQkJDb2RlOwokYmJjb2RlLT5TZXRQbGFpbk1vZGUodHJ1ZSk7CiRvdXRwdXQgPSAkYmJjb2RlLT5QYXJzZSgkaW5wdXQpOwokb3V0cHV0ID0gd29yZHdyYXAoJGJiY29kZS0+VW5IVE1MRW5jb2RlKHN0cmlwX3RhZ3MoJG91dHB1dCkpKTs8L3htcD4KCjxkaXYgY2xhc3M9J291dHB1dF9oZWFkZXInPk91dHB1dDo8L2Rpdj4KPGRpdiBjbGFzcz0nb3V0cHV0JyBzdHlsZT0nd2hpdGUtc3BhY2U6cHJlO2ZvbnQ6OXB0IENvdXJpZXIsbW9ubyxtb25vc3BhY2U7Jz5Gcm9tIHVzaGlzdG9yeS5vcmc6CgpJbiBDT05HUkVTUywgSnVseSA0LCAxNzc2ClRoZSB1bmFuaW1vdXMgRGVjbGFyYXRpb24gb2YgdGhlIHRoaXJ0ZWVuIHVuaXRlZCBTdGF0ZXMgb2YgQW1lcmljYQoKV2hlbiBpbiB0aGUgQ291cnNlIG9mIGh1bWFuIGV2ZW50cyBpdCBiZWNvbWVzIG5lY2Vzc2FyeSBmb3Igb25lIHBlb3BsZSB0bwpkaXNzb2x2ZSB0aGUgcG9saXRpY2FsIGJhbmRzIHdoaWNoIGhhdmUgY29ubmVjdGVkIHRoZW0gd2l0aCBhbm90aGVyIGFuZCB0bwphc3N1bWUgYW1vbmcgdGhlIHBvd2VycyBvZiB0aGUgZWFydGgsIHRoZSBzZXBhcmF0ZSBhbmQgZXF1YWwgc3RhdGlvbiB0bwp3aGljaCB0aGUgTGF3cyBvZiBOYXR1cmUgYW5kIG9mIE5hdHVyZSdzIEdvZCBlbnRpdGxlIHRoZW0sIGEgZGVjZW50IHJlc3BlY3QKdG8gdGhlIG9waW5pb25zIG9mIG1hbmtpbmQgcmVxdWlyZXMgdGhhdCB0aGV5IHNob3VsZCBkZWNsYXJlIHRoZSBjYXVzZXMKd2hpY2ggaW1wZWwgdGhlbSB0byB0aGUgc2VwYXJhdGlvbi4KCldlIGhvbGQgdGhlc2UgdHJ1dGhzIHRvIGJlIHNlbGYtZXZpZGVudCwgdGhhdCBhbGwgbWVuIGFyZSBjcmVhdGVkIGVxdWFsLAp0aGF0IHRoZXkgYXJlIGVuZG93ZWQgYnkgdGhlaXIgQ3JlYXRvciB3aXRoIGNlcnRhaW4gdW5hbGllbmFibGUgUmlnaHRzLAp0aGF0IGFtb25nIHRoZXNlIGFyZSBMaWZlLCBMaWJlcnR5IGFuZCB0aGUgcHVyc3VpdCBvZiBIYXBwaW5lc3MuIC0tIFRoYXQgdG8Kc2VjdXJlIHRoZXNlIHJpZ2h0cywgR292ZXJubWVudHMgYXJlIGluc3RpdHV0ZWQgYW1vbmcgTWVuLCBkZXJpdmluZyB0aGVpcgpqdXN0IHBvd2VycyBmcm9tIHRoZSBjb25zZW50IG9mIHRoZSBnb3Zlcm5lZCwgLS0gVGhhdCB3aGVuZXZlciBhbnkgRm9ybSBvZgpHb3Zlcm5tZW50IGJlY29tZXMgZGVzdHJ1Y3RpdmUgb2YgdGhlc2UgZW5kcywgaXQgaXMgdGhlIFJpZ2h0IG9mIHRoZSBQZW9wbGUKdG8gYWx0ZXIgb3IgdG8gYWJvbGlzaCBpdCwgYW5kIHRvIGluc3RpdHV0ZSBuZXcgR292ZXJubWVudCwgbGF5aW5nIGl0cwpmb3VuZGF0aW9uIG9uIHN1Y2ggcHJpbmNpcGxlcyBhbmQgb3JnYW5pemluZyBpdHMgcG93ZXJzIGluIHN1Y2ggZm9ybSwgYXMgdG8KdGhlbSBzaGFsbCBzZWVtIG1vc3QgbGlrZWx5IHRvIGVmZmVjdCB0aGVpciBTYWZldHkgYW5kIEhhcHBpbmVzcy4gUHJ1ZGVuY2UsCmluZGVlZCwgd2lsbCBkaWN0YXRlIHRoYXQgR292ZXJubWVudHMgbG9uZyBlc3RhYmxpc2hlZCBzaG91bGQgbm90IGJlCmNoYW5nZWQgZm9yIGxpZ2h0IGFuZCB0cmFuc2llbnQgY2F1c2VzOyBhbmQgYWNjb3JkaW5nbHkgYWxsIGV4cGVyaWVuY2UgaGF0aApzaGV3biB0aGF0IG1hbmtpbmQgYXJlIG1vcmUgZGlzcG9zZWQgdG8gc3VmZmVyLCB3aGlsZSBldmlscyBhcmUgc3VmZmVyYWJsZQp0aGFuIHRvIHJpZ2h0IHRoZW1zZWx2ZXMgYnkgYWJvbGlzaGluZyB0aGUgZm9ybXMgdG8gd2hpY2ggdGhleSBhcmUKYWNjdXN0b21lZC4gQnV0IHdoZW4gYSBsb25nIHRyYWluIG9mIGFidXNlcyBhbmQgdXN1cnBhdGlvbnMsIHB1cnN1aW5nCmludmFyaWFibHkgdGhlIHNhbWUgT2JqZWN0IGV2aW5jZXMgYSBkZXNpZ24gdG8gcmVkdWNlIHRoZW0gdW5kZXIgYWJzb2x1dGUKRGVzcG90aXNtLCBpdCBpcyB0aGVpciByaWdodCwgaXQgaXMgdGhlaXIgZHV0eSwgdG8gdGhyb3cgb2ZmIHN1Y2gKR292ZXJubWVudCwgYW5kIHRvIHByb3ZpZGUgbmV3IEd1YXJkcyBmb3IgdGhlaXIgZnV0dXJlIHNlY3VyaXR5LiAtLSBTdWNoCmhhcyBiZWVuIHRoZSBwYXRpZW50IHN1ZmZlcmFuY2Ugb2YgdGhlc2UgQ29sb25pZXM7IGFuZCBzdWNoIGlzIG5vdyB0aGUKbmVjZXNzaXR5IHdoaWNoIGNvbnN0cmFpbnMgdGhlbSB0byBhbHRlciB0aGVpciBmb3JtZXIgU3lzdGVtcyBvZgpHb3Zlcm5tZW50LiBUaGUgaGlzdG9yeSBvZiB0aGUgcHJlc2VudCBLaW5nIG9mIEdyZWF0IEJyaXRhaW4gaXMgYSBoaXN0b3J5Cm9mIHJlcGVhdGVkIGluanVyaWVzIGFuZCB1c3VycGF0aW9ucywgYWxsIGhhdmluZyBpbiBkaXJlY3Qgb2JqZWN0IHRoZQplc3RhYmxpc2htZW50IG9mIGFuIGFic29sdXRlIFR5cmFubnkgb3ZlciB0aGVzZSBTdGF0ZXMuIFRvIHByb3ZlIHRoaXMsIGxldApGYWN0cyBiZSBzdWJtaXR0ZWQgdG8gYSBjYW5kaWQgd29ybGQuCgotLS0gd3JpdHRlbiBieSBUaG9tYXMgSmVmZmVyc29uPC9kaXY+Cgo8cD5BbGwgb2YgdGhlc2UgZGlmZmVyZW50IG91dHB1dCBmb3JtcyBjYW4gYmUgZ2VuZXJhdGVkIGZyb20gdGhlIHNhbWUgaW5wdXQgc291cmNlLiAgSXQncyB1cCB0byB5b3UKdG8gZGVjaWRlIHdoYXQgeW91IG5lZWQsIGJ1dCB3aGF0ZXZlciB5b3UgbmVlZCwgTkJCQyBjYW4gcHJvYmFibHkgZG8gaXQuPC9wPgoKPGEgbmFtZT0icnNzIj48L2E+CjxoND5QdXR0aW5nIEl0IEFsbCBUb2dldGhlcjwvaDQ+Cgo8cD5Pa2F5LCBzbyBsZXQncyBzYXkgeW91IG5lZWQgdG8gZ2VuZXJhdGUgYW4gUlNTIGZlZWQgZnJvbSB5b3VyIEJCQ29kZS1iYXNlZCBibG9nLgooV2UnbGwgZ2VuZXJhdGUgYW4gUlNTIDIuMCBmZWVkLCBhbmQgbGVhdmUgaXQgdXAgdG8geW91IHRvIHdvcmsgb3V0IGhvdyB0byBnZW5lcmF0ZQpSU1MgMC45IGFuZCBSU1MgMS4wIGFuZCBBdG9tIGZlZWRzLikgIFdlJ2xsIHNheSB5b3VyIHNvdXJjZSBkYXRhIHN0YXJ0cyBvdXQgYXMgYW4KYXJyYXkgb2YgYmxvZyBwb3N0aW5ncywgcHJvYmFibHkgaW5oYWxlZCBmcm9tIGEgZGF0YWJhc2UsIGxpa2UgdGhpczo8L3A+Cgo8ZGl2IGNsYXNzPSdjb2RlX2hlYWRlcic+Q29kZTo8L2Rpdj4KPHhtcCBjbGFzcz0nY29kZSc+JHBvc3RpbmdzID0gQXJyYXkoCgogICAgICAgIC4uLm9sZGVyIHBvc3RpbmdzLi4uCgogICAgMzcyID0+IEFycmF5KAogICAgICAgICdpZCcgPT4gMzcyLAogICAgICAgICd0aXRsZScgPT4gIkkgU2F3IGEgQ293IFRvZGF5IiwKICAgICAgICAnZGF0ZScgPT4gIjIwMDctMDYtMDUgMTg6Mzc6NDMiLAogICAgICAgICdhdXRob3InID0+ICJKZW5ueSIsCiAgICAgICAgJ2Rlc2NyJyA9PiAiSSB0b29rIHRoZSBzY2VuaWMgcm91dGUgdG8gd29yayB0b2RheS4uLiIsCiAgICApLAoKICAgIDM3MyA9PiBBcnJheSgKICAgICAgICAnaWQnID0+IDM3MywKICAgICAgICAndGl0bGUnID0+ICJJIFdvcmsgd2l0aCBJZGlvdHMiLAogICAgICAgICdkYXRlJyA9PiAiMjAwNy0wNi0wOCAxODowMzoxNyIsCiAgICAgICAgJ2F1dGhvcicgPT4gIkplbm55IiwKICAgICAgICAnZGVzY3InID0+ICJJIHN3ZWFyIHRoaXMgd2FzIHRoZSBkYXkgb2YgaWRpb3RzIGF0IHdvcmsuLi4iLAogICAgKSwKCgkzNzQgPT4gQXJyYXkoCiAgICAgICAgJ2lkJyA9PiAzNzQsCiAgICAgICAgJ3RpdGxlJyA9PiAiU3VuZGF5IGluIHRoZSBQYXJrIHdpdGggR2VvZmYiLAogICAgICAgICdkYXRlJyA9PiAiMjAwNy0wNi0xMCAyMTowODowNiIsCiAgICAgICAgJ2F1dGhvcicgPT4gIkplbm55IiwKICAgICAgICAnZGVzY3InID0+ICJHZW9mZiBhbmQgSSB3ZW50IG91dCB0byB0aGUgcGFyayBpbiB0aGUgY2l0eSB0b2RheS4uLiIsCiAgICApLAoKKTs8L3htcD4KCjxwPlNvdW5kcyBsaWtlIEplbm55IGhhcyBhbiBpbnRlcmVzdGluZyBsaWZlLiAgTGV0J3MgbWFrZSBhbiBSU1MgZmVlZCBvdXQgb2YgaXQuClJTUyBpcyBhbiBYTUwgZGF0YSBmb3JtYXQsIGFuZCBpdCdzIHN0cnVjdHVyZWQgc29tZXdoYXQgbGlrZSB0aGlzOjwvcD4KCjxkaXYgY2xhc3M9J2NvZGVfaGVhZGVyJz5Db2RlOjwvZGl2Pgo8eG1wIGNsYXNzPSdjb2RlJz48P3htbCB2ZXJzaW9uPSIxLjAiPz4KPHJzcyB2ZXJzaW9uPSIyLjAiPgogICAgPGNoYW5uZWw+CiAgICAgICAgPHRpdGxlPkplbm55J3MgTXVzaW5nczwvdGl0bGU+CiAgICAgICAgPGxpbms+aHR0cDovL2plbm55LW11c2luZ3MuZXhhbXBsZS5jb20vPC9saW5rPgogICAgICAgIDxkZXNjcmlwdGlvbj5UaG91Z2h0cyBhbmQgc3R1ZmYgZnJvbSBKZW5ueTwvZGVzY3JpcHRpb24+CiAgICAgICAgPGxhbmd1YWdlPmVuLXVzPC9sYW5ndWFnZT4KCiAgICAgICAgLi4uYmxvZyBwb3N0aW5ncyAoaXRlbXMpLi4uCgogICAgPC9jaGFubmVsPgo8L3Jzcz48L3htcD4KCjxwPkluIHNob3J0LCB0aGUgaGVhZGVyIHBhcnQgb2YgdGhlIGZlZWQgY29udGFpbnMgdGhlIHRpdGxlIG9mIHRoZSBibG9nLCBhIGxpbmsgdG8KdGhlIGJsb2csIEVhY2ggaXRlbSB3aXRoaW4gdGhlIFJTUyBmZWVkIGxvb2tzIGxpa2UgdGhpczo8L3A+Cgo8ZGl2IGNsYXNzPSdjb2RlX2hlYWRlcic+Q29kZTo8L2Rpdj4KPHhtcCBjbGFzcz0nY29kZSc+PGl0ZW0+CiAgICA8dGl0bGU+Li4udGl0bGUgb2YgcG9zdGluZy4uLjwvdGl0bGU+CiAgICA8YXV0aG9yPi4uLmF1dGhvciBvZiBwb3N0aW5nLi4uPC90aXRsZT4KICAgIDxsaW5rPmh0dHA6Ly9qZW5ueS1tdXNpbmdzLmV4YW1wbGUuY29tLy4uLjwvbGluaz4KICAgIDxkZXNjcmlwdGlvbj4uLi5leGNlcnB0IG9mIGJsb2cgcG9zdGluZy4uLjwvZGVzY3JpcHRpb24+CiAgICA8cHViRGF0ZT4uLi5kYXRlIG9mIGJsb2cgcG9zdGluZy4uLjwvcHViRGF0ZT4KICAgIDxndWlkPi4uLnVuaXF1ZSBpZGVudGlmaWVyIChvciBsaW5rKSBmb3IgdGhpcyBwb3N0aW5nLi4uPC9ndWlkPgo8L2l0ZW0+PC94bXA+Cgo8cD5XaGF0IHdlIG5lZWQsIHRoZW4sIGZyb20gb3VyIGJsb2cgZGF0YSBpcyB0byBleHRyYWN0IHRoZSB0aXRsZSwgdGhlIGRhdGUsIHRoZQphdXRob3IsIGEgbGluayB0byB0aGUgcG9zdGluZywgYW5kIGEgZGVzY3JpcHRpb24gKGFuIGV4Y2VycHQgb2YgdGhlIHBvc3RpbmcgaXRzZWxmKS4KUlNTIDIuMCBhbGxvd3MgSFRNTCBpbiB0aGUgZGVzY3JpcHRpb24sIGJ1dCBvbmx5IGlmIGl0J3MgYmVlbiBlbmNvZGVkIG9yIHdyYXBwZWQKaW4gYSBDREFUQSBzZWN0aW9uLCBhbmQgdG8gbWFrZSBvdXIgZmVlZCBmcmllbmRseSB0byBvdGhlciBzaXRlcywgd2UnbGwgc3RpY2sgdG8KcGxhaW4gSFRNTCwgZXhjbHVkaW5nIHRhZ3MgbGlrZSA8dHQ+Jmx0O2RpdiZndDs8L3R0PiB0aGF0IG1pZ2h0IGNhdXNlIHByb2JsZW1zIHdpdGgKUlNTIHJlYWRlcnMuICBXZSBhbHNvIHdhbnQgdG8gZ2VuZXJhdGUgb25seSB0aGUgdGVuIG1vc3QgcmVjZW50IHBvc3RpbmdzLCB3aXRoCnRoZSBuZXdlc3QgcG9zdGluZyBsaXN0ZWQgZmlyc3QsIHJhdGhlciB0aGFuIHRoZSB3aG9sZSBibG9nLjwvcD4KCjxwPlNvIGhlcmUncyBob3cgd2Ugc3RhcnQuICBGaXJzdCwgd2UgbmVlZCBhIEJCQ29kZSBvYmplY3QgdG8gd29yayB3aXRoLCBzZXQgdXAKZm9yIHBsYWluIG1vZGUgYW5kIHNob3J0IGV4Y2VycHRzLCBhbmQgd2UgbmVlZCB0byBkZWNpZGUgaG93IG1hbnkgYmxvZyBwb3N0aW5ncyB0bwpvdXRwdXQ6PC9wPgoKPGRpdiBjbGFzcz0nY29kZV9oZWFkZXInPkNvZGU6PC9kaXY+Cjx4bXAgY2xhc3M9J2NvZGUnPiRwb3N0aW5ncyA9IGFycmF5X3JldmVyc2UoJHBvc3RpbmdzKTsgICAgIC8vIFBvc3RzIGluIHJldmVyc2UgY2hyb25vbG9naWNhbCBvcmRlcgokbnVtX3Bvc3RpbmdzID0gY291bnQoJHBvc3RpbmdzKTsKaWYgKCRudW1fcG9zdGluZ3MgPiAxMCkgJG51bV9wb3N0aW5ncyA9IDEwOyAgLy8gQXQgbW9zdCAxMCBwb3N0aW5ncyB0byBvdXRwdXQKCiRiYmNvZGUgPSBuZXcgQkJDb2RlOwokYmJjb2RlLT5TZXRQbGFpbk1vZGUodHJ1ZSk7ICAgICAgICAgICAgICAgICAvLyBVc2UgcGxhaW4gbW9kZS4uLgokYmJjb2RlLT5TZXRMaW1pdCgyMDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAuLi5hbmQgbGltaXQgdG8gMjAwIGNoYXJhY3RlcnMuCjwveG1wPgoKPHA+Tm93IHdlIGdlbmVyYXRlIGVhY2ggcG9zdGluZyBpbiBSU1MgMi4wIGZvcm1hdC4gIFRoaXMgaXMgZmFpcmx5IHN0cmFpZ2h0Zm9yd2FyZCwgYnV0CndlJ2xsIGxlYXZlIG91dCBzb21lIG9mIHRoZSBkZXRhaWxzIHNvIHlvdSBjYW4gc2VlIHdoYXQncyBnb2luZyBvbjo8L3A+Cgo8ZGl2IGNsYXNzPSdjb2RlX2hlYWRlcic+Q29kZTo8L2Rpdj4KPHhtcCBjbGFzcz0nY29kZSc+Ly8gTG9vcCBmb3IgZWFjaCBvZiB0aGUgdGVuIChvciBmZXdlcikgcG9zdHMgd2UncmUgZ2VuZXJhdGluZy4KZm9yICgkaSA9IDA7ICRpIDwgJG51bV9wb3N0aW5nczsgJGkrKykgewogICAgJHBvc3RpbmcgPSAkcG9zdGluZ3NbJGldOwoKICAgIC8vIEdlbmVyYXRlIHRoZSBiYXNpYyBtZXRhLWluZm9ybWF0aW9uIGFib3V0IHRoaXMgcG9zdC4KICAgIHByaW50ICI8aXRlbT5cbiI7CiAgICBwcmludCAiPHRpdGxlPiIgLiBodG1sc3BlY2lhbGNoYXJzKCRwb3N0aW5nWyd0aXRsZSddKSAuICI8L3RpdGxlPlxuIjsKICAgIHByaW50ICI8YXV0aG9yPiIgLiBodG1sc3BlY2lhbGNoYXJzKCRwb3N0aW5nWydhdXRob3InXSkgLiAiPC9hdXRob3I+XG4iOwoJLi4uY29udmVydCAkcG9zdGluZ1snZGF0ZSddIHRvIFJTUyAyLjAgZm9ybWF0LCBhbmQgdGhlbi4uLgogICAgcHJpbnQgIjxkYXRlPiIgLiBodG1sc3BlY2lhbGNoYXJzKCRkYXRlKSAuICI8L2RhdGU+XG4iOwogICAgcHJpbnQgIjxsaW5rPmh0dHA6Ly9qZW5ueS1tdXNpbmdzLmV4YW1wbGUuY29tLz9wb3N0PSIKICAgICAgICAuICRwb3N0aW5nWydpZCddIC4gIjwvbGluaz5cbiI7CgogICAgLy8gTm93IGNvbnZlcnQgdGhlIHBvc3QgYm9keSBmcm9tIEJCQ29kZSB0byBhIHNob3J0LCBwbGFpbiBIVE1MIGV4Y2VycHQuCiAgICAkZGVzY3IgPSAkYmJjb2RlLT5QYXJzZSgkcG9zdGluZ1snZGVzY3InXSk7ICAgLy8gQ29udmVydCB0aGUgZGVzY3IuIHRvIHBsYWluIEhUTUwKICAgICRkZXNjciA9IG5sMmJyKCRkZXNjcik7ICAgICAgICAgICAgICAgICAgICAgICAvLyBXZSBhbGxvdyA8YnIgLz4gdGFncyBmb3IgYnJlYWtzLgoKICAgIC8vIFdlIG91dHB1dCBpdCB3aXRoIEhUTUwgZW50aXRpZXMgYmVjYXVzZSBSU1MgMi4wIGRvZXNuJ3QgYWxsb3cgdGFncy4KICAgIHByaW50ICI8ZGVzY3JpcHRpb24+IiAuIGh0bWxzcGVjaWFsY2hhcnMoJGRlc2NyKSAuICI8L2Rlc2NyaXB0aW9uPlxuIjsKCiAgICAvLyBFbmQgdGhlIGl0ZW0uCiAgICBwcmludCAiPC9pdGVtPlxuIjsKfTwveG1wPgoKPHA+VGhhdCdzIGl0LCBzYXZlIGZvciBhIGZldyBzdXJyb3VuZGluZyB0YWdzLiAgTGV0J3MgbG9vayBhdCB0aGUgUlNTLWZlZWQgcHJvZ3JhbQpmdWxseS1hc3NlbWJsZWQ6PC9wPgoKPGRpdiBjbGFzcz0nY29kZV9oZWFkZXInPkNvZGU6PC9kaXY+Cjx4bXAgY2xhc3M9J2NvZGUnPjw/cGhwIHByaW50ICI8P3htbCB2ZXJzaW9uPVwiMS4wXCI/PlxuIjsgPz4KPHJzcyB2ZXJzaW9uPSIyLjAiPgogICAgPGNoYW5uZWw+CiAgICAgICAgPHRpdGxlPkplbm55J3MgTXVzaW5nczwvdGl0bGU+CiAgICAgICAgPGxpbms+aHR0cDovL2plbm55LW11c2luZ3MuZXhhbXBsZS5jb20vPC9saW5rPgogICAgICAgIDxkZXNjcmlwdGlvbj5UaG91Z2h0cyBhbmQgc3R1ZmYgZnJvbSBKZW5ueTwvZGVzY3JpcHRpb24+CiAgICAgICAgPGxhbmd1YWdlPmVuLXVzPC9sYW5ndWFnZT4KCjw/cGhwCgpyZXF1aXJlX29uY2UoIm5iYmMucGhwIik7CgovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCi8vIE5vcm1hbGx5LCB3ZSdkIGxvYWQgdGhlIHBvc3RpbmdzIGZyb20gYSBkYXRhYmFzZSwgYnV0IGZvciB0aGlzIGV4YW1wbGUsCi8vIHdlJ2xsIGp1c3QgaW5jbHVkZSB0aGVtIHJpZ2h0IGhlcmUuCiRwb3N0aW5ncyA9IEFycmF5KAoKICAgIDM3MiA9PiBBcnJheSgKICAgICAgICAnaWQnID0+IDM3MiwKICAgICAgICAndGl0bGUnID0+ICJJIFNhdyBhIENvdyBUb2RheSIsCiAgICAgICAgJ2RhdGUnID0+ICIyMDA3LTA2LTA1IDE4OjM3OjQzIiwKICAgICAgICAnYXV0aG9yJyA9PiAiSmVubnkiLAogICAgICAgICdkZXNjcicgPT4gIkkgdG9vayB0aGUgc2NlbmljIHJvdXRlIHRvIHdvcmsgdG9kYXksIGFuZCB3b3VsZG4ndCB5b3Uga25vdyBpdD8KVGhlcmUgd2FzIGFuIEFtaXNoIGZhcm1lciB3YWxraW5nIGFsb25nIHRoZSBzaWRlIG9mIHRoZSByb2FkIHdpdGggYSBjb3cgb24gYSBsZWFzaC4KSSBkb24ndCByZWFsbHkga25vdyB3aGVyZSBoZSB3YXMgZ29pbmcsIGJ1dCBJIHdhcyByZWFsbHkgc3VycHJpc2VkIHRvIHNlZSB0aGVtLCBzaW5jZQp0aGUgQW1pc2ggdXN1YWxseSBkb24ndCBnZXQgdGhpcyBjbG9zZSB0byB0aGUgc3VidXJicy4gIEl0IG1ha2VzIHlvdSB3b25kZXIgaWYgdGltZXMKaGF2ZSBnb3R0ZW4gaGFyZCBmb3IgdGhlbSB0b28uICBGb29kIGZvciB0aG91Z2h0LCBJIHRoaW5rLiIsCiAgICApLAoKICAgIDM3MyA9PiBBcnJheSgKICAgICAgICAnaWQnID0+IDM3MywKICAgICAgICAndGl0bGUnID0+ICJJIFdvcmsgd2l0aCBJZGlvdHMiLAogICAgICAgICdkYXRlJyA9PiAiMjAwNy0wNi0wOCAxODowMzoxNyIsCiAgICAgICAgJ2F1dGhvcicgPT4gIkplbm55IiwKICAgICAgICAnZGVzY3InID0+ICJJIHN3ZWFyIHRoaXMgd2FzIHRoZSBkYXkgb2YgaWRpb3RzIGF0IHdvcmsuICBGaXJzdCB0aGluZywgcmlnaHQKb2ZmIHRoZSBiYXQsIExhcnJ5IGNvbWVzIGluIHRhbGtpbmcgb24gYSBjZWxsIHBob25lLCBhbmQgSSBraWQgeW91IG5vdCwgaGUgd2Fsa3MKcmlnaHQgc21hY2sgaW50byB0aGUgZW5kIG9mIHRoZSBvcGVuIGdsYXNzIGRvb3IuICBXZSBjb3VsZCBoZWFyIHRoZSBbaV0qc21hY2sqWy9pXQphbGwgdGhyb3VnaG91dCB0aGUgZW50aXJlIG9mZmljZSwgYW5kIGhlIGhhZCBhIHJlZCB3ZWx0IG9uIGhpcyBmYWNlIGZvciB0aGUgcmVzdCBvZgp0aGUgZGF5LiAgVGhlbiBteSBib3NzIGNvbWVzIGluIHJhbnRpbmcgYW5kIHJhdmluZyBhdCB1cyBhYm91dCBmb3JnZXR0aW5nIHRvIGUtbWFpbAp0aGUgUGluc2t5IHBlb3BsZSwgb25seSB0byBoYXZlIFNhbSBwb2ludCBvdXQgdGhhdCBoZSdkIHNhaWQgaW4gdGhlIHllc3RlcmRheSdzCm1lZXRpbmcgdGhhdCBoZSdkIGRvIGl0IGhpbXNlbGYuICBBbmQgdGhlbiBhdCBsdW5jaCwgU2FtIHdhcyBsYXVnaGluZyBzbyBoYXJkIGF0IG9uZQpvZiBCaWxsJ3Mgam9rZXMgdGhhdCBzaGUgcGVlZCBoZXIgcGFudHMgKHNvcnJ5LCBTYW0hKSBhbmQgaGFkIHRvIHJ1biBvdXQgYW5kIGJ1eSBhCm5ldyBwYWlyLiAgSSBkb24ndCBldmVuIFtpXXdhbm5hWy9pXSBzYXkgYWxsIHRoZSBzdHVwaWQgY3JhcCB0aGF0IGhhcHBlbmVkIGluIHRoZQphZnRlcm5vb24uICBEb2VzIGV2ZXJ5Ym9keSBoYXZlIGEgd29ya3BsYWNlIGZ1bGwgb2YgbnVtYnNrdWxscyBsaWtlIEkgZG8sIG9yIGlzIHRoaXMKanVzdCBzcHJpbmcgZmV2ZXIgb3Igc29tZXRoaW5nPyAgTWF5YmUgaXQncyBqdXN0IGJlY2F1c2UgaXQncyBGcmlkYXkuLi4iLAogICAgKSwKCgkzNzQgPT4gQXJyYXkoCiAgICAgICAgJ2lkJyA9PiAzNzQsCiAgICAgICAgJ3RpdGxlJyA9PiAiU3VuZGF5IGluIHRoZSBQYXJrIHdpdGggR2VvZmYiLAogICAgICAgICdkYXRlJyA9PiAiMjAwNy0wNi0xMCAyMTowODowNiIsCiAgICAgICAgJ2F1dGhvcicgPT4gIkplbm55IiwKICAgICAgICAnZGVzY3InID0+ICJHZW9mZiBhbmQgSSB3ZW50IG91dCB0byB0aGUgcGFyayBpbiB0aGUgY2l0eSB0b2RheSBqdXN0IGZvcgpzb21ldGhpbmcgdG8gZG8uICBXZSBib3VnaHQgdGhlc2UgcmVhbGx5IGF3ZnVsIGJ1cmdlcnMgZnJvbSBhIHN0cmVldCB2ZW5kb3IgYW5kIHNvbWUKYm90dGxlcyBvZiBDb2tlLCBhbmQgdGhlbiBzYXQgb24gdGhlIHBhcmsgYmVuY2ggbmliYmxpbmcgdGhlbSAoZGlkIEkgbWVudGlvbiB0aGUKYnVyZ2VycyB3ZXJlIGF3ZnVsPykgd2hpbGUgd2Ugd2F0Y2hlZCBraWRzIHNrYXRlYm9hcmRpbmcgYXJvdW5kIHRoZSBiZW5jaGVzLiAgVGhlcmUKd2FzIG9uZSBraWQgd2hvIHdhcyByZWFsbHkgZ29vZC4gIEkgd2F0Y2hlZCBoaW0gZG8gYSBnb29kIHRocmVlIGZsaXBzIGluIHRoZSBhaXIganVzdApwYXN0IHRoZSBzdGF0dWUgb2YgSm9obiBBZGFtcywgb2ZmIHRoYXQgcmFpbGluZyB0aGVyZSwgYnV0IGl0IGRpZG4ndCBsYXN0LiAgQW4gb2xkCmxhZHkgd2hvIHdhcyB0cnlpbmcgdG8gZmVlZCB0aGUgcGlnZW9ucyBnb3Qgc2NhcmVkIGFuZCBsZWZ0LCBhbmQgc2hlIGNhbWUgYmFjayBhYm91dAp0ZW4gbWludXRlcyBsYXRlciB3aXRoIGEgcG9saWNlIG9mZmljZXIuICBJIHJlYWxseSBkb24ndCB1bmRlcnN0YW5kIHdoeSB0aGUgY2l0eQpraWNrcyB0aGUga2lkcyBvdXQgb2YgdGhlIHBhcmssIHNpbmNlIHRoZXkncmUgbm90IGh1cnRpbmcgYW55dGhpbmcuICBJIHdvbmRlciBpZiBJJ2xsCmJlIGFzIGNyYW5reSBhcyBzaGUgd2FzIHdoZW4gSSBnZXQgb2xkPyIsCiAgICApLAoKKTsKCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKJHBvc3RpbmdzID0gYXJyYXlfcmV2ZXJzZSgkcG9zdGluZ3MpOyAgICAgICAgLy8gUG9zdHMgaW4gcmV2ZXJzZSBjaHJvbm9sb2dpY2FsIG9yZGVyCiRudW1fcG9zdGluZ3MgPSBjb3VudCgkcG9zdGluZ3MpOwppZiAoJG51bV9wb3N0aW5ncyA+IDEwKSAkbnVtX3Bvc3RpbmdzID0gMTA7ICAvLyBBdCBtb3N0IDEwIHBvc3RpbmdzIHRvIG91dHB1dAoKJGJiY29kZSA9IG5ldyBCQkNvZGU7CiRiYmNvZGUtPlNldFBsYWluTW9kZSh0cnVlKTsgICAgICAgICAgICAgICAgIC8vIFVzZSBwbGFpbiBtb2RlLi4uCiRiYmNvZGUtPlNldExpbWl0KDIwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC4uLmFuZCBsaW1pdCB0byAyMDAgY2hhcmFjdGVycy4KCi8vIExvb3AgZm9yIGVhY2ggb2YgdGhlIHRlbiAob3IgZmV3ZXIpIHBvc3RzIHdlJ3JlIGdlbmVyYXRpbmcuCmZvciAoJGkgPSAwOyAkaSA8ICRudW1fcG9zdGluZ3M7ICRpKyspIHsKICAgICRwb3N0aW5nID0gJHBvc3RpbmdzWyRpXTsKCiAgICAvLyBHZW5lcmF0ZSB0aGUgYmFzaWMgbWV0YS1pbmZvcm1hdGlvbiBhYm91dCB0aGlzIHBvc3QuCiAgICBwcmludCAiPGl0ZW0+XG4iOwogICAgcHJpbnQgIjx0aXRsZT4iIC4gaHRtbHNwZWNpYWxjaGFycygkcG9zdGluZ1sndGl0bGUnXSkgLiAiPC90aXRsZT5cbiI7CiAgICBwcmludCAiPGF1dGhvcj4iIC4gaHRtbHNwZWNpYWxjaGFycygkcG9zdGluZ1snYXV0aG9yJ10pIC4gIjwvYXV0aG9yPlxuIjsKICAgIHByaW50ICI8bGluaz5odHRwOi8vamVubnktbXVzaW5ncy5leGFtcGxlLmNvbS8/cG9zdD0iCiAgICAgICAgLiAkcG9zdGluZ1snaWQnXSAuICI8L2xpbms+XG4iOwoKICAgIC8vIENvbnZlcnQgdGhlIGRhdGUgZnJvbSAiWVlZWS1NTS1ERCBISDpNTTpTUyIgZm9ybWF0IHRvIGEgdGltZXN0YW1wLi4uCiAgICAkZGF0ZSA9ICRwb3N0aW5nWydkYXRlJ107CiAgICAkeWVhciA9IHN1YnN0cigkZGF0ZSwgMCwgNCk7CiAgICAkbW9udGggPSBzdWJzdHIoJGRhdGUsIDUsIDIpOwogICAgJGRheSA9IHN1YnN0cigkZGF0ZSwgOCwgMik7CiAgICAkaG91ciA9IHN1YnN0cigkZGF0ZSwgMTEsIDIpOwogICAgJG1pbnV0ZSA9IHN1YnN0cigkZGF0ZSwgMTQsIDIpOwogICAgJHNlY29uZCA9IHN1YnN0cigkZGF0ZSwgMTcsIDIpOwoJJHRpbWVzdGFtcCA9IG1rdGltZSgkaG91ciwgJG1pbnV0ZSwgJHNlY29uZCwgJG1vbnRoLCAkZGF5LCAkeWVhciwgZmFsc2UpOwoJCgkvLyAuLi5hbmQgdG8gUkZDIDI4MjIgZm9ybWF0LCB3aGljaCBpcyByZXF1aXJlZCBieSBSU1MgMi4wLgogICAgJHJmYzI4MjIgPSBkYXRlKCJyIiwgJHRpbWVzdGFtcCk7CiAgICBwcmludCAiPGRhdGU+IiAuIGh0bWxzcGVjaWFsY2hhcnMoJHJmYzI4MjIpIC4gIjwvZGF0ZT5cbiI7CgogICAgLy8gTm93IGNvbnZlcnQgdGhlIHBvc3QgYm9keSBmcm9tIEJCQ29kZSB0byBhIHNob3J0LCBwbGFpbiBIVE1MIGV4Y2VycHQuCiAgICAkZGVzY3IgPSAkYmJjb2RlLT5QYXJzZSgkcG9zdGluZ1snZGVzY3InXSk7ICAgLy8gQ29udmVydCB0aGUgZGVzY3IuIHRvIHBsYWluIEhUTUwKICAgICRkZXNjciA9IG5sMmJyKCRkZXNjcik7ICAgICAgICAgICAgICAgICAgICAgICAvLyBXZSBhbGxvdyA8YnIgLz4gdGFncyBmb3IgYnJlYWtzLgoKICAgIC8vIFdlIG91dHB1dCBpdCB3aXRoIEhUTUwgZW50aXRpZXMgYmVjYXVzZSBSU1MgMi4wIGRvZXNuJ3QgYWxsb3cgdGFncy4KICAgIHByaW50ICI8ZGVzY3JpcHRpb24+IiAuIGh0bWxzcGVjaWFsY2hhcnMoJGRlc2NyKSAuICI8L2Rlc2NyaXB0aW9uPlxuIjsKCiAgICAvLyBFbmQgdGhlIGl0ZW0uCiAgICBwcmludCAiPC9pdGVtPlxuXG4iOwp9CgovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCj8+CiAgICA8L2NoYW5uZWw+CjwvcnNzPjwveG1wPgoKPHA+VGhpcyBwcm9ncmFtIGlzIGF2YWlsYWJsZSBhcyBhbiBleGFtcGxlIGluIHRoZSA8dHQ+ZXhhbXBsZXMvPC90dD4gZGlyZWN0b3J5LAp1bmRlciB0aGUgbmFtZSA8dHQ+cnNzX2V4YW1wbGUucGhwPC90dD4uICBUaGlzIGlzIHdoYXQgaXQgb3V0cHV0czo8L3A+Cgo8ZGl2IGNsYXNzPSdvdXRwdXRfaGVhZGVyJz5PdXRwdXQgKHJhdyBmZWVkKTo8L2Rpdj4KPGRpdiBjbGFzcz0nb3V0cHV0Jz48eG1wPgo8P3htbCB2ZXJzaW9uPSIxLjAiPz4KPHJzcyB2ZXJzaW9uPSIyLjAiPgogICAgPGNoYW5uZWw+CiAgICAgICAgPHRpdGxlPkplbm55J3MgTXVzaW5nczwvdGl0bGU+CiAgICAgICAgPGxpbms+aHR0cDovL2plbm55LW11c2luZ3MuZXhhbXBsZS5jb20vPC9saW5rPgogICAgICAgIDxkZXNjcmlwdGlvbj5UaG91Z2h0cyBhbmQgc3R1ZmYgZnJvbSBKZW5ueTwvZGVzY3JpcHRpb24+CiAgICAgICAgPGxhbmd1YWdlPmVuLXVzPC9sYW5ndWFnZT4KCjxpdGVtPgo8dGl0bGU+U3VuZGF5IGluIHRoZSBQYXJrIHdpdGggR2VvZmY8L3RpdGxlPgo8YXV0aG9yPkplbm55PC9hdXRob3I+CjxkYXRlPlN1biwgMTAgSnVuIDIwMDcgMjI6MDg6MDYgLTA1MDA8L2RhdGU+CjxkZXNjcmlwdGlvbj5HZW9mZiBhbmQgSSB3ZW50IG91dCB0byB0aGUgcGFyayBpbiB0aGUgY2l0eSB0b2RheSBqdXN0IGZvciBzb21ldGhpbmcKdG8gZG8uIFdlIGJvdWdodCB0aGVzZSByZWFsbHkgYXdmdWwgYnVyZ2VycyBmcm9tIGEgc3RyZWV0IHZlbmRvciBhbmQgc29tZSBib3R0bGVzIG9mCkNva2UsIGFuZCB0aGVuIHNhdCBvbiB0aGUgcGFyayBiZW5jaC4uLjwvZGVzY3JpcHRpb24+CjwvaXRlbT4KCjxpdGVtPgo8dGl0bGU+SSBXb3JrIHdpdGggSWRpb3RzPC90aXRsZT4KPGF1dGhvcj5KZW5ueTwvYXV0aG9yPgo8ZGF0ZT5GcmksIDA4IEp1biAyMDA3IDE5OjAzOjE3IC0wNTAwPC9kYXRlPgo8ZGVzY3JpcHRpb24+SSBzd2VhciB0aGlzIHdhcyB0aGUgZGF5IG9mIGlkaW90cyBhdCB3b3JrLiBGaXJzdCB0aGluZywgcmlnaHQgb2ZmIHRoZQpiYXQsIExhcnJ5IGNvbWVzIGluIHRhbGtpbmcgb24gYSBjZWxsIHBob25lLCBhbmQgSSBraWQgeW91IG5vdCwgaGUgd2Fsa3MgcmlnaHQgc21hY2sKaW50byB0aGUgZW5kIG9mIHRoZSBvcGVuIGdsYXNzIGRvb3IuIFdlLi4uPC9kZXNjcmlwdGlvbj4KPC9pdGVtPgoKPGl0ZW0+Cjx0aXRsZT5JIFNhdyBhIENvdyBUb2RheTwvdGl0bGU+CjxhdXRob3I+SmVubnk8L2F1dGhvcj4KPGRhdGU+VHVlLCAwNSBKdW4gMjAwNyAxOTozNzo0MyAtMDUwMDwvZGF0ZT4KPGRlc2NyaXB0aW9uPkkgdG9vayB0aGUgc2NlbmljIHJvdXRlIHRvIHdvcmsgdG9kYXksIGFuZCB3b3VsZG4ndCB5b3Uga25vdyBpdD8gVGhlcmUKd2FzIGFuIEFtaXNoIGZhcm1lciB3YWxraW5nIGFsb25nIHRoZSBzaWRlIG9mIHRoZSByb2FkIHdpdGggYSBjb3cgb24gYSBsZWFzaC4gSSBkb24ndApyZWFsbHkga25vdyB3aGVyZSBoZSB3YXMgZ29pbmcsIGJ1dCBJIHdhcy4uLjwvZGVzY3JpcHRpb24+CjwvaXRlbT4KCiAgICA8L2NoYW5uZWw+CjwvcnNzPgo8L3htcD48L2Rpdj4KCjxkaXYgY2xhc3M9J291dHB1dF9oZWFkZXInPk91dHB1dCAoZnJvbSBhbiBSU1MgcmVhZGVyKTo8L2Rpdj4KPGRpdiBjbGFzcz0nb3V0cHV0Jz4KPGgzIHN0eWxlPSdib3JkZXItYm90dG9tOjFweCBzb2xpZCAjOTlDO21hcmdpbjowO2NvbG9yOiMwMDA7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Jz48YSBocmVmPSJodHRwOi8vamVubnktbXVzaW5ncy5leGFtcGxlLmNvbS8iPkplbm55J3MgTXVzaW5nczwvYT48L2gzPgo8cCBzdHlsZT0nbWFyZ2luOjAuNWVtIDAgMWVtIDA7Jz5UaG91Z2h0cyBhbmQgc3R1ZmYgZnJvbSBKZW5ueTwvcD4KCjxoNCBzdHlsZT0nY29sb3I6IzAwMDt0ZXh0LWRlY29yYXRpb246bm9uZTttYXJnaW46MDsnPjxhIGhyZWY9Imh0dHA6Ly9qZW5ueS1tdXNpbmdzLmV4YW1wbGUuY29tL3Bvc3Q9Mzc0Ij5TdW5kYXkgaW4gdGhlIFBhcmsgd2l0aCBHZW9mZjwvYT4gJm5ic3A7IDxzcGFuIHN0eWxlPSdmb250LXdlaWdodDpub3JtYWw7Zm9udC1zaXplOjEwcHQ7Zm9udC1zdHlsZTppdGFsaWM7Jz5TdW5kYXksIEp1bmUgMTAsIDIwMDc8L3NwYW4+PC9oND4KPHAgc3R5bGU9J21hcmdpbjowLjVlbSAwIDFlbSAyZW07Jz5HZW9mZiBhbmQgSSB3ZW50IG91dCB0byB0aGUgcGFyayBpbiB0aGUgY2l0eSB0b2RheSBqdXN0IGZvciBzb21ldGhpbmcKdG8gZG8uIFdlIGJvdWdodCB0aGVzZSByZWFsbHkgYXdmdWwgYnVyZ2VycyBmcm9tIGEgc3RyZWV0IHZlbmRvciBhbmQgc29tZSBib3R0bGVzIG9mCkNva2UsIGFuZCB0aGVuIHNhdCBvbiB0aGUgcGFyayBiZW5jaC4uLjwvcD4KCjxoNCBzdHlsZT0nY29sb3I6IzAwMDt0ZXh0LWRlY29yYXRpb246bm9uZTttYXJnaW46MDsnPjxhIGhyZWY9Imh0dHA6Ly9qZW5ueS1tdXNpbmdzLmV4YW1wbGUuY29tL3Bvc3Q9MzczIj5JIFdvcmsgd2l0aCBJZGlvdHM8L2E+ICZuYnNwOyA8c3BhbiBzdHlsZT0nZm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc2l6ZToxMHB0O2ZvbnQtc3R5bGU6aXRhbGljOyc+RnJpZGF5LCBKdW5lIDgsIDIwMDc8L3NwYW4+PC9oND4KPHAgc3R5bGU9J21hcmdpbjowLjVlbSAwIDFlbSAyZW07Jz5JIHN3ZWFyIHRoaXMgd2FzIHRoZSBkYXkgb2YgaWRpb3RzIGF0IHdvcmsuIEZpcnN0IHRoaW5nLCByaWdodCBvZmYgdGhlCmJhdCwgTGFycnkgY29tZXMgaW4gdGFsa2luZyBvbiBhIGNlbGwgcGhvbmUsIGFuZCBJIGtpZCB5b3Ugbm90LCBoZSB3YWxrcyByaWdodCBzbWFjawppbnRvIHRoZSBlbmQgb2YgdGhlIG9wZW4gZ2xhc3MgZG9vci4gV2UuLi48L3A+Cgo8aDQgc3R5bGU9J2NvbG9yOiMwMDA7dGV4dC1kZWNvcmF0aW9uOm5vbmU7bWFyZ2luOjA7Jz48YSBocmVmPSJodHRwOi8vamVubnktbXVzaW5ncy5leGFtcGxlLmNvbS9wb3N0PTM3MiI+SSBTYXcgYSBDb3cgVG9kYXk8L2E+ICZuYnNwOyA8c3BhbiBzdHlsZT0nZm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc2l6ZToxMHB0O2ZvbnQtc3R5bGU6aXRhbGljOyc+VHVlc2RheSwgSnVuZSA1LCAyMDA3PC9zcGFuPjwvaDQ+CjxwIHN0eWxlPSdtYXJnaW46MC41ZW0gMCAxZW0gMmVtOyc+SSB0b29rIHRoZSBzY2VuaWMgcm91dGUgdG8gd29yayB0b2RheSwgYW5kIHdvdWxkbid0IHlvdSBrbm93IGl0PyBUaGVyZQp3YXMgYW4gQW1pc2ggZmFybWVyIHdhbGtpbmcgYWxvbmcgdGhlIHNpZGUgb2YgdGhlIHJvYWQgd2l0aCBhIGNvdyBvbiBhIGxlYXNoLiBJIGRvbid0CnJlYWxseSBrbm93IHdoZXJlIGhlIHdhcyBnb2luZywgYnV0IEkgd2FzLi4uPC9wPgo8L2Rpdj4KCjxwPlRoYXQncyBhIG5pY2UsIGNsZWFuLCBzaW1wbGUgUlNTIGZlZWQsIGp1c3QgdGhlIHdheSBuYXR1cmUgaW50ZW5kZWQuICBUaGVyZSBhcmUgcGxlbnR5Cm9mIG90aGVyIHdheXMgeW91IGNhbiBmb3JtYXQgeW91ciBmZWVkcywgb3IgdXNlIHRoZXNlIHNhbWUgdGVjaG5pcXVlcyBmb3Igc2FtcGxpbmcgYW55CmxvbmcgY2h1bmsgb2YgQkJDb2RlIHRleHQsIGJ1dCB0aGlzIGRlbW9uc3RyYXRpb24gY292ZXJzIHRoZSBiYXNpY3MgbmljZWx5LjwvcD4K]]></data>
	</file>
	<file>
	  <filename>/docs/doc/src/usage_smiley.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CjxwPlRhZ3MgYXJlIGdvb2QsIGJ1dCB3aGF0IGFib3V0IHNtaWxleXMsIGVtb3RpY29ucywgdGhlIHRoaW5nIHdoZXJlIHRoZSB1c2VyIHR5cGVzIDx0dD46LSk8L3R0PiBhbmQKc2VlcyBhIGxpdHRsZSBzbWlsZXktZmFjZSBpY29uIGFwcGVhciBpbiB0aGUgb3V0cHV0PyAgTkJCQyBpbmNsdWRlcyBmdWxsIHN1cHBvcnQgZm9yCnNtaWxleXMsIGFuZCBpbmNsdWRlcyBhIGRlZmF1bHQgc2VsZWN0aW9uIG9mIDMwIGZhaXJseSBjb21tb24gb25lcy4gIChZb3UgY2FuIGZpbmQgYQpmdWxsIGxpc3Qgb2YgdGhlIHN0YW5kYXJkIHNtaWxleXMgaW4gdGhlIDxhIGhyZWY9ImFwcF9zbWlsZXkuaHRtbCI+YXBwZW5kaXg8L2E+LikgIEJ1dAppZiB0aG9zZSAzMCBhcmVuJ3QgZW5vdWdoIGZvciB5b3UsIGluc3RhbGxpbmcgeW91ciBvd24gaXMgZWFzeS48L3A+Cgo8cD5GaXJzdCwgdGhlIHNtaWxleSB5b3Ugd2FudCB0byBhZGQgbXVzdCBiZSBhIFBORywgR0lGLCBvciBKUEVHIGltYWdlIGZpbGU7IGJyb3dzZXJzIGNhbid0CmhhbmRsZSBvdGhlciBmaWxlIGZvcm1hdHMuICBVcGxvYWQgeW91ciBpbWFnZSB0byB0aGUgc2VydmVyLCBhbmQgdGhlbiBjb3B5IGl0IGludG8gdGhlCjx0dD5zbWlsZXlzLzwvdHQ+IGRpcmVjdG9yeS48L3A+Cgo8cD5UaGVuIHlvdSdsbCBoYXZlIHRvIGNob29zZSBhIG5hbWUgZm9yIHlvdXIgc21pbGV5OiAgWW91J2xsIGhhdmUgdG8gY2hvb3NlIHdoYXQgcGVvcGxlCm5lZWQgdG8gdHlwZSB0byBzZWUgaXQuICBTaW1wbGUgc21pbGV5cyBsaWtlIDx0dD46LSk8L3R0PiBhcmUgZWFzeSwgYnV0IHdoYXQgaWYgeW91cnMKaXMgYSBwaWN0dXJlIG9mLCBzYXksIGEgZG9nIGRyaXZpbmcgYSBjYXI/ICBGb3IgY29tcGxleCBzbWlsZXlzIGxpa2UgdGhpcyB0aGF0IGNhbid0IGJlCnJlYWRpbHkgZGVzY3JpYmVkIGJ5IGEgc2ltcGxlIHN5bWJvbCwgbW9zdCB1c2VycyBnZW5lcmFsbHkgcHJlZmVyIHRvIHVzZSBhIHNob3J0IGtleXdvcmQKc3Vycm91bmRlZCBieSBjb2xvbnMsIGxpa2UgPHR0Pjpkb2djYXI6PC90dD4uICBMZXQncyBhZGQgdGhlIDx0dD46ZG9nY2FyOjwvdHQ+IHNtaWxleSBzbwp0aGF0IE5CQkMgd2lsbCBjb252ZXJ0IGl0IGludG8gIjx0dD5kb2djYXIucG5nPC90dD4iOjwvcD4KCjxkaXYgY2xhc3M9J2NvZGVfaGVhZGVyJz5Db2RlOjwvZGl2Pgo8eG1wIGNsYXNzPSdjb2RlJz4kYmJjb2RlLT5BZGRTbWlsZXkoIjpkb2djYXI6IiwgImRvZ2Nhci5wbmciKTs8L3htcD4KCjxwPlRoYXQncyBhbGwgaXQgdGFrZXM7IHRoZSA8dHQ+OmRvZ2Nhcjo8L3R0PiBzbWlsZXkgaXMgbm93IGF2YWlsYWJsZSE8L3A+CgoJPGRpdiBjbGFzcz0ndGlwYm94Jz4KCTxkaXYgY2xhc3M9J3RpcGJveF9oZWFkZXInPgoJCTxkaXYgY2xhc3M9J3RpcGJveF9zdGFyJz4qPC9kaXY+PGRpdj48Yj5UZWNoIFRpcDwvYj48L2Rpdj4KCTwvZGl2PgoJPGRpdiBjbGFzcz0ndGlwYm94X2NvbnRlbnQnPjxkaXYgY2xhc3M9J3RpcGJveF9jb250ZW50Mic+CgoJCTxwPkZvciB3aGF0IGl0J3Mgd29ydGgsIHlvdXIgc21pbGV5IGNvZGVzIG1heSBpbmNsdWRlIGV2ZXJ5IGNoYXJhY3RlciBvbiB5b3VyIGtleWJvYXJkCgkJZXhjZXB0IGZvciBzcGFjZSwgPHR0Pls8L3R0PiwgYW5kIDx0dD5dPC90dD4sIHdoaWNoIGFyZSBhbGwgdXNlZCBieSBvdGhlciB0aGluZ3MuICBHZW5lcmFsbHksCgkJeW91IHNob3VsZCBuZXZlciB1c2Ugc21pbGV5cyBzaG9ydGVyIHRoYW4gdHdvIGNoYXJhY3RlcnMgbG9uZywgYW5kIGV2ZW4gdGhhdCdzIHByb2JhYmx5CgkJdG9vIHNob3J0LCB3aXRoIHNvbWUgZXhjZXB0aW9ucy4gIEFuZCBOQkJDIGlzIHNtYXJ0IGVub3VnaCB0byBrbm93IHRoYXQgaWYgPHR0PjpEPC90dD4gYW5kCgkJPHR0PkQ6PC90dD4gYXJlIHNtaWxleXMsIGl0IHNob3VsZCA8aT5ub3Q8L2k+IGNvbnZlcnQgPHR0PlBBSUQ6PC90dD4gb3IgPHR0PjpEVURFOjwvdHQ+CgkJanVzdCBiZWNhdXNlIHRoZXkgbG9vayBsaWtlIHRoZXkgaGF2ZSBzbWlsZXlzIGluIHRoZW06ICBBbnkgc21pbGV5IHRoYXQgYnV0dHMgdXAgYWdhaW5zdAoJCWFuIGFscGhhbnVtZXJpYyBjaGFyYWN0ZXIgKG9yIHVuZGVyc2NvcmUpIHdpbGwgPGk+bm90PC9pPiBiZSBjb252ZXJ0ZWQgdG8gYW4gaW1hZ2UuPC9wPgoKCQk8cD5XaGlsZSB5b3UgY2FuIHJlZ2lzdGVyIGFueSBzZXF1ZW5jZSBvZiBjaGFyYWN0ZXJzIGFzIGEgc21pbGV5LCBpdCdzIHVzdWFsbHkgYSBiYWQKCQlpZGVhIHRvIHJlZ2lzdGVyIHNvbWV0aGluZyB0aGF0IG1pZ2h0IGJlIGEgY29tbW9ubHktdHlwZWQgd29yZC4gIEZvciBleGFtcGxlLCByZWdpc3RlcmluZwoJCTx0dD44MzwvdHQ+IGlzIHByb2JhYmx5IGEgYmFkIGlkZWEsIHNpbXBseSBiZWNhdXNlIHRoZSBudW1iZXIgIjgzIiBpcyBsaWtlbHkgdG8gZXZlbnR1YWxseQoJCWFwcGVhciBpbiB0ZXh0IHNvbWV3aGVyZS4gIFRoZSBsYXN0IHRoaW5nIHlvdSBldmVyIHdhbnQgdG8gc2VlIG9uIHlvdXIgc2l0ZSBpcyBzb21ldGhpbmcKCQlsaWtlIHRoaXM6PC9wPgoJCQoJCTxwIHN0eWxlPSdtYXJnaW4tbGVmdDogMmVtOyc+PHR0PjxpbWcgc3JjPSIuLi9zbWlsZXlzL3RlZXRoLmdpZiIgd2lkdGg9JzE2JyBoZWlnaHQ9JzE2JyBhbHQ9JzgzJyAvPiBwZW9wbGUgZGllZCBpbiB0aGF0IHBsYW5lIGNyYXNoLjwvdHQ+PC9wPgoJCQoJCTxwPlRoaXMgaXMgd2h5IG1vc3QgdW51c3VhbCBzbWlsZXlzIG9uIG1vc3Qgc2l0ZXMgYXJlIGRvbmUgd2l0aCBrZXl3b3JkcyBzdXJyb3VuZGVkIGJ5CgkJY29sb25zOiAgSWYgdGhpcyBzbWlsZXkgaGFkIGJlZW4gcmVnaXN0ZXJlZCBhcyA8dHQ+Omdvb2Z5Z3Jpbjo8L3R0PiBpbnN0ZWFkIG9mIGFzIDx0dD44MzwvdHQ+LAoJCXRoaXMgdHJhZ2VkeSBtaWdodCBoYXZlIGJlZW4gYXZlcnRlZC48L3A+CgkJCgkJPHA+U28gaXQncyB1cCB0byB5b3Ugd2hhdCBzbWlsZXlzIHlvdSByZWdpc3RlciwgYnV0IGJlIGNhcmVmdWw6ICBZb3VyIHNtaWxleXMgbWF5IGhhdmUKCQl1bmludGVuZGVuZCBjb25zZXF1ZW5jZXMgaWYgeW91IGRvbid0IHRoaW5rIGNhcmVmdWxseSBhYm91dCBob3cgdGhleSBtaWdodCBiZSB1c2VkLjwvcD4KCTwvZGl2PjwvZGl2PgoJPC9kaXY+Cg==]]></data>
	</file>
	<file>
	  <filename>/docs/doc/src/usage_wiki.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CjxwPk5CQkMgaGFzIGEgZmVhdHVyZSB0aGF0IGFsbG93cyB5b3VyIHVzZXJzIHRvIGVhc2lseSBsaW5rIHRvIGNvbnRlbnQgb24gYQpzcGVjaWZpYyB3ZWIgc2l0ZSBvZiB5b3VyIGNob2ljZS4gIFRoaXMgZmVhdHVyZSBpcyBjYWxsZWQgPGk+d2lraS1saW5rczwvaT4sCmJlY2F1c2UgaXQgdXNlcyBhIHN5bnRheCB2ZXJ5IHNpbWlsYXIgdG8gdGhhdCBvZiBtYW55IHdpa2lzIChsaWtlIDxhIGhyZWY9Imh0dHA6Ly9lbi53aWtpcGVkaWEub3JnIj5XaWtpcGVkaWE8L2E+KSwKYW5kIGJlY2F1c2UgaXQgb2Z0ZW4gbGlua3MgdG8gY29udGVudCBvbiBhIHdpa2kuICBJbiB0aGlzIHNlY3Rpb24sIHdlJ3JlIGdvaW5nCnRvIGxvb2sgYXQgaG93IHRvIHNldCB1cCB3aWtpLWxpbmtzIG9uIHlvdXIgc2l0ZSBpbiB0aHJlZSBkaWZmZXJlbnQgd2F5czogIEZpcnN0LAp3ZSdyZSBnb2luZyB0byBsb29rIGF0IHRoZSBzaW1wbGUgY2FzZSBvZiBwb2ludGluZyB0aGVtIHRvIGEgd2lraSB5b3UndmUgaW5zdGFsbGVkOwp0aGVuIHdlJ3JlIGdvaW5nIHRvIGxvb2sgYXQgaG93IHRvIHBvaW50IHRoZW0gYXQgdW5pcXVlIGN1c3RvbSBjb250ZW50LCBzdWNoIGFzCmEgd2ViY29taWMgb3IgYSBjb250ZW50LW1hbmFnZW1lbnQgc3lzdGVtIChDTVMpIGxpa2UgRHJ1cGFsOyBhbmQgZmluYWxseSwgd2UnbGwKbG9vayBhdCBob3cgdG8gc2V0IHRoZW0gdXAgc28gdGhhdCB0aGV5IGNhbiBwb2ludCB0byBzZXZlcmFsIGRpZmZlcmVudCBraW5kcwpvZiBjb250ZW50IGF0IHRoZSBzYW1lIHRpbWUuPC9wPgoKPGEgbmFtZT0idXNhZ2Vfd2lraV93aWtpIj48L2E+PGg0PkxpbmtpbmcgdG8gYSBXaWtpPC9oND4KCjxwPkxldCdzIHNheSB0aGF0IHlvdSB3YW50IHRvIG1ha2UgaXQgdmVyeSBlYXN5IGZvciB5b3VyIHVzZXJzIHRvIGxpbmsgdG8gY29udGVudApvbiBXaWtpcGVkaWEuICBGb3IgZXhhbXBsZSwgeW91J2QgbGlrZSB0aGlzIHRvIGhhcHBlbjo8L3A+Cgo8ZGl2IGNsYXNzPSdjb2RlX2hlYWRlcic+Q29kZTo8L2Rpdj4KPHhtcCBjbGFzcz0nY29kZSc+W1tSb25hbGQgUmVhZ2FuXV0gd2FzIHRoZSA0MHRoIFtbUHJlc2lkZW50IG9mIHRoZSBVbml0ZWQgU3RhdGVzXV0sCmZvbGxvd2luZyBbW0ppbW15IENhcnRlcl1dIGFuZCBbW0dlcmFsZCBGb3JkXV0sIGFuZCBwcmVjZWRpbmcKW1tHZW9yZ2UgSC4gVy4gQnVzaF1dIGFuZCBbW0JpbGwgQ2xpbnRvbl1dLjwveG1wPgo8ZGl2IGNsYXNzPSdvdXRwdXRfaGVhZGVyJz5PdXRwdXQ6PC9kaXY+CjxkaXYgY2xhc3M9J291dHB1dCc+PGEgaHJlZj0iaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Sb25hbGRfUmVhZ2FuIj5Sb25hbGQgUmVhZ2FuPC9hPiB3YXMgdGhlIDQwdGgKPGEgaHJlZj0iaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9QcmVzaWRlbnRfb2ZfdGhlX1VuaXRlZF9TdGF0ZXMiPlByZXNpZGVudCBvZiB0aGUgVW5pdGVkIFN0YXRlczwvYT4sIGZvbGxvd2luZwo8YSBocmVmPSJodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0ppbW15X0NhcnRlciI+SmltbXkgQ2FydGVyPC9hPiBhbmQKPGEgaHJlZj0iaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9HZXJhbGRfRm9yZCI+R2VyYWxkIEZvcmQ8L2E+LCBhbmQgcHJlY2VkaW5nCjxhIGhyZWY9Imh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvR2VvcmdlX0guX1cuX0J1c2giPkdlb3JnZSBILiBXLiBCdXNoPC9hPiBhbmQKPGEgaHJlZj0iaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9CaWxsX0NsaW50b24iPkJpbGwgQ2xpbnRvbjwvYT4uPC9kaXY+Cgo8cD5Ob3JtYWxseSwgZG9pbmcgdGhpcyB3b3VsZCByZXF1aXJlIGEgPGk+bG90PC9pPiBvZiA8dHQ+W3VybF08L3R0PiB0YWdzLiAgQnV0IGlmIHlvdXIKdXNlcnMgY29tbW9ubHkgbGluayB0byBXaWtpcGVkaWEsIHdoeSBub3QgbWFrZSBpdCBlYXNpZXIgZm9yIHRoZW0/ICBUaGF0J3Mgd2hlcmUgd2lraS1saW5rcwpjb21lIGluOiAgSXQncyBhIGxvdCBlYXNpZXIgdG8gdHlwZSA8dHQ+W1tSb25hbGQmbmJzcDtSZWFnYW5dXTwvdHQ+IHRoYW4gaXQgaXMgdG8gdHlwZQo8dHQ+W3VybD1odHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1JvbmFsZF9SZWFnYW5dUm9uYWxkJm5ic3A7UmVhZ2FuWy91cmxdPC90dD4gbm8gbWF0dGVyCmhvdyBmYXN0IGEgdHlwaXN0IHlvdSBhcmUuPC9wPgoKPHA+TkJCQyBoYXMgYnVpbHQtaW4gc3VwcG9ydCBmb3IgZGV0ZWN0aW5nIHNwZWNpYWwgdGFncyB0aGF0IGFyZSBzdXJyb3VuZGVkIGJ5Cjx0dD5bWzwvdHQ+ZG91YmxlJm5ic3A7YnJhY2tldHM8L3R0Pl1dPC90dD46ICBBbnkgdGltZSBpdCBzZWVzIHN1Y2ggYSB0aGluZywgaXQKaW52aXNpYmx5IGNvbnZlcnRzIHRoZSB0YWcgZnJvbSA8dHQ+W1thYmNdXTwvdHQ+IHRvIDx0dD5bd2lraT0iYWJjIiZuYnNwO3RpdGxlPSJhYmMiXTwvdHQ+LAp0aHVzIHNhdmluZyB5b3VyIHVzZXJzIHRoZSB0aW1lIG9mIGhhdmluZyB0byB0eXBlIG91dCBzdWNoIGEgdGFnIHRoZW1zZWx2ZXMuPC9wPgoKPHA+KExpa2UgbWFueSB3aWtpcyBkbywgTkJCQyBkZXRlY3RzIGEgdmVydGljYWwgYmFyIGluIHRoZSB0YWcgYXMgYSBzZXBhcmF0b3IsIHNvCmlmIHlvdSB0eXBlIDx0dD5bW2FiY3xkZWZdXTwvdHQ+IHlvdSdsbCBnZXQgPHR0Plt3aWtpPSJhYmMiJm5ic3A7dGl0bGU9ImRlZiJdPC90dD4KYXMgeW91ciBvdXRwdXQuICBXaXRoaW4gYSB3aWtpLWxpbmsgdGFnLCBOQkJDIGFsbG93cyBhbGwgY2hhcmFjdGVycyB0byBiZSBwYXJ0IG9mIHRoZQpuYW1lIGFuZCB0aXRsZSBleGNlcHQgZm9yIDx0dD5bPC90dD4gYW5kIDx0dD5dPC90dD4gYW5kIDx0dD58PC90dD4uKTwvcD4KCjxwPkhvdywgdGhlbiwgZG9lcyBOQkJDIHByb2Nlc3MgYSA8dHQ+W3dpa2ldPC90dD4gdGFnIHdoZW4gaXQgZW5jb3VudGVycyBvbmU/ClRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIHRoZSBTdGFuZGFyZCBCQkNvZGUgTGlicmFyeSBpcyB2ZXJ5IHNpbXBsZTogIENvbnZlcnQgdGhlCjx0dD5bd2lraV08L3R0PiB0YWcgaW50byBhbiA8dHQ+Jmx0O2EgaHJlZj0iLi4uIiZndDsuLi4mbHQ7L2EmZ3Q7PC90dD4gZWxlbWVudCwKd2l0aCB0aGUgbWFpbiBVUkwgcHJvdmlkZWQgYnkgdGhlIDxhIGhyZWY9ImFwaV93aWtpLmh0bWwjcmVmX3BhcnNlcl9TZXRXaWtpVVJMIj48dHQ+U2V0V2lraVVSTCgpPC90dD48L2E+CmZ1bmN0aW9uLCBhbmQgYSBjbGVhbmVkLXVwIHZlcnNpb24gb2YgdGhlIDx0dD5uYW1lPC90dD4gcGFyYW1ldGVyIGFwcGVuZWRlZCB0byB0aGUKZW5kIG9mIHRoZSBVUkwuPC9wPgoKPHA+TGV0J3MgbG9vayBhdCBhIHNpbXBsZSBleGFtcGxlOiAgV2UnbGwgcHJvY2VzcyAiPHR0PltbUm9uYWxkJm5ic3A7UmVhZ2FuXV08L3R0PiIKdG8gYmUgYSBsaW5rIHRvIGhpcyBwYWdlIGF0IFdpa2lwZWRpYS4gIEZpcnN0LCBiZWZvcmUgYW55IEJCQ29kZSBwYXJzaW5nIGdldHMgZG9uZSwgd2UKbmVlZCB0byB0ZWxsIHRoZSBwYXJzZXIgd2hlcmUgb3VyIHdpa2kgaXM6PC9wPgoKPGRpdiBjbGFzcz0nY29kZV9oZWFkZXInPkNvZGU6PC9kaXY+Cjx4bXAgY2xhc3M9J2NvZGUnPiRiYmNvZGUgPSBuZXcgQkJDb2RlOwokYmJjb2RlLT5TZXRXaWtpVVJMKCJodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpLyIpOzwveG1wPgoKPHA+TmV4dCwgd2UgY2FsbCB0aGUgPHR0PiRiYmNvZGUtPlBhcnNlKCk8L3R0PiBmdW5jdGlvbiB0byBjb252ZXJ0IG91ciBpbnB1dApCQkNvZGUgdG8gSFRNTC4gIFRoaXMgaXMgd2hhdCBoYXBwZW5zIHdoZW4gPHR0PlBhcnNlKCk8L3R0PiBzZWVzIHRoZSB3aWtpIGxpbms6PC9wPgoKPG9sPgo8bGk+VGhlIDx0dD5bW1JvbmFsZCZuYnNwO1JlYWdhbl1dPC90dD4gd2lraS1saW5rIGlzIGNvbnZlcnRlZCB0byBhIDx0dD5bd2lraT0iUm9uYWxkJm5ic3A7UmVhZ2FuIiZuYnNwO3RpdGxlPSJSb25hbGQmbmJzcDtSZWFnYW4iXTwvdHQ+IHRhZy48L2xpPgo8bGk+VGhlIHBhcnNlciBsb29rcyBmb3IgYSBydWxlIGZvciB0aGUgbmV3IDx0dD5bd2lraV08L3R0PiB0YWcuICBBIHJ1bGUgaXMgcHJvdmlkZWQgYnkgdGhlIFN0YW5kYXJkIEJCQ29kZSBMaWJyYXJ5LAoJYW5kIHVubGVzcyB5b3Ugb3ZlcnJpZGUgaXQgKHdpdGggPGEgaHJlZj0iYXBpX3J1bGUuaHRtbCNyZWZfcGFyc2VyX0FkZFJ1bGUiPkFkZFJ1bGUoKTwvYT4sIGFzIGluIGFub3RoZXIgZXhhbXBsZSBiZWxvdyksCgl0aGF0IHJ1bGUgd2lsbCBwcm9jZXNzIHRoZSB0YWcuPC9saT4KPGxpPlRoZSBzdGFuZGFyZCB3aWtpLWxpbmsgcnVsZSB1c2VzIHRoZSA8YSBocmVmPSJhcGlfd2lraS5odG1sI3JlZl9wYXJzZXJfV2lraWZ5Ij5XaWtpZnkoKTwvYT4gZnVuY3Rpb24KCXRvIGNvbnZlcnQgdGhlIDx0dD5uYW1lPC90dD4gcGFyYW1ldGVyIGZyb20gPHR0PlJvbmFsZCZuYnNwO1JlYWdhbjwvdHQ+IHRvIDx0dD5Sb25hbGRfUmVhZ2FuPC90dD4sCgl3aGljaCBjYW4gYmUgc2FmZWx5IHBhc3NlZCB0aHJvdWdoIGEgVVJMIChhbmQgd2hpY2ggaXMgdW5kZXJzdG9vZCBieSBtb3N0IHdpa2lzIGFzIGVxdWl2YWxlbnQKCXRvIHRoZSB2ZXJzaW9uIHdpdGggYSBzcGFjZSBjaGFyYWN0ZXIgaW4gaXQpLgo8bGk+VGhlIHN0YW5kYXJkIHdpa2ktbGluayBydWxlIHRoZW4gY29udmVydHMgdGhlIHJlc3Qgb2YgdGhlIEJCQ29kZSB0YWcgdG8gSFRNTCBsaWtlIHRoaXM6PGJyIC8+Cgk8dHQ+W3dpa2k9ImFiYyImYnNwO3RpdGxlPSJkZWYiXTwvdHQ+PGJyIC8+CglUbyB0aGlzOjxiciAvPgoJPHR0PiZsdDthJm5ic3A7aHJlZj0ie3dpa2l1cmx9e2FiY30iJmd0O3tkZWZ9Jmx0Oy9hJmd0OzwvdHQ+PGJyIC8+Cgk8YnIgLz4KCVNvIGluIHRoZSBjYXNlIHdoZXJlIG91ciB3aWtpIFVSTCBpcyA8dHQ+aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS88L3R0PiBhbmQgb3VyICJ3aWtpZmllZCIgbmFtZSBpcyA8dHQ+Um9uYWxkX1JlYWdhbjwvdHQ+CglhbmQgb3VyIHRpdGxlIGlzIDx0dD5Sb25hbGQmbmJzcDtSZWFnYW48L3R0PiwgdGhlIG91dHB1dCB3b3VsZCBiZToKCTx0dD4mbHQ7YSZuYnNwO2hyZWY9Imh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvUm9uYWxkX1JlYWdhbiImZ3Q7Um9uYWxkJm5ic3A7UmVhZ2FuJmx0Oy9hJmd0OzwvdHQ+PC9saT4KPC9vbD4KCjxwPlNvLCB0aGVuLCB0byBjb21wbGV0ZSBvdXIgZmlyc3QgZXhhbXBsZSwgaGVyZSBpcyB0aGUgY29kZSBhbmQgaXRzIG91dHB1dCwgaW4gZnVsbDo8L3A+Cgo8ZGl2IGNsYXNzPSdjb2RlX2hlYWRlcic+Q29kZTo8L2Rpdj4KPHhtcCBjbGFzcz0nY29kZSc+JGJiY29kZSA9IG5ldyBCQkNvZGU7CiRiYmNvZGUtPlNldFdpa2lVUkwoImh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvIik7CiRpbnB1dCA9ICJbW1JvbmFsZCBSZWFnYW5dXSI7CiRvdXRwdXQgPSAkYmJjb2RlLT5QYXJzZSgkaW5wdXQpOwpwcmludCAkb3V0cHV0OzwveG1wPgo8ZGl2IGNsYXNzPSdvdXRwdXRfaGVhZGVyJz5PdXRwdXQ6PC9kaXY+CjxkaXYgY2xhc3M9J291dHB1dCc+PGEgaHJlZj0iaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Sb25hbGRfUmVhZ2FuIj5Sb25hbGQgUmVhZ2FuPC9hPjwvZGl2PgoKPHA+QXMgd2Ugc2FpZCBiZWZvcmUsIHVzZXJzIGNhbiB1c2UgYSB2ZXJ0aWNhbCBiYXIgdG8gc2VwYXJhdGUgbmFtZXMgZnJvbSB0aXRsZXMsIHNvIHRoaXMgYWxzbyB3b3Jrczo8L3A+Cgo8ZGl2IGNsYXNzPSdjb2RlX2hlYWRlcic+Q29kZTo8L2Rpdj4KPHhtcCBjbGFzcz0nY29kZSc+JGJiY29kZSA9IG5ldyBCQkNvZGU7CiRiYmNvZGUtPlNldFdpa2lVUkwoImh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvIik7CiRpbnB1dCA9ICJbW1JvbmFsZCBSZWFnYW58TWlzdGVyIFByZXNpZGVudCBEdWRlXV0iOwokb3V0cHV0ID0gJGJiY29kZS0+UGFyc2UoJGlucHV0KTsKcHJpbnQgJG91dHB1dDs8L3htcD4KPGRpdiBjbGFzcz0nb3V0cHV0X2hlYWRlcic+T3V0cHV0OjwvZGl2Pgo8ZGl2IGNsYXNzPSdvdXRwdXQnPjxhIGhyZWY9Imh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvUm9uYWxkX1JlYWdhbiI+TWlzdGVyIFByZXNpZGVudCBEdWRlPC9hPjwvZGl2PgoKPGEgbmFtZT0idXNhZ2Vfd2lraV9vdGhlciI+PC9hPjxoND5MaW5raW5nIHRvIE90aGVyIFRoaW5nczwvaDQ+Cgo8cD5XaGF0IGlmIHlvdSBkb24ndCBoYXZlIGEgd2lraT8gIFdoYXQgaWYgeW91IGRvbid0IHdhbnQgdG8gbGluayB0byBhIHdpa2k/ICBUaGUgPHR0PltbLi4uXV08L3R0Pgp0YWcgY2FuIHJlYWxseSBiZSB1c2VkIGZvciBhbnkgcHVycG9zZSB5b3Ugd2FudDogIEl0IHNpbXBseSBsaW5rcyB0byByZWxhdGVkIGNvbnRlbnQgb24gYSBzaW5nbGUKc2l0ZSBvZiB5b3VyIGNob2ljZSwgYmUgdGhhdCB3aWtpIHBhZ2VzLCBuZXdzIGFydGljbGVzLCB3ZWJjb21pYyBwYWdlcywgYmxvZyBwb3N0aW5ncywgb3IKYW55dGhpbmcgZWxzZSB5b3UgZGVlbSB1c2VmdWwuICBTb21lIHBvc3NpYmxlIGV4YW1wbGVzIGZvbGxvdy48L3A+Cgo8cCBzdHlsZT0nbWFyZ2luLXRvcDoyZW07Jz48Yj5FeGFtcGxlIDEuPC9iPiAgTGV0J3Mgc2F5IHlvdSB3YW50IHlvdXIgdXNlcnMgdG8gYmUgYWJsZSB0byBsaW5rIHRvIHBhZ2VzIGluIHlvdXIgd2ViY29taWMKZWFzaWx5LCBhbmQgdGhhdCB5b3VyIHdlYmNvbWljIHBhZ2VzIGFyZSBvcmdhbml6ZWQgYnkgZGF0ZS4gIFlvdSBtaWdodCB1c2UgdGhlIHdpa2ktbGluayB0YWcKbGlrZSB0aGlzOjwvcD4KCjxkaXYgY2xhc3M9J2NvZGVfaGVhZGVyJz5Db2RlOjwvZGl2Pgo8eG1wIGNsYXNzPSdjb2RlJz4kYmJjb2RlID0gbmV3IEJCQ29kZTsKJGJiY29kZS0+U2V0V2lraVVSTCgiaHR0cDovL3d3dy50aGV3b3RjaC5jb20vP2VwRGF0ZT0iKTs8L3htcD4KPGRpdiBjbGFzcz0nY29kZV9oZWFkZXInPlVzZXIgaW5wdXQ6PC9kaXY+Cjx4bXAgY2xhc3M9J2NvZGUnPlRoaXMgaXMgdGhlIFtbMjAwMi0xMS0yMXxmaXJzdCBXb3RjaCBjb21pY11dPC94bXA+CjxkaXYgY2xhc3M9J291dHB1dF9oZWFkZXInPk91dHB1dDo8L2Rpdj4KPGRpdiBjbGFzcz0nb3V0cHV0Jz5UaGlzIGlzIHRoZSA8YSBocmVmPSJodHRwOi8vd3d3LnRoZXdvdGNoLmNvbS8/ZXBEYXRlPTIwMDItMTEtMjEiPmZpcnN0IFdvdGNoIGNvbWljPC9hPjwvZGl2PgoKPHAgc3R5bGU9J21hcmdpbi10b3A6MmVtOyc+PGI+RXhhbXBsZSAyLjwvYj4gIE1heWJlIHlvdSBydW4gYSBuZXdzIHNpdGUsIGFuZCB5b3UnZCBsaWtlIHlvdXIgdXNlcnMgdG8gYmUgYWJsZSB0bwplYXNpbHkgbGluayB0byBuZXdzIHBvc3RpbmdzLjwvcD4KCjxkaXYgY2xhc3M9J2NvZGVfaGVhZGVyJz5Db2RlOjwvZGl2Pgo8eG1wIGNsYXNzPSdjb2RlJz4kYmJjb2RlID0gbmV3IEJCQ29kZTsKJGJiY29kZS0+U2V0V2lraVVSTCgiaHR0cDovL21lcmN1cnluZXdzLmNvbS9jaV8iKTs8L3htcD4KPGRpdiBjbGFzcz0nY29kZV9oZWFkZXInPlVzZXIgaW5wdXQ6PC9kaXY+Cjx4bXAgY2xhc3M9J2NvZGUnPltbOTkyMTI4NnwiTWFtbWEgTWlhIiBpcyBjaGVlc3kgZnVuXV08L3htcD4KPGRpdiBjbGFzcz0nb3V0cHV0X2hlYWRlcic+T3V0cHV0OjwvZGl2Pgo8ZGl2IGNsYXNzPSdvdXRwdXQnPjxhIGhyZWY9Imh0dHA6Ly93d3cubWVyY3VyeW5ld3MuY29tL2NpXzk5MjEyODYiPiZxdW90O01hbW1hIE1pYSZxdW90OyBpcyBjaGVlc3kgZnVuPC9hPjwvZGl2PgoKPGEgbmFtZT0idXNhZ2Vfd2lraV9hZHZhbmNlZCI+PC9hPjxoND5BZHZhbmNlZCBsaW5raW5nPC9oND4KCjxwPkl0J3MgZW50aXJlbHkgcG9zc2libGUgdGhhdCB0aGUgc2ltcGxlIHRlY2huaXF1ZSBvZiAiY2xlYW4gdXAgdGhlIG5hbWUgYW5kIGFkZCBpdCB0byB0aGUgVVJMIiBpc24ndApnb2luZyB0byBiZSBnb29kIGVub3VnaCBmb3Igc29tZSBuZWVkcy4gIFNvIGhlcmUsIHdlIGxvb2sgYXQgd2F5cyB5b3UgY2FuIHBlcmZvcm0gbW9yZSBzb3BoaXN0aWNhdGVkCndpa2ktbGlua2luZyBieSB1c2luZyB5b3VyIG93biA8dHQ+W3dpa2ldPC90dD4tdGFnIHByb2Nlc3NpbmcgZnVuY3Rpb24uPC9wPgoKPHA+TGV0J3Mgc2F5IHRoYXQgeW91IHdhbnQgdG8gbGluayB0byBhcnRpY2xlcyBpbiA8YSBocmVmPSJodHRwOi8vd3d3LmFyc3RlY2huaWNhLmNvbSI+QXJzIFRlY2huaWNhPC9hPiwKYSB0ZWNobm9sb2d5IG5ld3MgYmxvZy4gIEFydGljbGVzIGluIEFycyBhcmUgZ2VuZXJhbGx5IGxpbmtlZCBieSBhIGRhdGUgYW5kIGJ5IGEgbmFtZSwKbm90IGp1c3QgYSBuYW1lLiAgV2UnZCBsaWtlIHRvIGJlIGFibGUgdG8gd3JpdGUgdGhpczo8L3A+Cgo8ZGl2IGNsYXNzPSdjb2RlX2hlYWRlcic+VXNlciBpbnB1dDo8L2Rpdj4KPHhtcCBjbGFzcz0nY29kZSc+W1tBcyBleHBlY3RlZCwgRVUgd2lkZW5zIGFudGl0cnVzdCBwcm9iZSBvZiBJbnRlbF1dPC94bXA+Cgo8cD5CdXQgd2UgY2FuJ3QgZG8gdGhhdCwgYmVjYXVzZSBBcnMgYXJ0aWNsZXMgaW5jbHVkZSBhIGRhdGUgaW4gdGhlaXIgVVJMIGFzIHdlbGwuICBTbyB3ZSBuZWVkIGEKbW9yZSBzb3BoaXN0aWNhdGVkIHBhcnNpbmcgZnVuY3Rpb24gdGhhdCBjYW4gY29udmVydCBqdXN0IGVub3VnaCBpbmZvcm1hdGlvbiBpbnRvIHRoZSBraW5kIG9mClVSTCB0aGF0IHRoZSBBcnMgd2Vic2l0ZSB3YW50cyB0byBzZWUuICBGaXJzdCwgd2UnbGwgYWx0ZXIgb3VyIHJlcXVpcmVtZW50cyBhIGxpdHRsZTsgdGhlIGluZm9ybWF0aW9uCmdpdmVuIGJ5IHRoZSB1c2VyIG5lZWRzIHRvIGluY2x1ZGUgYSBkYXRlOjwvcD4KCjxkaXYgY2xhc3M9J2NvZGVfaGVhZGVyJz5Vc2VyIGlucHV0OjwvZGl2Pgo8eG1wIGNsYXNzPSdjb2RlJz5bWzIwMDgwNzE3OkFzIGV4cGVjdGVkLCBFVSB3aWRlbnMgYW50aXRydXN0IHByb2JlIG9mIEludGVsXV08L3htcD4KCjxwPk5vdyB3ZSBuZWVkIHRvIHRlbGwgTkJCQyB0aGF0IHdlJ3JlIGdvaW5nIHRvIHVzZSBvdXIgb3duIGN1c3RvbSA8dHQ+W3dpa2ldPC90dD4gdGFnIGNhbGxiYWNrCmZ1bmN0aW9uIHRvIHByb2Nlc3MgdGhpcyBraW5kIG9mIGNvbnRlbnQ6PC9wPgoKPGRpdiBjbGFzcz0nY29kZV9oZWFkZXInPkNvZGU6PC9kaXY+Cjx4bXAgY2xhc3M9J2NvZGUnPiRiYmNvZGUgPSBuZXcgQkJDb2RlOwokYmJjb2RlLT5BZGRSdWxlKCJ3aWtpIiwgQXJyYXkoCiAgICAnbW9kZScgPT4gQkJDT0RFX01PREVfQ0FMTEJBQ0ssCiAgICAnbWV0aG9kJyA9PiAiRG9BcnNUYWciLAogICAgJ2NsYXNzJyA9PiAnbGluaycsCiAgICAnYWxsb3dfaW4nID0+IEFycmF5KCdsaXN0aXRlbScsICdibG9jaycsICdjb2x1bW5zJywgJ2lubGluZScpLAogICAgJ2VuZF90YWcnID0+IEJCQ09ERV9QUk9ISUJJVCwKICAgICdjb250ZW50JyA9PiBCQkNPREVfUFJPSElCSVQsCikpOzwveG1wPgoKPHA+QW5kIGZpbmFsbHksIHdlIG5lZWQgdG8gYWRkIG91ciBzcGVjaWFsIGZ1bmN0aW9uIHRoYXQgY2FuIGNvbnZlcnQgbmFtZXMgdG8gdGhlCmZvcm1hdCBBcnMgcmVxdWlyZXM6PC9wPgoKPGRpdiBjbGFzcz0nY29kZV9oZWFkZXInPkNvZGU6PC9kaXY+Cjx4bXAgY2xhc3M9J2NvZGUnPmZ1bmN0aW9uIERvQXJzVGFnKCRiYmNvZGUsICRhY3Rpb24sICRuYW1lLCAkZGVmYXVsdCwgJHBhcmFtcywgJGNvbnRlbnQpIHsKCiAgICAvLyBCcmVhayB0aGUgbmFtZSBpbnRvIHRoZSBwYXJ0IGJlZm9yZSB0aGUgY29sb24gKHRoZSBkYXRlKSBhbmQKICAgIC8vIHRoZSBwYXJ0IGFmdGVyICh0aGUgYWN0dWFsIG5hbWUpCiAgICAkcGllY2VzID0gZXhwbG9kZSgiOiIsICRkZWZhdWx0KTsKCiAgICAvLyBDb252ZXJ0IGV2ZXJ5dGhpbmcgaW4gdGhlIG5hbWUgdGhhdCBpc24ndCBhbHBoYW51bWVyaWMgdG8gYSBoeXBoZW4uCiAgICAkZGF0ZSA9IHRyaW0oJHBpZWNlc1swXSk7CiAgICAkbmFtZSA9IHN0cl9yZXBsYWNlKCIgIiwgIi0iLCB0cmltKHByZWdfcmVwbGFjZSgiL1teYS16MC05XSsvIiwKICAgICAgICAiICIsICRwaWVjZXNbMV0pKSk7CgogICAgLy8gVGVsbCBOQkJDIHdoZXRoZXIgdGhpcyBuYW1lIGlzIGxlZ2FsLgogICAgaWYgKCRhY3Rpb24gPT0gQkJDT0RFX0NIRUNLKQogICAgICAgIHJldHVybiBzdHJsZW4oJG5hbWUpID4gMCAmJiBwcmVnX21hdGNoKCIvXlswLTldKyQvIiwgJGRhdGUpOwoKICAgIC8vIERlY2lkZSBvbiBhIHN1aXRhYmxlIHRpdGxlLgogICAgJHRpdGxlID0gdHJpbShAJHBhcmFtc1sndGl0bGUnXSk7CiAgICBpZiAoc3RybGVuKCR0aXRsZSkgPD0gMCkgJHRpdGxlID0gdHJpbSgkcGllY2VzWzFdKTsKCiAgICAvLyBBbmQgZm9ybWF0IHRoZSByZXN1bHQgYXMgSFRNTC4KICAgIHJldHVybiAiPGEgaHJlZj1cImh0dHA6Ly9hcnN0ZWNobmljYS5jb20vbmV3cy5hcnMvcG9zdC97JGRhdGV9LSIKICAgICAgICAuICJ7JG5hbWV9Lmh0bWxcIj4iIC4gaHRtbHNwZWNpYWxjaGFycygkdGl0bGUpIC4gIjwvYT4iOwp9PC94bXA+Cgo8cD5UaGlzIG5ldyBmdW5jdGlvbiB3aWxsIHlpZWxkIHRoaXMgb3V0cHV0OjwvcD4KCjxkaXYgY2xhc3M9J2NvZGVfaGVhZGVyJz5Vc2VyIGlucHV0OjwvZGl2Pgo8eG1wIGNsYXNzPSdjb2RlJz5bWzIwMDgwNzE3OkFzIGV4cGVjdGVkLCBFVSB3aWRlbnMgYW50aXRydXN0IHByb2JlIG9mIEludGVsXV08L3htcD4KPGRpdiBjbGFzcz0nb3V0cHV0X2hlYWRlcic+T3V0cHV0OjwvZGl2Pgo8ZGl2IGNsYXNzPSdvdXRwdXQnPjxhIGhyZWY9Imh0dHA6Ly9hcnN0ZWNobmljYS5jb20vbmV3cy5hcnMvcG9zdC8yMDA4MDcxNy1hcy1leHBlY3RlZC1ldS13aWRlbnMtYW50aXRydXN0LXByb2JlLW9mLWludGVsLmh0bWwiPkFzIGV4cGVjdGVkLCBFVSB3aWRlbnMgYW50aXRydXN0IHByb2JlIG9mIEludGVsPC9hPjwvZGl2PgoKPGEgbmFtZT0idXNhZ2Vfd2lraV9tdWx0aSI+PC9hPjxoND5MaW5raW5nIHRvIE11bHRpcGxlIFRoaW5nczwvaDQ+Cgo8cD5XaGF0IGlmIGp1c3Qgb25lIDx0dD5bWy4uLl1dPC90dD4gdGFnIGlzbid0IGVub3VnaD8gIFdoYXQgaWYgeW91IHdhbnQgdG8gYmUgYWJsZQp0byBlYXNpbHkgbGluayB0byBzZXZlcmFsIGRpZmZlcmVudCB0aGluZ3MgYWxsIGF0IG9uY2U/ICBGb3IgZXhhbXBsZSwgeW91IG1pZ2h0IHJ1bgphIHdlYmNvbWljIHNpdGUsIGFuZCB3YW50IHRvIGJlIGFibGUgdG8gZWFzaWx5IGxpbmsgdG8gY29taWNzLCBzdG9yeSBhcmNzLCB5b3VyIG93bgpjb21pYydzIHdpa2ksIGFuZCBldmVuIFdpa2lwZWRpYSEgIFlvdSBjYW4gdXNlIHRoZSBzYW1lIDx0dD5bWy4uLl1dPC90dD4gdGFnIHRvIGhhbmRsZQphbGwgb2YgdGhlc2UgYXQgb25jZSwgd2l0aCBhIGxpdHRsZSBjbGV2ZXJuZXNzLjwvcD4KCjxwPkZpcnN0LCB5b3UgbmVlZCB0byBlc3RhYmxpc2ggc29tZSBydWxlczogIFdoYXQga2luZCBvZiBjb250ZW50IGxpbmtzIHRvIHdoaWNoIHNpdGU/CllvdXIgY29taWNzIGhhdmUgZGF0ZXMgYXR0YWNoZWQgdG8gdGhlbSwgc28gaWYgYSB1c2VyIHNwZWNpZmllcyBqdXN0IGEgZGF0ZSwgdGhleSBwcm9iYWJseQp3YW50IGEgbGluayB0byBhIGNvbWljOyB5b3VyIHN0b3J5IGFyY3MgYXJlIG51bWJlcmVkLCBzbyBpZiBhIHVzZXIgc3BlY2lmaWVzIGp1c3QgYQpudW1iZXIsIHRoZXkgcHJvYmFibHkgd2FudCBhIGxpbmsgdG8gYSBzdG9yeSBhcmM7IGV2ZXJ5dGhpbmcgZWxzZSBjYW4gcHJvYmFibHkgc2FmZWx5CmJlIGEgbGluayBpbnRvIHlvdXIgd2lraSwgYnV0IGlmIHRoZSB1c2VyIGFkZHMgIjx0dD5XUDo8L3R0PiIgdG8gdGhlIHN0YXJ0IG9mIHRoZSB0YWcsCnRoZXkgcHJvYmFibHkgd2FudCBhIGxpbmsgaW50byBXaWtpcGVkaWEuICBTbyB5b3UgbWlnaHQgd2FudCBzb21ldGhpbmcgbGlrZSB0aGlzOjwvcD4KCjxkaXYgY2xhc3M9J2NvZGVfaGVhZGVyJz5Vc2VyIGlucHV0OjwvZGl2Pgo8eG1wIGNsYXNzPSdjb2RlJz5bWzIwMDItMTEtMjF8VGhlIGZpcnN0IFdvdGNoIGNvbWljXV0KW1szfCJFbnRlciB0aGUgV290Y2giXV0KQWJvdXQgW1tUaGUgV290Y2hdXQpbW1dQOlRoZSBXb3RjaF1dIGF0IFdpa2lwZWRpYTwveG1wPgo8ZGl2IGNsYXNzPSdvdXRwdXRfaGVhZGVyJz5PdXRwdXQ6PC9kaXY+CjxkaXYgY2xhc3M9J291dHB1dCc+PGEgaHJlZj0iaHR0cDovL3d3dy50aGV3b3RjaC5jb20vP2VwRGF0ZT0yMDAyLTExLTIxIj5UaGUgZmlyc3QgV290Y2ggY29taWM8L2E+PGJyIC8+CjxhIGhyZWY9Imh0dHA6Ly93d3cudGhld290Y2guY29tL2FyY2hpdmVzLz9hcmM9MyI+RW50ZXIgdGhlIFdvdGNoPC9hPjxiciAvPgpBYm91dCA8YSBocmVmPSJodHRwOi8vd2lraS50aGV3b3RjaC5jb20vVGhlX1dvdGNoIj5UaGUgV290Y2g8L2E+PGJyIC8+CjxhIGhyZWY9Imh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVGhlX1dvdGNoIj5UaGUgV290Y2g8L2E+IGF0IFdpa2lwZWRpYTxiciAvPjwvZGl2PgoKPHA+Q2xlYXJseSwgc2ltcGxlIHRleHQtcmVwbGFjZW1lbnQgY2FuJ3QgaGFuZGxlIGFsbCBvZiB0aGVzZSwgYnV0IGFsbG93aW5nICJzbWFydCIKbGlua2luZyBsaWtlIHRoaXMgaXMgbXVjaCBlYXNpZXIgdGhhbiBpdCBsb29rcy4gIEZpcnN0LCB3ZSdsbCBuZWVkIHRvIHRlbGwgTkJCQyB0aGF0CndlJ3JlIGRvaW5nIHNvbWV0aGluZyB1bnVzdWFsIHdpdGggdGhlIDx0dD5bd2lraV08L3R0PiB0YWcsIGp1c3QgbGlrZSB3aXRoIHRoZQphZHZhbmNlZC1saW5raW5nIGV4YW1wbGUgYWJvdmU6PC9wPgoKPGRpdiBjbGFzcz0nY29kZV9oZWFkZXInPkNvZGU6PC9kaXY+Cjx4bXAgY2xhc3M9J2NvZGUnPiRiYmNvZGUgPSBuZXcgQkJDb2RlOwokYmJjb2RlLT5BZGRSdWxlKCJ3aWtpIiwgQXJyYXkoCiAgICAnbW9kZScgPT4gQkJDT0RFX01PREVfQ0FMTEJBQ0ssCiAgICAnbWV0aG9kJyA9PiAiRG9Xb3RjaExpbmtUYWciLAogICAgJ2NsYXNzJyA9PiAnbGluaycsCiAgICAnYWxsb3dfaW4nID0+IEFycmF5KCdsaXN0aXRlbScsICdibG9jaycsICdjb2x1bW5zJywgJ2lubGluZScpLAogICAgJ2VuZF90YWcnID0+IEJCQ09ERV9QUk9ISUJJVCwKICAgICdjb250ZW50JyA9PiBCQkNPREVfUFJPSElCSVQsCikpOzwveG1wPgoKPHA+Tm93LCBhbGwgd2UgbmVlZCBpcyBhIGZ1bmN0aW9uIHRoYXQgY2FuIGFuYWx5emUgdGhlIG5hbWUgYW5kIGxpbmsgdG8gdGhlCmFwcHJvcHJpYXRlIHdlYiBzaXRlLCB3aGljaCBpcyBjb25jZXB0dWFsbHkgbm90IHRoYXQgbXVjaCBkaWZmZXJlbnQgZnJvbSB0aGUgYWR2YW5jZWQKbGlua2luZyBleGFtcGxlIGFib3ZlOiAgV2UgZmlyc3QgdGVzdCB0byBzZWUgd2hhdCBraW5kIG9mIG5hbWUgdGhlIHVzZXIgcHJvdmlkZWQsCmFuZCB0aGVuIGNyZWF0ZSBhIGxpbmsgdG8gdGhlIGNvcnJlY3Qgc2l0ZSBiYXNlZCBvbiB0aGF0LiAgSGVyZSdzIG91ciByZXN1bHRpbmcgZnVuY3Rpb246PC9wPgoKPGRpdiBjbGFzcz0nY29kZV9oZWFkZXInPkNvZGU6PC9kaXY+Cjx4bXAgY2xhc3M9J2NvZGUnPmZ1bmN0aW9uIERvV290Y2hMaW5rVGFnKCRiYmNvZGUsICRhY3Rpb24sICRuYW1lLCAkZGVmYXVsdCwgJHBhcmFtcywgJGNvbnRlbnQpIHsKCiAgICAvLyBUZWxsIE5CQkMgdGhpcyB0YWcgaXMgbGVnYWwgbm8gbWF0dGVyIHdoYXQgaXQgY29udGFpbnMuCiAgICBpZiAoJGFjdGlvbiA9PSBCQkNPREVfQ0hFQ0spIHJldHVybiB0cnVlOwoKICAgIC8vIFJlbW92ZSBhbnkgc3Vycm91bmRpbmcgd2hpdGVzcGFjZSBvbiB0aGUgbmFtZS4KICAgICRkZWZhdWx0ID0gdHJpbSgkZGVmYXVsdCk7CgogICAgaWYgKHByZWdfbWF0Y2goIi9eWzAtOV17NH0tWzAtOV17Mn0tWzAtOV17Mn0kLyIsICRkZWZhdWx0KSkgewogICAgICAgIC8vIElmIHdlIGhhdmUgYSBjb21pYyBkYXRlLCByZXR1cm4gYSBsaW5rIHRvIHRoZSBjb21pYyBvbiBvdXIgc2l0ZS4KICAgICAgICAkdGl0bGUgPSB0cmltKEAkcGFyYW1zWyd0aXRsZSddKTsKICAgICAgICBpZiAoc3RybGVuKCR0aXRsZSkgPD0gMCkgJHRpdGxlID0gIkNvbWljIGZvciAkZGVmYXVsdCI7CiAgICAgICAgcmV0dXJuICI8YSBocmVmPVwiaHR0cDovL3d3dy50aGV3b3RjaC5jb20vP2VwRGF0ZT0kZGVmYXVsdFwiPiIKICAgICAgICAgICAgLiBodG1sc3BlY2lhbGNoYXJzKCR0aXRsZSkgLiAiPC9hPiI7CiAgICB9CiAgICBpZiAocHJlZ19tYXRjaCgiL15bMC05XSskLyIsICRkZWZhdWx0KSkgewogICAgICAgIC8vIElmIHdlIGhhdmUgYSBudW1iZXIsIHJldHVybiBhIGxpbmsgdG8gYSBzdG9yeSBhcmMgb24gb3VyIHNpdGUuCiAgICAgICAgJHRpdGxlID0gdHJpbShAJHBhcmFtc1sndGl0bGUnXSk7CiAgICAgICAgaWYgKHN0cmxlbigkdGl0bGUpIDw9IDApICR0aXRsZSA9ICJBcmMgIyRkZWZhdWx0IjsKICAgICAgICByZXR1cm4gIjxhIGhyZWY9XCJodHRwOi8vd3d3LnRoZXdvdGNoLmNvbS9hcmNoaXZlcy8/YXJjPSRkZWZhdWx0XCI+IgogICAgICAgICAgICAuIGh0bWxzcGVjaWFsY2hhcnMoJHRpdGxlKSAuICI8L2E+IjsKICAgIH0KICAgIGVsc2UgaWYgKHByZWdfbWF0Y2goIi9eV1BcXDovIiwgJGRlZmF1bHQpIHsKICAgICAgICAvLyBJZiB3ZSBoYXZlIHNvbWV0aGluZyB0aGF0IHN0YXJ0cyB3aXRoICJXUDoiLCBsaW5rIHRvIFdpa2lwZWRpYS4KICAgICAgICAkZGVmYXVsdCA9IHN1YnN0cigkZGVmYXVsdCwgMyk7ICAgIC8vIFJlbW92ZSB0aGUgIldQOiIgZnJvbSB0aGUgbmFtZS4KICAgICAgICAkdGl0bGUgPSB0cmltKEAkcGFyYW1zWyd0aXRsZSddKTsKICAgICAgICBpZiAoc3RybGVuKCR0aXRsZSkgPD0gMCkgJHRpdGxlID0gJGRlZmF1bHQ7CiAgICAgICAgJG5hbWUgPSAkYmJjb2RlLT5XaWtpZnkoJGRlZmF1bHQpOwogICAgICAgIHJldHVybiAiPGEgaHJlZj1cImh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvJG5hbWVcIj4iCiAgICAgICAgICAgIC4gaHRtbHNwZWNpYWxjaGFycygkdGl0bGUpIC4gIjwvYT4iOwogICAgfQogICAgZWxzZSB7CiAgICAgICAgLy8gT3RoZXJ3aXNlLCBsaW5rIHRvIG91ciAiV290Y2hpcGVkaWEiLgogICAgICAgICR0aXRsZSA9IHRyaW0oQCRwYXJhbXNbJ3RpdGxlJ10pOwogICAgICAgIGlmIChzdHJsZW4oJHRpdGxlKSA8PSAwKSAkdGl0bGUgPSAkZGVmYXVsdDsKICAgICAgICAkbmFtZSA9ICRiYmNvZGUtPldpa2lmeSgkZGVmYXVsdCk7CiAgICAgICAgcmV0dXJuICI8YSBocmVmPVwiaHR0cDovL3dpa2kudGhld290Y2guY29tLyRuYW1lXCI+IgogICAgICAgICAgICAuIGh0bWxzcGVjaWFsY2hhcnMoJHRpdGxlKSAuICI8L2E+IjsKICAgIH0KfTwveG1wPgo=]]></data>
	</file>
	<file>
	  <filename>/docs/doc/styles.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CmJvZHkgewoJYmFja2dyb3VuZC1jb2xvcjogI0NERTsKCWNvbG9yOiAjMDAwOwoJZm9udDogMTBwdCBBcmlhbCwgSGVsdiwgSGVsdmV0aWNhOwoJbWFyZ2luOiAwOwoJcGFkZGluZzogMDsKfQoKdGQsIHRoIHsgZm9udDogMTBwdCBBcmlhbCwgSGVsdiwgSGVsdmV0aWNhOyB9CnRoIHsgZm9udC13ZWlnaHQ6IGJvbGQ7IH0KCmRpdi5wYWdlX2NvbnRhaW5lciB7CgliYWNrZ3JvdW5kLWNvbG9yOiAjRkZGOwoJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjNjlDOwoJYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzY5QzsKCWJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNjlDOwoJd2lkdGg6IDc0MHB4OwoJcGFkZGluZzogMC41ZW0gMS41ZW0gMWVtIDEuNWVtOwoJdGV4dC1hbGlnbjogbGVmdDsKfQpkaXYucGFnZV9jb250YWluZXIyIHsKfQpkaXYudG9jIHsKCWJhY2tncm91bmQtY29sb3I6ICNGRkY7Cgljb2xvcjogIzAwMDsKCXBhZGRpbmc6IDAgMC41ZW07Cglmb250OiA5cHQgQXJpYWwsIEhlbHYsIEhlbHZldGljYTsKfQpkaXYudG9jIG9sIHsKCW1hcmdpbi1sZWZ0OiAwOwoJcGFkZGluZy1sZWZ0OiAxZW07CgltYXJnaW4tdG9wOiAwOwoJbWFyZ2luLWJvdHRvbTogMDsKfQpkaXYudG9jIG9sLnRvY19vdXRlcm1vc3QgewoJcGFkZGluZy1ib3R0b206IDJlbTsKCXBhZGRpbmctdG9wOiAxZW07CglwYWRkaW5nLWxlZnQ6IDJlbTsKfQpkaXYudG9jIG9sIGxpIHsKCW1hcmdpbi1sZWZ0OiAwOwoJcGFkZGluZy1sZWZ0OiAwOwp9CgphOmxpbmsgeyBjb2xvcjogIzAwQzsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9CmE6dmlzaXRlZCB7IGNvbG9yOiAjOTA5OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH0KYTpob3ZlciB7IGNvbG9yOiAjNjZGOyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfQphOmFjdGl2ZSB7IGNvbG9yOiAjRjAwOyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfQoKaDEgeyBjb2xvcjogIzA2MDsgZm9udC1zaXplOiAyLjBlbTsgZm9udC12YXJpYW50OiBzbWFsbC1jYXBzOyBtYXJnaW4tYm90dG9tOiAwOyB0ZXh0LWFsaWduOiBjZW50ZXI7IGZvbnQtd2VpZ2h0OiBib2xkOyB9CmgyIHsgY29sb3I6ICNGRkY7IGJhY2tncm91bmQtY29sb3I6ICMzNjk7IGJvcmRlci10b3A6IDFweCBzb2xpZCAjOTlCMkNDOyBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzk5QjJDQzsKCW1hcmdpbi10b3A6IDAuNWVtOyBtYXJnaW4tbGVmdDogLTAuMjVlbTsgbWFyZ2luLXJpZ2h0OiAtMC4yNWVtOyBwYWRkaW5nOiAwLjFlbSAwLjVlbTsgZm9udC1zaXplOiAxLjllbTsgZm9udC12YXJpYW50OiBzbWFsbC1jYXBzOyBmb250LXdlaWdodDogYm9sZDsgfQpoMyB7IGNvbG9yOiAjMDYwOyBmb250LXNpemU6IDEuNGVtOyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgZm9udC13ZWlnaHQ6IGJvbGQ7IH0KaDQgeyBjb2xvcjogIzA2MDsgZm9udC1zaXplOiAxLjJlbTsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IGZvbnQtd2VpZ2h0OiBib2xkOyB9CgpwLmNvcHlyaWdodCB7IGNvbG9yOiAjMDYwOyBtYXJnaW4tdG9wOiAwOyB0ZXh0LWFsaWduOiBjZW50ZXI7IGZvbnQtd2VpZ2h0OiBib2xkOyB9Cgp4bXAuY29kZSB7IGJvcmRlcjogMXB4IGRhc2hlZCAjRENCOyBiYWNrZ3JvdW5kLWNvbG9yOiAjRkVEOyBwYWRkaW5nOiAwLjVlbSAxZW07IG1hcmdpbjogMCAxZW0gMWVtIDFlbTsKCXBhZ2UtYnJlYWstaW5zaWRlOmF2b2lkOyBwYWdlLWJyZWFrLWJlZm9yZTphdm9pZDsgfQpkaXYub3V0cHV0IHsgYm9yZGVyOiAxcHggZGFzaGVkICNDREU7IGJhY2tncm91bmQtY29sb3I6ICNFOEY0RkY7IHBhZGRpbmc6IDAuNWVtIDFlbTsgbWFyZ2luOiAwIDFlbSAxZW0gMWVtOwoJcGFnZS1icmVhay1pbnNpZGU6YXZvaWQ7IHBhZ2UtYnJlYWstYmVmb3JlOmF2b2lkOyB9CmRpdi5jb2RlX2hlYWRlciB7IGZvbnQtd2VpZ2h0OiBib2xkOyBtYXJnaW46IDFlbSAwIDAuMjVlbSAxZW07IGNvbG9yOiAjNjMwOwoJcGFnZS1icmVhay1pbnNpZGU6YXZvaWQ7IHBhZ2UtYnJlYWstYWZ0ZXI6YXZvaWQ7IH0KZGl2Lm91dHB1dF9oZWFkZXIgeyBmb250LXdlaWdodDogYm9sZDsgbWFyZ2luOiAxZW0gMCAwLjI1ZW0gMWVtOyBjb2xvcjogIzAzNjsKCXBhZ2UtYnJlYWstaW5zaWRlOmF2b2lkOyBwYWdlLWJyZWFrLWFmdGVyOmF2b2lkOyB9CgpkaXYudGlwYm94IHsgbWFyZ2luOjFlbSAzZW07IGJvcmRlcjoxcHggc29saWQgI0JCQzsgYmFja2dyb3VuZC1jb2xvcjojRERFOwoJcGFkZGluZzowZW0gMWVtOyBwb3NpdGlvbjpyZWxhdGl2ZTsgcGFnZS1icmVhay1pbnNpZGU6YXZvaWQ7IH0KZGl2LnRpcGJveF9oZWFkZXIgeyBwb3NpdGlvbjphYnNvbHV0ZTsgdG9wOjAuNWVtOyBsZWZ0OjAuNWVtOyB3aWR0aDo1ZW07IHRleHQtYWxpZ246Y2VudGVyOyBjb2xvcjojMzM2OyB9CmRpdi50aXBib3hfc3RhciB7IGZvbnQtc2l6ZTo0OHB0OyBtYXJnaW4tYm90dG9tOi0wLjVlbTsgfQpkaXYudGlwYm94X2NvbnRlbnQgeyBtYXJnaW4tbGVmdDo1ZW07IH0KZGl2LnRpcGJveF9jb250ZW50MiB7IGJvcmRlci1sZWZ0OjFweCBkYXNoZWQgI0JCQzsgcGFkZGluZy1sZWZ0OjFlbTsgfQoKdGFibGUuY2xhc3NfY29udGFpbmVycyB7IGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IH0KdGFibGUuY2xhc3NfY29udGFpbmVycyB0aCwgdGFibGUuY2xhc3NfY29udGFpbmVycyB0ZCB7IGJvcmRlcjogMXB4IHNvbGlkICM5OTk7IHRleHQtYWxpZ246IGNlbnRlcjsgfQp0YWJsZS5jbGFzc19jb250YWluZXJzIHRoIHsgYmFja2dyb3VuZC1jb2xvcjogI0VFRTsgcGFkZGluZzogMC4yNWVtIDAuNWVtOyB9CnRhYmxlLmNsYXNzX2NvbnRhaW5lcnMgdGguZW1wdHkgeyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgYm9yZGVyOiAwOyB9Cgp0YWJsZS5zbWlsZXlfdGFibGUgeyBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyBtYXJnaW4tYm90dG9tOiAxZW07IH0KdGFibGUuc21pbGV5X3RhYmxlIHRoLCB0YWJsZS5zbWlsZXlfdGFibGUgdGQgeyBib3JkZXI6IDFweCBzb2xpZCAjOTk5OyB0ZXh0LWFsaWduOiBsZWZ0OwoJYmFja2dyb3VuZC1jb2xvcjogI0VFRTsgcGFkZGluZzogMC41ZW0gMWVtOyB9CnRhYmxlLnNtaWxleV90YWJsZSB0ZCB7IGZvbnQ6IDEwcHQgQ291cmllcixtb25vc3BhY2UsbW9ubzsgd2hpdGUtc3BhY2U6IHByZTsgfQp0YWJsZS5zbWlsZXlfdGFibGUgdGJvZHkgdGggeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH0KCnRhYmxlLmxpc3RfdGFibGUgeyBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyBtYXJnaW4tYm90dG9tOiAxZW07IH0KdGFibGUubGlzdF90YWJsZSB0aCwgdGFibGUubGlzdF90YWJsZSB0ZCB7IGJvcmRlcjogMXB4IHNvbGlkICM5OTk7IHRleHQtYWxpZ246IGxlZnQ7CgliYWNrZ3JvdW5kLWNvbG9yOiAjRUVFOyBwYWRkaW5nOiAwLjI1ZW0gMC41ZW07IH0KdGFibGUubGlzdF90YWJsZSB0Ym9keSB0aCB7IHRleHQtYWxpZ246IGNlbnRlcjsgZm9udDogMTBwdCBDb3VyaWVyLG1vbm9zcGFjZSxtb25vOyB9CgpwLmJibGliIHsgbWFyZ2luLWxlZnQ6IDJlbTsgdGV4dC1pbmRlbnQ6IC0yZW07IH0KCnNwYW4uYWNyb255bSB7IGJvcmRlci1ib3R0b206MXB4IGRhc2hlZCAjMDkwOyB9CnNwYW4uYWNyb255bTpob3ZlciB7IGNvbG9yOiAjMDYwOyBib3JkZXItYm90dG9tOjFweCBkYXNoZWQgIzZDNjsgfQoKdGFibGUuYmJjb2RlX2NvbHVtbnMgeyBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyBtYXJnaW4tdG9wOiAxZW07IG1hcmdpbi1ib3R0b206IDFlbTsgfQp0YWJsZS5iYmNvZGVfY29sdW1ucyB0ZC5iYmNvZGVfY29sdW1uIHsgcGFkZGluZy1sZWZ0OiAxZW07IHBhZGRpbmctcmlnaHQ6IDFlbTsgfQp0YWJsZS5iYmNvZGVfY29sdW1ucyB0ZC5iYmNvZGVfZmlyc3Rjb2x1bW4geyBib3JkZXItbGVmdDogMDsgcGFkZGluZy1sZWZ0OiAwOyB9CgpkaXYuYmJjb2RlX3F1b3RlIHsgYm9yZGVyOiAxcHggc29saWQgIzY4QzsgbWFyZ2luOiAwLjVlbSAwOyB9CmRpdi5iYmNvZGVfcXVvdGVfaGVhZCB7IGJhY2tncm91bmQtY29sb3I6ICM2OEM7IGNvbG9yOiAjRkZGOyBmb250LXdlaWdodDogYm9sZDsgcGFkZGluZzogMC4yNWVtIDAuNWVtOyB9CmRpdi5iYmNvZGVfcXVvdGVfYm9keSB7IGJhY2tncm91bmQtY29sb3I6ICNGMEY4RkY7IGNvbG9yOiAjMDAwOyBwYWRkaW5nOiAwLjVlbSAxZW07IH0KZGl2LmJiY29kZV9xdW90ZV9oZWFkIGE6bGluayB7IGNvbG9yOiAjRkY3OyB9CmRpdi5iYmNvZGVfcXVvdGVfaGVhZCBhOnZpc2l0ZWQgeyBjb2xvcjogI0ZGNzsgfQpkaXYuYmJjb2RlX3F1b3RlX2hlYWQgYTpob3ZlciB7IGNvbG9yOiAjRkZGOyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfQpkaXYuYmJjb2RlX3F1b3RlX2hlYWQgYTphY3RpdmUgeyBjb2xvcjogI0ZGRjsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH0KCmRpdi5hcGkgeyBib3JkZXI6IDFweCBzb2xpZCAjQzBDOEUwOyBiYWNrZ3JvdW5kLWNvbG9yOiAjRTBFOEZGOyBjb2xvcjogIzAwMDsgcGFkZGluZzogMC4yNWVtIDFlbTsKCW1hcmdpbjogMWVtOyBmb250LWZhbWlseTp2ZXJkYW5hLGFyaWFsLGhlbHZldGljYSxzYW5zLXNlcmlmOyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH0KZGl2LmFwaV9oZWFkIHsgZm9udC1zaXplOiAxMXB0OyBtYXJnaW46IDAuNWVtIDJlbTsgdGV4dC1pbmRlbnQ6IC0yZW07IH0KZGl2LmFwaV9kZXNjciB7IG1hcmdpbjogMC41ZW0gMWVtOyBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICNDMEM4RTA7IGJvcmRlci10b3A6IDFweCBkb3R0ZWQgI0MwQzhFMDsgcGFkZGluZzogMC41ZW0gMDsgfQpkaXYuYXBpX2luZm8geyBtYXJnaW46IDAuNWVtIDNlbTsgdGV4dC1pbmRlbnQ6IC0yZW07IH0KZGl2LmFwaV9pbmZvIHVsIHsgbWFyZ2luOiAwIDAgMCAxZW07IHBhZGRpbmc6IDA7IGRpc3BsYXk6IGJsb2NrOyB0ZXh0LWluZGVudDogMDsgfQpkaXYuYXBpX2luZm8gdWwgdWwgeyBtYXJnaW46IDAgMCAwIDNlbTsgfQpkaXYuYXBpX2luZm8gdWwgbGkgeyBtYXJnaW46IDAuNWVtIDA7IHBhZGRpbmc6IDA7IGRpc3BsYXk6IGxpc3QtaXRlbTsgbGlzdC1zdHlsZS10eXBlOiBkaXNjOyB9CmRpdi5hcGlfaW5mbyB1bCB1bCBsaSB7IG1hcmdpbjogMDsgbGlzdC1zdHlsZS10eXBlOiBjaXJjbGU7IH0KZGl2LmFwaV9pbmZvX2Jsb2NrIHsgbWFyZ2luOiAwLjVlbSAxZW07IGJvcmRlci10b3A6IDFweCBkb3R0ZWQgI0MwQzhFMDsgcGFkZGluZzogMC41ZW0gMDsgfQpkaXYuYXBpX2luZm9fYmxvY2tfaGVhZGVyIHsgbWFyZ2luOiAwLjVlbSAwOyBmb250LXdlaWdodDogYm9sZDsgfQoKZGl2LnByaW50X29ubHkgeyBkaXNwbGF5OiBub25lOyB9CgpAbWVkaWEgcHJpbnQgewoJZGl2LnBhZ2VfY29udGFpbmVyIHsKCQlib3JkZXI6IDA7CgkJd2lkdGg6IGF1dG87CgkJcGFkZGluZzogMC41ZW0gMS41ZW0gMWVtIDEuNWVtOwoJfQoJZGl2LnBhZ2VfYnJlYWsgewoJCXBhZ2UtYnJlYWstYmVmb3JlOiBhbHdheXM7Cgl9Cgl4bXAuY29kZSB7IGJvcmRlcjogMXB4IGRhc2hlZCAjOTk5OyBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGOyB9CglkaXYub3V0cHV0IHsgYm9yZGVyOiAxcHggZGFzaGVkICM5OTk7IGJhY2tncm91bmQtY29sb3I6ICNGRkY7IH0KCWRpdi5wcmludF9vbmx5IHsgZGlzcGxheTogYmxvY2s7IH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/docs/doc/toc.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWw6bGFuZz0iZW4iIGxhbmc9ImVuIj4KCjxoZWFkPgo8dGl0bGU+VGFibGUgb2YgQ29udGVudHMgLSBOQkJDOiBUaGUgTmV3IEJCQ29kZSBQYXJzZXI8L3RpdGxlPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz4KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyB0eXBlPSd0ZXh0L2NzcycgaHJlZj0nc3R5bGVzLmNzcycgLz4KPC9oZWFkPgoKPGJvZHk+Cgo8ZGl2IGNsYXNzPSd0b2MnPgoKPG9sIHN0eWxlPSJsaXN0LXN0eWxlLXR5cGU6dXBwZXItcm9tYW4iIGNsYXNzPSJ0b2Nfb3V0ZXJtb3N0Ij4KPGxpIHN0eWxlPSJtYXJnaW4tdG9wOjFlbTsiPjxiPkludHJvZHVjdGlvbjwvYj4KCTxvbCBzdHlsZT0ibGlzdC1zdHlsZS10eXBlOnVwcGVyLWFscGhhIj4KCTxsaT48YSBocmVmPSJpbnRyb19vdmVyLmh0bWwiIHRhcmdldD0iY29udGVudCI+T3ZlcnZpZXc8L2E+PC9saT4KCTxsaT48YSBocmVmPSJpbnRyb193aHkuaHRtbCIgdGFyZ2V0PSJjb250ZW50Ij5XaHkgQkJDb2RlPzwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImludHJvX3doeW5iYmMuaHRtbCIgdGFyZ2V0PSJjb250ZW50Ij5XaHkgTkJCQz88L2E+PC9saT4KCTxsaT48YSBocmVmPSJpbnRyb19saWNlbnNlLmh0bWwiIHRhcmdldD0iY29udGVudCI+TGljZW5zZTwvYT48L2xpPgoJPC9vbD4KPC9saT4KPGxpIHN0eWxlPSJtYXJnaW4tdG9wOjFlbTsiPjxiPkluc3RhbGxpbmcgTkJCQzwvYj4KCTxvbCBzdHlsZT0ibGlzdC1zdHlsZS10eXBlOnVwcGVyLWFscGhhIj4KCTxsaT48YSBocmVmPSJpbnN0YWxsX3JlcS5odG1sIiB0YXJnZXQ9ImNvbnRlbnQiPlJlcXVpcmVtZW50czwvYT48L2xpPgoJPGxpPjxhIGhyZWY9Imluc3RhbGxfdW5wYWNrLmh0bWwiIHRhcmdldD0iY29udGVudCI+SW5zdGFsbGF0aW9uPC9hPjwvbGk+Cgk8L29sPgo8L2xpPgo8bGkgc3R5bGU9Im1hcmdpbi10b3A6MWVtOyI+PGI+VXNpbmcgTkJCQzwvYj4KCTxvbCBzdHlsZT0ibGlzdC1zdHlsZS10eXBlOnVwcGVyLWFscGhhIj4KCTxsaT48YSBocmVmPSJ1c2FnZV9iYXNpYy5odG1sIiB0YXJnZXQ9ImNvbnRlbnQiPllvdXIgRmlyc3QgTkJCQyBQcm9ncmFtPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0idXNhZ2VfaG93Lmh0bWwiIHRhcmdldD0iY29udGVudCI+SG93IGEgVHlwaWNhbCBOQkJDIFByb2dyYW0gV29ya3M8L2E+PC9saT4KCTxsaT48YSBocmVmPSJ1c2FnZV9hZGQuaHRtbCIgdGFyZ2V0PSJjb250ZW50Ij5BZGRpbmcgWW91ciBPd24gVGFnczwvYT48L2xpPgoJPGxpPjxhIGhyZWY9InVzYWdlX3NtaWxleS5odG1sIiB0YXJnZXQ9ImNvbnRlbnQiPkFkZGluZyBZb3VyIE93biBTbWlsZXlzPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0idXNhZ2VfZW5oLmh0bWwiIHRhcmdldD0iY29udGVudCI+QWRkaW5nIEVuaGFuY2VkIFRhZ3M8L2E+CgkJPG9sIHN0eWxlPSJsaXN0LXN0eWxlLXR5cGU6ZGVjaW1hbCI+CgkJPGxpPjxhIGhyZWY9InVzYWdlX2VuaC5odG1sI3VzYWdlX2VuaHRhZ190aGVvcnkiIHRhcmdldD0iY29udGVudCI+RW5oYW5jZWQgVGFncywgdGhlIFRoZW9yeTwvYT48L2xpPgoJCTxsaT48YSBocmVmPSJ1c2FnZV9lbmguaHRtbCN1c2FnZV9lbmh0YWdfdmFsIiB0YXJnZXQ9ImNvbnRlbnQiPklucHV0IFZhbGlkYXRpb248L2E+PC9saT4KCQk8bGk+PGEgaHJlZj0idXNhZ2VfZW5oLmh0bWwjdXNhZ2VfZW5odGFnX2RlZmF1bHQiIHRhcmdldD0iY29udGVudCI+RGVmYXVsdCBWYWx1ZXM8L2E+PC9saT4KCQk8L29sPgoJPC9saT4KCTxsaT48YSBocmVmPSJ1c2FnZV9jYWxsLmh0bWwiIHRhcmdldD0iY29udGVudCI+QWRkaW5nIENhbGxiYWNrIFRhZ3M8L2E+PC9saT4KCTxsaT48YSBocmVmPSJ1c2FnZV93aWtpLmh0bWwiIHRhcmdldD0iY29udGVudCI+U3VwcG9ydGluZyBXaWtpLUxpbmtzPC9hPgoJCTxvbCBzdHlsZT0ibGlzdC1zdHlsZS10eXBlOmRlY2ltYWwiPgoJCTxsaT48YSBocmVmPSJ1c2FnZV93aWtpLmh0bWwjdXNhZ2Vfd2lraV93aWtpIiB0YXJnZXQ9ImNvbnRlbnQiPkxpbmtpbmcgdG8gYSBXaWtpPC9hPjwvbGk+CgkJPGxpPjxhIGhyZWY9InVzYWdlX3dpa2kuaHRtbCN1c2FnZV93aWtpX290aGVyIiB0YXJnZXQ9ImNvbnRlbnQiPkxpbmtpbmcgdG8gT3RoZXIgVGhpbmdzPC9hPjwvbGk+CgkJPGxpPjxhIGhyZWY9InVzYWdlX3dpa2kuaHRtbCN1c2FnZV93aWtpX2FkdmFuY2VkIiB0YXJnZXQ9ImNvbnRlbnQiPkFkdmFuY2VkIExpbmtpbmc8L2E+PC9saT4KCQk8bGk+PGEgaHJlZj0idXNhZ2Vfd2lraS5odG1sI3VzYWdlX3dpa2lfbXVsdGkiIHRhcmdldD0iY29udGVudCI+TGlua2luZyB0byBNdWx0aXBsZSBUaGluZ3M8L2E+PC9saT4KCQk8L29sPgoJPC9saT4KCTxsaT48YSBocmVmPSJ1c2FnZV9pbWcuaHRtbCIgdGFyZ2V0PSJjb250ZW50Ij5TdXBwb3J0aW5nIExvY2FsIEltYWdlczwvYT48L2xpPgoJPGxpPjxhIGhyZWY9InVzYWdlX2h0bWwuaHRtbCIgdGFyZ2V0PSJjb250ZW50Ij5QYXJzaW5nL1ZhbGlkYXRpbmcgSFRNTCBhbmQgT3RoZXIgVHJpY2tzPC9hPgoJCTxvbCBzdHlsZT0ibGlzdC1zdHlsZS10eXBlOmRlY2ltYWwiPgoJCTxsaT48YSBocmVmPSJ1c2FnZV9odG1sLmh0bWwiIHRhcmdldD0iY29udGVudCI+T3ZlcnZpZXc8L2E+PC9saT4KCQk8bGk+PGEgaHJlZj0idXNhZ2VfaHRtbC5odG1sI3RhZ21hcmtlcnMiIHRhcmdldD0iY29udGVudCI+U3dpdGNoaW5nIFRhZyBNYXJrZXJzPC9hPjwvbGk+CgkJPGxpPjxhIGhyZWY9InVzYWdlX2h0bWwuaHRtbCNuZXdsaW5lcyIgdGFyZ2V0PSJjb250ZW50Ij5EaXNhYmxpbmcgTmV3bGluZSBCcmVha3M8L2E+PC9saT4KCQk8bGk+PGEgaHJlZj0idXNhZ2VfaHRtbC5odG1sI2VudGl0aWVzIiB0YXJnZXQ9ImNvbnRlbnQiPkFsbG93aW5nIEhUTUwgRW50aXRpZXM8L2E+PC9saT4KCQk8bGk+PGEgaHJlZj0idXNhZ2VfaHRtbC5odG1sI3RvZ2V0aGVyIiB0YXJnZXQ9ImNvbnRlbnQiPlB1dHRpbmcgSXQgQWxsIFRvZ2V0aGVyPC9hPjwvbGk+CgkJPC9vbD4KCTwvbGk+Cgk8bGk+PGEgaHJlZj0idXNhZ2VfbGltaXQuaHRtbCIgdGFyZ2V0PSJjb250ZW50Ij5MaW1pdGVkLUxlbmd0aCBhbmQgUGxhaW4tT3V0cHV0IE1vZGVzPC9hPgoJCTxvbCBzdHlsZT0ibGlzdC1zdHlsZS10eXBlOmRlY2ltYWwiPgoJCTxsaT48YSBocmVmPSJ1c2FnZV9saW1pdC5odG1sI2xpbWl0IiB0YXJnZXQ9ImNvbnRlbnQiPkxpbWl0aW5nIExlbmd0aHM8L2E+PC9saT4KCQk8bGk+PGEgaHJlZj0idXNhZ2VfbGltaXQuaHRtbCNwbGFpbiIgdGFyZ2V0PSJjb250ZW50Ij5QbGFpbiBIVE1MIE91dHB1dDwvYT48L2xpPgoJCTxsaT48YSBocmVmPSJ1c2FnZV9saW1pdC5odG1sI3RleHQiIHRhcmdldD0iY29udGVudCI+UGxhaW4gVGV4dCBPdXRwdXQ8L2E+PC9saT4KCQk8bGk+PGEgaHJlZj0idXNhZ2VfbGltaXQuaHRtbCNyc3MiIHRhcmdldD0iY29udGVudCI+UHV0dGluZyBJdCBBbGwgVG9nZXRoZXI8L2E+PC9saT4KCQk8L29sPgoJPC9saT4KCTxsaT48YSBocmVmPSJ1c2FnZV9hdXRvLmh0bWwiIHRhcmdldD0iY29udGVudCI+VVJMIEF1dG9kZXRlY3Rpb248L2E+PC9saT4KCTxsaT48YSBocmVmPSJ1c2FnZV9jc3MuaHRtbCIgdGFyZ2V0PSJjb250ZW50Ij5TdHlsZXMsIENvbG9ycywgYW5kIENTUyBDb25zaWRlcmF0aW9uczwvYT48L2xpPgoJPC9vbD4KPC9saT4KPGxpIHN0eWxlPSJtYXJnaW4tdG9wOjFlbTsiPjxiPkFQSSBSZWZlcmVuY2U8L2I+Cgk8b2wgc3R5bGU9Imxpc3Qtc3R5bGUtdHlwZTp1cHBlci1hbHBoYSI+Cgk8bGk+PGEgaHJlZj0iYXBpLmh0bWwiIHRhcmdldD0iY29udGVudCI+PGI+QWxwaGFiZXRpY2FsIEZ1bmN0aW9uIExpc3Q8L2I+PC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX2NvcmUuaHRtbCIgdGFyZ2V0PSJjb250ZW50Ij5Db3JlIFBhcnNpbmcgRnVuY3Rpb25zPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX2JlaHYuaHRtbCIgdGFyZ2V0PSJjb250ZW50Ij5MYW5ndWFnZS1CZWhhdmlvciBGdW5jdGlvbnM8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfdHJpbS5odG1sIiB0YXJnZXQ9ImNvbnRlbnQiPkNvbnRlbnQtVHJpbW1pbmcgRnVuY3Rpb25zPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBpX3Jvb3QuaHRtbCIgdGFyZ2V0PSJjb250ZW50Ij5Sb290LUNsYXNzIEZ1bmN0aW9uczwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9ydWxlLmh0bWwiIHRhcmdldD0iY29udGVudCI+UnVsZSBGdW5jdGlvbnM8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfd2lraS5odG1sIiB0YXJnZXQ9ImNvbnRlbnQiPldpa2ktTGluayBGdW5jdGlvbnM8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfc21pbGV5Lmh0bWwiIHRhcmdldD0iY29udGVudCI+U21pbGV5IEZ1bmN0aW9uczwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwaV9yZXBsLmh0bWwiIHRhcmdldD0iY29udGVudCI+UmVwbGFjZWQtSXRlbSBGdW5jdGlvbnM8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcGlfbWlzYy5odG1sIiB0YXJnZXQ9ImNvbnRlbnQiPk1pc2NlbGxhbmVvdXMgU3VwcG9ydCBGdW5jdGlvbnM8L2E+PC9saT4KCTwvb2w+CjwvbGk+CjxsaSBzdHlsZT0ibWFyZ2luLXRvcDoxZW07Ij48Yj5TdGFuZGFyZCBCQkNvZGUgTGlicmFyeTwvYj4KCTxvbCBzdHlsZT0ibGlzdC1zdHlsZS10eXBlOnVwcGVyLWFscGhhIj4KCTxsaT48YSBocmVmPSJiYmMuaHRtbCIgdGFyZ2V0PSJjb250ZW50Ij48Yj5BbHBoYWJldGljYWwgQkJDb2RlIExpc3Q8L2I+PC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYmJjX3RleHQuaHRtbCIgdGFyZ2V0PSJjb250ZW50Ij5UZXh0IFN0eWxlczwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImJiY19saW5rLmh0bWwiIHRhcmdldD0iY29udGVudCI+TGlua3M8L2E+PC9saT4KCTxsaT48YSBocmVmPSJiYmNfcmVwbC5odG1sIiB0YXJnZXQ9ImNvbnRlbnQiPlJlcGxhY2VkIEl0ZW1zPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYmJjX2FsaWduLmh0bWwiIHRhcmdldD0iY29udGVudCI+QWxpZ25tZW50PC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYmJjX2NvbC5odG1sIiB0YXJnZXQ9ImNvbnRlbnQiPkNvbHVtbnM8L2E+PC9saT4KCTxsaT48YSBocmVmPSJiYmNfY3RyLmh0bWwiIHRhcmdldD0iY29udGVudCI+Q29udGFpbmVyczwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImJiY19saXN0Lmh0bWwiIHRhcmdldD0iY29udGVudCI+TGlzdHM8L2E+PC9saT4KCTwvb2w+CjwvbGk+CjxsaSBzdHlsZT0ibWFyZ2luLXRvcDoxZW07Ij48Yj5BcHBlbmRpY2VzPC9iPgoJPG9sIHN0eWxlPSJsaXN0LXN0eWxlLXR5cGU6dXBwZXItYWxwaGEiPgoJPGxpPjxhIGhyZWY9ImFwcF9zbWlsZXkuaHRtbCIgdGFyZ2V0PSJjb250ZW50Ij5TdGFuZGFyZCBTbWlsZXlzPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBwX3J1bGUuaHRtbCIgdGFyZ2V0PSJjb250ZW50Ij5SdWxlIFBhcmFtZXRlcnM8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcHBfY2xhc3MuaHRtbCIgdGFyZ2V0PSJjb250ZW50Ij5Db250ZW50IENsYXNzZXM8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcHBfZW5oZmxhZ3MuaHRtbCIgdGFyZ2V0PSJjb250ZW50Ij5UZW1wbGF0ZSBGbGFnczwvYT48L2xpPgoJPGxpPjxhIGhyZWY9ImFwcF9leGFtcGxlLmh0bWwiIHRhcmdldD0iY29udGVudCI+Q29tbW9uIFJ1bGUgRXhhbXBsZXM8L2E+PC9saT4KCTxsaT48YSBocmVmPSJhcHBfY3NzLmh0bWwiIHRhcmdldD0iY29udGVudCI+Q1NTIEV4YW1wbGVzPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBwX2ludGVybmFscy5odG1sIiB0YXJnZXQ9ImNvbnRlbnQiPkhvdyB0aGUgUGFyc2VyIFdvcmtzPC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iYXBwX3RhZ3BhcmFtcy5odG1sIiB0YXJnZXQ9ImNvbnRlbnQiPlRhZyBQYXJhbWV0ZXJzPC9hPjwvbGk+Cgk8L29sPgo8L2xpPgo8L29sPgoKPC9kaXY+Cgo8L2JvZHk+CjwvaHRtbD4K]]></data>
	</file>
	<file>
	  <filename>/docs/doc/usage_add.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWw6bGFuZz0iZW4iIGxhbmc9ImVuIj4KCjxoZWFkPgo8dGl0bGU+QWRkaW5nIFlvdXIgT3duIFRhZ3MgLSBOQkJDOiBUaGUgTmV3IEJCQ29kZSBQYXJzZXI8L3RpdGxlPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz4KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyB0eXBlPSd0ZXh0L2NzcycgaHJlZj0nc3R5bGVzLmNzcycgLz4KPC9oZWFkPgoKPGJvZHk+Cgo8ZGl2IGFsaWduPSdjZW50ZXInPjxkaXYgY2xhc3M9J3BhZ2VfY29udGFpbmVyMic+PGRpdiBjbGFzcz0ncGFnZV9jb250YWluZXInPgoKPGgyPklJSS4gVXNpbmcgTkJCQzwvaDI+Cgo8cCBzdHlsZT0ndGV4dC1hbGlnbjpyaWdodDttYXJnaW46MDsnPlsgUHJldmlvdXM6IDxhIGhyZWY9InVzYWdlX2hvdy5odG1sIj5CLiBIb3cgYSBUeXBpY2FsIE5CQkMgUHJvZ3JhbSBXb3JrczwvYT4gfCBOZXh0OiA8YSBocmVmPSJ1c2FnZV9zbWlsZXkuaHRtbCI+RC4gQWRkaW5nIFlvdXIgT3duIFNtaWxleXM8L2E+IF08L3A+Cgo8aDM+Qy4gQWRkaW5nIFlvdXIgT3duIFRhZ3M8L2gzPgoKPHA+TGV0J3Mgc2F5IHlvdSB3YW50IHRvIGFkZCBhIEJCQ29kZSB0YWcgdGhhdCBkb2Vzbid0IGV4aXN0LCBzYXksIGhvdyBhYm91dCwgYSA8dHQ+W21vbm9dPC90dD4KZm9yIGRpc3BsYXlpbmcgdGhpbmdzIGFzIG1vbm9zcGFjZSB0ZXh0PyAgTGV0J3MgbG9vayBhdCBob3cgeW91J2QgZ28gYWJvdXQgYWRkaW5nIGEKc2ltcGxlIGFkZGl0aW9uYWwgdGFnLjwvcD4KCjxwPlRvIGFkZCBhIHRhZywgd2hpY2ggTkJCQyBjYWxscyBhICJydWxlLCIgc2luY2UgaXQncyByZWFsbHkgYSBydWxlIGZvciBkZXNjcmliaW5nIGhvdwphIGdpdmVuIGNodW5rIG9mIGlucHV0IGlzIHByb2Nlc3NlZCwgeW91IHNpbXBseSBjYWxsIHRoZSA8YSBocmVmPSJhcGlfcnVsZS5odG1sI3JlZl9wYXJzZXJfQWRkUnVsZSI+PHR0PkFkZFJ1bGU8L3R0PjwvYT4KbWV0aG9kIG9mIHRoZSA8dHQ+JGJiY29kZTwvdHQ+IG9iamVjdCBhbmQgcGFzcyB0byBpdCBhbiBhcnJheSBkZXNjcmliaW5nIGhvdyB0aGUgbmV3CnJ1bGUgd2lsbCBjb252ZXJ0IGl0cyBpbnB1dCB0byBIVE1MLiAgSGVyZSdzIGFuIGV4YW1wbGUgZm9yIG91ciA8dHQ+W21vbm9dPC90dD4gdGFnOjwvcD4KCjxkaXYgY2xhc3M9J2NvZGVfaGVhZGVyJz5Db2RlOjwvZGl2Pgo8eG1wIGNsYXNzPSdjb2RlJz48P3BocAogICAgcmVxdWlyZV9vbmNlKCJuYmJjLnBocCIpOwoKICAgICRiYmNvZGUgPSBuZXcgQkJDb2RlOwoKICAgIC4uLgoKICAgICRuZXdfcnVsZSA9IEFycmF5KAogICAgICAgICdzaW1wbGVfc3RhcnQnID0+ICc8dHQ+JywKICAgICAgICAnc2ltcGxlX2VuZCcgPT4gJzwvdHQ+JywKICAgICAgICAnY2xhc3MnID0+ICdpbmxpbmUnLAogICAgICAgICdhbGxvd19pbicgPT4gQXJyYXkoJ2xpc3RpdGVtJywgJ2Jsb2NrJywgJ2NvbHVtbnMnLCAnaW5saW5lJywgJ2xpbmsnKSwKICAgICk7CiAgICAkYmJjb2RlLT5BZGRSdWxlKCdtb25vJywgJG5ld19ydWxlKTsKCiAgICAuLi4KCiAgICAkaW5wdXQgPSAiVGhpcyB0ZXh0IGlzIFttb25vXW1vbm9zcGFjZWQhWy9tb25vXSI7CiAgICAkb3V0cHV0ID0gJGJiY29kZS0+UGFyc2UoJGlucHV0KTsKICAgIHByaW50ICRvdXRwdXQ7Cj8+PC94bXA+Cgo8ZGl2IGNsYXNzPSdvdXRwdXRfaGVhZGVyJz5PdXRwdXQ6PC9kaXY+CjxkaXYgY2xhc3M9J291dHB1dCc+ClRoaXMgdGV4dCBpcyA8dHQ+bW9ub3NwYWNlZCE8L3R0Pgo8L2Rpdj4KCjxwPkVhY2ggbmV3IHJ1bGUgaXMgZGVzY3JpYmVkIGJ5IGFuIGFycmF5IG9mIHBhcmFtZXRlcnMuICBUaGVyZSBhcmUgYSBsYXJnZSBudW1iZXIgb2YKZGlmZmVyZW50IHBhcmFtZXRlcnMgeW91IGNhbiB1c2UsIGJ1dCBmb3Igbm93LCBsZXQncyBsb29rIGF0IGp1c3QgdGhlIGZvdXIgcGFyYW1ldGVycwpzaG93biBpbiB0aGlzIGV4YW1wbGUuICAoWW91IGNhbiBsZWFybiBhYm91dCB0aGUgcmVzdCBvZiB0aGUgcGFyYW1ldGVycyBpbiB0aGUgYXBwZW5kaXgKb24gPGEgaHJlZj0iYXBwX3J1bGUuaHRtbCI+QkJDb2RlIHJ1bGUgcGFyYW1ldGVyczwvYT4uKTwvcD4gIFRoZSBmb3VyIHBhcmFtZXRlcnMKZ2l2ZW4gaGVyZSBhcmU6PC9wPgoKPHVsPgo8bGk+PHR0PnNpbXBsZV9zdGFydDwvdHQ+OiAgVGhpcyBkZXNjcmliZXMgc29tZSBIVE1MIHRvIGJlIGFkZGVkIGluIHBsYWNlIG9mIHRoZQoJc3RhcnRpbmcgPHR0Plttb25vXTwvdHQ+IHRhZy4gIEluIHRoaXMgY2FzZSwgd2UncmUgZ29pbmcgdG8gcmVwbGFjZSBpdCB3aXRoCgl0aGUgPHR0PiZsdDt0dCZndDs8L3R0PiBIVE1MIGVsZW1lbnQuPGJyIC8+PGJyIC8+PC9saT4KPGxpPjx0dD5zaW1wbGVfZW5kPC90dD46ICBUaGlzIGRlc2NyaWJlcyBzb21lIEhUTUwgdG8gYmUgYWRkZWQgaW4gcGxhY2Ugb2YgdGhlCgllbmRpbmcgPHR0PlsvbW9ub108L3R0PiB0YWcuICBJbiB0aGlzIGNhc2UsIHdlJ3JlIGdvaW5nIHRvIHJlcGxhY2UgaXQgd2l0aAoJdGhlIDx0dD4mbHQ7L3R0Jmd0OzwvdHQ+IEhUTUwgZWxlbWVudCB0ZXJtaW5hdG9yLjxiciAvPjxiciAvPjwvbGk+CjxsaT48dHQ+Y2xhc3M8L3R0PjogIFRoaXMgYXNzaWducyB0aGlzIG5ldyBydWxlIGFuZCBpdHMgY29udGVudHMgdG8gYmUgb2YgYSBjZXJ0YWluCgkiY2xhc3MiIG9mIGRhdGEgd2l0aGluIHRoZSBkb2N1bWVudC4gIENsYXNzZXMgY29udHJvbCB3aGljaCB0YWdzIGFyZSBhbGxvd2VkIHRvCglnbyBpbnNpZGUgd2hpY2ggb3RoZXIgdGFncywgYW5kIGVuc3VyZSB0aGF0IHRoZSByZXN1bHRpbmcgSFRNTCBpcyBsZWdhbCBhbmQKCXZhbGlkLiAgVGhlIHN0YW5kYXJkIGNsYXNzZXMgYXJlOiA8dHQ+YmxvY2s8L3R0PiwgPHR0PmlubGluZTwvdHQ+LCA8dHQ+bGlzdDwvdHQ+LAoJPHR0Pmxpc3RpdGVtPC90dD4sIDx0dD5saW5rPC90dD4sIDx0dD5jb2x1bW5zPC90dD4sIDx0dD5uZXh0Y29sPC90dD4sIDx0dD5jb2RlPC90dD4sCglhbmQgPHR0PmltYWdlPC90dD4uICAoU2VlIHRoZSBhcHBlbmRpeCBvbiA8YSBocmVmPSJhcHBfY2xhc3MuaHRtbCI+Y29udGVudAoJY2xhc3NlczwvYT4gZm9yIG1vcmUgZGV0YWlscy4pICBJbiB0aGlzIGNhc2UsIG91ciBuZXcgdGFnIHdpbGwgYmUgb2YgY2xhc3MKCTx0dD5pbmxpbmU8L3R0PjsgPHR0PmlubGluZTwvdHQ+IGlzIHVzZWQgdG8gZGVzY3JpYmUgYSBjaHVuayBvZiB0ZXh0IGluIGEKCXBhcmFncmFwaC4gIE1vc3QgdGFncyB0aGF0IGNoYW5nZSB0aGUgYXBwZWFyYW5jZSBvZiB0ZXh0LCBsaWtlIDx0dD5bYl08L3R0PgoJYW5kIDx0dD5baV08L3R0PiBhbmQgPHR0Pltmb250XTwvdHQ+LCBhcmUgb2YgY2xhc3MgPHR0PmlubGluZTwvdHQ+IGFsc28uPGJyIC8+PGJyIC8+PC9saT4KPGxpPjx0dD5hbGxvd19pbjwvdHQ+OiAgVGhpcyBpcyBhIGxpc3Qgb2Ygd2hpY2ggdGFnIGNsYXNzZXMgdGhpcyBuZXcgdGFnIG1heQoJYmUgdXNlZCBpbnNpZGUuICBJdCBjYW4gYmUgc2FmZWx5IHVzZWQgaW5zaWRlIGxpc3QgaXRlbXMsIGxpa2UgPHR0PlsqXTwvdHQ+LAoJaW5zaWRlIGJsb2NrIGl0ZW1zIGxpa2UgPHR0PltjZW50ZXJdPC90dD4sIGFuZCBpbnNpZGUgb3RoZXIgaW5saW5lIGl0ZW1zLAoJbGlrZSA8dHQ+W2JdPC90dD4uICBGb3IgYSBjb21wbGV0ZSBsaXN0IG9mIHRoZSB0YWcgY2xhc3NlcyBhbmQgaG93IHRoZXkgcmVsYXRlCgl0byBlYWNoIG90aGVyLCBzZWUgdGhlIGFwcGVuZGl4IG9uIDxhIGhyZWY9ImFwcF9jbGFzcy5odG1sIj5jb250ZW50IGNsYXNzZXM8L2E+LjwvbGk+CjwvdWw+Cgo8cD5BZGRpbmcgdGhlIG5ldyBydWxlIGlzIHZlcnkgc3RyYWlnaHRmb3J3YXJkIG9uY2UgdGhlIHJ1bGUgaXMgZGVmaW5lZDsgeW91IGp1c3QgY2FsbAo8dHQ+QkJDb2RlOjpBZGRSdWxlPC90dD4gYW5kIHBhc3MgaXQgdGhlIG5hbWUgb2YgdGhlIG5ldyBydWxlIGFuZCB0aGUgYXJyYXkgY29udGFpbmluZwppdHMgcGFyYW1ldGVycy4gIEFkdmFuY2VkIHVzZXJzIG1heSBwcmVmZXIgdG8gd3JpdGUgaXQgbGlrZSB0aGlzIGluc3RlYWQsIHRob3VnaCwgYmVjYXVzZQppdCdzIGFjdHVhbGx5IGEgbGl0dGxlIGZhc3RlciBhbmQgZG9lc24ndCBwb2xsdXRlIHRoZSBuYW1lc3BhY2Ugd2l0aCBhbiB1bm5lY2Vzc2FyeQo8dHQ+JG5ld19ydWxlPC90dD4gdmFyaWFibGUgdGhhdCB5b3UnbGwgbmV2ZXIgdXNlIGFnYWluOjwvcD4KCjxkaXYgY2xhc3M9J2NvZGVfaGVhZGVyJz5Db2RlOjwvZGl2Pgo8eG1wIGNsYXNzPSdjb2RlJz4gICAgJGJiY29kZS0+QWRkUnVsZSgnbW9ubycsICBBcnJheSgKICAgICAgICAnc2ltcGxlX3N0YXJ0JyA9PiAnPHR0PicsCiAgICAgICAgJ3NpbXBsZV9lbmQnID0+ICc8L3R0PicsCiAgICAgICAgJ2NsYXNzJyA9PiAnaW5saW5lJywKICAgICAgICAnYWxsb3dfaW4nID0+IEFycmF5KCdsaXN0aXRlbScsICdibG9jaycsICdjb2x1bW5zJywgJ2lubGluZScsICdsaW5rJyksCiAgICApKTs8L3htcD4KCjxwIHN0eWxlPSd0ZXh0LWFsaWduOnJpZ2h0Oyc+WyBQcmV2aW91czogPGEgaHJlZj0idXNhZ2VfaG93Lmh0bWwiPkIuIEhvdyBhIFR5cGljYWwgTkJCQyBQcm9ncmFtIFdvcmtzPC9hPiB8IE5leHQ6IDxhIGhyZWY9InVzYWdlX3NtaWxleS5odG1sIj5ELiBBZGRpbmcgWW91ciBPd24gU21pbGV5czwvYT4gXTwvcD4KCjxociAvPgoKPGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz5Db3B5cmlnaHQgJmNvcHk7IDIwMTAsIHRoZSBQaGFudG9tIElua2VyLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC48L2Rpdj4KCjwvZGl2PjwvZGl2PjwvZGl2PgoKPC9ib2R5PgoKPC9odG1sPgo=]]></data>
	</file>
	<file>
	  <filename>/docs/doc/usage_auto.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWw6bGFuZz0iZW4iIGxhbmc9ImVuIj4KCjxoZWFkPgo8dGl0bGU+VVJMIEF1dG9kZXRlY3Rpb24gLSBOQkJDOiBUaGUgTmV3IEJCQ29kZSBQYXJzZXI8L3RpdGxlPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz4KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyB0eXBlPSd0ZXh0L2NzcycgaHJlZj0nc3R5bGVzLmNzcycgLz4KPC9oZWFkPgoKPGJvZHk+Cgo8ZGl2IGFsaWduPSdjZW50ZXInPjxkaXYgY2xhc3M9J3BhZ2VfY29udGFpbmVyMic+PGRpdiBjbGFzcz0ncGFnZV9jb250YWluZXInPgoKPGgyPklJSS4gVXNpbmcgTkJCQzwvaDI+Cgo8cCBzdHlsZT0ndGV4dC1hbGlnbjpyaWdodDttYXJnaW46MDsnPlsgUHJldmlvdXM6IDxhIGhyZWY9InVzYWdlX2xpbWl0Lmh0bWwiPkouIExpbWl0ZWQtTGVuZ3RoIGFuZCBQbGFpbi1PdXRwdXQgTW9kZXM8L2E+IHwgTmV4dDogPGEgaHJlZj0idXNhZ2VfY3NzLmh0bWwiPkwuIFN0eWxlcywgQ29sb3JzLCBhbmQgQ1NTIENvbnNpZGVyYXRpb25zPC9hPiBdPC9wPgoKPGgzPksuIFVSTCBBdXRvZGV0ZWN0aW9uPC9oMz4KCjxwPkl0IGNhbiBiZSB1c2VmdWwgdG8gaGF2ZSBOQkJDIGRldGVjdCBVUkxzICh3ZWIgYWRkcmVzc2VzKSBhbmQgZS1tYWlsIGFkZHJlc3NlcwphbmQgdHVybiB0aGVtIGludG8gbGlua3MuICBGb3IgZXhhbXBsZSwgY29uc2lkZXIgdGhlIGZvbGxvd2luZyB0ZXh0OjwvcD4KCjxkaXYgY2xhc3M9J2NvZGVfaGVhZGVyJz5Vc2VyIElucHV0OjwvZGl2Pgo8eG1wIGNsYXNzPSdjb2RlJz5HbyB0byB3d3cuZ29vZ2xlLmNvbSBmb3IgYWxsIHlvdXIgc2VhcmNoaW5nIG5lZWRzITwveG1wPgoKPGRpdiBjbGFzcz0nb3V0cHV0X2hlYWRlcic+T3V0cHV0OjwvZGl2Pgo8ZGl2IGNsYXNzPSdvdXRwdXQnPkdvIHRvIHd3dy5nb29nbGUuY29tIGZvciBhbGwgeW91ciBzZWFyY2hpbmcgbmVlZHMhPC9kaXY+Cgo8cD5JdCB3b3VsZCBiZSBuaWNlIGlmIHRoZSAid3d3Lmdvb2dsZS5jb20iIHRoZXJlIHdhcyBjbGlja2FibGUsIGFuZCBOQkJDIGluY2x1ZGVzCmEgZmVhdHVyZSBmb3IgbWFraW5nIGl0IGp1c3QgdGhhdC4gIFdpdGggVVJMIGF1dG9kZXRlY3Rpb24gZW5hYmxlZCwgYW55dGhpbmcgdGhhdApsb29rcyBsaWtlIHBhcnQgb2YgYSB3ZWIgYWRkcmVzcywgYSBVUkwsIG9yIGFuIGUtbWFpbCBhZGRyZXNzIHdpbGwgYmUgdHVybmVkIGludG8KYSBsaW5rLCBsaWtlIHRoaXM6PC9wPgoKPGRpdiBjbGFzcz0nY29kZV9oZWFkZXInPkNvZGU6PC9kaXY+Cjx4bXAgY2xhc3M9J2NvZGUnPiRiYmNvZGUgPSBuZXcgQkJDb2RlOwokYmJjb2RlLT5TZXREZXRlY3RVUkxzKHRydWUpOwokb3V0cHV0ID0gJGJiY29kZS0+UGFyc2UoJGlucHV0KTs8L3htcD4KCjxkaXYgY2xhc3M9J2NvZGVfaGVhZGVyJz5Vc2VyIElucHV0OjwvZGl2Pgo8eG1wIGNsYXNzPSdjb2RlJz5HbyB0byB3d3cuZ29vZ2xlLmNvbSBvciBleGFtcGxlLmNvbTo4MDg2IG9yIGh0dHA6Ly93d3cuZ29vZ2xlLmNvbSBvciBteSBmcmllbmQgTGFycnksCmxhcnJ5QGV4YW1wbGUuY29tLCBmb3IgYWxsIHlvdXIgc2VhcmNoaW5nIG5lZWRzITwveG1wPgoKPGRpdiBjbGFzcz0nb3V0cHV0X2hlYWRlcic+T3V0cHV0OjwvZGl2Pgo8ZGl2IGNsYXNzPSdvdXRwdXQnPkdvIHRvIDxhIGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8iPnd3dy5nb29nbGUuY29tPC9hPiBvciA8YSBocmVmPSJodHRwOi8vZXhhbXBsZS5jb206ODA4Ni8iPmV4YW1wbGUuY29tOjgwODY8L2E+Cm9yIDxhIGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8iPmh0dHA6Ly93d3cuZ29vZ2xlLmNvbTwvYT4gb3IgbXkgZnJpZW5kIExhcnJ5LAo8YSBocmVmPSJtYWlsdG86bGFycnlAZXhhbXBsZS5jb20iPmxhcnJ5QGV4YW1wbGUuY29tPC9hPiwgZm9yIGFsbCB5b3VyIHNlYXJjaGluZyBuZWVkcyE8L2Rpdj4KCjxwPlVSTCBhdXRvZGV0ZWN0aW9uIHBpY2tzIG91dCBkb21haW4gbmFtZXMgKGxpa2UgInd3dy5nb29nbGUuY29tIiksIFVSTHMgdGhhdCB1c2UgdGhlIEhUVFAsIEhUVFBTLCBvcgpGVFAgcHJvdG9jb2xzIChsaWtlICJodHRwOi8vd3d3Lmdvb2dsZS5jb20iKSwgYW5kIGUtbWFpbCBhZGRyZXNzZXMgKGxpa2UgImxhcnJ5QGV4YW1wbGUuY29tIikgYW5kCnR1cm5zIHRoZW0gaW50byBsaW5rcy4gIEl0IHVzZXMgYSB0ZW1wbGF0ZSBzeXN0ZW0ganVzdCBsaWtlIDxhIGhyZWY9InVzYWdlX2VuaC5odG1sIj5CQkNPREVfTU9ERV9FTkhBTkNFRDwvYT4KZG9lcyB0byB0cmFuc2Zvcm0gdGhlbSwgc28geW91IGNhbiBldmVuIG1ha2UgYW55IG9mIHRoZSByZXN1bHRzIGJlbG93IHBvc3NpYmxlOjwvcD4KCjxkaXYgY2xhc3M9J2NvZGVfaGVhZGVyJz5Db2RlOjwvZGl2Pgo8eG1wIGNsYXNzPSdjb2RlJz4kYmJjb2RlID0gbmV3IEJCQ29kZTsKJGJiY29kZS0+U2V0RGV0ZWN0VVJMcyh0cnVlKTsKJGJiY29kZS0+U2V0VVJMUGF0dGVybignPGEgaHJlZj0ieyR1cmwvaH0iPnskdGV4dC9ofTwvYT4nKTsKJG91dHB1dCA9ICRiYmNvZGUtPlBhcnNlKCRpbnB1dCk7PC94bXA+Cgo8ZGl2IGNsYXNzPSdvdXRwdXRfaGVhZGVyJz5PdXRwdXQ6PC9kaXY+CjxkaXYgY2xhc3M9J291dHB1dCc+R28gdG8gPGEgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29tLyI+d3d3Lmdvb2dsZS5jb208L2E+IGZvciBhbGwgeW91ciBzZWFyY2hpbmcgbmVlZHMhPC9kaXY+Cgo8ZGl2IGNsYXNzPSdjb2RlX2hlYWRlcic+Q29kZTo8L2Rpdj4KPHhtcCBjbGFzcz0nY29kZSc+JGJiY29kZSA9IG5ldyBCQkNvZGU7CiRiYmNvZGUtPlNldERldGVjdFVSTHModHJ1ZSk7CiRiYmNvZGUtPlNldFVSTFBhdHRlcm4oJ3skdGV4dC9ofSA8YSBocmVmPSJ7JHVybC9ofSI+W2xpbmtdPC9hPicpOwokb3V0cHV0ID0gJGJiY29kZS0+UGFyc2UoJGlucHV0KTs8L3htcD4KCjxkaXYgY2xhc3M9J291dHB1dF9oZWFkZXInPk91dHB1dDo8L2Rpdj4KPGRpdiBjbGFzcz0nb3V0cHV0Jz5HbyB0byB3d3cuZ29vZ2xlLmNvbSA8YSBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIj5bbGlua108L2E+IGZvciBhbGwgeW91ciBzZWFyY2hpbmcgbmVlZHMhPC9kaXY+Cgo8ZGl2IGNsYXNzPSdjb2RlX2hlYWRlcic+Q29kZTo8L2Rpdj4KPHhtcCBjbGFzcz0nY29kZSc+JGJiY29kZSA9IG5ldyBCQkNvZGU7CiRiYmNvZGUtPlNldERldGVjdFVSTHModHJ1ZSk7CiRiYmNvZGUtPlNldFVSTFBhdHRlcm4oJzxhIGhyZWY9InskdXJsL2h9Ij57JHRleHQvaH0gPGltZyBzcmM9ImV4dGVybmFsLmdpZiIKICAgIHdpZHRoPSIxMSIgaGVpZ2h0PSIxMSIgYWx0PSJFeHRlcm5hbCBMaW5rIiAvPjwvYT4nKTsKJG91dHB1dCA9ICRiYmNvZGUtPlBhcnNlKCRpbnB1dCk7PC94bXA+Cgo8ZGl2IGNsYXNzPSdvdXRwdXRfaGVhZGVyJz5PdXRwdXQ6PC9kaXY+CjxkaXYgY2xhc3M9J291dHB1dCc+R28gdG8gPGEgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29tLyI+d3d3Lmdvb2dsZS5jb20gPGltZyBzcmM9ImV4dGVybmFsLmdpZiIgd2lkdGg9IjExIiBoZWlnaHQ9IjExIiBhbHQ9IkV4dGVybmFsIExpbmsiIGJvcmRlcj0iMCIgLz48L2E+IGZvciBhbGwgeW91ciBzZWFyY2hpbmcgbmVlZHMhPC9kaXY+Cgo8cD5Gb3IgYWRkaXRpb25hbCBkb2N1bWVudGF0aW9uIG9uIHRlbXBsYXRpbmcsIHNlZSB0aGUgPGEgaHJlZj0iYXBpX21pc2MuaHRtbCNyZWZfcGFyc2VyX0ZpbGxUZW1wbGF0ZSI+RmlsbFRlbXBsYXRlKCk8L2E+CmZ1bmN0aW9uLCB3aGljaCBpcyBzaGFyZWQgYnkgYWxsIG9mIHRoZSB0ZW1wbGF0ZSBjb2RlIGluIE5CQkMgYW5kIGNhbiBiZSB1c2VkIGluIHlvdXIgb3duIHByb2dyYW1zIGFzCndlbGw7IGFuZCBhbHNvIHNlZSB0aGUgbGlzdCBvZiA8YSBocmVmPSJhcHBfZW5oZmxhZ3MuaHRtbCI+dGVtcGxhdGUgZmxhZ3M8L2E+LjwvcD4KCjxwIHN0eWxlPSd0ZXh0LWFsaWduOnJpZ2h0Oyc+WyBQcmV2aW91czogPGEgaHJlZj0idXNhZ2VfbGltaXQuaHRtbCI+Si4gTGltaXRlZC1MZW5ndGggYW5kIFBsYWluLU91dHB1dCBNb2RlczwvYT4gfCBOZXh0OiA8YSBocmVmPSJ1c2FnZV9jc3MuaHRtbCI+TC4gU3R5bGVzLCBDb2xvcnMsIGFuZCBDU1MgQ29uc2lkZXJhdGlvbnM8L2E+IF08L3A+Cgo8aHIgLz4KCjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+Q29weXJpZ2h0ICZjb3B5OyAyMDEwLCB0aGUgUGhhbnRvbSBJbmtlci4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9kaXY+Cgo8L2Rpdj48L2Rpdj48L2Rpdj4KCjwvYm9keT4KCjwvaHRtbD4K]]></data>
	</file>
	<file>
	  <filename>/docs/doc/usage_basic.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWw6bGFuZz0iZW4iIGxhbmc9ImVuIj4KCjxoZWFkPgo8dGl0bGU+WW91ciBGaXJzdCBOQkJDIFByb2dyYW0gLSBOQkJDOiBUaGUgTmV3IEJCQ29kZSBQYXJzZXI8L3RpdGxlPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz4KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyB0eXBlPSd0ZXh0L2NzcycgaHJlZj0nc3R5bGVzLmNzcycgLz4KPC9oZWFkPgoKPGJvZHk+Cgo8ZGl2IGFsaWduPSdjZW50ZXInPjxkaXYgY2xhc3M9J3BhZ2VfY29udGFpbmVyMic+PGRpdiBjbGFzcz0ncGFnZV9jb250YWluZXInPgoKPGgyPklJSS4gVXNpbmcgTkJCQzwvaDI+Cgo8cCBzdHlsZT0ndGV4dC1hbGlnbjpyaWdodDttYXJnaW46MDsnPlsgUHJldmlvdXM6IDxhIGhyZWY9Imluc3RhbGxfdW5wYWNrLmh0bWwiPklJLkIuIEluc3RhbGxhdGlvbjwvYT4gfCBOZXh0OiA8YSBocmVmPSJ1c2FnZV9ob3cuaHRtbCI+Qi4gSG93IGEgVHlwaWNhbCBOQkJDIFByb2dyYW0gV29ya3M8L2E+IF08L3A+Cgo8aDM+QS4gWW91ciBGaXJzdCBOQkJDIFByb2dyYW08L2gzPgoKPHA+TkJCQyBpcyBkZXNpZ25lZCB0byBiZSB2ZXJ5IGVhc3kgdG8gdXNlLCBldmVuIGZvciB0aGUgbW9zdCBtZWFnZXIgb2YgUEhQIHByb2dyYW1tZXJzLiAgTGV0J3MKdHJ5IGNyZWF0aW5nIHlvdXIgZmlyc3QgcHJvZ3JhbSB0aGF0IHBhcnNlcyBCQkNvZGUuICBDcmVhdGUgYSBuZXcgZmlsZSBpbiB5b3VyIHByb2plY3QgZGlyZWN0b3J5LApuYW1lZCAiPHR0PmhlbGxvLnBocDwvdHQ+IiwgYW5kIHVzZSB5b3VyIGZhdm9yaXRlIHRleHQgZWRpdG9yIHRvIHB1dCB0aGlzIHZlcnkgc2ltcGxlIFBIUApwcm9ncmFtIGluIGl0OgoKPGRpdiBjbGFzcz0nY29kZV9oZWFkZXInPkNvZGU6PC9kaXY+Cjx4bXAgY2xhc3M9J2NvZGUnPjw/cGhwCiAgICByZXF1aXJlX29uY2UoIm5iYmMucGhwIik7CiAgICAkYmJjb2RlID0gbmV3IEJCQ29kZTsKICAgIHByaW50ICRiYmNvZGUtPlBhcnNlKCJbaV1IZWxsbywgV29ybGQhWy9pXSAgVGhpcyBpcyB0aGUgbWFnaWMgb2YgW2JdQkJDb2RlWy9iXSEiKTsKPz48L3htcD4KCjxkaXYgY2xhc3M9J291dHB1dF9oZWFkZXInPk91dHB1dDo8L2Rpdj4KPGRpdiBjbGFzcz0nb3V0cHV0Jz4KPGk+SGVsbG8sIFdvcmxkITwvaT4gIFRoaXMgaXMgdGhlIG1hZ2ljIG9mIDxiPkJCQ29kZTwvYj4hCjwvZGl2PgoKPHA+TGV0J3MgbG9vayBhdCB3aGF0IHRoaXMgZG9lcy4gIEZpcnN0LCB0aGUgPHR0PnJlcXVpcmVfb25jZTwvdHQ+IGRpcmVjdGl2ZSBhZGRzIE5CQkMgdG8geW91cgpwcm9ncmFtLiAgTmV4dCwgPHR0Pm5ldyBCQkNvZGU8L3R0PiBjcmVhdGVzIGEgbmV3IEJCQ29kZSBwYXJzZXIgb2JqZWN0IGFuZCBzZXRzIGl0IHVwIHRvIGJlCnJlYWR5IGZvciBwZXJmb3JtaW5nIHBhcnNpbmcuICBUaGUgbmV3IDxhIGhyZWY9ImFwaS5odG1sIj48dHQ+QkJDb2RlPC90dD48L2E+IG9iamVjdCBpcyB0aGVuIHN0b3JlZCBpbiB0aGUgdmFyaWFibGUKPHR0PiRiYmNvZGU8L3R0Pi4gIEZpbmFsbHksIHRoZSBiaWcgb25lLi4uICB3ZSBhc2sgdGhlIDx0dD5CQkNvZGU8L3R0PiBvYmplY3QgdG8gY29udmVydApzb21lIEJCQ29kZSB0ZXh0IHRvIEhUTUwsIGFuZCB3ZSBwcmludCB0aGUgcmVzdWx0LjwvcD4KCjxwIHN0eWxlPSd0ZXh0LWFsaWduOnJpZ2h0Oyc+WyBQcmV2aW91czogPGEgaHJlZj0iaW5zdGFsbF91bnBhY2suaHRtbCI+SUkuQi4gSW5zdGFsbGF0aW9uPC9hPiB8IE5leHQ6IDxhIGhyZWY9InVzYWdlX2hvdy5odG1sIj5CLiBIb3cgYSBUeXBpY2FsIE5CQkMgUHJvZ3JhbSBXb3JrczwvYT4gXTwvcD4KCjxociAvPgoKPGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz5Db3B5cmlnaHQgJmNvcHk7IDIwMTAsIHRoZSBQaGFudG9tIElua2VyLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC48L2Rpdj4KCjwvZGl2PjwvZGl2PjwvZGl2PgoKPC9ib2R5PgoKPC9odG1sPgo=]]></data>
	</file>
	<file>
	  <filename>/docs/doc/usage_call.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWw6bGFuZz0iZW4iIGxhbmc9ImVuIj4KCjxoZWFkPgo8dGl0bGU+QWRkaW5nIENhbGxiYWNrIFRhZ3MgLSBOQkJDOiBUaGUgTmV3IEJCQ29kZSBQYXJzZXI8L3RpdGxlPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz4KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyB0eXBlPSd0ZXh0L2NzcycgaHJlZj0nc3R5bGVzLmNzcycgLz4KPC9oZWFkPgoKPGJvZHk+Cgo8ZGl2IGFsaWduPSdjZW50ZXInPjxkaXYgY2xhc3M9J3BhZ2VfY29udGFpbmVyMic+PGRpdiBjbGFzcz0ncGFnZV9jb250YWluZXInPgoKPGgyPklJSS4gVXNpbmcgTkJCQzwvaDI+Cgo8cCBzdHlsZT0ndGV4dC1hbGlnbjpyaWdodDttYXJnaW46MDsnPlsgUHJldmlvdXM6IDxhIGhyZWY9InVzYWdlX2VuaC5odG1sIj5FLiBBZGRpbmcgRW5oYW5jZWQgVGFnczwvYT4gfCBOZXh0OiA8YSBocmVmPSJ1c2FnZV93aWtpLmh0bWwiPkcuIFN1cHBvcnRpbmcgV2lraS1MaW5rczwvYT4gXTwvcD4KCjxoMz5GLiBBZGRpbmcgQ2FsbGJhY2sgVGFnczwvaDM+Cgo8cD5UaGVyZSBhcmUgY2lyY3Vtc3RhbmNlcyB3aGVyZSBlbmhhbmNlZCB0YWdzIHdpbGwgbm90IGJlIGNhcGFibGUgZW5vdWdoIHRvIGhhbmRsZQp5b3VyIG5lZWRzLCBhbmQgZm9yIHRob3NlLCBOQkJDIHN1cHBvcnRzIDxpPmNhbGxiYWNrIHRhZ3M8L2k+IC0tLSB0YWdzIHRoYXQgY2FsbCBhCmZ1bmN0aW9uIHlvdSBwcm92aWRlIHRvIHBlcmZvcm0gdGhlaXIgdmFsaWRhdGlvbiBhbmQgZm9ybWF0dGluZy48L3A+Cgo8cD5TbyBsZXQncyBsb29rIGF0IGhvdyB0byBhZGQgYSBzaW1wbGUgY2FsbGJhY2sgdGFnOiAgRXZlbiB0aG91Z2ggd2UgY2FuIGRvIDx0dD5bYm9yZGVyXTwvdHQ+CmFzIGFuIGVuaGFuY2VkIHRhZywgbGV0J3MgbG9vayBub3cgYXQgaG93IHRvIGltcGxlbWVudCBpdCBhcyBhIGNhbGxiYWNrIHRhZyBpbnN0ZWFkLjwvcD4KCjxwPkZpcnN0LCB5b3UnbGwgbmVlZCB0byBhbHRlciB0aGUgcnVsZSBkZWZpbml0aW9uLiAgU3RhcnQgd2l0aCB0aGUgc2FtZSBiYXNpYyBkZWZpbml0aW9uCndlJ3ZlIHVzZWQgYmVmb3JlLCBidXQgdXNlIDx0dD5CQkNPREVfTU9ERV9DQUxMQkFDSzwvdHQ+IGFuZCBhZGQgYSAnbWV0aG9kJyBwYXJhbWV0ZXI6PC9wPgoKPGRpdiBjbGFzcz0nY29kZV9oZWFkZXInPkNvZGU6PC9kaXY+Cjx4bXAgY2xhc3M9J2NvZGUnPiAgICAkYmJjb2RlLT5BZGRSdWxlKCdib3JkZXInLCAgQXJyYXkoCiAgICAgICAgJ21vZGUnID0+IEJCQ09ERV9NT0RFX0NBTExCQUNLLAogICAgICAgICdtZXRob2QnID0+ICdNeUJvcmRlckZ1bmN0aW9uJywKICAgICAgICAnY2xhc3MnID0+ICdibG9jaycsCiAgICAgICAgJ2FsbG93X2luJyA9PiBBcnJheSgnbGlzdGl0ZW0nLCAnYmxvY2snLCAnY29sdW1ucycpLAogICAgKSk7PC94bXA+Cgo8cD5Tb21ld2hlcmUgZWxzZSBpbiB5b3VyIGNvZGUsIHlvdSdsbCBuZWVkIHRvIHByb3ZpZGUgdGhlIGNhbGxiYWNrIGZ1bmN0aW9uIGl0c2VsZiwKd2hpY2gsIGluIHRoaXMgY2FzZSwgaXMgbmFtZWQgIjx0dD5NeUJvcmRlckZ1bmN0aW9uPC90dD4iOjwvcD4KCjxkaXYgY2xhc3M9J2NvZGVfaGVhZGVyJz5Db2RlOjwvZGl2Pgo8eG1wIGNsYXNzPSdjb2RlJz5mdW5jdGlvbiBNeUJvcmRlckZ1bmN0aW9uKCRiYmNvZGUsICRhY3Rpb24sICRuYW1lLAogICAgJGRlZmF1bHQsICRwYXJhbXMsICRjb250ZW50KSB7CiAgICAuLi4uCn08L3htcD4KCgk8ZGl2IGNsYXNzPSd0aXBib3gnPgoJPGRpdiBjbGFzcz0ndGlwYm94X2hlYWRlcic+CgkJPGRpdiBjbGFzcz0ndGlwYm94X3N0YXInPio8L2Rpdj48ZGl2PjxiPlRlY2ggVGlwPC9iPjwvZGl2PgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSd0aXBib3hfY29udGVudCc+PGRpdiBjbGFzcz0ndGlwYm94X2NvbnRlbnQyJz4KCQk8cD5OQkJDIHVzZXMgUEhQJ3MgPHR0PmNhbGxfdXNlcl9mdW5jKCk8L3R0PiBmdW5jdGlvbiB0byBjYWxsIHlvdXIgZnVuY3Rpb24sIHNvIGl0CgkJZG9lc24ndCBuZWVkIHRvIGJlIGp1c3QgYSBmdW5jdGlvbiBuYW1lOiAgSWYgeW91IHdhbnQgTkJCQyB0byBjYWxsIGEgbWV0aG9kIG9mIGFuCgkJb2JqZWN0IG9mIGEgcGFydGljdWxhciBjbGFzcywgeW91IGNhbiBzdXBwbHkgYW4gYXJyYXkgaW5zdGVhZCBvZiBhIHN0cmluZywgbGlrZQoJCXRoaXMgKHdoZXJlIDx0dD4kb2JqPC90dD4gY29udGFpbnMgYW4gb2JqZWN0IHdpdGggYSBtZW1iZXIgZnVuY3Rpb24gbmFtZWQgIjx0dD5NeU1ldGhvZDwvdHQ+Iik6PC9wPgoJCQoJCTxwPjx0dD4nbWV0aG9kJyA9Jmd0OyBBcnJheSgkb2JqLCAnTXlNZXRob2QnKSw8L3R0PjwvcD4KCTwvZGl2PjwvZGl2PgoJPC9kaXY+Cgo8cD5MZXQncyBsb29rIGF0IGhvdyB0aGUgY2FsbGJhY2sgZnVuY3Rpb24gd29ya3MuICBGaXJzdCwgdGhlc2UgYXJlIGl0cyBwYXJhbWV0ZXJzOjwvcD4KCjx1bD4KPGxpPjxiPjx0dD4kYmJjb2RlPC90dD48L2I+IC0gVGhlIDx0dD5CQkNvZGU8L3R0PiBvYmplY3QgdGhhdCBpcyBjdXJyZW50bHkgZG9pbmcgdGhlIHBhcnNpbmcuPC9saT4KPGxpPjxiPjx0dD4kYWN0aW9uPC90dD48L2I+IC0gQWx3YXlzIG9uZSBvZiA8dHQ+QkJDT0RFX0NIRUNLPC90dD4gb3IgPHR0PkJCQ09ERV9PVVRQVVQ8L3R0PiwKCXByb3ZpZGVkIHRvIGluZGljYXRlIHdoeSB0aGlzIGZ1bmN0aW9uIHdhcyBjYWxsZWQgYW5kIHdoYXQgaXQgc2hvdWxkIHJldHVybi48L2xpPgo8bGk+PGI+PHR0PiRuYW1lPC90dD48L2I+IC0gVGhlIHRhZyBuYW1lOiAgSW4gdGhlIDx0dD5bYm9yZGVyXTwvdHQ+IGV4YW1wbGUsIHRoaXMgd291bGQgY29udGFpbiB0aGUgc3RyaW5nICI8dHQ+Ym9yZGVyPC90dD4iLjwvbGk+CjxsaT48Yj48dHQ+JGRlZmF1bHQ8L3R0PjwvYj4gLSBUaGUgZGVmYXVsdCB2YWx1ZSBvZiB0aGUgdGFnLiAgSWYgdGhlIHVzZXIgd2VyZSB0byB0eXBlIDx0dD5bYm9yZGVyPTEgY29sb3I9cmVkXTwvdHQ+LAoJdGhlIGRlZmF1bHQgdmFsdWUgd291bGQgYmUgIjx0dD4xPC90dD4iLjwvbGk+CjxsaT48Yj48dHQ+JHBhcmFtczwvdHQ+PC9iPiAtIFRoZSBwYXJhbWV0ZXJzIG9mIHRoZSB0YWcsIHNvbWUgZ2l2ZW4gYnkgdGhlIHVzZXIsCglzb21lIGdlbmVyYXRlZCBieSBOQkJDLCBzdG9yZWQgaW4gYW4gYXJyYXkgb2Yga2V5ID0mZ3Q7IHZhbHVlIHBhaXJzLgoJSW4gdGhlIGV4YW1wbGUgb2YgPHR0Pltib3JkZXI9MSBjb2xvcj1yZWRdSGVsbG9bL2JvcmRlcl08L3R0PiwgdGhpcyBhcnJheSBtaWdodCBjb250YWluOgoJPHVsPgoJPGxpPic8dHQ+X25hbWU8L3R0PicgPSZndDsgJzx0dD5ib3JkZXI8L3R0Pic8L2xpPgoJPGxpPic8dHQ+X2RlZmF1bHQ8L3R0PicgPSZndDsgJzx0dD4xPC90dD4nPC9saT4KCTxsaT4nPHR0PmNvbG9yPC90dD4nID0mZ3Q7ICc8dHQ+cmVkPC90dD4nPC9saT4KCTwvdWw+CglBIGZ1bGwgbGlzdCBvZiB0aGUgdmFsdWVzIE5CQkMgYWRkcyB0byB0aGUgdGFnIHBhcmFtZXRlcnMgaXMgaW5jbHVkZWQKCTxhIGhyZWY9ImFwcF90YWdwYXJhbXMuaHRtbCI+aW4gdGhlIEFwcGVuZGl4PC9hPi4KCTwvbGk+CjxsaT48Yj48dHQ+JGNvbnRlbnQ8L3R0PjwvYj4gLSBPbmx5IHZhbGlkIHdoZW4gPHR0PiRhY3Rpb248L3R0PiBpcyA8dHQ+QkJDT0RFX09VVFBVVDwvdHQ+LAoJdGhpcyBpcyB0aGUgY29udGVudCAoYm9keSkgb2YgdGhlIHRhZywgYWxyZWFkeSBjb252ZXJ0ZWQgdG8gdmFsaWQgSFRNTC4gIEluIHRoZSBleGFtcGxlIG9mCgk8dHQ+W2JvcmRlcj0xIGNvbG9yPXJlZF1IZWxsb1svYm9yZGVyXTwvdHQ+LCA8dHQ+JGNvbnRlbnQ8L3R0PiB3b3VsZCBjb250YWluIHRoZSBzdHJpbmcgIjx0dD5IZWxsbzwvdHQ+Ii48L2xpPgo8L3VsPgoKPHA+VGhlIGNhbGxiYWNrIGZ1bmN0aW9uIGlzIGNhbGxlZCBpbiB0d28gc3RhZ2VzLiAgRmlyc3QsIGFmdGVyIHRoZSBzdGFydCB0YWcgaGFzIGJlZW4gcmVhZCBieSB0aGUKcGFyc2VyLCB0aGUgY2FsbGJhY2sgZnVuY3Rpb24gaXMgY2FsbGVkIGltbWVkaWF0ZWx5IHdpdGggPHR0PiRhY3Rpb248L3R0PiBzZXQgdG8gPHR0PkJCQ09ERV9DSEVDSzwvdHQ+LgpUaGlzIGdpdmVzIHRoZSB0YWcgdGhlIG9wcG9ydHVuaXR5IHRvIGRlY2lkZSB3aGV0aGVyIHRoZSBwYXJhbWV0ZXJzIHRoZSB1c2VyIHByb3ZpZGVzIG1ha2UgYW55IHNlbnNlOwphbmQgdGhpcyBpcyB3aGVuIHdlIHdvdWxkIHJlamVjdCBiYWQgc2l6ZXMgYW5kIGNvbG9ycyBpbiBvdXIgPHR0Pltib3JkZXJdPC90dD4gZXhhbXBsZTo8L3A+Cgo8ZGl2IGNsYXNzPSdjb2RlX2hlYWRlcic+Q29kZTo8L2Rpdj4KPHhtcCBjbGFzcz0nY29kZSc+ZnVuY3Rpb24gTXlCb3JkZXJGdW5jdGlvbigkYmJjb2RlLCAkYWN0aW9uLCAkbmFtZSwKICAgICRkZWZhdWx0LCAkcGFyYW1zLCAkY29udGVudCkgewogICAgaWYgKCRhY3Rpb24gPT0gQkJDT0RFX0NIRUNLKSB7CiAgICAgICAgaWYgKGlzc2V0KCRwYXJhbXNbJ2NvbG9yJ10pCiAgICAgICAgICAgICYmICFwcmVnX21hdGNoKCcvXiNbMC05YS1mQS1GXSt8W2EtekEtWl0rJC8nLCAkcGFyYW1zWydjb2xvciddKSkKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIGlmIChpc3NldCgkcGFyYW1zWydzaXplJ10pCiAgICAgICAgICAgICYmICFwcmVnX21hdGNoKCcvXlsxLTldWzAtOV0qJC8nLCAkcGFyYW1zWydzaXplJ10pKQogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICB9Cn08L3htcD4KCjxwPkEgY2FsbCB3aXRoIDx0dD4kYWN0aW9uID09IEJCQ09ERV9DSEVDSzwvdHQ+IG11c3QgcmV0dXJuIGVpdGhlciA8dHQ+dHJ1ZTwvdHQ+IG9yIDx0dD5mYWxzZTwvdHQ+OgpJZiBpdCByZXR1cm5zIDx0dD50cnVlPC90dD4sIE5CQkMgd2lsbCBhc3N1bWUgdGhlIHRhZyBpcyBhY2NlcHRhYmxlOyBpZiBpdCByZXR1cm5zIDx0dD5mYWxzZTwvdHQ+LApOQkJDIHdpbGwgYXNzdW1lIHRoYXQgdGhlIHRhZyBpcyB1bmFjY2VwdGFibGUgYW5kIHdpbGwgbm90IHRyZWF0IGl0IGFzIGEgdGFnIG9yIGV2YWx1YXRlIGl0IGZ1cnRoZXIuPC9wPgoKPHA+VGhlIHNlY29uZCB0aW1lIHRoZSBmdW5jdGlvbiBpcyBjYWxsZWQgaXMgd2l0aCA8dHQ+JGFjdGlvbjwvdHQ+IHNldCB0byA8dHQ+QkJDT0RFX09VVFBVVDwvdHQ+LgpJZiA8dHQ+JGFjdGlvbjwvdHQ+IGlzIDx0dD5CQkNPREVfT1VUUFVUPC90dD4sIE5CQkMgaXMgYXNraW5nIHRoZQpmdW5jdGlvbiB0byBnZW5lcmF0ZSBIVE1MIGZyb20gaXRzIGlucHV0cy4gIFRoZSByZXR1cm4gdmFsdWUgbXVzdApiZSBhIHN0cmluZywgYW5kIG11c3QgY29udGFpbiBIVE1MIG9yIHBsYWluIHRleHQ6ICBObyBCQkNvZGUgdGFncy4gIEEgdHlwaWNhbCBpbXBsZW1lbnRhdGlvbiBmb3IKb3VyIDx0dD5bYm9yZGVyXTwvdHQ+IGV4YW1wbGUgbWlnaHQgbG9vayBsaWtlIHRoaXM6PC9wPgoKPGRpdiBjbGFzcz0nY29kZV9oZWFkZXInPkNvZGU6PC9kaXY+Cjx4bXAgY2xhc3M9J2NvZGUnPmZ1bmN0aW9uIE15Qm9yZGVyRnVuY3Rpb24oJGJiY29kZSwgJGFjdGlvbiwgJG5hbWUsCiAgICAkZGVmYXVsdCwgJHBhcmFtcywgJGNvbnRlbnQpIHsKICAgIGlmICgkYWN0aW9uID09IEJCQ09ERV9DSEVDSykgewogICAgICAgIGlmIChpc3NldCgkcGFyYW1zWydjb2xvciddKQogICAgICAgICAgICAmJiAhcHJlZ19tYXRjaCgnL14jWzAtOWEtZkEtRl0rfFthLXpBLVpdKyQvJywgJHBhcmFtc1snY29sb3InXSkpCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICBpZiAoaXNzZXQoJHBhcmFtc1snc2l6ZSddKQogICAgICAgICAgICAmJiAhcHJlZ19tYXRjaCgnL15bMS05XVswLTldKiQvJywgJHBhcmFtc1snc2l6ZSddKSkKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIHJldHVybiB0cnVlOwogICAgfQoKICAgICRjb2xvciA9IGlzc2V0KCRwYXJhbXNbJ2NvbG9yJ10pID8gJHBhcmFtc1snY29sb3InXSA6ICJibHVlIjsKICAgICRzaXplID0gaXNzZXQoJHBhcmFtc1snc2l6ZSddKSA/ICRwYXJhbXNbJ3NpemUnXSA6IDE7CiAgICByZXR1cm4gIjxkaXYgc3R5bGU9XCJib3JkZXI6IHskc2l6ZX1weCBzb2xpZCAkY29sb3JcIj4kY29udGVudDwvZGl2PiI7Cn08L3htcD4KCgk8ZGl2IGNsYXNzPSd0aXBib3gnPgoJPGRpdiBjbGFzcz0ndGlwYm94X2hlYWRlcic+CgkJPGRpdiBjbGFzcz0ndGlwYm94X3N0YXInPio8L2Rpdj48ZGl2PjxiPlRlY2ggVGlwPC9iPjwvZGl2PgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSd0aXBib3hfY29udGVudCc+PGRpdiBjbGFzcz0ndGlwYm94X2NvbnRlbnQyJz4KCQk8cD5XaGVuIHlvdSBpbXBsZW1lbnQgYSBjYWxsYmFjayBmdW5jdGlvbiwgdGFrZSBzcGVjaWFsIGNhcmUgdG8gbm90ZSB3aGljaCBwYXJhbWV0ZXJzIGFyZQoJCXZhbGlkYXRlZCBhbmQgd2hpY2ggcGFyYW1ldGVycyBhcmUgbm90OjwvcD4KCQkKCQk8dWw+CgkJPGxpPjxiPjx0dD4kZGVmYXVsdDwvdHQ+PC9iPiBjb250YWlucyBleGFjdGx5IHdoYXQgdGhlIHVzZXIgdHlwZWQsIGFuZCBoYXMgbm90IGJlZW4gcGFzc2VkIHRocm91Z2gKCQkJPHR0Pmh0bWxzcGVjaWFsY2hhcnMoKTwvdHQ+IG9yIDx0dD5odG1sZW50aXRpZXMoKTwvdHQ+IG9yIGFueSBvdGhlciBjbGVhbnVwIGZ1bmN0aW9uLgoJCQlJZiB5b3Ugb3V0cHV0IHRoaXMgdmFsdWUsIHlvdSBzaG91bGQgY2xlYW4gaXQgdXAgYmVmb3JlIG91dHB1dHRpbmcgaXQuPC9saT4KCQk8bGk+PGI+PHR0PiRwYXJhbXM8L3R0PjwvYj4gYWxsIGNvbnRhaW4gZXhhY3RseSB3aGF0IHRoZSB1c2VyIHR5cGVkLCBhbmQgbm9uZSBvZiB0aGVtIGhhdmUgYmVlbiBwYXNzZWQgdGhyb3VnaAoJCQk8dHQ+aHRtbHNwZWNpYWxjaGFycygpPC90dD4gb3IgPHR0Pmh0bWxlbnRpdGllcygpPC90dD4gb3IgYW55IG90aGVyIGNsZWFudXAgZnVuY3Rpb24uCgkJCUlmIHlvdSBvdXRwdXQgdGhpcyB2YWx1ZSwgeW91IHNob3VsZCBjbGVhbiBpdCB1cCBiZWZvcmUgb3V0cHV0dGluZyBpdC48L2xpPgoJCTxsaT48Yj48dHQ+JGNvbnRlbnQ8L3R0PjwvYj4gaXMgYWx3YXlzIHB1cmUsIGNsZWFuIG91dHB1dCBIVE1MLCBvciBwdXJlLCBjbGVhbiBvdXRwdXQgcGxhaW50ZXh0LCBkZXBlbmRpbmcgb24KCQkJd2hldGhlciBpdCdzIG91dHB1dHRpbmcgaW4gSFRNTCBvciBwbGFpbnRleHQgbW9kZS48L2xpPgoJCTxsaT48Yj5Zb3VyIGNhbGxiYWNrIGZ1bmN0aW9uJ3MgcmV0dXJuIHZhbHVlPC9iPiBtdXN0IGFsd2F5cyBiZSBwdXJlLCBjbGVhbiBvdXRwdXQgSFRNTCwgb3IgcHVyZSwgY2xlYW4gb3V0cHV0CgkJCXBsYWludGV4dCwgZGVwZW5kaW5nIG9uIHdoZXRoZXIgaXQncyBvdXRwdXR0aW5nIGluIEhUTUwgb3IgcGxhaW50ZXh0IG1vZGUuPC9saT4KCQk8bGk+Tm9uZSBvZiB0aGUgaW5wdXQgcGFyYW1ldGVycyB0byB0aGlzIGZ1bmN0aW9uIHdpbGwgY29udGFpbiBhbnkgQkJDb2RlIHRhZ3MuPC9saT4KCQk8L3VsPgoJPC9kaXY+PC9kaXY+Cgk8L2Rpdj4KCjxwIHN0eWxlPSd0ZXh0LWFsaWduOnJpZ2h0Oyc+WyBQcmV2aW91czogPGEgaHJlZj0idXNhZ2VfZW5oLmh0bWwiPkUuIEFkZGluZyBFbmhhbmNlZCBUYWdzPC9hPiB8IE5leHQ6IDxhIGhyZWY9InVzYWdlX3dpa2kuaHRtbCI+Ry4gU3VwcG9ydGluZyBXaWtpLUxpbmtzPC9hPiBdPC9wPgoKPGhyIC8+Cgo8ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPkNvcHlyaWdodCAmY29weTsgMjAxMCwgdGhlIFBoYW50b20gSW5rZXIuICBBbGwgcmlnaHRzIHJlc2VydmVkLjwvZGl2PgoKPC9kaXY+PC9kaXY+PC9kaXY+Cgo8L2JvZHk+Cgo8L2h0bWw+Cg==]]></data>
	</file>
	<file>
	  <filename>/docs/doc/usage_css.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWw6bGFuZz0iZW4iIGxhbmc9ImVuIj4KCjxoZWFkPgo8dGl0bGU+U3R5bGVzLCBDb2xvcnMsIGFuZCBDU1MgQ29uc2lkZXJhdGlvbnMgLSBOQkJDOiBUaGUgTmV3IEJCQ29kZSBQYXJzZXI8L3RpdGxlPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz4KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyB0eXBlPSd0ZXh0L2NzcycgaHJlZj0nc3R5bGVzLmNzcycgLz4KPC9oZWFkPgoKPGJvZHk+Cgo8ZGl2IGFsaWduPSdjZW50ZXInPjxkaXYgY2xhc3M9J3BhZ2VfY29udGFpbmVyMic+PGRpdiBjbGFzcz0ncGFnZV9jb250YWluZXInPgoKPGgyPklJSS4gVXNpbmcgTkJCQzwvaDI+Cgo8cCBzdHlsZT0ndGV4dC1hbGlnbjpyaWdodDttYXJnaW46MDsnPlsgUHJldmlvdXM6IDxhIGhyZWY9InVzYWdlX2F1dG8uaHRtbCI+Sy4gVVJMIEF1dG9kZXRlY3Rpb248L2E+IHwgTmV4dDogPGEgaHJlZj0iYXBpLmh0bWwiPklWLkEuIEFscGhhYmV0aWNhbCBGdW5jdGlvbiBMaXN0PC9hPiBdPC9wPgoKPGgzPkwuIFN0eWxlcywgQ29sb3JzLCBhbmQgQ1NTIENvbnNpZGVyYXRpb25zPC9oMz4KCjxwPk5CQkMgaXMgcmVzcG9uc2libGUgZm9yIHR1cm5pbmcgQkJDb2RlIGlucHV0IGludG8gc2FmZSBYSFRNTCBvdXRwdXQsIGJ1dCBvbmUgdGhpbmcgdGhhdAppdCBkb2VzIDxpPm5vdDwvaT4gZG8gaXMgYW55IHN0eWxpbmcgb2YgdGhlIG91dHB1dC4gIEZvciBleGFtcGxlLCBpZiB5b3UgaW5zdGFsbCBOQkJDIGFuZApzdGFydCB1c2luZyBpdCB3aXRob3V0IGFueSBDU1Mgc3R5bGVzLCB5b3UnbGwgc2VlIHRoaXM6PC9wPgoKCTxkaXYgc3R5bGU9J21hcmdpbi1sZWZ0OjJlbTsnPgoJPGRpdiBjbGFzcz0nY29kZV9oZWFkZXInPkNvZGU6PC9kaXY+Cgk8eG1wIGNsYXNzPSdjb2RlJz5bcXVvdGU9U29tZWJvZHldQSByb2xsaW5nIHN0b25lIGdhdGhlcnMgbm8gbW9zcy5bL3F1b3RlXTwveG1wPgoJPGRpdiBjbGFzcz0nb3V0cHV0X2hlYWRlcic+T3V0cHV0OjwvZGl2PgoJPGRpdiBjbGFzcz0nb3V0cHV0Jz4KCTxkaXY+Cgk8ZGl2PlNvbWVib2R5IHdyb3RlOjwvZGl2PgoJPGRpdj5BIHJvbGxpbmcgc3RvbmUgZ2F0aGVycyBubyBtb3NzLjwvZGl2PgoJPC9kaXY+Cgk8L2Rpdj4KCTwvZGl2PgoKPHA+aW5zdGVhZCBvZiBzZWVpbmcgdGhpczo8L3A+CgoJPGRpdiBzdHlsZT0nbWFyZ2luLWxlZnQ6MmVtOyc+Cgk8ZGl2IGNsYXNzPSdvdXRwdXRfaGVhZGVyJz5PdXRwdXQ6PC9kaXY+Cgk8ZGl2IGNsYXNzPSdvdXRwdXQnPgoJPGRpdiBjbGFzcz0iYmJjb2RlX3F1b3RlIj4KCTxkaXYgY2xhc3M9ImJiY29kZV9xdW90ZV9oZWFkIj5Tb21lYm9keSB3cm90ZTo8L2Rpdj4KCTxkaXYgY2xhc3M9ImJiY29kZV9xdW90ZV9ib2R5Ij5BIHJvbGxpbmcgc3RvbmUgZ2F0aGVycyBubyBtb3NzLjwvZGl2PgoJPC9kaXY+Cgk8L2Rpdj4KCTwvZGl2PgoKPHA+Q2xlYXJseSwgdGhlIGxhdHRlciBhcHBlYXJhbmNlIGlzIHByZWZlcmFibGU6ICBJdCBoYXMgYSBuaWNlIGJsdWUgYm94IHdpdGggYSB0aXRsZSBhcmVhLAphbmQgZm9ybWF0cyBpdHMgY29udGVudCBhdHRyYWN0aXZlbHkuICBTbyB3aHkgZG9lc24ndCBOQkJDIGRvIHRoaXMgYnkgZGVmYXVsdD8gIEJlY2F1c2UgdGhhdCdzCnByb2JhYmx5IG5vdCB3aGF0IHlvdSB3YW50LjwvcD4KCjxwPk5CQkMgY2FuIGJlIHVzZWQgb24gYSB3aWRlIHZhcmlldHkgb2Ygd2ViIHNpdGVzLCBhbmQgaXQgaGFzIG5vIHdheSBvZiBrbm93aW5nIHdoYXQga2luZHMKb2YgY29sb3Igc2NoZW1lcyBhbmQgZm9udHMgYW5kIGFydHdvcmsgeW91J3JlIHVzaW5nIGZvciB0aGUgYmFzaWMgdGhlbWUgb2YgeW91ciBzaXRlLgpZb3UgY291bGQgaGF2ZSBhIHdoaXRlIGJhY2tncm91bmQgd2l0aCBibGFjayB0ZXh0LCBhIGJsYWNrIGJhY2tncm91bmQgd2l0aCB3aGl0ZSB0ZXh0LAphIHJlZCBiYWNrZ3JvdW5kIHdpdGggeWVsbG93IHRleHQsIG9yIGV2ZW4gYW4gdWdseSBwdXJwbGUgaW1hZ2UgYmFja2dyb3VuZCB3aXRoIGhpZGVvdXMKZ3JlZW4gdGV4dDsgYW5kIGluIGFsbCBvZiB0aG9zZSwgTkJCQyBuZWVkcyB0byBiZSBhYmxlIHRvIGNvbmZvcm0gdG8geW91ciBuZWVkcywgbm90IHRoZQpvdGhlciB3YXkgYXJvdW5kLiAgU28gaW5zdGVhZCBvZiBwcm9kdWNpbmcgcXVvdGVzIHRoYXQgYXJlIGFsd2F5cyBibGFjay1vbi13aGl0ZSB3aXRoCmEgc3BlY2lmaWMgYm9yZGVyLCBvciBydWxlcyB0aGF0IGFyZSBhbHdheXMgaW5kZW50ZWQsIE5CQkMncyBTdGFuZGFyZCBCQkNvZGUgTGlicmFyeQpvdXRwdXRzIGZhaXJseSBnZW5lcmljIFhIVE1MIHdpdGggdmVyeSBzcGVjaWZpYyBDU1MgY2xhc3NlcyBhdHRhY2hlZCB0byBpdCBzbyB0aGF0CnlvdSBjYW4gdXNlIHlvdXIgb3duIENTUyBydWxlcyB0byBzdHlsZSB0aGUgb3V0cHV0IGV4YWN0bHkgYXMgeW91IHdhbnQuPC9wPgoKPHA+VGhlc2UgYXJlIHRoZSBDU1MgY2xhc3NlcyBvdXRwdXQgYnkgTkJCQywgZ3JvdXBlZCBtb3JlLW9yLWxlc3MgYnkgdHlwZTo8L3A+Cgo8dWw+CjxsaT48dHQ+PGI+YmJjb2RlX3Nwb2lsZXI8L2I+PC90dD46IDx0dD4mbHQ7c3BhbiZndDs8L3R0PiB0aGF0IGNvbnRhaW5zIGEgc3BvaWxlci48L2xpPgo8bGk+PHR0PjxiPmJiY29kZV9hY3JvbnltPC9iPjwvdHQ+OiA8dHQ+Jmx0O3NwYW4mZ3Q7PC90dD4gdGhhdCBjb250YWlucyBhbiBhY3JvbnltLjxiciAvPjxiciAvPjwvbGk+CjxsaT48dHQ+PGI+YmJjb2RlX2xlZnQ8L2I+PC90dD46IDx0dD4mbHQ7ZGl2Jmd0OzwvdHQ+IHRoYXQgYWxpZ25zIGNvbnRlbnQgdG8gdGhlIGxlZnQuPC9saT4KPGxpPjx0dD48Yj5iYmNvZGVfcmlnaHQ8L2I+PC90dD46IDx0dD4mbHQ7ZGl2Jmd0OzwvdHQ+IHRoYXQgYWxpZ25zIGNvbnRlbnQgdG8gdGhlIHJpZ2h0LjwvbGk+CjxsaT48dHQ+PGI+YmJjb2RlX2NlbnRlcjwvYj48L3R0PjogPHR0PiZsdDtkaXYmZ3Q7PC90dD4gdGhhdCBhbGlnbnMgY29udGVudCB0byB0aGUgY2VudGVyLjwvbGk+CjxsaT48dHQ+PGI+YmJjb2RlX2luZGVudDwvYj48L3R0PjogPHR0PiZsdDtkaXYmZ3Q7PC90dD4gdGhhdCBpbmRlbnRzIGl0cyBjb250ZW50LjxiciAvPjxiciAvPjwvbGk+CjxsaT48dHQ+PGI+YmJjb2RlX2NvbHVtbnM8L2I+PC90dD46IDx0dD4mbHQ7dGFibGUmZ3Q7PC90dD4gdGhhdCBpcyB1c2VkIHRvIGdlbmVyYXRlIG11bHRpcGxlIGNvbHVtbnMuPC9saT4KPGxpPjx0dD48Yj5iYmNvZGVfY29sdW1uPC9iPjwvdHQ+OiA8dHQ+Jmx0O3RkJmd0OzwvdHQ+IHRoYXQgY29udGFpbnMgYW55IHNpbmdsZSBjb2x1bW4uPC9saT4KPGxpPjx0dD48Yj5iYmNvZGVfZmlyc3Rjb2x1bW48L2I+PC90dD46IDx0dD4mbHQ7dGQmZ3Q7PC90dD4gdGhhdCBjb250YWlucyB0aGUgZmlyc3QgY29sdW1uIGluIGEgZ3JvdXAuPGJyIC8+PGJyIC8+PC9saT4KPGxpPjx0dD48Yj5iYmNvZGVfY29kZTwvYj48L3R0PjogPHR0PiZsdDtkaXYmZ3Q7PC90dD4gdGhhdCB3cmFwcyBhcm91bmQgYSB3aG9sZSBjb2RlIGJsb2NrLjwvbGk+CjxsaT48dHQ+PGI+YmJjb2RlX2NvZGVfaGVhZDwvYj48L3R0PjogPHR0PiZsdDtkaXYmZ3Q7PC90dD4gdGhhdCB3cmFwcyBhcm91bmQgdGhlICJDb2RlOiIgdGl0bGUgYXJlYS48L2xpPgo8bGk+PHR0PjxiPmJiY29kZV9jb2RlX2JvZHk8L2I+PC90dD46IDx0dD4mbHQ7ZGl2Jmd0OzwvdHQ+IHRoYXQgd3JhcHMgYXJvdW5kIGNvbnRlbnQgb2YgYSBjb2RlIGJsb2NrLjxiciAvPjxiciAvPjwvbGk+CjxsaT48dHQ+PGI+YmJjb2RlX3F1b3RlPC9iPjwvdHQ+OiA8dHQ+Jmx0O2RpdiZndDs8L3R0PiB0aGF0IHdyYXBzIGFyb3VuZCBhIHdob2xlIHF1b3RlIGJsb2NrLjwvbGk+CjxsaT48dHQ+PGI+YmJjb2RlX3F1b3RlX2hlYWQ8L2I+PC90dD46IDx0dD4mbHQ7ZGl2Jmd0OzwvdHQ+IHRoYXQgd3JhcHMgYXJvdW5kIHRoZSAiU28tYW5kLXNvIHdyb3RlOiIgdGl0bGUgYXJlYS48L2xpPgo8bGk+PHR0PjxiPmJiY29kZV9xdW90ZV9ib2R5PC9iPjwvdHQ+OiA8dHQ+Jmx0O2RpdiZndDs8L3R0PiB0aGF0IHdyYXBzIGFyb3VuZCBjb250ZW50IG9mIGEgY29kZSBibG9jay48YnIgLz48YnIgLz48L2xpPgo8bGk+PHR0PjxiPmJiY29kZV91cmw8L2I+PC90dD46IDx0dD4mbHQ7YSZndDs8L3R0PiB0aGF0IHdhcyBnZW5lcmF0ZWQgYnkgYSA8dHQ+W3VybF08L3R0PiB0YWcuPC9saT4KPGxpPjx0dD48Yj5iYmNvZGVfZW1haWw8L2I+PC90dD46IDx0dD4mbHQ7YSZndDs8L3R0PiB0aGF0IHdhcyBnZW5lcmF0ZWQgYnkgYW4gPHR0PltlbWFpbF08L3R0PiB0YWcuPC9saT4KPGxpPjx0dD48Yj5iYmNvZGVfd2lraTwvYj48L3R0PjogPHR0PiZsdDthJmd0OzwvdHQ+IHRoYXQgd2FzIGdlbmVyYXRlZCBieSBhIDx0dD5bd2lraV08L3R0PiBvciA8dHQ+W1t3aWtpXV08L3R0PiB0YWcuPC9saT4KPGxpPjx0dD48Yj5iYmNvZGVfaW1nPC9iPjwvdHQ+OiA8dHQ+Jmx0O2ltZyZndDs8L3R0PiB0aGF0IHdhcyBnZW5lcmF0ZWQgYnkgYW4gPHR0PltpbWddPC90dD4gdGFnLjxiciAvPjxiciAvPjwvbGk+CjxsaT48dHQ+PGI+YmJjb2RlX2xpc3Q8L2I+PC90dD46IDx0dD4mbHQ7dWwmZ3Q7PC90dD4gb3IgPHR0PiZsdDtvbCZndDs8L3R0PiB0aGF0IHdhcyBnZW5lcmF0ZWQgYnkgYSA8dHQ+W2xpc3RdPC90dD4gdGFnLjwvbGk+CjwvdWw+Cgo8cD5HZW5lcmFsbHksIHlvdSB3aWxsIDxpPm5vdDwvaT4gd2FudCB0byBwcm92aWRlIENTUyBmb3IgbW9zdCBvZiB0aGVzZS4gIE5CQkMgdXNlcyBpbmxpbmUgc3R5bGVzIGZvciBzb21lCnRhZ3Mgd2hvc2UgcHVycG9zZSBpcyBvYnZpb3VzLCBzdWNoIGFzIDx0dD5bY2VudGVyXTwvdHQ+IGFuZCA8dHQ+W2xpc3RdPC90dD4sIHNvIHRoZSBDU1MKY2xhc3NlcyBhcmUgbWFpbmx5IGluY2x1ZGVkIGZvciBjb252ZW5pZW5jZSBhbmQgY29tcGxldGVuZXNzLiAgVHlwaWNhbGx5LCB5b3UnbGwgd2FudCB0bwpwcm92aWRlIENTUyBmb3IgYWJvdXQgaGFsZiBvZiB0aGVzZSBjbGFzc2VzLCBsaWtlIHRoaXMgZXhhbXBsZSBmb3IgYSB0eXBjaWFsIGJsYWNrLW9uLXdoaXRlCnNpdGUgd2l0aCBibHVlIGFjY2VudCBjb2xvcnM6PC9wPgoKCTxkaXYgc3R5bGU9J21hcmdpbi1sZWZ0OjJlbTsnPgoJPGRpdiBjbGFzcz0nY29kZV9oZWFkZXInPkNvZGU6PC9kaXY+Cgk8eG1wIGNsYXNzPSdjb2RlJz4vKiBBZGQgYSBkYXNoZWQgdW5kZXJsaW5lIHRvIGFjcm9ueW1zLiAqLwpzcGFuLmFjcm9ueW0geyBib3JkZXItYm90dG9tOjFweCBkYXNoZWQgZ3JlZW47IH0Kc3Bhbi5hY3JvbnltOmhvdmVyIHsgY29sb3I6IGdyZWVuOyBib3JkZXItYm90dG9tOjFweCBkYXNoZWQgbGlnaHRncmVlbjsgfQoKLyogTWFrZSBzcG9pbGVycyBpbnZpc2libGUsIHNvIHRoYXQgeW91IG5lZWQgdG8gc2VsZWN0IHRoZW0gd2l0aCB0aGUgbW91c2UuICovCnNwYW4uc3BvaWxlciB7IGJhY2tncm91bmQtY29sb3I6IGJsYWNrOyBjb2xvcjogYmxhY2s7IH0KCi8qIEFsaWduIGNvbHVtbnMgdG8gdGhlIHRvcCwgYW5kIGFkZCBzb21lIHNwYWNlIGJldHdlZW4gdGhlbS4gKi8KdGFibGUuYmJjb2RlX2NvbHVtbnMgeyBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwogICAgbWFyZ2luLXRvcDogMWVtOyBtYXJnaW4tYm90dG9tOiAxZW07IH0KdGFibGUuYmJjb2RlX2NvbHVtbnMgdGQuYmJjb2RlX2NvbHVtbiB7IHBhZGRpbmc6IDAgMWVtOyB2ZXJ0aWNhbC1hbGlnbjogdG9wO30KdGFibGUuYmJjb2RlX2NvbHVtbnMgdGQuYmJjb2RlX2ZpcnN0Y29sdW1uIHsgYm9yZGVyLWxlZnQ6IDA7IHBhZGRpbmctbGVmdDogMDsgfQoKLyogV3JhcCBxdW90ZXMgaW4gYSBiaWcgYmx1ZSBib3guICovCmRpdi5iYmNvZGVfcXVvdGUgeyBib3JkZXI6IDFweCBzb2xpZCBibHVlOyBtYXJnaW46IDAuNWVtIDA7IH0KZGl2LmJiY29kZV9xdW90ZV9oZWFkIHsgYmFja2dyb3VuZC1jb2xvcjogYmx1ZTsgY29sb3I6IHdoaXRlOwogICAgZm9udC13ZWlnaHQ6IGJvbGQ7IHBhZGRpbmc6IDAuMjVlbSAwLjVlbTsgfQpkaXYuYmJjb2RlX3F1b3RlX2hlYWQgYTpsaW5rIHsgY29sb3I6IHllbGxvdzsgfQpkaXYuYmJjb2RlX3F1b3RlX2hlYWQgYTp2aXNpdGVkIHsgY29sb3I6IHllbGxvdzsgfQpkaXYuYmJjb2RlX3F1b3RlX2hlYWQgYTpob3ZlciB7IGNvbG9yOiB3aGl0ZTsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH0KZGl2LmJiY29kZV9xdW90ZV9oZWFkIGE6YWN0aXZlIHsgY29sb3I6IHdoaXRlOyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfQpkaXYuYmJjb2RlX3F1b3RlX2JvZHkgeyBiYWNrZ3JvdW5kLWNvbG9yOiBza3libHVlOwogICAgY29sb3I6IGJsYWNrOyBwYWRkaW5nOiAwLjVlbSAxZW07IH0KCi8qIFdyYXAgY29kZSBpbiBhIGJpZyBibHVlIGJveC4gKi8KZGl2LmJiY29kZV9jb2RlIHsgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsgbWFyZ2luOiAwLjVlbSAwOyB9CmRpdi5iYmNvZGVfY29kZV9oZWFkIHsgYmFja2dyb3VuZC1jb2xvcjogYmx1ZTsgY29sb3I6IHdoaXRlOwogICAgZm9udC13ZWlnaHQ6IGJvbGQ7IHBhZGRpbmc6IDAuMjVlbSAwLjVlbTsgfQpkaXYuYmJjb2RlX2NvZGVfYm9keSB7IGJhY2tncm91bmQtY29sb3I6IHNreWJsdWU7IGNvbG9yOiBibGFjazsKICAgIGZvbnQ6IDEwcHQgbW9ub3NwYWNlOyBwYWRkaW5nOiAwLjVlbSAxZW07IH08L3htcD4KCTwvZGl2PgoKPHA+SW4gc2hvcnQsIHlvdSB3aWxsIG5lZWQgdG8gcHJvdmlkZSBzb21lIGtpbmQgb2YgQ1NTIGZvciA8dHQ+W2Fjcm9ueW1dPC90dD4sCjx0dD5bc3BvaWxlcl08L3R0PiwgPHR0Pltjb2x1bW5zXTwvdHQ+LCA8dHQ+W3F1b3RlXTwvdHQ+LCBhbmQgPHR0Pltjb2RlXTwvdHQ+LApwcmltYXJpbHkgYmVjYXVzZSBOQkJDIGNhbid0IGd1ZXNzIGluIGFkdmFuY2Ugd2hhdCBjb2xvcnMgYW5kIGltYWdlcyBhbmQKYmFja2dyb3VuZHMgdG8gdXNlIGZvciB0aGVtLjwvcD4KCjxwPkhvcGVmdWxseSwgaXQgZG9lc24ndCBuZWVkIHRvIGJlIHNhaWQgdGhhdCB5b3UgYWxzbyBzaG91bGQgd3JhcCB0aGUgZW50aXJlCkJCQ29kZSBvdXRwdXQgaW4gYSA8dHQ+Jmx0O3NwYW4mZ3Q7PC90dD4gb3IgPHR0PiZsdDtkaXYmZ3Q7PC90dD4gaWYgeW91IGludGVuZCB0bwpzdHlsZSBjb250ZW50IHdpdGhpbiBpdC4gIE5CQkMgaW50ZW50aW9uYWxseSBkb2VzIG5vdCBpbmNsdWRlIGEgY29udGFpbmVyCjx0dD4mbHQ7c3BhbiZndDs8L3R0PiBvciA8dHQ+Jmx0O2RpdiZndDs8L3R0PiBzbyB0aGF0IHlvdSBjYW4gZGVjaWRlIGZvciB5b3Vyc2VsZgp3aGF0IGtpbmQgb2Ygd3JhcHBlciB0byB1c2UgYW5kIHdoZXRoZXIgdG8gaW5jbHVkZSBhZGRpdGlvbmFsIGNvbnRlbnQgb2YgeW91cgpvd24gYmVmb3JlIG9yIGFmdGVyIHRoZSBCQkNvZGUgb3V0cHV0LiAgWW91IG1heSB3YW50IHRvIHNlZSB0aGUKPGEgaHJlZj0iYXBpX3Jvb3QuaHRtbCNyZWZfcGFyc2VyX1NldFJvb3RJbmxpbmUiPlNldFJvb3RJbmxpbmUoKTwvYT4KYW5kIDxhIGhyZWY9ImFwaV9yb290Lmh0bWwjcmVmX3BhcnNlcl9TZXRSb290QmxvY2siPlNldFJvb3RCbG9jaygpPC9hPiBmdW5jdGlvbnMsCndoaWNoIGNvbnRhaW4gbW9yZSBpbmZvcm1hdGlvbiBvbiB0aGUgc3ViamVjdCBvZiB3cmFwcGluZyB0aGUgb3V0cHV0IGluIGFuCkhUTUwgY29udGFpbmVyIGVsZW1lbnQuPC9wPgoKPHA+Rm9yIG1vcmUgZXhhbXBsZSBDU1MgdGhhdCB5b3UgY2FuIHVzZSwgbG9vayBpbiB0aGUgYXBwZW5kaXggc2VjdGlvbgp3aXRoIDxhIGhyZWY9ImFwcF9jc3MuaHRtbCI+Q1NTIEV4YW1wbGVzPC9hPi48L3A+Cgo8cCBzdHlsZT0ndGV4dC1hbGlnbjpyaWdodDsnPlsgUHJldmlvdXM6IDxhIGhyZWY9InVzYWdlX2F1dG8uaHRtbCI+Sy4gVVJMIEF1dG9kZXRlY3Rpb248L2E+IHwgTmV4dDogPGEgaHJlZj0iYXBpLmh0bWwiPklWLkEuIEFscGhhYmV0aWNhbCBGdW5jdGlvbiBMaXN0PC9hPiBdPC9wPgoKPGhyIC8+Cgo8ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPkNvcHlyaWdodCAmY29weTsgMjAxMCwgdGhlIFBoYW50b20gSW5rZXIuICBBbGwgcmlnaHRzIHJlc2VydmVkLjwvZGl2PgoKPC9kaXY+PC9kaXY+PC9kaXY+Cgo8L2JvZHk+Cgo8L2h0bWw+Cg==]]></data>
	</file>
	<file>
	  <filename>/docs/doc/usage_enh.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWw6bGFuZz0iZW4iIGxhbmc9ImVuIj4KCjxoZWFkPgo8dGl0bGU+QWRkaW5nIEVuaGFuY2VkIFRhZ3MgLSBOQkJDOiBUaGUgTmV3IEJCQ29kZSBQYXJzZXI8L3RpdGxlPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz4KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyB0eXBlPSd0ZXh0L2NzcycgaHJlZj0nc3R5bGVzLmNzcycgLz4KPC9oZWFkPgoKPGJvZHk+Cgo8ZGl2IGFsaWduPSdjZW50ZXInPjxkaXYgY2xhc3M9J3BhZ2VfY29udGFpbmVyMic+PGRpdiBjbGFzcz0ncGFnZV9jb250YWluZXInPgoKPGgyPklJSS4gVXNpbmcgTkJCQzwvaDI+Cgo8cCBzdHlsZT0ndGV4dC1hbGlnbjpyaWdodDttYXJnaW46MDsnPlsgUHJldmlvdXM6IDxhIGhyZWY9InVzYWdlX3NtaWxleS5odG1sIj5ELiBBZGRpbmcgWW91ciBPd24gU21pbGV5czwvYT4gfCBOZXh0OiA8YSBocmVmPSJ1c2FnZV9jYWxsLmh0bWwiPkYuIEFkZGluZyBDYWxsYmFjayBUYWdzPC9hPiBdPC9wPgoKPGgzPkUuIEFkZGluZyBFbmhhbmNlZCBUYWdzPC9oMz4KCjxhIG5hbWU9InVzYWdlX2VuaHRhZ190aGVvcnkiPjwvYT48aDQ+RW5oYW5jZWQgVGFncywgdGhlIFRoZW9yeTwvaDQ+Cgo8cD5XaGF0IGlmIHNpbXBsZSBIVE1MIHJlcGxhY2VtZW50IGlzbid0IGVub3VnaCBmb3IgeW91ciB0YWdzPyAgTkJCQyBwcm92aWRlcyB0d28gdGVjaG5pcXVlcwpmb3IgcGVyZm9ybWluZyBtb3JlIHNvcGhpc3RpY2F0ZWQgY29udmVyc2lvbnM7IHRoZSBmaXJzdCBpcyA8aT5lbmhhbmNlZCB0YWdzPC9pPiwKYW5kIHRoZSBzZWNvbmQgaXMgPGk+Y2FsbGJhY2sgdGFnczwvaT4uICBXZSdsbCBzdGFydCB3aXRoIDxpPmVuaGFuY2VkIHRhZ3M8L2k+LjwvcD4KCjxwPkxldCdzIHNheSB5b3Ugd2FudCB0byBhZGQgYSB0YWcgdGhhdCBsZXRzIHlvdXIgdXNlcnMgYWRkIGEgYm9yZGVyIGFyb3VuZCB0aGVpcgp0ZXh0LCBhIDx0dD5bYm9yZGVyXTwvdHQ+IHRhZy4gIFlvdSB3YW50IHRoZSB1c2VyIHRvIGJlIGFibGUgdG8gc3BlY2lmeSB0aGUgY29sb3IKYW5kIHRoaWNrbmVzcyBvZiB0aGUgYm9yZGVyLCBsaWtlIHRoaXM6PC9wPgoKPGRpdiBjbGFzcz0nY29kZV9oZWFkZXInPkNvZGU6PC9kaXY+Cjx4bXAgY2xhc3M9J2NvZGUnPltib3JkZXIgY29sb3I9Ymx1ZSBzaXplPTJdVGhpcyBoYXMgYSBibHVlIGJvcmRlciFbL2JvcmRlcl08L3htcD4KPGRpdiBjbGFzcz0nb3V0cHV0X2hlYWRlcic+T3V0cHV0OjwvZGl2Pgo8ZGl2IGNsYXNzPSdvdXRwdXQnPjxkaXYgc3R5bGU9J2JvcmRlcjogMnB4IHNvbGlkIGJsdWU7Jz5UaGlzIGhhcyBhIGJsdWUgYm9yZGVyITwvZGl2PjwvZGl2PgoKPHA+T2J2aW91c2x5LCBhIHNpbXBsZSByZXBsYWNlbWVudCBvZiBIVE1MIGlzbid0IGdvaW5nIHRvIGJlIHN1ZmZpY2llbnQgZm9yIHRoaXM7CndlIG5lZWQgdG8gZ2VuZXJhdGUgY3VzdG9taXplZCBIVE1MIGRlcGVuZGluZyBvbiB3aGF0IHRoZSB1c2VyIHN1cHBsaWVzIGZvciB0aGUKY29sb3IgYW5kIHRoZSBzaXplLCBhbmQgd2UgbmVlZCB0byBhbHNvIG1ha2Ugc3VyZSB0aGUgdXNlciBzdXBwbGllZCBhIGNvbG9yIGFuZApzaXplIHRoYXQgbWFrZXMgc2Vuc2U6ICBBIHNpemUgb2YgIi0xIiBpcyBubyBnb29kLCBhbmQgYSBjb2xvciBuYW1lZCAiYmxvcmsiIGlzIG5vCmdvb2QgZWl0aGVyLjwvcD4KCjxwPlRoaXMgaXMgd2hlcmUgPGk+ZW5oYW5jZWQgbW9kZTwvaT4gY29tZXMgaW4uICBJbiBlbmhhbmNlZCBtb2RlLCBpbnN0ZWFkIG9mIHN1cHBseWluZwphIHBhaXIgb2YgY2h1bmtzIG9mIHJlcGxhY2VtZW50IEhUTUwgdGV4dCwgeW91IHN1cHBseSBhIHRlbXBsYXRlIHdpdGggbG9jYXRpb25zIGluIGl0CndoZXJlIHRoZSB1c2VyJ3MgdmFsdWVzIHNob3VsZCBiZSBpbnNlcnRlZC4gIExpa2UgdGhpczo8L3A+Cgo8ZGl2IGNsYXNzPSdjb2RlX2hlYWRlcic+Q29kZTo8L2Rpdj4KPHhtcCBjbGFzcz0nY29kZSc+ICAgICRiYmNvZGUtPkFkZFJ1bGUoJ2JvcmRlcicsICBBcnJheSgKICAgICAgICAnbW9kZScgPT4gQkJDT0RFX01PREVfRU5IQU5DRUQsCiAgICAgICAgJ3RlbXBsYXRlJyA9PiAnPGRpdiBzdHlsZT0iYm9yZGVyOiB7JHNpemV9cHggc29saWQgeyRjb2xvcn0iPnskX2NvbnRlbnR9PC9kaXY+JywKICAgICAgICAnY2xhc3MnID0+ICdibG9jaycsCiAgICAgICAgJ2FsbG93X2luJyA9PiBBcnJheSgnbGlzdGl0ZW0nLCAnYmxvY2snLCAnY29sdW1ucycpLAogICAgKSk7PC94bXA+Cgo8cD5UaGVyZSBhcmUgc2V2ZXJhbCB0aGluZ3MgZGlmZmVyZW50IGhlcmUgZnJvbSB0aGUgbGFzdCBleGFtcGxlLiAgRmlyc3QsIHdlJ3ZlIGFkZGVkCnRoZSA8dHQ+bW9kZTwvdHQ+IHBhcmFtZXRlciwgd2hpY2ggY29udHJvbHMgaG93IGEgdGFnIHJ1bGUgaXMgcHJvY2Vzc2VkIGJ5IE5CQkMuICBUaGUKZGVmYXVsdCBtb2RlIGlzIDx0dD5CQkNPREVfTU9ERV9TSU1QTEU8L3R0Piwgd2hpY2ggd2UganVzdCBsb29rZWQgYXQ7IHlvdSBjYW4gYWxzbyB1c2UKPHR0PkJCQ09ERV9NT0RFX0VOSEFOQ0VEPC90dD4gYW5kIDx0dD5CQkNPREVfTU9ERV9DQUxMQkFDSzwvdHQ+LCBhbmQgTkJCQyBpdHNlbGYgdXNlcwo8dHQ+QkJDT0RFX01PREVfSU5URVJOQUw8L3R0PiBhbmQgPHR0PkJCQ09ERV9NT0RFX0xJQlJBUlk8L3R0PiBhcyBwYXJ0IG9mIHRoZSBzdGFuZGFyZApCQmNvZGUgbGlicmFyeS48L3A+Cgo8cD5TZWNvbmQsIHdlJ3ZlIHN3aXRjaGVkIGZyb20gPHR0PmlubGluZTwvdHQ+IGNsYXNzIHRvIDx0dD5ibG9jazwvdHQ+IGNsYXNzLCBiZWNhdXNlCkhUTUwgYm9yZGVycyB0ZW5kIHRvIGxvb2sgYSBsaXR0bGUgd2VpcmQgd2hlbiBhcHBsaWVkIHRvIGluZGl2aWR1YWwgbGluZXMgb2YgdGV4dCwKYW5kIGJlY2F1c2UgYXBwbHlpbmcgdGhlbSB0byBhIHNpbmdsZSBsaW5lIG9yIHdvcmQgdXN1YWxseSBpc24ndCB3aGF0IHRoZSB1c2VyIHRoaW5rcwp3aWxsIGhhcHBlbiB3aXRoIGEgPHR0Pltib3JkZXJdPC90dD4gdGFnIGFueXdheTogIEhlJ2xsIGV4cGVjdCB0aGF0IGl0IHByb2R1Y2VzIGEgYmlnCmJvcmRlciBhcm91bmQgYWxsIG9mIGhpcyB0ZXh0LiAgU28gb3VyIG91dHB1dCB3aWxsIGJlIGJhc2VkIG9uIDx0dD4mbHQ7ZGl2Jmd0OzwvdHQ+IGFuZApub3QgPHR0PiZsdDtzcGFuJmd0OzwvdHQ+LCBhbmQgb3VyIGNsYXNzIGlzIDx0dD5ibG9jazwvdHQ+LCBhbmQgYmVjYXVzZSBhIDx0dD4mbHQ7ZGl2Jmd0OzwvdHQ+CmluIEhUTUwgY2FuJ3QgZ28gaW5zaWRlIGEgPHR0PiZsdDtzcGFuJmd0OzwvdHQ+LCB3ZSd2ZSByZXN0cmljdGVkIHRoZSA8dHQ+YWxsb3dfaW48L3R0PgphcnJheSB0byB0aGluZ3MgdGhhdCA8dHQ+Jmx0O2RpdiZndDs8L3R0PiBlbGVtZW50cyBjYW4gYWN0dWFsbHkgZ28gaW5zaWRlOiAgT3RoZXIKYmxvY2tzLCBsaXN0IGl0ZW1zLCBhbmQgY29sdW1ucyAod2hpY2ggYXJlIHRhYmxlIGNlbGxzIGluIGRpc2d1aXNlKS48L3A+Cgo8cD5MYXN0LCB3ZSBjb21lIHRvIHRoZSBtZWF0IG9mIHRoZSBydWxlLCB0aGUgPHR0PnRlbXBsYXRlPC90dD4gaXRzZWxmLiAgTGV0J3MgYnJlYWsKdGhhdCBvdXQgYW5kIGxvb2sgYXQgaXQgYnkgaXRzZWxmOjwvcD4KCjxkaXYgY2xhc3M9J2NvZGVfaGVhZGVyJz5Db2RlOjwvZGl2Pgo8eG1wIGNsYXNzPSdjb2RlJz48ZGl2IHN0eWxlPSJib3JkZXI6IHskc2l6ZX1weCBzb2xpZCB7JGNvbG9yfSI+eyRfY29udGVudH08L2Rpdj48L3htcD4KCjxwPlRoaXMgdGVtcGxhdGUgaW5jbHVkZXMgdGhyZWUgPGk+aW5zZXJ0czwvaT4sIHBsYWNlcyB3aGVyZSB0ZXh0IGZyb20gdGhlIHVzZXIgbWF5IGJlCnN1YnN0aXR1dGVkLiAgVGhlIGZpcnN0LCA8dHQ+eyRzaXplfTwvdHQ+IHN3YXBzIGluIHRoZSB1c2VyJ3MgcHJvdmlkZWQgYm9yZGVyIHNpemU7CnRoZSBzZWNvbmQsIDx0dD57JGNvbG9yfTwvdHQ+IHN3YXBzIGluIHRoZSB1c2VyJ3MgcHJvdmlkZWQgYm9yZGVyIGNvbG9yOyBhbmQgdGhlIHRoaXJkLAo8dHQ+eyRfY29udGVudH08L3R0PiwgaXMgYSBzcGVjaWFsIGluc2VydCB0aGF0IHN1YnN0aXR1dGVzIHRoZSBjb250ZW50IG9yIGJvZHkgb2YgdGhlCnRhZywgdGhlIHRleHQgYmV0d2VlbiB0aGUgW2JvcmRlcl0gdGFnIGFuZCB0aGUgWy9ib3JkZXJdIHRhZy4gIFlvdSBtYXkgc3Vic3RpdHV0ZSBpbgphbnkgcGFyYW1ldGVycyBmcm9tIHRoZSB0YWcgdGhhdCB5b3Ugd2FudCwgbm90IGp1c3QgPHR0PmNvbG9yPC90dD4gYW5kIDx0dD5zaXplPC90dD4uPC9wPgoKPHA+KFRoZXJlIGFyZSB0d28gYWRkaXRpb25hbCBwb3NzaWJsZSBidWlsdC1pbiAic3BlY2lhbCIgaW5zZXJ0cywgbGlrZSA8dHQ+eyRfY29udGVudH08L3R0Pi4KVGhleSBhcmUgPHR0PnskX25hbWV9PC90dD4sIHdoaWNoIGlzIGFsd2F5cyB0aGUgbmFtZSBvZiB0aGUgdGFnIGl0c2VsZjsgYW5kIDx0dD57JF9kZWZhdWx0fTwvdHQ+CndoaWNoIGlzIHRoZSBkZWZhdWx0IHZhbHVlIHByb3ZpZGVkIGJ5IHRoZSB1c2VyLiAgVGhlIGRlZmF1bHQgdmFsdWUgaXMgdGhlIHZhbHVlIGF0dGFjaGVkIHRvCnRoZSBuYW1lIG9mIHRoZSB0YWcgYW5kIG5vdCBhbnkgc3BlY2lmaWMgb3RoZXIgcGFyYW1ldGVyOyBmb3IgZXhhbXBsZSwgaW4gPHR0Pltmb250PVRpbWVzXTwvdHQ+LAp0aGUgZGVmYXVsdCB2YWx1ZSBpcyAiVGltZXMiLiAgTW9zdCBvZiB0aGUgdGFncyBpbiB0aGUgc3RhbmRhcmQgbGlicmFyeSB1c2UgYW5kIHN1cHBvcnQKZGVmYXVsdCB2YWx1ZXMgd2hlbmV2ZXIgcG9zc2libGUsIHNpbmNlIHRoZXkncmUgZWFzaWVzdCBmb3IgdGhlIHVzZXIgdG8gd29yayB3aXRoLik8L3A+Cgo8YSBuYW1lPSJ1c2FnZV9lbmh0YWdfdmFsIj48L2E+PGg0PklucHV0IFZhbGlkYXRpb248L2g0PgoKPHA+U28gbm93IHdlIGhhdmUgYSB0YWcgdGhhdCB3cmFwcyBvdXIgdGV4dCBpbiBhIGJvcmRlci4gIFdoYXQncyB3cm9uZyB3aXRoIHRoYXQ/PC9wPgoKPHA+VGhlIGFuc3dlciBpcyB0aGF0IHdlIGhhdmVuJ3QgZG9uZSBhbnkga2luZCBvZiB2YWxpZGF0aW9uOiAgV2hhdCBpZiwgZm9yIGV4YW1wbGUsIHRoZQp1c2VyIHdyb3RlIHRoaXMgbWFsaWNpb3VzIEJCQ29kZT8KCjxkaXYgY2xhc3M9J2NvZGVfaGVhZGVyJz5Db2RlOjwvZGl2Pgo8eG1wIGNsYXNzPSdjb2RlJz5bYm9yZGVyIGNvbG9yPSJibHVlO2ZvbnQtc2l6ZTo0MHB0IiBzaXplPTJdVGhpcyBoYXMgYSBibHVlIGJvcmRlciFbL2JvcmRlcl08L3htcD4KPGRpdiBjbGFzcz0nb3V0cHV0X2hlYWRlcic+T3V0cHV0OjwvZGl2Pgo8ZGl2IGNsYXNzPSdvdXRwdXQnPjxkaXYgc3R5bGU9J2JvcmRlcjogMnB4IHNvbGlkIGJsdWU7Zm9udC1zaXplOjQwcHQ7Jz5UaGlzIGhhcyBhIGJsdWUgYm9yZGVyITwvZGl2PjwvZGl2PgoKPHA+T29wcyEgIFRoYXQncyBub3Qgc3VwcG9zZWQgdG8gaGFwcGVuISAgVGhlIHVzZXIncyBub3Qgc3VwcG9zZWQgdG8gYmUgYWJsZSB0bwp1c2UgdGhlIDx0dD5bYm9yZGVyXTwvdHQ+IHRhZyB0byBjaGFuZ2UgdGhlIGZvbnQgc2l6ZSEgIFdlIGhhdmUgYSBwcm9ibGVtIGhlcmUKYmVjYXVzZSB3ZSBoYXZlbid0IGNoZWNrZWQgdGhlIHVzZXIncyBpbnB1dCwgYW5kIHRoYXQncyBkYW5nZXJvdXM6ICBUaGUgd2hvbGUgcG9pbnQKYmVoaW5kIGEgPGk+dmFsaWRhdGluZzwvaT4gQkJDb2RlIHBhcnNlciBpcyB0aGF0IGl0IGVuc3VyZXMgdGhhdCB0aGUgdXNlciBjYW4ndCBkbyB0aGluZ3MKbGlrZSB0aGlzLiAgSW1hZ2luZSB3aGF0IHdvdWxkIGhhcHBlbiBpZiB0aGUgdXNlciBpbnNlcnRlZCBzb21lIEphdmFzY3JpcHQ/ICBZb3VyCnBhZ2UgY291bGQgYmUgbWFkZSB0byB1bmtub3dpbmdseSBkaXN0cmlidXRlIHZpcnVzZXMhICBTaW5jZSB0aGF0J3MgYmFkIC0tLQo8aT52ZXJ5PC9pPiBiYWQgLS0tIGxldCdzIGxvb2sgYXQgaG93IHRvIGZpeCB0aGlzIHByb2JsZW0uPC9wPgoKPHA+VGhlIHNvbHV0aW9uIGlzIHRvIHNwZWNpZnkgc29tZSByZXN0cmljdGlvbnMgb24gd2hhdCB0aGUgdXNlciBpcyBhbGxvd2VkIHRvIHVzZQpmb3IgYXR0cmlidXRlcy4gIFRvIGRvIHRoaXMsIHdlIHVzZSByZWd1bGFyIGV4cHJlc3Npb25zCnRvIGxpbWl0IHRoZSBwb3NzaWJsZSB2YWx1ZXMgb2YgPHR0Pnskc2l6ZX08L3R0PiBhbmQgPHR0PnskY29sb3J9PC90dD4gdG8gdGhpbmdzCnRoYXQgd2Uga25vdyBhcmUgc2FmZSwgbGlrZSAiMSIgYW5kICJyZWQsIiBhbmQgdG8gcHJvaGliaXQgYWxsIG90aGVyIHZhbHVlcy4gIFdoZW4KTkJCQyBzZWVzIGEgcHJvaGliaXRlZCB2YWx1ZSwgaXQgcmVqZWN0cyB0aGUgdGFnIGluIGl0cyBlbnRpcmV0eSwgdGh1cyBlbnN1cmluZyB0aGF0CnlvdXIgb3V0cHV0IHdpbGwgc3RpbGwgYmUgc2FmZS48L3A+CgoJPGRpdiBjbGFzcz0ndGlwYm94Jz4KCTxkaXYgY2xhc3M9J3RpcGJveF9oZWFkZXInPgoJCTxkaXYgY2xhc3M9J3RpcGJveF9zdGFyJz4qPC9kaXY+PGRpdj48Yj5UZWNoIFRpcDwvYj48L2Rpdj4KCTwvZGl2PgoJPGRpdiBjbGFzcz0ndGlwYm94X2NvbnRlbnQnPjxkaXYgY2xhc3M9J3RpcGJveF9jb250ZW50Mic+CgkJPHA+PGI+RG9uJ3Qga25vdyB3aGF0IHJlZ3VsYXIgZXhwcmVzc2lvbnMgYXJlPzwvYj4gIFRoZXkncmUgdXNlZCBwcmV0dHkgZnJlcXVlbnRseSBpbiBOQkJDLAoJCWJ1dCB3ZSB3b24ndCBpbnRyb2R1Y2UgdGhlbSBoZXJlOiAgVGhleSdyZSBkb2N1bWVudGVkIHZlcnkgd2VsbCBpbiBvdGhlciBwbGFjZXMsIGFuZCB5b3UKCQljYW4gZXZlbiBidXkgd2hvbGUgYm9va3Mgb24gdGhlbSBpZiB5b3Ugd2FudCB0byBsZWFybiB0aGVtIGluIGRlcHRoLgoJCU9ubGluZSwgdGhlcmUncyBhIGdvb2QgbWFudWFsIGRvY3VtZW50aW5nIE5CQkMncyBQZXJsLWNvbXBhdGlibGUgcmVndWxhciBleHByZXNzaW9ucwoJCSg8YSBocmVmPSJodHRwOi8vcGVybGRvYy5wZXJsLm9yZy9wZXJscmUuaHRtbCI+UENSRTwvYT4pIGluIGRldGFpbCwgYW5kIHRoZXJlIGFyZSBhbHNvIGdvb2QKCQlpbnRyb2R1Y3Rpb25zL3R1dG9yaWFscyB0byByZWd1bGFyIGV4cHJlc3Npb25zLCBib3RoIDxhIGhyZWY9Imh0dHA6Ly9wZXJsZG9jLnBlcmwub3JnL3BlcmxyZXF1aWNrLmh0bWwiPnNob3J0IGludHJvczwvYT4KCQlhbmQgPGEgaHJlZj0iaHR0cDovL3Blcmxkb2MucGVybC5vcmcvcGVybHJldHV0Lmh0bWwiPmxvbmcgdHV0b3JpYWxzPC9hPi48L3A+CgkJCgkJPHA+SW4gdGhpcyBtYW51YWwsIHRob3VnaCwgd2UncmUgZ29pbmcgdG8gdXNlIGp1c3QgdGhlIGZvbGxvd2luZyBiYXNpYyBzeW50YXg6PC9wPgoJCTx1bD4KCQk8bGk+PGI+PHR0PmE8L3R0PjwvYj4gLSB0aGUgbGV0dGVyICJhIjsgYSBsZXR0ZXIgb3IgbnVtYmVyIG9yIHN5bWJvbCB1c3VhbGx5IG1hdGNoZXMgaXRzZWxmPC9saT4KCQk8bGk+PGI+PHR0PlthLXpdPC90dD48L2I+IC0gYSBjaGFyYWN0ZXIgY2xhc3MsIG1hdGNoaW5nICJhIiB0aHJvdWdoICJ6IiwgaW5jbHVzaXZlPC9saT4KCQk8bGk+PGI+PHR0PlthLWYwLTl6XTwvdHQ+PC9iPiAtIGEgY2hhcmFjdGVyIGNsYXNzLCBtYXRjaGluZyAiYSIgdGhyb3VnaCAiZiIsIGFuZCAiMCIgdGhyb3VnaCAiOSIsIGFuZCAieiI8L2xpPgoJCTxsaT48Yj48dHQ+XjwvdHQ+PC9iPiAtIGFuY2hvciB0byB0aGUgYmVnaW5uaW5nIG9mIHRoZSBpbnB1dDwvbGk+CgkJPGxpPjxiPjx0dD4kPC90dD48L2I+IC0gYW5jaG9yIHRvIHRoZSBlbmQgb2YgdGhlIGlucHV0PC9saT4KCQk8L3VsPgoJCTx1bD4KCQk8bGk+PGI+PHR0PnIqPC90dD48L2I+IC0gemVybyBvciBtb3JlIG9mICJyIjwvbGk+CgkJPGxpPjxiPjx0dD5yKzwvdHQ+PC9iPiAtIG9uZSBvciBtb3JlIG9mICJyIjwvbGk+CgkJPGxpPjxiPjx0dD5yPzwvdHQ+PC9iPiAtIHplcm8gb3Igb25lIG9mICJyIiwgaS5lLiwgYW4gb3B0aW9uYWwgInIiPC9saT4KCQk8bGk+PGI+PHR0PnJ8czwvdHQ+PC9iPiAtICJyIiBvciAicyI8L2xpPgoJCTxsaT48Yj48dHQ+KHIpPC90dD48L2I+IC0gcGFyZW50aGVzZXMgY29udHJvbCBwcmVjZWRlbmNlLCBqdXN0IGxpa2UgaW4gYXJpdGhtZXRpYzwvbGk+CgkJPC91bD4KCQk8cD5UaGF0J3MgaXQ6ICBXZSdyZSBnb2luZyB0byB1c2UganVzdCB0aGUgYmFzaWNzLCBhbmQgbm90IGdvaW5nIHRvIHRvdWNoIGFkdmFuY2VkIHN5bnRheCBsaWtlCgkJPHR0Pig/PS4uLik8L3R0PiBvciA8dHQ+cntuLG19PC90dD4gaW4gdGhlIE5CQkMgbWFudWFsLiAgSWYgeW91IG5lZWQgdG8gbGVhcm4gb3IgYnJ1c2ggdXAKCQlvbiByZWdleGVzIHRvIGZvbGxvdyB0aGlzLCB0aGVyZSBhcmUgcGxlbnR5IG9mIG90aGVyIGRvY3VtZW50cyB0aGF0IHdpbGwgdGVhY2ggeW91IGhvdyB0byBkbyBzby48L3A+Cgk8L2Rpdj48L2Rpdj4KCTwvZGl2PgoKPHA+VGhlc2UgYXJlIHRoZSByZWd1bGFyIGV4cHJlc3Npb25zIHdlJ2xsIHVzZSBmb3IgPHR0Pnskc2l6ZX08L3R0PiBhbmQgPHR0PnskY29sb3J9PC90dD4sIGFuZCB3ZSdsbAplcnIgb24gdGhlIHNpZGUgb2YgYmVpbmcgdG9vIHJlc3RyaWN0aXZlOiAgVGhhdCdzIGdlbmVyYWxseSBzYWZlciB0aGFuIGJlaW5nIHRvbyBwZXJtaXNzaXZlLgpJbiB0aGlzIGNhc2UsIHdlJ2xsIGFsbG93IGFueSBwb3NpdGl2ZSBpbnRlZ2VyIGZvciA8dHQ+eyRzaXplfTwvdHQ+LCBhbmQgYW55IGhleCB2YWx1ZSBvciBhbHBoYWJldGljCnN0cmluZyBmb3IgPHR0PnskY29sb3J9PC90dD4uICBUaGlzIGxlYXZlcyBvdXQgQ1NTLXN0eWxlIDx0dD5yZ2IocixnLGIpPC90dD4gY29sb3JzIGFuZCB0aGUgbmV3CkNTUzMgPHR0PmhzdihoLHMsdik8L3R0PiBjb2xvcnMsIGJ1dCBpdCdzIHNpbXBsZSwgdXNhYmxlLCBhbmQgcmVhc29uYWJseSBmbGV4aWJsZTo8L3A+Cgo8ZGl2IGNsYXNzPSdjb2RlX2hlYWRlcic+UmVnZXggZm9yIHZhbGlkYXRpbmcgYSA8dHQ+eyRzaXplfTwvdHQ+OjwvZGl2Pgo8eG1wIGNsYXNzPSdjb2RlJz4vXlsxLTldWzAtOV0qJC88L3htcD4KCjxkaXYgY2xhc3M9J2NvZGVfaGVhZGVyJz5SZWdleCBmb3IgdmFsaWRhdGluZyBhIDx0dD57JGNvbG9yfTwvdHQ+OjwvZGl2Pgo8eG1wIGNsYXNzPSdjb2RlJz4vXiNbMC05YS1mQS1GXSt8W2EtekEtWl0rJC88L3htcD4KCjxwPlNvIGhvdyBkbyB3ZSB1c2UgdGhlc2UgZXhwcmVzc2lvbnM/ICBUaGV5IGdldCBhZGRlZCB0byB0aGUgQkJDb2RlIHJ1bGUgZm9yIDx0dD5bYm9yZGVyXTwvdHQ+CnVuZGVyIGl0cyA8dHQ+J2FsbG93JzwvdHQ+IHByb3BlcnR5LCBsaWtlIHRoaXM6PC9wPgoKPGRpdiBjbGFzcz0nY29kZV9oZWFkZXInPkNvZGU6PC9kaXY+Cjx4bXAgY2xhc3M9J2NvZGUnPiAgICAkYmJjb2RlLT5BZGRSdWxlKCdib3JkZXInLCAgQXJyYXkoCiAgICAgICAgJ21vZGUnID0+IEJCQ09ERV9NT0RFX0VOSEFOQ0VELAogICAgICAgICd0ZW1wbGF0ZScgPT4gJzxkaXYgc3R5bGU9ImJvcmRlcjogeyRzaXplfXB4IHNvbGlkIHskY29sb3J9Ij57JF9jb250ZW50fTwvZGl2PicsCiAgICAgICAgJ2FsbG93JyA9PiBBcnJheSgKICAgICAgICAgICAgJ2NvbG9yJyA9PiAnL14jWzAtOWEtZkEtRl0rfFthLXpBLVpdKyQvJywKICAgICAgICAgICAgJ3NpemUnID0+ICcvXlsxLTldWzAtOV0qJC8nLAogICAgICAgICksCiAgICAgICAgJ2NsYXNzJyA9PiAnYmxvY2snLAogICAgICAgICdhbGxvd19pbicgPT4gQXJyYXkoJ2xpc3RpdGVtJywgJ2Jsb2NrJywgJ2NvbHVtbnMnKSwKICAgICkpOzwveG1wPgoKPHA+Tm93IGFueSB0aW1lIE5CQkMgc2VlcyBhIHRhZyB3aG9zZSBwYXJhbWV0ZXJzIGFyZSB2YWxpZCwgaXQnbGwgYWNjZXB0IHRoYXQgdGFnOyBidXQKYW55IHRpbWUgaXQgc2VlcyBhIHRhZyB3aG9zZSBwYXJhbWV0ZXJzIGRvbid0IG1hdGNoIHRoZSA8dHQ+J2FsbG93JzwvdHQ+IHJlZ2V4ZXMsIHRoYXQKdGFnIHdpbGwgYmUgcmVqZWN0ZWQsIGxpa2UgdGhpczo8L3A+Cgo8ZGl2IGNsYXNzPSdjb2RlX2hlYWRlcic+Q29kZTo8L2Rpdj4KPHhtcCBjbGFzcz0nY29kZSc+W2JvcmRlciBjb2xvcj0iYmx1ZTtmb250LXNpemU6NDBwdCIgc2l6ZT0yXVRoaXMgaGFzIGEgYmx1ZSBib3JkZXIhWy9ib3JkZXJdCltib3JkZXIgY29sb3I9ImdyZWVuIiBzaXplPTJdVGhpcyBoYXMgYSBncmVlbiBib3JkZXIhWy9ib3JkZXJdPC94bXA+CjxkaXYgY2xhc3M9J291dHB1dF9oZWFkZXInPk91dHB1dDo8L2Rpdj4KPGRpdiBjbGFzcz0nb3V0cHV0Jz5bYm9yZGVyIGNvbG9yPSJibHVlO2ZvbnQtc2l6ZTo0MHB0IiBzaXplPTJdVGhpcyBoYXMgYSBibHVlIGJvcmRlciFbL2JvcmRlcl0KPGRpdiBzdHlsZT0nYm9yZGVyOiAycHggc29saWQgZ3JlZW47Jz5UaGlzIGhhcyBhIGdyZWVuIGJvcmRlciE8L2Rpdj48L2Rpdj4KCjxwPldoaWxlIHRoaXMgb3V0cHV0IGlzbid0IHBlcmZlY3QgKGZvciBleGFtcGxlLCBpdCBtaWdodCBiZSBiZXR0ZXIgd2hlbiBnaXZlbiBhIGJhZCBjb2xvcgpvciBzaXplIHRvIHRyeSB0byBjbGVhbiBpdCB1cCB0aGFuIHRvIG91dHJpZ2h0IGlnbm9yZSBpdCksIGl0J3MgYXQgbGVhc3Qgc2FmZSBvdXRwdXQ7IHRoZQp1c2VyIHR5cGVkIGdhcmJhZ2UgaW5wdXQsIGFuZCBnb3QgZ2FyYmFnZSBvdXRwdXQsIHdoaWNoIGlzIG11Y2ggYmV0dGVyIHRoYW4gd2hhdCB3ZSBoYWQKYmVmb3JlLjwvcD4KCjxhIG5hbWU9InVzYWdlX2VuaHRhZ19kZWZhdWx0Ij48L2E+PGg0PkRlZmF1bHQgVmFsdWVzPC9oND4KCjxwPk9rYXksIG9uZSBtb3JlIHF1ZXN0aW9uOiAgV2hhdCBoYXBwZW5zIGlmIHRoZSB1c2VyIGRvZXNuJ3QgcHJvdmlkZSBhIGNvbG9yIG9yIHNpemUKZm9yIHRoZSBib3JkZXI/ICBUaGUgPHR0PidhbGxvdyc8L3R0PiBwcm9wZXJ0eSBpcyBvbmx5IGNoZWNrZWQgZm9yIHRoZSBwYXJhbWV0ZXJzIHRoYXQKZ2V0IGluY2x1ZGVkLCBzbyBpdCdzIGVudGlyZWx5IHBvc3NpYmxlIGZvciB0aGUgdXNlciB0byBzdGlsbCBwcm9kdWNlIGJhZCBvdXRwdXQgbGlrZSB0aGlzOjwvcD4KCjxkaXYgY2xhc3M9J2NvZGVfaGVhZGVyJz5Db2RlOjwvZGl2Pgo8eG1wIGNsYXNzPSdjb2RlJz5bYm9yZGVyIGNvbG9yPWJsdWVdVGhpcyBoYXMgYSBibHVlIGJvcmRlciFbL2JvcmRlcl08L3htcD4KPGRpdiBjbGFzcz0nb3V0cHV0X2hlYWRlcic+T3V0cHV0OjwvZGl2Pgo8ZGl2IGNsYXNzPSdvdXRwdXQnPlRoaXMgaGFzIGEgYmx1ZSBib3JkZXIhPC9kaXY+Cgo8cD5PYnZpb3VzbHksIHRoYXQncyBub3Qgd2hhdCB5b3Ugd2FudCwgYW5kIHdoZXRoZXIgaXQnbGwgd29yayBhdCBhbGwgZGVwZW5kcyBvbiBob3cKdGhlIGJyb3dzZXIgdHJlYXRzIGEgZGFtYWdlZCBDU1Mgc3R5bGUgKG1vc3Qgd2lsbCBpZ25vcmUgaXQpLiAgSW5zdGVhZCwgaXQgd291bGQgYmUgZ29vZAp0byBiZSBhYmxlIHRvIHNheSB0aGF0IGlmLCBzYXksIGEgc2l6ZSBpcyBub3QgaW5jbHVkZWQsIHVzZSBhIHNpemUgb2YgIjx0dD4xPC90dD4iIHNvCnRoYXQgdGhlIG91dHB1dCBpcyB2YWxpZCBhbmQgdXNlZnVsIGV2ZW4gaWYgbm90IGFsbCBvZiB0aGUgaW5mb3JtYXRpb24gaXMgaW5jbHVkZWQuICBXZQpjYW4gZG8gdGhpcyB1c2luZyBkZWZhdWx0IHZhbHVlczo8L3A+Cgo8ZGl2IGNsYXNzPSdjb2RlX2hlYWRlcic+Q29kZTo8L2Rpdj4KPHhtcCBjbGFzcz0nY29kZSc+ICAgICRiYmNvZGUtPkFkZFJ1bGUoJ2JvcmRlcicsICBBcnJheSgKICAgICAgICAnbW9kZScgPT4gQkJDT0RFX01PREVfRU5IQU5DRUQsCiAgICAgICAgJ3RlbXBsYXRlJyA9PiAnPGRpdiBzdHlsZT0iYm9yZGVyOiB7JHNpemV9cHggc29saWQgeyRjb2xvcn0iPnskX2NvbnRlbnR9PC9kaXY+JywKICAgICAgICAnYWxsb3cnID0+IEFycmF5KAogICAgICAgICAgICAnY29sb3InID0+ICcvXiNbMC05YS1mQS1GXSt8W2EtekEtWl0rJC8nLAogICAgICAgICAgICAnc2l6ZScgPT4gJy9eWzEtOV1bMC05XSokLycsCiAgICAgICAgKSwKICAgICAgICAnZGVmYXVsdCcgPT4gQXJyYXkoCiAgICAgICAgICAgICdjb2xvcicgPT4gJ2JsdWUnLAogICAgICAgICAgICAnc2l6ZScgPT4gJzEnLAogICAgICAgICksCiAgICAgICAgJ2NsYXNzJyA9PiAnYmxvY2snLAogICAgICAgICdhbGxvd19pbicgPT4gQXJyYXkoJ2xpc3RpdGVtJywgJ2Jsb2NrJywgJ2NvbHVtbnMnKSwKICAgICkpOzwveG1wPgoKPHA+Tm93IHdoZW5ldmVyIHRoZSB1c2VyIGxlYXZlcyBvdXQgdGhlIDx0dD5jb2xvcjwvdHQ+IHBhcmFtZXRlciwgTkJCQyB3aWxsIHByZXRlbmQKdGhhdCB0aGUgdXNlciBpbmNsdWRlZCA8dHQ+Y29sb3I9Ymx1ZTwvdHQ+OyBhbmQgbGlrZXdpc2UsIHdoZW4gPHR0PnNpemU8L3R0PiBpcyBvbWl0dGVkLApOQkJDIHdpbGwgcHJldGVuZCB0aGF0IHRoZSB1c2VyIGluY2x1ZGVkIDx0dD5zaXplPTE8L3R0Pi4gIFRoaXMgaXMgY2VydGFpbmx5IG11Y2ggbW9yZQppbiBrZWVwaW5nIHdpdGggdGhlIHVzZXIncyBleHBlY3RhdGlvbnMgKHRoYXQgaWYgaGUgdXNlcyA8dHQ+W2JvcmRlcl08L3R0PiwgaGUnbGwgZ2V0IGEKYm9yZGVyKSwgYW5kIGl0IG1ha2VzIHRoZSBlbmhhbmNlZCB0YWcgdXNlZnVsIGluIHByZXR0eSBtdWNoIGFsbCBjaXJjdW1zdGFuY2VzOjwvcD4KCjxkaXYgY2xhc3M9J2NvZGVfaGVhZGVyJz5Db2RlOjwvZGl2Pgo8eG1wIGNsYXNzPSdjb2RlJz5bYm9yZGVyXVRoaXMgaGFzIGEgYmx1ZSBib3JkZXIhWy9ib3JkZXJdPC94bXA+CjxkaXYgY2xhc3M9J291dHB1dF9oZWFkZXInPk91dHB1dDo8L2Rpdj4KPGRpdiBjbGFzcz0nb3V0cHV0Jz48ZGl2IHN0eWxlPSdib3JkZXI6IDFweCBzb2xpZCBibHVlOyc+VGhpcyBoYXMgYSBibHVlIGJvcmRlciE8L2Rpdj48L2Rpdj4KCjxwIHN0eWxlPSd0ZXh0LWFsaWduOnJpZ2h0Oyc+WyBQcmV2aW91czogPGEgaHJlZj0idXNhZ2Vfc21pbGV5Lmh0bWwiPkQuIEFkZGluZyBZb3VyIE93biBTbWlsZXlzPC9hPiB8IE5leHQ6IDxhIGhyZWY9InVzYWdlX2NhbGwuaHRtbCI+Ri4gQWRkaW5nIENhbGxiYWNrIFRhZ3M8L2E+IF08L3A+Cgo8aHIgLz4KCjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+Q29weXJpZ2h0ICZjb3B5OyAyMDEwLCB0aGUgUGhhbnRvbSBJbmtlci4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9kaXY+Cgo8L2Rpdj48L2Rpdj48L2Rpdj4KCjwvYm9keT4KCjwvaHRtbD4K]]></data>
	</file>
	<file>
	  <filename>/docs/doc/usage_how.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWw6bGFuZz0iZW4iIGxhbmc9ImVuIj4KCjxoZWFkPgo8dGl0bGU+SG93IGEgVHlwaWNhbCBOQkJDIFByb2dyYW0gV29ya3MgLSBOQkJDOiBUaGUgTmV3IEJCQ29kZSBQYXJzZXI8L3RpdGxlPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz4KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyB0eXBlPSd0ZXh0L2NzcycgaHJlZj0nc3R5bGVzLmNzcycgLz4KPC9oZWFkPgoKPGJvZHk+Cgo8ZGl2IGFsaWduPSdjZW50ZXInPjxkaXYgY2xhc3M9J3BhZ2VfY29udGFpbmVyMic+PGRpdiBjbGFzcz0ncGFnZV9jb250YWluZXInPgoKPGgyPklJSS4gVXNpbmcgTkJCQzwvaDI+Cgo8cCBzdHlsZT0ndGV4dC1hbGlnbjpyaWdodDttYXJnaW46MDsnPlsgUHJldmlvdXM6IDxhIGhyZWY9InVzYWdlX2Jhc2ljLmh0bWwiPkEuIFlvdXIgRmlyc3QgTkJCQyBQcm9ncmFtPC9hPiB8IE5leHQ6IDxhIGhyZWY9InVzYWdlX2FkZC5odG1sIj5DLiBBZGRpbmcgWW91ciBPd24gVGFnczwvYT4gXTwvcD4KCjxoMz5CLiBIb3cgYSBUeXBpY2FsIE5CQkMgUHJvZ3JhbSBXb3JrczwvaDM+Cgo8cD5XaGlsZSB0aGUgZXhhbXBsZSBpbiB0aGUgPGEgaHJlZj0idXNhZ2VfYmFzaWMuaHRtbCI+cHJldmlvdXMgc2VjdGlvbjwvYT4KaXMgc2ltcGxlLCBpdCdzIG5vdCB2ZXJ5IHVzZWZ1bC4gIEdlbmVyYWxseSwgbW9zdCBwcm9ncmFtcyB1c2luZyBOQkJDCndpbGwgYmUgc3RydWN0dXJlZCBsaWtlIHRoaXM6PC9wPgoKPGRpdiBjbGFzcz0nY29kZV9oZWFkZXInPkNvZGU6PC9kaXY+Cjx4bXAgY2xhc3M9J2NvZGUnPjw/cGhwCiAgICAuLi5vdGhlciBpbmNsdWRlcy4uLgogICAgcmVxdWlyZV9vbmNlKCJuYmJjLnBocCIpOwoJCiAgICAuLi4KCQogICAgJGJiY29kZSA9IG5ldyBCQkNvZGU7CiAgICAuLi5wb3NzaWJsZSBhZGRpdGlvbmFsIG9wdGlvbmFsIHNldHVwIGZvciB0aGUgJGJiY29kZSBvYmplY3QuLi4KCQogICAgLi4uCgkKICAgICRzdHJpbmcgPSBbc29tZSBCQkNvZGUgZnJvbSBzb21ld2hlcmUsIHVzdWFsbHkgZWl0aGVyIGEgZmlsZSBvciBhIGRhdGFiYXNlXQogICAgJG91dHB1dCA9ICRiYmNvZGUtPlBhcnNlKCRzdHJpbmcpOwoJCiAgICAuLi4KCQogICAgcHJpbnQgJG91dHB1dDsKPz48L3htcD4KCjxwPlRoZSBzZXR1cCBwaGFzZSwgd2hlcmUgeW91IGNyZWF0ZSB0aGUgbmV3IDx0dD5CQkNvZGU8L3R0PiBvYmplY3QgYW5kIG1heWJlIGFsdGVyIGl0cwpmdW5jdGlvbmFsaXR5IGEgbGl0dGxlIChzYXksIHRvIGFkZCBtb3JlIHNtaWxleXMgYW5kIEJCQ29kZSBydWxlcywgb3IgcmVtb3ZlIGV4aXN0aW5nIG9uZXMpLApvbmx5IG5lZWRzIHRvIGJlIGRvbmUgb25jZSBpbiB5b3VyIHNjcmlwdDogIFRoZSA8dHQ+QkJDb2RlPC90dD4gb2JqZWN0LCBvbmNlIGl0J3MgYmVlbgpzZXQgdXAsIGNhbiBiZSByZXVzZWQgYWdhaW4gYW5kIGFnYWluIHRvIGNvbnZlcnQgZGlmZmVyZW50IHBpZWNlcyBvZiBCQkNvZGUgdGV4dCBpbiB0aGUKc2FtZSBzY3JpcHQuPC9wPgoKPHAgc3R5bGU9J3RleHQtYWxpZ246cmlnaHQ7Jz5bIFByZXZpb3VzOiA8YSBocmVmPSJ1c2FnZV9iYXNpYy5odG1sIj5BLiBZb3VyIEZpcnN0IE5CQkMgUHJvZ3JhbTwvYT4gfCBOZXh0OiA8YSBocmVmPSJ1c2FnZV9hZGQuaHRtbCI+Qy4gQWRkaW5nIFlvdXIgT3duIFRhZ3M8L2E+IF08L3A+Cgo8aHIgLz4KCjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+Q29weXJpZ2h0ICZjb3B5OyAyMDEwLCB0aGUgUGhhbnRvbSBJbmtlci4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9kaXY+Cgo8L2Rpdj48L2Rpdj48L2Rpdj4KCjwvYm9keT4KCjwvaHRtbD4K]]></data>
	</file>
	<file>
	  <filename>/docs/doc/usage_html.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWw6bGFuZz0iZW4iIGxhbmc9ImVuIj4KCjxoZWFkPgo8dGl0bGU+UGFyc2luZy9WYWxpZGF0aW5nIEhUTUwgYW5kIE90aGVyIFRyaWNrcyAtIE5CQkM6IFRoZSBOZXcgQkJDb2RlIFBhcnNlcjwvdGl0bGU+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgo8bGluayByZWw9J3N0eWxlc2hlZXQnIHR5cGU9J3RleHQvY3NzJyBocmVmPSdzdHlsZXMuY3NzJyAvPgo8L2hlYWQ+Cgo8Ym9keT4KCjxkaXYgYWxpZ249J2NlbnRlcic+PGRpdiBjbGFzcz0ncGFnZV9jb250YWluZXIyJz48ZGl2IGNsYXNzPSdwYWdlX2NvbnRhaW5lcic+Cgo8aDI+SUlJLiBVc2luZyBOQkJDPC9oMj4KCjxwIHN0eWxlPSd0ZXh0LWFsaWduOnJpZ2h0O21hcmdpbjowOyc+WyBQcmV2aW91czogPGEgaHJlZj0idXNhZ2VfaW1nLmh0bWwiPkguIFN1cHBvcnRpbmcgTG9jYWwgSW1hZ2VzPC9hPiB8IE5leHQ6IDxhIGhyZWY9InVzYWdlX2xpbWl0Lmh0bWwiPkouIExpbWl0ZWQtTGVuZ3RoIGFuZCBQbGFpbi1PdXRwdXQgTW9kZXM8L2E+IF08L3A+Cgo8aDM+SS4gUGFyc2luZy9WYWxpZGF0aW5nIEhUTUwgYW5kIE90aGVyIFRyaWNrczwvaDM+Cgo8YSBuYW1lPSJvdmVydmlldyI+PC9hPgo8aDQ+T3ZlcnZpZXc8L2g0PgoKPHA+U28geW91IHNheSB0aGF0IHlvdSBkb24ndCByZWFsbHkgd2FudCBCQkNvZGUsIGFuZCBqdXN0IHdhbnQgYSBzYWZlciB2ZXJzaW9uIG9mIEhUTUwgaW5zdGVhZD8KTWF5YmUgeW91IGp1c3QgcHJlZmVyIHRoZSBzeW50YXggYW5kIHN0cnVjdHVyZSBvZiBIVE1MLCBvciBtYXliZSB5b3Ugd2FudCB0byB1c2UgYSBKYXZhc2NyaXB0CldZU0lXWUcgSFRNTCBlZGl0b3Igb24geW91ciBzaXRlPyAgQmVsaWV2ZSBpdCBvciBub3QsIE5CQkMgY2FuIGRvIEhUTUwgc3ludGF4IHRvby4gIEluIHRoaXMKc2VjdGlvbiwgd2UnbGwgZGlzY3VzcyB3aGF0IGl0IHRha2VzIHRvIGltcGxlbWVudCBhICJzYWZlIEhUTUwiIHVzaW5nIE5CQkMsIGFuZCBsb29rIGF0IHNvbWUKb2YgdGhlIGlzc3VlcyBhbmQgY2F2ZWF0cyBpbnZvbHZlZC48L3A+Cgo8cD5CQkNvZGUgaXMgbm90LCBpbiBnZW5lcmFsLCB0aGF0IGRpZmZlcmVudCBmcm9tIEhUTUwuICBUaGV5IGJvdGggdXNlICJ0YWdzIiB0byByZXByZXNlbnQKZG9jdW1lbnQgc3RydWN0dXJlLCBhbmQgYWx0aG91Z2ggdGhlaXIgdGFncyBhcmVuJ3QgdGhlIHNhbWUsIHRoZXJlIGlzIHNvbWUgb3ZlcmxhcC4gIEJCQ29kZQp0ZW5kcyB0byBmb2N1cyBvbiBwcmVzZW50YXRpb24sIHdoaWxlIEhUTUwgdGVuZHMgdG8gZm9jdXMgb24gc3RydWN0dXJlLCBidXQgc29tZSB0YWdzLCBsaWtlCjx0dD5bYl08L3R0PiBhbmQgPHR0PiZsdDtiJmd0OzwvdHQ+IGFyZSBuZWFybHkgaWRlbnRpY2FsIGluIGJlaGF2aW9yLiAgVGhlc2UgYXJlIHRoZSBtYWpvcgpkaWZmZXJlbmNlcyBiZXR3ZWVuIEJCQ29kZSBhbmQgSFRNTDo8L3A+Cgo8b2w+CjxsaT5CQkNvZGUgdXNlcyBbYnJhY2tldHNdIHdoaWxlIEhUTUwgdXNlcyAmbHQ7YW5nbGUgYnJhY2tldHMmZ3Q7LjwvbGk+CjxsaT5CQkNvZGUgdHJlYXRzIGEgbmV3bGluZSBhcyBhIHBhcmFncmFwaCBicmVhazsgSFRNTCBpZ25vcmVzIGl0LjwvbGk+CjxsaT5IVE1MIGFsbG93cyB0aGUgdXNlIG9mIDxpPmVudGl0aWVzPC9pPiwgY2hhcmFjdGVyIGNvZGVzIHByb2R1Y2VkIGJ5IHRoZSAiJmFtcDsiIGNoYXJhY3Rlciwgc3VjaAoJYXMgPHR0PiZhbXA7bHQ7PC90dD4gYW5kIDx0dD4mYW1wO2FtcDs8L3R0PiBhbmQgPHR0PiZhbXA7ZWFjdXRlOzwvdHQ+LjwvbGk+CjxsaT5CQkNvZGUgaGFzIG1vc3RseSBwcmVzZW50YXRpb24gdGFncywgd2hpbGUgSFRNTCBoYXMgbW9zdGx5IHN0cnVjdHVyYWwgdGFncywgbGVhdmluZyBwcmVzZW50YXRpb24gdG8gQ1NTLjwvbGk+Cjwvb2w+Cgo8cD5OQkJDIGhhcyBzcGVjaWZpYyBmZWF0dXJlcyB0byBhZGRyZXNzIHBvaW50cyAxLCAyLCBhbmQgMyBhYm92ZTsgcG9pbnQgNCwgdGhlIGlzc3VlIG9mCnRyYW5zbGF0aW5nIGlucHV0IHBzZXVkby1IVE1MIHRhZ3MgaW50byB2YWxpZCBvdXRwdXQgSFRNTCBlbnRpdGllcyAoaS5lLiwgcmVwbGFjaW5nIHRoZQpTdGFuZGFyZCBCQkNvZGUgTGlicmFyeSkgaXMgbGVmdCB1cCB0byB5b3UgKGFsdGhvdWdoIGluIGZ1dHVyZSB2ZXJzaW9ucyBvZiBOQkJDLCB3ZSBtYXkKYWRkIGEgU3RhbmRhcmQgSFRNTCBMaWJyYXJ5IGlmIGVub3VnaCBwZW9wbGUgZGVtYW5kIGl0KS48L3A+Cgo8cD5MZXQncyB0YWNrbGUgZWFjaCBvZiBwb2ludHMgMSwgMiwgYW5kIDMgc2VwYXJhdGVseSwgYW5kIHRoZW4gcHV0IHRoZW0gYWxsIHRvZ2V0aGVyCmF0IHRoZSBlbmQuPC9wPgoKPGEgbmFtZT0idGFnbWFya2VycyI+PC9hPgo8aDQ+U3dpdGNoaW5nIFRhZyBNYXJrZXJzPC9oND4KCjxwPk5CQkMgbGV0cyB5b3UgdXNlIGFueSBvZiBbYnJhY2tldHNdLCAmbHQ7YW5nbGUgYnJhY2tldHMmZ3Q7LCB7Y3VybHkgYnJhY2VzfSwgb3IgKHBhcmVudGhlc2VzKQp0byBkZWxpbmVhdGUgeW91ciB0YWdzLiAgKE1vc3QgbGlrZWx5LCB5b3UnbGwgd2FudCBlaXRoZXIgW2JyYWNrZXRzXSBvciAmbHQ7YW5nbGUgYnJhY2tldHMmZ3Q7LApidXQgdGhlIG90aGVyIHR3byBhcmUgb2ZmZXJlZCBpbiBjYXNlIHlvdSBuZWVkIHRoZW0uKTwvcD4KCjxwPlN3aXRjaGluZyBmcm9tIHVzaW5nIFticmFja2V0c10gdG8gdXNpbmcgJmx0O2FuZ2xlIGJyYWNrZXRzJmd0OyBpcyBlYXN5OjwvcD4KCjxkaXYgY2xhc3M9J2NvZGVfaGVhZGVyJz5Db2RlOjwvZGl2Pgo8eG1wIGNsYXNzPSdjb2RlJz4kaHRtbHBhcnNlciA9IG5ldyBCQkNvZGU7CiRodG1scGFyc2VyLT5TZXRUYWdNYXJrZXIoJzwnKTsKLi4uCiRvdXRwdXQgPSAkaHRtbHBhcnNlci0+UGFyc2UoJGlucHV0KTs8L3htcD4KCjxwPlRoZSA8YSBocmVmPSJhcGlfY29yZS5odG1sI3JlZl9wYXJzZXJfU2V0VGFnTWFya2VyIj5TZXRUYWdNYXJrZXI8L2E+IGZ1bmN0aW9uIGNoYW5nZXMgdGhlCmN1cnJlbnQgdGFnIG1hcmtlciB0byB5b3VyIGRlc2lyZWQgbWFya2VyLiAgTm90ZSB0aGF0IE5CQkMgc3RpbGwgYmVoYXZlcyBvdGhlcndpc2UgdGhlIHNhbWU6Ckl0IHNpbXBseSB1c2VzIGEgZGlmZmVyZW50IGNoYXJhY3RlciBmb3IgbWFya2luZyB0aGUgc3RhcnQgYW5kIGVuZCBvZiB0YWdzLgo8YSBocmVmPSJ1c2FnZV93aWtpLmh0bWwiPltbV2lraS1saW5rc11dPC9hPiBhcmUgZnVsbHkgc3VwcG9ydGVkIG5vIG1hdHRlciB3aGF0IHRhZyBtYXJrZXIKeW91IHVzZSwgYW5kIGFsd2F5cyB1c2UgdGhlIGN1cnJlbnQgdGFnIG1hcmtlcjsgZm9yIGV4YW1wbGUsIGlmIHRoZSB0YWcgbWFya2VyIGlzICcmbHQ7JywKYSB2YWxpZCB3aWtpLWxpbmsgbWlnaHQgbG9vayBsaWtlIHRoaXM6ICAmbHQ7Jmx0O2tleXdvcmQmZ3Q7Jmd0OzwvcD4KCjxwPlRoZSBkZWZhdWx0IHRhZyBtYXJrZXIgaXMgJ1snLCBhbmQgeW91IGNhbiBkZXRlcm1pbmUgdGhlIGN1cnJlbnQgdGFnIG1hcmtlciBieSBjYWxsaW5nCjxhIGhyZWY9ImFwaV9jb3JlLmh0bWwjcmVmX3BhcnNlcl9HZXRUYWdNYXJrZXIiPkdldFRhZ01hcmtlcjwvYT4uPC9wPgoKPGEgbmFtZT0ibmV3bGluZXMiPjwvYT4KPGg0PkRpc2FibGluZyBOZXdsaW5lIEJyZWFrczwvaDQ+Cgo8cD5Ob3JtYWxseSwgTkJCQyB0cmVhdHMgYSBuZXdsaW5lIGFzIHRoZSBlbmQgb2YgYSBwYXJhZ3JhcGg6ICBBbiBIVE1MIDx0dD4mbHQ7YnImbmJzcDsvJmd0OzwvdHQ+CnRhZyBpcyBpbnNlcnRlZCBhbnl3aGVyZSBhIG5ld2xpbmUgYXBwZWFycywgZXhjZXB0IHdoZW4gaXQncyBjbG9zZSB0byBhIHRhZyB0aGF0IHByb2hpYml0cwpuZXdsaW5lcyBuZWFyIGl0LiAgV2hpbGUgdGhpcyBpcyB2ZXJ5IGNvbnZlbmllbnQgZm9yIHRoZSB1c2VyLCB0aGlzIGlzIHZlcnkgbXVjaCB1bi1IVE1MLWxpa2UsCmFzIEhUTUwgaXMgYSBmdWxseSBmcmVlLWZvcm1hdHRlZCBsYW5ndWFnZTogIE5ld2xpbmVzIG1lYW4gbm90aGluZyBzcGVjaWFsIGluIEhUTUwuPC9wPgoKPHA+TkJCQyBjYW4gYmUgdG9sZCB0byB0cmVhdCBuZXdsaW5lcyBhcyBwbGFpbiB3aGl0ZXNwYWNlLCBqdXN0IGxpa2UgSFRNTCBkb2VzLiAgVG8gZG8KdGhpcywgeW91IHVzZSB0aGUgPGEgaHJlZj0iYXBpX2NvcmUuaHRtbCNyZWZfcGFyc2VyX1NldElnbm9yZU5ld2xpbmVzIj5TZXRJZ25vcmVOZXdsaW5lczwvYT4KZnVuY3Rpb246PC9wPgoKPGRpdiBjbGFzcz0nY29kZV9oZWFkZXInPkNvZGU6PC9kaXY+Cjx4bXAgY2xhc3M9J2NvZGUnPiRodG1scGFyc2VyID0gbmV3IEJCQ29kZTsKJGh0bWxwYXJzZXItPlNldElnbm9yZU5ld2xpbmVzKHRydWUpOwouLi4KJG91dHB1dCA9ICRodG1scGFyc2VyLT5QYXJzZSgkaW5wdXQpOzwveG1wPgoKPHA+V2hlbiAiaWdub3JlLW5ld2xpbmVzIiBpcyA8dHQ+dHJ1ZTwvdHQ+LCBOQkJDIHdpbGwgdHJlYXQgbmV3bGluZXMgYWxtb3N0IGV4YWN0bHkgdGhlIHNhbWUKYXMgaXQgdHJlYXRzIHdoaXRlc3BhY2UsIGFuZCB3aWxsIDxpPm5vdDwvaT4gZ2VuZXJhdGUgPHR0PiZsdDticiZuYnNwOy8mZ3Q7PC90dD4gdGFncyBpbgp0aGUgb3V0cHV0LiAgKEluIGZhY3QsIHRoZSBvbmx5IGRpZmZlcmVuY2UgYmV0d2VlbiBuZXdsaW5lcyBhbmQgb3RoZXIgd2hpdGVzcGFjZSBpcyB0aGF0Cm5ld2xpbmVzIGFyZSByZWd1bGFyaXplZCB0byBVbip4IGZvcm1hdDogIFdoZXRoZXIgdGhleSdyZSAiXHJcbiIgb3IgIlxuIiBvciAiXHIiIGluIHRoZQppbnB1dCwgdGhleSdsbCBhbHdheXMgYmUgIlxuIiBpbiB0aGUgb3V0cHV0Lik8L3A+Cgo8cD5CeSBkZWZhdWx0LCAiaWdub3JlLW5ld2xpbmVzIiBpcyA8dHQ+ZmFsc2U8L3R0PiwgYW5kIHlvdSBjYW4gZGV0ZXJtaW5lIHRoZSBjdXJyZW50IHN0YXRlCmJ5IGNhbGxpbmcgPGEgaHJlZj0iYXBpX2NvcmUuaHRtbCNyZWZfcGFyc2VyX0dldElnbm9yZU5ld2xpbmVzIj5HZXRJZ25vcmVOZXdsaW5lczwvYT4uPC9wPgoKPGEgbmFtZT0iZW50aXRpZXMiPjwvYT4KPGg0PkFsbG93aW5nIEhUTUwgRW50aXRpZXM8L2g0PgoKPHA+Tm9ybWFsbHksIE5CQkMgdGFrZXMgYWxsIGlucHV0IGNoYXJhY3RlcnMgYW5kIG1ha2VzIHRoZW0gc2FmZSBmb3IgSFRNTCBvdXRwdXQ6ICBGb3IgZXhhbXBsZSwKYSAmbHQ7IHN5bWJvbCBpbiB0aGUgaW5wdXQgd2lsbCBiZSB0dXJuZWQgaW50byBhIDx0dD4mYW1wO2x0OzwvdHQ+IGVudGl0eSBpbiB0aGUgb3V0cHV0LgpVc3VhbGx5LCB0aGlzIGlzIGRlc2lyYWJsZTsgaG93ZXZlciwgd2hlbiB5b3UgaGF2ZSBzZXQgdGhlIHRhZyBtYXJrZXIgdG8gJzx0dD4mbHQ7PC90dD4nLCB5b3UKcHJvYmFibHkgd2FudCBIVE1MIGJlaGF2aW9yLCBhbmQgd2FudCB0byBiZSBhYmxlIHRvIHR5cGUgPHR0PiZhbXA7bHQ7PC90dD4gaW4gdGhlIGlucHV0IHRvCmdldCBhICZsdDsgc3ltYm9sIGluIHRoZSBvdXRwdXQuPC9wPgoKPHA+VG8gYWxsb3cgZW50aXRpZXMsIHlvdSBuZWVkIHRvIGFsbG93IHRoZSBhbXBlcnNhbmQgY2hhcmFjdGVyICgnJmFtcDsnKSB0byBiZSBwYXNzZWQgdGhyb3VnaAp1bmNoYW5nZWQgdG8gdGhlIG91dHB1dC4gIE5vcm1hbGx5LCBOQkJDLCB1cG9uIHNlZWluZyBhICZhbXA7IHN5bWJvbCBpbiB0aGUgaW5wdXQsIHdpbGwKdHVybiBpdCBpbnRvIDx0dD4mYW1wO2FtcDs8L3R0PiBpbiB0aGUgb3V0cHV0LCB3aGljaCBtZWFucyB0aGF0IGlmIHlvdSB0eXBlIDx0dD4mYW1wO2x0OzwvdHQ+CmluIHRoZSBpbnB1dCwgeW91J2xsIHNlZSA8dHQ+JmFtcDtsdDs8L3R0PiBpbiB0aGUgb3V0cHV0ICh3aGljaCBpcyBhY3R1YWxseQo8dHQ+JmFtcDthbXA7bHQ7PC90dD4gaWYgeW91IGxvb2sgYXQgdGhlIEhUTUwgc291cmNlKS4gIEJ1dCB0aGlzIGlzbid0IHdoYXQgeW91IHdhbnQKd2hlbiB5b3UncmUgdHJ5aW5nIHRvIHByb2Nlc3MgSFRNTDogIFlvdSB3YW50IGEgJmFtcDsgaW4gdGhlIGlucHV0IHRvIGJlIGFuICZhbXA7IGluCnRoZSBvdXRwdXQuPC9wPgoKPHA+TkJCQyBpbmNsdWRlcyBhIGNvbnZlbmllbnQgcGFpciBvZiBmdW5jdGlvbnMgdG8gY29udHJvbCBob3cgdGhlIGFtcGVyc2FuZCBjaGFyYWN0ZXIgaXMKcHJvY2Vzc2VkLCB3aGV0aGVyIGl0J3MgdHJhbnNsYXRlZCB0byBzYWZlIEhUTUwgb3Igd2hldGhlciBpdCdzIHBhc3NlZCB0aHJvdWdoIHVuY2hhbmdlZC4KWW91IGNhbiBhbGxvdyAmYW1wOyB0byBiZSBwYXNzZWQgdGhyb3VnaCB1bmNoYW5nZWQgbGlrZSB0aGlzOjwvcD4KCjxkaXYgY2xhc3M9J2NvZGVfaGVhZGVyJz5Db2RlOjwvZGl2Pgo8eG1wIGNsYXNzPSdjb2RlJz4kaHRtbHBhcnNlciA9IG5ldyBCQkNvZGU7CiRodG1scGFyc2VyLT5TZXRBbGxvd0FtcGVyc2FuZCh0cnVlKTsKLi4uCiRvdXRwdXQgPSAkaHRtbHBhcnNlci0+UGFyc2UoJGlucHV0KTs8L3htcD4KCjxwPldoZW4gImFsbG93LWFtcGVyc2FuZCIgaXMgPHR0PnRydWU8L3R0PiwgdGhlIGFtcGVyc2FuZCB3aWxsIGJlIHBhc3NlZCB0byB0aGUgb3V0cHV0CmVudGlyZWx5IHVuY2hhbmdlZCwgd2hpY2ggaXMgZXhhY3RseSB3aGF0IHlvdSB3YW50IHdoZW4gcHJvY2Vzc2luZyBIVE1MLiAgVGhlIGRlZmF1bHQgaXMKPHR0PmZhbHNlPC90dD4sIGFuZCB5b3UgY2FuIGRldGVybWluZSB0aGUgY3VycmVudCBzdGF0ZQpieSBjYWxsaW5nIDxhIGhyZWY9ImFwaV9jb3JlLmh0bWwjcmVmX3BhcnNlcl9HZXRBbGxvd0FtcGVyc2FuZCI+R2V0QWxsb3dBbXBlcnNhbmQ8L2E+LjwvcD4KCjxhIG5hbWU9InRvZ2V0aGVyIj48L2E+CjxoND5QdXR0aW5nIEl0IEFsbCBUb2dldGhlcjwvaDQ+Cgo8cD5TbyBub3cgbGV0J3MgYXNzZW1ibGUgYWxsIHRoZXNlIHBpZWNlcyBpbnRvIGEgc2luZ2xlIHNob3J0IHNjcmlwdCB0aGF0IGNhbiBwYXJzZSBIVE1MLgpPdXIgSFRNTCB0YWdzIHdpbGwgbWF0Y2ggdGhlIEJCQ29kZSB0YWdzLCBidXQgaWYgeW91IG5lZWQgSFRNTC1zcGVjaWZpYyB0YWdzLCB5b3UgY2FuIGFsd2F5cwphZGQgc3VwcG9ydCBmb3IgdGhlbSB3aXRoIDxhIGhyZWY9ImFwaV9ydWxlLmh0bWwjcmVmX3BhcnNlcl9BZGRSdWxlIj5BZGRSdWxlPC9hPi4gIChUaGF0IHNhaWQsCmluIGEgZnV0dXJlIHZlcnNpb24gb2YgTkJCQywgdGhlcmUgbWF5IGJlIGEgU3RhbmRhcmQgSFRNTCBMaWJyYXJ5IGFkZGVkIGlmIGVub3VnaCBwZW9wbGUgd2FudAppdC4pICBTbyB0aGlzIGNvZGUgaXMgZ2VuZXJhbGx5IHdoYXQgeW91J2xsIHdhbnQgaWYgeW91J3JlIGltcGxlbWVudGluZyBIVE1MOjwvcD4KCjxkaXYgY2xhc3M9J2NvZGVfaGVhZGVyJz5Db2RlOjwvZGl2Pgo8eG1wIGNsYXNzPSdjb2RlJz4kaHRtbHBhcnNlciA9IG5ldyBCQkNvZGU7CiRodG1scGFyc2VyLT5TZXRUYWdNYXJrZXIoJzwnKTsgICAgICAgICAvLyBIVE1MIHVzZXMgPGFuZ2xlIGJyYWNrZXRzPi4KJGh0bWxwYXJzZXItPlNldElnbm9yZU5ld2xpbmVzKHRydWUpOyAgIC8vIEhUTUwgaXMgZnJlZS1mb3JtYXR0ZWQuCiRodG1scGFyc2VyLT5TZXRBbGxvd0FtcGVyc2FuZCh0cnVlKTsgICAvLyBIVE1MIHVzZXMgJiBmb3IgZXNjYXBpbmcgZW50aXRpZXMuCiRodG1scGFyc2VyLT5EaXNhYmxlU21pbGV5cygpOyAgICAgICAgICAvLyBIVE1MIGRvZXNuJ3QgaGF2ZSBidWlsdC1pbiBzbWlsZXlzLgouLi4KJGh0bWxwYXJzZXItPkNsZWFyUnVsZXMoKTsgICAgICAgICAgICAgIC8vIE5vIEJCQ29kZSBydWxlcy4KJGh0bWxwYXJzZXItPkFkZFJ1bGUoInAiLCAuLi4pOyAgICAgICAgIC8vIEFsbG93IHRoZSA8cD4gZWxlbWVudC4KJGh0bWxwYXJzZXItPkFkZFJ1bGUoImIiLCAuLi4pOyAgICAgICAgIC8vIEFsbG93IHRoZSA8Yj4gZWxlbWVudC4KJGh0bWxwYXJzZXItPkFkZFJ1bGUoImkiLCAuLi4pOyAgICAgICAgIC8vIEFsbG93IHRoZSA8aT4gZWxlbWVudC4KJGh0bWxwYXJzZXItPkFkZFJ1bGUoImEiLCAuLi4pOyAgICAgICAgIC8vIEFsbG93IHRoZSA8YT4gZWxlbWVudC4KJGh0bWxwYXJzZXItPkFkZFJ1bGUoInByZSIsIC4uLik7ICAgICAgIC8vIEFsbG93IHRoZSA8cHJlPiBlbGVtZW50LgouLi4KLi4ubW9yZSBydWxlcy4uLgouLi4KJG91dHB1dCA9ICRodG1scGFyc2VyLT5QYXJzZSgkaW5wdXQpOzwveG1wPgoKPHA+Rmlyc3QsIHdlIHN3aXRjaCB0byAmbHQ7SFRNTCZndDsgdGFnIG1hcmtlcnMsIGFuZCB3ZSB0cmVhdCBuZXdsaW5lcyBhcyBwbGFpbiB3aGl0ZXNwYWNlLAphbmQgd2UgYWxsb3cgYW1wZXJhbmRzIHRvIGJlIHVzZWQgdG8gcHJvdmlkZSBlbnRpdGllcy4gIFRoZW4gd2UgcmVtb3ZlIGFsbCB0aGUgQkJDb2RlIHJ1bGVzLAphbmQgYWRkIHJ1bGVzIHNwZWNpZmljIHRvIEhUTUwuICBBbmQgdGhhdCdzIGFsbCBpdCB0YWtlcy48L3A+Cgo8cCBzdHlsZT0ndGV4dC1hbGlnbjpyaWdodDsnPlsgUHJldmlvdXM6IDxhIGhyZWY9InVzYWdlX2ltZy5odG1sIj5ILiBTdXBwb3J0aW5nIExvY2FsIEltYWdlczwvYT4gfCBOZXh0OiA8YSBocmVmPSJ1c2FnZV9saW1pdC5odG1sIj5KLiBMaW1pdGVkLUxlbmd0aCBhbmQgUGxhaW4tT3V0cHV0IE1vZGVzPC9hPiBdPC9wPgoKPGhyIC8+Cgo8ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPkNvcHlyaWdodCAmY29weTsgMjAxMCwgdGhlIFBoYW50b20gSW5rZXIuICBBbGwgcmlnaHRzIHJlc2VydmVkLjwvZGl2PgoKPC9kaXY+PC9kaXY+PC9kaXY+Cgo8L2JvZHk+Cgo8L2h0bWw+Cg==]]></data>
	</file>
	<file>
	  <filename>/docs/doc/usage_img.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWw6bGFuZz0iZW4iIGxhbmc9ImVuIj4KCjxoZWFkPgo8dGl0bGU+U3VwcG9ydGluZyBMb2NhbCBJbWFnZXMgLSBOQkJDOiBUaGUgTmV3IEJCQ29kZSBQYXJzZXI8L3RpdGxlPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz4KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyB0eXBlPSd0ZXh0L2NzcycgaHJlZj0nc3R5bGVzLmNzcycgLz4KPC9oZWFkPgoKPGJvZHk+Cgo8ZGl2IGFsaWduPSdjZW50ZXInPjxkaXYgY2xhc3M9J3BhZ2VfY29udGFpbmVyMic+PGRpdiBjbGFzcz0ncGFnZV9jb250YWluZXInPgoKPGgyPklJSS4gVXNpbmcgTkJCQzwvaDI+Cgo8cCBzdHlsZT0ndGV4dC1hbGlnbjpyaWdodDttYXJnaW46MDsnPlsgUHJldmlvdXM6IDxhIGhyZWY9InVzYWdlX3dpa2kuaHRtbCI+Ry4gU3VwcG9ydGluZyBXaWtpLUxpbmtzPC9hPiB8IE5leHQ6IDxhIGhyZWY9InVzYWdlX2h0bWwuaHRtbCI+SS4gUGFyc2luZy9WYWxpZGF0aW5nIEhUTUwgYW5kIE90aGVyIFRyaWNrczwvYT4gXTwvcD4KCjxoMz5ILiBTdXBwb3J0aW5nIExvY2FsIEltYWdlczwvaDM+Cgo8cD5UaGUgQkJDb2RlIDx0dD5baW1nXTwvdHQ+IHRhZyBoYXMgYmVlbiB1c2VkIHNpbmNlIEJCQ29kZSdzIGluY2VwdGlvbiB0byBzdXBwb3J0Cmluc2VydGlvbiBvZiBpbWFnZXMgaW50byBhIGRvY3VtZW50LCBhbmQgTkJCQyBzdXBwb3J0cyB0aGlzIGFzIHdlbGwuICBUeXBpY2FsbHksCnRoZXNlIGltYWdlcyBhcmUgbG9jYXRlZCBvbiBhbm90aGVyIHNlcnZlciwgdGhvdWdoLCBhbmQgYSBmdWxsIFVSTCBpcyB1c2VkIHdpdGggdGhlCjx0dD5baW1nXTwvdHQ+IHRhZzogIEZvciBleGFtcGxlLCBpdCdzIG5vdCB1bnVzdWFsIHRvIHNlZSBzb21ldGhpbmcgbGlrZSB0aGlzIGluIEJCQ29kZTo8L3A+Cgo8ZGl2IGNsYXNzPSdjb2RlX2hlYWRlcic+Q29kZTo8L2Rpdj4KPHhtcCBjbGFzcz0nY29kZSc+W2ltZ11odHRwOi8vaW1nLnBob3RvYnVja2V0LmNvbS9hbGJ1bXMvdjYzL3BoYW50b20taW5rZXIvb3RoZXIvZm9ydW0tbW9kLnBuZ1svaW1nXTwveG1wPgo8ZGl2IGNsYXNzPSdvdXRwdXRfaGVhZGVyJz5PdXRwdXQ6PC9kaXY+CjxkaXYgY2xhc3M9J291dHB1dCc+PGltZyBzcmM9Imh0dHA6Ly9pbWcucGhvdG9idWNrZXQuY29tL2FsYnVtcy92NjMvcGhhbnRvbS1pbmtlci9vdGhlci9mb3J1bS1tb2QucG5nIiB3aWR0aD0nOTEnIGhlaWdodD0nMTAwJyBhbHQ9ImZvcnVtLW1vZC5wbmciIC8+PC9kaXY+Cgo8cD5NYW55IG9mIHRoZSBwaWN0dXJlcyB0aGF0IGdldCBpbmNsdWRlZCwgaG93ZXZlciwgYWxsIGNvbWUgZnJvbSB0aGUgc2FtZSB3ZWIgc2l0ZSwgYmUgaXQKYSByZW1vdGUgaW1hZ2UgaG9zdCBsaWtlIFBob3RvYnVja2V0LCBvciB0aGUgbG9jYWwgaG9zdCBvbiB3aGljaCBOQkJDIGl0c2VsZiBpcyB0byBiZSBydW5uaW5nLgpCZWNhdXNlIG9mIHRoaXMsIE5CQkMgb2ZmZXJzIGEgc3BlY2lhbCBzeW50YXggdGhhdCBtYWtlcyBpbmNsdXNpb24gb2YgaW1hZ2VzIGZyb20gdGhlIHNhbWUKbG9jYXRpb24gbXVjaCBlYXNpZXIuICBUaGlzIGNhbiBiZSB1c2VkIHRvIHNpbXBsaWZ5IFVSTHMsIG9yIGl0IGlzIG1vcmUgZnJlcXVlbnRseSB1c2VkIHRvCm9mZmVyIGEgbG9jYWwgZ3JvdXAgb2YgaW1hZ2VzIHRoYXQgeW91ciB1c2VycyBjYW4gZWFzaWx5IGxpbmsgdG8uPC9wPgoKPHA+TGV0J3MgbG9vayBhdCB0aGlzIHdpdGggYW4gZXhhbXBsZS4gIExldCdzIHNheSB0aGF0IHlvdSBoYXZlIGEgc2VydmVyIG5hbWVkCjx0dD5odHRwOi8vd3d3LmV4YW1wbGUuY29tPC90dD4sIGFuZCB5b3UgYXJlIHVzaW5nIE5CQkMgaGVyZToKPHR0Pmh0dHA6Ly93d3cuZXhhbXBsZS5jb20vZm9vL2Jhci9uYmJjLnBocDwvdHQ+LiAgWW91IGhhdmUgYWxzbyBpbnN0YWxsZWQgYSBzaW1wbGUKaW1hZ2UtZ2FsbGVyeSBwYWNrYWdlLCBzbyB0aGF0IHBlb3BsZSBjYW4gdXBsb2FkIHRoZWlyIGltYWdlcyB0byB5b3VyIHNlcnZlciwgYW5kCml0IHdpbGwgc3RvcmUgaXRzIGltYWdlcyBpbiA8dHQ+aHR0cDovL3d3dy5leGFtcGxlLmNvbS9mb28vaW1hZ2VzPC90dD4uICBOb3cgaWYgYQp1c2VyIHdhbnRzIHRvIGluY2x1ZGUgYW4gaW1hZ2UgbmFtZWQgIjx0dD5iaWxsLmpwZzwvdHQ+IiB0aGF0IGhlJ3MganVzdCB1cGxvYWRlZCwKbm9ybWFsbHksIGhlJ2QgaGF2ZSB0byB0eXBlIHRoaXM6PC9wPgoKPGRpdiBjbGFzcz0nY29kZV9oZWFkZXInPkNvZGU6PC9kaXY+Cjx4bXAgY2xhc3M9J2NvZGUnPltpbWddaHR0cDovL3d3dy5leGFtcGxlLmNvbS9mb28vaW1hZ2VzL2JpbGwuanBnWy9pbWddPC94bXA+Cgo8cD5UaGF0J3MgcHJldHR5IGV4Y2Vzc2l2ZSwgdGhvdWdoLCBlc3BlY2lhbGx5IHNpbmNlIG1vc3Qgb2YgdGhlIGltYWdlcyB0aGF0IGhlIGFuZApvdGhlciB1c2VycyBvZiB0aGlzIHNpdGUgd2lsbCBiZSBsb2NhdGVkIGluIHRoYXQgc2FtZSA8dHQ+aW1hZ2VzLzwvdHQ+IGRpcmVjdG9yeS4gIFNvCk5CQkMgcHJvdmlkZXMgaXRzIDxpPmxvY2FsIGltYWdlczwvaT4gc3lzdGVtIHRvIHNpbXBsaWZ5IGV4YWN0bHkgdGhpcyBjb21tb24gY2FzZS4KSW4geW91ciBQSFAgY29kZSwgeW91IG1pZ2h0IGZpcnN0IHdyaXRlIHRoaXM6PC9wPgoKPGRpdiBjbGFzcz0nY29kZV9oZWFkZXInPkNvZGU6PC9kaXY+Cjx4bXAgY2xhc3M9J2NvZGUnPiRiYmNvZGUgPSBuZXcgQkJDb2RlOwokYmJjb2RlLT5TZXRMb2NhbEltZ1VSTCgiaHR0cDovL3d3dy5leGFtcGxlLmNvbS9mb28vaW1hZ2VzLyIpOwokYmJjb2RlLT5TZXRMb2NhbEltZ0RpcigiL2hvbWUvZXhhbXBsZS5jb20vZm9vL2ltYWdlcy8iKTs8L3htcD4KCjxwPihOb3RlIHRoYXQgdGhlIGxvY2FsIGltYWdlIGRpcmVjdG9yeSBwYXNzZWQgdG8gPGEgaHJlZj0iYXBpX3JlcGwuaHRtbCNyZWZfcGFyc2VyX1NldExvY2FsSW1nRGlyIj48dHQ+U2V0TG9jYWxJbWdEaXIoKTwvdHQ+PC9hPgo8aT5tdXN0PC9pPiBiZSB0aGUgZnVsbCBzZXJ2ZXIgcGF0aCB0byB0aGUgbG9jYWwgaW1hZ2UgZGlyZWN0b3J5OyBhbmQgdGhlIGFkZHJlc3MgZ2l2ZW4gdG8gPGEgaHJlZj0iYXBpX3JlcGwuaHRtbCNyZWZfcGFyc2VyX1NldExvY2FsSW1nVVJMIj48dHQ+U2V0TG9jYWxJbWdVUkwoKTwvdHQ+PC9hPgpzaG91bGQgbWF0Y2ggdGhhdCBsb2NhdGlvbiwgb25seSBhcyBhIGdsb2JhbCBVUkwuKTwvcD4KCjxwPk9uY2UgeW91J3ZlIHNldCB0aGlzIHVwLCB0aGF0IHVzZXIgY2FuIG5vdyBtdWNoIG1vcmUgZWFzaWx5IGluY2x1ZGUgYW55IGZpbGUgaW4KdGhhdCBkaXJlY3Rvcnk6PC9wPgoKPGRpdiBjbGFzcz0nY29kZV9oZWFkZXInPkNvZGU6PC9kaXY+Cjx4bXAgY2xhc3M9J2NvZGUnPltpbWddYmlsbC5qcGdbL2ltZ108L3htcD4KCjxwPlNvIGFueSBwYXRoIGdpdmVuIHRvIHRoZSA8dHQ+W2ltZ108L3R0PiB0YWcgdGhhdCBkb2VzIG5vdCBpbmNsdWRlIGEgcHJvdG9jb2wgKHN1Y2ggYXMgPHR0Pmh0dHA6PC90dD4sCjx0dD5mdHA6PC90dD4sIG9yIDx0dD5odHRwczo8L3R0PiksIGFuZCB0aGF0IGRvZXMgbm90IHN0YXJ0IHdpdGggYSA8dHQ+XDwvdHQ+IG9yIGEgPHR0Pi88L3R0PiB3aWxsIGJlCnRyZWF0ZWQgYXMgYSBwYXRoIHRvIGEgPGk+bG9jYWwgaW1hZ2U8L2k+LCBhbiBpbWFnZSBzb21ld2hlcmUgdW5kZXIgdGhlIGN1cnJlbnQgbG9jYWwgaW1hZ2UgZGlyZWN0b3J5LgpOQkJDIHdpbGwgc2Vuc2libHkgb25seSBpbmNsdWRlIGltYWdlcyB0aGF0IGFyZSBhY3R1YWwgaW1hZ2VzLCBhbmQgZm9yIHNlY3VyaXR5IHJlYXNvbnMsIGl0IHdpbGwgYWxzbwpkaXNhbGxvdyB0aGUgdXNlIG9mIDx0dD4uLjwvdHQ+IGluIGEgZmlsZW5hbWUuPC9wPgoKPHAgc3R5bGU9J3RleHQtYWxpZ246cmlnaHQ7Jz5bIFByZXZpb3VzOiA8YSBocmVmPSJ1c2FnZV93aWtpLmh0bWwiPkcuIFN1cHBvcnRpbmcgV2lraS1MaW5rczwvYT4gfCBOZXh0OiA8YSBocmVmPSJ1c2FnZV9odG1sLmh0bWwiPkkuIFBhcnNpbmcvVmFsaWRhdGluZyBIVE1MIGFuZCBPdGhlciBUcmlja3M8L2E+IF08L3A+Cgo8aHIgLz4KCjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+Q29weXJpZ2h0ICZjb3B5OyAyMDEwLCB0aGUgUGhhbnRvbSBJbmtlci4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9kaXY+Cgo8L2Rpdj48L2Rpdj48L2Rpdj4KCjwvYm9keT4KCjwvaHRtbD4K]]></data>
	</file>
	<file>
	  <filename>/docs/doc/usage_limit.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWw6bGFuZz0iZW4iIGxhbmc9ImVuIj4KCjxoZWFkPgo8dGl0bGU+TGltaXRlZC1MZW5ndGggYW5kIFBsYWluLU91dHB1dCBNb2RlcyAtIE5CQkM6IFRoZSBOZXcgQkJDb2RlIFBhcnNlcjwvdGl0bGU+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgo8bGluayByZWw9J3N0eWxlc2hlZXQnIHR5cGU9J3RleHQvY3NzJyBocmVmPSdzdHlsZXMuY3NzJyAvPgo8L2hlYWQ+Cgo8Ym9keT4KCjxkaXYgYWxpZ249J2NlbnRlcic+PGRpdiBjbGFzcz0ncGFnZV9jb250YWluZXIyJz48ZGl2IGNsYXNzPSdwYWdlX2NvbnRhaW5lcic+Cgo8aDI+SUlJLiBVc2luZyBOQkJDPC9oMj4KCjxwIHN0eWxlPSd0ZXh0LWFsaWduOnJpZ2h0O21hcmdpbjowOyc+WyBQcmV2aW91czogPGEgaHJlZj0idXNhZ2VfaHRtbC5odG1sIj5JLiBQYXJzaW5nL1ZhbGlkYXRpbmcgSFRNTCBhbmQgT3RoZXIgVHJpY2tzPC9hPiB8IE5leHQ6IDxhIGhyZWY9InVzYWdlX2F1dG8uaHRtbCI+Sy4gVVJMIEF1dG9kZXRlY3Rpb248L2E+IF08L3A+Cgo8aDM+Si4gTGltaXRlZC1MZW5ndGggYW5kIFBsYWluLU91dHB1dCBNb2RlczwvaDM+Cgo8cD5PZnRlbiB3aGVuIGJ1aWxkaW5nIGFwcGxpY2F0aW9ucyB0aGF0IHVzZSBCQkNvZGUsIGl0IGNhbiBiZSB1c2VmdWwgdG8gZ2VuZXJhdGUKcGFydGlhbCBIVE1MIG91dHB1dCBvciBzaW1wbGlmaWVkIEhUTUwgb3V0cHV0IG9yIGV2ZW4gcGxhaW4tdGV4dCBvdXRwdXQgZnJvbSB0aGUKQkJDb2RlIHNvdXJjZS4gIEZvciBleGFtcGxlLCBhbiBSU1MgZmVlZCBmb3IgYSBibG9nIG1pZ2h0IHJlcXVpcmUgb25seSBzaG9ydCBleGNlcnB0cwpmcm9tIGVhY2ggYmxvZyBwb3N0aW5nLiAgU2FkbHksIHNpbXBseSBjdXR0aW5nIG9mZiB0aGUgaW5wdXQgb3Igb3V0cHV0IHdvbid0IGRvIHRoZQpqb2I6ICBIb3cgZG8geW91IGtub3cgdGhhdCB5b3UgaGF2ZW4ndCBicm9rZW4gdGhlIHRleHQgaW4gdGhlIG1pZGRsZSBvZiBhIHdvcmQsCm9yIHdvcnNlLCBpbiB0aGUgbWlkZGxlIG9mIGEgdGFnPzwvcD4KCjxwPk5CQkMgdjEuMiBhbmQgbGF0ZXIgaW5jbHVkZXMgc29tZSBzcGVjaWFsIGZ1bmN0aW9ucyB0byBoYW5kbGUgZXhhY3RseSB0aGlzCnByb2JsZW06ICBZb3UgY2FuIHRlbGwgaXQgdG8gY3V0IHNob3J0IHRoZSB0ZXh0LCBvciBwcm9kdWNlIHNpbXBsaWZpZWQgSFRNTCBvcgpwbGFpbi10ZXh0IG91dHB1dCwgYW5kIGl0IHdpbGwgYWx3YXlzIGRvIGl0IGJldHdlZW4gd29yZHMsIG5ldmVyIGJyZWFrIG9yIGRhbWFnZQphIHRhZywgYW5kIHdpbGwgYWx3YXlzIG91dHB1dCBwcm9wZXIgZW5kaW5nIEhUTUwgdGFncyBubyBtYXR0ZXIgd2hlcmUgeW91IGFzawppdCB0byBicmVhayB0aGUgaW5wdXQgdGV4dC4gIEluIHRoaXMgc2VjdGlvbiwgd2UnbGwgbG9vayBhdCBob3cgdG8gdXNlIHRoZQpmZWF0dXJlcyBOQkJDIHByb3ZpZGVzIHRvIHN1cHBvcnQgdGhlc2UgbmVlZHMsIGFuZCBob3cgdG8gY29tYmluZSB0aGVzZSBmZWF0dXJlcwp0byBwcm9kdWNlIHVzZWZ1bCwgcHJhY3RpY2FsIHJlc3VsdHMuPC9wPgoKPHA+T25lIHNpZGUgbm90ZSBiZWZvcmUgd2UgYmVnaW46ICBJbiB0aGUgPHR0PmV4YW1wbGVzLzwvdHQ+IGRpcmVjdG9yeSBpbmNsdWRlZAp3aXRoIE5CQkMsIHRoZXJlIGlzIGEgPHR0PmxpbWl0X2V4YW1wbGUucGhwPC90dD4gcHJvZ3JhbSB0aGF0IGRlbW9uc3RyYXRlcyBhbGwgb2YKdGhlc2UgdGVjaG5pcXVlcy4gIElmIHlvdSdyZSBmZWVsaW5nIGltcGF0aWVudCBhbmQgZG9uJ3Qgd2FudCB0byByZWFkIHRoaXMgYW5kCmp1c3Qgd2FudCB0byBzZWUgaG93IGEgc2ltcGxlIHdvcmtpbmcgcHJvZ3JhbSBkb2VzIGl0LCBnbyBzdHVkeSB0aGF0IG9uZS48L3A+Cgo8YSBuYW1lPSJsaW1pdCI+PC9hPgo8aDQ+TGltaXRpbmcgTGVuZ3RoczwvaDQ+Cgo8cD5MZXQncyBzYXkgdGhhdCB5b3UgaGF2ZSBhIGh1Z2UgY2h1bmsgb2YgdGV4dC4gIFJlYWxseSBodWdlLiAgTW9uc3Ryb3VzbHkgaHVnZS4KQW5kIHlvdSB3YW50IHRvIHRyaW0gaXQgZG93biB0byBhIHN2ZWx0ZSwgc2F5LCAyMDAgY2hhcmFjdGVycyBvciBsZXNzLCBzb21ldGhpbmcKdGhhdCBjYW4gYmUgcG9zdGVkIGFzIGEgb25lLW9yLXR3by1saW5lIGJsdXJiIHNvbWV3aGVyZS4gIE5CQkMgbWFrZXMgdGhpcyBlYXN5CndpdGggaXRzIDxhIGhyZWY9ImFwaV9iZWh2Lmh0bWwjcmVmX3BhcnNlcl9TZXRMaW1pdCI+U2V0TGltaXQoKTwvYT4gZnVuY3Rpb24uPC9wPgoKPHA+U2V0TGltaXQoKSB0YWtlcyBhcyBhIHBhcmFtZXRlciB0aGUgbWF4aW11bSBudW1iZXIgb2YgdGV4dCBjaGFyYWN0ZXJzIHlvdSB3YW50Ck5CQkMgdG8gb3V0cHV0LiAgVGhpcyBpcyBub3QgdGhlIHNhbWUgYXMgdGhlIG51bWJlciBvZiA8aT5jaGFyYWN0ZXJzPC9pPiB5b3Ugd2FudApOQkJDIHRvIG91dHB1dC4gIFdoYXQncyB0aGUgZGlmZmVyZW5jZT8gIDxpPlRhZ3M8L2k+LiAgSW4gTkJCQydzIHdheSBvZiB0aGlua2luZywKd2hlbiB5b3UgY3V0IG9mZiB0ZXh0LCB5b3UgZG9uJ3QgY2FyZSBhYm91dCB0aGUgSFRNTCB0YWdzLCB3aGljaCB1c3VhbGx5IGNhbid0IGJlCnNlZW4gYW55d2F5OyB5b3Ugb25seSBjYXJlIGFib3V0IHRoZSBhY3R1YWwgdGV4dCBpdHNlbGYsIHRoZSB3b3JkcyB0aGUgdXNlciBzZWVzLgpTbyB0aGUgZm9sbG93aW5nIHR3byBjb2RlIGJsb2NrcyBoYXZlIGRpZmZlcmVudCBwaHlzaWNhbCBsZW5ndGhzLCBidXQgdGhlIHNhbWUgbnVtYmVyCm9mIHRleHQgY2hhcmFjdGVycyB0aGF0IHRoZSB1c2VyIHdpbGwgc2VlOjwvcD4KCjx4bXAgY2xhc3M9J2NvZGUnPlRoZSBxdWljayBicm93biBmb3gganVtcHMgc2xpZ2h0bHkKdG8gdGhlIGxlZnQgb2YgdGhlIGxhenkgZG9nLjwveG1wPgoKPHhtcCBjbGFzcz0nY29kZSc+VGhlIHF1aWNrIDxpPmJyb3duPC9pPiBmb3gganVtcHMgc2xpZ2h0bHkKdG8gdGhlIDxiPmxlZnQ8L2I+IG9mIHRoZSA8YSBocmVmPSJodHRwOi8vd3d3Lmxhenlkb2cuY29tIj5sYXp5IGRvZzwvYT4uPC94bXA+Cgo8cD5JbiBib3RoIGNhc2VzLCB0aGUgdXNlciB3aWxsIHNlZSB0aGUgc2FtZSBzZW50ZW5jZSwgc28gTkJCQyBjb25zaWRlcnMgdGhlc2UgdG8KYmUgZXF1YWwgZnJvbSBhIHRleHQtbGVuZ3RoIHBlcnNwZWN0aXZlOiAgVGhlIGl0YWxpY3MgYW5kIGJvbGRmYWNlIGFuZCBsaW5rIGRvbid0CmZhY3RvciBpbnRvIHRoZSB0ZXh0IGxlbmd0aC48L3A+Cgo8cD5TbyBsZXQncyBsb29rIGF0IGFuIGV4YW1wbGUgcHJvZ3JhbSBub3cgYW5kIHNlZSBob3cgdGhpcyB3b3Jrcy4gIFRoaXMgZXhhbXBsZQpwcm9ncmFtIHdpbGwgcHJvZHVjZSBhIG5pY2UgbG9uZyBjb3B5IG9mIHRoZSBiZWdpbm5pbmcgcGFyYWdyYXBocyBvZiB0aGUgRGVjbGFyYXRpb24Kb2YgSW5kZXBlbmRlbmNlLCBuZWF0bHkgZm9ybWF0dGVkLCBhbmQgc2lnbmVkIGJ5IHRoZSBhdXRob3I6PC9wPgoKPGRpdiBjbGFzcz0nY29kZV9oZWFkZXInPkNvZGU6PC9kaXY+Cjx4bXAgY2xhc3M9J2NvZGUnPiRpbnB1dCA9IDw8PCBFT0kKRnJvbSBbdXJsPWh0dHA6Ly93d3cudXNoaXN0b3J5Lm9yZy9EZWNsYXJhdGlvbi9kb2N1bWVudC9pbmRleC5odG1ddXNoaXN0b3J5Lm9yZ1svdXJsXToKCltjZW50ZXJdW2JdW3NpemU9NV1JbiBDT05HUkVTUywgSnVseSA0LCAxNzc2Wy9zaXplXQpUaGUgdW5hbmltb3VzIERlY2xhcmF0aW9uIG9mIHRoZSB0aGlydGVlbiB1bml0ZWQgU3RhdGVzIG9mIEFtZXJpY2FbL2JdWy9jZW50ZXJdCgpbYl1bc2l6ZT02XVdbL3NpemVdWy9iXWhlbiBpbiB0aGUgQ291cnNlIG9mIGh1bWFuIGV2ZW50cyBpdCBiZWNvbWVzIG5lY2Vzc2FyeSBmb3Igb25lCnBlb3BsZSB0byBkaXNzb2x2ZSB0aGUgcG9saXRpY2FsIGJhbmRzIHdoaWNoIGhhdmUgY29ubmVjdGVkIHRoZW0gd2l0aCBhbm90aGVyIGFuZCB0bwphc3N1bWUgYW1vbmcgdGhlIHBvd2VycyBvZiB0aGUgZWFydGgsIHRoZSBzZXBhcmF0ZSBhbmQgZXF1YWwgc3RhdGlvbiB0byB3aGljaCB0aGUgTGF3cwpvZiBOYXR1cmUgYW5kIG9mIE5hdHVyZSdzIEdvZCBlbnRpdGxlIHRoZW0sIGEgZGVjZW50IHJlc3BlY3QgdG8gdGhlIG9waW5pb25zIG9mIG1hbmtpbmQKcmVxdWlyZXMgdGhhdCB0aGV5IHNob3VsZCBkZWNsYXJlIHRoZSBjYXVzZXMgd2hpY2ggaW1wZWwgdGhlbSB0byB0aGUgc2VwYXJhdGlvbi4KCldlIGhvbGQgdGhlc2UgdHJ1dGhzIHRvIGJlIHNlbGYtZXZpZGVudCwgdGhhdCBhbGwgbWVuIGFyZSBjcmVhdGVkIGVxdWFsLCB0aGF0IHRoZXkgYXJlCmVuZG93ZWQgYnkgdGhlaXIgQ3JlYXRvciB3aXRoIGNlcnRhaW4gdW5hbGllbmFibGUgUmlnaHRzLCB0aGF0IGFtb25nIHRoZXNlIGFyZSBMaWZlLApMaWJlcnR5IGFuZCB0aGUgcHVyc3VpdCBvZiBIYXBwaW5lc3MuIC0tIFRoYXQgdG8gc2VjdXJlIHRoZXNlIHJpZ2h0cywgR292ZXJubWVudHMgYXJlCmluc3RpdHV0ZWQgYW1vbmcgTWVuLCBkZXJpdmluZyB0aGVpciBqdXN0IHBvd2VycyBmcm9tIHRoZSBjb25zZW50IG9mIHRoZSBnb3Zlcm5lZCwgLS0KVGhhdCB3aGVuZXZlciBhbnkgRm9ybSBvZiBHb3Zlcm5tZW50IGJlY29tZXMgZGVzdHJ1Y3RpdmUgb2YgdGhlc2UgZW5kcywgaXQgaXMgdGhlIFJpZ2h0Cm9mIHRoZSBQZW9wbGUgdG8gYWx0ZXIgb3IgdG8gYWJvbGlzaCBpdCwgYW5kIHRvIGluc3RpdHV0ZSBuZXcgR292ZXJubWVudCwgbGF5aW5nIGl0cwpmb3VuZGF0aW9uIG9uIHN1Y2ggcHJpbmNpcGxlcyBhbmQgb3JnYW5pemluZyBpdHMgcG93ZXJzIGluIHN1Y2ggZm9ybSwgYXMgdG8gdGhlbSBzaGFsbApzZWVtIG1vc3QgbGlrZWx5IHRvIGVmZmVjdCB0aGVpciBTYWZldHkgYW5kIEhhcHBpbmVzcy4gUHJ1ZGVuY2UsIGluZGVlZCwgd2lsbCBkaWN0YXRlCnRoYXQgR292ZXJubWVudHMgbG9uZyBlc3RhYmxpc2hlZCBzaG91bGQgbm90IGJlIGNoYW5nZWQgZm9yIGxpZ2h0IGFuZCB0cmFuc2llbnQgY2F1c2VzOwphbmQgYWNjb3JkaW5nbHkgYWxsIGV4cGVyaWVuY2UgaGF0aCBzaGV3biB0aGF0IG1hbmtpbmQgYXJlIG1vcmUgZGlzcG9zZWQgdG8gc3VmZmVyLAp3aGlsZSBldmlscyBhcmUgc3VmZmVyYWJsZSB0aGFuIHRvIHJpZ2h0IHRoZW1zZWx2ZXMgYnkgYWJvbGlzaGluZyB0aGUgZm9ybXMgdG8gd2hpY2gKdGhleSBhcmUgYWNjdXN0b21lZC4gQnV0IHdoZW4gYSBsb25nIHRyYWluIG9mIGFidXNlcyBhbmQgdXN1cnBhdGlvbnMsIHB1cnN1aW5nCmludmFyaWFibHkgdGhlIHNhbWUgT2JqZWN0IGV2aW5jZXMgYSBkZXNpZ24gdG8gcmVkdWNlIHRoZW0gdW5kZXIgYWJzb2x1dGUgRGVzcG90aXNtLCBpdAppcyB0aGVpciByaWdodCwgaXQgaXMgdGhlaXIgZHV0eSwgdG8gdGhyb3cgb2ZmIHN1Y2ggR292ZXJubWVudCwgYW5kIHRvIHByb3ZpZGUgbmV3Ckd1YXJkcyBmb3IgdGhlaXIgZnV0dXJlIHNlY3VyaXR5LiAtLSBTdWNoIGhhcyBiZWVuIHRoZSBwYXRpZW50IHN1ZmZlcmFuY2Ugb2YgdGhlc2UKQ29sb25pZXM7IGFuZCBzdWNoIGlzIG5vdyB0aGUgbmVjZXNzaXR5IHdoaWNoIGNvbnN0cmFpbnMgdGhlbSB0byBhbHRlciB0aGVpciBmb3JtZXIKU3lzdGVtcyBvZiBHb3Zlcm5tZW50LiBUaGUgaGlzdG9yeSBvZiB0aGUgcHJlc2VudCBLaW5nIG9mIEdyZWF0IEJyaXRhaW4gaXMgYSBoaXN0b3J5Cm9mIHJlcGVhdGVkIGluanVyaWVzIGFuZCB1c3VycGF0aW9ucywgYWxsIGhhdmluZyBpbiBkaXJlY3Qgb2JqZWN0IHRoZSBlc3RhYmxpc2htZW50IG9mCmFuIGFic29sdXRlIFR5cmFubnkgb3ZlciB0aGVzZSBTdGF0ZXMuIFRvIHByb3ZlIHRoaXMsIGxldCBGYWN0cyBiZSBzdWJtaXR0ZWQgdG8gYQpjYW5kaWQgd29ybGQuCgpbcmlnaHRdW2NvbG9yPWdyZWVuXVtpXS0tLSB3cml0dGVuIGJ5IFRob21hcyBKZWZmZXJzb25bL2ldWy9jb2xvcl1bL3JpZ2h0XQpFT0k7CgokYmJjb2RlID0gbmV3IEJCQ29kZTsKJG91dHB1dCA9ICRiYmNvZGUtPlBhcnNlKCRpbnB1dCk7PC94bXA+Cgo8ZGl2IGNsYXNzPSdvdXRwdXRfaGVhZGVyJz5PdXRwdXQ6PC9kaXY+CjxkaXYgY2xhc3M9J291dHB1dCc+CjxkaXYgY2xhc3M9J2JiY29kZScgc3R5bGU9J21hcmdpbjoxZW07Jz5Gcm9tIDxhIGhyZWY9Imh0dHA6Ly93d3cudXNoaXN0b3J5Lm9yZy9EZWNsYXJhdGlvbi9kb2N1bWVudC9pbmRleC5odG0iIGNsYXNzPSJiYmNvZGVfdXJsIj51c2hpc3Rvcnkub3JnPC9hPjo8YnIgLz4KCjxkaXYgY2xhc3M9ImJiY29kZV9jZW50ZXIiIHN0eWxlPSJ0ZXh0LWFsaWduOmNlbnRlciI+CjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MS41ZW0iPkluIENPTkdSRVNTLCBKdWx5IDQsIDE3NzY8L3NwYW4+PGJyIC8+ClRoZSB1bmFuaW1vdXMgRGVjbGFyYXRpb24gb2YgdGhlIHRoaXJ0ZWVuIHVuaXRlZCBTdGF0ZXMgb2YgQW1lcmljYTwvYj4KPC9kaXY+CjxiciAvPgo8Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjIuMGVtIj5XPC9zcGFuPjwvYj5oZW4gaW4gdGhlIENvdXJzZSBvZiBodW1hbiBldmVudHMgaXQgYmVjb21lcyBuZWNlc3NhcnkgZm9yIG9uZSBwZW9wbGUgdG8gZGlzc29sdmUgdGhlIHBvbGl0aWNhbCBiYW5kcyB3aGljaCBoYXZlIGNvbm5lY3RlZCB0aGVtIHdpdGggYW5vdGhlciBhbmQgdG8gYXNzdW1lIGFtb25nIHRoZSBwb3dlcnMgb2YgdGhlIGVhcnRoLCB0aGUgc2VwYXJhdGUgYW5kIGVxdWFsIHN0YXRpb24gdG8gd2hpY2ggdGhlIExhd3Mgb2YgTmF0dXJlIGFuZCBvZiBOYXR1cmUncyBHb2QgZW50aXRsZSB0aGVtLCBhIGRlY2VudCByZXNwZWN0IHRvIHRoZSBvcGluaW9ucyBvZiBtYW5raW5kIHJlcXVpcmVzIHRoYXQgdGhleSBzaG91bGQgZGVjbGFyZSB0aGUgY2F1c2VzIHdoaWNoIGltcGVsIHRoZW0gdG8gdGhlIHNlcGFyYXRpb24uPGJyIC8+CjxiciAvPgpXZSBob2xkIHRoZXNlIHRydXRocyB0byBiZSBzZWxmLWV2aWRlbnQsIHRoYXQgYWxsIG1lbiBhcmUgY3JlYXRlZCBlcXVhbCwgdGhhdCB0aGV5IGFyZSBlbmRvd2VkIGJ5IHRoZWlyIENyZWF0b3Igd2l0aCBjZXJ0YWluIHVuYWxpZW5hYmxlIFJpZ2h0cywgdGhhdCBhbW9uZyB0aGVzZSBhcmUgTGlmZSwgTGliZXJ0eSBhbmQgdGhlIHB1cnN1aXQgb2YgSGFwcGluZXNzLiAtLSBUaGF0IHRvIHNlY3VyZSB0aGVzZSByaWdodHMsIEdvdmVybm1lbnRzIGFyZSBpbnN0aXR1dGVkIGFtb25nIE1lbiwgZGVyaXZpbmcgdGhlaXIganVzdCBwb3dlcnMgZnJvbSB0aGUgY29uc2VudCBvZiB0aGUgZ292ZXJuZWQsIC0tIFRoYXQgd2hlbmV2ZXIgYW55IEZvcm0gb2YgR292ZXJubWVudCBiZWNvbWVzIGRlc3RydWN0aXZlIG9mIHRoZXNlIGVuZHMsIGl0IGlzIHRoZSBSaWdodCBvZiB0aGUgUGVvcGxlIHRvIGFsdGVyIG9yIHRvIGFib2xpc2ggaXQsIGFuZCB0byBpbnN0aXR1dGUgbmV3IEdvdmVybm1lbnQsIGxheWluZyBpdHMgZm91bmRhdGlvbiBvbiBzdWNoIHByaW5jaXBsZXMgYW5kIG9yZ2FuaXppbmcgaXRzIHBvd2VycyBpbiBzdWNoIGZvcm0sIGFzIHRvIHRoZW0gc2hhbGwgc2VlbSBtb3N0IGxpa2VseSB0byBlZmZlY3QgdGhlaXIgU2FmZXR5IGFuZCBIYXBwaW5lc3MuIFBydWRlbmNlLCBpbmRlZWQsIHdpbGwgZGljdGF0ZSB0aGF0IEdvdmVybm1lbnRzIGxvbmcgZXN0YWJsaXNoZWQgc2hvdWxkIG5vdCBiZSBjaGFuZ2VkIGZvciBsaWdodCBhbmQgdHJhbnNpZW50IGNhdXNlczsgYW5kIGFjY29yZGluZ2x5IGFsbCBleHBlcmllbmNlIGhhdGggc2hld24gdGhhdCBtYW5raW5kIGFyZSBtb3JlIGRpc3Bvc2VkIHRvIHN1ZmZlciwgd2hpbGUgZXZpbHMgYXJlIHN1ZmZlcmFibGUgdGhhbiB0byByaWdodCB0aGVtc2VsdmVzIGJ5IGFib2xpc2hpbmcgdGhlIGZvcm1zIHRvIHdoaWNoIHRoZXkgYXJlIGFjY3VzdG9tZWQuIEJ1dCB3aGVuIGEgbG9uZyB0cmFpbiBvZiBhYnVzZXMgYW5kIHVzdXJwYXRpb25zLCBwdXJzdWluZyBpbnZhcmlhYmx5IHRoZSBzYW1lIE9iamVjdCBldmluY2VzIGEgZGVzaWduIHRvIHJlZHVjZSB0aGVtIHVuZGVyIGFic29sdXRlIERlc3BvdGlzbSwgaXQgaXMgdGhlaXIgcmlnaHQsIGl0IGlzIHRoZWlyIGR1dHksIHRvIHRocm93IG9mZiBzdWNoIEdvdmVybm1lbnQsIGFuZCB0byBwcm92aWRlIG5ldyBHdWFyZHMgZm9yIHRoZWlyIGZ1dHVyZSBzZWN1cml0eS4gLS0gU3VjaCBoYXMgYmVlbiB0aGUgcGF0aWVudCBzdWZmZXJhbmNlIG9mIHRoZXNlIENvbG9uaWVzOyBhbmQgc3VjaCBpcyBub3cgdGhlIG5lY2Vzc2l0eSB3aGljaCBjb25zdHJhaW5zIHRoZW0gdG8gYWx0ZXIgdGhlaXIgZm9ybWVyIFN5c3RlbXMgb2YgR292ZXJubWVudC4gVGhlIGhpc3Rvcnkgb2YgdGhlIHByZXNlbnQgS2luZyBvZiBHcmVhdCBCcml0YWluIGlzIGEgaGlzdG9yeSBvZiByZXBlYXRlZCBpbmp1cmllcyBhbmQgdXN1cnBhdGlvbnMsIGFsbCBoYXZpbmcgaW4gZGlyZWN0IG9iamVjdCB0aGUgZXN0YWJsaXNobWVudCBvZiBhbiBhYnNvbHV0ZSBUeXJhbm55IG92ZXIgdGhlc2UgU3RhdGVzLiBUbyBwcm92ZSB0aGlzLCBsZXQgRmFjdHMgYmUgc3VibWl0dGVkIHRvIGEgY2FuZGlkIHdvcmxkLjxiciAvPgoKPGRpdiBjbGFzcz0iYmJjb2RlX3JpZ2h0IiBzdHlsZT0idGV4dC1hbGlnbjpyaWdodCI+CjxzcGFuIHN0eWxlPSJjb2xvcjpncmVlbiI+PGk+LS0tIHdyaXR0ZW4gYnkgVGhvbWFzIEplZmZlcnNvbjwvaT48L3NwYW4+CjwvZGl2Pgo8L2Rpdj4KPC9kaXY+Cgo8cD4oVGhlICQ8dHQ+aW5wdXQ8L3R0PiBkZWNsYXJhdGlvbiB3YXMgbGluZS13cmFwcGVkIGFib3ZlIHNvIHlvdSBjb3VsZCByZWFkIGl0OyB0aGUKb3JpZ2luYWwgdGV4dCBkb2Vzbid0IGhhdmUgdGhlIGxpbmUgZW5kaW5ncywgd2hpY2ggTkJCQyB3b3VsZCBzZWUgYXMgZ29vZCBwbGFjZXMKdG8gc3RpY2sgaW4gdW5kZXNpcmFibGUgPHR0PiZsdDticiZuYnNwOy8mZ3Q7PC90dD4gdGFncy4pPC9wPgoKPHA+VmVyeSBuaWNlLCByaWdodD8gIEJ1dCBhbHNvIHZlcnkgbG9uZyAtLS0gd2F5IHRvbyBsb25nIGZvciBhIGNhc3VhbCBzdW1tYXJ5ISAgU28KbGV0J3MgY2hhbmdlIHRoZSB3YXkgd2UgcGFyc2UgdGhpcyB0ZXh0IHNvIHRoYXQgdGhlIHByb2dyYW0gb3V0cHV0cyBzb21ldGhpbmcgYQpsaXR0bGUgbW9yZSBtYW5hZ2VhYmxlIC0tLSBsZXQncyBzYXkgdGhlIGZpcnN0IDUyMCB0ZXh0IGNoYXJhY3RlcnMuICAoQW5kIHdlJ2xsIHNraXAKc2hvd2luZyB0aGUgZGVjbGFyYXRpb24gb2YgJDx0dD5pbnB1dDwvdHQ+IGFnYWluIGJlY2F1c2UgaXQncyBzbyBodWdlOyB5b3UgY2FuIGp1c3QKYXNzdW1lIGl0IGNvbWVzIGluIGZ1bGwgYmVmb3JlIHRoZSBjb2RlIHlvdSBzZWUgaGVyZS4gIEFuZCB3aHkgNTIwPyAgQmVjYXVzZSBpdCdzIGp1c3QKZW5vdWdoIGZvciB0aGUgZW50aXJlIGZpcnN0IHBhcmFncmFwaCBidXQgbm90IGVub3VnaCBmb3IgYW55IG9mIHRoZSBzZWNvbmQsIG1ha2luZwppdCBhIHBlcmZlY3QgbGVuZ3RoIGZvciBkZW1vbnN0cmF0aW9uIHB1cnBvc2VzLikgIEhlcmUncyBvdXIgbmV3IGxlbmd0aC1saW1pdGluZwpwcm9ncmFtOjwvcD4KCjxkaXYgY2xhc3M9J2NvZGVfaGVhZGVyJz5Db2RlOjwvZGl2Pgo8eG1wIGNsYXNzPSdjb2RlJz4kaW5wdXQgPSA8PDwgRU9JCgogICAgKC4uLmxvbmcgdGV4dC4uLikKCkVPSTsKCiRiYmNvZGUgPSBuZXcgQkJDb2RlOwokYmJjb2RlLT5TZXRMaW1pdCg1MjApOwokb3V0cHV0ID0gJGJiY29kZS0+UGFyc2UoJGlucHV0KTs8L3htcD4KCjxkaXYgY2xhc3M9J291dHB1dF9oZWFkZXInPk91dHB1dDo8L2Rpdj4KPGRpdiBjbGFzcz0nb3V0cHV0Jz4KPGRpdiBjbGFzcz0nYmJjb2RlJyBzdHlsZT0nbWFyZ2luOjFlbTsnPkZyb20gPGEgaHJlZj0iaHR0cDovL3d3dy51c2hpc3Rvcnkub3JnL0RlY2xhcmF0aW9uL2RvY3VtZW50L2luZGV4Lmh0bSIgY2xhc3M9ImJiY29kZV91cmwiPnVzaGlzdG9yeS5vcmc8L2E+OjxiciAvPgoKPGRpdiBjbGFzcz0iYmJjb2RlX2NlbnRlciIgc3R5bGU9InRleHQtYWxpZ246Y2VudGVyIj4KPGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxLjVlbSI+SW4gQ09OR1JFU1MsIEp1bHkgNCwgMTc3Njwvc3Bhbj48YnIgLz4KClRoZSB1bmFuaW1vdXMgRGVjbGFyYXRpb24gb2YgdGhlIHRoaXJ0ZWVuIHVuaXRlZCBTdGF0ZXMgb2YgQW1lcmljYTwvYj4KPC9kaXY+CjxiciAvPgo8Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjIuMGVtIj5XPC9zcGFuPjwvYj5oZW4gaW4gdGhlIENvdXJzZSBvZiBodW1hbiBldmVudHMgaXQgYmVjb21lcyBuZWNlc3NhcnkgZm9yIG9uZSBwZW9wbGUgdG8gZGlzc29sdmUgdGhlIHBvbGl0aWNhbCBiYW5kcyB3aGljaCBoYXZlIGNvbm5lY3RlZCB0aGVtIHdpdGggYW5vdGhlciBhbmQgdG8gYXNzdW1lIGFtb25nIHRoZSBwb3dlcnMgb2YgdGhlIGVhcnRoLCB0aGUgc2VwYXJhdGUgYW5kIGVxdWFsIHN0YXRpb24gdG8gd2hpY2ggdGhlIExhd3Mgb2YgTmF0dXJlIGFuZCBvZiBOYXR1cmUncyBHb2QgZW50aXRsZSB0aGVtLCBhIGRlY2VudCByZXNwZWN0IHRvIHRoZSBvcGluaW9ucyBvZiBtYW5raW5kIHJlcXVpcmVzIHRoYXQgdGhleSBzaG91bGQgZGVjbGFyZSB0aGUgY2F1c2VzIHdoaWNoIGltcGVsIHRoZW0gdG8gdGhlIHNlcGFyYXRpb24uLi4uPC9kaXY+CjwvZGl2PgoKPHA+VGhhdCdzIHF1aXRlIGEgYml0IHNob3J0ZXIhICBOb3RpY2UgdGhhdCBOQkJDIHNtYXJ0bHkgY3V0IHRoZSB0ZXh0IGFmdGVyIHRoZSB3b3JkIDxpPnNlcGFyYXRpb248L2k+IC0tLQpub3QgaW4gdGhlIG1pZGRsZSBvZiBhbm90aGVyIHdvcmQgLS0tIGFuZCBpdCBtYWRlIHN1cmUgdGhhdCBhbGwgdGhlIG9wZW5lZCB0YWdzIGdvdCBwcm9wZXJseSBjbG9zZWQsCmFuZCBpdCBldmVuIGhlbHBmdWxseSBhZGRlZCBhbiBlbGxpcHNpcyAoPHR0Pi4uLjwvdHQ+KSBhdCB0aGUgZW5kIHRvIHNob3cgdXMgdGhhdCBzb21lIG9mIHRoZSB0ZXh0CndhcyByZW1vdmVkLjwvcD4KCjxwPk5CQkMgaXMgc21hcnQgYWJvdXQgaXRzIGxpbWl0aW5nLCB0b286ICBJZiB0aGUgaW5wdXQgdGV4dCBpcyBvbmx5IHNsaWdodGx5IGxvbmdlciB0aGFuIHRoZSBsaW1pdCwKdGhlbiBOQkJDIHdpbGwgImxldCBpdCBzbGlkZSIgYW5kIHdvbid0IGN1dCBvZmYgdGhlIHRleHQuICBGb3IgZXhhbXBsZSwgd2UncmUgbGltaXRpbmcgaGVyZSBhdCA1MjAKY2hhcmFjdGVycywgYW5kIGlmIE5CQkMgc2F3IGlucHV0IHRoYXQgd2FzIGluIHRoZSByYW5nZSBvZiA1MjAtNjAwIGNoYXJhY3RlcnMsIGl0IHdvdWxkIGNvbnNpZGVyIHRoYXQKdG8gbm90IGJlIHdvcnRoIGN1dHRpbmcgb2ZmLjwvcD4KCjxwPllvdSBjYW4gY29udHJvbCB0aGlzICJmdXp6aW5lc3MgZmFjdG9yIiB3aXRoIHRoZQo8YSBocmVmPSJhcGlfYmVodi5odG1sI3JlZl9wYXJzZXJfU2V0TGltaXRQcmVjaXNpb24iPlNldExpbWl0UHJlY2lzaW9uKCk8L2E+IGZ1bmN0aW9uLCBhbmQgeW91IGNhbgpjb250cm9sIHdoYXQgZ2V0cyBhZGRlZCBvbiB0aGUgZW5kIChsaWtlIHRoZSBlbGxpcHNpcykgd2l0aCB0aGUKPGEgaHJlZj0iYXBpX2JlaHYuaHRtbCNyZWZfcGFyc2VyX1NldExpbWl0VGFpbCI+U2V0TGltaXRUYWlsKCk8L2E+IGZ1bmN0aW9uLiAgWW91IGNhbiBhbHNvIGRldGVybWluZQp3aGV0aGVyIHRoZSB0ZXh0IHdhcyBjdXQgb2ZmIG9yIG5vdCBpbiB0aGUgbGFzdCBwYXJzZSBqb2Igd2l0aCB0aGUKPGEgaHJlZj0iYXBpX2JlaHYuaHRtbCNyZWZfcGFyc2VyX1dhc0xpbWl0ZWQiPldhc0xpbWl0ZWQoKTwvYT4gZnVuY3Rpb24uPC9wPgoKPGEgbmFtZT0icGxhaW4iPjwvYT4KPGg0PlBsYWluIEhUTUwgT3V0cHV0PC9oND4KCjxwPlNvbWV0aW1lcywganVzdCBzaG9ydGVuaW5nIHRoZSB0ZXh0IGlzbid0IGdvb2QgZW5vdWdoOyBzb21ldGltZXMgeW91IG5lZWQgYW4gZXhjZXJwdCB0aGF0CnN0aWxsIGxvb2tzIHNpbWlsYXIgdG8gdGhlIG9yaWdpbmFsIGJ1dCB0aGF0IHdvbid0IGFmZmVjdCB0aGUgZm9ybWF0dGluZyBhbmQgbGF5b3V0IG9mIHRoZQpwYWdlIGl0J3MgaW5zZXJ0ZWQgaW50by4gIE5CQkMgdW5kZXJzdGFuZHMgdGhhdCwgYW5kIGluIHYxLjIsIGl0IG9mZmVycyBhIDxpPlBsYWluIEhUTUw8L2k+Cm1vZGUgdG8gc3VwcG9ydCB0aGF0IG5lZWQuICBJbiBwbGFpbiBIVE1MIG1vZGUsIE5CQkMgd2lsbCA8aT5vbmx5PC9pPiBvdXRwdXQgZm91ciBvZiB0aGUKc2ltcGxlc3Qgb2Ygc2ltcGxlIEhUTUwgdGFnczogIDx0dD4mbHQ7YiZndDs8L3R0PiwgPHR0PiZsdDtpJmd0OzwvdHQ+LCA8dHQ+Jmx0O3UmZ3Q7PC90dD4sIGFuZCA8dHQ+Jmx0O2EmZ3Q7PC90dD4uCkluIHBsYWluIEhUTUwgbW9kZSwgYWxsIG90aGVyIHRhZ3Mgd2lsbCBiZSBvbWl0dGVkIG9yIGNvbnZlcnRlZCB0byBvbmUgb2YgdGhvc2UgZm91ci48L3A+Cgo8cD4oTm90ZTogIEluIHBsYWluIEhUTUwgbW9kZSwgTkJCQwp3aWxsIG5vdCBvdXRwdXQgPHR0PiZsdDtkaXYmZ3Q7PC90dD4gb3IgPHR0PiZsdDticiZuYnNwOy8mZ3Q7PC90dD4gdGFncyBlaXRoZXIsIHNvIGlmIHlvdSB3YW50CnRoZSB0ZXh0IHRvIGV2ZW4gc3BhbiBtdWx0aXBsZSBsaW5lcywgeW91J2xsIGhhdmUgdG8gdXNlIDxhIGhyZWY9ImFwaV9taXNjLmh0bWwjcmVmX3BhcnNlcl9ubDJiciI+bmwyYnIoKTwvYT4KdG8gY29udmVydCBpdHMgbmV3bGluZXMgdG8gPHR0PiZsdDticiZuYnNwOy8mZ3Q7PC90dD4gdGFnczsgb3RoZXJ3aXNlLCB5b3UnbGwganVzdCBnZXQgb25lCmxvbmcgcGFyYWdyYXBoIG9mIEhUTUwgb3V0cHV0Lik8L3A+Cgo8cD5MZXQncyBsb29rIGF0IGhvdyBvdXIgZXhhbXBsZSBwYXJhZ3JhcGggbG9va3MgaW4gcGxhaW4tSFRNTCBtb2RlLiAgV2UnbGwgYWRkIGEgbGluZSB0bwpjb252ZXJ0IG5ld2xpbmVzIHRvIDx0dD4mbHQ7YnImbmJzcDsvJmd0OzwvdHQ+IHRhZ3Mgc28gdGhhdCBpdCBsb29rcyB2YWd1ZWx5IHNpbWlsYXIgdG8gdGhlCm9yaWdpbmFsOjwvcD4KCjxkaXYgY2xhc3M9J2NvZGVfaGVhZGVyJz5Db2RlOjwvZGl2Pgo8eG1wIGNsYXNzPSdjb2RlJz4kaW5wdXQgPSA8PDwgRU9JCgogICAgKC4uLmxvbmcgdGV4dC4uLikKCkVPSTsKCiRiYmNvZGUgPSBuZXcgQkJDb2RlOwokYmJjb2RlLT5TZXRQbGFpbk1vZGUodHJ1ZSk7CiRvdXRwdXQgPSAkYmJjb2RlLT5QYXJzZSgkaW5wdXQpOwokb3V0cHV0ID0gJGJiY29kZS0+bmwyYnIoJG91dHB1dCk7PC94bXA+Cgo8ZGl2IGNsYXNzPSdvdXRwdXRfaGVhZGVyJz5PdXRwdXQ6PC9kaXY+CjxkaXYgY2xhc3M9J291dHB1dCc+CkZyb20gPGEgaHJlZj0iaHR0cDovL3d3dy51c2hpc3Rvcnkub3JnL0RlY2xhcmF0aW9uL2RvY3VtZW50L2luZGV4Lmh0bSI+dXNoaXN0b3J5Lm9yZzwvYT46PGJyIC8+CjxiciAvPgo8Yj5JbiBDT05HUkVTUywgSnVseSA0LCAxNzc2PGJyIC8+ClRoZSB1bmFuaW1vdXMgRGVjbGFyYXRpb24gb2YgdGhlIHRoaXJ0ZWVuIHVuaXRlZCBTdGF0ZXMgb2YgQW1lcmljYTwvYj48YnIgLz4KPGJyIC8+CjxiPlc8L2I+aGVuIGluIHRoZSBDb3Vyc2Ugb2YgaHVtYW4gZXZlbnRzIGl0IGJlY29tZXMgbmVjZXNzYXJ5IGZvciBvbmUgcGVvcGxlIHRvIGRpc3NvbHZlIHRoZSBwb2xpdGljYWwgYmFuZHMgd2hpY2ggaGF2ZSBjb25uZWN0ZWQgdGhlbSB3aXRoIGFub3RoZXIgYW5kIHRvIGFzc3VtZSBhbW9uZyB0aGUgcG93ZXJzIG9mIHRoZSBlYXJ0aCwgdGhlIHNlcGFyYXRlIGFuZCBlcXVhbCBzdGF0aW9uIHRvIHdoaWNoIHRoZSBMYXdzIG9mIE5hdHVyZSBhbmQgb2YgTmF0dXJlJ3MgR29kIGVudGl0bGUgdGhlbSwgYSBkZWNlbnQgcmVzcGVjdCB0byB0aGUgb3BpbmlvbnMgb2YgbWFua2luZCByZXF1aXJlcyB0aGF0IHRoZXkgc2hvdWxkIGRlY2xhcmUgdGhlIGNhdXNlcyB3aGljaCBpbXBlbCB0aGVtIHRvIHRoZSBzZXBhcmF0aW9uLjxiciAvPgo8YnIgLz4KV2UgaG9sZCB0aGVzZSB0cnV0aHMgdG8gYmUgc2VsZi1ldmlkZW50LCB0aGF0IGFsbCBtZW4gYXJlIGNyZWF0ZWQgZXF1YWwsIHRoYXQgdGhleSBhcmUgZW5kb3dlZCBieSB0aGVpciBDcmVhdG9yIHdpdGggY2VydGFpbiB1bmFsaWVuYWJsZSBSaWdodHMsIHRoYXQgYW1vbmcgdGhlc2UgYXJlIExpZmUsIExpYmVydHkgYW5kIHRoZSBwdXJzdWl0IG9mIEhhcHBpbmVzcy4gLS0gVGhhdCB0byBzZWN1cmUgdGhlc2UgcmlnaHRzLCBHb3Zlcm5tZW50cyBhcmUgaW5zdGl0dXRlZCBhbW9uZyBNZW4sIGRlcml2aW5nIHRoZWlyIGp1c3QgcG93ZXJzIGZyb20gdGhlIGNvbnNlbnQgb2YgdGhlIGdvdmVybmVkLCAtLSBUaGF0IHdoZW5ldmVyIGFueSBGb3JtIG9mIEdvdmVybm1lbnQgYmVjb21lcyBkZXN0cnVjdGl2ZSBvZiB0aGVzZSBlbmRzLCBpdCBpcyB0aGUgUmlnaHQgb2YgdGhlIFBlb3BsZSB0byBhbHRlciBvciB0byBhYm9saXNoIGl0LCBhbmQgdG8gaW5zdGl0dXRlIG5ldyBHb3Zlcm5tZW50LCBsYXlpbmcgaXRzIGZvdW5kYXRpb24gb24gc3VjaCBwcmluY2lwbGVzIGFuZCBvcmdhbml6aW5nIGl0cyBwb3dlcnMgaW4gc3VjaCBmb3JtLCBhcyB0byB0aGVtIHNoYWxsIHNlZW0gbW9zdCBsaWtlbHkgdG8gZWZmZWN0IHRoZWlyIFNhZmV0eSBhbmQgSGFwcGluZXNzLiBQcnVkZW5jZSwgaW5kZWVkLCB3aWxsIGRpY3RhdGUgdGhhdCBHb3Zlcm5tZW50cyBsb25nIGVzdGFibGlzaGVkIHNob3VsZCBub3QgYmUgY2hhbmdlZCBmb3IgbGlnaHQgYW5kIHRyYW5zaWVudCBjYXVzZXM7IGFuZCBhY2NvcmRpbmdseSBhbGwgZXhwZXJpZW5jZSBoYXRoIHNoZXduIHRoYXQgbWFua2luZCBhcmUgbW9yZSBkaXNwb3NlZCB0byBzdWZmZXIsIHdoaWxlIGV2aWxzIGFyZSBzdWZmZXJhYmxlIHRoYW4gdG8gcmlnaHQgdGhlbXNlbHZlcyBieSBhYm9saXNoaW5nIHRoZSBmb3JtcyB0byB3aGljaCB0aGV5IGFyZSBhY2N1c3RvbWVkLiBCdXQgd2hlbiBhIGxvbmcgdHJhaW4gb2YgYWJ1c2VzIGFuZCB1c3VycGF0aW9ucywgcHVyc3VpbmcgaW52YXJpYWJseSB0aGUgc2FtZSBPYmplY3QgZXZpbmNlcyBhIGRlc2lnbiB0byByZWR1Y2UgdGhlbSB1bmRlciBhYnNvbHV0ZSBEZXNwb3Rpc20sIGl0IGlzIHRoZWlyIHJpZ2h0LCBpdCBpcyB0aGVpciBkdXR5LCB0byB0aHJvdyBvZmYgc3VjaCBHb3Zlcm5tZW50LCBhbmQgdG8gcHJvdmlkZSBuZXcgR3VhcmRzIGZvciB0aGVpciBmdXR1cmUgc2VjdXJpdHkuIC0tIFN1Y2ggaGFzIGJlZW4gdGhlIHBhdGllbnQgc3VmZmVyYW5jZSBvZiB0aGVzZSBDb2xvbmllczsgYW5kIHN1Y2ggaXMgbm93IHRoZSBuZWNlc3NpdHkgd2hpY2ggY29uc3RyYWlucyB0aGVtIHRvIGFsdGVyIHRoZWlyIGZvcm1lciBTeXN0ZW1zIG9mIEdvdmVybm1lbnQuIFRoZSBoaXN0b3J5IG9mIHRoZSBwcmVzZW50IEtpbmcgb2YgR3JlYXQgQnJpdGFpbiBpcyBhIGhpc3Rvcnkgb2YgcmVwZWF0ZWQgaW5qdXJpZXMgYW5kIHVzdXJwYXRpb25zLCBhbGwgaGF2aW5nIGluIGRpcmVjdCBvYmplY3QgdGhlIGVzdGFibGlzaG1lbnQgb2YgYW4gYWJzb2x1dGUgVHlyYW5ueSBvdmVyIHRoZXNlIFN0YXRlcy4gVG8gcHJvdmUgdGhpcywgbGV0IEZhY3RzIGJlIHN1Ym1pdHRlZCB0byBhIGNhbmRpZCB3b3JsZC48YnIgLz4KPGJyIC8+Cgo8aT4tLS0gd3JpdHRlbiBieSBUaG9tYXMgSmVmZmVyc29uPC9pPgo8L2Rpdj4KCjxhIG5hbWU9InRleHQiPjwvYT4KPGg0PlBsYWluIFRleHQgT3V0cHV0PC9oND4KCjxwPkJ1dCB3aGF0IGlmIHlvdSBuZWVkIG1vcmU/ICBGb3IgZXhhbXBsZSwgaW4gUlNTIGZlZWRzLCB5b3UncmUgbm90IHN1cHBvc2VkIHRvIGluY2x1ZGUgPGk+YW55PC9pPiBIVE1MCnRhZ3MgKGFsdGhvdWdoIG1hbnkgZmVlZHMgZG8sIGFuZCBpZiB5b3UgZG9uJ3QgY2FyZSBpZiB5b3VyIGRvLCB0aGVuIHBsYWluLUhUTUwgbW9kZSBtaWdodCB3b3JrIGZvciB5b3UpOwpvciBtYXliZSB5b3UncmUgdHJ5aW5nIHRvIGdlbmVyYXRlIHBsYWluIHRleHQgZm9yIGFuIGUtbWFpbCBvciBhIHRleHQtbW9kZSBkaXNwbGF5LgpOQkJDJ3MgcGxhaW4tSFRNTCBtb2RlIGNhbiBiZSBzaW1wbGlmaWVkIGV2ZW4gZnVydGhlcjogIFNpbmNlIGl0IG9ubHkgZXZlciBvdXRwdXRzIGZvdXIgd2VsbC1rbm93biBjbGFzc2ljIEhUTUwKdGFncywgdGhleSBjYW4gcmVhZGlseSBhbmQgZWFzaWx5IGJlIHN0cmlwcGVkIHRvIHByb2R1Y2UgcGxhaW4tdGV4dCBvdXRwdXQuICBCZWxvdyBhcmUgdHdvIHBvc3NpYmxlIHdheXMKdG8gc2ltcGxpZnkgeW91ciBvdXRwdXQgZXZlbiBmdXJ0aGVyLjwvcD4KCjxwPkluIHRoaXMgZXhhbXBsZSwgd2UganVzdCBzdHJpcCB0aGUgdGFncyBhbmQgY29udmVydCBlbnRpdGllcyBsaWtlIDx0dD4mYW1wO2x0OzwvdHQ+IHRvIGFjdHVhbApjaGFyYWN0ZXJzIGxpa2UgPHR0PiZsdDs8L3R0PiwgeWllbGRpbmcgc2ltcGxlIHByZS1mb3JtYXR0ZWQgdGV4dDo8L3A+Cgo8ZGl2IGNsYXNzPSdjb2RlX2hlYWRlcic+Q29kZTo8L2Rpdj4KPHhtcCBjbGFzcz0nY29kZSc+JGlucHV0ID0gPDw8IEVPSQoKICAgICguLi5sb25nIHRleHQuLi4pCgpFT0k7CgokYmJjb2RlID0gbmV3IEJCQ29kZTsKJGJiY29kZS0+U2V0UGxhaW5Nb2RlKHRydWUpOwokb3V0cHV0ID0gJGJiY29kZS0+UGFyc2UoJGlucHV0KTsKJG91dHB1dCA9ICRiYmNvZGUtPlVuSFRNTEVuY29kZShzdHJpcF90YWdzKCRvdXRwdXQpKTs8L3htcD4KCjxkaXYgY2xhc3M9J291dHB1dF9oZWFkZXInPk91dHB1dDo8L2Rpdj4KPGRpdiBjbGFzcz0nb3V0cHV0JyBzdHlsZT0nd2hpdGUtc3BhY2U6cHJlLXdyYXA7Jz5Gcm9tIHVzaGlzdG9yeS5vcmc6CgpJbiBDT05HUkVTUywgSnVseSA0LCAxNzc2ClRoZSB1bmFuaW1vdXMgRGVjbGFyYXRpb24gb2YgdGhlIHRoaXJ0ZWVuIHVuaXRlZCBTdGF0ZXMgb2YgQW1lcmljYQoKV2hlbiBpbiB0aGUgQ291cnNlIG9mIGh1bWFuIGV2ZW50cyBpdCBiZWNvbWVzIG5lY2Vzc2FyeSBmb3Igb25lIHBlb3BsZSB0byBkaXNzb2x2ZSB0aGUgcG9saXRpY2FsIGJhbmRzIHdoaWNoIGhhdmUgY29ubmVjdGVkIHRoZW0gd2l0aCBhbm90aGVyIGFuZCB0byBhc3N1bWUgYW1vbmcgdGhlIHBvd2VycyBvZiB0aGUgZWFydGgsIHRoZSBzZXBhcmF0ZSBhbmQgZXF1YWwgc3RhdGlvbiB0byB3aGljaCB0aGUgTGF3cyBvZiBOYXR1cmUgYW5kIG9mIE5hdHVyZSdzIEdvZCBlbnRpdGxlIHRoZW0sIGEgZGVjZW50IHJlc3BlY3QgdG8gdGhlIG9waW5pb25zIG9mIG1hbmtpbmQgcmVxdWlyZXMgdGhhdCB0aGV5IHNob3VsZCBkZWNsYXJlIHRoZSBjYXVzZXMgd2hpY2ggaW1wZWwgdGhlbSB0byB0aGUgc2VwYXJhdGlvbi4KCldlIGhvbGQgdGhlc2UgdHJ1dGhzIHRvIGJlIHNlbGYtZXZpZGVudCwgdGhhdCBhbGwgbWVuIGFyZSBjcmVhdGVkIGVxdWFsLCB0aGF0IHRoZXkgYXJlIGVuZG93ZWQgYnkgdGhlaXIgQ3JlYXRvciB3aXRoIGNlcnRhaW4gdW5hbGllbmFibGUgUmlnaHRzLCB0aGF0IGFtb25nIHRoZXNlIGFyZSBMaWZlLCBMaWJlcnR5IGFuZCB0aGUgcHVyc3VpdCBvZiBIYXBwaW5lc3MuIC0tIFRoYXQgdG8gc2VjdXJlIHRoZXNlIHJpZ2h0cywgR292ZXJubWVudHMgYXJlIGluc3RpdHV0ZWQgYW1vbmcgTWVuLCBkZXJpdmluZyB0aGVpciBqdXN0IHBvd2VycyBmcm9tIHRoZSBjb25zZW50IG9mIHRoZSBnb3Zlcm5lZCwgLS0gVGhhdCB3aGVuZXZlciBhbnkgRm9ybSBvZiBHb3Zlcm5tZW50IGJlY29tZXMgZGVzdHJ1Y3RpdmUgb2YgdGhlc2UgZW5kcywgaXQgaXMgdGhlIFJpZ2h0IG9mIHRoZSBQZW9wbGUgdG8gYWx0ZXIgb3IgdG8gYWJvbGlzaCBpdCwgYW5kIHRvIGluc3RpdHV0ZSBuZXcgR292ZXJubWVudCwgbGF5aW5nIGl0cyBmb3VuZGF0aW9uIG9uIHN1Y2ggcHJpbmNpcGxlcyBhbmQgb3JnYW5pemluZyBpdHMgcG93ZXJzIGluIHN1Y2ggZm9ybSwgYXMgdG8gdGhlbSBzaGFsbCBzZWVtIG1vc3QgbGlrZWx5IHRvIGVmZmVjdCB0aGVpciBTYWZldHkgYW5kIEhhcHBpbmVzcy4gUHJ1ZGVuY2UsIGluZGVlZCwgd2lsbCBkaWN0YXRlIHRoYXQgR292ZXJubWVudHMgbG9uZyBlc3RhYmxpc2hlZCBzaG91bGQgbm90IGJlIGNoYW5nZWQgZm9yIGxpZ2h0IGFuZCB0cmFuc2llbnQgY2F1c2VzOyBhbmQgYWNjb3JkaW5nbHkgYWxsIGV4cGVyaWVuY2UgaGF0aCBzaGV3biB0aGF0IG1hbmtpbmQgYXJlIG1vcmUgZGlzcG9zZWQgdG8gc3VmZmVyLCB3aGlsZSBldmlscyBhcmUgc3VmZmVyYWJsZSB0aGFuIHRvIHJpZ2h0IHRoZW1zZWx2ZXMgYnkgYWJvbGlzaGluZyB0aGUgZm9ybXMgdG8gd2hpY2ggdGhleSBhcmUgYWNjdXN0b21lZC4gQnV0IHdoZW4gYSBsb25nIHRyYWluIG9mIGFidXNlcyBhbmQgdXN1cnBhdGlvbnMsIHB1cnN1aW5nIGludmFyaWFibHkgdGhlIHNhbWUgT2JqZWN0IGV2aW5jZXMgYSBkZXNpZ24gdG8gcmVkdWNlIHRoZW0gdW5kZXIgYWJzb2x1dGUgRGVzcG90aXNtLCBpdCBpcyB0aGVpciByaWdodCwgaXQgaXMgdGhlaXIgZHV0eSwgdG8gdGhyb3cgb2ZmIHN1Y2ggR292ZXJubWVudCwgYW5kIHRvIHByb3ZpZGUgbmV3IEd1YXJkcyBmb3IgdGhlaXIgZnV0dXJlIHNlY3VyaXR5LiAtLSBTdWNoIGhhcyBiZWVuIHRoZSBwYXRpZW50IHN1ZmZlcmFuY2Ugb2YgdGhlc2UgQ29sb25pZXM7IGFuZCBzdWNoIGlzIG5vdyB0aGUgbmVjZXNzaXR5IHdoaWNoIGNvbnN0cmFpbnMgdGhlbSB0byBhbHRlciB0aGVpciBmb3JtZXIgU3lzdGVtcyBvZiBHb3Zlcm5tZW50LiBUaGUgaGlzdG9yeSBvZiB0aGUgcHJlc2VudCBLaW5nIG9mIEdyZWF0IEJyaXRhaW4gaXMgYSBoaXN0b3J5IG9mIHJlcGVhdGVkIGluanVyaWVzIGFuZCB1c3VycGF0aW9ucywgYWxsIGhhdmluZyBpbiBkaXJlY3Qgb2JqZWN0IHRoZSBlc3RhYmxpc2htZW50IG9mIGFuIGFic29sdXRlIFR5cmFubnkgb3ZlciB0aGVzZSBTdGF0ZXMuIFRvIHByb3ZlIHRoaXMsIGxldCBGYWN0cyBiZSBzdWJtaXR0ZWQgdG8gYSBjYW5kaWQgd29ybGQuCgotLS0gd3JpdHRlbiBieSBUaG9tYXMgSmVmZmVyc29uPC9kaXY+Cgo8cD5JbiB0aGlzIGV4YW1wbGUsIHdlIG5vdCBvbmx5IHN0cmlwIHRoZSB0YWdzIGFuZCB1bi1jb252ZXJ0IGVudGl0aWVzLCBidXQgd2UgYWxzbyBwZXJmb3JtIHdvcmQtd3JhcApzbyB0aGF0IHRoZSByZXN1bHQgbG9va3MgYWNjZXB0YWJsZSBvbiBhbiA4MC1jb2x1bW4gZGlzcGxheTo8L3A+Cgo8ZGl2IGNsYXNzPSdjb2RlX2hlYWRlcic+Q29kZTo8L2Rpdj4KPHhtcCBjbGFzcz0nY29kZSc+JGlucHV0ID0gPDw8IEVPSQoKICAgICguLi5sb25nIHRleHQuLi4pCgpFT0k7CgokYmJjb2RlID0gbmV3IEJCQ29kZTsKJGJiY29kZS0+U2V0UGxhaW5Nb2RlKHRydWUpOwokb3V0cHV0ID0gJGJiY29kZS0+UGFyc2UoJGlucHV0KTsKJG91dHB1dCA9IHdvcmR3cmFwKCRiYmNvZGUtPlVuSFRNTEVuY29kZShzdHJpcF90YWdzKCRvdXRwdXQpKSk7PC94bXA+Cgo8ZGl2IGNsYXNzPSdvdXRwdXRfaGVhZGVyJz5PdXRwdXQ6PC9kaXY+CjxkaXYgY2xhc3M9J291dHB1dCcgc3R5bGU9J3doaXRlLXNwYWNlOnByZTtmb250OjlwdCBDb3VyaWVyLG1vbm8sbW9ub3NwYWNlOyc+RnJvbSB1c2hpc3Rvcnkub3JnOgoKSW4gQ09OR1JFU1MsIEp1bHkgNCwgMTc3NgpUaGUgdW5hbmltb3VzIERlY2xhcmF0aW9uIG9mIHRoZSB0aGlydGVlbiB1bml0ZWQgU3RhdGVzIG9mIEFtZXJpY2EKCldoZW4gaW4gdGhlIENvdXJzZSBvZiBodW1hbiBldmVudHMgaXQgYmVjb21lcyBuZWNlc3NhcnkgZm9yIG9uZSBwZW9wbGUgdG8KZGlzc29sdmUgdGhlIHBvbGl0aWNhbCBiYW5kcyB3aGljaCBoYXZlIGNvbm5lY3RlZCB0aGVtIHdpdGggYW5vdGhlciBhbmQgdG8KYXNzdW1lIGFtb25nIHRoZSBwb3dlcnMgb2YgdGhlIGVhcnRoLCB0aGUgc2VwYXJhdGUgYW5kIGVxdWFsIHN0YXRpb24gdG8Kd2hpY2ggdGhlIExhd3Mgb2YgTmF0dXJlIGFuZCBvZiBOYXR1cmUncyBHb2QgZW50aXRsZSB0aGVtLCBhIGRlY2VudCByZXNwZWN0CnRvIHRoZSBvcGluaW9ucyBvZiBtYW5raW5kIHJlcXVpcmVzIHRoYXQgdGhleSBzaG91bGQgZGVjbGFyZSB0aGUgY2F1c2VzCndoaWNoIGltcGVsIHRoZW0gdG8gdGhlIHNlcGFyYXRpb24uCgpXZSBob2xkIHRoZXNlIHRydXRocyB0byBiZSBzZWxmLWV2aWRlbnQsIHRoYXQgYWxsIG1lbiBhcmUgY3JlYXRlZCBlcXVhbCwKdGhhdCB0aGV5IGFyZSBlbmRvd2VkIGJ5IHRoZWlyIENyZWF0b3Igd2l0aCBjZXJ0YWluIHVuYWxpZW5hYmxlIFJpZ2h0cywKdGhhdCBhbW9uZyB0aGVzZSBhcmUgTGlmZSwgTGliZXJ0eSBhbmQgdGhlIHB1cnN1aXQgb2YgSGFwcGluZXNzLiAtLSBUaGF0IHRvCnNlY3VyZSB0aGVzZSByaWdodHMsIEdvdmVybm1lbnRzIGFyZSBpbnN0aXR1dGVkIGFtb25nIE1lbiwgZGVyaXZpbmcgdGhlaXIKanVzdCBwb3dlcnMgZnJvbSB0aGUgY29uc2VudCBvZiB0aGUgZ292ZXJuZWQsIC0tIFRoYXQgd2hlbmV2ZXIgYW55IEZvcm0gb2YKR292ZXJubWVudCBiZWNvbWVzIGRlc3RydWN0aXZlIG9mIHRoZXNlIGVuZHMsIGl0IGlzIHRoZSBSaWdodCBvZiB0aGUgUGVvcGxlCnRvIGFsdGVyIG9yIHRvIGFib2xpc2ggaXQsIGFuZCB0byBpbnN0aXR1dGUgbmV3IEdvdmVybm1lbnQsIGxheWluZyBpdHMKZm91bmRhdGlvbiBvbiBzdWNoIHByaW5jaXBsZXMgYW5kIG9yZ2FuaXppbmcgaXRzIHBvd2VycyBpbiBzdWNoIGZvcm0sIGFzIHRvCnRoZW0gc2hhbGwgc2VlbSBtb3N0IGxpa2VseSB0byBlZmZlY3QgdGhlaXIgU2FmZXR5IGFuZCBIYXBwaW5lc3MuIFBydWRlbmNlLAppbmRlZWQsIHdpbGwgZGljdGF0ZSB0aGF0IEdvdmVybm1lbnRzIGxvbmcgZXN0YWJsaXNoZWQgc2hvdWxkIG5vdCBiZQpjaGFuZ2VkIGZvciBsaWdodCBhbmQgdHJhbnNpZW50IGNhdXNlczsgYW5kIGFjY29yZGluZ2x5IGFsbCBleHBlcmllbmNlIGhhdGgKc2hld24gdGhhdCBtYW5raW5kIGFyZSBtb3JlIGRpc3Bvc2VkIHRvIHN1ZmZlciwgd2hpbGUgZXZpbHMgYXJlIHN1ZmZlcmFibGUKdGhhbiB0byByaWdodCB0aGVtc2VsdmVzIGJ5IGFib2xpc2hpbmcgdGhlIGZvcm1zIHRvIHdoaWNoIHRoZXkgYXJlCmFjY3VzdG9tZWQuIEJ1dCB3aGVuIGEgbG9uZyB0cmFpbiBvZiBhYnVzZXMgYW5kIHVzdXJwYXRpb25zLCBwdXJzdWluZwppbnZhcmlhYmx5IHRoZSBzYW1lIE9iamVjdCBldmluY2VzIGEgZGVzaWduIHRvIHJlZHVjZSB0aGVtIHVuZGVyIGFic29sdXRlCkRlc3BvdGlzbSwgaXQgaXMgdGhlaXIgcmlnaHQsIGl0IGlzIHRoZWlyIGR1dHksIHRvIHRocm93IG9mZiBzdWNoCkdvdmVybm1lbnQsIGFuZCB0byBwcm92aWRlIG5ldyBHdWFyZHMgZm9yIHRoZWlyIGZ1dHVyZSBzZWN1cml0eS4gLS0gU3VjaApoYXMgYmVlbiB0aGUgcGF0aWVudCBzdWZmZXJhbmNlIG9mIHRoZXNlIENvbG9uaWVzOyBhbmQgc3VjaCBpcyBub3cgdGhlCm5lY2Vzc2l0eSB3aGljaCBjb25zdHJhaW5zIHRoZW0gdG8gYWx0ZXIgdGhlaXIgZm9ybWVyIFN5c3RlbXMgb2YKR292ZXJubWVudC4gVGhlIGhpc3Rvcnkgb2YgdGhlIHByZXNlbnQgS2luZyBvZiBHcmVhdCBCcml0YWluIGlzIGEgaGlzdG9yeQpvZiByZXBlYXRlZCBpbmp1cmllcyBhbmQgdXN1cnBhdGlvbnMsIGFsbCBoYXZpbmcgaW4gZGlyZWN0IG9iamVjdCB0aGUKZXN0YWJsaXNobWVudCBvZiBhbiBhYnNvbHV0ZSBUeXJhbm55IG92ZXIgdGhlc2UgU3RhdGVzLiBUbyBwcm92ZSB0aGlzLCBsZXQKRmFjdHMgYmUgc3VibWl0dGVkIHRvIGEgY2FuZGlkIHdvcmxkLgoKLS0tIHdyaXR0ZW4gYnkgVGhvbWFzIEplZmZlcnNvbjwvZGl2PgoKPHA+QWxsIG9mIHRoZXNlIGRpZmZlcmVudCBvdXRwdXQgZm9ybXMgY2FuIGJlIGdlbmVyYXRlZCBmcm9tIHRoZSBzYW1lIGlucHV0IHNvdXJjZS4gIEl0J3MgdXAgdG8geW91CnRvIGRlY2lkZSB3aGF0IHlvdSBuZWVkLCBidXQgd2hhdGV2ZXIgeW91IG5lZWQsIE5CQkMgY2FuIHByb2JhYmx5IGRvIGl0LjwvcD4KCjxhIG5hbWU9InJzcyI+PC9hPgo8aDQ+UHV0dGluZyBJdCBBbGwgVG9nZXRoZXI8L2g0PgoKPHA+T2theSwgc28gbGV0J3Mgc2F5IHlvdSBuZWVkIHRvIGdlbmVyYXRlIGFuIFJTUyBmZWVkIGZyb20geW91ciBCQkNvZGUtYmFzZWQgYmxvZy4KKFdlJ2xsIGdlbmVyYXRlIGFuIFJTUyAyLjAgZmVlZCwgYW5kIGxlYXZlIGl0IHVwIHRvIHlvdSB0byB3b3JrIG91dCBob3cgdG8gZ2VuZXJhdGUKUlNTIDAuOSBhbmQgUlNTIDEuMCBhbmQgQXRvbSBmZWVkcy4pICBXZSdsbCBzYXkgeW91ciBzb3VyY2UgZGF0YSBzdGFydHMgb3V0IGFzIGFuCmFycmF5IG9mIGJsb2cgcG9zdGluZ3MsIHByb2JhYmx5IGluaGFsZWQgZnJvbSBhIGRhdGFiYXNlLCBsaWtlIHRoaXM6PC9wPgoKPGRpdiBjbGFzcz0nY29kZV9oZWFkZXInPkNvZGU6PC9kaXY+Cjx4bXAgY2xhc3M9J2NvZGUnPiRwb3N0aW5ncyA9IEFycmF5KAoKICAgICAgICAuLi5vbGRlciBwb3N0aW5ncy4uLgoKICAgIDM3MiA9PiBBcnJheSgKICAgICAgICAnaWQnID0+IDM3MiwKICAgICAgICAndGl0bGUnID0+ICJJIFNhdyBhIENvdyBUb2RheSIsCiAgICAgICAgJ2RhdGUnID0+ICIyMDA3LTA2LTA1IDE4OjM3OjQzIiwKICAgICAgICAnYXV0aG9yJyA9PiAiSmVubnkiLAogICAgICAgICdkZXNjcicgPT4gIkkgdG9vayB0aGUgc2NlbmljIHJvdXRlIHRvIHdvcmsgdG9kYXkuLi4iLAogICAgKSwKCiAgICAzNzMgPT4gQXJyYXkoCiAgICAgICAgJ2lkJyA9PiAzNzMsCiAgICAgICAgJ3RpdGxlJyA9PiAiSSBXb3JrIHdpdGggSWRpb3RzIiwKICAgICAgICAnZGF0ZScgPT4gIjIwMDctMDYtMDggMTg6MDM6MTciLAogICAgICAgICdhdXRob3InID0+ICJKZW5ueSIsCiAgICAgICAgJ2Rlc2NyJyA9PiAiSSBzd2VhciB0aGlzIHdhcyB0aGUgZGF5IG9mIGlkaW90cyBhdCB3b3JrLi4uIiwKICAgICksCgoJMzc0ID0+IEFycmF5KAogICAgICAgICdpZCcgPT4gMzc0LAogICAgICAgICd0aXRsZScgPT4gIlN1bmRheSBpbiB0aGUgUGFyayB3aXRoIEdlb2ZmIiwKICAgICAgICAnZGF0ZScgPT4gIjIwMDctMDYtMTAgMjE6MDg6MDYiLAogICAgICAgICdhdXRob3InID0+ICJKZW5ueSIsCiAgICAgICAgJ2Rlc2NyJyA9PiAiR2VvZmYgYW5kIEkgd2VudCBvdXQgdG8gdGhlIHBhcmsgaW4gdGhlIGNpdHkgdG9kYXkuLi4iLAogICAgKSwKCik7PC94bXA+Cgo8cD5Tb3VuZHMgbGlrZSBKZW5ueSBoYXMgYW4gaW50ZXJlc3RpbmcgbGlmZS4gIExldCdzIG1ha2UgYW4gUlNTIGZlZWQgb3V0IG9mIGl0LgpSU1MgaXMgYW4gWE1MIGRhdGEgZm9ybWF0LCBhbmQgaXQncyBzdHJ1Y3R1cmVkIHNvbWV3aGF0IGxpa2UgdGhpczo8L3A+Cgo8ZGl2IGNsYXNzPSdjb2RlX2hlYWRlcic+Q29kZTo8L2Rpdj4KPHhtcCBjbGFzcz0nY29kZSc+PD94bWwgdmVyc2lvbj0iMS4wIj8+Cjxyc3MgdmVyc2lvbj0iMi4wIj4KICAgIDxjaGFubmVsPgogICAgICAgIDx0aXRsZT5KZW5ueSdzIE11c2luZ3M8L3RpdGxlPgogICAgICAgIDxsaW5rPmh0dHA6Ly9qZW5ueS1tdXNpbmdzLmV4YW1wbGUuY29tLzwvbGluaz4KICAgICAgICA8ZGVzY3JpcHRpb24+VGhvdWdodHMgYW5kIHN0dWZmIGZyb20gSmVubnk8L2Rlc2NyaXB0aW9uPgogICAgICAgIDxsYW5ndWFnZT5lbi11czwvbGFuZ3VhZ2U+CgogICAgICAgIC4uLmJsb2cgcG9zdGluZ3MgKGl0ZW1zKS4uLgoKICAgIDwvY2hhbm5lbD4KPC9yc3M+PC94bXA+Cgo8cD5JbiBzaG9ydCwgdGhlIGhlYWRlciBwYXJ0IG9mIHRoZSBmZWVkIGNvbnRhaW5zIHRoZSB0aXRsZSBvZiB0aGUgYmxvZywgYSBsaW5rIHRvCnRoZSBibG9nLCBFYWNoIGl0ZW0gd2l0aGluIHRoZSBSU1MgZmVlZCBsb29rcyBsaWtlIHRoaXM6PC9wPgoKPGRpdiBjbGFzcz0nY29kZV9oZWFkZXInPkNvZGU6PC9kaXY+Cjx4bXAgY2xhc3M9J2NvZGUnPjxpdGVtPgogICAgPHRpdGxlPi4uLnRpdGxlIG9mIHBvc3RpbmcuLi48L3RpdGxlPgogICAgPGF1dGhvcj4uLi5hdXRob3Igb2YgcG9zdGluZy4uLjwvdGl0bGU+CiAgICA8bGluaz5odHRwOi8vamVubnktbXVzaW5ncy5leGFtcGxlLmNvbS8uLi48L2xpbms+CiAgICA8ZGVzY3JpcHRpb24+Li4uZXhjZXJwdCBvZiBibG9nIHBvc3RpbmcuLi48L2Rlc2NyaXB0aW9uPgogICAgPHB1YkRhdGU+Li4uZGF0ZSBvZiBibG9nIHBvc3RpbmcuLi48L3B1YkRhdGU+CiAgICA8Z3VpZD4uLi51bmlxdWUgaWRlbnRpZmllciAob3IgbGluaykgZm9yIHRoaXMgcG9zdGluZy4uLjwvZ3VpZD4KPC9pdGVtPjwveG1wPgoKPHA+V2hhdCB3ZSBuZWVkLCB0aGVuLCBmcm9tIG91ciBibG9nIGRhdGEgaXMgdG8gZXh0cmFjdCB0aGUgdGl0bGUsIHRoZSBkYXRlLCB0aGUKYXV0aG9yLCBhIGxpbmsgdG8gdGhlIHBvc3RpbmcsIGFuZCBhIGRlc2NyaXB0aW9uIChhbiBleGNlcnB0IG9mIHRoZSBwb3N0aW5nIGl0c2VsZikuClJTUyAyLjAgYWxsb3dzIEhUTUwgaW4gdGhlIGRlc2NyaXB0aW9uLCBidXQgb25seSBpZiBpdCdzIGJlZW4gZW5jb2RlZCBvciB3cmFwcGVkCmluIGEgQ0RBVEEgc2VjdGlvbiwgYW5kIHRvIG1ha2Ugb3VyIGZlZWQgZnJpZW5kbHkgdG8gb3RoZXIgc2l0ZXMsIHdlJ2xsIHN0aWNrIHRvCnBsYWluIEhUTUwsIGV4Y2x1ZGluZyB0YWdzIGxpa2UgPHR0PiZsdDtkaXYmZ3Q7PC90dD4gdGhhdCBtaWdodCBjYXVzZSBwcm9ibGVtcyB3aXRoClJTUyByZWFkZXJzLiAgV2UgYWxzbyB3YW50IHRvIGdlbmVyYXRlIG9ubHkgdGhlIHRlbiBtb3N0IHJlY2VudCBwb3N0aW5ncywgd2l0aAp0aGUgbmV3ZXN0IHBvc3RpbmcgbGlzdGVkIGZpcnN0LCByYXRoZXIgdGhhbiB0aGUgd2hvbGUgYmxvZy48L3A+Cgo8cD5TbyBoZXJlJ3MgaG93IHdlIHN0YXJ0LiAgRmlyc3QsIHdlIG5lZWQgYSBCQkNvZGUgb2JqZWN0IHRvIHdvcmsgd2l0aCwgc2V0IHVwCmZvciBwbGFpbiBtb2RlIGFuZCBzaG9ydCBleGNlcnB0cywgYW5kIHdlIG5lZWQgdG8gZGVjaWRlIGhvdyBtYW55IGJsb2cgcG9zdGluZ3MgdG8Kb3V0cHV0OjwvcD4KCjxkaXYgY2xhc3M9J2NvZGVfaGVhZGVyJz5Db2RlOjwvZGl2Pgo8eG1wIGNsYXNzPSdjb2RlJz4kcG9zdGluZ3MgPSBhcnJheV9yZXZlcnNlKCRwb3N0aW5ncyk7ICAgICAvLyBQb3N0cyBpbiByZXZlcnNlIGNocm9ub2xvZ2ljYWwgb3JkZXIKJG51bV9wb3N0aW5ncyA9IGNvdW50KCRwb3N0aW5ncyk7CmlmICgkbnVtX3Bvc3RpbmdzID4gMTApICRudW1fcG9zdGluZ3MgPSAxMDsgIC8vIEF0IG1vc3QgMTAgcG9zdGluZ3MgdG8gb3V0cHV0CgokYmJjb2RlID0gbmV3IEJCQ29kZTsKJGJiY29kZS0+U2V0UGxhaW5Nb2RlKHRydWUpOyAgICAgICAgICAgICAgICAgLy8gVXNlIHBsYWluIG1vZGUuLi4KJGJiY29kZS0+U2V0TGltaXQoMjAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8gLi4uYW5kIGxpbWl0IHRvIDIwMCBjaGFyYWN0ZXJzLgo8L3htcD4KCjxwPk5vdyB3ZSBnZW5lcmF0ZSBlYWNoIHBvc3RpbmcgaW4gUlNTIDIuMCBmb3JtYXQuICBUaGlzIGlzIGZhaXJseSBzdHJhaWdodGZvcndhcmQsIGJ1dAp3ZSdsbCBsZWF2ZSBvdXQgc29tZSBvZiB0aGUgZGV0YWlscyBzbyB5b3UgY2FuIHNlZSB3aGF0J3MgZ29pbmcgb246PC9wPgoKPGRpdiBjbGFzcz0nY29kZV9oZWFkZXInPkNvZGU6PC9kaXY+Cjx4bXAgY2xhc3M9J2NvZGUnPi8vIExvb3AgZm9yIGVhY2ggb2YgdGhlIHRlbiAob3IgZmV3ZXIpIHBvc3RzIHdlJ3JlIGdlbmVyYXRpbmcuCmZvciAoJGkgPSAwOyAkaSA8ICRudW1fcG9zdGluZ3M7ICRpKyspIHsKICAgICRwb3N0aW5nID0gJHBvc3RpbmdzWyRpXTsKCiAgICAvLyBHZW5lcmF0ZSB0aGUgYmFzaWMgbWV0YS1pbmZvcm1hdGlvbiBhYm91dCB0aGlzIHBvc3QuCiAgICBwcmludCAiPGl0ZW0+XG4iOwogICAgcHJpbnQgIjx0aXRsZT4iIC4gaHRtbHNwZWNpYWxjaGFycygkcG9zdGluZ1sndGl0bGUnXSkgLiAiPC90aXRsZT5cbiI7CiAgICBwcmludCAiPGF1dGhvcj4iIC4gaHRtbHNwZWNpYWxjaGFycygkcG9zdGluZ1snYXV0aG9yJ10pIC4gIjwvYXV0aG9yPlxuIjsKCS4uLmNvbnZlcnQgJHBvc3RpbmdbJ2RhdGUnXSB0byBSU1MgMi4wIGZvcm1hdCwgYW5kIHRoZW4uLi4KICAgIHByaW50ICI8ZGF0ZT4iIC4gaHRtbHNwZWNpYWxjaGFycygkZGF0ZSkgLiAiPC9kYXRlPlxuIjsKICAgIHByaW50ICI8bGluaz5odHRwOi8vamVubnktbXVzaW5ncy5leGFtcGxlLmNvbS8/cG9zdD0iCiAgICAgICAgLiAkcG9zdGluZ1snaWQnXSAuICI8L2xpbms+XG4iOwoKICAgIC8vIE5vdyBjb252ZXJ0IHRoZSBwb3N0IGJvZHkgZnJvbSBCQkNvZGUgdG8gYSBzaG9ydCwgcGxhaW4gSFRNTCBleGNlcnB0LgogICAgJGRlc2NyID0gJGJiY29kZS0+UGFyc2UoJHBvc3RpbmdbJ2Rlc2NyJ10pOyAgIC8vIENvbnZlcnQgdGhlIGRlc2NyLiB0byBwbGFpbiBIVE1MCiAgICAkZGVzY3IgPSBubDJicigkZGVzY3IpOyAgICAgICAgICAgICAgICAgICAgICAgLy8gV2UgYWxsb3cgPGJyIC8+IHRhZ3MgZm9yIGJyZWFrcy4KCiAgICAvLyBXZSBvdXRwdXQgaXQgd2l0aCBIVE1MIGVudGl0aWVzIGJlY2F1c2UgUlNTIDIuMCBkb2Vzbid0IGFsbG93IHRhZ3MuCiAgICBwcmludCAiPGRlc2NyaXB0aW9uPiIgLiBodG1sc3BlY2lhbGNoYXJzKCRkZXNjcikgLiAiPC9kZXNjcmlwdGlvbj5cbiI7CgogICAgLy8gRW5kIHRoZSBpdGVtLgogICAgcHJpbnQgIjwvaXRlbT5cbiI7Cn08L3htcD4KCjxwPlRoYXQncyBpdCwgc2F2ZSBmb3IgYSBmZXcgc3Vycm91bmRpbmcgdGFncy4gIExldCdzIGxvb2sgYXQgdGhlIFJTUy1mZWVkIHByb2dyYW0KZnVsbHktYXNzZW1ibGVkOjwvcD4KCjxkaXYgY2xhc3M9J2NvZGVfaGVhZGVyJz5Db2RlOjwvZGl2Pgo8eG1wIGNsYXNzPSdjb2RlJz48P3BocCBwcmludCAiPD94bWwgdmVyc2lvbj1cIjEuMFwiPz5cbiI7ID8+Cjxyc3MgdmVyc2lvbj0iMi4wIj4KICAgIDxjaGFubmVsPgogICAgICAgIDx0aXRsZT5KZW5ueSdzIE11c2luZ3M8L3RpdGxlPgogICAgICAgIDxsaW5rPmh0dHA6Ly9qZW5ueS1tdXNpbmdzLmV4YW1wbGUuY29tLzwvbGluaz4KICAgICAgICA8ZGVzY3JpcHRpb24+VGhvdWdodHMgYW5kIHN0dWZmIGZyb20gSmVubnk8L2Rlc2NyaXB0aW9uPgogICAgICAgIDxsYW5ndWFnZT5lbi11czwvbGFuZ3VhZ2U+Cgo8P3BocAoKcmVxdWlyZV9vbmNlKCJuYmJjLnBocCIpOwoKLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgovLyBOb3JtYWxseSwgd2UnZCBsb2FkIHRoZSBwb3N0aW5ncyBmcm9tIGEgZGF0YWJhc2UsIGJ1dCBmb3IgdGhpcyBleGFtcGxlLAovLyB3ZSdsbCBqdXN0IGluY2x1ZGUgdGhlbSByaWdodCBoZXJlLgokcG9zdGluZ3MgPSBBcnJheSgKCiAgICAzNzIgPT4gQXJyYXkoCiAgICAgICAgJ2lkJyA9PiAzNzIsCiAgICAgICAgJ3RpdGxlJyA9PiAiSSBTYXcgYSBDb3cgVG9kYXkiLAogICAgICAgICdkYXRlJyA9PiAiMjAwNy0wNi0wNSAxODozNzo0MyIsCiAgICAgICAgJ2F1dGhvcicgPT4gIkplbm55IiwKICAgICAgICAnZGVzY3InID0+ICJJIHRvb2sgdGhlIHNjZW5pYyByb3V0ZSB0byB3b3JrIHRvZGF5LCBhbmQgd291bGRuJ3QgeW91IGtub3cgaXQ/ClRoZXJlIHdhcyBhbiBBbWlzaCBmYXJtZXIgd2Fsa2luZyBhbG9uZyB0aGUgc2lkZSBvZiB0aGUgcm9hZCB3aXRoIGEgY293IG9uIGEgbGVhc2guCkkgZG9uJ3QgcmVhbGx5IGtub3cgd2hlcmUgaGUgd2FzIGdvaW5nLCBidXQgSSB3YXMgcmVhbGx5IHN1cnByaXNlZCB0byBzZWUgdGhlbSwgc2luY2UKdGhlIEFtaXNoIHVzdWFsbHkgZG9uJ3QgZ2V0IHRoaXMgY2xvc2UgdG8gdGhlIHN1YnVyYnMuICBJdCBtYWtlcyB5b3Ugd29uZGVyIGlmIHRpbWVzCmhhdmUgZ290dGVuIGhhcmQgZm9yIHRoZW0gdG9vLiAgRm9vZCBmb3IgdGhvdWdodCwgSSB0aGluay4iLAogICAgKSwKCiAgICAzNzMgPT4gQXJyYXkoCiAgICAgICAgJ2lkJyA9PiAzNzMsCiAgICAgICAgJ3RpdGxlJyA9PiAiSSBXb3JrIHdpdGggSWRpb3RzIiwKICAgICAgICAnZGF0ZScgPT4gIjIwMDctMDYtMDggMTg6MDM6MTciLAogICAgICAgICdhdXRob3InID0+ICJKZW5ueSIsCiAgICAgICAgJ2Rlc2NyJyA9PiAiSSBzd2VhciB0aGlzIHdhcyB0aGUgZGF5IG9mIGlkaW90cyBhdCB3b3JrLiAgRmlyc3QgdGhpbmcsIHJpZ2h0Cm9mZiB0aGUgYmF0LCBMYXJyeSBjb21lcyBpbiB0YWxraW5nIG9uIGEgY2VsbCBwaG9uZSwgYW5kIEkga2lkIHlvdSBub3QsIGhlIHdhbGtzCnJpZ2h0IHNtYWNrIGludG8gdGhlIGVuZCBvZiB0aGUgb3BlbiBnbGFzcyBkb29yLiAgV2UgY291bGQgaGVhciB0aGUgW2ldKnNtYWNrKlsvaV0KYWxsIHRocm91Z2hvdXQgdGhlIGVudGlyZSBvZmZpY2UsIGFuZCBoZSBoYWQgYSByZWQgd2VsdCBvbiBoaXMgZmFjZSBmb3IgdGhlIHJlc3Qgb2YKdGhlIGRheS4gIFRoZW4gbXkgYm9zcyBjb21lcyBpbiByYW50aW5nIGFuZCByYXZpbmcgYXQgdXMgYWJvdXQgZm9yZ2V0dGluZyB0byBlLW1haWwKdGhlIFBpbnNreSBwZW9wbGUsIG9ubHkgdG8gaGF2ZSBTYW0gcG9pbnQgb3V0IHRoYXQgaGUnZCBzYWlkIGluIHRoZSB5ZXN0ZXJkYXkncwptZWV0aW5nIHRoYXQgaGUnZCBkbyBpdCBoaW1zZWxmLiAgQW5kIHRoZW4gYXQgbHVuY2gsIFNhbSB3YXMgbGF1Z2hpbmcgc28gaGFyZCBhdCBvbmUKb2YgQmlsbCdzIGpva2VzIHRoYXQgc2hlIHBlZWQgaGVyIHBhbnRzIChzb3JyeSwgU2FtISkgYW5kIGhhZCB0byBydW4gb3V0IGFuZCBidXkgYQpuZXcgcGFpci4gIEkgZG9uJ3QgZXZlbiBbaV13YW5uYVsvaV0gc2F5IGFsbCB0aGUgc3R1cGlkIGNyYXAgdGhhdCBoYXBwZW5lZCBpbiB0aGUKYWZ0ZXJub29uLiAgRG9lcyBldmVyeWJvZHkgaGF2ZSBhIHdvcmtwbGFjZSBmdWxsIG9mIG51bWJza3VsbHMgbGlrZSBJIGRvLCBvciBpcyB0aGlzCmp1c3Qgc3ByaW5nIGZldmVyIG9yIHNvbWV0aGluZz8gIE1heWJlIGl0J3MganVzdCBiZWNhdXNlIGl0J3MgRnJpZGF5Li4uIiwKICAgICksCgoJMzc0ID0+IEFycmF5KAogICAgICAgICdpZCcgPT4gMzc0LAogICAgICAgICd0aXRsZScgPT4gIlN1bmRheSBpbiB0aGUgUGFyayB3aXRoIEdlb2ZmIiwKICAgICAgICAnZGF0ZScgPT4gIjIwMDctMDYtMTAgMjE6MDg6MDYiLAogICAgICAgICdhdXRob3InID0+ICJKZW5ueSIsCiAgICAgICAgJ2Rlc2NyJyA9PiAiR2VvZmYgYW5kIEkgd2VudCBvdXQgdG8gdGhlIHBhcmsgaW4gdGhlIGNpdHkgdG9kYXkganVzdCBmb3IKc29tZXRoaW5nIHRvIGRvLiAgV2UgYm91Z2h0IHRoZXNlIHJlYWxseSBhd2Z1bCBidXJnZXJzIGZyb20gYSBzdHJlZXQgdmVuZG9yIGFuZCBzb21lCmJvdHRsZXMgb2YgQ29rZSwgYW5kIHRoZW4gc2F0IG9uIHRoZSBwYXJrIGJlbmNoIG5pYmJsaW5nIHRoZW0gKGRpZCBJIG1lbnRpb24gdGhlCmJ1cmdlcnMgd2VyZSBhd2Z1bD8pIHdoaWxlIHdlIHdhdGNoZWQga2lkcyBza2F0ZWJvYXJkaW5nIGFyb3VuZCB0aGUgYmVuY2hlcy4gIFRoZXJlCndhcyBvbmUga2lkIHdobyB3YXMgcmVhbGx5IGdvb2QuICBJIHdhdGNoZWQgaGltIGRvIGEgZ29vZCB0aHJlZSBmbGlwcyBpbiB0aGUgYWlyIGp1c3QKcGFzdCB0aGUgc3RhdHVlIG9mIEpvaG4gQWRhbXMsIG9mZiB0aGF0IHJhaWxpbmcgdGhlcmUsIGJ1dCBpdCBkaWRuJ3QgbGFzdC4gIEFuIG9sZApsYWR5IHdobyB3YXMgdHJ5aW5nIHRvIGZlZWQgdGhlIHBpZ2VvbnMgZ290IHNjYXJlZCBhbmQgbGVmdCwgYW5kIHNoZSBjYW1lIGJhY2sgYWJvdXQKdGVuIG1pbnV0ZXMgbGF0ZXIgd2l0aCBhIHBvbGljZSBvZmZpY2VyLiAgSSByZWFsbHkgZG9uJ3QgdW5kZXJzdGFuZCB3aHkgdGhlIGNpdHkKa2lja3MgdGhlIGtpZHMgb3V0IG9mIHRoZSBwYXJrLCBzaW5jZSB0aGV5J3JlIG5vdCBodXJ0aW5nIGFueXRoaW5nLiAgSSB3b25kZXIgaWYgSSdsbApiZSBhcyBjcmFua3kgYXMgc2hlIHdhcyB3aGVuIEkgZ2V0IG9sZD8iLAogICAgKSwKCik7CgovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiRwb3N0aW5ncyA9IGFycmF5X3JldmVyc2UoJHBvc3RpbmdzKTsgICAgICAgIC8vIFBvc3RzIGluIHJldmVyc2UgY2hyb25vbG9naWNhbCBvcmRlcgokbnVtX3Bvc3RpbmdzID0gY291bnQoJHBvc3RpbmdzKTsKaWYgKCRudW1fcG9zdGluZ3MgPiAxMCkgJG51bV9wb3N0aW5ncyA9IDEwOyAgLy8gQXQgbW9zdCAxMCBwb3N0aW5ncyB0byBvdXRwdXQKCiRiYmNvZGUgPSBuZXcgQkJDb2RlOwokYmJjb2RlLT5TZXRQbGFpbk1vZGUodHJ1ZSk7ICAgICAgICAgICAgICAgICAvLyBVc2UgcGxhaW4gbW9kZS4uLgokYmJjb2RlLT5TZXRMaW1pdCgyMDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAuLi5hbmQgbGltaXQgdG8gMjAwIGNoYXJhY3RlcnMuCgovLyBMb29wIGZvciBlYWNoIG9mIHRoZSB0ZW4gKG9yIGZld2VyKSBwb3N0cyB3ZSdyZSBnZW5lcmF0aW5nLgpmb3IgKCRpID0gMDsgJGkgPCAkbnVtX3Bvc3RpbmdzOyAkaSsrKSB7CiAgICAkcG9zdGluZyA9ICRwb3N0aW5nc1skaV07CgogICAgLy8gR2VuZXJhdGUgdGhlIGJhc2ljIG1ldGEtaW5mb3JtYXRpb24gYWJvdXQgdGhpcyBwb3N0LgogICAgcHJpbnQgIjxpdGVtPlxuIjsKICAgIHByaW50ICI8dGl0bGU+IiAuIGh0bWxzcGVjaWFsY2hhcnMoJHBvc3RpbmdbJ3RpdGxlJ10pIC4gIjwvdGl0bGU+XG4iOwogICAgcHJpbnQgIjxhdXRob3I+IiAuIGh0bWxzcGVjaWFsY2hhcnMoJHBvc3RpbmdbJ2F1dGhvciddKSAuICI8L2F1dGhvcj5cbiI7CiAgICBwcmludCAiPGxpbms+aHR0cDovL2plbm55LW11c2luZ3MuZXhhbXBsZS5jb20vP3Bvc3Q9IgogICAgICAgIC4gJHBvc3RpbmdbJ2lkJ10gLiAiPC9saW5rPlxuIjsKCiAgICAvLyBDb252ZXJ0IHRoZSBkYXRlIGZyb20gIllZWVktTU0tREQgSEg6TU06U1MiIGZvcm1hdCB0byBhIHRpbWVzdGFtcC4uLgogICAgJGRhdGUgPSAkcG9zdGluZ1snZGF0ZSddOwogICAgJHllYXIgPSBzdWJzdHIoJGRhdGUsIDAsIDQpOwogICAgJG1vbnRoID0gc3Vic3RyKCRkYXRlLCA1LCAyKTsKICAgICRkYXkgPSBzdWJzdHIoJGRhdGUsIDgsIDIpOwogICAgJGhvdXIgPSBzdWJzdHIoJGRhdGUsIDExLCAyKTsKICAgICRtaW51dGUgPSBzdWJzdHIoJGRhdGUsIDE0LCAyKTsKICAgICRzZWNvbmQgPSBzdWJzdHIoJGRhdGUsIDE3LCAyKTsKCSR0aW1lc3RhbXAgPSBta3RpbWUoJGhvdXIsICRtaW51dGUsICRzZWNvbmQsICRtb250aCwgJGRheSwgJHllYXIsIGZhbHNlKTsKCQoJLy8gLi4uYW5kIHRvIFJGQyAyODIyIGZvcm1hdCwgd2hpY2ggaXMgcmVxdWlyZWQgYnkgUlNTIDIuMC4KICAgICRyZmMyODIyID0gZGF0ZSgiciIsICR0aW1lc3RhbXApOwogICAgcHJpbnQgIjxkYXRlPiIgLiBodG1sc3BlY2lhbGNoYXJzKCRyZmMyODIyKSAuICI8L2RhdGU+XG4iOwoKICAgIC8vIE5vdyBjb252ZXJ0IHRoZSBwb3N0IGJvZHkgZnJvbSBCQkNvZGUgdG8gYSBzaG9ydCwgcGxhaW4gSFRNTCBleGNlcnB0LgogICAgJGRlc2NyID0gJGJiY29kZS0+UGFyc2UoJHBvc3RpbmdbJ2Rlc2NyJ10pOyAgIC8vIENvbnZlcnQgdGhlIGRlc2NyLiB0byBwbGFpbiBIVE1MCiAgICAkZGVzY3IgPSBubDJicigkZGVzY3IpOyAgICAgICAgICAgICAgICAgICAgICAgLy8gV2UgYWxsb3cgPGJyIC8+IHRhZ3MgZm9yIGJyZWFrcy4KCiAgICAvLyBXZSBvdXRwdXQgaXQgd2l0aCBIVE1MIGVudGl0aWVzIGJlY2F1c2UgUlNTIDIuMCBkb2Vzbid0IGFsbG93IHRhZ3MuCiAgICBwcmludCAiPGRlc2NyaXB0aW9uPiIgLiBodG1sc3BlY2lhbGNoYXJzKCRkZXNjcikgLiAiPC9kZXNjcmlwdGlvbj5cbiI7CgogICAgLy8gRW5kIHRoZSBpdGVtLgogICAgcHJpbnQgIjwvaXRlbT5cblxuIjsKfQoKLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgo/PgogICAgPC9jaGFubmVsPgo8L3Jzcz48L3htcD4KCjxwPlRoaXMgcHJvZ3JhbSBpcyBhdmFpbGFibGUgYXMgYW4gZXhhbXBsZSBpbiB0aGUgPHR0PmV4YW1wbGVzLzwvdHQ+IGRpcmVjdG9yeSwKdW5kZXIgdGhlIG5hbWUgPHR0PnJzc19leGFtcGxlLnBocDwvdHQ+LiAgVGhpcyBpcyB3aGF0IGl0IG91dHB1dHM6PC9wPgoKPGRpdiBjbGFzcz0nb3V0cHV0X2hlYWRlcic+T3V0cHV0IChyYXcgZmVlZCk6PC9kaXY+CjxkaXYgY2xhc3M9J291dHB1dCc+PHhtcD4KPD94bWwgdmVyc2lvbj0iMS4wIj8+Cjxyc3MgdmVyc2lvbj0iMi4wIj4KICAgIDxjaGFubmVsPgogICAgICAgIDx0aXRsZT5KZW5ueSdzIE11c2luZ3M8L3RpdGxlPgogICAgICAgIDxsaW5rPmh0dHA6Ly9qZW5ueS1tdXNpbmdzLmV4YW1wbGUuY29tLzwvbGluaz4KICAgICAgICA8ZGVzY3JpcHRpb24+VGhvdWdodHMgYW5kIHN0dWZmIGZyb20gSmVubnk8L2Rlc2NyaXB0aW9uPgogICAgICAgIDxsYW5ndWFnZT5lbi11czwvbGFuZ3VhZ2U+Cgo8aXRlbT4KPHRpdGxlPlN1bmRheSBpbiB0aGUgUGFyayB3aXRoIEdlb2ZmPC90aXRsZT4KPGF1dGhvcj5KZW5ueTwvYXV0aG9yPgo8ZGF0ZT5TdW4sIDEwIEp1biAyMDA3IDIyOjA4OjA2IC0wNTAwPC9kYXRlPgo8ZGVzY3JpcHRpb24+R2VvZmYgYW5kIEkgd2VudCBvdXQgdG8gdGhlIHBhcmsgaW4gdGhlIGNpdHkgdG9kYXkganVzdCBmb3Igc29tZXRoaW5nCnRvIGRvLiBXZSBib3VnaHQgdGhlc2UgcmVhbGx5IGF3ZnVsIGJ1cmdlcnMgZnJvbSBhIHN0cmVldCB2ZW5kb3IgYW5kIHNvbWUgYm90dGxlcyBvZgpDb2tlLCBhbmQgdGhlbiBzYXQgb24gdGhlIHBhcmsgYmVuY2guLi48L2Rlc2NyaXB0aW9uPgo8L2l0ZW0+Cgo8aXRlbT4KPHRpdGxlPkkgV29yayB3aXRoIElkaW90czwvdGl0bGU+CjxhdXRob3I+SmVubnk8L2F1dGhvcj4KPGRhdGU+RnJpLCAwOCBKdW4gMjAwNyAxOTowMzoxNyAtMDUwMDwvZGF0ZT4KPGRlc2NyaXB0aW9uPkkgc3dlYXIgdGhpcyB3YXMgdGhlIGRheSBvZiBpZGlvdHMgYXQgd29yay4gRmlyc3QgdGhpbmcsIHJpZ2h0IG9mZiB0aGUKYmF0LCBMYXJyeSBjb21lcyBpbiB0YWxraW5nIG9uIGEgY2VsbCBwaG9uZSwgYW5kIEkga2lkIHlvdSBub3QsIGhlIHdhbGtzIHJpZ2h0IHNtYWNrCmludG8gdGhlIGVuZCBvZiB0aGUgb3BlbiBnbGFzcyBkb29yLiBXZS4uLjwvZGVzY3JpcHRpb24+CjwvaXRlbT4KCjxpdGVtPgo8dGl0bGU+SSBTYXcgYSBDb3cgVG9kYXk8L3RpdGxlPgo8YXV0aG9yPkplbm55PC9hdXRob3I+CjxkYXRlPlR1ZSwgMDUgSnVuIDIwMDcgMTk6Mzc6NDMgLTA1MDA8L2RhdGU+CjxkZXNjcmlwdGlvbj5JIHRvb2sgdGhlIHNjZW5pYyByb3V0ZSB0byB3b3JrIHRvZGF5LCBhbmQgd291bGRuJ3QgeW91IGtub3cgaXQ/IFRoZXJlCndhcyBhbiBBbWlzaCBmYXJtZXIgd2Fsa2luZyBhbG9uZyB0aGUgc2lkZSBvZiB0aGUgcm9hZCB3aXRoIGEgY293IG9uIGEgbGVhc2guIEkgZG9uJ3QKcmVhbGx5IGtub3cgd2hlcmUgaGUgd2FzIGdvaW5nLCBidXQgSSB3YXMuLi48L2Rlc2NyaXB0aW9uPgo8L2l0ZW0+CgogICAgPC9jaGFubmVsPgo8L3Jzcz4KPC94bXA+PC9kaXY+Cgo8ZGl2IGNsYXNzPSdvdXRwdXRfaGVhZGVyJz5PdXRwdXQgKGZyb20gYW4gUlNTIHJlYWRlcik6PC9kaXY+CjxkaXYgY2xhc3M9J291dHB1dCc+CjxoMyBzdHlsZT0nYm9yZGVyLWJvdHRvbToxcHggc29saWQgIzk5QzttYXJnaW46MDtjb2xvcjojMDAwO3RleHQtZGVjb3JhdGlvbjpub25lOyc+PGEgaHJlZj0iaHR0cDovL2plbm55LW11c2luZ3MuZXhhbXBsZS5jb20vIj5KZW5ueSdzIE11c2luZ3M8L2E+PC9oMz4KPHAgc3R5bGU9J21hcmdpbjowLjVlbSAwIDFlbSAwOyc+VGhvdWdodHMgYW5kIHN0dWZmIGZyb20gSmVubnk8L3A+Cgo8aDQgc3R5bGU9J2NvbG9yOiMwMDA7dGV4dC1kZWNvcmF0aW9uOm5vbmU7bWFyZ2luOjA7Jz48YSBocmVmPSJodHRwOi8vamVubnktbXVzaW5ncy5leGFtcGxlLmNvbS9wb3N0PTM3NCI+U3VuZGF5IGluIHRoZSBQYXJrIHdpdGggR2VvZmY8L2E+ICZuYnNwOyA8c3BhbiBzdHlsZT0nZm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc2l6ZToxMHB0O2ZvbnQtc3R5bGU6aXRhbGljOyc+U3VuZGF5LCBKdW5lIDEwLCAyMDA3PC9zcGFuPjwvaDQ+CjxwIHN0eWxlPSdtYXJnaW46MC41ZW0gMCAxZW0gMmVtOyc+R2VvZmYgYW5kIEkgd2VudCBvdXQgdG8gdGhlIHBhcmsgaW4gdGhlIGNpdHkgdG9kYXkganVzdCBmb3Igc29tZXRoaW5nCnRvIGRvLiBXZSBib3VnaHQgdGhlc2UgcmVhbGx5IGF3ZnVsIGJ1cmdlcnMgZnJvbSBhIHN0cmVldCB2ZW5kb3IgYW5kIHNvbWUgYm90dGxlcyBvZgpDb2tlLCBhbmQgdGhlbiBzYXQgb24gdGhlIHBhcmsgYmVuY2guLi48L3A+Cgo8aDQgc3R5bGU9J2NvbG9yOiMwMDA7dGV4dC1kZWNvcmF0aW9uOm5vbmU7bWFyZ2luOjA7Jz48YSBocmVmPSJodHRwOi8vamVubnktbXVzaW5ncy5leGFtcGxlLmNvbS9wb3N0PTM3MyI+SSBXb3JrIHdpdGggSWRpb3RzPC9hPiAmbmJzcDsgPHNwYW4gc3R5bGU9J2ZvbnQtd2VpZ2h0Om5vcm1hbDtmb250LXNpemU6MTBwdDtmb250LXN0eWxlOml0YWxpYzsnPkZyaWRheSwgSnVuZSA4LCAyMDA3PC9zcGFuPjwvaDQ+CjxwIHN0eWxlPSdtYXJnaW46MC41ZW0gMCAxZW0gMmVtOyc+SSBzd2VhciB0aGlzIHdhcyB0aGUgZGF5IG9mIGlkaW90cyBhdCB3b3JrLiBGaXJzdCB0aGluZywgcmlnaHQgb2ZmIHRoZQpiYXQsIExhcnJ5IGNvbWVzIGluIHRhbGtpbmcgb24gYSBjZWxsIHBob25lLCBhbmQgSSBraWQgeW91IG5vdCwgaGUgd2Fsa3MgcmlnaHQgc21hY2sKaW50byB0aGUgZW5kIG9mIHRoZSBvcGVuIGdsYXNzIGRvb3IuIFdlLi4uPC9wPgoKPGg0IHN0eWxlPSdjb2xvcjojMDAwO3RleHQtZGVjb3JhdGlvbjpub25lO21hcmdpbjowOyc+PGEgaHJlZj0iaHR0cDovL2plbm55LW11c2luZ3MuZXhhbXBsZS5jb20vcG9zdD0zNzIiPkkgU2F3IGEgQ293IFRvZGF5PC9hPiAmbmJzcDsgPHNwYW4gc3R5bGU9J2ZvbnQtd2VpZ2h0Om5vcm1hbDtmb250LXNpemU6MTBwdDtmb250LXN0eWxlOml0YWxpYzsnPlR1ZXNkYXksIEp1bmUgNSwgMjAwNzwvc3Bhbj48L2g0Pgo8cCBzdHlsZT0nbWFyZ2luOjAuNWVtIDAgMWVtIDJlbTsnPkkgdG9vayB0aGUgc2NlbmljIHJvdXRlIHRvIHdvcmsgdG9kYXksIGFuZCB3b3VsZG4ndCB5b3Uga25vdyBpdD8gVGhlcmUKd2FzIGFuIEFtaXNoIGZhcm1lciB3YWxraW5nIGFsb25nIHRoZSBzaWRlIG9mIHRoZSByb2FkIHdpdGggYSBjb3cgb24gYSBsZWFzaC4gSSBkb24ndApyZWFsbHkga25vdyB3aGVyZSBoZSB3YXMgZ29pbmcsIGJ1dCBJIHdhcy4uLjwvcD4KPC9kaXY+Cgo8cD5UaGF0J3MgYSBuaWNlLCBjbGVhbiwgc2ltcGxlIFJTUyBmZWVkLCBqdXN0IHRoZSB3YXkgbmF0dXJlIGludGVuZGVkLiAgVGhlcmUgYXJlIHBsZW50eQpvZiBvdGhlciB3YXlzIHlvdSBjYW4gZm9ybWF0IHlvdXIgZmVlZHMsIG9yIHVzZSB0aGVzZSBzYW1lIHRlY2huaXF1ZXMgZm9yIHNhbXBsaW5nIGFueQpsb25nIGNodW5rIG9mIEJCQ29kZSB0ZXh0LCBidXQgdGhpcyBkZW1vbnN0cmF0aW9uIGNvdmVycyB0aGUgYmFzaWNzIG5pY2VseS48L3A+Cgo8cCBzdHlsZT0ndGV4dC1hbGlnbjpyaWdodDsnPlsgUHJldmlvdXM6IDxhIGhyZWY9InVzYWdlX2h0bWwuaHRtbCI+SS4gUGFyc2luZy9WYWxpZGF0aW5nIEhUTUwgYW5kIE90aGVyIFRyaWNrczwvYT4gfCBOZXh0OiA8YSBocmVmPSJ1c2FnZV9hdXRvLmh0bWwiPksuIFVSTCBBdXRvZGV0ZWN0aW9uPC9hPiBdPC9wPgoKPGhyIC8+Cgo8ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPkNvcHlyaWdodCAmY29weTsgMjAxMCwgdGhlIFBoYW50b20gSW5rZXIuICBBbGwgcmlnaHRzIHJlc2VydmVkLjwvZGl2PgoKPC9kaXY+PC9kaXY+PC9kaXY+Cgo8L2JvZHk+Cgo8L2h0bWw+Cg==]]></data>
	</file>
	<file>
	  <filename>/docs/doc/usage_smiley.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWw6bGFuZz0iZW4iIGxhbmc9ImVuIj4KCjxoZWFkPgo8dGl0bGU+QWRkaW5nIFlvdXIgT3duIFNtaWxleXMgLSBOQkJDOiBUaGUgTmV3IEJCQ29kZSBQYXJzZXI8L3RpdGxlPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz4KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyB0eXBlPSd0ZXh0L2NzcycgaHJlZj0nc3R5bGVzLmNzcycgLz4KPC9oZWFkPgoKPGJvZHk+Cgo8ZGl2IGFsaWduPSdjZW50ZXInPjxkaXYgY2xhc3M9J3BhZ2VfY29udGFpbmVyMic+PGRpdiBjbGFzcz0ncGFnZV9jb250YWluZXInPgoKPGgyPklJSS4gVXNpbmcgTkJCQzwvaDI+Cgo8cCBzdHlsZT0ndGV4dC1hbGlnbjpyaWdodDttYXJnaW46MDsnPlsgUHJldmlvdXM6IDxhIGhyZWY9InVzYWdlX2FkZC5odG1sIj5DLiBBZGRpbmcgWW91ciBPd24gVGFnczwvYT4gfCBOZXh0OiA8YSBocmVmPSJ1c2FnZV9lbmguaHRtbCI+RS4gQWRkaW5nIEVuaGFuY2VkIFRhZ3M8L2E+IF08L3A+Cgo8aDM+RC4gQWRkaW5nIFlvdXIgT3duIFNtaWxleXM8L2gzPgoKPHA+VGFncyBhcmUgZ29vZCwgYnV0IHdoYXQgYWJvdXQgc21pbGV5cywgZW1vdGljb25zLCB0aGUgdGhpbmcgd2hlcmUgdGhlIHVzZXIgdHlwZXMgPHR0PjotKTwvdHQ+IGFuZApzZWVzIGEgbGl0dGxlIHNtaWxleS1mYWNlIGljb24gYXBwZWFyIGluIHRoZSBvdXRwdXQ/ICBOQkJDIGluY2x1ZGVzIGZ1bGwgc3VwcG9ydCBmb3IKc21pbGV5cywgYW5kIGluY2x1ZGVzIGEgZGVmYXVsdCBzZWxlY3Rpb24gb2YgMzAgZmFpcmx5IGNvbW1vbiBvbmVzLiAgKFlvdSBjYW4gZmluZCBhCmZ1bGwgbGlzdCBvZiB0aGUgc3RhbmRhcmQgc21pbGV5cyBpbiB0aGUgPGEgaHJlZj0iYXBwX3NtaWxleS5odG1sIj5hcHBlbmRpeDwvYT4uKSAgQnV0CmlmIHRob3NlIDMwIGFyZW4ndCBlbm91Z2ggZm9yIHlvdSwgaW5zdGFsbGluZyB5b3VyIG93biBpcyBlYXN5LjwvcD4KCjxwPkZpcnN0LCB0aGUgc21pbGV5IHlvdSB3YW50IHRvIGFkZCBtdXN0IGJlIGEgUE5HLCBHSUYsIG9yIEpQRUcgaW1hZ2UgZmlsZTsgYnJvd3NlcnMgY2FuJ3QKaGFuZGxlIG90aGVyIGZpbGUgZm9ybWF0cy4gIFVwbG9hZCB5b3VyIGltYWdlIHRvIHRoZSBzZXJ2ZXIsIGFuZCB0aGVuIGNvcHkgaXQgaW50byB0aGUKPHR0PnNtaWxleXMvPC90dD4gZGlyZWN0b3J5LjwvcD4KCjxwPlRoZW4geW91J2xsIGhhdmUgdG8gY2hvb3NlIGEgbmFtZSBmb3IgeW91ciBzbWlsZXk6ICBZb3UnbGwgaGF2ZSB0byBjaG9vc2Ugd2hhdCBwZW9wbGUKbmVlZCB0byB0eXBlIHRvIHNlZSBpdC4gIFNpbXBsZSBzbWlsZXlzIGxpa2UgPHR0PjotKTwvdHQ+IGFyZSBlYXN5LCBidXQgd2hhdCBpZiB5b3VycwppcyBhIHBpY3R1cmUgb2YsIHNheSwgYSBkb2cgZHJpdmluZyBhIGNhcj8gIEZvciBjb21wbGV4IHNtaWxleXMgbGlrZSB0aGlzIHRoYXQgY2FuJ3QgYmUKcmVhZGlseSBkZXNjcmliZWQgYnkgYSBzaW1wbGUgc3ltYm9sLCBtb3N0IHVzZXJzIGdlbmVyYWxseSBwcmVmZXIgdG8gdXNlIGEgc2hvcnQga2V5d29yZApzdXJyb3VuZGVkIGJ5IGNvbG9ucywgbGlrZSA8dHQ+OmRvZ2Nhcjo8L3R0Pi4gIExldCdzIGFkZCB0aGUgPHR0Pjpkb2djYXI6PC90dD4gc21pbGV5IHNvCnRoYXQgTkJCQyB3aWxsIGNvbnZlcnQgaXQgaW50byAiPHR0PmRvZ2Nhci5wbmc8L3R0PiI6PC9wPgoKPGRpdiBjbGFzcz0nY29kZV9oZWFkZXInPkNvZGU6PC9kaXY+Cjx4bXAgY2xhc3M9J2NvZGUnPiRiYmNvZGUtPkFkZFNtaWxleSgiOmRvZ2NhcjoiLCAiZG9nY2FyLnBuZyIpOzwveG1wPgoKPHA+VGhhdCdzIGFsbCBpdCB0YWtlczsgdGhlIDx0dD46ZG9nY2FyOjwvdHQ+IHNtaWxleSBpcyBub3cgYXZhaWxhYmxlITwvcD4KCgk8ZGl2IGNsYXNzPSd0aXBib3gnPgoJPGRpdiBjbGFzcz0ndGlwYm94X2hlYWRlcic+CgkJPGRpdiBjbGFzcz0ndGlwYm94X3N0YXInPio8L2Rpdj48ZGl2PjxiPlRlY2ggVGlwPC9iPjwvZGl2PgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSd0aXBib3hfY29udGVudCc+PGRpdiBjbGFzcz0ndGlwYm94X2NvbnRlbnQyJz4KCgkJPHA+Rm9yIHdoYXQgaXQncyB3b3J0aCwgeW91ciBzbWlsZXkgY29kZXMgbWF5IGluY2x1ZGUgZXZlcnkgY2hhcmFjdGVyIG9uIHlvdXIga2V5Ym9hcmQKCQlleGNlcHQgZm9yIHNwYWNlLCA8dHQ+WzwvdHQ+LCBhbmQgPHR0Pl08L3R0Piwgd2hpY2ggYXJlIGFsbCB1c2VkIGJ5IG90aGVyIHRoaW5ncy4gIEdlbmVyYWxseSwKCQl5b3Ugc2hvdWxkIG5ldmVyIHVzZSBzbWlsZXlzIHNob3J0ZXIgdGhhbiB0d28gY2hhcmFjdGVycyBsb25nLCBhbmQgZXZlbiB0aGF0J3MgcHJvYmFibHkKCQl0b28gc2hvcnQsIHdpdGggc29tZSBleGNlcHRpb25zLiAgQW5kIE5CQkMgaXMgc21hcnQgZW5vdWdoIHRvIGtub3cgdGhhdCBpZiA8dHQ+OkQ8L3R0PiBhbmQKCQk8dHQ+RDo8L3R0PiBhcmUgc21pbGV5cywgaXQgc2hvdWxkIDxpPm5vdDwvaT4gY29udmVydCA8dHQ+UEFJRDo8L3R0PiBvciA8dHQ+OkRVREU6PC90dD4KCQlqdXN0IGJlY2F1c2UgdGhleSBsb29rIGxpa2UgdGhleSBoYXZlIHNtaWxleXMgaW4gdGhlbTogIEFueSBzbWlsZXkgdGhhdCBidXR0cyB1cCBhZ2FpbnN0CgkJYW4gYWxwaGFudW1lcmljIGNoYXJhY3RlciAob3IgdW5kZXJzY29yZSkgd2lsbCA8aT5ub3Q8L2k+IGJlIGNvbnZlcnRlZCB0byBhbiBpbWFnZS48L3A+CgoJCTxwPldoaWxlIHlvdSBjYW4gcmVnaXN0ZXIgYW55IHNlcXVlbmNlIG9mIGNoYXJhY3RlcnMgYXMgYSBzbWlsZXksIGl0J3MgdXN1YWxseSBhIGJhZAoJCWlkZWEgdG8gcmVnaXN0ZXIgc29tZXRoaW5nIHRoYXQgbWlnaHQgYmUgYSBjb21tb25seS10eXBlZCB3b3JkLiAgRm9yIGV4YW1wbGUsIHJlZ2lzdGVyaW5nCgkJPHR0PjgzPC90dD4gaXMgcHJvYmFibHkgYSBiYWQgaWRlYSwgc2ltcGx5IGJlY2F1c2UgdGhlIG51bWJlciAiODMiIGlzIGxpa2VseSB0byBldmVudHVhbGx5CgkJYXBwZWFyIGluIHRleHQgc29tZXdoZXJlLiAgVGhlIGxhc3QgdGhpbmcgeW91IGV2ZXIgd2FudCB0byBzZWUgb24geW91ciBzaXRlIGlzIHNvbWV0aGluZwoJCWxpa2UgdGhpczo8L3A+CgkJCgkJPHAgc3R5bGU9J21hcmdpbi1sZWZ0OiAyZW07Jz48dHQ+PGltZyBzcmM9Ii4uL3NtaWxleXMvdGVldGguZ2lmIiB3aWR0aD0nMTYnIGhlaWdodD0nMTYnIGFsdD0nODMnIC8+IHBlb3BsZSBkaWVkIGluIHRoYXQgcGxhbmUgY3Jhc2guPC90dD48L3A+CgkJCgkJPHA+VGhpcyBpcyB3aHkgbW9zdCB1bnVzdWFsIHNtaWxleXMgb24gbW9zdCBzaXRlcyBhcmUgZG9uZSB3aXRoIGtleXdvcmRzIHN1cnJvdW5kZWQgYnkKCQljb2xvbnM6ICBJZiB0aGlzIHNtaWxleSBoYWQgYmVlbiByZWdpc3RlcmVkIGFzIDx0dD46Z29vZnlncmluOjwvdHQ+IGluc3RlYWQgb2YgYXMgPHR0PjgzPC90dD4sCgkJdGhpcyB0cmFnZWR5IG1pZ2h0IGhhdmUgYmVlbiBhdmVydGVkLjwvcD4KCQkKCQk8cD5TbyBpdCdzIHVwIHRvIHlvdSB3aGF0IHNtaWxleXMgeW91IHJlZ2lzdGVyLCBidXQgYmUgY2FyZWZ1bDogIFlvdXIgc21pbGV5cyBtYXkgaGF2ZQoJCXVuaW50ZW5kZW5kIGNvbnNlcXVlbmNlcyBpZiB5b3UgZG9uJ3QgdGhpbmsgY2FyZWZ1bGx5IGFib3V0IGhvdyB0aGV5IG1pZ2h0IGJlIHVzZWQuPC9wPgoJPC9kaXY+PC9kaXY+Cgk8L2Rpdj4KCjxwIHN0eWxlPSd0ZXh0LWFsaWduOnJpZ2h0Oyc+WyBQcmV2aW91czogPGEgaHJlZj0idXNhZ2VfYWRkLmh0bWwiPkMuIEFkZGluZyBZb3VyIE93biBUYWdzPC9hPiB8IE5leHQ6IDxhIGhyZWY9InVzYWdlX2VuaC5odG1sIj5FLiBBZGRpbmcgRW5oYW5jZWQgVGFnczwvYT4gXTwvcD4KCjxociAvPgoKPGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz5Db3B5cmlnaHQgJmNvcHk7IDIwMTAsIHRoZSBQaGFudG9tIElua2VyLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC48L2Rpdj4KCjwvZGl2PjwvZGl2PjwvZGl2PgoKPC9ib2R5PgoKPC9odG1sPgo=]]></data>
	</file>
	<file>
	  <filename>/docs/doc/usage_wiki.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWw6bGFuZz0iZW4iIGxhbmc9ImVuIj4KCjxoZWFkPgo8dGl0bGU+U3VwcG9ydGluZyBXaWtpLUxpbmtzIC0gTkJCQzogVGhlIE5ldyBCQkNvZGUgUGFyc2VyPC90aXRsZT4KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+CjxsaW5rIHJlbD0nc3R5bGVzaGVldCcgdHlwZT0ndGV4dC9jc3MnIGhyZWY9J3N0eWxlcy5jc3MnIC8+CjwvaGVhZD4KCjxib2R5PgoKPGRpdiBhbGlnbj0nY2VudGVyJz48ZGl2IGNsYXNzPSdwYWdlX2NvbnRhaW5lcjInPjxkaXYgY2xhc3M9J3BhZ2VfY29udGFpbmVyJz4KCjxoMj5JSUkuIFVzaW5nIE5CQkM8L2gyPgoKPHAgc3R5bGU9J3RleHQtYWxpZ246cmlnaHQ7bWFyZ2luOjA7Jz5bIFByZXZpb3VzOiA8YSBocmVmPSJ1c2FnZV9jYWxsLmh0bWwiPkYuIEFkZGluZyBDYWxsYmFjayBUYWdzPC9hPiB8IE5leHQ6IDxhIGhyZWY9InVzYWdlX2ltZy5odG1sIj5ILiBTdXBwb3J0aW5nIExvY2FsIEltYWdlczwvYT4gXTwvcD4KCjxoMz5HLiBTdXBwb3J0aW5nIFdpa2ktTGlua3M8L2gzPgoKPHA+TkJCQyBoYXMgYSBmZWF0dXJlIHRoYXQgYWxsb3dzIHlvdXIgdXNlcnMgdG8gZWFzaWx5IGxpbmsgdG8gY29udGVudCBvbiBhCnNwZWNpZmljIHdlYiBzaXRlIG9mIHlvdXIgY2hvaWNlLiAgVGhpcyBmZWF0dXJlIGlzIGNhbGxlZCA8aT53aWtpLWxpbmtzPC9pPiwKYmVjYXVzZSBpdCB1c2VzIGEgc3ludGF4IHZlcnkgc2ltaWxhciB0byB0aGF0IG9mIG1hbnkgd2lraXMgKGxpa2UgPGEgaHJlZj0iaHR0cDovL2VuLndpa2lwZWRpYS5vcmciPldpa2lwZWRpYTwvYT4pLAphbmQgYmVjYXVzZSBpdCBvZnRlbiBsaW5rcyB0byBjb250ZW50IG9uIGEgd2lraS4gIEluIHRoaXMgc2VjdGlvbiwgd2UncmUgZ29pbmcKdG8gbG9vayBhdCBob3cgdG8gc2V0IHVwIHdpa2ktbGlua3Mgb24geW91ciBzaXRlIGluIHRocmVlIGRpZmZlcmVudCB3YXlzOiAgRmlyc3QsCndlJ3JlIGdvaW5nIHRvIGxvb2sgYXQgdGhlIHNpbXBsZSBjYXNlIG9mIHBvaW50aW5nIHRoZW0gdG8gYSB3aWtpIHlvdSd2ZSBpbnN0YWxsZWQ7CnRoZW4gd2UncmUgZ29pbmcgdG8gbG9vayBhdCBob3cgdG8gcG9pbnQgdGhlbSBhdCB1bmlxdWUgY3VzdG9tIGNvbnRlbnQsIHN1Y2ggYXMKYSB3ZWJjb21pYyBvciBhIGNvbnRlbnQtbWFuYWdlbWVudCBzeXN0ZW0gKENNUykgbGlrZSBEcnVwYWw7IGFuZCBmaW5hbGx5LCB3ZSdsbApsb29rIGF0IGhvdyB0byBzZXQgdGhlbSB1cCBzbyB0aGF0IHRoZXkgY2FuIHBvaW50IHRvIHNldmVyYWwgZGlmZmVyZW50IGtpbmRzCm9mIGNvbnRlbnQgYXQgdGhlIHNhbWUgdGltZS48L3A+Cgo8YSBuYW1lPSJ1c2FnZV93aWtpX3dpa2kiPjwvYT48aDQ+TGlua2luZyB0byBhIFdpa2k8L2g0PgoKPHA+TGV0J3Mgc2F5IHRoYXQgeW91IHdhbnQgdG8gbWFrZSBpdCB2ZXJ5IGVhc3kgZm9yIHlvdXIgdXNlcnMgdG8gbGluayB0byBjb250ZW50Cm9uIFdpa2lwZWRpYS4gIEZvciBleGFtcGxlLCB5b3UnZCBsaWtlIHRoaXMgdG8gaGFwcGVuOjwvcD4KCjxkaXYgY2xhc3M9J2NvZGVfaGVhZGVyJz5Db2RlOjwvZGl2Pgo8eG1wIGNsYXNzPSdjb2RlJz5bW1JvbmFsZCBSZWFnYW5dXSB3YXMgdGhlIDQwdGggW1tQcmVzaWRlbnQgb2YgdGhlIFVuaXRlZCBTdGF0ZXNdXSwKZm9sbG93aW5nIFtbSmltbXkgQ2FydGVyXV0gYW5kIFtbR2VyYWxkIEZvcmRdXSwgYW5kIHByZWNlZGluZwpbW0dlb3JnZSBILiBXLiBCdXNoXV0gYW5kIFtbQmlsbCBDbGludG9uXV0uPC94bXA+CjxkaXYgY2xhc3M9J291dHB1dF9oZWFkZXInPk91dHB1dDo8L2Rpdj4KPGRpdiBjbGFzcz0nb3V0cHV0Jz48YSBocmVmPSJodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1JvbmFsZF9SZWFnYW4iPlJvbmFsZCBSZWFnYW48L2E+IHdhcyB0aGUgNDB0aAo8YSBocmVmPSJodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1ByZXNpZGVudF9vZl90aGVfVW5pdGVkX1N0YXRlcyI+UHJlc2lkZW50IG9mIHRoZSBVbml0ZWQgU3RhdGVzPC9hPiwgZm9sbG93aW5nCjxhIGhyZWY9Imh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvSmltbXlfQ2FydGVyIj5KaW1teSBDYXJ0ZXI8L2E+IGFuZAo8YSBocmVmPSJodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0dlcmFsZF9Gb3JkIj5HZXJhbGQgRm9yZDwvYT4sIGFuZCBwcmVjZWRpbmcKPGEgaHJlZj0iaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9HZW9yZ2VfSC5fVy5fQnVzaCI+R2VvcmdlIEguIFcuIEJ1c2g8L2E+IGFuZAo8YSBocmVmPSJodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0JpbGxfQ2xpbnRvbiI+QmlsbCBDbGludG9uPC9hPi48L2Rpdj4KCjxwPk5vcm1hbGx5LCBkb2luZyB0aGlzIHdvdWxkIHJlcXVpcmUgYSA8aT5sb3Q8L2k+IG9mIDx0dD5bdXJsXTwvdHQ+IHRhZ3MuICBCdXQgaWYgeW91cgp1c2VycyBjb21tb25seSBsaW5rIHRvIFdpa2lwZWRpYSwgd2h5IG5vdCBtYWtlIGl0IGVhc2llciBmb3IgdGhlbT8gIFRoYXQncyB3aGVyZSB3aWtpLWxpbmtzCmNvbWUgaW46ICBJdCdzIGEgbG90IGVhc2llciB0byB0eXBlIDx0dD5bW1JvbmFsZCZuYnNwO1JlYWdhbl1dPC90dD4gdGhhbiBpdCBpcyB0byB0eXBlCjx0dD5bdXJsPWh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvUm9uYWxkX1JlYWdhbl1Sb25hbGQmbmJzcDtSZWFnYW5bL3VybF08L3R0PiBubyBtYXR0ZXIKaG93IGZhc3QgYSB0eXBpc3QgeW91IGFyZS48L3A+Cgo8cD5OQkJDIGhhcyBidWlsdC1pbiBzdXBwb3J0IGZvciBkZXRlY3Rpbmcgc3BlY2lhbCB0YWdzIHRoYXQgYXJlIHN1cnJvdW5kZWQgYnkKPHR0PltbPC90dD5kb3VibGUmbmJzcDticmFja2V0czwvdHQ+XV08L3R0PjogIEFueSB0aW1lIGl0IHNlZXMgc3VjaCBhIHRoaW5nLCBpdAppbnZpc2libHkgY29udmVydHMgdGhlIHRhZyBmcm9tIDx0dD5bW2FiY11dPC90dD4gdG8gPHR0Plt3aWtpPSJhYmMiJm5ic3A7dGl0bGU9ImFiYyJdPC90dD4sCnRodXMgc2F2aW5nIHlvdXIgdXNlcnMgdGhlIHRpbWUgb2YgaGF2aW5nIHRvIHR5cGUgb3V0IHN1Y2ggYSB0YWcgdGhlbXNlbHZlcy48L3A+Cgo8cD4oTGlrZSBtYW55IHdpa2lzIGRvLCBOQkJDIGRldGVjdHMgYSB2ZXJ0aWNhbCBiYXIgaW4gdGhlIHRhZyBhcyBhIHNlcGFyYXRvciwgc28KaWYgeW91IHR5cGUgPHR0PltbYWJjfGRlZl1dPC90dD4geW91J2xsIGdldCA8dHQ+W3dpa2k9ImFiYyImbmJzcDt0aXRsZT0iZGVmIl08L3R0PgphcyB5b3VyIG91dHB1dC4gIFdpdGhpbiBhIHdpa2ktbGluayB0YWcsIE5CQkMgYWxsb3dzIGFsbCBjaGFyYWN0ZXJzIHRvIGJlIHBhcnQgb2YgdGhlCm5hbWUgYW5kIHRpdGxlIGV4Y2VwdCBmb3IgPHR0Pls8L3R0PiBhbmQgPHR0Pl08L3R0PiBhbmQgPHR0Pnw8L3R0Pi4pPC9wPgoKPHA+SG93LCB0aGVuLCBkb2VzIE5CQkMgcHJvY2VzcyBhIDx0dD5bd2lraV08L3R0PiB0YWcgd2hlbiBpdCBlbmNvdW50ZXJzIG9uZT8KVGhlIGRlZmF1bHQgYmVoYXZpb3Igb2YgdGhlIFN0YW5kYXJkIEJCQ29kZSBMaWJyYXJ5IGlzIHZlcnkgc2ltcGxlOiAgQ29udmVydCB0aGUKPHR0Plt3aWtpXTwvdHQ+IHRhZyBpbnRvIGFuIDx0dD4mbHQ7YSBocmVmPSIuLi4iJmd0Oy4uLiZsdDsvYSZndDs8L3R0PiBlbGVtZW50LAp3aXRoIHRoZSBtYWluIFVSTCBwcm92aWRlZCBieSB0aGUgPGEgaHJlZj0iYXBpX3dpa2kuaHRtbCNyZWZfcGFyc2VyX1NldFdpa2lVUkwiPjx0dD5TZXRXaWtpVVJMKCk8L3R0PjwvYT4KZnVuY3Rpb24sIGFuZCBhIGNsZWFuZWQtdXAgdmVyc2lvbiBvZiB0aGUgPHR0Pm5hbWU8L3R0PiBwYXJhbWV0ZXIgYXBwZW5lZGVkIHRvIHRoZQplbmQgb2YgdGhlIFVSTC48L3A+Cgo8cD5MZXQncyBsb29rIGF0IGEgc2ltcGxlIGV4YW1wbGU6ICBXZSdsbCBwcm9jZXNzICI8dHQ+W1tSb25hbGQmbmJzcDtSZWFnYW5dXTwvdHQ+Igp0byBiZSBhIGxpbmsgdG8gaGlzIHBhZ2UgYXQgV2lraXBlZGlhLiAgRmlyc3QsIGJlZm9yZSBhbnkgQkJDb2RlIHBhcnNpbmcgZ2V0cyBkb25lLCB3ZQpuZWVkIHRvIHRlbGwgdGhlIHBhcnNlciB3aGVyZSBvdXIgd2lraSBpczo8L3A+Cgo8ZGl2IGNsYXNzPSdjb2RlX2hlYWRlcic+Q29kZTo8L2Rpdj4KPHhtcCBjbGFzcz0nY29kZSc+JGJiY29kZSA9IG5ldyBCQkNvZGU7CiRiYmNvZGUtPlNldFdpa2lVUkwoImh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvIik7PC94bXA+Cgo8cD5OZXh0LCB3ZSBjYWxsIHRoZSA8dHQ+JGJiY29kZS0+UGFyc2UoKTwvdHQ+IGZ1bmN0aW9uIHRvIGNvbnZlcnQgb3VyIGlucHV0CkJCQ29kZSB0byBIVE1MLiAgVGhpcyBpcyB3aGF0IGhhcHBlbnMgd2hlbiA8dHQ+UGFyc2UoKTwvdHQ+IHNlZXMgdGhlIHdpa2kgbGluazo8L3A+Cgo8b2w+CjxsaT5UaGUgPHR0PltbUm9uYWxkJm5ic3A7UmVhZ2FuXV08L3R0PiB3aWtpLWxpbmsgaXMgY29udmVydGVkIHRvIGEgPHR0Plt3aWtpPSJSb25hbGQmbmJzcDtSZWFnYW4iJm5ic3A7dGl0bGU9IlJvbmFsZCZuYnNwO1JlYWdhbiJdPC90dD4gdGFnLjwvbGk+CjxsaT5UaGUgcGFyc2VyIGxvb2tzIGZvciBhIHJ1bGUgZm9yIHRoZSBuZXcgPHR0Plt3aWtpXTwvdHQ+IHRhZy4gIEEgcnVsZSBpcyBwcm92aWRlZCBieSB0aGUgU3RhbmRhcmQgQkJDb2RlIExpYnJhcnksCglhbmQgdW5sZXNzIHlvdSBvdmVycmlkZSBpdCAod2l0aCA8YSBocmVmPSJhcGlfcnVsZS5odG1sI3JlZl9wYXJzZXJfQWRkUnVsZSI+QWRkUnVsZSgpPC9hPiwgYXMgaW4gYW5vdGhlciBleGFtcGxlIGJlbG93KSwKCXRoYXQgcnVsZSB3aWxsIHByb2Nlc3MgdGhlIHRhZy48L2xpPgo8bGk+VGhlIHN0YW5kYXJkIHdpa2ktbGluayBydWxlIHVzZXMgdGhlIDxhIGhyZWY9ImFwaV93aWtpLmh0bWwjcmVmX3BhcnNlcl9XaWtpZnkiPldpa2lmeSgpPC9hPiBmdW5jdGlvbgoJdG8gY29udmVydCB0aGUgPHR0Pm5hbWU8L3R0PiBwYXJhbWV0ZXIgZnJvbSA8dHQ+Um9uYWxkJm5ic3A7UmVhZ2FuPC90dD4gdG8gPHR0PlJvbmFsZF9SZWFnYW48L3R0PiwKCXdoaWNoIGNhbiBiZSBzYWZlbHkgcGFzc2VkIHRocm91Z2ggYSBVUkwgKGFuZCB3aGljaCBpcyB1bmRlcnN0b29kIGJ5IG1vc3Qgd2lraXMgYXMgZXF1aXZhbGVudAoJdG8gdGhlIHZlcnNpb24gd2l0aCBhIHNwYWNlIGNoYXJhY3RlciBpbiBpdCkuCjxsaT5UaGUgc3RhbmRhcmQgd2lraS1saW5rIHJ1bGUgdGhlbiBjb252ZXJ0cyB0aGUgcmVzdCBvZiB0aGUgQkJDb2RlIHRhZyB0byBIVE1MIGxpa2UgdGhpczo8YnIgLz4KCTx0dD5bd2lraT0iYWJjIiZic3A7dGl0bGU9ImRlZiJdPC90dD48YnIgLz4KCVRvIHRoaXM6PGJyIC8+Cgk8dHQ+Jmx0O2EmbmJzcDtocmVmPSJ7d2lraXVybH17YWJjfSImZ3Q7e2RlZn0mbHQ7L2EmZ3Q7PC90dD48YnIgLz4KCTxiciAvPgoJU28gaW4gdGhlIGNhc2Ugd2hlcmUgb3VyIHdpa2kgVVJMIGlzIDx0dD5odHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpLzwvdHQ+IGFuZCBvdXIgIndpa2lmaWVkIiBuYW1lIGlzIDx0dD5Sb25hbGRfUmVhZ2FuPC90dD4KCWFuZCBvdXIgdGl0bGUgaXMgPHR0PlJvbmFsZCZuYnNwO1JlYWdhbjwvdHQ+LCB0aGUgb3V0cHV0IHdvdWxkIGJlOgoJPHR0PiZsdDthJm5ic3A7aHJlZj0iaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Sb25hbGRfUmVhZ2FuIiZndDtSb25hbGQmbmJzcDtSZWFnYW4mbHQ7L2EmZ3Q7PC90dD48L2xpPgo8L29sPgoKPHA+U28sIHRoZW4sIHRvIGNvbXBsZXRlIG91ciBmaXJzdCBleGFtcGxlLCBoZXJlIGlzIHRoZSBjb2RlIGFuZCBpdHMgb3V0cHV0LCBpbiBmdWxsOjwvcD4KCjxkaXYgY2xhc3M9J2NvZGVfaGVhZGVyJz5Db2RlOjwvZGl2Pgo8eG1wIGNsYXNzPSdjb2RlJz4kYmJjb2RlID0gbmV3IEJCQ29kZTsKJGJiY29kZS0+U2V0V2lraVVSTCgiaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS8iKTsKJGlucHV0ID0gIltbUm9uYWxkIFJlYWdhbl1dIjsKJG91dHB1dCA9ICRiYmNvZGUtPlBhcnNlKCRpbnB1dCk7CnByaW50ICRvdXRwdXQ7PC94bXA+CjxkaXYgY2xhc3M9J291dHB1dF9oZWFkZXInPk91dHB1dDo8L2Rpdj4KPGRpdiBjbGFzcz0nb3V0cHV0Jz48YSBocmVmPSJodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1JvbmFsZF9SZWFnYW4iPlJvbmFsZCBSZWFnYW48L2E+PC9kaXY+Cgo8cD5BcyB3ZSBzYWlkIGJlZm9yZSwgdXNlcnMgY2FuIHVzZSBhIHZlcnRpY2FsIGJhciB0byBzZXBhcmF0ZSBuYW1lcyBmcm9tIHRpdGxlcywgc28gdGhpcyBhbHNvIHdvcmtzOjwvcD4KCjxkaXYgY2xhc3M9J2NvZGVfaGVhZGVyJz5Db2RlOjwvZGl2Pgo8eG1wIGNsYXNzPSdjb2RlJz4kYmJjb2RlID0gbmV3IEJCQ29kZTsKJGJiY29kZS0+U2V0V2lraVVSTCgiaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS8iKTsKJGlucHV0ID0gIltbUm9uYWxkIFJlYWdhbnxNaXN0ZXIgUHJlc2lkZW50IER1ZGVdXSI7CiRvdXRwdXQgPSAkYmJjb2RlLT5QYXJzZSgkaW5wdXQpOwpwcmludCAkb3V0cHV0OzwveG1wPgo8ZGl2IGNsYXNzPSdvdXRwdXRfaGVhZGVyJz5PdXRwdXQ6PC9kaXY+CjxkaXYgY2xhc3M9J291dHB1dCc+PGEgaHJlZj0iaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Sb25hbGRfUmVhZ2FuIj5NaXN0ZXIgUHJlc2lkZW50IER1ZGU8L2E+PC9kaXY+Cgo8YSBuYW1lPSJ1c2FnZV93aWtpX290aGVyIj48L2E+PGg0PkxpbmtpbmcgdG8gT3RoZXIgVGhpbmdzPC9oND4KCjxwPldoYXQgaWYgeW91IGRvbid0IGhhdmUgYSB3aWtpPyAgV2hhdCBpZiB5b3UgZG9uJ3Qgd2FudCB0byBsaW5rIHRvIGEgd2lraT8gIFRoZSA8dHQ+W1suLi5dXTwvdHQ+CnRhZyBjYW4gcmVhbGx5IGJlIHVzZWQgZm9yIGFueSBwdXJwb3NlIHlvdSB3YW50OiAgSXQgc2ltcGx5IGxpbmtzIHRvIHJlbGF0ZWQgY29udGVudCBvbiBhIHNpbmdsZQpzaXRlIG9mIHlvdXIgY2hvaWNlLCBiZSB0aGF0IHdpa2kgcGFnZXMsIG5ld3MgYXJ0aWNsZXMsIHdlYmNvbWljIHBhZ2VzLCBibG9nIHBvc3RpbmdzLCBvcgphbnl0aGluZyBlbHNlIHlvdSBkZWVtIHVzZWZ1bC4gIFNvbWUgcG9zc2libGUgZXhhbXBsZXMgZm9sbG93LjwvcD4KCjxwIHN0eWxlPSdtYXJnaW4tdG9wOjJlbTsnPjxiPkV4YW1wbGUgMS48L2I+ICBMZXQncyBzYXkgeW91IHdhbnQgeW91ciB1c2VycyB0byBiZSBhYmxlIHRvIGxpbmsgdG8gcGFnZXMgaW4geW91ciB3ZWJjb21pYwplYXNpbHksIGFuZCB0aGF0IHlvdXIgd2ViY29taWMgcGFnZXMgYXJlIG9yZ2FuaXplZCBieSBkYXRlLiAgWW91IG1pZ2h0IHVzZSB0aGUgd2lraS1saW5rIHRhZwpsaWtlIHRoaXM6PC9wPgoKPGRpdiBjbGFzcz0nY29kZV9oZWFkZXInPkNvZGU6PC9kaXY+Cjx4bXAgY2xhc3M9J2NvZGUnPiRiYmNvZGUgPSBuZXcgQkJDb2RlOwokYmJjb2RlLT5TZXRXaWtpVVJMKCJodHRwOi8vd3d3LnRoZXdvdGNoLmNvbS8/ZXBEYXRlPSIpOzwveG1wPgo8ZGl2IGNsYXNzPSdjb2RlX2hlYWRlcic+VXNlciBpbnB1dDo8L2Rpdj4KPHhtcCBjbGFzcz0nY29kZSc+VGhpcyBpcyB0aGUgW1syMDAyLTExLTIxfGZpcnN0IFdvdGNoIGNvbWljXV08L3htcD4KPGRpdiBjbGFzcz0nb3V0cHV0X2hlYWRlcic+T3V0cHV0OjwvZGl2Pgo8ZGl2IGNsYXNzPSdvdXRwdXQnPlRoaXMgaXMgdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cudGhld290Y2guY29tLz9lcERhdGU9MjAwMi0xMS0yMSI+Zmlyc3QgV290Y2ggY29taWM8L2E+PC9kaXY+Cgo8cCBzdHlsZT0nbWFyZ2luLXRvcDoyZW07Jz48Yj5FeGFtcGxlIDIuPC9iPiAgTWF5YmUgeW91IHJ1biBhIG5ld3Mgc2l0ZSwgYW5kIHlvdSdkIGxpa2UgeW91ciB1c2VycyB0byBiZSBhYmxlIHRvCmVhc2lseSBsaW5rIHRvIG5ld3MgcG9zdGluZ3MuPC9wPgoKPGRpdiBjbGFzcz0nY29kZV9oZWFkZXInPkNvZGU6PC9kaXY+Cjx4bXAgY2xhc3M9J2NvZGUnPiRiYmNvZGUgPSBuZXcgQkJDb2RlOwokYmJjb2RlLT5TZXRXaWtpVVJMKCJodHRwOi8vbWVyY3VyeW5ld3MuY29tL2NpXyIpOzwveG1wPgo8ZGl2IGNsYXNzPSdjb2RlX2hlYWRlcic+VXNlciBpbnB1dDo8L2Rpdj4KPHhtcCBjbGFzcz0nY29kZSc+W1s5OTIxMjg2fCJNYW1tYSBNaWEiIGlzIGNoZWVzeSBmdW5dXTwveG1wPgo8ZGl2IGNsYXNzPSdvdXRwdXRfaGVhZGVyJz5PdXRwdXQ6PC9kaXY+CjxkaXYgY2xhc3M9J291dHB1dCc+PGEgaHJlZj0iaHR0cDovL3d3dy5tZXJjdXJ5bmV3cy5jb20vY2lfOTkyMTI4NiI+JnF1b3Q7TWFtbWEgTWlhJnF1b3Q7IGlzIGNoZWVzeSBmdW48L2E+PC9kaXY+Cgo8YSBuYW1lPSJ1c2FnZV93aWtpX2FkdmFuY2VkIj48L2E+PGg0PkFkdmFuY2VkIGxpbmtpbmc8L2g0PgoKPHA+SXQncyBlbnRpcmVseSBwb3NzaWJsZSB0aGF0IHRoZSBzaW1wbGUgdGVjaG5pcXVlIG9mICJjbGVhbiB1cCB0aGUgbmFtZSBhbmQgYWRkIGl0IHRvIHRoZSBVUkwiIGlzbid0CmdvaW5nIHRvIGJlIGdvb2QgZW5vdWdoIGZvciBzb21lIG5lZWRzLiAgU28gaGVyZSwgd2UgbG9vayBhdCB3YXlzIHlvdSBjYW4gcGVyZm9ybSBtb3JlIHNvcGhpc3RpY2F0ZWQKd2lraS1saW5raW5nIGJ5IHVzaW5nIHlvdXIgb3duIDx0dD5bd2lraV08L3R0Pi10YWcgcHJvY2Vzc2luZyBmdW5jdGlvbi48L3A+Cgo8cD5MZXQncyBzYXkgdGhhdCB5b3Ugd2FudCB0byBsaW5rIHRvIGFydGljbGVzIGluIDxhIGhyZWY9Imh0dHA6Ly93d3cuYXJzdGVjaG5pY2EuY29tIj5BcnMgVGVjaG5pY2E8L2E+LAphIHRlY2hub2xvZ3kgbmV3cyBibG9nLiAgQXJ0aWNsZXMgaW4gQXJzIGFyZSBnZW5lcmFsbHkgbGlua2VkIGJ5IGEgZGF0ZSBhbmQgYnkgYSBuYW1lLApub3QganVzdCBhIG5hbWUuICBXZSdkIGxpa2UgdG8gYmUgYWJsZSB0byB3cml0ZSB0aGlzOjwvcD4KCjxkaXYgY2xhc3M9J2NvZGVfaGVhZGVyJz5Vc2VyIGlucHV0OjwvZGl2Pgo8eG1wIGNsYXNzPSdjb2RlJz5bW0FzIGV4cGVjdGVkLCBFVSB3aWRlbnMgYW50aXRydXN0IHByb2JlIG9mIEludGVsXV08L3htcD4KCjxwPkJ1dCB3ZSBjYW4ndCBkbyB0aGF0LCBiZWNhdXNlIEFycyBhcnRpY2xlcyBpbmNsdWRlIGEgZGF0ZSBpbiB0aGVpciBVUkwgYXMgd2VsbC4gIFNvIHdlIG5lZWQgYQptb3JlIHNvcGhpc3RpY2F0ZWQgcGFyc2luZyBmdW5jdGlvbiB0aGF0IGNhbiBjb252ZXJ0IGp1c3QgZW5vdWdoIGluZm9ybWF0aW9uIGludG8gdGhlIGtpbmQgb2YKVVJMIHRoYXQgdGhlIEFycyB3ZWJzaXRlIHdhbnRzIHRvIHNlZS4gIEZpcnN0LCB3ZSdsbCBhbHRlciBvdXIgcmVxdWlyZW1lbnRzIGEgbGl0dGxlOyB0aGUgaW5mb3JtYXRpb24KZ2l2ZW4gYnkgdGhlIHVzZXIgbmVlZHMgdG8gaW5jbHVkZSBhIGRhdGU6PC9wPgoKPGRpdiBjbGFzcz0nY29kZV9oZWFkZXInPlVzZXIgaW5wdXQ6PC9kaXY+Cjx4bXAgY2xhc3M9J2NvZGUnPltbMjAwODA3MTc6QXMgZXhwZWN0ZWQsIEVVIHdpZGVucyBhbnRpdHJ1c3QgcHJvYmUgb2YgSW50ZWxdXTwveG1wPgoKPHA+Tm93IHdlIG5lZWQgdG8gdGVsbCBOQkJDIHRoYXQgd2UncmUgZ29pbmcgdG8gdXNlIG91ciBvd24gY3VzdG9tIDx0dD5bd2lraV08L3R0PiB0YWcgY2FsbGJhY2sKZnVuY3Rpb24gdG8gcHJvY2VzcyB0aGlzIGtpbmQgb2YgY29udGVudDo8L3A+Cgo8ZGl2IGNsYXNzPSdjb2RlX2hlYWRlcic+Q29kZTo8L2Rpdj4KPHhtcCBjbGFzcz0nY29kZSc+JGJiY29kZSA9IG5ldyBCQkNvZGU7CiRiYmNvZGUtPkFkZFJ1bGUoIndpa2kiLCBBcnJheSgKICAgICdtb2RlJyA9PiBCQkNPREVfTU9ERV9DQUxMQkFDSywKICAgICdtZXRob2QnID0+ICJEb0Fyc1RhZyIsCiAgICAnY2xhc3MnID0+ICdsaW5rJywKICAgICdhbGxvd19pbicgPT4gQXJyYXkoJ2xpc3RpdGVtJywgJ2Jsb2NrJywgJ2NvbHVtbnMnLCAnaW5saW5lJyksCiAgICAnZW5kX3RhZycgPT4gQkJDT0RFX1BST0hJQklULAogICAgJ2NvbnRlbnQnID0+IEJCQ09ERV9QUk9ISUJJVCwKKSk7PC94bXA+Cgo8cD5BbmQgZmluYWxseSwgd2UgbmVlZCB0byBhZGQgb3VyIHNwZWNpYWwgZnVuY3Rpb24gdGhhdCBjYW4gY29udmVydCBuYW1lcyB0byB0aGUKZm9ybWF0IEFycyByZXF1aXJlczo8L3A+Cgo8ZGl2IGNsYXNzPSdjb2RlX2hlYWRlcic+Q29kZTo8L2Rpdj4KPHhtcCBjbGFzcz0nY29kZSc+ZnVuY3Rpb24gRG9BcnNUYWcoJGJiY29kZSwgJGFjdGlvbiwgJG5hbWUsICRkZWZhdWx0LCAkcGFyYW1zLCAkY29udGVudCkgewoKICAgIC8vIEJyZWFrIHRoZSBuYW1lIGludG8gdGhlIHBhcnQgYmVmb3JlIHRoZSBjb2xvbiAodGhlIGRhdGUpIGFuZAogICAgLy8gdGhlIHBhcnQgYWZ0ZXIgKHRoZSBhY3R1YWwgbmFtZSkKICAgICRwaWVjZXMgPSBleHBsb2RlKCI6IiwgJGRlZmF1bHQpOwoKICAgIC8vIENvbnZlcnQgZXZlcnl0aGluZyBpbiB0aGUgbmFtZSB0aGF0IGlzbid0IGFscGhhbnVtZXJpYyB0byBhIGh5cGhlbi4KICAgICRkYXRlID0gdHJpbSgkcGllY2VzWzBdKTsKICAgICRuYW1lID0gc3RyX3JlcGxhY2UoIiAiLCAiLSIsIHRyaW0ocHJlZ19yZXBsYWNlKCIvW15hLXowLTldKy8iLAogICAgICAgICIgIiwgJHBpZWNlc1sxXSkpKTsKCiAgICAvLyBUZWxsIE5CQkMgd2hldGhlciB0aGlzIG5hbWUgaXMgbGVnYWwuCiAgICBpZiAoJGFjdGlvbiA9PSBCQkNPREVfQ0hFQ0spCiAgICAgICAgcmV0dXJuIHN0cmxlbigkbmFtZSkgPiAwICYmIHByZWdfbWF0Y2goIi9eWzAtOV0rJC8iLCAkZGF0ZSk7CgogICAgLy8gRGVjaWRlIG9uIGEgc3VpdGFibGUgdGl0bGUuCiAgICAkdGl0bGUgPSB0cmltKEAkcGFyYW1zWyd0aXRsZSddKTsKICAgIGlmIChzdHJsZW4oJHRpdGxlKSA8PSAwKSAkdGl0bGUgPSB0cmltKCRwaWVjZXNbMV0pOwoKICAgIC8vIEFuZCBmb3JtYXQgdGhlIHJlc3VsdCBhcyBIVE1MLgogICAgcmV0dXJuICI8YSBocmVmPVwiaHR0cDovL2Fyc3RlY2huaWNhLmNvbS9uZXdzLmFycy9wb3N0L3skZGF0ZX0tIgogICAgICAgIC4gInskbmFtZX0uaHRtbFwiPiIgLiBodG1sc3BlY2lhbGNoYXJzKCR0aXRsZSkgLiAiPC9hPiI7Cn08L3htcD4KCjxwPlRoaXMgbmV3IGZ1bmN0aW9uIHdpbGwgeWllbGQgdGhpcyBvdXRwdXQ6PC9wPgoKPGRpdiBjbGFzcz0nY29kZV9oZWFkZXInPlVzZXIgaW5wdXQ6PC9kaXY+Cjx4bXAgY2xhc3M9J2NvZGUnPltbMjAwODA3MTc6QXMgZXhwZWN0ZWQsIEVVIHdpZGVucyBhbnRpdHJ1c3QgcHJvYmUgb2YgSW50ZWxdXTwveG1wPgo8ZGl2IGNsYXNzPSdvdXRwdXRfaGVhZGVyJz5PdXRwdXQ6PC9kaXY+CjxkaXYgY2xhc3M9J291dHB1dCc+PGEgaHJlZj0iaHR0cDovL2Fyc3RlY2huaWNhLmNvbS9uZXdzLmFycy9wb3N0LzIwMDgwNzE3LWFzLWV4cGVjdGVkLWV1LXdpZGVucy1hbnRpdHJ1c3QtcHJvYmUtb2YtaW50ZWwuaHRtbCI+QXMgZXhwZWN0ZWQsIEVVIHdpZGVucyBhbnRpdHJ1c3QgcHJvYmUgb2YgSW50ZWw8L2E+PC9kaXY+Cgo8YSBuYW1lPSJ1c2FnZV93aWtpX211bHRpIj48L2E+PGg0PkxpbmtpbmcgdG8gTXVsdGlwbGUgVGhpbmdzPC9oND4KCjxwPldoYXQgaWYganVzdCBvbmUgPHR0PltbLi4uXV08L3R0PiB0YWcgaXNuJ3QgZW5vdWdoPyAgV2hhdCBpZiB5b3Ugd2FudCB0byBiZSBhYmxlCnRvIGVhc2lseSBsaW5rIHRvIHNldmVyYWwgZGlmZmVyZW50IHRoaW5ncyBhbGwgYXQgb25jZT8gIEZvciBleGFtcGxlLCB5b3UgbWlnaHQgcnVuCmEgd2ViY29taWMgc2l0ZSwgYW5kIHdhbnQgdG8gYmUgYWJsZSB0byBlYXNpbHkgbGluayB0byBjb21pY3MsIHN0b3J5IGFyY3MsIHlvdXIgb3duCmNvbWljJ3Mgd2lraSwgYW5kIGV2ZW4gV2lraXBlZGlhISAgWW91IGNhbiB1c2UgdGhlIHNhbWUgPHR0PltbLi4uXV08L3R0PiB0YWcgdG8gaGFuZGxlCmFsbCBvZiB0aGVzZSBhdCBvbmNlLCB3aXRoIGEgbGl0dGxlIGNsZXZlcm5lc3MuPC9wPgoKPHA+Rmlyc3QsIHlvdSBuZWVkIHRvIGVzdGFibGlzaCBzb21lIHJ1bGVzOiAgV2hhdCBraW5kIG9mIGNvbnRlbnQgbGlua3MgdG8gd2hpY2ggc2l0ZT8KWW91ciBjb21pY3MgaGF2ZSBkYXRlcyBhdHRhY2hlZCB0byB0aGVtLCBzbyBpZiBhIHVzZXIgc3BlY2lmaWVzIGp1c3QgYSBkYXRlLCB0aGV5IHByb2JhYmx5CndhbnQgYSBsaW5rIHRvIGEgY29taWM7IHlvdXIgc3RvcnkgYXJjcyBhcmUgbnVtYmVyZWQsIHNvIGlmIGEgdXNlciBzcGVjaWZpZXMganVzdCBhCm51bWJlciwgdGhleSBwcm9iYWJseSB3YW50IGEgbGluayB0byBhIHN0b3J5IGFyYzsgZXZlcnl0aGluZyBlbHNlIGNhbiBwcm9iYWJseSBzYWZlbHkKYmUgYSBsaW5rIGludG8geW91ciB3aWtpLCBidXQgaWYgdGhlIHVzZXIgYWRkcyAiPHR0PldQOjwvdHQ+IiB0byB0aGUgc3RhcnQgb2YgdGhlIHRhZywKdGhleSBwcm9iYWJseSB3YW50IGEgbGluayBpbnRvIFdpa2lwZWRpYS4gIFNvIHlvdSBtaWdodCB3YW50IHNvbWV0aGluZyBsaWtlIHRoaXM6PC9wPgoKPGRpdiBjbGFzcz0nY29kZV9oZWFkZXInPlVzZXIgaW5wdXQ6PC9kaXY+Cjx4bXAgY2xhc3M9J2NvZGUnPltbMjAwMi0xMS0yMXxUaGUgZmlyc3QgV290Y2ggY29taWNdXQpbWzN8IkVudGVyIHRoZSBXb3RjaCJdXQpBYm91dCBbW1RoZSBXb3RjaF1dCltbV1A6VGhlIFdvdGNoXV0gYXQgV2lraXBlZGlhPC94bXA+CjxkaXYgY2xhc3M9J291dHB1dF9oZWFkZXInPk91dHB1dDo8L2Rpdj4KPGRpdiBjbGFzcz0nb3V0cHV0Jz48YSBocmVmPSJodHRwOi8vd3d3LnRoZXdvdGNoLmNvbS8/ZXBEYXRlPTIwMDItMTEtMjEiPlRoZSBmaXJzdCBXb3RjaCBjb21pYzwvYT48YnIgLz4KPGEgaHJlZj0iaHR0cDovL3d3dy50aGV3b3RjaC5jb20vYXJjaGl2ZXMvP2FyYz0zIj5FbnRlciB0aGUgV290Y2g8L2E+PGJyIC8+CkFib3V0IDxhIGhyZWY9Imh0dHA6Ly93aWtpLnRoZXdvdGNoLmNvbS9UaGVfV290Y2giPlRoZSBXb3RjaDwvYT48YnIgLz4KPGEgaHJlZj0iaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9UaGVfV290Y2giPlRoZSBXb3RjaDwvYT4gYXQgV2lraXBlZGlhPGJyIC8+PC9kaXY+Cgo8cD5DbGVhcmx5LCBzaW1wbGUgdGV4dC1yZXBsYWNlbWVudCBjYW4ndCBoYW5kbGUgYWxsIG9mIHRoZXNlLCBidXQgYWxsb3dpbmcgInNtYXJ0IgpsaW5raW5nIGxpa2UgdGhpcyBpcyBtdWNoIGVhc2llciB0aGFuIGl0IGxvb2tzLiAgRmlyc3QsIHdlJ2xsIG5lZWQgdG8gdGVsbCBOQkJDIHRoYXQKd2UncmUgZG9pbmcgc29tZXRoaW5nIHVudXN1YWwgd2l0aCB0aGUgPHR0Plt3aWtpXTwvdHQ+IHRhZywganVzdCBsaWtlIHdpdGggdGhlCmFkdmFuY2VkLWxpbmtpbmcgZXhhbXBsZSBhYm92ZTo8L3A+Cgo8ZGl2IGNsYXNzPSdjb2RlX2hlYWRlcic+Q29kZTo8L2Rpdj4KPHhtcCBjbGFzcz0nY29kZSc+JGJiY29kZSA9IG5ldyBCQkNvZGU7CiRiYmNvZGUtPkFkZFJ1bGUoIndpa2kiLCBBcnJheSgKICAgICdtb2RlJyA9PiBCQkNPREVfTU9ERV9DQUxMQkFDSywKICAgICdtZXRob2QnID0+ICJEb1dvdGNoTGlua1RhZyIsCiAgICAnY2xhc3MnID0+ICdsaW5rJywKICAgICdhbGxvd19pbicgPT4gQXJyYXkoJ2xpc3RpdGVtJywgJ2Jsb2NrJywgJ2NvbHVtbnMnLCAnaW5saW5lJyksCiAgICAnZW5kX3RhZycgPT4gQkJDT0RFX1BST0hJQklULAogICAgJ2NvbnRlbnQnID0+IEJCQ09ERV9QUk9ISUJJVCwKKSk7PC94bXA+Cgo8cD5Ob3csIGFsbCB3ZSBuZWVkIGlzIGEgZnVuY3Rpb24gdGhhdCBjYW4gYW5hbHl6ZSB0aGUgbmFtZSBhbmQgbGluayB0byB0aGUKYXBwcm9wcmlhdGUgd2ViIHNpdGUsIHdoaWNoIGlzIGNvbmNlcHR1YWxseSBub3QgdGhhdCBtdWNoIGRpZmZlcmVudCBmcm9tIHRoZSBhZHZhbmNlZApsaW5raW5nIGV4YW1wbGUgYWJvdmU6ICBXZSBmaXJzdCB0ZXN0IHRvIHNlZSB3aGF0IGtpbmQgb2YgbmFtZSB0aGUgdXNlciBwcm92aWRlZCwKYW5kIHRoZW4gY3JlYXRlIGEgbGluayB0byB0aGUgY29ycmVjdCBzaXRlIGJhc2VkIG9uIHRoYXQuICBIZXJlJ3Mgb3VyIHJlc3VsdGluZyBmdW5jdGlvbjo8L3A+Cgo8ZGl2IGNsYXNzPSdjb2RlX2hlYWRlcic+Q29kZTo8L2Rpdj4KPHhtcCBjbGFzcz0nY29kZSc+ZnVuY3Rpb24gRG9Xb3RjaExpbmtUYWcoJGJiY29kZSwgJGFjdGlvbiwgJG5hbWUsICRkZWZhdWx0LCAkcGFyYW1zLCAkY29udGVudCkgewoKICAgIC8vIFRlbGwgTkJCQyB0aGlzIHRhZyBpcyBsZWdhbCBubyBtYXR0ZXIgd2hhdCBpdCBjb250YWlucy4KICAgIGlmICgkYWN0aW9uID09IEJCQ09ERV9DSEVDSykgcmV0dXJuIHRydWU7CgogICAgLy8gUmVtb3ZlIGFueSBzdXJyb3VuZGluZyB3aGl0ZXNwYWNlIG9uIHRoZSBuYW1lLgogICAgJGRlZmF1bHQgPSB0cmltKCRkZWZhdWx0KTsKCiAgICBpZiAocHJlZ19tYXRjaCgiL15bMC05XXs0fS1bMC05XXsyfS1bMC05XXsyfSQvIiwgJGRlZmF1bHQpKSB7CiAgICAgICAgLy8gSWYgd2UgaGF2ZSBhIGNvbWljIGRhdGUsIHJldHVybiBhIGxpbmsgdG8gdGhlIGNvbWljIG9uIG91ciBzaXRlLgogICAgICAgICR0aXRsZSA9IHRyaW0oQCRwYXJhbXNbJ3RpdGxlJ10pOwogICAgICAgIGlmIChzdHJsZW4oJHRpdGxlKSA8PSAwKSAkdGl0bGUgPSAiQ29taWMgZm9yICRkZWZhdWx0IjsKICAgICAgICByZXR1cm4gIjxhIGhyZWY9XCJodHRwOi8vd3d3LnRoZXdvdGNoLmNvbS8/ZXBEYXRlPSRkZWZhdWx0XCI+IgogICAgICAgICAgICAuIGh0bWxzcGVjaWFsY2hhcnMoJHRpdGxlKSAuICI8L2E+IjsKICAgIH0KICAgIGlmIChwcmVnX21hdGNoKCIvXlswLTldKyQvIiwgJGRlZmF1bHQpKSB7CiAgICAgICAgLy8gSWYgd2UgaGF2ZSBhIG51bWJlciwgcmV0dXJuIGEgbGluayB0byBhIHN0b3J5IGFyYyBvbiBvdXIgc2l0ZS4KICAgICAgICAkdGl0bGUgPSB0cmltKEAkcGFyYW1zWyd0aXRsZSddKTsKICAgICAgICBpZiAoc3RybGVuKCR0aXRsZSkgPD0gMCkgJHRpdGxlID0gIkFyYyAjJGRlZmF1bHQiOwogICAgICAgIHJldHVybiAiPGEgaHJlZj1cImh0dHA6Ly93d3cudGhld290Y2guY29tL2FyY2hpdmVzLz9hcmM9JGRlZmF1bHRcIj4iCiAgICAgICAgICAgIC4gaHRtbHNwZWNpYWxjaGFycygkdGl0bGUpIC4gIjwvYT4iOwogICAgfQogICAgZWxzZSBpZiAocHJlZ19tYXRjaCgiL15XUFxcOi8iLCAkZGVmYXVsdCkgewogICAgICAgIC8vIElmIHdlIGhhdmUgc29tZXRoaW5nIHRoYXQgc3RhcnRzIHdpdGggIldQOiIsIGxpbmsgdG8gV2lraXBlZGlhLgogICAgICAgICRkZWZhdWx0ID0gc3Vic3RyKCRkZWZhdWx0LCAzKTsgICAgLy8gUmVtb3ZlIHRoZSAiV1A6IiBmcm9tIHRoZSBuYW1lLgogICAgICAgICR0aXRsZSA9IHRyaW0oQCRwYXJhbXNbJ3RpdGxlJ10pOwogICAgICAgIGlmIChzdHJsZW4oJHRpdGxlKSA8PSAwKSAkdGl0bGUgPSAkZGVmYXVsdDsKICAgICAgICAkbmFtZSA9ICRiYmNvZGUtPldpa2lmeSgkZGVmYXVsdCk7CiAgICAgICAgcmV0dXJuICI8YSBocmVmPVwiaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS8kbmFtZVwiPiIKICAgICAgICAgICAgLiBodG1sc3BlY2lhbGNoYXJzKCR0aXRsZSkgLiAiPC9hPiI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICAvLyBPdGhlcndpc2UsIGxpbmsgdG8gb3VyICJXb3RjaGlwZWRpYSIuCiAgICAgICAgJHRpdGxlID0gdHJpbShAJHBhcmFtc1sndGl0bGUnXSk7CiAgICAgICAgaWYgKHN0cmxlbigkdGl0bGUpIDw9IDApICR0aXRsZSA9ICRkZWZhdWx0OwogICAgICAgICRuYW1lID0gJGJiY29kZS0+V2lraWZ5KCRkZWZhdWx0KTsKICAgICAgICByZXR1cm4gIjxhIGhyZWY9XCJodHRwOi8vd2lraS50aGV3b3RjaC5jb20vJG5hbWVcIj4iCiAgICAgICAgICAgIC4gaHRtbHNwZWNpYWxjaGFycygkdGl0bGUpIC4gIjwvYT4iOwogICAgfQp9PC94bXA+Cgo8cCBzdHlsZT0ndGV4dC1hbGlnbjpyaWdodDsnPlsgUHJldmlvdXM6IDxhIGhyZWY9InVzYWdlX2NhbGwuaHRtbCI+Ri4gQWRkaW5nIENhbGxiYWNrIFRhZ3M8L2E+IHwgTmV4dDogPGEgaHJlZj0idXNhZ2VfaW1nLmh0bWwiPkguIFN1cHBvcnRpbmcgTG9jYWwgSW1hZ2VzPC9hPiBdPC9wPgoKPGhyIC8+Cgo8ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPkNvcHlyaWdodCAmY29weTsgMjAxMCwgdGhlIFBoYW50b20gSW5rZXIuICBBbGwgcmlnaHRzIHJlc2VydmVkLjwvZGl2PgoKPC9kaXY+PC9kaXY+PC9kaXY+Cgo8L2JvZHk+Cgo8L2h0bWw+Cg==]]></data>
	</file>
	<file>
	  <filename>/docs/LICENSE</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CiAgQ29weXJpZ2h0IChDKSAyMDA4LTEwLCB0aGUgUGhhbnRvbSBJbmtlci4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgUG9ydGlvbnMgY29weXJpZ2h0IChjKSAyMDA0LTIwMDggQWRkZWRCeXRlcy5jb20KCiAgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCiAgYXJlIG1ldDoKCiAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CgkgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KCiAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CgkgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbgoJICB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCgkgIGRpc3RyaWJ1dGlvbi4KCiAgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgUEhBTlRPTSBJTktFUiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUwogIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECiAgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQogIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFCiAgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgogIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCiAgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SCiAgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksCiAgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UKICBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOCiAgSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCgo=]]></data>
	</file>
	<file>
	  <filename>/docs/readme.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWw6bGFuZz0iZW4iIGxhbmc9ImVuIj4KCjxoZWFkPgo8dGl0bGU+TkJCQzogVGhlIE5ldyBCQkNvZGUgUGFyc2VyPC90aXRsZT4KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+CjwvaGVhZD4KCjxmcmFtZXNldCBjb2xzPSIyMTAsMSoiPgoJPGZyYW1lIG5hbWU9InRvYyIgc3JjPSJkb2MvdG9jLmh0bWwiIC8+Cgk8ZnJhbWUgbmFtZT0iY29udGVudCIgc3JjPSJkb2MvaW50cm9fb3Zlci5odG1sIiAvPgo8L2ZyYW1lc2V0PgoKPG5vZnJhbWVzPlNvcnJ5LCB0aGlzIHVzZXIncyBtYW51YWwgcmVxdWlyZXMgYSBicm93c2VyIHdpdGggc3VwcG9ydCBmb3IgZnJhbWVzLjwvbm9mcmFtZXM+Cgo8L2h0bWw+Cg==]]></data>
	</file>
	<file>
	  <filename>/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/powered_by_nbbc.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/images/powered_by_nbbc_small.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAFAAAAAPCAMAAABEF7i9AAABgFBMVEX/AP8tfC00ezQvdS9IfkgaiBobkhsqiio+jD47iTs1hzU5kzk7pDs8tTxEiERJjElElERNlE1Hm0dWiFZTmlNfnV9enl5Ym1hJpElHrEdEtERNuU1YqFhil2JzmXN2nHZ6nXpgh2BhoGFjo2NkpWRloWVmqGZoq2hqrmpvnm9rsWtttG1mtGZ9on17o3twp3BxuXF0v3R4sHhHxEdSzVJTx1NW2lZa4Vp4xnh8zHxyynJ703ti1mJt9W1j6GOApoCBo4GFq4WMrIyPpY+HuIeVrZWUspSctJyeuZ6hsqGltaWjuqOpuamsvayEwYSE24SYyJic2ZyX5pepwqml1aWj06Oq26qn2aezwbO7xru43bi01LSw6rDDzMPE08TN083P18/R1dHR2dHW3dbV29Xb3tvI58je4t7U6NTM98zl5eXn5+fl5uXi5OLl7OXo6Ojq6urt7e3u7u7r6+vu9O7v9u/v9+/v8O/j/+Px8fHw8PD09PT39/fw+PD6+vr9/f15+8+zAAAAAXRSTlMAQObYZgAAAAlwSFlzAAALEgAACxIB0t1+/AAAAAl0RVh0Q29tbWVudAAAiSqNBgAAAnRJREFUeJyVjulX2lAQxeMCCoKAUkVRwL0uqBStVmspVEGWuFSIgGJCDEIb8SV5AZrF9l/vgIV6esoHfpO5M/edOfeEIIa7E+odghie+dCNmV89kwsRpv3n5/T+f3jen/nZO37CFKgH6ul6ujkCrdly6Xo9MKnr+tMdq8eSV7DlYsmoHjk9jcbudP0xCsspozfhoqFwktPZuycwfsK83UzYhqq39FU5NU2rlBuaP/8jpGnZzRu/5stXPMcPYa3qqdx4L/IxuIhmwpFI+FhrlCvgfET/em0dPqhas1v7nxenoigP9yBbt7dhRUkuKUrj7LJEU2cKLl2eKalvW4qSvXzHK8r9BKPcP8ApBK7V1tbStTR0rdW1zuZQVTXPqaroHD8/PFGTTlV93DhgsodLaoM+2ECR81VVnf8ahTOVLKtcHiYEvu2KQ5IkipUkbM9ufnSnUnZJqrp2TRZzTpJot3vYYiqKkms3K73AUiBeon+ljbzyDw5RFK9ZURRGSHF2b3rWLorVqWAsMj1Fi8XgNLkZdHGi6z0pvsBeg0DgchtZzizLUB1sGGOKxRjZScxPHu2MYVx279B44iiM2R03j12fSDCrcIbjHGYpmBC42EaGyshyxy/aBEGgGJCRhCCUHXtjgvBosdKCPZgQOKuFL1msBSFntWYFoTBUFBgKTr3EwEIb+MOmdvyCDSGUYRAaN/bFESqazag8ZzAO9htmET1oNAz2GX08QvEhw/icYQghJgP3HmJg/jUZOfPX2Hiev7gq8PFUogBr4QtfTaQSJzEwJXg7idN8Ey7u+5wo8oWrCzAQOPqmG6Pfe4b0EMRAdzy9Q/wG/eBTES2ZnFkAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/images/smileys/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/smileys/angry.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQALMAAAAAAJlmM8xmM+CwAP7SJf7XL/7cOf7hQ//mTf/rV//wYf/1a//6df8A/wAAAAAAACH5BAkAAA0ALAAAAAAQABAAAAibABsIFAigoMGBCBsUFHCg4QEBBRMCEICgosWKEAdOPAAgAIIECRAEAPAQAEEDDUcqUNCxIkeFAlAiWLlgwcqQJQEUkFlwAYOCOA0U3HkAQc8FQBEcEKpTZgIFNW0GHYryQIKRHRU4ZCqAqEGDDQ1k1FkA69cABgqYhKk2wAADBgaMLJCRoAACBfLqpbtW40QCgAlA7CvxK+EGAQEAOw==]]></data>
	</file>
	<file>
	  <filename>/images/smileys/anime.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQALMAAAAAAJlmM8xmM+CwAP7SJf7XL/7cOf7hQ//mTf/rV//wYf/1a//6df8A/wAAAAAAACH5BAkAAA0ALAAAAAAQABAAAAidABsIFAigoMGBCBsUFHCg4QEBBRMCYIigosWHAAZOPIAggcePCDAS5JgAgIKTCgAkCJlxIwIAAwAsWAATQEiIAAwcgKlgQIAAA3oCOGCgYAEDAzr2HLBAQYIBRI3qVIrSaciiAI7u7PixZEOsArTCrBjzK0SFBbQGKBjga4GMCsMeNUC3boGzBAUQSMs3LV6NEwkIJoAzIWCDcAcGBAA7]]></data>
	</file>
	<file>
	  <filename>/images/smileys/bigeyes.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQALMAAAAAAH9/f5lmM8xmM+CwAP7SJf7XL/7cOf7hQ//mTf/rV//wYf8A/////wAAAAAAACH5BAkAAAwALAAAAAAQABAAAAiXABkIFAigoMGBCBkUHICgIYIBBRMCYIgggUWLDwEMnIhAQEEFCgoKyEjwgIAADRoUTBlgpMaJBwColDlTZUYABmLWrAkAQUycJlHubOmzYM6OBRcsEJmgKNCKCUBKVdDw54CcAKJaBNnzAESFBrASsEigqwGNCq/m9AhAwIEDBr4SHFAgrN2wcjdOLMC3AES0CRUajIgwIAA7]]></data>
	</file>
	<file>
	  <filename>/images/smileys/bigsmile.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQALMAAAAAAJlmM8xmM+CwAP7SJf7XL/7cOf7hQ//mTf/rV//wYf/1a//6df8A/wAAAAAAACH5BAkAAA0ALAAAAAAQABAAAAiQABsIFAigoMGBCBsUFHCg4QEBBRMCYHgAgUWLDwEMnNgQQYKPHxFkJGigYgIFKFEmEKlxYkkEBRcsKLgyI4ACL2MyoCnSQEGcJhXIXKCgps+bL0+mLNrzZ0mDUAE0PCoAZ4CoAAIcMABRYQGcWLcW0KiwqtWCAQwYKNCVoAACX+N+bbtxIoG7BCCSTagwasKAADs=]]></data>
	</file>
	<file>
	  <filename>/images/smileys/bigwink.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQALMAAAAAAJlmM8xmM/7SJf7XL/7cOf7hQ//mTf/rV//wYf/1a//6df8A/wAAAAAAAAAAACH5BAkAAAwALAAAAAAQABAAAAiNABkIFAigoMGBCBkUFGCgoQEBBRMCYHigYsWGEAdONHAAgUePBzACIMgRQYKTJxGELDBy44GCCmKeXAkRQAGOMBcYXEmgIIGbHhPEVJBApQGWAH6WRHkywEqfNw1KBRDg6MKfAaYCaFggY9KfU7n2JCiAAFaqBdISyEh2gNm3ZtlqnDig7oCaCedKTRgQADs=]]></data>
	</file>
	<file>
	  <filename>/images/smileys/blue.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQALMAAAAAAEJolf8A/2WJ/muM/nGP/neR/nyV/4OY/4mb/5Ce/5eh/wAAAAAAAAAAAAAAACH5BAkAAAIALAAAAAAQABAAAAiWAAUIFAigoMGBCAUUDGCgoYEABRMCYGjggEWLDwEMnNjwAIKPHw9kJFigIoIEKFEiEKlxYskDABIoAKAgwcqMAAiUBHBSwYKYNwsU1AnAo0wFM4MOfRkzQVOlOUsa4ImAqkgDQifq7HjxagGICglsdeiwAAGNCgOINQiggFsCYAkGGCC2rti4GycO2DsAItqECtn+FRgQADs=]]></data>
	</file>
	<file>
	  <filename>/images/smileys/boggle.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQALMAAAAAAH9/f8xmM/7SJf7XL/7cOf7hQ//mTf/rV//wYf8A/8zMzP///wAAAAAAAAAAACH5BAkAAAoALAAAAAAQABAAAAiQABUIFAigoMGCAwcWFGAAQIAFDBYEAJAQAMOGARho1DiRoICDECdmXEBRQUGIJDUaVGnyIwMAL0M6jGiQAACUMzcymFiQQAGDCRyinPgTgE8DBxAkCHrQQNGjSBFIlXrAgNOFRw0e2Gq1wEeTBGw27WrTY1gBHwEUWEvgq8cBYeOeLanQ4oC7A9ImrHiQrsCAADs=]]></data>
	</file>
	<file>
	  <filename>/images/smileys/confuse.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQALMAAAAAAMxmM/7SJf7XL/7cOf7hQ//mTf/rV//wYf/1a//6df8A/8zM/////wAAAAAAACH5BAkAAAsALAAAAAAQABAAAAiTAAEIBLBgIEGDCwoyYDCwQYOBCwUWFMiwoUGGCQFULADgIQADGiVOBFAApMADBxAq/JjyIQIEIQ8ONJBS4MuBAQQOIFBSYAIFJw0UIKCTp8mbAA4IJQpgZ4GSL1GifMo0gFOaUqcSyFlwwICeM4cOIFjQKtEABAzkJDCAa8YAArzK9eo24US4AvLmJGvXrkGRdgMCADs=]]></data>
	</file>
	<file>
	  <filename>/images/smileys/cool.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQALMAAAAAAJlmM8xmM+CwAP7SJf7XL/7cOf7hQ//mTf/rV//wYf/1a//6df8A/wAAAAAAACH5BAkAAA0ALAAAAAAQABAAAAiGABsIFAigoMGBCBsUFHCg4QEBBRMCYHgAgUWLDwEMnNgQQYKPHxFkJOjQI8gEIg9oNMiyZcsAAVyyhFmwgAGZBg/cBGBTZUEFCgyK3Nmz4skEDncK6OnR4kcAOiEqLGCzKYKYOgtoVLjUpsEBBgwUkEpQAAGqaKmS3TiRgFsCELcmVNgyYUAAOw==]]></data>
	</file>
	<file>
	  <filename>/images/smileys/evil.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQALMAAAAAAExMTJlmM8xmM/7SJf7XL/7cOf7hQ//mTf/rV//wYf/1a//6df8A/////wAAACH5BAkAAA0ALAAAAAAQABAAAAiZABsIFAigoMGBCBsUHHCg4YEBBRMCGICgosWKEAdOPABAAIIECRAIAPAQAEEDDUcqUNCxIkeFA1AiWLlgwcqQJQEUkFlwAYOCOA0U3HkAQc8FQBEcEKpTZgIFNW0GHYrSoFWSSxfuFOAggIOuDgQszahzJwCvXUkaKGASZoGtBQUYWJuR4AACb/O+ratxIoG/BCC2TajwasKAADs=]]></data>
	</file>
	<file>
	  <filename>/images/smileys/frown.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQALMAAAAAAJlmM8xmM+CwAP7SJf7XL/7cOf7hQ//mTf/rV//wYf/1a//6df8A/wAAAAAAACH5BAkAAA0ALAAAAAAQABAAAAiVABsIFAigoMGBCBsUFHCg4QEBBRMCYHgAgUWLDwEMnNgQQYKPHxFkJGigYgIFKFEmEKlxYkkEBRcsKLgyI4ACL2MyoCnSQEGcJhXIXKCgps+bL0+mLNrzZ8mKAQoGSODwqACgAAZYHACgoQGICgsU6OqwIQADYwlexWmgrdsCYNUSEEtXbNyNEwnoJQBRY0KCBiMiDAgAOw==]]></data>
	</file>
	<file>
	  <filename>/images/smileys/heart.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQAKIAAAAAAP8AAP9mZv8A//+Zmf/MzP///wAAACH5BAkAAAMALAAAAAAQABAAAAhsAAcMAEAQgMCBBQ8ODCBAQACDABg6NLhQAAECExlenDjQYgEDBRx6LIARokWQGBmS3AhR5UWML1NSBGAxpsWbFCvCbMjzocKIPIP6/BlAosiiOQ9GZMh0qEKBSx06fQq16FSqVZNiVbq1K9aAADs=]]></data>
	</file>
	<file>
	  <filename>/images/smileys/irritated.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQALMAAAAAAJlmM8xmM+CwAP7SJf7XL/7cOf7hQ//mTf/rV//wYf/1a//6df8A/wAAAAAAACH5BAkAAA0ALAAAAAAQABAAAAiVABsIFAigoMGBCBsUFHCg4QEBBRMCYHgAgUWLDwEMnNgQQYKPHxFkJGigYgIFKFEmEKlxYkkEBRcsKLgyI4ACL2MyoCnSQEGcJhXIXKCgps+bL0+mVDCg58+XHj8OABCg4VEBQD1OrWoVosICOLc6PGCggEaFWA0EMMC2bQGvBAUQAEsXLNyNEwnoJQDxbEKFBiMiDAgAOw==]]></data>
	</file>
	<file>
	  <filename>/images/smileys/laugh.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQALMAAAAAAJlmM8xmM+CwAP7SJf7XL/7cOf7hQ//mTf/rV//wYf/1a//6df8A/wAAAAAAACH5BAkAAA0ALAAAAAAQABAAAAiXABsIFAigoMGBCBsUFHCg4QEBBRMCYHgAgUWLDwEMnNgQQYKPHxFkJGjgAIABClIqGABApMaJJREEOMkyQAKREAEUKHlSwQIGK1seMFBwZ8UEPhcsUHBzaNGYSFUyFUlUJ0+DWBtWFbBzJlYAAYZCVFhg51cAQwtoVMi1a8EABgwUGEtQAIGyeMvS3TiRgF8CORPyxZowIAA7]]></data>
	</file>
	<file>
	  <filename>/images/smileys/lookleft.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQALMAAAAAAJlmM8xmM+CwAP7SJf7XL/7cOf7hQ//mTf/rV//wYf/1a//6df8A/wAAAAAAACH5BAkAAA0ALAAAAAAQABAAAAiOABsIFAigoMGBCBsUFHCg4QEBBRMCYIigYsWGEAdOPIAggUePCDACIMgxgYKTJxOENDByIwKDCwyuhAjAAEcAARQwwKnygIECBW12VLCgqIKeP4OWRJlyJdCaDT9+vJh0os0DIDs6zQigwNUABmsWAEpQgFcDaNOOzVh2rNuxBNhqnEigbtyICQmGHYkwIAA7]]></data>
	</file>
	<file>
	  <filename>/images/smileys/lookright.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQALMAAAAAAJlmM8xmM+CwAP7SJf7XL/7cOf7hQ//mTf/rV//wYf/1a//6df8A/wAAAAAAACH5BAkAAA0ALAAAAAAQABAAAAiQABsIFAigoMGBCBsUFHCg4QEBBRMCYHgAgUWLDwEMnNgQQYKPHxFkJGigYgIFKFEmEKlxYkkEBhcYFAkRQIGXCQIAYKBAp0gDBW+aVLCgqIKVB4DaxJlS5c+gLz2C/NhQqQChHi1STQpRYYGbBgEEqFpAo8KrNw2oXVugK0EBBL7K/ep240QCeAnUTGg3bMKAADs=]]></data>
	</file>
	<file>
	  <filename>/images/smileys/neutral.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQALMAAAAAAJlmM8xmM+CwAP7SJf7XL/7cOf7hQ//mTf/rV//wYf/1a//6df8A/wAAAAAAACH5BAkAAA0ALAAAAAAQABAAAAiOABsIFAigoMGBCBsUFHCg4QEBBRMCYHgAgUWLDwEMnNgQQYKPHxFkJGigYgIFKFEmEKlxYkkEBRcsKLgyI4ACL2MyoCnSQEGcJhXIXKCgps+bL0+mLNrz50uPIGseOCoAp8GrAKZCVFgA6EWRUwtoVFgVp4GzaAtsJSiAQNe3XddunEigLgGIYxMqxJowIAA7]]></data>
	</file>
	<file>
	  <filename>/images/smileys/saint.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQALMAAAAAAJlmM8xmM+CwAP//AP7SJf7XL/7cOf7hQ//mTf/rV//wYf/1a//6df8A/////yH5BAkAAA4ALAAAAAAQABAAAAidAB0IJPCgIIGDCAUOfHAQgMOHBA8qdIAQYUGGEx0AEDBgQICPAToKAKBwIwIECRSoVJkAwUiBAA6gVLCgZk0FLUlulJnAIYMGDnG6dGiAp08GQVseIMqTps0FQpcCKIoy5UqVJ6UKKAogZQKrABAceDmV64CvA8IeMEBS49aiARwGOLD2JUwBBQzo3WvAbsmNBQIXGNk2o8aHDjMGBAA7]]></data>
	</file>
	<file>
	  <filename>/images/smileys/sleepy.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQALMAAAAAAMxmM/7SJf7XL/7cOf7hQ//mTf/rV//wYf/1a/8A/wAAAAAAAAAAAAAAAAAAACH5BAkAAAoALAAAAAAQABAAAAiGABUIHEhQIICDAAoiPEgw4cCDAQpIDODQocGIBQxoNFBAwUKPGA0cGHmAo0ICGQ8gWIngo0cAEUUiSJAAQUmLAAYcNAAzAUkABAgYHIDSQEsAK13mRJmSJMcCQkESlbjxKQGKQyFK3EpA58MARCkGDToA61cBA9KqNdsQpoC3FC0WfIlwbkAAOw==]]></data>
	</file>
	<file>
	  <filename>/images/smileys/smile.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQALMAAAAAAJlmM8xmM+CwAP7SJf7XL/7cOf7hQ//mTf/rV//wYf/1a//6df8A/wAAAAAAACH5BAkAAA0ALAAAAAAQABAAAAiWABsIFAigoMGBCBsUFHCg4QEBBRMCYHgAgUWLDwEMnNgQQYKPHxFkJGigYgIFKFEmEKlxYkkEBRcsKLgyI4ACL2MyoCnSQEGcJhXIXKCgps+bL0+mLNrzZ0kAHkEmANDwqACgAAZYHED1gAGICgsADVAwQNUCGhVexWmgrdsCYAkKICC2rti4GycS2EsAYtqECg1GRBgQADs=]]></data>
	</file>
	<file>
	  <filename>/images/smileys/smile3.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQALMAAAAAAJlmM8xmM+CwAP7SJf7XL/7cOf7hQ//mTf/rV//wYf/1a//6df8A/wAAAAAAACH5BAkAAA0ALAAAAAAQABAAAAibABsIFAigoMGBCBsUFHCg4QEBBRMCYHgAgUWLDwEMnNgQQYKPHxFkJGigYgIFKFEmEKlxYkkEBRcsKLgyI4ACL2MyoCnSQEGcJhXIXKCgps+bL0+mLNrzZ0kAHkEmANDwqACcAAYgCBAAwQCqBiAqLIAzQNavAQ4YKKBR4VWcBuLKLSCWoAACZPOSrbtxIoG/BCC2TajQYESEAQEAOw==]]></data>
	</file>
	<file>
	  <filename>/images/smileys/sneaky.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQALMAAAAAAJlmM8xmM/7SJf7XL/7cOf7hQ//mTf/rV//wYf/1a//6df8A/wAAAAAAAAAAACH5BAkAAAwALAAAAAAQABAAAAiUABkIFAigoMGBCBkUFGCgoQEBBRMCEHCgosWKEAdONAAgwAEECA4EAPAQAMECDUcmSNCxIkeFDA8UVEBz5QEDBSACQCkTgIIFBm8WIFCQAEqQCWgqSBASZ1GeCFZK9egUgFGOBrMGqCrA6MisJHFmtGoUbMOhJmES8NqxgFsCGQkKGLC27tq4GicO2DtAZ8K8WRMGBAA7]]></data>
	</file>
	<file>
	  <filename>/images/smileys/star.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQALMAAAAAAH19G/7+APf1AezqBOHhCNjWDLu7G/8A////ff//u////wAAAAAAAAAAAAAAACH5BAkAAAgALAAAAAAQABAAAAh9ABEIHIgAAMGDBwEEMIgQIYAFDBsOVLhgocSJCxRAdAigI4ADCkIe8Nix4IKMChKoVBnyJEMABgQMIGCgJoEBAgxELHiggM+fBUY6PECgaFGhDgcoXTpgp0CFOAVIlWmRIICbAhYGkElgp0ICCw12DAA2IsySVs9OdJpWYEAAOw==]]></data>
	</file>
	<file>
	  <filename>/images/smileys/surprise.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQALMAAAAAAMxmM/7SJf7XL/7cOf7hQ//mTf/rV//wYf/1a/8A/////wAAAAAAAAAAAAAAACH5BAkAAAoALAAAAAAQABAAAAiOABUIFAigoMGBCBUUDFCgYYEABRMCYFjAgEWLDwEMnFjA4IEDBjMSJABggcmCJhcA6KgwAEmVBlGuhAhgwMuYMguQrEmgY8EECQwa0FnQZsUDCJImPTB0p1GLIAF8PNBwZwCbFmNiJABR4QCjMasO0NjyK4GdZwkM6EowgICvcL+y3ThRgF0BNBPSjZkwIAA7]]></data>
	</file>
	<file>
	  <filename>/images/smileys/sweatdrop.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQALMAAAAAAJlmM8xmM+CwAP7SJf7XL/7cOf7hQ//mTf/rV//yZGZmzP8A/5mZ/8zM/////yH5BAkAAAwALAAAAAAQABAAAAiZABkIFAigoEGCAwkCEHCg4QEBBRcAGLiwIYKLFw8AaDCRQcUDCBKIFFnQQUGPBiwqWElywQOJC1MWXKnA4AMHHAEUMADgIoCaChAAcICz4E6QCWiuBLDAAcyjIZUqSGDQaEqkIxM45LkQaoKLAwA0NADRY4GjAQoGGFugY9edBuLKLVCWoAACZ/OerUtxIYG/BCB2TKiwKuGAADs=]]></data>
	</file>
	<file>
	  <filename>/images/smileys/teeth.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQALMAAAAAAP7SJf7XL/7cOf7hQ//mTf/rV//wYf/1a/8A/////wAAAAAAAAAAAAAAAAAAACH5BAkAAAkALAAAAAAQABAAAAh9ABMIFAigYMGBCAkCIMCQ4cGECxkWmFjAIUIAAwgUNMCxoEWCAwAUMADgQEmSGkFmHHkAAYIDBiqGTABAgMGbN2fWBKBAAc+ePzECoGkTaE+fQHUWRWrU50yiPH8i3Tmwpk2pBQXYvCggAE6tQyECCECW7MOECg2iXcs2QUAAOw==]]></data>
	</file>
	<file>
	  <filename>/images/smileys/tongue.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQALMAAAAAAJkAAP8AAMxmM/7SJf7XL/7cOf7hQ//mTf/rV//wYf/1a//6df8A/wAAAAAAACH5BAkAAA0ALAAAAAAQABAAAAiTABsIFAigoMGBCBsUHHCg4YEBBRMCYHgAgUWLDwEMnNgQQYKPHxFkJGigYgIFKFEmEKlxYkkEBRcsKLgyI4ACL2MyoCnSQEGcJhXIXKCgps+bL0+mLNrz50uPIGseODoAp8GrAKZCVFgAKMwAAbIaKKBRYVWcPgUIADB2K8EBBLqSvVnA7caJBPISgFg2oUKsCQMCADs=]]></data>
	</file>
	<file>
	  <filename>/images/smileys/wink.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQALMAAAAAAJlmM8xmM+CwAP7SJf7XL/7cOf7hQ//mTf/rV//wYf/1a//6df8A/wAAAAAAACH5BAkAAA0ALAAAAAAQABAAAAiSABsIFAigoMGBCBsUFHCg4QEBBRMCYIigYsWGEAdOPIAggUePCDACIMgxgYKTJxOENDByI4KCC2KeXAkRgAGOMBkYXFmgYIGbHhXEXKBA5QGWAH6WRHkywEqfNyt+9AggwNGFSi0iCACgoYGMSZUaHOC1J0EBBX4aWMu2QMazBNLKTftW40QCeAnUTGjX4EiEAQEAOw==]]></data>
	</file>
	<file>
	  <filename>/images/smileys/wink3.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQALMAAAAAAJlmM8xmM+CwAP7SJf7XL/7cOf7hQ//mTf/rV//wYf/1a//6df8A/wAAAAAAACH5BAkAAA0ALAAAAAAQABAAAAiXABsIFAigoMGBCBsUFHCg4QEBBRMCYIigYsWGEAdOPIAggUePCDACIMgxgYKTJxOENDByI4KCC2KeXAkRgAGOMBkYXFmgYIGbHhXEXKBA5QGWAH6WRHkywEqfNyt6HOARQICjC38CGIAgQICCDQ1kTPrz6wADN4/2JCigwE+0cA0UyMiWgNu7bulqnEigL4GaCfcaHIkwIAA7]]></data>
	</file>
	<file>
	  <filename>/images/smileys/worry.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQALMAAAAAAJlmM8xmM+CwAP7SJf7XL/7cOf7hQ//mTf/rV//wYf/1a//6df8A/wAAAAAAACH5BAkAAA0ALAAAAAAQABAAAAiTABsIFAigoMGBCBsUFHCg4QEBBRMCYHgAgUWLDwEMnNgQQYKPHxFkJGigYgIFKFEmEKlxYkkEBRcsKLgyI4ACL2MyoCnSQEGcJhXIXKCgps+bL0+mLNrz50uPIGseOCoAaMEAAz4CmApRYYECWw8MCFDQgAGwBKviNMv2bNe0BL7K/fp240QCeAlA1JiQoMGICAMCADs=]]></data>
	</file>
	<file>
	  <filename>/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/JM_NBBCode.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEpNX05CQkNvZGUgLSBOQkJDb2RlIEFQSSBtb2R1bGUKIyBWZXJzaW9uOiAxLjAsIEpvTW9yZyAoRmVybmFuZG8gTW9yZ2FkbykKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAxMCBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIyBUaGUgbW9kdWxlJ3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvc2tlbGV0b24vCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCi8qKgogKiBKTV9OQkJDb2RlIGNsYXNzCiAqCiAqIEBhdXRob3IgSm9Nb3JnIChGZXJuYW5kbyBNb3JnYWRvKQogKiBAc2luY2UgMS4wCiAqIEBsaWNlbnNlIEdQTAogKiovCmNsYXNzIEpNX05CQkNvZGUgZXh0ZW5kcyBDTVNNb2R1bGUKewogICAgdmFyICRCQkNvZGU7CiAgICB2YXIgJFN0ID0gYXJyYXkoKTsgIyBzb21lIHNldHRpbmdzCiAgICAKICAgIGZ1bmN0aW9uIEpNX05CQkNvZGUoKQogICAgewogICAgICAgICR0aGlzLT5TdFsnQ3VyclBhdGgnXSA9IGRpcm5hbWUoX19GSUxFX18pIC4gRElSRUNUT1JZX1NFUEFSQVRPUjsKICAgICAgICAKICAgICAgICAkQkJDb2RlX1NvdXJjZURpciA9IGRpcm5hbWUoX19GSUxFX18pIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICdzcmMnOwogICAgICAgICMgbGV0J3MgIGdldCB0aGUgY2xhc3NlcyBsaWIKICAgICAgICByZXF1aXJlX29uY2UoJEJCQ29kZV9Tb3VyY2VEaXIgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJ25iYmNfbWFpbi5waHAnKTsKICAgICAgICAKICAgICAgICAvLyBpbml0aWFsaXplICAgICAgICAKICAgICAgICAkdGhpcy0+QkJDb2RlID0gbmV3IEJCQ29kZTsKICAgICAgICAkX2NuZiA9IGNtc191dGlsczo6Z2V0X2NvbmZpZygpOwogICAgICAgICR0aGlzLT5CQkNvZGUtPlNldERlYnVnKCRfY25mWydkZWJ1ZyddKTsKICAgICAgICAkdGhpcy0+U3RbJ0xvY2FsSW1nRGlyJ10gPSAkX2NuZlsnaW1hZ2VfdXBsb2Fkc19wYXRoJ107CiAgICAgICAgJHRoaXMtPlN0WydTbWlsZXlEaXInXSA9ICR0aGlzLT5TdFsnQ3VyclBhdGgnXSAuICdpbWFnZXMnIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICdzbWlsZXlzJzsKICAgICAgICAkdGhpcy0+X1Jlc2V0KCk7CiAgICB9CgogICAgLyoqCiAgICAqIEdldE5hbWUoKQogICAgKiBtdXN0IHJldHVybiB0aGUgZXhhY3QgY2xhc3MgbmFtZSBvZiB0aGUgbW9kdWxlLgogICAgKiBAcmV0dXJuIHN0cmluZyBjbGFzcyBuYW1lCiAgICAqLwogICAgZnVuY3Rpb24gR2V0TmFtZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICdKTV9OQkJDb2RlJzsKICAgIH0KCiAgICAvKioKICAgICogR2V0RnJpZW5kbHlOYW1lKCkKICAgICogQHJldHVybiBzdHJpbmcgRnJpZW5kbHkgbmFtZSBmb3IgdGhlIG1vZHVsZQogICAgKi8KICAgIGZ1bmN0aW9uIEdldEZyaWVuZGx5TmFtZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKTsKICAgIH0KCgogICAgLyoqCiAgICAqIEdldFZlcnNpb24oKQogICAgKiBUaGlzIGNhbiByZXR1cm4gYW55IHN0cmluZywgcHJlZmVyYWJseSBhIG51bWJlciAgCiAgICAqIEByZXR1cm4gc3RyaW5nIHZlcnNpb24gbnVtYmVyIChjYW4gYmUgc29tZXRoaW5nIGxpa2UgMS40cmMxKQogICAgKi8KICAgIGZ1bmN0aW9uIEdldFZlcnNpb24oKQogICAgewogICAgICAgIHJldHVybiAnMS4wUkMxJzsKICAgIH0KCiAgICAvKioKICAgICogR2V0SGVscCgpCiAgICAqIEByZXR1cm4gc3RyaW5nIEhlbHAgZm9yIHRoaXMgbW9kdWxlCiAgICAqLwogICAgZnVuY3Rpb24gR2V0SGVscCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5MYW5nKCdoZWxwJyk7CiAgICB9CgogICAgLyoqCiAgICAqIEdldEF1dGhvcigpCiAgICAqIEByZXR1cm4gc3RyaW5nIEF1dGhvciBuYW1lCiAgICAqLwogICAgZnVuY3Rpb24gR2V0QXV0aG9yKCkKICAgIHsKICAgIHJldHVybiAnSm9Nb3JnJzsKICAgIH0KCiAgICAvKioKICAgICogR2V0QXV0aG9yRW1haWwoKQogICAgKiBAcmV0dXJuIHN0cmluZyBBdXRob3JzIGVtYWlsCiAgICAqLwogICAgZnVuY3Rpb24gR2V0QXV0aG9yRW1haWwoKQogICAgewogICAgcmV0dXJuICdqbW9yZy5tb3JnQGdtYWlsLmNvbSc7CiAgICB9CgogICAgLyoqCiAgICAqIEdldENoYW5nZUxvZygpCiAgICAqIFRoaXMgcmV0dXJucyBhIHN0cmluZyB0aGF0IGlzIHByZXNlbnRlZCBpbiB0aGUgbW9kdWxlCiAgICAqIEByZXR1cm4gc3RyaW5nIENoYW5nZUxvZyBmb3IgdGhpcyBtb2R1bGUKICAgICovCiAgICAvKgogICAgZnVuY3Rpb24gR2V0Q2hhbmdlTG9nKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ2NoYW5nZWxvZycpOwogICAgfQogICAgKi8KCiAgICAvKioKICAgICogSXNQbHVnaW5Nb2R1bGUoKQogICAgKiBUaGlzIGZ1bmN0aW9uIHJldHVybnMgdHJ1ZSBvciBmYWxzZQogICAgKiBJZiB5b3VyIG1vZHVsZSBkb2VzIG5vdCBnZXQgaW5jbHVkZWQgaW4gcGFnZXMgb3IKICAgICogdGVtcGxhdGVzLCByZXR1cm4gImZhbHNlIiBoZXJlLgogICAgKiBAcmV0dXJuIGJvb2wgVHJ1ZSBpZiB0aGlzIG1vZHVsZSBjYW4gYmUgaW5jbHVkZWQgaW4gcGFnZSBhbmQgb3IgdGVtcGxhdGUKICAgICovCiAgICBmdW5jdGlvbiBJc1BsdWdpbk1vZHVsZSgpCiAgICB7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQoKICAgIC8qKgogICAgKiBIYXNBZG1pbigpCiAgICAqIEByZXR1cm4gYm9vbCBUcnVlIGlmIHRoaXMgbW9kdWxlIGhhcyBhZG1pbiBhcmVhCiAgICAqLwogICAgZnVuY3Rpb24gSGFzQWRtaW4oKQogICAgewogICAgICAgIHJldHVybiB0cnVlOwogICAgfQoKICAgIC8qKgogICAgKiBHZXRBZG1pblNlY3Rpb24oKQogICAgKiBWYWxpZCByZXR1cm4gdmFsdWVzIGFyZToKICAgICogCiAgICAqIG1haW4gICAgICAgIC0gdGhlIE1haW4gbWVudSB0YWIuCiAgICAqIGNvbnRlbnQgICAgIC0gdGhlIENvbnRlbnQgbWVudQogICAgKiBsYXlvdXQgICAgICAtIHRoZSBMYXlvdXQgbWVudQogICAgKiB1c2Vyc2dyb3VwcyAtIHRoZSBVc2VycyBhbmQgR3JvdXBzIG1lbnUKICAgICogZXh0ZW5zaW9ucyAgLSB0aGUgRXh0ZW5zaW9ucyBtZW51ICh0aGlzIGlzIHRoZSBkZWZhdWx0KQogICAgKiBzaXRlYWRtaW4gICAtIHRoZSBTaXRlIEFkbWluIG1lbnUKICAgICogbXlwcmVmcyAgICAgLSB0aGUgTXkgUHJlZmVyZW5jZXMgbWVudQogICAgKiBlY29tbQkJICAtIHRoZSBFY29tbWVyY2UgbWVudSAoaWYgZWNvbW1lcmNlIHN1aXRlIGlzIGluc3RhbGxlZCkKICAgICoKICAgICogQHJldHVybiBzdHJpbmcgV2hpY2ggYWRtaW4gc2VjdGlvbiB0aGlzIG1vZHVsZSBiZWxvbmdzIHRvCiAgICAqLwogICAgZnVuY3Rpb24gR2V0QWRtaW5TZWN0aW9uKCkKICAgIHsKICAgICAgICByZXR1cm4gJ2V4dGVuc2lvbnMnOwogICAgfQoKICAgIC8qKgogICAgKiBHZXRBZG1pbkRlc2NyaXB0aW9uKCkKICAgICogcmV0dXJuIGEgZGVzY3JpcHRpb24gc3RyaW5nIHRoYXQgZ2V0cyBzaG93bgogICAgKiBpbiB0aGUgQWRtaW4gU2VjdGlvbiBwYWdlIHRoYXQgY29udGFpbnMgdGhlIG1vZHVsZS4KICAgICogCiAgICAqIEByZXR1cm4gc3RyaW5nIE1vZHVsZSBkZXNjcmlwdGlvbgogICAgKi8KICAgIGZ1bmN0aW9uIEdldEFkbWluRGVzY3JpcHRpb24oKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+TGFuZygnbW9kZGVzY3JpcHRpb24nKTsKICAgIH0KCiAgICAvKioKICAgICogVmlzaWJsZVRvQWRtaW5Vc2VyKCkKICAgICogdGhlIG1vZHVsZSB3aWxsIG9ubHkgYmUgdmlzaWJsZSB0byBhZG1pbnMKICAgICogd2hvIGhhdmUgIlVzZSA8TW9kdWxlTmFtZT4iIHBlcm1pc3Npb25zLgogICAgKiBAcmV0dXJuIGJvb2wgVHJ1ZSBpZiB0aGlzIG1vZHVsZSBpcyBzaG93biB0byBjdXJyZW50IHVzZXIKICAgICovCiAgICBmdW5jdGlvbiBWaXNpYmxlVG9BZG1pblVzZXIoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdDaGFuZ2UgSk1fTkJCQ29kZSBTZXR0aW5ncycpOwogICAgfQoKICAgIC8qKgogICAgKiBHZXREYXNoYm9hcmRPdXRwdXQoKQogICAgKiBBIGNhcGFiaWxpdHkgb2YgbW9kdWxlcyB0aGF0IGlzIG5vdCBjdXJyZW50bHkgc3VwcG9ydGVkIGluIENNU01TIDEuNi54CiAgICAqIGlzIHRvIG91dHB1dCBub3RpY2VzIHRvIHRoZSBpbml0aWFsIERhc2hib2FyZCBwYWdlIG9mIHRoZSBBZG1pbiBhcmVhLgogICAgKiBZb3UgY291bGQgdXNlIHRoaXMgdG8gcG9zdCBhbnkga2luZCBvZiBub3RpZmljYXRpb24uCiAgICAqIEByZXR1cm4gc3RyaW5nIGRhc2hib2FyZCBvdXRwdXQKICAgICovCiAgICAvKgogICAgZnVuY3Rpb24gR2V0RGFzaGJvYXJkT3V0cHV0KCkgCiAgICB7CiAgICAgICAgLy8KICAgIH0KICAgICAgKi8KICAgICAgCiAgICAgIAogICAgLyoqCiAgICAqIEluIHRoZSBBZG1pbiBBcmVhLCB0aGVyZSBhcmUgbm90aWNlcyB3aGljaCBjYW4gYmUgZGlzcGxheWVkIHRvIHRoZSBhZG1pbiB1c2VyLgogICAgKiBUaGVzZSBub3RpY2VzIGFyZSBhc3NpZ25lZCBhIHByaW9yaXR5IGZyb20gMSB0byAzLCB3aXRoIDEgYmVpbmcgdGhlIGhpZ2hlc3QuCiAgICAqIChwcmlvcml0eSBmaWx0ZXJpbmcgaXMgbm90IHlldCBzdXBwb3J0ZWQsIGJ1dCB3aWxsIGJlKS4KICAgICogTm90aWNlcyBzaG91bGQgYmUgdXNlZCB2ZXJ5IHNwYXJpbmdseSwgYXMgaWYgdGhlcmUgYXJlIHRvbyBtYW55IGFsZXJ0cywgdGhlIHVzZXIKICAgICogd2lsbCBzdG9wIHBheWluZyBhdHRlbnRpb24uCiAgICAqIEByZXR1cm5zIGEgc3RkQ2xhc3Mgb2JqZWN0IHdpdGggdHdvIHByb3BlcnRpZXMuLi4uIHByaW9yaXR5ICgxLT4zKS4uLiBhbmQKICAgICogaHRtbCwgd2hpY2ggaW5kaWNhdGVzIHRoZSB0ZXh0IHRvIGRpc3BsYXkgZm9yIHRoZSBOb3RpZmljYXRpb24uCiAgICAqLwogICAgZnVuY3Rpb24gR2V0Tm90aWZpY2F0aW9uT3V0cHV0KCRwcmlvcml0eT0yKSAKICAgIHsKICAgICAgICAvKgogICAgICAgIGlmICgkcHJpb3JpdHkgPCA0ICYmICRyY291bnQgPT0gMCApCiAgICAgICAgICB7CiAgICAgICAgICAkcmV0ID0gbmV3IHN0ZENsYXNzOwogICAgICAgICAgJHJldC0+cHJpb3JpdHkgPSAyOwogICAgICAgICAgJHJldC0+aHRtbD0kdGhpcy0+TGFuZygnYWxlcnRfbm9fcmVjb3JkcycpOwogICAgICAgICAgcmV0dXJuICRyZXQ7CiAgICAgICAgICB9ICAKICAgICAgICByZXR1cm4gJyc7IAogICAgICAgICovCiAgICB9CgogICAgLyoqCiAgICAqIEdldERlcGVuZGVuY2llcygpCiAgICAqIEl0IHNob3VsZCByZXR1cm4gYW4gaGFzaCwgZWcuCiAgICAqIHJldHVybiBhcnJheSgnc29tZW1vZHVsZSc9PicxLjAnLCAnb3RoZXJtb2R1bGUnPT4nMS4xJyk7CiAgICAqIEByZXR1cm4gaGFzaCBIYXNoIG9mIG90aGVyIG1vZHVsZXMgdGhpcyBtb2R1bGUgZGVwZW5kcyBvbgogICAgKi8KICAgIGZ1bmN0aW9uIEdldERlcGVuZGVuY2llcygpCiAgICB7CiAgICAgICAgcmV0dXJuIGFycmF5KCk7CiAgICB9CgogICAgLyoqCiAgICAqIE1pbmltdW1DTVNWZXJzaW9uKCkKICAgICogQHJldHVybiBzdHJpbmcgTWluaW11bSBjbXMgdmVyc2lvbiB0aGlzIG1vZHVsZSBzaG91bGQgd29yayBvbgogICAgKi8KICAgIGZ1bmN0aW9uIE1pbmltdW1DTVNWZXJzaW9uKCkKICAgIHsKICAgICAgICByZXR1cm4gIjEuMTAuMCI7CiAgICB9CgogICAgLyoqCiAgICAqIE1heGltdW1DTVNWZXJzaW9uKCkKICAgICogVGhpcyBtZXRob2QgcmV0dXJucyBhIHN0cmluZyByZXByZXNlbnRpbmcgdGhlCiAgICAqIG1heGltdW0gdmVyc2lvbiB0aGF0IHRoaXMgbW9kdWxlIHN1cHBvcnRzLgogICAgKi8KCgogICAgZnVuY3Rpb24gTWF4aW11bUNNU1ZlcnNpb24oKQogICAgewogICAgICAgIHJldHVybiAiMi4wIjsKICAgIH0KCiAgICAvKioKICAgICogSW5pdGlhbGl6ZUZyb250ZW5kCiAgICAqIFRoaXMgZnVuY3Rpb24gc2VydmVzIGFzIGEgZnJvbnRlbmQgaW5pdGlhbGl6YXRpb24gYXJlYS4KICAgICovIAogICAgZnVuY3Rpb24gSW5pdGlhbGl6ZUZyb250ZW5kKCkKICAgIHsKICAgICAgICAjJHRoaXMtPlJlZ2lzdGVyTW9kdWxlUGx1Z2luKCk7CgogICAgICAgIC8qKgogICAgICAgICogIFNlY3VyaXR5CiAgICAgICAgKi8KICAgICAgICAvLyBEb24ndCBhbGxvdyBwYXJhbWV0ZXJzIG90aGVyIHRoYW4gdGhlIG9uZXMgeW91J3ZlIGV4cGxpY2l0bHkgZGVmaW5lZAogICAgICAgIAogICAgICAgICMkdGhpcy0+UmVzdHJpY3RVbmtub3duUGFyYW1zKCk7CgogICAgICAgIC8vIHN5bnRheCBmb3IgY3JlYXRpbmcgYSBwYXJhbWV0ZXIgaXMgcGFyYW1ldGVyIG5hbWUsIGRlZmF1bHQgdmFsdWUsIGRlc2NyaXB0aW9uCiAgICAgICAgLyoKICAgICAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdpbnB1dCcsICcnLCAkdGhpcy0+TGFuZygnaGVscF9pbnB1dCcpKTsKICAgICAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnaW5wdXQnLENMRUFOX1NUUklORyk7CiAgICAgICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignYXNzaWduJywgJycsICR0aGlzLT5MYW5nKCdoZWxwX2Fzc2lnbicpKTsKICAgICAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnYXNzaWduJyxDTEVBTl9TVFJJTkcpOyAgICAgICAgCiAgICAgICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignbG9jYWxpbWdkaXInLCAnJywgJHRoaXMtPkxhbmcoJ2hlbHBfbG9jYWxpbWdkaXJfaWQnKSk7CiAgICAgICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2xvY2FsaW1nZGlyJyxDTEVBTl9TVFJJTkcpOwogICAgICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3NtaWxleWRpcicsICcnLCAkdGhpcy0+TGFuZygnaGVscF9zbWlsZXlkaXInKSk7CiAgICAgICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3NtaWxleWRpcicsQ0xFQU5fU1RSSU5HKTsKICAgICAgIAogICAgICAgIC8qKgogICAgICAgICogRXZlbnQgSGFuZGxpbmcKICAgICAgICAqCiAgICAgICAgVHlwaWNhbCBleGFtcGxlOiBzcGVjaWZ5IHRoZSBvcmlnaW5hdG9yLCB0aGUgZXZlbnQgbmFtZSwgYW5kIHdoZXRoZXIgb3Igbm90CiAgICAgICAgdGhlIGV2ZW50IGlzIHJlbW92YWJsZSAodXNlZCBmb3Igb25lLXRpbWUgZXZlbnRzKQoKICAgICAgICAkdGhpcy0+QWRkRXZlbnRIYW5kbGVyKCAnQ29yZScsICdDb250ZW50UG9zdFJlbmRlcicsIHRydWUgKTsKICAgICAgICAqLwogICAgfQoKICAgIC8qKgogICAgKiBHZXRFdmVudERlc2NyaXB0aW9uKCkKICAgICogSWYgeW91ciBtb2R1bGUgY2FuIGNyZWF0ZSBldmVudHMsIHlvdSB3aWxsIG5lZWQKICAgICogdG8gcHJvdmlkZSB0aGUgQVBJIHdpdGggZG9jdW1lbnRhdGlvbiBvZiB3aGF0CiAgICAqIHRoYXQgZXZlbnQgZG9lcy4gVGhpcyBtZXRob2Qgd3JhcHMgdXAgYSBzaW1wbGUKICAgICogcmV0dXJuIG9mIHRoZSBsb2NhbGl6ZWQgZGVzY3JpcHRpb24uCiAgICAqIEBwYXJhbSBzdHJpbmcgRXZlbnRuYW1lCiAgICAqIEByZXR1cm4gc3RyaW5nIERlc2NyaXB0aW9uIGZvciBldmVudCAKICAgICovCiAgICAvKgogICAgZnVuY3Rpb24gR2V0RXZlbnREZXNjcmlwdGlvbiAoICRldmVudG5hbWUgKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+TGFuZygnZXZlbnRfaW5mb18nLiRldmVudG5hbWUgKTsKICAgIH0KICAgICovCiAgICAKICAgIAogICAgLyoqCiAgICAqIEdldEV2ZW50SGVscCgpCiAgICAqIElmIHlvdXIgbW9kdWxlIGNhbiBjcmVhdGUgZXZlbnRzLCB5b3Ugd2lsbCBuZWVkCiAgICAqIHRvIHByb3ZpZGUgdGhlIEFQSSB3aXRoIGRvY3VtZW50YXRpb24gb2YgaG93IHRvCiAgICAqIHVzZSB0aGUgZXZlbnQuIFRoaXMgbWV0aG9kIHdyYXBzIHVwIGEgc2ltcGxlCiAgICAqIHJldHVybiBvZiB0aGUgbG9jYWxpemVkIGRlc2NyaXB0aW9uLgogICAgKiBAcGFyYW0gc3RyaW5nIEV2ZW50bmFtZQogICAgKiBAcmV0dXJuIHN0cmluZyBIZWxwIGZvciBldmVudAogICAgKi8KICAgIC8qCiAgICBmdW5jdGlvbiBHZXRFdmVudEhlbHAgKCAkZXZlbnRuYW1lICkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ2V2ZW50X2hlbHBfJy4kZXZlbnRuYW1lICk7CiAgICB9CiAgICAqLwoKICAgIC8qKgogICAgKiBEb0V2ZW50KCkKICAgICogSWYgeW91ciBtb2R1bGUgcmVjZWl2ZXMvaGFuZGxlcy9wcm9jZXNzZXMgZXZlbnRzIGdlbmVyYXRlZAogICAgKiBieSB0aGUgY29yZSBvciBieSBvdGhlciBtb2R1bGVzLCB5b3Ugd2lsbCBuZWVkIHRvIHByb3ZpZGUKICAgICogdGhpcyBtZXRob2QgdG8gZG8gd2hhdGV2ZXIgaXQgaXMgeW91J3JlIGdvaW5nIHRvIGRvLgogICAgKiBPdGhlciB0aGFuIHRoZSBldmVudCBkZXRhaWxzLCB0aGUgcGFyYW1ldGVycyBwYXNzZWQgdG8geW91cgogICAgKiBtZXRob2QgZGVwZW5kIGVudGlyZWx5IG9uIHRoZSBldmVudCBvcmlnaW5hdG9yLiBZb3UgY2FuCiAgICAqIHNlZSB3aGF0IHRob3NlIHBhcmFtZXRlcnMgYXJlIGJ5IGNsaWNraW5nIG9uIHRoZSBJbmZvcm1hdGlvbgogICAgKiBidXR0b24gZm9yIHRoZSBldmVudCBpbiB0aGUgQWRtaW4gPiBFeHRlbnNpb25zID4gRXZlbnQgTWFuYWdlcgogICAgKgogICAgKiBAcGFyYW0gc3RyaW5nIG9yaWdpbmF0b3Igd2hlcmUgdGhlIGV2ZW50IG9yaWdpbmF0ZWQsIGUuZy4gIkNvcmUiLAogICAgKiAiTmV3cyIsIGV0Yy4KICAgICogQHBhcmFtIHN0cmluZyBldmVudG5hbWUgdGhlIG5hbWUgb2YgdGhlIGV2ZW50CiAgICAqIEBwYXJhbSBtaXhlZCBwYXJhbXMgdGhlIHBhcmFtZXRlcnMgcGFzc2VkIGJ5IHRoZSBldmVudCBpbml0aWF0b3IKCiAgICBmdW5jdGlvbiBEb0V2ZW50KCAkb3JpZ2luYXRvciwgJGV2ZW50bmFtZSwgJiRwYXJhbXMgKQogICAgewogICAgaWYgKCRvcmlnaW5hdG9yID09ICdDb3JlJyAmJiAkZXZlbnRuYW1lID09ICdDb250ZW50UG9zdFJlbmRlcicpCgkgICAgewoJICAgIC8vIHN0dXBpZCBleGFtcGxlIC0tIGxvd2VyY2FzZXMgZW50aXJlIG91dHB1dAoJICAgICRwYXJhbXNbJ2NvbnRlbnQnXSA9IHN0cnRvbG93ZXIoJHBhcmFtc1snY29udGVudCddKTsKCSAgICB9CiAgICB9CiAgICAqLwoKICAgIC8qKgogICAgKiBJbnN0YWxsUG9zdE1lc3NhZ2UoKQogICAgKiBAcmV0dXJuIHN0cmluZyBNZXNzYWdlIHRvIGJlIHNob3duIGFmdGVyIGluc3RhbGxhdGlvbgogICAgKi8KICAgIGZ1bmN0aW9uIEluc3RhbGxQb3N0TWVzc2FnZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5MYW5nKCdwb3N0aW5zdGFsbCcpOwogICAgfQoKICAgIC8qKgogICAgKiBVbmluc3RhbGxQb3N0TWVzc2FnZSgpCiAgICAqIEByZXR1cm4gc3RyaW5nIE1lc3NhZ2UgdG8gYmUgc2hvd24gYWZ0ZXIgdW5pbnN0YWxsYXRpb24KICAgICovCiAgICBmdW5jdGlvbiBVbmluc3RhbGxQb3N0TWVzc2FnZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5MYW5nKCdwb3N0dW5pbnN0YWxsJyk7CiAgICB9CgogICAgLyoqCiAgICAqIFVuaW5zdGFsbFByZU1lc3NhZ2UoKQogICAgKiBJZiB5b3UgZG9uJ3Qgd2FudCB0aGUgZGlhbG9nLCBoYXZlIHRoaXMgbWV0aG9kIHJldHVybiBhIEZBTFNFLCB3aGljaCB3aWxsIGNhdXNlIHRoZQogICAgKiBtb2R1bGUgdG8gdW5pbnN0YWxsIGltbWVkaWF0ZWx5IGlmIHRoZSB1c2VyIGNsaWNrcyB0aGUgInVuaW5zdGFsbCIgbGluay4KICAgICogQHJldHVybiBzdHJpbmcgTWVzc2FnZSB0byBiZSBzaG93biBiZWZvcmUgdW5pbnN0YWxsYXRpb24KICAgICovCiAgICBmdW5jdGlvbiBVbmluc3RhbGxQcmVNZXNzYWdlKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ3JlYWxseV91bmluc3RhbGwnKTsKICAgIH0KCgogICAgLyoqCiAgICAqIERvQWN0aW9uKCRhY3Rpb24sICRpZCwgJHBhcmFtcywgJHJldHVybmlkKQogICAgKiBUaGlzIGlzIHRoZSBtYWluIGZ1bmN0aW9uIHRoYXQgZ2V0cyBjYWxsZWQgaWYgeW91ciBtb2R1bGUKICAgICogaXMgYSBwbHVnLWluIHR5cGUgbW9kdWxlLgogICAgKiAKICAgICovCiAvKgogICAgZnVuY3Rpb24gRG9BY3Rpb24oJGFjdGlvbiwgJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQ9LTEpCiAgICB7CiAgICAgICAgc3dpdGNoICgkYWN0aW9uKSB7CiAgICAgICAgICAgIAogICAgICAgICAgICBjYXNlICdkZWZhdWx0JzoKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIyBpbnB1dCBpcyBtYW5kYXRvcnkKICAgICAgICAgICAgICAgIGlmICggICFpc3NldCgkcGFyYW1zWydpbnB1dCddKSB8fCAoICcnICE9PSAkcGFyYW1zWydpbnB1dCddICkgKSByZXR1cm47CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICMgYXNzaWduIGlzIG1hbmRhdG9yeQogICAgICAgICAgICAgICAgaWYgKCAgIWlzc2V0KCRwYXJhbXNbJ2Fzc2lnbiddKSB8fCAoICcnICE9PSAkcGFyYW1zWydhc3NpZ24nXSApICkgcmV0dXJuOwogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAkdGhpcy0+X1Jlc2V0KCk7CgogICAgICAgICAgICAgICAgIyBnZXQgdGhlIHJlc3Qgb2YgdGhlIHBhcmFtcyBpZiB0aGV5IGV4aXN0CiAgICAgICAgICAgICAgICBpZiAoICBpc3NldCgkcGFyYW1zWydsb2NhbGltZ2RpciddKSAmJiAoICcnICE9PSAkcGFyYW1zWydsb2NhbGltZ2RpciddICkgKSAgCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPkJCQ29kZS0+U2V0TG9jYWxJbWdEaXIoJHBhcmFtc1snbG9jYWxpbWdkaXInXSk7ICAKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgaWYgKCAgaXNzZXQoJHBhcmFtc1snc21pbGV5ZGlyJ10pICYmICggJycgIT09ICRwYXJhbXNbJ3NtaWxleWRpciddICkgKSAKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+QkJDb2RlLT5TZXRTbWlsZXlEaXIoJHBhcmFtc1snc21pbGV5ZGlyJ10pOyAgICAgCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlY2hvICc8cHJlPic7CiAgICAgICAgICAgICAgICBwcmludF9yKCRwYXJhbXMpOwogICAgICAgICAgICAgICAgZWNobyAnPC9wcmU+JzsKICAgICAgICAgICAgICAgICRzbWFydHktPmFzc2lnbigkcGFyYW1zWydhc3NpZ24nXSwgJHRoaXMtPkJCQ29kZS0+UGFyc2UoJHBhcmFtc1snaW5wdXQnXSkpOwogICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICovICAgCiAgICAvKioKICAgICogX1Jlc2V0KCkKICAgICogUmVzZXQgdG8gZGVmYXVsdAogICAgKi8KICAgIGZ1bmN0aW9uIF9SZXNldCgpCiAgICB7CiAgICAgICAgJHRoaXMtPkJCQ29kZS0+U2V0TG9jYWxJbWdEaXIoJHRoaXMtPlN0WydMb2NhbEltZ0RpciddKTsKICAgICAgICAkdGhpcy0+QkJDb2RlLT5TZXRTbWlsZXlEaXIoJHRoaXMtPlN0WydTbWlsZXlEaXInXSk7CiAgICB9CiAgICAKCiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgIAogICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICAqIEFQSSAKICAgICogV3JhcHAncyBhbGwgbWV0aG9kcyBhdmFpbGxhYmxlIGluIE5CQkMKICAgICogS2VlcGluZyB0aGUgdW5zYWZlIG1ldGhvdHMgb3V0LgogICAgKiAKICAgICogTm90IGNvbW1lbnRlZCBhcyB3ZSBhcmUgc3VwcGx5aW5nIHRoZSBmdWxsIG9yaWdpbmFsIERvY3MKICAgICogCiAgICAqLwogICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAgCiAgICAvKioKICAgICogQ29yZSBQYXJzaW5nIEZ1bmN0aW9ucwogICAgKi8KCiAgICBmdW5jdGlvbiBQYXJzZSgkc3RyaW5nKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+QkJDb2RlLT5QYXJzZSgkc3RyaW5nKTsKICAgIH0KCiAgICBmdW5jdGlvbiBTZXREZWJ1ZyAoIGJvb2wgJGVuYWJsZSApCiAgICB7CiAgICAgICAgJHRoaXMtPkJCQ29kZS0+U2V0RGVidWcoJGVuYWJsZSk7ICAKICAgIH0KCiAgICBmdW5jdGlvbiBHZXREZWJ1ZygpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5CQkNvZGUtPkdldERlYnVnKCk7CiAgICB9CgogICAgCiAgICAKICAgIC8qKgogICAgKiBMYW5ndWFnZS1CZWhhdmlvciBGdW5jdGlvbnMKICAgICovCgogICAgZnVuY3Rpb24gU2V0VGFnTWFya2VyKCBzdHJpbmcgJG1hcmtlciApCiAgICB7CiAgICAgICAgJHRoaXMtPkJCQ29kZS0+U2V0VGFnTWFya2VyKCAkbWFya2VyICk7ICAKICAgIH0KCiAgICBmdW5jdGlvbiBHZXRUYWdNYXJrZXIoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+QkJDb2RlLT5HZXRUYWdNYXJrZXIoKTsgICAgCiAgICB9CgogICAgZnVuY3Rpb24gU2V0QWxsb3dBbXBlcnNhbmQoIGJvb2wgJGFsbG93ICkKICAgIHsKICAgICAgICAkdGhpcy0+QkJDb2RlLT5TZXRBbGxvd0FtcGVyc2FuZCggJGFsbG93ICk7CiAgICB9CgogICAgZnVuY3Rpb24gR2V0QWxsb3dBbXBlcnNhbmQoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+QkJDb2RlLT5HZXRBbGxvd0FtcGVyc2FuZCgpOwogICAgfQoKICAgIGZ1bmN0aW9uIFNldElnbm9yZU5ld2xpbmVzKCBib29sICRpZ25vcmUgKQogICAgewogICAgICAgICR0aGlzLT5CQkNvZGUtPlNldElnbm9yZU5ld2xpbmVzKCAkaWdub3JlICk7CiAgICB9CgogICAgZnVuY3Rpb24gR2V0SWdub3JlTmV3bGluZXMoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+QkJDb2RlLT5HZXRJZ25vcmVOZXdsaW5lcygpOwogICAgfQoKICAgIGZ1bmN0aW9uIFNldFBsYWluTW9kZSggYm9vbCAkZW5hYmxlICkKICAgIHsKICAgICAgICAkdGhpcy0+QkJDb2RlLT5TZXRQbGFpbk1vZGUoICRlbmFibGUgKTsKICAgIH0KCiAgICBmdW5jdGlvbiBHZXRQbGFpbk1vZGUoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+QkJDb2RlLT4gR2V0UGxhaW5Nb2RlKCk7ICAgCiAgICB9CgogICAgZnVuY3Rpb24gU2V0TGltaXQoIGludCAkbGltaXQgKQogICAgewogICAgICAgICR0aGlzLT5CQkNvZGUtPlNldExpbWl0KCAkbGltaXQgKTsgICAKICAgIH0KICAgIAogICAgZnVuY3Rpb24gR2V0TGltaXQoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+QkJDb2RlLT5HZXRMaW1pdCgpOyAgICAKICAgIH0KICAgIAogICAgZnVuY3Rpb24gU2V0TGltaXRQcmVjaXNpb24oIGZsb2F0ICRwcmVjICkKICAgIHsKICAgICAgICAkdGhpcy0+QkJDb2RlLT5TZXRMaW1pdFByZWNpc2lvbiggJHByZWMgKTsgICAgCiAgICB9CiAgICAKICAgIGZ1bmN0aW9uIEdldExpbWl0UHJlY2lzaW9uKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPkJCQ29kZS0+R2V0TGltaXRQcmVjaXNpb24oKTsgICAKICAgIH0KICAgIAogICAgZnVuY3Rpb24gU2V0TGltaXRUYWlsKCBzdHJpbmcgJHRhaWwgKQogICAgewogICAgICAgICR0aGlzLT5CQkNvZGUtPlNldExpbWl0VGFpbCggJHRhaWwgKTsgICAKICAgIH0KICAgIAogICAgZnVuY3Rpb24gR2V0TGltaXRUYWlsKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPkJCQ29kZS0+R2V0TGltaXRUYWlsKCk7ICAgIAogICAgfQogICAgCiAgICBmdW5jdGlvbiBXYXNMaW1pdGVkKCkgIAogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+QkJDb2RlLT5XYXNMaW1pdGVkKCk7ICAgIAogICAgfQogICAgCiAgICAKICAgIAogICAgLyoqCiAgICAqIENvbnRlbnQtVHJpbW1pbmcgRnVuY3Rpb25zCiAgICAqLwogICAgCiAgICBmdW5jdGlvbiBTZXRQcmVUcmltKCBzdHJpbmcgJGhvdyApCiAgICB7CiAgICAgICAgJHRoaXMtPkJCQ29kZS0+U2V0UHJlVHJpbSggJGhvdyApOyAgICAKICAgIH0KCiAgICBmdW5jdGlvbiBHZXRQcmVUcmltKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPkJCQ29kZS0+R2V0UHJlVHJpbSgpOwogICAgfQoKICAgIGZ1bmN0aW9uIFNldFBvc3RUcmltKCBzdHJpbmcgJGhvdyApCiAgICB7CiAgICAgICAgJHRoaXMtPkJCQ29kZS0+U2V0UG9zdFRyaW0oICRob3cgKTsKICAgIH0KCiAgICBmdW5jdGlvbiBHZXRQb3N0VHJpbSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5CQkNvZGUtPkdldFBvc3RUcmltKCk7CiAgICB9CiAgICAKICAgIAogICAgLyoqCiAgICAqIFJvb3QtQ2xhc3MgRnVuY3Rpb25zCiAgICAqLwogICAgCiAgICBmdW5jdGlvbiBTZXRSb290SW5saW5lKCkKICAgIHsKICAgICAgICAkdGhpcy0+QkJDb2RlLT5TZXRSb290SW5saW5lKCk7CiAgICB9CgogICAgZnVuY3Rpb24gU2V0Um9vdEJsb2NrKCkKICAgIHsKICAgICAgICAkdGhpcy0+QkJDb2RlLT5TZXRSb290QmxvY2soKTsKICAgIH0KICAgIAogICAgZnVuY3Rpb24gU2V0Um9vdCggc3RyaW5nICRjbGFzcyApCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5CQkNvZGUtPlNldFJvb3QoICRjbGFzcyApOwogICAgfQogICAgCgogICAgZnVuY3Rpb24gR2V0Um9vdCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5CQkNvZGUtPkdldFJvb3QoKTsKICAgIH0KICAgIAogICAgCiAgICAvKioKICAgICogUnVsZSBGdW5jdGlvbnMKICAgICovCiAgICAKICAgIGZ1bmN0aW9uIEFkZFJ1bGUoIHN0cmluZyAkbmFtZSwgYXJyYXkgJHBhcmFtcyApCiAgICB7CiAgICAgICAgJHRoaXMtPkJCQ29kZS0+QWRkUnVsZSggJG5hbWUsICRwYXJhbXMgKTsgICAgCiAgICB9CiAgICAKCiAgICBmdW5jdGlvbiBSZW1vdmVSdWxlKCBzdHJpbmcgJG5hbWUgKQogICAgewogICAgICAgICR0aGlzLT5CQkNvZGUtPlJlbW92ZVJ1bGUoICRuYW1lICk7CiAgICB9CgogICAgZnVuY3Rpb24gR2V0UnVsZSggc3RyaW5nICRuYW1lICkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPkJCQ29kZS0+R2V0UnVsZSggJG5hbWUgKTsKICAgIH0KCiAgICBmdW5jdGlvbiBDbGVhclJ1bGVzKCkKICAgIHsKICAgICAgICAkdGhpcy0+QkJDb2RlLT5DbGVhclJ1bGVzKCk7CiAgICB9CgogICAgZnVuY3Rpb24gR2V0RGVmYXVsdFJ1bGUoICRuYW1lICkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPkJCQ29kZS0+R2V0RGVmYXVsdFJ1bGUoICRuYW1lICk7CiAgICB9CgogICAgZnVuY3Rpb24gU2V0RGVmYXVsdFJ1bGUoIHN0cmluZyAkbmFtZSApCiAgICB7CiAgICAgICAgJHRoaXMtPkJCQ29kZS0+U2V0RGVmYXVsdFJ1bGUoICRuYW1lICk7CiAgICB9CgogICAgZnVuY3Rpb24gR2V0RGVmYXVsdFJ1bGVzKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPkJCQ29kZS0+R2V0RGVmYXVsdFJ1bGVzKCk7CiAgICB9CgogICAgZnVuY3Rpb24gU2V0RGVmYXVsdFJ1bGVzKCkKICAgIHsKICAgICAgICAkdGhpcy0+QkJDb2RlLT5TZXREZWZhdWx0UnVsZXMoKTsKICAgIH0KICAgIAogICAgCiAgICAvKioKICAgICogV2lraS1MaW5rIEZ1bmN0aW9ucwogICAgKi8KICAgIAogICAgZnVuY3Rpb24gU2V0V2lraVVSTCggc3RyaW5nICR1cmwgKQogICAgewogICAgICAgICR0aGlzLT5CQkNvZGUtPlNldFdpa2lVUkwoICR1cmwgKTsKICAgIH0KCiAgICBmdW5jdGlvbiBHZXRXaWtpVVJMKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPkJCQ29kZS0+R2V0V2lraVVSTCgpOwogICAgfQoKICAgIGZ1bmN0aW9uIEdldERlZmF1bHRXaWtpVVJMKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPkJCQ29kZS0+R2V0RGVmYXVsdFdpa2lVUkwoKTsKICAgIH0KCiAgICBmdW5jdGlvbiBXaWtpZnkoIHN0cmluZyAkcmF3c3RyaW5nICkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPkJCQ29kZS0+V2lraWZ5KCAkcmF3c3RyaW5nICk7CiAgICB9CiAgICAKICAgIAogICAgLyoqCiAgICAqIFNtaWxleSBGdW5jdGlvbnMKICAgICovCiAgICAKICAgIGZ1bmN0aW9uIEFkZFNtaWxleSggc3RyaW5nICRuYW1lICwgc3RyaW5nICRpbWFnZSApCiAgICB7CiAgICAgICAgJHRoaXMtPkJCQ29kZS0+QWRkU21pbGV5KCAkbmFtZSwgJGltYWdlICk7CiAgICB9CgogICAgZnVuY3Rpb24gUmVtb3ZlU21pbGV5KCBzdHJpbmcgJG5hbWUgKQogICAgewogICAgICAgICR0aGlzLT5CQkNvZGUtPlJlbW92ZVNtaWxleSggJG5hbWUgKTsKICAgIH0KCiAgICBmdW5jdGlvbiBHZXRTbWlsZXkoICRuYW1lICkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPkJCQ29kZS0+R2V0U21pbGV5KCAkbmFtZSApOwogICAgfQoKICAgIGZ1bmN0aW9uIENsZWFyU21pbGV5cygpCiAgICB7CiAgICAgICAgJHRoaXMtPkJCQ29kZS0+Q2xlYXJTbWlsZXlzKCk7CiAgICB9CgogICAgZnVuY3Rpb24gR2V0RGVmYXVsdFNtaWxleSggc3RyaW5nICRuYW1lICkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPkJCQ29kZS0+R2V0RGVmYXVsdFNtaWxleSggJG5hbWUgKTsKICAgIH0KCiAgICBmdW5jdGlvbiBTZXREZWZhdWx0U21pbGV5KCBzdHJpbmcgJG5hbWUgKQogICAgewogICAgICAgICR0aGlzLT5CQkNvZGUtPlNldERlZmF1bHRTbWlsZXkoICRuYW1lICk7CiAgICB9CgogICAgZnVuY3Rpb24gR2V0RGVmYXVsdFNtaWxleXMoKQogICAgewogICAgICAgcmV0dXJuICR0aGlzLT5CQkNvZGUtPkdldERlZmF1bHRTbWlsZXlzKCk7CiAgICB9CgogICAgZnVuY3Rpb24gU2V0RGVmYXVsdFNtaWxleXMoKQogICAgewogICAgICAgICR0aGlzLT5CQkNvZGUtPlNldERlZmF1bHRTbWlsZXlzKCk7CiAgICB9CgogICAgZnVuY3Rpb24gU2V0U21pbGV5RGlyKCBzdHJpbmcgJGZ1bGxwYXRoICkKICAgIHsKICAgICAgICAkdGhpcy0+QkJDb2RlLT5TZXRTbWlsZXlEaXIoICRmdWxscGF0aCApOwogICAgfQoKICAgIGZ1bmN0aW9uIEdldFNtaWxleURpcigpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5CQkNvZGUtPkdldFNtaWxleURpcigpOwogICAgfQoKICAgIGZ1bmN0aW9uIEdldERlZmF1bHRTbWlsZXlEaXIoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+QkJDb2RlLT5HZXREZWZhdWx0U21pbGV5RGlyKCk7CiAgICB9CgogICAgZnVuY3Rpb24gU2V0U21pbGV5VVJMKCRwYXRoKQogICAgewogICAgICAgICR0aGlzLT5CQkNvZGUtPlNldFNtaWxleVVSTCggJHBhdGggKTsgICAgCiAgICB9CgogICAgZnVuY3Rpb24gR2V0U21pbGV5VVJMKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPkJCQ29kZS0+R2V0U21pbGV5VVJMKCk7CiAgICB9CgogICAgZnVuY3Rpb24gR2V0RGVmYXVsdFNtaWxleVVSTCgpCiAgICB7CiAgICAgICByZXR1cm4gJHRoaXMtPkJCQ29kZS0+R2V0RGVmYXVsdFNtaWxleVVSTCgpOwogICAgfQoKICAgIGZ1bmN0aW9uIFNldEVuYWJsZVNtaWxleXMoIGJvb2wgJGVuYWJsZSApCiAgICB7CiAgICAgICAgJHRoaXMtPkJCQ29kZS0+U2V0RW5hYmxlU21pbGV5cyggJGVuYWJsZSApOwogICAgfQoKICAgIGZ1bmN0aW9uIEdldEVuYWJsZVNtaWxleXMoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+QkJDb2RlLT5HZXRFbmFibGVTbWlsZXlzKCk7CiAgICB9CiAgICAKICAgIC8qKgogICAgKiBSZXBsYWNlZC1JdGVtIEZ1bmN0aW9ucwogICAgKi8KICAgIAogICAgZnVuY3Rpb24gU2V0UnVsZUhUTUwoIHN0cmluZyAkaHRtbCApCiAgICB7CiAgICAgICAgJHRoaXMtPkJCQ29kZS0+U2V0UnVsZUhUTUwoICRodG1sICk7CiAgICB9CgogICAgZnVuY3Rpb24gR2V0UnVsZUhUTUwoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+QkJDb2RlLT5HZXRSdWxlSFRNTCgpOwogICAgfQoKICAgIGZ1bmN0aW9uIEdldERlZmF1bHRSdWxlSFRNTCgpCiAgICB7CiAgICAgICByZXR1cm4gJHRoaXMtPkJCQ29kZS0+R2V0RGVmYXVsdFJ1bGVIVE1MKCk7CiAgICB9CgogICAgZnVuY3Rpb24gU2V0TG9jYWxJbWdEaXIoIHN0cmluZyAkZnVsbHBhdGggKQogICAgewogICAgICAgICR0aGlzLT5CQkNvZGUtPlNldExvY2FsSW1nRGlyKCAkZnVsbHBhdGggKTsKICAgIH0KCiAgICBmdW5jdGlvbiBHZXRMb2NhbEltZ0RpcigpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5CQkNvZGUtPkdldExvY2FsSW1nRGlyKCk7CiAgICB9CgogICAgZnVuY3Rpb24gR2V0RGVmYXVsdExvY2FsSW1nRGlyKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPkJCQ29kZS0+R2V0RGVmYXVsdExvY2FsSW1nRGlyKCk7CiAgICB9CgogICAgZnVuY3Rpb24gU2V0TG9jYWxJbWdVUkwoIHN0cmluZyAkdXJsICkKICAgIHsKICAgICAgICAkdGhpcy0+QkJDb2RlLT5TZXRMb2NhbEltZ1VSTCggJHVybCApOwogICAgfQoKICAgIGZ1bmN0aW9uIEdldExvY2FsSW1nVVJMKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPkJCQ29kZS0+R2V0TG9jYWxJbWdVUkwoKTsKICAgIH0KCiAgICBmdW5jdGlvbiBHZXREZWZhdWx0TG9jYWxJbWdVUkwoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+QkJDb2RlLT5HZXREZWZhdWx0TG9jYWxJbWdVUkwoKTsKICAgIH0KCiAgICBmdW5jdGlvbiBHZXRVUkxUYXJnZXRhYmxlKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPkJCQ29kZS0+R2V0VVJMVGFyZ2V0YWJsZSgpOwogICAgfQoKICAgIGZ1bmN0aW9uIFNldFVSTFRhcmdldGFibGUoICRlbmFibGVkICkKICAgIHsKICAgICAgICAkdGhpcy0+QkJDb2RlLT5TZXRVUkxUYXJnZXRhYmxlKCAkZW5hYmxlZCApOwogICAgfQoKICAgIGZ1bmN0aW9uIEdldFVSTFRhcmdldCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5CQkNvZGUtPkdldFVSTFRhcmdldCgpOwogICAgfQoKICAgIGZ1bmN0aW9uIFNldFVSTFRhcmdldCggbWl4ZWQgJHNldHRpbmcgKQogICAgewogICAgICAgICR0aGlzLT5CQkNvZGUtPlNldFVSTFRhcmdldCggJHNldHRpbmcgKTsKICAgIH0KICAgIAogICAgCiAgICAvKioKICAgICogTWlzY2VsbGFuZW91cyBTdXBwb3J0IEZ1bmN0aW9ucwogICAgKi8KICAgIAogICAgZnVuY3Rpb24gbmwyYnIoIHN0cmluZyAkaW5wdXQgKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+QkJDb2RlLT5ubDJiciggJGlucHV0ICk7CiAgICB9CgogICAgZnVuY3Rpb24gSXNWYWxpZFVSTCggc3RyaW5nICRhZGRyZXNzICkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPkJCQ29kZS0+SXNWYWxpZFVSTCggJGFkZHJlc3MgKTsKICAgIH0KCiAgICBmdW5jdGlvbiBJc1ZhbGlkRW1haWwoIHN0cmluZyAkYWRkcmVzcyApCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5CQkNvZGUtPklzVmFsaWRFbWFpbCggJGFkZHJlc3MgKTsKICAgIH0KCiAgICBmdW5jdGlvbiBIVE1MRW5jb2RlKCBzdHJpbmcgJGlucHV0ICkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPkJCQ29kZS0+SFRNTEVuY29kZSggJGlucHV0ICk7CiAgICB9CgogICAgZnVuY3Rpb24gRml4dXBPdXRwdXQoIHN0cmluZyAkaW5wdXQgKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+QkJDb2RlLT5GaXh1cE91dHB1dCggJGlucHV0ICk7CiAgICB9CgogICAgZnVuY3Rpb24gRmlsbFRlbXBsYXRlKCBzdHJpbmcgJHRlbXBsYXRlICwgYXJyYXkgJHBhcmFtcyAsIGFycmF5ICRkZWZhdWx0ID0gYXJyYXkoKSApICAgIAogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+QkJDb2RlLT5GaWxsVGVtcGxhdGUoICR0ZW1wbGF0ZSAsICRwYXJhbXMgLCAkZGVmYXVsdCApOwogICAgfSAgICAKICAgIAp9IC8vZW5kIGNsYXNzCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ05CQkNvZGUgQVBJJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnTkJCQ29kZSBBUEkgaW5zdGFsbGVkIHN1Y2Vzc2Z1bGx5ISc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnTkJCQ29kZSBBUEkgdW5pbnN0YWxsZWQgc3VjZXNzZnVsbHkhJzsKJGxhbmdbJ3JlYWxseV91bmluc3RhbGwnXSA9ICdSZWFsbHk/IFlvdVwncmUgc3VyZSB5b3Ugd2FudCB0byB1bmluc3RhbGwgTkJCQ29kZSBBUEk/JzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTkJCQ29kZSBBUEkgVW5pbnN0YWxsZWQuJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ05CQkNvZGUgQVBJIHZlcnNpb24gJXMgaW5zdGFsbGVkLic7CiRsYW5nWydwcmVmc3VwZGF0ZWQnXSA9ICdOQkJDb2RlIEFQSSBwcmVmZXJlbmNlcyB1cGRhdGVkLic7CiRsYW5nWydlcnJvciddID0gJ0Vycm9yISc7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ05CQkNvZGUgQVBJIGFsbG93cyBvdGhlciBtb2R1bGVzIHRvIHVzZSBOTkJDIHBhcnNpbmcuJzsKJGxhbmdbJ2NoYW5nZWxvZyddID0gJwoKPHVsPgogICAgPGxpPlZlcnNpb24gMS4wLjAgMjIgSmFudWFyeSAyMDEyLiBJbml0aWFsIFJlbGVhc2UuPC9saT4KPC91bD4KJzsKJGxhbmdbJ2hlbHAnXSA9ICcKCgoKPGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+CjxwPkpNIE5CQkNvZGUgcHJvdmlkZXMgYW4gQVBJIGZvciB5b3UgdG8gdXNlIEJCQyBjb2RlIGluIHlvdXIgb3duIG1vZHVsZXMgYnkgd3JhcHBpbmcgdGhlIE5CQkMgbGlicmFyeS48L3A+CjxoMz5Ib3cgRG8gSSBVc2UgSXQ8L2gzPgo8cD5JZiB5b3VyIG5vdCBhIHByb2dyYW1tZXIgdGhpcyBtb2R1bGUgZG9lc25cJ3QgcHJvdmlkZSBhbnkgZnVuY2lvbmFsaXR5IHlldCAoZnV0dXJlIHZlcnNpb25zIHdpbGwpLjwvcD4KPHA+SWYgeW91IGRldmVsb3AgeW91ciBvd24gbW9kdWxlcyBhbmQgd2FudCB0byBwYXJzZSB5b3VyIGNvZGUgdGhyb3VnaCBhbiBhZHZhbmNlZCBiYmMgcGFyc2VyCnlvdSBjYW4gdXNlIHRoaXMgZXh0ZW5zaXZlIEFQSS48L3A+CjxwPlRpcGljYWwgdXNlOjwvcD4KPHByZT4KICAgICAgICAkYmJjb2RlID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKFwnSk1fTkJCQ29kZVwnKTsKICAgICAgICBpZiAoaXNfb2JqZWN0KCRiYmNvZGUpKQogICAgICAgIHsKICAgICAgICAgICAgJGJiY29kZS0+U2V0U21pbGV5VVJMKCR0aGlzLT5Nb2R1bGVEYXRhW1wnSW1hZ2VVcmxcJ10uXCdzbWlsZXlzXCcpOwogICAgICAgICAgICAkcGFyc2VkX3RleHQgJGJiY29kZS0+UGFyc2UoJHJhd190ZXh0KTsKICAgICAgICB9CjwvcHJlPgoKPHA+QSBjb21wbGV0ZSBtYW51YWwgY2FuIGJlIGZvdW5kIG9uIHRoaXMgbW9kdWxlIGRvY3MgZm9sZGVyLjwvcD4KPHA+WW91IGNhbiBhbHNvIGNvbnN1bHQ6IDxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vbmJiYy5zb3VyY2Vmb3JnZS5uZXQvcmVhZG1lLnBocD9wYWdlPWFwaSI+VGhlIE5ldyBCQkNvZGUgUGFyc2VyPC9hPjwvcD4KCjxwPk5CQkMgY29tZXMgYnVpbHQtaW4gd2l0aCBhIG51bWJlciBvZiB1c2VmdWwgZmVhdHVyZXM6PC9wPgoKPHVsPgo8bGk+T3V0cHV0IGlzIGFsd2F5cyBYSFRNTCAxLjAgU3RyaWN0IGNvbmZvcm1hbnQuPC9saT4KPGxpPk91dHB1dCBpcyBwcm90ZWN0ZWQgYWdhaW5zdCBtYW55IGNvbW1vbiB1c2VyLWlucHV0IGF0dGFja3MsIHN1Y2ggYXMgWFNTIGF0dGFja3MuPC9saT4KPGxpPlNtaWxleXMsIHN1Y2ggYXMgPHR0PjotKTwvdHQ+LCBhcmUgY29udmVydGVkIGludG8gPHR0PiZsdDtpbWcmZ3Q7PC90dD4gdGFncywKICAgIGFuZCBhIGxhcmdlIGxpYnJhcnkgb2YgY29tbW9uIHNtaWxleSBpbWFnZXMgaXMgaW5jbHVkZWQuPC9saT4KPGxpPkluY2x1ZGVzIGEgbGlicmFyeSBzdXBwb3J0aW5nIGFsbCB0aGUgc3RhbmRhcmQgQkJDb2RlIGNvZGVzIGZvdW5kIG9uIG1vc3QKICAgIHBvcHVsYXIgYnVsbGV0aW4gYm9hcmRzIGFuZCB3ZWIgZm9ydW1zLjwvbGk+CjxsaT5TdXBwb3J0cyAid2lraSBsaW5rcywiIHdoaWNoIGNhbiBiZSBhbiBlYXN5IHdheSBmb3IgdXNlcnMgdG8gcmVmZXJlbmNlIHdpa2kKICAgIHBhZ2VzIG9uIHlvdXIgc2l0ZSBpZiB5b3UgYWxzbyBoYXZlIGEgd2lraSBpbnN0YWxsZWQuPC9saT4KPGxpPlRoZSBsaXN0IG9mIGNvZGVzIGlzIGZ1bGx5IGV4dGVuc2libGU7IHlvdSBjYW4gYWRkIGFuZCByZW1vdmUgY29kZXMgYXQgYW55IHRpbWUuPC9saT4KPGxpPlRpZ2h0bHkgZW5jYXBzdWxhdGVkIGluIGNsYXNzZXMgYW5kIGRvZXNuXCd0IHBvbGx1dGUgdGhlIGdsb2JhbCBuYW1lc3BhY2UsCiAgICBzbyBpdFwncyBlYXN5IHRvIGRyb3AgaW50byBleGlzdGluZyBlbnZpcm9ubWVudHMuPC9saT4KPGxpPlRoZSBlbnRpcmUgcGFyc2VyIGNvbnNpc3RzIG9mIG9ubHkgZm91ciBmaWxlcywgb25seSBvbmUgb2Ygd2hpY2ggeW91IGV2ZXIgbmVlZAogICAgdG8gaW5jbHVkZSBkaXJlY3RseSwgd2hpY2ggYWxzbyBtYWtlcyBpdCBlYXN5IHRvIGRyb3AgaW50byBleGlzdGluZyBlbnZpcm9ubWVudHMuPC9saT4KPGxpPlRoZSBzdGFuZGFyZCBsaWJyYXJ5IGluY2x1ZGVzIHN1cHBvcnQgZm9yIG5vdCBvbmx5IGV4dHJlbWVseSBjb21tb24gdGFncyBsaWtlIFtiXQogICAgYW5kIFtpXSwgYnV0IGFsc28gc3VwcG9ydHMgbmVhcmx5IGFsbCB0aGUgdGFncyBmb3VuZCBvbiBtb3N0IG1ham9yIGZvcnVtcyBhbmQKICAgIGJ1bGxldGluIGJvYXJkczogIFtjZW50ZXJdLCBbbGlzdF0sIFtjb2RlXSwgYW5kIFtxdW90ZV0sIGFtb25nIG90aGVycywgd2l0aCBhbGwKICAgIHRoZWlyIHZhcmlvdXMgZmxhZ3MgYW5kIHBhcmFtZXRlcnMuPC9saT4KPGxpPiBOQkJDIGlzIGNvdmVyZWQgdW5kZXIgdGhlCiAgICA8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9ic2QtbGljZW5zZS5waHAiPk5ldyBCU0QgT3Blbi1Tb3VyY2UgTGljZW5zZTwvYT4sCiAgICBzbyBpdCBjYW4gYmUgdXNlZCBhbnl3aGVyZSwgYW55d2hlbiwgaW4gYW55IHByb2plY3QsIGZvciBhbnkgcmVhc29uLjwvbGk+CjwvdWw+Cgo8aDM+RnVuY3Rpb25zIGxpc3Q8L2gzPgo8cD48ZW0+KGZvciBkZXRhaWxzIGFuZCBwYXJhbWV0ZXJzIGNvbnN1bHQgdGhlIGluY2x1ZGVkIGRvY3MpPC9lbT48L3A+CjxwPkNvcmUgUGFyc2luZyBGdW5jdGlvbnM6PC9wPgo8dWw+CiAgPGxpPkJCQ29kZTo6QkJDb2RlPC9saT4KICA8bGk+QkJDb2RlOjpQYXJzZTwvbGk+CiAgPGxpPkJCQ29kZTo6RG9UYWc8L2xpPgogIDxsaT5CQkNvZGU6OlNldERlYnVnPC9saT4KICA8bGk+QkJDb2RlOjpHZXREZWJ1ZzwvbGk+CjwvdWw+CjxwPkxhbmd1YWdlLUJlaGF2aW9yIEZ1bmN0aW9uczo8L3A+Cjx1bD4KICA8bGk+QkJDb2RlOjpTZXRUYWdNYXJrZXI8L2xpPgogIDxsaT5CQkNvZGU6OkdldFRhZ01hcmtlcjwvbGk+CiAgPGxpPkJCQ29kZTo6U2V0QWxsb3dBbXBlcnNhbmQ8L2xpPgogIDxsaT5CQkNvZGU6OkdldEFsbG93QW1wZXJzYW5kPC9saT4KICA8bGk+QkJDb2RlOjpTZXRJZ25vcmVOZXdsaW5lczwvbGk+CiAgPGxpPkJCQ29kZTo6R2V0SWdub3JlTmV3bGluZXM8L2xpPgogIDxsaT5CQkNvZGU6OlNldFBsYWluTW9kZTwvbGk+CiAgPGxpPkJCQ29kZTo6R2V0UGxhaW5Nb2RlPC9saT4KICA8bGk+QkJDb2RlOjpTZXRMaW1pdDwvbGk+CiAgPGxpPkJCQ29kZTo6R2V0TGltaXQ8L2xpPgogIDxsaT5CQkNvZGU6OlNldExpbWl0UHJlY2lzaW9uPC9saT4KICA8bGk+QkJDb2RlOjpHZXRMaW1pdFByZWNpc2lvbjwvbGk+CiAgPGxpPkJCQ29kZTo6U2V0TGltaXRUYWlsPC9saT4KICA8bGk+QkJDb2RlOjpHZXRMaW1pdFRhaWw8L2xpPgogIDxsaT5CQkNvZGU6Oldhc0xpbWl0ZWQ8L2xpPgo8L3VsPgo8cD5Db250ZW50LVRyaW1taW5nIEZ1bmN0aW9uczo8L3A+Cjx1bD4KICA8bGk+QkJDb2RlOjpTZXRQcmVUcmltPC9saT4KICA8bGk+QkJDb2RlOjpHZXRQcmVUcmltPC9saT4KICA8bGk+QkJDb2RlOjpTZXRQb3N0VHJpbTwvbGk+CiAgPGxpPkJCQ29kZTo6R2V0UG9zdFRyaW08L2xpPgogIDxsaT5Sb290LUNsYXNzIEZ1bmN0aW9uczo8L2xpPgogIDxsaT5CQkNvZGU6OlNldFJvb3RJbmxpbmU8L2xpPgogIDxsaT5CQkNvZGU6OlNldFJvb3RCbG9jazwvbGk+CiAgPGxpPkJCQ29kZTo6U2V0Um9vdDwvbGk+CiAgPGxpPkJCQ29kZTo6R2V0Um9vdDwvbGk+CjwvdWw+CjxwPlJ1bGUgRnVuY3Rpb25zOjwvcD4KPHVsPgogIDxsaT5CQkNvZGU6OkFkZFJ1bGU8L2xpPgogIDxsaT5CQkNvZGU6OlJlbW92ZVJ1bGU8L2xpPgogIDxsaT5CQkNvZGU6OkdldFJ1bGU8L2xpPgogIDxsaT5CQkNvZGU6OkNsZWFyUnVsZXM8L2xpPgogIDxsaT5CQkNvZGU6OkdldERlZmF1bHRSdWxlPC9saT4KICA8bGk+QkJDb2RlOjpTZXREZWZhdWx0UnVsZTwvbGk+CiAgPGxpPkJCQ29kZTo6R2V0RGVmYXVsdFJ1bGVzPC9saT4KICA8bGk+QkJDb2RlOjpTZXREZWZhdWx0UnVsZXM8L2xpPgogIDxsaT5XaWtpLUxpbmsgRnVuY3Rpb25zOjwvbGk+CiAgPGxpPkJCQ29kZTo6U2V0V2lraVVSTDwvbGk+CiAgPGxpPkJCQ29kZTo6R2V0V2lraVVSTDwvbGk+CiAgPGxpPkJCQ29kZTo6R2V0RGVmYXVsdFdpa2lVUkw8L2xpPgogIDxsaT5CQkNvZGU6Oldpa2lmeTwvbGk+CjwvdWw+CjxwPlNtaWxleSBGdW5jdGlvbnM6PC9wPgo8dWw+CiAgPGxpPkJCQ29kZTo6QWRkU21pbGV5PC9saT4KICA8bGk+QkJDb2RlOjpSZW1vdmVTbWlsZXk8L2xpPgogIDxsaT5CQkNvZGU6OkdldFNtaWxleTwvbGk+CiAgPGxpPkJCQ29kZTo6Q2xlYXJTbWlsZXlzPC9saT4KICA8bGk+QkJDb2RlOjpHZXREZWZhdWx0U21pbGV5PC9saT4KICA8bGk+QkJDb2RlOjpTZXREZWZhdWx0U21pbGV5PC9saT4KICA8bGk+QkJDb2RlOjpHZXREZWZhdWx0U21pbGV5czwvbGk+CiAgPGxpPkJCQ29kZTo6U2V0RGVmYXVsdFNtaWxleXM8L2xpPgogIDxsaT5CQkNvZGU6OlNldFNtaWxleURpcjwvbGk+CiAgPGxpPkJCQ29kZTo6R2V0U21pbGV5RGlyPC9saT4KICA8bGk+QkJDb2RlOjpHZXREZWZhdWx0U21pbGV5RGlyPC9saT4KICA8bGk+QkJDb2RlOjpTZXRTbWlsZXlVUkw8L2xpPgogIDxsaT5CQkNvZGU6OkdldFNtaWxleVVSTDwvbGk+CiAgPGxpPkJCQ29kZTo6R2V0RGVmYXVsdFNtaWxleVVSTDwvbGk+CiAgPGxpPkJCQ29kZTo6U2V0RW5hYmxlU21pbGV5czwvbGk+CiAgPGxpPkJCQ29kZTo6R2V0RW5hYmxlU21pbGV5czwvbGk+CjwvdWw+CjxwPlJlcGxhY2VkIEl0ZW0gRnVuY3Rpb25zOjwvcD4KPHVsPgogIDxsaT5CQkNvZGU6OkdldFJ1bGVIVE1MPC9saT4KICA8bGk+QkJDb2RlOjpTZXRSdWxlSFRNTDwvbGk+CiAgPGxpPkJCQ29kZTo6R2V0RGVmYXVsdFJ1bGVIVE1MPC9saT4KICA8bGk+QkJDb2RlOjpHZXRMb2NhbEltZ0RpcjwvbGk+CiAgPGxpPkJCQ29kZTo6U2V0TG9jYWxJbWdEaXI8L2xpPgogIDxsaT5CQkNvZGU6OkdldERlZmF1bHRMb2NhbEltZ0RpcjwvbGk+CiAgPGxpPkJCQ29kZTo6R2V0TG9jYWxJbWdVUkw8L2xpPgogIDxsaT5CQkNvZGU6OlNldExvY2FsSW1nVVJMPC9saT4KICA8bGk+QkJDb2RlOjpHZXREZWZhdWx0TG9jYWxJbWdVUkw8L2xpPgo8L3VsPgo8cD5NaXNjZWxsYW5lb3VzIFN1cHBvcnQgRnVuY3Rpb25zOjwvcD4KPHVsPgogIDxsaT5CQkNvZGU6Om5sMmJyPC9saT4KICA8bGk+QkJDb2RlOjpJc1ZhbGlkVVJMPC9saT4KICA8bGk+QkJDb2RlOjpJc1ZhbGlkRW1haWw8L2xpPgogIDxsaT5CQkNvZGU6OkhUTUxFbmNvZGU8L2xpPgogIDxsaT5CQkNvZGU6OkZpeHVwT3V0cHV0PC9saT4KPC91bD4KCjxoMz5TdXBwb3J0PC9oMz4KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPgo8dWw+CjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCwgcGxlYXNlIHZpc2l0IHRoZSBNb2R1bGUgRm9yZ2UKPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9qbV9uYmJjb2RlLyI+Sk1fTkJCQ29kZSBQYWdlPC9hPi48L2xpPgo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+CjxsaT5UaGUgYXV0aG9yLCBKb01vcmcsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zIj5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+CjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseS48L2xpPgo8L3VsPgo8cD5BcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy4gUGxlYXNlIHJlYWQgdGhlIHRleHQKb2YgdGhlIGxpY2Vuc2UgZm9yIHRoZSBmdWxsIGRpc2NsYWltZXIuPC9wPgoKPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+CjxwPkNvcHlyaWdodCAmY29weTsgMjAxMiwgRmVybmFuZG8gTW9yZ2Fkby4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPgo8cD5OQkJDIGlzIHJlbGVhc2VkIHVuZGVyIENvcHlyaWdodCAmY29weTsgMjAxMCwgdGhlIFBoYW50b20gSW5rZXIuICBBbGwgcmlnaHRzIHJlc2VydmVkLjwvcD4KPHA+VGhpcyBtb2R1bGUgaGFzIGJlZW4gcmVsZWFzZWQgdW5kZXIgdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+R05VIFB1YmxpYyBMaWNlbnNlPC9hPi4gWW91IG11c3QgYWdyZWUgdG8gdGhpcyBsaWNlbnNlIGJlZm9yZSB1c2luZyB0aGUgbW9kdWxlLjwvcD4KJzsKPz4K]]></data>
	</file>
	<file>
	  <filename>/lang/ext/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEpNX05CQkNvZGUgLSBOQkJDb2RlIEFQSSBtb2R1bGUKIyBWZXJzaW9uOiAxLjAsIEpvTW9yZyAoRmVybmFuZG8gTW9yZ2FkbykKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAxMCBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIyBUaGUgbW9kdWxlJ3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvc2tlbGV0b24vCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQppZiAoIWlzc2V0KCRnQ21zKSkgZXhpdDsKCi8qCgovLyBjcmVhdGUgYSBwZXJtaXNzaW9uCiR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKCdVc2UgU2tlbGV0b24nLCAnVXNlIFNrZWxldG9uJyk7CiR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKCdTZXQgU2tlbGV0b24gUHJlZnMnLCdTZXQgU2tlbGV0b24gUHJlZnMnKTsKCi8vIGNyZWF0ZSBhIHByZWZlcmVuY2UKJHRoaXMtPlNldFByZWZlcmVuY2UoImFsbG93X2FkZCIsIHRydWUpOwoKLy8gcmVnaXN0ZXIgYW4gZXZlbnQgdGhhdCB0aGUgU2tlbGV0b24gd2lsbCBpc3N1ZS4gT3RoZXIgbW9kdWxlcwovLyBvciB1c2VyIHRhZ3Mgd2lsbCBiZSBhYmxlIHRvIHN1YnNjcmliZSB0byB0aGlzIGV2ZW50LCBhbmQgdHJpZ2dlcgovLyBvdGhlciBhY3Rpb25zIHdoZW4gaXQgZ2V0cyBjYWxsZWQuCiR0aGlzLT5DcmVhdGVFdmVudCggJ09uU2tlbGV0b25QcmVmZXJlbmNlQ2hhbmdlJyApOwoqLwovLyBwdXQgbWVudGlvbiBpbnRvIHRoZSBhZG1pbiBsb2cKJHRoaXMtPkF1ZGl0KCAwLCAKCSAgICAgICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKSwgCgkgICAgICAkdGhpcy0+TGFuZygnaW5zdGFsbGVkJywgJHRoaXMtPkdldFZlcnNpb24oKSkgKTsKCgkgICAgICAKPz4=]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEpNX05CQkNvZGUgLSBOQkJDb2RlIEFQSSBtb2R1bGUKIyBWZXJzaW9uOiAxLjAsIEpvTW9yZyAoRmVybmFuZG8gTW9yZ2FkbykKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAxMCBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIyBUaGUgbW9kdWxlJ3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvc2tlbGV0b24vCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLyoqCiAqIEZvciBzZXBhcmF0ZWQgbWV0aG9kcywgeW91J2xsIGFsd2F5cyB3YW50IHRvIHN0YXJ0IHdpdGggdGhlIGZvbGxvd2luZwogKiBsaW5lIHdoaWNoIGNoZWNrIHRvIG1ha2Ugc3VyZSB0aGF0IG1ldGhvZCB3YXMgY2FsbGVkIGZyb20gdGhlIG1vZHVsZQogKiBBUEksIGFuZCB0aGF0IGV2ZXJ5dGhpbmcncyBzYWZlIHRvIGNvbnRpbnVlOgogKi8gCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKCi8qKiAKICogQWZ0ZXIgdGhpcywgdGhlIGNvZGUgaXMgaWRlbnRpY2FsIHRvIHRoZSBjb2RlIHRoYXQgd291bGQgb3RoZXJ3aXNlIGJlCiAqIHdyYXBwZWQgaW4gdGhlIFVuaW5zdGFsbCgpIG1ldGhvZCBpbiB0aGUgbW9kdWxlIGJvZHkuCiAqLwovKgoKCi8vIHJlbW92ZSB0aGUgcGVybWlzc2lvbnMKJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oJ1VzZSBTa2VsZXRvbicpOwokdGhpcy0+UmVtb3ZlUGVybWlzc2lvbignU2V0IFNrZWxldG9uIFByZWZzJyk7CgovLyByZW1vdmUgdGhlIHByZWZlcmVuY2UKJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoImFsbG93X2FkZCIpOwoKLy8gcmVtb3ZlIHRoZSBldmVudAokdGhpcy0+UmVtb3ZlRXZlbnQoICdPblNrZWxldG9uUHJlZmVyZW5jZUNoYW5nZScgKTsKKi8KCi8vIHB1dCBtZW50aW9uIGludG8gdGhlIGFkbWluIGxvZwokdGhpcy0+QXVkaXQoIDAsICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKSwgJHRoaXMtPkxhbmcoJ3VuaW5zdGFsbGVkJykpOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/src/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/src/nbbc_email.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiAgICAvLyAgRW1haWxBZGRyZXNzVmFsaWRhdG9yIENsYXNzCiAgICAvLyAgaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL3BocC1lbWFpbC1hZGRyZXNzLXZhbGlkYXRpb24vCiAgICAvLwogICAgLy8gIFJlbGVhc2VkIHVuZGVyIE5ldyBCU0QgbGljZW5zZQogICAgLy8gIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvYnNkLWxpY2Vuc2UucGhwCiAgICAvLwogICAgLy8gIFNhbXBsZSBDb2RlCiAgICAvLyAgLS0tLS0tLS0tLS0tLS0tLQogICAgLy8gICR2YWxpZGF0b3IgPSBuZXcgRW1haWxBZGRyZXNzVmFsaWRhdG9yOwogICAgLy8gIGlmICgkdmFsaWRhdG9yLT5jaGVja19lbWFpbF9hZGRyZXNzKCd0ZXN0QGV4YW1wbGUub3JnJykpIHsKICAgIC8vICAgICAgLy8gRW1haWwgYWRkcmVzcyBpcyB0ZWNobmljYWxseSB2YWxpZAogICAgLy8gIH0KICAgIC8vCiAgICAvLyAgKiBOb3RlOiAgVGhpcyB2ZXJzaW9uIGlzIHNsaWdodGx5IG1vZGlmaWVkIGZvciBQSFA0IGNvbXBhdGliaWxpdHkKICAgIC8vICAgICAgYW5kIHRvIHdvcmsgd2VsbCB3aXRoIE5CQkMuICBZb3UgY2FuIGdldCB0aGUgb3JpZ2luYWwgYXQKICAgIC8vICAgICAgdGhlIFVSTCBzaG93biBhYm92ZS4KCiAgICBjbGFzcyBCQkNvZGVFbWFpbEFkZHJlc3NWYWxpZGF0b3IgewoKICAgICAgICAvLyBDaGVjayBlbWFpbCBhZGRyZXNzIHZhbGlkaXR5CiAgICAgICAgLy8gQHBhcmFtICAgc3RyRW1haWxBZGRyZXNzICAgICBFbWFpbCBhZGRyZXNzIHRvIGJlIGNoZWNrZWQKICAgICAgICAvLyBAcmV0dXJuICBUcnVlIGlmIGVtYWlsIGlzIHZhbGlkLCBmYWxzZSBpZiBub3QKICAgICAgICBmdW5jdGlvbiBjaGVja19lbWFpbF9hZGRyZXNzKCRzdHJFbWFpbEFkZHJlc3MpIHsKICAgICAgICAgICAgCiAgICAgICAgICAgIC8vIElmIG1hZ2ljIHF1b3RlcyBpcyAib24iLCBlbWFpbCBhZGRyZXNzZXMgd2l0aCBxdW90ZSBtYXJrcyB3aWxsCiAgICAgICAgICAgIC8vIGZhaWwgdmFsaWRhdGlvbiBiZWNhdXNlIG9mIGFkZGVkIGVzY2FwZSBjaGFyYWN0ZXJzLiBVbmNvbW1lbnRpbmcKICAgICAgICAgICAgLy8gdGhlIG5leHQgdGhyZWUgbGluZXMgd2lsbCBhbGxvdyBmb3IgdGhpcyBpc3N1ZS4KICAgICAgICAgICAgLy9pZiAoZ2V0X21hZ2ljX3F1b3Rlc19ncGMoKSkgeyAKICAgICAgICAgICAgLy8gICAgJHN0ckVtYWlsQWRkcmVzcyA9IHN0cmlwc2xhc2hlcygkc3RyRW1haWxBZGRyZXNzKTsgCiAgICAgICAgICAgIC8vfQoKICAgICAgICAgICAgLy8gQ29udHJvbCBjaGFyYWN0ZXJzIGFyZSBub3QgYWxsb3dlZAogICAgICAgICAgICBpZiAocHJlZ19tYXRjaCgnL1tceDAwLVx4MUZceDdGLVx4RkZdLycsICRzdHJFbWFpbEFkZHJlc3MpKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vIFNwbGl0IGl0IGludG8gc2VjdGlvbnMgdXNpbmcgbGFzdCBpbnN0YW5jZSBvZiAiQCIKICAgICAgICAgICAgJGludEF0U3ltYm9sID0gc3RycnBvcygkc3RyRW1haWxBZGRyZXNzLCAnQCcpOwogICAgICAgICAgICBpZiAoJGludEF0U3ltYm9sID09PSBmYWxzZSkgewogICAgICAgICAgICAgICAgLy8gTm8gIkAiIHN5bWJvbCBpbiBlbWFpbC4KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQogICAgICAgICAgICAkYXJyRW1haWxBZGRyZXNzWzBdID0gc3Vic3RyKCRzdHJFbWFpbEFkZHJlc3MsIDAsICRpbnRBdFN5bWJvbCk7CiAgICAgICAgICAgICRhcnJFbWFpbEFkZHJlc3NbMV0gPSBzdWJzdHIoJHN0ckVtYWlsQWRkcmVzcywgJGludEF0U3ltYm9sICsgMSk7CgogICAgICAgICAgICAvLyBDb3VudCB0aGUgIkAiIHN5bWJvbHMuIE9ubHkgb25lIGlzIGFsbG93ZWQsIGV4Y2VwdCB3aGVyZSAKICAgICAgICAgICAgLy8gY29udGFpbmVkIGluIHF1b3RlIG1hcmtzIGluIHRoZSBsb2NhbCBwYXJ0LiBRdWlja2VzdCB3YXkgdG8KICAgICAgICAgICAgLy8gY2hlY2sgdGhpcyBpcyB0byByZW1vdmUgYW55dGhpbmcgaW4gcXVvdGVzLgogICAgICAgICAgICAkYXJyVGVtcEFkZHJlc3NbMF0gPSBwcmVnX3JlcGxhY2UoJy8iW14iXSsiLycKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCcnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwkYXJyRW1haWxBZGRyZXNzWzBdKTsKICAgICAgICAgICAgJGFyclRlbXBBZGRyZXNzWzFdID0gJGFyckVtYWlsQWRkcmVzc1sxXTsKICAgICAgICAgICAgJHN0clRlbXBBZGRyZXNzID0gJGFyclRlbXBBZGRyZXNzWzBdIC4gJGFyclRlbXBBZGRyZXNzWzFdOwogICAgICAgICAgICAvLyBUaGVuIGNoZWNrIC0gc2hvdWxkIGJlIG5vICJAIiBzeW1ib2xzLgogICAgICAgICAgICBpZiAoc3RycnBvcygkc3RyVGVtcEFkZHJlc3MsICdAJykgIT09IGZhbHNlKSB7CiAgICAgICAgICAgICAgICAvLyAiQCIgc3ltYm9sIGZvdW5kCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vIENoZWNrIGxvY2FsIHBvcnRpb24KICAgICAgICAgICAgaWYgKCEkdGhpcy0+Y2hlY2tfbG9jYWxfcG9ydGlvbigkYXJyRW1haWxBZGRyZXNzWzBdKSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyBDaGVjayBkb21haW4gcG9ydGlvbgogICAgICAgICAgICBpZiAoISR0aGlzLT5jaGVja19kb21haW5fcG9ydGlvbigkYXJyRW1haWxBZGRyZXNzWzFdKSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyBJZiB3ZSdyZSBzdGlsbCBoZXJlLCBhbGwgY2hlY2tzIGFib3ZlIHBhc3NlZC4gRW1haWwgaXMgdmFsaWQuCiAgICAgICAgICAgIHJldHVybiB0cnVlOwoKICAgICAgICB9CgogICAgICAgIC8vIENoZWNrcyBlbWFpbCBzZWN0aW9uIGJlZm9yZSAiQCIgc3ltYm9sIGZvciB2YWxpZGl0eQogICAgICAgIC8vIEBwYXJhbSAgIHN0ckxvY2FsUG9ydGlvbiAgICAgVGV4dCB0byBiZSBjaGVja2VkCiAgICAgICAgLy8gQHJldHVybiAgVHJ1ZSBpZiBsb2NhbCBwb3J0aW9uIGlzIHZhbGlkLCBmYWxzZSBpZiBub3QKICAgICAgICBmdW5jdGlvbiBjaGVja19sb2NhbF9wb3J0aW9uKCRzdHJMb2NhbFBvcnRpb24pIHsKICAgICAgICAgICAgLy8gTG9jYWwgcG9ydGlvbiBjYW4gb25seSBiZSBmcm9tIDEgdG8gNjQgY2hhcmFjdGVycywgaW5jbHVzaXZlLgogICAgICAgICAgICAvLyBQbGVhc2Ugbm90ZSB0aGF0IHNlcnZlcnMgYXJlIGVuY291cmFnZWQgdG8gYWNjZXB0IGxvbmdlciBsb2NhbAogICAgICAgICAgICAvLyBwYXJ0cyB0aGFuIDY0IGNoYXJhY3RlcnMuCiAgICAgICAgICAgIGlmICghJHRoaXMtPmNoZWNrX3RleHRfbGVuZ3RoKCRzdHJMb2NhbFBvcnRpb24sIDEsIDY0KSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIC8vIExvY2FsIHBvcnRpb24gbXVzdCBiZToKICAgICAgICAgICAgLy8gMSkgYSBkb3QtYXRvbSAoc3RyaW5ncyBzZXBhcmF0ZWQgYnkgcGVyaW9kcykKICAgICAgICAgICAgLy8gMikgYSBxdW90ZWQgc3RyaW5nCiAgICAgICAgICAgIC8vIDMpIGFuIG9ic29sZXRlIGZvcm1hdCBzdHJpbmcgKGNvbWJpbmF0aW9uIG9mIHRoZSBhYm92ZSkKICAgICAgICAgICAgJGFyckxvY2FsUG9ydGlvbiA9IGV4cGxvZGUoJy4nLCAkc3RyTG9jYWxQb3J0aW9uKTsKICAgICAgICAgICAgZm9yICgkaSA9IDAsICRtYXggPSBzaXplb2YoJGFyckxvY2FsUG9ydGlvbik7ICRpIDwgJG1heDsgJGkrKykgewogICAgICAgICAgICAgICAgIGlmICghcHJlZ19tYXRjaCgnLl4oJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4gICAgJyhbQS1aYS16MC05ISMkJSZcJyorLz0/Xl9ge3x9fi1dJyAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuICAgICdbQS1aYS16MC05ISMkJSZcJyorLz0/Xl9ge3x9fi1dezAsNjN9KScKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuJ3wnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLiAgICAnKCJbXlxcXCJdezAsNjJ9IiknCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLicpJC4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCRhcnJMb2NhbFBvcnRpb25bJGldKSkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICB9CgogICAgICAgIC8vIENoZWNrcyBlbWFpbCBzZWN0aW9uIGFmdGVyICJAIiBzeW1ib2wgZm9yIHZhbGlkaXR5CiAgICAgICAgLy8gQHBhcmFtICAgc3RyRG9tYWluUG9ydGlvbiAgICAgVGV4dCB0byBiZSBjaGVja2VkCiAgICAgICAgLy8gQHJldHVybiAgVHJ1ZSBpZiBkb21haW4gcG9ydGlvbiBpcyB2YWxpZCwgZmFsc2UgaWYgbm90CiAgICAgICAgZnVuY3Rpb24gY2hlY2tfZG9tYWluX3BvcnRpb24oJHN0ckRvbWFpblBvcnRpb24pIHsKICAgICAgICAgICAgLy8gVG90YWwgZG9tYWluIGNhbiBvbmx5IGJlIGZyb20gMSB0byAyNTUgY2hhcmFjdGVycywgaW5jbHVzaXZlCiAgICAgICAgICAgIGlmICghJHRoaXMtPmNoZWNrX3RleHRfbGVuZ3RoKCRzdHJEb21haW5Qb3J0aW9uLCAxLCAyNTUpKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLy8gQ2hlY2sgaWYgZG9tYWluIGlzIElQLCBwb3NzaWJseSBlbmNsb3NlZCBpbiBzcXVhcmUgYnJhY2tldHMuCiAgICAgICAgICAgIGlmIChwcmVnX21hdGNoKCcvXigyNVswLTVdfDJbMC00XVswLTldfDFbMC05XVswLTldfFsxLTldP1swLTldKScKICAgICAgICAgICAgICAgLicoXC4oMjVbMC01XXwyWzAtNF1bMC05XXwxWzAtOV1bMC05XXxbMS05XT9bMC05XSkpezN9JC8nCiAgICAgICAgICAgICAgICwkc3RyRG9tYWluUG9ydGlvbikgfHwgCiAgICAgICAgICAgICAgICBwcmVnX21hdGNoKCcvXlxbKDI1WzAtNV18MlswLTRdWzAtOV18MVswLTldWzAtOV18WzEtOV0/WzAtOV0pJwogICAgICAgICAgICAgICAuJyhcLigyNVswLTVdfDJbMC00XVswLTldfDFbMC05XVswLTldfFsxLTldP1swLTldKSl7M31cXSQvJwogICAgICAgICAgICAgICAsJHN0ckRvbWFpblBvcnRpb24pKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICRhcnJEb21haW5Qb3J0aW9uID0gZXhwbG9kZSgnLicsICRzdHJEb21haW5Qb3J0aW9uKTsKICAgICAgICAgICAgICAgIGlmIChzaXplb2YoJGFyckRvbWFpblBvcnRpb24pIDwgMikgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsgLy8gTm90IGVub3VnaCBwYXJ0cyB0byBkb21haW4KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGZvciAoJGkgPSAwLCAkbWF4ID0gc2l6ZW9mKCRhcnJEb21haW5Qb3J0aW9uKTsgJGkgPCAkbWF4OyAkaSsrKSB7CiAgICAgICAgICAgICAgICAgICAgLy8gRWFjaCBwb3J0aW9uIG11c3QgYmUgYmV0d2VlbiAxIGFuZCA2MyBjaGFyYWN0ZXJzLCBpbmNsdXNpdmUKICAgICAgICAgICAgICAgICAgICBpZiAoISR0aGlzLT5jaGVja190ZXh0X2xlbmd0aCgkYXJyRG9tYWluUG9ydGlvblskaV0sIDEsIDYzKSkgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGlmICghcHJlZ19tYXRjaCgnL14oKFtBLVphLXowLTldW0EtWmEtejAtOS1dezAsNjF9W0EtWmEtejAtOV0pfCcKICAgICAgICAgICAgICAgICAgICAgICAuJyhbQS1aYS16MC05XSspKSQvJywgJGFyckRvbWFpblBvcnRpb25bJGldKSkgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0KCiAgICAgICAgLy8gQ2hlY2sgZ2l2ZW4gdGV4dCBsZW5ndGggaXMgYmV0d2VlbiBkZWZpbmVkIGJvdW5kcwogICAgICAgIC8vIEBwYXJhbSAgIHN0clRleHQgICAgIFRleHQgdG8gYmUgY2hlY2tlZAogICAgICAgIC8vIEBwYXJhbSAgIGludE1pbmltdW0gIE1pbmltdW0gYWNjZXB0YWJsZSBsZW5ndGgKICAgICAgICAvLyBAcGFyYW0gICBpbnRNYXhpbXVtICBNYXhpbXVtIGFjY2VwdGFibGUgbGVuZ3RoCiAgICAgICAgLy8gQHJldHVybiAgVHJ1ZSBpZiBzdHJpbmcgaXMgd2l0aGluIGJvdW5kcyAoaW5jbHVzaXZlKSwgZmFsc2UgaWYgbm90CiAgICAgICAgZnVuY3Rpb24gY2hlY2tfdGV4dF9sZW5ndGgoJHN0clRleHQsICRpbnRNaW5pbXVtLCAkaW50TWF4aW11bSkgewogICAgICAgICAgICAvLyBNaW5pbXVtIGFuZCBtYXhpbXVtIGFyZSBib3RoIGluY2x1c2l2ZQogICAgICAgICAgICAkaW50VGV4dExlbmd0aCA9IHN0cmxlbigkc3RyVGV4dCk7CiAgICAgICAgICAgIGlmICgoJGludFRleHRMZW5ndGggPCAkaW50TWluaW11bSkgfHwgKCRpbnRUZXh0TGVuZ3RoID4gJGludE1heGltdW0pKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICB9Cgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/src/nbbc_lex.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCgkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkvLwoJLy8gIG5iYmNfbGV4LnBocAoJLy8KCS8vICBUaGlzIGZpbGUgaXMgcGFydCBvZiBOQkJDLCB0aGUgTmV3IEJCQ29kZSBQYXJzZXIuCgkvLwoJLy8gIE5CQkMgaW1wbGVtZW50cyBhIGZ1bGx5LXZhbGlkYXRpbmcsIGhpZ2gtc3BlZWQsIGV4dGVuc2libGUgcGFyc2VyIGZvciB0aGUKCS8vICBCQkNvZGUgZG9jdW1lbnQgbGFuZ3VhZ2UuICBJdHMgb3V0cHV0IGlzIFhIVE1MIDEuMCBTdHJpY3QgY29uZm9ybWFudCBubwoJLy8gIG1hdHRlciB3aGF0IGl0cyBpbnB1dCBpcy4gIE5CQkMgc3VwcG9ydHMgdGhlIGZ1bGwgc3RhbmRhcmQgQkJDb2RlIGxhbmd1YWdlLAoJLy8gIGFzIHdlbGwgYXMgY29tbWVudHMsIGNvbHVtbnMsIGVuaGFuY2VkIHF1b3Rlcywgc3BvaWxlcnMsIGFjcm9ueW1zLCB3aWtpCgkvLyAgbGlua3MsIHNldmVyYWwgbGlzdCBzdHlsZXMsIGp1c3RpZmljYXRpb24sIGluZGVudGF0aW9uLCBhbmQgc21pbGV5cywgYW1vbmcKCS8vICBvdGhlciBhZHZhbmNlZCBmZWF0dXJlcy4KCS8vCgkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkvLwoJLy8gIENvcHlyaWdodCAoYykgMjAwOC05LCB0aGUgUGhhbnRvbSBJbmtlci4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgkvLwoJLy8gIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAoJLy8gIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwoJLy8gIGFyZSBtZXQ6CgkvLwoJLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAoJLy8gICAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgoJLy8KCS8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKCS8vICAgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbgoJLy8gICAgICAgdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQoJLy8gICAgICAgZGlzdHJpYnV0aW9uLgoJLy8KCS8vICBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBQSEFOVE9NIElOS0VSICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTCgkvLyAgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKCS8vICBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCgkvLyAgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUKCS8vICBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCgkvLyAgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKCS8vICBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IKCS8vICBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwKCS8vICBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRQoJLy8gIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4KCS8vICBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KCS8vCgkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkvLwoJLy8gIFRoaXMgZmlsZSBpbXBsZW1lbnRzIHRoZSBOQkJDIGxleGljYWwgYW5hbHl6ZXIsIHdoaWNoIGJyZWFrcyBkb3duIHRoZQoJLy8gIGlucHV0IHRleHQgZnJvbSBjaGFyYWN0ZXJzIGludG8gdG9rZW5zLiAgVGhpcyB1c2VzIGFuIGV2ZW50LWJhc2VkCgkvLyAgaW50ZXJmYWNlLCBzb21ld2hhdCBsaWtlIGxleCBvciBmbGV4IHVzZXMsIHdoZXJlaW4gZWFjaCB0aW1lCgkvLyAgJHRoaXMtPk5leHRUb2tlbiBpcyBjYWxsZWQsIHRoZSBuZXh0IHRva2VuIGlzIHJldHVybmVkIHVudGlsIGl0IHJldHVybnMKCS8vICBCQkNPREVfRU9JIGF0IHRoZSBlbmQgb2YgdGhlIGlucHV0LgoJLy8KCS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgljbGFzcyBCQkNvZGVMZXhlciB7CgkJdmFyICR0b2tlbjsJCQkvLyBSZXR1cm4gdG9rZW4gdHlwZTogIE9uZSBvZiB0aGUgQkJDT0RFXyogY29uc3RhbnRzLgoJCXZhciAkdGV4dDsJCQkvLyBBY3R1YWwgZXhhY3QsIG9yaWdpbmFsIHRleHQgb2YgdG9rZW4uCgkJdmFyICR0YWc7CQkJLy8gSWYgdG9rZW4gaXMgYSB0YWcsIHRoaXMgaXMgdGhlIGRlY29kZWQgYXJyYXkgdmVyc2lvbi4KCQkKCQl2YXIgJHN0YXRlOwkJCS8vIE5leHQgc3RhdGUgb2YgdGhlIGxleGVyJ3Mgc3RhdGUgbWFjaGluZTogdGV4dCwgb3IgdGFnL3dzL25sCgkJdmFyICRpbnB1dDsJCQkvLyBUaGUgaW5wdXQgc3RyaW5nLCBzcGxpdCBpbnRvIGFuIGFycmF5IG9mIHRva2Vucy4KCQl2YXIgJHB0cjsJCQkvLyBSZWFkIHBvaW50ZXIgaW50byB0aGUgaW5wdXQgYXJyYXkuCgkJdmFyICR1bmdldDsJCQkvLyBXaGV0aGVyIHRvICJ1bmdldCIgdGhlIGxhc3QgdG9rZW4uCgkJCgkJdmFyICR2ZXJiYXRpbTsJCS8vIEluIHZlcmJhdGltIG1vZGUsIHdlIHJldHVybiBhbGwgaW5wdXQsIHVucGFyc2VkLCBpbmNsdWRpbmcgY29tbWVudHMuCgkJdmFyICRkZWJ1ZzsJCQkvLyBJbiBkZWJ1ZyBtb2RlLCB3ZSBkdW1wIGRlY29kZWQgdGFncyB3aGVuIHdlIGZpbmQgdGhlbS4KCgkJdmFyICR0YWdtYXJrZXI7CQkvLyBXaGljaCBraW5kIG9mIHRhZyBtYXJrZXIgd2UncmUgdXNpbmc6ICAiWyIsICI8IiwgIigiLCBvciAieyIKCQl2YXIgJGVuZF90YWdtYXJrZXI7CS8vIFRoZSBlbmRpbmcgdGFnIG1hcmtlcjogICJdIiwgIj4iLCAiKCIsIG9yICJ7IgoJCXZhciAkcGF0X21haW47CQkvLyBNYWluIHRhZy1tYXRjaGluZyBwYXR0ZXJuLgoJCXZhciAkcGF0X2NvbW1lbnQ7CS8vIFBhdHRlcm4gZm9yIG1hdGNoaW5nIGNvbW1lbnRzLgoJCXZhciAkcGF0X2NvbW1lbnQyOwkvLyBQYXR0ZXJuIGZvciBtYXRjaGluZyBjb21tZW50cy4KCQl2YXIgJHBhdF93aWtpOwkJLy8gUGF0dGVybiBmb3IgbWF0Y2hpbmcgd2lraS1saW5rcy4KCgkJZnVuY3Rpb24gQkJDb2RlTGV4ZXIoJHN0cmluZywgJHRhZ21hcmtlciA9ICdbJykgewoJCQkvLyBGaXJzdCB0aGluZyB3ZSBkbyBpcyB0byBzcGxpdCB0aGUgaW5wdXQgc3RyaW5nIGludG8gdHVwbGVzIG9mCgkJCS8vIHRleHQgYW5kIHRhZ3MuICBUaGlzIHdpbGwgbWFrZSBpdCBlYXN5IHRvIHRva2VuaXplLiAgV2UgZGVmaW5lIGEgdGFnIGFzCgkJCS8vIGFueXRoaW5nIHN0YXJ0aW5nIHdpdGggYSBbLCBlbmRpbmcgd2l0aCBhIF0sIGFuZCBjb250YWluaW5nIG5vIFsgb3IgXSBpbgoJCQkvLyBiZXR3ZWVuIHVubGVzcyBzdXJyb3VuZGVkIGJ5ICIiIG9yICcnLCBhbmQgY29udGFpbmluZyBubyBuZXdsaW5lcy4KCQkJLy8gV2UgYWxzbyBzZXBhcmF0ZSBvdXQgd2hpdGVzcGFjZSBhbmQgbmV3bGluZXMuCgkJCQoJCQkvLyBDaG9vc2UgYSB0YWcgbWFya2VyIGJhc2VkIG9uIHRoZSBwb3NzaWJsZSB0YWcgbWFya2Vycy4KCQkJJHJlZ2V4X2JlZ2lubWFya2VycyA9IEFycmF5KCAnWycgPT4gJ1xbJywgJzwnID0+ICc8JywgJ3snID0+ICdceycsICcoJyA9PiAnXCgnICk7CgkJCSRyZWdleF9lbmRtYXJrZXJzICAgPSBBcnJheSggJ1snID0+ICdcXScsICc8JyA9PiAnPicsICd7JyA9PiAnXH0nLCAnKCcgPT4gJ1wpJyApOwoJCQkkZW5kbWFya2VycyAgICAgICAgID0gQXJyYXkoICdbJyA9PiAgJ10nLCAnPCcgPT4gJz4nLCAneycgPT4gICd9JywgJygnID0+ICAnKScgKTsKCQkJaWYgKCFpc3NldCgkcmVnZXhfZW5kbWFya2Vyc1skdGFnbWFya2VyXSkpICR0YWdtYXJrZXIgPSAnWyc7CgkJCSRlID0gJHJlZ2V4X2VuZG1hcmtlcnNbJHRhZ21hcmtlcl07CgkJCSRiID0gJHJlZ2V4X2JlZ2lubWFya2Vyc1skdGFnbWFya2VyXTsKCQkJJHRoaXMtPnRhZ21hcmtlciA9ICR0YWdtYXJrZXI7CgkJCSR0aGlzLT5lbmRfdGFnbWFya2VyID0gJGVuZG1hcmtlcnNbJHRhZ21hcmtlcl07CgkJCQoJCQkvLyAkdGhpcy0+aW5wdXQgd2lsbCBiZSBhbiBhcnJheSBvZiB0b2tlbnMsIHdpdGggdGhlIHNwZWNpYWwgcHJvcGVydHkgdGhhdAoJCQkvLyB0aGUgZWxlbWVudHMgc3RyaWN0bHkgYWx0ZXJuYXRlIGJldHdlZW4gcGxhaW4gdGV4dCBhbmQgdGFncy93aGl0ZXNwYWNlL25ld2xpbmVzLAoJCQkvLyBhbmQgdGhhdCB0YWdzIGFsd2F5cyBoYXZlICp0d28qIGVudHJpZXMgcGVyIHRhZy4gIFRoZSBmaXJzdCBlbGVtZW50IHdpbGwKCQkJLy8gYWx3YXlzIGJlIHBsYWluIHRleHQuICBOb3RlIHRoYXQgdGhlIHJlZ2V4ZXMgYmVsb3cgbWFrZSBWRVJZIGhlYXZ5IHVzZSBvZgoJCQkvLyBQQ1JFIHJlZ2V4LXN5bnRheCBleHRlbnNpb25zLCBzbyBkb24ndCBldmVuIHRyeSB0byBtb2RpZnkgdGhlbSB1bmxlc3MgeW91CgkJCS8vIGtub3cgaG93IHRoaW5ncyBsaWtlICg/ISkgYW5kICg/OikgYW5kICg/PSkgd29yay4gIFdlIHVzZSB0aGUgL3ggbW9kaWZpZXIKCQkJLy8gaGVyZSB0byBtYWtlIHRoaXMgYSAqbG90KiBtb3JlIGxlZ2libGUgYW5kIGRlYnVnZ2FibGUuCgkJCSR0aGlzLT5wYXRfbWFpbiA9ICIvKCAiCgkJCQkvLyBNYXRjaCB0YWdzLCBhcyBsb25nIGFzIHRoZXkgZG8gbm90IHN0YXJ0IHdpdGggWy0tIG9yIFsnIG9yIFshLS0gb3IgW3JlbSBvciBbWy4KCQkJCS8vIFRhZ3MgbWF5IGNvbnRhaW4gInF1b3RlZCIgb3IgJ3F1b3RlZCcgc2VjdGlvbnMgdGhhdCBtYXkgY29udGFpbiBbIG9yIF0gY2hhcmFjdGVycy4KCQkJCS8vIFRhZ3MgbWF5IG5vdCBjb250YWluIG5ld2xpbmVzLgoJCQkJLiAieyRifSIKCQkJCS4gIig/ISAtLSB8ICcgfCAhLS0gfCB7JGJ9eyRifSApIgoJCQkJLiAiKD86IFteXFxuXFxyeyRifXskZX1dIHwgXFxcIiBbXlxcXCJcXG5cXHJdKiBcXFwiIHwgXFwnIFteXFwnXFxuXFxyXSogXFwnICkqIgoJCQkJLiAieyRlfSIKCgkJCQkvLyBNYXRjaCB3aWtpLWxpbmtzLCB3aGljaCBhcmUgb2YgdGhlIGZvcm0gW1suLi5dXSBvciBbWy4uLnwuLi5dXS4gIFVubGlrZQoJCQkJLy8gdGFncywgd2lraS1saW5rcyB0cmVhdCAiIGFuZCAnIG1hcmtzIGFzIG5vcm1hbCBpbnB1dCBjaGFyYWN0ZXJzOyBidXQgdGhleQoJCQkJLy8gc3RpbGwgbWF5IG5vdCBjb250YWluIG5ld2xpbmVzLgoJCQkJLiAifCB7JGJ9eyRifSAoPzogW157JGV9XFxyXFxuXSB8IHskZX1bXnskZX1cXHJcXG5dICkqIHskZX17JGV9IgoKCQkJCS8vIE1hdGNoIHNpbmdsZS1saW5lIGNvbW1lbnRzLCB3aGljaCBzdGFydCB3aXRoIFstLSBvciBbJyBvciBbcmVtIC4KCQkJCS4gInwgeyRifSAoPzogLS0gfCAnICkgKD86IFteeyRlfVxcblxccl0qICkgeyRlfSIKCgkJCQkvLyBNYXRjaCBtdWx0aS1saW5lIGNvbW1lbnRzLCB3aGljaCBzdGFydCB3aXRoIFshLS0gYW5kIGVuZCB3aXRoIC0tXSBhbmQgY29udGFpbgoJCQkJLy8gbm8gLS1dIGluIGJldHdlZW4uCgkJCQkuICJ8IHskYn0hLS0gKD86IFteLV0gfCAtW14tXSB8IC0tW157JGV9XSApKiAtLXskZX0iCgoJCQkJLy8gTWF0Y2ggZml2ZSBvciBtb3JlIGh5cGhlbnMgYXMgYSBzcGVjaWFsIHRva2VuLCB3aGljaCBnZXRzIHJldHVybmVkIGFzIGEgW3J1bGVdIHRhZy4KCQkJCS4gInwgLS0tLS0rIgoKCQkJCS8vIE1hdGNoIG5ld2xpbmVzLCBpbiBhbGwgZm91ciBwb3NzaWJsZSBmb3Jtcy4KCQkJCS4gInwgXFx4MERcXHgwQSB8IFxceDBBXFx4MEQgfCBcXHgwRCB8IFxceDBBIgoKCQkJCS8vIE1hdGNoIHdoaXRlc3BhY2UsIGJ1dCBvbmx5IGlmIGl0IGJ1dHRzIHVwIGFnYWluc3QgYSBuZXdsaW5lLCBydWxlLCBvcgoJCQkJLy8gYnJhY2tldCBvbiBhdCBsZWFzdCBvbmUgZW5kLgoJCQkJLiAifCBbXFx4MDAtXFx4MDlcXHgwQi1cXHgwQ1xceDBFLVxceDIwXSsoPz1bXFx4MERcXHgwQXskYn1dfC0tLS0tfCQpIgoJCQkJLiAifCAoPzw9W1xceDBEXFx4MEF7JGV9XXwtLS0tLXxeKVtcXHgwMC1cXHgwOVxceDBCLVxceDBDXFx4MEUtXFx4MjBdKyIKCgkJCQkuICIgKS9EeCI7CgoJCQkkdGhpcy0+aW5wdXQgPSBwcmVnX3NwbGl0KCR0aGlzLT5wYXRfbWFpbiwgJHN0cmluZywgLTEsIFBSRUdfU1BMSVRfREVMSU1fQ0FQVFVSRSk7CgoJCQkvLyBQYXR0ZXJucyBmb3IgbWF0Y2hpbmcgc3BlY2lmaWMgdHlwZXMgb2YgdG9rZW5zIGR1cmluZyBsZXhpbmcuCgkJCSR0aGlzLT5wYXRfY29tbWVudCA9ICIvXiB7JGJ9ICg/OiAtLSB8ICcgKSAvRHgiOwoJCQkkdGhpcy0+cGF0X2NvbW1lbnQyID0gIi9eIHskYn0hLS0gKD86IFteLV0gfCAtW14tXSB8IC0tW157JGV9XSApKiAtLXskZX0gJC9EeCI7CgkJCSR0aGlzLT5wYXRfd2lraSA9ICIvXiB7JGJ9eyRifSAoW15cXHxdKikgKD86XFx8KC4qKSk/IHskZX17JGV9ICQvRHgiOwoJCQkKCQkJLy8gQ3VycmVudCBsZXhpbmcgc3RhdGUuCgkJCSR0aGlzLT5wdHIgPSAwOwoJCQkkdGhpcy0+dW5nZXQgPSBmYWxzZTsKCQkJJHRoaXMtPnN0YXRlID0gQkJDT0RFX0xFWFNUQVRFX1RFWFQ7CgkJCSR0aGlzLT52ZXJiYXRpbSA9IGZhbHNlOwoJCQkKCQkJLy8gUmV0dXJuIHZhbHVlcy4KCQkJJHRoaXMtPnRva2VuID0gQkJDT0RFX0VPSTsKCQkJJHRoaXMtPnRhZyA9IGZhbHNlOwoJCQkkdGhpcy0+dGV4dCA9ICIiOwoJCX0KCgkJLy8gQ29tcHV0ZSBob3cgbWFueSBub24tdGFnIGNoYXJhY3RlcnMgdGhlcmUgYXJlIGluIHRoZSBpbnB1dCwgZ2l2ZSBvciB0YWtlIGEgZmV3LgoJCS8vIFRoaXMgaXMgb3B0aW1pemVkIGZvciBzcGVlZCwgbm90IGFjY3VyYWN5LCBzbyBpdCdsbCBnZXQgc29tZSBzdHVmZiBsaWtlCgkJLy8gaG9yaXpvbnRhbCBydWxlcyBhbmQgd2VpcmQgd2hpdGVzcGFjZSBjaGFyYWN0ZXJzIHdyb25nLCBidXQgaXQncyBvbmx5IHN1cHBvc2VkCgkJLy8gdG8gcHJvdmlkZSBhIHJvdWdoIHF1aWNrIGd1ZXNzLCBub3QgYSBoYXJkIGZhY3QuCgkJZnVuY3Rpb24gR3Vlc3NUZXh0TGVuZ3RoKCkgewoJCQkkbGVuZ3RoID0gMDsKCQkJJHB0ciA9IDA7CgkJCSRzdGF0ZSA9IEJCQ09ERV9MRVhTVEFURV9URVhUOwoJCQkKCQkJLy8gTG9vcCB1bnRpbCB3ZSBmaW5kIGEgdmFsaWQgKG5vbmVtcHR5KSB0b2tlbi4KCQkJd2hpbGUgKCRwdHIgPCBjb3VudCgkdGhpcy0+aW5wdXQpKSB7CgkJCQkkdGV4dCA9ICR0aGlzLT5pbnB1dFskcHRyKytdOwoJCQkJCgkJCQlpZiAoJHN0YXRlID09IEJCQ09ERV9MRVhTVEFURV9URVhUKSB7CgkJCQkJJHN0YXRlID0gQkJDT0RFX0xFWFNUQVRFX1RBRzsKCQkJCQkkbGVuZ3RoICs9IHN0cmxlbigkdGV4dCk7CgkJCQl9CgkJCQllbHNlIHsKCQkJCQlzd2l0Y2ggKG9yZChzdWJzdHIoJHRoaXMtPnRleHQsIDAsIDEpKSkgewoJCQkJCWNhc2UgMTA6CgkJCQkJY2FzZSAxMzoKCQkJCQkJJHN0YXRlID0gQkJDT0RFX0xFWFNUQVRFX1RFWFQ7CgkJCQkJCSRsZW5ndGgrKzsKCQkJCQkJYnJlYWs7CgkJCQkJZGVmYXVsdDoKCQkJCQkJJHN0YXRlID0gQkJDT0RFX0xFWFNUQVRFX1RFWFQ7CgkJCQkJCSRsZW5ndGggKz0gc3RybGVuKCR0ZXh0KTsKCQkJCQkJYnJlYWs7CgkJCQkJY2FzZSA0MDoKCQkJCQljYXNlIDYwOgoJCQkJCWNhc2UgOTE6CgkJCQkJY2FzZSAxMjM6CgkJCQkJCSRzdGF0ZSA9IEJCQ09ERV9MRVhTVEFURV9URVhUOwoJCQkJCQlicmVhazsKCQkJCQl9CgkJCQl9CgkJCX0KCgkJCXJldHVybiAkbGVuZ3RoOwoJCX0KCgkJLy8gUmV0dXJuIHRoZSB0eXBlIG9mIHRoZSBuZXh0IHRva2VuLCBlaXRoZXIgQkJDT0RFX1RBRyBvciBCQkNPREVfVEVYVCBvcgoJCS8vIEJCQ09ERV9FT0kuICBUaGlzIHN0b3JlcyB0aGUgY29udGVudCBvZiB0aGlzIHRva2VuIGludG8gJHRoaXMtPnRleHQsIHRoZQoJCS8vIHR5cGUgb2YgdGhpcyB0b2tlbiBpbiAkdGhpcy0+dG9rZW4sIGFuZCBwb3NzaWJseSBhbiBhcnJheSBpbnRvICR0aGlzLT50YWcuCgkJLy8KCQkvLyBJZiB0aGlzIGlzIGEgQkJDT0RFX1RBRyB0b2tlbiwgJHRoaXMtPnRhZyB3aWxsIGJlIGFuIGFycmF5IGNvbXB1dGVkIGZyb20KCQkvLyB0aGUgdGFnJ3MgY29udGVudHMsIGxpa2UgdGhpczoKCQkvLyAgICBBcnJheSgKCQkvLyAgICAgICAnX25hbWUnID0+IHRhZ19uYW1lLAoJCS8vICAgICAgICdfZW5kJyA9PiB0cnVlIGlmIHRoaXMgaXMgYW4gZW5kIHRhZyAoaS5lLiwgdGhlIG5hbWUgc3RhcnRzIHdpdGggYSAvKQoJCS8vICAgICAgICdfZGVmYXVsdCcgPT4gZGVmYXVsdCB2YWx1ZSAoZm9yIGV4YW1wbGUsIGluIFt1cmw9Zm9vXSwgdGhpcyBpcyAiZm9vIikuCgkJLy8gICAgICAgLi4uCgkJLy8gICAgICAgLi4uYWxsIG90aGVyIGtleSA9PiB2YWx1ZSBwYXJhbWV0ZXJzIGdpdmVuIGluIHRoZSB0YWcuLi4KCQkvLyAgICAgICAuLi4KCQkvLyAgICApCgkJZnVuY3Rpb24gTmV4dFRva2VuKCkgewoJCQoJCQkvLyBIYW5kbGUgdW5nZXRzOyBpZiB0aGUgbGFzdCB0b2tlbiBoYXMgYmVlbiAidW5nb3R0ZW4iLCBqdXN0IHJldHVybiBpdCBhZ2Fpbi4KCQkJaWYgKCR0aGlzLT51bmdldCkgewoJCQkJJHRoaXMtPnVuZ2V0ID0gZmFsc2U7CgkJCQlyZXR1cm4gJHRoaXMtPnRva2VuOwoJCQl9CgkJCQoJCQkvLyBMb29wIHVudGlsIHdlIGZpbmQgYSB2YWxpZCAobm9uZW1wdHkpIHRva2VuLgoJCQl3aGlsZSAodHJ1ZSkgewoKCQkJCS8vIERpZCB3ZSBydW4gb3V0IG9mIHRva2VucyBpbiB0aGUgaW5wdXQ/CgkJCQlpZiAoJHRoaXMtPnB0ciA+PSBjb3VudCgkdGhpcy0+aW5wdXQpKSB7CgkJCQkJJHRoaXMtPnRleHQgPSAiIjsKCQkJCQkkdGhpcy0+dGFnID0gZmFsc2U7CgkJCQkJcmV0dXJuICR0aGlzLT50b2tlbiA9IEJCQ09ERV9FT0k7CgkJCQl9CgkJCQkKCQkJCS8vIEluaGFsZSBvbmUgdG9rZW4sIHNhbml0aXppbmcgYXdheSBhbnkgd2VpcmQgY29udHJvbCBjaGFyYWN0ZXJzLiAgV2UKCQkJCS8vIGFsbG93IFx0LCBcciwgYW5kIFxuIHRvIHBhc3MgdGhyb3VnaCwgYnV0IHRoYXQncyBpdC4KCQkJCSR0aGlzLT50ZXh0ID0gcHJlZ19yZXBsYWNlKCIvW1xceDAwLVxceDA4XFx4MEItXFx4MENcXHgwRS1cXHgxRl0vIiwgIiIsCgkJCQkJJHRoaXMtPmlucHV0WyR0aGlzLT5wdHIrK10pOwoJCQkJCgkJCQlpZiAoJHRoaXMtPnZlcmJhdGltKSB7CgoJCQkJCS8vIEluIHZlcmJhdGltIG1vZGUsIHdlIHJldHVybiAqZXZlcnl0aGluZyogYXMgcGxhaW4gdGV4dCBvciB3aGl0ZXNwYWNlLgoJCQkJCSR0aGlzLT50YWcgPSBmYWxzZTsKCQkJCQlpZiAoJHRoaXMtPnN0YXRlID09IEJCQ09ERV9MRVhTVEFURV9URVhUKSB7CgkJCQkJCSR0aGlzLT5zdGF0ZSA9IEJCQ09ERV9MRVhTVEFURV9UQUc7CgkJCQkJCSR0b2tlbl90eXBlID0gQkJDT0RFX1RFWFQ7CgkJCQkJfQoJCQkJCWVsc2UgewoJCQkJCQkvLyBUaGlzIG11c3QgYmUgZWl0aGVyIHdoaXRlc3BhY2UsIGEgbmV3bGluZSwgb3IgYSB0YWcuCgkJCQkJCSR0aGlzLT5zdGF0ZSA9IEJCQ09ERV9MRVhTVEFURV9URVhUOwoJCQkJCQlzd2l0Y2ggKG9yZChzdWJzdHIoJHRoaXMtPnRleHQsIDAsIDEpKSkgewoJCQkJCQljYXNlIDEwOgoJCQkJCQljYXNlIDEzOgoJCQkJCQkJLy8gTmV3bGluZS4KCQkJCQkJCSR0b2tlbl90eXBlID0gQkJDT0RFX05MOwoJCQkJCQkJYnJlYWs7CgkJCQkJCWRlZmF1bHQ6CgkJCQkJCQkvLyBXaGl0ZXNwYWNlLgoJCQkJCQkJJHRva2VuX3R5cGUgPSBCQkNPREVfV1M7CgkJCQkJCQlicmVhazsKCQkJCQkJY2FzZSA0NToKCQkJCQkJY2FzZSA0MDoKCQkJCQkJY2FzZSA2MDoKCQkJCQkJY2FzZSA5MToKCQkJCQkJY2FzZSAxMjM6CgkJCQkJCQkvLyBUYWcgb3IgY29tbWVudC4KCQkJCQkJCSR0b2tlbl90eXBlID0gQkJDT0RFX1RFWFQ7CgkJCQkJCQlicmVhazsKCQkJCQkJfQoJCQkJCX0KCgkJCQkJaWYgKHN0cmxlbigkdGhpcy0+dGV4dCkgPiAwKQoJCQkJCQlyZXR1cm4gJHRoaXMtPnRva2VuID0gJHRva2VuX3R5cGU7CgkJCQl9CgkJCQllbHNlIGlmICgkdGhpcy0+c3RhdGUgPT0gQkJDT0RFX0xFWFNUQVRFX1RFWFQpIHsKCQkJCQkvLyBOZXh0IHVwIGlzIHBsYWluIHRleHQsIGJ1dCBvbmx5IHJldHVybiBpdCBpZiBpdCdzIG5vbmVtcHR5LgoJCQkJCSR0aGlzLT5zdGF0ZSA9IEJCQ09ERV9MRVhTVEFURV9UQUc7CgkJCQkJJHRoaXMtPnRhZyA9IGZhbHNlOwoJCQkJCWlmIChzdHJsZW4oJHRoaXMtPnRleHQpID4gMCkKCQkJCQkJcmV0dXJuICR0aGlzLT50b2tlbiA9IEJCQ09ERV9URVhUOwoJCQkJfQoJCQkJZWxzZSB7CgkJCQkJLy8gVGhpcyBtdXN0IGJlIGVpdGhlciB3aGl0ZXNwYWNlLCBhIG5ld2xpbmUsIG9yIGEgdGFnLgoJCQkJCXN3aXRjaCAob3JkKHN1YnN0cigkdGhpcy0+dGV4dCwgMCwgMSkpKSB7CgkJCQkJY2FzZSAxMDoKCQkJCQljYXNlIDEzOgoJCQkJCQkvLyBOZXdsaW5lLgoJCQkJCQkkdGhpcy0+dGFnID0gZmFsc2U7CgkJCQkJCSR0aGlzLT5zdGF0ZSA9IEJCQ09ERV9MRVhTVEFURV9URVhUOwoJCQkJCQlyZXR1cm4gJHRoaXMtPnRva2VuID0gQkJDT0RFX05MOwoJCQkJCWNhc2UgNDU6CgkJCQkJCS8vIEEgcnVsZSBtYWRlIG9mIGh5cGhlbnM7IHJldHVybiBpdCBhcyBhIFtydWxlXSB0YWcuCgkJCQkJCWlmIChwcmVnX21hdGNoKCIvXi0tLS0tLyIsICR0aGlzLT50ZXh0KSkgewoJCQkJCQkJJHRoaXMtPnRhZyA9IEFycmF5KCdfbmFtZScgPT4gJ3J1bGUnLCAnX2VuZHRhZycgPT4gZmFsc2UsICdfZGVmYXVsdCcgPT4gJycpOwoJCQkJCQkJJHRoaXMtPnN0YXRlID0gQkJDT0RFX0xFWFNUQVRFX1RFWFQ7CgkJCQkJCQlyZXR1cm4gJHRoaXMtPnRva2VuID0gQkJDT0RFX1RBRzsKCQkJCQkJfQoJCQkJCQllbHNlIHsKCQkJCQkJCSR0aGlzLT50YWcgPSBmYWxzZTsKCQkJCQkJCSR0aGlzLT5zdGF0ZSA9IEJCQ09ERV9MRVhTVEFURV9URVhUOwoJCQkJCQkJaWYgKHN0cmxlbigkdGhpcy0+dGV4dCkgPiAwKQoJCQkJCQkJCXJldHVybiAkdGhpcy0+dG9rZW4gPSBCQkNPREVfVEVYVDsKCQkJCQkJCWNvbnRpbnVlOwoJCQkJCQl9CgkJCQkJZGVmYXVsdDoKCQkJCQkJLy8gV2hpdGVzcGFjZS4KCQkJCQkJJHRoaXMtPnRhZyA9IGZhbHNlOwoJCQkJCQkkdGhpcy0+c3RhdGUgPSBCQkNPREVfTEVYU1RBVEVfVEVYVDsKCQkJCQkJcmV0dXJuICR0aGlzLT50b2tlbiA9IEJCQ09ERV9XUzsKCQkJCQljYXNlIDQwOgoJCQkJCWNhc2UgNjA6CgkJCQkJY2FzZSA5MToKCQkJCQljYXNlIDEyMzoKCQkJCQkJLy8gVGFnIG9yIGNvbW1lbnQuICBUaGlzIGlzIHRoZSBtb3N0IGNvbXBsaWNhdGVkIG9uZSwgYmVjYXVzZSBpdAoJCQkJCQkvLyBuZWVkcyB0byBiZSBwYXJzZWQgaW50byBpdHMgY29tcG9uZW50IHBpZWNlcy4KCQkJCQkJCgkJCQkJCS8vIFNlZSBpZiB0aGlzIGlzIGEgY29tbWVudDsgaWYgc28sIHNraXAgaXQuCgkJCQkJCWlmIChwcmVnX21hdGNoKCR0aGlzLT5wYXRfY29tbWVudCwgJHRoaXMtPnRleHQpKSB7CgkJCQkJCQkvLyBUaGlzIGlzIGEgY29tbWVudCwgbm90IGEgdGFnLCBzbyB0cmVhdCBpdCBsaWtlIGl0IGRvZXNuJ3QgZXhpc3QuCgkJCQkJCQkkdGhpcy0+c3RhdGUgPSBCQkNPREVfTEVYU1RBVEVfVEVYVDsKCQkJCQkJCWNvbnRpbnVlOwoJCQkJCQl9CgkJCQkJCWlmIChwcmVnX21hdGNoKCR0aGlzLT5wYXRfY29tbWVudDIsICR0aGlzLT50ZXh0KSkgewoJCQkJCQkJLy8gVGhpcyBpcyBhIGNvbW1lbnQsIG5vdCBhIHRhZywgc28gdHJlYXQgaXQgbGlrZSBpdCBkb2Vzbid0IGV4aXN0LgoJCQkJCQkJJHRoaXMtPnN0YXRlID0gQkJDT0RFX0xFWFNUQVRFX1RFWFQ7CgkJCQkJCQljb250aW51ZTsKCQkJCQkJfQoJCQkJCQkKCQkJCQkJLy8gU2VlIGlmIHRoaXMgaXMgYSBbW3dpa2kgbGlua11dOyBpZiBzbywgY29udmVydCBpdCBpbnRvIGEgW3dpa2k9IiIgdGl0bGU9IiJdIHRhZy4KCQkJCQkJaWYgKHByZWdfbWF0Y2goJHRoaXMtPnBhdF93aWtpLCAkdGhpcy0+dGV4dCwgJG1hdGNoZXMpKSB7CgkJCQkJCQkkdGhpcy0+dGFnID0gQXJyYXkoJ19uYW1lJyA9PiAnd2lraScsICdfZW5kdGFnJyA9PiBmYWxzZSwKCQkJCQkJCQknX2RlZmF1bHQnID0+IEAkbWF0Y2hlc1sxXSwgJ3RpdGxlJyA9PiBAJG1hdGNoZXNbMl0pOwoJCQkJCQkJJHRoaXMtPnN0YXRlID0gQkJDT0RFX0xFWFNUQVRFX1RFWFQ7CgkJCQkJCQlyZXR1cm4gJHRoaXMtPnRva2VuID0gQkJDT0RFX1RBRzsKCQkJCQkJfQoJCQkJCQkKCQkJCQkJLy8gTm90IGEgY29tbWVudCwgc28gcGFyc2UgaXQgbGlrZSBhIHRhZy4KCQkJCQkJJHRoaXMtPnRhZyA9ICR0aGlzLT5JbnRlcm5hbF9EZWNvZGVUYWcoJHRoaXMtPnRleHQpOwoJCQkJCQkkdGhpcy0+c3RhdGUgPSBCQkNPREVfTEVYU1RBVEVfVEVYVDsKCQkJCQkJcmV0dXJuICR0aGlzLT50b2tlbiA9ICgkdGhpcy0+dGFnWydfZW5kJ10gPyBCQkNPREVfRU5EVEFHIDogQkJDT0RFX1RBRyk7CgkJCQkJfQoJCQkJfQoJCQl9CgkJfQoJCQoJCS8vIFVuZ2V0cyB0aGUgbGFzdCB0b2tlbiByZWFkIHNvIHRoYXQgYSBzdWJzZXF1ZW50IGNhbGwgdG8gTmV4dFRva2VuKCkgd2lsbAoJCS8vIHJldHVybiBpdC4gIE5vdGUgdGhhdCBVbmdldFRva2VuKCkgZG9lcyBub3Qgc3dpdGNoIHN0YXRlcyB3aGVuIHlvdSBzd2l0Y2gKCQkvLyBiZXR3ZWVuIHZlcmJhdGltIG1vZGUgYW5kIHN0YW5kYXJkIG1vZGU6ICBGb3IgZXhhbXBsZSwgaWYgeW91IHJlYWQgYSB0YWcsCgkJLy8gdW5nZXQgdGhlIHRhZywgc3dpdGNoIHRvIHZlcmJhdGltIG1vZGUsIGFuZCB0aGVuIGdldCB0aGUgbmV4dCB0b2tlbiwgeW91J2xsCgkJLy8gZ2V0IGJhY2sgYSBCQkNPREVfVEFHIC0tLSBleGFjdGx5IHdoYXQgeW91IHVuZ290LCBub3QgYSBCQkNPREVfVEVYVCB0b2tlbi4KCQlmdW5jdGlvbiBVbmdldFRva2VuKCkgewoJCQlpZiAoJHRoaXMtPnRva2VuICE9PSBCQkNPREVfRU9JKQoJCQkJJHRoaXMtPnVuZ2V0ID0gdHJ1ZTsKCQl9CgoJCS8vIFBlZWsgYXQgdGhlIG5leHQgdG9rZW4sIGJ1dCBkb24ndCByZW1vdmUgaXQuCgkJZnVuY3Rpb24gUGVla1Rva2VuKCkgewoJCQkkcmVzdWx0ID0gJHRoaXMtPk5leHRUb2tlbigpOwoJCQlpZiAoJHRoaXMtPnRva2VuICE9PSBCQkNPREVfRU9JKQoJCQkJJHRoaXMtPnVuZ2V0ID0gdHJ1ZTsKCQkJcmV0dXJuICRyZXN1bHQ7CgkJfQoKCQkvLyBTYXZlIHRoZSBzdGF0ZSBvZiB0aGlzIGxleGVyIHNvIGl0IGNhbiBiZSByZXN0b3JlZCBsYXRlci4gIFRoZSByZXR1cm4KCQkvLyB2YWx1ZSBmcm9tIHRoaXMgc2hvdWxkIGJlIGNvbnNpZGVyZWQgb3BhcXVlLiAgQmVjYXVzZSBQSFAgdXNlcyBjb3B5LW9uLXdyaXRlCgkJLy8gcmVmZXJlbmNlcywgdGhlIHRvdGFsIGNvc3Qgb2YgdGhlIHJldHVybmVkIHN0YXRlIGlzIHJlbGF0aXZlbHkgc21hbGwsIGFuZAoJCS8vIHRoZSBydW5uaW5nIHRpbWUgb2YgdGhpcyBmdW5jdGlvbiAoYW5kIFJlc3RvcmVTdGF0ZSkgaXMgdmVyeSBmYXN0LgoJCWZ1bmN0aW9uIFNhdmVTdGF0ZSgpIHsKCQkJcmV0dXJuIEFycmF5KAoJCQkJJ3Rva2VuJyA9PiAkdGhpcy0+dG9rZW4sCgkJCQkndGV4dCcgPT4gJHRoaXMtPnRleHQsCgkJCQkndGFnJyA9PiAkdGhpcy0+dGFnLAoJCQkJJ3N0YXRlJyA9PiAkdGhpcy0+c3RhdGUsCgkJCQknaW5wdXQnID0+ICR0aGlzLT5pbnB1dCwKCQkJCSdwdHInID0+ICR0aGlzLT5wdHIsCgkJCQkndW5nZXQnID0+ICR0aGlzLT51bmdldCwKCQkJCSd2ZXJiYXRpbScgPT4gJHRoaXMtPnZlcmJhdGltCgkJCSk7CgkJfQoJCQoJCS8vIFJlc3RvcmUgdGhlIHN0YXRlIG9mIHRoaXMgbGV4ZXIgZnJvbSBhIHNhdmVkIHByZXZpb3VzIHN0YXRlLgoJCWZ1bmN0aW9uIFJlc3RvcmVTdGF0ZSgkc3RhdGUpIHsKCQkJaWYgKCFpc19hcnJheSgkc3RhdGUpKSByZXR1cm47CgkJCSR0aGlzLT50b2tlbiA9IEAkc3RhdGVbJ3Rva2VuJ107CgkJCSR0aGlzLT50ZXh0ID0gQCRzdGF0ZVsndGV4dCddOwoJCQkkdGhpcy0+dGFnID0gQCRzdGF0ZVsndGFnJ107CgkJCSR0aGlzLT5zdGF0ZSA9IEAkc3RhdGVbJ3N0YXRlJ107CgkJCSR0aGlzLT5pbnB1dCA9IEAkc3RhdGVbJ2lucHV0J107CgkJCSR0aGlzLT5wdHIgPSBAJHN0YXRlWydwdHInXTsKCQkJJHRoaXMtPnVuZ2V0ID0gQCRzdGF0ZVsndW5nZXQnXTsKCQkJJHRoaXMtPnZlcmJhdGltID0gQCRzdGF0ZVsndmVyYmF0aW0nXTsKCQl9CgoJCS8vIEdpdmVuIGEgc3RyaW5nLCBpZiBpdCdzIHN1cnJvdW5kZWQgYnkgInF1b3RlcyIgb3IgJ3F1b3RlcycsIHJlbW92ZSB0aGVtLgoJCWZ1bmN0aW9uIEludGVybmFsX1N0cmlwUXVvdGVzKCRzdHJpbmcpIHsKCQkJaWYgKHByZWdfbWF0Y2goIi9eXFxcIiguKilcXFwiJC8iLCAkc3RyaW5nLCAkbWF0Y2hlcykpCgkJCQlyZXR1cm4gJG1hdGNoZXNbMV07CgkJCWVsc2UgaWYgKHByZWdfbWF0Y2goIi9eXFwnKC4qKVxcJyQvIiwgJHN0cmluZywgJG1hdGNoZXMpKQoJCQkJcmV0dXJuICRtYXRjaGVzWzFdOwoJCQllbHNlIHJldHVybiAkc3RyaW5nOwoJCX0KCgkJLy8gR2l2ZW4gYSB0b2tlbml6ZWQgcGllY2Ugb2YgYSB0YWcsIGRlY2lkZSB3aGF0IHR5cGUgb2YgdG9rZW4gaXQgaXMuICBPdXIKCQkvLyByZXR1cm4gdmFsdWVzIGFyZToKCQkvLyAgICAtMSAgICBFbmQtb2YtaW5wdXQgKEVPSSkuCgkJLy8gICAgJz0nICAgVG9rZW4gaXMgYW4gPSBzaWduLgoJCS8vICAgICcgJyAgIFRva2VuIGlzIHdoaXRlc3BhY2UuCgkJLy8gICAgJyInICAgVG9rZW4gaXMgcXVvdGVkIHRleHQuCgkJLy8gICAgJ0EnICAgVG9rZW4gaXMgdW5xdW90ZWQgdGV4dC4KCQlmdW5jdGlvbiBJbnRlcm5hbF9DbGFzc2lmeVBpZWNlKCRwdHIsICRwaWVjZXMpIHsKCQkJaWYgKCRwdHIgPj0gY291bnQoJHBpZWNlcykpIHJldHVybiAtMTsJLy8gRU9JLgoJCQkkcGllY2UgPSAkcGllY2VzWyRwdHJdOwoJCQlpZiAoJHBpZWNlID09ICc9JykgcmV0dXJuICc9JzsKCQkJZWxzZSBpZiAocHJlZ19tYXRjaCgiL15bXFwnXFxcIl0vIiwgJHBpZWNlKSkgcmV0dXJuICciJzsKCQkJZWxzZSBpZiAocHJlZ19tYXRjaCgiL15bXFx4MDAtXFx4MjBdKyQvIiwgJHBpZWNlKSkgcmV0dXJuICcgJzsKCQkJZWxzZSByZXR1cm4gJ0EnOwoJCX0KCgkJLy8gR2l2ZW4gYSBzdHJpbmcgY29udGFpbmluZyBhIGNvbXBsZXRlIFt0YWddIChpbmNsdWRpbmcgaXRzIGJyYWNrZXRzKSwgYnJlYWsKCQkvLyBpdCBkb3duIGludG8gaXRzIGNvbXBvbmVudHMgYW5kIHJldHVybiB0aGVtIGFzIGFuIGFycmF5LgoJCWZ1bmN0aW9uIEludGVybmFsX0RlY29kZVRhZygkdGFnKSB7CgoJCQlpZiAoJHRoaXMtPmRlYnVnKSB7CgkJCQlwcmludCAiPGI+TGV4ZXI6OkludGVybmFsRGVjb2RlVGFnOjwvYj4gaW5wdXQ6ICIgLiBodG1sc3BlY2lhbGNoYXJzKCR0YWcpIC4gIjxiciAvPlxuIjsKCQkJfQoKCQkJLy8gQ3JlYXRlIHRoZSBpbml0aWFsIHJlc3VsdCBvYmplY3QuCgkJCSRyZXN1bHQgPSBBcnJheSgnX3RhZycgPT4gJHRhZywgJ19lbmR0YWcnID0+ICcnLCAnX25hbWUnID0+ICcnLAoJCQkJJ19oYXNlbmQnID0+IGZhbHNlLCAnX2VuZCcgPT4gZmFsc2UsICdfZGVmYXVsdCcgPT4gZmFsc2UpOwoKCQkJLy8gU3RyaXAgb2ZmIHRoZSBbYnJhY2tldHNdIGFyb3VuZCB0aGUgdGFnLCBsZWF2aW5nIGp1c3QgaXRzIGNvbnRlbnQuCgkJCSR0YWcgPSBzdWJzdHIoJHRhZywgMSwgc3RybGVuKCR0YWcpLTIpOwoKCQkJLy8gVGhlIHN0YXJ0aW5nIGJyYWNrZXQgKm11c3QqIGJlIGZvbGxvd2VkIGJ5IGEgbm9uLXdoaXRlc3BhY2UgY2hhcmFjdGVyLgoJCQkkY2ggPSBvcmQoc3Vic3RyKCR0YWcsIDAsIDEpKTsKCQkJaWYgKCRjaCA+PSAwICYmICRjaCA8PSAzMikgcmV0dXJuICRyZXN1bHQ7CgoJCQkvLyBCcmVhayBpdCBhcGFydCBpbnRvIHdvcmRzLCBxdW90ZWQgdGV4dCwgd2hpdGVzcGFjZSwgYW5kIGVxdWFsIHNpZ25zLgoJCQkkcGllY2VzID0gcHJlZ19zcGxpdCgiLyhcXFwiW15cXFwiXStcXFwifFxcJ1teXFwnXStcXCd8PXxbXFx4MDAtXFx4MjBdKykvIiwKCQkJCSR0YWcsIC0xLCBQUkVHX1NQTElUX0RFTElNX0NBUFRVUkV8UFJFR19TUExJVF9OT19FTVBUWSk7CgkJCSRwdHIgPSAwOwoKCQkJLy8gSGFuZGxlIG1hbGZvcm1lZCAoZW1wdHkpIHRhZ3MgY29ycmVjdGx5LgoJCQlpZiAoY291bnQoJHBpZWNlcykgPCAxKSByZXR1cm4gJHJlc3VsdDsKCgkJCS8vIFRoZSBmaXJzdCBwaWVjZSBzaG91bGQgYmUgdGhlIHRhZyBuYW1lLCB3aGF0ZXZlciBpdCBpcy4gIElmIGl0IHN0YXJ0cyB3aXRoIGEgLwoJCQkvLyB3ZSByZW1vdmUgdGhlIC8gYW5kIG1hcmsgaXQgYXMgYW4gZW5kIHRhZy4KCQkJaWYgKEBzdWJzdHIoJHBpZWNlc1skcHRyXSwgMCwgMSkgPT0gJy8nKSB7CgkJCQkkcmVzdWx0WydfbmFtZSddID0gc3RydG9sb3dlcihzdWJzdHIoJHBpZWNlc1skcHRyKytdLCAxKSk7CgkJCQkkcmVzdWx0WydfZW5kJ10gPSB0cnVlOwoJCQl9CgkJCWVsc2UgewoJCQkJJHJlc3VsdFsnX25hbWUnXSA9IHN0cnRvbG93ZXIoJHBpZWNlc1skcHRyKytdKTsKCQkJCSRyZXN1bHRbJ19lbmQnXSA9IGZhbHNlOwoJCQl9CgoJCQkvLyBTa2lwIHdoaXRlc3BhY2UgYWZ0ZXIgdGhlIHRhZyBuYW1lLgoJCQl3aGlsZSAoKCR0eXBlID0gJHRoaXMtPkludGVybmFsX0NsYXNzaWZ5UGllY2UoJHB0ciwgJHBpZWNlcykpID09ICcgJykKCQkJCSRwdHIrKzsKCgkJCSRwYXJhbXMgPSBBcnJheSgpOwoKCQkJLy8gSWYgdGhlIG5leHQgcGllY2UgaXMgYW4gZXF1YWwgc2lnbiwgdGhlbiB0aGUgdGFnJ3MgZGVmYXVsdCB2YWx1ZSBmb2xsb3dzLgoJCQlpZiAoJHR5cGUgIT0gJz0nKSB7CgkJCQkkcmVzdWx0WydfZGVmYXVsdCddID0gZmFsc2U7CgkJCQkkcGFyYW1zW10gPSBBcnJheSgna2V5JyA9PiAnJywgJ3ZhbHVlJyA9PiAnJyk7CgkJCX0KCQkJZWxzZSB7CgkJCQkkcHRyKys7CgoJCQkJLy8gU2tpcCB3aGl0ZXNwYWNlIGFmdGVyIHRoZSBpbml0aWFsIGVxdWFsLXNpZ24uCgkJCQl3aGlsZSAoKCR0eXBlID0gJHRoaXMtPkludGVybmFsX0NsYXNzaWZ5UGllY2UoJHB0ciwgJHBpZWNlcykpID09ICcgJykKCQkJCQkkcHRyKys7CgoJCQkJLy8gRXhhbWluZSB0aGUgbmV4dCAocmVhbCkgcGllY2UsIGFuZCBzZWUgaWYgaXQncyBxdW90ZWQ7IGlmIG5vdCwgd2UgbmVlZCB0bwoJCQkJLy8gdXNlIGhldXJpc3RpY3MgdG8gZ3Vlc3Mgd2hlcmUgdGhlIGRlZmF1bHQgdmFsdWUgYmVnaW5zIGFuZCBlbmRzLgoJCQkJaWYgKCR0eXBlID09ICJcIiIpCgkJCQkJJHZhbHVlID0gJHRoaXMtPkludGVybmFsX1N0cmlwUXVvdGVzKCRwaWVjZXNbJHB0cisrXSk7CgkJCQllbHNlIHsKCQkJCQkvLyBDb2xsZWN0IHBpZWNlcyBnb2luZyBmb3J3YXJkIHVudGlsIHdlIHJlYWNoIGFuID0gc2lnbiBvciB0aGUgZW5kIG9mIHRoZQoJCQkJCS8vIHRhZzsgdGhlbiByZXdpbmQgYmVmb3JlIHdoYXRldmVyIGNvbWVzIGJlZm9yZSB0aGUgPSBzaWduLCBhbmQgZXZlcnl0aGluZwoJCQkJCS8vIGJldHdlZW4gaGVyZSBhbmQgdGhlcmUgYmVjb21lcyB0aGUgZGVmYXVsdCB2YWx1ZS4gIFRoaXMgYWxsb3dzIHRhZ3MgbGlrZQoJCQkJCS8vIFtmb250PVRpbWVzIE5ldyBSb21hbiBzaXplPTRdIHRvIG1ha2Ugc2Vuc2UgZXZlbiB0aG91Z2ggdGhlIGZvbnQgbmFtZSBpcwoJCQkJCS8vIG5vdCBxdW90ZWQuICBOb3RlLCBob3dldmVyLCB0aGF0IHRoZXJlJ3MgYSBzcGVjaWFsIGluaXRpYWwgY2FzZSwgd2hlcmUKCQkJCQkvLyBhbnkgZXF1YWwtc2lnbnMgYmVmb3JlIHdoaXRlc3BhY2UgYXJlIGNvbnNpZGVyZWQgdG8gYmUgcGFydCBvZiB0aGUgcGFyYW1ldGVyCgkJCQkJLy8gYXMgd2VsbDsgdGhpcyBhbGxvd3MgYW4gdWdseSB0YWcgbGlrZSBbdXJsPWh0dHA6Ly9mb28/YmFyPWJheiB0YXJnZXQ9bXlfd2luZG93XQoJCQkJCS8vIHRvIGJlaGF2ZSBpbiBhIHdheSB0aGF0IG1ha2VzICh0b2xlcmFibGUpIHNlbnNlLgoJCQkJCSRhZnRlcl9zcGFjZSA9IGZhbHNlOwoJCQkJCSRzdGFydCA9ICRwdHI7CgkJCQkJd2hpbGUgKCgkdHlwZSA9ICR0aGlzLT5JbnRlcm5hbF9DbGFzc2lmeVBpZWNlKCRwdHIsICRwaWVjZXMpKSAhPSAtMSkgewoJCQkJCQlpZiAoJHR5cGUgPT0gJyAnKSAkYWZ0ZXJfc3BhY2UgPSB0cnVlOwoJCQkJCQlpZiAoJHR5cGUgPT0gJz0nICYmICRhZnRlcl9zcGFjZSkgYnJlYWs7CgkJCQkJCSRwdHIrKzsKCQkJCQl9CgkJCQkJaWYgKCR0eXBlID09IC0xKSAkcHRyLS07CgkJCQkJCgkJCQkJLy8gV2UndmUgbm93IGZvdW5kIHRoZSBmaXJzdCAoYXBwcm9wcmlhdGUpIGVxdWFsLXNpZ24gYWZ0ZXIgdGhlIHN0YXJ0IG9mIHRoZQoJCQkJCS8vIGRlZmF1bHQgdmFsdWUuICAoSW4gdGhlIGV4YW1wbGUgYWJvdmUsIHRoYXQncyB0aGUgIj0iIGFmdGVyICJ0YXJnZXQiLikgIFdlCgkJCQkJLy8gbm93IGhhdmUgdG8gcmV3aW5kIGJhY2sgdG8gdGhlIGxhc3Qgd2hpdGVzcGFjZSB0byBmaW5kIHdoZXJlIHRoZSBkZWZhdWx0CgkJCQkJLy8gdmFsdWUgZW5kZWQuCgkJCQkJaWYgKCR0eXBlID09ICc9JykgewoJCQkJCQkvLyBSZXdpbmQgYmVmb3JlID0gc2lnbi4KCQkJCQkJJHB0ci0tOwoJCQkJCQkvLyBSZXdpbmQgYmVmb3JlIGFueSB3aGl0ZXNwYWNlIGJlZm9yZSA9IHNpZ24uCgkJCQkJCXdoaWxlICgkcHRyID4gJHN0YXJ0ICYmICR0aGlzLT5JbnRlcm5hbF9DbGFzc2lmeVBpZWNlKCRwdHIsICRwaWVjZXMpID09ICcgJykKCQkJCQkJCSRwdHItLTsKCQkJCQkJLy8gUmV3aW5kIGJlZm9yZSBhbnkgdGV4dCBlbGVtZW50cyBiZWZvcmUgdGhhdC4KCQkJCQkJd2hpbGUgKCRwdHIgPiAkc3RhcnQgJiYgJHRoaXMtPkludGVybmFsX0NsYXNzaWZ5UGllY2UoJHB0ciwgJHBpZWNlcykgIT0gJyAnKQoJCQkJCQkJJHB0ci0tOwoJCQkJCX0KCgkJCQkJLy8gVGhlIGRlZmF1bHQgdmFsdWUgaXMgZXZlcnl0aGluZyBmcm9tICRzdGFydCB0byAkcHRyLCBpbmNsdXNpdmUuCgkJCQkJJHZhbHVlID0gIiI7CgkJCQkJZm9yICg7ICRzdGFydCA8PSAkcHRyOyAkc3RhcnQrKykgewoJCQkJCQlpZiAoJHRoaXMtPkludGVybmFsX0NsYXNzaWZ5UGllY2UoJHN0YXJ0LCAkcGllY2VzKSA9PSAnICcpCgkJCQkJCQkkdmFsdWUgLj0gIiAiOwoJCQkJCQllbHNlICR2YWx1ZSAuPSAkdGhpcy0+SW50ZXJuYWxfU3RyaXBRdW90ZXMoJHBpZWNlc1skc3RhcnRdKTsKCQkJCQl9CgkJCQkJJHZhbHVlID0gdHJpbSgkdmFsdWUpOwoJCQkJCQoJCQkJCSRwdHIrKzsKCQkJCX0KCgkJCQkkcmVzdWx0WydfZGVmYXVsdCddID0gJHZhbHVlOwoJCQkJJHBhcmFtc1tdID0gQXJyYXkoJ2tleScgPT4gJycsICd2YWx1ZScgPT4gJHZhbHVlKTsKCQkJfQoKCQkJLy8gVGhlIHJlc3Qgb2YgdGhlIHRhZyBpcyBjb21wb3NlZCBvZiBlaXRoZXIgZmxvYXRpbmcga2V5cyBvciBrZXk9dmFsdWUgcGFpcnMsIHNvIHdhbGsgdGhyb3VnaAoJCQkvLyB0aGUgdGFnIGFuZCBjb2xsZWN0IHRoZW0gYWxsLiAgQWdhaW4sIHdlIGhhdmUgdGhlIG5hc3R5IHNwZWNpYWwgY2FzZSB3aGVyZSBhbiBlcXVhbCBzaWduCgkJCS8vIGluIGEgcGFyYW1ldGVyIGJ1dCBiZWZvcmUgd2hpdGVzcGFjZSBjb3VudHMgYXMgcGFydCBvZiB0aGF0IHBhcmFtZXRlci4KCQkJd2hpbGUgKCgkdHlwZSA9ICR0aGlzLT5JbnRlcm5hbF9DbGFzc2lmeVBpZWNlKCRwdHIsICRwaWVjZXMpKSAhPSAtMSkgewoKCQkJCS8vIFNraXAgd2hpdGVzcGFjZSBiZWZvcmUgdGhlIG5leHQga2V5IG5hbWUuCgkJCQl3aGlsZSAoJHR5cGUgPT0gJyAnKSB7CgkJCQkJJHB0cisrOwoJCQkJCSR0eXBlID0gJHRoaXMtPkludGVybmFsX0NsYXNzaWZ5UGllY2UoJHB0ciwgJHBpZWNlcyk7CgkJCQl9CgoJCQkJLy8gRGVjb2RlIHRoZSBrZXkgbmFtZS4KCQkJCWlmICgkdHlwZSA9PSAnQScgfHwgJHR5cGUgPT0gJyInKQoJCQkJCSRrZXkgPSBzdHJ0b2xvd2VyKCR0aGlzLT5JbnRlcm5hbF9TdHJpcFF1b3RlcyhAJHBpZWNlc1skcHRyKytdKSk7CgkJCQllbHNlIGlmICgkdHlwZSA9PSAnPScpIHsKCQkJCQkkcHRyKys7CgkJCQkJY29udGludWU7CgkJCQl9CgkJCQllbHNlIGlmICgkdHlwZSA9PSAtMSkgYnJlYWs7CgoJCQkJLy8gU2tpcCB3aGl0ZXNwYWNlIGFmdGVyIHRoZSBrZXkgbmFtZS4KCQkJCXdoaWxlICgoJHR5cGUgPSAkdGhpcy0+SW50ZXJuYWxfQ2xhc3NpZnlQaWVjZSgkcHRyLCAkcGllY2VzKSkgPT0gJyAnKQoJCQkJCSRwdHIrKzsKCgkJCQkvLyBJZiBhbiBlcXVhbC1zaWduIGZvbGxvd3MsIHdlIG5lZWQgdG8gY29sbGVjdCBhIHZhbHVlLiAgT3RoZXJ3aXNlLCB3ZQoJCQkJLy8gdGFrZSB0aGUga2V5IGl0c2VsZiBhcyB0aGUgdmFsdWUuCgkJCQlpZiAoJHR5cGUgIT0gJz0nKQoJCQkJCSR2YWx1ZSA9ICR0aGlzLT5JbnRlcm5hbF9TdHJpcFF1b3Rlcygka2V5KTsKCQkJCWVsc2UgewoJCQkJCSRwdHIrKzsKCQkJCQkvLyBTa2lwIHdoaXRlc3BhY2UgYWZ0ZXIgdGhlIGVxdWFsIHNpZ24uCgkJCQkJd2hpbGUgKCgkdHlwZSA9ICR0aGlzLT5JbnRlcm5hbF9DbGFzc2lmeVBpZWNlKCRwdHIsICRwaWVjZXMpKSA9PSAnICcpCgkJCQkJCSRwdHIrKzsKCQkJCQlpZiAoJHR5cGUgPT0gJyInKSB7CgkJCQkJCS8vIElmIHdlIGdldCBhIHF1b3RlZCB2YWx1ZSwgdGFrZSB0aGF0IGFzIHRoZSBvbmx5IHZhbHVlLgoJCQkJCQkkdmFsdWUgPSAkdGhpcy0+SW50ZXJuYWxfU3RyaXBRdW90ZXMoJHBpZWNlc1skcHRyKytdKTsKCQkJCQl9CgkJCQkJZWxzZSBpZiAoJHR5cGUgIT0gLTEpIHsKCQkJCQkJLy8gSWYgd2UgZ2V0IGEgbm9uLXF1b3RlZCB2YWx1ZSwgY29uc3VtZSBub24tcXVvdGVkIHZhbHVlcwoJCQkJCQkvLyB1bnRpbCB3ZSByZWFjaCB3aGl0ZXNwYWNlLgoJCQkJCQkkdmFsdWUgPSAkcGllY2VzWyRwdHIrK107CgkJCQkJCXdoaWxlICgoJHR5cGUgPSAkdGhpcy0+SW50ZXJuYWxfQ2xhc3NpZnlQaWVjZSgkcHRyLCAkcGllY2VzKSkgIT0gLTEKCQkJCQkJCSYmICR0eXBlICE9ICcgJykKCQkJCQkJCSR2YWx1ZSAuPSAkcGllY2VzWyRwdHIrK107CgkJCQkJfQoJCQkJCWVsc2UgJHZhbHVlID0gIiI7CgkJCQl9CgoJCQkJLy8gUmVjb3JkIHRoaXMgaW4gdGhlIGFzc29jaWF0aXZlIGFycmF5IGlmIGl0J3MgYSBsZWdhbCBwdWJsaWMgaWRlbnRpZmllciBuYW1lLgoJCQkJLy8gTGVnYWwgKnB1YmxpYyogaWRlbnRpZmllciBuYW1lcyBtdXN0ICpub3QqIGJlZ2luIHdpdGggYW4gdW5kZXJzY29yZS4KCQkJCWlmIChzdWJzdHIoJGtleSwgMCwgMSkgIT0gJ18nKQoJCQkJCSRyZXN1bHRbJGtleV0gPSAkdmFsdWU7CgoJCQkJLy8gUmVjb3JkIHRoaXMgaW4gdGhlIHBhcmFtZXRlciBsaXN0IGFsd2F5cy4KCQkJCSRwYXJhbXNbXSA9IEFycmF5KCdrZXknID0+ICRrZXksICd2YWx1ZScgPT4gJHZhbHVlKTsKCQkJfQoKCQkJLy8gQWRkIHRoZSBwYXJhbWV0ZXIgbGlzdCBhcyBhIG1lbWJlciBvZiB0aGUgYXNzb2NpYXRpdmUgYXJyYXkuCgkJCSRyZXN1bHRbJ19wYXJhbXMnXSA9ICRwYXJhbXM7CgoJCQlpZiAoJHRoaXMtPmRlYnVnKSB7CgkJCQkvLyBJbiBkZWJ1Z2dpbmcgbW9kZXMsIG91dHB1dCB0aGUgdGFnIGFzIHdlIGNvbGxlY3RlZCBpdC4KCQkJCXByaW50ICI8Yj5MZXhlcjo6SW50ZXJuYWxEZWNvZGVUYWc6PC9iPiBvdXRwdXQ6ICI7CgkJCQlvYl9zdGFydCgpOwoJCQkJcHJpbnRfcigkcmVzdWx0KTsKCQkJCSRvdXRwdXQgPSBvYl9nZXRfY2xlYW4oKTsKCQkJCXByaW50IGh0bWxzcGVjaWFsY2hhcnMoJG91dHB1dCkgLiAiPGJyIC8+XG4iOwoJCQl9CgoJCQkvLyBTYXZlIHRoZSByZXN1bHRpbmcgcGFyYW1ldGVycywgYW5kIHJldHVybiB0aGUgd2hvbGUgc2hlYmFuZy4KCQkJcmV0dXJuICRyZXN1bHQ7CgkJfQoJfQoKPz4K]]></data>
	</file>
	<file>
	  <filename>/src/nbbc_lib.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCgkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkvLwoJLy8gIG5iYmNfbGliLnBocAoJLy8KCS8vICBUaGlzIGZpbGUgaXMgcGFydCBvZiBOQkJDLCB0aGUgTmV3IEJCQ29kZSBQYXJzZXIuCgkvLwoJLy8gIE5CQkMgaW1wbGVtZW50cyBhIGZ1bGx5LXZhbGlkYXRpbmcsIGhpZ2gtc3BlZWQsIGV4dGVuc2libGUgcGFyc2VyIGZvciB0aGUKCS8vICBCQkNvZGUgZG9jdW1lbnQgbGFuZ3VhZ2UuICBJdHMgb3V0cHV0IGlzIFhIVE1MIDEuMCBTdHJpY3QgY29uZm9ybWFudCBubwoJLy8gIG1hdHRlciB3aGF0IGl0cyBpbnB1dCBpcy4gIE5CQkMgc3VwcG9ydHMgdGhlIGZ1bGwgc3RhbmRhcmQgQkJDb2RlIGxhbmd1YWdlLAoJLy8gIGFzIHdlbGwgYXMgY29tbWVudHMsIGNvbHVtbnMsIGVuaGFuY2VkIHF1b3Rlcywgc3BvaWxlcnMsIGFjcm9ueW1zLCB3aWtpCgkvLyAgbGlua3MsIHNldmVyYWwgbGlzdCBzdHlsZXMsIGp1c3RpZmljYXRpb24sIGluZGVudGF0aW9uLCBhbmQgc21pbGV5cywgYW1vbmcKCS8vICBvdGhlciBhZHZhbmNlZCBmZWF0dXJlcy4KCS8vCgkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkvLwoJLy8gIENvcHlyaWdodCAoYykgMjAwOC05LCB0aGUgUGhhbnRvbSBJbmtlci4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgkvLwoJLy8gIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAoJLy8gIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwoJLy8gIGFyZSBtZXQ6CgkvLwoJLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAoJLy8gICAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgoJLy8KCS8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKCS8vICAgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbgoJLy8gICAgICAgdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQoJLy8gICAgICAgZGlzdHJpYnV0aW9uLgoJLy8KCS8vICBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBQSEFOVE9NIElOS0VSICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTCgkvLyAgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKCS8vICBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCgkvLyAgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUKCS8vICBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCgkvLyAgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKCS8vICBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IKCS8vICBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwKCS8vICBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRQoJLy8gIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4KCS8vICBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KCS8vCgkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkvLwoJLy8gIFRoaXMgZmlsZSBpbXBsZW1lbnRzIHRoZSBzdGFuZGFyZCBCQkNvZGUgbGFuZ3VhZ2UgYW5kIG91ciBleHRlbnNpb25zLAoJLy8gIGFzIHdlbGwgYXMgYSBkZWZhdWx0IHNldCBvZiBzbWlsZXlzLiAgV2hpbGUgdGhpcyBpcyBub3Qgc3RyaWN0bHkgbmVjZXNzYXJ5CgkvLyAgZm9yIHRoZSBwYXJzZXIgdG8gd29yaywgd2l0aG91dCB0aGVzZSBkZWZpbml0aW9ucywgdGhlIHBhcnNlciBoYXMgbm90aGluZwoJLy8gIHRvIGRvLiAgR2VuZXJhbGx5LCB0aGUgZGVmaW5pdGlvbnMgaW4gdGhpcyBmaWxlIGFyZSBzdWZmaWNpZW50IGZvciBtb3N0CgkvLyAgbmVlZHM7IGhvd2V2ZXIsIGlmIHlvdXIgbmVlZHMgZGlmZmVyLCB5b3UgZG9uJ3Qgd2FudCB0byBjaGFuZ2UgdGhpcyBmaWxlOgoJLy8gIElmIHlvdSB3YW50IGFkZGl0aW9uYWwgZGVmaW5pdGlvbnMsIGNyZWF0ZSBhIEJCQ29kZSBvYmplY3QgYW5kIGFkZCB0aGVtCgkvLyAgbWFudWFsbHkgYWZ0ZXJ3YXJkOgoJLy8KCS8vICAgICRiYmNvZGUgPSBuZXcgQkJDb2RlOwoJLy8gICAgJGJiY29kZS0+QWRkUnVsZSguLi4pOwoJLy8gICAgJGJiY29kZS0+QWRkU21pbGV5KC4uLik7CgkvLwoJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCWNsYXNzIEJCQ29kZUxpYnJhcnkgewoKCQkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkJLy8gU3RhbmRhcmQgbGlicmFyeSBvZiBzbWlsZXkgZGVmaW5pdGlvbnMuCgkKCQl2YXIgJGRlZmF1bHRfc21pbGV5cyA9IEFycmF5KAoJCQknOiknID0+ICdzbWlsZS5naWYnLCAgICAgICAnOi0pJyA9PiAnc21pbGUuZ2lmJywKCQkJJz0pJyA9PiAnc21pbGUuZ2lmJywgICAgICAgJz0tKScgPT4gJ3NtaWxlLmdpZicsCgkJCSc6KCcgPT4gJ2Zyb3duLmdpZicsICAgICAgICc6LSgnID0+ICdmcm93bi5naWYnLAoJCQknPSgnID0+ICdmcm93bi5naWYnLCAgICAgICAnPS0oJyA9PiAnZnJvd24uZ2lmJywKCQkJJzpEJyA9PiAnYmlnc21pbGUuZ2lmJywgICAgJzotRCcgPT4gJ2JpZ3NtaWxlLmdpZicsCgkJCSc9RCcgPT4gJ2JpZ3NtaWxlLmdpZicsICAgICc9LUQnID0+ICdiaWdzbWlsZS5naWYnLAoJCQknPjooJz0+ICdhbmdyeS5naWYnLCAgICAgICAnPjotKCc9PiAnYW5ncnkuZ2lmJywKCQkJJz49KCc9PiAnYW5ncnkuZ2lmJywgICAgICAgJz49LSgnPT4gJ2FuZ3J5LmdpZicsCgkJCSdEOicgPT4gJ2FuZ3J5LmdpZicsICAgICAgICdELTonID0+ICdhbmdyeS5naWYnLAoJCQknRD0nID0+ICdhbmdyeS5naWYnLCAgICAgICAnRC09JyA9PiAnYW5ncnkuZ2lmJywKCQkJJz46KSc9PiAnZXZpbC5naWYnLCAgICAgICAgJz46LSknPT4gJ2V2aWwuZ2lmJywKCQkJJz49KSc9PiAnZXZpbC5naWYnLCAgICAgICAgJz49LSknPT4gJ2V2aWwuZ2lmJywKCQkJJz46RCc9PiAnZXZpbC5naWYnLCAgICAgICAgJz46LUQnPT4gJ2V2aWwuZ2lmJywKCQkJJz49RCc9PiAnZXZpbC5naWYnLCAgICAgICAgJz49LUQnPT4gJ2V2aWwuZ2lmJywKCQkJJz47KSc9PiAnc25lYWt5LmdpZicsICAgICAgJz47LSknPT4gJ3NuZWFreS5naWYnLAoJCQknPjtEJz0+ICdzbmVha3kuZ2lmJywgICAgICAnPjstRCc9PiAnc25lYWt5LmdpZicsCgkJCSdPOiknID0+ICdzYWludC5naWYnLCAgICAgICdPOi0pJyA9PiAnc2FpbnQuZ2lmJywKCQkJJ089KScgPT4gJ3NhaW50LmdpZicsICAgICAgJ089LSknID0+ICdzYWludC5naWYnLAoJCQknOk8nID0+ICdzdXJwcmlzZS5naWYnLCAgICAnOi1PJyA9PiAnc3VycHJpc2UuZ2lmJywKCQkJJz1PJyA9PiAnc3VycHJpc2UuZ2lmJywgICAgJz0tTycgPT4gJ3N1cnByaXNlLmdpZicsCgkJCSc6PycgPT4gJ2NvbmZ1c2UuZ2lmJywgICAgICc6LT8nID0+ICdjb25mdXNlLmdpZicsCgkJCSc9PycgPT4gJ2NvbmZ1c2UuZ2lmJywgICAgICc9LT8nID0+ICdjb25mdXNlLmdpZicsCgkJCSc6cycgPT4gJ3dvcnJ5LmdpZicsICAgICAgICc6LVMnID0+ICd3b3JyeS5naWYnLAoJCQknPXMnID0+ICd3b3JyeS5naWYnLCAgICAgICAnPS1TJyA9PiAnd29ycnkuZ2lmJywKCQkJJzp8JyA9PiAnbmV1dHJhbC5naWYnLCAgICAgJzotfCcgPT4gJ25ldXRyYWwuZ2lmJywKCQkJJz18JyA9PiAnbmV1dHJhbC5naWYnLCAgICAgJz0tfCcgPT4gJ25ldXRyYWwuZ2lmJywKCQkJJzpJJyA9PiAnbmV1dHJhbC5naWYnLCAgICAgJzotSScgPT4gJ25ldXRyYWwuZ2lmJywKCQkJJz1JJyA9PiAnbmV1dHJhbC5naWYnLCAgICAgJz0tSScgPT4gJ25ldXRyYWwuZ2lmJywKCQkJJzovJyA9PiAnaXJyaXRhdGVkLmdpZicsICAgJzotLycgPT4gJ2lycml0YXRlZC5naWYnLAoJCQknPS8nID0+ICdpcnJpdGF0ZWQuZ2lmJywgICAnPS0vJyA9PiAnaXJyaXRhdGVkLmdpZicsCgkJCSc6XFwnID0+ICdpcnJpdGF0ZWQuZ2lmJywgJzotXFwnID0+ICdpcnJpdGF0ZWQuZ2lmJywKCQkJJz1cXCcgPT4gJ2lycml0YXRlZC5naWYnLCAnPS1cXCcgPT4gJ2lycml0YXRlZC5naWYnLAoJCQknOlAnID0+ICd0b25ndWUuZ2lmJywgICAgICAnOi1QJyA9PiAndG9uZ3VlLmdpZicsCgkJCSc9UCcgPT4gJ3Rvbmd1ZS5naWYnLCAgICAgICc9LVAnID0+ICd0b25ndWUuZ2lmJywKCQkJCQkJCQkJICAgJ1gtUCcgPT4gJ3Rvbmd1ZS5naWYnLAoJCQknOCknID0+ICdiaWdleWVzLmdpZicsICAgICAnOC0pJyA9PiAnYmlnZXllcy5naWYnLAoJCQknQiknID0+ICdjb29sLmdpZicsICAgICAgICAnQi0pJyA9PiAnY29vbC5naWYnLAoJCQknOyknID0+ICd3aW5rLmdpZicsICAgICAgICAnOy0pJyA9PiAnd2luay5naWYnLAoJCQknO0QnID0+ICdiaWd3aW5rLmdpZicsICAgICAnOy1EJyA9PiAnYmlnd2luay5naWYnLAoJCQknXl9eJz0+ICdhbmltZS5naWYnLCAgICAgICAnXl47JyA9PiAnc3dlYXRkcm9wLmdpZicsCgkJCSc+Xz4nPT4gJ2xvb2tyaWdodC5naWYnLCAgICc+Lj4nID0+ICdsb29rcmlnaHQuZ2lmJywKCQkJJzxfPCc9PiAnbG9va2xlZnQuZ2lmJywgICAgJzwuPCcgPT4gJ2xvb2tsZWZ0LmdpZicsCgkJCSdYRCcgPT4gJ2xhdWdoLmdpZicsICAgICAgICdYLUQnID0+ICdsYXVnaC5naWYnLAoJCQknO0QnID0+ICdiaWd3aW5rLmdpZicsICAgICAnOy1EJyA9PiAnYmlnd2luay5naWYnLAoJCQknOjMnID0+ICdzbWlsZTMuZ2lmJywgICAgICAnOi0zJyA9PiAnc21pbGUzLmdpZicsCgkJCSc9MycgPT4gJ3NtaWxlMy5naWYnLCAgICAgICc9LTMnID0+ICdzbWlsZTMuZ2lmJywKCQkJJzszJyA9PiAnd2luazMuZ2lmJywgICAgICAgJzstMycgPT4gJ3dpbmszLmdpZicsCgkJCSc8Zz4nID0+ICd0ZWV0aC5naWYnLCAgICAgICc8Rz4nID0+ICd0ZWV0aC5naWYnLAoJCQknby5PJyA9PiAnYm9nZ2xlLmdpZicsICAgICAnTy5vJyA9PiAnYm9nZ2xlLmdpZicsCgkJCSc6Ymx1ZTonID0+ICdibHVlLmdpZicsCgkJCSc6enp6OicgPT4gJ3NsZWVweS5naWYnLAoJCQknPDMnID0+ICdoZWFydC5naWYnLAoJCQknOnN0YXI6JyA9PiAnc3Rhci5naWYnLAoJCSk7CgoJCS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCQkvLyBTdGFuZGFyZCBydWxlcyBmb3Igd2hhdCB0byBkbyB3aGVuIGEgQkJDb2RlIHRhZyBpcyBlbmNvdW50ZXJlZC4KCgkJdmFyICRkZWZhdWx0X3RhZ19ydWxlcyA9IEFycmF5KAoJCQoJCQknYicgPT4gQXJyYXkoCgkJCQknc2ltcGxlX3N0YXJ0JyA9PiAiPGI+IiwKCQkJCSdzaW1wbGVfZW5kJyA9PiAiPC9iPiIsCgkJCQknY2xhc3MnID0+ICdpbmxpbmUnLAoJCQkJJ2FsbG93X2luJyA9PiBBcnJheSgnbGlzdGl0ZW0nLCAnYmxvY2snLCAnY29sdW1ucycsICdpbmxpbmUnLCAnbGluaycpLAoJCQkJJ3BsYWluX3N0YXJ0JyA9PiAiPGI+IiwKCQkJCSdwbGFpbl9lbmQnID0+ICI8L2I+IiwKCQkJKSwKCQkJJ2knID0+IEFycmF5KAoJCQkJJ3NpbXBsZV9zdGFydCcgPT4gIjxpPiIsCgkJCQknc2ltcGxlX2VuZCcgPT4gIjwvaT4iLAoJCQkJJ2NsYXNzJyA9PiAnaW5saW5lJywKCQkJCSdhbGxvd19pbicgPT4gQXJyYXkoJ2xpc3RpdGVtJywgJ2Jsb2NrJywgJ2NvbHVtbnMnLCAnaW5saW5lJywgJ2xpbmsnKSwKCQkJCSdwbGFpbl9zdGFydCcgPT4gIjxpPiIsCgkJCQkncGxhaW5fZW5kJyA9PiAiPC9pPiIsCgkJCSksCgkJCSd1JyA9PiBBcnJheSgKCQkJCSdzaW1wbGVfc3RhcnQnID0+ICI8dT4iLAoJCQkJJ3NpbXBsZV9lbmQnID0+ICI8L3U+IiwKCQkJCSdjbGFzcycgPT4gJ2lubGluZScsCgkJCQknYWxsb3dfaW4nID0+IEFycmF5KCdsaXN0aXRlbScsICdibG9jaycsICdjb2x1bW5zJywgJ2lubGluZScsICdsaW5rJyksCgkJCQkncGxhaW5fc3RhcnQnID0+ICI8dT4iLAoJCQkJJ3BsYWluX2VuZCcgPT4gIjwvdT4iLAoJCQkpLAoJCQkncycgPT4gQXJyYXkoCgkJCQknc2ltcGxlX3N0YXJ0JyA9PiAiPHN0cmlrZT4iLAoJCQkJJ3NpbXBsZV9lbmQnID0+ICI8L3N0cmlrZT4iLAoJCQkJJ2NsYXNzJyA9PiAnaW5saW5lJywKCQkJCSdhbGxvd19pbicgPT4gQXJyYXkoJ2xpc3RpdGVtJywgJ2Jsb2NrJywgJ2NvbHVtbnMnLCAnaW5saW5lJywgJ2xpbmsnKSwKCQkJCSdwbGFpbl9zdGFydCcgPT4gIjxpPiIsCgkJCQkncGxhaW5fZW5kJyA9PiAiPC9pPiIsCgkJCSksCgoJCQknZm9udCcgPT4gQXJyYXkoCgkJCQknbW9kZScgPT4gQkJDT0RFX01PREVfTElCUkFSWSwKCQkJCSdhbGxvdycgPT4gQXJyYXkoJ19kZWZhdWx0JyA9PiAnL15bYS16QS1aMC05Ll8gLV0rJC8nKSwKCQkJCSdtZXRob2QnID0+ICdEb0ZvbnQnLAoJCQkJJ2NsYXNzJyA9PiAnaW5saW5lJywKCQkJCSdhbGxvd19pbicgPT4gQXJyYXkoJ2xpc3RpdGVtJywgJ2Jsb2NrJywgJ2NvbHVtbnMnLCAnaW5saW5lJywgJ2xpbmsnKSwKCQkJKSwKCQkJJ2NvbG9yJyA9PiBBcnJheSgKCQkJCSdtb2RlJyA9PiBCQkNPREVfTU9ERV9FTkhBTkNFRCwKCQkJCSdhbGxvdycgPT4gQXJyYXkoJ19kZWZhdWx0JyA9PiAnL14jP1thLXpBLVowLTkuXyAtXSskLycpLAoJCQkJJ3RlbXBsYXRlJyA9PiAnPHNwYW4gc3R5bGU9ImNvbG9yOnskX2RlZmF1bHQvdHd9Ij57JF9jb250ZW50L3Z9PC9zcGFuPicsCgkJCQknY2xhc3MnID0+ICdpbmxpbmUnLAoJCQkJJ2FsbG93X2luJyA9PiBBcnJheSgnbGlzdGl0ZW0nLCAnYmxvY2snLCAnY29sdW1ucycsICdpbmxpbmUnLCAnbGluaycpLAoJCQkpLAoJCQknc2l6ZScgPT4gQXJyYXkoCgkJCQknbW9kZScgPT4gQkJDT0RFX01PREVfTElCUkFSWSwKCQkJCSdhbGxvdycgPT4gQXJyYXkoJ19kZWZhdWx0JyA9PiAnL15bMC05Ll0rJC9EJyksCgkJCQknbWV0aG9kJyA9PiAnRG9TaXplJywKCQkJCSdjbGFzcycgPT4gJ2lubGluZScsCgkJCQknYWxsb3dfaW4nID0+IEFycmF5KCdsaXN0aXRlbScsICdibG9jaycsICdjb2x1bW5zJywgJ2lubGluZScsICdsaW5rJyksCgkJCSksCgkJCSdzdXAnID0+IEFycmF5KAoJCQkJJ3NpbXBsZV9zdGFydCcgPT4gIjxzdXA+IiwKCQkJCSdzaW1wbGVfZW5kJyA9PiAiPC9zdXA+IiwKCQkJCSdjbGFzcycgPT4gJ2lubGluZScsCgkJCQknYWxsb3dfaW4nID0+IEFycmF5KCdsaXN0aXRlbScsICdibG9jaycsICdjb2x1bW5zJywgJ2lubGluZScsICdsaW5rJyksCgkJCSksCgkJCSdzdWInID0+IEFycmF5KAoJCQkJJ3NpbXBsZV9zdGFydCcgPT4gIjxzdWI+IiwKCQkJCSdzaW1wbGVfZW5kJyA9PiAiPC9zdWI+IiwKCQkJCSdjbGFzcycgPT4gJ2lubGluZScsCgkJCQknYWxsb3dfaW4nID0+IEFycmF5KCdsaXN0aXRlbScsICdibG9jaycsICdjb2x1bW5zJywgJ2lubGluZScsICdsaW5rJyksCgkJCSksCgkJCSdzcG9pbGVyJyA9PiBBcnJheSgKCQkJCSdzaW1wbGVfc3RhcnQnID0+ICI8c3BhbiBjbGFzcz1cImJiY29kZV9zcG9pbGVyXCI+IiwKCQkJCSdzaW1wbGVfZW5kJyA9PiAiPC9zcGFuPiIsCgkJCQknY2xhc3MnID0+ICdpbmxpbmUnLAoJCQkJJ2FsbG93X2luJyA9PiBBcnJheSgnbGlzdGl0ZW0nLCAnYmxvY2snLCAnY29sdW1ucycsICdpbmxpbmUnLCAnbGluaycpLAoJCQkpLAoJCQknYWNyb255bScgPT4gQXJyYXkoCgkJCQknbW9kZScgPT4gQkJDT0RFX01PREVfRU5IQU5DRUQsCgkJCQkndGVtcGxhdGUnID0+ICc8c3BhbiBjbGFzcz0iYmJjb2RlX2Fjcm9ueW0iIHRpdGxlPSJ7JF9kZWZhdWx0L2V9Ij57JF9jb250ZW50L3Z9PC9zcGFuPicsCgkJCQknY2xhc3MnID0+ICdpbmxpbmUnLAoJCQkJJ2FsbG93X2luJyA9PiBBcnJheSgnbGlzdGl0ZW0nLCAnYmxvY2snLCAnY29sdW1ucycsICdpbmxpbmUnLCAnbGluaycpLAoJCQkpLAoKCQkJJ3VybCcgPT4gQXJyYXkoCgkJCQknbW9kZScgPT4gQkJDT0RFX01PREVfTElCUkFSWSwKCQkJCSdtZXRob2QnID0+ICdEb1VSTCcsCgkJCQknY2xhc3MnID0+ICdsaW5rJywKCQkJCSdhbGxvd19pbicgPT4gQXJyYXkoJ2xpc3RpdGVtJywgJ2Jsb2NrJywgJ2NvbHVtbnMnLCAnaW5saW5lJyksCgkJCQknY29udGVudCcgPT4gQkJDT0RFX1JFUVVJUkVELAoJCQkJJ3BsYWluX3N0YXJ0JyA9PiAiPGEgaHJlZj1cIntcJGxpbmt9XCI+IiwKCQkJCSdwbGFpbl9lbmQnID0+ICI8L2E+IiwKCQkJCSdwbGFpbl9jb250ZW50JyA9PiBBcnJheSgnX2NvbnRlbnQnLCAnX2RlZmF1bHQnKSwKCQkJCSdwbGFpbl9saW5rJyA9PiBBcnJheSgnX2RlZmF1bHQnLCAnX2NvbnRlbnQnKSwKCQkJKSwKCQkJJ2VtYWlsJyA9PiBBcnJheSgKCQkJCSdtb2RlJyA9PiBCQkNPREVfTU9ERV9MSUJSQVJZLAoJCQkJJ21ldGhvZCcgPT4gJ0RvRW1haWwnLAoJCQkJJ2NsYXNzJyA9PiAnbGluaycsCgkJCQknYWxsb3dfaW4nID0+IEFycmF5KCdsaXN0aXRlbScsICdibG9jaycsICdjb2x1bW5zJywgJ2lubGluZScpLAoJCQkJJ2NvbnRlbnQnID0+IEJCQ09ERV9SRVFVSVJFRCwKCQkJCSdwbGFpbl9zdGFydCcgPT4gIjxhIGhyZWY9XCJtYWlsdG86e1wkbGlua31cIj4iLAoJCQkJJ3BsYWluX2VuZCcgPT4gIjwvYT4iLAoJCQkJJ3BsYWluX2NvbnRlbnQnID0+IEFycmF5KCdfY29udGVudCcsICdfZGVmYXVsdCcpLAoJCQkJJ3BsYWluX2xpbmsnID0+IEFycmF5KCdfZGVmYXVsdCcsICdfY29udGVudCcpLAoJCQkpLAoJCQknd2lraScgPT4gQXJyYXkoCgkJCQknbW9kZScgPT4gQkJDT0RFX01PREVfTElCUkFSWSwKCQkJCSdtZXRob2QnID0+ICJEb1dpa2kiLAoJCQkJJ2NsYXNzJyA9PiAnbGluaycsCgkJCQknYWxsb3dfaW4nID0+IEFycmF5KCdsaXN0aXRlbScsICdibG9jaycsICdjb2x1bW5zJywgJ2lubGluZScpLAoJCQkJJ2VuZF90YWcnID0+IEJCQ09ERV9QUk9ISUJJVCwKCQkJCSdjb250ZW50JyA9PiBCQkNPREVfUFJPSElCSVQsCgkJCQkncGxhaW5fc3RhcnQnID0+ICI8Yj5bIiwKCQkJCSdwbGFpbl9lbmQnID0+ICJdPC9iPiIsCgkJCQkncGxhaW5fY29udGVudCcgPT4gQXJyYXkoJ3RpdGxlJywgJ19kZWZhdWx0JyksCgkJCQkncGxhaW5fbGluaycgPT4gQXJyYXkoJ19kZWZhdWx0JywgJ19jb250ZW50JyksCgkJCSksCgoJCQknaW1nJyA9PiBBcnJheSgKCQkJCSdtb2RlJyA9PiBCQkNPREVfTU9ERV9MSUJSQVJZLAoJCQkJJ21ldGhvZCcgPT4gIkRvSW1hZ2UiLAoJCQkJJ2NsYXNzJyA9PiAnaW1hZ2UnLAoJCQkJJ2FsbG93X2luJyA9PiBBcnJheSgnbGlzdGl0ZW0nLCAnYmxvY2snLCAnY29sdW1ucycsICdpbmxpbmUnLCAnbGluaycpLAoJCQkJJ2VuZF90YWcnID0+IEJCQ09ERV9SRVFVSVJFRCwKCQkJCSdjb250ZW50JyA9PiBCQkNPREVfUkVRVUlSRUQsCgkJCQkncGxhaW5fc3RhcnQnID0+ICJbaW1hZ2VdIiwKCQkJCSdwbGFpbl9jb250ZW50JyA9PiBBcnJheSgpLAoJCQkpLAoJCQkncnVsZScgPT4gQXJyYXkoCgkJCQknbW9kZScgPT4gQkJDT0RFX01PREVfTElCUkFSWSwKCQkJCSdtZXRob2QnID0+ICJEb1J1bGUiLAoJCQkJJ2NsYXNzJyA9PiAnYmxvY2snLAoJCQkJJ2FsbG93X2luJyA9PiBBcnJheSgnbGlzdGl0ZW0nLCAnYmxvY2snLCAnY29sdW1ucycpLAoJCQkJJ2VuZF90YWcnID0+IEJCQ09ERV9QUk9ISUJJVCwKCQkJCSdjb250ZW50JyA9PiBCQkNPREVfUFJPSElCSVQsCgkJCQknYmVmb3JlX3RhZycgPT4gInNucyIsCgkJCQknYWZ0ZXJfdGFnJyA9PiAic25zIiwKCQkJCSdwbGFpbl9zdGFydCcgPT4gIlxuLS0tLS1cbiIsCgkJCQkncGxhaW5fZW5kJyA9PiAiIiwKCQkJCSdwbGFpbl9jb250ZW50JyA9PiBBcnJheSgpLAoJCQkpLAoJCQknYnInID0+IEFycmF5KAoJCQkJJ21vZGUnID0+IEJCQ09ERV9NT0RFX1NJTVBMRSwKCQkJCSdzaW1wbGVfc3RhcnQnID0+ICI8YnIgLz5cbiIsCgkJCQknc2ltcGxlX2VuZCcgPT4gIiIsCgkJCQknY2xhc3MnID0+ICdpbmxpbmUnLAoJCQkJJ2FsbG93X2luJyA9PiBBcnJheSgnbGlzdGl0ZW0nLCAnYmxvY2snLCAnY29sdW1ucycsICdpbmxpbmUnLCAnbGluaycpLAoJCQkJJ2VuZF90YWcnID0+IEJCQ09ERV9QUk9ISUJJVCwKCQkJCSdjb250ZW50JyA9PiBCQkNPREVfUFJPSElCSVQsCgkJCQknYmVmb3JlX3RhZycgPT4gInMiLAoJCQkJJ2FmdGVyX3RhZycgPT4gInMiLAoJCQkJJ3BsYWluX3N0YXJ0JyA9PiAiXG4iLAoJCQkJJ3BsYWluX2VuZCcgPT4gIiIsCgkJCQkncGxhaW5fY29udGVudCcgPT4gQXJyYXkoKSwKCQkJKSwKCgkJCSdsZWZ0JyA9PiBBcnJheSgKCQkJCSdzaW1wbGVfc3RhcnQnID0+ICJcbjxkaXYgY2xhc3M9XCJiYmNvZGVfbGVmdFwiIHN0eWxlPVwidGV4dC1hbGlnbjpsZWZ0XCI+XG4iLAoJCQkJJ3NpbXBsZV9lbmQnID0+ICJcbjwvZGl2PlxuIiwKCQkJCSdhbGxvd19pbicgPT4gQXJyYXkoJ2xpc3RpdGVtJywgJ2Jsb2NrJywgJ2NvbHVtbnMnKSwKCQkJCSdiZWZvcmVfdGFnJyA9PiAic25zIiwKCQkJCSdhZnRlcl90YWcnID0+ICJzbnMiLAoJCQkJJ2JlZm9yZV9lbmR0YWcnID0+ICJzbnMiLAoJCQkJJ2FmdGVyX2VuZHRhZycgPT4gInNucyIsCgkJCQkncGxhaW5fc3RhcnQnID0+ICJcbiIsCgkJCQkncGxhaW5fZW5kJyA9PiAiXG4iLAoJCQkpLAoJCQkncmlnaHQnID0+IEFycmF5KAoJCQkJJ3NpbXBsZV9zdGFydCcgPT4gIlxuPGRpdiBjbGFzcz1cImJiY29kZV9yaWdodFwiIHN0eWxlPVwidGV4dC1hbGlnbjpyaWdodFwiPlxuIiwKCQkJCSdzaW1wbGVfZW5kJyA9PiAiXG48L2Rpdj5cbiIsCgkJCQknYWxsb3dfaW4nID0+IEFycmF5KCdsaXN0aXRlbScsICdibG9jaycsICdjb2x1bW5zJyksCgkJCQknYmVmb3JlX3RhZycgPT4gInNucyIsCgkJCQknYWZ0ZXJfdGFnJyA9PiAic25zIiwKCQkJCSdiZWZvcmVfZW5kdGFnJyA9PiAic25zIiwKCQkJCSdhZnRlcl9lbmR0YWcnID0+ICJzbnMiLAoJCQkJJ3BsYWluX3N0YXJ0JyA9PiAiXG4iLAoJCQkJJ3BsYWluX2VuZCcgPT4gIlxuIiwKCQkJKSwKCQkJJ2NlbnRlcicgPT4gQXJyYXkoCgkJCQknc2ltcGxlX3N0YXJ0JyA9PiAiXG48ZGl2IGNsYXNzPVwiYmJjb2RlX2NlbnRlclwiIHN0eWxlPVwidGV4dC1hbGlnbjpjZW50ZXJcIj5cbiIsCgkJCQknc2ltcGxlX2VuZCcgPT4gIlxuPC9kaXY+XG4iLAoJCQkJJ2FsbG93X2luJyA9PiBBcnJheSgnbGlzdGl0ZW0nLCAnYmxvY2snLCAnY29sdW1ucycpLAoJCQkJJ2JlZm9yZV90YWcnID0+ICJzbnMiLAoJCQkJJ2FmdGVyX3RhZycgPT4gInNucyIsCgkJCQknYmVmb3JlX2VuZHRhZycgPT4gInNucyIsCgkJCQknYWZ0ZXJfZW5kdGFnJyA9PiAic25zIiwKCQkJCSdwbGFpbl9zdGFydCcgPT4gIlxuIiwKCQkJCSdwbGFpbl9lbmQnID0+ICJcbiIsCgkJCSksCgkJCSdpbmRlbnQnID0+IEFycmF5KAoJCQkJJ3NpbXBsZV9zdGFydCcgPT4gIlxuPGRpdiBjbGFzcz1cImJiY29kZV9pbmRlbnRcIiBzdHlsZT1cIm1hcmdpbi1sZWZ0OjRlbVwiPlxuIiwKCQkJCSdzaW1wbGVfZW5kJyA9PiAiXG48L2Rpdj5cbiIsCgkJCQknYWxsb3dfaW4nID0+IEFycmF5KCdsaXN0aXRlbScsICdibG9jaycsICdjb2x1bW5zJyksCgkJCQknYmVmb3JlX3RhZycgPT4gInNucyIsCgkJCQknYWZ0ZXJfdGFnJyA9PiAic25zIiwKCQkJCSdiZWZvcmVfZW5kdGFnJyA9PiAic25zIiwKCQkJCSdhZnRlcl9lbmR0YWcnID0+ICJzbnMiLAoJCQkJJ3BsYWluX3N0YXJ0JyA9PiAiXG4iLAoJCQkJJ3BsYWluX2VuZCcgPT4gIlxuIiwKCQkJKSwKCgkJCSdjb2x1bW5zJyA9PiBBcnJheSgKCQkJCSdzaW1wbGVfc3RhcnQnID0+ICJcbjx0YWJsZSBjbGFzcz1cImJiY29kZV9jb2x1bW5zXCI+PHRib2R5Pjx0cj48dGQgY2xhc3M9XCJiYmNvZGVfY29sdW1uIGJiY29kZV9maXJzdGNvbHVtblwiPlxuIiwKCQkJCSdzaW1wbGVfZW5kJyA9PiAiXG48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPlxuIiwKCQkJCSdjbGFzcycgPT4gJ2NvbHVtbnMnLAoJCQkJJ2FsbG93X2luJyA9PiBBcnJheSgnbGlzdGl0ZW0nLCAnYmxvY2snLCAnY29sdW1ucycpLAoJCQkJJ2VuZF90YWcnID0+IEJCQ09ERV9SRVFVSVJFRCwKCQkJCSdjb250ZW50JyA9PiBCQkNPREVfUkVRVUlSRUQsCgkJCQknYmVmb3JlX3RhZycgPT4gInNucyIsCgkJCQknYWZ0ZXJfdGFnJyA9PiAic25zIiwKCQkJCSdiZWZvcmVfZW5kdGFnJyA9PiAic25zIiwKCQkJCSdhZnRlcl9lbmR0YWcnID0+ICJzbnMiLAoJCQkJJ3BsYWluX3N0YXJ0JyA9PiAiXG4iLAoJCQkJJ3BsYWluX2VuZCcgPT4gIlxuIiwKCQkJKSwKCQkJJ25leHRjb2wnID0+IEFycmF5KAoJCQkJJ3NpbXBsZV9zdGFydCcgPT4gIlxuPC90ZD48dGQgY2xhc3M9XCJiYmNvZGVfY29sdW1uXCI+XG4iLAoJCQkJJ2NsYXNzJyA9PiAnbmV4dGNvbCcsCgkJCQknYWxsb3dfaW4nID0+IEFycmF5KCdjb2x1bW5zJyksCgkJCQknZW5kX3RhZycgPT4gQkJDT0RFX1BST0hJQklULAoJCQkJJ2NvbnRlbnQnID0+IEJCQ09ERV9QUk9ISUJJVCwKCQkJCSdiZWZvcmVfdGFnJyA9PiAic25zIiwKCQkJCSdhZnRlcl90YWcnID0+ICJzbnMiLAoJCQkJJ2JlZm9yZV9lbmR0YWcnID0+ICJzbnMiLAoJCQkJJ2FmdGVyX2VuZHRhZycgPT4gInNucyIsCgkJCQkncGxhaW5fc3RhcnQnID0+ICJcbiIsCgkJCQkncGxhaW5fZW5kJyA9PiAiIiwKCQkJKSwKCgkJCSdjb2RlJyA9PiBBcnJheSgKCQkJCSdtb2RlJyA9PiBCQkNPREVfTU9ERV9FTkhBTkNFRCwKCQkJCSd0ZW1wbGF0ZScgPT4gIlxuPGRpdiBjbGFzcz1cImJiY29kZV9jb2RlXCI+XG48ZGl2IGNsYXNzPVwiYmJjb2RlX2NvZGVfaGVhZFwiPkNvZGU6PC9kaXY+XG48ZGl2IGNsYXNzPVwiYmJjb2RlX2NvZGVfYm9keVwiIHN0eWxlPVwid2hpdGUtc3BhY2U6cHJlXCI+e1wkX2NvbnRlbnQvdn08L2Rpdj5cbjwvZGl2PlxuIiwKCQkJCSdjbGFzcycgPT4gJ2NvZGUnLAoJCQkJJ2FsbG93X2luJyA9PiBBcnJheSgnbGlzdGl0ZW0nLCAnYmxvY2snLCAnY29sdW1ucycpLAoJCQkJJ2NvbnRlbnQnID0+IEJCQ09ERV9WRVJCQVRJTSwKCQkJCSdiZWZvcmVfdGFnJyA9PiAic25zIiwKCQkJCSdhZnRlcl90YWcnID0+ICJzbiIsCgkJCQknYmVmb3JlX2VuZHRhZycgPT4gInNuIiwKCQkJCSdhZnRlcl9lbmR0YWcnID0+ICJzbnMiLAoJCQkJJ3BsYWluX3N0YXJ0JyA9PiAiXG48Yj5Db2RlOjwvYj5cbiIsCgkJCQkncGxhaW5fZW5kJyA9PiAiXG4iLAoJCQkpLAoJCQkncXVvdGUnID0+IEFycmF5KAoJCQkJJ21vZGUnID0+IEJCQ09ERV9NT0RFX0xJQlJBUlksCgkJCQknbWV0aG9kJyA9PiAiRG9RdW90ZSIsCgkJCQknYWxsb3dfaW4nID0+IEFycmF5KCdsaXN0aXRlbScsICdibG9jaycsICdjb2x1bW5zJyksCgkJCQknYmVmb3JlX3RhZycgPT4gInNucyIsCgkJCQknYWZ0ZXJfdGFnJyA9PiAic25zIiwKCQkJCSdiZWZvcmVfZW5kdGFnJyA9PiAic25zIiwKCQkJCSdhZnRlcl9lbmR0YWcnID0+ICJzbnMiLAoJCQkJJ3BsYWluX3N0YXJ0JyA9PiAiXG48Yj5RdW90ZTo8L2I+XG4iLAoJCQkJJ3BsYWluX2VuZCcgPT4gIlxuIiwKCQkJKSwKCgkJCSdsaXN0JyA9PiBBcnJheSgKCQkJCSdtb2RlJyA9PiBCQkNPREVfTU9ERV9MSUJSQVJZLAoJCQkJJ21ldGhvZCcgPT4gJ0RvTGlzdCcsCgkJCQknY2xhc3MnID0+ICdsaXN0JywKCQkJCSdhbGxvd19pbicgPT4gQXJyYXkoJ2xpc3RpdGVtJywgJ2Jsb2NrJywgJ2NvbHVtbnMnKSwKCQkJCSdiZWZvcmVfdGFnJyA9PiAic25zIiwKCQkJCSdhZnRlcl90YWcnID0+ICJzbnMiLAoJCQkJJ2JlZm9yZV9lbmR0YWcnID0+ICJzbnMiLAoJCQkJJ2FmdGVyX2VuZHRhZycgPT4gInNucyIsCgkJCQkncGxhaW5fc3RhcnQnID0+ICJcbiIsCgkJCQkncGxhaW5fZW5kJyA9PiAiXG4iLAoJCQkpLAoJCQknKicgPT4gQXJyYXkoCgkJCQknc2ltcGxlX3N0YXJ0JyA9PiAiPGxpPiIsCgkJCQknc2ltcGxlX2VuZCcgPT4gIjwvbGk+XG4iLAoJCQkJJ2NsYXNzJyA9PiAnbGlzdGl0ZW0nLAoJCQkJJ2FsbG93X2luJyA9PiBBcnJheSgnbGlzdCcpLAoJCQkJJ2VuZF90YWcnID0+IEJCQ09ERV9PUFRJT05BTCwKCQkJCSdiZWZvcmVfdGFnJyA9PiAicyIsCgkJCQknYWZ0ZXJfdGFnJyA9PiAicyIsCgkJCQknYmVmb3JlX2VuZHRhZycgPT4gInNucyIsCgkJCQknYWZ0ZXJfZW5kdGFnJyA9PiAic25zIiwKCQkJCSdwbGFpbl9zdGFydCcgPT4gIlxuICogIiwKCQkJCSdwbGFpbl9lbmQnID0+ICJcbiIsCgkJCSksCgkJKTsKCgkJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJCS8vICBTdGFuZGFyZCBsaWJyYXJ5IG9mIEJCQ29kZSBmb3JtYXR0aW5nIHJvdXRpbmVzLgoKCQkvLyBGb3JtYXQgYSBbdXJsXSB0YWcgYnkgcHJvZHVjaW5nIGFuIDxhPi4uLjwvYT4gZWxlbWVudC4KCQkvLyBUaGUgVVJMIG9ubHkgYWxsb3dzIGh0dHAsIGh0dHBzLCBtYWlsdG8sIGFuZCBmdHAgcHJvdG9jb2xzIGZvciBzYWZldHkuCgkJZnVuY3Rpb24gRG9VUkwoJGJiY29kZSwgJGFjdGlvbiwgJG5hbWUsICRkZWZhdWx0LCAkcGFyYW1zLCAkY29udGVudCkgewoJCQkvLyBXZSBjYW4ndCBjaGVjayB0aGlzIHdpdGggQkJDT0RFX0NIRUNLIGJlY2F1c2Ugd2UgbWF5IGhhdmUgbm8gVVJMIGJlZm9yZSB0aGUgY29udGVudAoJCQkvLyBoYXMgYmVlbiBwcm9jZXNzZWQuCgkJCWlmICgkYWN0aW9uID09IEJCQ09ERV9DSEVDSykgcmV0dXJuIHRydWU7CgoJCQkkdXJsID0gaXNfc3RyaW5nKCRkZWZhdWx0KSA/ICRkZWZhdWx0IDogJGJiY29kZS0+VW5IVE1MRW5jb2RlKHN0cmlwX3RhZ3MoJGNvbnRlbnQpKTsKCQkJaWYgKCRiYmNvZGUtPklzVmFsaWRVUkwoJHVybCkpIHsKCQkJCWlmICgkYmJjb2RlLT5kZWJ1ZykKCQkJCQlwcmludCAiSVNWQUxJRFVSTDxiciAvPiI7CgkJCQlpZiAoJGJiY29kZS0+dXJsX3RhcmdldGFibGUgIT09IGZhbHNlICYmIGlzc2V0KCRwYXJhbXNbJ3RhcmdldCddKSkKCQkJCQkkdGFyZ2V0ID0gIiB0YXJnZXQ9XCIiIC4gaHRtbHNwZWNpYWxjaGFycygkcGFyYW1zWyd0YXJnZXQnXSkgLiAiXCIiOwoJCQkJZWxzZSAkdGFyZ2V0ID0gIiI7CgkJCQlpZiAoJGJiY29kZS0+dXJsX3RhcmdldCAhPT0gZmFsc2UpCgkJCQkJaWYgKCEoJGJiY29kZS0+dXJsX3RhcmdldGFibGUgPT0gJ292ZXJyaWRlJyAmJiBpc3NldCgkcGFyYW1zWyd0YXJnZXQnXSkpKQoJCQkJCQkkdGFyZ2V0ID0gIiB0YXJnZXQ9XCIiIC4gaHRtbHNwZWNpYWxjaGFycygkYmJjb2RlLT51cmxfdGFyZ2V0KSAuICJcIiI7CgkJCQlyZXR1cm4gJzxhIGhyZWY9IicgLiBodG1sc3BlY2lhbGNoYXJzKCR1cmwpIC4gJyIgY2xhc3M9ImJiY29kZV91cmwiJyAuICR0YXJnZXQgLiAnPicgLiAkY29udGVudCAuICc8L2E+JzsKCQkJfQoJCQllbHNlIHJldHVybiBodG1sc3BlY2lhbGNoYXJzKCRwYXJhbXNbJ190YWcnXSkgLiAkY29udGVudCAuIGh0bWxzcGVjaWFsY2hhcnMoJHBhcmFtc1snX2VuZHRhZyddKTsKCQl9CgoJCS8vIEZvcm1hdCBhbiBbZW1haWxdIHRhZyBieSBwcm9kdWNpbmcgYW4gPGE+Li4uPC9hPiBlbGVtZW50LgoJCS8vIFRoZSBlLW1haWwgYWRkcmVzcyBtdXN0IGJlIGEgdmFsaWQgYWRkcmVzcyBpbmNsdWRpbmcgYXQgbGVhc3QgYSAnQCcgYW5kIGEgdmFsaWQgZG9tYWluCgkJLy8gbmFtZSBvciBJUHY0IG9yIElQdjYgYWRkcmVzcyBhZnRlciB0aGUgJ0AnLgoJCWZ1bmN0aW9uIERvRW1haWwoJGJiY29kZSwgJGFjdGlvbiwgJG5hbWUsICRkZWZhdWx0LCAkcGFyYW1zLCAkY29udGVudCkgewoJCQkvLyBXZSBjYW4ndCBjaGVjayB0aGlzIHdpdGggQkJDT0RFX0NIRUNLIGJlY2F1c2Ugd2UgbWF5IGhhdmUgbm8gVVJMIGJlZm9yZSB0aGUgY29udGVudAoJCQkvLyBoYXMgYmVlbiBwcm9jZXNzZWQuCgkJCWlmICgkYWN0aW9uID09IEJCQ09ERV9DSEVDSykgcmV0dXJuIHRydWU7CgoJCQkkZW1haWwgPSBpc19zdHJpbmcoJGRlZmF1bHQpID8gJGRlZmF1bHQgOiAkYmJjb2RlLT5VbkhUTUxFbmNvZGUoc3RyaXBfdGFncygkY29udGVudCkpOwoJCQlpZiAoJGJiY29kZS0+SXNWYWxpZEVtYWlsKCRlbWFpbCkpCgkJCQlyZXR1cm4gJzxhIGhyZWY9Im1haWx0bzonIC4gaHRtbHNwZWNpYWxjaGFycygkZW1haWwpIC4gJyIgY2xhc3M9ImJiY29kZV9lbWFpbCI+JyAuICRjb250ZW50IC4gJzwvYT4nOwoJCQllbHNlIHJldHVybiBodG1sc3BlY2lhbGNoYXJzKCRwYXJhbXNbJ190YWcnXSkgLiAkY29udGVudCAuIGh0bWxzcGVjaWFsY2hhcnMoJHBhcmFtc1snX2VuZHRhZyddKTsKCQl9CgkJCgkJLy8gRm9ybWF0IGEgW3NpemVdIHRhZyBieSBwcm9kdWNpbmcgYSA8c3Bhbj4gd2l0aCBhIHN0eWxlIHdpdGggYSBkaWZmZXJlbnQgZm9udC1zaXplLgoJCWZ1bmN0aW9uIERvU2l6ZSgkYmJjb2RlLCAkYWN0aW9uLCAkbmFtZSwgJGRlZmF1bHQsICRwYXJhbXMsICRjb250ZW50KSB7CgkJCXN3aXRjaCAoJGRlZmF1bHQpIHsKCQkJY2FzZSAnMCc6ICRzaXplID0gJy41ZW0nOyBicmVhazsKCQkJY2FzZSAnMSc6ICRzaXplID0gJy42N2VtJzsgYnJlYWs7CgkJCWNhc2UgJzInOiAkc2l6ZSA9ICcuODNlbSc7IGJyZWFrOwoJCQlkZWZhdWx0OgoJCQljYXNlICczJzogJHNpemUgPSAnMS4wZW0nOyBicmVhazsKCQkJY2FzZSAnNCc6ICRzaXplID0gJzEuMTdlbSc7IGJyZWFrOwoJCQljYXNlICc1JzogJHNpemUgPSAnMS41ZW0nOyBicmVhazsKCQkJY2FzZSAnNic6ICRzaXplID0gJzIuMGVtJzsgYnJlYWs7CgkJCWNhc2UgJzcnOiAkc2l6ZSA9ICcyLjVlbSc7IGJyZWFrOwoJCQl9CgkJCXJldHVybiAiPHNwYW4gc3R5bGU9XCJmb250LXNpemU6JHNpemVcIj4kY29udGVudDwvc3Bhbj4iOwoJCX0KCgkJLy8gRm9ybWF0IGEgW2ZvbnRdIHRhZyBieSBwcm9kdWNpbmcgYSA8c3Bhbj4gd2l0aCBhIHN0eWxlIHdpdGggYSBkaWZmZXJlbnQgZm9udC1mYW1pbHkuCgkJLy8gVGhpcyBpcyBjb21wbGljYXRlZCBieSB0aGUgZmFjdCB0aGF0IHdlIGhhdmUgdG8gcmVjb2duaXplIHRoZSBmaXZlIHNwZWNpYWwgZm9udAoJCS8vIG5hbWVzIGFuZCBxdW90ZSBhbGwgdGhlIG90aGVycy4KCQlmdW5jdGlvbiBEb0ZvbnQoJGJiY29kZSwgJGFjdGlvbiwgJG5hbWUsICRkZWZhdWx0LCAkcGFyYW1zLCAkY29udGVudCkgewoJCQkkZm9udHMgPSBleHBsb2RlKCIsIiwgJGRlZmF1bHQpOwoJCQkkcmVzdWx0ID0gIiI7CgkJCSRzcGVjaWFsX2ZvbnRzID0gQXJyYXkoCgkJCQknc2VyaWYnID0+ICdzZXJpZicsCgkJCQknc2Fucy1zZXJpZicgPT4gJ3NhbnMtc2VyaWYnLAoJCQkJJ3NhbnMgc2VyaWYnID0+ICdzYW5zLXNlcmlmJywKCQkJCSdzYW5zc2VyaWYnID0+ICdzYW5zLXNlcmlmJywKCQkJCSdzYW5zJyA9PiAnc2Fucy1zZXJpZicsCgkJCQknY3Vyc2l2ZScgPT4gJ2N1cnNpdmUnLAoJCQkJJ2ZhbnRhc3knID0+ICdmYW50YXN5JywKCQkJCSdtb25vc3BhY2UnID0+ICdtb25vc3BhY2UnLAoJCQkJJ21vbm8nID0+ICdtb25vc3BhY2UnLAoJCQkpOwoJCQlmb3JlYWNoICgkZm9udHMgYXMgJGZvbnQpIHsKCQkJCSRmb250ID0gdHJpbSgkZm9udCk7CgkJCQlpZiAoaXNzZXQoJHNwZWNpYWxfZm9udHNbJGZvbnRdKSkgewoJCQkJCWlmIChzdHJsZW4oJHJlc3VsdCkgPiAwKSAkcmVzdWx0IC49ICIsIjsKCQkJCQkkcmVzdWx0IC49ICRzcGVjaWFsX2ZvbnRzWyRmb250XTsKCQkJCX0KCQkJCWVsc2UgaWYgKHN0cmxlbigkZm9udCkgPiAwKSB7CgkJCQkJaWYgKHN0cmxlbigkcmVzdWx0KSA+IDApICRyZXN1bHQgLj0gIiwiOwoJCQkJCSRyZXN1bHQgLj0gIickZm9udCciOwoJCQkJfQoJCQl9CgkJCXJldHVybiAiPHNwYW4gc3R5bGU9XCJmb250LWZhbWlseTokcmVzdWx0XCI+JGNvbnRlbnQ8L3NwYW4+IjsKCQl9CgoJCS8vIEZvcm1hdCBhIFt3aWtpXSB0YWcgYnkgcHJvZHVjaW5nIGFuIDxhPi4uLjwvYT4gZWxlbWVudC4KCQlmdW5jdGlvbiBEb1dpa2koJGJiY29kZSwgJGFjdGlvbiwgJG5hbWUsICRkZWZhdWx0LCAkcGFyYW1zLCAkY29udGVudCkgewoJCQkkbmFtZSA9ICRiYmNvZGUtPldpa2lmeSgkZGVmYXVsdCk7CgkJCWlmICgkYWN0aW9uID09IEJCQ09ERV9DSEVDSykKCQkJCXJldHVybiBzdHJsZW4oJG5hbWUpID4gMDsKCQkJJHRpdGxlID0gdHJpbShAJHBhcmFtc1sndGl0bGUnXSk7CgkJCWlmIChzdHJsZW4oJHRpdGxlKSA8PSAwKSAkdGl0bGUgPSB0cmltKCRkZWZhdWx0KTsKCQkJcmV0dXJuICI8YSBocmVmPVwieyRiYmNvZGUtPndpa2lfdXJsfSRuYW1lXCIgY2xhc3M9XCJiYmNvZGVfd2lraVwiPiIKCQkJCS4gaHRtbHNwZWNpYWxjaGFycygkdGl0bGUpIC4gIjwvYT4iOwoJCX0KCgkJLy8gRm9ybWF0IGFuIFtpbWddIHRhZy4gIFRoZSBVUkwgb25seSBhbGxvd3MgaHR0cCwgaHR0cHMsIGFuZCBmdHAgcHJvdG9jb2xzIGZvciBzYWZldHkuCgkJZnVuY3Rpb24gRG9JbWFnZSgkYmJjb2RlLCAkYWN0aW9uLCAkbmFtZSwgJGRlZmF1bHQsICRwYXJhbXMsICRjb250ZW50KSB7CgkJCS8vIFdlIGNhbid0IHZhbGlkYXRlIHRoaXMgdW50aWwgd2UgaGF2ZSBpdHMgY29udGVudC4KCQkJaWYgKCRhY3Rpb24gPT0gQkJDT0RFX0NIRUNLKSByZXR1cm4gdHJ1ZTsKCgkJCSRjb250ZW50ID0gdHJpbSgkYmJjb2RlLT5VbkhUTUxFbmNvZGUoc3RyaXBfdGFncygkY29udGVudCkpKTsKCQkJaWYgKHByZWdfbWF0Y2goIi9cXC4oPzpnaWZ8anBlZ3xqcGd8anBlfHBuZykkLyIsICRjb250ZW50KSkgewoJCQkJaWYgKHByZWdfbWF0Y2goIi9eW2EtekEtWjAtOV9dW146XSskLyIsICRjb250ZW50KSkgewoJCQkJCS8vIE5vIHByb3RvY29sLCBzbyB0aGUgaW1hZ2UgaXMgaW4gb3VyIGxvY2FsIGltYWdlIGRpcmVjdG9yeSwgb3Igc29tZXdoZXJlIHVuZGVyIGl0LgoJCQkJCWlmICghcHJlZ19tYXRjaCgiLyg/OlxcL1xcLlxcLlxcLyl8KD86XlxcLlxcLlxcLyl8KD86XlxcLykvIiwgJGNvbnRlbnQpKSB7CgkJCQkJCSRpbmZvID0gQGdldGltYWdlc2l6ZSgieyRiYmNvZGUtPmxvY2FsX2ltZ19kaXJ9L3skY29udGVudH0iKTsKCQkJCQkJaWYgKCRpbmZvWzJdID09IElNQUdFVFlQRV9HSUYgfHwgJGluZm9bMl0gPT0gSU1BR0VUWVBFX0pQRUcgfHwgJGluZm9bMl0gPT0gSU1BR0VUWVBFX1BORykgewoJCQkJCQkJcmV0dXJuICI8aW1nIHNyYz1cIiIKCQkJCQkJCQkuIGh0bWxzcGVjaWFsY2hhcnMoInskYmJjb2RlLT5sb2NhbF9pbWdfdXJsfS97JGNvbnRlbnR9IikgLiAiXCIgYWx0PVwiIgoJCQkJCQkJCS4gaHRtbHNwZWNpYWxjaGFycyhiYXNlbmFtZSgkY29udGVudCkpIC4gIlwiIHdpZHRoPVwiIgoJCQkJCQkJCS4gaHRtbHNwZWNpYWxjaGFycygkaW5mb1swXSkgLiAiXCIgaGVpZ2h0PVwiIgoJCQkJCQkJCS4gaHRtbHNwZWNpYWxjaGFycygkaW5mb1sxXSkgLiAiXCIgY2xhc3M9XCJiYmNvZGVfaW1nXCIgLz4iOwoJCQkJCQl9CgkJCQkJfQoJCQkJfQoJCQkJZWxzZSBpZiAoJGJiY29kZS0+SXNWYWxpZFVSTCgkY29udGVudCwgZmFsc2UpKSB7CgkJCQkJLy8gUmVtb3RlIFVSTCwgb3IgYXQgbGVhc3Qgd2UgZG9uJ3Qga25vdyB3aGVyZSBpdCBpcy4KCQkJCQlyZXR1cm4gIjxpbWcgc3JjPVwiIiAuIGh0bWxzcGVjaWFsY2hhcnMoJGNvbnRlbnQpIC4gIlwiIGFsdD1cIiIKCQkJCQkJLiBodG1sc3BlY2lhbGNoYXJzKGJhc2VuYW1lKCRjb250ZW50KSkgLiAiXCIgY2xhc3M9XCJiYmNvZGVfaW1nXCIgLz4iOwoJCQkJfQoJCQl9CgoJCQlyZXR1cm4gaHRtbHNwZWNpYWxjaGFycygkcGFyYW1zWydfdGFnJ10pIC4gaHRtbHNwZWNpYWxjaGFycygkY29udGVudCkgLiBodG1sc3BlY2lhbGNoYXJzKCRwYXJhbXNbJ19lbmR0YWcnXSk7CgkJfQoKCQkvLyBGb3JtYXQgYSBbcnVsZV0gdGFnLiAgVGhpcyBzdWJzdGl0dXRlcyB0aGUgY29udGVudCBwcm92aWRlZCBieSB0aGUgQkJDb2RlCgkJLy8gb2JqZWN0LCB3aGF0ZXZlciB0aGF0IG1heSBiZS4KCQlmdW5jdGlvbiBEb1J1bGUoJGJiY29kZSwgJGFjdGlvbiwgJG5hbWUsICRkZWZhdWx0LCAkcGFyYW1zLCAkY29udGVudCkgewoJCQlpZiAoJGFjdGlvbiA9PSBCQkNPREVfQ0hFQ0spIHJldHVybiB0cnVlOwoJCQllbHNlIHJldHVybiAkYmJjb2RlLT5ydWxlX2h0bWw7CgkJfQoKCQkvLyBGb3JtYXQgYSBbcXVvdGVdIHRhZy4gIFRoaXMgdGFnIGNhbiBjb21lIGluIGEgdmFyaWV0eSBvZiBmbGF2b3JzOgoJCS8vCgkJLy8gIFtxdW90ZV0uLi5bL3F1b3RlXQoJCS8vICBbcXVvdGU9VG9tXS4uLlsvcXVvdGVdCgkJLy8gIFtxdW90ZSBuYW1lPSJUb20iXS4uLlsvcXVvdGVdCgkJLy8KCQkvLyBJbiB0aGUgdGhpcmQgZm9ybSwgeW91IGNhbiBhbHNvIGFkZCBhIGRhdGU9IiIgcGFyYW1ldGVyIHRvIGRpc3BsYXkgdGhlIGRhdGUKCQkvLyBvbiB3aGljaCBUb20gd3JvdGUgaXQsIGFuZCB5b3UgY2FuIGFkZCBhIHVybD0iIiBwYXJhbWV0ZXIgdG8gdHVybiB0aGUgYXV0aG9yJ3MKCQkvLyBuYW1lIGludG8gYSBsaW5rLiAgQSBmdWxsIGV4YW1wbGUgbWlnaHQgYmU6CgkJLy8KCQkvLyAgW3F1b3RlIG5hbWU9IlRvbSIgZGF0ZT0iSnVseSA0LCAxNzc2IDM6NDggUE0iIHVybD0iaHR0cDovL3d3dy5jb25zdGl0dXRpb24uZ292Il0uLi5bL3F1b3RlXQoJCS8vCgkJLy8gVGhlIFVSTCBvbmx5IGFsbG93cyBodHRwLCBodHRwcywgbWFpbHRvLCBnb3BoZXIsIGZ0cCwgYW5kIGZlZWQgcHJvdG9jb2xzIGZvciBzYWZldHkuCgkJZnVuY3Rpb24gRG9RdW90ZSgkYmJjb2RlLCAkYWN0aW9uLCAkbmFtZSwgJGRlZmF1bHQsICRwYXJhbXMsICRjb250ZW50KSB7CgkJCWlmICgkYWN0aW9uID09IEJCQ09ERV9DSEVDSykgcmV0dXJuIHRydWU7CgoJCQlpZiAoaXNzZXQoJHBhcmFtc1snbmFtZSddKSkgewoJCQkJJHRpdGxlID0gaHRtbHNwZWNpYWxjaGFycyh0cmltKCRwYXJhbXNbJ25hbWUnXSkpIC4gIiB3cm90ZSI7CgkJCQlpZiAoaXNzZXQoJHBhcmFtc1snZGF0ZSddKSkKCQkJCQkkdGl0bGUgLj0gIiBvbiAiIC4gaHRtbHNwZWNpYWxjaGFycyh0cmltKCRwYXJhbXNbJ2RhdGUnXSkpOwoJCQkJJHRpdGxlIC49ICI6IjsKCQkJCWlmIChpc3NldCgkcGFyYW1zWyd1cmwnXSkpIHsKCQkJCQkkdXJsID0gdHJpbSgkcGFyYW1zWyd1cmwnXSk7CgkJCQkJaWYgKCRiYmNvZGUtPklzVmFsaWRVUkwoJHVybCkpCgkJCQkJCSR0aXRsZSA9ICI8YSBocmVmPVwiIiAuIGh0bWxzcGVjaWFsY2hhcnMoJHBhcmFtc1sndXJsJ10pIC4gIlwiPiIgLiAkdGl0bGUgLiAiPC9hPiI7CgkJCQl9CgkJCX0KCQkJZWxzZSBpZiAoIWlzX3N0cmluZygkZGVmYXVsdCkpCgkJCQkkdGl0bGUgPSAiUXVvdGU6IjsKCQkJZWxzZSAkdGl0bGUgPSBodG1sc3BlY2lhbGNoYXJzKHRyaW0oJGRlZmF1bHQpKSAuICIgd3JvdGU6IjsKCQkJcmV0dXJuICJcbjxkaXYgY2xhc3M9XCJiYmNvZGVfcXVvdGVcIj5cbjxkaXYgY2xhc3M9XCJiYmNvZGVfcXVvdGVfaGVhZFwiPiIKCQkJCS4gJHRpdGxlIC4gIjwvZGl2PlxuPGRpdiBjbGFzcz1cImJiY29kZV9xdW90ZV9ib2R5XCI+IgoJCQkJLiAkY29udGVudCAuICI8L2Rpdj5cbjwvZGl2PlxuIjsKCQl9CgoJCS8vIEZvcm1hdCBhIFtsaXN0XSB0YWcsIHdoaWNoIGlzIGNvbXBsaWNhdGVkIGJ5IHRoZSBudW1iZXIgb2YgZGlmZmVyZW50CgkJLy8gd2F5cyBhIGxpc3QgY2FuIGJlIHN0YXJ0ZWQuICBUaGUgZm9sbG93aW5nIHBhcmFtZXRlcnMgYXJlIGFsbG93ZWQ6CgkJLy8KCQkvLyAgIFtsaXN0XSAgICAgICAgICAgVW5vcmRlcmVkIGxpc3QsIHVzaW5nIGRlZmF1bHQgbWFya2VyCgkJLy8gICBbbGlzdD1jaXJjbGVdICAgIFVub3JkZXJlZCBsaXN0LCB1c2luZyBjaXJjbGUgbWFya2VyCgkJLy8gICBbbGlzdD1kaXNjXSAgICAgIFVub3JkZXJlZCBsaXN0LCB1c2luZyBkaXNjIG1hcmtlcgoJCS8vICAgW2xpc3Q9c3F1YXJlXSAgICBVbm9yZGVyZWQgbGlzdCwgdXNpbmcgc3F1YXJlIG1hcmtlcgoJCS8vCgkJLy8gICBbbGlzdD0xXSAgICAgICAgIE9yZGVyZWQgbGlzdCwgbnVtZXJpYywgc3RhcnRpbmcgYXQgMQoJCS8vICAgW2xpc3Q9QV0gICAgICAgICBPcmRlcmVkIGxpc3QsIGNhcGl0YWwgbGV0dGVycywgc3RhcnRpbmcgYXQgQQoJCS8vICAgW2xpc3Q9YV0gICAgICAgICBPcmRlcmVkIGxpc3QsIGxvd2VyY2FzZSBsZXR0ZXJzLCBzdGFydGluZyBhdCBhCgkJLy8gICBbbGlzdD1JXSAgICAgICAgIE9yZGVyZWQgbGlzdCwgY2FwaXRhbCBSb21hbiBudW1lcmFscywgc3RhcnRpbmcgYXQgSQoJCS8vICAgW2xpc3Q9aV0gICAgICAgICBPcmRlcmVkIGxpc3QsIGxvd2VyY2FzZSBSb21hbiBudW1lcmFscywgc3RhcnRpbmcgYXQgaQoJCS8vICAgW2xpc3Q9Z3JlZWtdICAgICBPcmRlcmVkIGxpc3QsIGxvd2VyY2FzZSBHcmVlayBsZXR0ZXJzLCBzdGFydGluZyBhdCBhbHBoYQoJCS8vICAgW2xpc3Q9MDFdICAgICAgICBPcmRlcmVkIGxpc3QsIHR3by1kaWdpdCBudW1lcmljIHdpdGggMC1wYWRkaW5nLCBzdGFydGluZyBhdCAwMQoJCWZ1bmN0aW9uIERvTGlzdCgkYmJjb2RlLCAkYWN0aW9uLCAkbmFtZSwgJGRlZmF1bHQsICRwYXJhbXMsICRjb250ZW50KSB7CgoJCQkvLyBBbGxvd2VkIGxpc3Qgc3R5bGVzLCBzdHJpYWdodCBmcm9tIHRoZSBDU1MgMi4xIHNwZWMuICBUaGUgb25seSBwcm9oaWJpdGVkCgkJCS8vIGxpc3Qgc3R5bGUgaXMgdGhhdCB3aXRoIGltYWdlLWJhc2VkIG1hcmtlcnMsIHdoaWNoIG9mdGVuIHNsb3dzIGRvd24gd2ViIHNpdGVzLgoJCQkkbGlzdF9zdHlsZXMgPSBBcnJheSgKCQkJCScxJyA9PiAnZGVjaW1hbCcsCgkJCQknMDEnID0+ICdkZWNpbWFsLWxlYWRpbmctemVybycsCgkJCQknaScgPT4gJ2xvd2VyLXJvbWFuJywKCQkJCSdJJyA9PiAndXBwZXItcm9tYW4nLAoJCQkJJ2EnID0+ICdsb3dlci1hbHBoYScsCgkJCQknQScgPT4gJ3VwcGVyLWFscGhhJywKCQkJKTsKCQkJJGNpX2xpc3Rfc3R5bGVzID0gQXJyYXkoCgkJCQknY2lyY2xlJyA9PiAnY2lyY2xlJywKCQkJCSdkaXNjJyA9PiAnZGlzYycsCgkJCQknc3F1YXJlJyA9PiAnc3F1YXJlJywKCQkJCSdncmVlaycgPT4gJ2xvd2VyLWdyZWVrJywKCQkJCSdhcm1lbmlhbicgPT4gJ2FybWVuaWFuJywKCQkJCSdnZW9yZ2lhbicgPT4gJ2dlb3JnaWFuJywKCQkJKTsKCQkJJHVsX3R5cGVzID0gQXJyYXkoCgkJCQknY2lyY2xlJyA9PiAnY2lyY2xlJywKCQkJCSdkaXNjJyA9PiAnZGlzYycsCgkJCQknc3F1YXJlJyA9PiAnc3F1YXJlJywKCQkJKTsKCgkJCSRkZWZhdWx0ID0gdHJpbSgkZGVmYXVsdCk7CgoJCQlpZiAoJGFjdGlvbiA9PSBCQkNPREVfQ0hFQ0spIHsKCQkJCWlmICghaXNfc3RyaW5nKCRkZWZhdWx0KSB8fCBzdHJsZW4oJGRlZmF1bHQpID09ICIiKSByZXR1cm4gdHJ1ZTsKCQkJCWVsc2UgaWYgKGlzc2V0KCRsaXN0X3N0eWxlc1skZGVmYXVsdF0pKSByZXR1cm4gdHJ1ZTsKCQkJCWVsc2UgaWYgKGlzc2V0KCRjaV9saXN0X3N0eWxlc1tzdHJ0b2xvd2VyKCRkZWZhdWx0KV0pKSByZXR1cm4gdHJ1ZTsKCQkJCWVsc2UgcmV0dXJuIGZhbHNlOwoJCQl9CgoJCQkvLyBDaG9vc2UgYSBsaXN0IGVsZW1lbnQgKDx1bD4gb3IgPG9sPikgYW5kIGEgc3R5bGUuCgkJCWlmICghaXNfc3RyaW5nKCRkZWZhdWx0KSB8fCBzdHJsZW4oJGRlZmF1bHQpID09ICIiKSB7CgkJCQkkZWxlbSA9ICd1bCc7CgkJCQkkdHlwZSA9ICcnOwoJCQl9CgkJCWVsc2UgaWYgKCRkZWZhdWx0ID09ICcxJykgewoJCQkJJGVsZW0gPSAnb2wnOwoJCQkJJHR5cGUgPSAnJzsKCQkJfQoJCQllbHNlIGlmIChpc3NldCgkbGlzdF9zdHlsZXNbJGRlZmF1bHRdKSkgewoJCQkJJGVsZW0gPSAnb2wnOwoJCQkJJHR5cGUgPSAkbGlzdF9zdHlsZXNbJGRlZmF1bHRdOwoJCQl9CgkJCWVsc2UgewoJCQkJJGRlZmF1bHQgPSBzdHJ0b2xvd2VyKCRkZWZhdWx0KTsKCQkJCWlmIChpc3NldCgkdWxfdHlwZXNbJGRlZmF1bHRdKSkgewoJCQkJCSRlbGVtID0gJ3VsJzsKCQkJCQkkdHlwZSA9ICR1bF90eXBlc1skZGVmYXVsdF07CgkJCQl9CgkJCQllbHNlIGlmIChpc3NldCgkY2lfbGlzdF9zdHlsZXNbJGRlZmF1bHRdKSkgewoJCQkJCSRlbGVtID0gJ29sJzsKCQkJCQkkdHlwZSA9ICRjaV9saXN0X3N0eWxlc1skZGVmYXVsdF07CgkJCQl9CgkJCX0KCgkJCS8vIEdlbmVyYXRlIHRoZSBIVE1MIGZvciBpdC4KCQkJaWYgKHN0cmxlbigkdHlwZSkpCgkJCQlyZXR1cm4gIlxuPCRlbGVtIGNsYXNzPVwiYmJjb2RlX2xpc3RcIiBzdHlsZT1cImxpc3Qtc3R5bGUtdHlwZTokdHlwZVwiPlxuJGNvbnRlbnQ8LyRlbGVtPlxuIjsKCQkJZWxzZSByZXR1cm4gIlxuPCRlbGVtIGNsYXNzPVwiYmJjb2RlX2xpc3RcIj5cbiRjb250ZW50PC8kZWxlbT5cbiI7CgkJfQoKCX0KCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/src/nbbc_main.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCgkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkvLwoJLy8gIG5iYmNfbWFpbi5waHAKCS8vCgkvLyAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgTkJCQywgdGhlIE5ldyBCQkNvZGUgUGFyc2VyLgoJLy8KCS8vICBOQkJDIGltcGxlbWVudHMgYSBmdWxseS12YWxpZGF0aW5nLCBoaWdoLXNwZWVkLCBleHRlbnNpYmxlIHBhcnNlciBmb3IgdGhlCgkvLyAgQkJDb2RlIGRvY3VtZW50IGxhbmd1YWdlLiAgSXRzIG91dHB1dCBpcyBYSFRNTCAxLjAgU3RyaWN0IGNvbmZvcm1hbnQgbm8KCS8vICBtYXR0ZXIgd2hhdCBpdHMgaW5wdXQgaXMuICBOQkJDIHN1cHBvcnRzIHRoZSBmdWxsIHN0YW5kYXJkIEJCQ29kZSBsYW5ndWFnZSwKCS8vICBhcyB3ZWxsIGFzIGNvbW1lbnRzLCBjb2x1bW5zLCBlbmhhbmNlZCBxdW90ZXMsIHNwb2lsZXJzLCBhY3Jvbnltcywgd2lraQoJLy8gIGxpbmtzLCBzZXZlcmFsIGxpc3Qgc3R5bGVzLCBqdXN0aWZpY2F0aW9uLCBpbmRlbnRhdGlvbiwgYW5kIHNtaWxleXMsIGFtb25nCgkvLyAgb3RoZXIgYWR2YW5jZWQgZmVhdHVyZXMuCgkvLwoJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJLy8KCS8vICBDb3B5cmlnaHQgKGMpIDIwMDgtOSwgdGhlIFBoYW50b20gSW5rZXIuICBBbGwgcmlnaHRzIHJlc2VydmVkLgoJLy8KCS8vICBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKCS8vICBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKCS8vICBhcmUgbWV0OgoJLy8KCS8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKCS8vICAgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KCS8vCgkvLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CgkvLyAgICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4KCS8vICAgICAgIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKCS8vICAgICAgIGRpc3RyaWJ1dGlvbi4KCS8vCgkvLyAgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgUEhBTlRPTSBJTktFUiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUwoJLy8gIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECgkvLyAgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQoJLy8gIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFCgkvLyAgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgoJLy8gIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCgkvLyAgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SCgkvLyAgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksCgkvLyAgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UKCS8vICBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOCgkvLyAgSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCgkvLwoJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJLy8KCS8vICBUaGlzIGZpbGUgcHJvdmlkZXMgZGVmaW5pdGlvbnMgc2hhcmVkIHRocm91Z2hvdXQgdGhlIHBhcnNlciwgYW5kIGEKCS8vICB1bmlmb3JtIHdheSB0byBpbmNsdWRlIGFsbCB0aGUgcGFyc2VyJ3MgcGllY2VzLgoJLy8KCS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCglkZWZpbmUoIkJCQ09ERV9WRVJTSU9OIiwgIjEuNC41Iik7CQkvLyBDdXJyZW50IHZlcnNpb24gbnVtYmVyCglkZWZpbmUoIkJCQ09ERV9SRUxFQVNFIiwgIjIwMTAtMDktMTciKTsJLy8gQ3VycmVudCByZWxlYXNlIGRhdGUKCglkZWZpbmUoIkJCQ09ERV9WRVJCQVRJTSIsIDIpOwkJLy8gQ29udGVudCB0eXBlOiAgQ29udGVudCBpcyBub3QgcHJvY2Vzc2VkIGFzIEJCQ29kZS4KCWRlZmluZSgiQkJDT0RFX1JFUVVJUkVEIiwgMSk7CQkvLyBDb250ZW50IHR5cGU6ICBDb250ZW50IG1heSBub3QgYmUgZW1wdHkgb3Igd2hpdGVzcGFjZS4KCQkJCQkJCQkJCS8vIEVuZCB0YWdzOiAgRW5kIHRhZyBtdXN0IGJlIGdpdmVuIGJ5IHVzZXIuCglkZWZpbmUoIkJCQ09ERV9PUFRJT05BTCIsIDApOwkJLy8gQ29udGVudCB0eXBlOiAgQ29udGVudCBpcyBwZXJtaXR0ZWQgYnV0IG5vdCByZXF1aXJlZC4KCQkJCQkJCQkJCS8vIEVuZCB0YWdzOiAgRW5kIHRhZyBpcyBwZXJtaXR0ZWQgYnV0IG5vdCByZXF1aXJlZC4KCWRlZmluZSgiQkJDT0RFX1BST0hJQklUIiwgLTEpOwkJLy8gQ29udGVudCB0eXBlOiAgQ29udGVudCBtYXkgbm90IGJlIHByb3ZpZGVkIGJ5IHVzZXIuCgkJCQkJCQkJCQkvLyBFbmQgdGFnczogIEVuZCB0YWcgaXMgZGlzYWxsb3dlZDsgc3RhcnQgdGFnIG9ubHkuCgoJZGVmaW5lKCJCQkNPREVfQ0hFQ0siLCAxKTsJCQkvLyBDYWxsYmFjayBvcGVyYXRpb246IENoZWNrIHZhbGlkaXRpdHkgb2YgaW5wdXQKCWRlZmluZSgiQkJDT0RFX09VVFBVVCIsIDIpOwkJCS8vIENhbGxiYWNrIG9wZXJhdGlvbjogR2VuZXJhdGUgSFRNTCBvdXRwdXQKCglkZWZpbmUoIkJCQ09ERV9FTkRUQUciLCA1KTsJCQkvLyBUb2tlbjogQW4gWy9lbmQgdGFnXQoJZGVmaW5lKCJCQkNPREVfVEFHIiwgNCk7CQkJLy8gVG9rZW46IEEgW3N0YXJ0IHRhZ10gb3IgW2VtcHR5IHRhZ10KCWRlZmluZSgiQkJDT0RFX1RFWFQiLCAzKTsJCQkvLyBUb2tlbjogTm9uLXdoaXRlc3BhY2Ugbm9uLXRhZyBwbGFpbiB0ZXh0CglkZWZpbmUoIkJCQ09ERV9OTCIsIDIpOwkJCQkvLyBUb2tlbjogQSBzaW5nbGUgbmV3bGluZQoJZGVmaW5lKCJCQkNPREVfV1MiLCAxKTsJCQkJLy8gVG9rZW46IE5vbi1uZXdsaW5lIHdoaXRlc3BhY2UKCWRlZmluZSgiQkJDT0RFX0VPSSIsIDApOwkJCS8vIFRva2VuOiBFbmQtb2YtaW5wdXQKCglkZWZpbmUoIkJCQ09ERV9MRVhTVEFURV9URVhUIiwgMCk7CS8vIExleGVyOiBOZXh0IHRva2VuIGlzIHBsYWluIHRleHQuCglkZWZpbmUoIkJCQ09ERV9MRVhTVEFURV9UQUciLCAxKTsJLy8gTGV4ZXI6IE5leHQgdG9rZW4gaXMgbm9uLXRleHQgZWxlbWVudC4KCglkZWZpbmUoIkJCQ09ERV9NT0RFX1NJTVBMRSIsIDApOwkvLyBTd2FwIEJCQ29kZSB0YWdzIHdpdGggSFRNTCB0YWdzLgoJZGVmaW5lKCJCQkNPREVfTU9ERV9DQUxMQkFDSyIsIDEpOwkvLyBVc2UgcHJvdmlkZWQgY2FsbGJhY2sgZnVuY3Rpb24gb3IgbWV0aG9kLgoJZGVmaW5lKCJCQkNPREVfTU9ERV9JTlRFUk5BTCIsIDIpOwkvLyBVc2UgaW50ZXJuYWwgY2FsbGJhY2sgZnVuY3Rpb24uCglkZWZpbmUoIkJCQ09ERV9NT0RFX0xJQlJBUlkiLCAzKTsJLy8gVXNlIGxpYnJhcnkgY2FsbGJhY2sgZnVuY3Rpb24uCglkZWZpbmUoIkJCQ09ERV9NT0RFX0VOSEFOQ0VEIiwgNCk7CS8vIEluc2VydCBCQkNvZGUgaW5wdXQgaW50byB0aGUgcHJvdmlkZWQgSFRNTCB0ZW1wbGF0ZS4KCglkZWZpbmUoIkJCQ09ERV9TVEFDS19UT0tFTiIsIDApOwkvLyBTdGFjayBub2RlOiBUb2tlbiB0eXBlCglkZWZpbmUoIkJCQ09ERV9TVEFDS19URVhUIiwgMSk7CQkvLyBTdGFjayBub2RlOiBIVE1MIHRleHQgY29udGVudAoJZGVmaW5lKCJCQkNPREVfU1RBQ0tfVEFHIiwgMik7CQkvLyBTdGFjayBub2RlOiBUYWcgY29udGVudHMgKGFycmF5KQoJZGVmaW5lKCJCQkNPREVfU1RBQ0tfQ0xBU1MiLCAzKTsJLy8gU3RhY2sgbm9kZTogQ2xhc3NuYW1lCgoJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJLy8gIFRoaXMgcHJvZmlsZXIgY2xhc3MgaGVscHMgdXMgdG8gZWFzaWx5IGRldGVjdCBwZXJmb3JtYW5jZSBib3R0bGVuZWNrcy4KCS8vICBXZSBsZWF2ZSBpdCBvdXQgb2YgdGhlIGhpZ2gtc3BlZWQgY29tcHJlc3NlZCB2ZXJzaW9uIG9mIE5CQkMgZm9yCgkvLyAgcGVyZm9ybWFuY2UgcmVhc29uczsgdGhpcyBpcyByZWFsbHkgYSBkZWJ1Z2dpbmcgYWlkIG1vcmUgdGhhbiBhbnl0aGluZy4KCgkvLzxza2lwLXdoZW4tY29tcHJlc3Npbmc+CgljbGFzcyBCQkNvZGVfUHJvZmlsZXIgewoJCXZhciAkc3RhcnRfdGltZSwgJHRvdGFsX3RpbWVzOwoJCQoJCWZ1bmN0aW9uIEJCQ29kZV9Qcm9maWxlcigpCgkJCXsgJHN0YXJ0X3RpbWUgPSBBcnJheSgpOyAkdG90YWxfdGltZXMgPSBBcnJheSgpOyB9CgoJCWZ1bmN0aW9uIE5vdygpCgkJCXsgbGlzdCgkdXNlYywgJHNlYykgPSBleHBsb2RlKCIgIiwgbWljcm90aW1lKCkpOwoJCQkJcmV0dXJuICgoZmxvYXQpJHVzZWMgKyAoZmxvYXQpJHNlYyk7IH0KCgkJZnVuY3Rpb24gQmVnaW4oJGdyb3VwKQoJCQl7ICR0aGlzLT5zdGFydF90aW1lWyRncm91cF0gPSAkdGhpcy0+Tm93KCk7IH0KCQlmdW5jdGlvbiBFbmQoJGdyb3VwKQoJCQl7ICR0aW1lID0gJHRoaXMtPk5vdygpIC0gJHRoaXMtPnN0YXJ0X3RpbWVbJGdyb3VwXTsKCQkJCWlmICghaXNzZXQoJHRoaXMtPnRvdGFsX3RpbWVzWyRncm91cF0pKQoJCQkJCSR0aGlzLT50b3RhbF90aW1lc1skZ3JvdXBdID0gJHRpbWU7CgkJCQllbHNlICR0aGlzLT50b3RhbF90aW1lc1skZ3JvdXBdICs9ICR0aW1lOyB9CgkJZnVuY3Rpb24gUmVzZXQoJGdyb3VwKQoJCQl7ICR0aGlzLT50b3RhbF90aW1lc1skZ3JvdXBdID0gMDsgfQoJCWZ1bmN0aW9uIFRvdGFsKCRncm91cCkKCQkJeyByZXR1cm4gQCR0aGlzLT50b3RhbF90aW1lc1skZ3JvdXBdOyB9CgoJCWZ1bmN0aW9uIER1bXBBbGxHcm91cHMoKSB7CgkJCXByaW50ICI8ZGl2PlByb2ZpbGVkIHRpbWVzOlxuPHVsPlxuIjsKCQkJa3NvcnQoJHRoaXMtPnRvdGFsX3RpbWVzKTsKCQkJZm9yZWFjaCAoJHRoaXMtPnRvdGFsX3RpbWVzIGFzICRuYW1lID0+ICR0aW1lKSB7CgkJCQlwcmludCAiPGxpPjxiPiIgLiBodG1sc3BlY2lhbGNoYXJzKCRuYW1lKSAuICI8L2I+OiAiIC4gc3ByaW50ZigiJTAuMmYgbXNlYyIsICR0aW1lICogMTAwMCkgLiAiPC9saT5cbiI7CgkJCX0KCQkJcHJpbnQgIjwvdWw+XG48L2Rpdj5cbiI7CgkJfQoJfQoJLy88L3NraXAtd2hlbi1jb21wcmVzc2luZz4KCgkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkvLyAgUEhQIDQgZG9lc24ndCBoYXZlIHN0cl9zcGxpdCgpLCBzbyBpZiBpdCBkb2Vzbid0IGV4aXN0LCB3ZSBwcm92aWRlIGEKCS8vICAoc2xvd2VyKSBzdWJzdGl0dXRlLgoKCWlmICghZnVuY3Rpb25fZXhpc3RzKCdzdHJfc3BsaXQnKSkgewoJCWZ1bmN0aW9uIHN0cl9zcGxpdCgkc3RyaW5nLCAkc3BsaXRfbGVuZ3RoID0gMSkgewoJCQkkYXJyYXkgPSBleHBsb2RlKCJcclxuIiwgY2h1bmtfc3BsaXQoJHN0cmluZywgJHNwbGl0X2xlbmd0aCkpOwoJCQlhcnJheV9wb3AoJGFycmF5KTsKCQkJcmV0dXJuICRhcnJheTsKCQl9Cgl9CgoJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCS8vIFdlIHVzZSBhYnNvbHV0ZSBwYXRocyB0byBnZXQgYXJvdW5kIFBIUC1pbmNsdWRlIHdlaXJkbmVzczsgb24gc29tZSBpbnN0YWxscwoJLy8gb2YgUEhQLCBpbmNsdWRpbmcgYSBmaWxlIHRoYXQgdXNlcyBhIHJlbGF0aXZlIHBhdGhuYW1lIGRvZXNuJ3QgYWx3YXlzIHdvcmsKCS8vIGNvcnJlY3RseSBkdWUgdG8gdGhlIHdheSBpbmNsdWRlX3BhdGggaXMgc2V0LgoJJEJCQ29kZV9Tb3VyY2VEaXIgPSBkaXJuYW1lKF9fRklMRV9fKTsKCglyZXF1aXJlX29uY2UoIiRCQkNvZGVfU291cmNlRGlyL25iYmNfbGV4LnBocCIpOwkJLy8gVGhlIGxleGljYWwgYW5hbHl6ZXIuCglyZXF1aXJlX29uY2UoIiRCQkNvZGVfU291cmNlRGlyL25iYmNfcGFyc2UucGhwIik7CS8vIFRoZSBwYXJzZXIvY29udmVydGVyLgoJcmVxdWlyZV9vbmNlKCIkQkJDb2RlX1NvdXJjZURpci9uYmJjX2xpYi5waHAiKTsJCS8vIFRoZSBsaWJyYXJ5IG9mIHN0YW5kYXJkIEJCQ29kZSBydWxlcyBhbmQgU21pbGV5cy4KCXJlcXVpcmVfb25jZSgiJEJCQ29kZV9Tb3VyY2VEaXIvbmJiY19lbWFpbC5waHAiKTsJLy8gRS1tYWlsIGFkZHJlc3MgdmFsaWRhdG9yLgoKPz4K]]></data>
	</file>
	<file>
	  <filename>/src/nbbc_parse.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCgkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkvLwoJLy8gIG5iYmNfcGFyc2UucGhwCgkvLwoJLy8gIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIE5CQkMsIHRoZSBOZXcgQkJDb2RlIFBhcnNlci4KCS8vCgkvLyAgTkJCQyBpbXBsZW1lbnRzIGEgZnVsbHktdmFsaWRhdGluZywgaGlnaC1zcGVlZCwgZXh0ZW5zaWJsZSBwYXJzZXIgZm9yIHRoZQoJLy8gIEJCQ29kZSBkb2N1bWVudCBsYW5ndWFnZS4gIEl0cyBvdXRwdXQgaXMgWEhUTUwgMS4wIFN0cmljdCBjb25mb3JtYW50IG5vCgkvLyAgbWF0dGVyIHdoYXQgaXRzIGlucHV0IGlzLiAgTkJCQyBzdXBwb3J0cyB0aGUgZnVsbCBzdGFuZGFyZCBCQkNvZGUgbGFuZ3VhZ2UsCgkvLyAgYXMgd2VsbCBhcyBjb21tZW50cywgY29sdW1ucywgZW5oYW5jZWQgcXVvdGVzLCBzcG9pbGVycywgYWNyb255bXMsIHdpa2kKCS8vICBsaW5rcywgc2V2ZXJhbCBsaXN0IHN0eWxlcywganVzdGlmaWNhdGlvbiwgaW5kZW50YXRpb24sIGFuZCBzbWlsZXlzLCBhbW9uZwoJLy8gIG90aGVyIGFkdmFuY2VkIGZlYXR1cmVzLgoJLy8KCS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCS8vCgkvLyAgQ29weXJpZ2h0IChjKSAyMDA4LTksIHRoZSBQaGFudG9tIElua2VyLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KCS8vCgkvLyAgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CgkvLyAgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCgkvLyAgYXJlIG1ldDoKCS8vCgkvLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CgkvLyAgICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCgkvLwoJLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAoJLy8gICAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluCgkvLyAgICAgICB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCgkvLyAgICAgICBkaXN0cmlidXRpb24uCgkvLwoJLy8gIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIFBIQU5UT00gSU5LRVIgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MKCS8vICBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAoJLy8gIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKCS8vICBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRQoJLy8gIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKCS8vICBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgoJLy8gIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUgoJLy8gIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLAoJLy8gIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFCgkvLyAgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTgoJLy8gIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgoJLy8KCS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCS8vCgkvLyAgVGhpcyBmaWxlIGltcGxlbWVudHMgdGhlIE5ldyBCQkNvZGUgcGFyc2VyLiAgVXNhZ2UgaXMgc2ltcGxlOiAgSnVzdCBjcmVhdGUKCS8vICBhIEJCQ29kZSBvYmplY3QsIGFuZCB0aGVuIGNhbGwgJGJiY29kZS0+UGFyc2UoKSB3aXRoIGEgc3RyaW5nIGNvbnRhaW5pbmcKCS8vICBCQkNvZGUsIGFuZCBpdCByZXR1cm5zIEhUTUwuCgkvLwoJLy8gIEludGVybmFsbHksIHRoaXMgY29uc3RydWN0cyBhbmQgdmFsaWRhdGVzIGEgc3ludGF4IHRyZWUgZm9yIHRoZSBCQkNvZGUsCgkvLyAgc28gdGhlIG91dHB1dCBIVE1MIGlzICphbHdheXMqIHZhbGlkIEhUTUwgLS0tIGV4Y2VwdCB0aGF0IHRoZSByZXN1bHRpbmcKCS8vICBvdXRwdXQgaXMgKm5vdCogd3JhcHBlZCBpbiBhIGNvbnRhaW5lciA8ZGl2PiBvciA8c3Bhbj4gZWxlbWVudCBhdXRvbWF0aWNhbGx5OwoJLy8gIGlmIHlvdSBuZWVkIGEgd3JhcHBlciwgYWRkIG9uZSB5b3Vyc2VsZi4KCS8vCgkvLyAgVGhpcyBhbHNvIHJlcGxhY2VzIHNtaWxleXMgd2l0aCB0aGVpciByZXNwZWN0aXZlIGltYWdlcy4KCS8vCgkvLyAgVGhpcyBjbGFzcyB3b3JrcyBieSBidWlsZGluZyB0aGUgQkJDb2RlIG9uIGEgc3RhY2sgYXMgYW4gaW1wbGljdCB0cmVlIG9mCgkvLyAgb3BlcmF0b3JzIGFuZCBvcGVyYW5kcywgc29tZXdoYXQgbGlrZSBwYXJzaW5nIGEgbWF0aCBleHByZXNzaW9uLCB1c2luZwoJLy8gIHRoZSB0YWdzJyBjbGFzcy1jb250YWlubWVudCBydWxlcyBsaWtlIG9wZXJhdG9yIHByZWNlZGVuY2VzLiAgVGhlIHN0YWNrCgkvLyAgaXMgdXNlZCB0byBkZXRlcm1pbmUgd2hhdCdzIGxlZ2FsIGFuZCB3aGF0J3Mgbm90LCBhbmQgdG8gZXZlbnR1YWxseQoJLy8gICJldmFsdWF0ZSIgdGhlIEJCQ29kZSBpbnRvIEhUTUwgb3V0cHV0LiAgVGhpcyB0ZWNobmlxdWUgKGEgcHVzaC1kb3duCgkvLyAgYXV0b21hdG9uKSBpcyBlcXVpdmFsZW50IHRvIGJ1aWxkaW5nIGEgcmVhbCBkb2N1bWVudCB0cmVlIGZyb20gdGhlIGlucHV0LAoJLy8gIGJ1dCBpdCdzIG11Y2ggZmFzdGVyIGFuZCByZXF1aXJlcyBtdWNoIGxlc3MgbWVtb3J5LCBpbiBleGNoYW5nZSBmb3IgbXVjaAoJLy8gIG1vcmUgY29uY2VwdHVhbGx5LWNvbnZvbHV0ZWQgY29kZTogIERvbid0IG1vZGlmeSBJbnRlcm5hbF9HZW5lcmF0ZU91dHB1dCwKCS8vICBJbnRlcm5hbF9SZXdpbmRUb0NsYXNzLCBJbnRlcm5hbF9GaW5pc2hUYWcsIG9yIGFueSBmdW5jdGlvbiB3aXRoICJQYXJzZSIKCS8vICBpbiBpdHMgbmFtZSBmdW5jdGlvbiB1bmxlc3MgeW91IGtub3cgKmV4YWN0bHkqIHdoYXQgeW91J3JlIGRvaW5nLiAgSW4KCS8vICBmYWN0LCB0aGUgbGVzcyB5b3UgY2hhbmdlIGhlcmUgdGhlIGJldHRlciwgYmVjYXVzZSB0aGlzIGNsYXNzIGlzIHZlcnkKCS8vICB0aWdodGx5LWtuaXQsIGFuZCBldmVuIHNtYWxsIGNoYW5nZXMgY2FuIGhhdmUgYmlnIHJhbWlmaWNhdGlvbnMuICBJZiB5b3UKCS8vICBkbyBtYWtlIGEgY2hhbmdlLCBiZSBzdXJlIHRvIHRlc3QgaXQgd2l0aCB0aGUgaW5jbHVkZWQgY29uZm9ybWFuY2Ugc3VpdGUuCgkvLwoJLy8gIE5vdGU6ICBGb3IgcGVyZm9ybWFuY2UgcmVhc29ucywgd2UgdXNlICRhcnJheVtdPSBpbnN0ZWFkIG9mIGFycmF5X3B1c2g7CgkvLyAgYW5kIHdlIHVzZSBvdXRwdXQgYnVmZmVyaW5nIHJhdGhlciB0aGFuIHN0cmluZyBjb25jYXRlbmF0aW9uLiAgVGhlc2Ugc2VlbQoJLy8gIHRvIGJvdGggeWllbGQgc2xpZ2h0bHkgaGlnaGVyIHBlcmZvcm1hbmNlIHRoYW4gdGhlaXIgYWx0ZXJuYXRpdmUgc29sdXRpb25zLAoJLy8gIGV2ZW4gaWYgdGhleSdyZSBhIGxpdHRsZSBzdHJhbmdlciB0byByZWFkLgoJLy8KCS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgljbGFzcyBCQkNvZGUgewoKCQkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkJLy8gSW5zdGFuY2UgdmFyaWFibGVzLiAgRG8gbm90IGNoYW5nZSBhbnkgb2YgdGhlc2UgZGlyZWN0bHkhICBVc2UgdGhlCgkJLy8gYWNjZXNzIG1ldGhvZHMgcHJvdmlkZWQgYmVsb3cuCgoJCXZhciAkdGFnX3J1bGVzOwkJLy8gTGlzdCBvZiB0YWcgcnVsZXMgY3VycmVudGx5IGluIHVzZS4KCQl2YXIgJGRlZmF1bHRzOwkJLy8gVGhlIHN0YW5kYXJkIGxpYnJhcnkgKGFuIGluc3RhbmNlIG9mIGNsYXNzIEJCQ29kZUxpYnJhcnkpLgoKCQl2YXIgJGN1cnJlbnRfY2xhc3M7CS8vIFRoZSBjdXJyZW50IGNsYXNzIChhdXRvLWNvbXB1dGVkKS4KCQl2YXIgJHJvb3RfY2xhc3M7CS8vIFRoZSByb290IGNvbnRhaW5lciBjbGFzcy4KCQl2YXIgJGxvc3Rfc3RhcnRfdGFnczsgLy8gRm9yIHJlcGFpciB3aGVuIHRhZ3MgYXJlIGJhZGx5IG1pcy1uZXN0ZWQuCgkJdmFyICRzdGFydF90YWdzOwkvLyBBbiBhc3NvY2lhdGl2ZSBhcnJheSBvZiBsb2NhdGlvbnMgb2Ygc3RhcnQgdGFncyBvbiB0aGUgc3RhY2suCgkJdmFyICRhbGxvd19hbXBlcnNhbmQ7IC8vIElmIHRydWUsIHdlIHVzZSBzdHJfcmVwbGFjZSgpIGluc3RlYWQgb2YgaHRtbHNwZWNpYWxjaGFycygpLgoJCXZhciAkdGFnX21hcmtlcjsJLy8gU2V0IHRvICdbJywgJzwnLCAneycsIG9yICcoJy4KCQl2YXIgJGlnbm9yZV9uZXdsaW5lczsgLy8gSWYgdHJ1ZSwgbmV3bGluZXMgd2lsbCBiZSB0cmVhdGVkIGFzIG5vcm1hbCB3aGl0ZXNwYWNlLgoJCXZhciAkcGxhaW5fbW9kZTsJLy8gRG9uJ3Qgb3V0cHV0IHRhZ3M6ICBKdXN0IG91dHB1dCB0ZXh0L3doaXRlc3BhY2UvbmV3bGluZXMgb25seS4KCgkJdmFyICRkZXRlY3RfdXJsczsJLy8gU2hvdWxkIHdlIGF1ZG8tZGV0ZWN0IFVSTHMgYW5kIGNvbnZlcnQgdGhlbSB0byBsaW5rcz8KCQl2YXIgJHVybF9wYXR0ZXJuOwkvLyBXaGF0IHRvIGNvbnZlcnQgYXV0by1kZXRlY3RlZCBVUkxzIGludG8uCgoJCXZhciAkb3V0cHV0X2xpbWl0OwkvLyBUaGUgbWF4aW11bSBudW1iZXIgb2YgdGV4dCBjaGFyYWN0ZXJzIHRvIG91dHB1dC4KCQl2YXIgJHRleHRfbGVuZ3RoOwkvLyBUaGUgbnVtYmVyIG9mIHRleHQgY2hhcmFjdGVycyBvdXRwdXQgc28gZmFyLgoJCXZhciAkd2FzX2xpbWl0ZWQ7CS8vIFNldCB0byB0cnVlIGlmIHRoZSBvdXRwdXQgd2FzIGN1dCBvZmYuCgkJdmFyICRsaW1pdF90YWlsOwkvLyBXaGF0IHRvIGFkZCBpZiB0aGUgb3V0cHV0IGlzIGN1dCBvZmYuCgkJdmFyICRsaW1pdF9wcmVjaXNpb247IC8vIEhvdyBhY2N1cmF0ZSBzaG91bGQgd2UgYmUgaWYgd2UncmUgY3V0dGluZyBvZmYgdGV4dD8KCgkJdmFyICRzbWlsZXlfZGlyOwkvLyBUaGUgaG9zdCBmaWxlc3lzdGVtIHBhdGggdG8gc21pbGV5cyAoc2hvdWxkIGJlIGFuIGFic29sdXRlIHBhdGgpLgoJCXZhciAkc21pbGV5X3VybDsJLy8gVGhlIFVSTCBwYXRoIHRvIHNtaWxleXMgKHBvc3NpYmx5IGEgcmVsYXRpdmUgcGF0aCkuCgkJdmFyICRzbWlsZXlzOwkJLy8gVGhlIGN1cnJlbnQgbGlzdCBvZiBzbWlsZXlzLgoJCXZhciAkc21pbGV5X3JlZ2V4OwkvLyBUaGlzIGlzIGEgcmVnZXgsIHByZWNvbXB1dGVkIGZyb20gdGhlIGxpc3Qgb2Ygc21pbGV5cyBhYm92ZS4KCQl2YXIgJGVuYWJsZV9zbWlsZXlzOyAvLyBXaGV0aGVyIG9yIG5vdCB0byBwZXJmb3JtIHNtaWxleS1wYXJzaW5nLgoKCQl2YXIgJHdpa2lfdXJsOwkJLy8gVVJMIHByZWZpeCB1c2VkIGZvciBbW3dpa2ldXSBsaW5rcy4KCgkJdmFyICRsb2NhbF9pbWdfZGlyOwkvLyBUaGUgaG9zdCBmaWxlc3lzdGVtIHBhdGggdG8gbG9jYWwgaW1hZ2VzIChzaG91bGQgYmUgYW4gYWJzb2x1dGUgcGF0aCkuCgkJdmFyICRsb2NhbF9pbWdfdXJsOwkvLyBUaGUgVVJMIHBhdGggdG8gbG9jYWwgaW1hZ2VzIChwb3NzaWJseSBhIHJlbGF0aXZlIHBhdGgpLgoJCXZhciAkdXJsX3RhcmdldGFibGU7IC8vIElmIHRydWUsIFt1cmxdIHRhZ3MgY2FuIGFjY2VwdCBhIHRhcmdldD0iLi4uIiBwYXJhbWV0ZXIuCgkJdmFyICR1cmxfdGFyZ2V0OwkvLyBJZiBub24tZmFsc2UsIFt1cmxdIHRhZ3Mgd2lsbCB1c2UgdGhpcyB0YXJnZXQgYW5kIG5vIG90aGVyLgoJCQoJCXZhciAkcnVsZV9odG1sOwkJLy8gVGhlIGRlZmF1bHQgSFRNTCB0byBvdXRwdXQgZm9yIGEgW3J1bGVdIHRhZy4KCgkJdmFyICRwcmVfdHJpbTsJCS8vIEhvdyB0byB0cmltIHRoZSB3aGl0ZXNwYWNlIGF0IHRoZSBzdGFydCBvZiB0aGUgaW5wdXQuCgkJdmFyICRwb3N0X3RyaW07CQkvLyBIb3cgdG8gdHJpbSB0aGUgd2hpdGVzcGFjZSBhdCB0aGUgZW5kIG9mIHRoZSBpbnB1dC4KCgkJdmFyICRkZWJ1ZzsJCQkvLyBFbmFibGUgZGVidWdnaW5nIG1vZGU/IChsb3RzIG9mIG91dHB1dCkKCgkJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJCS8vIENvbnN0cnVjdG9yLgoKCQlmdW5jdGlvbiBCQkNvZGUoKSB7CgkJCSR0aGlzLT5kZWZhdWx0cyA9IG5ldyBCQkNvZGVMaWJyYXJ5OwoJCQkkdGhpcy0+dGFnX3J1bGVzID0gJHRoaXMtPmRlZmF1bHRzLT5kZWZhdWx0X3RhZ19ydWxlczsKCQkJJHRoaXMtPnNtaWxleXMgPSAkdGhpcy0+ZGVmYXVsdHMtPmRlZmF1bHRfc21pbGV5czsKCQkJJHRoaXMtPmVuYWJsZV9zbWlsZXlzID0gdHJ1ZTsKCQkJJHRoaXMtPnNtaWxleV9yZWdleCA9IGZhbHNlOwoJCQkkdGhpcy0+c21pbGV5X2RpciA9ICR0aGlzLT5HZXREZWZhdWx0U21pbGV5RGlyKCk7CgkJCSR0aGlzLT5zbWlsZXlfdXJsID0gJHRoaXMtPkdldERlZmF1bHRTbWlsZXlVUkwoKTsKCQkJJHRoaXMtPndpa2lfdXJsID0gJHRoaXMtPkdldERlZmF1bHRXaWtpVVJMKCk7CgkJCSR0aGlzLT5sb2NhbF9pbWdfZGlyID0gJHRoaXMtPkdldERlZmF1bHRMb2NhbEltZ0RpcigpOwoJCQkkdGhpcy0+bG9jYWxfaW1nX3VybCA9ICR0aGlzLT5HZXREZWZhdWx0TG9jYWxJbWdVUkwoKTsKCQkJJHRoaXMtPnJ1bGVfaHRtbCA9ICR0aGlzLT5HZXREZWZhdWx0UnVsZUhUTUwoKTsKCQkJJHRoaXMtPnByZV90cmltID0gIiI7CgkJCSR0aGlzLT5wb3N0X3RyaW0gPSAiIjsKCQkJJHRoaXMtPnJvb3RfY2xhc3MgPSAnYmxvY2snOwoJCQkkdGhpcy0+bG9zdF9zdGFydF90YWdzID0gQXJyYXkoKTsKCQkJJHRoaXMtPnN0YXJ0X3RhZ3MgPSBBcnJheSgpOwoJCQkkdGhpcy0+dGFnX21hcmtlciA9ICdbJzsKCQkJJHRoaXMtPmFsbG93X2FtcHNlcnNhbmQgPSBmYWxzZTsKCQkJJHRoaXMtPmN1cnJlbnRfY2xhc3MgPSAkdGhpcy0+cm9vdF9jbGFzczsKCQkJJHRoaXMtPmRlYnVnID0gZmFsc2U7CgkJCSR0aGlzLT5pZ25vcmVfbmV3bGluZXMgPSBmYWxzZTsKCQkJJHRoaXMtPm91dHB1dF9saW1pdCA9IDA7CgkJCSR0aGlzLT5wbGFpbl9tb2RlID0gZmFsc2U7CgkJCSR0aGlzLT53YXNfbGltaXRlZCA9IGZhbHNlOwoJCQkkdGhpcy0+bGltaXRfdGFpbCA9ICIuLi4iOwoJCQkkdGhpcy0+bGltaXRfcHJlY2lzaW9uID0gMC4xNTsKCQkJJHRoaXMtPmRldGVjdF91cmxzID0gZmFsc2U7CgkJCSR0aGlzLT51cmxfcGF0dGVybiA9ICc8YSBocmVmPSJ7JHVybC9ofSI+eyR0ZXh0L2h9PC9hPic7CgkJCSR0aGlzLT51cmxfdGFyZ2V0YWJsZSA9IGZhbHNlOwoJCQkkdGhpcy0+dXJsX3RhcmdldCA9IGZhbHNlOwoJCX0KCgkJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJCS8vIFN0YXRlIGNvbnRyb2wuCgoJCWZ1bmN0aW9uIFNldFByZVRyaW0oJHRyaW0gPSAiYSIpIHsgJHRoaXMtPnByZV90cmltID0gJHRyaW07IH0KCQlmdW5jdGlvbiBHZXRQcmVUcmltKCkgICAgICAgICAgeyByZXR1cm4gJHRoaXMtPnByZV90cmltOyB9CgkJZnVuY3Rpb24gU2V0UG9zdFRyaW0oJHRyaW0gPSAiYSIpIHsgJHRoaXMtPnBvc3RfdHJpbSA9ICR0cmltOyB9CgkJZnVuY3Rpb24gR2V0UG9zdFRyaW0oKSAgICAgICAgIHsgcmV0dXJuICR0aGlzLT5wb3N0X3RyaW07IH0KCgkJZnVuY3Rpb24gU2V0Um9vdCgkY2xhc3MgPSAnYmxvY2snKSB7ICR0aGlzLT5yb290X2NsYXNzID0gJGNsYXNzOyB9CgkJZnVuY3Rpb24gU2V0Um9vdElubGluZSgpICAgICAgIHsgJHRoaXMtPnJvb3RfY2xhc3MgPSAnaW5saW5lJzsgfQoJCWZ1bmN0aW9uIFNldFJvb3RCbG9jaygpICAgICAgICB7ICR0aGlzLT5yb290X2NsYXNzID0gJ2Jsb2NrJzsgfQoJCWZ1bmN0aW9uIEdldFJvb3QoKSAgICAgICAgICAgICB7IHJldHVybiAkdGhpcy0+cm9vdF9jbGFzczsgfQoKCQlmdW5jdGlvbiBTZXREZWJ1ZygkZW5hYmxlID0gdHJ1ZSkgeyAkdGhpcy0+ZGVidWcgPSAkZW5hYmxlOyB9CgkJZnVuY3Rpb24gR2V0RGVidWcoKSAgICAgICAgICAgIHsgcmV0dXJuICR0aGlzLT5kZWJ1ZzsgfQoKCQlmdW5jdGlvbiBTZXRBbGxvd0FtcGVyc2FuZCgkZW5hYmxlID0gdHJ1ZSkgeyAkdGhpcy0+YWxsb3dfYW1wZXJzYW5kID0gJGVuYWJsZTsgfQoJCWZ1bmN0aW9uIEdldEFsbG93QW1wZXJzYW5kKCkgICB7IHJldHVybiAkdGhpcy0+YWxsb3dfYW1wZXJzYW5kOyB9CgkJZnVuY3Rpb24gU2V0VGFnTWFya2VyKCRtYXJrZXIgPSAnWycpIHsgJHRoaXMtPnRhZ19tYXJrZXIgPSAkbWFya2VyOyB9CgkJZnVuY3Rpb24gR2V0VGFnTWFya2VyKCkgICAgICAgIHsgcmV0dXJuICR0aGlzLT50YWdfbWFya2VyOyB9CgoJCWZ1bmN0aW9uIFNldElnbm9yZU5ld2xpbmVzKCRpZ25vcmUgPSB0cnVlKSB7ICR0aGlzLT5pZ25vcmVfbmV3bGluZXMgPSAkaWdub3JlOyB9CgkJZnVuY3Rpb24gR2V0SWdub3JlTmV3bGluZXMoKSAgIHsgcmV0dXJuICR0aGlzLT5pZ25vcmVfbmV3bGluZXM7IH0KCgkJZnVuY3Rpb24gU2V0TGltaXQoJGxpbWl0ID0gMCkgIHsgJHRoaXMtPm91dHB1dF9saW1pdCA9ICRsaW1pdDsgfQoJCWZ1bmN0aW9uIEdldExpbWl0KCkgICAgICAgICAgICB7IHJldHVybiAkdGhpcy0+b3V0cHV0X2xpbWl0OyB9CgkJZnVuY3Rpb24gU2V0TGltaXRUYWlsKCR0YWlsID0gIi4uLiIpIHsgJHRoaXMtPmxpbWl0X3RhaWwgPSAkdGFpbDsgfQoJCWZ1bmN0aW9uIEdldExpbWl0VGFpbCgpICAgICAgICB7IHJldHVybiAkdGhpcy0+bGltaXRfdGFpbDsgfQoJCWZ1bmN0aW9uIFNldExpbWl0UHJlY2lzaW9uKCRwcmVjID0gMC4xNSkgeyAkdGhpcy0+bGltaXRfcHJlY2lzaW9uID0gJHByZWM7IH0KCQlmdW5jdGlvbiBHZXRMaW1pdFByZWNpc2lvbigpICAgeyByZXR1cm4gJHRoaXMtPmxpbWl0X3ByZWNpc2lvbjsgfQoJCWZ1bmN0aW9uIFdhc0xpbWl0ZWQoKSAgICAgICAgICB7IHJldHVybiAkdGhpcy0+d2FzX2xpbWl0ZWQ7IH0KCgkJZnVuY3Rpb24gU2V0UGxhaW5Nb2RlKCRlbmFibGUgPSB0cnVlKSB7ICR0aGlzLT5wbGFpbl9tb2RlID0gJGVuYWJsZTsgfQoJCWZ1bmN0aW9uIEdldFBsYWluTW9kZSgpICAgICAgICB7IHJldHVybiAkdGhpcy0+cGxhaW5fbW9kZTsgfQoKCQlmdW5jdGlvbiBTZXREZXRlY3RVUkxzKCRlbmFibGUgPSB0cnVlKSB7ICR0aGlzLT5kZXRlY3RfdXJscyA9ICRlbmFibGU7IH0KCQlmdW5jdGlvbiBHZXREZXRlY3RVUkxzKCkgICAgICAgeyByZXR1cm4gJHRoaXMtPmRldGVjdF91cmxzOyB9CgkJZnVuY3Rpb24gU2V0VVJMUGF0dGVybigkcGF0dGVybikgeyAkdGhpcy0+dXJsX3BhdHRlcm4gPSAkcGF0dGVybjsgfQoJCWZ1bmN0aW9uIEdldFVSTFBhdHRlcm4oKSAgICAgICB7IHJldHVybiAkdGhpcy0+dXJsX3BhdHRlcm47IH0KCgkJZnVuY3Rpb24gU2V0VVJMVGFyZ2V0YWJsZSgkZW5hYmxlKSB7ICR0aGlzLT51cmxfdGFyZ2V0YWJsZSA9ICRlbmFibGU7IH0KCQlmdW5jdGlvbiBHZXRVUkxUYXJnZXRhYmxlKCkgICAgeyByZXR1cm4gJHRoaXMtPnVybF90YXJnZXRhYmxlOyB9CgoJCWZ1bmN0aW9uIFNldFVSTFRhcmdldCgkdGFyZ2V0KSB7ICR0aGlzLT51cmxfdGFyZ2V0ID0gJHRhcmdldDsgfQoJCWZ1bmN0aW9uIEdldFVSTFRhcmdldCgpICAgICAgICB7IHJldHVybiAkdGhpcy0+dXJsX3RhcmdldDsgfQoKCQkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkJLy8gUnVsZS1tYW5hZ2VtZW50OiAgWW91IGNhbiBhZGQgeW91ciBvd24gY3VzdG9tIHRhZyBydWxlcywgb3IgdXNlIHRoZSBkZWZhdWx0cy4KCQkvLyBUaGVzZSBhcmUgYmFzaWNhbGx5IGdldHRlci9zZXR0ZXIgZnVuY3Rpb25zIHRoYXQgZXhpc3QgZm9yIGNvbnZlbmllbmNlLgoJCQoJCWZ1bmN0aW9uIEFkZFJ1bGUoJG5hbWUsICRydWxlKSB7ICR0aGlzLT50YWdfcnVsZXNbJG5hbWVdID0gJHJ1bGU7IH0KCQlmdW5jdGlvbiBSZW1vdmVSdWxlKCRuYW1lKSAgICAgeyB1bnNldCgkdGhpcy0+dGFnX3J1bGVzWyRuYW1lXSk7IH0KCQlmdW5jdGlvbiBHZXRSdWxlKCRuYW1lKSAgICAgICAgeyByZXR1cm4gaXNzZXQoJHRoaXMtPnRhZ19ydWxlc1skbmFtZV0pCgkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICR0aGlzLT50YWdfcnVsZXNbJG5hbWVdIDogZmFsc2U7IH0KCQlmdW5jdGlvbiBDbGVhclJ1bGVzKCkgICAgICAgICAgeyAkdGhpcy0+dGFnX3J1bGVzID0gQXJyYXkoKTsgfQoJCWZ1bmN0aW9uIEdldERlZmF1bHRSdWxlKCRuYW1lKSB7IHJldHVybiBpc3NldCgkdGhpcy0+ZGVmYXVsdHMtPmRlZmF1bHRfdGFnX3J1bGVzWyRuYW1lXSkKCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJHRoaXMtPmRlZmF1bHRzLT5kZWZhdWx0X3RhZ19ydWxlc1skbmFtZV0gOiBmYWxzZTsgfQoJCWZ1bmN0aW9uIFNldERlZmF1bHRSdWxlKCRuYW1lKSB7IGlmIChpc3NldCgkdGhpcy0+ZGVmYXVsdHMtPmRlZmF1bHRfdGFnX3J1bGVzWyRuYW1lXSkpCgkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPkFkZFJ1bGUoJG5hbWUsICR0aGlzLT5kZWZhdWx0cy0+ZGVmYXVsdF90YWdfcnVsZXNbJG5hbWVdKTsKCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlICR0aGlzLT5SZW1vdmVSdWxlKCRuYW1lKTsgfQoJCWZ1bmN0aW9uIEdldERlZmF1bHRSdWxlcygpICAgICB7IHJldHVybiAkdGhpcy0+ZGVmYXVsdHMtPmRlZmF1bHRfdGFnX3J1bGVzOyB9CgkJZnVuY3Rpb24gU2V0RGVmYXVsdFJ1bGVzKCkgICAgIHsgJHRoaXMtPnRhZ19ydWxlcyA9ICR0aGlzLT5kZWZhdWx0cy0+ZGVmYXVsdF90YWdfcnVsZXM7IH0KCgkJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJCS8vIEhhbmRsaW5nIGZvciBbW3dpa2ldXSBhbmQgW1t3aWtpfFdpa2ldXSBsaW5rcyBhbmQgb3RoZXIgcmVwbGFjZWQgaXRlbXMuCgkJLy8gVGhlc2UgYXJlIGJhc2ljYWxseSBnZXR0ZXIvc2V0dGVyIGZ1bmN0aW9ucyB0aGF0IGV4aXN0IGZvciBjb252ZW5pZW5jZS4KCQkKCQlmdW5jdGlvbiBTZXRXaWtpVVJMKCR1cmwpICAgICAgeyAkdGhpcy0+d2lraV91cmwgPSAkdXJsOyB9CgkJZnVuY3Rpb24gR2V0V2lraVVSTCgkdXJsKSAgICAgIHsgcmV0dXJuICR0aGlzLT53aWtpX3VybDsgfQoJCWZ1bmN0aW9uIEdldERlZmF1bHRXaWtpVVJMKCkgICB7IHJldHVybiAnLz9wYWdlPSc7IH0KCQkKCQlmdW5jdGlvbiBTZXRMb2NhbEltZ0RpcigkcGF0aCkgeyAkdGhpcy0+bG9jYWxfaW1nX2RpciA9ICRwYXRoOyB9CgkJZnVuY3Rpb24gR2V0TG9jYWxJbWdEaXIoKSAgICAgIHsgcmV0dXJuICR0aGlzLT5sb2NhbF9pbWdfZGlyOyB9CgkJZnVuY3Rpb24gR2V0RGVmYXVsdExvY2FsSW1nRGlyKCkgeyByZXR1cm4gImltZyI7IH0KCQlmdW5jdGlvbiBTZXRMb2NhbEltZ1VSTCgkcGF0aCkgeyAkdGhpcy0+bG9jYWxfaW1nX3VybCA9ICRwYXRoOyB9CgkJZnVuY3Rpb24gR2V0TG9jYWxJbWdVUkwoKSAgICAgIHsgcmV0dXJuICR0aGlzLT5sb2NhbF9pbWdfdXJsOyB9CgkJZnVuY3Rpb24gR2V0RGVmYXVsdExvY2FsSW1nVVJMKCkgeyByZXR1cm4gImltZyI7IH0KCgkJZnVuY3Rpb24gU2V0UnVsZUhUTUwoJGh0bWwpICAgIHsgJHRoaXMtPnJ1bGVfaHRtbCA9ICRodG1sOyB9CgkJZnVuY3Rpb24gR2V0UnVsZUhUTUwoKSAgICAgICAgIHsgcmV0dXJuICR0aGlzLT5ydWxlX2h0bWw7IH0KCQlmdW5jdGlvbiBHZXREZWZhdWx0UnVsZUhUTUwoKSAgeyByZXR1cm4gIlxuPGhyIGNsYXNzPVwiYmJjb2RlX3J1bGVcIiAvPlxuIjsgfQoKCQkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkJLy8gU21pbGV5IG1hbmFnZW1lbnQuICBZb3UgY2FuIHVzZSB0aGUgZGVmYXVsdCBzbWlsZXlzLCBvciBhZGQgeW91ciBvd24uCgkJLy8gVGhlc2UgYXJlICptb3N0bHkqIGdldHRlci9zZXR0ZXIgZnVuY3Rpb25zLCBidXQgdGhleSBhbHNvIGFmZmVjdCB0aGUKCQkvLyBjYWNoaW5nIG9mIHRoZSBzbWlsZXktcHJvY2Vzc2luZyBydWxlcy4KCgkJZnVuY3Rpb24gQWRkU21pbGV5KCRjb2RlLCAkaW1hZ2UpIHsgJHRoaXMtPnNtaWxleXNbJGNvZGVdID0gJGltYWdlOyAkdGhpcy0+c21pbGV5X3JlZ2V4ID0gZmFsc2U7IH0KCQlmdW5jdGlvbiBSZW1vdmVTbWlsZXkoJGNvZGUpICAgICAgeyB1bnNldCgkdGhpcy0+c21pbGV5c1skY29kZV0pOyAkdGhpcy0+c21pbGV5X3JlZ2V4ID0gZmFsc2U7IH0KCQlmdW5jdGlvbiBHZXRTbWlsZXkoJGNvZGUpICAgICAgICAgeyByZXR1cm4gaXNzZXQoJHRoaXMtPnNtaWxleXNbJGNvZGVdKQoJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAkdGhpcy0+c21pbGV5c1skY29kZV0gOiBmYWxzZTsgfQoJCWZ1bmN0aW9uIENsZWFyU21pbGV5cygpICAgICAgICAgICB7ICR0aGlzLT5zbWlsZXlzID0gQXJyYXkoKTsgJHRoaXMtPnNtaWxleV9yZWdleCA9IGZhbHNlOyB9CgoJCWZ1bmN0aW9uIEdldERlZmF1bHRTbWlsZXkoJGNvZGUpICB7IHJldHVybiBpc3NldCgkdGhpcy0+ZGVmYXVsdHMtPmRlZmF1bHRfc21pbGV5c1skY29kZV0pCgkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICR0aGlzLT5kZWZhdWx0cy0+ZGVmYXVsdF9zbWlsZXlzWyRjb2RlXSA6IGZhbHNlOyB9CgkJZnVuY3Rpb24gU2V0RGVmYXVsdFNtaWxleSgkY29kZSkgIHsgJHRoaXMtPnNtaWxleXNbJGNvZGVdID0gQCR0aGlzLT5kZWZhdWx0cy0+ZGVmYXVsdF9zbWlsZXlzWyRjb2RlXTsKCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPnNtaWxleV9yZWdleCA9IGZhbHNlOyB9CgkJZnVuY3Rpb24gR2V0RGVmYXVsdFNtaWxleXMoKSAgICAgIHsgcmV0dXJuICR0aGlzLT5kZWZhdWx0cy0+ZGVmYXVsdF9zbWlsZXlzOyB9CgkJZnVuY3Rpb24gU2V0RGVmYXVsdFNtaWxleXMoKSAgICAgIHsgJHRoaXMtPnNtaWxleXMgPSAkdGhpcy0+ZGVmYXVsdHMtPmRlZmF1bHRfc21pbGV5czsKCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPnNtaWxleV9yZWdleCA9IGZhbHNlOyB9CgoJCWZ1bmN0aW9uIFNldFNtaWxleURpcigkcGF0aCkgICAgICB7ICR0aGlzLT5zbWlsZXlfZGlyID0gJHBhdGg7IH0KCQlmdW5jdGlvbiBHZXRTbWlsZXlEaXIoKSAgICAgICAgICAgeyByZXR1cm4gJHRoaXMtPnNtaWxleV9kaXI7IH0KCQlmdW5jdGlvbiBHZXREZWZhdWx0U21pbGV5RGlyKCkgICAgeyByZXR1cm4gInNtaWxleXMiOyB9CgkJZnVuY3Rpb24gU2V0U21pbGV5VVJMKCRwYXRoKSAgICAgIHsgJHRoaXMtPnNtaWxleV91cmwgPSAkcGF0aDsgfQoJCWZ1bmN0aW9uIEdldFNtaWxleVVSTCgpICAgICAgICAgICB7IHJldHVybiAkdGhpcy0+c21pbGV5X3VybDsgfQoJCWZ1bmN0aW9uIEdldERlZmF1bHRTbWlsZXlVUkwoKSAgICB7IHJldHVybiAic21pbGV5cyI7IH0KCgkJZnVuY3Rpb24gU2V0RW5hYmxlU21pbGV5cygkZW5hYmxlID0gdHJ1ZSkgeyAkdGhpcy0+ZW5hYmxlX3NtaWxleXMgPSAkZW5hYmxlOyB9CgkJZnVuY3Rpb24gR2V0RW5hYmxlU21pbGV5cygpICAgICAgIHsgcmV0dXJuICR0aGlzLT5lbmFibGVfc21pbGV5czsgfQoKCQkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkJLy8gIFNtaWxleSwgVVJMLCBhbmQgSFRNTC1jb252ZXJzaW9uIHN1cHBvcnQgcm91dGluZXMuCgoJCS8vIExpa2UgUEhQJ3MgYnVpbHQtaW4gbmwyYnIsIGJ1dCB0aGlzIG9uZSBjYW4gY29udmVydCBXaW5kb3dzLCBVbip4LCBvciBNYWMKCQkvLyBuZXdsaW5lcyB0byBhIDxiciAvPiwgYW5kIHJlZ3VsYXJpemVzIHRoZSBvdXRwdXQgdG8ganVzdCB1c2UgVW4qeC1zdHlsZQoJCS8vIG5ld2xpbmVzIHRvIGJvb3QuCgkJZnVuY3Rpb24gbmwyYnIoJHN0cmluZykgewoJCQlyZXR1cm4gcHJlZ19yZXBsYWNlKCIvXFx4MEF8XFx4MER8XFx4MEFcXHgwRHxcXHgwRFxceDBBLyIsICI8YnIgLz5cbiIsICRzdHJpbmcpOwoJCX0KCgkJLy8gVGhpcyBmdW5jdGlvbiBjb21lcyBzdHJhaWdodCBmcm9tIHRoZSBQSFAgZG9jdW1lbnRhdGlvbiBvbiBodG1sX2VudGl0eV9kZWNvZGUsCgkJLy8gYW5kIHBlcmZvcm1zIGV4YWN0bHkgdGhlIHNhbWUgZnVuY3Rpb24uICBVbmxpa2UgaHRtbF9lbnRpdHlfZGVjb2RlLCBpdAoJCS8vIHdvcmtzIG9uIG9sZGVyIHZlcnNpb25zIG9mIFBIUCAocHJpb3IgdG8gNC4zLjApLgoJCWZ1bmN0aW9uIFVuSFRNTEVuY29kZSgkc3RyaW5nKSB7CgkJCS8vIFVzZSB0aGUgKGZhc3RlciEpIGJ1aWx0LWluIGlmIGl0J3MgYXZhaWxhYmxlLgoJCQlpZiAoZnVuY3Rpb25fZXhpc3RzKCJodG1sX2VudGl0eV9kZWNvZGUiKSkKCQkJCXJldHVybiBodG1sX2VudGl0eV9kZWNvZGUoJHN0cmluZyk7CgkJCQkKCQkJLy8gUmVwbGFjZSBudW1lcmljIGVudGl0aWVzLgoJCQkkc3RyaW5nID0gcHJlZ19yZXBsYWNlKCd+JiN4KFswLTlhLWZdKyk7fmVpJywgJ2NocihoZXhkZWMoIlxcMSIpKScsICRzdHJpbmcpOwoJCQkkc3RyaW5nID0gcHJlZ19yZXBsYWNlKCd+JiMoWzAtOV0rKTt+ZScsICdjaHIoIlxcMSIpJywgJHN0cmluZyk7CgkJCQoJCQkvLyBSZXBsYWNlIGxpdGVyYWwgZW50aXRpZXMuCgkJCSR0cmFuc190YmwgPSBnZXRfaHRtbF90cmFuc2xhdGlvbl90YWJsZShIVE1MX0VOVElUSUVTKTsKCQkJJHRyYW5zX3RibCA9IGFycmF5X2ZsaXAoJHRyYW5zX3RibCk7CgoJCQlyZXR1cm4gc3RydHIoJHN0cmluZywgJHRyYW5zX3RibCk7CgkJfQoKCQkvLyBUaGlzIHRha2VzIGFuIGFyYml0cmFyeSBzdHJpbmcgYW5kIG1ha2VzIGl0IGEgd2lraS1zYWZlIHN0cmluZzogIEl0IGNvbnZlcnRzCgkJLy8gYWxsIGNoYXJhY3RlcnMgdG8gYmUgd2l0aGluIFthLXpBLVowLTknIiwuOl8tXSBieSBjb252ZXJ0aW5nIGV2ZXJ5dGhpbmcgZWxzZSB0bwoJCS8vIF8gY2hhcmFjdGVycywgY29tcGFjdHMgbXVsdGlwbGUgXyBjaGFyYWN0ZXJzIHRvZ2V0aGVyLCBhbmQgdHJpbXMgaW5pdGlhbCBhbmQKCQkvLyB0cmFpbGluZyBfIGNoYXJhY3RlcnMuICBTbywgZm9yIGV4YW1wbGUsIFtbV2FzaGluZ3RvbiwgRC5DLl1dIHdvdWxkIGJlY29tZQoJCS8vICJXYXNoaW5ndG9uX0QuQy4iLCBzYWZlIHRvIHBhc3MgdGhyb3VnaCBhIFVSTCBvciBhbnl3aGVyZSBlbHNlLiAgQWxsIGNoYXJhY3RlcnMKCQkvLyBpbiB0aGUgZXh0ZW5kZWQtY2hhcmFjdGVyIHJhbmdlICgweDdGLTB4RkYpIHdpbGwgYmUgVVJMLWVuY29kZWQuCgkJZnVuY3Rpb24gV2lraWZ5KCRzdHJpbmcpIHsKCQkJcmV0dXJuIHJhd3VybGVuY29kZShzdHJfcmVwbGFjZSgiICIsICJfIiwKCQkJCXRyaW0ocHJlZ19yZXBsYWNlKCIvWyE/O0AjXCQlXFxeJio8Pj0rYH5cXHgwMC1cXHgyMF8tXSsvIiwgIiAiLCAkc3RyaW5nKSkpKTsKCQl9CgoJCS8vIFJldHVybnMgdHJ1ZSBpZiB0aGUgZ2l2ZW4gc3RyaW5nIGlzIGEgdmFsaWQgVVJMLiAgSWYgJGVtYWlsX3RvbyBpcyBmYWxzZSwKCQkvLyB0aGlzIGNoZWNrcyBmb3I6CgkJLy8KCQkvLyAgICBodHRwIDovLyBkb21haW4gWzpwb3J0XSBbL10gW2FueSBzaW5nbGUtbGluZSBzdHJpbmddCgkJLy8gICAgaHR0cHMgOi8vIGRvbWFpbiBbOnBvcnRdIFsvXSBbYW55IHNpbmdsZS1saW5lIHN0cmluZ10KCQkvLyAgICBmdHAgOi8vIGRvbWFpbiBbOnBvcnRdIFsvXSBbYW55IHNpbmdsZS1saW5lIHN0cmluZ10KCQkvLwoJCS8vIElmICRlbWFpbF90b28gaXMgdHJ1ZSAodGhlIGRlZmF1bHQpLCB0aGlzIGFsc28gYWxsb3dzIHRoZSBtYWlsdG8gcHJvdG9jb2w6CgkJLy8KCQkvLyAgICBtYWlsdG8gOiBuYW1lIEAgZG9tYWluCgkJLy8KCQlmdW5jdGlvbiBJc1ZhbGlkVVJMKCRzdHJpbmcsICRlbWFpbF90b28gPSB0cnVlKSB7CgkJCS8vIENoZWNrIGZvciBhbnl0aGluZyB0aGF0IHVzZXMgaHR0cCwgaHR0cHMsIG9yIGZ0cCwgd2l0aCB0aGUgZ2VuZXJhbAoJCQkvLyBzdHJ1Y3R1cmUgYmVpbmc6ICBwcm90b2NvbCA6Ly8gZG9tYWluIFs6cG9ydF0gWy9dIFthbnkgc2luZ2xlLWxpbmUgc3RyaW5nXQoJCQkvLyBGb3Igc2VjdXJpdHkgcmVhc29ucywgd2UgZGlzYWxsb3cgdXNlcm5hbWUvcGFzc3dvcmQgaW5jbHVzaW9uIGluIFVSTHMuCgkJCWlmIChwcmVnX21hdGNoKCIvXgoJCQkJKD86aHR0cHM/fGZ0cCk6XFwvXFwvCgkJCQkoPzoKCQkJCQkoPzpbYS16QS1aMC05XSg/OlthLXpBLVowLTktXSpbYS16QS1aMC05XSk/XFwuKSsKCQkJCQlbYS16QS1aMC05XQoJCQkJCSg/OlthLXpBLVowLTktXSpbYS16QS1aMC05XSk/CgkJCQl8CgkJCQkJXFxbCgkJCQkJKD86KD86MjVbMC01XXwyWzAtNF1bMC05XXxbMDFdP1swLTldWzAtOV0/KVxcLil7M30KCQkJCQkoPzoKCQkJCQkJMjVbMC01XXwyWzAtNF1bMC05XXxbMDFdP1swLTldWzAtOV0/fFthLXpBLVowLTktXSpbYS16QS1aMC05XToKCQkJCQkJKD86W1xceDAxLVxceDA4XFx4MEJcXHgwQ1xceDBFLVxceDFGXFx4MjEtXFx4NUFcXHg1My1cXHg3Rl0KCQkJCQkJCXxcXFxcW1xceDAxLVxceDA5XFx4MEJcXHgwQ1xceDBFLVxceDdGXSkrCgkJCQkJKQoJCQkJCVxcXQoJCQkJKQoJCQkJKD86OlswLTldezEsNX0pPwoJCQkJKD86W1xcL1xcP1xcI11bXlxcblxccl0qKT8KCQkJCSQvRHgiLCAkc3RyaW5nKSkgcmV0dXJuIHRydWU7CgoJCQkvLyBDaGVjayBmb3IgYW55dGhpbmcgdGhhdCBkb2VzICpub3QqIGhhdmUgYSBjb2xvbiBpbiBpdCBiZWZvcmUgdGhlIGZpcnN0CgkJCS8vIHNsYXNoIG9yIHF1ZXN0aW9uIG1hcmsgb3IgIzsgdGhhdCBpbmRpY2F0ZXMgYSBsb2NhbCBmaWxlIHJlbGF0aXZlIHRvIHVzLgoJCQlpZiAocHJlZ19tYXRjaCgiL15bXjpdKyhbXFwvXFxcXD8jXVteXFxyXFxuXSopPyQvRCIsICRzdHJpbmcpKQoJCQkJcmV0dXJuIHRydWU7CgoJCQkvLyBNYXRjaCBtYWlsIGFkZHJlc3Nlcy4KCQkJaWYgKCRlbWFpbF90b28pCgkJCQlpZiAoc3Vic3RyKCRzdHJpbmcsIDAsIDcpID09ICJtYWlsdG86IikKCQkJCQlyZXR1cm4gJHRoaXMtPklzVmFsaWRFbWFpbChzdWJzdHIoJHN0cmluZywgNykpOwoJCQkJCgkJCS8vIFJlamVjdCBhbGwgb3RoZXIgcHJvdG9jb2xzLgoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJCQoJCS8vIFJldHVybnMgdHJ1ZSBpZiB0aGUgZ2l2ZW4gc3RyaW5nIGlzIGEgdmFsaWQgZS1tYWlsIGFkZHJlc3MuICBUaGlzIGFsbG93cwoJCS8vIGV2ZXJ5dGhpbmcgdGhhdCBSRkM4MjEgYWxsb3dzLCBpbmNsdWRpbmcgZS1tYWlsIGFkZHJlc3NlcyB0aGF0IG1ha2Ugbm8gc2Vuc2UuCgkJZnVuY3Rpb24gSXNWYWxpZEVtYWlsKCRzdHJpbmcpIHsKCQkJJHZhbGlkYXRvciA9IG5ldyBCQkNvZGVFbWFpbEFkZHJlc3NWYWxpZGF0b3I7CgkJCXJldHVybiAkdmFsaWRhdG9yLT5jaGVja19lbWFpbF9hZGRyZXNzKCRzdHJpbmcpOwoJCS8qCgkJCXJldHVybiBwcmVnX21hdGNoKCIvXgoJCQkJKD86CgkJCQkJW2EtejAtOVxcIVxcI1xcXCRcXCVcXCZcXCdcXCpcXCtcXC89XFw/XFxeX2BcXHtcXHxcXH1+LV0rCgkJCQkJKD86XC5bYS16MC05XFwhXFwjXFxcJFxcJVxcJlxcJ1xcKlxcK1xcLz1cXD9cXF5fYFxce1xcfFxcfX4tXSspKgoJCQkJfAoJCQkJCVwiKD86W1xceDAxLVxceDA4XFx4MEJcXHgwQ1xceDBFLVxceDFGXFx4MjFcXHgyMy1cXHg1QlxceDVELVxceDdGXQoJCQkJCQl8XFxcXFtcXHgwMS1cXHgwOVxceDBCXFx4MENcXHgwRS1cXHg3Rl0pKlwiCgkJCQkpCgkJCQlACgkJCQkoPzoKCQkJCQkoPzpbYS16MC05XSg/OlthLXowLTktXSpbYS16MC05XSk/XC4pKwoJCQkJCVthLXowLTldCgkJCQkJKD86W2EtejAtOS1dKlthLXowLTldKT8KCQkJCXwKCQkJCQlcXFsKCQkJCQkoPzooPzoyNVswLTVdfDJbMC00XVswLTldfFswMV0/WzAtOV1bMC05XT8pXFwuKXszfQoJCQkJCSg/OgoJCQkJCQkyNVswLTVdfDJbMC00XVswLTldfFswMV0/WzAtOV1bMC05XT98W2EtejAtOS1dKlthLXowLTldOgoJCQkJCQkoPzpbXFx4MDEtXFx4MDhcXHgwQlxceDBDXFx4MEUtXFx4MUZcXHgyMS1cXHg1QVxceDUzLVxceDdGXQoJCQkJCQkJfFxcXFxbXFx4MDEtXFx4MDlcXHgwQlxceDBDXFx4MEUtXFx4N0ZdKSsKCQkJCQkpCgkJCQkJXFxdCgkJCQkpCgkJCQkkL0R4IiwgJHN0cmluZyk7CgkJKi8KCQl9CgoJCS8vIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byB3cmFwIGFyb3VuZCBjYWxscyB0byBodG1sc3BlY2lhbGNoYXJzKCkgZm9yCgkJLy8gcGxhaW4gdGV4dCBzbyB0aGF0IHlvdSBjYW4gYWRkIHlvdXIgb3duIHRleHQtZXZhbHVhdGlvbiBjb2RlIGlmIHlvdSB3YW50LgoJCS8vIEZvciBleGFtcGxlLCB5b3UgbWlnaHQgd2FudCB0byBtYWtlICpmb28qIHR1cm4gaW50byA8Yj5mb288L2I+LCBvcgoJCS8vIHNvbWV0aGluZyBsaWtlIHRoYXQuICBUaGUgZGVmYXVsdCBiZWhhdmlvciBpcyBqdXN0IHRvIGNhbGwgaHRtbHNwZWNpYWxjaGFycygpCgkJLy8gYW5kIGJlIGRvbmUgd2l0aCBpdCwgYnV0IGlmIHlvdSBpbmhlcml0IGFuZCBvdmVycmlkZSB0aGlzIGZ1bmN0aW9uLCB5b3UKCQkvLyBjYW4gZG8gcHJldHR5IG11Y2ggYW55dGhpbmcgeW91IHdhbnQuCgkJLy8KCQkvLyBOb3RlIHRoYXQgaHRtbHNwZWNpYWxjaGFycygpIGlzIHN0aWxsIHVzZWQgZGlyZWN0bHkgZm9yIGRvaW5nIHRoaW5ncyBsaWtlCgkJLy8gY2xlYW5pbmcgdXAgVVJMcyBpbiB0YWdzOyB0aGlzIGZ1bmN0aW9uIGlzIGFwcGxpZWQgdG8gKnBsYWluKiAqdGV4dCogKm9ubHkqLgoJCWZ1bmN0aW9uIEhUTUxFbmNvZGUoJHN0cmluZykgewoJCQlpZiAoISR0aGlzLT5hbGxvd19hbXBlcnNhbmQpCgkJCQlyZXR1cm4gaHRtbHNwZWNpYWxjaGFycygkc3RyaW5nKTsKCQkJZWxzZSByZXR1cm4gc3RyX3JlcGxhY2UoQXJyYXkoJzwnLCAnPicsICciJyksCgkJCQkJQXJyYXkoJyZsdDsnLCAnJmd0OycsICcmcXVvdDsnKSwgJHN0cmluZyk7CgkJfQoKCQkvLyBHbyB0aHJvdWdoIGEgc3RyaW5nIGNvbnRhaW5pbmcgcGxhaW4gdGV4dCBhbmQgZG8gdGhyZWUgdGhpbmdzIG9uIGl0OgoJCS8vIFJlcGxhY2UgPCBhbmQgPiBhbmQgJiBhbmQgIiB3aXRoIEhUTUwtc2FmZSBlcXVpdmFsZW50cywgYW5kIHJlcGxhY2UKCQkvLyBzbWlsZXlzIGxpa2UgOi0pIHdpdGggPGltZyAvPiB0YWdzLCBhbmQgcmVwbGFjZSBhbnkgZW1iZWRkZWQgVVJMcwoJCS8vIHdpdGggPGEgaHJlZj0uLi4+Li4uPC9hPiBsaW5rcy4KCQlmdW5jdGlvbiBGaXh1cE91dHB1dCgkc3RyaW5nKSB7CgkJCWdsb2JhbCAkQkJDb2RlX1Byb2ZpbGVyOwoJCQkkQkJDb2RlX1Byb2ZpbGVyLT5CZWdpbignRml4dXBPdXRwdXQnKTsKCgkJCWlmICgkdGhpcy0+ZGVidWcpCgkJCQlwcmludCAiPGI+Rml4dXBPdXRwdXQ6PC9iPiBpbnB1dDogPHR0PiIgLiBodG1sc3BlY2lhbGNoYXJzKCRzdHJpbmcpIC4gIjwvdHQ+PGJyIC8+XG4iOwoKCQkJaWYgKCEkdGhpcy0+ZGV0ZWN0X3VybHMpIHsKCQkJCS8vIEVhc3kgY2FzZTogIE5vIFVSTC1kZWNvZGluZywgc28gZG9uJ3QgdGFrZSB0aGUgdGltZSB0byBkbyBpdC4KCQkJCSRCQkNvZGVfUHJvZmlsZXItPkVuZCgnRml4dXBPdXRwdXQnKTsKCQkJCSRvdXRwdXQgPSAkdGhpcy0+SW50ZXJuYWxfUHJvY2Vzc1NtaWxleXMoJHN0cmluZyk7CgkJCQkkQkJDb2RlX1Byb2ZpbGVyLT5CZWdpbignRml4dXBPdXRwdXQnKTsKCQkJfQoJCQllbHNlIHsKCQkJCS8vIEV4dHJhY3Qgb3V0IGFueSBlbWJlZGRlZCBVUkxzLCBhbmQgdGhlbiBwcm9jZXNzIHNtaWxleXMgYW5kIHN1Y2ggb24KCQkJCS8vIGFueSB0ZXh0IGluIGJldHdlZW4gdGhlbS4gIFRoaXMgbmVjZXNzYXJpbHkgbWVhbnMgdGhhdCBVUkxzIGdldAoJCQkJLy8gc2xpZ2h0bHkgaGlnaGVyIHByaW9yaXR5IHRoYW4gc21pbGV5cyBkbywgYWx0aG91Z2ggdGhlcmUgcmVhbGx5CgkJCQkvLyBzaG91bGRuJ3QgYmUgYW55IG92ZXJsYXAgaWYgdGhlIHVzZXIncyBjaG9pY2VzIG9mIHNtaWxleXMgYXJlIGF0CgkJCQkvLyBsZWFzdCByZWFzb25hYmx5IGludGVsbGlnZW50LiAgKEZvciBleGFtcGxlLCBkZWNsYXJpbmcgImZvby5jb20iCgkJCQkvLyBvciAiOmh0dHA6IiB0byBiZSBzbWlsZXlzIHdpbGwgcHJvYmFibHkgbm90IHdvcmssIHNpbmNlIHRoZSBVUkwgZGVjb2RlcgoJCQkJLy8gd2lsbCBsaWtlbHkgY2FwdHVyZSB0aG9zZSBiZWZvcmUgdGhlIHNtaWxleSBkZWNvZGVyIGV2ZXIgaGFzIGEgY2hhbmNlCgkJCQkvLyBhdCB0aGVtLiAgQnV0IHRoZW4geW91IGRpZG4ndCB3YW50IGEgc21pbGV5IG5hbWVkICJmb28uY29tIiBhbnl3YXksCgkJCQkvLyBkaWQgeW91PykKCQkJCSRjaHVua3MgPSAkdGhpcy0+SW50ZXJuYWxfQXV0b0RldGVjdFVSTHMoJHN0cmluZyk7CgkJCQkkb3V0cHV0ID0gQXJyYXkoKTsKCQkJCWlmIChjb3VudCgkY2h1bmtzKSkgewoJCQkJCSRpc19hX3VybCA9IGZhbHNlOwoJCQkJCWZvcmVhY2ggKCRjaHVua3MgYXMgJGluZGV4ID0+ICRjaHVuaykgewoJCQkJCQlpZiAoISRpc19hX3VybCkgewoJCQkJCQkJJEJCQ29kZV9Qcm9maWxlci0+RW5kKCdGaXh1cE91dHB1dCcpOwoJCQkJCQkJJGNodW5rID0gJHRoaXMtPkludGVybmFsX1Byb2Nlc3NTbWlsZXlzKCRjaHVuayk7CgkJCQkJCQkkQkJDb2RlX1Byb2ZpbGVyLT5CZWdpbignRml4dXBPdXRwdXQnKTsKCQkJCQkJfQoJCQkJCQkkb3V0cHV0W10gPSAkY2h1bms7CgkJCQkJCSRpc19hX3VybCA9ICEkaXNfYV91cmw7CgkJCQkJfQoJCQkJfQoJCQkJJG91dHB1dCA9IGltcGxvZGUoIiIsICRvdXRwdXQpOwoJCQl9CgoJCQlpZiAoJHRoaXMtPmRlYnVnKQoJCQkJcHJpbnQgIjxiPkZpeHVwT3V0cHV0OjwvYj4gb3V0cHV0OiA8dHQ+IiAuIGh0bWxzcGVjaWFsY2hhcnMoJG91dHB1dCkgLiAiPC90dD48YnIgLz5cbiI7CgoJCQkkQkJDb2RlX1Byb2ZpbGVyLT5FbmQoJ0ZpeHVwT3V0cHV0Jyk7CgoJCQlyZXR1cm4gJG91dHB1dDsKCQl9CgoJCS8vIEdvIHRocm91Z2ggYSBzdHJpbmcgY29udGFpbmluZyBwbGFpbiB0ZXh0IGFuZCBkbyB0d28gdGhpbmdzIG9uIGl0OgoJCS8vIFJlcGxhY2UgPCBhbmQgPiBhbmQgJiBhbmQgIiB3aXRoIEhUTUwtc2FmZSBlcXVpdmFsZW50cywgYW5kIHJlcGxhY2UKCQkvLyBzbWlsZXlzIGxpa2UgOi0pIHdpdGggPGltZyAvPiB0YWdzLgoJCWZ1bmN0aW9uIEludGVybmFsX1Byb2Nlc3NTbWlsZXlzKCRzdHJpbmcpIHsKCQkJZ2xvYmFsICRCQkNvZGVfUHJvZmlsZXI7CgkJCSRCQkNvZGVfUHJvZmlsZXItPkJlZ2luKCdQcm9jZXNzU21pbGV5czpvdGhlcicpOwoKCQkJaWYgKCEkdGhpcy0+ZW5hYmxlX3NtaWxleXMgfHwgJHRoaXMtPnBsYWluX21vZGUpIHsKCQkJCS8vIElmIHNtaWxleXMgYXJlIHR1cm5lZCBvZmYsIGRvbid0IGNvbnZlcnQgdGhlbS4KCQkJCSRvdXRwdXQgPSAkdGhpcy0+SFRNTEVuY29kZSgkc3RyaW5nKTsKCQkJfQoJCQllbHNlIHsKCQkJCS8vIElmIHRoZSBzbWlsZXlzIG5lZWQgdG8gYmUgY29tcHV0ZWQsIHByb2Nlc3MgdGhlbSBub3cuCgkJCQlpZiAoJHRoaXMtPnNtaWxleV9yZWdleCA9PT0gZmFsc2UpIHsKCQkJCQkkQkJDb2RlX1Byb2ZpbGVyLT5FbmQoJ1Byb2Nlc3NTbWlsZXlzOm90aGVyJyk7CgkJCQkJJEJCQ29kZV9Qcm9maWxlci0+QmVnaW4oJ1Byb2Nlc3NTbWlsZXlzOnJlYnVpbGQnKTsKCQkJCQkkdGhpcy0+SW50ZXJuYWxfUmVidWlsZFNtaWxleXMoKTsKCQkJCQkkQkJDb2RlX1Byb2ZpbGVyLT5FbmQoJ1Byb2Nlc3NTbWlsZXlzOnJlYnVpbGQnKTsKCQkJCQkkQkJDb2RlX1Byb2ZpbGVyLT5CZWdpbignUHJvY2Vzc1NtaWxleXM6b3RoZXInKTsKCQkJCX0KCQoJCQkJLy8gU3BsaXQgdGhlIHN0cmluZyBzbyB0aGF0IGl0IGNvbnNpc3RzIG9mIGFsdGVybmF0aW5nIHBhaXJzIG9mIHNtaWxleXMgYW5kIG5vbi1zbWlsZXlzLgoJCQkJJEJCQ29kZV9Qcm9maWxlci0+RW5kKCdQcm9jZXNzU21pbGV5czpvdGhlcicpOwoJCQkJJEJCQ29kZV9Qcm9maWxlci0+QmVnaW4oJ1Byb2Nlc3NTbWlsZXlzOnNwbGl0Jyk7CgkJCQkkdG9rZW5zID0gcHJlZ19zcGxpdCgkdGhpcy0+c21pbGV5X3JlZ2V4LCAkc3RyaW5nLCAtMSwgUFJFR19TUExJVF9ERUxJTV9DQVBUVVJFKTsKCQkJCSRCQkNvZGVfUHJvZmlsZXItPkVuZCgnUHJvY2Vzc1NtaWxleXM6c3BsaXQnKTsKCQkJCSRCQkNvZGVfUHJvZmlsZXItPkJlZ2luKCdQcm9jZXNzU21pbGV5czpvdGhlcicpOwoKCQkJCWlmIChjb3VudCgkdG9rZW5zKSA8PSAxKSB7CgkJCQkJLy8gU3BlY2lhbCAoY29tbW9uKSBjYXNlOiAgVGhpcyBza2lwcyB0aGUgc21pbGV5IGNvbnN0cnVjdG9yIGlmIHRoZXJlCgkJCQkJLy8gd2VyZSBubyBzbWlsZXlzIGZvdW5kLCB3aGljaCBpcyBtb3N0IG9mIHRoZSB0aW1lLgoJCQkJCSRvdXRwdXQgPSAkdGhpcy0+SFRNTEVuY29kZSgkc3RyaW5nKTsKCQkJCX0KCQkJCWVsc2UgewoJCQkJCSRvdXRwdXQgPSAiIjsKCQkJCQkkaXNfYV9zbWlsZXkgPSBmYWxzZTsKCQkJCQlmb3JlYWNoICgkdG9rZW5zIGFzICR0b2tlbikgewoJCQkJCQlpZiAoISRpc19hX3NtaWxleSkgewoJCQkJCQkJLy8gRm9yIG5vbi1zbWlsZXkgdGV4dCwgd2UganVzdCBwYXNzIGl0IHRocm91Z2ggaHRtbHNwZWNpYWxjaGFycy4KCQkJCQkJCSRvdXRwdXQgLj0gJHRoaXMtPkhUTUxFbmNvZGUoJHRva2VuKTsKCQkJCQkJfQoJCQkJCQllbHNlIHsKCQkJCQkJCWlmIChpc3NldCgkdGhpcy0+c21pbGV5X2luZm9bJHRva2VuXSkpIHsKCQkJCQkJCQkvLyBVc2UgY2FjaGVkIGltYWdlLXNpemUgaW5mb3JtYXRpb24sIGlmIHBvc3NpYmxlLgoJCQkJCQkJCSRpbmZvID0gJHRoaXMtPnNtaWxleV9pbmZvWyR0b2tlbl07CgkJCQkJCQl9CgkJCQkJCQllbHNlIHsKCQkJCQkJCQkkaW5mbyA9IEBnZXRpbWFnZXNpemUoJHRoaXMtPnNtaWxleV9kaXIgLiAnLycgLiAkdGhpcy0+c21pbGV5c1skdG9rZW5dKTsKCQkJCQkJCQkkdGhpcy0+c21pbGV5X2luZm9bJHRva2VuXSA9ICRpbmZvOwoJCQkJCQkJfQoJCQkJCQkJJGFsdCA9IGh0bWxzcGVjaWFsY2hhcnMoJHRva2VuKTsKCQkJCQkJCSRvdXRwdXQgLj0gIjxpbWcgc3JjPVwiIiAuIGh0bWxzcGVjaWFsY2hhcnMoJHRoaXMtPnNtaWxleV91cmwgLiAnLycgLiAkdGhpcy0+c21pbGV5c1skdG9rZW5dKQoJCQkJCQkJCS4gIlwiIHdpZHRoPVwieyRpbmZvWzBdfVwiIGhlaWdodD1cInskaW5mb1sxXX1cIiIKCQkJCQkJCQkuICIgYWx0PVwiJGFsdFwiIHRpdGxlPVwiJGFsdFwiIGNsYXNzPVwiYmJjb2RlX3NtaWxleVwiIC8+IjsKCQkJCQkJfQoJCQkJCQkkaXNfYV9zbWlsZXkgPSAhJGlzX2Ffc21pbGV5OwoJCQkJCX0KCQkJCX0KCQkJfQoKCQkJJEJCQ29kZV9Qcm9maWxlci0+RW5kKCdQcm9jZXNzU21pbGV5czpvdGhlcicpOwoKCQkJcmV0dXJuICRvdXRwdXQ7CgkJfQoKCQlmdW5jdGlvbiBJbnRlcm5hbF9SZWJ1aWxkU21pbGV5cygpIHsKCQkJLy8gQ29uc3RydWN0IHRoZSAkdGhpcy0+c21pbGV5X3JlZ2V4IHRoYXQgY2FuIHJlY29nbml6ZSBhbGwKCQkJLy8gb2YgdGhlIHNtaWxleXMuICBUaGlzIHdpbGwgc2F2ZSB1cyBhIGxvdCBvZiBjb21wdXRhdGlvbiB0aW1lCgkJCS8vIGluICR0aGlzLT5QYXJzZSgpIGlmIG11bHRpcGxlIEJCQ29kZSBzdHJpbmdzIGFyZSBiZWluZwoJCQkvLyBwcm9jZXNzZWQgYnkgdGhlIHNhbWUgc2NyaXB0LgoJCQkkcmVnZXggPSBBcnJheSgiLyg/PCFbXFx3XSkoIik7CgkJCSRmaXJzdCA9IHRydWU7CgkJCWZvcmVhY2ggKCR0aGlzLT5zbWlsZXlzIGFzICRjb2RlID0+ICRmaWxlbmFtZSkgewoJCQkJaWYgKCEkZmlyc3QpICRyZWdleFtdID0gInwiOwoJCQkJJHJlZ2V4W10gPSBwcmVnX3F1b3RlKCIkY29kZSIsICcvJyk7CgkJCQkkZmlyc3QgPSBmYWxzZTsKCQkJfQoJCQkkcmVnZXhbXSA9ICIpKD8hW1xcd10pLyI7CgkJCSR0aGlzLT5zbWlsZXlfcmVnZXggPSBpbXBsb2RlKCIiLCAkcmVnZXgpOwoKCQkJaWYgKCR0aGlzLT5kZWJ1ZykKCQkJCXByaW50ICI8Yj5JbnRlcm5hbF9SZWJ1aWxkU21pbGV5czo8L2I+IHJlZ2V4OiA8dHQ+IiAuIGh0bWxzcGVjaWFsY2hhcnMoJHJlZ2V4KSAuICI8L3R0PjxiciAvPlxuIjsKCQl9CgoJCS8vIFNlYXJjaCB0aHJvdWdoIHRoZSBpbnB1dCBmb3IgVVJMcywgb3IgdGhpbmdzIHRoYXQgYXJlIFVSTC1saWtlLiAgV2Ugc2VhcmNoCgkJLy8gZm9yIHNldmVyYWwgcG9zc2liaWxpdGllcyBoZXJlOgoJCS8vCgkJLy8gICBGaXJzdCBmb3JtYXQgKEhUVFAvSFRUUFMvRlRQKToKCQkvLyAgICAgIDwiaHR0cDoiIG9yICJodHRwczoiIG9yICJmdHA6Ij4gPG9wdGlvbmFsICIvLyI+IDxkb21haW4gb3IgSVB2NCBvciBJUHY2PiA8b3B0aW9uYWwgdGFpbD4KCQkvLwoJCS8vICAgU2Vjb25kIGZvcm1hdCAoaW1wbGljaXQgSFRUUCk6CgkJLy8gICAgICA8ZG9tYWluIG9yIElQdjQ+IDxvcHRpb25hbCB0YWlsPgoJCS8vCgkJLy8gICBUaGlyZCBmb3JtYXQgKGUtbWFpbCk6CgkJLy8gICAgICA8c2ltcGxlIHVzZXJuYW1lPiAiQCIgPGRvbWFpbiBvciBJUHY0PgoJCS8vCgkJLy8gSW4gc2hvcnQsIHdlIGxvb2sgZm9yIGRvbWFpbnMgYW5kIHByb3RvY29scywgYW5kIGlmIHdlIGZpbmQgdGhlbSwgd2UgY29uc3VtZSBhbnkgcGF0aHMKCQkvLyBvciBwYXJhbWV0ZXJzIGFmdGVyIHRoZW0sIHN0b3BwaW5nIGF0IHRoZSBmaXJzdCB3aGl0ZXNwYWNlLgoJCS8vCgkJLy8gV2UgdXNlIHRoZSBzYW1lIHNwbGl0LWFuZC1tYXRjaCB0ZWNobmlxdWUgdXNlZCBieSB0aGUgbGV4ZXIgYW5kIHRoZSBzbWlsZXkgcGFyc2VyLAoJCS8vIHNpbmNlIGl0J3MgdGhlIGZhc3Rlc3Qgd2F5IHRvIHBlcmZvcm0gdG9rZW5pemF0aW9uIGluIFBIUC4KCQkvLwoJCS8vIE9uY2Ugd2UgZmluZCB0aGUgVVJMLCB3ZSBjb252ZXJ0IGl0IGFjY29yZGluZyB0byB0aGUgcnVsZSBnaXZlbiBpbiAkdGhpcy0+dXJsX3BhdHRlcm4uCgkJLy8KCQkvLyBOb3RlIHRoYXQgdGhlIGlucHV0IHN0cmluZyBpcyBwbGFpbiB0ZXh0LCBub3QgSFRNTCBvciBCQkNvZGUuICBUaGUgcmV0dXJuIHZhbHVlCgkJLy8gbXVzdCBiZSBhbiBhcnJheSBvZiBhbHRlcm5hdGluZyBwYWlycyBvZiBwbGFpbiB0ZXh0IChldmVuIGluZGV4ZXMpIGFuZCBIVE1MIChvZGQgaW5kZXhlcykuCgkJZnVuY3Rpb24gSW50ZXJuYWxfQXV0b0RldGVjdFVSTHMoJHN0cmluZykgewoJCQlnbG9iYWwgJEJCQ29kZV9Qcm9maWxlcjsKCQkJJEJCQ29kZV9Qcm9maWxlci0+QmVnaW4oJ0F1dG9EZXRlY3RVUkxzJyk7CgoJCQkkb3V0cHV0ID0gcHJlZ19zcGxpdCgiLyggKD86CgkJCQkJKD86aHR0cHM/fGZ0cCkgOiBcXC8qCgkJCQkJKD86CgkJCQkJCSg/OiAoPzogW2EtekEtWjAtOS1dezIsfSBcXC4gKSsKCQkJCQkJCSg/OiBhcnBhIHwgY29tIHwgb3JnIHwgbmV0IHwgZWR1IHwgZ292IHwgbWlsIHwgaW50IHwgW2Etel17Mn0KCQkJCQkJCQl8IGFlcm8gfCBiaXogfCBjb29wIHwgaW5mbyB8IG11c2V1bSB8IG5hbWUgfCBwcm8KCQkJCQkJCQl8IGV4YW1wbGUgfCBpbnZhbGlkIHwgbG9jYWxob3N0IHwgdGVzdCB8IGxvY2FsIHwgb25pb24gfCBzd2lmdCApICkKCQkJCQkJfCAoPzogWzAtOV17MSwzfSBcXC4gWzAtOV17MSwzfSBcXC4gWzAtOV17MSwzfSBcXC4gWzAtOV17MSwzfSApCgkJCQkJCXwgKD86IFswLTlBLUZhLWY6XSsgOiBbMC05QS1GYS1mXXsxLDR9ICkKCQkJCQkpCgkJCQkJKD86IDogWzAtOV0rICk/CgkJCQkJKD8hIFthLXpBLVowLTkuOi1dICkKCQkJCQkoPzoKCQkJCQkJXFwvCgkJCQkJCVteJj8jXFwoXFwpXFxbXFxdXFx7XFx9PD5cXCdcXFwiXFx4MDAtXFx4MjBcXHg3Ri1cXHhGRl0qCgkJCQkJKT8KCQkJCQkoPzoKCQkJCQkJWz8jXQoJCQkJCQlbXlxcKFxcKVxcW1xcXVxce1xcfTw+XFwnXFxcIlxceDAwLVxceDIwXFx4N0YtXFx4RkZdKwoJCQkJCSk/CgkJCQkpIHwgKD86CgkJCQkJKD86CgkJCQkJCSg/OiAoPzogW2EtekEtWjAtOS1dezIsfSBcXC4gKSsKCQkJCQkJCSg/OiBhcnBhIHwgY29tIHwgb3JnIHwgbmV0IHwgZWR1IHwgZ292IHwgbWlsIHwgaW50IHwgW2Etel17Mn0KCQkJCQkJCQl8IGFlcm8gfCBiaXogfCBjb29wIHwgaW5mbyB8IG11c2V1bSB8IG5hbWUgfCBwcm8KCQkJCQkJCQl8IGV4YW1wbGUgfCBpbnZhbGlkIHwgbG9jYWxob3N0IHwgdGVzdCB8IGxvY2FsIHwgb25pb24gfCBzd2lmdCApICkKCQkJCQkJfCAoPzogWzAtOV17MSwzfSBcXC4gWzAtOV17MSwzfSBcXC4gWzAtOV17MSwzfSBcXC4gWzAtOV17MSwzfSApCgkJCQkJKQoJCQkJCSg/OiA6IFswLTldKyApPwoJCQkJCSg/ISBbYS16QS1aMC05LjotXSApCgkJCQkJKD86CgkJCQkJCVxcLwoJCQkJCQlbXiY/I1xcKFxcKVxcW1xcXVxce1xcfTw+XFwnXFxcIlxceDAwLVxceDIwXFx4N0YtXFx4RkZdKgoJCQkJCSk/CgkJCQkJKD86CgkJCQkJCVs/I10KCQkJCQkJW15cXChcXClcXFtcXF1cXHtcXH08PlxcJ1xcXCJcXHgwMC1cXHgyMFxceDdGLVxceEZGXSsKCQkJCQkpPwoJCQkJKSB8ICg/OgoJCQkJCVthLXpBLVowLTkuXy1dezIsfSBACgkJCQkJKD86CgkJCQkJCSg/OiAoPzogW2EtekEtWjAtOS1dezIsfSBcXC4gKSsKCQkJCQkJCSg/OiBhcnBhIHwgY29tIHwgb3JnIHwgbmV0IHwgZWR1IHwgZ292IHwgbWlsIHwgaW50IHwgW2Etel17Mn0KCQkJCQkJCQl8IGFlcm8gfCBiaXogfCBjb29wIHwgaW5mbyB8IG11c2V1bSB8IG5hbWUgfCBwcm8KCQkJCQkJCQl8IGV4YW1wbGUgfCBpbnZhbGlkIHwgbG9jYWxob3N0IHwgdGVzdCB8IGxvY2FsIHwgb25pb24gfCBzd2lmdCApICkKCQkJCQkJfCAoPzogWzAtOV17MSwzfSBcXC4gWzAtOV17MSwzfSBcXC4gWzAtOV17MSwzfSBcXC4gWzAtOV17MSwzfSApCgkJCQkJKQoJCQkJKSApL0R4IiwgJHN0cmluZywgLTEsIFBSRUdfU1BMSVRfREVMSU1fQ0FQVFVSRSk7CgoJCQlpZiAoY291bnQoJG91dHB1dCkgPiAxKSB7CgoJCQkJJGlzX2FfdXJsID0gZmFsc2U7CgkJCQlmb3JlYWNoICgkb3V0cHV0IGFzICRpbmRleCA9PiAkdG9rZW4pIHsKCQkJCQlpZiAoJGlzX2FfdXJsKSB7CgkJCQkJCS8vIERlY2lkZSB3aGV0aGVyIHdlIGhhdmUgYW4gZS1tYWlsIGFkZHJlc3Mgb3IgYSBzZXJ2ZXIgYWRkcmVzcy4KCQkJCQkJaWYgKHByZWdfbWF0Y2goIi9eW2EtekEtWjAtOS5fLV17Mix9QC8iLCAkdG9rZW4pKSB7CgkJCQkJCQkvLyBQbGFpbiBlLW1haWwgYWRkcmVzcy4KCQkJCQkJCSR1cmwgPSAibWFpbHRvOiIgLiAkdG9rZW47CgkJCQkJCX0KCQkJCQkJZWxzZSBpZiAocHJlZ19tYXRjaCgiL14oaHR0cHM/OnxmdHA6KVxcLyooW15cXC8mPyNdKylcXC8qKC4qKVwkLyIsICR0b2tlbiwgJG1hdGNoZXMpKSB7CgkJCQkJCQkvLyBQcm90b2NvbCBoYXMgYmVlbiBwcm92aWRlZCwgc28ganVzdCB1c2UgaXQgYXMtaXMgKGJ1dCBmaXgKCQkJCQkJCS8vIHVwIGFueSBmb3Jnb3R0ZW4gc2xhc2hlcykuCgkJCQkJCQkkdXJsID0gJG1hdGNoZXNbMV0gLiAnLycgLiAnLycgLiAkbWF0Y2hlc1syXSAuICIvIiAuICRtYXRjaGVzWzNdOwoJCQkJCQl9CgkJCQkJCWVsc2UgewoJCQkJCQkJLy8gUmF3IGRvbWFpbiBuYW1lLCBsaWtlICJ3d3cuZ29vZ2xlLmNvbSIsIHNvIGNvbnZlcnQgaXQgZm9yCgkJCQkJCQkvLyB1c2UgYXMgYW4gSFRUUCB3ZWIgYWRkcmVzcy4KCQkJCQkJCXByZWdfbWF0Y2goIi9eKFteXFwvJj8jXSspXFwvKiguKilcJC8iLCAkdG9rZW4sICRtYXRjaGVzKTsKCQkJCQkJCSR1cmwgPSAiaHR0cDovIiAuICIvIiAuICRtYXRjaGVzWzFdIC4gIi8iIC4gJG1hdGNoZXNbMl07CgkJCQkJCX0KCQkJCQkJCgkJCQkJCS8vIFdlIGhhdmUgYSBmdWxsLCBjb21wbGV0ZSwgYW5kIHByb3Blcmx5LWZvcm1hdHRlZCBVUkwsIHdpdGggcHJvdG9jb2wuCgkJCQkJCS8vIE5vdyB3ZSBuZWVkIHRvIGFwcGx5IHRoZSAkdGhpcy0+dXJsX3BhdHRlcm4gdGVtcGxhdGUgdG8gdHVybiBpdCBpbnRvIEhUTUwuCgkJCQkJCSRwYXJhbXMgPSBAcGFyc2VfdXJsKCR1cmwpOwoJCQkJCQlpZiAoIWlzX2FycmF5KCRwYXJhbXMpKSAkcGFyYW1zID0gQXJyYXkoKTsKCQkJCQkJJHBhcmFtc1sndXJsJ10gPSAkdXJsOwoJCQkJCQkkcGFyYW1zWydsaW5rJ10gPSAkdXJsOwoJCQkJCQkkcGFyYW1zWyd0ZXh0J10gPSAkdG9rZW47CgkJCQkJCSRvdXRwdXRbJGluZGV4XSA9ICR0aGlzLT5GaWxsVGVtcGxhdGUoJHRoaXMtPnVybF9wYXR0ZXJuLCAkcGFyYW1zKTsKCQkJCQl9CgkJCQkJCgkJCQkJJGlzX2FfdXJsID0gISRpc19hX3VybDsKCQkJCX0KCQkJfQoKCQkJJEJCQ29kZV9Qcm9maWxlci0+RW5kKCdBdXRvRGV0ZWN0VVJMcycpOwoKCQkJcmV0dXJuICRvdXRwdXQ7CgkJfQoKCQkvLyBGaWxsIGFuIEhUTUwgdGVtcGxhdGUgdXNpbmcgdmFyaWFibGUgaW5zZXJ0cywgd2hpY2ggbG9vayBsaWtlIHRoaXM6CgkJLy8gICAgeyR2YXJpYWJsZX0gICBvciAgIHskdmFyaWFibGUvZmxhZ3N9ICAgb3IgZXZlbiAgIHskbXlhcnJheS5nZW9yZ2UuZmF0aGVyL2ZsYWdzfQoJCS8vCgkJLy8gWW91IG1heSB1c2UgYW55IHZhcmlhYmxlIHByb3ZpZGVkIGluIHRoZSBwYXJhbWV0ZXIgYXJyYXk7IGFuZCB5b3UgbWF5IHVzZSB0aGUKCQkvLyBzcGVjaWFsIGRvdCAoLikgb3BlcmF0b3IgdG8gYWNjZXNzIG1lbWJlcnMgb2YgYXJyYXkgdmFyaWFibGVzIG9yIG9mIG9iamVjdAoJCS8vIHZhcmlhYmxlcy4KCQkvLwoJCS8vIFlvdSBtYXkgYWRkIGZvcm1hdHRpbmcgZmxhZ3MgdG8gdGhlIHZhcmlhYmxlIHRvIGNvbnRyb2wgaG93IHRoZSB0ZXh0IHBhcmFtZXRlcnMKCQkvLyBhcmUgY2xlYW5lZCB1cC4gIEZvciBleGFtcGxlLCB7JHZhcmlhYmxlL3V9IGNhdXNlcyB0aGUgdmFyaWFibGUgdG8gYmUgdXJsZW5jb2RlZCgpLgoJCS8vIFRoZSBhdmFpbGFibGUgZmxhZ3MgYXJlOgoJCS8vCgkJLy8gICB2IC0gVmVyYmF0aW0uICBEbyBub3QgYXBwbHkgYW55IGZvcm1hdHRpbmcgdG8gdGhlIHZhcmlhYmxlOyB1c2UgaXRzIGV4YWN0IHRleHQsCgkJLy8gICAgICAgIGhvd2V2ZXIgdGhlIHVzZXIgcHJvdmlkZWQgaXQuICBUaGlzIG92ZXJyaWRlcyBhbGwgb3RoZXIgZmxhZ3MuCgkJLy8KCQkvLyAgIGIgLSBBcHBseSBiYXNlbmFtZSgpLgoJCS8vICAgbiAtIEFwcGx5IG5sMmJyKCkuCgkJLy8gICB0IC0gVHJpbS4gIFRoaXMgY2F1c2VzIGFsbCBpbml0aWFsIGFuZCB0cmFpbGluZyB3aGl0ZXNwYWNlIHRvIGJlIHRyaW1tZWQgKHJlbW92ZWQpLgoJCS8vICAgdyAtIENsZWFuIHVwIHdoaXRlc3BhY2UuICBUaGlzIGNhdXNlcyBhbGwgbm9uLW5ld2xpbmUgd2hpdGVzcGFjZSwgc3VjaCBhcwoJCS8vICAgICAgICBjb250cm9sIGNvZGVzIGFuZCB0YWJzLCB0byBiZSBjb2xsYXBzZWQgaW50byBpbmRpdmlkdWFsIHNwYWNlIGNoYXJhY3RlcnMuCgkJLy8KCQkvLyAgIGUgLSBBcHBseSBIVE1MRW5jb2RlKCkuCgkJLy8gICBoIC0gQXBwbHkgaHRtbHNwZWNpYWxjaGFycygpLgoJCS8vICAgayAtIEFwcGx5IFdpa2lmeSgpLgoJCS8vICAgdSAtIEFwcGx5IHVybGVuY29kZSgpLgoJCS8vCgkJLy8gTm90ZSB0aGF0IG9ubHkgb25lIG9mIHRoZSBlLCBoLCBrLCBvciB1ICJmb3JtYXR0aW5nIGZsYWdzIiBtYXkgYmUgc3BlY2lmaWVkOwoJCS8vIHRoZXNlIGZsYWdzIGFyZSBtdXR1YWxseS1leGNsdXNpdmUuCgkJZnVuY3Rpb24gRmlsbFRlbXBsYXRlKCR0ZW1wbGF0ZSwgJGluc2VydF9hcnJheSwgJGRlZmF1bHRfYXJyYXkgPSBBcnJheSgpKSB7CgkJCSRwaWVjZXMgPSBwcmVnX3NwbGl0KCcvKFx7XCRbYS16QS1aMC05Xy46XC8tXStcfSkvJywgJHRlbXBsYXRlLAoJCQkJLTEsIFBSRUdfU1BMSVRfREVMSU1fQ0FQVFVSRSk7CgoJCQkvLyBTcGVjaWFsIChjb21tb24pIGhpZ2gtc3BlZWQgY2FzZTogIE5vIGluc2VydHMgZm91bmQgaW4gdGhlIHRlbXBsYXRlLgoJCQlpZiAoY291bnQoJHBpZWNlcykgPD0gMSkKCQkJCXJldHVybiAkdGVtcGxhdGU7CgoJCQkkcmVzdWx0ID0gQXJyYXkoKTsKCgkJCSRpc19hbl9pbnNlcnQgPSBmYWxzZTsKCQkJZm9yZWFjaCAoJHBpZWNlcyBhcyAkcGllY2UpIHsKCgkJCQlpZiAoISRpc19hbl9pbnNlcnQpIHsKCQkJCQlpZiAoJHRoaXMtPmRlYnVnKSB7CgkJCQkJCXByaW50ICI8Yj5Gb3JtYXRJbnNlcnRzOjwvYj4gYWRkIHRleHQ6IDx0dD4iCgkJCQkJCQkuIGh0bWxzcGVjaWFsY2hhcnMoJHBpZWNlKSAuICI8L3R0PjxiciAvPlxuIjsKCQkJCQl9CgkJCQkJJHJlc3VsdFtdID0gJHBpZWNlOwoJCQkJfQoJCQkJZWxzZSBpZiAoIXByZWdfbWF0Y2goJy9ce1wkKFthLXpBLVowLTlfOi1dKykoKD86XFwuW2EtekEtWjAtOV86LV0rKSopKD86XC8oW2EtekEtWjAtOV86LV0rKSk/XH0vJywgJHBpZWNlLCAkbWF0Y2hlcykpIHsKCQkJCQlpZiAoJHRoaXMtPmRlYnVnKSB7CgkJCQkJCXByaW50ICI8Yj5Gb3JtYXRJbnNlcnRzOjwvYj4gbm90IGFuIGluc2VydDogYWRkIGFzIHRleHQ6IDx0dD4iCgkJCQkJCQkuIGh0bWxzcGVjaWFsY2hhcnMoJHBpZWNlKSAuICI8L3R0PjxiciAvPlxuIjsKCQkJCQl9CgkJCQkJJHJlc3VsdFtdID0gJHBpZWNlOwoJCQkJfQoJCQkJZWxzZSB7CgkJCQkJLy8gV2UgaGF2ZSBhIHZhbGlkIHZhcmlhYmxlIG5hbWUsIHBvc3NpYmx5IHdpdGggYW4gaW5kZXggYW5kIHNvbWUgZmxhZ3MuCgoJCQkJCS8vIExvY2F0ZSB0aGUgcmVxdWVzdGVkIHZhcmlhYmxlIGluIHRoZSBpbnB1dCBwYXJhbWV0ZXJzLgoJCQkJCWlmIChpc3NldCgkaW5zZXJ0X2FycmF5WyRtYXRjaGVzWzFdXSkpCgkJCQkJCSR2YWx1ZSA9IEAkaW5zZXJ0X2FycmF5WyRtYXRjaGVzWzFdXTsKCQkJCQllbHNlICR2YWx1ZSA9IEAkZGVmYXVsdF9hcnJheVskbWF0Y2hlc1sxXV07CgoJCQkJCWlmIChzdHJsZW4oQCRtYXRjaGVzWzJdKSkgewoJCQkJCQkvLyBXZSBoYXZlIG9uZSBvciBtb3JlIGluZGV4ZXMsIHNvIGJyZWFrIHRoZW0gYXBhcnQgYW5kIGxvb2sgdXAgdGhlIHJlcXVlc3RlZCBkYXRhLgoJCQkJCQlmb3JlYWNoIChzcGxpdCgiLiIsIHN1YnN0cigkbWF0Y2hlc1syXSwgMSkpIGFzICRpbmRleCkgewoJCQkJCQkJaWYgKGlzX2FycmF5KCR2YWx1ZSkpCgkJCQkJCQkJJHZhbHVlID0gQCR2YWx1ZVskaW5kZXhdOwoJCQkJCQkJZWxzZSBpZiAoaXNfb2JqZWN0KCR2YWx1ZSkpIHsKCQkJCQkJCQkkdmFsdWUgPSAoYXJyYXkpJHZhbHVlOwoJCQkJCQkJCSR2YWx1ZSA9IEAkdmFsdWVbJGluZGV4XTsKCQkJCQkJCX0KCQkJCQkJCWVsc2UgJHZhbHVlID0gIiI7CgkJCQkJCX0KCQkJCQl9CgkJCQkJCgkJCQkJLy8gTWFrZSBzdXJlIHRoZSByZXN1bHRpbmcgdmFsdWUgaXMgYSBwcmludGFibGUgc3RyaW5nLgoJCQkJCXN3aXRjaCAoZ2V0dHlwZSgkdmFsdWUpKSB7CgkJCQkJY2FzZSAnYm9vbGVhbic6ICR2YWx1ZSA9ICR2YWx1ZSA/ICJ0cnVlIiA6ICJmYWxzZSI7IGJyZWFrOwoJCQkJCWNhc2UgJ2ludGVnZXInOiAkdmFsdWUgPSAoc3RyaW5nKSR2YWx1ZTsgYnJlYWs7CgkJCQkJY2FzZSAnZG91YmxlJzogJHZhbHVlID0gKHN0cmluZykkdmFsdWU7IGJyZWFrOwoJCQkJCWNhc2UgJ3N0cmluZyc6IGJyZWFrOwoJCQkJCWRlZmF1bHQ6ICR2YWx1ZSA9ICIiOyBicmVhazsKCQkJCQl9CgoJCQkJCS8vIFNlZSBpZiB0aGVyZSBhcmUgYW55IGZsYWdzLgoJCQkJCWlmIChzdHJsZW4oQCRtYXRjaGVzWzNdKSkKCQkJCQkJJGZsYWdzID0gYXJyYXlfZmxpcChzdHJfc3BsaXQoJG1hdGNoZXNbM10pKTsKCQkJCQllbHNlICRmbGFncyA9IEFycmF5KCk7CgkJCQkJCgkJCQkJLy8gSWYgdGhlcmUgYXJlIGZsYWdzLCBwcm9jZXNzIHRoZSB2YWx1ZSBhY2NvcmRpbmcgdG8gdGhlbS4KCQkJCQlpZiAoIWlzc2V0KCRmbGFnc1sndiddKSkgewoJCQkJCQlpZiAoaXNzZXQoJGZsYWdzWyd3J10pKQoJCQkJCQkJJHZhbHVlID0gcHJlZ19yZXBsYWNlKCIvW1xceDAwLVxceDA5XFx4MEItXHgwQ1x4MEUtXFx4MjBdKy8iLCAiICIsICR2YWx1ZSk7CgkJCQkJCWlmICAgICAgKGlzc2V0KCRmbGFnc1sndCddKSkgJHZhbHVlID0gdHJpbSgkdmFsdWUpOwoJCQkJCQlpZiAgICAgIChpc3NldCgkZmxhZ3NbJ2InXSkpICR2YWx1ZSA9IGJhc2VuYW1lKCR2YWx1ZSk7CgkJCQkJCWlmICAgICAgKGlzc2V0KCRmbGFnc1snZSddKSkgJHZhbHVlID0gJHRoaXMtPkhUTUxFbmNvZGUoJHZhbHVlKTsKCQkJCQkJZWxzZSBpZiAoaXNzZXQoJGZsYWdzWydrJ10pKSAkdmFsdWUgPSAkdGhpcy0+V2lraWZ5KCR2YWx1ZSk7CgkJCQkJCWVsc2UgaWYgKGlzc2V0KCRmbGFnc1snaCddKSkgJHZhbHVlID0gaHRtbHNwZWNpYWxjaGFycygkdmFsdWUpOwoJCQkJCQllbHNlIGlmIChpc3NldCgkZmxhZ3NbJ3UnXSkpICR2YWx1ZSA9IHVybGVuY29kZSgkdmFsdWUpOwoJCQkJCQlpZiAgICAgIChpc3NldCgkZmxhZ3NbJ24nXSkpICR2YWx1ZSA9ICR0aGlzLT5ubDJicigkdmFsdWUpOwoJCQkJCX0KCQkJCQkKCQkJCQlpZiAoJHRoaXMtPmRlYnVnKSB7CgkJCQkJCXByaW50ICI8Yj5Gb3JtYXRJbnNlcnRzOjwvYj4gYWRkIGluc2VydDogPHR0PiIgLiBodG1sc3BlY2lhbGNoYXJzKCRwaWVjZSkKCQkJCQkJCS4gIjwvdHQ+IC0tJmd0OyA8dHQ+IiAuIGh0bWxzcGVjaWFsY2hhcnMoJHZhbHVlKSAuICI8L3R0PjxiciAvPlxuIjsKCQkJCQl9CgkJCQkJCgkJCQkJLy8gQXBwZW5kIHRoZSB2YWx1ZSB0byB0aGUgb3V0cHV0LgoJCQkJCSRyZXN1bHRbXSA9ICR2YWx1ZTsKCQkJCX0KCQkJCQoJCQkJJGlzX2FuX2luc2VydCA9ICEkaXNfYW5faW5zZXJ0OwoJCQl9CgkJCQoJCQlyZXR1cm4gaW1wbG9kZSgiIiwgJHJlc3VsdCk7CgkJfQoKCQkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkJLy8gIFN0YWNrIGFuZCBvdXRwdXQtbWFuYWdlbWVudCAoaW50ZXJuYWwpLgoKCQkvLyBDb2xsZWN0IGEgc2VyaWVzIG9mIHRleHQgc3RyaW5ncyBmcm9tIGEgdG9rZW4gc3RhY2sgYW5kIHJldHVybiB0aGVtIGFzIGEKCQkvLyBzaW5nbGUgc3RyaW5nLiAgV2UgdXNlIG91dHB1dCBidWZmZXJpbmcgYmVjYXVzZSBpdCBzZWVtcyB0byBwcm9kdWNlIHNsaWdodGx5CgkJLy8gbW9yZSBlZmZpY2llbnQgc3RyaW5nIGNvbmNhdGVuYXRpb24uCgkJZnVuY3Rpb24gSW50ZXJuYWxfQ29sbGVjdFRleHQoJGFycmF5LCAkc3RhcnQgPSAwKSB7CgkJCWdsb2JhbCAkQkJDb2RlX1Byb2ZpbGVyOwoJCQkkQkJDb2RlX1Byb2ZpbGVyLT5CZWdpbignQ29sbGVjdFRleHQnKTsKCgkJCW9iX3N0YXJ0KCk7CgkJCWZvciAoJHN0YXJ0ID0gaW50dmFsKCRzdGFydCksICRlbmQgPSBjb3VudCgkYXJyYXkpOyAkc3RhcnQgPCAkZW5kOyAkc3RhcnQrKykKCQkJCXByaW50ICRhcnJheVskc3RhcnRdW0JCQ09ERV9TVEFDS19URVhUXTsKCQkJJG91dHB1dCA9IG9iX2dldF9jb250ZW50cygpOwoJCQlvYl9lbmRfY2xlYW4oKTsKCgkJCSRCQkNvZGVfUHJvZmlsZXItPkVuZCgnQ29sbGVjdFRleHQnKTsKCgkJCXJldHVybiAkb3V0cHV0OwoJCX0KCQlmdW5jdGlvbiBJbnRlcm5hbF9Db2xsZWN0VGV4dFJldmVyc2UoJGFycmF5LCAkc3RhcnQgPSAwLCAkZW5kID0gMCkgewoJCQlnbG9iYWwgJEJCQ29kZV9Qcm9maWxlcjsKCQkJJEJCQ29kZV9Qcm9maWxlci0+QmVnaW4oJ0NvbGxlY3RUZXh0UmV2ZXJzZScpOwoKCQkJb2Jfc3RhcnQoKTsKCQkJZm9yICgkc3RhcnQgPSBpbnR2YWwoJHN0YXJ0KTsgJHN0YXJ0ID49ICRlbmQ7ICRzdGFydC0tKQoJCQkJcHJpbnQgJGFycmF5WyRzdGFydF1bQkJDT0RFX1NUQUNLX1RFWFRdOwoJCQkkb3V0cHV0ID0gb2JfZ2V0X2NvbnRlbnRzKCk7CgkJCW9iX2VuZF9jbGVhbigpOwoKCQkJJEJCQ29kZV9Qcm9maWxlci0+RW5kKCdDb2xsZWN0VGV4dFJldmVyc2UnKTsKCgkJCXJldHVybiAkb3V0cHV0OwoJCX0KCgkJLy8gT3V0cHV0IGV2ZXJ5dGhpbmcgb24gdGhlIHN0YWNrIGZyb20gJHBvcyB0byB0aGUgdG9wLCBpbmNsdXNpdmUsIGFzCgkJLy8gcGxhaW4gdGV4dCwgYW5kIHJldHVybiBpdC4gIFRoaXMgaXMgYSBsaXR0bGUgbW9yZSBjb21wbGljYXRlZCB0aGFuCgkJLy8gbmVjZXNzYXJ5LCBiZWNhdXNlIGlmIHdlIGVuY291bnRlciBlbmQtdGFnLW9wdGlvbmFsIHRhZ3MgaW4gaGVyZSwKCQkvLyB0aGV5J3JlIG5vdCB0byBiZSBvdXRwdXR0ZWQgYXMgcGxhaW4gdGV4dDogIFRoZXkncmUgZnVsbHkgbGVnaXQsIGFuZAoJCS8vIG5lZWQgdG8gYmUgcHJvY2Vzc2VkIHdpdGggdGhlIHBsYWluIHRleHQgYWZ0ZXIgdGhlbSBhcyB0aGVpciBib2R5LgoJCS8vIFRoaXMgcmV0dXJucyBhIGxpc3Qgb2YgdG9rZW5zIGluIHRoZSBSRVZFUlNFIG9mIG91dHB1dCBvcmRlci4KCQlmdW5jdGlvbiBJbnRlcm5hbF9HZW5lcmF0ZU91dHB1dCgkcG9zKSB7CgkJCWdsb2JhbCAkQkJDb2RlX1Byb2ZpbGVyOwoJCQkkQkJDb2RlX1Byb2ZpbGVyLT5CZWdpbignR2VuZXJhdGVPdXRwdXQnKTsKCgkJCWlmICgkdGhpcy0+ZGVidWcpIHsKCQkJCXByaW50ICI8Yj5JbnRlcm5hbF9HZW5lcmF0ZU91dHB1dDo8L2I+IGZyb209JHBvcyBsZW49IiAuIChjb3VudCgkdGhpcy0+c3RhY2spIC0gJHBvcykKCQkJCQkuICI8YnIgLz5cbiIKCQkJCQkuICI8Yj5JbnRlcm5hbF9HZW5lcmF0ZU91dHB1dDo8L2I+IFN0YWNrIGNvbnRlbnRzOiA8dHQ+IgoJCQkJCS4gJHRoaXMtPkludGVybmFsX0R1bXBTdGFjaygpIC4gIjwvdHQ+PGJyIC8+XG4iOwoJCQl9CgkJCSRvdXRwdXQgPSBBcnJheSgpOwoJCQl3aGlsZSAoY291bnQoJHRoaXMtPnN0YWNrKSA+ICRwb3MpIHsKCQkJCSR0b2tlbiA9IGFycmF5X3BvcCgkdGhpcy0+c3RhY2spOwoJCQkJaWYgKCR0b2tlbltCQkNPREVfU1RBQ0tfVE9LRU5dICE9IEJCQ09ERV9UQUcpIHsKCQkJCQkvLyBOb3QgYSB0YWcsIHNvIGp1c3QgcHVzaCBpdCB0byB0aGUgb3V0cHV0LgoJCQkJCSRvdXRwdXRbXSA9ICR0b2tlbjsKCQkJCQlpZiAoJHRoaXMtPmRlYnVnKSB7CgkJCQkJCXByaW50ICI8Yj5JbnRlcm5hbF9HZW5lcmF0ZU91dHB1dDo8L2I+IHB1c2ggdGV4dDogPHR0PiIKCQkJCQkJCS4gaHRtbHNwZWNpYWxjaGFycygkdG9rZW5bQkJDT0RFX1NUQUNLX1RFWFRdKSAuICI8L3R0PjxiciAvPlxuIjsKCQkJCQl9CgkJCQl9CgkJCQllbHNlIHsKCQkJCQkvLyBUaGlzIGlzIGEgc3RhcnQgdGFnIHRoYXQgaXMgZWl0aGVyIGVuZGluZy1vcHRpb25hbCBvciBlbmRpbmctZm9yZ290dGVuLgoJCQkJCS8vIEJ1dCBiZWNhdXNlIG9mIGNsYXNzIGRlcGVuZGVuY2llcywgd2UgY2FuJ3Qgc2ltcGx5IHJlamVjdCBpdDsgZGVlcGVyCgkJCQkJLy8gdGFncyBtYXkgYWxyZWFkeSBoYXZlIGJlZW4gcHJvY2Vzc2VkIG9uIHRoZSBhc3N1bXB0aW9uIHRoYXQgdGhpcyBjbGFzcwoJCQkJCS8vIHdhcyB2YWxpZC4gIFNvIHJhdGhlciB0aGFuIHJlamVjdCBpdCwgYXMgb25lIG1pZ2h0IGV4cGVjdCBmcm9tCgkJCQkJLy8gJ2VuZF90YWcnID0+IEJCQ09ERV9SRVFVSVJFRCwgd2UgcHJvY2VzcyBpdCBzbyB0aGF0IGFueSBkZWVwZXIgdGFncwoJCQkJCS8vIHRoYXQgcmVxdWlyZSBpdCB3aWxsIHN0aWxsIGJlIHRyZWF0ZWQgY29ycmVjdGx5LiAgVGhpcyBpcyB0aGUgb25seQoJCQkJCS8vIGFsdGVybmF0aXZlIHRvIGhhdmluZyB0byBwZXJmb3JtIHR3byBwYXNzZXMgb3ZlciB0aGUgaW5wdXQsIG9uZSB0byB2YWxpZGF0ZQoJCQkJCS8vIGNsYXNzZXMgYW5kIHRoZSBvdGhlciB0byBjb252ZXJ0IHRoZSBvdXRwdXQ6ICBTbyB3ZSBjaG9vc2Ugc3BlZWQgb3ZlcgoJCQkJCS8vIHByZWNpc2lvbiBoZXJlLCBidXQgaXQncyBhIGRlY2lzaW9uIHRoYXQgb25seSBhZmZlY3RzIGJyb2tlbiB0YWdzIGFueXdheS4KCQkJCQkkbmFtZSA9IEAkdG9rZW5bQkJDT0RFX1NUQUNLX1RBR11bJ19uYW1lJ107CgkJCQkJJHJ1bGUgPSBAJHRoaXMtPnRhZ19ydWxlc1skbmFtZV07CgkJCQkJJGVuZF90YWcgPSBAJHJ1bGVbJ2VuZF90YWcnXTsKCQkJCQlpZiAoIWlzc2V0KCRydWxlWydlbmRfdGFnJ10pKSAkZW5kX3RhZyA9IEJCQ09ERV9SRVFVSVJFRDsKCQkJCQllbHNlICRlbmRfdGFnID0gJHJ1bGVbJ2VuZF90YWcnXTsKCQkJCQlhcnJheV9wb3AoJHRoaXMtPnN0YXJ0X3RhZ3NbJG5hbWVdKTsJLy8gUmVtb3ZlIHRoZSBsb2NhdG9yIGZvciB0aGlzIHRhZy4KCQkJCQlpZiAoJGVuZF90YWcgPT0gQkJDT0RFX1BST0hJQklUKSB7CgkJCQkJCS8vIEJyb2tlbiB0YWcsIHNvIGp1c3QgcHVzaCBpdCB0byB0aGUgb3V0cHV0IGFzIEhUTUwuCgkJCQkJCSRvdXRwdXRbXSA9IEFycmF5KAoJCQkJCQkJQkJDT0RFX1NUQUNLX1RPS0VOID0+IEJCQ09ERV9URVhULAoJCQkJCQkJQkJDT0RFX1NUQUNLX1RBRyA9PiBmYWxzZSwKCQkJCQkJCUJCQ09ERV9TVEFDS19URVhUID0+ICR0b2tlbltCQkNPREVfU1RBQ0tfVEVYVF0sCgkJCQkJCQlCQkNPREVfU1RBQ0tfQ0xBU1MgPT4gJHRoaXMtPmN1cnJlbnRfY2xhc3MsCgkJCQkJCSk7CgkJCQkJCWlmICgkdGhpcy0+ZGVidWcpIHsKCQkJCQkJCXByaW50ICI8Yj5JbnRlcm5hbF9HZW5lcmF0ZU91dHB1dDo8L2I+IHB1c2ggYnJva2VuIHRhZzogPHR0PiIKCQkJCQkJCQkuIGh0bWxzcGVjaWFsY2hhcnMoJHRva2VuWyd0ZXh0J10pIC4gIjwvdHQ+PGJyIC8+XG4iOwoJCQkJCQl9CgkJCQkJfQoJCQkJCWVsc2UgewoJCQkJCQkvLyBGb3VuZCBhIHN0YXJ0IHRhZyB3aGVyZSB0aGUgZW5kIHRhZyBpcyBvcHRpb25hbCwgb3IgYSBzdGFydAoJCQkJCQkvLyB0YWcgd2hlcmUgdGhlIGVuZCB0YWcgd2FzIGZvcmdvdHRlbiwgc28gdGhhdCB0YWcgc2hvdWxkIGJlCgkJCQkJCS8vIHByb2Nlc3NlZCB3aXRoIHRoZSBjdXJyZW50IG91dHB1dCBhcyBpdHMgY29udGVudC4KCQkJCQkJaWYgKCR0aGlzLT5kZWJ1ZykgewoJCQkJCQkJcHJpbnQgIjxiPkludGVybmFsX0dlbmVyYXRlT3V0cHV0OjwvYj4gZm91bmQgc3RhcnQgdGFnIHdpdGggb3B0aW9uYWwgZW5kIHRhZzogPHR0PiIKCQkJCQkJCQkuIGh0bWxzcGVjaWFsY2hhcnMoJHRva2VuW0JCQ09ERV9TVEFDS19URVhUXSkgLiAiPC90dD48YnIgLz5cbiI7CgkJCQkJCX0KCgkJCQkJCS8vIElmIHRoaXMgd2FzIHN1cHBvc2VkIHRvIGhhdmUgYW4gZW5kIHRhZywgYW5kIHdlIGZpbmQgYSBmbG9hdGluZyBvbmUKCQkJCQkJLy8gbGF0ZXIgb24sIHRoZW4gd2Ugc2hvdWxkIGNvbnN1bWUgaXQuCgkJCQkJCWlmICgkZW5kX3RhZyA9PSBCQkNPREVfUkVRVUlSRUQpCgkJCQkJCQlAJHRoaXMtPmxvc3Rfc3RhcnRfdGFnc1skbmFtZV0gKz0gMTsKCgkJCQkJCSRlbmQgPSAkdGhpcy0+SW50ZXJuYWxfQ2xlYW51cFdTQnlJdGVyYXRpbmdQb2ludGVyKEAkcnVsZVsnYmVmb3JlX2VuZHRhZyddLCAwLCAkb3V0cHV0KTsKCQkJCQkJJHRoaXMtPkludGVybmFsX0NsZWFudXBXU0J5UG9wcGluZ1N0YWNrKEAkcnVsZVsnYWZ0ZXJfdGFnJ10sICRvdXRwdXQpOwoJCQkJCQkkdGFnX2JvZHkgPSAkdGhpcy0+SW50ZXJuYWxfQ29sbGVjdFRleHRSZXZlcnNlKCRvdXRwdXQsIGNvdW50KCRvdXRwdXQpLTEsICRlbmQpOwoKCQkJCQkJLy8gTm90ZTogIFdlIGRvbid0IHByb2Nlc3MgJ2FmdGVyX2VuZHRhZycgYmVjYXVzZSB0aGUgaW52aXNpYmxlIGVuZCB0YWcKCQkJCQkJLy8gYWx3YXlzIGJ1dHRzIHVwIGFnYWluc3QgYW5vdGhlciB0YWcsIHNvIHRoZXJlJ3MgKm5ldmVyKiBhbnkgd2hpdGVzcGFjZQoJCQkJCQkvLyBhZnRlciBpdC4gIEF0dGVtcHRpbmcgdG8gcHJvY2VzcyAnYWZ0ZXJfZW5kdGFnJyB3b3VsZCBqdXN0IGJlIGEgd2FzdGUKCQkJCQkJLy8gb2YgdGltZSBiZWNhdXNlIGl0J2QgbmV2ZXIgbWF0Y2guICBCdXQgJ2JlZm9yZV90YWcnIGlzIHVzZWZ1bCwgdGhvdWdoLgoJCQkJCQkkdGhpcy0+SW50ZXJuYWxfQ2xlYW51cFdTQnlQb3BwaW5nU3RhY2soQCRydWxlWydiZWZvcmVfdGFnJ10sICR0aGlzLT5zdGFjayk7CgoJCQkJCQlpZiAoJHRoaXMtPmRlYnVnKSB7CgkJCQkJCQlwcmludCAiPGI+SW50ZXJuYWxfR2VuZXJhdGVPdXRwdXQ6PC9iPiBvcHRpb25hbC10YWcncyBjb250ZW50OiA8dHQ+IgoJCQkJCQkJCS4gaHRtbHNwZWNpYWxjaGFycygkdGFnX2JvZHkpIC4gIjwvdHQ+PGJyIC8+XG4iOwoJCQkJCQl9CgoJCQkJCQkkdGhpcy0+SW50ZXJuYWxfVXBkYXRlUGFyYW1zRm9yTWlzc2luZ0VuZFRhZyhAJHRva2VuW0JCQ09ERV9TVEFDS19UQUddKTsKCQkJCQkJJHRhZ19vdXRwdXQgPSAkdGhpcy0+RG9UYWcoQkJDT0RFX09VVFBVVCwgJG5hbWUsCgkJCQkJCQlAJHRva2VuW0JCQ09ERV9TVEFDS19UQUddWydfZGVmYXVsdCddLCBAJHRva2VuW0JCQ09ERV9TVEFDS19UQUddLCAkdGFnX2JvZHkpOwoJCQkJCQkJCgkJCQkJCWlmICgkdGhpcy0+ZGVidWcpIHsKCQkJCQkJCXByaW50ICI8Yj5JbnRlcm5hbF9HZW5lcmF0ZU91dHB1dDo8L2I+IHB1c2ggb3B0aW9uYWwtdGFnJ3Mgb3V0cHV0OiA8dHQ+IgoJCQkJCQkJCS4gaHRtbHNwZWNpYWxjaGFycygkdGFnX291dHB1dCkgLiAiPC90dD48YnIgLz5cbiI7CgkJCQkJCX0KCQkJCQkJCQkKCQkJCQkJJG91dHB1dCA9IEFycmF5KEFycmF5KAoJCQkJCQkJQkJDT0RFX1NUQUNLX1RPS0VOID0+IEJCQ09ERV9URVhULAoJCQkJCQkJQkJDT0RFX1NUQUNLX1RBRyA9PiBmYWxzZSwKCQkJCQkJCUJCQ09ERV9TVEFDS19URVhUID0+ICR0YWdfb3V0cHV0LAoJCQkJCQkJQkJDT0RFX1NUQUNLX0NMQVNTID0+ICR0aGlzLT5jdXJyZW50X2NsYXNzCgkJCQkJCSkpOwoJCQkJCX0KCQkJCX0KCQkJfQoJCQlpZiAoJHRoaXMtPmRlYnVnKSB7CgkJCQlwcmludCAiPGI+SW50ZXJuYWxfR2VuZXJhdGVPdXRwdXQ6PC9iPiBkb25lOyBvdXRwdXQgY29udGFpbnMgIiAuIGNvdW50KCRvdXRwdXQpIC4gIiBpdGVtczogPHR0PiIKCQkJCQkuICR0aGlzLT5JbnRlcm5hbF9EdW1wU3RhY2soJG91dHB1dCkgLiAiPC90dD48YnIgLz5cbiI7CgkJCQkkbm91dHB1dCA9ICR0aGlzLT5JbnRlcm5hbF9Db2xsZWN0VGV4dFJldmVyc2UoJG91dHB1dCwgY291bnQoJG91dHB1dCkgLSAxKTsKCQkJCXByaW50ICI8Yj5JbnRlcm5hbF9HZW5lcmF0ZU91dHB1dDo8L2I+IG91dHB1dDogPHR0PiIgLiBodG1sc3BlY2lhbGNoYXJzKCRub3V0cHV0KSAuICI8L3R0PjxiciAvPlxuIjsKCQkJCXByaW50ICI8Yj5JbnRlcm5hbF9HZW5lcmF0ZU91dHB1dDo8L2I+IFN0YWNrIGNvbnRlbnRzOiA8dHQ+IiAuICR0aGlzLT5JbnRlcm5hbF9EdW1wU3RhY2soKSAuICI8L3R0PjxiciAvPlxuIjsKCQkJfQoJCQkkdGhpcy0+SW50ZXJuYWxfQ29tcHV0ZUN1cnJlbnRDbGFzcygpOwoJCQkkQkJDb2RlX1Byb2ZpbGVyLT5FbmQoJ0dlbmVyYXRlT3V0cHV0Jyk7CgkJCXJldHVybiAkb3V0cHV0OwoJCX0KCgkJLy8gV2UncmUgdHJhbnNpdGlvbmluZyBpbnRvIGEgY2xhc3MgdGhhdCdzIG5vdCBhbGxvd2VkIGluc2lkZSB0aGUgY3VycmVudCBvbmUKCQkvLyAobGlrZSB0aGV5IHRyaWVkIHRvIHB1dCBhIFtjZW50ZXJdIHRhZyBpbnNpZGUgYSBbYl0gdGFnKSwgc28gd2UgbmVlZCB0bwoJCS8vIHVud2luZCB0aGUgc3RhY2ssIG91dHB1dHRpbmcgY29udGVudCB1bnRpbCB3ZSdyZSBpbnNpZGUgYSB2YWxpZCBzdGF0ZSBhZ2Fpbi4KCQkvLyBUbyBkbyB0aGlzLCB3ZSBuZWVkIHRvIHdhbGsgYmFjayBkb3duIHRoZSBzdGFjaywgc2VhcmNoaW5nIGZvciBhIGNsYXNzIHRoYXQncwoJCS8vIGluIHRoZSBnaXZlbiBsaXN0OyB3aGVuIHdlIGZpbmQgb25lLCB3ZSBvdXRwdXQgZXZlcnl0aGluZyBhYm92ZSBpdC4gIFRoZW4gd2UKCQkvLyBvdXRwdXQgZXZlcnl0aGluZyBvbiB0aGUgc3RhY2sgZnJvbSB0aGUgZ2l2ZW4gaGVpZ2h0IHRvIHRoZSB0b3AsIGluY2x1c2l2ZSwKCQkvLyBhbmQgcG9wIGV2ZXJ5dGhpbmcgaW4gdGhhdCByYW5nZS4gIFRoaXMgbGVhdmVzIGEgQkJDT0RFX1RFWFQgZWxlbWVudCBvbiB0aGUKCQkvLyBzdGFjayB0aGF0IGlzIHRoZSBmdWxseS1vdXRwdXR0ZWQgdmVyc2lvbiBvZiB0aGUgY29udGVudCwgYW5kIGl0cyBjbGFzcwoJCS8vIHdpbGwgYmUgdGhlIHNhbWUgYXMgdGhhdCBvZiB0aGUgc3RhY2sgZWxlbWVudCBiZWZvcmUgaXQgKG9yIHJvb3RfY2xhc3MgaWYgdGhlcmUKCQkvLyBpcyBubyBlbGVtZW50IGJlZm9yZSBpdCkuCgkJLy8KCQkvLyBUaGlzIHJldHVybnMgdHJ1ZSBpZiB0aGUgc3RhY2sgY291bGQgYmUgcmV3b3VuZCB0byBhIHNhZmUgc3RhdGUsIG9yIGZhbHNlCgkJLy8gaWYgbm8gc3VjaCAic2FmZSBzdGF0ZSIgZXhpc3RlZC4KCQlmdW5jdGlvbiBJbnRlcm5hbF9SZXdpbmRUb0NsYXNzKCRjbGFzc19saXN0KSB7CgkJCWlmICgkdGhpcy0+ZGVidWcpIHsKCQkJCXByaW50ICI8Yj5JbnRlcm5hbF9SZXdpbmRUb0NsYXNzOjwvYj4gc3RhY2sgaGFzICIgLiBjb3VudCgkdGhpcy0+c3RhY2spCgkJCQkJLiAiIGl0ZW1zOyBhbGxvd2VkIGNsYXNzZXMgYXJlOiA8dHQ+IjsKCQkJCXByaW50X3IoJGNsYXNzX2xpc3QpOwoJCQkJcHJpbnQgIjwvdHQ+PGJyIC8+XG4iOwoJCQl9CgoJCQkvLyBXYWxrIGJhY2t3YXJkIGZyb20gdGhlIHRvcCBvZiB0aGUgc3RhY2ssIHNlYXJjaGluZyBmb3IgYSBzdGF0ZSB3aGVyZQoJCQkvLyB0aGUgbmV3IGNsYXNzIHdhcyBzdGlsbCBsZWdhbC4KCQkJJHBvcyA9IGNvdW50KCR0aGlzLT5zdGFjaykgLSAxOwoJCQl3aGlsZSAoJHBvcyA+PSAwICYmICFpbl9hcnJheSgkdGhpcy0+c3RhY2tbJHBvc11bQkJDT0RFX1NUQUNLX0NMQVNTXSwgJGNsYXNzX2xpc3QpKQoJCQkJJHBvcy0tOwoJCQlpZiAoJHBvcyA8IDApIHsKCQkJCWlmICghaW5fYXJyYXkoJHRoaXMtPnJvb3RfY2xhc3MsICRjbGFzc19saXN0KSkKCQkJCQlyZXR1cm4gZmFsc2U7CgkJCX0KCQkJCgkJCWlmICgkdGhpcy0+ZGVidWcpCgkJCQlwcmludCAiPGI+SW50ZXJuYWxfUmV3aW5kVG9DbGFzczo8L2I+IHJld291bmQgdG8gIiAuICgkcG9zKzEpIC4gIjxiciAvPlxuIjsKCgkJCS8vIENvbnZlcnQgYW55IHRhZ3Mgb24gdGhlIHN0YWNrIGZyb20gJHBvcysxIHRvIHRoZSB0b3AsIGluY2x1c2l2ZSwgdG8KCQkJLy8gcGxhaW4gdGV4dCB0b2tlbnMsIHBvc3NpYmx5IHByb2Nlc3NpbmcgYW55IHRhZ3Mgd2hlcmUgdGhlIGVuZCB0YWdzCgkJCS8vIGFyZSBvcHRpb25hbC4KCQkJJG91dHB1dCA9ICR0aGlzLT5JbnRlcm5hbF9HZW5lcmF0ZU91dHB1dCgkcG9zKzEpOwoJCQkKCQkJLy8gUHVzaCB0aGUgY2xlYW4gdG9rZW5zIGJhY2sgb250byB0aGUgc3RhY2suCgkJCXdoaWxlIChjb3VudCgkb3V0cHV0KSkgewoJCQkJJHRva2VuID0gYXJyYXlfcG9wKCRvdXRwdXQpOwoJCQkJJHRva2VuW0JCQ09ERV9TVEFDS19DTEFTU10gPSAkdGhpcy0+Y3VycmVudF9jbGFzczsKCQkJCSR0aGlzLT5zdGFja1tdID0gJHRva2VuOwoJCQl9CgoJCQlpZiAoJHRoaXMtPmRlYnVnKSB7CgkJCQlwcmludCAiPGI+SW50ZXJuYWxfUmV3aW5kVG9DbGFzczo8L2I+IHN0YWNrIGhhcyAiIC4gY291bnQoJHRoaXMtPnN0YWNrKQoJCQkJCS4gIiBpdGVtcyBub3cuPGJyIC8+XG4iOwoJCQl9CgkJCQkJCgkJCXJldHVybiB0cnVlOwoJCX0KCgkJLy8gV2UndmUgZm91bmQgYW4gZW5kIHRhZyB3aXRoIHRoZSBnaXZlbiBuYW1lLCBzbyB3YWxrIGJhY2t3YXJkIHVudGlsIHdlCgkJLy8gZmluZCB0aGUgc3RhcnQgdGFnLCBhbmQgdGhlbiBvdXRwdXQgdGhlIGNvbnRlbnRzLgoJCWZ1bmN0aW9uIEludGVybmFsX0ZpbmlzaFRhZygkdGFnX25hbWUpIHsKCQkJaWYgKCR0aGlzLT5kZWJ1ZykgewoJCQkJcHJpbnQgIjxiPkludGVybmFsX0ZpbmlzaFRhZzo8L2I+IHN0YWNrIGhhcyAiIC4gY291bnQoJHRoaXMtPnN0YWNrKQoJCQkJCS4gIiBpdGVtczsgc2VhcmNoaW5nIGZvciBzdGFydCB0YWcgZm9yIDx0dD5bLyIKCQkJCQkuIGh0bWxzcGVjaWFsY2hhcnMoJHRhZ19uYW1lKSAuICJdPC90dD48YnIgLz5cbiI7CgkJCX0KCgkJCS8vIElmIHRoaXMgaXMgYSBtYWxmb3JtZWQgdGFnIGxpa2UgWy9dLCB0ZWxsIHRoZW0gbm93LCBzaW5jZSB0aGVyZSdzCgkJCS8vIG5vIHdheSB3ZSBjYW4gcG9zc2libHkgbWF0Y2ggaXQuCgkJCWlmIChzdHJsZW4oJHRhZ19uYW1lKSA8PSAwKQoJCQkJcmV0dXJuIGZhbHNlOwoJCQkKCQkJLy8gVGhpcyBpcyB3aGVyZSB3ZSAqd291bGQqIHdhbGsgYmFja3dhcmQgZnJvbSB0aGUgdG9wIG9mIHRoZSBzdGFjaywgc2VhcmNoaW5nCgkJCS8vIGZvciB0aGUgbWF0Y2hpbmcgc3RhcnQgdGFnIGZvciB0aGlzIGVuZCB0YWcuICBCdXQgc2luY2Ugd2UgcmVjb3JkIHRoZQoJCQkvLyBsb2NhdGlvbnMgb2Ygc3RhcnQgdGFncyBpbiBhIHNlcGFyYXRlIGFycmF5IGluZGV4ZWQgYnkgdGFnIG5hbWUsIHdlIGRvbid0CgkJCS8vIG5lZWQgdG8gc2VhcmNoOiAgV2UgYWxyZWFkeSBrbm93IHdoZXJlIHRoZSBzdGFydCB0YWcgaXMuICBTbyB3ZSBsb29rIHVwCgkJCS8vIHRoZSBsb2NhdGlvbiBvZiB0aGUgc3RhcnQgdGFnIGFuZCByZXdpbmQgcmlnaHQgdG8gdGhhdCBzcG90LiAgVGhpcyBpcyByZWFsbHkKCQkJLy8gb25seSBhIGNvbnN0YW50LXRpbWUgc3BlZWR1cCwgc2luY2UgaW4gdGhlIG5vbi1kZWdlbmVyYXRlIGNhc2VzLAoJCQkvLyBJbnRlcm5hbF9GaW5pc2hUYWcoKSBzdGlsbCBydW5zIGluIE8obikgdGltZS4gIChJbnRlcm5hbF9HZW5lcmF0ZU91dHB1dCgpCgkJCS8vIHJ1bnMgaW4gTyhuKSB0aW1lLCBhbmQgSW50ZXJuYWxfRmluaXNoVGFnKCkgY2FsbHMgaXQuICBCdXQgaW4gdGhlIGRlZ2VuZXJhdGUKCQkJLy8gY2FzZSwgd2hlcmUgdGhlcmUncyBhbiBlbmQgdGFnIHdpdGggbm8gc3RhcnQgdGFnLCB0aGlzIGlzIHNpZ25pZmljYW50bHkKCQkJLy8gZmFzdGVyLCBmb3Igd2hhdGV2ZXIgdGhhdCdzIHdvcnRoLikgIEJ1dCBldmVuIGEgY29uc3RhbnQtdGltZSBzcGVlZHVwIGlzIGEKCQkJLy8gc3BlZWR1cCwgc28gdGhpcyBpcyBvdmVyYWxsIGEgd2luLgoJCQlpZiAoaXNzZXQoJHRoaXMtPnN0YXJ0X3RhZ3NbJHRhZ19uYW1lXSkKCQkJCSYmIGNvdW50KCR0aGlzLT5zdGFydF90YWdzWyR0YWdfbmFtZV0pKQoJCQkJJHBvcyA9IGFycmF5X3BvcCgkdGhpcy0+c3RhcnRfdGFnc1skdGFnX25hbWVdKTsKCQkJZWxzZSAkcG9zID0gLTE7CgoJCQlpZiAoJHRoaXMtPmRlYnVnKQoJCQkJcHJpbnQgIjxiPkludGVybmFsX0ZpbmlzaFRhZzo8L2I+IHJld291bmQgdG8gIiAuICgkcG9zKzEpIC4gIjxiciAvPlxuIjsKCgkJCS8vIElmIHRoZXJlIGlzIG5vIG1hdGNoaW5nIHN0YXJ0IHRhZywgdGhlbiB0aGlzIGlzIGEgZmxvYXRpbmcgKGJhZCkKCQkJLy8gZW5kIHRhZywgc28gdGVsbCB0aGUgY2FsbGVyLgoJCQlpZiAoJHBvcyA8IDApIHJldHVybiBmYWxzZTsKCQkJCgkJCS8vIE9rYXksIHdlJ3JlIGRvaW5nIHByZXR0eSBnb29kIGhlcmUuICBXZSBuZWVkIHRvIGRvIHdoaXRlc3BhY2UKCQkJLy8gY2xlYW51cCBmb3IgYWZ0ZXIgdGhlIHN0YXJ0IHRhZyBhbmQgYmVmb3JlIHRoZSBlbmQgdGFnLCB0aG91Z2guICBXZQoJCQkvLyBkbyBlbmQtdGFnIGNsZWFudXAgYnkgcG9wcGluZywgYW5kIHdlIGRvIHN0YXJ0LXRhZyBjbGVhbnVwIGJ5IHNraXBwaW5nCgkJCS8vICRwb3MgZm9yd2FyZC4gIChXZSBhZGQgb25lIGJlY2F1c2Ugd2UndmUgYWN0dWFsbHkgcmV3b3VuZCB0aGUgc3RhY2sKCQkJLy8gdG8gdGhlIHN0YXJ0IHRhZyBpdHNlbGYuKQoJCQkkbmV3cG9zID0gJHRoaXMtPkludGVybmFsX0NsZWFudXBXU0J5SXRlcmF0aW5nUG9pbnRlcihAJHRoaXMtPnRhZ19ydWxlc1skdGFnX25hbWVdWydhZnRlcl90YWcnXSwKCQkJCSRwb3MrMSwgJHRoaXMtPnN0YWNrKTsKCQkJJGRlbHRhID0gJG5ld3BvcyAtICgkcG9zKzEpOwoJCQkKCQkJaWYgKCR0aGlzLT5kZWJ1ZykgewoJCQkJcHJpbnQgIjxiPkludGVybmFsX0ZpbmlzaFRhZzo8L2I+IHdoaXRlc3BhY2UgY2xlYW51cCAocnVsZSB3YXMgXCIiCgkJCQkJLiBAJHRoaXMtPnRhZ19ydWxlc1skdGFnX25hbWVdWydhZnRlcl90YWcnXQoJCQkJCS4gIlwiKSBtb3ZlZCBwb2ludGVyIHRvICIgLiAoJG5ld3BvcykgLiAiPGJyIC8+XG4iOwoJCQl9CgoJCQkvLyBPdXRwdXQgZXZlcnl0aGluZyBvbiB0aGUgc3RhY2sgZnJvbSAkcG9zIHRvIHRoZSB0b3AsIGluY2x1c2l2ZSwgYXMKCQkJLy8gcGxhaW4gdGV4dCwgYW5kIHRoZW4gcmV0dXJuIGl0IGFzIGEgc3RyaW5nLCBsZWF2aW5nIHRoZSBzdGFydCB0YWcgb24KCQkJLy8gdGhlIHRvcCBvZiB0aGUgc3RhY2suCgkJCSRvdXRwdXQgPSAkdGhpcy0+SW50ZXJuYWxfR2VuZXJhdGVPdXRwdXQoJG5ld3Bvcyk7CgkJCQoJCQkvLyBDbGVhbiBvZmYgYW55IHdoaXRlc3BhY2UgYmVmb3JlIHRoZSBlbmQgdGFnIHRoYXQgZG9lc24ndCBiZWxvbmcgdGhlcmUuCgkJCSRuZXdlbmQgPSAkdGhpcy0+SW50ZXJuYWxfQ2xlYW51cFdTQnlJdGVyYXRpbmdQb2ludGVyKEAkdGhpcy0+dGFnX3J1bGVzWyR0YWdfbmFtZV1bJ2JlZm9yZV9lbmR0YWcnXSwKCQkJCTAsICRvdXRwdXQpOwoJCQkkb3V0cHV0ID0gJHRoaXMtPkludGVybmFsX0NvbGxlY3RUZXh0UmV2ZXJzZSgkb3V0cHV0LCBjb3VudCgkb3V0cHV0KSAtIDEsICRuZXdlbmQpOwoJCQkKCQkJaWYgKCR0aGlzLT5kZWJ1ZykKCQkJCXByaW50ICI8Yj5JbnRlcm5hbF9GaW5pc2hUYWc6PC9iPiB3aGl0ZXNwYWNlIGNsZWFudXA6IHBvcHBpbmcgJGRlbHRhIGl0ZW1zPGJyIC8+XG4iOwoKCQkJLy8gQ2xlYW4gdXAgYW55ICdhZnRlcl90YWcnIHdoaXRlc3BhY2Ugd2Ugc2tpcHBlZC4KCQkJd2hpbGUgKCRkZWx0YS0tID4gMCkKCQkJCWFycmF5X3BvcCgkdGhpcy0+c3RhY2spOwoJCQkkdGhpcy0+SW50ZXJuYWxfQ29tcHV0ZUN1cnJlbnRDbGFzcygpOwoJCQkKCQkJaWYgKCR0aGlzLT5kZWJ1ZykKCQkJCXByaW50ICI8Yj5JbnRlcm5hbF9GaW5pc2hUYWc6PC9iPiBvdXRwdXQ6IDx0dD4iIC4gaHRtbHNwZWNpYWxjaGFycygkb3V0cHV0KSAuICI8L3R0PjxiciAvPlxuIjsKCgkJCXJldHVybiAkb3V0cHV0OwoJCX0KCgkJLy8gUmVjb21wdXRlIHRoZSBjdXJyZW50IGNsYXNzLCBiYXNlZCBvbiB0aGUgY2xhc3Mgb2YgdGhlIHN0YWNrJ3MgdG9wIGVsZW1lbnQuCgkJZnVuY3Rpb24gSW50ZXJuYWxfQ29tcHV0ZUN1cnJlbnRDbGFzcygpIHsKCQkJaWYgKGNvdW50KCR0aGlzLT5zdGFjaykgPiAwKQoJCQkJJHRoaXMtPmN1cnJlbnRfY2xhc3MgPSAkdGhpcy0+c3RhY2tbY291bnQoJHRoaXMtPnN0YWNrKS0xXVtCQkNPREVfU1RBQ0tfQ0xBU1NdOwoJCQllbHNlICR0aGlzLT5jdXJyZW50X2NsYXNzID0gJHRoaXMtPnJvb3RfY2xhc3M7CgkJCWlmICgkdGhpcy0+ZGVidWcpIHsKCQkJCXByaW50ICI8Yj5JbnRlcm5hbF9Db21wdXRlQ3VycmVudENsYXNzOjwvYj4gY3VycmVudCBjbGFzcyBpcyBub3cgXCI8dHQ+IgoJCQkJCS4gaHRtbHNwZWNpYWxjaGFycygkdGhpcy0+Y3VycmVudF9jbGFzcykgLiAiPC90dD5cIjxiciAvPlxuIjsKCQkJfQoJCX0KCgkJLy8gR2l2ZW4gYSBzdGFjayBvZiB0b2tlbnMgaW4gJGFycmF5LCB3cml0ZSBpdCB0byBhIHN0cmluZyAocG9zc2libHkgd2l0aCBIVE1MCgkJLy8gY29sb3IgYW5kIHN0eWxlIGVuY29kaW5ncyBmb3IgcmVhZGFiaWxpdHksIGlmICRyYXcgaXMgZmFsc2UpLgoJCWZ1bmN0aW9uIEludGVybmFsX0R1bXBTdGFjaygkYXJyYXkgPSBmYWxzZSwgJHJhdyA9IGZhbHNlKSB7CgkJCWlmICghJHJhdykgJHN0cmluZyA9ICI8c3BhbiBzdHlsZT0nY29sb3I6ICMwMEM7Jz4iOwoJCQllbHNlICRzdHJpbmcgPSAiIjsKCQkJaWYgKCRhcnJheSA9PT0gZmFsc2UpCgkJCQkkYXJyYXkgPSAkdGhpcy0+c3RhY2s7CgkJCWZvcmVhY2ggKCRhcnJheSBhcyAkaXRlbSkgewoJCQkJc3dpdGNoIChAJGl0ZW1bQkJDT0RFX1NUQUNLX1RPS0VOXSkgewoJCQkJY2FzZSBCQkNPREVfVEVYVDoKCQkJCQkkc3RyaW5nIC49ICJcIiIgLiBodG1sc3BlY2lhbGNoYXJzKEAkaXRlbVtCQkNPREVfU1RBQ0tfVEVYVF0pIC4gIlwiICI7CgkJCQkJYnJlYWs7CgkJCQljYXNlIEJCQ09ERV9XUzoKCQkJCQkkc3RyaW5nIC49ICJXUyAiOwoJCQkJCWJyZWFrOwoJCQkJY2FzZSBCQkNPREVfTkw6CgkJCQkJJHN0cmluZyAuPSAiTkwgIjsKCQkJCQlicmVhazsKCQkJCWNhc2UgQkJDT0RFX1RBRzoKCQkJCQkkc3RyaW5nIC49ICJbIiAuIGh0bWxzcGVjaWFsY2hhcnMoQCRpdGVtW0JCQ09ERV9TVEFDS19UQUddWydfbmFtZSddKSAuICJdICI7CgkJCQkJYnJlYWs7CgkJCQlkZWZhdWx0OgoJCQkJCSRzdHJpbmcgLj0gInVua25vd24gIjsKCQkJCQlicmVhazsKCQkJCX0KCQkJfQoJCQlpZiAoISRyYXcpICRzdHJpbmcgLj0gIjwvc3Bhbj4iOwoJCQlyZXR1cm4gJHN0cmluZzsKCQl9CgoJCS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCQkvLyAgV2hpdGVzcGFjZSBjbGVhbnVwIHJvdXRpbmVzIChpbnRlcm5hbCkuCgoJCS8vIFdhbGsgZG93biBmcm9tIHRoZSB0b3Agb2YgdGhlIHN0YWNrLCBhbmQgcmVtb3ZlIHdoaXRlc3BhY2UvbmV3bGluZSB0b2tlbnMgZnJvbQoJCS8vIHRoZSB0b3AgYWNjb3JkaW5nIHRvIHRoZSBydWxlcyBpbiB0aGUgZ2l2ZW4gcGF0dGVybi4KCQlmdW5jdGlvbiBJbnRlcm5hbF9DbGVhbnVwV1NCeVBvcHBpbmdTdGFjaygkcGF0dGVybiwgJiRhcnJheSkgewoJCQlpZiAoJHRoaXMtPmRlYnVnKSB7CgkJCQlwcmludCAiPGI+SW50ZXJuYWxfQ2xlYW51cFdTQnlQb3BwaW5nU3RhY2s6PC9iPiBhcnJheSBoYXMgIiAuIGNvdW50KCRhcnJheSkKCQkJCQkuICIgaXRlbXM7IHBhdHRlcm49XCI8dHQ+IgoJCQkJCS4gaHRtbHNwZWNpYWxjaGFycygkcGF0dGVybikgLiAiPC90dD5cIjxiciAvPlxuIjsKCQkJfQoKCQkJaWYgKHN0cmxlbigkcGF0dGVybikgPD0gMCkgcmV0dXJuOwoKCQkJJG9sZGxlbiA9IGNvdW50KCRhcnJheSk7CgkJCWZvcmVhY2ggKHN0cl9zcGxpdCgkcGF0dGVybikgYXMgJGNoYXIpIHsKCQkJCXN3aXRjaCAoJGNoYXIpIHsKCQkJCWNhc2UgJ3MnOgoJCQkJCXdoaWxlIChjb3VudCgkYXJyYXkpID4gMCAmJiAkYXJyYXlbY291bnQoJGFycmF5KS0xXVtCQkNPREVfU1RBQ0tfVE9LRU5dID09IEJCQ09ERV9XUykKCQkJCQkJYXJyYXlfcG9wKCRhcnJheSk7CgkJCQkJYnJlYWs7CgkJCQljYXNlICduJzoKCQkJCQlpZiAoY291bnQoJGFycmF5KSA+IDAgJiYgJGFycmF5W2NvdW50KCRhcnJheSktMV1bQkJDT0RFX1NUQUNLX1RPS0VOXSA9PSBCQkNPREVfTkwpCgkJCQkJCWFycmF5X3BvcCgkYXJyYXkpOwoJCQkJCWJyZWFrOwoJCQkJY2FzZSAnYSc6CgkJCQkJd2hpbGUgKGNvdW50KCRhcnJheSkgPiAwCgkJCQkJCSYmICgoJHRva2VuID0gJGFycmF5W2NvdW50KCRhcnJheSktMV1bQkJDT0RFX1NUQUNLX1RPS0VOXSkgPT0gQkJDT0RFX1dTCgkJCQkJCQl8fCAkdG9rZW4gPT0gQkJDT0RFX05MKSkKCQkJCQkJYXJyYXlfcG9wKCRhcnJheSk7CgkJCQkJYnJlYWs7CgkJCQl9CgkJCX0KCgkJCWlmICgkdGhpcy0+ZGVidWcpIHsKCQkJCXByaW50ICI8Yj5JbnRlcm5hbF9DbGVhbnVwV1NCeVBvcHBpbmdTdGFjazo8L2I+IGFycmF5IG5vdyBoYXMgIiAuIGNvdW50KCRhcnJheSkgLiAiIGl0ZW1zPGJyIC8+XG4iOwoJCQkJcHJpbnQgIjxiPkludGVybmFsX0NsZWFudXBXU0J5UG9wcGluZ1N0YWNrOjwvYj4gYXJyYXk6IDx0dD4iIC4gJHRoaXMtPkludGVybmFsX0R1bXBTdGFjaygkYXJyYXkpCgkJCQkJLiAiPC90dD48YnIgLz5cbiI7CgkJCX0KCQkJCgkJCWlmIChjb3VudCgkYXJyYXkpICE9ICRvbGRsZW4pIHsKCQkJCS8vIFdlIG9ubHkgcmVjb21wdXRlIHRoZSBjbGFzcyBpZiBzb21ldGhpbmcgYWN0dWFsbHkgY2hhbmdlZC4KCQkJCSR0aGlzLT5JbnRlcm5hbF9Db21wdXRlQ3VycmVudENsYXNzKCk7CgkJCX0KCQl9CgoJCS8vIFJlYWQgdG9rZW5zIGZyb20gdGhlIGlucHV0LCBhbmQgcmVtb3ZlIHdoaXRlc3BhY2UvbmV3bGluZSB0b2tlbnMgZnJvbSB0aGUgaW5wdXQKCQkvLyBhY2NvcmRpbmcgdG8gdGhlIHJ1bGVzIGluIHRoZSBnaXZlbiBwYXR0ZXJuLgoJCWZ1bmN0aW9uIEludGVybmFsX0NsZWFudXBXU0J5RWF0aW5nSW5wdXQoJHBhdHRlcm4pIHsKCQkJZ2xvYmFsICRCQkNvZGVfUHJvZmlsZXI7CgoJCQlpZiAoJHRoaXMtPmRlYnVnKSB7CgkJCQkkcHRyID0gJHRoaXMtPmxleGVyLT5wdHI7CgkJCQlwcmludCAiPGI+SW50ZXJuYWxfQ2xlYW51cFdTQnlFYXRpbmdJbnB1dDo8L2I+IGlucHV0IHBvaW50ZXIgaXMgYXQgJHB0cjsgcGF0dGVybj1cIjx0dD4iCgkJCQkJLiBodG1sc3BlY2lhbGNoYXJzKCRwYXR0ZXJuKSAuICI8L3R0PlwiPGJyIC8+XG4iOwoJCQl9CgoJCQlpZiAoc3RybGVuKCRwYXR0ZXJuKSA8PSAwKSByZXR1cm47CgoJCQlmb3JlYWNoIChzdHJfc3BsaXQoJHBhdHRlcm4pIGFzICRjaGFyKSB7CgkJCQlzd2l0Y2ggKCRjaGFyKSB7CgkJCQljYXNlICdzJzoKCQkJCQkkQkJDb2RlX1Byb2ZpbGVyLT5CZWdpbignTGV4ZXI6TmV4dFRva2VuJyk7CgkJCQkJJHRva2VuX3R5cGUgPSAkdGhpcy0+bGV4ZXItPk5leHRUb2tlbigpOwoJCQkJCSRCQkNvZGVfUHJvZmlsZXItPkVuZCgnTGV4ZXI6TmV4dFRva2VuJyk7CgkJCQkJd2hpbGUgKCR0b2tlbl90eXBlID09IEJCQ09ERV9XUykgewoJCQkJCQkkQkJDb2RlX1Byb2ZpbGVyLT5CZWdpbignTGV4ZXI6TmV4dFRva2VuJyk7CgkJCQkJCSR0b2tlbl90eXBlID0gJHRoaXMtPmxleGVyLT5OZXh0VG9rZW4oKTsKCQkJCQkJJEJCQ29kZV9Qcm9maWxlci0+RW5kKCdMZXhlcjpOZXh0VG9rZW4nKTsKCQkJCQl9CgkJCQkJJHRoaXMtPmxleGVyLT5VbmdldFRva2VuKCk7CgkJCQkJYnJlYWs7CgkJCQljYXNlICduJzoKCQkJCQkkQkJDb2RlX1Byb2ZpbGVyLT5CZWdpbignTGV4ZXI6TmV4dFRva2VuJyk7CgkJCQkJJHRva2VuX3R5cGUgPSAkdGhpcy0+bGV4ZXItPk5leHRUb2tlbigpOwoJCQkJCSRCQkNvZGVfUHJvZmlsZXItPkVuZCgnTGV4ZXI6TmV4dFRva2VuJyk7CgkJCQkJaWYgKCR0b2tlbl90eXBlICE9IEJCQ09ERV9OTCkKCQkJCQkJJHRoaXMtPmxleGVyLT5VbmdldFRva2VuKCk7CgkJCQkJYnJlYWs7CgkJCQljYXNlICdhJzoKCQkJCQkkQkJDb2RlX1Byb2ZpbGVyLT5CZWdpbignTGV4ZXI6TmV4dFRva2VuJyk7CgkJCQkJJHRva2VuX3R5cGUgPSAkdGhpcy0+bGV4ZXItPk5leHRUb2tlbigpOwoJCQkJCSRCQkNvZGVfUHJvZmlsZXItPkVuZCgnTGV4ZXI6TmV4dFRva2VuJyk7CgkJCQkJd2hpbGUgKCR0b2tlbl90eXBlID09IEJCQ09ERV9XUyB8fCAkdG9rZW5fdHlwZSA9PSBCQkNPREVfTkwpIHsKCQkJCQkJJEJCQ29kZV9Qcm9maWxlci0+QmVnaW4oJ0xleGVyOk5leHRUb2tlbicpOwoJCQkJCQkkdG9rZW5fdHlwZSA9ICR0aGlzLT5sZXhlci0+TmV4dFRva2VuKCk7CgkJCQkJCSRCQkNvZGVfUHJvZmlsZXItPkVuZCgnTGV4ZXI6TmV4dFRva2VuJyk7CgkJCQkJfQoJCQkJCSR0aGlzLT5sZXhlci0+VW5nZXRUb2tlbigpOwoJCQkJCWJyZWFrOwoJCQkJfQoJCQl9CgoJCQlpZiAoJHRoaXMtPmRlYnVnKQoJCQkJcHJpbnQgIjxiPkludGVybmFsX0NsZWFudXBXU0J5RWF0aW5nSW5wdXQ6PC9iPiBpbnB1dCBwb2ludGVyIGlzIG5vdyBhdCB7JHRoaXMtPmxleGVyLT5wdHJ9PGJyIC8+XG4iOwoJCX0KCgkJLy8gUmVhZCB0b2tlbnMgZnJvbSB0aGUgZ2l2ZW4gcG9zaXRpb24gaW4gdGhlIHN0YWNrLCBnb2luZyBmb3J3YXJkIGFzIHdlIG1hdGNoCgkJLy8gdGhlIHJ1bGVzIGluIHRoZSBnaXZlbiBwYXR0ZXJuLiAgUmV0dXJucyB0aGUgZmlyc3QgcG9zaXRpb24gKmFmdGVyKiB0aGUgcGF0dGVybi4KCQlmdW5jdGlvbiBJbnRlcm5hbF9DbGVhbnVwV1NCeUl0ZXJhdGluZ1BvaW50ZXIoJHBhdHRlcm4sICRwb3MsICRhcnJheSkgewoJCQlpZiAoJHRoaXMtPmRlYnVnKSB7CgkJCQlwcmludCAiPGI+SW50ZXJuYWxfQ2xlYW51cFdTQnlJdGVyYXRpbmdQb2ludGVyOjwvYj4gcG9pbnRlciBpcyAkcG9zOyBwYXR0ZXJuPVwiPHR0PiIKCQkJCQkuIGh0bWxzcGVjaWFsY2hhcnMoJHBhdHRlcm4pIC4gIjwvdHQ+XCI8YnIgLz5cbiI7CgkJCX0KCgkJCWlmIChzdHJsZW4oJHBhdHRlcm4pIDw9IDApIHJldHVybiAkcG9zOwoKCQkJZm9yZWFjaCAoc3RyX3NwbGl0KCRwYXR0ZXJuKSBhcyAkY2hhcikgewoJCQkJc3dpdGNoICgkY2hhcikgewoJCQkJY2FzZSAncyc6CgkJCQkJd2hpbGUgKCRwb3MgPCBjb3VudCgkYXJyYXkpICYmICRhcnJheVskcG9zXVtCQkNPREVfU1RBQ0tfVE9LRU5dID09IEJCQ09ERV9XUykKCQkJCQkJJHBvcysrOwoJCQkJCWJyZWFrOwoJCQkJY2FzZSAnbic6CgkJCQkJaWYgKCRwb3MgPCBjb3VudCgkYXJyYXkpICYmICRhcnJheVskcG9zXVtCQkNPREVfU1RBQ0tfVE9LRU5dID09IEJCQ09ERV9OTCkKCQkJCQkJJHBvcysrOwoJCQkJCWJyZWFrOwoJCQkJY2FzZSAnYSc6CgkJCQkJd2hpbGUgKCRwb3MgPCBjb3VudCgkYXJyYXkpCgkJCQkJCSYmICgoJHRva2VuID0gJGFycmF5WyRwb3NdW0JCQ09ERV9TVEFDS19UT0tFTl0pID09IEJCQ09ERV9XUyB8fCAkdG9rZW4gPT0gQkJDT0RFX05MKSkKCQkJCQkJJHBvcysrOwoJCQkJCWJyZWFrOwoJCQkJfQoJCQl9CgkJCWlmICgkdGhpcy0+ZGVidWcpIHsKCQkJCXByaW50ICI8Yj5JbnRlcm5hbF9DbGVhbnVwV1NCeUl0ZXJhdGluZ1BvaW50ZXI6PC9iPiBwb2ludGVyIGlzIG5vdyAkcG9zPGJyIC8+XG4iCgkJCQkJLiAiPGI+SW50ZXJuYWxfQ2xlYW51cFdTQnlJdGVyYXRpbmdQb2ludGVyOjwvYj4gYXJyYXk6IDx0dD4iCgkJCQkJLiAkdGhpcy0+SW50ZXJuYWxfRHVtcFN0YWNrKCRhcnJheSkgLiAiPC90dD48YnIgLz5cbiI7CgkJCX0KCQkJcmV0dXJuICRwb3M7CgkJfQoKCQkvLyBXZSBoYXZlIGEgc3RyaW5nIHRoYXQncyB0b28gbG9uZywgc28gY2hvcCBpdCBvZmYgYXQgYSBzdWl0YWJsZSBicmVhayBzbyB0aGF0IGl0J3MKCQkvLyBubyBsb25nZXIgdGhhbiAkbGltaXQgY2hhcmFjdGVycywgaWYgYXQgYWxsIHBvc3NpYmxlIChpZiB0aGVyZSdzIG5vd2hlcmUgdG8gYnJlYWsKCQkvLyBiZWZvcmUgdGhhdCwgd2UganVzdCBjaG9wIGF0ICRsaW1pdCkuCgkJZnVuY3Rpb24gSW50ZXJuYWxfTGltaXRUZXh0KCRzdHJpbmcsICRsaW1pdCkgewoJCQlpZiAoJHRoaXMtPmRlYnVnKSB7CgkJCQlwcmludCAiPGI+SW50ZXJuYWxfTGltaXRUZXh0OjwvYj4gY2hvcHBpbmcgc3RyaW5nIG9mIGxlbmd0aCAiCgkJCQkJLiBzdHJsZW4oJHN0cmluZykgLiAiIGF0ICRsaW1pdC48YnIgLz5cbiI7CgkJCX0KCQkJJGNodW5rcyA9IHByZWdfc3BsaXQoIi8oW1xceDAwLVxceDIwXSspLyIsICRzdHJpbmcsIC0xLCBQUkVHX1NQTElUX0RFTElNX0NBUFRVUkUpOwoJCQkkb3V0cHV0ID0gIiI7CgkJCWZvcmVhY2ggKCRjaHVua3MgYXMgJGNodW5rKSB7CgkJCQlpZiAoc3RybGVuKCRvdXRwdXQpICsgc3RybGVuKCRjaHVuaykgPiAkbGltaXQpCgkJCQkJYnJlYWs7CgkJCQkkb3V0cHV0IC49ICRjaHVuazsKCQkJfQoJCQkkb3V0cHV0ID0gcnRyaW0oJG91dHB1dCk7CgkJCWlmICgkdGhpcy0+ZGVidWcpCgkJCQlwcmludCAiPGI+SW50ZXJuYWxfTGltaXRUZXh0OjwvYj4gcmVzdWx0aW5nIHN0cmluZyBpcyBsZW5ndGggIiAuIHN0cmxlbigkb3V0cHV0KSAuICIuPGJyIC8+XG4iOwoJCQlyZXR1cm4gJG91dHB1dDsKCQl9CgoJCS8vIElmIHdlJ3ZlIHJlYWNoZWQgdGhlIHRleHQgbGltaXQsIGNsZWFuIHVwIHRoZSBzdGFjaywgcHVzaCB0aGUgbGltaXQgdGFpbCwKCQkvLyBzZXQgdGhlIHdlLWhpdC10aGUtbGltaXQgZmxhZywgYW5kIHJldHVybi4KCQlmdW5jdGlvbiBJbnRlcm5hbF9Eb0xpbWl0KCkgewoJCQkkdGhpcy0+SW50ZXJuYWxfQ2xlYW51cFdTQnlQb3BwaW5nU3RhY2soImEiLCAkdGhpcy0+c3RhY2spOwoKCQkJaWYgKHN0cmxlbigkdGhpcy0+bGltaXRfdGFpbCkgPiAwKSB7CgkJCQkkdGhpcy0+c3RhY2tbXSA9IEFycmF5KAoJCQkJCUJCQ09ERV9TVEFDS19UT0tFTiA9PiBCQkNPREVfVEVYVCwKCQkJCQlCQkNPREVfU1RBQ0tfVEVYVCA9PiAkdGhpcy0+bGltaXRfdGFpbCwKCQkJCQlCQkNPREVfU1RBQ0tfVEFHID0+IGZhbHNlLAoJCQkJCUJCQ09ERV9TVEFDS19DTEFTUyA9PiAkdGhpcy0+Y3VycmVudF9jbGFzcywKCQkJCSk7CgkJCX0KCgkJCSR0aGlzLT53YXNfbGltaXRlZCA9IHRydWU7CgkJfQoKCQkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkJLy8gIFRhZyBldmFsdWF0aW9uIGxvZ2ljIChpbnRlcm5hbCkuCgoJCS8vIFByb2Nlc3MgYSB0YWc6CgkJLy8KCQkvLyAgICRhY3Rpb24gaXMgb25lIG9mIEJCQ09ERV9DSEVDSyBvciBCQkNPREVfT1VUUFVULiAgRHVyaW5nIEJCQ09ERV9DSEVDSywgJGNvbnRlbnRzCgkJLy8gICAgICAgIHdpbGwgKmFsd2F5cyogYmUgdGhlIGVtcHR5IHN0cmluZywgYW5kIHRoaXMgZnVuY3Rpb24gc2hvdWxkIHJldHVybiB0cnVlIGlmCgkJLy8gICAgICAgIHRoZSB0YWcgaXMgbGVnYWwgYmFzZWQgb24gdGhlIGF2YWlsYWJsZSBpbmZvcm1hdGlvbjsgb3IgaXQgc2hvdWxkIHJldHVybgoJCS8vICAgICAgICBmYWxzZSBpZiB0aGUgdGFnIGlzIGlsbGVnYWwuICBEdXJpbmcgQkJDT0RFX09VVFBVVCwgJGNvbnRlbnRzIHdpbGwgYWx3YXlzCgkJLy8gICAgICAgIGJlIHZhbGlkLCBhbmQgdGhpcyBmdW5jdGlvbiBzaG91bGQgcmV0dXJuIEhUTUwuCgkJLy8KCQkvLyAgICR0YWdfbmFtZSBpcyB0aGUgbmFtZSBvZiB0aGUgdGFnIGJlaW5nIHByb2Nlc3NlZC4KCQkvLwoJCS8vICAgJGRlZmF1bHRfdmFsdWUgaXMgdGhlIGRlZmF1bHQgdmFsdWUgZ2l2ZW47IGZvciBleGFtcGxlLCBpbiBbdXJsPWZvb10sIGl0J3MgImZvbyIuCgkJLy8gICAgICAgIFRoaXMgdmFsdWUgaGFzIE5PVCBiZWVuIHBhc3NlZCB0aHJvdWdoIGh0bWxzcGVjaWFsY2hhcnMoKS4KCQkvLwoJCS8vICAgJHBhcmFtcyBpcyBhbiBhcnJheSBvZiBrZXkgPT4gdmFsdWUgcGFyYW1ldGVycyBhc3NvY2lhdGVkIHdpdGggdGhlIHRhZzsgZm9yIGV4YW1wbGUsCgkJLy8gICAgICAgIGluIFtzbWlsZXkgc3JjPXNtaWxlIGFsdD06LSldLCBpdCdzIEFycmF5KCdzcmMnID0+ICJzbWlsZSIsICdhbHQnID0+ICI6LSkiKS4KCQkvLyAgICAgICAgVGhlc2Uga2V5cyBhbmQgdmFsdWVzIGhhdmUgTk9UIGJlZWwgcGFzc2VkIHRocm91Z2ggaHRtbHNwZWNpYWxjaGFycygpLgoJCS8vCgkJLy8gICAkY29udGVudHMgaXMgdGhlIGJvZHkgb2YgdGhlIHRhZyBkdXJpbmcgQkJDT0RFX09VVFBVVC4gIEZvciBleGFtcGxlLCBpbgoJCS8vICAgICAgICBbYl1IZWxsb1svYl0sIGl0J3MgIkhlbGxvIi4gIFRISVMgVkFMVUUgSVMgQUxXQVlTIEhUTUwsIG5vdCBCQkNvZGUuCgkJLy8KCQkvLyBGb3IgQkJDT0RFX0NIRUNLLCB0aGlzIG11c3QgcmV0dXJuIHRydWUgKGlmIHRoZSB0YWcgZGVmaW5pdGlvbiBpcyB2YWxpZCkgb3IgZmFsc2UKCQkvLyAoaWYgdGhlIHRhZyBkZWZpbml0aW9uIGlzIG5vdCB2YWxpZCk7IGZvciBCQkNPREVfT1VUUFVULCB0aGlzIGZ1bmN0aW9uIG11c3QgcmV0dXJuCgkJLy8gSFRNTCBvdXRwdXQuCgkJZnVuY3Rpb24gRG9UYWcoJGFjdGlvbiwgJHRhZ19uYW1lLCAkZGVmYXVsdF92YWx1ZSwgJHBhcmFtcywgJGNvbnRlbnRzKSB7CgkJCSR0YWdfcnVsZSA9IEAkdGhpcy0+dGFnX3J1bGVzWyR0YWdfbmFtZV07CgoJCQlzd2l0Y2ggKCRhY3Rpb24pIHsKCgkJCWNhc2UgQkJDT0RFX0NIRUNLOgoJCQkJaWYgKCR0aGlzLT5kZWJ1ZykKCQkJCQlwcmludCAiPGI+RG9UYWc6PC9iPiBjaGVjayB0YWcgPHR0PlsiIC4gaHRtbHNwZWNpYWxjaGFycygkdGFnX25hbWUpIC4gIl08L3R0PjxiciAvPlxuIjsKCgkJCQlpZiAoaXNzZXQoJHRhZ19ydWxlWydhbGxvdyddKSkgewoJCQkJCS8vIEFuICdhbGxvdycgYXJyYXksIGlmIGdpdmVuLCBvdmVycmlkZXMgdGhlIG90aGVyIGNoZWNrIHRlY2huaXF1ZXMuCgkJCQkJZm9yZWFjaCAoJHRhZ19ydWxlWydhbGxvdyddIGFzICRwYXJhbSA9PiAkcGF0dGVybikgewoJCQkJCQlpZiAoJHBhcmFtID09ICdfY29udGVudCcpICR2YWx1ZSA9ICRjb250ZW50czsKCQkJCQkJZWxzZSBpZiAoJHBhcmFtID09ICdfZGVmYXVsdGNvbnRlbnQnKSB7CgkJCQkJCQlpZiAoc3RybGVuKCRkZWZhdWx0X3ZhbHVlKSkKCQkJCQkJCQkkdmFsdWUgPSAkZGVmYXVsdF92YWx1ZTsKCQkJCQkJCWVsc2UgJHZhbHVlID0gJGNvbnRlbnRzOwoJCQkJCQl9CgkJCQkJCWVsc2UgewoJCQkJCQkJaWYgKGlzc2V0KCRwYXJhbXNbJHBhcmFtXSkpCgkJCQkJCQkJJHZhbHVlID0gJHBhcmFtc1skcGFyYW1dOwoJCQkJCQkJZWxzZSAkdmFsdWUgPSBAJHRhZ19ydWxlWydkZWZhdWx0J11bJHBhcmFtXTsKCQkJCQkJfQoJCQkJCQlpZiAoJHRoaXMtPmRlYnVnKSB7CgkJCQkJCQlwcmludCAiPGI+RG9UYWc6PC9iPiBjaGVjayBwYXJhbWV0ZXIgPHR0PlwiIiAuIGh0bWxzcGVjaWFsY2hhcnMoJHBhcmFtKQoJCQkJCQkJCS4gIlwiPC90dD4sIHZhbHVlIDx0dD5cIiIgLiBodG1sc3BlY2lhbGNoYXJzKCR2YWx1ZSkgLiAiXCIsIGFnYWluc3QgXCIiCgkJCQkJCQkJLiBodG1sc3BlY2lhbGNoYXJzKCRwYXR0ZXJuKSAuICJcIjwvdHQ+PGJyIC8+XG4iOwoJCQkJCQl9CgkJCQkJCWlmICghcHJlZ19tYXRjaCgkcGF0dGVybiwgJHZhbHVlKSkgewoJCQkJCQkJaWYgKCR0aGlzLT5kZWJ1ZykgewoJCQkJCQkJCXByaW50ICI8Yj5Eb1RhZzo8L2I+IHBhcmFtZXRlciA8dHQ+XCIiIC4gaHRtbHNwZWNpYWxjaGFycygkcGFyYW0pCgkJCQkJCQkJCS4gIlwiPC90dD4gZmFpbGVkICdhbGxvdycgY2hlY2suPGJyIC8+XG4iOwoJCQkJCQkJfQoJCQkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJCQl9CgkJCQkJfQoJCQkJCXJldHVybiB0cnVlOwoJCQkJfQoKCQkJCXN3aXRjaCAoQCR0YWdfcnVsZVsnbW9kZSddKSB7CgkJCQkKCQkJCWRlZmF1bHQ6CgkJCQljYXNlIEJCQ09ERV9NT0RFX1NJTVBMRToKCQkJCQkkcmVzdWx0ID0gdHJ1ZTsKCQkJCQlicmVhazsKCgkJCQljYXNlIEJCQ09ERV9NT0RFX0VOSEFOQ0VEOgoJCQkJCSRyZXN1bHQgPSB0cnVlOwoJCQkJCWJyZWFrOwoJCQkJCgkJCQljYXNlIEJCQ09ERV9NT0RFX0lOVEVSTkFMOgoJCQkJCSRyZXN1bHQgPSBAY2FsbF91c2VyX2Z1bmMoQXJyYXkoJHRoaXMsIEAkdGFnX3J1bGVbJ21ldGhvZCddKSwgQkJDT0RFX0NIRUNLLAoJCQkJCQkkdGFnX25hbWUsICRkZWZhdWx0X3ZhbHVlLCAkcGFyYW1zLCAkY29udGVudHMpOwoJCQkJCWJyZWFrOwoKCQkJCWNhc2UgQkJDT0RFX01PREVfTElCUkFSWToKCQkJCQkkcmVzdWx0ID0gQGNhbGxfdXNlcl9mdW5jKEFycmF5KCR0aGlzLT5kZWZhdWx0cywgQCR0YWdfcnVsZVsnbWV0aG9kJ10pLCAkdGhpcywgQkJDT0RFX0NIRUNLLAoJCQkJCQkkdGFnX25hbWUsICRkZWZhdWx0X3ZhbHVlLCAkcGFyYW1zLCAkY29udGVudHMpOwoJCQkJCWJyZWFrOwoJCQkJCQkKCQkJCWNhc2UgQkJDT0RFX01PREVfQ0FMTEJBQ0s6CgkJCQkJJHJlc3VsdCA9IEBjYWxsX3VzZXJfZnVuYyhAJHRhZ19ydWxlWydtZXRob2QnXSwgJHRoaXMsIEJCQ09ERV9DSEVDSywKCQkJCQkJJHRhZ19uYW1lLCAkZGVmYXVsdF92YWx1ZSwgJHBhcmFtcywgJGNvbnRlbnRzKTsKCQkJCQlicmVhazsKCQkJCX0KCQkJCQoJCQkJaWYgKCR0aGlzLT5kZWJ1ZykgewoJCQkJCXByaW50ICI8Yj5Eb1RhZzo8L2I+IHRhZyA8dHQ+WyIgLiBodG1sc3BlY2lhbGNoYXJzKCR0YWdfbmFtZSkgLiAiXTwvdHQ+IHJldHVybmVkICIKCQkJCQkJLiAoJHJlc3VsdCA/ICJ0cnVlIiA6ICJmYWxzZSIpIC4gIjxiciAvPlxuIjsKCQkJCX0KCgkJCQlyZXR1cm4gJHJlc3VsdDsKCgkJCWNhc2UgQkJDT0RFX09VVFBVVDoKCQkJCWlmICgkdGhpcy0+ZGVidWcpIHsKCQkJCQlwcmludCAiPGI+RG9UYWc6PC9iPiBvdXRwdXQgdGFnIDx0dD5bIiAuIGh0bWxzcGVjaWFsY2hhcnMoJHRhZ19uYW1lKQoJCQkJCQkuICJdPC90dD46IGNvbnRlbnRzPTx0dD4iCgkJCQkJCS4gaHRtbHNwZWNpYWxjaGFycygkY29udGVudHMpIC4gIjwvdHQ+PGJyIC8+XG4iOwoJCQkJfQoKCQkJCWlmICgkdGhpcy0+cGxhaW5fbW9kZSkgewoJCQkJCS8vIEluIHBsYWluIG1vZGUsIHdlIGlnbm9yZSB0aGUgdGFnIHJ1bGVzIGFsbW9zdCBlbnRpcmVseSwgdXNpbmcganVzdAoJCQkJCS8vIHRoZSAncGxhaW5fc3RhcnQnIGFuZCAncGxhaW5fZW5kJyBiZWZvcmUgdGhlIGNvbnRlbnQgc3BlY2lmaWVkIGluCgkJCQkJLy8gdGhlICdwbGFpbl9jb250ZW50JyBtZW1iZXIuCgkJCQkJaWYgKCFpc3NldCgkdGFnX3J1bGVbJ3BsYWluX2NvbnRlbnQnXSkpCgkJCQkJCSRwbGFpbl9jb250ZW50ID0gQXJyYXkoJ19jb250ZW50Jyk7CgkJCQkJZWxzZSAkcGxhaW5fY29udGVudCA9ICR0YWdfcnVsZVsncGxhaW5fY29udGVudCddOwoJCQkJCQoJCQkJCS8vIEZpbmQgdGhlIHJlcXVlc3RlZCBjb250ZW50LCBpbiB0aGUgb3JkZXIgc3BlY2lmaWVkLgoJCQkJCSRyZXN1bHQgPSAkcG9zc2libGVfY29udGVudCA9ICIiOwoJCQkJCWZvcmVhY2ggKCRwbGFpbl9jb250ZW50IGFzICRwb3NzaWJsZV9jb250ZW50KSB7CgkJCQkJCWlmICgkcG9zc2libGVfY29udGVudCA9PSAnX2NvbnRlbnQnCgkJCQkJCQkmJiBzdHJsZW4oJGNvbnRlbnRzKSA+IDApIHsKCQkJCQkJCSRyZXN1bHQgPSAkY29udGVudHM7CgkJCQkJCQlicmVhazsKCQkJCQkJfQoJCQkJCQlpZiAoaXNzZXQoJHBhcmFtc1skcG9zc2libGVfY29udGVudF0pCgkJCQkJCQkmJiBzdHJsZW4oJHBhcmFtc1skcG9zc2libGVfY29udGVudF0pID4gMCkgewoJCQkJCQkJJHJlc3VsdCA9IGh0bWxzcGVjaWFsY2hhcnMoJHBhcmFtc1skcG9zc2libGVfY29udGVudF0pOwoJCQkJCQkJYnJlYWs7CgkJCQkJCX0KCQkJCQl9CgkJCQkJCgkJCQkJaWYgKCR0aGlzLT5kZWJ1ZykgewoJCQkJCQkkY29udGVudF9saXN0ID0gIiI7CgkJCQkJCWZvcmVhY2ggKCRwbGFpbl9jb250ZW50IGFzICRwb3NzaWJsZV9jb250ZW50KQoJCQkJCQkJJGNvbnRlbnRfbGlzdCAuPSBodG1sc3BlY2lhbGNoYXJzKCRwb3NzaWJsZV9jb250ZW50KSAuICIsIjsKCQkJCQkJcHJpbnQgIjxiPkRvVGFnOjwvYj4gcGxhaW4tbW9kZSB0YWc7IHBvc3NpYmxlIGNvbnRlbnRzIHdlcmUgKCRjb250ZW50X2xpc3QpOyB1c2luZyBcIiIKCQkJCQkJCS4gaHRtbHNwZWNpYWxjaGFycygkcG9zc2libGVfY29udGVudCkgLiAiXCI8YnIgLz5cbiI7CgkJCQkJfQoKCQkJCQkkc3RhcnQgPSBAJHRhZ19ydWxlWydwbGFpbl9zdGFydCddOwoJCQkJCSRlbmQgPSBAJHRhZ19ydWxlWydwbGFpbl9lbmQnXTsKCgkJCQkJLy8gSWYgdGhpcyBpcyBhIGxpbmsgdGFnLCBmaWd1cmUgb3V0IGl0cyB0YXJnZXQuCgkJCQkJaWYgKGlzc2V0KCR0YWdfcnVsZVsncGxhaW5fbGluayddKSkgewoJCQkJCQkvLyBGaW5kIHRoZSByZXF1ZXN0ZWQgbGluayB0YXJnZXQsIGluIHRoZSBvcmRlciBzcGVjaWZpZWQuCgkJCQkJCSRsaW5rID0gJHBvc3NpYmxlX2NvbnRlbnQgPSAiIjsKCQkJCQkJZm9yZWFjaCAoJHRhZ19ydWxlWydwbGFpbl9saW5rJ10gYXMgJHBvc3NpYmxlX2NvbnRlbnQpIHsKCQkJCQkJCWlmICgkcG9zc2libGVfY29udGVudCA9PSAnX2NvbnRlbnQnCgkJCQkJCQkJJiYgc3RybGVuKCRjb250ZW50cykgPiAwKSB7CgkJCQkJCQkJJGxpbmsgPSAkdGhpcy0+VW5IVE1MRW5jb2RlKHN0cmlwX3RhZ3MoJGNvbnRlbnRzKSk7CgkJCQkJCQkJYnJlYWs7CgkJCQkJCQl9CgkJCQkJCQlpZiAoaXNzZXQoJHBhcmFtc1skcG9zc2libGVfY29udGVudF0pCgkJCQkJCQkJJiYgc3RybGVuKCRwYXJhbXNbJHBvc3NpYmxlX2NvbnRlbnRdKSA+IDApIHsKCQkJCQkJCQkkbGluayA9ICRwYXJhbXNbJHBvc3NpYmxlX2NvbnRlbnRdOwoJCQkJCQkJCWJyZWFrOwoJCQkJCQkJfQoJCQkJCQl9CgkJCQkJCSRwYXJhbXMgPSBAcGFyc2VfdXJsKCRsaW5rKTsKCQkJCQkJaWYgKCFpc19hcnJheSgkcGFyYW1zKSkgJHBhcmFtcyA9IEFycmF5KCk7CgkJCQkJCSRwYXJhbXNbJ2xpbmsnXSA9ICRsaW5rOwoJCQkJCQkkcGFyYW1zWyd1cmwnXSA9ICRsaW5rOwoJCQkJCQkkc3RhcnQgPSAkdGhpcy0+RmlsbFRlbXBsYXRlKCRzdGFydCwgJHBhcmFtcyk7CgkJCQkJCSRlbmQgPSAkdGhpcy0+RmlsbFRlbXBsYXRlKCRlbmQsICRwYXJhbXMpOwoJCQkJCX0KCgkJCQkJLy8gQ29uc3RydWN0IHRoZSBwbGFpbiBvdXRwdXQgdXNpbmcgdGhlIGF2YWlsYWJsZSBjb250ZW50LgoJCQkJCXJldHVybiAkc3RhcnQgLiAkcmVzdWx0IC4gJGVuZDsKCQkJCX0KCQkJCQoJCQkJc3dpdGNoIChAJHRhZ19ydWxlWydtb2RlJ10pIHsKCgkJCQlkZWZhdWx0OgoJCQkJY2FzZSBCQkNPREVfTU9ERV9TSU1QTEU6CgkJCQkJJHJlc3VsdCA9IEAkdGFnX3J1bGVbJ3NpbXBsZV9zdGFydCddIC4gJGNvbnRlbnRzIC4gQCR0YWdfcnVsZVsnc2ltcGxlX2VuZCddOwoJCQkJCWJyZWFrOwoKCQkJCWNhc2UgQkJDT0RFX01PREVfRU5IQU5DRUQ6CgkJCQkJJHJlc3VsdCA9ICR0aGlzLT5JbnRlcm5hbF9Eb0VuaGFuY2VkVGFnKCR0YWdfcnVsZSwgJHBhcmFtcywgJGNvbnRlbnRzKTsKCQkJCQlicmVhazsKCgkJCQljYXNlIEJCQ09ERV9NT0RFX0lOVEVSTkFMOgoJCQkJCSRyZXN1bHQgPSBAY2FsbF91c2VyX2Z1bmMoQXJyYXkoJHRoaXMsIEAkdGFnX3J1bGVbJ21ldGhvZCddKSwgQkJDT0RFX09VVFBVVCwKCQkJCQkJJHRhZ19uYW1lLCAkZGVmYXVsdF92YWx1ZSwgJHBhcmFtcywgJGNvbnRlbnRzKTsKCQkJCQlicmVhazsKCgkJCQljYXNlIEJCQ09ERV9NT0RFX0xJQlJBUlk6CgkJCQkJJHJlc3VsdCA9IEBjYWxsX3VzZXJfZnVuYyhBcnJheSgkdGhpcy0+ZGVmYXVsdHMsIEAkdGFnX3J1bGVbJ21ldGhvZCddKSwgJHRoaXMsIEJCQ09ERV9PVVRQVVQsCgkJCQkJCSR0YWdfbmFtZSwgJGRlZmF1bHRfdmFsdWUsICRwYXJhbXMsICRjb250ZW50cyk7CgkJCQkJYnJlYWs7CgoJCQkJY2FzZSBCQkNPREVfTU9ERV9DQUxMQkFDSzoKCQkJCQkkcmVzdWx0ID0gQGNhbGxfdXNlcl9mdW5jKEAkdGFnX3J1bGVbJ21ldGhvZCddLCAkdGhpcywgQkJDT0RFX09VVFBVVCwKCQkJCQkJJHRhZ19uYW1lLCAkZGVmYXVsdF92YWx1ZSwgJHBhcmFtcywgJGNvbnRlbnRzKTsKCQkJCQlicmVhazsKCQkJCX0KCgkJCQlpZiAoJHRoaXMtPmRlYnVnKSB7CgkJCQkJcHJpbnQgIjxiPkRvVGFnOjwvYj4gb3V0cHV0IHRhZyA8dHQ+WyIgLiBodG1sc3BlY2lhbGNoYXJzKCR0YWdfbmFtZSkKCQkJCQkJLiAiXTwvdHQ+OiByZXN1bHQ9PHR0PiIgLiBodG1sc3BlY2lhbGNoYXJzKCRyZXN1bHQpIC4gIjwvdHQ+PGJyIC8+XG4iOwoJCQkJfQoKCQkJCXJldHVybiAkcmVzdWx0OwoKCQkJZGVmYXVsdDoKCQkJCWlmICgkdGhpcy0+ZGVidWcpCgkJCQkJcHJpbnQgIjxiPkRvVGFnOjwvYj4gdW5rbm93biBhY3Rpb24gJGFjdGlvbiByZXF1ZXN0ZWQuPGJyIC8+XG4iOwoKCQkJCXJldHVybiBmYWxzZTsKCQkJfQoJCX0KCgkJLy8gRm9ybWF0IGFuIGVuaGFuY2VkIHRhZywgd2hpY2ggaXMgbGlrZSBhIHNpbXBsZSB0YWcgYnV0IHVzZXMgYSBzaG9ydCBIVE1MIHRlbXBsYXRlCgkJLy8gZm9yIGl0cyBmb3JtYXR0aW5nIGluc3RlYWQuCgkJLy8KCQkvLyBUaGUgdmFyaWFibGVzIHlvdSBtYXkgdXNlIGFyZSB0aGUgcGFyYW1ldGVycyBvZiB0aGUgdGFnLCBhbmQgJ19kZWZhdWx0JyBmb3IgaXRzCgkJLy8gZGVmYXVsdCB2YWx1ZSwgJ19uYW1lJyBmb3IgaXRzIG5hbWUsIGFuZCAnX2NvbnRlbnQnIGZvciBpdHMgY29udGVudHMgKGJvZHkpLgoJCS8vIE5vdGUgdGhhdCBpbiBlbmhhbmNlZCBtb2RlLCB0aGUgdGFnIHBhcmFtZXRlcnMnIGtleXMgbXVzdCBtYXRjaCBbYS16QS1aMC05XzotXSssCgkJLy8gdGhhdCBpcywgYWxwaGFudW1lcmljLCB3aXRoIHVuZGVyc2NvcmUsIGNvbG9uLCBvciBoeXBoZW4uCgkJZnVuY3Rpb24gSW50ZXJuYWxfRG9FbmhhbmNlZFRhZygkdGFnX3J1bGUsICRwYXJhbXMsICRjb250ZW50cykgewoKCQkJLy8gU2V0IHVwIHRoZSBzcGVjaWFsICJfY29udGVudCIgYW5kICJfZGVmYXVsdGNvbnRlbnQiIHBhcmFtZXRlcnMuCgkJCSRwYXJhbXNbJ19jb250ZW50J10gPSAkY29udGVudHM7CgkJCSRwYXJhbXNbJ19kZWZhdWx0Y29udGVudCddID0gc3RybGVuKEAkcGFyYW1zWydfZGVmYXVsdCddKSA/ICRwYXJhbXNbJ19kZWZhdWx0J10gOiAkY29udGVudHM7CgoJCQkvLyBOb3cgdXNlIGNvbW1vbiB0ZW1wbGF0ZS1mb3JtYXR0aW5nIGxvZ2ljLgoJCQlyZXR1cm4gJHRoaXMtPkZpbGxUZW1wbGF0ZShAJHRhZ19ydWxlWyd0ZW1wbGF0ZSddLCAkcGFyYW1zLCBAJHRhZ19ydWxlWydkZWZhdWx0J10pOwoJCX0KCgkJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJCS8vICBQYXJzZXIgdG9rZW4tcHJvY2Vzc2luZyByb3V0aW5lcyAoaW50ZXJuYWwpLgoKCQkvLyBJZiBhbiBlbmQtdGFnIGlzIHJlcXVpcmVkL29wdGlvbmFsIGJ1dCBtaXNzaW5nLCB3ZSBzaW11bGF0ZSBpdCBoZXJlIHNvIHRoYXQgdGhlCgkJLy8gcnVsZSBoYW5kbGVycyBzdGlsbCBzZWUgYSB2YWxpZCAnX2VuZHRhZycgcGFyYW1ldGVyLiAgVGhpcyB3YXksIGFsbCBydWxlcyBhbHdheXMKCQkvLyBzZWUgdmFsaWQgJ19lbmR0YWcnIHBhcmFtZXRlcnMgZXhjZXB0IGZvciBydWxlcyBmb3IgaXNvbGF0ZWQgdGFncy4KCQlmdW5jdGlvbiBJbnRlcm5hbF9VcGRhdGVQYXJhbXNGb3JNaXNzaW5nRW5kVGFnKCYkcGFyYW1zKSB7CgkJCXN3aXRjaCAoJHRoaXMtPnRhZ19tYXJrZXIpIHsKCQkJY2FzZSAnWyc6ICR0YWlsX21hcmtlciA9ICddJzsgYnJlYWs7CgkJCWNhc2UgJzwnOiAkdGFpbF9tYXJrZXIgPSAnPic7IGJyZWFrOwoJCQljYXNlICd7JzogJHRhaWxfbWFya2VyID0gJ30nOyBicmVhazsKCQkJY2FzZSAnKCc6ICR0YWlsX21hcmtlciA9ICcpJzsgYnJlYWs7CgkJCWRlZmF1bHQ6ICR0YWlsX21hcmtlciA9ICR0aGlzLT50YWdfbWFya2VyOyBicmVhazsKCQkJfQoJCQkkcGFyYW1zWydfZW5kdGFnJ10gPSAkdGhpcy0+dGFnX21hcmtlciAuICcvJyAuICRwYXJhbXNbJ19uYW1lJ10gLiAkdGFpbF9tYXJrZXI7CgkJfQoKCQkvLyBQcm9jZXNzIGFuIGlzb2xhdGVkIHRhZywgYSB0YWcgdGhhdCBpcyBub3QgYWxsb3dlZCB0byBoYXZlIGFuIGVuZCB0YWcuCgkJZnVuY3Rpb24gSW50ZXJuYWxfUHJvY2Vzc0lzb2xhdGVkVGFnKCR0YWdfbmFtZSwgJHRhZ19wYXJhbXMsICR0YWdfcnVsZSkgewoJCQlpZiAoJHRoaXMtPmRlYnVnKSB7CgkJCQlwcmludCAiPGI+UHJvY2Vzc0lzb2xhdGVkVGFnOjwvYj4gdGFnIDx0dD5bIiAuIGh0bWxzcGVjaWFsY2hhcnMoJHRhZ19uYW1lKQoJCQkJCS4gIl08L3R0PiBpcyBpc29sYXRlZDogbm8gZW5kIHRhZyBhbGxvd2VkLCBzbyBwcm9jZXNzaW5nIGltbWVkaWF0ZWx5LjxiciAvPlxuIjsKCQkJfQoKCQkJLy8gQXNrIHRoaXMgdGFnIGlmIGl0cyBhdHRyaWJ1dGVzIGFyZSB2YWxpZDsgdGhpcyBnaXZlcyB0aGUgdGFnCgkJCS8vIHRoZSBvcHRpb24gdG8gc2F5LCBubywgSSdtIGJyb2tlbiwgZG9uJ3QgdHJ5IHRvIHByb2Nlc3MgbWUuCgkJCWlmICghJHRoaXMtPkRvVGFnKEJCQ09ERV9DSEVDSywgJHRhZ19uYW1lLCBAJHRhZ19wYXJhbXNbJ19kZWZhdWx0J10sICR0YWdfcGFyYW1zLCAiIikpIHsKCQkJCWlmICgkdGhpcy0+ZGVidWcpIHsKCQkJCQlwcmludCAiPGI+UHJvY2Vzc0lzb2xhdGVkVGFnOjwvYj4gaXNvbGF0ZWQgdGFnIDx0dD5bIiAuIGh0bWxzcGVjaWFsY2hhcnMoJHRhZ19uYW1lKQoJCQkJCQkuICJdPC90dD4gcmVqZWN0ZWQgaXRzIHBhcmFtZXRlcnM7IG91dHB1dHRpbmcgYXMgdGV4dCBhZnRlciBmaXh1cC48YnIgLz5cbiI7CgkJCQl9CgkJCQkkdGhpcy0+c3RhY2tbXSA9IEFycmF5KAoJCQkJCUJCQ09ERV9TVEFDS19UT0tFTiA9PiBCQkNPREVfVEVYVCwKCQkJCQlCQkNPREVfU1RBQ0tfVEVYVCA9PiAkdGhpcy0+Rml4dXBPdXRwdXQoJHRoaXMtPmxleGVyLT50ZXh0KSwKCQkJCQlCQkNPREVfU1RBQ0tfVEFHID0+IGZhbHNlLAoJCQkJCUJCQ09ERV9TVEFDS19DTEFTUyA9PiAkdGhpcy0+Y3VycmVudF9jbGFzcywKCQkJCSk7CgkJCQlyZXR1cm47CgkJCX0KCgkJCSR0aGlzLT5JbnRlcm5hbF9DbGVhbnVwV1NCeVBvcHBpbmdTdGFjayhAJHRhZ19ydWxlWydiZWZvcmVfdGFnJ10sICR0aGlzLT5zdGFjayk7CgkJCSRvdXRwdXQgPSAkdGhpcy0+RG9UYWcoQkJDT0RFX09VVFBVVCwgJHRhZ19uYW1lLCBAJHRhZ19wYXJhbXNbJ19kZWZhdWx0J10sICR0YWdfcGFyYW1zLCAiIik7CgkJCSR0aGlzLT5JbnRlcm5hbF9DbGVhbnVwV1NCeUVhdGluZ0lucHV0KEAkdGFnX3J1bGVbJ2FmdGVyX3RhZyddKTsKCgkJCWlmICgkdGhpcy0+ZGVidWcpIHsKCQkJCXByaW50ICI8Yj5Qcm9jZXNzSXNvbGF0ZWRUYWc6PC9iPiBpc29sYXRlZCB0YWcgPHR0PlsiIC4gaHRtbHNwZWNpYWxjaGFycygkdGFnX25hbWUpCgkJCQkJLiAiXTwvdHQ+IGlzIGRvbmU7IHB1c2hpbmcgaXRzIG91dHB1dDogPHR0PiIgLiBodG1sc3BlY2lhbGNoYXJzKCRvdXRwdXQpIC4gIjwvdHQ+PGJyIC8+XG4iOwoJCQl9CgoJCQkkdGhpcy0+c3RhY2tbXSA9IEFycmF5KAoJCQkJQkJDT0RFX1NUQUNLX1RPS0VOID0+IEJCQ09ERV9URVhULAoJCQkJQkJDT0RFX1NUQUNLX1RFWFQgPT4gJG91dHB1dCwKCQkJCUJCQ09ERV9TVEFDS19UQUcgPT4gZmFsc2UsCgkJCQlCQkNPREVfU1RBQ0tfQ0xBU1MgPT4gJHRoaXMtPmN1cnJlbnRfY2xhc3MsCgkJCSk7CgkJfQoKCQkvLyBQcm9jZXNzIGEgdmVyYmF0aW0gdGFnLCBhIHRhZyB3aG9zZSBjb250ZW50cyAoYm9keSkgbXVzdCBub3QgYmUgcHJvY2Vzc2VkIGF0IGFsbC4KCQlmdW5jdGlvbiBJbnRlcm5hbF9Qcm9jZXNzVmVyYmF0aW1UYWcoJHRhZ19uYW1lLCAkdGFnX3BhcmFtcywgJHRhZ19ydWxlKSB7CgoJCQkvLyBUaGlzIHRhZyBpcyBhIHNwZWNpYWwgdHlwZSB0aGF0IGRpc2FsbG93cyBhbGwgb3RoZXIgZm9ybWF0dGluZwoJCQkvLyB0YWdzIHdpdGhpbiBpdCBhbmQgd2FudHMgaXRzIGNvbnRlbnRzIHJlcHJvZHVjZWQgdmVyYmF0aW0gdW50aWwKCQkJLy8gaXRzIG1hdGNoaW5nIGVuZCB0YWcuICBXZSBzYXZlIHRoZSBzdGF0ZSBvZiB0aGUgbGV4ZXIgaW4gY2FzZQoJCQkvLyB3ZSBjYW4ndCBmaW5kIGFuIGVuZCB0YWcsIGluIHdoaWNoIGNhc2Ugd2UnbGwgaGF2ZSB0byByZWplY3QgdGhlCgkJCS8vIHN0YXJ0IHRhZyBhcyBicm9rZW4uCgkJCSRzdGF0ZSA9ICR0aGlzLT5sZXhlci0+U2F2ZVN0YXRlKCk7CgkJCQoJCQkkZW5kX3RhZyA9ICR0aGlzLT5sZXhlci0+dGFnbWFya2VyIC4gIi8iIC4gJHRhZ19uYW1lIC4gJHRoaXMtPmxleGVyLT5lbmRfdGFnbWFya2VyOwoKCQkJaWYgKCR0aGlzLT5kZWJ1ZykgewoJCQkJcHJpbnQgIjxiPkludGVybmFsX1Byb2Nlc3NWZXJiYXRpbVRhZzo8L2I+IHRhZyA8dHQ+WyIgLiBodG1sc3BlY2lhbGNoYXJzKCR0YWdfbmFtZSkKCQkJCQkuICJdPC90dD4gdXNlcyB2ZXJiYXRpbSBjb250ZW50OiBzZWFyY2hpbmcgZm9yICRlbmRfdGFnLi4uPGJyIC8+XG4iOwoJCQl9CgoJCQkvLyBQdXNoIHRva2VucyB1bnRpbCB3ZSBmaW5kIGEgbWF0Y2hpbmcgZW5kIHRhZyBvciBlbmQtb2YtaW5wdXQuCgkJCSRzdGFydCA9IGNvdW50KCR0aGlzLT5zdGFjayk7CgkJCSR0aGlzLT5sZXhlci0+dmVyYmF0aW0gPSB0cnVlOwoJCQl3aGlsZSAoKCR0b2tlbl90eXBlID0gJHRoaXMtPmxleGVyLT5OZXh0VG9rZW4oKSkgIT0gQkJDT0RFX0VPSSkgewoJCQkJaWYgKCR0aGlzLT5sZXhlci0+dGV4dCA9PSAkZW5kX3RhZykgewoJCQkJCS8vIEZvdW5kIHRoZSBlbmQgdGFnLCBzbyB3ZSdyZSBkb25lLgoJCQkJCSRlbmRfdGFnX3BhcmFtcyA9ICR0aGlzLT5sZXhlci0+dGFnOwoJCQkJCWJyZWFrOwoJCQkJfQoJCQkJaWYgKCR0aGlzLT5kZWJ1ZykgewoJCQkJCXByaW50ICI8Yj5JbnRlcm5hbF9Qcm9jZXNzVmVyYmF0aW1UYWc6PC9iPiBwdXNoOiA8dHQ+IgoJCQkJCQkuIGh0bWxzcGVjaWFsY2hhcnMoJHRoaXMtPmxleGVyLT50ZXh0KSAuICI8L3R0PjxiciAvPlxuIjsKCQkJCX0KCgkJCQkvLyBJZiB0aGlzIHRva2VuIHB1c2hlcyB1cyBwYXN0IHRoZSBvdXRwdXQgbGltaXQsIHNwbGl0IGl0IHVwIG9uIGEgd2hpdGVzcGFjZQoJCQkJLy8gYm91bmRhcnksIGFkZCBhcyBtdWNoIGFzIHdlIGNhbiwgYW5kIHRoZW4gYWJvcnQuCgkJCQlpZiAoJHRoaXMtPm91dHB1dF9saW1pdCA+IDAKCQkJCQkmJiAkdGhpcy0+dGV4dF9sZW5ndGggKyBzdHJsZW4oJHRoaXMtPmxleGVyLT50ZXh0KSA+PSAkdGhpcy0+b3V0cHV0X2xpbWl0KSB7CgkJCQkJJHRleHQgPSAkdGhpcy0+SW50ZXJuYWxfTGltaXRUZXh0KCR0aGlzLT5sZXhlci0+dGV4dCwKCQkJCQkJJHRoaXMtPm91dHB1dF9saW1pdCAtICR0aGlzLT50ZXh0X2xlbmd0aCk7CgkJCQkJaWYgKHN0cmxlbigkdGV4dCkgPiAwKSB7CgkJCQkJCSR0aGlzLT50ZXh0X2xlbmd0aCArPSBzdHJsZW4oJHRleHQpOwoJCQkJCQkkdGhpcy0+c3RhY2tbXSA9IEFycmF5KAoJCQkJCQkJQkJDT0RFX1NUQUNLX1RPS0VOID0+IEJCQ09ERV9URVhULAoJCQkJCQkJQkJDT0RFX1NUQUNLX1RFWFQgPT4gJHRoaXMtPkZpeHVwT3V0cHV0KCR0ZXh0KSwKCQkJCQkJCUJCQ09ERV9TVEFDS19UQUcgPT4gZmFsc2UsCgkJCQkJCQlCQkNPREVfU1RBQ0tfQ0xBU1MgPT4gJHRoaXMtPmN1cnJlbnRfY2xhc3MsCgkJCQkJCSk7CgkJCQkJfQoJCQkJCSR0aGlzLT5JbnRlcm5hbF9Eb0xpbWl0KCk7CgkJCQkJYnJlYWs7CgkJCQl9CgkJCQkkdGhpcy0+dGV4dF9sZW5ndGggKz0gc3RybGVuKCR0aGlzLT5sZXhlci0+dGV4dCk7CgoJCQkJJHRoaXMtPnN0YWNrW10gPSBBcnJheSgKCQkJCQlCQkNPREVfU1RBQ0tfVE9LRU4gPT4gJHRva2VuX3R5cGUsCgkJCQkJQkJDT0RFX1NUQUNLX1RFWFQgPT4gaHRtbHNwZWNpYWxjaGFycygkdGhpcy0+bGV4ZXItPnRleHQpLAoJCQkJCUJCQ09ERV9TVEFDS19UQUcgPT4gJHRoaXMtPmxleGVyLT50YWcsCgkJCQkJQkJDT0RFX1NUQUNLX0NMQVNTID0+ICR0aGlzLT5jdXJyZW50X2NsYXNzLAoJCQkJKTsKCQkJfQoJCQkkdGhpcy0+bGV4ZXItPnZlcmJhdGltID0gZmFsc2U7CgkJCQoJCQkvLyBXZSd2ZSBjb2xsZWN0ZWQgYSBidW5jaCBvZiB0ZXh0IGZvciB0aGlzIHRhZy4gIE5vdywgbWFrZSBzdXJlIGl0IGVuZGVkIG9uCgkJCS8vIGEgdmFsaWQgZW5kIHRhZy4KCQkJaWYgKCR0b2tlbl90eXBlID09IEJCQ09ERV9FT0kpIHsKCQkJCS8vIE5vIGVuZCB0YWcsIHNvIHdlIGhhdmUgdG8gcmVqZWN0IHRoZSBzdGFydCB0YWcgYXMgYnJva2VuLCBhbmQKCQkJCS8vIHJld2luZCB0aGUgaW5wdXQgYmFjayB0byB3aGVyZSBpdCB3YXMgc3RpbGwgc2FuZS4KCQkJCWlmICgkdGhpcy0+ZGVidWcpIHsKCQkJCQlwcmludCAiPGI+SW50ZXJuYWxfUHJvY2Vzc1ZlcmJhdGltVGFnOjwvYj4gbm8gZW5kIHRhZzsgcmVhY2hlZCBFT0ksIHNvIHJld2luZCIKCQkJCQkJLiAiIGFuZCBwdXNoIHN0YXJ0IHRhZyBhcyB0ZXh0IGFmdGVyIGZpeHVwLjxiciAvPlxuIjsKCQkJCX0KCQkJCSR0aGlzLT5sZXhlci0+UmVzdG9yZVN0YXRlKCRzdGF0ZSk7CgkJCQkkdGhpcy0+c3RhY2tbXSA9IEFycmF5KAoJCQkJCUJCQ09ERV9TVEFDS19UT0tFTiA9PiBCQkNPREVfVEVYVCwKCQkJCQlCQkNPREVfU1RBQ0tfVEVYVCA9PiAkdGhpcy0+Rml4dXBPdXRwdXQoJHRoaXMtPmxleGVyLT50ZXh0KSwKCQkJCQlCQkNPREVfU1RBQ0tfVEFHID0+IGZhbHNlLAoJCQkJCUJCQ09ERV9TVEFDS19DTEFTUyA9PiAkdGhpcy0+Y3VycmVudF9jbGFzcywKCQkJCSk7CgkJCQlyZXR1cm47CgkJCX0KCgkJCWlmICgkdGhpcy0+ZGVidWcpCgkJCQlwcmludCAiPGI+SW50ZXJuYWxfUHJvY2Vzc1ZlcmJhdGltVGFnOjwvYj4gZm91bmQgZW5kIHRhZy48YnIgLz5cbiI7CgoJCQkvLyBDbGVhbiB1cCB3aGl0ZXNwYWNlIGV2ZXJ5d2hlcmUgZXhjZXB0IGJlZm9yZSB0aGUgc3RhcnQgdGFnLgoJCQkkbmV3c3RhcnQgPSAkdGhpcy0+SW50ZXJuYWxfQ2xlYW51cFdTQnlJdGVyYXRpbmdQb2ludGVyKEAkdGFnX3J1bGVbJ2FmdGVyX3RhZyddLCAkc3RhcnQsICR0aGlzLT5zdGFjayk7CgkJCSR0aGlzLT5JbnRlcm5hbF9DbGVhbnVwV1NCeVBvcHBpbmdTdGFjayhAJHRhZ19ydWxlWydiZWZvcmVfZW5kdGFnJ10sICR0aGlzLT5zdGFjayk7CgkJCSR0aGlzLT5JbnRlcm5hbF9DbGVhbnVwV1NCeUVhdGluZ0lucHV0KEAkdGFnX3J1bGVbJ2FmdGVyX2VuZHRhZyddKTsKCQkJCgkJCS8vIENvbGxlY3QgdGhlIG91dHB1dCBmcm9tICRuZXdzdGFydCB0byB0aGUgdG9wIG9mIHRoZSBzdGFjaywgYW5kIHRoZW4KCQkJLy8gcXVpY2tseSBwb3Agb2ZmIGFsbCBvZiB0aG9zZSB0b2tlbnMuCgkJCSRjb250ZW50ID0gJHRoaXMtPkludGVybmFsX0NvbGxlY3RUZXh0KCR0aGlzLT5zdGFjaywgJG5ld3N0YXJ0KTsKCQkJaWYgKCR0aGlzLT5kZWJ1ZykgewoJCQkJcHJpbnQgIjxiPkludGVybmFsX1Byb2Nlc3NWZXJiYXRpbVRhZzo8L2I+IHJlbW92aW5nIHN0YWNrIGVsZW1lbnRzIHN0YXJ0aW5nIGF0ICRzdGFydCAoc3RhY2sgaGFzICIKCQkJCQkuIGNvdW50KCR0aGlzLT5zdGFjaykgLiAiIGVsZW1lbnRzKS48YnIgLz5cbiI7CgkJCX0KCQkJYXJyYXlfc3BsaWNlKCR0aGlzLT5zdGFjaywgJHN0YXJ0KTsKCQkJJHRoaXMtPkludGVybmFsX0NvbXB1dGVDdXJyZW50Q2xhc3MoKTsKCQkJCgkJCS8vIENsZWFuIHVwIHdoaXRlc3BhY2UgYmVmb3JlIHRoZSBzdGFydCB0YWcgKHRoZSB0YWcgd2FzIG5ldmVyIHB1c2hlZAoJCQkvLyBvbnRvIHRoZSBzdGFjayBpdHNlbGYsIHNvIHdlIGRvbid0IG5lZWQgdG8gcmVtb3ZlIGl0KS4KCQkJJHRoaXMtPkludGVybmFsX0NsZWFudXBXU0J5UG9wcGluZ1N0YWNrKEAkdGFnX3J1bGVbJ2JlZm9yZV90YWcnXSwgJHRoaXMtPnN0YWNrKTsKCQkJCgkJCS8vIEZvdW5kIHRoZSBlbmQgdGFnLCBzbyBwcm9jZXNzIHRoaXMgdGFnIGltbWVkaWF0ZWx5IHdpdGgKCQkJLy8gdGhlIGNvbnRlbnRzIGNvbGxlY3RlZCBiZXR3ZWVuIHRoZW0uICBOb3RlIHRoYXQgd2UgZG8gTk9UCgkJCS8vIHBhc3MgdGhlIGNvbnRlbnRzIHRocm91Z2ggaHRtbHNwZWNpYWxjaGFycyBvciBGaXh1cE91dHB1dAoJCQkvLyBvciBhbnl0aGluZyBlbHNlIHRoYXQgY291bGQgc2FuaXRpemUgaXQ6ICBUaGV5IGFza2VkIGZvcgoJCQkvLyB2ZXJiYXRpbSBjb250ZW50cywgc28gdGhleSdyZSBnb2luZyB0byBnZXQgaXQuCgkJCSR0YWdfcGFyYW1zWydfZW5kdGFnJ10gPSAkZW5kX3RhZ19wYXJhbXNbJ190YWcnXTsKCQkJJHRhZ19wYXJhbXNbJ19oYXNlbmQnXSA9IHRydWU7CgkJCSRvdXRwdXQgPSAkdGhpcy0+RG9UYWcoQkJDT0RFX09VVFBVVCwgJHRhZ19uYW1lLAoJCQkJQCR0YWdfcGFyYW1zWydfZGVmYXVsdCddLCAkdGFnX3BhcmFtcywgJGNvbnRlbnQpOwoKCQkJaWYgKCR0aGlzLT5kZWJ1ZykgewoJCQkJcHJpbnQgIjxiPkludGVybmFsX1Byb2Nlc3NWZXJiYXRpbVRhZzo8L2I+IGVuZCBvZiB2ZXJiYXRpbSA8dHQ+WyIgLiBodG1sc3BlY2lhbGNoYXJzKCR0YWdfbmFtZSkKCQkJCQkuICJdPC90dD4gdGFnIHByb2Nlc3Npbmc7IHB1c2ggb3V0cHV0IGFzIHRleHQ6IDx0dD4iIC4gaHRtbHNwZWNpYWxjaGFycygkb3V0cHV0KQoJCQkJCS4gIjwvdHQ+PGJyIC8+XG4iOwoJCQl9CgoJCQkkdGhpcy0+c3RhY2tbXSA9IEFycmF5KAoJCQkJQkJDT0RFX1NUQUNLX1RPS0VOID0+IEJCQ09ERV9URVhULAoJCQkJQkJDT0RFX1NUQUNLX1RFWFQgPT4gJG91dHB1dCwKCQkJCUJCQ09ERV9TVEFDS19UQUcgPT4gZmFsc2UsCgkJCQlCQkNPREVfU1RBQ0tfQ0xBU1MgPT4gJHRoaXMtPmN1cnJlbnRfY2xhc3MsCgkJCSk7CgkJfQoKCQkvLyBDYWxsZWQgd2hlbiB0aGUgcGFyc2VyIGhhcyByZWFkIGEgQkJDT0RFX1RBRyB0b2tlbi4KCQlmdW5jdGlvbiBJbnRlcm5hbF9QYXJzZVN0YXJ0VGFnVG9rZW4oKSB7CgkJCgkJCS8vIFRhZ3MgYXJlIHNvbWV3aGF0IGNvbXBsaWNhdGVkLCBiZWNhdXNlIHRoZXkgaGF2ZSB0byBkbyBzZXZlcmFsIHRoaW5ncwoJCQkvLyBhbGwgYXQgb25jZS4gIEZpcnN0LCBsZXQncyBsb29rIHVwIHdoYXQgd2Uga25vdyBhYm91dCB0aGUgdGFnIHdlJ3ZlCgkJCS8vIGVuY291bnRlcmVkLgoJCQkkdGFnX3BhcmFtcyA9ICR0aGlzLT5sZXhlci0+dGFnOwoJCQkkdGFnX25hbWUgPSBAJHRhZ19wYXJhbXNbJ19uYW1lJ107CgkJCWlmICgkdGhpcy0+ZGVidWcpIHsKCQkJCXByaW50ICI8aHIgLz5cbjxiPkludGVybmFsX1BhcnNlU3RhcnRUYWdUb2tlbjo8L2I+IGdvdCB0YWcgPHR0PlsiCgkJCQkJLiBodG1sc3BlY2lhbGNoYXJzKCR0YWdfbmFtZSkgLiAiXTwvdHQ+LjxiciAvPlxuIjsKCQkJfQoKCQkJLy8gTWFrZSBzdXJlIHRoaXMgdGFnIGhhcyBiZWVuIGRlZmluZWQuCgkJCWlmICghaXNzZXQoJHRoaXMtPnRhZ19ydWxlc1skdGFnX25hbWVdKSkgewoJCQkJaWYgKCR0aGlzLT5kZWJ1ZykgewoJCQkJCXByaW50ICI8Yj5JbnRlcm5hbF9QYXJzZVN0YXJ0VGFnVG9rZW46PC9iPiB0YWcgPHR0PlsiIC4gaHRtbHNwZWNpYWxjaGFycygkdGFnX25hbWUpCgkJCQkJCS4gIl08L3R0PiBkb2VzIG5vdCBleGlzdDsgcHVzaGluZyBhcyB0ZXh0IGFmdGVyIGZpeHVwLjxiciAvPlxuIjsKCQkJCX0KCQkJCS8vIElmIHRoZXJlIGlzIG5vIHN1Y2ggdGFnIHdpdGggdGhpcyBuYW1lLCB0aGVuIGp1c3QgcHVzaCB0aGUgdGV4dCBhcwoJCQkJLy8gdGhvdWdoIGl0IHdhcyBwbGFpbiB0ZXh0LgoJCQkJJHRoaXMtPnN0YWNrW10gPSBBcnJheSgKCQkJCQlCQkNPREVfU1RBQ0tfVE9LRU4gPT4gQkJDT0RFX1RFWFQsCgkJCQkJQkJDT0RFX1NUQUNLX1RFWFQgPT4gJHRoaXMtPkZpeHVwT3V0cHV0KCR0aGlzLT5sZXhlci0+dGV4dCksCgkJCQkJQkJDT0RFX1NUQUNLX1RBRyA9PiBmYWxzZSwKCQkJCQlCQkNPREVfU1RBQ0tfQ0xBU1MgPT4gJHRoaXMtPmN1cnJlbnRfY2xhc3MsCgkJCQkpOwoJCQkJcmV0dXJuOwoJCQl9CgkJCSR0YWdfcnVsZSA9ICR0aGlzLT50YWdfcnVsZXNbJHRhZ19uYW1lXTsKCQkJCgkJCS8vIFdlJ3ZlIGdvdCBhIGtub3duIHRhZy4gIFNlZSBpZiBpdCdzIHZhbGlkIGluc2lkZSB0aGlzIGNsYXNzOyBmb3IgZXhhbXBsZSwKCQkJLy8gaXQncyBsZWdhbCB0byBwdXQgYW4gaW5saW5lIHRhZyBpbnNpZGUgYSBibG9jayB0YWcsIGJ1dCBub3QgbGVnYWwgdG8gcHV0IGEKCQkJLy8gYmxvY2sgdGFnIGluc2lkZSBhbiBpbmxpbmUgdGFnLgoJCQkkYWxsb3dfaW4gPSBpc19hcnJheSgkdGFnX3J1bGVbJ2FsbG93X2luJ10pCgkJCQk/ICR0YWdfcnVsZVsnYWxsb3dfaW4nXSA6IEFycmF5KCR0aGlzLT5yb290X2NsYXNzKTsKCQkJaWYgKCFpbl9hcnJheSgkdGhpcy0+Y3VycmVudF9jbGFzcywgJGFsbG93X2luKSkgewoJCQkJLy8gTm90IGFsbG93ZWQuICBSZXdpbmQgdGhlIHN0YWNrIGJhY2t3YXJkIHVudGlsIGl0IGlzIGFsbG93ZWQuCgkJCQlpZiAoJHRoaXMtPmRlYnVnKSB7CgkJCQkJcHJpbnQgIjxiPkludGVybmFsX1BhcnNlU3RhcnRUYWdUb2tlbjo8L2I+IHRhZyA8dHQ+WyIgLiBodG1sc3BlY2lhbGNoYXJzKCR0YWdfbmFtZSkKCQkJCQkJLiAiXTwvdHQ+IGlzIGRpc2FsbG93ZWQgaW5zaWRlIGNsYXNzIDx0dD4iIC4gaHRtbHNwZWNpYWxjaGFycygkdGhpcy0+Y3VycmVudF9jbGFzcykKCQkJCQkJLiAiPC90dD47IHJld2luZGluZyBzdGFjayB0byBhIHNhZmUgY2xhc3MuPGJyIC8+XG4iOwoJCQkJfQoJCQkJaWYgKCEkdGhpcy0+SW50ZXJuYWxfUmV3aW5kVG9DbGFzcygkYWxsb3dfaW4pKSB7CgkJCQkJaWYgKCR0aGlzLT5kZWJ1ZykgewoJCQkJCQlwcmludCAiPGI+SW50ZXJuYWxfUGFyc2VTdGFydFRhZ1Rva2VuOjwvYj4gbm8gc2FmZSBjbGFzcyBleGlzdHM7IHJlamVjdGluZyIKCQkJCQkJCS4gIiB0aGlzIHRhZyBhcyB0ZXh0IGFmdGVyIGZpeHVwLjxiciAvPlxuIjsKCQkJCQl9CgkJCQkJJHRoaXMtPnN0YWNrW10gPSBBcnJheSgKCQkJCQkJQkJDT0RFX1NUQUNLX1RPS0VOID0+IEJCQ09ERV9URVhULAoJCQkJCQlCQkNPREVfU1RBQ0tfVEVYVCA9PiAkdGhpcy0+Rml4dXBPdXRwdXQoJHRoaXMtPmxleGVyLT50ZXh0KSwKCQkJCQkJQkJDT0RFX1NUQUNLX1RBRyA9PiBmYWxzZSwKCQkJCQkJQkJDT0RFX1NUQUNLX0NMQVNTID0+ICR0aGlzLT5jdXJyZW50X2NsYXNzLAoJCQkJCSk7CgkJCQkJcmV0dXJuOwoJCQkJfQoJCQl9CgkJCQoJCQkvLyBPa2F5LCB0aGlzIHRhZyBpcyBhbGxvd2VkIChpbiB0aGVvcnkpLiAgTm93IHdlIG5lZWQgdG8gc2VlIHdoZXRoZXIgaXQncwoJCQkvLyBhIHRhZyB0aGF0IHJlcXVpcmVzIGFuIGVuZCB0YWcsIG9yIHdoZXRoZXIgaXQncyBlbmQtdGFnLW9wdGlvbmFsLCBvciB3aGV0aGVyCgkJCS8vIGl0J3MgZW5kLXRhZy1wcm9oaWJpdGVkLiAgSWYgaXQncyBlbmQtdGFnLXByb2hpYml0ZWQsIHRoZW4gd2UgcHJvY2VzcyBpdAoJCQkvLyByaWdodCBub3cgKG5vIGNvbnRlbnQpOyBvdGhlcndpc2UsIHdlIHB1c2ggaXQgb250byB0aGUgc3RhY2sgdG8gZGVmZXIKCQkJLy8gcHJvY2Vzc2luZyBpdCB1bnRpbCBlaXRoZXIgaXRzIGVuZCB0YWcgaXMgZW5jb3VudGVyZWQgb3Igd2UgcmVhY2ggRU9JLgoJCQkkZW5kX3RhZyA9IGlzc2V0KCR0YWdfcnVsZVsnZW5kX3RhZyddKSA/ICR0YWdfcnVsZVsnZW5kX3RhZyddIDogQkJDT0RFX1JFUVVJUkVEOwoKCQkJaWYgKCRlbmRfdGFnID09IEJCQ09ERV9QUk9ISUJJVCkgewoJCQkJLy8gTm8gZW5kIHRhZywgc28gcHJvY2VzcyB0aGlzIHRhZyBSSUdIVCBOT1cuCgkJCQkkdGhpcy0+SW50ZXJuYWxfUHJvY2Vzc0lzb2xhdGVkVGFnKCR0YWdfbmFtZSwgJHRhZ19wYXJhbXMsICR0YWdfcnVsZSk7CgkJCQlyZXR1cm47CgkJCX0KCQkJCgkJCS8vIFRoaXMgdGFnIGhhcyBhIEJCQ09ERV9SRVFVSVJFRCBvciBCQkNPREVfT1BUSU9OQUwgZW5kIHRhZywgc28gd2UgaGF2ZSB0bwoJCQkvLyBwdXNoIHRoaXMgdGFnIG9uIHRoZSBzdGFjayBhbmQgZGVmZXIgaXRzIHByb2Nlc3NpbmcgdW50aWwgd2Ugc2VlIGl0cyBlbmQgdGFnLgoKCQkJaWYgKCR0aGlzLT5kZWJ1ZykgewoJCQkJcHJpbnQgIjxiPkludGVybmFsX1BhcnNlU3RhcnRUYWdUb2tlbjo8L2I+IHRhZyA8dHQ+WyIgLiBodG1sc3BlY2lhbGNoYXJzKCR0YWdfbmFtZSkKCQkJCQkuICJdPC90dD4gaXMgYWxsb3dlZCB0byBoYXZlIGFuIGVuZCB0YWcuPGJyIC8+XG4iOwoJCQl9CgoJCQkvLyBBc2sgdGhpcyB0YWcgaWYgaXRzIGF0dHJpYnV0ZXMgYXJlIHZhbGlkOyB0aGlzIGdpdmVzIHRoZSB0YWcgdGhlIG9wdGlvbgoJCQkvLyB0byBzYXksIG5vLCBJJ20gYnJva2VuLCBkb24ndCB0cnkgdG8gcHJvY2VzcyBtZS4KCQkJaWYgKCEkdGhpcy0+RG9UYWcoQkJDT0RFX0NIRUNLLCAkdGFnX25hbWUsIEAkdGFnX3BhcmFtc1snX2RlZmF1bHQnXSwgJHRhZ19wYXJhbXMsICIiKSkgewoJCQkJaWYgKCR0aGlzLT5kZWJ1ZykgewoJCQkJCXByaW50ICI8Yj5JbnRlcm5hbF9QYXJzZVN0YXJ0VGFnVG9rZW46PC9iPiB0YWcgPHR0PlsiIC4gaHRtbHNwZWNpYWxjaGFycygkdGFnX25hbWUpCgkJCQkJCS4gIl08L3R0PiByZWplY3RlZCBpdHMgcGFyYW1ldGVyczsgb3V0cHV0dGluZyBhcyB0ZXh0IGFmdGVyIGZpeHVwLjxiciAvPlxuIjsKCQkJCX0KCQkJCSR0aGlzLT5zdGFja1tdID0gQXJyYXkoCgkJCQkJQkJDT0RFX1NUQUNLX1RPS0VOID0+IEJCQ09ERV9URVhULAoJCQkJCUJCQ09ERV9TVEFDS19URVhUID0+ICR0aGlzLT5GaXh1cE91dHB1dCgkdGhpcy0+bGV4ZXItPnRleHQpLAoJCQkJCUJCQ09ERV9TVEFDS19UQUcgPT4gZmFsc2UsCgkJCQkJQkJDT0RFX1NUQUNLX0NMQVNTID0+ICR0aGlzLT5jdXJyZW50X2NsYXNzLAoJCQkJKTsKCQkJCXJldHVybjsKCQkJfQoJCgkJCWlmIChAJHRhZ19ydWxlWydjb250ZW50J10gPT0gQkJDT0RFX1ZFUkJBVElNKSB7CgkJCQkvLyBWZXJiYXRpbSB0YWdzIGhhdmUgdG8gYmUgaGFuZGxlZCBzcGVjaWFsbHksIHNpbmNlIHRoZXkgY29uc3VtZSBzdWNjZXNzaXZlCgkJCQkvLyBpbnB1dCBpbW1lZGlhdGVseS4KCQkJCSR0aGlzLT5JbnRlcm5hbF9Qcm9jZXNzVmVyYmF0aW1UYWcoJHRhZ19uYW1lLCAkdGFnX3BhcmFtcywgJHRhZ19ydWxlKTsKCQkJCXJldHVybjsKCQkJfQoKCQkJLy8gVGhpcyBpcyBhIG5vcm1hbCB0YWcgdGhhdCBoYXMgKG9yIG1heSBoYXZlKSBhbiBlbmQgdGFnLCBzbyBqdXN0CgkJCS8vIHB1c2ggaXQgb250byB0aGUgc3RhY2sgYW5kIHdhaXQgZm9yIHRoZSBlbmQgdGFnIG9yIHRoZSBvdXRwdXQKCQkJLy8gZ2VuZXJhdG9yIHRvIGNsZWFuIGl0IHVwLiAgVGhlIGFjdCBvZiBwdXNoaW5nIHRoaXMgY2F1c2VzIHVzIHRvCgkJCS8vIHN3aXRjaCB0byBpdHMgY2xhc3MuCgkJCWlmIChpc3NldCgkdGFnX3J1bGVbJ2NsYXNzJ10pKQoJCQkJJG5ld2NsYXNzID0gJHRhZ19ydWxlWydjbGFzcyddOwoJCQllbHNlICRuZXdjbGFzcyA9ICR0aGlzLT5yb290X2NsYXNzOwoJCQkKCQkJaWYgKCR0aGlzLT5kZWJ1ZykgewoJCQkJcHJpbnQgIjxiPkludGVybmFsX1BhcnNlU3RhcnRUYWdUb2tlbjo8L2I+IHB1c2hpbmcgdGFnIDx0dD5bIiAuIGh0bWxzcGVjaWFsY2hhcnMoJHRhZ19uYW1lKQoJCQkJCS4gIl08L3R0PiBvbnRvIHN0YWNrOyBzd2l0Y2hpbmcgdG8gY2xhc3MgPHR0PiIgLiBodG1sc3BlY2lhbGNoYXJzKCRuZXdjbGFzcykKCQkJCQkuICI8L3R0Pi48YnIgLz5cbiI7CgkJCX0KCgkJCSR0aGlzLT5zdGFja1tdID0gQXJyYXkoCgkJCQlCQkNPREVfU1RBQ0tfVE9LRU4gPT4gJHRoaXMtPmxleGVyLT50b2tlbiwKCQkJCUJCQ09ERV9TVEFDS19URVhUID0+ICR0aGlzLT5GaXh1cE91dHB1dCgkdGhpcy0+bGV4ZXItPnRleHQpLAoJCQkJQkJDT0RFX1NUQUNLX1RBRyA9PiAkdGhpcy0+bGV4ZXItPnRhZywKCQkJCUJCQ09ERV9TVEFDS19DTEFTUyA9PiAoJHRoaXMtPmN1cnJlbnRfY2xhc3MgPSAkbmV3Y2xhc3MpLAoJCQkpOwoKCQkJaWYgKCFpc3NldCgkdGhpcy0+c3RhcnRfdGFnc1skdGFnX25hbWVdKSkKCQkJCSR0aGlzLT5zdGFydF90YWdzWyR0YWdfbmFtZV0gPSBBcnJheShjb3VudCgkdGhpcy0+c3RhY2spLTEpOwoJCQllbHNlICR0aGlzLT5zdGFydF90YWdzWyR0YWdfbmFtZV1bXSA9IGNvdW50KCR0aGlzLT5zdGFjayktMTsKCQl9CgoJCS8vIENhbGxlZCB3aGVuIHRoZSBwYXJzZXIgaGFzIHJlYWQgYSBCQkNPREVfRU5EVEFHIHRva2VuLgoJCWZ1bmN0aW9uIEludGVybmFsX1BhcnNlRW5kVGFnVG9rZW4oKSB7CgoJCQkkdGFnX3BhcmFtcyA9ICR0aGlzLT5sZXhlci0+dGFnOwoJCQkkdGFnX25hbWUgPSBAJHRhZ19wYXJhbXNbJ19uYW1lJ107CgkJCWlmICgkdGhpcy0+ZGVidWcpIHsKCQkJCXByaW50ICI8aHIgLz5cbjxiPkludGVybmFsX1BhcnNlRW5kVGFnVG9rZW46PC9iPiBnb3QgZW5kIHRhZyA8dHQ+Wy8iCgkJCQkJLiBodG1sc3BlY2lhbGNoYXJzKCR0YWdfbmFtZSkgLiAiXTwvdHQ+LjxiciAvPlxuIjsKCQkJfQoKCQkJLy8gR290IGFuIGVuZCB0YWcuICBXYWxrIGRvd24gdGhlIHN0YWNrIGFuZCBzZWUgaWYgdGhlcmUncyBhIG1hdGNoaW5nCgkJCS8vIHN0YXJ0IHRhZyBmb3IgaXQgYW55d2hlcmUuICBJZiB3ZSBmaW5kIG9uZSwgd2UgcGFjayBldmVyeXRoaW5nIGJldHdlZW4KCQkJLy8gdGhlbSBhcyBvdXRwdXQgSFRNTCwgYW5kIHRoZW4gaGF2ZSB0aGUgdGFnIGZvcm1hdCBpdHNlbGYgd2l0aCB0aGF0CgkJCS8vIGNvbnRlbnQuCgkJCSRjb250ZW50cyA9ICR0aGlzLT5JbnRlcm5hbF9GaW5pc2hUYWcoJHRhZ19uYW1lKTsKCQkJaWYgKCRjb250ZW50cyA9PT0gZmFsc2UpIHsKCQkJCS8vIFRoZXJlJ3Mgbm8gc3RhcnQgdGFnIGZvciB0aGlzIC0tLSB1bmxlc3MgdGhlcmUgd2FzIGFuZCBpdCB3YXMgaW4gYSBiYWQKCQkJCS8vIHBsYWNlLiAgSWYgdGhlcmUncyBhIHN0YXJ0IHRhZyB3ZSBjYW4ndCByZWFjaCwgdGhlbiBzd2FsbG93IHRoaXMgZW5kIHRhZzsKCQkJCS8vIG90aGVyd2lzZSwganVzdCBvdXRwdXQgdGhpcyBlbmQgdGFnIGl0c2VsZiBhcyBwbGFpbiB0ZXh0LgoJCQkJaWYgKCR0aGlzLT5kZWJ1ZykgewoJCQkJCXByaW50ICI8Yj5JbnRlcm5hbF9QYXJzZUVuZFRhZ1Rva2VuOjwvYj4gbm8gc3RhcnQgdGFnIGZvciA8dHQ+Wy8iCgkJCQkJCS4gaHRtbHNwZWNpYWxjaGFycygkdGFnX25hbWUpIC4gIl08L3R0PjsgcHVzaCBhcyB0ZXh0IGFmdGVyIGZpeHVwLjxiciAvPlxuIjsKCQkJCX0KCQkJCWlmIChAJHRoaXMtPmxvc3Rfc3RhcnRfdGFnc1skdGFnX25hbWVdID4gMCkgewoJCQkJCSR0aGlzLT5sb3N0X3N0YXJ0X3RhZ3NbJHRhZ19uYW1lXS0tOwoJCQkJfQoJCQkJZWxzZSB7CgkJCQkJJHRoaXMtPnN0YWNrW10gPSBBcnJheSgKCQkJCQkJQkJDT0RFX1NUQUNLX1RPS0VOID0+IEJCQ09ERV9URVhULAoJCQkJCQlCQkNPREVfU1RBQ0tfVEVYVCA9PiAkdGhpcy0+Rml4dXBPdXRwdXQoJHRoaXMtPmxleGVyLT50ZXh0KSwKCQkJCQkJQkJDT0RFX1NUQUNLX1RBRyA9PiBmYWxzZSwKCQkJCQkJQkJDT0RFX1NUQUNLX0NMQVNTID0+ICR0aGlzLT5jdXJyZW50X2NsYXNzLAoJCQkJCSk7CgkJCQl9CgkJCQlyZXR1cm47CgkJCX0KCgkJCS8vIEZvdW5kIGEgc3RhcnQgdGFnIGZvciB0aGlzLCBzbyBwb3AgaXQgb2ZmIHRoZSBzdGFjaywgdGhlbiBwcm9jZXNzIHRoZQoJCQkvLyB0YWcsIGFuZCBwdXNoIHRoZSByZXN1bHQgYmFjayBvbnRvIHRoZSBzdGFjayBhcyBwbGFpbiBIVE1MLgoJCQkvLyBXZSBkb24ndCBuZWVkIHRvIHJ1biBhIEJCQ09ERV9DSEVDSyBvbiB0aGUgc3RhcnQgdGFnLCBiZWNhdXNlIGl0IHdhcyBhbHJlYWR5CgkJCS8vIGRvbmUgd2hlbiB0aGUgdGFnIHdhcyBwdXNoZWQgb250byB0aGUgc3RhY2suCgkJCSRzdGFydF90YWdfbm9kZSA9IGFycmF5X3BvcCgkdGhpcy0+c3RhY2spOwoJCQkkc3RhcnRfdGFnX3BhcmFtcyA9ICRzdGFydF90YWdfbm9kZVtCQkNPREVfU1RBQ0tfVEFHXTsKCQkJJHRoaXMtPkludGVybmFsX0NvbXB1dGVDdXJyZW50Q2xhc3MoKTsKCQkJCgkJCSR0aGlzLT5JbnRlcm5hbF9DbGVhbnVwV1NCeVBvcHBpbmdTdGFjayhAJHRoaXMtPnRhZ19ydWxlc1skdGFnX25hbWVdWydiZWZvcmVfdGFnJ10sICR0aGlzLT5zdGFjayk7CgkJCSRzdGFydF90YWdfcGFyYW1zWydfZW5kdGFnJ10gPSAkdGFnX3BhcmFtc1snX3RhZyddOwoJCQkkc3RhcnRfdGFnX3BhcmFtc1snX2hhc2VuZCddID0gdHJ1ZTsKCQkJJG91dHB1dCA9ICR0aGlzLT5Eb1RhZyhCQkNPREVfT1VUUFVULCAkdGFnX25hbWUsIEAkc3RhcnRfdGFnX3BhcmFtc1snX2RlZmF1bHQnXSwKCQkJCSRzdGFydF90YWdfcGFyYW1zLCAkY29udGVudHMpOwoJCQkkdGhpcy0+SW50ZXJuYWxfQ2xlYW51cFdTQnlFYXRpbmdJbnB1dChAJHRoaXMtPnRhZ19ydWxlc1skdGFnX25hbWVdWydhZnRlcl9lbmR0YWcnXSk7CgkJCQoJCQlpZiAoJHRoaXMtPmRlYnVnKSB7CgkJCQlwcmludCAiPGI+SW50ZXJuYWxfUGFyc2VFbmRUYWdUb2tlbjo8L2I+IGVuZCB0YWcgPHR0PlsvIgoJCQkJCS4gaHRtbHNwZWNpYWxjaGFycygkdGFnX25hbWUpIC4gIl08L3R0PiBkb25lOyBwdXNoIG91dHB1dDogPHR0PiIKCQkJCQkuIGh0bWxzcGVjaWFsY2hhcnMoJG91dHB1dCkgLiAiPC90dD48YnIgLz5cbiI7CgkJCX0KCgkJCSR0aGlzLT5zdGFja1tdID0gQXJyYXkoCgkJCQlCQkNPREVfU1RBQ0tfVE9LRU4gPT4gQkJDT0RFX1RFWFQsCgkJCQlCQkNPREVfU1RBQ0tfVEVYVCA9PiAkb3V0cHV0LAoJCQkJQkJDT0RFX1NUQUNLX1RBRyA9PiBmYWxzZSwKCQkJCUJCQ09ERV9TVEFDS19DTEFTUyA9PiAkdGhpcy0+Y3VycmVudF9jbGFzcywKCQkJKTsKCQl9CgoJCS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCQkvLyAgQ29yZSBwYXJzZXIuICBUaGlzIGlzIHdoZXJlIGFsbCB0aGUgbWFnaWMgYmVnaW5zIGFuZCBlbmRzLgoKCQkvLyBDb3JlIHBhcnNpbmcgcm91dGluZS4gIENhbGwgd2l0aCBhIEJCQ29kZSBzdHJpbmcsIGFuZCBpdCByZXR1cm5zIGFuIEhUTUwgc3RyaW5nLgoJCWZ1bmN0aW9uIFBhcnNlKCRzdHJpbmcpIHsKCQkJZ2xvYmFsICRCQkNvZGVfUHJvZmlsZXI7CgoJCQkkQkJDb2RlX1Byb2ZpbGVyID0gbmV3IEJCQ29kZV9Qcm9maWxlcjsKCQkJJEJCQ29kZV9Qcm9maWxlci0+QmVnaW4oJ19QYXJzZScpOwoKCQkJaWYgKCR0aGlzLT5kZWJ1ZykgewoJCQkJcHJpbnQgIjxiPlBhcnNlIEJlZ2luOjwvYj4gaW5wdXQgc3RyaW5nIGlzICIgLiBzdHJsZW4oJHN0cmluZykgLiAiIGNoYXJhY3RlcnMgbG9uZzo8YnIgLz5cbiIKCQkJCQkuICI8Yj5QYXJzZTo8L2I+IGlucHV0OiA8dHQ+IiAuIGh0bWxzcGVjaWFsY2hhcnMoYWRkY3NsYXNoZXMoJHN0cmluZywgIlx4MDAuLlx4MUZcXFwiJyIpKQoJCQkJCS4gIjwvdHQ+PGJyIC8+XG4iOwoJCQl9CgoJCQkkQkJDb2RlX1Byb2ZpbGVyLT5CZWdpbignTGV4ZXI6U3BsaXQnKTsKCgkJCS8vIFRoZSBsZXhlciBpcyByZXNwb25zaWJsZSBmb3IgY29udmVydGluZyBpbmRpdmlkdWFsIGNoYXJhY3RlcnMgdG8gdG9rZW5zLAoJCQkvLyBhbmQgdXNlcyBwcmVnX3NwbGl0IHRvIGRvIG1vc3Qgb2YgaXRzIG1hZ2ljLiAgQmVjYXVzZSBpdCB1c2VzIHByZWdfc3BsaXQKCQkJLy8gYW5kIG5vdCBhIGNoYXJhY3Rlci1ieS1jaGFyYWN0ZXIgdG9rZW5pemVyLCB0aGUgc3RydWN0dXJlIG9mIHRoZSBpbnB1dAoJCQkvLyBtdXN0IGJlIGtub3duIGluIGFkdmFuY2UsIHdoaWNoIGlzIHdoeSB0aGUgdGFnIG1hcmtlciBjYW5ub3QgYmUgY2hhbmdlZAoJCQkvLyBkdXJpbmcgdGhlIHBhcnNlLgoJCQkkdGhpcy0+bGV4ZXIgPSBuZXcgQkJDb2RlTGV4ZXIoJHN0cmluZywgJHRoaXMtPnRhZ19tYXJrZXIpOwoJCQkkdGhpcy0+bGV4ZXItPmRlYnVnID0gJHRoaXMtPmRlYnVnOwoKCQkJJEJCQ29kZV9Qcm9maWxlci0+RW5kKCdMZXhlcjpTcGxpdCcpOwoKCQkJLy8gSWYgd2UncmUgZnV6emlseSBsaW1pdGluZyB0aGUgdGV4dCBsZW5ndGgsIHNlZSBpZiB3ZSBuZWVkIHRvIGFjdHVhbGx5CgkJCS8vIGN1dCBpdCBvZmYsIG9yIGlmIGl0J3MgY2xvc2UgZW5vdWdoIHRvIG5vdCBiZSB3b3J0aCB0aGUgZWZmb3J0LgoJCQkkb2xkX291dHB1dF9saW1pdCA9ICR0aGlzLT5vdXRwdXRfbGltaXQ7CgkJCWlmICgkdGhpcy0+b3V0cHV0X2xpbWl0ID4gMCkgewoJCQkJaWYgKCR0aGlzLT5kZWJ1ZykKCQkJCQlwcmludCAiPGI+UGFyc2U6PC9iPiBMaW1pdGluZyB0ZXh0IGxlbmd0aCB0byB7JHRoaXMtPm91dHB1dF9saW1pdH0uPGJyIC8+XG4iOwoJCQkJaWYgKHN0cmxlbigkc3RyaW5nKSA8ICR0aGlzLT5vdXRwdXRfbGltaXQpIHsKCQkJCQkvLyBFYXN5IGNhc2U6ICBBIHNob3J0IHN0cmluZyBjYW4ndCBwb3NzaWJseSBiZSBsb25nZXIgdGhhbiB0aGUgb3V0cHV0CgkJCQkJLy8gbGltaXQsIHNvIGp1c3QgdHVybiBvZmYgdGhlIG91dHB1dCBsaW1pdC4KCQkJCQkkdGhpcy0+b3V0cHV0X2xpbWl0ID0gMDsKCQkJCQlpZiAoJHRoaXMtPmRlYnVnKQoJCQkJCQlwcmludCAiPGI+UGFyc2U6PC9iPiBOb3QgYm90aGVyaW5nIHRvIGxpbWl0OiAgVGV4dCBpcyB0b28gc2hvcnQgYWxyZWFkeS48YnIgLz5cbiI7CgkJCQl9CgkJCQllbHNlIGlmICgkdGhpcy0+bGltaXRfcHJlY2lzaW9uID4gMCkgewoJCQkJCS8vIFdlJ3JlIHVzaW5nIGZ1enp5IHByZWNpc2lvbiwgc28gbWFrZSBhIGd1ZXNzIGFzIHRvIGhvdyBsb25nIHRoZSB0ZXh0IGlzLAoJCQkJCS8vIGFuZCB0aGVuIGRlY2lkZSB3aGV0aGVyIHdlIGNhbiBsZXQgdGhpcyBzdHJpbmcgc2xpZGUgdGhyb3VnaCBiYXNlZCBvbiB0aGUKCQkJCQkvLyBsaW1pdCBwcmVjaXNpb24uCgkJCQkJJGd1ZXNzX2xlbmd0aCA9ICR0aGlzLT5sZXhlci0+R3Vlc3NUZXh0TGVuZ3RoKCk7CgkJCQkJaWYgKCR0aGlzLT5kZWJ1ZykKCQkJCQkJcHJpbnQgIjxiPlBhcnNlOjwvYj4gTWF5YmUgbm90OiAgRnV6enkgbGltaXRpbmcgZW5hYmxlZCwgYW5kIGFwcHJveGltYXRlIHRleHQgbGVuZ3RoIGlzICRndWVzc19sZW5ndGguPGJyIC8+XG4iOwoJCQkJCWlmICgkZ3Vlc3NfbGVuZ3RoIDwgJHRoaXMtPm91dHB1dF9saW1pdCAqICgkdGhpcy0+bGltaXRfcHJlY2lzaW9uICsgMS4wKSkgewoJCQkJCQlpZiAoJHRoaXMtPmRlYnVnKQoJCQkJCQkJcHJpbnQgIjxiPlBhcnNlOjwvYj4gTm90IGxpbWl0aW5nIHRleHQ7IGl0J3MgY2xvc2UgZW5vdWdoIHRvIHRoZSBsaW1pdCB0byBiZSBhY2NlcHRhYmxlLjxiciAvPlxuIjsKCQkJCQkJJHRoaXMtPm91dHB1dF9saW1pdCA9IDA7CgkJCQkJfQoJCQkJCWVsc2UgewoJCQkJCQlpZiAoJHRoaXMtPmRlYnVnKQoJCQkJCQkJcHJpbnQgIjxiPlBhcnNlOjwvYj4gTGltaXRpbmcgdGV4dDsgaXQncyBkZWZpbml0ZWx5IHRvbyBsb25nLjxiciAvPlxuIjsKCQkJCQl9CgkJCQl9CgkJCX0KCgkJCS8vIFRoZSB0b2tlbiBzdGFjayBpcyB1c2VkIHRvIHBlcmZvcm0gYSBkb2N1bWVudC10cmVlIHdhbGsgd2l0aG91dCBhY3R1YWxseQoJCQkvLyBidWlsZGluZyB0aGUgZG9jdW1lbnQgdHJlZSwgYW5kIGlzIGFuIGVzc2VudGlhbCBjb21wb25lbnQgb2Ygb3VyIGlucHV0LQoJCQkvLyB2YWxpZGF0aW9uIGFsZ29yaXRobS4KCQkJJHRoaXMtPnN0YWNrID0gQXJyYXkoKTsKCgkJCS8vIFRoZXJlIGFyZSBubyBzdGFydCB0YWdzICh5ZXQpLgoJCQkkdGhpcy0+c3RhcnRfdGFncyA9IEFycmF5KCk7CgoJCQkvLyBUaGVyZSBhcmUgbm8gdW5tYXRjaGVkIHN0YXJ0IHRhZ3MgKHlldCkuCgkJCSR0aGlzLT5sb3N0X3N0YXJ0X3RhZ3MgPSBBcnJheSgpOwoKCQkJLy8gVGhlcmUgaXMgbm8gdGV4dCB5ZXQuCgkJCSR0aGlzLT50ZXh0X2xlbmd0aCA9IDA7CgkJCSR0aGlzLT53YXNfbGltaXRlZCA9IGZhbHNlOwoKCQkJLy8gUmVtb3ZlIGFueSBpbml0aWFsIHdoaXRlc3BhY2UgaW4gcHJlLXRyaW0gbW9kZS4KCQkJaWYgKHN0cmxlbigkdGhpcy0+cHJlX3RyaW0pID4gMCkKCQkJCSR0aGlzLT5JbnRlcm5hbF9DbGVhbnVwV1NCeUVhdGluZ0lucHV0KCR0aGlzLT5wcmVfdHJpbSk7CgoJCQkvLyBJbiBwbGFpbiBtb2RlLCB3ZSBnZW5lcmF0ZSBuZXdsaW5lcyBpbnN0ZWFkIG9mIDxiciAvPiB0YWdzLgoJCQkkbmV3bGluZSA9ICR0aGlzLT5wbGFpbl9tb2RlID8gIlxuIiA6ICI8YnIgLz5cbiI7CgoJCQkvLyBUaGlzIGlzIGEgZmFpcmx5IHN0cmFpZ2h0Zm9yd2FyZCBwdXNoLWRvd24gYXV0b21hdG9uIG9wZXJhdGluZyBpbiBMTCgxKSBtb2RlLiAgRm9yCgkJCS8vIGNsYXJpdHkncyBzYWtlLCB3ZSBicmVhayB0aGUgdGFnLXByb2Nlc3NpbmcgY29kZSBpbnRvIHNlcGFyYXRlIGZ1bmN0aW9ucywgYnV0IHdlCgkJCS8vIGtlZXAgdGhlIHRleHQvd2hpdGVzcGFjZS9uZXdsaW5lIGNvZGUgaGVyZSBmb3IgcGVyZm9ybWFuY2UgcmVhc29ucy4KCQkJd2hpbGUgKHRydWUpIHsKCQkJCSRCQkNvZGVfUHJvZmlsZXItPkJlZ2luKCdMZXhlcjpOZXh0VG9rZW4nKTsKCQkJCWlmICgoJHRva2VuX3R5cGUgPSAkdGhpcy0+bGV4ZXItPk5leHRUb2tlbigpKSA9PSBCQkNPREVfRU9JKSB7CgkJCQkJJEJCQ29kZV9Qcm9maWxlci0+RW5kKCdMZXhlcjpOZXh0VG9rZW4nKTsKCQkJCQlicmVhazsKCQkJCX0KCgkJCQlpZiAoJHRoaXMtPmRlYnVnKQoJCQkJCXByaW50ICI8Yj5QYXJzZTo8L2I+IFN0YWNrIGNvbnRlbnRzOiA8dHQ+IiAuICR0aGlzLT5JbnRlcm5hbF9EdW1wU3RhY2soKSAuICI8L3R0PjxiciAvPlxuIjsKCgkJCQlzd2l0Y2ggKCR0b2tlbl90eXBlKSB7CgoJCQkJY2FzZSBCQkNPREVfVEVYVDoKCQkJCQkvLyBUZXh0IGlzIGxpa2UgYW4gYXJpdGhtZXRpYyBvcGVyYW5kLCBzbyBqdXN0IHB1c2ggaXQgb250byB0aGUgc3RhY2sgYmVjYXVzZSB3ZQoJCQkJCS8vIHdvbid0IGtub3cgd2hhdCB0byBkbyB3aXRoIGl0IHVudGlsIHdlIHJlYWNoIGFuIG9wZXJhdG9yIChlLmcuLCBhIHRhZyBvciBFT0kpLgoJCQkJCWlmICgkdGhpcy0+ZGVidWcpIHsKCQkJCQkJcHJpbnQgIjxociAvPlxuPGI+SW50ZXJuYWxfUGFyc2VUZXh0VG9rZW46PC9iPiBmaXh1cCBhbmQgcHVzaCB0ZXh0OiA8dHQ+IgoJCQkJCQkJLiBodG1sc3BlY2lhbGNoYXJzKCR0aGlzLT5sZXhlci0+dGV4dCkgLiAiPC90dD48YnIgLz5cbiI7CgkJCQkJfQoKCQkJCQkvLyBJZiB0aGlzIHRva2VuIHB1c2hlcyB1cyBwYXN0IHRoZSBvdXRwdXQgbGltaXQsIHNwbGl0IGl0IHVwIG9uIGEgd2hpdGVzcGFjZQoJCQkJCS8vIGJvdW5kYXJ5LCBhZGQgYXMgbXVjaCBhcyB3ZSBjYW4sIGFuZCB0aGVuIGFib3J0LgoJCQkJCWlmICgkdGhpcy0+b3V0cHV0X2xpbWl0ID4gMAoJCQkJCQkmJiAkdGhpcy0+dGV4dF9sZW5ndGggKyBzdHJsZW4oJHRoaXMtPmxleGVyLT50ZXh0KSA+PSAkdGhpcy0+b3V0cHV0X2xpbWl0KSB7CgkJCQkJCSR0ZXh0ID0gJHRoaXMtPkludGVybmFsX0xpbWl0VGV4dCgkdGhpcy0+bGV4ZXItPnRleHQsCgkJCQkJCQkkdGhpcy0+b3V0cHV0X2xpbWl0IC0gJHRoaXMtPnRleHRfbGVuZ3RoKTsKCQkJCQkJaWYgKHN0cmxlbigkdGV4dCkgPiAwKSB7CgkJCQkJCQkkdGhpcy0+dGV4dF9sZW5ndGggKz0gc3RybGVuKCR0ZXh0KTsKCQkJCQkJCSR0aGlzLT5zdGFja1tdID0gQXJyYXkoCgkJCQkJCQkJQkJDT0RFX1NUQUNLX1RPS0VOID0+IEJCQ09ERV9URVhULAoJCQkJCQkJCUJCQ09ERV9TVEFDS19URVhUID0+ICR0aGlzLT5GaXh1cE91dHB1dCgkdGV4dCksCgkJCQkJCQkJQkJDT0RFX1NUQUNLX1RBRyA9PiBmYWxzZSwKCQkJCQkJCQlCQkNPREVfU1RBQ0tfQ0xBU1MgPT4gJHRoaXMtPmN1cnJlbnRfY2xhc3MsCgkJCQkJCQkpOwoJCQkJCQl9CgkJCQkJCSR0aGlzLT5JbnRlcm5hbF9Eb0xpbWl0KCk7CgkJCQkJCWJyZWFrIDI7CgkJCQkJfQoJCQkJCSR0aGlzLT50ZXh0X2xlbmd0aCArPSBzdHJsZW4oJHRoaXMtPmxleGVyLT50ZXh0KTsKCgkJCQkJLy8gUHVzaCB0aGlzIHRleHQgdG9rZW4gb250byB0aGUgc3RhY2suCgkJCQkJJHRoaXMtPnN0YWNrW10gPSBBcnJheSgKCQkJCQkJQkJDT0RFX1NUQUNLX1RPS0VOID0+IEJCQ09ERV9URVhULAoJCQkJCQlCQkNPREVfU1RBQ0tfVEVYVCA9PiAkdGhpcy0+Rml4dXBPdXRwdXQoJHRoaXMtPmxleGVyLT50ZXh0KSwKCQkJCQkJQkJDT0RFX1NUQUNLX1RBRyA9PiBmYWxzZSwKCQkJCQkJQkJDT0RFX1NUQUNLX0NMQVNTID0+ICR0aGlzLT5jdXJyZW50X2NsYXNzLAoJCQkJCSk7CgkJCQkJYnJlYWs7CgoJCQkJY2FzZSBCQkNPREVfV1M6CgkJCQkJLy8gV2hpdGVzcGFjZSBpcyBsaWtlIGFuIG9wZXJhbmQgdG9vLCBzbyBqdXN0IHB1c2ggaXQgb250byB0aGUgc3RhY2ssIGJ1dAoJCQkJCS8vIHNhbml0aXplIGl0IGJ5IHJlbW92aW5nIGFsbCBub24tdGFiIG5vbi1zcGFjZSBjaGFyYWN0ZXJzLgoJCQkJCWlmICgkdGhpcy0+ZGVidWcpCgkJCQkJCXByaW50ICI8aHIgLz5cbjxiPkludGVybmFsX1BhcnNlV2hpdGVzcGFjZVRva2VuOjwvYj4gZml4dXAgYW5kIHB1c2ggd2hpdGVzcGFjZTxiciAvPlxuIjsKCgkJCQkJLy8gSWYgdGhpcyB0b2tlbiBwdXNoZXMgdXMgcGFzdCB0aGUgb3V0cHV0IGxpbWl0LCBkb24ndCBwcm9jZXNzIGFueXRoaW5nIGZ1cnRoZXIuCgkJCQkJaWYgKCR0aGlzLT5vdXRwdXRfbGltaXQgPiAwCgkJCQkJCSYmICR0aGlzLT50ZXh0X2xlbmd0aCArIHN0cmxlbigkdGhpcy0+bGV4ZXItPnRleHQpID49ICR0aGlzLT5vdXRwdXRfbGltaXQpIHsKCQkJCQkJJHRoaXMtPkludGVybmFsX0RvTGltaXQoKTsKCQkJCQkJYnJlYWsgMjsKCQkJCQl9CgkJCQkJJHRoaXMtPnRleHRfbGVuZ3RoICs9IHN0cmxlbigkdGhpcy0+bGV4ZXItPnRleHQpOwoKCQkJCQkvLyBQdXNoIHRoaXMgd2hpdGVzcGFjZSBvbnRvIHRoZSBzdGFjay4KCQkJCQkkdGhpcy0+c3RhY2tbXSA9IEFycmF5KAoJCQkJCQlCQkNPREVfU1RBQ0tfVE9LRU4gPT4gQkJDT0RFX1dTLAoJCQkJCQlCQkNPREVfU1RBQ0tfVEVYVCA9PiAkdGhpcy0+bGV4ZXItPnRleHQsCgkJCQkJCUJCQ09ERV9TVEFDS19UQUcgPT4gZmFsc2UsCgkJCQkJCUJCQ09ERV9TVEFDS19DTEFTUyA9PiAkdGhpcy0+Y3VycmVudF9jbGFzcywKCQkJCQkpOwoJCQkJCWJyZWFrOwoKCQkJCWNhc2UgQkJDT0RFX05MOgoJCQkJCS8vIE5ld2xpbmVzIGFyZSByZWFsbHkgbGlrZSB0YWdzIGluIGRpc2d1aXNlOiAgVGhleSBpbnNlcnQgYSByZXBsYWNlZAoJCQkJCS8vIGVsZW1lbnQgaW50byB0aGUgb3V0cHV0LCBhbmQgYXJlIGFjdHVhbGx5IG1vcmUtb3ItbGVzcyBsaWtlIHBsYWluIHRleHQuCgkJCgkJCQkJaWYgKCR0aGlzLT5kZWJ1ZykKCQkJCQkJcHJpbnQgIjxociAvPlxuPGI+SW50ZXJuYWxfUGFyc2VOZXdsaW5lVG9rZW46PC9iPiBnb3QgYSBuZXdsaW5lLjxiciAvPlxuIjsKCQkKCQkJCQlpZiAoJHRoaXMtPmlnbm9yZV9uZXdsaW5lcykgewoJCQkJCQlpZiAoJHRoaXMtPmRlYnVnKQoJCQkJCQkJcHJpbnQgIjxiPkludGVybmFsX1BhcnNlTmV3bGluZVRva2VuOjwvYj4gcHVzaCBuZXdsaW5lIGFzIHdoaXRlc3BhY2UuPGJyIC8+XG4iOwoKCQkJCQkJLy8gSWYgdGhpcyB0b2tlbiBwdXNoZXMgdXMgcGFzdCB0aGUgb3V0cHV0IGxpbWl0LCBkb24ndCBwcm9jZXNzIGFueXRoaW5nIGZ1cnRoZXIuCgkJCQkJCWlmICgkdGhpcy0+b3V0cHV0X2xpbWl0ID4gMAoJCQkJCQkJJiYgJHRoaXMtPnRleHRfbGVuZ3RoICsgMSA+PSAkdGhpcy0+b3V0cHV0X2xpbWl0KSB7CgkJCQkJCQkkdGhpcy0+SW50ZXJuYWxfRG9MaW1pdCgpOwoJCQkJCQkJYnJlYWsgMjsKCQkJCQkJfQoJCQkJCQkkdGhpcy0+dGV4dF9sZW5ndGggKz0gMTsKCgkJCQkJCS8vIEluICRpZ25vcmVfbmV3bGluZXMgbW9kZSwgd2Ugc2ltcGx5IHB1c2ggdGhlIG5ld2xpbmUgYXMgd2hpdGVzcGFjZS4KCQkJCQkJLy8gTm90ZSB0aGF0IHRoaXMgY2FuIHlpZWxkIG91dHB1dCB0aGF0J3Mgc2xpZ2h0bHkgZGlmZmVyZW50IHRoYW4gdGhlCgkJCQkJCS8vIGlucHV0OiAgRm9yIGV4YW1wbGUsIGEgIlxyXG4iIGlucHV0IHdpbGwgcHJvZHVjZSBhICJcbiIgb3V0cHV0OyBidXQKCQkJCQkJLy8gdGhpcyBzaG91bGQgc3RpbGwgYmUgYWNjZXB0YWJsZSwgc2luY2Ugd2UncmUgd29ya2luZyB3aXRoIHRleHQsIG5vdAoJCQkJCQkvLyBiaW5hcnkgZGF0YS4KCQkJCQkJJHRoaXMtPnN0YWNrW10gPSBBcnJheSgKCQkJCQkJCUJCQ09ERV9TVEFDS19UT0tFTiA9PiBCQkNPREVfV1MsCgkJCQkJCQlCQkNPREVfU1RBQ0tfVEVYVCA9PiAiXG4iLAoJCQkJCQkJQkJDT0RFX1NUQUNLX1RBRyA9PiBmYWxzZSwKCQkJCQkJCUJCQ09ERV9TVEFDS19DTEFTUyA9PiAkdGhpcy0+Y3VycmVudF9jbGFzcywKCQkJCQkJKTsKCQkJCQl9CgkJCQkJZWxzZSB7CgkJCQkJCS8vIEFueSB3aGl0ZXNwYWNlIGJlZm9yZSBhIG5ld2xpbmUgaXNuJ3Qgd29ydGggb3V0cHV0dGluZywgc28gaWYgdGhlcmUncwoJCQkJCQkvLyB3aGl0ZXNwYWNlIHNpdHRpbmcgb24gdG9wIG9mIHRoZSBzdGFjaywgcmVtb3ZlIGl0IHNvIHRoYXQgaXQgZG9lc24ndAoJCQkJCQkvLyBnZXQgb3V0cHV0dGVkLgoJCQkJCQkkdGhpcy0+SW50ZXJuYWxfQ2xlYW51cFdTQnlQb3BwaW5nU3RhY2soInMiLCAkdGhpcy0+c3RhY2spOwoJCQkJCQkKCQkJCQkJaWYgKCR0aGlzLT5kZWJ1ZykKCQkJCQkJCXByaW50ICI8Yj5JbnRlcm5hbF9QYXJzZU5ld2xpbmVUb2tlbjo8L2I+IHB1c2ggbmV3bGluZS48YnIgLz5cbiI7CgoJCQkJCQkvLyBJZiB0aGlzIHRva2VuIHB1c2hlcyB1cyBwYXN0IHRoZSBvdXRwdXQgbGltaXQsIGRvbid0IHByb2Nlc3MgYW55dGhpbmcgZnVydGhlci4KCQkJCQkJaWYgKCR0aGlzLT5vdXRwdXRfbGltaXQgPiAwCgkJCQkJCQkmJiAkdGhpcy0+dGV4dF9sZW5ndGggKyAxID49ICR0aGlzLT5vdXRwdXRfbGltaXQpIHsKCQkJCQkJCSR0aGlzLT5JbnRlcm5hbF9Eb0xpbWl0KCk7CgkJCQkJCQlicmVhayAyOwoJCQkJCQl9CgkJCQkJCSR0aGlzLT50ZXh0X2xlbmd0aCArPSAxOwoKCQkJCQkJLy8gQWRkIHRoZSBuZXdsaW5lIHRvIHRoZSBzdGFjay4KCQkJCQkJJHRoaXMtPnN0YWNrW10gPSBBcnJheSgKCQkJCQkJCUJCQ09ERV9TVEFDS19UT0tFTiA9PiBCQkNPREVfTkwsCgkJCQkJCQlCQkNPREVfU1RBQ0tfVEVYVCA9PiAkbmV3bGluZSwKCQkJCQkJCUJCQ09ERV9TVEFDS19UQUcgPT4gZmFsc2UsCgkJCQkJCQlCQkNPREVfU1RBQ0tfQ0xBU1MgPT4gJHRoaXMtPmN1cnJlbnRfY2xhc3MsCgkJCQkJCSk7CgkJCQkJCQoJCQkJCQkvLyBBbnkgd2hpdGVzcGFjZSBhZnRlciBhIG5ld2xpbmUgaXMgbWVhbmluZ2xlc3MsIHNvIGlmIHRoZXJlJ3Mgd2hpdGVzcGFjZQoJCQkJCQkvLyBsaW5nZXJpbmcgb24gdGhlIGlucHV0IGFmdGVyIHRoaXMsIHJlbW92ZSBpdCBub3cuCgkJCQkJCSR0aGlzLT5JbnRlcm5hbF9DbGVhbnVwV1NCeUVhdGluZ0lucHV0KCJzIik7CgkJCQkJfQoJCQkJCWJyZWFrOwoJCQkJCQoJCQkJY2FzZSBCQkNPREVfVEFHOgoJCQkJCS8vIFVzZSBhIHNlcGFyYXRlIGZ1bmN0aW9uIHRvIGhhbmRsZSB0YWdzLCBiZWNhdXNlIHRoZXkncmUgY29tcGxpY2F0ZWQuCgkJCQkJJHRoaXMtPkludGVybmFsX1BhcnNlU3RhcnRUYWdUb2tlbigpOwoJCQkJCWJyZWFrOwoJCQkJCQoJCQkJY2FzZSBCQkNPREVfRU5EVEFHOgoJCQkJCS8vIFVzZSBhIHNlcGFyYXRlIGZ1bmN0aW9uIHRvIGhhbmRsZSBlbmQgdGFncywgYmVjYXVzZSB0aGV5J3JlIGNvbXBsaWNhdGVkLgoJCQkJCSR0aGlzLT5JbnRlcm5hbF9QYXJzZUVuZFRhZ1Rva2VuKCk7CgkJCQkJYnJlYWs7CgkJCQkKCQkJCWRlZmF1bHQ6CgkJCQkJYnJlYWs7CgkJCQl9CgkJCX0KCgkJCWlmICgkdGhpcy0+ZGVidWcpCgkJCQlwcmludCAiPGhyIC8+XG48Yj5QYXJzZSBEb25lOjwvYj4gZG9uZSBtYWluIHBhcnNlOyBwYWNraW5nIHN0YWNrIGFzIHRleHQgc3RyaW5nLjxiciAvPlxuIjsKCgkJCS8vIFJlbW92ZSBhbnkgdHJhaWxpbmcgd2hpdGVzcGFjZSBpbiBwb3N0LXRyaW0gbW9kZS4KCQkJaWYgKHN0cmxlbigkdGhpcy0+cG9zdF90cmltKSA+IDApCgkJCQkkdGhpcy0+SW50ZXJuYWxfQ2xlYW51cFdTQnlQb3BwaW5nU3RhY2soJHRoaXMtPnBvc3RfdHJpbSwgJHRoaXMtPnN0YWNrKTsKCgkJCS8vIEV2ZXJ5dGhpbmcgbGVmdCBvbiB0aGUgc3RhY2sgc2hvdWxkIGJlIEhUTUwgKG9yIGJyb2tlbiB0YWdzKSwgc28gcG9wIGl0CgkJCS8vIGFsbCBvZmYgYXMgcGxhaW4gdGV4dCwgY29uY2F0ZW5hdGUgaXQsIGFuZCByZXR1cm4gaXQuCgkJCSRyZXN1bHQgPSAkdGhpcy0+SW50ZXJuYWxfR2VuZXJhdGVPdXRwdXQoMCk7CgkJCSRyZXN1bHQgPSAkdGhpcy0+SW50ZXJuYWxfQ29sbGVjdFRleHRSZXZlcnNlKCRyZXN1bHQsIGNvdW50KCRyZXN1bHQpIC0gMSk7CgoJCQkvLyBJZiB3ZSBjaGFuZ2VkIHRoZSBsaW1pdCAoaW4gZnV6enktbGltaXQgbW9kZSksIHNldCBpdCBiYWNrLgoJCQkkdGhpcy0+b3V0cHV0X2xpbWl0ID0gJG9sZF9vdXRwdXRfbGltaXQ7CgoJCQkvLyBJbiBwbGFpbiBtb2RlLCB3ZSBkbyBqdXN0IGEgKmxpdHRsZSogbW9yZSBjbGVhbnVwIG9uIHRoZSB3aGl0ZXNwYWNlIHRvIHNob3J0ZW4KCQkJLy8gdGhlIG91dHB1dCBhcyBtdWNoIGFzIHBvc3NpYmxlLgoJCQlpZiAoJHRoaXMtPnBsYWluX21vZGUpIHsKCQkJCS8vIFR1cm4gYWxsIG5vbi1uZXdsaW5lIHdoaXRlc3BhY2UgY2hhcmFjdGVycyBpbnRvIHNpbmdsZSBzcGFjZXMuCgkJCQkkcmVzdWx0ID0gcHJlZ19yZXBsYWNlKCIvW1xceDAwLVxceDA5XFx4MEItXFx4MjBdKy8iLCAiICIsICRyZXN1bHQpOwoJCQkJLy8gVHVybiBtdWx0aXBsZSBuZXdsaW5lcyBpbnRvIGF0IG1vc3QgdHdvIG5ld2xpbmVzLgoJCQkJJHJlc3VsdCA9IHByZWdfcmVwbGFjZSgiLyg/OltcXHgyMF0qXFxuKXsyLH1bXFx4MjBdKi8iLCAiXG5cbiIsICRyZXN1bHQpOwoJCQkJLy8gU3RyaXAgb2ZmIGFsbCBzdXJyb3VuZGluZyB3aGl0ZXNwYWNlLgoJCQkJJHJlc3VsdCA9IHRyaW0oJHJlc3VsdCk7CgkJCX0KCgkJCWlmICgkdGhpcy0+ZGVidWcpIHsKCQkJCXByaW50ICI8Yj5QYXJzZTo8L2I+IHJldHVybjogPHR0PiIgLiBodG1sc3BlY2lhbGNoYXJzKGFkZGNzbGFzaGVzKCRyZXN1bHQsICJceDAwLi5ceDFGXFxcIiciKSkKCQkJCQkuICI8L3R0PjxiciAvPlxuIjsKCQkJfQoKCQkJJEJCQ29kZV9Qcm9maWxlci0+RW5kKCdfUGFyc2UnKTsKCgkJCS8vJEJCQ29kZV9Qcm9maWxlci0+RHVtcEFsbEdyb3VwcygpOwoKCQkJcmV0dXJuICRyZXN1bHQ7CgkJfQoJfQoKPz4K]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/add_edit.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRzdGFydF9mb3JtfQo8ZGl2IGNsYXNzPSJmb3JtX3JvdyI+CiAgIDxzcGFuIGNsYXNzPSJmaWVsZF90aXRsZSI+eyR0aXRsZV9kZXNjcmlwdGlvbn08L3NwYW4+CiAgIDxzcGFuIGNsYXNzPSJmaWVsZF9pbnB1dCI+eyRpbnB1dF9kZXNjcmlwdGlvbn08L3NwYW4+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJmb3JtX3JvdyI+CiAgIDxzcGFuIGNsYXNzPSJmaWVsZF90aXRsZSI+eyR0aXRsZV9leHBsYW5hdGlvbn08L3NwYW4+CiAgIDxzcGFuIGNsYXNzPSJmaWVsZF9pbnB1dCI+eyRpbnB1dF9leHBsYW5hdGlvbn08L3NwYW4+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJmb3JtX3JvdyI+CiAgIDxzcGFuIGNsYXNzPSJmaWVsZF90aXRsZSI+PC9zcGFuPgogICA8c3BhbiBjbGFzcz0iZmllbGRfaW5wdXQiPnskc3VibWl0fTwvc3Bhbj4KPC9kaXY+CnskZW5kX2Zvcm19]]></data>
	</file>
	<file>
	  <filename>/templates/adminpanel.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyR0YWJzX3N0YXJ0fQogICB7JHN0YXJ0X2dlbmVyYWxfdGFifQogICAgICB7JHdlbGNvbWVfdGV4dH0KICAgeyR0YWJfZW5kfQogICB7JHN0YXJ0X3ByZWZzX3RhYn0KICAgICAge2lmICRzdGFydF9wcmVmc190YWIgIT0gJyd9CiAgICAgIHskc3RhcnRfZm9ybX0KICAgICAgCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgIAkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHRpdGxlX2FsbG93X2FkZH06PC9wPgogICAgICAJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfYWxsb3dfYWRkfTwvcD4KICAgICAgCTwvZGl2PgogICAgICAJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgCQk8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KICAgICAgCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JHN1Ym1pdH08L3A+CiAgICAgIAk8L2Rpdj4KICAgICAgPC9mb3JtPgogICAgICB7L2lmfQogICB7JHRhYl9lbmR9CnskdGFic19lbmR9]]></data>
	</file>
	<file>
	  <filename>/templates/error.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskdGl0bGVfZXJyb3J9PC9oMz4KPHA+eyRhZG1pbl9uYXZ9PC9wPgp7aWYgJG1lc3NhZ2UhPScnfTxwPnskbWVzc2FnZX08L3A+ey9pZn0=]]></data>
	</file>
	<file>
	  <filename>/templates/skeleton_list.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRtb2R1bGVfbWVzc2FnZSl9PGgyPnskbW9kdWxlX21lc3NhZ2V8ZXNjYXBlfTwvaDI+ey9pZn0NCjxoMz57JHRpdGxlX251bV9yZWNvcmRzfTwvaDM+DQp7Zm9yZWFjaCBmcm9tPSRyZWNvcmRzIGl0ZW09ZW50cnl9DQogICB7KiBkaXNwbGF5IHNvbWV0aGluZyBkaWZmZXJlbnQgZGVwZW5kaW5nIG9uIHRoZSBtb2RlICp9DQogICB7aWYgJG1vZGU9PSdzdW1tYXJ5J30NCiAgIDxkaXY+eyRlbnRyeS0+aWR9OiB7JGVudHJ5LT5uYW1lfSAoeyRlbnRyeS0+dmlld318eyRlbnRyeS0+ZWRpdH0pIDwvZGl2Pg0KICAge2Vsc2V9DQogICA8ZGl2PnskZW50cnktPmlkfTogeyRlbnRyeS0+bmFtZX08YnIgLz57JGVudHJ5LT5leHBsYW5hdGlvbn08YnIgLz4oeyRlbnRyeS0+ZWRpdH0pIDwvZGl2Pg0KICAgey9pZn0NCnsvZm9yZWFjaH0NCg0Ke2lmICRhZGQgIT0gJyd9PGRpdj57JGFkZH08L2Rpdj57L2lmfQ==]]></data>
	</file>
	<file>
	  <filename>/_backup/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/_backup/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIERpc3BsYXlBZG1pblBhbmVsKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAkbWVzc2FnZSkKICogTk9UIFBBUlQgT0YgVEhFIE1PRFVMRSBBUEkKICogCiAqIFRoaXMgaXMgYW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBtZXRob2QgdG8gcHJlc2VudCBhbiBBZG1pbgogKiBwYW5lbC4KICogCiAqIEl0IHNldHMgc21hcnR5IHRhZyB2YWx1ZXMsIGFuZCB0aGVuIGNhbGxzIHRoZQogKiBjb2RlIG5lY2Vzc2FyeSB0byByZW5kZXIgdGhlIHRlbXBsYXRlLiAgIAogKi8KCi8qKgogKiBGb3Igc2VwYXJhdGVkIG1ldGhvZHMsIHlvdSdsbCBhbHdheXMgd2FudCB0byBzdGFydCB3aXRoIHRoZSBmb2xsb3dpbmcKICogbGluZSB3aGljaCBjaGVjayB0byBtYWtlIHN1cmUgdGhhdCBtZXRob2Qgd2FzIGNhbGxlZCBmcm9tIHRoZSBtb2R1bGUKICogQVBJLCBhbmQgdGhhdCBldmVyeXRoaW5nJ3Mgc2FmZSB0byBjb250aW51ZToKICovIAppZiAoIWlzc2V0KCRnQ21zKSkgZXhpdDsKCgovKiogCiAqIEZvciBzZXBhcmF0ZWQgbWV0aG9kcywgeW91IHdvbid0IGJlIGFibGUgdG8gZG8gcGVybWlzc2lvbiBjaGVja3MgaW4KICogdGhlIERvQWN0aW9uIG1ldGhvZCwgc28geW91J2xsIG5lZWQgdG8gZG8gdGhlbSBhcyBuZWVkZWQgaW4geW91cgogKiBtZXRob2Q6CiovIAppZiAoISAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdVc2UgU2tlbGV0b24nKSkgewogIHJldHVybiAkdGhpcy0+RGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwp9CgovKioKICogQWZ0ZXIgdGhpcywgdGhlIGNvZGUgaXMgaWRlbnRpY2FsIHRvIHRoZSBjb2RlIHRoYXQgd291bGQgb3RoZXJ3aXNlIGJlCiAqIHdyYXBwZWQgaW4gdGhlIERpc3BsYXlBZG1pblBhbmVsKCkgbWV0aG9kIGluIHRoZSBtb2R1bGUgYm9keS4KICovCiAKLy8gVGFiIEluZnJhc3RydWN0dXJlIGZvciBBZG1pbiBBcmVhIC0tIGNyZWF0ZSB0d28gdGFicywgb25lIG9mIHdoaWNoCi8vIGlzIG9ubHkgYWNjZXNzaWJsZSBpZiBwZXJtaXNzaW9ucyBhcmUgcmlnaHQKaWYgKEZBTFNFID09IGVtcHR5KCRwYXJhbXNbJ2FjdGl2ZV90YWInXSkpCiAgewogICAgJHRhYiA9ICRwYXJhbXNbJ2FjdGl2ZV90YWInXTsKICB9IGVsc2UgewogICR0YWIgPSAnJzsKIH0KCiR0YWJfaGVhZGVyID0gJHRoaXMtPlN0YXJ0VGFiSGVhZGVycygpIC4KICAgJHRoaXMtPlNldFRhYkhlYWRlcignZ2VuZXJhbCcsJHRoaXMtPkxhbmcoJ3RpdGxlX2dlbmVyYWwnKSwoJ2dlbmVyYWwnID09ICR0YWIpP3RydWU6ZmFsc2UpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N0YXJ0X2dlbmVyYWxfdGFiJywkdGhpcy0+U3RhcnRUYWIoJ2dlbmVyYWwnLCAkcGFyYW1zKSk7CgoKaWYgKCR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1NldCBTa2VsZXRvbiBQcmVmcycpKQogICB7CiAgICR0YWJfaGVhZGVyIC49ICR0aGlzLT5TZXRUYWJIZWFkZXIoJ3ByZWZzJywkdGhpcy0+TGFuZygndGl0bGVfbW9kX3ByZWZzJyksCiAgICAgICgncHJlZnMnID09ICR0YWIpP3RydWU6ZmFsc2UpOwogICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N0YXJ0X3ByZWZzX3RhYicsJHRoaXMtPlN0YXJ0VGFiKCdwcmVmcycsICRwYXJhbXMpKTsKICAgfQplbHNlCiAgIHsKICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdGFydF9wcmVmc190YWInLCcnKTsKICAgfQoKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0YWJzX3N0YXJ0JywkdGFiX2hlYWRlci4kdGhpcy0+RW5kVGFiSGVhZGVycygpLiR0aGlzLT5TdGFydFRhYkNvbnRlbnQoKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbigndGFiX2VuZCcsJHRoaXMtPkVuZFRhYigpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0YWJzX2VuZCcsJHRoaXMtPkVuZFRhYkNvbnRlbnQoKSk7CgovLyBDb250ZW50IGRlZmluZXMgYW5kIEZvcm0gc3R1ZmYgZm9yIHRoZSBhZG1pbgokc21hcnR5LT5hc3NpZ24oJ3N0YXJ0X2Zvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgJ3NhdmVfYWRtaW5fcHJlZnMnLCAkcmV0dXJuaWQpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9hbGxvd19hZGQnLCR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJ2FsbG93X2FkZCcsIDEsCiAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhbGxvd19hZGQnLCcwJykpLiAkdGhpcy0+TGFuZygndGl0bGVfYWxsb3dfYWRkX2hlbHAnKSk7CiRzbWFydHktPmFzc2lnbignc3VibWl0JywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ3N1Ym1pdCcsIGxhbmcoJ3N1Ym1pdCcpKSk7CgovLyB0cmFuc2xhdGVkIHN0cmluZ3MKJHNtYXJ0eS0+YXNzaWduKCd0aXRsZV9hbGxvd19hZGQnLCR0aGlzLT5MYW5nKCd0aXRsZV9hbGxvd19hZGQnKSk7CiRzbWFydHktPmFzc2lnbignd2VsY29tZV90ZXh0JywkdGhpcy0+TGFuZygnd2VsY29tZV90ZXh0JykpOwoKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbnBhbmVsLnRwbCcpOwovKioKICogWW91IG1pZ2h0IGFsc28gd2FudCB0byBsb29rIGF0IG90aGVyIG1vZHVsZXMgdGhhdCBoYXZlIGRvbmUgdGhpcyA6KQogKiAgKE5ld3MgYW5kIFF1ZXN0aW9ucyBhcmUgZ29vZCBleGFtcGxlcykKICovCgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/_backup/action.save_admin_prefs.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIE5PVCBQQVJUIE9GIFRIRSBNT0RVTEUgQVBJCiAqIAogKiBUaGlzIGlzIGFuIGV4YW1wbGUgb2YgYSBzaW1wbGUgbWV0aG9kIHRvIHNhdmUgQWRtaW4KICogcHJlZnMuCiAqLwoKLyoqCiAqIEZvciBzZXBhcmF0ZWQgbWV0aG9kcywgeW91J2xsIGFsd2F5cyB3YW50IHRvIHN0YXJ0IHdpdGggdGhlIGZvbGxvd2luZwogKiBsaW5lIHdoaWNoIGNoZWNrIHRvIG1ha2Ugc3VyZSB0aGF0IG1ldGhvZCB3YXMgY2FsbGVkIGZyb20gdGhlIG1vZHVsZQogKiBBUEksIGFuZCB0aGF0IGV2ZXJ5dGhpbmcncyBzYWZlIHRvIGNvbnRpbnVlOgogKi8gCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKLyoqIAogKiBGb3Igc2VwYXJhdGVkIG1ldGhvZHMsIHlvdSB3b24ndCBiZSBhYmxlIHRvIGRvIHBlcm1pc3Npb24gY2hlY2tzIGluCiAqIHRoZSBEb0FjdGlvbiBtZXRob2QsIHNvIHlvdSdsbCBuZWVkIHRvIGRvIHRoZW0gYXMgbmVlZGVkIGluIHlvdXIKICogbWV0aG9kOgogKi8gCmlmICghICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1VzZSBTa2VsZXRvbicpKSB7CiAgcmV0dXJuICR0aGlzLT5EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCR0aGlzLT5MYW5nKCdhY2Nlc3NkZW5pZWQnKSk7Cn0KCQovKioKICogQWZ0ZXIgdGhpcywgdGhlIGNvZGUgaXMgaWRlbnRpY2FsIHRvIHRoZSBjb2RlIHRoYXQgd291bGQgb3RoZXJ3aXNlIGJlCiAqIHdyYXBwZWQgaW4gdGhlIERpc3BsYXlBZG1pblByZWZzKCkgbWV0aG9kIGluIHRoZSBtb2R1bGUgYm9keS4KICovCgoKCi8vIHNldCBvdXIgcHJlZmVyZW5jZQokdGhpcy0+U2V0UHJlZmVyZW5jZSgnYWxsb3dfYWRkJywgaXNzZXQoJHBhcmFtc1snYWxsb3dfYWRkJ10pPyRwYXJhbXNbJ2FsbG93X2FkZCddOicwJyk7CgovLyBzZW5kIGFuIGV2ZW50IHRvIGFueSBzdWJzY3JpYmluZyB1c2VyIHRhZ3Mgb3IgbW9kdWxlcwokcGFybXMgPSBhcnJheSgpOwokcGFybXNbJ2FsbG93X2FkZCddID0gKGlzc2V0KCRwYXJhbXNbJ2FsbG93X2FkZCddKT90cnVlOmZhbHNlKTsKJHRoaXMtPlNlbmRFdmVudCgnT25Ta2VsZXRvblByZWZlcmVuY2VDaGFuZ2UnLCRwYXJtcyk7CgovLyB3cml0ZSB0byB0aGUgYWRtaW4gbG9nCiR0aGlzLT5BdWRpdCggMCwgJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpLCAkdGhpcy0+TGFuZygncHJlZnN1cGRhdGVkJykgKTsKCi8vIHNldCB0aGUgYWN0aXZlIHRhYiwgYW5kIGEgbWVzc2FnZSB0byBkaXNwbGF5CiRwYXJhbXMgPSBhcnJheSgndGFiX21lc3NhZ2UnPT4gJ3ByZWZzdXBkYXRlZCcsICdhY3RpdmVfdGFiJyA9PiAncHJlZnMnKTsKCi8vIHJlZGlyZWN0IGJhY2sgdG8gZGVmYXVsdCBhZG1pbiBwYWdlCiR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsICRwYXJhbXMpOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/_backup/icon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/_backup/latest/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/_backup/latest/CHANGELOG.md</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[bWFya0l0VXAhIDEuMS4xMgoKQ0hBTkdFIExPRwptYXJrSXRVcCEgMS4xLjEyIDIwMTEtMDgtMTEKLSBGaXhlZCB0aGUgaW5zZXJ0aW9uIG9uIGVtcHR5IHNlbGVjdGlvbgotIEVuaGFuY2VkIHRoZSB0cmFpbGluZyBzcGFjZSBtYW5hZ2VtZW50CgptYXJrSXRVcCEgMS4xLjExIDIwMTEtMDctMTkKLSBFbmFibGVkIHBhcnNpbmcgdGhlIG1hcmt1cCBpbiBqYXZhc2NyaXB0IChhbXJvdGgpCi0gQWRkZWQgbXVsdGlsaW5lIHN1cHBvcnQgKGFsZXZjaHVrKQotIFVwZGF0ZWQgd2l0aCBqUXVlcnkgMS42LjIKLSBBZGRlZCBxdW90ZXMgdG8gYXR0cmlidXRlIHNlbGVjdG9ycwotIFRyaWVkIHRvIGZpeCB0aGUgZW5kbGVzcyBJRSBjYXJldCBwb3NpdGlvbiBidWcKLSBBZGRlZCBtZXRha2V5IHN1cHBvcnQgZm9yIE1hYyB1c2VycyAobWljaGFsLWtyYXVzZSkKCm1hcmtJdFVwISAxLjEuMTAgMjAxMS0wMi0yMAotIEltcHJvdmVkOiBBamF4IHByb3BlcnR5ICdkYXRhVHlwZScgc2V0IHRvICd0ZXh0JwotIEltcHJvdmVkOiBBamF4IHByb3BlcnR5ICdnbG9iYWwnIHNldCB0byAnZmFsc2UnCi0gRml4ZWQ6IEN0cmwrY2xpY2sgc2VsZWN0aW9uIHByb2JsZW0KCm1hcmtJdFVwISAxLjEuOSAyMDEwLTExLTA0Ci0gSW1wcm92ZWQ6IFNlbGVjdGlvbiBhY2N1cmFjeSBpbiBJbnRlcm5ldCBFeHBsb3JlcgotIEltcHJvdmVkOiBSZXBsYWNlIGZvY3VzaW4oKSBieSBiaW5kKCdmb2N1c2luJykgdG8gc29sdmUgc29tZSBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IGlzc3VlcyAoTmljayBCLiBDLikKLSBDb3NtZXRpYzogQWRkIG5ldyBsb2dvCi0gQ29zbWV0aWM6IFJlbW92ZSBqUXVlcnkgbGlicmFyeSBhbmQgdXNlIENETgoKbWFya0l0VXAhIDEuMS44IDIwMTAtMDgtMjcKLSBJbXByb3ZlZDogU29tZSBza2luIFBORyBoYXZlIGJlZW4gb3B0aW1pemVkIChsdWtlc2NhbW1lbGwpCi0gRml4ZWQ6IE9wZXJhIDEwIHNlbGVjdGlvbiBidWcgKE1hcml1cyBHLikKLSBGaXhlZDogQWNjZXNzaWJpbGl0eSBpc3N1ZSB3aXRoIHRoZSBiYWNrZ3JvdW5kIGRlZmF1bHQgY29sb3IgaW4gdGhlIGRlZmF1bHQgc2tpbgotIEltcHJvdmVkOiBBdm9pZCBnaXZpbmcgdGhlIHByZXZpZXcgZm9jdXMgZWFjaCB0aW1lIGF1dG9yZWZyZXNoIGtpY2tzIGluLiBJdCBzdGlsbCBnZXRzIHRoZSBmb2N1cyB3aGVuIHRoZSBwcmV2aWV3IGJ1dHRvbiBpcyBwcmVzc2VkIChEclNsdW1wKQotIEltcHJvdmVkOiBJbiBwb3AtdXAgbW9kZSB0aGUgcHJldmlldyBpcyBjbG9zZWQgd2hlbiB0aGUgcGFnZSBjb250YWluaW5nIHRoZSBlZGl0b3IgaXMgdW5sb2FkZWQgKERyU2x1bXApCi0gSW1wcm92ZWQ6IFByZXNzIFRBQiBqdW1wIHJpZ2h0IGluc2lkZSB0aGUgdGV4dGFyZWEgKFlha2lyKQoKbWFya0l0VXAhIDEuMS43IDIwMTAtMDQtMDYKLSBGaXhlZDogRW1wdHkgbGluZXMgYXJlIHJlbW92ZWQgYXQgaW5zZXJ0aW9uIG9uIFdlYmtpdAotIEZpeGVkOiBGb2N1cyBsb3N0IHdoZW4gc2hvcnRjdXQgaXMgdXNlZCBvbiBGRgotIEZpeGVkOiB2YXIgbWlzc2luZyBiZWZvcmUgJCQgaW4gbWFya0l0VXBSZW1vdmUoKQoKbWFya0l0VXAhIDEuMS42IDIwMTAtMDEtMTIKLSBJbXByb3ZlZDogQWpheCByZXF1ZXN0cyBhcmUgbm93IGFzeW5jaHJvbm91cwotIEZpeGVkOiBEb3VibGUgZW1wdHkgbGluZSBwcm9ibGVtIHdpdGggcHJldmlldyBhbmQgcGFyc2VycwotIEZpeGVkOiBJRTggbm93IGNsb3NlIHRoZSBwcmV2aWV3IHByb3Blcmx5CgptYXJrSXRVcCEgMS4xLjUgMjAwOS0wNS0wMQotIE1vZGlmaWVkOiBodHRwOi8vZHJ1cGFsLm9yZy9wcm9qZWN0L3d5c2l3eWcgY29tcGF0aWJpbGl0eQotIE1vZGlmaWVkOiBBbHQvQ3RybC9BbHQrVGFiIGFyZSBub3cgZGlzYWJsZWQKCm1hcmtJdFVwISAxLjEuNCAyMDA4LTEyLTAzCi0gRml4ZWQ6IEV4dHJhIHF1b3RlIGRlbGV0ZWQgbGluZSA5NQoKbWFya0l0VXAhIDEuMS4zIDIwMDgtMDktMTIKLSBGaXhlZDogSUU3IHByZXZpZXcgcHJvYmxlbQoKbWFya0l0VXAhIDEuMS4yIDIwMDgtMDctMTcKLSBGaXhlZDogUXVpY2sgZml4IGZvciBPcGVyYSA5LjUgY2FyZXQgcG9zaXRpb24gcHJvYmxlbSBhZnRlciBpbnNlcnRpb24KCm1hcmtJdFVwISAxLjEuMSAyMDA4LTA2LTAyCi0gRml4ZWQ6IEtleSBldmVudHMgc3RhdHVzIGFyZSBwYXNzZWQgdG8gY2FsbGJhY2tzIHByb3Blcmx5Ci0gSW1wcm92ZWQ6IFNjcm9sbFBvc2l0aW9uIGlzIGtlcHQgaW4gdGhlIHByZXZpZXcgd2hlbiBpdHMgcmVmcmVzaGVkCgptYXJrSXRVcCEgMS4xLjAgMjAwOC0wNS0wNAotIE1vZGlmaWVkOiBUZXh0YXJlYSdzIGlkIGlzIG5vIG1vcmUgbW92ZWQgdG8gdGhlIG1haW4gY29udGFpbmVyCi0gTW9kaWZpZWQ6IE5hbWVTcGFjZSBTcGFuIGJlY29tZSBhIERpdiB0byByZW1haW4gc3RyaWN0Ci0gQWRkZWQ6IFJlbGF0aXZlIHBhdGggdG8gdGhlIHNjcmlwdCBpcyBjb21wdXRlZAotIEFkZGVkOiBSZWxhdGl2ZSBwYXRoIHRvIHRoZSBzY3JpcHQgcGFzc2VkIHRvIGNhbGxiYWNrcwotIEFkZGVkOiBHbG9iYWwgaW5zdGFuY2UgSUQgcHJvcGVydHkKLSBBZGRlZDogJChlbGVtZW50KS5tYXJrSXRVcFJlbW92ZSgpIHRvIHJlbW92ZSBtYXJrSXRVcCEKLSBBZGRlZDogUmVzaXplIGhhbmRsZSBpcyBub3cgb3B0aW9uYWwgd2l0aCByZXNpemVIYW5kbGUgcHJvcGVydHkKLSBBZGRlZDogUHJvcGVydHkgcHJldmlld0luV2luZG93IGlzIGFkZGVkIGFuZCBhY2NlcHQgd2luZG93IHBhcmFtZXRlcgotIEFkZGVkOiBQcm9wZXJ0eSBwcmV2aWV3UG9zaXRpb24gaXMgYWRkZWQKLSBNb2RpZmllZDogUmVzaXplIGhhbmRsZSBpcyBubyBtb3JlIGRpc3BsYXllZCBpbiBTYWZhcmkgdG8gYXZvaWQgcmVwZXRpdGlvbiB3aXRoIHRoZSBuYXRpdmUgaGFuZGxlCi0gTW9kaWZpZWQ6IFByb3BlcnR5IHByZXZpZXdJZnJhbWVSZWZyZXNoIGJlY29tZSBwcmV2aWV3QXV0b3JlZnJlc2gKLSBNb2RpZmllZDogQnVpbHQtaW4gSHRtbCBQcmV2aWV3IGNhbGwgYSB0ZW1wbGF0ZSBmaWxlCi0gSW1wcm92ZWQ6IEF1dG9yZWZyZXNoaW5nIGlzIG5vdyBhcHBseSBmb3IgcHJldmlldyBpbiB3aW5kb3cgdG9vCi0gSW1wcm92ZWQ6IENhbmNlbCBidXR0b24gaW4gcHJvbXB0IHdpbmRvdyBjYW5jZWwgbm93IHRoZSB3aG9sZSBpbnNlcnRpb24gcHJvY2VzcwotIEltcHJvdmVkOiBDbGVhbmVyIG1hcmtJdFVwISBjb2RlIGFkZGVkIHRvIHRoZSBET00KLSBSZW1vdmVkOiBEZXByZWNpYXRlZCBwcmV2aWV3IHByb3BlcnRpZXMgYXMgcHJldmlld0Jhc2VVcmwsIHByZXZpZXdDaGFyc2V0LCBwcmV2aWV3Q3NzUGF0aCwgcHJldmlld0JvZHlJZCwgcHJldmlld0JvZHlDbGFzc05hbWUKLSBSZW1vdmVkOiBQcm9wZXJ0eSBwcmV2aWV3SWZyYW1lIG5vdCBsb25nZXIgZXhpc3RzCi0gRml4ZWQ6ICJNYWdpYyBtYXJrdXBzIiB3b3JrcyB3aXRoIGxpbmUgZmVlZHMKLSBGaXhlZDogS2V5IGV2ZW50cyBhcmUgaW5pdGlhbGl6ZWQgYWZ0ZXIgaW5zZXJ0aW9uCi0gRml4ZWQ6IEludGVybmV0IEV4cGxvcmVyIGxpbmUgZmVlZCBvZmZzZXQgYnVnCi0gRml4ZWQ6IFNob3J0Y3V0IGtleXMgb24gTWFjIE9TCi0gRml4ZWQ6IEN0cmwrY2xpY2sgd29ya3MgYW5kIGRvZXNuJ3Qgb3BlbiBNYWMgY29udGV4dCBtZW51IGFueW1vcmUKLSBGaXhlZDogQ3RybCtjbGljayB3b3JrcyBhbmQgZG9lc24ndCBvcGVuIHRoZSBwYWdlIGluIGEgbmV3IHRhYiBhbnltb3JlCi0gRml4ZWQ6IE1pbm9yIENzcyBtb2RpZmljYXRpb25zCgptYXJrSXRVcCEgMS4wLjMgMjAwOC0wNC0wNAotIEZpeGVkOiBJRTcgUHJldmlldyBlbXB0eSBiYXNldXJsIHByb2JsZW0KLSBGaXhlZDogSUU3IGV4dGVybmFsIHRhcmdldGVkIGluc2VydGlvbgotIEFkZGVkOiBQcm9wZXJ0eSBzY3JvbGxQb3NpdGlvbiBpcyBwYXNzZWQgdG8gY2FsbGJhY2tzIGZ1bmN0aW9ucwoKbWFya0l0VXAhIDEuMC4yIDIwMDgtMDMtMzEKLSBGaXhlZDogSUU3IEh0bWwgcHJldmlldyBwcm9ibGVtcwotIEZpeGVkOiBTZWxlY3Rpb24gaXMga2VwdCBpZiBub3RoaW5nIGlzIGluc2VydGVkCi0gSW1wcm92ZWQ6IENvZGUgbWluaWZpZWQKCm1hcmtJdFVwISAxLjAuMSAyMDA4LTAzLTIxCi0gUmVtb3ZlZDogR2xvYmFsIFBsYWNlSG9sZGVyCi0gTW9kaWZpZWQ6IFByb3BlcnR5IHByZXZpZXdDaGFyc2V0IGlzIHNldHRlZCB0byAidXRmLTgiIGJ5IGRlZmF1bHQKCm1hcmtJdFVwISAxLjAuMCAyMDA4LTAzLTAxCi0gRmlyc3QgcHVibGljIHJlbGVhc2UK]]></data>
	</file>
	<file>
	  <filename>/_backup/latest/html.zip</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/_backup/latest/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/_backup/latest/images/body.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAEAAADICAIAAACmkByiAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAArwAAAK8AFCrDSYAAAAJXRFWHRTb2Z0d2FyZQBNYWNyb21lZGlhIEZpcmV3b3JrcyBNWCAyMDA0h3aszwAAABZ0RVh0Q3JlYXRpb24gVGltZQAxMi8xMi8wN0zlgk8AAABmSURBVHic1Y+xCoAwEENzcWindusn9pv6r72AU6XioKggHmR5IVyCWisl0d03SWLvfccGd/eDN+dnT9JCcgEAM8O41hpjjEwpsZTCnDNDCARwS2Z2mc/szH/y5+3M3d5f7jnr/AOtb85JgJRl8kMAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/_backup/latest/images/jaysalvat.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAF0AAAAFAQMAAAAdYnIaAAAAA3NCSVQICAjb4U/gAAAABlBMVEUzMzP///8jKH/HAAAACXBIWXMAAArwAAAK8AFCrDSYAAAAJXRFWHRTb2Z0d2FyZQBNYWNyb21lZGlhIEZpcmV3b3JrcyBNWCAyMDA0h3aszwAAABZ0RVh0Q3JlYXRpb24gVGltZQAxMi8xMi8wN0zlgk8AAABASURBVHicY1i1qmFf9/sF3e/79/1gAHIWBXEs6FLiUFoB4uxTBso8gnA6FiloLAgCy/x+v36R8ot9Skr6+1YAADiiH2Y9EIpdAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/_backup/latest/images/markitup.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAArwAAAB/CAMAAAA6h+FCAAAAA3NCSVQICAjb4U/gAAAC91BMVEX///88dp0JGSIAAABtf4o8dp0AAAA8dp0xY3wZQFsRP1cFOFMREREKDQsICAgABgkAAAA8dp0oU2kgUGcZSGAZQFsLMkcAKEsbHx0ZGRkREREKDQsICAgAAAA8dp0aMUEZGRkKDQsICAgAAAA8dp0kHRoAAAA8dp0bHx0ZGRkREREAAAA8dp06ZHs4WmwhQVIWOUkICAgAAAA8dp05XXMyXHNCQkI6OjohISEICAgAAACuvMU8dp0AAAA8dp1UWFgzMzMrLy0PGBwAAACyv8yNpbU8dp1Aan5MUU9KSkoiO0gzMzMrLy0RGyEICAgAAABje4tLd4xqcG08dp1mZmZSUlJMUU9KSkpESEhER0VCQkI6OjozMzMICAgAAAClvcp0jJ5yiJRrhZRSfJNzc3M8dp1cYWFBZHtbWlpUWFhSUlJMUU9KSkpESEhCQkIhMjwZGRkREREICAgAAADw8fLm6+7e4ujV3ufX3d3Q2+HU19fO1t7P1dXH1NzEztXMzMy+zNa8ydS9x86+xcXEw8W1xM6mxdSyv8y8vr62vsStvsy2vb2uvMWlvcqEwt61traktcWttLWCvdectceds8CrsLZ+udWXs8arraymra2brr17ts2Urb2Mr7+kqKqVqrWlpaV8rsWUp7WdpKV0rcWNpbWLprtyqb6Go7Zypb2EnrSZmZluorZroryDnK18m6xrnLWFlqWNlJR7l6xrmrB8lKSMkY5qlrNzlKVrlKyMjY1jlK1ik6eFi4yEiod0jJ5jjqtrjKNjjKSEhIRyiJR+hINaiqZciZ5rhZR7gX5YhqNihJ1ahJ17e3t0e3lYfptzeXZje4tSfJNzc3Ntc3FSd4xLd4xqcG1Sc4U8dp1Kb4VmZmZKa31cYWFBZHtbWlpCX3BUWFhKWGJSUlJMUU81UmZKSko8S1hESEgyS1lER0VCQkI8QD8qQlI6OjowPUUpPEgzMzMhMjwrLy0pKSkhISEbHx0ZGRkREREKDQsICAgABgkAAAA/6YWDAAAA/XRSTlMAERERIiIiMzMzMzMzMzMzM0RERERERERERERERERVVVVVVVVmZmZ3d3d3d4iIiIiIiIiZmZmZmZmZmaqqqru7u7u7u8zMzMzMzMzMzMzMzN3d3d3d3d3d3d3d3d3d3e7u7u7u7u7u7u7u7u7u7u7u7u7u7v//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+teFHwAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAxMS8wNC8xMOJ5SlwAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzVxteM2AAAgAElEQVR4nO2dfUBUVf7/RydGzdrv6G5taVMYhiaohaX4hKgpafmUWrtl9rCptbmpPxVFRVREWZAFlFyeQnRQHgaIRoUNZCRopDFmHGUMbSQkkPUBTYznnT9+55z7fO+5d2YQH8p5FzDOnDn33Duv+76fzznnnpHJXHLJJZduV/KHew8e4u09ZHDvvve6KS79fiW3o67U2XfItOSIrVuCgzdvjZk2oX+X6nDJJTuSj5lkR2OcRk8xatrmwLW01oVNG+7C16Xul3JhdEjodlGFbor+ROFklSOmBa9dG7g+iNS6tWvWhs398x1pvUsPtJSvRq4PkdD68IVKpyqUj4oCZgugXU8KPAxcE/T+ww68t2//h7q2Fy49kFK+mhIeK6F/Jiz8gzP1yUdtXRPIkEvhu2bd+33svnX4tIP9ur4nLj1wUr6aEBobLarYUCfhHR6xZh0XXQLfNZsnSHc79Oz/fvDag474s0suEepmeHtPCwwUsovojesv9cb+EyLWrtn8gQtelxxXN8M7fGsgxnghvYEbJ4i/ra938ro169ZtdigydsklQnx4+TEvgNeJhK3P+0GBOHQRvblicUPP4dOC16zdGBTogtclZ4TglZCz8K7HRg0I3n2P4d/0p7kRa9YEbQwC8H4gUsQllzCyB2+4U2HDY19JwHvgj7i3/HlUXOCawI2oR9gFr0vOyF5XWXiKM8772PubxMKG9eu/wsArHz5t45q1wRuDXPC65LTswPt5pFPwPvxhSOC6IKzWhXwrhLf/tK1r1wYBdjdC/UbgfYite92YB1rKGd0K77JYUXgjz/Gzsb4T3guE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]]></data>
	</file>
	<file>
	  <filename>/_backup/latest/images/style.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Ym9keSB7CgliYWNrZ3JvdW5kOiNFRUUgdXJsKGJvZHkucG5nKSByZXBlYXQteDsKCWZvbnQ6IDEzcHggIlRyZWJ1Y2hldCBNUyIsIEFyaWFsLCBWZXJkYW5hOwoJcGFkZGluZzoyMHB4Owp9CmEgewoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7Cgljb2xvcjojM0M3NjlEOwp9CmgxIGEsCnAgZW0gYSB7CglkaXNwbGF5OmJsb2NrOwoJb3ZlcmZsb3c6aGlkZGVuOwoJdGV4dC1pbmRlbnQ6LTk5OTlweDsKfQpoMSBhIHsKCXdpZHRoOjcwMHB4OwoJaGVpZ2h0OjIwMHB4OwoJYmFja2dyb3VuZDp0cmFuc3BhcmVudCB1cmwobWFya2l0dXAucG5nKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjsKfQpwIGVtIGEgewoJYmFja2dyb3VuZDp0cmFuc3BhcmVudCB1cmwoamF5c2FsdmF0LnBuZykgbm8tcmVwZWF0IDEwJSA1MCU7Cgl3aWR0aDoxMjBweDsgaGVpZ2h0OjI4cHg7CglsZWZ0OjMwcHg7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCXRvcDowcHg7IAp9]]></data>
	</file>
	<file>
	  <filename>/_backup/latest/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXN0cmljdC5kdGQiPgo8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIiAvPgo8dGl0bGU+bWFya0l0VXAhIFVuaXZlcnNhbCBtYXJrdXAgZWRpdG9yPC90aXRsZT4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iaW1hZ2VzL3N0eWxlLmNzcyIgLz4KPCEtLSBqUXVlcnkgLS0+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHA6Ly9jb2RlLmpxdWVyeS5jb20vanF1ZXJ5LTEuNi4yLm1pbi5qcyI+PC9zY3JpcHQ+CjwhLS0gbWFya0l0VXAhIC0tPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJtYXJraXR1cC9qcXVlcnkubWFya2l0dXAuanMiPjwvc2NyaXB0Pgo8IS0tIG1hcmtJdFVwISB0b29sYmFyIHNldHRpbmdzIC0tPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJtYXJraXR1cC9zZXRzL2RlZmF1bHQvc2V0LmpzIj48L3NjcmlwdD4KPCEtLSBtYXJrSXRVcCEgc2tpbiAtLT4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0ibWFya2l0dXAvc2tpbnMvbWFya2l0dXAvc3R5bGUuY3NzIiAvPgo8IS0tICBtYXJrSXRVcCEgdG9vbGJhciBza2luIC0tPgo8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJtYXJraXR1cC9zZXRzL2RlZmF1bHQvc3R5bGUuY3NzIiAvPgo8L2hlYWQ+Cjxib2R5Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CjwhLS0KJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKQl7CgkvLyBBZGQgbWFya0l0VXAhIHRvIHlvdXIgdGV4dGFyZWEgaW4gb25lIGxpbmUKCS8vICQoJ3RleHRhcmVhJykubWFya0l0VXAoIHsgU2V0dGluZ3MgfSwgeyBPcHRpb25hbEV4dHJhU2V0dGluZ3MgfSApOwoJJCgnI21hcmtJdFVwJykubWFya0l0VXAobXlTZXR0aW5ncyk7CgkKCS8vIFlvdSBjYW4gYWRkIGNvbnRlbnQgZnJvbSBhbnl3aGVyZSBpbiB5b3VyIHBhZ2UKCS8vICQubWFya0l0VXAoIHsgU2V0dGluZ3MgfSApOwkKCSQoJy5hZGQnKS5jbGljayhmdW5jdGlvbigpIHsKIAkJJC5tYXJrSXRVcCggeyAJb3BlbldpdGg6JzxvcGVuaW5nIHRhZz4nLAoJCQkJCQljbG9zZVdpdGg6JzxcL2Nsb3NpbmcgdGFnPicsCgkJCQkJCXBsYWNlSG9sZGVyOiJOZXcgY29udGVudCIKCQkJCQl9CgkJCQkpOwogCQlyZXR1cm4gZmFsc2U7Cgl9KTsKCQoJLy8gQW5kIHlvdSBjYW4gYWRkL3JlbW92ZSBtYXJrSXRVcCEgd2hlbmV2ZXIgeW91IHdhbnQKCS8vICQodGV4dGFyZWEpLm1hcmtJdFVwUmVtb3ZlKCk7CgkkKCcudG9nZ2xlJykuY2xpY2soZnVuY3Rpb24oKSB7CgkJaWYgKCQoIiNtYXJrSXRVcC5tYXJrSXRVcEVkaXRvciIpLmxlbmd0aCA9PT0gMSkgewogCQkJJCgiI21hcmtJdFVwIikubWFya0l0VXBSZW1vdmUoKTsKCQkJJCgic3BhbiIsIHRoaXMpLnRleHQoImdldCBtYXJrSXRVcCEgYmFjayIpOwoJCX0gZWxzZSB7CgkJCSQoJyNtYXJrSXRVcCcpLm1hcmtJdFVwKG15U2V0dGluZ3MpOwoJCQkkKCJzcGFuIiwgdGhpcykudGV4dCgicmVtb3ZlIG1hcmtJdFVwISIpOwoJCX0KIAkJcmV0dXJuIGZhbHNlOwoJfSk7Cn0pOwotLT4KPC9zY3JpcHQ+CjxoMT48YSBocmVmPSJodHRwOi8vbWFya2l0dXAuamF5c2FsdmF0LmNvbS8iPm1hcmtJdFVwITwvYT48L2gxPgo8cD48ZW0+PGEgaHJlZj0iaHR0cDovL3d3dy5qYXlzYWx2YXQuY29tIj5CeSBKYXkgU2FsdmF0PC9hPjwvZW0+PC9wPgo8cD5Eb3dubG9hZHMsIGV4YW1wbGVzIGFuZCBkb2N1bWVudGF0aW9uIGF0IDxhIGhyZWY9Imh0dHA6Ly9tYXJraXR1cC5qYXlzYWx2YXQuY29tIj5odHRwOi8vbWFya2l0dXAuamF5c2FsdmF0LmNvbTwvYT4uPC9wPgo8cD5DbGljayA8YSBocmVmPSIjIiBjbGFzcz0iYWRkIj50aGlzIGxpbmsgdG8gaW5zZXJ0IGNvbnRlbnQ8L2E+IGZyb20gYW55d2hlcmUgaW4gdGhlIHBhZ2Ugb3IgPGEgaHJlZj0iIyIgY2xhc3M9InRvZ2dsZSI+dGhpcyBvbmUgdG8gPHNwYW4+cmVtb3ZlIG1hcmtJdFVwITwvc3Bhbj48L2E+PC9wPgo8cD4KPHRleHRhcmVhIGlkPSJtYXJrSXRVcCIgY29scz0iODAiIHJvd3M9IjIwIj4KJmx0O2gxJmd0O1dlbGNvbWUgb24gbWFya0l0VXAhJmx0Oy9oMSZndDsKCiZsdDtwJmd0OyZsdDtzdHJvbmcmZ3Q7bWFya0l0VXAhJmx0Oy9zdHJvbmcmZ3Q7IGlzIGEgSmF2YVNjcmlwdCBwbHVnaW4gYnVpbHQgb24gdGhlIGpRdWVyeSBsaWJyYXJ5LiBJdCBhbGxvd3MgeW91IHRvIHR1cm4gYW55IHRleHRhcmVhIGludG8gYSBtYXJrdXAgZWRpdG9yLiBIdG1sLCBUZXh0aWxlLCBXaWtpIFN5bnRheCwgTWFya2Rvd24sIEJCY29kZSBvciBldmVuIHlvdXIgb3duIG1hcmt1cCBzeXN0ZW0gY2FuIGJlIGVhc2lseSBpbXBsZW1lbnRlZC4mbHQ7L3AmZ3Q7CjwvdGV4dGFyZWE+CjwvcD4KPHA+U3VwcG9ydCB0aGUgcHJvamVjdCA6IDxhIGhyZWY9Imh0dHA6Ly9tYXJraXR1cC5qYXlzYWx2YXQuY29tLyI+RG9uYXRlPC9hPiB8IDxhIGhyZWY9Imh0dHA6Ly9tYXJraXR1cC5qYXlzYWx2YXQuY29tLyI+Q29udGFjdDwvYT48L3A+CjwvYm9keT4KPC9odG1sPgo=]]></data>
	</file>
	<file>
	  <filename>/_backup/latest/latest.zip</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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Z2VzL2ltYWdlLnBuZ1BLAQIAABQAAAAIAI2dNUBrnKKf3gAAAN8AAAAuAAAAAAAAAAAAIAAAAPpZAABsYXRlc3QvbWFya2l0dXAvc2V0cy9kZWZhdWx0L2ltYWdlcy9pdGFsaWMucG5nUEsBAgAAFAAAAAgAjZ01QIINDjigAgAAmwIAAC0AAAAAAAAAAAAgAAAAJFsAAGxhdGVzdC9tYXJraXR1cC9zZXRzL2RlZmF1bHQvaW1hZ2VzL2NsZWFuLnBuZ1BLAQIAABQAAAAIAI2dNUDhf1cVNQEAADABAAAsAAAAAAAAAAAAIAAAAA9eAABsYXRlc3QvbWFya2l0dXAvc2V0cy9kZWZhdWx0L2ltYWdlcy9ib2xkLnBuZ1BLAQIAABQAAAAIAI2dNUBVbt88XQEAAFgBAAAzAAAAAAAAAAAAIAAAAI5fAABsYXRlc3QvbWFya2l0dXAvc2V0cy9kZWZhdWx0L2ltYWdlcy9saXN0LWJ1bGxldC5wbmdQSwECAAAUAAAACACNnTVA5STythABAAANAQAALgAAAAAAAAAAACAAAAA8YQAAbGF0ZXN0L21hcmtpdHVwL3NldHMvZGVmYXVsdC9pbWFnZXMvc3Ryb2tlLnBuZ1BLAQIAABQAAAAIAI2dNUDZuLD3RgMAAJwJAAAmAAAAAAAAAAAAIAAAAJhiAABsYXRlc3QvbWFya2l0dXAvc2tpbnMvc2ltcGxlL3N0eWxlLmNzc1BLAQIAABQAAAAIAI2dNUAn3AnC9wAAAAIBAAAuAAAAAAAAAAAAIAAAACJmAABsYXRlc3QvbWFya2l0dXAvc2tpbnMvc2ltcGxlL2ltYWdlcy9oYW5kbGUucG5nUEsBAgAAFAAAAAgAjZ01QGMQTF9ZZgAAD2oAACwAAAAAAAAAAAAgAAAAZWcAAGxhdGVzdC9tYXJraXR1cC9za2lucy9zaW1wbGUvaW1hZ2VzL21lbnUucG5nUEsBAgAAFAAAAAgAjZ01QHtKjxDpAAAA8AAAAC8AAAAAAAAAAAAgAAAACM4AAGxhdGVzdC9tYXJraXR1cC9za2lucy9zaW1wbGUvaW1hZ2VzL3N1Ym1lbnUucG5nUEsBAgAAFAAAAAgAjZ01QF9RyHXmAwAACQ0AACgAAAAAAAAAAAAgAAAAPs8AAGxhdGVzdC9tYXJraXR1cC9za2lucy9tYXJraXR1cC9zdHlsZS5jc3NQSwECAAAUAAAACACNnTVAu53XcpsEAAD3BgAAPAAAAAAAAAAAACAAAABq0wAAbGF0ZXN0L21hcmtpdHVwL3NraW5zL21hcmtpdHVwL2ltYWdlcy9iZy1lZGl0b3ItbWFya2Rvd24ucG5nUEsBAgAAFAAAAAgAjZ01QMGmqEv3AAAA/gAAAC4AAAAAAAAAAAAgAAAAX9gAAGxhdGVzdC9tYXJraXR1cC9za2lucy9tYXJraXR1cC9pbWFnZXMvbWVudS5wbmdQSwECAAAUAAAACACNnTVAx6S+WTQBAABCAQAANgAAAAAAAAAAACAAAACi2QAAbGF0ZXN0L21hcmtpdHVwL3NraW5zL21hcmtpdHVwL2ltYWdlcy9iZy1jb250YWluZXIucG5nUEsBAgAAFAAAAAgAjZ01QLETkv4xAwAA+QUAADgAAAAAAAAAAAAgAAAAKtsAAGxhdGVzdC9tYXJraXR1cC9za2lucy9tYXJraXR1cC9pbWFnZXMvYmctZWRpdG9yLWpzb24ucG5nUEsBAgAAFAAAAAgAjZ01QCfcCcL3AAAAAgEAADAAAAAAAAAAAAAgAAAAsd4AAGxhdGVzdC9tYXJraXR1cC9za2lucy9tYXJraXR1cC9pbWFnZXMvaGFuZGxlLnBuZ1BLAQIAABQAAAAIAI2dNUCNhP+UTgMAAP4FAAA4AAAAAAAAAAAAIAAAAPbfAABsYXRlc3QvbWFya2l0dXAvc2tpbnMvbWFya2l0dXAvaW1hZ2VzL2JnLWVkaXRvci1odG1sLnBuZ1BLAQIAABQAAAAIAI2dNUAocqxZzAMAAGoGAAA6AAAAAAAAAAAAIAAAAJrjAABsYXRlc3QvbWFya2l0dXAvc2tpbnMvbWFya2l0dXAvaW1hZ2VzL2JnLWVkaXRvci1iYmNvZGUucG5nUEsBAgAAFAAAAAgAjZ01QInn/4IjBAAAkgYAADwAAAAAAAAAAAAgAAAAvucAAGxhdGVzdC9tYXJraXR1cC9za2lucy9tYXJraXR1cC9pbWFnZXMvYmctZWRpdG9yLWRvdGNsZWFyLnBuZ1BLAQIAABQAAAAIAI2dNUDlg+YYCwMAANcFAAA3AAAAAAAAAAAAIAAAADvsAABsYXRlc3QvbWFya2l0dXAvc2tpbnMvbWFya2l0dXAvaW1hZ2VzL2JnLWVkaXRvci14bWwucG5nUEsBAgAAFAAAAAgAjZ01QHTZ8P7+AgAA0AUAADgAAAAAAAAAAAAgAAAAm+8AAGxhdGVzdC9tYXJraXR1cC9za2lucy9tYXJraXR1cC9pbWFnZXMvYmctZWRpdG9yLXdpa2kucG5nUEsBAgAAFAAAAAgAjZ01QHtKjxDpAAAA8AAAADEAAAAAAAAAAAAgAAAA7/IAAGxhdGVzdC9tYXJraXR1cC9za2lucy9tYXJraXR1cC9pbWFnZXMvc3VibWVudS5wbmdQSwECAAAUAAAACACNnTVAg8gdMugDAAB7BgAAOwAAAAAAAAAAACAAAAAn9AAAbGF0ZXN0L21hcmtpdHVwL3NraW5zL21hcmtpdHVwL2ltYWdlcy9iZy1lZGl0b3ItdGV4dGlsZS5wbmdQSwECAAAUAAAACACNnTVABfWEDlgEAADRBgAAMwAAAAAAAAAAACAAAABo+AAAbGF0ZXN0L21hcmtpdHVwL3NraW5zL21hcmtpdHVwL2ltYWdlcy9iZy1lZGl0b3IucG5nUEsBAgAAFAAAAAgAjZ01QL2mcqllFQAAfEcAACIAAAAAAAAAAAAgAAAAEf0AAGxhdGVzdC9tYXJraXR1cC9qcXVlcnkubWFya2l0dXAuanNQSwECAAAUAAAACACNnTVAVi3k37IBAABmAwAAEAAAAAAAAAAAACAAAAC2EgEAbGF0ZXN0L1JFQURNRS5tZFBLBQYAAAAAKAAoAOoNAACWFAEAAAA=]]></data>
	</file>
	<file>
	  <filename>/_backup/latest/markitup/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/_backup/latest/markitup/jquery.markitup.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Ly8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQovLyBtYXJrSXRVcCEgVW5pdmVyc2FsIE1hcmtVcCBFbmdpbmUsIEpRdWVyeSBwbHVnaW4KLy8gdiAxLjEueAovLyBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgYW5kIEdQTCBsaWNlbnNlcy4KLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQovLyBDb3B5cmlnaHQgKEMpIDIwMDctMjAxMSBKYXkgU2FsdmF0Ci8vIGh0dHA6Ly9tYXJraXR1cC5qYXlzYWx2YXQuY29tLwovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkKLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwKLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cwovLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsCi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcwovLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgovLyAKLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4KLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCi8vIAovLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgovLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwKLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTgovLyBUSEUgU09GVFdBUkUuCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKGZ1bmN0aW9uKCQpIHsKCSQuZm4ubWFya0l0VXAgPSBmdW5jdGlvbihzZXR0aW5ncywgZXh0cmFTZXR0aW5ncykgewoJCXZhciBvcHRpb25zLCBjdHJsS2V5LCBzaGlmdEtleSwgYWx0S2V5OwoJCWN0cmxLZXkgPSBzaGlmdEtleSA9IGFsdEtleSA9IGZhbHNlOwoJCgkJb3B0aW9ucyA9IHsJaWQ6CQkJCQkJJycsCgkJCQkJbmFtZVNwYWNlOgkJCQknJywKCQkJCQlyb290OgkJCQkJJycsCgkJCQkJcHJldmlld0luV2luZG93OgkJJycsIC8vICd3aWR0aD04MDAsIGhlaWdodD02MDAsIHJlc2l6YWJsZT15ZXMsIHNjcm9sbGJhcnM9eWVzJwoJCQkJCXByZXZpZXdBdXRvUmVmcmVzaDoJCXRydWUsCgkJCQkJcHJldmlld1Bvc2l0aW9uOgkJJ2FmdGVyJywKCQkJCQlwcmV2aWV3VGVtcGxhdGVQYXRoOgknfi90ZW1wbGF0ZXMvcHJldmlldy5odG1sJywKCQkJCQlwcmV2aWV3UGFyc2VyOgkJCWZhbHNlLAoJCQkJCXByZXZpZXdQYXJzZXJQYXRoOgkJJycsCgkJCQkJcHJldmlld1BhcnNlclZhcjoJCSdkYXRhJywKCQkJCQlyZXNpemVIYW5kbGU6CQkJdHJ1ZSwKCQkJCQliZWZvcmVJbnNlcnQ6CQkJJycsCgkJCQkJYWZ0ZXJJbnNlcnQ6CQkJJycsCgkJCQkJb25FbnRlcjoJCQkJe30sCgkJCQkJb25TaGlmdEVudGVyOgkJCXt9LAoJCQkJCW9uQ3RybEVudGVyOgkJCXt9LAoJCQkJCW9uVGFiOgkJCQkJe30sCgkJCQkJbWFya3VwU2V0OgkJCVsJeyAvKiBzZXQgKi8gfSBdCgkJCQl9OwoJCSQuZXh0ZW5kKG9wdGlvbnMsIHNldHRpbmdzLCBleHRyYVNldHRpbmdzKTsKCgkJLy8gY29tcHV0ZSBtYXJrSXRVcCEgcGF0aAoJCWlmICghb3B0aW9ucy5yb290KSB7CgkJCSQoJ3NjcmlwdCcpLmVhY2goZnVuY3Rpb24oYSwgdGFnKSB7CgkJCQltaXVTY3JpcHQgPSAkKHRhZykuZ2V0KDApLnNyYy5tYXRjaCgvKC4qKWpxdWVyeVwubWFya2l0dXAoXC5wYWNrKT9cLmpzJC8pOwoJCQkJaWYgKG1pdVNjcmlwdCAhPT0gbnVsbCkgewoJCQkJCW9wdGlvbnMucm9vdCA9IG1pdVNjcmlwdFsxXTsKCQkJCX0KCQkJfSk7CgkJfQoKCQlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCkgewoJCQl2YXIgJCQsIHRleHRhcmVhLCBsZXZlbHMsIHNjcm9sbFBvc2l0aW9uLCBjYXJldFBvc2l0aW9uLCBjYXJldE9mZnNldCwKCQkJCWNsaWNrZWQsIGhhc2gsIGhlYWRlciwgZm9vdGVyLCBwcmV2aWV3V2luZG93LCB0ZW1wbGF0ZSwgaUZyYW1lLCBhYm9ydDsKCQkJJCQgPSAkKHRoaXMpOwoJCQl0ZXh0YXJlYSA9IHRoaXM7CgkJCWxldmVscyA9IFtdOwoJCQlhYm9ydCA9IGZhbHNlOwoJCQlzY3JvbGxQb3NpdGlvbiA9IGNhcmV0UG9zaXRpb24gPSAwOwoJCQljYXJldE9mZnNldCA9IC0xOwoKCQkJb3B0aW9ucy5wcmV2aWV3UGFyc2VyUGF0aCA9IGxvY2FsaXplKG9wdGlvbnMucHJldmlld1BhcnNlclBhdGgpOwoJCQlvcHRpb25zLnByZXZpZXdUZW1wbGF0ZVBhdGggPSBsb2NhbGl6ZShvcHRpb25zLnByZXZpZXdUZW1wbGF0ZVBhdGgpOwoKCQkJLy8gYXBwbHkgdGhlIGNvbXB1dGVkIHBhdGggdG8gfi8KCQkJZnVuY3Rpb24gbG9jYWxpemUoZGF0YSwgaW5UZXh0KSB7CgkJCQlpZiAoaW5UZXh0KSB7CgkJCQkJcmV0dXJuIAlkYXRhLnJlcGxhY2UoLygifCcpflwvL2csICIkMSIrb3B0aW9ucy5yb290KTsKCQkJCX0KCQkJCXJldHVybiAJZGF0YS5yZXBsYWNlKC9eflwvLywgb3B0aW9ucy5yb290KTsKCQkJfQoKCQkJLy8gaW5pdCBhbmQgYnVpbGQgZWRpdG9yCgkJCWZ1bmN0aW9uIGluaXQoKSB7CgkJCQlpZCA9ICcnOyBuYW1lU3BhY2UgPSAnJzsKCQkJCWlmIChvcHRpb25zLmlkKSB7CgkJCQkJaWQgPSAnaWQ9Iicrb3B0aW9ucy5pZCsnIic7CgkJCQl9IGVsc2UgaWYgKCQkLmF0dHIoImlkIikpIHsKCQkJCQlpZCA9ICdpZD0ibWFya0l0VXAnKygkJC5hdHRyKCJpZCIpLnN1YnN0cigwLCAxKS50b1VwcGVyQ2FzZSgpKSsoJCQuYXR0cigiaWQiKS5zdWJzdHIoMSkpKyciJzsKCgkJCQl9CgkJCQlpZiAob3B0aW9ucy5uYW1lU3BhY2UpIHsKCQkJCQluYW1lU3BhY2UgPSAnY2xhc3M9Iicrb3B0aW9ucy5uYW1lU3BhY2UrJyInOwoJCQkJfQoJCQkJJCQud3JhcCgnPGRpdiAnK25hbWVTcGFjZSsnPjwvZGl2PicpOwoJCQkJJCQud3JhcCgnPGRpdiAnK2lkKycgY2xhc3M9Im1hcmtJdFVwIj48L2Rpdj4nKTsKCQkJCSQkLndyYXAoJzxkaXYgY2xhc3M9Im1hcmtJdFVwQ29udGFpbmVyIj48L2Rpdj4nKTsKCQkJCSQkLmFkZENsYXNzKCJtYXJrSXRVcEVkaXRvciIpOwoKCQkJCS8vIGFkZCB0aGUgaGVhZGVyIGJlZm9yZSB0aGUgdGV4dGFyZWEKCQkJCWhlYWRlciA9ICQoJzxkaXYgY2xhc3M9Im1hcmtJdFVwSGVhZGVyIj48L2Rpdj4nKS5pbnNlcnRCZWZvcmUoJCQpOwoJCQkJJChkcm9wTWVudXMob3B0aW9ucy5tYXJrdXBTZXQpKS5hcHBlbmRUbyhoZWFkZXIpOwoKCQkJCS8vIGFkZCB0aGUgZm9vdGVyIGFmdGVyIHRoZSB0ZXh0YXJlYQoJCQkJZm9vdGVyID0gJCgnPGRpdiBjbGFzcz0ibWFya0l0VXBGb290ZXIiPjwvZGl2PicpLmluc2VydEFmdGVyKCQkKTsKCgkJCQkvLyBhZGQgdGhlIHJlc2l6ZSBoYW5kbGUgYWZ0ZXIgdGV4dGFyZWEKCQkJCWlmIChvcHRpb25zLnJlc2l6ZUhhbmRsZSA9PT0gdHJ1ZSAmJiAkLmJyb3dzZXIuc2FmYXJpICE9PSB0cnVlKSB7CgkJCQkJcmVzaXplSGFuZGxlID0gJCgnPGRpdiBjbGFzcz0ibWFya0l0VXBSZXNpemVIYW5kbGUiPjwvZGl2PicpCgkJCQkJCS5pbnNlcnRBZnRlcigkJCkKCQkJCQkJLmJpbmQoIm1vdXNlZG93biIsIGZ1bmN0aW9uKGUpIHsKCQkJCQkJCXZhciBoID0gJCQuaGVpZ2h0KCksIHkgPSBlLmNsaWVudFksIG1vdXNlTW92ZSwgbW91c2VVcDsKCQkJCQkJCW1vdXNlTW92ZSA9IGZ1bmN0aW9uKGUpIHsKCQkJCQkJCQkkJC5jc3MoImhlaWdodCIsIE1hdGgubWF4KDIwLCBlLmNsaWVudFkraC15KSsicHgiKTsKCQkJCQkJCQlyZXR1cm4gZmFsc2U7CgkJCQkJCQl9OwoJCQkJCQkJbW91c2VVcCA9IGZ1bmN0aW9uKGUpIHsKCQkJCQkJCQkkKCJodG1sIikudW5iaW5kKCJtb3VzZW1vdmUiLCBtb3VzZU1vdmUpLnVuYmluZCgibW91c2V1cCIsIG1vdXNlVXApOwoJCQkJCQkJCXJldHVybiBmYWxzZTsKCQkJCQkJCX07CgkJCQkJCQkkKCJodG1sIikuYmluZCgibW91c2Vtb3ZlIiwgbW91c2VNb3ZlKS5iaW5kKCJtb3VzZXVwIiwgbW91c2VVcCk7CgkJCQkJfSk7CgkJCQkJZm9vdGVyLmFwcGVuZChyZXNpemVIYW5kbGUpOwoJCQkJfQoKCQkJCS8vIGxpc3RlbiBrZXkgZXZlbnRzCgkJCQkkJC5rZXlkb3duKGtleVByZXNzZWQpLmtleXVwKGtleVByZXNzZWQpOwoJCQkJCgkJCQkvLyBiaW5kIGFuIGV2ZW50IHRvIGNhdGNoIGV4dGVybmFsIGNhbGxzCgkJCQkkJC5iaW5kKCJpbnNlcnRpb24iLCBmdW5jdGlvbihlLCBzZXR0aW5ncykgewoJCQkJCWlmIChzZXR0aW5ncy50YXJnZXQgIT09IGZhbHNlKSB7CgkJCQkJCWdldCgpOwoJCQkJCX0KCQkJCQlpZiAodGV4dGFyZWEgPT09ICQubWFya0l0VXAuZm9jdXNlZCkgewoJCQkJCQltYXJrdXAoc2V0dGluZ3MpOwoJCQkJCX0KCQkJCX0pOwoKCQkJCS8vIHJlbWVtYmVyIHRoZSBsYXN0IGZvY3VzCgkJCQkkJC5mb2N1cyhmdW5jdGlvbigpIHsKCQkJCQkkLm1hcmtJdFVwLmZvY3VzZWQgPSB0aGlzOwoJCQkJfSk7CgkJCX0KCgkJCS8vIHJlY3Vyc2l2ZWx5IGJ1aWxkIGhlYWRlciB3aXRoIGRyb3BNZW51cyBmcm9tIG1hcmt1cHNldAoJCQlmdW5jdGlvbiBkcm9wTWVudXMobWFya3VwU2V0KSB7CgkJCQl2YXIgdWwgPSAkKCc8dWw+PC91bD4nKSwgaSA9IDA7CgkJCQkkKCdsaTpob3ZlciA+IHVsJywgdWwpLmNzcygnZGlzcGxheScsICdibG9jaycpOwoJCQkJJC5lYWNoKG1hcmt1cFNldCwgZnVuY3Rpb24oKSB7CgkJCQkJdmFyIGJ1dHRvbiA9IHRoaXMsIHQgPSAnJywgdGl0bGUsIGxpLCBqOwoJCQkJCXRpdGxlID0gKGJ1dHRvbi5rZXkpID8gKGJ1dHRvbi5uYW1lfHwnJykrJyBbQ3RybCsnK2J1dHRvbi5rZXkrJ10nIDogKGJ1dHRvbi5uYW1lfHwnJyk7CgkJCQkJa2V5ICAgPSAoYnV0dG9uLmtleSkgPyAnYWNjZXNza2V5PSInK2J1dHRvbi5rZXkrJyInIDogJyc7CgkJCQkJaWYgKGJ1dHRvbi5zZXBhcmF0b3IpIHsKCQkJCQkJbGkgPSAkKCc8bGkgY2xhc3M9Im1hcmtJdFVwU2VwYXJhdG9yIj4nKyhidXR0b24uc2VwYXJhdG9yfHwnJykrJzwvbGk+JykuYXBwZW5kVG8odWwpOwoJCQkJCX0gZWxzZSB7CgkJCQkJCWkrKzsKCQkJCQkJZm9yIChqID0gbGV2ZWxzLmxlbmd0aCAtMTsgaiA+PSAwOyBqLS0pIHsKCQkJCQkJCXQgKz0gbGV2ZWxzW2pdKyItIjsKCQkJCQkJfQoJCQkJCQlsaSA9ICQoJzxsaSBjbGFzcz0ibWFya0l0VXBCdXR0b24gbWFya0l0VXBCdXR0b24nK3QrKGkpKycgJysoYnV0dG9uLmNsYXNzTmFtZXx8JycpKyciPjxhIGhyZWY9IiIgJytrZXkrJyB0aXRsZT0iJyt0aXRsZSsnIj4nKyhidXR0b24ubmFtZXx8JycpKyc8L2E+PC9saT4nKQoJCQkJCQkuYmluZCgiY29udGV4dG1lbnUiLCBmdW5jdGlvbigpIHsgLy8gcHJldmVudCBjb250ZXh0bWVudSBvbiBtYWMgYW5kIGFsbG93IGN0cmwrY2xpY2sKCQkJCQkJCXJldHVybiBmYWxzZTsKCQkJCQkJfSkuY2xpY2soZnVuY3Rpb24oKSB7CgkJCQkJCQlyZXR1cm4gZmFsc2U7CgkJCQkJCX0pLmJpbmQoImZvY3VzaW4iLCBmdW5jdGlvbigpewogICAgICAgICAgICAgICAgICAgICAgICAgICAgJCQuZm9jdXMoKTsKCQkJCQkJfSkubW91c2V1cChmdW5jdGlvbigpIHsKCQkJCQkJCWlmIChidXR0b24uY2FsbCkgewoJCQkJCQkJCWV2YWwoYnV0dG9uLmNhbGwpKCk7CgkJCQkJCQl9CgkJCQkJCQlzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeyBtYXJrdXAoYnV0dG9uKSB9LDEpOwoJCQkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJCQl9KS5ob3ZlcihmdW5jdGlvbigpIHsKCQkJCQkJCQkkKCc+IHVsJywgdGhpcykuc2hvdygpOwoJCQkJCQkJCSQoZG9jdW1lbnQpLm9uZSgnY2xpY2snLCBmdW5jdGlvbigpIHsgLy8gY2xvc2UgZHJvcG1lbnUgaWYgY2xpY2sgb3V0c2lkZQoJCQkJCQkJCQkJJCgndWwgdWwnLCBoZWFkZXIpLmhpZGUoKTsKCQkJCQkJCQkJfQoJCQkJCQkJCSk7CgkJCQkJCQl9LCBmdW5jdGlvbigpIHsKCQkJCQkJCQkkKCc+IHVsJywgdGhpcykuaGlkZSgpOwoJCQkJCQkJfQoJCQkJCQkpLmFwcGVuZFRvKHVsKTsKCQkJCQkJaWYgKGJ1dHRvbi5kcm9wTWVudSkgewoJCQkJCQkJbGV2ZWxzLnB1c2goaSk7CgkJCQkJCQkkKGxpKS5hZGRDbGFzcygnbWFya0l0VXBEcm9wTWVudScpLmFwcGVuZChkcm9wTWVudXMoYnV0dG9uLmRyb3BNZW51KSk7CgkJCQkJCX0KCQkJCQl9CgkJCQl9KTsgCgkJCQlsZXZlbHMucG9wKCk7CgkJCQlyZXR1cm4gdWw7CgkJCX0KCgkJCS8vIG1hcmtJdFVwISBtYXJrdXBzCgkJCWZ1bmN0aW9uIG1hZ2ljTWFya3VwcyhzdHJpbmcpIHsKCQkJCWlmIChzdHJpbmcpIHsKCQkJCQlzdHJpbmcgPSBzdHJpbmcudG9TdHJpbmcoKTsKCQkJCQlzdHJpbmcgPSBzdHJpbmcucmVwbGFjZSgvXChcIVwoKFtcc1xTXSo/KVwpXCFcKS9nLAoJCQkJCQlmdW5jdGlvbih4LCBhKSB7CgkJCQkJCQl2YXIgYiA9IGEuc3BsaXQoJ3whfCcpOwoJCQkJCQkJaWYgKGFsdEtleSA9PT0gdHJ1ZSkgewoJCQkJCQkJCXJldHVybiAoYlsxXSAhPT0gdW5kZWZpbmVkKSA/IGJbMV0gOiBiWzBdOwoJCQkJCQkJfSBlbHNlIHsKCQkJCQkJCQlyZXR1cm4gKGJbMV0gPT09IHVuZGVmaW5lZCkgPyAiIiA6IGJbMF07CgkJCQkJCQl9CgkJCQkJCX0KCQkJCQkpOwoJCQkJCS8vIFshW3Byb21wdF0hXSwgWyFbcHJvbXB0OiE6dmFsdWVdIV0KCQkJCQlzdHJpbmcgPSBzdHJpbmcucmVwbGFjZSgvXFtcIVxbKFtcc1xTXSo/KVxdXCFcXS9nLAoJCQkJCQlmdW5jdGlvbih4LCBhKSB7CgkJCQkJCQl2YXIgYiA9IGEuc3BsaXQoJzohOicpOwoJCQkJCQkJaWYgKGFib3J0ID09PSB0cnVlKSB7CgkJCQkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJCQkJfQoJCQkJCQkJdmFsdWUgPSBwcm9tcHQoYlswXSwgKGJbMV0pID8gYlsxXSA6ICcnKTsKCQkJCQkJCWlmICh2YWx1ZSA9PT0gbnVsbCkgewoJCQkJCQkJCWFib3J0ID0gdHJ1ZTsKCQkJCQkJCX0KCQkJCQkJCXJldHVybiB2YWx1ZTsKCQkJCQkJfQoJCQkJCSk7CgkJCQkJcmV0dXJuIHN0cmluZzsKCQkJCX0KCQkJCXJldHVybiAiIjsKCQkJfQoKCQkJLy8gcHJlcGFyZSBhY3Rpb24KCQkJZnVuY3Rpb24gcHJlcGFyZShhY3Rpb24pIHsKCQkJCWlmICgkLmlzRnVuY3Rpb24oYWN0aW9uKSkgewoJCQkJCWFjdGlvbiA9IGFjdGlvbihoYXNoKTsKCQkJCX0KCQkJCXJldHVybiBtYWdpY01hcmt1cHMoYWN0aW9uKTsKCQkJfQoKCQkJLy8gYnVpbGQgYmxvY2sgdG8gaW5zZXJ0CgkJCWZ1bmN0aW9uIGJ1aWxkKHN0cmluZykgewoJCQkJdmFyIG9wZW5XaXRoIAkJCT0gcHJlcGFyZShjbGlja2VkLm9wZW5XaXRoKTsKCQkJCXZhciBwbGFjZUhvbGRlciAJCT0gcHJlcGFyZShjbGlja2VkLnBsYWNlSG9sZGVyKTsKCQkJCXZhciByZXBsYWNlV2l0aCAJCT0gcHJlcGFyZShjbGlja2VkLnJlcGxhY2VXaXRoKTsKCQkJCXZhciBjbG9zZVdpdGggCQkJPSBwcmVwYXJlKGNsaWNrZWQuY2xvc2VXaXRoKTsKCQkJCXZhciBvcGVuQmxvY2tXaXRoIAkJPSBwcmVwYXJlKGNsaWNrZWQub3BlbkJsb2NrV2l0aCk7CgkJCQl2YXIgY2xvc2VCbG9ja1dpdGggCQk9IHByZXBhcmUoY2xpY2tlZC5jbG9zZUJsb2NrV2l0aCk7CgkJCQl2YXIgbXVsdGlsaW5lIAkJCT0gY2xpY2tlZC5tdWx0aWxpbmU7CgkJCQkKCQkJCWlmIChyZXBsYWNlV2l0aCAhPT0gIiIpIHsKCQkJCQlibG9jayA9IG9wZW5XaXRoICsgcmVwbGFjZVdpdGggKyBjbG9zZVdpdGg7CgkJCQl9IGVsc2UgaWYgKHNlbGVjdGlvbiA9PT0gJycgJiYgcGxhY2VIb2xkZXIgIT09ICcnKSB7CgkJCQkJYmxvY2sgPSBvcGVuV2l0aCArIHBsYWNlSG9sZGVyICsgY2xvc2VXaXRoOwoJCQkJfSBlbHNlIHsKCQkJCQlzdHJpbmcgPSBzdHJpbmcgfHwgc2VsZWN0aW9uOwoKCQkJCQl2YXIgbGluZXMgPSBzZWxlY3Rpb24uc3BsaXQoL1xyP1xuLyksIGJsb2NrcyA9IFtdOwoJCQkJCQoJCQkJCWZvciAodmFyIGw9MDsgbCA8IGxpbmVzLmxlbmd0aDsgbCsrKSB7CgkJCQkJCWxpbmUgPSBsaW5lc1tsXTsKCQkJCQkJdmFyIHRyYWlsaW5nU3BhY2VzOwoJCQkJCQlpZiAodHJhaWxpbmdTcGFjZXMgPSBsaW5lLm1hdGNoKC8gKiQvKSkgewoJCQkJCQkJYmxvY2tzLnB1c2gob3BlbldpdGggKyBsaW5lLnJlcGxhY2UoLyAqJC9nLCAnJykgKyBjbG9zZVdpdGggKyB0cmFpbGluZ1NwYWNlcyk7CgkJCQkJCX0gZWxzZSB7CgkJCQkJCQlibG9ja3MucHVzaChvcGVuV2l0aCArIGxpbmUgKyBjbG9zZVdpdGgpOwoJCQkJCQl9CgkJCQkJfQoJCQkJCQoJCQkJCWJsb2NrID0gYmxvY2tzLmpvaW4oIlxuIik7CgkJCQl9CgoJCQkJYmxvY2sgPSBvcGVuQmxvY2tXaXRoICsgYmxvY2sgKyBjbG9zZUJsb2NrV2l0aDsKCgkJCQlyZXR1cm4gewlibG9jazpibG9jaywgCgkJCQkJCQlvcGVuV2l0aDpvcGVuV2l0aCwgCgkJCQkJCQlyZXBsYWNlV2l0aDpyZXBsYWNlV2l0aCwgCgkJCQkJCQlwbGFjZUhvbGRlcjpwbGFjZUhvbGRlciwKCQkJCQkJCWNsb3NlV2l0aDpjbG9zZVdpdGgKCQkJCQl9OwoJCQl9CgoJCQkvLyBkZWZpbmUgbWFya3VwIHRvIGluc2VydAoJCQlmdW5jdGlvbiBtYXJrdXAoYnV0dG9uKSB7CgkJCQl2YXIgbGVuLCBqLCBuLCBpOwoJCQkJaGFzaCA9IGNsaWNrZWQgPSBidXR0b247CgkJCQlnZXQoKTsKCQkJCSQuZXh0ZW5kKGhhc2gsIHsJbGluZToiIiwgCgkJCQkJCSAJCQlyb290Om9wdGlvbnMucm9vdCwKCQkJCQkJCQkJdGV4dGFyZWE6dGV4dGFyZWEsIAoJCQkJCQkJCQlzZWxlY3Rpb246KHNlbGVjdGlvbnx8JycpLCAKCQkJCQkJCQkJY2FyZXRQb3NpdGlvbjpjYXJldFBvc2l0aW9uLAoJCQkJCQkJCQljdHJsS2V5OmN0cmxLZXksIAoJCQkJCQkJCQlzaGlmdEtleTpzaGlmdEtleSwgCgkJCQkJCQkJCWFsdEtleTphbHRLZXkKCQkJCQkJCQl9CgkJCQkJCQkpOwoJCQkJLy8gY2FsbGJhY2tzIGJlZm9yZSBpbnNlcnRpb24KCQkJCXByZXBhcmUob3B0aW9ucy5iZWZvcmVJbnNlcnQpOwoJCQkJcHJlcGFyZShjbGlja2VkLmJlZm9yZUluc2VydCk7CgkJCQlpZiAoKGN0cmxLZXkgPT09IHRydWUgJiYgc2hpZnRLZXkgPT09IHRydWUpIHx8IGJ1dHRvbi5tdWx0aWxpbmUgPT09IHRydWUpIHsKCQkJCQlwcmVwYXJlKGNsaWNrZWQuYmVmb3JlTXVsdGlJbnNlcnQpOwoJCQkJfQkJCQoJCQkJJC5leHRlbmQoaGFzaCwgeyBsaW5lOjEgfSk7CgoJCQkJaWYgKChjdHJsS2V5ID09PSB0cnVlICYmIHNoaWZ0S2V5ID09PSB0cnVlKSkgewoJCQkJCWxpbmVzID0gc2VsZWN0aW9uLnNwbGl0KC9ccj9cbi8pOwoJCQkJCWZvciAoaiA9IDAsIG4gPSBsaW5lcy5sZW5ndGgsIGkgPSAwOyBpIDwgbjsgaSsrKSB7CgkJCQkJCWlmICgkLnRyaW0obGluZXNbaV0pICE9PSAnJykgewoJCQkJCQkJJC5leHRlbmQoaGFzaCwgeyBsaW5lOisraiwgc2VsZWN0aW9uOmxpbmVzW2ldIH0gKTsKCQkJCQkJCWxpbmVzW2ldID0gYnVpbGQobGluZXNbaV0pLmJsb2NrOwoJCQkJCQl9IGVsc2UgewoJCQkJCQkJbGluZXNbaV0gPSAiIjsKCQkJCQkJfQoJCQkJCX0KCQkJCQlzdHJpbmcgPSB7IGJsb2NrOmxpbmVzLmpvaW4oJ1xuJyl9OwoJCQkJCXN0YXJ0ID0gY2FyZXRQb3NpdGlvbjsKCQkJCQlsZW4gPSBzdHJpbmcuYmxvY2subGVuZ3RoICsgKCgkLmJyb3dzZXIub3BlcmEpID8gbi0xIDogMCk7CgkJCQl9IGVsc2UgaWYgKGN0cmxLZXkgPT09IHRydWUpIHsKCQkJCQlzdHJpbmcgPSBidWlsZChzZWxlY3Rpb24pOwoJCQkJCXN0YXJ0ID0gY2FyZXRQb3NpdGlvbiArIHN0cmluZy5vcGVuV2l0aC5sZW5ndGg7CgkJCQkJbGVuID0gc3RyaW5nLmJsb2NrLmxlbmd0aCAtIHN0cmluZy5vcGVuV2l0aC5sZW5ndGggLSBzdHJpbmcuY2xvc2VXaXRoLmxlbmd0aDsKCQkJCQlsZW4gPSBsZW4gLSAoc3RyaW5nLmJsb2NrLm1hdGNoKC8gJC8pID8gMSA6IDApOwoJCQkJCWxlbiAtPSBmaXhJZUJ1ZyhzdHJpbmcuYmxvY2spOwoJCQkJfSBlbHNlIGlmIChzaGlmdEtleSA9PT0gdHJ1ZSkgewoJCQkJCXN0cmluZyA9IGJ1aWxkKHNlbGVjdGlvbik7CgkJCQkJc3RhcnQgPSBjYXJldFBvc2l0aW9uOwoJCQkJCWxlbiA9IHN0cmluZy5ibG9jay5sZW5ndGg7CgkJCQkJbGVuIC09IGZpeEllQnVnKHN0cmluZy5ibG9jayk7CgkJCQl9IGVsc2UgewoJCQkJCXN0cmluZyA9IGJ1aWxkKHNlbGVjdGlvbik7CgkJCQkJc3RhcnQgPSBjYXJldFBvc2l0aW9uICsgc3RyaW5nLmJsb2NrLmxlbmd0aCA7CgkJCQkJbGVuID0gMDsKCQkJCQlzdGFydCAtPSBmaXhJZUJ1ZyhzdHJpbmcuYmxvY2spOwoJCQkJfQoJCQkJaWYgKChzZWxlY3Rpb24gPT09ICcnICYmIHN0cmluZy5yZXBsYWNlV2l0aCA9PT0gJycpKSB7CgkJCQkJY2FyZXRPZmZzZXQgKz0gZml4T3BlcmFCdWcoc3RyaW5nLmJsb2NrKTsKCQkJCQkKCQkJCQlzdGFydCA9IGNhcmV0UG9zaXRpb24gKyBzdHJpbmcub3BlbldpdGgubGVuZ3RoOwoJCQkJCWxlbiA9IHN0cmluZy5ibG9jay5sZW5ndGggLSBzdHJpbmcub3BlbldpdGgubGVuZ3RoIC0gc3RyaW5nLmNsb3NlV2l0aC5sZW5ndGg7CgoJCQkJCWNhcmV0T2Zmc2V0ID0gJCQudmFsKCkuc3Vic3RyaW5nKGNhcmV0UG9zaXRpb24sICAkJC52YWwoKS5sZW5ndGgpLmxlbmd0aDsKCQkJCQljYXJldE9mZnNldCAtPSBmaXhPcGVyYUJ1ZygkJC52YWwoKS5zdWJzdHJpbmcoMCwgY2FyZXRQb3NpdGlvbikpOwoJCQkJfQoJCQkJJC5leHRlbmQoaGFzaCwgeyBjYXJldFBvc2l0aW9uOmNhcmV0UG9zaXRpb24sIHNjcm9sbFBvc2l0aW9uOnNjcm9sbFBvc2l0aW9uIH0gKTsKCgkJCQlpZiAoc3RyaW5nLmJsb2NrICE9PSBzZWxlY3Rpb24gJiYgYWJvcnQgPT09IGZhbHNlKSB7CgkJCQkJaW5zZXJ0KHN0cmluZy5ibG9jayk7CgkJCQkJc2V0KHN0YXJ0LCBsZW4pOwoJCQkJfSBlbHNlIHsKCQkJCQljYXJldE9mZnNldCA9IC0xOwoJCQkJfQoJCQkJZ2V0KCk7CgoJCQkJJC5leHRlbmQoaGFzaCwgeyBsaW5lOicnLCBzZWxlY3Rpb246c2VsZWN0aW9uIH0pOwoKCQkJCS8vIGNhbGxiYWNrcyBhZnRlciBpbnNlcnRpb24KCQkJCWlmICgoY3RybEtleSA9PT0gdHJ1ZSAmJiBzaGlmdEtleSA9PT0gdHJ1ZSkgfHwgYnV0dG9uLm11bHRpbGluZSA9PT0gdHJ1ZSkgewoJCQkJCXByZXBhcmUoY2xpY2tlZC5hZnRlck11bHRpSW5zZXJ0KTsKCQkJCX0KCQkJCXByZXBhcmUoY2xpY2tlZC5hZnRlckluc2VydCk7CgkJCQlwcmVwYXJlKG9wdGlvbnMuYWZ0ZXJJbnNlcnQpOwoKCQkJCS8vIHJlZnJlc2ggcHJldmlldyBpZiBvcGVuZWQKCQkJCWlmIChwcmV2aWV3V2luZG93ICYmIG9wdGlvbnMucHJldmlld0F1dG9SZWZyZXNoKSB7CgkJCQkJcmVmcmVzaFByZXZpZXcoKTsgCgkJCQl9CgkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkKCQkJCS8vIHJlaW5pdCBrZXlldmVudAoJCQkJc2hpZnRLZXkgPSBhbHRLZXkgPSBjdHJsS2V5ID0gYWJvcnQgPSBmYWxzZTsKCQkJfQoKCQkJLy8gU3Vic3RyYWN0IGxpbmVmZWVkIGluIE9wZXJhCgkJCWZ1bmN0aW9uIGZpeE9wZXJhQnVnKHN0cmluZykgewoJCQkJaWYgKCQuYnJvd3Nlci5vcGVyYSkgewoJCQkJCXJldHVybiBzdHJpbmcubGVuZ3RoIC0gc3RyaW5nLnJlcGxhY2UoL1xuKi9nLCAnJykubGVuZ3RoOwoJCQkJfQoJCQkJcmV0dXJuIDA7CgkJCX0KCQkJLy8gU3Vic3RyYWN0IGxpbmVmZWVkIGluIElFCgkJCWZ1bmN0aW9uIGZpeEllQnVnKHN0cmluZykgewoJCQkJaWYgKCQuYnJvd3Nlci5tc2llKSB7CgkJCQkJcmV0dXJuIHN0cmluZy5sZW5ndGggLSBzdHJpbmcucmVwbGFjZSgvXHIqL2csICcnKS5sZW5ndGg7CgkJCQl9CgkJCQlyZXR1cm4gMDsKCQkJfQoJCQkJCgkJCS8vIGFkZCBtYXJrdXAKCQkJZnVuY3Rpb24gaW5zZXJ0KGJsb2NrKSB7CQoJCQkJaWYgKGRvY3VtZW50LnNlbGVjdGlvbikgewoJCQkJCXZhciBuZXdTZWxlY3Rpb24gPSBkb2N1bWVudC5zZWxlY3Rpb24uY3JlYXRlUmFuZ2UoKTsKCQkJCQluZXdTZWxlY3Rpb24udGV4dCA9IGJsb2NrOwoJCQkJfSBlbHNlIHsKCQkJCQl0ZXh0YXJlYS52YWx1ZSA9ICB0ZXh0YXJlYS52YWx1ZS5zdWJzdHJpbmcoMCwgY2FyZXRQb3NpdGlvbikgICsgYmxvY2sgKyB0ZXh0YXJlYS52YWx1ZS5zdWJzdHJpbmcoY2FyZXRQb3NpdGlvbiArIHNlbGVjdGlvbi5sZW5ndGgsIHRleHRhcmVhLnZhbHVlLmxlbmd0aCk7CgkJCQl9CgkJCX0KCgkJCS8vIHNldCBhIHNlbGVjdGlvbgoJCQlmdW5jdGlvbiBzZXQoc3RhcnQsIGxlbikgewoJCQkJaWYgKHRleHRhcmVhLmNyZWF0ZVRleHRSYW5nZSl7CgkJCQkJLy8gcXVpY2sgZml4IHRvIG1ha2UgaXQgd29yayBvbiBPcGVyYSA5LjUKCQkJCQlpZiAoJC5icm93c2VyLm9wZXJhICYmICQuYnJvd3Nlci52ZXJzaW9uID49IDkuNSAmJiBsZW4gPT0gMCkgewoJCQkJCQlyZXR1cm4gZmFsc2U7CgkJCQkJfQoJCQkJCXJhbmdlID0gdGV4dGFyZWEuY3JlYXRlVGV4dFJhbmdlKCk7CgkJCQkJcmFuZ2UuY29sbGFwc2UodHJ1ZSk7CgkJCQkJcmFuZ2UubW92ZVN0YXJ0KCdjaGFyYWN0ZXInLCBzdGFydCk7IAoJCQkJCXJhbmdlLm1vdmVFbmQoJ2NoYXJhY3RlcicsIGxlbik7IAoJCQkJCXJhbmdlLnNlbGVjdCgpOwoJCQkJfSBlbHNlIGlmICh0ZXh0YXJlYS5zZXRTZWxlY3Rpb25SYW5nZSApewoJCQkJCXRleHRhcmVhLnNldFNlbGVjdGlvblJhbmdlKHN0YXJ0LCBzdGFydCArIGxlbik7CgkJCQl9CgkJCQl0ZXh0YXJlYS5zY3JvbGxUb3AgPSBzY3JvbGxQb3NpdGlvbjsKCQkJCXRleHRhcmVhLmZvY3VzKCk7CgkJCX0KCgkJCS8vIGdldCB0aGUgc2VsZWN0aW9uCgkJCWZ1bmN0aW9uIGdldCgpIHsKCQkJCXRleHRhcmVhLmZvY3VzKCk7CgoJCQkJc2Nyb2xsUG9zaXRpb24gPSB0ZXh0YXJlYS5zY3JvbGxUb3A7CgkJCQlpZiAoZG9jdW1lbnQuc2VsZWN0aW9uKSB7CgkJCQkJc2VsZWN0aW9uID0gZG9jdW1lbnQuc2VsZWN0aW9uLmNyZWF0ZVJhbmdlKCkudGV4dDsKCQkJCQlpZiAoJC5icm93c2VyLm1zaWUpIHsgLy8gaWUKCQkJCQkJdmFyIHJhbmdlID0gZG9jdW1lbnQuc2VsZWN0aW9uLmNyZWF0ZVJhbmdlKCksIHJhbmdlQ29weSA9IHJhbmdlLmR1cGxpY2F0ZSgpOwoJCQkJCQlyYW5nZUNvcHkubW92ZVRvRWxlbWVudFRleHQodGV4dGFyZWEpOwoJCQkJCQljYXJldFBvc2l0aW9uID0gLTE7CgkJCQkJCXdoaWxlKHJhbmdlQ29weS5pblJhbmdlKHJhbmdlKSkgewoJCQkJCQkJcmFuZ2VDb3B5Lm1vdmVTdGFydCgnY2hhcmFjdGVyJyk7CgkJCQkJCQljYXJldFBvc2l0aW9uICsrOwoJCQkJCQl9CgkJCQkJfSBlbHNlIHsgLy8gb3BlcmEKCQkJCQkJY2FyZXRQb3NpdGlvbiA9IHRleHRhcmVhLnNlbGVjdGlvblN0YXJ0OwoJCQkJCX0KCQkJCX0gZWxzZSB7IC8vIGdlY2tvICYgd2Via2l0CgkJCQkJY2FyZXRQb3NpdGlvbiA9IHRleHRhcmVhLnNlbGVjdGlvblN0YXJ0OwoKCQkJCQlzZWxlY3Rpb24gPSB0ZXh0YXJlYS52YWx1ZS5zdWJzdHJpbmcoY2FyZXRQb3NpdGlvbiwgdGV4dGFyZWEuc2VsZWN0aW9uRW5kKTsKCQkJCX0gCgkJCQlyZXR1cm4gc2VsZWN0aW9uOwoJCQl9CgoJCQkvLyBvcGVuIHByZXZpZXcgd2luZG93CgkJCWZ1bmN0aW9uIHByZXZpZXcoKSB7CgkJCQlpZiAoIXByZXZpZXdXaW5kb3cgfHwgcHJldmlld1dpbmRvdy5jbG9zZWQpIHsKCQkJCQlpZiAob3B0aW9ucy5wcmV2aWV3SW5XaW5kb3cpIHsKCQkJCQkJcHJldmlld1dpbmRvdyA9IHdpbmRvdy5vcGVuKCcnLCAncHJldmlldycsIG9wdGlvbnMucHJldmlld0luV2luZG93KTsKCQkJCQkJJCh3aW5kb3cpLnVubG9hZChmdW5jdGlvbigpIHsKCQkJCQkJCXByZXZpZXdXaW5kb3cuY2xvc2UoKTsKCQkJCQkJfSk7CgkJCQkJfSBlbHNlIHsKCQkJCQkJaUZyYW1lID0gJCgnPGlmcmFtZSBjbGFzcz0ibWFya0l0VXBQcmV2aWV3RnJhbWUiPjwvaWZyYW1lPicpOwoJCQkJCQlpZiAob3B0aW9ucy5wcmV2aWV3UG9zaXRpb24gPT0gJ2FmdGVyJykgewoJCQkJCQkJaUZyYW1lLmluc2VydEFmdGVyKGZvb3Rlcik7CgkJCQkJCX0gZWxzZSB7CgkJCQkJCQlpRnJhbWUuaW5zZXJ0QmVmb3JlKGhlYWRlcik7CgkJCQkJCX0JCgkJCQkJCXByZXZpZXdXaW5kb3cgPSBpRnJhbWVbaUZyYW1lLmxlbmd0aCAtIDFdLmNvbnRlbnRXaW5kb3cgfHwgZnJhbWVbaUZyYW1lLmxlbmd0aCAtIDFdOwoJCQkJCX0KCQkJCX0gZWxzZSBpZiAoYWx0S2V5ID09PSB0cnVlKSB7CgkJCQkJaWYgKGlGcmFtZSkgewoJCQkJCQlpRnJhbWUucmVtb3ZlKCk7CgkJCQkJfSBlbHNlIHsKCQkJCQkJcHJldmlld1dpbmRvdy5jbG9zZSgpOwoJCQkJCX0KCQkJCQlwcmV2aWV3V2luZG93ID0gaUZyYW1lID0gZmFsc2U7CgkJCQl9CgkJCQlpZiAoIW9wdGlvbnMucHJldmlld0F1dG9SZWZyZXNoKSB7CgkJCQkJcmVmcmVzaFByZXZpZXcoKTsgCgkJCQl9CgkJCQlpZiAob3B0aW9ucy5wcmV2aWV3SW5XaW5kb3cpIHsKCQkJCQlwcmV2aWV3V2luZG93LmZvY3VzKCk7CgkJCQl9CgkJCX0KCgkJCS8vIHJlZnJlc2ggUHJldmlldyB3aW5kb3cKCQkJZnVuY3Rpb24gcmVmcmVzaFByZXZpZXcoKSB7CiAJCQkJcmVuZGVyUHJldmlldygpOwoJCQl9CgoJCQlmdW5jdGlvbiByZW5kZXJQcmV2aWV3KCkgewkJCgkJCQl2YXIgcGh0bWw7CgkJCQlpZiAob3B0aW9ucy5wcmV2aWV3UGFyc2VyICYmIHR5cGVvZiBvcHRpb25zLnByZXZpZXdQYXJzZXIgPT09ICdmdW5jdGlvbicpIHsKCQkJCQl2YXIgZGF0YSA9IG9wdGlvbnMucHJldmlld1BhcnNlciggJCQudmFsKCkgKTsKCQkJCQl3cml0ZUluUHJldmlldyggbG9jYWxpemUoZGF0YSwgMSkgKTsgCgkJCQl9IGVsc2UgaWYgKG9wdGlvbnMucHJldmlld1BhcnNlclBhdGggIT09ICcnKSB7CgkJCQkJJC5hamF4KHsKCQkJCQkJdHlwZTogJ1BPU1QnLAoJCQkJCQlkYXRhVHlwZTogJ3RleHQnLAoJCQkJCQlnbG9iYWw6IGZhbHNlLAoJCQkJCQl1cmw6IG9wdGlvbnMucHJldmlld1BhcnNlclBhdGgsCgkJCQkJCWRhdGE6IG9wdGlvbnMucHJldmlld1BhcnNlclZhcisnPScrZW5jb2RlVVJJQ29tcG9uZW50KCQkLnZhbCgpKSwKCQkJCQkJc3VjY2VzczogZnVuY3Rpb24oZGF0YSkgewoJCQkJCQkJd3JpdGVJblByZXZpZXcoIGxvY2FsaXplKGRhdGEsIDEpICk7IAoJCQkJCQl9CgkJCQkJfSk7CgkJCQl9IGVsc2UgewoJCQkJCWlmICghdGVtcGxhdGUpIHsKCQkJCQkJJC5hamF4KHsKCQkJCQkJCXVybDogb3B0aW9ucy5wcmV2aWV3VGVtcGxhdGVQYXRoLAoJCQkJCQkJZGF0YVR5cGU6ICd0ZXh0JywKCQkJCQkJCWdsb2JhbDogZmFsc2UsCgkJCQkJCQlzdWNjZXNzOiBmdW5jdGlvbihkYXRhKSB7CgkJCQkJCQkJd3JpdGVJblByZXZpZXcoIGxvY2FsaXplKGRhdGEsIDEpLnJlcGxhY2UoLzwhLS0gY29udGVudCAtLT4vZywgJCQudmFsKCkpICk7CgkJCQkJCQl9CgkJCQkJCX0pOwoJCQkJCX0KCQkJCX0KCQkJCXJldHVybiBmYWxzZTsKCQkJfQoJCQkKCQkJZnVuY3Rpb24gd3JpdGVJblByZXZpZXcoZGF0YSkgewoJCQkJaWYgKHByZXZpZXdXaW5kb3cuZG9jdW1lbnQpIHsJCQkKCQkJCQl0cnkgewoJCQkJCQlzcCA9IHByZXZpZXdXaW5kb3cuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcAoJCQkJCX0gY2F0Y2goZSkgewoJCQkJCQlzcCA9IDA7CgkJCQkJfQkKCQkJCQlwcmV2aWV3V2luZG93LmRvY3VtZW50Lm9wZW4oKTsKCQkJCQlwcmV2aWV3V2luZG93LmRvY3VtZW50LndyaXRlKGRhdGEpOwoJCQkJCXByZXZpZXdXaW5kb3cuZG9jdW1lbnQuY2xvc2UoKTsKCQkJCQlwcmV2aWV3V2luZG93LmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3AgPSBzcDsKCQkJCX0KCQkJfQoJCQkKCQkJLy8gc2V0IGtleXMgcHJlc3NlZAoJCQlmdW5jdGlvbiBrZXlQcmVzc2VkKGUpIHsgCgkJCQlzaGlmdEtleSA9IGUuc2hpZnRLZXk7CgkJCQlhbHRLZXkgPSBlLmFsdEtleTsKCQkJCWN0cmxLZXkgPSAoIShlLmFsdEtleSAmJiBlLmN0cmxLZXkpKSA/IChlLmN0cmxLZXkgfHwgZS5tZXRhS2V5KSA6IGZhbHNlOwoKCQkJCWlmIChlLnR5cGUgPT09ICdrZXlkb3duJykgewoJCQkJCWlmIChjdHJsS2V5ID09PSB0cnVlKSB7CgkJCQkJCWxpID0gJCgnYVthY2Nlc3NrZXk9IicrU3RyaW5nLmZyb21DaGFyQ29kZShlLmtleUNvZGUpKyciXScsIGhlYWRlcikucGFyZW50KCdsaScpOwoJCQkJCQlpZiAobGkubGVuZ3RoICE9PSAwKSB7CgkJCQkJCQljdHJsS2V5ID0gZmFsc2U7CgkJCQkJCQlzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewoJCQkJCQkJCWxpLnRyaWdnZXJIYW5kbGVyKCdtb3VzZXVwJyk7CgkJCQkJCQl9LDEpOwoJCQkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJCQl9CgkJCQkJfQoJCQkJCWlmIChlLmtleUNvZGUgPT09IDEzIHx8IGUua2V5Q29kZSA9PT0gMTApIHsgLy8gRW50ZXIga2V5CgkJCQkJCWlmIChjdHJsS2V5ID09PSB0cnVlKSB7ICAvLyBFbnRlciArIEN0cmwKCQkJCQkJCWN0cmxLZXkgPSBmYWxzZTsKCQkJCQkJCW1hcmt1cChvcHRpb25zLm9uQ3RybEVudGVyKTsKCQkJCQkJCXJldHVybiBvcHRpb25zLm9uQ3RybEVudGVyLmtlZXBEZWZhdWx0OwoJCQkJCQl9IGVsc2UgaWYgKHNoaWZ0S2V5ID09PSB0cnVlKSB7IC8vIEVudGVyICsgU2hpZnQKCQkJCQkJCXNoaWZ0S2V5ID0gZmFsc2U7CgkJCQkJCQltYXJrdXAob3B0aW9ucy5vblNoaWZ0RW50ZXIpOwoJCQkJCQkJcmV0dXJuIG9wdGlvbnMub25TaGlmdEVudGVyLmtlZXBEZWZhdWx0OwoJCQkJCQl9IGVsc2UgeyAvLyBvbmx5IEVudGVyCgkJCQkJCQltYXJrdXAob3B0aW9ucy5vbkVudGVyKTsKCQkJCQkJCXJldHVybiBvcHRpb25zLm9uRW50ZXIua2VlcERlZmF1bHQ7CgkJCQkJCX0KCQkJCQl9CgkJCQkJaWYgKGUua2V5Q29kZSA9PT0gOSkgeyAvLyBUYWIga2V5CgkJCQkJCWlmIChzaGlmdEtleSA9PSB0cnVlIHx8IGN0cmxLZXkgPT0gdHJ1ZSB8fCBhbHRLZXkgPT0gdHJ1ZSkgewoJCQkJCQkJcmV0dXJuIGZhbHNlOyAKCQkJCQkJfQoJCQkJCQlpZiAoY2FyZXRPZmZzZXQgIT09IC0xKSB7CgkJCQkJCQlnZXQoKTsKCQkJCQkJCWNhcmV0T2Zmc2V0ID0gJCQudmFsKCkubGVuZ3RoIC0gY2FyZXRPZmZzZXQ7CgkJCQkJCQlzZXQoY2FyZXRPZmZzZXQsIDApOwoJCQkJCQkJY2FyZXRPZmZzZXQgPSAtMTsKCQkJCQkJCXJldHVybiBmYWxzZTsKCQkJCQkJfSBlbHNlIHsKCQkJCQkJCW1hcmt1cChvcHRpb25zLm9uVGFiKTsKCQkJCQkJCXJldHVybiBvcHRpb25zLm9uVGFiLmtlZXBEZWZhdWx0OwoJCQkJCQl9CgkJCQkJfQoJCQkJfQoJCQl9CgoJCQlpbml0KCk7CgkJfSk7Cgl9OwoKCSQuZm4ubWFya0l0VXBSZW1vdmUgPSBmdW5jdGlvbigpIHsKCQlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCkgewoJCQkJdmFyICQkID0gJCh0aGlzKS51bmJpbmQoKS5yZW1vdmVDbGFzcygnbWFya0l0VXBFZGl0b3InKTsKCQkJCSQkLnBhcmVudCgnZGl2JykucGFyZW50KCdkaXYubWFya0l0VXAnKS5wYXJlbnQoJ2RpdicpLnJlcGxhY2VXaXRoKCQkKTsKCQkJfQoJCSk7Cgl9OwoKCSQubWFya0l0VXAgPSBmdW5jdGlvbihzZXR0aW5ncykgewoJCXZhciBvcHRpb25zID0geyB0YXJnZXQ6ZmFsc2UgfTsKCQkkLmV4dGVuZChvcHRpb25zLCBzZXR0aW5ncyk7CgkJaWYgKG9wdGlvbnMudGFyZ2V0KSB7CgkJCXJldHVybiAkKG9wdGlvbnMudGFyZ2V0KS5lYWNoKGZ1bmN0aW9uKCkgewoJCQkJJCh0aGlzKS5mb2N1cygpOwoJCQkJJCh0aGlzKS50cmlnZ2VyKCdpbnNlcnRpb24nLCBbb3B0aW9uc10pOwoJCQl9KTsKCQl9IGVsc2UgewoJCQkkKCd0ZXh0YXJlYScpLnRyaWdnZXIoJ2luc2VydGlvbicsIFtvcHRpb25zXSk7CgkJfQoJfTsKfSkoalF1ZXJ5KTsK]]></data>
	</file>
	<file>
	  <filename>/_backup/latest/markitup/sets/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/_backup/latest/markitup/sets/default/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/_backup/latest/markitup/sets/default/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/_backup/latest/markitup/sets/default/images/bold.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAADCSURBVCjPY/jPgB8yUEtBeUL5+ZL/Be+z61PXJ7yPnB8sgGFCcX3m/6z9IFbE/JD/XucxFOTWp/5PBivwr/f77/gfQ0F6ffz/aKACXwG3+27/LeZjKEioj/wffN+n3vW8y3+z/Vh8EVEf/N8LLGEy3+K/2nl5ATQF/vW+/x3BCrQF1P7r/hcvQFPgVg+0GWq0zH/N/wL1aAps6x3+64M9J12g8p//PZcCigKbBJP1uvvV9sv3S/YL7+ft51SgelzghgBKWvx6E5D1XwAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/_backup/latest/markitup/sets/default/images/clean.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABh0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzT7MfTgAAAhlJREFUOI2lk0toE1EYhc9kZmoeauyAMrZ5NFNsOo1tKm7MooIgKnTlqlkVF0LAlaWLuBG7kGJAV4qu7EYQtSvREkwVxKRWwVhLqKR5OK04Tu0jjQnNY5zJuBptbVqK/Zbnv+e73B8uoWkadoNhV+2tBMdufrX+t6A7NG9lGSrsf7KQ17P+Z8v53gcLb7tD85vEGwTeYYFhGTrMsw2+crGW0/NSuZbzsLSPZeiw52qWqSvoui74jx6xiHwT7ct8k4Vkotijz1KptZ6UJAt8E+3rbLeI7suzfn1GaJqGzqEvDR1u8xLXSO8XVmQlPpk/kb7Dx9ffxAfTx71de9/Z95FURpILU+9/Hpwb8cgGAEgMcfKnD4VARqpWGNpAtXLmUWd/olkvuwdTzZzDOMrQBiorVSsfJ1YDcyMeGQAo/dDsrbZHroszEZvN+Ly91eRT2yxRABwAXDA8THijjxvpxSwUEisB1FoA5e8T1mPzT1vtTlOYYeiOsaDrQKzPEbTYHTf4U+exh/OgPB3B5+i4mksmB868+nV7k+BfXpymsicHQpwp+xoQJwCrFcuUE/FITDj7UuGobdsAyBrhMh52Ab2DfzLqGguyRrRs2MFWqKQmlqbGbJanl1At/0AJQLFAQiXxHdjBXzAzh+7PTL5RpIoJBZLGao5AWiRUDbgL1FliPWJ99itrOSlAqoRTJTVRA+6dG1eGdyzYjt/h2M+sdF20TgAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/_backup/latest/markitup/sets/default/images/image.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAGWSURBVBgZpcE/a1NhGMbh3/OeN56cKq2Dp6AoCOKmk4uCn8DNycEOIojilr2TaBfRzVnESQR3Bz+FFDoWA2IjtkRqmpyc97k9qYl/IQV7XSaJw4g0VlZfP0m13dwepPbuiH85fyhyWCx4/ubxjU6kkdxWHt69VC6XpZlFBAhwJgwJJHAmRKorbj94ewvoRBrbuykvT5R2/+lLTp05Tp45STmEJYJBMAjByILxYeM9jzr3GCczGpHGYAQhRM6fO8uFy1fJQoaUwCKYEcwwC4QQaGUBd36KTDmQ523axTGQmEcIEBORKQfG1ZDxcA/MkBxXwj1ggCQyS9TVAMmZiUxJ8Ln/kS+9PmOvcSW+jrao0mmMH5bzHfa+9UGBmciUBJ+2Fmh1h+yTQCXSkJkdCrpd8btIwwEJQnaEkOXMk7XaiF8CUxL/JdKQOwb0Ntc5SG9zHXQNd/ZFGsaEeLa2ChjzXQcqZiKNxSL0vR4unVwwMENMCATib0ZdV+QtE41I42geXt1Ze3dlMNZFdw6Ut6CIvKBhkjiM79Pyq1YUmtkKAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/_backup/latest/markitup/sets/default/images/italic.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAABxSURBVCjPY/jPgB8yUFtBdkPqh4T/kR+CD+A0Ie5B5P/ABJwmxBiE//f/gMeKkAlB/90W4FHg88Dzv20ATgVeBq7/bT7g8YXjBJf/RgvwKLB4YPFfKwCnAjMH0/8a/3EGlEmD7gG1A/IHJDfQOC4wIQALYP87Y6unEgAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/_backup/latest/markitup/sets/default/images/link.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAADpSURBVCjPY/jPgB8y0EmBHXdWaeu7ef9rHuaY50jU3J33v/VdVqkdN1SBEZtP18T/L/7f/X/wf+O96kM3f9z9f+T/xP8+XUZsYAWGfsUfrr6L2Ob9J/X/pP+V/1P/e/+J2LbiYfEHQz+ICV1N3yen+3PZf977/9z/Q//X/rf/7M81Ob3pu1EXWIFuZvr7aSVBOx1/uf0PBEK3/46/gnZOK0l/r5sJVqCp6Xu99/2qt+v+T/9f+L8CSK77v+pt73vf65qaYAVqzPYGXvdTvmR/z/4ZHhfunP0p+3vKF6/79gZqzPQLSYoUAABKPQ+kpVV/igAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/_backup/latest/markitup/sets/default/images/list-bullet.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAADqSURBVDjLY/j//z8DJZiBKgbkzH9cMHXX6wcgmiwDQJq3nv/4H0SD+OXl5dlA/L+kpOR/QUHB/+zs7P+pqan/ExIS/kdGRv4PDg7+T10XDHwgpsx8VNC56eWDkJ675Hmhbf3zB0uPvP1fuvQpOBDj4uKyIyIi/gcGBv738vL67+zs/N/Gxua/iYnJf11d3f9qamqogRjQcaugZPHjB66V14ZqINrmXyqIn3bvgXXeJfK8ANLcv+3lfxAN4hsZGWVra2v/V1FR+S8nJ/dfXFz8v5CQ0H8eHp7/7Ozs/5mZmVEDEWQzRS6gBAMAYBDQP57x26IAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/_backup/latest/markitup/sets/default/images/list-numeric.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAD3SURBVDjLY/j//z8DJRhM5Mx/rLLo8Lv/ZBsA0kyRATBDYOzy8vJsIP5fUlLyv6Cg4H92dvb/1NTU/wkJCf8jIyP/BwcH/8fqgkUHSXcFA1UCce7+t/9n7Xn9P2LiPRWyXRDae0+ld8tL8rwQ1HVHpXPTc7jmuLi47IiIiP+BgYH/vby8/js7O/+3sbH5b2Ji8l9XV/e/mpoaaiC2rX/+v3HN0/81q54OUCCWL3v8v3Tp4//Fix+T7wKQZuu8S+THAkgzzAVGRkbZ2tra/1VUVP7Lycn9FxcX/y8kJPSfh4fnPzs7+39mZmbUQARpBGG7oisddA9EAPd/1bRtLxctAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/_backup/latest/markitup/sets/default/images/picture.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHwSURBVDjLpZM9a1RBFIafM/fevfcmC7uQjWEjUZKAYBHEVEb/gIWFjVVSWEj6gI0/wt8gprPQykIsTP5BQLAIhBVBzRf52Gw22bk7c8YiZslugggZppuZ55z3nfdICIHrrBhg+ePaa1WZPyk0s+6KWwM1khiyhDcvns4uxQAaZOHJo4nRLMtEJPpnxY6Cd10+fNl4DpwBTqymaZrJ8uoBHfZoyTqTYzvkSRMXlP2jnG8bFYbCXWJGePlsEq8iPQmFA2MijEBhtpis7ZCWftC0LZx3xGnK1ESd741hqqUaqgMeAChgjGDDLqXkgMPTJtZ3KJzDhTZpmtK2OSO5IRB6xvQDRAhOsb5Lx1lOu5ZCHV4B6RLUExvh4s+ZntHhDJAxSqs9TCDBqsc6j0iJdqtMuTROFBkIcllCCGcSytFNfm1tU8k2GRo2pOI43h9ie6tOvTJFbORyDsJFQHKD8fw+P9dWqJZ/I96TdEa5Nb1AOavjVfti0dfB+t4iXhWvyh27y9zEbRRobG7z6fgVeqSoKvB5oIMQEODx7FLvIJo55KS9R7b5ldrDReajpC+Z5z7GAHJFXn1exedVbG36ijwOmJgl0kS7lXtjD0DkLyqc70uPnSuIIwk9QCmWd+9XGnOFDzP/M5xxBInhLYBcd5z/AAZv2pOvFcS/AAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/_backup/latest/markitup/sets/default/images/preview.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAGrSURBVDjLvZPZLkNhFIV75zjvYm7VGFNCqoZUJ+roKUUpjRuqp61Wq0NKDMelGGqOxBSUIBKXWtWGZxAvobr8lWjChRgSF//dv9be+9trCwAI/vIE/26gXmviW5bqnb8yUK028qZjPfoPWEj4Ku5HBspgAz941IXZeze8N1bottSo8BTZviVWrEh546EO03EXpuJOdG63otJbjBKHkEp/Ml6yNYYzpuezWL4s5VMtT8acCMQcb5XL3eJE8VgBlR7BeMGW9Z4yT9y1CeyucuhdTGDxfftaBO7G4L+zg91UocxVmCiy51NpiP3n2treUPujL8xhOjYOzZYsQWANyRYlU4Y9Br6oHd5bDh0bCpSOixJiWx71YY09J5pM/WEbzFcDmHvwwBu2wnikg+lEj4mwBe5bC5h1OUqcwpdC60dxegRmR06TyjCF9G9z+qM2uCJmuMJmaNZaUrCSIi6X+jJIBBYtW5Cge7cd7sgoHDfDaAvKQGAlRZYc6ltJlMxX03UzlaRlBdQrzSCwksLRbOpHUSb7pcsnxCCwngvM2Rm/ugUCi84fycr4l2t8Bb6iqTxSCgNIAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/_backup/latest/markitup/sets/default/images/stroke.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAACfSURBVCjPY/jPgB8yUFNBiWDBzOy01PKEmZG7sSrIe5dVDqIjygP/Y1GQm5b2P7kDwvbAZkK6S8L/6P8hM32N/zPYu2C1InJ36P/A/x7/bc+YoSooLy3/D4Px/23+SyC5G8kEf0EIbZSmfdfov9wZDCvc0uzLYWyZ/2J3MRTYppn/14eaIvKOvxxDgUma7ju1M/LlkmnC5bwdNIoL7BAAWzr8P9A5d4gAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/_backup/latest/markitup/sets/default/set.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Ly8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQovLyBtYXJrSXRVcCEKLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQovLyBDb3B5cmlnaHQgKEMpIDIwMTEgSmF5IFNhbHZhdAovLyBodHRwOi8vbWFya2l0dXAuamF5c2FsdmF0LmNvbS8KLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQovLyBIdG1sIHRhZ3MKLy8gaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9odG1sCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLy8gQmFzaWMgc2V0LiBGZWVsIGZyZWUgdG8gYWRkIG1vcmUgdGFncwovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnZhciBteVNldHRpbmdzID0gewoJb25TaGlmdEVudGVyOiAgCXtrZWVwRGVmYXVsdDpmYWxzZSwgcmVwbGFjZVdpdGg6JzxiciAvPlxuJ30sCglvbkN0cmxFbnRlcjogIAl7a2VlcERlZmF1bHQ6ZmFsc2UsIG9wZW5XaXRoOidcbjxwPicsIGNsb3NlV2l0aDonPC9wPid9LAoJb25UYWI6ICAgIAkJe2tlZXBEZWZhdWx0OmZhbHNlLCByZXBsYWNlV2l0aDonICAgICd9LAoJbWFya3VwU2V0OiAgWyAJCgkJe25hbWU6J0JvbGQnLCBrZXk6J0InLCBvcGVuV2l0aDonKCEoPHN0cm9uZz58IXw8Yj4pISknLCBjbG9zZVdpdGg6JyghKDwvc3Ryb25nPnwhfDwvYj4pISknIH0sCgkJe25hbWU6J0l0YWxpYycsIGtleTonSScsIG9wZW5XaXRoOicoISg8ZW0+fCF8PGk+KSEpJywgY2xvc2VXaXRoOicoISg8L2VtPnwhfDwvaT4pISknICB9LAoJCXtuYW1lOidTdHJva2UgdGhyb3VnaCcsIGtleTonUycsIG9wZW5XaXRoOic8ZGVsPicsIGNsb3NlV2l0aDonPC9kZWw+JyB9LAoJCXtzZXBhcmF0b3I6Jy0tLS0tLS0tLS0tLS0tLScgfSwKCQl7bmFtZTonQnVsbGV0ZWQgTGlzdCcsIG9wZW5XaXRoOicgICAgPGxpPicsIGNsb3NlV2l0aDonPC9saT4nLCBtdWx0aWxpbmU6dHJ1ZSwgb3BlbkJsb2NrV2l0aDonPHVsPlxuJywgY2xvc2VCbG9ja1dpdGg6J1xuPC91bD4nfSwKCQl7bmFtZTonTnVtZXJpYyBMaXN0Jywgb3BlbldpdGg6JyAgICA8bGk+JywgY2xvc2VXaXRoOic8L2xpPicsIG11bHRpbGluZTp0cnVlLCBvcGVuQmxvY2tXaXRoOic8b2w+XG4nLCBjbG9zZUJsb2NrV2l0aDonXG48L29sPid9LAoJCXtzZXBhcmF0b3I6Jy0tLS0tLS0tLS0tLS0tLScgfSwKCQl7bmFtZTonUGljdHVyZScsIGtleTonUCcsIHJlcGxhY2VXaXRoOic8aW1nIHNyYz0iWyFbU291cmNlOiE6aHR0cDovL10hXSIgYWx0PSJbIVtBbHRlcm5hdGl2ZSB0ZXh0XSFdIiAvPicgfSwKCQl7bmFtZTonTGluaycsIGtleTonTCcsIG9wZW5XaXRoOic8YSBocmVmPSJbIVtMaW5rOiE6aHR0cDovL10hXSIoISggdGl0bGU9IlshW1RpdGxlXSFdIikhKT4nLCBjbG9zZVdpdGg6JzwvYT4nLCBwbGFjZUhvbGRlcjonWW91ciB0ZXh0IHRvIGxpbmsuLi4nIH0sCgkJe3NlcGFyYXRvcjonLS0tLS0tLS0tLS0tLS0tJyB9LAoJCXtuYW1lOidDbGVhbicsIGNsYXNzTmFtZTonY2xlYW4nLCByZXBsYWNlV2l0aDpmdW5jdGlvbihtYXJraXR1cCkgeyByZXR1cm4gbWFya2l0dXAuc2VsZWN0aW9uLnJlcGxhY2UoLzwoLio/KT4vZywgIiIpIH0gfSwJCQoJCXtuYW1lOidQcmV2aWV3JywgY2xhc3NOYW1lOidwcmV2aWV3JywgIGNhbGw6J3ByZXZpZXcnfQoJXQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/_backup/latest/markitup/sets/default/style.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQovLyBtYXJrSXRVcCEKLy8gQnkgSmF5IFNhbHZhdCAtIGh0dHA6Ly9tYXJraXR1cC5qYXlzYWx2YXQuY29tLwovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoubWFya0l0VXAgLm1hcmtJdFVwQnV0dG9uMSBhIHsKCWJhY2tncm91bmQtaW1hZ2U6dXJsKGltYWdlcy9ib2xkLnBuZyk7Cn0KLm1hcmtJdFVwIC5tYXJrSXRVcEJ1dHRvbjIgYSB7CgliYWNrZ3JvdW5kLWltYWdlOnVybChpbWFnZXMvaXRhbGljLnBuZyk7Cn0KLm1hcmtJdFVwIC5tYXJrSXRVcEJ1dHRvbjMgYSB7CgliYWNrZ3JvdW5kLWltYWdlOnVybChpbWFnZXMvc3Ryb2tlLnBuZyk7Cn0KCi5tYXJrSXRVcCAubWFya0l0VXBCdXR0b240IGEgewoJYmFja2dyb3VuZC1pbWFnZTp1cmwoaW1hZ2VzL2xpc3QtYnVsbGV0LnBuZyk7IAp9Ci5tYXJrSXRVcCAubWFya0l0VXBCdXR0b241IGEgewoJYmFja2dyb3VuZC1pbWFnZTp1cmwoaW1hZ2VzL2xpc3QtbnVtZXJpYy5wbmcpOwp9CgoubWFya0l0VXAgLm1hcmtJdFVwQnV0dG9uNiBhIHsKCWJhY2tncm91bmQtaW1hZ2U6dXJsKGltYWdlcy9waWN0dXJlLnBuZyk7IAp9Ci5tYXJrSXRVcCAubWFya0l0VXBCdXR0b243IGEgewoJYmFja2dyb3VuZC1pbWFnZTp1cmwoaW1hZ2VzL2xpbmsucG5nKTsKfQoKLm1hcmtJdFVwIC5tYXJrSXRVcEJ1dHRvbjggYSB7CgliYWNrZ3JvdW5kLWltYWdlOnVybChpbWFnZXMvY2xlYW4ucG5nKTsKfQoubWFya0l0VXAgLnByZXZpZXcgYSB7CgliYWNrZ3JvdW5kLWltYWdlOnVybChpbWFnZXMvcHJldmlldy5wbmcpOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/_backup/latest/markitup/skins/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/_backup/latest/markitup/skins/markitup/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/_backup/latest/markitup/skins/markitup/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/_backup/latest/markitup/skins/markitup/images/bg-container.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAF0CAIAAAClgy7OAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAAsSAAALEgHS3X78AAAAJXRFWHRTb2Z0d2FyZQBNYWNyb21lZGlhIEZpcmV3b3JrcyBNWCAyMDA0h3aszwAAALRJREFUeJzt3DEOxCAMBEAg9/+3UqcI9wYrApkw1BmBFXZL6vM8JbJa6OtSym+MkWyHjCD6H86cofceAvG7VGudDFqLnWrBka7rmrxDeOiEIOHVuO87BqbXPQAAL0C4NRLOAADA4UCRAQAQW1oDAL4FZBoAUgMRBYDUQEQBYCWQOABYCSQOAF4AAQKA1EBEAWAlkDgASA1EFAAOB0oAAA4HSgAAgO2BIgMAANgR1OnPlgCbgj+EGTM0FIAu4gAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/_backup/latest/markitup/skins/markitup/images/bg-editor-bbcode.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/_backup/latest/markitup/skins/markitup/images/bg-editor-dotclear.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAA+gAAADICAIAAAD0hVwYAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAAsSAAALEgHS3X78AAAAFnRFWHRDcmVhdGlvbiBUaW1lADA5LzI4LzA3qlVMnwAAABh0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzT7MfTgAABe9JREFUeJzt3b9L62wYx+GTQwbBQXBVFFEcHFTsH+xfpKCCgj8QRRdBBwcHQXqGQob31OR5bdOcL1zXFNpQnvHDzZ2mOj4+/gUAAPzb6pWVlaHPAAAAdKhXV1eHPgMAANDBxB0AAALUy8vLQ58BAADoUC8tLQ19BgAAoENd1/XQZwAAADr8HvoAAABAN+EOAAABhDsAAASoq6oa+gwAAECHtidTn5+fv/tqbW3tP/c0nwAAAHNnVQYAAAIIdwAACFC0476+vj65eHp6mlw0GzLNVwAAQH9M3AEAIIBwBwCAAG3/KtPChgwAACySiTsAAAQoejj173u8tgkAABbJxB0AAAIIdwAACCDcAQAgQPXy8vLdd4+Pj+U/tLGxMY/zAAAAU5i4AwBAAOEOAAAB2lZlAACAf0TR/7gDAADDqlu+e3h4KP+hzc3NmQ8DAABMZ8cdAAACCHcAAAjQtirTaNZgmuUZizEAALBIRQ+n/n2PR1oBAGCRrMoAAEAA4Q4AAAGEOwAABLDjDgAAAUzcAQAggHAHAIAAwh0AAAJUr6+v3313f39f/kNbW1vzOA8AADBF0cOpJTyuCgAA/bEqAwAAAaq3t7ehzwAAAHQwcQcAgABtO+53d3eTi+3t7VnuAQAAZmTiDgAAAYQ7AAAEEO4AABBAuAMAQICiFzDN6x4AAOBn6v919+3t7eRiZ2enh8MAAADTWZUBAIAAwh0AAAL8cMe95BMAAGBeTNwBACCAcAcAgABF/ypzc3PT+QkAANCfoh33EnbcAQCgP1ZlAAAgQPX+/j70GQAAgA4m7gAAEKDo4dQW19fXk4vd3d2ZDwMAAEzn4VQAAAhgVQYAAAIIdwAACCDcAQAggB13AAAIYOIOAAABhDsAAAQQ7gAAEEC4AwBAAA+nAgBAABN3AAAIULd8d3V1tbBzAAAALUzcAQAggB13AAAIUH18fAx9BgAAoINVGQAACND2cOrl5eXkYm9vb5Z7AACAGRXtuM/rHgAA4GesygAAQADhDgAAAYQ7AAAEEO4AABDAw6kAABDAxB0AAAIIdwAACCDcAQAggB13AAAIYOIOAAAB6pKbLi4u+j4HAADQwsQdAAACCHcAAAhQfX5+Dn0GAACgg4k7AAAEaHs49fz8fHKxv7+/kMMAAADTmbgDAECAub2ACQAA6I+JOwAABBDuAAAQQLgDAECAtn+VaZydnXXec3BwMPNhAACA6YoeTi3hAVYAAOiPVRkAAAhQtCpzeHjY9zkAAIAWJu4AABDAC5gAACCAiTsAAAQQ7gAAEEC4AwBAgOrr62voMwAAAB3m9gImAACgP23/4356elr+Q0dHRzMfBgAAmM6OOwAABBDuAAAQoGjHfTQafffVycnJ5MKuPAAA9MfEHQAAAgh3AAAIINwBACCAcAcAgADCHQAAAgh3AAAIINwBACCAcAcAgAB1yU3NW5YAAIBBmLgDAEAA4Q4AAAGq8Xg89BkAAIAOJu4AABBg1odTR6PR/A4DAABMZ+IOAAABhDsAAARoW5VpNmRa9mFK7gEAAGZk4g4AAAGEOwAABBDuAAAQQLgDAEAA4Q4AAAGEOwAABBDuAAAQQLgDAECAthcwNZq3LAEAAIMwcQcAgADCHQAAAlTj8XjoMwAAAB1M3AEAIIBwBwCAAMIdAAACCHcAAAgg3AEAIIBwBwCAAMIdAAACCHcAAAgg3AEAIIBwBwCAAMIdAAACCHcAAAgg3AEAIIBwBwCAAMIdAAACCHcAAAgg3AEAIIBwBwCAAMIdAAACCHcAAAgg3AEAIIBwBwCAAMIdAAACCHcAAAgg3AEAIIBwBwCAAMIdAAACCHcAAAgg3AEAIIBwBwCAAMIdAAACCHcAAAgg3AEAIIBwBwCAAMIdAAACCHcAAAgg3AEAIIBwBwCAAMIdAAACCHcAAAgg3AEAIIBwBwCAAMIdAAACCHcAAAgg3AEAIIBwBwCAAMIdAAACCHcAAAgg3AEAIIBwBwCAAMIdAAACCHcAAAgg3AEAIIBwBwCAAH8As8NxAia3mqkAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/_backup/latest/markitup/skins/markitup/images/bg-editor-html.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAA+gAAADICAIAAAD0hVwYAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAAsSAAALEgHS3X78AAAAH3RFWHRTb2Z0d2FyZQBNYWNyb21lZGlhIEZpcmV3b3JrcyA4tWjSeAAAABZ0RVh0Q3JlYXRpb24gVGltZQAwOS8yOC8wN6pVTJ8AAAVUSURBVHic7d27SiQLFEDRW5cWA4MBUwMf6Ihf7WeJgi/ExMBA0dQJBJPp21WM3VN3w1pRgz3NCTeHUzXD+fn5PwAAwP/b4sePH3PPAAAAjFjs7u7OPQMAADDCxh0AAAIWOzs7c88AAACMWGxvb889AwAAMGKxtbU19wwAAMCIf+ceAAAAGCfcAQAgQLgDAEDAYhiG7/z7x8fHzw97e3vrmAcAAFjCxh0AAAKEOwAABHz3VObLun4HAAD4nY07AAAECHcAAAgQ7gAAEODGHQAAAmzcAQAgQLgDAECAcAcAgADhDgAAAYsVf3t4ePhrcwAAACt4qwwAAAQ4lQEAgIDh6elp7hkAAIARNu4AABCwtht3AABgc1a9Veb+/n76D+3v7397GAAAYDmnMgAAEOB1kAAAELDqVObLwcHBhscAAABWcSoDAAABwh0AAAImncrc3d2Nfsc5DQAAbI6HUwEAIMCpDAAABEw6lTk8PNz0HAAAwAo27gAAECDcAQAgYNLDqbe3t6PfOTo6Wsc8AADAEjbuAAAQINwBACBgeH5+nnsGAABghI07AAAErHqP+83NzecHD54CAMC8Jr1VZsp3AACAzXEqAwAAAcIdAAAChDsAAAQIdwAACJj0cOr19fXod46Pj9cxDwAAsISNOwAABEzauE/hlZEAALA5q/4Dpi8nJyebngMAAFjBqQwAAAQIdwAACBDuAAAQMOnhVA+eAgDAvGzcAQAgYHh5eZl7BgAAYISNOwAABKx6j/vV1dX0H/r58+e3hwEAAJazcQcAgIBJb5WZwptnAABgc4bX19fp3768vPz8cHp6upl5AACAJZzKAABAgHAHAICAP7xxd9EOAAB/k407AAAECHcAAAhwKgMAAAE27gAAECDcAQAgYHh7e/uvv11cXEz/obOzs3XMAwAALPGHN+6/c/UOAACb41QGAAAChvf397lnAAAARti4AwBAgHAHAIAA4Q4AAAFre6sMAACwOTbuAAAQINwBACBAuAMAQIAbdwAACLBxBwCAAOEOAAABTmUAACDAxh0AAAKEOwAABAh3AAAIEO4AABDg4VQAAAiwcQcAgADhDgAAAcIdAAAChDsAAAR4OBUAAAJs3AEAIEC4AwBAgHAHAIAA4Q4AAAHCHQAAArxVBgAAAmzcAQAgQLgDAECAcAcAgAA37gAAEGDjDgAAAcIdAAACnMoAAECAjTsAAAQIdwAACBDuAAAQINwBACBg+Pj4mHsGAABghI07AAAECHcAAAgQ7gAAECDcAQAgQLgDAECAcAcAgADhDgAAAcIdAAAChDsAAAQIdwAACBDuAAAQINwBACBAuAMAQIBwBwCAAOEOAAABwh0AAAKEOwAABAh3AAAIEO4AABAg3AEAIEC4AwBAgHAHAIAA4Q4AAAHCHQAAAoQ7AAAECHcAAAgQ7gAAECDcAQAgQLgDAECAcAcAgADhDgAAAcIdAAAChDsAAAQIdwAACBDuAAAQINwBACBAuAMAQIBwBwCAAOEOAAABwh0AAAKEOwAABAh3AAAIEO4AABAg3AEAIEC4AwBAgHAHAIAA4Q4AAAHCHQAAAoQ7AAAECHcAAAgQ7gAAECDcAQAgQLgDAECAcAcAgADhDgAAAcIdAAAChDsAAAQIdwAACBDuAAAQINwBACBAuAMAQIBwBwCAAOEOAAABwh0AAAKEOwAABAh3AAAIEO4AABAg3AEAIEC4AwBAgHAHAIAA4Q4AAAHCHQAAAoQ7AAAECHcAAAgQ7gAAECDcAQAgQLgDAECAcAcAgADhDgAAAcIdAAAChDsAAAQIdwAACBDuAAAQ8AsoPzfJegqNywAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/_backup/latest/markitup/skins/markitup/images/bg-editor-json.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/_backup/latest/markitup/skins/markitup/images/bg-editor-markdown.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAA+gAAADICAIAAAD0hVwYAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAAsSAAALEgHS3X78AAAAH3RFWHRTb2Z0d2FyZQBNYWNyb21lZGlhIEZpcmV3b3JrcyA4tWjSeAAAABZ0RVh0Q3JlYXRpb24gVGltZQAwOS8yOC8wN6pVTJ8AAAZNSURBVHic7d1LSxxNFAbgrz9GXLgQ3GqIF4jgLST+YH+RireIijdCNi6yyCJeQM1CmEUy013JTNu+8DyrZqqmOcuXw6nqamtr6z8AAOBt601PT3ddAwAA0KA3MzPTdQ0AAEADHXcAAAjQm5qa6roGAACgQW9ycrLrGgAAgAa9iYmJrmsAAAAa/N91AQAAQDPBHQAAAgjuAAAQoFdV1bC1b9++lb9odnZ2HPUAAAAD6LgDAEAAwR0AAALUjcr0zc3NvUIpAADAMDruAAAQQHAHAIAAgjsAAAQomnEv2QMAALRHxx0AAAII7gAAEEBwBwCAAII7AAAE6JVs+vr1a+Oed+/ejVwMAAAwWNGtMiXcPAMAAO0xKgMAAAGqm5ubrmsAAAAa6LgDAECAsc24AwAA7am7Veb6+rr8Re/fvx+5GAAAYDCjMgAAEMB1kAAAEKBuVGZ+fr7x/1dXV+MqBQAAGMaoDAAABBDcAQAgQN2ojDEYAAB4IxxOBQCAAEZlAAAgQN2ozMLCQuP/Ly8vx1cMAAAwmI47AAAEENwBACBA3eHUi4uL8hc5nAoAAO3RcQcAgACCOwAABKi+f//edQ0AAEADHXcAAAhQd4/7Xx1OXVxcHLkYAABgsLpbZf6KW2UAAKA9RmUAACBA3ahM39LS0rCl8/Pz8RUDAAAMpuMOAAABBHcAAAhQdDh1XHsAAIB/o+MOAAABdNwBACCAjjsAAAQQ3AEAIIDgDgAAAYo+wHR2dtZ2HQAAQI2iw6klHE4FAID2GJUBAIAA1Y8fP7quAQAAaKDjDgAAAQR3AAAIUHSrzOnp6bClDx8+jK8YAABgsFFvlXGZDAAAvAKjMgAAEKBuVObk5OTlYXl5eZQ9AADAiHTcAQAgQNGM+7j2AAAA/0bHHQAAAgjuAAAQwKgMAAAE0HEHAIAAgjsAAAQQ3AEAIEDRjPvx8XHjHjPuAADQHh13AAAIILgDAECA6ufPn13XAAAANNBxBwCAAL2atS9fvrw8rKysjLIHAAAYkS+nAgBAAKMyAAAQoLq9vW3cdHR09PKwuro67BcAAKA9Ou4AABCgaMa978/NRtsBAOAVVHd3d+W7Dw8PXx7W1tbaqQcAABjAqAwAAAT4u1GZPhMyAADwmnTcAQAggOAOAAABBHcAAAhQ3d/fD1s7ODgof9H6+vo46gEAAAb4x8Opf3JcFQAA2mNUBgAAAlQPDw9d1wAAADTQcQcAgAC9mrX9/f1hSxsbG7/t6f8CAACM3di+nOpwKgAAtMeoDAAABKgblen7+PHjy8Pe3t5vD/0lAACgPTruAAAQQHAHAIAARaMyfzIhAwAAr6noVhl3yAAAQLeMygAAQADBHQAAAgjuAAAQwIw7AAAEqB4fH4et7e7ulr/o06dP46gHAAAYwKgMAAAEKBqVKWF4BgAA2lM9PT11XQMAANDAqAwAAAQQ3AEAIECvZm1nZ6f8RZ8/fx65GAAAYDCHUwEAIIBRGQAACFA3KtO3ubn58rC9vf3bLwAAwCvQcQcAgACCOwAABBDcAQAggOAOAAABBHcAAAgguAMAQADBHQAAAgjuAAAQoHp+fh621v/cUgmfZAIAgPbouAMAQADBHQAAAtSNygAAAG+EjjsAAATo1aw5nAoAAG+EjjsAAAQQ3AEAIEDdqEyfMRgAAOiWjjsAAAQQ3AEAIEDRqEzJ9TLGaQAAoD067gAAEEBwBwCAAG6VAQCAADruAAAQQHAHAIAAbpUBAIAAOu4AABBAcAcAgADV8/Nz1zUAAAANdNwBACCA4A4AAAEEdwAACCC4AwBAAMEdAAACCO4AABBAcAcAgACCOwAABBDcAQAggOAOAAABBHcAAAgguAMAQADBHQAAAgjuAAAQQHAHAIAAgjsAAAQQ3AEAIIDgDgAAAQR3AAAIILgDAEAAwR0AAAII7gAAEEBwBwCAAII7AAAEENwBACCA4A4AAAEEdwAACCC4AwBAAMEdAAACCO4AABBAcAcAgACCOwAABBDcAQAggOAOAAABBHcAAAgguAMAQADBHQAAAgjuAAAQQHAHAIAAgjsAAAQQ3AEAIIDgDgAAAQR3AAAIILgDAEAAwR0AAAII7gAAEEBwBwCAAII7AAAEENwBACCA4A4AAAEEdwAACCC4AwBAgF9p+YkPy+wK4wAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/_backup/latest/markitup/skins/markitup/images/bg-editor-textile.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/_backup/latest/markitup/skins/markitup/images/bg-editor-wiki.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAA+gAAADICAIAAAD0hVwYAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAAsSAAALEgHS3X78AAAAH3RFWHRTb2Z0d2FyZQBNYWNyb21lZGlhIEZpcmV3b3JrcyA4tWjSeAAAABZ0RVh0Q3JlYXRpb24gVGltZQAwOS8yOC8wN6pVTJ8AAAUmSURBVHic7dyxSiNhGEDRnSViYSHYqij64D6YKIoKilr4BG4h2KyZyZrE2QvnVMHE4S8vH9/8w8XFxS8AAOD/ttjf35/7DAAAwITFwcHB3GcAAAAmmLgDAEDAYm9vb+4zAAAAExa7u7tznwEAAJiw2NnZmfsMAADAhN9zHwAAAJgm3AEAIEC4AwBAwGIYhmXfPTw8rP6gw8PDTZwHAAD4gok7AAAECHcAAAgYHh8f5z4DAAAwwcQdAAAChDsAAAQsRr67v7//+HB0dLTObwAAgDWNXQf5aVO/AQAAvseqDAAABAxPT0+TP7q7u/v4cHx8vOwvAADA9pi4AwBAgHAHAICAlVZlPtmQAQCAWax0q8zf3CEDAAA/yaoMAAAECHcAAAgQ7gAAEGDHHQAAAobn5+dl393e3q7+oJOTk02cBwAA+IJVGQAACPjmqszfLM8AAMD2DC8vL3OfAQAAmGBVBgAAAoQ7AAAELEa+u7m5Wf1Bp6enax4FAABYxsupAAAQYFUGAAAChtfX17nPAAAATDBxBwCAAOEOAAABG3s5FQAA2J6x6yCvr69Xf9DZ2dnahwEAAL5mVQYAAAKEOwAABIytyqyy/fJP6zQAAMD3mLgDAEDAxm6VcTsNAABsz9iqzNXV1Y+dAwAAGGFVBgAAAoQ7AAAEjK3KnJ+fT/6/dRoAAPgBXk4FAIAAqzIAABAwNnG/vLxc/UEm7gAAsD0m7gAAECDcAQAgYHh7e5v7DAAAwAQTdwAACNjYdZAAAMD2mLgDAECAcAcAgADhDgAAAcIdAAAChDsAAAS4VQYAAAJM3AEAIEC4AwBAgHAHAIAAO+4AABBg4g4AAAHCHQAAAqzKAABAgIk7AAAECHcAAAgQ7gAAEGDHHQAAAkzcAQAgQLgDAECAcAcAgADhDgAAAcIdAAAC3CoDAAABJu4AABAg3AEAIEC4AwBAgB13AAAIMHEHAIAA4Q4AAAFWZQAAIMDEHQAAAoQ7AAAECHcAAAgQ7gAAEODlVAAACDBxBwCAAOEOAAABwh0AAAKEOwAABHg5FQAAAkzcAQAgQLgDAECAcAcAgADhDgAAAcIdAAAC3CoDAAABJu4AABAg3AEAIEC4AwBAgB13AAAIMHEHAIAA4Q4AAAFWZQAAIMDEHQAAAoQ7AAAECHcAAAgQ7gAAEDC8v7/PfQYAAGCCiTsAAAQIdwAACBDuAAAQINwBACBAuAMAQIBwBwCAAOEOAAABwh0AAAKEOwAABAh3AAAIEO4AABAg3AEAIEC4AwBAgHAHAIAA4Q4AAAHCHQAAAoQ7AAAECHcAAAgQ7gAAECDcAQAgQLgDAECAcAcAgADhDgAAAcIdAAAChDsAAAQIdwAACBDuAAAQINwBACBAuAMAQIBwBwCAAOEOAAABwh0AAAKEOwAABAh3AAAIEO4AABAg3AEAIEC4AwBAgHAHAIAA4Q4AAAHCHQAAAoQ7AAAECHcAAAgQ7gAAECDcAQAgQLgDAECAcAcAgADhDgAAAcIdAAAChDsAAAQIdwAACBDuAAAQINwBACBAuAMAQIBwBwCAAOEOAAABwh0AAAKEOwAABAh3AAAIEO4AABAg3AEAIEC4AwBAgHAHAIAA4Q4AAAHCHQAAAoQ7AAAECHcAAAgQ7gAAECDcAQAgQLgDAECAcAcAgADhDgAAAcIdAAAChDsAAAQIdwAACBDuAAAQINwBACBAuAMAQIBwBwCAAOEOAAABwh0AAAKEOwAABAh3AAAIEO4AABDwB23LQVLigQ7lAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/_backup/latest/markitup/skins/markitup/images/bg-editor-xml.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAA+gAAADICAIAAAD0hVwYAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAAsSAAALEgHS3X78AAAAH3RFWHRTb2Z0d2FyZQBNYWNyb21lZGlhIEZpcmV3b3JrcyA4tWjSeAAAABZ0RVh0Q3JlYXRpb24gVGltZQAwOS8yOC8wN6pVTJ8AAAUtSURBVHic7d27SithFIDRM4eIhYVgaeEVn9sHEy8oWFgo+gKeImCjyQzGOOeDtaohGcNffmz2jMPl5eUfAADg/7bY39+f+wwAAMCIxcHBwdxnAAAARpi4AwBAwGJvb2/uMwAAACMWu7u7c58BAAAYsdjZ2Zn7DAAAwIi/cx8AAAAYt9jw7x8fH5cXh4eHGx8GAAD4mok7AAAELIZh+JEf+qnfAQAAPjNxBwCAAOEOAAABVmUAACDAxB0AAAKEOwAABAh3AAAIsOMOAAABJu4AABAg3AEAIGCx5ruHh4dfOwcAALCGiTsAAAQIdwAACBienp7mPgMAADDCxB0AAAKEOwAABKx7q8z9/f30Hzo6Otr4MAAAwNf851QAAAiwKgMAAAHrVmU+HB8fb/scAADAGpNWZazBAADAvKzKAABAwKRVmbu7u9F7Tk5ONjwKAACwiok7AAAECHcAAAiY9HDq6enpLxwFAABYxcQdAAAChDsAAARMeqvM7e3t6D3WaQAAYHtM3AEAIGDSw6lT+O+qAACwPcPz8/PcZwAAAEZYlQEAgADhDgAAAeveKnNzc7O8ODs72+QeAABgQybuAAAQMOmtMj91DwAA8D3Dy8vL6E3X19fLi/Pz81WfAAAA22NVBgAAAoQ7AAAETFqV+WBDBgAAZjHp4dTPPIoKAAC/yaoMAAAETJq4X11dLS8uLi5WfQIAAGyPiTsAAAQIdwAACBheX19XfTdlH8bODAAA/AITdwAACJj0cOpP3QMAAHzP8Pb2NvcZAACAEVZlAAAgQLgDAECAcAcAgADhDgAAAZPeKgMAAMzLxB0AAAKEOwAABAh3AAAIsOMOAAABJu4AABAg3AEAIMCqDAAABJi4AwBAgHAHAIAA4Q4AAAF23AEAIMDEHQAAAoQ7AAAECHcAAAgQ7gAAECDcAQAgwFtlAAAgwMQdAAAChDsAAAQIdwAACLDjDgAAASbuAAAQINwBACDAqgwAAASYuAMAQIBwBwCAAOEOAAABwh0AAAI8nAoAAAEm7gAAECDcAQAgQLgDAECAcAcAgAAPpwIAQICJOwAABAh3AAAIEO4AABAg3AEAIEC4AwBAgLfKAABAgIk7AAAECHcAAAgQ7gAAEGDHHQAAAkzcAQAgQLgDAECAVRkAAAgwcQcAgADhDgAAAcIdAAAChDsAAAQM7+/vc58BAAAYYeIOAAABwh0AAAKEOwAABAh3AAAIEO4AABAg3AEAIEC4AwBAgHAHAIAA4Q4AAAHCHQAAAoQ7AAAECHcAAAgQ7gAAECDcAQAgQLgDAECAcAcAgADhDgAAAcIdAAAChDsAAAQIdwAACBDuAAAQINwBACBAuAMAQIBwBwCAAOEOAAABwh0AAAKEOwAABAh3AAAIEO4AABAg3AEAIEC4AwBAgHAHAIAA4Q4AAAHCHQAAAoQ7AAAECHcAAAgQ7gAAECDcAQAgQLgDAECAcAcAgADhDgAAAcIdAAAChDsAAAQIdwAACBDuAAAQINwBACBAuAMAQIBwBwCAAOEOAAABwh0AAAKEOwAABAh3AAAIEO4AABAg3AEAIEC4AwBAgHAHAIAA4Q4AAAHCHQAAAoQ7AAAECHcAAAgQ7gAAECDcAQAgQLgDAECAcAcAgADhDgAAAcIdAAAChDsAAAQIdwAACBDuAAAQINwBACBAuAMAQIBwBwCAAOEOAAABwh0AAAKEOwAABAh3AAAIEO4AABAg3AEAIEC4AwBAgHAHAIAA4Q4AAAHCHQAAAoQ7AAAE/AON+UMaXRW9BAAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/_backup/latest/markitup/skins/markitup/images/bg-editor.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/_backup/latest/markitup/skins/markitup/images/handle.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABUAAAAGAgMAAABROz0wAAAAA3NCSVQICAjb4U/gAAAADFBMVEWwuL/////39/eyub9nsXv9AAAABHRSTlP/AP//07BylAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8yMS8wN4dieEgAAAAfdEVYdFNvZnR3YXJlAE1hY3JvbWVkaWEgRmlyZXdvcmtzIDi1aNJ4AAAAMElEQVQImWNwDBF1DGFgaIwQbYxgYFgaFbo0yoEhlDUglNWBIYw1IQxETc0Mm+oAANc3CrOvsJfnAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/_backup/latest/markitup/skins/markitup/images/menu.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAsAAAALCAYAAACprHcmAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAACV0RVh0U29mdHdhcmUATWFjcm9tZWRpYSBGaXJld29ya3MgTVggMjAwNId2rM8AAABvSURBVHictdAxCsJQFETRE1GxFhFBsLb/+1/CrMANWGsggsW3ifAVwTSZah5cLo/paq2mZjGZnBVevkspZYULTl/MHYckQ2t+4ozbeHd44JhkgK5do5QCG1yxxj5J//PnJEbbDlv0jeTT/C/zTfcCp14fppbdr1wAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/_backup/latest/markitup/skins/markitup/images/submenu.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAsAAAALCAYAAACprHcmAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAACCSURBVHjaYvz//z8DsQAggJjQBUxMTLhwKQYIICYsYi+AGniwKQYIIGyKeYH4FTYNAAHEhMNGTqgGdmRBgADCpRjk6x9A/AdZECCAcCn+AMQSZ86c+YssCBBA2BQ/gCr8hS4BEEAMoHBGxsbGxizoYjAMEECMpEQKQAAxMZAAAAIMAGsVNanzZRR/AAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/_backup/latest/markitup/skins/markitup/style.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQovLyBtYXJrSXRVcCEgVW5pdmVyc2FsIE1hcmtVcCBFbmdpbmUsIEpRdWVyeSBwbHVnaW4KLy8gQnkgSmF5IFNhbHZhdCAtIGh0dHA6Ly9tYXJraXR1cC5qYXlzYWx2YXQuY29tLwovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoubWFya0l0VXAgKiB7CgltYXJnaW46MHB4OyBwYWRkaW5nOjBweDsKCW91dGxpbmU6bm9uZTsKfQoubWFya0l0VXAgYTpsaW5rLAoubWFya0l0VXAgYTp2aXNpdGVkIHsKCWNvbG9yOiMwMDA7Cgl0ZXh0LWRlY29yYXRpb246bm9uZTsKfQoubWFya0l0VXAgIHsKCXdpZHRoOjcwMHB4OwoJbWFyZ2luOjVweCAwIDVweCAwOwoJYm9yZGVyOjVweCBzb2xpZCAjRjVGNUY1OwkKfQoubWFya0l0VXBDb250YWluZXIgIHsKCWJvcmRlcjoxcHggc29saWQgIzNDNzY5RDsJCgliYWNrZ3JvdW5kOiNGRkYgdXJsKGltYWdlcy9iZy1jb250YWluZXIucG5nKSByZXBlYXQteCB0b3AgbGVmdDsKCXBhZGRpbmc6NXB4IDVweCAycHggNXB4OwoJZm9udDoxMXB4IFZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Cn0KLm1hcmtJdFVwRWRpdG9yIHsKCWZvbnQ6MTJweCAnQ291cmllciBOZXcnLCBDb3VyaWVyLCBtb25vc3BhY2U7CglwYWRkaW5nOjVweCA1cHggNXB4IDM1cHg7Cglib3JkZXI6M3B4IHNvbGlkICMzQzc2OUQ7Cgl3aWR0aDo2NDNweDsKCWhlaWdodDozMjBweDsKCWJhY2tncm91bmQ6I0ZGRiB1cmwoaW1hZ2VzL2JnLWVkaXRvci5wbmcpIG5vLXJlcGVhdDsKCWNsZWFyOmJvdGg7CglsaW5lLWhlaWdodDoxOHB4OwoJb3ZlcmZsb3c6YXV0bzsKfQoubWFya0l0VXBQcmV2aWV3RnJhbWUJewoJb3ZlcmZsb3c6YXV0bzsKCWJhY2tncm91bmQtY29sb3I6I0ZGRkZGRjsKCWJvcmRlcjoxcHggc29saWQgIzNDNzY5RDsKCXdpZHRoOjk5LjklOwoJaGVpZ2h0OjMwMHB4OwoJbWFyZ2luOjVweCAwOwp9Ci5tYXJrSXRVcEZvb3RlciB7Cgl3aWR0aDoxMDAlOwoJY3Vyc29yOm4tcmVzaXplOwp9Ci5tYXJrSXRVcFJlc2l6ZUhhbmRsZSB7CglvdmVyZmxvdzpoaWRkZW47Cgl3aWR0aDoyMnB4OyBoZWlnaHQ6NXB4OwoJbWFyZ2luLWxlZnQ6YXV0bzsKCW1hcmdpbi1yaWdodDphdXRvOwoJYmFja2dyb3VuZC1pbWFnZTp1cmwoaW1hZ2VzL2hhbmRsZS5wbmcpOwoJY3Vyc29yOm4tcmVzaXplOwp9Ci8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi8qIGZpcnN0IHJvdyBvZiBidXR0b25zICovCi5tYXJrSXRVcEhlYWRlciB1bCBsaQl7CglsaXN0LXN0eWxlOm5vbmU7CglmbG9hdDpsZWZ0OwoJcG9zaXRpb246cmVsYXRpdmU7Cn0KLm1hcmtJdFVwSGVhZGVyIHVsIGxpIHVsewoJZGlzcGxheTpub25lOwp9Ci5tYXJrSXRVcEhlYWRlciB1bCBsaTpob3ZlciA+IHVsewoJZGlzcGxheTpibG9jazsKfQoubWFya0l0VXBIZWFkZXIgdWwgLm1hcmtJdFVwRHJvcE1lbnUgewoJYmFja2dyb3VuZDp0cmFuc3BhcmVudCB1cmwoaW1hZ2VzL21lbnUucG5nKSBuby1yZXBlYXQgMTE1JSA1MCU7CgltYXJnaW4tcmlnaHQ6NXB4Owp9Ci5tYXJrSXRVcEhlYWRlciB1bCAubWFya0l0VXBEcm9wTWVudSBsaSB7CgltYXJnaW4tcmlnaHQ6MHB4Owp9Ci5tYXJrSXRVcEhlYWRlciB1bCAubWFya0l0VXBTZXBhcmF0b3IgewoJbWFyZ2luOjAgMTBweDsKCXdpZHRoOjFweDsKCWhlaWdodDoxNnB4OwoJb3ZlcmZsb3c6aGlkZGVuOwoJYmFja2dyb3VuZC1jb2xvcjojQ0NDOwp9Ci5tYXJrSXRVcEhlYWRlciB1bCB1bCAubWFya0l0VXBTZXBhcmF0b3IgewoJd2lkdGg6YXV0bzsgaGVpZ2h0OjFweDsKCW1hcmdpbjowcHg7Cn0KLyogbmV4dCByb3dzIG9mIGJ1dHRvbnMgKi8KLm1hcmtJdFVwSGVhZGVyIHVsIHVsIHsKCWRpc3BsYXk6bm9uZTsKCXBvc2l0aW9uOmFic29sdXRlOwoJdG9wOjE4cHg7IGxlZnQ6MHB4OwkKCWJhY2tncm91bmQ6I0Y1RjVGNTsKCWJvcmRlcjoxcHggc29saWQgIzNDNzY5RDsKCWhlaWdodDppbmhlcml0Owp9Ci5tYXJrSXRVcEhlYWRlciB1bCB1bCBsaSB7CglmbG9hdDpub25lOwoJYm9yZGVyLWJvdHRvbToxcHggc29saWQgIzNDNzY5RDsKfQoubWFya0l0VXBIZWFkZXIgdWwgdWwgLm1hcmtJdFVwRHJvcE1lbnUgewoJYmFja2dyb3VuZDojRjVGNUY1IHVybChpbWFnZXMvc3VibWVudS5wbmcpIG5vLXJlcGVhdCAxMDAlIDUwJTsKfQovKiBuZXh0IHJvd3Mgb2YgYnV0dG9ucyAqLwoubWFya0l0VXBIZWFkZXIgdWwgdWwgdWwgewoJcG9zaXRpb246YWJzb2x1dGU7Cgl0b3A6LTFweDsgbGVmdDoxNTBweDsKfQoubWFya0l0VXBIZWFkZXIgdWwgdWwgdWwgbGkgewoJZmxvYXQ6bm9uZTsKfQoubWFya0l0VXBIZWFkZXIgdWwgYSB7CglkaXNwbGF5OmJsb2NrOwoJd2lkdGg6MTZweDsgaGVpZ2h0OjE2cHg7Cgl0ZXh0LWluZGVudDotMTAwMDBweDsKCWJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDsKCXBhZGRpbmc6M3B4OwoJbWFyZ2luOjBweDsKfQoubWFya0l0VXBIZWFkZXIgdWwgdWwgYSB7CglkaXNwbGF5OmJsb2NrOwoJcGFkZGluZy1sZWZ0OjBweDsKCXRleHQtaW5kZW50OjA7Cgl3aWR0aDoxMjBweDsgCglwYWRkaW5nOjVweCA1cHggNXB4IDI1cHg7CgliYWNrZ3JvdW5kLXBvc2l0aW9uOjJweCA1MCU7Cn0KLm1hcmtJdFVwSGVhZGVyIHVsIHVsIGE6aG92ZXIgIHsKCWNvbG9yOiNGRkY7CgliYWNrZ3JvdW5kLWNvbG9yOiMzQzc2OUQ7Cn0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLmh0bWwgLm1hcmtJdFVwRWRpdG9yIHsKCWJhY2tncm91bmQtaW1hZ2U6dXJsKGltYWdlcy9iZy1lZGl0b3ItaHRtbC5wbmcpOwp9Ci5tYXJrZG93biAubWFya0l0VXBFZGl0b3IgewoJYmFja2dyb3VuZC1pbWFnZTp1cmwoaW1hZ2VzL2JnLWVkaXRvci1tYXJrZG93bi5wbmcpOwp9Ci50ZXh0aWxlIC5tYXJrSXRVcEVkaXRvciB7CgliYWNrZ3JvdW5kLWltYWdlOnVybChpbWFnZXMvYmctZWRpdG9yLXRleHRpbGUucG5nKTsKfQouYmJjb2RlIC5tYXJrSXRVcEVkaXRvciB7CgliYWNrZ3JvdW5kLWltYWdlOnVybChpbWFnZXMvYmctZWRpdG9yLWJiY29kZS5wbmcpOwp9Ci53aWtpIC5tYXJrSXRVcEVkaXRvciwKLmRvdGNsZWFyIC5tYXJrSXRVcEVkaXRvciB7CgliYWNrZ3JvdW5kLWltYWdlOnVybChpbWFnZXMvYmctZWRpdG9yLXdpa2kucG5nKTsKfQ==]]></data>
	</file>
	<file>
	  <filename>/_backup/latest/markitup/skins/simple/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/_backup/latest/markitup/skins/simple/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/_backup/latest/markitup/skins/simple/images/handle.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABUAAAAGAgMAAABROz0wAAAAA3NCSVQICAjb4U/gAAAADFBMVEWwuL/////39/eyub9nsXv9AAAABHRSTlP/AP//07BylAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8yMS8wN4dieEgAAAAfdEVYdFNvZnR3YXJlAE1hY3JvbWVkaWEgRmlyZXdvcmtzIDi1aNJ4AAAAMElEQVQImWNwDBF1DGFgaIwQbYxgYFgaFbo0yoEhlDUglNWBIYw1IQxETc0Mm+oAANc3CrOvsJfnAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/_backup/latest/markitup/skins/simple/images/menu.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAsAAAALCAYAAACprHcmAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAAB90RVh0U29mdHdhcmUATWFjcm9tZWRpYSBGaXJld29ya3MgOLVo0ngAAABEcHJWV3ic7c5BEcAgDADBVFOMobACMIODpgMm8mDXwN383hUjRlVlZgAAAAAAAABwo+doHmjM74HWPAAAAAAAAAAAsP2rWgf44HX1kgAAAEhta0JG+t7K/gAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKaQzoQAAHQ9ta1RTeJztXVt320aSxmTi2JJl2YpzMnvOvvCcPbvzlAxuBMlHURQlxZTEkJQt58UHBAmbE1nK6JZ4ePh/d//FVlU3QKDRAAGIt9iQbDWIxq2/qv6quroaPH5Vvx83O3ujsTbp/HwyGltuuVZxzMl5a88dq5O3rHhz1HDHmjY5POpR2dnvuuOKPul0z0ZQXT+AC7j0M2m3Wvfjehv+7O32bsbKhtJXHOWd0laGyiVsjZSLydHJMdT8DWouoUZTfoDakfIHHHGhlJRd2HsLn3+ArQsobeUGagaTTuO0jzfbPaF77nZHY2NYndQbR/j09eNjeAYoYLc9qXf36aBuk+q6h1TUW7Sz/oqKvRN+gf0mfe706KBmnRUd2nnCdnbbo3HNmtR7ddrbY1fvddlNjtn1WHG024czTvCp1EnjVBuNq1DoeJnGqUFFE3bqUOisMLCYpMJsU4bZMpFRH4iMuihknnJkDpRr0JjflA9Qd6sME7ExGTbDBGxUKTaOE8JGTdAap8qwMfTMeqOZDB6bwWMzeKoMniqDpzrptn+Bu/Qn3S4v26eAWtmGHXwjHYA7HMA95Qq63RXACJ0OumPwyCCYcGFCUy8noWmnQFPQtCQ0BU2z56tpBKFlSSDstuuspsvKIKRPOKR1YqqR4nBAn3NAuwCmC7pYUjqwdQf7BjP5TIql5przZTTDyclodtZ+G4fRFsfoEPZfk7q1oPZyUf02A6dlwEZdDDbPI9g8UH/mzPqrR2gr0sNya4/Yt7Loz4r7lkfpDULnA+lGWIMCNSEUk1DS15SBtLmj9EKKUoP6Wh9MYbI2rStO+txx2pbixNkpO0Yr5+skTSozhMoMofKD+tshlLZyr3z6U1p8LeyLlhlMZQaTzWCyGUxyTzNth+uBGo3Acf+zdjhj7h1uw8fpCozb7RKdxkQX3DFzWjaVQaMyaFQGjcqgURk0agiaLQ7NLijGNVj3Ovy9Q5A4QE84QOksGoo0gI9lMoCofiZAVTMBIBrbBSAaPNAz0hlCOkPIZAiZDCGTDfhQrKERHzaDhiuwIwuG3ri5B+r1ByjZHRv4JSMp7YPJQGo1DqXeTxo8i1BmGj7nBlOvpQNzm4O5Bwp3QcGp93644ZPQa1EpP8L2lXKVHKDh3VYzUjvrmmpm77dllSFJhIBIukmj53DP1aupsTSqfBxtaIPM2CV36MqAQVd1GHLDObkVapJboecku3SQ5QXoZ+inIzwqBJBZZgBpfUG3vOifyjBykjoqqsVs3SJCDOBkcaNASrUAoKK65XfUvB20A7V96qCXiWqm1earZ/MdLi5Gz77hGL0BW3ArRaciqJjgdSSNpvHUED76yvGh+B4FUesR0n/q4/WBxjoOaIzth009bdoju4mUn+znC3hpuiNFTCD8ipNdpUweK7U5ZsbATG0783fKuhc55aYmO5JtIv/b2TMbApKumcJyup7lRH8iJZA+t3EgySeZP44IX9fzRpDcmFvibSCyzC/xNjqZIX4cDphlgZdsxszxBKlzZnyH3DPBkxFgivLPFeAO4KoPhwwz0WgkY5bHQZaTIs2UxEPn6Nn7uO8el3UGHcMwHXbaMDU1+oqnu9LB6x5ZkE9kS/OMzcJDMxoi5IxYp+nIepV7KTQoSYmWocvQshhaFkPLYl2ZESBu9F2hK6ON6RxmwPGx763Yyq8zQiNVhmKNoUguWgBF9aEomgxFpmJSGHFOEHHUE3As8zAAuFUsRFLjSHLFs7jmWWYcmP7MnAemK488xStlj6aHHeXXLL04lVam857lakmdGQ11f+78RwaG+rAHZCdoaZjtiVdPjyGblKKBEy09jNVJAsPXoKQl5ZhvDZXrNAqbBWCtPEwTkpG7QnPyHq3IFHzdi8jEu4/J2B2SG/6Bu+MfyP25ls63k50g9VRD3Z1Zl0h3l45MyIinjRvYC8UuPVRedL3lQxSvaOIoxZEGrPSEQcrUk8nhci9Mz4LsN/W3sT+Tv10dZsDzcYgML+c7n5wy3KfOJ8MqQzf1wRIzY77hYJ1K0q3qNDeBg5JZsxN23ol35PxZMBmCAfYMhjcgIYWOmF8thdOHe2mGgoOlV5mFIHuwS2aNlA9TYNA+mFjSoGsmhjsBDNGvxkSGLs3z2HxWI9lG2NJhSApI0d9PCGA5NgNV56A6ujAKGXBPmo14ZthhUF0Ga5XjWmXAOjxdy+HAOlXRq8GNjrcRTTzq+BueG97ucMvd6XgDwW50UCMTxVN/+LcE+I1BKviFgYyPfmJ0OsajNLlHaTLsDYdhT6VBJSHNUJQiTUYcASZF7zDFTwvvpg/vLXmemKhzk8b/8UL/3pSUZg8fOiXFGaMsMEaYWZFvEVwtAVzLzAauB5zm+p4kAajPZoqX8pE2n7RKx7+VnPybykzxAZBrCzMpHE6zH6JfU0a/HpwiT5T5PGiZT4RCGZ6aYr56hwHa7XBq5p8RaM2VUvIzDvQb6u9DHt6gBE9hUJQuT0GY+/O9znTzzBimyOgM+IxAhPKg0IY0ddaPu00H6+TJexud04BSqwxrIQM0PcbpBp56VRo+ouHRHBH2xp2GFzsqpwdY7nEZsnEnpc3GJdZmgzGLy+pybnXD3OraKUBM44w9dHgkV1FdhiDzWYM+gj9gF2dZvdhHh9ufK+WjYPwxv/tScXFiB5dZyDDUyibD0ApjaGeA0JLqoSqDkIWP8uRLeFoYzpDXuRpSaVDJeq/Fu2960B4rwRScZGNuyDqtMNWqSrFS09se4tsoVn1zduDNt+RC4A0JlvBiGwbbYNYHBpTM+uBG28Ow6zlGHY8j2ZAgHabe3GITDbwM0b4Zcj097cvieyYu0CAMZQFNuXfEMTVkmDpVuTmv8bFnjQeGaxYbR5HR9uJs9akR9+JuQuwoHsSpr/kvgNEmTylZPct5Z7EzWBTmEQVGphlmcsB7kqon7m/y/U2234eSrHWFG+sK01APUlLQQ+Y4ZevsbwnPZOsSttCp5h5T6Wa4t/elqXaCnym1LnFue1yUPTyLy1WR/MmYfLIzgOqSDPUdDXY8J/57DuJrctgdyqK+oVV9GNrEpUQlmuHFPP3kCUhpzI7Nl6edEzJmB1OcMJ+SLxQNpZiZxp3ciBs83xNKwpiH33lohVEq54KQt0maHfD0q2FHP6NAHnGBGEojx5xlJU1yZJoIqRH2OcMaDX03N9p6VRK6OmROUxacNqc4gYoekN/5ezJiUoufLp/Ug0ybTQKO1OJrQ5l10pYK2ZbvUn6gzBeMMg8j+VQibFbeEKmWftLCHzwaVvaZXs8zn7Xu8tAbyxxGxzKzoNvxnaALSuXLGhWVT2g8XPUoSSgQFrWlwxtP+dIEjkTXSKp8Hh92/Nhm1KNM24FPYf8tWZtZK8Hm0YHL6eNFAoa12VbcyzkQxjdz6r6eDvrmePE6GJkel1poo1YNx+ZdqdWQT3cIWRuOnAJlDrq4kHoaleduZTDsxtQVGlgpMz/Jyqatz/xQxhWNLT8A8DzvLVln57f+JclOV6V5zxiYCiCuZwkYx2ktczi70VH5LAS3Awj+QVG1EoWOMmNIuWoZVjD4OJqzYxu5X42AwYsURoiiQk5FkmVEOQm0w9vwnMg29+6xiWz+KODu00THpNlq3I+bwRW4LsmiSwG5UWCJkksyOKEXBnwk6ZzF1nCZNBkgTaaKTaZQzX0Crdlp0CGdDqs7ZMU5FpNmcBTHHogv+MURm/BIwZqz2Jp8j6SzR4LiwH+iHXgex38BxYAPdm4D71O48bu+w2dEkWkd5VdQW+91Fc2D1wD8yR67+BFsH7TxDSxN9ooVlX4mgSrNq+LvX8G6t1inPvw6Ws5LeFX40wymI7g8L2tEsd07ar8otw5HL6pKwZp8cjOY3IxCblnkts3l1gFkHGgtxk3eC9Lb9mUkO+YsxTH5JGozidqFRLNIdNPviTgXgKYz6Ea7gXkCr+4soS6f5EwmObOQXJ6+yCRwS+G1aw8voS/KjzlLccyD2FXTCpFmEenUt7LpvWfTZGWXh/i9/Wcx+/OJq8zEVS6klUdabXIincBadJcPpr39ZzH780mrwqRVKaSVR1pNQmTg4+FJZbr/LGZ/PmlVmbSqhbSySOsZl9Y+X5f6G/Fb0Dl5xuUjO+Js5hH5ZFljsqwVsswiy8dclnWaTL3xp1hdf1XYtd/rxL355OQwOTmFnLLIacMf3GFfYa/fEQfk0xpxQD6tySezAZPZoJBZHqv2hvI1hxGrNt1/FrM/n7SGTFrDQlp5Btvt6bSK7+Nv+t5hsO4soS6f5FwmOTf0YFu+Gg2VvtIgUXygWR9vetdTG7H+bEZ9vofUeKQXy4YWQLTZ0EOfjNAnM/Sph1edTA4ogJ1HTXcCanoHR72laW3KBvD2BdTVCOrIj1NV6Ku6bU9ClWVf1QYuVIcra+KZoj4v8kZzUPhcUG9zqLGmT28juaVkfxFkS/5cRhU7bLBxenVaq9fsSrjWLE9r+5Z4rpV0aiXhVE18IlF0f77HX5VCbAQUAh0L5JKpGpiyp6lVTEsTOoDhd4D+oOqUw5VVv9Zy9KFmSRsydAd9ZxAV5WoeYVXieMHFsU+5PTT3SokqB5RuCmfN6qO6ajjhZwsqudavVbR+nJJrQ9M1yzFKbtlDR9XilDx6YU18olR9dK0ff1VKscmVIvCaHqiboQjQZMuy4pCsqlVV5LMpkpbFPDMpknhixY1Dkt04xt+rwL+UirDWj79qRejQIr2o1ZY+D7ut/HlqYJz0lJ58uuusCprnIWh8upzlP8Y3LuDUqSr+j31smQOyqJus2k3o0jsQ7wU3QdqDa0YN9CKuB5s6/sb14H65b/S1mB5sWVFqmPbgwRB/pSAga1TTWqK1fvxVqcFTXw1+4xkF+Grbj7NtUVTx9WBlhMunD6zbCX632GXA0QsyeWzggaOQzhCt67OvmmpxvckV5Z/fKqd8+f372fZIr6l2uRZnYqWu4gOusyqQvNCbH3CbBuFmG2zRfYk+VTqDneY6qwboS4hNPmgo6EXFmGcTiI1NZvg0nlcmD1TFe3PwI+2Fi7rJPIK/+83G/Xi/GZjXHBLMR5TJjCPpOvy9pzecevNiQ385iK3cTvbb3ftxY28f/7wilttXXFq0jWbuCAZebH3diH9DSWPvNRz1NTeBYLED5z4NnXtML+E5Uhr8nP9WxkqFai1Fg19V0ZUfYNuBPbiF+wb0fXNV2FeBGpV+y3RkBf5qUIOfJqG7bkzbqPSUT2ii+R3/oqihIzcDR76hpTC3ygd+7Ff4RKGjnwWO9pKXrtlQ1D+nopSFc/bhqmAN6MUBtFQWSprhj3mmZ/QthO/JnnjfLnRJ5934ZxihM7boXWQ3wBxxx4t3mL7HrMFfbmJThoiH019JGiJW07P8Jwwcbwgt34CnuaBg2nCGFJ4HjjympMxb/nUcI/KvvbM04Sy22iak01P64Gc9Vv4L8He55oTvu01r63/ngyPsBYPI+Rtwvhr4NRRXwPKQuDr5Cm7gV7zCU7rCBTeOsucPnC2c2aXVbwNqhezMwJML2O3zLwgALYGeb1Ofm9X2qEZ0SZd/B0n0lX+yXs7PfQRPizG7mwgj1Elqt9R/uqR5t7GaseMthuRHXsdqrHjmhn+m2K/FI/8OSPwKz98kKQzJVbnm0jiFe1yA7rIXA30EnbyiHn8N+4LMdgbHn7B1iPwuL6CdI/r2UBvaW+KLnP6Prjyktw8QWefg6Q5d633B0wVPL5ynywVPFzxd8HQmnt7wefqO7oy9r+DqgqsXzdVWwdUFVxdcnYuru3AXvha+4OqCqxfO1SLrFlxdcHXB1clc/W2Uq/nxNAuvsC+pLdi7YO9Fs7desHfB3gV7Z2LvTc7ev1Av/AWu+x76UcHWBVsvmq3Ngq0Lti7YOldcJMDWBVcXXL1wrjYKri64uuBqCVdLdPqLzN/TCp5eA54u8vcKnv6yeJp9LeA8ePrLyN8reHodeLrI3yt4uuDpbDz95eXvFVy9Dlxd5O8VXF1wdT6u/nLy9wquXgeuLvL3Cq4uuDobVxf5ewV7rwd7F/l7BXsX7J2Nvb/E/L2CrdeBrYv8vYKtC7bOFxf5cvL3Cq5eB64u8vcKri64WsbVDTgCe0JAsv5bRBlXT9//+C50lMjbmyHtmJXHHDyWvUBx2u9ModcEj42TRiVBU6PsYQB/iDkIi7Q6NvB0TTHhdwDXq87F6iT3RrEv2UJ0YTFauAXnYj9Hu1Pi56EWDjNrn5eVxC3MArWtmlnb0FLrhb4l6pslzBuvVt+2ub4FrZDomz7hGoeRX+TRzz1j2RD6SLxnKkYm/7x+qdiOVfulRb7yn9Ev1YS+Xfil8Qy9A/XsKT+SXpfovN/mxNUduBZ5vZ85V+sFVxdcXXB1EUNYMlejdpSIAZheuwJXPw9Js0TtY9+GdxEYy20FVnSXihhCTptT5pbEJRuClqYCvyYc79kcA7bwO0PxmT3tr5KVcmkkiJbnYTGE8hK08EVoTBdZhxrxF9Lp4GZIB7265XoNOkmnClLTYNsgD0GHX/UBEkxj3y1BbrNtrzi3mdZqxbHuYjjRXII2viQf8xMhe0nnsq+D8TSTvoE6p04+J/wvqF0hXlR+xN+Ids7WsL5SA+wd+Iv+5ZD8UpN8CU/DMBaE+uWS3rFejUejJiKzDOD4yRJwfRrq5XdwHejfpf8J3fk/oY11uLZLd2ZYv4N7XJMOIh/8Dp9v/efCfvpv/w6PqM0l/Bu66iPFFrj8K2hzuIc8UQYpI3+PoDbZd6K+ENKOLbAmA/A97ugOpUBP8mZJ94jp6Hvpc+uCAa0yQLZ94pAhoVHjvDNlG6wfQK1K+oJ2pUZ+9IB0QhyjLEYXNgkBbHE/0OKwrb8GifVJ+le8591MDvB72w/avfvxeWsPv5LoLSsm0316ucz24sYkck38wqZ5XnMLntL7Yst5Xvcp2Z87Qnx+V51j/8qk3zswesC2/AM4Dz3pO9ITvA+y7Hz0feDru752+v4dneHZjyQUwvr6gWuATZnKyJm3MVZzB5CPXjPNmS/IHrERM/cKUp23BWdc0LE+HwraIh9brUoHv4e7Xkda+g/Rh5qTNjq+Nmprp41/U1r4FaGkj1eEL/rbUSSGEp3cIQueR1+ek54Er5/mrFVpyzfB9QA5tGEAki2DRmhcwj/QGG4A3pkYL6z6XhlqA47uBvBfJV1ahjY8CbT0hiJZ64D/BuioN+7I7xHh+MnEKAYhzUbQGiBYlkhBX6kUNuHziNqL2Rx/SHreNuDAfCaH7srGSO+YnxTb58LnfOA9N3zWX0lXxRHjgPr2bco7PQscn/4uG1CPKHyEv+L1tZStH8bGqJNaPz0rfevj7xTX+uS7iK0PXl8TbLS89b7vmeAVyBEQz5Q937YEhVl3fC5FIs3dnobQiN5HjKvLEeFec6yvE4dH+DzZ8z2ToJF8t20pFrPvtBlCQryHthb8/BTq7yg+Xgoy9YM5WvM52lw7jv5O4OgSlYjBR+5z/4v89ZuCtwveLni74O015O3N6R6oZfx4seRZkQGNdk2KfTs0F2JTnkRNmBXB0bMdyqWgeWnKcBwKjP8odk5aNjvxGKzAbzSfjDbhky/TaD7BRmDOHMeqg1itWdTcWI+OxFmIEullicbRd3SPaJb3I7gXrmcfBiTepJE+zjh4WR557LRLuS0qSAVlgDbZpXmE6WykSnYaZbNqO92hOkLBL0t0hxso+3SlgWCnF9UjoxJ5wSMt3tsGStyP2oUr/4ZzQjmko5NcdOpZNo10HShNmv0JelFlmltMl5+0GOl8K7R+RLJheQdTBJYhma/9HAIml+nnPL1DgzqX7JPpe7HeLMw6ebFf0/uZgUFWgvEL5YC85hu6gk1S50fMKcqj+iMIY+2wf+FhD61+H8BhKI3/fxc6xqZ4fp9j9Y7uiHOWd/4s/rfQoh+JoeN/rZVIfZvk5s1KPFziZZBYlXjLAkQsskUuj66a1O9c8io0mhsv0xw5Zm+iZ1qlI+yIB7EoWzSVOLPeLOJ9r0wzC6KSX8w8+A7dezo3NNWl6Px4TfBuvos9N37eXJwFj2pFh+swzhPNgweQgw3K0zLJBup0/SppBc7ElEkrsLe7pBcDspomMYNLTOAsRSu2A1pxHcBgWZrwbeiuYU0QZ2S+AoTCuvAy9myMf9jKRcir/go5d4YmbCm/KFcUR3m4FtT4GihkA8ufc9PJEuP6qD5xA7KHRWOQPvGCS6MSncYe6BMtQwueR7jh3xyFZenBC/+OWXVgR3pmXvlv+FIvkUyvJfn9WX0wfY19sB3wdB16zkuas5+OT0qKu0Tv7DHPQbum7N9LP0vtjFbEeTUlP3swb58MS8ZcY8n8B28ri+Riv/w7xQmmskrK2FhML31JfXEqj3cUYbqh9dnz8AKTri/jgrLABd8nnH+btJ4khS6Ke7PrnkMahZEKzMZlcQu2Sicat6isVPc2oqywQhbYCu99EDNrlH3qUsyUZUPUyEZXIv3fy4NelQxeSpl5AMfck4eLfu77JWU0PYJnu1LYajdPJrvkp5SmNbk5eUjo4uoC9Ikcihip5B3/QDV9HoU1QGYajbdY5jp6R0PysdCLXpZM/kksdOvL447ieBh9HklHUC9IkzDX89JHKh2bvZSeecdLMfd32VlujxW2VjKcV+69O+GQnuXqM18bGV4FMP83LFmRc2avjtSEM2atjkSvOOsaDXFeq1gfyWbrivWRn8/6yKqgfatdC/SIMmVl82xyHvbedndCd0AveNlzq58fF2dfqb54Lo6uCirYuGDjz4+N06/MXMY64Xg2/gZwZpFUnNX3MviD+/LErFyaK2LjUYdHj2uBvES2slIF5lztyspwSxcfj3oKz+HdLzoiwj7ixZkM4R0gG8SpnxLOwnZCmUK+O6S1DJdr4gmHInYPk/qAZgoqZB1rJHWLZohqIan3aT6xFpI6/nfp2OXMLKZp/+eoC99SHtMn3la2zvoTbJtcGpiPvO/7Y8eEJXlWD5hXrJLtHlLPZhHEKs08ByOIFuXWGDS7jH/ZZywHtG85EcRoe5cRlcgik6DXh7N9zF6uSja1pfXXpHavm4yeC/kaLAcR77i6PlRekjWd1fZlyOolZcKxvCB8T8SvyohvoQeP3l1QWk+meZ0Llk8FpFKh7IoKZVngX4tsZZm8o+WsVxRbuzCJTI67IJJJe7d3P67vtUZjl/9MmuFPbV9yT2h26d30PR++JXIjkYGz2JpO47Q/VifNXn2ExX6Tiu7xaKzDp95orE2anQYd0umwukNWnGMx6Z3X78fsxo/AaWcKfAnNeXU/ftOGY6rq5JCXve4vcD0VNo6gFb2jxmhccQemS/NzvfPmfC402T9v34+bxz1swl6rg0W7RS1p7xLIrRN89DZW4UXaPf4ZkNAmu+0WK7rY6N3dPfq026CiC5cZwpENPOEAL6pOfmr/PBqXseyyj6esaOP5B80jLH7q4jE2lPvsYw8v91O3TsC22oToCT7cQbeF+1rdMywarGh1SQJ73WM8bX+vi405edvFT60ufTrsHeNFDns96oQNUkNU5t+ppBTYyXmTHvH8mJ6/16HLwZlYnDd26eLNc7iAMjk5Nu/H8Gc0tiZUuKzQWKEKBZRNPB7UpzyhAtR6/2QPy95ui27XfkM3xweFyuMTOOH4pEF3m7TeQuNbu29B+18dYFvPOgwHfzLqmjr0/1K7fuDkhOpBhx3vUdE4Ikj2WthJ9vGKe69w/37rGHTr+MDfcX7apDdasIK9y4K9ycKcMGVjumYyVauGNa1vOehg9nZBXvjz+gia8prdG5oS14onZAwv/Al/LfT0WvLTz76Nxm+zKdzmDfzts1tpqYCK3Gpy0Gncjw9OzxGsg9O3VHThk2FB+ZaVjKYs+oEzGmAWDhp0s4PGK6xSVfwPnw5RzRuv8UanXaKd0+4uKdH/AykR4ln4+wdEAAAAwG1rQlN4nF1OQQ6CMBDco8/wCYBB8AgFsaFVAyWCNzA2IfFijL1s9u+2ghycy0xmdjYjy9TgvmIj+tQKptGjbqILzzQG4ZYOXGn0o4CqvNbouG5Ge5AWtqVnkOiEQZF0BtOyGGzcVMKROMoXwgoY9PCAJ7zhDmvwSdbfmAlbY7nrstIZuZAGuSwWoz3tv6sm+tt4bu1wz6ODE/2NVH0dMfZIcftR8WzESO+C2KdZh9HQ/3QfbLaLDuOQKFOJQZrxATEUX7iIDRRXAAAKtW1rQlT6zsr+AH9XugAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeJztnY2R2zgMRlNIGkkhKSSNpJAUkkZSSG6Qm3fz7gtIyVmvHdt4M57V6oekCBKiAJD6+XMYhmEYhmEYhmEYhmF4Sb5///7b78ePH/8duydVjnuX4dn58OHDb7+vX7/+qvfavmf9VzmqDMP7gbzP4vbwlv65u7aO1W8nf65HVw17Pn782NbVSv7u/2x/+vTp199v3779/PLly3/6ovYXta/yKSovzuUY55FO/Vyu2s+x2m/5k3adW2laX9WxYc9Kzp3+Lzr5f/78+dc29U//LbmUDJA5MmI/51T+yBSZ1/5sF/RrziU/txPaAuUb9uzkXzLy+K/o5M8x5EJ/tQyRc7UV91nkxzXgPr46hj4AymM9MezZyf+s/k/5d+8M6HnkXn+rLSDX2rYs/cxYyd96AOj7lZ51w9BzTfkj15JVXes+SF/3mMB5+FmSx3a6IduJ9YzlX23EaQz/UnXi/nO0H13NWJxtH6dfZ/spWVneKQ/6beZd13ksl7KsbdogeoYxyeqaYRiGYRiGYXhFGMffk0ew16f/828v71ny3foeXOprujb1rniEy+jtagfP5mdInfCW9r67lvfznfzP2PGPfIZ5nvd1vsQuvZX8/4b+8xZc/vSzYc/Dpo5NJv136dvDF+Rr6SOdz5D6JD/OXfkDTedvpIxcj/3IvizbL+3f2qWX8rcf4lHbQMrffjYfcz8pfYnOLLkgG2y+7Oec9AvYZ1ggI+x2BedR57QPk/Zntx3aDPdCnpkW8u7s2Zleyt919Kjjga7/A3VoveC+bT+OfXtdjNAufsh90HZf9/9KO+t452/MZ0r26/RZXZLes+t/QLbpAy7sqymZ4W9xf0OW/L+TP33fPkDH+1ifwM7fmPInLfwA5NPJ/yi9V5E/z/b6m7KxvIv0xdsX5/re6Qb0idsJusW6GHb+xpS/z+vkT5zKmfRS/pzX+cP+duxbSz9bQX2lPy39d/bt5bXUbdHVkf19PEfIY+VLhJW/MX2IvKd15fF45kx63qYeHlX+wzAMwzAMw1BjW+yb/Dw+v2dcPfaAGWO/H7Z98bNNvosLvRV/w/zDZ2dn0+r84NYJ6A7HhOfcwPQtQl7r82tfZz/M8qCvRj+co7OrIP+V3dd2MHx82I7QG9h/PcenSL9Qxu7bZ+dz7LfjL8doH9iR8UkNx3T93H4X13uR8uf6bl6nfYG271rm+A+6eUSe65fzz+y38zXoiOn/51jJf6X/V3bw9KWnTx0bKe0i+7FjMM4cy3ZZ4JPYxQsM/+da8u98fuC5XyUvzwUszvR/cFyAy8m5ec6w51ryL9DJ6TsveIYX1uHOc/X8X+kGtzk//x2rUMzcrzXdu1ztW73jeXze2QIYw+f1xI04ndTP3fifZwDk+7/LyrFMe+Q/DMMwDMMwDOcYX+BrM77A54Y+tJLj+AKfG9vcxhf4euQaq8n4Al+DnfzHF/j8XFP+4wt8PK4p/2J8gY/Fyuc3vsBhGIZhGIZheG4utZV064YcYX8SP2zE915D45XfEXZrrazYvSOu4P3cfmX7kO4p/7QzPDNe1wfbG7a5wmvwrGRs+WN/wSa3aksrm5zlb38iZfL6PC7jyp5gm8HqXigzeszyz/bodQqfwaZs2ys2u/rfdrTumzyZhtcQw6+HDb5rN13/L2zTYxtbYP1P2vb50G59vdfn8pqEq+8LkUfK3+uOsQaa18R6dJARuF523+QyKX8/O1dtxnL1NZ38HW/kY/Yfs5/+SXrsP/q+mI+RT+73enj3jHu5JtjHIfuFZbl6Lv6p/Lv9nfzTF9TFItGv0e2kf/QNud0x/BTW8+TB8Udn1//teyvSjwO3kn/XHmz7dzwB/T19R9297NpGxqiQXvopH/WdgbbsekkdcORHv5X8C6/jS+wArNacznvNe9nJ32XI7wv7mkeVf5ExMunH262vz3Gvp5lpdW1mF5eTPr8uv9X+3X2srs3r8pyufp5h7D8MwzAMwzAMsJpbdbS/myvwN/hTdnGsw+/s5tat9nnOhecKHb0/3oKRf499GLah5ZwaWPnnd+3FtpHadsw/3+Ww36nw90Tw/4GP+Vrbk/AtcS+WP9+z8T2/6jwRy8x+toybhyP939nmrf/Z5rs+ttPZRmv/jNsicf74erABcq2/UehvCTnGxHKmLPiI7q2nbs1ZWzsc7adv5joBKX9AD7gtYNenLdg3i/woe84bsd+vm1PS7afd+rtAr8K15d/1n0vk7zkf6O781qC/ybiTfz4POp9uwTPpFecKX1v/Xyp/6210sGNt7MNDPuRxpP9T/rSNTJP4EMcIPLI/5xI8bqKP0a9uIf/CPj3359088rw2x387+ePHq/Rz/Pfo/txhGIZhGIZhGIZ74HjLjJlcxX/eit376nAdeOe2PzDXi7wXI/81nt/g+Hrmx9GPmYNjv12ms7KheA5e+upsh/K8oJUP0McoE9dm+bH/On4fn6bL09mjXgFsoGkPxW7nNRo5r7OpF55Xx89+t1w7FNs/dv5ujpftu/bnkjZlzHKl39H9v/NVYlN+dvmn/qNeufdVDE83TyjpfDsr+VPP6Uf0/DR8P9hm7R+0/9D3tio/x3KOl/dXfs8yz2/FTv6W2Z/Kf6X/U/45/9d+ZI5hq+eY5/Lu1ofcyd9tFEiLNvbsbcBY/1v/3Ur+hf2Qfs5zLuMS2gN5nNH/kG2DNNm2T9zt7xV8Qh7/rWT8nvL3+C/n+NkHmP7BYjX+28m/yHn+3fjvVeQ/DMMwDMMwDMMwDMMwDMMwDMMwDMMwvC7EUBaXfg8EH/4q1s4xQEdc4p+/5NxLyvDeEN9yS1j/mLVzMn/isSjfpfLnuo5K6+y3Fro4lI6MJz7iklhA4pa8Ds5RrPtR/Rpio+DacfSOnfJ3eIkL7GL3KZO/6+64X8pLfJWPkXbOFyDe3DHnjtVNvDYQawhln2UtMseb7/o1+Z85l/MdP0tejkW6pH6JOfLPsVHvsa5ZrtdGuTiW638RD04/5X47Oj1KPJfv29/+oS3sdADxusSSeU5B3hvH6We7/kP+jglc4ftO/eJYykvql3MpJ+leS/9nXH7i5zJ9mzbtfdSzv7fh7ym5HtxuXU+7+3LeHV4bzPezaod+hiK37nsfcOa54vkyOXeANpQc1S/QLhyfei127Tr7K/3H/6Pzsk173leXHv2P+0pZua9a963K6rWiYCW3jA3t0qRsOY+FvBLnle2etpkc1a/PI0/PVXor6MFV/z877v0T+XOO59xkmn4edvHgTrebh0Sd5zcqLlnnqxsrdjrTeWU79Pg4y32mfun/3XyFt7Irw5HehU7+OX+j4N3AfZV7QsaeI3QGr+mY13jukOPVrXOPWMm/a6+MU6wfVu2b/C/V57t1Sj1v6gxH/b/wPIvVu0wn/6Oy80ys8joP5ERdsjbcaqxmnZnyZ0yY6wR6nS+vK9i9W3uOmd8dunLw3UP0Ta5Z13GmfuHoW7sce495i7yjrvLNeRoJYwXIekG/p970u/SR3jvT7nfvhKuxgMc5l6wTeslzele/lPtIrpzz7PNWh2F4M/8AoIL6IOC/JaMAAA7XbWtCVPrOyv4Af5KBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4nO2djZEcKQyFHYgTcSAOxIk4EAfiRBzIXunqPte7Z0lAz8/+WK9qame7aRASCNCDnpeXwWAwGAwGg8FgMBgMBoPB4D/8+vXr5efPn3984jr3qufic6WsAGX498H/Uen5iv4zfP/+/eXTp09/fOI69zJ8+fLl388uvn379jvvsDdlBPT7R0bU+7SelZ5P9b8CNtH+rvZf9VH6dpWmk9ft3/mdXVTyrOQEXRq9XqXLrmftvHs+cGrnq3rr7B/la991ubRvex6aD3kFqv6veWX1jvufP3/+93voLdL9+PHj9714hrqoLwtEOr0e6TNE/p4m8oi8uRdlq15IF9f1eeqgaSMvT0cd9Hr8jc+q/8ffr1+//n7uCjr7c01l0fIjTZTPM1mfIz33Mvu7DFGe2wibx9/QmaaJ74xbXHM9RRqd8zi0fUU+pEcXyKnpVO74oAvassod11Qfqmctn/F91/76zBWs/H9WZtb/6X+dvIHM/upvqFNWd+wcelZ90S7igy/QPqh+gTxWcna6QD7KIT/3FVWd/fmQz8vfGf/vMRe4xf7oPPoj9e7kpf6V/X0d4sC22D3+Rlsgf/73foas9FHai0LzoU6ZLvC3LivtkbleZX9k1Oe9/ExvK1tcxS32px1ru+/kDWT2V3+H7836KH3d/Y/qNu5x3f0kviOzP3rQNpbpQtOpzWkXyO/2xz/yTPzlGc03riHjM+xPX1F90J8BdfXv6m8Z3xyaHpnpW/o9nqUPdGulyIv7+E3A/5HG7yEnfS8D9caHZLrQcjL5yV/HQ/qH/++yqPw6l6n06bodDAaDwWAwGAw6OPeX3X/N8m/BPbiEKzgt8zR9xduewmPlxKVYz2RxgXtiVf7q2RWf1nGYj8Kpzq7ouOJt7yGrxrarZyrOqvIfVVx6t/xb+bRHQeXWPRNepytydfH8e7XrTFbl1fz+CedVpT8p/1Y+rdKT84bOKfoeBed4kIV8nANZ6azSgcYVu2ceaX/045xcxXlp3F5j5lX60/Jv4dMqPRGjC8CzwvMh88r+xO1UFpWz01mlA7U/cmbyZ/7/yh6aE/tXnJdz1sq9VhzZbvnU9SqfVtkf7lj5I+UUPf/MRsjc/X+qA8+rkn+XK1uhGqvgRvR+xXkFSKtcTJd+t/xb+bTOT9KHo4xoD/Q1nt21v44ZnvZUB6f2vxXqb+AalHevfFNmF6773MHTn5R/K5/W6Smzt847GRe07MxGAeUWs7Q7OngN++vYycf34ikviE9Tzgt5sutV+pPyb+HTMt7OZQPKKVZlMyd3rpTnkWdHZ5mOPe9K/q5eg8FgMBgMBoPBCsS+iPmcgnUga5hVLKpLE3PbHf7nHtiRNYBuHlnmriz3BudiWHd7DH8F4h+sv3fWJt369Zn7GTOuUdeUgfhOrPBRZXbXHwmPXQeor8a3uvavZ2NIr/rLnucZ7mm9nfeKe+6X9MxBpjOe6fRJf/M4hsdos/J38spkzNJ113fLyPS4g1UcSffkV+dxlIPwOK3u1dfnSaM+B50rl6PxQOXslA9wmfQcUcWf4fPIR2P+Wpeq/J3yXMaqzOr6jrzEG1XGE6zs3523BF3M0vkv+Drt/+jKzzNk5zvJqzpnQjnIUp2NyPTvfEdXfpWX7td3Gasyq+s78mZ6PEHHj5Hfimfs7F/pf+dsEfn6p8sXedD9js/S/p7F4rPyPa+ds4RVmdX1HXkzPZ4gG/+VW/Q2X+37udr/M11V/V/L7uzvHPSq/2veXf+v5n9d/9eyqzKr6zvy3mr/gI4tPobhn3R86fgrl2k1/qvcbv+AnuGrzp9nulrNWXw89TFOecWsfEU3/mv6qszq+o6897A/9a7W/3ova5vc1z7kPJrP/z2NzpF9Tp/N5bsYgc6F+Z4BGfw+5XXlV3mtZKzKrK6v0mR6HAwGg8FgMBgMKujcXD9XOMBHo5LL1x8fAc/iAlm7+x7M1TqC/dLPRBVnq/Zjvmc8iwvM9jIrsriA7tnV/f8n61e1FbE2vZ5xbtife54Hcuh15yJ3uDzSVGv0zi6ZHvRcoHKklb5u5RtP4Pvv1T5V7I+YE35jhyNUP6PxK67rnnn273u8UfnCLI8sXp1xRh0vWMX7dji6LtapZxPh1zN97ci44gJPUPl/7I8Mfm4l42hVB95HNA6n5/goX/uFc258V31UZyZ4XmPr9JMsRu39hbbH+RWww9GtuA7yq/S1K+OKCzzByv8jK30v41V3OELOUmhfz8rv5NF8uzMzIQ9tlnJcN1U5jG3q3yh7xdGdcJ2ZvnZl3OUCd9DpW/us+niv6w5HqO+1zPq/jt9d/9+xP2c79Sznbt/SvQPab3c4ul2us9LXlf6vz99if/f/yO7jP/rHT1bpvD35uFrZX/POxv8d+6Mjv3Zl/D/h6Ha5zk5fV8b/nbOOFar1v3LeWUyA69pvO44Q+bCfzjGzZ7I5cFZelUe1fj6ZW1/h6Ha4Tk+3U/cdGZ8VMxgMBoPBYDAYvH/A5+ja71G4kre+W+Me777X2MAJdmV/T1wUa144ANaUj6gDdjwB61pierqvstsHXAGO4RQaT+xwpY6vBWIWvm4kfhbwfay+Dsdv6HqVMxjx0ZgNbUvjC+ir43ZVxs7+XV67abROug/e5bhXHUH2uyO093iO65Sr6QKR5mrfynTE9ewcC3ELjbM6B6O/z0U90A16JdaF33H5KUNj8dVZAbVFxdHtpHGZtK7KeVJH/S2hK3UMKA9LXA/7aKxQ0xEnpdwqXtihsr9er+yv8XHaPW0SPXl8S/Py+HbFq2X8idtc/ZhyyIqdNAG1n8cfPY6b8XtX6rj63THS+/sEnTs93bfl8ngc2usTcPs7b0A++puUyJjpBlRc1I79Kx5DsZMGPSrvmcmrfJi/R/BKHU+4Q8rlA1dd+ZYVeI4xLrOZ77WgDzlfRZ/QsaniDb39Vv1xx/4B9X/K4yl20ijnqOOgypF9z+y/W0flBPH5HXeonJ/ux7oCHdv043st4oNv9L0c3FMdZNeVX8ue787Xg8r++DLl1B07aVQmn3cq3853+oe3mZM6BtQGuqfHx2fXrbaTU/5PoeMHc8zs3mqP3eq67yVajVt+X8uvZOnWrrek8bIrnZzW8fS5zHdd2f83GAwGg8FgMPi7oOsYXc/cax7Z7UmMdZC+K2WnTF2rEu/O1oLvAW9BXo/nsO47PUdSobM/nADpduyvsRbWOzz3FvR5grcgbxaPJE7uMRvntIg9Ot+lUO5W4xUBnnWfozy0xyA8Jqv8v+ozS6t5E0OpuBgvF/k0lqMccscpaT21/iovfM6OXpBdy1G5TtCdMXGOR7kIjaV3PsO5e+WV4Qs8Rqr18/ONzsFW/p9ysjK9btnebG//2I3Yp8d8sW22b5u2AificWLsre2i04vL7nKdYGV/7OplZrH/FY/oNgowB6hsepKfc0HeX7K8qxiw7g/SeDex1uy3oyruVX2N7q1SriXzGSu9uL9DrhOs/L/bX+cJt9qffklc/VH2136xa3/8BnmpzyNft/9qbwd+RHlV5Q/Arl6q+p5gNf+jnnCMugflFvtrue6Hb7U/OqQc1cuu/clDxw61ue532ckHf678n8vrPj/TS3bP5TpBtv7zfUU6t8jOX6tuHCt70f51/8M97K/zv+rccqCzm/dxzZO+zLNdPj7/y2TRfRgrvfj8z+UafEy8hfXi4PUw9v+7Mfz+YDAYDO6FbP23imWAt/Su+Y5nOoWu17rxtoqdnmBX1/csM8tP4z+rvZEBXZe+BVw5+1CB+Nfufs1bsKNrT/8I+1f5aexHYxV+xinjCB3ELTyeDnemvC79jzNxzH2VD+Oefyd2qnXwdyRWsZKsbhqT0Xbh8iiycrK6wv+4rjWO7zKpvYhTO1e4i8r/a4xfz0vRz5TzrThCLwfdwZ1o+ehFz9WgH5cniznqdz9/SzvSeDryeBvwugU8lux8QLYP22OzxM+9rhWHp/lW+uB54sYVB7tjf/f/QNuWjlMed804QgcclfJxrsPu/137oxc9j+kyB/Rsj0LTZTZWfWX297mInq2r8lL9KLfY6cPL4d4JVv7fZcr2WlQcoeuENN37H+9hf2SirWUyB96S/Stu8Vn2z+Z/+EL1l7qPAp9UcYSuU/x/1/8Du/4O35TpPJvD7/h/rVsmzz38f2b/jlt8hv/3D/X3c7B67lDnKRlH6OXo2cGqfXta14XOM6uzmW43xWr+F3D7V/O/zndm5XT277hFv3fP+d9bx73XO4P3hbH/YGw/GAwGg8FgMBgMBoPBYDAYDAaDwWDw9+ERe9HZ+/SRwX4T/6z2vbPH0t9pEWBvTPZ5hD51b6nD32lccYnsS/N8ff8I7wDSD/s3nslTdnU5zUf37fGp7K+/Y8K+I/bZ6T63LM9qb/Ct8nd79dWG+h4Qh9Yb3bKHTPsE+T2rbVfo6vLIMnVfpPaNrP842K+W5emfam+eP7vaG7Jrf97LRPr439+xofZ/bbyG/f13B9Q+9MMO7COuoH2p28sW1/W3RTqs7E/boU87PP+s/3Od/HmXm+6h1H2bAdqbvmuJfX76jO6x1Xy1TZKG7yc4GUNUF/6uoaxvK6hbV576gsz2jL34hlWZ5Knv71GZ9f1yJ/b3ve5c53+tJ+eSdJxUWbjPd/SKzHouRPOlPajcV3zTyX5xPV+hvgB5qr5Nu9zx59nZAc3H95av5MePa/4BdKfvYlM9Mub7fKXSsc95tE7aX31Pr+5l1/mU5pG924/24P3wdEzgnFM2n3FgQ//tzGocZv20M5Yjy+ncsLM/etUxC//p7Ujtr/5d95qT54n99Vwi7VfLzN5d5fOsyv78Tzu+MidAvuzjQH50RxvO/Dq6q/yq53vl3XWByv7qNwFtMYsV6JlRXd9QV50fVucbMvtTro7lel3PpXqf0nMfnf2RydvXM9DFXXbnFpHuqtzdeHfSnvTdOtqXPtp5isFg8KHxD4gkaqLrd70WAAAEeW1rQlT6zsr+AH+iNgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeJztmolt6zAQBV1IGkkhKSSNpJAUkkZSiD82+GM8bEjZsWT4mgcMdJDisctDIrXfK6WUUkoppZRSSv3X9/f3/uvra0qF34OyHpdM+xLpX1NVn91uN+Xz83P/+vr6c37LdaceVdYtVb5/eXk52GPr9K+t9P/7+/svSnWsej+j/2n7z+D/mT4+Pn7aAHMBbaOuK4x2wXWF1ZH4Fc69WZp1zDiztPqzdU4Z0j+kV1A+yjFKc6SKV2lW/+f8kf1fdUvwRR//ic+4iC9ynMz5o8KIX+KaZ0uVV13XsZ6ZzUVZHvJjbMrzLFumn1ScWRtIu1S+z+D/Drab+f/t7e3wjoh9eKb3x0wjfUGbILzS4pz2R/yeVh3LN7yXkV73fT6TadKeurIt5xz46P6faeb/7Dt9nkxK+LDsWO0mx1TKUPcz/VTeI6/036gdZ/+u8EofH9b5bA4gHmXk/SfvPYrW+D+FzZhv6ef5boDtsWH26+yb9L18NxiNFfk+mv0/x5D0VZYlyzur7xKPoq38jy/xbfa1nk5/L+jjSY612fdm81HWg/x6e8jxPNNkzOk26WSZbvk76K/ayv+lslG+A5Zt+3t79zXtJP3A+wRp0aZ45hT/ZzzGJPIizV6+JT3q/K+UUkoppZ5Tl9rnzXTvZS/51pTrIJewYX0bzb5r+vfUX7X2ebU/rDnUmslszXqN0v99bSO/80ff/EtrIayb9PNrKMs56kf84zG7v5Te6HqW1yytUb8m7mzNaVbmv4r9stz7I1/WPPKc9sIzuc6ebST3XjlnDZd7OSawd7MmvNs6y5nriXWP9WbWmvq6UoX3Ota9TCttV8f0GZBXXqMep8R6JfdJl73upTKfo+6XbG+j/s9aG7ZmP75rNPZXvNzHLegjrPOtCT9WL+yXY17/tyH3IRB7GXXMtcq0VabZ8xrZt/8TQZzR/ZH/R2U+R33+P8X/GX/2/pB24py9GY74M//JWBN+ar36nJd7Avh6VKf0QbdPXs/yyrDRPhP3sz9znXmPynyutvB/30cpn1CmPC8x1jF+MpbRnteGn1Ivwhg3+I8AG9O+EHNt938fc3KP8pj/+X8i8yj1+93/szKfq2P+z7kdO/R+knUt9fEpfYO/iMs8tlX4MbtnGLbk/TrnYcZw4mLntDV7nfgz9yiPlYN/a/EhbSdtyp7ZyP+jMp/zLsh+W9YpfUffzrpij9FYRdxMr+fX/dn7wZpwwpbqlWHUg7mk+zfn8tE3GM/350Z59TDaQN+LTBsTP/Oelbn3tUtoab1APb70v1JKKaWUUkoppZRSSl1NOxERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERGRO+Qfh5eOatk7jpwAAAFTbWtCVPrOyv4Af6WFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4nO3W4WmDYBSGUQdxEQdxEBdxEAdxEQexvIELt6Yh/4oJ54FDm0/7601szlOSJEmSJEmSJEmSJEmSJEmSJEkf0XEc577vT+c5y7V397+6T/dvXddzHMdzmqbHz+wY/Sz31L11FsuyPF7HMAx/vod077JjlX2zYXatzfs9tX/VN7/+je5ftut7Vjnrn+V6nX37xtm/ul7T/ctzvu9f/9fneX7aP9fs/31l23ru1+/btv36zPfnv/2/r/oe1/er90Cu1Xf7nEXVnx3Xa5IkSZIkSZIkSfr3BgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+EA/CvmsuFLaKmYAAADVbWtCVPrOyv4Af7bDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4nO3SsQmAMABFQQsFBafJ/sM4gjaWxl9EEEcwV9wE702llC2ujyOWGGqt/Fgaz7G37jXOWLXvx+sB7TuV5mP7YHj6+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAunQDjKwa9y5QEcoAACoXbWtCVPrOyv4Af9TwAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4nO19K7jsKNb2kkgsEonEIpFIJBYZicQiI5FYJBIZiY2MjIyNLJl/Ufuc7p6e6fnU/9SIWnPpPlV71wmwLu+7LlTm5302ngDas5EtxtdGYIejwwJwXcUFawDfhX7D82Id4IEKEAG2ChvQniTBd92T2bGEwfHNfHP88UNvAJWb3UEr1XEztr5sTxUU4HidQOEo6TDwYbmvKz/3CRKg3FQspF+NA683gbhzXJ3b3s+YXkJsMSn8QxHzldIPDyvUa9so7kZ5TiI49ZZkUEPMXzkWyNI+TwYwJmyrNLiPSW0r/u7rbpB37ttHF49yxbD4jZngATxRqoNxCQ/RFAkrr5eyhUiTfQz6oa7BZaG3HX9xj7mufn6CWykuozVjg4k2LNb6uMXAwYJtDp4dBHVPoPjvqDlwXPjT/TwvGw8vP7z8t7hOxDoSnpNNwpsFcCm2FSAV9sScLRzVHjJwwCcPh3VLcWACvrTNX7fg2ubAH9UvuJn7Nvw0HTx+AIULtB43N1PqG4HH4U7d1UJR1+HW7fPrp6iUdU3g93uPjvs1yCUuQqZOyYoLGGs6GAlrm07AvG2BOdgP/OcCKqd1gVXFfDKohtklO9HvEYGbqx24XUbhYdeSKc8LqlJFJUhXYzBNZwPGPrv4KS90aWiTZpj11QnRuFiGPsrKHKgSy0XLxfLjKRWW1DwPLOk29nM0xeHAf9Y1m3rgYvA/pKJKH/Dg9lwbPBlPHE0lTyMoN+Q24DqnFj0Jnarq/dOLB1lBo/fCg0gNtqsIkEygczabzgNNg1jqyPlCY1idJseYSr0TdARluy7K9hL8qM8JMy4YamUolM8/1Dw/nS0x6SRwnU8BPQD9f3gUGhKMC//a/QkfXTxKdMKht1Znm5pgfEksPOS4lX3gRvMOUWpd0G8lW1Bh0f0BiDb9GFgSWb/NPOEXqj8QqFlvaACARp4X/DA2N+GBrR82Skbxl0db8IUFd3Ypms83Pywc5EB3jgqNBm5N4Mem3RNtzAXKaz4/9ejJTNpq7w+zFT2A3Q/aJXeDWohpekZUeAaBEPSEJBGBr2tQ9jibRbeQbfL4CWpBT5nx1Nf63oCrnhw+fv6ShuXc4NiGkboG6UI5+rXiCYYL1qQCOFWtq0scDkPDdrRqYusPTAvo5edDvALvgHmvBaEL5x6NO6RtF2oLUC7UBSCX+OPvRGvxFcLqd/6hVf9FwsKAM/TcqMGUkZWSOHjrVcCFSsr8uXMSj6MSiZ5chLMIDujJn44rOwZ9BwRzrRhGEOMdUSgeS0mt7vemWN2bhMaoCrkxC8v6/itLj/qo6GRYjB9dO0rEo47vYwiIeCSdp0TR17feDxCeohNYYGnXHiDsqOvREEBszI/7cm6wbSSBqMZe1znOhO96QkfPnqBRPRXGbmYQ5GuEROr2rGU7Cjyo/fgWYdP8Piy14qKem2rG72uHMEKfW3Ao9eIkvx0AuofHoJHb9sxw/TQMbssZy3FglFjGk/kJ+nbPtfboGNkuePVIboz7jW9yn0q+gM81rPHB4P9I4Bx1qYnx6uuHl48LZuCnFgzt19dh7BiVholbWhcZOj48x01ASqM58wL9AqziJNNxXRUBoQB9PUiFFgxrBND+M8bKGLrjr/npsrp0v1GTPX+CASwJN8bHBrXfu/3s6udzDcQ+kOOiM/i2797cNlum0WeVqJcMUkyN2I2qqPkRrT8XtygMjSZ33S43QyN+QnsIgl2v0wrX4pdV1FcCsgw3mdIxf2prfoJllGNHu79yFsvH+R/Q40TYLhsSPfTLS7Tc7usIxUDdV93HsU0SA/sw5YCQA+P77ejkvDDOXAba8nh/kPOuds9x305aogs+IwTGDYOEjOBCRZcJmaUplYK6JnnYQX105T9C++oLWextKMJXSXDhgcmx8oDxC7h8vTKXK+j94Fwyt/Yg7d4pkGzcOLfWdGwYBRzBQFouQr2Ao+8YBJVl8YWLjYNSU9/0gcaDbT5kmEmB6f5s/vTyJ04NYYZkxKJHM7kljYa8I6spP+i8zyQFAXMfHN8JA181PROy7Vkcx0JSIy1rInFHUC3QZRL+IudmrcEIwuEl1qktz5MzHjfq0OTMyDjUTTmZGYHPihmKLBus6ORfKm47SILB+sZFFkLGsYYd1mNsv374zu6x5w3LnVuDji9zYZ9nuEkVF0UIMuUsegPSMdoXdIEbOpJrTMbT587BBqHN7RzImQgP5aOLRynmHNR7EjfKb/DLxW5kqPik6Lfw4ZV7QHL1UJg+EMZrwneMa9e9vqELI7gPa1gXZnmREtZFx/eayEGpzULCOcJ1TRCw2940UD25XwTTbJKQxmdXj67Yh91OlRTVI5ZfbpmHR++kcANwCyxahR4S/1V1mzbIk/fDVqab07C45TBFS5E3Kny3/Rhdr3ud/Dc1Rlzp1La7+npR2BWgeiHhgscHCXUVSIA+7v/zpnVwmrLa9vVU2aO7bzNQKYj4tFvgXtU249ba8+NgIC2aZCYS4So9tiXEwMpmWZI8v16Sg9i3YF82najfyHxoHbjM6wUz2KE+gIQyIBlQuhD6cf/XNwcVz46zC/3VDvwsTnO+artGmT1CtYr8YAuo7YGzlUOn8vYEaY5VkikBUumQj0BMxd8G0q6Ei/+JHQK3x6dtYjwyE0ZIk1JxsLIcw7lGvR7l4/j3WBy6aY3kjrL1T22sR0H93RC39NJ9OrYqGr7LE3UMxGYF2DodQMqrUkiZLgPy2e+KsDbC8byxwzaOapDlAadj5kdPcE8tDRD6rTYdSBfS/frcyn9LnclK5ttVwM7sFjq6SseDvp2K/cl2PGd6juOM6ATxIPH/CDFGKnFtmS07kw1J8o0UADcNPwPeHuJP7ChZcg3ZZGXHCs/JRgbKFw3lmQnS+tGl/5ZyxdhIlhAfy8Fh7MfH26HopT4YxhAALKGVuK8z/4sbROxaCIu5RfHKxq4B0nFx8OzYN3AbgT+4g8iM3kusBpD3xSUOyKckgTsP4rw/Hv1RrHIYjTazcFADN2C8YZmGuOlePYQHhP3JUue2XxeG9ZmzKW2jhMc+wEQzIx7Cowy8XycN50n+wh3JrXUPzYtDwcotUo1uEGXjr4Szss/zH3NzlcDuTM/MPMitLxO14BtSKXxMdF8xu+nywTx19X1FCkTIemzC8SQUSNMRDivvTggdXxUy7L9zB2MB268t8nJIkVYuoBmzpYj0Gv/O1NaPJ4CR74yZhSh9C+BvCbLtOl3orKfbNqdGaGx3sYa8QIzSesZ7NrpQX5k/DAG2DUXrG9LdGNBos6L237mjg8N2ouZLqwwv+0LpIk3S/rJoO8DX8fH6F+cE0LGhb7/rKWdSAm0gwySsNb8sIJRFg3j8KD+qOhO2Z8BV67WFF0a8NJ6Z6sAgCejgFgjztd+5w0U0jIEGIZazcT8QbOSYB5D1Qa71DoifFll2tO5zOm1SHqooRwf/sFrfedpHcYQrdzARKU56+/bn4XWIWfQtxSaVp4/owCKiWRAJPSdJhv3OHYM48LfoGHu7mW2IG0wvfoS5jxmDwiH+j8f7/y7jQu+u4NjRzEE9qJ7457yxWZnLDHx6BPTwOmaJGyPCrH9vaLkyWGqB+Me8SXwx1thpMxNBKHz5p3YQZjHFAxOl1g1OS4CImkzAzasa2i6f69PrP9Jy2V3DcUJToF4jbxby/i5sgCUEegLi4oGLDa/E91nS435piOSUg1CuAIhxEB7rdSY3KIQFHPlVO0ICoZJsIHpG63jXjgazgaKLTZv3y/ILLHxQZgxW9dag9muCkSebTrr0YsyUL6EkRU6VuaoKSANB12ne+1ELPYJ1LR8vVOZRQUQ5k6Oo0mfV7Fft8OAlWVrvrlyAn9ph1KWk4zWQT61qcqgPy9Hxqfh1Ijnj1kLYenCDzKzWdmylrWw9C4MQjx4VybhZ7OjHeZ8V3L41dAP9habSEQvXbUWDgXqeK/yqHe9NG7G+iz6oTL9rxz2LcnIMNI0D+ezqp/wUL2f9D5pFwHIS/sB+UIYYpm5C31ugrlxnWxV7oauHkmcao+NZ2wN2Up9XJxuGhwp7RmWwbTHv3gGMewsC3Xe+BwNM/9U7kB03qCYkkef+ePpj2vjD0DCfC4GOnm7d9onz7SYR+tp1xUA1c0PoFEPVsW2c8R84SBiD42Vm8e+5xnQMks48UEpa//SOsECDj++Q+cjc/+gdobsWNJ1LfK6PI2AOF30XYZ9rEVJO4v+gJ5d+SVUhwmvyVwGAgUyMm1rX9USYBE5LlcGlBffMoVXjBgyjnM/E9/3dO7SaZ8wS70x+YShd5a/eIUJqdugo0Wbyx/Ufo7+59Fy380LlBX2SQXVI91KhpKARBs4CANVn6/eY7hpNH+4LqDw3hwxPi7c6yO3KW/dtNnXtdvaO3cc7M47mtT3I/O53Hemnd4xuHuj7r//4+o+XBKSkM3BL/s5NoqS2pYOoq3vzLgB0C64ioQPzbnSaGj8T4OuNZGnxsGLMQzaz8z2wykUJsxmgHq0e1Q6FLIClG9GuT8gKspz1MLlo/naHy0cXj5I7Hj267/VNViWlE/b3m8qqiHL8pwDA5MI0nUgYDR04cuTZ1AZL7I2AyXi67UEc9DrKMg3aEWXALqmsAdfdnzBOPGed6+SD+JkniKbK7s02o+mHJcHDR8wx1ta3bX3uoV5qrm7t0r3TU/0wDEN6AYvH7UxYhjP9nMhVg/aETTteBeL+XhV+WGOwvY6AAWEBGuh2A0dIBXUi4ecNMYrza07XS/1Ugj8siNnncoM97tyOhlh9NkNCEFc227sAkEbfF6hc7jOWbXs0IV05/+G7rdfcSjRu6RTYEzVK03OEd4LcXgyqRJ/3aKgPgo30jHr2gru2o9/9OP+V4BxQ65Rdl3qdF/DzujG2G3il4n4XAPy1SjgjY74lgc++E663Y0Z7ZPOXG93fAx26vW8d94hAd8UwiVFzUK/juRKaXxXMgc4gPwgzeUIyxJB7fL7/BTWzp7iHfcs+eHtxKGG/stvRgmGhPwWAjtD+UZMl8qfMbMGs9jT0gqTPgnhtV0nXhoBH7a+mQ+ga0vTsMRLqEpII2xJr11HW/YwzaUpoG9wsx/+A+uP6iRpLuppSiPfFxPCiFcTCyPbITwFg+sjnhcqyu4aPPCHzjVsQnrhOd9n0tmHE3Pi2olqAjsB4iVxSdHaaAdJeWkrt3WFcKAHKHshamVBFlo/r/+4gMYqa3qMFoWiO4Ped7HkGMPdTAJBMIch5Ds1RA1APzJ4Q7SNSQNOxJjSvYZ85EAInMskBnsSL4LZJFaxFxzhYyfhJctXECjSoE5YqeZ79Yh/Pf4vLvNMaLyOJDXiw3dHcO8YyUn4XAKqLAfXiGdbhTzfP7aJo75PVmFWO814Ip2sE9A27mqXjpyjkvqAspYifMhiH/Ncpz0MH9zoo2ZA7lxxRMz69/jThKfoliPnUYjbuF0I4Af1coBQfswBwtfWayeyrZTzquu1T6bkQkILY7Nor02pz8MRwjIS4CN8lPCYZdHszP4yjCKx8TgYpcDcRYpnUAn/u4+k/1GGkaeREE7VXbAh/khYBob3wiFiXnwLAWto+O3X4nSmka28DKSNX4cjNU5purmNSvXj0lHtbwHNYdjGkrDk1iRFfrBqsMEvpGPXBGIoRttWZN9o+ngBUcKE1h4u42bSkbBozpVP8Itid6kzuvYhYkOqF552rW+E1bfah+A4Mur9RAD0idX32kcZwz5gqeI1i9tWJuu7jl+MjaU0rs/lAu1ohkAn+t8+ufmrg0lmU3awVGJGhtNIkHj81ipWgbQZ06nWIXSCHJY5AjvfdhToONGg424O4mKG7dHXsFzPAO/oKzpFPpDFBL3KLvwS+mQUKG8YRz1IqNcDH+//L7GncJmojBFkeMjq6JFoIKGGtZOZA3z4negqeFAaE10wQrK+zrNsCF+uHtqm9NlqQ0cA4fGAbxjbdIgLljFgBMd9fgA96BScQDe5GLan3u9GP+z+w+lheAvILQTo/MQiiBzvYzGgvSxieVkIn9QcM/HZPbhIfGc8ERlPygrzJDPUGxqTqsO/M3lF7PWtoN5nAF03lr8B3WFH5cPxcdu/Nk85PL/+2LsX22vG5CvSNTjO3zUhLUvDJbIpLliKbcR0P8pQeiV5X3ASzaIG8MXd0+R7joAtoQAcCp6zRM/BlEh82/k58lpIXtsGpi0k7ee6P8z8fAzh0WwaDW+khkQv6pbUkLB/Orkytt2WWIo8FeqblJUnehkHqa9zMFxFS5GwhM3X6OODagXkT3+s/E1+eV8XpvSmDQWJD0vXp9U/5IXJ6v4RhoqQ1U7HNbtaXo7OIESPCFDz9NDN5j9w2IqoVoNJS/erR9N+DQ4GCUQTlvyY+uFuPvCMKQgBIzce933t2oWXgBddrT8PXVMlscSiPVUgD8M21aI8PDLvdlDgQuixAdLC19sjD1YJM23twCLQZlfwfiS/YKstMIo0UZF95DB/vf59rLDTuC0fMlv3RYkQ+LMHPLm9rEiL9RDuGfDeWWy4VHLVE1kPtF0GcnxHkI4lpx+bpbP/8r4nPn6FJ1qzQFvII4vPeH0S/cb1dK94YZUUJlfKWX6stLaCZg6YL2rBjqRybs+jngF74v6VM9BKYcbExfhHrEEOQ30OT/5T4nkOTOaGOCGdOjRHk8/3/+xqT9UjIBDhCFmto6uerSsGOI1qkLWD6VoFvp5lNy2EgOXIYERckABPu1boUA1otvGjza2jyHwofP0OTJLcJ+16W8XTEj/e/OWQokTgWUN2FXdq2mqPXd1sSogF3bBjpzzu1jGSV1G6X14b0b85Lq+iNZPkMSBqm3oQoRPqvha+foUlu/EnMIE3v4/xfKAD5gbwOGfAanJIY7vA1KTYSSC/29cxZzTGHuCCxUVLmjGsfLG7L1vtYSL2tBsqJ8A6Rg8rLPxQ+/xiaZGaTBAHnJjazf/z8vV5FfxVKlm2LEhSq6XTeyHulQ5e1m73MQ6wCY2C97tkwyoV2HjUdw8J4POSD81w5WQK33f9j4fvX0OR9MdowNiLXtCHWj/Of6znqZGw6J5YM+zFIIsE8SE62AiZdC8Q1z/aPNrY5xyEWSe0xOyKQyR747ll4Qc/XSy2XefV/bXxofx+aDGQcDaIiXfDP1//b67kIVbkuYWurZ2JidzI0rI2m/ZiDwGotuSBRDqrMwgBPZJYt1gTWwTpOihQJZEenl8ulTdn+pfHl+PehSQlW+Ec9s1f4fyEBcjbpm3fRSDPzsRi7FvvScCLxHdfbixcMAbmhgqMjZzYqeKU5H/CuhO9re0iQrjxXkKj2CO3cQhZR341P578PTVYEEfmFe0to9Z9ePMxGfxWJVw0dPOS1TMCGx/06dyR8sG9ZgJwtUV08E8qrzdoh4SHlnrn78EbPHnFAEH0zZqFS+CUdu5iNbxXEvw9NjqPQBnKvRPXy8f4PK8tOfOxZzVn8mY42/Wobl3IDMdExFWs0+PppJ1jJGfxmg1w63GWu3rz3INx+uVA5muXSMe3fjY+zCvYfhiY3jjhRoWFwZfXH8e+G6PaINSA5b3OmTdp5lwn1SwQt0dt1iqR1Fjnm3AdCZHg3SIdWmb7W2CamXw+or50hQ/KjbAEYZ0wOIP8wNImxf7d5U/cCpX18/nHZs95r0PDsAdn6zGKuczoBZronL9D8gsAOHeO8s0Ah/l0luYPceiPXPcRKpHPHYDOXf1cgZXo8jVBJR/IPQ5OCrvswqEDoNO3H+78LA9XeHvs1uAI1Z7WVeP9jju1Uv0f03PtVGfQjr1LUG0NDxj90ZHjHHPSG+ExgjMaBOKf16+lkZ3NU4j8PTTZ9LAwCX52akyAfllyCa9msBN74nmx0zoRsr3OgizptIjLX4zW3YgFlXF0IXPIMy5vc5Ht4Yd9Mb7mLUdN/bFB3SzeN7Ok/D03upYkAXmEs1R9f/mxiKNTAMYc/8b/rgwbt8w7PM5MdhN2MXjei2/Y68BCFy96Dw8NeunVzrM+acUK5OCrBjehogEd4jB+wWf4PQ5NtNQKDTX7te1MfZ8A5buiRUliWHUN9W/mrixefaAdPznRDm5cxI1cz6Acqmvs6O70mXxiHRxTb24K0JpxIfInd0ODB6DWCTJGJ/zw0yYPv8lxiBab7x/u/hhGXRD9dZk17VjYqglPkPIeb2dtlmY0wLKAhq9gNQbTL2L685/aF5KH2jEu4CJ9tpJxtncHG343DcoudvU/3b0OTraSa/LwyiQoIH/d/1uEjg8NwJyS0RpDLv0Ah0nswnhdWhBGmWVep2MJvZa0sqYonqotIJ7q/92Dncv0xzuLa6BWDI5rNvw9NUlOWGt0QE1m6j99/klpCHdBoxHyWeLK3SPNADTbbWXppVx9shHdRE8EMERzhfYJ5cQ8Xc+Ct7LMhYKuzH355I6ItTxjdC9WRqva3oUmiWJX3kG3WyxEUf7z+B/GozHnP8YHR9Z987/wqMG9AooEbXduTiV4oYFAPEcpx7avCg3a2rWVmtwHpz3buJ5pPQT1CgPsejIPdgnDk70OTSiMKvKgQDNaeno+n/3GV5jWxDVLRw+4XuoDrgXdWJu2FKQzUqYPZbkBwb++N57Jd3cx7M6x2tjoL+g4Yx/q1ht7DWZHozWYqYVfv0l+HJicKSmswbqWJoq9EuHjoj/t/C5RcL0iT3MzJRAzhdQPOcQ9allzajEcr5ZW1WAt/7FqlVD56JxE3+VGHgXERm4S5jr65yYztAiNL4lIu8i9Dk7sHVtbcZ8dR18isqOXp4/MfXAviEOxguLc/ZNzbFzF5s5TldU3bNsa1OFpYXTjD+F5whap3UesWRb7nDSYI74yHrTEWZnITUpoDwUtp+/Hn0CQQR6QWzhPT8NTdnJ2P28cB0JUYHoyv8GgzJ4HArsL4lLeTBsd7vBwUAbGaHh47O9Z+RqD2S+4zN9BrmhSWzHU8CHD2tWTKjuXoiCtDqH8ZmqQImQyNUuEPkfdNernGj+e/NxspbgDSgAip5gT21CBsRQMORx0bec1svYc6EsyR/0mN3u2Sbx+xQuw8QVyOjJpcNo9k8Oj9RqbgcR/gz6HJhVGJW+K1MTxrqO7dTsM+3v+XUyV864LO0JXvcwFUdcZsZcH1kmKaQX1BuOvm7RaezbT+MeP9GzDAQXsfyUv5k8qYGxTTurx0atEH8sfQZBZMST1yngkRD6JQUmfz+8fzX0xiuFKzo+kNxZ7rEGw/q+KQlJ4pIbDWW6uJRsLmCG/W5wt3aSYCa16UQ1YodEBw/Fcy0/eyDvN7aNJ4gUiXR1JusgTNiYxlEQRDYvp4BdSJsIGq6TZHwbOp9x2RrI1RhdZkMjdczNirZJxTkRvJPVy7RgKnZiq8MOmRHQPbowDcDk9QA5D6xzUocoRa35kTeFGREFoWPgilfkegQWUeTi314/n/aln03DeX0r5uO/puP9O5IlC3r3jSfRaHt5UaFhAdL+BO5PYYAN5XOt2KJrSX176G2Tp4IgzqraXRgxA7hsRS5xTtjpS5FwyBrmPkm4XRmfWx8dwV/fz9F0VsbUfCp2E9jwsXaAjyFsKoQkdf5nWFs9dZblrsq61GWXMg9FXptSIVek0bJss6y91HbrgBz3XtLvVEWIkag8k1WG4UHJrBofYCmzvefbbUqyVYTz+9fjIm+d3YHO64B0ZyamqiERiiHYU4iJsLeUHKxuQXKrFXEAkRobMTiYCp0hBJkNIRmPcEkzkvuad1gmIp9YFas2wYOusMc+G8DrkgOLIINcDASvWaPn7/abSBnIGQ0POYSTyQa53tDsK2DYjZpONeolPXeJpbi+gHstZzDoCtR0QXuOEWwOMohgAriZciRaO5s0hu1oZBX5vhXEawC1r5vdkZJdLMG4uSxNI/3v80YLUErKx3ndceX3vZN6EcHBK5ECL03TCrWe0G8a5Ak2Z9mKW2yf/nxVBFaq9tyNp2Ou9RyB4diL8E79Leck6+r1t3zPSdeuAq9rGKNRwIi2M/omofn//lGJSslGadN7W1lz9LX9EaUJ3RJywgc1oob1QNfJHqw5NcLSXq6JSS+2iEkux5g8H4xfPKXAljSy8XCcunWUfUu9qQ/oaNEtF6JmMiDCrHKCzf0X/c/7d57UWfcSiaeQeYW/W8shxxYOVhoDdYxLzd4H4Q/8H+pL5SrqXQL+bJe2iSaIXxzCKmZ/jDGhE9dwiYjvfdoPvVl4iKhD/60+n/zLaRdRJOHWh73GcXD/P6P3Rxqp6Ibe0s5aJ1olv3WcLz2m90/wahK/SAFCGraGba5y4yXezduT+HJpWcd0HhUoi0vkbDxL7rtr4RVWWtgqsHJf2dZM/LbAIbs2n4gYva/nH+l01zJuc2mVibdxYtJs4eFlntvoUzKKWtmUc5kax7Y9eBzNasx78PTebdO6Oirekcdt7w+oBugSKXzggB7WK1HbkpBL08g9e+zdzxh2Vf8DG2FR38nHDo6PfnfferMTH03UYjkd9ZWIOBcBWkcRQaXZfcc45/H5osW8IlKiYcoQaxQIMdRLxm88PSuUGH2Zlmc5QMvcssqIPePr/+M1nPHNSVFwg75zojaEVMrNedWwFST2SLyhFeR+maQY3LqWbfflkh/cvQ5EXl6hjxCG4Xtw70/DCvfsXgL6tBDt3ygQqWS+Vt94IBsRA+Xv/dV1micYYitQESE6XiPBgI0YZGirLO6ypjB7m9Ohp423eEfKTNnnetlyX9ZWhSZ7Dl2PoB5tzmZL8557T8zJWqy8N2njPAdg1EZ5mNaOc+Pj//8jPpiWifWURrkGdD4ygDyrkQwoOq1JWN9NdTyQG3hqzUnHzoDREyUcH8OTSpKPG9P09HFJVRMzSFDWbrY2OztlBvcANUgFlhg5ZXKKM+H8f/QK1041g0iGDwTEem2Z5wlQiLyYTjYe/jmsWwbB5cpFs5gmP7Mjbz4lUOfwxNNmYsuoryvMsAJ5sXpBGFBp5D0NbxNPhpPET3bgSy76Ej+Hj8l9CzDUh6Nee+D1uqCrJfqc/Bt+gbtFF0nMFtiXZOy0NfzPFgoId46NH84n4NTWIIDXMAFtcUUEV4u4bH2Ic74sD3Y1fBF4wqblwCmNY/mf+P1792gzpPCPWxM0Bmvh+DwtJSzybGZdvy9fMdFe/HbQWWW23ZnEMHhIfqNWYXKPwMTdbk1tlOaQO/jllY0HjQqBOl5tU9pzQKecRIGE+RPOSeMHyaj+d/HBMz9KXMEAjMW//2Qgk6f2QxkSJa2U8kK0t492nMkj3vc5jlSrj+gNRnpojIDAV+32lbUnonhhi8mgfGRxWeI692kZd92j6lP1d+cB+vc8+gP57/a7PeQffXS8NyxbXExc5rQJZJ8Hw+Xnjwc7g//VzV8GAsRBvo5PXMkgGpjLCO+zWvB+mdVwMXj9v8yV6jE+j453cLgETTGbVNB4jhFvhYZl84PCV8HgATOF/smYlwElDzMYaF4+6EV/7AbG3fg5iTimY/NJ79vLs6vfLMgQ+TX6PUlHYg+48d+03gO2ueOnDN1n+yHw7iHI1f1vnhc2rYjnF3XSRGh6N9HP+iFbt5qw3X1/ssYhgn1eiwTofO/j3Ub7n21vTUMCwK9ajH/7q74n6Wxk2LHoPE+wpZlVK0iaU04jYrIY+UfUB+dYdqsGN0nUPU+uD1UC7FWSj9eP/Xjo+gvdd6tT83EjDGV1hG3KO+bxsDjBu9t6+LM3oOi4GKgDAIf7AWrhDBYzioUqPqR7GiZx+bMOD2EwwCplSXVesa+PKEvbsEi513rSIvNLPe1o+P97++7kO+UWBbBXtPs5MEumPIbq9dlQO2K5V723ut57ze1c4LThEhgTOVgTyu3sdW7YLseXjpLCFDCuaZYrIuoOoIbGbW1+XB+CcOhNLBXCDXn87P7ePrZ3UsEM68t7iady0vFvTfM9ul+brx7U6w7eJYKJtjDYOO0+Jv9U0RRPCRc8oZomG3I/wjMHtjDcHIwPAltXVEV0NCAROlWoBB6c1aNrss2I/n+3j9CyhaJYextdjnd4DRwOGKSGIGaFRiMvn+PCT3xipjwLzmCG5r97OUX/fXkJXwq9D3vyN7RCtCEDyZIeLH/FMvvGf/A8OPYPg5lK0uXgddn4/Dn5nGQ+3MKz6Z7DPvgyuVBf01xutdpAZxnYeExHCmaicKcq85tbxGRMisKX46DOPoE7qflzlHbdzsk3gykqX5LT9zBpZyYUcieXZVs4FwYTtSDw8Cq+fj+PfEg5wXIMxBn1wmF/q5kwr/P40jxAfsbgnb7TDaZWWNvbSTZH5vknHltq2vIQAhx7JQXkgpPr5vtevIkS6uxLwIkdS2PUh5uxk3tFO0LU0CvQrhP97/9Dh5o2O2zhGZ36dxE4R83CMI3jUi+TLQkQuHbLVtI5f9VYnRyg677P1l/M6kzlaGzshiF02QFIOkzZgF92pBzGM3Br5aHwrkXT4LNL1nYvYKxBX98fVzCTJXUnMVS2cD7TbeCObnDSdzOHEfG3rxVFRblFKbW3fEAM0pSYuXOfg1eKWO3Fdq/doNI5Qhbk4relCSxNqUE+IJwUsQZ+Kywd5URYwsB8IBwfnH6z+zpXvpXlJ/qETdpT20BFKldV56w65jr5Kns8wHpSZEDrwEiSdpNzT4UxXLSr0c35SP7SZIpeZVqRtH4LscWxH7guFjcgjDzaaBijz6kouhHte/fh7+iTR92oUYnu1oorDOO6/88mxwQVrwtCWSWNRaFjt0rlE/hBOx9/cdDp7zeZnvazErxrN1NsIdW6upzNbohgzhRPWZYzS/xpza89DdKmSElUIjIX3e/2U+x3NhbWihuf/qRzNjXuce5pc4dTnzvLWVG+K4iN+Cz1XpeYeHQjtmCyJZkGk91kSnCz3K4hyCwTSR7YomoY6S3td8vkP9k9Izu8T3mmdd2H78/ptXZ2oGaFNJWFUOk5EiMUE1Rh5/cjQG1xJ7/OHc60Hkl+lsap93uFTwzuGW3XQ2PB3vL07BoCCNXPuk9fOrUqV0x/sOmGF8DMZpqMzNPolULppXbz4+/3iMlc+vvFm85sh757e3AG0sB0qye2dnfcl2finqXQ8X0eZzIT93+Oj3WJuJgebomB5Hl0awpWwhN46GVZzWfENu4RZm77OFOi5AbXElrsHoh5Sxf9z/01IGF3U/By6Wjzqv6GFC67zWuszMD0UjRxyDZyd5WKtE5f91h1NXuuSZx4pEKYyYMjHX0bUZiVa1iGFnV6zgUI6zsnGNveerz8iSzwsDzRZzlB8/f8K2lUDlZyIpqu2q56lzXNZU8uL0e94B6qtmM2f3iW8C0f7PHV4Qdzpe67wiAJXde7kYqmQjsxUYIc+GdOB9qSxuxnlXRkt2CI/ChFiUEjSWg3w8+41CKwSg6K7COIhpPY8tO7QIs1gJNRxsPS94bOrzjneVluX3HW6zXewgChngK1Pb07wse9WeAK8v0JTiVgCh+7srPDwN2MwIpK7AbyAen+Le5+jUh2VOcPleT//+FrzZ+Y5PdgtxUrYgoxN3SAFGM/vdgd89b/2PO/xgfmuSUs8Dd0Pfz+2ylHXCpuMZa6FqRZgTfPuJcc+pjtQUBIJLVizPC+DPKj/e//54a+HcfVGQeMFVuekTBpwvTdv83gPEwuGBPZ0LpNWwcP2+yuY954qQCB7OXnj6QhbLj/cX3tpLeKun00DwW5DyzkmZvtRZQl0WVKqm4p6QB5mP5//60UtxBckuAuG9gFDW23cb/7zD00FHXPSaV8LPi4HY4jn54w7PMlMes5flQVzok1lcnN95Pceo8Edq977M6cf11aLCTe5AGuKMdNSCtoR2A0R/vvyDDnrOK7LZzEIOxLpct5+s/LzD1ayF99nrNsvba5k2TP64yqbaUt9fcv1unWx8VUHPrxA8EQqiuct8prIhgrg7uhLBOJlfMdxn6XPejfnGQ5+H/7/kIAs+6lZCiX7mLLa5rhmgy5hf/yZmmeTVanDxL1fZ1I3Kd2EA+U8gvJqwSAwSM8nb+/6+AUlgmMjyddj5Fbv1uDHqzaTJ+7cIyM/3/3/lK1/5yle+8pWvfOUrX/nKV77yla985Stf+cpXvvKVr3zlK1/5yle+8pWvfOUrX/nKV77yla985Stf+cpXvvKVr3zlK1/5yle+8pWvfOUrX/nKV77yla985Stf+cpXvvKVr3zlK1/5yle+8pWvfOUrX/nKV77yla985Stf+cpXvvKVr3zlK1/5yle+8pWvfOUrX/nKV77yla985Stf+cpXvvKVr3zlK1/5yle+8hWA/wfdmhmZdymm9wAAAG9JREFUGJW10DEKwlAURNETUbEWEUGwtv/7X8KswA1YayCCxbeJ8BXBNJlqHlwuj+lqraZmMZmcFV6+SyllhQtOX8wdhyRDa37ijNt4d3jgmGSArl2jlAIbXLHGPkn/8+ckRtsOW/SN5NP8L/NN9wKnXh+mOmZQKgAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/_backup/latest/markitup/skins/simple/images/submenu.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAsAAAALCAYAAACprHcmAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAACCSURBVHjaYvz//z8DsQAggJjQBUxMTLhwKQYIICYsYi+AGniwKQYIIGyKeYH4FTYNAAHEhMNGTqgGdmRBgADCpRjk6x9A/AdZECCAcCn+AMQSZ86c+YssCBBA2BQ/gCr8hS4BEEAMoHBGxsbGxizoYjAMEECMpEQKQAAxMZAAAAIMAGsVNanzZRR/AAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/_backup/latest/markitup/skins/simple/style.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQovLyBtYXJrSXRVcCEgVW5pdmVyc2FsIE1hcmtVcCBFbmdpbmUsIEpRdWVyeSBwbHVnaW4KLy8gQnkgSmF5IFNhbHZhdCAtIGh0dHA6Ly9tYXJraXR1cC5qYXlzYWx2YXQuY29tLwovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoubWFya0l0VXAgKiB7CgltYXJnaW46MHB4OyBwYWRkaW5nOjBweDsKCW91dGxpbmU6bm9uZTsKfQoubWFya0l0VXAgYTpsaW5rLAoubWFya0l0VXAgYTp2aXNpdGVkIHsKCWNvbG9yOiMwMDA7Cgl0ZXh0LWRlY29yYXRpb246bm9uZTsKfQoubWFya0l0VXAgIHsKCXdpZHRoOjcwMHB4OwoJbWFyZ2luOjVweCAwIDVweCAwOwp9Ci5tYXJrSXRVcENvbnRhaW5lciAgewoJZm9udDoxMXB4IFZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Cn0KLm1hcmtJdFVwRWRpdG9yIHsKCWZvbnQ6MTJweCAnQ291cmllciBOZXcnLCBDb3VyaWVyLCBtb25vc3BhY2U7CglwYWRkaW5nOjVweDsKCXdpZHRoOjY5MHB4OwoJaGVpZ2h0OjMyMHB4OwoJY2xlYXI6Ym90aDsKCWxpbmUtaGVpZ2h0OjE4cHg7CglvdmVyZmxvdzphdXRvOwp9Ci5tYXJrSXRVcFByZXZpZXdGcmFtZQl7CglvdmVyZmxvdzphdXRvOwoJYmFja2dyb3VuZC1jb2xvcjojRkZGOwoJd2lkdGg6OTkuOSU7CgloZWlnaHQ6MzAwcHg7CgltYXJnaW46NXB4IDA7Cn0KLm1hcmtJdFVwRm9vdGVyIHsKCXdpZHRoOjEwMCU7Cn0KLm1hcmtJdFVwUmVzaXplSGFuZGxlIHsKCW92ZXJmbG93OmhpZGRlbjsKCXdpZHRoOjIycHg7IGhlaWdodDo1cHg7CgltYXJnaW4tbGVmdDphdXRvOwoJbWFyZ2luLXJpZ2h0OmF1dG87CgliYWNrZ3JvdW5kLWltYWdlOnVybChpbWFnZXMvaGFuZGxlLnBuZyk7CgljdXJzb3I6bi1yZXNpemU7Cn0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLyogZmlyc3Qgcm93IG9mIGJ1dHRvbnMgKi8KLm1hcmtJdFVwSGVhZGVyIHVsIGxpCXsKCWxpc3Qtc3R5bGU6bm9uZTsKCWZsb2F0OmxlZnQ7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKfQoubWFya0l0VXBIZWFkZXIgdWwgbGk6aG92ZXIgPiB1bHsKCWRpc3BsYXk6YmxvY2s7Cn0KLm1hcmtJdFVwSGVhZGVyIHVsIC5tYXJrSXRVcERyb3BNZW51IHsKCWJhY2tncm91bmQ6dHJhbnNwYXJlbnQgdXJsKGltYWdlcy9tZW51LnBuZykgbm8tcmVwZWF0IDExNSUgNTAlOwoJbWFyZ2luLXJpZ2h0OjVweDsKfQoubWFya0l0VXBIZWFkZXIgdWwgLm1hcmtJdFVwRHJvcE1lbnUgbGkgewoJbWFyZ2luLXJpZ2h0OjBweDsKfQovKiBuZXh0IHJvd3Mgb2YgYnV0dG9ucyAqLwoubWFya0l0VXBIZWFkZXIgdWwgdWwgewoJZGlzcGxheTpub25lOwoJcG9zaXRpb246YWJzb2x1dGU7Cgl0b3A6MThweDsgbGVmdDowcHg7CQoJYmFja2dyb3VuZDojRkZGOwoJYm9yZGVyOjFweCBzb2xpZCAjMDAwOwp9Ci5tYXJrSXRVcEhlYWRlciB1bCB1bCBsaSB7CglmbG9hdDpub25lOwoJYm9yZGVyLWJvdHRvbToxcHggc29saWQgIzAwMDsKfQoubWFya0l0VXBIZWFkZXIgdWwgdWwgLm1hcmtJdFVwRHJvcE1lbnUgewoJYmFja2dyb3VuZDojRkZGIHVybChpbWFnZXMvc3VibWVudS5wbmcpIG5vLXJlcGVhdCAxMDAlIDUwJTsKfQoubWFya0l0VXBIZWFkZXIgdWwgLm1hcmtJdFVwU2VwYXJhdG9yIHsKCW1hcmdpbjowIDEwcHg7Cgl3aWR0aDoxcHg7CgloZWlnaHQ6MTZweDsKCW92ZXJmbG93OmhpZGRlbjsKCWJhY2tncm91bmQtY29sb3I6I0NDQzsKfQoubWFya0l0VXBIZWFkZXIgdWwgdWwgLm1hcmtJdFVwU2VwYXJhdG9yIHsKCXdpZHRoOmF1dG87IGhlaWdodDoxcHg7CgltYXJnaW46MHB4Owp9Ci8qIG5leHQgcm93cyBvZiBidXR0b25zICovCi5tYXJrSXRVcEhlYWRlciB1bCB1bCB1bCB7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCXRvcDotMXB4OyBsZWZ0OjE1MHB4OyAKfQoubWFya0l0VXBIZWFkZXIgdWwgdWwgdWwgbGkgewoJZmxvYXQ6bm9uZTsKfQoubWFya0l0VXBIZWFkZXIgdWwgYSB7CglkaXNwbGF5OmJsb2NrOwoJd2lkdGg6MTZweDsgaGVpZ2h0OjE2cHg7Cgl0ZXh0LWluZGVudDotMTAwMDBweDsKCWJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDsKCXBhZGRpbmc6M3B4OwoJbWFyZ2luOjBweDsKfQoubWFya0l0VXBIZWFkZXIgdWwgdWwgYSB7CglkaXNwbGF5OmJsb2NrOwoJcGFkZGluZy1sZWZ0OjBweDsKCXRleHQtaW5kZW50OjA7Cgl3aWR0aDoxMjBweDsgCglwYWRkaW5nOjVweCA1cHggNXB4IDI1cHg7CgliYWNrZ3JvdW5kLXBvc2l0aW9uOjJweCA1MCU7Cn0KLm1hcmtJdFVwSGVhZGVyIHVsIHVsIGE6aG92ZXIgIHsKCWNvbG9yOiNGRkY7CgliYWNrZ3JvdW5kLWNvbG9yOiMwMDA7Cn0K]]></data>
	</file>
	<file>
	  <filename>/_backup/latest/markitup/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/_backup/latest/markitup/templates/preview.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogcHJldmlldyBzdHlsZSBleGFtcGxlcyAqLwpib2R5IHsKCWJhY2tncm91bmQtY29sb3I6I0VGRUZFRjsKCWZvbnQ6NzAlIFZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Cn0=]]></data>
	</file>
	<file>
	  <filename>/_backup/latest/markitup/templates/preview.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPgo8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCIgLz4KPHRpdGxlPm1hcmtJdFVwISBwcmV2aWV3IHRlbXBsYXRlPC90aXRsZT4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0ifi90ZW1wbGF0ZXMvcHJldmlldy5jc3MiIC8+CjwvaGVhZD4KPGJvZHk+CjwhLS0gY29udGVudCAtLT4KPC9ib2R5Pgo8L2h0bWw+Cg==]]></data>
	</file>
	<file>
	  <filename>/_backup/latest/README.md</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[DQptYXJrSXRVcCEgVW5pdmVyc2FsIG1hcmt1cCBlZGl0b3INCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KDQptYXJrSXRVcCEgaXMgYSBKYXZhU2NyaXB0IHBsdWdpbiBidWlsdCBvbiB0aGUgalF1ZXJ5IGxpYnJhcnkuIEl0IGFsbG93cyB5b3UgdG8gdHVybiBhbnkgdGV4dGFyZWEgaW50byBhIG1hcmt1cCBlZGl0b3IuIEh0bWwsIFRleHRpbGUsIFdpa2kgU3ludGF4LCBNYXJrZG93biwgQkJjb2RlIG9yIGV2ZW4geW91ciBvd24gTWFya3VwIHN5c3RlbSBjYW4gYmUgZWFzaWx5IGltcGxlbWVudGVkLg0KDQptYXJrSXRVcCEgaXMgbm90IG1lYW50IHRvIGJlIGEg4oCcRnVsbC1GZWF0dXJlcy1PdXQtb2YtdGhlLUJveOKAnS1lZGl0b3IuIEluc3RlYWQgaXQgaXMgYSB2ZXJ5IGxpZ2h0d2VpZ2h0LCBjdXN0b21pemFibGUgYW5kIGZsZXhpYmxlIGVuZ2luZSBtYWRlIHRvIG1lZXQgdGhlIGRldmVsb3BlcidzIG5lZWRzIGluIHRoZWlyIENNU2VzLCBibG9ncywgZm9ydW1zIG9yIHdlYnNpdGVzLiBtYXJrSXRVcCEgaXMgbm90IGEgV1lTSVdZRyBlZGl0b3IsIGFuZCBpdCBuZXZlciB3aWxsIGJlLg0KDQoqKkhvbWU6KioNCltodHRwOi8vbWFya2l0dXAuamF5c2FsdmF0LmNvbS9dKGh0dHA6Ly9tYXJraXR1cC5qYXlzYWx2YXQuY29tLykNCg0KKipEb2N1bWVudGF0aW9uOioqDQpbaHR0cDovL21hcmtpdHVwLmpheXNhbHZhdC5jb20vZG9jdW1lbnRhdGlvbi9dKGh0dHA6Ly9tYXJraXR1cC5qYXlzYWx2YXQuY29tL2RvY3VtZW50YXRpb24vKQ0KDQoqKkV4YW1wbGVzOioqDQpbaHR0cDovL21hcmtpdHVwLmpheXNhbHZhdC5jb20vZXhhbXBsZXMvXShodHRwOi8vbWFya2l0dXAuamF5c2FsdmF0LmNvbS9leGFtcGxlcy8p]]></data>
	</file>
	<file>
	  <filename>/_backup/lib/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/_backup/lib/Class.BBCode.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCS8vCgkvLyAgbmJiY19wYXJzZS5waHAKCS8vCgkvLyAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgTkJCQywgdGhlIE5ldyBCQkNvZGUgUGFyc2VyLgoJLy8KCS8vICBOQkJDIGltcGxlbWVudHMgYSBmdWxseS12YWxpZGF0aW5nLCBoaWdoLXNwZWVkLCBleHRlbnNpYmxlIHBhcnNlciBmb3IgdGhlCgkvLyAgQkJDb2RlIGRvY3VtZW50IGxhbmd1YWdlLiAgSXRzIG91dHB1dCBpcyBYSFRNTCAxLjAgU3RyaWN0IGNvbmZvcm1hbnQgbm8KCS8vICBtYXR0ZXIgd2hhdCBpdHMgaW5wdXQgaXMuICBOQkJDIHN1cHBvcnRzIHRoZSBmdWxsIHN0YW5kYXJkIEJCQ29kZSBsYW5ndWFnZSwKCS8vICBhcyB3ZWxsIGFzIGNvbW1lbnRzLCBjb2x1bW5zLCBlbmhhbmNlZCBxdW90ZXMsIHNwb2lsZXJzLCBhY3Jvbnltcywgd2lraQoJLy8gIGxpbmtzLCBzZXZlcmFsIGxpc3Qgc3R5bGVzLCBqdXN0aWZpY2F0aW9uLCBpbmRlbnRhdGlvbiwgYW5kIHNtaWxleXMsIGFtb25nCgkvLyAgb3RoZXIgYWR2YW5jZWQgZmVhdHVyZXMuCgkvLwoJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJLy8KCS8vICBDb3B5cmlnaHQgKGMpIDIwMDgtOSwgdGhlIFBoYW50b20gSW5rZXIuICBBbGwgcmlnaHRzIHJlc2VydmVkLgoJLy8KCS8vICBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKCS8vICBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKCS8vICBhcmUgbWV0OgoJLy8KCS8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKCS8vICAgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KCS8vCgkvLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CgkvLyAgICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4KCS8vICAgICAgIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKCS8vICAgICAgIGRpc3RyaWJ1dGlvbi4KCS8vCgkvLyAgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgUEhBTlRPTSBJTktFUiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUwoJLy8gIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECgkvLyAgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQoJLy8gIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFCgkvLyAgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgoJLy8gIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCgkvLyAgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SCgkvLyAgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksCgkvLyAgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UKCS8vICBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOCgkvLyAgSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCgkvLwoJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJLy8KCS8vICBUaGlzIGZpbGUgaW1wbGVtZW50cyB0aGUgTmV3IEJCQ29kZSBwYXJzZXIuICBVc2FnZSBpcyBzaW1wbGU6ICBKdXN0IGNyZWF0ZQoJLy8gIGEgQkJDb2RlIG9iamVjdCwgYW5kIHRoZW4gY2FsbCAkYmJjb2RlLT5QYXJzZSgpIHdpdGggYSBzdHJpbmcgY29udGFpbmluZwoJLy8gIEJCQ29kZSwgYW5kIGl0IHJldHVybnMgSFRNTC4KCS8vCgkvLyAgSW50ZXJuYWxseSwgdGhpcyBjb25zdHJ1Y3RzIGFuZCB2YWxpZGF0ZXMgYSBzeW50YXggdHJlZSBmb3IgdGhlIEJCQ29kZSwKCS8vICBzbyB0aGUgb3V0cHV0IEhUTUwgaXMgKmFsd2F5cyogdmFsaWQgSFRNTCAtLS0gZXhjZXB0IHRoYXQgdGhlIHJlc3VsdGluZwoJLy8gIG91dHB1dCBpcyAqbm90KiB3cmFwcGVkIGluIGEgY29udGFpbmVyIDxkaXY+IG9yIDxzcGFuPiBlbGVtZW50IGF1dG9tYXRpY2FsbHk7CgkvLyAgaWYgeW91IG5lZWQgYSB3cmFwcGVyLCBhZGQgb25lIHlvdXJzZWxmLgoJLy8KCS8vICBUaGlzIGFsc28gcmVwbGFjZXMgc21pbGV5cyB3aXRoIHRoZWlyIHJlc3BlY3RpdmUgaW1hZ2VzLgoJLy8KCS8vICBUaGlzIGNsYXNzIHdvcmtzIGJ5IGJ1aWxkaW5nIHRoZSBCQkNvZGUgb24gYSBzdGFjayBhcyBhbiBpbXBsaWN0IHRyZWUgb2YKCS8vICBvcGVyYXRvcnMgYW5kIG9wZXJhbmRzLCBzb21ld2hhdCBsaWtlIHBhcnNpbmcgYSBtYXRoIGV4cHJlc3Npb24sIHVzaW5nCgkvLyAgdGhlIHRhZ3MnIGNsYXNzLWNvbnRhaW5tZW50IHJ1bGVzIGxpa2Ugb3BlcmF0b3IgcHJlY2VkZW5jZXMuICBUaGUgc3RhY2sKCS8vICBpcyB1c2VkIHRvIGRldGVybWluZSB3aGF0J3MgbGVnYWwgYW5kIHdoYXQncyBub3QsIGFuZCB0byBldmVudHVhbGx5CgkvLyAgImV2YWx1YXRlIiB0aGUgQkJDb2RlIGludG8gSFRNTCBvdXRwdXQuICBUaGlzIHRlY2huaXF1ZSAoYSBwdXNoLWRvd24KCS8vICBhdXRvbWF0b24pIGlzIGVxdWl2YWxlbnQgdG8gYnVpbGRpbmcgYSByZWFsIGRvY3VtZW50IHRyZWUgZnJvbSB0aGUgaW5wdXQsCgkvLyAgYnV0IGl0J3MgbXVjaCBmYXN0ZXIgYW5kIHJlcXVpcmVzIG11Y2ggbGVzcyBtZW1vcnksIGluIGV4Y2hhbmdlIGZvciBtdWNoCgkvLyAgbW9yZSBjb25jZXB0dWFsbHktY29udm9sdXRlZCBjb2RlOiAgRG9uJ3QgbW9kaWZ5IEludGVybmFsX0dlbmVyYXRlT3V0cHV0LAoJLy8gIEludGVybmFsX1Jld2luZFRvQ2xhc3MsIEludGVybmFsX0ZpbmlzaFRhZywgb3IgYW55IGZ1bmN0aW9uIHdpdGggIlBhcnNlIgoJLy8gIGluIGl0cyBuYW1lIGZ1bmN0aW9uIHVubGVzcyB5b3Uga25vdyAqZXhhY3RseSogd2hhdCB5b3UncmUgZG9pbmcuICBJbgoJLy8gIGZhY3QsIHRoZSBsZXNzIHlvdSBjaGFuZ2UgaGVyZSB0aGUgYmV0dGVyLCBiZWNhdXNlIHRoaXMgY2xhc3MgaXMgdmVyeQoJLy8gIHRpZ2h0bHkta25pdCwgYW5kIGV2ZW4gc21hbGwgY2hhbmdlcyBjYW4gaGF2ZSBiaWcgcmFtaWZpY2F0aW9ucy4gIElmIHlvdQoJLy8gIGRvIG1ha2UgYSBjaGFuZ2UsIGJlIHN1cmUgdG8gdGVzdCBpdCB3aXRoIHRoZSBpbmNsdWRlZCBjb25mb3JtYW5jZSBzdWl0ZS4KCS8vCgkvLyAgTm90ZTogIEZvciBwZXJmb3JtYW5jZSByZWFzb25zLCB3ZSB1c2UgJGFycmF5W109IGluc3RlYWQgb2YgYXJyYXlfcHVzaDsKCS8vICBhbmQgd2UgdXNlIG91dHB1dCBidWZmZXJpbmcgcmF0aGVyIHRoYW4gc3RyaW5nIGNvbmNhdGVuYXRpb24uICBUaGVzZSBzZWVtCgkvLyAgdG8gYm90aCB5aWVsZCBzbGlnaHRseSBoaWdoZXIgcGVyZm9ybWFuY2UgdGhhbiB0aGVpciBhbHRlcm5hdGl2ZSBzb2x1dGlvbnMsCgkvLyAgZXZlbiBpZiB0aGV5J3JlIGEgbGl0dGxlIHN0cmFuZ2VyIHRvIHJlYWQuCgkvLwoJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCWNsYXNzIEJCQ29kZSB7CgoJCS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCQkvLyBJbnN0YW5jZSB2YXJpYWJsZXMuICBEbyBub3QgY2hhbmdlIGFueSBvZiB0aGVzZSBkaXJlY3RseSEgIFVzZSB0aGUKCQkvLyBhY2Nlc3MgbWV0aG9kcyBwcm92aWRlZCBiZWxvdy4KCgkJdmFyICR0YWdfcnVsZXM7CQkvLyBMaXN0IG9mIHRhZyBydWxlcyBjdXJyZW50bHkgaW4gdXNlLgoJCXZhciAkZGVmYXVsdHM7CQkvLyBUaGUgc3RhbmRhcmQgbGlicmFyeSAoYW4gaW5zdGFuY2Ugb2YgY2xhc3MgQkJDb2RlTGlicmFyeSkuCgoJCXZhciAkY3VycmVudF9jbGFzczsJLy8gVGhlIGN1cnJlbnQgY2xhc3MgKGF1dG8tY29tcHV0ZWQpLgoJCXZhciAkcm9vdF9jbGFzczsJLy8gVGhlIHJvb3QgY29udGFpbmVyIGNsYXNzLgoJCXZhciAkbG9zdF9zdGFydF90YWdzOyAvLyBGb3IgcmVwYWlyIHdoZW4gdGFncyBhcmUgYmFkbHkgbWlzLW5lc3RlZC4KCQl2YXIgJHN0YXJ0X3RhZ3M7CS8vIEFuIGFzc29jaWF0aXZlIGFycmF5IG9mIGxvY2F0aW9ucyBvZiBzdGFydCB0YWdzIG9uIHRoZSBzdGFjay4KCQl2YXIgJGFsbG93X2FtcGVyc2FuZDsgLy8gSWYgdHJ1ZSwgd2UgdXNlIHN0cl9yZXBsYWNlKCkgaW5zdGVhZCBvZiBodG1sc3BlY2lhbGNoYXJzKCkuCgkJdmFyICR0YWdfbWFya2VyOwkvLyBTZXQgdG8gJ1snLCAnPCcsICd7Jywgb3IgJygnLgoJCXZhciAkaWdub3JlX25ld2xpbmVzOyAvLyBJZiB0cnVlLCBuZXdsaW5lcyB3aWxsIGJlIHRyZWF0ZWQgYXMgbm9ybWFsIHdoaXRlc3BhY2UuCgkJdmFyICRwbGFpbl9tb2RlOwkvLyBEb24ndCBvdXRwdXQgdGFnczogIEp1c3Qgb3V0cHV0IHRleHQvd2hpdGVzcGFjZS9uZXdsaW5lcyBvbmx5LgoKCQl2YXIgJGRldGVjdF91cmxzOwkvLyBTaG91bGQgd2UgYXVkby1kZXRlY3QgVVJMcyBhbmQgY29udmVydCB0aGVtIHRvIGxpbmtzPwoJCXZhciAkdXJsX3BhdHRlcm47CS8vIFdoYXQgdG8gY29udmVydCBhdXRvLWRldGVjdGVkIFVSTHMgaW50by4KCgkJdmFyICRvdXRwdXRfbGltaXQ7CS8vIFRoZSBtYXhpbXVtIG51bWJlciBvZiB0ZXh0IGNoYXJhY3RlcnMgdG8gb3V0cHV0LgoJCXZhciAkdGV4dF9sZW5ndGg7CS8vIFRoZSBudW1iZXIgb2YgdGV4dCBjaGFyYWN0ZXJzIG91dHB1dCBzbyBmYXIuCgkJdmFyICR3YXNfbGltaXRlZDsJLy8gU2V0IHRvIHRydWUgaWYgdGhlIG91dHB1dCB3YXMgY3V0IG9mZi4KCQl2YXIgJGxpbWl0X3RhaWw7CS8vIFdoYXQgdG8gYWRkIGlmIHRoZSBvdXRwdXQgaXMgY3V0IG9mZi4KCQl2YXIgJGxpbWl0X3ByZWNpc2lvbjsgLy8gSG93IGFjY3VyYXRlIHNob3VsZCB3ZSBiZSBpZiB3ZSdyZSBjdXR0aW5nIG9mZiB0ZXh0PwoKCQl2YXIgJHNtaWxleV9kaXI7CS8vIFRoZSBob3N0IGZpbGVzeXN0ZW0gcGF0aCB0byBzbWlsZXlzIChzaG91bGQgYmUgYW4gYWJzb2x1dGUgcGF0aCkuCgkJdmFyICRzbWlsZXlfdXJsOwkvLyBUaGUgVVJMIHBhdGggdG8gc21pbGV5cyAocG9zc2libHkgYSByZWxhdGl2ZSBwYXRoKS4KCQl2YXIgJHNtaWxleXM7CQkvLyBUaGUgY3VycmVudCBsaXN0IG9mIHNtaWxleXMuCgkJdmFyICRzbWlsZXlfcmVnZXg7CS8vIFRoaXMgaXMgYSByZWdleCwgcHJlY29tcHV0ZWQgZnJvbSB0aGUgbGlzdCBvZiBzbWlsZXlzIGFib3ZlLgoJCXZhciAkZW5hYmxlX3NtaWxleXM7IC8vIFdoZXRoZXIgb3Igbm90IHRvIHBlcmZvcm0gc21pbGV5LXBhcnNpbmcuCgoJCXZhciAkd2lraV91cmw7CQkvLyBVUkwgcHJlZml4IHVzZWQgZm9yIFtbd2lraV1dIGxpbmtzLgoKCQl2YXIgJGxvY2FsX2ltZ19kaXI7CS8vIFRoZSBob3N0IGZpbGVzeXN0ZW0gcGF0aCB0byBsb2NhbCBpbWFnZXMgKHNob3VsZCBiZSBhbiBhYnNvbHV0ZSBwYXRoKS4KCQl2YXIgJGxvY2FsX2ltZ191cmw7CS8vIFRoZSBVUkwgcGF0aCB0byBsb2NhbCBpbWFnZXMgKHBvc3NpYmx5IGEgcmVsYXRpdmUgcGF0aCkuCgkJdmFyICR1cmxfdGFyZ2V0YWJsZTsgLy8gSWYgdHJ1ZSwgW3VybF0gdGFncyBjYW4gYWNjZXB0IGEgdGFyZ2V0PSIuLi4iIHBhcmFtZXRlci4KCQl2YXIgJHVybF90YXJnZXQ7CS8vIElmIG5vbi1mYWxzZSwgW3VybF0gdGFncyB3aWxsIHVzZSB0aGlzIHRhcmdldCBhbmQgbm8gb3RoZXIuCgoJCXZhciAkcnVsZV9odG1sOwkJLy8gVGhlIGRlZmF1bHQgSFRNTCB0byBvdXRwdXQgZm9yIGEgW3J1bGVdIHRhZy4KCgkJdmFyICRwcmVfdHJpbTsJCS8vIEhvdyB0byB0cmltIHRoZSB3aGl0ZXNwYWNlIGF0IHRoZSBzdGFydCBvZiB0aGUgaW5wdXQuCgkJdmFyICRwb3N0X3RyaW07CQkvLyBIb3cgdG8gdHJpbSB0aGUgd2hpdGVzcGFjZSBhdCB0aGUgZW5kIG9mIHRoZSBpbnB1dC4KCgkJdmFyICRkZWJ1ZzsJCQkvLyBFbmFibGUgZGVidWdnaW5nIG1vZGU/IChsb3RzIG9mIG91dHB1dCkKCgkJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJCS8vIENvbnN0cnVjdG9yLgoKCQlmdW5jdGlvbiBCQkNvZGUoKSB7CgkJCSR0aGlzLT5kZWZhdWx0cyA9IG5ldyBCQkNvZGVMaWJyYXJ5OwoJCQkkdGhpcy0+dGFnX3J1bGVzID0gJHRoaXMtPmRlZmF1bHRzLT5kZWZhdWx0X3RhZ19ydWxlczsKCQkJJHRoaXMtPnNtaWxleXMgPSAkdGhpcy0+ZGVmYXVsdHMtPmRlZmF1bHRfc21pbGV5czsKCQkJJHRoaXMtPmVuYWJsZV9zbWlsZXlzID0gdHJ1ZTsKCQkJJHRoaXMtPnNtaWxleV9yZWdleCA9IGZhbHNlOwoJCQkkdGhpcy0+c21pbGV5X2RpciA9ICR0aGlzLT5HZXREZWZhdWx0U21pbGV5RGlyKCk7CgkJCSR0aGlzLT5zbWlsZXlfdXJsID0gJHRoaXMtPkdldERlZmF1bHRTbWlsZXlVUkwoKTsKCQkJJHRoaXMtPndpa2lfdXJsID0gJHRoaXMtPkdldERlZmF1bHRXaWtpVVJMKCk7CgkJCSR0aGlzLT5sb2NhbF9pbWdfZGlyID0gJHRoaXMtPkdldERlZmF1bHRMb2NhbEltZ0RpcigpOwoJCQkkdGhpcy0+bG9jYWxfaW1nX3VybCA9ICR0aGlzLT5HZXREZWZhdWx0TG9jYWxJbWdVUkwoKTsKCQkJJHRoaXMtPnJ1bGVfaHRtbCA9ICR0aGlzLT5HZXREZWZhdWx0UnVsZUhUTUwoKTsKCQkJJHRoaXMtPnByZV90cmltID0gIiI7CgkJCSR0aGlzLT5wb3N0X3RyaW0gPSAiIjsKCQkJJHRoaXMtPnJvb3RfY2xhc3MgPSAnYmxvY2snOwoJCQkkdGhpcy0+bG9zdF9zdGFydF90YWdzID0gQXJyYXkoKTsKCQkJJHRoaXMtPnN0YXJ0X3RhZ3MgPSBBcnJheSgpOwoJCQkkdGhpcy0+dGFnX21hcmtlciA9ICdbJzsKCQkJJHRoaXMtPmFsbG93X2FtcHNlcnNhbmQgPSBmYWxzZTsKCQkJJHRoaXMtPmN1cnJlbnRfY2xhc3MgPSAkdGhpcy0+cm9vdF9jbGFzczsKCQkJJHRoaXMtPmRlYnVnID0gZmFsc2U7CgkJCSR0aGlzLT5pZ25vcmVfbmV3bGluZXMgPSBmYWxzZTsKCQkJJHRoaXMtPm91dHB1dF9saW1pdCA9IDA7CgkJCSR0aGlzLT5wbGFpbl9tb2RlID0gZmFsc2U7CgkJCSR0aGlzLT53YXNfbGltaXRlZCA9IGZhbHNlOwoJCQkkdGhpcy0+bGltaXRfdGFpbCA9ICIuLi4iOwoJCQkkdGhpcy0+bGltaXRfcHJlY2lzaW9uID0gMC4xNTsKCQkJJHRoaXMtPmRldGVjdF91cmxzID0gZmFsc2U7CgkJCSR0aGlzLT51cmxfcGF0dGVybiA9ICc8YSBocmVmPSJ7JHVybC9ofSI+eyR0ZXh0L2h9PC9hPic7CgkJCSR0aGlzLT51cmxfdGFyZ2V0YWJsZSA9IGZhbHNlOwoJCQkkdGhpcy0+dXJsX3RhcmdldCA9IGZhbHNlOwoJCX0KCgkJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJCS8vIFN0YXRlIGNvbnRyb2wuCgoJCWZ1bmN0aW9uIFNldFByZVRyaW0oJHRyaW0gPSAiYSIpIHsgJHRoaXMtPnByZV90cmltID0gJHRyaW07IH0KCQlmdW5jdGlvbiBHZXRQcmVUcmltKCkgICAgICAgICAgeyByZXR1cm4gJHRoaXMtPnByZV90cmltOyB9CgkJZnVuY3Rpb24gU2V0UG9zdFRyaW0oJHRyaW0gPSAiYSIpIHsgJHRoaXMtPnBvc3RfdHJpbSA9ICR0cmltOyB9CgkJZnVuY3Rpb24gR2V0UG9zdFRyaW0oKSAgICAgICAgIHsgcmV0dXJuICR0aGlzLT5wb3N0X3RyaW07IH0KCgkJZnVuY3Rpb24gU2V0Um9vdCgkY2xhc3MgPSAnYmxvY2snKSB7ICR0aGlzLT5yb290X2NsYXNzID0gJGNsYXNzOyB9CgkJZnVuY3Rpb24gU2V0Um9vdElubGluZSgpICAgICAgIHsgJHRoaXMtPnJvb3RfY2xhc3MgPSAnaW5saW5lJzsgfQoJCWZ1bmN0aW9uIFNldFJvb3RCbG9jaygpICAgICAgICB7ICR0aGlzLT5yb290X2NsYXNzID0gJ2Jsb2NrJzsgfQoJCWZ1bmN0aW9uIEdldFJvb3QoKSAgICAgICAgICAgICB7IHJldHVybiAkdGhpcy0+cm9vdF9jbGFzczsgfQoKCQlmdW5jdGlvbiBTZXREZWJ1ZygkZW5hYmxlID0gdHJ1ZSkgeyAkdGhpcy0+ZGVidWcgPSAkZW5hYmxlOyB9CgkJZnVuY3Rpb24gR2V0RGVidWcoKSAgICAgICAgICAgIHsgcmV0dXJuICR0aGlzLT5kZWJ1ZzsgfQoKCQlmdW5jdGlvbiBTZXRBbGxvd0FtcGVyc2FuZCgkZW5hYmxlID0gdHJ1ZSkgeyAkdGhpcy0+YWxsb3dfYW1wZXJzYW5kID0gJGVuYWJsZTsgfQoJCWZ1bmN0aW9uIEdldEFsbG93QW1wZXJzYW5kKCkgICB7IHJldHVybiAkdGhpcy0+YWxsb3dfYW1wZXJzYW5kOyB9CgkJZnVuY3Rpb24gU2V0VGFnTWFya2VyKCRtYXJrZXIgPSAnWycpIHsgJHRoaXMtPnRhZ19tYXJrZXIgPSAkbWFya2VyOyB9CgkJZnVuY3Rpb24gR2V0VGFnTWFya2VyKCkgICAgICAgIHsgcmV0dXJuICR0aGlzLT50YWdfbWFya2VyOyB9CgoJCWZ1bmN0aW9uIFNldElnbm9yZU5ld2xpbmVzKCRpZ25vcmUgPSB0cnVlKSB7ICR0aGlzLT5pZ25vcmVfbmV3bGluZXMgPSAkaWdub3JlOyB9CgkJZnVuY3Rpb24gR2V0SWdub3JlTmV3bGluZXMoKSAgIHsgcmV0dXJuICR0aGlzLT5pZ25vcmVfbmV3bGluZXM7IH0KCgkJZnVuY3Rpb24gU2V0TGltaXQoJGxpbWl0ID0gMCkgIHsgJHRoaXMtPm91dHB1dF9saW1pdCA9ICRsaW1pdDsgfQoJCWZ1bmN0aW9uIEdldExpbWl0KCkgICAgICAgICAgICB7IHJldHVybiAkdGhpcy0+b3V0cHV0X2xpbWl0OyB9CgkJZnVuY3Rpb24gU2V0TGltaXRUYWlsKCR0YWlsID0gIi4uLiIpIHsgJHRoaXMtPmxpbWl0X3RhaWwgPSAkdGFpbDsgfQoJCWZ1bmN0aW9uIEdldExpbWl0VGFpbCgpICAgICAgICB7IHJldHVybiAkdGhpcy0+bGltaXRfdGFpbDsgfQoJCWZ1bmN0aW9uIFNldExpbWl0UHJlY2lzaW9uKCRwcmVjID0gMC4xNSkgeyAkdGhpcy0+bGltaXRfcHJlY2lzaW9uID0gJHByZWM7IH0KCQlmdW5jdGlvbiBHZXRMaW1pdFByZWNpc2lvbigpICAgeyByZXR1cm4gJHRoaXMtPmxpbWl0X3ByZWNpc2lvbjsgfQoJCWZ1bmN0aW9uIFdhc0xpbWl0ZWQoKSAgICAgICAgICB7IHJldHVybiAkdGhpcy0+d2FzX2xpbWl0ZWQ7IH0KCgkJZnVuY3Rpb24gU2V0UGxhaW5Nb2RlKCRlbmFibGUgPSB0cnVlKSB7ICR0aGlzLT5wbGFpbl9tb2RlID0gJGVuYWJsZTsgfQoJCWZ1bmN0aW9uIEdldFBsYWluTW9kZSgpICAgICAgICB7IHJldHVybiAkdGhpcy0+cGxhaW5fbW9kZTsgfQoKCQlmdW5jdGlvbiBTZXREZXRlY3RVUkxzKCRlbmFibGUgPSB0cnVlKSB7ICR0aGlzLT5kZXRlY3RfdXJscyA9ICRlbmFibGU7IH0KCQlmdW5jdGlvbiBHZXREZXRlY3RVUkxzKCkgICAgICAgeyByZXR1cm4gJHRoaXMtPmRldGVjdF91cmxzOyB9CgkJZnVuY3Rpb24gU2V0VVJMUGF0dGVybigkcGF0dGVybikgeyAkdGhpcy0+dXJsX3BhdHRlcm4gPSAkcGF0dGVybjsgfQoJCWZ1bmN0aW9uIEdldFVSTFBhdHRlcm4oKSAgICAgICB7IHJldHVybiAkdGhpcy0+dXJsX3BhdHRlcm47IH0KCgkJZnVuY3Rpb24gU2V0VVJMVGFyZ2V0YWJsZSgkZW5hYmxlKSB7ICR0aGlzLT51cmxfdGFyZ2V0YWJsZSA9ICRlbmFibGU7IH0KCQlmdW5jdGlvbiBHZXRVUkxUYXJnZXRhYmxlKCkgICAgeyByZXR1cm4gJHRoaXMtPnVybF90YXJnZXRhYmxlOyB9CgoJCWZ1bmN0aW9uIFNldFVSTFRhcmdldCgkdGFyZ2V0KSB7ICR0aGlzLT51cmxfdGFyZ2V0ID0gJHRhcmdldDsgfQoJCWZ1bmN0aW9uIEdldFVSTFRhcmdldCgpICAgICAgICB7IHJldHVybiAkdGhpcy0+dXJsX3RhcmdldDsgfQoKCQkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkJLy8gUnVsZS1tYW5hZ2VtZW50OiAgWW91IGNhbiBhZGQgeW91ciBvd24gY3VzdG9tIHRhZyBydWxlcywgb3IgdXNlIHRoZSBkZWZhdWx0cy4KCQkvLyBUaGVzZSBhcmUgYmFzaWNhbGx5IGdldHRlci9zZXR0ZXIgZnVuY3Rpb25zIHRoYXQgZXhpc3QgZm9yIGNvbnZlbmllbmNlLgoKCQlmdW5jdGlvbiBBZGRSdWxlKCRuYW1lLCAkcnVsZSkgeyAkdGhpcy0+dGFnX3J1bGVzWyRuYW1lXSA9ICRydWxlOyB9CgkJZnVuY3Rpb24gUmVtb3ZlUnVsZSgkbmFtZSkgICAgIHsgdW5zZXQoJHRoaXMtPnRhZ19ydWxlc1skbmFtZV0pOyB9CgkJZnVuY3Rpb24gR2V0UnVsZSgkbmFtZSkgICAgICAgIHsgcmV0dXJuIGlzc2V0KCR0aGlzLT50YWdfcnVsZXNbJG5hbWVdKQoJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAkdGhpcy0+dGFnX3J1bGVzWyRuYW1lXSA6IGZhbHNlOyB9CgkJZnVuY3Rpb24gQ2xlYXJSdWxlcygpICAgICAgICAgIHsgJHRoaXMtPnRhZ19ydWxlcyA9IEFycmF5KCk7IH0KCQlmdW5jdGlvbiBHZXREZWZhdWx0UnVsZSgkbmFtZSkgeyByZXR1cm4gaXNzZXQoJHRoaXMtPmRlZmF1bHRzLT5kZWZhdWx0X3RhZ19ydWxlc1skbmFtZV0pCgkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICR0aGlzLT5kZWZhdWx0cy0+ZGVmYXVsdF90YWdfcnVsZXNbJG5hbWVdIDogZmFsc2U7IH0KCQlmdW5jdGlvbiBTZXREZWZhdWx0UnVsZSgkbmFtZSkgeyBpZiAoaXNzZXQoJHRoaXMtPmRlZmF1bHRzLT5kZWZhdWx0X3RhZ19ydWxlc1skbmFtZV0pKQoJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZFJ1bGUoJG5hbWUsICR0aGlzLT5kZWZhdWx0cy0+ZGVmYXVsdF90YWdfcnVsZXNbJG5hbWVdKTsKCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIFJlbW92ZVJ1bGUoJG5hbWUpOyB9CgkJZnVuY3Rpb24gR2V0RGVmYXVsdFJ1bGVzKCkgICAgIHsgcmV0dXJuICR0aGlzLT5kZWZhdWx0cy0+ZGVmYXVsdF90YWdfcnVsZXM7IH0KCQlmdW5jdGlvbiBTZXREZWZhdWx0UnVsZXMoKSAgICAgeyAkdGhpcy0+dGFnX3J1bGVzID0gJHRoaXMtPmRlZmF1bHRzLT5kZWZhdWx0X3RhZ19ydWxlczsgfQoKCQkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkJLy8gSGFuZGxpbmcgZm9yIFtbd2lraV1dIGFuZCBbW3dpa2l8V2lraV1dIGxpbmtzIGFuZCBvdGhlciByZXBsYWNlZCBpdGVtcy4KCQkvLyBUaGVzZSBhcmUgYmFzaWNhbGx5IGdldHRlci9zZXR0ZXIgZnVuY3Rpb25zIHRoYXQgZXhpc3QgZm9yIGNvbnZlbmllbmNlLgoKCQlmdW5jdGlvbiBTZXRXaWtpVVJMKCR1cmwpICAgICAgeyAkdGhpcy0+d2lraV91cmwgPSAkdXJsOyB9CgkJZnVuY3Rpb24gR2V0V2lraVVSTCgkdXJsKSAgICAgIHsgcmV0dXJuICR0aGlzLT53aWtpX3VybDsgfQoJCWZ1bmN0aW9uIEdldERlZmF1bHRXaWtpVVJMKCkgICB7IHJldHVybiAnLz9wYWdlPSc7IH0KCgkJZnVuY3Rpb24gU2V0TG9jYWxJbWdEaXIoJHBhdGgpIHsgJHRoaXMtPmxvY2FsX2ltZ19kaXIgPSAkcGF0aDsgfQoJCWZ1bmN0aW9uIEdldExvY2FsSW1nRGlyKCkgICAgICB7IHJldHVybiAkdGhpcy0+bG9jYWxfaW1nX2RpcjsgfQoJCWZ1bmN0aW9uIEdldERlZmF1bHRMb2NhbEltZ0RpcigpIHsgcmV0dXJuICJpbWciOyB9CgkJZnVuY3Rpb24gU2V0TG9jYWxJbWdVUkwoJHBhdGgpIHsgJHRoaXMtPmxvY2FsX2ltZ191cmwgPSAkcGF0aDsgfQoJCWZ1bmN0aW9uIEdldExvY2FsSW1nVVJMKCkgICAgICB7IHJldHVybiAkdGhpcy0+bG9jYWxfaW1nX3VybDsgfQoJCWZ1bmN0aW9uIEdldERlZmF1bHRMb2NhbEltZ1VSTCgpIHsgcmV0dXJuICJpbWciOyB9CgoJCWZ1bmN0aW9uIFNldFJ1bGVIVE1MKCRodG1sKSAgICB7ICR0aGlzLT5ydWxlX2h0bWwgPSAkaHRtbDsgfQoJCWZ1bmN0aW9uIEdldFJ1bGVIVE1MKCkgICAgICAgICB7IHJldHVybiAkdGhpcy0+cnVsZV9odG1sOyB9CgkJZnVuY3Rpb24gR2V0RGVmYXVsdFJ1bGVIVE1MKCkgIHsgcmV0dXJuICJcbjxociBjbGFzcz1cImJiY29kZV9ydWxlXCIgLz5cbiI7IH0KCgkJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJCS8vIFNtaWxleSBtYW5hZ2VtZW50LiAgWW91IGNhbiB1c2UgdGhlIGRlZmF1bHQgc21pbGV5cywgb3IgYWRkIHlvdXIgb3duLgoJCS8vIFRoZXNlIGFyZSAqbW9zdGx5KiBnZXR0ZXIvc2V0dGVyIGZ1bmN0aW9ucywgYnV0IHRoZXkgYWxzbyBhZmZlY3QgdGhlCgkJLy8gY2FjaGluZyBvZiB0aGUgc21pbGV5LXByb2Nlc3NpbmcgcnVsZXMuCgoJCWZ1bmN0aW9uIEFkZFNtaWxleSgkY29kZSwgJGltYWdlKSB7ICR0aGlzLT5zbWlsZXlzWyRjb2RlXSA9ICRpbWFnZTsgJHRoaXMtPnNtaWxleV9yZWdleCA9IGZhbHNlOyB9CgkJZnVuY3Rpb24gUmVtb3ZlU21pbGV5KCRjb2RlKSAgICAgIHsgdW5zZXQoJHRoaXMtPnNtaWxleXNbJGNvZGVdKTsgJHRoaXMtPnNtaWxleV9yZWdleCA9IGZhbHNlOyB9CgkJZnVuY3Rpb24gR2V0U21pbGV5KCRjb2RlKSAgICAgICAgIHsgcmV0dXJuIGlzc2V0KCR0aGlzLT5zbWlsZXlzWyRjb2RlXSkKCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJHRoaXMtPnNtaWxleXNbJGNvZGVdIDogZmFsc2U7IH0KCQlmdW5jdGlvbiBDbGVhclNtaWxleXMoKSAgICAgICAgICAgeyAkdGhpcy0+c21pbGV5cyA9IEFycmF5KCk7ICR0aGlzLT5zbWlsZXlfcmVnZXggPSBmYWxzZTsgfQoKCQlmdW5jdGlvbiBHZXREZWZhdWx0U21pbGV5KCRjb2RlKSAgeyByZXR1cm4gaXNzZXQoJHRoaXMtPmRlZmF1bHRzLT5kZWZhdWx0X3NtaWxleXNbJGNvZGVdKQoJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAkdGhpcy0+ZGVmYXVsdHMtPmRlZmF1bHRfc21pbGV5c1skY29kZV0gOiBmYWxzZTsgfQoJCWZ1bmN0aW9uIFNldERlZmF1bHRTbWlsZXkoJGNvZGUpICB7ICR0aGlzLT5zbWlsZXlzWyRjb2RlXSA9IEAkdGhpcy0+ZGVmYXVsdHMtPmRlZmF1bHRfc21pbGV5c1skY29kZV07CgkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5zbWlsZXlfcmVnZXggPSBmYWxzZTsgfQoJCWZ1bmN0aW9uIEdldERlZmF1bHRTbWlsZXlzKCkgICAgICB7IHJldHVybiAkdGhpcy0+ZGVmYXVsdHMtPmRlZmF1bHRfc21pbGV5czsgfQoJCWZ1bmN0aW9uIFNldERlZmF1bHRTbWlsZXlzKCkgICAgICB7ICR0aGlzLT5zbWlsZXlzID0gJHRoaXMtPmRlZmF1bHRzLT5kZWZhdWx0X3NtaWxleXM7CgkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5zbWlsZXlfcmVnZXggPSBmYWxzZTsgfQoKCQlmdW5jdGlvbiBTZXRTbWlsZXlEaXIoJHBhdGgpICAgICAgeyAkdGhpcy0+c21pbGV5X2RpciA9ICRwYXRoOyB9CgkJZnVuY3Rpb24gR2V0U21pbGV5RGlyKCkgICAgICAgICAgIHsgcmV0dXJuICR0aGlzLT5zbWlsZXlfZGlyOyB9CgkJZnVuY3Rpb24gR2V0RGVmYXVsdFNtaWxleURpcigpICAgIHsgcmV0dXJuICJzbWlsZXlzIjsgfQoJCWZ1bmN0aW9uIFNldFNtaWxleVVSTCgkcGF0aCkgICAgICB7ICR0aGlzLT5zbWlsZXlfdXJsID0gJHBhdGg7IH0KCQlmdW5jdGlvbiBHZXRTbWlsZXlVUkwoKSAgICAgICAgICAgeyByZXR1cm4gJHRoaXMtPnNtaWxleV91cmw7IH0KCQlmdW5jdGlvbiBHZXREZWZhdWx0U21pbGV5VVJMKCkgICAgeyByZXR1cm4gInNtaWxleXMiOyB9CgoJCWZ1bmN0aW9uIFNldEVuYWJsZVNtaWxleXMoJGVuYWJsZSA9IHRydWUpIHsgJHRoaXMtPmVuYWJsZV9zbWlsZXlzID0gJGVuYWJsZTsgfQoJCWZ1bmN0aW9uIEdldEVuYWJsZVNtaWxleXMoKSAgICAgICB7IHJldHVybiAkdGhpcy0+ZW5hYmxlX3NtaWxleXM7IH0KCgkJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJCS8vICBTbWlsZXksIFVSTCwgYW5kIEhUTUwtY29udmVyc2lvbiBzdXBwb3J0IHJvdXRpbmVzLgoKCQkvLyBMaWtlIFBIUCdzIGJ1aWx0LWluIG5sMmJyLCBidXQgdGhpcyBvbmUgY2FuIGNvbnZlcnQgV2luZG93cywgVW4qeCwgb3IgTWFjCgkJLy8gbmV3bGluZXMgdG8gYSA8YnIgLz4sIGFuZCByZWd1bGFyaXplcyB0aGUgb3V0cHV0IHRvIGp1c3QgdXNlIFVuKngtc3R5bGUKCQkvLyBuZXdsaW5lcyB0byBib290LgoJCWZ1bmN0aW9uIG5sMmJyKCRzdHJpbmcpIHsKCQkJcmV0dXJuIHByZWdfcmVwbGFjZSgiL1xceDBBfFxceDBEfFxceDBBXFx4MER8XFx4MERcXHgwQS8iLCAiPGJyIC8+XG4iLCAkc3RyaW5nKTsKCQl9CgoJCS8vIFRoaXMgZnVuY3Rpb24gY29tZXMgc3RyYWlnaHQgZnJvbSB0aGUgUEhQIGRvY3VtZW50YXRpb24gb24gaHRtbF9lbnRpdHlfZGVjb2RlLAoJCS8vIGFuZCBwZXJmb3JtcyBleGFjdGx5IHRoZSBzYW1lIGZ1bmN0aW9uLiAgVW5saWtlIGh0bWxfZW50aXR5X2RlY29kZSwgaXQKCQkvLyB3b3JrcyBvbiBvbGRlciB2ZXJzaW9ucyBvZiBQSFAgKHByaW9yIHRvIDQuMy4wKS4KCQlmdW5jdGlvbiBVbkhUTUxFbmNvZGUoJHN0cmluZykgewoJCQkvLyBVc2UgdGhlIChmYXN0ZXIhKSBidWlsdC1pbiBpZiBpdCdzIGF2YWlsYWJsZS4KCQkJaWYgKGZ1bmN0aW9uX2V4aXN0cygiaHRtbF9lbnRpdHlfZGVjb2RlIikpCgkJCQlyZXR1cm4gaHRtbF9lbnRpdHlfZGVjb2RlKCRzdHJpbmcpOwoKCQkJLy8gUmVwbGFjZSBudW1lcmljIGVudGl0aWVzLgoJCQkkc3RyaW5nID0gcHJlZ19yZXBsYWNlKCd+JiN4KFswLTlhLWZdKyk7fmVpJywgJ2NocihoZXhkZWMoIlxcMSIpKScsICRzdHJpbmcpOwoJCQkkc3RyaW5nID0gcHJlZ19yZXBsYWNlKCd+JiMoWzAtOV0rKTt+ZScsICdjaHIoIlxcMSIpJywgJHN0cmluZyk7CgoJCQkvLyBSZXBsYWNlIGxpdGVyYWwgZW50aXRpZXMuCgkJCSR0cmFuc190YmwgPSBnZXRfaHRtbF90cmFuc2xhdGlvbl90YWJsZShIVE1MX0VOVElUSUVTKTsKCQkJJHRyYW5zX3RibCA9IGFycmF5X2ZsaXAoJHRyYW5zX3RibCk7CgoJCQlyZXR1cm4gc3RydHIoJHN0cmluZywgJHRyYW5zX3RibCk7CgkJfQoKCQkvLyBUaGlzIHRha2VzIGFuIGFyYml0cmFyeSBzdHJpbmcgYW5kIG1ha2VzIGl0IGEgd2lraS1zYWZlIHN0cmluZzogIEl0IGNvbnZlcnRzCgkJLy8gYWxsIGNoYXJhY3RlcnMgdG8gYmUgd2l0aGluIFthLXpBLVowLTknIiwuOl8tXSBieSBjb252ZXJ0aW5nIGV2ZXJ5dGhpbmcgZWxzZSB0bwoJCS8vIF8gY2hhcmFjdGVycywgY29tcGFjdHMgbXVsdGlwbGUgXyBjaGFyYWN0ZXJzIHRvZ2V0aGVyLCBhbmQgdHJpbXMgaW5pdGlhbCBhbmQKCQkvLyB0cmFpbGluZyBfIGNoYXJhY3RlcnMuICBTbywgZm9yIGV4YW1wbGUsIFtbV2FzaGluZ3RvbiwgRC5DLl1dIHdvdWxkIGJlY29tZQoJCS8vICJXYXNoaW5ndG9uX0QuQy4iLCBzYWZlIHRvIHBhc3MgdGhyb3VnaCBhIFVSTCBvciBhbnl3aGVyZSBlbHNlLiAgQWxsIGNoYXJhY3RlcnMKCQkvLyBpbiB0aGUgZXh0ZW5kZWQtY2hhcmFjdGVyIHJhbmdlICgweDdGLTB4RkYpIHdpbGwgYmUgVVJMLWVuY29kZWQuCgkJZnVuY3Rpb24gV2lraWZ5KCRzdHJpbmcpIHsKCQkJcmV0dXJuIHJhd3VybGVuY29kZShzdHJfcmVwbGFjZSgiICIsICJfIiwKCQkJCXRyaW0ocHJlZ19yZXBsYWNlKCIvWyE/O0AjXCQlXFxeJio8Pj0rYH5cXHgwMC1cXHgyMF8tXSsvIiwgIiAiLCAkc3RyaW5nKSkpKTsKCQl9CgoJCS8vIFJldHVybnMgdHJ1ZSBpZiB0aGUgZ2l2ZW4gc3RyaW5nIGlzIGEgdmFsaWQgVVJMLiAgSWYgJGVtYWlsX3RvbyBpcyBmYWxzZSwKCQkvLyB0aGlzIGNoZWNrcyBmb3I6CgkJLy8KCQkvLyAgICBodHRwIDovLyBkb21haW4gWzpwb3J0XSBbL10gW2FueSBzaW5nbGUtbGluZSBzdHJpbmddCgkJLy8gICAgaHR0cHMgOi8vIGRvbWFpbiBbOnBvcnRdIFsvXSBbYW55IHNpbmdsZS1saW5lIHN0cmluZ10KCQkvLyAgICBmdHAgOi8vIGRvbWFpbiBbOnBvcnRdIFsvXSBbYW55IHNpbmdsZS1saW5lIHN0cmluZ10KCQkvLwoJCS8vIElmICRlbWFpbF90b28gaXMgdHJ1ZSAodGhlIGRlZmF1bHQpLCB0aGlzIGFsc28gYWxsb3dzIHRoZSBtYWlsdG8gcHJvdG9jb2w6CgkJLy8KCQkvLyAgICBtYWlsdG8gOiBuYW1lIEAgZG9tYWluCgkJLy8KCQlmdW5jdGlvbiBJc1ZhbGlkVVJMKCRzdHJpbmcsICRlbWFpbF90b28gPSB0cnVlKSB7CgkJCS8vIENoZWNrIGZvciBhbnl0aGluZyB0aGF0IHVzZXMgaHR0cCwgaHR0cHMsIG9yIGZ0cCwgd2l0aCB0aGUgZ2VuZXJhbAoJCQkvLyBzdHJ1Y3R1cmUgYmVpbmc6ICBwcm90b2NvbCA6Ly8gZG9tYWluIFs6cG9ydF0gWy9dIFthbnkgc2luZ2xlLWxpbmUgc3RyaW5nXQoJCQkvLyBGb3Igc2VjdXJpdHkgcmVhc29ucywgd2UgZGlzYWxsb3cgdXNlcm5hbWUvcGFzc3dvcmQgaW5jbHVzaW9uIGluIFVSTHMuCgkJCWlmIChwcmVnX21hdGNoKCIvXgoJCQkJKD86aHR0cHM/fGZ0cCk6XFwvXFwvCgkJCQkoPzoKCQkJCQkoPzpbYS16QS1aMC05XSg/OlthLXpBLVowLTktXSpbYS16QS1aMC05XSk/XC4pKwoJCQkJCVthLXpBLVowLTldCgkJCQkJKD86W2EtekEtWjAtOS1dKlthLXpBLVowLTldKT8KCQkJCXwKCQkJCQlcXFsKCQkJCQkoPzooPzoyNVswLTVdfDJbMC00XVswLTldfFswMV0/WzAtOV1bMC05XT8pXFwuKXszfQoJCQkJCSg/OgoJCQkJCQkyNVswLTVdfDJbMC00XVswLTldfFswMV0/WzAtOV1bMC05XT98W2EtekEtWjAtOS1dKlthLXpBLVowLTldOgoJCQkJCQkoPzpbXFx4MDEtXFx4MDhcXHgwQlxceDBDXFx4MEUtXFx4MUZcXHgyMS1cXHg1QVxceDUzLVxceDdGXQoJCQkJCQkJfFxcXFxbXFx4MDEtXFx4MDlcXHgwQlxceDBDXFx4MEUtXFx4N0ZdKSsKCQkJCQkpCgkJCQkJXFxdCgkJCQkpCgkJCQkoPzo6WzAtOV17MSw1fSk/CgkJCQkoPzpbXFwvXFw/XFwjXVteXFxuXFxyXSopPwoJCQkJJC9EeCIsICRzdHJpbmcpKSByZXR1cm4gdHJ1ZTsKCgkJCS8vIENoZWNrIGZvciBhbnl0aGluZyB0aGF0IGRvZXMgKm5vdCogaGF2ZSBhIGNvbG9uIGluIGl0IGJlZm9yZSB0aGUgZmlyc3QKCQkJLy8gc2xhc2ggb3IgcXVlc3Rpb24gbWFyayBvciAjOyB0aGF0IGluZGljYXRlcyBhIGxvY2FsIGZpbGUgcmVsYXRpdmUgdG8gdXMuCgkJCWlmIChwcmVnX21hdGNoKCIvXlteOl0rKFtcXC9cXFxcPyNdW15cXHJcXG5dKik/JC9EIiwgJHN0cmluZykpCgkJCQlyZXR1cm4gdHJ1ZTsKCgkJCS8vIE1hdGNoIG1haWwgYWRkcmVzc2VzLgoJCQlpZiAoJGVtYWlsX3RvbykKCQkJCWlmIChzdWJzdHIoJHN0cmluZywgMCwgNykgPT0gIm1haWx0bzoiKQoJCQkJCXJldHVybiAkdGhpcy0+SXNWYWxpZEVtYWlsKHN1YnN0cigkc3RyaW5nLCA3KSk7CgoJCQkvLyBSZWplY3QgYWxsIG90aGVyIHByb3RvY29scy4KCQkJcmV0dXJuIGZhbHNlOwoJCX0KCgkJLy8gUmV0dXJucyB0cnVlIGlmIHRoZSBnaXZlbiBzdHJpbmcgaXMgYSB2YWxpZCBlLW1haWwgYWRkcmVzcy4gIFRoaXMgYWxsb3dzCgkJLy8gZXZlcnl0aGluZyB0aGF0IFJGQzgyMSBhbGxvd3MsIGluY2x1ZGluZyBlLW1haWwgYWRkcmVzc2VzIHRoYXQgbWFrZSBubyBzZW5zZS4KCQlmdW5jdGlvbiBJc1ZhbGlkRW1haWwoJHN0cmluZykgewoJCQkkdmFsaWRhdG9yID0gbmV3IEJCQ29kZUVtYWlsQWRkcmVzc1ZhbGlkYXRvcjsKCQkJcmV0dXJuICR2YWxpZGF0b3ItPmNoZWNrX2VtYWlsX2FkZHJlc3MoJHN0cmluZyk7CgkJLyoKCQkJcmV0dXJuIHByZWdfbWF0Y2goIi9eCgkJCQkoPzoKCQkJCQlbYS16MC05XFwhXFwjXFxcJFxcJVxcJlxcJ1xcKlxcK1xcLz1cXD9cXF5fYFxce1xcfFxcfX4tXSsKCQkJCQkoPzpcLlthLXowLTlcXCFcXCNcXFwkXFwlXFwmXFwnXFwqXFwrXFwvPVxcP1xcXl9gXFx7XFx8XFx9fi1dKykqCgkJCQl8CgkJCQkJXCIoPzpbXFx4MDEtXFx4MDhcXHgwQlxceDBDXFx4MEUtXFx4MUZcXHgyMVxceDIzLVxceDVCXFx4NUQtXFx4N0ZdCgkJCQkJCXxcXFxcW1xceDAxLVxceDA5XFx4MEJcXHgwQ1xceDBFLVxceDdGXSkqXCIKCQkJCSkKCQkJCUAKCQkJCSg/OgoJCQkJCSg/OlthLXowLTldKD86W2EtejAtOS1dKlthLXowLTldKT9cLikrCgkJCQkJW2EtejAtOV0KCQkJCQkoPzpbYS16MC05LV0qW2EtejAtOV0pPwoJCQkJfAoJCQkJCVxcWwoJCQkJCSg/Oig/OjI1WzAtNV18MlswLTRdWzAtOV18WzAxXT9bMC05XVswLTldPylcXC4pezN9CgkJCQkJKD86CgkJCQkJCTI1WzAtNV18MlswLTRdWzAtOV18WzAxXT9bMC05XVswLTldP3xbYS16MC05LV0qW2EtejAtOV06CgkJCQkJCSg/OltcXHgwMS1cXHgwOFxceDBCXFx4MENcXHgwRS1cXHgxRlxceDIxLVxceDVBXFx4NTMtXFx4N0ZdCgkJCQkJCQl8XFxcXFtcXHgwMS1cXHgwOVxceDBCXFx4MENcXHgwRS1cXHg3Rl0pKwoJCQkJCSkKCQkJCQlcXF0KCQkJCSkKCQkJCSQvRHgiLCAkc3RyaW5nKTsKCQkqLwoJCX0KCgkJLy8gVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIHdyYXAgYXJvdW5kIGNhbGxzIHRvIGh0bWxzcGVjaWFsY2hhcnMoKSBmb3IKCQkvLyBwbGFpbiB0ZXh0IHNvIHRoYXQgeW91IGNhbiBhZGQgeW91ciBvd24gdGV4dC1ldmFsdWF0aW9uIGNvZGUgaWYgeW91IHdhbnQuCgkJLy8gRm9yIGV4YW1wbGUsIHlvdSBtaWdodCB3YW50IHRvIG1ha2UgKmZvbyogdHVybiBpbnRvIDxiPmZvbzwvYj4sIG9yCgkJLy8gc29tZXRoaW5nIGxpa2UgdGhhdC4gIFRoZSBkZWZhdWx0IGJlaGF2aW9yIGlzIGp1c3QgdG8gY2FsbCBodG1sc3BlY2lhbGNoYXJzKCkKCQkvLyBhbmQgYmUgZG9uZSB3aXRoIGl0LCBidXQgaWYgeW91IGluaGVyaXQgYW5kIG92ZXJyaWRlIHRoaXMgZnVuY3Rpb24sIHlvdQoJCS8vIGNhbiBkbyBwcmV0dHkgbXVjaCBhbnl0aGluZyB5b3Ugd2FudC4KCQkvLwoJCS8vIE5vdGUgdGhhdCBodG1sc3BlY2lhbGNoYXJzKCkgaXMgc3RpbGwgdXNlZCBkaXJlY3RseSBmb3IgZG9pbmcgdGhpbmdzIGxpa2UKCQkvLyBjbGVhbmluZyB1cCBVUkxzIGluIHRhZ3M7IHRoaXMgZnVuY3Rpb24gaXMgYXBwbGllZCB0byAqcGxhaW4qICp0ZXh0KiAqb25seSouCgkJZnVuY3Rpb24gSFRNTEVuY29kZSgkc3RyaW5nKSB7CgkJCWlmICghJHRoaXMtPmFsbG93X2FtcGVyc2FuZCkKCQkJCXJldHVybiBodG1sc3BlY2lhbGNoYXJzKCRzdHJpbmcpOwoJCQllbHNlIHJldHVybiBzdHJfcmVwbGFjZShBcnJheSgnPCcsICc+JywgJyInKSwKCQkJCQlBcnJheSgnJmx0OycsICcmZ3Q7JywgJyZxdW90OycpLCAkc3RyaW5nKTsKCQl9CgoJCS8vIEdvIHRocm91Z2ggYSBzdHJpbmcgY29udGFpbmluZyBwbGFpbiB0ZXh0IGFuZCBkbyB0aHJlZSB0aGluZ3Mgb24gaXQ6CgkJLy8gUmVwbGFjZSA8IGFuZCA+IGFuZCAmIGFuZCAiIHdpdGggSFRNTC1zYWZlIGVxdWl2YWxlbnRzLCBhbmQgcmVwbGFjZQoJCS8vIHNtaWxleXMgbGlrZSA6LSkgd2l0aCA8aW1nIC8+IHRhZ3MsIGFuZCByZXBsYWNlIGFueSBlbWJlZGRlZCBVUkxzCgkJLy8gd2l0aCA8YSBocmVmPS4uLj4uLi48L2E+IGxpbmtzLgoJCWZ1bmN0aW9uIEZpeHVwT3V0cHV0KCRzdHJpbmcpIHsKCQkJZ2xvYmFsICRCQkNvZGVfUHJvZmlsZXI7CgkJCSRCQkNvZGVfUHJvZmlsZXItPkJlZ2luKCdGaXh1cE91dHB1dCcpOwoKCQkJaWYgKCR0aGlzLT5kZWJ1ZykKCQkJCXByaW50ICI8Yj5GaXh1cE91dHB1dDo8L2I+IGlucHV0OiA8dHQ+IiAuIGh0bWxzcGVjaWFsY2hhcnMoJHN0cmluZykgLiAiPC90dD48YnIgLz5cbiI7CgoJCQlpZiAoISR0aGlzLT5kZXRlY3RfdXJscykgewoJCQkJLy8gRWFzeSBjYXNlOiAgTm8gVVJMLWRlY29kaW5nLCBzbyBkb24ndCB0YWtlIHRoZSB0aW1lIHRvIGRvIGl0LgoJCQkJJEJCQ29kZV9Qcm9maWxlci0+RW5kKCdGaXh1cE91dHB1dCcpOwoJCQkJJG91dHB1dCA9ICR0aGlzLT5JbnRlcm5hbF9Qcm9jZXNzU21pbGV5cygkc3RyaW5nKTsKCQkJCSRCQkNvZGVfUHJvZmlsZXItPkJlZ2luKCdGaXh1cE91dHB1dCcpOwoJCQl9CgkJCWVsc2UgewoJCQkJLy8gRXh0cmFjdCBvdXQgYW55IGVtYmVkZGVkIFVSTHMsIGFuZCB0aGVuIHByb2Nlc3Mgc21pbGV5cyBhbmQgc3VjaCBvbgoJCQkJLy8gYW55IHRleHQgaW4gYmV0d2VlbiB0aGVtLiAgVGhpcyBuZWNlc3NhcmlseSBtZWFucyB0aGF0IFVSTHMgZ2V0CgkJCQkvLyBzbGlnaHRseSBoaWdoZXIgcHJpb3JpdHkgdGhhbiBzbWlsZXlzIGRvLCBhbHRob3VnaCB0aGVyZSByZWFsbHkKCQkJCS8vIHNob3VsZG4ndCBiZSBhbnkgb3ZlcmxhcCBpZiB0aGUgdXNlcidzIGNob2ljZXMgb2Ygc21pbGV5cyBhcmUgYXQKCQkJCS8vIGxlYXN0IHJlYXNvbmFibHkgaW50ZWxsaWdlbnQuICAoRm9yIGV4YW1wbGUsIGRlY2xhcmluZyAiZm9vLmNvbSIKCQkJCS8vIG9yICI6aHR0cDoiIHRvIGJlIHNtaWxleXMgd2lsbCBwcm9iYWJseSBub3Qgd29yaywgc2luY2UgdGhlIFVSTCBkZWNvZGVyCgkJCQkvLyB3aWxsIGxpa2VseSBjYXB0dXJlIHRob3NlIGJlZm9yZSB0aGUgc21pbGV5IGRlY29kZXIgZXZlciBoYXMgYSBjaGFuY2UKCQkJCS8vIGF0IHRoZW0uICBCdXQgdGhlbiB5b3UgZGlkbid0IHdhbnQgYSBzbWlsZXkgbmFtZWQgImZvby5jb20iIGFueXdheSwKCQkJCS8vIGRpZCB5b3U/KQoJCQkJJGNodW5rcyA9ICR0aGlzLT5JbnRlcm5hbF9BdXRvRGV0ZWN0VVJMcygkc3RyaW5nKTsKCQkJCSRvdXRwdXQgPSBBcnJheSgpOwoJCQkJaWYgKGNvdW50KCRjaHVua3MpKSB7CgkJCQkJJGlzX2FfdXJsID0gZmFsc2U7CgkJCQkJZm9yZWFjaCAoJGNodW5rcyBhcyAkaW5kZXggPT4gJGNodW5rKSB7CgkJCQkJCWlmICghJGlzX2FfdXJsKSB7CgkJCQkJCQkkQkJDb2RlX1Byb2ZpbGVyLT5FbmQoJ0ZpeHVwT3V0cHV0Jyk7CgkJCQkJCQkkY2h1bmsgPSAkdGhpcy0+SW50ZXJuYWxfUHJvY2Vzc1NtaWxleXMoJGNodW5rKTsKCQkJCQkJCSRCQkNvZGVfUHJvZmlsZXItPkJlZ2luKCdGaXh1cE91dHB1dCcpOwoJCQkJCQl9CgkJCQkJCSRvdXRwdXRbXSA9ICRjaHVuazsKCQkJCQkJJGlzX2FfdXJsID0gISRpc19hX3VybDsKCQkJCQl9CgkJCQl9CgkJCQkkb3V0cHV0ID0gaW1wbG9kZSgiIiwgJG91dHB1dCk7CgkJCX0KCgkJCWlmICgkdGhpcy0+ZGVidWcpCgkJCQlwcmludCAiPGI+Rml4dXBPdXRwdXQ6PC9iPiBvdXRwdXQ6IDx0dD4iIC4gaHRtbHNwZWNpYWxjaGFycygkb3V0cHV0KSAuICI8L3R0PjxiciAvPlxuIjsKCgkJCSRCQkNvZGVfUHJvZmlsZXItPkVuZCgnRml4dXBPdXRwdXQnKTsKCgkJCXJldHVybiAkb3V0cHV0OwoJCX0KCgkJLy8gR28gdGhyb3VnaCBhIHN0cmluZyBjb250YWluaW5nIHBsYWluIHRleHQgYW5kIGRvIHR3byB0aGluZ3Mgb24gaXQ6CgkJLy8gUmVwbGFjZSA8IGFuZCA+IGFuZCAmIGFuZCAiIHdpdGggSFRNTC1zYWZlIGVxdWl2YWxlbnRzLCBhbmQgcmVwbGFjZQoJCS8vIHNtaWxleXMgbGlrZSA6LSkgd2l0aCA8aW1nIC8+IHRhZ3MuCgkJZnVuY3Rpb24gSW50ZXJuYWxfUHJvY2Vzc1NtaWxleXMoJHN0cmluZykgewoJCQlnbG9iYWwgJEJCQ29kZV9Qcm9maWxlcjsKCQkJJEJCQ29kZV9Qcm9maWxlci0+QmVnaW4oJ1Byb2Nlc3NTbWlsZXlzOm90aGVyJyk7CgoJCQlpZiAoISR0aGlzLT5lbmFibGVfc21pbGV5cyB8fCAkdGhpcy0+cGxhaW5fbW9kZSkgewoJCQkJLy8gSWYgc21pbGV5cyBhcmUgdHVybmVkIG9mZiwgZG9uJ3QgY29udmVydCB0aGVtLgoJCQkJJG91dHB1dCA9ICR0aGlzLT5IVE1MRW5jb2RlKCRzdHJpbmcpOwoJCQl9CgkJCWVsc2UgewoJCQkJLy8gSWYgdGhlIHNtaWxleXMgbmVlZCB0byBiZSBjb21wdXRlZCwgcHJvY2VzcyB0aGVtIG5vdy4KCQkJCWlmICgkdGhpcy0+c21pbGV5X3JlZ2V4ID09PSBmYWxzZSkgewoJCQkJCSRCQkNvZGVfUHJvZmlsZXItPkVuZCgnUHJvY2Vzc1NtaWxleXM6b3RoZXInKTsKCQkJCQkkQkJDb2RlX1Byb2ZpbGVyLT5CZWdpbignUHJvY2Vzc1NtaWxleXM6cmVidWlsZCcpOwoJCQkJCSR0aGlzLT5JbnRlcm5hbF9SZWJ1aWxkU21pbGV5cygpOwoJCQkJCSRCQkNvZGVfUHJvZmlsZXItPkVuZCgnUHJvY2Vzc1NtaWxleXM6cmVidWlsZCcpOwoJCQkJCSRCQkNvZGVfUHJvZmlsZXItPkJlZ2luKCdQcm9jZXNzU21pbGV5czpvdGhlcicpOwoJCQkJfQoKCQkJCS8vIFNwbGl0IHRoZSBzdHJpbmcgc28gdGhhdCBpdCBjb25zaXN0cyBvZiBhbHRlcm5hdGluZyBwYWlycyBvZiBzbWlsZXlzIGFuZCBub24tc21pbGV5cy4KCQkJCSRCQkNvZGVfUHJvZmlsZXItPkVuZCgnUHJvY2Vzc1NtaWxleXM6b3RoZXInKTsKCQkJCSRCQkNvZGVfUHJvZmlsZXItPkJlZ2luKCdQcm9jZXNzU21pbGV5czpzcGxpdCcpOwoJCQkJJHRva2VucyA9IHByZWdfc3BsaXQoJHRoaXMtPnNtaWxleV9yZWdleCwgJHN0cmluZywgLTEsIFBSRUdfU1BMSVRfREVMSU1fQ0FQVFVSRSk7CgkJCQkkQkJDb2RlX1Byb2ZpbGVyLT5FbmQoJ1Byb2Nlc3NTbWlsZXlzOnNwbGl0Jyk7CgkJCQkkQkJDb2RlX1Byb2ZpbGVyLT5CZWdpbignUHJvY2Vzc1NtaWxleXM6b3RoZXInKTsKCgkJCQlpZiAoY291bnQoJHRva2VucykgPD0gMSkgewoJCQkJCS8vIFNwZWNpYWwgKGNvbW1vbikgY2FzZTogIFRoaXMgc2tpcHMgdGhlIHNtaWxleSBjb25zdHJ1Y3RvciBpZiB0aGVyZQoJCQkJCS8vIHdlcmUgbm8gc21pbGV5cyBmb3VuZCwgd2hpY2ggaXMgbW9zdCBvZiB0aGUgdGltZS4KCQkJCQkkb3V0cHV0ID0gJHRoaXMtPkhUTUxFbmNvZGUoJHN0cmluZyk7CgkJCQl9CgkJCQllbHNlIHsKCQkJCQkkb3V0cHV0ID0gIiI7CgkJCQkJJGlzX2Ffc21pbGV5ID0gZmFsc2U7CgkJCQkJZm9yZWFjaCAoJHRva2VucyBhcyAkdG9rZW4pIHsKCQkJCQkJaWYgKCEkaXNfYV9zbWlsZXkpIHsKCQkJCQkJCS8vIEZvciBub24tc21pbGV5IHRleHQsIHdlIGp1c3QgcGFzcyBpdCB0aHJvdWdoIGh0bWxzcGVjaWFsY2hhcnMuCgkJCQkJCQkkb3V0cHV0IC49ICR0aGlzLT5IVE1MRW5jb2RlKCR0b2tlbik7CgkJCQkJCX0KCQkJCQkJZWxzZSB7CgkJCQkJCQlpZiAoaXNzZXQoJHRoaXMtPnNtaWxleV9pbmZvWyR0b2tlbl0pKSB7CgkJCQkJCQkJLy8gVXNlIGNhY2hlZCBpbWFnZS1zaXplIGluZm9ybWF0aW9uLCBpZiBwb3NzaWJsZS4KCQkJCQkJCQkkaW5mbyA9ICR0aGlzLT5zbWlsZXlfaW5mb1skdG9rZW5dOwoJCQkJCQkJfQoJCQkJCQkJZWxzZSB7CgkJCQkJCQkJJGluZm8gPSBAZ2V0aW1hZ2VzaXplKCR0aGlzLT5zbWlsZXlfZGlyIC4gJy8nIC4gJHRoaXMtPnNtaWxleXNbJHRva2VuXSk7CgkJCQkJCQkJJHRoaXMtPnNtaWxleV9pbmZvWyR0b2tlbl0gPSAkaW5mbzsKCQkJCQkJCX0KCQkJCQkJCSRhbHQgPSBodG1sc3BlY2lhbGNoYXJzKCR0b2tlbik7CgkJCQkJCQkkb3V0cHV0IC49ICI8aW1nIHNyYz1cIiIgLiBodG1sc3BlY2lhbGNoYXJzKCR0aGlzLT5zbWlsZXlfdXJsIC4gJy8nIC4gJHRoaXMtPnNtaWxleXNbJHRva2VuXSkKCQkJCQkJCQkuICJcIiB3aWR0aD1cInskaW5mb1swXX1cIiBoZWlnaHQ9XCJ7JGluZm9bMV19XCIiCgkJCQkJCQkJLiAiIGFsdD1cIiRhbHRcIiB0aXRsZT1cIiRhbHRcIiBjbGFzcz1cImJiY29kZV9zbWlsZXlcIiAvPiI7CgkJCQkJCX0KCQkJCQkJJGlzX2Ffc21pbGV5ID0gISRpc19hX3NtaWxleTsKCQkJCQl9CgkJCQl9CgkJCX0KCgkJCSRCQkNvZGVfUHJvZmlsZXItPkVuZCgnUHJvY2Vzc1NtaWxleXM6b3RoZXInKTsKCgkJCXJldHVybiAkb3V0cHV0OwoJCX0KCgkJZnVuY3Rpb24gSW50ZXJuYWxfUmVidWlsZFNtaWxleXMoKSB7CgkJCS8vIENvbnN0cnVjdCB0aGUgJHRoaXMtPnNtaWxleV9yZWdleCB0aGF0IGNhbiByZWNvZ25pemUgYWxsCgkJCS8vIG9mIHRoZSBzbWlsZXlzLiAgVGhpcyB3aWxsIHNhdmUgdXMgYSBsb3Qgb2YgY29tcHV0YXRpb24gdGltZQoJCQkvLyBpbiAkdGhpcy0+UGFyc2UoKSBpZiBtdWx0aXBsZSBCQkNvZGUgc3RyaW5ncyBhcmUgYmVpbmcKCQkJLy8gcHJvY2Vzc2VkIGJ5IHRoZSBzYW1lIHNjcmlwdC4KCQkJJHJlZ2V4ID0gQXJyYXkoIi8oPzwhW1xcd10pKCIpOwoJCQkkZmlyc3QgPSB0cnVlOwoJCQlmb3JlYWNoICgkdGhpcy0+c21pbGV5cyBhcyAkY29kZSA9PiAkZmlsZW5hbWUpIHsKCQkJCWlmICghJGZpcnN0KSAkcmVnZXhbXSA9ICJ8IjsKCQkJCSRyZWdleFtdID0gcHJlZ19xdW90ZSgiJGNvZGUiLCAnLycpOwoJCQkJJGZpcnN0ID0gZmFsc2U7CgkJCX0KCQkJJHJlZ2V4W10gPSAiKSg/IVtcXHddKS8iOwoJCQkkdGhpcy0+c21pbGV5X3JlZ2V4ID0gaW1wbG9kZSgiIiwgJHJlZ2V4KTsKCgkJCWlmICgkdGhpcy0+ZGVidWcpCgkJCQlwcmludCAiPGI+SW50ZXJuYWxfUmVidWlsZFNtaWxleXM6PC9iPiByZWdleDogPHR0PiIgLiBodG1sc3BlY2lhbGNoYXJzKCRyZWdleCkgLiAiPC90dD48YnIgLz5cbiI7CgkJfQoKCQkvLyBTZWFyY2ggdGhyb3VnaCB0aGUgaW5wdXQgZm9yIFVSTHMsIG9yIHRoaW5ncyB0aGF0IGFyZSBVUkwtbGlrZS4gIFdlIHNlYXJjaAoJCS8vIGZvciBzZXZlcmFsIHBvc3NpYmlsaXRpZXMgaGVyZToKCQkvLwoJCS8vICAgRmlyc3QgZm9ybWF0IChIVFRQL0hUVFBTL0ZUUCk6CgkJLy8gICAgICA8Imh0dHA6IiBvciAiaHR0cHM6IiBvciAiZnRwOiI+IDxvcHRpb25hbCAiLy8iPiA8ZG9tYWluIG9yIElQdjQgb3IgSVB2Nj4gPG9wdGlvbmFsIHRhaWw+CgkJLy8KCQkvLyAgIFNlY29uZCBmb3JtYXQgKGltcGxpY2l0IEhUVFApOgoJCS8vICAgICAgPGRvbWFpbiBvciBJUHY0PiA8b3B0aW9uYWwgdGFpbD4KCQkvLwoJCS8vICAgVGhpcmQgZm9ybWF0IChlLW1haWwpOgoJCS8vICAgICAgPHNpbXBsZSB1c2VybmFtZT4gIkAiIDxkb21haW4gb3IgSVB2ND4KCQkvLwoJCS8vIEluIHNob3J0LCB3ZSBsb29rIGZvciBkb21haW5zIGFuZCBwcm90b2NvbHMsIGFuZCBpZiB3ZSBmaW5kIHRoZW0sIHdlIGNvbnN1bWUgYW55IHBhdGhzCgkJLy8gb3IgcGFyYW1ldGVycyBhZnRlciB0aGVtLCBzdG9wcGluZyBhdCB0aGUgZmlyc3Qgd2hpdGVzcGFjZS4KCQkvLwoJCS8vIFdlIHVzZSB0aGUgc2FtZSBzcGxpdC1hbmQtbWF0Y2ggdGVjaG5pcXVlIHVzZWQgYnkgdGhlIGxleGVyIGFuZCB0aGUgc21pbGV5IHBhcnNlciwKCQkvLyBzaW5jZSBpdCdzIHRoZSBmYXN0ZXN0IHdheSB0byBwZXJmb3JtIHRva2VuaXphdGlvbiBpbiBQSFAuCgkJLy8KCQkvLyBPbmNlIHdlIGZpbmQgdGhlIFVSTCwgd2UgY29udmVydCBpdCBhY2NvcmRpbmcgdG8gdGhlIHJ1bGUgZ2l2ZW4gaW4gJHRoaXMtPnVybF9wYXR0ZXJuLgoJCS8vCgkJLy8gTm90ZSB0aGF0IHRoZSBpbnB1dCBzdHJpbmcgaXMgcGxhaW4gdGV4dCwgbm90IEhUTUwgb3IgQkJDb2RlLiAgVGhlIHJldHVybiB2YWx1ZQoJCS8vIG11c3QgYmUgYW4gYXJyYXkgb2YgYWx0ZXJuYXRpbmcgcGFpcnMgb2YgcGxhaW4gdGV4dCAoZXZlbiBpbmRleGVzKSBhbmQgSFRNTCAob2RkIGluZGV4ZXMpLgoJCWZ1bmN0aW9uIEludGVybmFsX0F1dG9EZXRlY3RVUkxzKCRzdHJpbmcpIHsKCQkJZ2xvYmFsICRCQkNvZGVfUHJvZmlsZXI7CgkJCSRCQkNvZGVfUHJvZmlsZXItPkJlZ2luKCdBdXRvRGV0ZWN0VVJMcycpOwoKCQkJJG91dHB1dCA9IHByZWdfc3BsaXQoIi8oICg/OgoJCQkJCSg/Omh0dHBzP3xmdHApIDogXFwvKgoJCQkJCSg/OgoJCQkJCQkoPzogKD86IFthLXpBLVowLTktXXsyLH0gXFwuICkrCgkJCQkJCQkoPzogYXJwYSB8IGNvbSB8IG9yZyB8IG5ldCB8IGVkdSB8IGdvdiB8IG1pbCB8IGludCB8IFthLXpdezJ9CgkJCQkJCQkJfCBhZXJvIHwgYml6IHwgY29vcCB8IGluZm8gfCBtdXNldW0gfCBuYW1lIHwgcHJvCgkJCQkJCQkJfCBleGFtcGxlIHwgaW52YWxpZCB8IGxvY2FsaG9zdCB8IHRlc3QgfCBsb2NhbCB8IG9uaW9uIHwgc3dpZnQgKSApCgkJCQkJCXwgKD86IFswLTldezEsM30gXFwuIFswLTldezEsM30gXFwuIFswLTldezEsM30gXFwuIFswLTldezEsM30gKQoJCQkJCQl8ICg/OiBbMC05QS1GYS1mOl0rIDogWzAtOUEtRmEtZl17MSw0fSApCgkJCQkJKQoJCQkJCSg/OiA6IFswLTldKyApPwoJCQkJCSg/ISBbYS16QS1aMC05LjotXSApCgkJCQkJKD86CgkJCQkJCVxcLwoJCQkJCQlbXiY/I1xcKFxcKVxcW1xcXVxce1xcfTw+XFwnXFxcIlxceDAwLVxceDIwXFx4N0YtXFx4RkZdKgoJCQkJCSk/CgkJCQkJKD86CgkJCQkJCVs/I10KCQkJCQkJW15cXChcXClcXFtcXF1cXHtcXH08PlxcJ1xcXCJcXHgwMC1cXHgyMFxceDdGLVxceEZGXSsKCQkJCQkpPwoJCQkJKSB8ICg/OgoJCQkJCSg/OgoJCQkJCQkoPzogKD86IFthLXpBLVowLTktXXsyLH0gXFwuICkrCgkJCQkJCQkoPzogYXJwYSB8IGNvbSB8IG9yZyB8IG5ldCB8IGVkdSB8IGdvdiB8IG1pbCB8IGludCB8IFthLXpdezJ9CgkJCQkJCQkJfCBhZXJvIHwgYml6IHwgY29vcCB8IGluZm8gfCBtdXNldW0gfCBuYW1lIHwgcHJvCgkJCQkJCQkJfCBleGFtcGxlIHwgaW52YWxpZCB8IGxvY2FsaG9zdCB8IHRlc3QgfCBsb2NhbCB8IG9uaW9uIHwgc3dpZnQgKSApCgkJCQkJCXwgKD86IFswLTldezEsM30gXFwuIFswLTldezEsM30gXFwuIFswLTldezEsM30gXFwuIFswLTldezEsM30gKQoJCQkJCSkKCQkJCQkoPzogOiBbMC05XSsgKT8KCQkJCQkoPyEgW2EtekEtWjAtOS46LV0gKQoJCQkJCSg/OgoJCQkJCQlcXC8KCQkJCQkJW14mPyNcXChcXClcXFtcXF1cXHtcXH08PlxcJ1xcXCJcXHgwMC1cXHgyMFxceDdGLVxceEZGXSoKCQkJCQkpPwoJCQkJCSg/OgoJCQkJCQlbPyNdCgkJCQkJCVteXFwoXFwpXFxbXFxdXFx7XFx9PD5cXCdcXFwiXFx4MDAtXFx4MjBcXHg3Ri1cXHhGRl0rCgkJCQkJKT8KCQkJCSkgfCAoPzoKCQkJCQlbYS16QS1aMC05Ll8tXXsyLH0gQAoJCQkJCSg/OgoJCQkJCQkoPzogKD86IFthLXpBLVowLTktXXsyLH0gXFwuICkrCgkJCQkJCQkoPzogYXJwYSB8IGNvbSB8IG9yZyB8IG5ldCB8IGVkdSB8IGdvdiB8IG1pbCB8IGludCB8IFthLXpdezJ9CgkJCQkJCQkJfCBhZXJvIHwgYml6IHwgY29vcCB8IGluZm8gfCBtdXNldW0gfCBuYW1lIHwgcHJvCgkJCQkJCQkJfCBleGFtcGxlIHwgaW52YWxpZCB8IGxvY2FsaG9zdCB8IHRlc3QgfCBsb2NhbCB8IG9uaW9uIHwgc3dpZnQgKSApCgkJCQkJCXwgKD86IFswLTldezEsM30gXFwuIFswLTldezEsM30gXFwuIFswLTldezEsM30gXFwuIFswLTldezEsM30gKQoJCQkJCSkKCQkJCSkgKS9EeCIsICRzdHJpbmcsIC0xLCBQUkVHX1NQTElUX0RFTElNX0NBUFRVUkUpOwoKCQkJaWYgKGNvdW50KCRvdXRwdXQpID4gMSkgewoKCQkJCSRpc19hX3VybCA9IGZhbHNlOwoJCQkJZm9yZWFjaCAoJG91dHB1dCBhcyAkaW5kZXggPT4gJHRva2VuKSB7CgkJCQkJaWYgKCRpc19hX3VybCkgewoJCQkJCQkvLyBEZWNpZGUgd2hldGhlciB3ZSBoYXZlIGFuIGUtbWFpbCBhZGRyZXNzIG9yIGEgc2VydmVyIGFkZHJlc3MuCgkJCQkJCWlmIChwcmVnX21hdGNoKCIvXlthLXpBLVowLTkuXy1dezIsfUAvIiwgJHRva2VuKSkgewoJCQkJCQkJLy8gUGxhaW4gZS1tYWlsIGFkZHJlc3MuCgkJCQkJCQkkdXJsID0gIm1haWx0bzoiIC4gJHRva2VuOwoJCQkJCQl9CgkJCQkJCWVsc2UgaWYgKHByZWdfbWF0Y2goIi9eKGh0dHBzPzp8ZnRwOilcXC8qKFteXFwvJj8jXSspXFwvKiguKilcJC8iLCAkdG9rZW4sICRtYXRjaGVzKSkgewoJCQkJCQkJLy8gUHJvdG9jb2wgaGFzIGJlZW4gcHJvdmlkZWQsIHNvIGp1c3QgdXNlIGl0IGFzLWlzIChidXQgZml4CgkJCQkJCQkvLyB1cCBhbnkgZm9yZ290dGVuIHNsYXNoZXMpLgoJCQkJCQkJJHVybCA9ICRtYXRjaGVzWzFdIC4gJy8nIC4gJy8nIC4gJG1hdGNoZXNbMl0gLiAiLyIgLiAkbWF0Y2hlc1szXTsKCQkJCQkJfQoJCQkJCQllbHNlIHsKCQkJCQkJCS8vIFJhdyBkb21haW4gbmFtZSwgbGlrZSAid3d3Lmdvb2dsZS5jb20iLCBzbyBjb252ZXJ0IGl0IGZvcgoJCQkJCQkJLy8gdXNlIGFzIGFuIEhUVFAgd2ViIGFkZHJlc3MuCgkJCQkJCQlwcmVnX21hdGNoKCIvXihbXlxcLyY/I10rKVxcLyooLiopXCQvIiwgJHRva2VuLCAkbWF0Y2hlcyk7CgkJCQkJCQkkdXJsID0gImh0dHA6LyIgLiAiLyIgLiAkbWF0Y2hlc1sxXSAuICIvIiAuICRtYXRjaGVzWzJdOwoJCQkJCQl9CgoJCQkJCQkvLyBXZSBoYXZlIGEgZnVsbCwgY29tcGxldGUsIGFuZCBwcm9wZXJseS1mb3JtYXR0ZWQgVVJMLCB3aXRoIHByb3RvY29sLgoJCQkJCQkvLyBOb3cgd2UgbmVlZCB0byBhcHBseSB0aGUgJHRoaXMtPnVybF9wYXR0ZXJuIHRlbXBsYXRlIHRvIHR1cm4gaXQgaW50byBIVE1MLgoJCQkJCQkkcGFyYW1zID0gQHBhcnNlX3VybCgkdXJsKTsKCQkJCQkJaWYgKCFpc19hcnJheSgkcGFyYW1zKSkgJHBhcmFtcyA9IEFycmF5KCk7CgkJCQkJCSRwYXJhbXNbJ3VybCddID0gJHVybDsKCQkJCQkJJHBhcmFtc1snbGluayddID0gJHVybDsKCQkJCQkJJHBhcmFtc1sndGV4dCddID0gJHRva2VuOwoJCQkJCQkkb3V0cHV0WyRpbmRleF0gPSAkdGhpcy0+RmlsbFRlbXBsYXRlKCR0aGlzLT51cmxfcGF0dGVybiwgJHBhcmFtcyk7CgkJCQkJfQoKCQkJCQkkaXNfYV91cmwgPSAhJGlzX2FfdXJsOwoJCQkJfQoJCQl9CgoJCQkkQkJDb2RlX1Byb2ZpbGVyLT5FbmQoJ0F1dG9EZXRlY3RVUkxzJyk7CgoJCQlyZXR1cm4gJG91dHB1dDsKCQl9CgoJCS8vIEZpbGwgYW4gSFRNTCB0ZW1wbGF0ZSB1c2luZyB2YXJpYWJsZSBpbnNlcnRzLCB3aGljaCBsb29rIGxpa2UgdGhpczoKCQkvLyAgICB7JHZhcmlhYmxlfSAgIG9yICAgeyR2YXJpYWJsZS9mbGFnc30gICBvciBldmVuICAgeyRteWFycmF5Lmdlb3JnZS5mYXRoZXIvZmxhZ3N9CgkJLy8KCQkvLyBZb3UgbWF5IHVzZSBhbnkgdmFyaWFibGUgcHJvdmlkZWQgaW4gdGhlIHBhcmFtZXRlciBhcnJheTsgYW5kIHlvdSBtYXkgdXNlIHRoZQoJCS8vIHNwZWNpYWwgZG90ICguKSBvcGVyYXRvciB0byBhY2Nlc3MgbWVtYmVycyBvZiBhcnJheSB2YXJpYWJsZXMgb3Igb2Ygb2JqZWN0CgkJLy8gdmFyaWFibGVzLgoJCS8vCgkJLy8gWW91IG1heSBhZGQgZm9ybWF0dGluZyBmbGFncyB0byB0aGUgdmFyaWFibGUgdG8gY29udHJvbCBob3cgdGhlIHRleHQgcGFyYW1ldGVycwoJCS8vIGFyZSBjbGVhbmVkIHVwLiAgRm9yIGV4YW1wbGUsIHskdmFyaWFibGUvdX0gY2F1c2VzIHRoZSB2YXJpYWJsZSB0byBiZSB1cmxlbmNvZGVkKCkuCgkJLy8gVGhlIGF2YWlsYWJsZSBmbGFncyBhcmU6CgkJLy8KCQkvLyAgIHYgLSBWZXJiYXRpbS4gIERvIG5vdCBhcHBseSBhbnkgZm9ybWF0dGluZyB0byB0aGUgdmFyaWFibGU7IHVzZSBpdHMgZXhhY3QgdGV4dCwKCQkvLyAgICAgICAgaG93ZXZlciB0aGUgdXNlciBwcm92aWRlZCBpdC4gIFRoaXMgb3ZlcnJpZGVzIGFsbCBvdGhlciBmbGFncy4KCQkvLwoJCS8vICAgYiAtIEFwcGx5IGJhc2VuYW1lKCkuCgkJLy8gICBuIC0gQXBwbHkgbmwyYnIoKS4KCQkvLyAgIHQgLSBUcmltLiAgVGhpcyBjYXVzZXMgYWxsIGluaXRpYWwgYW5kIHRyYWlsaW5nIHdoaXRlc3BhY2UgdG8gYmUgdHJpbW1lZCAocmVtb3ZlZCkuCgkJLy8gICB3IC0gQ2xlYW4gdXAgd2hpdGVzcGFjZS4gIFRoaXMgY2F1c2VzIGFsbCBub24tbmV3bGluZSB3aGl0ZXNwYWNlLCBzdWNoIGFzCgkJLy8gICAgICAgIGNvbnRyb2wgY29kZXMgYW5kIHRhYnMsIHRvIGJlIGNvbGxhcHNlZCBpbnRvIGluZGl2aWR1YWwgc3BhY2UgY2hhcmFjdGVycy4KCQkvLwoJCS8vICAgZSAtIEFwcGx5IEhUTUxFbmNvZGUoKS4KCQkvLyAgIGggLSBBcHBseSBodG1sc3BlY2lhbGNoYXJzKCkuCgkJLy8gICBrIC0gQXBwbHkgV2lraWZ5KCkuCgkJLy8gICB1IC0gQXBwbHkgdXJsZW5jb2RlKCkuCgkJLy8KCQkvLyBOb3RlIHRoYXQgb25seSBvbmUgb2YgdGhlIGUsIGgsIGssIG9yIHUgImZvcm1hdHRpbmcgZmxhZ3MiIG1heSBiZSBzcGVjaWZpZWQ7CgkJLy8gdGhlc2UgZmxhZ3MgYXJlIG11dHVhbGx5LWV4Y2x1c2l2ZS4KCQlmdW5jdGlvbiBGaWxsVGVtcGxhdGUoJHRlbXBsYXRlLCAkaW5zZXJ0X2FycmF5LCAkZGVmYXVsdF9hcnJheSA9IEFycmF5KCkpIHsKCQkJJHBpZWNlcyA9IHByZWdfc3BsaXQoJy8oXHtcJFthLXpBLVowLTlfLjpcLy1dK1x9KS8nLCAkdGVtcGxhdGUsCgkJCQktMSwgUFJFR19TUExJVF9ERUxJTV9DQVBUVVJFKTsKCgkJCS8vIFNwZWNpYWwgKGNvbW1vbikgaGlnaC1zcGVlZCBjYXNlOiAgTm8gaW5zZXJ0cyBmb3VuZCBpbiB0aGUgdGVtcGxhdGUuCgkJCWlmIChjb3VudCgkcGllY2VzKSA8PSAxKQoJCQkJcmV0dXJuICR0ZW1wbGF0ZTsKCgkJCSRyZXN1bHQgPSBBcnJheSgpOwoKCQkJJGlzX2FuX2luc2VydCA9IGZhbHNlOwoJCQlmb3JlYWNoICgkcGllY2VzIGFzICRwaWVjZSkgewoKCQkJCWlmICghJGlzX2FuX2luc2VydCkgewoJCQkJCWlmICgkdGhpcy0+ZGVidWcpIHsKCQkJCQkJcHJpbnQgIjxiPkZvcm1hdEluc2VydHM6PC9iPiBhZGQgdGV4dDogPHR0PiIKCQkJCQkJCS4gaHRtbHNwZWNpYWxjaGFycygkcGllY2UpIC4gIjwvdHQ+PGJyIC8+XG4iOwoJCQkJCX0KCQkJCQkkcmVzdWx0W10gPSAkcGllY2U7CgkJCQl9CgkJCQllbHNlIGlmICghcHJlZ19tYXRjaCgnL1x7XCQoW2EtekEtWjAtOV86LV0rKSgoPzpcXC5bYS16QS1aMC05XzotXSspKikoPzpcLyhbYS16QS1aMC05XzotXSspKT9cfS8nLCAkcGllY2UsICRtYXRjaGVzKSkgewoJCQkJCWlmICgkdGhpcy0+ZGVidWcpIHsKCQkJCQkJcHJpbnQgIjxiPkZvcm1hdEluc2VydHM6PC9iPiBub3QgYW4gaW5zZXJ0OiBhZGQgYXMgdGV4dDogPHR0PiIKCQkJCQkJCS4gaHRtbHNwZWNpYWxjaGFycygkcGllY2UpIC4gIjwvdHQ+PGJyIC8+XG4iOwoJCQkJCX0KCQkJCQkkcmVzdWx0W10gPSAkcGllY2U7CgkJCQl9CgkJCQllbHNlIHsKCQkJCQkvLyBXZSBoYXZlIGEgdmFsaWQgdmFyaWFibGUgbmFtZSwgcG9zc2libHkgd2l0aCBhbiBpbmRleCBhbmQgc29tZSBmbGFncy4KCgkJCQkJLy8gTG9jYXRlIHRoZSByZXF1ZXN0ZWQgdmFyaWFibGUgaW4gdGhlIGlucHV0IHBhcmFtZXRlcnMuCgkJCQkJaWYgKGlzc2V0KCRpbnNlcnRfYXJyYXlbJG1hdGNoZXNbMV1dKSkKCQkJCQkJJHZhbHVlID0gQCRpbnNlcnRfYXJyYXlbJG1hdGNoZXNbMV1dOwoJCQkJCWVsc2UgJHZhbHVlID0gQCRkZWZhdWx0X2FycmF5WyRtYXRjaGVzWzFdXTsKCgkJCQkJaWYgKHN0cmxlbihAJG1hdGNoZXNbMl0pKSB7CgkJCQkJCS8vIFdlIGhhdmUgb25lIG9yIG1vcmUgaW5kZXhlcywgc28gYnJlYWsgdGhlbSBhcGFydCBhbmQgbG9vayB1cCB0aGUgcmVxdWVzdGVkIGRhdGEuCgkJCQkJCWZvcmVhY2ggKHNwbGl0KCIuIiwgc3Vic3RyKCRtYXRjaGVzWzJdLCAxKSkgYXMgJGluZGV4KSB7CgkJCQkJCQlpZiAoaXNfYXJyYXkoJHZhbHVlKSkKCQkJCQkJCQkkdmFsdWUgPSBAJHZhbHVlWyRpbmRleF07CgkJCQkJCQllbHNlIGlmIChpc19vYmplY3QoJHZhbHVlKSkgewoJCQkJCQkJCSR2YWx1ZSA9IChhcnJheSkkdmFsdWU7CgkJCQkJCQkJJHZhbHVlID0gQCR2YWx1ZVskaW5kZXhdOwoJCQkJCQkJfQoJCQkJCQkJZWxzZSAkdmFsdWUgPSAiIjsKCQkJCQkJfQoJCQkJCX0KCgkJCQkJLy8gTWFrZSBzdXJlIHRoZSByZXN1bHRpbmcgdmFsdWUgaXMgYSBwcmludGFibGUgc3RyaW5nLgoJCQkJCXN3aXRjaCAoZ2V0dHlwZSgkdmFsdWUpKSB7CgkJCQkJY2FzZSAnYm9vbGVhbic6ICR2YWx1ZSA9ICR2YWx1ZSA/ICJ0cnVlIiA6ICJmYWxzZSI7IGJyZWFrOwoJCQkJCWNhc2UgJ2ludGVnZXInOiAkdmFsdWUgPSAoc3RyaW5nKSR2YWx1ZTsgYnJlYWs7CgkJCQkJY2FzZSAnZG91YmxlJzogJHZhbHVlID0gKHN0cmluZykkdmFsdWU7IGJyZWFrOwoJCQkJCWNhc2UgJ3N0cmluZyc6IGJyZWFrOwoJCQkJCWRlZmF1bHQ6ICR2YWx1ZSA9ICIiOyBicmVhazsKCQkJCQl9CgoJCQkJCS8vIFNlZSBpZiB0aGVyZSBhcmUgYW55IGZsYWdzLgoJCQkJCWlmIChzdHJsZW4oQCRtYXRjaGVzWzNdKSkKCQkJCQkJJGZsYWdzID0gYXJyYXlfZmxpcChzdHJfc3BsaXQoJG1hdGNoZXNbM10pKTsKCQkJCQllbHNlICRmbGFncyA9IEFycmF5KCk7CgoJCQkJCS8vIElmIHRoZXJlIGFyZSBmbGFncywgcHJvY2VzcyB0aGUgdmFsdWUgYWNjb3JkaW5nIHRvIHRoZW0uCgkJCQkJaWYgKCFpc3NldCgkZmxhZ3NbJ3YnXSkpIHsKCQkJCQkJaWYgKGlzc2V0KCRmbGFnc1sndyddKSkKCQkJCQkJCSR2YWx1ZSA9IHByZWdfcmVwbGFjZSgiL1tcXHgwMC1cXHgwOVxceDBCLVx4MENceDBFLVxceDIwXSsvIiwgIiAiLCAkdmFsdWUpOwoJCQkJCQlpZiAgICAgIChpc3NldCgkZmxhZ3NbJ3QnXSkpICR2YWx1ZSA9IHRyaW0oJHZhbHVlKTsKCQkJCQkJaWYgICAgICAoaXNzZXQoJGZsYWdzWydiJ10pKSAkdmFsdWUgPSBiYXNlbmFtZSgkdmFsdWUpOwoJCQkJCQlpZiAgICAgIChpc3NldCgkZmxhZ3NbJ2UnXSkpICR2YWx1ZSA9ICR0aGlzLT5IVE1MRW5jb2RlKCR2YWx1ZSk7CgkJCQkJCWVsc2UgaWYgKGlzc2V0KCRmbGFnc1snayddKSkgJHZhbHVlID0gJHRoaXMtPldpa2lmeSgkdmFsdWUpOwoJCQkJCQllbHNlIGlmIChpc3NldCgkZmxhZ3NbJ2gnXSkpICR2YWx1ZSA9IGh0bWxzcGVjaWFsY2hhcnMoJHZhbHVlKTsKCQkJCQkJZWxzZSBpZiAoaXNzZXQoJGZsYWdzWyd1J10pKSAkdmFsdWUgPSB1cmxlbmNvZGUoJHZhbHVlKTsKCQkJCQkJaWYgICAgICAoaXNzZXQoJGZsYWdzWyduJ10pKSAkdmFsdWUgPSAkdGhpcy0+bmwyYnIoJHZhbHVlKTsKCQkJCQl9CgoJCQkJCWlmICgkdGhpcy0+ZGVidWcpIHsKCQkJCQkJcHJpbnQgIjxiPkZvcm1hdEluc2VydHM6PC9iPiBhZGQgaW5zZXJ0OiA8dHQ+IiAuIGh0bWxzcGVjaWFsY2hhcnMoJHBpZWNlKQoJCQkJCQkJLiAiPC90dD4gLS0mZ3Q7IDx0dD4iIC4gaHRtbHNwZWNpYWxjaGFycygkdmFsdWUpIC4gIjwvdHQ+PGJyIC8+XG4iOwoJCQkJCX0KCgkJCQkJLy8gQXBwZW5kIHRoZSB2YWx1ZSB0byB0aGUgb3V0cHV0LgoJCQkJCSRyZXN1bHRbXSA9ICR2YWx1ZTsKCQkJCX0KCgkJCQkkaXNfYW5faW5zZXJ0ID0gISRpc19hbl9pbnNlcnQ7CgkJCX0KCgkJCXJldHVybiBpbXBsb2RlKCIiLCAkcmVzdWx0KTsKCQl9CgoJCS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCQkvLyAgU3RhY2sgYW5kIG91dHB1dC1tYW5hZ2VtZW50IChpbnRlcm5hbCkuCgoJCS8vIENvbGxlY3QgYSBzZXJpZXMgb2YgdGV4dCBzdHJpbmdzIGZyb20gYSB0b2tlbiBzdGFjayBhbmQgcmV0dXJuIHRoZW0gYXMgYQoJCS8vIHNpbmdsZSBzdHJpbmcuICBXZSB1c2Ugb3V0cHV0IGJ1ZmZlcmluZyBiZWNhdXNlIGl0IHNlZW1zIHRvIHByb2R1Y2Ugc2xpZ2h0bHkKCQkvLyBtb3JlIGVmZmljaWVudCBzdHJpbmcgY29uY2F0ZW5hdGlvbi4KCQlmdW5jdGlvbiBJbnRlcm5hbF9Db2xsZWN0VGV4dCgkYXJyYXksICRzdGFydCA9IDApIHsKCQkJZ2xvYmFsICRCQkNvZGVfUHJvZmlsZXI7CgkJCSRCQkNvZGVfUHJvZmlsZXItPkJlZ2luKCdDb2xsZWN0VGV4dCcpOwoKCQkJb2Jfc3RhcnQoKTsKCQkJZm9yICgkc3RhcnQgPSBpbnR2YWwoJHN0YXJ0KSwgJGVuZCA9IGNvdW50KCRhcnJheSk7ICRzdGFydCA8ICRlbmQ7ICRzdGFydCsrKQoJCQkJcHJpbnQgJGFycmF5WyRzdGFydF1bQkJDT0RFX1NUQUNLX1RFWFRdOwoJCQkkb3V0cHV0ID0gb2JfZ2V0X2NvbnRlbnRzKCk7CgkJCW9iX2VuZF9jbGVhbigpOwoKCQkJJEJCQ29kZV9Qcm9maWxlci0+RW5kKCdDb2xsZWN0VGV4dCcpOwoKCQkJcmV0dXJuICRvdXRwdXQ7CgkJfQoJCWZ1bmN0aW9uIEludGVybmFsX0NvbGxlY3RUZXh0UmV2ZXJzZSgkYXJyYXksICRzdGFydCA9IDAsICRlbmQgPSAwKSB7CgkJCWdsb2JhbCAkQkJDb2RlX1Byb2ZpbGVyOwoJCQkkQkJDb2RlX1Byb2ZpbGVyLT5CZWdpbignQ29sbGVjdFRleHRSZXZlcnNlJyk7CgoJCQlvYl9zdGFydCgpOwoJCQlmb3IgKCRzdGFydCA9IGludHZhbCgkc3RhcnQpOyAkc3RhcnQgPj0gJGVuZDsgJHN0YXJ0LS0pCgkJCQlwcmludCAkYXJyYXlbJHN0YXJ0XVtCQkNPREVfU1RBQ0tfVEVYVF07CgkJCSRvdXRwdXQgPSBvYl9nZXRfY29udGVudHMoKTsKCQkJb2JfZW5kX2NsZWFuKCk7CgoJCQkkQkJDb2RlX1Byb2ZpbGVyLT5FbmQoJ0NvbGxlY3RUZXh0UmV2ZXJzZScpOwoKCQkJcmV0dXJuICRvdXRwdXQ7CgkJfQoKCQkvLyBPdXRwdXQgZXZlcnl0aGluZyBvbiB0aGUgc3RhY2sgZnJvbSAkcG9zIHRvIHRoZSB0b3AsIGluY2x1c2l2ZSwgYXMKCQkvLyBwbGFpbiB0ZXh0LCBhbmQgcmV0dXJuIGl0LiAgVGhpcyBpcyBhIGxpdHRsZSBtb3JlIGNvbXBsaWNhdGVkIHRoYW4KCQkvLyBuZWNlc3NhcnksIGJlY2F1c2UgaWYgd2UgZW5jb3VudGVyIGVuZC10YWctb3B0aW9uYWwgdGFncyBpbiBoZXJlLAoJCS8vIHRoZXkncmUgbm90IHRvIGJlIG91dHB1dHRlZCBhcyBwbGFpbiB0ZXh0OiAgVGhleSdyZSBmdWxseSBsZWdpdCwgYW5kCgkJLy8gbmVlZCB0byBiZSBwcm9jZXNzZWQgd2l0aCB0aGUgcGxhaW4gdGV4dCBhZnRlciB0aGVtIGFzIHRoZWlyIGJvZHkuCgkJLy8gVGhpcyByZXR1cm5zIGEgbGlzdCBvZiB0b2tlbnMgaW4gdGhlIFJFVkVSU0Ugb2Ygb3V0cHV0IG9yZGVyLgoJCWZ1bmN0aW9uIEludGVybmFsX0dlbmVyYXRlT3V0cHV0KCRwb3MpIHsKCQkJZ2xvYmFsICRCQkNvZGVfUHJvZmlsZXI7CgkJCSRCQkNvZGVfUHJvZmlsZXItPkJlZ2luKCdHZW5lcmF0ZU91dHB1dCcpOwoKCQkJaWYgKCR0aGlzLT5kZWJ1ZykgewoJCQkJcHJpbnQgIjxiPkludGVybmFsX0dlbmVyYXRlT3V0cHV0OjwvYj4gZnJvbT0kcG9zIGxlbj0iIC4gKGNvdW50KCR0aGlzLT5zdGFjaykgLSAkcG9zKQoJCQkJCS4gIjxiciAvPlxuIgoJCQkJCS4gIjxiPkludGVybmFsX0dlbmVyYXRlT3V0cHV0OjwvYj4gU3RhY2sgY29udGVudHM6IDx0dD4iCgkJCQkJLiAkdGhpcy0+SW50ZXJuYWxfRHVtcFN0YWNrKCkgLiAiPC90dD48YnIgLz5cbiI7CgkJCX0KCQkJJG91dHB1dCA9IEFycmF5KCk7CgkJCXdoaWxlIChjb3VudCgkdGhpcy0+c3RhY2spID4gJHBvcykgewoJCQkJJHRva2VuID0gYXJyYXlfcG9wKCR0aGlzLT5zdGFjayk7CgkJCQlpZiAoJHRva2VuW0JCQ09ERV9TVEFDS19UT0tFTl0gIT0gQkJDT0RFX1RBRykgewoJCQkJCS8vIE5vdCBhIHRhZywgc28ganVzdCBwdXNoIGl0IHRvIHRoZSBvdXRwdXQuCgkJCQkJJG91dHB1dFtdID0gJHRva2VuOwoJCQkJCWlmICgkdGhpcy0+ZGVidWcpIHsKCQkJCQkJcHJpbnQgIjxiPkludGVybmFsX0dlbmVyYXRlT3V0cHV0OjwvYj4gcHVzaCB0ZXh0OiA8dHQ+IgoJCQkJCQkJLiBodG1sc3BlY2lhbGNoYXJzKCR0b2tlbltCQkNPREVfU1RBQ0tfVEVYVF0pIC4gIjwvdHQ+PGJyIC8+XG4iOwoJCQkJCX0KCQkJCX0KCQkJCWVsc2UgewoJCQkJCS8vIFRoaXMgaXMgYSBzdGFydCB0YWcgdGhhdCBpcyBlaXRoZXIgZW5kaW5nLW9wdGlvbmFsIG9yIGVuZGluZy1mb3Jnb3R0ZW4uCgkJCQkJLy8gQnV0IGJlY2F1c2Ugb2YgY2xhc3MgZGVwZW5kZW5jaWVzLCB3ZSBjYW4ndCBzaW1wbHkgcmVqZWN0IGl0OyBkZWVwZXIKCQkJCQkvLyB0YWdzIG1heSBhbHJlYWR5IGhhdmUgYmVlbiBwcm9jZXNzZWQgb24gdGhlIGFzc3VtcHRpb24gdGhhdCB0aGlzIGNsYXNzCgkJCQkJLy8gd2FzIHZhbGlkLiAgU28gcmF0aGVyIHRoYW4gcmVqZWN0IGl0LCBhcyBvbmUgbWlnaHQgZXhwZWN0IGZyb20KCQkJCQkvLyAnZW5kX3RhZycgPT4gQkJDT0RFX1JFUVVJUkVELCB3ZSBwcm9jZXNzIGl0IHNvIHRoYXQgYW55IGRlZXBlciB0YWdzCgkJCQkJLy8gdGhhdCByZXF1aXJlIGl0IHdpbGwgc3RpbGwgYmUgdHJlYXRlZCBjb3JyZWN0bHkuICBUaGlzIGlzIHRoZSBvbmx5CgkJCQkJLy8gYWx0ZXJuYXRpdmUgdG8gaGF2aW5nIHRvIHBlcmZvcm0gdHdvIHBhc3NlcyBvdmVyIHRoZSBpbnB1dCwgb25lIHRvIHZhbGlkYXRlCgkJCQkJLy8gY2xhc3NlcyBhbmQgdGhlIG90aGVyIHRvIGNvbnZlcnQgdGhlIG91dHB1dDogIFNvIHdlIGNob29zZSBzcGVlZCBvdmVyCgkJCQkJLy8gcHJlY2lzaW9uIGhlcmUsIGJ1dCBpdCdzIGEgZGVjaXNpb24gdGhhdCBvbmx5IGFmZmVjdHMgYnJva2VuIHRhZ3MgYW55d2F5LgoJCQkJCSRuYW1lID0gQCR0b2tlbltCQkNPREVfU1RBQ0tfVEFHXVsnX25hbWUnXTsKCQkJCQkkcnVsZSA9IEAkdGhpcy0+dGFnX3J1bGVzWyRuYW1lXTsKCQkJCQkkZW5kX3RhZyA9IEAkcnVsZVsnZW5kX3RhZyddOwoJCQkJCWlmICghaXNzZXQoJHJ1bGVbJ2VuZF90YWcnXSkpICRlbmRfdGFnID0gQkJDT0RFX1JFUVVJUkVEOwoJCQkJCWVsc2UgJGVuZF90YWcgPSAkcnVsZVsnZW5kX3RhZyddOwoJCQkJCWFycmF5X3BvcCgkdGhpcy0+c3RhcnRfdGFnc1skbmFtZV0pOwkvLyBSZW1vdmUgdGhlIGxvY2F0b3IgZm9yIHRoaXMgdGFnLgoJCQkJCWlmICgkZW5kX3RhZyA9PSBCQkNPREVfUFJPSElCSVQpIHsKCQkJCQkJLy8gQnJva2VuIHRhZywgc28ganVzdCBwdXNoIGl0IHRvIHRoZSBvdXRwdXQgYXMgSFRNTC4KCQkJCQkJJG91dHB1dFtdID0gQXJyYXkoCgkJCQkJCQlCQkNPREVfU1RBQ0tfVE9LRU4gPT4gQkJDT0RFX1RFWFQsCgkJCQkJCQlCQkNPREVfU1RBQ0tfVEFHID0+IGZhbHNlLAoJCQkJCQkJQkJDT0RFX1NUQUNLX1RFWFQgPT4gJHRva2VuW0JCQ09ERV9TVEFDS19URVhUXSwKCQkJCQkJCUJCQ09ERV9TVEFDS19DTEFTUyA9PiAkdGhpcy0+Y3VycmVudF9jbGFzcywKCQkJCQkJKTsKCQkJCQkJaWYgKCR0aGlzLT5kZWJ1ZykgewoJCQkJCQkJcHJpbnQgIjxiPkludGVybmFsX0dlbmVyYXRlT3V0cHV0OjwvYj4gcHVzaCBicm9rZW4gdGFnOiA8dHQ+IgoJCQkJCQkJCS4gaHRtbHNwZWNpYWxjaGFycygkdG9rZW5bJ3RleHQnXSkgLiAiPC90dD48YnIgLz5cbiI7CgkJCQkJCX0KCQkJCQl9CgkJCQkJZWxzZSB7CgkJCQkJCS8vIEZvdW5kIGEgc3RhcnQgdGFnIHdoZXJlIHRoZSBlbmQgdGFnIGlzIG9wdGlvbmFsLCBvciBhIHN0YXJ0CgkJCQkJCS8vIHRhZyB3aGVyZSB0aGUgZW5kIHRhZyB3YXMgZm9yZ290dGVuLCBzbyB0aGF0IHRhZyBzaG91bGQgYmUKCQkJCQkJLy8gcHJvY2Vzc2VkIHdpdGggdGhlIGN1cnJlbnQgb3V0cHV0IGFzIGl0cyBjb250ZW50LgoJCQkJCQlpZiAoJHRoaXMtPmRlYnVnKSB7CgkJCQkJCQlwcmludCAiPGI+SW50ZXJuYWxfR2VuZXJhdGVPdXRwdXQ6PC9iPiBmb3VuZCBzdGFydCB0YWcgd2l0aCBvcHRpb25hbCBlbmQgdGFnOiA8dHQ+IgoJCQkJCQkJCS4gaHRtbHNwZWNpYWxjaGFycygkdG9rZW5bQkJDT0RFX1NUQUNLX1RFWFRdKSAuICI8L3R0PjxiciAvPlxuIjsKCQkJCQkJfQoKCQkJCQkJLy8gSWYgdGhpcyB3YXMgc3VwcG9zZWQgdG8gaGF2ZSBhbiBlbmQgdGFnLCBhbmQgd2UgZmluZCBhIGZsb2F0aW5nIG9uZQoJCQkJCQkvLyBsYXRlciBvbiwgdGhlbiB3ZSBzaG91bGQgY29uc3VtZSBpdC4KCQkJCQkJaWYgKCRlbmRfdGFnID09IEJCQ09ERV9SRVFVSVJFRCkKCQkJCQkJCUAkdGhpcy0+bG9zdF9zdGFydF90YWdzWyRuYW1lXSArPSAxOwoKCQkJCQkJJGVuZCA9ICR0aGlzLT5JbnRlcm5hbF9DbGVhbnVwV1NCeUl0ZXJhdGluZ1BvaW50ZXIoQCRydWxlWydiZWZvcmVfZW5kdGFnJ10sIDAsICRvdXRwdXQpOwoJCQkJCQkkdGhpcy0+SW50ZXJuYWxfQ2xlYW51cFdTQnlQb3BwaW5nU3RhY2soQCRydWxlWydhZnRlcl90YWcnXSwgJG91dHB1dCk7CgkJCQkJCSR0YWdfYm9keSA9ICR0aGlzLT5JbnRlcm5hbF9Db2xsZWN0VGV4dFJldmVyc2UoJG91dHB1dCwgY291bnQoJG91dHB1dCktMSwgJGVuZCk7CgoJCQkJCQkvLyBOb3RlOiAgV2UgZG9uJ3QgcHJvY2VzcyAnYWZ0ZXJfZW5kdGFnJyBiZWNhdXNlIHRoZSBpbnZpc2libGUgZW5kIHRhZwoJCQkJCQkvLyBhbHdheXMgYnV0dHMgdXAgYWdhaW5zdCBhbm90aGVyIHRhZywgc28gdGhlcmUncyAqbmV2ZXIqIGFueSB3aGl0ZXNwYWNlCgkJCQkJCS8vIGFmdGVyIGl0LiAgQXR0ZW1wdGluZyB0byBwcm9jZXNzICdhZnRlcl9lbmR0YWcnIHdvdWxkIGp1c3QgYmUgYSB3YXN0ZQoJCQkJCQkvLyBvZiB0aW1lIGJlY2F1c2UgaXQnZCBuZXZlciBtYXRjaC4gIEJ1dCAnYmVmb3JlX3RhZycgaXMgdXNlZnVsLCB0aG91Z2guCgkJCQkJCSR0aGlzLT5JbnRlcm5hbF9DbGVhbnVwV1NCeVBvcHBpbmdTdGFjayhAJHJ1bGVbJ2JlZm9yZV90YWcnXSwgJHRoaXMtPnN0YWNrKTsKCgkJCQkJCWlmICgkdGhpcy0+ZGVidWcpIHsKCQkJCQkJCXByaW50ICI8Yj5JbnRlcm5hbF9HZW5lcmF0ZU91dHB1dDo8L2I+IG9wdGlvbmFsLXRhZydzIGNvbnRlbnQ6IDx0dD4iCgkJCQkJCQkJLiBodG1sc3BlY2lhbGNoYXJzKCR0YWdfYm9keSkgLiAiPC90dD48YnIgLz5cbiI7CgkJCQkJCX0KCgkJCQkJCSR0aGlzLT5JbnRlcm5hbF9VcGRhdGVQYXJhbXNGb3JNaXNzaW5nRW5kVGFnKEAkdG9rZW5bQkJDT0RFX1NUQUNLX1RBR10pOwoJCQkJCQkkdGFnX291dHB1dCA9ICR0aGlzLT5Eb1RhZyhCQkNPREVfT1VUUFVULCAkbmFtZSwKCQkJCQkJCUAkdG9rZW5bQkJDT0RFX1NUQUNLX1RBR11bJ19kZWZhdWx0J10sIEAkdG9rZW5bQkJDT0RFX1NUQUNLX1RBR10sICR0YWdfYm9keSk7CgoJCQkJCQlpZiAoJHRoaXMtPmRlYnVnKSB7CgkJCQkJCQlwcmludCAiPGI+SW50ZXJuYWxfR2VuZXJhdGVPdXRwdXQ6PC9iPiBwdXNoIG9wdGlvbmFsLXRhZydzIG91dHB1dDogPHR0PiIKCQkJCQkJCQkuIGh0bWxzcGVjaWFsY2hhcnMoJHRhZ19vdXRwdXQpIC4gIjwvdHQ+PGJyIC8+XG4iOwoJCQkJCQl9CgoJCQkJCQkkb3V0cHV0ID0gQXJyYXkoQXJyYXkoCgkJCQkJCQlCQkNPREVfU1RBQ0tfVE9LRU4gPT4gQkJDT0RFX1RFWFQsCgkJCQkJCQlCQkNPREVfU1RBQ0tfVEFHID0+IGZhbHNlLAoJCQkJCQkJQkJDT0RFX1NUQUNLX1RFWFQgPT4gJHRhZ19vdXRwdXQsCgkJCQkJCQlCQkNPREVfU1RBQ0tfQ0xBU1MgPT4gJHRoaXMtPmN1cnJlbnRfY2xhc3MKCQkJCQkJKSk7CgkJCQkJfQoJCQkJfQoJCQl9CgkJCWlmICgkdGhpcy0+ZGVidWcpIHsKCQkJCXByaW50ICI8Yj5JbnRlcm5hbF9HZW5lcmF0ZU91dHB1dDo8L2I+IGRvbmU7IG91dHB1dCBjb250YWlucyAiIC4gY291bnQoJG91dHB1dCkgLiAiIGl0ZW1zOiA8dHQ+IgoJCQkJCS4gJHRoaXMtPkludGVybmFsX0R1bXBTdGFjaygkb3V0cHV0KSAuICI8L3R0PjxiciAvPlxuIjsKCQkJCSRub3V0cHV0ID0gJHRoaXMtPkludGVybmFsX0NvbGxlY3RUZXh0UmV2ZXJzZSgkb3V0cHV0LCBjb3VudCgkb3V0cHV0KSAtIDEpOwoJCQkJcHJpbnQgIjxiPkludGVybmFsX0dlbmVyYXRlT3V0cHV0OjwvYj4gb3V0cHV0OiA8dHQ+IiAuIGh0bWxzcGVjaWFsY2hhcnMoJG5vdXRwdXQpIC4gIjwvdHQ+PGJyIC8+XG4iOwoJCQkJcHJpbnQgIjxiPkludGVybmFsX0dlbmVyYXRlT3V0cHV0OjwvYj4gU3RhY2sgY29udGVudHM6IDx0dD4iIC4gJHRoaXMtPkludGVybmFsX0R1bXBTdGFjaygpIC4gIjwvdHQ+PGJyIC8+XG4iOwoJCQl9CgkJCSR0aGlzLT5JbnRlcm5hbF9Db21wdXRlQ3VycmVudENsYXNzKCk7CgkJCSRCQkNvZGVfUHJvZmlsZXItPkVuZCgnR2VuZXJhdGVPdXRwdXQnKTsKCQkJcmV0dXJuICRvdXRwdXQ7CgkJfQoKCQkvLyBXZSdyZSB0cmFuc2l0aW9uaW5nIGludG8gYSBjbGFzcyB0aGF0J3Mgbm90IGFsbG93ZWQgaW5zaWRlIHRoZSBjdXJyZW50IG9uZQoJCS8vIChsaWtlIHRoZXkgdHJpZWQgdG8gcHV0IGEgW2NlbnRlcl0gdGFnIGluc2lkZSBhIFtiXSB0YWcpLCBzbyB3ZSBuZWVkIHRvCgkJLy8gdW53aW5kIHRoZSBzdGFjaywgb3V0cHV0dGluZyBjb250ZW50IHVudGlsIHdlJ3JlIGluc2lkZSBhIHZhbGlkIHN0YXRlIGFnYWluLgoJCS8vIFRvIGRvIHRoaXMsIHdlIG5lZWQgdG8gd2FsayBiYWNrIGRvd24gdGhlIHN0YWNrLCBzZWFyY2hpbmcgZm9yIGEgY2xhc3MgdGhhdCdzCgkJLy8gaW4gdGhlIGdpdmVuIGxpc3Q7IHdoZW4gd2UgZmluZCBvbmUsIHdlIG91dHB1dCBldmVyeXRoaW5nIGFib3ZlIGl0LiAgVGhlbiB3ZQoJCS8vIG91dHB1dCBldmVyeXRoaW5nIG9uIHRoZSBzdGFjayBmcm9tIHRoZSBnaXZlbiBoZWlnaHQgdG8gdGhlIHRvcCwgaW5jbHVzaXZlLAoJCS8vIGFuZCBwb3AgZXZlcnl0aGluZyBpbiB0aGF0IHJhbmdlLiAgVGhpcyBsZWF2ZXMgYSBCQkNPREVfVEVYVCBlbGVtZW50IG9uIHRoZQoJCS8vIHN0YWNrIHRoYXQgaXMgdGhlIGZ1bGx5LW91dHB1dHRlZCB2ZXJzaW9uIG9mIHRoZSBjb250ZW50LCBhbmQgaXRzIGNsYXNzCgkJLy8gd2lsbCBiZSB0aGUgc2FtZSBhcyB0aGF0IG9mIHRoZSBzdGFjayBlbGVtZW50IGJlZm9yZSBpdCAob3Igcm9vdF9jbGFzcyBpZiB0aGVyZQoJCS8vIGlzIG5vIGVsZW1lbnQgYmVmb3JlIGl0KS4KCQkvLwoJCS8vIFRoaXMgcmV0dXJucyB0cnVlIGlmIHRoZSBzdGFjayBjb3VsZCBiZSByZXdvdW5kIHRvIGEgc2FmZSBzdGF0ZSwgb3IgZmFsc2UKCQkvLyBpZiBubyBzdWNoICJzYWZlIHN0YXRlIiBleGlzdGVkLgoJCWZ1bmN0aW9uIEludGVybmFsX1Jld2luZFRvQ2xhc3MoJGNsYXNzX2xpc3QpIHsKCQkJaWYgKCR0aGlzLT5kZWJ1ZykgewoJCQkJcHJpbnQgIjxiPkludGVybmFsX1Jld2luZFRvQ2xhc3M6PC9iPiBzdGFjayBoYXMgIiAuIGNvdW50KCR0aGlzLT5zdGFjaykKCQkJCQkuICIgaXRlbXM7IGFsbG93ZWQgY2xhc3NlcyBhcmU6IDx0dD4iOwoJCQkJcHJpbnRfcigkY2xhc3NfbGlzdCk7CgkJCQlwcmludCAiPC90dD48YnIgLz5cbiI7CgkJCX0KCgkJCS8vIFdhbGsgYmFja3dhcmQgZnJvbSB0aGUgdG9wIG9mIHRoZSBzdGFjaywgc2VhcmNoaW5nIGZvciBhIHN0YXRlIHdoZXJlCgkJCS8vIHRoZSBuZXcgY2xhc3Mgd2FzIHN0aWxsIGxlZ2FsLgoJCQkkcG9zID0gY291bnQoJHRoaXMtPnN0YWNrKSAtIDE7CgkJCXdoaWxlICgkcG9zID49IDAgJiYgIWluX2FycmF5KCR0aGlzLT5zdGFja1skcG9zXVtCQkNPREVfU1RBQ0tfQ0xBU1NdLCAkY2xhc3NfbGlzdCkpCgkJCQkkcG9zLS07CgkJCWlmICgkcG9zIDwgMCkgewoJCQkJaWYgKCFpbl9hcnJheSgkdGhpcy0+cm9vdF9jbGFzcywgJGNsYXNzX2xpc3QpKQoJCQkJCXJldHVybiBmYWxzZTsKCQkJfQoKCQkJaWYgKCR0aGlzLT5kZWJ1ZykKCQkJCXByaW50ICI8Yj5JbnRlcm5hbF9SZXdpbmRUb0NsYXNzOjwvYj4gcmV3b3VuZCB0byAiIC4gKCRwb3MrMSkgLiAiPGJyIC8+XG4iOwoKCQkJLy8gQ29udmVydCBhbnkgdGFncyBvbiB0aGUgc3RhY2sgZnJvbSAkcG9zKzEgdG8gdGhlIHRvcCwgaW5jbHVzaXZlLCB0bwoJCQkvLyBwbGFpbiB0ZXh0IHRva2VucywgcG9zc2libHkgcHJvY2Vzc2luZyBhbnkgdGFncyB3aGVyZSB0aGUgZW5kIHRhZ3MKCQkJLy8gYXJlIG9wdGlvbmFsLgoJCQkkb3V0cHV0ID0gJHRoaXMtPkludGVybmFsX0dlbmVyYXRlT3V0cHV0KCRwb3MrMSk7CgoJCQkvLyBQdXNoIHRoZSBjbGVhbiB0b2tlbnMgYmFjayBvbnRvIHRoZSBzdGFjay4KCQkJd2hpbGUgKGNvdW50KCRvdXRwdXQpKSB7CgkJCQkkdG9rZW4gPSBhcnJheV9wb3AoJG91dHB1dCk7CgkJCQkkdG9rZW5bQkJDT0RFX1NUQUNLX0NMQVNTXSA9ICR0aGlzLT5jdXJyZW50X2NsYXNzOwoJCQkJJHRoaXMtPnN0YWNrW10gPSAkdG9rZW47CgkJCX0KCgkJCWlmICgkdGhpcy0+ZGVidWcpIHsKCQkJCXByaW50ICI8Yj5JbnRlcm5hbF9SZXdpbmRUb0NsYXNzOjwvYj4gc3RhY2sgaGFzICIgLiBjb3VudCgkdGhpcy0+c3RhY2spCgkJCQkJLiAiIGl0ZW1zIG5vdy48YnIgLz5cbiI7CgkJCX0KCgkJCXJldHVybiB0cnVlOwoJCX0KCgkJLy8gV2UndmUgZm91bmQgYW4gZW5kIHRhZyB3aXRoIHRoZSBnaXZlbiBuYW1lLCBzbyB3YWxrIGJhY2t3YXJkIHVudGlsIHdlCgkJLy8gZmluZCB0aGUgc3RhcnQgdGFnLCBhbmQgdGhlbiBvdXRwdXQgdGhlIGNvbnRlbnRzLgoJCWZ1bmN0aW9uIEludGVybmFsX0ZpbmlzaFRhZygkdGFnX25hbWUpIHsKCQkJaWYgKCR0aGlzLT5kZWJ1ZykgewoJCQkJcHJpbnQgIjxiPkludGVybmFsX0ZpbmlzaFRhZzo8L2I+IHN0YWNrIGhhcyAiIC4gY291bnQoJHRoaXMtPnN0YWNrKQoJCQkJCS4gIiBpdGVtczsgc2VhcmNoaW5nIGZvciBzdGFydCB0YWcgZm9yIDx0dD5bLyIKCQkJCQkuIGh0bWxzcGVjaWFsY2hhcnMoJHRhZ19uYW1lKSAuICJdPC90dD48YnIgLz5cbiI7CgkJCX0KCgkJCS8vIElmIHRoaXMgaXMgYSBtYWxmb3JtZWQgdGFnIGxpa2UgWy9dLCB0ZWxsIHRoZW0gbm93LCBzaW5jZSB0aGVyZSdzCgkJCS8vIG5vIHdheSB3ZSBjYW4gcG9zc2libHkgbWF0Y2ggaXQuCgkJCWlmIChzdHJsZW4oJHRhZ19uYW1lKSA8PSAwKQoJCQkJcmV0dXJuIGZhbHNlOwoKCQkJLy8gVGhpcyBpcyB3aGVyZSB3ZSAqd291bGQqIHdhbGsgYmFja3dhcmQgZnJvbSB0aGUgdG9wIG9mIHRoZSBzdGFjaywgc2VhcmNoaW5nCgkJCS8vIGZvciB0aGUgbWF0Y2hpbmcgc3RhcnQgdGFnIGZvciB0aGlzIGVuZCB0YWcuICBCdXQgc2luY2Ugd2UgcmVjb3JkIHRoZQoJCQkvLyBsb2NhdGlvbnMgb2Ygc3RhcnQgdGFncyBpbiBhIHNlcGFyYXRlIGFycmF5IGluZGV4ZWQgYnkgdGFnIG5hbWUsIHdlIGRvbid0CgkJCS8vIG5lZWQgdG8gc2VhcmNoOiAgV2UgYWxyZWFkeSBrbm93IHdoZXJlIHRoZSBzdGFydCB0YWcgaXMuICBTbyB3ZSBsb29rIHVwCgkJCS8vIHRoZSBsb2NhdGlvbiBvZiB0aGUgc3RhcnQgdGFnIGFuZCByZXdpbmQgcmlnaHQgdG8gdGhhdCBzcG90LiAgVGhpcyBpcyByZWFsbHkKCQkJLy8gb25seSBhIGNvbnN0YW50LXRpbWUgc3BlZWR1cCwgc2luY2UgaW4gdGhlIG5vbi1kZWdlbmVyYXRlIGNhc2VzLAoJCQkvLyBJbnRlcm5hbF9GaW5pc2hUYWcoKSBzdGlsbCBydW5zIGluIE8obikgdGltZS4gIChJbnRlcm5hbF9HZW5lcmF0ZU91dHB1dCgpCgkJCS8vIHJ1bnMgaW4gTyhuKSB0aW1lLCBhbmQgSW50ZXJuYWxfRmluaXNoVGFnKCkgY2FsbHMgaXQuICBCdXQgaW4gdGhlIGRlZ2VuZXJhdGUKCQkJLy8gY2FzZSwgd2hlcmUgdGhlcmUncyBhbiBlbmQgdGFnIHdpdGggbm8gc3RhcnQgdGFnLCB0aGlzIGlzIHNpZ25pZmljYW50bHkKCQkJLy8gZmFzdGVyLCBmb3Igd2hhdGV2ZXIgdGhhdCdzIHdvcnRoLikgIEJ1dCBldmVuIGEgY29uc3RhbnQtdGltZSBzcGVlZHVwIGlzIGEKCQkJLy8gc3BlZWR1cCwgc28gdGhpcyBpcyBvdmVyYWxsIGEgd2luLgoJCQlpZiAoaXNzZXQoJHRoaXMtPnN0YXJ0X3RhZ3NbJHRhZ19uYW1lXSkKCQkJCSYmIGNvdW50KCR0aGlzLT5zdGFydF90YWdzWyR0YWdfbmFtZV0pKQoJCQkJJHBvcyA9IGFycmF5X3BvcCgkdGhpcy0+c3RhcnRfdGFnc1skdGFnX25hbWVdKTsKCQkJZWxzZSAkcG9zID0gLTE7CgoJCQlpZiAoJHRoaXMtPmRlYnVnKQoJCQkJcHJpbnQgIjxiPkludGVybmFsX0ZpbmlzaFRhZzo8L2I+IHJld291bmQgdG8gIiAuICgkcG9zKzEpIC4gIjxiciAvPlxuIjsKCgkJCS8vIElmIHRoZXJlIGlzIG5vIG1hdGNoaW5nIHN0YXJ0IHRhZywgdGhlbiB0aGlzIGlzIGEgZmxvYXRpbmcgKGJhZCkKCQkJLy8gZW5kIHRhZywgc28gdGVsbCB0aGUgY2FsbGVyLgoJCQlpZiAoJHBvcyA8IDApIHJldHVybiBmYWxzZTsKCgkJCS8vIE9rYXksIHdlJ3JlIGRvaW5nIHByZXR0eSBnb29kIGhlcmUuICBXZSBuZWVkIHRvIGRvIHdoaXRlc3BhY2UKCQkJLy8gY2xlYW51cCBmb3IgYWZ0ZXIgdGhlIHN0YXJ0IHRhZyBhbmQgYmVmb3JlIHRoZSBlbmQgdGFnLCB0aG91Z2guICBXZQoJCQkvLyBkbyBlbmQtdGFnIGNsZWFudXAgYnkgcG9wcGluZywgYW5kIHdlIGRvIHN0YXJ0LXRhZyBjbGVhbnVwIGJ5IHNraXBwaW5nCgkJCS8vICRwb3MgZm9yd2FyZC4gIChXZSBhZGQgb25lIGJlY2F1c2Ugd2UndmUgYWN0dWFsbHkgcmV3b3VuZCB0aGUgc3RhY2sKCQkJLy8gdG8gdGhlIHN0YXJ0IHRhZyBpdHNlbGYuKQoJCQkkbmV3cG9zID0gJHRoaXMtPkludGVybmFsX0NsZWFudXBXU0J5SXRlcmF0aW5nUG9pbnRlcihAJHRoaXMtPnRhZ19ydWxlc1skdGFnX25hbWVdWydhZnRlcl90YWcnXSwKCQkJCSRwb3MrMSwgJHRoaXMtPnN0YWNrKTsKCQkJJGRlbHRhID0gJG5ld3BvcyAtICgkcG9zKzEpOwoKCQkJaWYgKCR0aGlzLT5kZWJ1ZykgewoJCQkJcHJpbnQgIjxiPkludGVybmFsX0ZpbmlzaFRhZzo8L2I+IHdoaXRlc3BhY2UgY2xlYW51cCAocnVsZSB3YXMgXCIiCgkJCQkJLiBAJHRoaXMtPnRhZ19ydWxlc1skdGFnX25hbWVdWydhZnRlcl90YWcnXQoJCQkJCS4gIlwiKSBtb3ZlZCBwb2ludGVyIHRvICIgLiAoJG5ld3BvcykgLiAiPGJyIC8+XG4iOwoJCQl9CgoJCQkvLyBPdXRwdXQgZXZlcnl0aGluZyBvbiB0aGUgc3RhY2sgZnJvbSAkcG9zIHRvIHRoZSB0b3AsIGluY2x1c2l2ZSwgYXMKCQkJLy8gcGxhaW4gdGV4dCwgYW5kIHRoZW4gcmV0dXJuIGl0IGFzIGEgc3RyaW5nLCBsZWF2aW5nIHRoZSBzdGFydCB0YWcgb24KCQkJLy8gdGhlIHRvcCBvZiB0aGUgc3RhY2suCgkJCSRvdXRwdXQgPSAkdGhpcy0+SW50ZXJuYWxfR2VuZXJhdGVPdXRwdXQoJG5ld3Bvcyk7CgoJCQkvLyBDbGVhbiBvZmYgYW55IHdoaXRlc3BhY2UgYmVmb3JlIHRoZSBlbmQgdGFnIHRoYXQgZG9lc24ndCBiZWxvbmcgdGhlcmUuCgkJCSRuZXdlbmQgPSAkdGhpcy0+SW50ZXJuYWxfQ2xlYW51cFdTQnlJdGVyYXRpbmdQb2ludGVyKEAkdGhpcy0+dGFnX3J1bGVzWyR0YWdfbmFtZV1bJ2JlZm9yZV9lbmR0YWcnXSwKCQkJCTAsICRvdXRwdXQpOwoJCQkkb3V0cHV0ID0gJHRoaXMtPkludGVybmFsX0NvbGxlY3RUZXh0UmV2ZXJzZSgkb3V0cHV0LCBjb3VudCgkb3V0cHV0KSAtIDEsICRuZXdlbmQpOwoKCQkJaWYgKCR0aGlzLT5kZWJ1ZykKCQkJCXByaW50ICI8Yj5JbnRlcm5hbF9GaW5pc2hUYWc6PC9iPiB3aGl0ZXNwYWNlIGNsZWFudXA6IHBvcHBpbmcgJGRlbHRhIGl0ZW1zPGJyIC8+XG4iOwoKCQkJLy8gQ2xlYW4gdXAgYW55ICdhZnRlcl90YWcnIHdoaXRlc3BhY2Ugd2Ugc2tpcHBlZC4KCQkJd2hpbGUgKCRkZWx0YS0tID4gMCkKCQkJCWFycmF5X3BvcCgkdGhpcy0+c3RhY2spOwoJCQkkdGhpcy0+SW50ZXJuYWxfQ29tcHV0ZUN1cnJlbnRDbGFzcygpOwoKCQkJaWYgKCR0aGlzLT5kZWJ1ZykKCQkJCXByaW50ICI8Yj5JbnRlcm5hbF9GaW5pc2hUYWc6PC9iPiBvdXRwdXQ6IDx0dD4iIC4gaHRtbHNwZWNpYWxjaGFycygkb3V0cHV0KSAuICI8L3R0PjxiciAvPlxuIjsKCgkJCXJldHVybiAkb3V0cHV0OwoJCX0KCgkJLy8gUmVjb21wdXRlIHRoZSBjdXJyZW50IGNsYXNzLCBiYXNlZCBvbiB0aGUgY2xhc3Mgb2YgdGhlIHN0YWNrJ3MgdG9wIGVsZW1lbnQuCgkJZnVuY3Rpb24gSW50ZXJuYWxfQ29tcHV0ZUN1cnJlbnRDbGFzcygpIHsKCQkJaWYgKGNvdW50KCR0aGlzLT5zdGFjaykgPiAwKQoJCQkJJHRoaXMtPmN1cnJlbnRfY2xhc3MgPSAkdGhpcy0+c3RhY2tbY291bnQoJHRoaXMtPnN0YWNrKS0xXVtCQkNPREVfU1RBQ0tfQ0xBU1NdOwoJCQllbHNlICR0aGlzLT5jdXJyZW50X2NsYXNzID0gJHRoaXMtPnJvb3RfY2xhc3M7CgkJCWlmICgkdGhpcy0+ZGVidWcpIHsKCQkJCXByaW50ICI8Yj5JbnRlcm5hbF9Db21wdXRlQ3VycmVudENsYXNzOjwvYj4gY3VycmVudCBjbGFzcyBpcyBub3cgXCI8dHQ+IgoJCQkJCS4gaHRtbHNwZWNpYWxjaGFycygkdGhpcy0+Y3VycmVudF9jbGFzcykgLiAiPC90dD5cIjxiciAvPlxuIjsKCQkJfQoJCX0KCgkJLy8gR2l2ZW4gYSBzdGFjayBvZiB0b2tlbnMgaW4gJGFycmF5LCB3cml0ZSBpdCB0byBhIHN0cmluZyAocG9zc2libHkgd2l0aCBIVE1MCgkJLy8gY29sb3IgYW5kIHN0eWxlIGVuY29kaW5ncyBmb3IgcmVhZGFiaWxpdHksIGlmICRyYXcgaXMgZmFsc2UpLgoJCWZ1bmN0aW9uIEludGVybmFsX0R1bXBTdGFjaygkYXJyYXkgPSBmYWxzZSwgJHJhdyA9IGZhbHNlKSB7CgkJCWlmICghJHJhdykgJHN0cmluZyA9ICI8c3BhbiBzdHlsZT0nY29sb3I6ICMwMEM7Jz4iOwoJCQllbHNlICRzdHJpbmcgPSAiIjsKCQkJaWYgKCRhcnJheSA9PT0gZmFsc2UpCgkJCQkkYXJyYXkgPSAkdGhpcy0+c3RhY2s7CgkJCWZvcmVhY2ggKCRhcnJheSBhcyAkaXRlbSkgewoJCQkJc3dpdGNoIChAJGl0ZW1bQkJDT0RFX1NUQUNLX1RPS0VOXSkgewoJCQkJY2FzZSBCQkNPREVfVEVYVDoKCQkJCQkkc3RyaW5nIC49ICJcIiIgLiBodG1sc3BlY2lhbGNoYXJzKEAkaXRlbVtCQkNPREVfU1RBQ0tfVEVYVF0pIC4gIlwiICI7CgkJCQkJYnJlYWs7CgkJCQljYXNlIEJCQ09ERV9XUzoKCQkJCQkkc3RyaW5nIC49ICJXUyAiOwoJCQkJCWJyZWFrOwoJCQkJY2FzZSBCQkNPREVfTkw6CgkJCQkJJHN0cmluZyAuPSAiTkwgIjsKCQkJCQlicmVhazsKCQkJCWNhc2UgQkJDT0RFX1RBRzoKCQkJCQkkc3RyaW5nIC49ICJbIiAuIGh0bWxzcGVjaWFsY2hhcnMoQCRpdGVtW0JCQ09ERV9TVEFDS19UQUddWydfbmFtZSddKSAuICJdICI7CgkJCQkJYnJlYWs7CgkJCQlkZWZhdWx0OgoJCQkJCSRzdHJpbmcgLj0gInVua25vd24gIjsKCQkJCQlicmVhazsKCQkJCX0KCQkJfQoJCQlpZiAoISRyYXcpICRzdHJpbmcgLj0gIjwvc3Bhbj4iOwoJCQlyZXR1cm4gJHN0cmluZzsKCQl9CgoJCS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCQkvLyAgV2hpdGVzcGFjZSBjbGVhbnVwIHJvdXRpbmVzIChpbnRlcm5hbCkuCgoJCS8vIFdhbGsgZG93biBmcm9tIHRoZSB0b3Agb2YgdGhlIHN0YWNrLCBhbmQgcmVtb3ZlIHdoaXRlc3BhY2UvbmV3bGluZSB0b2tlbnMgZnJvbQoJCS8vIHRoZSB0b3AgYWNjb3JkaW5nIHRvIHRoZSBydWxlcyBpbiB0aGUgZ2l2ZW4gcGF0dGVybi4KCQlmdW5jdGlvbiBJbnRlcm5hbF9DbGVhbnVwV1NCeVBvcHBpbmdTdGFjaygkcGF0dGVybiwgJiRhcnJheSkgewoJCQlpZiAoJHRoaXMtPmRlYnVnKSB7CgkJCQlwcmludCAiPGI+SW50ZXJuYWxfQ2xlYW51cFdTQnlQb3BwaW5nU3RhY2s6PC9iPiBhcnJheSBoYXMgIiAuIGNvdW50KCRhcnJheSkKCQkJCQkuICIgaXRlbXM7IHBhdHRlcm49XCI8dHQ+IgoJCQkJCS4gaHRtbHNwZWNpYWxjaGFycygkcGF0dGVybikgLiAiPC90dD5cIjxiciAvPlxuIjsKCQkJfQoKCQkJaWYgKHN0cmxlbigkcGF0dGVybikgPD0gMCkgcmV0dXJuOwoKCQkJJG9sZGxlbiA9IGNvdW50KCRhcnJheSk7CgkJCWZvcmVhY2ggKHN0cl9zcGxpdCgkcGF0dGVybikgYXMgJGNoYXIpIHsKCQkJCXN3aXRjaCAoJGNoYXIpIHsKCQkJCWNhc2UgJ3MnOgoJCQkJCXdoaWxlIChjb3VudCgkYXJyYXkpID4gMCAmJiAkYXJyYXlbY291bnQoJGFycmF5KS0xXVtCQkNPREVfU1RBQ0tfVE9LRU5dID09IEJCQ09ERV9XUykKCQkJCQkJYXJyYXlfcG9wKCRhcnJheSk7CgkJCQkJYnJlYWs7CgkJCQljYXNlICduJzoKCQkJCQlpZiAoY291bnQoJGFycmF5KSA+IDAgJiYgJGFycmF5W2NvdW50KCRhcnJheSktMV1bQkJDT0RFX1NUQUNLX1RPS0VOXSA9PSBCQkNPREVfTkwpCgkJCQkJCWFycmF5X3BvcCgkYXJyYXkpOwoJCQkJCWJyZWFrOwoJCQkJY2FzZSAnYSc6CgkJCQkJd2hpbGUgKGNvdW50KCRhcnJheSkgPiAwCgkJCQkJCSYmICgoJHRva2VuID0gJGFycmF5W2NvdW50KCRhcnJheSktMV1bQkJDT0RFX1NUQUNLX1RPS0VOXSkgPT0gQkJDT0RFX1dTCgkJCQkJCQl8fCAkdG9rZW4gPT0gQkJDT0RFX05MKSkKCQkJCQkJYXJyYXlfcG9wKCRhcnJheSk7CgkJCQkJYnJlYWs7CgkJCQl9CgkJCX0KCgkJCWlmICgkdGhpcy0+ZGVidWcpIHsKCQkJCXByaW50ICI8Yj5JbnRlcm5hbF9DbGVhbnVwV1NCeVBvcHBpbmdTdGFjazo8L2I+IGFycmF5IG5vdyBoYXMgIiAuIGNvdW50KCRhcnJheSkgLiAiIGl0ZW1zPGJyIC8+XG4iOwoJCQkJcHJpbnQgIjxiPkludGVybmFsX0NsZWFudXBXU0J5UG9wcGluZ1N0YWNrOjwvYj4gYXJyYXk6IDx0dD4iIC4gJHRoaXMtPkludGVybmFsX0R1bXBTdGFjaygkYXJyYXkpCgkJCQkJLiAiPC90dD48YnIgLz5cbiI7CgkJCX0KCgkJCWlmIChjb3VudCgkYXJyYXkpICE9ICRvbGRsZW4pIHsKCQkJCS8vIFdlIG9ubHkgcmVjb21wdXRlIHRoZSBjbGFzcyBpZiBzb21ldGhpbmcgYWN0dWFsbHkgY2hhbmdlZC4KCQkJCSR0aGlzLT5JbnRlcm5hbF9Db21wdXRlQ3VycmVudENsYXNzKCk7CgkJCX0KCQl9CgoJCS8vIFJlYWQgdG9rZW5zIGZyb20gdGhlIGlucHV0LCBhbmQgcmVtb3ZlIHdoaXRlc3BhY2UvbmV3bGluZSB0b2tlbnMgZnJvbSB0aGUgaW5wdXQKCQkvLyBhY2NvcmRpbmcgdG8gdGhlIHJ1bGVzIGluIHRoZSBnaXZlbiBwYXR0ZXJuLgoJCWZ1bmN0aW9uIEludGVybmFsX0NsZWFudXBXU0J5RWF0aW5nSW5wdXQoJHBhdHRlcm4pIHsKCQkJZ2xvYmFsICRCQkNvZGVfUHJvZmlsZXI7CgoJCQlpZiAoJHRoaXMtPmRlYnVnKSB7CgkJCQkkcHRyID0gJHRoaXMtPmxleGVyLT5wdHI7CgkJCQlwcmludCAiPGI+SW50ZXJuYWxfQ2xlYW51cFdTQnlFYXRpbmdJbnB1dDo8L2I+IGlucHV0IHBvaW50ZXIgaXMgYXQgJHB0cjsgcGF0dGVybj1cIjx0dD4iCgkJCQkJLiBodG1sc3BlY2lhbGNoYXJzKCRwYXR0ZXJuKSAuICI8L3R0PlwiPGJyIC8+XG4iOwoJCQl9CgoJCQlpZiAoc3RybGVuKCRwYXR0ZXJuKSA8PSAwKSByZXR1cm47CgoJCQlmb3JlYWNoIChzdHJfc3BsaXQoJHBhdHRlcm4pIGFzICRjaGFyKSB7CgkJCQlzd2l0Y2ggKCRjaGFyKSB7CgkJCQljYXNlICdzJzoKCQkJCQkkQkJDb2RlX1Byb2ZpbGVyLT5CZWdpbignTGV4ZXI6TmV4dFRva2VuJyk7CgkJCQkJJHRva2VuX3R5cGUgPSAkdGhpcy0+bGV4ZXItPk5leHRUb2tlbigpOwoJCQkJCSRCQkNvZGVfUHJvZmlsZXItPkVuZCgnTGV4ZXI6TmV4dFRva2VuJyk7CgkJCQkJd2hpbGUgKCR0b2tlbl90eXBlID09IEJCQ09ERV9XUykgewoJCQkJCQkkQkJDb2RlX1Byb2ZpbGVyLT5CZWdpbignTGV4ZXI6TmV4dFRva2VuJyk7CgkJCQkJCSR0b2tlbl90eXBlID0gJHRoaXMtPmxleGVyLT5OZXh0VG9rZW4oKTsKCQkJCQkJJEJCQ29kZV9Qcm9maWxlci0+RW5kKCdMZXhlcjpOZXh0VG9rZW4nKTsKCQkJCQl9CgkJCQkJJHRoaXMtPmxleGVyLT5VbmdldFRva2VuKCk7CgkJCQkJYnJlYWs7CgkJCQljYXNlICduJzoKCQkJCQkkQkJDb2RlX1Byb2ZpbGVyLT5CZWdpbignTGV4ZXI6TmV4dFRva2VuJyk7CgkJCQkJJHRva2VuX3R5cGUgPSAkdGhpcy0+bGV4ZXItPk5leHRUb2tlbigpOwoJCQkJCSRCQkNvZGVfUHJvZmlsZXItPkVuZCgnTGV4ZXI6TmV4dFRva2VuJyk7CgkJCQkJaWYgKCR0b2tlbl90eXBlICE9IEJCQ09ERV9OTCkKCQkJCQkJJHRoaXMtPmxleGVyLT5VbmdldFRva2VuKCk7CgkJCQkJYnJlYWs7CgkJCQljYXNlICdhJzoKCQkJCQkkQkJDb2RlX1Byb2ZpbGVyLT5CZWdpbignTGV4ZXI6TmV4dFRva2VuJyk7CgkJCQkJJHRva2VuX3R5cGUgPSAkdGhpcy0+bGV4ZXItPk5leHRUb2tlbigpOwoJCQkJCSRCQkNvZGVfUHJvZmlsZXItPkVuZCgnTGV4ZXI6TmV4dFRva2VuJyk7CgkJCQkJd2hpbGUgKCR0b2tlbl90eXBlID09IEJCQ09ERV9XUyB8fCAkdG9rZW5fdHlwZSA9PSBCQkNPREVfTkwpIHsKCQkJCQkJJEJCQ29kZV9Qcm9maWxlci0+QmVnaW4oJ0xleGVyOk5leHRUb2tlbicpOwoJCQkJCQkkdG9rZW5fdHlwZSA9ICR0aGlzLT5sZXhlci0+TmV4dFRva2VuKCk7CgkJCQkJCSRCQkNvZGVfUHJvZmlsZXItPkVuZCgnTGV4ZXI6TmV4dFRva2VuJyk7CgkJCQkJfQoJCQkJCSR0aGlzLT5sZXhlci0+VW5nZXRUb2tlbigpOwoJCQkJCWJyZWFrOwoJCQkJfQoJCQl9CgoJCQlpZiAoJHRoaXMtPmRlYnVnKQoJCQkJcHJpbnQgIjxiPkludGVybmFsX0NsZWFudXBXU0J5RWF0aW5nSW5wdXQ6PC9iPiBpbnB1dCBwb2ludGVyIGlzIG5vdyBhdCB7JHRoaXMtPmxleGVyLT5wdHJ9PGJyIC8+XG4iOwoJCX0KCgkJLy8gUmVhZCB0b2tlbnMgZnJvbSB0aGUgZ2l2ZW4gcG9zaXRpb24gaW4gdGhlIHN0YWNrLCBnb2luZyBmb3J3YXJkIGFzIHdlIG1hdGNoCgkJLy8gdGhlIHJ1bGVzIGluIHRoZSBnaXZlbiBwYXR0ZXJuLiAgUmV0dXJucyB0aGUgZmlyc3QgcG9zaXRpb24gKmFmdGVyKiB0aGUgcGF0dGVybi4KCQlmdW5jdGlvbiBJbnRlcm5hbF9DbGVhbnVwV1NCeUl0ZXJhdGluZ1BvaW50ZXIoJHBhdHRlcm4sICRwb3MsICRhcnJheSkgewoJCQlpZiAoJHRoaXMtPmRlYnVnKSB7CgkJCQlwcmludCAiPGI+SW50ZXJuYWxfQ2xlYW51cFdTQnlJdGVyYXRpbmdQb2ludGVyOjwvYj4gcG9pbnRlciBpcyAkcG9zOyBwYXR0ZXJuPVwiPHR0PiIKCQkJCQkuIGh0bWxzcGVjaWFsY2hhcnMoJHBhdHRlcm4pIC4gIjwvdHQ+XCI8YnIgLz5cbiI7CgkJCX0KCgkJCWlmIChzdHJsZW4oJHBhdHRlcm4pIDw9IDApIHJldHVybiAkcG9zOwoKCQkJZm9yZWFjaCAoc3RyX3NwbGl0KCRwYXR0ZXJuKSBhcyAkY2hhcikgewoJCQkJc3dpdGNoICgkY2hhcikgewoJCQkJY2FzZSAncyc6CgkJCQkJd2hpbGUgKCRwb3MgPCBjb3VudCgkYXJyYXkpICYmICRhcnJheVskcG9zXVtCQkNPREVfU1RBQ0tfVE9LRU5dID09IEJCQ09ERV9XUykKCQkJCQkJJHBvcysrOwoJCQkJCWJyZWFrOwoJCQkJY2FzZSAnbic6CgkJCQkJaWYgKCRwb3MgPCBjb3VudCgkYXJyYXkpICYmICRhcnJheVskcG9zXVtCQkNPREVfU1RBQ0tfVE9LRU5dID09IEJCQ09ERV9OTCkKCQkJCQkJJHBvcysrOwoJCQkJCWJyZWFrOwoJCQkJY2FzZSAnYSc6CgkJCQkJd2hpbGUgKCRwb3MgPCBjb3VudCgkYXJyYXkpCgkJCQkJCSYmICgoJHRva2VuID0gJGFycmF5WyRwb3NdW0JCQ09ERV9TVEFDS19UT0tFTl0pID09IEJCQ09ERV9XUyB8fCAkdG9rZW4gPT0gQkJDT0RFX05MKSkKCQkJCQkJJHBvcysrOwoJCQkJCWJyZWFrOwoJCQkJfQoJCQl9CgkJCWlmICgkdGhpcy0+ZGVidWcpIHsKCQkJCXByaW50ICI8Yj5JbnRlcm5hbF9DbGVhbnVwV1NCeUl0ZXJhdGluZ1BvaW50ZXI6PC9iPiBwb2ludGVyIGlzIG5vdyAkcG9zPGJyIC8+XG4iCgkJCQkJLiAiPGI+SW50ZXJuYWxfQ2xlYW51cFdTQnlJdGVyYXRpbmdQb2ludGVyOjwvYj4gYXJyYXk6IDx0dD4iCgkJCQkJLiAkdGhpcy0+SW50ZXJuYWxfRHVtcFN0YWNrKCRhcnJheSkgLiAiPC90dD48YnIgLz5cbiI7CgkJCX0KCQkJcmV0dXJuICRwb3M7CgkJfQoKCQkvLyBXZSBoYXZlIGEgc3RyaW5nIHRoYXQncyB0b28gbG9uZywgc28gY2hvcCBpdCBvZmYgYXQgYSBzdWl0YWJsZSBicmVhayBzbyB0aGF0IGl0J3MKCQkvLyBubyBsb25nZXIgdGhhbiAkbGltaXQgY2hhcmFjdGVycywgaWYgYXQgYWxsIHBvc3NpYmxlIChpZiB0aGVyZSdzIG5vd2hlcmUgdG8gYnJlYWsKCQkvLyBiZWZvcmUgdGhhdCwgd2UganVzdCBjaG9wIGF0ICRsaW1pdCkuCgkJZnVuY3Rpb24gSW50ZXJuYWxfTGltaXRUZXh0KCRzdHJpbmcsICRsaW1pdCkgewoJCQlpZiAoJHRoaXMtPmRlYnVnKSB7CgkJCQlwcmludCAiPGI+SW50ZXJuYWxfTGltaXRUZXh0OjwvYj4gY2hvcHBpbmcgc3RyaW5nIG9mIGxlbmd0aCAiCgkJCQkJLiBzdHJsZW4oJHN0cmluZykgLiAiIGF0ICRsaW1pdC48YnIgLz5cbiI7CgkJCX0KCQkJJGNodW5rcyA9IHByZWdfc3BsaXQoIi8oW1xceDAwLVxceDIwXSspLyIsICRzdHJpbmcsIC0xLCBQUkVHX1NQTElUX0RFTElNX0NBUFRVUkUpOwoJCQkkb3V0cHV0ID0gIiI7CgkJCWZvcmVhY2ggKCRjaHVua3MgYXMgJGNodW5rKSB7CgkJCQlpZiAoc3RybGVuKCRvdXRwdXQpICsgc3RybGVuKCRjaHVuaykgPiAkbGltaXQpCgkJCQkJYnJlYWs7CgkJCQkkb3V0cHV0IC49ICRjaHVuazsKCQkJfQoJCQkkb3V0cHV0ID0gcnRyaW0oJG91dHB1dCk7CgkJCWlmICgkdGhpcy0+ZGVidWcpCgkJCQlwcmludCAiPGI+SW50ZXJuYWxfTGltaXRUZXh0OjwvYj4gcmVzdWx0aW5nIHN0cmluZyBpcyBsZW5ndGggIiAuIHN0cmxlbigkb3V0cHV0KSAuICIuPGJyIC8+XG4iOwoJCQlyZXR1cm4gJG91dHB1dDsKCQl9CgoJCS8vIElmIHdlJ3ZlIHJlYWNoZWQgdGhlIHRleHQgbGltaXQsIGNsZWFuIHVwIHRoZSBzdGFjaywgcHVzaCB0aGUgbGltaXQgdGFpbCwKCQkvLyBzZXQgdGhlIHdlLWhpdC10aGUtbGltaXQgZmxhZywgYW5kIHJldHVybi4KCQlmdW5jdGlvbiBJbnRlcm5hbF9Eb0xpbWl0KCkgewoJCQkkdGhpcy0+SW50ZXJuYWxfQ2xlYW51cFdTQnlQb3BwaW5nU3RhY2soImEiLCAkdGhpcy0+c3RhY2spOwoKCQkJaWYgKHN0cmxlbigkdGhpcy0+bGltaXRfdGFpbCkgPiAwKSB7CgkJCQkkdGhpcy0+c3RhY2tbXSA9IEFycmF5KAoJCQkJCUJCQ09ERV9TVEFDS19UT0tFTiA9PiBCQkNPREVfVEVYVCwKCQkJCQlCQkNPREVfU1RBQ0tfVEVYVCA9PiAkdGhpcy0+bGltaXRfdGFpbCwKCQkJCQlCQkNPREVfU1RBQ0tfVEFHID0+IGZhbHNlLAoJCQkJCUJCQ09ERV9TVEFDS19DTEFTUyA9PiAkdGhpcy0+Y3VycmVudF9jbGFzcywKCQkJCSk7CgkJCX0KCgkJCSR0aGlzLT53YXNfbGltaXRlZCA9IHRydWU7CgkJfQoKCQkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkJLy8gIFRhZyBldmFsdWF0aW9uIGxvZ2ljIChpbnRlcm5hbCkuCgoJCS8vIFByb2Nlc3MgYSB0YWc6CgkJLy8KCQkvLyAgICRhY3Rpb24gaXMgb25lIG9mIEJCQ09ERV9DSEVDSyBvciBCQkNPREVfT1VUUFVULiAgRHVyaW5nIEJCQ09ERV9DSEVDSywgJGNvbnRlbnRzCgkJLy8gICAgICAgIHdpbGwgKmFsd2F5cyogYmUgdGhlIGVtcHR5IHN0cmluZywgYW5kIHRoaXMgZnVuY3Rpb24gc2hvdWxkIHJldHVybiB0cnVlIGlmCgkJLy8gICAgICAgIHRoZSB0YWcgaXMgbGVnYWwgYmFzZWQgb24gdGhlIGF2YWlsYWJsZSBpbmZvcm1hdGlvbjsgb3IgaXQgc2hvdWxkIHJldHVybgoJCS8vICAgICAgICBmYWxzZSBpZiB0aGUgdGFnIGlzIGlsbGVnYWwuICBEdXJpbmcgQkJDT0RFX09VVFBVVCwgJGNvbnRlbnRzIHdpbGwgYWx3YXlzCgkJLy8gICAgICAgIGJlIHZhbGlkLCBhbmQgdGhpcyBmdW5jdGlvbiBzaG91bGQgcmV0dXJuIEhUTUwuCgkJLy8KCQkvLyAgICR0YWdfbmFtZSBpcyB0aGUgbmFtZSBvZiB0aGUgdGFnIGJlaW5nIHByb2Nlc3NlZC4KCQkvLwoJCS8vICAgJGRlZmF1bHRfdmFsdWUgaXMgdGhlIGRlZmF1bHQgdmFsdWUgZ2l2ZW47IGZvciBleGFtcGxlLCBpbiBbdXJsPWZvb10sIGl0J3MgImZvbyIuCgkJLy8gICAgICAgIFRoaXMgdmFsdWUgaGFzIE5PVCBiZWVuIHBhc3NlZCB0aHJvdWdoIGh0bWxzcGVjaWFsY2hhcnMoKS4KCQkvLwoJCS8vICAgJHBhcmFtcyBpcyBhbiBhcnJheSBvZiBrZXkgPT4gdmFsdWUgcGFyYW1ldGVycyBhc3NvY2lhdGVkIHdpdGggdGhlIHRhZzsgZm9yIGV4YW1wbGUsCgkJLy8gICAgICAgIGluIFtzbWlsZXkgc3JjPXNtaWxlIGFsdD06LSldLCBpdCdzIEFycmF5KCdzcmMnID0+ICJzbWlsZSIsICdhbHQnID0+ICI6LSkiKS4KCQkvLyAgICAgICAgVGhlc2Uga2V5cyBhbmQgdmFsdWVzIGhhdmUgTk9UIGJlZWwgcGFzc2VkIHRocm91Z2ggaHRtbHNwZWNpYWxjaGFycygpLgoJCS8vCgkJLy8gICAkY29udGVudHMgaXMgdGhlIGJvZHkgb2YgdGhlIHRhZyBkdXJpbmcgQkJDT0RFX09VVFBVVC4gIEZvciBleGFtcGxlLCBpbgoJCS8vICAgICAgICBbYl1IZWxsb1svYl0sIGl0J3MgIkhlbGxvIi4gIFRISVMgVkFMVUUgSVMgQUxXQVlTIEhUTUwsIG5vdCBCQkNvZGUuCgkJLy8KCQkvLyBGb3IgQkJDT0RFX0NIRUNLLCB0aGlzIG11c3QgcmV0dXJuIHRydWUgKGlmIHRoZSB0YWcgZGVmaW5pdGlvbiBpcyB2YWxpZCkgb3IgZmFsc2UKCQkvLyAoaWYgdGhlIHRhZyBkZWZpbml0aW9uIGlzIG5vdCB2YWxpZCk7IGZvciBCQkNPREVfT1VUUFVULCB0aGlzIGZ1bmN0aW9uIG11c3QgcmV0dXJuCgkJLy8gSFRNTCBvdXRwdXQuCgkJZnVuY3Rpb24gRG9UYWcoJGFjdGlvbiwgJHRhZ19uYW1lLCAkZGVmYXVsdF92YWx1ZSwgJHBhcmFtcywgJGNvbnRlbnRzKSB7CgkJCSR0YWdfcnVsZSA9IEAkdGhpcy0+dGFnX3J1bGVzWyR0YWdfbmFtZV07CgoJCQlzd2l0Y2ggKCRhY3Rpb24pIHsKCgkJCWNhc2UgQkJDT0RFX0NIRUNLOgoJCQkJaWYgKCR0aGlzLT5kZWJ1ZykKCQkJCQlwcmludCAiPGI+RG9UYWc6PC9iPiBjaGVjayB0YWcgPHR0PlsiIC4gaHRtbHNwZWNpYWxjaGFycygkdGFnX25hbWUpIC4gIl08L3R0PjxiciAvPlxuIjsKCgkJCQlpZiAoaXNzZXQoJHRhZ19ydWxlWydhbGxvdyddKSkgewoJCQkJCS8vIEFuICdhbGxvdycgYXJyYXksIGlmIGdpdmVuLCBvdmVycmlkZXMgdGhlIG90aGVyIGNoZWNrIHRlY2huaXF1ZXMuCgkJCQkJZm9yZWFjaCAoJHRhZ19ydWxlWydhbGxvdyddIGFzICRwYXJhbSA9PiAkcGF0dGVybikgewoJCQkJCQlpZiAoJHBhcmFtID09ICdfY29udGVudCcpICR2YWx1ZSA9ICRjb250ZW50czsKCQkJCQkJZWxzZSBpZiAoJHBhcmFtID09ICdfZGVmYXVsdGNvbnRlbnQnKSB7CgkJCQkJCQlpZiAoc3RybGVuKCRkZWZhdWx0X3ZhbHVlKSkKCQkJCQkJCQkkdmFsdWUgPSAkZGVmYXVsdF92YWx1ZTsKCQkJCQkJCWVsc2UgJHZhbHVlID0gJGNvbnRlbnRzOwoJCQkJCQl9CgkJCQkJCWVsc2UgewoJCQkJCQkJaWYgKGlzc2V0KCRwYXJhbXNbJHBhcmFtXSkpCgkJCQkJCQkJJHZhbHVlID0gJHBhcmFtc1skcGFyYW1dOwoJCQkJCQkJZWxzZSAkdmFsdWUgPSBAJHRhZ19ydWxlWydkZWZhdWx0J11bJHBhcmFtXTsKCQkJCQkJfQoJCQkJCQlpZiAoJHRoaXMtPmRlYnVnKSB7CgkJCQkJCQlwcmludCAiPGI+RG9UYWc6PC9iPiBjaGVjayBwYXJhbWV0ZXIgPHR0PlwiIiAuIGh0bWxzcGVjaWFsY2hhcnMoJHBhcmFtKQoJCQkJCQkJCS4gIlwiPC90dD4sIHZhbHVlIDx0dD5cIiIgLiBodG1sc3BlY2lhbGNoYXJzKCR2YWx1ZSkgLiAiXCIsIGFnYWluc3QgXCIiCgkJCQkJCQkJLiBodG1sc3BlY2lhbGNoYXJzKCRwYXR0ZXJuKSAuICJcIjwvdHQ+PGJyIC8+XG4iOwoJCQkJCQl9CgkJCQkJCWlmICghcHJlZ19tYXRjaCgkcGF0dGVybiwgJHZhbHVlKSkgewoJCQkJCQkJaWYgKCR0aGlzLT5kZWJ1ZykgewoJCQkJCQkJCXByaW50ICI8Yj5Eb1RhZzo8L2I+IHBhcmFtZXRlciA8dHQ+XCIiIC4gaHRtbHNwZWNpYWxjaGFycygkcGFyYW0pCgkJCQkJCQkJCS4gIlwiPC90dD4gZmFpbGVkICdhbGxvdycgY2hlY2suPGJyIC8+XG4iOwoJCQkJCQkJfQoJCQkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJCQl9CgkJCQkJfQoJCQkJCXJldHVybiB0cnVlOwoJCQkJfQoKCQkJCXN3aXRjaCAoQCR0YWdfcnVsZVsnbW9kZSddKSB7CgoJCQkJZGVmYXVsdDoKCQkJCWNhc2UgQkJDT0RFX01PREVfU0lNUExFOgoJCQkJCSRyZXN1bHQgPSB0cnVlOwoJCQkJCWJyZWFrOwoKCQkJCWNhc2UgQkJDT0RFX01PREVfRU5IQU5DRUQ6CgkJCQkJJHJlc3VsdCA9IHRydWU7CgkJCQkJYnJlYWs7CgoJCQkJY2FzZSBCQkNPREVfTU9ERV9JTlRFUk5BTDoKCQkJCQkkcmVzdWx0ID0gQGNhbGxfdXNlcl9mdW5jKEFycmF5KCR0aGlzLCBAJHRhZ19ydWxlWydtZXRob2QnXSksIEJCQ09ERV9DSEVDSywKCQkJCQkJJHRhZ19uYW1lLCAkZGVmYXVsdF92YWx1ZSwgJHBhcmFtcywgJGNvbnRlbnRzKTsKCQkJCQlicmVhazsKCgkJCQljYXNlIEJCQ09ERV9NT0RFX0xJQlJBUlk6CgkJCQkJJHJlc3VsdCA9IEBjYWxsX3VzZXJfZnVuYyhBcnJheSgkdGhpcy0+ZGVmYXVsdHMsIEAkdGFnX3J1bGVbJ21ldGhvZCddKSwgJHRoaXMsIEJCQ09ERV9DSEVDSywKCQkJCQkJJHRhZ19uYW1lLCAkZGVmYXVsdF92YWx1ZSwgJHBhcmFtcywgJGNvbnRlbnRzKTsKCQkJCQlicmVhazsKCgkJCQljYXNlIEJCQ09ERV9NT0RFX0NBTExCQUNLOgoJCQkJCSRyZXN1bHQgPSBAY2FsbF91c2VyX2Z1bmMoQCR0YWdfcnVsZVsnbWV0aG9kJ10sICR0aGlzLCBCQkNPREVfQ0hFQ0ssCgkJCQkJCSR0YWdfbmFtZSwgJGRlZmF1bHRfdmFsdWUsICRwYXJhbXMsICRjb250ZW50cyk7CgkJCQkJYnJlYWs7CgkJCQl9CgoJCQkJaWYgKCR0aGlzLT5kZWJ1ZykgewoJCQkJCXByaW50ICI8Yj5Eb1RhZzo8L2I+IHRhZyA8dHQ+WyIgLiBodG1sc3BlY2lhbGNoYXJzKCR0YWdfbmFtZSkgLiAiXTwvdHQ+IHJldHVybmVkICIKCQkJCQkJLiAoJHJlc3VsdCA/ICJ0cnVlIiA6ICJmYWxzZSIpIC4gIjxiciAvPlxuIjsKCQkJCX0KCgkJCQlyZXR1cm4gJHJlc3VsdDsKCgkJCWNhc2UgQkJDT0RFX09VVFBVVDoKCQkJCWlmICgkdGhpcy0+ZGVidWcpIHsKCQkJCQlwcmludCAiPGI+RG9UYWc6PC9iPiBvdXRwdXQgdGFnIDx0dD5bIiAuIGh0bWxzcGVjaWFsY2hhcnMoJHRhZ19uYW1lKQoJCQkJCQkuICJdPC90dD46IGNvbnRlbnRzPTx0dD4iCgkJCQkJCS4gaHRtbHNwZWNpYWxjaGFycygkY29udGVudHMpIC4gIjwvdHQ+PGJyIC8+XG4iOwoJCQkJfQoKCQkJCWlmICgkdGhpcy0+cGxhaW5fbW9kZSkgewoJCQkJCS8vIEluIHBsYWluIG1vZGUsIHdlIGlnbm9yZSB0aGUgdGFnIHJ1bGVzIGFsbW9zdCBlbnRpcmVseSwgdXNpbmcganVzdAoJCQkJCS8vIHRoZSAncGxhaW5fc3RhcnQnIGFuZCAncGxhaW5fZW5kJyBiZWZvcmUgdGhlIGNvbnRlbnQgc3BlY2lmaWVkIGluCgkJCQkJLy8gdGhlICdwbGFpbl9jb250ZW50JyBtZW1iZXIuCgkJCQkJaWYgKCFpc3NldCgkdGFnX3J1bGVbJ3BsYWluX2NvbnRlbnQnXSkpCgkJCQkJCSRwbGFpbl9jb250ZW50ID0gQXJyYXkoJ19jb250ZW50Jyk7CgkJCQkJZWxzZSAkcGxhaW5fY29udGVudCA9ICR0YWdfcnVsZVsncGxhaW5fY29udGVudCddOwoKCQkJCQkvLyBGaW5kIHRoZSByZXF1ZXN0ZWQgY29udGVudCwgaW4gdGhlIG9yZGVyIHNwZWNpZmllZC4KCQkJCQkkcmVzdWx0ID0gJHBvc3NpYmxlX2NvbnRlbnQgPSAiIjsKCQkJCQlmb3JlYWNoICgkcGxhaW5fY29udGVudCBhcyAkcG9zc2libGVfY29udGVudCkgewoJCQkJCQlpZiAoJHBvc3NpYmxlX2NvbnRlbnQgPT0gJ19jb250ZW50JwoJCQkJCQkJJiYgc3RybGVuKCRjb250ZW50cykgPiAwKSB7CgkJCQkJCQkkcmVzdWx0ID0gJGNvbnRlbnRzOwoJCQkJCQkJYnJlYWs7CgkJCQkJCX0KCQkJCQkJaWYgKGlzc2V0KCRwYXJhbXNbJHBvc3NpYmxlX2NvbnRlbnRdKQoJCQkJCQkJJiYgc3RybGVuKCRwYXJhbXNbJHBvc3NpYmxlX2NvbnRlbnRdKSA+IDApIHsKCQkJCQkJCSRyZXN1bHQgPSBodG1sc3BlY2lhbGNoYXJzKCRwYXJhbXNbJHBvc3NpYmxlX2NvbnRlbnRdKTsKCQkJCQkJCWJyZWFrOwoJCQkJCQl9CgkJCQkJfQoKCQkJCQlpZiAoJHRoaXMtPmRlYnVnKSB7CgkJCQkJCSRjb250ZW50X2xpc3QgPSAiIjsKCQkJCQkJZm9yZWFjaCAoJHBsYWluX2NvbnRlbnQgYXMgJHBvc3NpYmxlX2NvbnRlbnQpCgkJCQkJCQkkY29udGVudF9saXN0IC49IGh0bWxzcGVjaWFsY2hhcnMoJHBvc3NpYmxlX2NvbnRlbnQpIC4gIiwiOwoJCQkJCQlwcmludCAiPGI+RG9UYWc6PC9iPiBwbGFpbi1tb2RlIHRhZzsgcG9zc2libGUgY29udGVudHMgd2VyZSAoJGNvbnRlbnRfbGlzdCk7IHVzaW5nIFwiIgoJCQkJCQkJLiBodG1sc3BlY2lhbGNoYXJzKCRwb3NzaWJsZV9jb250ZW50KSAuICJcIjxiciAvPlxuIjsKCQkJCQl9CgoJCQkJCSRzdGFydCA9IEAkdGFnX3J1bGVbJ3BsYWluX3N0YXJ0J107CgkJCQkJJGVuZCA9IEAkdGFnX3J1bGVbJ3BsYWluX2VuZCddOwoKCQkJCQkvLyBJZiB0aGlzIGlzIGEgbGluayB0YWcsIGZpZ3VyZSBvdXQgaXRzIHRhcmdldC4KCQkJCQlpZiAoaXNzZXQoJHRhZ19ydWxlWydwbGFpbl9saW5rJ10pKSB7CgkJCQkJCS8vIEZpbmQgdGhlIHJlcXVlc3RlZCBsaW5rIHRhcmdldCwgaW4gdGhlIG9yZGVyIHNwZWNpZmllZC4KCQkJCQkJJGxpbmsgPSAkcG9zc2libGVfY29udGVudCA9ICIiOwoJCQkJCQlmb3JlYWNoICgkdGFnX3J1bGVbJ3BsYWluX2xpbmsnXSBhcyAkcG9zc2libGVfY29udGVudCkgewoJCQkJCQkJaWYgKCRwb3NzaWJsZV9jb250ZW50ID09ICdfY29udGVudCcKCQkJCQkJCQkmJiBzdHJsZW4oJGNvbnRlbnRzKSA+IDApIHsKCQkJCQkJCQkkbGluayA9ICR0aGlzLT5VbkhUTUxFbmNvZGUoc3RyaXBfdGFncygkY29udGVudHMpKTsKCQkJCQkJCQlicmVhazsKCQkJCQkJCX0KCQkJCQkJCWlmIChpc3NldCgkcGFyYW1zWyRwb3NzaWJsZV9jb250ZW50XSkKCQkJCQkJCQkmJiBzdHJsZW4oJHBhcmFtc1skcG9zc2libGVfY29udGVudF0pID4gMCkgewoJCQkJCQkJCSRsaW5rID0gJHBhcmFtc1skcG9zc2libGVfY29udGVudF07CgkJCQkJCQkJYnJlYWs7CgkJCQkJCQl9CgkJCQkJCX0KCQkJCQkJJHBhcmFtcyA9IEBwYXJzZV91cmwoJGxpbmspOwoJCQkJCQlpZiAoIWlzX2FycmF5KCRwYXJhbXMpKSAkcGFyYW1zID0gQXJyYXkoKTsKCQkJCQkJJHBhcmFtc1snbGluayddID0gJGxpbms7CgkJCQkJCSRwYXJhbXNbJ3VybCddID0gJGxpbms7CgkJCQkJCSRzdGFydCA9ICR0aGlzLT5GaWxsVGVtcGxhdGUoJHN0YXJ0LCAkcGFyYW1zKTsKCQkJCQkJJGVuZCA9ICR0aGlzLT5GaWxsVGVtcGxhdGUoJGVuZCwgJHBhcmFtcyk7CgkJCQkJfQoKCQkJCQkvLyBDb25zdHJ1Y3QgdGhlIHBsYWluIG91dHB1dCB1c2luZyB0aGUgYXZhaWxhYmxlIGNvbnRlbnQuCgkJCQkJcmV0dXJuICRzdGFydCAuICRyZXN1bHQgLiAkZW5kOwoJCQkJfQoKCQkJCXN3aXRjaCAoQCR0YWdfcnVsZVsnbW9kZSddKSB7CgoJCQkJZGVmYXVsdDoKCQkJCWNhc2UgQkJDT0RFX01PREVfU0lNUExFOgoJCQkJCSRyZXN1bHQgPSBAJHRhZ19ydWxlWydzaW1wbGVfc3RhcnQnXSAuICRjb250ZW50cyAuIEAkdGFnX3J1bGVbJ3NpbXBsZV9lbmQnXTsKCQkJCQlicmVhazsKCgkJCQljYXNlIEJCQ09ERV9NT0RFX0VOSEFOQ0VEOgoJCQkJCSRyZXN1bHQgPSAkdGhpcy0+SW50ZXJuYWxfRG9FbmhhbmNlZFRhZygkdGFnX3J1bGUsICRwYXJhbXMsICRjb250ZW50cyk7CgkJCQkJYnJlYWs7CgoJCQkJY2FzZSBCQkNPREVfTU9ERV9JTlRFUk5BTDoKCQkJCQkkcmVzdWx0ID0gQGNhbGxfdXNlcl9mdW5jKEFycmF5KCR0aGlzLCBAJHRhZ19ydWxlWydtZXRob2QnXSksIEJCQ09ERV9PVVRQVVQsCgkJCQkJCSR0YWdfbmFtZSwgJGRlZmF1bHRfdmFsdWUsICRwYXJhbXMsICRjb250ZW50cyk7CgkJCQkJYnJlYWs7CgoJCQkJY2FzZSBCQkNPREVfTU9ERV9MSUJSQVJZOgoJCQkJCSRyZXN1bHQgPSBAY2FsbF91c2VyX2Z1bmMoQXJyYXkoJHRoaXMtPmRlZmF1bHRzLCBAJHRhZ19ydWxlWydtZXRob2QnXSksICR0aGlzLCBCQkNPREVfT1VUUFVULAoJCQkJCQkkdGFnX25hbWUsICRkZWZhdWx0X3ZhbHVlLCAkcGFyYW1zLCAkY29udGVudHMpOwoJCQkJCWJyZWFrOwoKCQkJCWNhc2UgQkJDT0RFX01PREVfQ0FMTEJBQ0s6CgkJCQkJJHJlc3VsdCA9IEBjYWxsX3VzZXJfZnVuYyhAJHRhZ19ydWxlWydtZXRob2QnXSwgJHRoaXMsIEJCQ09ERV9PVVRQVVQsCgkJCQkJCSR0YWdfbmFtZSwgJGRlZmF1bHRfdmFsdWUsICRwYXJhbXMsICRjb250ZW50cyk7CgkJCQkJYnJlYWs7CgkJCQl9CgoJCQkJaWYgKCR0aGlzLT5kZWJ1ZykgewoJCQkJCXByaW50ICI8Yj5Eb1RhZzo8L2I+IG91dHB1dCB0YWcgPHR0PlsiIC4gaHRtbHNwZWNpYWxjaGFycygkdGFnX25hbWUpCgkJCQkJCS4gIl08L3R0PjogcmVzdWx0PTx0dD4iIC4gaHRtbHNwZWNpYWxjaGFycygkcmVzdWx0KSAuICI8L3R0PjxiciAvPlxuIjsKCQkJCX0KCgkJCQlyZXR1cm4gJHJlc3VsdDsKCgkJCWRlZmF1bHQ6CgkJCQlpZiAoJHRoaXMtPmRlYnVnKQoJCQkJCXByaW50ICI8Yj5Eb1RhZzo8L2I+IHVua25vd24gYWN0aW9uICRhY3Rpb24gcmVxdWVzdGVkLjxiciAvPlxuIjsKCgkJCQlyZXR1cm4gZmFsc2U7CgkJCX0KCQl9CgoJCS8vIEZvcm1hdCBhbiBlbmhhbmNlZCB0YWcsIHdoaWNoIGlzIGxpa2UgYSBzaW1wbGUgdGFnIGJ1dCB1c2VzIGEgc2hvcnQgSFRNTCB0ZW1wbGF0ZQoJCS8vIGZvciBpdHMgZm9ybWF0dGluZyBpbnN0ZWFkLgoJCS8vCgkJLy8gVGhlIHZhcmlhYmxlcyB5b3UgbWF5IHVzZSBhcmUgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIHRhZywgYW5kICdfZGVmYXVsdCcgZm9yIGl0cwoJCS8vIGRlZmF1bHQgdmFsdWUsICdfbmFtZScgZm9yIGl0cyBuYW1lLCBhbmQgJ19jb250ZW50JyBmb3IgaXRzIGNvbnRlbnRzIChib2R5KS4KCQkvLyBOb3RlIHRoYXQgaW4gZW5oYW5jZWQgbW9kZSwgdGhlIHRhZyBwYXJhbWV0ZXJzJyBrZXlzIG11c3QgbWF0Y2ggW2EtekEtWjAtOV86LV0rLAoJCS8vIHRoYXQgaXMsIGFscGhhbnVtZXJpYywgd2l0aCB1bmRlcnNjb3JlLCBjb2xvbiwgb3IgaHlwaGVuLgoJCWZ1bmN0aW9uIEludGVybmFsX0RvRW5oYW5jZWRUYWcoJHRhZ19ydWxlLCAkcGFyYW1zLCAkY29udGVudHMpIHsKCgkJCS8vIFNldCB1cCB0aGUgc3BlY2lhbCAiX2NvbnRlbnQiIGFuZCAiX2RlZmF1bHRjb250ZW50IiBwYXJhbWV0ZXJzLgoJCQkkcGFyYW1zWydfY29udGVudCddID0gJGNvbnRlbnRzOwoJCQkkcGFyYW1zWydfZGVmYXVsdGNvbnRlbnQnXSA9IHN0cmxlbihAJHBhcmFtc1snX2RlZmF1bHQnXSkgPyAkcGFyYW1zWydfZGVmYXVsdCddIDogJGNvbnRlbnRzOwoKCQkJLy8gTm93IHVzZSBjb21tb24gdGVtcGxhdGUtZm9ybWF0dGluZyBsb2dpYy4KCQkJcmV0dXJuICR0aGlzLT5GaWxsVGVtcGxhdGUoQCR0YWdfcnVsZVsndGVtcGxhdGUnXSwgJHBhcmFtcywgQCR0YWdfcnVsZVsnZGVmYXVsdCddKTsKCQl9CgoJCS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCQkvLyAgUGFyc2VyIHRva2VuLXByb2Nlc3Npbmcgcm91dGluZXMgKGludGVybmFsKS4KCgkJLy8gSWYgYW4gZW5kLXRhZyBpcyByZXF1aXJlZC9vcHRpb25hbCBidXQgbWlzc2luZywgd2Ugc2ltdWxhdGUgaXQgaGVyZSBzbyB0aGF0IHRoZQoJCS8vIHJ1bGUgaGFuZGxlcnMgc3RpbGwgc2VlIGEgdmFsaWQgJ19lbmR0YWcnIHBhcmFtZXRlci4gIFRoaXMgd2F5LCBhbGwgcnVsZXMgYWx3YXlzCgkJLy8gc2VlIHZhbGlkICdfZW5kdGFnJyBwYXJhbWV0ZXJzIGV4Y2VwdCBmb3IgcnVsZXMgZm9yIGlzb2xhdGVkIHRhZ3MuCgkJZnVuY3Rpb24gSW50ZXJuYWxfVXBkYXRlUGFyYW1zRm9yTWlzc2luZ0VuZFRhZygmJHBhcmFtcykgewoJCQlzd2l0Y2ggKCR0aGlzLT50YWdfbWFya2VyKSB7CgkJCWNhc2UgJ1snOiAkdGFpbF9tYXJrZXIgPSAnXSc7IGJyZWFrOwoJCQljYXNlICc8JzogJHRhaWxfbWFya2VyID0gJz4nOyBicmVhazsKCQkJY2FzZSAneyc6ICR0YWlsX21hcmtlciA9ICd9JzsgYnJlYWs7CgkJCWNhc2UgJygnOiAkdGFpbF9tYXJrZXIgPSAnKSc7IGJyZWFrOwoJCQlkZWZhdWx0OiAkdGFpbF9tYXJrZXIgPSAkdGhpcy0+dGFnX21hcmtlcjsgYnJlYWs7CgkJCX0KCQkJJHBhcmFtc1snX2VuZHRhZyddID0gJHRoaXMtPnRhZ19tYXJrZXIgLiAnLycgLiAkcGFyYW1zWydfbmFtZSddIC4gJHRhaWxfbWFya2VyOwoJCX0KCgkJLy8gUHJvY2VzcyBhbiBpc29sYXRlZCB0YWcsIGEgdGFnIHRoYXQgaXMgbm90IGFsbG93ZWQgdG8gaGF2ZSBhbiBlbmQgdGFnLgoJCWZ1bmN0aW9uIEludGVybmFsX1Byb2Nlc3NJc29sYXRlZFRhZygkdGFnX25hbWUsICR0YWdfcGFyYW1zLCAkdGFnX3J1bGUpIHsKCQkJaWYgKCR0aGlzLT5kZWJ1ZykgewoJCQkJcHJpbnQgIjxiPlByb2Nlc3NJc29sYXRlZFRhZzo8L2I+IHRhZyA8dHQ+WyIgLiBodG1sc3BlY2lhbGNoYXJzKCR0YWdfbmFtZSkKCQkJCQkuICJdPC90dD4gaXMgaXNvbGF0ZWQ6IG5vIGVuZCB0YWcgYWxsb3dlZCwgc28gcHJvY2Vzc2luZyBpbW1lZGlhdGVseS48YnIgLz5cbiI7CgkJCX0KCgkJCS8vIEFzayB0aGlzIHRhZyBpZiBpdHMgYXR0cmlidXRlcyBhcmUgdmFsaWQ7IHRoaXMgZ2l2ZXMgdGhlIHRhZwoJCQkvLyB0aGUgb3B0aW9uIHRvIHNheSwgbm8sIEknbSBicm9rZW4sIGRvbid0IHRyeSB0byBwcm9jZXNzIG1lLgoJCQlpZiAoISR0aGlzLT5Eb1RhZyhCQkNPREVfQ0hFQ0ssICR0YWdfbmFtZSwgQCR0YWdfcGFyYW1zWydfZGVmYXVsdCddLCAkdGFnX3BhcmFtcywgIiIpKSB7CgkJCQlpZiAoJHRoaXMtPmRlYnVnKSB7CgkJCQkJcHJpbnQgIjxiPlByb2Nlc3NJc29sYXRlZFRhZzo8L2I+IGlzb2xhdGVkIHRhZyA8dHQ+WyIgLiBodG1sc3BlY2lhbGNoYXJzKCR0YWdfbmFtZSkKCQkJCQkJLiAiXTwvdHQ+IHJlamVjdGVkIGl0cyBwYXJhbWV0ZXJzOyBvdXRwdXR0aW5nIGFzIHRleHQgYWZ0ZXIgZml4dXAuPGJyIC8+XG4iOwoJCQkJfQoJCQkJJHRoaXMtPnN0YWNrW10gPSBBcnJheSgKCQkJCQlCQkNPREVfU1RBQ0tfVE9LRU4gPT4gQkJDT0RFX1RFWFQsCgkJCQkJQkJDT0RFX1NUQUNLX1RFWFQgPT4gJHRoaXMtPkZpeHVwT3V0cHV0KCR0aGlzLT5sZXhlci0+dGV4dCksCgkJCQkJQkJDT0RFX1NUQUNLX1RBRyA9PiBmYWxzZSwKCQkJCQlCQkNPREVfU1RBQ0tfQ0xBU1MgPT4gJHRoaXMtPmN1cnJlbnRfY2xhc3MsCgkJCQkpOwoJCQkJcmV0dXJuOwoJCQl9CgoJCQkkdGhpcy0+SW50ZXJuYWxfQ2xlYW51cFdTQnlQb3BwaW5nU3RhY2soQCR0YWdfcnVsZVsnYmVmb3JlX3RhZyddLCAkdGhpcy0+c3RhY2spOwoJCQkkb3V0cHV0ID0gJHRoaXMtPkRvVGFnKEJCQ09ERV9PVVRQVVQsICR0YWdfbmFtZSwgQCR0YWdfcGFyYW1zWydfZGVmYXVsdCddLCAkdGFnX3BhcmFtcywgIiIpOwoJCQkkdGhpcy0+SW50ZXJuYWxfQ2xlYW51cFdTQnlFYXRpbmdJbnB1dChAJHRhZ19ydWxlWydhZnRlcl90YWcnXSk7CgoJCQlpZiAoJHRoaXMtPmRlYnVnKSB7CgkJCQlwcmludCAiPGI+UHJvY2Vzc0lzb2xhdGVkVGFnOjwvYj4gaXNvbGF0ZWQgdGFnIDx0dD5bIiAuIGh0bWxzcGVjaWFsY2hhcnMoJHRhZ19uYW1lKQoJCQkJCS4gIl08L3R0PiBpcyBkb25lOyBwdXNoaW5nIGl0cyBvdXRwdXQ6IDx0dD4iIC4gaHRtbHNwZWNpYWxjaGFycygkb3V0cHV0KSAuICI8L3R0PjxiciAvPlxuIjsKCQkJfQoKCQkJJHRoaXMtPnN0YWNrW10gPSBBcnJheSgKCQkJCUJCQ09ERV9TVEFDS19UT0tFTiA9PiBCQkNPREVfVEVYVCwKCQkJCUJCQ09ERV9TVEFDS19URVhUID0+ICRvdXRwdXQsCgkJCQlCQkNPREVfU1RBQ0tfVEFHID0+IGZhbHNlLAoJCQkJQkJDT0RFX1NUQUNLX0NMQVNTID0+ICR0aGlzLT5jdXJyZW50X2NsYXNzLAoJCQkpOwoJCX0KCgkJLy8gUHJvY2VzcyBhIHZlcmJhdGltIHRhZywgYSB0YWcgd2hvc2UgY29udGVudHMgKGJvZHkpIG11c3Qgbm90IGJlIHByb2Nlc3NlZCBhdCBhbGwuCgkJZnVuY3Rpb24gSW50ZXJuYWxfUHJvY2Vzc1ZlcmJhdGltVGFnKCR0YWdfbmFtZSwgJHRhZ19wYXJhbXMsICR0YWdfcnVsZSkgewoKCQkJLy8gVGhpcyB0YWcgaXMgYSBzcGVjaWFsIHR5cGUgdGhhdCBkaXNhbGxvd3MgYWxsIG90aGVyIGZvcm1hdHRpbmcKCQkJLy8gdGFncyB3aXRoaW4gaXQgYW5kIHdhbnRzIGl0cyBjb250ZW50cyByZXByb2R1Y2VkIHZlcmJhdGltIHVudGlsCgkJCS8vIGl0cyBtYXRjaGluZyBlbmQgdGFnLiAgV2Ugc2F2ZSB0aGUgc3RhdGUgb2YgdGhlIGxleGVyIGluIGNhc2UKCQkJLy8gd2UgY2FuJ3QgZmluZCBhbiBlbmQgdGFnLCBpbiB3aGljaCBjYXNlIHdlJ2xsIGhhdmUgdG8gcmVqZWN0IHRoZQoJCQkvLyBzdGFydCB0YWcgYXMgYnJva2VuLgoJCQkkc3RhdGUgPSAkdGhpcy0+bGV4ZXItPlNhdmVTdGF0ZSgpOwoKCQkJaWYgKCR0aGlzLT5kZWJ1ZykgewoJCQkJcHJpbnQgIjxiPkludGVybmFsX1Byb2Nlc3NWZXJiYXRpbVRhZzo8L2I+IHRhZyA8dHQ+WyIgLiBodG1sc3BlY2lhbGNoYXJzKCR0YWdfbmFtZSkKCQkJCQkuICJdPC90dD4gdXNlcyB2ZXJiYXRpbSBjb250ZW50OiBzZWFyY2hpbmcgZm9yIGVuZCB0YWcuLi48YnIgLz5cbiI7CgkJCX0KCgkJCS8vIFB1c2ggdG9rZW5zIHVudGlsIHdlIGZpbmQgYSBtYXRjaGluZyBlbmQgdGFnIG9yIGVuZC1vZi1pbnB1dC4KCQkJJHN0YXJ0ID0gY291bnQoJHRoaXMtPnN0YWNrKTsKCQkJd2hpbGUgKCgkdG9rZW5fdHlwZSA9ICR0aGlzLT5sZXhlci0+TmV4dFRva2VuKCkpICE9IEJCQ09ERV9FT0kpIHsKCQkJCWlmICgkdG9rZW5fdHlwZSA9PSBCQkNPREVfRU5EVEFHCgkJCQkJJiYgQCR0aGlzLT5sZXhlci0+dGFnWydfbmFtZSddID09ICR0YWdfbmFtZSkgewoJCQkJCS8vIEZvdW5kIHRoZSBlbmQgdGFnLCBzbyB3ZSdyZSBkb25lLgoJCQkJCSRlbmRfdGFnX3BhcmFtcyA9ICR0aGlzLT5sZXhlci0+dGFnOwoJCQkJCWJyZWFrOwoJCQkJfQoJCQkJaWYgKCR0aGlzLT5kZWJ1ZykgewoJCQkJCXByaW50ICI8Yj5JbnRlcm5hbF9Qcm9jZXNzVmVyYmF0aW1UYWc6PC9iPiBwdXNoOiA8dHQ+IgoJCQkJCQkuIGh0bWxzcGVjaWFsY2hhcnMoJHRoaXMtPmxleGVyLT50ZXh0KSAuICI8L3R0PjxiciAvPlxuIjsKCQkJCX0KCgkJCQkvLyBJZiB0aGlzIHRva2VuIHB1c2hlcyB1cyBwYXN0IHRoZSBvdXRwdXQgbGltaXQsIHNwbGl0IGl0IHVwIG9uIGEgd2hpdGVzcGFjZQoJCQkJLy8gYm91bmRhcnksIGFkZCBhcyBtdWNoIGFzIHdlIGNhbiwgYW5kIHRoZW4gYWJvcnQuCgkJCQlpZiAoJHRoaXMtPm91dHB1dF9saW1pdCA+IDAKCQkJCQkmJiAkdGhpcy0+dGV4dF9sZW5ndGggKyBzdHJsZW4oJHRoaXMtPmxleGVyLT50ZXh0KSA+PSAkdGhpcy0+b3V0cHV0X2xpbWl0KSB7CgkJCQkJJHRleHQgPSAkdGhpcy0+SW50ZXJuYWxfTGltaXRUZXh0KCR0aGlzLT5sZXhlci0+dGV4dCwKCQkJCQkJJHRoaXMtPm91dHB1dF9saW1pdCAtICR0aGlzLT50ZXh0X2xlbmd0aCk7CgkJCQkJaWYgKHN0cmxlbigkdGV4dCkgPiAwKSB7CgkJCQkJCSR0aGlzLT50ZXh0X2xlbmd0aCArPSBzdHJsZW4oJHRleHQpOwoJCQkJCQkkdGhpcy0+c3RhY2tbXSA9IEFycmF5KAoJCQkJCQkJQkJDT0RFX1NUQUNLX1RPS0VOID0+IEJCQ09ERV9URVhULAoJCQkJCQkJQkJDT0RFX1NUQUNLX1RFWFQgPT4gJHRoaXMtPkZpeHVwT3V0cHV0KCR0ZXh0KSwKCQkJCQkJCUJCQ09ERV9TVEFDS19UQUcgPT4gZmFsc2UsCgkJCQkJCQlCQkNPREVfU1RBQ0tfQ0xBU1MgPT4gJHRoaXMtPmN1cnJlbnRfY2xhc3MsCgkJCQkJCSk7CgkJCQkJfQoJCQkJCSR0aGlzLT5JbnRlcm5hbF9Eb0xpbWl0KCk7CgkJCQkJYnJlYWs7CgkJCQl9CgkJCQkkdGhpcy0+dGV4dF9sZW5ndGggKz0gc3RybGVuKCR0aGlzLT5sZXhlci0+dGV4dCk7CgoJCQkJJHRoaXMtPnN0YWNrW10gPSBBcnJheSgKCQkJCQlCQkNPREVfU1RBQ0tfVE9LRU4gPT4gJHRva2VuX3R5cGUsCgkJCQkJQkJDT0RFX1NUQUNLX1RFWFQgPT4gaHRtbHNwZWNpYWxjaGFycygkdGhpcy0+bGV4ZXItPnRleHQpLAoJCQkJCUJCQ09ERV9TVEFDS19UQUcgPT4gJHRoaXMtPmxleGVyLT50YWcsCgkJCQkJQkJDT0RFX1NUQUNLX0NMQVNTID0+ICR0aGlzLT5jdXJyZW50X2NsYXNzLAoJCQkJKTsKCQkJfQoKCQkJLy8gV2UndmUgY29sbGVjdGVkIGEgYnVuY2ggb2YgdGV4dCBmb3IgdGhpcyB0YWcuICBOb3csIG1ha2Ugc3VyZSBpdCBlbmRlZCBvbgoJCQkvLyBhIHZhbGlkIGVuZCB0YWcuCgkJCWlmICgkdG9rZW5fdHlwZSA9PSBCQkNPREVfRU9JKSB7CgkJCQkvLyBObyBlbmQgdGFnLCBzbyB3ZSBoYXZlIHRvIHJlamVjdCB0aGUgc3RhcnQgdGFnIGFzIGJyb2tlbiwgYW5kCgkJCQkvLyByZXdpbmQgdGhlIGlucHV0IGJhY2sgdG8gd2hlcmUgaXQgd2FzIHN0aWxsIHNhbmUuCgkJCQlpZiAoJHRoaXMtPmRlYnVnKSB7CgkJCQkJcHJpbnQgIjxiPkludGVybmFsX1Byb2Nlc3NWZXJiYXRpbVRhZzo8L2I+IG5vIGVuZCB0YWc7IHJlYWNoZWQgRU9JLCBzbyByZXdpbmQiCgkJCQkJCS4gIiBhbmQgcHVzaCBzdGFydCB0YWcgYXMgdGV4dCBhZnRlciBmaXh1cC48YnIgLz5cbiI7CgkJCQl9CgkJCQkkdGhpcy0+bGV4ZXItPlJlc3RvcmVTdGF0ZSgkc3RhdGUpOwoJCQkJJHRoaXMtPnN0YWNrW10gPSBBcnJheSgKCQkJCQlCQkNPREVfU1RBQ0tfVE9LRU4gPT4gQkJDT0RFX1RFWFQsCgkJCQkJQkJDT0RFX1NUQUNLX1RFWFQgPT4gJHRoaXMtPkZpeHVwT3V0cHV0KCR0aGlzLT5sZXhlci0+dGV4dCksCgkJCQkJQkJDT0RFX1NUQUNLX1RBRyA9PiBmYWxzZSwKCQkJCQlCQkNPREVfU1RBQ0tfQ0xBU1MgPT4gJHRoaXMtPmN1cnJlbnRfY2xhc3MsCgkJCQkpOwoJCQkJcmV0dXJuOwoJCQl9CgoJCQlpZiAoJHRoaXMtPmRlYnVnKQoJCQkJcHJpbnQgIjxiPkludGVybmFsX1Byb2Nlc3NWZXJiYXRpbVRhZzo8L2I+IGZvdW5kIGVuZCB0YWcuPGJyIC8+XG4iOwoKCQkJLy8gQ2xlYW4gdXAgd2hpdGVzcGFjZSBldmVyeXdoZXJlIGV4Y2VwdCBiZWZvcmUgdGhlIHN0YXJ0IHRhZy4KCQkJJG5ld3N0YXJ0ID0gJHRoaXMtPkludGVybmFsX0NsZWFudXBXU0J5SXRlcmF0aW5nUG9pbnRlcihAJHRhZ19ydWxlWydhZnRlcl90YWcnXSwgJHN0YXJ0LCAkdGhpcy0+c3RhY2spOwoJCQkkdGhpcy0+SW50ZXJuYWxfQ2xlYW51cFdTQnlQb3BwaW5nU3RhY2soQCR0YWdfcnVsZVsnYmVmb3JlX2VuZHRhZyddLCAkdGhpcy0+c3RhY2spOwoJCQkkdGhpcy0+SW50ZXJuYWxfQ2xlYW51cFdTQnlFYXRpbmdJbnB1dChAJHRhZ19ydWxlWydhZnRlcl9lbmR0YWcnXSk7CgoJCQkvLyBDb2xsZWN0IHRoZSBvdXRwdXQgZnJvbSAkbmV3c3RhcnQgdG8gdGhlIHRvcCBvZiB0aGUgc3RhY2ssIGFuZCB0aGVuCgkJCS8vIHF1aWNrbHkgcG9wIG9mZiBhbGwgb2YgdGhvc2UgdG9rZW5zLgoJCQkkY29udGVudCA9ICR0aGlzLT5JbnRlcm5hbF9Db2xsZWN0VGV4dCgkdGhpcy0+c3RhY2ssICRuZXdzdGFydCk7CgkJCWlmICgkdGhpcy0+ZGVidWcpIHsKCQkJCXByaW50ICI8Yj5JbnRlcm5hbF9Qcm9jZXNzVmVyYmF0aW1UYWc6PC9iPiByZW1vdmluZyBzdGFjayBlbGVtZW50cyBzdGFydGluZyBhdCAkc3RhcnQgKHN0YWNrIGhhcyAiCgkJCQkJLiBjb3VudCgkdGhpcy0+c3RhY2spIC4gIiBlbGVtZW50cykuPGJyIC8+XG4iOwoJCQl9CgkJCWFycmF5X3NwbGljZSgkdGhpcy0+c3RhY2ssICRzdGFydCk7CgkJCSR0aGlzLT5JbnRlcm5hbF9Db21wdXRlQ3VycmVudENsYXNzKCk7CgoJCQkvLyBDbGVhbiB1cCB3aGl0ZXNwYWNlIGJlZm9yZSB0aGUgc3RhcnQgdGFnICh0aGUgdGFnIHdhcyBuZXZlciBwdXNoZWQKCQkJLy8gb250byB0aGUgc3RhY2sgaXRzZWxmLCBzbyB3ZSBkb24ndCBuZWVkIHRvIHJlbW92ZSBpdCkuCgkJCSR0aGlzLT5JbnRlcm5hbF9DbGVhbnVwV1NCeVBvcHBpbmdTdGFjayhAJHRhZ19ydWxlWydiZWZvcmVfdGFnJ10sICR0aGlzLT5zdGFjayk7CgoJCQkvLyBGb3VuZCB0aGUgZW5kIHRhZywgc28gcHJvY2VzcyB0aGlzIHRhZyBpbW1lZGlhdGVseSB3aXRoCgkJCS8vIHRoZSBjb250ZW50cyBjb2xsZWN0ZWQgYmV0d2VlbiB0aGVtLiAgTm90ZSB0aGF0IHdlIGRvIE5PVAoJCQkvLyBwYXNzIHRoZSBjb250ZW50cyB0aHJvdWdoIGh0bWxzcGVjaWFsY2hhcnMgb3IgRml4dXBPdXRwdXQKCQkJLy8gb3IgYW55dGhpbmcgZWxzZSB0aGF0IGNvdWxkIHNhbml0aXplIGl0OiAgVGhleSBhc2tlZCBmb3IKCQkJLy8gdmVyYmF0aW0gY29udGVudHMsIHNvIHRoZXkncmUgZ29pbmcgdG8gZ2V0IGl0LgoJCQkkdGFnX3BhcmFtc1snX2VuZHRhZyddID0gJGVuZF90YWdfcGFyYW1zWydfdGFnJ107CgkJCSR0YWdfcGFyYW1zWydfaGFzZW5kJ10gPSB0cnVlOwoJCQkkb3V0cHV0ID0gJHRoaXMtPkRvVGFnKEJCQ09ERV9PVVRQVVQsICR0YWdfbmFtZSwKCQkJCUAkdGFnX3BhcmFtc1snX2RlZmF1bHQnXSwgJHRhZ19wYXJhbXMsICRjb250ZW50KTsKCgkJCWlmICgkdGhpcy0+ZGVidWcpIHsKCQkJCXByaW50ICI8Yj5JbnRlcm5hbF9Qcm9jZXNzVmVyYmF0aW1UYWc6PC9iPiBlbmQgb2YgdmVyYmF0aW0gPHR0PlsiIC4gaHRtbHNwZWNpYWxjaGFycygkdGFnX25hbWUpCgkJCQkJLiAiXTwvdHQ+IHRhZyBwcm9jZXNzaW5nOyBwdXNoIG91dHB1dCBhcyB0ZXh0OiA8dHQ+IiAuIGh0bWxzcGVjaWFsY2hhcnMoJG91dHB1dCkKCQkJCQkuICI8L3R0PjxiciAvPlxuIjsKCQkJfQoKCQkJJHRoaXMtPnN0YWNrW10gPSBBcnJheSgKCQkJCUJCQ09ERV9TVEFDS19UT0tFTiA9PiBCQkNPREVfVEVYVCwKCQkJCUJCQ09ERV9TVEFDS19URVhUID0+ICRvdXRwdXQsCgkJCQlCQkNPREVfU1RBQ0tfVEFHID0+IGZhbHNlLAoJCQkJQkJDT0RFX1NUQUNLX0NMQVNTID0+ICR0aGlzLT5jdXJyZW50X2NsYXNzLAoJCQkpOwoJCX0KCgkJLy8gQ2FsbGVkIHdoZW4gdGhlIHBhcnNlciBoYXMgcmVhZCBhIEJCQ09ERV9UQUcgdG9rZW4uCgkJZnVuY3Rpb24gSW50ZXJuYWxfUGFyc2VTdGFydFRhZ1Rva2VuKCkgewoKCQkJLy8gVGFncyBhcmUgc29tZXdoYXQgY29tcGxpY2F0ZWQsIGJlY2F1c2UgdGhleSBoYXZlIHRvIGRvIHNldmVyYWwgdGhpbmdzCgkJCS8vIGFsbCBhdCBvbmNlLiAgRmlyc3QsIGxldCdzIGxvb2sgdXAgd2hhdCB3ZSBrbm93IGFib3V0IHRoZSB0YWcgd2UndmUKCQkJLy8gZW5jb3VudGVyZWQuCgkJCSR0YWdfcGFyYW1zID0gJHRoaXMtPmxleGVyLT50YWc7CgkJCSR0YWdfbmFtZSA9IEAkdGFnX3BhcmFtc1snX25hbWUnXTsKCQkJaWYgKCR0aGlzLT5kZWJ1ZykgewoJCQkJcHJpbnQgIjxociAvPlxuPGI+SW50ZXJuYWxfUGFyc2VTdGFydFRhZ1Rva2VuOjwvYj4gZ290IHRhZyA8dHQ+WyIKCQkJCQkuIGh0bWxzcGVjaWFsY2hhcnMoJHRhZ19uYW1lKSAuICJdPC90dD4uPGJyIC8+XG4iOwoJCQl9CgoJCQkvLyBNYWtlIHN1cmUgdGhpcyB0YWcgaGFzIGJlZW4gZGVmaW5lZC4KCQkJaWYgKCFpc3NldCgkdGhpcy0+dGFnX3J1bGVzWyR0YWdfbmFtZV0pKSB7CgkJCQlpZiAoJHRoaXMtPmRlYnVnKSB7CgkJCQkJcHJpbnQgIjxiPkludGVybmFsX1BhcnNlU3RhcnRUYWdUb2tlbjo8L2I+IHRhZyA8dHQ+WyIgLiBodG1sc3BlY2lhbGNoYXJzKCR0YWdfbmFtZSkKCQkJCQkJLiAiXTwvdHQ+IGRvZXMgbm90IGV4aXN0OyBwdXNoaW5nIGFzIHRleHQgYWZ0ZXIgZml4dXAuPGJyIC8+XG4iOwoJCQkJfQoJCQkJLy8gSWYgdGhlcmUgaXMgbm8gc3VjaCB0YWcgd2l0aCB0aGlzIG5hbWUsIHRoZW4ganVzdCBwdXNoIHRoZSB0ZXh0IGFzCgkJCQkvLyB0aG91Z2ggaXQgd2FzIHBsYWluIHRleHQuCgkJCQkkdGhpcy0+c3RhY2tbXSA9IEFycmF5KAoJCQkJCUJCQ09ERV9TVEFDS19UT0tFTiA9PiBCQkNPREVfVEVYVCwKCQkJCQlCQkNPREVfU1RBQ0tfVEVYVCA9PiAkdGhpcy0+Rml4dXBPdXRwdXQoJHRoaXMtPmxleGVyLT50ZXh0KSwKCQkJCQlCQkNPREVfU1RBQ0tfVEFHID0+IGZhbHNlLAoJCQkJCUJCQ09ERV9TVEFDS19DTEFTUyA9PiAkdGhpcy0+Y3VycmVudF9jbGFzcywKCQkJCSk7CgkJCQlyZXR1cm47CgkJCX0KCQkJJHRhZ19ydWxlID0gJHRoaXMtPnRhZ19ydWxlc1skdGFnX25hbWVdOwoKCQkJLy8gV2UndmUgZ290IGEga25vd24gdGFnLiAgU2VlIGlmIGl0J3MgdmFsaWQgaW5zaWRlIHRoaXMgY2xhc3M7IGZvciBleGFtcGxlLAoJCQkvLyBpdCdzIGxlZ2FsIHRvIHB1dCBhbiBpbmxpbmUgdGFnIGluc2lkZSBhIGJsb2NrIHRhZywgYnV0IG5vdCBsZWdhbCB0byBwdXQgYQoJCQkvLyBibG9jayB0YWcgaW5zaWRlIGFuIGlubGluZSB0YWcuCgkJCSRhbGxvd19pbiA9IGlzX2FycmF5KCR0YWdfcnVsZVsnYWxsb3dfaW4nXSkKCQkJCT8gJHRhZ19ydWxlWydhbGxvd19pbiddIDogQXJyYXkoJHRoaXMtPnJvb3RfY2xhc3MpOwoJCQlpZiAoIWluX2FycmF5KCR0aGlzLT5jdXJyZW50X2NsYXNzLCAkYWxsb3dfaW4pKSB7CgkJCQkvLyBOb3QgYWxsb3dlZC4gIFJld2luZCB0aGUgc3RhY2sgYmFja3dhcmQgdW50aWwgaXQgaXMgYWxsb3dlZC4KCQkJCWlmICgkdGhpcy0+ZGVidWcpIHsKCQkJCQlwcmludCAiPGI+SW50ZXJuYWxfUGFyc2VTdGFydFRhZ1Rva2VuOjwvYj4gdGFnIDx0dD5bIiAuIGh0bWxzcGVjaWFsY2hhcnMoJHRhZ19uYW1lKQoJCQkJCQkuICJdPC90dD4gaXMgZGlzYWxsb3dlZCBpbnNpZGUgY2xhc3MgPHR0PiIgLiBodG1sc3BlY2lhbGNoYXJzKCR0aGlzLT5jdXJyZW50X2NsYXNzKQoJCQkJCQkuICI8L3R0PjsgcmV3aW5kaW5nIHN0YWNrIHRvIGEgc2FmZSBjbGFzcy48YnIgLz5cbiI7CgkJCQl9CgkJCQlpZiAoISR0aGlzLT5JbnRlcm5hbF9SZXdpbmRUb0NsYXNzKCRhbGxvd19pbikpIHsKCQkJCQlpZiAoJHRoaXMtPmRlYnVnKSB7CgkJCQkJCXByaW50ICI8Yj5JbnRlcm5hbF9QYXJzZVN0YXJ0VGFnVG9rZW46PC9iPiBubyBzYWZlIGNsYXNzIGV4aXN0czsgcmVqZWN0aW5nIgoJCQkJCQkJLiAiIHRoaXMgdGFnIGFzIHRleHQgYWZ0ZXIgZml4dXAuPGJyIC8+XG4iOwoJCQkJCX0KCQkJCQkkdGhpcy0+c3RhY2tbXSA9IEFycmF5KAoJCQkJCQlCQkNPREVfU1RBQ0tfVE9LRU4gPT4gQkJDT0RFX1RFWFQsCgkJCQkJCUJCQ09ERV9TVEFDS19URVhUID0+ICR0aGlzLT5GaXh1cE91dHB1dCgkdGhpcy0+bGV4ZXItPnRleHQpLAoJCQkJCQlCQkNPREVfU1RBQ0tfVEFHID0+IGZhbHNlLAoJCQkJCQlCQkNPREVfU1RBQ0tfQ0xBU1MgPT4gJHRoaXMtPmN1cnJlbnRfY2xhc3MsCgkJCQkJKTsKCQkJCQlyZXR1cm47CgkJCQl9CgkJCX0KCgkJCS8vIE9rYXksIHRoaXMgdGFnIGlzIGFsbG93ZWQgKGluIHRoZW9yeSkuICBOb3cgd2UgbmVlZCB0byBzZWUgd2hldGhlciBpdCdzCgkJCS8vIGEgdGFnIHRoYXQgcmVxdWlyZXMgYW4gZW5kIHRhZywgb3Igd2hldGhlciBpdCdzIGVuZC10YWctb3B0aW9uYWwsIG9yIHdoZXRoZXIKCQkJLy8gaXQncyBlbmQtdGFnLXByb2hpYml0ZWQuICBJZiBpdCdzIGVuZC10YWctcHJvaGliaXRlZCwgdGhlbiB3ZSBwcm9jZXNzIGl0CgkJCS8vIHJpZ2h0IG5vdyAobm8gY29udGVudCk7IG90aGVyd2lzZSwgd2UgcHVzaCBpdCBvbnRvIHRoZSBzdGFjayB0byBkZWZlcgoJCQkvLyBwcm9jZXNzaW5nIGl0IHVudGlsIGVpdGhlciBpdHMgZW5kIHRhZyBpcyBlbmNvdW50ZXJlZCBvciB3ZSByZWFjaCBFT0kuCgkJCSRlbmRfdGFnID0gaXNzZXQoJHRhZ19ydWxlWydlbmRfdGFnJ10pID8gJHRhZ19ydWxlWydlbmRfdGFnJ10gOiBCQkNPREVfUkVRVUlSRUQ7CgoJCQlpZiAoJGVuZF90YWcgPT0gQkJDT0RFX1BST0hJQklUKSB7CgkJCQkvLyBObyBlbmQgdGFnLCBzbyBwcm9jZXNzIHRoaXMgdGFnIFJJR0hUIE5PVy4KCQkJCSR0aGlzLT5JbnRlcm5hbF9Qcm9jZXNzSXNvbGF0ZWRUYWcoJHRhZ19uYW1lLCAkdGFnX3BhcmFtcywgJHRhZ19ydWxlKTsKCQkJCXJldHVybjsKCQkJfQoKCQkJLy8gVGhpcyB0YWcgaGFzIGEgQkJDT0RFX1JFUVVJUkVEIG9yIEJCQ09ERV9PUFRJT05BTCBlbmQgdGFnLCBzbyB3ZSBoYXZlIHRvCgkJCS8vIHB1c2ggdGhpcyB0YWcgb24gdGhlIHN0YWNrIGFuZCBkZWZlciBpdHMgcHJvY2Vzc2luZyB1bnRpbCB3ZSBzZWUgaXRzIGVuZCB0YWcuCgoJCQlpZiAoJHRoaXMtPmRlYnVnKSB7CgkJCQlwcmludCAiPGI+SW50ZXJuYWxfUGFyc2VTdGFydFRhZ1Rva2VuOjwvYj4gdGFnIDx0dD5bIiAuIGh0bWxzcGVjaWFsY2hhcnMoJHRhZ19uYW1lKQoJCQkJCS4gIl08L3R0PiBpcyBhbGxvd2VkIHRvIGhhdmUgYW4gZW5kIHRhZy48YnIgLz5cbiI7CgkJCX0KCgkJCS8vIEFzayB0aGlzIHRhZyBpZiBpdHMgYXR0cmlidXRlcyBhcmUgdmFsaWQ7IHRoaXMgZ2l2ZXMgdGhlIHRhZyB0aGUgb3B0aW9uCgkJCS8vIHRvIHNheSwgbm8sIEknbSBicm9rZW4sIGRvbid0IHRyeSB0byBwcm9jZXNzIG1lLgoJCQlpZiAoISR0aGlzLT5Eb1RhZyhCQkNPREVfQ0hFQ0ssICR0YWdfbmFtZSwgQCR0YWdfcGFyYW1zWydfZGVmYXVsdCddLCAkdGFnX3BhcmFtcywgIiIpKSB7CgkJCQlpZiAoJHRoaXMtPmRlYnVnKSB7CgkJCQkJcHJpbnQgIjxiPkludGVybmFsX1BhcnNlU3RhcnRUYWdUb2tlbjo8L2I+IHRhZyA8dHQ+WyIgLiBodG1sc3BlY2lhbGNoYXJzKCR0YWdfbmFtZSkKCQkJCQkJLiAiXTwvdHQ+IHJlamVjdGVkIGl0cyBwYXJhbWV0ZXJzOyBvdXRwdXR0aW5nIGFzIHRleHQgYWZ0ZXIgZml4dXAuPGJyIC8+XG4iOwoJCQkJfQoJCQkJJHRoaXMtPnN0YWNrW10gPSBBcnJheSgKCQkJCQlCQkNPREVfU1RBQ0tfVE9LRU4gPT4gQkJDT0RFX1RFWFQsCgkJCQkJQkJDT0RFX1NUQUNLX1RFWFQgPT4gJHRoaXMtPkZpeHVwT3V0cHV0KCR0aGlzLT5sZXhlci0+dGV4dCksCgkJCQkJQkJDT0RFX1NUQUNLX1RBRyA9PiBmYWxzZSwKCQkJCQlCQkNPREVfU1RBQ0tfQ0xBU1MgPT4gJHRoaXMtPmN1cnJlbnRfY2xhc3MsCgkJCQkpOwoJCQkJcmV0dXJuOwoJCQl9CgoJCQlpZiAoQCR0YWdfcnVsZVsnY29udGVudCddID09IEJCQ09ERV9WRVJCQVRJTSkgewoJCQkJLy8gVmVyYmF0aW0gdGFncyBoYXZlIHRvIGJlIGhhbmRsZWQgc3BlY2lhbGx5LCBzaW5jZSB0aGV5IGNvbnN1bWUgc3VjY2Vzc2l2ZQoJCQkJLy8gaW5wdXQgaW1tZWRpYXRlbHkuCgkJCQkkdGhpcy0+SW50ZXJuYWxfUHJvY2Vzc1ZlcmJhdGltVGFnKCR0YWdfbmFtZSwgJHRhZ19wYXJhbXMsICR0YWdfcnVsZSk7CgkJCQlyZXR1cm47CgkJCX0KCgkJCS8vIFRoaXMgaXMgYSBub3JtYWwgdGFnIHRoYXQgaGFzIChvciBtYXkgaGF2ZSkgYW4gZW5kIHRhZywgc28ganVzdAoJCQkvLyBwdXNoIGl0IG9udG8gdGhlIHN0YWNrIGFuZCB3YWl0IGZvciB0aGUgZW5kIHRhZyBvciB0aGUgb3V0cHV0CgkJCS8vIGdlbmVyYXRvciB0byBjbGVhbiBpdCB1cC4gIFRoZSBhY3Qgb2YgcHVzaGluZyB0aGlzIGNhdXNlcyB1cyB0bwoJCQkvLyBzd2l0Y2ggdG8gaXRzIGNsYXNzLgoJCQlpZiAoaXNzZXQoJHRhZ19ydWxlWydjbGFzcyddKSkKCQkJCSRuZXdjbGFzcyA9ICR0YWdfcnVsZVsnY2xhc3MnXTsKCQkJZWxzZSAkbmV3Y2xhc3MgPSAkdGhpcy0+cm9vdF9jbGFzczsKCgkJCWlmICgkdGhpcy0+ZGVidWcpIHsKCQkJCXByaW50ICI8Yj5JbnRlcm5hbF9QYXJzZVN0YXJ0VGFnVG9rZW46PC9iPiBwdXNoaW5nIHRhZyA8dHQ+WyIgLiBodG1sc3BlY2lhbGNoYXJzKCR0YWdfbmFtZSkKCQkJCQkuICJdPC90dD4gb250byBzdGFjazsgc3dpdGNoaW5nIHRvIGNsYXNzIDx0dD4iIC4gaHRtbHNwZWNpYWxjaGFycygkbmV3Y2xhc3MpCgkJCQkJLiAiPC90dD4uPGJyIC8+XG4iOwoJCQl9CgoJCQkkdGhpcy0+c3RhY2tbXSA9IEFycmF5KAoJCQkJQkJDT0RFX1NUQUNLX1RPS0VOID0+ICR0aGlzLT5sZXhlci0+dG9rZW4sCgkJCQlCQkNPREVfU1RBQ0tfVEVYVCA9PiAkdGhpcy0+Rml4dXBPdXRwdXQoJHRoaXMtPmxleGVyLT50ZXh0KSwKCQkJCUJCQ09ERV9TVEFDS19UQUcgPT4gJHRoaXMtPmxleGVyLT50YWcsCgkJCQlCQkNPREVfU1RBQ0tfQ0xBU1MgPT4gKCR0aGlzLT5jdXJyZW50X2NsYXNzID0gJG5ld2NsYXNzKSwKCQkJKTsKCgkJCWlmICghaXNzZXQoJHRoaXMtPnN0YXJ0X3RhZ3NbJHRhZ19uYW1lXSkpCgkJCQkkdGhpcy0+c3RhcnRfdGFnc1skdGFnX25hbWVdID0gQXJyYXkoY291bnQoJHRoaXMtPnN0YWNrKS0xKTsKCQkJZWxzZSAkdGhpcy0+c3RhcnRfdGFnc1skdGFnX25hbWVdW10gPSBjb3VudCgkdGhpcy0+c3RhY2spLTE7CgkJfQoKCQkvLyBDYWxsZWQgd2hlbiB0aGUgcGFyc2VyIGhhcyByZWFkIGEgQkJDT0RFX0VORFRBRyB0b2tlbi4KCQlmdW5jdGlvbiBJbnRlcm5hbF9QYXJzZUVuZFRhZ1Rva2VuKCkgewoKCQkJJHRhZ19wYXJhbXMgPSAkdGhpcy0+bGV4ZXItPnRhZzsKCQkJJHRhZ19uYW1lID0gQCR0YWdfcGFyYW1zWydfbmFtZSddOwoJCQlpZiAoJHRoaXMtPmRlYnVnKSB7CgkJCQlwcmludCAiPGhyIC8+XG48Yj5JbnRlcm5hbF9QYXJzZUVuZFRhZ1Rva2VuOjwvYj4gZ290IGVuZCB0YWcgPHR0PlsvIgoJCQkJCS4gaHRtbHNwZWNpYWxjaGFycygkdGFnX25hbWUpIC4gIl08L3R0Pi48YnIgLz5cbiI7CgkJCX0KCgkJCS8vIEdvdCBhbiBlbmQgdGFnLiAgV2FsayBkb3duIHRoZSBzdGFjayBhbmQgc2VlIGlmIHRoZXJlJ3MgYSBtYXRjaGluZwoJCQkvLyBzdGFydCB0YWcgZm9yIGl0IGFueXdoZXJlLiAgSWYgd2UgZmluZCBvbmUsIHdlIHBhY2sgZXZlcnl0aGluZyBiZXR3ZWVuCgkJCS8vIHRoZW0gYXMgb3V0cHV0IEhUTUwsIGFuZCB0aGVuIGhhdmUgdGhlIHRhZyBmb3JtYXQgaXRzZWxmIHdpdGggdGhhdAoJCQkvLyBjb250ZW50LgoJCQkkY29udGVudHMgPSAkdGhpcy0+SW50ZXJuYWxfRmluaXNoVGFnKCR0YWdfbmFtZSk7CgkJCWlmICgkY29udGVudHMgPT09IGZhbHNlKSB7CgkJCQkvLyBUaGVyZSdzIG5vIHN0YXJ0IHRhZyBmb3IgdGhpcyAtLS0gdW5sZXNzIHRoZXJlIHdhcyBhbmQgaXQgd2FzIGluIGEgYmFkCgkJCQkvLyBwbGFjZS4gIElmIHRoZXJlJ3MgYSBzdGFydCB0YWcgd2UgY2FuJ3QgcmVhY2gsIHRoZW4gc3dhbGxvdyB0aGlzIGVuZCB0YWc7CgkJCQkvLyBvdGhlcndpc2UsIGp1c3Qgb3V0cHV0IHRoaXMgZW5kIHRhZyBpdHNlbGYgYXMgcGxhaW4gdGV4dC4KCQkJCWlmICgkdGhpcy0+ZGVidWcpIHsKCQkJCQlwcmludCAiPGI+SW50ZXJuYWxfUGFyc2VFbmRUYWdUb2tlbjo8L2I+IG5vIHN0YXJ0IHRhZyBmb3IgPHR0PlsvIgoJCQkJCQkuIGh0bWxzcGVjaWFsY2hhcnMoJHRhZ19uYW1lKSAuICJdPC90dD47IHB1c2ggYXMgdGV4dCBhZnRlciBmaXh1cC48YnIgLz5cbiI7CgkJCQl9CgkJCQlpZiAoQCR0aGlzLT5sb3N0X3N0YXJ0X3RhZ3NbJHRhZ19uYW1lXSA+IDApIHsKCQkJCQkkdGhpcy0+bG9zdF9zdGFydF90YWdzWyR0YWdfbmFtZV0tLTsKCQkJCX0KCQkJCWVsc2UgewoJCQkJCSR0aGlzLT5zdGFja1tdID0gQXJyYXkoCgkJCQkJCUJCQ09ERV9TVEFDS19UT0tFTiA9PiBCQkNPREVfVEVYVCwKCQkJCQkJQkJDT0RFX1NUQUNLX1RFWFQgPT4gJHRoaXMtPkZpeHVwT3V0cHV0KCR0aGlzLT5sZXhlci0+dGV4dCksCgkJCQkJCUJCQ09ERV9TVEFDS19UQUcgPT4gZmFsc2UsCgkJCQkJCUJCQ09ERV9TVEFDS19DTEFTUyA9PiAkdGhpcy0+Y3VycmVudF9jbGFzcywKCQkJCQkpOwoJCQkJfQoJCQkJcmV0dXJuOwoJCQl9CgoJCQkvLyBGb3VuZCBhIHN0YXJ0IHRhZyBmb3IgdGhpcywgc28gcG9wIGl0IG9mZiB0aGUgc3RhY2ssIHRoZW4gcHJvY2VzcyB0aGUKCQkJLy8gdGFnLCBhbmQgcHVzaCB0aGUgcmVzdWx0IGJhY2sgb250byB0aGUgc3RhY2sgYXMgcGxhaW4gSFRNTC4KCQkJLy8gV2UgZG9uJ3QgbmVlZCB0byBydW4gYSBCQkNPREVfQ0hFQ0sgb24gdGhlIHN0YXJ0IHRhZywgYmVjYXVzZSBpdCB3YXMgYWxyZWFkeQoJCQkvLyBkb25lIHdoZW4gdGhlIHRhZyB3YXMgcHVzaGVkIG9udG8gdGhlIHN0YWNrLgoJCQkkc3RhcnRfdGFnX25vZGUgPSBhcnJheV9wb3AoJHRoaXMtPnN0YWNrKTsKCQkJJHN0YXJ0X3RhZ19wYXJhbXMgPSAkc3RhcnRfdGFnX25vZGVbQkJDT0RFX1NUQUNLX1RBR107CgkJCSR0aGlzLT5JbnRlcm5hbF9Db21wdXRlQ3VycmVudENsYXNzKCk7CgoJCQkkdGhpcy0+SW50ZXJuYWxfQ2xlYW51cFdTQnlQb3BwaW5nU3RhY2soQCR0aGlzLT50YWdfcnVsZXNbJHRhZ19uYW1lXVsnYmVmb3JlX3RhZyddLCAkdGhpcy0+c3RhY2spOwoJCQkkc3RhcnRfdGFnX3BhcmFtc1snX2VuZHRhZyddID0gJHRhZ19wYXJhbXNbJ190YWcnXTsKCQkJJHN0YXJ0X3RhZ19wYXJhbXNbJ19oYXNlbmQnXSA9IHRydWU7CgkJCSRvdXRwdXQgPSAkdGhpcy0+RG9UYWcoQkJDT0RFX09VVFBVVCwgJHRhZ19uYW1lLCBAJHN0YXJ0X3RhZ19wYXJhbXNbJ19kZWZhdWx0J10sCgkJCQkkc3RhcnRfdGFnX3BhcmFtcywgJGNvbnRlbnRzKTsKCQkJJHRoaXMtPkludGVybmFsX0NsZWFudXBXU0J5RWF0aW5nSW5wdXQoQCR0aGlzLT50YWdfcnVsZXNbJHRhZ19uYW1lXVsnYWZ0ZXJfZW5kdGFnJ10pOwoKCQkJaWYgKCR0aGlzLT5kZWJ1ZykgewoJCQkJcHJpbnQgIjxiPkludGVybmFsX1BhcnNlRW5kVGFnVG9rZW46PC9iPiBlbmQgdGFnIDx0dD5bLyIKCQkJCQkuIGh0bWxzcGVjaWFsY2hhcnMoJHRhZ19uYW1lKSAuICJdPC90dD4gZG9uZTsgcHVzaCBvdXRwdXQ6IDx0dD4iCgkJCQkJLiBodG1sc3BlY2lhbGNoYXJzKCRvdXRwdXQpIC4gIjwvdHQ+PGJyIC8+XG4iOwoJCQl9CgoJCQkkdGhpcy0+c3RhY2tbXSA9IEFycmF5KAoJCQkJQkJDT0RFX1NUQUNLX1RPS0VOID0+IEJCQ09ERV9URVhULAoJCQkJQkJDT0RFX1NUQUNLX1RFWFQgPT4gJG91dHB1dCwKCQkJCUJCQ09ERV9TVEFDS19UQUcgPT4gZmFsc2UsCgkJCQlCQkNPREVfU1RBQ0tfQ0xBU1MgPT4gJHRoaXMtPmN1cnJlbnRfY2xhc3MsCgkJCSk7CgkJfQoKCQkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkJLy8gIENvcmUgcGFyc2VyLiAgVGhpcyBpcyB3aGVyZSBhbGwgdGhlIG1hZ2ljIGJlZ2lucyBhbmQgZW5kcy4KCgkJLy8gQ29yZSBwYXJzaW5nIHJvdXRpbmUuICBDYWxsIHdpdGggYSBCQkNvZGUgc3RyaW5nLCBhbmQgaXQgcmV0dXJucyBhbiBIVE1MIHN0cmluZy4KCQlmdW5jdGlvbiBQYXJzZSgkc3RyaW5nKSB7CgkJCWdsb2JhbCAkQkJDb2RlX1Byb2ZpbGVyOwoKCQkJJEJCQ29kZV9Qcm9maWxlciA9IG5ldyBCQkNvZGVfUHJvZmlsZXI7CgkJCSRCQkNvZGVfUHJvZmlsZXItPkJlZ2luKCdfUGFyc2UnKTsKCgkJCWlmICgkdGhpcy0+ZGVidWcpIHsKCQkJCXByaW50ICI8Yj5QYXJzZSBCZWdpbjo8L2I+IGlucHV0IHN0cmluZyBpcyAiIC4gc3RybGVuKCRzdHJpbmcpIC4gIiBjaGFyYWN0ZXJzIGxvbmc6PGJyIC8+XG4iCgkJCQkJLiAiPGI+UGFyc2U6PC9iPiBpbnB1dDogPHR0PiIgLiBodG1sc3BlY2lhbGNoYXJzKGFkZGNzbGFzaGVzKCRzdHJpbmcsICJceDAwLi5ceDFGXFxcIiciKSkKCQkJCQkuICI8L3R0PjxiciAvPlxuIjsKCQkJfQoKCQkJJEJCQ29kZV9Qcm9maWxlci0+QmVnaW4oJ0xleGVyOlNwbGl0Jyk7CgoJCQkvLyBUaGUgbGV4ZXIgaXMgcmVzcG9uc2libGUgZm9yIGNvbnZlcnRpbmcgaW5kaXZpZHVhbCBjaGFyYWN0ZXJzIHRvIHRva2VucywKCQkJLy8gYW5kIHVzZXMgcHJlZ19zcGxpdCB0byBkbyBtb3N0IG9mIGl0cyBtYWdpYy4gIEJlY2F1c2UgaXQgdXNlcyBwcmVnX3NwbGl0CgkJCS8vIGFuZCBub3QgYSBjaGFyYWN0ZXItYnktY2hhcmFjdGVyIHRva2VuaXplciwgdGhlIHN0cnVjdHVyZSBvZiB0aGUgaW5wdXQKCQkJLy8gbXVzdCBiZSBrbm93biBpbiBhZHZhbmNlLCB3aGljaCBpcyB3aHkgdGhlIHRhZyBtYXJrZXIgY2Fubm90IGJlIGNoYW5nZWQKCQkJLy8gZHVyaW5nIHRoZSBwYXJzZS4KCQkJJHRoaXMtPmxleGVyID0gbmV3IEJCQ29kZUxleGVyKCRzdHJpbmcsICR0aGlzLT50YWdfbWFya2VyKTsKCQkJJHRoaXMtPmxleGVyLT5kZWJ1ZyA9ICR0aGlzLT5kZWJ1ZzsKCgkJCSRCQkNvZGVfUHJvZmlsZXItPkVuZCgnTGV4ZXI6U3BsaXQnKTsKCgkJCS8vIElmIHdlJ3JlIGZ1enppbHkgbGltaXRpbmcgdGhlIHRleHQgbGVuZ3RoLCBzZWUgaWYgd2UgbmVlZCB0byBhY3R1YWxseQoJCQkvLyBjdXQgaXQgb2ZmLCBvciBpZiBpdCdzIGNsb3NlIGVub3VnaCB0byBub3QgYmUgd29ydGggdGhlIGVmZm9ydC4KCQkJJG9sZF9vdXRwdXRfbGltaXQgPSAkdGhpcy0+b3V0cHV0X2xpbWl0OwoJCQlpZiAoJHRoaXMtPm91dHB1dF9saW1pdCA+IDApIHsKCQkJCWlmICgkdGhpcy0+ZGVidWcpCgkJCQkJcHJpbnQgIjxiPlBhcnNlOjwvYj4gTGltaXRpbmcgdGV4dCBsZW5ndGggdG8geyR0aGlzLT5vdXRwdXRfbGltaXR9LjxiciAvPlxuIjsKCQkJCWlmIChzdHJsZW4oJHN0cmluZykgPCAkdGhpcy0+b3V0cHV0X2xpbWl0KSB7CgkJCQkJLy8gRWFzeSBjYXNlOiAgQSBzaG9ydCBzdHJpbmcgY2FuJ3QgcG9zc2libHkgYmUgbG9uZ2VyIHRoYW4gdGhlIG91dHB1dAoJCQkJCS8vIGxpbWl0LCBzbyBqdXN0IHR1cm4gb2ZmIHRoZSBvdXRwdXQgbGltaXQuCgkJCQkJJHRoaXMtPm91dHB1dF9saW1pdCA9IDA7CgkJCQkJaWYgKCR0aGlzLT5kZWJ1ZykKCQkJCQkJcHJpbnQgIjxiPlBhcnNlOjwvYj4gTm90IGJvdGhlcmluZyB0byBsaW1pdDogIFRleHQgaXMgdG9vIHNob3J0IGFscmVhZHkuPGJyIC8+XG4iOwoJCQkJfQoJCQkJZWxzZSBpZiAoJHRoaXMtPmxpbWl0X3ByZWNpc2lvbiA+IDApIHsKCQkJCQkvLyBXZSdyZSB1c2luZyBmdXp6eSBwcmVjaXNpb24sIHNvIG1ha2UgYSBndWVzcyBhcyB0byBob3cgbG9uZyB0aGUgdGV4dCBpcywKCQkJCQkvLyBhbmQgdGhlbiBkZWNpZGUgd2hldGhlciB3ZSBjYW4gbGV0IHRoaXMgc3RyaW5nIHNsaWRlIHRocm91Z2ggYmFzZWQgb24gdGhlCgkJCQkJLy8gbGltaXQgcHJlY2lzaW9uLgoJCQkJCSRndWVzc19sZW5ndGggPSAkdGhpcy0+bGV4ZXItPkd1ZXNzVGV4dExlbmd0aCgpOwoJCQkJCWlmICgkdGhpcy0+ZGVidWcpCgkJCQkJCXByaW50ICI8Yj5QYXJzZTo8L2I+IE1heWJlIG5vdDogIEZ1enp5IGxpbWl0aW5nIGVuYWJsZWQsIGFuZCBhcHByb3hpbWF0ZSB0ZXh0IGxlbmd0aCBpcyAkZ3Vlc3NfbGVuZ3RoLjxiciAvPlxuIjsKCQkJCQlpZiAoJGd1ZXNzX2xlbmd0aCA8ICR0aGlzLT5vdXRwdXRfbGltaXQgKiAoJHRoaXMtPmxpbWl0X3ByZWNpc2lvbiArIDEuMCkpIHsKCQkJCQkJaWYgKCR0aGlzLT5kZWJ1ZykKCQkJCQkJCXByaW50ICI8Yj5QYXJzZTo8L2I+IE5vdCBsaW1pdGluZyB0ZXh0OyBpdCdzIGNsb3NlIGVub3VnaCB0byB0aGUgbGltaXQgdG8gYmUgYWNjZXB0YWJsZS48YnIgLz5cbiI7CgkJCQkJCSR0aGlzLT5vdXRwdXRfbGltaXQgPSAwOwoJCQkJCX0KCQkJCQllbHNlIHsKCQkJCQkJaWYgKCR0aGlzLT5kZWJ1ZykKCQkJCQkJCXByaW50ICI8Yj5QYXJzZTo8L2I+IExpbWl0aW5nIHRleHQ7IGl0J3MgZGVmaW5pdGVseSB0b28gbG9uZy48YnIgLz5cbiI7CgkJCQkJfQoJCQkJfQoJCQl9CgoJCQkvLyBUaGUgdG9rZW4gc3RhY2sgaXMgdXNlZCB0byBwZXJmb3JtIGEgZG9jdW1lbnQtdHJlZSB3YWxrIHdpdGhvdXQgYWN0dWFsbHkKCQkJLy8gYnVpbGRpbmcgdGhlIGRvY3VtZW50IHRyZWUsIGFuZCBpcyBhbiBlc3NlbnRpYWwgY29tcG9uZW50IG9mIG91ciBpbnB1dC0KCQkJLy8gdmFsaWRhdGlvbiBhbGdvcml0aG0uCgkJCSR0aGlzLT5zdGFjayA9IEFycmF5KCk7CgoJCQkvLyBUaGVyZSBhcmUgbm8gc3RhcnQgdGFncyAoeWV0KS4KCQkJJHRoaXMtPnN0YXJ0X3RhZ3MgPSBBcnJheSgpOwoKCQkJLy8gVGhlcmUgYXJlIG5vIHVubWF0Y2hlZCBzdGFydCB0YWdzICh5ZXQpLgoJCQkkdGhpcy0+bG9zdF9zdGFydF90YWdzID0gQXJyYXkoKTsKCgkJCS8vIFRoZXJlIGlzIG5vIHRleHQgeWV0LgoJCQkkdGhpcy0+dGV4dF9sZW5ndGggPSAwOwoJCQkkdGhpcy0+d2FzX2xpbWl0ZWQgPSBmYWxzZTsKCgkJCS8vIFJlbW92ZSBhbnkgaW5pdGlhbCB3aGl0ZXNwYWNlIGluIHByZS10cmltIG1vZGUuCgkJCWlmIChzdHJsZW4oJHRoaXMtPnByZV90cmltKSA+IDApCgkJCQkkdGhpcy0+SW50ZXJuYWxfQ2xlYW51cFdTQnlFYXRpbmdJbnB1dCgkdGhpcy0+cHJlX3RyaW0pOwoKCQkJLy8gSW4gcGxhaW4gbW9kZSwgd2UgZ2VuZXJhdGUgbmV3bGluZXMgaW5zdGVhZCBvZiA8YnIgLz4gdGFncy4KCQkJJG5ld2xpbmUgPSAkdGhpcy0+cGxhaW5fbW9kZSA/ICJcbiIgOiAiPGJyIC8+XG4iOwoKCQkJLy8gVGhpcyBpcyBhIGZhaXJseSBzdHJhaWdodGZvcndhcmQgcHVzaC1kb3duIGF1dG9tYXRvbiBvcGVyYXRpbmcgaW4gTEwoMSkgbW9kZS4gIEZvcgoJCQkvLyBjbGFyaXR5J3Mgc2FrZSwgd2UgYnJlYWsgdGhlIHRhZy1wcm9jZXNzaW5nIGNvZGUgaW50byBzZXBhcmF0ZSBmdW5jdGlvbnMsIGJ1dCB3ZQoJCQkvLyBrZWVwIHRoZSB0ZXh0L3doaXRlc3BhY2UvbmV3bGluZSBjb2RlIGhlcmUgZm9yIHBlcmZvcm1hbmNlIHJlYXNvbnMuCgkJCXdoaWxlICh0cnVlKSB7CgkJCQkkQkJDb2RlX1Byb2ZpbGVyLT5CZWdpbignTGV4ZXI6TmV4dFRva2VuJyk7CgkJCQlpZiAoKCR0b2tlbl90eXBlID0gJHRoaXMtPmxleGVyLT5OZXh0VG9rZW4oKSkgPT0gQkJDT0RFX0VPSSkgewoJCQkJCSRCQkNvZGVfUHJvZmlsZXItPkVuZCgnTGV4ZXI6TmV4dFRva2VuJyk7CgkJCQkJYnJlYWs7CgkJCQl9CgoJCQkJaWYgKCR0aGlzLT5kZWJ1ZykKCQkJCQlwcmludCAiPGI+UGFyc2U6PC9iPiBTdGFjayBjb250ZW50czogPHR0PiIgLiAkdGhpcy0+SW50ZXJuYWxfRHVtcFN0YWNrKCkgLiAiPC90dD48YnIgLz5cbiI7CgoJCQkJc3dpdGNoICgkdG9rZW5fdHlwZSkgewoKCQkJCWNhc2UgQkJDT0RFX1RFWFQ6CgkJCQkJLy8gVGV4dCBpcyBsaWtlIGFuIGFyaXRobWV0aWMgb3BlcmFuZCwgc28ganVzdCBwdXNoIGl0IG9udG8gdGhlIHN0YWNrIGJlY2F1c2Ugd2UKCQkJCQkvLyB3b24ndCBrbm93IHdoYXQgdG8gZG8gd2l0aCBpdCB1bnRpbCB3ZSByZWFjaCBhbiBvcGVyYXRvciAoZS5nLiwgYSB0YWcgb3IgRU9JKS4KCQkJCQlpZiAoJHRoaXMtPmRlYnVnKSB7CgkJCQkJCXByaW50ICI8aHIgLz5cbjxiPkludGVybmFsX1BhcnNlVGV4dFRva2VuOjwvYj4gZml4dXAgYW5kIHB1c2ggdGV4dDogPHR0PiIKCQkJCQkJCS4gaHRtbHNwZWNpYWxjaGFycygkdGhpcy0+bGV4ZXItPnRleHQpIC4gIjwvdHQ+PGJyIC8+XG4iOwoJCQkJCX0KCgkJCQkJLy8gSWYgdGhpcyB0b2tlbiBwdXNoZXMgdXMgcGFzdCB0aGUgb3V0cHV0IGxpbWl0LCBzcGxpdCBpdCB1cCBvbiBhIHdoaXRlc3BhY2UKCQkJCQkvLyBib3VuZGFyeSwgYWRkIGFzIG11Y2ggYXMgd2UgY2FuLCBhbmQgdGhlbiBhYm9ydC4KCQkJCQlpZiAoJHRoaXMtPm91dHB1dF9saW1pdCA+IDAKCQkJCQkJJiYgJHRoaXMtPnRleHRfbGVuZ3RoICsgc3RybGVuKCR0aGlzLT5sZXhlci0+dGV4dCkgPj0gJHRoaXMtPm91dHB1dF9saW1pdCkgewoJCQkJCQkkdGV4dCA9ICR0aGlzLT5JbnRlcm5hbF9MaW1pdFRleHQoJHRoaXMtPmxleGVyLT50ZXh0LAoJCQkJCQkJJHRoaXMtPm91dHB1dF9saW1pdCAtICR0aGlzLT50ZXh0X2xlbmd0aCk7CgkJCQkJCWlmIChzdHJsZW4oJHRleHQpID4gMCkgewoJCQkJCQkJJHRoaXMtPnRleHRfbGVuZ3RoICs9IHN0cmxlbigkdGV4dCk7CgkJCQkJCQkkdGhpcy0+c3RhY2tbXSA9IEFycmF5KAoJCQkJCQkJCUJCQ09ERV9TVEFDS19UT0tFTiA9PiBCQkNPREVfVEVYVCwKCQkJCQkJCQlCQkNPREVfU1RBQ0tfVEVYVCA9PiAkdGhpcy0+Rml4dXBPdXRwdXQoJHRleHQpLAoJCQkJCQkJCUJCQ09ERV9TVEFDS19UQUcgPT4gZmFsc2UsCgkJCQkJCQkJQkJDT0RFX1NUQUNLX0NMQVNTID0+ICR0aGlzLT5jdXJyZW50X2NsYXNzLAoJCQkJCQkJKTsKCQkJCQkJfQoJCQkJCQkkdGhpcy0+SW50ZXJuYWxfRG9MaW1pdCgpOwoJCQkJCQlicmVhayAyOwoJCQkJCX0KCQkJCQkkdGhpcy0+dGV4dF9sZW5ndGggKz0gc3RybGVuKCR0aGlzLT5sZXhlci0+dGV4dCk7CgoJCQkJCS8vIFB1c2ggdGhpcyB0ZXh0IHRva2VuIG9udG8gdGhlIHN0YWNrLgoJCQkJCSR0aGlzLT5zdGFja1tdID0gQXJyYXkoCgkJCQkJCUJCQ09ERV9TVEFDS19UT0tFTiA9PiBCQkNPREVfVEVYVCwKCQkJCQkJQkJDT0RFX1NUQUNLX1RFWFQgPT4gJHRoaXMtPkZpeHVwT3V0cHV0KCR0aGlzLT5sZXhlci0+dGV4dCksCgkJCQkJCUJCQ09ERV9TVEFDS19UQUcgPT4gZmFsc2UsCgkJCQkJCUJCQ09ERV9TVEFDS19DTEFTUyA9PiAkdGhpcy0+Y3VycmVudF9jbGFzcywKCQkJCQkpOwoJCQkJCWJyZWFrOwoKCQkJCWNhc2UgQkJDT0RFX1dTOgoJCQkJCS8vIFdoaXRlc3BhY2UgaXMgbGlrZSBhbiBvcGVyYW5kIHRvbywgc28ganVzdCBwdXNoIGl0IG9udG8gdGhlIHN0YWNrLCBidXQKCQkJCQkvLyBzYW5pdGl6ZSBpdCBieSByZW1vdmluZyBhbGwgbm9uLXRhYiBub24tc3BhY2UgY2hhcmFjdGVycy4KCQkJCQlpZiAoJHRoaXMtPmRlYnVnKQoJCQkJCQlwcmludCAiPGhyIC8+XG48Yj5JbnRlcm5hbF9QYXJzZVdoaXRlc3BhY2VUb2tlbjo8L2I+IGZpeHVwIGFuZCBwdXNoIHdoaXRlc3BhY2U8YnIgLz5cbiI7CgoJCQkJCS8vIElmIHRoaXMgdG9rZW4gcHVzaGVzIHVzIHBhc3QgdGhlIG91dHB1dCBsaW1pdCwgZG9uJ3QgcHJvY2VzcyBhbnl0aGluZyBmdXJ0aGVyLgoJCQkJCWlmICgkdGhpcy0+b3V0cHV0X2xpbWl0ID4gMAoJCQkJCQkmJiAkdGhpcy0+dGV4dF9sZW5ndGggKyBzdHJsZW4oJHRoaXMtPmxleGVyLT50ZXh0KSA+PSAkdGhpcy0+b3V0cHV0X2xpbWl0KSB7CgkJCQkJCSR0aGlzLT5JbnRlcm5hbF9Eb0xpbWl0KCk7CgkJCQkJCWJyZWFrIDI7CgkJCQkJfQoJCQkJCSR0aGlzLT50ZXh0X2xlbmd0aCArPSBzdHJsZW4oJHRoaXMtPmxleGVyLT50ZXh0KTsKCgkJCQkJLy8gUHVzaCB0aGlzIHdoaXRlc3BhY2Ugb250byB0aGUgc3RhY2suCgkJCQkJJHRoaXMtPnN0YWNrW10gPSBBcnJheSgKCQkJCQkJQkJDT0RFX1NUQUNLX1RPS0VOID0+IEJCQ09ERV9XUywKCQkJCQkJQkJDT0RFX1NUQUNLX1RFWFQgPT4gJHRoaXMtPmxleGVyLT50ZXh0LAoJCQkJCQlCQkNPREVfU1RBQ0tfVEFHID0+IGZhbHNlLAoJCQkJCQlCQkNPREVfU1RBQ0tfQ0xBU1MgPT4gJHRoaXMtPmN1cnJlbnRfY2xhc3MsCgkJCQkJKTsKCQkJCQlicmVhazsKCgkJCQljYXNlIEJCQ09ERV9OTDoKCQkJCQkvLyBOZXdsaW5lcyBhcmUgcmVhbGx5IGxpa2UgdGFncyBpbiBkaXNndWlzZTogIFRoZXkgaW5zZXJ0IGEgcmVwbGFjZWQKCQkJCQkvLyBlbGVtZW50IGludG8gdGhlIG91dHB1dCwgYW5kIGFyZSBhY3R1YWxseSBtb3JlLW9yLWxlc3MgbGlrZSBwbGFpbiB0ZXh0LgoKCQkJCQlpZiAoJHRoaXMtPmRlYnVnKQoJCQkJCQlwcmludCAiPGhyIC8+XG48Yj5JbnRlcm5hbF9QYXJzZU5ld2xpbmVUb2tlbjo8L2I+IGdvdCBhIG5ld2xpbmUuPGJyIC8+XG4iOwoKCQkJCQlpZiAoJHRoaXMtPmlnbm9yZV9uZXdsaW5lcykgewoJCQkJCQlpZiAoJHRoaXMtPmRlYnVnKQoJCQkJCQkJcHJpbnQgIjxiPkludGVybmFsX1BhcnNlTmV3bGluZVRva2VuOjwvYj4gcHVzaCBuZXdsaW5lIGFzIHdoaXRlc3BhY2UuPGJyIC8+XG4iOwoKCQkJCQkJLy8gSWYgdGhpcyB0b2tlbiBwdXNoZXMgdXMgcGFzdCB0aGUgb3V0cHV0IGxpbWl0LCBkb24ndCBwcm9jZXNzIGFueXRoaW5nIGZ1cnRoZXIuCgkJCQkJCWlmICgkdGhpcy0+b3V0cHV0X2xpbWl0ID4gMAoJCQkJCQkJJiYgJHRoaXMtPnRleHRfbGVuZ3RoICsgMSA+PSAkdGhpcy0+b3V0cHV0X2xpbWl0KSB7CgkJCQkJCQkkdGhpcy0+SW50ZXJuYWxfRG9MaW1pdCgpOwoJCQkJCQkJYnJlYWsgMjsKCQkJCQkJfQoJCQkJCQkkdGhpcy0+dGV4dF9sZW5ndGggKz0gMTsKCgkJCQkJCS8vIEluICRpZ25vcmVfbmV3bGluZXMgbW9kZSwgd2Ugc2ltcGx5IHB1c2ggdGhlIG5ld2xpbmUgYXMgd2hpdGVzcGFjZS4KCQkJCQkJLy8gTm90ZSB0aGF0IHRoaXMgY2FuIHlpZWxkIG91dHB1dCB0aGF0J3Mgc2xpZ2h0bHkgZGlmZmVyZW50IHRoYW4gdGhlCgkJCQkJCS8vIGlucHV0OiAgRm9yIGV4YW1wbGUsIGEgIlxyXG4iIGlucHV0IHdpbGwgcHJvZHVjZSBhICJcbiIgb3V0cHV0OyBidXQKCQkJCQkJLy8gdGhpcyBzaG91bGQgc3RpbGwgYmUgYWNjZXB0YWJsZSwgc2luY2Ugd2UncmUgd29ya2luZyB3aXRoIHRleHQsIG5vdAoJCQkJCQkvLyBiaW5hcnkgZGF0YS4KCQkJCQkJJHRoaXMtPnN0YWNrW10gPSBBcnJheSgKCQkJCQkJCUJCQ09ERV9TVEFDS19UT0tFTiA9PiBCQkNPREVfV1MsCgkJCQkJCQlCQkNPREVfU1RBQ0tfVEVYVCA9PiAiXG4iLAoJCQkJCQkJQkJDT0RFX1NUQUNLX1RBRyA9PiBmYWxzZSwKCQkJCQkJCUJCQ09ERV9TVEFDS19DTEFTUyA9PiAkdGhpcy0+Y3VycmVudF9jbGFzcywKCQkJCQkJKTsKCQkJCQl9CgkJCQkJZWxzZSB7CgkJCQkJCS8vIEFueSB3aGl0ZXNwYWNlIGJlZm9yZSBhIG5ld2xpbmUgaXNuJ3Qgd29ydGggb3V0cHV0dGluZywgc28gaWYgdGhlcmUncwoJCQkJCQkvLyB3aGl0ZXNwYWNlIHNpdHRpbmcgb24gdG9wIG9mIHRoZSBzdGFjaywgcmVtb3ZlIGl0IHNvIHRoYXQgaXQgZG9lc24ndAoJCQkJCQkvLyBnZXQgb3V0cHV0dGVkLgoJCQkJCQkkdGhpcy0+SW50ZXJuYWxfQ2xlYW51cFdTQnlQb3BwaW5nU3RhY2soInMiLCAkdGhpcy0+c3RhY2spOwoKCQkJCQkJaWYgKCR0aGlzLT5kZWJ1ZykKCQkJCQkJCXByaW50ICI8Yj5JbnRlcm5hbF9QYXJzZU5ld2xpbmVUb2tlbjo8L2I+IHB1c2ggbmV3bGluZS48YnIgLz5cbiI7CgoJCQkJCQkvLyBJZiB0aGlzIHRva2VuIHB1c2hlcyB1cyBwYXN0IHRoZSBvdXRwdXQgbGltaXQsIGRvbid0IHByb2Nlc3MgYW55dGhpbmcgZnVydGhlci4KCQkJCQkJaWYgKCR0aGlzLT5vdXRwdXRfbGltaXQgPiAwCgkJCQkJCQkmJiAkdGhpcy0+dGV4dF9sZW5ndGggKyAxID49ICR0aGlzLT5vdXRwdXRfbGltaXQpIHsKCQkJCQkJCSR0aGlzLT5JbnRlcm5hbF9Eb0xpbWl0KCk7CgkJCQkJCQlicmVhayAyOwoJCQkJCQl9CgkJCQkJCSR0aGlzLT50ZXh0X2xlbmd0aCArPSAxOwoKCQkJCQkJLy8gQWRkIHRoZSBuZXdsaW5lIHRvIHRoZSBzdGFjay4KCQkJCQkJJHRoaXMtPnN0YWNrW10gPSBBcnJheSgKCQkJCQkJCUJCQ09ERV9TVEFDS19UT0tFTiA9PiBCQkNPREVfTkwsCgkJCQkJCQlCQkNPREVfU1RBQ0tfVEVYVCA9PiAkbmV3bGluZSwKCQkJCQkJCUJCQ09ERV9TVEFDS19UQUcgPT4gZmFsc2UsCgkJCQkJCQlCQkNPREVfU1RBQ0tfQ0xBU1MgPT4gJHRoaXMtPmN1cnJlbnRfY2xhc3MsCgkJCQkJCSk7CgoJCQkJCQkvLyBBbnkgd2hpdGVzcGFjZSBhZnRlciBhIG5ld2xpbmUgaXMgbWVhbmluZ2xlc3MsIHNvIGlmIHRoZXJlJ3Mgd2hpdGVzcGFjZQoJCQkJCQkvLyBsaW5nZXJpbmcgb24gdGhlIGlucHV0IGFmdGVyIHRoaXMsIHJlbW92ZSBpdCBub3cuCgkJCQkJCSR0aGlzLT5JbnRlcm5hbF9DbGVhbnVwV1NCeUVhdGluZ0lucHV0KCJzIik7CgkJCQkJfQoJCQkJCWJyZWFrOwoKCQkJCWNhc2UgQkJDT0RFX1RBRzoKCQkJCQkvLyBVc2UgYSBzZXBhcmF0ZSBmdW5jdGlvbiB0byBoYW5kbGUgdGFncywgYmVjYXVzZSB0aGV5J3JlIGNvbXBsaWNhdGVkLgoJCQkJCSR0aGlzLT5JbnRlcm5hbF9QYXJzZVN0YXJ0VGFnVG9rZW4oKTsKCQkJCQlicmVhazsKCgkJCQljYXNlIEJCQ09ERV9FTkRUQUc6CgkJCQkJLy8gVXNlIGEgc2VwYXJhdGUgZnVuY3Rpb24gdG8gaGFuZGxlIGVuZCB0YWdzLCBiZWNhdXNlIHRoZXkncmUgY29tcGxpY2F0ZWQuCgkJCQkJJHRoaXMtPkludGVybmFsX1BhcnNlRW5kVGFnVG9rZW4oKTsKCQkJCQlicmVhazsKCgkJCQlkZWZhdWx0OgoJCQkJCWJyZWFrOwoJCQkJfQoJCQl9CgoJCQlpZiAoJHRoaXMtPmRlYnVnKQoJCQkJcHJpbnQgIjxociAvPlxuPGI+UGFyc2UgRG9uZTo8L2I+IGRvbmUgbWFpbiBwYXJzZTsgcGFja2luZyBzdGFjayBhcyB0ZXh0IHN0cmluZy48YnIgLz5cbiI7CgoJCQkvLyBSZW1vdmUgYW55IHRyYWlsaW5nIHdoaXRlc3BhY2UgaW4gcG9zdC10cmltIG1vZGUuCgkJCWlmIChzdHJsZW4oJHRoaXMtPnBvc3RfdHJpbSkgPiAwKQoJCQkJJHRoaXMtPkludGVybmFsX0NsZWFudXBXU0J5UG9wcGluZ1N0YWNrKCR0aGlzLT5wb3N0X3RyaW0sICR0aGlzLT5zdGFjayk7CgoJCQkvLyBFdmVyeXRoaW5nIGxlZnQgb24gdGhlIHN0YWNrIHNob3VsZCBiZSBIVE1MIChvciBicm9rZW4gdGFncyksIHNvIHBvcCBpdAoJCQkvLyBhbGwgb2ZmIGFzIHBsYWluIHRleHQsIGNvbmNhdGVuYXRlIGl0LCBhbmQgcmV0dXJuIGl0LgoJCQkkcmVzdWx0ID0gJHRoaXMtPkludGVybmFsX0dlbmVyYXRlT3V0cHV0KDApOwoJCQkkcmVzdWx0ID0gJHRoaXMtPkludGVybmFsX0NvbGxlY3RUZXh0UmV2ZXJzZSgkcmVzdWx0LCBjb3VudCgkcmVzdWx0KSAtIDEpOwoKCQkJLy8gSWYgd2UgY2hhbmdlZCB0aGUgbGltaXQgKGluIGZ1enp5LWxpbWl0IG1vZGUpLCBzZXQgaXQgYmFjay4KCQkJJHRoaXMtPm91dHB1dF9saW1pdCA9ICRvbGRfb3V0cHV0X2xpbWl0OwoKCQkJLy8gSW4gcGxhaW4gbW9kZSwgd2UgZG8ganVzdCBhICpsaXR0bGUqIG1vcmUgY2xlYW51cCBvbiB0aGUgd2hpdGVzcGFjZSB0byBzaG9ydGVuCgkJCS8vIHRoZSBvdXRwdXQgYXMgbXVjaCBhcyBwb3NzaWJsZS4KCQkJaWYgKCR0aGlzLT5wbGFpbl9tb2RlKSB7CgkJCQkvLyBUdXJuIGFsbCBub24tbmV3bGluZSB3aGl0ZXNwYWNlIGNoYXJhY3RlcnMgaW50byBzaW5nbGUgc3BhY2VzLgoJCQkJJHJlc3VsdCA9IHByZWdfcmVwbGFjZSgiL1tcXHgwMC1cXHgwOVxceDBCLVxceDIwXSsvIiwgIiAiLCAkcmVzdWx0KTsKCQkJCS8vIFR1cm4gbXVsdGlwbGUgbmV3bGluZXMgaW50byBhdCBtb3N0IHR3byBuZXdsaW5lcy4KCQkJCSRyZXN1bHQgPSBwcmVnX3JlcGxhY2UoIi8oPzpbXFx4MjBdKlxcbil7Mix9W1xceDIwXSovIiwgIlxuXG4iLCAkcmVzdWx0KTsKCQkJCS8vIFN0cmlwIG9mZiBhbGwgc3Vycm91bmRpbmcgd2hpdGVzcGFjZS4KCQkJCSRyZXN1bHQgPSB0cmltKCRyZXN1bHQpOwoJCQl9CgoJCQlpZiAoJHRoaXMtPmRlYnVnKSB7CgkJCQlwcmludCAiPGI+UGFyc2U6PC9iPiByZXR1cm46IDx0dD4iIC4gaHRtbHNwZWNpYWxjaGFycyhhZGRjc2xhc2hlcygkcmVzdWx0LCAiXHgwMC4uXHgxRlxcXCInIikpCgkJCQkJLiAiPC90dD48YnIgLz5cbiI7CgkJCX0KCgkJCSRCQkNvZGVfUHJvZmlsZXItPkVuZCgnX1BhcnNlJyk7CgoJCQkvLyRCQkNvZGVfUHJvZmlsZXItPkR1bXBBbGxHcm91cHMoKTsKCgkJCXJldHVybiAkcmVzdWx0OwoJCX0KCX0KCj8+]]></data>
	</file>
	<file>
	  <filename>/_backup/lib/Class.BBCodeEmailAddressValidator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKICAgIC8vICBFbWFpbEFkZHJlc3NWYWxpZGF0b3IgQ2xhc3MKICAgIC8vICBodHRwOi8vY29kZS5nb29nbGUuY29tL3AvcGhwLWVtYWlsLWFkZHJlc3MtdmFsaWRhdGlvbi8KICAgIC8vCiAgICAvLyAgUmVsZWFzZWQgdW5kZXIgTmV3IEJTRCBsaWNlbnNlCiAgICAvLyAgaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9ic2QtbGljZW5zZS5waHAKICAgIC8vCiAgICAvLyAgU2FtcGxlIENvZGUKICAgIC8vICAtLS0tLS0tLS0tLS0tLS0tCiAgICAvLyAgJHZhbGlkYXRvciA9IG5ldyBFbWFpbEFkZHJlc3NWYWxpZGF0b3I7CiAgICAvLyAgaWYgKCR2YWxpZGF0b3ItPmNoZWNrX2VtYWlsX2FkZHJlc3MoJ3Rlc3RAZXhhbXBsZS5vcmcnKSkgewogICAgLy8gICAgICAvLyBFbWFpbCBhZGRyZXNzIGlzIHRlY2huaWNhbGx5IHZhbGlkCiAgICAvLyAgfQogICAgLy8KICAgIC8vICAqIE5vdGU6ICBUaGlzIHZlcnNpb24gaXMgc2xpZ2h0bHkgbW9kaWZpZWQgZm9yIFBIUDQgY29tcGF0aWJpbGl0eQogICAgLy8gICAgICBhbmQgdG8gd29yayB3ZWxsIHdpdGggTkJCQy4gIFlvdSBjYW4gZ2V0IHRoZSBvcmlnaW5hbCBhdAogICAgLy8gICAgICB0aGUgVVJMIHNob3duIGFib3ZlLgoKICAgIGNsYXNzIEJCQ29kZUVtYWlsQWRkcmVzc1ZhbGlkYXRvciB7CgogICAgICAgIC8vIENoZWNrIGVtYWlsIGFkZHJlc3MgdmFsaWRpdHkKICAgICAgICAvLyBAcGFyYW0gICBzdHJFbWFpbEFkZHJlc3MgICAgIEVtYWlsIGFkZHJlc3MgdG8gYmUgY2hlY2tlZAogICAgICAgIC8vIEByZXR1cm4gIFRydWUgaWYgZW1haWwgaXMgdmFsaWQsIGZhbHNlIGlmIG5vdAogICAgICAgIGZ1bmN0aW9uIGNoZWNrX2VtYWlsX2FkZHJlc3MoJHN0ckVtYWlsQWRkcmVzcykgewoKICAgICAgICAgICAgLy8gSWYgbWFnaWMgcXVvdGVzIGlzICJvbiIsIGVtYWlsIGFkZHJlc3NlcyB3aXRoIHF1b3RlIG1hcmtzIHdpbGwKICAgICAgICAgICAgLy8gZmFpbCB2YWxpZGF0aW9uIGJlY2F1c2Ugb2YgYWRkZWQgZXNjYXBlIGNoYXJhY3RlcnMuIFVuY29tbWVudGluZwogICAgICAgICAgICAvLyB0aGUgbmV4dCB0aHJlZSBsaW5lcyB3aWxsIGFsbG93IGZvciB0aGlzIGlzc3VlLgogICAgICAgICAgICAvL2lmIChnZXRfbWFnaWNfcXVvdGVzX2dwYygpKSB7CiAgICAgICAgICAgIC8vICAgICRzdHJFbWFpbEFkZHJlc3MgPSBzdHJpcHNsYXNoZXMoJHN0ckVtYWlsQWRkcmVzcyk7CiAgICAgICAgICAgIC8vfQoKICAgICAgICAgICAgLy8gQ29udHJvbCBjaGFyYWN0ZXJzIGFyZSBub3QgYWxsb3dlZAogICAgICAgICAgICBpZiAocHJlZ19tYXRjaCgnL1tceDAwLVx4MUZceDdGLVx4RkZdLycsICRzdHJFbWFpbEFkZHJlc3MpKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vIFNwbGl0IGl0IGludG8gc2VjdGlvbnMgdXNpbmcgbGFzdCBpbnN0YW5jZSBvZiAiQCIKICAgICAgICAgICAgJGludEF0U3ltYm9sID0gc3RycnBvcygkc3RyRW1haWxBZGRyZXNzLCAnQCcpOwogICAgICAgICAgICBpZiAoJGludEF0U3ltYm9sID09PSBmYWxzZSkgewogICAgICAgICAgICAgICAgLy8gTm8gIkAiIHN5bWJvbCBpbiBlbWFpbC4KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQogICAgICAgICAgICAkYXJyRW1haWxBZGRyZXNzWzBdID0gc3Vic3RyKCRzdHJFbWFpbEFkZHJlc3MsIDAsICRpbnRBdFN5bWJvbCk7CiAgICAgICAgICAgICRhcnJFbWFpbEFkZHJlc3NbMV0gPSBzdWJzdHIoJHN0ckVtYWlsQWRkcmVzcywgJGludEF0U3ltYm9sICsgMSk7CgogICAgICAgICAgICAvLyBDb3VudCB0aGUgIkAiIHN5bWJvbHMuIE9ubHkgb25lIGlzIGFsbG93ZWQsIGV4Y2VwdCB3aGVyZQogICAgICAgICAgICAvLyBjb250YWluZWQgaW4gcXVvdGUgbWFya3MgaW4gdGhlIGxvY2FsIHBhcnQuIFF1aWNrZXN0IHdheSB0bwogICAgICAgICAgICAvLyBjaGVjayB0aGlzIGlzIHRvIHJlbW92ZSBhbnl0aGluZyBpbiBxdW90ZXMuCiAgICAgICAgICAgICRhcnJUZW1wQWRkcmVzc1swXSA9IHByZWdfcmVwbGFjZSgnLyJbXiJdKyIvJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsJycKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCRhcnJFbWFpbEFkZHJlc3NbMF0pOwogICAgICAgICAgICAkYXJyVGVtcEFkZHJlc3NbMV0gPSAkYXJyRW1haWxBZGRyZXNzWzFdOwogICAgICAgICAgICAkc3RyVGVtcEFkZHJlc3MgPSAkYXJyVGVtcEFkZHJlc3NbMF0gLiAkYXJyVGVtcEFkZHJlc3NbMV07CiAgICAgICAgICAgIC8vIFRoZW4gY2hlY2sgLSBzaG91bGQgYmUgbm8gIkAiIHN5bWJvbHMuCiAgICAgICAgICAgIGlmIChzdHJycG9zKCRzdHJUZW1wQWRkcmVzcywgJ0AnKSAhPT0gZmFsc2UpIHsKICAgICAgICAgICAgICAgIC8vICJAIiBzeW1ib2wgZm91bmQKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gQ2hlY2sgbG9jYWwgcG9ydGlvbgogICAgICAgICAgICBpZiAoISR0aGlzLT5jaGVja19sb2NhbF9wb3J0aW9uKCRhcnJFbWFpbEFkZHJlc3NbMF0pKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vIENoZWNrIGRvbWFpbiBwb3J0aW9uCiAgICAgICAgICAgIGlmICghJHRoaXMtPmNoZWNrX2RvbWFpbl9wb3J0aW9uKCRhcnJFbWFpbEFkZHJlc3NbMV0pKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vIElmIHdlJ3JlIHN0aWxsIGhlcmUsIGFsbCBjaGVja3MgYWJvdmUgcGFzc2VkLiBFbWFpbCBpcyB2YWxpZC4KICAgICAgICAgICAgcmV0dXJuIHRydWU7CgogICAgICAgIH0KCiAgICAgICAgLy8gQ2hlY2tzIGVtYWlsIHNlY3Rpb24gYmVmb3JlICJAIiBzeW1ib2wgZm9yIHZhbGlkaXR5CiAgICAgICAgLy8gQHBhcmFtICAgc3RyTG9jYWxQb3J0aW9uICAgICBUZXh0IHRvIGJlIGNoZWNrZWQKICAgICAgICAvLyBAcmV0dXJuICBUcnVlIGlmIGxvY2FsIHBvcnRpb24gaXMgdmFsaWQsIGZhbHNlIGlmIG5vdAogICAgICAgIGZ1bmN0aW9uIGNoZWNrX2xvY2FsX3BvcnRpb24oJHN0ckxvY2FsUG9ydGlvbikgewogICAgICAgICAgICAvLyBMb2NhbCBwb3J0aW9uIGNhbiBvbmx5IGJlIGZyb20gMSB0byA2NCBjaGFyYWN0ZXJzLCBpbmNsdXNpdmUuCiAgICAgICAgICAgIC8vIFBsZWFzZSBub3RlIHRoYXQgc2VydmVycyBhcmUgZW5jb3VyYWdlZCB0byBhY2NlcHQgbG9uZ2VyIGxvY2FsCiAgICAgICAgICAgIC8vIHBhcnRzIHRoYW4gNjQgY2hhcmFjdGVycy4KICAgICAgICAgICAgaWYgKCEkdGhpcy0+Y2hlY2tfdGV4dF9sZW5ndGgoJHN0ckxvY2FsUG9ydGlvbiwgMSwgNjQpKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLy8gTG9jYWwgcG9ydGlvbiBtdXN0IGJlOgogICAgICAgICAgICAvLyAxKSBhIGRvdC1hdG9tIChzdHJpbmdzIHNlcGFyYXRlZCBieSBwZXJpb2RzKQogICAgICAgICAgICAvLyAyKSBhIHF1b3RlZCBzdHJpbmcKICAgICAgICAgICAgLy8gMykgYW4gb2Jzb2xldGUgZm9ybWF0IHN0cmluZyAoY29tYmluYXRpb24gb2YgdGhlIGFib3ZlKQogICAgICAgICAgICAkYXJyTG9jYWxQb3J0aW9uID0gZXhwbG9kZSgnLicsICRzdHJMb2NhbFBvcnRpb24pOwogICAgICAgICAgICBmb3IgKCRpID0gMCwgJG1heCA9IHNpemVvZigkYXJyTG9jYWxQb3J0aW9uKTsgJGkgPCAkbWF4OyAkaSsrKSB7CiAgICAgICAgICAgICAgICAgaWYgKCFwcmVnX21hdGNoKCcuXignCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLiAgICAnKFtBLVphLXowLTkhIyQlJlwnKisvPT9eX2B7fH1+LV0nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLiAgICAnW0EtWmEtejAtOSEjJCUmXCcqKy89P15fYHt8fX4tXXswLDYzfSknCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLid8JwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4gICAgJygiW15cXFwiXXswLDYyfSIpJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4nKSQuJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwkYXJyTG9jYWxQb3J0aW9uWyRpXSkpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDaGVja3MgZW1haWwgc2VjdGlvbiBhZnRlciAiQCIgc3ltYm9sIGZvciB2YWxpZGl0eQogICAgICAgIC8vIEBwYXJhbSAgIHN0ckRvbWFpblBvcnRpb24gICAgIFRleHQgdG8gYmUgY2hlY2tlZAogICAgICAgIC8vIEByZXR1cm4gIFRydWUgaWYgZG9tYWluIHBvcnRpb24gaXMgdmFsaWQsIGZhbHNlIGlmIG5vdAogICAgICAgIGZ1bmN0aW9uIGNoZWNrX2RvbWFpbl9wb3J0aW9uKCRzdHJEb21haW5Qb3J0aW9uKSB7CiAgICAgICAgICAgIC8vIFRvdGFsIGRvbWFpbiBjYW4gb25seSBiZSBmcm9tIDEgdG8gMjU1IGNoYXJhY3RlcnMsIGluY2x1c2l2ZQogICAgICAgICAgICBpZiAoISR0aGlzLT5jaGVja190ZXh0X2xlbmd0aCgkc3RyRG9tYWluUG9ydGlvbiwgMSwgMjU1KSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIC8vIENoZWNrIGlmIGRvbWFpbiBpcyBJUCwgcG9zc2libHkgZW5jbG9zZWQgaW4gc3F1YXJlIGJyYWNrZXRzLgogICAgICAgICAgICBpZiAocHJlZ19tYXRjaCgnL14oMjVbMC01XXwyWzAtNF1bMC05XXwxWzAtOV1bMC05XXxbMS05XT9bMC05XSknCiAgICAgICAgICAgICAgIC4nKFwuKDI1WzAtNV18MlswLTRdWzAtOV18MVswLTldWzAtOV18WzEtOV0/WzAtOV0pKXszfSQvJwogICAgICAgICAgICAgICAsJHN0ckRvbWFpblBvcnRpb24pIHx8CiAgICAgICAgICAgICAgICBwcmVnX21hdGNoKCcvXlxbKDI1WzAtNV18MlswLTRdWzAtOV18MVswLTldWzAtOV18WzEtOV0/WzAtOV0pJwogICAgICAgICAgICAgICAuJyhcLigyNVswLTVdfDJbMC00XVswLTldfDFbMC05XVswLTldfFsxLTldP1swLTldKSl7M31cXSQvJwogICAgICAgICAgICAgICAsJHN0ckRvbWFpblBvcnRpb24pKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICRhcnJEb21haW5Qb3J0aW9uID0gZXhwbG9kZSgnLicsICRzdHJEb21haW5Qb3J0aW9uKTsKICAgICAgICAgICAgICAgIGlmIChzaXplb2YoJGFyckRvbWFpblBvcnRpb24pIDwgMikgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsgLy8gTm90IGVub3VnaCBwYXJ0cyB0byBkb21haW4KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGZvciAoJGkgPSAwLCAkbWF4ID0gc2l6ZW9mKCRhcnJEb21haW5Qb3J0aW9uKTsgJGkgPCAkbWF4OyAkaSsrKSB7CiAgICAgICAgICAgICAgICAgICAgLy8gRWFjaCBwb3J0aW9uIG11c3QgYmUgYmV0d2VlbiAxIGFuZCA2MyBjaGFyYWN0ZXJzLCBpbmNsdXNpdmUKICAgICAgICAgICAgICAgICAgICBpZiAoISR0aGlzLT5jaGVja190ZXh0X2xlbmd0aCgkYXJyRG9tYWluUG9ydGlvblskaV0sIDEsIDYzKSkgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGlmICghcHJlZ19tYXRjaCgnL14oKFtBLVphLXowLTldW0EtWmEtejAtOS1dezAsNjF9W0EtWmEtejAtOV0pfCcKICAgICAgICAgICAgICAgICAgICAgICAuJyhbQS1aYS16MC05XSspKSQvJywgJGFyckRvbWFpblBvcnRpb25bJGldKSkgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0KCiAgICAgICAgLy8gQ2hlY2sgZ2l2ZW4gdGV4dCBsZW5ndGggaXMgYmV0d2VlbiBkZWZpbmVkIGJvdW5kcwogICAgICAgIC8vIEBwYXJhbSAgIHN0clRleHQgICAgIFRleHQgdG8gYmUgY2hlY2tlZAogICAgICAgIC8vIEBwYXJhbSAgIGludE1pbmltdW0gIE1pbmltdW0gYWNjZXB0YWJsZSBsZW5ndGgKICAgICAgICAvLyBAcGFyYW0gICBpbnRNYXhpbXVtICBNYXhpbXVtIGFjY2VwdGFibGUgbGVuZ3RoCiAgICAgICAgLy8gQHJldHVybiAgVHJ1ZSBpZiBzdHJpbmcgaXMgd2l0aGluIGJvdW5kcyAoaW5jbHVzaXZlKSwgZmFsc2UgaWYgbm90CiAgICAgICAgZnVuY3Rpb24gY2hlY2tfdGV4dF9sZW5ndGgoJHN0clRleHQsICRpbnRNaW5pbXVtLCAkaW50TWF4aW11bSkgewogICAgICAgICAgICAvLyBNaW5pbXVtIGFuZCBtYXhpbXVtIGFyZSBib3RoIGluY2x1c2l2ZQogICAgICAgICAgICAkaW50VGV4dExlbmd0aCA9IHN0cmxlbigkc3RyVGV4dCk7CiAgICAgICAgICAgIGlmICgoJGludFRleHRMZW5ndGggPCAkaW50TWluaW11bSkgfHwgKCRpbnRUZXh0TGVuZ3RoID4gJGludE1heGltdW0pKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICB9Cgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/_backup/lib/Class.BBCodeLibrary.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCS8vCgkvLyAgbmJiY19saWIucGhwCgkvLwoJLy8gIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIE5CQkMsIHRoZSBOZXcgQkJDb2RlIFBhcnNlci4KCS8vCgkvLyAgTkJCQyBpbXBsZW1lbnRzIGEgZnVsbHktdmFsaWRhdGluZywgaGlnaC1zcGVlZCwgZXh0ZW5zaWJsZSBwYXJzZXIgZm9yIHRoZQoJLy8gIEJCQ29kZSBkb2N1bWVudCBsYW5ndWFnZS4gIEl0cyBvdXRwdXQgaXMgWEhUTUwgMS4wIFN0cmljdCBjb25mb3JtYW50IG5vCgkvLyAgbWF0dGVyIHdoYXQgaXRzIGlucHV0IGlzLiAgTkJCQyBzdXBwb3J0cyB0aGUgZnVsbCBzdGFuZGFyZCBCQkNvZGUgbGFuZ3VhZ2UsCgkvLyAgYXMgd2VsbCBhcyBjb21tZW50cywgY29sdW1ucywgZW5oYW5jZWQgcXVvdGVzLCBzcG9pbGVycywgYWNyb255bXMsIHdpa2kKCS8vICBsaW5rcywgc2V2ZXJhbCBsaXN0IHN0eWxlcywganVzdGlmaWNhdGlvbiwgaW5kZW50YXRpb24sIGFuZCBzbWlsZXlzLCBhbW9uZwoJLy8gIG90aGVyIGFkdmFuY2VkIGZlYXR1cmVzLgoJLy8KCS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCS8vCgkvLyAgQ29weXJpZ2h0IChjKSAyMDA4LTksIHRoZSBQaGFudG9tIElua2VyLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KCS8vCgkvLyAgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CgkvLyAgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCgkvLyAgYXJlIG1ldDoKCS8vCgkvLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CgkvLyAgICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCgkvLwoJLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAoJLy8gICAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluCgkvLyAgICAgICB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCgkvLyAgICAgICBkaXN0cmlidXRpb24uCgkvLwoJLy8gIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIFBIQU5UT00gSU5LRVIgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MKCS8vICBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAoJLy8gIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKCS8vICBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRQoJLy8gIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKCS8vICBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgoJLy8gIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUgoJLy8gIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLAoJLy8gIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFCgkvLyAgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTgoJLy8gIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgoJLy8KCS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCS8vCgkvLyAgVGhpcyBmaWxlIGltcGxlbWVudHMgdGhlIHN0YW5kYXJkIEJCQ29kZSBsYW5ndWFnZSBhbmQgb3VyIGV4dGVuc2lvbnMsCgkvLyAgYXMgd2VsbCBhcyBhIGRlZmF1bHQgc2V0IG9mIHNtaWxleXMuICBXaGlsZSB0aGlzIGlzIG5vdCBzdHJpY3RseSBuZWNlc3NhcnkKCS8vICBmb3IgdGhlIHBhcnNlciB0byB3b3JrLCB3aXRob3V0IHRoZXNlIGRlZmluaXRpb25zLCB0aGUgcGFyc2VyIGhhcyBub3RoaW5nCgkvLyAgdG8gZG8uICBHZW5lcmFsbHksIHRoZSBkZWZpbml0aW9ucyBpbiB0aGlzIGZpbGUgYXJlIHN1ZmZpY2llbnQgZm9yIG1vc3QKCS8vICBuZWVkczsgaG93ZXZlciwgaWYgeW91ciBuZWVkcyBkaWZmZXIsIHlvdSBkb24ndCB3YW50IHRvIGNoYW5nZSB0aGlzIGZpbGU6CgkvLyAgSWYgeW91IHdhbnQgYWRkaXRpb25hbCBkZWZpbml0aW9ucywgY3JlYXRlIGEgQkJDb2RlIG9iamVjdCBhbmQgYWRkIHRoZW0KCS8vICBtYW51YWxseSBhZnRlcndhcmQ6CgkvLwoJLy8gICAgJGJiY29kZSA9IG5ldyBCQkNvZGU7CgkvLyAgICAkYmJjb2RlLT5BZGRSdWxlKC4uLik7CgkvLyAgICAkYmJjb2RlLT5BZGRTbWlsZXkoLi4uKTsKCS8vCgkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoJY2xhc3MgQkJDb2RlTGlicmFyeSB7CgoJCS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCQkvLyBTdGFuZGFyZCBsaWJyYXJ5IG9mIHNtaWxleSBkZWZpbml0aW9ucy4KCgkJdmFyICRkZWZhdWx0X3NtaWxleXMgPSBBcnJheSgKCQkJJzopJyA9PiAnc21pbGUuZ2lmJywgICAgICAgJzotKScgPT4gJ3NtaWxlLmdpZicsCgkJCSc9KScgPT4gJ3NtaWxlLmdpZicsICAgICAgICc9LSknID0+ICdzbWlsZS5naWYnLAoJCQknOignID0+ICdmcm93bi5naWYnLCAgICAgICAnOi0oJyA9PiAnZnJvd24uZ2lmJywKCQkJJz0oJyA9PiAnZnJvd24uZ2lmJywgICAgICAgJz0tKCcgPT4gJ2Zyb3duLmdpZicsCgkJCSc6RCcgPT4gJ2JpZ3NtaWxlLmdpZicsICAgICc6LUQnID0+ICdiaWdzbWlsZS5naWYnLAoJCQknPUQnID0+ICdiaWdzbWlsZS5naWYnLCAgICAnPS1EJyA9PiAnYmlnc21pbGUuZ2lmJywKCQkJJz46KCc9PiAnYW5ncnkuZ2lmJywgICAgICAgJz46LSgnPT4gJ2FuZ3J5LmdpZicsCgkJCSc+PSgnPT4gJ2FuZ3J5LmdpZicsICAgICAgICc+PS0oJz0+ICdhbmdyeS5naWYnLAoJCQknRDonID0+ICdhbmdyeS5naWYnLCAgICAgICAnRC06JyA9PiAnYW5ncnkuZ2lmJywKCQkJJ0Q9JyA9PiAnYW5ncnkuZ2lmJywgICAgICAgJ0QtPScgPT4gJ2FuZ3J5LmdpZicsCgkJCSc+OiknPT4gJ2V2aWwuZ2lmJywgICAgICAgICc+Oi0pJz0+ICdldmlsLmdpZicsCgkJCSc+PSknPT4gJ2V2aWwuZ2lmJywgICAgICAgICc+PS0pJz0+ICdldmlsLmdpZicsCgkJCSc+OkQnPT4gJ2V2aWwuZ2lmJywgICAgICAgICc+Oi1EJz0+ICdldmlsLmdpZicsCgkJCSc+PUQnPT4gJ2V2aWwuZ2lmJywgICAgICAgICc+PS1EJz0+ICdldmlsLmdpZicsCgkJCSc+OyknPT4gJ3NuZWFreS5naWYnLCAgICAgICc+Oy0pJz0+ICdzbmVha3kuZ2lmJywKCQkJJz47RCc9PiAnc25lYWt5LmdpZicsICAgICAgJz47LUQnPT4gJ3NuZWFreS5naWYnLAoJCQknTzopJyA9PiAnc2FpbnQuZ2lmJywgICAgICAnTzotKScgPT4gJ3NhaW50LmdpZicsCgkJCSdPPSknID0+ICdzYWludC5naWYnLCAgICAgICdPPS0pJyA9PiAnc2FpbnQuZ2lmJywKCQkJJzpPJyA9PiAnc3VycHJpc2UuZ2lmJywgICAgJzotTycgPT4gJ3N1cnByaXNlLmdpZicsCgkJCSc9TycgPT4gJ3N1cnByaXNlLmdpZicsICAgICc9LU8nID0+ICdzdXJwcmlzZS5naWYnLAoJCQknOj8nID0+ICdjb25mdXNlLmdpZicsICAgICAnOi0/JyA9PiAnY29uZnVzZS5naWYnLAoJCQknPT8nID0+ICdjb25mdXNlLmdpZicsICAgICAnPS0/JyA9PiAnY29uZnVzZS5naWYnLAoJCQknOnMnID0+ICd3b3JyeS5naWYnLCAgICAgICAnOi1TJyA9PiAnd29ycnkuZ2lmJywKCQkJJz1zJyA9PiAnd29ycnkuZ2lmJywgICAgICAgJz0tUycgPT4gJ3dvcnJ5LmdpZicsCgkJCSc6fCcgPT4gJ25ldXRyYWwuZ2lmJywgICAgICc6LXwnID0+ICduZXV0cmFsLmdpZicsCgkJCSc9fCcgPT4gJ25ldXRyYWwuZ2lmJywgICAgICc9LXwnID0+ICduZXV0cmFsLmdpZicsCgkJCSc6SScgPT4gJ25ldXRyYWwuZ2lmJywgICAgICc6LUknID0+ICduZXV0cmFsLmdpZicsCgkJCSc9SScgPT4gJ25ldXRyYWwuZ2lmJywgICAgICc9LUknID0+ICduZXV0cmFsLmdpZicsCgkJCSc6LycgPT4gJ2lycml0YXRlZC5naWYnLCAgICc6LS8nID0+ICdpcnJpdGF0ZWQuZ2lmJywKCQkJJz0vJyA9PiAnaXJyaXRhdGVkLmdpZicsICAgJz0tLycgPT4gJ2lycml0YXRlZC5naWYnLAoJCQknOlxcJyA9PiAnaXJyaXRhdGVkLmdpZicsICc6LVxcJyA9PiAnaXJyaXRhdGVkLmdpZicsCgkJCSc9XFwnID0+ICdpcnJpdGF0ZWQuZ2lmJywgJz0tXFwnID0+ICdpcnJpdGF0ZWQuZ2lmJywKCQkJJzpQJyA9PiAndG9uZ3VlLmdpZicsICAgICAgJzotUCcgPT4gJ3Rvbmd1ZS5naWYnLAoJCQknPVAnID0+ICd0b25ndWUuZ2lmJywgICAgICAnPS1QJyA9PiAndG9uZ3VlLmdpZicsCgkJCQkJCQkJCSAgICdYLVAnID0+ICd0b25ndWUuZ2lmJywKCQkJJzgpJyA9PiAnYmlnZXllcy5naWYnLCAgICAgJzgtKScgPT4gJ2JpZ2V5ZXMuZ2lmJywKCQkJJ0IpJyA9PiAnY29vbC5naWYnLCAgICAgICAgJ0ItKScgPT4gJ2Nvb2wuZ2lmJywKCQkJJzspJyA9PiAnd2luay5naWYnLCAgICAgICAgJzstKScgPT4gJ3dpbmsuZ2lmJywKCQkJJztEJyA9PiAnYmlnd2luay5naWYnLCAgICAgJzstRCcgPT4gJ2JpZ3dpbmsuZ2lmJywKCQkJJ15fXic9PiAnYW5pbWUuZ2lmJywgICAgICAgJ15eOycgPT4gJ3N3ZWF0ZHJvcC5naWYnLAoJCQknPl8+Jz0+ICdsb29rcmlnaHQuZ2lmJywgICAnPi4+JyA9PiAnbG9va3JpZ2h0LmdpZicsCgkJCSc8XzwnPT4gJ2xvb2tsZWZ0LmdpZicsICAgICc8LjwnID0+ICdsb29rbGVmdC5naWYnLAoJCQknWEQnID0+ICdsYXVnaC5naWYnLCAgICAgICAnWC1EJyA9PiAnbGF1Z2guZ2lmJywKCQkJJztEJyA9PiAnYmlnd2luay5naWYnLCAgICAgJzstRCcgPT4gJ2JpZ3dpbmsuZ2lmJywKCQkJJzozJyA9PiAnc21pbGUzLmdpZicsICAgICAgJzotMycgPT4gJ3NtaWxlMy5naWYnLAoJCQknPTMnID0+ICdzbWlsZTMuZ2lmJywgICAgICAnPS0zJyA9PiAnc21pbGUzLmdpZicsCgkJCSc7MycgPT4gJ3dpbmszLmdpZicsICAgICAgICc7LTMnID0+ICd3aW5rMy5naWYnLAoJCQknPGc+JyA9PiAndGVldGguZ2lmJywgICAgICAnPEc+JyA9PiAndGVldGguZ2lmJywKCQkJJ28uTycgPT4gJ2JvZ2dsZS5naWYnLCAgICAgJ08ubycgPT4gJ2JvZ2dsZS5naWYnLAoJCQknOmJsdWU6JyA9PiAnYmx1ZS5naWYnLAoJCQknOnp6ejonID0+ICdzbGVlcHkuZ2lmJywKCQkJJzwzJyA9PiAnaGVhcnQuZ2lmJywKCQkJJzpzdGFyOicgPT4gJ3N0YXIuZ2lmJywKCQkpOwoKCQkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkJLy8gU3RhbmRhcmQgcnVsZXMgZm9yIHdoYXQgdG8gZG8gd2hlbiBhIEJCQ29kZSB0YWcgaXMgZW5jb3VudGVyZWQuCgoJCXZhciAkZGVmYXVsdF90YWdfcnVsZXMgPSBBcnJheSgKCgkJCSdiJyA9PiBBcnJheSgKCQkJCSdzaW1wbGVfc3RhcnQnID0+ICI8Yj4iLAoJCQkJJ3NpbXBsZV9lbmQnID0+ICI8L2I+IiwKCQkJCSdjbGFzcycgPT4gJ2lubGluZScsCgkJCQknYWxsb3dfaW4nID0+IEFycmF5KCdsaXN0aXRlbScsICdibG9jaycsICdjb2x1bW5zJywgJ2lubGluZScsICdsaW5rJyksCgkJCQkncGxhaW5fc3RhcnQnID0+ICI8Yj4iLAoJCQkJJ3BsYWluX2VuZCcgPT4gIjwvYj4iLAoJCQkpLAoJCQknaScgPT4gQXJyYXkoCgkJCQknc2ltcGxlX3N0YXJ0JyA9PiAiPGk+IiwKCQkJCSdzaW1wbGVfZW5kJyA9PiAiPC9pPiIsCgkJCQknY2xhc3MnID0+ICdpbmxpbmUnLAoJCQkJJ2FsbG93X2luJyA9PiBBcnJheSgnbGlzdGl0ZW0nLCAnYmxvY2snLCAnY29sdW1ucycsICdpbmxpbmUnLCAnbGluaycpLAoJCQkJJ3BsYWluX3N0YXJ0JyA9PiAiPGk+IiwKCQkJCSdwbGFpbl9lbmQnID0+ICI8L2k+IiwKCQkJKSwKCQkJJ3UnID0+IEFycmF5KAoJCQkJJ3NpbXBsZV9zdGFydCcgPT4gIjx1PiIsCgkJCQknc2ltcGxlX2VuZCcgPT4gIjwvdT4iLAoJCQkJJ2NsYXNzJyA9PiAnaW5saW5lJywKCQkJCSdhbGxvd19pbicgPT4gQXJyYXkoJ2xpc3RpdGVtJywgJ2Jsb2NrJywgJ2NvbHVtbnMnLCAnaW5saW5lJywgJ2xpbmsnKSwKCQkJCSdwbGFpbl9zdGFydCcgPT4gIjx1PiIsCgkJCQkncGxhaW5fZW5kJyA9PiAiPC91PiIsCgkJCSksCgkJCSdzJyA9PiBBcnJheSgKCQkJCSdzaW1wbGVfc3RhcnQnID0+ICI8c3RyaWtlPiIsCgkJCQknc2ltcGxlX2VuZCcgPT4gIjwvc3RyaWtlPiIsCgkJCQknY2xhc3MnID0+ICdpbmxpbmUnLAoJCQkJJ2FsbG93X2luJyA9PiBBcnJheSgnbGlzdGl0ZW0nLCAnYmxvY2snLCAnY29sdW1ucycsICdpbmxpbmUnLCAnbGluaycpLAoJCQkJJ3BsYWluX3N0YXJ0JyA9PiAiPGk+IiwKCQkJCSdwbGFpbl9lbmQnID0+ICI8L2k+IiwKCQkJKSwKCgkJCSdmb250JyA9PiBBcnJheSgKCQkJCSdtb2RlJyA9PiBCQkNPREVfTU9ERV9MSUJSQVJZLAoJCQkJJ2FsbG93JyA9PiBBcnJheSgnX2RlZmF1bHQnID0+ICcvXlthLXpBLVowLTkuXyAtXSskLycpLAoJCQkJJ21ldGhvZCcgPT4gJ0RvRm9udCcsCgkJCQknY2xhc3MnID0+ICdpbmxpbmUnLAoJCQkJJ2FsbG93X2luJyA9PiBBcnJheSgnbGlzdGl0ZW0nLCAnYmxvY2snLCAnY29sdW1ucycsICdpbmxpbmUnLCAnbGluaycpLAoJCQkpLAoJCQknY29sb3InID0+IEFycmF5KAoJCQkJJ21vZGUnID0+IEJCQ09ERV9NT0RFX0VOSEFOQ0VELAoJCQkJJ2FsbG93JyA9PiBBcnJheSgnX2RlZmF1bHQnID0+ICcvXiM/W2EtekEtWjAtOS5fIC1dKyQvJyksCgkJCQkndGVtcGxhdGUnID0+ICc8c3BhbiBzdHlsZT0iY29sb3I6eyRfZGVmYXVsdC90d30iPnskX2NvbnRlbnQvdn08L3NwYW4+JywKCQkJCSdjbGFzcycgPT4gJ2lubGluZScsCgkJCQknYWxsb3dfaW4nID0+IEFycmF5KCdsaXN0aXRlbScsICdibG9jaycsICdjb2x1bW5zJywgJ2lubGluZScsICdsaW5rJyksCgkJCSksCgkJCSdzaXplJyA9PiBBcnJheSgKCQkJCSdtb2RlJyA9PiBCQkNPREVfTU9ERV9MSUJSQVJZLAoJCQkJJ2FsbG93JyA9PiBBcnJheSgnX2RlZmF1bHQnID0+ICcvXlswLTkuXSskL0QnKSwKCQkJCSdtZXRob2QnID0+ICdEb1NpemUnLAoJCQkJJ2NsYXNzJyA9PiAnaW5saW5lJywKCQkJCSdhbGxvd19pbicgPT4gQXJyYXkoJ2xpc3RpdGVtJywgJ2Jsb2NrJywgJ2NvbHVtbnMnLCAnaW5saW5lJywgJ2xpbmsnKSwKCQkJKSwKCQkJJ3N1cCcgPT4gQXJyYXkoCgkJCQknc2ltcGxlX3N0YXJ0JyA9PiAiPHN1cD4iLAoJCQkJJ3NpbXBsZV9lbmQnID0+ICI8L3N1cD4iLAoJCQkJJ2NsYXNzJyA9PiAnaW5saW5lJywKCQkJCSdhbGxvd19pbicgPT4gQXJyYXkoJ2xpc3RpdGVtJywgJ2Jsb2NrJywgJ2NvbHVtbnMnLCAnaW5saW5lJywgJ2xpbmsnKSwKCQkJKSwKCQkJJ3N1YicgPT4gQXJyYXkoCgkJCQknc2ltcGxlX3N0YXJ0JyA9PiAiPHN1Yj4iLAoJCQkJJ3NpbXBsZV9lbmQnID0+ICI8L3N1Yj4iLAoJCQkJJ2NsYXNzJyA9PiAnaW5saW5lJywKCQkJCSdhbGxvd19pbicgPT4gQXJyYXkoJ2xpc3RpdGVtJywgJ2Jsb2NrJywgJ2NvbHVtbnMnLCAnaW5saW5lJywgJ2xpbmsnKSwKCQkJKSwKCQkJJ3Nwb2lsZXInID0+IEFycmF5KAoJCQkJJ3NpbXBsZV9zdGFydCcgPT4gIjxzcGFuIGNsYXNzPVwiYmJjb2RlX3Nwb2lsZXJcIj4iLAoJCQkJJ3NpbXBsZV9lbmQnID0+ICI8L3NwYW4+IiwKCQkJCSdjbGFzcycgPT4gJ2lubGluZScsCgkJCQknYWxsb3dfaW4nID0+IEFycmF5KCdsaXN0aXRlbScsICdibG9jaycsICdjb2x1bW5zJywgJ2lubGluZScsICdsaW5rJyksCgkJCSksCgkJCSdhY3JvbnltJyA9PiBBcnJheSgKCQkJCSdtb2RlJyA9PiBCQkNPREVfTU9ERV9FTkhBTkNFRCwKCQkJCSd0ZW1wbGF0ZScgPT4gJzxzcGFuIGNsYXNzPSJiYmNvZGVfYWNyb255bSIgdGl0bGU9InskX2RlZmF1bHR9Ij57JF9jb250ZW50L3Z9PC9zcGFuPicsCgkJCQknY2xhc3MnID0+ICdpbmxpbmUnLAoJCQkJJ2FsbG93X2luJyA9PiBBcnJheSgnbGlzdGl0ZW0nLCAnYmxvY2snLCAnY29sdW1ucycsICdpbmxpbmUnLCAnbGluaycpLAoJCQkpLAoKCQkJJ3VybCcgPT4gQXJyYXkoCgkJCQknbW9kZScgPT4gQkJDT0RFX01PREVfTElCUkFSWSwKCQkJCSdtZXRob2QnID0+ICdEb1VSTCcsCgkJCQknY2xhc3MnID0+ICdsaW5rJywKCQkJCSdhbGxvd19pbicgPT4gQXJyYXkoJ2xpc3RpdGVtJywgJ2Jsb2NrJywgJ2NvbHVtbnMnLCAnaW5saW5lJyksCgkJCQknY29udGVudCcgPT4gQkJDT0RFX1JFUVVJUkVELAoJCQkJJ3BsYWluX3N0YXJ0JyA9PiAiPGEgaHJlZj1cIntcJGxpbmt9XCI+IiwKCQkJCSdwbGFpbl9lbmQnID0+ICI8L2E+IiwKCQkJCSdwbGFpbl9jb250ZW50JyA9PiBBcnJheSgnX2NvbnRlbnQnLCAnX2RlZmF1bHQnKSwKCQkJCSdwbGFpbl9saW5rJyA9PiBBcnJheSgnX2RlZmF1bHQnLCAnX2NvbnRlbnQnKSwKCQkJKSwKCQkJJ2VtYWlsJyA9PiBBcnJheSgKCQkJCSdtb2RlJyA9PiBCQkNPREVfTU9ERV9MSUJSQVJZLAoJCQkJJ21ldGhvZCcgPT4gJ0RvRW1haWwnLAoJCQkJJ2NsYXNzJyA9PiAnbGluaycsCgkJCQknYWxsb3dfaW4nID0+IEFycmF5KCdsaXN0aXRlbScsICdibG9jaycsICdjb2x1bW5zJywgJ2lubGluZScpLAoJCQkJJ2NvbnRlbnQnID0+IEJCQ09ERV9SRVFVSVJFRCwKCQkJCSdwbGFpbl9zdGFydCcgPT4gIjxhIGhyZWY9XCJtYWlsdG86e1wkbGlua31cIj4iLAoJCQkJJ3BsYWluX2VuZCcgPT4gIjwvYT4iLAoJCQkJJ3BsYWluX2NvbnRlbnQnID0+IEFycmF5KCdfY29udGVudCcsICdfZGVmYXVsdCcpLAoJCQkJJ3BsYWluX2xpbmsnID0+IEFycmF5KCdfZGVmYXVsdCcsICdfY29udGVudCcpLAoJCQkpLAoJCQknd2lraScgPT4gQXJyYXkoCgkJCQknbW9kZScgPT4gQkJDT0RFX01PREVfTElCUkFSWSwKCQkJCSdtZXRob2QnID0+ICJEb1dpa2kiLAoJCQkJJ2NsYXNzJyA9PiAnbGluaycsCgkJCQknYWxsb3dfaW4nID0+IEFycmF5KCdsaXN0aXRlbScsICdibG9jaycsICdjb2x1bW5zJywgJ2lubGluZScpLAoJCQkJJ2VuZF90YWcnID0+IEJCQ09ERV9QUk9ISUJJVCwKCQkJCSdjb250ZW50JyA9PiBCQkNPREVfUFJPSElCSVQsCgkJCQkncGxhaW5fc3RhcnQnID0+ICI8Yj5bIiwKCQkJCSdwbGFpbl9lbmQnID0+ICJdPC9iPiIsCgkJCQkncGxhaW5fY29udGVudCcgPT4gQXJyYXkoJ3RpdGxlJywgJ19kZWZhdWx0JyksCgkJCQkncGxhaW5fbGluaycgPT4gQXJyYXkoJ19kZWZhdWx0JywgJ19jb250ZW50JyksCgkJCSksCgoJCQknaW1nJyA9PiBBcnJheSgKCQkJCSdtb2RlJyA9PiBCQkNPREVfTU9ERV9MSUJSQVJZLAoJCQkJJ21ldGhvZCcgPT4gIkRvSW1hZ2UiLAoJCQkJJ2NsYXNzJyA9PiAnaW1hZ2UnLAoJCQkJJ2FsbG93X2luJyA9PiBBcnJheSgnbGlzdGl0ZW0nLCAnYmxvY2snLCAnY29sdW1ucycsICdpbmxpbmUnLCAnbGluaycpLAoJCQkJJ2VuZF90YWcnID0+IEJCQ09ERV9SRVFVSVJFRCwKCQkJCSdjb250ZW50JyA9PiBCQkNPREVfUkVRVUlSRUQsCgkJCQkncGxhaW5fc3RhcnQnID0+ICJbaW1hZ2VdIiwKCQkJCSdwbGFpbl9jb250ZW50JyA9PiBBcnJheSgpLAoJCQkpLAoJCQkncnVsZScgPT4gQXJyYXkoCgkJCQknbW9kZScgPT4gQkJDT0RFX01PREVfTElCUkFSWSwKCQkJCSdtZXRob2QnID0+ICJEb1J1bGUiLAoJCQkJJ2NsYXNzJyA9PiAnYmxvY2snLAoJCQkJJ2FsbG93X2luJyA9PiBBcnJheSgnbGlzdGl0ZW0nLCAnYmxvY2snLCAnY29sdW1ucycpLAoJCQkJJ2VuZF90YWcnID0+IEJCQ09ERV9QUk9ISUJJVCwKCQkJCSdjb250ZW50JyA9PiBCQkNPREVfUFJPSElCSVQsCgkJCQknYmVmb3JlX3RhZycgPT4gInNucyIsCgkJCQknYWZ0ZXJfdGFnJyA9PiAic25zIiwKCQkJCSdwbGFpbl9zdGFydCcgPT4gIlxuLS0tLS1cbiIsCgkJCQkncGxhaW5fZW5kJyA9PiAiIiwKCQkJCSdwbGFpbl9jb250ZW50JyA9PiBBcnJheSgpLAoJCQkpLAoJCQknYnInID0+IEFycmF5KAoJCQkJJ21vZGUnID0+IEJCQ09ERV9NT0RFX1NJTVBMRSwKCQkJCSdzaW1wbGVfc3RhcnQnID0+ICI8YnIgLz5cbiIsCgkJCQknc2ltcGxlX2VuZCcgPT4gIiIsCgkJCQknY2xhc3MnID0+ICdpbmxpbmUnLAoJCQkJJ2FsbG93X2luJyA9PiBBcnJheSgnbGlzdGl0ZW0nLCAnYmxvY2snLCAnY29sdW1ucycsICdpbmxpbmUnLCAnbGluaycpLAoJCQkJJ2VuZF90YWcnID0+IEJCQ09ERV9QUk9ISUJJVCwKCQkJCSdjb250ZW50JyA9PiBCQkNPREVfUFJPSElCSVQsCgkJCQknYmVmb3JlX3RhZycgPT4gInMiLAoJCQkJJ2FmdGVyX3RhZycgPT4gInMiLAoJCQkJJ3BsYWluX3N0YXJ0JyA9PiAiXG4iLAoJCQkJJ3BsYWluX2VuZCcgPT4gIiIsCgkJCQkncGxhaW5fY29udGVudCcgPT4gQXJyYXkoKSwKCQkJKSwKCgkJCSdsZWZ0JyA9PiBBcnJheSgKCQkJCSdzaW1wbGVfc3RhcnQnID0+ICJcbjxkaXYgY2xhc3M9XCJiYmNvZGVfbGVmdFwiIHN0eWxlPVwidGV4dC1hbGlnbjpsZWZ0XCI+XG4iLAoJCQkJJ3NpbXBsZV9lbmQnID0+ICJcbjwvZGl2PlxuIiwKCQkJCSdhbGxvd19pbicgPT4gQXJyYXkoJ2xpc3RpdGVtJywgJ2Jsb2NrJywgJ2NvbHVtbnMnKSwKCQkJCSdiZWZvcmVfdGFnJyA9PiAic25zIiwKCQkJCSdhZnRlcl90YWcnID0+ICJzbnMiLAoJCQkJJ2JlZm9yZV9lbmR0YWcnID0+ICJzbnMiLAoJCQkJJ2FmdGVyX2VuZHRhZycgPT4gInNucyIsCgkJCQkncGxhaW5fc3RhcnQnID0+ICJcbiIsCgkJCQkncGxhaW5fZW5kJyA9PiAiXG4iLAoJCQkpLAoJCQkncmlnaHQnID0+IEFycmF5KAoJCQkJJ3NpbXBsZV9zdGFydCcgPT4gIlxuPGRpdiBjbGFzcz1cImJiY29kZV9yaWdodFwiIHN0eWxlPVwidGV4dC1hbGlnbjpyaWdodFwiPlxuIiwKCQkJCSdzaW1wbGVfZW5kJyA9PiAiXG48L2Rpdj5cbiIsCgkJCQknYWxsb3dfaW4nID0+IEFycmF5KCdsaXN0aXRlbScsICdibG9jaycsICdjb2x1bW5zJyksCgkJCQknYmVmb3JlX3RhZycgPT4gInNucyIsCgkJCQknYWZ0ZXJfdGFnJyA9PiAic25zIiwKCQkJCSdiZWZvcmVfZW5kdGFnJyA9PiAic25zIiwKCQkJCSdhZnRlcl9lbmR0YWcnID0+ICJzbnMiLAoJCQkJJ3BsYWluX3N0YXJ0JyA9PiAiXG4iLAoJCQkJJ3BsYWluX2VuZCcgPT4gIlxuIiwKCQkJKSwKCQkJJ2NlbnRlcicgPT4gQXJyYXkoCgkJCQknc2ltcGxlX3N0YXJ0JyA9PiAiXG48ZGl2IGNsYXNzPVwiYmJjb2RlX2NlbnRlclwiIHN0eWxlPVwidGV4dC1hbGlnbjpjZW50ZXJcIj5cbiIsCgkJCQknc2ltcGxlX2VuZCcgPT4gIlxuPC9kaXY+XG4iLAoJCQkJJ2FsbG93X2luJyA9PiBBcnJheSgnbGlzdGl0ZW0nLCAnYmxvY2snLCAnY29sdW1ucycpLAoJCQkJJ2JlZm9yZV90YWcnID0+ICJzbnMiLAoJCQkJJ2FmdGVyX3RhZycgPT4gInNucyIsCgkJCQknYmVmb3JlX2VuZHRhZycgPT4gInNucyIsCgkJCQknYWZ0ZXJfZW5kdGFnJyA9PiAic25zIiwKCQkJCSdwbGFpbl9zdGFydCcgPT4gIlxuIiwKCQkJCSdwbGFpbl9lbmQnID0+ICJcbiIsCgkJCSksCgkJCSdpbmRlbnQnID0+IEFycmF5KAoJCQkJJ3NpbXBsZV9zdGFydCcgPT4gIlxuPGRpdiBjbGFzcz1cImJiY29kZV9pbmRlbnRcIiBzdHlsZT1cIm1hcmdpbi1sZWZ0OjRlbVwiPlxuIiwKCQkJCSdzaW1wbGVfZW5kJyA9PiAiXG48L2Rpdj5cbiIsCgkJCQknYWxsb3dfaW4nID0+IEFycmF5KCdsaXN0aXRlbScsICdibG9jaycsICdjb2x1bW5zJyksCgkJCQknYmVmb3JlX3RhZycgPT4gInNucyIsCgkJCQknYWZ0ZXJfdGFnJyA9PiAic25zIiwKCQkJCSdiZWZvcmVfZW5kdGFnJyA9PiAic25zIiwKCQkJCSdhZnRlcl9lbmR0YWcnID0+ICJzbnMiLAoJCQkJJ3BsYWluX3N0YXJ0JyA9PiAiXG4iLAoJCQkJJ3BsYWluX2VuZCcgPT4gIlxuIiwKCQkJKSwKCgkJCSdjb2x1bW5zJyA9PiBBcnJheSgKCQkJCSdzaW1wbGVfc3RhcnQnID0+ICJcbjx0YWJsZSBjbGFzcz1cImJiY29kZV9jb2x1bW5zXCI+PHRib2R5Pjx0cj48dGQgY2xhc3M9XCJiYmNvZGVfY29sdW1uIGJiY29kZV9maXJzdGNvbHVtblwiPlxuIiwKCQkJCSdzaW1wbGVfZW5kJyA9PiAiXG48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPlxuIiwKCQkJCSdjbGFzcycgPT4gJ2NvbHVtbnMnLAoJCQkJJ2FsbG93X2luJyA9PiBBcnJheSgnbGlzdGl0ZW0nLCAnYmxvY2snLCAnY29sdW1ucycpLAoJCQkJJ2VuZF90YWcnID0+IEJCQ09ERV9SRVFVSVJFRCwKCQkJCSdjb250ZW50JyA9PiBCQkNPREVfUkVRVUlSRUQsCgkJCQknYmVmb3JlX3RhZycgPT4gInNucyIsCgkJCQknYWZ0ZXJfdGFnJyA9PiAic25zIiwKCQkJCSdiZWZvcmVfZW5kdGFnJyA9PiAic25zIiwKCQkJCSdhZnRlcl9lbmR0YWcnID0+ICJzbnMiLAoJCQkJJ3BsYWluX3N0YXJ0JyA9PiAiXG4iLAoJCQkJJ3BsYWluX2VuZCcgPT4gIlxuIiwKCQkJKSwKCQkJJ25leHRjb2wnID0+IEFycmF5KAoJCQkJJ3NpbXBsZV9zdGFydCcgPT4gIlxuPC90ZD48dGQgY2xhc3M9XCJiYmNvZGVfY29sdW1uXCI+XG4iLAoJCQkJJ2NsYXNzJyA9PiAnbmV4dGNvbCcsCgkJCQknYWxsb3dfaW4nID0+IEFycmF5KCdjb2x1bW5zJyksCgkJCQknZW5kX3RhZycgPT4gQkJDT0RFX1BST0hJQklULAoJCQkJJ2NvbnRlbnQnID0+IEJCQ09ERV9QUk9ISUJJVCwKCQkJCSdiZWZvcmVfdGFnJyA9PiAic25zIiwKCQkJCSdhZnRlcl90YWcnID0+ICJzbnMiLAoJCQkJJ2JlZm9yZV9lbmR0YWcnID0+ICJzbnMiLAoJCQkJJ2FmdGVyX2VuZHRhZycgPT4gInNucyIsCgkJCQkncGxhaW5fc3RhcnQnID0+ICJcbiIsCgkJCQkncGxhaW5fZW5kJyA9PiAiIiwKCQkJKSwKCgkJCSdjb2RlJyA9PiBBcnJheSgKCQkJCSdtb2RlJyA9PiBCQkNPREVfTU9ERV9FTkhBTkNFRCwKCQkJCSd0ZW1wbGF0ZScgPT4gIlxuPGRpdiBjbGFzcz1cImJiY29kZV9jb2RlXCI+XG48ZGl2IGNsYXNzPVwiYmJjb2RlX2NvZGVfaGVhZFwiPkNvZGU6PC9kaXY+XG48ZGl2IGNsYXNzPVwiYmJjb2RlX2NvZGVfYm9keVwiIHN0eWxlPVwid2hpdGUtc3BhY2U6cHJlXCI+e1wkX2NvbnRlbnQvdn08L2Rpdj5cbjwvZGl2PlxuIiwKCQkJCSdjbGFzcycgPT4gJ2NvZGUnLAoJCQkJJ2FsbG93X2luJyA9PiBBcnJheSgnbGlzdGl0ZW0nLCAnYmxvY2snLCAnY29sdW1ucycpLAoJCQkJJ2NvbnRlbnQnID0+IEJCQ09ERV9WRVJCQVRJTSwKCQkJCSdiZWZvcmVfdGFnJyA9PiAic25zIiwKCQkJCSdhZnRlcl90YWcnID0+ICJzbiIsCgkJCQknYmVmb3JlX2VuZHRhZycgPT4gInNuIiwKCQkJCSdhZnRlcl9lbmR0YWcnID0+ICJzbnMiLAoJCQkJJ3BsYWluX3N0YXJ0JyA9PiAiXG48Yj5Db2RlOjwvYj5cbiIsCgkJCQkncGxhaW5fZW5kJyA9PiAiXG4iLAoJCQkpLAoJCQkncXVvdGUnID0+IEFycmF5KAoJCQkJJ21vZGUnID0+IEJCQ09ERV9NT0RFX0xJQlJBUlksCgkJCQknbWV0aG9kJyA9PiAiRG9RdW90ZSIsCgkJCQknYWxsb3dfaW4nID0+IEFycmF5KCdsaXN0aXRlbScsICdibG9jaycsICdjb2x1bW5zJyksCgkJCQknYmVmb3JlX3RhZycgPT4gInNucyIsCgkJCQknYWZ0ZXJfdGFnJyA9PiAic25zIiwKCQkJCSdiZWZvcmVfZW5kdGFnJyA9PiAic25zIiwKCQkJCSdhZnRlcl9lbmR0YWcnID0+ICJzbnMiLAoJCQkJJ3BsYWluX3N0YXJ0JyA9PiAiXG48Yj5RdW90ZTo8L2I+XG4iLAoJCQkJJ3BsYWluX2VuZCcgPT4gIlxuIiwKCQkJKSwKCgkJCSdsaXN0JyA9PiBBcnJheSgKCQkJCSdtb2RlJyA9PiBCQkNPREVfTU9ERV9MSUJSQVJZLAoJCQkJJ21ldGhvZCcgPT4gJ0RvTGlzdCcsCgkJCQknY2xhc3MnID0+ICdsaXN0JywKCQkJCSdhbGxvd19pbicgPT4gQXJyYXkoJ2xpc3RpdGVtJywgJ2Jsb2NrJywgJ2NvbHVtbnMnKSwKCQkJCSdiZWZvcmVfdGFnJyA9PiAic25zIiwKCQkJCSdhZnRlcl90YWcnID0+ICJzbnMiLAoJCQkJJ2JlZm9yZV9lbmR0YWcnID0+ICJzbnMiLAoJCQkJJ2FmdGVyX2VuZHRhZycgPT4gInNucyIsCgkJCQkncGxhaW5fc3RhcnQnID0+ICJcbiIsCgkJCQkncGxhaW5fZW5kJyA9PiAiXG4iLAoJCQkpLAoJCQknKicgPT4gQXJyYXkoCgkJCQknc2ltcGxlX3N0YXJ0JyA9PiAiPGxpPiIsCgkJCQknc2ltcGxlX2VuZCcgPT4gIjwvbGk+XG4iLAoJCQkJJ2NsYXNzJyA9PiAnbGlzdGl0ZW0nLAoJCQkJJ2FsbG93X2luJyA9PiBBcnJheSgnbGlzdCcpLAoJCQkJJ2VuZF90YWcnID0+IEJCQ09ERV9PUFRJT05BTCwKCQkJCSdiZWZvcmVfdGFnJyA9PiAicyIsCgkJCQknYWZ0ZXJfdGFnJyA9PiAicyIsCgkJCQknYmVmb3JlX2VuZHRhZycgPT4gInNucyIsCgkJCQknYWZ0ZXJfZW5kdGFnJyA9PiAic25zIiwKCQkJCSdwbGFpbl9zdGFydCcgPT4gIlxuICogIiwKCQkJCSdwbGFpbl9lbmQnID0+ICJcbiIsCgkJCSksCgkJKTsKCgkJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJCS8vICBTdGFuZGFyZCBsaWJyYXJ5IG9mIEJCQ29kZSBmb3JtYXR0aW5nIHJvdXRpbmVzLgoKCQkvLyBGb3JtYXQgYSBbdXJsXSB0YWcgYnkgcHJvZHVjaW5nIGFuIDxhPi4uLjwvYT4gZWxlbWVudC4KCQkvLyBUaGUgVVJMIG9ubHkgYWxsb3dzIGh0dHAsIGh0dHBzLCBtYWlsdG8sIGFuZCBmdHAgcHJvdG9jb2xzIGZvciBzYWZldHkuCgkJZnVuY3Rpb24gRG9VUkwoJGJiY29kZSwgJGFjdGlvbiwgJG5hbWUsICRkZWZhdWx0LCAkcGFyYW1zLCAkY29udGVudCkgewoJCQkvLyBXZSBjYW4ndCBjaGVjayB0aGlzIHdpdGggQkJDT0RFX0NIRUNLIGJlY2F1c2Ugd2UgbWF5IGhhdmUgbm8gVVJMIGJlZm9yZSB0aGUgY29udGVudAoJCQkvLyBoYXMgYmVlbiBwcm9jZXNzZWQuCgkJCWlmICgkYWN0aW9uID09IEJCQ09ERV9DSEVDSykgcmV0dXJuIHRydWU7CgoJCQkkdXJsID0gaXNfc3RyaW5nKCRkZWZhdWx0KSA/ICRkZWZhdWx0IDogJGJiY29kZS0+VW5IVE1MRW5jb2RlKHN0cmlwX3RhZ3MoJGNvbnRlbnQpKTsKCQkJaWYgKCRiYmNvZGUtPklzVmFsaWRVUkwoJHVybCkpIHsKCQkJCWlmICgkYmJjb2RlLT51cmxfdGFyZ2V0YWJsZSAhPT0gZmFsc2UgJiYgaXNzZXQoJHBhcmFtc1sndGFyZ2V0J10pKQoJCQkJCSR0YXJnZXQgPSAiIHRhcmdldD1cIiIgLiBodG1sc3BlY2lhbGNoYXJzKCRwYXJhbXNbJ3RhcmdldCddKSAuICJcIiI7CgkJCQllbHNlICR0YXJnZXQgPSAiIjsKCQkJCWlmICgkYmJjb2RlLT51cmxfdGFyZ2V0ICE9PSBmYWxzZSkKCQkJCQlpZiAoISgkYmJjb2RlLT51cmxfdGFyZ2V0YWJsZSA9PSAnb3ZlcnJpZGUnICYmIGlzc2V0KCRwYXJhbXNbJ3RhcmdldCddKSkpCgkJCQkJCSR0YXJnZXQgPSAiIHRhcmdldD1cIiIgLiBodG1sc3BlY2lhbGNoYXJzKCRiYmNvZGUtPnVybF90YXJnZXQpIC4gIlwiIjsKCQkJCXJldHVybiAnPGEgaHJlZj0iJyAuIGh0bWxzcGVjaWFsY2hhcnMoJHVybCkgLiAnIiBjbGFzcz0iYmJjb2RlX3VybCInIC4gJHRhcmdldCAuICc+JyAuICRjb250ZW50IC4gJzwvYT4nOwoJCQl9CgkJCWVsc2UgcmV0dXJuIGh0bWxzcGVjaWFsY2hhcnMoJHBhcmFtc1snX3RhZyddKSAuICRjb250ZW50IC4gaHRtbHNwZWNpYWxjaGFycygkcGFyYW1zWydfZW5kdGFnJ10pOwoJCX0KCgkJLy8gRm9ybWF0IGFuIFtlbWFpbF0gdGFnIGJ5IHByb2R1Y2luZyBhbiA8YT4uLi48L2E+IGVsZW1lbnQuCgkJLy8gVGhlIGUtbWFpbCBhZGRyZXNzIG11c3QgYmUgYSB2YWxpZCBhZGRyZXNzIGluY2x1ZGluZyBhdCBsZWFzdCBhICdAJyBhbmQgYSB2YWxpZCBkb21haW4KCQkvLyBuYW1lIG9yIElQdjQgb3IgSVB2NiBhZGRyZXNzIGFmdGVyIHRoZSAnQCcuCgkJZnVuY3Rpb24gRG9FbWFpbCgkYmJjb2RlLCAkYWN0aW9uLCAkbmFtZSwgJGRlZmF1bHQsICRwYXJhbXMsICRjb250ZW50KSB7CgkJCS8vIFdlIGNhbid0IGNoZWNrIHRoaXMgd2l0aCBCQkNPREVfQ0hFQ0sgYmVjYXVzZSB3ZSBtYXkgaGF2ZSBubyBVUkwgYmVmb3JlIHRoZSBjb250ZW50CgkJCS8vIGhhcyBiZWVuIHByb2Nlc3NlZC4KCQkJaWYgKCRhY3Rpb24gPT0gQkJDT0RFX0NIRUNLKSByZXR1cm4gdHJ1ZTsKCgkJCSRlbWFpbCA9IGlzX3N0cmluZygkZGVmYXVsdCkgPyAkZGVmYXVsdCA6ICRiYmNvZGUtPlVuSFRNTEVuY29kZShzdHJpcF90YWdzKCRjb250ZW50KSk7CgkJCWlmICgkYmJjb2RlLT5Jc1ZhbGlkRW1haWwoJGVtYWlsKSkKCQkJCXJldHVybiAnPGEgaHJlZj0ibWFpbHRvOicgLiBodG1sc3BlY2lhbGNoYXJzKCRlbWFpbCkgLiAnIiBjbGFzcz0iYmJjb2RlX2VtYWlsIj4nIC4gJGNvbnRlbnQgLiAnPC9hPic7CgkJCWVsc2UgcmV0dXJuIGh0bWxzcGVjaWFsY2hhcnMoJHBhcmFtc1snX3RhZyddKSAuICRjb250ZW50IC4gaHRtbHNwZWNpYWxjaGFycygkcGFyYW1zWydfZW5kdGFnJ10pOwoJCX0KCgkJLy8gRm9ybWF0IGEgW3NpemVdIHRhZyBieSBwcm9kdWNpbmcgYSA8c3Bhbj4gd2l0aCBhIHN0eWxlIHdpdGggYSBkaWZmZXJlbnQgZm9udC1zaXplLgoJCWZ1bmN0aW9uIERvU2l6ZSgkYmJjb2RlLCAkYWN0aW9uLCAkbmFtZSwgJGRlZmF1bHQsICRwYXJhbXMsICRjb250ZW50KSB7CgkJCXN3aXRjaCAoJGRlZmF1bHQpIHsKCQkJY2FzZSAnMCc6ICRzaXplID0gJy41ZW0nOyBicmVhazsKCQkJY2FzZSAnMSc6ICRzaXplID0gJy42N2VtJzsgYnJlYWs7CgkJCWNhc2UgJzInOiAkc2l6ZSA9ICcuODNlbSc7IGJyZWFrOwoJCQlkZWZhdWx0OgoJCQljYXNlICczJzogJHNpemUgPSAnMS4wZW0nOyBicmVhazsKCQkJY2FzZSAnNCc6ICRzaXplID0gJzEuMTdlbSc7IGJyZWFrOwoJCQljYXNlICc1JzogJHNpemUgPSAnMS41ZW0nOyBicmVhazsKCQkJY2FzZSAnNic6ICRzaXplID0gJzIuMGVtJzsgYnJlYWs7CgkJCWNhc2UgJzcnOiAkc2l6ZSA9ICcyLjVlbSc7IGJyZWFrOwoJCQl9CgkJCXJldHVybiAiPHNwYW4gc3R5bGU9XCJmb250LXNpemU6JHNpemVcIj4kY29udGVudDwvc3Bhbj4iOwoJCX0KCgkJLy8gRm9ybWF0IGEgW2ZvbnRdIHRhZyBieSBwcm9kdWNpbmcgYSA8c3Bhbj4gd2l0aCBhIHN0eWxlIHdpdGggYSBkaWZmZXJlbnQgZm9udC1mYW1pbHkuCgkJLy8gVGhpcyBpcyBjb21wbGljYXRlZCBieSB0aGUgZmFjdCB0aGF0IHdlIGhhdmUgdG8gcmVjb2duaXplIHRoZSBmaXZlIHNwZWNpYWwgZm9udAoJCS8vIG5hbWVzIGFuZCBxdW90ZSBhbGwgdGhlIG90aGVycy4KCQlmdW5jdGlvbiBEb0ZvbnQoJGJiY29kZSwgJGFjdGlvbiwgJG5hbWUsICRkZWZhdWx0LCAkcGFyYW1zLCAkY29udGVudCkgewoJCQkkZm9udHMgPSBleHBsb2RlKCIsIiwgJGRlZmF1bHQpOwoJCQkkcmVzdWx0ID0gIiI7CgkJCSRzcGVjaWFsX2ZvbnRzID0gQXJyYXkoCgkJCQknc2VyaWYnID0+ICdzZXJpZicsCgkJCQknc2Fucy1zZXJpZicgPT4gJ3NhbnMtc2VyaWYnLAoJCQkJJ3NhbnMgc2VyaWYnID0+ICdzYW5zLXNlcmlmJywKCQkJCSdzYW5zc2VyaWYnID0+ICdzYW5zLXNlcmlmJywKCQkJCSdzYW5zJyA9PiAnc2Fucy1zZXJpZicsCgkJCQknY3Vyc2l2ZScgPT4gJ2N1cnNpdmUnLAoJCQkJJ2ZhbnRhc3knID0+ICdmYW50YXN5JywKCQkJCSdtb25vc3BhY2UnID0+ICdtb25vc3BhY2UnLAoJCQkJJ21vbm8nID0+ICdtb25vc3BhY2UnLAoJCQkpOwoJCQlmb3JlYWNoICgkZm9udHMgYXMgJGZvbnQpIHsKCQkJCSRmb250ID0gdHJpbSgkZm9udCk7CgkJCQlpZiAoaXNzZXQoJHNwZWNpYWxfZm9udHNbJGZvbnRdKSkgewoJCQkJCWlmIChzdHJsZW4oJHJlc3VsdCkgPiAwKSAkcmVzdWx0IC49ICIsIjsKCQkJCQkkcmVzdWx0IC49ICRzcGVjaWFsX2ZvbnRzWyRmb250XTsKCQkJCX0KCQkJCWVsc2UgaWYgKHN0cmxlbigkZm9udCkgPiAwKSB7CgkJCQkJaWYgKHN0cmxlbigkcmVzdWx0KSA+IDApICRyZXN1bHQgLj0gIiwiOwoJCQkJCSRyZXN1bHQgLj0gIickZm9udCciOwoJCQkJfQoJCQl9CgkJCXJldHVybiAiPHNwYW4gc3R5bGU9XCJmb250LWZhbWlseTokcmVzdWx0XCI+JGNvbnRlbnQ8L3NwYW4+IjsKCQl9CgoJCS8vIEZvcm1hdCBhIFt3aWtpXSB0YWcgYnkgcHJvZHVjaW5nIGFuIDxhPi4uLjwvYT4gZWxlbWVudC4KCQlmdW5jdGlvbiBEb1dpa2koJGJiY29kZSwgJGFjdGlvbiwgJG5hbWUsICRkZWZhdWx0LCAkcGFyYW1zLCAkY29udGVudCkgewoJCQkkbmFtZSA9ICRiYmNvZGUtPldpa2lmeSgkZGVmYXVsdCk7CgkJCWlmICgkYWN0aW9uID09IEJCQ09ERV9DSEVDSykKCQkJCXJldHVybiBzdHJsZW4oJG5hbWUpID4gMDsKCQkJJHRpdGxlID0gdHJpbShAJHBhcmFtc1sndGl0bGUnXSk7CgkJCWlmIChzdHJsZW4oJHRpdGxlKSA8PSAwKSAkdGl0bGUgPSB0cmltKCRkZWZhdWx0KTsKCQkJcmV0dXJuICI8YSBocmVmPVwieyRiYmNvZGUtPndpa2lfdXJsfSRuYW1lXCIgY2xhc3M9XCJiYmNvZGVfd2lraVwiPiIKCQkJCS4gaHRtbHNwZWNpYWxjaGFycygkdGl0bGUpIC4gIjwvYT4iOwoJCX0KCgkJLy8gRm9ybWF0IGFuIFtpbWddIHRhZy4gIFRoZSBVUkwgb25seSBhbGxvd3MgaHR0cCwgaHR0cHMsIGFuZCBmdHAgcHJvdG9jb2xzIGZvciBzYWZldHkuCgkJZnVuY3Rpb24gRG9JbWFnZSgkYmJjb2RlLCAkYWN0aW9uLCAkbmFtZSwgJGRlZmF1bHQsICRwYXJhbXMsICRjb250ZW50KSB7CgkJCS8vIFdlIGNhbid0IHZhbGlkYXRlIHRoaXMgdW50aWwgd2UgaGF2ZSBpdHMgY29udGVudC4KCQkJaWYgKCRhY3Rpb24gPT0gQkJDT0RFX0NIRUNLKSByZXR1cm4gdHJ1ZTsKCgkJCSRjb250ZW50ID0gdHJpbSgkYmJjb2RlLT5VbkhUTUxFbmNvZGUoc3RyaXBfdGFncygkY29udGVudCkpKTsKCQkJaWYgKHByZWdfbWF0Y2goIi9cXC4oPzpnaWZ8anBlZ3xqcGd8anBlfHBuZykkLyIsICRjb250ZW50KSkgewoJCQkJaWYgKHByZWdfbWF0Y2goIi9eW2EtekEtWjAtOV9dW146XSskLyIsICRjb250ZW50KSkgewoJCQkJCS8vIE5vIHByb3RvY29sLCBzbyB0aGUgaW1hZ2UgaXMgaW4gb3VyIGxvY2FsIGltYWdlIGRpcmVjdG9yeSwgb3Igc29tZXdoZXJlIHVuZGVyIGl0LgoJCQkJCWlmICghcHJlZ19tYXRjaCgiLyg/OlxcL1xcLlxcLlxcLyl8KD86XlxcLlxcLlxcLyl8KD86XlxcLykvIiwgJGNvbnRlbnQpKSB7CgkJCQkJCSRpbmZvID0gQGdldGltYWdlc2l6ZSgieyRiYmNvZGUtPmxvY2FsX2ltZ19kaXJ9L3skY29udGVudH0iKTsKCQkJCQkJaWYgKCRpbmZvWzJdID09IElNQUdFVFlQRV9HSUYgfHwgJGluZm9bMl0gPT0gSU1BR0VUWVBFX0pQRUcgfHwgJGluZm9bMl0gPT0gSU1BR0VUWVBFX1BORykgewoJCQkJCQkJcmV0dXJuICI8aW1nIHNyYz1cIiIKCQkJCQkJCQkuIGh0bWxzcGVjaWFsY2hhcnMoInskYmJjb2RlLT5sb2NhbF9pbWdfdXJsfS97JGNvbnRlbnR9IikgLiAiXCIgYWx0PVwiIgoJCQkJCQkJCS4gaHRtbHNwZWNpYWxjaGFycyhiYXNlbmFtZSgkY29udGVudCkpIC4gIlwiIHdpZHRoPVwiIgoJCQkJCQkJCS4gaHRtbHNwZWNpYWxjaGFycygkaW5mb1swXSkgLiAiXCIgaGVpZ2h0PVwiIgoJCQkJCQkJCS4gaHRtbHNwZWNpYWxjaGFycygkaW5mb1sxXSkgLiAiXCIgY2xhc3M9XCJiYmNvZGVfaW1nXCIgLz4iOwoJCQkJCQl9CgkJCQkJfQoJCQkJfQoJCQkJZWxzZSBpZiAoJGJiY29kZS0+SXNWYWxpZFVSTCgkY29udGVudCwgZmFsc2UpKSB7CgkJCQkJLy8gUmVtb3RlIFVSTCwgb3IgYXQgbGVhc3Qgd2UgZG9uJ3Qga25vdyB3aGVyZSBpdCBpcy4KLy9BTEJZIEkgdGhpbmsgdGhhdCBpcyBiZXR0ZXIgcmVzaXplIGltYWdlcyEhCnJldHVybiAnPGEgaHJlZj0iIiBvbm1vdXNlb3Zlcj0iU01SX3NldExpbmsodGhpcyk7IiByZWw9Im5vZm9sbG93IGV4dGVybmFsIiB0YXJnZXQ9Il9ibGFuayI+PGltZyBzcmM9IicuIGh0bWxzcGVjaWFsY2hhcnMoJGNvbnRlbnQpIC4nIiBhbHQ9ImZvcnVtIGltYWdlIiBjbGFzcz0iYmJjb2RlX2ltZyIgb25sb2FkPSJTTVJfcmVzaXplKHRoaXMpOyIgLz48L2E+JzsKCQkJCX0KCQkJfQoKCQkJcmV0dXJuIGh0bWxzcGVjaWFsY2hhcnMoJHBhcmFtc1snX3RhZyddKSAuIGh0bWxzcGVjaWFsY2hhcnMoJGNvbnRlbnQpIC4gaHRtbHNwZWNpYWxjaGFycygkcGFyYW1zWydfZW5kdGFnJ10pOwoJCX0KCgkJLy8gRm9ybWF0IGEgW3J1bGVdIHRhZy4gIFRoaXMgc3Vic3RpdHV0ZXMgdGhlIGNvbnRlbnQgcHJvdmlkZWQgYnkgdGhlIEJCQ29kZQoJCS8vIG9iamVjdCwgd2hhdGV2ZXIgdGhhdCBtYXkgYmUuCgkJZnVuY3Rpb24gRG9SdWxlKCRiYmNvZGUsICRhY3Rpb24sICRuYW1lLCAkZGVmYXVsdCwgJHBhcmFtcywgJGNvbnRlbnQpIHsKCQkJaWYgKCRhY3Rpb24gPT0gQkJDT0RFX0NIRUNLKSByZXR1cm4gdHJ1ZTsKCQkJZWxzZSByZXR1cm4gJGJiY29kZS0+cnVsZV9odG1sOwoJCX0KCgkJLy8gRm9ybWF0IGEgW3F1b3RlXSB0YWcuICBUaGlzIHRhZyBjYW4gY29tZSBpbiBhIHZhcmlldHkgb2YgZmxhdm9yczoKCQkvLwoJCS8vICBbcXVvdGVdLi4uWy9xdW90ZV0KCQkvLyAgW3F1b3RlPVRvbV0uLi5bL3F1b3RlXQoJCS8vICBbcXVvdGUgbmFtZT0iVG9tIl0uLi5bL3F1b3RlXQoJCS8vCgkJLy8gSW4gdGhlIHRoaXJkIGZvcm0sIHlvdSBjYW4gYWxzbyBhZGQgYSBkYXRlPSIiIHBhcmFtZXRlciB0byBkaXNwbGF5IHRoZSBkYXRlCgkJLy8gb24gd2hpY2ggVG9tIHdyb3RlIGl0LCBhbmQgeW91IGNhbiBhZGQgYSB1cmw9IiIgcGFyYW1ldGVyIHRvIHR1cm4gdGhlIGF1dGhvcidzCgkJLy8gbmFtZSBpbnRvIGEgbGluay4gIEEgZnVsbCBleGFtcGxlIG1pZ2h0IGJlOgoJCS8vCgkJLy8gIFtxdW90ZSBuYW1lPSJUb20iIGRhdGU9Ikp1bHkgNCwgMTc3NiAzOjQ4IFBNIiB1cmw9Imh0dHA6Ly93d3cuY29uc3RpdHV0aW9uLmdvdiJdLi4uWy9xdW90ZV0KCQkvLwoJCS8vIFRoZSBVUkwgb25seSBhbGxvd3MgaHR0cCwgaHR0cHMsIG1haWx0bywgZ29waGVyLCBmdHAsIGFuZCBmZWVkIHByb3RvY29scyBmb3Igc2FmZXR5LgoJCWZ1bmN0aW9uIERvUXVvdGUoJGJiY29kZSwgJGFjdGlvbiwgJG5hbWUsICRkZWZhdWx0LCAkcGFyYW1zLCAkY29udGVudCkgewoJCQlpZiAoJGFjdGlvbiA9PSBCQkNPREVfQ0hFQ0spIHJldHVybiB0cnVlOwoKCQkJaWYgKGlzc2V0KCRwYXJhbXNbJ25hbWUnXSkpIHsKCQkJCSR0aXRsZSA9IGh0bWxzcGVjaWFsY2hhcnModHJpbSgkcGFyYW1zWyduYW1lJ10pKSAuICI6IjsgLy9BTEJZCgkJCQlpZiAoaXNzZXQoJHBhcmFtc1snZGF0ZSddKSkKCQkJCQkkdGl0bGUgLj0gIiBvbiAiIC4gaHRtbHNwZWNpYWxjaGFycyh0cmltKCRwYXJhbXNbJ2RhdGUnXSkpOwoJCQkJJHRpdGxlIC49ICI6IjsKCQkJCWlmIChpc3NldCgkcGFyYW1zWyd1cmwnXSkpIHsKCQkJCQkkdXJsID0gdHJpbSgkcGFyYW1zWyd1cmwnXSk7CgkJCQkJaWYgKCRiYmNvZGUtPklzVmFsaWRVUkwoJHVybCkpCgkJCQkJCSR0aXRsZSA9ICI8YSBocmVmPVwiIiAuIGh0bWxzcGVjaWFsY2hhcnMoJHBhcmFtc1sndXJsJ10pIC4gIlwiPiIgLiAkdGl0bGUgLiAiPC9hPiI7CgkJCQl9CgkJCX0KCQkJZWxzZSBpZiAoIWlzX3N0cmluZygkZGVmYXVsdCkpCgkJCQkkdGl0bGUgPSAiUXVvdGU6IjsKCQkJZWxzZSAkdGl0bGUgPSBodG1sc3BlY2lhbGNoYXJzKHRyaW0oJGRlZmF1bHQpKSAuICI6IjsgLy9BTEJZCgkJCXJldHVybiAiXG48ZGl2IGNsYXNzPVwiYmJjb2RlX3F1b3RlXCI+XG48ZGl2IGNsYXNzPVwiYmJjb2RlX3F1b3RlX2hlYWRcIj4iCgkJCQkuICR0aXRsZSAuICI8L2Rpdj5cbjxkaXYgY2xhc3M9XCJiYmNvZGVfcXVvdGVfYm9keVwiPiIKCQkJCS4gJGNvbnRlbnQgLiAiPC9kaXY+XG48L2Rpdj5cbiI7CgkJfQoKCQkvLyBGb3JtYXQgYSBbbGlzdF0gdGFnLCB3aGljaCBpcyBjb21wbGljYXRlZCBieSB0aGUgbnVtYmVyIG9mIGRpZmZlcmVudAoJCS8vIHdheXMgYSBsaXN0IGNhbiBiZSBzdGFydGVkLiAgVGhlIGZvbGxvd2luZyBwYXJhbWV0ZXJzIGFyZSBhbGxvd2VkOgoJCS8vCgkJLy8gICBbbGlzdF0gICAgICAgICAgIFVub3JkZXJlZCBsaXN0LCB1c2luZyBkZWZhdWx0IG1hcmtlcgoJCS8vICAgW2xpc3Q9Y2lyY2xlXSAgICBVbm9yZGVyZWQgbGlzdCwgdXNpbmcgY2lyY2xlIG1hcmtlcgoJCS8vICAgW2xpc3Q9ZGlzY10gICAgICBVbm9yZGVyZWQgbGlzdCwgdXNpbmcgZGlzYyBtYXJrZXIKCQkvLyAgIFtsaXN0PXNxdWFyZV0gICAgVW5vcmRlcmVkIGxpc3QsIHVzaW5nIHNxdWFyZSBtYXJrZXIKCQkvLwoJCS8vICAgW2xpc3Q9MV0gICAgICAgICBPcmRlcmVkIGxpc3QsIG51bWVyaWMsIHN0YXJ0aW5nIGF0IDEKCQkvLyAgIFtsaXN0PUFdICAgICAgICAgT3JkZXJlZCBsaXN0LCBjYXBpdGFsIGxldHRlcnMsIHN0YXJ0aW5nIGF0IEEKCQkvLyAgIFtsaXN0PWFdICAgICAgICAgT3JkZXJlZCBsaXN0LCBsb3dlcmNhc2UgbGV0dGVycywgc3RhcnRpbmcgYXQgYQoJCS8vICAgW2xpc3Q9SV0gICAgICAgICBPcmRlcmVkIGxpc3QsIGNhcGl0YWwgUm9tYW4gbnVtZXJhbHMsIHN0YXJ0aW5nIGF0IEkKCQkvLyAgIFtsaXN0PWldICAgICAgICAgT3JkZXJlZCBsaXN0LCBsb3dlcmNhc2UgUm9tYW4gbnVtZXJhbHMsIHN0YXJ0aW5nIGF0IGkKCQkvLyAgIFtsaXN0PWdyZWVrXSAgICAgT3JkZXJlZCBsaXN0LCBsb3dlcmNhc2UgR3JlZWsgbGV0dGVycywgc3RhcnRpbmcgYXQgYWxwaGEKCQkvLyAgIFtsaXN0PTAxXSAgICAgICAgT3JkZXJlZCBsaXN0LCB0d28tZGlnaXQgbnVtZXJpYyB3aXRoIDAtcGFkZGluZywgc3RhcnRpbmcgYXQgMDEKCQlmdW5jdGlvbiBEb0xpc3QoJGJiY29kZSwgJGFjdGlvbiwgJG5hbWUsICRkZWZhdWx0LCAkcGFyYW1zLCAkY29udGVudCkgewoKCQkJLy8gQWxsb3dlZCBsaXN0IHN0eWxlcywgc3RyaWFnaHQgZnJvbSB0aGUgQ1NTIDIuMSBzcGVjLiAgVGhlIG9ubHkgcHJvaGliaXRlZAoJCQkvLyBsaXN0IHN0eWxlIGlzIHRoYXQgd2l0aCBpbWFnZS1iYXNlZCBtYXJrZXJzLCB3aGljaCBvZnRlbiBzbG93cyBkb3duIHdlYiBzaXRlcy4KCQkJJGxpc3Rfc3R5bGVzID0gQXJyYXkoCgkJCQknMScgPT4gJ2RlY2ltYWwnLAoJCQkJJzAxJyA9PiAnZGVjaW1hbC1sZWFkaW5nLXplcm8nLAoJCQkJJ2knID0+ICdsb3dlci1yb21hbicsCgkJCQknSScgPT4gJ3VwcGVyLXJvbWFuJywKCQkJCSdhJyA9PiAnbG93ZXItYWxwaGEnLAoJCQkJJ0EnID0+ICd1cHBlci1hbHBoYScsCgkJCSk7CgkJCSRjaV9saXN0X3N0eWxlcyA9IEFycmF5KAoJCQkJJ2NpcmNsZScgPT4gJ2NpcmNsZScsCgkJCQknZGlzYycgPT4gJ2Rpc2MnLAoJCQkJJ3NxdWFyZScgPT4gJ3NxdWFyZScsCgkJCQknZ3JlZWsnID0+ICdsb3dlci1ncmVlaycsCgkJCQknYXJtZW5pYW4nID0+ICdhcm1lbmlhbicsCgkJCQknZ2VvcmdpYW4nID0+ICdnZW9yZ2lhbicsCgkJCSk7CgkJCSR1bF90eXBlcyA9IEFycmF5KAoJCQkJJ2NpcmNsZScgPT4gJ2NpcmNsZScsCgkJCQknZGlzYycgPT4gJ2Rpc2MnLAoJCQkJJ3NxdWFyZScgPT4gJ3NxdWFyZScsCgkJCSk7CgoJCQkkZGVmYXVsdCA9IHRyaW0oJGRlZmF1bHQpOwoKCQkJaWYgKCRhY3Rpb24gPT0gQkJDT0RFX0NIRUNLKSB7CgkJCQlpZiAoIWlzX3N0cmluZygkZGVmYXVsdCkgfHwgc3RybGVuKCRkZWZhdWx0KSA9PSAiIikgcmV0dXJuIHRydWU7CgkJCQllbHNlIGlmIChpc3NldCgkbGlzdF9zdHlsZXNbJGRlZmF1bHRdKSkgcmV0dXJuIHRydWU7CgkJCQllbHNlIGlmIChpc3NldCgkY2lfbGlzdF9zdHlsZXNbc3RydG9sb3dlcigkZGVmYXVsdCldKSkgcmV0dXJuIHRydWU7CgkJCQllbHNlIHJldHVybiBmYWxzZTsKCQkJfQoKCQkJLy8gQ2hvb3NlIGEgbGlzdCBlbGVtZW50ICg8dWw+IG9yIDxvbD4pIGFuZCBhIHN0eWxlLgoJCQlpZiAoIWlzX3N0cmluZygkZGVmYXVsdCkgfHwgc3RybGVuKCRkZWZhdWx0KSA9PSAiIikgewoJCQkJJGVsZW0gPSAndWwnOwoJCQkJJHR5cGUgPSAnJzsKCQkJfQoJCQllbHNlIGlmICgkZGVmYXVsdCA9PSAnMScpIHsKCQkJCSRlbGVtID0gJ29sJzsKCQkJCSR0eXBlID0gJyc7CgkJCX0KCQkJZWxzZSBpZiAoaXNzZXQoJGxpc3Rfc3R5bGVzWyRkZWZhdWx0XSkpIHsKCQkJCSRlbGVtID0gJ29sJzsKCQkJCSR0eXBlID0gJGxpc3Rfc3R5bGVzWyRkZWZhdWx0XTsKCQkJfQoJCQllbHNlIHsKCQkJCSRkZWZhdWx0ID0gc3RydG9sb3dlcigkZGVmYXVsdCk7CgkJCQlpZiAoaXNzZXQoJHVsX3R5cGVzWyRkZWZhdWx0XSkpIHsKCQkJCQkkZWxlbSA9ICd1bCc7CgkJCQkJJHR5cGUgPSAkdWxfdHlwZXNbJGRlZmF1bHRdOwoJCQkJfQoJCQkJZWxzZSBpZiAoaXNzZXQoJGNpX2xpc3Rfc3R5bGVzWyRkZWZhdWx0XSkpIHsKCQkJCQkkZWxlbSA9ICdvbCc7CgkJCQkJJHR5cGUgPSAkY2lfbGlzdF9zdHlsZXNbJGRlZmF1bHRdOwoJCQkJfQoJCQl9CgoJCQkvLyBHZW5lcmF0ZSB0aGUgSFRNTCBmb3IgaXQuCgkJCWlmIChzdHJsZW4oJHR5cGUpKQoJCQkJcmV0dXJuICJcbjwkZWxlbSBjbGFzcz1cImJiY29kZV9saXN0XCIgc3R5bGU9XCJsaXN0LXN0eWxlLXR5cGU6JHR5cGVcIj5cbiRjb250ZW50PC8kZWxlbT5cbiI7CgkJCWVsc2UgcmV0dXJuICJcbjwkZWxlbSBjbGFzcz1cImJiY29kZV9saXN0XCI+XG4kY29udGVudDwvJGVsZW0+XG4iOwoJCX0KCgl9Cgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/_backup/lib/Class.BBCode_Profiler.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCS8vCgkvLyAgbmJiY19tYWluLnBocAoJLy8KCS8vICBUaGlzIGZpbGUgaXMgcGFydCBvZiBOQkJDLCB0aGUgTmV3IEJCQ29kZSBQYXJzZXIuCgkvLwoJLy8gIE5CQkMgaW1wbGVtZW50cyBhIGZ1bGx5LXZhbGlkYXRpbmcsIGhpZ2gtc3BlZWQsIGV4dGVuc2libGUgcGFyc2VyIGZvciB0aGUKCS8vICBCQkNvZGUgZG9jdW1lbnQgbGFuZ3VhZ2UuICBJdHMgb3V0cHV0IGlzIFhIVE1MIDEuMCBTdHJpY3QgY29uZm9ybWFudCBubwoJLy8gIG1hdHRlciB3aGF0IGl0cyBpbnB1dCBpcy4gIE5CQkMgc3VwcG9ydHMgdGhlIGZ1bGwgc3RhbmRhcmQgQkJDb2RlIGxhbmd1YWdlLAoJLy8gIGFzIHdlbGwgYXMgY29tbWVudHMsIGNvbHVtbnMsIGVuaGFuY2VkIHF1b3Rlcywgc3BvaWxlcnMsIGFjcm9ueW1zLCB3aWtpCgkvLyAgbGlua3MsIHNldmVyYWwgbGlzdCBzdHlsZXMsIGp1c3RpZmljYXRpb24sIGluZGVudGF0aW9uLCBhbmQgc21pbGV5cywgYW1vbmcKCS8vICBvdGhlciBhZHZhbmNlZCBmZWF0dXJlcy4KCS8vCgkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkvLwoJLy8gIENvcHlyaWdodCAoYykgMjAwOC05LCB0aGUgUGhhbnRvbSBJbmtlci4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgkvLwoJLy8gIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAoJLy8gIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwoJLy8gIGFyZSBtZXQ6CgkvLwoJLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAoJLy8gICAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgoJLy8KCS8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKCS8vICAgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbgoJLy8gICAgICAgdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQoJLy8gICAgICAgZGlzdHJpYnV0aW9uLgoJLy8KCS8vICBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBQSEFOVE9NIElOS0VSICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTCgkvLyAgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKCS8vICBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCgkvLyAgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUKCS8vICBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCgkvLyAgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKCS8vICBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IKCS8vICBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwKCS8vICBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRQoJLy8gIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4KCS8vICBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KCS8vCgkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkvLwoJLy8gIFRoaXMgZmlsZSBwcm92aWRlcyBkZWZpbml0aW9ucyBzaGFyZWQgdGhyb3VnaG91dCB0aGUgcGFyc2VyLCBhbmQgYQoJLy8gIHVuaWZvcm0gd2F5IHRvIGluY2x1ZGUgYWxsIHRoZSBwYXJzZXIncyBwaWVjZXMuCgkvLwoJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCWRlZmluZSgiQkJDT0RFX1ZFUlNJT04iLCAiMS40LjMiKTsJCS8vIEN1cnJlbnQgdmVyc2lvbiBudW1iZXIKCWRlZmluZSgiQkJDT0RFX1JFTEVBU0UiLCAiMjAwOS0xMC0xMCIpOwkvLyBDdXJyZW50IHJlbGVhc2UgZGF0ZQoKCWRlZmluZSgiQkJDT0RFX1ZFUkJBVElNIiwgMik7CQkvLyBDb250ZW50IHR5cGU6ICBDb250ZW50IGlzIG5vdCBwcm9jZXNzZWQgYXMgQkJDb2RlLgoJZGVmaW5lKCJCQkNPREVfUkVRVUlSRUQiLCAxKTsJCS8vIENvbnRlbnQgdHlwZTogIENvbnRlbnQgbWF5IG5vdCBiZSBlbXB0eSBvciB3aGl0ZXNwYWNlLgoJCQkJCQkJCQkJLy8gRW5kIHRhZ3M6ICBFbmQgdGFnIG11c3QgYmUgZ2l2ZW4gYnkgdXNlci4KCWRlZmluZSgiQkJDT0RFX09QVElPTkFMIiwgMCk7CQkvLyBDb250ZW50IHR5cGU6ICBDb250ZW50IGlzIHBlcm1pdHRlZCBidXQgbm90IHJlcXVpcmVkLgoJCQkJCQkJCQkJLy8gRW5kIHRhZ3M6ICBFbmQgdGFnIGlzIHBlcm1pdHRlZCBidXQgbm90IHJlcXVpcmVkLgoJZGVmaW5lKCJCQkNPREVfUFJPSElCSVQiLCAtMSk7CQkvLyBDb250ZW50IHR5cGU6ICBDb250ZW50IG1heSBub3QgYmUgcHJvdmlkZWQgYnkgdXNlci4KCQkJCQkJCQkJCS8vIEVuZCB0YWdzOiAgRW5kIHRhZyBpcyBkaXNhbGxvd2VkOyBzdGFydCB0YWcgb25seS4KCglkZWZpbmUoIkJCQ09ERV9DSEVDSyIsIDEpOwkJCS8vIENhbGxiYWNrIG9wZXJhdGlvbjogQ2hlY2sgdmFsaWRpdGl0eSBvZiBpbnB1dAoJZGVmaW5lKCJCQkNPREVfT1VUUFVUIiwgMik7CQkJLy8gQ2FsbGJhY2sgb3BlcmF0aW9uOiBHZW5lcmF0ZSBIVE1MIG91dHB1dAoKCWRlZmluZSgiQkJDT0RFX0VORFRBRyIsIDUpOwkJCS8vIFRva2VuOiBBbiBbL2VuZCB0YWddCglkZWZpbmUoIkJCQ09ERV9UQUciLCA0KTsJCQkvLyBUb2tlbjogQSBbc3RhcnQgdGFnXSBvciBbZW1wdHkgdGFnXQoJZGVmaW5lKCJCQkNPREVfVEVYVCIsIDMpOwkJCS8vIFRva2VuOiBOb24td2hpdGVzcGFjZSBub24tdGFnIHBsYWluIHRleHQKCWRlZmluZSgiQkJDT0RFX05MIiwgMik7CQkJCS8vIFRva2VuOiBBIHNpbmdsZSBuZXdsaW5lCglkZWZpbmUoIkJCQ09ERV9XUyIsIDEpOwkJCQkvLyBUb2tlbjogTm9uLW5ld2xpbmUgd2hpdGVzcGFjZQoJZGVmaW5lKCJCQkNPREVfRU9JIiwgMCk7CQkJLy8gVG9rZW46IEVuZC1vZi1pbnB1dAoKCWRlZmluZSgiQkJDT0RFX0xFWFNUQVRFX1RFWFQiLCAwKTsJLy8gTGV4ZXI6IE5leHQgdG9rZW4gaXMgcGxhaW4gdGV4dC4KCWRlZmluZSgiQkJDT0RFX0xFWFNUQVRFX1RBRyIsIDEpOwkvLyBMZXhlcjogTmV4dCB0b2tlbiBpcyBub24tdGV4dCBlbGVtZW50LgoKCWRlZmluZSgiQkJDT0RFX01PREVfU0lNUExFIiwgMCk7CS8vIFN3YXAgQkJDb2RlIHRhZ3Mgd2l0aCBIVE1MIHRhZ3MuCglkZWZpbmUoIkJCQ09ERV9NT0RFX0NBTExCQUNLIiwgMSk7CS8vIFVzZSBwcm92aWRlZCBjYWxsYmFjayBmdW5jdGlvbiBvciBtZXRob2QuCglkZWZpbmUoIkJCQ09ERV9NT0RFX0lOVEVSTkFMIiwgMik7CS8vIFVzZSBpbnRlcm5hbCBjYWxsYmFjayBmdW5jdGlvbi4KCWRlZmluZSgiQkJDT0RFX01PREVfTElCUkFSWSIsIDMpOwkvLyBVc2UgbGlicmFyeSBjYWxsYmFjayBmdW5jdGlvbi4KCWRlZmluZSgiQkJDT0RFX01PREVfRU5IQU5DRUQiLCA0KTsJLy8gSW5zZXJ0IEJCQ29kZSBpbnB1dCBpbnRvIHRoZSBwcm92aWRlZCBIVE1MIHRlbXBsYXRlLgoKCWRlZmluZSgiQkJDT0RFX1NUQUNLX1RPS0VOIiwgMCk7CS8vIFN0YWNrIG5vZGU6IFRva2VuIHR5cGUKCWRlZmluZSgiQkJDT0RFX1NUQUNLX1RFWFQiLCAxKTsJCS8vIFN0YWNrIG5vZGU6IEhUTUwgdGV4dCBjb250ZW50CglkZWZpbmUoIkJCQ09ERV9TVEFDS19UQUciLCAyKTsJCS8vIFN0YWNrIG5vZGU6IFRhZyBjb250ZW50cyAoYXJyYXkpCglkZWZpbmUoIkJCQ09ERV9TVEFDS19DTEFTUyIsIDMpOwkvLyBTdGFjayBub2RlOiBDbGFzc25hbWUKCgkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkvLyAgVGhpcyBwcm9maWxlciBjbGFzcyBoZWxwcyB1cyB0byBlYXNpbHkgZGV0ZWN0IHBlcmZvcm1hbmNlIGJvdHRsZW5lY2tzLgoJLy8gIFdlIGxlYXZlIGl0IG91dCBvZiB0aGUgaGlnaC1zcGVlZCBjb21wcmVzc2VkIHZlcnNpb24gb2YgTkJCQyBmb3IKCS8vICBwZXJmb3JtYW5jZSByZWFzb25zOyB0aGlzIGlzIHJlYWxseSBhIGRlYnVnZ2luZyBhaWQgbW9yZSB0aGFuIGFueXRoaW5nLgoKCS8vPHNraXAtd2hlbi1jb21wcmVzc2luZz4KCWNsYXNzIEJCQ29kZV9Qcm9maWxlciB7CgkJdmFyICRzdGFydF90aW1lLCAkdG90YWxfdGltZXM7CgoJCWZ1bmN0aW9uIEJCQ29kZV9Qcm9maWxlcigpCgkJCXsgJHN0YXJ0X3RpbWUgPSBBcnJheSgpOyAkdG90YWxfdGltZXMgPSBBcnJheSgpOyB9CgoJCWZ1bmN0aW9uIE5vdygpCgkJCXsgbGlzdCgkdXNlYywgJHNlYykgPSBleHBsb2RlKCIgIiwgbWljcm90aW1lKCkpOwoJCQkJcmV0dXJuICgoZmxvYXQpJHVzZWMgKyAoZmxvYXQpJHNlYyk7IH0KCgkJZnVuY3Rpb24gQmVnaW4oJGdyb3VwKQoJCQl7ICR0aGlzLT5zdGFydF90aW1lWyRncm91cF0gPSAkdGhpcy0+Tm93KCk7IH0KCQlmdW5jdGlvbiBFbmQoJGdyb3VwKQoJCQl7ICR0aW1lID0gJHRoaXMtPk5vdygpIC0gJHRoaXMtPnN0YXJ0X3RpbWVbJGdyb3VwXTsKCQkJCWlmICghaXNzZXQoJHRoaXMtPnRvdGFsX3RpbWVzWyRncm91cF0pKQoJCQkJCSR0aGlzLT50b3RhbF90aW1lc1skZ3JvdXBdID0gJHRpbWU7CgkJCQllbHNlICR0aGlzLT50b3RhbF90aW1lc1skZ3JvdXBdICs9ICR0aW1lOyB9CgkJZnVuY3Rpb24gUmVzZXQoJGdyb3VwKQoJCQl7ICR0aGlzLT50b3RhbF90aW1lc1skZ3JvdXBdID0gMDsgfQoJCWZ1bmN0aW9uIFRvdGFsKCRncm91cCkKCQkJeyByZXR1cm4gQCR0aGlzLT50b3RhbF90aW1lc1skZ3JvdXBdOyB9CgoJCWZ1bmN0aW9uIER1bXBBbGxHcm91cHMoKSB7CgkJCXByaW50ICI8ZGl2PlByb2ZpbGVkIHRpbWVzOlxuPHVsPlxuIjsKCQkJa3NvcnQoJHRoaXMtPnRvdGFsX3RpbWVzKTsKCQkJZm9yZWFjaCAoJHRoaXMtPnRvdGFsX3RpbWVzIGFzICRuYW1lID0+ICR0aW1lKSB7CgkJCQlwcmludCAiPGxpPjxiPiIgLiBodG1sc3BlY2lhbGNoYXJzKCRuYW1lKSAuICI8L2I+OiAiIC4gc3ByaW50ZigiJTAuMmYgbXNlYyIsICR0aW1lICogMTAwMCkgLiAiPC9saT5cbiI7CgkJCX0KCQkJcHJpbnQgIjwvdWw+XG48L2Rpdj5cbiI7CgkJfQoJfQoJLy88L3NraXAtd2hlbi1jb21wcmVzc2luZz4KCgkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkvLyAgUEhQIDQgZG9lc24ndCBoYXZlIHN0cl9zcGxpdCgpLCBzbyBpZiBpdCBkb2Vzbid0IGV4aXN0LCB3ZSBwcm92aWRlIGEKCS8vICAoc2xvd2VyKSBzdWJzdGl0dXRlLgoKCWlmICghZnVuY3Rpb25fZXhpc3RzKCdzdHJfc3BsaXQnKSkgewoJCWZ1bmN0aW9uIHN0cl9zcGxpdCgkc3RyaW5nLCAkc3BsaXRfbGVuZ3RoID0gMSkgewoJCQkkYXJyYXkgPSBleHBsb2RlKCJcclxuIiwgY2h1bmtfc3BsaXQoJHN0cmluZywgJHNwbGl0X2xlbmd0aCkpOwoJCQlhcnJheV9wb3AoJGFycmF5KTsKCQkJcmV0dXJuICRhcnJheTsKCQl9Cgl9CgoJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCS8vIFdlIHVzZSBhYnNvbHV0ZSBwYXRocyB0byBnZXQgYXJvdW5kIFBIUC1pbmNsdWRlIHdlaXJkbmVzczsgb24gc29tZSBpbnN0YWxscwoJLy8gb2YgUEhQLCBpbmNsdWRpbmcgYSBmaWxlIHRoYXQgdXNlcyBhIHJlbGF0aXZlIHBhdGhuYW1lIGRvZXNuJ3QgYWx3YXlzIHdvcmsKCS8vIGNvcnJlY3RseSBkdWUgdG8gdGhlIHdheSBpbmNsdWRlX3BhdGggaXMgc2V0LgoJJEJCQ29kZV9Tb3VyY2VEaXIgPSBkaXJuYW1lKF9fRklMRV9fKTsKCglyZXF1aXJlX29uY2UoIiRCQkNvZGVfU291cmNlRGlyL25iYmNfbGV4LnBocCIpOwkJLy8gVGhlIGxleGljYWwgYW5hbHl6ZXIuCglyZXF1aXJlX29uY2UoIiRCQkNvZGVfU291cmNlRGlyL25iYmNfcGFyc2UucGhwIik7CS8vIFRoZSBwYXJzZXIvY29udmVydGVyLgoJcmVxdWlyZV9vbmNlKCIkQkJDb2RlX1NvdXJjZURpci9uYmJjX2xpYi5waHAiKTsJCS8vIFRoZSBsaWJyYXJ5IG9mIHN0YW5kYXJkIEJCQ29kZSBydWxlcyBhbmQgU21pbGV5cy4KCXJlcXVpcmVfb25jZSgiJEJCQ29kZV9Tb3VyY2VEaXIvbmJiY19lbWFpbC5waHAiKTsJLy8gRS1tYWlsIGFkZHJlc3MgdmFsaWRhdG9yLgoKPz4=]]></data>
	</file>
	<file>
	  <filename>/_backup/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/_backup/templates/add_edit.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRzdGFydF9mb3JtfQo8ZGl2IGNsYXNzPSJmb3JtX3JvdyI+CiAgIDxzcGFuIGNsYXNzPSJmaWVsZF90aXRsZSI+eyR0aXRsZV9kZXNjcmlwdGlvbn08L3NwYW4+CiAgIDxzcGFuIGNsYXNzPSJmaWVsZF9pbnB1dCI+eyRpbnB1dF9kZXNjcmlwdGlvbn08L3NwYW4+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJmb3JtX3JvdyI+CiAgIDxzcGFuIGNsYXNzPSJmaWVsZF90aXRsZSI+eyR0aXRsZV9leHBsYW5hdGlvbn08L3NwYW4+CiAgIDxzcGFuIGNsYXNzPSJmaWVsZF9pbnB1dCI+eyRpbnB1dF9leHBsYW5hdGlvbn08L3NwYW4+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJmb3JtX3JvdyI+CiAgIDxzcGFuIGNsYXNzPSJmaWVsZF90aXRsZSI+PC9zcGFuPgogICA8c3BhbiBjbGFzcz0iZmllbGRfaW5wdXQiPnskc3VibWl0fTwvc3Bhbj4KPC9kaXY+CnskZW5kX2Zvcm19]]></data>
	</file>
	<file>
	  <filename>/_backup/templates/adminpanel.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyR0YWJzX3N0YXJ0fQogICB7JHN0YXJ0X2dlbmVyYWxfdGFifQogICAgICB7JHdlbGNvbWVfdGV4dH0KICAgeyR0YWJfZW5kfQogICB7JHN0YXJ0X3ByZWZzX3RhYn0KICAgICAge2lmICRzdGFydF9wcmVmc190YWIgIT0gJyd9CiAgICAgIHskc3RhcnRfZm9ybX0KICAgICAgCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgIAkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHRpdGxlX2FsbG93X2FkZH06PC9wPgogICAgICAJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfYWxsb3dfYWRkfTwvcD4KICAgICAgCTwvZGl2PgogICAgICAJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgCQk8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KICAgICAgCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JHN1Ym1pdH08L3A+CiAgICAgIAk8L2Rpdj4KICAgICAgPC9mb3JtPgogICAgICB7L2lmfQogICB7JHRhYl9lbmR9CnskdGFic19lbmR9]]></data>
	</file>
	<file>
	  <filename>/_backup/templates/error.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskdGl0bGVfZXJyb3J9PC9oMz4KPHA+eyRhZG1pbl9uYXZ9PC9wPgp7aWYgJG1lc3NhZ2UhPScnfTxwPnskbWVzc2FnZX08L3A+ey9pZn0=]]></data>
	</file>
	<file>
	  <filename>/_backup/templates/skeleton_list.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRtb2R1bGVfbWVzc2FnZSl9PGgyPnskbW9kdWxlX21lc3NhZ2V8ZXNjYXBlfTwvaDI+ey9pZn0NCjxoMz57JHRpdGxlX251bV9yZWNvcmRzfTwvaDM+DQp7Zm9yZWFjaCBmcm9tPSRyZWNvcmRzIGl0ZW09ZW50cnl9DQogICB7KiBkaXNwbGF5IHNvbWV0aGluZyBkaWZmZXJlbnQgZGVwZW5kaW5nIG9uIHRoZSBtb2RlICp9DQogICB7aWYgJG1vZGU9PSdzdW1tYXJ5J30NCiAgIDxkaXY+eyRlbnRyeS0+aWR9OiB7JGVudHJ5LT5uYW1lfSAoeyRlbnRyeS0+dmlld318eyRlbnRyeS0+ZWRpdH0pIDwvZGl2Pg0KICAge2Vsc2V9DQogICA8ZGl2PnskZW50cnktPmlkfTogeyRlbnRyeS0+bmFtZX08YnIgLz57JGVudHJ5LT5leHBsYW5hdGlvbn08YnIgLz4oeyRlbnRyeS0+ZWRpdH0pIDwvZGl2Pg0KICAgey9pZn0NCnsvZm9yZWFjaH0NCg0Ke2lmICRhZGQgIT0gJyd9PGRpdj57JGFkZH08L2Rpdj57L2lmfQ==]]></data>
	</file>
	<file>
	  <filename>/_backup/_action.add_edit.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCi8qKg0KICoNCiAqIFRoaXMgaXMgYW4gZXhhbXBsZSBvZiBhIG1ldGhvZCB0byBhZGQNCiAqIGRhdGFiYXNlIGRhdGEgb24gcGFnZSB1c2luZyBhIHRlbXBsYXRlLg0KICoNCiAqIElmIHRoZSAic2tlbGV0b25faWQiIHBhcmFtZXRlciBpcyBzZXQsIHRoaXMgcGFnZSB3aWxsDQogKiBhbGxvdyB5b3UgdG8gZWRpdCB0aGF0IHJlY29yZC4gT3RoZXJ3aXNlLCBpdCB3aWxsIGxldCB5b3UNCiAqIGFkZCBhIG5ldyByZWNvcmQgLg0KICoNCiAqIE5vdGUgdGhhdCBpdCB1c2VzIGEgdGVtcGxhdGUsIGFuZCBpcyB0aHVzIHZlcnkgcG93ZXJmdWwsDQogKiBldmVuIGlmIGl0J3Mgc2ltcGxlLg0KICovDQoNCi8qKg0KICogRm9yIHNlcGFyYXRlZCBtZXRob2RzLCB5b3UnbGwgYWx3YXlzIHdhbnQgdG8gc3RhcnQgd2l0aCB0aGUgZm9sbG93aW5nDQogKiBsaW5lIHdoaWNoIGNoZWNrIHRvIG1ha2Ugc3VyZSB0aGF0IG1ldGhvZCB3YXMgY2FsbGVkIGZyb20gdGhlIG1vZHVsZQ0KICogQVBJLCBhbmQgdGhhdCBldmVyeXRoaW5nJ3Mgc2FmZSB0byBjb250aW51ZToNCiAqLw0KaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7DQovKg0KLy8gZG9uJ3QgdHJ1c3QgdGhhdCB0aGlzIHdhcyBzYWZlLCBqdXN0IGJlY2F1c2UgdGhlIGxpbmsgaXMgaGlkZGVuIGlmIHRoZSBvcHRpb24gaXMgb2ZmIQ0KLy8gYWx3YXlzIGNvZGUgZGVmZW5zaXZlbHkhIFRoZXJlIGFyZSBiZWFzdGllcyB0aGF0IGx1cmsgYW5kIHRoaW5ncyBnbyBidW1wIGluIHRoZSBuaWdodC4NCmlmICghICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhbGxvd19hZGQnLDEpID09IDEpIGV4aXQ7DQogKi8NCi8qKg0KICogQWZ0ZXIgdGhpcywgdGhlIGNvZGUgaXMgaWRlbnRpY2FsIHRvIHRoZSBjb2RlIHRoYXQgd291bGQgb3RoZXJ3aXNlIGJlDQogKiB3cmFwcGVkIGluIHRoZSBhY3Rpb24uDQogKi8NCi8qDQovLyBnZXQgb3VyIHJlY29yZHMgZnJvbSB0aGUgZGF0YWJhc2UNCiRkYiA9ICRnQ21zLT5HZXREYigpOw0KDQppZiAoaXNzZXQoJHBhcmFtc1snc2tlbGV0b25faWQnXSkpDQogICB7DQogICAkcXVlcnkgPSAnU0VMRUNUIHNrZWxldG9uX2lkLCBkZXNjcmlwdGlvbiwgZXhwbGFuYXRpb24gZnJvbSAnLmNtc19kYl9wcmVmaXgoKS4NCiAgICAgICdtb2R1bGVfc2tlbGV0b24gd2hlcmUgc2tlbGV0b25faWQgPSA/JzsNCiAgICRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRwYXJhbXNbJ3NrZWxldG9uX2lkJ10pKTsNCg0KICAgaWYgKCRyZXN1bHQgIT09IGZhbHNlKQ0KICAgICAgew0KCSAgLy8gbG9hZCBpbiB0aGUgcmVjb3JkIGlmIHRoZXJlIHdhcyBubyBlcnJvcg0KICAgICAgJHJvdz0kcmVzdWx0LT5GZXRjaFJvdygpOw0KICAgICAgJHNpZCA9ICRyb3dbJ3NrZWxldG9uX2lkJ107IC8vIHN0dXBpZCAtLSB3ZSdyZSBwYXNzaW5nIHRoZSBwYXJhbSwgYW5kIHRoZW4gdXNpbmcgdGhlIGRhdGFiYXNlIHZlcnNpb24uDQogICAgICAkZGVzYyA9ICRyb3dbJ2Rlc2NyaXB0aW9uJ107DQoJICAvLyB3ZSBkZWNvZGUgdGhpcyBuZXh0IG9uZSwgYmVjYXVzZSBpdCBnZXRzIHN0b3JlZCBlbmNvZGVkLCBhbmQgdGhlIENyZWF0ZVRleHRBcmVhIEFQSSBlbmNvZGVzIGFzIHdlbGwsIHNvDQoJICAvLyBpZiB3ZSBkaWRuJ3QgZGVjb2RlIGl0LCB3ZSdkIGdldCBkb3VibGUgZW5jb2RpbmcuDQogICAgICAkZXhwID0gaHRtbF9lbnRpdHlfZGVjb2RlKCRyb3dbJ2V4cGxhbmF0aW9uJ10pOyANCiAgICAgIH0NCiAgIGVsc2UNCiAgICAgIHsNCiAgICAgIC8vIHllYWgsIHRoYXQncyBncmFjZWZ1bCA6KA0KICAgICAgZWNobyAiRGF0YWJhc2UgZXJyb3IhIjsNCiAgICAgIGV4aXQ7DQogICAgICB9DQogICB9DQplbHNlDQogICB7DQogICAvLyBpZiB3ZSBkaWRuJ3QgcmV0cmlldmUgYSByZWNvcmQsIHNldCBzb21lIGRlZmF1bHQgdmFsdWVzDQogICAkc2lkID0gLTE7DQogICAkZGVzYyA9ICcnOw0KICAgJGV4cCA9ICcnOw0KICAgfQ0KDQovLyBzZXQgdXAgZm9ybSBmb3IgU21hcnR5DQokc21hcnR5LT5hc3NpZ24oJ3N0YXJ0X2Zvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgJ3NhdmVfcmVjb3JkJywgJHJldHVybmlkKSk7DQovLyBnaXZlIFNtYXJ0eSB0cmFuc2xhdGVkIGZpZWxkIHRpdGxlcyANCiRzbWFydHktPmFzc2lnbigndGl0bGVfZGVzY3JpcHRpb24nLCR0aGlzLT5MYW5nKCd0aXRsZV9kZXNjcmlwdGlvbicpKTsNCiRzbWFydHktPmFzc2lnbigndGl0bGVfZXhwbGFuYXRpb24nLCR0aGlzLT5MYW5nKCd0aXRsZV9leHBsYW5hdGlvbicpKTsNCi8vIGNyZWF0ZSBpbnB1dHMgZm9yIHRoZSBGb3JtIGVsZW1lbnRzLCBhbmQgcGFzcyB0aGVtIHRvIFNtYXJ0eS4gWW91J2QgYmVzdCBsb29rIHVwIHRoZSBjcmF6eSBsb25nIHBhcmFtZXRlcg0KLy8gbGlzdHMgZm9yIHRoZSBGb3JtIEFQSSBpbiBsaWIvY2xhc3Nlcy9jbGFzcy5tb2R1bGUuaW5jLnBocA0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9kZXNjcmlwdGlvbicsJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ2Rlc2NyaXB0aW9uJywkZGVzYykpOw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9leHBsYW5hdGlvbicsJHRoaXMtPkNyZWF0ZVRleHRBcmVhKHRydWUsICRpZCwgJGV4cCwgJ2V4cGxhbmF0aW9uJywgJycsICcnLCAnJywgJycsIDQwLCA1KSk7DQovLyBwYXNzIGEgaGlkZGVuIGtleSB2YWx1ZSBhbG9uZyB3aXRoIHRoZSBzdWJtaXQgYnV0dG9uDQokc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ3NrZWxldG9uX2lkJywkc2lkKS4kdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnc3VibWl0JywgJHRoaXMtPkxhbmcoJ3N1Ym1pdCcpKSk7DQokc21hcnR5LT5hc3NpZ24oJ2VuZF9mb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7DQoNCg0KLy8gRGlzcGxheSB0aGUgcG9wdWxhdGVkIHRlbXBsYXRlDQplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkZF9lZGl0LnRwbCcpOyAqLw0KZWNobyAnRURJVCc7DQoNCj8+]]></data>
	</file>
	<file>
	  <filename>/_backup/_action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqCiAqIFRoaXMgaXMgYW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBtZXRob2QgdG8gZGlzcGxheQogKiBkYXRhYmFzZSBkYXRhIG9uIHBhZ2UgdXNpbmcgYSB0ZW1wbGF0ZS4KICoKICogSWYgdGhlICJza2VsZXRvbl9pZCIgcGFyYW1ldGVyIGlzIHNldCwgdGhpcyBwYWdlIHdpbGwKICogZGlzcGxheSBvbmx5IHRoYXQgc2luZ2xlIHJlY29yZC4gT3RoZXJ3aXNlLCBpdCB3aWxsIGRpc3BsYXkKICogb25lIHBhZ2Ugd29ydGggb2YgcmVjb3Jkcy4gVGhpcyBpcyByZWFsbHkgc2lsbHkgaW4gdGhpcyBjYXNlLAogKiBiZWNhdXNlIHRoZSB2aWV3IGlzIGlkZW50aWNhbC4gSWYgeW91IGhhdmUgYSBtb3JlIGNvbXBsZXgKICogcmVjb3JkIHRob3VnaCwgeW91IGNvdWxkIGRvIHNvbWV0aGluZyB1c2VmdWwuCiAqCiAqIE5vdGUgdGhhdCBpdCB1c2VzIGEgdGVtcGxhdGUsIGFuZCBpcyB0aHVzIHZlcnkgcG93ZXJmdWwsCiAqIGV2ZW4gaWYgaXQncyBzaW1wbGUuCiAqLwoKLyoqCiAqIEZvciBzZXBhcmF0ZWQgbWV0aG9kcywgeW91J2xsIGFsd2F5cyB3YW50IHRvIHN0YXJ0IHdpdGggdGhlIGZvbGxvd2luZwogKiBsaW5lIHdoaWNoIGNoZWNrIHRvIG1ha2Ugc3VyZSB0aGF0IG1ldGhvZCB3YXMgY2FsbGVkIGZyb20gdGhlIG1vZHVsZQogKiBBUEksIGFuZCB0aGF0IGV2ZXJ5dGhpbmcncyBzYWZlIHRvIGNvbnRpbnVlOgogKi8gCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKLyoqCiAqIEFmdGVyIHRoaXMsIHRoZSBjb2RlIGlzIGlkZW50aWNhbCB0byB0aGUgY29kZSB0aGF0IHdvdWxkIG90aGVyd2lzZSBiZQogKiB3cmFwcGVkIGluIHRoZSBhY3Rpb24uCiAqLwoKLy8gZ2V0IG91ciByZWNvcmRzIGZyb20gdGhlIGRhdGFiYXNlCi8qCiRkYiA9ICRnQ21zLT5HZXREYigpOwoKJHF1ZXJ5ID0gJ1NFTEVDVCBza2VsZXRvbl9pZCwgZGVzY3JpcHRpb24sIGV4cGxhbmF0aW9uIGZyb20gJy5jbXNfZGJfcHJlZml4KCkuCiAgICdtb2R1bGVfc2tlbGV0b24nOwoKaWYgKGlzc2V0KCRwYXJhbXNbJ3NrZWxldG9uX2lkJ10pKQogICB7CiAgIC8vICpBTFdBWVMqIHVzZSBwYXJhbWV0ZXJpemVkIHF1ZXJpZXMgd2l0aCB1c2VyLXByb3ZpZGVkIGlucHV0CiAgIC8vIHRvIHByZXZlbnQgU1FMLUluamVjdGlvbiBhdHRhY2tzIQogICAkcXVlcnkgLj0gJyB3aGVyZSBza2VsZXRvbl9pZCA9ID8nOwogICAkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkcGFyYW1zWydza2VsZXRvbl9pZCddKSk7CiAgICRtb2RlID0gJ2RldGFpbCc7IC8vIHdlJ3JlIHZpZXdpbmcgYSBzaW5nbGUgcmVjb3JkCiAgIH0KZWxzZQogICB7CiAgIC8vIHdlJ3JlIG5vdCBnZXR0aW5nIGEgc3BlY2lmaWMgcmVjb3JkLCBzbyBzaG93ICdlbSBhbGwuIFByb2JhYmx5IHNob3VsZCBwYWdpbmF0ZS4KICAgJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwogICAkbW9kZSA9ICdzdW1tYXJ5JzsgLy8gd2UncmUgdmlld2luZyBhIGxpc3Qgb2YgcmVjb3JkcwogICB9CiAgKi8gCiRyZWNvcmRzID0gYXJyYXkoKTsKLyoKd2hpbGUgKCRyZXN1bHQgIT09IGZhbHNlICYmICRyb3c9JHJlc3VsdC0+RmV0Y2hSb3coKSkKICAgewogICAvLyBjcmVhdGUgYSBuZXcgb2JqZWN0IGZvciBldmVyeSByZWNvcmQgdGhhdCB3ZSByZXRyaWV2ZQogICAkcmVjID0gbmV3IHN0ZENsYXNzKCk7CiAgICRyZWMtPmlkID0gJHJvd1snc2tlbGV0b25faWQnXTsKICAgJHJlYy0+bmFtZSA9ICRyb3dbJ2Rlc2NyaXB0aW9uJ107CiAgICRyZWMtPmV4cGxhbmF0aW9uID0gJHJvd1snZXhwbGFuYXRpb24nXTsKCiAgIC8vIGNyZWF0ZSBhdHRyaWJ1dGVzIGZvciByZW5kZXJpbmcgInZpZXciIGxpbmtzIGZvciB0aGUgb2JqZWN0LgogICAvLyAkaWQgYW5kICRyZXR1cm5pZCBhcmUgcHJlZGVmaW5lZCBmb3IgdXMgYnkgdGhlIG1vZHVsZSBBUEkKICAgKi8KICAgLy8gdGhhdCBsYXN0IHBhcmFtZXRlciBpcyB0aGUgUHJldHR5IFVSTCBsaW5rCiAgICRyZWMtPnZpZXcgPSAkdGhpcy0+Q3JlYXRlRnJvbnRlbmRMaW5rKCRpZCwgJHJldHVybmlkLCAnZGVmYXVsdCcsICR0aGlzLT5MYW5nKCdsaW5rX3ZpZXcnKSwKICAgICAgYXJyYXkoJ3NrZWxldG9uX2lkJz0+JHJlYy0+aWQpLCcnLGZhbHNlLHRydWUsJycsZmFsc2UsJ3NrZWxldG9uL3ZpZXcvJy4kcmVjLT5pZC4nLycuJHJldHVybmlkKTsKICAgJHJlYy0+ZWRpdCA9ICR0aGlzLT5DcmVhdGVGcm9udGVuZExpbmsoJGlkLCAkcmV0dXJuaWQsICdhZGRfZWRpdCcsICR0aGlzLT5MYW5nKCdlZGl0JyksCiAgICAgIGFycmF5KCdza2VsZXRvbl9pZCc9PiRyZWMtPmlkKSwnJyxmYWxzZSx0cnVlLCcnLGZhbHNlLCdza2VsZXRvbi9lZGl0LycuJHJlYy0+aWQuJy8nLiRyZXR1cm5pZCk7CiAgIGFycmF5X3B1c2goJHJlY29yZHMsJHJlYyk7CiAgLyogfQogICAgICAgKi8KLy8gRXhwb3NlIHRoZSBsaXN0IHRvIHNtYXJ0eS4KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdyZWNvcmRzJywkcmVjb3Jkcyk7CgovLyBUZWxsIFNtYXJ0eSB3aGljaCBtb2RlIHdlJ3JlIGluCiR0aGlzLT5zbWFydHktPmFzc2lnbignbW9kZScsJG1vZGUpOwoKLy8gYW5kIGEgY291bnQgb2YgcmVjb3JkcwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlX251bV9yZWNvcmRzJywkdGhpcy0+TGFuZygndGl0bGVfbnVtX3JlY29yZHMnLGFycmF5KGNvdW50KCRyZWNvcmRzKSkpKTsKCmlmICgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYWxsb3dfYWRkJywxKSA9PSAxKQogICB7CiAgICR0aGlzLT5zbWFydHktPmFzc2lnbignYWRkJywgJHRoaXMtPkNyZWF0ZUZyb250ZW5kTGluaygkaWQsICRyZXR1cm5pZCwgJ2FkZF9lZGl0JywKICAgICAgJHRoaXMtPkxhbmcoJ2FkZF9yZWNvcmQnKSxhcnJheSgpLCcnLGZhbHNlLHRydWUsJycsZmFsc2UsJ3NrZWxldG9uL2FkZC8nLiRyZXR1cm5pZCkpOwoKICAgfQplbHNlCiAgIHsKICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdhZGQnLCAnJyk7CiAgIH0KCmlmIChpc3NldCgkcGFyYW1zWydtb2R1bGVfbWVzc2FnZSddKSkKICAgewogICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ21vZHVsZV9tZXNzYWdlJywkcGFyYW1zWydtb2R1bGVfbWVzc2FnZSddKTsKICAgfQplbHNlCiAgIHsKICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdtb2R1bGVfbWVzc2FnZScsJycpOwogICB9CiAgCgovLyBEaXNwbGF5IHRoZSBwb3B1bGF0ZWQgdGVtcGxhdGUKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdza2VsZXRvbl9saXN0LnRwbCcpOwoKZWNobyAnREVGQVVMVCc7Cgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/_backup/_action.save_record.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCi8qKg0KICoNCiAqIFRoaXMgaXMgYW4gZXhhbXBsZSBvZiBhIG1ldGhvZCB0byBzYXZlDQogKiBkYXRhYmFzZSBkYXRhLg0KICoNCiAqIElmIHRoZSAic2tlbGV0b25faWQiIHBhcmFtZXRlciBpcyAtMSwgaXQncyBhIG5ldyByZWNvcmQuDQogKiBPdGhlcndpc2UsIHdlJ3JlIHVwZGF0aW5nIGFuIG9sZCByZWNvcmQuDQoNCiAqLw0KDQovKioNCiAqIEZvciBzZXBhcmF0ZWQgbWV0aG9kcywgeW91J2xsIGFsd2F5cyB3YW50IHRvIHN0YXJ0IHdpdGggdGhlIGZvbGxvd2luZw0KICogbGluZSB3aGljaCBjaGVjayB0byBtYWtlIHN1cmUgdGhhdCBtZXRob2Qgd2FzIGNhbGxlZCBmcm9tIHRoZSBtb2R1bGUNCiAqIEFQSSwgYW5kIHRoYXQgZXZlcnl0aGluZydzIHNhZmUgdG8gY29udGludWU6DQogKi8NCmlmICghaXNzZXQoJGdDbXMpKSBleGl0Ow0KICAgLyoNCi8vIGRvbid0IHRydXN0IHRoYXQgdGhpcyB3YXMgc2FmZSwganVzdCBiZWNhdXNlIHRoZSBsaW5rIGlzIGhpZGRlbiBpZiB0aGUgb3B0aW9uIGlzIG9mZiENCi8vIGFsd2F5cyBjb2RlIGRlZmVuc2l2ZWx5ISBUaGVyZSBhcmUgYmVhc3RpZXMgdGhhdCBsdXJrIGFuZCB0aGluZ3MgZ28gYnVtcCBpbiB0aGUgbmlnaHQuDQppZiAoISAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYWxsb3dfYWRkJywxKSA9PSAxKSBleGl0Ow0KICAqLw0KLyoqDQogKiBBZnRlciB0aGlzLCB0aGUgY29kZSBpcyBpZGVudGljYWwgdG8gdGhlIGNvZGUgdGhhdCB3b3VsZCBvdGhlcndpc2UgYmUNCiAqIHdyYXBwZWQgaW4gdGhlIGFjdGlvbi4NCiAqLw0KLyoNCi8vIGdldCBvdXIgcmVjb3JkcyBmcm9tIHRoZSBkYXRhYmFzZQ0KJGRiID0gJGdDbXMtPkdldERiKCk7DQoNCmlmIChpc3NldCgkcGFyYW1zWydza2VsZXRvbl9pZCddKSAmJiAkcGFyYW1zWydza2VsZXRvbl9pZCddICE9IC0xKQ0KICAgew0KCS8vIHdlIHJlY2VpdmVkIGEgc2tlbGV0b25faWQgdGhhdCB3YXMgbm90IC0xLCB3aGljaCBtZWFucyB3ZSdyZSB1cGRhdGluZyBhbg0KCS8vIGV4aXN0aW5nIHJlY29yZC4gU28gd2UgaXNzdWUgYSBTUUwgVXBkYXRlDQogICAkcXVlcnkgPSAnVVBEQVRFICcuY21zX2RiX3ByZWZpeCgpLg0KICAgICAgJ21vZHVsZV9za2VsZXRvbiBzZXQgZGVzY3JpcHRpb249PywgZXhwbGFuYXRpb249PyB3aGVyZSBza2VsZXRvbl9pZCA9ID8nOw0KICAgJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJHBhcmFtc1snZGVzY3JpcHRpb24nXSwkcGFyYW1zWydleHBsYW5hdGlvbiddLCRwYXJhbXNbJ3NrZWxldG9uX2lkJ10pKTsNCiAgICRwYXJhbXNbJ21vZHVsZV9tZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygndXBkYXRlZF9yZWNvcmQnKTsNCiAgIH0NCmVsc2UNCiAgIHsNCgkvLyB3ZSByZWNlaXZlZCBubyBza2VsZXRvbl9pZCBvciBvbmUgdGhhdCB3YXMgLTEsIHdoaWNoIG1lYW5zIHdlJ3JlIGNyZWF0aW5nDQoJLy8gYSBuZXcgcmVjb3JkLiBTbyB3ZSBpc3N1ZSBhIFNRTCBJbnNlcnQuIEJ1dCBmaXJzdCwgd2UgdXNlIHRoZSBzZXF1ZW5jZSB0byBnZXQgYSBmcmVzaCBJRA0KICAgJHNpZCA9ICRkYi0+R2VuSUQoY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc2tlbGV0b25fc2VxJyk7DQogICAkcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuDQogICAgICAnbW9kdWxlX3NrZWxldG9uIChza2VsZXRvbl9pZCwgZGVzY3JpcHRpb24sIGV4cGxhbmF0aW9uKSBWQUxVRVMgKD8sPyw/KSc7DQogICAkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkc2lkLCRwYXJhbXNbJ2Rlc2NyaXB0aW9uJ10sJHBhcmFtc1snZXhwbGFuYXRpb24nXSkpOw0KICAgJHBhcmFtc1snbW9kdWxlX21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdhZGRlZF9yZWNvcmQnKTsNCiAgIH0NCg0KaWYgKCRyZXN1bHQgPT09IGZhbHNlKQ0KICAgew0KICAgLy8geWVhaCwgdGhhdCdzIGdyYWNlZnVsIDooDQogICBlY2hvICJEYXRhYmFzZSBlcnJvciEiOw0KICAgZXhpdDsNCiAgIH0NCg0KdW5zZXQoJHBhcmFtc1snc2tlbGV0b25faWQnXSk7DQovLyBzZXQgYSBtZXNzYWdlIGFuZCByZXR1cm4gdG8gdGhlIHBhZ2UuDQoqLw0KJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHQnLCAkcmV0dXJuaWQsICRwYXJhbXMpOw0KPz4=]]></data>
	</file>
	<file>
	  <filename>/_backup/_method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNrZWxldG9uIC0gYSBwZWRhbnRpYyAic3RhcnRpbmcgcG9pbnQiIG1vZHVsZQojIFZlcnNpb246IDEuNSwgU2pHCiMgTWV0aG9kOiBVcGdyYWRlCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA4IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojIFRoZSBtb2R1bGUncyBob21lcGFnZSBpczogaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9za2VsZXRvbi8KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLyoqCiAqIEZvciBzZXBhcmF0ZWQgbWV0aG9kcywgeW91J2xsIGFsd2F5cyB3YW50IHRvIHN0YXJ0IHdpdGggdGhlIGZvbGxvd2luZwogKiBsaW5lIHdoaWNoIGNoZWNrIHRvIG1ha2Ugc3VyZSB0aGF0IG1ldGhvZCB3YXMgY2FsbGVkIGZyb20gdGhlIG1vZHVsZQogKiBBUEksIGFuZCB0aGF0IGV2ZXJ5dGhpbmcncyBzYWZlIHRvIGNvbnRpbnVlOgoqLyAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgoKLyoqCiAqIEFmdGVyIHRoaXMsIHRoZSBjb2RlIGlzIGlkZW50aWNhbCB0byB0aGUgY29kZSB0aGF0IHdvdWxkIG90aGVyd2lzZSBiZQogKiB3cmFwcGVkIGluIHRoZSBVcGdyYWRlKCkgbWV0aG9kIGluIHRoZSBtb2R1bGUgYm9keS4KICovCgokY3VycmVudF92ZXJzaW9uID0gJG9sZHZlcnNpb247CnN3aXRjaCgkY3VycmVudF92ZXJzaW9uKQp7CiAgLy8gd2UgYXJlIG5vdyAxLjAgYW5kIHdhbnQgdG8gdXBncmFkZSB0byBsYXRlc3QKIGNhc2UgIjEuMCI6CiAgIC8vZG8gbWFnaWMKIGNhc2UgIjEuMSI6CiAgIC8vYW5kIHRoaXMgaXMgaGVyZSBmb3IgdGhlIG5leHQgdmVyc2lvbgogY2FzZSAiMS4yIjoKIGNhc2UgIjEuMyI6CiBjYXNlICIxLjQiOgogY2FzZSAiMS41IjoKIGNhc2UgIjEuNiI6CiBjYXNlICIxLjciOgogY2FzZSAiMS44IjoKCS8vIGhlcmUncyBhbiBleGFtcGxlIC0tIHdlIGV4cGFuZCB0aGUgU2tlbGV0b24gZGF0YWJhc2UgcmVjb3JkIHRvIGluY2x1ZGUgYW5vdGhlciBmaWVsZC4KCSRkYiA9ICRnQ21zLT5HZXREYigpOwoJJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSggJGRiICk7Cgkkc3FsYXJyYXkgPSAkZGljdC0+QWRkQ29sdW1uU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3NrZWxldG9uIiwgImV4cGxhbmF0aW9uIFgiKTsKCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKfQoKLy8gcHV0IG1lbnRpb24gaW50byB0aGUgYWRtaW4gbG9nCiR0aGlzLT5BdWRpdCggMCwgCgkgICAgICAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyksIAoJICAgICAgJHRoaXMtPkxhbmcoJ3VwZ3JhZGVkJywgJHRoaXMtPkdldFZlcnNpb24oKSkpOwoKLy9ub3RlOiBtb2R1bGUgYXBpIGhhbmRsZXMgc2VuZGluZyBnZW5lcmljIGV2ZW50IG9mIG1vZHVsZSB1cGdyYWRlZCBoZXJlCj8+]]></data>
	</file>
</module>
