<?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>CGSocialBlaster</name>
	<version>1.0.3</version>
  <mincmsversion>1.11.10</mincmsversion>
	<help><![CDATA[PGgzPldoYXQgZG9lcyB0aGlzIGRvPzwvaDM+CiAgPHA+VGhpcyBtb2R1bGUgYWxsb3dzIGFuIGF1dGhvcml6ZWQgYWRtaW5pc3RyYXRvciB0byBlYXNpbHkgc2hhcmUgYmxvZyBhcnRpY2xlcywgYW5kIG90aGVyIG9iamVjdHMgdG8gb25lIG9yIG1vcmUgc29jaWFsIG1lZGlhIG5ldHdvcmtzIGF0IHRoZSBzYW1lIHRpbWUuPC9wPgogIDxwPlRoaXMgbWRvdWxlIGludGVyZmFjZXMgd2l0aCAmcXVvdDtTZW5kZXImcXVvdDsgbW9kdWxlcyBhbmQgJnF1b3Q7TWVkaWEmcXVvdDsgbW9kdWxlcywgcHJvdmlkZXMgYSBzbWFydHkgdGFnLCBhbmQgYW4gYWRtaW5pc3RyYXRvciBpbnRlcmZhY2UgdG8gYWxsb3cgc2hhcmluZyBkZXRhaWxzIGFib3V0IGFuIG9iamVjdCBzdWNoIGFzIGEgYmxvZyBhcnRpY2xlIHdpdGggZGlmZmVyZW50IHNvY2lhbCBtZWRpYSBuZXR3b3Jrcy48L3A+CiAgPHA+CjxoMz5GZWF0dXJlczwvaDM+CiAgPHVsPgogIDxsaT5UZW1wbGF0ZSBjb250cm9sbGVkIGRlZmF1bHQgdmFsdWVzIGZvciBwb3N0IG1lc3NhZ2VzLjwvbGk+CiAgPGxpPlByb3ZpZGVzIHRoZSBhYmlsaXR5IHRvIGN1c3RvbWl6ZSB0aGUgbWVzc2FnZSAoYW5kIHBvc3NpYmx5IHBpY3R1cmUgYW5kIGxpbmspIGZvciBlYWNoIHNvY2lhbCBuZXR3b3JrLjwvbGk+CiAgPGxpPlNtYXJ0eSB0YWcgc3VwcG9ydHMgb3ZlcnJpZGluZyB0aGUgZGVmYXVsdCB2YWx1ZXMgZm9yIG1lc3NhZ2UgY29udGVudC48L2xpPgogIDxsaT5TdXBwb3J0cyBhdHRhY2hpbmcgYSBwaWN0dXJlLCBhbmQgYSBsaW5rICh3aXRoIG5hbWUsIGRlc2NyaXB0aW9uLCBhbmQgY2FwdGlvbikgdG8gZmFjZWJvb2suIDxlbT5Vc2VzIHRoZSBDR0ZCUG9zdCBtb2R1bGUgZm9yIHRoaXMuPC9lbT48L2xpPgogIDxsaT5Qcm92aWRlcyBhIHRlc3QgaW50ZXJmYWNlLjwvbGk+CiAgPGxpPk1vcmU8L2xpPgogIDwvdWw+CjxoMz5SZXF1aXJlbWVudHM6PC9oMz4KICA8dWw+CiAgIDxsaT5BdCBsZWFzdCBvbmUgY29uZmlndXJlZCwgYW5kIGluc3RhbGxlZCBTZW5kZXIgbW9kdWxlIDxlbT4obGlrZSBDR0Jsb2cpLjwvZW0+CiAgIDxsaT5BdCBsZWFzdCBvbmUgY29uZmlndXJlZCBhbmQgaW5zdGFsbGVkIE1lZGlhIG1vZHVsZSA8ZW0+KGxpa2UgQ0dGQkFwcCwgb3IgQ0dUV2VldCkuPC9lbT4KICA8L3VsPgo8aDM+SG93IGRvIEkgVXNlIGl0PzwvaDM+CiAgPG9sPgogICAgPGxpPkluc3RhbGwgYW5kIGNvbmZpZ3VyZSB5b3VyIFNlbmRlciBtb2R1bGVzOgogICAgICAgPHA+SW4gdGhlIGNhc2Ugb2YgQ0dCbG9nIHlvdSB3aWxsIG5lZWQgdG8gY3JlYXRlIGFuZCBjb25maWd1cmUgeW91ciBkZWZhdWx0IHRlbXBsYXRlcywgcHJldHR5IHVybHMsIGFuZCBuYXZpZ2F0aW9uIGZvciBibG9nIGFydGljbGVzLCBhbmQgY3JlYXRlIGF0IGxlYXN0IG9uZSBwdWJsaXNoZWQgYmxvZyBhcnRpY2xlLjwvcD4KICAgICA8L2xpPgogICAgIDxsaT5JbnN0YWxsIGFuZCBjb25maWd1cmUgeW91ciBNZWRpYSBtb2R1bGVzOgogICAgICAgPHA+Q0dUd2VldCBhbmQgQ0dGQlBvc3QgYXJlIGV4YW1wbGVzIG9mIHdvcmtpbmcgbWVkaWEgbW9kdWxlcy4gIEVhY2ggb2YgdGhlc2UgbW9kdWxlcyBoYXMgdGhlaXIgb3duIGluc3RhbGxhdGlvbiBhbmQgY29uZmlndXJhdGlvbiByZXF1aXJlbWVudHMuPC9wPgogICAgIDwvbGk+CiAgICAgPGxpPkdpdmUgYXV0aG9yaXplZCB1c2VyIGdyb3VwcyB0aGUgJnF1b3Q7Qmxhc3QgdG8gU29jaWFsIE1lZGlhJnF1b3Q7IFBlcm1pc3Npb24uPC9saT4KICAgICA8bGk+R28gdG8gdGhlIGFkbWluIHBhbmVsIG9mIHRoZSBzZW5kZXIgbW9kdWxlIGFuZCBsb29rIGZvciB0aGUgJnF1b3Q7U2hhcmUmcXVvdDsgaWNvbiBsaW5rIG9uIGVhY2ggaXRlbSB0aGF0IGNhbiBiZSBzaGFyZWQuCiAgICAgIDxwPkNsaWNraW5nIG9uIHRoYXQgbGluayBzaG91bGQgZGlzcGxheSBhIGZvcm0gd2hpY2ggYWxsb3dzIHlvdSB0byBzZWxlY3Qgd2hpY2ggbWVkaWEgbmV0d29ya3MgdG8gc2VuZCB0bywgYW5kIHRvIGN1c3RvbWl6ZSB0aGUgY29udGVudCBmb3IgZWFjaCBtZXNzYWdlLjwvcD4KICAgICA8L2xpPgogIDwvb2w+CjxoMz5DcmVhdGluZyBhIFNlbmRlciBNb2R1bGU8L2gzPgogIDxwPjxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gSSBhbHNvIHJlZmVyIHRvIGEgJnF1b3Q7U2VuZGVyJnF1b3Q7IG1vZHVsZSBhcyBhICZxdW90O0ZlZWRlciZxdW90OyBtb2R1bGUsIGFzIGl0IGZlZWRzIGluZm9ybWF0aW9uIHRvIENHU29jaWFsQmxhc3Rlci48L3A+CiAgPHA+Q3JlYXRpbmcgYSBzZW5kZXIgbW9kdWxlIGlzIGEgMyBzdGVwIHByb2Nlc3MgZm9yIGV4cGVyaWVuY2VkIENNU01TIGRldmVsb3BlcnM6PC9wPgogIDxvbD4KCiAgICA8bGk+T3ZlcnJpZGUgdGhlIDxzcGFuIHN0eWxlPSJjb2xvcjogYmx1ZTsiPkhhc0NhcGFiaWxpdHk8L3NwYW4+IG1ldGhvZCBpbiB5b3VyIG1vZHVsZSBjbGFzcyB0byByZXR1cm4gdHJ1ZSBmb3IgdGhlIDxzcGFuIHN0eWxlPSJjb2xvcjogYmx1ZTsiPidjZ19zb2NpYWxibGFzdF9mZWVkZXInPC9zcGFuPiBjYXBhYmlsaXR5LiBpLmU6CjxwcmU+PGNvZGU+cHVibGljIGZ1bmN0aW9uIEhhc0NhcGFiaWxpdHkoJGNhcGFiaWxpdHksICRwYXJhbXMgPSBhcnJheSgpKSB7CiZuYnNwOyZuYnNwOyAgaWYoICRjYXBhYmlsaXR5ID09ICdjZ19zb2NpYWxibGFzdF9mZWVkZXInICkgcmV0dXJuIFRSVUU7CiZuYnNwOyZuYnNwOyAgcmV0dXJuIEZBTFNFOwp9PC9jb2RlPjwvcHJlPgogICAgPC9saT4KIAogICAgPGxpPkFkZCBhIDxzcGFuIHN0eWxlPSJjb2xvcjogYmx1ZTsiPmdldF9ibGFzdGVyX2NvbnRlbnQ8L3NwYW4+IG1ldGhvZCB0byB5b3VyIG1vZHVsZSB0aGF0LCBnaXZlbiBhbiBpbnRlZ2VyIGlkIGZvciBhbiBpdGVtIHJldHVybnMgYW4gPHNwYW4gc3R5bGU9ImNvbG9yOiBibHVlOyI+c2JfY29udGVudDwvc3Bhbj4gb2JqZWN0LiAgaS5lOgo8cHJlPjxjb2RlPnB1YmxpYyBmdW5jdGlvbiAmZ2V0X2JsYXN0ZXJfY29udGVudCgkYXJ0aWNsZWlkKSB7CiZuYnNwOyZuYnNwOyRjb250ZW50ID0gbmV3IHNiX2NvbnRlbnQ7CiZuYnNwOyZuYnNwOyRjb250ZW50LT5zdW1tYXJ5ID0gJ1RoZSBpbml0aWFsIGNvbnRlbnQgZm9yIG15IG1lc3NhZ2UnOwombmJzcDsmbmJzcDtyZXR1cm4gJGNvbnRlbnQ7Cn08L2NvZGU+PC9wcmU+CjxwPjxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gdGhlIHNiX2NvbnRlbnQgb2JqZWN0IGlzIGEgaW50ZW5kZWQgdG8gYmUgYSBnZW5lcmljIG9iamVjdCB0aGF0IGhvbGRzIGRhdGEgc3VpdGFibGUgZm9yIG1hbnkgc29jaWFsIG5ldHdvcmtzLiAgQWx0aG91Z2ggeW91IHNob3VsZCB0cnkgdG8gY29tcGxldGUgdGhlIG9iamVjdCBhcyBtdWNoIGFzIHBvc3NpYmxlLCBpdCBpcyBhbHNvIHBvc3NpYmxlIHRoYXQgc29tZSBNZWRpYSBtb2R1bGVzIG1heSBub3QgdXNlIGFsbCBvZiB0aGUgZGF0YSBwcm92aWRlZCBpbiB0aGlzIG9iamVjdC48L3A+CjxwPkZvciByZWZlcmVuY2UgdG8gdGhlIHNiX2NvbnRlbnQgb2JqZWN0IHNlZSB0aGUgPHNwYW4gc3R5bGU9ImNvbG9yOiBibHVlOyI+bGliL2NsYXNzLnNiX2NvbnRlbnQucGhwPC9zcGFuPiBmaWxlIGluY2x1ZGVkIHdpdGggdGhlIG1vZHVsZS48L3A+CiAgICA8L2xpPgoKICAgIDxsaT5BZGQgdGhlIHNtYXJ0eSB0YWcgdG8geW91ciBhZG1pbiB0ZW1wbGF0ZSB0byBwcm92aWRlIGEgbGluayB0byB0aGUgJnF1b3Q7Ymxhc3QmcXVvdDsgYWN0aW9uLiBpLmU6PGJyLz4KICAgIDxwcmU+PGNvZGU+e2Nnc29jYmxhc3RlciBtb2R1bGU9J015TW9kdWxlJyBrZXk9JGl0ZW1faWR9PC9jb2RlPjwvcHJlPgogICAgPC9saT4KICA8L29sPgo8aDM+VGhlIDxzcGFuIHN0eWxlPSJjb2xvcjogYmx1ZTsiPntjZ3NvY2JsYXN0ZXJ9PC9zcGFuPiBzbWFydHkgcGx1Z2luPC9oMz4KPHA+VGhpcyBwbHVnaW4gY2FuIG9ubHkgYmUgdXNlZCBmcm9tIHRoZSBhZG1pbiBwYW5lbCBvZiBhIENNU01TIG1vZHVsZS4gIEl0IHByb3ZpZGVzIGEgbGluayA8ZW0+KG9yIGp1c3QgYSBVUkwpPC9lbT4gdG8gYW4gYWN0aW9uIGluIHRoZSBDR1NvY2lhbEJsYXN0ZXIgbW9kdWxlLCBhbmQgaW5mb3JtYXRpb24gdG8gYWxsb3cgZm9yIHRoZSBmaWxsaW5nIG9mIGRlZmF1bHQgdmFsdWVzIGluIHRoYXQgZm9ybS48L3A+CjxwPlBhcmFtZXRlcnM6PC9wPgo8dWw+CjxsaT5tb2R1bGUgLSAob3B0aW9uYWwgc3RyaW5nKSAtIFRoZSBtb2R1bGUgbmFtZSB0aGF0IGlzIHByb3ZpZGluZyB0aGUgZGF0YS4gIElmIHN1cHBsaWVkLCB0aGUga2V5IHBhcmFtZXRlciBtdXN0IGFsc28gYmUgdXNlZC48L2xpPgo8bGk+a2V5IC0gKG9wdGlvbmFsIHN0cmluZykgLSBBIHVuaXF1ZSBpZGVudGlmaWVyIHRoYXQgdGhlIG1vZHVsZSBjYW4gdXNlIHRvIHJldHJpZXZlIGRhdGEuIE11c3QgYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBtb2R1bGUgcGFyYW1ldGVyLjwvbGk+CjxsaT5zdWJqZWN0ID0gKG9wdGlvbmFsIHN0cmluZykgLSBQcm92aWRlIGFuIG9wdGlvbmFsIGRlZmF1bHQgc3ViamVjdCA8ZW0+KHRpdGxlKTwvZW0+IHRvIHRoZSBDR1NvY2lhbEJsYXN0ZXIgbW9kdWxlIGZvciBlZGl0aW5nLiAgSWYgbm90IHNwZWNpZmllZCBpdCB3aWxsIGJlIHJldHJpZXZlZCBmcm9tIHRoZSBtb2R1bGUgY2FsbGJhY2suPC9saT4KPGxpPmJvZHkgLSAob3B0aW9uYWwgc3RyaW5nKSAtIFByb3ZpZGUgYW4gb3B0aW9uYWwgZGVmYXVsdCBtZXNzYWdlIHRvIHRoZSBDR1NvY2lhbEJsYXN0ZXIgbW9kdWxlIGZvciBlZGl0aW5nLiBJZiBub3Qgc3BlY2lmaWVkLCBpdCB3aWxsIGJlIHJldHJpZXZlZCB2aWEgdGhlIG1vZHVsZSBjYWxsYmFjay48L2xpPgo8bGk+cGljdHVyZSAtIChvcHRpb25hbCBzdHJpbmcpIC0gUHJvdmlkZSBhbiBvcHRpb25hbCBVUkwgdG8gYW4gaW1hZ2UgdG8gdGhlIENHU29jaWFsQmxhc3RlciBtb2R1bGUgZm9yIGVkaXRpbmcuICBJZiBub3Qgc3BlY2lmaWVkLCBvbmUgY2FuIGJlIHJldHJpZXZlZCB2aWEgdGhlIG1vZHVsZSBjYWxsYmFjay48L2xpPgo8bGk+cmV0dXJudG8gLSAob3B0aW9uYWwgc3RyaW5nKSAtIFByb3ZpZGUgYW4gb3B0aW9uYWwgVVJMIHRvIHJldHVybiB0byBhZnRlciB0aGUgc29jaWFsIG1lZGlhIHBvc3RpbmcgaXMgY29tcGxldGUgKG9yIGNhbmNlbGxlZCkuIElmIG5vdCBzcGVjaWZpZWQsIHRoZSBzeXN0ZW0gd2lsbCB1c2UgdGhlIGN1cnJlbnQgVVJMLjwvbGk+CjxsaT50aXRsZSAtIChvcHRpb25hbCBzdHJpbmcpIC0gUHJvdmlkZSBhbiBvcHRpb25hbCB0aXRsZSB0byB0aGUgY3JlYXRlZCBsaW5rLiBJZiBub3Qgc3BlY2lmaWVkIGEgZGVmYXVsdCB2YWx1ZSB3aWxsIGJlIHVzZWQuPC9saT4KPGxpPnVybG9ubHkgLSAob3B0aW9uYWwgYm9vbGVhbikgLSBJbmRpY2F0ZXMgd2hldGhlciB0aGUgc3lzdGVtIHNob3VsZCBnZW5lcmF0ZSBhIGNvbXBsZXRlIGxpbmsgd2l0aCBpY29uIGFuZCB0aXRsZSwgb3IganVzdCBhIHVybC4gIGRlZmF1bHQgaXMgZmFsc2UuPC9saT4KPGxpPmljb24gLSAob3B0aW9uYWwgc3RyaW5nKSAtIEFsbG93cyBvdmVycmlkaW5nIHRoZSBpY29uIHVzZWQgaW4gY3JlYXRpbmcgdGhlIGxpbmsuPC9saT4KPC91bD4KPGgzPlN1cHBvcnQ8L2gzPgo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+Cjx1bD4KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPgo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICAKPC91bD4KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+CjxwPkNvcHlyaWdodCAmY29weTsgMjAxMywgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciPiZsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmd0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+CjxwPkhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAphcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwpNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCnNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuPC9wPgo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQpPciByZWFkIGl0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+b25saW5lPC9hPjwvcD48aDM+RGVwZW5kZW5jaWVzPC9oMz48dWw+PGxpPkNHRXh0ZW5zaW9ucyA9Jmd0OyAxLjQyLjI8L2xpPjxsaT5DR1NpbXBsZVNtYXJ0eSA9Jmd0OyAxLjcuMzwvbGk+PC91bD48aDM+UGFyYW1ldGVyczwvaDM+PHVsPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGxhbmc9ImVuX1VTIiAtIFBhcmFtZXRlciBpcyB1c2VkIHRvIHNwZWNpZnkgd2hhdCBsYW5ndWFnZSB0byB1c2UgZm9yIGRpc3BsYXkgb24gdGhlIGZyb250ZW5kLiBOb3QgYWxsIG1vZHVsZXMgc3VwcG9ydCBvciBuZWVkIHRoaXMuPC9saT48L3VsPg==]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBjYWxndXkxMDAwICZsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmd0OzxiciAvPjxiciAvPlZlcnNpb246IDEuMC4zPGJyIC8+PGJyIC8+Q2hhbmdlIEhpc3Rvcnk6PGJyIC8+VE9ETy48YnIgLz4=]]></about>
	<description><![CDATA[A module to facilitate blasting messages to one or more social media accounts from the admin interfaces]]></description>
	<requires>
	  <requiredname>CGExtensions</requiredname>
	  <requiredversion>1.42.2</requiredversion>
	</requires>
	<requires>
	  <requiredname>CGSimpleSmarty</requiredname>
	  <requiredversion>1.7.3</requiredversion>
	</requires>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.blast.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNvY2lhbEJsYXN0ZXIgKGMpIDIwMTMgYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGZhY2lsaXRhdGUgYmxhc3RpbmcgaW5mb3JtYXRpb24gdG8gbXVsdGlwbGUgc29jaWFsIG5ldHdvcmtzCiMgIGF0IG9uY2UuICBSZXF1aXJlcyBpbmVkaXZpZGlhbCBtb2R1bGVzIHRvIGhhbmRsZSB0aGUgYWN0dWFsIHBvc3RpbmcgdG8gc29jaWFsIG1vZHVsZXMuCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+VmlzaWJsZVRvQWRtaW5Vc2VyKCkgKSByZXR1cm47Cgokc2VuZGVycyA9IHNiX3V0aWxzOjpnZXRfc2VuZGVyX2xpc3QoKTsKCgp0cnkgewogIGlmKCBpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkgKSB7CiAgICBpZiggaXNzZXQoJHBhcmFtc1sncmV0dXJudG8nXSkgKSByZWRpcmVjdCgkcGFyYW1zWydyZXR1cm50byddKTsKICAgICR0aGlzLT5TZXRNZXNzYWdlKCR0aGlzLT5MYW5nKCdtc2dfY2FuY2VsbGVkJykpOwogICAgJHRoaXMtPlJlZGlyZWN0KCRpZCwnZGVmYXVsdGFkbWluJywkcmV0dXJuaWQpOwogIH0KICBpZiggaXNzZXQoJHBhcmFtc1snc3VibWl0J10pICkgewogICAgaWYoICFpc3NldCgkcGFyYW1zWydzZW5kZXJzJ10pIHx8ICFpc19hcnJheSgkcGFyYW1zWydzZW5kZXJzJ10pIHx8IGNvdW50KCRwYXJhbXNbJ3NlbmRlcnMnXSkgPT0gMCApIHsKICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbigkdGhpcy0+TGFuZygnZXJyb3Jfbm9zZW5kZXJzJykpOwogICAgfQogICAgJHNhdmVkX3NlbmRlcnMgPSAkcGFyYW1zWydzZW5kZXJzJ107CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnc2F2ZWRfc2VuZGVycycsaW1wbG9kZSgnLCcsJHNhdmVkX3NlbmRlcnMpKTsKICAgICRub3RpZl9tc2cgPSB1bnNlcmlhbGl6ZShiYXNlNjRfZGVjb2RlKCRwYXJhbXNbJ25vdGlmX21zZyddKSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2lucHV0X2RhdGEnLCRub3RpZl9tc2cpOwoKICAgIC8vIGJ1aWxkIHRoZSBtZXNzYWdlcwogICAgJGVycm9yID0gbnVsbDsKICAgIGZvcmVhY2goICRzYXZlZF9zZW5kZXJzIGFzICRvbmUgKSB7CiAgICAgIHRyeSB7CgkkbXNnID0gbmV3IG5vdGlmaWNhdGlvbl9tZXNzYWdlOwoJZm9yZWFjaCggJHBhcmFtcyBhcyAka2V5ID0+ICR2YWx1ZSApIHsKCSAgaWYoICFzdGFydHN3aXRoKCRrZXksJG9uZSkgKSBjb250aW51ZTsKCSAgaWYoICR2YWx1ZSA9PSAnJyApIGNvbnRpbnVlOwoJICAkbmV3a2V5ID0gc3Vic3RyKCRrZXksc3RybGVuKCRvbmUpKzEpOwoJICBpZiggJG1zZy0+dmFsaWRfa2V5KCRuZXdrZXkpICkgJG1zZy0+JG5ld2tleSA9ICR2YWx1ZTsKCX0KCgkkbW9kID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCRvbmUpOwoJJG1vZC0+c2VuZF9tZXNzYWdlKCRtc2cpOwogICAgICB9CiAgICAgIGNhdGNoKCBFeGNlcHRpb24gJGUgKSB7CgkvLyBpZiBhbiBlcnJvciBvY2N1cnMgc2VuZGluZyBvbmUgbWVzc2FnZSwgbGV0cyB0cnkgdG8gY29udGludWUgd2l0aCBvdGhlcnMKCSRlcnJvciA9ICRlLT5HZXRNZXNzYWdlKCk7CiAgICAgIH0KICAgIH0KICAgIGlmKCAkZXJyb3IgKSB0aHJvdyBuZXcgQ21zRXhjZXB0aW9uKCRlLT5HZXRNZXNzYWdlKCkpOwogICAgCiAgICAvLyBpdCBhbGwgd29ya2VkLgogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ3JldHVybnRvJ10pICkgewogICAgICAkdXJsID0gJHBhcmFtc1sncmV0dXJudG8nXTsKICAgICAgJHVybCAuPSAnJm0xX2NnX21lc3NhZ2U9Jy51cmxlbmNvZGUoJHRoaXMtPkxhbmcoJ21zZ19ibGFzdF9zdWNjZXNzJykpOwogICAgICByZWRpcmVjdCgkdXJsKTsKICAgIH0KICAgICR0aGlzLT5TaG93TWVzc2FnZSgkdGhpcy0+TGFuZygnbXNnX2JsYXN0X3N1Y2Nlc3MnKSk7CiAgfQp9CmNhdGNoKCBFeGNlcHRpb24gJGUgKSB7CiAgZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkZS0+R2V0TWVzc2FnZSgpKTsKfQoKLy8KLy8gYnVpbGQgdGhlIGRpc3BsYXkKLy8KJG5vdGlmX21zZyA9IG5ldyBzYl9jb250ZW50OwppZiggaXNzZXQoJHBhcmFtc1snZGF0YSddKSApIHsKICAkdG1wID0gdW5zZXJpYWxpemUoYmFzZTY0X2RlY29kZSgkcGFyYW1zWydkYXRhJ10pKTsKICB1bnNldCgkcGFyYW1zWydkYXRhJ10pOwogICRwYXJhbXMgPSBhcnJheV9tZXJnZSgkcGFyYW1zLCR0bXApOwogIGlmKCBpc3NldCgkcGFyYW1zWydtb2R1bGUnXSkgJiYgaXNzZXQoJHBhcmFtc1sna2V5J10pICkgewogICAgLy8gY2FsbCBiYWNrIHRvIHRoZSBtb2R1bGUgYW5kIGdldCB0aGUgZGF0YS4uLgogICAgJHNtYXJ0eS0+YXNzaWduKCdtb2R1bGUnLCRwYXJhbXNbJ21vZHVsZSddKTsKICAgICRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJHBhcmFtc1snbW9kdWxlJ10pOwogICAgaWYoICFpc19vYmplY3QoJG1vZCkgfHwgIW1ldGhvZF9leGlzdHMoJG1vZCwnZ2V0X2JsYXN0ZXJfY29udGVudCcpICkgewogICAgICBlY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCdlcnJvcl9tb2R1bGVfbm90Y29tcGF0aWJsZScpKTsKICAgIH0KICAgIGVsc2UgewogICAgICAkdG1wID0gJG1vZC0+Z2V0X2JsYXN0ZXJfY29udGVudCgkcGFyYW1zWydrZXknXSk7CiAgICAgIGlmKCAhaXNfb2JqZWN0KCR0bXApICkgewoJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnZXJyb3JfbW9kdWxlX25vbWVzc2FnZScpKTsKICAgICAgfQogICAgICBlbHNlIHsKCS8vIGNsZWFuIHVwIHRoZSBkYXRhLgoJJHRtcC0+c3VtbWFyeSA9IHRyaW0oc3RyaXBfdGFncygkdG1wLT5zdW1tYXJ5KSk7Cgkkbm90aWZfbXNnID0gJHRtcDsKICAgICAgfQogICAgfQogIH0KfQoKaWYoIGlzc2V0KCRwYXJhbXNbJ21vZHVsZSddKSApICRwYXJtc1snbW9kdWxlJ10gPSAkcGFyYW1zWydtb2R1bGUnXTsKaWYoIGlzc2V0KCRwYXJhbXNbJ2tleSddKSApICRwYXJtc1sna2V5J10gPSAkcGFyYW1zWydrZXknXTsKJHBpY3R1cmVzID0gJG5vdGlmX21zZy0+cGljdHVyZXM7CmlmKCBpc19hcnJheSgkcGljdHVyZXMpICYmIGNvdW50KCRwaWN0dXJlcykgKSB7CiAgJHBpY3R1cmVzID0gYXJyYXlfbWVyZ2UoYXJyYXkoJyc9PiR0aGlzLT5MYW5nKCdub25lJykpLCRwaWN0dXJlcyk7CiAgJG5vdGlmX21zZy0+cGljdHVyZXMgPSAkcGljdHVyZXM7Cn0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9kYXRhJywkbm90aWZfbXNnKTsKJHNtYXJ0eS0+YXNzaWduKCdzb3VyY2VfZGF0YScsJG5vdGlmX21zZyk7CiRzbWFydHktPmFzc2lnbignc2VuZGVyX2luZm8nLHNiX3V0aWxzOjpnZXRfc2VuZGVyX2luZm8oKSk7CiRzbWFydHktPmFzc2lnbignc2VuZGVycycsJHNlbmRlcnMpOwoKLy8gcHJlcGFyZSB0aGUgZGVmYXVsdCBtZXNzYWdlIHRlbXBsYXRlcy4KJHNlbmRlcnMgPSBzYl91dGlsczo6Z2V0X3NlbmRlcl9saXN0KCk7CiRzZW5kZXJfbXNncyA9IGFycmF5KCk7CmZvcmVhY2goICRzZW5kZXJzIGFzICRvbmUgPT4gJG5hbWUgKSB7CiAgJHRwbCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdtc2d0cGxfJy4kb25lKTsKICBpZiggJHRwbCApIHsKICAgICRzZW5kZXJfbXNnc1skb25lXSA9ICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YSgkdHBsKTsKICB9CiAgZWxzZSB7CiAgICAkc2VuZGVyX21zZ3NbJG9uZV0gPSAkbm90aWZfbXNnLT5zdW1tYXJ5OwogIH0KfQokc21hcnR5LT5hc3NpZ24oJ3NlbmRlcl9tc2dzJywkc2VuZGVyX21zZ3MpOwoKJHNhdmVkX3NlbmRlcnMgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc2F2ZWRfc2VuZGVycycpOwppZiggJHNhdmVkX3NlbmRlcnMgIT0gJycgKSB7CiAgJHNhdmVkX3NlbmRlcnMgPSBleHBsb2RlKCcsJywkc2F2ZWRfc2VuZGVycyk7Cn0KZWxzZSB7CiAgJHNhdmVkX3NlbmRlcnMgPSBhcnJheV9rZXlzKCRzZW5kZXJzKTsKfQokc21hcnR5LT5hc3NpZ24oJ3NhdmVkX3NlbmRlcnMnLCRzYXZlZF9zZW5kZXJzKTsKCiRwYXJtcyA9IGFycmF5KCk7CmlmKCBpc3NldCgkcGFyYW1zWydyZXR1cm50byddKSApICRwYXJtc1sncmV0dXJudG8nXSA9ICRwYXJhbXNbJ3JldHVybnRvJ107CiRwYXJtc1snbm90aWZfbXNnJ10gPSBiYXNlNjRfZW5jb2RlKHNlcmlhbGl6ZSgkbm90aWZfbXNnKSk7Cgokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsJHRoaXMtPkNHQ3JlYXRlRm9ybVN0YXJ0KCRpZCwnYmxhc3QnLCRyZXR1cm5pZCwkcGFybXMpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYmxhc3QudHBsJyk7CiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQmxhc3RlciAoYykgMjAxMyBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gZmFjaWxpdGF0ZSBibGFzdGluZyBpbmZvcm1hdGlvbiB0byBtdWx0aXBsZSBzb2NpYWwgbmV0d29ya3MKIyAgYXQgb25jZS4gIFJlcXVpcmVzIGluZWRpdmlkaWFsIG1vZHVsZXMgdG8gaGFuZGxlIHRoZSBhY3R1YWwgcG9zdGluZyB0byBzb2NpYWwgbW9kdWxlcy4KIyAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKCiRkYXRhID0gYXJyYXkoKTsKJGRhdGFbJ21vZHVsZSddID0gJyc7CiRkYXRhWydrZXknXSA9ICcnOwokZGF0YVsnc3ViamVjdCddID0gJyc7CiRkYXRhWydib2R5J10gPSAnJzsKJGRhdGFbJ3BpY3R1cmUnXSA9ICcnOwoKJGRhdGFbJ3RpdGxlJ10gPSAnJzsKJGRhdGFbJ3VybG9ubHknXSA9IDA7CiRkYXRhWydpY29uJ10gPSAnc29jaWFsX3NtLmdpZic7Cgpmb3JlYWNoKCAkcGFyYW1zIGFzICRrZXkgPT4gJHZhbHVlICkgewogIGlmKCBpbl9hcnJheSgka2V5LGFycmF5X2tleXMoJGRhdGEpKSApICRkYXRhWyRrZXldID0gJHZhbHVlOwp9CgoKJHBhcm1zID0gJGRhdGE7CnVuc2V0KCRkYXRhWyd1cmxvbmx5J10pOwp1bnNldCgkZGF0YVsnaWNvbiddKTsKdW5zZXQoJGRhdGFbJ3RpdGxlJ10pOwoKJG91dCA9IG51bGw7CmlmKCAkcGFybXNbJ3VybG9ubHknXSApIHsKICAkdG1wID0gYXJyYXkoJ2RhdGEnPT5iYXNlNjRfZW5jb2RlKHNlcmlhbGl6ZSgkZGF0YSkpKTsKICAkb3V0ID0gJHRoaXMtPmNyZWF0ZV91cmwoJGlkLCdibGFzdCcsJHJldHVybmlkLCR0bXApOwp9CmVsc2UgewogICR0bXAgPSBhcnJheSgnZGF0YSc9PmJhc2U2NF9lbmNvZGUoc2VyaWFsaXplKCRkYXRhKSkpOwogICRvdXQgPSAkdGhpcy0+Q3JlYXRlSW1hZ2VMaW5rKCRpZCwnYmxhc3QnLCRyZXR1cm5pZCwkcGFybXNbJ3RpdGxlJ10sJHBhcm1zWydpY29uJ10sJHRtcCk7Cn0KCmVjaG8gJG91dDsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNvY2lhbEJsYXN0ZXIgKGMpIDIwMTMgYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGZhY2lsaXRhdGUgYmxhc3RpbmcgaW5mb3JtYXRpb24gdG8gbXVsdGlwbGUgc29jaWFsIG5ldHdvcmtzCiMgIGF0IG9uY2UuICBSZXF1aXJlcyBpbmVkaXZpZGlhbCBtb2R1bGVzIHRvIGhhbmRsZSB0aGUgYWN0dWFsIHBvc3RpbmcgdG8gc29jaWFsIG1vZHVsZXMuCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+VmlzaWJsZVRvQWRtaW5Vc2VyKCkgKSByZXR1cm47CgppZiggaXNzZXQoJHBhcmFtc1sncHJlZnNfc3VibWl0J10pICkgewogIGlmKCBpc3NldCgkcGFyYW1zWydmcmllbmRseW5hbWUnXSkgKSAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnZnJpZW5kbHluYW1lJyx0cmltKCRwYXJhbXNbJ2ZyaWVuZGx5bmFtZSddKSk7CiAgZm9yZWFjaCggJHBhcmFtcyBhcyAka2V5ID0+ICR2YWwgKSB7CiAgICBpZiggc3RhcnRzd2l0aCgka2V5LCd0ZW1wbGF0ZV8nKSApIHsKICAgICAgJHByZWYgPSAnbXNndHBsXycuc3Vic3RyKCRrZXksc3RybGVuKCd0ZW1wbGF0ZV8nKSk7CiAgICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCRwcmVmLCR2YWwpOwogICAgfQogIH0KICBlY2hvICR0aGlzLT5TaG93TWVzc2FnZSgkdGhpcy0+TGFuZygnbXNnX3ByZWZzX3NhdmVkJykpOwp9CiRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywkdGhpcy0+Q0dDcmVhdGVGb3JtU3RhcnQoJGlkLCdkZWZhdWx0YWRtaW4nLCRyZXR1cm5pZCkpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwokc21hcnR5LT5hc3NpZ24oJ2ZyaWVuZGx5bmFtZScsJHRoaXMtPkdldFByZWZlcmVuY2UoJ2ZyaWVuZGx5bmFtZScpKTsKJHNtYXJ0eS0+YXNzaWduKCdob3N0bW9kdWxlcycsc2JfdXRpbHM6OmdldF9mZWVkZXJzKCkpOwoKJHNlbmRlcnMgPSBzYl91dGlsczo6Z2V0X3NlbmRlcnMoKTsKJHNtYXJ0eS0+YXNzaWduKCdibGFzdG1vZHVsZXMnLCRzZW5kZXJzKTsKCiRkZmx0dGVtcGxhdGUgPSA8PDxFT1QKe1wkaW5wdXRfZGF0YS0+c3VtbWFyeX0ge1wkaW5wdXRfZGF0YS0+Y2Fub25pY2FsfQpFT1Q7CiR0ZW1wbGF0ZXMgPSBhcnJheSgpOwpmb3JlYWNoKCAkc2VuZGVycyBhcyAkb25lICkgewogICR0ZW1wbGF0ZXNbJG9uZV0gPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbXNndHBsXycuJG9uZSwkZGZsdHRlbXBsYXRlKTsKfQokc21hcnR5LT5hc3NpZ24oJ3RlbXBsYXRlcycsJHRlbXBsYXRlcyk7CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2RlZmF1bHRhZG1pbi50cGwnKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/CGSocialBlaster.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQmxhc3RlciAoYykgMjAxMyBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gZmFjaWxpdGF0ZSBibGFzdGluZyBpbmZvcm1hdGlvbiB0byBtdWx0aXBsZSBzb2NpYWwgbmV0d29ya3MKIyAgYXQgb25jZS4gIFJlcXVpcmVzIGluZWRpdmlkaWFsIG1vZHVsZXMgdG8gaGFuZGxlIHRoZSBhY3R1YWwgcG9zdGluZyB0byBzb2NpYWwgbW9kdWxlcy4KIyAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKCmZpbmFsIGNsYXNzIENHU29jaWFsQmxhc3RlciBleHRlbmRzIENHRXh0ZW5zaW9ucwp7CiAgY29uc3QgUEVSTU5BTUUgPSAnQmxhc3QgdG8gU29jaWFsIE1lZGlhJzsKCiAgcHVibGljIGZ1bmN0aW9uIEdldE5hbWUoKSB7IHJldHVybiBnZXRfY2xhc3MoJHRoaXMpOyB9CiAgcHVibGljIGZ1bmN0aW9uIEdldFZlcnNpb24oKSB7IHJldHVybiAnMS4wLjMnOyB9CiAgcHVibGljIGZ1bmN0aW9uIEdldEhlbHAoKSB7IHJldHVybiBmaWxlX2dldF9jb250ZW50cyhfX0RJUl9fLicvaGVscC5pbmMnKTsgfQogIHB1YmxpYyBmdW5jdGlvbiBHZXRBdXRob3IoKSB7IHJldHVybiAnY2FsZ3V5MTAwMCc7IH0KICBwdWJsaWMgZnVuY3Rpb24gR2V0QXV0aG9yRW1haWwoKSB7IHJldHVybiAnY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyc7IH0KICBwdWJsaWMgZnVuY3Rpb24gR2V0Q2hhbmdlTG9nKCkgeyByZXR1cm4gZmlsZV9nZXRfY29udGVudHMoX19ESVJfXy4nL2NoYW5nZWxvZy5pbmMnKTsgfQogIHB1YmxpYyBmdW5jdGlvbiBJc1BsdWdpbk1vZHVsZSgpIHsgcmV0dXJuIEZBTFNFOyB9IC8vIG5vIGZyb250ZW5kIGZvciB0aGlzIG9uZS4KICBwdWJsaWMgZnVuY3Rpb24gSGFzQWRtaW4oKSB7IHJldHVybiBUUlVFOyB9CiAgcHVibGljIGZ1bmN0aW9uIEdldEFkbWluU2VjdGlvbigpIHsgcmV0dXJuICdleHRlbnNpb25zJzsgfQogIHB1YmxpYyBmdW5jdGlvbiBHZXRBZG1pbkRlc2NyaXB0aW9uKCkgeyByZXR1cm4gJHRoaXMtPkxhbmcoJ21vZGRlc2NyaXB0aW9uJyk7IH0KICBwdWJsaWMgZnVuY3Rpb24gVmlzaWJsZVRvQWRtaW5Vc2VyKCkgeyByZXR1cm4gJHRoaXMtPkNoZWNrUGVybWlzc2lvbigkdGhpczo6UEVSTU5BTUUpOyB9CiAgcHVibGljIGZ1bmN0aW9uIEdldERlcGVuZGVuY2llcygpIHsgcmV0dXJuIGFycmF5KCdDR0V4dGVuc2lvbnMnPT4nMS40Mi4yJywnQ0dTaW1wbGVTbWFydHknPT4nMS43LjMnKTsgfQogIHB1YmxpYyBmdW5jdGlvbiBNaW5pbXVtQ01TVmVyc2lvbigpIHsgcmV0dXJuICcxLjExLjEwJzsgfQogIHB1YmxpYyBmdW5jdGlvbiBJbnN0YWxsUG9zdE1lc3NhZ2UoKSB7IHJldHVybiAkdGhpcy0+TGFuZygncG9zdGluc3RhbGwnKTsgfQogIHB1YmxpYyBmdW5jdGlvbiBVbmluc3RhbGxQb3N0TWVzc2FnZSgpIHsgcmV0dXJuICR0aGlzLT5MYW5nKCdwb3N0dW5pbnN0YWxsJyk7IH0KICBwdWJsaWMgZnVuY3Rpb24gVW5pbnN0YWxsUHJlTWVzc2FnZSgpIHsgcmV0dXJuICR0aGlzLT5MYW5nKCdyZWFsbHlfdW5pbnN0YWxsJyk7IH0KCiAgcHVibGljIGZ1bmN0aW9uIEluaXRpYWxpemVBZG1pbigpCiAgewogICAgJHRoaXMtPkFkZEltYWdlRGlyKCdpbWFnZXMnKTsKCiAgICAkc21hcnR5ID0gY21zbXMoKS0+R2V0U21hcnR5KCk7CiAgICAkc21hcnR5LT5yZWdpc3Rlcl9mdW5jdGlvbignY2dzb2NibGFzdGVyJyxhcnJheSgkdGhpcywncGx1Z2luX3NvY2lhbF9ibGFzdGVyJykpOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIEdldEZyaWVuZGx5TmFtZSgpIAogIHsKICAgICRmcmllbmRseW5hbWUgPSB0cmltKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdmcmllbmRseW5hbWUnKSk7CiAgICBpZiggISRmcmllbmRseW5hbWUgKSAkZnJpZW5kbHluYW1lID0gJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpOwogICAgcmV0dXJuICRmcmllbmRseW5hbWU7CiAgfQoKICBzdGF0aWMgcHVibGljIGZ1bmN0aW9uIHBsdWdpbl9zb2NpYWxfYmxhc3RlcigkcGFyYW1zLCYkdGVtcGxhdGUpCiAgewogICAgJHVpZCA9IGdldF91c2VyaWQoRkFMU0UpOwogICAgaWYoICFjaGVja19wZXJtaXNzaW9uKCR1aWQsQ0dTb2NpYWxCbGFzdGVyOjpQRVJNTkFNRSkgKSByZXR1cm47CgogICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZShNT0RfQ0dTT0NJQUxCTEFTVEVSKTsKICAgICRzbWFydHkgPSAkdGVtcGxhdGUtPnNtYXJ0eTsKICAgICRkYXRhID0gYXJyYXkoKTsKICAgICRkYXRhWydtb2R1bGUnXSA9ICcnOwogICAgJGRhdGFbJ2tleSddID0gJyc7CiAgICAkZGF0YVsnc3ViamVjdCddID0gJyc7CiAgICAkZGF0YVsnYm9keSddID0gJyc7CiAgICAkZGF0YVsncGljdHVyZSddID0gJyc7CiAgICAkZGF0YVsncmV0dXJudG8nXSA9IGNnZV91cmw6OmN1cnJlbnRfdXJsKCk7CgogICAgJGRhdGFbJ3RpdGxlJ10gPSAkbW9kLT5MYW5nKCd0aXRsZV9zaGFyZV9zb2NpYWwnKTsKICAgICRkYXRhWyd1cmxvbmx5J10gPSAwOwogICAgJGRhdGFbJ2ljb24nXSA9ICdzb2NpYWxfc20uZ2lmJzsKCiAgICBmb3JlYWNoKCAkcGFyYW1zIGFzICRrZXkgPT4gJHZhbHVlICkgewogICAgICAkdmFsdWUgPSB0cmltKCR2YWx1ZSk7CiAgICAgIGlmKCAkdmFsdWUgPT0gJycgKSBjb250aW51ZTsKICAgICAgaWYoIGluX2FycmF5KCRrZXksYXJyYXlfa2V5cygkZGF0YSkpICkgJGRhdGFbJGtleV0gPSAkdmFsdWU7CiAgICB9CgogICAgLy8gY2hlY2sgcmVxdWlyZW1lbnRzCiAgICBpZiggJGRhdGFbJ21vZHVsZSddICE9ICcnICYmICRkYXRhWydrZXknXSAhPSAnJyApIHsKICAgICAgLy8gd2UncmUgZ29vZAogICAgfQogICAgZWxzZSBpZiggJGRhdGFbJ2JvZHknXSAhPSAnJyApIHsKICAgICAgLy8gd2UncmUgZ29vZAogICAgfQogICAgZWxzZSB7CiAgICAgIC8vIG5vdCBzbyBnb29kLgogICAgICBhdWRpdCgnJywnQ0dTb2NpYWxCbGFzdGVyJywnY2dzb2NibGFzdGVyIHBsdWdpbiBjYWxsZWQgd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMnKTsKICAgICAgcmV0dXJuOwogICAgfQoKICAgICRwYXJtcyA9ICRkYXRhOwogICAgdW5zZXQoJGRhdGFbJ3VybG9ubHknXSk7CiAgICB1bnNldCgkZGF0YVsnaWNvbiddKTsKICAgIHVuc2V0KCRkYXRhWyd0aXRsZSddKTsKICAgIGZvcmVhY2goICRkYXRhIGFzICRrZXkgPT4gJHZhbHVlICkgewogICAgICBpZiggJHZhbHVlID09ICcnICkgdW5zZXQoJGRhdGFbJGtleV0pOwogICAgfQoKICAgICRvdXQgPSBudWxsOwogICAgJHRtcCA9IGFycmF5KCdkYXRhJz0+YmFzZTY0X2VuY29kZShzZXJpYWxpemUoJGRhdGEpKSk7CiAgICBpZiggJHBhcm1zWyd1cmxvbmx5J10gKSB7CiAgICAgICRvdXQgPSAkbW9kLT5jcmVhdGVfdXJsKCdjZ3NiXycsJ2JsYXN0JywnJywkdG1wKTsKICAgIH0KICAgIGVsc2UgewogICAgICAkaW1nID0gJG1vZC0+RGlzcGxheUltYWdlKCRwYXJtc1snaWNvbiddLCRwYXJtc1sndGl0bGUnXSwnJywxNiwxNik7CiAgICAgICR1cmwgPSAkbW9kLT5jcmVhdGVfdXJsKCdjZ3NiXycsJ2JsYXN0JywnJywkdG1wKTsKICAgICAgJG91dCA9ICI8YSBocmVmPVwieyR1cmx9XCIgdGl0bGU9XCJ7JHBhcm1zWyd0aXRsZSddfVwiPnskaW1nfTwvYT4iOwogICAgfQoKICAgIGlmKCBpc3NldCgkcGFyYW1zWydhc3NpZ24nXSkgKSB7CiAgICAgICRzbWFydHktPmFzc2lnbigkcGFyYW1zWydhc3NpZ24nXSwkb3V0KTsKICAgICAgcmV0dXJuOwogICAgfQogICAgcmV0dXJuICRvdXQ7CiAgfQoKfSAvLyBjbGFzcwoKPz4K]]></data>
	</file>
	<file>
	  <filename>/changelog.inc</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[VE9ETy4=]]></data>
	</file>
	<file>
	  <filename>/doc/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/doc/COPYING</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ICAgICAgICAgICAgICAgICAgICBHTlUgR0VORVJBTCBQVUJMSUMgTElDRU5TRQogICAgICAgICAgICAgICAgICAgICAgIFZlcnNpb24gMywgMjkgSnVuZSAyMDA3CgogQ29weXJpZ2h0IChDKSAyMDA3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiA8aHR0cDovL2ZzZi5vcmcvPgogRXZlcnlvbmUgaXMgcGVybWl0dGVkIHRvIGNvcHkgYW5kIGRpc3RyaWJ1dGUgdmVyYmF0aW0gY29waWVzCiBvZiB0aGlzIGxpY2Vuc2UgZG9jdW1lbnQsIGJ1dCBjaGFuZ2luZyBpdCBpcyBub3QgYWxsb3dlZC4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcmVhbWJsZQoKICBUaGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaXMgYSBmcmVlLCBjb3B5bGVmdCBsaWNlbnNlIGZvcgpzb2Z0d2FyZSBhbmQgb3RoZXIga2luZHMgb2Ygd29ya3MuCgogIFRoZSBsaWNlbnNlcyBmb3IgbW9zdCBzb2Z0d2FyZSBhbmQgb3RoZXIgcHJhY3RpY2FsIHdvcmtzIGFyZSBkZXNpZ25lZAp0byB0YWtlIGF3YXkgeW91ciBmcmVlZG9tIHRvIHNoYXJlIGFuZCBjaGFuZ2UgdGhlIHdvcmtzLiAgQnkgY29udHJhc3QsCnRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBpcyBpbnRlbmRlZCB0byBndWFyYW50ZWUgeW91ciBmcmVlZG9tIHRvCnNoYXJlIGFuZCBjaGFuZ2UgYWxsIHZlcnNpb25zIG9mIGEgcHJvZ3JhbS0tdG8gbWFrZSBzdXJlIGl0IHJlbWFpbnMgZnJlZQpzb2Z0d2FyZSBmb3IgYWxsIGl0cyB1c2Vycy4gIFdlLCB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCB1c2UgdGhlCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3N0IG9mIG91ciBzb2Z0d2FyZTsgaXQgYXBwbGllcyBhbHNvIHRvCmFueSBvdGhlciB3b3JrIHJlbGVhc2VkIHRoaXMgd2F5IGJ5IGl0cyBhdXRob3JzLiAgWW91IGNhbiBhcHBseSBpdCB0bwp5b3VyIHByb2dyYW1zLCB0b28uCgogIFdoZW4gd2Ugc3BlYWsgb2YgZnJlZSBzb2Z0d2FyZSwgd2UgYXJlIHJlZmVycmluZyB0byBmcmVlZG9tLCBub3QKcHJpY2UuICBPdXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZXMgYXJlIGRlc2lnbmVkIHRvIG1ha2Ugc3VyZSB0aGF0IHlvdQpoYXZlIHRoZSBmcmVlZG9tIHRvIGRpc3RyaWJ1dGUgY29waWVzIG9mIGZyZWUgc29mdHdhcmUgKGFuZCBjaGFyZ2UgZm9yCnRoZW0gaWYgeW91IHdpc2gpLCB0aGF0IHlvdSByZWNlaXZlIHNvdXJjZSBjb2RlIG9yIGNhbiBnZXQgaXQgaWYgeW91CndhbnQgaXQsIHRoYXQgeW91IGNhbiBjaGFuZ2UgdGhlIHNvZnR3YXJlIG9yIHVzZSBwaWVjZXMgb2YgaXQgaW4gbmV3CmZyZWUgcHJvZ3JhbXMsIGFuZCB0aGF0IHlvdSBrbm93IHlvdSBjYW4gZG8gdGhlc2UgdGhpbmdzLgoKICBUbyBwcm90ZWN0IHlvdXIgcmlnaHRzLCB3ZSBuZWVkIHRvIHByZXZlbnQgb3RoZXJzIGZyb20gZGVueWluZyB5b3UKdGhlc2UgcmlnaHRzIG9yIGFza2luZyB5b3UgdG8gc3VycmVuZGVyIHRoZSByaWdodHMuICBUaGVyZWZvcmUsIHlvdSBoYXZlCmNlcnRhaW4gcmVzcG9uc2liaWxpdGllcyBpZiB5b3UgZGlzdHJpYnV0ZSBjb3BpZXMgb2YgdGhlIHNvZnR3YXJlLCBvciBpZgp5b3UgbW9kaWZ5IGl0OiByZXNwb25zaWJpbGl0aWVzIHRvIHJlc3BlY3QgdGhlIGZyZWVkb20gb2Ygb3RoZXJzLgoKICBGb3IgZXhhbXBsZSwgaWYgeW91IGRpc3RyaWJ1dGUgY29waWVzIG9mIHN1Y2ggYSBwcm9ncmFtLCB3aGV0aGVyCmdyYXRpcyBvciBmb3IgYSBmZWUsIHlvdSBtdXN0IHBhc3Mgb24gdG8gdGhlIHJlY2lwaWVudHMgdGhlIHNhbWUKZnJlZWRvbXMgdGhhdCB5b3UgcmVjZWl2ZWQuICBZb3UgbXVzdCBtYWtlIHN1cmUgdGhhdCB0aGV5LCB0b28sIHJlY2VpdmUKb3IgY2FuIGdldCB0aGUgc291cmNlIGNvZGUuICBBbmQgeW91IG11c3Qgc2hvdyB0aGVtIHRoZXNlIHRlcm1zIHNvIHRoZXkKa25vdyB0aGVpciByaWdodHMuCgogIERldmVsb3BlcnMgdGhhdCB1c2UgdGhlIEdOVSBHUEwgcHJvdGVjdCB5b3VyIHJpZ2h0cyB3aXRoIHR3byBzdGVwczoKKDEpIGFzc2VydCBjb3B5cmlnaHQgb24gdGhlIHNvZnR3YXJlLCBhbmQgKDIpIG9mZmVyIHlvdSB0aGlzIExpY2Vuc2UKZ2l2aW5nIHlvdSBsZWdhbCBwZXJtaXNzaW9uIHRvIGNvcHksIGRpc3RyaWJ1dGUgYW5kL29yIG1vZGlmeSBpdC4KCiAgRm9yIHRoZSBkZXZlbG9wZXJzJyBhbmQgYXV0aG9ycycgcHJvdGVjdGlvbiwgdGhlIEdQTCBjbGVhcmx5IGV4cGxhaW5zCnRoYXQgdGhlcmUgaXMgbm8gd2FycmFudHkgZm9yIHRoaXMgZnJlZSBzb2Z0d2FyZS4gIEZvciBib3RoIHVzZXJzJyBhbmQKYXV0aG9ycycgc2FrZSwgdGhlIEdQTCByZXF1aXJlcyB0aGF0IG1vZGlmaWVkIHZlcnNpb25zIGJlIG1hcmtlZCBhcwpjaGFuZ2VkLCBzbyB0aGF0IHRoZWlyIHByb2JsZW1zIHdpbGwgbm90IGJlIGF0dHJpYnV0ZWQgZXJyb25lb3VzbHkgdG8KYXV0aG9ycyBvZiBwcmV2aW91cyB2ZXJzaW9ucy4KCiAgU29tZSBkZXZpY2VzIGFyZSBkZXNpZ25lZCB0byBkZW55IHVzZXJzIGFjY2VzcyB0byBpbnN0YWxsIG9yIHJ1bgptb2RpZmllZCB2ZXJzaW9ucyBvZiB0aGUgc29mdHdhcmUgaW5zaWRlIHRoZW0sIGFsdGhvdWdoIHRoZSBtYW51ZmFjdHVyZXIKY2FuIGRvIHNvLiAgVGhpcyBpcyBmdW5kYW1lbnRhbGx5IGluY29tcGF0aWJsZSB3aXRoIHRoZSBhaW0gb2YKcHJvdGVjdGluZyB1c2VycycgZnJlZWRvbSB0byBjaGFuZ2UgdGhlIHNvZnR3YXJlLiAgVGhlIHN5c3RlbWF0aWMKcGF0dGVybiBvZiBzdWNoIGFidXNlIG9jY3VycyBpbiB0aGUgYXJlYSBvZiBwcm9kdWN0cyBmb3IgaW5kaXZpZHVhbHMgdG8KdXNlLCB3aGljaCBpcyBwcmVjaXNlbHkgd2hlcmUgaXQgaXMgbW9zdCB1bmFjY2VwdGFibGUuICBUaGVyZWZvcmUsIHdlCmhhdmUgZGVzaWduZWQgdGhpcyB2ZXJzaW9uIG9mIHRoZSBHUEwgdG8gcHJvaGliaXQgdGhlIHByYWN0aWNlIGZvciB0aG9zZQpwcm9kdWN0cy4gIElmIHN1Y2ggcHJvYmxlbXMgYXJpc2Ugc3Vic3RhbnRpYWxseSBpbiBvdGhlciBkb21haW5zLCB3ZQpzdGFuZCByZWFkeSB0byBleHRlbmQgdGhpcyBwcm92aXNpb24gdG8gdGhvc2UgZG9tYWlucyBpbiBmdXR1cmUgdmVyc2lvbnMKb2YgdGhlIEdQTCwgYXMgbmVlZGVkIHRvIHByb3RlY3QgdGhlIGZyZWVkb20gb2YgdXNlcnMuCgogIEZpbmFsbHksIGV2ZXJ5IHByb2dyYW0gaXMgdGhyZWF0ZW5lZCBjb25zdGFudGx5IGJ5IHNvZnR3YXJlIHBhdGVudHMuClN0YXRlcyBzaG91bGQgbm90IGFsbG93IHBhdGVudHMgdG8gcmVzdHJpY3QgZGV2ZWxvcG1lbnQgYW5kIHVzZSBvZgpzb2Z0d2FyZSBvbiBnZW5lcmFsLXB1cnBvc2UgY29tcHV0ZXJzLCBidXQgaW4gdGhvc2UgdGhhdCBkbywgd2Ugd2lzaCB0bwphdm9pZCB0aGUgc3BlY2lhbCBkYW5nZXIgdGhhdCBwYXRlbnRzIGFwcGxpZWQgdG8gYSBmcmVlIHByb2dyYW0gY291bGQKbWFrZSBpdCBlZmZlY3RpdmVseSBwcm9wcmlldGFyeS4gIFRvIHByZXZlbnQgdGhpcywgdGhlIEdQTCBhc3N1cmVzIHRoYXQKcGF0ZW50cyBjYW5ub3QgYmUgdXNlZCB0byByZW5kZXIgdGhlIHByb2dyYW0gbm9uLWZyZWUuCgogIFRoZSBwcmVjaXNlIHRlcm1zIGFuZCBjb25kaXRpb25zIGZvciBjb3B5aW5nLCBkaXN0cmlidXRpb24gYW5kCm1vZGlmaWNhdGlvbiBmb2xsb3cuCgogICAgICAgICAgICAgICAgICAgICAgIFRFUk1TIEFORCBDT05ESVRJT05TCgogIDAuIERlZmluaXRpb25zLgoKICAiVGhpcyBMaWNlbnNlIiByZWZlcnMgdG8gdmVyc2lvbiAzIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KCiAgIkNvcHlyaWdodCIgYWxzbyBtZWFucyBjb3B5cmlnaHQtbGlrZSBsYXdzIHRoYXQgYXBwbHkgdG8gb3RoZXIga2luZHMgb2YKd29ya3MsIHN1Y2ggYXMgc2VtaWNvbmR1Y3RvciBtYXNrcy4KCiAgIlRoZSBQcm9ncmFtIiByZWZlcnMgdG8gYW55IGNvcHlyaWdodGFibGUgd29yayBsaWNlbnNlZCB1bmRlciB0aGlzCkxpY2Vuc2UuICBFYWNoIGxpY2Vuc2VlIGlzIGFkZHJlc3NlZCBhcyAieW91Ii4gICJMaWNlbnNlZXMiIGFuZAoicmVjaXBpZW50cyIgbWF5IGJlIGluZGl2aWR1YWxzIG9yIG9yZ2FuaXphdGlvbnMuCgogIFRvICJtb2RpZnkiIGEgd29yayBtZWFucyB0byBjb3B5IGZyb20gb3IgYWRhcHQgYWxsIG9yIHBhcnQgb2YgdGhlIHdvcmsKaW4gYSBmYXNoaW9uIHJlcXVpcmluZyBjb3B5cmlnaHQgcGVybWlzc2lvbiwgb3RoZXIgdGhhbiB0aGUgbWFraW5nIG9mIGFuCmV4YWN0IGNvcHkuICBUaGUgcmVzdWx0aW5nIHdvcmsgaXMgY2FsbGVkIGEgIm1vZGlmaWVkIHZlcnNpb24iIG9mIHRoZQplYXJsaWVyIHdvcmsgb3IgYSB3b3JrICJiYXNlZCBvbiIgdGhlIGVhcmxpZXIgd29yay4KCiAgQSAiY292ZXJlZCB3b3JrIiBtZWFucyBlaXRoZXIgdGhlIHVubW9kaWZpZWQgUHJvZ3JhbSBvciBhIHdvcmsgYmFzZWQKb24gdGhlIFByb2dyYW0uCgogIFRvICJwcm9wYWdhdGUiIGEgd29yayBtZWFucyB0byBkbyBhbnl0aGluZyB3aXRoIGl0IHRoYXQsIHdpdGhvdXQKcGVybWlzc2lvbiwgd291bGQgbWFrZSB5b3UgZGlyZWN0bHkgb3Igc2Vjb25kYXJpbHkgbGlhYmxlIGZvcgppbmZyaW5nZW1lbnQgdW5kZXIgYXBwbGljYWJsZSBjb3B5cmlnaHQgbGF3LCBleGNlcHQgZXhlY3V0aW5nIGl0IG9uIGEKY29tcHV0ZXIgb3IgbW9kaWZ5aW5nIGEgcHJpdmF0ZSBjb3B5LiAgUHJvcGFnYXRpb24gaW5jbHVkZXMgY29weWluZywKZGlzdHJpYnV0aW9uICh3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uKSwgbWFraW5nIGF2YWlsYWJsZSB0byB0aGUKcHVibGljLCBhbmQgaW4gc29tZSBjb3VudHJpZXMgb3RoZXIgYWN0aXZpdGllcyBhcyB3ZWxsLgoKICBUbyAiY29udmV5IiBhIHdvcmsgbWVhbnMgYW55IGtpbmQgb2YgcHJvcGFnYXRpb24gdGhhdCBlbmFibGVzIG90aGVyCnBhcnRpZXMgdG8gbWFrZSBvciByZWNlaXZlIGNvcGllcy4gIE1lcmUgaW50ZXJhY3Rpb24gd2l0aCBhIHVzZXIgdGhyb3VnaAphIGNvbXB1dGVyIG5ldHdvcmssIHdpdGggbm8gdHJhbnNmZXIgb2YgYSBjb3B5LCBpcyBub3QgY29udmV5aW5nLgoKICBBbiBpbnRlcmFjdGl2ZSB1c2VyIGludGVyZmFjZSBkaXNwbGF5cyAiQXBwcm9wcmlhdGUgTGVnYWwgTm90aWNlcyIKdG8gdGhlIGV4dGVudCB0aGF0IGl0IGluY2x1ZGVzIGEgY29udmVuaWVudCBhbmQgcHJvbWluZW50bHkgdmlzaWJsZQpmZWF0dXJlIHRoYXQgKDEpIGRpc3BsYXlzIGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2UsIGFuZCAoMikKdGVsbHMgdGhlIHVzZXIgdGhhdCB0aGVyZSBpcyBubyB3YXJyYW50eSBmb3IgdGhlIHdvcmsgKGV4Y2VwdCB0byB0aGUKZXh0ZW50IHRoYXQgd2FycmFudGllcyBhcmUgcHJvdmlkZWQpLCB0aGF0IGxpY2Vuc2VlcyBtYXkgY29udmV5IHRoZQp3b3JrIHVuZGVyIHRoaXMgTGljZW5zZSwgYW5kIGhvdyB0byB2aWV3IGEgY29weSBvZiB0aGlzIExpY2Vuc2UuICBJZgp0aGUgaW50ZXJmYWNlIHByZXNlbnRzIGEgbGlzdCBvZiB1c2VyIGNvbW1hbmRzIG9yIG9wdGlvbnMsIHN1Y2ggYXMgYQptZW51LCBhIHByb21pbmVudCBpdGVtIGluIHRoZSBsaXN0IG1lZXRzIHRoaXMgY3JpdGVyaW9uLgoKICAxLiBTb3VyY2UgQ29kZS4KCiAgVGhlICJzb3VyY2UgY29kZSIgZm9yIGEgd29yayBtZWFucyB0aGUgcHJlZmVycmVkIGZvcm0gb2YgdGhlIHdvcmsKZm9yIG1ha2luZyBtb2RpZmljYXRpb25zIHRvIGl0LiAgIk9iamVjdCBjb2RlIiBtZWFucyBhbnkgbm9uLXNvdXJjZQpmb3JtIG9mIGEgd29yay4KCiAgQSAiU3RhbmRhcmQgSW50ZXJmYWNlIiBtZWFucyBhbiBpbnRlcmZhY2UgdGhhdCBlaXRoZXIgaXMgYW4gb2ZmaWNpYWwKc3RhbmRhcmQgZGVmaW5lZCBieSBhIHJlY29nbml6ZWQgc3RhbmRhcmRzIGJvZHksIG9yLCBpbiB0aGUgY2FzZSBvZgppbnRlcmZhY2VzIHNwZWNpZmllZCBmb3IgYSBwYXJ0aWN1bGFyIHByb2dyYW1taW5nIGxhbmd1YWdlLCBvbmUgdGhhdAppcyB3aWRlbHkgdXNlZCBhbW9uZyBkZXZlbG9wZXJzIHdvcmtpbmcgaW4gdGhhdCBsYW5ndWFnZS4KCiAgVGhlICJTeXN0ZW0gTGlicmFyaWVzIiBvZiBhbiBleGVjdXRhYmxlIHdvcmsgaW5jbHVkZSBhbnl0aGluZywgb3RoZXIKdGhhbiB0aGUgd29yayBhcyBhIHdob2xlLCB0aGF0IChhKSBpcyBpbmNsdWRlZCBpbiB0aGUgbm9ybWFsIGZvcm0gb2YKcGFja2FnaW5nIGEgTWFqb3IgQ29tcG9uZW50LCBidXQgd2hpY2ggaXMgbm90IHBhcnQgb2YgdGhhdCBNYWpvcgpDb21wb25lbnQsIGFuZCAoYikgc2VydmVzIG9ubHkgdG8gZW5hYmxlIHVzZSBvZiB0aGUgd29yayB3aXRoIHRoYXQKTWFqb3IgQ29tcG9uZW50LCBvciB0byBpbXBsZW1lbnQgYSBTdGFuZGFyZCBJbnRlcmZhY2UgZm9yIHdoaWNoIGFuCmltcGxlbWVudGF0aW9uIGlzIGF2YWlsYWJsZSB0byB0aGUgcHVibGljIGluIHNvdXJjZSBjb2RlIGZvcm0uICBBCiJNYWpvciBDb21wb25lbnQiLCBpbiB0aGlzIGNvbnRleHQsIG1lYW5zIGEgbWFqb3IgZXNzZW50aWFsIGNvbXBvbmVudAooa2VybmVsLCB3aW5kb3cgc3lzdGVtLCBhbmQgc28gb24pIG9mIHRoZSBzcGVjaWZpYyBvcGVyYXRpbmcgc3lzdGVtCihpZiBhbnkpIG9uIHdoaWNoIHRoZSBleGVjdXRhYmxlIHdvcmsgcnVucywgb3IgYSBjb21waWxlciB1c2VkIHRvCnByb2R1Y2UgdGhlIHdvcmssIG9yIGFuIG9iamVjdCBjb2RlIGludGVycHJldGVyIHVzZWQgdG8gcnVuIGl0LgoKICBUaGUgIkNvcnJlc3BvbmRpbmcgU291cmNlIiBmb3IgYSB3b3JrIGluIG9iamVjdCBjb2RlIGZvcm0gbWVhbnMgYWxsCnRoZSBzb3VyY2UgY29kZSBuZWVkZWQgdG8gZ2VuZXJhdGUsIGluc3RhbGwsIGFuZCAoZm9yIGFuIGV4ZWN1dGFibGUKd29yaykgcnVuIHRoZSBvYmplY3QgY29kZSBhbmQgdG8gbW9kaWZ5IHRoZSB3b3JrLCBpbmNsdWRpbmcgc2NyaXB0cyB0bwpjb250cm9sIHRob3NlIGFjdGl2aXRpZXMuICBIb3dldmVyLCBpdCBkb2VzIG5vdCBpbmNsdWRlIHRoZSB3b3JrJ3MKU3lzdGVtIExpYnJhcmllcywgb3IgZ2VuZXJhbC1wdXJwb3NlIHRvb2xzIG9yIGdlbmVyYWxseSBhdmFpbGFibGUgZnJlZQpwcm9ncmFtcyB3aGljaCBhcmUgdXNlZCB1bm1vZGlmaWVkIGluIHBlcmZvcm1pbmcgdGhvc2UgYWN0aXZpdGllcyBidXQKd2hpY2ggYXJlIG5vdCBwYXJ0IG9mIHRoZSB3b3JrLiAgRm9yIGV4YW1wbGUsIENvcnJlc3BvbmRpbmcgU291cmNlCmluY2x1ZGVzIGludGVyZmFjZSBkZWZpbml0aW9uIGZpbGVzIGFzc29jaWF0ZWQgd2l0aCBzb3VyY2UgZmlsZXMgZm9yCnRoZSB3b3JrLCBhbmQgdGhlIHNvdXJjZSBjb2RlIGZvciBzaGFyZWQgbGlicmFyaWVzIGFuZCBkeW5hbWljYWxseQpsaW5rZWQgc3VicHJvZ3JhbXMgdGhhdCB0aGUgd29yayBpcyBzcGVjaWZpY2FsbHkgZGVzaWduZWQgdG8gcmVxdWlyZSwKc3VjaCBhcyBieSBpbnRpbWF0ZSBkYXRhIGNvbW11bmljYXRpb24gb3IgY29udHJvbCBmbG93IGJldHdlZW4gdGhvc2UKc3VicHJvZ3JhbXMgYW5kIG90aGVyIHBhcnRzIG9mIHRoZSB3b3JrLgoKICBUaGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgbmVlZCBub3QgaW5jbHVkZSBhbnl0aGluZyB0aGF0IHVzZXJzCmNhbiByZWdlbmVyYXRlIGF1dG9tYXRpY2FsbHkgZnJvbSBvdGhlciBwYXJ0cyBvZiB0aGUgQ29ycmVzcG9uZGluZwpTb3VyY2UuCgogIFRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBmb3IgYSB3b3JrIGluIHNvdXJjZSBjb2RlIGZvcm0gaXMgdGhhdApzYW1lIHdvcmsuCgogIDIuIEJhc2ljIFBlcm1pc3Npb25zLgoKICBBbGwgcmlnaHRzIGdyYW50ZWQgdW5kZXIgdGhpcyBMaWNlbnNlIGFyZSBncmFudGVkIGZvciB0aGUgdGVybSBvZgpjb3B5cmlnaHQgb24gdGhlIFByb2dyYW0sIGFuZCBhcmUgaXJyZXZvY2FibGUgcHJvdmlkZWQgdGhlIHN0YXRlZApjb25kaXRpb25zIGFyZSBtZXQuICBUaGlzIExpY2Vuc2UgZXhwbGljaXRseSBhZmZpcm1zIHlvdXIgdW5saW1pdGVkCnBlcm1pc3Npb24gdG8gcnVuIHRoZSB1bm1vZGlmaWVkIFByb2dyYW0uICBUaGUgb3V0cHV0IGZyb20gcnVubmluZyBhCmNvdmVyZWQgd29yayBpcyBjb3ZlcmVkIGJ5IHRoaXMgTGljZW5zZSBvbmx5IGlmIHRoZSBvdXRwdXQsIGdpdmVuIGl0cwpjb250ZW50LCBjb25zdGl0dXRlcyBhIGNvdmVyZWQgd29yay4gIFRoaXMgTGljZW5zZSBhY2tub3dsZWRnZXMgeW91cgpyaWdodHMgb2YgZmFpciB1c2Ugb3Igb3RoZXIgZXF1aXZhbGVudCwgYXMgcHJvdmlkZWQgYnkgY29weXJpZ2h0IGxhdy4KCiAgWW91IG1heSBtYWtlLCBydW4gYW5kIHByb3BhZ2F0ZSBjb3ZlcmVkIHdvcmtzIHRoYXQgeW91IGRvIG5vdApjb252ZXksIHdpdGhvdXQgY29uZGl0aW9ucyBzbyBsb25nIGFzIHlvdXIgbGljZW5zZSBvdGhlcndpc2UgcmVtYWlucwppbiBmb3JjZS4gIFlvdSBtYXkgY29udmV5IGNvdmVyZWQgd29ya3MgdG8gb3RoZXJzIGZvciB0aGUgc29sZSBwdXJwb3NlCm9mIGhhdmluZyB0aGVtIG1ha2UgbW9kaWZpY2F0aW9ucyBleGNsdXNpdmVseSBmb3IgeW91LCBvciBwcm92aWRlIHlvdQp3aXRoIGZhY2lsaXRpZXMgZm9yIHJ1bm5pbmcgdGhvc2Ugd29ya3MsIHByb3ZpZGVkIHRoYXQgeW91IGNvbXBseSB3aXRoCnRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UgaW4gY29udmV5aW5nIGFsbCBtYXRlcmlhbCBmb3Igd2hpY2ggeW91IGRvCm5vdCBjb250cm9sIGNvcHlyaWdodC4gIFRob3NlIHRodXMgbWFraW5nIG9yIHJ1bm5pbmcgdGhlIGNvdmVyZWQgd29ya3MKZm9yIHlvdSBtdXN0IGRvIHNvIGV4Y2x1c2l2ZWx5IG9uIHlvdXIgYmVoYWxmLCB1bmRlciB5b3VyIGRpcmVjdGlvbgphbmQgY29udHJvbCwgb24gdGVybXMgdGhhdCBwcm9oaWJpdCB0aGVtIGZyb20gbWFraW5nIGFueSBjb3BpZXMgb2YKeW91ciBjb3B5cmlnaHRlZCBtYXRlcmlhbCBvdXRzaWRlIHRoZWlyIHJlbGF0aW9uc2hpcCB3aXRoIHlvdS4KCiAgQ29udmV5aW5nIHVuZGVyIGFueSBvdGhlciBjaXJjdW1zdGFuY2VzIGlzIHBlcm1pdHRlZCBzb2xlbHkgdW5kZXIKdGhlIGNvbmRpdGlvbnMgc3RhdGVkIGJlbG93LiAgU3VibGljZW5zaW5nIGlzIG5vdCBhbGxvd2VkOyBzZWN0aW9uIDEwCm1ha2VzIGl0IHVubmVjZXNzYXJ5LgoKICAzLiBQcm90ZWN0aW5nIFVzZXJzJyBMZWdhbCBSaWdodHMgRnJvbSBBbnRpLUNpcmN1bXZlbnRpb24gTGF3LgoKICBObyBjb3ZlcmVkIHdvcmsgc2hhbGwgYmUgZGVlbWVkIHBhcnQgb2YgYW4gZWZmZWN0aXZlIHRlY2hub2xvZ2ljYWwKbWVhc3VyZSB1bmRlciBhbnkgYXBwbGljYWJsZSBsYXcgZnVsZmlsbGluZyBvYmxpZ2F0aW9ucyB1bmRlciBhcnRpY2xlCjExIG9mIHRoZSBXSVBPIGNvcHlyaWdodCB0cmVhdHkgYWRvcHRlZCBvbiAyMCBEZWNlbWJlciAxOTk2LCBvcgpzaW1pbGFyIGxhd3MgcHJvaGliaXRpbmcgb3IgcmVzdHJpY3RpbmcgY2lyY3VtdmVudGlvbiBvZiBzdWNoCm1lYXN1cmVzLgoKICBXaGVuIHlvdSBjb252ZXkgYSBjb3ZlcmVkIHdvcmssIHlvdSB3YWl2ZSBhbnkgbGVnYWwgcG93ZXIgdG8gZm9yYmlkCmNpcmN1bXZlbnRpb24gb2YgdGVjaG5vbG9naWNhbCBtZWFzdXJlcyB0byB0aGUgZXh0ZW50IHN1Y2ggY2lyY3VtdmVudGlvbgppcyBlZmZlY3RlZCBieSBleGVyY2lzaW5nIHJpZ2h0cyB1bmRlciB0aGlzIExpY2Vuc2Ugd2l0aCByZXNwZWN0IHRvCnRoZSBjb3ZlcmVkIHdvcmssIGFuZCB5b3UgZGlzY2xhaW0gYW55IGludGVudGlvbiB0byBsaW1pdCBvcGVyYXRpb24gb3IKbW9kaWZpY2F0aW9uIG9mIHRoZSB3b3JrIGFzIGEgbWVhbnMgb2YgZW5mb3JjaW5nLCBhZ2FpbnN0IHRoZSB3b3JrJ3MKdXNlcnMsIHlvdXIgb3IgdGhpcmQgcGFydGllcycgbGVnYWwgcmlnaHRzIHRvIGZvcmJpZCBjaXJjdW12ZW50aW9uIG9mCnRlY2hub2xvZ2ljYWwgbWVhc3VyZXMuCgogIDQuIENvbnZleWluZyBWZXJiYXRpbSBDb3BpZXMuCgogIFlvdSBtYXkgY29udmV5IHZlcmJhdGltIGNvcGllcyBvZiB0aGUgUHJvZ3JhbSdzIHNvdXJjZSBjb2RlIGFzIHlvdQpyZWNlaXZlIGl0LCBpbiBhbnkgbWVkaXVtLCBwcm92aWRlZCB0aGF0IHlvdSBjb25zcGljdW91c2x5IGFuZAphcHByb3ByaWF0ZWx5IHB1Ymxpc2ggb24gZWFjaCBjb3B5IGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2U7CmtlZXAgaW50YWN0IGFsbCBub3RpY2VzIHN0YXRpbmcgdGhhdCB0aGlzIExpY2Vuc2UgYW5kIGFueQpub24tcGVybWlzc2l2ZSB0ZXJtcyBhZGRlZCBpbiBhY2NvcmQgd2l0aCBzZWN0aW9uIDcgYXBwbHkgdG8gdGhlIGNvZGU7CmtlZXAgaW50YWN0IGFsbCBub3RpY2VzIG9mIHRoZSBhYnNlbmNlIG9mIGFueSB3YXJyYW50eTsgYW5kIGdpdmUgYWxsCnJlY2lwaWVudHMgYSBjb3B5IG9mIHRoaXMgTGljZW5zZSBhbG9uZyB3aXRoIHRoZSBQcm9ncmFtLgoKICBZb3UgbWF5IGNoYXJnZSBhbnkgcHJpY2Ugb3Igbm8gcHJpY2UgZm9yIGVhY2ggY29weSB0aGF0IHlvdSBjb252ZXksCmFuZCB5b3UgbWF5IG9mZmVyIHN1cHBvcnQgb3Igd2FycmFudHkgcHJvdGVjdGlvbiBmb3IgYSBmZWUuCgogIDUuIENvbnZleWluZyBNb2RpZmllZCBTb3VyY2UgVmVyc2lvbnMuCgogIFlvdSBtYXkgY29udmV5IGEgd29yayBiYXNlZCBvbiB0aGUgUHJvZ3JhbSwgb3IgdGhlIG1vZGlmaWNhdGlvbnMgdG8KcHJvZHVjZSBpdCBmcm9tIHRoZSBQcm9ncmFtLCBpbiB0aGUgZm9ybSBvZiBzb3VyY2UgY29kZSB1bmRlciB0aGUKdGVybXMgb2Ygc2VjdGlvbiA0LCBwcm92aWRlZCB0aGF0IHlvdSBhbHNvIG1lZXQgYWxsIG9mIHRoZXNlIGNvbmRpdGlvbnM6CgogICAgYSkgVGhlIHdvcmsgbXVzdCBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nIHRoYXQgeW91IG1vZGlmaWVkCiAgICBpdCwgYW5kIGdpdmluZyBhIHJlbGV2YW50IGRhdGUuCgogICAgYikgVGhlIHdvcmsgbXVzdCBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nIHRoYXQgaXQgaXMKICAgIHJlbGVhc2VkIHVuZGVyIHRoaXMgTGljZW5zZSBhbmQgYW55IGNvbmRpdGlvbnMgYWRkZWQgdW5kZXIgc2VjdGlvbgogICAgNy4gIFRoaXMgcmVxdWlyZW1lbnQgbW9kaWZpZXMgdGhlIHJlcXVpcmVtZW50IGluIHNlY3Rpb24gNCB0bwogICAgImtlZXAgaW50YWN0IGFsbCBub3RpY2VzIi4KCiAgICBjKSBZb3UgbXVzdCBsaWNlbnNlIHRoZSBlbnRpcmUgd29yaywgYXMgYSB3aG9sZSwgdW5kZXIgdGhpcwogICAgTGljZW5zZSB0byBhbnlvbmUgd2hvIGNvbWVzIGludG8gcG9zc2Vzc2lvbiBvZiBhIGNvcHkuICBUaGlzCiAgICBMaWNlbnNlIHdpbGwgdGhlcmVmb3JlIGFwcGx5LCBhbG9uZyB3aXRoIGFueSBhcHBsaWNhYmxlIHNlY3Rpb24gNwogICAgYWRkaXRpb25hbCB0ZXJtcywgdG8gdGhlIHdob2xlIG9mIHRoZSB3b3JrLCBhbmQgYWxsIGl0cyBwYXJ0cywKICAgIHJlZ2FyZGxlc3Mgb2YgaG93IHRoZXkgYXJlIHBhY2thZ2VkLiAgVGhpcyBMaWNlbnNlIGdpdmVzIG5vCiAgICBwZXJtaXNzaW9uIHRvIGxpY2Vuc2UgdGhlIHdvcmsgaW4gYW55IG90aGVyIHdheSwgYnV0IGl0IGRvZXMgbm90CiAgICBpbnZhbGlkYXRlIHN1Y2ggcGVybWlzc2lvbiBpZiB5b3UgaGF2ZSBzZXBhcmF0ZWx5IHJlY2VpdmVkIGl0LgoKICAgIGQpIElmIHRoZSB3b3JrIGhhcyBpbnRlcmFjdGl2ZSB1c2VyIGludGVyZmFjZXMsIGVhY2ggbXVzdCBkaXNwbGF5CiAgICBBcHByb3ByaWF0ZSBMZWdhbCBOb3RpY2VzOyBob3dldmVyLCBpZiB0aGUgUHJvZ3JhbSBoYXMgaW50ZXJhY3RpdmUKICAgIGludGVyZmFjZXMgdGhhdCBkbyBub3QgZGlzcGxheSBBcHByb3ByaWF0ZSBMZWdhbCBOb3RpY2VzLCB5b3VyCiAgICB3b3JrIG5lZWQgbm90IG1ha2UgdGhlbSBkbyBzby4KCiAgQSBjb21waWxhdGlvbiBvZiBhIGNvdmVyZWQgd29yayB3aXRoIG90aGVyIHNlcGFyYXRlIGFuZCBpbmRlcGVuZGVudAp3b3Jrcywgd2hpY2ggYXJlIG5vdCBieSB0aGVpciBuYXR1cmUgZXh0ZW5zaW9ucyBvZiB0aGUgY292ZXJlZCB3b3JrLAphbmQgd2hpY2ggYXJlIG5vdCBjb21iaW5lZCB3aXRoIGl0IHN1Y2ggYXMgdG8gZm9ybSBhIGxhcmdlciBwcm9ncmFtLAppbiBvciBvbiBhIHZvbHVtZSBvZiBhIHN0b3JhZ2Ugb3IgZGlzdHJpYnV0aW9uIG1lZGl1bSwgaXMgY2FsbGVkIGFuCiJhZ2dyZWdhdGUiIGlmIHRoZSBjb21waWxhdGlvbiBhbmQgaXRzIHJlc3VsdGluZyBjb3B5cmlnaHQgYXJlIG5vdAp1c2VkIHRvIGxpbWl0IHRoZSBhY2Nlc3Mgb3IgbGVnYWwgcmlnaHRzIG9mIHRoZSBjb21waWxhdGlvbidzIHVzZXJzCmJleW9uZCB3aGF0IHRoZSBpbmRpdmlkdWFsIHdvcmtzIHBlcm1pdC4gIEluY2x1c2lvbiBvZiBhIGNvdmVyZWQgd29yawppbiBhbiBhZ2dyZWdhdGUgZG9lcyBub3QgY2F1c2UgdGhpcyBMaWNlbnNlIHRvIGFwcGx5IHRvIHRoZSBvdGhlcgpwYXJ0cyBvZiB0aGUgYWdncmVnYXRlLgoKICA2LiBDb252ZXlpbmcgTm9uLVNvdXJjZSBGb3Jtcy4KCiAgWW91IG1heSBjb252ZXkgYSBjb3ZlcmVkIHdvcmsgaW4gb2JqZWN0IGNvZGUgZm9ybSB1bmRlciB0aGUgdGVybXMKb2Ygc2VjdGlvbnMgNCBhbmQgNSwgcHJvdmlkZWQgdGhhdCB5b3UgYWxzbyBjb252ZXkgdGhlCm1hY2hpbmUtcmVhZGFibGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgdW5kZXIgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZSwKaW4gb25lIG9mIHRoZXNlIHdheXM6CgogICAgYSkgQ29udmV5IHRoZSBvYmplY3QgY29kZSBpbiwgb3IgZW1ib2RpZWQgaW4sIGEgcGh5c2ljYWwgcHJvZHVjdAogICAgKGluY2x1ZGluZyBhIHBoeXNpY2FsIGRpc3RyaWJ1dGlvbiBtZWRpdW0pLCBhY2NvbXBhbmllZCBieSB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGZpeGVkIG9uIGEgZHVyYWJsZSBwaHlzaWNhbCBtZWRpdW0KICAgIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlLgoKICAgIGIpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgaW4sIG9yIGVtYm9kaWVkIGluLCBhIHBoeXNpY2FsIHByb2R1Y3QKICAgIChpbmNsdWRpbmcgYSBwaHlzaWNhbCBkaXN0cmlidXRpb24gbWVkaXVtKSwgYWNjb21wYW5pZWQgYnkgYQogICAgd3JpdHRlbiBvZmZlciwgdmFsaWQgZm9yIGF0IGxlYXN0IHRocmVlIHllYXJzIGFuZCB2YWxpZCBmb3IgYXMKICAgIGxvbmcgYXMgeW91IG9mZmVyIHNwYXJlIHBhcnRzIG9yIGN1c3RvbWVyIHN1cHBvcnQgZm9yIHRoYXQgcHJvZHVjdAogICAgbW9kZWwsIHRvIGdpdmUgYW55b25lIHdobyBwb3NzZXNzZXMgdGhlIG9iamVjdCBjb2RlIGVpdGhlciAoMSkgYQogICAgY29weSBvZiB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgZm9yIGFsbCB0aGUgc29mdHdhcmUgaW4gdGhlCiAgICBwcm9kdWN0IHRoYXQgaXMgY292ZXJlZCBieSB0aGlzIExpY2Vuc2UsIG9uIGEgZHVyYWJsZSBwaHlzaWNhbAogICAgbWVkaXVtIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlLCBmb3IgYSBwcmljZSBubwogICAgbW9yZSB0aGFuIHlvdXIgcmVhc29uYWJsZSBjb3N0IG9mIHBoeXNpY2FsbHkgcGVyZm9ybWluZyB0aGlzCiAgICBjb252ZXlpbmcgb2Ygc291cmNlLCBvciAoMikgYWNjZXNzIHRvIGNvcHkgdGhlCiAgICBDb3JyZXNwb25kaW5nIFNvdXJjZSBmcm9tIGEgbmV0d29yayBzZXJ2ZXIgYXQgbm8gY2hhcmdlLgoKICAgIGMpIENvbnZleSBpbmRpdmlkdWFsIGNvcGllcyBvZiB0aGUgb2JqZWN0IGNvZGUgd2l0aCBhIGNvcHkgb2YgdGhlCiAgICB3cml0dGVuIG9mZmVyIHRvIHByb3ZpZGUgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlLiAgVGhpcwogICAgYWx0ZXJuYXRpdmUgaXMgYWxsb3dlZCBvbmx5IG9jY2FzaW9uYWxseSBhbmQgbm9uY29tbWVyY2lhbGx5LCBhbmQKICAgIG9ubHkgaWYgeW91IHJlY2VpdmVkIHRoZSBvYmplY3QgY29kZSB3aXRoIHN1Y2ggYW4gb2ZmZXIsIGluIGFjY29yZAogICAgd2l0aCBzdWJzZWN0aW9uIDZiLgoKICAgIGQpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgYnkgb2ZmZXJpbmcgYWNjZXNzIGZyb20gYSBkZXNpZ25hdGVkCiAgICBwbGFjZSAoZ3JhdGlzIG9yIGZvciBhIGNoYXJnZSksIGFuZCBvZmZlciBlcXVpdmFsZW50IGFjY2VzcyB0byB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGluIHRoZSBzYW1lIHdheSB0aHJvdWdoIHRoZSBzYW1lIHBsYWNlIGF0IG5vCiAgICBmdXJ0aGVyIGNoYXJnZS4gIFlvdSBuZWVkIG5vdCByZXF1aXJlIHJlY2lwaWVudHMgdG8gY29weSB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGFsb25nIHdpdGggdGhlIG9iamVjdCBjb2RlLiAgSWYgdGhlIHBsYWNlIHRvCiAgICBjb3B5IHRoZSBvYmplY3QgY29kZSBpcyBhIG5ldHdvcmsgc2VydmVyLCB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UKICAgIG1heSBiZSBvbiBhIGRpZmZlcmVudCBzZXJ2ZXIgKG9wZXJhdGVkIGJ5IHlvdSBvciBhIHRoaXJkIHBhcnR5KQogICAgdGhhdCBzdXBwb3J0cyBlcXVpdmFsZW50IGNvcHlpbmcgZmFjaWxpdGllcywgcHJvdmlkZWQgeW91IG1haW50YWluCiAgICBjbGVhciBkaXJlY3Rpb25zIG5leHQgdG8gdGhlIG9iamVjdCBjb2RlIHNheWluZyB3aGVyZSB0byBmaW5kIHRoZQogICAgQ29ycmVzcG9uZGluZyBTb3VyY2UuICBSZWdhcmRsZXNzIG9mIHdoYXQgc2VydmVyIGhvc3RzIHRoZQogICAgQ29ycmVzcG9uZGluZyBTb3VyY2UsIHlvdSByZW1haW4gb2JsaWdhdGVkIHRvIGVuc3VyZSB0aGF0IGl0IGlzCiAgICBhdmFpbGFibGUgZm9yIGFzIGxvbmcgYXMgbmVlZGVkIHRvIHNhdGlzZnkgdGhlc2UgcmVxdWlyZW1lbnRzLgoKICAgIGUpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgdXNpbmcgcGVlci10by1wZWVyIHRyYW5zbWlzc2lvbiwgcHJvdmlkZWQKICAgIHlvdSBpbmZvcm0gb3RoZXIgcGVlcnMgd2hlcmUgdGhlIG9iamVjdCBjb2RlIGFuZCBDb3JyZXNwb25kaW5nCiAgICBTb3VyY2Ugb2YgdGhlIHdvcmsgYXJlIGJlaW5nIG9mZmVyZWQgdG8gdGhlIGdlbmVyYWwgcHVibGljIGF0IG5vCiAgICBjaGFyZ2UgdW5kZXIgc3Vic2VjdGlvbiA2ZC4KCiAgQSBzZXBhcmFibGUgcG9ydGlvbiBvZiB0aGUgb2JqZWN0IGNvZGUsIHdob3NlIHNvdXJjZSBjb2RlIGlzIGV4Y2x1ZGVkCmZyb20gdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIGFzIGEgU3lzdGVtIExpYnJhcnksIG5lZWQgbm90IGJlCmluY2x1ZGVkIGluIGNvbnZleWluZyB0aGUgb2JqZWN0IGNvZGUgd29yay4KCiAgQSAiVXNlciBQcm9kdWN0IiBpcyBlaXRoZXIgKDEpIGEgImNvbnN1bWVyIHByb2R1Y3QiLCB3aGljaCBtZWFucyBhbnkKdGFuZ2libGUgcGVyc29uYWwgcHJvcGVydHkgd2hpY2ggaXMgbm9ybWFsbHkgdXNlZCBmb3IgcGVyc29uYWwsIGZhbWlseSwKb3IgaG91c2Vob2xkIHB1cnBvc2VzLCBvciAoMikgYW55dGhpbmcgZGVzaWduZWQgb3Igc29sZCBmb3IgaW5jb3Jwb3JhdGlvbgppbnRvIGEgZHdlbGxpbmcuICBJbiBkZXRlcm1pbmluZyB3aGV0aGVyIGEgcHJvZHVjdCBpcyBhIGNvbnN1bWVyIHByb2R1Y3QsCmRvdWJ0ZnVsIGNhc2VzIHNoYWxsIGJlIHJlc29sdmVkIGluIGZhdm9yIG9mIGNvdmVyYWdlLiAgRm9yIGEgcGFydGljdWxhcgpwcm9kdWN0IHJlY2VpdmVkIGJ5IGEgcGFydGljdWxhciB1c2VyLCAibm9ybWFsbHkgdXNlZCIgcmVmZXJzIHRvIGEKdHlwaWNhbCBvciBjb21tb24gdXNlIG9mIHRoYXQgY2xhc3Mgb2YgcHJvZHVjdCwgcmVnYXJkbGVzcyBvZiB0aGUgc3RhdHVzCm9mIHRoZSBwYXJ0aWN1bGFyIHVzZXIgb3Igb2YgdGhlIHdheSBpbiB3aGljaCB0aGUgcGFydGljdWxhciB1c2VyCmFjdHVhbGx5IHVzZXMsIG9yIGV4cGVjdHMgb3IgaXMgZXhwZWN0ZWQgdG8gdXNlLCB0aGUgcHJvZHVjdC4gIEEgcHJvZHVjdAppcyBhIGNvbnN1bWVyIHByb2R1Y3QgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBwcm9kdWN0IGhhcyBzdWJzdGFudGlhbApjb21tZXJjaWFsLCBpbmR1c3RyaWFsIG9yIG5vbi1jb25zdW1lciB1c2VzLCB1bmxlc3Mgc3VjaCB1c2VzIHJlcHJlc2VudAp0aGUgb25seSBzaWduaWZpY2FudCBtb2RlIG9mIHVzZSBvZiB0aGUgcHJvZHVjdC4KCiAgIkluc3RhbGxhdGlvbiBJbmZvcm1hdGlvbiIgZm9yIGEgVXNlciBQcm9kdWN0IG1lYW5zIGFueSBtZXRob2RzLApwcm9jZWR1cmVzLCBhdXRob3JpemF0aW9uIGtleXMsIG9yIG90aGVyIGluZm9ybWF0aW9uIHJlcXVpcmVkIHRvIGluc3RhbGwKYW5kIGV4ZWN1dGUgbW9kaWZpZWQgdmVyc2lvbnMgb2YgYSBjb3ZlcmVkIHdvcmsgaW4gdGhhdCBVc2VyIFByb2R1Y3QgZnJvbQphIG1vZGlmaWVkIHZlcnNpb24gb2YgaXRzIENvcnJlc3BvbmRpbmcgU291cmNlLiAgVGhlIGluZm9ybWF0aW9uIG11c3QKc3VmZmljZSB0byBlbnN1cmUgdGhhdCB0aGUgY29udGludWVkIGZ1bmN0aW9uaW5nIG9mIHRoZSBtb2RpZmllZCBvYmplY3QKY29kZSBpcyBpbiBubyBjYXNlIHByZXZlbnRlZCBvciBpbnRlcmZlcmVkIHdpdGggc29sZWx5IGJlY2F1c2UKbW9kaWZpY2F0aW9uIGhhcyBiZWVuIG1hZGUuCgogIElmIHlvdSBjb252ZXkgYW4gb2JqZWN0IGNvZGUgd29yayB1bmRlciB0aGlzIHNlY3Rpb24gaW4sIG9yIHdpdGgsIG9yCnNwZWNpZmljYWxseSBmb3IgdXNlIGluLCBhIFVzZXIgUHJvZHVjdCwgYW5kIHRoZSBjb252ZXlpbmcgb2NjdXJzIGFzCnBhcnQgb2YgYSB0cmFuc2FjdGlvbiBpbiB3aGljaCB0aGUgcmlnaHQgb2YgcG9zc2Vzc2lvbiBhbmQgdXNlIG9mIHRoZQpVc2VyIFByb2R1Y3QgaXMgdHJhbnNmZXJyZWQgdG8gdGhlIHJlY2lwaWVudCBpbiBwZXJwZXR1aXR5IG9yIGZvciBhCmZpeGVkIHRlcm0gKHJlZ2FyZGxlc3Mgb2YgaG93IHRoZSB0cmFuc2FjdGlvbiBpcyBjaGFyYWN0ZXJpemVkKSwgdGhlCkNvcnJlc3BvbmRpbmcgU291cmNlIGNvbnZleWVkIHVuZGVyIHRoaXMgc2VjdGlvbiBtdXN0IGJlIGFjY29tcGFuaWVkCmJ5IHRoZSBJbnN0YWxsYXRpb24gSW5mb3JtYXRpb24uICBCdXQgdGhpcyByZXF1aXJlbWVudCBkb2VzIG5vdCBhcHBseQppZiBuZWl0aGVyIHlvdSBub3IgYW55IHRoaXJkIHBhcnR5IHJldGFpbnMgdGhlIGFiaWxpdHkgdG8gaW5zdGFsbAptb2RpZmllZCBvYmplY3QgY29kZSBvbiB0aGUgVXNlciBQcm9kdWN0IChmb3IgZXhhbXBsZSwgdGhlIHdvcmsgaGFzCmJlZW4gaW5zdGFsbGVkIGluIFJPTSkuCgogIFRoZSByZXF1aXJlbWVudCB0byBwcm92aWRlIEluc3RhbGxhdGlvbiBJbmZvcm1hdGlvbiBkb2VzIG5vdCBpbmNsdWRlIGEKcmVxdWlyZW1lbnQgdG8gY29udGludWUgdG8gcHJvdmlkZSBzdXBwb3J0IHNlcnZpY2UsIHdhcnJhbnR5LCBvciB1cGRhdGVzCmZvciBhIHdvcmsgdGhhdCBoYXMgYmVlbiBtb2RpZmllZCBvciBpbnN0YWxsZWQgYnkgdGhlIHJlY2lwaWVudCwgb3IgZm9yCnRoZSBVc2VyIFByb2R1Y3QgaW4gd2hpY2ggaXQgaGFzIGJlZW4gbW9kaWZpZWQgb3IgaW5zdGFsbGVkLiAgQWNjZXNzIHRvIGEKbmV0d29yayBtYXkgYmUgZGVuaWVkIHdoZW4gdGhlIG1vZGlmaWNhdGlvbiBpdHNlbGYgbWF0ZXJpYWxseSBhbmQKYWR2ZXJzZWx5IGFmZmVjdHMgdGhlIG9wZXJhdGlvbiBvZiB0aGUgbmV0d29yayBvciB2aW9sYXRlcyB0aGUgcnVsZXMgYW5kCnByb3RvY29scyBmb3IgY29tbXVuaWNhdGlvbiBhY3Jvc3MgdGhlIG5ldHdvcmsuCgogIENvcnJlc3BvbmRpbmcgU291cmNlIGNvbnZleWVkLCBhbmQgSW5zdGFsbGF0aW9uIEluZm9ybWF0aW9uIHByb3ZpZGVkLAppbiBhY2NvcmQgd2l0aCB0aGlzIHNlY3Rpb24gbXVzdCBiZSBpbiBhIGZvcm1hdCB0aGF0IGlzIHB1YmxpY2x5CmRvY3VtZW50ZWQgKGFuZCB3aXRoIGFuIGltcGxlbWVudGF0aW9uIGF2YWlsYWJsZSB0byB0aGUgcHVibGljIGluCnNvdXJjZSBjb2RlIGZvcm0pLCBhbmQgbXVzdCByZXF1aXJlIG5vIHNwZWNpYWwgcGFzc3dvcmQgb3Iga2V5IGZvcgp1bnBhY2tpbmcsIHJlYWRpbmcgb3IgY29weWluZy4KCiAgNy4gQWRkaXRpb25hbCBUZXJtcy4KCiAgIkFkZGl0aW9uYWwgcGVybWlzc2lvbnMiIGFyZSB0ZXJtcyB0aGF0IHN1cHBsZW1lbnQgdGhlIHRlcm1zIG9mIHRoaXMKTGljZW5zZSBieSBtYWtpbmcgZXhjZXB0aW9ucyBmcm9tIG9uZSBvciBtb3JlIG9mIGl0cyBjb25kaXRpb25zLgpBZGRpdGlvbmFsIHBlcm1pc3Npb25zIHRoYXQgYXJlIGFwcGxpY2FibGUgdG8gdGhlIGVudGlyZSBQcm9ncmFtIHNoYWxsCmJlIHRyZWF0ZWQgYXMgdGhvdWdoIHRoZXkgd2VyZSBpbmNsdWRlZCBpbiB0aGlzIExpY2Vuc2UsIHRvIHRoZSBleHRlbnQKdGhhdCB0aGV5IGFyZSB2YWxpZCB1bmRlciBhcHBsaWNhYmxlIGxhdy4gIElmIGFkZGl0aW9uYWwgcGVybWlzc2lvbnMKYXBwbHkgb25seSB0byBwYXJ0IG9mIHRoZSBQcm9ncmFtLCB0aGF0IHBhcnQgbWF5IGJlIHVzZWQgc2VwYXJhdGVseQp1bmRlciB0aG9zZSBwZXJtaXNzaW9ucywgYnV0IHRoZSBlbnRpcmUgUHJvZ3JhbSByZW1haW5zIGdvdmVybmVkIGJ5CnRoaXMgTGljZW5zZSB3aXRob3V0IHJlZ2FyZCB0byB0aGUgYWRkaXRpb25hbCBwZXJtaXNzaW9ucy4KCiAgV2hlbiB5b3UgY29udmV5IGEgY29weSBvZiBhIGNvdmVyZWQgd29yaywgeW91IG1heSBhdCB5b3VyIG9wdGlvbgpyZW1vdmUgYW55IGFkZGl0aW9uYWwgcGVybWlzc2lvbnMgZnJvbSB0aGF0IGNvcHksIG9yIGZyb20gYW55IHBhcnQgb2YKaXQuICAoQWRkaXRpb25hbCBwZXJtaXNzaW9ucyBtYXkgYmUgd3JpdHRlbiB0byByZXF1aXJlIHRoZWlyIG93bgpyZW1vdmFsIGluIGNlcnRhaW4gY2FzZXMgd2hlbiB5b3UgbW9kaWZ5IHRoZSB3b3JrLikgIFlvdSBtYXkgcGxhY2UKYWRkaXRpb25hbCBwZXJtaXNzaW9ucyBvbiBtYXRlcmlhbCwgYWRkZWQgYnkgeW91IHRvIGEgY292ZXJlZCB3b3JrLApmb3Igd2hpY2ggeW91IGhhdmUgb3IgY2FuIGdpdmUgYXBwcm9wcmlhdGUgY29weXJpZ2h0IHBlcm1pc3Npb24uCgogIE5vdHdpdGhzdGFuZGluZyBhbnkgb3RoZXIgcHJvdmlzaW9uIG9mIHRoaXMgTGljZW5zZSwgZm9yIG1hdGVyaWFsIHlvdQphZGQgdG8gYSBjb3ZlcmVkIHdvcmssIHlvdSBtYXkgKGlmIGF1dGhvcml6ZWQgYnkgdGhlIGNvcHlyaWdodCBob2xkZXJzIG9mCnRoYXQgbWF0ZXJpYWwpIHN1cHBsZW1lbnQgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZSB3aXRoIHRlcm1zOgoKICAgIGEpIERpc2NsYWltaW5nIHdhcnJhbnR5IG9yIGxpbWl0aW5nIGxpYWJpbGl0eSBkaWZmZXJlbnRseSBmcm9tIHRoZQogICAgdGVybXMgb2Ygc2VjdGlvbnMgMTUgYW5kIDE2IG9mIHRoaXMgTGljZW5zZTsgb3IKCiAgICBiKSBSZXF1aXJpbmcgcHJlc2VydmF0aW9uIG9mIHNwZWNpZmllZCByZWFzb25hYmxlIGxlZ2FsIG5vdGljZXMgb3IKICAgIGF1dGhvciBhdHRyaWJ1dGlvbnMgaW4gdGhhdCBtYXRlcmlhbCBvciBpbiB0aGUgQXBwcm9wcmlhdGUgTGVnYWwKICAgIE5vdGljZXMgZGlzcGxheWVkIGJ5IHdvcmtzIGNvbnRhaW5pbmcgaXQ7IG9yCgogICAgYykgUHJvaGliaXRpbmcgbWlzcmVwcmVzZW50YXRpb24gb2YgdGhlIG9yaWdpbiBvZiB0aGF0IG1hdGVyaWFsLCBvcgogICAgcmVxdWlyaW5nIHRoYXQgbW9kaWZpZWQgdmVyc2lvbnMgb2Ygc3VjaCBtYXRlcmlhbCBiZSBtYXJrZWQgaW4KICAgIHJlYXNvbmFibGUgd2F5cyBhcyBkaWZmZXJlbnQgZnJvbSB0aGUgb3JpZ2luYWwgdmVyc2lvbjsgb3IKCiAgICBkKSBMaW1pdGluZyB0aGUgdXNlIGZvciBwdWJsaWNpdHkgcHVycG9zZXMgb2YgbmFtZXMgb2YgbGljZW5zb3JzIG9yCiAgICBhdXRob3JzIG9mIHRoZSBtYXRlcmlhbDsgb3IKCiAgICBlKSBEZWNsaW5pbmcgdG8gZ3JhbnQgcmlnaHRzIHVuZGVyIHRyYWRlbWFyayBsYXcgZm9yIHVzZSBvZiBzb21lCiAgICB0cmFkZSBuYW1lcywgdHJhZGVtYXJrcywgb3Igc2VydmljZSBtYXJrczsgb3IKCiAgICBmKSBSZXF1aXJpbmcgaW5kZW1uaWZpY2F0aW9uIG9mIGxpY2Vuc29ycyBhbmQgYXV0aG9ycyBvZiB0aGF0CiAgICBtYXRlcmlhbCBieSBhbnlvbmUgd2hvIGNvbnZleXMgdGhlIG1hdGVyaWFsIChvciBtb2RpZmllZCB2ZXJzaW9ucyBvZgogICAgaXQpIHdpdGggY29udHJhY3R1YWwgYXNzdW1wdGlvbnMgb2YgbGlhYmlsaXR5IHRvIHRoZSByZWNpcGllbnQsIGZvcgogICAgYW55IGxpYWJpbGl0eSB0aGF0IHRoZXNlIGNvbnRyYWN0dWFsIGFzc3VtcHRpb25zIGRpcmVjdGx5IGltcG9zZSBvbgogICAgdGhvc2UgbGljZW5zb3JzIGFuZCBhdXRob3JzLgoKICBBbGwgb3RoZXIgbm9uLXBlcm1pc3NpdmUgYWRkaXRpb25hbCB0ZXJtcyBhcmUgY29uc2lkZXJlZCAiZnVydGhlcgpyZXN0cmljdGlvbnMiIHdpdGhpbiB0aGUgbWVhbmluZyBvZiBzZWN0aW9uIDEwLiAgSWYgdGhlIFByb2dyYW0gYXMgeW91CnJlY2VpdmVkIGl0LCBvciBhbnkgcGFydCBvZiBpdCwgY29udGFpbnMgYSBub3RpY2Ugc3RhdGluZyB0aGF0IGl0IGlzCmdvdmVybmVkIGJ5IHRoaXMgTGljZW5zZSBhbG9uZyB3aXRoIGEgdGVybSB0aGF0IGlzIGEgZnVydGhlcgpyZXN0cmljdGlvbiwgeW91IG1heSByZW1vdmUgdGhhdCB0ZXJtLiAgSWYgYSBsaWNlbnNlIGRvY3VtZW50IGNvbnRhaW5zCmEgZnVydGhlciByZXN0cmljdGlvbiBidXQgcGVybWl0cyByZWxpY2Vuc2luZyBvciBjb252ZXlpbmcgdW5kZXIgdGhpcwpMaWNlbnNlLCB5b3UgbWF5IGFkZCB0byBhIGNvdmVyZWQgd29yayBtYXRlcmlhbCBnb3Zlcm5lZCBieSB0aGUgdGVybXMKb2YgdGhhdCBsaWNlbnNlIGRvY3VtZW50LCBwcm92aWRlZCB0aGF0IHRoZSBmdXJ0aGVyIHJlc3RyaWN0aW9uIGRvZXMKbm90IHN1cnZpdmUgc3VjaCByZWxpY2Vuc2luZyBvciBjb252ZXlpbmcuCgogIElmIHlvdSBhZGQgdGVybXMgdG8gYSBjb3ZlcmVkIHdvcmsgaW4gYWNjb3JkIHdpdGggdGhpcyBzZWN0aW9uLCB5b3UKbXVzdCBwbGFjZSwgaW4gdGhlIHJlbGV2YW50IHNvdXJjZSBmaWxlcywgYSBzdGF0ZW1lbnQgb2YgdGhlCmFkZGl0aW9uYWwgdGVybXMgdGhhdCBhcHBseSB0byB0aG9zZSBmaWxlcywgb3IgYSBub3RpY2UgaW5kaWNhdGluZwp3aGVyZSB0byBmaW5kIHRoZSBhcHBsaWNhYmxlIHRlcm1zLgoKICBBZGRpdGlvbmFsIHRlcm1zLCBwZXJtaXNzaXZlIG9yIG5vbi1wZXJtaXNzaXZlLCBtYXkgYmUgc3RhdGVkIGluIHRoZQpmb3JtIG9mIGEgc2VwYXJhdGVseSB3cml0dGVuIGxpY2Vuc2UsIG9yIHN0YXRlZCBhcyBleGNlcHRpb25zOwp0aGUgYWJvdmUgcmVxdWlyZW1lbnRzIGFwcGx5IGVpdGhlciB3YXkuCgogIDguIFRlcm1pbmF0aW9uLgoKICBZb3UgbWF5IG5vdCBwcm9wYWdhdGUgb3IgbW9kaWZ5IGEgY292ZXJlZCB3b3JrIGV4Y2VwdCBhcyBleHByZXNzbHkKcHJvdmlkZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgQW55IGF0dGVtcHQgb3RoZXJ3aXNlIHRvIHByb3BhZ2F0ZSBvcgptb2RpZnkgaXQgaXMgdm9pZCwgYW5kIHdpbGwgYXV0b21hdGljYWxseSB0ZXJtaW5hdGUgeW91ciByaWdodHMgdW5kZXIKdGhpcyBMaWNlbnNlIChpbmNsdWRpbmcgYW55IHBhdGVudCBsaWNlbnNlcyBncmFudGVkIHVuZGVyIHRoZSB0aGlyZApwYXJhZ3JhcGggb2Ygc2VjdGlvbiAxMSkuCgogIEhvd2V2ZXIsIGlmIHlvdSBjZWFzZSBhbGwgdmlvbGF0aW9uIG9mIHRoaXMgTGljZW5zZSwgdGhlbiB5b3VyCmxpY2Vuc2UgZnJvbSBhIHBhcnRpY3VsYXIgY29weXJpZ2h0IGhvbGRlciBpcyByZWluc3RhdGVkIChhKQpwcm92aXNpb25hbGx5LCB1bmxlc3MgYW5kIHVudGlsIHRoZSBjb3B5cmlnaHQgaG9sZGVyIGV4cGxpY2l0bHkgYW5kCmZpbmFsbHkgdGVybWluYXRlcyB5b3VyIGxpY2Vuc2UsIGFuZCAoYikgcGVybWFuZW50bHksIGlmIHRoZSBjb3B5cmlnaHQKaG9sZGVyIGZhaWxzIHRvIG5vdGlmeSB5b3Ugb2YgdGhlIHZpb2xhdGlvbiBieSBzb21lIHJlYXNvbmFibGUgbWVhbnMKcHJpb3IgdG8gNjAgZGF5cyBhZnRlciB0aGUgY2Vzc2F0aW9uLgoKICBNb3Jlb3ZlciwgeW91ciBsaWNlbnNlIGZyb20gYSBwYXJ0aWN1bGFyIGNvcHlyaWdodCBob2xkZXIgaXMKcmVpbnN0YXRlZCBwZXJtYW5lbnRseSBpZiB0aGUgY29weXJpZ2h0IGhvbGRlciBub3RpZmllcyB5b3Ugb2YgdGhlCnZpb2xhdGlvbiBieSBzb21lIHJlYXNvbmFibGUgbWVhbnMsIHRoaXMgaXMgdGhlIGZpcnN0IHRpbWUgeW91IGhhdmUKcmVjZWl2ZWQgbm90aWNlIG9mIHZpb2xhdGlvbiBvZiB0aGlzIExpY2Vuc2UgKGZvciBhbnkgd29yaykgZnJvbSB0aGF0CmNvcHlyaWdodCBob2xkZXIsIGFuZCB5b3UgY3VyZSB0aGUgdmlvbGF0aW9uIHByaW9yIHRvIDMwIGRheXMgYWZ0ZXIKeW91ciByZWNlaXB0IG9mIHRoZSBub3RpY2UuCgogIFRlcm1pbmF0aW9uIG9mIHlvdXIgcmlnaHRzIHVuZGVyIHRoaXMgc2VjdGlvbiBkb2VzIG5vdCB0ZXJtaW5hdGUgdGhlCmxpY2Vuc2VzIG9mIHBhcnRpZXMgd2hvIGhhdmUgcmVjZWl2ZWQgY29waWVzIG9yIHJpZ2h0cyBmcm9tIHlvdSB1bmRlcgp0aGlzIExpY2Vuc2UuICBJZiB5b3VyIHJpZ2h0cyBoYXZlIGJlZW4gdGVybWluYXRlZCBhbmQgbm90IHBlcm1hbmVudGx5CnJlaW5zdGF0ZWQsIHlvdSBkbyBub3QgcXVhbGlmeSB0byByZWNlaXZlIG5ldyBsaWNlbnNlcyBmb3IgdGhlIHNhbWUKbWF0ZXJpYWwgdW5kZXIgc2VjdGlvbiAxMC4KCiAgOS4gQWNjZXB0YW5jZSBOb3QgUmVxdWlyZWQgZm9yIEhhdmluZyBDb3BpZXMuCgogIFlvdSBhcmUgbm90IHJlcXVpcmVkIHRvIGFjY2VwdCB0aGlzIExpY2Vuc2UgaW4gb3JkZXIgdG8gcmVjZWl2ZSBvcgpydW4gYSBjb3B5IG9mIHRoZSBQcm9ncmFtLiAgQW5jaWxsYXJ5IHByb3BhZ2F0aW9uIG9mIGEgY292ZXJlZCB3b3JrCm9jY3VycmluZyBzb2xlbHkgYXMgYSBjb25zZXF1ZW5jZSBvZiB1c2luZyBwZWVyLXRvLXBlZXIgdHJhbnNtaXNzaW9uCnRvIHJlY2VpdmUgYSBjb3B5IGxpa2V3aXNlIGRvZXMgbm90IHJlcXVpcmUgYWNjZXB0YW5jZS4gIEhvd2V2ZXIsCm5vdGhpbmcgb3RoZXIgdGhhbiB0aGlzIExpY2Vuc2UgZ3JhbnRzIHlvdSBwZXJtaXNzaW9uIHRvIHByb3BhZ2F0ZSBvcgptb2RpZnkgYW55IGNvdmVyZWQgd29yay4gIFRoZXNlIGFjdGlvbnMgaW5mcmluZ2UgY29weXJpZ2h0IGlmIHlvdSBkbwpub3QgYWNjZXB0IHRoaXMgTGljZW5zZS4gIFRoZXJlZm9yZSwgYnkgbW9kaWZ5aW5nIG9yIHByb3BhZ2F0aW5nIGEKY292ZXJlZCB3b3JrLCB5b3UgaW5kaWNhdGUgeW91ciBhY2NlcHRhbmNlIG9mIHRoaXMgTGljZW5zZSB0byBkbyBzby4KCiAgMTAuIEF1dG9tYXRpYyBMaWNlbnNpbmcgb2YgRG93bnN0cmVhbSBSZWNpcGllbnRzLgoKICBFYWNoIHRpbWUgeW91IGNvbnZleSBhIGNvdmVyZWQgd29yaywgdGhlIHJlY2lwaWVudCBhdXRvbWF0aWNhbGx5CnJlY2VpdmVzIGEgbGljZW5zZSBmcm9tIHRoZSBvcmlnaW5hbCBsaWNlbnNvcnMsIHRvIHJ1biwgbW9kaWZ5IGFuZApwcm9wYWdhdGUgdGhhdCB3b3JrLCBzdWJqZWN0IHRvIHRoaXMgTGljZW5zZS4gIFlvdSBhcmUgbm90IHJlc3BvbnNpYmxlCmZvciBlbmZvcmNpbmcgY29tcGxpYW5jZSBieSB0aGlyZCBwYXJ0aWVzIHdpdGggdGhpcyBMaWNlbnNlLgoKICBBbiAiZW50aXR5IHRyYW5zYWN0aW9uIiBpcyBhIHRyYW5zYWN0aW9uIHRyYW5zZmVycmluZyBjb250cm9sIG9mIGFuCm9yZ2FuaXphdGlvbiwgb3Igc3Vic3RhbnRpYWxseSBhbGwgYXNzZXRzIG9mIG9uZSwgb3Igc3ViZGl2aWRpbmcgYW4Kb3JnYW5pemF0aW9uLCBvciBtZXJnaW5nIG9yZ2FuaXphdGlvbnMuICBJZiBwcm9wYWdhdGlvbiBvZiBhIGNvdmVyZWQKd29yayByZXN1bHRzIGZyb20gYW4gZW50aXR5IHRyYW5zYWN0aW9uLCBlYWNoIHBhcnR5IHRvIHRoYXQKdHJhbnNhY3Rpb24gd2hvIHJlY2VpdmVzIGEgY29weSBvZiB0aGUgd29yayBhbHNvIHJlY2VpdmVzIHdoYXRldmVyCmxpY2Vuc2VzIHRvIHRoZSB3b3JrIHRoZSBwYXJ0eSdzIHByZWRlY2Vzc29yIGluIGludGVyZXN0IGhhZCBvciBjb3VsZApnaXZlIHVuZGVyIHRoZSBwcmV2aW91cyBwYXJhZ3JhcGgsIHBsdXMgYSByaWdodCB0byBwb3NzZXNzaW9uIG9mIHRoZQpDb3JyZXNwb25kaW5nIFNvdXJjZSBvZiB0aGUgd29yayBmcm9tIHRoZSBwcmVkZWNlc3NvciBpbiBpbnRlcmVzdCwgaWYKdGhlIHByZWRlY2Vzc29yIGhhcyBpdCBvciBjYW4gZ2V0IGl0IHdpdGggcmVhc29uYWJsZSBlZmZvcnRzLgoKICBZb3UgbWF5IG5vdCBpbXBvc2UgYW55IGZ1cnRoZXIgcmVzdHJpY3Rpb25zIG9uIHRoZSBleGVyY2lzZSBvZiB0aGUKcmlnaHRzIGdyYW50ZWQgb3IgYWZmaXJtZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgRm9yIGV4YW1wbGUsIHlvdSBtYXkKbm90IGltcG9zZSBhIGxpY2Vuc2UgZmVlLCByb3lhbHR5LCBvciBvdGhlciBjaGFyZ2UgZm9yIGV4ZXJjaXNlIG9mCnJpZ2h0cyBncmFudGVkIHVuZGVyIHRoaXMgTGljZW5zZSwgYW5kIHlvdSBtYXkgbm90IGluaXRpYXRlIGxpdGlnYXRpb24KKGluY2x1ZGluZyBhIGNyb3NzLWNsYWltIG9yIGNvdW50ZXJjbGFpbSBpbiBhIGxhd3N1aXQpIGFsbGVnaW5nIHRoYXQKYW55IHBhdGVudCBjbGFpbSBpcyBpbmZyaW5nZWQgYnkgbWFraW5nLCB1c2luZywgc2VsbGluZywgb2ZmZXJpbmcgZm9yCnNhbGUsIG9yIGltcG9ydGluZyB0aGUgUHJvZ3JhbSBvciBhbnkgcG9ydGlvbiBvZiBpdC4KCiAgMTEuIFBhdGVudHMuCgogIEEgImNvbnRyaWJ1dG9yIiBpcyBhIGNvcHlyaWdodCBob2xkZXIgd2hvIGF1dGhvcml6ZXMgdXNlIHVuZGVyIHRoaXMKTGljZW5zZSBvZiB0aGUgUHJvZ3JhbSBvciBhIHdvcmsgb24gd2hpY2ggdGhlIFByb2dyYW0gaXMgYmFzZWQuICBUaGUKd29yayB0aHVzIGxpY2Vuc2VkIGlzIGNhbGxlZCB0aGUgY29udHJpYnV0b3IncyAiY29udHJpYnV0b3IgdmVyc2lvbiIuCgogIEEgY29udHJpYnV0b3IncyAiZXNzZW50aWFsIHBhdGVudCBjbGFpbXMiIGFyZSBhbGwgcGF0ZW50IGNsYWltcwpvd25lZCBvciBjb250cm9sbGVkIGJ5IHRoZSBjb250cmlidXRvciwgd2hldGhlciBhbHJlYWR5IGFjcXVpcmVkIG9yCmhlcmVhZnRlciBhY3F1aXJlZCwgdGhhdCB3b3VsZCBiZSBpbmZyaW5nZWQgYnkgc29tZSBtYW5uZXIsIHBlcm1pdHRlZApieSB0aGlzIExpY2Vuc2UsIG9mIG1ha2luZywgdXNpbmcsIG9yIHNlbGxpbmcgaXRzIGNvbnRyaWJ1dG9yIHZlcnNpb24sCmJ1dCBkbyBub3QgaW5jbHVkZSBjbGFpbXMgdGhhdCB3b3VsZCBiZSBpbmZyaW5nZWQgb25seSBhcyBhCmNvbnNlcXVlbmNlIG9mIGZ1cnRoZXIgbW9kaWZpY2F0aW9uIG9mIHRoZSBjb250cmlidXRvciB2ZXJzaW9uLiAgRm9yCnB1cnBvc2VzIG9mIHRoaXMgZGVmaW5pdGlvbiwgImNvbnRyb2wiIGluY2x1ZGVzIHRoZSByaWdodCB0byBncmFudApwYXRlbnQgc3VibGljZW5zZXMgaW4gYSBtYW5uZXIgY29uc2lzdGVudCB3aXRoIHRoZSByZXF1aXJlbWVudHMgb2YKdGhpcyBMaWNlbnNlLgoKICBFYWNoIGNvbnRyaWJ1dG9yIGdyYW50cyB5b3UgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZQpwYXRlbnQgbGljZW5zZSB1bmRlciB0aGUgY29udHJpYnV0b3IncyBlc3NlbnRpYWwgcGF0ZW50IGNsYWltcywgdG8KbWFrZSwgdXNlLCBzZWxsLCBvZmZlciBmb3Igc2FsZSwgaW1wb3J0IGFuZCBvdGhlcndpc2UgcnVuLCBtb2RpZnkgYW5kCnByb3BhZ2F0ZSB0aGUgY29udGVudHMgb2YgaXRzIGNvbnRyaWJ1dG9yIHZlcnNpb24uCgogIEluIHRoZSBmb2xsb3dpbmcgdGhyZWUgcGFyYWdyYXBocywgYSAicGF0ZW50IGxpY2Vuc2UiIGlzIGFueSBleHByZXNzCmFncmVlbWVudCBvciBjb21taXRtZW50LCBob3dldmVyIGRlbm9taW5hdGVkLCBub3QgdG8gZW5mb3JjZSBhIHBhdGVudAooc3VjaCBhcyBhbiBleHByZXNzIHBlcm1pc3Npb24gdG8gcHJhY3RpY2UgYSBwYXRlbnQgb3IgY292ZW5hbnQgbm90IHRvCnN1ZSBmb3IgcGF0ZW50IGluZnJpbmdlbWVudCkuICBUbyAiZ3JhbnQiIHN1Y2ggYSBwYXRlbnQgbGljZW5zZSB0byBhCnBhcnR5IG1lYW5zIHRvIG1ha2Ugc3VjaCBhbiBhZ3JlZW1lbnQgb3IgY29tbWl0bWVudCBub3QgdG8gZW5mb3JjZSBhCnBhdGVudCBhZ2FpbnN0IHRoZSBwYXJ0eS4KCiAgSWYgeW91IGNvbnZleSBhIGNvdmVyZWQgd29yaywga25vd2luZ2x5IHJlbHlpbmcgb24gYSBwYXRlbnQgbGljZW5zZSwKYW5kIHRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBvZiB0aGUgd29yayBpcyBub3QgYXZhaWxhYmxlIGZvciBhbnlvbmUKdG8gY29weSwgZnJlZSBvZiBjaGFyZ2UgYW5kIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UsIHRocm91Z2ggYQpwdWJsaWNseSBhdmFpbGFibGUgbmV0d29yayBzZXJ2ZXIgb3Igb3RoZXIgcmVhZGlseSBhY2Nlc3NpYmxlIG1lYW5zLAp0aGVuIHlvdSBtdXN0IGVpdGhlciAoMSkgY2F1c2UgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIHRvIGJlIHNvCmF2YWlsYWJsZSwgb3IgKDIpIGFycmFuZ2UgdG8gZGVwcml2ZSB5b3Vyc2VsZiBvZiB0aGUgYmVuZWZpdCBvZiB0aGUKcGF0ZW50IGxpY2Vuc2UgZm9yIHRoaXMgcGFydGljdWxhciB3b3JrLCBvciAoMykgYXJyYW5nZSwgaW4gYSBtYW5uZXIKY29uc2lzdGVudCB3aXRoIHRoZSByZXF1aXJlbWVudHMgb2YgdGhpcyBMaWNlbnNlLCB0byBleHRlbmQgdGhlIHBhdGVudApsaWNlbnNlIHRvIGRvd25zdHJlYW0gcmVjaXBpZW50cy4gICJLbm93aW5nbHkgcmVseWluZyIgbWVhbnMgeW91IGhhdmUKYWN0dWFsIGtub3dsZWRnZSB0aGF0LCBidXQgZm9yIHRoZSBwYXRlbnQgbGljZW5zZSwgeW91ciBjb252ZXlpbmcgdGhlCmNvdmVyZWQgd29yayBpbiBhIGNvdW50cnksIG9yIHlvdXIgcmVjaXBpZW50J3MgdXNlIG9mIHRoZSBjb3ZlcmVkIHdvcmsKaW4gYSBjb3VudHJ5LCB3b3VsZCBpbmZyaW5nZSBvbmUgb3IgbW9yZSBpZGVudGlmaWFibGUgcGF0ZW50cyBpbiB0aGF0CmNvdW50cnkgdGhhdCB5b3UgaGF2ZSByZWFzb24gdG8gYmVsaWV2ZSBhcmUgdmFsaWQuCgogIElmLCBwdXJzdWFudCB0byBvciBpbiBjb25uZWN0aW9uIHdpdGggYSBzaW5nbGUgdHJhbnNhY3Rpb24gb3IKYXJyYW5nZW1lbnQsIHlvdSBjb252ZXksIG9yIHByb3BhZ2F0ZSBieSBwcm9jdXJpbmcgY29udmV5YW5jZSBvZiwgYQpjb3ZlcmVkIHdvcmssIGFuZCBncmFudCBhIHBhdGVudCBsaWNlbnNlIHRvIHNvbWUgb2YgdGhlIHBhcnRpZXMKcmVjZWl2aW5nIHRoZSBjb3ZlcmVkIHdvcmsgYXV0aG9yaXppbmcgdGhlbSB0byB1c2UsIHByb3BhZ2F0ZSwgbW9kaWZ5Cm9yIGNvbnZleSBhIHNwZWNpZmljIGNvcHkgb2YgdGhlIGNvdmVyZWQgd29yaywgdGhlbiB0aGUgcGF0ZW50IGxpY2Vuc2UKeW91IGdyYW50IGlzIGF1dG9tYXRpY2FsbHkgZXh0ZW5kZWQgdG8gYWxsIHJlY2lwaWVudHMgb2YgdGhlIGNvdmVyZWQKd29yayBhbmQgd29ya3MgYmFzZWQgb24gaXQuCgogIEEgcGF0ZW50IGxpY2Vuc2UgaXMgImRpc2NyaW1pbmF0b3J5IiBpZiBpdCBkb2VzIG5vdCBpbmNsdWRlIHdpdGhpbgp0aGUgc2NvcGUgb2YgaXRzIGNvdmVyYWdlLCBwcm9oaWJpdHMgdGhlIGV4ZXJjaXNlIG9mLCBvciBpcwpjb25kaXRpb25lZCBvbiB0aGUgbm9uLWV4ZXJjaXNlIG9mIG9uZSBvciBtb3JlIG9mIHRoZSByaWdodHMgdGhhdCBhcmUKc3BlY2lmaWNhbGx5IGdyYW50ZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgWW91IG1heSBub3QgY29udmV5IGEgY292ZXJlZAp3b3JrIGlmIHlvdSBhcmUgYSBwYXJ0eSB0byBhbiBhcnJhbmdlbWVudCB3aXRoIGEgdGhpcmQgcGFydHkgdGhhdCBpcwppbiB0aGUgYnVzaW5lc3Mgb2YgZGlzdHJpYnV0aW5nIHNvZnR3YXJlLCB1bmRlciB3aGljaCB5b3UgbWFrZSBwYXltZW50CnRvIHRoZSB0aGlyZCBwYXJ0eSBiYXNlZCBvbiB0aGUgZXh0ZW50IG9mIHlvdXIgYWN0aXZpdHkgb2YgY29udmV5aW5nCnRoZSB3b3JrLCBhbmQgdW5kZXIgd2hpY2ggdGhlIHRoaXJkIHBhcnR5IGdyYW50cywgdG8gYW55IG9mIHRoZQpwYXJ0aWVzIHdobyB3b3VsZCByZWNlaXZlIHRoZSBjb3ZlcmVkIHdvcmsgZnJvbSB5b3UsIGEgZGlzY3JpbWluYXRvcnkKcGF0ZW50IGxpY2Vuc2UgKGEpIGluIGNvbm5lY3Rpb24gd2l0aCBjb3BpZXMgb2YgdGhlIGNvdmVyZWQgd29yawpjb252ZXllZCBieSB5b3UgKG9yIGNvcGllcyBtYWRlIGZyb20gdGhvc2UgY29waWVzKSwgb3IgKGIpIHByaW1hcmlseQpmb3IgYW5kIGluIGNvbm5lY3Rpb24gd2l0aCBzcGVjaWZpYyBwcm9kdWN0cyBvciBjb21waWxhdGlvbnMgdGhhdApjb250YWluIHRoZSBjb3ZlcmVkIHdvcmssIHVubGVzcyB5b3UgZW50ZXJlZCBpbnRvIHRoYXQgYXJyYW5nZW1lbnQsCm9yIHRoYXQgcGF0ZW50IGxpY2Vuc2Ugd2FzIGdyYW50ZWQsIHByaW9yIHRvIDI4IE1hcmNoIDIwMDcuCgogIE5vdGhpbmcgaW4gdGhpcyBMaWNlbnNlIHNoYWxsIGJlIGNvbnN0cnVlZCBhcyBleGNsdWRpbmcgb3IgbGltaXRpbmcKYW55IGltcGxpZWQgbGljZW5zZSBvciBvdGhlciBkZWZlbnNlcyB0byBpbmZyaW5nZW1lbnQgdGhhdCBtYXkKb3RoZXJ3aXNlIGJlIGF2YWlsYWJsZSB0byB5b3UgdW5kZXIgYXBwbGljYWJsZSBwYXRlbnQgbGF3LgoKICAxMi4gTm8gU3VycmVuZGVyIG9mIE90aGVycycgRnJlZWRvbS4KCiAgSWYgY29uZGl0aW9ucyBhcmUgaW1wb3NlZCBvbiB5b3UgKHdoZXRoZXIgYnkgY291cnQgb3JkZXIsIGFncmVlbWVudCBvcgpvdGhlcndpc2UpIHRoYXQgY29udHJhZGljdCB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UsIHRoZXkgZG8gbm90CmV4Y3VzZSB5b3UgZnJvbSB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UuICBJZiB5b3UgY2Fubm90IGNvbnZleSBhCmNvdmVyZWQgd29yayBzbyBhcyB0byBzYXRpc2Z5IHNpbXVsdGFuZW91c2x5IHlvdXIgb2JsaWdhdGlvbnMgdW5kZXIgdGhpcwpMaWNlbnNlIGFuZCBhbnkgb3RoZXIgcGVydGluZW50IG9ibGlnYXRpb25zLCB0aGVuIGFzIGEgY29uc2VxdWVuY2UgeW91IG1heQpub3QgY29udmV5IGl0IGF0IGFsbC4gIEZvciBleGFtcGxlLCBpZiB5b3UgYWdyZWUgdG8gdGVybXMgdGhhdCBvYmxpZ2F0ZSB5b3UKdG8gY29sbGVjdCBhIHJveWFsdHkgZm9yIGZ1cnRoZXIgY29udmV5aW5nIGZyb20gdGhvc2UgdG8gd2hvbSB5b3UgY29udmV5CnRoZSBQcm9ncmFtLCB0aGUgb25seSB3YXkgeW91IGNvdWxkIHNhdGlzZnkgYm90aCB0aG9zZSB0ZXJtcyBhbmQgdGhpcwpMaWNlbnNlIHdvdWxkIGJlIHRvIHJlZnJhaW4gZW50aXJlbHkgZnJvbSBjb252ZXlpbmcgdGhlIFByb2dyYW0uCgogIDEzLiBVc2Ugd2l0aCB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgoKICBOb3R3aXRoc3RhbmRpbmcgYW55IG90aGVyIHByb3Zpc2lvbiBvZiB0aGlzIExpY2Vuc2UsIHlvdSBoYXZlCnBlcm1pc3Npb24gdG8gbGluayBvciBjb21iaW5lIGFueSBjb3ZlcmVkIHdvcmsgd2l0aCBhIHdvcmsgbGljZW5zZWQKdW5kZXIgdmVyc2lvbiAzIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaW50byBhIHNpbmdsZQpjb21iaW5lZCB3b3JrLCBhbmQgdG8gY29udmV5IHRoZSByZXN1bHRpbmcgd29yay4gIFRoZSB0ZXJtcyBvZiB0aGlzCkxpY2Vuc2Ugd2lsbCBjb250aW51ZSB0byBhcHBseSB0byB0aGUgcGFydCB3aGljaCBpcyB0aGUgY292ZXJlZCB3b3JrLApidXQgdGhlIHNwZWNpYWwgcmVxdWlyZW1lbnRzIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsCnNlY3Rpb24gMTMsIGNvbmNlcm5pbmcgaW50ZXJhY3Rpb24gdGhyb3VnaCBhIG5ldHdvcmsgd2lsbCBhcHBseSB0byB0aGUKY29tYmluYXRpb24gYXMgc3VjaC4KCiAgMTQuIFJldmlzZWQgVmVyc2lvbnMgb2YgdGhpcyBMaWNlbnNlLgoKICBUaGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIG1heSBwdWJsaXNoIHJldmlzZWQgYW5kL29yIG5ldyB2ZXJzaW9ucyBvZgp0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZnJvbSB0aW1lIHRvIHRpbWUuICBTdWNoIG5ldyB2ZXJzaW9ucyB3aWxsCmJlIHNpbWlsYXIgaW4gc3Bpcml0IHRvIHRoZSBwcmVzZW50IHZlcnNpb24sIGJ1dCBtYXkgZGlmZmVyIGluIGRldGFpbCB0bwphZGRyZXNzIG5ldyBwcm9ibGVtcyBvciBjb25jZXJucy4KCiAgRWFjaCB2ZXJzaW9uIGlzIGdpdmVuIGEgZGlzdGluZ3Vpc2hpbmcgdmVyc2lvbiBudW1iZXIuICBJZiB0aGUKUHJvZ3JhbSBzcGVjaWZpZXMgdGhhdCBhIGNlcnRhaW4gbnVtYmVyZWQgdmVyc2lvbiBvZiB0aGUgR05VIEdlbmVyYWwKUHVibGljIExpY2Vuc2UgIm9yIGFueSBsYXRlciB2ZXJzaW9uIiBhcHBsaWVzIHRvIGl0LCB5b3UgaGF2ZSB0aGUKb3B0aW9uIG9mIGZvbGxvd2luZyB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgZWl0aGVyIG9mIHRoYXQgbnVtYmVyZWQKdmVyc2lvbiBvciBvZiBhbnkgbGF0ZXIgdmVyc2lvbiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUKRm91bmRhdGlvbi4gIElmIHRoZSBQcm9ncmFtIGRvZXMgbm90IHNwZWNpZnkgYSB2ZXJzaW9uIG51bWJlciBvZiB0aGUKR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIHlvdSBtYXkgY2hvb3NlIGFueSB2ZXJzaW9uIGV2ZXIgcHVibGlzaGVkCmJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCgogIElmIHRoZSBQcm9ncmFtIHNwZWNpZmllcyB0aGF0IGEgcHJveHkgY2FuIGRlY2lkZSB3aGljaCBmdXR1cmUKdmVyc2lvbnMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGNhbiBiZSB1c2VkLCB0aGF0IHByb3h5J3MKcHVibGljIHN0YXRlbWVudCBvZiBhY2NlcHRhbmNlIG9mIGEgdmVyc2lvbiBwZXJtYW5lbnRseSBhdXRob3JpemVzIHlvdQp0byBjaG9vc2UgdGhhdCB2ZXJzaW9uIGZvciB0aGUgUHJvZ3JhbS4KCiAgTGF0ZXIgbGljZW5zZSB2ZXJzaW9ucyBtYXkgZ2l2ZSB5b3UgYWRkaXRpb25hbCBvciBkaWZmZXJlbnQKcGVybWlzc2lvbnMuICBIb3dldmVyLCBubyBhZGRpdGlvbmFsIG9ibGlnYXRpb25zIGFyZSBpbXBvc2VkIG9uIGFueQphdXRob3Igb3IgY29weXJpZ2h0IGhvbGRlciBhcyBhIHJlc3VsdCBvZiB5b3VyIGNob29zaW5nIHRvIGZvbGxvdyBhCmxhdGVyIHZlcnNpb24uCgogIDE1LiBEaXNjbGFpbWVyIG9mIFdhcnJhbnR5LgoKICBUSEVSRSBJUyBOTyBXQVJSQU5UWSBGT1IgVEhFIFBST0dSQU0sIFRPIFRIRSBFWFRFTlQgUEVSTUlUVEVEIEJZCkFQUExJQ0FCTEUgTEFXLiAgRVhDRVBUIFdIRU4gT1RIRVJXSVNFIFNUQVRFRCBJTiBXUklUSU5HIFRIRSBDT1BZUklHSFQKSE9MREVSUyBBTkQvT1IgT1RIRVIgUEFSVElFUyBQUk9WSURFIFRIRSBQUk9HUkFNICJBUyBJUyIgV0lUSE9VVCBXQVJSQU5UWQpPRiBBTlkgS0lORCwgRUlUSEVSIEVYUFJFU1NFRCBPUiBJTVBMSUVELCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgpQVVJQT1NFLiAgVEhFIEVOVElSRSBSSVNLIEFTIFRPIFRIRSBRVUFMSVRZIEFORCBQRVJGT1JNQU5DRSBPRiBUSEUgUFJPR1JBTQpJUyBXSVRIIFlPVS4gIFNIT1VMRCBUSEUgUFJPR1JBTSBQUk9WRSBERUZFQ1RJVkUsIFlPVSBBU1NVTUUgVEhFIENPU1QgT0YKQUxMIE5FQ0VTU0FSWSBTRVJWSUNJTkcsIFJFUEFJUiBPUiBDT1JSRUNUSU9OLgoKICAxNi4gTGltaXRhdGlvbiBvZiBMaWFiaWxpdHkuCgogIElOIE5PIEVWRU5UIFVOTEVTUyBSRVFVSVJFRCBCWSBBUFBMSUNBQkxFIExBVyBPUiBBR1JFRUQgVE8gSU4gV1JJVElORwpXSUxMIEFOWSBDT1BZUklHSFQgSE9MREVSLCBPUiBBTlkgT1RIRVIgUEFSVFkgV0hPIE1PRElGSUVTIEFORC9PUiBDT05WRVlTClRIRSBQUk9HUkFNIEFTIFBFUk1JVFRFRCBBQk9WRSwgQkUgTElBQkxFIFRPIFlPVSBGT1IgREFNQUdFUywgSU5DTFVESU5HIEFOWQpHRU5FUkFMLCBTUEVDSUFMLCBJTkNJREVOVEFMIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBBUklTSU5HIE9VVCBPRiBUSEUKVVNFIE9SIElOQUJJTElUWSBUTyBVU0UgVEhFIFBST0dSQU0gKElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gTE9TUyBPRgpEQVRBIE9SIERBVEEgQkVJTkcgUkVOREVSRUQgSU5BQ0NVUkFURSBPUiBMT1NTRVMgU1VTVEFJTkVEIEJZIFlPVSBPUiBUSElSRApQQVJUSUVTIE9SIEEgRkFJTFVSRSBPRiBUSEUgUFJPR1JBTSBUTyBPUEVSQVRFIFdJVEggQU5ZIE9USEVSIFBST0dSQU1TKSwKRVZFTiBJRiBTVUNIIEhPTERFUiBPUiBPVEhFUiBQQVJUWSBIQVMgQkVFTiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgpTVUNIIERBTUFHRVMuCgogIDE3LiBJbnRlcnByZXRhdGlvbiBvZiBTZWN0aW9ucyAxNSBhbmQgMTYuCgogIElmIHRoZSBkaXNjbGFpbWVyIG9mIHdhcnJhbnR5IGFuZCBsaW1pdGF0aW9uIG9mIGxpYWJpbGl0eSBwcm92aWRlZAphYm92ZSBjYW5ub3QgYmUgZ2l2ZW4gbG9jYWwgbGVnYWwgZWZmZWN0IGFjY29yZGluZyB0byB0aGVpciB0ZXJtcywKcmV2aWV3aW5nIGNvdXJ0cyBzaGFsbCBhcHBseSBsb2NhbCBsYXcgdGhhdCBtb3N0IGNsb3NlbHkgYXBwcm94aW1hdGVzCmFuIGFic29sdXRlIHdhaXZlciBvZiBhbGwgY2l2aWwgbGlhYmlsaXR5IGluIGNvbm5lY3Rpb24gd2l0aCB0aGUKUHJvZ3JhbSwgdW5sZXNzIGEgd2FycmFudHkgb3IgYXNzdW1wdGlvbiBvZiBsaWFiaWxpdHkgYWNjb21wYW5pZXMgYQpjb3B5IG9mIHRoZSBQcm9ncmFtIGluIHJldHVybiBmb3IgYSBmZWUuCgogICAgICAgICAgICAgICAgICAgICBFTkQgT0YgVEVSTVMgQU5EIENPTkRJVElPTlMKCiAgICAgICAgICAgIEhvdyB0byBBcHBseSBUaGVzZSBUZXJtcyB0byBZb3VyIE5ldyBQcm9ncmFtcwoKICBJZiB5b3UgZGV2ZWxvcCBhIG5ldyBwcm9ncmFtLCBhbmQgeW91IHdhbnQgaXQgdG8gYmUgb2YgdGhlIGdyZWF0ZXN0CnBvc3NpYmxlIHVzZSB0byB0aGUgcHVibGljLCB0aGUgYmVzdCB3YXkgdG8gYWNoaWV2ZSB0aGlzIGlzIHRvIG1ha2UgaXQKZnJlZSBzb2Z0d2FyZSB3aGljaCBldmVyeW9uZSBjYW4gcmVkaXN0cmlidXRlIGFuZCBjaGFuZ2UgdW5kZXIgdGhlc2UgdGVybXMuCgogIFRvIGRvIHNvLCBhdHRhY2ggdGhlIGZvbGxvd2luZyBub3RpY2VzIHRvIHRoZSBwcm9ncmFtLiAgSXQgaXMgc2FmZXN0CnRvIGF0dGFjaCB0aGVtIHRvIHRoZSBzdGFydCBvZiBlYWNoIHNvdXJjZSBmaWxlIHRvIG1vc3QgZWZmZWN0aXZlbHkKc3RhdGUgdGhlIGV4Y2x1c2lvbiBvZiB3YXJyYW50eTsgYW5kIGVhY2ggZmlsZSBzaG91bGQgaGF2ZSBhdCBsZWFzdAp0aGUgImNvcHlyaWdodCIgbGluZSBhbmQgYSBwb2ludGVyIHRvIHdoZXJlIHRoZSBmdWxsIG5vdGljZSBpcyBmb3VuZC4KCiAgICA8b25lIGxpbmUgdG8gZ2l2ZSB0aGUgcHJvZ3JhbSdzIG5hbWUgYW5kIGEgYnJpZWYgaWRlYSBvZiB3aGF0IGl0IGRvZXMuPgogICAgQ29weXJpZ2h0IChDKSA8eWVhcj4gIDxuYW1lIG9mIGF1dGhvcj4KCiAgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCiAgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgoKICAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKICAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCgogICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgoKQWxzbyBhZGQgaW5mb3JtYXRpb24gb24gaG93IHRvIGNvbnRhY3QgeW91IGJ5IGVsZWN0cm9uaWMgYW5kIHBhcGVyIG1haWwuCgogIElmIHRoZSBwcm9ncmFtIGRvZXMgdGVybWluYWwgaW50ZXJhY3Rpb24sIG1ha2UgaXQgb3V0cHV0IGEgc2hvcnQKbm90aWNlIGxpa2UgdGhpcyB3aGVuIGl0IHN0YXJ0cyBpbiBhbiBpbnRlcmFjdGl2ZSBtb2RlOgoKICAgIDxwcm9ncmFtPiAgQ29weXJpZ2h0IChDKSA8eWVhcj4gIDxuYW1lIG9mIGF1dGhvcj4KICAgIFRoaXMgcHJvZ3JhbSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFk7IGZvciBkZXRhaWxzIHR5cGUgYHNob3cgdycuCiAgICBUaGlzIGlzIGZyZWUgc29mdHdhcmUsIGFuZCB5b3UgYXJlIHdlbGNvbWUgdG8gcmVkaXN0cmlidXRlIGl0CiAgICB1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnM7IHR5cGUgYHNob3cgYycgZm9yIGRldGFpbHMuCgpUaGUgaHlwb3RoZXRpY2FsIGNvbW1hbmRzIGBzaG93IHcnIGFuZCBgc2hvdyBjJyBzaG91bGQgc2hvdyB0aGUgYXBwcm9wcmlhdGUKcGFydHMgb2YgdGhlIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuICBPZiBjb3Vyc2UsIHlvdXIgcHJvZ3JhbSdzIGNvbW1hbmRzCm1pZ2h0IGJlIGRpZmZlcmVudDsgZm9yIGEgR1VJIGludGVyZmFjZSwgeW91IHdvdWxkIHVzZSBhbiAiYWJvdXQgYm94Ii4KCiAgWW91IHNob3VsZCBhbHNvIGdldCB5b3VyIGVtcGxveWVyIChpZiB5b3Ugd29yayBhcyBhIHByb2dyYW1tZXIpIG9yIHNjaG9vbCwKaWYgYW55LCB0byBzaWduIGEgImNvcHlyaWdodCBkaXNjbGFpbWVyIiBmb3IgdGhlIHByb2dyYW0sIGlmIG5lY2Vzc2FyeS4KRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gdGhpcywgYW5kIGhvdyB0byBhcHBseSBhbmQgZm9sbG93IHRoZSBHTlUgR1BMLCBzZWUKPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgoKICBUaGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZG9lcyBub3QgcGVybWl0IGluY29ycG9yYXRpbmcgeW91ciBwcm9ncmFtCmludG8gcHJvcHJpZXRhcnkgcHJvZ3JhbXMuICBJZiB5b3VyIHByb2dyYW0gaXMgYSBzdWJyb3V0aW5lIGxpYnJhcnksIHlvdQptYXkgY29uc2lkZXIgaXQgbW9yZSB1c2VmdWwgdG8gcGVybWl0IGxpbmtpbmcgcHJvcHJpZXRhcnkgYXBwbGljYXRpb25zIHdpdGgKdGhlIGxpYnJhcnkuICBJZiB0aGlzIGlzIHdoYXQgeW91IHdhbnQgdG8gZG8sIHVzZSB0aGUgR05VIExlc3NlciBHZW5lcmFsClB1YmxpYyBMaWNlbnNlIGluc3RlYWQgb2YgdGhpcyBMaWNlbnNlLiAgQnV0IGZpcnN0LCBwbGVhc2UgcmVhZAo8aHR0cDovL3d3dy5nbnUub3JnL3BoaWxvc29waHkvd2h5LW5vdC1sZ3BsLmh0bWw+Lgo=]]></data>
	</file>
	<file>
	  <filename>/help.inc</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPldoYXQgZG9lcyB0aGlzIGRvPzwvaDM+CiAgPHA+VGhpcyBtb2R1bGUgYWxsb3dzIGFuIGF1dGhvcml6ZWQgYWRtaW5pc3RyYXRvciB0byBlYXNpbHkgc2hhcmUgYmxvZyBhcnRpY2xlcywgYW5kIG90aGVyIG9iamVjdHMgdG8gb25lIG9yIG1vcmUgc29jaWFsIG1lZGlhIG5ldHdvcmtzIGF0IHRoZSBzYW1lIHRpbWUuPC9wPgogIDxwPlRoaXMgbWRvdWxlIGludGVyZmFjZXMgd2l0aCAmcXVvdDtTZW5kZXImcXVvdDsgbW9kdWxlcyBhbmQgJnF1b3Q7TWVkaWEmcXVvdDsgbW9kdWxlcywgcHJvdmlkZXMgYSBzbWFydHkgdGFnLCBhbmQgYW4gYWRtaW5pc3RyYXRvciBpbnRlcmZhY2UgdG8gYWxsb3cgc2hhcmluZyBkZXRhaWxzIGFib3V0IGFuIG9iamVjdCBzdWNoIGFzIGEgYmxvZyBhcnRpY2xlIHdpdGggZGlmZmVyZW50IHNvY2lhbCBtZWRpYSBuZXR3b3Jrcy48L3A+CiAgPHA+CjxoMz5GZWF0dXJlczwvaDM+CiAgPHVsPgogIDxsaT5UZW1wbGF0ZSBjb250cm9sbGVkIGRlZmF1bHQgdmFsdWVzIGZvciBwb3N0IG1lc3NhZ2VzLjwvbGk+CiAgPGxpPlByb3ZpZGVzIHRoZSBhYmlsaXR5IHRvIGN1c3RvbWl6ZSB0aGUgbWVzc2FnZSAoYW5kIHBvc3NpYmx5IHBpY3R1cmUgYW5kIGxpbmspIGZvciBlYWNoIHNvY2lhbCBuZXR3b3JrLjwvbGk+CiAgPGxpPlNtYXJ0eSB0YWcgc3VwcG9ydHMgb3ZlcnJpZGluZyB0aGUgZGVmYXVsdCB2YWx1ZXMgZm9yIG1lc3NhZ2UgY29udGVudC48L2xpPgogIDxsaT5TdXBwb3J0cyBhdHRhY2hpbmcgYSBwaWN0dXJlLCBhbmQgYSBsaW5rICh3aXRoIG5hbWUsIGRlc2NyaXB0aW9uLCBhbmQgY2FwdGlvbikgdG8gZmFjZWJvb2suIDxlbT5Vc2VzIHRoZSBDR0ZCUG9zdCBtb2R1bGUgZm9yIHRoaXMuPC9lbT48L2xpPgogIDxsaT5Qcm92aWRlcyBhIHRlc3QgaW50ZXJmYWNlLjwvbGk+CiAgPGxpPk1vcmU8L2xpPgogIDwvdWw+CjxoMz5SZXF1aXJlbWVudHM6PC9oMz4KICA8dWw+CiAgIDxsaT5BdCBsZWFzdCBvbmUgY29uZmlndXJlZCwgYW5kIGluc3RhbGxlZCBTZW5kZXIgbW9kdWxlIDxlbT4obGlrZSBDR0Jsb2cpLjwvZW0+CiAgIDxsaT5BdCBsZWFzdCBvbmUgY29uZmlndXJlZCBhbmQgaW5zdGFsbGVkIE1lZGlhIG1vZHVsZSA8ZW0+KGxpa2UgQ0dGQkFwcCwgb3IgQ0dUV2VldCkuPC9lbT4KICA8L3VsPgo8aDM+SG93IGRvIEkgVXNlIGl0PzwvaDM+CiAgPG9sPgogICAgPGxpPkluc3RhbGwgYW5kIGNvbmZpZ3VyZSB5b3VyIFNlbmRlciBtb2R1bGVzOgogICAgICAgPHA+SW4gdGhlIGNhc2Ugb2YgQ0dCbG9nIHlvdSB3aWxsIG5lZWQgdG8gY3JlYXRlIGFuZCBjb25maWd1cmUgeW91ciBkZWZhdWx0IHRlbXBsYXRlcywgcHJldHR5IHVybHMsIGFuZCBuYXZpZ2F0aW9uIGZvciBibG9nIGFydGljbGVzLCBhbmQgY3JlYXRlIGF0IGxlYXN0IG9uZSBwdWJsaXNoZWQgYmxvZyBhcnRpY2xlLjwvcD4KICAgICA8L2xpPgogICAgIDxsaT5JbnN0YWxsIGFuZCBjb25maWd1cmUgeW91ciBNZWRpYSBtb2R1bGVzOgogICAgICAgPHA+Q0dUd2VldCBhbmQgQ0dGQlBvc3QgYXJlIGV4YW1wbGVzIG9mIHdvcmtpbmcgbWVkaWEgbW9kdWxlcy4gIEVhY2ggb2YgdGhlc2UgbW9kdWxlcyBoYXMgdGhlaXIgb3duIGluc3RhbGxhdGlvbiBhbmQgY29uZmlndXJhdGlvbiByZXF1aXJlbWVudHMuPC9wPgogICAgIDwvbGk+CiAgICAgPGxpPkdpdmUgYXV0aG9yaXplZCB1c2VyIGdyb3VwcyB0aGUgJnF1b3Q7Qmxhc3QgdG8gU29jaWFsIE1lZGlhJnF1b3Q7IFBlcm1pc3Npb24uPC9saT4KICAgICA8bGk+R28gdG8gdGhlIGFkbWluIHBhbmVsIG9mIHRoZSBzZW5kZXIgbW9kdWxlIGFuZCBsb29rIGZvciB0aGUgJnF1b3Q7U2hhcmUmcXVvdDsgaWNvbiBsaW5rIG9uIGVhY2ggaXRlbSB0aGF0IGNhbiBiZSBzaGFyZWQuCiAgICAgIDxwPkNsaWNraW5nIG9uIHRoYXQgbGluayBzaG91bGQgZGlzcGxheSBhIGZvcm0gd2hpY2ggYWxsb3dzIHlvdSB0byBzZWxlY3Qgd2hpY2ggbWVkaWEgbmV0d29ya3MgdG8gc2VuZCB0bywgYW5kIHRvIGN1c3RvbWl6ZSB0aGUgY29udGVudCBmb3IgZWFjaCBtZXNzYWdlLjwvcD4KICAgICA8L2xpPgogIDwvb2w+CjxoMz5DcmVhdGluZyBhIFNlbmRlciBNb2R1bGU8L2gzPgogIDxwPjxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gSSBhbHNvIHJlZmVyIHRvIGEgJnF1b3Q7U2VuZGVyJnF1b3Q7IG1vZHVsZSBhcyBhICZxdW90O0ZlZWRlciZxdW90OyBtb2R1bGUsIGFzIGl0IGZlZWRzIGluZm9ybWF0aW9uIHRvIENHU29jaWFsQmxhc3Rlci48L3A+CiAgPHA+Q3JlYXRpbmcgYSBzZW5kZXIgbW9kdWxlIGlzIGEgMyBzdGVwIHByb2Nlc3MgZm9yIGV4cGVyaWVuY2VkIENNU01TIGRldmVsb3BlcnM6PC9wPgogIDxvbD4KCiAgICA8bGk+T3ZlcnJpZGUgdGhlIDxzcGFuIHN0eWxlPSJjb2xvcjogYmx1ZTsiPkhhc0NhcGFiaWxpdHk8L3NwYW4+IG1ldGhvZCBpbiB5b3VyIG1vZHVsZSBjbGFzcyB0byByZXR1cm4gdHJ1ZSBmb3IgdGhlIDxzcGFuIHN0eWxlPSJjb2xvcjogYmx1ZTsiPidjZ19zb2NpYWxibGFzdF9mZWVkZXInPC9zcGFuPiBjYXBhYmlsaXR5LiBpLmU6CjxwcmU+PGNvZGU+cHVibGljIGZ1bmN0aW9uIEhhc0NhcGFiaWxpdHkoJGNhcGFiaWxpdHksICRwYXJhbXMgPSBhcnJheSgpKSB7CiZuYnNwOyZuYnNwOyAgaWYoICRjYXBhYmlsaXR5ID09ICdjZ19zb2NpYWxibGFzdF9mZWVkZXInICkgcmV0dXJuIFRSVUU7CiZuYnNwOyZuYnNwOyAgcmV0dXJuIEZBTFNFOwp9PC9jb2RlPjwvcHJlPgogICAgPC9saT4KIAogICAgPGxpPkFkZCBhIDxzcGFuIHN0eWxlPSJjb2xvcjogYmx1ZTsiPmdldF9ibGFzdGVyX2NvbnRlbnQ8L3NwYW4+IG1ldGhvZCB0byB5b3VyIG1vZHVsZSB0aGF0LCBnaXZlbiBhbiBpbnRlZ2VyIGlkIGZvciBhbiBpdGVtIHJldHVybnMgYW4gPHNwYW4gc3R5bGU9ImNvbG9yOiBibHVlOyI+c2JfY29udGVudDwvc3Bhbj4gb2JqZWN0LiAgaS5lOgo8cHJlPjxjb2RlPnB1YmxpYyBmdW5jdGlvbiAmZ2V0X2JsYXN0ZXJfY29udGVudCgkYXJ0aWNsZWlkKSB7CiZuYnNwOyZuYnNwOyRjb250ZW50ID0gbmV3IHNiX2NvbnRlbnQ7CiZuYnNwOyZuYnNwOyRjb250ZW50LT5zdW1tYXJ5ID0gJ1RoZSBpbml0aWFsIGNvbnRlbnQgZm9yIG15IG1lc3NhZ2UnOwombmJzcDsmbmJzcDtyZXR1cm4gJGNvbnRlbnQ7Cn08L2NvZGU+PC9wcmU+CjxwPjxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gdGhlIHNiX2NvbnRlbnQgb2JqZWN0IGlzIGEgaW50ZW5kZWQgdG8gYmUgYSBnZW5lcmljIG9iamVjdCB0aGF0IGhvbGRzIGRhdGEgc3VpdGFibGUgZm9yIG1hbnkgc29jaWFsIG5ldHdvcmtzLiAgQWx0aG91Z2ggeW91IHNob3VsZCB0cnkgdG8gY29tcGxldGUgdGhlIG9iamVjdCBhcyBtdWNoIGFzIHBvc3NpYmxlLCBpdCBpcyBhbHNvIHBvc3NpYmxlIHRoYXQgc29tZSBNZWRpYSBtb2R1bGVzIG1heSBub3QgdXNlIGFsbCBvZiB0aGUgZGF0YSBwcm92aWRlZCBpbiB0aGlzIG9iamVjdC48L3A+CjxwPkZvciByZWZlcmVuY2UgdG8gdGhlIHNiX2NvbnRlbnQgb2JqZWN0IHNlZSB0aGUgPHNwYW4gc3R5bGU9ImNvbG9yOiBibHVlOyI+bGliL2NsYXNzLnNiX2NvbnRlbnQucGhwPC9zcGFuPiBmaWxlIGluY2x1ZGVkIHdpdGggdGhlIG1vZHVsZS48L3A+CiAgICA8L2xpPgoKICAgIDxsaT5BZGQgdGhlIHNtYXJ0eSB0YWcgdG8geW91ciBhZG1pbiB0ZW1wbGF0ZSB0byBwcm92aWRlIGEgbGluayB0byB0aGUgJnF1b3Q7Ymxhc3QmcXVvdDsgYWN0aW9uLiBpLmU6PGJyLz4KICAgIDxwcmU+PGNvZGU+e2Nnc29jYmxhc3RlciBtb2R1bGU9J015TW9kdWxlJyBrZXk9JGl0ZW1faWR9PC9jb2RlPjwvcHJlPgogICAgPC9saT4KICA8L29sPgo8aDM+VGhlIDxzcGFuIHN0eWxlPSJjb2xvcjogYmx1ZTsiPntjZ3NvY2JsYXN0ZXJ9PC9zcGFuPiBzbWFydHkgcGx1Z2luPC9oMz4KPHA+VGhpcyBwbHVnaW4gY2FuIG9ubHkgYmUgdXNlZCBmcm9tIHRoZSBhZG1pbiBwYW5lbCBvZiBhIENNU01TIG1vZHVsZS4gIEl0IHByb3ZpZGVzIGEgbGluayA8ZW0+KG9yIGp1c3QgYSBVUkwpPC9lbT4gdG8gYW4gYWN0aW9uIGluIHRoZSBDR1NvY2lhbEJsYXN0ZXIgbW9kdWxlLCBhbmQgaW5mb3JtYXRpb24gdG8gYWxsb3cgZm9yIHRoZSBmaWxsaW5nIG9mIGRlZmF1bHQgdmFsdWVzIGluIHRoYXQgZm9ybS48L3A+CjxwPlBhcmFtZXRlcnM6PC9wPgo8dWw+CjxsaT5tb2R1bGUgLSAob3B0aW9uYWwgc3RyaW5nKSAtIFRoZSBtb2R1bGUgbmFtZSB0aGF0IGlzIHByb3ZpZGluZyB0aGUgZGF0YS4gIElmIHN1cHBsaWVkLCB0aGUga2V5IHBhcmFtZXRlciBtdXN0IGFsc28gYmUgdXNlZC48L2xpPgo8bGk+a2V5IC0gKG9wdGlvbmFsIHN0cmluZykgLSBBIHVuaXF1ZSBpZGVudGlmaWVyIHRoYXQgdGhlIG1vZHVsZSBjYW4gdXNlIHRvIHJldHJpZXZlIGRhdGEuIE11c3QgYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBtb2R1bGUgcGFyYW1ldGVyLjwvbGk+CjxsaT5zdWJqZWN0ID0gKG9wdGlvbmFsIHN0cmluZykgLSBQcm92aWRlIGFuIG9wdGlvbmFsIGRlZmF1bHQgc3ViamVjdCA8ZW0+KHRpdGxlKTwvZW0+IHRvIHRoZSBDR1NvY2lhbEJsYXN0ZXIgbW9kdWxlIGZvciBlZGl0aW5nLiAgSWYgbm90IHNwZWNpZmllZCBpdCB3aWxsIGJlIHJldHJpZXZlZCBmcm9tIHRoZSBtb2R1bGUgY2FsbGJhY2suPC9saT4KPGxpPmJvZHkgLSAob3B0aW9uYWwgc3RyaW5nKSAtIFByb3ZpZGUgYW4gb3B0aW9uYWwgZGVmYXVsdCBtZXNzYWdlIHRvIHRoZSBDR1NvY2lhbEJsYXN0ZXIgbW9kdWxlIGZvciBlZGl0aW5nLiBJZiBub3Qgc3BlY2lmaWVkLCBpdCB3aWxsIGJlIHJldHJpZXZlZCB2aWEgdGhlIG1vZHVsZSBjYWxsYmFjay48L2xpPgo8bGk+cGljdHVyZSAtIChvcHRpb25hbCBzdHJpbmcpIC0gUHJvdmlkZSBhbiBvcHRpb25hbCBVUkwgdG8gYW4gaW1hZ2UgdG8gdGhlIENHU29jaWFsQmxhc3RlciBtb2R1bGUgZm9yIGVkaXRpbmcuICBJZiBub3Qgc3BlY2lmaWVkLCBvbmUgY2FuIGJlIHJldHJpZXZlZCB2aWEgdGhlIG1vZHVsZSBjYWxsYmFjay48L2xpPgo8bGk+cmV0dXJudG8gLSAob3B0aW9uYWwgc3RyaW5nKSAtIFByb3ZpZGUgYW4gb3B0aW9uYWwgVVJMIHRvIHJldHVybiB0byBhZnRlciB0aGUgc29jaWFsIG1lZGlhIHBvc3RpbmcgaXMgY29tcGxldGUgKG9yIGNhbmNlbGxlZCkuIElmIG5vdCBzcGVjaWZpZWQsIHRoZSBzeXN0ZW0gd2lsbCB1c2UgdGhlIGN1cnJlbnQgVVJMLjwvbGk+CjxsaT50aXRsZSAtIChvcHRpb25hbCBzdHJpbmcpIC0gUHJvdmlkZSBhbiBvcHRpb25hbCB0aXRsZSB0byB0aGUgY3JlYXRlZCBsaW5rLiBJZiBub3Qgc3BlY2lmaWVkIGEgZGVmYXVsdCB2YWx1ZSB3aWxsIGJlIHVzZWQuPC9saT4KPGxpPnVybG9ubHkgLSAob3B0aW9uYWwgYm9vbGVhbikgLSBJbmRpY2F0ZXMgd2hldGhlciB0aGUgc3lzdGVtIHNob3VsZCBnZW5lcmF0ZSBhIGNvbXBsZXRlIGxpbmsgd2l0aCBpY29uIGFuZCB0aXRsZSwgb3IganVzdCBhIHVybC4gIGRlZmF1bHQgaXMgZmFsc2UuPC9saT4KPGxpPmljb24gLSAob3B0aW9uYWwgc3RyaW5nKSAtIEFsbG93cyBvdmVycmlkaW5nIHRoZSBpY29uIHVzZWQgaW4gY3JlYXRpbmcgdGhlIGxpbmsuPC9saT4KPC91bD4KPGgzPlN1cHBvcnQ8L2gzPgo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+Cjx1bD4KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPgo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICAKPC91bD4KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+CjxwPkNvcHlyaWdodCAmY29weTsgMjAxMywgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciPiZsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmd0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+CjxwPkhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAphcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwpNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCnNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuPC9wPgo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQpPciByZWFkIGl0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+b25saW5lPC9hPjwvcD4=]]></data>
	</file>
	<file>
	  <filename>/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/icon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/images/social.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/images/social_sm.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/images/social_sm2.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0EKCgojQgokbGFuZ1snYmxhc3RfYXJ0aWNsZV9mcm9tJ10gPSAnU2hhcmluZyBhbiBhcnRpY2xlIGZyb20gJXMnOwoKI0MKJGxhbmdbJ2NhbmNlbCddID0gJ0NhbmNlbCc7CiRsYW5nWydjaGFyYWN0ZXJfY291bnQnXSA9ICdDaGFyYWN0ZXJzJzsKCiNECiRsYW5nWydkZXNjcmlwdGlvbiddID0gJ0Rlc2NyaXB0aW9uJzsKJGxhbmdbJ2Rlc3RpbmF0aW9ucyddID0gJ0Rlc3RpbmF0aW9ucyc7CiRsYW5nWydkZXRlY3RlZF9ob3N0bW9kdWxlcyddID0gJ01vZHVsZXMgdGhhdCBoYXZlIHRoZSBhYmlsaXR5IHRvIHNoYXJlJzsKJGxhbmdbJ2RldGVjdGVkX2JsYXN0bW9kdWxlcyddID0gJ01vZHVsZXMgdGhhdCBoYXZlIHRoZSBhYmlsaXR5IHRvIHNlbmQgdG8gc29jaWFsIG5ldHdvcmtzJzsKCiNFCiRsYW5nWydlcnJvcl9tb2R1bGVfbm90Y29tcGF0aWJsZSddID0gJ1RoZSAmcXVvdDtibGFzdCZxdW90OyBhY3Rpb24gd2FzIGNhbGxlZCB3aXRoIGEgbW9kdWxlIGFuZCBrZXksIGJ1dCB0aGUgbW9kdWxlIHNwZWNpZmllZCBjYW5ub3QgYmUgZm91bmQgb3IgZG9lcyBub3Qgc3VwcG9ydCB0aGUgYXNzb2NpYXRlZCBjYWxsYmFjayc7CiRsYW5nWydlcnJvcl9tb2R1bGVfbm9tZXNzYWdlJ10gPSAnVGhlICZxdW90O2JsYXN0JnF1b3Q7IGFjdGlvbiB3YXMgY2FsbGVkIHdpdGggYSBtb2R1bGUgYW5kIGtleSwgYnV0IHdlIGNvdWxkIG5vdCBnZXQgdGhlIHJlcXVlc3RlZCBpbmZvIGZyb20gdGhlIGNhbGxiYWNrJzsKCiNGCiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdDYWxndXlzIFNvY2lhbCBCbGFzdGVyJzsKCiNHCgoKI0gKJGxhbmdbJ2hlbHAnXSA9ICdIZWxwJzsKCiNJCiRsYW5nWydpbmZvX2ZyaWVuZGx5bmFtZSddID0gJ1RoaXMgc3BlY2lmaWVzIHRoZSBzdHJpbmcgdGhhdCB3aWxsIGJlIHVzZWQgaWRlbnRpZnkgdGhpcyBtb2R1bGUgaW4gdGhlIGFkbWluIG5hdmlnYXRpb24uICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZW4gdGhlIGRlZmF1bHQgdmFsdWUgd2lsbCBiZSB1c2VkLiAgWW91IG1heSBoYXZlIHRvIGNsZWFyIHRoZSBDTVNNUyBjYWNoZSBhZnRlciBjaGFuZ2luZyB0aGlzIHZhbHVlLic7CiRsYW5nWydpbmZvX21lc3NhZ2Vib3hfc21hcnR5J10gPSAnVGhlIG1lc3NhZ2UgYm94IG9mIGVhY2ggc29jaWFsIG5ldHdvcmsgdGFiIGlzIHBhc3NlZCB0aHJvdWdoIHNtYXJ0eSBmb3IgcHJvY2Vzc2luZyBiZWZvcmUgc2VuZGluZy4gIEJlbG93IGlzIGEgbGlzdCBvZiBzb21lIG9mIHRoZSBhdmFpbGFibGUgc21hcnR5IHZhcmlhYmxlcy4nOwokbGFuZ1snaW5mb19zZW5kZXJzJ10gPSAnU2VsZWN0IHdoaWNoIHNvY2lhbCBtZWRpYSBvdXRsZXRzIHRvIHNlbmQgdG8gZnJvbSB0aG9zZSBhdmFpbGFibGUuIDxzdHJvbmc+UmVtaW5kZXI6PC9zdHJvbmc+IFlvdSBtYXkgbmVlZCB0byBpbnN0YWxsIG1vcmUgc29jaWFsIG1lZGlhIG1vZHVsZXMuPGJyLz5Zb3UgY2FuIENUUkwrQ2xpY2sgb24gaXRlbXMgdG8gc2VsZWN0IG11bHRpcGxlIHNvY2lhbCBtZWRpYSBuZXR3b3Jrcy4nOwoKI0oKCgojSwoKCiNMCiRsYW5nWydsaW5rJ10gPSAnTGluayc7CiRsYW5nWydsaW5rX3RpdGxlJ10gPSAnTGluayBUaXRsZSc7CiRsYW5nWydsaW5rX2NhcHRpb24nXSA9ICdMaW5rIENhcHRpb24nOwokbGFuZ1snbGlua19kZXNjcmlwdGlvbiddID0gJ0xpbmsgRGVzY3JpcHRpb24nOwoKI00KJGxhbmdbJ21haW4nXSA9ICdNYWluJzsKJGxhbmdbJ21lc3NhZ2UnXSA9ICdNZXNzYWdlJzsKJGxhbmdbJ21lc3NhZ2VfdGVtcGxhdGUnXSA9ICdNZXNzYWdlIFRlbXBsYXRlJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnQSBtb2R1bGUgdG8gZmFjaWxpdGF0ZSBibGFzdGluZyBtZXNzYWdlcyB0byBvbmUgb3IgbW9yZSBzb2NpYWwgbWVkaWEgYWNjb3VudHMgZnJvbSB0aGUgYWRtaW4gaW50ZXJmYWNlcyc7CiRsYW5nWydtc2dfYmxhc3Rfc3VjY2VzcyddID0gJ1NvY2lhbCBtZWRpYSBibGFzdCB3YXMgc3VjY2Vzc2Z1bGwnOwokbGFuZ1snbXNnX2NhbmNlbGxlZCddID0gJ09wZXJhdGlvbiBDYW5jZWxsZWQnOwokbGFuZ1snbXNnX3ByZWZzX3NhdmVkJ10gPSAnUHJlZmVyZW5jZXMgU2F2ZWQnOwoKI04KJGxhbmdbJ25vbmUnXSA9ICdOb25lJzsKCiNPCgoKI1AKJGxhbmdbJ3BpY3R1cmUnXSA9ICdQaWN0dXJlJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnVGhlIFNvY2lhbEJsYXN0ZXIgbW9kdWxlIGhhcyBub3cgYmVlbiBpbnN0YWxsZWQuICBQbGVhc2UgZW5zdXJlIHRoYXQgeW91IGluc3RhbGwgc29tZSBzb2NpYWwgbWVkaWEgbW9kdWxlcyB0byBmYWNpbGl0YXRlIHNlbmRpbmcnOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ1RoZSBTb2NpYWxCbGFzdGVyIG1vZHVsZSBoYXMgbm93IGJlZW4gdW5pbnN0YWxsZWQuJzsKJGxhbmdbJ3Byb21wdF9mcmllbmRseW5hbWUnXSA9ICdNb2R1bGUgRnJpZW5kbHkgTmFtZSc7CgojUQoKCiNSCiRsYW5nWydyZWFsbHlfdW5pbnN0YWxsJ10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHVuaW5zdGFsbCB0aGlzIG1vZHVsZT8nOwoKI1MKJGxhbmdbJ3NlbmRfbWVzc2FnZSddID0gJ1NoYXJlIHRvIFNvY2lhbCBNZWRpYSc7CiRsYW5nWydzcmNkYXRhX3RpdGxlJ10gPSAnVGhlIHRpdGxlIG9mIHRoZSBvcmlnaW5hbCBpdGVtJzsKJGxhbmdbJ3NyY2RhdGFfY2Fub25pY2FsJ10gPSAnVGhlIGNhbm9uaWNhbCBVUkwgdG8gdGhlIG9yaWdpbmFsIGl0ZW0nOwokbGFuZ1snc3JjZGF0YV9zdW1tYXJ5J10gPSAnVGhlIHN1bW1hcnkgb2YgdGhlIGFydGljbGUgKG1heSBhbHNvIGJlIHRoZSBmdWxsIGNvbnRlbnQgb2YgdGhlIGl0ZW0uLi4gdGhlIHNlbmRpbmcgbW9kdWxlIGRlY2lkZXMgaG93IHRvIGZpbGwgdGhpcyBmaWVsZCc7CiRsYW5nWydzcmNkYXRhX3BpY3R1cmVzJ10gPSAnQW4gYXJyYXkgb2YgVVJMUyByZXByZXNlbnRpbmcgcGljdHVyZXMgYXR0YWNoZWQgdG8gdGhlIG9yaWdpbmFsIGl0ZW0uICBGb3Igc29jaWFsIG5ldHdvcmtzIHRoYXQgc3VwcG9ydCB0aGVtLCB0aGlzIG1vZHVsZSBwcm92aWRlcyBhIGRyb3Bkb3duIGJveCB0byBzZWxlY3Qgb25lIGltYWdlIHRvIGluY2x1ZGUgaW4gdGhlIHBvc3QnOwokbGFuZ1snc3JjZGF0YV9saW5rcyddID0gPDw8RU9UCkFuIGFycmF5IG9mIG9iamVjdHMgcmVwcmVzZW50aW5nIHRoZSB2YXJpb3VzIGxpbmtzIHRoYXQgYXJlIGFzc29jaWF0ZWQgd2l0aCB0aGUgb3JpZ2luYWwgaXRlbSBiZWluZyBzaGFyZWQuICBUaGUgYXJyYXkgY2FuIGJlIGFjY2Vzc2VkIHdpdGggYSBzbWFydHkgZm9yZWFjaCBzdGF0ZW1lbnQuICBpLmU6PGJyLz4KCjxwcmU+PGNvZGU+e2ZvcmVhY2ggXCRpbnB1dF9kYXRhIGFzIFwkbGlua30KJm5ic3A7Jm5ic3A7e1wkbGluay0+bmFtZX0gPSB7XCRsaW5rLT51cmx9L3tcJGxpbmstPmNhcHRpb259L3tcJGxpbmstPmRlc2NyaXB0aW9ufQp7L2ZvcmVhY2h9PC9wcmU+PC9jb2RlPgpFT1Q7CiRsYW5nWydzdWJqZWN0J10gPSAnU3ViamVjdCc7CiRsYW5nWydzdWJtaXQnXSA9ICdTdWJtaXQnOwoKI1QKJGxhbmdbJ3RhYl9zZXR0aW5ncyddID0gJ1NldHRpbmdzJzsKJGxhbmdbJ3Rlc3QnXSA9ICdDcmVhdGUgYSBUZXN0IEJsYXN0JzsKJGxhbmdbJ3RpdGxlJ10gPSAnVGl0bGUnOwokbGFuZ1sndGl0bGVfc2hhcmVfc29jaWFsJ10gPSAnU2hhcmUgdGhpcyBhcnRpY2xlIHRvIHNvY2lhbCBtZWRpYSc7CiRsYW5nWyd0aXRsZV90ZXN0J10gPSAnU2VuZCBhIHRlc3QgbWVzc2FnZSB0byBzb2NpYWwgbWVkaWEnOwoKI1UKCgojVgokbGFuZ1sndmFyaWFibGUnXSA9ICdWYXJpYWJsZSc7CgojVwokbGFuZ1snd2FybmluZ19ub3NlbmRlcnMnXSA9ICdObyBtb2R1bGVzIHdlcmUgZm91bmQgdGhhdCBjb3VsZCBhY3R1YWxseSBzZW5kIHRvIHNvY2lhbCBtZWRpYS4gIFBsZWFzZSBpbnN0YWxsIGFuZCBjb25maWd1cmUgbW9kdWxlcyBsaWtlIENHVHdlZXQgb3Igb3RoZXJzLic7CiRsYW5nWyd3YXJuaW5nX25vc2VuZGVycyddID0gJ05vIG1vZHVsZXMgd2VyZSBmb3VuZCB0aGF0IGNvdWxkIGZlZWQgaW5mb3JtYXRpb24gdG8gdGhpcyBtb2R1bGUuJzsKCiNYCgoKI1kKCgojWgoKCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/class.sb_content.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNvY2lhbEJsYXN0ZXIgKGMpIDIwMTMgYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGZhY2lsaXRhdGUgYmxhc3RpbmcgaW5mb3JtYXRpb24gdG8gbXVsdGlwbGUgc29jaWFsIG5ldHdvcmtzCiMgIGF0IG9uY2UuICBSZXF1aXJlcyBpbmVkaXZpZGlhbCBtb2R1bGVzIHRvIGhhbmRsZSB0aGUgYWN0dWFsIHBvc3RpbmcgdG8gc29jaWFsIG1vZHVsZXMuCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgovKioKICogQSBzaW1wbGUgY2xhc3MgdGhhdCBkZXNjcmliZXMgdGhlIGluZm9ybWF0aW9uIHJldHVybmVkIGJ5IGEgbW9kdWxlIGZvciBDR1NvY2lhbEJsYXN0ZXIgdG8gYmxhc3Qgb3V0CiAqIHRoaXMgaXMgdXN1YWxseSBzb21lIGluZm9ybWF0aW9uIGZyb20gYSBibG9nIGFydGljbGUgb3IgYSBuZXdzIGFydGljbGUKICoKICogVGhpcyBpbmZvcm1hdGlvbiBpcyB0aGVuIHVzZWQgaW4gdGhlIGJsYXN0IGZvcm0gdG8gZmlsbCBvdXQgdGhlIGRlZmF1bHQgZm9ybSB2YWx1ZXMgZm9yIHNlbmRpbmcgZGF0YSB0byB0aGUgdmFyaW91cyBzb2NpYWwgbWVkaWEKICogcGxhdGZvcm1zLiAgU29tZSBzb2NpYWwgbWVkaWEgcGxhdGZvcm1zIG1heSB1c2UgZGlmZmVyZW50IGZpZWxkcywgb3IgY29tYmluZSB0aGVtLgogKgogKiBQdWJsaWMgbWVtYmVyczoKICogIHRpdGxlOiAtIChzdHJpbmcpIEEgdGl0bGUgZm9yIHRoZSBvYmplY3QgYmVpbmcgc2hhcmVkLgogKiAgY2Fub25pY2FsOiAtIChzdHJpbmcpIEEgY2Fub25pY2FsIFVSTCB0byB0aGUgb2JqZWN0IGJlaW5nIHNoYXJlZC4KICogIHN1bW1hcnk6IChzdHJpbmcpIFNvbWUgdGV4dCBkZXNjcmliaW5nIHRoZSBvYmplY3QgKG5vdGUsIGRpZmZlcmVudCBtZWRpYSBwbGF0Zm9ybXMgaGF2ZSBkaWZmZXJlbnQgbGltaXRzIG9uIHRoZSBudW1iZXIgb2YgY2hhcmFjdGVycyB0aGF0IGNhbiBiZSBzZW50LgogKiAgcGljdHVyZXM6IChhcnJheSBvZiBuYW1lcyBhbmQgVVJMcykgdG8gaW1hZ2VzLiAgVGhlIENHU29jaWFsQmxhc3RlciBtb2R1bGUgd2lsbCBhbGxvdyB0aGUgYWRtaW5pc3RyYXRvciB0byBjaG9vc2Ugb25lIGltYWdlIHRvIGF0dGFjaCB0byB0aGUgc29jaWFsIG1lZGlhIHBvc3QgKGlmIHRoZSBwbGF0Zm9ybSBzdXBwb3J0cyBpdCkuCiAqCiAqIFB1YmxpYyBtZXRob2RzOgogKiAgIGFkZF9waWN0dXJlKCR1cmwsJG5hbWUpIC0gQWRkcyBhIHBpY3R1cmUgdG8gdGhlIHNiX2NvbnRlbnQgb2JqZWN0Li4uIG5vdGUsIGR1cGxpY2F0ZXMgYXJlIG5vdCBwZXJtaXR0ZWQuCiAqICAgY291bnRfcGljdHVyZXMoKSAtIFJldHVybnMgYSBjb3VudCBvZiB0aGUgcGljdHVyZXMgYWRkZWQgdG8gdGhlIG9iamVjdAogKi8KZmluYWwgY2xhc3Mgc2JfY29udGVudAp7CiAgcHJpdmF0ZSAkX3RpdGxlOwogIHByaXZhdGUgJF9saW5rdGl0bGU7CiAgcHJpdmF0ZSAkX3N1bW1hcnk7CiAgcHJpdmF0ZSAkX2Nhbm9uaWNhbDsKICBwcml2YXRlICRfcGljdHVyZXMgPSBhcnJheSgpOwoKICBwdWJsaWMgZnVuY3Rpb24gX19nZXQoJGtleSkKICB7CiAgICBzd2l0Y2goJGtleSkgewogICAgY2FzZSAndGl0bGUnOgogICAgY2FzZSAnbGlua3RpdGxlJzoKICAgIGNhc2UgJ3N1bW1hcnknOgogICAgY2FzZSAncGljdHVyZXMnOgogICAgY2FzZSAnY2Fub25pY2FsJzoKICAgICAgJGtleSA9ICdfJy4ka2V5OwogICAgICByZXR1cm4gJHRoaXMtPiRrZXk7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgJ2Nhbm9uaWNhbF9zaG9ydCc6CiAgICAgICRrZXkgPSAnX2Nhbm9uaWNhbCc7CiAgICAgICR0bXAgPSBNb2R1bGVPcGVyYXRpb25zOjpnZXRfbW9kdWxlc193aXRoX2NhcGFiaWxpdHkoJ3Nob3J0ZW5fdXJsJyk7CiAgICAgIGlmKCAhaXNfYXJyYXkoJHRtcCkgfHwgY291bnQoJHRtcCkgPT0gMCApIHJldHVybiAkdGhpcy0+JGtleTsKICAgICAgZm9yZWFjaCggJHRtcCBhcyAkbmFtZSApIHsKCSRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJG5hbWUpOwoJaWYoICEkbW9kICkgY29udGludWU7CglyZXR1cm4gJG1vZC0+c2hvcnRlbl91cmwoJHRoaXMtPiRrZXkpOwogICAgICB9CiAgICAgIGJyZWFrOwoKICAgIGRlZmF1bHQ6CiAgICAgIHRocm93IG5ldyBDbXNJbnZhbGlkRGF0YUV4Y2VwdGlvbigka2V5LicgaXMgYW4gaW52YWxpZCBtZW1iZXIgZm9yIGEgJy5nZXRfY2xhc3MoJHRoaXMpKTsKICAgIH0KICB9CgogIHB1YmxpYyBmdW5jdGlvbiBfX3NldCgka2V5LCR2YWwpCiAgewogICAgc3dpdGNoKCRrZXkpIHsKICAgIGNhc2UgJ3RpdGxlJzoKICAgIGNhc2UgJ2xpbmt0aXRsZSc6CiAgICBjYXNlICdzdW1tYXJ5JzoKICAgIGNhc2UgJ2Nhbm9uaWNhbCc6CiAgICAgICRrZXkgPSAnXycuJGtleTsKICAgICAgJHRoaXMtPiRrZXkgPSB0cmltKCR2YWwpOwogICAgICBicmVhazsKCiAgICBjYXNlICdwaWN0dXJlcyc6CiAgICAgIGlmKCAhaXNfYXJyYXkoJHZhbCkgfHwgY291bnQoJHZhbCkgPT0gMCApIHRocm93IG5ldyBDbXNJbnZhbGlkRGF0YUV4Y2VwdGlvbigncGljdHVyZXMgbXVzdCBiZSBhIGhhc2ggb2YgbmFtZSBhbmQgdXJsJyk7CiAgICAgICR0aGlzLT5waWN0dXJlcyA9ICR2YWw7CiAgICAgIGJyZWFrOwoKICAgIGRlZmF1bHQ6CiAgICAgIHRocm93IG5ldyBDbXNJbnZhbGlkRGF0YUV4Y2VwdGlvbigka2V5LicgaXMgYW4gaW52YWxpZCBtZW1iZXIgZm9yIGEgJy5nZXRfY2xhc3MoJHRoaXMpKTsKICAgIH0KICB9CgogIHB1YmxpYyBmdW5jdGlvbiBhZGRfcGljdHVyZSgkdXJsLCRuYW1lKQogIHsKICAgICR1cmwgPSB0cmltKCR1cmwpOwogICAgJG5hbWUgPSB0cmltKCRuYW1lKTsKICAgIGlmKCAhc3RhcnRzd2l0aCgkdXJsLCdodHRwJykgJiYgIXN0YXJ0c3dpdGgoJHVybCwnZnRwOicpICkgewogICAgICB0aHJvdyBuZXcgQ21zSW52YWxpZERhdGFFeGNlcHRpb24oJ0ludmFsaWQgVVJMIHBhc3NlZCB0byBzYl9jb250ZW50LT5hZGRfcGljdHVyZScpOwogICAgfQogICAgaWYoICRuYW1lID09ICcnICkgdGhyb3cgbmV3IENtc0ludmFsaWREYXRhRXhjZXB0aW9uKCdJbnZhbGlkIHBpY3R1cmUgbmFtZSBwYXNzZWQgdG8gc2JfY29udGVudC0+YWRkX3BpY3R1cmUnKTsKICAgICR0aGlzLT5fcGljdHVyZXNbJHVybF0gPSAkbmFtZTsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBjb3VudF9waWN0dXJlcygpCiAgewogICAgcmV0dXJuIGNvdW50KCR0aGlzLT5fcGljdHVyZXMpOwogIH0KfSAvLyBlbmQgb2YgY2xhc3MKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.sb_sender_info.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNvY2lhbEJsYXN0ZXIgKGMpIDIwMTMgYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGZhY2lsaXRhdGUgYmxhc3RpbmcgaW5mb3JtYXRpb24gdG8gbXVsdGlwbGUgc29jaWFsIG5ldHdvcmtzCiMgIGF0IG9uY2UuICBSZXF1aXJlcyBpbmVkaXZpZGlhbCBtb2R1bGVzIHRvIGhhbmRsZSB0aGUgYWN0dWFsIHBvc3RpbmcgdG8gc29jaWFsIG1vZHVsZXMuCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBzYl9zZW5kZXJfaW5mbyBpbXBsZW1lbnRzIEFycmF5QWNjZXNzCnsKICBwcml2YXRlICRfZGF0YSA9IGFycmF5KCk7CgogIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkbW9kdWxlLCRzb2NpYWxuYW1lLCRjaGFybGltaXQsJHBpY3R1cmUgPSAwKQogIHsKICAgICR0aGlzLT5fZGF0YVsnbW9kdWxlJ10gPSAkbW9kdWxlOwogICAgJHRoaXMtPl9kYXRhWydzb2NpYWxuYW1lJ10gPSAkc29jaWFsbmFtZTsKICAgICR0aGlzLT5fZGF0YVsnY2hhcmxpbWl0J10gPSAoaW50KSRjaGFybGltaXQ7CiAgICAkdGhpcy0+X2RhdGFbJ3BpY3R1cmUnXSA9ICRwaWN0dXJlOyAvLyBib29sCiAgICAkdGhpcy0+X2RhdGFbJ2xpbmt0aXRsZSddID0gMDsgLy8gYm9vbAogICAgJHRoaXMtPl9kYXRhWydsaW5rJ10gPSAwOyAvLyBib29sCiAgICAkdGhpcy0+X2RhdGFbJ2NhcHRpb24nXSA9IDA7IC8vIGJvb2wKICAgICR0aGlzLT5fZGF0YVsnZGVzY3JpcHRpb24nXSA9IDA7IC8vIGJvb2wKICAgICR0aGlzLT5fZGF0YVsnaW5mb19tZXNzYWdlJ10gPSAnJzsgLy8gc3RyaW5nCiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gT2Zmc2V0R2V0KCRrKQogIHsKICAgIHN3aXRjaCggJGsgKSB7CiAgICBjYXNlICdtb2R1bGUnOgogICAgY2FzZSAnc29jaWFsbmFtZSc6CiAgICBjYXNlICdjaGFybGltaXQnOgogICAgY2FzZSAnbGlua3RpdGxlJzoKICAgIGNhc2UgJ3BpY3R1cmUnOgogICAgY2FzZSAnaW5mb19tZXNzYWdlJzoKICAgIGNhc2UgJ2xpbmsnOgogICAgY2FzZSAnY2FwdGlvbic6CiAgICBjYXNlICdkZXNjcmlwdGlvbic6CiAgICAgIHJldHVybiAkdGhpcy0+X2RhdGFbJGtdOwoKICAgIGRlZmF1bHQ6CiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oIkludmFsaWQga2V5ICRrIGZvciBzYl9zZW5kZXJfaW5mbyBvYmplY3QiKTsKICAgIH0KICB9CgogIHB1YmxpYyBmdW5jdGlvbiBPZmZzZXRTZXQoJGssJHYpCiAgewogICAgc3dpdGNoKCAkayApIHsKICAgIGNhc2UgJ21vZHVsZSc6CiAgICBjYXNlICdzb2NpYWxuYW1lJzoKICAgIGNhc2UgJ2xpbmt0aXRsZSc6CiAgICBjYXNlICdwaWN0dXJlJzoKICAgIGNhc2UgJ2luZm9fbWVzc2FnZSc6CiAgICBjYXNlICdsaW5rJzoKICAgIGNhc2UgJ2NhcHRpb24nOgogICAgY2FzZSAnZGVzY3JpcHRpb24nOgogICAgICAkdGhpcy0+X2RhdGFbJGtdID0gdHJpbSgkdik7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgJ2NoYXJsaW1pdCc6CiAgICAgICR0aGlzLT5fZGF0YVska10gPSAoaW50KSR2OwogICAgICBicmVhazsKCiAgICBkZWZhdWx0OgogICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCJJbnZhbGlkIGtleSAkayBmb3Igc2Jfc2VuZGVyX2luZm8gb2JqZWN0Iik7CiAgICB9CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gT2Zmc2V0RXhpc3RzKCRrKQogIHsKICAgIHN3aXRjaCggJGsgKSB7CiAgICBjYXNlICdtb2R1bGUnOgogICAgY2FzZSAnbGlua3RpdGxlJzoKICAgIGNhc2UgJ2luZm9fbWVzc2FnZSc6CiAgICBjYXNlICdwaWN0dXJlJzoKICAgIGNhc2UgJ3NvY2lhbG5hbWUnOgogICAgY2FzZSAnY2hhcmxpbWl0JzoKICAgIGNhc2UgJ2xpbmsnOgogICAgY2FzZSAnY2FwdGlvbic6CiAgICBjYXNlICdkZXNjcmlwdGlvbic6CiAgICAgIHJldHVybiBpc3NldCgkdGhpcy0+X2RhdGFbJGtdKTsKCiAgICBkZWZhdWx0OgogICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCJJbnZhbGlkIGtleSAkayBmb3Igc2Jfc2VuZGVyX2luZm8gb2JqZWN0Iik7CiAgICB9CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gT2Zmc2V0VW5zZXQoJGspCiAgewogICAgcmV0dXJuOyAvLyBkbyBub3RoaW5nLgogIH0KCn0KCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.sb_utils.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNvY2lhbEJsYXN0ZXIgKGMpIDIwMTMgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gZmFjaWxpdGF0ZSBibGFzdGluZyBpbmZvcm1hdGlvbiB0byBtdWx0aXBsZSBzb2NpYWwgbmV0d29ya3MKIyAgYXQgb25jZS4gIFJlcXVpcmVzIGluZWRpdmlkaWFsIG1vZHVsZXMgdG8gaGFuZGxlIHRoZSBhY3R1YWwgcG9zdGluZyB0byBzb2NpYWwgbW9kdWxlcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0cyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbgojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKCmZpbmFsIGNsYXNzIHNiX3V0aWxzCnsKICAgIHByaXZhdGUgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKSB7fQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2ZlZWRlcnMoKQogICAgewogICAgICAgICRob3N0bW9kdWxlcyA9IE1vZHVsZU9wZXJhdGlvbnM6OmdldF9tb2R1bGVzX3dpdGhfY2FwYWJpbGl0eSgnY2dfc29jaWFsYmxhc3RfZmVlZGVyJyk7CiAgICAgICAgcmV0dXJuICRob3N0bW9kdWxlczsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9zZW5kZXJzKCkKICAgIHsKICAgICAgICAkYmxhc3Rtb2R1bGVzID0gTW9kdWxlT3BlcmF0aW9uczo6Z2V0X21vZHVsZXNfd2l0aF9jYXBhYmlsaXR5KCdjZ19zb2NpYWxibGFzdF9zZW5kZXInKTsKICAgICAgICByZXR1cm4gJGJsYXN0bW9kdWxlczsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9zZW5kZXJfaW5mbygpCiAgICB7CiAgICAgICAgJHRtcCA9IHNlbGY6OmdldF9zZW5kZXJzKCk7CiAgICAgICAgaWYoIGlzX2FycmF5KCR0bXApICYmIGNvdW50KCR0bXApICkgewogICAgICAgICAgICAkb3V0ID0gYXJyYXkoKTsKICAgICAgICAgICAgZm9yZWFjaCggJHRtcCBhcyAkb25lICkgewogICAgICAgICAgICAgICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgkb25lKTsKICAgICAgICAgICAgICAgIGlmKCAhaXNfb2JqZWN0KCRtb2QpICkgY29udGludWU7IC8vIHdlaXJkLCBidXQgb2theS4uLgogICAgICAgICAgICAgICAgaWYoICFtZXRob2RfZXhpc3RzKCRtb2QsJ2dldF9zZW5kZXJfaW5mbycpICkgY29udGludWU7IC8vIG9vcHMsIGltcHJvcGVyIGltcGxlbWVudGF0aW9uLgogICAgICAgICAgICAgICAgJHJlcyA9ICRtb2QtPmdldF9zZW5kZXJfaW5mbygpOwogICAgICAgICAgICAgICAgaWYoICFpc19vYmplY3QoJHJlcykgKSBjb250aW51ZTsgLy8gd2VpcmQuCiAgICAgICAgICAgICAgICAkb3V0WyRyZXNbJ21vZHVsZSddXSA9ICRyZXM7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYoIGlzX2FycmF5KCRvdXQpICYmIGNvdW50KCRvdXQpICkgcmV0dXJuICRvdXQ7CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X3NlbmRlcl9saXN0KCkKICAgIHsKICAgICAgICAkc2VuZGVycyA9IHNlbGY6OmdldF9zZW5kZXJfaW5mbygpOwogICAgICAgIGlmKCBpc19hcnJheSgkc2VuZGVycykgJiYgY291bnQoJHNlbmRlcnMpICkgewogICAgICAgICAgICAkbGlzdCA9IGFycmF5KCk7CiAgICAgICAgICAgIGZvcmVhY2goICRzZW5kZXJzIGFzICRvbmUgKSB7CiAgICAgICAgICAgICAgICAkbGlzdFskb25lWydtb2R1bGUnXV0gPSAkb25lWydzb2NpYWxuYW1lJ107CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuICRsaXN0OwogICAgICAgIH0KICAgIH0KfQojCiMgRU9GCiMKPz4K]]></data>
	</file>
	<file>
	  <filename>/lib/sb_utils.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNvY2lhbEJsYXN0ZXIgKGMpIDIwMTMgYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGZhY2lsaXRhdGUgYmxhc3RpbmcgaW5mb3JtYXRpb24gdG8gbXVsdGlwbGUgc29jaWFsIG5ldHdvcmtzCiMgIGF0IG9uY2UuICBSZXF1aXJlcyBpbmVkaXZpZGlhbCBtb2R1bGVzIHRvIGhhbmRsZSB0aGUgYWN0dWFsIHBvc3RpbmcgdG8gc29jaWFsIG1vZHVsZXMuCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpmaW5hbCBjbGFzcyBzYl91dGlscyAKewogIHByaXZhdGUgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKSB7fQoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9mZWVkZXJzKCkKICB7CiAgICAkbW9kID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKE1PRF9TT0NJQUxCTEFTVEVSKTsKICAgICRob3N0bW9kdWxlcyA9ICRtb2QtPkdldE1vZHVsZXNXaXRoQ2FwYWJpbGl0eSgnY2dfc29jaWFsYmxhc3RfZmVlZGVyJyk7CiAgICByZXR1cm4gJGhvc3Rtb2R1bGVzOwogIH0KCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfc2VuZGVycygpCiAgewogICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZShNT0RfU09DSUFMQkxBU1RFUik7CiAgICAkYmxhc3Rtb2R1bGVzID0gJG1vZC0+R2V0TW9kdWxlc1dpdGhDYXBhYmlsaXR5KCdjZ19zb2NpYWxibGFzdF9zZW5kZXInKTsKICAgIHJldHVybiAkYmxhc3Rtb2R1bGVzOwogIH0KfQojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNvY2lhbEJsYXN0ZXIgKGMpIDIwMTMgYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGZhY2lsaXRhdGUgYmxhc3RpbmcgaW5mb3JtYXRpb24gdG8gbXVsdGlwbGUgc29jaWFsIG5ldHdvcmtzCiMgIGF0IG9uY2UuICBSZXF1aXJlcyBpbmVkaXZpZGlhbCBtb2R1bGVzIHRvIGhhbmRsZSB0aGUgYWN0dWFsIHBvc3RpbmcgdG8gc29jaWFsIG1vZHVsZXMuCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgokdGhpcy0+UmVnaXN0ZXJNb2R1bGVQbHVnaW4oVFJVRSk7CiR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKENHU29jaWFsQmxhc3Rlcjo6UEVSTU5BTUUsQ0dTb2NpYWxCbGFzdGVyOjpQRVJNTkFNRSk7CgokZGZsdHRlbXBsYXRlID0gPDw8RU9UCntcJGlucHV0X2RhdGEtPnN1bW1hcnl9IHtcJGlucHV0X2RhdGEtPmNhbm9uaWNhbF9zaG9ydH0KRU9UOwokc2VuZGVycyA9IHNiX3V0aWxzOjpnZXRfc2VuZGVycygpOwpmb3IoICRpID0gMDsgJGkgPCBjb3VudCgkc2VuZGVycyk7ICRpKysgKSB7CiAgICAkb25lID0gJHNlbmRlcnNbJGldOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ21zZ3RwbF8nLiRvbmUsJGRmbHR0ZW1wbGF0ZSk7Cn0KCiMKIyBFT0YKIwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiR0aGlzLT5SZW1vdmVTbWFydHlQbHVnaW4oKTsKJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oQ0dTb2NpYWxCbGFzdGVyOjpQRVJNTkFNRSk7Cgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/blast.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgokKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpewogIHZhciBfdGFicyA9IFtdOwogIHtmb3JlYWNoICRzZW5kZXJzIGFzICRrZXkgPT4gJHZhbH0KICBfdGFicy5wdXNoKCd7JGtleX0nKTsKICB7L2ZvcmVhY2h9CgogICQoJyN0YWJ3cmFwJykudGFicygpOwogIAogIC8vIGRpc2FibGUgYWxsIGJ1dCB0aGUgZmlyc3QgdGFiLgogIHZhciBuID0gJCgnI3RhYmxpc3QgPiBsaScpLmxlbmd0aDsKCiAgLy8gZW5hYmxlIG9ubHkgc2VsZWN0ZWQgdGFicy4KICAkKCcjc2VuZGVycycpLmNoYW5nZShmdW5jdGlvbigpewogICAgdmFyIHggPSBbXTsKICAgIGZvciggdmFyIGkgPSAxOyBpIDwgbiAtIDE7IGkrKyApIHsgeC5wdXNoKGkpOyB9CiAgICAkKCcjdGFid3JhcCcpLnRhYnMoJ29wdGlvbicsJ2Rpc2FibGVkJyx4KTsKCiAgICAkKCdvcHRpb246c2VsZWN0ZWQnLHRoaXMpLmVhY2goZnVuY3Rpb24oKXsKICAgICAgdmFyIHYgPSAkKHRoaXMpLnZhbCgpOwogICAgICB2YXIgaSA9IF90YWJzLmluZGV4T2YodikrMTsKICAgICAgJCgnI3RhYndyYXAnKS50YWJzKCdlbmFibGUnLGkpOwogICAgfSk7CiAgfSk7CiAgJCgnI3NlbmRlcnMnKS50cmlnZ2VyKCdjaGFuZ2UnKTsKCiAgJCgndGV4dGFyZWEnKS5vbigna2V5dXAnLGZ1bmN0aW9uKCl7CiAgIHZhciBuID0gJCh0aGlzKS52YWwoKS5sZW5ndGg7CiAgIHZhciBlbF9tYXggPSAkKHRoaXMpLnByZXZBbGwoJy5jaGFybGltaXQnKTsKICAgdmFyIGVsX251bSA9ICQodGhpcykucHJldkFsbCgnLmNoYXJjb3VudCcpOwogICBpZiggdHlwZW9mIGVsX251bSAhPSAndW5kZWZpbmVkJyApIHsKICAgICB2YXIgb3V0ID0gbjsKICAgICBpZiggdHlwZW9mIGVsX21heCAhPSB1bmRlZmluZWQgKSB7CiAgICAgICB2YXIgbWF4ID0gJChlbF9tYXgpLmh0bWwoKTsKICAgICAgIGlmKCBuID49IG1heCApIHsKICAgICAgICAgb3V0ID0gJzxzcGFuIHN0eWxlPSJjb2xvcjogcmVkOyI+JytuKyc8L3NwYW4+JzsKICAgICAgIH0gZWxzZSBpZiggbiAvIG1heCA+IDAuODUgKSB7CiAgICAgICAgIG91dCA9ICc8c3BhbiBzdHlsZT0iY29sb3I6IG9yYW5nZTsiPicrbisnPC9zcGFuPic7CiAgICAgICB9CiAgICAgfQogICAgICQoZWxfbnVtKS5odG1sKG91dCk7CiAgIH0KICB9KTsKICAkKCd0ZXh0YXJlYScpLnRyaWdnZXIoJ2tleXVwJyk7IC8vIHRyaWdnZXIgYSBrZXl1cAp9KTsKPC9zY3JpcHQ+CjxoMz57JG1vZC0+TGFuZygnc2VuZF9tZXNzYWdlJyl9PC9oMz4Ke2lmIGlzc2V0KCRtb2R1bGUpfQo8aDQ+eyRtb2QtPkxhbmcoJ2JsYXN0X2FydGljbGVfZnJvbScsJG1vZHVsZSl9IHtpZiAkc291cmNlX2RhdGEtPnRpdGxlfTogeyRzb3VyY2VfZGF0YS0+dGl0bGV9ey9pZn08L2g0Pgp7L2lmfQoKeyRmb3Jtc3RhcnR9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij48L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgaWQ9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXN1Ym1pdCIgdmFsdWU9InskbW9kLT5MYW5nKCdzdWJtaXQnKX0iLz4KICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9Y2FuY2VsIiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ2NhbmNlbCcpfSIvPgogIDwvcD4KPC9kaXY+Cgo8ZGl2IGlkPSJ0YWJ3cmFwIj4KICA8dWwgaWQ9InRhYmxpc3QiPgogICAgPGxpPjxhIGhyZWY9IiN0YWJfbWFpbiI+eyRtb2QtPkxhbmcoJ21haW4nKX08L2E+PC9saT4KICAgIHtmb3JlYWNoICRzZW5kZXJzIGFzICRvbmU9PiRuYW1lfQogICAgPGxpPjxhIGhyZWY9IiN0YWJfeyRvbmV9Ij57JG5hbWV9PC9hPjwvbGk+CiAgICB7L2ZvcmVhY2h9CiAgICA8bGk+PGEgaHJlZj0iI3RhYl9oZWxwIj57JG1vZC0+TGFuZygnaGVscCcpfTwvYT48L2xpPgogIDwvdWw+CiAgPGRpdiBpZD0idGFiX21haW4iPgogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij48bGFiZWwgZm9yPSJzZW5kZXJzIj57JG1vZC0+TGFuZygnZGVzdGluYXRpb25zJyl9OjwvbGFiZWw+PC9wPgogICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgICA8dGFibGU+CiAgICAgICAgICA8dHI+CiAgICAgICAgICAgIDx0ZCB2YWxpZ249InRvcCI+CiAgICAgICAgICAgIDxzZWxlY3QgaWQ9InNlbmRlcnMiIG5hbWU9InskYWN0aW9uaWR9c2VuZGVyc1tdIiBtdWx0aXBsZT0ibXVsdGlwbGUiIHNpemU9IjMiPgogICAgICAgICAgICB7aHRtbF9vcHRpb25zIG9wdGlvbnM9JHNlbmRlcnMgc2VsZWN0ZWQ9JHNhdmVkX3NlbmRlcnN9CiAgICAgICAgICAgIDwvc2VsZWN0PgogICAgICAgICAgICA8L3RkPgogICAgICAgICAgICA8dGQgdmFsaWduPSJ0b3AiPnskbW9kLT5MYW5nKCdpbmZvX3NlbmRlcnMnKX08L3RkPgogICAgICAgICAgPC90cj4KICAgICAgICA8L3RhYmxlPgogICAgICA8L3A+CiAgICA8L2Rpdj4KICA8L2Rpdj4KICB7Zm9yZWFjaCAkc2VuZGVycyBhcyAkb25lID0+ICRuYW1lfQogICAgeyRpbmZvPSRzZW5kZXJfaW5mb1skb25lXX0KICAgIDxkaXYgaWQ9InRhYl97JG9uZX0iIGNsYXNzPSJzZW5kZXJfdGFiIj4KICAgICAgeyogdGhpcyBkZWZpbmVzIHRoZSBtZXNzYWdpbmcgdGFiICp9CiAgICAgIHtpZiAkaW5mby5pbmZvX21lc3NhZ2V9PGRpdiBjbGFzcz0iaW5mb3JtYXRpb24iPnskaW5mby5pbmZvX21lc3NhZ2V9PC9kaXY+ey9pZn0KICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdtZXNzYWdlJyl9OjwvcD4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4gCiAgICAgICAgICB7aWYgJGluZm8uY2hhcmxpbWl0ID4gMH17JG1vZC0+TGFuZygnY2hhcmFjdGVyX2NvdW50Jyl9OiA8c3BhbiBjbGFzcz0iY2hhcmNvdW50Ij4wPC9zcGFuPiAvIDxzcGFuIGNsYXNzPSJjaGFybGltaXQiPnskaW5mby5jaGFybGltaXR9PC9zcGFuPjxici8+ey9pZn0KICAgICAgICAgIDx0ZXh0YXJlYSBuYW1lPSJ7JGFjdGlvbmlkfXskb25lfV9tc2ciIHJvd3M9IjMiIGNvbHM9IjUwIntpZiAkaW5mby5jaGFybGltaXR9IG1heGxlbmd0aD0ieyRpbmZvLmNoYXJsaW1pdH0iey9pZn0+eyRzZW5kZXJfbXNncy4kb25lfTwvdGV4dGFyZWE+CiAgICAgICAgPC9wPgogICAgICA8L2Rpdj4KICAgICAge2lmICRpbmZvLnBpY3R1cmUgJiYgJHNvdXJjZV9kYXRhLT5jb3VudF9waWN0dXJlcygpfQogICAgICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwaWN0dXJlJyl9OjwvcD4KICAgICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgICAgICAgICA8c2VsZWN0IGNsYXNzPSJwaWN0dXJlX2Ryb3Bkb3duIiBuYW1lPSJ7JGFjdGlvbmlkfXskb25lfV9waWN0dXJlIj4KICAgICAgICAgICAge2h0bWxfb3B0aW9ucyBvcHRpb25zPSRzb3VyY2VfZGF0YS0+cGljdHVyZXN9CiAgICAgICAgICAgIDwvc2VsZWN0PgogICAgICAgICAgPC9wPgogICAgICAgIDwvZGl2PgogICAgICB7L2lmfQoKICAgICAge2lmICRpbmZvLmxpbmsgJiYgJHNvdXJjZV9kYXRhLT5jYW5vbmljYWwgfQogICAgICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdsaW5rJyl9OjwvcD4KICAgICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4VCIgbmFtZT0ieyRhY3Rpb25pZH17JG9uZX1fbGluayIgdmFsdWU9Inskc291cmNlX2RhdGEtPmNhbm9uaWNhbH0iIHNpemU9IjgwIi8+CiAgICAgICAgICA8L3A+CiAgICAgICAgPC9kaXY+CiAgICAgICAge2lmICRpbmZvLmxpbmt0aXRsZX0KICAgICAgICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2xpbmtfdGl0bGUnKX06PC9wPgogICAgICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH17JG9uZX1fbGlua25hbWUiIHZhbHVlPSJ7JHNvdXJjZV9kYXRhLT50aXRsZX0iIHNpemU9IjgwIi8+CiAgICAgICAgICAgIDwvcD4KICAgICAgICAgIDwvZGl2PgogICAgICAgIHsvaWZ9CiAgICAgICAge2lmICRpbmZvLmNhcHRpb259CiAgICAgICAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3cgY2FwdGlvbl93cmFwIj4KICAgICAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnbGlua19jYXB0aW9uJyl9OjwvcD4KICAgICAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIGNsYXNzPSJjYXB0aW9uIiBuYW1lPSJ7JGFjdGlvbmlkfXskb25lfV9jYXB0aW9uIiB2YWx1ZT0iIiBzaXplPSI4MCIvPgogICAgICAgICAgICA8L3A+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICB7L2lmfQogICAgICAgIHtpZiAkaW5mby5kZXNjcmlwdGlvbn0KICAgICAgICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyBkZXNjcmlwdGlvbl93cmFwIj4KICAgICAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnbGlua19kZXNjcmlwdGlvbicpfTo8L3A+CiAgICAgICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBjbGFzcz0iZGVzY3JpcHRpb24iIG5hbWU9InskYWN0aW9uaWR9eyRvbmV9X2Rlc2NyaXB0aW9uIiB2YWx1ZT0iIiBzaXplPSI4MCIgbWF4bGVuZ3RoPSIyNTUiLz4KICAgICAgICAgICAgPC9wPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgey9pZn0KICAgICAgey9pZn0KICAgIDwvZGl2PgogIHsvZm9yZWFjaH0KICA8ZGl2IGlkPSJ0YWJfaGVscCI+CiAgICA8ZGl2IGNsYXNzPSJpbmZvcm1hdGlvbiIgc3R5bGU9ImRpc3BsYXk6IGJsb2NrOyI+eyRtb2QtPkxhbmcoJ2luZm9fbWVzc2FnZWJveF9zbWFydHknKX08L2Rpdj4KICAgIDx0YWJsZSBjbGFzcz0icGFnZXRhYmxlIj4KICAgICAgPHRoZWFkPgogICAgICAgIDx0cj4KICAgICAgICAgIDx0aCB3aWR0aD0iMjUlIj57JG1vZC0+TGFuZygndmFyaWFibGUnKX08L3RoPgogICAgICAgICAgPHRoPnskbW9kLT5MYW5nKCdkZXNjcmlwdGlvbicpfTwvdGg+CiAgICAgICAgPC90cj4KICAgICAgPC90aGVhZD4KICAgICAgPHRib2R5PgogICAgICAgIDx0cj48dGQgdmFsaWduPSJ0b3AiPntsZGVsaW19JGlucHV0X2RhdGEtPnRpdGxle3JkZWxpbX08L3RkPjx0ZD57JG1vZC0+TGFuZygnc3JjZGF0YV90aXRsZScpfTwvdGQ+PC90cj4KICAgICAgICA8dHI+PHRkIHZhbGlnbj0idG9wIj57bGRlbGltfSRpbnB1dF9kYXRhLT5zdW1tYXJ5e3JkZWxpbX08L3RkPjx0ZD57JG1vZC0+TGFuZygnc3JjZGF0YV9zdW1tYXJ5Jyl9PC90ZD48L3RyPgogICAgICAgIDx0cj48dGQgdmFsaWduPSJ0b3AiPntsZGVsaW19JGlucHV0X2RhdGEtPmNhbm9uaWNhbHtyZGVsaW19PC90ZD48dGQ+eyRtb2QtPkxhbmcoJ3NyY2RhdGFfY2Fub25pY2FsJyl9PC90ZD48L3RyPgogICAgICAgIDx0cj48dGQgdmFsaWduPSJ0b3AiPntsZGVsaW19JGlucHV0X2RhdGEtPnBpY3R1cmVze3JkZWxpbX08L3RkPjx0ZD57JG1vZC0+TGFuZygnc3JjZGF0YV9waWN0dXJlcycpfTwvdGQ+PC90cj4KICAgICAgICA8dHI+PHRkIHZhbGlnbj0idG9wIj57bGRlbGltfSRpbnB1dF9kYXRhLT5saW5rc3tyZGVsaW19PC90ZD48dGQ+eyRtb2QtPkxhbmcoJ3NyY2RhdGFfbGlua3MnKX08L3RkPjwvdHI+CiAgICAgIDwvdGJvZHk+CiAgICA8L3RhYmxlPgogIDwvZGl2Pgo8L2Rpdj57KiAjdGFid3JhcCAqfQp7JGZvcm1lbmR9]]></data>
	</file>
	<file>
	  <filename>/templates/defaultadmin.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1wcmVmc19zdWJtaXQiIHZhbHVlPSJ7JG1vZC0+TGFuZygnc3VibWl0Jyl9Ii8+CiAgPC9wPgo8L2Rpdj4KCntjZ2Vfc3RhcnRfdGFic30KICB7Y2dlX3RhYmhlYWRlciBuYW1lPSdzZXR0aW5ncycgbGFiZWw9JG1vZC0+TGFuZygndGFiX3NldHRpbmdzJyl9CiAge2ZvcmVhY2ggJGJsYXN0bW9kdWxlcyBhcyAkbW9kdWxlbmFtZX0KICAgIHtjZ2VfdGFiaGVhZGVyIG5hbWU9JG1vZHVsZW5hbWUgbGFiZWw9InskbW9kdWxlbmFtZX0ifQogIHsvZm9yZWFjaH0KCiAge2NnZV90YWJjb250ZW50X3N0YXJ0IG5hbWU9J3NldHRpbmdzJ30KICAgIHtpZiAhaXNfYXJyYXkoJGJsYXN0bW9kdWxlcykgfHwgY291bnQoJGJsYXN0bW9kdWxlcykgPT0gMH0KICAgIDxkaXYgY2xhc3M9Indhcm5pbmciPnskbW9kLT5MYW5nKCd3YXJuaW5nX25vc2VuZGVycycpfTwvZGl2PgogICAgey9pZn0KCiAgICB7aWYgIWlzX2FycmF5KCRob3N0bW9kdWxlcykgfHwgY291bnQoJGhvc3Rtb2R1bGVzKSA9PSAwfQogICAgPGRpdiBjbGFzcz0id2FybmluZyI+eyRtb2QtPkxhbmcoJ3dhcm5pbmdfbm9mZWVkZXJzJyl9PC9kaXY+CiAgICB7L2lmfQoKICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9mcmllbmRseW5hbWUnKX06PC9wPgogICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1mcmllbmRseW5hbWUiIHZhbHVlPSJ7JGZyaWVuZGx5bmFtZX0iIHNpemU9IjUwIi8+CiAgICAgICAgPGJyLz57JG1vZC0+TGFuZygnaW5mb19mcmllbmRseW5hbWUnKX0KICAgICAgPC9wPgogICAgPC9kaXY+CgogICAge2lmIGlzX2FycmF5KCRob3N0bW9kdWxlcykgJiYgY291bnQoJGhvc3Rtb2R1bGVzKSA+IDB9CiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdkZXRlY3RlZF9ob3N0bW9kdWxlcycpfTo8L3A+CiAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgICAgIHtpbXBsb2RlKCcsJywkaG9zdG1vZHVsZXMpfTxici8+CiAgICAgIDwvcD4KICAgIDwvZGl2PgogICAgey9pZn0KCiAgICB7aWYgaXNfYXJyYXkoJGJsYXN0bW9kdWxlcykgJiYgY291bnQoJGJsYXN0bW9kdWxlcykgPiAwfQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnZGV0ZWN0ZWRfYmxhc3Rtb2R1bGVzJyl9OjwvcD4KICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgICB7aW1wbG9kZSgnLCcsJGJsYXN0bW9kdWxlcyl9PGJyLz4KICAgICAgIDxhIGhyZWY9Inttb2R1bGVfYWN0aW9uX2xpbmsgbW9kdWxlPSdDR1NvY2lhbEJsYXN0ZXInIGFjdGlvbj0nYmxhc3QnIHVybG9ubHk9MX0iIHRpdGxlPSJ7JG1vZC0+TGFuZygndGl0bGVfdGVzdCcpfSI+eyRtb2QtPkxhbmcoJ3Rlc3QnKX08L2E+CiAgICAgIDwvcD4KICAgIDwvZGl2PgogICAgey9pZn0KICB7Y2dlX3RhYmNvbnRlbnRfZW5kfQoKICB7Zm9yZWFjaCAkYmxhc3Rtb2R1bGVzIGFzICRtb2R1bGVuYW1lfQogICAge2NnZV90YWJjb250ZW50X3N0YXJ0IG5hbWU9JG1vZHVsZW5hbWV9CiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdtZXNzYWdlX3RlbXBsYXRlJyl9OjwvcD4KICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgICAgPHRleHRhcmVhIHJvd3M9IjUiIGNvbHM9IjgwIiBuYW1lPSJ7JGFjdGlvbmlkfXRlbXBsYXRlX3skbW9kdWxlbmFtZX0iPnskdGVtcGxhdGVzLiRtb2R1bGVuYW1lfTwvdGV4dGFyZWE+CiAgICAgIDwvcD4KICAgIDwvZGl2PgogICAge2NnZV90YWJjb250ZW50X2VuZH0KICB7L2ZvcmVhY2h9Cgp7Y2dlX2VuZF90YWJzfQp7JGZvcm1lbmR9]]></data>
	</file>
</module>
