<?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>SelfRegistration</name>
	<version>1.2</version>
  <mincmsversion>1.2.3</mincmsversion>
	<help>PGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+CjxwPlRoaXMgbW9kdWxlIGlzIGRlc2lnbmVkIHRvIGFsbG93IGZyb250IGVuZCB1c2VycyB0byByZWdpc3RlciB0aGVtc2VsdmVzIGFuZCBmaWxsIGluIHRoZSByZXF1aXJlZCBpbmZvcm1hdGlvbi4gIEl0IHRoZW4gc2VuZHMgYSBjb25maXJtYXRpb24gZW1haWwsIHdpdGggYSBsaW5rIHRvIGEgc2Vjb25kIHBhZ2UgdGhhdCBtdXN0IGJlIGNvbXBsZXRlZCBiZWZvcmUgdGhlIHJlZ2lzdHJhdGlvbiBpcyBjb21wbGV0ZS4gIE9uY2UgcmVnaXN0cmF0aW9uIGlzIGNvbXBsZXRlLCBhIHVzZXIgYWNjb3VudCBpcyBjcmVhdGVkIGluIHRoZSBmcm9udCBlbmQgdXNlcnMgbW9kdWxlLjwvcD4KPHA+SW4gb3JkZXIgdG8gdXNlIHRoaXMgbW9kdWxlLCB5b3UgbXVzdCBjcmVhdGUgYSBwcm9wZXJ0eSBvZiB0eXBlICJFbWFpbCBBZGRyZXNzIiBpbiB0aGUgRnJvbnRlbmRVc2VycyBtb2R1bGUsIGFuZCBhc3NvY2lhdGUgdGhhdCBwcm9wZXJ0eSB3aXRoIHRoZSBncm91cCB0byBiZSB1c2VkIGZvciBzZWxmIHJlZ2lzdHJhdGlvbi48L3A+CjxoMz5Ib3cgRG8gSSBVc2UgSXQ8L2gzPgo8cD5Zb3UgcGxhY2UgdGhlIGZvbGxvd25nIHRhZyBpbnRvIHlvdXIgcGFnZSB7Y21zX21vZHVsZSBtb2R1bGU9U2VsZlJlZ2lzdHJhdGlvbiBncm91cD11c2VyZ3JvdXB9PC9wPgo8cD5Zb3UgbXVzdCBoYXZlIHByZXZpb3VzbHkgY3JlYXRlZCBwcm9wZXJ0aWVzIGFuZCB1c2VyIGdyb3VwcyBpbiB0aGUgRnJvbnRFbmRVc2VycyBtb2R1bGUgaW4gb3JkZXIgZm9yIHRoaXMgdG8gd29yayBwcm9wZXJseS48L3A+CjxoMz5QYXJhbWV0ZXJzPC9oMz4KPHA+PHN0cm9uZz5tb2RlPC9zdHJvbmc+Jm5ic3A7PGVtPm9wdGlvbmFsPC9lbT4gLSBwb3NzaWJsZSB2YWx1ZXMgYXJlICJzaWdudXAiIGFuZCAidmVyaWZ5Ii4gIElmIHRoaXMgcGFyYW1ldGVyIGlzIG5vdCBzcGVjaWZpZWQsICJzaWdudXAiIGlzIGFzc3VtYmVkLjwvcD4KPHA+PHN0cm9uZz5ncm91cDwvc3Ryb25nPiZuYnNwOzxlbT5vcHRpb25hbDwvZW0+IC0gVGhpcyBwYXJhbWV0ZXIgaXMgcmVxdWlyZWQgaWYgbW9kZSBpcyAic2lnbnVwIiwgb3IgaWYgbW9kZSBpcyBsZWZ0IGVtcHR5LjwvcD4KPHA+PHN0cm9uZz5ub2NhcHRjaGE8L3N0cm9uZz4mbmJzcDs8ZW0+b3B0aW9uYWw8L2VtPiAtIFRoaXMgd2lsbCBkaXNhYmxlIGNhcHRjaGEgb24gdGhlIHNpZ251cCBmb3JtLiBCeSBkZWZhdWx0LCBpZiB0aGUgQ2FwdGNoYSBtb2R1bGUgaXMgaW5zdGFsbGVkLCBjYXB0Y2hhIHN1cHBvcnQgaXMgcHJvdmlkZWQuICBUaGlzIHBhcmFtZXRlciBkaXNhYmxlcyBpdC48L3A+CjxoMz5TdXBwb3J0PC9oMz4KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPgo8dWw+CjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgY2FsZ3V5J3MKbW9kdWxlIGhvbWVwYWdlIGF0IDxhIGhyZWY9Imh0dHA6Ly90ZWNoY29tLmR5bmRucy5vcmciPnRlY2hjb20uZHluZG5zLm9yZzwvYT4uPC9saT4KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPgo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICAKPC91bD4KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0Cm9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4KCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPgo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDgsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnIj4mbHQ7Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyZndDs8L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+CjxwPlRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cml0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CnRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCihhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uPC9wPgo8cD5Ib3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCmluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIApzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLjwvcD4KPHA+VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCmJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCk1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKT3IgcmVhZCBpdCA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPm9ubGluZTwvYT48L3A+CjxoMz5EZXBlbmRlbmNpZXM8L2gzPjx1bD48bGk+Q01TTWFpbGVyID0mZ3Q7IDEuNzMuOTwvbGk+PGxpPkZyb250RW5kVXNlcnMgPSZndDsgMS40LjI8L2xpPjwvdWw+PGgzPlBhcmFtZXRlcnM8L2gzPjx1bD48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBsYW5nPSJlbl9VUyIgLSBQYXJhbWV0ZXIgaXMgdXNlZCB0byBzcGVjaWZ5IHdoYXQgbGFuZ3VhZ2UgdG8gdXNlIGZvciBkaXNwbGF5IG9uIHRoZSBmcm9udGVuZC4gTm90IGFsbCBtb2R1bGVzIHN1cHBvcnQgb3IgbmVlZCB0aGlzLjwvbGk+PC91bD4=</help>
	<about>PGJyIC8+QXV0aG9yOiBDYWxndXkxMDAwICZsdDtjYWxndXkxMDAwQGhvdG1haWwuY29tJmd0OzxiciAvPjxiciAvPlZlcnNpb246IDEuMjxiciAvPjxiciAvPkNoYW5nZSBIaXN0b3J5OjxiciAvPjx1bD4KPGxpPlZlcnNpb24gMC4wLjEuIE9jdCAyMDA1LiBJbml0aWFsIE5SUFQgKE5vdCBSZWFkeSBmb3IgUHJpbWUgVGltZSkgcmVsZWFzZS48L2xpPgo8bGk+VmVyc2lvbiAwLjEuMC4gT2N0IDIwMDUuIEluaXRpYWwgcmVsZWFzZS48L2xpPgo8bGk+VmVyc2lvbiAwLjEuMS4gT2N0IDIwMDUuIFNldCB0aGUgSFRNTCBtYWlsIGZsYWcuPC9saT4KPGxpPlZlcnNpb24gMC4xLjIuIE9jdCAyMDA1LiBNb3ZlZCBSYW5kb20gc3R1ZmYgaW50byBmZXVzZXJzLCBhbmQgYWRkZWQgdGhlIGFiaWxpdHkgdG8gZGVsZXRlIG9sZCBlbnRyaWVzIGZyb20gdGhlIHJlZ2lzdHJhdGlvbiB0ZW1wb3JhcnkgdGFibGVzPC9saT4KPGxpPjxwPlZlcnNpb24gMC4xLjMuIC0gRGVjIDIwMDU8L3A+CjxwPkZpeGVkIHRoZSB0b2dnbGVzIGluIHRoZSBhZG1pbiBwcmVmZXJlbmNlcy4gIEFsc28sIGNoYW5nZWQgdGhlIHBlcm1pc3Npb25zIG1vZGVsIHRvIG5vdCByZXF1aXJlIHRoZSB1bmlxdWUgcGVybWlzc2lvbiBhZGRlZCBwcmV2aW91c2x5IGZvciB0aGUgc2VsZnJlZyBtb2R1bGUuPC9wPgo8cD5UaGlzIHJlbGVhc2Ugd2FzIHJlbW92ZWQgZHVlIHRvIHBvc3NpYmxlIGVycm9yczwvcD4KPC9saT4KPGxpPjxwPlZlcnNpb24gMC4xLjQuIC0gSmFuIDIwMDY8L3A+CjxwPkZpeGVkIG1pbm9yIGVycm9ycyB3aXRoIENoZWNrUGVybWlzc2lvbiwgcmVwbGFjZWQgYWxsIGFzc2lnbl9ieV9yZWZzJ3Mgd2l0aCBhc3NpZ25zIGZvciBob3BlZnVsIHBocDUgY29tcGF0aWJpbGl0eS48L3A+CjxsaT48cD5WZXJzaW9uIDAuMS41LiAtIEphbiAyMDA2PC9wPgo8cD5BZGRlZCB0aGUgYWJpbGl0eSB0byBzZXQgdGhlIHN1YmplY3Qgb2YgdGhlIGNvbmZpcm1hdGlvbiBlbWFpbCwgYW5kIGFkZGVkIHRoZSBhYmlsaXR5IHRvIHNwZWNpZnkgYSB0ZXh0IGJvZHkuICBTdWJqZWN0LCBhbmQgdGV4dCBib2R5IGFyZSByZXF1aXJlZC48L3A+CjwvbGk+CjxsaT48cD5WZXJzaW9uIDEuMC4wLiAtIEZlYiAyMDA2PC9wPgo8cD5GaXhlZCBhIHByb2JsZW0gd2l0aCB0aGUgdmVyaWZ5IG1vZGUuPC9wPgo8cD5BZGRlZCB0aGUgYWJpbGl0eSB0byBlZGl0IGFuZCBkZWxldGUgdXNlcnMuIHdpdGggc2VsZWN0aW9uIG9uIHRoZSBjaGVja2JveGVzLCBhbmQgImNoZWNrYWxsIjwvcD4KPHA+Tm93IHJlcXVpcmUgRkVVc2VycyAwLjEuOCBhbmQgQ01TTWFpbGVyIDEuNzMuOTwvcD4KPHA+QWRkZWQgYW5vdGhlciB0YWIgZm9yIHRoZSAieW91ciBzZXR0aW5ncyBoYXZlIGJlZW4gYWRqdXN0ZWQiIGVtYWlsIHRlbXBsYXRlczwvcD4KPHA+QWRkZWQgQ1NWIEV4cG9ydGluZzwvcD4KPHA+QWRkZWQgYSAiRGVsZXRlIGFsbCB1c2VycyBvbGRlciB0aGFuIGEgZGF5IiBidXR0b248L3A+CjxwPk5vdyB3b3JrcyB3aXRoIHRoZSBtYXhpbXVtIGxlbmd0aCBmaWVsZCBvZiBGRVVzZXJzPC9wPgo8cD5BZGRlZCBzdXBwb3J0IGZvciBkcm9wZG93bnMgYW5kIHRleHQgYXJlYXM8L3A+CjxwPkRpc2FsbG93IHB1bmN0dWF0aW9uIGNoYXJhY3RlcnMgaW4gdXNlcm5hbWU8L3A+CjwvbGk+CjxsaT48cD5WZXJzaW9uIDEuMC4xLiAtIEZlYiAyMDA2PC9wPgo8cD5BZGRlZCB0aGUgYWJpbGl0eSBmb3IgdXNlcnMgdG8gcmVxdWVzdCBhbm90aGVyIHJlZ2lzdHJhdGlvbiBlbWFpbCAodXNlcyB0aGUgc2FtZSBjb2RlKSwgaW5jYXNlIHRoZXkgbG9zdCB0aGVpciBmaXJzdCBvbmUuPC9wPgo8L2xpPgo8bGk+PHA+VmVyc2lvbiAxLjAuMi4gLSBGZWIgMjAwNjwvcD4KPHA+VGhlICJSZXF1aXJlIGVtYWlsIGNvbmZpcm1hdGlvbiIgY2hlY2tib3ggbm93IHdvcmtzLiAgVXNlcnMgYXJlIGFkZGVkIHN0cmFpZ2h0IHRvIHRoZSBmcm9udGVuZCB1c2VycyBkYXRhYmFzZTwvcD4KPHA+Rml4ZWQgYSBidWcgd2l0aCB0aGUgY29uZmlybWF0aW9uIGVtYWlscyBoYXZpbmcgbGlua3MgdG8gdGhlIGFkbWluIHNlY3Rpb24gKG5ldyBidWcgb25seSkuPC9wPgo8L2xpPgo8bGk+PHA+VmVyc2lvbiAxLjAuMy4gLSBGZWIgMjAwNjwvcD4KPHA+QWRkZWQgdGhlIChvcHRpb25hbCkgYWJpbGl0eSB0byByZXF1aXJlIHRoZSB1c2VyIGVudGVyIHRoZSBlbWFpbCBhZGRyZXNzIHR3aWNlPC9wPgo8cD5GaXhlZCBhIGJ1ZyB3aXRoIHRoZSB1c2VyZWRpdGVkIG1lc3NhZ2Ugbm90IGJlaW5nIHRocm93biB0aHJvdWdoIHNtYXJ0eTwvcD4KPHA+Rml4ZWQgdGhlIGRlZmF1bHQgcmVnaXN0cmF0aW9uIHRlbXBsYXRlIGEgYml0IHRvIGFpZGUgaW4gdmFsaWRhdGlvbiBmb3Igbm9uIHJlcXVpcmVkIGZpZWxkcyAoZml4ZWQgYSB3YXJuaW5nKTwvcD4KPHA+Rml4IHByb2JsZW1zIHdpdGggaW5saW5lIGFuZCBub24taW5saW5lIGZvcm1zIGFuZCBsaW5rczwvcD4KPHA+SGFuZGxlIGFub3RoZXIgY2FzZSB3aGVyZSB0aGUgYWRtaW4gbWF5IG5vdCBoYXZlIGNyZWF0ZWQgdGhlIHByb3BlciB0eXBlIG9mIGVtYWlsIHByb3BlcnR5PC9wPgo8cD5DaGFuZ2VkIHRvIHJlcXVpcmUgQ01TIDAuMTItYmV0YTIgYXQgYSBtaW5pbXVtIChmb3Igc2FmZXR5IHB1cnBvc2VzKTwvcD4KPC9saT4KPGxpPjxwPlZlcnNpb24gMS4wLjQuIC0gTWFyIDIwMDY8L3A+CjxwPk1vcmUgY29udHJvbCBvdmVyIHVzZXJuYW1lIGFuZCBwYXNzd29yZCBmaWVsZCBzaXplcyAoY29udHJvbGxlZCBieSBmZXVzZXJzKTwvcD4KPHA+Q29uZmlybWF0aW9uIG9uIGVkaXRpbmcgcHJlZmVyZW5jZXM8L3A+CjxwPlJlcXVpcmUgMC4xMiBwcm9wZXIgb2YgY21zIGFzIGEgbWluaW11bTwvcD4KPC9saT4KPGxpPjxwPlZlcnNpb24gMS4xLjAuIC0gRGVjIDIwMDY8L3A+CiAgICA8cD5BZGRlZCBldmVudHMgYW5kIDEuMCBjb21wYXRpYmlsaXR5PC9wPgogICAgPHA+Q2FwdGNoYSBzdXBwb3J0ICh0aGFua3MgRGl0dG1hbik8L3A+CjwvbGk+CjxsaT48cD5WZXJzaW9uIDEuMS4xLiAtIEFwciAyMDA3PC9wPgogICAgPHA+Tm93IHJlcXVpcmUgRkVVc2VycyAxLjIuMCAobWluaW11bSk8L3A+CiAgICA8cD5TdXBwb3J0IGZvciBtdWx0aXNlbGVjdCBsaXN0cyBpbiBmZXVzZXJzPC9wPgogICAgPHA+T3V0cHV0IHNvbWUgbW9yZSBmaWVsZHMgdG8gc21hcnR5IHRvIGFsbG93IGZvciBpbmNyZWFzZWQgYWNjZXNzaWJpbGl0eTwvcD4KICAgIDxwPlNwbGl0IGNvZGUgb3V0IGludG8gbXVsdGlwbGUgZmlsZXMgdG8gcmVkdWNlIG92ZXJhbGwgbWVtb3J5IGZvb3RwcmludDwvcD4KICAgIDxwPklnbm9yZSBhbGwgaW1hZ2UgZmllbGRzPC9wPgogICAgPHA+Q2hhbmdlIENhcHRjaGEgc3VwcG9ydCB0byBiZSBvbiBieSBkZWZhdWx0IGlmIHRoZSBDYXB0Y2hhIG1vZHVsZSBpcyBmb3VuZDwvcD4KPC9saT4KPGxpPjxwPlZlcnNpb24gMS4xLjIuIC0gTm92IDIwMDc8L3A+CiAgICA8cD5GaXggdGhlIHByb2JsZW0gd2l0aCB0aGUgVXNlckRpc3BsYXlMb3N0UmVnRW1haWxGb3JtIHRoaW5nPC9wPgogICAgPHA+QWRkcyB0aGUgaWQgdG8gdGhlIG9uVXNlclJlZ2lzdGVyZWQgRXZlbnQ8L3A+CiAgICA8cD5GaXhlcyB0aGUgcHJvYmxlbSB3aXRoIGNoZWNrYm94IHByb3BlcnRpZXMgbm90IHdvcmtpbmc8L3A+CiAgICA8cD5Ob3cgUmVxdWlyZXMgQ01TIDEuMiBtaW5pbXVtPC9wPgogICAgPHA+WW91IGNhbiBub3cgdXNlIHtTZWxmUmVnaXN0cmF0aW9uIGdyb3VwPSdibGFoJ308L3A+CiAgICA8cD5Ob3cgUmVxdWlyZXMgQ01TIDEuMyBtaW5pbXVtLjwvcD4KPC9saT4KPGxpPjxwPlZlcnNpb24gMS4xLjMuIC0gTm92IDIwMDc8L3A+CiAgICA8cD5GaXhlcyBpc3N1ZSB3aXRoIFNNVFAgRW1haWwgYWRkcmVzcyB2YWxpZGF0aW9uPC9wPgogICAgPHA+Tm93IFJlcXVpcmUgRkVVIDEuMy4xPC9wPgogICAgPHA+QWRkcyB0aGUgbm9pbmxpbmUgcGFyYW1ldGVyPC9wPgo8L2xpPgo8bGk+PHA+VmVyc2lvbiAxLjEuNC4gLSBKYW4gMjAwODwvcD4KICAgIDxwPlNwbGl0cyBhIGZldyBtb3JlIGFjdGlvbnMgdXAgaW50byBzZXBlcmF0ZSBmaWxlczwvcD4KICAgIDxwPkFkZHMgcHJlZmVyZW5jZXMgYW5kIGJlaGF2aW91ciBmb3IgcGFnZXMgdG8gcmVkaXJlY3QgdG8gYWZ0ZXIgYSB1c2VyIGlzIHJlZ2lzdGVyZWQsIGFuZC9vciB2ZXJpZmllZDwvcD4KPC9saT4KPGxpPjxwPlZlcnNpb24gMS4xLjUuIC0gRmViIDIwMDg8L3A+CiAgICA8cD51c2UgPSYgc3ludGF4IHRvIGFsbCBjYWxscyB0byBHZXRNb2R1bGVJbnN0YW5jZSgpPC9wPgogICAgPHA+UmVtb3ZlIGNhbmNlbCBidXR0b25zIGZyb20gZm9ybXMgKHRoZXkgZGlkbid0IHdvcmsgYW55d2F5cyk8L3A+CjwvbGk+CjxsaT48cD5WZXJzaW9uIDEuMS42LiAtIE1hciAyMDA4PC9wPgogICAgPHA+TGljZW5zZSBjaGFuZ2U8L3A+CiAgICA8cD5SZW1vdmUgY2FuY2VsIGJ1dHRvbnMgZnJvbSBmb3JtczwvcD4KICAgIDxwPk1pbm9yIGJ1ZyBmaXhlcyBhbmQgY2xlYW51cHM8L3A+CjwvbGk+CjxsaT48cD5WZXJzaW9uIDEuMiAtIE1hciAyMDA4PC9wPgogICAgPHA+QWRkIGZ1bmN0aW9uYWxpdHkgdG8gYWxsb3cgYXV0b21hdGljIGxvZ2dpbmcgaW4gb25jZSB2ZXJpZmljYXRpb24gaXMgY29tcGxldGU8L3A+CiAgICA8cD5NaW5vciwgYnV0IGltcG9ydGFudCBidWcgZml4ZXMuPC9wPgo8bGk+CjwvdWw+PGJyIC8+</about>
	<description>A module that allows front end users to register themselves.</description>
	<requires>
	  <requiredname>CMSMailer</requiredname>
	  <requiredversion>1.73.9</requiredversion>
	</requires>
	<requires>
	  <requiredname>FrontEndUsers</requiredname>
	  <requiredversion>1.4.2</requiredversion>
	</requires>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNlbGZSZWdpc3RyYXRpb24gKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IHVzZXJzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMKIyAgd2l0aCBhIHdlYnNpdGUuCiMgCiMgVmVyc2lvbjogMS4xLjUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBVc2VyRGlzcGxheVJlZ2lzdHJhdGlvbkZvcm0xKCRpZCwgJHBhcmFtcywgJHJldHVybl9pZCwgJG1lc3NhZ2UpCiAgIE5PVCBQQVJUIE9GIFRIRSBNT0RVTEUgQVBJCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCmZ1bmN0aW9uIF9Vc2VyRGlzcGxheVJlZ2lzdHJhdGlvbkZvcm0xKCAmJG1vZHVsZSwgJGlkLCAmJHBhcmFtcywgJHJldHVybmlkICkKICB7CiAgICBpZiggIWlzc2V0KCAkcGFyYW1zWydncm91cCddICkgKQogICAgICB7CgkvLyB0aGlzIGlzIHVnbHkgZm9yIHRoZSB1c2VyIHRvIHNlZQoJLy8gYnV0IGF0IGxlYXN0IHRoZSBhZG1pbiB3aWxsIGJlIGFibGUgdG8gZmlndXJlIGl0IG91dAoJJG1vZHVsZS0+X0Rpc3BsYXlFcnJvclBhZ2UoICRpZCwgJHBhcmFtcywgJHJldHVybmlkLAoJCQkJICAkbW9kdWxlLT5MYW5nKCdlcnJvcl9pbnN1ZmZpY2llbnRwYXJhbXMnKSk7CglyZXR1cm47CiAgICAgIH0KCiAgICAkZmV1c2VycyA9JiAkbW9kdWxlLT5HZXRNb2R1bGVJbnN0YW5jZSgnRnJvbnRFbmRVc2VycycpOwogICAgaWYoICEkZmV1c2VycyApCiAgICAgIHsKCS8vIHRoaXMgaXMgdWdseSBmb3IgdGhlIHVzZXIgdG8gc2VlCgkvLyBidXQgYXQgbGVhc3QgdGhlIGFkbWluIHdpbGwgYmUgYWJsZSB0byBmaWd1cmUgaXQgb3V0CgkkbW9kdWxlLT5fRGlzcGxheUVycm9yUGFnZSggJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsCgkJCQkgICRtb2R1bGUtPkxhbmcoJ2Vycm9yX25vZmV1c2Vyc21vZHVsZScpKTsKCXJldHVybjsKICAgICAgfQoKICAgICRjbXNtYWlsZXIgPSYgJG1vZHVsZS0+R2V0TW9kdWxlSW5zdGFuY2UoJ0NNU01haWxlcicpOwogICAgaWYoICEkY21zbWFpbGVyICkKICAgICAgewoJLy8gdGhpcyBpcyB1Z2x5IGZvciB0aGUgdXNlciB0byBzZWUKCS8vIGJ1dCBhdCBsZWFzdCB0aGUgYWRtaW4gd2lsbCBiZSBhYmxlIHRvIGZpZ3VyZSBpdCBvdXQKCSRtb2R1bGUtPl9EaXNwbGF5RXJyb3JQYWdlKCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwKCQkJCSAgJG1vZHVsZS0+TGFuZygnZXJyb3Jfbm9mZXVzZXJzbW9kdWxlJykpOwoJcmV0dXJuOwogICAgICB9CgogICAgLy8geWVwLCBhbGwgdGhlIG1vZHVsZXMgYXJlIGhlcmUsIG5vdyB3ZSAKICAgIC8vIGhhdmUgdG8gY29udmVydCB0aGUgZ3JvdXBuYW1lIGludG8gYW4gaWQKICAgICRncnBpZCA9ICRmZXVzZXJzLT5HZXRHcm91cElEKCRwYXJhbXNbJ2dyb3VwJ10pOwogICAgaWYoICRncnBpZCA9PSBmYWxzZSApCiAgICAgIHsKCS8vIHRoaXMgaXMgdWdseSBmb3IgdGhlIHVzZXIgdG8gc2VlCgkvLyBidXQgYXQgbGVhc3QgdGhlIGFkbWluIHdpbGwgYmUgYWJsZSB0byBmaWd1cmUgaXQgb3V0CgkkbW9kdWxlLT5fRGlzcGxheUVycm9yUGFnZSggJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsCgkJCQkgICRtb2R1bGUtPkxhbmcoJ2Vycm9yX25vc3VjaGdyb3VwJykpOwoJcmV0dXJuOwogICAgICB9CgogICAgLy8gbm93IHdlIGhhdmUgYW4gaWQuLi4gaGF2ZSB0byBnZXQgYSBsaXN0IG9mIHRoZSBncm91cHMgcHJvcGVydGllcwogICAgJHJlbGF0aW9ucyA9ICRmZXVzZXJzLT5HZXRHcm91cFByb3BlcnR5UmVsYXRpb25zKCAkZ3JwaWQgKTsKICAgIGlmKCAkcmVsYXRpb25zWzBdID09IGZhbHNlICkKICAgICAgewoJLy8gdGhpcyBpcyB1Z2x5IGZvciB0aGUgdXNlciB0byBzZWUKCS8vIGJ1dCBhdCBsZWFzdCB0aGUgYWRtaW4gd2lsbCBiZSBhYmxlIHRvIGZpZ3VyZSBpdCBvdXQKCSRtb2R1bGUtPl9EaXNwbGF5RXJyb3JQYWdlKCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwgJHJlbGF0aW9uc1sxXSApOwoJcmV0dXJuOwogICAgICB9CiAgICB1YXNvcnQoICRyZWxhdGlvbnMsIAoJICAgIGFycmF5KCdTZWxmcmVnVXRpbHMnLCdjb21wYXJlX2VsZW1lbnRzX2J5X3NvcnRvcmRlcl9rZXknKSApOwoKICAgIC8vIG5vdyB3ZSBoYXZlIHRoZSBwcm9wZXJ0aWVzLCBnb3R0YSBzaG93IHNvbWV0aGluZyB0byB0aGUgdXNlcgogICAgLy8gZGFtbWl0LgogICAgaWYoIGlzc2V0KCAkcGFyYW1zWydlcnJvciddICkgKQogICAgICB7CgkkbW9kdWxlLT5zbWFydHktPmFzc2lnbignZXJyb3InLCAkcGFyYW1zWydlcnJvciddKTsKICAgICAgfQogICAgaWYoIGlzc2V0KCAkcGFyYW1zWydtZXNzYWdlJ10gKSApCiAgICAgIHsKCSRtb2R1bGUtPnNtYXJ0eS0+YXNzaWduKCdtZXNzYWdlJywgJHBhcmFtc1snbWVzc2FnZSddKTsKICAgICAgfQoKICAgIC8vIG5vdyB3ZSdyZSByZWFkeSB0byBwb3B1bGF0ZSB0aGUgdGVtcGxhdGUKICAgIC8vIGZpcnN0IHdlIHB1dCBpbiBzdHVmZiB0aGF0IGlzIHJlcXVpcmVkICh1c2VybmFtZSwgcGFzc3dvcmQsIGV0YywgZXRjKQogICAgJHJvd2FycmF5ID0gYXJyYXkoKTsKCiAgICAvLyBtYWtlIHN1cmUgdXNlcm5hbWUgaXMgaW4gdGhlcmUKICAgICRvbmVyb3cgPSBuZXcgU3RkQ2xhc3MoKTsKICAgICRvbmVyb3ctPmNvbG9yID0gJGZldXNlcnMtPkdldFByZWZlcmVuY2UoJ3JlcXVpcmVkX2ZpZWxkX2NvbG9yJywnYmx1ZScpOwogICAgJG9uZXJvdy0+bWFya2VyID0gJGZldXNlcnMtPkdldFByZWZlcmVuY2UoJ3JlcXVpcmVkX2ZpZWxkX21hcmtlcicsJyonKTsKICAgICRvbmVyb3ctPnJlcXVpcmVkID0gMTsKICAgICR2YWwgPSAoaXNzZXQoJHBhcmFtc1snaW5wdXRfdXNlcm5hbWUnXSkpID8gJHBhcmFtc1snaW5wdXRfdXNlcm5hbWUnXSA6ICcnOwogICAgJG9uZXJvdy0+aGlkZGVuID0gU2VsZnJlZ1V0aWxzOjpteUNyZWF0ZUlucHV0SGlkZGVuKCAkaWQsICdoaWRkZW5fdXNlcm5hbWUnLAoJCQkJCSAgIGltcGxvZGUoIjsiLGFycmF5KCd1c2VybmFtZScsMCwzMCwyKSkpOwogICAgJG9uZXJvdy0+cHJvbXB0ID0gJG1vZHVsZS0+TGFuZygndXNlcm5hbWUnKTsKICAgICRvbmVyb3ctPmNvbnRyb2wgPSRtb2R1bGUtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdpbnB1dF91c2VybmFtZScsICR2YWwsCgkJCQkJICAgICAkZmV1c2Vycy0+R2V0UHJlZmVyZW5jZSgndXNlcm5hbWVmbGRsZW5ndGgnKSwKCQkJCQkgICAgICRmZXVzZXJzLT5HZXRQcmVmZXJlbmNlKCdtYXhfdXNlcm5hbWVsZW5ndGgnKSk7CiAgICBhcnJheV9wdXNoKCAkcm93YXJyYXksICRvbmVyb3cgKTsKCiAgICAvLyBhbmQgcGFzc3dvcmQKICAgICRvbmVyb3cgPSBuZXcgU3RkQ2xhc3MoKTsKICAgICRvbmVyb3ctPmNvbG9yID0gJGZldXNlcnMtPkdldFByZWZlcmVuY2UoJ3JlcXVpcmVkX2ZpZWxkX2NvbG9yJywnYmx1ZScpOwogICAgJG9uZXJvdy0+bWFya2VyID0gJGZldXNlcnMtPkdldFByZWZlcmVuY2UoJ3JlcXVpcmVkX2ZpZWxkX21hcmtlcicsJyonKTsKICAgICRvbmVyb3ctPnJlcXVpcmVkID0gMTsKICAgICR2YWwgPSAoaXNzZXQoJHBhcmFtc1snaW5wdXRfcGFzc3dvcmQnXSkpID8gJHBhcmFtc1snaW5wdXRfcGFzc3dvcmQnXSA6ICcnOwogICAgJG9uZXJvdy0+aGlkZGVuID0gU2VsZnJlZ1V0aWxzOjpteUNyZWF0ZUlucHV0SGlkZGVuKCAkaWQsICdoaWRkZW5fcGFzc3dvcmQnLAoJCQkJCSAgIGltcGxvZGUoIjsiLGFycmF5KCdwYXNzd29yZCcsMCwzMCwyKSkpOwogICAgJG9uZXJvdy0+cHJvbXB0ID0gJG1vZHVsZS0+TGFuZygncGFzc3dvcmQnKTsKICAgICRvbmVyb3ctPmNvbnRyb2wgPSRtb2R1bGUtPkNyZWF0ZUlucHV0UGFzc3dvcmQoJGlkLCAnaW5wdXRfcGFzc3dvcmQnLCAkdmFsLCAKCQkJCQkJICRmZXVzZXJzLT5HZXRQcmVmZXJlbmNlKCdwYXNzd29yZGZsZGxlbmd0aCcpLAoJCQkJCQkgJGZldXNlcnMtPkdldFByZWZlcmVuY2UoJ21heF9wYXNzd29yZGxlbmd0aCcpKTsKICAgIGFycmF5X3B1c2goICRyb3dhcnJheSwgJG9uZXJvdyApOwoKICAgIC8vIGFuZCBtYWtlIGhpbSByZXBlYXQgdGhlIHBhc3N3b3JkCiAgICAkb25lcm93ID0gbmV3IFN0ZENsYXNzKCk7CiAgICAkb25lcm93LT5jb2xvciA9ICRmZXVzZXJzLT5HZXRQcmVmZXJlbmNlKCdyZXF1aXJlZF9maWVsZF9jb2xvcicsJ2JsdWUnKTsKICAgICRvbmVyb3ctPm1hcmtlciA9ICRmZXVzZXJzLT5HZXRQcmVmZXJlbmNlKCdyZXF1aXJlZF9maWVsZF9tYXJrZXInLCcqJyk7CiAgICAkb25lcm93LT5yZXF1aXJlZCA9IDE7CiAgICAkdmFsID0gKGlzc2V0KCRwYXJhbXNbJ2lucHV0X3JlcGVhdHBhc3N3b3JkJ10pKSA/ICRwYXJhbXNbJ2lucHV0X3JlcGVhdHBhc3N3b3JkJ10gOiAnJzsKICAgICRvbmVyb3ctPmhpZGRlbiA9IFNlbGZyZWdVdGlsczo6bXlDcmVhdGVJbnB1dEhpZGRlbiggJGlkLCAnaGlkZGVuX3JlcGVhdHBhc3N3b3JkJywKCQkJCQkgICBpbXBsb2RlKCI7IixhcnJheSgncmVwZWF0cGFzc3dvcmQnLDAsMzAsMikpKTsKICAgICRvbmVyb3ctPnByb21wdCA9ICRtb2R1bGUtPkxhbmcoJ3JlcGVhdHBhc3N3b3JkJyk7CiAgICAkb25lcm93LT5jb250cm9sID0kbW9kdWxlLT5DcmVhdGVJbnB1dFBhc3N3b3JkKCRpZCwgJ2lucHV0X3JlcGVhdHBhc3N3b3JkJywgJHZhbCwgCgkJCQkJCSAkZmV1c2Vycy0+R2V0UHJlZmVyZW5jZSgncGFzc3dvcmRmbGRsZW5ndGgnKSwKCQkJCQkJICRmZXVzZXJzLT5HZXRQcmVmZXJlbmNlKCdtYXhfcGFzc3dvcmRsZW5ndGgnKSk7CiAgICBhcnJheV9wdXNoKCAkcm93YXJyYXksICRvbmVyb3cgKTsKCiAgICAkcmVsYXRpb25zMiA9IGFycmF5KCk7CiAgICBmb3JlYWNoKCAkcmVsYXRpb25zIGFzICRyZWxuICkKICAgICAgewoJJGRlZm4gPSAkZmV1c2Vycy0+R2V0UHJvcGVydHlEZWZuKCAkcmVsblsnbmFtZSddICk7CglpZiggJGRlZm5bJ3R5cGUnXSA9PSA2ICkKCSAgewoJICAgIC8vIGltYWdlcyBhcmUgaWdub3JlZAoJICAgIGNvbnRpbnVlOwoJICB9CgoJJHJlbG5bJ21hcHRvJ10gPSAkZGVmblsnbmFtZSddOwoJJHJlbG5bJ3Byb21wdCddID0gJGRlZm5bJ3Byb21wdCddOwoJaWYoICRtb2R1bGUtPkdldFByZWZlcmVuY2UoJ3NlbGZyZWdfZm9yY2VfZW1haWxfdHdpY2UnICkgKQoJICB7CgkgICAgJHJlbGF0aW9uczJbXSA9ICRyZWxuOwoJICAgIGlmKCAkZGVmblsndHlwZSddID09IDIgKQoJICAgICAgewoJCS8vIHRvZG8sIGNoYW5nZSBzb21ldGhpbmcgaGVyZQoJCSRyZWxuWyduYW1lJ10gPSAkcmVsblsnbmFtZSddLidfYWdhaW4nOwoJCSRyZWxuWydtYXB0byddID0gJGRlZm5bJ25hbWUnXTsKCQkkcmVsblsncHJvbXB0J10gPSAkZGVmblsncHJvbXB0J10uJyAoJy4kbW9kdWxlLT5MYW5nKCdhZ2FpbicpLicpJzsKCQkkcmVsYXRpb25zMltdID0gJHJlbG47CgkgICAgICB9CgkgIH0KCWVsc2UKCSAgewoJICAgICRyZWxhdGlvbnMyW10gPSAkcmVsbjsKCSAgfQogICAgICB9CgogICAgZm9yZWFjaCggJHJlbGF0aW9uczIgYXMgJHJlbG4gKQogICAgewogICAgICAvLyBkb24ndCBwcm9jZXNzIGhpZGRlbiBmaWVsZHMgaGVyZQogICAgICBpZiggJHJlbG5bJ3JlcXVpcmVkJ10gPT0gMyApIGNvbnRpbnVlOwoKICAgICAgLy8gZ2V0IHRoZSBwcm9wZXJ0eSBkZWZpbml0aW9uCiAgICAgICRkZWZuID0gJGZldXNlcnMtPkdldFByb3BlcnR5RGVmbiggJHJlbG5bJ21hcHRvJ10gKTsKICAgICAgCiAgICAgICRvbmVyb3cgPSBuZXcgU3RkQ2xhc3MoKTsKCiAgICAgICRjb2xvciA9ICcnOwogICAgICBpZiggJHJlbG5bJ3JlcXVpcmVkJ10gPT0gMiApICRjb2xvciA9ICRmZXVzZXJzLT5HZXRQcmVmZXJlbmNlKCdyZXF1aXJlZF9maWVsZF9jb2xvcicsJ2JsdWUnKTsKICAgICAgJG1hcmtlciA9ICcnOwogICAgICBpZiggJHJlbG5bJ3JlcXVpcmVkJ10gPT0gMiApICRtYXJrZXIgPSAkZmV1c2Vycy0+R2V0UHJlZmVyZW5jZSgncmVxdWlyZWRfZmllbGRfbWFya2VyJywnKicpOwogICAgICAkb25lcm93LT5yZXF1aXJlZCA9ICgkcmVsblsncmVxdWlyZWQnXSA9PSAyKTsKICAgICAgJG9uZXJvdy0+Y29sb3IgICAgPSAkY29sb3I7CiAgICAgICRvbmVyb3ctPm1hcmtlciAgID0gJG1hcmtlcjsKICAgICAgJG9uZXJvdy0+aGlkZGVuID0gU2VsZnJlZ1V0aWxzOjpteUNyZWF0ZUlucHV0SGlkZGVuKCAkaWQsICdoaWRkZW5fJy4kcmVsblsnbmFtZSddLAoJCQkJCSAgICAgaW1wbG9kZSgiOyIsYXJyYXkoJHJlbG5bJ25hbWUnXSwkZGVmblsndHlwZSddLAoJCQkJCQkJICAgICAgICRkZWZuWydsZW5ndGgnXSwkcmVsblsncmVxdWlyZWQnXSkpKTsKCiAgICAgICR2YWwgPSBpc3NldCgkcGFyYW1zWydpbnB1dF8nLiRyZWxuWyduYW1lJ11dKSA/ICRwYXJhbXNbJ2lucHV0XycuJHJlbG5bJ25hbWUnXV0gOiAnJzsKICAgICAgJG9uZXJvdy0+cHJvbXB0ID0gJHJlbG5bJ3Byb21wdCddOwogICAgICAkb25lcm93LT5sYWJlbGZvciA9ICRpZC4kcmVsblsnbmFtZSddOwogICAgICBzd2l0Y2goICRkZWZuWyd0eXBlJ10gKQoJewoJY2FzZSAwOiAvLyB0ZXh0CgkgICRvbmVyb3ctPmNvbnRyb2wgPSAkbW9kdWxlLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ2lucHV0XycuJHJlbG5bJ25hbWUnXSwKCQkJCQkJICAgICAkdmFsLCAkZGVmblsnbGVuZ3RoJ10sICRkZWZuWydtYXhsZW5ndGgnXSApOwoJICBicmVhazsKCgljYXNlIDE6IC8vIGNoZWNrYm94CgkgICRvbmVyb3ctPmNvbnRyb2wgPSBTZWxmcmVnVXRpbHM6Om15Q3JlYXRlSW5wdXRDaGVja2JveCggJGlkLCAnaW5wdXRfJy4kcmVsblsnbmFtZSddLCAxLCAkdmFsICk7CgkgIGJyZWFrOwoKCWNhc2UgMjogLy8gZW1haWwKCSAgJG9uZXJvdy0+Y29udHJvbCA9ICRtb2R1bGUtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAnaW5wdXRfJy4kcmVsblsnbmFtZSddLAoJCQkJCQkgICAgICR2YWwsICRkZWZuWydsZW5ndGgnXSwgKCRkZWZuWydtYXhsZW5ndGgnXSkgKTsKCSAgYnJlYWs7CgoJY2FzZSAzOiAvLyB0ZXh0YXJlYQoJICAkb25lcm93LT5jb250cm9sID0gJG1vZHVsZS0+Q3JlYXRlVGV4dEFyZWEoZmFsc2UsICRpZCwgJHZhbCwgJ2lucHV0XycuJHJlbG5bJ25hbWUnXSk7CgkgIGJyZWFrOwoKCWNhc2UgNDogLy8gZHJvcGRvd24KCSAgJG9uZXJvdy0+Y29udHJvbCA9ICRtb2R1bGUtPkNyZWF0ZUlucHV0RHJvcGRvd24oIAoJCQkJCQkJJGlkLCAKCQkJCQkJCSdpbnB1dF8nLiRyZWxuWyduYW1lJ10sIAoJCQkJCQkJJGZldXNlcnMtPkdldFNlbGVjdE9wdGlvbnMoJGRlZm5bJ25hbWUnXSwgMSksIAoJCQkJCQkJLTEsIAoJCQkJCQkJJHZhbCk7CgkgIGJyZWFrOwoKCWNhc2UgNTogLy8gbXVsdGlzZWxlY3QKCSAgJG9uZXJvdy0+Y29udHJvbCA9ICRtb2R1bGUtPkNyZWF0ZUlucHV0U2VsZWN0TGlzdCgkaWQsCgkJCQkJCQkgICdpbnB1dF8nLiRkZWZuWyduYW1lJ10uJ1tdJywKCQkJCQkJCSAgJGZldXNlcnMtPkdldFNlbGVjdE9wdGlvbnMoJGRlZm5bJ25hbWUnXSwgMSksCgkJCQkJCQkgIGFycmF5KCksCgkJCQkJCQkgICR2YWwpOwoJICBicmVhazsKCX0KCiAgICAgIGFycmF5X3B1c2goICRyb3dhcnJheSwgJG9uZXJvdyApOwogICAgfQoKICAgICRpbmxpbmUgPSAkbW9kdWxlLT5HZXRQcmVmZXJlbmNlKCdpbmxpbmVfZm9ybXMnLHRydWUpOwogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ25vaW5saW5lJ10pICkKICAgICAgewoJJGlubGluZSA9IGZhbHNlOwogICAgICB9CiAgICAvLyBhbmQgdGhlIHJlc3Qgb2YgdGhlIHN0dWZmCiAgICAkbW9kdWxlLT5zbWFydHktPmFzc2lnbiAoJ3N0YXJ0Zm9ybScsCgkJCSAgICRtb2R1bGUtPkNyZWF0ZUZvcm1TdGFydCAoJGlkLCAncmVndXNlcicsIAoJCQkJCQkgICAgICRyZXR1cm5pZCwgJ3Bvc3QnLCAnJywgJGlubGluZSkpOwogICAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24gKCdlbmRmb3JtJywgJG1vZHVsZS0+Q3JlYXRlRm9ybUVuZCAoKSk7CiAgICAkbW9kdWxlLT5zbWFydHktPmFzc2lnbigndGl0bGUnLCRtb2R1bGUtPkxhbmcoJ3VzZXJfcmVnaXN0cmF0aW9uJykpOwogICAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ2hpZGRlbicsCgkJCSAgJG1vZHVsZS0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAnZ3JvdXBfaWQnLCAkZ3JwaWQgKS4KCQkJICAkbW9kdWxlLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICdncm91cCcsICRwYXJhbXNbJ2dyb3VwJ10gKSk7CiAgICAkbW9kdWxlLT5zbWFydHktPmFzc2lnbignY29udHJvbHMnLCAkcm93YXJyYXkpOwogICAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ2NvbnRyb2xjb3VudCcsIGNvdW50KCRyb3dhcnJheSkpOwogICAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsJG1vZHVsZS0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCdzdWJtaXQnLAoJCQkJCQkJICAgICRtb2R1bGUtPkxhbmcoJ3N1Ym1pdCcpKSk7CiAgICAkbW9kdWxlLT5zbWFydHktPmFzc2lnbignbXNnX3NlbmRhbm90aGVyZW1haWwnLAoJCQkgICRtb2R1bGUtPkxhbmcoJ21zZ19zZW5kYW5vdGhlcmVtYWlsJykpOwogICAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ2xpbmtfc2VuZGFub3RoZXJlbWFpbCcsCgkJCSAgJG1vZHVsZS0+Q3JlYXRlTGluaygkaWQsJ2RlZmF1bHQnLCRyZXR1cm5pZCwkbW9kdWxlLT5MYW5nKCdjbGlja2hlcmUnKSwKCQkJCQkgICAgYXJyYXkoJ21vZGUnPT4nc2VuZGFub3RoZXJlbWFpbCcpLCcnLGZhbHNlLHRydWUpKTsKCiAgICAkY2FwdGNoYSA9JiAkbW9kdWxlLT5HZXRNb2R1bGVJbnN0YW5jZSgnQ2FwdGNoYScpOwogICAgaWYoIGlzX29iamVjdCgkY2FwdGNoYSkgJiYgIWlzc2V0KCRwYXJhbXNbJ25vY2FwdGNoYSddKSApCiAgICAgIHsKCSRtb2R1bGUtPnNtYXJ0eS0+YXNzaWduKCdjYXB0Y2hhX3RpdGxlJywgJG1vZHVsZS0+TGFuZygnY2FwdGNoYV90aXRsZScpKTsKCSRtb2R1bGUtPnNtYXJ0eS0+YXNzaWduKCdjYXB0Y2hhJywgJGNhcHRjaGEtPmdldENhcHRjaGEoKSk7CgkkbW9kdWxlLT5zbWFydHktPmFzc2lnbignaW5wdXRfY2FwdGNoYScsCgkJCQkkbW9kdWxlLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdpbnB1dF9jYXB0Y2hhJywnJywxMCkpOwogICAgICB9CgkKICAgIC8vIHRvZG8sIHB1dCB0aGlzIGludG8gdGhlIGRhdGFiYXNlIGFuZCBsZXQgdGhlIGFkbWluIHBsYXkgd2l0aCBpdC4KICAgIGVjaG8gJG1vZHVsZS0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCdzZWxmcmVnX3JlZzF0ZW1wbGF0ZScpOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIFVzZXJEaXNwbGF5VmVyaWZpY2F0aW9uRm9ybSgkaWQsICRwYXJhbXMsICRyZXR1cm5faWQsICRtZXNzYWdlKQogICBOT1QgUEFSVCBPRiBUSEUgTU9EVUxFIEFQSQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwpmdW5jdGlvbiBfVXNlckRpc3BsYXlWZXJpZmljYXRpb25Gb3JtKCAmJG1vZHVsZSwgJGlkLCAmJHBhcmFtcywgJHJldHVybmlkICkKICB7CiAgICAkZmV1c2VycyA9JiAkbW9kdWxlLT5HZXRNb2R1bGVJbnN0YW5jZSgnRnJvbnRFbmRVc2VycycpOwogICAgaWYoICEkZmV1c2VycyApCiAgICAgIHsKCSRtb2R1bGUtPl9EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAKCQkJCSAkbW9kdWxlLT5MYW5nKCdlcnJvcl9ub2ZldXNlcnNtb2R1bGUnKSk7CglyZXR1cm47CiAgICAgIH0KCiAgICBpZiggaXNzZXQoICRwYXJhbXNbJ2Vycm9yJ10gKSApCiAgICAgIHsKCSRtb2R1bGUtPnNtYXJ0eS0+YXNzaWduKCdlcnJvcicsICRwYXJhbXNbJ2Vycm9yJ10pOwogICAgICB9CiAgICBpZiggaXNzZXQoICRwYXJhbXNbJ21lc3NhZ2UnXSApICkKICAgICAgewoJJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ21lc3NhZ2UnLCAkcGFyYW1zWydtZXNzYWdlJ10pOwogICAgICB9CgogICAgJHVzZXJuYW1lID0gJyc7CiAgICBpZiggaXNzZXQoICRwYXJhbXNbJ2lucHV0X3VzZXJuYW1lJ10gKSApCiAgICAgIHsKCSR1c2VybmFtZSA9IHRyaW0oJHBhcmFtc1snaW5wdXRfdXNlcm5hbWUnXSk7CiAgICAgIH0KICAgICRwYXNzd29yZCA9ICcnOwogICAgaWYoIGlzc2V0KCAkcGFyYW1zWydpbnB1dF9wYXNzd29yZCddICkgKQogICAgICB7CgkkcGFzc3dvcmQgPSB0cmltKCRwYXJhbXNbJ2lucHV0X3Bhc3N3b3JkJ10pOwogICAgICB9CiAgICAkY29kZSA9ICcnOwogICAgaWYoIGlzc2V0KCAkcGFyYW1zWydpbnB1dF9jb2RlJ10gKSApCiAgICAgIHsKCSRjb2RlID0gdHJpbSgkcGFyYW1zWydpbnB1dF9jb2RlJ10pOwogICAgICB9CiAgICAkZ3JvdXBfaWQgPSAnJzsKICAgIGlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfZ3JvdXBfaWQnXSApICkKICAgICAgewoJJGdyb3VwX2lkID0gdHJpbSgkcGFyYW1zWydpbnB1dF9ncm91cF9pZCddKTsKICAgICAgfQoKICAgIC8vIHByb2Nlc3MgdGhlIHRlbXBsYXRlCiAgICAkbW9kdWxlLT5zbWFydHktPmFzc2lnbigndGl0bGUnLAoJCQkgICRtb2R1bGUtPkxhbmcoJ3RpdGxlX3ZlcmlmeXJlZ2lzdHJhdGlvbicpKTsKICAgICRtb2R1bGUtPnNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfdXNlcm5hbWUnLAoJCQkgICRtb2R1bGUtPkxhbmcoJ3VzZXJuYW1lJykpOwogICAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X3VzZXJuYW1lJywKCQkJICAkbW9kdWxlLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdpbnB1dF91c2VybmFtZScsCgkJCQkJCSAkdXNlcm5hbWUsIAoJCQkJCQkgJGZldXNlcnMtPkdldFByZWZlcmVuY2UoJ3VzZXJuYW1lZmxkbGVuZ3RoJyksCgkJCQkJCSAkZmV1c2Vycy0+R2V0UHJlZmVyZW5jZSgnbWF4X3VzZXJuYW1lbGVuZ3RoJykpKTsKICAgICRtb2R1bGUtPnNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfcGFzc3dvcmQnLAoJCQkgICRtb2R1bGUtPkxhbmcoJ3Bhc3N3b3JkJykpOwogICAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X3Bhc3N3b3JkJywKCQkJICAkbW9kdWxlLT5DcmVhdGVJbnB1dFBhc3N3b3JkKCRpZCwnaW5wdXRfcGFzc3dvcmQnLAoJCQkJCQkgICAgICRwYXNzd29yZCwgCgkJCQkJCSAgICAgJGZldXNlcnMtPkdldFByZWZlcmVuY2UoJ3Bhc3N3b3JkZmxkbGVuZ3RoJyksCgkJCQkJCSAgICAgJGZldXNlcnMtPkdldFByZWZlcmVuY2UoJ21heF9wYXNzd29yZGxlbmd0aCcpKSk7CiAgICAkbW9kdWxlLT5zbWFydHktPmFzc2lnbigncHJvbXB0X2NvZGUnLAoJCQkgICRtb2R1bGUtPkxhbmcoJ2NvZGUnKSk7CiAgICAkbW9kdWxlLT5zbWFydHktPmFzc2lnbignaW5wdXRfY29kZScsCgkJCSAgJG1vZHVsZS0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwnaW5wdXRfY29kZScsCgkJCQkJCSAkY29kZSwgMzAsIDMwICkpOwogICAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsCgkJCSAgJG1vZHVsZS0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCdzdWJtaXQnLCRtb2R1bGUtPkxhbmcoJ3N1Ym1pdCcpKSk7CiAgICAkbW9kdWxlLT5zbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywKCQkJICAgICRtb2R1bGUtPkNyZWF0ZUZyb250ZW5kRm9ybVN0YXJ0KCRpZCwgJHJldHVybmlkLCAndmVyaWZ5dXNlcicpKTsKICAgICRtb2R1bGUtPnNtYXJ0eS0+YXNzaWduKCdoaWRkZW4nLAoJCQkgICRtb2R1bGUtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgJ2lucHV0X2dyb3VwX2lkJywgJGdyb3VwX2lkICkpOwogICAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ2VuZGZvcm0nLAoJCQkgICRtb2R1bGUtPkNyZWF0ZUZvcm1FbmQoKSk7CiAgICBlY2hvICRtb2R1bGUtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgnc2VsZnJlZ19yZWcydGVtcGxhdGUnKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBVc2VyRGlzcGxheUxvc3RSZWdFbWFpbEZvcm0oJGlkLCAkcGFyYW1zLCAkcmV0dXJuX2lkLCAkbWVzc2FnZSkKICAgTk9UIFBBUlQgT0YgVEhFIE1PRFVMRSBBUEkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KZnVuY3Rpb24gX1VzZXJEaXNwbGF5TG9zdFJlZ0VtYWlsRm9ybSggJiRtb2R1bGUsICRpZCwgJiRwYXJhbXMsICRyZXR1cm5pZCApCiAgewogICAgJGZldXNlcnMgPSYgJG1vZHVsZS0+R2V0TW9kdWxlSW5zdGFuY2UoJ0Zyb250RW5kVXNlcnMnKTsKICAgIGlmKCAhJGZldXNlcnMgKQogICAgICB7CgkkbW9kdWxlLT5fRGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwgCgkJCQkgJG1vZHVsZS0+TGFuZygnZXJyb3Jfbm9mZXVzZXJzbW9kdWxlJykpOwoJcmV0dXJuOwogICAgICB9CgogICAgaWYoIGlzc2V0KCAkcGFyYW1zWydlcnJvciddICkgKQogICAgICB7CgkkbW9kdWxlLT5zbWFydHktPmFzc2lnbignZXJyb3InLCAkcGFyYW1zWydlcnJvciddKTsKICAgICAgfQogICAgaWYoIGlzc2V0KCAkcGFyYW1zWydtZXNzYWdlJ10gKSApCiAgICAgIHsKCSRtb2R1bGUtPnNtYXJ0eS0+YXNzaWduKCdtZXNzYWdlJywgJHBhcmFtc1snbWVzc2FnZSddKTsKICAgICAgfQoKICAgICRpbmxpbmUgPSAkbW9kdWxlLT5HZXRQcmVmZXJlbmNlKCdpbmxpbmVfZm9ybXMnLHRydWUpOwogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ25vaW5saW5lJ10pICkKICAgICAgewoJJGlubGluZSA9IGZhbHNlOwogICAgICB9CiAgICAkbW9kdWxlLT5zbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywKCQkJICAgICRtb2R1bGUtPkNyZWF0ZUZvcm1TdGFydCggJGlkLCAnc2VuZGFub3RoZXJlbWFpbCcsICRyZXR1cm5pZCwgJ3Bvc3QnLCAnJywgJGlubGluZSkpOwogICAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24gKCdlbmRmb3JtJywgJG1vZHVsZS0+Q3JlYXRlRm9ybUVuZCAoKSk7CiAgICAkbW9kdWxlLT5zbWFydHktPmFzc2lnbiAoJ2lucHV0X3VzZXJuYW1lJywKCQkJICAgJG9uZXJvdy0+Y29udHJvbCA9JG1vZHVsZS0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2lucHV0X3VzZXJuYW1lJywgCgkJCQkJCQkJICAgICR2YWwsIDIwLCAKCQkJCQkJCQkgICAgJGZldXNlcnMtPkdldFByZWZlcmVuY2UoJ21heF91c2VybmFtZWxlbmd0aCcpKSk7CiAgICAkbW9kdWxlLT5zbWFydHktPmFzc2lnbignc3VibWl0JywkbW9kdWxlLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ3N1Ym1pdCcsCgkJCQkJCQkgICAgJG1vZHVsZS0+TGFuZygnc3VibWl0JykpKTsKICAgIGVjaG8gJG1vZHVsZS0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCdzZWxmcmVnX3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnKTsKICB9CgoKCgogICAgJG1vZGUgPSAnc2lnbnVwJzsKICAgIGlmKCBpc3NldCggJHBhcmFtc1snbW9kZSddICkgKQogICAgICB7CgkkbW9kZSA9ICRwYXJhbXNbJ21vZGUnXTsKICAgICAgfQoKICAgIHN3aXRjaCggJG1vZGUgKQogICAgICB7CiAgICAgIGNhc2UgJ3NpZ251cCc6CglfVXNlckRpc3BsYXlSZWdpc3RyYXRpb25Gb3JtMSggJHRoaXMsICRpZCwgJHBhcmFtcywgJHJldHVybmlkICk7CglicmVhazsKCiAgICAgIGNhc2UgJ3ZlcmlmeSc6CglfVXNlckRpc3BsYXlWZXJpZmljYXRpb25Gb3JtKCAkdGhpcywgJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQgKTsKCWJyZWFrOwoKICAgICAgY2FzZSAnbG9zdGVtYWlsJzoKICAgICAgY2FzZSAnc2VuZGFub3RoZXJlbWFpbCc6CiAgICAgIGNhc2UgJ3NlbmRtb3JlbWFpbCc6CglfVXNlckRpc3BsYXlMb3N0UmVnRW1haWxGb3JtKCAkdGhpcywgJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQgKTsKCWJyZWFrOwoKICAgICAgZGVmYXVsdDoKCSR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSggJGlkLCAnJywgJHJldHVybmlkLAoJCQkJICAkdGhpcy0+TGFuZygnZXJyb3JfaW52YWxpZG1vZGUnKSk7CglicmVhazsKICAgICAgfQoKPz4K]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNlbGZSZWdpc3RyYXRpb24gKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IHVzZXJzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMKIyAgd2l0aCBhIHdlYnNpdGUuCiMgCiMgVmVyc2lvbjogMS4xLjUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgpyZXF1aXJlX29uY2UoZGlybmFtZShfX0ZJTEVfXykuJy9mdW5jdGlvbnMuYWRtaW5wYW5lbC5waHAnKTsKCiRhY3RpdmVfdGFiID0gLTE7CmlmKCBpc3NldCgkcGFyYW1zWydhY3RpdmVfdGFiJ10pKQogIHsKICAgICRhY3RpdmVfdGFiID0gJHBhcmFtc1snYWN0aXZlX3RhYiddOwogIH0KCi8vIHRoZSB0YWJzCmVjaG8gJHRoaXMtPlN0YXJ0VGFiSGVhZGVycygpOwoKaWYoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBSZWdpc3RlcmluZyBVc2VycycgKSApCiAgewogICAgZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdhZG1pbnVzZXJzJywkdGhpcy0+TGFuZygndXNlcnMnKSwKCQkJICAgICAgICgkYWN0aXZlX3RhYiA9PSAnYWRtaW51c2VycycpKTsKICB9CgkJCSAgICAgICAKaWYoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBUZW1wbGF0ZXMnICkgKQogIHsKICAgIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcigncmVnMXRlbXBsYXRlJywgJHRoaXMtPkxhbmcoJ3JlZ2lzdHJhdGlvbjFfdGVtcGxhdGUnKSwgCgkJCSAgICAgICAoJGFjdGl2ZV90YWIgPT0gJ3JlZzF0ZW1wbGF0ZScpKTsKICAgIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcigncmVnMnRlbXBsYXRlJywgJHRoaXMtPkxhbmcoJ3JlZ2lzdHJhdGlvbjJfdGVtcGxhdGUnKSwgCgkJCSAgICAgICAoJGFjdGl2ZV90YWIgPT0gJ3JlZzJ0ZW1wbGF0ZScpKTsKICAgIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignZW1haWxjb25maXJtX3RlbXBsYXRlJywgJHRoaXMtPkxhbmcoJ2VtYWlsY29uZmlybV90ZW1wbGF0ZScpLCAKCQkJICAgICAgICgkYWN0aXZlX3RhYiA9PSAnZW1haWxjb25maXJtX3RlbXBsYXRlJykpOwogICAgZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdlbWFpbHVzZXJlZGl0ZWRfdGVtcGxhdGUnLCAkdGhpcy0+TGFuZygnZW1haWx1c2VyZWRpdGVkX3RlbXBsYXRlJyksIAoJCQkgICAgICAgKCRhY3RpdmVfdGFiID09ICdlbWFpbHVzZXJlZGl0ZWRfdGVtcGxhdGUnKSk7CiAgICBlY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ2ZpbmFsbWVzc2FnZV90ZW1wbGF0ZScsIAoJCQkgICAgICAgJHRoaXMtPkxhbmcoJ2ZpbmFsbWVzc2FnZV90ZW1wbGF0ZScpLAoJCQkgICAgICAgKCRhY3RpdmVfdGFiID09ICdmaW5hbG1lc3NhZ2VfdGVtcGxhdGUnKSk7CiAgICBlY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnLCAKCQkJICAgICAgICR0aGlzLT5MYW5nKCdzZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJyksCgkJCSAgICAgICAoJGFjdGl2ZV90YWIgPT0gJ3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnKSk7CiAgfQoKaWYoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBTaXRlIFByZWZlcmVuY2VzJykgKQogIHsKICAgIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcigncHJlZmVyZW5jZXMnLCAkdGhpcy0+TGFuZygncHJlZmVyZW5jZXMnKSwKCQkJICAgICAgICgkYWN0aXZlX3RhYiA9PSAncHJlZmVyZW5jZXMnKSk7CiAgfQplY2hvICR0aGlzLT5FbmRUYWJIZWFkZXJzKCk7CgovLyB0aGUgY29udGVudCBvZiB0aGUgdGFicwplY2hvICR0aGlzLT5TdGFydFRhYkNvbnRlbnQoKTsKCmlmKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgUmVnaXN0ZXJpbmcgVXNlcnMnICkgKQogIHsKICAgIGVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdhZG1pbnVzZXJzJyk7CiAgICBpbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24uYWRtaW5fdXNlcnN0YWIucGhwJyk7CiAgICBlY2hvICR0aGlzLT5FbmRUYWIoKTsKICB9CgppZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFRlbXBsYXRlcycgKSApCiAgewogICAgZWNobyAkdGhpcy0+U3RhcnRUYWIoJ3JlZzF0ZW1wbGF0ZScpOwogICAgX0Rpc3BsYXlBZG1pblJlZzFUZW1wbGF0ZVRhYiggJHRoaXMsICRpZCwgJHBhcmFtcywgJHJldHVybmlkICk7CiAgICBlY2hvICR0aGlzLT5FbmRUYWIoKTsKCQogICAgZWNobyAkdGhpcy0+U3RhcnRUYWIoJ3JlZzJ0ZW1wbGF0ZScpOwogICAgX0Rpc3BsYXlBZG1pblJlZzJUZW1wbGF0ZVRhYiggJHRoaXMsICRpZCwgJHBhcmFtcywgJHJldHVybmlkICk7CiAgICBlY2hvICR0aGlzLT5FbmRUYWIoKTsKCQogICAgZWNobyAkdGhpcy0+U3RhcnRUYWIoJ2VtYWlsY29uZmlybV90ZW1wbGF0ZScpOwogICAgX0Rpc3BsYXlBZG1pbkVtYWlsQ29uZmlybWF0aW9uVGVtcGxhdGVUYWIoICR0aGlzLCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCApOwogICAgZWNobyAkdGhpcy0+RW5kVGFiKCk7CgkKICAgIGVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdlbWFpbHVzZXJlZGl0ZWRfdGVtcGxhdGUnKTsKICAgIF9EaXNwbGF5QWRtaW5FbWFpbFVzZXJFZGl0ZWRUZW1wbGF0ZVRhYiggJHRoaXMsICRpZCwgJHBhcmFtcywgJHJldHVybmlkICk7CiAgICBlY2hvICR0aGlzLT5FbmRUYWIoKTsKCQogICAgZWNobyAkdGhpcy0+U3RhcnRUYWIoJ2ZpbmFsbWVzc2FnZV90ZW1wbGF0ZScpOwogICAgX0Rpc3BsYXlBZG1pbkZpbmFsTWVzc2FnZVRlbXBsYXRlVGFiKCAkdGhpcywgJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQgKTsKICAgIGVjaG8gJHRoaXMtPkVuZFRhYigpOwoKICAgIGVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdzZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJyk7CiAgICBfRGlzcGxheUFkbWluU2VuZEFub3RoZXJFbWFpbFRlbXBsYXRlVGFiKCAkdGhpcywgJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQgKTsKICAgIGVjaG8gJHRoaXMtPkVuZFRhYigpOwogIH0KCmlmKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpICkKICB7CiAgICBlY2hvICR0aGlzLT5TdGFydFRhYigncHJlZmVyZW5jZXMnKTsKICAgIGluY2x1ZGUoZGlybmFtZShfX0ZJTEVfXykuJy9mdW5jdGlvbi5hZG1pbl9wcmVmc3RhYi5waHAnKTsKICAgIGVjaG8gJHRoaXMtPkVuZFRhYigpOwogIH0KCmVjaG8gJHRoaXMtPkVuZFRhYkNvbnRlbnQoKTsKCgoKLy8gRU9GCj8+]]></data>
	</file>
	<file>
	  <filename>/action.do_edituser.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNlbGZSZWdpc3RyYXRpb24gKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IHVzZXJzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMKIyAgd2l0aCBhIHdlYnNpdGUuCiMgCiMgVmVyc2lvbjogMS4xLjUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgppZiggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBSZWdpc3RlcmluZyBVc2VycycgKSApCiAgewogICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAKCQkJICAgICAkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwogICAgcmV0dXJuOwogIH0KCiAgICBpZiggIWlzc2V0KCAkcGFyYW1zWyd1c2VyX2lkJ10gKSApCiAgICAgIHsKCSR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSggJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsCgkJCQkgICR0aGlzLT5MYW5nKCdlcnJvcl9pbnN1ZmZpY2llbnRwYXJhbXMnKSk7CglyZXR1cm47CiAgICAgIH0KCiRmZXVzZXJzID0mICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgnRnJvbnRFbmRVc2VycycpOwppZiggISRmZXVzZXJzICkKICB7CiAgICAvLyB0aGlzIGlzIHVnbHkgZm9yIHRoZSB1c2VyIHRvIHNlZQogICAgLy8gYnV0IGF0IGxlYXN0IHRoZSBhZG1pbiB3aWxsIGJlIGFibGUgdG8gZmlndXJlIGl0IG91dAogICAgLy8gdGhpcyBzaG91bGRuJ3QgaGFwcGVuIG9uY2UgdGhlIHVzZXIgaGFzIHNlZW4gdGhlIGZvcm0uCiAgICAkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UoICRpZCwgJycsICRyZXR1cm5pZCwKCQkJICAgICAgJHRoaXMtPkxhbmcoJ2Vycm9yX25vZmV1c2Vyc21vZHVsZScpKTsKICAgIHJldHVybjsKICB9CgokY21zbWFpbGVyID0mICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgnQ01TTWFpbGVyJyk7CmlmKCAhJGNtc21haWxlciApCiAgewogICAgLy8gdGhpcyBpcyB1Z2x5IGZvciB0aGUgdXNlciB0byBzZWUKICAgIC8vIGJ1dCBhdCBsZWFzdCB0aGUgYWRtaW4gd2lsbCBiZSBhYmxlIHRvIGZpZ3VyZSBpdCBvdXQKICAgICR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSggJGlkLCAnJywgJHJldHVybmlkLAoJCQkgICAgICAkdGhpcy0+TGFuZygnZXJyb3Jfbm9mZXVzZXJzbW9kdWxlJykpOwogICAgcmV0dXJuOwogIH0KCi8vIGNoZWNrIGZvciByZXF1aXJlZCBwYXJhbWV0ZXJzCmlmKCAhaXNzZXQoICRwYXJhbXNbJ2dyb3VwX2lkJ10gKSApCiAgewogICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwKCQkJICAgICAgJHRoaXMtPkxhbmcoJ2Vycm9yX2luc3VmZmljaWVudHBhcmFtcycpKTsKICAgIHJldHVybjsKICB9CgovLyBDaGVjayB0byBlbnN1cmUgYWxsIHJlcXVpcmVkIGZpZWxkcyBoYXZlIHNvbWUgY29udGVudAovLyBhbmQgdmFsaWRhdGUgZW1haWwgZmllbGRzCmZvcmVhY2goICRwYXJhbXMgYXMgJGtleSA9PiAkdmFsICkKewogIGlmKCBwcmVnX21hdGNoKCAnL15oaWRkZW5fLycsICRrZXkgKSApCiAgICB7CiAgICAgICRwcm9wbmFtZSA9IHN1YnN0cigka2V5LHN0cmxlbignaGlkZGVuXycpKTsKICAgICAgaWYoICRwcm9wbmFtZSA9PSAncGFzc3dvcmQnIHx8ICRwcm9wbmFtZSA9PSAncmVwZWF0cGFzc3dvcmQnICkKCXsKCSAgY29udGludWU7Cgl9CiAgICAgICRhcnIgPSBzcGxpdCgiOyIsJHBhcmFtc1ska2V5XSk7CiAgICAgICRyZXF1aXJlZCA9ICRhcnJbM107CiAgICAgIGlmKCAkcmVxdWlyZWQgPT0gMiAmJiAKCSAgKCFpc3NldCgkcGFyYW1zWydpbnB1dF8nLiRwcm9wbmFtZV0pIHx8ICRwYXJhbXNbJ2lucHV0XycuJHByb3BuYW1lXSA9PSAnJyApICkKCXsKCSAgJHBhcmFtc1snZXJyb3InXSA9IDE7CgkgICRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9yZXF1aXJlZGZpZWxkJywkcHJvcG5hbWUpOwoJICAkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJHBhcmFtcyApOwoJfQoKICAgICAgaWYoICRhcnJbMV0gPT0gJzInICkKCXsKCSAgJHJlc3VsdCA9ICRmZXVzZXJzLT5Jc1ZhbGlkRW1haWxBZGRyZXNzKCRwYXJhbXNbJ2lucHV0XycuJHByb3BuYW1lXSk7CgkgIGlmKCAkcmVzdWx0WzBdID09IGZhbHNlICkKCSAgICB7CgkgICAgICAkcGFyYW1zWydlcnJvciddID0gMTsKCSAgICAgICRwYXJhbXNbJ21lc3NhZ2UnXSA9ICRyZXN1bHRbMV07CgkgICAgICAkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJHBhcmFtcyApOwoJICAgIH0KCX0KICAgIH0KfQoKCi8vIGdldCB0aGUgdXNlcm5hbWUgYW5kIHBhc3N3b3JkCiR1c2VybmFtZSA9ICcnOwppZiggaXNzZXQoICRwYXJhbXNbJ2lucHV0X3VzZXJuYW1lJ10gKSApCiAgewogICAgJHVzZXJuYW1lID0gdHJpbSgkcGFyYW1zWydpbnB1dF91c2VybmFtZSddKTsKICB9CiRwYXNzd29yZCA9ICcnOwppZiggaXNzZXQoICRwYXJhbXNbJ2lucHV0X3Bhc3N3b3JkJ10gKSApCiAgewogICAgJHBhc3N3b3JkID0gdHJpbSgkcGFyYW1zWydpbnB1dF9wYXNzd29yZCddKTsKICB9CiRyZXBlYXRwYXNzd29yZCA9ICcnOwppZiggaXNzZXQoICRwYXJhbXNbJ2lucHV0X3JlcGVhdHBhc3N3b3JkJ10gKSApCiAgewogICAgJHJlcGVhdHBhc3N3b3JkID0gdHJpbSgkcGFyYW1zWydpbnB1dF9yZXBlYXRwYXNzd29yZCddKTsKICB9CgovLyBjaGVjayBpZiB0aGUgdXNlcm5hbWUgaXMgdmFsaWQgb3IgdGFrZW4KaWYoICR1c2VybmFtZSA9PSAnJyApCiAgewogICAgJHBhcmFtc1snZXJyb3InXSA9IDE7CiAgICAkcGFyYW1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfZW1wdHl1c2VybmFtZScpOwogICAgJHRoaXMtPm15UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHQnLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsKICAgIHJldHVybjsKICB9CmlmKCAhJGZldXNlcnMtPklzVmFsaWRVc2VybmFtZSggJHVzZXJuYW1lICkgKQogIHsKICAgICRwYXJhbXNbJ2Vycm9yJ10gPSAxOwogICAgJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2ludmFsaWR1c2VybmFtZScpOwogICAgJHRoaXMtPm15UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHQnLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsKICAgIHJldHVybjsKICB9CiR1aWQgPSAkdGhpcy0+R2V0VGVtcFVzZXJJRCgkdXNlcm5hbWUpOwppZiggJHVpZCAhPSBmYWxzZSAmJiAkdWlkICE9ICRwYXJhbXNbJ3VzZXJfaWQnXSApCiAgewogICAgJHBhcmFtc1snZXJyb3InXSA9IDE7CiAgICAkcGFyYW1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfdXNlcm5hbWV0YWtlbicpOwogICAgJHRoaXMtPm15UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHQnLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsKICAgIHJldHVybjsKICB9CgoKLy8gY2hlY2sgaWYgdGhlIHBhc3N3b3JkcyBtYXRjaCBvciBpZiB0aGV5J3JlIHZhbGlkCi8vIGlmIHRoZXkncmUgc2V0IGF0YWxsCmlmKCAkcGFzc3dvcmQgIT0gJycgKQogIHsKICAgIGlmKCAkcGFzc3dvcmQgIT0gJHJlcGVhdHBhc3N3b3JkICkKICAgICAgewoJJHBhcmFtc1snZXJyb3InXSA9IDE7CgkkcGFyYW1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfcGFzc3dvcmRzZG9udG1hdGNoJyk7CgkkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJHBhcmFtcyApOwoJcmV0dXJuOwogICAgICB9CiAgICAkbWlucHdsZW4gPSAkZmV1c2Vycy0+R2V0UHJlZmVyZW5jZSgnbWluX3Bhc3N3b3JkbGVuZ3RoJyk7CiAgICAkbWF4cHdsZW4gPSAkZmV1c2Vycy0+R2V0UHJlZmVyZW5jZSgnbWF4X3Bhc3N3b3JkbGVuZ3RoJyk7CiAgICBpZiggc3RybGVuKCRwYXNzd29yZCkgPCAkbWlucHdsZW4gfHwgc3RybGVuKCRwYXNzd29yZCkgPiAkbWF4cHdsZW4gKQogICAgICB7CgkkcGFyYW1zWydlcnJvciddID0gMTsKCSRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9pbnZhbGlkcGFzc3dvcmQnLAoJCQkJCSBhcnJheSgkbWlucHdsZW4sJG1heHB3bGVuKSk7CgkkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJHBhcmFtcyApOwoJcmV0dXJuOwogICAgICB9CiAgfQoKCi8vIGZpbmQgYW4gZW1haWwgZmllbGQuLi4gc29tZXRoaW5nIHRoYXQncyBuYW1lIGhhcyBlbWFpbCBpbiBpdAovLyBvciBpcyBvZiB0eXBlIDIKJGVtYWlsX2ZpZWxkID0gJyc7CmZvcmVhY2goICRwYXJhbXMgYXMgJGtleSA9PiAkdmFsICkKewogIGlmKCBwcmVnX21hdGNoKCAnL15oaWRkZW5fLycsICRrZXkgKSApCiAgICB7CiAgICAgICRwcm9wbmFtZSA9IHN1YnN0cigka2V5LHN0cmxlbignaGlkZGVuXycpKTsKICAgICAgJGFyciA9IHNwbGl0KCI7IiwkcGFyYW1zWyRrZXldKTsKCiAgICAgIGlmKCBwcmVnX21hdGNoKCcvZW1haWwvaScsJGFyclswXSkgfHwgJGFyclsxXSA9PSAyICkKCXsKCSAgLy8gZm91bmQgc29tZXRoaW5nIHJlc2VtYmxpbmcgYW4gZW1haWwgZmllbGQKCSAgJGVtYWlsX2ZpZWxkID0gJ2lucHV0XycuJHByb3BuYW1lOwoJICBicmVhazsKCX0KICAgIH0KfSAgICAKaWYoICRlbWFpbF9maWVsZCA9PSAnJyApCiAgewogICAgJHBhcmFtc1snZXJyb3InXSA9IDE7CiAgICAkcGFyYW1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3Jfbm9lbWFpbGFkZHJlc3MnKTsKICAgICR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAkcGFyYW1zICk7CiAgICByZXR1cm47CiAgfQoKLy8gZm9yIGFueSB0eXBlIDUgcHJvcGVydGllcywgd2UgY2hhbmdlIHRoZSAKLy8gYXJyYXkgcmVzdWx0IGludG8gYW4gZW5jb2RlZCBzdHJpbmcKZm9yZWFjaCggJHBhcmFtcyBhcyAka2V5ID0+ICR2YWwgKQp7CiAgaWYoIHByZWdfbWF0Y2goICcvXmhpZGRlbl8vJywgJGtleSApICkKICAgIHsKICAgICAgJHByb3BuYW1lID0gc3Vic3RyKCRrZXksc3RybGVuKCdoaWRkZW5fJykpOwogICAgICAkYXJyID0gc3BsaXQoIjsiLCRwYXJhbXNbJGtleV0pOwogICAgICBpZiggJGFyclsxXSA9PSA1ICkKCXsKCSAgJHBhcmFtc1snaW5wdXRfJy4kcHJvcG5hbWVdID0gaW1wbG9kZSgnLCcsJHBhcmFtc1snaW5wdXRfJy4kcHJvcG5hbWVdKTsKCX0KICAgIH0KfQoKCi8vIGdlbmVyYXRlIGEgdW5pcXVlIGNvZGUgdGhhdCB0aGUgdXNlciBjYW4gZW50ZXIgdG8gZG91YmxlIGNvbmZpcm0KLy8gaGlzIGxvZ2luLgokY29kZSA9ICRmZXVzZXJzLT5HZW5lcmF0ZVJhbmRvbVByaW50YWJsZVN0cmluZygpOwoKLy8gaGF2ZSB0byBhZGQgdGhlIHJlY29yZCB0byB0aGUgZGF0YWJhc2Ugc28gdGhhdCB3ZSBrbm93IHdobyB0aGlzIGd1eSBpcwovLyB3aGVuIGhlIGNvbWVzIGJhY2sKJHJldHVybiA9ICR0aGlzLT5FZGl0VGVtcFVzZXIoICRwYXJhbXNbJ3VzZXJfaWQnXSwgJHVzZXJuYW1lLCAkcGFzc3dvcmQsICRjb2RlICk7CmlmKCAkcmV0dXJuWzBdID09IGZhbHNlICkKICB7CiAgICAkcGFyYW1zWydlcnJvciddID0gMTsKICAgICRwYXJhbXNbJ21lc3NhZ2UnXSA9ICRyZXR1cm5bMV07CiAgICAkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJHBhcmFtcyApOwogICAgcmV0dXJuOwogIH0KCgovLyByZW1vdmUgYW55IGV4aXN0aW5nIHByb3BlcnRpZXMKJHRoaXMtPkRlbGV0ZVRlbXBVc2VyUHJvcGVydGllcyggJHBhcmFtc1sndXNlcl9pZCddICk7CgovLyBhbmQgYWRkIGhpcyBwcm9wZXJ0aWVzIHRvbwovLyBidXQgZmlyc3Qgd2UgcmVtb3ZlIHRoZSBvbmVzIHdlJ3ZlIGhhbmRsZWQgYWxyZWFkeQokdG1wdWlkID0gJHBhcmFtc1sndXNlcl9pZCddOwp1bnNldCgkcGFyYW1zWydpbnB1dF91c2VybmFtZSddICk7CnVuc2V0KCRwYXJhbXNbJ2lucHV0X3Bhc3N3b3JkJ10gKTsKdW5zZXQoJHBhcmFtc1snaW5wdXRfcmVwZWF0cGFzc3dvcmQnXSApOwp1bnNldCgkcGFyYW1zWydoaWRkZW5fdXNlcm5hbWUnXSApOwp1bnNldCgkcGFyYW1zWydoaWRkZW5fcGFzc3dvcmQnXSApOwp1bnNldCgkcGFyYW1zWydoaWRkZW5fcmVwZWF0cGFzc3dvcmQnXSApOwoKZm9yZWFjaCggJHBhcmFtcyBhcyAka2V5ID0+ICR2YWwgKQp7CiAgaWYoIHByZWdfbWF0Y2goICcvXmhpZGRlbl8vJywgJGtleSApICkKICAgIHsKICAgICAgJHByb3BuYW1lID0gc3Vic3RyKCRrZXksc3RybGVuKCdoaWRkZW5fJykpOwogICAgICBpZiggIWlzc2V0KCAkcGFyYW1zWydpbnB1dF8nLiRwcm9wbmFtZV0gKSApIAoJewoJICBjb250aW51ZTsKCX0KICAgICAgJHJldHVybiA9ICR0aGlzLT5BZGRUZW1wVXNlclByb3BlcnR5KCAkdG1wdWlkLCAkcHJvcG5hbWUsIAoJCQkJCSAgICAkcGFyYW1zWydpbnB1dF8nLiRwcm9wbmFtZV0gKTsKICAgICAgaWYoICRyZXR1cm5bMF0gPT0gZmFsc2UgKQoJewoJICAvLyBub3cgd2UgaGF2ZSBhbiBpc3N1ZSB0byBmaWd1cmUgb3V0CgkgICRwYXJhbXNbJ2Vycm9yJ10gPSAxOwoJICAkcGFyYW1zWydtZXNzYWdlJ10gPSAkcmV0dXJuWzFdOwoJICAkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJHBhcmFtcyApOwoJICByZXR1cm47Cgl9CiAgICB9Cn0KCmlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfYWRqdXN0ZW1haWwnXSApICYmICRwYXJhbXNbJ2lucHV0X2FkanVzdGVtYWlsJ10gPT0gMSApCiAgewogICAgLy8gb2theSwgd2UncmUgbm93IHJlYWR5IHRvIHNlbmQgdGhlIGVtYWlsLCB5YWhvbywgeWFob28sIHlhaG9vCiAgICAvLyBub3cgd2UgaGF2ZSB0byBkZWNpZGUgd2hhdCBnb2VzIGluIGl0LgogICAgJGNtc21haWxlci0+QWRkQWRkcmVzcyggJHBhcmFtc1skZW1haWxfZmllbGRdICk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ25hbWUnLCR1c2VybmFtZSk7CiAgICBpZiggJHBhc3N3b3JkICE9ICcnICkKICAgICAgewoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdwYXNzd29yZCcsJHBhc3N3b3JkKTsKICAgICAgfQogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdjb2RlJywkY29kZSk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3NpdGVuYW1lJywgJGdDbXMtPmNvbmZpZ1sncm9vdF91cmwnXSk7CiAgICAkcGFybXMgPSBhcnJheSggJ21vZGUnID0+ICd2ZXJpZnknLAoJCSAgICAnaW5wdXRfdXNlcm5hbWUnID0+ICR1c2VybmFtZSwKCQkgICAgJ2lucHV0X2dyb3VwX2lkJyA9PiAkcGFyYW1zWydncm91cF9pZCddLAoJCSAgICAnaW5wdXRfY29kZScgPT4gJGNvZGUgKTsKICAgICR1cmwgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsJ2RlZmF1bHQnLCRyZXR1cm5pZCwnJywkcGFybXMsJycsdHJ1ZSx0cnVlKTsKICAgICRzbWFsbHVybCA9ICR0aGlzLT5DcmVhdGVMaW5rKCAkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAnJywgYXJyYXkoJ21vZGUnID0+ICd2ZXJpZnknKSwnJyx0cnVlLHRydWUgKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbigndXJsJywkdXJsKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignc21hbGx1cmwnLCRzbWFsbHVybCk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2xpbmsnLCR0aGlzLT5DcmVhdGVMaW5rKCRpZCwnZGVmYXVsdCcsJHJldHVybmlkLCR1cmwsJHBhcm1zLCcnLGZhbHNlLHRydWUpKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignc21hbGxsaW5rJywkdGhpcy0+Q3JlYXRlTGluaygkaWQsJ2RlZmF1bHQnLCRyZXR1cm5pZCwKCQkJCQkJCSRzbWFsbHVybCxhcnJheSgnbW9kZSc9Pid2ZXJpZnknKSwnJyxmYWxzZSx0cnVlKSk7CiAgICAkaHRtbGJvZHkgPSAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCdzZWxmcmVnX2VtYWlsdXNlcmVkaXRlZF90ZW1wbGF0ZScpOwogICAgJHRleHRib2R5ID0gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgnc2VsZnJlZ19lbWFpbHVzZXJlZGl0ZWRfdGV4dHRlbXBsYXRlJyk7CiAgICAkY21zbWFpbGVyLT5TZXRCb2R5KCAkdGV4dGJvZHkgKTsKICAgIGlmKCAkaHRtbGJvZHkgIT0gJycgKQogICAgICB7CgkkY21zbWFpbGVyLT5Jc0hUTUwodHJ1ZSk7ICAvLyB3ZSdyZSBzZW5kaW5nIGFuIGh0bWwgbWFpbAoJJGNtc21haWxlci0+U2V0Qm9keSggJGh0bWxib2R5ICk7CgkkY21zbWFpbGVyLT5TZXRBbHRCb2R5KCAkdGV4dGJvZHkgKTsKICAgICAgfQogICAgZWxzZQogICAgICB7CgkkY21zbWFpbGVyLT5Jc0hUTUwoZmFsc2UpOyAgLy8gd2UncmUgc2VuZGluZyBhbiBodG1sIG1haWwKCSRjbXNtYWlsZXItPlNldEJvZHkoICR0ZXh0Ym9keSApOwogICAgICB9CiAgICAkY21zbWFpbGVyLT5TZXRTdWJqZWN0KCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzZWxmcmVnX2VtYWlsdXNlcmVkaXRlZF9zdWJqZWN0JywkdGhpcy0+TGFuZygncmVnaXN0cmF0aW9uX2luZm9fZWRpdGVkJykpKTsKICAgICRjbXNtYWlsZXItPlNlbmQoKTsKCQogICAgLy8gd2UncmUgbm90IHJlZGlyZWN0aW5nIGFueXdoZXJlIHdlIG5lZWQgdG8gZGlzcGxheSBzb21lIG5pY2UgbWVzc2FnZQogICAgLy8gYWJvdXQgd2UganVzdCBzcGFtbWVkIHlvdXIgaW5ib3gsIGV0YywgZXRjLgogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd1c2VybmFtZScsJHVzZXJuYW1lKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignZW1haWwnLCAkcGFyYW1zWyRlbWFpbF9maWVsZF0gKTsKICAgIGVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgnc2VsZnJlZ19wb3N0cmVnMV90ZW1wbGF0ZScpOwogIH0KCiR0aGlzLT5teVJlZGlyZWN0VG9UYWIoJ2FkbWludXNlcnMnKTsKCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/action.edittempuser.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNlbGZSZWdpc3RyYXRpb24gKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IHVzZXJzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMKIyAgd2l0aCBhIHdlYnNpdGUuCiMgCiMgVmVyc2lvbjogMS4xLjUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgppZiggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBSZWdpc3RlcmluZyBVc2VycycgKSApCiAgewogICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAKCQkJICAgICAkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwogICAgcmV0dXJuOwogIH0KCmlmKCAhaXNzZXQoICRwYXJhbXNbJ3VzZXJfaWQnXSApICkKICB7CiAgICAvLyB0aGlzIGlzIHVnbHkgZm9yIHRoZSB1c2VyIHRvIHNlZQogICAgLy8gYnV0IGF0IGxlYXN0IHRoZSBhZG1pbiB3aWxsIGJlIGFibGUgdG8gZmlndXJlIGl0IG91dAogICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwKCQkJICAgICAgJHRoaXMtPkxhbmcoJ2Vycm9yX2luc3VmZmljaWVudHBhcmFtcycpKTsKICAgIHJldHVybjsKICB9CgokZmV1c2VycyA9JiAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoJ0Zyb250RW5kVXNlcnMnKTsKaWYoICEkZmV1c2VycyApCiAgewogICAgLy8gdGhpcyBpcyB1Z2x5IGZvciB0aGUgdXNlciB0byBzZWUKICAgIC8vIGJ1dCBhdCBsZWFzdCB0aGUgYWRtaW4gd2lsbCBiZSBhYmxlIHRvIGZpZ3VyZSBpdCBvdXQKICAgICR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSggJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsCgkJCSAgICAgICR0aGlzLT5MYW5nKCdlcnJvcl9ub2ZldXNlcnNtb2R1bGUnKSk7CiAgICByZXR1cm47CiAgfQoKJGNtc21haWxlciA9JiAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoJ0NNU01haWxlcicpOwppZiggISRjbXNtYWlsZXIgKQogIHsKICAgIC8vIHRoaXMgaXMgdWdseSBmb3IgdGhlIHVzZXIgdG8gc2VlCiAgICAvLyBidXQgYXQgbGVhc3QgdGhlIGFkbWluIHdpbGwgYmUgYWJsZSB0byBmaWd1cmUgaXQgb3V0CiAgICAkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UoICRpZCwgJHBhcmFtcywgJHJldHVybmlkLAoJCQkgICAgICAkdGhpcy0+TGFuZygnZXJyb3Jfbm9mZXVzZXJzbW9kdWxlJykpOwogICAgcmV0dXJuOwogIH0KCgokdWlkID0gJHBhcmFtc1sndXNlcl9pZCddOwokdXNlcmRldGFpbHMgPSAkdGhpcy0+R2V0VGVtcFVzZXJEZXRhaWxzKCAkdWlkICk7CmlmKCAhJHVzZXJkZXRhaWxzICkKICB7CiAgICAkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UoICRpZCwgJHBhcmFtcywgJHJldHVybmlkLAoJCQkgICAgICAkdGhpcy0+TGFuZygnZXJyb3JfdXNlcm5vdGZvdW5kJykgKTsKICAgIHJldHVybjsKICB9CgovLyBnZXQgdGhlIGdyb3VwIHByb3BlcnR5IHJlbGF0aW9ucwokcmVsYXRpb25zID0gJGZldXNlcnMtPkdldEdyb3VwUHJvcGVydHlSZWxhdGlvbnMoICR1c2VyZGV0YWlsc1snZ3JvdXBfaWQnXSApOwppZiggJHJlbGF0aW9uc1swXSA9PSBmYWxzZSApCiAgewogICAgLy8gdGhpcyBpcyB1Z2x5IGZvciB0aGUgdXNlciB0byBzZWUKICAgIC8vIGJ1dCBhdCBsZWFzdCB0aGUgYWRtaW4gd2lsbCBiZSBhYmxlIHRvIGZpZ3VyZSBpdCBvdXQKICAgICR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSggJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsIAoJCQkgICAgICAkdGhpcy0+TGFuZygnZXJyb3Jfbm9wcm9wcmVsYXRpb25zJykuJyAnLiRyZWxhdGlvbnNbMV0gKTsKICAgIHJldHVybjsKICB9CnVhc29ydCggJHJlbGF0aW9ucywgCglhcnJheSgnU2VsZnJlZ1V0aWxzJywnY29tcGFyZV9lbGVtZW50c19ieV9zb3J0b3JkZXJfa2V5JyApKTsKCi8vIGdldCB0aGUgdXNlcnMnIHByb3BlcnRpZXMKJHByb3BzID0gYXJyYXkoKTsKewogICR0X3Byb3BzID0gJHRoaXMtPkdldFRlbXBVc2VyUHJvcGVydGllcyggJHVpZCApOwogIGlmKCAhJHRfcHJvcHMgKQogICAgewogICAgICAvLyB0aGlzIGlzIHVnbHkgZm9yIHRoZSB1c2VyIHRvIHNlZQogICAgICAvLyBidXQgYXQgbGVhc3QgdGhlIGFkbWluIHdpbGwgYmUgYWJsZSB0byBmaWd1cmUgaXQgb3V0CiAgICAgICR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSggJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsIAoJCQkJJHRoaXMtPkxhbmcoJ2Vycm9yX25vcHJvcGVydGllcycpLicgJy4kcmVsYXRpb25zWzFdICk7CiAgICAgIHJldHVybjsKICAgIH0KCiAgLy8gYSBsaXR0bGUgcmUtc29ydGluZwogIGZvcmVhY2goICR0X3Byb3BzIGFzICRwcm9wICkKICAgIHsKICAgICAgJHByb3BzWyRwcm9wWyd0aXRsZSddXSA9ICRwcm9wOwogICAgfQp9CgovLyBoZXJlIHdlJ2xsIGRpc3BsYXkgYSBmb3JtIHRoYXQgaXMgc2ltaWxhciB0byB0aGUgcmVnaXN0cmF0aW9uIGZvcm0gaW4gCi8vIGV2ZXJ5IHdheSwKaWYoIGlzc2V0KCAkcGFyYW1zWydlcnJvciddICkgKQogIHsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignZXJyb3InLCAkcGFyYW1zWydlcnJvciddKTsKICB9CmlmKCBpc3NldCggJHBhcmFtc1snbWVzc2FnZSddICkgKQogIHsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignbWVzc2FnZScsICRwYXJhbXNbJ21lc3NhZ2UnXSk7CiAgfQoKJHJvd2FycmF5ID0gYXJyYXkoKTsKCi8vIG1ha2Ugc3VyZSB1c2VybmFtZSBpcyBpbiB0aGVyZQokb25lcm93ID0gbmV3IFN0ZENsYXNzKCk7CiRvbmVyb3ctPmNvbG9yID0gJGZldXNlcnMtPkdldFByZWZlcmVuY2UoJ3JlcXVpcmVkX2ZpZWxkX2NvbG9yJywnYmx1ZScpOwokb25lcm93LT5tYXJrZXIgPSAkZmV1c2Vycy0+R2V0UHJlZmVyZW5jZSgncmVxdWlyZWRfZmllbGRfbWFya2VyJywnKicpOwokb25lcm93LT5yZXF1aXJlZCA9IDE7CiR2YWwgPSAkdXNlcmRldGFpbHNbJ3VzZXJuYW1lJ107CiRvbmVyb3ctPmhpZGRlbiA9IFNlbGZyZWdVdGlsczo6bXlDcmVhdGVJbnB1dEhpZGRlbiggJGlkLCAnaGlkZGVuX3VzZXJuYW1lJywKCQkJCSAgICAgICBpbXBsb2RlKCI7IixhcnJheSgndXNlcm5hbWUnLDAsMzAsMikpKTsKJG9uZXJvdy0+cHJvbXB0ID0gJHRoaXMtPkxhbmcoJ3VzZXJuYW1lJyk7CiRvbmVyb3ctPmNvbnRyb2wgPSR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnaW5wdXRfdXNlcm5hbWUnLCAkdmFsLCAKCQkJCQkgJGZldXNlcnMtPkdldFByZWZlcmVuY2UoJ3VzZXJuYW1lZmxkbGVuZ3RoJyksCgkJCQkJICRmZXVzZXJzLT5HZXRQcmVmZXJlbmNlKCdtYXhfdXNlcm5hbWVsZW5ndGgnKSk7CiRyb3dhcnJheVtdID0gJG9uZXJvdzsKCi8vIGFuZCBwYXNzd29yZAokb25lcm93ID0gbmV3IFN0ZENsYXNzKCk7CiRvbmVyb3ctPmNvbG9yID0gJGZldXNlcnMtPkdldFByZWZlcmVuY2UoJ3JlcXVpcmVkX2ZpZWxkX2NvbG9yJywnYmx1ZScpOwokb25lcm93LT5tYXJrZXIgPSAkZmV1c2Vycy0+R2V0UHJlZmVyZW5jZSgncmVxdWlyZWRfZmllbGRfbWFya2VyJywnKicpOwokb25lcm93LT5leHRyYXRleHQgPSAkdGhpcy0+TGFuZygndHh0X2NoYW5nZXBhc3N3b3JkJyk7CiRvbmVyb3ctPnJlcXVpcmVkID0gMTsKJHZhbCA9ICcnOwokb25lcm93LT5oaWRkZW4gPSBTZWxmcmVnVXRpbHM6Om15Q3JlYXRlSW5wdXRIaWRkZW4oICRpZCwgJ2hpZGRlbl9wYXNzd29yZCcsCgkJCQkgICAgICAgaW1wbG9kZSgiOyIsYXJyYXkoJ3Bhc3N3b3JkJywwLDMwLDIpKSk7CiRvbmVyb3ctPnByb21wdCA9ICR0aGlzLT5MYW5nKCdwYXNzd29yZCcpOwokb25lcm93LT5jb250cm9sID0kdGhpcy0+Q3JlYXRlSW5wdXRQYXNzd29yZCgkaWQsICdpbnB1dF9wYXNzd29yZCcsICR2YWwsIAoJCQkJCSAgICAgJGZldXNlcnMtPkdldFByZWZlcmVuY2UoJ3Bhc3N3b3JkZmxkbGVuZ3RoJyksCgkJCQkJICAgICAkZmV1c2Vycy0+R2V0UHJlZmVyZW5jZSgnbWF4X3Bhc3N3b3JkbGVuZ3RoJykpOwokcm93YXJyYXlbXSA9ICRvbmVyb3c7CgovLyBhbmQgbWFrZSBoaW0gcmVwZWF0IHRoZSBwYXNzd29yZAokb25lcm93ID0gbmV3IFN0ZENsYXNzKCk7CiRvbmVyb3ctPmNvbG9yID0gJGZldXNlcnMtPkdldFByZWZlcmVuY2UoJ3JlcXVpcmVkX2ZpZWxkX2NvbG9yJywnYmx1ZScpOwokb25lcm93LT5tYXJrZXIgPSAkZmV1c2Vycy0+R2V0UHJlZmVyZW5jZSgncmVxdWlyZWRfZmllbGRfbWFya2VyJywnKicpOwokb25lcm93LT5yZXF1aXJlZCA9IDE7CiR2YWwgPSAnJzsKJG9uZXJvdy0+aGlkZGVuID0gU2VsZnJlZ1V0aWxzOjpteUNyZWF0ZUlucHV0SGlkZGVuKCAkaWQsICdoaWRkZW5fcmVwZWF0cGFzc3dvcmQnLAoJCQkJICAgICAgIGltcGxvZGUoIjsiLGFycmF5KCdyZXBlYXRwYXNzd29yZCcsMCwzMCwyKSkpOwokb25lcm93LT5wcm9tcHQgPSAkdGhpcy0+TGFuZygncmVwZWF0cGFzc3dvcmQnKTsKJG9uZXJvdy0+Y29udHJvbCA9JHRoaXMtPkNyZWF0ZUlucHV0UGFzc3dvcmQoJGlkLCAnaW5wdXRfcmVwZWF0cGFzc3dvcmQnLCAkdmFsLAoJCQkJCSAgICAgJGZldXNlcnMtPkdldFByZWZlcmVuY2UoJ3Bhc3N3b3JkZmxkbGVuZ3RoJyksCgkJCQkJICAgICAkZmV1c2Vycy0+R2V0UHJlZmVyZW5jZSgnbWF4X3Bhc3N3b3JkbGVuZ3RoJykpOwokcm93YXJyYXlbXSA9ICRvbmVyb3c7CgovLyBhbiBvcHRpb24gdG8gc2VuZCBhbm90aGVyIGNvbmZpcm1hdGlvbiBtZXNzYWdlCi8vIGJ1dCBhIGRpZmZlcmVudCBvbmUgZnJvbSB0aGUgbm9ybWFsCiRvbmVyb3cgPSBuZXcgU3RkQ2xhc3MoKTsKJG9uZXJvdy0+Y29sb3IgPSAkZmV1c2Vycy0+R2V0UHJlZmVyZW5jZSgncmVxdWlyZWRfZmllbGRfY29sb3InLCdibHVlJyk7CiRvbmVyb3ctPm1hcmtlciA9ICRmZXVzZXJzLT5HZXRQcmVmZXJlbmNlKCdyZXF1aXJlZF9maWVsZF9tYXJrZXInLCcqJyk7CiRvbmVyb3ctPnJlcXVpcmVkID0gMTsKJG9uZXJvdy0+cHJvbXB0ID0gJHRoaXMtPkxhbmcoJ3NlbmRfYWRqdXN0bWVudGVtYWlsJyk7CiRvbmVyb3ctPmV4dHJhdGV4dCA9ICR0aGlzLT5MYW5nKCd0eHRfYWRqdXN0bWVudGVtYWlsJyk7CiRvbmVyb3ctPmNvbnRyb2wgPSAkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICdpbnB1dF9hZGp1c3RtZW50ZW1haWwnLCAxLCAxKTsKJHJvd2FycmF5W10gPSAkb25lcm93OwoKZm9yZWFjaCggJHJlbGF0aW9ucyBhcyAkcmVsbiApCnsKICAvLyBkb24ndCBwcm9jZXNzIGhpZGRlbiBmaWVsZHMgaGVyZQogIGlmKCAkcmVsblsncmVxdWlyZWQnXSA9PSAzICkgY29udGludWU7CgogIC8vIGdldCB0aGUgcHJvcGVydHkgZGVmaW5pdGlvbgogICRkZWZuID0gJGZldXNlcnMtPkdldFByb3BlcnR5RGVmbiggJHJlbG5bJ25hbWUnXSApOwoKICBpZiggJGRlZm5bJ3R5cGUnXSA9PSA2ICkKICAgIHsKICAgICAgLy8gaW1hZ2VzIGFyZSBpZ25vcmVkIHRvbwogICAgICBjb250aW51ZTsKICAgIH0KCiAgJG9uZXJvdyA9IG5ldyBTdGRDbGFzcygpOwoKICAkY29sb3IgPSAnJzsKICBpZiggJHJlbG5bJ3JlcXVpcmVkJ10gPT0gMiApICRjb2xvciA9ICRmZXVzZXJzLT5HZXRQcmVmZXJlbmNlKCdyZXF1aXJlZF9maWVsZF9jb2xvcicsJ2JsdWUnKTsKICAkbWFya2VyID0gJyc7CiAgaWYoICRyZWxuWydyZXF1aXJlZCddID09IDIgKSAkbWFya2VyID0gJGZldXNlcnMtPkdldFByZWZlcmVuY2UoJ3JlcXVpcmVkX2ZpZWxkX21hcmtlcicsJyonKTsKICAkb25lcm93LT5yZXF1aXJlZCA9ICgkcmVsblsncmVxdWlyZWQnXSA9PSAyKTsKICAkb25lcm93LT5jb2xvciAgICA9ICRjb2xvcjsKICAkb25lcm93LT5tYXJrZXIgICA9ICRtYXJrZXI7CiAgJG9uZXJvdy0+aGlkZGVuID0gU2VsZnJlZ1V0aWxzOjpteUNyZWF0ZUlucHV0SGlkZGVuKCAkaWQsICdoaWRkZW5fJy4kcmVsblsnbmFtZSddLAoJCQkJCSBpbXBsb2RlKCI7IixhcnJheSgkcmVsblsnbmFtZSddLCRkZWZuWyd0eXBlJ10sCgkJCQkJCQkgICAkZGVmblsnbGVuZ3RoJ10sJHJlbG5bJ3JlcXVpcmVkJ10pKSk7CgogICR2YWwgPSBpc3NldCgkcHJvcHNbJHJlbG5bJ25hbWUnXV1bJ2RhdGEnXSkgPyAkcHJvcHNbJHJlbG5bJ25hbWUnXV1bJ2RhdGEnXSA6ICcnOwogICRvbmVyb3ctPnByb21wdCA9ICRkZWZuWydwcm9tcHQnXTsKICAkb25lcm93LT5sYWJlbGZvciA9ICRpZC4kZGVmblsnbmFtZSddOwogIHN3aXRjaCggJGRlZm5bJ3R5cGUnXSApCiAgICB7CiAgICBjYXNlIDA6IC8vIHRleHQKICAgICAgJG9uZXJvdy0+Y29udHJvbCA9ICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ2lucHV0XycuJHJlbG5bJ25hbWUnXSwKCQkJCQkJICR2YWwsICRkZWZuWydsZW5ndGgnXSwgJGRlZm5bJ21heGxlbmd0aCddICk7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgMTogLy8gY2hlY2tib3gKICAgICAgJG9uZXJvdy0+Y29udHJvbCA9ICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCAkaWQsICdpbnB1dF8nLiRyZWxuWyduYW1lJ10sIDEsICR2YWwgKTsKICAgICAgYnJlYWs7CgogICAgY2FzZSAyOiAvLyBlbWFpbAogICAgICAkb25lcm93LT5jb250cm9sID0gJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAnaW5wdXRfJy4kcmVsblsnbmFtZSddLAoJCQkJCQkgJHZhbCwgJGRlZm5bJ2xlbmd0aCddLCAoJGRlZm5bJ21heGxlbmd0aCddKSApOwogICAgICBicmVhazsKCiAgICBjYXNlIDM6IC8vIHRleHRhcmVhCiAgICAgICRvbmVyb3ctPmNvbnRyb2wgPSAkdGhpcy0+Q3JlYXRlVGV4dEFyZWEoZmFsc2UsICRpZCwgJHZhbCwgJ2lucHV0XycuJGRlZm5bJ25hbWUnXSk7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgNDogLy8gZHJvcGRvd24KICAgICAgJG9uZXJvdy0+Y29udHJvbCA9ICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwgCgkJCQkJCSAgICAnaW5wdXRfJy4kZGVmblsnbmFtZSddLCAKCQkJCQkJICAgICRmZXVzZXJzLT5HZXRTZWxlY3RPcHRpb25zKCRkZWZuWyduYW1lJ10sIDEpLCAKCQkJCQkJICAgIC0xLCAKCQkJCQkJICAgICR2YWwpOwogICAgICBicmVhazsKCiAgICBjYXNlIDU6IC8vIG11bHRpc2VsZWN0CiAgICAgICRvbmVyb3ctPmNvbnRyb2wgPSAkdGhpcy0+Q3JlYXRlSW5wdXRTZWxlY3RMaXN0KCRpZCwKCQkJCQkJICAgICAgJ2lucHV0XycuJGRlZm5bJ25hbWUnXS4nW10nLAoJCQkJCQkgICAgICAkZmV1c2Vycy0+R2V0U2VsZWN0T3B0aW9ucygkZGVmblsnbmFtZSddLCAxKSwKCQkJCQkJICAgICAgYXJyYXkoKSwKCQkJCQkJICAgICAgJHZhbCk7CiAgICAgIGJyZWFrOwogICAgfQoKICAkcm93YXJyYXlbXSA9ICRvbmVyb3c7Cn0KCiR0aGlzLT5zbWFydHktPmFzc2lnbiAoJ3N0YXJ0Zm9ybScsCgkJICAgICAgICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQgKCRpZCwgJ2RvX2VkaXR1c2VyJywgJHJldHVybmlkKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbiAoJ2VuZGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCAoKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGUnLCR0aGlzLT5MYW5nKCdlZGl0dXNlcicpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdoaWRkZW4nLAoJCSAgICAgICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICd1c2VyX2lkJywgJHVzZXJkZXRhaWxzWydpZCddICkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2hpZGRlbjInLAoJCSAgICAgICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICdncm91cF9pZCcsICR1c2VyZGV0YWlsc1snZ3JvdXBfaWQnXSApKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdjb250cm9scycsICRyb3dhcnJheSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignY29udHJvbGNvdW50JywgY291bnQoJHJvd2FycmF5KSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignc3VibWl0JywkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCdzdWJtaXQnLAoJCQkJCQkJJHRoaXMtPkxhbmcoJ3N1Ym1pdCcpKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignY2FuY2VsJywkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCdjYW5jZWwnLAoJCQkJCQkJJHRoaXMtPkxhbmcoJ2NhbmNlbCcpKSk7CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2VkaXR1c2VyLnRwbCcpOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.post_createuser.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNlbGZSZWdpc3RyYXRpb24gKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IHVzZXJzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMKIyAgd2l0aCBhIHdlYnNpdGUuCiMgCiMgVmVyc2lvbjogMS4xLjUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgppZiggaXNzZXQoJHBhcmFtc1sndXNlcm5hbWUnXSkgKQogIHsKICAgICRzbWFydHktPmFzc2lnbigndXNlcm5hbWUnLCRwYXJhbXNbJ3VzZXJuYW1lJ10pOwogIH0KaWYoIGlzc2V0KCRwYXJhbXNbJ2VtYWlsJ10pICkKICB7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2VtYWlsJywkcGFyYW1zWydlbWFpbCddKTsKICB9Cgokc21hcnR5LT5hc3NpZ24oJ3NpdGVuYW1lJywgJGdDbXMtPmNvbmZpZ1sncm9vdF91cmwnXSk7CmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgnc2VsZnJlZ19maW5hbG1lc3NhZ2VfdGVtcGxhdGUnKTsKCi8vIEVPRgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.post_registeruser.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNlbGZSZWdpc3RyYXRpb24gKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IHVzZXJzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMKIyAgd2l0aCBhIHdlYnNpdGUuCiMgCiMgVmVyc2lvbjogMS4xLjUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgppZiggaXNzZXQoJHBhcmFtc1sndXNlcm5hbWUnXSkgKQogIHsKICAgICRzbWFydHktPmFzc2lnbigndXNlcm5hbWUnLCRwYXJhbXNbJ3VzZXJuYW1lJ10pOwogIH0KaWYoIGlzc2V0KCRwYXJhbXNbJ2VtYWlsJ10pICkKICB7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2VtYWlsJywkcGFyYW1zWydlbWFpbCddKTsKICB9Cgokc21hcnR5LT5hc3NpZ24oJ3NpdGVuYW1lJywgJGdDbXMtPmNvbmZpZ1sncm9vdF91cmwnXSk7CmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgnc2VsZnJlZ19wb3N0cmVnMV90ZW1wbGF0ZScpOwoKLy8gRU9GCj8+]]></data>
	</file>
	<file>
	  <filename>/action.reguser.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNlbGZSZWdpc3RyYXRpb24gKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IHVzZXJzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMKIyAgd2l0aCBhIHdlYnNpdGUuCiMgCiMgVmVyc2lvbjogMS4xLjUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgokZmV1c2VycyA9JiAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoJ0Zyb250RW5kVXNlcnMnKTsKaWYoICEkZmV1c2VycyApCiAgewogICAgLy8gdGhpcyBpcyB1Z2x5IGZvciB0aGUgdXNlciB0byBzZWUKICAgIC8vIGJ1dCBhdCBsZWFzdCB0aGUgYWRtaW4gd2lsbCBiZSBhYmxlIHRvIGZpZ3VyZSBpdCBvdXQKICAgIC8vIHRoaXMgc2hvdWxkbid0IGhhcHBlbiBvbmNlIHRoZSB1c2VyIGhhcyBzZWVuIHRoZSBmb3JtLgogICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCAkaWQsICcnLCAkcmV0dXJuaWQsCgkJCSAgICAgICR0aGlzLT5MYW5nKCdlcnJvcl9ub2ZldXNlcnNtb2R1bGUnKSk7CiAgICByZXR1cm47CiAgfQoKJGNtc21haWxlciA9JiAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoJ0NNU01haWxlcicpOwppZiggISRjbXNtYWlsZXIgKQogIHsKICAgIC8vIHRoaXMgaXMgdWdseSBmb3IgdGhlIHVzZXIgdG8gc2VlCiAgICAvLyBidXQgYXQgbGVhc3QgdGhlIGFkbWluIHdpbGwgYmUgYWJsZSB0byBmaWd1cmUgaXQgb3V0CiAgICAkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UoICRpZCwgJycsICRyZXR1cm5pZCwKCQkJICAgICAgJHRoaXMtPkxhbmcoJ2Vycm9yX25vZmV1c2Vyc21vZHVsZScpKTsKICAgIHJldHVybjsKICB9CgoKLy8gY2hlY2sgZm9yIHJlcXVpcmVkIHBhcmFtZXRlcnMKaWYoICFpc3NldCggJHBhcmFtc1snZ3JvdXBfaWQnXSApICkKICB7CiAgICAkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UoICRpZCwgJHBhcmFtcywgJHJldHVybmlkLAoJCQkgICAgICAkdGhpcy0+TGFuZygnZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJykpOwogICAgcmV0dXJuOwogIH0KCi8vIENoZWNrIHRvIGVuc3VyZSBhbGwgcmVxdWlyZWQgZmllbGRzIGhhdmUgc29tZSBjb250ZW50Ci8vIGFuZCB2YWxpZGF0ZSBlbWFpbCBmaWVsZHMKZm9yZWFjaCggJHBhcmFtcyBhcyAka2V5ID0+ICR2YWwgKQp7CiAgaWYoIHByZWdfbWF0Y2goICcvXmhpZGRlbl8vJywgJGtleSApICkKICAgIHsKICAgICAgJHByb3BuYW1lID0gc3Vic3RyKCRrZXksc3RybGVuKCdoaWRkZW5fJykpOwogICAgICAkYXJyID0gc3BsaXQoIjsiLCRwYXJhbXNbJGtleV0pOwogICAgICAkcmVxdWlyZWQgPSAkYXJyWzNdOwogICAgICBpZiggJHJlcXVpcmVkID09IDIgJiYgCgkgICghaXNzZXQoJHBhcmFtc1snaW5wdXRfJy4kcHJvcG5hbWVdKSB8fCAkcGFyYW1zWydpbnB1dF8nLiRwcm9wbmFtZV0gPT0gJycgKSApCgl7CgkgICRwYXJhbXNbJ2Vycm9yJ10gPSAxOwoJICAkcGFyYW1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfcmVxdWlyZWRmaWVsZCcsJHByb3BuYW1lKTsKCSAgJHRoaXMtPm15UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHQnLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsKCX0KCiAgICAgIGlmKCAkYXJyWzFdID09ICcyJyApCgl7CgkgICRyZXN1bHQgPSAkZmV1c2Vycy0+SXNWYWxpZEVtYWlsQWRkcmVzcyggJHBhcmFtc1snaW5wdXRfJy4kcHJvcG5hbWVdKTsKCSAgaWYoICRyZXN1bHRbMF0gPT0gZmFsc2UgKQoJICAgIHsKCSAgICAgICRwYXJhbXNbJ2Vycm9yJ10gPSAxOwoJICAgICAgJHBhcmFtc1snbWVzc2FnZSddID0gJHJlc3VsdFsxXTsKCSAgICAgICR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAkcGFyYW1zICk7CgkgICAgfQoJfQogICAgfQp9CgoKLy8gZ2V0IHRoZSB1c2VybmFtZSBhbmQgcGFzc3dvcmQKJHVzZXJuYW1lID0gJyc7CmlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfdXNlcm5hbWUnXSApICkKICB7CiAgICAkdXNlcm5hbWUgPSB0cmltKCRwYXJhbXNbJ2lucHV0X3VzZXJuYW1lJ10pOwogIH0KJHBhc3N3b3JkID0gJyc7CmlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfcGFzc3dvcmQnXSApICkKICB7CiAgICAkcGFzc3dvcmQgPSB0cmltKCRwYXJhbXNbJ2lucHV0X3Bhc3N3b3JkJ10pOwogIH0KJHJlcGVhdHBhc3N3b3JkID0gJyc7CmlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfcmVwZWF0cGFzc3dvcmQnXSApICkKICB7CiAgICAkcmVwZWF0cGFzc3dvcmQgPSB0cmltKCRwYXJhbXNbJ2lucHV0X3JlcGVhdHBhc3N3b3JkJ10pOwogIH0KCi8vIGNoZWNrIGlmIHRoZSB1c2VybmFtZSBpcyB2YWxpZCBvciB0YWtlbgppZiggJHVzZXJuYW1lID09ICcnICkKICB7CiAgICAkcGFyYW1zWydlcnJvciddID0gMTsKICAgICRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9lbXB0eXVzZXJuYW1lJyk7CiAgICAkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJHBhcmFtcyApOwogICAgcmV0dXJuOwogIH0KCmlmKCAhJGZldXNlcnMtPklzVmFsaWRVc2VybmFtZSggJHVzZXJuYW1lICkgKQogIHsKICAgICRwYXJhbXNbJ2Vycm9yJ10gPSAxOwogICAgJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2ludmFsaWR1c2VybmFtZScpOwogICAgJHRoaXMtPm15UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHQnLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsKICAgIHJldHVybjsKICB9CgokdWlkID0gJHRoaXMtPkdldFRlbXBVc2VySUQoJHVzZXJuYW1lKTsKaWYoICR1aWQgIT0gZmFsc2UgKQogIHsKICAgICRwYXJhbXNbJ2Vycm9yJ10gPSAxOwogICAgJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX3VzZXJuYW1ldGFrZW4nKTsKICAgICR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAkcGFyYW1zICk7CiAgICByZXR1cm47CiAgfQppZiggJGZldXNlcnMtPkdldFVzZXJJRCgkdXNlcm5hbWUpICkKICB7CiAgICAkcGFyYW1zWydlcnJvciddID0gMTsKICAgICRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl91c2VybmFtZXRha2VuJyk7CiAgICAkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJHBhcmFtcyApOwogICAgcmV0dXJuOwogIH0KCi8vIGNoZWNrIGlmIHRoZSBwYXNzd29yZHMgbWF0Y2ggb3IgaWYgdGhleSdyZSB2YWxpZAppZiggJHBhc3N3b3JkICE9ICRyZXBlYXRwYXNzd29yZCApCiAgewogICAgJHBhcmFtc1snZXJyb3InXSA9IDE7CiAgICAkcGFyYW1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfcGFzc3dvcmRzZG9udG1hdGNoJyk7CiAgICAkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJHBhcmFtcyApOwogICAgcmV0dXJuOwogIH0KJG1pbnB3bGVuID0gJGZldXNlcnMtPkdldFByZWZlcmVuY2UoJ21pbl9wYXNzd29yZGxlbmd0aCcpOwokbWF4cHdsZW4gPSAkZmV1c2Vycy0+R2V0UHJlZmVyZW5jZSgnbWF4X3Bhc3N3b3JkbGVuZ3RoJyk7CmlmKCBzdHJsZW4oJHBhc3N3b3JkKSA8ICRtaW5wd2xlbiB8fCBzdHJsZW4oJHBhc3N3b3JkKSA+ICRtYXhwd2xlbiApCiAgewogICAgJHBhcmFtc1snZXJyb3InXSA9IDE7CiAgICAkcGFyYW1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfaW52YWxpZHBhc3N3b3JkJywKCQkJCSAgICAgYXJyYXkoJG1pbnB3bGVuLCRtYXhwd2xlbikpOwogICAgJHRoaXMtPm15UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHQnLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsKICAgIHJldHVybjsKICB9CgovLyBmaW5kIGFuIGVtYWlsIGZpZWxkLi4uIHNvbWV0aGluZyB0aGF0J3MgbmFtZSBoYXMgZW1haWwgaW4gaXQKLy8gb3IgaXMgb2YgdHlwZSAyCiRlbWFpbF9maWVsZCA9ICcnOwpmb3JlYWNoKCAkcGFyYW1zIGFzICRrZXkgPT4gJHZhbCApCnsKICBpZiggcHJlZ19tYXRjaCggJy9eaGlkZGVuXy8nLCAka2V5ICkgKQogICAgewogICAgICAkcHJvcG5hbWUgPSBzdWJzdHIoJGtleSxzdHJsZW4oJ2hpZGRlbl8nKSk7CiAgICAgICRhcnIgPSBzcGxpdCgiOyIsJHBhcmFtc1ska2V5XSk7CgogICAgICBpZiggcHJlZ19tYXRjaCgnL2VtYWlsL2knLCRhcnJbMF0pIHx8ICRhcnJbMV0gPT0gMiApCgl7CgkgIC8vIGZvdW5kIHNvbWV0aGluZyByZXNlbWJsaW5nIGFuIGVtYWlsIGZpZWxkCgkgICRlbWFpbF9maWVsZCA9ICdpbnB1dF8nLiRwcm9wbmFtZTsKCSAgYnJlYWs7Cgl9CiAgICB9Cn0gICAgCmlmKCAkZW1haWxfZmllbGQgPT0gJycgKQogIHsKICAgICRwYXJhbXNbJ2Vycm9yJ10gPSAxOwogICAgJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX25vZW1haWxhZGRyZXNzJyk7CiAgICAkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJHBhcmFtcyApOwogICAgcmV0dXJuOwogIH0KCi8vIGZvciBhbnkgdHlwZSA1IHByb3BlcnRpZXMsIHdlIGNoYW5nZSB0aGUgCi8vIGFycmF5IHJlc3VsdCBpbnRvIGFuIGVuY29kZWQgc3RyaW5nCmZvcmVhY2goICRwYXJhbXMgYXMgJGtleSA9PiAkdmFsICkKewogIGlmKCBwcmVnX21hdGNoKCAnL15oaWRkZW5fLycsICRrZXkgKSApCiAgICB7CiAgICAgICRwcm9wbmFtZSA9IHN1YnN0cigka2V5LHN0cmxlbignaGlkZGVuXycpKTsKICAgICAgJGFyciA9IHNwbGl0KCI7IiwkcGFyYW1zWyRrZXldKTsKICAgICAgaWYoICRhcnJbMV0gPT0gNSApCgl7CgkgICRwYXJhbXNbJ2lucHV0XycuJHByb3BuYW1lXSA9IGltcGxvZGUoJywnLCRwYXJhbXNbJ2lucHV0XycuJHByb3BuYW1lXSk7Cgl9CiAgICB9Cn0KCgppZiggJHRoaXMtPkdldFByZWZlcmVuY2UoJ3NlbGZyZWdfZm9yY2VfZW1haWxfdHdpY2UnKSApCiAgewogICAgaWYoICFpc3NldCgkcGFyYW1zWyRlbWFpbF9maWVsZC4nX2FnYWluJ10gKSApCiAgICAgIHsKCSRwYXJhbXNbJ2Vycm9yJ10gPSAxOwoJJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX25vc2Vjb25kZW1haWxhZGRyZXNzJyk7CgkkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJHBhcmFtcyApOwoJcmV0dXJuOwogICAgICB9CgogICAgaWYoICRwYXJhbXNbJGVtYWlsX2ZpZWxkXSAhPSAkcGFyYW1zWyRlbWFpbF9maWVsZC4nX2FnYWluJ10gKQogICAgICB7CgkkcGFyYW1zWydlcnJvciddID0gMTsKCSRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9lbWFpbGRvZXNub3RtYXRjaCcpOwoJJHRoaXMtPm15UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHQnLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsKCXJldHVybjsKICAgICAgfQogIH0KCiAgIAokY2FwdGNoYSA9JiAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoJ0NhcHRjaGEnKTsKaWYoIGlzX29iamVjdCgkY2FwdGNoYSkgJiYgIWlzc2V0KCRwYXJhbXNbJ25vY2FwdGNoYSddKSApCiAgewogICAgaWYgKCEgJGNhcHRjaGEtPkNoZWNrQ2FwdGNoYSgkcGFyYW1zWydpbnB1dF9jYXB0Y2hhJ10pKQogICAgICB7CgkkcGFyYW1zWydlcnJvciddID0gMTsKCSRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9jYXB0Y2hhbWlzbWF0Y2gnKTsKCSR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAkcGFyYW1zICk7CglyZXR1cm47CiAgICAgIH0KICB9CgovLyBnZW5lcmF0ZSBhIHVuaXF1ZSBjb2RlIHRoYXQgdGhlIHVzZXIgY2FuIGVudGVyIHRvIGRvdWJsZSBjb25maXJtCi8vIGhpcyBsb2dpbi4KJGNvZGUgPSAkZmV1c2Vycy0+R2VuZXJhdGVSYW5kb21QcmludGFibGVTdHJpbmcoKTsKCi8vIGhhdmUgdG8gYWRkIHRoZSByZWNvcmQgdG8gdGhlIGRhdGFiYXNlIHNvIHRoYXQgd2Uga25vdyB3aG8gdGhpcyBndXkgaXMKLy8gd2hlbiBoZSBjb21lcyBiYWNrCiRyZXR1cm4gPSAkdGhpcy0+Q3JlYXRlVGVtcFVzZXIoICRwYXJhbXNbJ2dyb3VwX2lkJ10sICR1c2VybmFtZSwgJHBhc3N3b3JkLCAkY29kZSApOwppZiggJHJldHVyblswXSA9PSBmYWxzZSApCiAgewogICAgJHBhcmFtc1snZXJyb3InXSA9IDE7CiAgICAkcGFyYW1zWydtZXNzYWdlJ10gPSAkcmV0dXJuWzFdOwogICAgJHRoaXMtPm15UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHQnLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsKICAgIHJldHVybjsKICB9CgovLyBhbmQgYWRkIGhpcyBwcm9wZXJ0aWVzIHRvbwovLyBidXQgZmlyc3Qgd2UgcmVtb3ZlIHRoZSBvbmVzIHdlJ3ZlIGhhbmRsZWQgYWxyZWFkeQokdG1wdWlkID0gJHJldHVyblsxXTsKdW5zZXQoJHBhcmFtc1snaW5wdXRfdXNlcm5hbWUnXSApOwp1bnNldCgkcGFyYW1zWydpbnB1dF9wYXNzd29yZCddICk7CnVuc2V0KCRwYXJhbXNbJ2lucHV0X3JlcGVhdHBhc3N3b3JkJ10gKTsKdW5zZXQoJHBhcmFtc1snaGlkZGVuX3VzZXJuYW1lJ10gKTsKdW5zZXQoJHBhcmFtc1snaGlkZGVuX3Bhc3N3b3JkJ10gKTsKdW5zZXQoJHBhcmFtc1snaGlkZGVuX3JlcGVhdHBhc3N3b3JkJ10gKTsKZm9yZWFjaCggJHBhcmFtcyBhcyAka2V5ID0+ICR2YWwgKQp7CiAgaWYoIHByZWdfbWF0Y2goICcvXmhpZGRlbl8vJywgJGtleSApICkKICAgIHsKICAgICAgJHByb3BuYW1lID0gc3Vic3RyKCRrZXksc3RybGVuKCdoaWRkZW5fJykpOwogICAgICBpZiggIWlzc2V0KCAkcGFyYW1zWydpbnB1dF8nLiRwcm9wbmFtZV0gKSApIAoJewoJICBjb250aW51ZTsKCX0KICAgICAgJHJldHVybiA9ICR0aGlzLT5BZGRUZW1wVXNlclByb3BlcnR5KCAkdG1wdWlkLCAkcHJvcG5hbWUsIAoJCQkJCSAgICAkcGFyYW1zWydpbnB1dF8nLiRwcm9wbmFtZV0gKTsKICAgICAgaWYoICRyZXR1cm5bMF0gPT0gZmFsc2UgKQoJewoJICAvLyBub3cgd2UgaGF2ZSBhbiBpc3N1ZSB0byBmaWd1cmUgb3V0CgkgICRwYXJhbXNbJ2Vycm9yJ10gPSAxOwoJICAkcGFyYW1zWydtZXNzYWdlJ10gPSAkcmV0dXJuWzFdOwoJICAkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJHBhcmFtcyApOwoJICByZXR1cm47Cgl9CiAgICB9Cn0KCiRhY3Rpb24gPSAncG9zdF9yZWdpc3RlcnVzZXInOwokcGFybXMgPSBhcnJheSgpOwokcGFybXNbJ3VzZXJuYW1lJ10gPSAkdXNlcm5hbWU7CiRwYXJtc1snZW1haWwnXSA9ICRwYXJhbXNbJGVtYWlsX2ZpZWxkXTsKaWYoICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdyZXF1aXJlX2VtYWlsX2NvbmZpcm1hdGlvbicsMSkgKQogIHsKICAgIC8vIG9rYXksIHdlJ3JlIG5vdyByZWFkeSB0byBzZW5kIHRoZSBlbWFpbCwgeWFob28sIHlhaG9vLCB5YWhvbwogICAgLy8gbm93IHdlIGhhdmUgdG8gZGVjaWRlIHdoYXQgZ29lcyBpbiBpdC4KICAgICR0aGlzLT5fU2VuZFVzZXJDb25maXJtYXRpb25FbWFpbCgkaWQsJHJldHVybmlkLCRwYXJhbXNbJGVtYWlsX2ZpZWxkXSwKCQkJCSAgICAgICR1c2VybmFtZSwgJHBhcmFtc1snZ3JvdXBfaWQnXSwgJGNvZGUgKTsKCQogICAgLy8gc2VuZCBhbiBldmVudAogICAgJHRoaXMtPlNlbmRFdmVudCgnb25OZXdVc2VyJywKCQkgICAgIGFycmF5KCd1c2VybmFtZSc9PiR1c2VybmFtZSwKCQkJICAgJ2VtYWlsJz0+JHBhcmFtc1skZW1haWxfZmllbGRdKSk7CgogICAgLy8gd2UncmUgbm90IHJlZGlyZWN0aW5nIGFueXdoZXJlIHdlIG5lZWQgdG8gZGlzcGxheSBzb21lIG5pY2UgbWVzc2FnZQogICAgLy8gYWJvdXQgd2UganVzdCBzcGFtbWVkIHlvdXIgaW5ib3gsIGV0YywgZXRjLgovLyAgICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzaXRlbmFtZScsICRnQ21zLT5jb25maWdbJ3Jvb3RfdXJsJ10pOwovLyAgICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd1c2VybmFtZScsJHVzZXJuYW1lKTsKLy8gICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignZW1haWwnLCAkYWRkcmVzcyApOwovLyAgICAgZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCdzZWxmcmVnX3Bvc3RyZWcxX3RlbXBsYXRlJyk7CiAgfQplbHNlCiAgewogICAgJGFjdGlvbiA9ICdwb3N0X2NyZWF0ZXVzZXInOwogICAgCiAgICAvLyBpdCBhcHBlYXJzIHdlJ3JlIGFsbG93aW5nIGluc3RhbnQgcmVnaXN0cmF0aW9uCiAgICAkcmVzdWx0ID0gJHRoaXMtPl9DcmVhdGVGcm9udGVuZFVzZXIoICR0bXB1aWQsICRwYXJhbXNbJ2dyb3VwX2lkJ10sCgkJCQkJICAkdXNlcm5hbWUsICRwYXNzd29yZCApOwogICAgCiAgICBpZiggJHJlc3VsdCAhPSAwICkKICAgICAgewoJJHBhcmFtc1snZXJyb3InXSA9IDE7CgkkcGFyYW1zWydtZXNzYWdlJ10gPSAkcmVzdWx0OwoJJHRoaXMtPm15UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHQnLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsKICAgICAgfQogICAgCiAgICAvLyBzZW5kIGFuIGV2ZW50CiAgICAkdGhpcy0+U2VuZEV2ZW50KCdvbk5ld1VzZXInLAoJCSAgICAgYXJyYXkoJ3VzZXJuYW1lJz0+JHVzZXJuYW1lLAoJCQkgICAnZW1haWwnPT4kcGFyYW1zWyRlbWFpbF9maWVsZF0pKTsKICAgIAogICAgLy8gd29vaG9vbywgdGhlIHVzZXIgYmUgY3JlYXRlZCAoaG9wZWZ1bGx5KS4KICAgIC8vIGRlbGV0ZSB0aGUgcmVjb3JkcyBmcm9tIHRoZSBTZWxmUmVnIHRhYmxlcwogICAgJHRoaXMtPkRlbGV0ZVRlbXBVc2VyUHJvcGVydGllcyggJHRtcHVpZCApOwogICAgJHRoaXMtPkRlbGV0ZVRlbXBVc2VyKCAkdG1wdWlkICk7CiAgICAKICAgIC8vIGRvIHdlIGF1dG9tYXRpY2FsbHkgbG9nIHRoaXMgdXNlciBpbj8KICAgIGlmKCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbG9naW5fYWZ0ZXJ2ZXJpZnknKSApCiAgICAgIHsKCSRmZXUgPSYgJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCdGcm9udEVuZFVzZXJzJyk7CgkkZmV1LT5Mb2dpbiggJHVzZXJuYW1lLCAkcGFzc3dvcmQgKTsKICAgICAgfQogIH0KCi8vIENoZWNrIGlmIHdlIGhhdmUgdG8gcmVkaXJlY3QgdG8gYSBwYWdlIG9yIG5vdAoKJGRlc3RwYWdlc3RyID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3JlZGlyZWN0X2FmdGVycmVnaXN0ZXInKTsKaWYoICFlbXB0eSgkZGVzdHBhZ2VzdHIpICkKICB7CiAgICAkY29udGVudG9wcyA9JiAkZ0Ntcy0+R2V0Q29udGVudE9wZXJhdGlvbnMoKTsKICAgICRkZXN0cGFnZWlkID0gJGNvbnRlbnRvcHMtPkdldFBhZ2VJREZyb21BbGlhcygkZGVzdHBhZ2VzdHIpOwogICAgaWYoICRkZXN0cGFnZWlkID09IEZBTFNFICkKICAgICAgewoJJHRtcGFsaWFzID0gJGNvbnRlbnRvcHMtPkdldFBhZ2VBbGlhc0Zyb21JRCgkZGVzdHBhZ2VzdHIpOwoJaWYoICEkdG1wYWxpYXMgKQoJICB7CgkgICAgJGRlc3RwYWdlaWQgPSAkdG1wYWxpYXM7CgkgIH0KICAgICAgfQogICAgJHJldHVybmlkID0gJGRlc3RwYWdlaWQ7CiAgfQoKaWYoICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzZWxmcmVnX3NraXBfZmluYWxfbXNnJykgKQogIHsKICAgICR0aGlzLT5SZWRpcmVjdENvbnRlbnQoJHJldHVybmlkKTsKICB9CgokdGhpcy0+UmVkaXJlY3QoJGlkLCRhY3Rpb24sJHJldHVybmlkLCRwYXJtcyk7Cgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/action.setprefs.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNlbGZSZWdpc3RyYXRpb24gKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IHVzZXJzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMKIyAgd2l0aCBhIHdlYnNpdGUuCiMgCiMgVmVyc2lvbjogMS4xLjUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgppZiggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oICdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycgKSApCiAgewogICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAKCQkJICAgICAkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwogICAgcmV0dXJuOwogIH0KCmlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfcmVtb3ZlYWxsJ10gKSApCiAgewogICAgJHRoaXMtPkV4cGlyZU9sZFRlbXBVc2VycygnLTUgeWVhcnMnKTsKICAgIHJldHVybjsKICB9CgppZiggaXNzZXQoICRwYXJhbXNbJ2lucHV0X3JlbW92ZTF3ZWVrJ10gKSApCiAgewogICAgJHRoaXMtPkV4cGlyZU9sZFRlbXBVc2VycygnLTEgd2VlaycpOwogICAgJHRoaXMtPm15UmVkaXJlY3RUb1RhYigkaWQsICdwcmVmcycpOwogIH0KCmlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfcmVtb3ZlMW1vbnRoJ10gKSApCiAgewogICAgJHRoaXMtPkV4cGlyZU9sZFRlbXBVc2VycygnLTEgbW9udGgnKTsKICAgICR0aGlzLT5teVJlZGlyZWN0VG9UYWIoJGlkLCAncHJlZnMnKTsKICB9CgppZiggaXNzZXQoICRwYXJhbXNbJ2lucHV0X3JlbW92ZTFtb250aCddICkgKQogIHsKICAgICR0aGlzLT5FeHBpcmVPbGRUZW1wVXNlcnMoJy0yNCBob3VycycpOwogICAgJHRoaXMtPm15UmVkaXJlY3RUb1RhYigkaWQsICdwcmVmcycpOwogIH0KCmlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfbGlzdDFkYXknXSApICkKICB7CiMgY3JlYXRlIGEgY3N2IGZpbGUgZm9yIHRlbXAgdXNlcnMgdGhhdCBoYXZlCiMgYmVlbiBpbiB0aGVyZSBtb3JlIHRoYW4gb25lIGRheQogICAgJHJlc3VsdCA9ICR0aGlzLT5DU1ZPbGRUZW1wVXNlcnMoJy0yNCBob3VycycpOwogICAgaWYoICRyZXN1bHQgPT0gJycgKQogICAgICB7CgllY2hvICI8aDM+Tm8gcmVzdWx0cyByZXR1cm5lZDwvaDM+IjsKCXJldHVybjsKICAgICAgfQogICAgaGVhZGVyKCdDb250ZW50LURlc2NyaXB0aW9uOiBGaWxlIFRyYW5zZmVyJyk7CiAgICBoZWFkZXIoJ0NvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vZm9yY2UtZG93bmxvYWQnKTsKICAgIGhlYWRlcignQ29udGVudC1EaXNwb3NpdGlvbjogYXR0YWNobWVudDsgZmlsZW5hbWU9dHJhcHBlZGluc2VsZnJlZy5jc3YnKTsKICAgIHdoaWxlKEBvYl9lbmRfY2xlYW4oKSk7CiAgICBlY2hvICRyZXN1bHQ7CiAgICBleGl0KCk7CiAgfQoKaWYoIGlzc2V0KCAkcGFyYW1zWydpbnB1dF9pbmxpbmUnXSApICkKICB7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnaW5saW5lX2Zvcm1zJywKCQkJICRwYXJhbXNbJ2lucHV0X2lubGluZSddKTsKICB9CmVsc2UKICB7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnaW5saW5lX2Zvcm1zJywgMCk7CiAgfQoKaWYoIGlzc2V0KCAkcGFyYW1zWydpbnB1dF9ub3RpZnknXSApICkKICB7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnbm90aWZ5X29uX3JlZ2lzdHJhdGlvbicsCgkJCSAkcGFyYW1zWydpbnB1dF9ub3RpZnknXSk7CiAgfQplbHNlCiAgewogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ25vdGlmeV9vbl9yZWdpc3RyYXRpb24nLCAwKTsKICB9CgppZiggaXNzZXQoICRwYXJhbXNbJ2lucHV0X2VtYWlsX2NvbmZpcm1hdGlvbiddICkgKQogIHsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdyZXF1aXJlX2VtYWlsX2NvbmZpcm1hdGlvbicsCgkJCSAkcGFyYW1zWydpbnB1dF9lbWFpbF9jb25maXJtYXRpb24nXSk7CiAgfQplbHNlCiAgewogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3JlcXVpcmVfZW1haWxfY29uZmlybWF0aW9uJywgMCk7CiAgfQoKaWYoIGlzc2V0KCAkcGFyYW1zWydpbnB1dF9jb25maXJtbWFpbF90byddICkgKQogIHsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdzZW5kX2VtYWlsc190bycsCgkJCSAkcGFyYW1zWydpbnB1dF9jb25maXJtbWFpbF90byddKTsKICB9CgppZiggaXNzZXQoICRwYXJhbXNbJ2lucHV0X2ZvcmNlX2VtYWlsX3R3aWNlJ10gKSApCiAgewogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3NlbGZyZWdfZm9yY2VfZW1haWxfdHdpY2UnLCAxKTsKICB9CmVsc2UKICB7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnc2VsZnJlZ19mb3JjZV9lbWFpbF90d2ljZScsIDApOwogIH0KCmlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfc2tpcF9maW5hbF9tc2cnXSApICkKICB7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnc2VsZnJlZ19za2lwX2ZpbmFsX21zZycsIDEpOwogIH0KZWxzZQogIHsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdzZWxmcmVnX3NraXBfZmluYWxfbXNnJywgMCk7CiAgfQoKJGxvZ2luX2FmdGVydmVyaWZ5ID0gMDsKaWYoIGlzc2V0KCRwYXJhbXNbJ2lucHV0X2xvZ2luX2FmdGVydmVyaWZ5J10pICkKICB7CiAgICAkbG9naW5fYWZ0ZXJ2ZXJpZnkgPSAxOwogIH0KJHRoaXMtPlNldFByZWZlcmVuY2UoJ2xvZ2luX2FmdGVydmVyaWZ5JywkbG9naW5fYWZ0ZXJ2ZXJpZnkpOwoKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3JlZGlyZWN0X2FmdGVycmVnaXN0ZXInLAoJCSAgICAgdHJpbSgkcGFyYW1zWydpbnB1dF9yZWRpcmVjdF9hZnRlcnJlZ2lzdGVyJ10pKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3JlZGlyZWN0X2FmdGVydmVyaWZ5JywKCQkgICAgIHRyaW0oJHBhcmFtc1snaW5wdXRfcmVkaXJlY3RfYWZ0ZXJ2ZXJpZnknXSkpOwoKJHRoaXMtPm15UmVkaXJlY3RUb1RhYiggJGlkLCAncHJlZmVyZW5jZXMnICk7CgovLyBFT0YKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.verifyuser.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNlbGZSZWdpc3RyYXRpb24gKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IHVzZXJzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMKIyAgd2l0aCBhIHdlYnNpdGUuCiMgCiMgVmVyc2lvbjogMS4xLjUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgovLyBub3cgYWxsIHdlIGhhdmUgdG8gZG8gaXMgZ2V0IHRoZSB1c2VybmFtZSwgY29kZSwgYW5kIHBhc3N3b3JkCi8vIGFuZCBtYWtlIHN1cmUgaXQgYWxsIG1hdGNoZXMKaWYoICFpc3NldCggJHBhcmFtc1snaW5wdXRfdXNlcm5hbWUnXSApICkKICB7CiAgICAkcGFyYW1zWydtb2RlJ10gPSAndmVyaWZ5JzsKICAgICRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9taXNzaW5ndXNlcm5hbWUnKTsKICAgICRwYXJhbXNbJ2Vycm9yJ10gPSAxOwogICAgJHRoaXMtPm15UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHQnLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsKICB9CiR1c2VybmFtZSA9IHRyaW0oJHBhcmFtc1snaW5wdXRfdXNlcm5hbWUnXSk7CmlmKCAhaXNzZXQoICRwYXJhbXNbJ2lucHV0X3Bhc3N3b3JkJ10gKSApCiAgewogICAgJHBhcmFtc1snbW9kZSddID0gJ3ZlcmlmeSc7CiAgICAkcGFyYW1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfbWlzc2luZ3Bhc3N3b3JkJyk7CiAgICAkcGFyYW1zWydlcnJvciddID0gMTsKICAgICR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAkcGFyYW1zICk7CiAgfQokcGFzc3dvcmQgPSB0cmltKCRwYXJhbXNbJ2lucHV0X3Bhc3N3b3JkJ10pOwppZiggIWlzc2V0KCAkcGFyYW1zWydpbnB1dF9jb2RlJ10gKSApCiAgewogICAgJHBhcmFtc1snbW9kZSddID0gJ3ZlcmlmeSc7CiAgICAkcGFyYW1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfbWlzc2luZ2NvZGUnKTsKICAgICRwYXJhbXNbJ2Vycm9yJ10gPSAxOwogICAgJHRoaXMtPm15UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHQnLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsKICB9CiRjb2RlID0gdHJpbSgkcGFyYW1zWydpbnB1dF9jb2RlJ10pOwoKLy8gbm93IGdldCB0aGUgZGV0YWlscyBvdXQgb2YgdGhlIGRhdGFiYXNlIGZvciB0aHMgdXNlcgokZGIgPSAkdGhpcy0+R2V0RGIoKTsKJHEgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3NlbGZyZWdfdXNlcnMKICAgICAgICAgIFdIRVJFIHVzZXJuYW1lID0gPyI7CiRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHEsIGFycmF5KCAkdXNlcm5hbWUgKSApOwppZiggISRkYnJlc3VsdCApCiAgewogICAgJHBhcmFtc1snbW9kZSddID0gJ3ZlcmlmeSc7CiAgICAkcGFyYW1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfZGJlcnJvcicpOwogICAgJHBhcmFtc1snZXJyb3InXSA9IDE7CiAgICAkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJHBhcmFtcyApOwogIH0KaWYoICRkYnJlc3VsdC0+UmVjb3JkQ291bnQoKSAhPSAxICkKICB7CiAgICAkcGFyYW1zWydtb2RlJ10gPSAndmVyaWZ5JzsKICAgICRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl91c2Vybm90Zm91bmQnKTsKICAgICRwYXJhbXNbJ2Vycm9yJ10gPSAxOwogICAgJHRoaXMtPkF1ZGl0KCAwLCAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyksIAoJCSAgJHRoaXMtPkxhbmcoJ2Vycm9yX3VzZXJub3Rmb3VuZCcpLiI6ICIuJHVzZXJuYW1lKTsKICAgICR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAkcGFyYW1zICk7CiAgfQogICAgCiR0bXB1c2VyID0gJGRicmVzdWx0LT5GZXRjaFJvdygpOwppZiggbWQ1KCRwYXNzd29yZCkgIT0gJHRtcHVzZXJbJ3Bhc3Nzd29yZCddICkKICB7CiAgICAkcGFyYW1zWydtb2RlJ10gPSAndmVyaWZ5JzsKICAgICRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9wYXNzd29yZHNkb250bWF0Y2gnKTsKICAgICRwYXJhbXNbJ2Vycm9yJ10gPSAxOwogICAgJHRoaXMtPkF1ZGl0KCAwLCAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyksIAoJCSAgJHRoaXMtPkxhbmcoJ2Vycm9yX3Bhc3N3b3Jkc2RvbnRtYXRjaCcpLiI6ICIuJHVzZXJuYW1lKTsKICAgICR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAkcGFyYW1zICk7CiAgICByZXR1cm47CiAgfQppZiggJGNvZGUgIT0gJHRtcHVzZXJbJ2NvZGUnXSApCiAgewogICAgJHBhcmFtc1snbW9kZSddID0gJ3ZlcmlmeSc7CiAgICAkcGFyYW1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfY29kZXNkb250bWF0Y2gnKTsKICAgICRwYXJhbXNbJ2Vycm9yJ10gPSAxOwogICAgJHRoaXMtPkF1ZGl0KCAwLCAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyksIAoJCSAgJHRoaXMtPkxhbmcoJ2Vycm9yX2NvZGVzZG9udG1hdGNoJykuIjogIi4kdXNlcm5hbWUpOwogICAgJHRoaXMtPm15UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHQnLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsKICB9CmlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfZ3JvdXBfaWQnXSApICYmICRwYXJhbXNbJ2lucHV0X2dyb3VwX2lkJ10gIT0gJycgKQogIHsKICAgICRncm91cF9pZCA9IHRyaW0oJHBhcmFtc1snaW5wdXRfZ3JvdXBfaWQnXSk7CiAgfQogZWxzZQogICB7CiAgICAgJGdyb3VwX2lkID0gJHRtcHVzZXJbJ2dyb3VwX2lkJ107CiAgIH0KCiRyZXN1bHQgPSAkdGhpcy0+X0NyZWF0ZUZyb250ZW5kVXNlciggJHRtcHVzZXJbJ2lkJ10sICRncm91cF9pZCwKCQkJCSAgICAgICR1c2VybmFtZSwgJHBhc3N3b3JkICk7CmlmKCAkcmVzdWx0ICE9IDAgKQogIHsKICAgICRwYXJhbXNbJ21vZGUnXSA9ICd2ZXJpZnknOwogICAgJHBhcmFtc1snbWVzc2FnZSddID0gJHJlc3VsdDsKICAgICRwYXJhbXNbJ2Vycm9yJ10gPSAxOwogICAgJHRoaXMtPm15UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHQnLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsKICAgIHJldHVybjsKICB9CgovLyB3b29ob29vLCB0aGUgdXNlciBiZSBjcmVhdGVkIChob3BlZnVsbHkpLgovLyBkZWxldGUgdGhlIHJlY29yZHMgZnJvbSB0aGUgU2VsZlJlZyB0YWJsZXMKJHRoaXMtPkRlbGV0ZVRlbXBVc2VyUHJvcGVydGllcyggJHRtcHVzZXJbJ2lkJ10gKTsKJHRoaXMtPkRlbGV0ZVRlbXBVc2VyKCAkdG1wdXNlclsnaWQnXSApOwoKdW5zZXQoJHBhcmFtc1snbW9kZSddKTsKdW5zZXQoJHBhcmFtc1snYWN0aW9uJ10pOwoKLy8gZG8gd2UgYXV0b21hdGljYWxseSBsb2cgdGhpcyB1c2VyIGluPwppZiggJHRoaXMtPkdldFByZWZlcmVuY2UoJ2xvZ2luX2FmdGVydmVyaWZ5JykgKQogIHsKICAgICRmZXUgPSYgJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCdGcm9udEVuZFVzZXJzJyk7CiAgICAkZmV1LT5Mb2dpbiggJHVzZXJuYW1lLCAkcGFzc3dvcmQgKTsKICB9CgovLyBDaGVjayBpZiB3ZSBoYXZlIHRvIHJlZGlyZWN0IHRvIGEgcGFnZSBvciBub3QKJGRlc3RwYWdlc3RyID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3JlZGlyZWN0X2FmdGVydmVyaWZ5Jyk7CmlmKCAhZW1wdHkoJGRlc3RwYWdlc3RyKSApCiAgewogICAgJGNvbnRlbnRvcHMgPSYgJGdDbXMtPkdldENvbnRlbnRPcGVyYXRpb25zKCk7CiAgICAkZGVzdHBhZ2VpZCA9ICRjb250ZW50b3BzLT5HZXRQYWdlSURGcm9tQWxpYXMoJGRlc3RwYWdlc3RyKTsKICAgIGlmKCAkZGVzdHBhZ2VpZCA9PSBGQUxTRSApCiAgICAgIHsKCSR0bXBhbGlhcyA9ICRjb250ZW50b3BzLT5HZXRQYWdlQWxpYXNGcm9tSUQoJGRlc3RwYWdlc3RyKTsKCWlmKCAhJHRtcGFsaWFzICkKCSAgewoJICAgICRkZXN0cGFnZWlkID0gJHRtcGFsaWFzOwoJICB9CiAgICAgIH0KICAgICRyZXR1cm5pZCA9ICRkZXN0cGFnZWlkOwogIH0KJHBhcm1zID0gYXJyYXkoKTsKJHBhcm1zWyd1c2VybmFtZSddID0gJHBhcmFtc1sndXNlcm5hbWUnXTsKJHRoaXMtPlJlZGlyZWN0KCRpZCwncG9zdF9jcmVhdGV1c2VyJywkcmV0dXJuaWQsJHBhcm1zKTsKCj8+]]></data>
	</file>
	<file>
	  <filename>/docs/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/docs/COPYING</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ICAgICAgICAgICAgICAgICAgICBHTlUgR0VORVJBTCBQVUJMSUMgTElDRU5TRQogICAgICAgICAgICAgICAgICAgICAgIFZlcnNpb24gMywgMjkgSnVuZSAyMDA3CgogQ29weXJpZ2h0IChDKSAyMDA3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiA8aHR0cDovL2ZzZi5vcmcvPgogRXZlcnlvbmUgaXMgcGVybWl0dGVkIHRvIGNvcHkgYW5kIGRpc3RyaWJ1dGUgdmVyYmF0aW0gY29waWVzCiBvZiB0aGlzIGxpY2Vuc2UgZG9jdW1lbnQsIGJ1dCBjaGFuZ2luZyBpdCBpcyBub3QgYWxsb3dlZC4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcmVhbWJsZQoKICBUaGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaXMgYSBmcmVlLCBjb3B5bGVmdCBsaWNlbnNlIGZvcgpzb2Z0d2FyZSBhbmQgb3RoZXIga2luZHMgb2Ygd29ya3MuCgogIFRoZSBsaWNlbnNlcyBmb3IgbW9zdCBzb2Z0d2FyZSBhbmQgb3RoZXIgcHJhY3RpY2FsIHdvcmtzIGFyZSBkZXNpZ25lZAp0byB0YWtlIGF3YXkgeW91ciBmcmVlZG9tIHRvIHNoYXJlIGFuZCBjaGFuZ2UgdGhlIHdvcmtzLiAgQnkgY29udHJhc3QsCnRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBpcyBpbnRlbmRlZCB0byBndWFyYW50ZWUgeW91ciBmcmVlZG9tIHRvCnNoYXJlIGFuZCBjaGFuZ2UgYWxsIHZlcnNpb25zIG9mIGEgcHJvZ3JhbS0tdG8gbWFrZSBzdXJlIGl0IHJlbWFpbnMgZnJlZQpzb2Z0d2FyZSBmb3IgYWxsIGl0cyB1c2Vycy4gIFdlLCB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCB1c2UgdGhlCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3N0IG9mIG91ciBzb2Z0d2FyZTsgaXQgYXBwbGllcyBhbHNvIHRvCmFueSBvdGhlciB3b3JrIHJlbGVhc2VkIHRoaXMgd2F5IGJ5IGl0cyBhdXRob3JzLiAgWW91IGNhbiBhcHBseSBpdCB0bwp5b3VyIHByb2dyYW1zLCB0b28uCgogIFdoZW4gd2Ugc3BlYWsgb2YgZnJlZSBzb2Z0d2FyZSwgd2UgYXJlIHJlZmVycmluZyB0byBmcmVlZG9tLCBub3QKcHJpY2UuICBPdXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZXMgYXJlIGRlc2lnbmVkIHRvIG1ha2Ugc3VyZSB0aGF0IHlvdQpoYXZlIHRoZSBmcmVlZG9tIHRvIGRpc3RyaWJ1dGUgY29waWVzIG9mIGZyZWUgc29mdHdhcmUgKGFuZCBjaGFyZ2UgZm9yCnRoZW0gaWYgeW91IHdpc2gpLCB0aGF0IHlvdSByZWNlaXZlIHNvdXJjZSBjb2RlIG9yIGNhbiBnZXQgaXQgaWYgeW91CndhbnQgaXQsIHRoYXQgeW91IGNhbiBjaGFuZ2UgdGhlIHNvZnR3YXJlIG9yIHVzZSBwaWVjZXMgb2YgaXQgaW4gbmV3CmZyZWUgcHJvZ3JhbXMsIGFuZCB0aGF0IHlvdSBrbm93IHlvdSBjYW4gZG8gdGhlc2UgdGhpbmdzLgoKICBUbyBwcm90ZWN0IHlvdXIgcmlnaHRzLCB3ZSBuZWVkIHRvIHByZXZlbnQgb3RoZXJzIGZyb20gZGVueWluZyB5b3UKdGhlc2UgcmlnaHRzIG9yIGFza2luZyB5b3UgdG8gc3VycmVuZGVyIHRoZSByaWdodHMuICBUaGVyZWZvcmUsIHlvdSBoYXZlCmNlcnRhaW4gcmVzcG9uc2liaWxpdGllcyBpZiB5b3UgZGlzdHJpYnV0ZSBjb3BpZXMgb2YgdGhlIHNvZnR3YXJlLCBvciBpZgp5b3UgbW9kaWZ5IGl0OiByZXNwb25zaWJpbGl0aWVzIHRvIHJlc3BlY3QgdGhlIGZyZWVkb20gb2Ygb3RoZXJzLgoKICBGb3IgZXhhbXBsZSwgaWYgeW91IGRpc3RyaWJ1dGUgY29waWVzIG9mIHN1Y2ggYSBwcm9ncmFtLCB3aGV0aGVyCmdyYXRpcyBvciBmb3IgYSBmZWUsIHlvdSBtdXN0IHBhc3Mgb24gdG8gdGhlIHJlY2lwaWVudHMgdGhlIHNhbWUKZnJlZWRvbXMgdGhhdCB5b3UgcmVjZWl2ZWQuICBZb3UgbXVzdCBtYWtlIHN1cmUgdGhhdCB0aGV5LCB0b28sIHJlY2VpdmUKb3IgY2FuIGdldCB0aGUgc291cmNlIGNvZGUuICBBbmQgeW91IG11c3Qgc2hvdyB0aGVtIHRoZXNlIHRlcm1zIHNvIHRoZXkKa25vdyB0aGVpciByaWdodHMuCgogIERldmVsb3BlcnMgdGhhdCB1c2UgdGhlIEdOVSBHUEwgcHJvdGVjdCB5b3VyIHJpZ2h0cyB3aXRoIHR3byBzdGVwczoKKDEpIGFzc2VydCBjb3B5cmlnaHQgb24gdGhlIHNvZnR3YXJlLCBhbmQgKDIpIG9mZmVyIHlvdSB0aGlzIExpY2Vuc2UKZ2l2aW5nIHlvdSBsZWdhbCBwZXJtaXNzaW9uIHRvIGNvcHksIGRpc3RyaWJ1dGUgYW5kL29yIG1vZGlmeSBpdC4KCiAgRm9yIHRoZSBkZXZlbG9wZXJzJyBhbmQgYXV0aG9ycycgcHJvdGVjdGlvbiwgdGhlIEdQTCBjbGVhcmx5IGV4cGxhaW5zCnRoYXQgdGhlcmUgaXMgbm8gd2FycmFudHkgZm9yIHRoaXMgZnJlZSBzb2Z0d2FyZS4gIEZvciBib3RoIHVzZXJzJyBhbmQKYXV0aG9ycycgc2FrZSwgdGhlIEdQTCByZXF1aXJlcyB0aGF0IG1vZGlmaWVkIHZlcnNpb25zIGJlIG1hcmtlZCBhcwpjaGFuZ2VkLCBzbyB0aGF0IHRoZWlyIHByb2JsZW1zIHdpbGwgbm90IGJlIGF0dHJpYnV0ZWQgZXJyb25lb3VzbHkgdG8KYXV0aG9ycyBvZiBwcmV2aW91cyB2ZXJzaW9ucy4KCiAgU29tZSBkZXZpY2VzIGFyZSBkZXNpZ25lZCB0byBkZW55IHVzZXJzIGFjY2VzcyB0byBpbnN0YWxsIG9yIHJ1bgptb2RpZmllZCB2ZXJzaW9ucyBvZiB0aGUgc29mdHdhcmUgaW5zaWRlIHRoZW0sIGFsdGhvdWdoIHRoZSBtYW51ZmFjdHVyZXIKY2FuIGRvIHNvLiAgVGhpcyBpcyBmdW5kYW1lbnRhbGx5IGluY29tcGF0aWJsZSB3aXRoIHRoZSBhaW0gb2YKcHJvdGVjdGluZyB1c2VycycgZnJlZWRvbSB0byBjaGFuZ2UgdGhlIHNvZnR3YXJlLiAgVGhlIHN5c3RlbWF0aWMKcGF0dGVybiBvZiBzdWNoIGFidXNlIG9jY3VycyBpbiB0aGUgYXJlYSBvZiBwcm9kdWN0cyBmb3IgaW5kaXZpZHVhbHMgdG8KdXNlLCB3aGljaCBpcyBwcmVjaXNlbHkgd2hlcmUgaXQgaXMgbW9zdCB1bmFjY2VwdGFibGUuICBUaGVyZWZvcmUsIHdlCmhhdmUgZGVzaWduZWQgdGhpcyB2ZXJzaW9uIG9mIHRoZSBHUEwgdG8gcHJvaGliaXQgdGhlIHByYWN0aWNlIGZvciB0aG9zZQpwcm9kdWN0cy4gIElmIHN1Y2ggcHJvYmxlbXMgYXJpc2Ugc3Vic3RhbnRpYWxseSBpbiBvdGhlciBkb21haW5zLCB3ZQpzdGFuZCByZWFkeSB0byBleHRlbmQgdGhpcyBwcm92aXNpb24gdG8gdGhvc2UgZG9tYWlucyBpbiBmdXR1cmUgdmVyc2lvbnMKb2YgdGhlIEdQTCwgYXMgbmVlZGVkIHRvIHByb3RlY3QgdGhlIGZyZWVkb20gb2YgdXNlcnMuCgogIEZpbmFsbHksIGV2ZXJ5IHByb2dyYW0gaXMgdGhyZWF0ZW5lZCBjb25zdGFudGx5IGJ5IHNvZnR3YXJlIHBhdGVudHMuClN0YXRlcyBzaG91bGQgbm90IGFsbG93IHBhdGVudHMgdG8gcmVzdHJpY3QgZGV2ZWxvcG1lbnQgYW5kIHVzZSBvZgpzb2Z0d2FyZSBvbiBnZW5lcmFsLXB1cnBvc2UgY29tcHV0ZXJzLCBidXQgaW4gdGhvc2UgdGhhdCBkbywgd2Ugd2lzaCB0bwphdm9pZCB0aGUgc3BlY2lhbCBkYW5nZXIgdGhhdCBwYXRlbnRzIGFwcGxpZWQgdG8gYSBmcmVlIHByb2dyYW0gY291bGQKbWFrZSBpdCBlZmZlY3RpdmVseSBwcm9wcmlldGFyeS4gIFRvIHByZXZlbnQgdGhpcywgdGhlIEdQTCBhc3N1cmVzIHRoYXQKcGF0ZW50cyBjYW5ub3QgYmUgdXNlZCB0byByZW5kZXIgdGhlIHByb2dyYW0gbm9uLWZyZWUuCgogIFRoZSBwcmVjaXNlIHRlcm1zIGFuZCBjb25kaXRpb25zIGZvciBjb3B5aW5nLCBkaXN0cmlidXRpb24gYW5kCm1vZGlmaWNhdGlvbiBmb2xsb3cuCgogICAgICAgICAgICAgICAgICAgICAgIFRFUk1TIEFORCBDT05ESVRJT05TCgogIDAuIERlZmluaXRpb25zLgoKICAiVGhpcyBMaWNlbnNlIiByZWZlcnMgdG8gdmVyc2lvbiAzIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KCiAgIkNvcHlyaWdodCIgYWxzbyBtZWFucyBjb3B5cmlnaHQtbGlrZSBsYXdzIHRoYXQgYXBwbHkgdG8gb3RoZXIga2luZHMgb2YKd29ya3MsIHN1Y2ggYXMgc2VtaWNvbmR1Y3RvciBtYXNrcy4KCiAgIlRoZSBQcm9ncmFtIiByZWZlcnMgdG8gYW55IGNvcHlyaWdodGFibGUgd29yayBsaWNlbnNlZCB1bmRlciB0aGlzCkxpY2Vuc2UuICBFYWNoIGxpY2Vuc2VlIGlzIGFkZHJlc3NlZCBhcyAieW91Ii4gICJMaWNlbnNlZXMiIGFuZAoicmVjaXBpZW50cyIgbWF5IGJlIGluZGl2aWR1YWxzIG9yIG9yZ2FuaXphdGlvbnMuCgogIFRvICJtb2RpZnkiIGEgd29yayBtZWFucyB0byBjb3B5IGZyb20gb3IgYWRhcHQgYWxsIG9yIHBhcnQgb2YgdGhlIHdvcmsKaW4gYSBmYXNoaW9uIHJlcXVpcmluZyBjb3B5cmlnaHQgcGVybWlzc2lvbiwgb3RoZXIgdGhhbiB0aGUgbWFraW5nIG9mIGFuCmV4YWN0IGNvcHkuICBUaGUgcmVzdWx0aW5nIHdvcmsgaXMgY2FsbGVkIGEgIm1vZGlmaWVkIHZlcnNpb24iIG9mIHRoZQplYXJsaWVyIHdvcmsgb3IgYSB3b3JrICJiYXNlZCBvbiIgdGhlIGVhcmxpZXIgd29yay4KCiAgQSAiY292ZXJlZCB3b3JrIiBtZWFucyBlaXRoZXIgdGhlIHVubW9kaWZpZWQgUHJvZ3JhbSBvciBhIHdvcmsgYmFzZWQKb24gdGhlIFByb2dyYW0uCgogIFRvICJwcm9wYWdhdGUiIGEgd29yayBtZWFucyB0byBkbyBhbnl0aGluZyB3aXRoIGl0IHRoYXQsIHdpdGhvdXQKcGVybWlzc2lvbiwgd291bGQgbWFrZSB5b3UgZGlyZWN0bHkgb3Igc2Vjb25kYXJpbHkgbGlhYmxlIGZvcgppbmZyaW5nZW1lbnQgdW5kZXIgYXBwbGljYWJsZSBjb3B5cmlnaHQgbGF3LCBleGNlcHQgZXhlY3V0aW5nIGl0IG9uIGEKY29tcHV0ZXIgb3IgbW9kaWZ5aW5nIGEgcHJpdmF0ZSBjb3B5LiAgUHJvcGFnYXRpb24gaW5jbHVkZXMgY29weWluZywKZGlzdHJpYnV0aW9uICh3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uKSwgbWFraW5nIGF2YWlsYWJsZSB0byB0aGUKcHVibGljLCBhbmQgaW4gc29tZSBjb3VudHJpZXMgb3RoZXIgYWN0aXZpdGllcyBhcyB3ZWxsLgoKICBUbyAiY29udmV5IiBhIHdvcmsgbWVhbnMgYW55IGtpbmQgb2YgcHJvcGFnYXRpb24gdGhhdCBlbmFibGVzIG90aGVyCnBhcnRpZXMgdG8gbWFrZSBvciByZWNlaXZlIGNvcGllcy4gIE1lcmUgaW50ZXJhY3Rpb24gd2l0aCBhIHVzZXIgdGhyb3VnaAphIGNvbXB1dGVyIG5ldHdvcmssIHdpdGggbm8gdHJhbnNmZXIgb2YgYSBjb3B5LCBpcyBub3QgY29udmV5aW5nLgoKICBBbiBpbnRlcmFjdGl2ZSB1c2VyIGludGVyZmFjZSBkaXNwbGF5cyAiQXBwcm9wcmlhdGUgTGVnYWwgTm90aWNlcyIKdG8gdGhlIGV4dGVudCB0aGF0IGl0IGluY2x1ZGVzIGEgY29udmVuaWVudCBhbmQgcHJvbWluZW50bHkgdmlzaWJsZQpmZWF0dXJlIHRoYXQgKDEpIGRpc3BsYXlzIGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2UsIGFuZCAoMikKdGVsbHMgdGhlIHVzZXIgdGhhdCB0aGVyZSBpcyBubyB3YXJyYW50eSBmb3IgdGhlIHdvcmsgKGV4Y2VwdCB0byB0aGUKZXh0ZW50IHRoYXQgd2FycmFudGllcyBhcmUgcHJvdmlkZWQpLCB0aGF0IGxpY2Vuc2VlcyBtYXkgY29udmV5IHRoZQp3b3JrIHVuZGVyIHRoaXMgTGljZW5zZSwgYW5kIGhvdyB0byB2aWV3IGEgY29weSBvZiB0aGlzIExpY2Vuc2UuICBJZgp0aGUgaW50ZXJmYWNlIHByZXNlbnRzIGEgbGlzdCBvZiB1c2VyIGNvbW1hbmRzIG9yIG9wdGlvbnMsIHN1Y2ggYXMgYQptZW51LCBhIHByb21pbmVudCBpdGVtIGluIHRoZSBsaXN0IG1lZXRzIHRoaXMgY3JpdGVyaW9uLgoKICAxLiBTb3VyY2UgQ29kZS4KCiAgVGhlICJzb3VyY2UgY29kZSIgZm9yIGEgd29yayBtZWFucyB0aGUgcHJlZmVycmVkIGZvcm0gb2YgdGhlIHdvcmsKZm9yIG1ha2luZyBtb2RpZmljYXRpb25zIHRvIGl0LiAgIk9iamVjdCBjb2RlIiBtZWFucyBhbnkgbm9uLXNvdXJjZQpmb3JtIG9mIGEgd29yay4KCiAgQSAiU3RhbmRhcmQgSW50ZXJmYWNlIiBtZWFucyBhbiBpbnRlcmZhY2UgdGhhdCBlaXRoZXIgaXMgYW4gb2ZmaWNpYWwKc3RhbmRhcmQgZGVmaW5lZCBieSBhIHJlY29nbml6ZWQgc3RhbmRhcmRzIGJvZHksIG9yLCBpbiB0aGUgY2FzZSBvZgppbnRlcmZhY2VzIHNwZWNpZmllZCBmb3IgYSBwYXJ0aWN1bGFyIHByb2dyYW1taW5nIGxhbmd1YWdlLCBvbmUgdGhhdAppcyB3aWRlbHkgdXNlZCBhbW9uZyBkZXZlbG9wZXJzIHdvcmtpbmcgaW4gdGhhdCBsYW5ndWFnZS4KCiAgVGhlICJTeXN0ZW0gTGlicmFyaWVzIiBvZiBhbiBleGVjdXRhYmxlIHdvcmsgaW5jbHVkZSBhbnl0aGluZywgb3RoZXIKdGhhbiB0aGUgd29yayBhcyBhIHdob2xlLCB0aGF0IChhKSBpcyBpbmNsdWRlZCBpbiB0aGUgbm9ybWFsIGZvcm0gb2YKcGFja2FnaW5nIGEgTWFqb3IgQ29tcG9uZW50LCBidXQgd2hpY2ggaXMgbm90IHBhcnQgb2YgdGhhdCBNYWpvcgpDb21wb25lbnQsIGFuZCAoYikgc2VydmVzIG9ubHkgdG8gZW5hYmxlIHVzZSBvZiB0aGUgd29yayB3aXRoIHRoYXQKTWFqb3IgQ29tcG9uZW50LCBvciB0byBpbXBsZW1lbnQgYSBTdGFuZGFyZCBJbnRlcmZhY2UgZm9yIHdoaWNoIGFuCmltcGxlbWVudGF0aW9uIGlzIGF2YWlsYWJsZSB0byB0aGUgcHVibGljIGluIHNvdXJjZSBjb2RlIGZvcm0uICBBCiJNYWpvciBDb21wb25lbnQiLCBpbiB0aGlzIGNvbnRleHQsIG1lYW5zIGEgbWFqb3IgZXNzZW50aWFsIGNvbXBvbmVudAooa2VybmVsLCB3aW5kb3cgc3lzdGVtLCBhbmQgc28gb24pIG9mIHRoZSBzcGVjaWZpYyBvcGVyYXRpbmcgc3lzdGVtCihpZiBhbnkpIG9uIHdoaWNoIHRoZSBleGVjdXRhYmxlIHdvcmsgcnVucywgb3IgYSBjb21waWxlciB1c2VkIHRvCnByb2R1Y2UgdGhlIHdvcmssIG9yIGFuIG9iamVjdCBjb2RlIGludGVycHJldGVyIHVzZWQgdG8gcnVuIGl0LgoKICBUaGUgIkNvcnJlc3BvbmRpbmcgU291cmNlIiBmb3IgYSB3b3JrIGluIG9iamVjdCBjb2RlIGZvcm0gbWVhbnMgYWxsCnRoZSBzb3VyY2UgY29kZSBuZWVkZWQgdG8gZ2VuZXJhdGUsIGluc3RhbGwsIGFuZCAoZm9yIGFuIGV4ZWN1dGFibGUKd29yaykgcnVuIHRoZSBvYmplY3QgY29kZSBhbmQgdG8gbW9kaWZ5IHRoZSB3b3JrLCBpbmNsdWRpbmcgc2NyaXB0cyB0bwpjb250cm9sIHRob3NlIGFjdGl2aXRpZXMuICBIb3dldmVyLCBpdCBkb2VzIG5vdCBpbmNsdWRlIHRoZSB3b3JrJ3MKU3lzdGVtIExpYnJhcmllcywgb3IgZ2VuZXJhbC1wdXJwb3NlIHRvb2xzIG9yIGdlbmVyYWxseSBhdmFpbGFibGUgZnJlZQpwcm9ncmFtcyB3aGljaCBhcmUgdXNlZCB1bm1vZGlmaWVkIGluIHBlcmZvcm1pbmcgdGhvc2UgYWN0aXZpdGllcyBidXQKd2hpY2ggYXJlIG5vdCBwYXJ0IG9mIHRoZSB3b3JrLiAgRm9yIGV4YW1wbGUsIENvcnJlc3BvbmRpbmcgU291cmNlCmluY2x1ZGVzIGludGVyZmFjZSBkZWZpbml0aW9uIGZpbGVzIGFzc29jaWF0ZWQgd2l0aCBzb3VyY2UgZmlsZXMgZm9yCnRoZSB3b3JrLCBhbmQgdGhlIHNvdXJjZSBjb2RlIGZvciBzaGFyZWQgbGlicmFyaWVzIGFuZCBkeW5hbWljYWxseQpsaW5rZWQgc3VicHJvZ3JhbXMgdGhhdCB0aGUgd29yayBpcyBzcGVjaWZpY2FsbHkgZGVzaWduZWQgdG8gcmVxdWlyZSwKc3VjaCBhcyBieSBpbnRpbWF0ZSBkYXRhIGNvbW11bmljYXRpb24gb3IgY29udHJvbCBmbG93IGJldHdlZW4gdGhvc2UKc3VicHJvZ3JhbXMgYW5kIG90aGVyIHBhcnRzIG9mIHRoZSB3b3JrLgoKICBUaGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgbmVlZCBub3QgaW5jbHVkZSBhbnl0aGluZyB0aGF0IHVzZXJzCmNhbiByZWdlbmVyYXRlIGF1dG9tYXRpY2FsbHkgZnJvbSBvdGhlciBwYXJ0cyBvZiB0aGUgQ29ycmVzcG9uZGluZwpTb3VyY2UuCgogIFRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBmb3IgYSB3b3JrIGluIHNvdXJjZSBjb2RlIGZvcm0gaXMgdGhhdApzYW1lIHdvcmsuCgogIDIuIEJhc2ljIFBlcm1pc3Npb25zLgoKICBBbGwgcmlnaHRzIGdyYW50ZWQgdW5kZXIgdGhpcyBMaWNlbnNlIGFyZSBncmFudGVkIGZvciB0aGUgdGVybSBvZgpjb3B5cmlnaHQgb24gdGhlIFByb2dyYW0sIGFuZCBhcmUgaXJyZXZvY2FibGUgcHJvdmlkZWQgdGhlIHN0YXRlZApjb25kaXRpb25zIGFyZSBtZXQuICBUaGlzIExpY2Vuc2UgZXhwbGljaXRseSBhZmZpcm1zIHlvdXIgdW5saW1pdGVkCnBlcm1pc3Npb24gdG8gcnVuIHRoZSB1bm1vZGlmaWVkIFByb2dyYW0uICBUaGUgb3V0cHV0IGZyb20gcnVubmluZyBhCmNvdmVyZWQgd29yayBpcyBjb3ZlcmVkIGJ5IHRoaXMgTGljZW5zZSBvbmx5IGlmIHRoZSBvdXRwdXQsIGdpdmVuIGl0cwpjb250ZW50LCBjb25zdGl0dXRlcyBhIGNvdmVyZWQgd29yay4gIFRoaXMgTGljZW5zZSBhY2tub3dsZWRnZXMgeW91cgpyaWdodHMgb2YgZmFpciB1c2Ugb3Igb3RoZXIgZXF1aXZhbGVudCwgYXMgcHJvdmlkZWQgYnkgY29weXJpZ2h0IGxhdy4KCiAgWW91IG1heSBtYWtlLCBydW4gYW5kIHByb3BhZ2F0ZSBjb3ZlcmVkIHdvcmtzIHRoYXQgeW91IGRvIG5vdApjb252ZXksIHdpdGhvdXQgY29uZGl0aW9ucyBzbyBsb25nIGFzIHlvdXIgbGljZW5zZSBvdGhlcndpc2UgcmVtYWlucwppbiBmb3JjZS4gIFlvdSBtYXkgY29udmV5IGNvdmVyZWQgd29ya3MgdG8gb3RoZXJzIGZvciB0aGUgc29sZSBwdXJwb3NlCm9mIGhhdmluZyB0aGVtIG1ha2UgbW9kaWZpY2F0aW9ucyBleGNsdXNpdmVseSBmb3IgeW91LCBvciBwcm92aWRlIHlvdQp3aXRoIGZhY2lsaXRpZXMgZm9yIHJ1bm5pbmcgdGhvc2Ugd29ya3MsIHByb3ZpZGVkIHRoYXQgeW91IGNvbXBseSB3aXRoCnRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UgaW4gY29udmV5aW5nIGFsbCBtYXRlcmlhbCBmb3Igd2hpY2ggeW91IGRvCm5vdCBjb250cm9sIGNvcHlyaWdodC4gIFRob3NlIHRodXMgbWFraW5nIG9yIHJ1bm5pbmcgdGhlIGNvdmVyZWQgd29ya3MKZm9yIHlvdSBtdXN0IGRvIHNvIGV4Y2x1c2l2ZWx5IG9uIHlvdXIgYmVoYWxmLCB1bmRlciB5b3VyIGRpcmVjdGlvbgphbmQgY29udHJvbCwgb24gdGVybXMgdGhhdCBwcm9oaWJpdCB0aGVtIGZyb20gbWFraW5nIGFueSBjb3BpZXMgb2YKeW91ciBjb3B5cmlnaHRlZCBtYXRlcmlhbCBvdXRzaWRlIHRoZWlyIHJlbGF0aW9uc2hpcCB3aXRoIHlvdS4KCiAgQ29udmV5aW5nIHVuZGVyIGFueSBvdGhlciBjaXJjdW1zdGFuY2VzIGlzIHBlcm1pdHRlZCBzb2xlbHkgdW5kZXIKdGhlIGNvbmRpdGlvbnMgc3RhdGVkIGJlbG93LiAgU3VibGljZW5zaW5nIGlzIG5vdCBhbGxvd2VkOyBzZWN0aW9uIDEwCm1ha2VzIGl0IHVubmVjZXNzYXJ5LgoKICAzLiBQcm90ZWN0aW5nIFVzZXJzJyBMZWdhbCBSaWdodHMgRnJvbSBBbnRpLUNpcmN1bXZlbnRpb24gTGF3LgoKICBObyBjb3ZlcmVkIHdvcmsgc2hhbGwgYmUgZGVlbWVkIHBhcnQgb2YgYW4gZWZmZWN0aXZlIHRlY2hub2xvZ2ljYWwKbWVhc3VyZSB1bmRlciBhbnkgYXBwbGljYWJsZSBsYXcgZnVsZmlsbGluZyBvYmxpZ2F0aW9ucyB1bmRlciBhcnRpY2xlCjExIG9mIHRoZSBXSVBPIGNvcHlyaWdodCB0cmVhdHkgYWRvcHRlZCBvbiAyMCBEZWNlbWJlciAxOTk2LCBvcgpzaW1pbGFyIGxhd3MgcHJvaGliaXRpbmcgb3IgcmVzdHJpY3RpbmcgY2lyY3VtdmVudGlvbiBvZiBzdWNoCm1lYXN1cmVzLgoKICBXaGVuIHlvdSBjb252ZXkgYSBjb3ZlcmVkIHdvcmssIHlvdSB3YWl2ZSBhbnkgbGVnYWwgcG93ZXIgdG8gZm9yYmlkCmNpcmN1bXZlbnRpb24gb2YgdGVjaG5vbG9naWNhbCBtZWFzdXJlcyB0byB0aGUgZXh0ZW50IHN1Y2ggY2lyY3VtdmVudGlvbgppcyBlZmZlY3RlZCBieSBleGVyY2lzaW5nIHJpZ2h0cyB1bmRlciB0aGlzIExpY2Vuc2Ugd2l0aCByZXNwZWN0IHRvCnRoZSBjb3ZlcmVkIHdvcmssIGFuZCB5b3UgZGlzY2xhaW0gYW55IGludGVudGlvbiB0byBsaW1pdCBvcGVyYXRpb24gb3IKbW9kaWZpY2F0aW9uIG9mIHRoZSB3b3JrIGFzIGEgbWVhbnMgb2YgZW5mb3JjaW5nLCBhZ2FpbnN0IHRoZSB3b3JrJ3MKdXNlcnMsIHlvdXIgb3IgdGhpcmQgcGFydGllcycgbGVnYWwgcmlnaHRzIHRvIGZvcmJpZCBjaXJjdW12ZW50aW9uIG9mCnRlY2hub2xvZ2ljYWwgbWVhc3VyZXMuCgogIDQuIENvbnZleWluZyBWZXJiYXRpbSBDb3BpZXMuCgogIFlvdSBtYXkgY29udmV5IHZlcmJhdGltIGNvcGllcyBvZiB0aGUgUHJvZ3JhbSdzIHNvdXJjZSBjb2RlIGFzIHlvdQpyZWNlaXZlIGl0LCBpbiBhbnkgbWVkaXVtLCBwcm92aWRlZCB0aGF0IHlvdSBjb25zcGljdW91c2x5IGFuZAphcHByb3ByaWF0ZWx5IHB1Ymxpc2ggb24gZWFjaCBjb3B5IGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2U7CmtlZXAgaW50YWN0IGFsbCBub3RpY2VzIHN0YXRpbmcgdGhhdCB0aGlzIExpY2Vuc2UgYW5kIGFueQpub24tcGVybWlzc2l2ZSB0ZXJtcyBhZGRlZCBpbiBhY2NvcmQgd2l0aCBzZWN0aW9uIDcgYXBwbHkgdG8gdGhlIGNvZGU7CmtlZXAgaW50YWN0IGFsbCBub3RpY2VzIG9mIHRoZSBhYnNlbmNlIG9mIGFueSB3YXJyYW50eTsgYW5kIGdpdmUgYWxsCnJlY2lwaWVudHMgYSBjb3B5IG9mIHRoaXMgTGljZW5zZSBhbG9uZyB3aXRoIHRoZSBQcm9ncmFtLgoKICBZb3UgbWF5IGNoYXJnZSBhbnkgcHJpY2Ugb3Igbm8gcHJpY2UgZm9yIGVhY2ggY29weSB0aGF0IHlvdSBjb252ZXksCmFuZCB5b3UgbWF5IG9mZmVyIHN1cHBvcnQgb3Igd2FycmFudHkgcHJvdGVjdGlvbiBmb3IgYSBmZWUuCgogIDUuIENvbnZleWluZyBNb2RpZmllZCBTb3VyY2UgVmVyc2lvbnMuCgogIFlvdSBtYXkgY29udmV5IGEgd29yayBiYXNlZCBvbiB0aGUgUHJvZ3JhbSwgb3IgdGhlIG1vZGlmaWNhdGlvbnMgdG8KcHJvZHVjZSBpdCBmcm9tIHRoZSBQcm9ncmFtLCBpbiB0aGUgZm9ybSBvZiBzb3VyY2UgY29kZSB1bmRlciB0aGUKdGVybXMgb2Ygc2VjdGlvbiA0LCBwcm92aWRlZCB0aGF0IHlvdSBhbHNvIG1lZXQgYWxsIG9mIHRoZXNlIGNvbmRpdGlvbnM6CgogICAgYSkgVGhlIHdvcmsgbXVzdCBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nIHRoYXQgeW91IG1vZGlmaWVkCiAgICBpdCwgYW5kIGdpdmluZyBhIHJlbGV2YW50IGRhdGUuCgogICAgYikgVGhlIHdvcmsgbXVzdCBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nIHRoYXQgaXQgaXMKICAgIHJlbGVhc2VkIHVuZGVyIHRoaXMgTGljZW5zZSBhbmQgYW55IGNvbmRpdGlvbnMgYWRkZWQgdW5kZXIgc2VjdGlvbgogICAgNy4gIFRoaXMgcmVxdWlyZW1lbnQgbW9kaWZpZXMgdGhlIHJlcXVpcmVtZW50IGluIHNlY3Rpb24gNCB0bwogICAgImtlZXAgaW50YWN0IGFsbCBub3RpY2VzIi4KCiAgICBjKSBZb3UgbXVzdCBsaWNlbnNlIHRoZSBlbnRpcmUgd29yaywgYXMgYSB3aG9sZSwgdW5kZXIgdGhpcwogICAgTGljZW5zZSB0byBhbnlvbmUgd2hvIGNvbWVzIGludG8gcG9zc2Vzc2lvbiBvZiBhIGNvcHkuICBUaGlzCiAgICBMaWNlbnNlIHdpbGwgdGhlcmVmb3JlIGFwcGx5LCBhbG9uZyB3aXRoIGFueSBhcHBsaWNhYmxlIHNlY3Rpb24gNwogICAgYWRkaXRpb25hbCB0ZXJtcywgdG8gdGhlIHdob2xlIG9mIHRoZSB3b3JrLCBhbmQgYWxsIGl0cyBwYXJ0cywKICAgIHJlZ2FyZGxlc3Mgb2YgaG93IHRoZXkgYXJlIHBhY2thZ2VkLiAgVGhpcyBMaWNlbnNlIGdpdmVzIG5vCiAgICBwZXJtaXNzaW9uIHRvIGxpY2Vuc2UgdGhlIHdvcmsgaW4gYW55IG90aGVyIHdheSwgYnV0IGl0IGRvZXMgbm90CiAgICBpbnZhbGlkYXRlIHN1Y2ggcGVybWlzc2lvbiBpZiB5b3UgaGF2ZSBzZXBhcmF0ZWx5IHJlY2VpdmVkIGl0LgoKICAgIGQpIElmIHRoZSB3b3JrIGhhcyBpbnRlcmFjdGl2ZSB1c2VyIGludGVyZmFjZXMsIGVhY2ggbXVzdCBkaXNwbGF5CiAgICBBcHByb3ByaWF0ZSBMZWdhbCBOb3RpY2VzOyBob3dldmVyLCBpZiB0aGUgUHJvZ3JhbSBoYXMgaW50ZXJhY3RpdmUKICAgIGludGVyZmFjZXMgdGhhdCBkbyBub3QgZGlzcGxheSBBcHByb3ByaWF0ZSBMZWdhbCBOb3RpY2VzLCB5b3VyCiAgICB3b3JrIG5lZWQgbm90IG1ha2UgdGhlbSBkbyBzby4KCiAgQSBjb21waWxhdGlvbiBvZiBhIGNvdmVyZWQgd29yayB3aXRoIG90aGVyIHNlcGFyYXRlIGFuZCBpbmRlcGVuZGVudAp3b3Jrcywgd2hpY2ggYXJlIG5vdCBieSB0aGVpciBuYXR1cmUgZXh0ZW5zaW9ucyBvZiB0aGUgY292ZXJlZCB3b3JrLAphbmQgd2hpY2ggYXJlIG5vdCBjb21iaW5lZCB3aXRoIGl0IHN1Y2ggYXMgdG8gZm9ybSBhIGxhcmdlciBwcm9ncmFtLAppbiBvciBvbiBhIHZvbHVtZSBvZiBhIHN0b3JhZ2Ugb3IgZGlzdHJpYnV0aW9uIG1lZGl1bSwgaXMgY2FsbGVkIGFuCiJhZ2dyZWdhdGUiIGlmIHRoZSBjb21waWxhdGlvbiBhbmQgaXRzIHJlc3VsdGluZyBjb3B5cmlnaHQgYXJlIG5vdAp1c2VkIHRvIGxpbWl0IHRoZSBhY2Nlc3Mgb3IgbGVnYWwgcmlnaHRzIG9mIHRoZSBjb21waWxhdGlvbidzIHVzZXJzCmJleW9uZCB3aGF0IHRoZSBpbmRpdmlkdWFsIHdvcmtzIHBlcm1pdC4gIEluY2x1c2lvbiBvZiBhIGNvdmVyZWQgd29yawppbiBhbiBhZ2dyZWdhdGUgZG9lcyBub3QgY2F1c2UgdGhpcyBMaWNlbnNlIHRvIGFwcGx5IHRvIHRoZSBvdGhlcgpwYXJ0cyBvZiB0aGUgYWdncmVnYXRlLgoKICA2LiBDb252ZXlpbmcgTm9uLVNvdXJjZSBGb3Jtcy4KCiAgWW91IG1heSBjb252ZXkgYSBjb3ZlcmVkIHdvcmsgaW4gb2JqZWN0IGNvZGUgZm9ybSB1bmRlciB0aGUgdGVybXMKb2Ygc2VjdGlvbnMgNCBhbmQgNSwgcHJvdmlkZWQgdGhhdCB5b3UgYWxzbyBjb252ZXkgdGhlCm1hY2hpbmUtcmVhZGFibGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgdW5kZXIgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZSwKaW4gb25lIG9mIHRoZXNlIHdheXM6CgogICAgYSkgQ29udmV5IHRoZSBvYmplY3QgY29kZSBpbiwgb3IgZW1ib2RpZWQgaW4sIGEgcGh5c2ljYWwgcHJvZHVjdAogICAgKGluY2x1ZGluZyBhIHBoeXNpY2FsIGRpc3RyaWJ1dGlvbiBtZWRpdW0pLCBhY2NvbXBhbmllZCBieSB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGZpeGVkIG9uIGEgZHVyYWJsZSBwaHlzaWNhbCBtZWRpdW0KICAgIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlLgoKICAgIGIpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgaW4sIG9yIGVtYm9kaWVkIGluLCBhIHBoeXNpY2FsIHByb2R1Y3QKICAgIChpbmNsdWRpbmcgYSBwaHlzaWNhbCBkaXN0cmlidXRpb24gbWVkaXVtKSwgYWNjb21wYW5pZWQgYnkgYQogICAgd3JpdHRlbiBvZmZlciwgdmFsaWQgZm9yIGF0IGxlYXN0IHRocmVlIHllYXJzIGFuZCB2YWxpZCBmb3IgYXMKICAgIGxvbmcgYXMgeW91IG9mZmVyIHNwYXJlIHBhcnRzIG9yIGN1c3RvbWVyIHN1cHBvcnQgZm9yIHRoYXQgcHJvZHVjdAogICAgbW9kZWwsIHRvIGdpdmUgYW55b25lIHdobyBwb3NzZXNzZXMgdGhlIG9iamVjdCBjb2RlIGVpdGhlciAoMSkgYQogICAgY29weSBvZiB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgZm9yIGFsbCB0aGUgc29mdHdhcmUgaW4gdGhlCiAgICBwcm9kdWN0IHRoYXQgaXMgY292ZXJlZCBieSB0aGlzIExpY2Vuc2UsIG9uIGEgZHVyYWJsZSBwaHlzaWNhbAogICAgbWVkaXVtIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlLCBmb3IgYSBwcmljZSBubwogICAgbW9yZSB0aGFuIHlvdXIgcmVhc29uYWJsZSBjb3N0IG9mIHBoeXNpY2FsbHkgcGVyZm9ybWluZyB0aGlzCiAgICBjb252ZXlpbmcgb2Ygc291cmNlLCBvciAoMikgYWNjZXNzIHRvIGNvcHkgdGhlCiAgICBDb3JyZXNwb25kaW5nIFNvdXJjZSBmcm9tIGEgbmV0d29yayBzZXJ2ZXIgYXQgbm8gY2hhcmdlLgoKICAgIGMpIENvbnZleSBpbmRpdmlkdWFsIGNvcGllcyBvZiB0aGUgb2JqZWN0IGNvZGUgd2l0aCBhIGNvcHkgb2YgdGhlCiAgICB3cml0dGVuIG9mZmVyIHRvIHByb3ZpZGUgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlLiAgVGhpcwogICAgYWx0ZXJuYXRpdmUgaXMgYWxsb3dlZCBvbmx5IG9jY2FzaW9uYWxseSBhbmQgbm9uY29tbWVyY2lhbGx5LCBhbmQKICAgIG9ubHkgaWYgeW91IHJlY2VpdmVkIHRoZSBvYmplY3QgY29kZSB3aXRoIHN1Y2ggYW4gb2ZmZXIsIGluIGFjY29yZAogICAgd2l0aCBzdWJzZWN0aW9uIDZiLgoKICAgIGQpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgYnkgb2ZmZXJpbmcgYWNjZXNzIGZyb20gYSBkZXNpZ25hdGVkCiAgICBwbGFjZSAoZ3JhdGlzIG9yIGZvciBhIGNoYXJnZSksIGFuZCBvZmZlciBlcXVpdmFsZW50IGFjY2VzcyB0byB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGluIHRoZSBzYW1lIHdheSB0aHJvdWdoIHRoZSBzYW1lIHBsYWNlIGF0IG5vCiAgICBmdXJ0aGVyIGNoYXJnZS4gIFlvdSBuZWVkIG5vdCByZXF1aXJlIHJlY2lwaWVudHMgdG8gY29weSB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGFsb25nIHdpdGggdGhlIG9iamVjdCBjb2RlLiAgSWYgdGhlIHBsYWNlIHRvCiAgICBjb3B5IHRoZSBvYmplY3QgY29kZSBpcyBhIG5ldHdvcmsgc2VydmVyLCB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UKICAgIG1heSBiZSBvbiBhIGRpZmZlcmVudCBzZXJ2ZXIgKG9wZXJhdGVkIGJ5IHlvdSBvciBhIHRoaXJkIHBhcnR5KQogICAgdGhhdCBzdXBwb3J0cyBlcXVpdmFsZW50IGNvcHlpbmcgZmFjaWxpdGllcywgcHJvdmlkZWQgeW91IG1haW50YWluCiAgICBjbGVhciBkaXJlY3Rpb25zIG5leHQgdG8gdGhlIG9iamVjdCBjb2RlIHNheWluZyB3aGVyZSB0byBmaW5kIHRoZQogICAgQ29ycmVzcG9uZGluZyBTb3VyY2UuICBSZWdhcmRsZXNzIG9mIHdoYXQgc2VydmVyIGhvc3RzIHRoZQogICAgQ29ycmVzcG9uZGluZyBTb3VyY2UsIHlvdSByZW1haW4gb2JsaWdhdGVkIHRvIGVuc3VyZSB0aGF0IGl0IGlzCiAgICBhdmFpbGFibGUgZm9yIGFzIGxvbmcgYXMgbmVlZGVkIHRvIHNhdGlzZnkgdGhlc2UgcmVxdWlyZW1lbnRzLgoKICAgIGUpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgdXNpbmcgcGVlci10by1wZWVyIHRyYW5zbWlzc2lvbiwgcHJvdmlkZWQKICAgIHlvdSBpbmZvcm0gb3RoZXIgcGVlcnMgd2hlcmUgdGhlIG9iamVjdCBjb2RlIGFuZCBDb3JyZXNwb25kaW5nCiAgICBTb3VyY2Ugb2YgdGhlIHdvcmsgYXJlIGJlaW5nIG9mZmVyZWQgdG8gdGhlIGdlbmVyYWwgcHVibGljIGF0IG5vCiAgICBjaGFyZ2UgdW5kZXIgc3Vic2VjdGlvbiA2ZC4KCiAgQSBzZXBhcmFibGUgcG9ydGlvbiBvZiB0aGUgb2JqZWN0IGNvZGUsIHdob3NlIHNvdXJjZSBjb2RlIGlzIGV4Y2x1ZGVkCmZyb20gdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIGFzIGEgU3lzdGVtIExpYnJhcnksIG5lZWQgbm90IGJlCmluY2x1ZGVkIGluIGNvbnZleWluZyB0aGUgb2JqZWN0IGNvZGUgd29yay4KCiAgQSAiVXNlciBQcm9kdWN0IiBpcyBlaXRoZXIgKDEpIGEgImNvbnN1bWVyIHByb2R1Y3QiLCB3aGljaCBtZWFucyBhbnkKdGFuZ2libGUgcGVyc29uYWwgcHJvcGVydHkgd2hpY2ggaXMgbm9ybWFsbHkgdXNlZCBmb3IgcGVyc29uYWwsIGZhbWlseSwKb3IgaG91c2Vob2xkIHB1cnBvc2VzLCBvciAoMikgYW55dGhpbmcgZGVzaWduZWQgb3Igc29sZCBmb3IgaW5jb3Jwb3JhdGlvbgppbnRvIGEgZHdlbGxpbmcuICBJbiBkZXRlcm1pbmluZyB3aGV0aGVyIGEgcHJvZHVjdCBpcyBhIGNvbnN1bWVyIHByb2R1Y3QsCmRvdWJ0ZnVsIGNhc2VzIHNoYWxsIGJlIHJlc29sdmVkIGluIGZhdm9yIG9mIGNvdmVyYWdlLiAgRm9yIGEgcGFydGljdWxhcgpwcm9kdWN0IHJlY2VpdmVkIGJ5IGEgcGFydGljdWxhciB1c2VyLCAibm9ybWFsbHkgdXNlZCIgcmVmZXJzIHRvIGEKdHlwaWNhbCBvciBjb21tb24gdXNlIG9mIHRoYXQgY2xhc3Mgb2YgcHJvZHVjdCwgcmVnYXJkbGVzcyBvZiB0aGUgc3RhdHVzCm9mIHRoZSBwYXJ0aWN1bGFyIHVzZXIgb3Igb2YgdGhlIHdheSBpbiB3aGljaCB0aGUgcGFydGljdWxhciB1c2VyCmFjdHVhbGx5IHVzZXMsIG9yIGV4cGVjdHMgb3IgaXMgZXhwZWN0ZWQgdG8gdXNlLCB0aGUgcHJvZHVjdC4gIEEgcHJvZHVjdAppcyBhIGNvbnN1bWVyIHByb2R1Y3QgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBwcm9kdWN0IGhhcyBzdWJzdGFudGlhbApjb21tZXJjaWFsLCBpbmR1c3RyaWFsIG9yIG5vbi1jb25zdW1lciB1c2VzLCB1bmxlc3Mgc3VjaCB1c2VzIHJlcHJlc2VudAp0aGUgb25seSBzaWduaWZpY2FudCBtb2RlIG9mIHVzZSBvZiB0aGUgcHJvZHVjdC4KCiAgIkluc3RhbGxhdGlvbiBJbmZvcm1hdGlvbiIgZm9yIGEgVXNlciBQcm9kdWN0IG1lYW5zIGFueSBtZXRob2RzLApwcm9jZWR1cmVzLCBhdXRob3JpemF0aW9uIGtleXMsIG9yIG90aGVyIGluZm9ybWF0aW9uIHJlcXVpcmVkIHRvIGluc3RhbGwKYW5kIGV4ZWN1dGUgbW9kaWZpZWQgdmVyc2lvbnMgb2YgYSBjb3ZlcmVkIHdvcmsgaW4gdGhhdCBVc2VyIFByb2R1Y3QgZnJvbQphIG1vZGlmaWVkIHZlcnNpb24gb2YgaXRzIENvcnJlc3BvbmRpbmcgU291cmNlLiAgVGhlIGluZm9ybWF0aW9uIG11c3QKc3VmZmljZSB0byBlbnN1cmUgdGhhdCB0aGUgY29udGludWVkIGZ1bmN0aW9uaW5nIG9mIHRoZSBtb2RpZmllZCBvYmplY3QKY29kZSBpcyBpbiBubyBjYXNlIHByZXZlbnRlZCBvciBpbnRlcmZlcmVkIHdpdGggc29sZWx5IGJlY2F1c2UKbW9kaWZpY2F0aW9uIGhhcyBiZWVuIG1hZGUuCgogIElmIHlvdSBjb252ZXkgYW4gb2JqZWN0IGNvZGUgd29yayB1bmRlciB0aGlzIHNlY3Rpb24gaW4sIG9yIHdpdGgsIG9yCnNwZWNpZmljYWxseSBmb3IgdXNlIGluLCBhIFVzZXIgUHJvZHVjdCwgYW5kIHRoZSBjb252ZXlpbmcgb2NjdXJzIGFzCnBhcnQgb2YgYSB0cmFuc2FjdGlvbiBpbiB3aGljaCB0aGUgcmlnaHQgb2YgcG9zc2Vzc2lvbiBhbmQgdXNlIG9mIHRoZQpVc2VyIFByb2R1Y3QgaXMgdHJhbnNmZXJyZWQgdG8gdGhlIHJlY2lwaWVudCBpbiBwZXJwZXR1aXR5IG9yIGZvciBhCmZpeGVkIHRlcm0gKHJlZ2FyZGxlc3Mgb2YgaG93IHRoZSB0cmFuc2FjdGlvbiBpcyBjaGFyYWN0ZXJpemVkKSwgdGhlCkNvcnJlc3BvbmRpbmcgU291cmNlIGNvbnZleWVkIHVuZGVyIHRoaXMgc2VjdGlvbiBtdXN0IGJlIGFjY29tcGFuaWVkCmJ5IHRoZSBJbnN0YWxsYXRpb24gSW5mb3JtYXRpb24uICBCdXQgdGhpcyByZXF1aXJlbWVudCBkb2VzIG5vdCBhcHBseQppZiBuZWl0aGVyIHlvdSBub3IgYW55IHRoaXJkIHBhcnR5IHJldGFpbnMgdGhlIGFiaWxpdHkgdG8gaW5zdGFsbAptb2RpZmllZCBvYmplY3QgY29kZSBvbiB0aGUgVXNlciBQcm9kdWN0IChmb3IgZXhhbXBsZSwgdGhlIHdvcmsgaGFzCmJlZW4gaW5zdGFsbGVkIGluIFJPTSkuCgogIFRoZSByZXF1aXJlbWVudCB0byBwcm92aWRlIEluc3RhbGxhdGlvbiBJbmZvcm1hdGlvbiBkb2VzIG5vdCBpbmNsdWRlIGEKcmVxdWlyZW1lbnQgdG8gY29udGludWUgdG8gcHJvdmlkZSBzdXBwb3J0IHNlcnZpY2UsIHdhcnJhbnR5LCBvciB1cGRhdGVzCmZvciBhIHdvcmsgdGhhdCBoYXMgYmVlbiBtb2RpZmllZCBvciBpbnN0YWxsZWQgYnkgdGhlIHJlY2lwaWVudCwgb3IgZm9yCnRoZSBVc2VyIFByb2R1Y3QgaW4gd2hpY2ggaXQgaGFzIGJlZW4gbW9kaWZpZWQgb3IgaW5zdGFsbGVkLiAgQWNjZXNzIHRvIGEKbmV0d29yayBtYXkgYmUgZGVuaWVkIHdoZW4gdGhlIG1vZGlmaWNhdGlvbiBpdHNlbGYgbWF0ZXJpYWxseSBhbmQKYWR2ZXJzZWx5IGFmZmVjdHMgdGhlIG9wZXJhdGlvbiBvZiB0aGUgbmV0d29yayBvciB2aW9sYXRlcyB0aGUgcnVsZXMgYW5kCnByb3RvY29scyBmb3IgY29tbXVuaWNhdGlvbiBhY3Jvc3MgdGhlIG5ldHdvcmsuCgogIENvcnJlc3BvbmRpbmcgU291cmNlIGNvbnZleWVkLCBhbmQgSW5zdGFsbGF0aW9uIEluZm9ybWF0aW9uIHByb3ZpZGVkLAppbiBhY2NvcmQgd2l0aCB0aGlzIHNlY3Rpb24gbXVzdCBiZSBpbiBhIGZvcm1hdCB0aGF0IGlzIHB1YmxpY2x5CmRvY3VtZW50ZWQgKGFuZCB3aXRoIGFuIGltcGxlbWVudGF0aW9uIGF2YWlsYWJsZSB0byB0aGUgcHVibGljIGluCnNvdXJjZSBjb2RlIGZvcm0pLCBhbmQgbXVzdCByZXF1aXJlIG5vIHNwZWNpYWwgcGFzc3dvcmQgb3Iga2V5IGZvcgp1bnBhY2tpbmcsIHJlYWRpbmcgb3IgY29weWluZy4KCiAgNy4gQWRkaXRpb25hbCBUZXJtcy4KCiAgIkFkZGl0aW9uYWwgcGVybWlzc2lvbnMiIGFyZSB0ZXJtcyB0aGF0IHN1cHBsZW1lbnQgdGhlIHRlcm1zIG9mIHRoaXMKTGljZW5zZSBieSBtYWtpbmcgZXhjZXB0aW9ucyBmcm9tIG9uZSBvciBtb3JlIG9mIGl0cyBjb25kaXRpb25zLgpBZGRpdGlvbmFsIHBlcm1pc3Npb25zIHRoYXQgYXJlIGFwcGxpY2FibGUgdG8gdGhlIGVudGlyZSBQcm9ncmFtIHNoYWxsCmJlIHRyZWF0ZWQgYXMgdGhvdWdoIHRoZXkgd2VyZSBpbmNsdWRlZCBpbiB0aGlzIExpY2Vuc2UsIHRvIHRoZSBleHRlbnQKdGhhdCB0aGV5IGFyZSB2YWxpZCB1bmRlciBhcHBsaWNhYmxlIGxhdy4gIElmIGFkZGl0aW9uYWwgcGVybWlzc2lvbnMKYXBwbHkgb25seSB0byBwYXJ0IG9mIHRoZSBQcm9ncmFtLCB0aGF0IHBhcnQgbWF5IGJlIHVzZWQgc2VwYXJhdGVseQp1bmRlciB0aG9zZSBwZXJtaXNzaW9ucywgYnV0IHRoZSBlbnRpcmUgUHJvZ3JhbSByZW1haW5zIGdvdmVybmVkIGJ5CnRoaXMgTGljZW5zZSB3aXRob3V0IHJlZ2FyZCB0byB0aGUgYWRkaXRpb25hbCBwZXJtaXNzaW9ucy4KCiAgV2hlbiB5b3UgY29udmV5IGEgY29weSBvZiBhIGNvdmVyZWQgd29yaywgeW91IG1heSBhdCB5b3VyIG9wdGlvbgpyZW1vdmUgYW55IGFkZGl0aW9uYWwgcGVybWlzc2lvbnMgZnJvbSB0aGF0IGNvcHksIG9yIGZyb20gYW55IHBhcnQgb2YKaXQuICAoQWRkaXRpb25hbCBwZXJtaXNzaW9ucyBtYXkgYmUgd3JpdHRlbiB0byByZXF1aXJlIHRoZWlyIG93bgpyZW1vdmFsIGluIGNlcnRhaW4gY2FzZXMgd2hlbiB5b3UgbW9kaWZ5IHRoZSB3b3JrLikgIFlvdSBtYXkgcGxhY2UKYWRkaXRpb25hbCBwZXJtaXNzaW9ucyBvbiBtYXRlcmlhbCwgYWRkZWQgYnkgeW91IHRvIGEgY292ZXJlZCB3b3JrLApmb3Igd2hpY2ggeW91IGhhdmUgb3IgY2FuIGdpdmUgYXBwcm9wcmlhdGUgY29weXJpZ2h0IHBlcm1pc3Npb24uCgogIE5vdHdpdGhzdGFuZGluZyBhbnkgb3RoZXIgcHJvdmlzaW9uIG9mIHRoaXMgTGljZW5zZSwgZm9yIG1hdGVyaWFsIHlvdQphZGQgdG8gYSBjb3ZlcmVkIHdvcmssIHlvdSBtYXkgKGlmIGF1dGhvcml6ZWQgYnkgdGhlIGNvcHlyaWdodCBob2xkZXJzIG9mCnRoYXQgbWF0ZXJpYWwpIHN1cHBsZW1lbnQgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZSB3aXRoIHRlcm1zOgoKICAgIGEpIERpc2NsYWltaW5nIHdhcnJhbnR5IG9yIGxpbWl0aW5nIGxpYWJpbGl0eSBkaWZmZXJlbnRseSBmcm9tIHRoZQogICAgdGVybXMgb2Ygc2VjdGlvbnMgMTUgYW5kIDE2IG9mIHRoaXMgTGljZW5zZTsgb3IKCiAgICBiKSBSZXF1aXJpbmcgcHJlc2VydmF0aW9uIG9mIHNwZWNpZmllZCByZWFzb25hYmxlIGxlZ2FsIG5vdGljZXMgb3IKICAgIGF1dGhvciBhdHRyaWJ1dGlvbnMgaW4gdGhhdCBtYXRlcmlhbCBvciBpbiB0aGUgQXBwcm9wcmlhdGUgTGVnYWwKICAgIE5vdGljZXMgZGlzcGxheWVkIGJ5IHdvcmtzIGNvbnRhaW5pbmcgaXQ7IG9yCgogICAgYykgUHJvaGliaXRpbmcgbWlzcmVwcmVzZW50YXRpb24gb2YgdGhlIG9yaWdpbiBvZiB0aGF0IG1hdGVyaWFsLCBvcgogICAgcmVxdWlyaW5nIHRoYXQgbW9kaWZpZWQgdmVyc2lvbnMgb2Ygc3VjaCBtYXRlcmlhbCBiZSBtYXJrZWQgaW4KICAgIHJlYXNvbmFibGUgd2F5cyBhcyBkaWZmZXJlbnQgZnJvbSB0aGUgb3JpZ2luYWwgdmVyc2lvbjsgb3IKCiAgICBkKSBMaW1pdGluZyB0aGUgdXNlIGZvciBwdWJsaWNpdHkgcHVycG9zZXMgb2YgbmFtZXMgb2YgbGljZW5zb3JzIG9yCiAgICBhdXRob3JzIG9mIHRoZSBtYXRlcmlhbDsgb3IKCiAgICBlKSBEZWNsaW5pbmcgdG8gZ3JhbnQgcmlnaHRzIHVuZGVyIHRyYWRlbWFyayBsYXcgZm9yIHVzZSBvZiBzb21lCiAgICB0cmFkZSBuYW1lcywgdHJhZGVtYXJrcywgb3Igc2VydmljZSBtYXJrczsgb3IKCiAgICBmKSBSZXF1aXJpbmcgaW5kZW1uaWZpY2F0aW9uIG9mIGxpY2Vuc29ycyBhbmQgYXV0aG9ycyBvZiB0aGF0CiAgICBtYXRlcmlhbCBieSBhbnlvbmUgd2hvIGNvbnZleXMgdGhlIG1hdGVyaWFsIChvciBtb2RpZmllZCB2ZXJzaW9ucyBvZgogICAgaXQpIHdpdGggY29udHJhY3R1YWwgYXNzdW1wdGlvbnMgb2YgbGlhYmlsaXR5IHRvIHRoZSByZWNpcGllbnQsIGZvcgogICAgYW55IGxpYWJpbGl0eSB0aGF0IHRoZXNlIGNvbnRyYWN0dWFsIGFzc3VtcHRpb25zIGRpcmVjdGx5IGltcG9zZSBvbgogICAgdGhvc2UgbGljZW5zb3JzIGFuZCBhdXRob3JzLgoKICBBbGwgb3RoZXIgbm9uLXBlcm1pc3NpdmUgYWRkaXRpb25hbCB0ZXJtcyBhcmUgY29uc2lkZXJlZCAiZnVydGhlcgpyZXN0cmljdGlvbnMiIHdpdGhpbiB0aGUgbWVhbmluZyBvZiBzZWN0aW9uIDEwLiAgSWYgdGhlIFByb2dyYW0gYXMgeW91CnJlY2VpdmVkIGl0LCBvciBhbnkgcGFydCBvZiBpdCwgY29udGFpbnMgYSBub3RpY2Ugc3RhdGluZyB0aGF0IGl0IGlzCmdvdmVybmVkIGJ5IHRoaXMgTGljZW5zZSBhbG9uZyB3aXRoIGEgdGVybSB0aGF0IGlzIGEgZnVydGhlcgpyZXN0cmljdGlvbiwgeW91IG1heSByZW1vdmUgdGhhdCB0ZXJtLiAgSWYgYSBsaWNlbnNlIGRvY3VtZW50IGNvbnRhaW5zCmEgZnVydGhlciByZXN0cmljdGlvbiBidXQgcGVybWl0cyByZWxpY2Vuc2luZyBvciBjb252ZXlpbmcgdW5kZXIgdGhpcwpMaWNlbnNlLCB5b3UgbWF5IGFkZCB0byBhIGNvdmVyZWQgd29yayBtYXRlcmlhbCBnb3Zlcm5lZCBieSB0aGUgdGVybXMKb2YgdGhhdCBsaWNlbnNlIGRvY3VtZW50LCBwcm92aWRlZCB0aGF0IHRoZSBmdXJ0aGVyIHJlc3RyaWN0aW9uIGRvZXMKbm90IHN1cnZpdmUgc3VjaCByZWxpY2Vuc2luZyBvciBjb252ZXlpbmcuCgogIElmIHlvdSBhZGQgdGVybXMgdG8gYSBjb3ZlcmVkIHdvcmsgaW4gYWNjb3JkIHdpdGggdGhpcyBzZWN0aW9uLCB5b3UKbXVzdCBwbGFjZSwgaW4gdGhlIHJlbGV2YW50IHNvdXJjZSBmaWxlcywgYSBzdGF0ZW1lbnQgb2YgdGhlCmFkZGl0aW9uYWwgdGVybXMgdGhhdCBhcHBseSB0byB0aG9zZSBmaWxlcywgb3IgYSBub3RpY2UgaW5kaWNhdGluZwp3aGVyZSB0byBmaW5kIHRoZSBhcHBsaWNhYmxlIHRlcm1zLgoKICBBZGRpdGlvbmFsIHRlcm1zLCBwZXJtaXNzaXZlIG9yIG5vbi1wZXJtaXNzaXZlLCBtYXkgYmUgc3RhdGVkIGluIHRoZQpmb3JtIG9mIGEgc2VwYXJhdGVseSB3cml0dGVuIGxpY2Vuc2UsIG9yIHN0YXRlZCBhcyBleGNlcHRpb25zOwp0aGUgYWJvdmUgcmVxdWlyZW1lbnRzIGFwcGx5IGVpdGhlciB3YXkuCgogIDguIFRlcm1pbmF0aW9uLgoKICBZb3UgbWF5IG5vdCBwcm9wYWdhdGUgb3IgbW9kaWZ5IGEgY292ZXJlZCB3b3JrIGV4Y2VwdCBhcyBleHByZXNzbHkKcHJvdmlkZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgQW55IGF0dGVtcHQgb3RoZXJ3aXNlIHRvIHByb3BhZ2F0ZSBvcgptb2RpZnkgaXQgaXMgdm9pZCwgYW5kIHdpbGwgYXV0b21hdGljYWxseSB0ZXJtaW5hdGUgeW91ciByaWdodHMgdW5kZXIKdGhpcyBMaWNlbnNlIChpbmNsdWRpbmcgYW55IHBhdGVudCBsaWNlbnNlcyBncmFudGVkIHVuZGVyIHRoZSB0aGlyZApwYXJhZ3JhcGggb2Ygc2VjdGlvbiAxMSkuCgogIEhvd2V2ZXIsIGlmIHlvdSBjZWFzZSBhbGwgdmlvbGF0aW9uIG9mIHRoaXMgTGljZW5zZSwgdGhlbiB5b3VyCmxpY2Vuc2UgZnJvbSBhIHBhcnRpY3VsYXIgY29weXJpZ2h0IGhvbGRlciBpcyByZWluc3RhdGVkIChhKQpwcm92aXNpb25hbGx5LCB1bmxlc3MgYW5kIHVudGlsIHRoZSBjb3B5cmlnaHQgaG9sZGVyIGV4cGxpY2l0bHkgYW5kCmZpbmFsbHkgdGVybWluYXRlcyB5b3VyIGxpY2Vuc2UsIGFuZCAoYikgcGVybWFuZW50bHksIGlmIHRoZSBjb3B5cmlnaHQKaG9sZGVyIGZhaWxzIHRvIG5vdGlmeSB5b3Ugb2YgdGhlIHZpb2xhdGlvbiBieSBzb21lIHJlYXNvbmFibGUgbWVhbnMKcHJpb3IgdG8gNjAgZGF5cyBhZnRlciB0aGUgY2Vzc2F0aW9uLgoKICBNb3Jlb3ZlciwgeW91ciBsaWNlbnNlIGZyb20gYSBwYXJ0aWN1bGFyIGNvcHlyaWdodCBob2xkZXIgaXMKcmVpbnN0YXRlZCBwZXJtYW5lbnRseSBpZiB0aGUgY29weXJpZ2h0IGhvbGRlciBub3RpZmllcyB5b3Ugb2YgdGhlCnZpb2xhdGlvbiBieSBzb21lIHJlYXNvbmFibGUgbWVhbnMsIHRoaXMgaXMgdGhlIGZpcnN0IHRpbWUgeW91IGhhdmUKcmVjZWl2ZWQgbm90aWNlIG9mIHZpb2xhdGlvbiBvZiB0aGlzIExpY2Vuc2UgKGZvciBhbnkgd29yaykgZnJvbSB0aGF0CmNvcHlyaWdodCBob2xkZXIsIGFuZCB5b3UgY3VyZSB0aGUgdmlvbGF0aW9uIHByaW9yIHRvIDMwIGRheXMgYWZ0ZXIKeW91ciByZWNlaXB0IG9mIHRoZSBub3RpY2UuCgogIFRlcm1pbmF0aW9uIG9mIHlvdXIgcmlnaHRzIHVuZGVyIHRoaXMgc2VjdGlvbiBkb2VzIG5vdCB0ZXJtaW5hdGUgdGhlCmxpY2Vuc2VzIG9mIHBhcnRpZXMgd2hvIGhhdmUgcmVjZWl2ZWQgY29waWVzIG9yIHJpZ2h0cyBmcm9tIHlvdSB1bmRlcgp0aGlzIExpY2Vuc2UuICBJZiB5b3VyIHJpZ2h0cyBoYXZlIGJlZW4gdGVybWluYXRlZCBhbmQgbm90IHBlcm1hbmVudGx5CnJlaW5zdGF0ZWQsIHlvdSBkbyBub3QgcXVhbGlmeSB0byByZWNlaXZlIG5ldyBsaWNlbnNlcyBmb3IgdGhlIHNhbWUKbWF0ZXJpYWwgdW5kZXIgc2VjdGlvbiAxMC4KCiAgOS4gQWNjZXB0YW5jZSBOb3QgUmVxdWlyZWQgZm9yIEhhdmluZyBDb3BpZXMuCgogIFlvdSBhcmUgbm90IHJlcXVpcmVkIHRvIGFjY2VwdCB0aGlzIExpY2Vuc2UgaW4gb3JkZXIgdG8gcmVjZWl2ZSBvcgpydW4gYSBjb3B5IG9mIHRoZSBQcm9ncmFtLiAgQW5jaWxsYXJ5IHByb3BhZ2F0aW9uIG9mIGEgY292ZXJlZCB3b3JrCm9jY3VycmluZyBzb2xlbHkgYXMgYSBjb25zZXF1ZW5jZSBvZiB1c2luZyBwZWVyLXRvLXBlZXIgdHJhbnNtaXNzaW9uCnRvIHJlY2VpdmUgYSBjb3B5IGxpa2V3aXNlIGRvZXMgbm90IHJlcXVpcmUgYWNjZXB0YW5jZS4gIEhvd2V2ZXIsCm5vdGhpbmcgb3RoZXIgdGhhbiB0aGlzIExpY2Vuc2UgZ3JhbnRzIHlvdSBwZXJtaXNzaW9uIHRvIHByb3BhZ2F0ZSBvcgptb2RpZnkgYW55IGNvdmVyZWQgd29yay4gIFRoZXNlIGFjdGlvbnMgaW5mcmluZ2UgY29weXJpZ2h0IGlmIHlvdSBkbwpub3QgYWNjZXB0IHRoaXMgTGljZW5zZS4gIFRoZXJlZm9yZSwgYnkgbW9kaWZ5aW5nIG9yIHByb3BhZ2F0aW5nIGEKY292ZXJlZCB3b3JrLCB5b3UgaW5kaWNhdGUgeW91ciBhY2NlcHRhbmNlIG9mIHRoaXMgTGljZW5zZSB0byBkbyBzby4KCiAgMTAuIEF1dG9tYXRpYyBMaWNlbnNpbmcgb2YgRG93bnN0cmVhbSBSZWNpcGllbnRzLgoKICBFYWNoIHRpbWUgeW91IGNvbnZleSBhIGNvdmVyZWQgd29yaywgdGhlIHJlY2lwaWVudCBhdXRvbWF0aWNhbGx5CnJlY2VpdmVzIGEgbGljZW5zZSBmcm9tIHRoZSBvcmlnaW5hbCBsaWNlbnNvcnMsIHRvIHJ1biwgbW9kaWZ5IGFuZApwcm9wYWdhdGUgdGhhdCB3b3JrLCBzdWJqZWN0IHRvIHRoaXMgTGljZW5zZS4gIFlvdSBhcmUgbm90IHJlc3BvbnNpYmxlCmZvciBlbmZvcmNpbmcgY29tcGxpYW5jZSBieSB0aGlyZCBwYXJ0aWVzIHdpdGggdGhpcyBMaWNlbnNlLgoKICBBbiAiZW50aXR5IHRyYW5zYWN0aW9uIiBpcyBhIHRyYW5zYWN0aW9uIHRyYW5zZmVycmluZyBjb250cm9sIG9mIGFuCm9yZ2FuaXphdGlvbiwgb3Igc3Vic3RhbnRpYWxseSBhbGwgYXNzZXRzIG9mIG9uZSwgb3Igc3ViZGl2aWRpbmcgYW4Kb3JnYW5pemF0aW9uLCBvciBtZXJnaW5nIG9yZ2FuaXphdGlvbnMuICBJZiBwcm9wYWdhdGlvbiBvZiBhIGNvdmVyZWQKd29yayByZXN1bHRzIGZyb20gYW4gZW50aXR5IHRyYW5zYWN0aW9uLCBlYWNoIHBhcnR5IHRvIHRoYXQKdHJhbnNhY3Rpb24gd2hvIHJlY2VpdmVzIGEgY29weSBvZiB0aGUgd29yayBhbHNvIHJlY2VpdmVzIHdoYXRldmVyCmxpY2Vuc2VzIHRvIHRoZSB3b3JrIHRoZSBwYXJ0eSdzIHByZWRlY2Vzc29yIGluIGludGVyZXN0IGhhZCBvciBjb3VsZApnaXZlIHVuZGVyIHRoZSBwcmV2aW91cyBwYXJhZ3JhcGgsIHBsdXMgYSByaWdodCB0byBwb3NzZXNzaW9uIG9mIHRoZQpDb3JyZXNwb25kaW5nIFNvdXJjZSBvZiB0aGUgd29yayBmcm9tIHRoZSBwcmVkZWNlc3NvciBpbiBpbnRlcmVzdCwgaWYKdGhlIHByZWRlY2Vzc29yIGhhcyBpdCBvciBjYW4gZ2V0IGl0IHdpdGggcmVhc29uYWJsZSBlZmZvcnRzLgoKICBZb3UgbWF5IG5vdCBpbXBvc2UgYW55IGZ1cnRoZXIgcmVzdHJpY3Rpb25zIG9uIHRoZSBleGVyY2lzZSBvZiB0aGUKcmlnaHRzIGdyYW50ZWQgb3IgYWZmaXJtZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgRm9yIGV4YW1wbGUsIHlvdSBtYXkKbm90IGltcG9zZSBhIGxpY2Vuc2UgZmVlLCByb3lhbHR5LCBvciBvdGhlciBjaGFyZ2UgZm9yIGV4ZXJjaXNlIG9mCnJpZ2h0cyBncmFudGVkIHVuZGVyIHRoaXMgTGljZW5zZSwgYW5kIHlvdSBtYXkgbm90IGluaXRpYXRlIGxpdGlnYXRpb24KKGluY2x1ZGluZyBhIGNyb3NzLWNsYWltIG9yIGNvdW50ZXJjbGFpbSBpbiBhIGxhd3N1aXQpIGFsbGVnaW5nIHRoYXQKYW55IHBhdGVudCBjbGFpbSBpcyBpbmZyaW5nZWQgYnkgbWFraW5nLCB1c2luZywgc2VsbGluZywgb2ZmZXJpbmcgZm9yCnNhbGUsIG9yIGltcG9ydGluZyB0aGUgUHJvZ3JhbSBvciBhbnkgcG9ydGlvbiBvZiBpdC4KCiAgMTEuIFBhdGVudHMuCgogIEEgImNvbnRyaWJ1dG9yIiBpcyBhIGNvcHlyaWdodCBob2xkZXIgd2hvIGF1dGhvcml6ZXMgdXNlIHVuZGVyIHRoaXMKTGljZW5zZSBvZiB0aGUgUHJvZ3JhbSBvciBhIHdvcmsgb24gd2hpY2ggdGhlIFByb2dyYW0gaXMgYmFzZWQuICBUaGUKd29yayB0aHVzIGxpY2Vuc2VkIGlzIGNhbGxlZCB0aGUgY29udHJpYnV0b3IncyAiY29udHJpYnV0b3IgdmVyc2lvbiIuCgogIEEgY29udHJpYnV0b3IncyAiZXNzZW50aWFsIHBhdGVudCBjbGFpbXMiIGFyZSBhbGwgcGF0ZW50IGNsYWltcwpvd25lZCBvciBjb250cm9sbGVkIGJ5IHRoZSBjb250cmlidXRvciwgd2hldGhlciBhbHJlYWR5IGFjcXVpcmVkIG9yCmhlcmVhZnRlciBhY3F1aXJlZCwgdGhhdCB3b3VsZCBiZSBpbmZyaW5nZWQgYnkgc29tZSBtYW5uZXIsIHBlcm1pdHRlZApieSB0aGlzIExpY2Vuc2UsIG9mIG1ha2luZywgdXNpbmcsIG9yIHNlbGxpbmcgaXRzIGNvbnRyaWJ1dG9yIHZlcnNpb24sCmJ1dCBkbyBub3QgaW5jbHVkZSBjbGFpbXMgdGhhdCB3b3VsZCBiZSBpbmZyaW5nZWQgb25seSBhcyBhCmNvbnNlcXVlbmNlIG9mIGZ1cnRoZXIgbW9kaWZpY2F0aW9uIG9mIHRoZSBjb250cmlidXRvciB2ZXJzaW9uLiAgRm9yCnB1cnBvc2VzIG9mIHRoaXMgZGVmaW5pdGlvbiwgImNvbnRyb2wiIGluY2x1ZGVzIHRoZSByaWdodCB0byBncmFudApwYXRlbnQgc3VibGljZW5zZXMgaW4gYSBtYW5uZXIgY29uc2lzdGVudCB3aXRoIHRoZSByZXF1aXJlbWVudHMgb2YKdGhpcyBMaWNlbnNlLgoKICBFYWNoIGNvbnRyaWJ1dG9yIGdyYW50cyB5b3UgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZQpwYXRlbnQgbGljZW5zZSB1bmRlciB0aGUgY29udHJpYnV0b3IncyBlc3NlbnRpYWwgcGF0ZW50IGNsYWltcywgdG8KbWFrZSwgdXNlLCBzZWxsLCBvZmZlciBmb3Igc2FsZSwgaW1wb3J0IGFuZCBvdGhlcndpc2UgcnVuLCBtb2RpZnkgYW5kCnByb3BhZ2F0ZSB0aGUgY29udGVudHMgb2YgaXRzIGNvbnRyaWJ1dG9yIHZlcnNpb24uCgogIEluIHRoZSBmb2xsb3dpbmcgdGhyZWUgcGFyYWdyYXBocywgYSAicGF0ZW50IGxpY2Vuc2UiIGlzIGFueSBleHByZXNzCmFncmVlbWVudCBvciBjb21taXRtZW50LCBob3dldmVyIGRlbm9taW5hdGVkLCBub3QgdG8gZW5mb3JjZSBhIHBhdGVudAooc3VjaCBhcyBhbiBleHByZXNzIHBlcm1pc3Npb24gdG8gcHJhY3RpY2UgYSBwYXRlbnQgb3IgY292ZW5hbnQgbm90IHRvCnN1ZSBmb3IgcGF0ZW50IGluZnJpbmdlbWVudCkuICBUbyAiZ3JhbnQiIHN1Y2ggYSBwYXRlbnQgbGljZW5zZSB0byBhCnBhcnR5IG1lYW5zIHRvIG1ha2Ugc3VjaCBhbiBhZ3JlZW1lbnQgb3IgY29tbWl0bWVudCBub3QgdG8gZW5mb3JjZSBhCnBhdGVudCBhZ2FpbnN0IHRoZSBwYXJ0eS4KCiAgSWYgeW91IGNvbnZleSBhIGNvdmVyZWQgd29yaywga25vd2luZ2x5IHJlbHlpbmcgb24gYSBwYXRlbnQgbGljZW5zZSwKYW5kIHRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBvZiB0aGUgd29yayBpcyBub3QgYXZhaWxhYmxlIGZvciBhbnlvbmUKdG8gY29weSwgZnJlZSBvZiBjaGFyZ2UgYW5kIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UsIHRocm91Z2ggYQpwdWJsaWNseSBhdmFpbGFibGUgbmV0d29yayBzZXJ2ZXIgb3Igb3RoZXIgcmVhZGlseSBhY2Nlc3NpYmxlIG1lYW5zLAp0aGVuIHlvdSBtdXN0IGVpdGhlciAoMSkgY2F1c2UgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIHRvIGJlIHNvCmF2YWlsYWJsZSwgb3IgKDIpIGFycmFuZ2UgdG8gZGVwcml2ZSB5b3Vyc2VsZiBvZiB0aGUgYmVuZWZpdCBvZiB0aGUKcGF0ZW50IGxpY2Vuc2UgZm9yIHRoaXMgcGFydGljdWxhciB3b3JrLCBvciAoMykgYXJyYW5nZSwgaW4gYSBtYW5uZXIKY29uc2lzdGVudCB3aXRoIHRoZSByZXF1aXJlbWVudHMgb2YgdGhpcyBMaWNlbnNlLCB0byBleHRlbmQgdGhlIHBhdGVudApsaWNlbnNlIHRvIGRvd25zdHJlYW0gcmVjaXBpZW50cy4gICJLbm93aW5nbHkgcmVseWluZyIgbWVhbnMgeW91IGhhdmUKYWN0dWFsIGtub3dsZWRnZSB0aGF0LCBidXQgZm9yIHRoZSBwYXRlbnQgbGljZW5zZSwgeW91ciBjb252ZXlpbmcgdGhlCmNvdmVyZWQgd29yayBpbiBhIGNvdW50cnksIG9yIHlvdXIgcmVjaXBpZW50J3MgdXNlIG9mIHRoZSBjb3ZlcmVkIHdvcmsKaW4gYSBjb3VudHJ5LCB3b3VsZCBpbmZyaW5nZSBvbmUgb3IgbW9yZSBpZGVudGlmaWFibGUgcGF0ZW50cyBpbiB0aGF0CmNvdW50cnkgdGhhdCB5b3UgaGF2ZSByZWFzb24gdG8gYmVsaWV2ZSBhcmUgdmFsaWQuCgogIElmLCBwdXJzdWFudCB0byBvciBpbiBjb25uZWN0aW9uIHdpdGggYSBzaW5nbGUgdHJhbnNhY3Rpb24gb3IKYXJyYW5nZW1lbnQsIHlvdSBjb252ZXksIG9yIHByb3BhZ2F0ZSBieSBwcm9jdXJpbmcgY29udmV5YW5jZSBvZiwgYQpjb3ZlcmVkIHdvcmssIGFuZCBncmFudCBhIHBhdGVudCBsaWNlbnNlIHRvIHNvbWUgb2YgdGhlIHBhcnRpZXMKcmVjZWl2aW5nIHRoZSBjb3ZlcmVkIHdvcmsgYXV0aG9yaXppbmcgdGhlbSB0byB1c2UsIHByb3BhZ2F0ZSwgbW9kaWZ5Cm9yIGNvbnZleSBhIHNwZWNpZmljIGNvcHkgb2YgdGhlIGNvdmVyZWQgd29yaywgdGhlbiB0aGUgcGF0ZW50IGxpY2Vuc2UKeW91IGdyYW50IGlzIGF1dG9tYXRpY2FsbHkgZXh0ZW5kZWQgdG8gYWxsIHJlY2lwaWVudHMgb2YgdGhlIGNvdmVyZWQKd29yayBhbmQgd29ya3MgYmFzZWQgb24gaXQuCgogIEEgcGF0ZW50IGxpY2Vuc2UgaXMgImRpc2NyaW1pbmF0b3J5IiBpZiBpdCBkb2VzIG5vdCBpbmNsdWRlIHdpdGhpbgp0aGUgc2NvcGUgb2YgaXRzIGNvdmVyYWdlLCBwcm9oaWJpdHMgdGhlIGV4ZXJjaXNlIG9mLCBvciBpcwpjb25kaXRpb25lZCBvbiB0aGUgbm9uLWV4ZXJjaXNlIG9mIG9uZSBvciBtb3JlIG9mIHRoZSByaWdodHMgdGhhdCBhcmUKc3BlY2lmaWNhbGx5IGdyYW50ZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgWW91IG1heSBub3QgY29udmV5IGEgY292ZXJlZAp3b3JrIGlmIHlvdSBhcmUgYSBwYXJ0eSB0byBhbiBhcnJhbmdlbWVudCB3aXRoIGEgdGhpcmQgcGFydHkgdGhhdCBpcwppbiB0aGUgYnVzaW5lc3Mgb2YgZGlzdHJpYnV0aW5nIHNvZnR3YXJlLCB1bmRlciB3aGljaCB5b3UgbWFrZSBwYXltZW50CnRvIHRoZSB0aGlyZCBwYXJ0eSBiYXNlZCBvbiB0aGUgZXh0ZW50IG9mIHlvdXIgYWN0aXZpdHkgb2YgY29udmV5aW5nCnRoZSB3b3JrLCBhbmQgdW5kZXIgd2hpY2ggdGhlIHRoaXJkIHBhcnR5IGdyYW50cywgdG8gYW55IG9mIHRoZQpwYXJ0aWVzIHdobyB3b3VsZCByZWNlaXZlIHRoZSBjb3ZlcmVkIHdvcmsgZnJvbSB5b3UsIGEgZGlzY3JpbWluYXRvcnkKcGF0ZW50IGxpY2Vuc2UgKGEpIGluIGNvbm5lY3Rpb24gd2l0aCBjb3BpZXMgb2YgdGhlIGNvdmVyZWQgd29yawpjb252ZXllZCBieSB5b3UgKG9yIGNvcGllcyBtYWRlIGZyb20gdGhvc2UgY29waWVzKSwgb3IgKGIpIHByaW1hcmlseQpmb3IgYW5kIGluIGNvbm5lY3Rpb24gd2l0aCBzcGVjaWZpYyBwcm9kdWN0cyBvciBjb21waWxhdGlvbnMgdGhhdApjb250YWluIHRoZSBjb3ZlcmVkIHdvcmssIHVubGVzcyB5b3UgZW50ZXJlZCBpbnRvIHRoYXQgYXJyYW5nZW1lbnQsCm9yIHRoYXQgcGF0ZW50IGxpY2Vuc2Ugd2FzIGdyYW50ZWQsIHByaW9yIHRvIDI4IE1hcmNoIDIwMDcuCgogIE5vdGhpbmcgaW4gdGhpcyBMaWNlbnNlIHNoYWxsIGJlIGNvbnN0cnVlZCBhcyBleGNsdWRpbmcgb3IgbGltaXRpbmcKYW55IGltcGxpZWQgbGljZW5zZSBvciBvdGhlciBkZWZlbnNlcyB0byBpbmZyaW5nZW1lbnQgdGhhdCBtYXkKb3RoZXJ3aXNlIGJlIGF2YWlsYWJsZSB0byB5b3UgdW5kZXIgYXBwbGljYWJsZSBwYXRlbnQgbGF3LgoKICAxMi4gTm8gU3VycmVuZGVyIG9mIE90aGVycycgRnJlZWRvbS4KCiAgSWYgY29uZGl0aW9ucyBhcmUgaW1wb3NlZCBvbiB5b3UgKHdoZXRoZXIgYnkgY291cnQgb3JkZXIsIGFncmVlbWVudCBvcgpvdGhlcndpc2UpIHRoYXQgY29udHJhZGljdCB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UsIHRoZXkgZG8gbm90CmV4Y3VzZSB5b3UgZnJvbSB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UuICBJZiB5b3UgY2Fubm90IGNvbnZleSBhCmNvdmVyZWQgd29yayBzbyBhcyB0byBzYXRpc2Z5IHNpbXVsdGFuZW91c2x5IHlvdXIgb2JsaWdhdGlvbnMgdW5kZXIgdGhpcwpMaWNlbnNlIGFuZCBhbnkgb3RoZXIgcGVydGluZW50IG9ibGlnYXRpb25zLCB0aGVuIGFzIGEgY29uc2VxdWVuY2UgeW91IG1heQpub3QgY29udmV5IGl0IGF0IGFsbC4gIEZvciBleGFtcGxlLCBpZiB5b3UgYWdyZWUgdG8gdGVybXMgdGhhdCBvYmxpZ2F0ZSB5b3UKdG8gY29sbGVjdCBhIHJveWFsdHkgZm9yIGZ1cnRoZXIgY29udmV5aW5nIGZyb20gdGhvc2UgdG8gd2hvbSB5b3UgY29udmV5CnRoZSBQcm9ncmFtLCB0aGUgb25seSB3YXkgeW91IGNvdWxkIHNhdGlzZnkgYm90aCB0aG9zZSB0ZXJtcyBhbmQgdGhpcwpMaWNlbnNlIHdvdWxkIGJlIHRvIHJlZnJhaW4gZW50aXJlbHkgZnJvbSBjb252ZXlpbmcgdGhlIFByb2dyYW0uCgogIDEzLiBVc2Ugd2l0aCB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgoKICBOb3R3aXRoc3RhbmRpbmcgYW55IG90aGVyIHByb3Zpc2lvbiBvZiB0aGlzIExpY2Vuc2UsIHlvdSBoYXZlCnBlcm1pc3Npb24gdG8gbGluayBvciBjb21iaW5lIGFueSBjb3ZlcmVkIHdvcmsgd2l0aCBhIHdvcmsgbGljZW5zZWQKdW5kZXIgdmVyc2lvbiAzIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaW50byBhIHNpbmdsZQpjb21iaW5lZCB3b3JrLCBhbmQgdG8gY29udmV5IHRoZSByZXN1bHRpbmcgd29yay4gIFRoZSB0ZXJtcyBvZiB0aGlzCkxpY2Vuc2Ugd2lsbCBjb250aW51ZSB0byBhcHBseSB0byB0aGUgcGFydCB3aGljaCBpcyB0aGUgY292ZXJlZCB3b3JrLApidXQgdGhlIHNwZWNpYWwgcmVxdWlyZW1lbnRzIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsCnNlY3Rpb24gMTMsIGNvbmNlcm5pbmcgaW50ZXJhY3Rpb24gdGhyb3VnaCBhIG5ldHdvcmsgd2lsbCBhcHBseSB0byB0aGUKY29tYmluYXRpb24gYXMgc3VjaC4KCiAgMTQuIFJldmlzZWQgVmVyc2lvbnMgb2YgdGhpcyBMaWNlbnNlLgoKICBUaGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIG1heSBwdWJsaXNoIHJldmlzZWQgYW5kL29yIG5ldyB2ZXJzaW9ucyBvZgp0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZnJvbSB0aW1lIHRvIHRpbWUuICBTdWNoIG5ldyB2ZXJzaW9ucyB3aWxsCmJlIHNpbWlsYXIgaW4gc3Bpcml0IHRvIHRoZSBwcmVzZW50IHZlcnNpb24sIGJ1dCBtYXkgZGlmZmVyIGluIGRldGFpbCB0bwphZGRyZXNzIG5ldyBwcm9ibGVtcyBvciBjb25jZXJucy4KCiAgRWFjaCB2ZXJzaW9uIGlzIGdpdmVuIGEgZGlzdGluZ3Vpc2hpbmcgdmVyc2lvbiBudW1iZXIuICBJZiB0aGUKUHJvZ3JhbSBzcGVjaWZpZXMgdGhhdCBhIGNlcnRhaW4gbnVtYmVyZWQgdmVyc2lvbiBvZiB0aGUgR05VIEdlbmVyYWwKUHVibGljIExpY2Vuc2UgIm9yIGFueSBsYXRlciB2ZXJzaW9uIiBhcHBsaWVzIHRvIGl0LCB5b3UgaGF2ZSB0aGUKb3B0aW9uIG9mIGZvbGxvd2luZyB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgZWl0aGVyIG9mIHRoYXQgbnVtYmVyZWQKdmVyc2lvbiBvciBvZiBhbnkgbGF0ZXIgdmVyc2lvbiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUKRm91bmRhdGlvbi4gIElmIHRoZSBQcm9ncmFtIGRvZXMgbm90IHNwZWNpZnkgYSB2ZXJzaW9uIG51bWJlciBvZiB0aGUKR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIHlvdSBtYXkgY2hvb3NlIGFueSB2ZXJzaW9uIGV2ZXIgcHVibGlzaGVkCmJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCgogIElmIHRoZSBQcm9ncmFtIHNwZWNpZmllcyB0aGF0IGEgcHJveHkgY2FuIGRlY2lkZSB3aGljaCBmdXR1cmUKdmVyc2lvbnMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGNhbiBiZSB1c2VkLCB0aGF0IHByb3h5J3MKcHVibGljIHN0YXRlbWVudCBvZiBhY2NlcHRhbmNlIG9mIGEgdmVyc2lvbiBwZXJtYW5lbnRseSBhdXRob3JpemVzIHlvdQp0byBjaG9vc2UgdGhhdCB2ZXJzaW9uIGZvciB0aGUgUHJvZ3JhbS4KCiAgTGF0ZXIgbGljZW5zZSB2ZXJzaW9ucyBtYXkgZ2l2ZSB5b3UgYWRkaXRpb25hbCBvciBkaWZmZXJlbnQKcGVybWlzc2lvbnMuICBIb3dldmVyLCBubyBhZGRpdGlvbmFsIG9ibGlnYXRpb25zIGFyZSBpbXBvc2VkIG9uIGFueQphdXRob3Igb3IgY29weXJpZ2h0IGhvbGRlciBhcyBhIHJlc3VsdCBvZiB5b3VyIGNob29zaW5nIHRvIGZvbGxvdyBhCmxhdGVyIHZlcnNpb24uCgogIDE1LiBEaXNjbGFpbWVyIG9mIFdhcnJhbnR5LgoKICBUSEVSRSBJUyBOTyBXQVJSQU5UWSBGT1IgVEhFIFBST0dSQU0sIFRPIFRIRSBFWFRFTlQgUEVSTUlUVEVEIEJZCkFQUExJQ0FCTEUgTEFXLiAgRVhDRVBUIFdIRU4gT1RIRVJXSVNFIFNUQVRFRCBJTiBXUklUSU5HIFRIRSBDT1BZUklHSFQKSE9MREVSUyBBTkQvT1IgT1RIRVIgUEFSVElFUyBQUk9WSURFIFRIRSBQUk9HUkFNICJBUyBJUyIgV0lUSE9VVCBXQVJSQU5UWQpPRiBBTlkgS0lORCwgRUlUSEVSIEVYUFJFU1NFRCBPUiBJTVBMSUVELCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgpQVVJQT1NFLiAgVEhFIEVOVElSRSBSSVNLIEFTIFRPIFRIRSBRVUFMSVRZIEFORCBQRVJGT1JNQU5DRSBPRiBUSEUgUFJPR1JBTQpJUyBXSVRIIFlPVS4gIFNIT1VMRCBUSEUgUFJPR1JBTSBQUk9WRSBERUZFQ1RJVkUsIFlPVSBBU1NVTUUgVEhFIENPU1QgT0YKQUxMIE5FQ0VTU0FSWSBTRVJWSUNJTkcsIFJFUEFJUiBPUiBDT1JSRUNUSU9OLgoKICAxNi4gTGltaXRhdGlvbiBvZiBMaWFiaWxpdHkuCgogIElOIE5PIEVWRU5UIFVOTEVTUyBSRVFVSVJFRCBCWSBBUFBMSUNBQkxFIExBVyBPUiBBR1JFRUQgVE8gSU4gV1JJVElORwpXSUxMIEFOWSBDT1BZUklHSFQgSE9MREVSLCBPUiBBTlkgT1RIRVIgUEFSVFkgV0hPIE1PRElGSUVTIEFORC9PUiBDT05WRVlTClRIRSBQUk9HUkFNIEFTIFBFUk1JVFRFRCBBQk9WRSwgQkUgTElBQkxFIFRPIFlPVSBGT1IgREFNQUdFUywgSU5DTFVESU5HIEFOWQpHRU5FUkFMLCBTUEVDSUFMLCBJTkNJREVOVEFMIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBBUklTSU5HIE9VVCBPRiBUSEUKVVNFIE9SIElOQUJJTElUWSBUTyBVU0UgVEhFIFBST0dSQU0gKElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gTE9TUyBPRgpEQVRBIE9SIERBVEEgQkVJTkcgUkVOREVSRUQgSU5BQ0NVUkFURSBPUiBMT1NTRVMgU1VTVEFJTkVEIEJZIFlPVSBPUiBUSElSRApQQVJUSUVTIE9SIEEgRkFJTFVSRSBPRiBUSEUgUFJPR1JBTSBUTyBPUEVSQVRFIFdJVEggQU5ZIE9USEVSIFBST0dSQU1TKSwKRVZFTiBJRiBTVUNIIEhPTERFUiBPUiBPVEhFUiBQQVJUWSBIQVMgQkVFTiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgpTVUNIIERBTUFHRVMuCgogIDE3LiBJbnRlcnByZXRhdGlvbiBvZiBTZWN0aW9ucyAxNSBhbmQgMTYuCgogIElmIHRoZSBkaXNjbGFpbWVyIG9mIHdhcnJhbnR5IGFuZCBsaW1pdGF0aW9uIG9mIGxpYWJpbGl0eSBwcm92aWRlZAphYm92ZSBjYW5ub3QgYmUgZ2l2ZW4gbG9jYWwgbGVnYWwgZWZmZWN0IGFjY29yZGluZyB0byB0aGVpciB0ZXJtcywKcmV2aWV3aW5nIGNvdXJ0cyBzaGFsbCBhcHBseSBsb2NhbCBsYXcgdGhhdCBtb3N0IGNsb3NlbHkgYXBwcm94aW1hdGVzCmFuIGFic29sdXRlIHdhaXZlciBvZiBhbGwgY2l2aWwgbGlhYmlsaXR5IGluIGNvbm5lY3Rpb24gd2l0aCB0aGUKUHJvZ3JhbSwgdW5sZXNzIGEgd2FycmFudHkgb3IgYXNzdW1wdGlvbiBvZiBsaWFiaWxpdHkgYWNjb21wYW5pZXMgYQpjb3B5IG9mIHRoZSBQcm9ncmFtIGluIHJldHVybiBmb3IgYSBmZWUuCgogICAgICAgICAgICAgICAgICAgICBFTkQgT0YgVEVSTVMgQU5EIENPTkRJVElPTlMKCiAgICAgICAgICAgIEhvdyB0byBBcHBseSBUaGVzZSBUZXJtcyB0byBZb3VyIE5ldyBQcm9ncmFtcwoKICBJZiB5b3UgZGV2ZWxvcCBhIG5ldyBwcm9ncmFtLCBhbmQgeW91IHdhbnQgaXQgdG8gYmUgb2YgdGhlIGdyZWF0ZXN0CnBvc3NpYmxlIHVzZSB0byB0aGUgcHVibGljLCB0aGUgYmVzdCB3YXkgdG8gYWNoaWV2ZSB0aGlzIGlzIHRvIG1ha2UgaXQKZnJlZSBzb2Z0d2FyZSB3aGljaCBldmVyeW9uZSBjYW4gcmVkaXN0cmlidXRlIGFuZCBjaGFuZ2UgdW5kZXIgdGhlc2UgdGVybXMuCgogIFRvIGRvIHNvLCBhdHRhY2ggdGhlIGZvbGxvd2luZyBub3RpY2VzIHRvIHRoZSBwcm9ncmFtLiAgSXQgaXMgc2FmZXN0CnRvIGF0dGFjaCB0aGVtIHRvIHRoZSBzdGFydCBvZiBlYWNoIHNvdXJjZSBmaWxlIHRvIG1vc3QgZWZmZWN0aXZlbHkKc3RhdGUgdGhlIGV4Y2x1c2lvbiBvZiB3YXJyYW50eTsgYW5kIGVhY2ggZmlsZSBzaG91bGQgaGF2ZSBhdCBsZWFzdAp0aGUgImNvcHlyaWdodCIgbGluZSBhbmQgYSBwb2ludGVyIHRvIHdoZXJlIHRoZSBmdWxsIG5vdGljZSBpcyBmb3VuZC4KCiAgICA8b25lIGxpbmUgdG8gZ2l2ZSB0aGUgcHJvZ3JhbSdzIG5hbWUgYW5kIGEgYnJpZWYgaWRlYSBvZiB3aGF0IGl0IGRvZXMuPgogICAgQ29weXJpZ2h0IChDKSA8eWVhcj4gIDxuYW1lIG9mIGF1dGhvcj4KCiAgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCiAgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgoKICAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKICAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCgogICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgoKQWxzbyBhZGQgaW5mb3JtYXRpb24gb24gaG93IHRvIGNvbnRhY3QgeW91IGJ5IGVsZWN0cm9uaWMgYW5kIHBhcGVyIG1haWwuCgogIElmIHRoZSBwcm9ncmFtIGRvZXMgdGVybWluYWwgaW50ZXJhY3Rpb24sIG1ha2UgaXQgb3V0cHV0IGEgc2hvcnQKbm90aWNlIGxpa2UgdGhpcyB3aGVuIGl0IHN0YXJ0cyBpbiBhbiBpbnRlcmFjdGl2ZSBtb2RlOgoKICAgIDxwcm9ncmFtPiAgQ29weXJpZ2h0IChDKSA8eWVhcj4gIDxuYW1lIG9mIGF1dGhvcj4KICAgIFRoaXMgcHJvZ3JhbSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFk7IGZvciBkZXRhaWxzIHR5cGUgYHNob3cgdycuCiAgICBUaGlzIGlzIGZyZWUgc29mdHdhcmUsIGFuZCB5b3UgYXJlIHdlbGNvbWUgdG8gcmVkaXN0cmlidXRlIGl0CiAgICB1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnM7IHR5cGUgYHNob3cgYycgZm9yIGRldGFpbHMuCgpUaGUgaHlwb3RoZXRpY2FsIGNvbW1hbmRzIGBzaG93IHcnIGFuZCBgc2hvdyBjJyBzaG91bGQgc2hvdyB0aGUgYXBwcm9wcmlhdGUKcGFydHMgb2YgdGhlIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuICBPZiBjb3Vyc2UsIHlvdXIgcHJvZ3JhbSdzIGNvbW1hbmRzCm1pZ2h0IGJlIGRpZmZlcmVudDsgZm9yIGEgR1VJIGludGVyZmFjZSwgeW91IHdvdWxkIHVzZSBhbiAiYWJvdXQgYm94Ii4KCiAgWW91IHNob3VsZCBhbHNvIGdldCB5b3VyIGVtcGxveWVyIChpZiB5b3Ugd29yayBhcyBhIHByb2dyYW1tZXIpIG9yIHNjaG9vbCwKaWYgYW55LCB0byBzaWduIGEgImNvcHlyaWdodCBkaXNjbGFpbWVyIiBmb3IgdGhlIHByb2dyYW0sIGlmIG5lY2Vzc2FyeS4KRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gdGhpcywgYW5kIGhvdyB0byBhcHBseSBhbmQgZm9sbG93IHRoZSBHTlUgR1BMLCBzZWUKPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgoKICBUaGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZG9lcyBub3QgcGVybWl0IGluY29ycG9yYXRpbmcgeW91ciBwcm9ncmFtCmludG8gcHJvcHJpZXRhcnkgcHJvZ3JhbXMuICBJZiB5b3VyIHByb2dyYW0gaXMgYSBzdWJyb3V0aW5lIGxpYnJhcnksIHlvdQptYXkgY29uc2lkZXIgaXQgbW9yZSB1c2VmdWwgdG8gcGVybWl0IGxpbmtpbmcgcHJvcHJpZXRhcnkgYXBwbGljYXRpb25zIHdpdGgKdGhlIGxpYnJhcnkuICBJZiB0aGlzIGlzIHdoYXQgeW91IHdhbnQgdG8gZG8sIHVzZSB0aGUgR05VIExlc3NlciBHZW5lcmFsClB1YmxpYyBMaWNlbnNlIGluc3RlYWQgb2YgdGhpcyBMaWNlbnNlLiAgQnV0IGZpcnN0LCBwbGVhc2UgcmVhZAo8aHR0cDovL3d3dy5nbnUub3JnL3BoaWxvc29waHkvd2h5LW5vdC1sZ3BsLmh0bWw+Lgo=]]></data>
	</file>
	<file>
	  <filename>/function.admin_prefstab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNlbGZSZWdpc3RyYXRpb24gKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IHVzZXJzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMKIyAgd2l0aCBhIHdlYnNpdGUuCiMgCiMgVmVyc2lvbjogMS4xLjUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7Cgokc21hcnR5LT5hc3NpZ24oJ3N0YXJ0Zm9ybScsCgkJJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCggJGlkLCAnc2V0cHJlZnMnLCAkcmV0dXJuaWQgKSk7CiRzbWFydHktPmFzc2lnbignZW5kZm9ybScsCgkJJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7Cgokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9pbmxpbmUnLAoJCSR0aGlzLT5MYW5nKCd1c2VfaW5saW5lX2Zvcm1zJykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2lubGluZScsCgkJJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCdpbnB1dF9pbmxpbmUnLDEsCgkJCQkJICAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2lubGluZV9mb3JtcycsMSkpKQogIDsKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfbm90aWZ5JywKCQkkdGhpcy0+TGFuZygnbm90aWZ5X29uX3JlZ2lzdHJhdGlvbicpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9ub3RpZnknLAoJCSR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCAkaWQsIAoJCQkJCSAgICAnaW5wdXRfbm90aWZ5JywgMSwKCQkJCQkgICAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ25vdGlmeV9vbl9yZWdpc3RyYXRpb24nKSkpOwoKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfZW1haWxfY29uZmlybWF0aW9uJywKCQkkdGhpcy0+TGFuZygncmVxdWlyZV9lbWFpbF9jb25maXJtYXRpb24nKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfZW1haWxfY29uZmlybWF0aW9uJywKCQkkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCggJGlkLCAKCQkJCQkgICAgJ2lucHV0X2VtYWlsX2NvbmZpcm1hdGlvbicsIDEsCgkJCQkJICAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdyZXF1aXJlX2VtYWlsX2NvbmZpcm1hdGlvbicpKSk7Cgokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9jb25maXJtbWFpbF90bycsCgkJJHRoaXMtPkxhbmcoJ3NlbmRfZW1haWxzX3RvJykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2NvbmZpcm1tYWlsX3RvJywKCQkkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsIAoJCQkJCSdpbnB1dF9jb25maXJtbWFpbF90bycsIAoJCQkJCSR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzZW5kX2VtYWlsc190bycpLAoJCQkJCTMwLCA2MCkpOwoKJHNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ3N1Ym1pdCcsCgkJCQkJCSAgJHRoaXMtPkxhbmcoJ3N1Ym1pdCcpLCAnJywgJycsCgkJCQkJCSAgJHRoaXMtPkxhbmcoJ2NvbmZpcm1fc3VibWl0cHJlZnMnKSkpOwoKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfZm9yY2VfZW1haWxfdHdpY2UnLAoJCSR0aGlzLT5MYW5nKCdmb3JjZV9lbWFpbF90d2ljZScpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9mb3JjZV9lbWFpbF90d2ljZScsCgkJJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goICRpZCwgCgkJCQkJICAgICdpbnB1dF9mb3JjZV9lbWFpbF90d2ljZScsIDEsCgkJCQkJICAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzZWxmcmVnX2ZvcmNlX2VtYWlsX3R3aWNlJykpKTsKCiRzbWFydHktPmFzc2lnbigncHJvbXB0X3NraXBfZmluYWxfbXNnJywKCQkkdGhpcy0+TGFuZygnc2tpcF9maW5hbF9tc2cnKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfc2tpcF9maW5hbF9tc2cnLAoJCSR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCAkaWQsCgkJCQkJICAgICdpbnB1dF9za2lwX2ZpbmFsX21zZycsIDEsCgkJCQkJICAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzZWxmcmVnX3NraXBfZmluYWxfbXNnJykpKTsKCiRzbWFydHktPmFzc2lnbigncHJvbXB0X3JlZGlyZWN0X2FmdGVycmVnaXN0ZXInLAoJCSR0aGlzLT5MYW5nKCdyZWRpcmVjdF9hZnRlcnJlZ2lzdGVyJykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3JlZGlyZWN0X2FmdGVycmVnaXN0ZXInLAoJCSR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLAoJCQkJICAgICAgICdpbnB1dF9yZWRpcmVjdF9hZnRlcnJlZ2lzdGVyJywKCQkJCSAgICAgICAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncmVkaXJlY3RfYWZ0ZXJyZWdpc3RlcicpLAoJCQkJICAgICAgIDIwKSk7Cgokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9sb2dpbl9hZnRlcnZlcmlmeScsCgkJJHRoaXMtPkxhbmcoJ2xvZ2luX2FmdGVydmVyaWZ5JykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2xvZ2luX2FmdGVydmVyaWZ5JywKCQkkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsCgkJCQkJICAgJ2lucHV0X2xvZ2luX2FmdGVydmVyaWZ5JywxLAoJCQkJCSAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdsb2dpbl9hZnRlcnZlcmlmeScpKSk7Cgokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9yZWRpcmVjdF9hZnRlcnZlcmlmeScsCgkJJHRoaXMtPkxhbmcoJ3JlZGlyZWN0X2FmdGVydmVyaWZ5JykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3JlZGlyZWN0X2FmdGVydmVyaWZ5JywKCQkkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwKCQkJCSAgICAgICAnaW5wdXRfcmVkaXJlY3RfYWZ0ZXJ2ZXJpZnknLAoJCQkJICAgICAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdyZWRpcmVjdF9hZnRlcnZlcmlmeScpLAoJCQkJICAgICAgIDIwKSk7CiAgICAKJG51bSA9ICR0aGlzLT5Db3VudFRlbXBVc2VycygpOwppZiggJG51bSApCiAgewogICAgJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfbnVtcmVzZXRyZWNvcmRzJywKCQkgICAgJHRoaXMtPkxhbmcoJ3Byb21wdF9udW1yZXNldHJlY29yZCcpKTsKICAgICRzbWFydHktPmFzc2lnbignZGF0YV9udW1yZXNldHJlY29yZHMnLCAkbnVtKTsgLy90b2RvCiAgICAkc21hcnR5LT5hc3NpZ24oJ2lucHV0X3JlbW92ZWFsbCcsCgkJICAgICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ2lucHV0X3JlbW92ZWFsbCcsCgkJCQkJICAgICAkdGhpcy0+TGFuZygncmVtb3ZlYWxsJyksCgkJCQkJICAgICAnb25jbGljaz0icmV0dXJuIGNvbmZpcm0oXCcnLiR0aGlzLT5MYW5nKCdhcmV5b3VzdXJlJykuJ1wnKSInKSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2lucHV0X3JlbW92ZTF3ZWVrJywKCQkgICAgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwnaW5wdXRfcmVtb3ZlMXdlZWsnLAoJCQkJCSAgICAgJHRoaXMtPkxhbmcoJ3JlbW92ZTF3ZWVrJyksCgkJCQkJICAgICAnb25jbGljaz0icmV0dXJuIGNvbmZpcm0oXCcnLiR0aGlzLT5MYW5nKCdhcmV5b3VzdXJlJykuJ1wnKSInKSk7CiAgICAgIAogICAgJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9yZW1vdmUxbW9udGgnLAoJCSAgICAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCdpbnB1dF9yZW1vdmUxbW9udGgnLAoJCQkJCSAgICAgJHRoaXMtPkxhbmcoJ3JlbW92ZTFtb250aCcpLAoJCQkJCSAgICAgJ29uY2xpY2s9InJldHVybiBjb25maXJtKFwnJy4kdGhpcy0+TGFuZygnYXJleW91c3VyZScpLidcJykiJykpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9yZW1vdmUxZGF5JywKCQkgICAgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwnaW5wdXRfcmVtb3ZlMWRheScsCgkJCQkJICAgICAkdGhpcy0+TGFuZygncmVtb3ZlMWRheScpLAoJCQkJCSAgICAgJ29uY2xpY2s9InJldHVybiBjb25maXJtKFwnJy4kdGhpcy0+TGFuZygnYXJleW91c3VyZScpLidcJykiJykpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9saXN0MWRheScsCgkJICAgICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ2lucHV0X2xpc3QxZGF5JywKCQkJCQkJICAgJHRoaXMtPkxhbmcoJ2xpc3QxZGF5JykpKTsKICB9CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ3ByZWZzLnRwbCcpOwoKLy8gRU9GCj8+]]></data>
	</file>
	<file>
	  <filename>/function.admin_userstab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNlbGZSZWdpc3RyYXRpb24gKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IHVzZXJzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMKIyAgd2l0aCBhIHdlYnNpdGUuCiMgCiMgVmVyc2lvbjogMS4xLjUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgpnbG9iYWwgJGdDbXM7CiRkYiA9ICR0aGlzLT5HZXREYigpOwovLyBkaXNwbGF5IGEgdGFibGUgd2l0aCB1c2VyaWQsIGdyb3VwX2lkIChuYW1lPyksIHVzZXJuYW1lLCBjcmVhdGVkYXRlLCA8ZW1haWwgYWRkcmVzcz4KLy8gYW5kIGFsbG93IHRoZSBhZG1pbiB0byBlZGl0LCBkZWxldGUsIGFuZCBvciBvcHRpb25hbGx5IHNlbmQgdGhhdCB1c2VyIGEgbWVzc2FnZQovLyBzaG91bGQgYWxzbyBoYXZlIGEgY2hlY2tib3ggc28gdGhhdCB0aGUgYWRtaW4gY2FuIGRlbGV0ZSBhIGJ1bmNoIG8gdXNlcnMgYXQgdGhlIHNhbWUgdGltZQovLyBhbmQgYSBzZWxlY3QgYWxsIHdvdWxkIGJlIGNvb2wuCgovLyBnZXQgYSBsaXN0IG9mIGFsbCBvZiB0aGUgZ3J1cHMKJGZldXNlcnMgPSYgJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCdGcm9udEVuZFVzZXJzJyk7CmlmKCAhJGZldXNlcnMgKQogIHsKICAgICR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwgCgkJCSAgICAgJHRoaXMtPkxhbmcoJ2Vycm9yX25vZmV1c2Vyc21vZHVsZScpKTsKICAgIHJldHVybjsKICB9CiRncnBsaXN0ID0gYXJyYXkoKTsKewogICR0X2dycGxpc3QgPSAkZmV1c2Vycy0+R2V0R3JvdXBMaXN0RnVsbCgpOwogIGlmKCAhaXNfYXJyYXkoICR0X2dycGxpc3QgKSB8fCBjb3VudCgkdF9ncnBsaXN0KSA9PSAwICkKICAgIHsKICAgICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAKCQkJICAgICAgICR0aGlzLT5MYW5nKCdlcnJvcl9ub2dyb3VwcycpKTsKICAgICAgcmV0dXJuOwogICAgfQogIC8vIGZvciBvdXIgcHVycG9zZXMgaGVyZSwgd2UnbGwgcmUtb3JnIHRfZ3JvdXBsaXN0IHRvIGJlIGtleWVkIGJ5IGlkCiAgZm9yZWFjaCggJHRfZ3JwbGlzdCBhcyAkZ3JwICkKICAgIHsKICAgICAgJGdycGxpc3RbJGdycFsnaWQnXV0gPSAkZ3JwOwogICAgfQp9CgovLyBhbiBhcnJheSBmb3IgdGhlIGdyb3VwIHByb3BlcnR5IHJlbGF0aW9ucyAod2UncmUgZ29ubmEgY2FjaGUgZW0pCiRyZWxhdGlvbnMgPSBhcnJheSgpOwoKLy8gYW4gYXJyYXkgZm9yIHRoZSBlbWFpbCBmaWVsZCBuYW1lcywgYnkgZ3JvdXAgaWQgKHdlJ3JlIGdvbm5hIGNhY2hlIGVtIHRvbykKJGVtYWlsZmxkcyA9IGFycmF5KCk7CgovLyBnZXQgdGhlIHByb3BlcnR5IGRlZmluaXRpb25zCiRwcm9wcyA9ICRmZXVzZXJzLT5HZXRQcm9wZXJ0eURlZm5zKCk7CmlmKCAkcHJvcHMgPT0gZmFsc2UgKQogIHsKICAgICR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwgCgkJCSAgICAgJHRoaXMtPkxhbmcoJ2Vycm9yX25vcHJvcGRlZm5zJykpOwogICAgcmV0dXJuOwogIH0KCi8vIHNvbWUgamF2YXNjcmlwdAokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2phdmFzY3JpcHQnLAoJCSAgICAgICc8U0NSSVBUIExBTkdVQUdFPSJKYXZhU2NyaXB0Ij4KZnVuY3Rpb24gY2hlY2tBbGwoZm1vYmosc3RhdGUpIHsKICBmb3IgKHZhciBpPTA7aTxmbW9iai5lbGVtZW50cy5sZW5ndGg7aSsrKSB7CiAgICB2YXIgZSA9IGZtb2JqLmVsZW1lbnRzW2ldOwogICAgaWYgKCAoZS50eXBlPT0iY2hlY2tib3giKSAmJiAoIWUuZGlzYWJsZWQpICkgewogICAgICBlLmNoZWNrZWQgPSBzdGF0ZTsKICAgIH0KICB9Cn0gPC9TQ1JJUFQ+Jyk7CgovLyBzb21lIGxhYmVscwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N0YXJ0Zm9ybScsJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsJ2RvX2RlbGV0ZXVzZXJzYnVsaycpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ2RlbGV0ZScsJHRoaXMtPkxhbmcoJ2RlbGV0ZXNlbHVzZXJzJykpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdlbmRmb3JtJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd1c2VyaWR0ZXh0JywkdGhpcy0+TGFuZygnaGRyX3VzZXJpZCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd1c2VybmFtZXRleHQnLCR0aGlzLT5MYW5nKCdoZHJfdXNlcm5hbWUnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignZ3JwbmFtZXRleHQnLCR0aGlzLT5MYW5nKCdoZHJfZ3JwbmFtZScpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdjcmVhdGVkdGV4dCcsJHRoaXMtPkxhbmcoJ2hkcl9jcmVhdGVkJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2VtYWlsdGV4dCcsJHRoaXMtPkxhbmcoJ2hkcl9lbWFpbCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdkZWxldGV0ZXh0JywkdGhpcy0+TGFuZygnc2VsZWN0JykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2NoZWNrYWxsYm94JywKCQkgICAgICAkdGhpcy0+Q3JlYXRlTGluaygkaWQsJ2RlZmF1bHRhZG1pbicsJHJldHVybmlkLAoJCQkJCSR0aGlzLT5MYW5nKCdjaGVja19hbGwnKSwgYXJyYXkoKSwgJycsIGZhbHNlLCBmYWxzZSwKCQkJCQknb25DbGljaygpPSJjaGVja0FsbChkb2N1bWVudC5mb3Jtc1swXSx0cnVlKTtyZXR1cm4gZmFsc2UiJykuCgkJICAgICAgIiZuYnNwOyZuYnNwOyIuCgkJICAgICAgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCdkZWZhdWx0YWRtaW4nLCRyZXR1cm5pZCwKCQkJCQkkdGhpcy0+TGFuZygndW5jaGVja19hbGwnKSwgYXJyYXkoKSwgJycsIGZhbHNlLCBmYWxzZSwKCQkJCQknb25DbGljaygpPSJjaGVja0FsbChkb2N1bWVudC5mb3Jtc1swXSxmYWxzZSk7cmV0dXJuIGZhbHNlIicpKTsKICAgIAovLyBzZWxlY3QgYWxsIHRoZSB1c2Vycwokcm93YXJyYXkgPSBhcnJheSgpOwovLyB0b2RvLCBhZGQgc29tZSByZWFsIGZpbHRlcmluZyBoZXJlCiRxID0gIlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zZWxmcmVnX3VzZXJzIExJTUlUIDI1MCI7CiRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHEgKTsKaWYoICRkYnJlc3VsdCAmJiAoJGRicmVzdWx0LT5SZWNvcmRDb3VudCgpID4gMCkgKQogIHsKICAgIC8vIHdlIGhhdmUgcm93cwogICAgJHJvd2NsYXNzID0gJ3JvdzEnOwogICAgd2hpbGUoICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkgKQogICAgICB7CgkgICAgCgkkb25lcm93ID0gbmV3IFN0ZENsYXNzKCk7Cgkkb25lcm93LT51c2VyaWQgPSAkcm93WydpZCddOwoJJG9uZXJvdy0+dXNlcm5hbWUgPSAkcm93Wyd1c2VybmFtZSddOwoJJG9uZXJvdy0+Z3JwbmFtZSA9ICRncnBsaXN0WyRyb3dbJ2dyb3VwX2lkJ11dWydncm91cG5hbWUnXTsgIC8vIHVnbHkgZWgKCSRvbmVyb3ctPmNyZWF0ZWQgPSAkcm93WydjcmVhdGVkYXRlJ107Cgkkb25lcm93LT5yb3djbGFzcyA9ICRyb3djbGFzczsKCS8vIHRvZG8gZW1haWwsIGVkaXRsaW5rLCBtYXJrZGVsZXRlYm94CgoJLy8gbm93IHdlIGhhdmUgYSBncm91cCBpZC4uLiBoYXZlIHRvIGdldCBhIGxpc3Qgb2YgdGhlIGdyb3VwcyBwcm9wZXJ0aWVzCglpZiggIWlzc2V0KCAkcmVsYXRpb25zWyAkcm93Wydncm91cF9pZCddIF0gKSApCgkgIHsKCSAgICAvLyBub3QgaW4gdGhlIGNhY2hlLCBzbyBnZXQgdGhlbQoJICAgICR0X3JlbGF0aW9ucyA9ICRmZXVzZXJzLT5HZXRHcm91cFByb3BlcnR5UmVsYXRpb25zKCAkcm93Wydncm91cF9pZCddICk7CgkgICAgaWYoICR0X3JlbGF0aW9uc1swXSA9PSBmYWxzZSApCgkgICAgICB7CgkJLy8gdGhpcyBpcyB1Z2x5IGZvciB0aGUgdXNlciB0byBzZWUKCQkvLyBidXQgYXQgbGVhc3QgdGhlIGFkbWluIHdpbGwgYmUgYWJsZSB0byBmaWd1cmUgaXQgb3V0CgkJJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwgCgkJCQkJICAkdGhpcy0+TGFuZygnZXJyb3Jfbm9ncm91cHByb3ByZWxucycsJHRfcmVsYXRpb25zWzFdKSApOwoJCXJldHVybjsKCSAgICAgIH0KCgkgICAgLy8gYW5kIGNhY2hlIHRoZW0KCSAgICAkcmVsYXRpb25zWyAkcm93Wydncm91cF9pZCddIF0gPSAkdF9yZWxhdGlvbnM7CgkgIH0KCgkvLyBub3csIGdvIHRocm91Z2ggYWxsIG9mIHRoZSByZWxhdGlvbnMsIHhyZWYgd2l0aCB0aGUgcHJvcGVydGllcyBmaWVsZAoJLy8gYW5kIHRyeSB0byBmaW5kIG9uZSB0aGF0J3MgYW4gZW1haWwgYWRkcmVzcyBmb3IgdGhpcyBncm91cAoJLy8gd2UnbGwgY2FjaGUgdGhhdCB0b28KCWlmKCAhaXNzZXQoICRlbWFpbGZsZHNbICRyb3dbJ2dyb3VwX2lkJ10gXSApICkKCSAgewoJICAgICRmb3VuZCA9IGZhbHNlOwoJICAgIC8vIG5vdCBpbiB0aGUgY2FjaGUsIHNvIHdlJ2xsIGZpbmQgb25lCgkgICAgZm9yZWFjaCggJHJlbGF0aW9uc1sgJHJvd1snZ3JvdXBfaWQnXSBdIGFzICRyZWxuICkKCSAgICAgIHsKCQlmb3JlYWNoKCAkcHJvcHMgYXMgJG9uZXByb3AgKQoJCSAgewoJCSAgICBpZiggJHJlbG5bJ25hbWUnXSA9PSAkb25lcHJvcFsnbmFtZSddICYmCgkJCSRvbmVwcm9wWyd0eXBlJ10gPT0gMiApIC8vIGVtYWlsIAoJCSAgICAgIHsKCQkJLy8gd29vaG9vLCB3ZSBmb3VuZCBhbiBlbWFpbCBmaWVsZCBpbiB0aGUgcHJvcGVydHkgcmVsYXRpb25zIGZvciB0aGlzCgkJCS8vIGdyb3VwCgkJCSRlbWFpbGZsZHNbJHJvd1snZ3JvdXBfaWQnXV0gPSAkcmVsblsnbmFtZSddOwoJCQkkZm91bmQgPSB0cnVlOwoJCQlicmVhazsKCQkgICAgICB9CgkJICB9CgkgICAgICB9CgoJICAgIGlmKCAhJGZvdW5kICkKCSAgICAgIHsKCQkkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsIAoJCQkJCSAkdGhpcy0+TGFuZygnZXJyb3Jfbm9lbWFpbGFkZHJlc3MnKSk7CgkJcmV0dXJuOwoJICAgICAgfQoJICB9CgkgICAgCgkvLyBub3csIGdldCB0aGUgZW1haWwgYWRkcmVzcyBmb3IgdGhpcyB1c2VyCgkkb25lcm93LT5lbWFpbCA9ICR0aGlzLT5HZXRUZW1wVXNlclByb3BlcnR5KCRyb3dbJ2lkJ10sJGVtYWlsZmxkc1skcm93Wydncm91cF9pZCddXSwKCQkJCQkJICAgICR0aGlzLT5MYW5nKCd1bmtub3duJykpOwoJJG9uZXJvdy0+ZWRpdGxpbmsgPQoJICAkdGhpcy0+Q3JlYXRlTGluayAoJGlkLCAnZWRpdHRlbXB1c2VyJywgJHJldHVybmlkLAoJCQkgICAgICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlICgnaWNvbnMvc3lzdGVtL2VkaXQuZ2lmJywKCQkJCQkJCQkJICAgJHRoaXMtPkxhbmcgKCdlZGl0JyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwKCQkJICAgICBhcnJheSAoJ3VzZXJfaWQnID0+ICRyb3dbJ2lkJ10pKTsKCSRvbmVyb3ctPmRlbGV0ZWxpbmsgPQoJICAkdGhpcy0+Q3JlYXRlTGluayAoJGlkLCAnZGVsZXRldGVtcHVzZXInLCAkcmV0dXJuaWQsCgkJCSAgICAgJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UgKCdpY29ucy9zeXN0ZW0vZGVsZXRlLmdpZicsCgkJCQkJCQkJCSAgICR0aGlzLT5MYW5nICgnZGVsZXRlJyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwKCQkJICAgICBhcnJheSAoJ3VzZXJfaWQnID0+ICRyb3dbJ2lkJ10pLAoJCQkgICAgICR0aGlzLT5MYW5nICgnYXJleW91c3VyZV9kZWxldGV1c2VyJykpOwoJJG9uZXJvdy0+bWFya2RlbGV0ZWJveCA9ICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwnbWFya2RlbGV0ZV8nLiRyb3dbJ2lkJ10sJHJvd1snaWQnXSk7CgkgICAgCgkkcm93YXJyYXlbXSA9ICRvbmVyb3c7CgkoJHJvd2NsYXNzID09ICJyb3cxIiA/ICRyb3djbGFzcyA9ICJyb3cyIiA6ICRyb3djbGFzcyA9ICJyb3cxIik7CiAgICAgIH0KICB9CiR0aGlzLT5zbWFydHktPmFzc2lnbignaXRlbXMnLCAkcm93YXJyYXkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2l0ZW1jb3VudCcsY291bnQoJHJvd2FycmF5KSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaXRlbXNmb3VuZCcsJHRoaXMtPkxhbmcoJ3VzZXJzZm91bmQnKSk7CmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgndXNlcmxpc3QudHBsJyk7CgovLyBFT0YKPz4=]]></data>
	</file>
	<file>
	  <filename>/functions.adminpanel.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNlbGZSZWdpc3RyYXRpb24gKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IHVzZXJzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMKIyAgd2l0aCBhIHdlYnNpdGUuCiMgCiMgVmVyc2lvbjogMS4xLjUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBEaXNwbGF5QWRtaW5SZWcxVGVtcGxhdGVUYWIoJGlkLCAkcGFyYW1zLCAkcmV0dXJuX2lkKQogICBOT1QgUEFSVCBPRiBUSEUgTU9EVUxFIEFQSQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwpmdW5jdGlvbiBfRGlzcGxheUFkbWluUmVnMVRlbXBsYXRlVGFiKCAmJG1vZHVsZSwgJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQgKQogIHsKICAgIGVjaG8gJG1vZHVsZS0+Q3JlYXRlRm9ybVN0YXJ0ICgkaWQsICdzZXRfcmVnMXRlbXBsYXRlJyk7CiAgICBlY2hvICc8cD5SZWdpc3RyYXRpb24gVGVtcGxhdGU8L3A+JzsKICAgIGVjaG8gJzxici8+PHA+Jy4kbW9kdWxlLT5DcmVhdGVUZXh0QXJlYSAoZmFsc2UsICRpZCwKCQkJCQkgICAkbW9kdWxlLT5HZXRUZW1wbGF0ZSAoJ3NlbGZyZWdfcmVnMXRlbXBsYXRlJyksCgkJCQkJICAgJ3JlZzFfdGVtcGxhdGVjb250ZW50JywgJycpLic8L3A+JzsKICAgIGVjaG8gJzxwPlBvc3QgUmVnaXN0cmF0aW9uIFRlbXBsYXRlPC9wPic7CiAgICBlY2hvICc8YnIvPjxwPicuJG1vZHVsZS0+Q3JlYXRlVGV4dEFyZWEgKGZhbHNlLCAkaWQsCgkJCQkJICAgJG1vZHVsZS0+R2V0VGVtcGxhdGUgKCdzZWxmcmVnX3Bvc3RyZWcxX3RlbXBsYXRlJyksCgkJCQkJICAgJ3Bvc3RyZWcxX3RlbXBsYXRlY29udGVudCcsICcnKS4nPC9wPic7CiAgICBlY2hvICRtb2R1bGUtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdzdWJtaXRidXR0b24nLAoJCQkJICAgJG1vZHVsZS0+TGFuZyAoJ3N1Ym1pdCcpKTsKICAgIGVjaG8gJG1vZHVsZS0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ2RlZmF1bHRidXR0b24nLAoJCQkJICAgJG1vZHVsZS0+TGFuZyAoJ2RlZmF1bHQnKSk7CiAgICBlY2hvICRtb2R1bGUtPkNyZWF0ZUZvcm1FbmQgKCk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgRGlzcGxheUFkbWluUmVnMlRlbXBsYXRlVGFiKCRpZCwgJHBhcmFtcywgJHJldHVybl9pZCkKICAgTk9UIFBBUlQgT0YgVEhFIE1PRFVMRSBBUEkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KZnVuY3Rpb24gX0Rpc3BsYXlBZG1pblJlZzJUZW1wbGF0ZVRhYiggJiRtb2R1bGUsICRpZCwgJHBhcmFtcywgJHJldHVybmlkICkKICB7CiAgICBlY2hvICRtb2R1bGUtPkNyZWF0ZUZvcm1TdGFydCAoJGlkLCAnc2V0X3JlZzJ0ZW1wbGF0ZScpOwogICAgZWNobyAnPGJyLz48cD4nLiRtb2R1bGUtPkNyZWF0ZVRleHRBcmVhIChmYWxzZSwgJGlkLAoJCQkJCSAgICRtb2R1bGUtPkdldFRlbXBsYXRlICgnc2VsZnJlZ19yZWcydGVtcGxhdGUnKSwKCQkJCQkgICAndGVtcGxhdGVjb250ZW50JywgJycpLic8L3A+JzsKICAgIGVjaG8gJG1vZHVsZS0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ3N1Ym1pdGJ1dHRvbicsCgkJCQkgICAkbW9kdWxlLT5MYW5nICgnc3VibWl0JykpOwogICAgZWNobyAkbW9kdWxlLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnZGVmYXVsdGJ1dHRvbicsCgkJCQkgICAkbW9kdWxlLT5MYW5nICgnZGVmYXVsdCcpKTsKICAgIGVjaG8gJG1vZHVsZS0+Q3JlYXRlRm9ybUVuZCAoKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBEaXNwbGF5QWRtaW5FbWFpbENvbmZpcm1hdGlvblRlbXBsYXRlVGFiKCRpZCwgJHBhcmFtcywgJHJldHVybl9pZCkKICAgTk9UIFBBUlQgT0YgVEhFIE1PRFVMRSBBUEkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KZnVuY3Rpb24gX0Rpc3BsYXlBZG1pbkVtYWlsQ29uZmlybWF0aW9uVGVtcGxhdGVUYWIoICYkbW9kdWxlLCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCApCiAgewogICAgZWNobyAkbW9kdWxlLT5DcmVhdGVGb3JtU3RhcnQgKCRpZCwgJ3NldF9lbWFpbGNvbmZpcm1fdGVtcGxhdGUnKTsKICAgIGVjaG8gJzx0YWJsZT4nOwogICAgZWNobyAnPHRyIHZhbGlnbj0idG9wIj48dGQ+Jy4kbW9kdWxlLT5MYW5nKCdzdWJqZWN0JykuJzoqPC90ZD48dGQ+Jy4kbW9kdWxlLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ2lucHV0X3N1YmplY3QnLAoJCQkJCSAgICAkbW9kdWxlLT5HZXRQcmVmZXJlbmNlKCdzZWxmcmVnX2VtYWlsY29uZmlybV9zdWJqZWN0JyksIDgwLCAyMDAgKS4nPC90ZD48L3RyPic7IAogICAgCiAgICBlY2hvICc8dHIgdmFsaWduPSJ0b3AiPjx0ZD4nLiRtb2R1bGUtPkxhbmcoJ3RleHRib2R5JykuJzoqPC90ZD48dGQ+Jy4kbW9kdWxlLT5DcmVhdGVUZXh0QXJlYSAoZmFsc2UsICRpZCwgIAoJCQkJCSAgICRtb2R1bGUtPkdldFRlbXBsYXRlICgnc2VsZnJlZ19lbWFpbGNvbmZpcm1fdGV4dHRlbXBsYXRlJyksCgkJCQkJICAgJ3RleHR0ZW1wbGF0ZWNvbnRlbnQnLCAnJykuJzwvdGQ+PC90cj4nOwogICAgZWNobyAnPHRyIHZhbGlnbj0idG9wIj48dGQ+Jy4kbW9kdWxlLT5MYW5nKCdodG1sYm9keScpLic6PC90ZD48dGQ+Jy4kbW9kdWxlLT5DcmVhdGVUZXh0QXJlYSAoZmFsc2UsICRpZCwgIAoJCQkJCSAgICRtb2R1bGUtPkdldFRlbXBsYXRlICgnc2VsZnJlZ19lbWFpbGNvbmZpcm1fdGVtcGxhdGUnKSwKCQkJCQkgICAndGVtcGxhdGVjb250ZW50JywgJycpLic8L3RkPjwvdHI+JzsKICAgIGVjaG8gJzwvdGFibGU+JzsgIAogICAgZWNobyAkbW9kdWxlLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnc3VibWl0YnV0dG9uJywKCQkJCSAgICRtb2R1bGUtPkxhbmcgKCdzdWJtaXQnKSk7CiAgICBlY2hvICRtb2R1bGUtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdkZWZhdWx0YnV0dG9uJywKCQkJCSAgICRtb2R1bGUtPkxhbmcgKCdkZWZhdWx0JykpOwogICAgZWNobyAkbW9kdWxlLT5DcmVhdGVGb3JtRW5kICgpOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIERpc3BsYXlBZG1pbkZpbmFsTWVzc2FnZVRlbXBsYXRlVGFiKCRpZCwgJHBhcmFtcywgJHJldHVybl9pZCkKICAgTk9UIFBBUlQgT0YgVEhFIE1PRFVMRSBBUEkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KZnVuY3Rpb24gX0Rpc3BsYXlBZG1pbkZpbmFsTWVzc2FnZVRlbXBsYXRlVGFiKCAmJG1vZHVsZSwgJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQgKQogIHsKICAgIGVjaG8gJG1vZHVsZS0+Q3JlYXRlRm9ybVN0YXJ0ICgkaWQsICdzZXRfZmluYWxtZXNzYWdlX3RlbXBsYXRlJyk7CiAgICBlY2hvICc8YnIvPjxwPicuJG1vZHVsZS0+Q3JlYXRlVGV4dEFyZWEgKGZhbHNlLCAkaWQsCgkJCQkJICAgJG1vZHVsZS0+R2V0VGVtcGxhdGUgKCdzZWxmcmVnX2ZpbmFsbWVzc2FnZV90ZW1wbGF0ZScpLAoJCQkJCSAgICd0ZW1wbGF0ZWNvbnRlbnQnLCAnJykuJzwvcD4nOwogICAgZWNobyAkbW9kdWxlLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnc3VibWl0YnV0dG9uJywKCQkJCSAgICRtb2R1bGUtPkxhbmcgKCdzdWJtaXQnKSk7CiAgICBlY2hvICRtb2R1bGUtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdkZWZhdWx0YnV0dG9uJywKCQkJCSAgICRtb2R1bGUtPkxhbmcgKCdkZWZhdWx0JykpOwogICAgZWNobyAkbW9kdWxlLT5DcmVhdGVGb3JtRW5kICgpOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIERpc3BsYXlBZG1pbkVtYWlsVXNlckVkaXRlZFRlbXBsYXRlVGFiKCRpZCwgJHBhcmFtcywgJHJldHVybl9pZCkKICAgTk9UIFBBUlQgT0YgVEhFIE1PRFVMRSBBUEkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KZnVuY3Rpb24gX0Rpc3BsYXlBZG1pbkVtYWlsVXNlckVkaXRlZFRlbXBsYXRlVGFiKCAmJG1vZHVsZSwgJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQgKQogIHsKICAgIGVjaG8gJG1vZHVsZS0+Q3JlYXRlRm9ybVN0YXJ0ICgkaWQsICdzZXRfZW1haWx1c2VyZWRpdGVkX3RlbXBsYXRlJyk7CiAgICBlY2hvICc8dGFibGU+JzsKICAgIGVjaG8gJzx0ciB2YWxpZ249InRvcCI+PHRkPicuJG1vZHVsZS0+TGFuZygnc3ViamVjdCcpLic6KjwvdGQ+PHRkPicuJG1vZHVsZS0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICdpbnB1dF9zdWJqZWN0JywKCQkJCQkgICAgJG1vZHVsZS0+R2V0UHJlZmVyZW5jZSgnc2VsZnJlZ19lbWFpbHVzZXJlZGl0ZWRfc3ViamVjdCcpLCA4MCwgMjAwICkuJzwvdGQ+PC90cj4nOyAKICAgIAogICAgZWNobyAnPHRyIHZhbGlnbj0idG9wIj48dGQ+Jy4kbW9kdWxlLT5MYW5nKCd0ZXh0Ym9keScpLic6KjwvdGQ+PHRkPicuJG1vZHVsZS0+Q3JlYXRlVGV4dEFyZWEgKGZhbHNlLCAkaWQsICAKCQkJCQkgICAkbW9kdWxlLT5HZXRUZW1wbGF0ZSgnc2VsZnJlZ19lbWFpbHVzZXJlZGl0ZWRfdGV4dHRlbXBsYXRlJyksCgkJCQkJICAgJ3RleHR0ZW1wbGF0ZWNvbnRlbnQnLCAnJykuJzwvdGQ+PC90cj4nOwogICAgZWNobyAnPHRyIHZhbGlnbj0idG9wIj48dGQ+Jy4kbW9kdWxlLT5MYW5nKCdodG1sYm9keScpLic6PC90ZD48dGQ+Jy4kbW9kdWxlLT5DcmVhdGVUZXh0QXJlYSAoZmFsc2UsICRpZCwgIAoJCQkJCSAgICRtb2R1bGUtPkdldFRlbXBsYXRlKCdzZWxmcmVnX2VtYWlsdXNlcmVkaXRlZF90ZW1wbGF0ZScpLAoJCQkJCSAgICd0ZW1wbGF0ZWNvbnRlbnQnLCAnJykuJzwvdGQ+PC90cj4nOwogICAgZWNobyAnPC90YWJsZT4nOyAgCiAgICBlY2hvICRtb2R1bGUtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdzdWJtaXRidXR0b24nLAoJCQkJICAgJG1vZHVsZS0+TGFuZyAoJ3N1Ym1pdCcpKTsKICAgIGVjaG8gJG1vZHVsZS0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ2RlZmF1bHRidXR0b24nLAoJCQkJICAgJG1vZHVsZS0+TGFuZyAoJ2RlZmF1bHQnKSk7CiAgICBlY2hvICRtb2R1bGUtPkNyZWF0ZUZvcm1FbmQgKCk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgRGlzcGxheUFkbWluU2VuZEFub3RoZXJFbWFpbFRlbXBsYXRlVGFiKCRpZCwgJHBhcmFtcywgJHJldHVybl9pZCkKICAgTk9UIFBBUlQgT0YgVEhFIE1PRFVMRSBBUEkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KZnVuY3Rpb24gX0Rpc3BsYXlBZG1pblNlbmRBbm90aGVyRW1haWxUZW1wbGF0ZVRhYiggJiRtb2R1bGUsICRpZCwgJHBhcmFtcywgJHJldHVybmlkICkKICB7CiAgICBlY2hvICRtb2R1bGUtPkNyZWF0ZUZvcm1TdGFydCAoJGlkLCAnc2V0X3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnKTsKICAgIGVjaG8gJzxici8+Jy4kbW9kdWxlLT5MYW5nKCd0aXRsZV9zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJykuCiAgICAgICc8cD4nLiRtb2R1bGUtPkNyZWF0ZVRleHRBcmVhIChmYWxzZSwgJGlkLAoJCQkJICAgJG1vZHVsZS0+R2V0VGVtcGxhdGUgKCdzZWxmcmVnX3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnKSwKCQkJCSAgICd0ZW1wbGF0ZWNvbnRlbnQnLCAnJykuJzwvcD4nOwogICAgZWNobyAnPGJyLz4nLiRtb2R1bGUtPkxhbmcoJ3RpdGxlX3Bvc3Rfc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZScpLgogICAgICAnPHA+Jy4kbW9kdWxlLT5DcmVhdGVUZXh0QXJlYSAoZmFsc2UsICRpZCwKCQkJCQkgICAkbW9kdWxlLT5HZXRUZW1wbGF0ZSAoJ3NlbGZyZWdfcG9zdF9zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJyksCgkJCQkJICAgJ3RlbXBsYXRlY29udGVudDInLCAnJykuJzwvcD4nOwogICAgZWNobyAkbW9kdWxlLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnc3VibWl0YnV0dG9uJywKCQkJCSAgICRtb2R1bGUtPkxhbmcgKCdzdWJtaXQnKSk7CiAgICBlY2hvICRtb2R1bGUtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdkZWZhdWx0YnV0dG9uJywKCQkJCSAgICRtb2R1bGUtPkxhbmcgKCdkZWZhdWx0JykpOwogICAgZWNobyAkbW9kdWxlLT5DcmVhdGVGb3JtRW5kICgpOwogIH0KCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/functions.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNlbGZSZWdpc3RyYXRpb24gKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IHVzZXJzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMKIyAgd2l0aCBhIHdlYnNpdGUuCiMgCiMgVmVyc2lvbjogMS4xLjUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKY2xhc3MgU2VsZnJlZ1V0aWxzCnsKICBmdW5jdGlvbiBhcnJheV9rZXlfZXhpc3RzX3N1YnN0ciggJGFyciwgJGV4cHIgKQogIHsKICAgICRrZXlzID0gYXJyYXlfa2V5cyggJGFyciApOwogICAgZm9yZWFjaCggJGtleXMgYXMgJGsgKQogICAgICB7CglpZiggc3Ryc3RyKCAkaywgJGV4cHIgKSApIHJldHVybiB0cnVlOwogICAgICB9CiAgICByZXR1cm4gZmFsc2U7CiAgfQoKICBmdW5jdGlvbiBhcnJheV9maW5kX2tleV9yZWdleHAoICRhcnIsICRleHByICkKICB7CiAgICAka2V5cyA9IGFycmF5X2tleXMoICRhcnIgKTsKICAgIGZvcmVhY2goICRrZXlzIGFzICRrICkKICAgICAgewoJaWYoIHByZWdfbWF0Y2goICRleHByLCAkayApICkgcmV0dXJuICRrOwogICAgICB9CiAgICByZXR1cm4gZmFsc2U7CiAgfQoKCiAgZnVuY3Rpb24gYXJyYXlfbWVyZ2VfYnlfbmFtZV9yZXF1aXJlZCggJGFycjEsICRhcnIyICkKICB7CiAgICAkeHhyZXN1bHQgPSBhcnJheSgpOwogICAgLy8gYWRkIGl0ZW1zIGNvbW1vbiB0byBhcnIxIGFuZCBhcnIyIAogICAgLy8gYnV0IGZhdm9yIHJlcXVpcmVkIGl0ZW1zCiAgICBpZiggIWlzX2FycmF5KCAkYXJyMSApIHx8ICFpc19hcnJheSggJGFycjIgKSApCiAgICAgIHsKCXJldHVybjsKICAgICAgfQogICAgZm9yZWFjaCggJGFycjEgYXMgJGExICkKICAgICAgewoJZm9yZWFjaCggJGFycjIgYXMgJGEyICkKCSAgewoJICAgIGlmKCAkYTFbJ25hbWUnXSA9PSAkYTJbJ25hbWUnXSApIAoJICAgICAgewoJCWlmKCAkYTFbJ3JlcXVpcmVkJ10gPT0gMiApIAoJCSAgewoJCSAgICBhcnJheV9wdXNoKCAkeHhyZXN1bHQsICRhMSApOwoJCSAgICBicmVhazsKCQkgIH0KCQllbHNlIAoJCSAgewoJCSAgICBhcnJheV9wdXNoKCAkeHhyZXN1bHQsICRhMiApOwoJCSAgICBicmVhazsKCQkgIH0KCSAgICAgIH0gICAgCgkgIH0KICAgICAgfQogIAogICAgLy8gYWRkIGl0ZW1zIGluIGFycjEgbm90IGluIHJlc3VsdAogICAgZm9yZWFjaCggJGFycjEgYXMgJGExICkKICAgICAgewoJJGZvdW5kID0gZmFsc2U7Cglmb3JlYWNoKCAkeHhyZXN1bHQgYXMgJHJlcyApCgkgIHsKCSAgICBpZiggJGExWyduYW1lJ10gPT0gJHJlc1snbmFtZSddICkKCSAgICAgIHsKCQkkZm91bmQgPSB0cnVlOwoJCWJyZWFrOwoJICAgICAgfQoJICB9CglpZiggISRmb3VuZCApCgkgIHsKCSAgICBhcnJheV9wdXNoKCAkeHhyZXN1bHQsICRhMSApOwoJICB9CiAgICAgIH0KICAKICAgIC8vIGFkZCBpdGVtcyBpbiBhcnIyIG5vdCBpbiByZXN1bHQKICAgIGZvcmVhY2goICRhcnIyIGFzICRhMiApCiAgICAgIHsKCSRmb3VuZCA9IGZhbHNlOwoJZm9yZWFjaCggJHh4cmVzdWx0IGFzICRyZXMgKQoJICB7CgkgICAgaWYoICRhMlsnbmFtZSddID09ICRyZXNbJ25hbWUnXSApCgkgICAgICB7CgkJJGZvdW5kID0gdHJ1ZTsKCQlicmVhazsKCSAgICAgIH0KCSAgfQoJaWYoICEkZm91bmQgKQoJICB7CgkgICAgYXJyYXlfcHVzaCggJHh4cmVzdWx0LCAkYTIgKTsKCSAgfQogICAgICB9CiAgICByZXR1cm4gJHh4cmVzdWx0OwogIH0KCgogIGZ1bmN0aW9uIGNvbXBhcmVfZWxlbWVudHNfYnlfc29ydG9yZGVyX2tleSggJGUxLCAkZTIgKQogIHsKICAgIGlmKCAkZTFbJ3NvcnRfa2V5J10gPCAkZTJbJ3NvcnRfa2V5J10gKQogICAgICB7CglyZXR1cm4gLTE7CiAgICAgIH0KICAgIGVsc2UgaWYoICRlMVsnc29ydF9rZXknXSA+ICRlMlsnc29ydF9rZXknXSApCiAgICAgIHsKCXJldHVybiAxOwogICAgICB9CiAgICByZXR1cm4gMDsKICB9CgoKICBmdW5jdGlvbiBleHBsb2RlX3dpdGhfa2V5KCRzdHIsICRpbmdsdWU9Jz0nLCAkb3V0Z2x1ZT0nJicpCiAgewogICAgJHJldCA9IGFycmF5KCk7CiAgICAkYTEgPSBzcGxpdCgkb3V0Z2x1ZSwkc3RyKTsKICAgIGZvcmVhY2goICRhMSBhcyAkYTIgKQogICAgICB7CglsaXN0KCAkaywgJHYgKSA9IHNwbGl0KCAkaW5nbHVlLCAkYTIgKTsKCSRyZXRbICRrIF0gPSAkdjsKICAgICAgfQogICAgcmV0dXJuICRyZXQ7CiAgfQoKCiAgZnVuY3Rpb24gZmluZF9pbmRleF9vZl92YWx1ZSggJGRhdGEsICR2YWx1ZSwgJGRmbHQgKQogIHsKICAgICRpID0gMDsKICAgIGZvcmVhY2goICRkYXRhIGFzICRrPT4kdiApCiAgICAgIHsKCWlmKCAkdiA9PSAkdmFsdWUgKQoJICB7CgkgICAgcmV0dXJuICRpOwoJICB9CgkkaSsrOwogICAgICB9CiAgICByZXR1cm4gJGRmbHQ7CiAgfQoKCiAgZnVuY3Rpb24gaW1wbG9kZV93aXRoX2tleSgkYXNzb2MsICRpbmdsdWUgPSAnPScsICRvdXRnbHVlID0gJyYnKQogIHsKICAgICRyZXR1cm4gPSBudWxsOwogICAgZm9yZWFjaCAoJGFzc29jIGFzICR0ayA9PiAkdHYpICRyZXR1cm4gLj0gJG91dGdsdWUuJHRrLiRpbmdsdWUuJHR2OwogICAgcmV0dXJuIHN1YnN0cigkcmV0dXJuLHN0cmxlbigkb3V0Z2x1ZSkpOwogIH0KCgoKICBmdW5jdGlvbiBteUNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAkbmFtZSwgJHZhbHVlPScnLCAkc2VsZWN0ZWR2YWx1ZT0nJywgCgkJCQkgJGFkZHR0ZXh0PScnKQogIHsKICAgICR0ZXh0ID0gJzxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iJy4kaWQuJG5hbWUuJyIgdmFsdWU9IicuJHZhbHVlLiciJzsKICAgICRhcnIgPSBzcGxpdCgiLCIsJHNlbGVjdGVkdmFsdWUpOwogICAgZm9yZWFjaCggJGFyciBhcyAkYSApCiAgICAgIHsKCWlmICgkYSA9PSAkdmFsdWUpCgkgIHsKCSAgICAkdGV4dCAuPSAnICcgLiAnY2hlY2tlZD0iY2hlY2tlZCInOwoJICB9CiAgICAgIH0KICAgIGlmICgkYWRkdHRleHQgIT0gJycpCiAgICAgIHsKCSR0ZXh0IC49ICcgJy4kYWRkdHRleHQ7CiAgICAgIH0KICAgICR0ZXh0IC49ICIgLz5cbiI7CiAgICByZXR1cm4gJHRleHQ7CiAgfQoKICBmdW5jdGlvbiBteUNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJG5hbWUsICR2YWx1ZT0nJywgJGltYWdlPScnLCAkYWRkdHRleHQ9JycpCiAgewogICAgZ2xvYmFsICRnQ21zOwogICAgJHRleHQgPSAnPGlucHV0IG5hbWU9IicuJGlkLiRuYW1lLiciIHZhbHVlPSInLiR2YWx1ZS4nIiB0eXBlPSc7CiAgICBpZiAoJGltYWdlICE9ICcnKQogICAgICB7CgkkdGV4dCAuPSAnImltYWdlIic7CgkkaW1nID0gJGdDbXMtPmNvbmZpZ1sncm9vdF91cmwnXS5ESVJFQ1RPUllfU0VQQVJBVE9SLiRpbWFnZTsKCSR0ZXh0IC49ICcgc3JjPSInLiRpbWcuJyInOwogICAgICB9CiAgICBlbHNlIAogICAgICB7CgkkdGV4dCAuPSAnInN1Ym1pdCInOwogICAgICB9CiAgICBpZiAoJGFkZHR0ZXh0ICE9ICcnKQogICAgICB7CgkkdGV4dCAuPSAnICcuJGFkZHR0ZXh0OwogICAgICB9CiAgICAkdGV4dCAuPSAnIC8+JzsKICAgIHJldHVybiAkdGV4dCAuICJcbiI7CiAgfQoKCiAgZnVuY3Rpb24gbXlDcmVhdGVJbnB1dEhpZGRlbiggJGlkLCAkbmFtZSwgJHZhbHVlPScnLCAkYWRkdGV4dD0nJywgJGRlbGltPScsJykKICB7CiAgICBpZiggaXNfYXJyYXkoICR2YWx1ZSApICkKICAgICAgewoJJHZhbCA9IFNlbGZyZWdVdGlsczo6aW1wbG9kZV93aXRoX2tleSggJHZhbHVlICk7CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJJHZhbCA9ICR2YWx1ZTsKICAgICAgfQogICAgJHZhbCA9IHN0cl9yZXBsYWNlKCciJywgJyZxdW90OycsICR2YWwpOwogICAgJHRleHQgPSAnPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJy4kaWQuJG5hbWUuJyIgdmFsdWU9IicuJHZhbC4nIic7CiAgICBpZiAoJGFkZHRleHQgIT0gJycpCiAgICAgIHsKCSR0ZXh0IC49ICcgJy4kYWRkdGV4dDsKICAgICAgfQogICAgJHRleHQgLj0gIiAvPlxuIjsKICAgIHJldHVybiAkdGV4dDsKICB9CgogIGZ1bmN0aW9uIGlzX2Fzc29jaWF0aXZlKCYkYXJyYXkpewogICAgaWYgKCFpc19hcnJheSgkYXJyYXkpKSByZXR1cm4gZmFsc2U7CiAgICBmb3JlYWNoKGFycmF5X2tleXMoJGFycmF5KSBhcyAka2V5PT4kdmFsdWUpIHsKICAgICAgaWYoICFpc19udW1lcmljKCRrZXkpICkgcmV0dXJuIHRydWU7CiAgICB9CiAgICByZXR1cm4gZmFsc2U7Cn0KCn0gLy8gRW5kIG9mIGNsYXNzCj8+]]></data>
	</file>
	<file>
	  <filename>/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2xvZ2luX2FmdGVydmVyaWZ5J10gPSAnQXV0b21hdGljYWxseSBsb2cgdGhlIHVzZXIgaW4gdG8gRnJvbnRFbmRVc2VycyBhZnRlciB0aGUgdmVyaWZpY2F0aW9uIHN0ZXAgaXMgY29tcGxldGUnOwokbGFuZ1snc2tpcF9maW5hbF9tc2cnXSA9ICdEb25cJ3QgZGlzcGxheSB0aGUgZmluYWwgbWVzc2FnZSBhZnRlciByZWdpc3RyYXRpb24nOwokbGFuZ1sncmVkaXJlY3RfYWZ0ZXJyZWdpc3RlciddID0gJ1BhZ2VJRC9BbGlhcyB0byByZWRpcmVjdCB0byBhZnRlciByZWdpc3RyYXRpb24gaXMgY29tcGxldGUnOwokbGFuZ1sncmVkaXJlY3RfYWZ0ZXJ2ZXJpZnknXSA9ICdQYWdlSUQvQWxpYXMgdG8gcmVkaXJlY3QgdG8gYWZ0ZXIgdmVyaWZpY2F0aW9uIHN0ZXAgaXMgY29tcGxldGUnOwokbGFuZ1sndXNlX2lubGluZV9mb3JtcyddID0gJ1VzZSBJbmxpbmUgRm9ybXMgPGVtPihmb3JtIG91dHB1dCByZXBsYWNlcyB0aGUgbW9kdWxlIHRhZywgbm90IGFsbCBvZiBjb250ZW50KTwvZW0+JzsKJGxhbmdbJ2Vycm9yX2NvZGVzZG9udG1hdGNoJ10gPSAnVGhlIHZhbGlkYXRpb24ga2V5IHN1cHBsaWVkIGlzIGludmFsaWQnOwokbGFuZ1snZXZlbnRfZGVzY3JpcHRpb25fb25OZXdVc2VyJ10gPSAnQW4gZXZlbnQgaW5kaWNhdGluZyB0aGF0IGEgbmV3IHVzZXIgaGFzIGNvbXBsZXRlZCB0aGUgcmVnaXN0cmF0aW9uIGZvcm0nOwokbGFuZ1snZXZlbnRfZGVzY3JpcHRpb25fb25Vc2VyUmVnaXN0ZXJlZCddID0gJ0FuIGV2ZW50IGluZGljYXRpbmcgdGhhdCBhIHVzZXIgaGFzIHZlcmlmaWVkIGhpcyBpbmZvcm1hdGlvbiBhbmQgaXMgbm93IGNvbXBsZXRlbHkgcmVnaXN0ZXJlZCc7CiRsYW5nWydldmVudF9oZWxwX29uTmV3VXNlciddID0gJwo8cD5BbiBldmVudCBpbmRpY2F0aW5nIHRoYXQgYSBuZXcgdXNlciBoYXMgY29tcGxldGVkIHRoZSByZWdpc3RyYXRpb24gZm9ybTwvcD4KPGg0PlBhcmFtZXRlcnM8L2g0Pgo8dWw+CjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIFRoZSBuZXcgdXNlcnMgc2VsZWN0ZWQgdXNlcm5hbWU8L2xpPgo8bGk+PGVtPmVtYWlsPC9lbT4gLSBUaGUgbmV3IHVzZXJzIGVtYWlsIGFkZHJlc3M8L2xpPgo8L3VsPgonOwokbGFuZ1snZXZlbnRfaGVscF9vblVzZXJSZWdpc3RlcmVkJ10gPSAnCjxwPkFuIGV2ZW50IGluZGljYXRpbmcgdGhhdCBhIHVzZXIgaGFzIGJlZW4gdmVyaWZpZWQgYW5kIGlzIG5vdyByZWdpc3RlcmVkIHdpdGggZmV1c2VyczwvcD4KPGg0PlBhcmFtZXRlcnM8L2g0Pgo8dWw+CjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIFRoZSByZWdpc3RlcmVkIHVzZXJuYW1lPC9saT4KPGxpPjxlbT5pZDwvZW0+IC0gVGhlIG5ldyB1c2VycyB1aWQ8L2xpPgo8L3VsPgonOwokbGFuZ1snY29uZmlybV9zdWJtaXRwcmVmcyddID0gJ0NoYW5nZSBhZG1pbiBwcmVmZXJlbmNlcz8nOwokbGFuZ1snaW5mb19hZG1pbl9wYXNzd29yZCddID0gJ0xlYXZlIHRoaXMgZmllbGQgZW1wdHkgdG8gcHJlc2VydmUgdGhlIHVzZXIgcGFzc3dvcmQnOwokbGFuZ1snaW5mb19hZG1pbl9yZXBlYXRwYXNzd29yZCddID0gJ0xlYXZlIHRoaXMgZmllbGQgZW1wdHkgdG8gcHJlc2VydmUgdGhlIHVzZXIgcGFzc3dvcmQnOwokbGFuZ1snZXJyb3JfZW1haWxkb2Vzbm90bWF0Y2gnXSA9ICdFbWFpbCBhZGRyZXNzZXMgZG8gbm90IG1hdGNoJzsKJGxhbmdbJ2ZvcmNlX2VtYWlsX3R3aWNlJ10gPSAnUmVxdWlyZSB1c2VycyB0byBlbnRlciB0aGVpciBlbWFpbCBhZGRyZXNzIHR3aWNlJzsKJGxhbmdbJ2FnYWluJ10gPSAnYWdhaW4nOwokbGFuZ1snZGVsZXRlc2VsdXNlcnMnXSA9ICdEZWxldGUgU2VsZWN0ZWQgVXNlcnMnOwokbGFuZ1snZXJyb3Jfbm9wcm9wZGVmbnMnXSA9ICdObyBwcm9wZXJ0eSBkZWZpbml0aW9ucywgb3IgcHJvYmxlbSByZXRyZWl2aW5nIHRoZW0gZnJvbSB0aGUgZGF0YWJhc2UnOwokbGFuZ1snZXJyb3Jfbm9ncm91cHMnXSA9ICdObyBncm91cHMsIG9yIHByb2JsZW0gcmV0cmVpdmluZyBncm91cCBsaXN0JzsKJGxhbmdbJ2Vycm9yX2RiZXJyb3InXSA9ICdEYXRhYmFzZSBlcnJvcic7CiRsYW5nWyd0aXRsZV9wb3N0X3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnXSA9ICdQb3N0IExvc3QgRW1haWwgVGVtcGxhdGUnOwokbGFuZ1sndGl0bGVfc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSddID0gJ0xvc3QgRW1haWwgVGVtcGxhdGUnOwokbGFuZ1snY2xpY2toZXJlJ10gPSAnQ2xpY2sgSGVyZSc7CiRsYW5nWydtc2dfc2VuZGFub3RoZXJlbWFpbCddID0gJ0kgaGF2ZSBhbHJlYWR5IGNvbXBsZXRlZCB0aGUgcmVnaXN0cmF0aW9uIGZvcm0sIGJ1dCBkaWQgbm90IHJlY2VpdmUgYW4gZW1haWwsIGNhbiB5b3UgcGxlYXNlIHJlLXNlbmQgaXQnOwokbGFuZ1snc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSddID0gJ0xvc3QgRW1haWwgVGVtcGxhdGUnOwokbGFuZ1snaW5mb191c2VydmVyaWZpZWQnXSA9ICdBIG5ldyB1c2VyIGhhcyBiZWVuIGFkZGVkIHRvIEZyb250RW5kVXNlcnMnOwokbGFuZ1snZWRpdCddID0gJ0VkaXQnOwokbGFuZ1sndW5rbm93biddID0gJ1Vua25vd24nOwokbGFuZ1snc2VsZWN0J10gPSAnU2VsZWN0JzsKJGxhbmdbJ2NoZWNrX2FsbCddID0gJ0NoZWNrIEFsbCc7CiRsYW5nWyd1bmNoZWNrX2FsbCddID0gJ1VuY2hlY2sgQWxsJzsKJGxhbmdbJ3NlbmRfYWRqdXN0bWVudGVtYWlsJ10gPSAnU2VuZCBhbiBlbWFpbCB0byB0aGUgdXNlcic7CiRsYW5nWyd0eHRfYWRqdXN0bWVudGVtYWlsJ10gPSAnKGluZm9ybXMgdGhlIHVzZXIgdGhhdCB0aGVpciBhY2NvdW50IGhhcyBiZWVuIGFkanVzdGVkJzsKJGxhbmdbJ3R4dF9jaGFuZ2VwYXNzd29yZCddID0gJ0ZpbGwgaW4gdGhlc2UgZmllbGRzIHRvIGNoYW5nZSB0aGUgdXNlciBwYXNzd29yZCc7CiRsYW5nWydlZGl0dXNlciddID0gJ0VkaXQgVXNlcic7CiRsYW5nWydhcmV5b3VzdXJlX2RlbGV0ZXVzZXInXSA9ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIHRoaXMgcGFydGlhbGx5IHJlZ2lzdGVyZWQgdXNlcj8nOwokbGFuZ1snaGRyX3VzZXJpZCddID0gJ1VzZXJJRCc7CiRsYW5nWydoZHJfdXNlcm5hbWUnXSA9ICdVc2VybmFtZSc7CiRsYW5nWydoZHJfZ3JwbmFtZSddID0gJ0dyb3VwJzsKJGxhbmdbJ2hkcl9jcmVhdGVkJ10gPSAnQ3JlYXRlZCc7CiRsYW5nWydoZHJfZW1haWwnXSA9ICdFbWFpaSc7CiRsYW5nWyd1c2Vyc2ZvdW5kJ10gPSAnVXNlcnMgZm91bmQgKGxpbWl0ZWQgdG8gYSBtYXhpbXVtIG9mIDI1MCknOwokbGFuZ1sndXNlcnMnXSA9ICdVc2Vycyc7CiRsYW5nWydsaXN0MWRheSddID0gJ0xpc3QgYWxsIGVudHJpZXMgbW9yZSB0aGFuIDEgZGF5IG9sZCc7CiRsYW5nWydzdWJqZWN0J10gPSAnU3ViamVjdCBmb3Igb3V0Z29pbmcgZW1haWwnOwokbGFuZ1snaHRtbGJvZHknXSA9ICdIVE1MIG1lc3NhZ2UgYm9keSc7CiRsYW5nWyd0ZXh0Ym9keSddID0gJ1RleHQgbWVzc2FnZSBib2R5JzsKJGxhbmdbJ3Byb21wdF9udW1yZXNldHJlY29yZCddID0gJ0EgbnVtYmVyIG9mIHVzZXJzIGFyZSBpbiB0aGUgbWlkZGxlIG9mIHJlZ2lzdGVyaW5nLiAgQ3VycmVudGx5IHRoaXMgY291bnQgaXMgYXQ6JzsKJGxhbmdbJ3JlbW92ZTF3ZWVrJ10gPSAnUmVtb3ZlIGFsbCBlbnRyaWVzIG1vcmUgdGhhbiBhIHdlZWsgb2xkJzsKJGxhbmdbJ3JlbW92ZTFtb250aCddID0gJ1JlbW92ZSBhbGwgZW50cmllcyBtb3JlIHRoYW4gYSBtb250aCBvbGQnOwokbGFuZ1sncmVtb3ZlMWRheSddID0gJ1JlbW92ZSBhbGwgZW50cmllcyBtb3JlIHRoYW4gYSBkYXkgb2xkJzsKJGxhbmdbJ3JlbW92ZWFsbCddID0gJ1JlbW92ZSBhbGwgZW50cmllcyc7CiRsYW5nWydhcmV5b3VzdXJlJ10gPSAnQXJlIHlvdSBzdXJlPyc7IAokbGFuZ1sncmVnaXN0cmF0aW9uX2luZm9fZWRpdGVkJ10gPSAnWW91ciByZWdpc3RyYXRpb24gaW5mbyBoYXMgYmVlbiBtb2RpZmllZCc7CiRsYW5nWydyZWdpc3RyYXRpb25fY29uZmlybWF0aW9uJ10gPSAnUmVnaXN0cmF0aW9uIENvbmZpcm1hdGlvbic7CiRsYW5nWyd1c2VyX3JlZ2lzdHJhdGlvbiddID0gJ1JlZ2lzdGVyJzsKJGxhbmdbJ2ZpbmFsbWVzc2FnZV90ZW1wbGF0ZSddID0gJ0ZpbmFsIE1lc3NhZ2UgVGVtcGxhdGUnOwokbGFuZ1sndGl0bGVfdmVyaWZ5cmVnaXN0cmF0aW9uJ10gPSAnVmVyaWZ5IFJlZ2lzdHJhdGlvbic7CiRsYW5nWydjb2RlJ10gPSAnVmFsaWRhdGlvbiBLZXknOwokbGFuZ1snZGVmYXVsdCddID0gJ1NldCBUbyBEZWZhdWx0cyc7CiRsYW5nWydlcnJvcl9ub3Byb3BlcnRpZXMnXSA9ICdObyBwcm9wZXJ0aWVzIGZvdW5kIGZvciB0aGlzIHVzZXInOwokbGFuZ1snZXJyb3Jfbm9wcm9wcmVsYXRpb25zJ10gPSAnTm8gcHJvcGVydHkgcmVsYXRpb25zJzsKJGxhbmdbJ2Vycm9yX2VtYWlsaW52YWxpZCddID0gJ0ludmFsaWQgZW1haWwgYWRkcmVzcyc7CiRsYW5nWydlcnJvcl9ub2VtYWlsYWRkcmVzcyddID0gJ05vIHZhbGlkIGVtYWlsIGFkZHJlc3MgZmllbGQgZm91bmQnOwokbGFuZ1snZXJyb3JfcmVxdWlyZWRmaWVsZCddID0gJ0ZpZWxkICVzIG11c3QgYmUgZmlsbGVkIGluJzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbjFfdGVtcGxhdGUnXSA9ICdSZWdpc3RyYXRpb24gVGVtcGxhdGUgMSc7CiRsYW5nWydyZWdpc3RyYXRpb24yX3RlbXBsYXRlJ10gPSAnUmVnaXN0cmF0aW9uIFRlbXBsYXRlIDInOwokbGFuZ1snZW1haWxjb25maXJtX3RlbXBsYXRlJ10gPSAnQ29uZmlybWF0aW9uIEVtYWlsIFRlbXBsYXRlJzsKJGxhbmdbJ2VtYWlsdXNlcmVkaXRlZF90ZW1wbGF0ZSddID0gJ1VzZXIgSW5mbyBDaGFuZ2VkIFRlbXBsYXRlJzsKJGxhbmdbJ3ByZWZlcmVuY2VzJ10gPSAnUHJlZmVyZW5jZXMnOwokbGFuZ1snZXJyb3JfdXNlcm5vdGZvdW5kJ10gPSAnVXNlciBub3QgZm91bmQnOwokbGFuZ1snZXJyb3JfaW52YWxpZHVzZXJuYW1lJ10gPSAnVXNlcm5hbWUgaXMgaW52YWxpZCAodG9vIGxvbmcsIHRvbyBzaG9ydCwgb3IgY29udGFpbnMgaW52YWxpZCBjaGFyYWN0ZXJzKS4gIEhpbnQtIFVzZXJuYW1lcyBtdXN0IGNvbnRhaW4gb25seSBhbHBoYW51bWVyaWMgY2hhcmFjdGVycyAobm8gc3BhY2VzKSc7CiRsYW5nWydlcnJvcl91c2VybmFtZXRha2VuJ10gPSAnVGhhdCB1c2VybmFtZSBpcyBjdXJyZW50bHkgaW4gdXNlJzsKJGxhbmdbJ2Vycm9yX3Bhc3N3b3Jkc2RvbnRtYXRjaCddID0gJ0VSUk9SOiBQYXNzd29yZHMgZG9udCBtYXRjaCc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFzc3dvcmQnXSA9ICdQYXNzd29yZCBpcyBpbnZhbGlkIChwYXNzd29yZHMgbXVzdCBiZSBiZXR3ZWVuICVzIGFuZCAlcyBjaGFyYWN0ZXJzIGluIGxlbmd0aCknOwokbGFuZ1snZXJyb3JfZW1wdHl1c2VybmFtZSddID0gJ1VzZXJuYW1lIGNhbm5vdCBiZSBlbXB0eSc7CiRsYW5nWydyZXBlYXRwYXNzd29yZCddID0gJ1Bhc3N3b3JkIChhZ2FpbiknOwokbGFuZ1sncGFzc3dvcmQnXSA9ICdQYXNzd29yZCc7CiRsYW5nWyd1c2VybmFtZSddID0gJ1VzZXJuYW1lJzsKJGxhbmdbJ2NhcHRjaGFfdGl0bGUnXSA9ICdFbnRlciB0aGUgdGV4dCBmcm9tIHRoZSBpbWFnZSc7CiRsYW5nWydlcnJvcl9pbnN1ZmZpY2llbnRwYXJhbXMnXSA9ICdJbnN1ZmZpY2llbnQgbnVtYmVyIChvciBpbmNvcnJlY3QpIHBhcmFtZXRlcnMgc3VwcGxpZWQgdG8gbW9kdWxlJzsKJGxhbmdbJ2Vycm9yX25vZmV1c2Vyc21vZHVsZSddID0gJ0NvdWxkIG5vdCBnZXQgaW5zdGFuY2Ugb2YgRnJvbnRFbmRVc2VycyBtb2R1bGUnOwokbGFuZ1snZXJyb3Jfbm9zdWNoZ3JvdXAnXSA9ICdHcm91cCBuYW1lIHNwZWNpZmllZCBkb2VzIG5vdCBleGlzdCc7CiRsYW5nWydlcnJvcl9jYXB0Y2hhbWlzbWF0Y2gnXSA9ICdUaGUgdGV4dCBmcm9tIHRoZSBpbWFnZSB3YXMgbm90IGVudGVyZWQgY29ycmVjdGx5JzsKJGxhbmdbJ3NlbmRfZW1haWxzX3RvJ10gPSAnUmVnaXN0cmF0aW9uIGVtYWlscyBzaG91bGQgYmUgc2VudCB0byc7CiRsYW5nWydyZXF1aXJlX2VtYWlsX2NvbmZpcm1hdGlvbiddID0gJ1JlcXVpcmUgdGhlIHVzZXIgdG8gY29uZmlybSByZWdpc3RyYXRpb24gdmlhIGVtYWlsJzsKJGxhbmdbJ25vdGlmeV9vbl9yZWdpc3RyYXRpb24nXSA9ICdTZW5kIGFuIGVtYWlsIG5vdGlmaWNhdGlvbiB3aGVuIHNvbWVvbmUgcmVnaXN0ZXJzJzsKJGxhbmdbJ2NhbmNlbCddID0gJ0NhbmNlbCc7CiRsYW5nWydzdWJtaXQnXSA9ICdTdWJtaXQnOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnU2VsZiBSZWdpc3RyYXRpb24gTW9kdWxlJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnSW5zdGFsbGF0aW9uIHN1Y2Nlc3NmdWxsLCBwbGVhc2UgcmVtZW1iZXIgdG8gc2V0IHRoZSAmcXVvdDtNb2RpZnkgU2VsZlJlZ2lzdHJhdGlvbiBTZXR0aW5ncyZxdW90OyBwZXJtaXNzaW9uLiAgSWYgdGhlIENhcHRjaGEgbW9kdWxlIGlzIGluc3RhbGxlZCwgdGhlbiBjYXB0Y2hhIGZ1bmN0aW9uYWxpdHkgaXMgZW5hYmxlZCBieSBkZWZhdWx0LiAgV2Ugc3Ryb25nbHkgcmVjY29tbWVuZCB0aGF0IHlvdSBpbnN0YWxsIHRoaXMgbW9kdWxlLiAgSWYgdGhlIENhcHRjaGEgbW9kdWxlIGlzIGluc3RhbGxlZCwgYW5kIHlvdSB3YW50IHRvIGRpc2FibGUgaXQsIHVzZSB0aGUgbm9jYXB0Y2hhIHBhcmFtIGluIHlvdXIgc2VsZnJlZ2lzdHJhdGlvbiB0YWcuJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdTZWxmIFJlZ2lzdHJhdGlvbiBtb2R1bGUgaXMgdW5pbnN0YWxsZWQuICBTZWUgeW91IGxhdGVyLic7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZHVsZSBVbmluc3RhbGxlZC4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWxlIHZlcnNpb24gJXMgaW5zdGFsbGVkLic7CiRsYW5nWydwcmVmc3VwZGF0ZWQnXSA9ICdNb2R1bGUgcHJlZmVyZW5jZXMgdXBkYXRlZC4nOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnQWNjZXNzIERlbmllZC4gUGxlYXNlIGNoZWNrIHlvdXIgcGVybWlzc2lvbnMuJzsKJGxhbmdbJ2Vycm9yJ10gPSAnRXJyb3IhJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnTW9kdWxlIHVwZ3JhZGVkIHRvIHZlcnNpb24gJXMuJzsKJGxhbmdbJ3RpdGxlX21vZF9wcmVmcyddID0gJ01vZHVsZSBQcmVmZXJlbmNlcyc7CiRsYW5nWyd0aXRsZV9tb2RfYWRtaW4nXSA9ICdNb2R1bGUgQWRtaW4gUGFuZWwnOwokbGFuZ1sndGl0bGVfYWRtaW5fcGFuZWwnXSA9ICdTZWxmIFJlZ2lzdHJhdGlvbiBNb2R1bGUnOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdBIG1vZHVsZSB0aGF0IGFsbG93cyBmcm9udCBlbmQgdXNlcnMgdG8gcmVnaXN0ZXIgdGhlbXNlbHZlcy4nOwokbGFuZ1snd2VsY29tZV90ZXh0J10gPSAnPHA+V2VsY29tZSB0byB0aGUgc2VsZiByZWdpc3RyYXRpb24gbW9kdWxlLjwvcD4nOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPgo8bGk+VmVyc2lvbiAwLjAuMS4gT2N0IDIwMDUuIEluaXRpYWwgTlJQVCAoTm90IFJlYWR5IGZvciBQcmltZSBUaW1lKSByZWxlYXNlLjwvbGk+CjxsaT5WZXJzaW9uIDAuMS4wLiBPY3QgMjAwNS4gSW5pdGlhbCByZWxlYXNlLjwvbGk+CjxsaT5WZXJzaW9uIDAuMS4xLiBPY3QgMjAwNS4gU2V0IHRoZSBIVE1MIG1haWwgZmxhZy48L2xpPgo8bGk+VmVyc2lvbiAwLjEuMi4gT2N0IDIwMDUuIE1vdmVkIFJhbmRvbSBzdHVmZiBpbnRvIGZldXNlcnMsIGFuZCBhZGRlZCB0aGUgYWJpbGl0eSB0byBkZWxldGUgb2xkIGVudHJpZXMgZnJvbSB0aGUgcmVnaXN0cmF0aW9uIHRlbXBvcmFyeSB0YWJsZXM8L2xpPgo8bGk+PHA+VmVyc2lvbiAwLjEuMy4gLSBEZWMgMjAwNTwvcD4KPHA+Rml4ZWQgdGhlIHRvZ2dsZXMgaW4gdGhlIGFkbWluIHByZWZlcmVuY2VzLiAgQWxzbywgY2hhbmdlZCB0aGUgcGVybWlzc2lvbnMgbW9kZWwgdG8gbm90IHJlcXVpcmUgdGhlIHVuaXF1ZSBwZXJtaXNzaW9uIGFkZGVkIHByZXZpb3VzbHkgZm9yIHRoZSBzZWxmcmVnIG1vZHVsZS48L3A+CjxwPlRoaXMgcmVsZWFzZSB3YXMgcmVtb3ZlZCBkdWUgdG8gcG9zc2libGUgZXJyb3JzPC9wPgo8L2xpPgo8bGk+PHA+VmVyc2lvbiAwLjEuNC4gLSBKYW4gMjAwNjwvcD4KPHA+Rml4ZWQgbWlub3IgZXJyb3JzIHdpdGggQ2hlY2tQZXJtaXNzaW9uLCByZXBsYWNlZCBhbGwgYXNzaWduX2J5X3JlZnNcJ3Mgd2l0aCBhc3NpZ25zIGZvciBob3BlZnVsIHBocDUgY29tcGF0aWJpbGl0eS48L3A+CjxsaT48cD5WZXJzaW9uIDAuMS41LiAtIEphbiAyMDA2PC9wPgo8cD5BZGRlZCB0aGUgYWJpbGl0eSB0byBzZXQgdGhlIHN1YmplY3Qgb2YgdGhlIGNvbmZpcm1hdGlvbiBlbWFpbCwgYW5kIGFkZGVkIHRoZSBhYmlsaXR5IHRvIHNwZWNpZnkgYSB0ZXh0IGJvZHkuICBTdWJqZWN0LCBhbmQgdGV4dCBib2R5IGFyZSByZXF1aXJlZC48L3A+CjwvbGk+CjxsaT48cD5WZXJzaW9uIDEuMC4wLiAtIEZlYiAyMDA2PC9wPgo8cD5GaXhlZCBhIHByb2JsZW0gd2l0aCB0aGUgdmVyaWZ5IG1vZGUuPC9wPgo8cD5BZGRlZCB0aGUgYWJpbGl0eSB0byBlZGl0IGFuZCBkZWxldGUgdXNlcnMuIHdpdGggc2VsZWN0aW9uIG9uIHRoZSBjaGVja2JveGVzLCBhbmQgImNoZWNrYWxsIjwvcD4KPHA+Tm93IHJlcXVpcmUgRkVVc2VycyAwLjEuOCBhbmQgQ01TTWFpbGVyIDEuNzMuOTwvcD4KPHA+QWRkZWQgYW5vdGhlciB0YWIgZm9yIHRoZSAieW91ciBzZXR0aW5ncyBoYXZlIGJlZW4gYWRqdXN0ZWQiIGVtYWlsIHRlbXBsYXRlczwvcD4KPHA+QWRkZWQgQ1NWIEV4cG9ydGluZzwvcD4KPHA+QWRkZWQgYSAiRGVsZXRlIGFsbCB1c2VycyBvbGRlciB0aGFuIGEgZGF5IiBidXR0b248L3A+CjxwPk5vdyB3b3JrcyB3aXRoIHRoZSBtYXhpbXVtIGxlbmd0aCBmaWVsZCBvZiBGRVVzZXJzPC9wPgo8cD5BZGRlZCBzdXBwb3J0IGZvciBkcm9wZG93bnMgYW5kIHRleHQgYXJlYXM8L3A+CjxwPkRpc2FsbG93IHB1bmN0dWF0aW9uIGNoYXJhY3RlcnMgaW4gdXNlcm5hbWU8L3A+CjwvbGk+CjxsaT48cD5WZXJzaW9uIDEuMC4xLiAtIEZlYiAyMDA2PC9wPgo8cD5BZGRlZCB0aGUgYWJpbGl0eSBmb3IgdXNlcnMgdG8gcmVxdWVzdCBhbm90aGVyIHJlZ2lzdHJhdGlvbiBlbWFpbCAodXNlcyB0aGUgc2FtZSBjb2RlKSwgaW5jYXNlIHRoZXkgbG9zdCB0aGVpciBmaXJzdCBvbmUuPC9wPgo8L2xpPgo8bGk+PHA+VmVyc2lvbiAxLjAuMi4gLSBGZWIgMjAwNjwvcD4KPHA+VGhlICJSZXF1aXJlIGVtYWlsIGNvbmZpcm1hdGlvbiIgY2hlY2tib3ggbm93IHdvcmtzLiAgVXNlcnMgYXJlIGFkZGVkIHN0cmFpZ2h0IHRvIHRoZSBmcm9udGVuZCB1c2VycyBkYXRhYmFzZTwvcD4KPHA+Rml4ZWQgYSBidWcgd2l0aCB0aGUgY29uZmlybWF0aW9uIGVtYWlscyBoYXZpbmcgbGlua3MgdG8gdGhlIGFkbWluIHNlY3Rpb24gKG5ldyBidWcgb25seSkuPC9wPgo8L2xpPgo8bGk+PHA+VmVyc2lvbiAxLjAuMy4gLSBGZWIgMjAwNjwvcD4KPHA+QWRkZWQgdGhlIChvcHRpb25hbCkgYWJpbGl0eSB0byByZXF1aXJlIHRoZSB1c2VyIGVudGVyIHRoZSBlbWFpbCBhZGRyZXNzIHR3aWNlPC9wPgo8cD5GaXhlZCBhIGJ1ZyB3aXRoIHRoZSB1c2VyZWRpdGVkIG1lc3NhZ2Ugbm90IGJlaW5nIHRocm93biB0aHJvdWdoIHNtYXJ0eTwvcD4KPHA+Rml4ZWQgdGhlIGRlZmF1bHQgcmVnaXN0cmF0aW9uIHRlbXBsYXRlIGEgYml0IHRvIGFpZGUgaW4gdmFsaWRhdGlvbiBmb3Igbm9uIHJlcXVpcmVkIGZpZWxkcyAoZml4ZWQgYSB3YXJuaW5nKTwvcD4KPHA+Rml4IHByb2JsZW1zIHdpdGggaW5saW5lIGFuZCBub24taW5saW5lIGZvcm1zIGFuZCBsaW5rczwvcD4KPHA+SGFuZGxlIGFub3RoZXIgY2FzZSB3aGVyZSB0aGUgYWRtaW4gbWF5IG5vdCBoYXZlIGNyZWF0ZWQgdGhlIHByb3BlciB0eXBlIG9mIGVtYWlsIHByb3BlcnR5PC9wPgo8cD5DaGFuZ2VkIHRvIHJlcXVpcmUgQ01TIDAuMTItYmV0YTIgYXQgYSBtaW5pbXVtIChmb3Igc2FmZXR5IHB1cnBvc2VzKTwvcD4KPC9saT4KPGxpPjxwPlZlcnNpb24gMS4wLjQuIC0gTWFyIDIwMDY8L3A+CjxwPk1vcmUgY29udHJvbCBvdmVyIHVzZXJuYW1lIGFuZCBwYXNzd29yZCBmaWVsZCBzaXplcyAoY29udHJvbGxlZCBieSBmZXVzZXJzKTwvcD4KPHA+Q29uZmlybWF0aW9uIG9uIGVkaXRpbmcgcHJlZmVyZW5jZXM8L3A+CjxwPlJlcXVpcmUgMC4xMiBwcm9wZXIgb2YgY21zIGFzIGEgbWluaW11bTwvcD4KPC9saT4KPGxpPjxwPlZlcnNpb24gMS4xLjAuIC0gRGVjIDIwMDY8L3A+CiAgICA8cD5BZGRlZCBldmVudHMgYW5kIDEuMCBjb21wYXRpYmlsaXR5PC9wPgogICAgPHA+Q2FwdGNoYSBzdXBwb3J0ICh0aGFua3MgRGl0dG1hbik8L3A+CjwvbGk+CjxsaT48cD5WZXJzaW9uIDEuMS4xLiAtIEFwciAyMDA3PC9wPgogICAgPHA+Tm93IHJlcXVpcmUgRkVVc2VycyAxLjIuMCAobWluaW11bSk8L3A+CiAgICA8cD5TdXBwb3J0IGZvciBtdWx0aXNlbGVjdCBsaXN0cyBpbiBmZXVzZXJzPC9wPgogICAgPHA+T3V0cHV0IHNvbWUgbW9yZSBmaWVsZHMgdG8gc21hcnR5IHRvIGFsbG93IGZvciBpbmNyZWFzZWQgYWNjZXNzaWJpbGl0eTwvcD4KICAgIDxwPlNwbGl0IGNvZGUgb3V0IGludG8gbXVsdGlwbGUgZmlsZXMgdG8gcmVkdWNlIG92ZXJhbGwgbWVtb3J5IGZvb3RwcmludDwvcD4KICAgIDxwPklnbm9yZSBhbGwgaW1hZ2UgZmllbGRzPC9wPgogICAgPHA+Q2hhbmdlIENhcHRjaGEgc3VwcG9ydCB0byBiZSBvbiBieSBkZWZhdWx0IGlmIHRoZSBDYXB0Y2hhIG1vZHVsZSBpcyBmb3VuZDwvcD4KPC9saT4KPGxpPjxwPlZlcnNpb24gMS4xLjIuIC0gTm92IDIwMDc8L3A+CiAgICA8cD5GaXggdGhlIHByb2JsZW0gd2l0aCB0aGUgVXNlckRpc3BsYXlMb3N0UmVnRW1haWxGb3JtIHRoaW5nPC9wPgogICAgPHA+QWRkcyB0aGUgaWQgdG8gdGhlIG9uVXNlclJlZ2lzdGVyZWQgRXZlbnQ8L3A+CiAgICA8cD5GaXhlcyB0aGUgcHJvYmxlbSB3aXRoIGNoZWNrYm94IHByb3BlcnRpZXMgbm90IHdvcmtpbmc8L3A+CiAgICA8cD5Ob3cgUmVxdWlyZXMgQ01TIDEuMiBtaW5pbXVtPC9wPgogICAgPHA+WW91IGNhbiBub3cgdXNlIHtTZWxmUmVnaXN0cmF0aW9uIGdyb3VwPVwnYmxhaFwnfTwvcD4KICAgIDxwPk5vdyBSZXF1aXJlcyBDTVMgMS4zIG1pbmltdW0uPC9wPgo8L2xpPgo8bGk+PHA+VmVyc2lvbiAxLjEuMy4gLSBOb3YgMjAwNzwvcD4KICAgIDxwPkZpeGVzIGlzc3VlIHdpdGggU01UUCBFbWFpbCBhZGRyZXNzIHZhbGlkYXRpb248L3A+CiAgICA8cD5Ob3cgUmVxdWlyZSBGRVUgMS4zLjE8L3A+CiAgICA8cD5BZGRzIHRoZSBub2lubGluZSBwYXJhbWV0ZXI8L3A+CjwvbGk+CjxsaT48cD5WZXJzaW9uIDEuMS40LiAtIEphbiAyMDA4PC9wPgogICAgPHA+U3BsaXRzIGEgZmV3IG1vcmUgYWN0aW9ucyB1cCBpbnRvIHNlcGVyYXRlIGZpbGVzPC9wPgogICAgPHA+QWRkcyBwcmVmZXJlbmNlcyBhbmQgYmVoYXZpb3VyIGZvciBwYWdlcyB0byByZWRpcmVjdCB0byBhZnRlciBhIHVzZXIgaXMgcmVnaXN0ZXJlZCwgYW5kL29yIHZlcmlmaWVkPC9wPgo8L2xpPgo8bGk+PHA+VmVyc2lvbiAxLjEuNS4gLSBGZWIgMjAwODwvcD4KICAgIDxwPnVzZSA9JiBzeW50YXggdG8gYWxsIGNhbGxzIHRvIEdldE1vZHVsZUluc3RhbmNlKCk8L3A+CiAgICA8cD5SZW1vdmUgY2FuY2VsIGJ1dHRvbnMgZnJvbSBmb3JtcyAodGhleSBkaWRuXCd0IHdvcmsgYW55d2F5cyk8L3A+CjwvbGk+CjxsaT48cD5WZXJzaW9uIDEuMS42LiAtIE1hciAyMDA4PC9wPgogICAgPHA+TGljZW5zZSBjaGFuZ2U8L3A+CiAgICA8cD5SZW1vdmUgY2FuY2VsIGJ1dHRvbnMgZnJvbSBmb3JtczwvcD4KICAgIDxwPk1pbm9yIGJ1ZyBmaXhlcyBhbmQgY2xlYW51cHM8L3A+CjwvbGk+CjxsaT48cD5WZXJzaW9uIDEuMiAtIE1hciAyMDA4PC9wPgogICAgPHA+QWRkIGZ1bmN0aW9uYWxpdHkgdG8gYWxsb3cgYXV0b21hdGljIGxvZ2dpbmcgaW4gb25jZSB2ZXJpZmljYXRpb24gaXMgY29tcGxldGU8L3A+CiAgICA8cD5NaW5vciwgYnV0IGltcG9ydGFudCBidWcgZml4ZXMuPC9wPgo8bGk+CjwvdWw+JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2hhdCBEb2VzIFRoaXMgRG8/PC9oMz4KPHA+VGhpcyBtb2R1bGUgaXMgZGVzaWduZWQgdG8gYWxsb3cgZnJvbnQgZW5kIHVzZXJzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMgYW5kIGZpbGwgaW4gdGhlIHJlcXVpcmVkIGluZm9ybWF0aW9uLiAgSXQgdGhlbiBzZW5kcyBhIGNvbmZpcm1hdGlvbiBlbWFpbCwgd2l0aCBhIGxpbmsgdG8gYSBzZWNvbmQgcGFnZSB0aGF0IG11c3QgYmUgY29tcGxldGVkIGJlZm9yZSB0aGUgcmVnaXN0cmF0aW9uIGlzIGNvbXBsZXRlLiAgT25jZSByZWdpc3RyYXRpb24gaXMgY29tcGxldGUsIGEgdXNlciBhY2NvdW50IGlzIGNyZWF0ZWQgaW4gdGhlIGZyb250IGVuZCB1c2VycyBtb2R1bGUuPC9wPgo8cD5JbiBvcmRlciB0byB1c2UgdGhpcyBtb2R1bGUsIHlvdSBtdXN0IGNyZWF0ZSBhIHByb3BlcnR5IG9mIHR5cGUgIkVtYWlsIEFkZHJlc3MiIGluIHRoZSBGcm9udGVuZFVzZXJzIG1vZHVsZSwgYW5kIGFzc29jaWF0ZSB0aGF0IHByb3BlcnR5IHdpdGggdGhlIGdyb3VwIHRvIGJlIHVzZWQgZm9yIHNlbGYgcmVnaXN0cmF0aW9uLjwvcD4KPGgzPkhvdyBEbyBJIFVzZSBJdDwvaDM+CjxwPllvdSBwbGFjZSB0aGUgZm9sbG93bmcgdGFnIGludG8geW91ciBwYWdlIHtjbXNfbW9kdWxlIG1vZHVsZT1TZWxmUmVnaXN0cmF0aW9uIGdyb3VwPXVzZXJncm91cH08L3A+CjxwPllvdSBtdXN0IGhhdmUgcHJldmlvdXNseSBjcmVhdGVkIHByb3BlcnRpZXMgYW5kIHVzZXIgZ3JvdXBzIGluIHRoZSBGcm9udEVuZFVzZXJzIG1vZHVsZSBpbiBvcmRlciBmb3IgdGhpcyB0byB3b3JrIHByb3Blcmx5LjwvcD4KPGgzPlBhcmFtZXRlcnM8L2gzPgo8cD48c3Ryb25nPm1vZGU8L3N0cm9uZz4mbmJzcDs8ZW0+b3B0aW9uYWw8L2VtPiAtIHBvc3NpYmxlIHZhbHVlcyBhcmUgInNpZ251cCIgYW5kICJ2ZXJpZnkiLiAgSWYgdGhpcyBwYXJhbWV0ZXIgaXMgbm90IHNwZWNpZmllZCwgInNpZ251cCIgaXMgYXNzdW1iZWQuPC9wPgo8cD48c3Ryb25nPmdyb3VwPC9zdHJvbmc+Jm5ic3A7PGVtPm9wdGlvbmFsPC9lbT4gLSBUaGlzIHBhcmFtZXRlciBpcyByZXF1aXJlZCBpZiBtb2RlIGlzICJzaWdudXAiLCBvciBpZiBtb2RlIGlzIGxlZnQgZW1wdHkuPC9wPgo8cD48c3Ryb25nPm5vY2FwdGNoYTwvc3Ryb25nPiZuYnNwOzxlbT5vcHRpb25hbDwvZW0+IC0gVGhpcyB3aWxsIGRpc2FibGUgY2FwdGNoYSBvbiB0aGUgc2lnbnVwIGZvcm0uIEJ5IGRlZmF1bHQsIGlmIHRoZSBDYXB0Y2hhIG1vZHVsZSBpcyBpbnN0YWxsZWQsIGNhcHRjaGEgc3VwcG9ydCBpcyBwcm92aWRlZC4gIFRoaXMgcGFyYW1ldGVyIGRpc2FibGVzIGl0LjwvcD4KPGgzPlN1cHBvcnQ8L2gzPgo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+Cjx1bD4KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCBjYWxndXlcJ3MKbW9kdWxlIGhvbWVwYWdlIGF0IDxhIGhyZWY9Imh0dHA6Ly90ZWNoY29tLmR5bmRucy5vcmciPnRlY2hjb20uZHluZG5zLm9yZzwvYT4uPC9saT4KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPgo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICAKPC91bD4KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0Cm9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4KCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPgo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDgsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnIj4mbHQ7Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyZndDs8L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+CjxwPlRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cml0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CnRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCihhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uPC9wPgo8cD5Ib3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCmluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIApzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLjwvcD4KPHA+VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCmJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCk1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKT3IgcmVhZCBpdCA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPm9ubGluZTwvYT48L3A+Cic7Cj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/ext/cs_CZ.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2Vycm9yX2NvZGVzZG9udG1hdGNoJ10gPSAnUG9za3l0bnV0JnlhY3V0ZTsgb3bEm8WZb3ZhYyZpYWN1dGU7IGsmb2FjdXRlO2QgamUgbmVwbGF0biZ5YWN1dGU7JzsKJGxhbmdbJ2V2ZW50X2Rlc2NyaXB0aW9uX29uTmV3VXNlciddID0gJ1VkJmFhY3V0ZTtsb3N0IHZ5dm9sYW4mYWFjdXRlOyBrZHnFviBub3YmeWFjdXRlOyB1xb5pdmF0ZWwgZG9rb27EjWlsIHZ5cGzFiG92JmFhY3V0ZTtuJmlhY3V0ZTsgcmVnaXN0cmHEjW4maWFjdXRlO2hvIGZvcm11bCZhYWN1dGU7xZllJzsKJGxhbmdbJ2V2ZW50X2Rlc2NyaXB0aW9uX29uVXNlclJlZ2lzdGVyZWQnXSA9ICdVZCZhYWN1dGU7bG9zdCB6bmHEjSZpYWN1dGU7YyZpYWN1dGU7LCDFvmUgdcW+aXZhdGVsIHBvdHZyZGlsIG9kZXNsYW4meWFjdXRlOyBlLW1haWwgYSBqZSBueW4maWFjdXRlOyBrb21wbGV0bsSbIHphcmVnaXN0cm92JmFhY3V0ZTtuJzsKJGxhbmdbJ2V2ZW50X2hlbHBfb25OZXdVc2VyJ10gPSAnPHA+QW4gZXZlbnQgaW5kaWNhdGluZyB0aGF0IGEgbmV3IHVzZXIgaGFzIGNvbXBsZXRlZCB0aGUgcmVnaXN0cmF0aW9uIGZvcm08L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBUaGUgbmV3IHVzZXJzIHNlbGVjdGVkIHVzZXJuYW1lPC9saT4NCjxsaT48ZW0+ZW1haWw8L2VtPiAtIFRoZSBuZXcgdXNlcnMgZW1haWwgYWRkcmVzczwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfb25Vc2VyUmVnaXN0ZXJlZCddID0gJzxwPkFuIGV2ZW50IGluZGljYXRpbmcgdGhhdCBhIHVzZXIgaGFzIGJlZW4gdmVyaWZpZWQgYW5kIGlzIG5vdyByZWdpc3RlcmVkIHdpdGggZmV1c2VyczwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIFRoZSByZWdpc3RlcmVkIHVzZXJuYW1lPC9saT4NCjwvdWw+DQonOwokbGFuZ1snY29uZmlybV9zdWJtaXRwcmVmcyddID0gJ1ptxJtuaXQgYWRtaW5pc3RyYcSNbiZpYWN1dGU7IG5hc3RhdmVuJmlhY3V0ZTs/JzsKJGxhbmdbJ2luZm9fYWRtaW5fcGFzc3dvcmQnXSA9ICdQb25lY2h0ZSB0b3RvIHBvbGUgcHImYWFjdXRlO3pkbiZlYWN1dGU7IHBybyB6YWNob3YmYWFjdXRlO24maWFjdXRlOyBzdCZhYWN1dGU7dmFqJmlhY3V0ZTtjJmlhY3V0ZTtobyBoZXNsYSc7CiRsYW5nWydpbmZvX2FkbWluX3JlcGVhdHBhc3N3b3JkJ10gPSAnUG9uZWNodGUgdG90byBwb2xlIHByJmFhY3V0ZTt6ZG4mZWFjdXRlOyBwcm8gemFjaG92JmFhY3V0ZTtuJmlhY3V0ZTsgc3QmYWFjdXRlO3ZhaiZpYWN1dGU7YyZpYWN1dGU7aG8gaGVzbGEnOwokbGFuZ1snZXJyb3JfZW1haWxkb2Vzbm90bWF0Y2gnXSA9ICdFLW1haWxvdiZlYWN1dGU7IGFkcmVzeSBzZSBuZXNob2R1aiZpYWN1dGU7JzsKJGxhbmdbJ2ZvcmNlX2VtYWlsX3R3aWNlJ10gPSAnVnnFvmFkb3ZhdCwgYWJ5IHXFvml2YXRlbCZlYWN1dGU7IHZsb8W+aWxpIHN2b3UgZS1tYWlsb3ZvdSBhZHJlc3UgZHZha3ImYWFjdXRlO3QnOwokbGFuZ1snYWdhaW4nXSA9ICd6bm92dSc7CiRsYW5nWydkZWxldGVzZWx1c2VycyddID0gJ1NtYXphdCB2eWJyYW4mZWFjdXRlOyB1xb5pdmF0ZWxlJzsKJGxhbmdbJ2Vycm9yX25vcHJvcGRlZm5zJ10gPSAnxb0mYWFjdXRlO2RuJmVhY3V0ZTsgZGVmaW5pY2Ugdmxhc3Rub3N0JmlhY3V0ZTssIG5lYm8gZG8mc2Nhcm9uO2xvIGsgY2h5YsSbIHDFmWkgamVqaWNoIHpqaSZzY2Fyb247xaVvdiZhYWN1dGU7biZpYWN1dGU7IHogZGF0YWImYWFjdXRlO3plJzsKJGxhbmdbJ2Vycm9yX25vZ3JvdXBzJ10gPSAnxb0mYWFjdXRlO2RuJmVhY3V0ZTsgc2t1cGlueSwgbmVibyBkbyZzY2Fyb247bG8gayBwb3QmaWFjdXRlO8W+JmlhY3V0ZTttIHDFmWkgamVqaWNoIHomaWFjdXRlO3NrJmFhY3V0ZTtuJmlhY3V0ZTsgeiBkYXRhYiZhYWN1dGU7emUnOwokbGFuZ1snZXJyb3JfZGJlcnJvciddID0gJ0NoeWJhIGRhdGFiJmFhY3V0ZTt6ZSc7CiRsYW5nWyd0aXRsZV9wb3N0X3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnXSA9ICdQb3N0IExvc3QgRW1haWwgVGVtcGxhdGUnOwokbGFuZ1sndGl0bGVfc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSddID0gJ0xvc3QgRW1haWwgVGVtcGxhdGUnOwokbGFuZ1snY2xpY2toZXJlJ10gPSAnS2xpa27Em3RlIHpkZSc7CiRsYW5nWydtc2dfc2VuZGFub3RoZXJlbWFpbCddID0gJ0ppxb4ganNlbSB2eXBsbmlsIHJlZ2lzdHJhxI1uJmlhY3V0ZTsgZm9ybXVsJmFhY3V0ZTvFmSwgYWxlIG5lb2JkcsW+ZWwganNlbSBlLW1haWwsIG3Fr8W+ZXRlIG1pIGhvIHByb3MmaWFjdXRlO20gem5vdnUgcG9zbGF0Lic7CiRsYW5nWydzZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJ10gPSAnTG9zdCBFbWFpbCBUZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3VzZXJ2ZXJpZmllZCddID0gJ0RvIEZyb250RW5kVXNlcnMgYnlsIHDFmWlkJmFhY3V0ZTtuIG5vdiZ5YWN1dGU7IHXFvml2YXRlbCc7CiRsYW5nWydlZGl0J10gPSAnVXByYXZpdCc7CiRsYW5nWyd1bmtub3duJ10gPSAnTmV6biZhYWN1dGU7bSZ5YWN1dGU7JzsKJGxhbmdbJ3NlbGVjdCddID0gJ1Z5YnJhdCc7CiRsYW5nWydjaGVja19hbGwnXSA9ICdWeWJyYXQgdiZzY2Fyb247ZSc7CiRsYW5nWyd1bmNoZWNrX2FsbCddID0gJ1pydSZzY2Fyb247aXQgdiZ5YWN1dGU7YsSbcic7CiRsYW5nWydzZW5kX2FkanVzdG1lbnRlbWFpbCddID0gJ1Bvc2xhdCBlLW1haWwgdcW+aXZhdGVsaSc7CiRsYW5nWyd0eHRfYWRqdXN0bWVudGVtYWlsJ10gPSAnKGluZm9ybXVqZSB1xb5pdmF0ZWxlLCDFvmUgamVqaWNoICZ1YWN1dGU7xI1ldCBieWwgdXByYXZlbic7CiRsYW5nWyd0eHRfY2hhbmdlcGFzc3dvcmQnXSA9ICdWeXBsxYh0ZSB0YXRvIHBvbGUgcHJvIHptxJtudSB1xb5pdmF0ZWxzayZlYWN1dGU7aG8gaGVzbGEnOwokbGFuZ1snZWRpdHVzZXInXSA9ICdVcHJhdml0IHXFvml2YXRlbGUnOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGV1c2VyJ10gPSAnT3ByYXZkdSBjaGNldGUgdnltYXphdCB0b2hvdG8gxI0mYWFjdXRlO3N0ZcSNbsSbIHJlZ2lzdHJvdmFuJmVhY3V0ZTtobyB1xb5pdmF0ZWxlPyc7CiRsYW5nWydoZHJfdXNlcmlkJ10gPSAnVXNlcklEJzsKJGxhbmdbJ2hkcl91c2VybmFtZSddID0gJ1XFvml2YXRlbHNrJmVhY3V0ZTsgam0mZWFjdXRlO25vJzsKJGxhbmdbJ2hkcl9ncnBuYW1lJ10gPSAnU2t1cGluYSc7CiRsYW5nWydoZHJfY3JlYXRlZCddID0gJ3Z5dHZvxZllbm8nOwokbGFuZ1snaGRyX2VtYWlsJ10gPSAnRS1tYWlsJzsKJGxhbmdbJ3VzZXJzZm91bmQnXSA9ICdOYWxlemVuJmlhY3V0ZTsgdcW+aXZhdGVsJmVhY3V0ZTsgKG9tZXplbm8gbWF4aW0mYWFjdXRlO2xuJmlhY3V0ZTttIHBvxI10ZW0gMjUwKSc7CiRsYW5nWyd1c2VycyddID0gJ1XFvml2YXRlbCZlYWN1dGU7JzsKJGxhbmdbJ2xpc3QxZGF5J10gPSAnVnlwc2F0IHYmc2Nhcm9uO2VjaG55IHBvbG/Fvmt5IHYmaWFjdXRlO2NlIG5lxb4gMSBkZW4gc3RhciZlYWN1dGU7JzsKJGxhbmdbJ3N1YmplY3QnXSA9ICdQxZllZG3Em3Qgb2RjaG96JmlhY3V0ZTtobyBlLW1haWx1JzsKJGxhbmdbJ2h0bWxib2R5J10gPSAnVMSbbG8gSFRNTCB6cHImYWFjdXRlO3Z5JzsKJGxhbmdbJ3RleHRib2R5J10gPSAnVMSbbG8gdGV4dG92JmVhY3V0ZTtobyBlLW1haWx1JzsKJGxhbmdbJ3Byb21wdF9udW1yZXNldHJlY29yZCddID0gJ07Em2t0ZcWZJmlhY3V0ZTsgdcW+aXZhdGVsJmVhY3V0ZTsganNvdSDEjSZhYWN1dGU7c3RlxI1uxJsgcmVnaXN0cm92YW4maWFjdXRlOy4gSmVqaWNoIHBvxI1ldCBqZSBha3R1JmFhY3V0ZTtsbsSbOic7CiRsYW5nWydyZW1vdmUxd2VlayddID0gJ09kZWJyYXQgdiZzY2Fyb247ZWNobnkgcG9sb8W+a3kgc3RhciZzY2Fyb247JmlhY3V0ZTsgbmXFviB0JnlhY3V0ZTtkZW4nOwokbGFuZ1sncmVtb3ZlMW1vbnRoJ10gPSAnT2RlYnJhdCB2JnNjYXJvbjtlY2hueSBwb2xvxb5reSBzdGFyJnNjYXJvbjsmaWFjdXRlOyBuZcW+IHJvayc7CiRsYW5nWydyZW1vdmUxZGF5J10gPSAnT2RlYnJhdCB2JnNjYXJvbjtlY2hueSBwb2xvxb5reSBzdGFyJnNjYXJvbjsmaWFjdXRlOyBuZcW+IHQmeWFjdXRlO2Rlbic7CiRsYW5nWydyZW1vdmVhbGwnXSA9ICdPZGV2cmF0IHYmc2Nhcm9uO2VjaG55IHomYWFjdXRlO3puYW15JzsKJGxhbmdbJ2FyZXlvdXN1cmUnXSA9ICdKc3RlIHNpIGppc3Q/JzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbl9pbmZvX2VkaXRlZCddID0gJ1ZhJnNjYXJvbjtlIHJlZ2lzdHJhxI1uJmlhY3V0ZTsgJnVhY3V0ZTtkYWplIGJ5bHkgdXByYXZlbnknOwokbGFuZ1sncmVnaXN0cmF0aW9uX2NvbmZpcm1hdGlvbiddID0gJ1BvdHZyemVuJmlhY3V0ZTsgcmVnaXN0cmFjZSc7CiRsYW5nWyd1c2VyX3JlZ2lzdHJhdGlvbiddID0gJ1JlZ2lzdHJhY2UnOwokbGFuZ1snZmluYWxtZXNzYWdlX3RlbXBsYXRlJ10gPSAnRmluYWwgTWVzc2FnZSBUZW1wbGF0ZSc7CiRsYW5nWyd0aXRsZV92ZXJpZnlyZWdpc3RyYXRpb24nXSA9ICdPdsSbxZlpdCByZWdpc3RyYWNpJzsKJGxhbmdbJ2NvZGUnXSA9ICdPdsSbxZlvdmFjJmlhY3V0ZTsga2wmaWFjdXRlO8SNJzsKJGxhbmdbJ2RlZmF1bHQnXSA9ICdOYXN0YXZpdCBuYSB2JnlhY3V0ZTtjaG96JmlhY3V0ZTsgaG9kbm90eSc7CiRsYW5nWydlcnJvcl9ub3Byb3BlcnRpZXMnXSA9ICdQcm8gdG9ob3RvIHXFvml2YXRlbGUgbmVieWx5IG5hbGV6ZW55IMW+JmFhY3V0ZTtkbiZlYWN1dGU7IHZsYXN0bm9zdGknOwokbGFuZ1snZXJyb3Jfbm9wcm9wcmVsYXRpb25zJ10gPSAnTm8gcHJvcGVydHkgcmVsYXRpb25zJzsKJGxhbmdbJ2Vycm9yX2VtYWlsaW52YWxpZCddID0gJ05lcGxhdG4mYWFjdXRlOyBlLW1haWxvdiZhYWN1dGU7IGFkcmVzYSc7CiRsYW5nWydlcnJvcl9ub2VtYWlsYWRkcmVzcyddID0gJ05lYnlsbyBuYWxlemVubyBwb2xlIG9ic2FodWomaWFjdXRlO2MmaWFjdXRlOyBwbGF0bm91IGUtbWFpbG92b3UgYWRyZXN1JzsKJGxhbmdbJ2Vycm9yX3JlcXVpcmVkZmllbGQnXSA9ICdQb2xlICVzIG11cyZpYWN1dGU7IGImeWFjdXRlO3QgdnlwbG7Em25vJzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbjFfdGVtcGxhdGUnXSA9ICdSZWdpc3RyYcSNbiZpYWN1dGU7ICZzY2Fyb247YWJsb25hIDEnOwokbGFuZ1sncmVnaXN0cmF0aW9uMl90ZW1wbGF0ZSddID0gJ1JlZ2lzdHJhxI1uJmlhY3V0ZTsgJnNjYXJvbjthYmxvbmEgMic7CiRsYW5nWydlbWFpbGNvbmZpcm1fdGVtcGxhdGUnXSA9ICcmU2Nhcm9uO2FibG9uYSBlLW1haWx1IHBybyBwb3R2cnplbiZpYWN1dGU7JzsKJGxhbmdbJ2VtYWlsdXNlcmVkaXRlZF90ZW1wbGF0ZSddID0gJyZTY2Fyb247YWJsb25hIHptxJtueSB1xb5pdmF0ZWxzayZ5YWN1dGU7Y2ggaW5mb3JtYWMmaWFjdXRlOyc7CiRsYW5nWydwcmVmZXJlbmNlcyddID0gJ05hc3RhdmVuJmlhY3V0ZTsnOwokbGFuZ1snZXJyb3JfdXNlcm5vdGZvdW5kJ10gPSAnVcW+aXZhdGVsIG5lYnlsIG5hbGV6ZW4nOwokbGFuZ1snZXJyb3JfaW52YWxpZHVzZXJuYW1lJ10gPSAnVcW+aXZhdGVsc2smZWFjdXRlOyBqbSZlYWN1dGU7bm8gamUgbmVwbGF0biZlYWN1dGU7IChwxZkmaWFjdXRlO2xpJnNjYXJvbjsgZGxvdWgmZWFjdXRlOywgcMWZJmlhY3V0ZTtsaSZzY2Fyb247IGtyJmFhY3V0ZTt0ayZlYWN1dGU7LCBuZWJvIG9ic2FodWplIG5lcGxhdG4mZWFjdXRlOyB6bmFreSAtIHBvdm9sZW5hIGpzb3UgcG91emUgcCZpYWN1dGU7c21lbmEgYmV6IGRpYWtyaXRpa3kgYSBtZXplcikuICc7CiRsYW5nWydlcnJvcl91c2VybmFtZXRha2VuJ10gPSAnVcW+aXZhdGVsc2smZWFjdXRlOyBqbSZlYWN1dGU7bm8gamUgamnFviBwb3XFviZpYWN1dGU7diZhYWN1dGU7bm8nOwokbGFuZ1snZXJyb3JfcGFzc3dvcmRzZG9udG1hdGNoJ10gPSAnQ0hZQkE6IEhlc2xhIG5lb2Rwb3YmaWFjdXRlO2RhaiZpYWN1dGU7JzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXNzd29yZCddID0gJ0hlc2xvIGplIG5lcGxhdG4mZWFjdXRlOyAoaGVzbGEgbXVzJmlhY3V0ZTsgbSZpYWN1dGU7dCBkJmVhY3V0ZTtsa3UgbWV6aSAlcyBhICVzIHpuYWt5KSc7CiRsYW5nWydlcnJvcl9lbXB0eXVzZXJuYW1lJ10gPSAnVcW+aXZhdGVsc2smZWFjdXRlOyBqbSZlYWN1dGU7bm8gbXVzJmlhY3V0ZTsgYiZ5YWN1dGU7dCB6YWQmYWFjdXRlO25vJzsKJGxhbmdbJ3JlcGVhdHBhc3N3b3JkJ10gPSAnSGVzbG8gKHpub3Z1KSc7CiRsYW5nWydwYXNzd29yZCddID0gJ0hlc2xvJzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAnUMWZaWhsYSZzY2Fyb247b3ZhYyZpYWN1dGU7IGptJmVhY3V0ZTtubyc7CiRsYW5nWydjYXB0Y2hhX3RpdGxlJ10gPSAnVmxvxb50ZSB0ZXh0IHogb2JyJmFhY3V0ZTt6a3UnOwokbGFuZ1snZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJ10gPSAnUMWZaSB2b2wmYWFjdXRlO24maWFjdXRlOyBtdWR1bHUgYnlsbyBwb3XFvml0byBwxZkmaWFjdXRlO2xpJnNjYXJvbjsgbSZhYWN1dGU7bG8gcGFyYW1ldHLFrywgbmVibyBqc291IHphZGFuJmVhY3V0ZTsgcGFyYW1ldHJ5IG5lcGxhdG4mZWFjdXRlOyc7CiRsYW5nWydlcnJvcl9ub2ZldXNlcnNtb2R1bGUnXSA9ICdOZW1vaHUgc2UgcMWZaXBvaml0IGsgbXVkdWx1IEZyb250RW5kVXNlcnMnOwokbGFuZ1snZXJyb3Jfbm9zdWNoZ3JvdXAnXSA9ICdVdmVkZW4mZWFjdXRlOyBqbSZlYWN1dGU7bm8gc2t1cGlueSBuZWV4aXN0dWplJzsKJGxhbmdbJ2Vycm9yX2NhcHRjaGFtaXNtYXRjaCddID0gJ1RleHQgeiBvYnImYWFjdXRlO3prdSBuZWJ5bCB2bG/FvmVuIHNwciZhYWN1dGU7dm7Emyc7CiRsYW5nWydzZW5kX2VtYWlsc190byddID0gJ1JlZ2lzdHJhxI1uJmlhY3V0ZTsgZS1tYWlseSBieSBtxJtseSBiJnlhY3V0ZTt0IHphc2wmYWFjdXRlO255IG5hIGUtbWFpbHknOwokbGFuZ1sncmVxdWlyZV9lbWFpbF9jb25maXJtYXRpb24nXSA9ICdWecW+YWRvdmF0IHXFvml2dGVsb3ZvIHBvdHZyemVuJmlhY3V0ZTsgcmVnaXN0cmFjZSBlLW1haWxlbSc7CiRsYW5nWydub3RpZnlfb25fcmVnaXN0cmF0aW9uJ10gPSAnUG9zbGF0IHVwb3pvcm7Em24maWFjdXRlOyBlLW1haWxlbSwga2R5xb4gc2UgbsSba2RvIHJlZ2lzdHJ1amUnOwokbGFuZ1snY2FuY2VsJ10gPSAnQ2FuY2VsU3Rvcm5vJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ1Zsb8W+aXQnOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnU2Ftb3N0YXRuJmFhY3V0ZTsgcmVnaXN0cmFjZSc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0luc3RhbGxhdGlvbiBzdWNjZXNzZnVsbCwgcGxlYXNlIHJlbWVtYmVyIHRvIHNldCB0aGUgJnF1b3Q7TW9kaWZ5IFNlbGZSZWdpc3RyYXRpb24gU2V0dGluZ3MmcXVvdDsgcGVybWlzc2lvbi4nOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ01vZHVsIFNhbW9zdGF0biZhYWN1dGU7IHJlZ2lzdHJhY2UgYnlsIG9kaW5zdGFsb3YmYWFjdXRlO24uIE5hc2hsZWRhbm91IHDFmSZpYWN1dGU7JnNjYXJvbjt0xJsuJzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTW9kdWwgb2RpbnN0YWxvdiZhYWN1dGU7bi4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWwgdmVyemUgJXMgaW5zdGFsbG92JmFhY3V0ZTtuLic7CiRsYW5nWydwcmVmc3VwZGF0ZWQnXSA9ICdWbGFzdG5vc3RpIG1vZHVsdSBuYXN0YXZlbnknOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnUMWZJmlhY3V0ZTtzdHVwIHphayZhYWN1dGU7eiZhYWN1dGU7bi4gUHJvcyZpYWN1dGU7bSB6a29udHJvbHVqdGUgc3YmYWFjdXRlOyBvcHImYWFjdXRlO3ZuxJtuJmlhY3V0ZTsuJzsKJGxhbmdbJ2Vycm9yJ10gPSAnQ2h5YmEhJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnTW9kdWwgYWt0dWFsaXpvdiZhYWN1dGU7biBuYSB2ZXJ6aSAlcy4nOwokbGFuZ1sndGl0bGVfbW9kX3ByZWZzJ10gPSAnTmFzdGF2ZW4maWFjdXRlOyBtb2R1bHUnOwokbGFuZ1sndGl0bGVfbW9kX2FkbWluJ10gPSAnQWRtaW5pc3RyYcSNbiZpYWN1dGU7IHBhbmVsIG1vZHVsdSc7CiRsYW5nWyd0aXRsZV9hZG1pbl9wYW5lbCddID0gJ01vZHVsIHNhbW9yZWdpc3RyYWNlJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnTW9kdWwsIGt0ZXImeWFjdXRlOyB1bW/FvsWIdWplIHNhbW9zdGF0bm91IHJlZ2lzdHJhY2kgdcW+aXZhdGVsxa8uJzsKJGxhbmdbJ3dlbGNvbWVfdGV4dCddID0gJzxwPlYmaWFjdXRlO3RlanRlIHYgbW9kdWx1IFNhbW9zdGF0biZhYWN1dGU7IHJlZ2lzdHJhY2UuPC9wPic7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8dWw+DQo8bGk+VmVyc2lvbiAwLjAuMS4gT2N0IDIwMDUuIEluaXRpYWwgTlJQVCAoTm90IFJlYWR5IGZvciBQcmltZSBUaW1lKSByZWxlYXNlLjwvbGk+DQo8bGk+VmVyc2lvbiAwLjEuMC4gT2N0IDIwMDUuIEluaXRpYWwgcmVsZWFzZS48L2xpPg0KPGxpPlZlcnNpb24gMC4xLjEuIE9jdCAyMDA1LiBTZXQgdGhlIEhUTUwgbWFpbCBmbGFnLjwvbGk+DQo8bGk+VmVyc2lvbiAwLjEuMi4gT2N0IDIwMDUuIE1vdmVkIFJhbmRvbSBzdHVmZiBpbnRvIGZldXNlcnMsIGFuZCBhZGRlZCB0aGUgYWJpbGl0eSB0byBkZWxldGUgb2xkIGVudHJpZXMgZnJvbSB0aGUgcmVnaXN0cmF0aW9uIHRlbXBvcmFyeSB0YWJsZXM8L2xpPg0KPGxpPjxwPlZlcnNpb24gMC4xLjMuIC0gRGVjIDIwMDU8L3A+DQo8cD5GaXhlZCB0aGUgdG9nZ2xlcyBpbiB0aGUgYWRtaW4gcHJlZmVyZW5jZXMuICBBbHNvLCBjaGFuZ2VkIHRoZSBwZXJtaXNzaW9ucyBtb2RlbCB0byBub3QgcmVxdWlyZSB0aGUgdW5pcXVlIHBlcm1pc3Npb24gYWRkZWQgcHJldmlvdXNseSBmb3IgdGhlIHNlbGZyZWcgbW9kdWxlLjwvcD4NCjxwPlRoaXMgcmVsZWFzZSB3YXMgcmVtb3ZlZCBkdWUgdG8gcG9zc2libGUgZXJyb3JzPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDAuMS40LiAtIEphbiAyMDA2PC9wPg0KPHA+Rml4ZWQgbWlub3IgZXJyb3JzIHdpdGggQ2hlY2tQZXJtaXNzaW9uLCByZXBsYWNlZCBhbGwgYXNzaWduX2J5X3JlZnMmIzAzOTtzIHdpdGggYXNzaWducyBmb3IgaG9wZWZ1bCBwaHA1IGNvbXBhdGliaWxpdHkuPC9wPg0KPGxpPjxwPlZlcnNpb24gMC4xLjUuIC0gSmFuIDIwMDY8L3A+DQo8cD5BZGRlZCB0aGUgYWJpbGl0eSB0byBzZXQgdGhlIHN1YmplY3Qgb2YgdGhlIGNvbmZpcm1hdGlvbiBlbWFpbCwgYW5kIGFkZGVkIHRoZSBhYmlsaXR5IHRvIHNwZWNpZnkgYSB0ZXh0IGJvZHkuICBTdWJqZWN0LCBhbmQgdGV4dCBib2R5IGFyZSByZXF1aXJlZC48L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjAuIC0gRmViIDIwMDY8L3A+DQo8cD5GaXhlZCBhIHByb2JsZW0gd2l0aCB0aGUgdmVyaWZ5IG1vZGUuPC9wPg0KPHA+QWRkZWQgdGhlIGFiaWxpdHkgdG8gZWRpdCBhbmQgZGVsZXRlIHVzZXJzLiB3aXRoIHNlbGVjdGlvbiBvbiB0aGUgY2hlY2tib3hlcywgYW5kICZxdW90O2NoZWNrYWxsJnF1b3Q7PC9wPg0KPHA+Tm93IHJlcXVpcmUgRkVVc2VycyAwLjEuOCBhbmQgQ01TTWFpbGVyIDEuNzMuOTwvcD4NCjxwPkFkZGVkIGFub3RoZXIgdGFiIGZvciB0aGUgJnF1b3Q7eW91ciBzZXR0aW5ncyBoYXZlIGJlZW4gYWRqdXN0ZWQmcXVvdDsgZW1haWwgdGVtcGxhdGVzPC9wPg0KPHA+QWRkZWQgQ1NWIEV4cG9ydGluZzwvcD4NCjxwPkFkZGVkIGEgJnF1b3Q7RGVsZXRlIGFsbCB1c2VycyBvbGRlciB0aGFuIGEgZGF5JnF1b3Q7IGJ1dHRvbjwvcD4NCjxwPk5vdyB3b3JrcyB3aXRoIHRoZSBtYXhpbXVtIGxlbmd0aCBmaWVsZCBvZiBGRVVzZXJzPC9wPg0KPHA+QWRkZWQgc3VwcG9ydCBmb3IgZHJvcGRvd25zIGFuZCB0ZXh0IGFyZWFzPC9wPg0KPHA+RGlzYWxsb3cgcHVuY3R1YXRpb24gY2hhcmFjdGVycyBpbiB1c2VybmFtZTwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjAuMS4gLSBGZWIgMjAwNjwvcD4NCjxwPkFkZGVkIHRoZSBhYmlsaXR5IGZvciB1c2VycyB0byByZXF1ZXN0IGFub3RoZXIgcmVnaXN0cmF0aW9uIGVtYWlsICh1c2VzIHRoZSBzYW1lIGNvZGUpLCBpbmNhc2UgdGhleSBsb3N0IHRoZWlyIGZpcnN0IG9uZS48L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjIuIC0gRmViIDIwMDY8L3A+DQo8cD5UaGUgJnF1b3Q7UmVxdWlyZSBlbWFpbCBjb25maXJtYXRpb24mcXVvdDsgY2hlY2tib3ggbm93IHdvcmtzLiAgVXNlcnMgYXJlIGFkZGVkIHN0cmFpZ2h0IHRvIHRoZSBmcm9udGVuZCB1c2VycyBkYXRhYmFzZTwvcD4NCjxwPkZpeGVkIGEgYnVnIHdpdGggdGhlIGNvbmZpcm1hdGlvbiBlbWFpbHMgaGF2aW5nIGxpbmtzIHRvIHRoZSBhZG1pbiBzZWN0aW9uIChuZXcgYnVnIG9ubHkpLjwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjAuMy4gLSBGZWIgMjAwNjwvcD4NCjxwPkFkZGVkIHRoZSAob3B0aW9uYWwpIGFiaWxpdHkgdG8gcmVxdWlyZSB0aGUgdXNlciBlbnRlciB0aGUgZW1haWwgYWRkcmVzcyB0d2ljZTwvcD4NCjxwPkZpeGVkIGEgYnVnIHdpdGggdGhlIHVzZXJlZGl0ZWQgbWVzc2FnZSBub3QgYmVpbmcgdGhyb3duIHRocm91Z2ggc21hcnR5PC9wPg0KPHA+Rml4ZWQgdGhlIGRlZmF1bHQgcmVnaXN0cmF0aW9uIHRlbXBsYXRlIGEgYml0IHRvIGFpZGUgaW4gdmFsaWRhdGlvbiBmb3Igbm9uIHJlcXVpcmVkIGZpZWxkcyAoZml4ZWQgYSB3YXJuaW5nKTwvcD4NCjxwPkZpeCBwcm9ibGVtcyB3aXRoIGlubGluZSBhbmQgbm9uLWlubGluZSBmb3JtcyBhbmQgbGlua3M8L3A+DQo8cD5IYW5kbGUgYW5vdGhlciBjYXNlIHdoZXJlIHRoZSBhZG1pbiBtYXkgbm90IGhhdmUgY3JlYXRlZCB0aGUgcHJvcGVyIHR5cGUgb2YgZW1haWwgcHJvcGVydHk8L3A+DQo8cD5DaGFuZ2VkIHRvIHJlcXVpcmUgQ01TIDAuMTItYmV0YTIgYXQgYSBtaW5pbXVtIChmb3Igc2FmZXR5IHB1cnBvc2VzKTwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjAuNC4gLSBNYXIgMjAwNjwvcD4NCjxwPk1vcmUgY29udHJvbCBvdmVyIHVzZXJuYW1lIGFuZCBwYXNzd29yZCBmaWVsZCBzaXplcyAoY29udHJvbGxlZCBieSBmZXVzZXJzKTwvcD4NCjxwPkNvbmZpcm1hdGlvbiBvbiBlZGl0aW5nIHByZWZlcmVuY2VzPC9wPg0KPHA+UmVxdWlyZSAwLjEyIHByb3BlciBvZiBjbXMgYXMgYSBtaW5pbXVtPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMS4wLiAtIERlYyAyMDA2PC9wPg0KICAgIDxwPkFkZGVkIGV2ZW50cyBhbmQgMS4wIGNvbXBhdGliaWxpdHk8L3A+DQogICAgPHA+Q2FwdGNoYSBzdXBwb3J0ICh0aGFua3MgRGl0dG1hbik8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4xLjEuPC9wPg0KICAgIDxwPk5vdyByZXF1aXJlIEZFVXNlcnMgMS4xLjMgKG1pbmltdW0pPC9wPg0KICAgIDxwPlN1cHBvcnQgZm9yIG11bHRpc2VsZWN0IGxpc3RzIGluIGZldXNlcnM8L3A+DQogICAgPHA+T3V0cHV0IHNvbWUgbW9yZSBmaWVsZHMgdG8gc21hcnR5IHRvIGFsbG93IGZvciBpbmNyZWFzZWQgYWNjZXNzaWJpbGl0eTwvcD4NCiAgICA8cD5TcGxpdCBjb2RlIG91dCBpbnRvIG11bHRpcGxlIGZpbGVzIHRvIHJlZHVjZSBvdmVyYWxsIG1lbW9yeSBmb290cHJpbnQ8L3A+DQo8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPg0KPHA+VGhpcyBtb2R1bGUgaXMgZGVzaWduZWQgdG8gYWxsb3cgZnJvbnQgZW5kIHVzZXJzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMgYW5kIGZpbGwgaW4gdGhlIHJlcXVpcmVkIGluZm9ybWF0aW9uLiAgSXQgdGhlbiBzZW5kcyBhIGNvbmZpcm1hdGlvbiBlbWFpbCwgd2l0aCBhIGxpbmsgdG8gYSBzZWNvbmQgcGFnZSB0aGF0IG11c3QgYmUgY29tcGxldGVkIGJlZm9yZSB0aGUgcmVnaXN0cmF0aW9uIGlzIGNvbXBsZXRlLiAgT25jZSByZWdpc3RyYXRpb24gaXMgY29tcGxldGUsIGEgdXNlciBhY2NvdW50IGlzIGNyZWF0ZWQgaW4gdGhlIGZyb250IGVuZCB1c2VycyBtb2R1bGUuPC9wPg0KPHA+SW4gb3JkZXIgdG8gdXNlIHRoaXMgbW9kdWxlLCB5b3UgbXVzdCBjcmVhdGUgYSBwcm9wZXJ0eSBvZiB0eXBlICZxdW90O0VtYWlsIEFkZHJlc3MmcXVvdDsgaW4gdGhlIEZyb250ZW5kVXNlcnMgbW9kdWxlLCBhbmQgYXNzb2NpYXRlIHRoYXQgcHJvcGVydHkgd2l0aCB0aGUgZ3JvdXAgdG8gYmUgdXNlZCBmb3Igc2VsZiByZWdpc3RyYXRpb24uPC9wPg0KPGgzPkhvdyBEbyBJIFVzZSBJdDwvaDM+DQo8cD5Zb3UgcGxhY2UgdGhlIGZvbGxvd25nIHRhZyBpbnRvIHlvdXIgcGFnZSB7Y21zX21vZHVsZSBtb2R1bGU9U2VsZlJlZ2lzdHJhdGlvbiBncm91cD11c2VyZ3JvdXB9PC9wPg0KPHA+WW91IG11c3QgaGF2ZSBwcmV2aW91c2x5IGNyZWF0ZWQgcHJvcGVydGllcyBhbmQgdXNlciBncm91cHMgaW4gdGhlIEZyb250RW5kVXNlcnMgbW9kdWxlIGluIG9yZGVyIGZvciB0aGlzIHRvIHdvcmsgcHJvcGVybHkuPC9wPg0KPGgzPlBhcmFtZXRlcnM8L2gzPg0KPHA+PHN0cm9uZz5tb2RlPC9zdHJvbmc+Jm5ic3A7PGVtPm9wdGlvbmFsPC9lbT4gLSBwb3NzaWJsZSB2YWx1ZXMgYXJlICZxdW90O3NpZ251cCZxdW90OyBhbmQgJnF1b3Q7dmVyaWZ5JnF1b3Q7LiAgSWYgdGhpcyBwYXJhbWV0ZXIgaXMgbm90IHNwZWNpZmllZCwgJnF1b3Q7c2lnbnVwJnF1b3Q7IGlzIGFzc3VtYmVkLjwvcD4NCjxwPjxzdHJvbmc+Z3JvdXA8L3N0cm9uZz4mbmJzcDs8ZW0+b3B0aW9uYWw8L2VtPiAtIFRoaXMgcGFyYW1ldGVyIGlzIHJlcXVpcmVkIGlmIG1vZGUgaXMgJnF1b3Q7c2lnbnVwJnF1b3Q7LCBvciBpZiBtb2RlIGlzIGxlZnQgZW1wdHkuPC9wPg0KPHA+PHN0cm9uZz5jYXB0Y2hhPC9zdHJvbmc+Jm5ic3A7PGVtPm9wdGlvbmFsPC9lbT4gLSBUaGlzIHdpbGwgZW5hYmxlIGNhcHRjaGEgb24gdGhlIHNpZ251cCBmb3JtLiBUaGUgQ2FwdGNoYSBtb2R1bGUgbXVzdCBiZSBpbnN0YWxsZWQgZm9yIHRoaXMgcGFyYW1ldGVyIHRvIHdvcmsuPC9wPg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCBjYWxndXkmIzAzOTtzDQptb2R1bGUgaG9tZXBhZ2UgYXQgPGEgaHJlZj0mcXVvdDtodHRwOi8vdGVjaGNvbS5keW5kbnMub3JnJnF1b3Q7PnRlY2hjb20uZHluZG5zLm9yZzwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9JnF1b3Q7aHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnJnF1b3Q7PkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+DQo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSZxdW90O2lyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyZxdW90Oz5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkuPC9saT4gIA0KPC91bD4NCjxwPkFzIHBlciB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkIGFzLWlzLiBQbGVhc2UgcmVhZCB0aGUgdGV4dA0Kb2YgdGhlIGxpY2Vuc2UgZm9yIHRoZSBmdWxsIGRpc2NsYWltZXIuPC9wPg0KDQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPkNvcHlyaWdodCAmY29weTsgMjAwNSwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0mcXVvdDttYWlsdG86Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbSZxdW90Oz48Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbT48L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiByZWxlYXNlZCB1bmRlciB0aGUgPGEgaHJlZj0mcXVvdDtodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwmcXVvdDs+R05VIFB1YmxpYyBMaWNlbnNlPC9hPi4gWW91IG11c3QgYWdyZWUgdG8gdGhpcyBsaWNlbnNlIGJlZm9yZSB1c2luZyB0aGUgbW9kdWxlLjwvcD4NCic7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjExODk4MTEwMzkuMTA1LjYudXRtY2NuPShyZWZlcnJhbCl8dXRtY3NyPW1pbGhhdXMud2lraWRvdC5jb218dXRtY2N0PS9wcnV6a3VtLWRvbW92c2t5Y2gtc3RyYW5lay1jbXN8dXRtY21kPXJlZmVycmFsJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMTYwODg1NTIxMC4xMTY3OTA4MTA5LjExOTAwNDUwOTcuMTE5MDA1MDI2OC4xMTInOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/da_DK.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2xvZ2luX2FmdGVydmVyaWZ5J10gPSAnTG9nIGF1dG9tYXRpc2sgYnJ1Z2VyZW4gaW5kIGkgRnJvbnRFbmRVc2VycyBlZnRlciB2ZXJpZmlrYXRpb24gZXIgZ2VubmVtZiZvc2xhc2g7cnQnOwokbGFuZ1snc2tpcF9maW5hbF9tc2cnXSA9ICdWaXMgaWtrZSBkZW4gZW5kZWxpZ2UgYmVza2VkIGVmdGVyIHJlZ2lzdHJlcmluZyc7CiRsYW5nWydyZWRpcmVjdF9hZnRlcnJlZ2lzdGVyJ10gPSAnUmVkaXJlY3QgdGlsIGYmb3NsYXNoO2xnZW5kZSBQYWdlSUQvQWxpYXMgZWZ0ZXIgcmVnaXN0cmVyaW5nZW4gZXIgZ2VubmVtZiZvc2xhc2g7cnQnOwokbGFuZ1sncmVkaXJlY3RfYWZ0ZXJ2ZXJpZnknXSA9ICdSZWRpcmVjdCB0aWwgZiZvc2xhc2g7bGdlbmRlIFBhZ2VJRC9BbGlhcyBlZnRlciB2ZXJpZmlrYXRpb24gZXIgZ2VubmVtZiZvc2xhc2g7cnQnOwokbGFuZ1sndXNlX2lubGluZV9mb3JtcyddID0gJ0JydWcgSW5saW5lIEZvcm1zIDxlbT4oZm9ybWVucyBvdXRwdXQgZXJzdGF0dGVyIGt1biBtb2R1bGV0cyB0YWcgLSBpa2tlIGFsdCBpbmRob2xkIHAmYXJpbmc7IHNpZGVuKTwvZW0+JzsKJGxhbmdbJ2Vycm9yX2NvZGVzZG9udG1hdGNoJ10gPSAnVmFsaWRlcmluZ3Nrb2RlbiBlciB1Z3lsZGlnJzsKJGxhbmdbJ2V2ZW50X2Rlc2NyaXB0aW9uX29uTmV3VXNlciddID0gJ0VuIGJlZ2l2ZW5oZWQsIGRlciBpbmRpa2VyZXIgYXQgZW4gbnkgYnJ1Z2VyIGhhciB1ZGZ5bGR0IHJlZ2lzdHJlcmluZ3NibGFua2V0dGVuJzsKJGxhbmdbJ2V2ZW50X2Rlc2NyaXB0aW9uX29uVXNlclJlZ2lzdGVyZWQnXSA9ICdFbiBiZWdpdmVuaGVkLCBkZXIgaW5kaWtlcmVyIGF0IGVuIGJydWdlciBoYXIgdmVyaWZpY2VyZXQgc2luIGluZm9ybWF0aW9uIG9nIGhhciBmdWxkdGVuZHQgcmVnaXN0cmVyaW5nZW4nOwokbGFuZ1snZXZlbnRfaGVscF9vbk5ld1VzZXInXSA9ICc8cD5FbiBiZWdpdmVuaGVkLCBkZXIgaW5kaWtlcmVyIGF0IGVuIG55IGJydWdlciBoYXIgdWRmeWxkdCByZWdpc3RyZXJpbmdzYmxhbmtldHRlbjwvcD4NCjxoND5QYXJhbWV0cmU8L2g0Pg0KPHVsPg0KPGxpPjxlbT5icnVnZXJuYXZuPC9lbT4gLSBCcnVnZXJuYXZuIHZhbGd0IGFmIGRlbiBueWUgYnJ1Z2VyPC9saT4NCjxsaT48ZW0+ZW1haWw8L2VtPiAtIERlbiBueWUgYnJ1Z2VycyBlbWFpbCBhZHJlc3NlPC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRfaGVscF9vblVzZXJSZWdpc3RlcmVkJ10gPSAnPHA+RW4gYmVnaXZlbmhlZCwgZGVyIGluZGlrZXJlciBhdCBlbiBicnVnZXIgZXIgYmxldmV0IHZlcmlmaWNlcmV0IG9nIG51IGVyIHJlZ2lzdHJlcmV0IHNvbSBmcm9udCBlbmQgYnJ1Z2VyPC9wPg0KPGg0PlBhcmFtZXRyZTwvaDQ+DQo8dWw+DQo8bGk+PGVtPmJydWdlcm5hdm48L2VtPiAtIERldCByZWdpc3RyZXJlZGUgYnJ1Z2VybmF2bjwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2NvbmZpcm1fc3VibWl0cHJlZnMnXSA9ICdTa2FsIGFkbWluIGluZHN0aWxsaW5nZXIgJmFlbGlnO25kcmVzPyc7CiRsYW5nWydpbmZvX2FkbWluX3Bhc3N3b3JkJ10gPSAnTGFkIGRldHRlIGZlbHQgdiZhZWxpZztyZSB0b210IGZvciBhdCBiZXZhcmUgYnJ1Z2VyZW5zIGtvZGVvcmQnOwokbGFuZ1snaW5mb19hZG1pbl9yZXBlYXRwYXNzd29yZCddID0gJ0xhZCBkZXR0ZSBmZWx0IHYmYWVsaWc7cmUgdG9tdCBmb3IgYXQgYmV2YXJlIGJydWdlcmVucyBrb2Rlb3JkJzsKJGxhbmdbJ2Vycm9yX2VtYWlsZG9lc25vdG1hdGNoJ10gPSAnRW1haWwgYWRyZXNzZXIgZXIgaWtrZSBlbnMnOwokbGFuZ1snZm9yY2VfZW1haWxfdHdpY2UnXSA9ICdLciZhZWxpZzt2IGF0IGJydWdlcmUgaW5kdGFzdGVyIGRlcmVzIGVtYWlsYWRyZXNzZSB0byBnYW5nZSc7CiRsYW5nWydhZ2FpbiddID0gJ2lnZW4nOwokbGFuZ1snZGVsZXRlc2VsdXNlcnMnXSA9ICdTbGV0IHZhbGd0ZSBicnVnZXJlJzsKJGxhbmdbJ2Vycm9yX25vcHJvcGRlZm5zJ10gPSAnSW5nZW4gZWdlbnNrYWJlciBkZWZpbmVyZXQsIGVsbGVyIGRlciB2YXIgcHJvYmxlbWVyIG1lZCBhdCBoZW50ZSBkZW0gZnJhIGRhdGFiYXNlbic7CiRsYW5nWydlcnJvcl9ub2dyb3VwcyddID0gJ0luZ2VuIGdydXBwZXIgZWxsZXIgcHJvYmxlbWVyIG1lZCBhdCBoZW50ZSBncnVwcGVvdmVyc2lndCc7CiRsYW5nWydlcnJvcl9kYmVycm9yJ10gPSAnRmVqbCBpIGRhdGFiYXNlbic7CiRsYW5nWyd0aXRsZV9wb3N0X3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnXSA9ICdNaXN0ZXQgcG9zdCBlbWFpbCAtIHRlbXBsYXRlJzsKJGxhbmdbJ3RpdGxlX3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnXSA9ICdNaXN0ZXQgZW1haWwgLSB0ZW1wbGF0ZSc7CiRsYW5nWydjbGlja2hlcmUnXSA9ICdLbGlrIGhlcic7CiRsYW5nWydtc2dfc2VuZGFub3RoZXJlbWFpbCddID0gJ0plZyBoYXIgYWxsZXJlZGUgdWRmeWxkdCByZWdpc3RyZXJpbmdzYmxhbmtldHRlbiwgbWVuIGplZyBoYXIgaWtrZSBtb2R0YWdldCBlbiBlbWFpbC4gVmlsIEkgdmVubGlnc3Qgc2VuZGUgZGVuIGlnZW4/JzsKJGxhbmdbJ3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnXSA9ICdNaXN0ZXQgZW1haWwgLSB0ZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3VzZXJ2ZXJpZmllZCddID0gJ0VuIG55IGJydWdlciBlciBibGV2ZXQgdGlsZiZvc2xhc2g7amV0IEZyb250RW5kQnJ1Z2VyZSc7CiRsYW5nWydlZGl0J10gPSAnUmV0JzsKJGxhbmdbJ3Vua25vd24nXSA9ICdVa2VuZHQnOwokbGFuZ1snc2VsZWN0J10gPSAnViZhZWxpZztsZyc7CiRsYW5nWydjaGVja19hbGwnXSA9ICdNYXJrZXIgYWxsZSc7CiRsYW5nWyd1bmNoZWNrX2FsbCddID0gJ0ZqZXJuIG1hcmtlcmluZyBmcmEgYWxsZSc7CiRsYW5nWydzZW5kX2FkanVzdG1lbnRlbWFpbCddID0gJ1NlbmQgZW4gZW1haWwgdGlsIGJydWdlcmVuJzsKJGxhbmdbJ3R4dF9hZGp1c3RtZW50ZW1haWwnXSA9ICcoaW5mb3JtZXJlciBicnVnZXJlbiBvbSBhdCBoYW5zIGtvbnRvIGVyIGJsZXZldCAmYWVsaWc7bmRyZXQpJzsKJGxhbmdbJ3R4dF9jaGFuZ2VwYXNzd29yZCddID0gJ1VkZnlsZCBkaXNzZSBmZWx0ZXIgZm9yIGF0ICZhZWxpZztuZHJlIGJydWdlcmVucyBrb2Rlb3JkJzsKJGxhbmdbJ2VkaXR1c2VyJ10gPSAnUmVkaWdlciBicnVnZXInOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGV1c2VyJ10gPSAnRXIgZHUgc2lra2VyIHAmYXJpbmc7IGF0IGR1IHZpbCBzbGV0dGUgZGVubmUgZGVsdmlzdCBvcHJldHRlZGUgYnJ1Z2VyPyc7CiRsYW5nWydoZHJfdXNlcmlkJ10gPSAnQnJ1Z2VySUQnOwokbGFuZ1snaGRyX3VzZXJuYW1lJ10gPSAnQnJ1Z2VybmF2bic7CiRsYW5nWydoZHJfZ3JwbmFtZSddID0gJ0dydXBwZSc7CiRsYW5nWydoZHJfY3JlYXRlZCddID0gJ09wcmV0dGV0JzsKJGxhbmdbJ2hkcl9lbWFpbCddID0gJ0VtYWlsJzsKJGxhbmdbJ3VzZXJzZm91bmQnXSA9ICdGdW5kbmUgYnJ1Z2VyZSAoYmVnciZhZWxpZztuc2V0IHRpbCBtYXggMjUwKSc7CiRsYW5nWyd1c2VycyddID0gJ0JydWdlcmUnOwokbGFuZ1snbGlzdDFkYXknXSA9ICdWaXMgYWxsZSBpbmRsJmFlbGlnO2csIGRlciBlciBtZXJlIGVuZCBlbiBkYWcgZ2FtbGUnOwokbGFuZ1snc3ViamVjdCddID0gJ0VtbmUgZm9yIHVkZyZhcmluZztlbmRlIG1haWwnOwokbGFuZ1snaHRtbGJvZHknXSA9ICdIVE1MIGJlc2tlZCBib2R5JzsKJGxhbmdbJ3RleHRib2R5J10gPSAnVGVrc3QgYmVza2VkIGJvZHknOwokbGFuZ1sncHJvbXB0X251bXJlc2V0cmVjb3JkJ10gPSAnRXQgYW50YWwgYnJ1Z2VyZSBlciBtaWR0IGkgYXQgcmVnaXN0cmVyZSBzaWcuICBMaWdlIG51IGVyIGFudGFsbGV0Oic7CiRsYW5nWydyZW1vdmUxd2VlayddID0gJ1NsZXQgYWxsZSBpbmRsJmFlbGlnO2csIGRlciBlciBtZXJlIGVuZCBlbiB1Z2UgZ2FtbGUnOwokbGFuZ1sncmVtb3ZlMW1vbnRoJ10gPSAnU2xldCBhbGxlIGluZGwmYWVsaWc7ZywgZGVyIGVyIG1lcmUgZW5kIGVuIG0mYXJpbmc7bmVkIGdhbWxlJzsKJGxhbmdbJ3JlbW92ZTFkYXknXSA9ICdTbGV0IGFsbGUgaW5kbCZhZWxpZztnLCBkZXIgZXIgbWVyZSBlbmQgZW4gZGFnIGdhbWxlJzsKJGxhbmdbJ3JlbW92ZWFsbCddID0gJ1NsZXQgYWxsZSBpbmRsJmFlbGlnO2cnOwokbGFuZ1snYXJleW91c3VyZSddID0gJ0VyIGR1IHNpa2tlcj8nOwokbGFuZ1sncmVnaXN0cmF0aW9uX2luZm9fZWRpdGVkJ10gPSAnRGluZSByZWdpc3RyZXJlZGUgb3BseXNuaW5nZXIgZXIgYmxldmV0ICZhZWxpZztuZHJldCc7CiRsYW5nWydyZWdpc3RyYXRpb25fY29uZmlybWF0aW9uJ10gPSAnQmVrciZhZWxpZztmdGVsc2UgcCZhcmluZzsgcmVnaXN0cmVyaW5nJzsKJGxhbmdbJ3VzZXJfcmVnaXN0cmF0aW9uJ10gPSAnUmVnaXN0ciZlYWN1dGU7cic7CiRsYW5nWydmaW5hbG1lc3NhZ2VfdGVtcGxhdGUnXSA9ICdFbmRlbGlnIGJlc2tlZCAtIHRlbXBsYXRlJzsKJGxhbmdbJ3RpdGxlX3ZlcmlmeXJlZ2lzdHJhdGlvbiddID0gJ1ZlcmlmaWNlciByZWdpc3RyZXJpbmcnOwokbGFuZ1snY29kZSddID0gJ1ZhbGlkZXJpbmdza29kZSc7CiRsYW5nWydkZWZhdWx0J10gPSAnUyZhZWxpZzt0IHRpbCBkZWZhdWx0JzsKJGxhbmdbJ2Vycm9yX25vcHJvcGVydGllcyddID0gJ0luZ2VuIGVnZW5za2FiZXIgZnVuZGV0IGZvciBkZW5uZSBicnVnZXInOwokbGFuZ1snZXJyb3Jfbm9wcm9wcmVsYXRpb25zJ10gPSAnSW5nZW4gdGlsa255dHRlZGUgZWdlbnNrYWJlcic7CiRsYW5nWydlcnJvcl9lbWFpbGludmFsaWQnXSA9ICdVZ3lsZGlnIGVtYWlsIGFkcmVzc2UnOwokbGFuZ1snZXJyb3Jfbm9lbWFpbGFkZHJlc3MnXSA9ICdJbnRldCBneWxkaWd0IGVtYWlsIGFkcmVzc2UtZmVsdCBmdW5kZXQnOwokbGFuZ1snZXJyb3JfcmVxdWlyZWRmaWVsZCddID0gJ0ZlbHQgJXMgc2thbCB1ZGZ5bGRlcyc7CiRsYW5nWydyZWdpc3RyYXRpb24xX3RlbXBsYXRlJ10gPSAnUmVnaXN0cmVyaW5nc3RlbXBsYXRlIDEnOwokbGFuZ1sncmVnaXN0cmF0aW9uMl90ZW1wbGF0ZSddID0gJ1JlZ2lzdHJlcmluZ3N0ZW1wbGF0ZSAyJzsKJGxhbmdbJ2VtYWlsY29uZmlybV90ZW1wbGF0ZSddID0gJ0Jla3ImYWVsaWc7ZnQgZW1haWwgLSB0ZW1wbGF0ZSc7CiRsYW5nWydlbWFpbHVzZXJlZGl0ZWRfdGVtcGxhdGUnXSA9ICdCcnVnZXIgaW5mb3JtYXRpb25lciAmYWVsaWc7bmRyZWRlIC0gdGVtcGxhdGUnOwokbGFuZ1sncHJlZmVyZW5jZXMnXSA9ICdJbmRzdGlsbGluZ2VyJzsKJGxhbmdbJ2Vycm9yX3VzZXJub3Rmb3VuZCddID0gJ0JydWdlcmVuIGJsZXYgaWtrZSBmdW5kZXQnOwokbGFuZ1snZXJyb3JfaW52YWxpZHVzZXJuYW1lJ10gPSAnQnJ1Z2VybmF2bmV0IGVyIHVneWxkaWd0IChmb3IgbGFuZ3QsIGZvciBrb3J0IGVsbGVyIGluZGVob2xkZXIgdWd5bGRpZ2Uga2FyYWt0ZXJlcikuIFRpcCAtIGJydWdlcm5hdm5lIG0mYXJpbmc7IGt1biBpbmRlaG9sZGUgYWxwaGFudW1lcmlza2UgdGVnbiAoaW5nZW4gbWVsbGVtcnVtKSc7CiRsYW5nWydlcnJvcl91c2VybmFtZXRha2VuJ10gPSAnRGV0IGJydWdlcm5hdm4gZXIgYWxsZXJlZGUgaSBicnVnJzsKJGxhbmdbJ2Vycm9yX3Bhc3N3b3Jkc2RvbnRtYXRjaCddID0gJ0Zlamw6IEtvZGVvcmQgbWF0Y2hlciBpa2tlJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXNzd29yZCddID0gJ0tvZGVvcmRldCBlciBpa2tlIGd5bGRpZ3QgKGtvZGVvcmQgc2thbCB2JmFlbGlnO3JlIG1lbGxlbSAlcyBvZyAlcyB0ZWduKSc7CiRsYW5nWydlcnJvcl9lbXB0eXVzZXJuYW1lJ10gPSAnRmVsdGV0IGJydWdlcm5hdm4ga2FuIGlra2UgdiZhZWxpZztyZSB0b210JzsKJGxhbmdbJ3JlcGVhdHBhc3N3b3JkJ10gPSAnS29kZW9yZCAoaWdlbiknOwokbGFuZ1sncGFzc3dvcmQnXSA9ICdLb2Rlb3JkJzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAnQnJ1Z2VybmF2bic7CiRsYW5nWydjYXB0Y2hhX3RpdGxlJ10gPSAnU2tyaXYgdGVrc3RlbiBmcmEgYmlsbGVkZXQnOwokbGFuZ1snZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJ10gPSAnVXRpbHN0ciZhZWxpZztra2VsaWdlIGVsbGVyIHVrb3JyZWt0ZSBwYXJhbWV0cmUgYW5naXZldCB0aWwgbW9kdWxldCc7CiRsYW5nWydlcnJvcl9ub2ZldXNlcnNtb2R1bGUnXSA9ICdLdW5uZSBpa2tlIHNrYWZmZSBGcm9udEVuZFVzZXJzIG1vZHVsZXQnOwokbGFuZ1snZXJyb3Jfbm9zdWNoZ3JvdXAnXSA9ICdEZXQgYW5naXZuZSBncnVwcGVuYXZuIGVrc2lzdGVyZXIgaWtrZSc7CiRsYW5nWydlcnJvcl9jYXB0Y2hhbWlzbWF0Y2gnXSA9ICdUZWtzdGVuIGZyYSBiaWxsZWRlciBibGV2IGlra2Ugc2tyZXZldCBrb3JyZWt0JzsKJGxhbmdbJ3NlbmRfZW1haWxzX3RvJ10gPSAnRW1haWxzIHZlZHImb3NsYXNoO3JlbmRlIHJlZ2lzdHJlcmluZyBza2FsIHNlbmRlcyB0aWwnOwokbGFuZ1sncmVxdWlyZV9lbWFpbF9jb25maXJtYXRpb24nXSA9ICdLciZhZWxpZzt2IGF0IGJydWdlcmVuIGJla3ImYWVsaWc7ZnRlciByZWdpc3RyZXJpbmdlbiB2aWEgZW1haWwnOwokbGFuZ1snbm90aWZ5X29uX3JlZ2lzdHJhdGlvbiddID0gJ1NlbmQgZW4gZW1haWwgbiZhcmluZztyIGVuIG55IGJydWdlciByZWdpc3RyZXJlciBzaWcnOwokbGFuZ1snY2FuY2VsJ10gPSAnQW5udWxsZXInOwokbGFuZ1snc3VibWl0J10gPSAnSW5kc2VuZCc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdNb2R1bCB0aWwgc2VsdnJlZ2lzdHJlcmluZyc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0luc3RhbGxhdGlvbmVuIGJsZXYgZ2VubmVtZiZvc2xhc2g7cnQgbWVkIHN1Y2Nlcy4gSHVzayBhdCBzJmFlbGlnO3R0ZSAmcXVvdDtNb2RpZnkgU2VsZlJlZ2lzdHJhdGlvbiBTZXR0aW5ncyZxdW90OyB0aWxsYWRlbHNlci4gIEh2aXMgQ2FwdGNoYSBtb2R1bGV0IGVyIGluc3RhbGxlcmV0LCBlciBjYXB0Y2hhIGZ1bmt0aW9uZW4gZGVmYXVsdC4gIFZpIGFuYmVmYWxlciBkdSBpbnN0YWxsZXJlciBkZXR0ZSBtb2R1bC4NCg0KSHZpcyBDYXB0Y2hhIG1vZHVsZXQgZXIgaW5zdGFsbGVyZXQsIG9nIGR1IGlra2UgJm9zbGFzaDtuc2tlciBhdCBicnVnZSBkZXQsIGthbiBkdSBzbCZhcmluZzsgZGV0IGZyYSBtZWQgJiMwMzk7bm9jYXB0Y2hhJiMwMzk7IHBhcmFtZXRlcmV0IGkgZGluIHNlbGZyZWdpc3RyYXRpb24gdGFnLic7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnTW9kdWwgdGlsIHNlbHZyZWdpc3RyZXJpbmcgZXIgYmxldmV0IGFmaW5zdGFsbGVyZXQuIFZpIHNlcy4uLic7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZHVsIGFmaW5zdGFsbGVyZXQnOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWwgdmVyc2lvbiAlcyBlciBpbnN0YWxsZXJldC4nOwokbGFuZ1sncHJlZnN1cGRhdGVkJ10gPSAnTW9kdWxldHMgaW5kc3RpbGxpbmdlciBlciBibGV2ZXQgb3BkYXRlcmV0Lic7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdBZGdhbmcgbiZhZWxpZztndGV0LiBDaGVjayBkaW5lIHRpbGxhZGVsc2VyLic7CiRsYW5nWydlcnJvciddID0gJ0ZlamwhJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnTW9kdWwgb3BncmFkZXJldCB0aWwgdmVyc2lvbiAlcy4nOwokbGFuZ1sndGl0bGVfbW9kX3ByZWZzJ10gPSAnTW9kdWwgaW5kc3RpbGxpbmdlcic7CiRsYW5nWyd0aXRsZV9tb2RfYWRtaW4nXSA9ICdNb2R1bCBhZG1pbmluaXN0cmF0aW9uJzsKJGxhbmdbJ3RpdGxlX2FkbWluX3BhbmVsJ10gPSAnU2VsZiBSZWdpc3RyYXRpb24gTW9kdWxlJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnRXQgbW9kdWwsIGRlciB0aWxsYWRlciBicnVnZXJlIGF0IHJlZ2lzdHJlcmUgZGVtIHNlbHYuJzsKJGxhbmdbJ3dlbGNvbWVfdGV4dCddID0gJzxwPlZlbGtvbW1lbiB0aWwgbW9kdWxldCBmb3Igc2VsdnJlZ2lzdHJlcmluZzwvcD4nOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPg0KPGxpPlZlcnNpb24gMC4wLjEuIE9jdCAyMDA1LiBJbml0aWFsIE5SUFQgKE5vdCBSZWFkeSBmb3IgUHJpbWUgVGltZSkgcmVsZWFzZS48L2xpPg0KPGxpPlZlcnNpb24gMC4xLjAuIE9jdCAyMDA1LiBJbml0aWFsIHJlbGVhc2UuPC9saT4NCjxsaT5WZXJzaW9uIDAuMS4xLiBPY3QgMjAwNS4gU2V0IHRoZSBIVE1MIG1haWwgZmxhZy48L2xpPg0KPGxpPlZlcnNpb24gMC4xLjIuIE9jdCAyMDA1LiBNb3ZlZCBSYW5kb20gc3R1ZmYgaW50byBmZXVzZXJzLCBhbmQgYWRkZWQgdGhlIGFiaWxpdHkgdG8gZGVsZXRlIG9sZCBlbnRyaWVzIGZyb20gdGhlIHJlZ2lzdHJhdGlvbiB0ZW1wb3JhcnkgdGFibGVzPC9saT4NCjxsaT48cD5WZXJzaW9uIDAuMS4zLiAtIERlYyAyMDA1PC9wPg0KPHA+Rml4ZWQgdGhlIHRvZ2dsZXMgaW4gdGhlIGFkbWluIHByZWZlcmVuY2VzLiAgQWxzbywgY2hhbmdlZCB0aGUgcGVybWlzc2lvbnMgbW9kZWwgdG8gbm90IHJlcXVpcmUgdGhlIHVuaXF1ZSBwZXJtaXNzaW9uIGFkZGVkIHByZXZpb3VzbHkgZm9yIHRoZSBzZWxmcmVnIG1vZHVsZS48L3A+DQo8cD5UaGlzIHJlbGVhc2Ugd2FzIHJlbW92ZWQgZHVlIHRvIHBvc3NpYmxlIGVycm9yczwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAwLjEuNC4gLSBKYW4gMjAwNjwvcD4NCjxwPkZpeGVkIG1pbm9yIGVycm9ycyB3aXRoIENoZWNrUGVybWlzc2lvbiwgcmVwbGFjZWQgYWxsIGFzc2lnbl9ieV9yZWZzJiMwMzk7cyB3aXRoIGFzc2lnbnMgZm9yIGhvcGVmdWwgcGhwNSBjb21wYXRpYmlsaXR5LjwvcD4NCjxsaT48cD5WZXJzaW9uIDAuMS41LiAtIEphbiAyMDA2PC9wPg0KPHA+QWRkZWQgdGhlIGFiaWxpdHkgdG8gc2V0IHRoZSBzdWJqZWN0IG9mIHRoZSBjb25maXJtYXRpb24gZW1haWwsIGFuZCBhZGRlZCB0aGUgYWJpbGl0eSB0byBzcGVjaWZ5IGEgdGV4dCBib2R5LiAgU3ViamVjdCwgYW5kIHRleHQgYm9keSBhcmUgcmVxdWlyZWQuPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC4wLiAtIEZlYiAyMDA2PC9wPg0KPHA+Rml4ZWQgYSBwcm9ibGVtIHdpdGggdGhlIHZlcmlmeSBtb2RlLjwvcD4NCjxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIGVkaXQgYW5kIGRlbGV0ZSB1c2Vycy4gd2l0aCBzZWxlY3Rpb24gb24gdGhlIGNoZWNrYm94ZXMsIGFuZCAmcXVvdDtjaGVja2FsbCZxdW90OzwvcD4NCjxwPk5vdyByZXF1aXJlIEZFVXNlcnMgMC4xLjggYW5kIENNU01haWxlciAxLjczLjk8L3A+DQo8cD5BZGRlZCBhbm90aGVyIHRhYiBmb3IgdGhlICZxdW90O3lvdXIgc2V0dGluZ3MgaGF2ZSBiZWVuIGFkanVzdGVkJnF1b3Q7IGVtYWlsIHRlbXBsYXRlczwvcD4NCjxwPkFkZGVkIENTViBFeHBvcnRpbmc8L3A+DQo8cD5BZGRlZCBhICZxdW90O0RlbGV0ZSBhbGwgdXNlcnMgb2xkZXIgdGhhbiBhIGRheSZxdW90OyBidXR0b248L3A+DQo8cD5Ob3cgd29ya3Mgd2l0aCB0aGUgbWF4aW11bSBsZW5ndGggZmllbGQgb2YgRkVVc2VyczwvcD4NCjxwPkFkZGVkIHN1cHBvcnQgZm9yIGRyb3Bkb3ducyBhbmQgdGV4dCBhcmVhczwvcD4NCjxwPkRpc2FsbG93IHB1bmN0dWF0aW9uIGNoYXJhY3RlcnMgaW4gdXNlcm5hbWU8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjEuIC0gRmViIDIwMDY8L3A+DQo8cD5BZGRlZCB0aGUgYWJpbGl0eSBmb3IgdXNlcnMgdG8gcmVxdWVzdCBhbm90aGVyIHJlZ2lzdHJhdGlvbiBlbWFpbCAodXNlcyB0aGUgc2FtZSBjb2RlKSwgaW5jYXNlIHRoZXkgbG9zdCB0aGVpciBmaXJzdCBvbmUuPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC4yLiAtIEZlYiAyMDA2PC9wPg0KPHA+VGhlICZxdW90O1JlcXVpcmUgZW1haWwgY29uZmlybWF0aW9uJnF1b3Q7IGNoZWNrYm94IG5vdyB3b3Jrcy4gIFVzZXJzIGFyZSBhZGRlZCBzdHJhaWdodCB0byB0aGUgZnJvbnRlbmQgdXNlcnMgZGF0YWJhc2U8L3A+DQo8cD5GaXhlZCBhIGJ1ZyB3aXRoIHRoZSBjb25maXJtYXRpb24gZW1haWxzIGhhdmluZyBsaW5rcyB0byB0aGUgYWRtaW4gc2VjdGlvbiAobmV3IGJ1ZyBvbmx5KS48L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjMuIC0gRmViIDIwMDY8L3A+DQo8cD5BZGRlZCB0aGUgKG9wdGlvbmFsKSBhYmlsaXR5IHRvIHJlcXVpcmUgdGhlIHVzZXIgZW50ZXIgdGhlIGVtYWlsIGFkZHJlc3MgdHdpY2U8L3A+DQo8cD5GaXhlZCBhIGJ1ZyB3aXRoIHRoZSB1c2VyZWRpdGVkIG1lc3NhZ2Ugbm90IGJlaW5nIHRocm93biB0aHJvdWdoIHNtYXJ0eTwvcD4NCjxwPkZpeGVkIHRoZSBkZWZhdWx0IHJlZ2lzdHJhdGlvbiB0ZW1wbGF0ZSBhIGJpdCB0byBhaWRlIGluIHZhbGlkYXRpb24gZm9yIG5vbiByZXF1aXJlZCBmaWVsZHMgKGZpeGVkIGEgd2FybmluZyk8L3A+DQo8cD5GaXggcHJvYmxlbXMgd2l0aCBpbmxpbmUgYW5kIG5vbi1pbmxpbmUgZm9ybXMgYW5kIGxpbmtzPC9wPg0KPHA+SGFuZGxlIGFub3RoZXIgY2FzZSB3aGVyZSB0aGUgYWRtaW4gbWF5IG5vdCBoYXZlIGNyZWF0ZWQgdGhlIHByb3BlciB0eXBlIG9mIGVtYWlsIHByb3BlcnR5PC9wPg0KPHA+Q2hhbmdlZCB0byByZXF1aXJlIENNUyAwLjEyLWJldGEyIGF0IGEgbWluaW11bSAoZm9yIHNhZmV0eSBwdXJwb3Nlcyk8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjQuIC0gTWFyIDIwMDY8L3A+DQo8cD5Nb3JlIGNvbnRyb2wgb3ZlciB1c2VybmFtZSBhbmQgcGFzc3dvcmQgZmllbGQgc2l6ZXMgKGNvbnRyb2xsZWQgYnkgZmV1c2Vycyk8L3A+DQo8cD5Db25maXJtYXRpb24gb24gZWRpdGluZyBwcmVmZXJlbmNlczwvcD4NCjxwPlJlcXVpcmUgMC4xMiBwcm9wZXIgb2YgY21zIGFzIGEgbWluaW11bTwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjEuMC4gLSBEZWMgMjAwNjwvcD4NCiAgICA8cD5BZGRlZCBldmVudHMgYW5kIDEuMCBjb21wYXRpYmlsaXR5PC9wPg0KICAgIDxwPkNhcHRjaGEgc3VwcG9ydCAodGhhbmtzIERpdHRtYW4pPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMS4xLiAtIEFwciAyMDA3PC9wPg0KICAgIDxwPk5vdyByZXF1aXJlIEZFVXNlcnMgMS4yLjAgKG1pbmltdW0pPC9wPg0KICAgIDxwPlN1cHBvcnQgZm9yIG11bHRpc2VsZWN0IGxpc3RzIGluIGZldXNlcnM8L3A+DQogICAgPHA+T3V0cHV0IHNvbWUgbW9yZSBmaWVsZHMgdG8gc21hcnR5IHRvIGFsbG93IGZvciBpbmNyZWFzZWQgYWNjZXNzaWJpbGl0eTwvcD4NCiAgICA8cD5TcGxpdCBjb2RlIG91dCBpbnRvIG11bHRpcGxlIGZpbGVzIHRvIHJlZHVjZSBvdmVyYWxsIG1lbW9yeSBmb290cHJpbnQ8L3A+DQogICAgPHA+SWdub3JlIGFsbCBpbWFnZSBmaWVsZHM8L3A+DQogICAgPHA+Q2hhbmdlIENhcHRjaGEgc3VwcG9ydCB0byBiZSBvbiBieSBkZWZhdWx0IGlmIHRoZSBDYXB0Y2hhIG1vZHVsZSBpcyBmb3VuZDwvcD4NCjwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwJ10gPSAnPGgzPkh2YWQgZyZvc2xhc2g7ciBkZXR0ZSBtb2R1bD88L2gzPg0KPHA+RGV0dGUgbW9kdWwgZXIgZGVzaWduZXQgdGlsIGF0IHRpbGxhZGUgZnJvbnQgZW5kIGJydWdlcmUgYXQgcmVnaXN0cmVyZSBkZW0gc2VsdiBvZyB1ZGZ5bGRlIGRlbiBwJmFyaW5nO2tyJmFlbGlnO3ZuZSBpbmZvcm1hdGlvbi4gRGV0IHNlbmRlciBlbiBiZWtyJmFlbGlnO2Z0ZWxzZXMgZW1haWwgbWVkIGV0IGxpbmsgdGlsIGVuIGFuZGVuIHNpZGUsIGRlciBza2FsIHVkZiZvc2xhc2g7cmVzIGluZGVuIHJlZ2lzdHJlcmluZ2VuIGVyIGZ1bGRlbmR0LiBOJmFyaW5nO3IgcmVnaXN0cmVyaW5nZW4gZXIgZnVsZHRlbmR0IHZpbCBkZXIgYmxpdmVyIG9wcmV0dGV0IGVuIGJydWdlcmtvbnRvIGkgZnJvbnQgZW5kIGJydWdlciBtb2R1bGV0LjwvcD4NCjxwPkZvciBhdCBicnVnZSBkZXR0ZSBtb2R1bCBza2FsIGR1IG9wcmV0dGUgZW4gZWdlbnNrYWIgbWVkIHR5cGVuICZxdW90O0VtYWlsIEFkZHJlc3MmcXVvdDsgaSBGcm9udGVuZFVzZXJzIG1vZHVsZXQgb2cgYXNzb2NpZXJlIGRlbiBlZ2Vuc2thYiBtZWQgZ3J1cHBlbiwgZGVyIHNrYWwgYnJ1Z2VzIHRpbCBzZWx2cmVnaXN0cmVyaW5nLjwvcD4NCg0KPGgzPkh2b3JkYW4gYnJ1Z2VyIGplZyBkZXQ8L2gzPg0KPHA+RHUgcGxhY2VyZXIgZiZvc2xhc2g7bGdlbmRlIHRhZyBwJmFyaW5nOyBkaW4gc2lkZSB7Y21zX21vZHVsZSBtb2R1bGU9U2VsZlJlZ2lzdHJhdGlvbiBncm91cD11c2VyZ3JvdXB9PC9wPg0KPHA+RHUgc2thbCBpbmRlbiBkYSBoYXZlIG9wcmV0dGV0IGVnZW5za2FiZXIgb2cgYnJ1Z2VyZ3J1cHBlciBpIEZyb250RW5kVXNlcnMgbW9kdWxldCBmb3IgYXQgZGV0dGUgdmlsIHZpcmtlIGtvcnJla3QuPC9wPg0KPGgzPlBhcmFtZXRyZTwvaDM+DQo8cD48c3Ryb25nPm1vZGU8L3N0cm9uZz4mbmJzcDs8ZW0+b3B0aW9uYWw8L2VtPiAtIG11bGlnZSB2JmFlbGlnO3JkaWVyIGVyICZxdW90O3NpZ251cCZxdW90OyBvZyAmcXVvdDt2ZXJpZnkmcXVvdDsuICBIdmlzIGRldHRlIHBhcmFtZXRlciBpa2tlIGVyIHNwZWNpZmljZXJldCwgdmlsICZxdW90O3NpZ251cCZxdW90OyBibGl2ZSB2YWxndC48L3A+DQo8cD48c3Ryb25nPmdyb3VwPC9zdHJvbmc+Jm5ic3A7PGVtPm9wdGlvbmFsPC9lbT4gLSBEZXR0ZSBwYXJhbWV0ZXIgZXIgcCZhcmluZztrciZhZWxpZzt2ZXQgaHZpcyBtb2RlIGVyICZxdW90O3NpZ251cCZxdW90OyBlbGxlciBodmlzIG1vZGUgZXIgdG9tLjwvcD4NCjxwPjxzdHJvbmc+bm9jYXB0Y2hhPC9zdHJvbmc+Jm5ic3A7PGVtPm9wdGlvbmFsPC9lbT4gLSBEZXR0ZSB2aWwgc2wmYXJpbmc7IGNhcHRjaGEgZnJhIHAmYXJpbmc7IHNpZ251cCBmb3JtdWxhcmVuLiBIdmlzIENhcHRjaGEgbW9kdWxldCBlciBpbnN0YWxsZXJldCB2aWwgY2FwdGNoYSBzdXBwb3J0IHYmYWVsaWc7cmUgc3RhbmRhcmQuICBEZXR0ZSBwYXJhbWV0ZXIgc2wmYXJpbmc7ciBkZXQgZnJhLjwvcD4NCjxoMz5TdXBwb3J0PC9oMz4NCjxwPkRldHRlIG1vZHVsIGlua2x1ZGVyZXIgaWtrZSBrb21tZXJjaWVsIHN1cHBvcnQuIERlciBhbGxpZ2V2ZWwgZm9yc2tlbGxpZ2UgcmVzc291cmNlciB0aWxnJmFlbGlnO25nZWxpZ2UsIGRlciBrYW4gaGomYWVsaWc7bHBlIGRpZyBtZWQgZGV0OjwvcD4NCjx1bD4NCjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgY2FsZ3V5JiMwMzk7cw0KbW9kdWxlIGhvbWVwYWdlIGF0IDxhIGhyZWY9JnF1b3Q7aHR0cDovL3RlY2hjb20uZHluZG5zLm9yZyZxdW90Oz50ZWNoY29tLmR5bmRucy5vcmc8L2E+LjwvbGk+DQo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSZxdW90O2h0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyZxdW90Oz5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0mcXVvdDtpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMmcXVvdDs+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICANCjwvdWw+DQo8cD5BcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy4gUGxlYXNlIHJlYWQgdGhlIHRleHQNCm9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4NCg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDUsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9JnF1b3Q7bWFpbHRvOmNhbGd1eTEwMDBAaG90bWFpbC5jb20mcXVvdDs+PGNhbGd1eTEwMDBAaG90bWFpbC5jb20+PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBtb2R1bGUgaGFzIGJlZW4gcmVsZWFzZWQgdW5kZXIgdGhlIDxhIGhyZWY9JnF1b3Q7aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMJnF1b3Q7PkdOVSBQdWJsaWMgTGljZW5zZTwvYT4uIFlvdSBtdXN0IGFncmVlIHRvIHRoaXMgbGljZW5zZSBiZWZvcmUgdXNpbmcgdGhlIG1vZHVsZS48L3A+DQonOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjEwMjQyNjU4LjI2LjE1LnV0bWNjbj0ocmVmZXJyYWwpfHV0bWNzcj1mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZ3x1dG1jY3Q9L2luZGV4LnBocHx1dG1jbWQ9cmVmZXJyYWwnOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My43MjU3MzI5NDAuMTIwNTQ4OTg0Mi4xMjEwMjQyNjU4LjEyMTA5NTI1NjcuMjcnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/de_DE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2Vycm9yX2NvZGVzZG9udG1hdGNoJ10gPSAnRGVyIGVpbmdlZ2ViZW5lICZVdW1sO2JlcnByJnV1bWw7ZnVuZ3NzY2hsJnV1bWw7c3NlbCBpc3QgdW5nJnV1bWw7bHRpZyc7CiRsYW5nWydldmVudF9kZXNjcmlwdGlvbl9vbk5ld1VzZXInXSA9ICdBdXNmJnV1bWw7aHJlbiwgd2VubiBlaW4gQmVudXR6ZXIgZGFzIFJlZ2lzdHJpZXJ1bmdzZm9ybXVsYXIgdm9sbHN0JmF1bWw7bmRpZyBhdXNnZWYmdXVtbDtsbHQgaGF0JzsKJGxhbmdbJ2V2ZW50X2Rlc2NyaXB0aW9uX29uVXNlclJlZ2lzdGVyZWQnXSA9ICdBdXNmJnV1bWw7aHJlbiwgd2VubiBlaW4gQmVudXR6ZXIgc2VpbmUgRGF0ZW4gJnV1bWw7YmVycHImdXVtbDtmdCBoYXQgdW5kIGpldHp0IHZvbGxzdCZhdW1sO25kaWcgcmVnaXN0cmllcnQgaXN0JzsKJGxhbmdbJ2V2ZW50X2hlbHBfb25OZXdVc2VyJ10gPSAnPHA+QXVzZiZ1dW1sO2hyZW4sIHdlbm4gZWluIEJlbnV0emVyIGRhcyBSZWdpc3RyaWVydW5nc2Zvcm11bGFyIHZvbGxzdCZhdW1sO25kaWcgYXVzZ2VmJnV1bWw7bGx0IGhhdDwvcD4NCjxoND5QYXJhbWV0ZXI8L2g0Pg0KPHVsPg0KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gZGVyIE5hbWUgZGVzIG5ldWVuIEJlbnV0emVyczwvbGk+DQo8bGk+PGVtPmVtYWlsPC9lbT4gLSBkaWUgRW1haWxhZHJlc3NlIGRlcyBuZXVlbiBCZW51dHplcnM8L2xpPg0KPC91bD4NCic7CiRsYW5nWydldmVudF9oZWxwX29uVXNlclJlZ2lzdGVyZWQnXSA9ICc8cD5BdXNmJnV1bWw7aHJlbiwgd2VubiBlaW4gQmVudXR6ZXIgc2VpbmUgRGF0ZW4gJnV1bWw7YmVycHImdXVtbDtmdCBoYXQgdW5kIGpldHp0IHZvbGxzdCZhdW1sO25kaWcgcmVnaXN0cmllcnQgaXN0PC9wPg0KPGg0PlBhcmFtZXRlcjwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBkZXIgcmVnaXN0cmllcnRlIEJlbnV0emVybmFtZTwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2NvbmZpcm1fc3VibWl0cHJlZnMnXSA9ICdEaWUgQWRtaW5pc3RyYXRvci1FaW5zdGVsbHVuZ2VuICZhdW1sO25kZXJuPyc7CiRsYW5nWydpbmZvX2FkbWluX3Bhc3N3b3JkJ10gPSAnTGFzc2VuIFNpZSBkaWVzZXMgRmVsZCBsZWVyLCB3ZW5uIFNpZSBkYXMgYmlzaGVyaWdlIEJlbnV0emVyLVBhc3N3b3J0IGJlaWJlaGFsdGVuIG0mb3VtbDtjaHRlbi4nOwokbGFuZ1snaW5mb19hZG1pbl9yZXBlYXRwYXNzd29yZCddID0gJ0xhc3NlbiBTaWUgZGllc2VzIEZlbGQgbGVlciwgd2VubiBTaWUgZGFzIGJpc2hlcmlnZSBCZW51dHplci1QYXNzd29ydCBiZWliZWhhbHRlbiBtJm91bWw7Y2h0ZW4uJzsKJGxhbmdbJ2Vycm9yX2VtYWlsZG9lc25vdG1hdGNoJ10gPSAnRGllIEVtYWlsLUFkcmVzc2VuIHN0aW1tZW4gbmljaHQgJnV1bWw7YmVyZWluLic7CiRsYW5nWydmb3JjZV9lbWFpbF90d2ljZSddID0gJ0JlbnV0emVyIG0mdXVtbDtzc2VuIGlocmUgRW1haWxhZHJlc3NlIHp1ciBCZXN0JmF1bWw7dGlndW5nIGVpbiB6d2VpdGVzIE1hbCBlaW5nZWJlbi4nOwokbGFuZ1snYWdhaW4nXSA9ICdOb2NoIGVpbm1hbCc7CiRsYW5nWydkZWxldGVzZWx1c2VycyddID0gJ0RpZSBhdXNnZXcmYXVtbDtobHRlbiBCZW51dHplciBsJm91bWw7c2NoZW4nOwokbGFuZ1snZXJyb3Jfbm9wcm9wZGVmbnMnXSA9ICdLZWluZSBFaWdlbnNjaGFmdHNkZWZpbml0aW9uZW4gdm9yaGFuZGVuLCBvZGVyIFByb2JsZW1lIGJlaSBkZXJlbiBBYnJ1ZiBhdXMgZGVyIERhdGVuYmFuayc7CiRsYW5nWydlcnJvcl9ub2dyb3VwcyddID0gJ0tlaW5lIEJlbnV0emVyZ3J1cHBlbiB2b3JoYW5kZW4sIG9kZXIgZWluIFByb2JsZW0gYmVpbSBBdWZmaW5kZW4gZGVyIEJlbnV0emVyZ3J1cHBlbmxpc3RlJzsKJGxhbmdbJ2Vycm9yX2RiZXJyb3InXSA9ICdEYXRlbmJhbmtmZWhsZXInOwokbGFuZ1sndGl0bGVfcG9zdF9zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJ10gPSAnTmFjaGZvbGdlbmRlcyBUZW1wbGF0ZSBiZWkgdmVybG9yZW5nZWdhbmdlbmVyIEVtYWlsJzsKJGxhbmdbJ3RpdGxlX3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnXSA9ICdUZW1wbGF0ZSBiZWkgdmVybG9yZW5nZWdhbmdlbmVyIEVtYWlsJzsKJGxhbmdbJ2NsaWNraGVyZSddID0gJ0hpZXIga2xpY2tlbic7CiRsYW5nWydtc2dfc2VuZGFub3RoZXJlbWFpbCddID0gJ0ljaCBoYWJlIGRhcyBSZWdpc3RyaWVydW5nc2Zvcm11bGFyIGJlcmVpdHMgdm9sbHN0JmF1bWw7bmRpZyBhdXNnZWYmdXVtbDtsbHQsIGhhYmUgYWJlciBub2NoIGtlaW5lIEVtYWlsIGJla29tbWVuLiBLJm91bWw7bm5lbiBTaWUgbWlyIGRpZXNlIG5vY2ggZWlubWFsIHNlbmRlbj8nOwokbGFuZ1snc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSddID0gJ1RlbXBsYXRlIGJlaSB2ZXJsb3JlbmdlZ2FuZ2VuZXIgRW1haWwnOwokbGFuZ1snaW5mb191c2VydmVyaWZpZWQnXSA9ICdFaW4gbmV1ZXIgQmVudXR6ZXIgd3VyZGUgaW0gRnJvbnRlbmRVc2Vycy1Nb2R1bCBoaW56dWdlZiZ1dW1sO2d0Lic7CiRsYW5nWydlZGl0J10gPSAnQmVhcmJlaXRlbic7CiRsYW5nWyd1bmtub3duJ10gPSAnVW5iZWthbm50JzsKJGxhbmdbJ3NlbGVjdCddID0gJ0F1c3cmYXVtbDtobGVuJzsKJGxhbmdbJ2NoZWNrX2FsbCddID0gJ0FsbGUgYXVmICYjMDM5OyZVdW1sO2JlcnByJnV1bWw7ZnQmIzAzOTsgc2V0emVuJzsKJGxhbmdbJ3VuY2hlY2tfYWxsJ10gPSAnQWxsZSBhdWYgJiMwMzk7TmljaHQgJnV1bWw7YmVycHImdXVtbDtmdCYjMDM5OyBzZXR6ZW4nOwokbGFuZ1snc2VuZF9hZGp1c3RtZW50ZW1haWwnXSA9ICdFaW5lIEVtYWlsIGFuIGRlbiBCZW51dHplciBzZW5kZW4nOwokbGFuZ1sndHh0X2FkanVzdG1lbnRlbWFpbCddID0gJyhpbmZvcm1pZXJ0IGRlbiBCZW51dHplciwgZGFzcyBzZWluIEtvbnRvIGtvcnJpZ2llcnQgd3VyZGUpJzsKJGxhbmdbJ3R4dF9jaGFuZ2VwYXNzd29yZCddID0gJ1NpZSBtJnV1bWw7c3NlbiBkaWVzZSBGZWxkZXIgYXVzZiZ1dW1sO2xsZW4sIHVtIGRhcyBCZW51dHplci1QYXNzd29ydCB6dSAmYXVtbDtuZGVybi4nOwokbGFuZ1snZWRpdHVzZXInXSA9ICdCZW51dHplciBiZWFyYmVpdGVuJzsKJGxhbmdbJ2FyZXlvdXN1cmVfZGVsZXRldXNlciddID0gJ1NpbmQgU2llIHNpY2hlciwgZGFzcyBTaWUgZGllc2VuIHRlaWx3ZWlzZSByZWdpc3RyaWVydGVuIEJlbnV0emVyIGwmb3VtbDtzY2hlbiB3b2xsZW4/JzsKJGxhbmdbJ2hkcl91c2VyaWQnXSA9ICdCZW51dHplci1JRCc7CiRsYW5nWydoZHJfdXNlcm5hbWUnXSA9ICdCZW51dHplcm5hbWUnOwokbGFuZ1snaGRyX2dycG5hbWUnXSA9ICdCZW51dHplcmdydXBwZSc7CiRsYW5nWydoZHJfY3JlYXRlZCddID0gJ0Vyc3RlbGx0JzsKJGxhbmdbJ2hkcl9lbWFpbCddID0gJ0VtYWlsJzsKJGxhbmdbJ3VzZXJzZm91bmQnXSA9ICdCZW51dHplciBnZWZ1bmRlbiAoYmVzY2hyJmF1bWw7bmt0IGF1ZiBtYXhpbWFsIDI1MCBCZW51dHplcm4pJzsKJGxhbmdbJ3VzZXJzJ10gPSAnQmVudXR6ZXInOwokbGFuZ1snbGlzdDFkYXknXSA9ICdBbGxlIEVpbnRyJmF1bWw7Z2UgYXVmbGlzdGVuLCBkaWUgJmF1bWw7bHRlciBhbHMgMSBUYWcgc2luZCc7CiRsYW5nWydzdWJqZWN0J10gPSAnQmV0cmVmZiBmJnV1bWw7ciBkaWUgYXVzZ2VoZW5kZSBFbWFpbCc7CiRsYW5nWydodG1sYm9keSddID0gJ0luaGFsdCBkZXIgSFRNTC1OYWNocmljaHQnOwokbGFuZ1sndGV4dGJvZHknXSA9ICdJbmhhbHQgZGVyIFRleHQtTmFjaHJpY2h0JzsKJGxhbmdbJ3Byb21wdF9udW1yZXNldHJlY29yZCddID0gJ0FuemFobCB2b24gQmVudXR6ZXJuLCBkaWUgaWhyIHZlcmxvcmVuIGdlZ2FuZ2VuZXMgUGFzc3cmb3VtbDtydGVyIHp1ciZ1dW1sO2Nrc2V0emVuIHdvbGxlbi4gQWt0dWVsbCBzaW5kIGRpZXM6JzsKJGxhbmdbJ3JlbW92ZTF3ZWVrJ10gPSAnQWxsZSBFaW50ciZhdW1sO2dlIGVudGZlcm5lbiwgZGllICZhdW1sO2x0ZXIgYWxzIGVpbmUgV29jaGUgc2luZCc7CiRsYW5nWydyZW1vdmUxbW9udGgnXSA9ICdBbGxlIEVpbnRyJmF1bWw7Z2UgZW50ZmVybmVuLCBkaWUgJmF1bWw7bHRlciBhbHMgZWluIE1vbmF0IHNpbmQnOwokbGFuZ1sncmVtb3ZlMWRheSddID0gJ0FsbGUgRWludHImYXVtbDtnZSBlbnRmZXJuZW4sIGRpZSAmYXVtbDtsdGVyIGFscyBlaW5lbiBUYWcgc2luZCc7CiRsYW5nWydyZW1vdmVhbGwnXSA9ICdBbGxlIEVpbnRyJmF1bWw7Z2UgZW50ZmVybmVuJzsKJGxhbmdbJ2FyZXlvdXN1cmUnXSA9ICdTaW5kIFNpZSBzaWNoZXI/JzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbl9pbmZvX2VkaXRlZCddID0gJ0locmUgUmVnaXN0cmllcnVuZ3NpbmZvcm1hdGlvbiB3dXJkZSBtb2RpZml6aWVydC4nOwokbGFuZ1sncmVnaXN0cmF0aW9uX2NvbmZpcm1hdGlvbiddID0gJ1JlZ2lzdHJpZXJ1bmdzYmVzdCZhdW1sO3RpZ3VuZyc7CiRsYW5nWyd1c2VyX3JlZ2lzdHJhdGlvbiddID0gJ1JlZ2lzdHJpZXJlbic7CiRsYW5nWydmaW5hbG1lc3NhZ2VfdGVtcGxhdGUnXSA9ICdUZW1wbGF0ZSBmJnV1bWw7ciBBYnNjaGx1c3NuYWNocmljaHQnOwokbGFuZ1sndGl0bGVfdmVyaWZ5cmVnaXN0cmF0aW9uJ10gPSAnUmVnaXN0cmllcnVuZyAmdXVtbDtiZXJwciZ1dW1sO2Zlbic7CiRsYW5nWydjb2RlJ10gPSAnJlV1bWw7YmVycHImdXVtbDtmdW5nc3NjaGwmdXVtbDtzc2VsJzsKJGxhbmdbJ2RlZmF1bHQnXSA9ICdBbHMgU3RhbmRhcmQgc2V0emVuJzsKJGxhbmdbJ2Vycm9yX25vcHJvcGVydGllcyddID0gJ0tlaW5lIEVpZ2Vuc2NoYWZ0ZW4gZiZ1dW1sO3IgZGllc2VuIEJlbnV0emVyIGdlZnVuZGVuJzsKJGxhbmdbJ2Vycm9yX25vcHJvcHJlbGF0aW9ucyddID0gJ0tlaW5lIEJlemllaHVuZ2VuIHp1IGRlciBFaWdlbnNjaGFmdCc7CiRsYW5nWydlcnJvcl9lbWFpbGludmFsaWQnXSA9ICdVbmcmdXVtbDtsdGlnZSBFbWFpbGFkcmVzc2UnOwokbGFuZ1snZXJyb3Jfbm9lbWFpbGFkZHJlc3MnXSA9ICdLZWluIGcmdXVtbDtsdGlnZXMgQWRyZXNzZmVsZCBnZWZ1bmRlbic7CiRsYW5nWydlcnJvcl9yZXF1aXJlZGZpZWxkJ10gPSAnRGFzIEZlbGQgJXMgbXVzcyBhdXNnZWYmdXVtbDtsbHQgd2VyZGVuJzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbjFfdGVtcGxhdGUnXSA9ICdSZWdpc3RyaWVydW5ncy1UZW1wbGF0ZSAxJzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbjJfdGVtcGxhdGUnXSA9ICdSZWdpc3RyaWVydW5ncy1UZW1wbGF0ZSAyJzsKJGxhbmdbJ2VtYWlsY29uZmlybV90ZW1wbGF0ZSddID0gJ1RlbXBsYXRlIGYmdXVtbDtyIGRpZSBFbWFpbGJlc3QmYXVtbDt0aWd1bmcnOwokbGFuZ1snZW1haWx1c2VyZWRpdGVkX3RlbXBsYXRlJ10gPSAnVGVtcGxhdGUgZiZ1dW1sO3IgZ2UmYXVtbDtuZGVydGUgQmVudXR6ZXItSW5mb3JtYXRpb25lbic7CiRsYW5nWydwcmVmZXJlbmNlcyddID0gJ0VpbnN0ZWxsdW5nZW4nOwokbGFuZ1snZXJyb3JfdXNlcm5vdGZvdW5kJ10gPSAnQmVudXR6ZXIgbmljaHQgZ2VmdW5kZW4nOwokbGFuZ1snZXJyb3JfaW52YWxpZHVzZXJuYW1lJ10gPSAnRGVyIEJlbnV0emVyIGlzdCB1bmcmdXVtbDtsdGlnICh6dSBsYW5nLCB6dSBrdXJ6IG9kZXIgZW50aCZhdW1sO2x0IHVuZyZ1dW1sO2x0aWdlIFplaWNoZW4pLg0KPGI+SGlud2Vpczo8L2I+IEJlbnV0emVybmFtZW4gZCZ1dW1sO3JmZW4gbnVyIGFscGhhbnVtZXJpc2NoZSBaZWljaGVuIGVudGhhbHRlbiAoa2VpbmUgTGVlcnplaWNoZW4pISc7CiRsYW5nWydlcnJvcl91c2VybmFtZXRha2VuJ10gPSAnRGllc2VyIEJlbnV0emVybmFtZSBpc3QgYmVyZWl0cyB2ZXJnZWJlbiEnOwokbGFuZ1snZXJyb3JfcGFzc3dvcmRzZG9udG1hdGNoJ10gPSAnRkVITEVSOiBEaWUgUGFzc3cmb3VtbDtydGVyIHN0aW1tZW4gbmljaHQgJnV1bWw7YmVyZWluISc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFzc3dvcmQnXSA9ICdEYXMgUGFzc3dvcnQgaXN0IHVuZyZ1dW1sO2x0aWcgKFBhc3N3Jm91bWw7cnRlciBtJnV1bWw7c3NlbiAlcyBiaXMgJXMgWmVpY2hlbiBsYW5nIHNlaW4pJzsKJGxhbmdbJ2Vycm9yX2VtcHR5dXNlcm5hbWUnXSA9ICdEZXIgQmVudXR6ZXJuYW1lIGRhcmYgbmljaHQgbGVlciBnZWxhc3NlbiB3ZXJkZW4hJzsKJGxhbmdbJ3JlcGVhdHBhc3N3b3JkJ10gPSAnUGFzc3dvcnQgKG5vY2ggZWlubWFsKSc7CiRsYW5nWydwYXNzd29yZCddID0gJ1Bhc3N3b3J0JzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAnQmVudXR6ZXJuYW1lJzsKJGxhbmdbJ2NhcHRjaGFfdGl0bGUnXSA9ICdCaXR0ZSBnZWJlbiBTaWUgZGVuIFRleHQgYXVzIGRlbSBCaWxkIGVpbic7CiRsYW5nWydlcnJvcl9pbnN1ZmZpY2llbnRwYXJhbXMnXSA9ICdEYXMgTW9kdWwgd3VyZGUgbWl0IHVudm9sbHN0JmF1bWw7bmRpZ2VuIChvZGVyIGZhbHNjaGVuKSBQYXJhbWV0ZXJuIGF1ZmdlcnVmZW4hJzsKJGxhbmdbJ2Vycm9yX25vZmV1c2Vyc21vZHVsZSddID0gJ0tvbm50ZSBrZWluZSBWZXJiaW5kdW5nIHp1bSBGcm9udEVuZFVzZXJzLU1vZHVsIGhlcnN0ZWxsZW4hJzsKJGxhbmdbJ2Vycm9yX25vc3VjaGdyb3VwJ10gPSAnRGllc2VyIEdydXBwZW5uYW1lIGV4aXN0aWVydCBuaWNodCEnOwokbGFuZ1snZXJyb3JfY2FwdGNoYW1pc21hdGNoJ10gPSAnRGVyIGF1cyBkZW0gQmlsZCBlaW5nZWdlYmVuZSBUZXh0IHdhciBmYWxzY2gnOwokbGFuZ1snc2VuZF9lbWFpbHNfdG8nXSA9ICdEaWUgUmVnaXN0cmllcnVuZ3NlbWFpbHMgc29sbGVuIHZlcnNhbmR0IHdlcmRlbiBhbic7CiRsYW5nWydyZXF1aXJlX2VtYWlsX2NvbmZpcm1hdGlvbiddID0gJ0VyZm9yZGVydCwgZGFzcyBkZXIgQmVudXR6ZXIgZGllIFJlZ2lzdHJpZXJ1bmcgcGVyIEVtYWlsIGJlc3QmYXVtbDt0aWd0JzsKJGxhbmdbJ25vdGlmeV9vbl9yZWdpc3RyYXRpb24nXSA9ICdCZW5hY2hyaWNodGlndW5nc2VtYWlsIHZlcnNlbmRlbiwgd2VubiBzaWNoIGplbWFuZCByZWdpc3RyaWVydCc7CiRsYW5nWydjYW5jZWwnXSA9ICdBYmJyZWNoZW4nOwokbGFuZ1snc3VibWl0J10gPSAnQWJzZW5kZW4nOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnU2VsZlJlZ2lzdHJhdGlvbi1Nb2R1bCc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0RpZSBJbnN0YWxsYXRpb24gd2FyIGVyZm9sZ3JlaWNoLiBCaXR0ZSBkZW5rZW4gU2llIGRhcmFuLCBkaWUgQmVyZWNodGlndW5nICYjMDM5O01vZGlmeSBTZWxmUmVnaXN0cmF0aW9uIFNldHRpbmdzJiMwMzk7IHp1IHNldHplbi4gV2VubiBkYXMgQ2FwdGNoYS1Nb2R1bCBpbnN0YWxsaWVydCBpc3QsIHN0ZWh0IElobmVuIGRpZSBDYXB0Y2hhLUZ1bmt0aW9uYWxpdCZhdW1sO3Qgc3RhbmRhcmRtJmF1bWw7JnN6bGlnO2lnIHp1ciBWZXJmJnV1bWw7Z3VuZy4gRXMgd2lyZCBkcmluZ2VuZCBlbXBmb2hsZW4sIGRpZXNlcyBNb2R1bHMgenUgdmVyd2VuZGVuLCB1bSBTcGFtIHp1IHZlcm1laWRlbi4gV2VubiBkYXMgQ2FwdGNoYS1Nb2R1bCBpbnN0YWxsaWVydCBpc3QgdW5kIFNpZSBlcyBhYmVyIG5pY2h0IHZlcndlbmRlbiBtJm91bWw7Y2h0ZW4sIG0mdXVtbDtzc2VuIFNpZSBTZWxmUmVnaXN0cmF0aW9uIG1pdCBkZW0gUGFyYW1ldGVyIG5vY2FwdGNoYSBhdWZydWZlbi4nOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ0RhcyBTZWxmUmVnaXN0cmF0aW9uLU1vZHVsIHd1cmRlIGVyZm9sZ3JlaWNoIGRlaW5zdGFsbGllcnQuJzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTW9kdWwgZGVpbnN0YWxsaWVydC4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWx2ZXJzaW9uICVzIGluc3RhbGxpZXJ0Lic7CiRsYW5nWydwcmVmc3VwZGF0ZWQnXSA9ICdNb2R1bGVpbnN0ZWxsdW5nZW4gYWt0dWFsaXNpZXJ0Lic7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdadWdyaWZmIHZlcndlaWdlcnQuIEJpdHRlIHByJnV1bWw7ZmVuIFNpZSBJaHJlIEJlcmVjaHRpZ3VuZ2VuLic7CiRsYW5nWydlcnJvciddID0gJ0ZlaGxlciEnOwokbGFuZ1sndXBncmFkZWQnXSA9ICdNb2R1bCBhdWYgVmVyc2lvbiAlcyBha3R1YWxpc2llcnQuJzsKJGxhbmdbJ3RpdGxlX21vZF9wcmVmcyddID0gJ01vZHVsZWluc3RlbGx1bmdlbic7CiRsYW5nWyd0aXRsZV9tb2RfYWRtaW4nXSA9ICdNb2R1bGFkbWluaXN0cmF0aW9uJzsKJGxhbmdbJ3RpdGxlX2FkbWluX3BhbmVsJ10gPSAnU2VsZlJlZ2lzdHJhdGlvbi1Nb2R1bCc7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ0VpbiBNb2R1bCwgbWl0IGRlbSBzaWNoIEZyb250RW5kLVVzZXIgc2VsYnN0IHJlZ2lzdHJpZXJlbiBrJm91bWw7bm5lbi4nOwokbGFuZ1snd2VsY29tZV90ZXh0J10gPSAnPHA+V2lsbGtvbW1lbiBiZWltIFNlbGZSZWdpc3RyYXRpb24tTW9kdWwuPC9wPic7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8dWw+DQo8bGk+VmVyc2lvbiAwLjAuMS4gT2N0IDIwMDUuIEluaXRpYWwgTlJQVCAoTm90IFJlYWR5IGZvciBQcmltZSBUaW1lKSByZWxlYXNlLjwvbGk+DQo8bGk+VmVyc2lvbiAwLjEuMC4gT2N0IDIwMDUuIEluaXRpYWwgcmVsZWFzZS48L2xpPg0KPGxpPlZlcnNpb24gMC4xLjEuIE9jdCAyMDA1LiBTZXQgdGhlIEhUTUwgbWFpbCBmbGFnLjwvbGk+DQo8bGk+VmVyc2lvbiAwLjEuMi4gT2N0IDIwMDUuIE1vdmVkIFJhbmRvbSBzdHVmZiBpbnRvIGZldXNlcnMsIGFuZCBhZGRlZCB0aGUgYWJpbGl0eSB0byBkZWxldGUgb2xkIGVudHJpZXMgZnJvbSB0aGUgcmVnaXN0cmF0aW9uIHRlbXBvcmFyeSB0YWJsZXM8L2xpPg0KPGxpPjxwPlZlcnNpb24gMC4xLjMuIC0gRGVjIDIwMDU8L3A+DQo8cD5GaXhlZCB0aGUgdG9nZ2xlcyBpbiB0aGUgYWRtaW4gcHJlZmVyZW5jZXMuICBBbHNvLCBjaGFuZ2VkIHRoZSBwZXJtaXNzaW9ucyBtb2RlbCB0byBub3QgcmVxdWlyZSB0aGUgdW5pcXVlIHBlcm1pc3Npb24gYWRkZWQgcHJldmlvdXNseSBmb3IgdGhlIHNlbGZyZWcgbW9kdWxlLjwvcD4NCjxwPlRoaXMgcmVsZWFzZSB3YXMgcmVtb3ZlZCBkdWUgdG8gcG9zc2libGUgZXJyb3JzPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDAuMS40LiAtIEphbiAyMDA2PC9wPg0KPHA+Rml4ZWQgbWlub3IgZXJyb3JzIHdpdGggQ2hlY2tQZXJtaXNzaW9uLCByZXBsYWNlZCBhbGwgYXNzaWduX2J5X3JlZnNcJiMwMzk7cyB3aXRoIGFzc2lnbnMgZm9yIGhvcGVmdWwgcGhwNSBjb21wYXRpYmlsaXR5LjwvcD4NCjxsaT48cD5WZXJzaW9uIDAuMS41LiAtIEphbiAyMDA2PC9wPg0KPHA+QWRkZWQgdGhlIGFiaWxpdHkgdG8gc2V0IHRoZSBzdWJqZWN0IG9mIHRoZSBjb25maXJtYXRpb24gZW1haWwsIGFuZCBhZGRlZCB0aGUgYWJpbGl0eSB0byBzcGVjaWZ5IGEgdGV4dCBib2R5LiAgU3ViamVjdCwgYW5kIHRleHQgYm9keSBhcmUgcmVxdWlyZWQuPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC4wLiAtIEZlYiAyMDA2PC9wPg0KPHA+Rml4ZWQgYSBwcm9ibGVtIHdpdGggdGhlIHZlcmlmeSBtb2RlLjwvcD4NCjxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIGVkaXQgYW5kIGRlbGV0ZSB1c2Vycy4gd2l0aCBzZWxlY3Rpb24gb24gdGhlIGNoZWNrYm94ZXMsIGFuZCBcJnF1b3Q7Y2hlY2thbGxcJnF1b3Q7PC9wPg0KPHA+Tm93IHJlcXVpcmUgRkVVc2VycyAwLjEuOCBhbmQgQ01TTWFpbGVyIDEuNzMuOTwvcD4NCjxwPkFkZGVkIGFub3RoZXIgdGFiIGZvciB0aGUgXCZxdW90O3lvdXIgc2V0dGluZ3MgaGF2ZSBiZWVuIGFkanVzdGVkXCZxdW90OyBlbWFpbCB0ZW1wbGF0ZXM8L3A+DQo8cD5BZGRlZCBDU1YgRXhwb3J0aW5nPC9wPg0KPHA+QWRkZWQgYSBcJnF1b3Q7RGVsZXRlIGFsbCB1c2VycyBvbGRlciB0aGFuIGEgZGF5XCZxdW90OyBidXR0b248L3A+DQo8cD5Ob3cgd29ya3Mgd2l0aCB0aGUgbWF4aW11bSBsZW5ndGggZmllbGQgb2YgRkVVc2VyczwvcD4NCjxwPkFkZGVkIHN1cHBvcnQgZm9yIGRyb3Bkb3ducyBhbmQgdGV4dCBhcmVhczwvcD4NCjxwPkRpc2FsbG93IHB1bmN0dWF0aW9uIGNoYXJhY3RlcnMgaW4gdXNlcm5hbWU8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjEuIC0gRmViIDIwMDY8L3A+DQo8cD5BZGRlZCB0aGUgYWJpbGl0eSBmb3IgdXNlcnMgdG8gcmVxdWVzdCBhbm90aGVyIHJlZ2lzdHJhdGlvbiBlbWFpbCAodXNlcyB0aGUgc2FtZSBjb2RlKSwgaW5jYXNlIHRoZXkgbG9zdCB0aGVpciBmaXJzdCBvbmUuPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC4yLiAtIEZlYiAyMDA2PC9wPg0KPHA+VGhlIFwmcXVvdDtSZXF1aXJlIGVtYWlsIGNvbmZpcm1hdGlvblwmcXVvdDsgY2hlY2tib3ggbm93IHdvcmtzLiAgVXNlcnMgYXJlIGFkZGVkIHN0cmFpZ2h0IHRvIHRoZSBmcm9udGVuZCB1c2VycyBkYXRhYmFzZTwvcD4NCjxwPkZpeGVkIGEgYnVnIHdpdGggdGhlIGNvbmZpcm1hdGlvbiBlbWFpbHMgaGF2aW5nIGxpbmtzIHRvIHRoZSBhZG1pbiBzZWN0aW9uIChuZXcgYnVnIG9ubHkpLjwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjAuMy4gLSBGZWIgMjAwNjwvcD4NCjxwPkFkZGVkIHRoZSAob3B0aW9uYWwpIGFiaWxpdHkgdG8gcmVxdWlyZSB0aGUgdXNlciBlbnRlciB0aGUgZW1haWwgYWRkcmVzcyB0d2ljZTwvcD4NCjxwPkZpeGVkIGEgYnVnIHdpdGggdGhlIHVzZXJlZGl0ZWQgbWVzc2FnZSBub3QgYmVpbmcgdGhyb3duIHRocm91Z2ggc21hcnR5PC9wPg0KPHA+Rml4ZWQgdGhlIGRlZmF1bHQgcmVnaXN0cmF0aW9uIHRlbXBsYXRlIGEgYml0IHRvIGFpZGUgaW4gdmFsaWRhdGlvbiBmb3Igbm9uIHJlcXVpcmVkIGZpZWxkcyAoZml4ZWQgYSB3YXJuaW5nKTwvcD4NCjxwPkZpeCBwcm9ibGVtcyB3aXRoIGlubGluZSBhbmQgbm9uLWlubGluZSBmb3JtcyBhbmQgbGlua3M8L3A+DQo8cD5IYW5kbGUgYW5vdGhlciBjYXNlIHdoZXJlIHRoZSBhZG1pbiBtYXkgbm90IGhhdmUgY3JlYXRlZCB0aGUgcHJvcGVyIHR5cGUgb2YgZW1haWwgcHJvcGVydHk8L3A+DQo8cD5DaGFuZ2VkIHRvIHJlcXVpcmUgQ01TIDAuMTItYmV0YTIgYXQgYSBtaW5pbXVtIChmb3Igc2FmZXR5IHB1cnBvc2VzKTwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjAuNC4gLSBNYXIgMjAwNjwvcD4NCjxwPk1vcmUgY29udHJvbCBvdmVyIHVzZXJuYW1lIGFuZCBwYXNzd29yZCBmaWVsZCBzaXplcyAoY29udHJvbGxlZCBieSBmZXVzZXJzKTwvcD4NCjxwPkNvbmZpcm1hdGlvbiBvbiBlZGl0aW5nIHByZWZlcmVuY2VzPC9wPg0KPHA+UmVxdWlyZSAwLjEyIHByb3BlciBvZiBjbXMgYXMgYSBtaW5pbXVtPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMS4wLiAtIERlYyAyMDA2PC9wPg0KICAgIDxwPkFkZGVkIGV2ZW50cyBhbmQgMS4wIGNvbXBhdGliaWxpdHk8L3A+DQogICAgPHA+Q2FwdGNoYSBzdXBwb3J0ICh0aGFua3MgRGl0dG1hbik8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4xLjEuPC9wPg0KICAgIDxwPk5vdyByZXF1aXJlIEZFVXNlcnMgMS4xLjMgKG1pbmltdW0pPC9wPg0KICAgIDxwPlN1cHBvcnQgZm9yIG11bHRpc2VsZWN0IGxpc3RzIGluIGZldXNlcnM8L3A+DQogICAgPHA+T3V0cHV0IHNvbWUgbW9yZSBmaWVsZHMgdG8gc21hcnR5IHRvIGFsbG93IGZvciBpbmNyZWFzZWQgYWNjZXNzaWJpbGl0eTwvcD4NCiAgICA8cD5TcGxpdCBjb2RlIG91dCBpbnRvIG11bHRpcGxlIGZpbGVzIHRvIHJlZHVjZSBvdmVyYWxsIG1lbW9yeSBmb290cHJpbnQ8L3A+DQogICAgPHA+SWdub3JlIGFsbCBpbWFnZSBmaWVsZHM8L3A+DQogICAgPHA+Q2hhbmdlIENhcHRjaGEgc3VwcG9ydCB0byBiZSBvbiBieSBkZWZhdWx0IGlmIHRoZSBDYXB0Y2hhIG1vZHVsZSBpcyBmb3VuZDwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjEuMS4gLSBBcHIgMjAwNzwvcD4NCiAgICA8cD5Ob3cgcmVxdWlyZSBGRVVzZXJzIDEuMi4wIChtaW5pbXVtKTwvcD4NCiAgICA8cD5TdXBwb3J0IGZvciBtdWx0aXNlbGVjdCBsaXN0cyBpbiBmZXVzZXJzPC9wPg0KICAgIDxwPk91dHB1dCBzb21lIG1vcmUgZmllbGRzIHRvIHNtYXJ0eSB0byBhbGxvdyBmb3IgaW5jcmVhc2VkIGFjY2Vzc2liaWxpdHk8L3A+DQogICAgPHA+U3BsaXQgY29kZSBvdXQgaW50byBtdWx0aXBsZSBmaWxlcyB0byByZWR1Y2Ugb3ZlcmFsbCBtZW1vcnkgZm9vdHByaW50PC9wPg0KICAgIDxwPklnbm9yZSBhbGwgaW1hZ2UgZmllbGRzPC9wPg0KICAgIDxwPkNoYW5nZSBDYXB0Y2hhIHN1cHBvcnQgdG8gYmUgb24gYnkgZGVmYXVsdCBpZiB0aGUgQ2FwdGNoYSBtb2R1bGUgaXMgZm91bmQ8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4xLjIuIC0gTm92IDIwMDc8L3A+DQogICAgPHA+Rml4IHRoZSBwcm9ibGVtIHdpdGggdGhlIFVzZXJEaXNwbGF5TG9zdFJlZ0VtYWlsRm9ybSB0aGluZzwvcD4NCiAgICA8cD5BZGRzIHRoZSBpZCB0byB0aGUgb25Vc2VyUmVnaXN0ZXJlZCBFdmVudDwvcD4NCiAgICA8cD5GaXhlcyB0aGUgcHJvYmxlbSB3aXRoIGNoZWNrYm94IHByb3BlcnRpZXMgbm90IHdvcmtpbmc8L3A+DQogICAgPHA+Tm93IFJlcXVpcmVzIENNUyAxLjIgbWluaW11bTwvcD4NCiAgICA8cD5Zb3UgY2FuIG5vdyB1c2Uge1NlbGZSZWdpc3RyYXRpb24gZ3JvdXA9JiMwMzk7YmxhaCYjMDM5O308L3A+DQogICAgPHA+Tm93IFJlcXVpcmVzIENNUyAxLjMgbWluaW11bS48L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4xLjMuIC0gTm92IDIwMDc8L3A+DQogICAgPHA+Rml4ZXMgaXNzdWUgd2l0aCBTTVRQIEVtYWlsIGFkZHJlc3MgdmFsaWRhdGlvbjwvcD4NCiAgICA8cD5Ob3cgUmVxdWlyZSBGRVUgMS4zLjE8L3A+DQo8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscCddID0gJzxoMz5XYXMgbWFjaHQgZGllc2VzIE1vZHVsPzwvaDM+DQo8cD5NaXQgZGllc2VtIE1vZHVsIGsmb3VtbDtubmVuIEJlbnV0emVyIHNpY2ggc2VsYnN0IHJlZ2lzdHJpZXJlbiB1bmQgZGllIG5vdHdlbmRpZ2VuIEluZm9ybWF0aW9uZW4gZWluZ2ViZW4uIERhbmFjaCB3aXJkIGVpbmUgQmVzdCZhdW1sO3RpZ3VuZ3NlbWFpbCBtaXQgZWluZW0gTGluayB6dSBlaW5lciB6d2VpdGVuIFNlaXRlIHZlcnNhbmR0LCB1bSBkaWUgUmVnaXN0cmllcnVuZyB6dSB2ZXJ2b2xsc3QmYXVtbDtuZGlnZW4uIE5hY2ggZGVtIGVyZm9sZ3JlaWNoZW4gQWJzY2hsdXNzIHdpcmQgaW0gRnJvbnRlbmRVc2Vycy1Nb2R1bCBlaW4gbmV1ZXMgQmVudXR6ZXItS29udG8gZXJzdGVsbHQuPC9wPg0KPHA+VW0gZGllc2VzIE1vZHVsIHp1IHZlcndlbmRlbiwgbSZ1dW1sO3NzZW4gU2llIGltIEZyb250ZW5kVXNlci1Nb2R1bCBlaW5lIEVpZ2Vuc2NoYWZ0IHZvbSBUeXAgJiMwMzk7RW1haWwtQWRyZXNzZSYjMDM5OyBlcnN0ZWxsZW4gdW5kIGRpZXNlIEVpZ2Vuc2NoYWZ0IGRhbm4gbWl0IGRlciBHcnVwcGUgdmVyYmluZGVuLCBkaWUgZiZ1dW1sO3IgU2VsYnN0cmVnaXN0cmllcnVuZ2VuIGVpbmdlc2V0enQgd2VyZGVuIHNvbGwuPC9wPg0KPGgzPldpZSB3aXJkIGVzIGVpbmdlc2V0enQgPzwvaDM+DQo8cD5GJnV1bWw7Z2VuIFNpZSBkZW4gVGFnIHtjbXNfbW9kdWxlIG1vZHVsZT1TZWxmUmVnaXN0cmF0aW9uIGdyb3VwPXVzZXJncm91cH0gaW4gSWhyZSBTZWl0ZSBlaW4uPC9wPg0KPHA+RGFtaXQgZGFzIE1vZHVsIGZ1bmt0aW9uaWVydCwgbSZ1dW1sO3NzZW4gU2llIGplZG9jaCB6dXZvciBkaWUgQmVudXR6ZXJncnVwcGVuIHVuZCBkZXJlbiBFaWdlbnNjaGFmdGVuIGltIEZyb250ZW5kVXNlcnMtTW9kdWwgZXJzdGVsbHQgaGFiZW4uPC9wPg0KPGgzPlBhcmFtZXRlcjwvaDM+DQo8cD48c3Ryb25nPm1vZGU8L3N0cm9uZz4mbmJzcDs8ZW0+b3B0aW9uYWw8L2VtPiAtIG0mb3VtbDtnbGljaGUgV2VydGUgc2luZCAmIzAzOTtzaWdudXAmIzAzOTsgdW5kICYjMDM5O3ZlcmlmeSYjMDM5Oy4gIFdlbm4gZGllc2VyIFBhcmFtZXRlciBuaWNodCBnZXNldHp0IHd1cmRlLCBpc3QgJiMwMzk7c2lnbnVwJiMwMzk7IGRlciBTdGFuZGFyZC48L3A+DQo8cD48c3Ryb25nPmdyb3VwPC9zdHJvbmc+Jm5ic3A7PGVtPm9wdGlvbmFsPC9lbT4gLSBEaWVzZXIgUGFyYW1ldGVyIGlzdCBlcmZvcmRlcmxpY2gsIHdlbm4gZGVyIE1vZHVzICYjMDM5O3NpZ251cCYjMDM5OyBpc3Qgb2RlciBuaWNodCBnZXNldHp0IHd1cmRlLjwvcD4NCjxwPjxzdHJvbmc+bm9jYXB0Y2hhPC9zdHJvbmc+Jm5ic3A7PGVtPm9wdGlvbmFsPC9lbT4gLSBEaWVzZXIgUGFyYW1ldGVyIGRlYWt0aXZpZXJ0IGRpZSBDYXB0Y2hhLUZ1bmt0aW9uYWxpdCZhdW1sO3QgaW0gUmVnaXN0cmllcnVuZ3Nmb3JtdWxhci4gV2VubiBkYXMgQ2FwdGNoYS1Nb2R1bCBpbnN0YWxsaWVydCBpc3QsIHdpcmQgZGllc2UgRnVua3Rpb25hbGl0JmF1bWw7dCBhdXRvbWF0aXNjaCB2ZXJ3ZW5kZXQuPC9wPg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+RGllc2VzIE1vZHVsIGJlaW5oYWx0ZXQga2VpbmVuIGtvbW1lcnppZWxsZW4gU3VwcG9ydC4gU2llIGsmb3VtbDtubmVuIGplZG9jaCAmdXVtbDtiZXIgZm9sZ2VuZGUgTSZvdW1sO2dsaWNoa2VpdGVuIEhpbGZlIHp1IGRlbSBNb2R1bCBlcmhhbHRlbjo8L3A+DQo8dWw+DQo8bGk+RiZ1dW1sO3IgZGllIGxldHp0ZSBWZXJzaW9uIGRpZXNlcyBNb2R1bHMsIEZBUXMsIGRlbSBWZXJzYW5kIGVpbmVzIEZlaGxlcnJlcG9ydHMgb2RlciBkZW0gS2F1ZiBrb21tZXJ6aWVsbGVuIFN1cHBvcnQgYmVzdWNoZW4gU2llIGJpdHRlIGNhbGd1eXMgDQpIb21lcGFnZSB1bnRlciA8YSBocmVmPSZxdW90O2h0dHA6Ly90ZWNoY29tLmR5bmRucy5vcmcmcXVvdDs+dGVjaGNvbS5keW5kbnMub3JnPC9hPi48L2xpPg0KPGxpPkVpbmUgd2VpdGVyZSBEaXNrdXNzaW9uIHp1IGRpZXNlbSBNb2R1bCBpc3QgYXVjaCBpbiBkZW4gRm9yZW4gdm9uIDxhIGhyZWY9JnF1b3Q7aHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnJnF1b3Q7PkNNUyBNYWRlIFNpbXBsZTwvYT4genUgZmluZGVuLjwvbGk+DQo8bGk+RGVyIEF1dG9yIGNhbGd1eTEwMDAsIGlzdCBoJmF1bWw7dWZpZyBpbSA8YSBocmVmPSZxdW90O2lyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyZxdW90Oz5DTVMgSVJDIENoYW5uZWw8L2E+IHp1IGZpbmRlbi48L2xpPg0KPGxpPkxldHp0bGljaCBrJm91bWw7bm5lbiBTaWUgZGVuIEF1dG9yIGF1Y2ggZGlyZWt0IHBlciBFbWFpbCBrb250YWt0aWVyZW4uPC9saT4gICAgDQo8L3VsPg0KPHA+TmFjaCBkZXIgR1BMIHdpcmQgZGllc2UgU29mdHdhcmUgc28gdmVyJm91bWw7ZmZlbnRsaWNodCwgd2llIHNpZSBpc3QuIEJpdHRlIGxlc2VuIFNpZSBkZW4NCiBMaXplbnp0ZXh0IGYmdXVtbDtyIGRlbiB2b2xsZW4gSGFmdHVuZ3NhdXNzY2hsdXNzLjwvcD4NCg0KPGgzPkNvcHlyaWdodCB1bmQgTGl6ZW56PC9oMz4NCjxwPkNvcHlyaWdodCAmY29weTsgMjAwNSwgUm9iZXJ0IENhbXBiZWxsIDxhIGhyZWY9JnF1b3Q7bWFpbHRvOmNhbGd1eTEwMDBAaG90bWFpbC5jb20mcXVvdDs+PGNhbGd1eTEwMDBAaG90bWFpbC5jb20+PC9hPi4gQWxsZSBSZWNodGUgdm9yYmVoYWx0ZW4uPC9wPg0KPHA+RGllc2VzIE1vZHVsIHd1cmRlIHVudGVyIGRlciA8YSBocmVmPSZxdW90O2h0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCZxdW90Oz5HTlUgUHVibGljIExpY2Vuc2U8L2E+IHZlciZvdW1sO2ZmZW50bGljaHQuIFNpZSBtJnV1bWw7c3NlbiBkaWVzZXIgTGl6ZW56IHp1c3RpbW1lbiwgYmV2b3IgU2llIGRhcyBNb2R1bCB2ZXJ3ZW5kZW4uPC9wPic7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjcxNzQ2MjczNi4xMTQ3NTExODU2LjExOTUzMDE1MTkuMTE5NTM4MTI4Mi4yNTMnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMTk0Mjg0NzE1LjI0NS4xMTQudXRtY2NuPShyZWZlcnJhbCl8dXRtY3NyPWdvb2dsZS5kZXx1dG1jY3Q9L2lnfHV0bWNtZD1yZWZlcnJhbCc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/es_ES.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ3VzZV9pbmxpbmVfZm9ybXMnXSA9ICdVc2FyIEZvcm11bGFyaW9zIGVuIEwmaWFjdXRlO25lYSA8ZW0+KHNhbGlkYXMgcG9yIGZvcm11bGFyaW8gcmVlbXBsYXphbiBhIGxhIGV0aXF1ZXRhIGRlbCBtJm9hY3V0ZTtkdWxvLCBubyB0b2RvIGVsIGNvbnRlbmlkbyk8L2VtPic7CiRsYW5nWydlcnJvcl9jb2Rlc2RvbnRtYXRjaCddID0gJ0VsIGMmb2FjdXRlO2RpZ28gZGUgdmFsaWRhY2kmb2FjdXRlO24gcHJvdmlzdG8gZXMgaW52JmFhY3V0ZTtsaWRvJzsKJGxhbmdbJ2V2ZW50X2Rlc2NyaXB0aW9uX29uTmV3VXNlciddID0gJ1VuIGV2ZW50byBpbmRpY2FuZG8gcXVlIHVuIG51ZXZvIHVzdWFyaW8gaGEgY29tcGxldGFkbyBlbCBmb3JtdWxhcmlvIGRlIHJlZ2lzdHJvJzsKJGxhbmdbJ2V2ZW50X2Rlc2NyaXB0aW9uX29uVXNlclJlZ2lzdGVyZWQnXSA9ICdVbiBldmVudG8gaW5kaWNhbmRvIHF1ZSB1biB1c3VhcmlvIGhhIHZlcmlmaWNhZG8gc3UgaW5mb3JtYWNpJm9hY3V0ZTtuIHkgZXN0JmFhY3V0ZTsgYWhvcmEgY29tcGxldGFtZW50ZSByZWdpc3RyYWRvJzsKJGxhbmdbJ2V2ZW50X2hlbHBfb25OZXdVc2VyJ10gPSAnPHA+VW4gZXZlbnRvIGluZGljYW5kbyBxdWUgdW4gbnVldm8gdXN1YXJpbyBoYSBjb21wbGV0YWRvIGVsIGZvcm11bGFyaW8gZGUgcmVnaXN0cm88L3A+DQo8aDQ+UGFyJmFhY3V0ZTttZXRyb3M8L2g0Pg0KPHVsPg0KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gRWwgbm9tYnJlIGRlIHVzdWFyaW8gc2VsZWNjaW9uYWRvIHBhcmEgZWwgbnVldm8gdXN1YXJpbzwvbGk+DQo8bGk+PGVtPmVtYWlsPC9lbT4gLSBMYSBkaXJlY2NpJm9hY3V0ZTtuIGVtYWlsIGRlbCBudWV2byB1c3VhcmlvPC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRfaGVscF9vblVzZXJSZWdpc3RlcmVkJ10gPSAnPHA+VW4gZXZlbnRvIGluZGljYW5kbyBxdWUgdW4gdXN1YXJpbyBoYSB2ZXJpZmljYWRvIHN1IGluZm9ybWFjaSZvYWN1dGU7biB5IGVzdCZhYWN1dGU7IGFob3JhIGNvbXBsZXRhbWVudGUgcmVnaXN0cmFkbzwvcD4NCjxoND5QYXImYWFjdXRlO21ldHJvczwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBFbCBub21icmUgZGUgdXN1YXJpbyByZWdpc3RyYWRvPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIEVsIHVpZCBkZWwgbnVldm8gdXN1YXJpbzwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2NvbmZpcm1fc3VibWl0cHJlZnMnXSA9ICcmaXF1ZXN0O0NhbWJpYXIgcHJlZmVyZW5jaWFzIGRlIGFkbWluaXN0cmFjaSZvYWN1dGU7bj8nOwokbGFuZ1snaW5mb19hZG1pbl9wYXNzd29yZCddID0gJ0RlamFyIGVzdGUgY2FtcG8gdmFjJmlhY3V0ZTtvIHNpIG5vIHF1aWVyZSBjYW1iaWFyIGxhIGNvbnRyYXNlJm50aWxkZTthJzsKJGxhbmdbJ2luZm9fYWRtaW5fcmVwZWF0cGFzc3dvcmQnXSA9ICdEZWphciBlc3RlIGNhbXBvIHZhYyZpYWN1dGU7byBzaSBubyBxdWllcmUgY2FtYmlhciBsYSBjb250cmFzZSZudGlsZGU7YSBkZWwgdXN1YXJpbyc7CiRsYW5nWydlcnJvcl9lbWFpbGRvZXNub3RtYXRjaCddID0gJ0xhcyBkaXJlY2Npb25lcyBlbWFpbCBubyBzb24gY29pbmNpZGVudGVzJzsKJGxhbmdbJ2ZvcmNlX2VtYWlsX3R3aWNlJ10gPSAnU2UgcmVxdWllcmUgcXVlIGVsIHVzdWFyaW8gaW5ncmVzZSBzdSBlbWFpbCBkb3MgdmVjZXMnOwokbGFuZ1snYWdhaW4nXSA9ICdvdHJhIHZleic7CiRsYW5nWydkZWxldGVzZWx1c2VycyddID0gJ0VsaW1pbmFyIFVzdWFyaW9zIFNlbGVjY2lvbmFkb3MnOwokbGFuZ1snZXJyb3Jfbm9wcm9wZGVmbnMnXSA9ICdObyBoYXkgcHJvcGllZGFkZXMgZGVmaW5pZGFzLCBvIGhheSBwcm9ibGVtYXMgcGFyYSBvYnRlbmVybGFzIGRlIGxhIGJhc2UgZGUgZGF0b3MnOwokbGFuZ1snZXJyb3Jfbm9ncm91cHMnXSA9ICdObyBoYXkgZ3J1cG9zLCBvIGhheSBwcm9ibGVtYXMgcGFyYSBvYnRlbmVyIGxhIGxpc3RhIGRlIGdydXBvcyc7CiRsYW5nWydlcnJvcl9kYmVycm9yJ10gPSAnRXJyb3IgZGUgbGEgQmFzZSBkZSBEYXRvcyc7CiRsYW5nWyd0aXRsZV9wb3N0X3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnXSA9ICdQbGFudGlsbGEgZGUgSW5ncmVzbyBkZSBFbWFpbCBQZXJkaWRvJzsKJGxhbmdbJ3RpdGxlX3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnXSA9ICdQbGFudGlsbGEgZGUgRW1haWwgUGVyZGlkbyc7CiRsYW5nWydjbGlja2hlcmUnXSA9ICdIYWNlciBDbGljayBBcXUmaWFjdXRlOyc7CiRsYW5nWydtc2dfc2VuZGFub3RoZXJlbWFpbCddID0gJ1lhIGhlIGNvbXBsZXRhZG8gZWwgZm9ybXVsYXJpbyBkZSByZWdpc3RybywgcGVybyBubyBoZSByZWNpYmlkbyB1biBlbWFpbCwgcHVlZGVuIHVzdGVkZXMgcmUtZW52aWFyIGFsIG1pc21vJzsKJGxhbmdbJ3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnXSA9ICdQbGFudGlsbGEgZGUgRW1haWwgUGVyZGlkbyc7CiRsYW5nWydpbmZvX3VzZXJ2ZXJpZmllZCddID0gJ1NlIGhhIGFncmVnYWRvIHVuIG51ZXZvIHVzdWFyaW8gYWwgUG9ydGFsJzsKJGxhbmdbJ2VkaXQnXSA9ICdFZGl0YXInOwokbGFuZ1sndW5rbm93biddID0gJ0Rlc2Nvbm9jaWRvJzsKJGxhbmdbJ3NlbGVjdCddID0gJ1NlbGVjY2lvbmFyJzsKJGxhbmdbJ2NoZWNrX2FsbCddID0gJ01hcmNhciBUb2Rvcyc7CiRsYW5nWyd1bmNoZWNrX2FsbCddID0gJ0Rlc21hcmNhciBUb2Rvcyc7CiRsYW5nWydzZW5kX2FkanVzdG1lbnRlbWFpbCddID0gJ0VudmlhciB1biBlbWFpbCBhbCB1c3VhcmlvJzsKJGxhbmdbJ3R4dF9hZGp1c3RtZW50ZW1haWwnXSA9ICcoaW5mb3JtYSBhbCB1c3VhcmlvIHF1ZSBzdSBjdWVudGEgaGEgc2lkbyBhanVzdGFkYSc7CiRsYW5nWyd0eHRfY2hhbmdlcGFzc3dvcmQnXSA9ICdMbGVuYSBlc3RvcyBjYW1wb3MgcGFyYSBjYW1iaWFyIGxhIGNvbnRyYXNlJm50aWxkZTthIGRlbCB1c3VhcmlvJzsKJGxhbmdbJ2VkaXR1c2VyJ10gPSAnRWRpdGFyIFVzdWFyaW8nOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGV1c2VyJ10gPSAnJmlxdWVzdDtFc3QmYWFjdXRlOyBzZWd1cm8gcXVlIHF1aWVyZSBlbGltaW5hciBlc3RlIHVzdWFyaW8gcGFyY2lhbG1lbnRlIHJlZ2lzdHJhZG8/JzsKJGxhbmdbJ2hkcl91c2VyaWQnXSA9ICdJRCBkZSBVc3VhcmlvJzsKJGxhbmdbJ2hkcl91c2VybmFtZSddID0gJ05vbWJyZSBkZSBVc3VhcmlvJzsKJGxhbmdbJ2hkcl9ncnBuYW1lJ10gPSAnR3J1cG8nOwokbGFuZ1snaGRyX2NyZWF0ZWQnXSA9ICdDcmVhZG8nOwokbGFuZ1snaGRyX2VtYWlsJ10gPSAnRW1haWwnOwokbGFuZ1sndXNlcnNmb3VuZCddID0gJ1VzdWFyaW9zIGVuY29udHJhZG9zIChsaW1pdGFkbyBhIHVuIG0mYWFjdXRlO3hpbW8gZGUgMjUwKSc7CiRsYW5nWyd1c2VycyddID0gJ1VzdWFyaW9zJzsKJGxhbmdbJ2xpc3QxZGF5J10gPSAnTGlzdGFyIHRvZGFzIGxhcyBlbnRyYWRhcyBkZSBhbnRpZ3VlZGFkIG1heW9yIGEgMSBkJmlhY3V0ZTthJzsKJGxhbmdbJ3N1YmplY3QnXSA9ICdBc3VudG8gZGVsIGVtYWlsIGRlIHNhbGlkYSc7CiRsYW5nWydodG1sYm9keSddID0gJ0hUTUwgZGVsIGN1ZXJwbyBkZWwgbWVuc2FqZSc7CiRsYW5nWyd0ZXh0Ym9keSddID0gJ1RleHRvIGRlbCBjdWVycG8gZGVsIG1lbnNhamUnOwokbGFuZ1sncHJvbXB0X251bXJlc2V0cmVjb3JkJ10gPSAnSGF5IHVuYSBjYW50aWRhZCBkZSB1c3VhcmlvcyBxdWUgZXN0YW4gZW4gcHJvY2VzbyBkZSByZWdpc3Ryby4gIEFjdHVhbG1lbnRlIGVzYSBjYW50aWRhZCBlcyBkZTonOwokbGFuZ1sncmVtb3ZlMXdlZWsnXSA9ICdRdWl0YXIgdG9kYXMgbGFzIGVudHJhZGFzIHF1ZSB0aWVuZW4gbSZhYWN1dGU7cyBkZSB1bmEgc2VtYW5hIGRlIHRpZW1wbyc7CiRsYW5nWydyZW1vdmUxbW9udGgnXSA9ICdRdWl0YXIgdG9kYXMgbGFzIGVudHJhZGFzIHF1ZSB0aWVuZW4gbSZhYWN1dGU7cyBkZSB1biBtZXMgZGUgdGllbXBvJzsKJGxhbmdbJ3JlbW92ZTFkYXknXSA9ICdRdWl0YXIgdG9kYXMgbGFzIGVudHJhZGFzIHF1ZSB0aWVuZW4gbSZhYWN1dGU7cyBkZSB1biBkJmlhY3V0ZTthIGRlIHRpZW1wbyc7CiRsYW5nWydyZW1vdmVhbGwnXSA9ICdRdWl0YXIgdG9kYXMgbGFzIGVudHJhZGFzJzsKJGxhbmdbJ2FyZXlvdXN1cmUnXSA9ICcmaXF1ZXN0O0VzdCZhYWN1dGU7IHNlZ3Vybz8nOwokbGFuZ1sncmVnaXN0cmF0aW9uX2luZm9fZWRpdGVkJ10gPSAnU3VzIGRhdG9zIGRlIHJlZ2lzdHJvIHNlIGhhbiBtb2RpZmljYWRvJzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbl9jb25maXJtYXRpb24nXSA9ICdDb25maXJtYWNpJm9hY3V0ZTtuIGRlIFJlZ2lzdHJvJzsKJGxhbmdbJ3VzZXJfcmVnaXN0cmF0aW9uJ10gPSAnUmVnaXN0cm8gZGUgVXN1YXJpbyc7CiRsYW5nWydmaW5hbG1lc3NhZ2VfdGVtcGxhdGUnXSA9ICdQbGFudGlsbGEgZGUgTWVuc2FqZSBGaW5hbCc7CiRsYW5nWyd0aXRsZV92ZXJpZnlyZWdpc3RyYXRpb24nXSA9ICdWZXJpZmljYXIgUmVnaXN0cm8nOwokbGFuZ1snY29kZSddID0gJ0Mmb2FjdXRlO2RpZ28gZGUgVmFsaWRhY2kmb2FjdXRlO24nOwokbGFuZ1snZGVmYXVsdCddID0gJ1BvbmVyIGEgVmFsb3IgcG9yIERlZmVjdG8nOwokbGFuZ1snZXJyb3Jfbm9wcm9wZXJ0aWVzJ10gPSAnTm8gc2UgZW5jb250cmFyb24gcHJvcGllZGFkZXMgcGFyYSBlc3RlIHVzdWFyaW8nOwokbGFuZ1snZXJyb3Jfbm9wcm9wcmVsYXRpb25zJ10gPSAnTm8gaGF5IHJlbGFjaSZvYWN1dGU7biBkZSBwcm9waWVkYWRlcyc7CiRsYW5nWydlcnJvcl9lbWFpbGludmFsaWQnXSA9ICdEaXJlY2NpJm9hY3V0ZTtuIGVtYWlsIGludiZhYWN1dGU7bGlkYSc7CiRsYW5nWydlcnJvcl9ub2VtYWlsYWRkcmVzcyddID0gJ05vIHNlIGVuY29udHImb2FjdXRlOyBjYW1wbyBkZSBkaXJlY2NpJm9hY3V0ZTtuIGVtYWlsIHYmYWFjdXRlO2xpZG8nOwokbGFuZ1snZXJyb3JfcmVxdWlyZWRmaWVsZCddID0gJ0VsIGNhbXBvICVzIGRlYmUgbGxlbmFyc2UgZW4nOwokbGFuZ1sncmVnaXN0cmF0aW9uMV90ZW1wbGF0ZSddID0gJ1BsYW50aWxsYSBkZSBSZWdpc3RybyAxJzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbjJfdGVtcGxhdGUnXSA9ICdQbGFudGlsbGEgZGUgUmVnaXN0cm8gMic7CiRsYW5nWydlbWFpbGNvbmZpcm1fdGVtcGxhdGUnXSA9ICdQbGFudGlsbGEgZGUgRW1haWwgZGUgQ29uZmlybWFjaSZvYWN1dGU7bic7CiRsYW5nWydlbWFpbHVzZXJlZGl0ZWRfdGVtcGxhdGUnXSA9ICdQbGFudGlsbGEgZGUgQ2FtYmlvIEluZm8gZGUgVXN1YXJpbyc7CiRsYW5nWydwcmVmZXJlbmNlcyddID0gJ1ByZWZlcmVuY2lhcyc7CiRsYW5nWydlcnJvcl91c2Vybm90Zm91bmQnXSA9ICdVc3VhcmlvIG5vIGVuY29udHJhZG8nOwokbGFuZ1snZXJyb3JfaW52YWxpZHVzZXJuYW1lJ10gPSAnRWwgTm9tYnJlIGRlIFVzdWFyaW8gZXMgaW52JmFhY3V0ZTtsaWRvIChtdXkgbGFyZ28sIG11eSBjb3J0bywgbyBjb250aWVuZSBjYXJhY3RlcmVzIGludiZhYWN1dGU7bGlkb3MpLiAgQXl1ZGEtIEVsIG5vbWJyZSBkZSBVc3VhcmlvIHNvbG8gZGViZSBjb250ZW5lciBjYXJhY3RlcmVzIGFsZmFudW0mZWFjdXRlO3JpY29zIHkgc2luIGVzcGFjaW9zJzsKJGxhbmdbJ2Vycm9yX3VzZXJuYW1ldGFrZW4nXSA9ICdFc2Ugbm9tYnJlIGRlIHVzdWFyaW8geWEgZXN0JmFhY3V0ZTsgZW4gdXNvJzsKJGxhbmdbJ2Vycm9yX3Bhc3N3b3Jkc2RvbnRtYXRjaCddID0gJ0VSUk9SOiBMYXMgY29udHJhc2UmbnRpbGRlO2FzIG5vIHNvbiBjb2luY2lkZW50ZXMnOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhc3N3b3JkJ10gPSAnTGEgY29udHJhc2UmbnRpbGRlO2EgZXMgaW52JmFhY3V0ZTtsaWRhIChwYXNzd29yZHMgbXVzdCBiZSBiZXR3ZWVuICVzIGFuZCAlcyBjaGFyYWN0ZXJzIGluIGxlbmd0aCknOwokbGFuZ1snZXJyb3JfZW1wdHl1c2VybmFtZSddID0gJ0VsIG5vbWJyZSBkZSB1c3VhcmlvIG5vIHB1ZWRlIGVzdGFyIHZhYyZpYWN1dGU7byc7CiRsYW5nWydyZXBlYXRwYXNzd29yZCddID0gJ0NvbnRyYXNlJm50aWxkZTthIChvdHJhIHZleiknOwokbGFuZ1sncGFzc3dvcmQnXSA9ICdDb250cmFzZSZudGlsZGU7YSc7CiRsYW5nWyd1c2VybmFtZSddID0gJ05vbWJyZSBkZSBVc3VhcmlvJzsKJGxhbmdbJ2NhcHRjaGFfdGl0bGUnXSA9ICdJbmdyZXNhciBlbCB0ZXh0byBkZSBsYSBpbWFnZW4nOwokbGFuZ1snZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJ10gPSAnTiZ1YWN1dGU7bWVybyBpbnN1ZmljaWVudGUgKG8gaW5jb3JyZWN0bykgZGUgcGFyJmFhY3V0ZTttZXRyb3MgcGFyYSBlbCBtJm9hY3V0ZTtkdWxvJzsKJGxhbmdbJ2Vycm9yX25vZmV1c2Vyc21vZHVsZSddID0gJ05vIHNlIG9idHV2byB1bmEgaW5zdGFuY2lhIGRlbCBtJm9hY3V0ZTtkdWxvIGRlIEF1dG8gUmVnaXN0cmFjaSZvYWN1dGU7bic7CiRsYW5nWydlcnJvcl9ub3N1Y2hncm91cCddID0gJ0VsIG5vbWJyZSBkZSBncnVwbyBlc3BlY2lmaWNhZG8gbm8gZXhpc3RlJzsKJGxhbmdbJ2Vycm9yX2NhcHRjaGFtaXNtYXRjaCddID0gJ0VsIHRleHRvIGRlIGxhIGltYWdlbiBubyBzZSBpbmdyZXNvIGNvcnJlY3RhbWVudGUnOwokbGFuZ1snc2VuZF9lbWFpbHNfdG8nXSA9ICdFbWFpbHMgZGUgcmVnaXN0cm8gc2UgZW52JmlhY3V0ZTthbiBhJzsKJGxhbmdbJ3JlcXVpcmVfZW1haWxfY29uZmlybWF0aW9uJ10gPSAnUmVxdWVyaXIgcXVlIGVsIHVzdWFyaW8gY29uZmlybWUgc3UgcmVnaXN0cm8gdiZpYWN1dGU7YSBlbWFpbCc7CiRsYW5nWydub3RpZnlfb25fcmVnaXN0cmF0aW9uJ10gPSAnRW52aWFyIHVuIGVtYWlsIGRlIG5vdGlmaWNhY2kmb2FjdXRlO24gY3VhbmRvIGFsZ3VpZW4gc2UgcmVnaXN0cmEnOwokbGFuZ1snY2FuY2VsJ10gPSAnQ2FuY2VsYXInOwokbGFuZ1snc3VibWl0J10gPSAnRW52aWFyJzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ00mb2FjdXRlO2R1bG8gZGUgQXV0b3JlZ2lzdHJvJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnU2UgaGEgaW5zdGFsYWRvIGNvbiAmZWFjdXRlO3hpdG8sIHBvciBmYXZvciByZWN1ZXJkZSBjb25maWd1cmFyIGxvcyBwZXJtaXNvcyBkZSAmcXVvdDtNb2RpZmljYXIgQ29uZmlndXJhY2kmb2FjdXRlO24gZGUgQXV0byBSZWdpc3RyYWNpJm9hY3V0ZTtuJnF1b3Q7LiAgU2kgZWwgbSZvYWN1dGU7ZHVsbyBDYXB0Y2hhIGVzdCZhYWN1dGU7IGluc3RhbGFkbywgZW50b25jZXMgbGEgZnVuY2lvbmFsaWRhZCBjYXB0Y2hhIHNlIGhhYmlsaXRhIHBvciBkZWZlY3RvLiAgUmVjb21lbmRhbW9zIGVuY2VyY2lkYW1lbnRlIGluc3RhbGFyIGVzdGUgJnVhY3V0ZTtsdGltbyBtJm9hY3V0ZTtkdWxvLiAgU2kgZWwgbSZvYWN1dGU7ZHVsbyBDYXB0Y2hhIGVzdCZhYWN1dGU7IGluc3RhbGFkbywgeSB1c3RlZCBkZXNlYSBkZXNoYWJpbGl0YXJsbywgdXNlIGVsIHBhciZhYWN1dGU7bWV0cm8gbm9jYXB0Y2hhIGVuIGxhIGV0aXF1ZXRhIGRlIHNlbGZyZWdpc3RyYXRpb24uJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdFbCBtJm9hY3V0ZTtkdWxvIGRlIEF1dG8gUmVnaXN0cmFjaSZvYWN1dGU7biBzZSBoYSBkZXNpbnN0YWxhZG8uICBOb3MgdmVtb3MuJzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTSZvYWN1dGU7ZHVsbyBEZXNpbnN0YWxhZG8uJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ0luc3RhbGFkYSB2ZXJzaSZvYWN1dGU7biAlcyBkZWwgbSZvYWN1dGU7ZHVsby4nOwokbGFuZ1sncHJlZnN1cGRhdGVkJ10gPSAnUHJlZmVyZW5jaWFzIGRlIG0mb2FjdXRlO2R1bG8gYWN0dWFsaXphZGFzLic7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdBY2Nlc28gTmVnYWRvLiBQb3IgZmF2b3IgY2hlcXVlYXIgc3VzIHBlcm1pc29zLic7CiRsYW5nWydlcnJvciddID0gJyZpZXhjbDtFcnJvciEnOwokbGFuZ1sndXBncmFkZWQnXSA9ICdNJm9hY3V0ZTtkdWxvIGFjdHVhbGl6YWRvIGEgdmVyc2kmb2FjdXRlO24gJXMuJzsKJGxhbmdbJ3RpdGxlX21vZF9wcmVmcyddID0gJ1ByZWZlcmVuY2lhcyBkZWwgTSZvYWN1dGU7ZHVsbyc7CiRsYW5nWyd0aXRsZV9tb2RfYWRtaW4nXSA9ICdQYW5lbCBkZSBBZG1pbiBkZWwgTSZvYWN1dGU7ZHVsbyc7CiRsYW5nWyd0aXRsZV9hZG1pbl9wYW5lbCddID0gJ00mb2FjdXRlO2R1bG8gZGUgQXV0byBSZWdpc3RyYWNpJm9hY3V0ZTtuJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnVW4gbSZvYWN1dGU7ZHVsbyBxdWUgcGVybWl0ZSBhIGxvcyB1c3VhcmlvcyBkZWwgcG9ydGFsIGF1dG8gcmVnaXN0cmFyc2UuJzsKJGxhbmdbJ3dlbGNvbWVfdGV4dCddID0gJzxwPkJpZW52ZW5pZG8gYWwgbSZvYWN1dGU7ZHVsbyBkZSBhdXRvIHJlZ2lzdHJhY2kmb2FjdXRlO24uPC9wPic7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8dWw+DQo8bGk+VmVyc2lvbiAwLjAuMS4gT2N0IDIwMDUuIEluaXRpYWwgTlJQVCAoTm90IFJlYWR5IGZvciBQcmltZSBUaW1lKSByZWxlYXNlLjwvbGk+DQo8bGk+VmVyc2lvbiAwLjEuMC4gT2N0IDIwMDUuIEluaXRpYWwgcmVsZWFzZS48L2xpPg0KPGxpPlZlcnNpb24gMC4xLjEuIE9jdCAyMDA1LiBTZXQgdGhlIEhUTUwgbWFpbCBmbGFnLjwvbGk+DQo8bGk+VmVyc2lvbiAwLjEuMi4gT2N0IDIwMDUuIE1vdmVkIFJhbmRvbSBzdHVmZiBpbnRvIGZldXNlcnMsIGFuZCBhZGRlZCB0aGUgYWJpbGl0eSB0byBkZWxldGUgb2xkIGVudHJpZXMgZnJvbSB0aGUgcmVnaXN0cmF0aW9uIHRlbXBvcmFyeSB0YWJsZXM8L2xpPg0KPGxpPjxwPlZlcnNpb24gMC4xLjMuIC0gRGVjIDIwMDU8L3A+DQo8cD5GaXhlZCB0aGUgdG9nZ2xlcyBpbiB0aGUgYWRtaW4gcHJlZmVyZW5jZXMuICBBbHNvLCBjaGFuZ2VkIHRoZSBwZXJtaXNzaW9ucyBtb2RlbCB0byBub3QgcmVxdWlyZSB0aGUgdW5pcXVlIHBlcm1pc3Npb24gYWRkZWQgcHJldmlvdXNseSBmb3IgdGhlIHNlbGZyZWcgbW9kdWxlLjwvcD4NCjxwPlRoaXMgcmVsZWFzZSB3YXMgcmVtb3ZlZCBkdWUgdG8gcG9zc2libGUgZXJyb3JzPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDAuMS40LiAtIEphbiAyMDA2PC9wPg0KPHA+Rml4ZWQgbWlub3IgZXJyb3JzIHdpdGggQ2hlY2tQZXJtaXNzaW9uLCByZXBsYWNlZCBhbGwgYXNzaWduX2J5X3JlZnMmIzAzOTtzIHdpdGggYXNzaWducyBmb3IgaG9wZWZ1bCBwaHA1IGNvbXBhdGliaWxpdHkuPC9wPg0KPGxpPjxwPlZlcnNpb24gMC4xLjUuIC0gSmFuIDIwMDY8L3A+DQo8cD5BZGRlZCB0aGUgYWJpbGl0eSB0byBzZXQgdGhlIHN1YmplY3Qgb2YgdGhlIGNvbmZpcm1hdGlvbiBlbWFpbCwgYW5kIGFkZGVkIHRoZSBhYmlsaXR5IHRvIHNwZWNpZnkgYSB0ZXh0IGJvZHkuICBTdWJqZWN0LCBhbmQgdGV4dCBib2R5IGFyZSByZXF1aXJlZC48L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjAuIC0gRmViIDIwMDY8L3A+DQo8cD5GaXhlZCBhIHByb2JsZW0gd2l0aCB0aGUgdmVyaWZ5IG1vZGUuPC9wPg0KPHA+QWRkZWQgdGhlIGFiaWxpdHkgdG8gZWRpdCBhbmQgZGVsZXRlIHVzZXJzLiB3aXRoIHNlbGVjdGlvbiBvbiB0aGUgY2hlY2tib3hlcywgYW5kICZxdW90O2NoZWNrYWxsJnF1b3Q7PC9wPg0KPHA+Tm93IHJlcXVpcmUgRkVVc2VycyAwLjEuOCBhbmQgQ01TTWFpbGVyIDEuNzMuOTwvcD4NCjxwPkFkZGVkIGFub3RoZXIgdGFiIGZvciB0aGUgJnF1b3Q7eW91ciBzZXR0aW5ncyBoYXZlIGJlZW4gYWRqdXN0ZWQmcXVvdDsgZW1haWwgdGVtcGxhdGVzPC9wPg0KPHA+QWRkZWQgQ1NWIEV4cG9ydGluZzwvcD4NCjxwPkFkZGVkIGEgJnF1b3Q7RGVsZXRlIGFsbCB1c2VycyBvbGRlciB0aGFuIGEgZGF5JnF1b3Q7IGJ1dHRvbjwvcD4NCjxwPk5vdyB3b3JrcyB3aXRoIHRoZSBtYXhpbXVtIGxlbmd0aCBmaWVsZCBvZiBGRVVzZXJzPC9wPg0KPHA+QWRkZWQgc3VwcG9ydCBmb3IgZHJvcGRvd25zIGFuZCB0ZXh0IGFyZWFzPC9wPg0KPHA+RGlzYWxsb3cgcHVuY3R1YXRpb24gY2hhcmFjdGVycyBpbiB1c2VybmFtZTwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjAuMS4gLSBGZWIgMjAwNjwvcD4NCjxwPkFkZGVkIHRoZSBhYmlsaXR5IGZvciB1c2VycyB0byByZXF1ZXN0IGFub3RoZXIgcmVnaXN0cmF0aW9uIGVtYWlsICh1c2VzIHRoZSBzYW1lIGNvZGUpLCBpbmNhc2UgdGhleSBsb3N0IHRoZWlyIGZpcnN0IG9uZS48L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjIuIC0gRmViIDIwMDY8L3A+DQo8cD5UaGUgJnF1b3Q7UmVxdWlyZSBlbWFpbCBjb25maXJtYXRpb24mcXVvdDsgY2hlY2tib3ggbm93IHdvcmtzLiAgVXNlcnMgYXJlIGFkZGVkIHN0cmFpZ2h0IHRvIHRoZSBmcm9udGVuZCB1c2VycyBkYXRhYmFzZTwvcD4NCjxwPkZpeGVkIGEgYnVnIHdpdGggdGhlIGNvbmZpcm1hdGlvbiBlbWFpbHMgaGF2aW5nIGxpbmtzIHRvIHRoZSBhZG1pbiBzZWN0aW9uIChuZXcgYnVnIG9ubHkpLjwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjAuMy4gLSBGZWIgMjAwNjwvcD4NCjxwPkFkZGVkIHRoZSAob3B0aW9uYWwpIGFiaWxpdHkgdG8gcmVxdWlyZSB0aGUgdXNlciBlbnRlciB0aGUgZW1haWwgYWRkcmVzcyB0d2ljZTwvcD4NCjxwPkZpeGVkIGEgYnVnIHdpdGggdGhlIHVzZXJlZGl0ZWQgbWVzc2FnZSBub3QgYmVpbmcgdGhyb3duIHRocm91Z2ggc21hcnR5PC9wPg0KPHA+Rml4ZWQgdGhlIGRlZmF1bHQgcmVnaXN0cmF0aW9uIHRlbXBsYXRlIGEgYml0IHRvIGFpZGUgaW4gdmFsaWRhdGlvbiBmb3Igbm9uIHJlcXVpcmVkIGZpZWxkcyAoZml4ZWQgYSB3YXJuaW5nKTwvcD4NCjxwPkZpeCBwcm9ibGVtcyB3aXRoIGlubGluZSBhbmQgbm9uLWlubGluZSBmb3JtcyBhbmQgbGlua3M8L3A+DQo8cD5IYW5kbGUgYW5vdGhlciBjYXNlIHdoZXJlIHRoZSBhZG1pbiBtYXkgbm90IGhhdmUgY3JlYXRlZCB0aGUgcHJvcGVyIHR5cGUgb2YgZW1haWwgcHJvcGVydHk8L3A+DQo8cD5DaGFuZ2VkIHRvIHJlcXVpcmUgQ01TIDAuMTItYmV0YTIgYXQgYSBtaW5pbXVtIChmb3Igc2FmZXR5IHB1cnBvc2VzKTwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjAuNC4gLSBNYXIgMjAwNjwvcD4NCjxwPk1vcmUgY29udHJvbCBvdmVyIHVzZXJuYW1lIGFuZCBwYXNzd29yZCBmaWVsZCBzaXplcyAoY29udHJvbGxlZCBieSBmZXVzZXJzKTwvcD4NCjxwPkNvbmZpcm1hdGlvbiBvbiBlZGl0aW5nIHByZWZlcmVuY2VzPC9wPg0KPHA+UmVxdWlyZSAwLjEyIHByb3BlciBvZiBjbXMgYXMgYSBtaW5pbXVtPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMS4wLiAtIERlYyAyMDA2PC9wPg0KICAgIDxwPkFkZGVkIGV2ZW50cyBhbmQgMS4wIGNvbXBhdGliaWxpdHk8L3A+DQogICAgPHA+Q2FwdGNoYSBzdXBwb3J0ICh0aGFua3MgRGl0dG1hbik8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4xLjEuIC0gQXByIDIwMDc8L3A+DQogICAgPHA+Tm93IHJlcXVpcmUgRkVVc2VycyAxLjIuMCAobWluaW11bSk8L3A+DQogICAgPHA+U3VwcG9ydCBmb3IgbXVsdGlzZWxlY3QgbGlzdHMgaW4gZmV1c2VyczwvcD4NCiAgICA8cD5PdXRwdXQgc29tZSBtb3JlIGZpZWxkcyB0byBzbWFydHkgdG8gYWxsb3cgZm9yIGluY3JlYXNlZCBhY2Nlc3NpYmlsaXR5PC9wPg0KICAgIDxwPlNwbGl0IGNvZGUgb3V0IGludG8gbXVsdGlwbGUgZmlsZXMgdG8gcmVkdWNlIG92ZXJhbGwgbWVtb3J5IGZvb3RwcmludDwvcD4NCiAgICA8cD5JZ25vcmUgYWxsIGltYWdlIGZpZWxkczwvcD4NCiAgICA8cD5DaGFuZ2UgQ2FwdGNoYSBzdXBwb3J0IHRvIGJlIG9uIGJ5IGRlZmF1bHQgaWYgdGhlIENhcHRjaGEgbW9kdWxlIGlzIGZvdW5kPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMS4yLiAtIE5vdiAyMDA3PC9wPg0KICAgIDxwPkZpeCB0aGUgcHJvYmxlbSB3aXRoIHRoZSBVc2VyRGlzcGxheUxvc3RSZWdFbWFpbEZvcm0gdGhpbmc8L3A+DQogICAgPHA+QWRkcyB0aGUgaWQgdG8gdGhlIG9uVXNlclJlZ2lzdGVyZWQgRXZlbnQ8L3A+DQogICAgPHA+Rml4ZXMgdGhlIHByb2JsZW0gd2l0aCBjaGVja2JveCBwcm9wZXJ0aWVzIG5vdCB3b3JraW5nPC9wPg0KICAgIDxwPk5vdyBSZXF1aXJlcyBDTVMgMS4yIG1pbmltdW08L3A+DQogICAgPHA+WW91IGNhbiBub3cgdXNlIHtTZWxmUmVnaXN0cmF0aW9uIGdyb3VwPSYjMDM5O2JsYWgmIzAzOTt9PC9wPg0KICAgIDxwPk5vdyBSZXF1aXJlcyBDTVMgMS4zIG1pbmltdW0uPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMS4zLiAtIE5vdiAyMDA3PC9wPg0KICAgIDxwPkZpeGVzIGlzc3VlIHdpdGggU01UUCBFbWFpbCBhZGRyZXNzIHZhbGlkYXRpb248L3A+DQogICAgPHA+Tm93IFJlcXVpcmUgRkVVIDEuMy4xPC9wPg0KICAgIDxwPkFkZHMgdGhlIG5vaW5saW5lIHBhcmFtZXRlcjwvcD4NCjwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwJ10gPSAnPGgzPiZpcXVlc3Q7UXUmZWFjdXRlOyBoYWNlIGVzdG8/PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGlzIGRlc2lnbmVkIHRvIGFsbG93IGZyb250IGVuZCB1c2VycyB0byByZWdpc3RlciB0aGVtc2VsdmVzIGFuZCBmaWxsIGluIHRoZSByZXF1aXJlZCBpbmZvcm1hdGlvbi4gIEl0IHRoZW4gc2VuZHMgYSBjb25maXJtYXRpb24gZW1haWwsIHdpdGggYSBsaW5rIHRvIGEgc2Vjb25kIHBhZ2UgdGhhdCBtdXN0IGJlIGNvbXBsZXRlZCBiZWZvcmUgdGhlIHJlZ2lzdHJhdGlvbiBpcyBjb21wbGV0ZS4gIE9uY2UgcmVnaXN0cmF0aW9uIGlzIGNvbXBsZXRlLCBhIHVzZXIgYWNjb3VudCBpcyBjcmVhdGVkIGluIHRoZSBmcm9udCBlbmQgdXNlcnMgbW9kdWxlLjwvcD4NCjxwPkluIG9yZGVyIHRvIHVzZSB0aGlzIG1vZHVsZSwgeW91IG11c3QgY3JlYXRlIGEgcHJvcGVydHkgb2YgdHlwZSAmcXVvdDtFbWFpbCBBZGRyZXNzJnF1b3Q7IGluIHRoZSBGcm9udGVuZFVzZXJzIG1vZHVsZSwgYW5kIGFzc29jaWF0ZSB0aGF0IHByb3BlcnR5IHdpdGggdGhlIGdyb3VwIHRvIGJlIHVzZWQgZm9yIHNlbGYgcmVnaXN0cmF0aW9uLjwvcD4NCjxoMz5Ib3cgRG8gSSBVc2UgSXQ8L2gzPg0KPHA+WW91IHBsYWNlIHRoZSBmb2xsb3duZyB0YWcgaW50byB5b3VyIHBhZ2Uge2Ntc19tb2R1bGUgbW9kdWxlPVNlbGZSZWdpc3RyYXRpb24gZ3JvdXA9dXNlcmdyb3VwfTwvcD4NCjxwPllvdSBtdXN0IGhhdmUgcHJldmlvdXNseSBjcmVhdGVkIHByb3BlcnRpZXMgYW5kIHVzZXIgZ3JvdXBzIGluIHRoZSBGcm9udEVuZFVzZXJzIG1vZHVsZSBpbiBvcmRlciBmb3IgdGhpcyB0byB3b3JrIHByb3Blcmx5LjwvcD4NCjxoMz5QYXJhbWV0ZXJzPC9oMz4NCjxwPjxzdHJvbmc+bW9kZTwvc3Ryb25nPiZuYnNwOzxlbT5vcHRpb25hbDwvZW0+IC0gcG9zc2libGUgdmFsdWVzIGFyZSAmcXVvdDtzaWdudXAmcXVvdDsgYW5kICZxdW90O3ZlcmlmeSZxdW90Oy4gIElmIHRoaXMgcGFyYW1ldGVyIGlzIG5vdCBzcGVjaWZpZWQsICZxdW90O3NpZ251cCZxdW90OyBpcyBhc3N1bWJlZC48L3A+DQo8cD48c3Ryb25nPmdyb3VwPC9zdHJvbmc+Jm5ic3A7PGVtPm9wdGlvbmFsPC9lbT4gLSBUaGlzIHBhcmFtZXRlciBpcyByZXF1aXJlZCBpZiBtb2RlIGlzICZxdW90O3NpZ251cCZxdW90Oywgb3IgaWYgbW9kZSBpcyBsZWZ0IGVtcHR5LjwvcD4NCjxwPjxzdHJvbmc+bm9jYXB0Y2hhPC9zdHJvbmc+Jm5ic3A7PGVtPm9wdGlvbmFsPC9lbT4gLSBUaGlzIHdpbGwgZGlzYWJsZSBjYXB0Y2hhIG9uIHRoZSBzaWdudXAgZm9ybS4gQnkgZGVmYXVsdCwgaWYgdGhlIENhcHRjaGEgbW9kdWxlIGlzIGluc3RhbGxlZCwgY2FwdGNoYSBzdXBwb3J0IGlzIHByb3ZpZGVkLiAgVGhpcyBwYXJhbWV0ZXIgZGlzYWJsZXMgaXQuPC9wPg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCBjYWxndXkmIzAzOTtzDQptb2R1bGUgaG9tZXBhZ2UgYXQgPGEgaHJlZj0mcXVvdDtodHRwOi8vdGVjaGNvbS5keW5kbnMub3JnJnF1b3Q7PnRlY2hjb20uZHluZG5zLm9yZzwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9JnF1b3Q7aHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnJnF1b3Q7PkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+DQo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSZxdW90O2lyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyZxdW90Oz5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkuPC9saT4gIA0KPC91bD4NCjxwPkFzIHBlciB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkIGFzLWlzLiBQbGVhc2UgcmVhZCB0aGUgdGV4dA0Kb2YgdGhlIGxpY2Vuc2UgZm9yIHRoZSBmdWxsIGRpc2NsYWltZXIuPC9wPg0KDQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPkNvcHlyaWdodCAmY29weTsgMjAwNSwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0mcXVvdDttYWlsdG86Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbSZxdW90Oz48Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbT48L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiByZWxlYXNlZCB1bmRlciB0aGUgPGEgaHJlZj0mcXVvdDtodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwmcXVvdDs+R05VIFB1YmxpYyBMaWNlbnNlPC9hPi4gWW91IG11c3QgYWdyZWUgdG8gdGhpcyBsaWNlbnNlIGJlZm9yZSB1c2luZyB0aGUgbW9kdWxlLjwvcD4NCic7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjE1NDU1OTUxNDcuMTE5NDcyMTYyMC4xMTk4MzI1OTIzLjExOTgzMzMwOTkuNic7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjExOTgwNTUxODIuMy4yLnV0bWNjbj0ocmVmZXJyYWwpfHV0bWNzcj1sb2NhbGhvc3R8dXRtY2N0PS9jbXNtcy9hZG1pbi9tb2R1bGVpbnRlcmZhY2UucGhwfHV0bWNtZD1yZWZlcnJhbCc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/et_EE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2Vycm9yX2NvZGVzZG9udG1hdGNoJ10gPSAnVHVydmFrb29kLCBtaWxsZSBzaXNlc3Rhc2lkLCBvbiB2aWdhbmUnOwokbGFuZ1snZXZlbnRfZGVzY3JpcHRpb25fb25OZXdVc2VyJ10gPSAnUyZ1dW1sO25kbXVzLCBtaXMgbiZhdW1sO2l0YWIsIGV0IHV1cyBrYXN1dGFqYSBvbiByZWdpbWlzdHJlZXJpbWlzdm9ybWkgdCZhdW1sO2l0bnVkJzsKJGxhbmdbJ2V2ZW50X2Rlc2NyaXB0aW9uX29uVXNlclJlZ2lzdGVyZWQnXSA9ICdTJnV1bWw7bmRtdXMsIG1pcyBuJmF1bWw7aXRhYiwgZXQga2FzdXRhamEgb24gb21hIHJlZ2lzdHJlZXJpbmd1IGtpbm5pdGFudWRuaW5nIG9uIHQmYXVtbDtpZWxpa3VsdCBFTEsga2FzdXRhamFrcyByZWdpc3RyZWVyaXR1ZCc7CiRsYW5nWydldmVudF9oZWxwX29uTmV3VXNlciddID0gJzxwPlMmdXVtbDtuZG11cywgbWlzIG4mYXVtbDtpdGFiLCBldCB1dXMga2FzdXRhamEgb24gcmVnaW1pc3RyZWVyaW1pc3Zvcm1pIHQmYXVtbDtpdG51ZDwvcD4NCjxoND5QYXJhbWVldHJpZDwvaDQ+DQo8dWw+DQo8bGk+PGVtPmthc3V0YWphbmltaTwvZW0+IC0gdXVlIGthc3V0YWphIGthc3V0YWphbmltaTwvbGk+DQo8bGk+PGVtPmUtbWFpbDwvZW0+IC0gdXVlIGthc3V0YWphIGUtbWFpbGkgYWFkcmVzczwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfb25Vc2VyUmVnaXN0ZXJlZCddID0gJzxwPlMmdXVtbDtuZG11cywgbWlzIG4mYXVtbDtpdGFiLCBldCBrYXN1dGFqYSBvbiBvbWEgcmVnaXN0cmVlcmluZ3Uga2lubml0YW51ZG5pbmcgb24gdCZhdW1sO2llbGlrdWx0IEZFVSBrYXN1dGFqYWtzIHJlZ2lzdHJlZXJpdHVkPC9wPg0KPGg0PlBhcmFtZWV0cmlkPC9oND4NCjx1bD4NCjxsaT48ZW0+a2FzdXRhamFuaW1pPC9lbT4gLSByZWdpc3RyZWVyaW51ZCBrYXN1dGFqYSBrYXN1dGFqYW5pbWk8L2xpPg0KPC91bD4NCic7CiRsYW5nWydjb25maXJtX3N1Ym1pdHByZWZzJ10gPSAnTXV1ZGEgYWRtaW5pc3RyYWF0b3JpIGVlbGlzdHVzaT8nOwokbGFuZ1snaW5mb19hZG1pbl9wYXNzd29yZCddID0gJ0t1aSBzYSBlaSBzb292aSBrYXN1dGFqYSBwYXJvb2xpIG11dXRhLCBqJmF1bWw7dGEgc2VlIHYmYXVtbDtsaSB0JnV1bWw7aGpha3MnOwokbGFuZ1snaW5mb19hZG1pbl9yZXBlYXRwYXNzd29yZCddID0gJ0t1aSBzYSBlaSBzb292aSBrYXN1dGFqYSBwYXJvb2xpIG11dXRhLCBqJmF1bWw7dGEgc2VlIHYmYXVtbDtsaSB0JnV1bWw7aGpha3MnOwokbGFuZ1snZXJyb3JfZW1haWxkb2Vzbm90bWF0Y2gnXSA9ICdFLW1haWxpIGFhZHJlc3NpZCBlaSBrYXR0dSc7CiRsYW5nWydmb3JjZV9lbWFpbF90d2ljZSddID0gJ0UtbWFpbGkgcGVhYiBzaXNlc3RhbWEgMiBrb3JkYSc7CiRsYW5nWydhZ2FpbiddID0gJ3V1ZXN0aSc7CiRsYW5nWydkZWxldGVzZWx1c2VycyddID0gJ0t1c3R1dGEgVmFsaXR1ZCBLYXN1dGFqYWQnOwokbGFuZ1snZXJyb3Jfbm9wcm9wZGVmbnMnXSA9ICdPbWFkdXNpIGVpIG9sZSwgdiZvdGlsZGU7aSBlc2luZXMgcHJvYmxlZW0gbmVuZGUgayZhdW1sO3R0ZXNhYW1pc2VnYSBhbmRtZWJhYXNpc3QuJzsKJGxhbmdbJ2Vycm9yX25vZ3JvdXBzJ10gPSAnR3J1cHBlIGVpIG9sZSwgdiZvdGlsZGU7aSBlc2luZXMgcHJvYmxlZW0gZ3J1cHBpZGUgbmltZWtpcmphIGsmYXVtbDt0dGVzYWFtaXNlZ2EgYW5kbWViYWFzaXN0Lic7CiRsYW5nWydlcnJvcl9kYmVycm9yJ10gPSAnQW5kbWViYWFzaSB2aWdhJzsKJGxhbmdbJ3RpdGxlX3Bvc3Rfc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSddID0gJ1Bvc3RpdGEgS2FkdW51ZCBFLW1haWxpIE1hbGwnOwokbGFuZ1sndGl0bGVfc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSddID0gJ0thZHVudWQgRS1tYWlsaSBNYWxsJzsKJGxhbmdbJ2NsaWNraGVyZSddID0gJ0tsaWtpIFNpaW4nOwokbGFuZ1snbXNnX3NlbmRhbm90aGVyZW1haWwnXSA9ICdNYSBvbGVuIGtvcnJhIGp1YmEgcmVnaXN0cmVlcmltaXN2b3JtaSB0JmF1bWw7aXRudWQsIGt1aWQgZWkgc2FhbnVkIGUtbWFpbGkuIEthcyB0ZSBzYWFrc2l0ZSBzZWxsZSBtdWxlIHV1ZXN0aSBzYWF0YT8nOwokbGFuZ1snc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSddID0gJ0thZHVudWQgRS1tYWlsaSBNYWxsJzsKJGxhbmdbJ2luZm9fdXNlcnZlcmlmaWVkJ10gPSAnVXVzIGthc3V0YWphIGxpc2F0dWQgRUxLLXNzZSc7CiRsYW5nWydlZGl0J10gPSAnTXV1ZGEnOwokbGFuZ1sndW5rbm93biddID0gJ1R1bmRtYXR1JzsKJGxhbmdbJ3NlbGVjdCddID0gJ1ZhbGknOwokbGFuZ1snY2hlY2tfYWxsJ10gPSAnTSZhdW1sO3JnaXN0YSBLJm90aWxkZTtpayc7CiRsYW5nWyd1bmNoZWNrX2FsbCddID0gJ0VlbWFsZGEgTSZhdW1sO3JnaXN0dXNlZCc7CiRsYW5nWydzZW5kX2FkanVzdG1lbnRlbWFpbCddID0gJ1NhYWRhIGthc3V0YWphbGUgZS1tYWlsJzsKJGxhbmdbJ3R4dF9hZGp1c3RtZW50ZW1haWwnXSA9ICcoaW5mb3JtZWVyaWIga2FzdXRhamF0LCBldCB0ZW1hIGtvbnRvdCBvbiBtdXVkZXR1ZCknOwokbGFuZ1sndHh0X2NoYW5nZXBhc3N3b3JkJ10gPSAnVCZhdW1sO2lkYSBuZWVkIHYmYXVtbDtsamFkLCBrdWkgc29vdmlkIG11dXRhIGthc3V0YWphIHBhcm9vbGknOwokbGFuZ1snZWRpdHVzZXInXSA9ICdNdXVkYSBLYXN1dGFqYXQnOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGV1c2VyJ10gPSAnT2xlZCBzYSBraW5kZWwsIGV0IHNvb3ZpZCBrdXN0dXRhZGEgc2VsbGUgb3NhbGlzZWx0IHJlZ2lzdHJlZXJpbnVkIGthc3V0YWphPyc7CiRsYW5nWydoZHJfdXNlcmlkJ10gPSAnS2FzdXRhamEgSUQnOwokbGFuZ1snaGRyX3VzZXJuYW1lJ10gPSAnS2FzdXRhamFuaW1pJzsKJGxhbmdbJ2hkcl9ncnBuYW1lJ10gPSAnR3J1cHAnOwokbGFuZ1snaGRyX2NyZWF0ZWQnXSA9ICdMb29kdWQnOwokbGFuZ1snaGRyX2VtYWlsJ10gPSAnRS1tYWlsJzsKJGxhbmdbJ3VzZXJzZm91bmQnXSA9ICdLYXN1dGFqYSh0KSBsZWl0dWQgKG1ha3NpbWFhbHNlbHQgMjUwKSc7CiRsYW5nWyd1c2VycyddID0gJ0thc3V0YWphZCc7CiRsYW5nWydsaXN0MWRheSddID0gJ04mYXVtbDtpdGEgayZvdGlsZGU7aWtpIHNpc2VzdHVzaSwgbWlzIG9uIHZhbmVtYWQga3VpIDEgcCZhdW1sO2V2JzsKJGxhbmdbJ3N1YmplY3QnXSA9ICdWJmF1bWw7bGphbWluZXZhIGUtbWFpbGkgdGVlbWEnOwokbGFuZ1snaHRtbGJvZHknXSA9ICdIVE1MIGtpcmphIHNpc3UnOwokbGFuZ1sndGV4dGJvZHknXSA9ICdUZWtzdGlwJm90aWxkZTtoaXNlIGtpcmphIHNpc3UnOwokbGFuZ1sncHJvbXB0X251bXJlc2V0cmVjb3JkJ10gPSAnTSZvdGlsZGU7bmluZ2F0ZSBrYXN1dGFqYXRlIHJlZ2lzdHJlZXJpbWluZSBvbiBwb29sZWxpLiBIZXRrZWwgb24gbmVpZCBrYXN1dGFqYWlkOic7CiRsYW5nWydyZW1vdmUxd2VlayddID0gJ0VlbWFsZGEgayZvdGlsZGU7aWsgc2lzZXN0dXNlZCwgbWlzIG9uIHZhbmVtYWQga3VpIDEgbiZhdW1sO2RhbCc7CiRsYW5nWydyZW1vdmUxbW9udGgnXSA9ICdFZW1hbGRhIGsmb3RpbGRlO2lrIHNpc2VzdHVzZWQsIG1pcyBvbiB2YW5lbWFkIGt1aSAxIGt1dSc7CiRsYW5nWydyZW1vdmUxZGF5J10gPSAnRWVtYWxkYSBrJm90aWxkZTtpayBzaXNlc3R1c2VkLCBtaXMgb24gdmFuZW1hZCBrdWkgMSBwJmF1bWw7ZXYnOwokbGFuZ1sncmVtb3ZlYWxsJ10gPSAnRWVtYWxkYSBrJm90aWxkZTtpayBzaXNlc3R1c2VkJzsKJGxhbmdbJ2FyZXlvdXN1cmUnXSA9ICdPbGVkIHNhIGtpbmRlbD8nOwokbGFuZ1sncmVnaXN0cmF0aW9uX2luZm9fZWRpdGVkJ10gPSAnU2ludSByZWdpc3RyZWVyaW1pc2luZm8gb24gdXVlbmRhdHVkJzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbl9jb25maXJtYXRpb24nXSA9ICdSZWdpc3RyZWVyaW1pc2UgS2lubml0dXMnOwokbGFuZ1sndXNlcl9yZWdpc3RyYXRpb24nXSA9ICdSZWdpc3RyZWVyaSc7CiRsYW5nWydmaW5hbG1lc3NhZ2VfdGVtcGxhdGUnXSA9ICdMJm90aWxkZTtwbGlrdSBUZWF0ZSBNYWxsJzsKJGxhbmdbJ3RpdGxlX3ZlcmlmeXJlZ2lzdHJhdGlvbiddID0gJ0tpbm5pdGEgUmVnaXN0cmVlcmluZyc7CiRsYW5nWydjb2RlJ10gPSAnVHVydmFrb29kJzsKJGxhbmdbJ2RlZmF1bHQnXSA9ICdUYWFzdGEgYWxnc2VhZGVkJzsKJGxhbmdbJ2Vycm9yX25vcHJvcGVydGllcyddID0gJ1NlbGxlIGthc3V0YWphIG9tYWR1c2kgZWkgbGVpdHVkJzsKJGxhbmdbJ2Vycm9yX25vcHJvcHJlbGF0aW9ucyddID0gJ1Nlb3NlaWQgb21hZHVzdGVnYSBlaSBvbGUnOwokbGFuZ1snZXJyb3JfZW1haWxpbnZhbGlkJ10gPSAnVmlnYW5lIGUtbWFpbGkgYWFkcmVzcyc7CiRsYW5nWydlcnJvcl9ub2VtYWlsYWRkcmVzcyddID0gJ0tlaHRpdmF0IGUtbWFpbGkgYWFkcmVzc2kgdiZhdW1sO2xqYSBlaSBsZWl0dWQnOwokbGFuZ1snZXJyb3JfcmVxdWlyZWRmaWVsZCddID0gJyVzIHYmYXVtbDtsaSBvbiBrb2h1c3R1c2xpayc7CiRsYW5nWydyZWdpc3RyYXRpb24xX3RlbXBsYXRlJ10gPSAnUmVnc2l0cmVlcmltaXNlIE1hbGwgMSc7CiRsYW5nWydyZWdpc3RyYXRpb24yX3RlbXBsYXRlJ10gPSAnUmVnc2l0cmVlcmltaXNlIE1hbGwgMic7CiRsYW5nWydlbWFpbGNvbmZpcm1fdGVtcGxhdGUnXSA9ICdLaW5uaXR1c2UgRS1tYWlsaSBNYWxsJzsKJGxhbmdbJ2VtYWlsdXNlcmVkaXRlZF90ZW1wbGF0ZSddID0gJ0thc3V0YWphIEluZm8gTXV1ZGV0dWQgTWFsbCc7CiRsYW5nWydwcmVmZXJlbmNlcyddID0gJ0VlbGlzdHVzZWQnOwokbGFuZ1snZXJyb3JfdXNlcm5vdGZvdW5kJ10gPSAnS2FzdXRhamF0IGVpIGxlaXR1ZCc7CiRsYW5nWydlcnJvcl9pbnZhbGlkdXNlcm5hbWUnXSA9ICdrYXN1dGFqYW5pbWkgb24gdmlnYW5lIChsaWlnYSBwaWtrLCBsJnV1bWw7aGlrZSwgdiZvdGlsZGU7aSBzaXNhbGRhYiBrZWVsYXR1ZCBtJmF1bWw7cmtlKS4gTWVlbGRldHVsZXR1czoga2FzdXRhamFuaW1pIHYmb3RpbGRlO2liIHNpc2FsZGFkYSB2YWlkIHQmYXVtbDtodGkgKHQmdXVtbDtoaWt1ZCBqYSBzcGV0c2lhYWxzZWQgbSZhdW1sO3JnaWQtcyZ1dW1sO21ib2xpZCBrZWVsYXR1ZCknOwokbGFuZ1snZXJyb3JfdXNlcm5hbWV0YWtlbiddID0gJ1NlZSBrYXN1dGFqYW5pbWkgb24ganViYSBrYXN1dHVzZWwnOwokbGFuZ1snZXJyb3JfcGFzc3dvcmRzZG9udG1hdGNoJ10gPSAnVklHQTogUGFyb29saWQgZWkga2F0dHUnOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhc3N3b3JkJ10gPSAnUGFyb29sIG9uIHZpZ2FuZSAocGFyb29saWQgcGVhdmFkIG9sZW1hIHYmYXVtbDtoZW1hbHQgJXMga3VuaSAlcyB0JmF1bWw7aGVtJmF1bWw7cmtpIHBpa2FkKSc7CiRsYW5nWydlcnJvcl9lbXB0eXVzZXJuYW1lJ10gPSAnS2FzdXRhamFuaW1pIHBlYWIgb2xlbWEgdCZhdW1sO2lkZXR1ZCc7CiRsYW5nWydyZXBlYXRwYXNzd29yZCddID0gJ1Bhcm9vbCAodXVlc3RpKSc7CiRsYW5nWydwYXNzd29yZCddID0gJ1Bhcm9vbCc7CiRsYW5nWyd1c2VybmFtZSddID0gJ0thc3V0YWphbmltaSc7CiRsYW5nWydlcnJvcl9pbnN1ZmZpY2llbnRwYXJhbXMnXSA9ICdNb29kdWxpbGUgYW50dWQgcGFyYW1lZXRyaXRlIGFydiBvbiBlYmFwaWlzYXYgdiZvdGlsZGU7aSB2aWdhbmUnOwokbGFuZ1snZXJyb3Jfbm9mZXVzZXJzbW9kdWxlJ10gPSAnRWkgc3V1ZGEgbGFhZGlkYSBFTEsgbW9vZHVsaXQnOwokbGFuZ1snZXJyb3Jfbm9zdWNoZ3JvdXAnXSA9ICdTZWxsaXNlIG5pbWVnYSBncnVwcGkgZWkgZWtzaXN0ZWVyaSc7CiRsYW5nWydzZW5kX2VtYWlsc190byddID0gJ1JlZ2lzdHJlZXJpbWlzZSBlLW1hbGlkIHR1bGVrcyBzYWF0YSBhYWRyZXNzaWxlJzsKJGxhbmdbJ3JlcXVpcmVfZW1haWxfY29uZmlybWF0aW9uJ10gPSAnS2FzdXRhamEgcGVhYiBvbWEgcmVnaXN0cmVlcmluZ3UgZS1tYWlsaSB0ZWVsIGtpbm5pdGFtYSc7CiRsYW5nWydub3RpZnlfb25fcmVnaXN0cmF0aW9uJ10gPSAnU2FhZGEgdGVhZGEsIGt1aSBrZWVnaSByZWdpc3RyZWVyaWInOwokbGFuZ1snY2FuY2VsJ10gPSAnVCZ1dW1sO2hpc3RhJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ1NhYWRhJzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0VuZXNlIFJlZ2lzdHJlZXJpbWlzZSBNb29kdWwnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdJbnN0YWxsZWVyaW1pbmUgJm90aWxkZTtubmVzdHVzLiBNJmF1bWw7JmF1bWw7cmEga2luZGxhc3RpIGFzamFnYSBzZW90dWQga2FzdXRhamF0ZWxlICZxdW90O01vZGlmeSBTZWxmUmVnaXN0cmF0aW9uIFNldHRpbmdzJnF1b3Q7ICZvdGlsZGU7aWd1cy4nOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ0VuZXNlIFJlZ2lzdHJlZXJpbWlzZSBNb29kdWwgZWVtYWxkYXR1ZC4nOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb29kdWwgZWVtYWxkYXR1ZC4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9vZHVsaSB2ZXJzaW9vbiAlcyBpbnN0YWxsZWVyaXR1ZC4nOwokbGFuZ1sncHJlZnN1cGRhdGVkJ10gPSAnTW9vZHVsaSBlZWxpc3R1c2VkIHV1ZW5kYXR1ZC4nOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnTGlnaXAmYXVtbDsmYXVtbDtzIGtlZWxhdHVkLiBQYWx1biBrb250cm9sbGkgb21hICZvdGlsZGU7aWd1c2kuJzsKJGxhbmdbJ2Vycm9yJ10gPSAnVmlnYSEnOwokbGFuZ1sndXBncmFkZWQnXSA9ICdNb29kdWwgdXVlbmRhdHVkIHZlcnNpb29uaWxlICVzLic7CiRsYW5nWyd0aXRsZV9tb2RfcHJlZnMnXSA9ICdNb29kdWxpIEVlbGlzdHVzZWQnOwokbGFuZ1sndGl0bGVfbW9kX2FkbWluJ10gPSAnTW9vZHVsaSBBZG1pbnN0cmVlcmltaXNwYW5lZWwnOwokbGFuZ1sndGl0bGVfYWRtaW5fcGFuZWwnXSA9ICdFbmVzZSBSZWdpc3RyZWVyaW1pc2UgTW9vZHVsJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnTW9vZHVsLCBtaXMgbGFzZWIgZWVzbGlpdGUgKGtvZHVsZWhlIGthc3V0YWphbGlpZGVzZSkga2FzdXRhamF0ZWwgZW5uYXN0IGlzZSBrYXN1dGFqYWtzIHJlZ3NpdHJlZXJpZGEuJzsKJGxhbmdbJ3dlbGNvbWVfdGV4dCddID0gJzxwPlRlcmUgdHVsZW1hc3QgRW5lc2UgUmVnaXN0cmVlcmltaXNlIE1vb2R1bGlsZS48L3A+JzsKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4NCjxsaT5WZXJzaW9uIDAuMC4xLiBPY3QgMjAwNS4gSW5pdGlhbCBOUlBUIChOb3QgUmVhZHkgZm9yIFByaW1lIFRpbWUpIHJlbGVhc2UuPC9saT4NCjxsaT5WZXJzaW9uIDAuMS4wLiBPY3QgMjAwNS4gSW5pdGlhbCByZWxlYXNlLjwvbGk+DQo8bGk+VmVyc2lvbiAwLjEuMS4gT2N0IDIwMDUuIFNldCB0aGUgSFRNTCBtYWlsIGZsYWcuPC9saT4NCjxsaT5WZXJzaW9uIDAuMS4yLiBPY3QgMjAwNS4gTW92ZWQgUmFuZG9tIHN0dWZmIGludG8gZmV1c2VycywgYW5kIGFkZGVkIHRoZSBhYmlsaXR5IHRvIGRlbGV0ZSBvbGQgZW50cmllcyBmcm9tIHRoZSByZWdpc3RyYXRpb24gdGVtcG9yYXJ5IHRhYmxlczwvbGk+DQo8bGk+PHA+VmVyc2lvbiAwLjEuMy4gLSBEZWMgMjAwNTwvcD4NCjxwPkZpeGVkIHRoZSB0b2dnbGVzIGluIHRoZSBhZG1pbiBwcmVmZXJlbmNlcy4gIEFsc28sIGNoYW5nZWQgdGhlIHBlcm1pc3Npb25zIG1vZGVsIHRvIG5vdCByZXF1aXJlIHRoZSB1bmlxdWUgcGVybWlzc2lvbiBhZGRlZCBwcmV2aW91c2x5IGZvciB0aGUgc2VsZnJlZyBtb2R1bGUuPC9wPg0KPHA+VGhpcyByZWxlYXNlIHdhcyByZW1vdmVkIGR1ZSB0byBwb3NzaWJsZSBlcnJvcnM8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMC4xLjQuIC0gSmFuIDIwMDY8L3A+DQo8cD5GaXhlZCBtaW5vciBlcnJvcnMgd2l0aCBDaGVja1Blcm1pc3Npb24sIHJlcGxhY2VkIGFsbCBhc3NpZ25fYnlfcmVmcyYjMDM5O3Mgd2l0aCBhc3NpZ25zIGZvciBob3BlZnVsIHBocDUgY29tcGF0aWJpbGl0eS48L3A+DQo8bGk+PHA+VmVyc2lvbiAwLjEuNS4gLSBKYW4gMjAwNjwvcD4NCjxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIHNldCB0aGUgc3ViamVjdCBvZiB0aGUgY29uZmlybWF0aW9uIGVtYWlsLCBhbmQgYWRkZWQgdGhlIGFiaWxpdHkgdG8gc3BlY2lmeSBhIHRleHQgYm9keS4gIFN1YmplY3QsIGFuZCB0ZXh0IGJvZHkgYXJlIHJlcXVpcmVkLjwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjAuMC4gLSBGZWIgMjAwNjwvcD4NCjxwPkZpeGVkIGEgcHJvYmxlbSB3aXRoIHRoZSB2ZXJpZnkgbW9kZS48L3A+DQo8cD5BZGRlZCB0aGUgYWJpbGl0eSB0byBlZGl0IGFuZCBkZWxldGUgdXNlcnMuIHdpdGggc2VsZWN0aW9uIG9uIHRoZSBjaGVja2JveGVzLCBhbmQgJnF1b3Q7Y2hlY2thbGwmcXVvdDs8L3A+DQo8cD5Ob3cgcmVxdWlyZSBGRVVzZXJzIDAuMS44IGFuZCBDTVNNYWlsZXIgMS43My45PC9wPg0KPHA+QWRkZWQgYW5vdGhlciB0YWIgZm9yIHRoZSAmcXVvdDt5b3VyIHNldHRpbmdzIGhhdmUgYmVlbiBhZGp1c3RlZCZxdW90OyBlbWFpbCB0ZW1wbGF0ZXM8L3A+DQo8cD5BZGRlZCBDU1YgRXhwb3J0aW5nPC9wPg0KPHA+QWRkZWQgYSAmcXVvdDtEZWxldGUgYWxsIHVzZXJzIG9sZGVyIHRoYW4gYSBkYXkmcXVvdDsgYnV0dG9uPC9wPg0KPHA+Tm93IHdvcmtzIHdpdGggdGhlIG1heGltdW0gbGVuZ3RoIGZpZWxkIG9mIEZFVXNlcnM8L3A+DQo8cD5BZGRlZCBzdXBwb3J0IGZvciBkcm9wZG93bnMgYW5kIHRleHQgYXJlYXM8L3A+DQo8cD5EaXNhbGxvdyBwdW5jdHVhdGlvbiBjaGFyYWN0ZXJzIGluIHVzZXJuYW1lPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC4xLiAtIEZlYiAyMDA2PC9wPg0KPHA+QWRkZWQgdGhlIGFiaWxpdHkgZm9yIHVzZXJzIHRvIHJlcXVlc3QgYW5vdGhlciByZWdpc3RyYXRpb24gZW1haWwgKHVzZXMgdGhlIHNhbWUgY29kZSksIGluY2FzZSB0aGV5IGxvc3QgdGhlaXIgZmlyc3Qgb25lLjwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjAuMi4gLSBGZWIgMjAwNjwvcD4NCjxwPlRoZSAmcXVvdDtSZXF1aXJlIGVtYWlsIGNvbmZpcm1hdGlvbiZxdW90OyBjaGVja2JveCBub3cgd29ya3MuICBVc2VycyBhcmUgYWRkZWQgc3RyYWlnaHQgdG8gdGhlIGZyb250ZW5kIHVzZXJzIGRhdGFiYXNlPC9wPg0KPHA+Rml4ZWQgYSBidWcgd2l0aCB0aGUgY29uZmlybWF0aW9uIGVtYWlscyBoYXZpbmcgbGlua3MgdG8gdGhlIGFkbWluIHNlY3Rpb24gKG5ldyBidWcgb25seSkuPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC4zLiAtIEZlYiAyMDA2PC9wPg0KPHA+QWRkZWQgdGhlIChvcHRpb25hbCkgYWJpbGl0eSB0byByZXF1aXJlIHRoZSB1c2VyIGVudGVyIHRoZSBlbWFpbCBhZGRyZXNzIHR3aWNlPC9wPg0KPHA+Rml4ZWQgYSBidWcgd2l0aCB0aGUgdXNlcmVkaXRlZCBtZXNzYWdlIG5vdCBiZWluZyB0aHJvd24gdGhyb3VnaCBzbWFydHk8L3A+DQo8cD5GaXhlZCB0aGUgZGVmYXVsdCByZWdpc3RyYXRpb24gdGVtcGxhdGUgYSBiaXQgdG8gYWlkZSBpbiB2YWxpZGF0aW9uIGZvciBub24gcmVxdWlyZWQgZmllbGRzIChmaXhlZCBhIHdhcm5pbmcpPC9wPg0KPHA+Rml4IHByb2JsZW1zIHdpdGggaW5saW5lIGFuZCBub24taW5saW5lIGZvcm1zIGFuZCBsaW5rczwvcD4NCjxwPkhhbmRsZSBhbm90aGVyIGNhc2Ugd2hlcmUgdGhlIGFkbWluIG1heSBub3QgaGF2ZSBjcmVhdGVkIHRoZSBwcm9wZXIgdHlwZSBvZiBlbWFpbCBwcm9wZXJ0eTwvcD4NCjxwPkNoYW5nZWQgdG8gcmVxdWlyZSBDTVMgMC4xMi1iZXRhMiBhdCBhIG1pbmltdW0gKGZvciBzYWZldHkgcHVycG9zZXMpPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC40LiAtIE1hciAyMDA2PC9wPg0KPHA+TW9yZSBjb250cm9sIG92ZXIgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIGZpZWxkIHNpemVzIChjb250cm9sbGVkIGJ5IGZldXNlcnMpPC9wPg0KPHA+Q29uZmlybWF0aW9uIG9uIGVkaXRpbmcgcHJlZmVyZW5jZXM8L3A+DQo8cD5SZXF1aXJlIDAuMTIgcHJvcGVyIG9mIGNtcyBhcyBhIG1pbmltdW08L3A+DQo8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPg0KPHA+VGhpcyBtb2R1bGUgaXMgZGVzaWduZWQgdG8gYWxsb3cgZnJvbnQgZW5kIHVzZXJzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMgYW5kIGZpbGwgaW4gdGhlIHJlcXVpcmVkIGluZm9ybWF0aW9uLiAgSXQgdGhlbiBzZW5kcyBhIGNvbmZpcm1hdGlvbiBlbWFpbCwgd2l0aCBhIGxpbmsgdG8gYSBzZWNvbmQgcGFnZSB0aGF0IG11c3QgYmUgY29tcGxldGVkIGJlZm9yZSB0aGUgcmVnaXN0cmF0aW9uIGlzIGNvbXBsZXRlLiAgT25jZSByZWdpc3RyYXRpb24gaXMgY29tcGxldGUsIGEgdXNlciBhY2NvdW50IGlzIGNyZWF0ZWQgaW4gdGhlIGZyb250IGVuZCB1c2VycyBtb2R1bGUuPC9wPg0KPHA+SW4gb3JkZXIgdG8gdXNlIHRoaXMgbW9kdWxlLCB5b3UgbXVzdCBjcmVhdGUgYSBwcm9wZXJ0eSBvZiB0eXBlICZxdW90O0VtYWlsIEFkZHJlc3MmcXVvdDsgaW4gdGhlIEZyb250ZW5kVXNlcnMgbW9kdWxlLCBhbmQgYXNzb2NpYXRlIHRoYXQgcHJvcGVydHkgd2l0aCB0aGUgZ3JvdXAgdG8gYmUgdXNlZCBmb3Igc2VsZiByZWdpc3RyYXRpb24uPC9wPg0KPGgzPkhvdyBEbyBJIFVzZSBJdDwvaDM+DQo8cD5Zb3UgcGxhY2UgdGhlIGZvbGxvd25nIHRhZyBpbnRvIHlvdXIgcGFnZSB7Y21zX21vZHVsZSBtb2R1bGU9U2VsZlJlZ2lzdHJhdGlvbiBncm91cD11c2VyZ3JvdXB9PC9wPg0KPHA+WW91IG11c3QgaGF2ZSBwcmV2aW91c2x5IGNyZWF0ZWQgcHJvcGVydGllcyBhbmQgdXNlciBncm91cHMgaW4gdGhlIEZyb250RW5kVXNlcnMgbW9kdWxlIGluIG9yZGVyIGZvciB0aGlzIHRvIHdvcmsgcHJvcGVybHkuPC9wPg0KPGgzPlBhcmFtZXRlcnM8L2gzPg0KPHA+PHN0cm9uZz5tb2RlPC9zdHJvbmc+Jm5ic3A7PGVtPm9wdGlvbmFsPC9lbT4gLSBwb3NzaWJsZSB2YWx1ZXMgYXJlICZxdW90O3NpZ251cCZxdW90OyBhbmQgJnF1b3Q7dmVyaWZ5JnF1b3Q7LiAgSWYgdGhpcyBwYXJhbWV0ZXIgaXMgbm90IHNwZWNpZmllZCwgJnF1b3Q7c2lnbnVwJnF1b3Q7IGlzIGFzc3VtYmVkLjwvcD4NCjxwPjxzdHJvbmc+Z3JvdXA8L3N0cm9uZz4mbmJzcDs8ZW0+b3B0aW9uYWw8L2VtPiAtIFRoaXMgcGFyYW1ldGVyIGlzIHJlcXVpcmVkIGlmIG1vZGUgaXMgJnF1b3Q7c2lnbnVwJnF1b3Q7LCBvciBpZiBtb2RlIGlzIGxlZnQgZW1wdHkuPC9wPg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCBjYWxndXkmIzAzOTtzDQptb2R1bGUgaG9tZXBhZ2UgYXQgPGEgaHJlZj0mcXVvdDtodHRwOi8vdGVjaGNvbS5keW5kbnMub3JnJnF1b3Q7PnRlY2hjb20uZHluZG5zLm9yZzwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9JnF1b3Q7aHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnJnF1b3Q7PkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+DQo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSZxdW90O2lyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyZxdW90Oz5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkuPC9saT4gIA0KPC91bD4NCjxwPkFzIHBlciB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkIGFzLWlzLiBQbGVhc2UgcmVhZCB0aGUgdGV4dA0Kb2YgdGhlIGxpY2Vuc2UgZm9yIHRoZSBmdWxsIGRpc2NsYWltZXIuPC9wPg0KDQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPkNvcHlyaWdodCAmY29weTsgMjAwNSwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0mcXVvdDttYWlsdG86Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbSZxdW90Oz48Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbT48L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiByZWxlYXNlZCB1bmRlciB0aGUgPGEgaHJlZj0mcXVvdDtodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwmcXVvdDs+R05VIFB1YmxpYyBMaWNlbnNlPC9hPi4gWW91IG11c3QgYWdyZWUgdG8gdGhpcyBsaWNlbnNlIGJlZm9yZSB1c2luZyB0aGUgbW9kdWxlLjwvcD4NCic7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjExNTcxMjE2MTguMS4xLnV0bWNjbj0oZGlyZWN0KXx1dG1jc3I9KGRpcmVjdCl8dXRtY21kPShub25lKSc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjE1MjYzMzIwNTMuMTE1NzEyMTYxOC4xMTU3NjU5OTQyLjExNTc3NDU5NTAuNSc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/fi_FI.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2Vycm9yX2NvZGVzZG9udG1hdGNoJ10gPSAnVmFsdHV1dHVzYXZhaW4gb24gdiZhdW1sOyZhdW1sO3ImYXVtbDsnOwokbGFuZ1snZXZlbnRfZGVzY3JpcHRpb25fb25OZXdVc2VyJ10gPSAnQW4gZXZlbnQgaW5kaWNhdGluZyB0aGF0IGEgbmV3IHVzZXIgaGFzIGNvbXBsZXRlZCB0aGUgcmVnaXN0cmF0aW9uIGZvcm0nOwokbGFuZ1snZXZlbnRfZGVzY3JpcHRpb25fb25Vc2VyUmVnaXN0ZXJlZCddID0gJ0FuIGV2ZW50IGluZGljYXRpbmcgdGhhdCBhIHVzZXIgaGFzIHZlcmlmaWVkIGhpcyBpbmZvcm1hdGlvbiBhbmQgaXMgbm93IGNvbXBsZXRlbHkgcmVnaXN0ZXJlZCc7CiRsYW5nWydldmVudF9oZWxwX29uTmV3VXNlciddID0gJzxwPkFuIGV2ZW50IGluZGljYXRpbmcgdGhhdCBhIG5ldyB1c2VyIGhhcyBjb21wbGV0ZWQgdGhlIHJlZ2lzdHJhdGlvbiBmb3JtPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gVGhlIG5ldyB1c2VycyBzZWxlY3RlZCB1c2VybmFtZTwvbGk+DQo8bGk+PGVtPmVtYWlsPC9lbT4gLSBUaGUgbmV3IHVzZXJzIGVtYWlsIGFkZHJlc3M8L2xpPg0KPC91bD4NCic7CiRsYW5nWydldmVudF9oZWxwX29uVXNlclJlZ2lzdGVyZWQnXSA9ICc8cD5BbiBldmVudCBpbmRpY2F0aW5nIHRoYXQgYSB1c2VyIGhhcyBiZWVuIHZlcmlmaWVkIGFuZCBpcyBub3cgcmVnaXN0ZXJlZCB3aXRoIGZldXNlcnM8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBUaGUgcmVnaXN0ZXJlZCB1c2VybmFtZTwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2NvbmZpcm1fc3VibWl0cHJlZnMnXSA9ICdWYWloZGEgaGFsbGlubmFuIGFzZXR1a3NpYT8nOwokbGFuZ1snaW5mb19hZG1pbl9wYXNzd29yZCddID0gJ0omYXVtbDt0JmF1bWw7IHQmYXVtbDttJmF1bWw7IGtlbnR0JmF1bWw7IHR5aGomYXVtbDtrc2kgcyZhdW1sO2lseXR0JmF1bWw7JmF1bWw7a3Nlc2kgayZhdW1sO3l0dCZhdW1sO2omYXVtbDtuIHNhbGFzYW5hbic7CiRsYW5nWydpbmZvX2FkbWluX3JlcGVhdHBhc3N3b3JkJ10gPSAnSiZhdW1sO3QmYXVtbDsgdCZhdW1sO20mYXVtbDsga2VudHQmYXVtbDsgdHloaiZhdW1sO2tzaSBzJmF1bWw7aWx5dHQmYXVtbDsmYXVtbDtrc2VzaSBrJmF1bWw7eXR0JmF1bWw7aiZhdW1sO24gc2FsYXNhbmFuJzsKJGxhbmdbJ2Vycm9yX2VtYWlsZG9lc25vdG1hdGNoJ10gPSAnRW1haWwgb3NvaXR0ZWV0IGVpdiZhdW1sO3Qgb2xlIHNhbWF0JzsKJGxhbmdbJ2ZvcmNlX2VtYWlsX3R3aWNlJ10gPSAnVmFhZGkgayZhdW1sO3l0dCZhdW1sO2ppbHQmYXVtbDsgZW1haWwgb3NvaXRlIGthaHRlZW4ga2VydGFhbic7CiRsYW5nWydhZ2FpbiddID0gJ3V1ZGVzdGFhbic7CiRsYW5nWydkZWxldGVzZWx1c2VycyddID0gJ1BvaXN0YSB2YWxpdHV0IGsmYXVtbDt5dHQmYXVtbDtqJmF1bWw7dCc7CiRsYW5nWydlcnJvcl9ub3Byb3BkZWZucyddID0gJ0VpIG9taW5haXN1dWtzaWEgdGFpIG9uZ2VsbWEgdGlldG9rYW5uYXNzYSc7CiRsYW5nWydlcnJvcl9ub2dyb3VwcyddID0gJ0VpIHJ5aG1pJmF1bWw7IHRhaSBvbmdlbG1hIHRpZXRva2FubmFzc2EnOwokbGFuZ1snZXJyb3JfZGJlcnJvciddID0gJ1RpZXRva2FudGEgdmlyaGUnOwokbGFuZ1sndGl0bGVfcG9zdF9zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJ10gPSAnTCZhdW1sO2hldCZhdW1sOyB1bm9oZGl0a28gc2FsYXNhbmFzaSBlbWFpbGluIHBvaGphJzsKJGxhbmdbJ3RpdGxlX3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnXSA9ICdVbm9oZGl0a28gc2FsYXNhbnNpIGVtYWlsIHBvaGphJzsKJGxhbmdbJ2NsaWNraGVyZSddID0gJ1BhaW5hIHQmYXVtbDtzdCZhdW1sOyc7CiRsYW5nWydtc2dfc2VuZGFub3RoZXJlbWFpbCddID0gJ09sZW4gam8gc3Vvcml0dGFudXQgcmVraXN0ZXImb3VtbDtpbm5pbiwgbXV0dGEgZW4gc2FhbnV0IHMmYXVtbDtoayZvdW1sO3Bvc3RpYS4nOwokbGFuZ1snc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSddID0gJ1Vub2hkaXRrbyBzYWxhc2Fuc2kgZW1haWwgcG9oamEnOwokbGFuZ1snaW5mb191c2VydmVyaWZpZWQnXSA9ICdVdXNpIGsmYXVtbDt5dHQmYXVtbDtqJmF1bWw7IGxpcyZhdW1sO3R0eSBGcm9udEVuZFVzZXJzaWluJzsKJGxhbmdbJ2VkaXQnXSA9ICdNdW9ra2FhJzsKJGxhbmdbJ3Vua25vd24nXSA9ICdUdW50ZW1hdG9uJzsKJGxhbmdbJ3NlbGVjdCddID0gJ1ZhbGl0c2UnOwokbGFuZ1snY2hlY2tfYWxsJ10gPSAnVmFsaXRzZSBrYWlra2lhJzsKJGxhbmdbJ3VuY2hlY2tfYWxsJ10gPSAnUG9pc3RhIHZhbGlubmF0JzsKJGxhbmdbJ3NlbmRfYWRqdXN0bWVudGVtYWlsJ10gPSAnTCZhdW1sO2hldCZhdW1sOyBlbWFpbCBrJmF1bWw7eXR0JmF1bWw7aiZhdW1sO2xsZSc7CiRsYW5nWyd0eHRfYWRqdXN0bWVudGVtYWlsJ10gPSAnKGtlcnRvbyBrJmF1bWw7eXR0JmF1bWw7aiZhdW1sO2xsZSB0aWxpbiBtdW9ra2F1a3Nlc3RhKSc7CiRsYW5nWyd0eHRfY2hhbmdlcGFzc3dvcmQnXSA9ICdUJmF1bWw7eXQmYXVtbDsgbiZhdW1sO20mYXVtbDsga2VudCZhdW1sO3QgdmFpaHRhYWtzZXNpIGsmYXVtbDt5dHQmYXVtbDtqJmF1bWw7biBzYWxhc2FuYW4nOwokbGFuZ1snZWRpdHVzZXInXSA9ICdNdW9ra2FhIGsmYXVtbDt5dHQmYXVtbDtqJmF1bWw7JmF1bWw7JzsKJGxhbmdbJ2FyZXlvdXN1cmVfZGVsZXRldXNlciddID0gJ09sZXRrbyB2YXJtYSBldHQmYXVtbDsgaGFsdWF0IHBvaXN0YWEgdCZhdW1sO20mYXVtbDtuIHB1b2xpdHRhaW4gcmVraXN0ZXImb3VtbDtpZHluIGsmYXVtbDt5dHQmYXVtbDtqJmF1bWw7bic7CiRsYW5nWydoZHJfdXNlcmlkJ10gPSAnSyZhdW1sO3l0dCZhdW1sO2omYXVtbDsgSUQnOwokbGFuZ1snaGRyX3VzZXJuYW1lJ10gPSAnSyZhdW1sO3l0dCZhdW1sO2omYXVtbDt0dW5udXMnOwokbGFuZ1snaGRyX2dycG5hbWUnXSA9ICdSeWhtJmF1bWw7JzsKJGxhbmdbJ2hkcl9jcmVhdGVkJ10gPSAnTHVvdHUnOwokbGFuZ1snaGRyX2VtYWlsJ10gPSAnRW1haWwnOwokbGFuZ1sndXNlcnNmb3VuZCddID0gJ0smYXVtbDt5dHQmYXVtbDtqaSZhdW1sOyBsJm91bWw7eWRldHR5IChuJmF1bWw7eXRldCZhdW1sOyZhdW1sO24gbWFrc2ltaXNzYWFuIDI1MCknOwokbGFuZ1sndXNlcnMnXSA9ICdLJmF1bWw7eXR0JmF1bWw7aiZhdW1sO3QnOwokbGFuZ1snbGlzdDFkYXknXSA9ICdMaXN0YWEgeWxpIHAmYXVtbDtpdiZhdW1sO24gdmFuaGF0JzsKJGxhbmdbJ3N1YmplY3QnXSA9ICdBaWhlIGwmYXVtbDtodGV2aWxsZSBlbWFpbGVpbGxlJzsKJGxhbmdbJ2h0bWxib2R5J10gPSAnSFRNTCBlbWFpbGluIHNpcyZhdW1sO2x0Jm91bWw7JzsKJGxhbmdbJ3RleHRib2R5J10gPSAnVGVrc3RpIGVtYWlsaW4gc2lzJmF1bWw7bHQmb3VtbDsnOwokbGFuZ1sncHJvbXB0X251bXJlc2V0cmVjb3JkJ10gPSAnSyZhdW1sO3l0dCZhdW1sO2ppJmF1bWw7IHQmYXVtbDtsbCZhdW1sOyBoZXRrZWxsJmF1bWw7IHJla2lzdGVyJm91bWw7aXR5bSZhdW1sO3NzJmF1bWw7OiAnOwokbGFuZ1sncmVtb3ZlMXdlZWsnXSA9ICdQb2lzdGEga2Fpa2tpIHlsaSB2aWlrb24gdmFuaGF0JzsKJGxhbmdbJ3JlbW92ZTFtb250aCddID0gJ1BvaXN0YSBrYWlra2kgeWxpIGt1dWthdWRlbiB2YW5oYXQnOwokbGFuZ1sncmVtb3ZlMWRheSddID0gJ1BvaXN0YSBrYWlra2kgeWxpIHAmYXVtbDtpdiZhdW1sO24gdmFuaGF0JzsKJGxhbmdbJ3JlbW92ZWFsbCddID0gJ1BvaXN0YSBrYWlra2knOwokbGFuZ1snYXJleW91c3VyZSddID0gJ09sZXRrbyB2YXJtYT8nOwokbGFuZ1sncmVnaXN0cmF0aW9uX2luZm9fZWRpdGVkJ10gPSAnUmVraXN0ZXImb3VtbDtpbnRpIHRpZXRvamEgbXV1dGV0dHUnOwokbGFuZ1sncmVnaXN0cmF0aW9uX2NvbmZpcm1hdGlvbiddID0gJ1Jla2lzdGVyJm91bWw7aW5uaW4gdmFodmlzdHVzJzsKJGxhbmdbJ3VzZXJfcmVnaXN0cmF0aW9uJ10gPSAnUmVraXN0ZXImb3VtbDtpZHknOwokbGFuZ1snZmluYWxtZXNzYWdlX3RlbXBsYXRlJ10gPSAnS2lpdG9zIHZpZXN0aSBwb2hqYSc7CiRsYW5nWyd0aXRsZV92ZXJpZnlyZWdpc3RyYXRpb24nXSA9ICdWYXJtaXN0YSByZWtpc3RlciZvdW1sO2ludGknOwokbGFuZ1snY29kZSddID0gJ1ZhaHZpc3R1cyBhdmFpbic7CiRsYW5nWydkZWZhdWx0J10gPSAnUGFsYXV0YSBvbGV0dWtzZXQnOwokbGFuZ1snZXJyb3Jfbm9wcm9wZXJ0aWVzJ10gPSAnSyZhdW1sO3l0dCZhdW1sO2omYXVtbDtsdCZhdW1sOyBlaSBsJm91bWw7eWR5IG9taW5haXN1dWtzaWEnOwokbGFuZ1snZXJyb3Jfbm9wcm9wcmVsYXRpb25zJ10gPSAnRWkgb21pbmFpc3V1cyBzdWh0ZWl0YSc7CiRsYW5nWydlcnJvcl9lbWFpbGludmFsaWQnXSA9ICdWaXJoZWVsbGluZW4gZW1haWwgb3NvaXRlJzsKJGxhbmdbJ2Vycm9yX25vZW1haWxhZGRyZXNzJ10gPSAnRWkgayZhdW1sO3lwJmF1bWw7JmF1bWw7IGVtYWlsIG9zb2l0ZSBrZW50dCZhdW1sOyZhdW1sOyc7CiRsYW5nWydlcnJvcl9yZXF1aXJlZGZpZWxkJ10gPSAnS2VudHQmYXVtbDsgJXMgdCZhdW1sO3l0eXkgdCZhdW1sO3l0dCZhdW1sOyZhdW1sOyc7CiRsYW5nWydyZWdpc3RyYXRpb24xX3RlbXBsYXRlJ10gPSAnUmVraXN0ZXImb3VtbDtpbnRpIHBvaGphIDEnOwokbGFuZ1sncmVnaXN0cmF0aW9uMl90ZW1wbGF0ZSddID0gJ1Jla2lzdGVyJm91bWw7aW50aSBwb2hqYSAyJzsKJGxhbmdbJ2VtYWlsY29uZmlybV90ZW1wbGF0ZSddID0gJ1ZhaHZpc3R1cyBlbWFpbCBwb2hqYSc7CiRsYW5nWydlbWFpbHVzZXJlZGl0ZWRfdGVtcGxhdGUnXSA9ICdLJmF1bWw7eXR0JmF1bWw7aiZhdW1sO24gdGlldG9qYSB2YWloZGV0dHUgcG9oamEnOwokbGFuZ1sncHJlZmVyZW5jZXMnXSA9ICdBc2V0dWtzZXQnOwokbGFuZ1snZXJyb3JfdXNlcm5vdGZvdW5kJ10gPSAnSyZhdW1sO3l0dCZhdW1sO2omYXVtbDsmYXVtbDsgZWkgbCZvdW1sO3l0eW55dCc7CiRsYW5nWydlcnJvcl9pbnZhbGlkdXNlcm5hbWUnXSA9ICdLJmF1bWw7eXR0JmF1bWw7aiZhdW1sO3R1bm51cyBvbiB2aXJoZWVsbGluZW4gKGxpaWFuIGx5aHl0LCBsaWlhbiBwaXRrJmF1bWw7IHRhaSBzaXMmYXVtbDtsdCZhdW1sOyZhdW1sOyB2aXJoZWVsbGlzaSZhdW1sOyBtZXJra2VqJmF1bWw7KS4gSyZhdW1sO3l0dCZhdW1sO2omYXVtbDt0dW5udXMgZWkgc2FhIHNpcyZhdW1sO2x0JmF1bWw7JmF1bWw7IHZhaW4ga2lyamFpbWlhIGphIG51bWVyb2l0YSAoZWkgdiZhdW1sO2xpbHkmb3VtbDtudGkmYXVtbDspJzsKJGxhbmdbJ2Vycm9yX3VzZXJuYW1ldGFrZW4nXSA9ICdLJmF1bWw7eXR0JmF1bWw7aiZhdW1sO3R1bm51cyBvbiBqbyBrJmF1bWw7eXQmb3VtbDtzcyZhdW1sOyc7CiRsYW5nWydlcnJvcl9wYXNzd29yZHNkb250bWF0Y2gnXSA9ICdWaXJoZTogc2FsYXNhbmF0IGVpdiZhdW1sO3Qgb2xlIHlodGVuZXYmYXVtbDt0JzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXNzd29yZCddID0gJ1NhbGFzYW5hIG9uIHZpcmhlZWxsaW5lbi4gU2FsYXNhbmFuIHR1bGVlIG9sbGEgdiZhdW1sO2hpbnQmYXVtbDsmYXVtbDtuICVzIGphIGVuaW50JmF1bWw7JmF1bWw7biAlcyBtZXJra2kmYXVtbDsgcGl0ayZhdW1sOyc7CiRsYW5nWydlcnJvcl9lbXB0eXVzZXJuYW1lJ10gPSAnSyZhdW1sO3l0dCZhdW1sO2omYXVtbDt0dW5udXMgZWkgdm9pIG9sbGEgdHloaiZhdW1sOyc7CiRsYW5nWydyZXBlYXRwYXNzd29yZCddID0gJ1NhbGFzYW5hICh1dWRlc3RhYW4pJzsKJGxhbmdbJ3Bhc3N3b3JkJ10gPSAnU2FsYXNhbmEnOwokbGFuZ1sndXNlcm5hbWUnXSA9ICdLJmF1bWw7eXR0JmF1bWw7aiZhdW1sO3R1bm51cyc7CiRsYW5nWydjYXB0Y2hhX3RpdGxlJ10gPSAnU3kmb3VtbDt0JmF1bWw7IGt1dmFzc2Egb2xldmEgdGVrc3RpJzsKJGxhbmdbJ2Vycm9yX2luc3VmZmljaWVudHBhcmFtcyddID0gJ1YmYXVtbDsmYXVtbDtyJmF1bWw7dCBwYXJhbWV0cml0IG1vZHVsaSBrdXRzdXNzYSc7CiRsYW5nWydlcnJvcl9ub2ZldXNlcnNtb2R1bGUnXSA9ICdFaSB2b2l0dSBhbHVzdGFhIEZyb250RW5kVXNlcnMgbW9kdWxpYSc7CiRsYW5nWydlcnJvcl9ub3N1Y2hncm91cCddID0gJ1ZhbGl0dHVhIHJ5aG0mYXVtbDsmYXVtbDsgZWkgb2xlJzsKJGxhbmdbJ2Vycm9yX2NhcHRjaGFtaXNtYXRjaCddID0gJ0t1dmFzc2Egb2xldmEgamEgc3kmb3VtbDt0ZXR0eSB0ZWtzdGkgZWl2JmF1bWw7dCBvbGUgeWh0ZW5ldiZhdW1sO3QnOwokbGFuZ1snc2VuZF9lbWFpbHNfdG8nXSA9ICdSZWtpc3RlciZvdW1sO2ludGkgZW1haWxpdCBsJmF1bWw7aGV0ZSZhdW1sOyZhdW1sO24gb3NvaXR0ZWVzZWVuJzsKJGxhbmdbJ3JlcXVpcmVfZW1haWxfY29uZmlybWF0aW9uJ10gPSAnVmFhZGkgayZhdW1sO3l0dCZhdW1sO2omYXVtbDsmYXVtbDsgdmFodmlzdGFtYWFuIHJla2lzdGVyJm91bWw7aW50aSBzJmF1bWw7aGsmb3VtbDtwb3N0aWxsYSc7CiRsYW5nWydub3RpZnlfb25fcmVnaXN0cmF0aW9uJ10gPSAnTCZhdW1sO2hldCZhdW1sOyBlbWFpbCBpbG1vaXR1cyB1dWRlc3RhIHJla2lzdGVyJm91bWw7aW5uaXN0JmF1bWw7JzsKJGxhbmdbJ2NhbmNlbCddID0gJ1BlcnV1dGEnOwokbGFuZ1snc3VibWl0J10gPSAnTCZhdW1sO2hldCZhdW1sOyc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdTZWxmIFJlZ2lzdHJhdGlvbiBNb2R1bGUnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdJbnN0YWxsYXRpb24gc3VjY2Vzc2Z1bGwsIHBsZWFzZSByZW1lbWJlciB0byBzZXQgdGhlICZxdW90O01vZGlmeSBTZWxmUmVnaXN0cmF0aW9uIFNldHRpbmdzJnF1b3Q7IHBlcm1pc3Npb24uICBJZiB0aGUgQ2FwdGNoYSBtb2R1bGUgaXMgaW5zdGFsbGVkLCB0aGVuIGNhcHRjaGEgZnVuY3Rpb25hbGl0eSBpcyBlbmFibGVkIGJ5IGRlZmF1bHQuICBXZSBzdHJvbmdseSByZWNjb21tZW5kIHRoYXQgeW91IGluc3RhbGwgdGhpcyBtb2R1bGUuICBJZiB0aGUgQ2FwdGNoYSBtb2R1bGUgaXMgaW5zdGFsbGVkLCBhbmQgeW91IHdhbnQgdG8gZGlzYWJsZSBpdCwgdXNlIHRoZSBub2NhcHRjaGEgcGFyYW0gaW4geW91ciBzZWxmcmVnaXN0cmF0aW9uIHRhZy4nOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ1NlbGYgUmVnaXN0cmF0aW9uIG1vZHVsZSBpcyB1bmluc3RhbGxlZC4gIFNlZSB5b3UgbGF0ZXIuJzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTW9kdWxlIFVuaW5zdGFsbGVkLic7CiRsYW5nWydpbnN0YWxsZWQnXSA9ICdNb2R1bGUgdmVyc2lvbiAlcyBpbnN0YWxsZWQuJzsKJGxhbmdbJ3ByZWZzdXBkYXRlZCddID0gJ01vZHVsaW4gYXNldHVrc2V0IHAmYXVtbDtpdml0ZXR0eS4nOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnQWNjZXNzIERlbmllZC4gUGxlYXNlIGNoZWNrIHlvdXIgcGVybWlzc2lvbnMuJzsKJGxhbmdbJ2Vycm9yJ10gPSAnVmlyaGUhJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnTW9kdWxlIHVwZ3JhZGVkIHRvIHZlcnNpb24gJXMuJzsKJGxhbmdbJ3RpdGxlX21vZF9wcmVmcyddID0gJ01vZHVsaW4gYXNldHVrc2V0JzsKJGxhbmdbJ3RpdGxlX21vZF9hZG1pbiddID0gJ01vZHVsaW4gYXNldHVzIHBhbmVlbGknOwokbGFuZ1sndGl0bGVfYWRtaW5fcGFuZWwnXSA9ICdTZWxmIFJlZ2lzdHJhdGlvbiBNb2R1bGUnOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdBIG1vZHVsZSB0aGF0IGFsbG93cyBmcm9udCBlbmQgdXNlcnMgdG8gcmVnaXN0ZXIgdGhlbXNlbHZlcy4nOwokbGFuZ1snd2VsY29tZV90ZXh0J10gPSAnPHA+V2VsY29tZSB0byB0aGUgc2VsZiByZWdpc3RyYXRpb24gbW9kdWxlLjwvcD4nOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPg0KPGxpPlZlcnNpb24gMC4wLjEuIE9jdCAyMDA1LiBJbml0aWFsIE5SUFQgKE5vdCBSZWFkeSBmb3IgUHJpbWUgVGltZSkgcmVsZWFzZS48L2xpPg0KPGxpPlZlcnNpb24gMC4xLjAuIE9jdCAyMDA1LiBJbml0aWFsIHJlbGVhc2UuPC9saT4NCjxsaT5WZXJzaW9uIDAuMS4xLiBPY3QgMjAwNS4gU2V0IHRoZSBIVE1MIG1haWwgZmxhZy48L2xpPg0KPGxpPlZlcnNpb24gMC4xLjIuIE9jdCAyMDA1LiBNb3ZlZCBSYW5kb20gc3R1ZmYgaW50byBmZXVzZXJzLCBhbmQgYWRkZWQgdGhlIGFiaWxpdHkgdG8gZGVsZXRlIG9sZCBlbnRyaWVzIGZyb20gdGhlIHJlZ2lzdHJhdGlvbiB0ZW1wb3JhcnkgdGFibGVzPC9saT4NCjxsaT48cD5WZXJzaW9uIDAuMS4zLiAtIERlYyAyMDA1PC9wPg0KPHA+Rml4ZWQgdGhlIHRvZ2dsZXMgaW4gdGhlIGFkbWluIHByZWZlcmVuY2VzLiAgQWxzbywgY2hhbmdlZCB0aGUgcGVybWlzc2lvbnMgbW9kZWwgdG8gbm90IHJlcXVpcmUgdGhlIHVuaXF1ZSBwZXJtaXNzaW9uIGFkZGVkIHByZXZpb3VzbHkgZm9yIHRoZSBzZWxmcmVnIG1vZHVsZS48L3A+DQo8cD5UaGlzIHJlbGVhc2Ugd2FzIHJlbW92ZWQgZHVlIHRvIHBvc3NpYmxlIGVycm9yczwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAwLjEuNC4gLSBKYW4gMjAwNjwvcD4NCjxwPkZpeGVkIG1pbm9yIGVycm9ycyB3aXRoIENoZWNrUGVybWlzc2lvbiwgcmVwbGFjZWQgYWxsIGFzc2lnbl9ieV9yZWZzJiMwMzk7cyB3aXRoIGFzc2lnbnMgZm9yIGhvcGVmdWwgcGhwNSBjb21wYXRpYmlsaXR5LjwvcD4NCjxsaT48cD5WZXJzaW9uIDAuMS41LiAtIEphbiAyMDA2PC9wPg0KPHA+QWRkZWQgdGhlIGFiaWxpdHkgdG8gc2V0IHRoZSBzdWJqZWN0IG9mIHRoZSBjb25maXJtYXRpb24gZW1haWwsIGFuZCBhZGRlZCB0aGUgYWJpbGl0eSB0byBzcGVjaWZ5IGEgdGV4dCBib2R5LiAgU3ViamVjdCwgYW5kIHRleHQgYm9keSBhcmUgcmVxdWlyZWQuPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC4wLiAtIEZlYiAyMDA2PC9wPg0KPHA+Rml4ZWQgYSBwcm9ibGVtIHdpdGggdGhlIHZlcmlmeSBtb2RlLjwvcD4NCjxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIGVkaXQgYW5kIGRlbGV0ZSB1c2Vycy4gd2l0aCBzZWxlY3Rpb24gb24gdGhlIGNoZWNrYm94ZXMsIGFuZCAmcXVvdDtjaGVja2FsbCZxdW90OzwvcD4NCjxwPk5vdyByZXF1aXJlIEZFVXNlcnMgMC4xLjggYW5kIENNU01haWxlciAxLjczLjk8L3A+DQo8cD5BZGRlZCBhbm90aGVyIHRhYiBmb3IgdGhlICZxdW90O3lvdXIgc2V0dGluZ3MgaGF2ZSBiZWVuIGFkanVzdGVkJnF1b3Q7IGVtYWlsIHRlbXBsYXRlczwvcD4NCjxwPkFkZGVkIENTViBFeHBvcnRpbmc8L3A+DQo8cD5BZGRlZCBhICZxdW90O0RlbGV0ZSBhbGwgdXNlcnMgb2xkZXIgdGhhbiBhIGRheSZxdW90OyBidXR0b248L3A+DQo8cD5Ob3cgd29ya3Mgd2l0aCB0aGUgbWF4aW11bSBsZW5ndGggZmllbGQgb2YgRkVVc2VyczwvcD4NCjxwPkFkZGVkIHN1cHBvcnQgZm9yIGRyb3Bkb3ducyBhbmQgdGV4dCBhcmVhczwvcD4NCjxwPkRpc2FsbG93IHB1bmN0dWF0aW9uIGNoYXJhY3RlcnMgaW4gdXNlcm5hbWU8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjEuIC0gRmViIDIwMDY8L3A+DQo8cD5BZGRlZCB0aGUgYWJpbGl0eSBmb3IgdXNlcnMgdG8gcmVxdWVzdCBhbm90aGVyIHJlZ2lzdHJhdGlvbiBlbWFpbCAodXNlcyB0aGUgc2FtZSBjb2RlKSwgaW5jYXNlIHRoZXkgbG9zdCB0aGVpciBmaXJzdCBvbmUuPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC4yLiAtIEZlYiAyMDA2PC9wPg0KPHA+VGhlICZxdW90O1JlcXVpcmUgZW1haWwgY29uZmlybWF0aW9uJnF1b3Q7IGNoZWNrYm94IG5vdyB3b3Jrcy4gIFVzZXJzIGFyZSBhZGRlZCBzdHJhaWdodCB0byB0aGUgZnJvbnRlbmQgdXNlcnMgZGF0YWJhc2U8L3A+DQo8cD5GaXhlZCBhIGJ1ZyB3aXRoIHRoZSBjb25maXJtYXRpb24gZW1haWxzIGhhdmluZyBsaW5rcyB0byB0aGUgYWRtaW4gc2VjdGlvbiAobmV3IGJ1ZyBvbmx5KS48L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjMuIC0gRmViIDIwMDY8L3A+DQo8cD5BZGRlZCB0aGUgKG9wdGlvbmFsKSBhYmlsaXR5IHRvIHJlcXVpcmUgdGhlIHVzZXIgZW50ZXIgdGhlIGVtYWlsIGFkZHJlc3MgdHdpY2U8L3A+DQo8cD5GaXhlZCBhIGJ1ZyB3aXRoIHRoZSB1c2VyZWRpdGVkIG1lc3NhZ2Ugbm90IGJlaW5nIHRocm93biB0aHJvdWdoIHNtYXJ0eTwvcD4NCjxwPkZpeGVkIHRoZSBkZWZhdWx0IHJlZ2lzdHJhdGlvbiB0ZW1wbGF0ZSBhIGJpdCB0byBhaWRlIGluIHZhbGlkYXRpb24gZm9yIG5vbiByZXF1aXJlZCBmaWVsZHMgKGZpeGVkIGEgd2FybmluZyk8L3A+DQo8cD5GaXggcHJvYmxlbXMgd2l0aCBpbmxpbmUgYW5kIG5vbi1pbmxpbmUgZm9ybXMgYW5kIGxpbmtzPC9wPg0KPHA+SGFuZGxlIGFub3RoZXIgY2FzZSB3aGVyZSB0aGUgYWRtaW4gbWF5IG5vdCBoYXZlIGNyZWF0ZWQgdGhlIHByb3BlciB0eXBlIG9mIGVtYWlsIHByb3BlcnR5PC9wPg0KPHA+Q2hhbmdlZCB0byByZXF1aXJlIENNUyAwLjEyLWJldGEyIGF0IGEgbWluaW11bSAoZm9yIHNhZmV0eSBwdXJwb3Nlcyk8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjQuIC0gTWFyIDIwMDY8L3A+DQo8cD5Nb3JlIGNvbnRyb2wgb3ZlciB1c2VybmFtZSBhbmQgcGFzc3dvcmQgZmllbGQgc2l6ZXMgKGNvbnRyb2xsZWQgYnkgZmV1c2Vycyk8L3A+DQo8cD5Db25maXJtYXRpb24gb24gZWRpdGluZyBwcmVmZXJlbmNlczwvcD4NCjxwPlJlcXVpcmUgMC4xMiBwcm9wZXIgb2YgY21zIGFzIGEgbWluaW11bTwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjEuMC4gLSBEZWMgMjAwNjwvcD4NCiAgICA8cD5BZGRlZCBldmVudHMgYW5kIDEuMCBjb21wYXRpYmlsaXR5PC9wPg0KICAgIDxwPkNhcHRjaGEgc3VwcG9ydCAodGhhbmtzIERpdHRtYW4pPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMS4xLiAtIEFwciAyMDA3PC9wPg0KICAgIDxwPk5vdyByZXF1aXJlIEZFVXNlcnMgMS4yLjAgKG1pbmltdW0pPC9wPg0KICAgIDxwPlN1cHBvcnQgZm9yIG11bHRpc2VsZWN0IGxpc3RzIGluIGZldXNlcnM8L3A+DQogICAgPHA+T3V0cHV0IHNvbWUgbW9yZSBmaWVsZHMgdG8gc21hcnR5IHRvIGFsbG93IGZvciBpbmNyZWFzZWQgYWNjZXNzaWJpbGl0eTwvcD4NCiAgICA8cD5TcGxpdCBjb2RlIG91dCBpbnRvIG11bHRpcGxlIGZpbGVzIHRvIHJlZHVjZSBvdmVyYWxsIG1lbW9yeSBmb290cHJpbnQ8L3A+DQogICAgPHA+SWdub3JlIGFsbCBpbWFnZSBmaWVsZHM8L3A+DQogICAgPHA+Q2hhbmdlIENhcHRjaGEgc3VwcG9ydCB0byBiZSBvbiBieSBkZWZhdWx0IGlmIHRoZSBDYXB0Y2hhIG1vZHVsZSBpcyBmb3VuZDwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjEuMi4gLSBOb3YgMjAwNzwvcD4NCiAgICA8cD5GaXggdGhlIHByb2JsZW0gd2l0aCB0aGUgVXNlckRpc3BsYXlMb3N0UmVnRW1haWxGb3JtIHRoaW5nPC9wPg0KICAgIDxwPkFkZHMgdGhlIGlkIHRvIHRoZSBvblVzZXJSZWdpc3RlcmVkIEV2ZW50PC9wPg0KICAgIDxwPkZpeGVzIHRoZSBwcm9ibGVtIHdpdGggY2hlY2tib3ggcHJvcGVydGllcyBub3Qgd29ya2luZzwvcD4NCiAgICA8cD5Ob3cgUmVxdWlyZXMgQ01TIDEuMiBtaW5pbXVtPC9wPg0KICAgIDxwPllvdSBjYW4gbm93IHVzZSB7U2VsZlJlZ2lzdHJhdGlvbiBncm91cD0mIzAzOTtibGFoJiMwMzk7fTwvcD4NCiAgICA8cD5Ob3cgUmVxdWlyZXMgQ01TIDEuMyBtaW5pbXVtLjwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjEuMy4gLSBOb3YgMjAwNzwvcD4NCiAgICA8cD5GaXhlcyBpc3N1ZSB3aXRoIFNNVFAgRW1haWwgYWRkcmVzcyB2YWxpZGF0aW9uPC9wPg0KICAgIDxwPk5vdyBSZXF1aXJlIEZFVSAxLjMuMTwvcD4NCjwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+DQo8cD5UaGlzIG1vZHVsZSBpcyBkZXNpZ25lZCB0byBhbGxvdyBmcm9udCBlbmQgdXNlcnMgdG8gcmVnaXN0ZXIgdGhlbXNlbHZlcyBhbmQgZmlsbCBpbiB0aGUgcmVxdWlyZWQgaW5mb3JtYXRpb24uICBJdCB0aGVuIHNlbmRzIGEgY29uZmlybWF0aW9uIGVtYWlsLCB3aXRoIGEgbGluayB0byBhIHNlY29uZCBwYWdlIHRoYXQgbXVzdCBiZSBjb21wbGV0ZWQgYmVmb3JlIHRoZSByZWdpc3RyYXRpb24gaXMgY29tcGxldGUuICBPbmNlIHJlZ2lzdHJhdGlvbiBpcyBjb21wbGV0ZSwgYSB1c2VyIGFjY291bnQgaXMgY3JlYXRlZCBpbiB0aGUgZnJvbnQgZW5kIHVzZXJzIG1vZHVsZS48L3A+DQo8cD5JbiBvcmRlciB0byB1c2UgdGhpcyBtb2R1bGUsIHlvdSBtdXN0IGNyZWF0ZSBhIHByb3BlcnR5IG9mIHR5cGUgJnF1b3Q7RW1haWwgQWRkcmVzcyZxdW90OyBpbiB0aGUgRnJvbnRlbmRVc2VycyBtb2R1bGUsIGFuZCBhc3NvY2lhdGUgdGhhdCBwcm9wZXJ0eSB3aXRoIHRoZSBncm91cCB0byBiZSB1c2VkIGZvciBzZWxmIHJlZ2lzdHJhdGlvbi48L3A+DQo8aDM+SG93IERvIEkgVXNlIEl0PC9oMz4NCjxwPllvdSBwbGFjZSB0aGUgZm9sbG93bmcgdGFnIGludG8geW91ciBwYWdlIHtjbXNfbW9kdWxlIG1vZHVsZT1TZWxmUmVnaXN0cmF0aW9uIGdyb3VwPXVzZXJncm91cH08L3A+DQo8cD5Zb3UgbXVzdCBoYXZlIHByZXZpb3VzbHkgY3JlYXRlZCBwcm9wZXJ0aWVzIGFuZCB1c2VyIGdyb3VwcyBpbiB0aGUgRnJvbnRFbmRVc2VycyBtb2R1bGUgaW4gb3JkZXIgZm9yIHRoaXMgdG8gd29yayBwcm9wZXJseS48L3A+DQo8aDM+UGFyYW1ldGVyczwvaDM+DQo8cD48c3Ryb25nPm1vZGU8L3N0cm9uZz4mbmJzcDs8ZW0+b3B0aW9uYWw8L2VtPiAtIHBvc3NpYmxlIHZhbHVlcyBhcmUgJnF1b3Q7c2lnbnVwJnF1b3Q7IGFuZCAmcXVvdDt2ZXJpZnkmcXVvdDsuICBJZiB0aGlzIHBhcmFtZXRlciBpcyBub3Qgc3BlY2lmaWVkLCAmcXVvdDtzaWdudXAmcXVvdDsgaXMgYXNzdW1iZWQuPC9wPg0KPHA+PHN0cm9uZz5ncm91cDwvc3Ryb25nPiZuYnNwOzxlbT5vcHRpb25hbDwvZW0+IC0gVGhpcyBwYXJhbWV0ZXIgaXMgcmVxdWlyZWQgaWYgbW9kZSBpcyAmcXVvdDtzaWdudXAmcXVvdDssIG9yIGlmIG1vZGUgaXMgbGVmdCBlbXB0eS48L3A+DQo8cD48c3Ryb25nPm5vY2FwdGNoYTwvc3Ryb25nPiZuYnNwOzxlbT5vcHRpb25hbDwvZW0+IC0gVGhpcyB3aWxsIGRpc2FibGUgY2FwdGNoYSBvbiB0aGUgc2lnbnVwIGZvcm0uIEJ5IGRlZmF1bHQsIGlmIHRoZSBDYXB0Y2hhIG1vZHVsZSBpcyBpbnN0YWxsZWQsIGNhcHRjaGEgc3VwcG9ydCBpcyBwcm92aWRlZC4gIFRoaXMgcGFyYW1ldGVyIGRpc2FibGVzIGl0LjwvcD4NCjxoMz5TdXBwb3J0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4NCjx1bD4NCjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgY2FsZ3V5JiMwMzk7cw0KbW9kdWxlIGhvbWVwYWdlIGF0IDxhIGhyZWY9JnF1b3Q7aHR0cDovL3RlY2hjb20uZHluZG5zLm9yZyZxdW90Oz50ZWNoY29tLmR5bmRucy5vcmc8L2E+LjwvbGk+DQo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSZxdW90O2h0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyZxdW90Oz5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0mcXVvdDtpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMmcXVvdDs+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICANCjwvdWw+DQo8cD5BcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy4gUGxlYXNlIHJlYWQgdGhlIHRleHQNCm9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4NCg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDUsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9JnF1b3Q7bWFpbHRvOmNhbGd1eTEwMDBAaG90bWFpbC5jb20mcXVvdDs+PGNhbGd1eTEwMDBAaG90bWFpbC5jb20+PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBtb2R1bGUgaGFzIGJlZW4gcmVsZWFzZWQgdW5kZXIgdGhlIDxhIGhyZWY9JnF1b3Q7aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMJnF1b3Q7PkdOVSBQdWJsaWMgTGljZW5zZTwvYT4uIFlvdSBtdXN0IGFncmVlIHRvIHRoaXMgbGljZW5zZSBiZWZvcmUgdXNpbmcgdGhlIG1vZHVsZS48L3A+DQonOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/it_IT.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2xvZ2luX2FmdGVydmVyaWZ5J10gPSAnQXV0b21hdGljYW1lbnRlIGluc2VyaXNjZSBsbyB1c2VyIG5lbCBtb2R1bG8gRnJvbnRFbmRVc2VycyBkb3BvIGNoZSBpIHBhc3NpIGRpIHZlcmlmaWNhIHNvbm8gY29tcGxldGF0aSc7CiRsYW5nWydza2lwX2ZpbmFsX21zZyddID0gJ05vbiB2aXN1YWxpenphcmUgaWwgbWVzc2FnZ2lvIGZpbmFsZSBkb3BvIGxhIHJlZ2lzdHJhemlvbmUnOwokbGFuZ1sncmVkaXJlY3RfYWZ0ZXJyZWdpc3RlciddID0gJ0lEL0FsaWFzIGRhIHJlZGlyaWdlcmUgZG9wbyBjaGUgbGEgcmVnaXN0cmF6aW9uZSAmZWdyYXZlOyBjb21wbGV0YSc7CiRsYW5nWydyZWRpcmVjdF9hZnRlcnZlcmlmeSddID0gJ0lEL0FsaWFzIGRhIHJlZGlyaWdlcmUgZG9wbyBjaGUgaWwgcHJvY2Vzc28gZGkgdmVyaWZpY2EgJmVncmF2ZTsgY29tcGxldG8nOwokbGFuZ1sndXNlX2lubGluZV9mb3JtcyddID0gJ1VzYSBpbCBmb3JtIElubGluZSA8ZW0+KGwmIzAzOTt1c2NpdGEgZGVsIGZvcm0gcmlwb3NpemlvbmEgaWwgbW9kdWxvIHRhZywgbm9uIHR1dHRvIGlsICBjb250ZW50KTwvZW0+JzsKJGxhbmdbJ2Vycm9yX2NvZGVzZG9udG1hdGNoJ10gPSAnTGEgY2hpYXZlIGRpIHZhbGlkYXppb25lIG5vbiAmZWdyYXZlOyB2YWxpZGEnOwokbGFuZ1snZXZlbnRfZGVzY3JpcHRpb25fb25OZXdVc2VyJ10gPSAnVW4gZXZlbnRvIGluZGljYSBjaGUgdW4gbnVvdm8gdXRlbnRlIGhhIGNvbXBsZXRhdG8gaWwgbW9kdWxvIGRpIHJlZ2lzdHJhemlvbmUnOwokbGFuZ1snZXZlbnRfZGVzY3JpcHRpb25fb25Vc2VyUmVnaXN0ZXJlZCddID0gJ1VuIGV2ZW50byBpbmRpY2EgY2hlIHVuIHV0ZW50ZSBoYSB2ZXJpZmljYXRvIGxlIHN1ZSBpbmZvcm1hemlvbmkgZSBvcmEgJmVncmF2ZTsgY29tcGxldGFtZW50ZSByZWdpc3RyYXRvJzsKJGxhbmdbJ2V2ZW50X2hlbHBfb25OZXdVc2VyJ10gPSAnPHA+QW4gZXZlbnQgaW5kaWNhdGluZyB0aGF0IGEgbmV3IHVzZXIgaGFzIGNvbXBsZXRlZCB0aGUgcmVnaXN0cmF0aW9uIGZvcm08L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBUaGUgbmV3IHVzZXJzIHNlbGVjdGVkIHVzZXJuYW1lPC9saT4NCjxsaT48ZW0+ZW1haWw8L2VtPiAtIFRoZSBuZXcgdXNlcnMgZW1haWwgYWRkcmVzczwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfb25Vc2VyUmVnaXN0ZXJlZCddID0gJzxwPkFuIGV2ZW50IGluZGljYXRpbmcgdGhhdCBhIHVzZXIgaGFzIGJlZW4gdmVyaWZpZWQgYW5kIGlzIG5vdyByZWdpc3RlcmVkIHdpdGggZmV1c2VyczwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIFRoZSByZWdpc3RlcmVkIHVzZXJuYW1lPC9saT4NCjwvdWw+DQonOwokbGFuZ1snY29uZmlybV9zdWJtaXRwcmVmcyddID0gJ0NhbWJpYXJlIGxlIHByZWZlcmVuemUgZGkgYW1taW5pc3RyYXppb25lPyc7CiRsYW5nWydpbmZvX2FkbWluX3Bhc3N3b3JkJ10gPSAnTGFzY2lhIHF1ZXN0byBjYW1wbyB2dW90byBwZXIgcHJlc2VydmFyZSBsYSBwYXNzd29yZCc7CiRsYW5nWydpbmZvX2FkbWluX3JlcGVhdHBhc3N3b3JkJ10gPSAnTGFzY2lhIHF1ZXN0byBjYW1wbyB2dW90byBwZXIgcHJlc2VydmFyZSBsYSBwYXNzd29yZCc7CiRsYW5nWydlcnJvcl9lbWFpbGRvZXNub3RtYXRjaCddID0gJ0luZGlyaXp6aSBlbWFpbCBub24gY29pbmNpZG9ubyc7CiRsYW5nWydmb3JjZV9lbWFpbF90d2ljZSddID0gJ0UmIzAzOTsgcmljaGllc3RvIGNoZSBsJiMwMzk7dXRlbnRlIGludHJvZHVjYSBsJiMwMzk7aW5kaXJpenpvIGVtYWlsIGR1ZSB2b2x0ZSc7CiRsYW5nWydhZ2FpbiddID0gJ2RpIG51b3ZvJzsKJGxhbmdbJ2RlbGV0ZXNlbHVzZXJzJ10gPSAnQ2FuY2VsbGEgZ2xpIHV0ZW50aSBzZWxlemlvbmF0aSc7CiRsYW5nWydlcnJvcl9ub3Byb3BkZWZucyddID0gJ05lc3N1bmEgZGVmaW5pemlvbmUgZGkgcHJvcHJpZXQmYWdyYXZlOywgbyB1biBwcm9ibGVtYSBhIHJpY2V2ZXJsZSBkYWwgZGF0YWJhc2UnOwokbGFuZ1snZXJyb3Jfbm9ncm91cHMnXSA9ICdOZXNzdW4gZ3J1cHBvLCBvIHVuIHByb2JsZW1hIGEgcmljZXZlcmUgbGEgbGlzdGEgZ3J1cHBpJzsKJGxhbmdbJ2Vycm9yX2RiZXJyb3InXSA9ICdFcnJvcmUgbmVsIGRhdGFiYXNlJzsKJGxhbmdbJ3RpdGxlX3Bvc3Rfc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSddID0gJ01vZGVsbG8gcGVyIEVtYWlsIHBlcnNhIGluc2VyaXRvJzsKJGxhbmdbJ3RpdGxlX3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnXSA9ICdNb2RlbGxvIHBlciBFbWFpbCBwZXJzYSc7CiRsYW5nWydjbGlja2hlcmUnXSA9ICdwcmVtZW5kbyBxdWEnOwokbGFuZ1snbXNnX3NlbmRhbm90aGVyZW1haWwnXSA9ICdTZSBhdmV0ZSBjb21wbGV0YXRvIGlsIG1vZHVsbyBkaSByZWdpc3RyYXppb25lIG1hIG5vbiBhdmV0ZSByaWNldnV0byBsYSBlbWFpbCwgcG90ZXRlIHJpc3BlZGlybmUgdW4mIzAzOTthbHRyYSc7CiRsYW5nWydzZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJ10gPSAnTW9kZWxsbyBwZXIgRW1haWwgcGVyc2EnOwokbGFuZ1snaW5mb191c2VydmVyaWZpZWQnXSA9ICdVbiBudW92byB1dGVudGUgJmVncmF2ZTsgc3RhdG8gYWdnaXVudG8gYWkgRnJvbnRFbmRVc2Vycyc7CiRsYW5nWydlZGl0J10gPSAnTW9kaWZpY2EnOwokbGFuZ1sndW5rbm93biddID0gJ1Njb25vc2NpdXRvJzsKJGxhbmdbJ3NlbGVjdCddID0gJ1NlbGV6aW9uYSc7CiRsYW5nWydjaGVja19hbGwnXSA9ICdTZWxlemlvbmEgdHV0dG8nOwokbGFuZ1sndW5jaGVja19hbGwnXSA9ICdEZXNlbGV6aW9uYSB0dXR0byc7CiRsYW5nWydzZW5kX2FkanVzdG1lbnRlbWFpbCddID0gJ1NwZWRpc2NlIHVuYSBlbWFpbCBhbGwmIzAzOTt1dGVudGUnOwokbGFuZ1sndHh0X2FkanVzdG1lbnRlbWFpbCddID0gJyhpbmZvcm1hIGwmIzAzOTt1dGVudGUgY2hlIGwmIzAzOTthY2NvdW50ICZlZ3JhdmU7IHN0YXRvIGNvbnNvbGlkYXRvJzsKJGxhbmdbJ3R4dF9jaGFuZ2VwYXNzd29yZCddID0gJ1JpZW1waXJlIHF1ZXN0aSBjYW1waSBwZXIgY2FtYmlhcmUgbGEgcGFzc3dvcmQnOwokbGFuZ1snZWRpdHVzZXInXSA9ICdNb2RpZmljYSB1dGVudGUnOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGV1c2VyJ10gPSAnU2lldGUgc2ljdXJvIGRpIHZvbGVyIGNhbmNlbGxhcmUgcXVlc3RvIHV0ZW50ZSByZWdpc3RyYXRvIHBhcnppYWxtZW50ZT8nOwokbGFuZ1snaGRyX3VzZXJpZCddID0gJ0lEIFV0ZW50ZSc7CiRsYW5nWydoZHJfdXNlcm5hbWUnXSA9ICdVc2VybmFtZSc7CiRsYW5nWydoZHJfZ3JwbmFtZSddID0gJ0dydXBwbyc7CiRsYW5nWydoZHJfY3JlYXRlZCddID0gJ0NyZWF0byc7CiRsYW5nWydoZHJfZW1haWwnXSA9ICdFbWFpbCc7CiRsYW5nWyd1c2Vyc2ZvdW5kJ10gPSAnVXRlbnRpIHRyb3ZhdGkgKGxpbWl0YXRvIGFkIHVuIG1hc3NpbW8gZGkgMjUwKSc7CiRsYW5nWyd1c2VycyddID0gJ1V0ZW50aSc7CiRsYW5nWydsaXN0MWRheSddID0gJ1Zpc3VhbGl6emEgdHV0dGUgbGUgZW50cmF0ZSBwaSZ1Z3JhdmU7IHZlY2NoaWUgZGkgdW4gZ2lvcm5vJzsKJGxhbmdbJ3N1YmplY3QnXSA9ICdPZ2dldHRvIHBlciBsZSBlbWFpbCBpbiB1c2NpdGEnOwokbGFuZ1snaHRtbGJvZHknXSA9ICdDb3JwbyBkZWwgbWVzc2FnZ2lvIGluIEhUTUwnOwokbGFuZ1sndGV4dGJvZHknXSA9ICdDb3JwbyBkZWwgbWVzc2FnZ2lvIGNvbWUgdGVzdG8nOwokbGFuZ1sncHJvbXB0X251bXJlc2V0cmVjb3JkJ10gPSAnVW4gbnVtZXJvIGRpIHV0ZW50aSBzb25vIG5lbCBtZXp6byBkZWxsYSByZWdpc3RyYXppb25lLiBJbiBxdWVzdG8gbW9tZW50byBpbCBjb250YXRvcmUgJmVncmF2ZTsgYTonOwokbGFuZ1sncmVtb3ZlMXdlZWsnXSA9ICdSaW11b3ZlIHR1dHRlIGxlIGVudHJhdGUgcGkmdWdyYXZlOyB2ZWNjaGllIGRpIHVuYSBzZXR0aW1hbmEnOwokbGFuZ1sncmVtb3ZlMW1vbnRoJ10gPSAnUmltdW92ZSB0dXR0ZSBsZSBlbnRyYXRlIHBpJnVncmF2ZTsgdmVjY2hpZSBkaSB1biBtZXNlJzsKJGxhbmdbJ3JlbW92ZTFkYXknXSA9ICdSaW11b3ZlIHR1dHRlIGxlIGVudHJhdGUgcGkmdWdyYXZlOyB2ZWNjaGllIGRpIHVuIGdpb3Jubyc7CiRsYW5nWydyZW1vdmVhbGwnXSA9ICdSaW11b3ZlIHR1dHRlIGxlIGVudHJhdGUnOwokbGFuZ1snYXJleW91c3VyZSddID0gJ1NpZXRlIHNpY3Vybz8nOwokbGFuZ1sncmVnaXN0cmF0aW9uX2luZm9fZWRpdGVkJ10gPSAnTGEgdm9zdHJhIHJlZ2lzdHJhemlvbmUgJmVncmF2ZTsgc3RhdGEgbW9kaWZpY2F0YSc7CiRsYW5nWydyZWdpc3RyYXRpb25fY29uZmlybWF0aW9uJ10gPSAnQ29uZmVybWEgZGVsbGEgcmVnaXN0cmF6aW9uZSc7CiRsYW5nWyd1c2VyX3JlZ2lzdHJhdGlvbiddID0gJ1JlZ2lzdHJhdGknOwokbGFuZ1snZmluYWxtZXNzYWdlX3RlbXBsYXRlJ10gPSAnTW9kZWxsbyBkZWwgbWVzc2FnZ2lvIGZpbmFsZSc7CiRsYW5nWyd0aXRsZV92ZXJpZnlyZWdpc3RyYXRpb24nXSA9ICdWZXJpZmljYSBkZWxsYSByZWdpc3RyYXppb25lJzsKJGxhbmdbJ2NvZGUnXSA9ICdDaGlhdmUgZGkgdmFsaWRhemlvbmUnOwokbGFuZ1snZGVmYXVsdCddID0gJ1NldHRhIGFpIHZhbG9yaSBwcmVkZWZpbml0aSc7CiRsYW5nWydlcnJvcl9ub3Byb3BlcnRpZXMnXSA9ICdOZXNzdW5hIHByb3ByaWV0JmFncmF2ZTsgcGVyIHF1ZXN0byB1dGVudGUnOwokbGFuZ1snZXJyb3Jfbm9wcm9wcmVsYXRpb25zJ10gPSAnTmVzc3VuYSByZWxhemlvbmUgZGVsbGUgcHJvcHJpZXQmYWdyYXZlOyc7CiRsYW5nWydlcnJvcl9lbWFpbGludmFsaWQnXSA9ICdJbmRpcml6em8gZW1haWwgbm9uIHZhbGlkbyc7CiRsYW5nWydlcnJvcl9ub2VtYWlsYWRkcmVzcyddID0gJ05lc3N1biBjYW1wbyBwZXIgdW4gdmFsaWRvIGluZGlyaXp6byBlbWFpbCAmZWdyYXZlOyBzdGF0byB0cm92YXRvJzsKJGxhbmdbJ2Vycm9yX3JlcXVpcmVkZmllbGQnXSA9ICdJbCBjYW1wbyAlcyBkZXZlIGVzc2VyZSBwcmVzZW50ZSc7CiRsYW5nWydyZWdpc3RyYXRpb24xX3RlbXBsYXRlJ10gPSAnTW9kZWxsbyAxIHBlciBsYSByZWdpc3RyYXppb25lJzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbjJfdGVtcGxhdGUnXSA9ICdNb2RlbGxvIDIgcGVyIGxhIHJlZ2lzdHJhemlvbmUnOwokbGFuZ1snZW1haWxjb25maXJtX3RlbXBsYXRlJ10gPSAnTW9kZWxsbyBwZXIgbGEgY29uZmVybWEgZGEgZW1haWwnOwokbGFuZ1snZW1haWx1c2VyZWRpdGVkX3RlbXBsYXRlJ10gPSAnTW9kZWxsbyBwZXIgaWwgY2FtYmlvIGRlbGxlIGluZm9ybWF6aW9uaSB1dGVudGUnOwokbGFuZ1sncHJlZmVyZW5jZXMnXSA9ICdQcmVmZXJlbnplJzsKJGxhbmdbJ2Vycm9yX3VzZXJub3Rmb3VuZCddID0gJ1V0ZW50ZSBub24gdHJvdmF0byc7CiRsYW5nWydlcnJvcl9pbnZhbGlkdXNlcm5hbWUnXSA9ICdVc2VybmFtZSBub24gdmFsaWRvICh0cm9wcG8gbHVuZ28sIHRyb3BwbyBjb3J0byBvIGNvbnRpZW5lIGNhcmF0dGVyaSBub24gdmFsaWRpKS4gU2kgcmljb3JkYSBjaGUgZGV2ZSBjb250ZW5lcmUgc29sbyBjYXJhdHRlcmkgYWxmYW51bWVyaWNpIHNlbnphIHNwYXppLic7CiRsYW5nWydlcnJvcl91c2VybmFtZXRha2VuJ10gPSAnUXVlc3RvIHVzZXJuYW1lICZlZ3JhdmU7IGdpJmFncmF2ZTsgaW4gdXNvJzsKJGxhbmdbJ2Vycm9yX3Bhc3N3b3Jkc2RvbnRtYXRjaCddID0gJ0Vycm9yZTogbGUgcGFzc3dvcmQgbm9uIGNvaW5jaWRvbm8nOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhc3N3b3JkJ10gPSAnUGFzc3dvcmQgaW52YWxpZGEgKGRldmUgZXNzZXJlIGNvbXByZXNhIGZyYSAlcyBlICVzIGNhcmF0dGVyaSBhbGZhbnVtZXJpY2kgc2VuemEgc3BhemkpJzsKJGxhbmdbJ2Vycm9yX2VtcHR5dXNlcm5hbWUnXSA9ICdVc2VybmFtZSBub24gcHUmb2dyYXZlOyBlc3NlcmUgdnVvdG8nOwokbGFuZ1sncmVwZWF0cGFzc3dvcmQnXSA9ICdQYXNzd29yZCAoZGkgbnVvdm8pJzsKJGxhbmdbJ3Bhc3N3b3JkJ10gPSAnUGFzc3dvcmQnOwokbGFuZ1sndXNlcm5hbWUnXSA9ICdOb21lIHV0ZW50ZSc7CiRsYW5nWydjYXB0Y2hhX3RpdGxlJ10gPSAnSW5zZXJpcmUgaWwgdGVzdG8gZGFsbCYjMDM5O2ltbWFnaW5lJzsKJGxhbmdbJ2Vycm9yX2luc3VmZmljaWVudHBhcmFtcyddID0gJ051bWVybyBpbnN1ZmZpY2llbnRlIChvIG5vbiBjb3JyZXR0bykgZGkgcGFyYW1ldHJpIGludHJvZG90dGkgYWwgbW9kdWxvJzsKJGxhbmdbJ2Vycm9yX25vZmV1c2Vyc21vZHVsZSddID0gJ05vbiBwb3NzbyBwcmVuZGVyZSB1bmEgaXN0YW56YSBkZWwgbW9kdWxvIEZyb250RW5kVXNlcnMnOwokbGFuZ1snZXJyb3Jfbm9zdWNoZ3JvdXAnXSA9ICdJbCBub21lIGdydXBwbyBzcGVjaWZpY2F0byBub24gZXNpc3RlJzsKJGxhbmdbJ2Vycm9yX2NhcHRjaGFtaXNtYXRjaCddID0gJ0lsIHRlc3RvIGRhbGwmIzAzOTtpbW1hZ2luZSBub24gJmVncmF2ZTsgc3RhdG8gaW5zZXJpdG8gY29ycmV0dGFtZW50ZSc7CiRsYW5nWydzZW5kX2VtYWlsc190byddID0gJ0xhIGVtYWlsIGRpIHJlZ2lzdHJhemlvbmUgc2FyJmFncmF2ZTsgc3BlZGl0YSBhJzsKJGxhbmdbJ3JlcXVpcmVfZW1haWxfY29uZmlybWF0aW9uJ10gPSAnU2kgcmljaGllZGUgY2hlIGwmIzAzOTt1dGVudGUgY29uZmVybWkgbGEgcmVnaXN0cmF6aW9uZSB2aWEgZW1haWwnOwokbGFuZ1snbm90aWZ5X29uX3JlZ2lzdHJhdGlvbiddID0gJ1NwZWRpc2NlIHVuYSBlbWFpbCBkaSBub3RpZmljYSBxdWFuZG8gcXVhbGN1bm8gc2kgcmVnaXN0cmEnOwokbGFuZ1snY2FuY2VsJ10gPSAnQ2FuY2VsbGEnOwokbGFuZ1snc3VibWl0J10gPSAnSW5vbHRyYSc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdNb2R1bG8gZGkgU2VsZiBSZWdpc3RyYXRpb24nOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdJbnN0YWxsYXRvIGNvbiBzdWNjZXNzbywgc2kgcmljb3JkaSBzaSBzZXR0YXJlIGlsIHBlcm1lc3NvIHBlciAmcXVvdDtNb2RpZnkgU2VsZlJlZ2lzdHJhdGlvbiBTZXR0aW5ncyZxdW90Oy4gU2UgaWwgbW9kdWxvIENhcHRjaGEgJmVncmF2ZTsgaW5zdGFsbGF0bywgYWxsb3JhIGxhIHN1YSBmdW56aW9uYWxpdCZhZ3JhdmU7ICZlZ3JhdmU7IGFiaWxpdGF0YSBwZXIgZGVmYXVsdC4gSW5jb3JhZ2dpYW1vIHRhbGUgaW5zdGFsbGF6aW9uZSBwb2ljaCZlZ3JhdmU7IHV0aWxpenphbmRvIGlsIHBhcmFtZXRybyBub2NhcHRjaGEgJmVncmF2ZTsgcG9zc2liaWxlIGRpc2FiaWxpdGFyZSB0YWxlIGZ1bnppb25hbGl0JmFncmF2ZTsuJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdJbCBtb2R1bG8gU2VsZiBSZWdpc3RyYXRpb24gJmVncmF2ZTsgZGlzaW5zdGFsbGF0by4nOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb2R1bG8gZGlzaW5zdGFsbGF0by4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnVmVyc2lvbmUgZGVsIG1vZHVsbyAlcyBpbnN0YWxsYXRhLic7CiRsYW5nWydwcmVmc3VwZGF0ZWQnXSA9ICdQcmVmZXJlbnplIGRlbCBtb2R1bG8gYWdnaW9ybmF0ZS4nOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnQWNjZXNzbyBuZWdhdG8uIFNpIHByZWdhIGRpIGNvbnRyb2xsYXJlIGkgcGVybWVzc2kuJzsKJGxhbmdbJ2Vycm9yJ10gPSAnRXJyb3JlISc7CiRsYW5nWyd1cGdyYWRlZCddID0gJ01vZHVsbyBhZ2dpb3JuYXRvIGFsbGEgdmVyc2lvbmUgJXMuJzsKJGxhbmdbJ3RpdGxlX21vZF9wcmVmcyddID0gJ1ByZWZlcmVuemUgbW9kdWxvJzsKJGxhbmdbJ3RpdGxlX21vZF9hZG1pbiddID0gJ1Bhbm5lbGxvIGRpIGFtbWluaXN0cmF6aW9uZSBkZWwgbW9kdWxvJzsKJGxhbmdbJ3RpdGxlX2FkbWluX3BhbmVsJ10gPSAnTW9kdWxvIFNlbGYgUmVnaXN0cmF0aW9uJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnVW4gbW9kdWxvIGNoZSBwZXJtZXR0ZSBhZ2xpIHV0ZW50aSBkaSBhdXRvIHJlZ2lzdHJhcnNpLic7CiRsYW5nWyd3ZWxjb21lX3RleHQnXSA9ICc8cD5CZW52ZW51dGkgbmVsIG1vZHVsbyBkaSBhdXRvcmVnaXN0cmF6aW9uZS48L3A+JzsKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4NCjxsaT5WZXJzaW9uIDAuMC4xLiBPY3QgMjAwNS4gSW5pdGlhbCBOUlBUIChOb3QgUmVhZHkgZm9yIFByaW1lIFRpbWUpIHJlbGVhc2UuPC9saT4NCjxsaT5WZXJzaW9uIDAuMS4wLiBPY3QgMjAwNS4gSW5pdGlhbCByZWxlYXNlLjwvbGk+DQo8bGk+VmVyc2lvbiAwLjEuMS4gT2N0IDIwMDUuIFNldCB0aGUgSFRNTCBtYWlsIGZsYWcuPC9saT4NCjxsaT5WZXJzaW9uIDAuMS4yLiBPY3QgMjAwNS4gTW92ZWQgUmFuZG9tIHN0dWZmIGludG8gZmV1c2VycywgYW5kIGFkZGVkIHRoZSBhYmlsaXR5IHRvIGRlbGV0ZSBvbGQgZW50cmllcyBmcm9tIHRoZSByZWdpc3RyYXRpb24gdGVtcG9yYXJ5IHRhYmxlczwvbGk+DQo8bGk+PHA+VmVyc2lvbiAwLjEuMy4gLSBEZWMgMjAwNTwvcD4NCjxwPkZpeGVkIHRoZSB0b2dnbGVzIGluIHRoZSBhZG1pbiBwcmVmZXJlbmNlcy4gIEFsc28sIGNoYW5nZWQgdGhlIHBlcm1pc3Npb25zIG1vZGVsIHRvIG5vdCByZXF1aXJlIHRoZSB1bmlxdWUgcGVybWlzc2lvbiBhZGRlZCBwcmV2aW91c2x5IGZvciB0aGUgc2VsZnJlZyBtb2R1bGUuPC9wPg0KPHA+VGhpcyByZWxlYXNlIHdhcyByZW1vdmVkIGR1ZSB0byBwb3NzaWJsZSBlcnJvcnM8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMC4xLjQuIC0gSmFuIDIwMDY8L3A+DQo8cD5GaXhlZCBtaW5vciBlcnJvcnMgd2l0aCBDaGVja1Blcm1pc3Npb24sIHJlcGxhY2VkIGFsbCBhc3NpZ25fYnlfcmVmcyYjMDM5O3Mgd2l0aCBhc3NpZ25zIGZvciBob3BlZnVsIHBocDUgY29tcGF0aWJpbGl0eS48L3A+DQo8bGk+PHA+VmVyc2lvbiAwLjEuNS4gLSBKYW4gMjAwNjwvcD4NCjxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIHNldCB0aGUgc3ViamVjdCBvZiB0aGUgY29uZmlybWF0aW9uIGVtYWlsLCBhbmQgYWRkZWQgdGhlIGFiaWxpdHkgdG8gc3BlY2lmeSBhIHRleHQgYm9keS4gIFN1YmplY3QsIGFuZCB0ZXh0IGJvZHkgYXJlIHJlcXVpcmVkLjwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjAuMC4gLSBGZWIgMjAwNjwvcD4NCjxwPkZpeGVkIGEgcHJvYmxlbSB3aXRoIHRoZSB2ZXJpZnkgbW9kZS48L3A+DQo8cD5BZGRlZCB0aGUgYWJpbGl0eSB0byBlZGl0IGFuZCBkZWxldGUgdXNlcnMuIHdpdGggc2VsZWN0aW9uIG9uIHRoZSBjaGVja2JveGVzLCBhbmQgJnF1b3Q7Y2hlY2thbGwmcXVvdDs8L3A+DQo8cD5Ob3cgcmVxdWlyZSBGRVVzZXJzIDAuMS44IGFuZCBDTVNNYWlsZXIgMS43My45PC9wPg0KPHA+QWRkZWQgYW5vdGhlciB0YWIgZm9yIHRoZSAmcXVvdDt5b3VyIHNldHRpbmdzIGhhdmUgYmVlbiBhZGp1c3RlZCZxdW90OyBlbWFpbCB0ZW1wbGF0ZXM8L3A+DQo8cD5BZGRlZCBDU1YgRXhwb3J0aW5nPC9wPg0KPHA+QWRkZWQgYSAmcXVvdDtEZWxldGUgYWxsIHVzZXJzIG9sZGVyIHRoYW4gYSBkYXkmcXVvdDsgYnV0dG9uPC9wPg0KPHA+Tm93IHdvcmtzIHdpdGggdGhlIG1heGltdW0gbGVuZ3RoIGZpZWxkIG9mIEZFVXNlcnM8L3A+DQo8cD5BZGRlZCBzdXBwb3J0IGZvciBkcm9wZG93bnMgYW5kIHRleHQgYXJlYXM8L3A+DQo8cD5EaXNhbGxvdyBwdW5jdHVhdGlvbiBjaGFyYWN0ZXJzIGluIHVzZXJuYW1lPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC4xLiAtIEZlYiAyMDA2PC9wPg0KPHA+QWRkZWQgdGhlIGFiaWxpdHkgZm9yIHVzZXJzIHRvIHJlcXVlc3QgYW5vdGhlciByZWdpc3RyYXRpb24gZW1haWwgKHVzZXMgdGhlIHNhbWUgY29kZSksIGluY2FzZSB0aGV5IGxvc3QgdGhlaXIgZmlyc3Qgb25lLjwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjAuMi4gLSBGZWIgMjAwNjwvcD4NCjxwPlRoZSAmcXVvdDtSZXF1aXJlIGVtYWlsIGNvbmZpcm1hdGlvbiZxdW90OyBjaGVja2JveCBub3cgd29ya3MuICBVc2VycyBhcmUgYWRkZWQgc3RyYWlnaHQgdG8gdGhlIGZyb250ZW5kIHVzZXJzIGRhdGFiYXNlPC9wPg0KPHA+Rml4ZWQgYSBidWcgd2l0aCB0aGUgY29uZmlybWF0aW9uIGVtYWlscyBoYXZpbmcgbGlua3MgdG8gdGhlIGFkbWluIHNlY3Rpb24gKG5ldyBidWcgb25seSkuPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC4zLiAtIEZlYiAyMDA2PC9wPg0KPHA+QWRkZWQgdGhlIChvcHRpb25hbCkgYWJpbGl0eSB0byByZXF1aXJlIHRoZSB1c2VyIGVudGVyIHRoZSBlbWFpbCBhZGRyZXNzIHR3aWNlPC9wPg0KPHA+Rml4ZWQgYSBidWcgd2l0aCB0aGUgdXNlcmVkaXRlZCBtZXNzYWdlIG5vdCBiZWluZyB0aHJvd24gdGhyb3VnaCBzbWFydHk8L3A+DQo8cD5GaXhlZCB0aGUgZGVmYXVsdCByZWdpc3RyYXRpb24gdGVtcGxhdGUgYSBiaXQgdG8gYWlkZSBpbiB2YWxpZGF0aW9uIGZvciBub24gcmVxdWlyZWQgZmllbGRzIChmaXhlZCBhIHdhcm5pbmcpPC9wPg0KPHA+Rml4IHByb2JsZW1zIHdpdGggaW5saW5lIGFuZCBub24taW5saW5lIGZvcm1zIGFuZCBsaW5rczwvcD4NCjxwPkhhbmRsZSBhbm90aGVyIGNhc2Ugd2hlcmUgdGhlIGFkbWluIG1heSBub3QgaGF2ZSBjcmVhdGVkIHRoZSBwcm9wZXIgdHlwZSBvZiBlbWFpbCBwcm9wZXJ0eTwvcD4NCjxwPkNoYW5nZWQgdG8gcmVxdWlyZSBDTVMgMC4xMi1iZXRhMiBhdCBhIG1pbmltdW0gKGZvciBzYWZldHkgcHVycG9zZXMpPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC40LiAtIE1hciAyMDA2PC9wPg0KPHA+TW9yZSBjb250cm9sIG92ZXIgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIGZpZWxkIHNpemVzIChjb250cm9sbGVkIGJ5IGZldXNlcnMpPC9wPg0KPHA+Q29uZmlybWF0aW9uIG9uIGVkaXRpbmcgcHJlZmVyZW5jZXM8L3A+DQo8cD5SZXF1aXJlIDAuMTIgcHJvcGVyIG9mIGNtcyBhcyBhIG1pbmltdW08L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4xLjAuIC0gRGVjIDIwMDY8L3A+DQogICAgPHA+QWRkZWQgZXZlbnRzIGFuZCAxLjAgY29tcGF0aWJpbGl0eTwvcD4NCiAgICA8cD5DYXB0Y2hhIHN1cHBvcnQgKHRoYW5rcyBEaXR0bWFuKTwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjEuMS4gLSBBcHIgMjAwNzwvcD4NCiAgICA8cD5Ob3cgcmVxdWlyZSBGRVVzZXJzIDEuMi4wIChtaW5pbXVtKTwvcD4NCiAgICA8cD5TdXBwb3J0IGZvciBtdWx0aXNlbGVjdCBsaXN0cyBpbiBmZXVzZXJzPC9wPg0KICAgIDxwPk91dHB1dCBzb21lIG1vcmUgZmllbGRzIHRvIHNtYXJ0eSB0byBhbGxvdyBmb3IgaW5jcmVhc2VkIGFjY2Vzc2liaWxpdHk8L3A+DQogICAgPHA+U3BsaXQgY29kZSBvdXQgaW50byBtdWx0aXBsZSBmaWxlcyB0byByZWR1Y2Ugb3ZlcmFsbCBtZW1vcnkgZm9vdHByaW50PC9wPg0KICAgIDxwPklnbm9yZSBhbGwgaW1hZ2UgZmllbGRzPC9wPg0KICAgIDxwPkNoYW5nZSBDYXB0Y2hhIHN1cHBvcnQgdG8gYmUgb24gYnkgZGVmYXVsdCBpZiB0aGUgQ2FwdGNoYSBtb2R1bGUgaXMgZm91bmQ8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4xLjIuIC0gTm92IDIwMDc8L3A+DQogICAgPHA+Rml4IHRoZSBwcm9ibGVtIHdpdGggdGhlIFVzZXJEaXNwbGF5TG9zdFJlZ0VtYWlsRm9ybSB0aGluZzwvcD4NCiAgICA8cD5BZGRzIHRoZSBpZCB0byB0aGUgb25Vc2VyUmVnaXN0ZXJlZCBFdmVudDwvcD4NCiAgICA8cD5GaXhlcyB0aGUgcHJvYmxlbSB3aXRoIGNoZWNrYm94IHByb3BlcnRpZXMgbm90IHdvcmtpbmc8L3A+DQogICAgPHA+Tm93IFJlcXVpcmVzIENNUyAxLjEgbWluaW11bTwvcD4NCiAgICA8cD5Zb3UgY2FuIG5vdyB1c2Uge1NlbGZSZWdpc3RyYXRpb24gZ3JvdXA9JiMwMzk7YmxhaCYjMDM5O308L3A+DQogICAgPHA+Tm93IFJlcXVpcmVzIENNUyAxLjMgbWluaW11bS48L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4xLjMuIC0gTm92IDIwMDc8L3A+DQogICAgPHA+Rml4ZXMgaXNzdWUgd2l0aCBTTVRQIEVtYWlsIGFkZHJlc3MgdmFsaWRhdGlvbjwvcD4NCiAgICA8cD5Ob3cgUmVxdWlyZSBGRVUgMS4zLjE8L3A+DQogICAgPHA+QWRkcyB0aGUgbm9pbmxpbmUgcGFyYW1ldGVyPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMS40LiAtIEphbiAyMDA4PC9wPg0KICAgIDxwPlNwbGl0cyBhIGZldyBtb3JlIGFjdGlvbnMgdXAgaW50byBzZXBlcmF0ZSBmaWxlczwvcD4NCiAgICA8cD5BZGRzIHByZWZlcmVuY2VzIGFuZCBiZWhhdmlvdXIgZm9yIHBhZ2VzIHRvIHJlZGlyZWN0IHRvIGFmdGVyIGEgdXNlciBpcyByZWdpc3RlcmVkLCBhbmQvb3IgdmVyaWZpZWQ8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4xLjUuIC0gRmViIDIwMDg8L3A+DQogICAgPHA+dXNlID0mYW1wOyBzeW50YXggdG8gYWxsIGNhbGxzIHRvIEdldE1vZHVsZUluc3RhbmNlKCk8L3A+DQogICAgPHA+UmVtb3ZlIGNhbmNlbCBidXR0b25zIGZyb20gZm9ybXMgKHRoZXkgZGlkbiYjMDM5O3Qgd29yayBhbnl3YXlzKTwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjEuNi4gLSBNYXIgMjAwODwvcD4NCiAgICA8cD5MaWNlbnNlIGNoYW5nZTwvcD4NCiAgICA8cD5SZW1vdmUgY2FuY2VsIGJ1dHRvbnMgZnJvbSBmb3JtczwvcD4NCiAgICA8cD5NaW5vciBidWcgZml4ZXMgYW5kIGNsZWFudXBzPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMiAtIE1hciAyMDA4PC9wPg0KICAgIDxwPkFkZCBmdW5jdGlvbmFsaXR5IHRvIGFsbG93IGF1dG9tYXRpYyBsb2dnaW5nIGluIG9uY2UgdmVyaWZpY2F0aW9uIGlzIGNvbXBsZXRlPC9wPg0KPGxpPg0KPC91bD4nOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPg0KPHA+VGhpcyBtb2R1bGUgaXMgZGVzaWduZWQgdG8gYWxsb3cgZnJvbnQgZW5kIHVzZXJzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMgYW5kIGZpbGwgaW4gdGhlIHJlcXVpcmVkIGluZm9ybWF0aW9uLiAgSXQgdGhlbiBzZW5kcyBhIGNvbmZpcm1hdGlvbiBlbWFpbCwgd2l0aCBhIGxpbmsgdG8gYSBzZWNvbmQgcGFnZSB0aGF0IG11c3QgYmUgY29tcGxldGVkIGJlZm9yZSB0aGUgcmVnaXN0cmF0aW9uIGlzIGNvbXBsZXRlLiAgT25jZSByZWdpc3RyYXRpb24gaXMgY29tcGxldGUsIGEgdXNlciBhY2NvdW50IGlzIGNyZWF0ZWQgaW4gdGhlIGZyb250IGVuZCB1c2VycyBtb2R1bGUuPC9wPg0KPHA+SW4gb3JkZXIgdG8gdXNlIHRoaXMgbW9kdWxlLCB5b3UgbXVzdCBjcmVhdGUgYSBwcm9wZXJ0eSBvZiB0eXBlICZxdW90O0VtYWlsIEFkZHJlc3MmcXVvdDsgaW4gdGhlIEZyb250ZW5kVXNlcnMgbW9kdWxlLCBhbmQgYXNzb2NpYXRlIHRoYXQgcHJvcGVydHkgd2l0aCB0aGUgZ3JvdXAgdG8gYmUgdXNlZCBmb3Igc2VsZiByZWdpc3RyYXRpb24uPC9wPg0KPGgzPkhvdyBEbyBJIFVzZSBJdDwvaDM+DQo8cD5Zb3UgcGxhY2UgdGhlIGZvbGxvd25nIHRhZyBpbnRvIHlvdXIgcGFnZSB7Y21zX21vZHVsZSBtb2R1bGU9U2VsZlJlZ2lzdHJhdGlvbiBncm91cD11c2VyZ3JvdXB9PC9wPg0KPHA+WW91IG11c3QgaGF2ZSBwcmV2aW91c2x5IGNyZWF0ZWQgcHJvcGVydGllcyBhbmQgdXNlciBncm91cHMgaW4gdGhlIEZyb250RW5kVXNlcnMgbW9kdWxlIGluIG9yZGVyIGZvciB0aGlzIHRvIHdvcmsgcHJvcGVybHkuPC9wPg0KPGgzPlBhcmFtZXRlcnM8L2gzPg0KPHA+PHN0cm9uZz5tb2RlPC9zdHJvbmc+IDxlbT5vcHRpb25hbDwvZW0+IC0gcG9zc2libGUgdmFsdWVzIGFyZSAmcXVvdDtzaWdudXAmcXVvdDsgYW5kICZxdW90O3ZlcmlmeSZxdW90Oy4gIElmIHRoaXMgcGFyYW1ldGVyIGlzIG5vdCBzcGVjaWZpZWQsICZxdW90O3NpZ251cCZxdW90OyBpcyBhc3N1bWJlZC48L3A+DQo8cD48c3Ryb25nPmdyb3VwPC9zdHJvbmc+IDxlbT5vcHRpb25hbDwvZW0+IC0gVGhpcyBwYXJhbWV0ZXIgaXMgcmVxdWlyZWQgaWYgbW9kZSBpcyAmcXVvdDtzaWdudXAmcXVvdDssIG9yIGlmIG1vZGUgaXMgbGVmdCBlbXB0eS48L3A+DQo8cD48c3Ryb25nPmNhcHRjaGE8L3N0cm9uZz4gPGVtPm9wdGlvbmFsPC9lbT4gLSBUaGlzIHdpbGwgZW5hYmxlIGNhcHRjaGEgb24gdGhlIHNpZ251cCBmb3JtLiBUaGUgQ2FwdGNoYSBtb2R1bGUgbXVzdCBiZSBpbnN0YWxsZWQgZm9yIHRoaXMgcGFyYW1ldGVyIHRvIHdvcmsuPC9wPg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCBjYWxndXkmIzAzOTtzDQptb2R1bGUgaG9tZXBhZ2UgYXQgPGEgaHJlZj0mcXVvdDtodHRwOi8vdGVjaGNvbS5keW5kbnMub3JnJnF1b3Q7PnRlY2hjb20uZHluZG5zLm9yZzwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9JnF1b3Q7aHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnJnF1b3Q7PkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+DQo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSZxdW90O2lyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyZxdW90Oz5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkuPC9saT4gIA0KPC91bD4NCjxwPkFzIHBlciB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkIGFzLWlzLiBQbGVhc2UgcmVhZCB0aGUgdGV4dA0Kb2YgdGhlIGxpY2Vuc2UgZm9yIHRoZSBmdWxsIGRpc2NsYWltZXIuPC9wPg0KDQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPkNvcHlyaWdodCAmYW1wO2NvcHk7IDIwMDgsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9JnF1b3Q7bWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcmcXVvdDs+JmFtcDtsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmFtcDtndDs8L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCnRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQooYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLjwvcD4NCjxwPkhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZA0KYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlDQppbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TDQpNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gDQpzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLjwvcD4NCjxwPlRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCk1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUNCkZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQpPciByZWFkIGl0IDxhIGhyZWY9JnF1b3Q7aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMJnF1b3Q7Pm9ubGluZTwvYT48L3A+JzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMTgwNzE1MTY0MC4xMTgyOTYwNDU2LjEyMDY1NjgyOTYuMTIwNjc5Nzc2My40NTgnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjA2NTY4Mjk2LjQ1Ny4zMi51dG1jY249KHJlZmVycmFsKXx1dG1jc3I9Zm9ydW0uY21zbWFkZXNpbXBsZS5vcmd8dXRtY2N0PS9pbmRleC5waHB8dXRtY21kPXJlZmVycmFsJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nb_NO.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2xvZ2luX2FmdGVydmVyaWZ5J10gPSAnTG9nZyBicnVrZXJlbiBhdXRvbWF0aXNrIGlubiBpIEZyb250RW5kVXNlcnMgZXR0ZXIgYXQgdmVyaWZpa2Fzam9uc3RyaW5uZXQgZXIgZnVsbGYmb3NsYXNoO3J0JzsKJGxhbmdbJ3NraXBfZmluYWxfbXNnJ10gPSAnSWtrZSB2aXMgYmVrcmVmdGVsc2VzbWVsZGluZ2VuIGV0dGVyIHJlZ2lzdHJlcmluZyc7CiRsYW5nWydyZWRpcmVjdF9hZnRlcnJlZ2lzdGVyJ10gPSAnUGFnZUlEL0FsaWFzICZhcmluZzsgdmlkZXJlc2VuZGUgdGlsIGV0dGVyIHJlZ2lzdHJlcmluZ2VuIGVyIGZlcmRpZyc7CiRsYW5nWydyZWRpcmVjdF9hZnRlcnZlcmlmeSddID0gJ1BhZ2VJRC9BbGlhcyAmYXJpbmc7IHZpZGVyZXNlbmRlIHRpbCBldHRlciB2ZXJpZmlzZXJpbmdlbiBlciBmdWxsZiZvc2xhc2g7cnQnOwokbGFuZ1sndXNlX2lubGluZV9mb3JtcyddID0gJ0Jlbnl0dCBJbmxpbmUgc2tqZW1hZXIgPGVtPihza2plbWEgdXRkYXRhIGVyc3RhdHRlciBtb2R1bHRhZ2dlbiBvZyBpa2tlIGFsdCBpbm5ob2xkZXQpPC9lbT4nOwokbGFuZ1snZXJyb3JfY29kZXNkb250bWF0Y2gnXSA9ICdWYWxpZGVyaW5ncyBuJm9zbGFzaDtra2VsZW4gc29tIGVyIG9wcGdpdHQgZXIgdWd5bGRpZyc7CiRsYW5nWydldmVudF9kZXNjcmlwdGlvbl9vbk5ld1VzZXInXSA9ICdFbiBoZW5kZWxzZSBzb20gaW5kaWtlcmVyIGF0IGVuIG55IGJydWtlciBoYXIgZnlsdCB1dCByZWdpc3RyZXJpbmdzc2tqZW1hZXQnOwokbGFuZ1snZXZlbnRfZGVzY3JpcHRpb25fb25Vc2VyUmVnaXN0ZXJlZCddID0gJ0VuIEhlbmRlbHNlIHNvbSBpbmRpa2VyZXIgYXQgZW4gYnJ1a2VyIGhhciBiZWtyZWZ0ZXQgc2luIGluZm9ybWFzam9uIG9nIGVyIG4mYXJpbmc7IGZ1bGx0IHJlZ2lzdHJlcnQnOwokbGFuZ1snZXZlbnRfaGVscF9vbk5ld1VzZXInXSA9ICc8cD5FbiBIZW5kZWxzZSBzb20gaW5kaWtlcmVyIGF0IGVuIG55IGJydWtlciBoYXIgZnVsbGYmb3NsYXNoO3J0IHJlZ2lzdHJlcmluZ3Nza2plbWFldDwvcD4NCjxoND5Jbm5zdGlsbGluZ2VyPC9oND4NCjx1bD4NCjxsaT48ZW0+YnJ1a2VybmF2bjwvZW0+IC0gRGVuIG55ZSBicnVrZXJlbnMgdmFsZ3RlIGJydWtlcm5hdm48L2xpPg0KPGxpPjxlbT5lbWFpbDwvZW0+IC0gRGVuIG55ZSBicnVrZXJlbnMgZW1haWxhZHJlc3NlPC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRfaGVscF9vblVzZXJSZWdpc3RlcmVkJ10gPSAnPHA+RW4gSGVuZGVsc2Ugc29tIGluZGlrZXJlciBhdCBlbiBicnVrZXIgaGFyIGJsaXR0IGJla3JlZnRldCBvZyBlciBuJmFyaW5nOyByZWdpc3RyZXJ0IHAmYXJpbmc7IGZldXNlcnM8L3A+DQo8aDQ+SW5uc3RpbGxpbmdlcjwvaDQ+DQo8dWw+DQo8bGk+PGVtPmJydWtlcm5hdm48L2VtPiAtIERldCByZWdpc3RyZXJ0ZSBicnVrZXJuYXZuPC9saT4NCjwvdWw+DQonOwokbGFuZ1snY29uZmlybV9zdWJtaXRwcmVmcyddID0gJ0ZvcmFuZHJlIGFkbWluIHByZWZlcmFuc2VyPyc7CiRsYW5nWydpbmZvX2FkbWluX3Bhc3N3b3JkJ10gPSAnTGEgZGV0dGUgZmVsdGV0IHYmYWVsaWc7cmUgdG9tdCBmb3IgJmFyaW5nOyBiZWhvbGRlIGJydWtlcnBhc3NvcmRldCc7CiRsYW5nWydpbmZvX2FkbWluX3JlcGVhdHBhc3N3b3JkJ10gPSAnTGEgZGV0dGUgZmVsdGV0IHYmYWVsaWc7cmUgdG9tdCBmb3IgJmFyaW5nOyBiZWhvbGRlIGJydWtlcnBhc3NvcmRldCc7CiRsYW5nWydlcnJvcl9lbWFpbGRvZXNub3RtYXRjaCddID0gJ0Vwb3N0YWRyZXNzZW5lIGVyIGlra2UgbGlrZSc7CiRsYW5nWydmb3JjZV9lbWFpbF90d2ljZSddID0gJ1R2aW5nZXIgYnJ1a2VybmUgdGlsICZhcmluZzsgdGFzdGUgaW5uIGVwb3N0YWRyZXNzZW4gc2luIHRvIGdhbmdlcic7CiRsYW5nWydhZ2FpbiddID0gJ2lnamVuJzsKJGxhbmdbJ2RlbGV0ZXNlbHVzZXJzJ10gPSAnU2xldHQgdmFsZ3RlIGJydWtlcmUnOwokbGFuZ1snZXJyb3Jfbm9wcm9wZGVmbnMnXSA9ICdJbmdlbiBmZWx0IGRlZmluaXNqb25lciwgZWxsZXIgcHJvYmxlbSBtZWQgJmFyaW5nOyBoZW50ZSBkZW0gZnJhIGRhdGFiYXNlbic7CiRsYW5nWydlcnJvcl9ub2dyb3VwcyddID0gJ0luZ2VuIGdydXBwZXIgZnVubmV0LCBlbGxlciBwcm9ibGVtZXIgbWVkICZhcmluZzsgbGVzZSBncnVwcGVsaXN0ZW4nOwokbGFuZ1snZXJyb3JfZGJlcnJvciddID0gJ0RhdGFiYXNlZmVpbCc7CiRsYW5nWyd0aXRsZV9wb3N0X3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnXSA9ICdNYWwgZm9yIEV0dGVyIHRhcHQgZXBvc3QnOwokbGFuZ1sndGl0bGVfc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSddID0gJ01hbCBmb3IgVGFwdCBlcG9zdCc7CiRsYW5nWydjbGlja2hlcmUnXSA9ICdLbGlrayBoZXInOwokbGFuZ1snbXNnX3NlbmRhbm90aGVyZW1haWwnXSA9ICdKZWcgaGFyIGFsbGVyZWRlIGZ1bGxmJm9zbGFzaDtydCByZWdpc3RyZXJpbmdzc2tqZW1hZXQsIG1lbiBtb3R0b2sgaWtrZSBub2VuIGVwb3N0LiBLYW4gZGVyZSBzZW5kZSBkZW4gcCZhcmluZzsgbnl0dCc7CiRsYW5nWydzZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJ10gPSAnTWFsIGZvciBtaXN0ZXQgcGFzc29yZCc7CiRsYW5nWydpbmZvX3VzZXJ2ZXJpZmllZCddID0gJ0VuIG55IGJydWtlciBlciBsYWd0IHRpbCBpIEZyb250RW5kVXNlcnMnOwokbGFuZ1snZWRpdCddID0gJ1JlZGlnZXInOwokbGFuZ1sndW5rbm93biddID0gJ1VramVudCc7CiRsYW5nWydzZWxlY3QnXSA9ICdWZWxnJzsKJGxhbmdbJ2NoZWNrX2FsbCddID0gJ1ZlbGcgYWxsZSc7CiRsYW5nWyd1bmNoZWNrX2FsbCddID0gJ1ZlbGcgaW5nZW4nOwokbGFuZ1snc2VuZF9hZGp1c3RtZW50ZW1haWwnXSA9ICdTZW5kIGVwb3N0IHRpbCBicnVrZXJlbic7CiRsYW5nWyd0eHRfYWRqdXN0bWVudGVtYWlsJ10gPSAnKGluZm9ybWVyZXIgYnJ1a2VyZW4gb20gYXQga29udG9lbiBoYXIgYmxpdHQganVzdGVydCc7CiRsYW5nWyd0eHRfY2hhbmdlcGFzc3dvcmQnXSA9ICdGeWxsIHV0IGRpc3NlIGZlbHRlbmUgZm9yICZhcmluZzsgZm9yYW5kcmUgYnJ1a2VycGFzc29yZGV0JzsKJGxhbmdbJ2VkaXR1c2VyJ10gPSAnUmVkaWdlciBicnVrZXInOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGV1c2VyJ10gPSAnRXIgZHUgc2lra2VyIHAmYXJpbmc7IGF0IGR1IHZpbCBzbGV0dGUgZGVubmUgZGVsdmlzIHJlZ2lzdHJlcnRlIGJydWtlcmVuPyc7CiRsYW5nWydoZHJfdXNlcmlkJ10gPSAnQnJ1a2VySUQnOwokbGFuZ1snaGRyX3VzZXJuYW1lJ10gPSAnQnJ1a2VybmF2bic7CiRsYW5nWydoZHJfZ3JwbmFtZSddID0gJ0dydXBwZSc7CiRsYW5nWydoZHJfY3JlYXRlZCddID0gJ09wcHJldHRldCc7CiRsYW5nWydoZHJfZW1haWwnXSA9ICdFcG9zdCc7CiRsYW5nWyd1c2Vyc2ZvdW5kJ10gPSAnQnJ1a2VyZSBmdW5uZXQgKGJlZ3JlbnNldCB0aWwgbWFrcyAyNTApJzsKJGxhbmdbJ3VzZXJzJ10gPSAnQnJ1a2VyZSc7CiRsYW5nWydsaXN0MWRheSddID0gJ0xpc3QgYWxsZSBpbm5sZWdnIG1lciBlbm4gMSBkYWcgZ2FtbGUnOwokbGFuZ1snc3ViamVjdCddID0gJ0VtbmUgZm9yIHV0ZyZhcmluZztlbmRlIGVwb3N0JzsKJGxhbmdbJ2h0bWxib2R5J10gPSAnSFRNTCBtZWxkaW5ncy1rcm9wcCc7CiRsYW5nWyd0ZXh0Ym9keSddID0gJ1RleHQgbWVsZGluZ3Mta3JvcHAnOwokbGFuZ1sncHJvbXB0X251bXJlc2V0cmVjb3JkJ10gPSAnRXQgYW50YWxsIGJydWtlcmUgZXIgbWlkdCBpIHJlZ2lzdHJlcmluZ2VuLiBEZXR0ZSBhbnRhbGxlciBlciBuJmFyaW5nOzonOwokbGFuZ1sncmVtb3ZlMXdlZWsnXSA9ICdGamVybiBhbGxlIGlubmxlZ2cgbWVyIGVubiBlbiB1a2UgZ2FtbGUnOwokbGFuZ1sncmVtb3ZlMW1vbnRoJ10gPSAnRmplcm4gYWxsZSBpbm5sZWdnIG1lciBlbm4gZW4gbSZhcmluZztuZWQgZ2FtbGUnOwokbGFuZ1sncmVtb3ZlMWRheSddID0gJ0ZqZXJuIGFsbGUgaW5ubGVnZyBtZXIgZW5uIGVuIGRhZyBnYW1sZSc7CiRsYW5nWydyZW1vdmVhbGwnXSA9ICdGamVybiBhbGxlIGlubmxlZ2cnOwokbGFuZ1snYXJleW91c3VyZSddID0gJ0VyIGR1IHNpa2tlcj8nOwokbGFuZ1sncmVnaXN0cmF0aW9uX2luZm9fZWRpdGVkJ10gPSAnRGluZSByZWdpc3RyZXJpbmdzZGF0YSBoYXIgYmxpdHQgZW5kcmV0JzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbl9jb25maXJtYXRpb24nXSA9ICdCZWtyZWZ0ZWxzZSBwJmFyaW5nOyByZWdpc3RyZXJpbmcnOwokbGFuZ1sndXNlcl9yZWdpc3RyYXRpb24nXSA9ICdSZWdpc3RyZXInOwokbGFuZ1snZmluYWxtZXNzYWdlX3RlbXBsYXRlJ10gPSAnTWFsIGZvciBhdnNsdXR0ZW5kZSBtZWxkaW5nJzsKJGxhbmdbJ3RpdGxlX3ZlcmlmeXJlZ2lzdHJhdGlvbiddID0gJ0Jla3JlZnQgcmVnaXN0cmVyaW5nJzsKJGxhbmdbJ2NvZGUnXSA9ICdLb2RlbiZvc2xhc2g7a2tlbCAoVmFsaWRhdGlvbiBLZXkpJzsKJGxhbmdbJ2RlZmF1bHQnXSA9ICdUaWxiYWtlc3RpbGwgdGlsIHN0YW5kYXJkdmVyZGllcic7CiRsYW5nWydlcnJvcl9ub3Byb3BlcnRpZXMnXSA9ICdJbmdlbiBlZ2Vuc2thcGVyIGZ1bm5ldCBmb3IgZGVubmUgYnJ1a2VyZW4nOwokbGFuZ1snZXJyb3Jfbm9wcm9wcmVsYXRpb25zJ10gPSAnSW5nZW4gZWdlbnNrYXAgcmVsYXNqb25lcic7CiRsYW5nWydlcnJvcl9lbWFpbGludmFsaWQnXSA9ICdVZ3lsZGlnIGVwb3N0YWRyZXNzZSc7CiRsYW5nWydlcnJvcl9ub2VtYWlsYWRkcmVzcyddID0gJ0luZ2VuIGd5bGRpZyBlbWFpbGFkcmVzc2UgZmVsdCBmdW5uZXQnOwokbGFuZ1snZXJyb3JfcmVxdWlyZWRmaWVsZCddID0gJ0ZlbHRldCAlcyBtJmFyaW5nOyBmeWxsZXMgdXQnOwokbGFuZ1sncmVnaXN0cmF0aW9uMV90ZW1wbGF0ZSddID0gJ1JlZ2lzdHJlcmluZ3NtYWwgMSc7CiRsYW5nWydyZWdpc3RyYXRpb24yX3RlbXBsYXRlJ10gPSAnUmVnaXN0cmVyaW5nc21hbCAyJzsKJGxhbmdbJ2VtYWlsY29uZmlybV90ZW1wbGF0ZSddID0gJ01hbCBmb3IgYmVrcmVmdGVsc2UgZXBvc3QnOwokbGFuZ1snZW1haWx1c2VyZWRpdGVkX3RlbXBsYXRlJ10gPSAnTWFsIGZvciBicnVrZXItaW5mbyBmb3JhbmRyZXQnOwokbGFuZ1sncHJlZmVyZW5jZXMnXSA9ICdQcmVmZXJhbnNlcic7CiRsYW5nWydlcnJvcl91c2Vybm90Zm91bmQnXSA9ICdCcnVrZXIgaWtrZSBmdW5uZXQnOwokbGFuZ1snZXJyb3JfaW52YWxpZHVzZXJuYW1lJ10gPSAnQnJ1a2VybmF2bmV0IGVyIHVneWxkaWcgKGZvciBsYW5ndCwgZm9yIGtvcnQsIGVsbGVyIGlubmVob2xkZXIgdWd5bGRpZ2UgdGVnbikuICBIaW50LSBCcnVrZXJuYXZuIG0mYXJpbmc7IGlubmVob2xkZSBrdW4gYWxmYW51bWVyaXNrZSB0ZWduIChpbmdlbiBtZWxsb21yb20pJzsKJGxhbmdbJ2Vycm9yX3VzZXJuYW1ldGFrZW4nXSA9ICdEZXQgYnJ1a2VybmF2bmV0IGVyIGFsbGVyZWRlIGkgYnJ1ayc7CiRsYW5nWydlcnJvcl9wYXNzd29yZHNkb250bWF0Y2gnXSA9ICdGRUlMOiBwYXNzb3JkZW5lIGVyIGlra2UgbGlrZSc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFzc3dvcmQnXSA9ICdQYXNzb3JkZXQgZXIgdWd5bGRpZyAocGFzc29yZCBtJmFyaW5nOyB2JmFlbGlnO3JlIG1lbGxvbSAlcyBvZyAlcyBrYXJha3RlcmVyIGkgbGVuZ2RlKSc7CiRsYW5nWydlcnJvcl9lbXB0eXVzZXJuYW1lJ10gPSAnQnJ1a2VybmF2bmV0IGthbiBpa2tlIHYmYWVsaWc7cmUgYmxhbmt0JzsKJGxhbmdbJ3JlcGVhdHBhc3N3b3JkJ10gPSAnUGFzc29yZCAoaWdqZW4pJzsKJGxhbmdbJ3Bhc3N3b3JkJ10gPSAnUGFzc29yZCc7CiRsYW5nWyd1c2VybmFtZSddID0gJ0JydWtlcm5hdm4nOwokbGFuZ1snY2FwdGNoYV90aXRsZSddID0gJ09wcGdpIHRla3N0ZW4gZnJhIGJpbGRldCc7CiRsYW5nWydlcnJvcl9pbnN1ZmZpY2llbnRwYXJhbXMnXSA9ICdVZ3lsZGlnIG51bW1lciAoZWxsZXIgZmVpbCkgcGFyYW1ldGVyZSBnaXR0IHRpbCBtb2R1bGVuJzsKJGxhbmdbJ2Vycm9yX25vZmV1c2Vyc21vZHVsZSddID0gJ0ZhbnQgaWtrZSBGcm9udEVuZFVzZXJzIG1vZHVsZW4nOwokbGFuZ1snZXJyb3Jfbm9zdWNoZ3JvdXAnXSA9ICdPcHBnaXR0IGdydXBwZW5hdm4gZWtzaXN0ZXJlciBpa2tlJzsKJGxhbmdbJ2Vycm9yX2NhcHRjaGFtaXNtYXRjaCddID0gJ1Rla3N0ZW4gZnJhIGJpbGRldCBibGUgaWtrZSBza3JldmV0IHJpa3RpZyc7CiRsYW5nWydzZW5kX2VtYWlsc190byddID0gJ1JlZ2lzdHJlcmluZ3NlbWFpbGVyIHNrdWxsZSBibGkgc2VuZHQgdGlsJzsKJGxhbmdbJ3JlcXVpcmVfZW1haWxfY29uZmlybWF0aW9uJ10gPSAnS3JldiBhdCBicnVrZXJlbiBtJmFyaW5nOyBiZWtyZWZ0ZSByZWdpc3RyZXJpbmdlbiB2aWEgZW1haWwnOwokbGFuZ1snbm90aWZ5X29uX3JlZ2lzdHJhdGlvbiddID0gJ1NlbmQgZW4gZW1haWwgbWVsZGluZyBuJmFyaW5nO3Igbm9lbiByZWdpc3RyZXJlciBzZWcnOwokbGFuZ1snY2FuY2VsJ10gPSAnQXZicnl0JzsKJGxhbmdbJ3N1Ym1pdCddID0gJ1NlbmQnOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnU2Vsdi1yZWdpc3RyZXJpbmdzIG1vZHVsJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnSW5zdGFsbGFzam9uIHZlbGx5a2tldCwgaHVzayAmYXJpbmc7IHNldHRlICZxdW90O01vZGlmeSBTZWxmUmVnaXN0cmF0aW9uIFNldHRpbmdzJnF1b3Q7IHJldHRpZ2hldGVuLiANCk9tIENhcHRjaGEgbW9kdWxlbiBlciBpbnN0YWxsZXJ0LCBzJmFyaW5nOyB2aWwgY2FwdGNoYSBmdW5rc2pvbmVuIGJsaSBzbCZhcmluZzt0dCBwJmFyaW5nOyBzb20gc3RhbmRhcmQuIFZpIGFuYmVmYWxlciBwJmFyaW5nOyBkZXQgc3Rlcmtlc3RlIGF0IGR1IGluc3RhbGxlcmVyIGRlbm5lIG1vZHVsZW4uIE9tIENhcHRjaGEgbW9kdWxlbiBlciBpbnN0YWxsZXJ0IG9nIGR1IGlra2UgdmlsIGJlbnl0dGUgZGV0dGUsIGJydWtlciBkdSBwYXJhbWV0ZXJlbiBub2NhcHRjaGEgaSBkaW4gc2Vsdi1yZWdpc3RyZXJpbmdzIHRhZ2cuJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdTZWx2cmVnaXN0cmVyaW5ncyBNb2R1bGVuIGVyIGF2aW5zdGFsbGVydC4gIFNlciBkZWcgc2VuZXJlLic7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZHVsZW4gYXZpbnN0YWxsZXJ0Lic7CiRsYW5nWydpbnN0YWxsZWQnXSA9ICdNb2R1bCB2ZXJzam9uICVzIGluc3RhbGxlcnQuJzsKJGxhbmdbJ3ByZWZzdXBkYXRlZCddID0gJ01vZHVsIGlubnN0aWxsaW5nZXIgb3BwZGF0ZXJ0Lic7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdBZGdhbmcgbmVrdGV0LiBWZW5ubGlnc3Qgc2pla2sgZGluZSByZXR0aWdoZXRlci4nOwokbGFuZ1snZXJyb3InXSA9ICdGZWlsISc7CiRsYW5nWyd1cGdyYWRlZCddID0gJ01vZHVsIG9wcGdyYWRlcnQgdGlsIHZlcnNqb24gJXMuJzsKJGxhbmdbJ3RpdGxlX21vZF9wcmVmcyddID0gJ01vZHVsIGlubnN0aWxsbmdlcic7CiRsYW5nWyd0aXRsZV9tb2RfYWRtaW4nXSA9ICdNb2R1bCBhZG1pbmlzdHJhc2pvbnNwYW5lbCc7CiRsYW5nWyd0aXRsZV9hZG1pbl9wYW5lbCddID0gJ1NlbHZyZWdpc3RyZXJpbmdzIE1vZHVsJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnRW4gbW9kdWwgc29tIHRpbGxhdGVyIGZyb250LWVuZCBicnVrZXJlICZhcmluZzsgcmVnaXN0cmVyZSBzZWcgc2Vsdi4nOwokbGFuZ1snd2VsY29tZV90ZXh0J10gPSAnPHA+VmVsa29tbWVuIHRpbCBTZWx2cmVnaXN0cmVyaW5ncyBtb2R1bGVuLjwvcD4nOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPg0KPGxpPlZlcnNpb24gMC4wLjEuIE9jdCAyMDA1LiBJbml0aWFsIE5SUFQgKE5vdCBSZWFkeSBmb3IgUHJpbWUgVGltZSkgcmVsZWFzZS48L2xpPg0KPGxpPlZlcnNpb24gMC4xLjAuIE9jdCAyMDA1LiBJbml0aWFsIHJlbGVhc2UuPC9saT4NCjxsaT5WZXJzaW9uIDAuMS4xLiBPY3QgMjAwNS4gU2V0IHRoZSBIVE1MIG1haWwgZmxhZy48L2xpPg0KPGxpPlZlcnNpb24gMC4xLjIuIE9jdCAyMDA1LiBNb3ZlZCBSYW5kb20gc3R1ZmYgaW50byBmZXVzZXJzLCBhbmQgYWRkZWQgdGhlIGFiaWxpdHkgdG8gZGVsZXRlIG9sZCBlbnRyaWVzIGZyb20gdGhlIHJlZ2lzdHJhdGlvbiB0ZW1wb3JhcnkgdGFibGVzPC9saT4NCjxsaT48cD5WZXJzaW9uIDAuMS4zLiAtIERlYyAyMDA1PC9wPg0KPHA+Rml4ZWQgdGhlIHRvZ2dsZXMgaW4gdGhlIGFkbWluIHByZWZlcmVuY2VzLiAgQWxzbywgY2hhbmdlZCB0aGUgcGVybWlzc2lvbnMgbW9kZWwgdG8gbm90IHJlcXVpcmUgdGhlIHVuaXF1ZSBwZXJtaXNzaW9uIGFkZGVkIHByZXZpb3VzbHkgZm9yIHRoZSBzZWxmcmVnIG1vZHVsZS48L3A+DQo8cD5UaGlzIHJlbGVhc2Ugd2FzIHJlbW92ZWQgZHVlIHRvIHBvc3NpYmxlIGVycm9yczwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAwLjEuNC4gLSBKYW4gMjAwNjwvcD4NCjxwPkZpeGVkIG1pbm9yIGVycm9ycyB3aXRoIENoZWNrUGVybWlzc2lvbiwgcmVwbGFjZWQgYWxsIGFzc2lnbl9ieV9yZWZzJiMwMzk7cyB3aXRoIGFzc2lnbnMgZm9yIGhvcGVmdWwgcGhwNSBjb21wYXRpYmlsaXR5LjwvcD4NCjxsaT48cD5WZXJzaW9uIDAuMS41LiAtIEphbiAyMDA2PC9wPg0KPHA+QWRkZWQgdGhlIGFiaWxpdHkgdG8gc2V0IHRoZSBzdWJqZWN0IG9mIHRoZSBjb25maXJtYXRpb24gZW1haWwsIGFuZCBhZGRlZCB0aGUgYWJpbGl0eSB0byBzcGVjaWZ5IGEgdGV4dCBib2R5LiAgU3ViamVjdCwgYW5kIHRleHQgYm9keSBhcmUgcmVxdWlyZWQuPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC4wLiAtIEZlYiAyMDA2PC9wPg0KPHA+Rml4ZWQgYSBwcm9ibGVtIHdpdGggdGhlIHZlcmlmeSBtb2RlLjwvcD4NCjxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIGVkaXQgYW5kIGRlbGV0ZSB1c2Vycy4gd2l0aCBzZWxlY3Rpb24gb24gdGhlIGNoZWNrYm94ZXMsIGFuZCAmcXVvdDtjaGVja2FsbCZxdW90OzwvcD4NCjxwPk5vdyByZXF1aXJlIEZFVXNlcnMgMC4xLjggYW5kIENNU01haWxlciAxLjczLjk8L3A+DQo8cD5BZGRlZCBhbm90aGVyIHRhYiBmb3IgdGhlICZxdW90O3lvdXIgc2V0dGluZ3MgaGF2ZSBiZWVuIGFkanVzdGVkJnF1b3Q7IGVtYWlsIHRlbXBsYXRlczwvcD4NCjxwPkFkZGVkIENTViBFeHBvcnRpbmc8L3A+DQo8cD5BZGRlZCBhICZxdW90O0RlbGV0ZSBhbGwgdXNlcnMgb2xkZXIgdGhhbiBhIGRheSZxdW90OyBidXR0b248L3A+DQo8cD5Ob3cgd29ya3Mgd2l0aCB0aGUgbWF4aW11bSBsZW5ndGggZmllbGQgb2YgRkVVc2VyczwvcD4NCjxwPkFkZGVkIHN1cHBvcnQgZm9yIGRyb3Bkb3ducyBhbmQgdGV4dCBhcmVhczwvcD4NCjxwPkRpc2FsbG93IHB1bmN0dWF0aW9uIGNoYXJhY3RlcnMgaW4gdXNlcm5hbWU8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjEuIC0gRmViIDIwMDY8L3A+DQo8cD5BZGRlZCB0aGUgYWJpbGl0eSBmb3IgdXNlcnMgdG8gcmVxdWVzdCBhbm90aGVyIHJlZ2lzdHJhdGlvbiBlbWFpbCAodXNlcyB0aGUgc2FtZSBjb2RlKSwgaW5jYXNlIHRoZXkgbG9zdCB0aGVpciBmaXJzdCBvbmUuPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC4yLiAtIEZlYiAyMDA2PC9wPg0KPHA+VGhlICZxdW90O1JlcXVpcmUgZW1haWwgY29uZmlybWF0aW9uJnF1b3Q7IGNoZWNrYm94IG5vdyB3b3Jrcy4gIFVzZXJzIGFyZSBhZGRlZCBzdHJhaWdodCB0byB0aGUgZnJvbnRlbmQgdXNlcnMgZGF0YWJhc2U8L3A+DQo8cD5GaXhlZCBhIGJ1ZyB3aXRoIHRoZSBjb25maXJtYXRpb24gZW1haWxzIGhhdmluZyBsaW5rcyB0byB0aGUgYWRtaW4gc2VjdGlvbiAobmV3IGJ1ZyBvbmx5KS48L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjMuIC0gRmViIDIwMDY8L3A+DQo8cD5BZGRlZCB0aGUgKG9wdGlvbmFsKSBhYmlsaXR5IHRvIHJlcXVpcmUgdGhlIHVzZXIgZW50ZXIgdGhlIGVtYWlsIGFkZHJlc3MgdHdpY2U8L3A+DQo8cD5GaXhlZCBhIGJ1ZyB3aXRoIHRoZSB1c2VyZWRpdGVkIG1lc3NhZ2Ugbm90IGJlaW5nIHRocm93biB0aHJvdWdoIHNtYXJ0eTwvcD4NCjxwPkZpeGVkIHRoZSBkZWZhdWx0IHJlZ2lzdHJhdGlvbiB0ZW1wbGF0ZSBhIGJpdCB0byBhaWRlIGluIHZhbGlkYXRpb24gZm9yIG5vbiByZXF1aXJlZCBmaWVsZHMgKGZpeGVkIGEgd2FybmluZyk8L3A+DQo8cD5GaXggcHJvYmxlbXMgd2l0aCBpbmxpbmUgYW5kIG5vbi1pbmxpbmUgZm9ybXMgYW5kIGxpbmtzPC9wPg0KPHA+SGFuZGxlIGFub3RoZXIgY2FzZSB3aGVyZSB0aGUgYWRtaW4gbWF5IG5vdCBoYXZlIGNyZWF0ZWQgdGhlIHByb3BlciB0eXBlIG9mIGVtYWlsIHByb3BlcnR5PC9wPg0KPHA+Q2hhbmdlZCB0byByZXF1aXJlIENNUyAwLjEyLWJldGEyIGF0IGEgbWluaW11bSAoZm9yIHNhZmV0eSBwdXJwb3Nlcyk8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjQuIC0gTWFyIDIwMDY8L3A+DQo8cD5Nb3JlIGNvbnRyb2wgb3ZlciB1c2VybmFtZSBhbmQgcGFzc3dvcmQgZmllbGQgc2l6ZXMgKGNvbnRyb2xsZWQgYnkgZmV1c2Vycyk8L3A+DQo8cD5Db25maXJtYXRpb24gb24gZWRpdGluZyBwcmVmZXJlbmNlczwvcD4NCjxwPlJlcXVpcmUgMC4xMiBwcm9wZXIgb2YgY21zIGFzIGEgbWluaW11bTwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjEuMC4gLSBEZWMgMjAwNjwvcD4NCiAgICA8cD5BZGRlZCBldmVudHMgYW5kIDEuMCBjb21wYXRpYmlsaXR5PC9wPg0KICAgIDxwPkNhcHRjaGEgc3VwcG9ydCAodGhhbmtzIERpdHRtYW4pPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMS4xLiAtIEFwciAyMDA3PC9wPg0KICAgIDxwPk5vdyByZXF1aXJlIEZFVXNlcnMgMS4yLjAgKG1pbmltdW0pPC9wPg0KICAgIDxwPlN1cHBvcnQgZm9yIG11bHRpc2VsZWN0IGxpc3RzIGluIGZldXNlcnM8L3A+DQogICAgPHA+T3V0cHV0IHNvbWUgbW9yZSBmaWVsZHMgdG8gc21hcnR5IHRvIGFsbG93IGZvciBpbmNyZWFzZWQgYWNjZXNzaWJpbGl0eTwvcD4NCiAgICA8cD5TcGxpdCBjb2RlIG91dCBpbnRvIG11bHRpcGxlIGZpbGVzIHRvIHJlZHVjZSBvdmVyYWxsIG1lbW9yeSBmb290cHJpbnQ8L3A+DQogICAgPHA+SWdub3JlIGFsbCBpbWFnZSBmaWVsZHM8L3A+DQogICAgPHA+Q2hhbmdlIENhcHRjaGEgc3VwcG9ydCB0byBiZSBvbiBieSBkZWZhdWx0IGlmIHRoZSBDYXB0Y2hhIG1vZHVsZSBpcyBmb3VuZDwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjEuMi4gLSBOb3YgMjAwNzwvcD4NCiAgICA8cD5GaXggdGhlIHByb2JsZW0gd2l0aCB0aGUgVXNlckRpc3BsYXlMb3N0UmVnRW1haWxGb3JtIHRoaW5nPC9wPg0KICAgIDxwPkFkZHMgdGhlIGlkIHRvIHRoZSBvblVzZXJSZWdpc3RlcmVkIEV2ZW50PC9wPg0KICAgIDxwPkZpeGVzIHRoZSBwcm9ibGVtIHdpdGggY2hlY2tib3ggcHJvcGVydGllcyBub3Qgd29ya2luZzwvcD4NCiAgICA8cD5Ob3cgUmVxdWlyZXMgQ01TIDEuMiBtaW5pbXVtPC9wPg0KICAgIDxwPllvdSBjYW4gbm93IHVzZSB7U2VsZlJlZ2lzdHJhdGlvbiBncm91cD0mIzAzOTtibGFoJiMwMzk7fTwvcD4NCiAgICA8cD5Ob3cgUmVxdWlyZXMgQ01TIDEuMyBtaW5pbXVtLjwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjEuMy4gLSBOb3YgMjAwNzwvcD4NCiAgICA8cD5GaXhlcyBpc3N1ZSB3aXRoIFNNVFAgRW1haWwgYWRkcmVzcyB2YWxpZGF0aW9uPC9wPg0KICAgIDxwPk5vdyBSZXF1aXJlIEZFVSAxLjMuMTwvcD4NCiAgICA8cD5BZGRzIHRoZSBub2lubGluZSBwYXJhbWV0ZXI8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4xLjQuIC0gSmFuIDIwMDg8L3A+DQogICAgPHA+U3BsaXRzIGEgZmV3IG1vcmUgYWN0aW9ucyB1cCBpbnRvIHNlcGVyYXRlIGZpbGVzPC9wPg0KICAgIDxwPkFkZHMgcHJlZmVyZW5jZXMgYW5kIGJlaGF2aW91ciBmb3IgcGFnZXMgdG8gcmVkaXJlY3QgdG8gYWZ0ZXIgYSB1c2VyIGlzIHJlZ2lzdGVyZWQsIGFuZC9vciB2ZXJpZmllZDwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjEuNS4gLSBGZWIgMjAwODwvcD4NCiAgICA8cD51c2UgPSZhbXA7IHN5bnRheCB0byBhbGwgY2FsbHMgdG8gR2V0TW9kdWxlSW5zdGFuY2UoKTwvcD4NCiAgICA8cD5SZW1vdmUgY2FuY2VsIGJ1dHRvbnMgZnJvbSBmb3JtcyAodGhleSBkaWRuJiMwMzk7dCB3b3JrIGFueXdheXMpPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMS42LiAtIE1hciAyMDA4PC9wPg0KICAgIDxwPkxpY2Vuc2UgY2hhbmdlPC9wPg0KICAgIDxwPlJlbW92ZSBjYW5jZWwgYnV0dG9ucyBmcm9tIGZvcm1zPC9wPg0KICAgIDxwPk1pbm9yIGJ1ZyBmaXhlcyBhbmQgY2xlYW51cHM8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4yIC0gTWFyIDIwMDg8L3A+DQogICAgPHA+QWRkIGZ1bmN0aW9uYWxpdHkgdG8gYWxsb3cgYXV0b21hdGljIGxvZ2dpbmcgaW4gb25jZSB2ZXJpZmljYXRpb24gaXMgY29tcGxldGU8L3A+DQo8bGk+DQo8L3VsPic7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+DQo8cD5UaGlzIG1vZHVsZSBpcyBkZXNpZ25lZCB0byBhbGxvdyBmcm9udCBlbmQgdXNlcnMgdG8gcmVnaXN0ZXIgdGhlbXNlbHZlcyBhbmQgZmlsbCBpbiB0aGUgcmVxdWlyZWQgaW5mb3JtYXRpb24uICBJdCB0aGVuIHNlbmRzIGEgY29uZmlybWF0aW9uIGVtYWlsLCB3aXRoIGEgbGluayB0byBhIHNlY29uZCBwYWdlIHRoYXQgbXVzdCBiZSBjb21wbGV0ZWQgYmVmb3JlIHRoZSByZWdpc3RyYXRpb24gaXMgY29tcGxldGUuICBPbmNlIHJlZ2lzdHJhdGlvbiBpcyBjb21wbGV0ZSwgYSB1c2VyIGFjY291bnQgaXMgY3JlYXRlZCBpbiB0aGUgZnJvbnQgZW5kIHVzZXJzIG1vZHVsZS48L3A+DQo8cD5JbiBvcmRlciB0byB1c2UgdGhpcyBtb2R1bGUsIHlvdSBtdXN0IGNyZWF0ZSBhIHByb3BlcnR5IG9mIHR5cGUgJnF1b3Q7RW1haWwgQWRkcmVzcyZxdW90OyBpbiB0aGUgRnJvbnRlbmRVc2VycyBtb2R1bGUsIGFuZCBhc3NvY2lhdGUgdGhhdCBwcm9wZXJ0eSB3aXRoIHRoZSBncm91cCB0byBiZSB1c2VkIGZvciBzZWxmIHJlZ2lzdHJhdGlvbi48L3A+DQo8aDM+SG93IERvIEkgVXNlIEl0PC9oMz4NCjxwPllvdSBwbGFjZSB0aGUgZm9sbG93bmcgdGFnIGludG8geW91ciBwYWdlIHtjbXNfbW9kdWxlIG1vZHVsZT1TZWxmUmVnaXN0cmF0aW9uIGdyb3VwPXVzZXJncm91cH08L3A+DQo8cD5Zb3UgbXVzdCBoYXZlIHByZXZpb3VzbHkgY3JlYXRlZCBwcm9wZXJ0aWVzIGFuZCB1c2VyIGdyb3VwcyBpbiB0aGUgRnJvbnRFbmRVc2VycyBtb2R1bGUgaW4gb3JkZXIgZm9yIHRoaXMgdG8gd29yayBwcm9wZXJseS48L3A+DQo8aDM+UGFyYW1ldGVyczwvaDM+DQo8cD48c3Ryb25nPm1vZGU8L3N0cm9uZz4mbmJzcDs8ZW0+b3B0aW9uYWw8L2VtPiAtIHBvc3NpYmxlIHZhbHVlcyBhcmUgJnF1b3Q7c2lnbnVwJnF1b3Q7IGFuZCAmcXVvdDt2ZXJpZnkmcXVvdDsuICBJZiB0aGlzIHBhcmFtZXRlciBpcyBub3Qgc3BlY2lmaWVkLCAmcXVvdDtzaWdudXAmcXVvdDsgaXMgYXNzdW1iZWQuPC9wPg0KPHA+PHN0cm9uZz5ncm91cDwvc3Ryb25nPiZuYnNwOzxlbT5vcHRpb25hbDwvZW0+IC0gVGhpcyBwYXJhbWV0ZXIgaXMgcmVxdWlyZWQgaWYgbW9kZSBpcyAmcXVvdDtzaWdudXAmcXVvdDssIG9yIGlmIG1vZGUgaXMgbGVmdCBlbXB0eS48L3A+DQo8cD48c3Ryb25nPm5vY2FwdGNoYTwvc3Ryb25nPiZuYnNwOzxlbT5vcHRpb25hbDwvZW0+IC0gVGhpcyB3aWxsIGRpc2FibGUgY2FwdGNoYSBvbiB0aGUgc2lnbnVwIGZvcm0uIEJ5IGRlZmF1bHQsIGlmIHRoZSBDYXB0Y2hhIG1vZHVsZSBpcyBpbnN0YWxsZWQsIGNhcHRjaGEgc3VwcG9ydCBpcyBwcm92aWRlZC4gIFRoaXMgcGFyYW1ldGVyIGRpc2FibGVzIGl0LjwvcD4NCjxoMz5TdXBwb3J0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4NCjx1bD4NCjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgY2FsZ3V5JiMwMzk7cw0KbW9kdWxlIGhvbWVwYWdlIGF0IDxhIGhyZWY9JnF1b3Q7aHR0cDovL3RlY2hjb20uZHluZG5zLm9yZyZxdW90Oz50ZWNoY29tLmR5bmRucy5vcmc8L2E+LjwvbGk+DQo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSZxdW90O2h0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyZxdW90Oz5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0mcXVvdDtpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMmcXVvdDs+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICANCjwvdWw+DQo8cD5BcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy4gUGxlYXNlIHJlYWQgdGhlIHRleHQNCm9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4NCg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmFtcDtjb3B5OyAyMDA4LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSZxdW90O21haWx0bzpjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJnF1b3Q7PiZhbXA7bHQ7Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyZhbXA7Z3Q7PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCml0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQp0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcg0KKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+DQo8cD5Ib3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQNCmFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQ0KaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUw0KTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIA0Kc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCmJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KT3IgcmVhZCBpdCA8YSBocmVmPSZxdW90O2h0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCZxdW90Oz5vbmxpbmU8L2E+PC9wPic7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjUyNTQwNjgxMi4xMTg4MDc3NDE3LjEyMDc2MDI0MzguMTIwNzY3MTAzMC40NTknOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjA3MDg1MzM2LjQ0Ny4zMi51dG1jY249KHJlZmVycmFsKXx1dG1jc3I9dGhlbWVzLmNtc21hZGVzaW1wbGUub3JnfHV0bWNjdD0vYWRtaW4vbGlzdG1vZHVsZXMucGhwfHV0bWNtZD1yZWZlcnJhbCc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzLjEnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nl_NL.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2xvZ2luX2FmdGVydmVyaWZ5J10gPSAnTG9nIGRlIGdlYnJ1aWtlciBhdXRvbWF0aXNjaCBhYW4sIG5hIGJldmVzdGlnaW5nJzsKJGxhbmdbJ3NraXBfZmluYWxfbXNnJ10gPSAnTGFhdHN0ZSBiZXJpY2h0IG5pZXQgdG9uZW4gbmEgcmVnaXN0cmF0aWUnOwokbGFuZ1sncmVkaXJlY3RfYWZ0ZXJyZWdpc3RlciddID0gJ1RlIG9wZW5lbiBQYWdlSUQvQWxpYXMgbmEgcmVnaXN0cmF0aWUnOwokbGFuZ1sncmVkaXJlY3RfYWZ0ZXJ2ZXJpZnknXSA9ICdUZSBvcGVuZW4gUGFnZUlEL0FsaWFzIG5hIGJldmVzdGlnaW5nJzsKJGxhbmdbJ3VzZV9pbmxpbmVfZm9ybXMnXSA9ICdHZWJydWlrICZxdW90O0lubGluZSZxdW90OyBmb3JtdWxpZXJlbiA8ZW0+KG1vZHVsZSBhYW5yb2VwIHdvcmR0IHZlcnZhbmdlbiwgbmlldCBkZSBpbmhvdWQpPC9lbT4nOwokbGFuZ1snZXJyb3JfY29kZXNkb250bWF0Y2gnXSA9ICdEZSBpbmdldm9lcmRlIHZhbGlkYXRpZXNsZXV0ZWwgaXMgb25nZWxkaWcnOwokbGFuZ1snZXZlbnRfZGVzY3JpcHRpb25fb25OZXdVc2VyJ10gPSAnRWVuIGdlYmV1cnRlbmlzIGRpZSBhYW5nZWVmdCBkYXQgZWVuIG5pZXV3ZSBnZWJydWlrZXIgaGV0IHJlZ2lzdHJhdGllZm9ybXVsaWVyIGhlZWZ0IGluZ2V2dWxkJzsKJGxhbmdbJ2V2ZW50X2Rlc2NyaXB0aW9uX29uVXNlclJlZ2lzdGVyZWQnXSA9ICdFZW4gZ2ViZXVydGVuaXMgZGllIGFhbmdlZWZ0IGRhdCBlZW4gZ2VicnVpa2VyIHppam4gZ2VnZXZlbnMgaGVlZnQgZ2V2YWxpZGVlcmQgZW4gbnUgdm9sbGVkaWcgaXMgZ2VyZWdpc3RyZWVyZC4nOwokbGFuZ1snZXZlbnRfaGVscF9vbk5ld1VzZXInXSA9ICc8cD5FZW4gZ2ViZXVydGVuaXMgZGllIGFhbmdlZWZ0IGRhdCBlZW4gbmlldXdlIGdlYnJ1aWtlciBoZXQgcmVnaXN0cmF0aWVmb3JtdWxpZXIgaGVlZnQgaW5nZXZ1bGQ8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBEZSBnZXNlbGVjdGVlcmRlIGdlYnJ1aWtlcnNuYWFtPC9saT4NCjxsaT48ZW0+ZW1haWw8L2VtPiAtIEhldCBnZXNlbGVjdGVlcmRlIGVtYWlsYWRyZXM8L2xpPg0KPC91bD4NCic7CiRsYW5nWydldmVudF9oZWxwX29uVXNlclJlZ2lzdGVyZWQnXSA9ICc8cD5FZW4gZ2ViZXVydGVuaXMgZGllIGFhbmdlZWZ0IGRhdCBlZW4gZ2VicnVpa2VyIHppam4gZ2VnZXZlbnMgaGVlZnQgZ2V2YWxpZGVlcmQgZW4gbnUgdm9sbGVkaWcgaXMgZ2VyZWdpc3RyZWVyZDwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIERlIGdlcmVnaXN0cmVlcmRlIGdlYnJ1aWtlcnNuYWFtPC9saT4NCjwvdWw+DQonOwokbGFuZ1snY29uZmlybV9zdWJtaXRwcmVmcyddID0gJ1ZlcmFuZGVyIGJlaGVlcnN2b29ya2V1cmVuPyc7CiRsYW5nWydpbmZvX2FkbWluX3Bhc3N3b3JkJ10gPSAnTGFhdCBkaXQgdmVsZCBsZWVnIG9tIGhldCBnZWJydWlrZXJzd2FjaHR3b29yZCB0ZSBiZWhvdWRlbic7CiRsYW5nWydpbmZvX2FkbWluX3JlcGVhdHBhc3N3b3JkJ10gPSAnTGFhdCBkaXQgdmVsZCBsZWVnIG9tIGhldCBnZWJydWlrZXJzd2FjaHR3b29yZCB0ZSBiZWhvdWRlbic7CiRsYW5nWydlcnJvcl9lbWFpbGRvZXNub3RtYXRjaCddID0gJ0VtYWlsYWRyZXNzZW4ga29tZW4gbmlldCBvdmVyZWVuJzsKJGxhbmdbJ2ZvcmNlX2VtYWlsX3R3aWNlJ10gPSAnVmVycGxpY2h0IGdlYnJ1aWtlcnMgb20gaHVuIGVtYWlsYWRyZXMgdHdlZSBtYWFsIGluIHRlIHZvZXJlbic7CiRsYW5nWydhZ2FpbiddID0gJ29wbmlldXcnOwokbGFuZ1snZGVsZXRlc2VsdXNlcnMnXSA9ICdWZXJ3aWpkZXIgZ2VzZWxlY3RlZXJkZSBnZWJydWlrZXJzJzsKJGxhbmdbJ2Vycm9yX25vcHJvcGRlZm5zJ10gPSAnR2VlbiBlaWdlbnNjaGFwc2RlZmluaXRpZSBvZiBlZW4gcHJvYmxlZW0gb20gZGV6ZSB1aXQgZGUgZGF0YWJhc2UgdGUgaGFsZW4nOwokbGFuZ1snZXJyb3Jfbm9ncm91cHMnXSA9ICdHZWVuIGdyb2VwZW4gb2YgZWVuIHByb2JsZWVtIG1ldCBoZXQgb3BoYWxlbiB2YW4gZGUgZ3JvZXBlbmxpanN0JzsKJGxhbmdbJ2Vycm9yX2RiZXJyb3InXSA9ICdEYXRhYmFzZS1mb3V0JzsKJGxhbmdbJ3RpdGxlX3Bvc3Rfc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSddID0gJ1Bvc3QgdmVybG9yZW4gZW1haWxzamFibG9vbic7CiRsYW5nWyd0aXRsZV9zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJ10gPSAnVmVybG9yZW4gZW1haWxzamFibG9vbic7CiRsYW5nWydjbGlja2hlcmUnXSA9ICdLbGlrIGhpZXInOwokbGFuZ1snbXNnX3NlbmRhbm90aGVyZW1haWwnXSA9ICdJayBoZWIgaGV0IHJlZ2lzdHJhdGllZm9ybXVsaWVyIGFsIGluZ2V2dWxkLCBtYWFyIGhlYiBub2cgZ2VlbiBlbWFpbCBvbnR2YW5nZW4uIEt1bnQgdSBoZXQgb3BuaWV1dyB2ZXJzdHVyZW4/JzsKJGxhbmdbJ3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnXSA9ICdWZXJsb3JlbiBlbWFpbHNqYWJsb29uJzsKJGxhbmdbJ2luZm9fdXNlcnZlcmlmaWVkJ10gPSAnRWVuIG5pZXV3ZSBnZWJydWlrZXIgaXMgdG9lZ2V2b2VnZCBhYW4gRnJvbnRFbmRVc2Vycyc7CiRsYW5nWydlZGl0J10gPSAnQmV3ZXJrJzsKJGxhbmdbJ3Vua25vd24nXSA9ICdPbmJla2VuZCc7CiRsYW5nWydzZWxlY3QnXSA9ICdTZWxlY3RlZXInOwokbGFuZ1snY2hlY2tfYWxsJ10gPSAnU2VsZWN0ZWVyIGFsbGVzJzsKJGxhbmdbJ3VuY2hlY2tfYWxsJ10gPSAnRGVzZWxlY3RlZXIgYWxsZXMnOwokbGFuZ1snc2VuZF9hZGp1c3RtZW50ZW1haWwnXSA9ICdTdHV1ciBlZW4gZW1haWwgbmFhciBkZSBnZWJydWlrZXInOwokbGFuZ1sndHh0X2FkanVzdG1lbnRlbWFpbCddID0gJyhpbmZvcm1lZXJ0IGRlIGdlYnJ1aWtlciBkYXQgemlqbiBhY2NvdW50IGlzIGFhbmdlcGFzdCc7CiRsYW5nWyd0eHRfY2hhbmdlcGFzc3dvcmQnXSA9ICdWdWwgZGV6ZSB2ZWxkZW4gaW4gb20gaGV0IGdlYnJ1aWtlcnN3YWNodHdvb3JkIHRlIHZlcmFuZGVyZW4nOwokbGFuZ1snZWRpdHVzZXInXSA9ICdCZXdlcmsgZ2VicnVpa2VyJzsKJGxhbmdbJ2FyZXlvdXN1cmVfZGVsZXRldXNlciddID0gJ1dlZXQgdSB6ZWtlciBkYXQgZGV6ZSwgZGVlbHMgZ2VyZWdpc3RyZWVyZGUgZ2VicnVpa2VyLCB2ZXJ3aWpkZXJkIG1vZXQgd29yZGVuPyc7CiRsYW5nWydoZHJfdXNlcmlkJ10gPSAnR2VicnVpa2Vycy1JRCc7CiRsYW5nWydoZHJfdXNlcm5hbWUnXSA9ICdHZWJydWlrZXJzbmFhbSc7CiRsYW5nWydoZHJfZ3JwbmFtZSddID0gJ0dyb2VwJzsKJGxhbmdbJ2hkcl9jcmVhdGVkJ10gPSAnQWFuZ2VtYWFrdCc7CiRsYW5nWydoZHJfZW1haWwnXSA9ICdFbWFpbCc7CiRsYW5nWyd1c2Vyc2ZvdW5kJ10gPSAnZ2VicnVpa2VyKHMpIGdldm9uZGVuIChiZXBlcmt0IHRvdCBtYXhpbWFhbCAyNTApJzsKJGxhbmdbJ3VzZXJzJ10gPSAnR2VicnVpa2Vycyc7CiRsYW5nWydsaXN0MWRheSddID0gJ1Rvb24gYWxsZSBpbnZvZXIgdmFuIG1lZXIgZGFuICZlYWN1dGU7JmVhY3V0ZTtuIGRhZyBvdWQnOwokbGFuZ1snc3ViamVjdCddID0gJ09uZGVyd2VycCB2YW4gdWl0Z2FhbmRlIGVtYWlsJzsKJGxhbmdbJ2h0bWxib2R5J10gPSAnSFRNTCB0ZWtzdCB2YW4gZGUgZW1haWwnOwokbGFuZ1sndGV4dGJvZHknXSA9ICdQbGF0dGUgdGVrc3QgdmFuIGRlIGVtYWlsJzsKJGxhbmdbJ3Byb21wdF9udW1yZXNldHJlY29yZCddID0gJ0VlbiBhYW50YWwgZ2VicnVpa2VycyBpcyB6aWNoIGFhbiBoZXQgcmVnaXN0cmVyZW4uIERpdCB6aWpuIGVyIG51Oic7CiRsYW5nWydyZW1vdmUxd2VlayddID0gJ1ZlcndpamRlciBhbGxlIGludm9lciB2YW4gbWVlciBkYW4gZWVuIHdlZWsgb3VkJzsKJGxhbmdbJ3JlbW92ZTFtb250aCddID0gJ1ZlcndpamRlciBhbGxlIGludm9lciB2YW4gbWVlciBkYW4gZWVuIG1hYW5kIG91ZCc7CiRsYW5nWydyZW1vdmUxZGF5J10gPSAnVmVyd2lqZGVyIGFsbGUgaW52b2VyIHZhbiBtZWVyIGRhbiBlZW4gZGFnIG91ZCc7CiRsYW5nWydyZW1vdmVhbGwnXSA9ICdWZXJ3aWpkZXIgYWxsZSBpbnZvZXInOwokbGFuZ1snYXJleW91c3VyZSddID0gJ1dlZXQgdSBoZXQgemVrZXI/JzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbl9pbmZvX2VkaXRlZCddID0gJ1V3IHJlZ2lzdHJhdGllaW5mb3JtYXRpZSBpcyBhYW5nZXBhc3QnOwokbGFuZ1sncmVnaXN0cmF0aW9uX2NvbmZpcm1hdGlvbiddID0gJ1JlZ2lzdHJhdGllYmV2ZXN0aWdpbmcnOwokbGFuZ1sndXNlcl9yZWdpc3RyYXRpb24nXSA9ICdSZWdpc3RyZWVyJzsKJGxhbmdbJ2ZpbmFsbWVzc2FnZV90ZW1wbGF0ZSddID0gJ0Fmcm9uZGluZ3Nib29kc2NoYXBzamFibG9vbic7CiRsYW5nWyd0aXRsZV92ZXJpZnlyZWdpc3RyYXRpb24nXSA9ICdWZXJpZmllZXIgcmVnaXN0cmF0aWUnOwokbGFuZ1snY29kZSddID0gJ1ZhbGlkYXRpZXNsZXV0ZWwnOwokbGFuZ1snZGVmYXVsdCddID0gJ0FjdGl2ZWVyIHN0YW5kYWFyZHdhYXJkZW4nOwokbGFuZ1snZXJyb3Jfbm9wcm9wZXJ0aWVzJ10gPSAnR2VlbiBlaWdlbnNjaGFwcGVuIHZvb3IgZGV6ZSBnZWJydWlrZXIgZ2V2b25kZW4nOwokbGFuZ1snZXJyb3Jfbm9wcm9wcmVsYXRpb25zJ10gPSAnR2VlbiBlaWdlbnNjaGFwc3JlbGF0aWVzJzsKJGxhbmdbJ2Vycm9yX2VtYWlsaW52YWxpZCddID0gJ09uZ2VsZGlnIGVtYWlsYWRyZXMnOwokbGFuZ1snZXJyb3Jfbm9lbWFpbGFkZHJlc3MnXSA9ICdHZWVuIGdlbGRpZyBlbWFpbGFkcmVzdmVsZCBnZXZvbmRlbic7CiRsYW5nWydlcnJvcl9yZXF1aXJlZGZpZWxkJ10gPSAnVmVsZCAlcyBtb2V0IGluZ2V2dWxkIHppam4nOwokbGFuZ1sncmVnaXN0cmF0aW9uMV90ZW1wbGF0ZSddID0gJ1JlZ2lzdHJhdGllc2phYmwuIDEnOwokbGFuZ1sncmVnaXN0cmF0aW9uMl90ZW1wbGF0ZSddID0gJ1JlZ2lzdHJhdGllc2phYmwuIDInOwokbGFuZ1snZW1haWxjb25maXJtX3RlbXBsYXRlJ10gPSAnQmV2ZXN0aWdpbmdzZW1haWwtc2phYmxvb24nOwokbGFuZ1snZW1haWx1c2VyZWRpdGVkX3RlbXBsYXRlJ10gPSAnR2VicnVpa2Vyc2luZm8tc2phYmxvb24nOwokbGFuZ1sncHJlZmVyZW5jZXMnXSA9ICdWb29ya2V1cmVuJzsKJGxhbmdbJ2Vycm9yX3VzZXJub3Rmb3VuZCddID0gJ0dlYnJ1aWtlciBuaWV0IGdldm9uZGVuJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWR1c2VybmFtZSddID0gJ0dlYnJ1aWtlcnNuYWFtIGlzIG9uZ2VsZGlnICh0ZSBsYW5nLCB0ZSBrb3J0IG9mIG9uZ2VsZGlnZSBrYXJha3RlcnMpLiBUaXA6IGdlYnJ1aWtlcnNuYW1lbiBtb2dlbiBhbGxlZW4gYWxmYW51bWVyaWVrZSBrYXJha3RlcnMgZW4gZ2VlbiBzcGF0aWVzIGJldmF0dGVuJzsKJGxhbmdbJ2Vycm9yX3VzZXJuYW1ldGFrZW4nXSA9ICdEZSBnZWJydWlrZXJzbmFhbSBpcyBhbCBpbiBnZWJydWlrJzsKJGxhbmdbJ2Vycm9yX3Bhc3N3b3Jkc2RvbnRtYXRjaCddID0gJ0ZvdXQ6IFdhY2h0d29vcmRlbiBrb21lbiBuaWV0IG92ZXJlZW4nOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhc3N3b3JkJ10gPSAnV2FjaHR3b29yZCBpcyBmb3V0ICh3YWNodHdvb3JkZW4gbW9ldGVuIHR1c3NlbiBkZSAlcyBlbiAlcyBrYXJha3RlcnMgbGFuZyB6aWpuKSc7CiRsYW5nWydlcnJvcl9lbXB0eXVzZXJuYW1lJ10gPSAnR2VicnVpa2Vyc25hYW0ga2FuIG5pZXQgbGVlZyB6aWpuJzsKJGxhbmdbJ3JlcGVhdHBhc3N3b3JkJ10gPSAnV2FjaHR3b29yZCAob3BuaWV1dyknOwokbGFuZ1sncGFzc3dvcmQnXSA9ICdXYWNodHdvb3JkJzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAnR2VicnVpa2Vyc25hYW0nOwokbGFuZ1snY2FwdGNoYV90aXRsZSddID0gJ1ZvZXIgZGUgdGVrc3QgdWl0IGhldCBwbGFhdGplIGluJzsKJGxhbmdbJ2Vycm9yX2luc3VmZmljaWVudHBhcmFtcyddID0gJ09udm9sZG9lbmRlIChvZiBpbmNvcnJlY3RlKSBwYXJhbWV0ZXJzIG9wZ2VnZXZlbiBhYW4gZGUgbW9kdWxlJzsKJGxhbmdbJ2Vycm9yX25vZmV1c2Vyc21vZHVsZSddID0gJ0tvbiBnZWVuIGluc3RhbmNlIHZhbiBkZSBGcm9udEVuZFVzZXJzLW1vZHVsZSBrcmlqZ2VuJzsKJGxhbmdbJ2Vycm9yX25vc3VjaGdyb3VwJ10gPSAnT3BnZWdldmVucyBncm9lcHNuYWFtIGJlc3RhYXQgbmlldCc7CiRsYW5nWydlcnJvcl9jYXB0Y2hhbWlzbWF0Y2gnXSA9ICdEZSB0ZWtzdCB1aXQgaGV0IHBsYWF0amUgaXMgbmlldCBnb2VkIGluZ2V2b2VyZCc7CiRsYW5nWydzZW5kX2VtYWlsc190byddID0gJ1JlZ2lzdHJhdGllLWVtYWlsIG1vZXQgdmVyc3R1dXJkIHdvcmRlbiBhYW4nOwokbGFuZ1sncmVxdWlyZV9lbWFpbF9jb25maXJtYXRpb24nXSA9ICdWZXJwbGljaHQgZGUgZ2VicnVpa2VyIG9tIGRlIHJlZ2lzdHJhdGllIHRlIGJldmVzdGlnZW4gdmlhIGVtYWlsJzsKJGxhbmdbJ25vdGlmeV9vbl9yZWdpc3RyYXRpb24nXSA9ICdTdHV1ciBlZW4gZW1haWxiZXZlc3RpZ2luZyBhbHMgaWVtYW5kIHppY2ggcmVnaXN0cmVlcnQnOwokbGFuZ1snY2FuY2VsJ10gPSAnQW5udWxlZXInOwokbGFuZ1snc3VibWl0J10gPSAnVmVyc3R1dXInOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnU2VsZiBSZWdpc3RyYXRpb24tbW9kdWxlJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnRGUgaW5zdGFsbGF0aWUgaXMgYWZnZXJvbmQuIFZlcmdlZXQgbmlldCBvbSBkZSByZWNodGVuIHZhbiAmcXVvdDtNb2RpZnkgU2VsZlJlZ2lzdHJhdGlvbiBTZXR0aW5ncyZxdW90OyBpbiB0ZSBzdGVsbGVuLiBBbHMgZGUgQ2FwdGNoYSBtb2R1bGUgZ2UmaXVtbDtuc3RhbGxlZXJkIGlzLCBkYW4gc3RhYXQgZGV6ZSBmdW5jdGlvbmFsaXRlaXQgc3RhbmRhYXJkIGFhbi4gV2UgcmFkZW4gdSBzdGVyayBhYW4gb20gZGV6ZSBtb2R1bGUgdGUgaW5zdGFsbGVyZW4uIEFscyBkZSBDYXB0Y2hhIG1vZHVsZSBnZSZpdW1sO25zdGFsbGVlcmQgaXMgZW4gdSB3aWx0IGRlemUgdWl0c2NoYWtlbGVuLCBnZWJydWlrIGRhbiBkZSBub2NhcHRjaGEgcGFyYW1ldGVyIGluIGRlIHNlbGZyZWdpc3RyYXRpb24gdGFnJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdEZSBTZWxmIFJlZ2lzdHJhdGlvbi1tb2R1bGUgaXMgZ2UmaXVtbDtuc3RhbGxlZXJkJzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTW9kdWxlIGdlZGVpbnN0YWxsZWVyZCc7CiRsYW5nWydpbnN0YWxsZWQnXSA9ICdNb2R1bGV2ZXJzaWUgJXMgZ2UmaXVtbDtuc3RhbGxlZXJkLic7CiRsYW5nWydwcmVmc3VwZGF0ZWQnXSA9ICdNb2R1bGV2b29ya2V1cmVuIGdldXBkYXRlLic7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdUb2VnYW5nIGdld2VpZ2VyZC4gQ29udHJvbGVlciB1dyByZWNodGVuLic7CiRsYW5nWydlcnJvciddID0gJ0ZvdXQhJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnTW9kdWxlIG9wZ2V3YWFyZGVlcmQgbmFhciB2ZXJzaWUgJXMuJzsKJGxhbmdbJ3RpdGxlX21vZF9wcmVmcyddID0gJ01vZHVsZXZvb3JrZXVyZW4nOwokbGFuZ1sndGl0bGVfbW9kX2FkbWluJ10gPSAnTW9kdWxlYmVoZWVycGFuZWVsJzsKJGxhbmdbJ3RpdGxlX2FkbWluX3BhbmVsJ10gPSAnU2VsZiBSZWdpc3RyYXRpb24tbW9kdWxlJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnRWVuIG1vZHVsZSBkaWUgaGV0IEZyb250RW5kIGdlYnJ1aWtlcnMgbW9nZWxpamsgbWFha3QgemljaHplbGYgdGUgcmVnaXN0cmVyZW4uJzsKJGxhbmdbJ3dlbGNvbWVfdGV4dCddID0gJzxwPldlbGtvbSBiaWogZGUgU2VsZiBSZWdpc3RyYXRpb24tbW9kdWxlLjwvcD4nOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPg0KPGxpPlZlcnNpb24gMC4wLjEuIE9jdCAyMDA1LiBJbml0aWFsIE5SUFQgKE5vdCBSZWFkeSBmb3IgUHJpbWUgVGltZSkgcmVsZWFzZS48L2xpPg0KPGxpPlZlcnNpb24gMC4xLjAuIE9jdCAyMDA1LiBJbml0aWFsIHJlbGVhc2UuPC9saT4NCjxsaT5WZXJzaW9uIDAuMS4xLiBPY3QgMjAwNS4gU2V0IHRoZSBIVE1MIG1haWwgZmxhZy48L2xpPg0KPGxpPlZlcnNpb24gMC4xLjIuIE9jdCAyMDA1LiBNb3ZlZCBSYW5kb20gc3R1ZmYgaW50byBmZXVzZXJzLCBhbmQgYWRkZWQgdGhlIGFiaWxpdHkgdG8gZGVsZXRlIG9sZCBlbnRyaWVzIGZyb20gdGhlIHJlZ2lzdHJhdGlvbiB0ZW1wb3JhcnkgdGFibGVzPC9saT4NCjxsaT48cD5WZXJzaW9uIDAuMS4zLiAtIERlYyAyMDA1PC9wPg0KPHA+Rml4ZWQgdGhlIHRvZ2dsZXMgaW4gdGhlIGFkbWluIHByZWZlcmVuY2VzLiAgQWxzbywgY2hhbmdlZCB0aGUgcGVybWlzc2lvbnMgbW9kZWwgdG8gbm90IHJlcXVpcmUgdGhlIHVuaXF1ZSBwZXJtaXNzaW9uIGFkZGVkIHByZXZpb3VzbHkgZm9yIHRoZSBzZWxmcmVnIG1vZHVsZS48L3A+DQo8cD5UaGlzIHJlbGVhc2Ugd2FzIHJlbW92ZWQgZHVlIHRvIHBvc3NpYmxlIGVycm9yczwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAwLjEuNC4gLSBKYW4gMjAwNjwvcD4NCjxwPkZpeGVkIG1pbm9yIGVycm9ycyB3aXRoIENoZWNrUGVybWlzc2lvbiwgcmVwbGFjZWQgYWxsIGFzc2lnbl9ieV9yZWZzJiMwMzk7cyB3aXRoIGFzc2lnbnMgZm9yIGhvcGVmdWwgcGhwNSBjb21wYXRpYmlsaXR5LjwvcD4NCjxsaT48cD5WZXJzaW9uIDAuMS41LiAtIEphbiAyMDA2PC9wPg0KPHA+QWRkZWQgdGhlIGFiaWxpdHkgdG8gc2V0IHRoZSBzdWJqZWN0IG9mIHRoZSBjb25maXJtYXRpb24gZW1haWwsIGFuZCBhZGRlZCB0aGUgYWJpbGl0eSB0byBzcGVjaWZ5IGEgdGV4dCBib2R5LiAgU3ViamVjdCwgYW5kIHRleHQgYm9keSBhcmUgcmVxdWlyZWQuPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC4wLiAtIEZlYiAyMDA2PC9wPg0KPHA+Rml4ZWQgYSBwcm9ibGVtIHdpdGggdGhlIHZlcmlmeSBtb2RlLjwvcD4NCjxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIGVkaXQgYW5kIGRlbGV0ZSB1c2Vycy4gd2l0aCBzZWxlY3Rpb24gb24gdGhlIGNoZWNrYm94ZXMsIGFuZCAmcXVvdDtjaGVja2FsbCZxdW90OzwvcD4NCjxwPk5vdyByZXF1aXJlIEZFVXNlcnMgMC4xLjggYW5kIENNU01haWxlciAxLjczLjk8L3A+DQo8cD5BZGRlZCBhbm90aGVyIHRhYiBmb3IgdGhlICZxdW90O3lvdXIgc2V0dGluZ3MgaGF2ZSBiZWVuIGFkanVzdGVkJnF1b3Q7IGVtYWlsIHRlbXBsYXRlczwvcD4NCjxwPkFkZGVkIENTViBFeHBvcnRpbmc8L3A+DQo8cD5BZGRlZCBhICZxdW90O0RlbGV0ZSBhbGwgdXNlcnMgb2xkZXIgdGhhbiBhIGRheSZxdW90OyBidXR0b248L3A+DQo8cD5Ob3cgd29ya3Mgd2l0aCB0aGUgbWF4aW11bSBsZW5ndGggZmllbGQgb2YgRkVVc2VyczwvcD4NCjxwPkFkZGVkIHN1cHBvcnQgZm9yIGRyb3Bkb3ducyBhbmQgdGV4dCBhcmVhczwvcD4NCjxwPkRpc2FsbG93IHB1bmN0dWF0aW9uIGNoYXJhY3RlcnMgaW4gdXNlcm5hbWU8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjEuIC0gRmViIDIwMDY8L3A+DQo8cD5BZGRlZCB0aGUgYWJpbGl0eSBmb3IgdXNlcnMgdG8gcmVxdWVzdCBhbm90aGVyIHJlZ2lzdHJhdGlvbiBlbWFpbCAodXNlcyB0aGUgc2FtZSBjb2RlKSwgaW5jYXNlIHRoZXkgbG9zdCB0aGVpciBmaXJzdCBvbmUuPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC4yLiAtIEZlYiAyMDA2PC9wPg0KPHA+VGhlICZxdW90O1JlcXVpcmUgZW1haWwgY29uZmlybWF0aW9uJnF1b3Q7IGNoZWNrYm94IG5vdyB3b3Jrcy4gIFVzZXJzIGFyZSBhZGRlZCBzdHJhaWdodCB0byB0aGUgZnJvbnRlbmQgdXNlcnMgZGF0YWJhc2U8L3A+DQo8cD5GaXhlZCBhIGJ1ZyB3aXRoIHRoZSBjb25maXJtYXRpb24gZW1haWxzIGhhdmluZyBsaW5rcyB0byB0aGUgYWRtaW4gc2VjdGlvbiAobmV3IGJ1ZyBvbmx5KS48L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjMuIC0gRmViIDIwMDY8L3A+DQo8cD5BZGRlZCB0aGUgKG9wdGlvbmFsKSBhYmlsaXR5IHRvIHJlcXVpcmUgdGhlIHVzZXIgZW50ZXIgdGhlIGVtYWlsIGFkZHJlc3MgdHdpY2U8L3A+DQo8cD5GaXhlZCBhIGJ1ZyB3aXRoIHRoZSB1c2VyZWRpdGVkIG1lc3NhZ2Ugbm90IGJlaW5nIHRocm93biB0aHJvdWdoIHNtYXJ0eTwvcD4NCjxwPkZpeGVkIHRoZSBkZWZhdWx0IHJlZ2lzdHJhdGlvbiB0ZW1wbGF0ZSBhIGJpdCB0byBhaWRlIGluIHZhbGlkYXRpb24gZm9yIG5vbiByZXF1aXJlZCBmaWVsZHMgKGZpeGVkIGEgd2FybmluZyk8L3A+DQo8cD5GaXggcHJvYmxlbXMgd2l0aCBpbmxpbmUgYW5kIG5vbi1pbmxpbmUgZm9ybXMgYW5kIGxpbmtzPC9wPg0KPHA+SGFuZGxlIGFub3RoZXIgY2FzZSB3aGVyZSB0aGUgYWRtaW4gbWF5IG5vdCBoYXZlIGNyZWF0ZWQgdGhlIHByb3BlciB0eXBlIG9mIGVtYWlsIHByb3BlcnR5PC9wPg0KPHA+Q2hhbmdlZCB0byByZXF1aXJlIENNUyAwLjEyLWJldGEyIGF0IGEgbWluaW11bSAoZm9yIHNhZmV0eSBwdXJwb3Nlcyk8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjQuIC0gTWFyIDIwMDY8L3A+DQo8cD5Nb3JlIGNvbnRyb2wgb3ZlciB1c2VybmFtZSBhbmQgcGFzc3dvcmQgZmllbGQgc2l6ZXMgKGNvbnRyb2xsZWQgYnkgZmV1c2Vycyk8L3A+DQo8cD5Db25maXJtYXRpb24gb24gZWRpdGluZyBwcmVmZXJlbmNlczwvcD4NCjxwPlJlcXVpcmUgMC4xMiBwcm9wZXIgb2YgY21zIGFzIGEgbWluaW11bTwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjEuMC4gLSBEZWMgMjAwNjwvcD4NCiAgICA8cD5BZGRlZCBldmVudHMgYW5kIDEuMCBjb21wYXRpYmlsaXR5PC9wPg0KICAgIDxwPkNhcHRjaGEgc3VwcG9ydCAodGhhbmtzIERpdHRtYW4pPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMS4xLjwvcD4NCiAgICA8cD5Ob3cgcmVxdWlyZSBGRVVzZXJzIDEuMS4zIChtaW5pbXVtKTwvcD4NCiAgICA8cD5TdXBwb3J0IGZvciBtdWx0aXNlbGVjdCBsaXN0cyBpbiBmZXVzZXJzPC9wPg0KICAgIDxwPk91dHB1dCBzb21lIG1vcmUgZmllbGRzIHRvIHNtYXJ0eSB0byBhbGxvdyBmb3IgaW5jcmVhc2VkIGFjY2Vzc2liaWxpdHk8L3A+DQogICAgPHA+U3BsaXQgY29kZSBvdXQgaW50byBtdWx0aXBsZSBmaWxlcyB0byByZWR1Y2Ugb3ZlcmFsbCBtZW1vcnkgZm9vdHByaW50PC9wPg0KICAgIDxwPklnbm9yZSBhbGwgaW1hZ2UgZmllbGRzPC9wPg0KICAgIDxwPkNoYW5nZSBDYXB0Y2hhIHN1cHBvcnQgdG8gYmUgb24gYnkgZGVmYXVsdCBpZiB0aGUgQ2FwdGNoYSBtb2R1bGUgaXMgZm91bmQ8L3A+DQo8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscCddID0gJzxoMz5XYXQgZG9ldCBoZXQ/PC9oMz4NCjxwPkRlemUgbW9kdWxlIGlzIG9udHdvcnBlbiBvbSBGcm9udEVuZFVzZXJzIHRvZSB0ZSBzdGFhbiB6aWNoemVsZiB0ZSByZWdpc3RyZXJlbiBlbiBkZSBiZW5vZGlnZGUgaW5mb3JtYXRpZSBpbiB0ZSB2dWxsZW4uIEhldCB2ZXJzdHV1cnQgdmVydm9sZ2VucyBlZW4gYmV2ZXN0aWdpbmdzbWFpbCBtZXQgZWVuIGxpbmsgbmFhciBlZW4gdHdlZWRlIHBhZ2luYSBkaWUgaW5nZXZ1bGQgbW9ldCB3b3JkZW4gdm9vciBkZSByZWdpc3RyYXRpZSBhZmdlcm9uZCBrYW4gd29yZGVuLiBOYSBhZnJvbmRpbmcgdmFuIGRlIHJlZ2lzdHJhdGllIGlzIGVlbiBnZWJydWlrZXJzYWNjb3VudCBpbiBkZSBGcm9udEVuZFVzZXJzLW1vZHVsZSBhYW5nZW1hYWt0LjwvcD4NCjxwPk9tIGRlemUgbW9kdWxlIHRlIGt1bm5lbiBnZWJydWlrZW4gZGllbnQgZWVuIGVpZ2Vuc2NoYXAgdmFuIGhldCB0eXBlIEUtbWFpbGFkcmVzIGluIGRlIEZyb250RW5kVXNlcnMtbW9kdWxlIGFhbmdlbWFha3QgdGUgd29yZGVuIGVuIG1vZXQgZGV6ZSBnZWtvcHBlbGQgd29yZGVuIG1ldCBkZSBnZWJydWlrZXJzZ3JvZXAgZGllIGdlYnJ1aWt0IHdvcmR0IHZvb3IgZGUgemVsZnJlZ2lzdHJhdGllLjwvcD4NCjxoMz5Ib2UgZ2VicnVpayBpayBoZXQ/PC9oMz4NCjxwPkplIHBsYWF0c3QgZGUgdm9sZ2VuZGUgdGFnIGluIGplIHBhZ2luYSB7Y21zX21vZHVsZSBtb2R1bGU9U2VsZlJlZ2lzdHJhdGlvbiBncm91cD1nZWJydWlrZXJzZ3JvZXB9PC9wPg0KPHA+SmUgbW9ldCB2b29yYWYgZGUgZWlnZW5zY2hhcHBlbiBlbiBnZWJydWlrZXJzZ3JvZXBlbiBpbiBkZSBGcm9udEVuZFVzZXJzLW1vZHVsZSBhYW5nZW1hYWt0IGhlYmJlbiBvbSBkZSB6ZWxmcmVnaXN0cmF0aWUgdGUga3VubmVuIGdlYnJ1aWtlbi48L3A+DQo8aDM+UGFyYW1ldGVyczwvaDM+DQo8cD48c3Ryb25nPm1vZGU8L3N0cm9uZz4mbmJzcDs8ZW0+b3B0aW9uZWVsPC9lbT4gLSBtb2dlbGlqa2Ugd2FhcmRlbiB6aWpuICZxdW90O3NpZ251cCZxdW90OyBlbiAmcXVvdDt2ZXJpZnkmcXVvdDsuICBBbHMgZGV6ZSBwYXJhbWV0ZXIgbmlldCBvcGdlZ2V2ZW4gaXMgZ2VsZHQgJnF1b3Q7c2lnbnVwJnF1b3Q7LjwvcD4NCjxwPjxzdHJvbmc+Z3JvdXA8L3N0cm9uZz4mbmJzcDs8ZW0+b3B0aW9uYWw8L2VtPiAtIFZlcmVpc3QgYWxzIGRlIG1vZGUgJnF1b3Q7c2lnbnVwJnF1b3Q7IGlzIG9mIGFscyBkZSBtb2RlIG5pZXQgb3BnZWdldmVuIGlzLjwvcD4NCjxwPjxzdHJvbmc+bm9jYXB0Y2hhPC9zdHJvbmc+Jm5ic3A7PGVtPm9wdGlvbmVlbDwvZW0+IC0gSGllcm1lZSB3b3JkdCBjYXB0Y2hhIHVpdGdlc2NoYWtlbGQgb3AgaGV0IHJlZ2lzdHJhdGllZm9ybXVsaWVyLiBTdGFuZGFhcmQgd29yZHQgY2FwdGNoYSBvbmRlcnN0ZXVuZCwgbWl0cyBkZSBDYXB0Y2hhLW1vZHVsZSBnZSZpdW1sO25zdGFsbGVlcmQgaXMuIERlemUgcGFyYW1ldGVyIHNjaGFrZWx0IGRlIG1vZHVsZSB1aXQuPC9wPg0KPGgzPk9uZGVyc3RldW5pbmc8L2gzPg0KPHA+RGV6ZSBtb2R1bGUgYmV2YXQgZ2VlbiBjb21tZXJjaSZldW1sO2xlIG9uZGVyc3RldW5pbmcuIEVyIHppam4gZWNodGVyIGVlbiBhYW50YWwgbW9nZWxpamtoZWRlbiBvbSBqZSBlcm1lZSB0ZSBoZWxwZW46PC9wPg0KPHVsPg0KPGxpPlZvb3IgZGUgbmlldXdzdGUgdmVyc2llIHZhbiBkZXplIG1vZHVsZSwgRkFRcywgb2Ygb20gZWVuIEJ1ZyBSZXBvcnQgaW4gdGUgZGllbmVuIG9mIGNvbW1lcmNpZWxlIG9uZGVyc3RldW5pbmcgdGUgdnJhZ2VuLCBrdW4gamUgY2FsZ3V5JiMwMzk7cw0KbW9kdWxlIGhvbWVwYWdlIGJlem9la2VuIG9wIDxhIGhyZWY9JnF1b3Q7aHR0cDovL3RlY2hjb20uZHluZG5zLm9yZyZxdW90Oz50ZWNoY29tLmR5bmRucy5vcmc8L2E+LjwvbGk+DQo8bGk+VmVyZGVyZSBiZXNwcmVraW5nZW4gdmFuIGRlemUgbW9kdWxlIGthbiBvb2sgZ2V2b25kZW4gd29yZGVuIGluIGRlIDxhIGhyZWY9JnF1b3Q7aHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnJnF1b3Q7PkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+DQo8bGk+RGUgYXV0ZXVyLCBjYWxndXkxMDAwLCBrYW4gdmFhayBhYW5nZXRyb2ZmZW4gd29yZGVuIGluIGRlIDxhIGhyZWY9JnF1b3Q7aXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zJnF1b3Q7PkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4NCjxsaT5UZW5zbG90dGUga2FuIGplIGVuaWdlIHN1Y2NlcyBoZWJiZW4gZG9vciBkZSBhdXRldXIgZGlyZWN0IHRlIGUtbWFpbGVuLjwvbGk+ICANCjwvdWw+DQo8cD5BcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy4gUGxlYXNlIHJlYWQgdGhlIHRleHQNCm9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4NCg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDUsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9JnF1b3Q7bWFpbHRvOmNhbGd1eTEwMDBAaG90bWFpbC5jb20mcXVvdDs+PGNhbGd1eTEwMDBAaG90bWFpbC5jb20+PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBtb2R1bGUgaGFzIGJlZW4gcmVsZWFzZWQgdW5kZXIgdGhlIDxhIGhyZWY9JnF1b3Q7aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMJnF1b3Q7PkdOVSBQdWJsaWMgTGljZW5zZTwvYT4uIFlvdSBtdXN0IGFncmVlIHRvIHRoaXMgbGljZW5zZSBiZWZvcmUgdXNpbmcgdGhlIG1vZHVsZS48L3A+DQonOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjE0NDkyNTEyOTUuMTIwNjQ3NzIwMi4xMjA2NDc3MjAyLjEyMDY1NTgxODEuMic7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTIwNjU1ODE4MS4yLjIudXRtY2NuPShyZWZlcnJhbCl8dXRtY3NyPWZvcnVtLmNtc21hZGVzaW1wbGUub3JnfHV0bWNjdD0vaW5kZXgucGhwL3RvcGljLDIwNjgxLjAvdG9waWNzZWVuLmh0bWx8dXRtY21kPXJlZmVycmFsJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/pl_PL.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ3VzZV9pbmxpbmVfZm9ybXMnXSA9ICdVxbx5d2FqIGZvcm11bGFyenkgdyB0cmXFm2NpIDxlbT4od3nFm3dpZXRsb255IGZvcm11bGFyeiB6YXN0xIVwaSB6bmFjem5payBtb2R1xYJ1LCBhbGUgbmllIGNhxYLEhSB6YXdhcnRvxZvEhyBzdHJvbnkpPC9lbT4nOwokbGFuZ1snZXJyb3JfY29kZXNkb250bWF0Y2gnXSA9ICdXcHJvd2Fkem9ueSBrbHVjeiB3YWxpZGFjamkgJzsKJGxhbmdbJ2V2ZW50X2Rlc2NyaXB0aW9uX29uTmV3VXNlciddID0gJ1pkYXJ6ZW5pZSB3c2thenVqxIVjZSwgxbxlIG5vd3kgdcW8eXRrb3duaWsgd3lwZcWCbmnFgiBmb3JtdWxhcnogcmVqZXN0cmFjeWpueSc7CiRsYW5nWydldmVudF9kZXNjcmlwdGlvbl9vblVzZXJSZWdpc3RlcmVkJ10gPSAnWmRhcnplbmllIHdza2F6dWrEhWNlLCDFvGUgdcW8eXRrb3duaWsgendlcnlmaWtvd2HFgiBzd29qZSBkYW5lIGkgamVzdCBqdcW8IGNhxYJrb3dpY2llIHphcmVqZXN0cm93YW55JzsKJGxhbmdbJ2V2ZW50X2hlbHBfb25OZXdVc2VyJ10gPSAnPHA+QW4gZXZlbnQgaW5kaWNhdGluZyB0aGF0IGEgbmV3IHVzZXIgaGFzIGNvbXBsZXRlZCB0aGUgcmVnaXN0cmF0aW9uIGZvcm08L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBUaGUgbmV3IHVzZXJzIHNlbGVjdGVkIHVzZXJuYW1lPC9saT4NCjxsaT48ZW0+ZW1haWw8L2VtPiAtIFRoZSBuZXcgdXNlcnMgZW1haWwgYWRkcmVzczwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfb25Vc2VyUmVnaXN0ZXJlZCddID0gJzxwPkFuIGV2ZW50IGluZGljYXRpbmcgdGhhdCBhIHVzZXIgaGFzIGJlZW4gdmVyaWZpZWQgYW5kIGlzIG5vdyByZWdpc3RlcmVkIHdpdGggZmV1c2VyczwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIFRoZSByZWdpc3RlcmVkIHVzZXJuYW1lPC9saT4NCjwvdWw+DQonOwokbGFuZ1snY29uZmlybV9zdWJtaXRwcmVmcyddID0gJ1ptaWXFhCB1c3Rhd2llbmlhIGFkbWluaXN0cmF0b3JhPyc7CiRsYW5nWydpbmZvX2FkbWluX3Bhc3N3b3JkJ10gPSAnUG96b3N0YXcgdG8gcG9sZSBwdXN0ZSwgYnkgbmllIHptaWVuaWHEhyBoYXPFgmEgdcW8eXRrb3duaWthJzsKJGxhbmdbJ2luZm9fYWRtaW5fcmVwZWF0cGFzc3dvcmQnXSA9ICdQb3pvc3RhdyB0byBwb2xlIHB1c3RlLCBieSBuaWUgem1pZW5pYcSHIGhhc8WCYSB1xbx5dGtvd25pa2EnOwokbGFuZ1snZXJyb3JfZW1haWxkb2Vzbm90bWF0Y2gnXSA9ICdBZHJlc3kgZW1haWwgbmllIHpnYWR6YWrEhSBzacSZJzsKJGxhbmdbJ2ZvcmNlX2VtYWlsX3R3aWNlJ10gPSAnV3ltYWdhaiBwb2R3Jm9hY3V0ZTtqbmVnbyB3cHJvd2FkemVuaWEgZW1haWxhJzsKJGxhbmdbJ2FnYWluJ10gPSAncG9ub3duaWUnOwokbGFuZ1snZGVsZXRlc2VsdXNlcnMnXSA9ICdTa2FzdWogd3licmFueWNoIHXFvHl0a293bmlrJm9hY3V0ZTt3JzsKJGxhbmdbJ2Vycm9yX25vcHJvcGRlZm5zJ10gPSAnQnJhayBkZWZpbmljamkgd8WCYcWbY2l3b8WbY2kga29udGEgbHViIHByb2JsZW0geiBvdHJ6eW1hbmllbSBpY2ggeiBiYXp5IGRhbnljaCc7CiRsYW5nWydlcnJvcl9ub2dyb3VwcyddID0gJ0JyYWsgemRlZmluaW93YW55Y2ggZ3J1cCBsdWIgcHJvYmxlbSB6IG90cnp5bWFuaWVtIGljaCB6IGJhenkgZGFueWNoJzsKJGxhbmdbJ2Vycm9yX2RiZXJyb3InXSA9ICdCxYLEhWQgYmF6eSBkYW55Y2gnOwokbGFuZ1sndGl0bGVfcG9zdF9zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJ10gPSAnU3phYmxvbiB3eXN5xYJhbmlhIHpndWJpb25lZ28gZW1haWxhJzsKJGxhbmdbJ3RpdGxlX3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnXSA9ICdTemFibG9uIHpndWJpb25lZ28gZW1haWxhJzsKJGxhbmdbJ2NsaWNraGVyZSddID0gJ0tsaWtuaWogdHV0YWonOwokbGFuZ1snbXNnX3NlbmRhbm90aGVyZW1haWwnXSA9ICdXeXBlxYJuacWCZW0ganXFvCBmb3JtdWxhcnogcmVqZXN0cmFjeWpueSwgYWxlIG5pZSBvdHJ6eW1hxYJlbSBlbWFpbGEgcG90d2llcmR6YWrEhWNlZ28gLSBwcm9zesSZIG8gcG9ub3duZSBqZWdvIHd5c8WCYW5pZS4nOwokbGFuZ1snc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSddID0gJ1N6YWJsb24gemd1YmlvbmVnbyBlbWFpbGEnOwokbGFuZ1snaW5mb191c2VydmVyaWZpZWQnXSA9ICdOb3d5IHXFvHl0a293bmlrIHpvc3RhxYIgZG9kYW55IGRvIGJhenkgdcW8eXRrb3duaWsmb2FjdXRlO3cgRkVVJzsKJGxhbmdbJ2VkaXQnXSA9ICdFZHl0dWonOwokbGFuZ1sndW5rbm93biddID0gJ05pZXpuYW55JzsKJGxhbmdbJ3NlbGVjdCddID0gJ1phem5hY3plbmllJzsKJGxhbmdbJ2NoZWNrX2FsbCddID0gJ1phem5hY3ogd3N6eXN0a28nOwokbGFuZ1sndW5jaGVja19hbGwnXSA9ICdPZHpuYWN6IHdzenlzdGtvJzsKJGxhbmdbJ3NlbmRfYWRqdXN0bWVudGVtYWlsJ10gPSAnV3lzecWCYWogZW1haWwgZG8gdcW8eXRrb3duaWthJzsKJGxhbmdbJ3R4dF9hZGp1c3RtZW50ZW1haWwnXSA9ICcoaW5mb3JtdWplIHXFvHl0a293bmlrYSwgxbxlIGplZ28ga29udG8gem9zdGHFgm8gem1vZHlmaWtvd2FuZSknOwokbGFuZ1sndHh0X2NoYW5nZXBhc3N3b3JkJ10gPSAnV3lwZcWCbmlqIHRlIHBvbGEgYnkgem1pZW5pxIcgaGFzxYJvIHXFvHl0a293bmlrYSc7CiRsYW5nWydlZGl0dXNlciddID0gJ0VkeXR1aiB1xbx5dGtvd25pa2EnOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGV1c2VyJ10gPSAnQ3p5IG5hIHBld25vIGNoY2VzeiBza2Fzb3dhxIcgY3rEmcWbY2lvd28gemFyZWplc3Ryb3dhbmVnbyB1xbx5dGtvd25pa2E/JzsKJGxhbmdbJ2hkcl91c2VyaWQnXSA9ICdVc2VySUQgKElkIHXFvHl0a293bmlrYSknOwokbGFuZ1snaGRyX3VzZXJuYW1lJ10gPSAnTmF6d2EgdcW8eXRrb3duaWthJzsKJGxhbmdbJ2hkcl9ncnBuYW1lJ10gPSAnR3J1cGEnOwokbGFuZ1snaGRyX2NyZWF0ZWQnXSA9ICdTdHdvcnpvbnknOwokbGFuZ1snaGRyX2VtYWlsJ10gPSAnRW1haWwnOwokbGFuZ1sndXNlcnNmb3VuZCddID0gJ3XFvHl0a293bmlrJm9hY3V0ZTt3IHpuYWxlemlvbm8gKG9ncmFuaWN6b25vIGRvIG1heC4gMjUwIHd5bmlrJm9hY3V0ZTt3KSc7CiRsYW5nWyd1c2VycyddID0gJ1XFvHl0a293bmljeSc7CiRsYW5nWydsaXN0MWRheSddID0gJ0xpc3RhIHdzenlzdGtpY2ggd3BpcyZvYWN1dGU7dyBzdGFyc3p5Y2ggbmnFvCAxIGR6aWXFhCc7CiRsYW5nWydzdWJqZWN0J10gPSAnVHl0dcWCIG1haWxhIHd5Y2hvZHrEhWNlZ28nOwokbGFuZ1snaHRtbGJvZHknXSA9ICdUcmXFm8SHIHdpYWRvbW/Fm2NpIEhUTUwnOwokbGFuZ1sndGV4dGJvZHknXSA9ICdUcmXFm8SHIHdpYWRvbW/Fm2NpIHRla3N0b3dlaic7CiRsYW5nWydwcm9tcHRfbnVtcmVzZXRyZWNvcmQnXSA9ICdMaWN6YmEgdcW8eXRrb3duaWsmb2FjdXRlO3cgdyB0cmFrY2llIHJlamVzdHJhY2ppLiBXIGNod2lsaSBvYmVjbmVqIHRhIGxpY3piYSB0bzonOwokbGFuZ1sncmVtb3ZlMXdlZWsnXSA9ICdTa2FzdWogd3N6eXN0a2llIHdwaXN5IHN0YXJzemUgbmnFvCB0eWR6aWXFhCc7CiRsYW5nWydyZW1vdmUxbW9udGgnXSA9ICdTa2FzdWogd3N6eXN0a2llIHdwaXN5IHN0YXJzemUgbmnFvCBtaWVzacSFYyc7CiRsYW5nWydyZW1vdmUxZGF5J10gPSAnU2thc3VqIHdzenlzdGtpZSB3cGlzeSBzdGFyc3plIG5pxbwgZHppZcWEJzsKJGxhbmdbJ3JlbW92ZWFsbCddID0gJ1NrYXN1aiB3c3p5c3RraWUgd3Bpc3knOwokbGFuZ1snYXJleW91c3VyZSddID0gJ05hIHBld25vPyc7CiRsYW5nWydyZWdpc3RyYXRpb25faW5mb19lZGl0ZWQnXSA9ICdUd29qZSBpbmZvcm1hY2plIG8gcmVqZXN0cmFjamkgem9zdGHFgnkgem1pZW5pb25lJzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbl9jb25maXJtYXRpb24nXSA9ICdQb3R3aWVyZHplbmllIHJlamVzdHJhY2ppJzsKJGxhbmdbJ3VzZXJfcmVnaXN0cmF0aW9uJ10gPSAnWmFyZWplc3RydWogc2nEmSc7CiRsYW5nWydmaW5hbG1lc3NhZ2VfdGVtcGxhdGUnXSA9ICdTemFibG9uIHdpYWRvbW/Fm2NpIG9zdGF0ZWN6bmVqJzsKJGxhbmdbJ3RpdGxlX3ZlcmlmeXJlZ2lzdHJhdGlvbiddID0gJ1dlcnlmaWthY2phIHJlamVzdHJhY2ppJzsKJGxhbmdbJ2NvZGUnXSA9ICdLbHVjeiB3YWxpZHVqxIVjeSc7CiRsYW5nWydkZWZhdWx0J10gPSAnVXN0YXcgZG9tecWbbG5lJzsKJGxhbmdbJ2Vycm9yX25vcHJvcGVydGllcyddID0gJ0JyYWsgd8WCYcWbY2l3b8WbY2kgem5hbGV6aW9ueWNoIGRsYSB0ZWdvIHXFvHl0a293bmlrYSc7CiRsYW5nWydlcnJvcl9ub3Byb3ByZWxhdGlvbnMnXSA9ICdCcmFrIHJlbGFjamkgd8WCYcWbY2l3b8WbY2knOwokbGFuZ1snZXJyb3JfZW1haWxpbnZhbGlkJ10gPSAnTmllcHJhd2lkxYJvd3kgYWRyZXMgZW1haWwnOwokbGFuZ1snZXJyb3Jfbm9lbWFpbGFkZHJlc3MnXSA9ICdOaWUgem5hbGV6aW9ubyBwcmF3aWTFgm93eWNoIHAmb2FjdXRlO2wgZW1haWwnOwokbGFuZ1snZXJyb3JfcmVxdWlyZWRmaWVsZCddID0gJ1BvbGUgJXMgbXVzaSB6b3N0YcSHIHd5cGXFgm5pb25lJzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbjFfdGVtcGxhdGUnXSA9ICdTemFibG9uIHJlamVzdHJhY2ppIDEnOwokbGFuZ1sncmVnaXN0cmF0aW9uMl90ZW1wbGF0ZSddID0gJ1N6YWJsb24gcmVqZXN0cmFjamkgMic7CiRsYW5nWydlbWFpbGNvbmZpcm1fdGVtcGxhdGUnXSA9ICdTemFibG9uIHBvdHdpZXJkemFqxIVjZWdvIGVtYWlsYSc7CiRsYW5nWydlbWFpbHVzZXJlZGl0ZWRfdGVtcGxhdGUnXSA9ICdTemFibG9uIGluZm9ybWFjamkgbyB6bWlhbmllIGRhbnljaCB1xbx5dGtvd25pa2EnOwokbGFuZ1sncHJlZmVyZW5jZXMnXSA9ICdXxYJhxZtjaXdvxZtjaSc7CiRsYW5nWydlcnJvcl91c2Vybm90Zm91bmQnXSA9ICdOaWUgem5hbGV6aW9ubyB0YWtpZWdvIHXFvHl0a293bmlrYSc7CiRsYW5nWydlcnJvcl9pbnZhbGlkdXNlcm5hbWUnXSA9ICdOYXp3YSB1xbx5dGtvd25pa2EgamVzdCBuaWVwb3ByYXduYSAoemEgZMWCdWdhLCB6YSBrciZvYWN1dGU7dGthIGx1YiB6YXdpZXJhIG5pZXByYXdpZMWCb3dlIHpuYWtpKS4gIFBvZHBvd2llZMW6IC0gbmF6d3kgdcW8eXRrb3duaWthIG11c3rEhSB6YXdpZXJhxIcgdHlsa28gYWxmYW51bWVyeWN6bmUgem5ha2ksIGJleiBwb2xza2ljaCB6bmFrJm9hY3V0ZTt3IGkgYmV6IHNwYWNqaS4nOwokbGFuZ1snZXJyb3JfdXNlcm5hbWV0YWtlbiddID0gJ1RhIG5hendhIHXFvHl0a293bmlrYSBqZXN0IGp1xbwgdcW8eXdhbmEnOwokbGFuZ1snZXJyb3JfcGFzc3dvcmRzZG9udG1hdGNoJ10gPSAnQsWBxIREOiBoYXPFgmEgbmllIHpnYWR6YWrEhSBzacSZISc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFzc3dvcmQnXSA9ICdIYXPFgm8gamVzdCBuaWVwb3ByYXduZSAoaGFzxYJvIG11c2kgbWllxIcgZMWCdWdvxZvEhyBwb21pxJlkenkgJXMgYSAlcyB6bmFrJm9hY3V0ZTt3KSc7CiRsYW5nWydlcnJvcl9lbXB0eXVzZXJuYW1lJ10gPSAnTmF6d2EgdcW8eXRrb3duaWthIG5pZSBtb8W8ZSBwdXN0YSc7CiRsYW5nWydyZXBlYXRwYXNzd29yZCddID0gJ0hhc8WCbyAocG9ub3duaWUpJzsKJGxhbmdbJ3Bhc3N3b3JkJ10gPSAnSGFzxYJvJzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAnTmF6d2EgdcW8eXRrb3duaWthJzsKJGxhbmdbJ2NhcHRjaGFfdGl0bGUnXSA9ICdXcHJvd2FkxbogdGVrc3QgeiBvYnJhemthJzsKJGxhbmdbJ2Vycm9yX2luc3VmZmljaWVudHBhcmFtcyddID0gJ05pZXByYXdpZMWCb3dhIGxpY3piYSAobHViIG5pZXByYXdpZMWCb3dlIHdhcnRvxZtjaSkgcGFyYW1ldHImb2FjdXRlO3cgd3l3b8WCYW5pYSBtb2R1xYJ1JzsKJGxhbmdbJ2Vycm9yX25vZmV1c2Vyc21vZHVsZSddID0gJ05pZSBtb2fEmSB1enlza2HEhyBkb3N0xJlwdSBkbyBtb2R1xYJ1IFXFvHl0a293bmlrJm9hY3V0ZTt3IEZFVSc7CiRsYW5nWydlcnJvcl9ub3N1Y2hncm91cCddID0gJ1d5d2/FgmFuYSBuYXp3YSBncnVweSBuaWUgaXN0bmllamUnOwokbGFuZ1snZXJyb3JfY2FwdGNoYW1pc21hdGNoJ10gPSAnVGVrc3QgeiBvYnJhemthIHpvc3RhxYIgd3Byb3dhZHpvbnkgbmllcG9wcmF3bmllJzsKJGxhbmdbJ3NlbmRfZW1haWxzX3RvJ10gPSAnRW1haWxhIHJlamVzdHJhY3lqbmUgcG93aW5ueSBiecSHIHd5c3nFgmFuZSBkbzonOwokbGFuZ1sncmVxdWlyZV9lbWFpbF9jb25maXJtYXRpb24nXSA9ICdXeW1hZ2FqIHBvdHdpZXJkemVuaWEgcmVqZXN0cmFjamkgdcW8eXRrb3duaWthIHByemV6IGVtYWlsJzsKJGxhbmdbJ25vdGlmeV9vbl9yZWdpc3RyYXRpb24nXSA9ICdXeXN5xYJhaiBlbWFpbCBpbmZvcm11asSFY3ksIGdkeSBub3d5IHXFvHl0a293bmlrIHNpxJkgemFyZWplc3RydWplJzsKJGxhbmdbJ2NhbmNlbCddID0gJ0FudWx1aic7CiRsYW5nWydzdWJtaXQnXSA9ICdXecWbbGlqJzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0F1dG8tcmVqZXN0cmFjamEnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdJbnN0YWxhY2phIHByemViaWVnxYJhIHBvbXnFm2xuaWUsIHBhbWnEmXRhaiBvIHVzdGF3aWVuaXUgcHJhd2EgZG9zdMSZcHUgJnF1b3Q7TW9kaWZ5IFNlbGZSZWdpc3RyYXRpb24gU2V0dGluZ3MmcXVvdDsgKFptaWVuaWFqIHVzdGF3aWVuaWFtaSBtb2R1xYJ1IEF1dG8tcmVqZXN0cmFjamkpIGRsYSBvZHBvd2llZG5pZWogZ3J1cHkgdcW8eXRrb3duaWsmb2FjdXRlO3cgQ01TLWEuJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdNb2R1xYIgQXV0by1yZWplc3RyYWNqaSBvZGluc3RhbG93YW55LiBEbyB6b2JhY3plbmlhIHdrciZvYWN1dGU7dGNlLic7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZHXFgiBvZGluc3RhbG93YW55JzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ01vZHXFgiB3IHdlcnNqaSAlcyB6YWluc3RhbG93YW55Lic7CiRsYW5nWydwcmVmc3VwZGF0ZWQnXSA9ICdVc3Rhd2llbmlhIG1vZHXFgnUgem9zdGHFgnkgemFrdHVhbGl6b3dhbmUuJzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ0Rvc3TEmXAgemFicm9uaW9ueS4gU3ByYXdkxbogc3dvamUgdXByYXduaWVuaWEhJzsKJGxhbmdbJ2Vycm9yJ10gPSAnQsWCxIVkISc7CiRsYW5nWyd1cGdyYWRlZCddID0gJ01vZHXFgiB6b3N0YcWCIHVwZ3JhZGUtb3dhbnkgZG8gd2Vyc2ppICVzJzsKJGxhbmdbJ3RpdGxlX21vZF9wcmVmcyddID0gJ1VzdGF3aWVuaWEgbW9kdcWCdSc7CiRsYW5nWyd0aXRsZV9tb2RfYWRtaW4nXSA9ICdQYW5lbCBhZG1pbmlzdHJhY3lqbnkgbW9kdcWCdSc7CiRsYW5nWyd0aXRsZV9hZG1pbl9wYW5lbCddID0gJ0F1dG8tcmVqZXN0cmFjamEnOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdNb2R1xYIgdW1vxbxsaXdpYWrEhWN5IHXFvHl0a293bmlrb20gc3Ryb255IGF1dG8tcmVqZXN0cmFjasSZJzsKJGxhbmdbJ3dlbGNvbWVfdGV4dCddID0gJzxwPldpdGFteSB3IG1vZHVsZSBhdXRvLXJlamVzdHJhY2ppLjwvcD4nOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPg0KPGxpPlZlcnNpb24gMC4wLjEuIE9jdCAyMDA1LiBJbml0aWFsIE5SUFQgKE5vdCBSZWFkeSBmb3IgUHJpbWUgVGltZSkgcmVsZWFzZS48L2xpPg0KPGxpPlZlcnNpb24gMC4xLjAuIE9jdCAyMDA1LiBJbml0aWFsIHJlbGVhc2UuPC9saT4NCjxsaT5WZXJzaW9uIDAuMS4xLiBPY3QgMjAwNS4gU2V0IHRoZSBIVE1MIG1haWwgZmxhZy48L2xpPg0KPGxpPlZlcnNpb24gMC4xLjIuIE9jdCAyMDA1LiBNb3ZlZCBSYW5kb20gc3R1ZmYgaW50byBmZXVzZXJzLCBhbmQgYWRkZWQgdGhlIGFiaWxpdHkgdG8gZGVsZXRlIG9sZCBlbnRyaWVzIGZyb20gdGhlIHJlZ2lzdHJhdGlvbiB0ZW1wb3JhcnkgdGFibGVzPC9saT4NCjxsaT48cD5WZXJzaW9uIDAuMS4zLiAtIERlYyAyMDA1PC9wPg0KPHA+Rml4ZWQgdGhlIHRvZ2dsZXMgaW4gdGhlIGFkbWluIHByZWZlcmVuY2VzLiAgQWxzbywgY2hhbmdlZCB0aGUgcGVybWlzc2lvbnMgbW9kZWwgdG8gbm90IHJlcXVpcmUgdGhlIHVuaXF1ZSBwZXJtaXNzaW9uIGFkZGVkIHByZXZpb3VzbHkgZm9yIHRoZSBzZWxmcmVnIG1vZHVsZS48L3A+DQo8cD5UaGlzIHJlbGVhc2Ugd2FzIHJlbW92ZWQgZHVlIHRvIHBvc3NpYmxlIGVycm9yczwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAwLjEuNC4gLSBKYW4gMjAwNjwvcD4NCjxwPkZpeGVkIG1pbm9yIGVycm9ycyB3aXRoIENoZWNrUGVybWlzc2lvbiwgcmVwbGFjZWQgYWxsIGFzc2lnbl9ieV9yZWZzJiMwMzk7cyB3aXRoIGFzc2lnbnMgZm9yIGhvcGVmdWwgcGhwNSBjb21wYXRpYmlsaXR5LjwvcD4NCjxsaT48cD5WZXJzaW9uIDAuMS41LiAtIEphbiAyMDA2PC9wPg0KPHA+QWRkZWQgdGhlIGFiaWxpdHkgdG8gc2V0IHRoZSBzdWJqZWN0IG9mIHRoZSBjb25maXJtYXRpb24gZW1haWwsIGFuZCBhZGRlZCB0aGUgYWJpbGl0eSB0byBzcGVjaWZ5IGEgdGV4dCBib2R5LiAgU3ViamVjdCwgYW5kIHRleHQgYm9keSBhcmUgcmVxdWlyZWQuPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC4wLiAtIEZlYiAyMDA2PC9wPg0KPHA+Rml4ZWQgYSBwcm9ibGVtIHdpdGggdGhlIHZlcmlmeSBtb2RlLjwvcD4NCjxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIGVkaXQgYW5kIGRlbGV0ZSB1c2Vycy4gd2l0aCBzZWxlY3Rpb24gb24gdGhlIGNoZWNrYm94ZXMsIGFuZCAmcXVvdDtjaGVja2FsbCZxdW90OzwvcD4NCjxwPk5vdyByZXF1aXJlIEZFVXNlcnMgMC4xLjggYW5kIENNU01haWxlciAxLjczLjk8L3A+DQo8cD5BZGRlZCBhbm90aGVyIHRhYiBmb3IgdGhlICZxdW90O3lvdXIgc2V0dGluZ3MgaGF2ZSBiZWVuIGFkanVzdGVkJnF1b3Q7IGVtYWlsIHRlbXBsYXRlczwvcD4NCjxwPkFkZGVkIENTViBFeHBvcnRpbmc8L3A+DQo8cD5BZGRlZCBhICZxdW90O0RlbGV0ZSBhbGwgdXNlcnMgb2xkZXIgdGhhbiBhIGRheSZxdW90OyBidXR0b248L3A+DQo8cD5Ob3cgd29ya3Mgd2l0aCB0aGUgbWF4aW11bSBsZW5ndGggZmllbGQgb2YgRkVVc2VyczwvcD4NCjxwPkFkZGVkIHN1cHBvcnQgZm9yIGRyb3Bkb3ducyBhbmQgdGV4dCBhcmVhczwvcD4NCjxwPkRpc2FsbG93IHB1bmN0dWF0aW9uIGNoYXJhY3RlcnMgaW4gdXNlcm5hbWU8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjEuIC0gRmViIDIwMDY8L3A+DQo8cD5BZGRlZCB0aGUgYWJpbGl0eSBmb3IgdXNlcnMgdG8gcmVxdWVzdCBhbm90aGVyIHJlZ2lzdHJhdGlvbiBlbWFpbCAodXNlcyB0aGUgc2FtZSBjb2RlKSwgaW5jYXNlIHRoZXkgbG9zdCB0aGVpciBmaXJzdCBvbmUuPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC4yLiAtIEZlYiAyMDA2PC9wPg0KPHA+VGhlICZxdW90O1JlcXVpcmUgZW1haWwgY29uZmlybWF0aW9uJnF1b3Q7IGNoZWNrYm94IG5vdyB3b3Jrcy4gIFVzZXJzIGFyZSBhZGRlZCBzdHJhaWdodCB0byB0aGUgZnJvbnRlbmQgdXNlcnMgZGF0YWJhc2U8L3A+DQo8cD5GaXhlZCBhIGJ1ZyB3aXRoIHRoZSBjb25maXJtYXRpb24gZW1haWxzIGhhdmluZyBsaW5rcyB0byB0aGUgYWRtaW4gc2VjdGlvbiAobmV3IGJ1ZyBvbmx5KS48L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjMuIC0gRmViIDIwMDY8L3A+DQo8cD5BZGRlZCB0aGUgKG9wdGlvbmFsKSBhYmlsaXR5IHRvIHJlcXVpcmUgdGhlIHVzZXIgZW50ZXIgdGhlIGVtYWlsIGFkZHJlc3MgdHdpY2U8L3A+DQo8cD5GaXhlZCBhIGJ1ZyB3aXRoIHRoZSB1c2VyZWRpdGVkIG1lc3NhZ2Ugbm90IGJlaW5nIHRocm93biB0aHJvdWdoIHNtYXJ0eTwvcD4NCjxwPkZpeGVkIHRoZSBkZWZhdWx0IHJlZ2lzdHJhdGlvbiB0ZW1wbGF0ZSBhIGJpdCB0byBhaWRlIGluIHZhbGlkYXRpb24gZm9yIG5vbiByZXF1aXJlZCBmaWVsZHMgKGZpeGVkIGEgd2FybmluZyk8L3A+DQo8cD5GaXggcHJvYmxlbXMgd2l0aCBpbmxpbmUgYW5kIG5vbi1pbmxpbmUgZm9ybXMgYW5kIGxpbmtzPC9wPg0KPHA+SGFuZGxlIGFub3RoZXIgY2FzZSB3aGVyZSB0aGUgYWRtaW4gbWF5IG5vdCBoYXZlIGNyZWF0ZWQgdGhlIHByb3BlciB0eXBlIG9mIGVtYWlsIHByb3BlcnR5PC9wPg0KPHA+Q2hhbmdlZCB0byByZXF1aXJlIENNUyAwLjEyLWJldGEyIGF0IGEgbWluaW11bSAoZm9yIHNhZmV0eSBwdXJwb3Nlcyk8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjQuIC0gTWFyIDIwMDY8L3A+DQo8cD5Nb3JlIGNvbnRyb2wgb3ZlciB1c2VybmFtZSBhbmQgcGFzc3dvcmQgZmllbGQgc2l6ZXMgKGNvbnRyb2xsZWQgYnkgZmV1c2Vycyk8L3A+DQo8cD5Db25maXJtYXRpb24gb24gZWRpdGluZyBwcmVmZXJlbmNlczwvcD4NCjxwPlJlcXVpcmUgMC4xMiBwcm9wZXIgb2YgY21zIGFzIGEgbWluaW11bTwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjEuMC4gLSBEZWMgMjAwNjwvcD4NCiAgICA8cD5BZGRlZCBldmVudHMgYW5kIDEuMCBjb21wYXRpYmlsaXR5PC9wPg0KICAgIDxwPkNhcHRjaGEgc3VwcG9ydCAodGhhbmtzIERpdHRtYW4pPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMS4xLiAtIEFwciAyMDA3PC9wPg0KICAgIDxwPk5vdyByZXF1aXJlIEZFVXNlcnMgMS4yLjAgKG1pbmltdW0pPC9wPg0KICAgIDxwPlN1cHBvcnQgZm9yIG11bHRpc2VsZWN0IGxpc3RzIGluIGZldXNlcnM8L3A+DQogICAgPHA+T3V0cHV0IHNvbWUgbW9yZSBmaWVsZHMgdG8gc21hcnR5IHRvIGFsbG93IGZvciBpbmNyZWFzZWQgYWNjZXNzaWJpbGl0eTwvcD4NCiAgICA8cD5TcGxpdCBjb2RlIG91dCBpbnRvIG11bHRpcGxlIGZpbGVzIHRvIHJlZHVjZSBvdmVyYWxsIG1lbW9yeSBmb290cHJpbnQ8L3A+DQogICAgPHA+SWdub3JlIGFsbCBpbWFnZSBmaWVsZHM8L3A+DQogICAgPHA+Q2hhbmdlIENhcHRjaGEgc3VwcG9ydCB0byBiZSBvbiBieSBkZWZhdWx0IGlmIHRoZSBDYXB0Y2hhIG1vZHVsZSBpcyBmb3VuZDwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjEuMi4gLSBOb3YgMjAwNzwvcD4NCiAgICA8cD5GaXggdGhlIHByb2JsZW0gd2l0aCB0aGUgVXNlckRpc3BsYXlMb3N0UmVnRW1haWxGb3JtIHRoaW5nPC9wPg0KICAgIDxwPkFkZHMgdGhlIGlkIHRvIHRoZSBvblVzZXJSZWdpc3RlcmVkIEV2ZW50PC9wPg0KICAgIDxwPkZpeGVzIHRoZSBwcm9ibGVtIHdpdGggY2hlY2tib3ggcHJvcGVydGllcyBub3Qgd29ya2luZzwvcD4NCiAgICA8cD5Ob3cgUmVxdWlyZXMgQ01TIDEuMiBtaW5pbXVtPC9wPg0KICAgIDxwPllvdSBjYW4gbm93IHVzZSB7U2VsZlJlZ2lzdHJhdGlvbiBncm91cD0mIzAzOTtibGFoJiMwMzk7fTwvcD4NCiAgICA8cD5Ob3cgUmVxdWlyZXMgQ01TIDEuMyBtaW5pbXVtLjwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjEuMy4gLSBOb3YgMjAwNzwvcD4NCiAgICA8cD5GaXhlcyBpc3N1ZSB3aXRoIFNNVFAgRW1haWwgYWRkcmVzcyB2YWxpZGF0aW9uPC9wPg0KICAgIDxwPk5vdyBSZXF1aXJlIEZFVSAxLjMuMTwvcD4NCiAgICA8cD5BZGRzIHRoZSBub2lubGluZSBwYXJhbWV0ZXI8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4xLjMuUE9MSVNIIC0gRGVjIDIwMDc8L3A+DQogICAgPHA+RG9kYW5lIHTFgnVtYWN6ZW5pZSB3acSZa3N6b8WbY2kgbW9kdcWCdSAtIHd3dy5udW1lcjkucGw8L3A+DQo8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPg0KPHA+VGhpcyBtb2R1bGUgaXMgZGVzaWduZWQgdG8gYWxsb3cgZnJvbnQgZW5kIHVzZXJzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMgYW5kIGZpbGwgaW4gdGhlIHJlcXVpcmVkIGluZm9ybWF0aW9uLiAgSXQgdGhlbiBzZW5kcyBhIGNvbmZpcm1hdGlvbiBlbWFpbCwgd2l0aCBhIGxpbmsgdG8gYSBzZWNvbmQgcGFnZSB0aGF0IG11c3QgYmUgY29tcGxldGVkIGJlZm9yZSB0aGUgcmVnaXN0cmF0aW9uIGlzIGNvbXBsZXRlLiAgT25jZSByZWdpc3RyYXRpb24gaXMgY29tcGxldGUsIGEgdXNlciBhY2NvdW50IGlzIGNyZWF0ZWQgaW4gdGhlIGZyb250IGVuZCB1c2VycyBtb2R1bGUuPC9wPg0KPHA+SW4gb3JkZXIgdG8gdXNlIHRoaXMgbW9kdWxlLCB5b3UgbXVzdCBjcmVhdGUgYSBwcm9wZXJ0eSBvZiB0eXBlICZxdW90O0VtYWlsIEFkZHJlc3MmcXVvdDsgaW4gdGhlIEZyb250ZW5kVXNlcnMgbW9kdWxlLCBhbmQgYXNzb2NpYXRlIHRoYXQgcHJvcGVydHkgd2l0aCB0aGUgZ3JvdXAgdG8gYmUgdXNlZCBmb3Igc2VsZiByZWdpc3RyYXRpb24uPC9wPg0KPGgzPkhvdyBEbyBJIFVzZSBJdDwvaDM+DQo8cD5Zb3UgcGxhY2UgdGhlIGZvbGxvd25nIHRhZyBpbnRvIHlvdXIgcGFnZSB7Y21zX21vZHVsZSBtb2R1bGU9U2VsZlJlZ2lzdHJhdGlvbiBncm91cD11c2VyZ3JvdXB9PC9wPg0KPHA+WW91IG11c3QgaGF2ZSBwcmV2aW91c2x5IGNyZWF0ZWQgcHJvcGVydGllcyBhbmQgdXNlciBncm91cHMgaW4gdGhlIEZyb250RW5kVXNlcnMgbW9kdWxlIGluIG9yZGVyIGZvciB0aGlzIHRvIHdvcmsgcHJvcGVybHkuPC9wPg0KPGgzPlBhcmFtZXRlcnM8L2gzPg0KPHA+PHN0cm9uZz5tb2RlPC9zdHJvbmc+Jm5ic3A7PGVtPm9wdGlvbmFsPC9lbT4gLSBwb3NzaWJsZSB2YWx1ZXMgYXJlICZxdW90O3NpZ251cCZxdW90OyBhbmQgJnF1b3Q7dmVyaWZ5JnF1b3Q7LiAgSWYgdGhpcyBwYXJhbWV0ZXIgaXMgbm90IHNwZWNpZmllZCwgJnF1b3Q7c2lnbnVwJnF1b3Q7IGlzIGFzc3VtYmVkLjwvcD4NCjxwPjxzdHJvbmc+Z3JvdXA8L3N0cm9uZz4mbmJzcDs8ZW0+b3B0aW9uYWw8L2VtPiAtIFRoaXMgcGFyYW1ldGVyIGlzIHJlcXVpcmVkIGlmIG1vZGUgaXMgJnF1b3Q7c2lnbnVwJnF1b3Q7LCBvciBpZiBtb2RlIGlzIGxlZnQgZW1wdHkuPC9wPg0KPHA+PHN0cm9uZz5ub2NhcHRjaGE8L3N0cm9uZz4mbmJzcDs8ZW0+b3B0aW9uYWw8L2VtPiAtIFRoaXMgd2lsbCBkaXNhYmxlIGNhcHRjaGEgb24gdGhlIHNpZ251cCBmb3JtLiBCeSBkZWZhdWx0LCBpZiB0aGUgQ2FwdGNoYSBtb2R1bGUgaXMgaW5zdGFsbGVkLCBjYXB0Y2hhIHN1cHBvcnQgaXMgcHJvdmlkZWQuICBUaGlzIHBhcmFtZXRlciBkaXNhYmxlcyBpdC48L3A+DQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+DQo8dWw+DQo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQgb3IgYnV5IGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHZpc2l0IGNhbGd1eSYjMDM5O3MNCm1vZHVsZSBob21lcGFnZSBhdCA8YSBocmVmPSZxdW90O2h0dHA6Ly90ZWNoY29tLmR5bmRucy5vcmcmcXVvdDs+dGVjaGNvbS5keW5kbnMub3JnPC9hPi48L2xpPg0KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0mcXVvdDtodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmcmcXVvdDs+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4NCjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9JnF1b3Q7aXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zJnF1b3Q7PkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4NCjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseS48L2xpPiAgDQo8L3VsPg0KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0DQpvZiB0aGUgbGljZW5zZSBmb3IgdGhlIGZ1bGwgZGlzY2xhaW1lci48L3A+DQoNCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KPHA+Q29weXJpZ2h0ICZhbXA7Y29weTsgMjAwNSwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0mcXVvdDttYWlsdG86Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbSZxdW90Oz4mYW1wO2x0O2NhbGd1eTEwMDBAaG90bWFpbC5jb20mYW1wO2d0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPlRoaXMgbW9kdWxlIGhhcyBiZWVuIHJlbGVhc2VkIHVuZGVyIHRoZSA8YSBocmVmPSZxdW90O2h0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCZxdW90Oz5HTlUgUHVibGljIExpY2Vuc2U8L2E+LiBZb3UgbXVzdCBhZ3JlZSB0byB0aGlzIGxpY2Vuc2UgYmVmb3JlIHVzaW5nIHRoZSBtb2R1bGUuPC9wPic7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjg3NjI2NTI5MC4xMTc1OTU3ODQ1LjExNzU5NTc4NDUuMTE3NTk3ODE4OS4yJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/ro_RO.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2Vycm9yX2NvZGVzZG9udG1hdGNoJ10gPSAnQ2hlaWEgZGUgdmFsaWRhcmUgZnVybml6YXRhIGVzdGUgaW52YWxpZGEnOwokbGFuZ1snZXZlbnRfZGVzY3JpcHRpb25fb25OZXdVc2VyJ10gPSAnRXZlbmltZW50IGNhcmUgaW5kaWNhIGNvbXBsZXRhcmVhIGZvcm11bGFydWx1aSBkZSBpbnJlZ2lzdHJhcmUgZGUgY2F0cmUgbm91bCB1dGlsaXphdG9yJzsKJGxhbmdbJ2V2ZW50X2Rlc2NyaXB0aW9uX29uVXNlclJlZ2lzdGVyZWQnXSA9ICdFdmVuaW1lbnQgY2FyZSBpbmRpY2EgZmFwdHVsIGNhIHV0aWxpemF0b3J1bCBzaS1hIHZlcmlmaWNhdCBpbmZvcm1hdGlpbGUgc2kgYWN1bSBlc3RlIGNvbXBsZXQgaW5yZWdpc3RyYXQnOwokbGFuZ1snZXZlbnRfaGVscF9vbk5ld1VzZXInXSA9ICc8cD5FdmVuaW1lbnQgY2FyZSBpbmRpY2EgY29tcGxldGFyZWEgZm9ybXVsYXJ1bHVpIGRlIGlucmVnaXN0cmFyZSBkZSBjYXRyZSBub3VsIHV0aWxpemF0b3I8L3A+DQo8aDQ+UGFyYW1ldHJpPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIE51bWVsZSB1dGlsaXphdG9yIGFsIG5vdWx1aSB1dGlsaXphdG9yPC9saT4NCjxsaT48ZW0+ZW1haWw8L2VtPiAtIEFkcmVzYSBkZSBlLW1haWwgYSBub3VsdWkgdXRpbGl6YXRvcjwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfb25Vc2VyUmVnaXN0ZXJlZCddID0gJzxwPkV2ZW5pbWVudCBjYXJlIGluZGljYSBmYXB0dWwgY2EgdXRpbGl6YXRvcnVsIGEgZm9zdCB2ZXJpZmljYXQgc2kgYWN1bSBlc3RlIGlucmVnaXN0cmF0IGluIGdydXB1bCB1dGlsaXphdG9yaWxvciBmcm9udGVuZDwvcD4NCjxoND5QYXJhbWV0cmk8L2g0Pg0KPHVsPg0KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gTnVtZWxlIHV0aWxpemF0b3IgaW5yZWdpc3RyYXQ8L2xpPg0KPC91bD4NCic7CiRsYW5nWydjb25maXJtX3N1Ym1pdHByZWZzJ10gPSAnU2NoaW1iYXRpIHByZWZlcmludGVsZSBhZG1pbj8nOwokbGFuZ1snaW5mb19hZG1pbl9wYXNzd29yZCddID0gJ0xhc2F0aSBhY2VzdCBjYW1wIG5lY29tcGxldGF0IHBlbnRydSBwYXN0cmFyZWEgcGFyb2xlaSB1dGlsaXphdG9yJzsKJGxhbmdbJ2luZm9fYWRtaW5fcmVwZWF0cGFzc3dvcmQnXSA9ICdMYXNhdGkgYWNlc3QgY2FtcCBuZWNvbXBsZXRhdCBwZW50cnUgcGFzdHJhcmVhIHBhcm9sZWkgdXRpbGl6YXRvcic7CiRsYW5nWydlcnJvcl9lbWFpbGRvZXNub3RtYXRjaCddID0gJ0FkcmVzZWxlIGRlIGUtbWFpbCBudSBjb2luY2lkJzsKJGxhbmdbJ2ZvcmNlX2VtYWlsX3R3aWNlJ10gPSAnUHJldGluZGUgY2EgdXRpbGl6YXRvcmlpIHNhIGludHJvZHVjYSBhZHJlc2EgZGUgZS1tYWlsIGRlIGRvdWEgb3JpJzsKJGxhbmdbJ2FnYWluJ10gPSAnaW5jYSBvIGRhdGEnOwokbGFuZ1snZGVsZXRlc2VsdXNlcnMnXSA9ICdTdGVyZ2UgdXRpbGl6YXRvcmlpIHNlbGVjdGF0aSc7CiRsYW5nWydlcnJvcl9ub3Byb3BkZWZucyddID0gJ051IGV4aXN0YSBwcm9wcmlldGF0aSBkZWZpbml0ZSwgc2F1IHByb2JsZW1hIGxhIG9idGluZXJlYSBsb3IgZGluIGJhemEgZGUgZGF0ZSc7CiRsYW5nWydlcnJvcl9ub2dyb3VwcyddID0gJ051IGV4aXN0YSBncnVwdXJpLCBzYXUgcHJvYmxlbWEgbGEgb2J0aW5lcmVhIGxpc3RlaSBncnVwdXJpbG9yJzsKJGxhbmdbJ2Vycm9yX2RiZXJyb3InXSA9ICdFcm9hcmUgbGEgYmF6YSBkZSBkYXRlJzsKJGxhbmdbJ3RpdGxlX3Bvc3Rfc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSddID0gJ1NhYmxvbiBwb3N0YXJlIGUtbWFpbCBwaWVyZHV0JzsKJGxhbmdbJ3RpdGxlX3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnXSA9ICdTYWJsb24gZS1tYWlsIHBpZXJkdXQnOwokbGFuZ1snY2xpY2toZXJlJ10gPSAnQXBhc2EgYWljaSc7CiRsYW5nWydtc2dfc2VuZGFub3RoZXJlbWFpbCddID0gJ0FtIGNvbXBsZXRhdCBkZWphIGZvcm11bGFydWwgZGUgaW5yZWdpc3RyYXJlLCBkYXIgbnUgYW0gcHJpbWl0IHVuIGUtbWFpbCwgdmEgcm9nIHNhLWwgcmV0cmltaXRldGknOwokbGFuZ1snc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSddID0gJ1NhYmxvbiBlLW1haWwgcGllcmR1dCc7CiRsYW5nWydpbmZvX3VzZXJ2ZXJpZmllZCddID0gJ1VuIG5vdSB1dGlsaXphdG9yIGEgZm9zdCBhZGF1Z2F0IGxhIHV0aWxpemF0b3JpaSBGcm9udEVuZCc7CiRsYW5nWydlZGl0J10gPSAnRWRpdGVhemEnOwokbGFuZ1sndW5rbm93biddID0gJ05lY3Vub3NjdXQnOwokbGFuZ1snc2VsZWN0J10gPSAnU2VsZWN0ZWF6YSc7CiRsYW5nWydjaGVja19hbGwnXSA9ICdTZWxlY3RlYXphIHRvdCc7CiRsYW5nWyd1bmNoZWNrX2FsbCddID0gJ0Rlc2VsZWN0ZWF6YSB0b3QnOwokbGFuZ1snc2VuZF9hZGp1c3RtZW50ZW1haWwnXSA9ICdUcmltaXRlIHVuIGUtbWFpbCB1dGlsaXphdG9ydWx1aSc7CiRsYW5nWyd0eHRfYWRqdXN0bWVudGVtYWlsJ10gPSAnKGluZm9ybWVhemEgdXRpbGl6YXRvcnVsIGNhLCBjb250dWwgbHVpIGEgZm9zdCBhanVzdGF0JzsKJGxhbmdbJ3R4dF9jaGFuZ2VwYXNzd29yZCddID0gJ0NvbXBsZXRlYXphIGFjZXN0ZSBjYW1wdXJpIHBlbnRydSBhIHNjaGltYmEgcGFyb2xhIHV0aWxpemF0b3J1bHVpJzsKJGxhbmdbJ2VkaXR1c2VyJ10gPSAnRWRpdGFyZSB1dGlsaXphdG9yJzsKJGxhbmdbJ2FyZXlvdXN1cmVfZGVsZXRldXNlciddID0gJ1N1bnRldGkgc2lndXIoYSkgY2EgZG9yaXRpIHNhIHN0ZXJnZXRpIGFjZXN0IHV0aWxpemF0b3IgaW5yZWdpc3RyYXQgcGFydGlhbD8nOwokbGFuZ1snaGRyX3VzZXJpZCddID0gJ0lEIHV0aWxpemF0b3InOwokbGFuZ1snaGRyX3VzZXJuYW1lJ10gPSAnTnVtZSB1dGlsaXphdG9yJzsKJGxhbmdbJ2hkcl9ncnBuYW1lJ10gPSAnR3J1cCc7CiRsYW5nWydoZHJfY3JlYXRlZCddID0gJ0NyZWF0JzsKJGxhbmdbJ2hkcl9lbWFpbCddID0gJ0UtbWFpbCc7CiRsYW5nWyd1c2Vyc2ZvdW5kJ10gPSAnVXRpbGl6YXRvcmkgZ2FzaXRpIChsaW1pdGF0IGxhIG1heGltdW0gMjUwKSc7CiRsYW5nWyd1c2VycyddID0gJ1V0aWxpemF0b3JpJzsKJGxhbmdbJ2xpc3QxZGF5J10gPSAnTGlzdGVhemEgdG9hdGUgaW50cmFyaWxlIG1haSB2ZWNoaSBkZSBvIHppJzsKJGxhbmdbJ3N1YmplY3QnXSA9ICdTdWJpZWN0IHBlbnRydSBlLW1haWwtdWwgZGUgZXhwZWRpYXQnOwokbGFuZ1snaHRtbGJvZHknXSA9ICdDb250aW51dCBtZXNhaiBIVE1MICc7CiRsYW5nWyd0ZXh0Ym9keSddID0gJ0NvbnRpbnV0IG1lc2FqIHRleHQnOwokbGFuZ1sncHJvbXB0X251bXJlc2V0cmVjb3JkJ10gPSAnVW4gbnVtYXIgZGUgdXRpbGl6YXRvcmkgc2UgYWZsYSBpbiBwbGluIHByb2NlcyBkZSBpbnJlZ2lzdHJhcmUuIE51bWFydWwgYWNlc3RvcmEgZXN0ZTonOwokbGFuZ1sncmVtb3ZlMXdlZWsnXSA9ICdFbGltaW5hIHRvYXRlIGludHJhcmlsZSBtYWkgdmVjaGkgZGUgbyBzYXB0YW1hbmEnOwokbGFuZ1sncmVtb3ZlMW1vbnRoJ10gPSAnRWxpbWluYSB0b2F0ZSBpbnRyYXJpbGUgbWFpIHZlY2hpIGRlIG8gbHVuYSc7CiRsYW5nWydyZW1vdmUxZGF5J10gPSAnRWxpbWluYSB0b2F0ZSBpbnRyYXJpbGUgbWFpIHZlY2hpIGRlIG8gemknOwokbGFuZ1sncmVtb3ZlYWxsJ10gPSAnRWxpbWluYSB0b2F0ZSBpbnRyYXJpbGUnOwokbGFuZ1snYXJleW91c3VyZSddID0gJ1N1bnRldGkgc2lndXIoYSk/JzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbl9pbmZvX2VkaXRlZCddID0gJ0luZm9ybWF0aWlsZSBkdW1uZWF2b2FzdHJhIGRlIGlucmVnaXN0cmFyZSBhdSBmb3N0IG1vZGlmaWNhdGUnOwokbGFuZ1sncmVnaXN0cmF0aW9uX2NvbmZpcm1hdGlvbiddID0gJ0NvbmZpcm1hcmVhIGlucmVnaXN0cmFyaWknOwokbGFuZ1sndXNlcl9yZWdpc3RyYXRpb24nXSA9ICdJbnJlZ2lzdHJlYXphJzsKJGxhbmdbJ2ZpbmFsbWVzc2FnZV90ZW1wbGF0ZSddID0gJ1NhYmxvbiBtZXNhaiBmaW5hbCc7CiRsYW5nWyd0aXRsZV92ZXJpZnlyZWdpc3RyYXRpb24nXSA9ICdWZXJpZmljYSBpbnJlZ2lzdHJhcmVhJzsKJGxhbmdbJ2NvZGUnXSA9ICdDaGVpYSBkZSB2YWxpZGFyZSc7CiRsYW5nWydkZWZhdWx0J10gPSAnU2V0YXQgaW1wbGljaXQnOwokbGFuZ1snZXJyb3Jfbm9wcm9wZXJ0aWVzJ10gPSAnTnUgYXUgZm9zdCBnYXNpdGUgcHJvcHJpZXRhdGkgcGVudHJ1IGFjZXN0IHV0aWxpemF0b3InOwokbGFuZ1snZXJyb3Jfbm9wcm9wcmVsYXRpb25zJ10gPSAnUmVsYXRpaSBwcm9wcmlldGF0aSBpbmV4aXN0ZW50ZSc7CiRsYW5nWydlcnJvcl9lbWFpbGludmFsaWQnXSA9ICdBZHJlc2EgZGUgZS1tYWlsIGludmFsaWRhJzsKJGxhbmdbJ2Vycm9yX25vZW1haWxhZGRyZXNzJ10gPSAnQ2FtcCBhZHJlc2EgZGUgZS1tYWlsIHZhbGlkYSBpbmV4aXN0ZW50JzsKJGxhbmdbJ2Vycm9yX3JlcXVpcmVkZmllbGQnXSA9ICdDYW1wdWwgJXMgdHJlYnVpZSBzYSBmaWUgY29tcGxldGF0JzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbjFfdGVtcGxhdGUnXSA9ICdTYWJsb24gaW5yZWdpc3RyYXJlIDEnOwokbGFuZ1sncmVnaXN0cmF0aW9uMl90ZW1wbGF0ZSddID0gJ1NhYmxvbiBpbnJlZ2lzdHJhcmUgMic7CiRsYW5nWydlbWFpbGNvbmZpcm1fdGVtcGxhdGUnXSA9ICdTYWJsb24gZS1tYWlsIGNvbmZpcm1hcmUnOwokbGFuZ1snZW1haWx1c2VyZWRpdGVkX3RlbXBsYXRlJ10gPSAnU2FibG9uIGluZm9ybWF0aWkgdXRpbGl6YXRvciBzY2hpbWJhdGUnOwokbGFuZ1sncHJlZmVyZW5jZXMnXSA9ICdQcmVmZXJpbnRlJzsKJGxhbmdbJ2Vycm9yX3VzZXJub3Rmb3VuZCddID0gJ1V0aWxpemF0b3IgaW5leGlzdGVudCc7CiRsYW5nWydlcnJvcl9pbnZhbGlkdXNlcm5hbWUnXSA9ICdOdW1lIHV0aWxpemF0b3IgaW52YWxpZCAocHJlYSBsdW5nLCBwcmVhIHNjdXJ0LCBzYXUgY29udGluZSBjYXJhY3RlcmUgaW52YWxpZGUpLiAgSW5kaWNpdS0gTnVtZWxlIHV0aWxpemF0b3IgdHJlYnVpZSBzYSBjb250aW5hIGRvYXIgY2FyYWN0ZXJlIGFsZmEtbnVtZXJpY2UoZmFyYSBzcGF0aWkpJzsKJGxhbmdbJ2Vycm9yX3VzZXJuYW1ldGFrZW4nXSA9ICdBY2VzdCBudW1lIHV0aWxpemF0b3IgZXN0ZSBkZWphIGZvbG9zaXQnOwokbGFuZ1snZXJyb3JfcGFzc3dvcmRzZG9udG1hdGNoJ10gPSAnRVJPQVJFOiBQYXJvbGVsZSBudSBjb2luY2lkJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXNzd29yZCddID0gJ1Bhcm9sYSBlc3RlIGludmFsaWRhIChsdW5naW1lYSBwYXJvbGVpIHRyZWJ1aWUgc2EgZmllIGN1cHJpbnNhIGludHJlICAlcyBzaSAlcyBjYXJhY3RlcmUpJzsKJGxhbmdbJ2Vycm9yX2VtcHR5dXNlcm5hbWUnXSA9ICdOdW1lbGUgdXRpbGl6YXRvciBudSBwb2F0ZSBmaSB2aWQnOwokbGFuZ1sncmVwZWF0cGFzc3dvcmQnXSA9ICdQYXJvbGEgKGRpbiBub3UpJzsKJGxhbmdbJ3Bhc3N3b3JkJ10gPSAnUGFyb2xhJzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAnTnVtZSB1dGlsaXphdG9yJzsKJGxhbmdbJ2NhcHRjaGFfdGl0bGUnXSA9ICdJbnRyb2R1Y2V0aSB0ZXh0dWwgZGluIGltYWdpbmUnOwokbGFuZ1snZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJ10gPSAnTnVtYXIgaW5zdWZpY2llbnQgKHNhdSBpbmNvcmVjdCkgZGUgcGFyYW1ldHJpIGZ1cm5pemF0aSBtb2R1bHVsdWknOwokbGFuZ1snZXJyb3Jfbm9mZXVzZXJzbW9kdWxlJ10gPSAnTnUgc2UgcG9hdGUgb2J0aW5lIG8gaW5zdGFudGEgYSBtb2R1bHVsdWkgVXRpbGl6YXRvcmkgRnJvbnRFbmQnOwokbGFuZ1snZXJyb3Jfbm9zdWNoZ3JvdXAnXSA9ICdOdW1lbGUgZ3J1cHVsdWkgc3BlY2lmaWNhdCBudSBleGlzdGEnOwokbGFuZ1snZXJyb3JfY2FwdGNoYW1pc21hdGNoJ10gPSAnVGV4dHVsIGRpbiBpbWFnaW5lIG51IGEgZm9zdCBpbnRyb2R1cyBjb3JlY3QnOwokbGFuZ1snc2VuZF9lbWFpbHNfdG8nXSA9ICdFLW1haWwtdXJpbGUgZGUgaW5yZWdpc3RyYXJlIHRyZWJ1aWUgdHJpbWlzZSBjYXRyZSc7CiRsYW5nWydyZXF1aXJlX2VtYWlsX2NvbmZpcm1hdGlvbiddID0gJ05lY2VzaXRhIGNvbmZpcm1hcmVhIGlucmVnaXN0cmFyaWkgZGUgY2F0cmUgdXRpbGl6YXRvciB2aWEgZS1tYWlsJzsKJGxhbmdbJ25vdGlmeV9vbl9yZWdpc3RyYXRpb24nXSA9ICdUcmltaXRlIHVuIGUtbWFpbCBkZSBub3RpZmljYXJlIGNhbmQgY2luZXZhIHNlIGlucmVnaXN0cmVhemEnOwokbGFuZ1snY2FuY2VsJ10gPSAnQW51bGVhemEnOwokbGFuZ1snc3VibWl0J10gPSAnVHJpbWl0ZSc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdNb2R1bCBBdXRvLUlucmVnaXN0cmFyZSc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0luc3RhbGFyZSByZXVzaXRhLCB2YSByb2cgc2EgcmV0aW5ldGkgc2Egc2V0YXRpIHBlcm1pc2l1bmlsZSAmcXVvdDtNb2RpZnkgU2VsZlJlZ2lzdHJhdGlvbiBTZXR0aW5ncyZxdW90Oy4gIERhY2EgbW9kdWx1bCBDYXB0Y2hhIGVzdGUgaW5zdGFsYXQsIGF0dW5jaSBmdW5jdGlvbmFsaXRhdGVhIGNhcHRjaGEgZXN0ZSBpbXBsaWNpdCBhY3RpdmF0YS4gIFZhIGluY3VyYWphbSBjdSBjYWxkdXJhIHNhIGluc3RhbGF0aSBhY2VzdCBtb2R1bC4gRGFjYSBtb2R1bHVsIENhcHRjaGEgZXN0ZSBpbnN0YWxhdCwgc2kgZG9yaXRpIHNhLWwgZGV6YWN0aXZhdGksIGZvbG9zaXRpIHBhcmFtZXRydWwgbm9jYXB0Y2hhIGluIGV0aWNoZXRhIGR1bW5lYXZvYXN0cmEgc2VsZnJlZ2lzdHJhdGlvbi4nOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ01vZHVsdWwgQXV0by1JbnJlZ2lzdHJhcmUgZXN0ZSBkZXppbnN0YWxhdC4gIFBlIGN1cmFuZC4nOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb2R1bCBkZXppbnN0YWxhdC4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnVmVyc2l1bmVhICVzIGluc3RhbGF0YS4nOwokbGFuZ1sncHJlZnN1cGRhdGVkJ10gPSAnUHJlZmVyaW50ZWxlIG1vZHVsdWx1aSBhdSBmb3N0IGFjdHVhbGl6YXRlLic7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdBY2NlcyBpbnRlcnppcy4gU3VudGV0aSBydWdhdChhKSBzYSB2ZXJpZmljYXRpIHBlcm1pc2l1bmlsZS4nOwokbGFuZ1snZXJyb3InXSA9ICdFcm9hcmUhJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnTW9kdWx1bCBhIGZvc3QgYWN0dWFsaXphdCBsYSB2ZXJzaXVuZWEgJXMuJzsKJGxhbmdbJ3RpdGxlX21vZF9wcmVmcyddID0gJ1ByZWZlcmludGVsZSBtb2R1bHVsdWknOwokbGFuZ1sndGl0bGVfbW9kX2FkbWluJ10gPSAnUGFub3VsIGRlIGNvbWFuZGEgYWwgbW9kdWx1bHVpJzsKJGxhbmdbJ3RpdGxlX2FkbWluX3BhbmVsJ10gPSAnTW9kdWwgQXV0by1JbnJlZ2lzdHJhcmUnOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdNb2R1bCBjYXJlIHBlcm1pdGUgdXRpbGl6YXRvcmlsb3IgZnJvbnRlbmQgc2Egc2UgYXV0by1pbnJlZ2lzdHJlemUuJzsKJGxhbmdbJ3dlbGNvbWVfdGV4dCddID0gJzxwPkJ1biB2ZW5pdCBsYSBtb2R1bHVsIGRlIGF1dG8taW5yZWdpc3RyYXJlLjwvcD4nOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPg0KPGxpPlZlcnNpb24gMC4wLjEuIE9jdCAyMDA1LiBJbml0aWFsIE5SUFQgKE5vdCBSZWFkeSBmb3IgUHJpbWUgVGltZSkgcmVsZWFzZS48L2xpPg0KPGxpPlZlcnNpb24gMC4xLjAuIE9jdCAyMDA1LiBJbml0aWFsIHJlbGVhc2UuPC9saT4NCjxsaT5WZXJzaW9uIDAuMS4xLiBPY3QgMjAwNS4gU2V0IHRoZSBIVE1MIG1haWwgZmxhZy48L2xpPg0KPGxpPlZlcnNpb24gMC4xLjIuIE9jdCAyMDA1LiBNb3ZlZCBSYW5kb20gc3R1ZmYgaW50byBmZXVzZXJzLCBhbmQgYWRkZWQgdGhlIGFiaWxpdHkgdG8gZGVsZXRlIG9sZCBlbnRyaWVzIGZyb20gdGhlIHJlZ2lzdHJhdGlvbiB0ZW1wb3JhcnkgdGFibGVzPC9saT4NCjxsaT48cD5WZXJzaW9uIDAuMS4zLiAtIERlYyAyMDA1PC9wPg0KPHA+Rml4ZWQgdGhlIHRvZ2dsZXMgaW4gdGhlIGFkbWluIHByZWZlcmVuY2VzLiAgQWxzbywgY2hhbmdlZCB0aGUgcGVybWlzc2lvbnMgbW9kZWwgdG8gbm90IHJlcXVpcmUgdGhlIHVuaXF1ZSBwZXJtaXNzaW9uIGFkZGVkIHByZXZpb3VzbHkgZm9yIHRoZSBzZWxmcmVnIG1vZHVsZS48L3A+DQo8cD5UaGlzIHJlbGVhc2Ugd2FzIHJlbW92ZWQgZHVlIHRvIHBvc3NpYmxlIGVycm9yczwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAwLjEuNC4gLSBKYW4gMjAwNjwvcD4NCjxwPkZpeGVkIG1pbm9yIGVycm9ycyB3aXRoIENoZWNrUGVybWlzc2lvbiwgcmVwbGFjZWQgYWxsIGFzc2lnbl9ieV9yZWZzJiMwMzk7cyB3aXRoIGFzc2lnbnMgZm9yIGhvcGVmdWwgcGhwNSBjb21wYXRpYmlsaXR5LjwvcD4NCjxsaT48cD5WZXJzaW9uIDAuMS41LiAtIEphbiAyMDA2PC9wPg0KPHA+QWRkZWQgdGhlIGFiaWxpdHkgdG8gc2V0IHRoZSBzdWJqZWN0IG9mIHRoZSBjb25maXJtYXRpb24gZW1haWwsIGFuZCBhZGRlZCB0aGUgYWJpbGl0eSB0byBzcGVjaWZ5IGEgdGV4dCBib2R5LiAgU3ViamVjdCwgYW5kIHRleHQgYm9keSBhcmUgcmVxdWlyZWQuPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC4wLiAtIEZlYiAyMDA2PC9wPg0KPHA+Rml4ZWQgYSBwcm9ibGVtIHdpdGggdGhlIHZlcmlmeSBtb2RlLjwvcD4NCjxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIGVkaXQgYW5kIGRlbGV0ZSB1c2Vycy4gd2l0aCBzZWxlY3Rpb24gb24gdGhlIGNoZWNrYm94ZXMsIGFuZCAmcXVvdDtjaGVja2FsbCZxdW90OzwvcD4NCjxwPk5vdyByZXF1aXJlIEZFVXNlcnMgMC4xLjggYW5kIENNU01haWxlciAxLjczLjk8L3A+DQo8cD5BZGRlZCBhbm90aGVyIHRhYiBmb3IgdGhlICZxdW90O3lvdXIgc2V0dGluZ3MgaGF2ZSBiZWVuIGFkanVzdGVkJnF1b3Q7IGVtYWlsIHRlbXBsYXRlczwvcD4NCjxwPkFkZGVkIENTViBFeHBvcnRpbmc8L3A+DQo8cD5BZGRlZCBhICZxdW90O0RlbGV0ZSBhbGwgdXNlcnMgb2xkZXIgdGhhbiBhIGRheSZxdW90OyBidXR0b248L3A+DQo8cD5Ob3cgd29ya3Mgd2l0aCB0aGUgbWF4aW11bSBsZW5ndGggZmllbGQgb2YgRkVVc2VyczwvcD4NCjxwPkFkZGVkIHN1cHBvcnQgZm9yIGRyb3Bkb3ducyBhbmQgdGV4dCBhcmVhczwvcD4NCjxwPkRpc2FsbG93IHB1bmN0dWF0aW9uIGNoYXJhY3RlcnMgaW4gdXNlcm5hbWU8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjEuIC0gRmViIDIwMDY8L3A+DQo8cD5BZGRlZCB0aGUgYWJpbGl0eSBmb3IgdXNlcnMgdG8gcmVxdWVzdCBhbm90aGVyIHJlZ2lzdHJhdGlvbiBlbWFpbCAodXNlcyB0aGUgc2FtZSBjb2RlKSwgaW5jYXNlIHRoZXkgbG9zdCB0aGVpciBmaXJzdCBvbmUuPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC4yLiAtIEZlYiAyMDA2PC9wPg0KPHA+VGhlICZxdW90O1JlcXVpcmUgZW1haWwgY29uZmlybWF0aW9uJnF1b3Q7IGNoZWNrYm94IG5vdyB3b3Jrcy4gIFVzZXJzIGFyZSBhZGRlZCBzdHJhaWdodCB0byB0aGUgZnJvbnRlbmQgdXNlcnMgZGF0YWJhc2U8L3A+DQo8cD5GaXhlZCBhIGJ1ZyB3aXRoIHRoZSBjb25maXJtYXRpb24gZW1haWxzIGhhdmluZyBsaW5rcyB0byB0aGUgYWRtaW4gc2VjdGlvbiAobmV3IGJ1ZyBvbmx5KS48L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjMuIC0gRmViIDIwMDY8L3A+DQo8cD5BZGRlZCB0aGUgKG9wdGlvbmFsKSBhYmlsaXR5IHRvIHJlcXVpcmUgdGhlIHVzZXIgZW50ZXIgdGhlIGVtYWlsIGFkZHJlc3MgdHdpY2U8L3A+DQo8cD5GaXhlZCBhIGJ1ZyB3aXRoIHRoZSB1c2VyZWRpdGVkIG1lc3NhZ2Ugbm90IGJlaW5nIHRocm93biB0aHJvdWdoIHNtYXJ0eTwvcD4NCjxwPkZpeGVkIHRoZSBkZWZhdWx0IHJlZ2lzdHJhdGlvbiB0ZW1wbGF0ZSBhIGJpdCB0byBhaWRlIGluIHZhbGlkYXRpb24gZm9yIG5vbiByZXF1aXJlZCBmaWVsZHMgKGZpeGVkIGEgd2FybmluZyk8L3A+DQo8cD5GaXggcHJvYmxlbXMgd2l0aCBpbmxpbmUgYW5kIG5vbi1pbmxpbmUgZm9ybXMgYW5kIGxpbmtzPC9wPg0KPHA+SGFuZGxlIGFub3RoZXIgY2FzZSB3aGVyZSB0aGUgYWRtaW4gbWF5IG5vdCBoYXZlIGNyZWF0ZWQgdGhlIHByb3BlciB0eXBlIG9mIGVtYWlsIHByb3BlcnR5PC9wPg0KPHA+Q2hhbmdlZCB0byByZXF1aXJlIENNUyAwLjEyLWJldGEyIGF0IGEgbWluaW11bSAoZm9yIHNhZmV0eSBwdXJwb3Nlcyk8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjQuIC0gTWFyIDIwMDY8L3A+DQo8cD5Nb3JlIGNvbnRyb2wgb3ZlciB1c2VybmFtZSBhbmQgcGFzc3dvcmQgZmllbGQgc2l6ZXMgKGNvbnRyb2xsZWQgYnkgZmV1c2Vycyk8L3A+DQo8cD5Db25maXJtYXRpb24gb24gZWRpdGluZyBwcmVmZXJlbmNlczwvcD4NCjxwPlJlcXVpcmUgMC4xMiBwcm9wZXIgb2YgY21zIGFzIGEgbWluaW11bTwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjEuMC4gLSBEZWMgMjAwNjwvcD4NCiAgICA8cD5BZGRlZCBldmVudHMgYW5kIDEuMCBjb21wYXRpYmlsaXR5PC9wPg0KICAgIDxwPkNhcHRjaGEgc3VwcG9ydCAodGhhbmtzIERpdHRtYW4pPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMS4xLiAtIEFwciAyMDA3PC9wPg0KICAgIDxwPk5vdyByZXF1aXJlIEZFVXNlcnMgMS4yLjAgKG1pbmltdW0pPC9wPg0KICAgIDxwPlN1cHBvcnQgZm9yIG11bHRpc2VsZWN0IGxpc3RzIGluIGZldXNlcnM8L3A+DQogICAgPHA+T3V0cHV0IHNvbWUgbW9yZSBmaWVsZHMgdG8gc21hcnR5IHRvIGFsbG93IGZvciBpbmNyZWFzZWQgYWNjZXNzaWJpbGl0eTwvcD4NCiAgICA8cD5TcGxpdCBjb2RlIG91dCBpbnRvIG11bHRpcGxlIGZpbGVzIHRvIHJlZHVjZSBvdmVyYWxsIG1lbW9yeSBmb290cHJpbnQ8L3A+DQogICAgPHA+SWdub3JlIGFsbCBpbWFnZSBmaWVsZHM8L3A+DQogICAgPHA+Q2hhbmdlIENhcHRjaGEgc3VwcG9ydCB0byBiZSBvbiBieSBkZWZhdWx0IGlmIHRoZSBDYXB0Y2hhIG1vZHVsZSBpcyBmb3VuZDwvcD4NCjwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwJ10gPSAnPGgzPkNlIGZhY2UgYWNlc3QgbW9kdWw/PC9oMz4NCjxwPkFjZXN0IG1vZHVsIGVzdGUgcHJvaWVjdGF0IHBlbnRydSBhIHBlcm1pdGUgdXRpbGl6YXRvcmlsb3IgZnJvbnQgZW5kIHNhIHNlIGF1dG8taW5yZWdpc3RyZXplIHNpIHNhIGNvbXBsZXRlemUgaW5mb3JtYXRpaWxlIG5lY2VzYXJlLiAgSW4gY29udGludWFyZSwgbW9kdWx1bCB2YSB0cmltaXRlIHVuICBlLW1haWwgZGUgY29uZmlybWFyZSwgY3UgdW4gbGluayBsYSBvIHBhZ2luYSBzZWN1bmRhcmEgY2FyZSB0cmVidWllIGNvbXBsZXRhdGEgaW5haW50ZSBjYSBpbnJlZ2lzdHJhcmVhIHNhIGZpZSBpbmNoZWlhdGEuICBEZSBpbmRhdGEgY2UgaW5yZWdpc3RyYXJlYSBlc3RlIGluY2hlaWF0YSwgdW4gY29udCB1dGlsaXphdG9yIGVzdGUgY3JlYXQgaW4gbW9kdWx1bCBkZSBmcm9udCB1c2Vycy48L3A+DQo8cD5QZW50cnUgYSBwdXRlYSBmb2xvc2kgYWNlc3QgbW9kdWwsIHRyZWJ1aWUgc2EgY3JlYXRpIG8gcHJvcHJpZXRhdGUgZGUgdGlwdWwgJnF1b3Q7QWRyZXNhIGUtbWFpbCZxdW90OyBpbiBtb2R1bHVsIEZyb250ZW5kVXNlcnMgc2kgc2EgYXNvY2lhdGkgYWNlYSBwcm9wcmlldGF0ZSBjdSBncnVwdWwgY2FyZSB0cmVidWllIGZvbG9zaXQgcGVudHJ1IGF1dG8taW5yZWdpc3RyYXJlLjwvcD4NCjxoMz5DdW0gaWwgZm9sb3Nlc2M/PC9oMz4NCjxwPlBsYXNhdGkgdXJtYXRvYXJlYSBldGljaGV0YSBpbiBwYWdpbmEgZHVtbmVhdm9hc3RyYSB7Y21zX21vZHVsZSBtb2R1bGU9U2VsZlJlZ2lzdHJhdGlvbiBncm91cD11c2VyZ3JvdXB9PC9wPg0KPHA+VHJlYnVpZSBzYSBmaSBjcmVhdCBpbiBwcmVhbGFiaWwgcHJvcHJpZXRhdGlsZSBzaSBncnVwdXJpbGUgdXRpbGl6YXRvciBwZW50cnUgY2EgYWNlYXN0YSBzYSBmdW5jdGlvbmV6ZSBjb3JlY3QuPC9wPg0KPGgzPlBhcmFtZXRyaTwvaDM+DQo8cD48c3Ryb25nPm1vZGU8L3N0cm9uZz4mbmJzcDs8ZW0+b3B0aW9uYWw8L2VtPiAtIHZhbG9yaSBwb3NpYmlsZSBzdW50ICZxdW90O3NpZ251cCZxdW90OyBzaSAmcXVvdDt2ZXJpZnkmcXVvdDsuICBEYWNhIGFjZXN0IHBhcmFtZXRydSBudSBlc3RlIHNwZWNpZmljYXQsICZxdW90O3NpZ251cCZxdW90OyBlc3RlIGFzdW1hdC48L3A+DQo8cD48c3Ryb25nPmdyb3VwPC9zdHJvbmc+Jm5ic3A7PGVtPm9wdGlvbmFsPC9lbT4gLSBBY2VzdCBwYXJhbWV0cnUgZXN0ZSBuZWNlc2FyIGRhY2EgbW9kZSBlc3RlICZxdW90O3NpZ251cCZxdW90Oywgc2F1IGRhY2EgbW9kZSBlc3RlIGxhc2F0IHZpZC48L3A+DQo8cD48c3Ryb25nPm5vY2FwdGNoYTwvc3Ryb25nPiZuYnNwOzxlbT5vcHRpb25hbDwvZW0+IC0gQWNlc3RhIHZhIGRlemFjdGl2YSBjYXB0Y2hhIHBlbnRydSBmb3JtdWxhcnVsIGRlIGlucmVnaXN0cmFyZS4gSW1wbGljaXQsIGRhY2EgbW9kdWx1bCBDYXB0Y2hhIGVzdGUgaW5zdGFsYXQsIGVzdGUgb2Zlcml0IHN1cG9ydC11bCBjYXB0Y2hhLiAgQWNlc3QgcGFyYW1ldHJ1IGlsIGRlemFjdGl2ZWF6YS48L3A+DQo8aDM+U3Vwb3J0PC9oMz4NCjxwPkFjZXN0IG1vZHVsIG51IGluY2x1ZGUgc3Vwb3J0IGNvbWVyY2lhbC4gVG90dXNpLCBleGlzdGEgdW4gbnVtYXIgZGUgcmVzdXJzZSBtZW5pdGUgc2EgdmEgYWp1dGU6PC9wPg0KPHVsPg0KPGxpPlBlbnRydSB1bHRpbWEgdmVyc2l1bmUgYSBhY2VzdHVpIG1vZHVsLCBGQVEtdXJpLCBzYXUgcmFwb3J0YXJlYSB1bnVpIFJhcG9ydCBkZSBCdWcgc2F1IGN1bXBhcmFyZWEgc3Vwb3J0dWx1aSBjb21lcmNpYWwsIHN1bnRldGkgcnVnYXQoYSkgc2Egdml6aXRhdGkgcGFnaW5hIGRlIHN0YXJ0IGEgbW9kdWx1bHVpIGx1aSBjYWxndXkgbGEgPGEgaHJlZj0mcXVvdDtodHRwOi8vdGVjaGNvbS5keW5kbnMub3JnJnF1b3Q7PnRlY2hjb20uZHluZG5zLm9yZzwvYT4uPC9saT4NCjxsaT5EaXNjdXRpaSBzdXBsaW1lbnRhcmUgZGVzcHJlIGFjZXN0IG1vZHVsIHBvdCBmaSBnYXNpdGUgZGUgYXNlbWVuZWEgaW4gPGEgaHJlZj0mcXVvdDtodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmcmcXVvdDs+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4NCjxsaT5BdXRvcnVsLCBjYWxndXkxMDAwLCBhZGVzZWEgcG9hdGUgZmkgZ2FzaXQgaW4gPGEgaHJlZj0mcXVvdDtpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMmcXVvdDs+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPGxpPkluIGZpbmFsLCBwdXRldGkgYXZlYSBzYW5zZSBkZSBzdWNjZXMgcHJpbiB0cmltdGVyZWEgdW51aSBlLW1haWwgZGlyZWN0IGF1dG9ydWx1aS48L2xpPiAgDQo8L3VsPg0KPHA+Q2F0IGRlc3ByZSBHUEwsIGFjZXN0IHNvZnQgZXN0ZSBvZmVyaXQgYXNhIGN1bSBlc3RlLiBTdW50ZXRpIHJ1Z2F0KGEpIHNhIGNpdGl0aSBjb250aW51dHVsIGxpY2VudGVpIHBlbnRydSBmdWxsIGRpc2NsYWltZXIuPC9wPg0KDQo8aDM+RHJlcHR1cmkgZGUgY29waWVyZSBzaSBsaWNlbnRhPC9oMz4NCjxwPkNvcHlyaWdodCAmY29weTsgMjAwNSwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0mcXVvdDttYWlsdG86Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbSZxdW90Oz48Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbT48L2E+LiBUb2F0ZSBkcmVwdHVyaWxlIHJlemVydmF0ZS48L3A+DQo8cD5BY2VzdCBtb2R1bCBhIGZvc3QgbGl2cmF0IHN1YiA8YSBocmVmPSZxdW90O2h0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCZxdW90Oz5MaWNlbnRhIHB1YmxpY2EgR05VPC9hPi4gVHJlYnVpZSBzYSBmaXRpIGRlIGFjb3JkIGN1IGFjZWFzdGEgbGljZW50YSBpbmFpbnRlIGRlIGEgdXRpbGl6YSBtb2R1bHVsLjwvcD4NCic7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjE0MjI4MjQ2NTAuMTE5MzI0NDUwNi4xMTkzNjI4NzU4LjExOTM3Nzk4MjMuOCc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTE5MzI1MTcwMi4zLjIudXRtY2NuPShyZWZlcnJhbCl8dXRtY3NyPWxvY2FsaG9zdHx1dG1jY3Q9L2Ntc21hZGVzaW1wbGUvYWRtaW4vbW9kdWxlaW50ZXJmYWNlLnBocHx1dG1jbWQ9cmVmZXJyYWwnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/ru_RU.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2Vycm9yX2NvZGVzZG9udG1hdGNoJ10gPSAnVGhlIHZhbGlkYXRpb24ga2V5IHN1cHBsaWVkIGlzIGludmFsaWQnOwokbGFuZ1snZXZlbnRfZGVzY3JpcHRpb25fb25OZXdVc2VyJ10gPSAnQW4gZXZlbnQgaW5kaWNhdGluZyB0aGF0IGEgbmV3IHVzZXIgaGFzIGNvbXBsZXRlZCB0aGUgcmVnaXN0cmF0aW9uIGZvcm0nOwokbGFuZ1snZXZlbnRfZGVzY3JpcHRpb25fb25Vc2VyUmVnaXN0ZXJlZCddID0gJ9Ch0L7QsdGL0YLQuNC1INC/0L7QutCw0LfRi9Cy0LDQtdGCINGH0YLQviDQv9C+0LvRjNC30L7QstCw0YLQtdC70Ywg0L/QvtC00YLQstC10YDQtNC40Lsg0YHQstC+0Lgg0LTQsNC90L3Ri9C1INC4INGC0LXQv9C10YDRjCDQt9Cw0YDQtdCz0LXRgdGC0YDQuNGA0L7QstCw0L0uJzsKJGxhbmdbJ2V2ZW50X2hlbHBfb25OZXdVc2VyJ10gPSAnPHA+QW4gZXZlbnQgaW5kaWNhdGluZyB0aGF0IGEgbmV3IHVzZXIgaGFzIGNvbXBsZXRlZCB0aGUgcmVnaXN0cmF0aW9uIGZvcm08L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBUaGUgbmV3IHVzZXJzIHNlbGVjdGVkIHVzZXJuYW1lPC9saT4NCjxsaT48ZW0+ZW1haWw8L2VtPiAtIFRoZSBuZXcgdXNlcnMgZW1haWwgYWRkcmVzczwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfb25Vc2VyUmVnaXN0ZXJlZCddID0gJzxwPkFuIGV2ZW50IGluZGljYXRpbmcgdGhhdCBhIHVzZXIgaGFzIGJlZW4gdmVyaWZpZWQgYW5kIGlzIG5vdyByZWdpc3RlcmVkIHdpdGggZmV1c2VyczwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIFRoZSByZWdpc3RlcmVkIHVzZXJuYW1lPC9saT4NCjwvdWw+DQonOwokbGFuZ1snY29uZmlybV9zdWJtaXRwcmVmcyddID0gJ9CY0LfQvNC10L3QuNGC0Ywg0L3QsNGB0YLRgNC+0LnQutC4INCQ0LTQvNC40L3QuNGB0YLRgNCw0YLQvtGA0LA/JzsKJGxhbmdbJ2luZm9fYWRtaW5fcGFzc3dvcmQnXSA9ICfQntGB0YLQsNCy0YzRgtC1INGN0YLQviDQv9C+0LvQtSDQv9GD0YHRgtGL0Lwg0LTQu9GPINGB0L7RhdGA0LDQvdC10L3QuNGPINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjNGB0LrQvtCz0L4g0L/QsNGA0L7Qu9GPJzsKJGxhbmdbJ2luZm9fYWRtaW5fcmVwZWF0cGFzc3dvcmQnXSA9ICfQntGB0YLQsNCy0YzRgtC1INGN0YLQviDQv9C+0LvQtSDQv9GD0YHRgtGL0Lwg0LTQu9GPINGB0L7RhdGA0LDQvdC10L3QuNGPINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjNGB0LrQvtCz0L4g0L/QsNGA0L7Qu9GPJzsKJGxhbmdbJ2Vycm9yX2VtYWlsZG9lc25vdG1hdGNoJ10gPSAn0JDQtNGA0LXRgdCwIEVtYWlsINC90LUg0YHQvtCy0L/QsNC00LDRjtGCJzsKJGxhbmdbJ2ZvcmNlX2VtYWlsX3R3aWNlJ10gPSAn0J/QvtGC0YDQtdCx0L7QstCw0YLRjCDQvtGCINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtdC5INC/0L7QstGC0L7RgNC90L7Qs9C+INCy0LLQvtC00LAgZW1haWwnOwokbGFuZ1snYWdhaW4nXSA9ICfRgdC90L7QstCwJzsKJGxhbmdbJ2RlbGV0ZXNlbHVzZXJzJ10gPSAn0KPQtNCw0LvQuNGC0Ywg0LLRi9Cx0YDQsNC90L3Ri9GFINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtdC5JzsKJGxhbmdbJ2Vycm9yX25vcHJvcGRlZm5zJ10gPSAnTm8gcHJvcGVydHkgZGVmaW5pdGlvbnMsIG9yIHByb2JsZW0gcmV0cmVpdmluZyB0aGVtIGZyb20gdGhlIGRhdGFiYXNlJzsKJGxhbmdbJ2Vycm9yX25vZ3JvdXBzJ10gPSAnTm8gZ3JvdXBzLCBvciBwcm9ibGVtIHJldHJlaXZpbmcgZ3JvdXAgbGlzdCc7CiRsYW5nWydlcnJvcl9kYmVycm9yJ10gPSAn0J7RiNC40LHQutCwINCx0LDQt9GLINC00LDQvdC90YvRhSc7CiRsYW5nWyd0aXRsZV9wb3N0X3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnXSA9ICdQb3N0IExvc3QgRW1haWwgVGVtcGxhdGUnOwokbGFuZ1sndGl0bGVfc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSddID0gJ0xvc3QgRW1haWwgVGVtcGxhdGUnOwokbGFuZ1snY2xpY2toZXJlJ10gPSAn0KnQtdC70LrQvdC40YLQtSDQt9C00LXRgdGMJzsKJGxhbmdbJ21zZ19zZW5kYW5vdGhlcmVtYWlsJ10gPSAn0K8g0YPQttC1INC30LDQv9C+0LvQvdC40Lsg0YDQtdCz0LjRgdGC0YDQsNGG0LjQvtC90L3Rg9GOINGE0L7RgNC80YMsINC90L4g0L3QtSDQv9C+0LvRg9GH0LjQuyDRgdC+0L7QsdGJ0LXQvdC40Y8uINCc0L7Qs9C70Lgg0LHRiyDQstGL0YHQu9Cw0YLRjCDRgdC+0L7QsdGJ0LXQvdC40LUg0L/QvtCy0YLQvtGA0L3Qvj8nOwokbGFuZ1snc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSddID0gJ0xvc3QgRW1haWwgVGVtcGxhdGUnOwokbGFuZ1snaW5mb191c2VydmVyaWZpZWQnXSA9ICfQlNC+0LHQsNCy0LvQvdC1INC90L7QstGL0Lkg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GMJzsKJGxhbmdbJ2VkaXQnXSA9ICfQoNC10LTQsNC60YLQuNGA0L7QstCw0YLRjCc7CiRsYW5nWyd1bmtub3duJ10gPSAn0J3QtdC40LfQstC10YHRgtC90YvQuSc7CiRsYW5nWydzZWxlY3QnXSA9ICfQktGL0LHRgNCw0YLRjCc7CiRsYW5nWydjaGVja19hbGwnXSA9ICfQntGC0LzQtdGC0LjRgtGMINCy0YHQtSc7CiRsYW5nWyd1bmNoZWNrX2FsbCddID0gJ9Ch0L3Rj9GC0Ywg0L7RgtC80LXRgtC60YMg0YHQviDQstGB0LXRhSc7CiRsYW5nWydzZW5kX2FkanVzdG1lbnRlbWFpbCddID0gJ9Cf0L7RgdC70LDRgtGMINGB0L7QvtCx0YnQtdC90LjQtSDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y4nOwokbGFuZ1sndHh0X2FkanVzdG1lbnRlbWFpbCddID0gJyhpbmZvcm1zIHRoZSB1c2VyIHRoYXQgdGhlaXIgYWNjb3VudCBoYXMgYmVlbiBhZGp1c3RlZCc7CiRsYW5nWyd0eHRfY2hhbmdlcGFzc3dvcmQnXSA9ICfQl9Cw0L/QvtC70L3QuNGC0LUg0Y3RgtC4INC/0L7Qu9GPINC00LvRjyDQtNC70Y8g0LjQt9C80LXQvdC10L3QuNGPINC/0LDRgNC+0LvRjyDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8nOwokbGFuZ1snZWRpdHVzZXInXSA9ICfQoNC10LTQsNC60YLQuNGA0L7QstCw0YLRjCDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8nOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGV1c2VyJ10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIHBhcnRpYWxseSByZWdpc3RlcmVkIHVzZXI/JzsKJGxhbmdbJ2hkcl91c2VyaWQnXSA9ICdVc2VySUQnOwokbGFuZ1snaGRyX3VzZXJuYW1lJ10gPSAn0JjQvNGPINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyc7CiRsYW5nWydoZHJfZ3JwbmFtZSddID0gJ9CT0YDRg9C/0L/QsCc7CiRsYW5nWydoZHJfY3JlYXRlZCddID0gJ9Ch0L7Qt9C00LDQvSc7CiRsYW5nWydoZHJfZW1haWwnXSA9ICfQodC+0L7QsdGJ0LXQvdC40LUnOwokbGFuZ1sndXNlcnNmb3VuZCddID0gJ1VzZXJzIGZvdW5kIChsaW1pdGVkIHRvIGEgbWF4aW11bSBvZiAyNTApJzsKJGxhbmdbJ3VzZXJzJ10gPSAn0J/QvtC70YzQt9C+0LLQsNGC0LXQu9C4JzsKJGxhbmdbJ2xpc3QxZGF5J10gPSAnJzsKJGxhbmdbJ3N1YmplY3QnXSA9ICdTdWJqZWN0INC00LvRjyDQuNGB0YXQvtC00YnQuNGFINGB0L7QvtCx0YnQtdC90LjQuSc7CiRsYW5nWydodG1sYm9keSddID0gJ0hUTUwgbWVzc2FnZSBib2R5JzsKJGxhbmdbJ3RleHRib2R5J10gPSAnVGV4dCBtZXNzYWdlIGJvZHknOwokbGFuZ1sncHJvbXB0X251bXJlc2V0cmVjb3JkJ10gPSAnQSBudW1iZXIgb2YgdXNlcnMgYXJlIGluIHRoZSBtaWRkbGUgb2YgcmVnaXN0ZXJpbmcuICBDdXJyZW50bHkgdGhpcyBjb3VudCBpcyBhdDonOwokbGFuZ1sncmVtb3ZlMXdlZWsnXSA9ICdSZW1vdmUgYWxsIGVudHJpZXMgbW9yZSB0aGFuIGEgd2VlayBvbGQnOwokbGFuZ1sncmVtb3ZlMW1vbnRoJ10gPSAnUmVtb3ZlIGFsbCBlbnRyaWVzIG1vcmUgdGhhbiBhIG1vbnRoIG9sZCc7CiRsYW5nWydyZW1vdmUxZGF5J10gPSAnUmVtb3ZlIGFsbCBlbnRyaWVzIG1vcmUgdGhhbiBhIGRheSBvbGQnOwokbGFuZ1sncmVtb3ZlYWxsJ10gPSAnUmVtb3ZlIGFsbCBlbnRyaWVzJzsKJGxhbmdbJ2FyZXlvdXN1cmUnXSA9ICfQktGLINGD0LLQtdGA0LXQvdGLPyc7CiRsYW5nWydyZWdpc3RyYXRpb25faW5mb19lZGl0ZWQnXSA9ICfQlNCw0L3QvdGL0LUg0LLQsNGI0LXQuSDRgNC10LPQuNGB0YLRgNCw0YbQuNC4INCx0YvQu9C4INC40LfQvNC10L3QtdC90YsnOwokbGFuZ1sncmVnaXN0cmF0aW9uX2NvbmZpcm1hdGlvbiddID0gJ9Cf0L7QtNGC0LLQtdGA0LbQtNC10L3QuNC1INGA0LXQs9C40YHRgtGA0LDRhtC40LgnOwokbGFuZ1sndXNlcl9yZWdpc3RyYXRpb24nXSA9ICfQl9Cw0YDQtdCz0LXRgdGC0YDQuNGA0L7QstCw0YLRjNGB0Y8nOwokbGFuZ1snZmluYWxtZXNzYWdlX3RlbXBsYXRlJ10gPSAnRmluYWwgTWVzc2FnZSBUZW1wbGF0ZSc7CiRsYW5nWyd0aXRsZV92ZXJpZnlyZWdpc3RyYXRpb24nXSA9ICdWZXJpZnkgUmVnaXN0cmF0aW9uJzsKJGxhbmdbJ2NvZGUnXSA9ICdWYWxpZGF0aW9uIEtleSc7CiRsYW5nWydkZWZhdWx0J10gPSAn0KPRgdGC0LDQvdC+0LLQutC4INC/0L4t0YPQvNC+0LvRh9Cw0L3QuNGOJzsKJGxhbmdbJ2Vycm9yX25vcHJvcGVydGllcyddID0gJ9Cd0LUg0L3QsNC50LTQtdC90L4g0YHQstC+0LnRgdGC0LIg0LTQu9GPINGN0YLQvtCz0L4g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPJzsKJGxhbmdbJ2Vycm9yX25vcHJvcHJlbGF0aW9ucyddID0gJ05vIHByb3BlcnR5IHJlbGF0aW9ucyc7CiRsYW5nWydlcnJvcl9lbWFpbGludmFsaWQnXSA9ICdJbnZhbGlkIGVtYWlsIGFkZHJlc3MnOwokbGFuZ1snZXJyb3Jfbm9lbWFpbGFkZHJlc3MnXSA9ICdObyB2YWxpZCBlbWFpbCBhZGRyZXNzIGZpZWxkIGZvdW5kJzsKJGxhbmdbJ2Vycm9yX3JlcXVpcmVkZmllbGQnXSA9ICdGaWVsZCAlcyBtdXN0IGJlIGZpbGxlZCBpbic7CiRsYW5nWydyZWdpc3RyYXRpb24xX3RlbXBsYXRlJ10gPSAnUmVnaXN0cmF0aW9uIFRlbXBsYXRlIDEnOwokbGFuZ1sncmVnaXN0cmF0aW9uMl90ZW1wbGF0ZSddID0gJ1JlZ2lzdHJhdGlvbiBUZW1wbGF0ZSAyJzsKJGxhbmdbJ2VtYWlsY29uZmlybV90ZW1wbGF0ZSddID0gJ0NvbmZpcm1hdGlvbiBFbWFpbCBUZW1wbGF0ZSc7CiRsYW5nWydlbWFpbHVzZXJlZGl0ZWRfdGVtcGxhdGUnXSA9ICdVc2VyIEluZm8gQ2hhbmdlZCBUZW1wbGF0ZSc7CiRsYW5nWydwcmVmZXJlbmNlcyddID0gJ1ByZWZlcmVuY2VzJzsKJGxhbmdbJ2Vycm9yX3VzZXJub3Rmb3VuZCddID0gJ1VzZXIgbm90IGZvdW5kJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWR1c2VybmFtZSddID0gJ1VzZXJuYW1lIGlzIGludmFsaWQgKHRvbyBsb25nLCB0b28gc2hvcnQsIG9yIGNvbnRhaW5zIGludmFsaWQgY2hhcmFjdGVycykuICBIaW50LSBVc2VybmFtZXMgbXVzdCBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMgKG5vIHNwYWNlcyknOwokbGFuZ1snZXJyb3JfdXNlcm5hbWV0YWtlbiddID0gJ1RoYXQgdXNlcm5hbWUgaXMgY3VycmVudGx5IGluIHVzZSc7CiRsYW5nWydlcnJvcl9wYXNzd29yZHNkb250bWF0Y2gnXSA9ICdFUlJPUjogUGFzc3dvcmRzIGRvbnQgbWF0Y2gnOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhc3N3b3JkJ10gPSAnUGFzc3dvcmQgaXMgaW52YWxpZCAocGFzc3dvcmRzIG11c3QgYmUgYmV0d2VlbiAlcyBhbmQgJXMgY2hhcmFjdGVycyBpbiBsZW5ndGgpJzsKJGxhbmdbJ2Vycm9yX2VtcHR5dXNlcm5hbWUnXSA9ICfQmNC80Y8g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPINC00L7Qu9C20L3QviDQsdGL0YLRjCDQt9Cw0L/QvtC70L3QtdC90L4nOwokbGFuZ1sncmVwZWF0cGFzc3dvcmQnXSA9ICdQYXNzd29yZCAoYWdhaW4pJzsKJGxhbmdbJ3Bhc3N3b3JkJ10gPSAn0J/QsNGA0L7Qu9GMJzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAn0JjQvNGPINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyc7CiRsYW5nWydjYXB0Y2hhX3RpdGxlJ10gPSAnRW50ZXIgdGhlIHRleHQgZnJvbSB0aGUgaW1hZ2UnOwokbGFuZ1snZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJ10gPSAnSW5zdWZmaWNpZW50IG51bWJlciAob3IgaW5jb3JyZWN0KSBwYXJhbWV0ZXJzIHN1cHBsaWVkIHRvIG1vZHVsZSc7CiRsYW5nWydlcnJvcl9ub2ZldXNlcnNtb2R1bGUnXSA9ICdDb3VsZCBub3QgZ2V0IGluc3RhbmNlIG9mIEZyb250RW5kVXNlcnMgbW9kdWxlJzsKJGxhbmdbJ2Vycm9yX25vc3VjaGdyb3VwJ10gPSAnR3JvdXAgbmFtZSBzcGVjaWZpZWQgZG9lcyBub3QgZXhpc3QnOwokbGFuZ1snZXJyb3JfY2FwdGNoYW1pc21hdGNoJ10gPSAnVGhlIHRleHQgZnJvbSB0aGUgaW1hZ2Ugd2FzIG5vdCBlbnRlcmVkIGNvcnJlY3RseSc7CiRsYW5nWydzZW5kX2VtYWlsc190byddID0gJ9Ch0L7QvtCx0YnQtdC90LjQtSDQviDRgNC10LPQuNGB0YLRgNCw0YbQuNC4INC00L7Qu9C20L3QviDQsdGL0YLRjCDQv9C+0YHQu9Cw0L3QviDQvdCwJzsKJGxhbmdbJ3JlcXVpcmVfZW1haWxfY29uZmlybWF0aW9uJ10gPSAnUmVxdWlyZSB0aGUgdXNlciB0byBjb25maXJtIHJlZ2lzdHJhdGlvbiB2aWEgZW1haWwnOwokbGFuZ1snbm90aWZ5X29uX3JlZ2lzdHJhdGlvbiddID0gJ1NlbmQgYW4gZW1haWwgbm90aWZpY2F0aW9uIHdoZW4gc29tZW9uZSByZWdpc3RlcnMnOwokbGFuZ1snY2FuY2VsJ10gPSAnQ2FuY2VsJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ1N1Ym1pdCc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdTZWxmIFJlZ2lzdHJhdGlvbiBNb2R1bGUnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdJbnN0YWxsYXRpb24gc3VjY2Vzc2Z1bGwsIHBsZWFzZSByZW1lbWJlciB0byBzZXQgdGhlICJNb2RpZnkgU2VsZlJlZ2lzdHJhdGlvbiBTZXR0aW5ncyIgcGVybWlzc2lvbi4gIElmIHRoZSBDYXB0Y2hhIG1vZHVsZSBpcyBpbnN0YWxsZWQsIHRoZW4gY2FwdGNoYSBmdW5jdGlvbmFsaXR5IGlzIGVuYWJsZWQgYnkgZGVmYXVsdC4gIFdlIHN0cm9uZ2x5IHJlY2NvbW1lbmQgdGhhdCB5b3UgaW5zdGFsbCB0aGlzIG1vZHVsZS4gIElmIHRoZSBDYXB0Y2hhIG1vZHVsZSBpcyBpbnN0YWxsZWQsIGFuZCB5b3Ugd2FudCB0byBkaXNhYmxlIGl0LCB1c2UgdGhlIG5vY2FwdGNoYSBwYXJhbSBpbiB5b3VyIHNlbGZyZWdpc3RyYXRpb24gdGFnLic7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnU2VsZiBSZWdpc3RyYXRpb24gbW9kdWxlIGlzIHVuaW5zdGFsbGVkLiAgU2VlIHlvdSBsYXRlci4nOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb2R1bGUgVW5pbnN0YWxsZWQuJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ01vZHVsZSB2ZXJzaW9uICVzIGluc3RhbGxlZC4nOwokbGFuZ1sncHJlZnN1cGRhdGVkJ10gPSAnTW9kdWxlIHByZWZlcmVuY2VzIHVwZGF0ZWQuJzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ0FjY2VzcyBEZW5pZWQuIFBsZWFzZSBjaGVjayB5b3VyIHBlcm1pc3Npb25zLic7CiRsYW5nWydlcnJvciddID0gJ0Vycm9yISc7CiRsYW5nWyd1cGdyYWRlZCddID0gJ01vZHVsZSB1cGdyYWRlZCB0byB2ZXJzaW9uICVzLic7CiRsYW5nWyd0aXRsZV9tb2RfcHJlZnMnXSA9ICdNb2R1bGUgUHJlZmVyZW5jZXMnOwokbGFuZ1sndGl0bGVfbW9kX2FkbWluJ10gPSAnTW9kdWxlIEFkbWluIFBhbmVsJzsKJGxhbmdbJ3RpdGxlX2FkbWluX3BhbmVsJ10gPSAnU2VsZiBSZWdpc3RyYXRpb24gTW9kdWxlJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAn0JzQvtC00YPQu9GMINC/0L7Qt9Cy0L7Qu9GP0LXRgiDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y/QvCDRgdCw0LzQvtGB0YLQvtGP0YLQtdC70YzQvdC+INGA0LXQs9C40YHRgtGA0LjRgNC+0LLQsNGC0YzRgdGPLic7CiRsYW5nWyd3ZWxjb21lX3RleHQnXSA9ICc8cD5XZWxjb21lIHRvIHRoZSBzZWxmIHJlZ2lzdHJhdGlvbiBtb2R1bGUuPC9wPic7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8dWw+DQo8bGk+VmVyc2lvbiAwLjAuMS4gT2N0IDIwMDUuIEluaXRpYWwgTlJQVCAoTm90IFJlYWR5IGZvciBQcmltZSBUaW1lKSByZWxlYXNlLjwvbGk+DQo8bGk+VmVyc2lvbiAwLjEuMC4gT2N0IDIwMDUuIEluaXRpYWwgcmVsZWFzZS48L2xpPg0KPGxpPlZlcnNpb24gMC4xLjEuIE9jdCAyMDA1LiBTZXQgdGhlIEhUTUwgbWFpbCBmbGFnLjwvbGk+DQo8bGk+VmVyc2lvbiAwLjEuMi4gT2N0IDIwMDUuIE1vdmVkIFJhbmRvbSBzdHVmZiBpbnRvIGZldXNlcnMsIGFuZCBhZGRlZCB0aGUgYWJpbGl0eSB0byBkZWxldGUgb2xkIGVudHJpZXMgZnJvbSB0aGUgcmVnaXN0cmF0aW9uIHRlbXBvcmFyeSB0YWJsZXM8L2xpPg0KPGxpPjxwPlZlcnNpb24gMC4xLjMuIC0gRGVjIDIwMDU8L3A+DQo8cD5GaXhlZCB0aGUgdG9nZ2xlcyBpbiB0aGUgYWRtaW4gcHJlZmVyZW5jZXMuICBBbHNvLCBjaGFuZ2VkIHRoZSBwZXJtaXNzaW9ucyBtb2RlbCB0byBub3QgcmVxdWlyZSB0aGUgdW5pcXVlIHBlcm1pc3Npb24gYWRkZWQgcHJldmlvdXNseSBmb3IgdGhlIHNlbGZyZWcgbW9kdWxlLjwvcD4NCjxwPlRoaXMgcmVsZWFzZSB3YXMgcmVtb3ZlZCBkdWUgdG8gcG9zc2libGUgZXJyb3JzPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDAuMS40LiAtIEphbiAyMDA2PC9wPg0KPHA+Rml4ZWQgbWlub3IgZXJyb3JzIHdpdGggQ2hlY2tQZXJtaXNzaW9uLCByZXBsYWNlZCBhbGwgYXNzaWduX2J5X3JlZnNcJ3Mgd2l0aCBhc3NpZ25zIGZvciBob3BlZnVsIHBocDUgY29tcGF0aWJpbGl0eS48L3A+DQo8bGk+PHA+VmVyc2lvbiAwLjEuNS4gLSBKYW4gMjAwNjwvcD4NCjxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIHNldCB0aGUgc3ViamVjdCBvZiB0aGUgY29uZmlybWF0aW9uIGVtYWlsLCBhbmQgYWRkZWQgdGhlIGFiaWxpdHkgdG8gc3BlY2lmeSBhIHRleHQgYm9keS4gIFN1YmplY3QsIGFuZCB0ZXh0IGJvZHkgYXJlIHJlcXVpcmVkLjwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjAuMC4gLSBGZWIgMjAwNjwvcD4NCjxwPkZpeGVkIGEgcHJvYmxlbSB3aXRoIHRoZSB2ZXJpZnkgbW9kZS48L3A+DQo8cD5BZGRlZCB0aGUgYWJpbGl0eSB0byBlZGl0IGFuZCBkZWxldGUgdXNlcnMuIHdpdGggc2VsZWN0aW9uIG9uIHRoZSBjaGVja2JveGVzLCBhbmQgImNoZWNrYWxsIjwvcD4NCjxwPk5vdyByZXF1aXJlIEZFVXNlcnMgMC4xLjggYW5kIENNU01haWxlciAxLjczLjk8L3A+DQo8cD5BZGRlZCBhbm90aGVyIHRhYiBmb3IgdGhlICJ5b3VyIHNldHRpbmdzIGhhdmUgYmVlbiBhZGp1c3RlZCIgZW1haWwgdGVtcGxhdGVzPC9wPg0KPHA+QWRkZWQgQ1NWIEV4cG9ydGluZzwvcD4NCjxwPkFkZGVkIGEgIkRlbGV0ZSBhbGwgdXNlcnMgb2xkZXIgdGhhbiBhIGRheSIgYnV0dG9uPC9wPg0KPHA+Tm93IHdvcmtzIHdpdGggdGhlIG1heGltdW0gbGVuZ3RoIGZpZWxkIG9mIEZFVXNlcnM8L3A+DQo8cD5BZGRlZCBzdXBwb3J0IGZvciBkcm9wZG93bnMgYW5kIHRleHQgYXJlYXM8L3A+DQo8cD5EaXNhbGxvdyBwdW5jdHVhdGlvbiBjaGFyYWN0ZXJzIGluIHVzZXJuYW1lPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC4xLiAtIEZlYiAyMDA2PC9wPg0KPHA+QWRkZWQgdGhlIGFiaWxpdHkgZm9yIHVzZXJzIHRvIHJlcXVlc3QgYW5vdGhlciByZWdpc3RyYXRpb24gZW1haWwgKHVzZXMgdGhlIHNhbWUgY29kZSksIGluY2FzZSB0aGV5IGxvc3QgdGhlaXIgZmlyc3Qgb25lLjwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjAuMi4gLSBGZWIgMjAwNjwvcD4NCjxwPlRoZSAiUmVxdWlyZSBlbWFpbCBjb25maXJtYXRpb24iIGNoZWNrYm94IG5vdyB3b3Jrcy4gIFVzZXJzIGFyZSBhZGRlZCBzdHJhaWdodCB0byB0aGUgZnJvbnRlbmQgdXNlcnMgZGF0YWJhc2U8L3A+DQo8cD5GaXhlZCBhIGJ1ZyB3aXRoIHRoZSBjb25maXJtYXRpb24gZW1haWxzIGhhdmluZyBsaW5rcyB0byB0aGUgYWRtaW4gc2VjdGlvbiAobmV3IGJ1ZyBvbmx5KS48L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjMuIC0gRmViIDIwMDY8L3A+DQo8cD5BZGRlZCB0aGUgKG9wdGlvbmFsKSBhYmlsaXR5IHRvIHJlcXVpcmUgdGhlIHVzZXIgZW50ZXIgdGhlIGVtYWlsIGFkZHJlc3MgdHdpY2U8L3A+DQo8cD5GaXhlZCBhIGJ1ZyB3aXRoIHRoZSB1c2VyZWRpdGVkIG1lc3NhZ2Ugbm90IGJlaW5nIHRocm93biB0aHJvdWdoIHNtYXJ0eTwvcD4NCjxwPkZpeGVkIHRoZSBkZWZhdWx0IHJlZ2lzdHJhdGlvbiB0ZW1wbGF0ZSBhIGJpdCB0byBhaWRlIGluIHZhbGlkYXRpb24gZm9yIG5vbiByZXF1aXJlZCBmaWVsZHMgKGZpeGVkIGEgd2FybmluZyk8L3A+DQo8cD5GaXggcHJvYmxlbXMgd2l0aCBpbmxpbmUgYW5kIG5vbi1pbmxpbmUgZm9ybXMgYW5kIGxpbmtzPC9wPg0KPHA+SGFuZGxlIGFub3RoZXIgY2FzZSB3aGVyZSB0aGUgYWRtaW4gbWF5IG5vdCBoYXZlIGNyZWF0ZWQgdGhlIHByb3BlciB0eXBlIG9mIGVtYWlsIHByb3BlcnR5PC9wPg0KPHA+Q2hhbmdlZCB0byByZXF1aXJlIENNUyAwLjEyLWJldGEyIGF0IGEgbWluaW11bSAoZm9yIHNhZmV0eSBwdXJwb3Nlcyk8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjQuIC0gTWFyIDIwMDY8L3A+DQo8cD5Nb3JlIGNvbnRyb2wgb3ZlciB1c2VybmFtZSBhbmQgcGFzc3dvcmQgZmllbGQgc2l6ZXMgKGNvbnRyb2xsZWQgYnkgZmV1c2Vycyk8L3A+DQo8cD5Db25maXJtYXRpb24gb24gZWRpdGluZyBwcmVmZXJlbmNlczwvcD4NCjxwPlJlcXVpcmUgMC4xMiBwcm9wZXIgb2YgY21zIGFzIGEgbWluaW11bTwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjEuMC4gLSBEZWMgMjAwNjwvcD4NCiAgICA8cD5BZGRlZCBldmVudHMgYW5kIDEuMCBjb21wYXRpYmlsaXR5PC9wPg0KICAgIDxwPkNhcHRjaGEgc3VwcG9ydCAodGhhbmtzIERpdHRtYW4pPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMS4xLiAtIEFwciAyMDA3PC9wPg0KICAgIDxwPk5vdyByZXF1aXJlIEZFVXNlcnMgMS4yLjAgKG1pbmltdW0pPC9wPg0KICAgIDxwPlN1cHBvcnQgZm9yIG11bHRpc2VsZWN0IGxpc3RzIGluIGZldXNlcnM8L3A+DQogICAgPHA+T3V0cHV0IHNvbWUgbW9yZSBmaWVsZHMgdG8gc21hcnR5IHRvIGFsbG93IGZvciBpbmNyZWFzZWQgYWNjZXNzaWJpbGl0eTwvcD4NCiAgICA8cD5TcGxpdCBjb2RlIG91dCBpbnRvIG11bHRpcGxlIGZpbGVzIHRvIHJlZHVjZSBvdmVyYWxsIG1lbW9yeSBmb290cHJpbnQ8L3A+DQogICAgPHA+SWdub3JlIGFsbCBpbWFnZSBmaWVsZHM8L3A+DQogICAgPHA+Q2hhbmdlIENhcHRjaGEgc3VwcG9ydCB0byBiZSBvbiBieSBkZWZhdWx0IGlmIHRoZSBDYXB0Y2hhIG1vZHVsZSBpcyBmb3VuZDwvcD4NCjwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+DQo8cD5UaGlzIG1vZHVsZSBpcyBkZXNpZ25lZCB0byBhbGxvdyBmcm9udCBlbmQgdXNlcnMgdG8gcmVnaXN0ZXIgdGhlbXNlbHZlcyBhbmQgZmlsbCBpbiB0aGUgcmVxdWlyZWQgaW5mb3JtYXRpb24uICBJdCB0aGVuIHNlbmRzIGEgY29uZmlybWF0aW9uIGVtYWlsLCB3aXRoIGEgbGluayB0byBhIHNlY29uZCBwYWdlIHRoYXQgbXVzdCBiZSBjb21wbGV0ZWQgYmVmb3JlIHRoZSByZWdpc3RyYXRpb24gaXMgY29tcGxldGUuICBPbmNlIHJlZ2lzdHJhdGlvbiBpcyBjb21wbGV0ZSwgYSB1c2VyIGFjY291bnQgaXMgY3JlYXRlZCBpbiB0aGUgZnJvbnQgZW5kIHVzZXJzIG1vZHVsZS48L3A+DQo8cD5JbiBvcmRlciB0byB1c2UgdGhpcyBtb2R1bGUsIHlvdSBtdXN0IGNyZWF0ZSBhIHByb3BlcnR5IG9mIHR5cGUgIkVtYWlsIEFkZHJlc3MiIGluIHRoZSBGcm9udGVuZFVzZXJzIG1vZHVsZSwgYW5kIGFzc29jaWF0ZSB0aGF0IHByb3BlcnR5IHdpdGggdGhlIGdyb3VwIHRvIGJlIHVzZWQgZm9yIHNlbGYgcmVnaXN0cmF0aW9uLjwvcD4NCjxoMz5Ib3cgRG8gSSBVc2UgSXQ8L2gzPg0KPHA+WW91IHBsYWNlIHRoZSBmb2xsb3duZyB0YWcgaW50byB5b3VyIHBhZ2Uge2Ntc19tb2R1bGUgbW9kdWxlPVNlbGZSZWdpc3RyYXRpb24gZ3JvdXA9dXNlcmdyb3VwfTwvcD4NCjxwPllvdSBtdXN0IGhhdmUgcHJldmlvdXNseSBjcmVhdGVkIHByb3BlcnRpZXMgYW5kIHVzZXIgZ3JvdXBzIGluIHRoZSBGcm9udEVuZFVzZXJzIG1vZHVsZSBpbiBvcmRlciBmb3IgdGhpcyB0byB3b3JrIHByb3Blcmx5LjwvcD4NCjxoMz5QYXJhbWV0ZXJzPC9oMz4NCjxwPjxzdHJvbmc+bW9kZTwvc3Ryb25nPiZuYnNwOzxlbT5vcHRpb25hbDwvZW0+IC0gcG9zc2libGUgdmFsdWVzIGFyZSAic2lnbnVwIiBhbmQgInZlcmlmeSIuICBJZiB0aGlzIHBhcmFtZXRlciBpcyBub3Qgc3BlY2lmaWVkLCAic2lnbnVwIiBpcyBhc3N1bWJlZC48L3A+DQo8cD48c3Ryb25nPmdyb3VwPC9zdHJvbmc+Jm5ic3A7PGVtPm9wdGlvbmFsPC9lbT4gLSBUaGlzIHBhcmFtZXRlciBpcyByZXF1aXJlZCBpZiBtb2RlIGlzICJzaWdudXAiLCBvciBpZiBtb2RlIGlzIGxlZnQgZW1wdHkuPC9wPg0KPHA+PHN0cm9uZz5ub2NhcHRjaGE8L3N0cm9uZz4mbmJzcDs8ZW0+b3B0aW9uYWw8L2VtPiAtIFRoaXMgd2lsbCBkaXNhYmxlIGNhcHRjaGEgb24gdGhlIHNpZ251cCBmb3JtLiBCeSBkZWZhdWx0LCBpZiB0aGUgQ2FwdGNoYSBtb2R1bGUgaXMgaW5zdGFsbGVkLCBjYXB0Y2hhIHN1cHBvcnQgaXMgcHJvdmlkZWQuICBUaGlzIHBhcmFtZXRlciBkaXNhYmxlcyBpdC48L3A+DQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+DQo8dWw+DQo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQgb3IgYnV5IGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHZpc2l0IGNhbGd1eVwncw0KbW9kdWxlIGhvbWVwYWdlIGF0IDxhIGhyZWY9Imh0dHA6Ly90ZWNoY29tLmR5bmRucy5vcmciPnRlY2hjb20uZHluZG5zLm9yZzwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4NCjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICANCjwvdWw+DQo8cD5BcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy4gUGxlYXNlIHJlYWQgdGhlIHRleHQNCm9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4NCg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgwqkgMjAwNSwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAaG90bWFpbC5jb20iPjxjYWxndXkxMDAwQGhvdG1haWwuY29tPjwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPlRoaXMgbW9kdWxlIGhhcyBiZWVuIHJlbGVhc2VkIHVuZGVyIHRoZSA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPkdOVSBQdWJsaWMgTGljZW5zZTwvYT4uIFlvdSBtdXN0IGFncmVlIHRvIHRoaXMgbGljZW5zZSBiZWZvcmUgdXNpbmcgdGhlIG1vZHVsZS48L3A+DQonOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4xMjE4ODQ3NjQ0LjExNjc4OTU0NTUuMTE3OTA3ODg0OC4xMTc5MDgzNDk4LjQzJzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTE3OTA4MzQ5OC40My4yOC51dG1jY249KHJlZmVycmFsKXx1dG1jc3I9Zm9ydW0uY21zbWFkZXNpbXBsZS5vcmd8dXRtY2N0PS98dXRtY21kPXJlZmVycmFsJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/sk_SK.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ3JlZGlyZWN0X2FmdGVycmVnaXN0ZXInXSA9ICdQYWdlSUQvQWxpYXMgdG8gcmVkaXJlY3QgdG8gYWZ0ZXIgcmVnaXN0cmF0aW9uIGlzIGNvbXBsZXRlJzsKJGxhbmdbJ3JlZGlyZWN0X2FmdGVydmVyaWZ5J10gPSAnUGFnZUlEL0FsaWFzIHRvIHJlZGlyZWN0IHRvIGFmdGVyIHZlcmlmaWNhdGlvbiBzdGVwIGlzIGNvbXBsZXRlJzsKJGxhbmdbJ3VzZV9pbmxpbmVfZm9ybXMnXSA9ICdVc2UgSW5saW5lIEZvcm1zIDxlbT4oZm9ybSBvdXRwdXQgcmVwbGFjZXMgdGhlIG1vZHVsZSB0YWcsIG5vdCBhbGwgb2YgY29udGVudCk8L2VtPic7CiRsYW5nWydlcnJvcl9jb2Rlc2RvbnRtYXRjaCddID0gJ092ZXJvdmFjJmlhY3V0ZTsgayZvYWN1dGU7ZCBqZSBuZXBsYXRuJnlhY3V0ZTsnOwokbGFuZ1snZXZlbnRfZGVzY3JpcHRpb25fb25OZXdVc2VyJ10gPSAnVWRhbG9zxaUgdnl2b2xhbiZhYWN1dGU7IHYgcHImaWFjdXRlO3BhZGUsIGtlxI8gbm92JnlhY3V0ZTsgdcW+JmlhY3V0ZTt2YXRlxL4gZG9rb27EjWlsIHZ5cGzFiG92YW5pZSByZWdpc3RyYcSNbiZlYWN1dGU7aG8gZm9ybXVsJmFhY3V0ZTtyYS4nOwokbGFuZ1snZXZlbnRfZGVzY3JpcHRpb25fb25Vc2VyUmVnaXN0ZXJlZCddID0gJ1VkYWxvc8WlIG96bmHFpXVqJnVhY3V0ZTtjYSBwciZpYWN1dGU7cGFkLCBrZcSPIG5vdiZ5YWN1dGU7IHXFviZpYWN1dGU7dmF0ZcS+IHBvdHZyZGlsIG9kb3NsYW4meWFjdXRlOyBlLW1haWwgYSB2IHRlanRvIGNodiZpYWN1dGU7bGkgdcW+IGplIGtvbXBsZXRuZSB6YXJlZ2lzdHJvdmFuJnlhY3V0ZTsuJzsKJGxhbmdbJ2V2ZW50X2hlbHBfb25OZXdVc2VyJ10gPSAnPHA+QW4gZXZlbnQgaW5kaWNhdGluZyB0aGF0IGEgbmV3IHVzZXIgaGFzIGNvbXBsZXRlZCB0aGUgcmVnaXN0cmF0aW9uIGZvcm08L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBUaGUgbmV3IHVzZXJzIHNlbGVjdGVkIHVzZXJuYW1lPC9saT4NCjxsaT48ZW0+ZW1haWw8L2VtPiAtIFRoZSBuZXcgdXNlcnMgZW1haWwgYWRkcmVzczwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfb25Vc2VyUmVnaXN0ZXJlZCddID0gJzxwPkFuIGV2ZW50IGluZGljYXRpbmcgdGhhdCBhIHVzZXIgaGFzIGJlZW4gdmVyaWZpZWQgYW5kIGlzIG5vdyByZWdpc3RlcmVkIHdpdGggZmV1c2VyczwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIFRoZSByZWdpc3RlcmVkIHVzZXJuYW1lPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIFRoZSBuZXcgdXNlcnMgdWlkPC9saT4NCjwvdWw+DQonOwokbGFuZ1snY29uZmlybV9zdWJtaXRwcmVmcyddID0gJ1ptZW5pxaUgYWRtaW5pc3RyJmFhY3V0ZTt0b3Jza2UgbmFzdGF2ZW5pYT8nOwokbGFuZ1snaW5mb19hZG1pbl9wYXNzd29yZCddID0gJ1BvbmVjaGFqdGUgdG90byBwb2xlIHByJmFhY3V0ZTt6ZG5lIHByZSB6YWNob3ZhbmllIHMmdWFjdXRlO8SNYXNuJmVhY3V0ZTtobyBoZXNsYSc7CiRsYW5nWydpbmZvX2FkbWluX3JlcGVhdHBhc3N3b3JkJ10gPSAnUG9uZWNoYWp0ZSB0b3RvIHBvbGUgcHImYWFjdXRlO3pkbmUgcHJlIHphY2hvdmFuaWUgcyZ1YWN1dGU7xI1hc24mZWFjdXRlO2hvIGhlc2xhJzsKJGxhbmdbJ2Vycm9yX2VtYWlsZG9lc25vdG1hdGNoJ10gPSAnRS1tYWlsb3YmZWFjdXRlOyBhZHJlc3kgc2EgbmV6aG9kdWomdWFjdXRlOyc7CiRsYW5nWydmb3JjZV9lbWFpbF90d2ljZSddID0gJ1Z5xb5hZG92YcWlLCBhYnkgIHXFviZpYWN1dGU7dmF0ZWxpYSB2a2xhZGFsaSBzdm9qdSBlLW1haWxvdiZ1YWN1dGU7IGFkcmVzdSBkdmFrciZhYWN1dGU7dC4nOwokbGFuZ1snYWdhaW4nXSA9ICd6bm92YSc7CiRsYW5nWydkZWxldGVzZWx1c2VycyddID0gJ1Z5bWF6YcWlIHZ5YnJhbiZ5YWN1dGU7Y2ggdcW+JmlhY3V0ZTt2YXRlxL5vdic7CiRsYW5nWydlcnJvcl9ub3Byb3BkZWZucyddID0gJ8W9aWFkbmUgZGVmaW4maWFjdXRlO2NpZSB2bGFzbm9zdCZpYWN1dGU7LCBhbGVibyBkbyZzY2Fyb247bG8gayBjaHliZSBwcmkgaWNoIG92ZXJvdmFuJmlhY3V0ZTsgdiBkYXRhYiZhYWN1dGU7emUuJzsKJGxhbmdbJ2Vycm9yX25vZ3JvdXBzJ10gPSAnxb1pYWRuZSBza3VwaW55IGFsZWJvIGRvJnNjYXJvbjtsbyBrIHByb2JsJmVhY3V0ZTttb20gcHJpIGljaCB6JmlhY3V0ZTtza2F2YW4maWFjdXRlOyB2IGRhdGFiJmFhY3V0ZTt6ZS4nOwokbGFuZ1snZXJyb3JfZGJlcnJvciddID0gJ0NoeWJhIHYgZGF0YWImYWFjdXRlO3plJzsKJGxhbmdbJ3RpdGxlX3Bvc3Rfc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSddID0gJ1Bvc3QgTG9zdCBFbWFpbCBUZW1wbGF0ZSc7CiRsYW5nWyd0aXRsZV9zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJ10gPSAnTG9zdCBFbWFpbCBUZW1wbGF0ZSc7CiRsYW5nWydjbGlja2hlcmUnXSA9ICdLbGlrbml0ZSB0dSc7CiRsYW5nWydtc2dfc2VuZGFub3RoZXJlbWFpbCddID0gJ1XFviBzb20gdnlwbG5pbCByZWdpc3RyYcSNbiZ5YWN1dGU7IGZvcm11bCZhYWN1dGU7ciwgYWxlIG5lb2JkcsW+YWwgc29tIGUtbWFpbC4gTSZvY2lyYzvFvmV0ZSBtaSBobyBwcm9zJmlhY3V0ZTttIHpub3ZhIHBvc2xhxaU/JzsKJGxhbmdbJ3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnXSA9ICdMb3N0IEVtYWlsIFRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fdXNlcnZlcmlmaWVkJ10gPSAnQSBuZXcgdXNlciBoYXMgYmVlbiBhZGRlZCB0byBGcm9udEVuZFVzZXJzJzsKJGxhbmdbJ2VkaXQnXSA9ICdVcHJhdmnFpSc7CiRsYW5nWyd1bmtub3duJ10gPSAnTmV6biZhYWN1dGU7bXknOwokbGFuZ1snc2VsZWN0J10gPSAnVnlicmHFpSc7CiRsYW5nWydjaGVja19hbGwnXSA9ICdWeWJyYcWlIHYmc2Nhcm9uO2V0a28nOwokbGFuZ1sndW5jaGVja19hbGwnXSA9ICdacnUmc2Nhcm9uO2nFpSB2JnlhY3V0ZTtiZXInOwokbGFuZ1snc2VuZF9hZGp1c3RtZW50ZW1haWwnXSA9ICdQb3NsYcWlIGUtbWFpbCB1xb4maWFjdXRlO3ZhdGXEvm92aSc7CiRsYW5nWyd0eHRfYWRqdXN0bWVudGVtYWlsJ10gPSAnKGluZm9ybXVqZSB1xb4maWFjdXRlO3ZhdGXEvmEsIMW+ZSBqZWhvICZ1YWN1dGU7xI1ldCBib2wgcHImYWFjdXRlO3ZlIHVwcmF2ZW4meWFjdXRlOyc7CiRsYW5nWyd0eHRfY2hhbmdlcGFzc3dvcmQnXSA9ICdWeXBsxYh0ZSB0aWV0byBwb2xpYSBwcmUgem1lbnUgdcW+JmlhY3V0ZTt2YXRlxL5zayZlYWN1dGU7aG8gaGVzbGEnOwokbGFuZ1snZWRpdHVzZXInXSA9ICdVcHJhdmnFpSB1xb4maWFjdXRlO3ZhdGXEvmEnOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGV1c2VyJ10gPSAnTmFvemFqIGNoY2V0ZSB2eW1hemHFpSB0b2h0byDEjWlhc3RvxI1uZSByZWdpc3Ryb3ZhbiZlYWN1dGU7aG8gdcW+JmlhY3V0ZTt2YXRlxL5hPyc7CiRsYW5nWydoZHJfdXNlcmlkJ10gPSAnVXNlcklEJzsKJGxhbmdbJ2hkcl91c2VybmFtZSddID0gJ1XFviZpYWN1dGU7dmF0ZcS+c2smZWFjdXRlOyBtZW5vJzsKJGxhbmdbJ2hkcl9ncnBuYW1lJ10gPSAnU2t1cGluYSc7CiRsYW5nWydoZHJfY3JlYXRlZCddID0gJ1Z5dHZvcmVuJmVhY3V0ZTsnOwokbGFuZ1snaGRyX2VtYWlsJ10gPSAnRS1tYWlsJzsKJGxhbmdbJ3VzZXJzZm91bmQnXSA9ICdOJmFhY3V0ZTtqZGVuJmlhY3V0ZTsgIHXFviZpYWN1dGU7dmF0ZWxpYSAob2JtZWR6ZW4mZWFjdXRlOyBtYXhpbSZhYWN1dGU7bG55bSBwb8SNdG9tIDI1MCknOwokbGFuZ1sndXNlcnMnXSA9ICdVxb4maWFjdXRlO3ZhdGVsaWEnOwokbGFuZ1snbGlzdDFkYXknXSA9ICdWeXAmaWFjdXRlO3NhxaUgdiZzY2Fyb247ZXRseSAgcG9sb8W+a3kgdmlhYyBha28gMSBkZcWIIHN0YXImZWFjdXRlOy4nOwokbGFuZ1snc3ViamVjdCddID0gJ1ByZWRtZXQgb2RjaCZhYWN1dGU7ZHphaiZ1YWN1dGU7Y2VobyBlLW1haWx1Lic7CiRsYW5nWydodG1sYm9keSddID0gJ1RlbG8gSFRNTCBzcHImYWFjdXRlO3Z5Lic7CiRsYW5nWyd0ZXh0Ym9keSddID0gJ1RlbG8gdGV4dG92JmVhY3V0ZTtobyBlLW1haWx1Lic7CiRsYW5nWydwcm9tcHRfbnVtcmVzZXRyZWNvcmQnXSA9ICdOaWVrdG9yJmlhY3V0ZTsgdcW+JmlhY3V0ZTt2YXRlbGlhIHMmdWFjdXRlOyDEjWlhc3RvxI1uZSByZWdpc3Ryb3ZhbiZpYWN1dGU7LiBJY2ggcG/EjWV0IGplIGFrdHUmYWFjdXRlO2xuZTonOwokbGFuZ1sncmVtb3ZlMXdlZWsnXSA9ICdPZG9icmHFpSB2JnNjYXJvbjtldGt5IHBvbG/Fvmt5IHN0YXImc2Nhcm9uO2llIGFrbyB0JnlhY3V0ZTvFvmRlxYguJzsKJGxhbmdbJ3JlbW92ZTFtb250aCddID0gJ09kb2JyYcWlIHYmc2Nhcm9uO2V0a3kgcG9sb8W+a3kgc3RhciZzY2Fyb247aWUgYWtvIHJvayc7CiRsYW5nWydyZW1vdmUxZGF5J10gPSAndiZzY2Fyb247ZXRreSBwb2xvxb5reSBzdGFyJnNjYXJvbjtpZSBha28gZGXFiCc7CiRsYW5nWydyZW1vdmVhbGwnXSA9ICdPZG9iYcWlIHYmc2Nhcm9uO2V0a3kgeiZhYWN1dGU7em5hbXknOwokbGFuZ1snYXJleW91c3VyZSddID0gJ1N0ZSBzaSBpc3QmeWFjdXRlOz8nOwokbGFuZ1sncmVnaXN0cmF0aW9uX2luZm9fZWRpdGVkJ10gPSAnVmEmc2Nhcm9uO2UgcmVnaXN0cmHEjW4mZWFjdXRlOyAmdWFjdXRlO2RhamUgYm9saSB1cHJhdmVuJmVhY3V0ZTsnOwokbGFuZ1sncmVnaXN0cmF0aW9uX2NvbmZpcm1hdGlvbiddID0gJ1BvdHZyZGVuaWUgcmVnaXN0ciZhYWN1dGU7Y2llLic7CiRsYW5nWyd1c2VyX3JlZ2lzdHJhdGlvbiddID0gJ1JlZ2lzdHImYWFjdXRlO2NpYSc7CiRsYW5nWydmaW5hbG1lc3NhZ2VfdGVtcGxhdGUnXSA9ICdGaW5hbCBNZXNzYWdlIFRlbXBsYXRlJzsKJGxhbmdbJ3RpdGxlX3ZlcmlmeXJlZ2lzdHJhdGlvbiddID0gJ092ZXJmacWlIHJlZ2lzdHImYWFjdXRlO2NpdSc7CiRsYW5nWydjb2RlJ10gPSAnT3Zlcm92YWMmaWFjdXRlOyBrxL4mdWFjdXRlO8SNJzsKJGxhbmdbJ2RlZmF1bHQnXSA9ICdOYXN0YXZpxaUgbmEgdiZ5YWN1dGU7Y2hvZHppZSBob2Rub3R5Lic7CiRsYW5nWydlcnJvcl9ub3Byb3BlcnRpZXMnXSA9ICdQcmUgdG9odG8gdcW+JmlhY3V0ZTt2YXRlxL5hIG5lYm9saSBuJmFhY3V0ZTtqZGVuJmVhY3V0ZTsgxb5pYWRuZSB2bGFzbm9zdGknOwokbGFuZ1snZXJyb3Jfbm9wcm9wcmVsYXRpb25zJ10gPSAnTm8gcHJvcGVydHkgcmVsYXRpb25zJzsKJGxhbmdbJ2Vycm9yX2VtYWlsaW52YWxpZCddID0gJ05lcGxhdG4mYWFjdXRlOyBlLW1haWxvdiZhYWN1dGU7IGFkcmVzYSc7CiRsYW5nWydlcnJvcl9ub2VtYWlsYWRkcmVzcyddID0gJ05lYm9sbyBuJmFhY3V0ZTtqZGVuJmVhY3V0ZTsgcG9sZSBvYnNhaHVqJnVhY3V0ZTtjZSBwbGF0biZ1YWN1dGU7IGUtbWFpbG92JnVhY3V0ZTsgYWR0cmVzdS4nOwokbGFuZ1snZXJyb3JfcmVxdWlyZWRmaWVsZCddID0gJ1BvbGUgJXMgbXVzJmlhY3V0ZTsgYnnFpSB2eXBsbmVuJmVhY3V0ZTsnOwokbGFuZ1sncmVnaXN0cmF0aW9uMV90ZW1wbGF0ZSddID0gJ1JlZ2lzdHJhxI1uJmFhY3V0ZTsgJnNjYXJvbjthYmwmb2FjdXRlO25hIDEnOwokbGFuZ1sncmVnaXN0cmF0aW9uMl90ZW1wbGF0ZSddID0gJ1JlZ2lzdHJhxI1uJmFhY3V0ZTsgJnNjYXJvbjthYmwmb2FjdXRlO25hIDInOwokbGFuZ1snZW1haWxjb25maXJtX3RlbXBsYXRlJ10gPSAnJlNjYXJvbjthYmwmb2FjdXRlO25hIGUtbWFpbHUgcHJlIHBvdHZyZGVuaWUnOwokbGFuZ1snZW1haWx1c2VyZWRpdGVkX3RlbXBsYXRlJ10gPSAnJlNjYXJvbjthYmwmb2FjdXRlO25hIHptZW55IHXFviZpYWN1dGU7dmF0ZcS+c2smeWFjdXRlO2NoIGluZm9ybSZhYWN1dGU7Y2lpJzsKJGxhbmdbJ3ByZWZlcmVuY2VzJ10gPSAnTmFzdGF2ZW5pZSc7CiRsYW5nWydlcnJvcl91c2Vybm90Zm91bmQnXSA9ICdVxb4maWFjdXRlO3ZhdGXEviBuZWJvbCBuJmFhY3V0ZTtqZGVuJnlhY3V0ZTsnOwokbGFuZ1snZXJyb3JfaW52YWxpZHVzZXJuYW1lJ10gPSAnVcW+JmlhY3V0ZTt2YXRlxL5zayZlYWN1dGU7IG1lbm8gamUgbmVwbGF0biZlYWN1dGU7IChwciZpYWN1dGU7bGkmc2Nhcm9uOyBkbGgmZWFjdXRlOywgcHImaWFjdXRlO3NsacSNIGtyJmFhY3V0ZTt0a2UsIGFsZWJvICBvYnNhaHVqZSBuZXBsYXRuJmVhY3V0ZTsgem5ha3kgLSBwb3ZvbGVuJmVhY3V0ZTsgcyZ1YWN1dGU7IGxlbiBwJmlhY3V0ZTtzbWVuYSBiZXogZGlha3JpdGlreSBhIG1lZHppZXIpLic7CiRsYW5nWydlcnJvcl91c2VybmFtZXRha2VuJ10gPSAnVcW+JmlhY3V0ZTt2YXRlxL5zayZlYWN1dGU7IG1lbm8gamUgdcW+IHBvdcW+JmlhY3V0ZTt2YW4mZWFjdXRlOyc7CiRsYW5nWydlcnJvcl9wYXNzd29yZHNkb250bWF0Y2gnXSA9ICdDSFlCQTogSGVzbGEgc2EgbmV6aG9kdWomdWFjdXRlOyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFzc3dvcmQnXSA9ICdIZXNsbyBqZSBuZXBsYXRuJmVhY3V0ZTsgKGhlc2xhIG11c2lhIG1hxaUgZGzFvmt1IG1lZHppICVzIGEgJXMgem5ha21pKSc7CiRsYW5nWydlcnJvcl9lbXB0eXVzZXJuYW1lJ10gPSAnVcW+JmlhY3V0ZTt2YXRlxL5zayZlYWN1dGU7IG1lbm8gbXVzJmlhY3V0ZTsgYiZ5YWN1dGU7xaUgemFkYW4mZWFjdXRlOyc7CiRsYW5nWydyZXBlYXRwYXNzd29yZCddID0gJ0hlc2xvICh6bm92YSknOwokbGFuZ1sncGFzc3dvcmQnXSA9ICdIZXNsbyc7CiRsYW5nWyd1c2VybmFtZSddID0gJ1ByaWhsYXNvdmFjaWUgbWVubyc7CiRsYW5nWydjYXB0Y2hhX3RpdGxlJ10gPSAnVmxvxb50ZSB0ZXh0IHogb2JyJmFhY3V0ZTt6a3UnOwokbGFuZ1snZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJ10gPSAnUHJpIHZvbGFuJmlhY3V0ZTsgbW9kdWx1IGJvbG8gcG91xb5pdCZ5YWN1dGU7Y2ggcHImaWFjdXRlO2xpJnNjYXJvbjsgbSZhYWN1dGU7bG8gcGFyYW1ldHJvdiwgYWxlYm8gbmlla3RvciZlYWN1dGU7IGJvbGkgcGFyYW1ldHJlIHphZGFuJmVhY3V0ZTsgbmVwbGF0biZlYWN1dGU7JzsKJGxhbmdbJ2Vycm9yX25vZmV1c2Vyc21vZHVsZSddID0gJ05lbSZvY2lyYzvFvmVtIHNhIHByaXBvamnFpSBrIG1vZHVsdSBGcm9udEVuZFVzZXJzJzsKJGxhbmdbJ2Vycm9yX25vc3VjaGdyb3VwJ10gPSAnVXZlZGVuJmFhY3V0ZTsgc2t1cGluYSBuZWV4aXN0dWplJzsKJGxhbmdbJ2Vycm9yX2NhcHRjaGFtaXNtYXRjaCddID0gJ1RleHQgeiBvYnImYWFjdXRlO3prYSBuZWJvbCB2bG/FvmVuJnlhY3V0ZTsgc3ByJmFhY3V0ZTt2bmUnOwokbGFuZ1snc2VuZF9lbWFpbHNfdG8nXSA9ICdSZWdpc3RyYcSNbiZlYWN1dGU7IGUtbWFpbHkgYnkgbWFsaSBiecWlIHphc2xhbiZlYWN1dGU7JzsKJGxhbmdbJ3JlcXVpcmVfZW1haWxfY29uZmlybWF0aW9uJ10gPSAnUG/FvmFkb3ZhxaUgdcW+JmlhY3V0ZTt2YXRlxL5vdm8gcG90dnJkZW5pZSByZWdpc3RyJmFhY3V0ZTtjaWUgZS1tYWlsb20nOwokbGFuZ1snbm90aWZ5X29uX3JlZ2lzdHJhdGlvbiddID0gJ1Bvc2xhxaUgdXBvem9ybmVuaWUgZS1tYWlsb20sIGtlxI8gc2Egbmlla3RvIHphcmVnaXN0cnVqZSc7CiRsYW5nWydjYW5jZWwnXSA9ICdacnUmc2Nhcm9uO2nFpSc7CiRsYW5nWydzdWJtaXQnXSA9ICdWbG/FvmnFpSc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdTYW1vc3RhdG4mYWFjdXRlOyByZWdpc3RyJmFhY3V0ZTtjaWEnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdJbnN0YWxsYXRpb24gc3VjY2Vzc2Z1bGwsIHBsZWFzZSByZW1lbWJlciB0byBzZXQgdGhlICZxdW90O01vZGlmeSBTZWxmUmVnaXN0cmF0aW9uIFNldHRpbmdzJnF1b3Q7IHBlcm1pc3Npb24uICBJZiB0aGUgQ2FwdGNoYSBtb2R1bGUgaXMgaW5zdGFsbGVkLCB0aGVuIGNhcHRjaGEgZnVuY3Rpb25hbGl0eSBpcyBlbmFibGVkIGJ5IGRlZmF1bHQuICBXZSBzdHJvbmdseSByZWNjb21tZW5kIHRoYXQgeW91IGluc3RhbGwgdGhpcyBtb2R1bGUuICBJZiB0aGUgQ2FwdGNoYSBtb2R1bGUgaXMgaW5zdGFsbGVkLCBhbmQgeW91IHdhbnQgdG8gZGlzYWJsZSBpdCwgdXNlIHRoZSBub2NhcHRjaGEgcGFyYW0gaW4geW91ciBzZWxmcmVnaXN0cmF0aW9uIHRhZy4nOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ01vZHVsIFNhbW9zdGF0biZhYWN1dGU7IHJlZ2lzdHImYWFjdXRlO2NpYSBib2wgb2RpbiZzY2Fyb247dGFsb3ZhbiZ5YWN1dGU7Lic7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZHVsIG9kaW4mc2Nhcm9uO3RhbG92YW4meWFjdXRlOy4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWwgdmVyemlhICVzIG5haW4mc2Nhcm9uO3RhbG92YW4meWFjdXRlOy4nOwokbGFuZ1sncHJlZnN1cGRhdGVkJ10gPSAnVmxhc3Rub3N0aSBtb2R1bHUgbmFzdGF2ZW4mZWFjdXRlOyc7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdQciZpYWN1dGU7c3R1cCB6YWsmYWFjdXRlO3phbiZ5YWN1dGU7LiBQcm9zJmlhY3V0ZTttIHNrb250cm9sdWp0ZSBzdm9qYSBwciZhYWN1dGU7dmEuJzsKJGxhbmdbJ2Vycm9yJ10gPSAnQ2h5YmEhJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnTW9kdWwgYWt0dWFsaXpvdmFuJnlhY3V0ZTsgbmEgdmVyeml1ICVzLic7CiRsYW5nWyd0aXRsZV9tb2RfcHJlZnMnXSA9ICdOYXN0YXZlbmllIG1vZHVsdSc7CiRsYW5nWyd0aXRsZV9tb2RfYWRtaW4nXSA9ICdBZG1pbmlzdHImYWFjdXRlO8SNbiZ5YWN1dGU7IHBhbmVsIG1vZHVsdSc7CiRsYW5nWyd0aXRsZV9hZG1pbl9wYW5lbCddID0gJ01vZHVsIHNhbW9yZWdpc3RyJmFhY3V0ZTtjaWEnOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdNb2R1bCwga3RvciZ5YWN1dGU7IHVtb8W+xYh1amUgc2Ftb3N0YXRuJnVhY3V0ZTsgIHJlZ2lzdHImYWFjdXRlO2NpdSB1xb4maWFjdXRlO3ZhdGXEvm92Lic7CiRsYW5nWyd3ZWxjb21lX3RleHQnXSA9ICc8cD5WaXRhanRlIHYgbW9kdWxlIFNhbW9zdGF0biZhYWN1dGU7IHJlZ2lzdHImYWFjdXRlO2NpYS48L3A+JzsKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4NCjxsaT5WZXJzaW9uIDAuMC4xLiBPY3QgMjAwNS4gSW5pdGlhbCBOUlBUIChOb3QgUmVhZHkgZm9yIFByaW1lIFRpbWUpIHJlbGVhc2UuPC9saT4NCjxsaT5WZXJzaW9uIDAuMS4wLiBPY3QgMjAwNS4gSW5pdGlhbCByZWxlYXNlLjwvbGk+DQo8bGk+VmVyc2lvbiAwLjEuMS4gT2N0IDIwMDUuIFNldCB0aGUgSFRNTCBtYWlsIGZsYWcuPC9saT4NCjxsaT5WZXJzaW9uIDAuMS4yLiBPY3QgMjAwNS4gTW92ZWQgUmFuZG9tIHN0dWZmIGludG8gZmV1c2VycywgYW5kIGFkZGVkIHRoZSBhYmlsaXR5IHRvIGRlbGV0ZSBvbGQgZW50cmllcyBmcm9tIHRoZSByZWdpc3RyYXRpb24gdGVtcG9yYXJ5IHRhYmxlczwvbGk+DQo8bGk+PHA+VmVyc2lvbiAwLjEuMy4gLSBEZWMgMjAwNTwvcD4NCjxwPkZpeGVkIHRoZSB0b2dnbGVzIGluIHRoZSBhZG1pbiBwcmVmZXJlbmNlcy4gIEFsc28sIGNoYW5nZWQgdGhlIHBlcm1pc3Npb25zIG1vZGVsIHRvIG5vdCByZXF1aXJlIHRoZSB1bmlxdWUgcGVybWlzc2lvbiBhZGRlZCBwcmV2aW91c2x5IGZvciB0aGUgc2VsZnJlZyBtb2R1bGUuPC9wPg0KPHA+VGhpcyByZWxlYXNlIHdhcyByZW1vdmVkIGR1ZSB0byBwb3NzaWJsZSBlcnJvcnM8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMC4xLjQuIC0gSmFuIDIwMDY8L3A+DQo8cD5GaXhlZCBtaW5vciBlcnJvcnMgd2l0aCBDaGVja1Blcm1pc3Npb24sIHJlcGxhY2VkIGFsbCBhc3NpZ25fYnlfcmVmcyYjMDM5O3Mgd2l0aCBhc3NpZ25zIGZvciBob3BlZnVsIHBocDUgY29tcGF0aWJpbGl0eS48L3A+DQo8bGk+PHA+VmVyc2lvbiAwLjEuNS4gLSBKYW4gMjAwNjwvcD4NCjxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIHNldCB0aGUgc3ViamVjdCBvZiB0aGUgY29uZmlybWF0aW9uIGVtYWlsLCBhbmQgYWRkZWQgdGhlIGFiaWxpdHkgdG8gc3BlY2lmeSBhIHRleHQgYm9keS4gIFN1YmplY3QsIGFuZCB0ZXh0IGJvZHkgYXJlIHJlcXVpcmVkLjwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjAuMC4gLSBGZWIgMjAwNjwvcD4NCjxwPkZpeGVkIGEgcHJvYmxlbSB3aXRoIHRoZSB2ZXJpZnkgbW9kZS48L3A+DQo8cD5BZGRlZCB0aGUgYWJpbGl0eSB0byBlZGl0IGFuZCBkZWxldGUgdXNlcnMuIHdpdGggc2VsZWN0aW9uIG9uIHRoZSBjaGVja2JveGVzLCBhbmQgJnF1b3Q7Y2hlY2thbGwmcXVvdDs8L3A+DQo8cD5Ob3cgcmVxdWlyZSBGRVVzZXJzIDAuMS44IGFuZCBDTVNNYWlsZXIgMS43My45PC9wPg0KPHA+QWRkZWQgYW5vdGhlciB0YWIgZm9yIHRoZSAmcXVvdDt5b3VyIHNldHRpbmdzIGhhdmUgYmVlbiBhZGp1c3RlZCZxdW90OyBlbWFpbCB0ZW1wbGF0ZXM8L3A+DQo8cD5BZGRlZCBDU1YgRXhwb3J0aW5nPC9wPg0KPHA+QWRkZWQgYSAmcXVvdDtEZWxldGUgYWxsIHVzZXJzIG9sZGVyIHRoYW4gYSBkYXkmcXVvdDsgYnV0dG9uPC9wPg0KPHA+Tm93IHdvcmtzIHdpdGggdGhlIG1heGltdW0gbGVuZ3RoIGZpZWxkIG9mIEZFVXNlcnM8L3A+DQo8cD5BZGRlZCBzdXBwb3J0IGZvciBkcm9wZG93bnMgYW5kIHRleHQgYXJlYXM8L3A+DQo8cD5EaXNhbGxvdyBwdW5jdHVhdGlvbiBjaGFyYWN0ZXJzIGluIHVzZXJuYW1lPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC4xLiAtIEZlYiAyMDA2PC9wPg0KPHA+QWRkZWQgdGhlIGFiaWxpdHkgZm9yIHVzZXJzIHRvIHJlcXVlc3QgYW5vdGhlciByZWdpc3RyYXRpb24gZW1haWwgKHVzZXMgdGhlIHNhbWUgY29kZSksIGluY2FzZSB0aGV5IGxvc3QgdGhlaXIgZmlyc3Qgb25lLjwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjAuMi4gLSBGZWIgMjAwNjwvcD4NCjxwPlRoZSAmcXVvdDtSZXF1aXJlIGVtYWlsIGNvbmZpcm1hdGlvbiZxdW90OyBjaGVja2JveCBub3cgd29ya3MuICBVc2VycyBhcmUgYWRkZWQgc3RyYWlnaHQgdG8gdGhlIGZyb250ZW5kIHVzZXJzIGRhdGFiYXNlPC9wPg0KPHA+Rml4ZWQgYSBidWcgd2l0aCB0aGUgY29uZmlybWF0aW9uIGVtYWlscyBoYXZpbmcgbGlua3MgdG8gdGhlIGFkbWluIHNlY3Rpb24gKG5ldyBidWcgb25seSkuPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC4zLiAtIEZlYiAyMDA2PC9wPg0KPHA+QWRkZWQgdGhlIChvcHRpb25hbCkgYWJpbGl0eSB0byByZXF1aXJlIHRoZSB1c2VyIGVudGVyIHRoZSBlbWFpbCBhZGRyZXNzIHR3aWNlPC9wPg0KPHA+Rml4ZWQgYSBidWcgd2l0aCB0aGUgdXNlcmVkaXRlZCBtZXNzYWdlIG5vdCBiZWluZyB0aHJvd24gdGhyb3VnaCBzbWFydHk8L3A+DQo8cD5GaXhlZCB0aGUgZGVmYXVsdCByZWdpc3RyYXRpb24gdGVtcGxhdGUgYSBiaXQgdG8gYWlkZSBpbiB2YWxpZGF0aW9uIGZvciBub24gcmVxdWlyZWQgZmllbGRzIChmaXhlZCBhIHdhcm5pbmcpPC9wPg0KPHA+Rml4IHByb2JsZW1zIHdpdGggaW5saW5lIGFuZCBub24taW5saW5lIGZvcm1zIGFuZCBsaW5rczwvcD4NCjxwPkhhbmRsZSBhbm90aGVyIGNhc2Ugd2hlcmUgdGhlIGFkbWluIG1heSBub3QgaGF2ZSBjcmVhdGVkIHRoZSBwcm9wZXIgdHlwZSBvZiBlbWFpbCBwcm9wZXJ0eTwvcD4NCjxwPkNoYW5nZWQgdG8gcmVxdWlyZSBDTVMgMC4xMi1iZXRhMiBhdCBhIG1pbmltdW0gKGZvciBzYWZldHkgcHVycG9zZXMpPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC40LiAtIE1hciAyMDA2PC9wPg0KPHA+TW9yZSBjb250cm9sIG92ZXIgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIGZpZWxkIHNpemVzIChjb250cm9sbGVkIGJ5IGZldXNlcnMpPC9wPg0KPHA+Q29uZmlybWF0aW9uIG9uIGVkaXRpbmcgcHJlZmVyZW5jZXM8L3A+DQo8cD5SZXF1aXJlIDAuMTIgcHJvcGVyIG9mIGNtcyBhcyBhIG1pbmltdW08L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4xLjAuIC0gRGVjIDIwMDY8L3A+DQogICAgPHA+QWRkZWQgZXZlbnRzIGFuZCAxLjAgY29tcGF0aWJpbGl0eTwvcD4NCiAgICA8cD5DYXB0Y2hhIHN1cHBvcnQgKHRoYW5rcyBEaXR0bWFuKTwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjEuMS4gLSBBcHIgMjAwNzwvcD4NCiAgICA8cD5Ob3cgcmVxdWlyZSBGRVVzZXJzIDEuMi4wIChtaW5pbXVtKTwvcD4NCiAgICA8cD5TdXBwb3J0IGZvciBtdWx0aXNlbGVjdCBsaXN0cyBpbiBmZXVzZXJzPC9wPg0KICAgIDxwPk91dHB1dCBzb21lIG1vcmUgZmllbGRzIHRvIHNtYXJ0eSB0byBhbGxvdyBmb3IgaW5jcmVhc2VkIGFjY2Vzc2liaWxpdHk8L3A+DQogICAgPHA+U3BsaXQgY29kZSBvdXQgaW50byBtdWx0aXBsZSBmaWxlcyB0byByZWR1Y2Ugb3ZlcmFsbCBtZW1vcnkgZm9vdHByaW50PC9wPg0KICAgIDxwPklnbm9yZSBhbGwgaW1hZ2UgZmllbGRzPC9wPg0KICAgIDxwPkNoYW5nZSBDYXB0Y2hhIHN1cHBvcnQgdG8gYmUgb24gYnkgZGVmYXVsdCBpZiB0aGUgQ2FwdGNoYSBtb2R1bGUgaXMgZm91bmQ8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4xLjIuIC0gTm92IDIwMDc8L3A+DQogICAgPHA+Rml4IHRoZSBwcm9ibGVtIHdpdGggdGhlIFVzZXJEaXNwbGF5TG9zdFJlZ0VtYWlsRm9ybSB0aGluZzwvcD4NCiAgICA8cD5BZGRzIHRoZSBpZCB0byB0aGUgb25Vc2VyUmVnaXN0ZXJlZCBFdmVudDwvcD4NCiAgICA8cD5GaXhlcyB0aGUgcHJvYmxlbSB3aXRoIGNoZWNrYm94IHByb3BlcnRpZXMgbm90IHdvcmtpbmc8L3A+DQogICAgPHA+Tm93IFJlcXVpcmVzIENNUyAxLjIgbWluaW11bTwvcD4NCiAgICA8cD5Zb3UgY2FuIG5vdyB1c2Uge1NlbGZSZWdpc3RyYXRpb24gZ3JvdXA9JiMwMzk7YmxhaCYjMDM5O308L3A+DQogICAgPHA+Tm93IFJlcXVpcmVzIENNUyAxLjMgbWluaW11bS48L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4xLjMuIC0gTm92IDIwMDc8L3A+DQogICAgPHA+Rml4ZXMgaXNzdWUgd2l0aCBTTVRQIEVtYWlsIGFkZHJlc3MgdmFsaWRhdGlvbjwvcD4NCiAgICA8cD5Ob3cgUmVxdWlyZSBGRVUgMS4zLjE8L3A+DQogICAgPHA+QWRkcyB0aGUgbm9pbmxpbmUgcGFyYW1ldGVyPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMS40LiAtIEphbiAyMDA4PC9wPg0KICAgIDxwPlNwbGl0cyBhIGZldyBtb3JlIGFjdGlvbnMgdXAgaW50byBzZXBlcmF0ZSBmaWxlczwvcD4NCiAgICA8cD5BZGRzIHByZWZlcmVuY2VzIGFuZCBiZWhhdmlvdXIgZm9yIHBhZ2VzIHRvIHJlZGlyZWN0IHRvIGFmdGVyIGEgdXNlciBpcyByZWdpc3RlcmVkLCBhbmQvb3IgdmVyaWZpZWQ8L3A+DQo8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPg0KPHA+VGhpcyBtb2R1bGUgaXMgZGVzaWduZWQgdG8gYWxsb3cgZnJvbnQgZW5kIHVzZXJzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMgYW5kIGZpbGwgaW4gdGhlIHJlcXVpcmVkIGluZm9ybWF0aW9uLiAgSXQgdGhlbiBzZW5kcyBhIGNvbmZpcm1hdGlvbiBlbWFpbCwgd2l0aCBhIGxpbmsgdG8gYSBzZWNvbmQgcGFnZSB0aGF0IG11c3QgYmUgY29tcGxldGVkIGJlZm9yZSB0aGUgcmVnaXN0cmF0aW9uIGlzIGNvbXBsZXRlLiAgT25jZSByZWdpc3RyYXRpb24gaXMgY29tcGxldGUsIGEgdXNlciBhY2NvdW50IGlzIGNyZWF0ZWQgaW4gdGhlIGZyb250IGVuZCB1c2VycyBtb2R1bGUuPC9wPg0KPHA+SW4gb3JkZXIgdG8gdXNlIHRoaXMgbW9kdWxlLCB5b3UgbXVzdCBjcmVhdGUgYSBwcm9wZXJ0eSBvZiB0eXBlICZxdW90O0VtYWlsIEFkZHJlc3MmcXVvdDsgaW4gdGhlIEZyb250ZW5kVXNlcnMgbW9kdWxlLCBhbmQgYXNzb2NpYXRlIHRoYXQgcHJvcGVydHkgd2l0aCB0aGUgZ3JvdXAgdG8gYmUgdXNlZCBmb3Igc2VsZiByZWdpc3RyYXRpb24uPC9wPg0KPGgzPkhvdyBEbyBJIFVzZSBJdDwvaDM+DQo8cD5Zb3UgcGxhY2UgdGhlIGZvbGxvd25nIHRhZyBpbnRvIHlvdXIgcGFnZSB7Y21zX21vZHVsZSBtb2R1bGU9U2VsZlJlZ2lzdHJhdGlvbiBncm91cD11c2VyZ3JvdXB9PC9wPg0KPHA+WW91IG11c3QgaGF2ZSBwcmV2aW91c2x5IGNyZWF0ZWQgcHJvcGVydGllcyBhbmQgdXNlciBncm91cHMgaW4gdGhlIEZyb250RW5kVXNlcnMgbW9kdWxlIGluIG9yZGVyIGZvciB0aGlzIHRvIHdvcmsgcHJvcGVybHkuPC9wPg0KPGgzPlBhcmFtZXRlcnM8L2gzPg0KPHA+PHN0cm9uZz5tb2RlPC9zdHJvbmc+Jm5ic3A7PGVtPm9wdGlvbmFsPC9lbT4gLSBwb3NzaWJsZSB2YWx1ZXMgYXJlICZxdW90O3NpZ251cCZxdW90OyBhbmQgJnF1b3Q7dmVyaWZ5JnF1b3Q7LiAgSWYgdGhpcyBwYXJhbWV0ZXIgaXMgbm90IHNwZWNpZmllZCwgJnF1b3Q7c2lnbnVwJnF1b3Q7IGlzIGFzc3VtYmVkLjwvcD4NCjxwPjxzdHJvbmc+Z3JvdXA8L3N0cm9uZz4mbmJzcDs8ZW0+b3B0aW9uYWw8L2VtPiAtIFRoaXMgcGFyYW1ldGVyIGlzIHJlcXVpcmVkIGlmIG1vZGUgaXMgJnF1b3Q7c2lnbnVwJnF1b3Q7LCBvciBpZiBtb2RlIGlzIGxlZnQgZW1wdHkuPC9wPg0KPHA+PHN0cm9uZz5ub2NhcHRjaGE8L3N0cm9uZz4mbmJzcDs8ZW0+b3B0aW9uYWw8L2VtPiAtIFRoaXMgd2lsbCBkaXNhYmxlIGNhcHRjaGEgb24gdGhlIHNpZ251cCBmb3JtLiBCeSBkZWZhdWx0LCBpZiB0aGUgQ2FwdGNoYSBtb2R1bGUgaXMgaW5zdGFsbGVkLCBjYXB0Y2hhIHN1cHBvcnQgaXMgcHJvdmlkZWQuICBUaGlzIHBhcmFtZXRlciBkaXNhYmxlcyBpdC48L3A+DQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+DQo8dWw+DQo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQgb3IgYnV5IGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHZpc2l0IGNhbGd1eSYjMDM5O3MNCm1vZHVsZSBob21lcGFnZSBhdCA8YSBocmVmPSZxdW90O2h0dHA6Ly90ZWNoY29tLmR5bmRucy5vcmcmcXVvdDs+dGVjaGNvbS5keW5kbnMub3JnPC9hPi48L2xpPg0KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0mcXVvdDtodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmcmcXVvdDs+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4NCjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9JnF1b3Q7aXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zJnF1b3Q7PkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4NCjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseS48L2xpPiAgDQo8L3VsPg0KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0DQpvZiB0aGUgbGljZW5zZSBmb3IgdGhlIGZ1bGwgZGlzY2xhaW1lci48L3A+DQoNCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA1LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSZxdW90O21haWx0bzpjYWxndXkxMDAwQGhvdG1haWwuY29tJnF1b3Q7PjxjYWxndXkxMDAwQGhvdG1haWwuY29tPjwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPlRoaXMgbW9kdWxlIGhhcyBiZWVuIHJlbGVhc2VkIHVuZGVyIHRoZSA8YSBocmVmPSZxdW90O2h0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCZxdW90Oz5HTlUgUHVibGljIExpY2Vuc2U8L2E+LiBZb3UgbXVzdCBhZ3JlZSB0byB0aGlzIGxpY2Vuc2UgYmVmb3JlIHVzaW5nIHRoZSBtb2R1bGUuPC9wPg0KJzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTE5NzQ0NTU1NS41My4xNS51dG1jY249KG9yZ2FuaWMpfHV0bWNzcj1nb29nbGV8dXRtY3RyPXRpbnkgbWVkaWEgcGx1Z2lufHV0bWNtZD1vcmdhbmljJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMTk5NzA3MTgzLjExODcxNzY5NzcuMTIwMDM4OTQzOC4xMjAwMzk3MjgzLjU3JzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNlbGZSZWdpc3RyYXRpb24gKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IHVzZXJzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMKIyAgd2l0aCBhIHdlYnNpdGUuCiMgCiMgVmVyc2lvbjogMS4xLjUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKewogICAgJGRiID0gJHRoaXMtPkdldERiKCk7CiAgICAkZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCRkYik7CiAgICAkdGFib3B0YXJyYXkgPSBhcnJheSgnbXlzcWwnID0+ICdUWVBFPU15SVNBTScpOwoKICAgIC8vIHZhbGlkYXRpb25zIGluIHByb2Nlc3MKICAgICRmbGRzID0gIgogICAgICAgICAgICAgaWQgSSBLRVksCiAgICAgICAgICAgICBncm91cF9pZCBJIE5PVCBOVUxMLAogICAgICAgICAgICAgdXNlcm5hbWUgQyg4MCkgTk9UIE5VTEwsCiAgICAgICAgICAgICBwYXNzc3dvcmQgQygzMikgTk9UIE5VTEwsCiAgICAgICAgICAgICBjb2RlIEMoMjApIE5PVCBOVUxMLAogICAgICAgICAgICAgY3JlYXRlZGF0ZSAiLkNNU19BRE9EQl9EVDsKICAgICRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zZWxmcmVnX3VzZXJzIiwgCgkJCQkgICAgICAkZmxkcywgJHRhYm9wdGFycmF5ICk7CiAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCAkc3FsYXJyYXkgKTsKICAgICRkYi0+Q3JlYXRlU2VxdWVuY2UoIGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3NlbGZyZWdfdXNlcnNfc2VxIiApOwoKICAgICRmbGRzID0gImlkIEkgS0VZLAogICAgICAgICAgICAgdXNlciBJIE5PVCBOVUxMLCAKICAgICAgICAgICAgIHRpdGxlIEMoMTAwKSBOT1QgTlVMTCwKICAgICAgICAgICAgIGRhdGEgQygyNTUpIAogICAgICAgICAgICAiOyAKICAgICRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zZWxmcmVnX3Byb3BlcnRpZXMiLAoJCQkJICAgICAgJGZsZHMsICR0YWJvcHRhcnJheSApOwogICAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSggJHNxbGFycmF5ICk7CiAgICAkZGItPkNyZWF0ZVNlcXVlbmNlKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zZWxmcmVnX3Byb3BlcnRpZXNfc2VxIiApOwoKIAogICAgLy8gcHJlZmVyZW5jZXMKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdyZXF1aXJlX2VtYWlsX2NvbmZpcm1hdGlvbicsMSk7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnc2VuZF9lbWFpbHNfdG8nLCdyb290QGxvY2FsaG9zdC5jb20nKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdub3RpZnlfb25fcmVnaXN0cmF0aW9uJywxKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdzZWxmcmVnX2VtYWlsY29uZmlybV9zdWJqZWN0JywKCQkJICR0aGlzLT5MYW5nKCdyZWdpc3RyYXRpb25fY29uZmlybWF0aW9uJykpOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3NlbGZyZWdfZW1haWx1c2VyZWRpdGVkX3N1YmplY3QnLAoJCQkgJHRoaXMtPkxhbmcoJ3JlZ2lzdHJhdGlvbl9pbmZvX2VkaXRlZCcpKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdzZWxmcmVnX2ZvcmNlX2VtYWlsX3R3aWNlJywwKTsKCiAgICAvLyB0ZW1wbGF0ZXMKICAgICR0aGlzLT5TZXRUZW1wbGF0ZSgnc2VsZnJlZ19yZWcxdGVtcGxhdGUnLCAkdGhpcy0+ZGZsdF9yZWdpc3RyYXRpb24xX3RlbXBsYXRlKTsKICAgICR0aGlzLT5TZXRUZW1wbGF0ZSgnc2VsZnJlZ19wb3N0cmVnMV90ZW1wbGF0ZScsICR0aGlzLT5kZmx0X3Bvc3RyZWcxX3RlbXBsYXRlKTsKICAgICR0aGlzLT5TZXRUZW1wbGF0ZSgnc2VsZnJlZ19yZWcydGVtcGxhdGUnLCAkdGhpcy0+ZGZsdF9yZWdpc3RyYXRpb24yX3RlbXBsYXRlKTsKICAgICR0aGlzLT5TZXRUZW1wbGF0ZSgnc2VsZnJlZ19lbWFpbGNvbmZpcm1fdGVtcGxhdGUnLCAkdGhpcy0+ZGZsdF9lbWFpbGNvbmZpcm1fdGVtcGxhdGUpOwogICAgJHRoaXMtPlNldFRlbXBsYXRlKCdzZWxmcmVnX2VtYWlsY29uZmlybV90ZXh0dGVtcGxhdGUnLCAkdGhpcy0+ZGZsdF9lbWFpbGNvbmZpcm1fdGV4dHRlbXBsYXRlKTsKICAgICR0aGlzLT5TZXRUZW1wbGF0ZSgnc2VsZnJlZ19lbWFpbHVzZXJlZGl0ZWRfdGVtcGxhdGUnLCAkdGhpcy0+ZGZsdF9lbWFpbHVzZXJlZGl0ZWRfdGVtcGxhdGUpOwogICAgJHRoaXMtPlNldFRlbXBsYXRlKCdzZWxmcmVnX2VtYWlsdXNlcmVkaXRlZF90ZXh0dGVtcGxhdGUnLCAkdGhpcy0+ZGZsdF9lbWFpbHVzZXJlZGl0ZWRfdGV4dHRlbXBsYXRlKTsKICAgICR0aGlzLT5TZXRUZW1wbGF0ZSgnc2VsZnJlZ19maW5hbG1lc3NhZ2VfdGVtcGxhdGUnLCAkdGhpcy0+ZGZsdF9maW5hbG1lc3NhZ2VfdGVtcGxhdGUpOwogICAgJHRoaXMtPlNldFRlbXBsYXRlKCdzZWxmcmVnX3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnLCAkdGhpcy0+ZGZsdF9zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlICk7CiAgICAkdGhpcy0+U2V0VGVtcGxhdGUoJ3NlbGZyZWdfcG9zdF9zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJywgJHRoaXMtPmRmbHRfcG9zdF9zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlICk7CgogICAgLy8gUGVybWlzc2lvbnMKICAgICR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKCdNYW5hZ2UgUmVnaXN0ZXJpbmcgVXNlcnMnLAoJCQkgICAgJ01hbmFnZSBSZWdpc3RlcmluZyBVc2VycycpOwoKICAgIC8vIGV2ZW50cwogICAgJHRoaXMtPkNyZWF0ZUV2ZW50KCdvbk5ld1VzZXInKTsKICAgICR0aGlzLT5DcmVhdGVFdmVudCgnb25Vc2VyUmVnaXN0ZXJlZCcpOwp9Cj8+]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNlbGZSZWdpc3RyYXRpb24gKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IHVzZXJzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMKIyAgd2l0aCBhIHdlYnNpdGUuCiMgCiMgVmVyc2lvbjogMS4xLjUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKewogICAgJGRiID0gJHRoaXMtPkdldERiKCk7CiAgICAkZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCAkZGIgKTsKICAgICRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoIGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3NlbGZyZWdfdXNlcnMiICk7CiAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiAgICAkc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zZWxmcmVnX3Byb3BlcnRpZXMiICk7CiAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiAgICAkZGItPkRyb3BTZXF1ZW5jZSggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc2VsZnJlZ191c2Vyc19zZXEiICk7CiAgICAkZGItPkRyb3BTZXF1ZW5jZSggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc2VsZnJlZ19wcm9wZXJ0aWVzX3NlcSIgKTsKCiAgICAvLyBwcmVmZXJlbmNlcwogICAgJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoKTsKCiAgICAvLyB0ZW1wbGF0ZXMKICAgICR0aGlzLT5EZWxldGVUZW1wbGF0ZSgpOwoKICAgIC8vIHBlcm1pc3Npb25zCiAgICAkdGhpcy0+UmVtb3ZlUGVybWlzc2lvbignTW9kaWZ5IFNlbGZSZWdpc3RyYXRpb24nKTsKICAgICR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKCdNYW5hZ2UgUmVnaXN0ZXJpbmcgVXNlcnMnKTsKCiAgICAvLyBldmVudHMKICAgICR0aGlzLT5SZW1vdmVFdmVudCgnb25OZXdVc2VyJyk7CiAgICAkdGhpcy0+UmVtb3ZlRXZlbnQoJ29uVXNlclJlZ2lzdGVyZWQnKTsKfQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNlbGZSZWdpc3RyYXRpb24gKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IHVzZXJzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMKIyAgd2l0aCBhIHdlYnNpdGUuCiMgCiMgVmVyc2lvbjogMS4xLjUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKewogICAgLy8gdGhpcyBwcmVmZXJlbmNlIGlzIG5vIGxvbmdlciBuZWVkZWQKICBzd2l0Y2goICRvbGR2ZXJzaW9uICkKICAgIHsKICAgIGNhc2UgJzEuMC4zJzoKICAgICAgewoJJHRoaXMtPlNldFByZWZlcmVuY2UoJ3NlbGZyZWdfZW1haWxjb25maXJtX3N1YmplY3QnLAoJCQkgICAgICR0aGlzLT5MYW5nKCdyZWdpc3RyYXRpb25fY29uZmlybWF0aW9uJykpOwoJJHRoaXMtPlNldFRlbXBsYXRlKCdzZWxmcmVnX2VtYWlsY29uZmlybV90ZXh0dGVtcGxhdGUnLCAkdGhpcy0+ZGZsdF9lbWFpbGNvbmZpcm1fdGV4dHRlbXBsYXRlKTsKCQoJJHRoaXMtPlNldFByZWZlcmVuY2UoJ3NlbGZyZWdfdXNlcmVkaXRlZF9zdWJqZWN0JywKCQkJICAgICAkdGhpcy0+TGFuZygncmVnaXN0cmF0aW9uX2NvbmZpcm1hdGlvbicpKTsKCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdzZWxmcmVnX2ZvcmNlX2VtYWlsX3R3aWNlJywwKTsKCSR0aGlzLT5TZXRUZW1wbGF0ZSgnc2VsZnJlZ191c2VyZWRpdGVkX3RlbXBsYXRlJywgJHRoaXMtPmRmbHRfZW1haWx1c2VyZWRpdGVkX3RlbXBsYXRlKTsKCSR0aGlzLT5TZXRUZW1wbGF0ZSgnc2VsZnJlZ191c2VyZWRpdGVkX3RleHR0ZW1wbGF0ZScsICR0aGlzLT5kZmx0X2VtYWlsdXNlcmVkaXRlZF90ZXh0dGVtcGxhdGUpOwoJJHRoaXMtPlNldFRlbXBsYXRlKCdzZWxmcmVnX3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnLCAkdGhpcy0+ZGZsdF9zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlICk7CgkkdGhpcy0+U2V0VGVtcGxhdGUoJ3NlbGZyZWdfcG9zdF9zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJywgJHRoaXMtPmRmbHRfcG9zdF9zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlICk7CgkKCS8vIFBlcm1pc3Npb25zCgkkdGhpcy0+UmVtb3ZlUGVybWlzc2lvbignTW9kaWZ5IFNlbGZSZWdpc3RyYXRpb24nKTsKCSR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKCdNYW5hZ2UgUmVnaXN0ZXJpbmcgVXNlcnMnLAoJCQkJJ01hbmFnZSBSZWdpc3RlcmluZyBVc2VycycpOwoJLy8gbm90aWNlLCBubyBicmVyYWsKICAgICAgfQogICAgICAKICAgIGNhc2UgJzEuMC40JzoKICAgICAgewoJJHRoaXMtPkNyZWF0ZUV2ZW50KCdvbk5ld1VzZXInKTsKCSR0aGlzLT5DcmVhdGVFdmVudCgnb25Vc2VyUmVnaXN0ZXJlZCcpOwogICAgICB9CiAgICB9Cgp9Cj8+]]></data>
	</file>
	<file>
	  <filename>/SelfRegistration.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNlbGZSZWdpc3RyYXRpb24gKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IHVzZXJzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMKIyAgd2l0aCBhIHdlYnNpdGUuCiMgCiMgVmVyc2lvbjogMS4yCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKCnJlcXVpcmVfb25jZShkaXJuYW1lKF9fRklMRV9fKS4iL2Z1bmN0aW9ucy5waHAiICk7CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpjbGFzcyBTZWxmUmVnaXN0cmF0aW9uIGV4dGVuZHMgQ01TTW9kdWxlCnsKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBUaGUgZGVmYXVsdCB0ZW1wbGF0ZSB1c2VkIGZvciB0aGUgZmlyc3QgcmVnaXN0cmF0aW9uIGZvcm0KICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICB2YXIgJGRmbHRfcmVnaXN0cmF0aW9uMV90ZW1wbGF0ZSA9ICcKPCEtLSBSZWdpc3RyYXRpb24gMSB0ZW1wbGF0ZSAtLT4KeyR0aXRsZX0Ke2lmIGlzc2V0KCRtZXNzYWdlKSAmJiAkbWVzc2FnZSAhPSBcJ1wnfQogIHtpZiBpc3NldCgkZXJyb3IpICYmICRlcnJvciAhPSBcJ1wnfQogICAgPHA+PGZvbnQgY29sb3I9InJlZCI+eyRtZXNzYWdlfTwvZm9udD48L3A+CiAge2Vsc2V9CiAgICA8cD57JG1lc3NhZ2V9PC9wPgogIHsvaWZ9CnsvaWZ9Cnskc3RhcnRmb3JtfQp7aWYgJGNvbnRyb2xjb3VudCA+IDB9CiAgPGNlbnRlcj4KICA8dGFibGUgd2lkdGg9Ijc1JSI+Cntmb3JlYWNoIGZyb209JGNvbnRyb2xzIGl0ZW09Y29udHJvbH0KICA8dHI+CiAgICA8dGQ+eyRjb250cm9sLT5oaWRkZW59CiAgICB7aWYgJGNvbnRyb2wtPmNvbG9yICE9IFwnXCd9CiAgICAgIDxmb250IGNvbG9yPSJ7JGNvbnRyb2wtPmNvbG9yfSI+eyRjb250cm9sLT5wcm9tcHR9eyRjb250cm9sLT5tYXJrZXJ9PC9mb250PgogICAge2Vsc2V9CiAgICAgIHskY29udHJvbC0+cHJvbXB0fXskY29udHJvbC0+bWFya2VyfQogICAgey9pZn0KICAgIDwvdGQ+CiAgICA8dGQ+eyRjb250cm9sLT5jb250cm9sfTwvdGQ+CiAgPC90cj4Key9mb3JlYWNofQogIDwvdGFibGU+CiAgPC9jZW50ZXI+Cjxici8+CnsvaWZ9CntpZiBpc3NldCgkY2FwdGNoYSl9CnskY2FwdGNoYV90aXRsZX06IHskaW5wdXRfY2FwdGNoYX08YnIgLz4KICB7JGNhcHRjaGF9PGJyIC8+CnsvaWZ9CiB7JGhpZGRlbn17aWYgaXNzZXQoJGhpZGRlbjIpfXskaGlkZGVuMn17L2lmfXskc3VibWl0fTxici8+CnskbXNnX3NlbmRhbm90aGVyZW1haWx9Jm5ic3A7eyRsaW5rX3NlbmRhbm90aGVyZW1haWx9CnskZW5kZm9ybX0KPCEtLSBSZWdpc3RyYXRpb24gMSB0ZW1wbGF0ZSAtLT4KICc7CgogIHZhciAkZGZsdF9wb3N0cmVnMV90ZW1wbGF0ZSA9ICcKPCEtLSBQb3N0IFJlZ2lzdHJhdGlvbiAxIHRlbXBsYXRlIC0tPgp7JHRpdGxlfQp7aWYgaXNzZXQoJG1lc3Nhc2dlKSAmJiAkbWVzc2FnZSAhPSBcJ1wnfQogIHtpZiBpc3NldCgkZXJyb3IpICYmICRlcnJvciAhPSBcJ1wnfQogICAgPHA+PGZvbnQgY29sb3I9InJlZCI+eyRtZXNzYWdlfTwvZm9udD48L3A+CiAge2Vsc2V9CiAgICA8cD57JG1lc3NhZ2V9PC9wPgogIHsvaWZ9CnsvaWZ9CjxwPlRoYW5rIHlvdSB7JHVzZXJuYW1lfSBmb3IgcmVnaXN0ZXJpbmcgd2l0aCB7JHNpdGVuYW1lfS4gIEFuIGVtYWlsIGhhcyBiZWVuIHNlbnQgdG8geyRlbWFpbH0gd2l0aCBpbnN0cnVjdGlvbnMgb24gaG93IHRvIGNvbnRpbnVlIHRoZSByZWdpc3RyYXRpb24gcHJvY2VzczwvcD4KPCEtLSBQb3N0IFJlZ2lzdHJhdGlvbiAxIHRlbXBsYXRlIC0tPgonOwoKICB2YXIgJGRmbHRfcmVnaXN0cmF0aW9uMl90ZW1wbGF0ZSA9ICcKPCEtLSBSZWdpc3RyYXRpb24gMSB0ZW1wbGF0ZSAtLT4KeyR0aXRsZX0Ke2lmIGlzc2V0KCRtZXNzc2FnZSkgJiYgJG1lc3NhZ2UgIT0gXCdcJ30KICB7aWYgaXNzZXQoJGVycm9yKSAmJiAkZXJyb3IgIT0gXCdcJ30KICAgIDxwPjxmb250IGNvbG9yPSJyZWQiPnskbWVzc2FnZX08L2ZvbnQ+PC9wPgogIHtlbHNlfQogICAgPHA+eyRtZXNzYWdlfTwvcD4KICB7L2lmfQp7L2lmfQp7JHN0YXJ0Zm9ybX0KICA8Y2VudGVyPgogIDx0YWJsZSB3aWR0aD0iNzUlIj4KICA8dHI+CiAgICA8dGQ+eyRwcm9tcHRfdXNlcm5hbWV9PC9mb250PgogICAgPC90ZD4KICAgIDx0ZD57JGlucHV0X3VzZXJuYW1lfTwvdGQ+CiAgPC90cj4KICA8dHI+CiAgICA8dGQ+eyRwcm9tcHRfcGFzc3dvcmR9PC9mb250PgogICAgPC90ZD4KICAgIDx0ZD57JGlucHV0X3Bhc3N3b3JkfTwvdGQ+CiAgPC90cj4KICA8dHI+CiAgICA8dGQ+eyRwcm9tcHRfY29kZX08L2ZvbnQ+CiAgICA8L3RkPgogICAgPHRkPnskaW5wdXRfY29kZX08L3RkPgogIDwvdHI+CiAgPC90YWJsZT4KICA8L2NlbnRlcj4KPGJyLz4KIHskaGlkZGVufXskaGlkZGVuMn17JHN1Ym1pdH0KeyRlbmRmb3JtfQo8IS0tIFJlZ2lzdHJhdGlvbiAyIHRlbXBsYXRlIC0tPgogJzsgIAoKICB2YXIgJGRmbHRfZW1haWxjb25maXJtX3RlbXBsYXRlID0gJwo8IS0tIEVtYWlsQ29uZmlybSB0ZW1wbGF0ZSAtLT4KPGh0bWw+Cjxib2R5Pgo8cD5HcmVldGluZ3MgeyRuYW1lfSB3ZWxjb21lIHRvIHRoZSBzaXRlLiAgVGhpcyBlbWFpbCBpcyBiZWluZyBzZW50IGJlY2F1c2Ugc29tZWJvZHkgcmVnaXN0ZXJlZCBmb3IgYWNjZXNzIHRvIHskc2l0ZW5hbWV9IHVzaW5nIHRoaXMgZW1haWwgYWRkcmVzcy4gSWYgdGhpcyB3YXMgeW91LCBwbGVhc2UgY2xpY2sgb24gdGhlIGZvbGxvd2luZyBsaW5rIGFuZCBlbnRlciB5b3VyIHVzZXJuYW1lLCBwYXNzd29yZCwgYW5kIHRoZSB1bmlxdWUgY29kZSBiZWxvdzwvcD4KICAgPHA+Rm9sbG93IHRoaXMgbGluazogeyRsaW5rfTwvcD4KICAgPHA+b3IgdGhpcyBsaW5rOiB7JHNtYWxsbGlua308L3A+CiAgIDxwPkNvZGU6IHskY29kZX08L3A+CjwvYm9keT4KPC9odG1sPgo8IS0tIEVtYWlsQ29uZmlybSB0ZW1wbGF0ZSAtLT4KJzsKCiAgdmFyICRkZmx0X2VtYWlsY29uZmlybV90ZXh0dGVtcGxhdGUgPSAnCkdyZWV0aW5ncyB7JG5hbWV9IHdlbGNvbWUgdG8gdGhlIHNpdGUuICBUaGlzIGVtYWlsIGlzIGJlaW5nIHNlbnQgYmVjYXVzZSBzb21lYm9keSByZWdpc3RlcmVkIGZvciBhY2Nlc3MgdG8geyRzaXRlbmFtZX0gdXNpbmcgdGhpcyBlbWFpbCBhZGRyZXNzLiBJZiB0aGlzIHdhcyB5b3UsIHBsZWFzZSBjbGljayBvbiB0aGUgZm9sbG93aW5nIGxpbmsgYW5kIGVudGVyIHlvdXIgdXNlcm5hbWUsIHBhc3N3b3JkLCBhbmQgdGhlIHVuaXF1ZSBjb2RlIGJlbG93LgoKRm9sbG93IHRoaXMgbGluazogeyR1cmx9Cm9yIHRoaXMgbGluazogeyRzbWFsbHVybH08L3A+CkNvZGU6IHskY29kZX0KJzsKCiAgdmFyICRkZmx0X2VtYWlsdXNlcmVkaXRlZF90ZW1wbGF0ZSA9ICcKPCEtLSBFbWFpbFVzZXJFZGl0ZWQgdGVtcGxhdGUgLS0+CjxodG1sPgo8Ym9keT4KPHA+R3JlZXRpbmdzIHskbmFtZX0gd2VsY29tZSB0byB0aGUgc2l0ZS4gIFRoaXMgZW1haWwgaXMgYmVpbmcgc2VudCBiZWNhdXNlLCBhbHRob3VnaCB5b3UgaGF2ZSBhbHJlYWR5IHJlZ2lzdGVyZWQgd2l0aCB7JHNpdGVuYW1lfSwgdGhlcmUgd2FzIGFuIGVycm9yIGluIHlvdXIgaW5wdXQuICBUaGUgYWRtaW5pc3RyYXRvciBoYXMgZG9uZSBoaXMgYmVzdCB0byBjb3JyZWN0IHRoaXMgZGF0YSwgYW5kIHlvdSBhcmUgbm93IGJlaW5nIHNlbnQgYW4gdXBkYXRlZCByZWdpc3RyYXRpb24gZm9ybS4gUGxlYXNlIGNsaWNrIG9uIHRoZSBmb2xsb3dpbmcgbGluayBhbmQgZW50ZXIgeW91ciB1c2VybmFtZSwgcGFzc3dvcmQsIGFuZCB0aGUgdW5pcXVlIGNvZGUgYmVsb3c8L3A+CiAgIDxwPkZvbGxvdyB0aGlzIGxpbms6IHskbGlua308L3A+CiAgIDxwPm9yIHRoaXMgbGluazogeyRzbWFsbGxpbmt9PC9wPgogICA8cD5QYXNzd29yZDogeyRwYXNzd29yZH08L3A+CiAgIDxwPkNvZGU6IHskY29kZX08L3A+CjwvYm9keT4KPC9odG1sPgo8IS0tIEVtYWlsVXNlckVkaXRlZCB0ZW1wbGF0ZSAtLT4KJzsKCiAgdmFyICRkZmx0X2VtYWlsdXNlcmVkaXRlZF90ZXh0dGVtcGxhdGUgPSAnCkdyZWV0aW5ncyB7JG5hbWV9IHdlbGNvbWUgdG8gdGhlIHNpdGUuICBUaGlzIGVtYWlsIGlzIGJlaW5nIHNlbnQgYmVjYXVzZSwgYWx0aG91Z2ggeW91IGhhdmUgYWxyZWFkeSByZWdpc3RlcmVkIHdpdGggeyRzaXRlbmFtZX0sIHRoZXJlIHdhcyBhbiBlcnJvciBpbiB5b3VyIGlucHV0LiAgVGhlIGFkbWluaXN0cmF0b3IgaGFzIGRvbmUgaGlzIGJlc3QgdG8gY29ycmVjdCB0aGlzIGRhdGEsIGFuZCB5b3UgYXJlIG5vdyBiZWluZyBzZW50IGFuIHVwZGF0ZWQgcmVnaXN0cmF0aW9uIGZvcm0uIFBsZWFzZSBjbGljayBvbiB0aGUgZm9sbG93aW5nIGxpbmsgYW5kIGVudGVyIHlvdXIgdXNlcm5hbWUsIHBhc3N3b3JkLCBhbmQgdGhlIHVuaXF1ZSBjb2RlIGJlbG93CiAgIEZvbGxvdyB0aGlzIGxpbms6IHskdXJsfQogICAgIG9yIHRoaXMgbGluazogeyRzbWFsbHVybH08L3A+CiAgIFBhc3N3b3JkOiB7JHBhc3N3b3JkfQogICBDb2RlOiB7JGNvZGV9Cic7CgogIHZhciAkZGZsdF9maW5hbG1lc3NhZ2VfdGVtcGxhdGUgPSAnCjwhLS0gRmluYWxNZXNzYWdlIFRlbXBsYXRlIC0tPgo8cD5XZWxjb21lIHskdXNlcm5hbWV9IHRvIHskc2l0ZW5hbWV9LiAgWW91ciByZWdpc3RyYXRpb24gaXMgY29tcGxldGUuICBQbGVhc2UgbG9naW4gdG8gY29udGludWU8L3A+CjwhLS0gRmluYWxNZXNzYWdlIFRlbXBsYXRlIC0tPgogICc7CgogIHZhciAkZGZsdF9zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlID0gJwo8IS0tIFNlbmRBbm90aGVyRW1haWwgVGVtcGxhdGUgLS0+CnskdGl0bGV9CntpZiBpc3NldCgkbWVzc2FnZSkgJiYgJG1lc3NhZ2UgIT0gXCdcJ30KICB7aWYgaXNzZXQoJG1lc3NhZ2UpICYmICRlcnJvciAhPSBcJ1wnfQogICAgPHA+PGZvbnQgY29sb3I9InJlZCI+eyRtZXNzYWdlfTwvZm9udD48L3A+CiAge2Vsc2V9CiAgICA8cD57JG1lc3NhZ2V9PC9wPgogIHsvaWZ9CnsvaWZ9CjxwPkkgZGlkblwndCByZWNlaXZlIG15IGNvbmZpcm1hdGlvbiBlbWFpbCwgcGxlYXNlIHNlbmQgYW5vdGhlciBvbmUuPC9wPgo8cD5NeSBVc2VybmFtZSBpczogeyRzdGFydGZvcm19eyRpbnB1dF91c2VybmFtZX0mbmJzcDt7JHN1Ym1pdH17JGVuZGZvcm19PC9wPgo8IS0tIFNlbmRBbm90aGVyRW1haWwgVGVtcGxhdGUgLS0+CiAgJzsKCiAgdmFyICRkZmx0X3Bvc3Rfc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSA9ICcKPCEtLSBQb3N0IFNlbmRBbm90aGVyRW1haWwgdGVtcGxhdGUgLS0+CnskdGl0bGV9CntpZiBpc3NldCgkbWVzc2FnZSkgJiYgJG1lc3NhZ2UgIT0gXCdcJ30KICB7aWYgaXNzZXQoJGVycm9yKSAmJiAkZXJyb3IgIT0gXCdcJ30KICAgIDxwPjxmb250IGNvbG9yPSJyZWQiPnskbWVzc2FnZX08L2ZvbnQ+PC9wPgogIHtlbHNlfQogICAgPHA+eyRtZXNzYWdlfTwvcD4KICB7L2lmfQp7L2lmfQo8cD5UaGFuayB5b3UgeyR1c2VybmFtZX0gZm9yIHJlZ2lzdGVyaW5nIHdpdGggeyRzaXRlbmFtZX0uICBXZSBhcmUgc29ycnkgeW91IGhhZCBkaWZmaWN1bHR5IHJlY2VpdmluZyB5b3VyIGVtYWlsLiAgQSBzZWNvbmQgZW1haWwgaGFzIGJlZW4gc2VudCB0byB7JGVtYWlsfSB3aXRoIGluc3RydWN0aW9ucyBvbiBob3cgdG8gY29udGludWUgdGhlIHJlZ2lzdHJhdGlvbiBwcm9jZXNzPC9wPgo8IS0tIFBvc3QgU2VuZEFub3RoZXJFbWFpbCB0ZW1wbGF0ZSAtLT4KJzsKCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldE5hbWUoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldE5hbWUoKQogIHsKICAgIHJldHVybiAnU2VsZlJlZ2lzdHJhdGlvbic7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0RnJpZW5kbHlOYW1lKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRGcmllbmRseU5hbWUoKQogIHsKICAgIHJldHVybiAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyk7CiAgfQoKCQogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIE1pbmltdW1DTVNWZXJzaW9uKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBNaW5pbXVtQ01TVmVyc2lvbigpCiAgewogICAgcmV0dXJuICIxLjIuMyI7CiAgfQoKICAKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRWZXJzaW9uKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRWZXJzaW9uKCkKICB7CiAgICByZXR1cm4gJzEuMic7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0SGVscCgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0SGVscCgpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdoZWxwJyk7CiAgfQoKICAKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRBdXRob3IoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldEF1dGhvcigpCiAgewogICAgcmV0dXJuICdDYWxndXkxMDAwJzsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRBdXRob3JFbWFpbCgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0QXV0aG9yRW1haWwoKQogIHsKICAgIHJldHVybiAnY2FsZ3V5MTAwMEBob3RtYWlsLmNvbSc7CiAgfQoKICAKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRDaGFuZ2VMb2coKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldENoYW5nZUxvZygpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdjaGFuZ2Vsb2cnKTsKICB9CgogIAogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIElzUGx1Z2luTW9kdWxlKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBJc1BsdWdpbk1vZHVsZSgpCiAgewogICAgcmV0dXJuIHRydWU7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgSGFzQWRtaW4oKQogICBUaGlzIGZ1bmN0aW9uIHJldHVybnMgYSBib29sZWFuIHZhbHVlLCBkZXBlbmRpbmcgb24KICAgd2hldGhlciB5b3VyIG1vZHVsZSBhZGRzIGFueXRoaW5nIHRvIHRoZSBBZG1pbiBhcmVhIG9mCiAgIHRoZSBzaXRlLiBGb3IgdGhlIHJlc3Qgb2YgdGhlc2UgY29tbWVudHMsIEknbGwgYmUgY2FsbGluZwogICB0aGUgYWRtaW4gcGFydCBvZiB5b3VyIG1vZHVsZSB0aGUgIkFkbWluIFBhbmVsIiBmb3IKICAgd2FudCBvZiBhIGJldHRlciB0ZXJtLgogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEhhc0FkbWluKCkKICB7CiAgICByZXR1cm4gdHJ1ZTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRBZG1pblNlY3Rpb24oKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldEFkbWluU2VjdGlvbigpCiAgewogICAgcmV0dXJuICd1c2Vyc2dyb3Vwcyc7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0RXZlbnREZXNjcmlwdGlvbigpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0RXZlbnREZXNjcmlwdGlvbiggJGV2ZW50bmFtZSApCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdldmVudF9kZXNjcmlwdGlvbl8nLiRldmVudG5hbWUgKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRFdmVudERlc2NyaXB0aW9uKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRFdmVudEhlbHAoICRldmVudG5hbWUgKQogIHsKICAgIHJldHVybiAkdGhpcy0+TGFuZygnZXZlbnRfaGVscF8nLiRldmVudG5hbWUgKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRBZG1pbkRlc2NyaXB0aW9uKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRBZG1pbkRlc2NyaXB0aW9uKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ21vZGRlc2NyaXB0aW9uJyk7CiAgfQogIAoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBWaXNpYmxlVG9BZG1pblVzZXIoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIFZpc2libGVUb0FkbWluVXNlcigpCiAgewogICAgJHN0YXR1cyA9ICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBSZWdpc3RlcmluZyBVc2VycycpCiAgICAgIHx8ICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBTaXRlIFByZWZlcmVuY2VzJykKICAgICAgfHwgJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFRlbXBsYXRlcycpOwogICAgcmV0dXJuICRzdGF0dXM7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0RGVwZW5kZW5jaWVzKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXREZXBlbmRlbmNpZXMoKQogIHsKICAgIHJldHVybiBhcnJheSggJ0NNU01haWxlcicgPT4gJzEuNzMuOScsCgkJICAnRnJvbnRFbmRVc2VycycgPT4gJzEuNC4yJyApOwogIH0KICAKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgU2V0UGFyYW1ldGVycygpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gU2V0UGFyYW1ldGVycygpCiAgewogICAgJHRoaXMtPlJlZ2lzdGVyTW9kdWxlUGx1Z2luKCk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnbW9kZScsQ0xFQU5fU1RSSU5HKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdub2NhcHRjaGEnLENMRUFOX0lOVCk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnZ3JvdXAnLENMRUFOX1NUUklORyk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnbm9pbmxpbmUnLENMRUFOX0lOVCk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgSW5zdGFsbFBvc3RNZXNzYWdlKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBJbnN0YWxsUG9zdE1lc3NhZ2UoKQogIHsKICAgIC8vIHBlcm1pc3Npb25zCiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ3Bvc3RpbnN0YWxsJyk7CgogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIFVuaW5zdGFsbFBvc3RNZXNzYWdlKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBVbmluc3RhbGxQb3N0TWVzc2FnZSgpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdwb3N0dW5pbnN0YWxsJyk7CiAgfQoKCiAgZnVuY3Rpb24gbXlHZXRQYWdlTmFtZSggJGFsaWFzb3JpZCApCiAgewogICAgJG9iaiA9IENvbnRlbnRNYW5hZ2VyOjpMb2FkUGFnZUZyb21BbGlhcyggJGFsaWFzb3JpZCApOwogICAgcmV0dXJuICRvYmotPk5hbWUoKTsKICB9CgoKICBmdW5jdGlvbiBteVJlZGlyZWN0VG9UYWIoICRpZCwgJHRhYiwgJHBhcmFtcyA9ICcnICkKICB7CiAgICAkcGFybXMgPSBhcnJheSgpOwogICAgaWYoIGlzX2FycmF5KCAkcGFyYW1zICkgKQogICAgICB7CgkkcGFybXMgPSAkcGFyYW1zOwogICAgICB9CiAgICAkcGFybXNbJ2FjdGl2ZV90YWInXSA9ICR0YWI7CiAgICAkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZGVmYXVsdGFkbWluJywgJycsICRwYXJtcyApOwogIH0KCgogIGZ1bmN0aW9uIG15UmVkaXJlY3QoICRpZCwgJGFjdGlvbiwgJHJldHVybmlkLCAkcGFyYW1zID0gJycgKQogIHsKICAgIC8vIHVuc2V0IGFueSBwYXNzd29yZCB0aGluZ3MgCiAgICB1bnNldCggJHBhcmFtc1snaGlkZGVuX3Bhc3N3b3JkJ10gKTsKICAgIHVuc2V0KCAkcGFyYW1zWydoaWRkZW5fcmVwZWF0cGFzc3dvcmQnXSApOwogICAgdW5zZXQoICRwYXJhbXNbJ2lucHV0X3Bhc3N3b3JkJ10gKTsKICAgIHVuc2V0KCAkcGFyYW1zWydpbnB1dF9yZXBlYXRwYXNzd29yZCddICk7CiAgICB1bnNldCggJHBhcmFtc1sncGFzc3dvcmQnXSApOwogICAgdW5zZXQoICRwYXJhbXNbJ3JlcGVhdHBhc3N3b3JkJ10gKTsKCiAgICB1bnNldCggJHBhcmFtc1snYWN0aW9uJ10gKTsKICAgICR0aGlzLT5SZWRpcmVjdCggJGlkLCAkYWN0aW9uLCAkcmV0dXJuaWQsICRwYXJhbXMsIHRydWUgKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBEb0FjdGlvbigkYWN0aW9uLCAkaWQsICRwYXJhbXMsICRyZXR1cm5faWQpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gRG9BY3Rpb24oJGFjdGlvbiwgJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQ9LTEpCiAgewogICAgc3dpdGNoICgkYWN0aW9uKQogICAgICB7CiAgICAgIGNhc2UgJ2RlbGV0ZXRlbXB1c2VyJzoKCXsKCSAgaWYoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBSZWdpc3RlcmluZyBVc2VycycgKSApCgkgICAgewoJICAgICAgJHRoaXMtPl9Eb0RlbGV0ZVVzZXIoICRpZCwgJHBhcmFtcywgJHJldHVybmlkICk7CgkgICAgfQoJICBlbHNlCgkgICAgewoJICAgICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAKCQkJCSAgICAgICAkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwoJICAgIH0KCSAgYnJlYWs7Cgl9CiAgICAgIGNhc2UgJ2RvX2RlbGV0ZXVzZXJzYnVsayc6Cgl7CgkgIGlmKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgUmVnaXN0ZXJpbmcgVXNlcnMnICkgKQoJICAgIHsKCSAgICAgICR0aGlzLT5fRG9EZWxldGVCdWxrVXNlcnMoICRpZCwgJHBhcmFtcywgJHJldHVybmlkICk7CgkgICAgfQoJICBlbHNlCgkgICAgewoJICAgICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAKCQkJCSAgICAgICAkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwoJICAgIH0KCSAgYnJlYWs7Cgl9CiAgICAgIGNhc2UgJ3NlbmRhbm90aGVyZW1haWwnOgoJewoJICAkdGhpcy0+X1NlbmRBbm90aGVyUmVnRW1haWwoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQgKTsKCSAgYnJlYWs7Cgl9CiAgICAgIGNhc2UgJ3NldF9yZWcxdGVtcGxhdGUnOgoJewoJICBpZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbiggJ01vZGlmeSBUZW1wbGF0ZXMnICkgKQoJICAgIHsKCSAgICAgICR0aGlzLT5fU2V0QWRtaW5SZWcxVGVtcGxhdGUoICRpZCwgJHBhcmFtcywgJHJldHVybmlkICk7CgkgICAgfQoJICBlbHNlCgkgICAgewoJICAgICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAKCQkJCSAgICAgICAkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwoJICAgIH0KCSAgYnJlYWs7Cgl9CiAgICAgIGNhc2UgJ3NldF9yZWcydGVtcGxhdGUnOgoJewoJICBpZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbiggJ01vZGlmeSBUZW1wbGF0ZXMnICkgKQoJICAgIHsKCSAgICAgICR0aGlzLT5fU2V0QWRtaW5SZWcyVGVtcGxhdGUoICRpZCwgJHBhcmFtcywgJHJldHVybmlkICk7CgkgICAgfQoJICBlbHNlCgkgICAgewoJICAgICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAKCQkJCSAgICAgICAkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwoJICAgIH0KCSAgYnJlYWs7Cgl9CiAgICAgIGNhc2UgJ3NldF9lbWFpbGNvbmZpcm1fdGVtcGxhdGUnOgoJewoJICBpZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbiggJ01vZGlmeSBUZW1wbGF0ZXMnICkgKQoJICAgIHsKCSAgICAgICR0aGlzLT5fU2V0QWRtaW5FbWFpbENvbmZpcm1UZW1wbGF0ZSggJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQgKTsKCSAgICB9CgkgIGVsc2UKCSAgICB7CgkgICAgICAkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsIAoJCQkJICAgICAgICR0aGlzLT5MYW5nKCdhY2Nlc3NkZW5pZWQnKSk7CgkgICAgfQoJICBicmVhazsKCX0KICAgICAgY2FzZSAnc2V0X2VtYWlsdXNlcmVkaXRlZF90ZW1wbGF0ZSc6Cgl7CgkgIGlmKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCAnTW9kaWZ5IFRlbXBsYXRlcycgKSApCgkgICAgewoJICAgICAgJHRoaXMtPl9TZXRBZG1pbkVtYWlsVXNlckVkaXRlZFRlbXBsYXRlKCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCApOwoJICAgIH0KCSAgZWxzZQoJICAgIHsKCSAgICAgICR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwgCgkJCQkgICAgICAgJHRoaXMtPkxhbmcoJ2FjY2Vzc2RlbmllZCcpKTsKCSAgICB9CgkgIGJyZWFrOwoJfQogICAgICBjYXNlICdzZXRfZmluYWxtZXNzYWdlX3RlbXBsYXRlJzoKCXsKCSAgaWYoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oICdNb2RpZnkgVGVtcGxhdGVzJyApICkKCSAgICB7CgkgICAgICAkdGhpcy0+X1NldEFkbWluRmluYWxNZXNzYWdlVGVtcGxhdGUoICRpZCwgJHBhcmFtcywgJHJldHVybmlkICk7CgkgICAgfQoJICBlbHNlCgkgICAgewoJICAgICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAKCQkJCSAgICAgICAkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwoJICAgIH0KCSAgYnJlYWs7Cgl9CiAgICAgIGNhc2UgJ3NldF9zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJzoKCXsKCSAgaWYoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oICdNb2RpZnkgVGVtcGxhdGVzJyApICkKCSAgICB7CgkgICAgICAkdGhpcy0+X1NldEFkbWluU2VuZEFub3RoZXJFbWFpbFRlbXBsYXRlKCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCApOwoJICAgIH0KCSAgZWxzZQoJICAgIHsKCSAgICAgICR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwgCgkJCQkgICAgICAgJHRoaXMtPkxhbmcoJ2FjY2Vzc2RlbmllZCcpKTsKCSAgICB9CgkgIGJyZWFrOwoJfQoKLy8gICAgICAgY2FzZSAnZGVmYXVsdCc6Ci8vICAgICAgIGNhc2UgJ2RlZmF1bHRhZG1pbic6Ci8vICAgICAgIGNhc2UgJ2RvX2VkaXR1c2VyJzoKLy8gICAgICAgY2FzZSAnZWRpdHRlbXB1c2VyJzoKLy8gICAgICAgY2FzZSAncmVndXNlcic6Ci8vICAgICAgIGNhc2UgJ3NldHByZWZzJzoKLy8gICAgICAgY2FzZSAndmVyaWZ5dXNlcic6CiAgICAgIGRlZmF1bHQ6Cgl7CgkgIHBhcmVudDo6RG9BY3Rpb24oJGFjdGlvbiwgJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQgKTsKCSAgYnJlYWs7Cgl9CiAgICAgIH0KICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBfQ3JlYXRlRnJvbnRlbmRVc2VyKCRpZCwgJHBhcmFtcywgJHJldHVybl9pZCApCiAgIE5PVCBQQVJUIE9GIFRIRSBNT0RVTEUgQVBJCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gX0NyZWF0ZUZyb250ZW5kVXNlciggJHRtcGlkLCAkZ3JvdXBfaWQsICR1c2VybmFtZSwgJHBhc3N3b3JkICkKICB7CiAgICAkZmV1c2VycyA9JiAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoJ0Zyb250RW5kVXNlcnMnKTsKICAgIGlmKCAhJGZldXNlcnMgKQogICAgICB7CglyZXR1cm4gJHRoaXMtPkxhbmcoJ2Vycm9yX25vZmV1c2Vyc21vZHVsZScpOwogICAgICB9CgogICAgLy8gdG9kbywgZmlndXJlIG91dCB3aGVuIHVzZXJzIHNob3VsZCBleHBpcmUKICAgICRleHBpcmVzID0gc3RydG90aW1lKCcrNSB5ZWFycycpOwogICAgJHJlc3VsdCA9ICRmZXVzZXJzLT5BZGRVc2VyKCAkdXNlcm5hbWUsICRwYXNzd29yZCwgJGV4cGlyZXMgKTsKICAgIGlmKCAkcmVzdWx0WzBdID09IGZhbHNlICkKICAgICAgewoJcmV0dXJuICRyZXN1bHRbMV07CiAgICAgIH0KCiAgICAkdWlkID0gJHJlc3VsdFsxXTsKICAgICRnaWQgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVmYXVsdF9ncm91cCcsIC0xKTsKICAgIGlmKCAkZ2lkICE9IC0xICkKICAgICAgewoJLy8gYSBkZWZhdWx0IGdyb3VwIGlzIHJlcXVpcmVkLAoJLy8gc28gYWRkIGhpbSB0byB0aGF0IGdyb3VwCglpZiggISRmZXVzZXJzLT5Bc3NpZ25Vc2VyVG9Hcm91cCggJHVpZCwgJGdpZCApICkKCSAgewoJICAgIHJldHVybiAkdGhpcy0+TGFuZygnd2FybmluZ19jb3VsZG5vdGFkZGdyb3VwJyk7CgkgIH0KICAgICAgfQoKICAgIC8vIGFuZCBhZGQgdGhlIHVzZXIgdG8gd2hhdGV2ZXIgZ3JvdXAgc3BlY2lmaWVkIGluIHRoZSBncm91cHMgcGFyYW1ldGVyCiAgICBpZiggJGdyb3VwX2lkICkKICAgICAgewoJaWYoICEkZmV1c2Vycy0+QXNzaWduVXNlclRvR3JvdXAoICR1aWQsICRncm91cF9pZCApICkKCSAgewoJICAgIHJldHVybiAkdGhpcy0+TGFuZygnd2FybmluZ19jb3VsZG5vdGFkZGdyb3VwJyk7CgkgIH0KICAgICAgfSAgICAKCiAgICAvLyBoZSdzIGluLi4uLiBoZSdzIGluLi4uIG5vdyBqdXN0IGFkZCBoaXMgcHJvcGVydGllcwogICAgJGRiID0gJHRoaXMtPkdldERiKCk7CiAgICAkcSA9ICJTRUxFQ1QgKiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc2VsZnJlZ19wcm9wZXJ0aWVzCiAgICAgICAgICBXSEVSRSB1c2VyID0gPyI7CiAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxLCBhcnJheSggJHRtcGlkICkgKTsKICAgIGlmKCAhJGRicmVzdWx0ICkKICAgICAgewoJcmV0dXJuICR0aGlzLT5MYW5nKCdlcnJvcl9kYmVycm9yJyk7CiAgICAgIH0KICAgIHdoaWxlKCAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpICkKICAgICAgewoJJGZldXNlcnMtPlNldFVzZXJQcm9wZXJ0eUZ1bGwoICRyb3dbJ3RpdGxlJ10sICRyb3dbJ2RhdGEnXSwgJHVpZCApOwogICAgICB9CgovLyAgICAgLy8gbm93IGRpc3BsYXkgYSB3YXJtIGZ1enp5IG1lc3NhZ2UKLy8gICAgIGdsb2JhbCAkZ0NtczsKLy8gICAgICR0aGlzLT5zbWFydHktPmFzc2lnbigndXNlcm5hbWUnLCAkdXNlcm5hbWUgKTsKLy8gICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignc2l0ZW5hbWUnLCAkZ0Ntcy0+Y29uZmlnWydyb290X3VybCddKTsKLy8gICAgIGVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgnc2VsZnJlZ19maW5hbG1lc3NhZ2VfdGVtcGxhdGUnKTsKCiAgICAvLyBzZW5kIGFuIGV2ZW50CiAgICAkdGhpcy0+U2VuZEV2ZW50KCdvblVzZXJSZWdpc3RlcmVkJywKCQkgICAgIGFycmF5KCd1c2VybmFtZSc9PiR1c2VybmFtZSwKCQkJICAgJ2lkJz0+JHVpZCkpOwoKICAgIC8vIGFuZCBub3RpZnkgdGhlIGFkbWluaXN0cmF0b3IKICAgIC8vIGlmIHRoZSBhZG1pbiB3YW50cyBub3RpZmljYXRpb25zLgogICAgLy8gb2ZmIHdlIGdvLgogICAgaWYoICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdub3RpZnlfb25fcmVnaXN0cmF0aW9uJykgKQogICAgICB7CgkKCSRjbXNtYWlsZXIgPSYgJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCdDTVNNYWlsZXInKTsKCWlmKCAhJGNtc21haWxlciApCgkgIHsKCSAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ2Vycm9yX25vY21zbWFpbGVybW9kdWxlJyk7CgkgIH0KCQoJJGNtc21haWxlci0+QWRkQWRkcmVzcygkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc2VuZF9lbWFpbHNfdG8nKSk7CgkkY21zbWFpbGVyLT5TZXRTdWJqZWN0KCdBIG5ldyB1c2VyIGhhcyByZWdpc3RlcmVkIG9uICcuJGdDbXMtPmNvbmZpZ1sncm9vdF91cmwnXSk7CgkkbXNnID0gJ0EgbmV3IHVzZXIgKCcuJHVzZXJuYW1lLicpIGhhcyBjb21wbGV0ZWQgcmVnaXN0cmF0aW9uIHRvIHlvdXIgc2l0ZS4geW91IHNob3VsZCBjaGVjayB0aGlzIHVzZXIgb3V0IGFuZCB2YWxpZGF0ZSB0aGF0IHRoZSBpbmZvcm1hdGlvbiBwcm92aWRlZCBpcyBhcyBjb21wbGV0ZSBhbmQgdmFsaWQgYXMgcG9zc2libGUuJzsKCSRjbXNtYWlsZXItPlNldEJvZHkoJG1zZyk7ICAKCSRjbXNtYWlsZXItPklzSFRNTChmYWxzZSk7IC8vIHdlJ3JlIG5vdCBzZW5kaW5nIGFuIGh0bWwgbWFpbAoJJGNtc21haWxlci0+U2VuZCgpOwogICAgICB9CgogICAgJHRoaXMtPkF1ZGl0KCAwLCAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyksIAoJCSAgJHRoaXMtPkxhbmcoJ2luZm9fdXNlcnZlcmlmaWVkJykuIjogIi4kdXNlcm5hbWUpOwogICAgcmV0dXJuIDA7CiAgfQoKCgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBEaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybl9pZCwgJG1lc3NhZ2UpCiAgIE5PVCBQQVJUIE9GIFRIRSBNT0RVTEUgQVBJCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gX0Rpc3BsYXlFcnJvclBhZ2UoJGlkLCAmJHBhcmFtcywgJHJldHVybmlkLCAkbWVzc2FnZT0nJykKICB7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlX2Vycm9yJywgJHRoaXMtPkxhbmcoJ2Vycm9yJykpOwogICAgaWYgKCRtZXNzYWdlICE9ICcnKQogICAgICB7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ21lc3NhZ2UnLCAkbWVzc2FnZSk7CiAgICAgIH0KICAgIAogICAgLy8gRGlzcGxheSB0aGUgcG9wdWxhdGVkIHRlbXBsYXRlCiAgICBlY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2Vycm9yLnRwbCcpOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIF9Eb0RlbGV0ZUJ1bGtVc2VycygkaWQsICRwYXJhbXMsICRyZXR1cm5faWQpCiAgIE5PVCBQQVJUIE9GIFRIRSBNT0RVTEUgQVBJCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gX0RvRGVsZXRlQnVsa1VzZXJzKCAkaWQsICYkcGFyYW1zLCAkcmV0dXJuaWQgKQogIHsKICAgIGZvcmVhY2goICRwYXJhbXMgYXMgJGtleSA9PiAkdmFsdWUgKQogICAgICB7CglpZiggJGtleSA9PSAnbWFya2RlbGV0ZV8nLiR2YWx1ZSApCgkgIHsKCSAgICAkdGhpcy0+RGVsZXRlVGVtcFVzZXJQcm9wZXJ0aWVzKCAkdmFsdWUgKTsKCSAgICAkdGhpcy0+RGVsZXRlVGVtcFVzZXIoICR2YWx1ZSApOyAKCSAgfQogICAgICB9CiAgICAkdGhpcy0+bXlSZWRpcmVjdFRvVGFiKCdhZG1pbnVzZXJzJyk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgX0RvRGVsZXRlVXNlcigkaWQsICRwYXJhbXMsICRyZXR1cm5faWQsICRtZXNzYWdlKQogICBOT1QgUEFSVCBPRiBUSEUgTU9EVUxFIEFQSQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIF9Eb0RlbGV0ZVVzZXIoICRpZCwgJiRwYXJhbXMsICRyZXR1cm5pZCApCiAgewogICAgaWYoICFpc3NldCggJHBhcmFtc1sndXNlcl9pZCddICkgKQogICAgICB7CgkvLyB0aGlzIGlzIHVnbHkgZm9yIHRoZSB1c2VyIHRvIHNlZQoJLy8gYnV0IGF0IGxlYXN0IHRoZSBhZG1pbiB3aWxsIGJlIGFibGUgdG8gZmlndXJlIGl0IG91dAoJJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwKCQkJCSAgJHRoaXMtPkxhbmcoJ2Vycm9yX2luc3VmZmljaWVudHBhcmFtcycpKTsKCXJldHVybjsKICAgICAgfQoKICAgICRpZCA9ICRwYXJhbXNbJ3VzZXJfaWQnXTsKICAgICR0aGlzLT5EZWxldGVUZW1wVXNlclByb3BlcnRpZXMoICRpZCApOwogICAgJHRoaXMtPkRlbGV0ZVRlbXBVc2VyKCAkaWQgKTsgCiAgICAkdGhpcy0+bXlSZWRpcmVjdFRvVGFiKCdhZG1pbnVzZXJzJyk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgU2VuZEFub3RoZXJFbWFpbCgkaWQsICRwYXJhbXMsICRyZXR1cm5faWQsICRtZXNzYWdlKQogICBOT1QgUEFSVCBPRiBUSEUgTU9EVUxFIEFQSQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIF9TZW5kQW5vdGhlclJlZ0VtYWlsKCAkaWQsICYkcGFyYW1zLCAkcmV0dXJuaWQgKQogIHsKICAgIC8vIHdlIGhhdmUgdGhlIHVzZXJuYW1lICh0aGVvcmV0aWNhbGx5KSBpbiB0aGUgJHBhcmFtcwogICAgaWYoICFpc3NldCggJHBhcmFtc1snaW5wdXRfdXNlcm5hbWUnXSApICkKICAgICAgewoJJHBhcm1zWydtb2RlJ10gPSAnc2VuZGFub3RoZXJlbWFpbCc7CgkkcGFybXNbJ2Vycm9yJ10gPSAxOwoJJHBhcm1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJyk7CgkkcGFybXNbJ21vZGUnXSA9ICdzZW5kYW5vdGhlcmVtYWlsJzsKCSR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAkcGFybXMgKTsKCXJldHVybjsKICAgICAgfQogICAgJHVzZXJuYW1lID0gJHBhcmFtc1snaW5wdXRfdXNlcm5hbWUnXTsKCiAgICAvLyBsb29rIHVwIHRoZSB1c2VybmFtZSBhbmQgZ2V0IGFuIGlkCiAgICAkdGVtcHVzZXJpZCA9ICR0aGlzLT5HZXRUZW1wVXNlcklEKCAkdXNlcm5hbWUgKTsKICAgIGlmKCAhJHRlbXB1c2VyaWQgKQogICAgICB7CgkkcGFybXNbJ2Vycm9yJ10gPSAxOwoJJHBhcm1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfdXNlcm5vdGZvdW5kJyk7CgkkcGFybXNbJ21vZGUnXSA9ICdzZW5kYW5vdGhlcmVtYWlsJzsKCSR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAkcGFybXMgKTsKCXJldHVybjsgCiAgICAgIH0KCiAgICAvLyBhbmQgd2hhdGV2ZXIgZGV0YWlscyB3ZSBjYW4gZnJvbSB0aGUgdXNlcnMgdGFibGUKICAgICRkZXRhaWxzID0gJHRoaXMtPkdldFRlbXBVc2VyRGV0YWlscyggJHRlbXB1c2VyaWQgKTsKICAgIGlmKCAkZGV0YWlscyA9PSBmYWxzZSApCiAgICAgIHsKCSRwYXJtc1snZXJyb3InXSA9IDE7CgkkcGFybXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl91c2Vybm90Zm91bmQnKTsKCSRwYXJtc1snbW9kZSddID0gJ3NlbmRhbm90aGVyZW1haWwnOwoJJHRoaXMtPm15UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHQnLCAkcmV0dXJuaWQsICRwYXJtcyApOwoJcmV0dXJuOyAKICAgICAgfQoKICAgIC8vIG5vdyBnZXQgcHJvcGVydGllcwogICAgJHRlbXB1c2VycHJvcHMgPSAkdGhpcy0+R2V0VGVtcFVzZXJQcm9wZXJ0aWVzKCAkdGVtcHVzZXJpZCApOwogICAgaWYoICR0ZW1wdXNlcnByb3BzID09IGZhbHNlICkKICAgICAgewoJJHBhcm1zWydlcnJvciddID0gMTsKCSRwYXJtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX25vcHJvcGVydGllcycpOwoJJHBhcm1zWydtb2RlJ10gPSAnc2VuZGFub3RoZXJlbWFpbCc7CgkkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJHBhcm1zICk7CglyZXR1cm47IAogICAgICB9CgogICAgJGZldXNlcnMgPSYgJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCdGcm9udEVuZFVzZXJzJyk7CiAgICBpZiggISRmZXVzZXJzICkKICAgICAgewoJJHBhcm1zWydlcnJvciddID0gMTsKCSRwYXJtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX25vZmV1c2Vyc21vZHVsZScpOwoJJHBhcm1zWydtb2RlJ10gPSAnc2VuZGFub3RoZXJlbWFpbCc7CgkkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJHBhcm1zICk7CglyZXR1cm47IAogICAgICB9CgogICAgLy8gaGF2ZSB0aGUgZ3JvdXAgaWQsIGdldCB0aGUgZ3JvdXAgcHJvcGVydHkgcmVsYXRpb25zCiAgICAkcmVsYXRpb25zID0gJGZldXNlcnMtPkdldEdyb3VwUHJvcGVydHlSZWxhdGlvbnMoICRkZXRhaWxzWydncm91cF9pZCddICk7CiAgICBpZiggJHJlbGF0aW9uc1swXSA9PSBmYWxzZSApCiAgICAgIHsKCSRwYXJtc1snZXJyb3InXSA9IDE7CgkkcGFybXNbJ21lc3NhZ2UnXSA9ICRyZWxhdGlvbnNbMV07CgkkcGFybXNbJ21vZGUnXSA9ICdzZW5kYW5vdGhlcmVtYWlsJzsKCSR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAkcGFybXMgKTsKCXJldHVybjsgCiAgICAgIH0KCiAgICAkcHJvcHMgPSAkZmV1c2Vycy0+R2V0UHJvcGVydHlEZWZucygpOwogICAgaWYoICRwcm9wcyA9PSBmYWxzZSApCiAgICAgIHsKCSRwYXJtc1snZXJyb3InXSA9IDE7CgkkcGFybXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9kYmVycm9yJyk7CgkkcGFybXNbJ21vZGUnXSA9ICdzZW5kYW5vdGhlcmVtYWlsJzsKCSR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAkcGFybXMgKTsKCXJldHVybjsgCiAgICAgIH0KCiAgICAvLyBub3cgZmluZCBhbiBlbWFpbCBhZGRyZXNzIHByb3BlcnR5CiAgICAvLyBhbmQgbWFrZSBzdXJlIGl0J3Mgb2YgdHlwZSAyCiAgICAkZm91bmQgPSAnJzsKICAgIGZvcmVhY2goICRyZWxhdGlvbnMgYXMgJHJlbG4gKQogICAgICB7Cglmb3JlYWNoKCAkcHJvcHMgYXMgJHByb3AgKQoJICB7CgkgICAgaWYoICRwcm9wWyd0eXBlJ10gPT0gMiAmJiAkcmVsblsnbmFtZSddID09ICRwcm9wWyduYW1lJ10gKQoJICAgICAgewoJCS8vIGZvdW5kIGFuIGVtYWlsIHByb3BlcnR5CgkJZm9yZWFjaCggJHRlbXB1c2VycHJvcHMgYXMgJHRlbXBwcm9wICkKCQkgIHsKCQkgICAgaWYoICRyZWxuWyduYW1lJ10gPT0gJHRlbXBwcm9wWyd0aXRsZSddICkKCQkgICAgICB7CgkJCSRmb3VuZCA9ICR0ZW1wcHJvcFsnZGF0YSddOwoJCQlicmVhazsKCQkgICAgICB9CgkJICB9CgkgICAgICB9CgkgICAgaWYoICRmb3VuZCAhPSAnJyApCgkgICAgICB7CgkJYnJlYWs7CgkgICAgICB9CgkgIH0KCWlmKCAkZm91bmQgIT0gJycgKQoJICB7CgkgICAgYnJlYWs7CgkgIH0KICAgICAgfQogICAgaWYoICEkZm91bmQgKQogICAgICB7CgkkcGFybXNbJ2Vycm9yJ10gPSAxOwoJJHBhcm1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3Jfbm9lbWFpbGFkZHJlc3MnKTsKCSRwYXJtc1snbW9kZSddID0gJ3NlbmRhbm90aGVyZW1haWwnOwoJJHRoaXMtPm15UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHQnLCAkcmV0dXJuaWQsICRwYXJtcyApOwoJcmV0dXJuOyAKICAgICAgfQoKICAgICR0aGlzLT5fU2VuZFVzZXJDb25maXJtYXRpb25FbWFpbCggJGlkLCRyZXR1cm5pZCwkZm91bmQsICR1c2VybmFtZSwgJGRldGFpbHNbJ2dyb3VwX2lkJ10sCgkJCQkgICAgICAgJGRldGFpbHNbJ2NvZGUnXSApOwoKICAgIC8vIHdlJ3JlIG5vdCByZWRpcmVjdGluZyBhbnl3aGVyZSB3ZSBuZWVkIHRvIGRpc3BsYXkgc29tZSBuaWNlIG1lc3NhZ2UKICAgIC8vIGFib3V0IHdlIGp1c3Qgc3BhbW1lZCB5b3VyIGluYm94LCBldGMsIGV0Yy4KICAgIGdsb2JhbCAkZ0NtczsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignc2l0ZW5hbWUnLCAkZ0Ntcy0+Y29uZmlnWydyb290X3VybCddKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbigndXNlcm5hbWUnLCR1c2VybmFtZSk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2VtYWlsJywgJGZvdW5kICk7CiAgICBlY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJ3NlbGZyZWdfcG9zdF9zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJyk7CiAgfSAgCgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBTZW5kVXNlckNvbmZpcm1hdGlvbkVtYWlsKCRhZGRyZXNzLCR1c2VybmFtZSwkZ3JvdXBfaWQsJGNvZGUpOwogICBOT1QgUEFSVCBPRiBUSEUgTU9EVUxFIEFQSQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIF9TZW5kVXNlckNvbmZpcm1hdGlvbkVtYWlsKCRpZCwkcmV0dXJuaWQsJGFkZHJlc3MsJHVzZXJuYW1lLCRncm91cF9pZCwkY29kZSkKICB7CiAgICBnbG9iYWwgJGdDbXM7CiAgICAkY21zbWFpbGVyID0mICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgnQ01TTWFpbGVyJyk7CiAgICBpZiggISRjbXNtYWlsZXIgKQogICAgICB7CglyZXR1cm4gZmFsc2U7CiAgICAgIH0KCiAgICAkY21zbWFpbGVyLT5BZGRBZGRyZXNzKCAkYWRkcmVzcyApOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCduYW1lJywkdXNlcm5hbWUpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdjb2RlJywkY29kZSk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3NpdGVuYW1lJywgJGdDbXMtPmNvbmZpZ1sncm9vdF91cmwnXSk7CiAgICAkcGFybXMgPSBhcnJheSggJ21vZGUnID0+ICd2ZXJpZnknLAoJCSAgICAnaW5wdXRfdXNlcm5hbWUnID0+ICR1c2VybmFtZSwKCQkgICAgJ2lucHV0X2dyb3VwX2lkJyA9PiAkZ3JvdXBfaWQsCgkJICAgICdpbnB1dF9jb2RlJyA9PiAkY29kZSApOwogICAgJHVybCA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwnZGVmYXVsdCcsJHJldHVybmlkLCcnLCRwYXJtcywnJyx0cnVlLHRydWUpOwogICAgJHNtYWxsdXJsID0gJHRoaXMtPkNyZWF0ZUxpbmsoICRpZCwgJ2RlZmF1bHQnLCAkcmV0dXJuaWQsICcnLCBhcnJheSgnbW9kZScgPT4gJ3ZlcmlmeScpLCcnLHRydWUsIHRydWUpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd1cmwnLCR1cmwpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzbWFsbHVybCcsJHNtYWxsdXJsKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignbGluaycsJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCdkZWZhdWx0JywkcmV0dXJuaWQsJHVybCwkcGFybXMsJycsZmFsc2UsdHJ1ZSkpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzbWFsbGxpbmsnLCR0aGlzLT5DcmVhdGVMaW5rKCRpZCwnZGVmYXVsdCcsJHJldHVybmlkLCRzbWFsbHVybCxhcnJheSgnbW9kZSc9Pid2ZXJpZnknKSwnJyxmYWxzZSx0cnVlKSk7CiAgICAkaHRtbGJvZHkgPSAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCdzZWxmcmVnX2VtYWlsY29uZmlybV90ZW1wbGF0ZScpOwogICAgJHRleHRib2R5ID0gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgnc2VsZnJlZ19lbWFpbGNvbmZpcm1fdGV4dHRlbXBsYXRlJyk7CiAgICAkY21zbWFpbGVyLT5TZXRCb2R5KCAkdGV4dGJvZHkgKTsKICAgIGlmKCAkaHRtbGJvZHkgIT0gJycgKQogICAgICB7CgkkY21zbWFpbGVyLT5Jc0hUTUwodHJ1ZSk7ICAvLyB3ZSdyZSBzZW5kaW5nIGFuIGh0bWwgbWFpbAoJJGNtc21haWxlci0+U2V0Qm9keSggJGh0bWxib2R5ICk7CgkkY21zbWFpbGVyLT5TZXRBbHRCb2R5KCAkdGV4dGJvZHkgKTsKICAgICAgfQogICAgZWxzZQogICAgICB7CgkkY21zbWFpbGVyLT5Jc0hUTUwoZmFsc2UpOyAgLy8gd2UncmUgc2VuZGluZyBhbiBodG1sIG1haWwKCSRjbXNtYWlsZXItPlNldEJvZHkoICR0ZXh0Ym9keSApOwogICAgICB9CiAgICAkY21zbWFpbGVyLT5TZXRTdWJqZWN0KCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzZWxmcmVnX2VtYWlsY29uZmlybV9zdWJqZWN0JywkdGhpcy0+TGFuZygncmVnaXN0cmF0aW9uX2NvbmZpcm1hdGlvbicpKSk7CiAgICAkY21zbWFpbGVyLT5TZW5kKCk7CgogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIFNldEFkbWluUmVnMVRlbXBsYXRlKCRpZCwgJHBhcmFtcywgJHJldHVybl9pZCwgJG1lc3NhZ2UpCiAgIE5PVCBQQVJUIE9GIFRIRSBNT0RVTEUgQVBJCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gX1NldEFkbWluUmVnMVRlbXBsYXRlKCAkaWQsICYkcGFyYW1zLCAkcmV0dXJuaWQgKQogIHsKICAgIGlmKCBpc3NldCggJHBhcmFtc1snZGVmYXVsdGJ1dHRvbiddICkgKQogICAgICB7CgkkdGhpcy0+U2V0VGVtcGxhdGUoICdzZWxmcmVnX3JlZzF0ZW1wbGF0ZScsCgkJCSAgICAkdGhpcy0+ZGZsdF9yZWdpc3RyYXRpb24xX3RlbXBsYXRlICk7CgkkdGhpcy0+U2V0VGVtcGxhdGUoICdzZWxmcmVnX3Bvc3RyZWcxX3RlbXBsYXRlJywKCQkJICAgICR0aGlzLT5kZmx0X3Bvc3RyZWcxX3RlbXBsYXRlICk7CiAgICAgIH0KICAgIGVsc2UgaWYoIGlzc2V0KCAkcGFyYW1zWydyZWcxX3RlbXBsYXRlY29udGVudCddICkgfHwKCSAgICAgaXNzZXQoICRwYXJhbXNbJ3Bvc3RyZWcxX3RlbXBsYXRlY29udGVudCddICkgKQogICAgICB7CgkkdGhpcy0+U2V0VGVtcGxhdGUoICdzZWxmcmVnX3JlZzF0ZW1wbGF0ZScsCgkJCSAgICAkcGFyYW1zWydyZWcxX3RlbXBsYXRlY29udGVudCddICk7CgkkdGhpcy0+U2V0VGVtcGxhdGUoICdzZWxmcmVnX3Bvc3RyZWcxX3RlbXBsYXRlJywKCQkJICAgICRwYXJhbXNbJ3Bvc3RyZWcxX3RlbXBsYXRlY29udGVudCddICk7CiAgICAgIH0KICAgICR0aGlzLT5teVJlZGlyZWN0VG9UYWIoICRpZCwgJ3JlZzF0ZW1wbGF0ZScgKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBTZXRBZG1pblJlZzJUZW1wbGF0ZSgkaWQsICRwYXJhbXMsICRyZXR1cm5faWQsICRtZXNzYWdlKQogICBOT1QgUEFSVCBPRiBUSEUgTU9EVUxFIEFQSQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIF9TZXRBZG1pblJlZzJUZW1wbGF0ZSggJGlkLCAmJHBhcmFtcywgJHJldHVybmlkICkKICB7CiAgICBpZiggaXNzZXQoICRwYXJhbXNbJ2RlZmF1bHRidXR0b24nXSApICkKICAgICAgewoJJHRoaXMtPlNldFRlbXBsYXRlKCAnc2VsZnJlZ19yZWcydGVtcGxhdGUnLAoJCQkgICAgJHRoaXMtPmRmbHRfcmVnaXN0cmF0aW9uMl90ZW1wbGF0ZSApOwogICAgICB9CiAgICBlbHNlIGlmKCBpc3NldCggJHBhcmFtc1sndGVtcGxhdGVjb250ZW50J10gKSApCiAgICAgIHsKCSR0aGlzLT5TZXRUZW1wbGF0ZSggJ3NlbGZyZWdfcmVnMnRlbXBsYXRlJywKCQkJICAgICRwYXJhbXNbJ3RlbXBsYXRlY29udGVudCddICk7CiAgICAgIH0KICAgICR0aGlzLT5teVJlZGlyZWN0VG9UYWIoICRpZCwgJ3JlZzJ0ZW1wbGF0ZScgKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBTZXRBZG1pbkVtYWlsQ29uZmlybWF0aW9uVGVtcGxhdGUoJGlkLCAkcGFyYW1zLCAkcmV0dXJuX2lkLCAkbWVzc2FnZSkKICAgTk9UIFBBUlQgT0YgVEhFIE1PRFVMRSBBUEkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBfU2V0QWRtaW5FbWFpbENvbmZpcm1UZW1wbGF0ZSggJGlkLCAmJHBhcmFtcywgJHJldHVybmlkICkKICB7CiAgICBpZiggaXNzZXQoICRwYXJhbXNbJ2RlZmF1bHRidXR0b24nXSApICkKICAgICAgewoJJHRoaXMtPlNldFRlbXBsYXRlKCAnc2VsZnJlZ19lbWFpbGNvbmZpcm1fdGVtcGxhdGUnLAoJCQkgICAgJHRoaXMtPmRmbHRfZW1haWxjb25maXJtX3RlbXBsYXRlICk7CgkkdGhpcy0+U2V0VGVtcGxhdGUoICdzZWxmcmVnX2VtYWlsY29uZmlybV90ZXh0dGVtcGxhdGUnLAoJCQkgICAgJHRoaXMtPmRmbHRfZW1haWxjb25maXJtX3RleHR0ZW1wbGF0ZSApOwogICAgICB9CiAgICBlbHNlIAogICAgICB7CgkkaHRtbHRlbXBsYXRlID0gJyc7CglpZiggaXNzZXQoICRwYXJhbXNbJ3RlbXBsYXRlY29udGVudCddICkgKQoJICB7CgkgICAgJGh0bWx0ZW1wbGF0ZSA9ICRwYXJhbXNbJ3RlbXBsYXRlY29udGVudCddOwoJICB9CgkkdGV4dHRlbXBsYXRlID0gJyc7CglpZiggaXNzZXQoICRwYXJhbXNbJ3RleHR0ZW1wbGF0ZWNvbnRlbnQnXSApICkKCSAgewoJICAgICR0ZXh0dGVtcGxhdGUgPSAkcGFyYW1zWyd0ZXh0dGVtcGxhdGVjb250ZW50J107CgkgIH0KCSRzdWJqZWN0ID0gJyc7CglpZiggaXNzZXQoICRwYXJhbXNbJ2lucHV0X3N1YmplY3QnXSApICkKCSAgewoJICAgICRzdWJqZWN0ID0gJHBhcmFtc1snaW5wdXRfc3ViamVjdCddOwoJICB9CglpZiggJHN1YmplY3QgPT0gJycgKQoJICB7CgkgICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCRpZCwkcGFyYW1zLCRyZXR1cm5pZCwKCQkJCSAgICAgJHRoaXMtPkxhbmcoJ2Vycm9yX211c3RzcGVjaWZ5c3ViamVjdCcpKTsKCSAgICByZXR1cm47CgkgIH0KCWlmKCAkdGV4dHRlbXBsYXRlID09ICcnICkKCSAgewoJICAgICR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSgkaWQsJHBhcmFtcywkcmV0dXJuaWQsCgkJCQkgICAgICR0aGlzLT5MYW5nKCdlcnJvcl9tdXN0c3BlY2lmeXRleHR0ZW1wbGF0ZScpKTsKCSAgICByZXR1cm47CgkgIH0KCgkkdGhpcy0+U2V0VGVtcGxhdGUoICdzZWxmcmVnX2VtYWlsY29uZmlybV90ZW1wbGF0ZScsCgkJCSAgICAkcGFyYW1zWyd0ZW1wbGF0ZWNvbnRlbnQnXSApOwoJJHRoaXMtPlNldFRlbXBsYXRlKCAnc2VsZnJlZ19lbWFpbGNvbmZpcm1fdGV4dHRlbXBsYXRlJywKCQkJICAgICRwYXJhbXNbJ3RleHR0ZW1wbGF0ZWNvbnRlbnQnXSApOwoJJHRoaXMtPlNldFByZWZlcmVuY2UoICdzZWxmcmVnX2VtYWlsY29uZmlybV9zdWJqZWN0JywKCQkJICAgICAgJHBhcmFtc1snaW5wdXRfc3ViamVjdCddICk7CgkKICAgICAgfQogICAgJHRoaXMtPm15UmVkaXJlY3RUb1RhYiggJGlkLCAnZW1haWxjb25maXJtX3RlbXBsYXRlJyApOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIFNldEFkbWluRmluYWxNZXNzYWdlVGVtcGxhdGUoJGlkLCAkcGFyYW1zLCAkcmV0dXJuX2lkLCAkbWVzc2FnZSkKICAgTk9UIFBBUlQgT0YgVEhFIE1PRFVMRSBBUEkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBfU2V0QWRtaW5GaW5hbE1lc3NhZ2VUZW1wbGF0ZSggJGlkLCAmJHBhcmFtcywgJHJldHVybmlkICkKICB7CiAgICBpZiggaXNzZXQoICRwYXJhbXNbJ2RlZmF1bHRidXR0b24nXSApICkKICAgICAgewoJJHRoaXMtPlNldFRlbXBsYXRlKCAnc2VsZnJlZ19maW5hbG1lc3NhZ2VfdGVtcGxhdGUnLAoJCQkgICAgJHRoaXMtPmRmbHRfZmluYWxtZXNzYWdlX3RlbXBsYXRlICk7CiAgICAgIH0KICAgIGVsc2UgaWYoIGlzc2V0KCAkcGFyYW1zWyd0ZW1wbGF0ZWNvbnRlbnQnXSApICkKICAgICAgewoJJHRoaXMtPlNldFRlbXBsYXRlKCAnc2VsZnJlZ19maW5hbG1lc3NhZ2VfdGVtcGxhdGUnLAoJCQkgICAgJHBhcmFtc1sndGVtcGxhdGVjb250ZW50J10gKTsKICAgICAgfQogICAgJHRoaXMtPm15UmVkaXJlY3RUb1RhYiggJGlkLCAnZmluYWxtZXNzYWdlX3RlbXBsYXRlJyApOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIFNldEFkbWluRW1haWxDb25maXJtYXRpb25UZW1wbGF0ZSgkaWQsICRwYXJhbXMsICRyZXR1cm5faWQsICRtZXNzYWdlKQogICBOT1QgUEFSVCBPRiBUSEUgTU9EVUxFIEFQSQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIF9TZXRBZG1pbkVtYWlsVXNlckVkaXRlZFRlbXBsYXRlKCAkaWQsICYkcGFyYW1zLCAkcmV0dXJuaWQgKQogIHsKICAgIGlmKCBpc3NldCggJHBhcmFtc1snZGVmYXVsdGJ1dHRvbiddICkgKQogICAgICB7CgkkdGhpcy0+U2V0VGVtcGxhdGUoICdzZWxmcmVnX2VtYWlsdXNlcmVkaXRlZF90ZW1wbGF0ZScsCgkJCSAgICAkdGhpcy0+ZGZsdF9lbWFpbHVzZXJlZGl0ZWRfdGVtcGxhdGUgKTsKCSR0aGlzLT5TZXRUZW1wbGF0ZSggJ3NlbGZyZWdfZW1haWx1c2VyZWRpdGVkX3RleHR0ZW1wbGF0ZScsCgkJCSAgICAkdGhpcy0+ZGZsdF9lbWFpbHVzZXJlZGl0ZWRfdGV4dHRlbXBsYXRlICk7CiAgICAgIH0KICAgIGVsc2UgCiAgICAgIHsKCSRodG1sdGVtcGxhdGUgPSAnJzsKCWlmKCBpc3NldCggJHBhcmFtc1sndGVtcGxhdGVjb250ZW50J10gKSApCgkgIHsKCSAgICAkaHRtbHRlbXBsYXRlID0gJHBhcmFtc1sndGVtcGxhdGVjb250ZW50J107CgkgIH0KCSR0ZXh0dGVtcGxhdGUgPSAnJzsKCWlmKCBpc3NldCggJHBhcmFtc1sndGV4dHRlbXBsYXRlY29udGVudCddICkgKQoJICB7CgkgICAgJHRleHR0ZW1wbGF0ZSA9ICRwYXJhbXNbJ3RleHR0ZW1wbGF0ZWNvbnRlbnQnXTsKCSAgfQoJJHN1YmplY3QgPSAnJzsKCWlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfc3ViamVjdCddICkgKQoJICB7CgkgICAgJHN1YmplY3QgPSAkcGFyYW1zWydpbnB1dF9zdWJqZWN0J107CgkgIH0KCWlmKCAkc3ViamVjdCA9PSAnJyApCgkgIHsKCSAgICAkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UoJGlkLCRwYXJhbXMsJHJldHVybmlkLAoJCQkJICAgICAkdGhpcy0+TGFuZygnZXJyb3JfbXVzdHNwZWNpZnlzdWJqZWN0JykpOwoJICAgIHJldHVybjsKCSAgfQoJaWYoICR0ZXh0dGVtcGxhdGUgPT0gJycgKQoJICB7CgkgICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCRpZCwkcGFyYW1zLCRyZXR1cm5pZCwKCQkJCSAgICAgJHRoaXMtPkxhbmcoJ2Vycm9yX211c3RzcGVjaWZ5dGV4dHRlbXBsYXRlJykpOwoJICAgIHJldHVybjsKCSAgfQoKCSR0aGlzLT5TZXRUZW1wbGF0ZSggJ3NlbGZyZWdfZW1haWx1c2VyZWRpdGVkX3RlbXBsYXRlJywKCQkJICAgICRwYXJhbXNbJ3RlbXBsYXRlY29udGVudCddICk7CgkkdGhpcy0+U2V0VGVtcGxhdGUoICdzZWxmcmVnX2VtYWlsdXNlcmVkaXRlZF90ZXh0dGVtcGxhdGUnLAoJCQkgICAgJHBhcmFtc1sndGV4dHRlbXBsYXRlY29udGVudCddICk7CgkkdGhpcy0+U2V0UHJlZmVyZW5jZSggJ3NlbGZyZWdfZW1haWx1c2VyZWRpdGVkX3N1YmplY3QnLAoJCQkgICAgICAkcGFyYW1zWydpbnB1dF9zdWJqZWN0J10gKTsKCQogICAgICB9CiAgICAkdGhpcy0+bXlSZWRpcmVjdFRvVGFiKCAkaWQsICdlbWFpbHVzZXJlZGl0ZWRfdGVtcGxhdGUnICk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgU2V0QWRtaW5TZXRBbm90aGVyRW1haWxUZW1wbGF0ZSgkaWQsICRwYXJhbXMsICRyZXR1cm5faWQsICRtZXNzYWdlKQogICBOT1QgUEFSVCBPRiBUSEUgTU9EVUxFIEFQSQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIF9TZXRBZG1pblNlbmRBbm90aGVyRW1haWxUZW1wbGF0ZSggJGlkLCAmJHBhcmFtcywgJHJldHVybmlkICkKICB7CiAgICBpZiggaXNzZXQoICRwYXJhbXNbJ2RlZmF1bHRidXR0b24nXSApICkKICAgICAgewoJJHRoaXMtPlNldFRlbXBsYXRlKCAnc2VsZnJlZ19zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJywKCQkJICAgICR0aGlzLT5kZmx0X3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUgKTsKCSR0aGlzLT5TZXRUZW1wbGF0ZSggJ3NlbGZyZWdfcG9zdF9zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJywKCQkJICAgICR0aGlzLT5kZmx0X3Bvc3Rfc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSApOwogICAgICB9CiAgICBlbHNlIGlmKCBpc3NldCggJHBhcmFtc1sndGVtcGxhdGVjb250ZW50J10gKSApCiAgICAgIHsKCSR0aGlzLT5TZXRUZW1wbGF0ZSggJ3NlbGZyZWdfc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZScsCgkJCSAgICAkcGFyYW1zWyd0ZW1wbGF0ZWNvbnRlbnQnXSApOwoJJHRoaXMtPlNldFRlbXBsYXRlKCAnc2VsZnJlZ19wb3N0X3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnLAoJCQkgICAgJHBhcmFtc1sndGVtcGxhdGVjb250ZW50MiddICk7CiAgICAgIH0KICAgICR0aGlzLT5teVJlZGlyZWN0VG9UYWIoICRpZCwgJ3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnICk7CiAgfQoKCiAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KICAvLyBBUEkgRlVOQ1RJT05TCiAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCiAgZnVuY3Rpb24gQWRkVGVtcFVzZXJQcm9wZXJ0eSggJHVpZCwgJHByb3BuYW1lLCAkcHJvcHZhbHVlICkKICB7CiAgICAkZGIgPSAkdGhpcy0+R2V0RGIoKTsKICAgICRpZCA9ICRkYi0+R2VuSUQoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc2VsZnJlZ191c2Vyc19zZXEiKTsKICAgICRxID0gIklOU0VSVCBJTlRPICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc2VsZnJlZ19wcm9wZXJ0aWVzCiAgICAgICAgICBWQUxVRVMgKD8sPyw/LD8pIjsKICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHEsIGFycmF5KCAkaWQsICR1aWQsICRwcm9wbmFtZSwgJHByb3B2YWx1ZSApICk7CiAgICBpZiggISRkYnJlc3VsdCApCiAgICAgIHsKCXJldHVybiBhcnJheShGQUxTRSwkZGItPkVycm9yTXNnKCkpOwogICAgICB9CiAgICByZXR1cm4gYXJyYXkoVFJVRSk7CiAgfQoKCiAgZnVuY3Rpb24gQ291bnRUZW1wVXNlcnMoKQogIHsKICAgICRkYiA9ICR0aGlzLT5HZXREYigpOwogICAgJHEgPSAiU0VMRUNUIGNvdW50KCopIGFzIGNvdW50IEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zZWxmcmVnX3VzZXJzIjsKICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHEgKTsKICAgIGlmKCAhJGRicmVzdWx0ICkgewogICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpOwogICAgcmV0dXJuICRyb3dbJ2NvdW50J107CiAgfQoKCiAgZnVuY3Rpb24gQ3JlYXRlVGVtcFVzZXIoICRnaWQsICR1c2VybmFtZSwgJHBhc3N3b3JkLCAkY29kZSApCiAgewogICAgJGRiID0gJHRoaXMtPkdldERiKCk7CiAgICBpZiggJHVzZXJuYW1lID09ICcnIHx8ICRwYXNzd29yZCA9PSAnJyApCiAgICAgIHsKCXJldHVybiBmYWxzZTsKICAgICAgfQoKICAgIC8vIGdldCBhbiBpZAogICAgJGlkID0gJGRiLT5HZW5JRChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zZWxmcmVnX3VzZXJzX3NlcSIpOwogICAgJHEgPSAiSU5TRVJUIElOVE8gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zZWxmcmVnX3VzZXJzCiAgICAgICAgICBWQUxVRVMgKD8sPyw/LD8sPyw/KSI7IAogICAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcSwgYXJyYXkoICRpZCwgJGdpZCwgJHVzZXJuYW1lLCBtZDUoJHBhc3N3b3JkKSwgJGNvZGUsCgkJCQkJIHRyaW0oJGRiLT5EQlRpbWVTVGFtcCh0aW1lKCkpLCInIikpKTsKICAgIGlmKCAhJGRicmVzdWx0ICkKICAgICAgewoJcmV0dXJuIGFycmF5KEZBTFNFLCRkYi0+RXJyb3JNc2coKSk7CiAgICAgIH0KICAgIHJldHVybiBhcnJheShUUlVFLCRpZCk7CiAgfQoKCiAgZnVuY3Rpb24gQ1NWT2xkVGVtcFVzZXJzKCRleHBpcnljb2RlKQogIHsKICAgICRkYiA9ICR0aGlzLT5HZXREYigpOwogICAgJGV4cGlyZXMgPSAkZGItPkRiVGltZVN0YW1wKHN0cnRvdGltZSggJGV4cGlyeWNvZGUgKSk7CiAgICAvLyBmaW5kIGFsbCB0aGUgdXNlciBpZCdzIHRoYXQgbWF0Y2gKICAgICRxID0gIlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zZWxmcmVnX3VzZXJzCiAgICAgICAgICBXSEVSRSBjcmVhdGVkYXRlIDwgPyI7CiAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxLCBhcnJheSggJGV4cGlyZXMgKSApOyAKICAgICRyZXN1bHQgPSAnJzsKCiAgICB3aGlsZSggJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSApIAogICAgICB7CgkkdmFscyA9IGFycmF5X3ZhbHVlcyggJHJvdyApOwoJJHJlc3VsdCAuPSAkcm93WydpZCddLiIsIi4kcm93Wyd1c2VybmFtZSddLiIsIi4kcm93Wydjb2RlJ10uIiwiLiRyb3dbJ2NyZWF0ZWRhdGUnXS4iLCI7CgkkcTIgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3NlbGZyZWdfcHJvcGVydGllcwogICAgICAgICAgICAgIFdIRVJFIHVzZXIgPSA/IE9SREVSIGJ5IGlkIjsKCSRkYnJlc3VsdDIgPSAkZGItPkV4ZWN1dGUoICRxMiwgYXJyYXkoICRyb3dbJ2lkJ10gKSApOwoJd2hpbGUoICRyb3cyID0gJGRicmVzdWx0Mi0+RmV0Y2hSb3coKSApCgkgIHsKCSAgICAkcmVzdWx0IC49ICRyb3cyWydkYXRhJ10uIiwiOwoJICB9CgkkcmVzdWx0IC49ICJlbmRcbiI7CiAgICAgIH0KCiAgICByZXR1cm4gJHJlc3VsdDsKICB9CgoKICBmdW5jdGlvbiBFZGl0VGVtcFVzZXIoICR1aWQsICR1c2VybmFtZSwgJHBhc3N3b3JkLCAkY29kZSApCiAgewogICAgJGRiID0gJHRoaXMtPkdldERiKCk7CiAgICBpZiggJHVzZXJuYW1lID09ICcnICkKICAgICAgewoJcmV0dXJuIGZhbHNlOwogICAgICB9CgogICAgJHEgPSAiVVBEQVRFICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc2VsZnJlZ191c2VycwogICAgICAgICAgU0VUIHVzZXJuYW1lID0gPywgY29kZSA9ID8iOwogICAgJHBhcmFtcyA9IGFycmF5KCR1c2VybmFtZSwkY29kZSk7CiAgICBpZiggJHBhc3N3b3JkICE9ICcnICkKICAgICAgewoJJHEgLj0gIixwYXNzc3dvcmQgPSA/IjsKCSRwYXJhbXNbXSA9IG1kNSgkcGFzc3dvcmQpOwogICAgICB9CiAgICAkcSAuPSAiIFdIRVJFIGlkID0gPyI7CiAgICAkcGFyYW1zW10gPSAkdWlkOwoKICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHEsICRwYXJhbXMgKTsKICAgIGlmKCAhJGRicmVzdWx0ICkKICAgICAgewoJcmV0dXJuIGFycmF5KEZBTFNFLCRkYi0+RXJyb3JNc2coKSk7CiAgICAgIH0KICAgIHJldHVybiBhcnJheShUUlVFKTsKICB9CgoKICBmdW5jdGlvbiBFeHBpcmVPbGRUZW1wVXNlcnMoJGV4cGlyeWNvZGUpCiAgewogICAgJGRiID0gJHRoaXMtPkdldERiKCk7CiAgICAkZXhwaXJlcyA9ICRkYi0+RGJUaW1lU3RhbXAoc3RydG90aW1lKCAkZXhwaXJ5Y29kZSApKTsKICAgIC8vIGZpbmQgYWxsIHRoZSB1c2VyIGlkJ3MgdGhhdCBtYXRjaAogICAgJHEgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3NlbGZyZWdfdXNlcnMKICAgICAgICAgIFdIRVJFIGNyZWF0ZWRhdGUgPCA/IjsKICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHEsIGFycmF5KCAkZXhwaXJlcyApICk7IAogICAgd2hpbGUoICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkgKSAKICAgICAgewoJLy8gdGhlbiBkZWxldGUgdGhlaXIgcHJvcGVydGllcwoJJHEyID0gIkRFTEVURSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc2VsZnJlZ19wcm9wZXJ0aWVzCiAgICAgICAgICAgICBXSEVSRSB1c2VyID0gPyI7CgkkZGJyZXN1bHQyID0gJGRiLT5FeGVjdXRlKCAkcTIsIGFycmF5KCAkcm93WydpZCddICkgKTsKICAgICAgfQoKICAgIC8vIHRoZW4gZGVsZXRlIHRoZW0KICAgICRxID0gIkRFTEVURSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc2VsZnJlZ191c2VycwogICAgICAgICAgV0hFUkUgY3JlYXRlZGF0ZSA+ID8iOwogICAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcSwgYXJyYXkoICRleHBpcmVzICkgKTsKICAgIGlmKCAhJGRicmVzdWx0ICkgcmV0dXJuIGZhbHNlOwogICAgcmV0dXJuIHRydWU7CiAgfQoKCiAgZnVuY3Rpb24gRGVsZXRlVGVtcFVzZXIoICR1aWQgKQogIHsKICAgICRkYiA9ICR0aGlzLT5HZXREYigpOwogICAgJHEgPSAiREVMRVRFIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zZWxmcmVnX3VzZXJzCiAgICAgICAgICBXSEVSRSBpZCA9ID8iOwogICAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcSwgYXJyYXkoJHVpZCkgKTsKICAgIGlmKCAhJGRicmVzdWx0ICkgcmV0dXJuIGZhbHNlOwogICAgcmV0dXJuIHRydWU7CiAgfQoKCiAgZnVuY3Rpb24gRGVsZXRlVGVtcFVzZXJQcm9wZXJ0aWVzKCAkdWlkICkKICB7CiAgICAkZGIgPSAkdGhpcy0+R2V0RGIoKTsKICAgICRxID0gIkRFTEVURSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc2VsZnJlZ19wcm9wZXJ0aWVzIAogICAgICAgICAgV0hFUkUgdXNlciA9ID8iOwogICAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcSwgYXJyYXkoICR1aWQgKSApOwogICAgaWYoICEkZGJyZXN1bHQgKSByZXR1cm4gZmFsc2U7CiAgICByZXR1cm4gdHJ1ZTsKICB9CgoKICBmdW5jdGlvbiBHZXRUZW1wVXNlckRldGFpbHMoICR1aWQgKQogIHsKICAgICRkYiA9ICR0aGlzLT5HZXREYigpOwogICAgJHEgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3NlbGZyZWdfdXNlcnMKICAgICAgICAgIFdIRVJFIGlkID0gPyI7CiAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxLCBhcnJheSggJHVpZCApICk7CiAgICBpZiggISRkYnJlc3VsdCB8fCAkZGJyZXN1bHQtPlJlY29yZENvdW50KCkgPT0gMCApIHJldHVybiBmYWxzZTsKICAgICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCk7CiAgICByZXR1cm4gJHJvdzsKICB9CgoKICBmdW5jdGlvbiBHZXRUZW1wVXNlcklEKCAkdXNlcm5hbWUgKQogIHsKICAgICRkYiA9ICR0aGlzLT5HZXREYigpOwoKICAgIGlmKCAkdXNlcm5hbWUgPT0gJycgKQogICAgICB7CglyZXR1cm4gZmFsc2U7CiAgICAgIH0KCiAgICAkcSA9ICJTRUxFQ1QgKiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc2VsZnJlZ191c2VycyBXSEVSRQogICAgICAgICAgdXNlcm5hbWUgPSA/IjsKICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHEsIGFycmF5KCAkdXNlcm5hbWUgKSApOwogICAgaWYoICEkZGJyZXN1bHQgKQogICAgICB7CglyZXR1cm4gZmFsc2U7CiAgICAgIH0KCiAgICAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpOwogICAgaWYoICEkcm93ICkKICAgICAgewoJcmV0dXJuIGZhbHNlOwogICAgICB9CgogICAgcmV0dXJuICRyb3dbJ2lkJ107CiAgfQoKCiAgZnVuY3Rpb24gR2V0VGVtcFVzZXJQcm9wZXJ0eSggJHVpZCwgJHByb3BuYW1lLCAkZGZsdCApCiAgewogICAgJGRiID0gJHRoaXMtPkdldERiKCk7CiAgICAkcSA9ICJTRUxFQ1QgZGF0YSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc2VsZnJlZ19wcm9wZXJ0aWVzCiAgICAgICAgICBXSEVSRSB1c2VyID0gPyBBTkQgdGl0bGUgPSAgPyI7CiAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxLCBhcnJheSggJHVpZCwgJHByb3BuYW1lICkgKTsKICAgIGlmKCAhJGRicmVzdWx0ICkKICAgICAgewoJcmV0dXJuICRkZmx0OwogICAgICB9CiAgICAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpOwogICAgaWYoICEkcm93ICkKICAgICAgewoJcmV0dXJuICRkZmx0OwogICAgICB9CiAgICByZXR1cm4gJHJvd1snZGF0YSddOwogIH0KCgogIGZ1bmN0aW9uIEdldFRlbXBVc2VyUHJvcGVydGllcyggJHVpZCApCiAgewogICAgJGRiID0gJHRoaXMtPkdldERiKCk7CiAgICAkcSA9ICJTRUxFQ1QgKiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc2VsZnJlZ19wcm9wZXJ0aWVzCiAgICAgICAgICBXSEVSRSB1c2VyID0gPyI7CiAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxLCBhcnJheSggJHVpZCApICk7CiAgICBpZiggISRkYnJlc3VsdCB8fCAkZGJyZXN1bHQtPlJlY29yZENvdW50KCkgPT0gMCApCiAgICAgIHsKCXJldHVybiBmYWxzZTsKICAgICAgfQogICAgJHJlc3VsdCA9IGFycmF5KCk7CiAgICB3aGlsZSggJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSApCiAgICAgIHsKCSRyZXN1bHRbXSA9ICRyb3c7CiAgICAgIH0KICAgIHJldHVybiAkcmVzdWx0OwogIH0KfQoKPz4K]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/edituser.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBSZWdpc3RyYXRpb24gMSB0ZW1wbGF0ZSAtLT4KeyR0aXRsZX0Ke2lmICRtZXNzYWdlICE9ICcnfQogIHtpZiAkZXJyb3IgIT0gJyd9CiAgICA8cD48Zm9udCBjb2xvcj0icmVkIj57JG1lc3NhZ2V9PC9mb250PjwvcD4KICB7ZWxzZX0KICAgIDxwPnskbWVzc2FnZX08L3A+CiAgey9pZn0Key9pZn0KeyRzdGFydGZvcm19CntpZiAkY29udHJvbGNvdW50ID4gMH0KICA8Y2VudGVyPgogIDx0YWJsZSB3aWR0aD0iNzUlIj4Ke2ZvcmVhY2ggZnJvbT0kY29udHJvbHMgaXRlbT1jb250cm9sfQogIDx0cj4KICAgIDx0ZD57JGNvbnRyb2wtPmhpZGRlbn0KICAgIDxmb250IGNvbG9yPSJ7JGNvbnRyb2wtPmNvbG9yfSI+eyRjb250cm9sLT5wcm9tcHR9eyRjb250cm9sLT5tYXJrZXJ9PC9mb250PgogICAgPC90ZD4KICAgIDx0ZD57JGNvbnRyb2wtPmNvbnRyb2x9CiAgICB7aWYgJGNvbnRyb2wtPmV4dHJhdGV4dH0KICAgICAgJm5ic3A7eyRjb250cm9sLT5leHRyYXRleHR9CiAgICB7L2lmfQogICAgPC90ZD4KICA8L3RyPgp7L2ZvcmVhY2h9CiAgPC90YWJsZT4KICA8L2NlbnRlcj4KPGJyLz4Key9pZn0KeyRoaWRkZW59eyRoaWRkZW4yfXskc3VibWl0fXskY2FuY2VsfQp7JGVuZGZvcm19CjwhLS0gUmVnaXN0cmF0aW9uIDEgdGVtcGxhdGUgLS0+Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/error.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskdGl0bGVfZXJyb3J9PC9oMz4KPHA+eyRhZG1pbl9uYXZ9PC9wPgp7aWYgJG1lc3NhZ2UhPScnfTxwPnskbWVzc2FnZX08L3A+ey9pZn0=]]></data>
	</file>
	<file>
	  <filename>/templates/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/templates/prefs.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICRtZXNzYWdlIT0nJ308cD57JG1lc3NhZ2V9PC9wPnsvaWZ9Cnskc3RhcnRmb3JtfQo8dGFibGUgd2lkdGg9IjEwMCUiPgogIDx0cj4KICAgIDx0ZCB3aWR0aD0iNTAlIj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9pbmxpbmV9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2lubGluZX08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9ub3RpZnl9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X25vdGlmeX08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9jb25maXJtbWFpbF90b306PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfY29uZmlybW1haWxfdG99PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfZW1haWxfY29uZmlybWF0aW9ufTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9lbWFpbF9jb25maXJtYXRpb259PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfZm9yY2VfZW1haWxfdHdpY2V9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2ZvcmNlX2VtYWlsX3R3aWNlfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X3NraXBfZmluYWxfbXNnfTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9za2lwX2ZpbmFsX21zZ308L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9yZWRpcmVjdF9hZnRlcnJlZ2lzdGVyfTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9yZWRpcmVjdF9hZnRlcnJlZ2lzdGVyfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2xvZ2luX2FmdGVydmVyaWZ5fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9sb2dpbl9hZnRlcnZlcmlmeX08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9yZWRpcmVjdF9hZnRlcnZlcmlmeX06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfcmVkaXJlY3RfYWZ0ZXJ2ZXJpZnl9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaGlkZGVufXskc3VibWl0fXskY2FuY2VsfTwvcD4KCTwvZGl2PgogICA8L3RkPgogICA8dGQgd2lkdGg9IjUwJSIgdmFsaWduPSJ0b3AiPgogICAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9udW1yZXNldHJlY29yZHN9PC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRkYXRhX251bXJlc2V0cmVjb3Jkc308L3A+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+Cgk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3JlbW92ZTF3ZWVrfTwvcD4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+Cgk8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfcmVtb3ZlMW1vbnRofTwvcD4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+Cgk8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfcmVtb3ZlMWRheX08L3A+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+Cgk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3JlbW92ZWFsbH08L3A+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+Cgk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2xpc3QxZGF5fTwvcD4KICAgICAgPC9kaXY+CiAgIDwvdGQ+CiAgPC90cj4KPC90YWJsZT4KeyRlbmRmb3JtfQo=]]></data>
	</file>
	<file>
	  <filename>/templates/signup.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyR0aXRsZX0Ke2lmICRtZXNzYWdlICE9ICcnfQogIHtpZiAkZXJyb3IgIT0gJyd9CiAgICA8cD48Zm9udCBjb2xvcj0icmVkIj57JG1lc3NhZ2V9PC9mb250PjwvcD4KICB7ZWxzZX0KICAgIDxwPnskbWVzc2FnZX08L3A+CiAgey9pZn0Key9pZn0KeyRzdGFydGZvcm19CntpZiAkY29udHJvbGNvdW50ID4gMH0KICA8Y2VudGVyPgogIDx0YWJsZSB3aWR0aD0iNzUlIj4Ke2ZvcmVhY2ggZnJvbT0kY29udHJvbHMgaXRlbT1jb250cm9sfQogIDx0cj4KICAgIDx0ZD57JGNvbnRyb2wtPmhpZGRlbn0KICAgIDxmb250IGNvbG9yPSJ7JGNvbnRyb2wtPmNvbG9yfSI+eyRjb250cm9sLT5wcm9tcHR9eyRjb250cm9sLT5tYXJrZXJ9PC9mb250PgogICAgPC90ZD4KICAgIDx0ZD57JGNvbnRyb2wtPmNvbnRyb2x9PC90ZD4KICA8L3RyPgp7L2ZvcmVhY2h9CiAgPC90YWJsZT4KICA8L2NlbnRlcj4KPGJyLz4Key9pZn0KeyRoaWRkZW59eyRoaWRkZW4yfXskYmFja317JHN1Ym1pdH17JGNhbmNlbH0KeyRlbmRmb3JtfQo=]]></data>
	</file>
	<file>
	  <filename>/templates/userlist.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRqYXZhc2NyaXB0fQp7aWYgJG1lc3NhZ2UgIT0gJyd9CiAge2lmICRlcnJvciAhPSAnJ30KICAgIDxwPjxmb250IGNvbG9yPSJyZWQiPnskbWVzc2FnZX08L2ZvbnQ+PC9wPgogIHtlbHNlfQogICAgPHA+eyRtZXNzYWdlfTwvcD4KICB7L2lmfQp7ZWxzZX0KPGRpdiBjbGFzcz0icGFnZW9wdGlvbnMiPjxwIGNsYXNzPSJwYWdlb3B0aW9ucyI+eyRpdGVtY291bnR9Jm5ic3A7eyRpdGVtc2ZvdW5kfTwvcD48L2Rpdj4Ke2lmICRpdGVtY291bnQgPiAwfQp7JHN0YXJ0Zm9ybX0KPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4KCTx0aGVhZD4KCQk8dHI+CgkJCTx0aCB3aWR0aD0iNSUiPnskdXNlcmlkdGV4dH08L3RoPgoJCQk8dGg+eyR1c2VybmFtZXRleHR9PC90aD4KCQkJPHRoPnskZ3JwbmFtZXRleHR9PC90aD4KCQkJPHRoPnskY3JlYXRlZHRleHR9PC90aD4KCQkJPHRoPnskZW1haWx0ZXh0fTwvdGg+CgkJCTx0aCBjbGFzcz0icGFnZWljb24iPnskZGVsZXRldGV4dH08L3RoPgoJCQk8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgoJCQk8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgoJCTwvdHI+Cgk8L3RoZWFkPgoJPHRib2R5Pgp7Zm9yZWFjaCBmcm9tPSRpdGVtcyBpdGVtPWVudHJ5fQoJCTx0ciBjbGFzcz0ieyRlbnRyeS0+cm93Y2xhc3N9Ij4KCQkJPHRkPnskZW50cnktPnVzZXJpZH08L3RkPgoJCQk8dGQ+eyRlbnRyeS0+dXNlcm5hbWV9PC90ZD4KCQkJPHRkPnskZW50cnktPmdycG5hbWV9PC90ZD4KCQkJPHRkPnskZW50cnktPmNyZWF0ZWR9PC90ZD4KCQkJPHRkPnskZW50cnktPmVtYWlsfTwvdGQ+CgkJCTx0ZD57JGVudHJ5LT5tYXJrZGVsZXRlYm94fTwvdGQ+CgkJCTx0ZD57JGVudHJ5LT5lZGl0bGlua308L3RkPgoJCQk8dGQ+eyRlbnRyeS0+ZGVsZXRlbGlua308L3RkPgoJCTwvdHI+CgkgCnsvZm9yZWFjaH0KCTwvdGJvZHk+CjwvdGFibGU+CnskY2hlY2thbGxib3h9PGJyLz4KeyRzdWJtaXR9CnsvaWZ9CnskZW5kZm9ybX0Key9pZn0K]]></data>
	</file>
</module>
