<?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.1.6</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+QXV0aG9yOiBDYWxndXkxMDAwICZsdDtjYWxndXkxMDAwQGhvdG1haWwuY29tJmd0OzxiciAvPjxiciAvPlZlcnNpb246IDEuMS42PGJyIC8+PGJyIC8+Q2hhbmdlIEhpc3Rvcnk6PGJyIC8+PHVsPgo8bGk+VmVyc2lvbiAwLjAuMS4gT2N0IDIwMDUuIEluaXRpYWwgTlJQVCAoTm90IFJlYWR5IGZvciBQcmltZSBUaW1lKSByZWxlYXNlLjwvbGk+CjxsaT5WZXJzaW9uIDAuMS4wLiBPY3QgMjAwNS4gSW5pdGlhbCByZWxlYXNlLjwvbGk+CjxsaT5WZXJzaW9uIDAuMS4xLiBPY3QgMjAwNS4gU2V0IHRoZSBIVE1MIG1haWwgZmxhZy48L2xpPgo8bGk+VmVyc2lvbiAwLjEuMi4gT2N0IDIwMDUuIE1vdmVkIFJhbmRvbSBzdHVmZiBpbnRvIGZldXNlcnMsIGFuZCBhZGRlZCB0aGUgYWJpbGl0eSB0byBkZWxldGUgb2xkIGVudHJpZXMgZnJvbSB0aGUgcmVnaXN0cmF0aW9uIHRlbXBvcmFyeSB0YWJsZXM8L2xpPgo8bGk+PHA+VmVyc2lvbiAwLjEuMy4gLSBEZWMgMjAwNTwvcD4KPHA+Rml4ZWQgdGhlIHRvZ2dsZXMgaW4gdGhlIGFkbWluIHByZWZlcmVuY2VzLiAgQWxzbywgY2hhbmdlZCB0aGUgcGVybWlzc2lvbnMgbW9kZWwgdG8gbm90IHJlcXVpcmUgdGhlIHVuaXF1ZSBwZXJtaXNzaW9uIGFkZGVkIHByZXZpb3VzbHkgZm9yIHRoZSBzZWxmcmVnIG1vZHVsZS48L3A+CjxwPlRoaXMgcmVsZWFzZSB3YXMgcmVtb3ZlZCBkdWUgdG8gcG9zc2libGUgZXJyb3JzPC9wPgo8L2xpPgo8bGk+PHA+VmVyc2lvbiAwLjEuNC4gLSBKYW4gMjAwNjwvcD4KPHA+Rml4ZWQgbWlub3IgZXJyb3JzIHdpdGggQ2hlY2tQZXJtaXNzaW9uLCByZXBsYWNlZCBhbGwgYXNzaWduX2J5X3JlZnMncyB3aXRoIGFzc2lnbnMgZm9yIGhvcGVmdWwgcGhwNSBjb21wYXRpYmlsaXR5LjwvcD4KPGxpPjxwPlZlcnNpb24gMC4xLjUuIC0gSmFuIDIwMDY8L3A+CjxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIHNldCB0aGUgc3ViamVjdCBvZiB0aGUgY29uZmlybWF0aW9uIGVtYWlsLCBhbmQgYWRkZWQgdGhlIGFiaWxpdHkgdG8gc3BlY2lmeSBhIHRleHQgYm9keS4gIFN1YmplY3QsIGFuZCB0ZXh0IGJvZHkgYXJlIHJlcXVpcmVkLjwvcD4KPC9saT4KPGxpPjxwPlZlcnNpb24gMS4wLjAuIC0gRmViIDIwMDY8L3A+CjxwPkZpeGVkIGEgcHJvYmxlbSB3aXRoIHRoZSB2ZXJpZnkgbW9kZS48L3A+CjxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIGVkaXQgYW5kIGRlbGV0ZSB1c2Vycy4gd2l0aCBzZWxlY3Rpb24gb24gdGhlIGNoZWNrYm94ZXMsIGFuZCAiY2hlY2thbGwiPC9wPgo8cD5Ob3cgcmVxdWlyZSBGRVVzZXJzIDAuMS44IGFuZCBDTVNNYWlsZXIgMS43My45PC9wPgo8cD5BZGRlZCBhbm90aGVyIHRhYiBmb3IgdGhlICJ5b3VyIHNldHRpbmdzIGhhdmUgYmVlbiBhZGp1c3RlZCIgZW1haWwgdGVtcGxhdGVzPC9wPgo8cD5BZGRlZCBDU1YgRXhwb3J0aW5nPC9wPgo8cD5BZGRlZCBhICJEZWxldGUgYWxsIHVzZXJzIG9sZGVyIHRoYW4gYSBkYXkiIGJ1dHRvbjwvcD4KPHA+Tm93IHdvcmtzIHdpdGggdGhlIG1heGltdW0gbGVuZ3RoIGZpZWxkIG9mIEZFVXNlcnM8L3A+CjxwPkFkZGVkIHN1cHBvcnQgZm9yIGRyb3Bkb3ducyBhbmQgdGV4dCBhcmVhczwvcD4KPHA+RGlzYWxsb3cgcHVuY3R1YXRpb24gY2hhcmFjdGVycyBpbiB1c2VybmFtZTwvcD4KPC9saT4KPGxpPjxwPlZlcnNpb24gMS4wLjEuIC0gRmViIDIwMDY8L3A+CjxwPkFkZGVkIHRoZSBhYmlsaXR5IGZvciB1c2VycyB0byByZXF1ZXN0IGFub3RoZXIgcmVnaXN0cmF0aW9uIGVtYWlsICh1c2VzIHRoZSBzYW1lIGNvZGUpLCBpbmNhc2UgdGhleSBsb3N0IHRoZWlyIGZpcnN0IG9uZS48L3A+CjwvbGk+CjxsaT48cD5WZXJzaW9uIDEuMC4yLiAtIEZlYiAyMDA2PC9wPgo8cD5UaGUgIlJlcXVpcmUgZW1haWwgY29uZmlybWF0aW9uIiBjaGVja2JveCBub3cgd29ya3MuICBVc2VycyBhcmUgYWRkZWQgc3RyYWlnaHQgdG8gdGhlIGZyb250ZW5kIHVzZXJzIGRhdGFiYXNlPC9wPgo8cD5GaXhlZCBhIGJ1ZyB3aXRoIHRoZSBjb25maXJtYXRpb24gZW1haWxzIGhhdmluZyBsaW5rcyB0byB0aGUgYWRtaW4gc2VjdGlvbiAobmV3IGJ1ZyBvbmx5KS48L3A+CjwvbGk+CjxsaT48cD5WZXJzaW9uIDEuMC4zLiAtIEZlYiAyMDA2PC9wPgo8cD5BZGRlZCB0aGUgKG9wdGlvbmFsKSBhYmlsaXR5IHRvIHJlcXVpcmUgdGhlIHVzZXIgZW50ZXIgdGhlIGVtYWlsIGFkZHJlc3MgdHdpY2U8L3A+CjxwPkZpeGVkIGEgYnVnIHdpdGggdGhlIHVzZXJlZGl0ZWQgbWVzc2FnZSBub3QgYmVpbmcgdGhyb3duIHRocm91Z2ggc21hcnR5PC9wPgo8cD5GaXhlZCB0aGUgZGVmYXVsdCByZWdpc3RyYXRpb24gdGVtcGxhdGUgYSBiaXQgdG8gYWlkZSBpbiB2YWxpZGF0aW9uIGZvciBub24gcmVxdWlyZWQgZmllbGRzIChmaXhlZCBhIHdhcm5pbmcpPC9wPgo8cD5GaXggcHJvYmxlbXMgd2l0aCBpbmxpbmUgYW5kIG5vbi1pbmxpbmUgZm9ybXMgYW5kIGxpbmtzPC9wPgo8cD5IYW5kbGUgYW5vdGhlciBjYXNlIHdoZXJlIHRoZSBhZG1pbiBtYXkgbm90IGhhdmUgY3JlYXRlZCB0aGUgcHJvcGVyIHR5cGUgb2YgZW1haWwgcHJvcGVydHk8L3A+CjxwPkNoYW5nZWQgdG8gcmVxdWlyZSBDTVMgMC4xMi1iZXRhMiBhdCBhIG1pbmltdW0gKGZvciBzYWZldHkgcHVycG9zZXMpPC9wPgo8L2xpPgo8bGk+PHA+VmVyc2lvbiAxLjAuNC4gLSBNYXIgMjAwNjwvcD4KPHA+TW9yZSBjb250cm9sIG92ZXIgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIGZpZWxkIHNpemVzIChjb250cm9sbGVkIGJ5IGZldXNlcnMpPC9wPgo8cD5Db25maXJtYXRpb24gb24gZWRpdGluZyBwcmVmZXJlbmNlczwvcD4KPHA+UmVxdWlyZSAwLjEyIHByb3BlciBvZiBjbXMgYXMgYSBtaW5pbXVtPC9wPgo8L2xpPgo8bGk+PHA+VmVyc2lvbiAxLjEuMC4gLSBEZWMgMjAwNjwvcD4KICAgIDxwPkFkZGVkIGV2ZW50cyBhbmQgMS4wIGNvbXBhdGliaWxpdHk8L3A+CiAgICA8cD5DYXB0Y2hhIHN1cHBvcnQgKHRoYW5rcyBEaXR0bWFuKTwvcD4KPC9saT4KPGxpPjxwPlZlcnNpb24gMS4xLjEuIC0gQXByIDIwMDc8L3A+CiAgICA8cD5Ob3cgcmVxdWlyZSBGRVVzZXJzIDEuMi4wIChtaW5pbXVtKTwvcD4KICAgIDxwPlN1cHBvcnQgZm9yIG11bHRpc2VsZWN0IGxpc3RzIGluIGZldXNlcnM8L3A+CiAgICA8cD5PdXRwdXQgc29tZSBtb3JlIGZpZWxkcyB0byBzbWFydHkgdG8gYWxsb3cgZm9yIGluY3JlYXNlZCBhY2Nlc3NpYmlsaXR5PC9wPgogICAgPHA+U3BsaXQgY29kZSBvdXQgaW50byBtdWx0aXBsZSBmaWxlcyB0byByZWR1Y2Ugb3ZlcmFsbCBtZW1vcnkgZm9vdHByaW50PC9wPgogICAgPHA+SWdub3JlIGFsbCBpbWFnZSBmaWVsZHM8L3A+CiAgICA8cD5DaGFuZ2UgQ2FwdGNoYSBzdXBwb3J0IHRvIGJlIG9uIGJ5IGRlZmF1bHQgaWYgdGhlIENhcHRjaGEgbW9kdWxlIGlzIGZvdW5kPC9wPgo8L2xpPgo8bGk+PHA+VmVyc2lvbiAxLjEuMi4gLSBOb3YgMjAwNzwvcD4KICAgIDxwPkZpeCB0aGUgcHJvYmxlbSB3aXRoIHRoZSBVc2VyRGlzcGxheUxvc3RSZWdFbWFpbEZvcm0gdGhpbmc8L3A+CiAgICA8cD5BZGRzIHRoZSBpZCB0byB0aGUgb25Vc2VyUmVnaXN0ZXJlZCBFdmVudDwvcD4KICAgIDxwPkZpeGVzIHRoZSBwcm9ibGVtIHdpdGggY2hlY2tib3ggcHJvcGVydGllcyBub3Qgd29ya2luZzwvcD4KICAgIDxwPk5vdyBSZXF1aXJlcyBDTVMgMS4yIG1pbmltdW08L3A+CiAgICA8cD5Zb3UgY2FuIG5vdyB1c2Uge1NlbGZSZWdpc3RyYXRpb24gZ3JvdXA9J2JsYWgnfTwvcD4KICAgIDxwPk5vdyBSZXF1aXJlcyBDTVMgMS4zIG1pbmltdW0uPC9wPgo8L2xpPgo8bGk+PHA+VmVyc2lvbiAxLjEuMy4gLSBOb3YgMjAwNzwvcD4KICAgIDxwPkZpeGVzIGlzc3VlIHdpdGggU01UUCBFbWFpbCBhZGRyZXNzIHZhbGlkYXRpb248L3A+CiAgICA8cD5Ob3cgUmVxdWlyZSBGRVUgMS4zLjE8L3A+CiAgICA8cD5BZGRzIHRoZSBub2lubGluZSBwYXJhbWV0ZXI8L3A+CjwvbGk+CjxsaT48cD5WZXJzaW9uIDEuMS40LiAtIEphbiAyMDA4PC9wPgogICAgPHA+U3BsaXRzIGEgZmV3IG1vcmUgYWN0aW9ucyB1cCBpbnRvIHNlcGVyYXRlIGZpbGVzPC9wPgogICAgPHA+QWRkcyBwcmVmZXJlbmNlcyBhbmQgYmVoYXZpb3VyIGZvciBwYWdlcyB0byByZWRpcmVjdCB0byBhZnRlciBhIHVzZXIgaXMgcmVnaXN0ZXJlZCwgYW5kL29yIHZlcmlmaWVkPC9wPgo8L2xpPgo8bGk+PHA+VmVyc2lvbiAxLjEuNS4gLSBGZWIgMjAwODwvcD4KICAgIDxwPnVzZSA9JiBzeW50YXggdG8gYWxsIGNhbGxzIHRvIEdldE1vZHVsZUluc3RhbmNlKCk8L3A+CiAgICA8cD5SZW1vdmUgY2FuY2VsIGJ1dHRvbnMgZnJvbSBmb3JtcyAodGhleSBkaWRuJ3Qgd29yayBhbnl3YXlzKTwvcD4KPC9saT4KPGxpPjxwPlZlcnNpb24gMS4xLjYuIC0gTWFyIDIwMDg8L3A+CiAgICA8cD5MaWNlbnNlIGNoYW5nZTwvcD4KICAgIDxwPlJlbW92ZSBjYW5jZWwgYnV0dG9ucyBmcm9tIGZvcm1zPC9wPgogICAgPHA+TWlub3IgYnVnIGZpeGVzIGFuZCBjbGVhbnVwczwvcD4KPC9saT4KPC91bD48YnIgLz4=</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+bXlSZWRpcmVjdCggJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJHBhcmFtcyApOwoJICAgIH0KCX0KICAgIH0KfQoKLy8gZ2V0IHRoZSB1c2VybmFtZSBhbmQgcGFzc3dvcmQKJHVzZXJuYW1lID0gJyc7CmlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfdXNlcm5hbWUnXSApICkKICB7CiAgICAkdXNlcm5hbWUgPSB0cmltKCRwYXJhbXNbJ2lucHV0X3VzZXJuYW1lJ10pOwogIH0KJHBhc3N3b3JkID0gJyc7CmlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfcGFzc3dvcmQnXSApICkKICB7CiAgICAkcGFzc3dvcmQgPSB0cmltKCRwYXJhbXNbJ2lucHV0X3Bhc3N3b3JkJ10pOwogIH0KJHJlcGVhdHBhc3N3b3JkID0gJyc7CmlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfcmVwZWF0cGFzc3dvcmQnXSApICkKICB7CiAgICAkcmVwZWF0cGFzc3dvcmQgPSB0cmltKCRwYXJhbXNbJ2lucHV0X3JlcGVhdHBhc3N3b3JkJ10pOwogIH0KCi8vIGNoZWNrIGlmIHRoZSB1c2VybmFtZSBpcyB2YWxpZCBvciB0YWtlbgppZiggJHVzZXJuYW1lID09ICcnICkKICB7CiAgICAkcGFyYW1zWydlcnJvciddID0gMTsKICAgICRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9lbXB0eXVzZXJuYW1lJyk7CiAgICAkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJHBhcmFtcyApOwogICAgcmV0dXJuOwogIH0KaWYoICEkZmV1c2Vycy0+SXNWYWxpZFVzZXJuYW1lKCAkdXNlcm5hbWUgKSApCiAgewogICAgJHBhcmFtc1snZXJyb3InXSA9IDE7CiAgICAkcGFyYW1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfaW52YWxpZHVzZXJuYW1lJyk7CiAgICAkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJHBhcmFtcyApOwogICAgcmV0dXJuOwogIH0KJHVpZCA9ICR0aGlzLT5HZXRUZW1wVXNlcklEKCR1c2VybmFtZSk7CmlmKCAkdWlkICE9IGZhbHNlICYmICR1aWQgIT0gJHBhcmFtc1sndXNlcl9pZCddICkKICB7CiAgICAkcGFyYW1zWydlcnJvciddID0gMTsKICAgICRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl91c2VybmFtZXRha2VuJyk7CiAgICAkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJHBhcmFtcyApOwogICAgcmV0dXJuOwogIH0KCgovLyBjaGVjayBpZiB0aGUgcGFzc3dvcmRzIG1hdGNoIG9yIGlmIHRoZXkncmUgdmFsaWQKLy8gaWYgdGhleSdyZSBzZXQgYXRhbGwKaWYoICRwYXNzd29yZCAhPSAnJyApCiAgewogICAgaWYoICRwYXNzd29yZCAhPSAkcmVwZWF0cGFzc3dvcmQgKQogICAgICB7CgkkcGFyYW1zWydlcnJvciddID0gMTsKCSRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9wYXNzd29yZHNkb250bWF0Y2gnKTsKCSR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAkcGFyYW1zICk7CglyZXR1cm47CiAgICAgIH0KICAgICRtaW5wd2xlbiA9ICRmZXVzZXJzLT5HZXRQcmVmZXJlbmNlKCdtaW5fcGFzc3dvcmRsZW5ndGgnKTsKICAgICRtYXhwd2xlbiA9ICRmZXVzZXJzLT5HZXRQcmVmZXJlbmNlKCdtYXhfcGFzc3dvcmRsZW5ndGgnKTsKICAgIGlmKCBzdHJsZW4oJHBhc3N3b3JkKSA8ICRtaW5wd2xlbiB8fCBzdHJsZW4oJHBhc3N3b3JkKSA+ICRtYXhwd2xlbiApCiAgICAgIHsKCSRwYXJhbXNbJ2Vycm9yJ10gPSAxOwoJJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2ludmFsaWRwYXNzd29yZCcsCgkJCQkJIGFycmF5KCRtaW5wd2xlbiwkbWF4cHdsZW4pKTsKCSR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAkcGFyYW1zICk7CglyZXR1cm47CiAgICAgIH0KICB9CgoKLy8gZmluZCBhbiBlbWFpbCBmaWVsZC4uLiBzb21ldGhpbmcgdGhhdCdzIG5hbWUgaGFzIGVtYWlsIGluIGl0Ci8vIG9yIGlzIG9mIHR5cGUgMgokZW1haWxfZmllbGQgPSAnJzsKZm9yZWFjaCggJHBhcmFtcyBhcyAka2V5ID0+ICR2YWwgKQp7CiAgaWYoIHByZWdfbWF0Y2goICcvXmhpZGRlbl8vJywgJGtleSApICkKICAgIHsKICAgICAgJHByb3BuYW1lID0gc3Vic3RyKCRrZXksc3RybGVuKCdoaWRkZW5fJykpOwogICAgICAkYXJyID0gc3BsaXQoIjsiLCRwYXJhbXNbJGtleV0pOwoKICAgICAgaWYoIHByZWdfbWF0Y2goJy9lbWFpbC9pJywkYXJyWzBdKSB8fCAkYXJyWzFdID09IDIgKQoJewoJICAvLyBmb3VuZCBzb21ldGhpbmcgcmVzZW1ibGluZyBhbiBlbWFpbCBmaWVsZAoJICAkZW1haWxfZmllbGQgPSAnaW5wdXRfJy4kcHJvcG5hbWU7CgkgIGJyZWFrOwoJfQogICAgfQp9ICAgIAppZiggJGVtYWlsX2ZpZWxkID09ICcnICkKICB7CiAgICAkcGFyYW1zWydlcnJvciddID0gMTsKICAgICRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9ub2VtYWlsYWRkcmVzcycpOwogICAgJHRoaXMtPm15UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHQnLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsKICAgIHJldHVybjsKICB9CgovLyBmb3IgYW55IHR5cGUgNSBwcm9wZXJ0aWVzLCB3ZSBjaGFuZ2UgdGhlIAovLyBhcnJheSByZXN1bHQgaW50byBhbiBlbmNvZGVkIHN0cmluZwpmb3JlYWNoKCAkcGFyYW1zIGFzICRrZXkgPT4gJHZhbCApCnsKICBpZiggcHJlZ19tYXRjaCggJy9eaGlkZGVuXy8nLCAka2V5ICkgKQogICAgewogICAgICAkcHJvcG5hbWUgPSBzdWJzdHIoJGtleSxzdHJsZW4oJ2hpZGRlbl8nKSk7CiAgICAgICRhcnIgPSBzcGxpdCgiOyIsJHBhcmFtc1ska2V5XSk7CiAgICAgIGlmKCAkYXJyWzFdID09IDUgKQoJewoJICAkcGFyYW1zWydpbnB1dF8nLiRwcm9wbmFtZV0gPSBpbXBsb2RlKCcsJywkcGFyYW1zWydpbnB1dF8nLiRwcm9wbmFtZV0pOwoJfQogICAgfQp9CgovLyBnZW5lcmF0ZSBhIHVuaXF1ZSBjb2RlIHRoYXQgdGhlIHVzZXIgY2FuIGVudGVyIHRvIGRvdWJsZSBjb25maXJtCi8vIGhpcyBsb2dpbi4KJGNvZGUgPSAkZmV1c2Vycy0+R2VuZXJhdGVSYW5kb21QcmludGFibGVTdHJpbmcoKTsKCi8vIGhhdmUgdG8gYWRkIHRoZSByZWNvcmQgdG8gdGhlIGRhdGFiYXNlIHNvIHRoYXQgd2Uga25vdyB3aG8gdGhpcyBndXkgaXMKLy8gd2hlbiBoZSBjb21lcyBiYWNrCiRyZXR1cm4gPSAkdGhpcy0+RWRpdFRlbXBVc2VyKCAkcGFyYW1zWyd1c2VyX2lkJ10sICR1c2VybmFtZSwgJHBhc3N3b3JkLCAkY29kZSApOwppZiggJHJldHVyblswXSA9PSBmYWxzZSApCiAgewogICAgJHBhcmFtc1snZXJyb3InXSA9IDE7CiAgICAkcGFyYW1zWydtZXNzYWdlJ10gPSAkcmV0dXJuWzFdOwogICAgJHRoaXMtPm15UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHQnLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsKICAgIHJldHVybjsKICB9CgovLyByZW1vdmUgYW55IGV4aXN0aW5nIHByb3BlcnRpZXMKJHRoaXMtPkRlbGV0ZVRlbXBVc2VyUHJvcGVydGllcyggJHBhcmFtc1sndXNlcl9pZCddICk7CgovLyBhbmQgYWRkIGhpcyBwcm9wZXJ0aWVzIHRvbwovLyBidXQgZmlyc3Qgd2UgcmVtb3ZlIHRoZSBvbmVzIHdlJ3ZlIGhhbmRsZWQgYWxyZWFkeQokdG1wdWlkID0gJHBhcmFtc1sndXNlcl9pZCddOwp1bnNldCgkcGFyYW1zWydpbnB1dF91c2VybmFtZSddICk7CnVuc2V0KCRwYXJhbXNbJ2lucHV0X3Bhc3N3b3JkJ10gKTsKdW5zZXQoJHBhcmFtc1snaW5wdXRfcmVwZWF0cGFzc3dvcmQnXSApOwp1bnNldCgkcGFyYW1zWydoaWRkZW5fdXNlcm5hbWUnXSApOwp1bnNldCgkcGFyYW1zWydoaWRkZW5fcGFzc3dvcmQnXSApOwp1bnNldCgkcGFyYW1zWydoaWRkZW5fcmVwZWF0cGFzc3dvcmQnXSApOwoKZm9yZWFjaCggJHBhcmFtcyBhcyAka2V5ID0+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+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCdzZWxmcmVnX3Bvc3RyZWcxX3RlbXBsYXRlJyk7CiAgfQogZWxzZQogICB7CiAgICAgJGFjdGlvbiA9ICdwb3N0X2NyZWF0ZXVzZXInOwoKICAgICAvLyBpdCBhcHBlYXJzIHdlJ3JlIGFsbG93aW5nIGluc3RhbnQgcmVnaXN0cmF0aW9uCiAgICAgJHJlc3VsdCA9ICR0aGlzLT5fQ3JlYXRlRnJvbnRlbmRVc2VyKCAkdG1wdWlkLCAkcGFyYW1zWydncm91cF9pZCddLAoJCQkJCSAgICR1c2VybmFtZSwgJHBhc3N3b3JkICk7CgkKICAgICBpZiggJHJlc3VsdCAhPSAwICkKICAgICAgIHsKCSAkcGFyYW1zWydlcnJvciddID0gMTsKCSAkcGFyYW1zWydtZXNzYWdlJ10gPSAkcmVzdWx0OwoJICR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAkcGFyYW1zICk7CiAgICAgICB9CgogICAgIC8vIHNlbmQgYW4gZXZlbnQKICAgICAkdGhpcy0+U2VuZEV2ZW50KCdvbk5ld1VzZXInLAoJCSAgICAgIGFycmF5KCd1c2VybmFtZSc9PiR1c2VybmFtZSwKCQkJICAgICdlbWFpbCc9PiRwYXJhbXNbJGVtYWlsX2ZpZWxkXSkpOwoKICAgICAvLyB3b29ob29vLCB0aGUgdXNlciBiZSBjcmVhdGVkIChob3BlZnVsbHkpLgogICAgIC8vIGRlbGV0ZSB0aGUgcmVjb3JkcyBmcm9tIHRoZSBTZWxmUmVnIHRhYmxlcwogICAgICR0aGlzLT5EZWxldGVUZW1wVXNlclByb3BlcnRpZXMoICR0bXB1aWQgKTsKICAgICAkdGhpcy0+RGVsZXRlVGVtcFVzZXIoICR0bXB1aWQgKTsKICAgfQoKLy8gQ2hlY2sgaWYgd2UgaGF2ZSB0byByZWRpcmVjdCB0byBhIHBhZ2Ugb3Igbm90CgoKJGRlc3RwYWdlc3RyID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3JlZGlyZWN0X2FmdGVycmVnaXN0ZXInKTsKaWYoICFlbXB0eSgkZGVzdHBhZ2VzdHIpICkKICB7CiAgICAkY29udGVudG9wcyA9JiAkZ0Ntcy0+R2V0Q29udGVudE9wZXJhdGlvbnMoKTsKICAgICRkZXN0cGFnZWlkID0gJGNvbnRlbnRvcHMtPkdldFBhZ2VJREZyb21BbGlhcygkZGVzdHBhZ2VzdHIpOwogICAgaWYoICRkZXN0cGFnZWlkID09IEZBTFNFICkKICAgICAgewoJJHRtcGFsaWFzID0gJGNvbnRlbnRvcHMtPkdldFBhZ2VBbGlhc0Zyb21JRCgkZGVzdHBhZ2VzdHIpOwoJaWYoICEkdG1wYWxpYXMgKQoJICB7CgkgICAgJGRlc3RwYWdlaWQgPSAkdG1wYWxpYXM7CgkgIH0KICAgICAgfQogICAgJHJldHVybmlkID0gJGRlc3RwYWdlaWQ7CiAgfQoKaWYoICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzZWxmcmVnX3NraXBfZmluYWxfbXNnJykgKQogIHsKICAgICR0aGlzLT5SZWRpcmVjdENvbnRlbnQoJHJldHVybmlkKTsKICB9CgokdGhpcy0+UmVkaXJlY3QoJGlkLCRhY3Rpb24sJHJldHVybmlkLCRwYXJtcyk7Cgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/action.setprefs.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNlbGZSZWdpc3RyYXRpb24gKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IHVzZXJzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMKIyAgd2l0aCBhIHdlYnNpdGUuCiMgCiMgVmVyc2lvbjogMS4xLjUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgppZiggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oICdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycgKSApCiAgewogICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAKCQkJICAgICAkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwogICAgcmV0dXJuOwogIH0KCmlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfcmVtb3ZlYWxsJ10gKSApCiAgewogICAgJHRoaXMtPkV4cGlyZU9sZFRlbXBVc2VycygnLTUgeWVhcnMnKTsKICAgIHJldHVybjsKICB9CgppZiggaXNzZXQoICRwYXJhbXNbJ2lucHV0X3JlbW92ZTF3ZWVrJ10gKSApCiAgewogICAgJHRoaXMtPkV4cGlyZU9sZFRlbXBVc2VycygnLTEgd2VlaycpOwogICAgJHRoaXMtPm15UmVkaXJlY3RUb1RhYigkaWQsICdwcmVmcycpOwogIH0KCmlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfcmVtb3ZlMW1vbnRoJ10gKSApCiAgewogICAgJHRoaXMtPkV4cGlyZU9sZFRlbXBVc2VycygnLTEgbW9udGgnKTsKICAgICR0aGlzLT5teVJlZGlyZWN0VG9UYWIoJGlkLCAncHJlZnMnKTsKICB9CgppZiggaXNzZXQoICRwYXJhbXNbJ2lucHV0X3JlbW92ZTFtb250aCddICkgKQogIHsKICAgICR0aGlzLT5FeHBpcmVPbGRUZW1wVXNlcnMoJy0yNCBob3VycycpOwogICAgJHRoaXMtPm15UmVkaXJlY3RUb1RhYigkaWQsICdwcmVmcycpOwogIH0KCmlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfbGlzdDFkYXknXSApICkKICB7CiMgY3JlYXRlIGEgY3N2IGZpbGUgZm9yIHRlbXAgdXNlcnMgdGhhdCBoYXZlCiMgYmVlbiBpbiB0aGVyZSBtb3JlIHRoYW4gb25lIGRheQogICAgJHJlc3VsdCA9ICR0aGlzLT5DU1ZPbGRUZW1wVXNlcnMoJy0yNCBob3VycycpOwogICAgaWYoICRyZXN1bHQgPT0gJycgKQogICAgICB7CgllY2hvICI8aDM+Tm8gcmVzdWx0cyByZXR1cm5lZDwvaDM+IjsKCXJldHVybjsKICAgICAgfQogICAgaGVhZGVyKCdDb250ZW50LURlc2NyaXB0aW9uOiBGaWxlIFRyYW5zZmVyJyk7CiAgICBoZWFkZXIoJ0NvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vZm9yY2UtZG93bmxvYWQnKTsKICAgIGhlYWRlcignQ29udGVudC1EaXNwb3NpdGlvbjogYXR0YWNobWVudDsgZmlsZW5hbWU9dHJhcHBlZGluc2VsZnJlZy5jc3YnKTsKICAgIHdoaWxlKEBvYl9lbmRfY2xlYW4oKSk7CiAgICBlY2hvICRyZXN1bHQ7CiAgICBleGl0KCk7CiAgfQoKaWYoIGlzc2V0KCAkcGFyYW1zWydpbnB1dF9pbmxpbmUnXSApICkKICB7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnaW5saW5lX2Zvcm1zJywKCQkJICRwYXJhbXNbJ2lucHV0X2lubGluZSddKTsKICB9CmVsc2UKICB7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnaW5saW5lX2Zvcm1zJywgMCk7CiAgfQoKaWYoIGlzc2V0KCAkcGFyYW1zWydpbnB1dF9ub3RpZnknXSApICkKICB7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnbm90aWZ5X29uX3JlZ2lzdHJhdGlvbicsCgkJCSAkcGFyYW1zWydpbnB1dF9ub3RpZnknXSk7CiAgfQplbHNlCiAgewogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ25vdGlmeV9vbl9yZWdpc3RyYXRpb24nLCAwKTsKICB9CgppZiggaXNzZXQoICRwYXJhbXNbJ2lucHV0X2VtYWlsX2NvbmZpcm1hdGlvbiddICkgKQogIHsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdyZXF1aXJlX2VtYWlsX2NvbmZpcm1hdGlvbicsCgkJCSAkcGFyYW1zWydpbnB1dF9lbWFpbF9jb25maXJtYXRpb24nXSk7CiAgfQplbHNlCiAgewogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3JlcXVpcmVfZW1haWxfY29uZmlybWF0aW9uJywgMCk7CiAgfQoKaWYoIGlzc2V0KCAkcGFyYW1zWydpbnB1dF9jb25maXJtbWFpbF90byddICkgKQogIHsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdzZW5kX2VtYWlsc190bycsCgkJCSAkcGFyYW1zWydpbnB1dF9jb25maXJtbWFpbF90byddKTsKICB9CgppZiggaXNzZXQoICRwYXJhbXNbJ2lucHV0X2ZvcmNlX2VtYWlsX3R3aWNlJ10gKSApCiAgewogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3NlbGZyZWdfZm9yY2VfZW1haWxfdHdpY2UnLCAxKTsKICB9CmVsc2UKICB7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnc2VsZnJlZ19mb3JjZV9lbWFpbF90d2ljZScsIDApOwogIH0KCmlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfc2tpcF9maW5hbF9tc2cnXSApICkKICB7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnc2VsZnJlZ19za2lwX2ZpbmFsX21zZycsIDEpOwogIH0KZWxzZQogIHsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdzZWxmcmVnX3NraXBfZmluYWxfbXNnJywgMCk7CiAgfQoKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3JlZGlyZWN0X2FmdGVycmVnaXN0ZXInLAoJCSAgICAgdHJpbSgkcGFyYW1zWydpbnB1dF9yZWRpcmVjdF9hZnRlcnJlZ2lzdGVyJ10pKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3JlZGlyZWN0X2FmdGVydmVyaWZ5JywKCQkgICAgIHRyaW0oJHBhcmFtc1snaW5wdXRfcmVkaXJlY3RfYWZ0ZXJ2ZXJpZnknXSkpOwoKJHRoaXMtPm15UmVkaXJlY3RUb1RhYiggJGlkLCAncHJlZmVyZW5jZXMnICk7CgovLyBFT0YKPz4=]]></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+X0NyZWF0ZUZyb250ZW5kVXNlciggJHRtcHVzZXJbJ2lkJ10sICRncm91cF9pZCwKCQkJCSAgICAgICR1c2VybmFtZSwgJHBhc3N3b3JkICk7CmlmKCAkcmVzdWx0ICE9IDAgKQogIHsKICAgICRwYXJhbXNbJ21vZGUnXSA9ICd2ZXJpZnknOwogICAgJHBhcmFtc1snbWVzc2FnZSddID0gJHJlc3VsdDsKICAgICRwYXJhbXNbJ2Vycm9yJ10gPSAxOwogICAgJHRoaXMtPm15UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHQnLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsKICAgIHJldHVybjsKICB9CgovLyB3b29ob29vLCB0aGUgdXNlciBiZSBjcmVhdGVkIChob3BlZnVsbHkpLgovLyBkZWxldGUgdGhlIHJlY29yZHMgZnJvbSB0aGUgU2VsZlJlZyB0YWJsZXMKJHRoaXMtPkRlbGV0ZVRlbXBVc2VyUHJvcGVydGllcyggJHRtcHVzZXJbJ2lkJ10gKTsKJHRoaXMtPkRlbGV0ZVRlbXBVc2VyKCAkdG1wdXNlclsnaWQnXSApOwoKdW5zZXQoJHBhcmFtc1snbW9kZSddKTsKdW5zZXQoJHBhcmFtc1snYWN0aW9uJ10pOwoKLy8gQ2hlY2sgaWYgd2UgaGF2ZSB0byByZWRpcmVjdCB0byBhIHBhZ2Ugb3Igbm90CiRkZXN0cGFnZXN0ciA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdyZWRpcmVjdF9hZnRlcnJlZ2lzdGVyJyk7CmlmKCAhZW1wdHkoJGRlc3RwYWdlc3RyKSApCiAgewogICAgJGNvbnRlbnRvcHMgPSYgJGdDbXMtPkdldENvbnRlbnRPcGVyYXRpb25zKCk7CiAgICAkZGVzdHBhZ2VpZCA9ICRjb250ZW50b3BzLT5HZXRQYWdlSURGcm9tQWxpYXMoJGRlc3RwYWdlc3RyKTsKICAgIGlmKCAkZGVzdHBhZ2VpZCA9PSBGQUxTRSApCiAgICAgIHsKCSR0bXBhbGlhcyA9ICRjb250ZW50b3BzLT5HZXRQYWdlQWxpYXNGcm9tSUQoJGRlc3RwYWdlc3RyKTsKCWlmKCAhJHRtcGFsaWFzICkKCSAgewoJICAgICRkZXN0cGFnZWlkID0gJHRtcGFsaWFzOwoJICB9CiAgICAgIH0KICAgICRyZXR1cm5pZCA9ICRkZXN0cGFnZWlkOwogIH0KJHBhcm1zID0gYXJyYXkoKTsKJHBhcm1zWyd1c2VybmFtZSddID0gJHBhcmFtc1sndXNlcm5hbWUnXTsKJHRoaXMtPlJlZGlyZWN0KCRpZCwncG9zdF9jcmVhdGV1c2VyJywkcmV0dXJuaWQsJHBhcm1zKTsKCj8+]]></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+R2V0UHJlZmVyZW5jZSgncmVkaXJlY3RfYWZ0ZXJyZWdpc3RlcicpLAoJCQkJICAgICAgIDIwKSk7Cgokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9yZWRpcmVjdF9hZnRlcnZlcmlmeScsCgkJJHRoaXMtPkxhbmcoJ3JlZGlyZWN0X2FmdGVydmVyaWZ5JykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3JlZGlyZWN0X2FmdGVydmVyaWZ5JywKCQkkdGhpcy0+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+Q3JlYXRlVGV4dEFyZWEgKGZhbHNlLCAkaWQsICAKCQkJCQkgICAkbW9kdWxlLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJ3NlbGZyZWdfZW1haWx1c2VyZWRpdGVkX3RleHR0ZW1wbGF0ZScpLAoJCQkJCSAgICd0ZXh0dGVtcGxhdGVjb250ZW50JywgJycpLic8L3RkPjwvdHI+JzsKICAgIGVjaG8gJzx0ciB2YWxpZ249InRvcCI+PHRkPicuJG1vZHVsZS0+TGFuZygnaHRtbGJvZHknKS4nOjwvdGQ+PHRkPicuJG1vZHVsZS0+Q3JlYXRlVGV4dEFyZWEgKGZhbHNlLCAkaWQsICAKCQkJCQkgICAkbW9kdWxlLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJ3NlbGZyZWdfZW1haWx1c2VyZWRpdGVkX3RlbXBsYXRlJyksCgkJCQkJICAgJ3RlbXBsYXRlY29udGVudCcsICcnKS4nPC90ZD48L3RyPic7CiAgICBlY2hvICc8L3RhYmxlPic7ICAKICAgIGVjaG8gJG1vZHVsZS0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ3N1Ym1pdGJ1dHRvbicsCgkJCQkgICAkbW9kdWxlLT5MYW5nICgnc3VibWl0JykpOwogICAgZWNobyAkbW9kdWxlLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnZGVmYXVsdGJ1dHRvbicsCgkJCQkgICAkbW9kdWxlLT5MYW5nICgnZGVmYXVsdCcpKTsKICAgIGVjaG8gJG1vZHVsZS0+Q3JlYXRlRm9ybUVuZCAoKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBEaXNwbGF5QWRtaW5TZW5kQW5vdGhlckVtYWlsVGVtcGxhdGVUYWIoJGlkLCAkcGFyYW1zLCAkcmV0dXJuX2lkKQogICBOT1QgUEFSVCBPRiBUSEUgTU9EVUxFIEFQSQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwpmdW5jdGlvbiBfRGlzcGxheUFkbWluU2VuZEFub3RoZXJFbWFpbFRlbXBsYXRlVGFiKCAmJG1vZHVsZSwgJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQgKQogIHsKICAgIGVjaG8gJG1vZHVsZS0+Q3JlYXRlRm9ybVN0YXJ0ICgkaWQsICdzZXRfc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZScpOwogICAgZWNobyAnPGJyLz4nLiRtb2R1bGUtPkxhbmcoJ3RpdGxlX3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnKS4KICAgICAgJzxwPicuJG1vZHVsZS0+Q3JlYXRlVGV4dEFyZWEgKGZhbHNlLCAkaWQsCgkJCQkgICAkbW9kdWxlLT5HZXRUZW1wbGF0ZSAoJ3NlbGZyZWdfc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZScpLAoJCQkJICAgJ3RlbXBsYXRlY29udGVudCcsICcnKS4nPC9wPic7CiAgICBlY2hvICc8YnIvPicuJG1vZHVsZS0+TGFuZygndGl0bGVfcG9zdF9zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJykuCiAgICAgICc8cD4nLiRtb2R1bGUtPkNyZWF0ZVRleHRBcmVhIChmYWxzZSwgJGlkLAoJCQkJCSAgICRtb2R1bGUtPkdldFRlbXBsYXRlICgnc2VsZnJlZ19wb3N0X3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnKSwKCQkJCQkgICAndGVtcGxhdGVjb250ZW50MicsICcnKS4nPC9wPic7CiAgICBlY2hvICRtb2R1bGUtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdzdWJtaXRidXR0b24nLAoJCQkJICAgJG1vZHVsZS0+TGFuZyAoJ3N1Ym1pdCcpKTsKICAgIGVjaG8gJG1vZHVsZS0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ2RlZmF1bHRidXR0b24nLAoJCQkJICAgJG1vZHVsZS0+TGFuZyAoJ2RlZmF1bHQnKSk7CiAgICBlY2hvICRtb2R1bGUtPkNyZWF0ZUZvcm1FbmQgKCk7CiAgfQoKPz4=]]></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[PD9waHAKJGxhbmdbJ3NraXBfZmluYWxfbXNnJ10gPSAnRG9uXCd0IGRpc3BsYXkgdGhlIGZpbmFsIG1lc3NhZ2UgYWZ0ZXIgcmVnaXN0cmF0aW9uJzsKJGxhbmdbJ3JlZGlyZWN0X2FmdGVycmVnaXN0ZXInXSA9ICdQYWdlSUQvQWxpYXMgdG8gcmVkaXJlY3QgdG8gYWZ0ZXIgcmVnaXN0cmF0aW9uIGlzIGNvbXBsZXRlJzsKJGxhbmdbJ3JlZGlyZWN0X2FmdGVydmVyaWZ5J10gPSAnUGFnZUlEL0FsaWFzIHRvIHJlZGlyZWN0IHRvIGFmdGVyIHZlcmlmaWNhdGlvbiBzdGVwIGlzIGNvbXBsZXRlJzsKJGxhbmdbJ3VzZV9pbmxpbmVfZm9ybXMnXSA9ICdVc2UgSW5saW5lIEZvcm1zIDxlbT4oZm9ybSBvdXRwdXQgcmVwbGFjZXMgdGhlIG1vZHVsZSB0YWcsIG5vdCBhbGwgb2YgY29udGVudCk8L2VtPic7CiRsYW5nWydlcnJvcl9jb2Rlc2RvbnRtYXRjaCddID0gJ1RoZSB2YWxpZGF0aW9uIGtleSBzdXBwbGllZCBpcyBpbnZhbGlkJzsKJGxhbmdbJ2V2ZW50X2Rlc2NyaXB0aW9uX29uTmV3VXNlciddID0gJ0FuIGV2ZW50IGluZGljYXRpbmcgdGhhdCBhIG5ldyB1c2VyIGhhcyBjb21wbGV0ZWQgdGhlIHJlZ2lzdHJhdGlvbiBmb3JtJzsKJGxhbmdbJ2V2ZW50X2Rlc2NyaXB0aW9uX29uVXNlclJlZ2lzdGVyZWQnXSA9ICdBbiBldmVudCBpbmRpY2F0aW5nIHRoYXQgYSB1c2VyIGhhcyB2ZXJpZmllZCBoaXMgaW5mb3JtYXRpb24gYW5kIGlzIG5vdyBjb21wbGV0ZWx5IHJlZ2lzdGVyZWQnOwokbGFuZ1snZXZlbnRfaGVscF9vbk5ld1VzZXInXSA9ICcKPHA+QW4gZXZlbnQgaW5kaWNhdGluZyB0aGF0IGEgbmV3IHVzZXIgaGFzIGNvbXBsZXRlZCB0aGUgcmVnaXN0cmF0aW9uIGZvcm08L3A+CjxoND5QYXJhbWV0ZXJzPC9oND4KPHVsPgo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBUaGUgbmV3IHVzZXJzIHNlbGVjdGVkIHVzZXJuYW1lPC9saT4KPGxpPjxlbT5lbWFpbDwvZW0+IC0gVGhlIG5ldyB1c2VycyBlbWFpbCBhZGRyZXNzPC9saT4KPC91bD4KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfb25Vc2VyUmVnaXN0ZXJlZCddID0gJwo8cD5BbiBldmVudCBpbmRpY2F0aW5nIHRoYXQgYSB1c2VyIGhhcyBiZWVuIHZlcmlmaWVkIGFuZCBpcyBub3cgcmVnaXN0ZXJlZCB3aXRoIGZldXNlcnM8L3A+CjxoND5QYXJhbWV0ZXJzPC9oND4KPHVsPgo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBUaGUgcmVnaXN0ZXJlZCB1c2VybmFtZTwvbGk+CjxsaT48ZW0+aWQ8L2VtPiAtIFRoZSBuZXcgdXNlcnMgdWlkPC9saT4KPC91bD4KJzsKJGxhbmdbJ2NvbmZpcm1fc3VibWl0cHJlZnMnXSA9ICdDaGFuZ2UgYWRtaW4gcHJlZmVyZW5jZXM/JzsKJGxhbmdbJ2luZm9fYWRtaW5fcGFzc3dvcmQnXSA9ICdMZWF2ZSB0aGlzIGZpZWxkIGVtcHR5IHRvIHByZXNlcnZlIHRoZSB1c2VyIHBhc3N3b3JkJzsKJGxhbmdbJ2luZm9fYWRtaW5fcmVwZWF0cGFzc3dvcmQnXSA9ICdMZWF2ZSB0aGlzIGZpZWxkIGVtcHR5IHRvIHByZXNlcnZlIHRoZSB1c2VyIHBhc3N3b3JkJzsKJGxhbmdbJ2Vycm9yX2VtYWlsZG9lc25vdG1hdGNoJ10gPSAnRW1haWwgYWRkcmVzc2VzIGRvIG5vdCBtYXRjaCc7CiRsYW5nWydmb3JjZV9lbWFpbF90d2ljZSddID0gJ1JlcXVpcmUgdXNlcnMgdG8gZW50ZXIgdGhlaXIgZW1haWwgYWRkcmVzcyB0d2ljZSc7CiRsYW5nWydhZ2FpbiddID0gJ2FnYWluJzsKJGxhbmdbJ2RlbGV0ZXNlbHVzZXJzJ10gPSAnRGVsZXRlIFNlbGVjdGVkIFVzZXJzJzsKJGxhbmdbJ2Vycm9yX25vcHJvcGRlZm5zJ10gPSAnTm8gcHJvcGVydHkgZGVmaW5pdGlvbnMsIG9yIHByb2JsZW0gcmV0cmVpdmluZyB0aGVtIGZyb20gdGhlIGRhdGFiYXNlJzsKJGxhbmdbJ2Vycm9yX25vZ3JvdXBzJ10gPSAnTm8gZ3JvdXBzLCBvciBwcm9ibGVtIHJldHJlaXZpbmcgZ3JvdXAgbGlzdCc7CiRsYW5nWydlcnJvcl9kYmVycm9yJ10gPSAnRGF0YWJhc2UgZXJyb3InOwokbGFuZ1sndGl0bGVfcG9zdF9zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJ10gPSAnUG9zdCBMb3N0IEVtYWlsIFRlbXBsYXRlJzsKJGxhbmdbJ3RpdGxlX3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnXSA9ICdMb3N0IEVtYWlsIFRlbXBsYXRlJzsKJGxhbmdbJ2NsaWNraGVyZSddID0gJ0NsaWNrIEhlcmUnOwokbGFuZ1snbXNnX3NlbmRhbm90aGVyZW1haWwnXSA9ICdJIGhhdmUgYWxyZWFkeSBjb21wbGV0ZWQgdGhlIHJlZ2lzdHJhdGlvbiBmb3JtLCBidXQgZGlkIG5vdCByZWNlaXZlIGFuIGVtYWlsLCBjYW4geW91IHBsZWFzZSByZS1zZW5kIGl0JzsKJGxhbmdbJ3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnXSA9ICdMb3N0IEVtYWlsIFRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fdXNlcnZlcmlmaWVkJ10gPSAnQSBuZXcgdXNlciBoYXMgYmVlbiBhZGRlZCB0byBGcm9udEVuZFVzZXJzJzsKJGxhbmdbJ2VkaXQnXSA9ICdFZGl0JzsKJGxhbmdbJ3Vua25vd24nXSA9ICdVbmtub3duJzsKJGxhbmdbJ3NlbGVjdCddID0gJ1NlbGVjdCc7CiRsYW5nWydjaGVja19hbGwnXSA9ICdDaGVjayBBbGwnOwokbGFuZ1sndW5jaGVja19hbGwnXSA9ICdVbmNoZWNrIEFsbCc7CiRsYW5nWydzZW5kX2FkanVzdG1lbnRlbWFpbCddID0gJ1NlbmQgYW4gZW1haWwgdG8gdGhlIHVzZXInOwokbGFuZ1sndHh0X2FkanVzdG1lbnRlbWFpbCddID0gJyhpbmZvcm1zIHRoZSB1c2VyIHRoYXQgdGhlaXIgYWNjb3VudCBoYXMgYmVlbiBhZGp1c3RlZCc7CiRsYW5nWyd0eHRfY2hhbmdlcGFzc3dvcmQnXSA9ICdGaWxsIGluIHRoZXNlIGZpZWxkcyB0byBjaGFuZ2UgdGhlIHVzZXIgcGFzc3dvcmQnOwokbGFuZ1snZWRpdHVzZXInXSA9ICdFZGl0IFVzZXInOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGV1c2VyJ10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIHBhcnRpYWxseSByZWdpc3RlcmVkIHVzZXI/JzsKJGxhbmdbJ2hkcl91c2VyaWQnXSA9ICdVc2VySUQnOwokbGFuZ1snaGRyX3VzZXJuYW1lJ10gPSAnVXNlcm5hbWUnOwokbGFuZ1snaGRyX2dycG5hbWUnXSA9ICdHcm91cCc7CiRsYW5nWydoZHJfY3JlYXRlZCddID0gJ0NyZWF0ZWQnOwokbGFuZ1snaGRyX2VtYWlsJ10gPSAnRW1haWknOwokbGFuZ1sndXNlcnNmb3VuZCddID0gJ1VzZXJzIGZvdW5kIChsaW1pdGVkIHRvIGEgbWF4aW11bSBvZiAyNTApJzsKJGxhbmdbJ3VzZXJzJ10gPSAnVXNlcnMnOwokbGFuZ1snbGlzdDFkYXknXSA9ICdMaXN0IGFsbCBlbnRyaWVzIG1vcmUgdGhhbiAxIGRheSBvbGQnOwokbGFuZ1snc3ViamVjdCddID0gJ1N1YmplY3QgZm9yIG91dGdvaW5nIGVtYWlsJzsKJGxhbmdbJ2h0bWxib2R5J10gPSAnSFRNTCBtZXNzYWdlIGJvZHknOwokbGFuZ1sndGV4dGJvZHknXSA9ICdUZXh0IG1lc3NhZ2UgYm9keSc7CiRsYW5nWydwcm9tcHRfbnVtcmVzZXRyZWNvcmQnXSA9ICdBIG51bWJlciBvZiB1c2VycyBhcmUgaW4gdGhlIG1pZGRsZSBvZiByZWdpc3RlcmluZy4gIEN1cnJlbnRseSB0aGlzIGNvdW50IGlzIGF0Oic7CiRsYW5nWydyZW1vdmUxd2VlayddID0gJ1JlbW92ZSBhbGwgZW50cmllcyBtb3JlIHRoYW4gYSB3ZWVrIG9sZCc7CiRsYW5nWydyZW1vdmUxbW9udGgnXSA9ICdSZW1vdmUgYWxsIGVudHJpZXMgbW9yZSB0aGFuIGEgbW9udGggb2xkJzsKJGxhbmdbJ3JlbW92ZTFkYXknXSA9ICdSZW1vdmUgYWxsIGVudHJpZXMgbW9yZSB0aGFuIGEgZGF5IG9sZCc7CiRsYW5nWydyZW1vdmVhbGwnXSA9ICdSZW1vdmUgYWxsIGVudHJpZXMnOwokbGFuZ1snYXJleW91c3VyZSddID0gJ0FyZSB5b3Ugc3VyZT8nOyAKJGxhbmdbJ3JlZ2lzdHJhdGlvbl9pbmZvX2VkaXRlZCddID0gJ1lvdXIgcmVnaXN0cmF0aW9uIGluZm8gaGFzIGJlZW4gbW9kaWZpZWQnOwokbGFuZ1sncmVnaXN0cmF0aW9uX2NvbmZpcm1hdGlvbiddID0gJ1JlZ2lzdHJhdGlvbiBDb25maXJtYXRpb24nOwokbGFuZ1sndXNlcl9yZWdpc3RyYXRpb24nXSA9ICdSZWdpc3Rlcic7CiRsYW5nWydmaW5hbG1lc3NhZ2VfdGVtcGxhdGUnXSA9ICdGaW5hbCBNZXNzYWdlIFRlbXBsYXRlJzsKJGxhbmdbJ3RpdGxlX3ZlcmlmeXJlZ2lzdHJhdGlvbiddID0gJ1ZlcmlmeSBSZWdpc3RyYXRpb24nOwokbGFuZ1snY29kZSddID0gJ1ZhbGlkYXRpb24gS2V5JzsKJGxhbmdbJ2RlZmF1bHQnXSA9ICdTZXQgVG8gRGVmYXVsdHMnOwokbGFuZ1snZXJyb3Jfbm9wcm9wZXJ0aWVzJ10gPSAnTm8gcHJvcGVydGllcyBmb3VuZCBmb3IgdGhpcyB1c2VyJzsKJGxhbmdbJ2Vycm9yX25vcHJvcHJlbGF0aW9ucyddID0gJ05vIHByb3BlcnR5IHJlbGF0aW9ucyc7CiRsYW5nWydlcnJvcl9lbWFpbGludmFsaWQnXSA9ICdJbnZhbGlkIGVtYWlsIGFkZHJlc3MnOwokbGFuZ1snZXJyb3Jfbm9lbWFpbGFkZHJlc3MnXSA9ICdObyB2YWxpZCBlbWFpbCBhZGRyZXNzIGZpZWxkIGZvdW5kJzsKJGxhbmdbJ2Vycm9yX3JlcXVpcmVkZmllbGQnXSA9ICdGaWVsZCAlcyBtdXN0IGJlIGZpbGxlZCBpbic7CiRsYW5nWydyZWdpc3RyYXRpb24xX3RlbXBsYXRlJ10gPSAnUmVnaXN0cmF0aW9uIFRlbXBsYXRlIDEnOwokbGFuZ1sncmVnaXN0cmF0aW9uMl90ZW1wbGF0ZSddID0gJ1JlZ2lzdHJhdGlvbiBUZW1wbGF0ZSAyJzsKJGxhbmdbJ2VtYWlsY29uZmlybV90ZW1wbGF0ZSddID0gJ0NvbmZpcm1hdGlvbiBFbWFpbCBUZW1wbGF0ZSc7CiRsYW5nWydlbWFpbHVzZXJlZGl0ZWRfdGVtcGxhdGUnXSA9ICdVc2VyIEluZm8gQ2hhbmdlZCBUZW1wbGF0ZSc7CiRsYW5nWydwcmVmZXJlbmNlcyddID0gJ1ByZWZlcmVuY2VzJzsKJGxhbmdbJ2Vycm9yX3VzZXJub3Rmb3VuZCddID0gJ1VzZXIgbm90IGZvdW5kJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWR1c2VybmFtZSddID0gJ1VzZXJuYW1lIGlzIGludmFsaWQgKHRvbyBsb25nLCB0b28gc2hvcnQsIG9yIGNvbnRhaW5zIGludmFsaWQgY2hhcmFjdGVycykuICBIaW50LSBVc2VybmFtZXMgbXVzdCBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMgKG5vIHNwYWNlcyknOwokbGFuZ1snZXJyb3JfdXNlcm5hbWV0YWtlbiddID0gJ1RoYXQgdXNlcm5hbWUgaXMgY3VycmVudGx5IGluIHVzZSc7CiRsYW5nWydlcnJvcl9wYXNzd29yZHNkb250bWF0Y2gnXSA9ICdFUlJPUjogUGFzc3dvcmRzIGRvbnQgbWF0Y2gnOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhc3N3b3JkJ10gPSAnUGFzc3dvcmQgaXMgaW52YWxpZCAocGFzc3dvcmRzIG11c3QgYmUgYmV0d2VlbiAlcyBhbmQgJXMgY2hhcmFjdGVycyBpbiBsZW5ndGgpJzsKJGxhbmdbJ2Vycm9yX2VtcHR5dXNlcm5hbWUnXSA9ICdVc2VybmFtZSBjYW5ub3QgYmUgZW1wdHknOwokbGFuZ1sncmVwZWF0cGFzc3dvcmQnXSA9ICdQYXNzd29yZCAoYWdhaW4pJzsKJGxhbmdbJ3Bhc3N3b3JkJ10gPSAnUGFzc3dvcmQnOwokbGFuZ1sndXNlcm5hbWUnXSA9ICdVc2VybmFtZSc7CiRsYW5nWydjYXB0Y2hhX3RpdGxlJ10gPSAnRW50ZXIgdGhlIHRleHQgZnJvbSB0aGUgaW1hZ2UnOwokbGFuZ1snZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJ10gPSAnSW5zdWZmaWNpZW50IG51bWJlciAob3IgaW5jb3JyZWN0KSBwYXJhbWV0ZXJzIHN1cHBsaWVkIHRvIG1vZHVsZSc7CiRsYW5nWydlcnJvcl9ub2ZldXNlcnNtb2R1bGUnXSA9ICdDb3VsZCBub3QgZ2V0IGluc3RhbmNlIG9mIEZyb250RW5kVXNlcnMgbW9kdWxlJzsKJGxhbmdbJ2Vycm9yX25vc3VjaGdyb3VwJ10gPSAnR3JvdXAgbmFtZSBzcGVjaWZpZWQgZG9lcyBub3QgZXhpc3QnOwokbGFuZ1snZXJyb3JfY2FwdGNoYW1pc21hdGNoJ10gPSAnVGhlIHRleHQgZnJvbSB0aGUgaW1hZ2Ugd2FzIG5vdCBlbnRlcmVkIGNvcnJlY3RseSc7CiRsYW5nWydzZW5kX2VtYWlsc190byddID0gJ1JlZ2lzdHJhdGlvbiBlbWFpbHMgc2hvdWxkIGJlIHNlbnQgdG8nOwokbGFuZ1sncmVxdWlyZV9lbWFpbF9jb25maXJtYXRpb24nXSA9ICdSZXF1aXJlIHRoZSB1c2VyIHRvIGNvbmZpcm0gcmVnaXN0cmF0aW9uIHZpYSBlbWFpbCc7CiRsYW5nWydub3RpZnlfb25fcmVnaXN0cmF0aW9uJ10gPSAnU2VuZCBhbiBlbWFpbCBub3RpZmljYXRpb24gd2hlbiBzb21lb25lIHJlZ2lzdGVycyc7CiRsYW5nWydjYW5jZWwnXSA9ICdDYW5jZWwnOwokbGFuZ1snc3VibWl0J10gPSAnU3VibWl0JzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1NlbGYgUmVnaXN0cmF0aW9uIE1vZHVsZSc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0luc3RhbGxhdGlvbiBzdWNjZXNzZnVsbCwgcGxlYXNlIHJlbWVtYmVyIHRvIHNldCB0aGUgJnF1b3Q7TW9kaWZ5IFNlbGZSZWdpc3RyYXRpb24gU2V0dGluZ3MmcXVvdDsgcGVybWlzc2lvbi4gIElmIHRoZSBDYXB0Y2hhIG1vZHVsZSBpcyBpbnN0YWxsZWQsIHRoZW4gY2FwdGNoYSBmdW5jdGlvbmFsaXR5IGlzIGVuYWJsZWQgYnkgZGVmYXVsdC4gIFdlIHN0cm9uZ2x5IHJlY2NvbW1lbmQgdGhhdCB5b3UgaW5zdGFsbCB0aGlzIG1vZHVsZS4gIElmIHRoZSBDYXB0Y2hhIG1vZHVsZSBpcyBpbnN0YWxsZWQsIGFuZCB5b3Ugd2FudCB0byBkaXNhYmxlIGl0LCB1c2UgdGhlIG5vY2FwdGNoYSBwYXJhbSBpbiB5b3VyIHNlbGZyZWdpc3RyYXRpb24gdGFnLic7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnU2VsZiBSZWdpc3RyYXRpb24gbW9kdWxlIGlzIHVuaW5zdGFsbGVkLiAgU2VlIHlvdSBsYXRlci4nOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb2R1bGUgVW5pbnN0YWxsZWQuJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ01vZHVsZSB2ZXJzaW9uICVzIGluc3RhbGxlZC4nOwokbGFuZ1sncHJlZnN1cGRhdGVkJ10gPSAnTW9kdWxlIHByZWZlcmVuY2VzIHVwZGF0ZWQuJzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ0FjY2VzcyBEZW5pZWQuIFBsZWFzZSBjaGVjayB5b3VyIHBlcm1pc3Npb25zLic7CiRsYW5nWydlcnJvciddID0gJ0Vycm9yISc7CiRsYW5nWyd1cGdyYWRlZCddID0gJ01vZHVsZSB1cGdyYWRlZCB0byB2ZXJzaW9uICVzLic7CiRsYW5nWyd0aXRsZV9tb2RfcHJlZnMnXSA9ICdNb2R1bGUgUHJlZmVyZW5jZXMnOwokbGFuZ1sndGl0bGVfbW9kX2FkbWluJ10gPSAnTW9kdWxlIEFkbWluIFBhbmVsJzsKJGxhbmdbJ3RpdGxlX2FkbWluX3BhbmVsJ10gPSAnU2VsZiBSZWdpc3RyYXRpb24gTW9kdWxlJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnQSBtb2R1bGUgdGhhdCBhbGxvd3MgZnJvbnQgZW5kIHVzZXJzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMuJzsKJGxhbmdbJ3dlbGNvbWVfdGV4dCddID0gJzxwPldlbGNvbWUgdG8gdGhlIHNlbGYgcmVnaXN0cmF0aW9uIG1vZHVsZS48L3A+JzsKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4KPGxpPlZlcnNpb24gMC4wLjEuIE9jdCAyMDA1LiBJbml0aWFsIE5SUFQgKE5vdCBSZWFkeSBmb3IgUHJpbWUgVGltZSkgcmVsZWFzZS48L2xpPgo8bGk+VmVyc2lvbiAwLjEuMC4gT2N0IDIwMDUuIEluaXRpYWwgcmVsZWFzZS48L2xpPgo8bGk+VmVyc2lvbiAwLjEuMS4gT2N0IDIwMDUuIFNldCB0aGUgSFRNTCBtYWlsIGZsYWcuPC9saT4KPGxpPlZlcnNpb24gMC4xLjIuIE9jdCAyMDA1LiBNb3ZlZCBSYW5kb20gc3R1ZmYgaW50byBmZXVzZXJzLCBhbmQgYWRkZWQgdGhlIGFiaWxpdHkgdG8gZGVsZXRlIG9sZCBlbnRyaWVzIGZyb20gdGhlIHJlZ2lzdHJhdGlvbiB0ZW1wb3JhcnkgdGFibGVzPC9saT4KPGxpPjxwPlZlcnNpb24gMC4xLjMuIC0gRGVjIDIwMDU8L3A+CjxwPkZpeGVkIHRoZSB0b2dnbGVzIGluIHRoZSBhZG1pbiBwcmVmZXJlbmNlcy4gIEFsc28sIGNoYW5nZWQgdGhlIHBlcm1pc3Npb25zIG1vZGVsIHRvIG5vdCByZXF1aXJlIHRoZSB1bmlxdWUgcGVybWlzc2lvbiBhZGRlZCBwcmV2aW91c2x5IGZvciB0aGUgc2VsZnJlZyBtb2R1bGUuPC9wPgo8cD5UaGlzIHJlbGVhc2Ugd2FzIHJlbW92ZWQgZHVlIHRvIHBvc3NpYmxlIGVycm9yczwvcD4KPC9saT4KPGxpPjxwPlZlcnNpb24gMC4xLjQuIC0gSmFuIDIwMDY8L3A+CjxwPkZpeGVkIG1pbm9yIGVycm9ycyB3aXRoIENoZWNrUGVybWlzc2lvbiwgcmVwbGFjZWQgYWxsIGFzc2lnbl9ieV9yZWZzXCdzIHdpdGggYXNzaWducyBmb3IgaG9wZWZ1bCBwaHA1IGNvbXBhdGliaWxpdHkuPC9wPgo8bGk+PHA+VmVyc2lvbiAwLjEuNS4gLSBKYW4gMjAwNjwvcD4KPHA+QWRkZWQgdGhlIGFiaWxpdHkgdG8gc2V0IHRoZSBzdWJqZWN0IG9mIHRoZSBjb25maXJtYXRpb24gZW1haWwsIGFuZCBhZGRlZCB0aGUgYWJpbGl0eSB0byBzcGVjaWZ5IGEgdGV4dCBib2R5LiAgU3ViamVjdCwgYW5kIHRleHQgYm9keSBhcmUgcmVxdWlyZWQuPC9wPgo8L2xpPgo8bGk+PHA+VmVyc2lvbiAxLjAuMC4gLSBGZWIgMjAwNjwvcD4KPHA+Rml4ZWQgYSBwcm9ibGVtIHdpdGggdGhlIHZlcmlmeSBtb2RlLjwvcD4KPHA+QWRkZWQgdGhlIGFiaWxpdHkgdG8gZWRpdCBhbmQgZGVsZXRlIHVzZXJzLiB3aXRoIHNlbGVjdGlvbiBvbiB0aGUgY2hlY2tib3hlcywgYW5kICJjaGVja2FsbCI8L3A+CjxwPk5vdyByZXF1aXJlIEZFVXNlcnMgMC4xLjggYW5kIENNU01haWxlciAxLjczLjk8L3A+CjxwPkFkZGVkIGFub3RoZXIgdGFiIGZvciB0aGUgInlvdXIgc2V0dGluZ3MgaGF2ZSBiZWVuIGFkanVzdGVkIiBlbWFpbCB0ZW1wbGF0ZXM8L3A+CjxwPkFkZGVkIENTViBFeHBvcnRpbmc8L3A+CjxwPkFkZGVkIGEgIkRlbGV0ZSBhbGwgdXNlcnMgb2xkZXIgdGhhbiBhIGRheSIgYnV0dG9uPC9wPgo8cD5Ob3cgd29ya3Mgd2l0aCB0aGUgbWF4aW11bSBsZW5ndGggZmllbGQgb2YgRkVVc2VyczwvcD4KPHA+QWRkZWQgc3VwcG9ydCBmb3IgZHJvcGRvd25zIGFuZCB0ZXh0IGFyZWFzPC9wPgo8cD5EaXNhbGxvdyBwdW5jdHVhdGlvbiBjaGFyYWN0ZXJzIGluIHVzZXJuYW1lPC9wPgo8L2xpPgo8bGk+PHA+VmVyc2lvbiAxLjAuMS4gLSBGZWIgMjAwNjwvcD4KPHA+QWRkZWQgdGhlIGFiaWxpdHkgZm9yIHVzZXJzIHRvIHJlcXVlc3QgYW5vdGhlciByZWdpc3RyYXRpb24gZW1haWwgKHVzZXMgdGhlIHNhbWUgY29kZSksIGluY2FzZSB0aGV5IGxvc3QgdGhlaXIgZmlyc3Qgb25lLjwvcD4KPC9saT4KPGxpPjxwPlZlcnNpb24gMS4wLjIuIC0gRmViIDIwMDY8L3A+CjxwPlRoZSAiUmVxdWlyZSBlbWFpbCBjb25maXJtYXRpb24iIGNoZWNrYm94IG5vdyB3b3Jrcy4gIFVzZXJzIGFyZSBhZGRlZCBzdHJhaWdodCB0byB0aGUgZnJvbnRlbmQgdXNlcnMgZGF0YWJhc2U8L3A+CjxwPkZpeGVkIGEgYnVnIHdpdGggdGhlIGNvbmZpcm1hdGlvbiBlbWFpbHMgaGF2aW5nIGxpbmtzIHRvIHRoZSBhZG1pbiBzZWN0aW9uIChuZXcgYnVnIG9ubHkpLjwvcD4KPC9saT4KPGxpPjxwPlZlcnNpb24gMS4wLjMuIC0gRmViIDIwMDY8L3A+CjxwPkFkZGVkIHRoZSAob3B0aW9uYWwpIGFiaWxpdHkgdG8gcmVxdWlyZSB0aGUgdXNlciBlbnRlciB0aGUgZW1haWwgYWRkcmVzcyB0d2ljZTwvcD4KPHA+Rml4ZWQgYSBidWcgd2l0aCB0aGUgdXNlcmVkaXRlZCBtZXNzYWdlIG5vdCBiZWluZyB0aHJvd24gdGhyb3VnaCBzbWFydHk8L3A+CjxwPkZpeGVkIHRoZSBkZWZhdWx0IHJlZ2lzdHJhdGlvbiB0ZW1wbGF0ZSBhIGJpdCB0byBhaWRlIGluIHZhbGlkYXRpb24gZm9yIG5vbiByZXF1aXJlZCBmaWVsZHMgKGZpeGVkIGEgd2FybmluZyk8L3A+CjxwPkZpeCBwcm9ibGVtcyB3aXRoIGlubGluZSBhbmQgbm9uLWlubGluZSBmb3JtcyBhbmQgbGlua3M8L3A+CjxwPkhhbmRsZSBhbm90aGVyIGNhc2Ugd2hlcmUgdGhlIGFkbWluIG1heSBub3QgaGF2ZSBjcmVhdGVkIHRoZSBwcm9wZXIgdHlwZSBvZiBlbWFpbCBwcm9wZXJ0eTwvcD4KPHA+Q2hhbmdlZCB0byByZXF1aXJlIENNUyAwLjEyLWJldGEyIGF0IGEgbWluaW11bSAoZm9yIHNhZmV0eSBwdXJwb3Nlcyk8L3A+CjwvbGk+CjxsaT48cD5WZXJzaW9uIDEuMC40LiAtIE1hciAyMDA2PC9wPgo8cD5Nb3JlIGNvbnRyb2wgb3ZlciB1c2VybmFtZSBhbmQgcGFzc3dvcmQgZmllbGQgc2l6ZXMgKGNvbnRyb2xsZWQgYnkgZmV1c2Vycyk8L3A+CjxwPkNvbmZpcm1hdGlvbiBvbiBlZGl0aW5nIHByZWZlcmVuY2VzPC9wPgo8cD5SZXF1aXJlIDAuMTIgcHJvcGVyIG9mIGNtcyBhcyBhIG1pbmltdW08L3A+CjwvbGk+CjxsaT48cD5WZXJzaW9uIDEuMS4wLiAtIERlYyAyMDA2PC9wPgogICAgPHA+QWRkZWQgZXZlbnRzIGFuZCAxLjAgY29tcGF0aWJpbGl0eTwvcD4KICAgIDxwPkNhcHRjaGEgc3VwcG9ydCAodGhhbmtzIERpdHRtYW4pPC9wPgo8L2xpPgo8bGk+PHA+VmVyc2lvbiAxLjEuMS4gLSBBcHIgMjAwNzwvcD4KICAgIDxwPk5vdyByZXF1aXJlIEZFVXNlcnMgMS4yLjAgKG1pbmltdW0pPC9wPgogICAgPHA+U3VwcG9ydCBmb3IgbXVsdGlzZWxlY3QgbGlzdHMgaW4gZmV1c2VyczwvcD4KICAgIDxwPk91dHB1dCBzb21lIG1vcmUgZmllbGRzIHRvIHNtYXJ0eSB0byBhbGxvdyBmb3IgaW5jcmVhc2VkIGFjY2Vzc2liaWxpdHk8L3A+CiAgICA8cD5TcGxpdCBjb2RlIG91dCBpbnRvIG11bHRpcGxlIGZpbGVzIHRvIHJlZHVjZSBvdmVyYWxsIG1lbW9yeSBmb290cHJpbnQ8L3A+CiAgICA8cD5JZ25vcmUgYWxsIGltYWdlIGZpZWxkczwvcD4KICAgIDxwPkNoYW5nZSBDYXB0Y2hhIHN1cHBvcnQgdG8gYmUgb24gYnkgZGVmYXVsdCBpZiB0aGUgQ2FwdGNoYSBtb2R1bGUgaXMgZm91bmQ8L3A+CjwvbGk+CjxsaT48cD5WZXJzaW9uIDEuMS4yLiAtIE5vdiAyMDA3PC9wPgogICAgPHA+Rml4IHRoZSBwcm9ibGVtIHdpdGggdGhlIFVzZXJEaXNwbGF5TG9zdFJlZ0VtYWlsRm9ybSB0aGluZzwvcD4KICAgIDxwPkFkZHMgdGhlIGlkIHRvIHRoZSBvblVzZXJSZWdpc3RlcmVkIEV2ZW50PC9wPgogICAgPHA+Rml4ZXMgdGhlIHByb2JsZW0gd2l0aCBjaGVja2JveCBwcm9wZXJ0aWVzIG5vdCB3b3JraW5nPC9wPgogICAgPHA+Tm93IFJlcXVpcmVzIENNUyAxLjIgbWluaW11bTwvcD4KICAgIDxwPllvdSBjYW4gbm93IHVzZSB7U2VsZlJlZ2lzdHJhdGlvbiBncm91cD1cJ2JsYWhcJ308L3A+CiAgICA8cD5Ob3cgUmVxdWlyZXMgQ01TIDEuMyBtaW5pbXVtLjwvcD4KPC9saT4KPGxpPjxwPlZlcnNpb24gMS4xLjMuIC0gTm92IDIwMDc8L3A+CiAgICA8cD5GaXhlcyBpc3N1ZSB3aXRoIFNNVFAgRW1haWwgYWRkcmVzcyB2YWxpZGF0aW9uPC9wPgogICAgPHA+Tm93IFJlcXVpcmUgRkVVIDEuMy4xPC9wPgogICAgPHA+QWRkcyB0aGUgbm9pbmxpbmUgcGFyYW1ldGVyPC9wPgo8L2xpPgo8bGk+PHA+VmVyc2lvbiAxLjEuNC4gLSBKYW4gMjAwODwvcD4KICAgIDxwPlNwbGl0cyBhIGZldyBtb3JlIGFjdGlvbnMgdXAgaW50byBzZXBlcmF0ZSBmaWxlczwvcD4KICAgIDxwPkFkZHMgcHJlZmVyZW5jZXMgYW5kIGJlaGF2aW91ciBmb3IgcGFnZXMgdG8gcmVkaXJlY3QgdG8gYWZ0ZXIgYSB1c2VyIGlzIHJlZ2lzdGVyZWQsIGFuZC9vciB2ZXJpZmllZDwvcD4KPC9saT4KPGxpPjxwPlZlcnNpb24gMS4xLjUuIC0gRmViIDIwMDg8L3A+CiAgICA8cD51c2UgPSYgc3ludGF4IHRvIGFsbCBjYWxscyB0byBHZXRNb2R1bGVJbnN0YW5jZSgpPC9wPgogICAgPHA+UmVtb3ZlIGNhbmNlbCBidXR0b25zIGZyb20gZm9ybXMgKHRoZXkgZGlkblwndCB3b3JrIGFueXdheXMpPC9wPgo8L2xpPgo8bGk+PHA+VmVyc2lvbiAxLjEuNi4gLSBNYXIgMjAwODwvcD4KICAgIDxwPkxpY2Vuc2UgY2hhbmdlPC9wPgogICAgPHA+UmVtb3ZlIGNhbmNlbCBidXR0b25zIGZyb20gZm9ybXM8L3A+CiAgICA8cD5NaW5vciBidWcgZml4ZXMgYW5kIGNsZWFudXBzPC9wPgo8L2xpPgo8L3VsPic7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+CjxwPlRoaXMgbW9kdWxlIGlzIGRlc2lnbmVkIHRvIGFsbG93IGZyb250IGVuZCB1c2VycyB0byByZWdpc3RlciB0aGVtc2VsdmVzIGFuZCBmaWxsIGluIHRoZSByZXF1aXJlZCBpbmZvcm1hdGlvbi4gIEl0IHRoZW4gc2VuZHMgYSBjb25maXJtYXRpb24gZW1haWwsIHdpdGggYSBsaW5rIHRvIGEgc2Vjb25kIHBhZ2UgdGhhdCBtdXN0IGJlIGNvbXBsZXRlZCBiZWZvcmUgdGhlIHJlZ2lzdHJhdGlvbiBpcyBjb21wbGV0ZS4gIE9uY2UgcmVnaXN0cmF0aW9uIGlzIGNvbXBsZXRlLCBhIHVzZXIgYWNjb3VudCBpcyBjcmVhdGVkIGluIHRoZSBmcm9udCBlbmQgdXNlcnMgbW9kdWxlLjwvcD4KPHA+SW4gb3JkZXIgdG8gdXNlIHRoaXMgbW9kdWxlLCB5b3UgbXVzdCBjcmVhdGUgYSBwcm9wZXJ0eSBvZiB0eXBlICJFbWFpbCBBZGRyZXNzIiBpbiB0aGUgRnJvbnRlbmRVc2VycyBtb2R1bGUsIGFuZCBhc3NvY2lhdGUgdGhhdCBwcm9wZXJ0eSB3aXRoIHRoZSBncm91cCB0byBiZSB1c2VkIGZvciBzZWxmIHJlZ2lzdHJhdGlvbi48L3A+CjxoMz5Ib3cgRG8gSSBVc2UgSXQ8L2gzPgo8cD5Zb3UgcGxhY2UgdGhlIGZvbGxvd25nIHRhZyBpbnRvIHlvdXIgcGFnZSB7Y21zX21vZHVsZSBtb2R1bGU9U2VsZlJlZ2lzdHJhdGlvbiBncm91cD11c2VyZ3JvdXB9PC9wPgo8cD5Zb3UgbXVzdCBoYXZlIHByZXZpb3VzbHkgY3JlYXRlZCBwcm9wZXJ0aWVzIGFuZCB1c2VyIGdyb3VwcyBpbiB0aGUgRnJvbnRFbmRVc2VycyBtb2R1bGUgaW4gb3JkZXIgZm9yIHRoaXMgdG8gd29yayBwcm9wZXJseS48L3A+CjxoMz5QYXJhbWV0ZXJzPC9oMz4KPHA+PHN0cm9uZz5tb2RlPC9zdHJvbmc+Jm5ic3A7PGVtPm9wdGlvbmFsPC9lbT4gLSBwb3NzaWJsZSB2YWx1ZXMgYXJlICJzaWdudXAiIGFuZCAidmVyaWZ5Ii4gIElmIHRoaXMgcGFyYW1ldGVyIGlzIG5vdCBzcGVjaWZpZWQsICJzaWdudXAiIGlzIGFzc3VtYmVkLjwvcD4KPHA+PHN0cm9uZz5ncm91cDwvc3Ryb25nPiZuYnNwOzxlbT5vcHRpb25hbDwvZW0+IC0gVGhpcyBwYXJhbWV0ZXIgaXMgcmVxdWlyZWQgaWYgbW9kZSBpcyAic2lnbnVwIiwgb3IgaWYgbW9kZSBpcyBsZWZ0IGVtcHR5LjwvcD4KPHA+PHN0cm9uZz5ub2NhcHRjaGE8L3N0cm9uZz4mbmJzcDs8ZW0+b3B0aW9uYWw8L2VtPiAtIFRoaXMgd2lsbCBkaXNhYmxlIGNhcHRjaGEgb24gdGhlIHNpZ251cCBmb3JtLiBCeSBkZWZhdWx0LCBpZiB0aGUgQ2FwdGNoYSBtb2R1bGUgaXMgaW5zdGFsbGVkLCBjYXB0Y2hhIHN1cHBvcnQgaXMgcHJvdmlkZWQuICBUaGlzIHBhcmFtZXRlciBkaXNhYmxlcyBpdC48L3A+CjxoMz5TdXBwb3J0PC9oMz4KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPgo8dWw+CjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgY2FsZ3V5XCdzCm1vZHVsZSBob21lcGFnZSBhdCA8YSBocmVmPSJodHRwOi8vdGVjaGNvbS5keW5kbnMub3JnIj50ZWNoY29tLmR5bmRucy5vcmc8L2E+LjwvbGk+CjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zIj5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+CjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseS48L2xpPiAgCjwvdWw+CjxwPkFzIHBlciB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkIGFzLWlzLiBQbGVhc2UgcmVhZCB0aGUgdGV4dApvZiB0aGUgbGljZW5zZSBmb3IgdGhlIGZ1bGwgZGlzY2xhaW1lci48L3A+Cgo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA4LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+Jmx0O2NhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcmZ3Q7PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPgo8cD5UaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQppdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQp0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgooYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLjwvcD4KPHA+SG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCmFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQppbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCk1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+CjxwPlRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLApidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCkZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCk9yIHJlYWQgaXQgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5vbmxpbmU8L2E+PC9wPgonOwo/Pgo=]]></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[PD9waHAKJGxhbmdbJ2Vycm9yX2NvZGVzZG9udG1hdGNoJ10gPSAnVGhlIHZhbGlkYXRpb24ga2V5IHN1cHBsaWVkIGlzIGludmFsaWQnOwokbGFuZ1snZXZlbnRfZGVzY3JpcHRpb25fb25OZXdVc2VyJ10gPSAnRW4gYmVnaXZlbmhlZCwgZGVyIGluZGlrZXJlciBhdCBlbiBueSBicnVnZXIgaGFyIHVkZnlsZHQgcmVnaXN0cmVyaW5nc2JsYW5rZXR0ZW4nOwokbGFuZ1snZXZlbnRfZGVzY3JpcHRpb25fb25Vc2VyUmVnaXN0ZXJlZCddID0gJ0VuIGJlZ2l2ZW5oZWQsIGRlciBpbmRpa2VyZXIgYXQgZW4gYnJ1Z2VyIGhhciB2ZXJpZmljZXJldCBzaW4gaW5mb3JtYXRpb24gb2cgaGFyIGZ1bGR0ZW5kdCByZWdpc3RyZXJpbmdlbic7CiRsYW5nWydldmVudF9oZWxwX29uTmV3VXNlciddID0gJzxwPkVuIGJlZ2l2ZW5oZWQsIGRlciBpbmRpa2VyZXIgYXQgZW4gbnkgYnJ1Z2VyIGhhciB1ZGZ5bGR0IHJlZ2lzdHJlcmluZ3NibGFua2V0dGVuPC9wPg0KPGg0PlBhcmFtZXRyZTwvaDQ+DQo8dWw+DQo8bGk+PGVtPmJydWdlcm5hdm48L2VtPiAtIEJydWdlcm5hdm4gdmFsZ3QgYWYgZGVuIG55ZSBicnVnZXI8L2xpPg0KPGxpPjxlbT5lbWFpbDwvZW0+IC0gRGVuIG55ZSBicnVnZXJzIGVtYWlsIGFkcmVzc2U8L2xpPg0KPC91bD4NCic7CiRsYW5nWydldmVudF9oZWxwX29uVXNlclJlZ2lzdGVyZWQnXSA9ICc8cD5FbiBiZWdpdmVuaGVkLCBkZXIgaW5kaWtlcmVyIGF0IGVuIGJydWdlciBlciBibGV2ZXQgdmVyaWZpY2VyZXQgb2cgbnUgZXIgcmVnaXN0cmVyZXQgc29tIGZyb250IGVuZCBicnVnZXI8L3A+DQo8aDQ+UGFyYW1ldHJlPC9oND4NCjx1bD4NCjxsaT48ZW0+YnJ1Z2VybmF2bjwvZW0+IC0gRGV0IHJlZ2lzdHJlcmVkZSBicnVnZXJuYXZuPC9saT4NCjwvdWw+DQonOwokbGFuZ1snY29uZmlybV9zdWJtaXRwcmVmcyddID0gJ0NoYW5nZSBhZG1pbiBwcmVmZXJlbmNlcz8nOwokbGFuZ1snaW5mb19hZG1pbl9wYXNzd29yZCddID0gJ0xhZCBkZXR0ZSBmZWx0IHYmYWVsaWc7cmUgdG9tdCBmb3IgYXQgYmV2YXJlIGJydWdlcmVucyBrb2Rlb3JkJzsKJGxhbmdbJ2luZm9fYWRtaW5fcmVwZWF0cGFzc3dvcmQnXSA9ICdMYWQgZGV0dGUgZmVsdCB2JmFlbGlnO3JlIHRvbXQgZm9yIGF0IGJldmFyZSBicnVnZXJlbnMga29kZW9yZCc7CiRsYW5nWydlcnJvcl9lbWFpbGRvZXNub3RtYXRjaCddID0gJ0VtYWlsIGFkcmVzc2VyIGVyIGlra2UgZW5zJzsKJGxhbmdbJ2ZvcmNlX2VtYWlsX3R3aWNlJ10gPSAnS3ImYWVsaWc7diBhdCBicnVnZXJlIGluZHRhc3RlciBkZXJlcyBlbWFpbGFkcmVzc2UgdG8gZ2FuZ2UnOwokbGFuZ1snYWdhaW4nXSA9ICdpZ2VuJzsKJGxhbmdbJ2RlbGV0ZXNlbHVzZXJzJ10gPSAnU2xldCB2YWxndGUgYnJ1Z2VyZSc7CiRsYW5nWydlcnJvcl9ub3Byb3BkZWZucyddID0gJ05vIHByb3BlcnR5IGRlZmluaXRpb25zLCBvciBwcm9ibGVtIHJldHJlaXZpbmcgdGhlbSBmcm9tIHRoZSBkYXRhYmFzZSc7CiRsYW5nWydlcnJvcl9ub2dyb3VwcyddID0gJ0luZ2VuIGdydXBwZXIgZWxsZXIgcHJvYmxlbWVyIG1lZCBhdCBoZW50ZSBncnVwcGVvdmVyc2lndCc7CiRsYW5nWydlcnJvcl9kYmVycm9yJ10gPSAnRmVqbCBpIGRhdGFiYXNlbic7CiRsYW5nWyd0aXRsZV9wb3N0X3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnXSA9ICdQb3N0IExvc3QgRW1haWwgVGVtcGxhdGUnOwokbGFuZ1sndGl0bGVfc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSddID0gJ0xvc3QgRW1haWwgVGVtcGxhdGUnOwokbGFuZ1snY2xpY2toZXJlJ10gPSAnS2xpayBoZXInOwokbGFuZ1snbXNnX3NlbmRhbm90aGVyZW1haWwnXSA9ICdKZWcgaGFyIGFsbGVyZWRlIHVkZnlsZHQgcmVnaXN0cmVyaW5nc2JsYW5rZXR0ZW4sIG1lbiBqZWcgaGFyIGlra2UgbW9kdGFnZXQgZW4gZW1haWwuIFZpbCBJIHZlbmxpZ3N0IHNlbmRlIGRlbiBpZ2VuPyc7CiRsYW5nWydzZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJ10gPSAnTG9zdCBFbWFpbCBUZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3VzZXJ2ZXJpZmllZCddID0gJ0VuIG55IGJydWdlciBlciBibGV2ZXQgdGlsZiZvc2xhc2g7amV0IEZyb250RW5kQnJ1Z2VyZSc7CiRsYW5nWydlZGl0J10gPSAnUmV0JzsKJGxhbmdbJ3Vua25vd24nXSA9ICdVa2VuZHQnOwokbGFuZ1snc2VsZWN0J10gPSAnViZhZWxpZztsZyc7CiRsYW5nWydjaGVja19hbGwnXSA9ICdNYXJrZXIgYWxsZSc7CiRsYW5nWyd1bmNoZWNrX2FsbCddID0gJ0ZqZXJuIG1hcmtlcmluZyBmcmEgYWxsZSc7CiRsYW5nWydzZW5kX2FkanVzdG1lbnRlbWFpbCddID0gJ1NlbmQgZW4gZW1haWwgdGlsIGJydWdlcmVuJzsKJGxhbmdbJ3R4dF9hZGp1c3RtZW50ZW1haWwnXSA9ICcoaW5mb3JtZXJlciBicnVnZXJlbiBvbSBhdCBoYW5zIGtvbnRvIGVyIGJsZXZldCAmYWVsaWc7bmRyZXQpJzsKJGxhbmdbJ3R4dF9jaGFuZ2VwYXNzd29yZCddID0gJ1VkZnlsZCBkaXNzZSBmZWx0ZXIgZm9yIGF0ICZhZWxpZztuZHJlIGJydWdlcmVucyBrb2Rlb3JkJzsKJGxhbmdbJ2VkaXR1c2VyJ10gPSAnUmVkaWdlciBicnVnZXInOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGV1c2VyJ10gPSAnRXIgZHUgc2lra2VyIHAmYXJpbmc7IGF0IGR1IHZpbCBzbGV0dGUgZGVubmUgZGVsdmlzdCBvcHJldHRlZGUgYnJ1Z2VyPyc7CiRsYW5nWydoZHJfdXNlcmlkJ10gPSAnQnJ1Z2VySUQnOwokbGFuZ1snaGRyX3VzZXJuYW1lJ10gPSAnQnJ1Z2VybmF2bic7CiRsYW5nWydoZHJfZ3JwbmFtZSddID0gJ0dydXBwZSc7CiRsYW5nWydoZHJfY3JlYXRlZCddID0gJ09wcmV0dGV0JzsKJGxhbmdbJ2hkcl9lbWFpbCddID0gJ0VtYWlsJzsKJGxhbmdbJ3VzZXJzZm91bmQnXSA9ICdGdW5kbmUgYnJ1Z2VyZSAoYmVnciZhZWxpZztuc2V0IHRpbCBtYXggMjUwKSc7CiRsYW5nWyd1c2VycyddID0gJ0JydWdlcmUnOwokbGFuZ1snbGlzdDFkYXknXSA9ICdWaXMgYWxsZSBpbmRsJmFlbGlnO2csIGRlciBlciBtZXJlIGVuZCBlbiBkYWcgZ2FtbGUnOwokbGFuZ1snc3ViamVjdCddID0gJ0VtbmUgZm9yIHVkZyZhcmluZztlbmRlIG1haWwnOwokbGFuZ1snaHRtbGJvZHknXSA9ICdIVE1MIG1lc3NhZ2UgYm9keSc7CiRsYW5nWyd0ZXh0Ym9keSddID0gJ1RleHQgbWVzc2FnZSBib2R5JzsKJGxhbmdbJ3Byb21wdF9udW1yZXNldHJlY29yZCddID0gJ0EgbnVtYmVyIG9mIHVzZXJzIGFyZSBpbiB0aGUgbWlkZGxlIG9mIHJlZ2lzdGVyaW5nLiAgQ3VycmVudGx5IHRoaXMgY291bnQgaXMgYXQ6JzsKJGxhbmdbJ3JlbW92ZTF3ZWVrJ10gPSAnU2xldCBhbGxlIGluZGwmYWVsaWc7ZywgZGVyIGVyIG1lcmUgZW5kIGVuIHVnZSBnYW1sZSc7CiRsYW5nWydyZW1vdmUxbW9udGgnXSA9ICdTbGV0IGFsbGUgaW5kbCZhZWxpZztnLCBkZXIgZXIgbWVyZSBlbmQgZW4gbSZhcmluZztuZWQgZ2FtbGUnOwokbGFuZ1sncmVtb3ZlMWRheSddID0gJ1NsZXQgYWxsZSBpbmRsJmFlbGlnO2csIGRlciBlciBtZXJlIGVuZCBlbiBkYWcgZ2FtbGUnOwokbGFuZ1sncmVtb3ZlYWxsJ10gPSAnU2xldCBhbGxlIGluZGwmYWVsaWc7Zyc7CiRsYW5nWydhcmV5b3VzdXJlJ10gPSAnRXIgZHUgc2lra2VyPyc7CiRsYW5nWydyZWdpc3RyYXRpb25faW5mb19lZGl0ZWQnXSA9ICdEaW5lIHJlZ2lzdHJlcmVkZSBvcGx5c25pbmdlciBlciBibGV2ZXQgJmFlbGlnO25kcmV0JzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbl9jb25maXJtYXRpb24nXSA9ICdCZWtyJmFlbGlnO2Z0ZWxzZSBwJmFyaW5nOyByZWdpc3RyZXJpbmcnOwokbGFuZ1sndXNlcl9yZWdpc3RyYXRpb24nXSA9ICdSZWdpc3RyJmVhY3V0ZTtyJzsKJGxhbmdbJ2ZpbmFsbWVzc2FnZV90ZW1wbGF0ZSddID0gJ0ZpbmFsIE1lc3NhZ2UgVGVtcGxhdGUnOwokbGFuZ1sndGl0bGVfdmVyaWZ5cmVnaXN0cmF0aW9uJ10gPSAnVmVyaWZpY2VyIHJlZ2lzdHJlcmluZyc7CiRsYW5nWydjb2RlJ10gPSAnVmFsaWRhdGlvbiBLZXknOwokbGFuZ1snZGVmYXVsdCddID0gJ1NldCBUbyBEZWZhdWx0cyc7CiRsYW5nWydlcnJvcl9ub3Byb3BlcnRpZXMnXSA9ICdObyBwcm9wZXJ0aWVzIGZvdW5kIGZvciB0aGlzIHVzZXInOwokbGFuZ1snZXJyb3Jfbm9wcm9wcmVsYXRpb25zJ10gPSAnTm8gcHJvcGVydHkgcmVsYXRpb25zJzsKJGxhbmdbJ2Vycm9yX2VtYWlsaW52YWxpZCddID0gJ1VneWxkaWcgZW1haWwgYWRyZXNzZSc7CiRsYW5nWydlcnJvcl9ub2VtYWlsYWRkcmVzcyddID0gJ05vIHZhbGlkIGVtYWlsIGFkZHJlc3MgZmllbGQgZm91bmQnOwokbGFuZ1snZXJyb3JfcmVxdWlyZWRmaWVsZCddID0gJ0ZpZWxkICVzIG11c3QgYmUgZmlsbGVkIGluJzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbjFfdGVtcGxhdGUnXSA9ICdSZWdpc3RyYXRpb24gVGVtcGxhdGUgMSc7CiRsYW5nWydyZWdpc3RyYXRpb24yX3RlbXBsYXRlJ10gPSAnUmVnaXN0cmF0aW9uIFRlbXBsYXRlIDInOwokbGFuZ1snZW1haWxjb25maXJtX3RlbXBsYXRlJ10gPSAnQ29uZmlybWF0aW9uIEVtYWlsIFRlbXBsYXRlJzsKJGxhbmdbJ2VtYWlsdXNlcmVkaXRlZF90ZW1wbGF0ZSddID0gJ1VzZXIgSW5mbyBDaGFuZ2VkIFRlbXBsYXRlJzsKJGxhbmdbJ3ByZWZlcmVuY2VzJ10gPSAnSW5kc3RpbGxpbmdlcic7CiRsYW5nWydlcnJvcl91c2Vybm90Zm91bmQnXSA9ICdCcnVnZXJlbiBibGV2IGlra2UgZnVuZGV0JzsKJGxhbmdbJ2Vycm9yX2ludmFsaWR1c2VybmFtZSddID0gJ0JydWdlcm5hdm5ldCBlciB1Z3lsZGlndCAoZm9yIGxhbmd0LCBmb3Iga29ydCBlbGxlciBpbmRlaG9sZGVyIHVneWxkaWdlIGthcmFrdGVyZXIpLiBUaXAgLSBicnVnZXJuYXZuZSBtJmFyaW5nOyBrdW4gaW5kZWhvbGRlIGFscGhhbnVtZXJpc2tlIHRlZ24gKGluZ2VuIG1lbGxlbXJ1bSknOwokbGFuZ1snZXJyb3JfdXNlcm5hbWV0YWtlbiddID0gJ0RldCBicnVnZXJuYXZuIGVyIGFsbGVyZWRlIGkgYnJ1Zyc7CiRsYW5nWydlcnJvcl9wYXNzd29yZHNkb250bWF0Y2gnXSA9ICdGZWpsOiBLb2Rlb3JkIG1hdGNoZXIgaWtrZSc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFzc3dvcmQnXSA9ICdLb2Rlb3JkZXQgZXIgaWtrZSBneWxkaWd0IChrb2Rlb3JkIHNrYWwgdiZhZWxpZztyZSBtZWxsZW0gJXMgb2cgJXMgdGVnbiknOwokbGFuZ1snZXJyb3JfZW1wdHl1c2VybmFtZSddID0gJ0ZlbHRldCBicnVnZXJuYXZuIGthbiBpa2tlIHYmYWVsaWc7cmUgdG9tdCc7CiRsYW5nWydyZXBlYXRwYXNzd29yZCddID0gJ0tvZGVvcmQgKGlnZW4pJzsKJGxhbmdbJ3Bhc3N3b3JkJ10gPSAnS29kZW9yZCc7CiRsYW5nWyd1c2VybmFtZSddID0gJ0JydWdlcm5hdm4nOwokbGFuZ1snY2FwdGNoYV90aXRsZSddID0gJ1Nrcml2IHRla3N0ZW4gZnJhIGJpbGxlZGV0JzsKJGxhbmdbJ2Vycm9yX2luc3VmZmljaWVudHBhcmFtcyddID0gJ0luc3VmZmljaWVudCBudW1iZXIgKG9yIGluY29ycmVjdCkgcGFyYW1ldGVycyBzdXBwbGllZCB0byBtb2R1bGUnOwokbGFuZ1snZXJyb3Jfbm9mZXVzZXJzbW9kdWxlJ10gPSAnQ291bGQgbm90IGdldCBpbnN0YW5jZSBvZiBGcm9udEVuZFVzZXJzIG1vZHVsZSc7CiRsYW5nWydlcnJvcl9ub3N1Y2hncm91cCddID0gJ0dyb3VwIG5hbWUgc3BlY2lmaWVkIGRvZXMgbm90IGV4aXN0JzsKJGxhbmdbJ2Vycm9yX2NhcHRjaGFtaXNtYXRjaCddID0gJ1Rla3N0ZW4gZnJhIGJpbGxlZGVyIGJsZXYgaWtrZSBza3JldmV0IGtvcnJla3QnOwokbGFuZ1snc2VuZF9lbWFpbHNfdG8nXSA9ICdFbWFpbHMgdmVkciZvc2xhc2g7cmVuZGUgcmVnaXN0cmVyaW5nIHNrYWwgc2VuZGVzIHRpbCc7CiRsYW5nWydyZXF1aXJlX2VtYWlsX2NvbmZpcm1hdGlvbiddID0gJ0tyJmFlbGlnO3YgYXQgYnJ1Z2VyZW4gYmVrciZhZWxpZztmdGVyIHJlZ2lzdHJlcmluZ2VuIHZpYSBlbWFpbCc7CiRsYW5nWydub3RpZnlfb25fcmVnaXN0cmF0aW9uJ10gPSAnU2VuZCBhbiBlbWFpbCBub3RpZmljYXRpb24gd2hlbiBzb21lb25lIHJlZ2lzdGVycyc7CiRsYW5nWydjYW5jZWwnXSA9ICdBbm51bGxlcic7CiRsYW5nWydzdWJtaXQnXSA9ICdJbmRzZW5kJzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ01vZHVsIHRpbCBzZWx2cmVnaXN0cmVyaW5nJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnSW5zdGFsbGF0aW9uIHN1Y2Nlc3NmdWxsLCBwbGVhc2UgcmVtZW1iZXIgdG8gc2V0IHRoZSAmcXVvdDtNb2RpZnkgU2VsZlJlZ2lzdHJhdGlvbiBTZXR0aW5ncyZxdW90OyBwZXJtaXNzaW9uLiAgSWYgdGhlIENhcHRjaGEgbW9kdWxlIGlzIGluc3RhbGxlZCwgdGhlbiBjYXB0Y2hhIGZ1bmN0aW9uYWxpdHkgaXMgZW5hYmxlZCBieSBkZWZhdWx0LiAgV2Ugc3Ryb25nbHkgcmVjY29tbWVuZCB0aGF0IHlvdSBpbnN0YWxsIHRoaXMgbW9kdWxlLiAgSWYgdGhlIENhcHRjaGEgbW9kdWxlIGlzIGluc3RhbGxlZCwgYW5kIHlvdSB3YW50IHRvIGRpc2FibGUgaXQsIHVzZSB0aGUgbm9jYXB0Y2hhIHBhcmFtIGluIHlvdXIgc2VsZnJlZ2lzdHJhdGlvbiB0YWcuJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdNb2R1bCB0aWwgc2VsdnJlZ2lzdHJlcmluZyBlciBibGV2ZXQgYWZpbnN0YWxsZXJldC4gVmkgc2VzLi4uJzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTW9kdWwgYWZpbnN0YWxsZXJldCc7CiRsYW5nWydpbnN0YWxsZWQnXSA9ICdNb2R1bCB2ZXJzaW9uICVzIGVyIGluc3RhbGxlcmV0Lic7CiRsYW5nWydwcmVmc3VwZGF0ZWQnXSA9ICdNb2R1bGUgcHJlZmVyZW5jZXMgdXBkYXRlZC4nOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnQWRnYW5nIG4mYWVsaWc7Z3RldC4gQ2hlY2sgZGluZSB0aWxsYWRlbHNlci4nOwokbGFuZ1snZXJyb3InXSA9ICdGZWpsISc7CiRsYW5nWyd1cGdyYWRlZCddID0gJ01vZHVsIG9wZ3JhZGVyZXQgdGlsIHZlcnNpb24gJXMuJzsKJGxhbmdbJ3RpdGxlX21vZF9wcmVmcyddID0gJ01vZHVsZSBQcmVmZXJlbmNlcyc7CiRsYW5nWyd0aXRsZV9tb2RfYWRtaW4nXSA9ICdNb2R1bGUgQWRtaW4gUGFuZWwnOwokbGFuZ1sndGl0bGVfYWRtaW5fcGFuZWwnXSA9ICdTZWxmIFJlZ2lzdHJhdGlvbiBNb2R1bGUnOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdFdCBtb2R1bCwgZGVyIHRpbGxhZGVyIGJydWdlcmUgYXQgcmVnaXN0cmVyZSBkZW0gc2Vsdi4nOwokbGFuZ1snd2VsY29tZV90ZXh0J10gPSAnPHA+VmVsa29tbWVuIHRpbCBtb2R1bGV0IGZvciBzZWx2cmVnaXN0cmVyaW5nPC9wPic7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8dWw+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+U3VwcG9ydCBmb3IgbXVsdGlzZWxlY3QgbGlzdHMgaW4gZmV1c2VyczwvcD4NCiAgICA8cD5PdXRwdXQgc29tZSBtb3JlIGZpZWxkcyB0byBzbWFydHkgdG8gYWxsb3cgZm9yIGluY3JlYXNlZCBhY2Nlc3NpYmlsaXR5PC9wPg0KICAgIDxwPlNwbGl0IGNvZGUgb3V0IGludG8gbXVsdGlwbGUgZmlsZXMgdG8gcmVkdWNlIG92ZXJhbGwgbWVtb3J5IGZvb3RwcmludDwvcD4NCiAgICA8cD5JZ25vcmUgYWxsIGltYWdlIGZpZWxkczwvcD4NCiAgICA8cD5DaGFuZ2UgQ2FwdGNoYSBzdXBwb3J0IHRvIGJlIG9uIGJ5IGRlZmF1bHQgaWYgdGhlIENhcHRjaGEgbW9kdWxlIGlzIGZvdW5kPC9wPg0KPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+SHZhZCBnJm9zbGFzaDtyIGRldHRlIG1vZHVsPzwvaDM+DQo8cD5EZXR0ZSBtb2R1bCBlciBkZXNpZ25ldCB0aWwgYXQgdGlsbGFkZSBmcm9udCBlbmQgYnJ1Z2VyZSBhdCByZWdpc3RyZXJlIGRlbSBzZWx2IG9nIHVkZnlsZGUgZGVuIHAmYXJpbmc7a3ImYWVsaWc7dm5lIGluZm9ybWF0aW9uLiBEZXQgc2VuZGVyIGVuIGJla3ImYWVsaWc7ZnRlbHNlcyBlbWFpbCBtZWQgZXQgbGluayB0aWwgZW4gYW5kZW4gc2lkZSwgZGVyIHNrYWwgdWRmJm9zbGFzaDtyZXMgaW5kZW4gcmVnaXN0cmVyaW5nZW4gZXIgZnVsZGVuZHQuIE4mYXJpbmc7ciByZWdpc3RyZXJpbmdlbiBlciBmdWxkdGVuZHQgdmlsIGRlciBibGl2ZXIgb3ByZXR0ZXQgZW4gYnJ1Z2Vya29udG8gaSBmcm9udCBlbmQgYnJ1Z2VyIG1vZHVsZXQuPC9wPg0KPHA+Rm9yIGF0IGJydWdlIGRldHRlIG1vZHVsIHNrYWwgZHUgb3ByZXR0ZSBlbiBlZ2Vuc2thYiBtZWQgdHlwZW4gJnF1b3Q7RW1haWwgQWRkcmVzcyZxdW90OyBpIEZyb250ZW5kVXNlcnMgbW9kdWxldCBvZyBhc3NvY2llcmUgZGVuIGVnZW5za2FiIG1lZCBncnVwcGVuLCBkZXIgc2thbCBicnVnZXMgdGlsIHNlbHZyZWdpc3RyZXJpbmcuPC9wPg0KPGgzPkh2b3JkYW4gYnJ1Z2VyIGplZyBkZXQ8L2gzPg0KPHA+RHUgcGxhY2VyZXIgZiZvc2xhc2g7bGdlbmRlIHRhZyBwJmFyaW5nOyBkaW4gc2lkZSB7Y21zX21vZHVsZSBtb2R1bGU9U2VsZlJlZ2lzdHJhdGlvbiBncm91cD11c2VyZ3JvdXB9PC9wPg0KPHA+RHUgc2thbCBpbmRlbiBkYSBoYXZlIG9wcmV0dGV0IGVnZW5za2FiZXIgb2cgYnJ1Z2VyZ3J1cHBlciBpIEZyb250RW5kVXNlcnMgbW9kdWxldCBmb3IgYXQgZGV0dGUgdmlsIHZpcmtlIGtvcnJla3QuPC9wPg0KPGgzPlBhcmFtZXRyZTwvaDM+DQo8cD48c3Ryb25nPm1vZGU8L3N0cm9uZz4mbmJzcDs8ZW0+b3B0aW9uYWw8L2VtPiAtIG11bGlnZSB2JmFlbGlnO3JkaWVyIGVyICZxdW90O3NpZ251cCZxdW90OyBvZyAmcXVvdDt2ZXJpZnkmcXVvdDsuICBIdmlzIGRldHRlIHBhcmFtZXRlciBpa2tlIGVyIHNwZWNpZmljZXJldCwgdmlsICZxdW90O3NpZ251cCZxdW90OyBibGl2ZSB2YWxndC48L3A+DQo8cD48c3Ryb25nPmdyb3VwPC9zdHJvbmc+Jm5ic3A7PGVtPm9wdGlvbmFsPC9lbT4gLSBEZXR0ZSBwYXJhbWV0ZXIgZXIgcCZhcmluZztrciZhZWxpZzt2ZXQgaHZpcyBtb2RlIGVyICZxdW90O3NpZ251cCZxdW90OyBlbGxlciBodmlzIG1vZGUgZXIgdG9tLjwvcD4NCjxwPjxzdHJvbmc+bm9jYXB0Y2hhPC9zdHJvbmc+Jm5ic3A7PGVtPm9wdGlvbmFsPC9lbT4gLSBEZXR0ZSB2aWwgc2wmYXJpbmc7IGNhcHRjaGEgZnJhIHAmYXJpbmc7IHNpZ251cCBmb3JtdWxhcmVuLiBIdmlzIENhcHRjaGEgbW9kdWxldCBlciBpbnN0YWxsZXJldCB2aWwgY2FwdGNoYSBzdXBwb3J0IHYmYWVsaWc7cmUgc3RhbmRhcmQuICBEZXR0ZSBwYXJhbWV0ZXIgc2wmYXJpbmc7ciBkZXQgZnJhLjwvcD4NCjxoMz5TdXBwb3J0PC9oMz4NCjxwPkRldHRlIG1vZHVsIGlua2x1ZGVyZXIgaWtrZSBrb21tZXJjaWVsIHN1cHBvcnQuIERlciBhbGxpZ2V2ZWwgZm9yc2tlbGxpZ2UgcmVzc291cmNlciB0aWxnJmFlbGlnO25nZWxpZ2UsIGRlciBrYW4gaGomYWVsaWc7bHBlIGRpZyBtZWQgZGV0OjwvcD4NCjx1bD4NCjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgY2FsZ3V5JiMwMzk7cw0KbW9kdWxlIGhvbWVwYWdlIGF0IDxhIGhyZWY9JnF1b3Q7aHR0cDovL3RlY2hjb20uZHluZG5zLm9yZyZxdW90Oz50ZWNoY29tLmR5bmRucy5vcmc8L2E+LjwvbGk+DQo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSZxdW90O2h0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyZxdW90Oz5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0mcXVvdDtpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMmcXVvdDs+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICANCjwvdWw+DQo8cD5BcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy4gUGxlYXNlIHJlYWQgdGhlIHRleHQNCm9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4NCg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDUsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9JnF1b3Q7bWFpbHRvOmNhbGd1eTEwMDBAaG90bWFpbC5jb20mcXVvdDs+PGNhbGd1eTEwMDBAaG90bWFpbC5jb20+PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBtb2R1bGUgaGFzIGJlZW4gcmVsZWFzZWQgdW5kZXIgdGhlIDxhIGhyZWY9JnF1b3Q7aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMJnF1b3Q7PkdOVSBQdWJsaWMgTGljZW5zZTwvYT4uIFlvdSBtdXN0IGFncmVlIHRvIHRoaXMgbGljZW5zZSBiZWZvcmUgdXNpbmcgdGhlIG1vZHVsZS48L3A+DQonOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My44MTk1MTMwMjcuMTE4NjY2NDIxOC4xMTg2NjY0MjE4LjExODY5ODIwMzYuMic7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjExODY2NjQyMTguMS4xLnV0bWNjbj0ocmVmZXJyYWwpfHV0bWNzcj1zdnIudGVjaGNvbS5keW5kbnMub3JnfHV0bWNjdD0vaW5kZXgucGhwfHV0bWNtZD1yZWZlcnJhbCc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></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[PD9waHAKJGxhbmdbJ3VzZV9pbmxpbmVfZm9ybXMnXSA9ICdVc2EgaWwgZm9ybSBJbmxpbmUgPGVtPihsJiMwMzk7dXNjaXRhIGRlbCBmb3JtIHJpcG9zaXppb25hIGlsIG1vZHVsbyB0YWcsIG5vbiB0dXR0byBpbCAgY29udGVudCk8L2VtPic7CiRsYW5nWydlcnJvcl9jb2Rlc2RvbnRtYXRjaCddID0gJ0xhIGNoaWF2ZSBkaSB2YWxpZGF6aW9uZSBub24gJmVncmF2ZTsgdmFsaWRhJzsKJGxhbmdbJ2V2ZW50X2Rlc2NyaXB0aW9uX29uTmV3VXNlciddID0gJ1VuIGV2ZW50byBpbmRpY2EgY2hlIHVuIG51b3ZvIHV0ZW50ZSBoYSBjb21wbGV0YXRvIGlsIG1vZHVsbyBkaSByZWdpc3RyYXppb25lJzsKJGxhbmdbJ2V2ZW50X2Rlc2NyaXB0aW9uX29uVXNlclJlZ2lzdGVyZWQnXSA9ICdVbiBldmVudG8gaW5kaWNhIGNoZSB1biB1dGVudGUgaGEgdmVyaWZpY2F0byBsZSBzdWUgaW5mb3JtYXppb25pIGUgb3JhICZlZ3JhdmU7IGNvbXBsZXRhbWVudGUgcmVnaXN0cmF0byc7CiRsYW5nWydldmVudF9oZWxwX29uTmV3VXNlciddID0gJzxwPkFuIGV2ZW50IGluZGljYXRpbmcgdGhhdCBhIG5ldyB1c2VyIGhhcyBjb21wbGV0ZWQgdGhlIHJlZ2lzdHJhdGlvbiBmb3JtPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gVGhlIG5ldyB1c2VycyBzZWxlY3RlZCB1c2VybmFtZTwvbGk+DQo8bGk+PGVtPmVtYWlsPC9lbT4gLSBUaGUgbmV3IHVzZXJzIGVtYWlsIGFkZHJlc3M8L2xpPg0KPC91bD4NCic7CiRsYW5nWydldmVudF9oZWxwX29uVXNlclJlZ2lzdGVyZWQnXSA9ICc8cD5BbiBldmVudCBpbmRpY2F0aW5nIHRoYXQgYSB1c2VyIGhhcyBiZWVuIHZlcmlmaWVkIGFuZCBpcyBub3cgcmVnaXN0ZXJlZCB3aXRoIGZldXNlcnM8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBUaGUgcmVnaXN0ZXJlZCB1c2VybmFtZTwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2NvbmZpcm1fc3VibWl0cHJlZnMnXSA9ICdDYW1iaWFyZSBsZSBwcmVmZXJlbnplIGRpIGFtbWluaXN0cmF6aW9uZT8nOwokbGFuZ1snaW5mb19hZG1pbl9wYXNzd29yZCddID0gJ0xhc2NpYSBxdWVzdG8gY2FtcG8gdnVvdG8gcGVyIHByZXNlcnZhcmUgbGEgcGFzc3dvcmQnOwokbGFuZ1snaW5mb19hZG1pbl9yZXBlYXRwYXNzd29yZCddID0gJ0xhc2NpYSBxdWVzdG8gY2FtcG8gdnVvdG8gcGVyIHByZXNlcnZhcmUgbGEgcGFzc3dvcmQnOwokbGFuZ1snZXJyb3JfZW1haWxkb2Vzbm90bWF0Y2gnXSA9ICdJbmRpcml6emkgZW1haWwgbm9uIGNvaW5jaWRvbm8nOwokbGFuZ1snZm9yY2VfZW1haWxfdHdpY2UnXSA9ICdFJiMwMzk7IHJpY2hpZXN0byBjaGUgbCYjMDM5O3V0ZW50ZSBpbnRyb2R1Y2EgbCYjMDM5O2luZGlyaXp6byBlbWFpbCBkdWUgdm9sdGUnOwokbGFuZ1snYWdhaW4nXSA9ICdkaSBudW92byc7CiRsYW5nWydkZWxldGVzZWx1c2VycyddID0gJ0NhbmNlbGxhIGdsaSB1dGVudGkgc2VsZXppb25hdGknOwokbGFuZ1snZXJyb3Jfbm9wcm9wZGVmbnMnXSA9ICdOZXNzdW5hIGRlZmluaXppb25lIGRpIHByb3ByaWV0JmFncmF2ZTssIG8gdW4gcHJvYmxlbWEgYSByaWNldmVybGUgZGFsIGRhdGFiYXNlJzsKJGxhbmdbJ2Vycm9yX25vZ3JvdXBzJ10gPSAnTmVzc3VuIGdydXBwbywgbyB1biBwcm9ibGVtYSBhIHJpY2V2ZXJlIGxhIGxpc3RhIGdydXBwaSc7CiRsYW5nWydlcnJvcl9kYmVycm9yJ10gPSAnRXJyb3JlIG5lbCBkYXRhYmFzZSc7CiRsYW5nWyd0aXRsZV9wb3N0X3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnXSA9ICdNb2RlbGxvIHBlciBFbWFpbCBwZXJzYSBpbnNlcml0byc7CiRsYW5nWyd0aXRsZV9zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJ10gPSAnTW9kZWxsbyBwZXIgRW1haWwgcGVyc2EnOwokbGFuZ1snY2xpY2toZXJlJ10gPSAncHJlbWVuZG8gcXVhJzsKJGxhbmdbJ21zZ19zZW5kYW5vdGhlcmVtYWlsJ10gPSAnU2UgYXZldGUgY29tcGxldGF0byBpbCBtb2R1bG8gZGkgcmVnaXN0cmF6aW9uZSBtYSBub24gYXZldGUgcmljZXZ1dG8gbGEgZW1haWwsIHBvdGV0ZSByaXNwZWRpcm5lIHVuJiMwMzk7YWx0cmEnOwokbGFuZ1snc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSddID0gJ01vZGVsbG8gcGVyIEVtYWlsIHBlcnNhJzsKJGxhbmdbJ2luZm9fdXNlcnZlcmlmaWVkJ10gPSAnVW4gbnVvdm8gdXRlbnRlICZlZ3JhdmU7IHN0YXRvIGFnZ2l1bnRvIGFpIEZyb250RW5kVXNlcnMnOwokbGFuZ1snZWRpdCddID0gJ01vZGlmaWNhJzsKJGxhbmdbJ3Vua25vd24nXSA9ICdTY29ub3NjaXV0byc7CiRsYW5nWydzZWxlY3QnXSA9ICdTZWxlemlvbmEnOwokbGFuZ1snY2hlY2tfYWxsJ10gPSAnU2VsZXppb25hIHR1dHRvJzsKJGxhbmdbJ3VuY2hlY2tfYWxsJ10gPSAnRGVzZWxlemlvbmEgdHV0dG8nOwokbGFuZ1snc2VuZF9hZGp1c3RtZW50ZW1haWwnXSA9ICdTcGVkaXNjZSB1bmEgZW1haWwgYWxsJiMwMzk7dXRlbnRlJzsKJGxhbmdbJ3R4dF9hZGp1c3RtZW50ZW1haWwnXSA9ICcoaW5mb3JtYSBsJiMwMzk7dXRlbnRlIGNoZSBsJiMwMzk7YWNjb3VudCAmZWdyYXZlOyBzdGF0byBjb25zb2xpZGF0byc7CiRsYW5nWyd0eHRfY2hhbmdlcGFzc3dvcmQnXSA9ICdSaWVtcGlyZSBxdWVzdGkgY2FtcGkgcGVyIGNhbWJpYXJlIGxhIHBhc3N3b3JkJzsKJGxhbmdbJ2VkaXR1c2VyJ10gPSAnTW9kaWZpY2EgdXRlbnRlJzsKJGxhbmdbJ2FyZXlvdXN1cmVfZGVsZXRldXNlciddID0gJ1NpZXRlIHNpY3VybyBkaSB2b2xlciBjYW5jZWxsYXJlIHF1ZXN0byB1dGVudGUgcmVnaXN0cmF0byBwYXJ6aWFsbWVudGU/JzsKJGxhbmdbJ2hkcl91c2VyaWQnXSA9ICdJRCBVdGVudGUnOwokbGFuZ1snaGRyX3VzZXJuYW1lJ10gPSAnVXNlcm5hbWUnOwokbGFuZ1snaGRyX2dycG5hbWUnXSA9ICdHcnVwcG8nOwokbGFuZ1snaGRyX2NyZWF0ZWQnXSA9ICdDcmVhdG8nOwokbGFuZ1snaGRyX2VtYWlsJ10gPSAnRW1haWwnOwokbGFuZ1sndXNlcnNmb3VuZCddID0gJ1V0ZW50aSB0cm92YXRpIChsaW1pdGF0byBhZCB1biBtYXNzaW1vIGRpIDI1MCknOwokbGFuZ1sndXNlcnMnXSA9ICdVdGVudGknOwokbGFuZ1snbGlzdDFkYXknXSA9ICdWaXN1YWxpenphIHR1dHRlIGxlIGVudHJhdGUgcGkmdWdyYXZlOyB2ZWNjaGllIGRpIHVuIGdpb3Jubyc7CiRsYW5nWydzdWJqZWN0J10gPSAnT2dnZXR0byBwZXIgbGUgZW1haWwgaW4gdXNjaXRhJzsKJGxhbmdbJ2h0bWxib2R5J10gPSAnQ29ycG8gZGVsIG1lc3NhZ2dpbyBpbiBIVE1MJzsKJGxhbmdbJ3RleHRib2R5J10gPSAnQ29ycG8gZGVsIG1lc3NhZ2dpbyBjb21lIHRlc3RvJzsKJGxhbmdbJ3Byb21wdF9udW1yZXNldHJlY29yZCddID0gJ1VuIG51bWVybyBkaSB1dGVudGkgc29ubyBuZWwgbWV6em8gZGVsbGEgcmVnaXN0cmF6aW9uZS4gSW4gcXVlc3RvIG1vbWVudG8gaWwgY29udGF0b3JlICZlZ3JhdmU7IGE6JzsKJGxhbmdbJ3JlbW92ZTF3ZWVrJ10gPSAnUmltdW92ZSB0dXR0ZSBsZSBlbnRyYXRlIHBpJnVncmF2ZTsgdmVjY2hpZSBkaSB1bmEgc2V0dGltYW5hJzsKJGxhbmdbJ3JlbW92ZTFtb250aCddID0gJ1JpbXVvdmUgdHV0dGUgbGUgZW50cmF0ZSBwaSZ1Z3JhdmU7IHZlY2NoaWUgZGkgdW4gbWVzZSc7CiRsYW5nWydyZW1vdmUxZGF5J10gPSAnUmltdW92ZSB0dXR0ZSBsZSBlbnRyYXRlIHBpJnVncmF2ZTsgdmVjY2hpZSBkaSB1biBnaW9ybm8nOwokbGFuZ1sncmVtb3ZlYWxsJ10gPSAnUmltdW92ZSB0dXR0ZSBsZSBlbnRyYXRlJzsKJGxhbmdbJ2FyZXlvdXN1cmUnXSA9ICdTaWV0ZSBzaWN1cm8/JzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbl9pbmZvX2VkaXRlZCddID0gJ0xhIHZvc3RyYSByZWdpc3RyYXppb25lICZlZ3JhdmU7IHN0YXRhIG1vZGlmaWNhdGEnOwokbGFuZ1sncmVnaXN0cmF0aW9uX2NvbmZpcm1hdGlvbiddID0gJ0NvbmZlcm1hIGRlbGxhIHJlZ2lzdHJhemlvbmUnOwokbGFuZ1sndXNlcl9yZWdpc3RyYXRpb24nXSA9ICdSZWdpc3RyYXRpJzsKJGxhbmdbJ2ZpbmFsbWVzc2FnZV90ZW1wbGF0ZSddID0gJ01vZGVsbG8gZGVsIG1lc3NhZ2dpbyBmaW5hbGUnOwokbGFuZ1sndGl0bGVfdmVyaWZ5cmVnaXN0cmF0aW9uJ10gPSAnVmVyaWZpY2EgZGVsbGEgcmVnaXN0cmF6aW9uZSc7CiRsYW5nWydjb2RlJ10gPSAnQ2hpYXZlIGRpIHZhbGlkYXppb25lJzsKJGxhbmdbJ2RlZmF1bHQnXSA9ICdTZXR0YSBhaSB2YWxvcmkgcHJlZGVmaW5pdGknOwokbGFuZ1snZXJyb3Jfbm9wcm9wZXJ0aWVzJ10gPSAnTmVzc3VuYSBwcm9wcmlldCZhZ3JhdmU7IHBlciBxdWVzdG8gdXRlbnRlJzsKJGxhbmdbJ2Vycm9yX25vcHJvcHJlbGF0aW9ucyddID0gJ05lc3N1bmEgcmVsYXppb25lIGRlbGxlIHByb3ByaWV0JmFncmF2ZTsnOwokbGFuZ1snZXJyb3JfZW1haWxpbnZhbGlkJ10gPSAnSW5kaXJpenpvIGVtYWlsIG5vbiB2YWxpZG8nOwokbGFuZ1snZXJyb3Jfbm9lbWFpbGFkZHJlc3MnXSA9ICdOZXNzdW4gY2FtcG8gcGVyIHVuIHZhbGlkbyBpbmRpcml6em8gZW1haWwgJmVncmF2ZTsgc3RhdG8gdHJvdmF0byc7CiRsYW5nWydlcnJvcl9yZXF1aXJlZGZpZWxkJ10gPSAnSWwgY2FtcG8gJXMgZGV2ZSBlc3NlcmUgcHJlc2VudGUnOwokbGFuZ1sncmVnaXN0cmF0aW9uMV90ZW1wbGF0ZSddID0gJ01vZGVsbG8gMSBwZXIgbGEgcmVnaXN0cmF6aW9uZSc7CiRsYW5nWydyZWdpc3RyYXRpb24yX3RlbXBsYXRlJ10gPSAnTW9kZWxsbyAyIHBlciBsYSByZWdpc3RyYXppb25lJzsKJGxhbmdbJ2VtYWlsY29uZmlybV90ZW1wbGF0ZSddID0gJ01vZGVsbG8gcGVyIGxhIGNvbmZlcm1hIGRhIGVtYWlsJzsKJGxhbmdbJ2VtYWlsdXNlcmVkaXRlZF90ZW1wbGF0ZSddID0gJ01vZGVsbG8gcGVyIGlsIGNhbWJpbyBkZWxsZSBpbmZvcm1hemlvbmkgdXRlbnRlJzsKJGxhbmdbJ3ByZWZlcmVuY2VzJ10gPSAnUHJlZmVyZW56ZSc7CiRsYW5nWydlcnJvcl91c2Vybm90Zm91bmQnXSA9ICdVdGVudGUgbm9uIHRyb3ZhdG8nOwokbGFuZ1snZXJyb3JfaW52YWxpZHVzZXJuYW1lJ10gPSAnVXNlcm5hbWUgbm9uIHZhbGlkbyAodHJvcHBvIGx1bmdvLCB0cm9wcG8gY29ydG8gbyBjb250aWVuZSBjYXJhdHRlcmkgbm9uIHZhbGlkaSkuIFNpIHJpY29yZGEgY2hlIGRldmUgY29udGVuZXJlIHNvbG8gY2FyYXR0ZXJpIGFsZmFudW1lcmljaSBzZW56YSBzcGF6aS4nOwokbGFuZ1snZXJyb3JfdXNlcm5hbWV0YWtlbiddID0gJ1F1ZXN0byB1c2VybmFtZSAmZWdyYXZlOyBnaSZhZ3JhdmU7IGluIHVzbyc7CiRsYW5nWydlcnJvcl9wYXNzd29yZHNkb250bWF0Y2gnXSA9ICdFcnJvcmU6IGxlIHBhc3N3b3JkIG5vbiBjb2luY2lkb25vJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXNzd29yZCddID0gJ1Bhc3N3b3JkIGludmFsaWRhIChkZXZlIGVzc2VyZSBjb21wcmVzYSBmcmEgJXMgZSAlcyBjYXJhdHRlcmkgYWxmYW51bWVyaWNpIHNlbnphIHNwYXppKSc7CiRsYW5nWydlcnJvcl9lbXB0eXVzZXJuYW1lJ10gPSAnVXNlcm5hbWUgbm9uIHB1Jm9ncmF2ZTsgZXNzZXJlIHZ1b3RvJzsKJGxhbmdbJ3JlcGVhdHBhc3N3b3JkJ10gPSAnUGFzc3dvcmQgKGRpIG51b3ZvKSc7CiRsYW5nWydwYXNzd29yZCddID0gJ1Bhc3N3b3JkJzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAnTm9tZSB1dGVudGUnOwokbGFuZ1snY2FwdGNoYV90aXRsZSddID0gJ0luc2VyaXJlIGlsIHRlc3RvIGRhbGwmIzAzOTtpbW1hZ2luZSc7CiRsYW5nWydlcnJvcl9pbnN1ZmZpY2llbnRwYXJhbXMnXSA9ICdOdW1lcm8gaW5zdWZmaWNpZW50ZSAobyBub24gY29ycmV0dG8pIGRpIHBhcmFtZXRyaSBpbnRyb2RvdHRpIGFsIG1vZHVsbyc7CiRsYW5nWydlcnJvcl9ub2ZldXNlcnNtb2R1bGUnXSA9ICdOb24gcG9zc28gcHJlbmRlcmUgdW5hIGlzdGFuemEgZGVsIG1vZHVsbyBGcm9udEVuZFVzZXJzJzsKJGxhbmdbJ2Vycm9yX25vc3VjaGdyb3VwJ10gPSAnSWwgbm9tZSBncnVwcG8gc3BlY2lmaWNhdG8gbm9uIGVzaXN0ZSc7CiRsYW5nWydlcnJvcl9jYXB0Y2hhbWlzbWF0Y2gnXSA9ICdJbCB0ZXN0byBkYWxsJiMwMzk7aW1tYWdpbmUgbm9uICZlZ3JhdmU7IHN0YXRvIGluc2VyaXRvIGNvcnJldHRhbWVudGUnOwokbGFuZ1snc2VuZF9lbWFpbHNfdG8nXSA9ICdMYSBlbWFpbCBkaSByZWdpc3RyYXppb25lIHNhciZhZ3JhdmU7IHNwZWRpdGEgYSc7CiRsYW5nWydyZXF1aXJlX2VtYWlsX2NvbmZpcm1hdGlvbiddID0gJ1NpIHJpY2hpZWRlIGNoZSBsJiMwMzk7dXRlbnRlIGNvbmZlcm1pIGxhIHJlZ2lzdHJhemlvbmUgdmlhIGVtYWlsJzsKJGxhbmdbJ25vdGlmeV9vbl9yZWdpc3RyYXRpb24nXSA9ICdTcGVkaXNjZSB1bmEgZW1haWwgZGkgbm90aWZpY2EgcXVhbmRvIHF1YWxjdW5vIHNpIHJlZ2lzdHJhJzsKJGxhbmdbJ2NhbmNlbCddID0gJ0NhbmNlbGxhJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ0lub2x0cmEnOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnTW9kdWxvIGRpIFNlbGYgUmVnaXN0cmF0aW9uJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnSW5zdGFsbGF0byBjb24gc3VjY2Vzc28sIHNpIHJpY29yZGkgc2kgc2V0dGFyZSBpbCBwZXJtZXNzbyBwZXIgJnF1b3Q7TW9kaWZ5IFNlbGZSZWdpc3RyYXRpb24gU2V0dGluZ3MmcXVvdDsuIFNlIGlsIG1vZHVsbyBDYXB0Y2hhICZlZ3JhdmU7IGluc3RhbGxhdG8sIGFsbG9yYSBsYSBzdWEgZnVuemlvbmFsaXQmYWdyYXZlOyAmZWdyYXZlOyBhYmlsaXRhdGEgcGVyIGRlZmF1bHQuIEluY29yYWdnaWFtbyB0YWxlIGluc3RhbGxhemlvbmUgcG9pY2gmZWdyYXZlOyB1dGlsaXp6YW5kbyBpbCBwYXJhbWV0cm8gbm9jYXB0Y2hhICZlZ3JhdmU7IHBvc3NpYmlsZSBkaXNhYmlsaXRhcmUgdGFsZSBmdW56aW9uYWxpdCZhZ3JhdmU7Lic7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnSWwgbW9kdWxvIFNlbGYgUmVnaXN0cmF0aW9uICZlZ3JhdmU7IGRpc2luc3RhbGxhdG8uJzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTW9kdWxvIGRpc2luc3RhbGxhdG8uJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ1ZlcnNpb25lIGRlbCBtb2R1bG8gJXMgaW5zdGFsbGF0YS4nOwokbGFuZ1sncHJlZnN1cGRhdGVkJ10gPSAnUHJlZmVyZW56ZSBkZWwgbW9kdWxvIGFnZ2lvcm5hdGUuJzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ0FjY2Vzc28gbmVnYXRvLiBTaSBwcmVnYSBkaSBjb250cm9sbGFyZSBpIHBlcm1lc3NpLic7CiRsYW5nWydlcnJvciddID0gJ0Vycm9yZSEnOwokbGFuZ1sndXBncmFkZWQnXSA9ICdNb2R1bG8gYWdnaW9ybmF0byBhbGxhIHZlcnNpb25lICVzLic7CiRsYW5nWyd0aXRsZV9tb2RfcHJlZnMnXSA9ICdQcmVmZXJlbnplIG1vZHVsbyc7CiRsYW5nWyd0aXRsZV9tb2RfYWRtaW4nXSA9ICdQYW5uZWxsbyBkaSBhbW1pbmlzdHJhemlvbmUgZGVsIG1vZHVsbyc7CiRsYW5nWyd0aXRsZV9hZG1pbl9wYW5lbCddID0gJ01vZHVsbyBTZWxmIFJlZ2lzdHJhdGlvbic7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ1VuIG1vZHVsbyBjaGUgcGVybWV0dGUgYWdsaSB1dGVudGkgZGkgYXV0byByZWdpc3RyYXJzaS4nOwokbGFuZ1snd2VsY29tZV90ZXh0J10gPSAnPHA+QmVudmVudXRpIG5lbCBtb2R1bG8gZGkgYXV0b3JlZ2lzdHJhemlvbmUuPC9wPic7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8dWw+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+Rml4ZXMgdGhlIHByb2JsZW0gd2l0aCBjaGVja2JveCBwcm9wZXJ0aWVzIG5vdCB3b3JraW5nPC9wPg0KICAgIDxwPk5vdyBSZXF1aXJlcyBDTVMgMS4xIG1pbmltdW08L3A+DQogICAgPHA+WW91IGNhbiBub3cgdXNlIHtTZWxmUmVnaXN0cmF0aW9uIGdyb3VwPSYjMDM5O2JsYWgmIzAzOTt9PC9wPg0KICAgIDxwPk5vdyBSZXF1aXJlcyBDTVMgMS4zIG1pbmltdW0uPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMS4zLiAtIE5vdiAyMDA3PC9wPg0KICAgIDxwPkZpeGVzIGlzc3VlIHdpdGggU01UUCBFbWFpbCBhZGRyZXNzIHZhbGlkYXRpb248L3A+DQogICAgPHA+Tm93IFJlcXVpcmUgRkVVIDEuMy4xPC9wPg0KICAgIDxwPkFkZHMgdGhlIG5vaW5saW5lIHBhcmFtZXRlcjwvcD4NCjwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+DQo8cD5UaGlzIG1vZHVsZSBpcyBkZXNpZ25lZCB0byBhbGxvdyBmcm9udCBlbmQgdXNlcnMgdG8gcmVnaXN0ZXIgdGhlbXNlbHZlcyBhbmQgZmlsbCBpbiB0aGUgcmVxdWlyZWQgaW5mb3JtYXRpb24uICBJdCB0aGVuIHNlbmRzIGEgY29uZmlybWF0aW9uIGVtYWlsLCB3aXRoIGEgbGluayB0byBhIHNlY29uZCBwYWdlIHRoYXQgbXVzdCBiZSBjb21wbGV0ZWQgYmVmb3JlIHRoZSByZWdpc3RyYXRpb24gaXMgY29tcGxldGUuICBPbmNlIHJlZ2lzdHJhdGlvbiBpcyBjb21wbGV0ZSwgYSB1c2VyIGFjY291bnQgaXMgY3JlYXRlZCBpbiB0aGUgZnJvbnQgZW5kIHVzZXJzIG1vZHVsZS48L3A+DQo8cD5JbiBvcmRlciB0byB1c2UgdGhpcyBtb2R1bGUsIHlvdSBtdXN0IGNyZWF0ZSBhIHByb3BlcnR5IG9mIHR5cGUgJnF1b3Q7RW1haWwgQWRkcmVzcyZxdW90OyBpbiB0aGUgRnJvbnRlbmRVc2VycyBtb2R1bGUsIGFuZCBhc3NvY2lhdGUgdGhhdCBwcm9wZXJ0eSB3aXRoIHRoZSBncm91cCB0byBiZSB1c2VkIGZvciBzZWxmIHJlZ2lzdHJhdGlvbi48L3A+DQo8aDM+SG93IERvIEkgVXNlIEl0PC9oMz4NCjxwPllvdSBwbGFjZSB0aGUgZm9sbG93bmcgdGFnIGludG8geW91ciBwYWdlIHtjbXNfbW9kdWxlIG1vZHVsZT1TZWxmUmVnaXN0cmF0aW9uIGdyb3VwPXVzZXJncm91cH08L3A+DQo8cD5Zb3UgbXVzdCBoYXZlIHByZXZpb3VzbHkgY3JlYXRlZCBwcm9wZXJ0aWVzIGFuZCB1c2VyIGdyb3VwcyBpbiB0aGUgRnJvbnRFbmRVc2VycyBtb2R1bGUgaW4gb3JkZXIgZm9yIHRoaXMgdG8gd29yayBwcm9wZXJseS48L3A+DQo8aDM+UGFyYW1ldGVyczwvaDM+DQo8cD48c3Ryb25nPm1vZGU8L3N0cm9uZz4gPGVtPm9wdGlvbmFsPC9lbT4gLSBwb3NzaWJsZSB2YWx1ZXMgYXJlICZxdW90O3NpZ251cCZxdW90OyBhbmQgJnF1b3Q7dmVyaWZ5JnF1b3Q7LiAgSWYgdGhpcyBwYXJhbWV0ZXIgaXMgbm90IHNwZWNpZmllZCwgJnF1b3Q7c2lnbnVwJnF1b3Q7IGlzIGFzc3VtYmVkLjwvcD4NCjxwPjxzdHJvbmc+Z3JvdXA8L3N0cm9uZz4gPGVtPm9wdGlvbmFsPC9lbT4gLSBUaGlzIHBhcmFtZXRlciBpcyByZXF1aXJlZCBpZiBtb2RlIGlzICZxdW90O3NpZ251cCZxdW90Oywgb3IgaWYgbW9kZSBpcyBsZWZ0IGVtcHR5LjwvcD4NCjxwPjxzdHJvbmc+Y2FwdGNoYTwvc3Ryb25nPiA8ZW0+b3B0aW9uYWw8L2VtPiAtIFRoaXMgd2lsbCBlbmFibGUgY2FwdGNoYSBvbiB0aGUgc2lnbnVwIGZvcm0uIFRoZSBDYXB0Y2hhIG1vZHVsZSBtdXN0IGJlIGluc3RhbGxlZCBmb3IgdGhpcyBwYXJhbWV0ZXIgdG8gd29yay48L3A+DQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+DQo8dWw+DQo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQgb3IgYnV5IGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHZpc2l0IGNhbGd1eSYjMDM5O3MNCm1vZHVsZSBob21lcGFnZSBhdCA8YSBocmVmPSZxdW90O2h0dHA6Ly90ZWNoY29tLmR5bmRucy5vcmcmcXVvdDs+dGVjaGNvbS5keW5kbnMub3JnPC9hPi48L2xpPg0KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0mcXVvdDtodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmcmcXVvdDs+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4NCjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9JnF1b3Q7aXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zJnF1b3Q7PkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4NCjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseS48L2xpPiAgDQo8L3VsPg0KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0DQpvZiB0aGUgbGljZW5zZSBmb3IgdGhlIGZ1bGwgZGlzY2xhaW1lci48L3A+DQoNCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA1LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSZxdW90O21haWx0bzpjYWxndXkxMDAwQGhvdG1haWwuY29tJnF1b3Q7PjxjYWxndXkxMDAwQGhvdG1haWwuY29tPjwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPlRoaXMgbW9kdWxlIGhhcyBiZWVuIHJlbGVhc2VkIHVuZGVyIHRoZSA8YSBocmVmPSZxdW90O2h0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCZxdW90Oz5HTlUgUHVibGljIExpY2Vuc2U8L2E+LiBZb3UgbXVzdCBhZ3JlZSB0byB0aGlzIGxpY2Vuc2UgYmVmb3JlIHVzaW5nIHRoZSBtb2R1bGUuPC9wPic7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjExOTgzNjQ3NTYuNDI2LjEwLnV0bWNjbj0ocmVmZXJyYWwpfHV0bWNzcj1mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZ3x1dG1jY3Q9L2luZGV4LnBocC90b3BpYywxNTMxOC4wLmh0bWx8dXRtY21kPXJlZmVycmFsJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMTgwNzE1MTY0MC4xMTgyOTYwNDU2LjExOTk1NDAzNzguMTE5OTU0NTYzMC40MjgnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nb_NO.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ3NraXBfZmluYWxfbXNnJ10gPSAnSWtrZSB2aXMgYmVrcmVmdGVsc2VzbWVsZGluZ2VuIGV0dGVyIHJlZ2lzdHJlcmluZyc7CiRsYW5nWydyZWRpcmVjdF9hZnRlcnJlZ2lzdGVyJ10gPSAnUGFnZUlEL0FsaWFzICZhcmluZzsgdmlkZXJlc2VuZGUgdGlsIGV0dGVyIHJlZ2lzdHJlcmluZ2VuIGVyIGZlcmRpZyc7CiRsYW5nWydyZWRpcmVjdF9hZnRlcnZlcmlmeSddID0gJ1BhZ2VJRC9BbGlhcyAmYXJpbmc7IHZpZGVyZXNlbmRlIHRpbCBldHRlciB2ZXJpZmlzZXJpbmdlbiBlciBmdWxsZiZvc2xhc2g7cnQnOwokbGFuZ1sndXNlX2lubGluZV9mb3JtcyddID0gJ0Jlbnl0dCBJbmxpbmUgc2tqZW1hZXIgPGVtPihza2plbWEgdXRkYXRhIGVyc3RhdHRlciBtb2R1bHRhZ2dlbiBvZyBpa2tlIGFsdCBpbm5ob2xkZXQpPC9lbT4nOwokbGFuZ1snZXJyb3JfY29kZXNkb250bWF0Y2gnXSA9ICdWYWxpZGVyaW5ncyBuJm9zbGFzaDtra2VsZW4gc29tIGVyIG9wcGdpdHQgZXIgdWd5bGRpZyc7CiRsYW5nWydldmVudF9kZXNjcmlwdGlvbl9vbk5ld1VzZXInXSA9ICdFbiBoZW5kZWxzZSBzb20gaW5kaWtlcmVyIGF0IGVuIG55IGJydWtlciBoYXIgZnlsdCB1dCByZWdpc3RyZXJpbmdzc2tqZW1hZXQnOwokbGFuZ1snZXZlbnRfZGVzY3JpcHRpb25fb25Vc2VyUmVnaXN0ZXJlZCddID0gJ0VuIEhlbmRlbHNlIHNvbSBpbmRpa2VyZXIgYXQgZW4gYnJ1a2VyIGhhciBiZWtyZWZ0ZXQgc2luIGluZm9ybWFzam9uIG9nIGVyIG4mYXJpbmc7IGZ1bGx0IHJlZ2lzdHJlcnQnOwokbGFuZ1snZXZlbnRfaGVscF9vbk5ld1VzZXInXSA9ICc8cD5FbiBIZW5kZWxzZSBzb20gaW5kaWtlcmVyIGF0IGVuIG55IGJydWtlciBoYXIgZnVsbGYmb3NsYXNoO3J0IHJlZ2lzdHJlcmluZ3Nza2plbWFldDwvcD4NCjxoND5Jbm5zdGlsbGluZ2VyPC9oND4NCjx1bD4NCjxsaT48ZW0+YnJ1a2VybmF2bjwvZW0+IC0gRGVuIG55ZSBicnVrZXJlbnMgdmFsZ3RlIGJydWtlcm5hdm48L2xpPg0KPGxpPjxlbT5lbWFpbDwvZW0+IC0gRGVuIG55ZSBicnVrZXJlbnMgZW1haWxhZHJlc3NlPC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRfaGVscF9vblVzZXJSZWdpc3RlcmVkJ10gPSAnPHA+RW4gSGVuZGVsc2Ugc29tIGluZGlrZXJlciBhdCBlbiBicnVrZXIgaGFyIGJsaXR0IGJla3JlZnRldCBvZyBlciBuJmFyaW5nOyByZWdpc3RyZXJ0IHAmYXJpbmc7IGZldXNlcnM8L3A+DQo8aDQ+SW5uc3RpbGxpbmdlcjwvaDQ+DQo8dWw+DQo8bGk+PGVtPmJydWtlcm5hdm48L2VtPiAtIERldCByZWdpc3RyZXJ0ZSBicnVrZXJuYXZuPC9saT4NCjwvdWw+DQonOwokbGFuZ1snY29uZmlybV9zdWJtaXRwcmVmcyddID0gJ0ZvcmFuZHJlIGFkbWluIHByZWZlcmFuc2VyPyc7CiRsYW5nWydpbmZvX2FkbWluX3Bhc3N3b3JkJ10gPSAnTGEgZGV0dGUgZmVsdGV0IHYmYWVsaWc7cmUgdG9tdCBmb3IgJmFyaW5nOyBiZWhvbGRlIGJydWtlcnBhc3NvcmRldCc7CiRsYW5nWydpbmZvX2FkbWluX3JlcGVhdHBhc3N3b3JkJ10gPSAnTGEgZGV0dGUgZmVsdGV0IHYmYWVsaWc7cmUgdG9tdCBmb3IgJmFyaW5nOyBiZWhvbGRlIGJydWtlcnBhc3NvcmRldCc7CiRsYW5nWydlcnJvcl9lbWFpbGRvZXNub3RtYXRjaCddID0gJ0Vwb3N0YWRyZXNzZW5lIGVyIGlra2UgbGlrZSc7CiRsYW5nWydmb3JjZV9lbWFpbF90d2ljZSddID0gJ1R2aW5nZXIgYnJ1a2VybmUgdGlsICZhcmluZzsgdGFzdGUgaW5uIGVwb3N0YWRyZXNzZW4gc2luIHRvIGdhbmdlcic7CiRsYW5nWydhZ2FpbiddID0gJ2lnamVuJzsKJGxhbmdbJ2RlbGV0ZXNlbHVzZXJzJ10gPSAnU2xldHQgdmFsZ3RlIGJydWtlcmUnOwokbGFuZ1snZXJyb3Jfbm9wcm9wZGVmbnMnXSA9ICdJbmdlbiBmZWx0IGRlZmluaXNqb25lciwgZWxsZXIgcHJvYmxlbSBtZWQgJmFyaW5nOyBoZW50ZSBkZW0gZnJhIGRhdGFiYXNlbic7CiRsYW5nWydlcnJvcl9ub2dyb3VwcyddID0gJ0luZ2VuIGdydXBwZXIgZnVubmV0LCBlbGxlciBwcm9ibGVtZXIgbWVkICZhcmluZzsgbGVzZSBncnVwcGVsaXN0ZW4nOwokbGFuZ1snZXJyb3JfZGJlcnJvciddID0gJ0RhdGFiYXNlZmVpbCc7CiRsYW5nWyd0aXRsZV9wb3N0X3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnXSA9ICdNYWwgZm9yICZhcmluZzsgc2VuZGUgbWlzdGV0IHBhc3NvcmQnOwokbGFuZ1sndGl0bGVfc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSddID0gJ01hbCBmb3IgbWlzdGV0IHBhc3NvcmQnOwokbGFuZ1snY2xpY2toZXJlJ10gPSAnS2xpa2sgaGVyJzsKJGxhbmdbJ21zZ19zZW5kYW5vdGhlcmVtYWlsJ10gPSAnSmVnIGhhciBhbGxlcmVkZSBmdWxsZiZvc2xhc2g7cnQgcmVnaXN0cmVyaW5nc3NramVtYWV0LCBtZW4gbW90dG9rIGlra2Ugbm9lbiBlcG9zdC4gS2FuIGRlcmUgc2VuZGUgZGVuIHAmYXJpbmc7IG55dHQnOwokbGFuZ1snc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSddID0gJ01hbCBmb3IgbWlzdGV0IHBhc3NvcmQnOwokbGFuZ1snaW5mb191c2VydmVyaWZpZWQnXSA9ICdFbiBueSBicnVrZXIgZXIgbGFndCB0aWwgaSBGcm9udEVuZFVzZXJzJzsKJGxhbmdbJ2VkaXQnXSA9ICdSZWRpZ2VyJzsKJGxhbmdbJ3Vua25vd24nXSA9ICdVa2plbnQnOwokbGFuZ1snc2VsZWN0J10gPSAnVmVsZyc7CiRsYW5nWydjaGVja19hbGwnXSA9ICdWZWxnIGFsbGUnOwokbGFuZ1sndW5jaGVja19hbGwnXSA9ICdWZWxnIGluZ2VuJzsKJGxhbmdbJ3NlbmRfYWRqdXN0bWVudGVtYWlsJ10gPSAnU2VuZCBlcG9zdCB0aWwgYnJ1a2VyZW4nOwokbGFuZ1sndHh0X2FkanVzdG1lbnRlbWFpbCddID0gJyhpbmZvcm1lcmVyIGJydWtlcmVuIG9tIGF0IGtvbnRvZW4gaGFyIGJsaXR0IGp1c3RlcnQnOwokbGFuZ1sndHh0X2NoYW5nZXBhc3N3b3JkJ10gPSAnRnlsbCB1dCBkaXNzZSBmZWx0ZW5lIGZvciAmYXJpbmc7IGZvcmFuZHJlIGJydWtlcnBhc3NvcmRldCc7CiRsYW5nWydlZGl0dXNlciddID0gJ1JlZGlnZXIgYnJ1a2VyJzsKJGxhbmdbJ2FyZXlvdXN1cmVfZGVsZXRldXNlciddID0gJ0VyIGR1IHNpa2tlciBwJmFyaW5nOyBhdCBkdSB2aWwgc2xldHRlIGRlbm5lIGRlbHZpcyByZWdpc3RyZXJ0ZSBicnVrZXJlbj8nOwokbGFuZ1snaGRyX3VzZXJpZCddID0gJ0JydWtlcklEJzsKJGxhbmdbJ2hkcl91c2VybmFtZSddID0gJ0JydWtlcm5hdm4nOwokbGFuZ1snaGRyX2dycG5hbWUnXSA9ICdHcnVwcGUnOwokbGFuZ1snaGRyX2NyZWF0ZWQnXSA9ICdPcHByZXR0ZXQnOwokbGFuZ1snaGRyX2VtYWlsJ10gPSAnRXBvc3QnOwokbGFuZ1sndXNlcnNmb3VuZCddID0gJ0JydWtlcmUgZnVubmV0IChiZWdyZW5zZXQgdGlsIG1ha3MgMjUwKSc7CiRsYW5nWyd1c2VycyddID0gJ0JydWtlcmUnOwokbGFuZ1snbGlzdDFkYXknXSA9ICdMaXN0IGFsbGUgaW5ubGVnZyBtZXIgZW5uIDEgZGFnIGdhbWxlJzsKJGxhbmdbJ3N1YmplY3QnXSA9ICdFbW5lIGZvciB1dGcmYXJpbmc7ZW5kZSBlcG9zdCc7CiRsYW5nWydodG1sYm9keSddID0gJ0hUTUwgbWVsZGluZ3Mta3JvcHAnOwokbGFuZ1sndGV4dGJvZHknXSA9ICdUZXh0IG1lbGRpbmdzLWtyb3BwJzsKJGxhbmdbJ3Byb21wdF9udW1yZXNldHJlY29yZCddID0gJ0V0IGFudGFsbCBicnVrZXJlIGVyIG1pZHQgaSByZWdpc3RyZXJpbmdlbi4gRGV0dGUgYW50YWxsZXIgZXIgbiZhcmluZzs6JzsKJGxhbmdbJ3JlbW92ZTF3ZWVrJ10gPSAnRmplcm4gYWxsZSBpbm5sZWdnIG1lciBlbm4gZW4gdWtlIGdhbWxlJzsKJGxhbmdbJ3JlbW92ZTFtb250aCddID0gJ0ZqZXJuIGFsbGUgaW5ubGVnZyBtZXIgZW5uIGVuIG0mYXJpbmc7bmVkIGdhbWxlJzsKJGxhbmdbJ3JlbW92ZTFkYXknXSA9ICdGamVybiBhbGxlIGlubmxlZ2cgbWVyIGVubiBlbiBkYWcgZ2FtbGUnOwokbGFuZ1sncmVtb3ZlYWxsJ10gPSAnRmplcm4gYWxsZSBpbm5sZWdnJzsKJGxhbmdbJ2FyZXlvdXN1cmUnXSA9ICdFciBkdSBzaWtrZXI/JzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbl9pbmZvX2VkaXRlZCddID0gJ0RpbmUgcmVnaXN0cmVyaW5nc2RhdGEgaGFyIGJsaXR0IGVuZHJldCc7CiRsYW5nWydyZWdpc3RyYXRpb25fY29uZmlybWF0aW9uJ10gPSAnQmVrcmVmdGVsc2UgcCZhcmluZzsgcmVnaXN0cmVyaW5nJzsKJGxhbmdbJ3VzZXJfcmVnaXN0cmF0aW9uJ10gPSAnUmVnaXN0cmVyJzsKJGxhbmdbJ2ZpbmFsbWVzc2FnZV90ZW1wbGF0ZSddID0gJ01hbCBmb3IgYXZzbHV0dGVuZGUgbWVsZGluZyc7CiRsYW5nWyd0aXRsZV92ZXJpZnlyZWdpc3RyYXRpb24nXSA9ICdCZWtyZWZ0IHJlZ2lzdHJlcmluZyc7CiRsYW5nWydjb2RlJ10gPSAnS29kZW4mb3NsYXNoO2trZWwgKFZhbGlkYXRpb24gS2V5KSc7CiRsYW5nWydkZWZhdWx0J10gPSAnVGlsYmFrZXN0aWxsIHRpbCBzdGFuZGFyZHZlcmRpZXInOwokbGFuZ1snZXJyb3Jfbm9wcm9wZXJ0aWVzJ10gPSAnSW5nZW4gZmVsdGVyL2VnZW5za2FwZXIgZnVubmV0IGZvciBkZW5uZSBicnVrZXJlbic7CiRsYW5nWydlcnJvcl9ub3Byb3ByZWxhdGlvbnMnXSA9ICdJbmdlbiBmZWx0L2VnZW5za2FwIHJlbGFzam9uJzsKJGxhbmdbJ2Vycm9yX2VtYWlsaW52YWxpZCddID0gJ1VneWxkaWcgZXBvc3RhZHJlc3NlJzsKJGxhbmdbJ2Vycm9yX25vZW1haWxhZGRyZXNzJ10gPSAnSW5nZW4gZ3lsZGlnIGVtYWlsYWRyZXNzZSBmZWx0IGZ1bm5ldCc7CiRsYW5nWydlcnJvcl9yZXF1aXJlZGZpZWxkJ10gPSAnRmVsdGV0ICVzIG0mYXJpbmc7IGZ5bGxlcyB1dCc7CiRsYW5nWydyZWdpc3RyYXRpb24xX3RlbXBsYXRlJ10gPSAnTWFsIDEgZm9yIHJlZ2lzdHJlcmluZyc7CiRsYW5nWydyZWdpc3RyYXRpb24yX3RlbXBsYXRlJ10gPSAnTWFsIDIgZm9yIHJlZ2lzdHJlcmluZyc7CiRsYW5nWydlbWFpbGNvbmZpcm1fdGVtcGxhdGUnXSA9ICdNYWwgZm9yIGJla3JlZnRlbHNlIGVwb3N0JzsKJGxhbmdbJ2VtYWlsdXNlcmVkaXRlZF90ZW1wbGF0ZSddID0gJ01hbCBmb3IgYnJ1a2VyLWluZm8gZm9yYW5kcmV0JzsKJGxhbmdbJ3ByZWZlcmVuY2VzJ10gPSAnUHJlZmVyYW5zZXInOwokbGFuZ1snZXJyb3JfdXNlcm5vdGZvdW5kJ10gPSAnQnJ1a2VyIGlra2UgZnVubmV0JzsKJGxhbmdbJ2Vycm9yX2ludmFsaWR1c2VybmFtZSddID0gJ0JydWtlcm5hdm5ldCBlciB1Z3lsZGlnIChmb3IgbGFuZ3QsIGZvciBrb3J0LCBlbGxlciBpbm5laG9sZGVyIHVneWxkaWdlIHRlZ24pLiAgSGludC0gQnJ1a2VybmF2biBtJmFyaW5nOyBpbm5laG9sZGUga3VuIGFsZmFudW1lcmlza2UgdGVnbiAoaW5nZW4gbWVsbG9tcm9tKSc7CiRsYW5nWydlcnJvcl91c2VybmFtZXRha2VuJ10gPSAnRGV0IGJydWtlcm5hdm5ldCBlciBhbGxlcmVkZSBpIGJydWsnOwokbGFuZ1snZXJyb3JfcGFzc3dvcmRzZG9udG1hdGNoJ10gPSAnRkVJTDogcGFzc29yZGVuZSBlciBpa2tlIGxpa2UnOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhc3N3b3JkJ10gPSAnUGFzc29yZGV0IGVyIHVneWxkaWcgKHBhc3NvcmQgbSZhcmluZzsgdiZhZWxpZztyZSBtZWxsb20gJXMgb2cgJXMga2FyYWt0ZXJlciBpIGxlbmdkZSknOwokbGFuZ1snZXJyb3JfZW1wdHl1c2VybmFtZSddID0gJ0JydWtlcm5hdm5ldCBrYW4gaWtrZSB2JmFlbGlnO3JlIGJsYW5rdCc7CiRsYW5nWydyZXBlYXRwYXNzd29yZCddID0gJ1Bhc3NvcmQgKGlnamVuKSc7CiRsYW5nWydwYXNzd29yZCddID0gJ1Bhc3NvcmQnOwokbGFuZ1sndXNlcm5hbWUnXSA9ICdCcnVrZXJuYXZuJzsKJGxhbmdbJ2NhcHRjaGFfdGl0bGUnXSA9ICdPcHBnaSB0ZWtzdGVuIGZyYSBiaWxkZXQnOwokbGFuZ1snZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJ10gPSAnVWd5bGRpZyBudW1tZXIgKGVsbGVyIGZlaWwpIHBhcmFtZXRlcmUgZ2l0dCB0aWwgbW9kdWxlbic7CiRsYW5nWydlcnJvcl9ub2ZldXNlcnNtb2R1bGUnXSA9ICdGYW50IGlra2UgRnJvbnRFbmRVc2VycyBtb2R1bGVuJzsKJGxhbmdbJ2Vycm9yX25vc3VjaGdyb3VwJ10gPSAnT3BwZ2l0dCBncnVwcGVuYXZuIGVrc2lzdGVyZXIgaWtrZSc7CiRsYW5nWydlcnJvcl9jYXB0Y2hhbWlzbWF0Y2gnXSA9ICdUZWtzdGVuIGZyYSBiaWxkZXQgYmxlIGlra2Ugc2tyZXZldCByaWt0aWcnOwokbGFuZ1snc2VuZF9lbWFpbHNfdG8nXSA9ICdSZWdpc3RyZXJpbmdzZW1haWxlciBza3VsbGUgYmxpIHNlbmR0IHRpbCc7CiRsYW5nWydyZXF1aXJlX2VtYWlsX2NvbmZpcm1hdGlvbiddID0gJ0tyZXYgYXQgYnJ1a2VyZW4gbSZhcmluZzsgYmVrcmVmdGUgcmVnaXN0cmVyaW5nZW4gdmlhIGVtYWlsJzsKJGxhbmdbJ25vdGlmeV9vbl9yZWdpc3RyYXRpb24nXSA9ICdTZW5kIGVuIGVtYWlsIG1lbGRpbmcgbiZhcmluZztyIG5vZW4gcmVnaXN0cmVyZXIgc2VnJzsKJGxhbmdbJ2NhbmNlbCddID0gJ0F2YnJ5dCc7CiRsYW5nWydzdWJtaXQnXSA9ICdTZW5kJzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1NlbHYtcmVnaXN0cmVyaW5ncyBtb2R1bCc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0luc3RhbGxhc2pvbiB2ZWxseWtrZXQsIGh1c2sgJmFyaW5nOyBzZXR0ZSAmcXVvdDtNb2RpZnkgU2VsZlJlZ2lzdHJhdGlvbiBTZXR0aW5ncyZxdW90OyByZXR0aWdoZXRlbi4NCk9tIENhcHRjaGEgbW9kdWxlbiBlciBpbnN0YWxsZXJ0LCBzJmFyaW5nOyB2aWwgY2FwdGNoYSBmdW5rc2pvbmVuIGJsaSBzbCZhcmluZzt0dCBwJmFyaW5nOyBzb20gc3RhbmRhcmQuIFZpIGFuYmVmYWxlciBwJmFyaW5nOyBkZXQgc3Rlcmtlc3RlIGF0IGR1IGluc3RhbGxlcmVyIGRlbm5lIG1vZHVsZW4uIE9tIENhcHRjaGEgbW9kdWxlbiBlciBpbnN0YWxsZXJ0IG9nIGR1IGlra2UgdmlsIGJlbnl0dGUgZGV0dGUsIGJydWtlciBkdSBwYXJhbWV0ZXJlbiBub2NhcHRjaGEgaSBkaW4gc2Vsdi1yZWdpc3RyZXJpbmdzIHRhZ2cuJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdTZWx2cmVnaXN0cmVyaW5ncyBNb2R1bGVuIGVyIGF2aW5zdGFsbGVydC4gIFNlciBkZWcgc2VuZXJlLic7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZHVsZW4gYXZpbnN0YWxsZXJ0Lic7CiRsYW5nWydpbnN0YWxsZWQnXSA9ICdNb2R1bCB2ZXJzam9uICVzIGluc3RhbGxlcnQuJzsKJGxhbmdbJ3ByZWZzdXBkYXRlZCddID0gJ01vZHVsIGlubnN0aWxsaW5nZXIgb3BwZGF0ZXJ0Lic7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdBZGdhbmcgbmVrdGV0LiBWZW5ubGlnc3Qgc2pla2sgZGluZSByZXR0aWdoZXRlci4nOwokbGFuZ1snZXJyb3InXSA9ICdGZWlsISc7CiRsYW5nWyd1cGdyYWRlZCddID0gJ01vZHVsIG9wcGdyYWRlcnQgdGlsIHZlcnNqb24gJXMuJzsKJGxhbmdbJ3RpdGxlX21vZF9wcmVmcyddID0gJ01vZHVsIGlubnN0aWxsbmdlcic7CiRsYW5nWyd0aXRsZV9tb2RfYWRtaW4nXSA9ICdNb2R1bCBhZG1pbmlzdHJhc2pvbnNwYW5lbCc7CiRsYW5nWyd0aXRsZV9hZG1pbl9wYW5lbCddID0gJ1NlbHZyZWdpc3RyZXJpbmdzIE1vZHVsJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnRW4gbW9kdWwgc29tIHRpbGxhdGVyIGZyb250LWVuZCBicnVrZXJlICZhcmluZzsgcmVnaXN0cmVyZSBzZWcgc2Vsdi4nOwokbGFuZ1snd2VsY29tZV90ZXh0J10gPSAnPHA+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+DQo8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPg0KPHA+VGhpcyBtb2R1bGUgaXMgZGVzaWduZWQgdG8gYWxsb3cgZnJvbnQgZW5kIHVzZXJzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMgYW5kIGZpbGwgaW4gdGhlIHJlcXVpcmVkIGluZm9ybWF0aW9uLiAgSXQgdGhlbiBzZW5kcyBhIGNvbmZpcm1hdGlvbiBlbWFpbCwgd2l0aCBhIGxpbmsgdG8gYSBzZWNvbmQgcGFnZSB0aGF0IG11c3QgYmUgY29tcGxldGVkIGJlZm9yZSB0aGUgcmVnaXN0cmF0aW9uIGlzIGNvbXBsZXRlLiAgT25jZSByZWdpc3RyYXRpb24gaXMgY29tcGxldGUsIGEgdXNlciBhY2NvdW50IGlzIGNyZWF0ZWQgaW4gdGhlIGZyb250IGVuZCB1c2VycyBtb2R1bGUuPC9wPg0KPHA+SW4gb3JkZXIgdG8gdXNlIHRoaXMgbW9kdWxlLCB5b3UgbXVzdCBjcmVhdGUgYSBwcm9wZXJ0eSBvZiB0eXBlICZxdW90O0VtYWlsIEFkZHJlc3MmcXVvdDsgaW4gdGhlIEZyb250ZW5kVXNlcnMgbW9kdWxlLCBhbmQgYXNzb2NpYXRlIHRoYXQgcHJvcGVydHkgd2l0aCB0aGUgZ3JvdXAgdG8gYmUgdXNlZCBmb3Igc2VsZiByZWdpc3RyYXRpb24uPC9wPg0KPGgzPkhvdyBEbyBJIFVzZSBJdDwvaDM+DQo8cD5Zb3UgcGxhY2UgdGhlIGZvbGxvd25nIHRhZyBpbnRvIHlvdXIgcGFnZSB7Y21zX21vZHVsZSBtb2R1bGU9U2VsZlJlZ2lzdHJhdGlvbiBncm91cD11c2VyZ3JvdXB9PC9wPg0KPHA+WW91IG11c3QgaGF2ZSBwcmV2aW91c2x5IGNyZWF0ZWQgcHJvcGVydGllcyBhbmQgdXNlciBncm91cHMgaW4gdGhlIEZyb250RW5kVXNlcnMgbW9kdWxlIGluIG9yZGVyIGZvciB0aGlzIHRvIHdvcmsgcHJvcGVybHkuPC9wPg0KPGgzPlBhcmFtZXRlcnM8L2gzPg0KPHA+PHN0cm9uZz5tb2RlPC9zdHJvbmc+Jm5ic3A7PGVtPm9wdGlvbmFsPC9lbT4gLSBwb3NzaWJsZSB2YWx1ZXMgYXJlICZxdW90O3NpZ251cCZxdW90OyBhbmQgJnF1b3Q7dmVyaWZ5JnF1b3Q7LiAgSWYgdGhpcyBwYXJhbWV0ZXIgaXMgbm90IHNwZWNpZmllZCwgJnF1b3Q7c2lnbnVwJnF1b3Q7IGlzIGFzc3VtYmVkLjwvcD4NCjxwPjxzdHJvbmc+Z3JvdXA8L3N0cm9uZz4mbmJzcDs8ZW0+b3B0aW9uYWw8L2VtPiAtIFRoaXMgcGFyYW1ldGVyIGlzIHJlcXVpcmVkIGlmIG1vZGUgaXMgJnF1b3Q7c2lnbnVwJnF1b3Q7LCBvciBpZiBtb2RlIGlzIGxlZnQgZW1wdHkuPC9wPg0KPHA+PHN0cm9uZz5ub2NhcHRjaGE8L3N0cm9uZz4mbmJzcDs8ZW0+b3B0aW9uYWw8L2VtPiAtIFRoaXMgd2lsbCBkaXNhYmxlIGNhcHRjaGEgb24gdGhlIHNpZ251cCBmb3JtLiBCeSBkZWZhdWx0LCBpZiB0aGUgQ2FwdGNoYSBtb2R1bGUgaXMgaW5zdGFsbGVkLCBjYXB0Y2hhIHN1cHBvcnQgaXMgcHJvdmlkZWQuICBUaGlzIHBhcmFtZXRlciBkaXNhYmxlcyBpdC48L3A+DQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+DQo8dWw+DQo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQgb3IgYnV5IGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHZpc2l0IGNhbGd1eSYjMDM5O3MNCm1vZHVsZSBob21lcGFnZSBhdCA8YSBocmVmPSZxdW90O2h0dHA6Ly90ZWNoY29tLmR5bmRucy5vcmcmcXVvdDs+dGVjaGNvbS5keW5kbnMub3JnPC9hPi48L2xpPg0KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0mcXVvdDtodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmcmcXVvdDs+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4NCjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9JnF1b3Q7aXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zJnF1b3Q7PkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4NCjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseS48L2xpPiAgDQo8L3VsPg0KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0DQpvZiB0aGUgbGljZW5zZSBmb3IgdGhlIGZ1bGwgZGlzY2xhaW1lci48L3A+DQoNCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KPHA+Q29weXJpZ2h0ICZhbXA7Y29weTsgMjAwOCwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0mcXVvdDttYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyZxdW90Oz4mYW1wO2x0O2NhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcmYW1wO2d0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPlRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQppdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQ0KdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3INCihhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uPC9wPg0KPHA+SG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkDQphcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUNCmluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMNCk1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiANCnNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQpidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0ENCk9yIHJlYWQgaXQgPGEgaHJlZj0mcXVvdDtodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwmcXVvdDs+b25saW5lPC9hPjwvcD4nOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My41MjU0MDY4MTIuMTE4ODA3NzQxNy4xMjA1ODg1MTE2LjEyMDU5Mzk3NjUuNDAwJzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTIwNTY4NjIzMy4zOTQuMjcudXRtY2NuPShyZWZlcnJhbCl8dXRtY3NyPWNtczEuaGVsbWluaWtvbi5ub3x1dG1jY3Q9L2FkbWluL2xpc3Rtb2R1bGVzLnBocHx1dG1jbWQ9cmVmZXJyYWwnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nl_NL.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2Vycm9yX2NvZGVzZG9udG1hdGNoJ10gPSAnRGUgaW5nZXZvZXJkZSB2YWxpZGF0aWVzbGV1dGVsIGlzIG9uZ2VsZGlnJzsKJGxhbmdbJ2V2ZW50X2Rlc2NyaXB0aW9uX29uTmV3VXNlciddID0gJ0VlbiBnZWJldXJ0ZW5pcyBkaWUgYWFuZ2VlZnQgZGF0IGVlbiBuaWV1d2UgZ2VicnVpa2VyIGhldCByZWdpc3RyYXRpZWZvcm11bGllciBoZWVmdCBpbmdldnVsZCc7CiRsYW5nWydldmVudF9kZXNjcmlwdGlvbl9vblVzZXJSZWdpc3RlcmVkJ10gPSAnRWVuIGdlYmV1cnRlbmlzIGRpZSBhYW5nZWVmdCBkYXQgZWVuIGdlYnJ1aWtlciB6aWpuIGdlZ2V2ZW5zIGhlZWZ0IGdldmFsaWRlZXJkIGVuIG51IHZvbGxlZGlnIGlzIGdlcmVnaXN0cmVlcmQuJzsKJGxhbmdbJ2V2ZW50X2hlbHBfb25OZXdVc2VyJ10gPSAnPHA+RWVuIGdlYmV1cnRlbmlzIGRpZSBhYW5nZWVmdCBkYXQgZWVuIG5pZXV3ZSBnZWJydWlrZXIgaGV0IHJlZ2lzdHJhdGllZm9ybXVsaWVyIGhlZWZ0IGluZ2V2dWxkPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gRGUgZ2VzZWxlY3RlZXJkZSBnZWJydWlrZXJzbmFhbTwvbGk+DQo8bGk+PGVtPmVtYWlsPC9lbT4gLSBIZXQgZ2VzZWxlY3RlZXJkZSBlbWFpbGFkcmVzPC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRfaGVscF9vblVzZXJSZWdpc3RlcmVkJ10gPSAnPHA+RWVuIGdlYmV1cnRlbmlzIGRpZSBhYW5nZWVmdCBkYXQgZWVuIGdlYnJ1aWtlciB6aWpuIGdlZ2V2ZW5zIGhlZWZ0IGdldmFsaWRlZXJkIGVuIG51IHZvbGxlZGlnIGlzIGdlcmVnaXN0cmVlcmQ8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBEZSBnZXJlZ2lzdHJlZXJkZSBnZWJydWlrZXJzbmFhbTwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2NvbmZpcm1fc3VibWl0cHJlZnMnXSA9ICdWZXJhbmRlciBiZWhlZXJzdm9vcmtldXJlbj8nOwokbGFuZ1snaW5mb19hZG1pbl9wYXNzd29yZCddID0gJ0xhYXQgZGl0IHZlbGQgbGVlZyBvbSBoZXQgZ2VicnVpa2Vyc3dhY2h0d29vcmQgdGUgYmVob3VkZW4nOwokbGFuZ1snaW5mb19hZG1pbl9yZXBlYXRwYXNzd29yZCddID0gJ0xhYXQgZGl0IHZlbGQgbGVlZyBvbSBoZXQgZ2VicnVpa2Vyc3dhY2h0d29vcmQgdGUgYmVob3VkZW4nOwokbGFuZ1snZXJyb3JfZW1haWxkb2Vzbm90bWF0Y2gnXSA9ICdFbWFpbGFkcmVzc2VuIGtvbWVuIG5pZXQgb3ZlcmVlbic7CiRsYW5nWydmb3JjZV9lbWFpbF90d2ljZSddID0gJ1ZlcnBsaWNodCBnZWJydWlrZXJzIG9tIGh1biBlbWFpbGFkcmVzIHR3ZWUgbWFhbCBpbiB0ZSB2b2VyZW4nOwokbGFuZ1snYWdhaW4nXSA9ICdvcG5pZXV3JzsKJGxhbmdbJ2RlbGV0ZXNlbHVzZXJzJ10gPSAnVmVyd2lqZGVyIGdlc2VsZWN0ZWVyZGUgZ2VicnVpa2Vycyc7CiRsYW5nWydlcnJvcl9ub3Byb3BkZWZucyddID0gJ0dlZW4gZWlnZW5zY2hhcHNkZWZpbml0aWUgb2YgZWVuIHByb2JsZWVtIG9tIGRlemUgdWl0IGRlIGRhdGFiYXNlIHRlIGhhbGVuJzsKJGxhbmdbJ2Vycm9yX25vZ3JvdXBzJ10gPSAnR2VlbiBncm9lcGVuIG9mIGVlbiBwcm9ibGVlbSBtZXQgaGV0IG9waGFsZW4gdmFuIGRlIGdyb2VwZW5saWpzdCc7CiRsYW5nWydlcnJvcl9kYmVycm9yJ10gPSAnRGF0YWJhc2UtZm91dCc7CiRsYW5nWyd0aXRsZV9wb3N0X3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnXSA9ICdQb3N0IHZlcmxvcmVuIGVtYWlsc2phYmxvb24nOwokbGFuZ1sndGl0bGVfc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSddID0gJ1ZlcmxvcmVuIGVtYWlsc2phYmxvb24nOwokbGFuZ1snY2xpY2toZXJlJ10gPSAnS2xpayBoaWVyJzsKJGxhbmdbJ21zZ19zZW5kYW5vdGhlcmVtYWlsJ10gPSAnSWsgaGViIGhldCByZWdpc3RyYXRpZWZvcm11bGllciBhbCBpbmdldnVsZCwgbWFhciBoZWIgbm9nIGdlZW4gZW1haWwgb250dmFuZ2VuLiBLdW50IHUgaGV0IG9wbmlldXcgdmVyc3R1cmVuPyc7CiRsYW5nWydzZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJ10gPSAnVmVybG9yZW4gZW1haWxzamFibG9vbic7CiRsYW5nWydpbmZvX3VzZXJ2ZXJpZmllZCddID0gJ0VlbiBuaWV1d2UgZ2VicnVpa2VyIGlzIHRvZWdldm9lZ2QgYWFuIEZyb250RW5kVXNlcnMnOwokbGFuZ1snZWRpdCddID0gJ0Jld2Vyayc7CiRsYW5nWyd1bmtub3duJ10gPSAnT25iZWtlbmQnOwokbGFuZ1snc2VsZWN0J10gPSAnU2VsZWN0ZWVyJzsKJGxhbmdbJ2NoZWNrX2FsbCddID0gJ1NlbGVjdGVlciBhbGxlcyc7CiRsYW5nWyd1bmNoZWNrX2FsbCddID0gJ0Rlc2VsZWN0ZWVyIGFsbGVzJzsKJGxhbmdbJ3NlbmRfYWRqdXN0bWVudGVtYWlsJ10gPSAnU3R1dXIgZWVuIGVtYWlsIG5hYXIgZGUgZ2VicnVpa2VyJzsKJGxhbmdbJ3R4dF9hZGp1c3RtZW50ZW1haWwnXSA9ICcoaW5mb3JtZWVydCBkZSBnZWJydWlrZXIgZGF0IHppam4gYWNjb3VudCBpcyBhYW5nZXBhc3QnOwokbGFuZ1sndHh0X2NoYW5nZXBhc3N3b3JkJ10gPSAnVnVsIGRlemUgdmVsZGVuIGluIG9tIGhldCBnZWJydWlrZXJzd2FjaHR3b29yZCB0ZSB2ZXJhbmRlcmVuJzsKJGxhbmdbJ2VkaXR1c2VyJ10gPSAnQmV3ZXJrIGdlYnJ1aWtlcic7CiRsYW5nWydhcmV5b3VzdXJlX2RlbGV0ZXVzZXInXSA9ICdXZWV0IHUgemVrZXIgZGF0IGRlemUsIGRlZWxzIGdlcmVnaXN0cmVlcmRlIGdlYnJ1aWtlciwgdmVyd2lqZGVyZCBtb2V0IHdvcmRlbj8nOwokbGFuZ1snaGRyX3VzZXJpZCddID0gJ0dlYnJ1aWtlcnMtSUQnOwokbGFuZ1snaGRyX3VzZXJuYW1lJ10gPSAnR2VicnVpa2Vyc25hYW0nOwokbGFuZ1snaGRyX2dycG5hbWUnXSA9ICdHcm9lcCc7CiRsYW5nWydoZHJfY3JlYXRlZCddID0gJ0FhbmdlbWFha3QnOwokbGFuZ1snaGRyX2VtYWlsJ10gPSAnRW1haWwnOwokbGFuZ1sndXNlcnNmb3VuZCddID0gJ2dlYnJ1aWtlcihzKSBnZXZvbmRlbiAoYmVwZXJrdCB0b3QgbWF4aW1hYWwgMjUwKSc7CiRsYW5nWyd1c2VycyddID0gJ0dlYnJ1aWtlcnMnOwokbGFuZ1snbGlzdDFkYXknXSA9ICdUb29uIGFsbGUgaW52b2VyIHZhbiBtZWVyIGRhbiAmZWFjdXRlOyZlYWN1dGU7biBkYWcgb3VkJzsKJGxhbmdbJ3N1YmplY3QnXSA9ICdPbmRlcndlcnAgdmFuIHVpdGdhYW5kZSBlbWFpbCc7CiRsYW5nWydodG1sYm9keSddID0gJ0hUTUwgdGVrc3QgdmFuIGRlIGVtYWlsJzsKJGxhbmdbJ3RleHRib2R5J10gPSAnUGxhdHRlIHRla3N0IHZhbiBkZSBlbWFpbCc7CiRsYW5nWydwcm9tcHRfbnVtcmVzZXRyZWNvcmQnXSA9ICdFZW4gYWFudGFsIGdlYnJ1aWtlcnMgaXMgemljaCBhYW4gaGV0IHJlZ2lzdHJlcmVuLiBEaXQgemlqbiBlciBudTonOwokbGFuZ1sncmVtb3ZlMXdlZWsnXSA9ICdWZXJ3aWpkZXIgYWxsZSBpbnZvZXIgdmFuIG1lZXIgZGFuIGVlbiB3ZWVrIG91ZCc7CiRsYW5nWydyZW1vdmUxbW9udGgnXSA9ICdWZXJ3aWpkZXIgYWxsZSBpbnZvZXIgdmFuIG1lZXIgZGFuIGVlbiBtYWFuZCBvdWQnOwokbGFuZ1sncmVtb3ZlMWRheSddID0gJ1ZlcndpamRlciBhbGxlIGludm9lciB2YW4gbWVlciBkYW4gZWVuIGRhZyBvdWQnOwokbGFuZ1sncmVtb3ZlYWxsJ10gPSAnVmVyd2lqZGVyIGFsbGUgaW52b2VyJzsKJGxhbmdbJ2FyZXlvdXN1cmUnXSA9ICdXZWV0IHUgaGV0IHpla2VyPyc7CiRsYW5nWydyZWdpc3RyYXRpb25faW5mb19lZGl0ZWQnXSA9ICdVdyByZWdpc3RyYXRpZWluZm9ybWF0aWUgaXMgYWFuZ2VwYXN0JzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbl9jb25maXJtYXRpb24nXSA9ICdSZWdpc3RyYXRpZWJldmVzdGlnaW5nJzsKJGxhbmdbJ3VzZXJfcmVnaXN0cmF0aW9uJ10gPSAnUmVnaXN0cmVlcic7CiRsYW5nWydmaW5hbG1lc3NhZ2VfdGVtcGxhdGUnXSA9ICdBZnJvbmRpbmdzYm9vZHNjaGFwc2phYmxvb24nOwokbGFuZ1sndGl0bGVfdmVyaWZ5cmVnaXN0cmF0aW9uJ10gPSAnVmVyaWZpZWVyIHJlZ2lzdHJhdGllJzsKJGxhbmdbJ2NvZGUnXSA9ICdWYWxpZGF0aWVzbGV1dGVsJzsKJGxhbmdbJ2RlZmF1bHQnXSA9ICdBY3RpdmVlciBzdGFuZGFhcmR3YWFyZGVuJzsKJGxhbmdbJ2Vycm9yX25vcHJvcGVydGllcyddID0gJ0dlZW4gZWlnZW5zY2hhcHBlbiB2b29yIGRlemUgZ2VicnVpa2VyIGdldm9uZGVuJzsKJGxhbmdbJ2Vycm9yX25vcHJvcHJlbGF0aW9ucyddID0gJ0dlZW4gZWlnZW5zY2hhcHNyZWxhdGllcyc7CiRsYW5nWydlcnJvcl9lbWFpbGludmFsaWQnXSA9ICdPbmdlbGRpZyBlbWFpbGFkcmVzJzsKJGxhbmdbJ2Vycm9yX25vZW1haWxhZGRyZXNzJ10gPSAnR2VlbiBnZWxkaWcgZW1haWxhZHJlc3ZlbGQgZ2V2b25kZW4nOwokbGFuZ1snZXJyb3JfcmVxdWlyZWRmaWVsZCddID0gJ1ZlbGQgJXMgbW9ldCBpbmdldnVsZCB6aWpuJzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbjFfdGVtcGxhdGUnXSA9ICdSZWdpc3RyYXRpZXNqYWJsLiAxJzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbjJfdGVtcGxhdGUnXSA9ICdSZWdpc3RyYXRpZXNqYWJsLiAyJzsKJGxhbmdbJ2VtYWlsY29uZmlybV90ZW1wbGF0ZSddID0gJ0JldmVzdGlnaW5nc2VtYWlsLXNqYWJsb29uJzsKJGxhbmdbJ2VtYWlsdXNlcmVkaXRlZF90ZW1wbGF0ZSddID0gJ0dlYnJ1aWtlcnNpbmZvLXNqYWJsb29uJzsKJGxhbmdbJ3ByZWZlcmVuY2VzJ10gPSAnVm9vcmtldXJlbic7CiRsYW5nWydlcnJvcl91c2Vybm90Zm91bmQnXSA9ICdHZWJydWlrZXIgbmlldCBnZXZvbmRlbic7CiRsYW5nWydlcnJvcl9pbnZhbGlkdXNlcm5hbWUnXSA9ICdHZWJydWlrZXJzbmFhbSBpcyBvbmdlbGRpZyAodGUgbGFuZywgdGUga29ydCBvZiBvbmdlbGRpZ2Uga2FyYWt0ZXJzKS4gVGlwOiBnZWJydWlrZXJzbmFtZW4gbW9nZW4gYWxsZWVuIGFsZmFudW1lcmlla2Uga2FyYWt0ZXJzIGVuIGdlZW4gc3BhdGllcyBiZXZhdHRlbic7CiRsYW5nWydlcnJvcl91c2VybmFtZXRha2VuJ10gPSAnRGUgZ2VicnVpa2Vyc25hYW0gaXMgYWwgaW4gZ2VicnVpayc7CiRsYW5nWydlcnJvcl9wYXNzd29yZHNkb250bWF0Y2gnXSA9ICdGb3V0OiBXYWNodHdvb3JkZW4ga29tZW4gbmlldCBvdmVyZWVuJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXNzd29yZCddID0gJ1dhY2h0d29vcmQgaXMgZm91dCAod2FjaHR3b29yZGVuIG1vZXRlbiB0dXNzZW4gZGUgJXMgZW4gJXMga2FyYWt0ZXJzIGxhbmcgemlqbiknOwokbGFuZ1snZXJyb3JfZW1wdHl1c2VybmFtZSddID0gJ0dlYnJ1aWtlcnNuYWFtIGthbiBuaWV0IGxlZWcgemlqbic7CiRsYW5nWydyZXBlYXRwYXNzd29yZCddID0gJ1dhY2h0d29vcmQgKG9wbmlldXcpJzsKJGxhbmdbJ3Bhc3N3b3JkJ10gPSAnV2FjaHR3b29yZCc7CiRsYW5nWyd1c2VybmFtZSddID0gJ0dlYnJ1aWtlcnNuYWFtJzsKJGxhbmdbJ2NhcHRjaGFfdGl0bGUnXSA9ICdWb2VyIGRlIHRla3N0IHVpdCBoZXQgcGxhYXRqZSBpbic7CiRsYW5nWydlcnJvcl9pbnN1ZmZpY2llbnRwYXJhbXMnXSA9ICdPbnZvbGRvZW5kZSAob2YgaW5jb3JyZWN0ZSkgcGFyYW1ldGVycyBvcGdlZ2V2ZW4gYWFuIGRlIG1vZHVsZSc7CiRsYW5nWydlcnJvcl9ub2ZldXNlcnNtb2R1bGUnXSA9ICdLb24gZ2VlbiBpbnN0YW5jZSB2YW4gZGUgRnJvbnRFbmRVc2Vycy1tb2R1bGUga3Jpamdlbic7CiRsYW5nWydlcnJvcl9ub3N1Y2hncm91cCddID0gJ09wZ2VnZXZlbnMgZ3JvZXBzbmFhbSBiZXN0YWF0IG5pZXQnOwokbGFuZ1snZXJyb3JfY2FwdGNoYW1pc21hdGNoJ10gPSAnRGUgdGVrc3QgdWl0IGhldCBwbGFhdGplIGlzIG5pZXQgZ29lZCBpbmdldm9lcmQnOwokbGFuZ1snc2VuZF9lbWFpbHNfdG8nXSA9ICdSZWdpc3RyYXRpZS1lbWFpbCBtb2V0IHZlcnN0dXVyZCB3b3JkZW4gYWFuJzsKJGxhbmdbJ3JlcXVpcmVfZW1haWxfY29uZmlybWF0aW9uJ10gPSAnVmVycGxpY2h0IGRlIGdlYnJ1aWtlciBvbSBkZSByZWdpc3RyYXRpZSB0ZSBiZXZlc3RpZ2VuIHZpYSBlbWFpbCc7CiRsYW5nWydub3RpZnlfb25fcmVnaXN0cmF0aW9uJ10gPSAnU3R1dXIgZWVuIGVtYWlsYmV2ZXN0aWdpbmcgYWxzIGllbWFuZCB6aWNoIHJlZ2lzdHJlZXJ0JzsKJGxhbmdbJ2NhbmNlbCddID0gJ0FubnVsZWVyJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ1ZlcnN0dXVyJzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1NlbGYgUmVnaXN0cmF0aW9uLW1vZHVsZSc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0RlIGluc3RhbGxhdGllIGlzIGFmZ2Vyb25kLiBWZXJnZWV0IG5pZXQgb20gZGUgcmVjaHRlbiB2YW4gJnF1b3Q7TW9kaWZ5IFNlbGZSZWdpc3RyYXRpb24gU2V0dGluZ3MmcXVvdDsgaW4gdGUgc3RlbGxlbi4gQWxzIGRlIENhcHRjaGEgbW9kdWxlIGdlJml1bWw7bnN0YWxsZWVyZCBpcywgZGFuIHN0YWF0IGRlemUgZnVuY3Rpb25hbGl0ZWl0IHN0YW5kYWFyZCBhYW4uIFdlIHJhZGVuIHUgc3RlcmsgYWFuIG9tIGRlemUgbW9kdWxlIHRlIGluc3RhbGxlcmVuLiBBbHMgZGUgQ2FwdGNoYSBtb2R1bGUgZ2UmaXVtbDtuc3RhbGxlZXJkIGlzIGVuIHUgd2lsdCBkZXplIHVpdHNjaGFrZWxlbiwgZ2VicnVpayBkYW4gZGUgbm9jYXB0Y2hhIHBhcmFtZXRlciBpbiBkZSBzZWxmcmVnaXN0cmF0aW9uIHRhZyc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnRGUgU2VsZiBSZWdpc3RyYXRpb24tbW9kdWxlIGlzIGdlJml1bWw7bnN0YWxsZWVyZCc7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZHVsZSBnZWRlaW5zdGFsbGVlcmQnOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWxldmVyc2llICVzIGdlJml1bWw7bnN0YWxsZWVyZC4nOwokbGFuZ1sncHJlZnN1cGRhdGVkJ10gPSAnTW9kdWxldm9vcmtldXJlbiBnZXVwZGF0ZS4nOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnVG9lZ2FuZyBnZXdlaWdlcmQuIENvbnRyb2xlZXIgdXcgcmVjaHRlbi4nOwokbGFuZ1snZXJyb3InXSA9ICdGb3V0ISc7CiRsYW5nWyd1cGdyYWRlZCddID0gJ01vZHVsZSBvcGdld2FhcmRlZXJkIG5hYXIgdmVyc2llICVzLic7CiRsYW5nWyd0aXRsZV9tb2RfcHJlZnMnXSA9ICdNb2R1bGV2b29ya2V1cmVuJzsKJGxhbmdbJ3RpdGxlX21vZF9hZG1pbiddID0gJ01vZHVsZWJlaGVlcnBhbmVlbCc7CiRsYW5nWyd0aXRsZV9hZG1pbl9wYW5lbCddID0gJ1NlbGYgUmVnaXN0cmF0aW9uLW1vZHVsZSc7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ0VlbiBtb2R1bGUgZGllIGhldCBGcm9udEVuZCBnZWJydWlrZXJzIG1vZ2VsaWprIG1hYWt0IHppY2h6ZWxmIHRlIHJlZ2lzdHJlcmVuLic7CiRsYW5nWyd3ZWxjb21lX3RleHQnXSA9ICc8cD5XZWxrb20gYmlqIGRlIFNlbGYgUmVnaXN0cmF0aW9uLW1vZHVsZS48L3A+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+VmVyc2lvbiAxLjEuMS48L3A+DQogICAgPHA+Tm93IHJlcXVpcmUgRkVVc2VycyAxLjEuMyAobWluaW11bSk8L3A+DQogICAgPHA+U3VwcG9ydCBmb3IgbXVsdGlzZWxlY3QgbGlzdHMgaW4gZmV1c2VyczwvcD4NCiAgICA8cD5PdXRwdXQgc29tZSBtb3JlIGZpZWxkcyB0byBzbWFydHkgdG8gYWxsb3cgZm9yIGluY3JlYXNlZCBhY2Nlc3NpYmlsaXR5PC9wPg0KICAgIDxwPlNwbGl0IGNvZGUgb3V0IGludG8gbXVsdGlwbGUgZmlsZXMgdG8gcmVkdWNlIG92ZXJhbGwgbWVtb3J5IGZvb3RwcmludDwvcD4NCiAgICA8cD5JZ25vcmUgYWxsIGltYWdlIGZpZWxkczwvcD4NCiAgICA8cD5DaGFuZ2UgQ2FwdGNoYSBzdXBwb3J0IHRvIGJlIG9uIGJ5IGRlZmF1bHQgaWYgdGhlIENhcHRjaGEgbW9kdWxlIGlzIGZvdW5kPC9wPg0KPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2F0IGRvZXQgaGV0PzwvaDM+DQo8cD5EZXplIG1vZHVsZSBpcyBvbnR3b3JwZW4gb20gRnJvbnRFbmRVc2VycyB0b2UgdGUgc3RhYW4gemljaHplbGYgdGUgcmVnaXN0cmVyZW4gZW4gZGUgYmVub2RpZ2RlIGluZm9ybWF0aWUgaW4gdGUgdnVsbGVuLiBIZXQgdmVyc3R1dXJ0IHZlcnZvbGdlbnMgZWVuIGJldmVzdGlnaW5nc21haWwgbWV0IGVlbiBsaW5rIG5hYXIgZWVuIHR3ZWVkZSBwYWdpbmEgZGllIGluZ2V2dWxkIG1vZXQgd29yZGVuIHZvb3IgZGUgcmVnaXN0cmF0aWUgYWZnZXJvbmQga2FuIHdvcmRlbi4gTmEgYWZyb25kaW5nIHZhbiBkZSByZWdpc3RyYXRpZSBpcyBlZW4gZ2VicnVpa2Vyc2FjY291bnQgaW4gZGUgRnJvbnRFbmRVc2Vycy1tb2R1bGUgYWFuZ2VtYWFrdC48L3A+DQo8cD5PbSBkZXplIG1vZHVsZSB0ZSBrdW5uZW4gZ2VicnVpa2VuIGRpZW50IGVlbiBlaWdlbnNjaGFwIHZhbiBoZXQgdHlwZSBFLW1haWxhZHJlcyBpbiBkZSBGcm9udEVuZFVzZXJzLW1vZHVsZSBhYW5nZW1hYWt0IHRlIHdvcmRlbiBlbiBtb2V0IGRlemUgZ2Vrb3BwZWxkIHdvcmRlbiBtZXQgZGUgZ2VicnVpa2Vyc2dyb2VwIGRpZSBnZWJydWlrdCB3b3JkdCB2b29yIGRlIHplbGZyZWdpc3RyYXRpZS48L3A+DQo8aDM+SG9lIGdlYnJ1aWsgaWsgaGV0PzwvaDM+DQo8cD5KZSBwbGFhdHN0IGRlIHZvbGdlbmRlIHRhZyBpbiBqZSBwYWdpbmEge2Ntc19tb2R1bGUgbW9kdWxlPVNlbGZSZWdpc3RyYXRpb24gZ3JvdXA9Z2VicnVpa2Vyc2dyb2VwfTwvcD4NCjxwPkplIG1vZXQgdm9vcmFmIGRlIGVpZ2Vuc2NoYXBwZW4gZW4gZ2VicnVpa2Vyc2dyb2VwZW4gaW4gZGUgRnJvbnRFbmRVc2Vycy1tb2R1bGUgYWFuZ2VtYWFrdCBoZWJiZW4gb20gZGUgemVsZnJlZ2lzdHJhdGllIHRlIGt1bm5lbiBnZWJydWlrZW4uPC9wPg0KPGgzPlBhcmFtZXRlcnM8L2gzPg0KPHA+PHN0cm9uZz5tb2RlPC9zdHJvbmc+Jm5ic3A7PGVtPm9wdGlvbmVlbDwvZW0+IC0gbW9nZWxpamtlIHdhYXJkZW4gemlqbiAmcXVvdDtzaWdudXAmcXVvdDsgZW4gJnF1b3Q7dmVyaWZ5JnF1b3Q7LiAgQWxzIGRlemUgcGFyYW1ldGVyIG5pZXQgb3BnZWdldmVuIGlzIGdlbGR0ICZxdW90O3NpZ251cCZxdW90Oy48L3A+DQo8cD48c3Ryb25nPmdyb3VwPC9zdHJvbmc+Jm5ic3A7PGVtPm9wdGlvbmFsPC9lbT4gLSBWZXJlaXN0IGFscyBkZSBtb2RlICZxdW90O3NpZ251cCZxdW90OyBpcyBvZiBhbHMgZGUgbW9kZSBuaWV0IG9wZ2VnZXZlbiBpcy48L3A+DQo8cD48c3Ryb25nPm5vY2FwdGNoYTwvc3Ryb25nPiZuYnNwOzxlbT5vcHRpb25lZWw8L2VtPiAtIEhpZXJtZWUgd29yZHQgY2FwdGNoYSB1aXRnZXNjaGFrZWxkIG9wIGhldCByZWdpc3RyYXRpZWZvcm11bGllci4gU3RhbmRhYXJkIHdvcmR0IGNhcHRjaGEgb25kZXJzdGV1bmQsIG1pdHMgZGUgQ2FwdGNoYS1tb2R1bGUgZ2UmaXVtbDtuc3RhbGxlZXJkIGlzLiBEZXplIHBhcmFtZXRlciBzY2hha2VsdCBkZSBtb2R1bGUgdWl0LjwvcD4NCjxoMz5PbmRlcnN0ZXVuaW5nPC9oMz4NCjxwPkRlemUgbW9kdWxlIGJldmF0IGdlZW4gY29tbWVyY2kmZXVtbDtsZSBvbmRlcnN0ZXVuaW5nLiBFciB6aWpuIGVjaHRlciBlZW4gYWFudGFsIG1vZ2VsaWpraGVkZW4gb20gamUgZXJtZWUgdGUgaGVscGVuOjwvcD4NCjx1bD4NCjxsaT5Wb29yIGRlIG5pZXV3c3RlIHZlcnNpZSB2YW4gZGV6ZSBtb2R1bGUsIEZBUXMsIG9mIG9tIGVlbiBCdWcgUmVwb3J0IGluIHRlIGRpZW5lbiBvZiBjb21tZXJjaWVsZSBvbmRlcnN0ZXVuaW5nIHRlIHZyYWdlbiwga3VuIGplIGNhbGd1eSYjMDM5O3MNCm1vZHVsZSBob21lcGFnZSBiZXpvZWtlbiBvcCA8YSBocmVmPSZxdW90O2h0dHA6Ly90ZWNoY29tLmR5bmRucy5vcmcmcXVvdDs+dGVjaGNvbS5keW5kbnMub3JnPC9hPi48L2xpPg0KPGxpPlZlcmRlcmUgYmVzcHJla2luZ2VuIHZhbiBkZXplIG1vZHVsZSBrYW4gb29rIGdldm9uZGVuIHdvcmRlbiBpbiBkZSA8YSBocmVmPSZxdW90O2h0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyZxdW90Oz5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPGxpPkRlIGF1dGV1ciwgY2FsZ3V5MTAwMCwga2FuIHZhYWsgYWFuZ2V0cm9mZmVuIHdvcmRlbiBpbiBkZSA8YSBocmVmPSZxdW90O2lyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyZxdW90Oz5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8bGk+VGVuc2xvdHRlIGthbiBqZSBlbmlnZSBzdWNjZXMgaGViYmVuIGRvb3IgZGUgYXV0ZXVyIGRpcmVjdCB0ZSBlLW1haWxlbi48L2xpPiAgDQo8L3VsPg0KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0DQpvZiB0aGUgbGljZW5zZSBmb3IgdGhlIGZ1bGwgZGlzY2xhaW1lci48L3A+DQoNCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA1LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSZxdW90O21haWx0bzpjYWxndXkxMDAwQGhvdG1haWwuY29tJnF1b3Q7PjxjYWxndXkxMDAwQGhvdG1haWwuY29tPjwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPlRoaXMgbW9kdWxlIGhhcyBiZWVuIHJlbGVhc2VkIHVuZGVyIHRoZSA8YSBocmVmPSZxdW90O2h0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCZxdW90Oz5HTlUgUHVibGljIExpY2Vuc2U8L2E+LiBZb3UgbXVzdCBhZ3JlZSB0byB0aGlzIGxpY2Vuc2UgYmVmb3JlIHVzaW5nIHRoZSBtb2R1bGUuPC9wPg0KJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMTU4MTA0MzUyMi4xMTg1MTA4NjU5LjExOTUyMzQ3OTYuMTE5NTM5OTgxNy4zMDQnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMTk1MjM0Nzk2LjMwMy4zNy51dG1jY249KHJlZmVycmFsKXx1dG1jc3I9c3ltYmFsb28uY29tfHV0bWNjdD0vbmwvfHV0bWNtZD1yZWZlcnJhbCc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></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[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNlbGZSZWdpc3RyYXRpb24gKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IHVzZXJzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMKIyAgd2l0aCBhIHdlYnNpdGUuCiMgCiMgVmVyc2lvbjogMS4xLjUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLiIvZnVuY3Rpb25zLnBocCIgKTsKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmNsYXNzIFNlbGZSZWdpc3RyYXRpb24gZXh0ZW5kcyBDTVNNb2R1bGUKewogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIFRoZSBkZWZhdWx0IHRlbXBsYXRlIHVzZWQgZm9yIHRoZSBmaXJzdCByZWdpc3RyYXRpb24gZm9ybQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIHZhciAkZGZsdF9yZWdpc3RyYXRpb24xX3RlbXBsYXRlID0gJwo8IS0tIFJlZ2lzdHJhdGlvbiAxIHRlbXBsYXRlIC0tPgp7JHRpdGxlfQp7aWYgaXNzZXQoJG1lc3NhZ2UpICYmICRtZXNzYWdlICE9IFwnXCd9CiAge2lmIGlzc2V0KCRlcnJvcikgJiYgJGVycm9yICE9IFwnXCd9CiAgICA8cD48Zm9udCBjb2xvcj0icmVkIj57JG1lc3NhZ2V9PC9mb250PjwvcD4KICB7ZWxzZX0KICAgIDxwPnskbWVzc2FnZX08L3A+CiAgey9pZn0Key9pZn0KeyRzdGFydGZvcm19CntpZiAkY29udHJvbGNvdW50ID4gMH0KICA8Y2VudGVyPgogIDx0YWJsZSB3aWR0aD0iNzUlIj4Ke2ZvcmVhY2ggZnJvbT0kY29udHJvbHMgaXRlbT1jb250cm9sfQogIDx0cj4KICAgIDx0ZD57JGNvbnRyb2wtPmhpZGRlbn0KICAgIHtpZiAkY29udHJvbC0+Y29sb3IgIT0gXCdcJ30KICAgICAgPGZvbnQgY29sb3I9InskY29udHJvbC0+Y29sb3J9Ij57JGNvbnRyb2wtPnByb21wdH17JGNvbnRyb2wtPm1hcmtlcn08L2ZvbnQ+CiAgICB7ZWxzZX0KICAgICAgeyRjb250cm9sLT5wcm9tcHR9eyRjb250cm9sLT5tYXJrZXJ9CiAgICB7L2lmfQogICAgPC90ZD4KICAgIDx0ZD57JGNvbnRyb2wtPmNvbnRyb2x9PC90ZD4KICA8L3RyPgp7L2ZvcmVhY2h9CiAgPC90YWJsZT4KICA8L2NlbnRlcj4KPGJyLz4Key9pZn0Ke2lmIGlzc2V0KCRjYXB0Y2hhKX0KeyRjYXB0Y2hhX3RpdGxlfTogeyRpbnB1dF9jYXB0Y2hhfTxiciAvPgogIHskY2FwdGNoYX08YnIgLz4Key9pZn0KIHskaGlkZGVufXtpZiBpc3NldCgkaGlkZGVuMil9eyRoaWRkZW4yfXsvaWZ9eyRzdWJtaXR9PGJyLz4KeyRtc2dfc2VuZGFub3RoZXJlbWFpbH0mbmJzcDt7JGxpbmtfc2VuZGFub3RoZXJlbWFpbH0KeyRlbmRmb3JtfQo8IS0tIFJlZ2lzdHJhdGlvbiAxIHRlbXBsYXRlIC0tPgogJzsKCiAgdmFyICRkZmx0X3Bvc3RyZWcxX3RlbXBsYXRlID0gJwo8IS0tIFBvc3QgUmVnaXN0cmF0aW9uIDEgdGVtcGxhdGUgLS0+CnskdGl0bGV9CntpZiBpc3NldCgkbWVzc2FzZ2UpICYmICRtZXNzYWdlICE9IFwnXCd9CiAge2lmIGlzc2V0KCRlcnJvcikgJiYgJGVycm9yICE9IFwnXCd9CiAgICA8cD48Zm9udCBjb2xvcj0icmVkIj57JG1lc3NhZ2V9PC9mb250PjwvcD4KICB7ZWxzZX0KICAgIDxwPnskbWVzc2FnZX08L3A+CiAgey9pZn0Key9pZn0KPHA+VGhhbmsgeW91IHskdXNlcm5hbWV9IGZvciByZWdpc3RlcmluZyB3aXRoIHskc2l0ZW5hbWV9LiAgQW4gZW1haWwgaGFzIGJlZW4gc2VudCB0byB7JGVtYWlsfSB3aXRoIGluc3RydWN0aW9ucyBvbiBob3cgdG8gY29udGludWUgdGhlIHJlZ2lzdHJhdGlvbiBwcm9jZXNzPC9wPgo8IS0tIFBvc3QgUmVnaXN0cmF0aW9uIDEgdGVtcGxhdGUgLS0+Cic7CgogIHZhciAkZGZsdF9yZWdpc3RyYXRpb24yX3RlbXBsYXRlID0gJwo8IS0tIFJlZ2lzdHJhdGlvbiAxIHRlbXBsYXRlIC0tPgp7JHRpdGxlfQp7aWYgaXNzZXQoJG1lc3NzYWdlKSAmJiAkbWVzc2FnZSAhPSBcJ1wnfQogIHtpZiBpc3NldCgkZXJyb3IpICYmICRlcnJvciAhPSBcJ1wnfQogICAgPHA+PGZvbnQgY29sb3I9InJlZCI+eyRtZXNzYWdlfTwvZm9udD48L3A+CiAge2Vsc2V9CiAgICA8cD57JG1lc3NhZ2V9PC9wPgogIHsvaWZ9CnsvaWZ9Cnskc3RhcnRmb3JtfQogIDxjZW50ZXI+CiAgPHRhYmxlIHdpZHRoPSI3NSUiPgogIDx0cj4KICAgIDx0ZD57JHByb21wdF91c2VybmFtZX08L2ZvbnQ+CiAgICA8L3RkPgogICAgPHRkPnskaW5wdXRfdXNlcm5hbWV9PC90ZD4KICA8L3RyPgogIDx0cj4KICAgIDx0ZD57JHByb21wdF9wYXNzd29yZH08L2ZvbnQ+CiAgICA8L3RkPgogICAgPHRkPnskaW5wdXRfcGFzc3dvcmR9PC90ZD4KICA8L3RyPgogIDx0cj4KICAgIDx0ZD57JHByb21wdF9jb2RlfTwvZm9udD4KICAgIDwvdGQ+CiAgICA8dGQ+eyRpbnB1dF9jb2RlfTwvdGQ+CiAgPC90cj4KICA8L3RhYmxlPgogIDwvY2VudGVyPgo8YnIvPgogeyRoaWRkZW59eyRoaWRkZW4yfXskc3VibWl0fQp7JGVuZGZvcm19CjwhLS0gUmVnaXN0cmF0aW9uIDIgdGVtcGxhdGUgLS0+CiAnOyAgCgogIHZhciAkZGZsdF9lbWFpbGNvbmZpcm1fdGVtcGxhdGUgPSAnCjwhLS0gRW1haWxDb25maXJtIHRlbXBsYXRlIC0tPgo8aHRtbD4KPGJvZHk+CjxwPkdyZWV0aW5ncyB7JG5hbWV9IHdlbGNvbWUgdG8gdGhlIHNpdGUuICBUaGlzIGVtYWlsIGlzIGJlaW5nIHNlbnQgYmVjYXVzZSBzb21lYm9keSByZWdpc3RlcmVkIGZvciBhY2Nlc3MgdG8geyRzaXRlbmFtZX0gdXNpbmcgdGhpcyBlbWFpbCBhZGRyZXNzLiBJZiB0aGlzIHdhcyB5b3UsIHBsZWFzZSBjbGljayBvbiB0aGUgZm9sbG93aW5nIGxpbmsgYW5kIGVudGVyIHlvdXIgdXNlcm5hbWUsIHBhc3N3b3JkLCBhbmQgdGhlIHVuaXF1ZSBjb2RlIGJlbG93PC9wPgogICA8cD5Gb2xsb3cgdGhpcyBsaW5rOiB7JGxpbmt9PC9wPgogICA8cD5vciB0aGlzIGxpbms6IHskc21hbGxsaW5rfTwvcD4KICAgPHA+Q29kZTogeyRjb2RlfTwvcD4KPC9ib2R5Pgo8L2h0bWw+CjwhLS0gRW1haWxDb25maXJtIHRlbXBsYXRlIC0tPgonOwoKICB2YXIgJGRmbHRfZW1haWxjb25maXJtX3RleHR0ZW1wbGF0ZSA9ICcKR3JlZXRpbmdzIHskbmFtZX0gd2VsY29tZSB0byB0aGUgc2l0ZS4gIFRoaXMgZW1haWwgaXMgYmVpbmcgc2VudCBiZWNhdXNlIHNvbWVib2R5IHJlZ2lzdGVyZWQgZm9yIGFjY2VzcyB0byB7JHNpdGVuYW1lfSB1c2luZyB0aGlzIGVtYWlsIGFkZHJlc3MuIElmIHRoaXMgd2FzIHlvdSwgcGxlYXNlIGNsaWNrIG9uIHRoZSBmb2xsb3dpbmcgbGluayBhbmQgZW50ZXIgeW91ciB1c2VybmFtZSwgcGFzc3dvcmQsIGFuZCB0aGUgdW5pcXVlIGNvZGUgYmVsb3cuCgpGb2xsb3cgdGhpcyBsaW5rOiB7JHVybH0Kb3IgdGhpcyBsaW5rOiB7JHNtYWxsdXJsfTwvcD4KQ29kZTogeyRjb2RlfQonOwoKICB2YXIgJGRmbHRfZW1haWx1c2VyZWRpdGVkX3RlbXBsYXRlID0gJwo8IS0tIEVtYWlsVXNlckVkaXRlZCB0ZW1wbGF0ZSAtLT4KPGh0bWw+Cjxib2R5Pgo8cD5HcmVldGluZ3MgeyRuYW1lfSB3ZWxjb21lIHRvIHRoZSBzaXRlLiAgVGhpcyBlbWFpbCBpcyBiZWluZyBzZW50IGJlY2F1c2UsIGFsdGhvdWdoIHlvdSBoYXZlIGFscmVhZHkgcmVnaXN0ZXJlZCB3aXRoIHskc2l0ZW5hbWV9LCB0aGVyZSB3YXMgYW4gZXJyb3IgaW4geW91ciBpbnB1dC4gIFRoZSBhZG1pbmlzdHJhdG9yIGhhcyBkb25lIGhpcyBiZXN0IHRvIGNvcnJlY3QgdGhpcyBkYXRhLCBhbmQgeW91IGFyZSBub3cgYmVpbmcgc2VudCBhbiB1cGRhdGVkIHJlZ2lzdHJhdGlvbiBmb3JtLiBQbGVhc2UgY2xpY2sgb24gdGhlIGZvbGxvd2luZyBsaW5rIGFuZCBlbnRlciB5b3VyIHVzZXJuYW1lLCBwYXNzd29yZCwgYW5kIHRoZSB1bmlxdWUgY29kZSBiZWxvdzwvcD4KICAgPHA+Rm9sbG93IHRoaXMgbGluazogeyRsaW5rfTwvcD4KICAgPHA+b3IgdGhpcyBsaW5rOiB7JHNtYWxsbGlua308L3A+CiAgIDxwPlBhc3N3b3JkOiB7JHBhc3N3b3JkfTwvcD4KICAgPHA+Q29kZTogeyRjb2RlfTwvcD4KPC9ib2R5Pgo8L2h0bWw+CjwhLS0gRW1haWxVc2VyRWRpdGVkIHRlbXBsYXRlIC0tPgonOwoKICB2YXIgJGRmbHRfZW1haWx1c2VyZWRpdGVkX3RleHR0ZW1wbGF0ZSA9ICcKR3JlZXRpbmdzIHskbmFtZX0gd2VsY29tZSB0byB0aGUgc2l0ZS4gIFRoaXMgZW1haWwgaXMgYmVpbmcgc2VudCBiZWNhdXNlLCBhbHRob3VnaCB5b3UgaGF2ZSBhbHJlYWR5IHJlZ2lzdGVyZWQgd2l0aCB7JHNpdGVuYW1lfSwgdGhlcmUgd2FzIGFuIGVycm9yIGluIHlvdXIgaW5wdXQuICBUaGUgYWRtaW5pc3RyYXRvciBoYXMgZG9uZSBoaXMgYmVzdCB0byBjb3JyZWN0IHRoaXMgZGF0YSwgYW5kIHlvdSBhcmUgbm93IGJlaW5nIHNlbnQgYW4gdXBkYXRlZCByZWdpc3RyYXRpb24gZm9ybS4gUGxlYXNlIGNsaWNrIG9uIHRoZSBmb2xsb3dpbmcgbGluayBhbmQgZW50ZXIgeW91ciB1c2VybmFtZSwgcGFzc3dvcmQsIGFuZCB0aGUgdW5pcXVlIGNvZGUgYmVsb3cKICAgRm9sbG93IHRoaXMgbGluazogeyR1cmx9CiAgICAgb3IgdGhpcyBsaW5rOiB7JHNtYWxsdXJsfTwvcD4KICAgUGFzc3dvcmQ6IHskcGFzc3dvcmR9CiAgIENvZGU6IHskY29kZX0KJzsKCiAgdmFyICRkZmx0X2ZpbmFsbWVzc2FnZV90ZW1wbGF0ZSA9ICcKPCEtLSBGaW5hbE1lc3NhZ2UgVGVtcGxhdGUgLS0+CjxwPldlbGNvbWUgeyR1c2VybmFtZX0gdG8geyRzaXRlbmFtZX0uICBZb3VyIHJlZ2lzdHJhdGlvbiBpcyBjb21wbGV0ZS4gIFBsZWFzZSBsb2dpbiB0byBjb250aW51ZTwvcD4KPCEtLSBGaW5hbE1lc3NhZ2UgVGVtcGxhdGUgLS0+CiAgJzsKCiAgdmFyICRkZmx0X3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUgPSAnCjwhLS0gU2VuZEFub3RoZXJFbWFpbCBUZW1wbGF0ZSAtLT4KeyR0aXRsZX0Ke2lmIGlzc2V0KCRtZXNzYWdlKSAmJiAkbWVzc2FnZSAhPSBcJ1wnfQogIHtpZiBpc3NldCgkbWVzc2FnZSkgJiYgJGVycm9yICE9IFwnXCd9CiAgICA8cD48Zm9udCBjb2xvcj0icmVkIj57JG1lc3NhZ2V9PC9mb250PjwvcD4KICB7ZWxzZX0KICAgIDxwPnskbWVzc2FnZX08L3A+CiAgey9pZn0Key9pZn0KPHA+SSBkaWRuXCd0IHJlY2VpdmUgbXkgY29uZmlybWF0aW9uIGVtYWlsLCBwbGVhc2Ugc2VuZCBhbm90aGVyIG9uZS48L3A+CjxwPk15IFVzZXJuYW1lIGlzOiB7JHN0YXJ0Zm9ybX17JGlucHV0X3VzZXJuYW1lfSZuYnNwO3skc3VibWl0fXskZW5kZm9ybX08L3A+CjwhLS0gU2VuZEFub3RoZXJFbWFpbCBUZW1wbGF0ZSAtLT4KICAnOwoKICB2YXIgJGRmbHRfcG9zdF9zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlID0gJwo8IS0tIFBvc3QgU2VuZEFub3RoZXJFbWFpbCB0ZW1wbGF0ZSAtLT4KeyR0aXRsZX0Ke2lmIGlzc2V0KCRtZXNzYWdlKSAmJiAkbWVzc2FnZSAhPSBcJ1wnfQogIHtpZiBpc3NldCgkZXJyb3IpICYmICRlcnJvciAhPSBcJ1wnfQogICAgPHA+PGZvbnQgY29sb3I9InJlZCI+eyRtZXNzYWdlfTwvZm9udD48L3A+CiAge2Vsc2V9CiAgICA8cD57JG1lc3NhZ2V9PC9wPgogIHsvaWZ9CnsvaWZ9CjxwPlRoYW5rIHlvdSB7JHVzZXJuYW1lfSBmb3IgcmVnaXN0ZXJpbmcgd2l0aCB7JHNpdGVuYW1lfS4gIFdlIGFyZSBzb3JyeSB5b3UgaGFkIGRpZmZpY3VsdHkgcmVjZWl2aW5nIHlvdXIgZW1haWwuICBBIHNlY29uZCBlbWFpbCBoYXMgYmVlbiBzZW50IHRvIHskZW1haWx9IHdpdGggaW5zdHJ1Y3Rpb25zIG9uIGhvdyB0byBjb250aW51ZSB0aGUgcmVnaXN0cmF0aW9uIHByb2Nlc3M8L3A+CjwhLS0gUG9zdCBTZW5kQW5vdGhlckVtYWlsIHRlbXBsYXRlIC0tPgonOwoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0TmFtZSgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0TmFtZSgpCiAgewogICAgcmV0dXJuICdTZWxmUmVnaXN0cmF0aW9uJzsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRGcmllbmRseU5hbWUoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldEZyaWVuZGx5TmFtZSgpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKTsKICB9CgoJCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgTWluaW11bUNNU1ZlcnNpb24oKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIE1pbmltdW1DTVNWZXJzaW9uKCkKICB7CiAgICByZXR1cm4gIjEuMi4zIjsKICB9CgogIAogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldFZlcnNpb24oKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldFZlcnNpb24oKQogIHsKICAgIHJldHVybiAnMS4xLjYnOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldEhlbHAoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldEhlbHAoKQogIHsKICAgIHJldHVybiAkdGhpcy0+TGFuZygnaGVscCcpOwogIH0KCiAgCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0QXV0aG9yKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRBdXRob3IoKQogIHsKICAgIHJldHVybiAnQ2FsZ3V5MTAwMCc7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0QXV0aG9yRW1haWwoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldEF1dGhvckVtYWlsKCkKICB7CiAgICByZXR1cm4gJ2NhbGd1eTEwMDBAaG90bWFpbC5jb20nOwogIH0KCiAgCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0Q2hhbmdlTG9nKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRDaGFuZ2VMb2coKQogIHsKICAgIHJldHVybiAkdGhpcy0+TGFuZygnY2hhbmdlbG9nJyk7CiAgfQoKICAKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBJc1BsdWdpbk1vZHVsZSgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gSXNQbHVnaW5Nb2R1bGUoKQogIHsKICAgIHJldHVybiB0cnVlOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEhhc0FkbWluKCkKICAgVGhpcyBmdW5jdGlvbiByZXR1cm5zIGEgYm9vbGVhbiB2YWx1ZSwgZGVwZW5kaW5nIG9uCiAgIHdoZXRoZXIgeW91ciBtb2R1bGUgYWRkcyBhbnl0aGluZyB0byB0aGUgQWRtaW4gYXJlYSBvZgogICB0aGUgc2l0ZS4gRm9yIHRoZSByZXN0IG9mIHRoZXNlIGNvbW1lbnRzLCBJJ2xsIGJlIGNhbGxpbmcKICAgdGhlIGFkbWluIHBhcnQgb2YgeW91ciBtb2R1bGUgdGhlICJBZG1pbiBQYW5lbCIgZm9yCiAgIHdhbnQgb2YgYSBiZXR0ZXIgdGVybS4KICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBIYXNBZG1pbigpCiAgewogICAgcmV0dXJuIHRydWU7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0QWRtaW5TZWN0aW9uKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRBZG1pblNlY3Rpb24oKQogIHsKICAgIHJldHVybiAndXNlcnNncm91cHMnOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldEV2ZW50RGVzY3JpcHRpb24oKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldEV2ZW50RGVzY3JpcHRpb24oICRldmVudG5hbWUgKQogIHsKICAgIHJldHVybiAkdGhpcy0+TGFuZygnZXZlbnRfZGVzY3JpcHRpb25fJy4kZXZlbnRuYW1lICk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0RXZlbnREZXNjcmlwdGlvbigpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0RXZlbnRIZWxwKCAkZXZlbnRuYW1lICkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ2V2ZW50X2hlbHBfJy4kZXZlbnRuYW1lICk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0QWRtaW5EZXNjcmlwdGlvbigpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0QWRtaW5EZXNjcmlwdGlvbigpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdtb2RkZXNjcmlwdGlvbicpOwogIH0KICAKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgVmlzaWJsZVRvQWRtaW5Vc2VyKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBWaXNpYmxlVG9BZG1pblVzZXIoKQogIHsKICAgICRzdGF0dXMgPSAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgUmVnaXN0ZXJpbmcgVXNlcnMnKQogICAgICB8fCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpCiAgICAgIHx8ICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBUZW1wbGF0ZXMnKTsKICAgIHJldHVybiAkc3RhdHVzOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldERlcGVuZGVuY2llcygpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0RGVwZW5kZW5jaWVzKCkKICB7CiAgICByZXR1cm4gYXJyYXkoICdDTVNNYWlsZXInID0+ICcxLjczLjknLAoJCSAgJ0Zyb250RW5kVXNlcnMnID0+ICcxLjQuMicgKTsKICB9CiAgCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIFNldFBhcmFtZXRlcnMoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIFNldFBhcmFtZXRlcnMoKQogIHsKICAgICR0aGlzLT5SZWdpc3Rlck1vZHVsZVBsdWdpbigpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ21vZGUnLENMRUFOX1NUUklORyk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnbm9jYXB0Y2hhJyxDTEVBTl9JTlQpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2dyb3VwJyxDTEVBTl9TVFJJTkcpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ25vaW5saW5lJyxDTEVBTl9JTlQpOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEluc3RhbGxQb3N0TWVzc2FnZSgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gSW5zdGFsbFBvc3RNZXNzYWdlKCkKICB7CiAgICAvLyBwZXJtaXNzaW9ucwogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdwb3N0aW5zdGFsbCcpOwoKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBVbmluc3RhbGxQb3N0TWVzc2FnZSgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gVW5pbnN0YWxsUG9zdE1lc3NhZ2UoKQogIHsKICAgIHJldHVybiAkdGhpcy0+TGFuZygncG9zdHVuaW5zdGFsbCcpOwogIH0KCgogIGZ1bmN0aW9uIG15R2V0UGFnZU5hbWUoICRhbGlhc29yaWQgKQogIHsKICAgICRvYmogPSBDb250ZW50TWFuYWdlcjo6TG9hZFBhZ2VGcm9tQWxpYXMoICRhbGlhc29yaWQgKTsKICAgIHJldHVybiAkb2JqLT5OYW1lKCk7CiAgfQoKCiAgZnVuY3Rpb24gbXlSZWRpcmVjdFRvVGFiKCAkaWQsICR0YWIsICRwYXJhbXMgPSAnJyApCiAgewogICAgJHBhcm1zID0gYXJyYXkoKTsKICAgIGlmKCBpc19hcnJheSggJHBhcmFtcyApICkKICAgICAgewoJJHBhcm1zID0gJHBhcmFtczsKICAgICAgfQogICAgJHBhcm1zWydhY3RpdmVfdGFiJ10gPSAkdGFiOwogICAgJHRoaXMtPm15UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHRhZG1pbicsICcnLCAkcGFybXMgKTsKICB9CgoKICBmdW5jdGlvbiBteVJlZGlyZWN0KCAkaWQsICRhY3Rpb24sICRyZXR1cm5pZCwgJHBhcmFtcyA9ICcnICkKICB7CiAgICAvLyB1bnNldCBhbnkgcGFzc3dvcmQgdGhpbmdzIAogICAgdW5zZXQoICRwYXJhbXNbJ2hpZGRlbl9wYXNzd29yZCddICk7CiAgICB1bnNldCggJHBhcmFtc1snaGlkZGVuX3JlcGVhdHBhc3N3b3JkJ10gKTsKICAgIHVuc2V0KCAkcGFyYW1zWydpbnB1dF9wYXNzd29yZCddICk7CiAgICB1bnNldCggJHBhcmFtc1snaW5wdXRfcmVwZWF0cGFzc3dvcmQnXSApOwogICAgdW5zZXQoICRwYXJhbXNbJ3Bhc3N3b3JkJ10gKTsKICAgIHVuc2V0KCAkcGFyYW1zWydyZXBlYXRwYXNzd29yZCddICk7CgogICAgdW5zZXQoICRwYXJhbXNbJ2FjdGlvbiddICk7CiAgICAkdGhpcy0+UmVkaXJlY3QoICRpZCwgJGFjdGlvbiwgJHJldHVybmlkLCAkcGFyYW1zLCB0cnVlICk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgRG9BY3Rpb24oJGFjdGlvbiwgJGlkLCAkcGFyYW1zLCAkcmV0dXJuX2lkKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIERvQWN0aW9uKCRhY3Rpb24sICRpZCwgJHBhcmFtcywgJHJldHVybmlkPS0xKQogIHsKICAgIHN3aXRjaCAoJGFjdGlvbikKICAgICAgewogICAgICBjYXNlICdkZWxldGV0ZW1wdXNlcic6Cgl7CgkgIGlmKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgUmVnaXN0ZXJpbmcgVXNlcnMnICkgKQoJICAgIHsKCSAgICAgICR0aGlzLT5fRG9EZWxldGVVc2VyKCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCApOwoJICAgIH0KCSAgZWxzZQoJICAgIHsKCSAgICAgICR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwgCgkJCQkgICAgICAgJHRoaXMtPkxhbmcoJ2FjY2Vzc2RlbmllZCcpKTsKCSAgICB9CgkgIGJyZWFrOwoJfQogICAgICBjYXNlICdkb19kZWxldGV1c2Vyc2J1bGsnOgoJewoJICBpZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIFJlZ2lzdGVyaW5nIFVzZXJzJyApICkKCSAgICB7CgkgICAgICAkdGhpcy0+X0RvRGVsZXRlQnVsa1VzZXJzKCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCApOwoJICAgIH0KCSAgZWxzZQoJICAgIHsKCSAgICAgICR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwgCgkJCQkgICAgICAgJHRoaXMtPkxhbmcoJ2FjY2Vzc2RlbmllZCcpKTsKCSAgICB9CgkgIGJyZWFrOwoJfQogICAgICBjYXNlICdzZW5kYW5vdGhlcmVtYWlsJzoKCXsKCSAgJHRoaXMtPl9TZW5kQW5vdGhlclJlZ0VtYWlsKCRpZCwgJHBhcmFtcywgJHJldHVybmlkICk7CgkgIGJyZWFrOwoJfQogICAgICBjYXNlICdzZXRfcmVnMXRlbXBsYXRlJzoKCXsKCSAgaWYoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oICdNb2RpZnkgVGVtcGxhdGVzJyApICkKCSAgICB7CgkgICAgICAkdGhpcy0+X1NldEFkbWluUmVnMVRlbXBsYXRlKCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCApOwoJICAgIH0KCSAgZWxzZQoJICAgIHsKCSAgICAgICR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwgCgkJCQkgICAgICAgJHRoaXMtPkxhbmcoJ2FjY2Vzc2RlbmllZCcpKTsKCSAgICB9CgkgIGJyZWFrOwoJfQogICAgICBjYXNlICdzZXRfcmVnMnRlbXBsYXRlJzoKCXsKCSAgaWYoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oICdNb2RpZnkgVGVtcGxhdGVzJyApICkKCSAgICB7CgkgICAgICAkdGhpcy0+X1NldEFkbWluUmVnMlRlbXBsYXRlKCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCApOwoJICAgIH0KCSAgZWxzZQoJICAgIHsKCSAgICAgICR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwgCgkJCQkgICAgICAgJHRoaXMtPkxhbmcoJ2FjY2Vzc2RlbmllZCcpKTsKCSAgICB9CgkgIGJyZWFrOwoJfQogICAgICBjYXNlICdzZXRfZW1haWxjb25maXJtX3RlbXBsYXRlJzoKCXsKCSAgaWYoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oICdNb2RpZnkgVGVtcGxhdGVzJyApICkKCSAgICB7CgkgICAgICAkdGhpcy0+X1NldEFkbWluRW1haWxDb25maXJtVGVtcGxhdGUoICRpZCwgJHBhcmFtcywgJHJldHVybmlkICk7CgkgICAgfQoJICBlbHNlCgkgICAgewoJICAgICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAKCQkJCSAgICAgICAkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwoJICAgIH0KCSAgYnJlYWs7Cgl9CiAgICAgIGNhc2UgJ3NldF9lbWFpbHVzZXJlZGl0ZWRfdGVtcGxhdGUnOgoJewoJICBpZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbiggJ01vZGlmeSBUZW1wbGF0ZXMnICkgKQoJICAgIHsKCSAgICAgICR0aGlzLT5fU2V0QWRtaW5FbWFpbFVzZXJFZGl0ZWRUZW1wbGF0ZSggJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQgKTsKCSAgICB9CgkgIGVsc2UKCSAgICB7CgkgICAgICAkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsIAoJCQkJICAgICAgICR0aGlzLT5MYW5nKCdhY2Nlc3NkZW5pZWQnKSk7CgkgICAgfQoJICBicmVhazsKCX0KICAgICAgY2FzZSAnc2V0X2ZpbmFsbWVzc2FnZV90ZW1wbGF0ZSc6Cgl7CgkgIGlmKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCAnTW9kaWZ5IFRlbXBsYXRlcycgKSApCgkgICAgewoJICAgICAgJHRoaXMtPl9TZXRBZG1pbkZpbmFsTWVzc2FnZVRlbXBsYXRlKCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCApOwoJICAgIH0KCSAgZWxzZQoJICAgIHsKCSAgICAgICR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwgCgkJCQkgICAgICAgJHRoaXMtPkxhbmcoJ2FjY2Vzc2RlbmllZCcpKTsKCSAgICB9CgkgIGJyZWFrOwoJfQogICAgICBjYXNlICdzZXRfc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSc6Cgl7CgkgIGlmKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCAnTW9kaWZ5IFRlbXBsYXRlcycgKSApCgkgICAgewoJICAgICAgJHRoaXMtPl9TZXRBZG1pblNlbmRBbm90aGVyRW1haWxUZW1wbGF0ZSggJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQgKTsKCSAgICB9CgkgIGVsc2UKCSAgICB7CgkgICAgICAkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsIAoJCQkJICAgICAgICR0aGlzLT5MYW5nKCdhY2Nlc3NkZW5pZWQnKSk7CgkgICAgfQoJICBicmVhazsKCX0KCi8vICAgICAgIGNhc2UgJ2RlZmF1bHQnOgovLyAgICAgICBjYXNlICdkZWZhdWx0YWRtaW4nOgovLyAgICAgICBjYXNlICdkb19lZGl0dXNlcic6Ci8vICAgICAgIGNhc2UgJ2VkaXR0ZW1wdXNlcic6Ci8vICAgICAgIGNhc2UgJ3JlZ3VzZXInOgovLyAgICAgICBjYXNlICdzZXRwcmVmcyc6Ci8vICAgICAgIGNhc2UgJ3ZlcmlmeXVzZXInOgogICAgICBkZWZhdWx0OgoJewoJICBwYXJlbnQ6OkRvQWN0aW9uKCRhY3Rpb24sICRpZCwgJHBhcmFtcywgJHJldHVybmlkICk7CgkgIGJyZWFrOwoJfQogICAgICB9CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgX0NyZWF0ZUZyb250ZW5kVXNlcigkaWQsICRwYXJhbXMsICRyZXR1cm5faWQgKQogICBOT1QgUEFSVCBPRiBUSEUgTU9EVUxFIEFQSQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIF9DcmVhdGVGcm9udGVuZFVzZXIoICR0bXBpZCwgJGdyb3VwX2lkLCAkdXNlcm5hbWUsICRwYXNzd29yZCApCiAgewogICAgJGZldXNlcnMgPSYgJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCdGcm9udEVuZFVzZXJzJyk7CiAgICBpZiggISRmZXVzZXJzICkKICAgICAgewoJcmV0dXJuICR0aGlzLT5MYW5nKCdlcnJvcl9ub2ZldXNlcnNtb2R1bGUnKTsKICAgICAgfQoKICAgIC8vIHRvZG8sIGZpZ3VyZSBvdXQgd2hlbiB1c2VycyBzaG91bGQgZXhwaXJlCiAgICAkZXhwaXJlcyA9IHN0cnRvdGltZSgnKzUgeWVhcnMnKTsKICAgICRyZXN1bHQgPSAkZmV1c2Vycy0+QWRkVXNlciggJHVzZXJuYW1lLCAkcGFzc3dvcmQsICRleHBpcmVzICk7CiAgICBpZiggJHJlc3VsdFswXSA9PSBmYWxzZSApCiAgICAgIHsKCXJldHVybiAkcmVzdWx0WzFdOwogICAgICB9CgogICAgJHVpZCA9ICRyZXN1bHRbMV07CiAgICAkZ2lkID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RlZmF1bHRfZ3JvdXAnLCAtMSk7CiAgICBpZiggJGdpZCAhPSAtMSApCiAgICAgIHsKCS8vIGEgZGVmYXVsdCBncm91cCBpcyByZXF1aXJlZCwKCS8vIHNvIGFkZCBoaW0gdG8gdGhhdCBncm91cAoJaWYoICEkZmV1c2Vycy0+QXNzaWduVXNlclRvR3JvdXAoICR1aWQsICRnaWQgKSApCgkgIHsKCSAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ3dhcm5pbmdfY291bGRub3RhZGRncm91cCcpOwoJICB9CiAgICAgIH0KCiAgICAvLyBhbmQgYWRkIHRoZSB1c2VyIHRvIHdoYXRldmVyIGdyb3VwIHNwZWNpZmllZCBpbiB0aGUgZ3JvdXBzIHBhcmFtZXRlcgogICAgaWYoICRncm91cF9pZCApCiAgICAgIHsKCWlmKCAhJGZldXNlcnMtPkFzc2lnblVzZXJUb0dyb3VwKCAkdWlkLCAkZ3JvdXBfaWQgKSApCgkgIHsKCSAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ3dhcm5pbmdfY291bGRub3RhZGRncm91cCcpOwoJICB9CiAgICAgIH0gICAgCgogICAgLy8gaGUncyBpbi4uLi4gaGUncyBpbi4uLiBub3cganVzdCBhZGQgaGlzIHByb3BlcnRpZXMKICAgICRkYiA9ICR0aGlzLT5HZXREYigpOwogICAgJHEgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3NlbGZyZWdfcHJvcGVydGllcwogICAgICAgICAgV0hFUkUgdXNlciA9ID8iOwogICAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcSwgYXJyYXkoICR0bXBpZCApICk7CiAgICBpZiggISRkYnJlc3VsdCApCiAgICAgIHsKCXJldHVybiAkdGhpcy0+TGFuZygnZXJyb3JfZGJlcnJvcicpOwogICAgICB9CiAgICB3aGlsZSggJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSApCiAgICAgIHsKCSRmZXVzZXJzLT5TZXRVc2VyUHJvcGVydHlGdWxsKCAkcm93Wyd0aXRsZSddLCAkcm93WydkYXRhJ10sICR1aWQgKTsKICAgICAgfQoKLy8gICAgIC8vIG5vdyBkaXNwbGF5IGEgd2FybSBmdXp6eSBtZXNzYWdlCi8vICAgICBnbG9iYWwgJGdDbXM7Ci8vICAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3VzZXJuYW1lJywgJHVzZXJuYW1lICk7Ci8vICAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3NpdGVuYW1lJywgJGdDbXMtPmNvbmZpZ1sncm9vdF91cmwnXSk7Ci8vICAgICBlY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJ3NlbGZyZWdfZmluYWxtZXNzYWdlX3RlbXBsYXRlJyk7CgogICAgLy8gc2VuZCBhbiBldmVudAogICAgJHRoaXMtPlNlbmRFdmVudCgnb25Vc2VyUmVnaXN0ZXJlZCcsCgkJICAgICBhcnJheSgndXNlcm5hbWUnPT4kdXNlcm5hbWUsCgkJCSAgICdpZCc9PiR1aWQpKTsKCiAgICAvLyBhbmQgbm90aWZ5IHRoZSBhZG1pbmlzdHJhdG9yCiAgICAvLyBpZiB0aGUgYWRtaW4gd2FudHMgbm90aWZpY2F0aW9ucy4KICAgIC8vIG9mZiB3ZSBnby4KICAgIGlmKCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbm90aWZ5X29uX3JlZ2lzdHJhdGlvbicpICkKICAgICAgewoJCgkkY21zbWFpbGVyID0mICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgnQ01TTWFpbGVyJyk7CglpZiggISRjbXNtYWlsZXIgKQoJICB7CgkgICAgcmV0dXJuICR0aGlzLT5MYW5nKCdlcnJvcl9ub2Ntc21haWxlcm1vZHVsZScpOwoJICB9CgkKCSRjbXNtYWlsZXItPkFkZEFkZHJlc3MoJHRoaXMtPkdldFByZWZlcmVuY2UoJ3NlbmRfZW1haWxzX3RvJykpOwoJJGNtc21haWxlci0+U2V0U3ViamVjdCgnQSBuZXcgdXNlciBoYXMgcmVnaXN0ZXJlZCBvbiAnLiRnQ21zLT5jb25maWdbJ3Jvb3RfdXJsJ10pOwoJJG1zZyA9ICdBIG5ldyB1c2VyICgnLiR1c2VybmFtZS4nKSBoYXMgY29tcGxldGVkIHJlZ2lzdHJhdGlvbiB0byB5b3VyIHNpdGUuIHlvdSBzaG91bGQgY2hlY2sgdGhpcyB1c2VyIG91dCBhbmQgdmFsaWRhdGUgdGhhdCB0aGUgaW5mb3JtYXRpb24gcHJvdmlkZWQgaXMgYXMgY29tcGxldGUgYW5kIHZhbGlkIGFzIHBvc3NpYmxlLic7CgkkY21zbWFpbGVyLT5TZXRCb2R5KCRtc2cpOyAgCgkkY21zbWFpbGVyLT5Jc0hUTUwoZmFsc2UpOyAvLyB3ZSdyZSBub3Qgc2VuZGluZyBhbiBodG1sIG1haWwKCSRjbXNtYWlsZXItPlNlbmQoKTsKICAgICAgfQoKICAgICR0aGlzLT5BdWRpdCggMCwgJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpLCAKCQkgICR0aGlzLT5MYW5nKCdpbmZvX3VzZXJ2ZXJpZmllZCcpLiI6ICIuJHVzZXJuYW1lKTsKICAgIHJldHVybiAwOwogIH0KCgoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgRGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5faWQsICRtZXNzYWdlKQogICBOT1QgUEFSVCBPRiBUSEUgTU9EVUxFIEFQSQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIF9EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJiRwYXJhbXMsICRyZXR1cm5pZCwgJG1lc3NhZ2U9JycpCiAgewogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0aXRsZV9lcnJvcicsICR0aGlzLT5MYW5nKCdlcnJvcicpKTsKICAgIGlmICgkbWVzc2FnZSAhPSAnJykKICAgICAgewoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdtZXNzYWdlJywgJG1lc3NhZ2UpOwogICAgICB9CiAgICAKICAgIC8vIERpc3BsYXkgdGhlIHBvcHVsYXRlZCB0ZW1wbGF0ZQogICAgZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdlcnJvci50cGwnKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBfRG9EZWxldGVCdWxrVXNlcnMoJGlkLCAkcGFyYW1zLCAkcmV0dXJuX2lkKQogICBOT1QgUEFSVCBPRiBUSEUgTU9EVUxFIEFQSQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIF9Eb0RlbGV0ZUJ1bGtVc2VycyggJGlkLCAmJHBhcmFtcywgJHJldHVybmlkICkKICB7CiAgICBmb3JlYWNoKCAkcGFyYW1zIGFzICRrZXkgPT4gJHZhbHVlICkKICAgICAgewoJaWYoICRrZXkgPT0gJ21hcmtkZWxldGVfJy4kdmFsdWUgKQoJICB7CgkgICAgJHRoaXMtPkRlbGV0ZVRlbXBVc2VyUHJvcGVydGllcyggJHZhbHVlICk7CgkgICAgJHRoaXMtPkRlbGV0ZVRlbXBVc2VyKCAkdmFsdWUgKTsgCgkgIH0KICAgICAgfQogICAgJHRoaXMtPm15UmVkaXJlY3RUb1RhYignYWRtaW51c2VycycpOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIF9Eb0RlbGV0ZVVzZXIoJGlkLCAkcGFyYW1zLCAkcmV0dXJuX2lkLCAkbWVzc2FnZSkKICAgTk9UIFBBUlQgT0YgVEhFIE1PRFVMRSBBUEkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBfRG9EZWxldGVVc2VyKCAkaWQsICYkcGFyYW1zLCAkcmV0dXJuaWQgKQogIHsKICAgIGlmKCAhaXNzZXQoICRwYXJhbXNbJ3VzZXJfaWQnXSApICkKICAgICAgewoJLy8gdGhpcyBpcyB1Z2x5IGZvciB0aGUgdXNlciB0byBzZWUKCS8vIGJ1dCBhdCBsZWFzdCB0aGUgYWRtaW4gd2lsbCBiZSBhYmxlIHRvIGZpZ3VyZSBpdCBvdXQKCSR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSggJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsCgkJCQkgICR0aGlzLT5MYW5nKCdlcnJvcl9pbnN1ZmZpY2llbnRwYXJhbXMnKSk7CglyZXR1cm47CiAgICAgIH0KCiAgICAkaWQgPSAkcGFyYW1zWyd1c2VyX2lkJ107CiAgICAkdGhpcy0+RGVsZXRlVGVtcFVzZXJQcm9wZXJ0aWVzKCAkaWQgKTsKICAgICR0aGlzLT5EZWxldGVUZW1wVXNlciggJGlkICk7IAogICAgJHRoaXMtPm15UmVkaXJlY3RUb1RhYignYWRtaW51c2VycycpOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIFNlbmRBbm90aGVyRW1haWwoJGlkLCAkcGFyYW1zLCAkcmV0dXJuX2lkLCAkbWVzc2FnZSkKICAgTk9UIFBBUlQgT0YgVEhFIE1PRFVMRSBBUEkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBfU2VuZEFub3RoZXJSZWdFbWFpbCggJGlkLCAmJHBhcmFtcywgJHJldHVybmlkICkKICB7CiAgICAvLyB3ZSBoYXZlIHRoZSB1c2VybmFtZSAodGhlb3JldGljYWxseSkgaW4gdGhlICRwYXJhbXMKICAgIGlmKCAhaXNzZXQoICRwYXJhbXNbJ2lucHV0X3VzZXJuYW1lJ10gKSApCiAgICAgIHsKCSRwYXJtc1snbW9kZSddID0gJ3NlbmRhbm90aGVyZW1haWwnOwoJJHBhcm1zWydlcnJvciddID0gMTsKCSRwYXJtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2luc3VmZmljaWVudHBhcmFtcycpOwoJJHBhcm1zWydtb2RlJ10gPSAnc2VuZGFub3RoZXJlbWFpbCc7CgkkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJHBhcm1zICk7CglyZXR1cm47CiAgICAgIH0KICAgICR1c2VybmFtZSA9ICRwYXJhbXNbJ2lucHV0X3VzZXJuYW1lJ107CgogICAgLy8gbG9vayB1cCB0aGUgdXNlcm5hbWUgYW5kIGdldCBhbiBpZAogICAgJHRlbXB1c2VyaWQgPSAkdGhpcy0+R2V0VGVtcFVzZXJJRCggJHVzZXJuYW1lICk7CiAgICBpZiggISR0ZW1wdXNlcmlkICkKICAgICAgewoJJHBhcm1zWydlcnJvciddID0gMTsKCSRwYXJtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX3VzZXJub3Rmb3VuZCcpOwoJJHBhcm1zWydtb2RlJ10gPSAnc2VuZGFub3RoZXJlbWFpbCc7CgkkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJHBhcm1zICk7CglyZXR1cm47IAogICAgICB9CgogICAgLy8gYW5kIHdoYXRldmVyIGRldGFpbHMgd2UgY2FuIGZyb20gdGhlIHVzZXJzIHRhYmxlCiAgICAkZGV0YWlscyA9ICR0aGlzLT5HZXRUZW1wVXNlckRldGFpbHMoICR0ZW1wdXNlcmlkICk7CiAgICBpZiggJGRldGFpbHMgPT0gZmFsc2UgKQogICAgICB7CgkkcGFybXNbJ2Vycm9yJ10gPSAxOwoJJHBhcm1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfdXNlcm5vdGZvdW5kJyk7CgkkcGFybXNbJ21vZGUnXSA9ICdzZW5kYW5vdGhlcmVtYWlsJzsKCSR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAkcGFybXMgKTsKCXJldHVybjsgCiAgICAgIH0KCiAgICAvLyBub3cgZ2V0IHByb3BlcnRpZXMKICAgICR0ZW1wdXNlcnByb3BzID0gJHRoaXMtPkdldFRlbXBVc2VyUHJvcGVydGllcyggJHRlbXB1c2VyaWQgKTsKICAgIGlmKCAkdGVtcHVzZXJwcm9wcyA9PSBmYWxzZSApCiAgICAgIHsKCSRwYXJtc1snZXJyb3InXSA9IDE7CgkkcGFybXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9ub3Byb3BlcnRpZXMnKTsKCSRwYXJtc1snbW9kZSddID0gJ3NlbmRhbm90aGVyZW1haWwnOwoJJHRoaXMtPm15UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHQnLCAkcmV0dXJuaWQsICRwYXJtcyApOwoJcmV0dXJuOyAKICAgICAgfQoKICAgICRmZXVzZXJzID0mICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgnRnJvbnRFbmRVc2VycycpOwogICAgaWYoICEkZmV1c2VycyApCiAgICAgIHsKCSRwYXJtc1snZXJyb3InXSA9IDE7CgkkcGFybXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9ub2ZldXNlcnNtb2R1bGUnKTsKCSRwYXJtc1snbW9kZSddID0gJ3NlbmRhbm90aGVyZW1haWwnOwoJJHRoaXMtPm15UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHQnLCAkcmV0dXJuaWQsICRwYXJtcyApOwoJcmV0dXJuOyAKICAgICAgfQoKICAgIC8vIGhhdmUgdGhlIGdyb3VwIGlkLCBnZXQgdGhlIGdyb3VwIHByb3BlcnR5IHJlbGF0aW9ucwogICAgJHJlbGF0aW9ucyA9ICRmZXVzZXJzLT5HZXRHcm91cFByb3BlcnR5UmVsYXRpb25zKCAkZGV0YWlsc1snZ3JvdXBfaWQnXSApOwogICAgaWYoICRyZWxhdGlvbnNbMF0gPT0gZmFsc2UgKQogICAgICB7CgkkcGFybXNbJ2Vycm9yJ10gPSAxOwoJJHBhcm1zWydtZXNzYWdlJ10gPSAkcmVsYXRpb25zWzFdOwoJJHBhcm1zWydtb2RlJ10gPSAnc2VuZGFub3RoZXJlbWFpbCc7CgkkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJHBhcm1zICk7CglyZXR1cm47IAogICAgICB9CgogICAgJHByb3BzID0gJGZldXNlcnMtPkdldFByb3BlcnR5RGVmbnMoKTsKICAgIGlmKCAkcHJvcHMgPT0gZmFsc2UgKQogICAgICB7CgkkcGFybXNbJ2Vycm9yJ10gPSAxOwoJJHBhcm1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfZGJlcnJvcicpOwoJJHBhcm1zWydtb2RlJ10gPSAnc2VuZGFub3RoZXJlbWFpbCc7CgkkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJHBhcm1zICk7CglyZXR1cm47IAogICAgICB9CgogICAgLy8gbm93IGZpbmQgYW4gZW1haWwgYWRkcmVzcyBwcm9wZXJ0eQogICAgLy8gYW5kIG1ha2Ugc3VyZSBpdCdzIG9mIHR5cGUgMgogICAgJGZvdW5kID0gJyc7CiAgICBmb3JlYWNoKCAkcmVsYXRpb25zIGFzICRyZWxuICkKICAgICAgewoJZm9yZWFjaCggJHByb3BzIGFzICRwcm9wICkKCSAgewoJICAgIGlmKCAkcHJvcFsndHlwZSddID09IDIgJiYgJHJlbG5bJ25hbWUnXSA9PSAkcHJvcFsnbmFtZSddICkKCSAgICAgIHsKCQkvLyBmb3VuZCBhbiBlbWFpbCBwcm9wZXJ0eQoJCWZvcmVhY2goICR0ZW1wdXNlcnByb3BzIGFzICR0ZW1wcHJvcCApCgkJICB7CgkJICAgIGlmKCAkcmVsblsnbmFtZSddID09ICR0ZW1wcHJvcFsndGl0bGUnXSApCgkJICAgICAgewoJCQkkZm91bmQgPSAkdGVtcHByb3BbJ2RhdGEnXTsKCQkJYnJlYWs7CgkJICAgICAgfQoJCSAgfQoJICAgICAgfQoJICAgIGlmKCAkZm91bmQgIT0gJycgKQoJICAgICAgewoJCWJyZWFrOwoJICAgICAgfQoJICB9CglpZiggJGZvdW5kICE9ICcnICkKCSAgewoJICAgIGJyZWFrOwoJICB9CiAgICAgIH0KICAgIGlmKCAhJGZvdW5kICkKICAgICAgewoJJHBhcm1zWydlcnJvciddID0gMTsKCSRwYXJtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX25vZW1haWxhZGRyZXNzJyk7CgkkcGFybXNbJ21vZGUnXSA9ICdzZW5kYW5vdGhlcmVtYWlsJzsKCSR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAkcGFybXMgKTsKCXJldHVybjsgCiAgICAgIH0KCiAgICAkdGhpcy0+X1NlbmRVc2VyQ29uZmlybWF0aW9uRW1haWwoICRpZCwkcmV0dXJuaWQsJGZvdW5kLCAkdXNlcm5hbWUsICRkZXRhaWxzWydncm91cF9pZCddLAoJCQkJICAgICAgICRkZXRhaWxzWydjb2RlJ10gKTsKCiAgICAvLyB3ZSdyZSBub3QgcmVkaXJlY3RpbmcgYW55d2hlcmUgd2UgbmVlZCB0byBkaXNwbGF5IHNvbWUgbmljZSBtZXNzYWdlCiAgICAvLyBhYm91dCB3ZSBqdXN0IHNwYW1tZWQgeW91ciBpbmJveCwgZXRjLCBldGMuCiAgICBnbG9iYWwgJGdDbXM7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3NpdGVuYW1lJywgJGdDbXMtPmNvbmZpZ1sncm9vdF91cmwnXSk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3VzZXJuYW1lJywkdXNlcm5hbWUpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdlbWFpbCcsICRmb3VuZCApOwogICAgZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCdzZWxmcmVnX3Bvc3Rfc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZScpOwogIH0gIAoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgU2VuZFVzZXJDb25maXJtYXRpb25FbWFpbCgkYWRkcmVzcywkdXNlcm5hbWUsJGdyb3VwX2lkLCRjb2RlKTsKICAgTk9UIFBBUlQgT0YgVEhFIE1PRFVMRSBBUEkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBfU2VuZFVzZXJDb25maXJtYXRpb25FbWFpbCgkaWQsJHJldHVybmlkLCRhZGRyZXNzLCR1c2VybmFtZSwkZ3JvdXBfaWQsJGNvZGUpCiAgewogICAgZ2xvYmFsICRnQ21zOwogICAgJGNtc21haWxlciA9JiAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoJ0NNU01haWxlcicpOwogICAgaWYoICEkY21zbWFpbGVyICkKICAgICAgewoJcmV0dXJuIGZhbHNlOwogICAgICB9CgogICAgJGNtc21haWxlci0+QWRkQWRkcmVzcyggJGFkZHJlc3MgKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignbmFtZScsJHVzZXJuYW1lKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignY29kZScsJGNvZGUpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzaXRlbmFtZScsICRnQ21zLT5jb25maWdbJ3Jvb3RfdXJsJ10pOwogICAgJHBhcm1zID0gYXJyYXkoICdtb2RlJyA9PiAndmVyaWZ5JywKCQkgICAgJ2lucHV0X3VzZXJuYW1lJyA9PiAkdXNlcm5hbWUsCgkJICAgICdpbnB1dF9ncm91cF9pZCcgPT4gJGdyb3VwX2lkLAoJCSAgICAnaW5wdXRfY29kZScgPT4gJGNvZGUgKTsKICAgICR1cmwgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsJ2RlZmF1bHQnLCRyZXR1cm5pZCwnJywkcGFybXMsJycsdHJ1ZSx0cnVlKTsKICAgICRzbWFsbHVybCA9ICR0aGlzLT5DcmVhdGVMaW5rKCAkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAnJywgYXJyYXkoJ21vZGUnID0+ICd2ZXJpZnknKSwnJyx0cnVlLCB0cnVlKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbigndXJsJywkdXJsKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignc21hbGx1cmwnLCRzbWFsbHVybCk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2xpbmsnLCR0aGlzLT5DcmVhdGVMaW5rKCRpZCwnZGVmYXVsdCcsJHJldHVybmlkLCR1cmwsJHBhcm1zLCcnLGZhbHNlLHRydWUpKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignc21hbGxsaW5rJywkdGhpcy0+Q3JlYXRlTGluaygkaWQsJ2RlZmF1bHQnLCRyZXR1cm5pZCwkc21hbGx1cmwsYXJyYXkoJ21vZGUnPT4ndmVyaWZ5JyksJycsZmFsc2UsdHJ1ZSkpOwogICAgJGh0bWxib2R5ID0gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgnc2VsZnJlZ19lbWFpbGNvbmZpcm1fdGVtcGxhdGUnKTsKICAgICR0ZXh0Ym9keSA9ICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJ3NlbGZyZWdfZW1haWxjb25maXJtX3RleHR0ZW1wbGF0ZScpOwogICAgJGNtc21haWxlci0+U2V0Qm9keSggJHRleHRib2R5ICk7CiAgICBpZiggJGh0bWxib2R5ICE9ICcnICkKICAgICAgewoJJGNtc21haWxlci0+SXNIVE1MKHRydWUpOyAgLy8gd2UncmUgc2VuZGluZyBhbiBodG1sIG1haWwKCSRjbXNtYWlsZXItPlNldEJvZHkoICRodG1sYm9keSApOwoJJGNtc21haWxlci0+U2V0QWx0Qm9keSggJHRleHRib2R5ICk7CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJJGNtc21haWxlci0+SXNIVE1MKGZhbHNlKTsgIC8vIHdlJ3JlIHNlbmRpbmcgYW4gaHRtbCBtYWlsCgkkY21zbWFpbGVyLT5TZXRCb2R5KCAkdGV4dGJvZHkgKTsKICAgICAgfQogICAgJGNtc21haWxlci0+U2V0U3ViamVjdCgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc2VsZnJlZ19lbWFpbGNvbmZpcm1fc3ViamVjdCcsJHRoaXMtPkxhbmcoJ3JlZ2lzdHJhdGlvbl9jb25maXJtYXRpb24nKSkpOwogICAgJGNtc21haWxlci0+U2VuZCgpOwoKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBTZXRBZG1pblJlZzFUZW1wbGF0ZSgkaWQsICRwYXJhbXMsICRyZXR1cm5faWQsICRtZXNzYWdlKQogICBOT1QgUEFSVCBPRiBUSEUgTU9EVUxFIEFQSQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIF9TZXRBZG1pblJlZzFUZW1wbGF0ZSggJGlkLCAmJHBhcmFtcywgJHJldHVybmlkICkKICB7CiAgICBpZiggaXNzZXQoICRwYXJhbXNbJ2RlZmF1bHRidXR0b24nXSApICkKICAgICAgewoJJHRoaXMtPlNldFRlbXBsYXRlKCAnc2VsZnJlZ19yZWcxdGVtcGxhdGUnLAoJCQkgICAgJHRoaXMtPmRmbHRfcmVnaXN0cmF0aW9uMV90ZW1wbGF0ZSApOwoJJHRoaXMtPlNldFRlbXBsYXRlKCAnc2VsZnJlZ19wb3N0cmVnMV90ZW1wbGF0ZScsCgkJCSAgICAkdGhpcy0+ZGZsdF9wb3N0cmVnMV90ZW1wbGF0ZSApOwogICAgICB9CiAgICBlbHNlIGlmKCBpc3NldCggJHBhcmFtc1sncmVnMV90ZW1wbGF0ZWNvbnRlbnQnXSApIHx8CgkgICAgIGlzc2V0KCAkcGFyYW1zWydwb3N0cmVnMV90ZW1wbGF0ZWNvbnRlbnQnXSApICkKICAgICAgewoJJHRoaXMtPlNldFRlbXBsYXRlKCAnc2VsZnJlZ19yZWcxdGVtcGxhdGUnLAoJCQkgICAgJHBhcmFtc1sncmVnMV90ZW1wbGF0ZWNvbnRlbnQnXSApOwoJJHRoaXMtPlNldFRlbXBsYXRlKCAnc2VsZnJlZ19wb3N0cmVnMV90ZW1wbGF0ZScsCgkJCSAgICAkcGFyYW1zWydwb3N0cmVnMV90ZW1wbGF0ZWNvbnRlbnQnXSApOwogICAgICB9CiAgICAkdGhpcy0+bXlSZWRpcmVjdFRvVGFiKCAkaWQsICdyZWcxdGVtcGxhdGUnICk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgU2V0QWRtaW5SZWcyVGVtcGxhdGUoJGlkLCAkcGFyYW1zLCAkcmV0dXJuX2lkLCAkbWVzc2FnZSkKICAgTk9UIFBBUlQgT0YgVEhFIE1PRFVMRSBBUEkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBfU2V0QWRtaW5SZWcyVGVtcGxhdGUoICRpZCwgJiRwYXJhbXMsICRyZXR1cm5pZCApCiAgewogICAgaWYoIGlzc2V0KCAkcGFyYW1zWydkZWZhdWx0YnV0dG9uJ10gKSApCiAgICAgIHsKCSR0aGlzLT5TZXRUZW1wbGF0ZSggJ3NlbGZyZWdfcmVnMnRlbXBsYXRlJywKCQkJICAgICR0aGlzLT5kZmx0X3JlZ2lzdHJhdGlvbjJfdGVtcGxhdGUgKTsKICAgICAgfQogICAgZWxzZSBpZiggaXNzZXQoICRwYXJhbXNbJ3RlbXBsYXRlY29udGVudCddICkgKQogICAgICB7CgkkdGhpcy0+U2V0VGVtcGxhdGUoICdzZWxmcmVnX3JlZzJ0ZW1wbGF0ZScsCgkJCSAgICAkcGFyYW1zWyd0ZW1wbGF0ZWNvbnRlbnQnXSApOwogICAgICB9CiAgICAkdGhpcy0+bXlSZWRpcmVjdFRvVGFiKCAkaWQsICdyZWcydGVtcGxhdGUnICk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgU2V0QWRtaW5FbWFpbENvbmZpcm1hdGlvblRlbXBsYXRlKCRpZCwgJHBhcmFtcywgJHJldHVybl9pZCwgJG1lc3NhZ2UpCiAgIE5PVCBQQVJUIE9GIFRIRSBNT0RVTEUgQVBJCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gX1NldEFkbWluRW1haWxDb25maXJtVGVtcGxhdGUoICRpZCwgJiRwYXJhbXMsICRyZXR1cm5pZCApCiAgewogICAgaWYoIGlzc2V0KCAkcGFyYW1zWydkZWZhdWx0YnV0dG9uJ10gKSApCiAgICAgIHsKCSR0aGlzLT5TZXRUZW1wbGF0ZSggJ3NlbGZyZWdfZW1haWxjb25maXJtX3RlbXBsYXRlJywKCQkJICAgICR0aGlzLT5kZmx0X2VtYWlsY29uZmlybV90ZW1wbGF0ZSApOwoJJHRoaXMtPlNldFRlbXBsYXRlKCAnc2VsZnJlZ19lbWFpbGNvbmZpcm1fdGV4dHRlbXBsYXRlJywKCQkJICAgICR0aGlzLT5kZmx0X2VtYWlsY29uZmlybV90ZXh0dGVtcGxhdGUgKTsKICAgICAgfQogICAgZWxzZSAKICAgICAgewoJJGh0bWx0ZW1wbGF0ZSA9ICcnOwoJaWYoIGlzc2V0KCAkcGFyYW1zWyd0ZW1wbGF0ZWNvbnRlbnQnXSApICkKCSAgewoJICAgICRodG1sdGVtcGxhdGUgPSAkcGFyYW1zWyd0ZW1wbGF0ZWNvbnRlbnQnXTsKCSAgfQoJJHRleHR0ZW1wbGF0ZSA9ICcnOwoJaWYoIGlzc2V0KCAkcGFyYW1zWyd0ZXh0dGVtcGxhdGVjb250ZW50J10gKSApCgkgIHsKCSAgICAkdGV4dHRlbXBsYXRlID0gJHBhcmFtc1sndGV4dHRlbXBsYXRlY29udGVudCddOwoJICB9Cgkkc3ViamVjdCA9ICcnOwoJaWYoIGlzc2V0KCAkcGFyYW1zWydpbnB1dF9zdWJqZWN0J10gKSApCgkgIHsKCSAgICAkc3ViamVjdCA9ICRwYXJhbXNbJ2lucHV0X3N1YmplY3QnXTsKCSAgfQoJaWYoICRzdWJqZWN0ID09ICcnICkKCSAgewoJICAgICR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSgkaWQsJHBhcmFtcywkcmV0dXJuaWQsCgkJCQkgICAgICR0aGlzLT5MYW5nKCdlcnJvcl9tdXN0c3BlY2lmeXN1YmplY3QnKSk7CgkgICAgcmV0dXJuOwoJICB9CglpZiggJHRleHR0ZW1wbGF0ZSA9PSAnJyApCgkgIHsKCSAgICAkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UoJGlkLCRwYXJhbXMsJHJldHVybmlkLAoJCQkJICAgICAkdGhpcy0+TGFuZygnZXJyb3JfbXVzdHNwZWNpZnl0ZXh0dGVtcGxhdGUnKSk7CgkgICAgcmV0dXJuOwoJICB9CgoJJHRoaXMtPlNldFRlbXBsYXRlKCAnc2VsZnJlZ19lbWFpbGNvbmZpcm1fdGVtcGxhdGUnLAoJCQkgICAgJHBhcmFtc1sndGVtcGxhdGVjb250ZW50J10gKTsKCSR0aGlzLT5TZXRUZW1wbGF0ZSggJ3NlbGZyZWdfZW1haWxjb25maXJtX3RleHR0ZW1wbGF0ZScsCgkJCSAgICAkcGFyYW1zWyd0ZXh0dGVtcGxhdGVjb250ZW50J10gKTsKCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCAnc2VsZnJlZ19lbWFpbGNvbmZpcm1fc3ViamVjdCcsCgkJCSAgICAgICRwYXJhbXNbJ2lucHV0X3N1YmplY3QnXSApOwoJCiAgICAgIH0KICAgICR0aGlzLT5teVJlZGlyZWN0VG9UYWIoICRpZCwgJ2VtYWlsY29uZmlybV90ZW1wbGF0ZScgKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBTZXRBZG1pbkZpbmFsTWVzc2FnZVRlbXBsYXRlKCRpZCwgJHBhcmFtcywgJHJldHVybl9pZCwgJG1lc3NhZ2UpCiAgIE5PVCBQQVJUIE9GIFRIRSBNT0RVTEUgQVBJCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gX1NldEFkbWluRmluYWxNZXNzYWdlVGVtcGxhdGUoICRpZCwgJiRwYXJhbXMsICRyZXR1cm5pZCApCiAgewogICAgaWYoIGlzc2V0KCAkcGFyYW1zWydkZWZhdWx0YnV0dG9uJ10gKSApCiAgICAgIHsKCSR0aGlzLT5TZXRUZW1wbGF0ZSggJ3NlbGZyZWdfZmluYWxtZXNzYWdlX3RlbXBsYXRlJywKCQkJICAgICR0aGlzLT5kZmx0X2ZpbmFsbWVzc2FnZV90ZW1wbGF0ZSApOwogICAgICB9CiAgICBlbHNlIGlmKCBpc3NldCggJHBhcmFtc1sndGVtcGxhdGVjb250ZW50J10gKSApCiAgICAgIHsKCSR0aGlzLT5TZXRUZW1wbGF0ZSggJ3NlbGZyZWdfZmluYWxtZXNzYWdlX3RlbXBsYXRlJywKCQkJICAgICRwYXJhbXNbJ3RlbXBsYXRlY29udGVudCddICk7CiAgICAgIH0KICAgICR0aGlzLT5teVJlZGlyZWN0VG9UYWIoICRpZCwgJ2ZpbmFsbWVzc2FnZV90ZW1wbGF0ZScgKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBTZXRBZG1pbkVtYWlsQ29uZmlybWF0aW9uVGVtcGxhdGUoJGlkLCAkcGFyYW1zLCAkcmV0dXJuX2lkLCAkbWVzc2FnZSkKICAgTk9UIFBBUlQgT0YgVEhFIE1PRFVMRSBBUEkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBfU2V0QWRtaW5FbWFpbFVzZXJFZGl0ZWRUZW1wbGF0ZSggJGlkLCAmJHBhcmFtcywgJHJldHVybmlkICkKICB7CiAgICBpZiggaXNzZXQoICRwYXJhbXNbJ2RlZmF1bHRidXR0b24nXSApICkKICAgICAgewoJJHRoaXMtPlNldFRlbXBsYXRlKCAnc2VsZnJlZ19lbWFpbHVzZXJlZGl0ZWRfdGVtcGxhdGUnLAoJCQkgICAgJHRoaXMtPmRmbHRfZW1haWx1c2VyZWRpdGVkX3RlbXBsYXRlICk7CgkkdGhpcy0+U2V0VGVtcGxhdGUoICdzZWxmcmVnX2VtYWlsdXNlcmVkaXRlZF90ZXh0dGVtcGxhdGUnLAoJCQkgICAgJHRoaXMtPmRmbHRfZW1haWx1c2VyZWRpdGVkX3RleHR0ZW1wbGF0ZSApOwogICAgICB9CiAgICBlbHNlIAogICAgICB7CgkkaHRtbHRlbXBsYXRlID0gJyc7CglpZiggaXNzZXQoICRwYXJhbXNbJ3RlbXBsYXRlY29udGVudCddICkgKQoJICB7CgkgICAgJGh0bWx0ZW1wbGF0ZSA9ICRwYXJhbXNbJ3RlbXBsYXRlY29udGVudCddOwoJICB9CgkkdGV4dHRlbXBsYXRlID0gJyc7CglpZiggaXNzZXQoICRwYXJhbXNbJ3RleHR0ZW1wbGF0ZWNvbnRlbnQnXSApICkKCSAgewoJICAgICR0ZXh0dGVtcGxhdGUgPSAkcGFyYW1zWyd0ZXh0dGVtcGxhdGVjb250ZW50J107CgkgIH0KCSRzdWJqZWN0ID0gJyc7CglpZiggaXNzZXQoICRwYXJhbXNbJ2lucHV0X3N1YmplY3QnXSApICkKCSAgewoJICAgICRzdWJqZWN0ID0gJHBhcmFtc1snaW5wdXRfc3ViamVjdCddOwoJICB9CglpZiggJHN1YmplY3QgPT0gJycgKQoJICB7CgkgICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCRpZCwkcGFyYW1zLCRyZXR1cm5pZCwKCQkJCSAgICAgJHRoaXMtPkxhbmcoJ2Vycm9yX211c3RzcGVjaWZ5c3ViamVjdCcpKTsKCSAgICByZXR1cm47CgkgIH0KCWlmKCAkdGV4dHRlbXBsYXRlID09ICcnICkKCSAgewoJICAgICR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSgkaWQsJHBhcmFtcywkcmV0dXJuaWQsCgkJCQkgICAgICR0aGlzLT5MYW5nKCdlcnJvcl9tdXN0c3BlY2lmeXRleHR0ZW1wbGF0ZScpKTsKCSAgICByZXR1cm47CgkgIH0KCgkkdGhpcy0+U2V0VGVtcGxhdGUoICdzZWxmcmVnX2VtYWlsdXNlcmVkaXRlZF90ZW1wbGF0ZScsCgkJCSAgICAkcGFyYW1zWyd0ZW1wbGF0ZWNvbnRlbnQnXSApOwoJJHRoaXMtPlNldFRlbXBsYXRlKCAnc2VsZnJlZ19lbWFpbHVzZXJlZGl0ZWRfdGV4dHRlbXBsYXRlJywKCQkJICAgICRwYXJhbXNbJ3RleHR0ZW1wbGF0ZWNvbnRlbnQnXSApOwoJJHRoaXMtPlNldFByZWZlcmVuY2UoICdzZWxmcmVnX2VtYWlsdXNlcmVkaXRlZF9zdWJqZWN0JywKCQkJICAgICAgJHBhcmFtc1snaW5wdXRfc3ViamVjdCddICk7CgkKICAgICAgfQogICAgJHRoaXMtPm15UmVkaXJlY3RUb1RhYiggJGlkLCAnZW1haWx1c2VyZWRpdGVkX3RlbXBsYXRlJyApOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIFNldEFkbWluU2V0QW5vdGhlckVtYWlsVGVtcGxhdGUoJGlkLCAkcGFyYW1zLCAkcmV0dXJuX2lkLCAkbWVzc2FnZSkKICAgTk9UIFBBUlQgT0YgVEhFIE1PRFVMRSBBUEkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBfU2V0QWRtaW5TZW5kQW5vdGhlckVtYWlsVGVtcGxhdGUoICRpZCwgJiRwYXJhbXMsICRyZXR1cm5pZCApCiAgewogICAgaWYoIGlzc2V0KCAkcGFyYW1zWydkZWZhdWx0YnV0dG9uJ10gKSApCiAgICAgIHsKCSR0aGlzLT5TZXRUZW1wbGF0ZSggJ3NlbGZyZWdfc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZScsCgkJCSAgICAkdGhpcy0+ZGZsdF9zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlICk7CgkkdGhpcy0+U2V0VGVtcGxhdGUoICdzZWxmcmVnX3Bvc3Rfc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZScsCgkJCSAgICAkdGhpcy0+ZGZsdF9wb3N0X3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUgKTsKICAgICAgfQogICAgZWxzZSBpZiggaXNzZXQoICRwYXJhbXNbJ3RlbXBsYXRlY29udGVudCddICkgKQogICAgICB7CgkkdGhpcy0+U2V0VGVtcGxhdGUoICdzZWxmcmVnX3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnLAoJCQkgICAgJHBhcmFtc1sndGVtcGxhdGVjb250ZW50J10gKTsKCSR0aGlzLT5TZXRUZW1wbGF0ZSggJ3NlbGZyZWdfcG9zdF9zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJywKCQkJICAgICRwYXJhbXNbJ3RlbXBsYXRlY29udGVudDInXSApOwogICAgICB9CiAgICAkdGhpcy0+bXlSZWRpcmVjdFRvVGFiKCAkaWQsICdzZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJyApOwogIH0KCgogIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAgLy8gQVBJIEZVTkNUSU9OUwogIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgogIGZ1bmN0aW9uIEFkZFRlbXBVc2VyUHJvcGVydHkoICR1aWQsICRwcm9wbmFtZSwgJHByb3B2YWx1ZSApCiAgewogICAgJGRiID0gJHRoaXMtPkdldERiKCk7CiAgICAkaWQgPSAkZGItPkdlbklEKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3NlbGZyZWdfdXNlcnNfc2VxIik7CiAgICAkcSA9ICJJTlNFUlQgSU5UTyAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3NlbGZyZWdfcHJvcGVydGllcwogICAgICAgICAgVkFMVUVTICg/LD8sPyw/KSI7CiAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxLCBhcnJheSggJGlkLCAkdWlkLCAkcHJvcG5hbWUsICRwcm9wdmFsdWUgKSApOwogICAgaWYoICEkZGJyZXN1bHQgKQogICAgICB7CglyZXR1cm4gYXJyYXkoRkFMU0UsJGRiLT5FcnJvck1zZygpKTsKICAgICAgfQogICAgcmV0dXJuIGFycmF5KFRSVUUpOwogIH0KCgogIGZ1bmN0aW9uIENvdW50VGVtcFVzZXJzKCkKICB7CiAgICAkZGIgPSAkdGhpcy0+R2V0RGIoKTsKICAgICRxID0gIlNFTEVDVCBjb3VudCgqKSBhcyBjb3VudCBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc2VsZnJlZ191c2VycyI7CiAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxICk7CiAgICBpZiggISRkYnJlc3VsdCApIHsKICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQogICAgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKTsKICAgIHJldHVybiAkcm93Wydjb3VudCddOwogIH0KCgogIGZ1bmN0aW9uIENyZWF0ZVRlbXBVc2VyKCAkZ2lkLCAkdXNlcm5hbWUsICRwYXNzd29yZCwgJGNvZGUgKQogIHsKICAgICRkYiA9ICR0aGlzLT5HZXREYigpOwogICAgaWYoICR1c2VybmFtZSA9PSAnJyB8fCAkcGFzc3dvcmQgPT0gJycgKQogICAgICB7CglyZXR1cm4gZmFsc2U7CiAgICAgIH0KCiAgICAvLyBnZXQgYW4gaWQKICAgICRpZCA9ICRkYi0+R2VuSUQoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc2VsZnJlZ191c2Vyc19zZXEiKTsKICAgICRxID0gIklOU0VSVCBJTlRPICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc2VsZnJlZ191c2VycwogICAgICAgICAgVkFMVUVTICg/LD8sPyw/LD8sPykiOyAKICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHEsIGFycmF5KCAkaWQsICRnaWQsICR1c2VybmFtZSwgbWQ1KCRwYXNzd29yZCksICRjb2RlLAoJCQkJCSB0cmltKCRkYi0+REJUaW1lU1RhbXAodGltZSgpKSwiJyIpKSk7CiAgICBpZiggISRkYnJlc3VsdCApCiAgICAgIHsKCXJldHVybiBhcnJheShGQUxTRSwkZGItPkVycm9yTXNnKCkpOwogICAgICB9CiAgICByZXR1cm4gYXJyYXkoVFJVRSwkaWQpOwogIH0KCgogIGZ1bmN0aW9uIENTVk9sZFRlbXBVc2VycygkZXhwaXJ5Y29kZSkKICB7CiAgICAkZGIgPSAkdGhpcy0+R2V0RGIoKTsKICAgICRleHBpcmVzID0gJGRiLT5EYlRpbWVTdGFtcChzdHJ0b3RpbWUoICRleHBpcnljb2RlICkpOwogICAgLy8gZmluZCBhbGwgdGhlIHVzZXIgaWQncyB0aGF0IG1hdGNoCiAgICAkcSA9ICJTRUxFQ1QgKiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc2VsZnJlZ191c2VycwogICAgICAgICAgV0hFUkUgY3JlYXRlZGF0ZSA8ID8iOwogICAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcSwgYXJyYXkoICRleHBpcmVzICkgKTsgCiAgICAkcmVzdWx0ID0gJyc7CgogICAgd2hpbGUoICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkgKSAKICAgICAgewoJJHZhbHMgPSBhcnJheV92YWx1ZXMoICRyb3cgKTsKCSRyZXN1bHQgLj0gJHJvd1snaWQnXS4iLCIuJHJvd1sndXNlcm5hbWUnXS4iLCIuJHJvd1snY29kZSddLiIsIi4kcm93WydjcmVhdGVkYXRlJ10uIiwiOwoJJHEyID0gIlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zZWxmcmVnX3Byb3BlcnRpZXMKICAgICAgICAgICAgICBXSEVSRSB1c2VyID0gPyBPUkRFUiBieSBpZCI7CgkkZGJyZXN1bHQyID0gJGRiLT5FeGVjdXRlKCAkcTIsIGFycmF5KCAkcm93WydpZCddICkgKTsKCXdoaWxlKCAkcm93MiA9ICRkYnJlc3VsdDItPkZldGNoUm93KCkgKQoJICB7CgkgICAgJHJlc3VsdCAuPSAkcm93MlsnZGF0YSddLiIsIjsKCSAgfQoJJHJlc3VsdCAuPSAiZW5kXG4iOwogICAgICB9CgogICAgcmV0dXJuICRyZXN1bHQ7CiAgfQoKCiAgZnVuY3Rpb24gRWRpdFRlbXBVc2VyKCAkdWlkLCAkdXNlcm5hbWUsICRwYXNzd29yZCwgJGNvZGUgKQogIHsKICAgICRkYiA9ICR0aGlzLT5HZXREYigpOwogICAgaWYoICR1c2VybmFtZSA9PSAnJyApCiAgICAgIHsKCXJldHVybiBmYWxzZTsKICAgICAgfQoKICAgICRxID0gIlVQREFURSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3NlbGZyZWdfdXNlcnMKICAgICAgICAgIFNFVCB1c2VybmFtZSA9ID8sIGNvZGUgPSA/IjsKICAgICRwYXJhbXMgPSBhcnJheSgkdXNlcm5hbWUsJGNvZGUpOwogICAgaWYoICRwYXNzd29yZCAhPSAnJyApCiAgICAgIHsKCSRxIC49ICIscGFzc3dvcmQgPSA/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+eyRpbnB1dF9yZWRpcmVjdF9hZnRlcnJlZ2lzdGVyfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X3JlZGlyZWN0X2FmdGVydmVyaWZ5fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9yZWRpcmVjdF9hZnRlcnZlcmlmeX08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRoaWRkZW59eyRzdWJtaXR9eyRjYW5jZWx9PC9wPgoJPC9kaXY+CiAgIDwvdGQ+CiAgIDx0ZCB3aWR0aD0iNTAlIiB2YWxpZ249InRvcCI+CiAgICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+Cgk8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X251bXJlc2V0cmVjb3Jkc308L3A+Cgk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGRhdGFfbnVtcmVzZXRyZWNvcmRzfTwvcD4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+Cgk8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfcmVtb3ZlMXdlZWt9PC9wPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9yZW1vdmUxbW9udGh9PC9wPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9yZW1vdmUxZGF5fTwvcD4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+Cgk8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfcmVtb3ZlYWxsfTwvcD4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+Cgk8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfbGlzdDFkYXl9PC9wPgogICAgICA8L2Rpdj4KICAgPC90ZD4KICA8L3RyPgo8L3RhYmxlPgp7JGVuZGZvcm19Cg==]]></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>
