HEX
Server: Microsoft-IIS/10.0
System: Windows NT ITPWINWEBSVR22 10.0 build 20348 (Windows Server 2022) AMD64
User: www.conferencesearch.co.uk (0)
PHP: 8.3.30
Disabled: NONE
Upload Files
File: D:/web/itpartnership.net (cms)/tmp/mod31C0.tmp
<?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>FeedbackForm</name>
	<version>0.9.14</version>
  <mincmsversion>1.0-svn</mincmsversion>
	<help>PGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+CjxwPlRoZSBGZWVkYmFja0Zvcm0gTW9kdWxlIGFsbG93cyB5b3UgdG8gY3JlYXRlIGZvcm1zIGZvciB1c2VyIGZlZWRiYWNrLiBUaGVzZSBmb3JtcyBtYXkgYmUgaW5zZXJ0ZWQKaW50byB0ZW1wbGF0ZXMgYW5kL29yIGNvbnRlbnQgcGFnZXMuIEZlZWRiYWNrIGZvcm1zIG1heSBjb250YWluIG1hbnkga2luZHMgb2YgaW5wdXRzLCBhbmQgbWF5IGhhdmUKdmFsaWRhdGlvbiBhcHBsaWVkIHRvIHRoZXNlIGlucHV0cy4gVGhlIHJlc3VsdHMgb2YgdGhlc2UgZm9ybXMgbWF5IGJlIGhhbmRsZWQgaW4gYSB2YXJpZXR5IG9mIHdheXMuPC9wPgoKPGgzPkhvdyBEbyBJIFVzZSBpdD88L2gzPgo8UD5JbnN0YWxsIGl0LCBhbmQgcG9rZSBhcm91bmQgdGhlIG1lbnVzLiBQbGF5IHdpdGggaXQuIFRyeSBjcmVhdGluZyBmb3JtcywgYW5kIGFkZGluZyB0aGVtIHRvIHlvdXIgY29udGVudC4KSWYgeW91IGdldCBzdHVjaywgY2hhdCB3aXRoIG1lIG9uIHRoZSAjY21zIElSQyBjaGFubmVsLCBwb3N0IHRvIHRoZSBmb3J1bSwgc2VuZCBtZSBlbWFpbCwgb3IsIGlmIHlvdSdyZQpyZWFsbHkgZGVzcGVyYXRlLCByZWFkIHRoZSByZXN0IG9mIHRoaXMgcGFnZS48L1A+Cgo8aDM+SG93IERvIEkgQ3JlYXRlIGEgRm9ybTwvaDM+CjxwPkluIHRoZSBDTVMgQWRtaW4gTWVudSwgeW91IHNob3VsZCBnZXQgYSBuZXcgbWVudSBpdGVtIGNhbGxlZCBGZWVkYmFja0Zvcm0uIENsaWNrIG9uIHRoaXMuIE9uIHRoZSBwYWdlCnRoYXQgZ2V0cyBzaG93biwgdGhlcmUgYXJlIG9wdGlvbnMgKGF0IHRoZSBib3R0b20gb2YgdGhlIGxpc3Qgb2YgRm9ybXMpIHRvIEFkZCBhIE5ldyBGb3JtIG9yIE1vZGlmeQpDb25maWd1cmF0aW9uLjwvcD4KCjxoMz5BZGRpbmcgYSBGb3JtIHRvIGEgUGFnZTwvaDM+CjxwPkluIHRoZSBtYWluIEZlZWRiYWNrRm9ybSBhZG1pbiBwYWdlLCB5b3UgY2FuIHNlZSBhbiBleGFtcGxlIG9mIHRoZSB0YWcgdXNlZCB0byBkaXNwbGF5IGVhY2ggZm9ybS4gSXQgbG9va3MKc29tZXRoaW5nIGxpa2Uge2Ntc19tb2R1bGUgbW9kdWxlPSJGZWVkYmFja0Zvcm0iIGZvcm09ImZlZWRiYWNrX2Zvcm1fZXhhbXBsZSJ9PC9wPgo8cD5CeSBjb3B5aW5nIHRoaXMgdGFnIGludG8gdGhlIGNvbnRlbnQgb2YgYSBwYWdlLCBvciBpbnRvIGEgdGVtcGxhdGUsIHdpbGwgY2F1c2UgdGhhdCBmb3JtIHRvIGJlIGRpc3BsYXllZC4KSW4gdGhlb3J5LCB5b3UgY2FuIGhhdmUgbXVsdGlwbGUgZm9ybXMgb24gYSBwYWdlIGlmIHlvdSByZWFsbHkgd2FudCB0by4gQmUgY2FyZWZ1bCB3aGVuIHBhc3RpbmcgdGhlIHRhZwppbnRvIGEgcGFnZSdzIGNvbnRlbnQgaWYgeW91IHVzZSBhIFdZU0lXWUcgZWRpdG9yIHN1Y2ggYXMgVGlueU1DRSBvciBIVE1MQXJlYS4gVGhlc2UgZWRpdG9ycyBtYXkgc3RlYWx0aGlseQpjaGFuZ2UgdGhlIHF1b3RlIG1hcmtzICgiKSBpbnRvIEhUTUwgZW50aXRpZXMgKCZhbXA7cXVvdDspLCBhbmQgdGhlIGZvcm1zIHdpbGwgbm90IHNob3cgdXAuIFRyeSB1c2luZwpzaW5nbGUgcXVvdGVzICgnKSBvciBlZGl0aW5nIHRoZSBIVE1MIGRpcmVjdGx5LgoKPGgzPkFkZGluZyBGaWVsZHMgdG8gYSBGb3JtPC9oMz4KPHA+QnkgY2xpY2tpbmcgb24gYSBGb3JtJ3MgbmFtZSwgeW91IGVudGVyIHRoZSBGb3JtIEVkaXQgcGFnZS4gWW91IHdpbGwgc2VlIGEgbnVtYmVyIG9mIG9wdGlvbnMgZm9yIHRoZSBmb3JtCihsaWtlIHdoYXQgeW91IHdhbnQgdGhlIHRleHQgb2YgdGhlIHN1Ym1pdCBidXR0b24gdG8gc2F5LCB3aGF0IG1lc3NhZ2Ugc2hvdWxkIGJlIGRpc3BsYXllZCB0byB0aGUgdXNlciB3aGVuCnRoZXkgc3VibWl0IHRoZSBmb3JtLCBldGMpLiBUaGVyZSBpcyBhbHNvIGEgbGlzdCBvZiBmaWVsZHMgdGhhdCBtYWtlIHVwIHRoZSBmb3JtLiBUaGUgdHlwZXMgb2YgZmllbGRzIHRoYXQKYXJlIGN1cnJlbnRseSBzdXBwb3J0ZWQgZml0IGludG8gZm91ciBncm91cHM6IHN0YW5kYXJkIGlucHV0IGZpZWxkcywgZGlzcGxheSBjb250cm9sIGZpZWxkcywgZW1haWwtb25seSBpbnB1dApmaWVsZHMsIGFuZCBmb3JtIHJlc3VsdCBoYW5kbGluZyBmaWVsZHMgKGFsc28KY2FsbGVkIEZvcm0gRGlzcG9zaXRpb25zIGluIHBsYWNlcyk6PC9wPgo8dWw+CjxsaT5TdGFuZGFyZCBJbnB1dCBGaWVsZHMgLSB0aGVzZSBhcmUgaW5wdXRzIHRoYXQgYWxsb3cgZW50cnkgb2YgdHlwaWNhbCBmb3JtIGVsZW1lbnRzLjwvbGk+CjxsaT5EaXNwbGF5IENvbnRyb2wgRmllbGRzIC0gdGhlc2UgaW5wdXQgY29udHJvbCBob3cgdGhlIHVzZXIgd2lsbCBzZWUgdGhlIGRpc3BsYXkgb2YgdGhlIGZvcm0uPC9saT4KPGxpPkVtYWlsLW9ubHkgSW5wdXQgRmllbGRzIC0gdGhlc2UgYXJlIGlucHV0cyB0aGF0IGFsbG93IGVudHJ5IG9mIHR5cGljYWwgZm9ybSBlbGVtZW50cywgYnV0IGFwcGx5IG9ubHkKZm9yIGZvcm0gZGlzcG9zaXRpb25zIHRoYXQgc2VuZCB0aGUgcmVzdWx0cyB2aWEgZW1haWwuPC9saT4KPGxpPlNwZWNpYWwgUHVycG9zZSBGaWVsZHMgLSB0aGVzZSBpbnB1dHMgYXJlIHVzZWQgZm9yIGludGVyZmFjaW5nIHByb2dyYW1tYXRpY2FsbHkgd2l0aCBvdGhlciBtb2R1bGVzLjwvbGk+CjxsaT5Gb3JtIERpc3Bvc2l0aW9ucyAtIFRoZXNlIGRldGVybWluZSB3aGF0IGhhcHBlbnMgd2hlbiB0aGUgdXNlcgpzdWJtaXRzIHRoZSBmb3JtOyBmb3IgZWFjaCByZXN1bHQgaGFuZGxpbmcgZmllbGQsIHNvbWUgbWV0aG9kIG9mIHRyYW5zbWl0dGluZywgc2F2aW5nLCBvciBlbWFpbGluZyB0aGUKZm9ybSBjb250ZW50cyB0YWtlcyBwbGFjZS4gQSBmb3JtIG1heSBoYXZlIG11bHRpcGxlIGZvcm0gZGlzcG9zaXRpb25zLjwvbGk+CjwvdWw+CjxwPkZvcm0gZmllbGRzIGFyZSBhc3NpZ25lZCBuYW1lcy4gVGhlc2UgbmFtZXMgaWRlbnRpZnkgdGhlIGZpZWxkLCBub3Qgb25seSBvbiB0aGUgc2NyZWVuIGFzIGxhYmVscyBmb3IgdGhlIHVzZXIsCmJ1dCBpbiB0aGUgZGF0YSB3aGVuIGl0J3Mgc3VibWl0dGVkIHNvIHlvdSBrbm93IHdoYXQgdGhlIHVzZXIgaXMgcmVzcG9uZGluZyB0by4gUGhyYXNpbmcgdGhlIG5hbWUgbGlrZSBhIHF1ZXN0aW9uCmlzIGEgaGFuZHkgd2F5IG9mIG1ha2luZyBpdCBjbGVhciB0byB0aGUgdXNlciB3aGF0IGlzIGV4cGVjdGVkLiBTaW1pbGFybHksIHNvbWUgZmllbGRzIGhhdmUgYm90aCBOYW1lcyBhbmQgVmFsdWVzLgpUaGUgTmFtZXMgYXJlIHdoYXQgZ2V0cyBzaG93biB0byB0aGUgdXNlcjsgdGhlIFZhbHVlIGlzIHdoYXQgZ2V0cyBzYXZlZCBvciB0cmFuc21pdHRlZCB3aGVuIHRoZSB1c2VyIHN1Ym1pdHMKdGhlIGZvcm0uIFRoZSBWYWx1ZXMgYXJlIG5ldmVyIHNlZW4gYnkgdGhlIHVzZXIsIG5vciBhcmUgdGhleSB2aXNpYmxlIGluIHRoZSBIVE1MLCBzbyBpdCdzIHNhZmUgdG8gdXNlIGZvcgplbWFpbCBhZGRyZXNzZXMgYW5kIHN1Y2guPC9wPgo8cD5Tb21lIGZpZWxkcyBjYW4gaGF2ZSBtdWx0aXBsZSB2YWx1ZXMsIG9yIG11bHRpcGxlIG5hbWUvdmFsdWUgcGFpcnMuIFdoZW4geW91IGZpcnN0IGNyZWF0ZSBzdWNoIGEgZmllbGQsCnRoZXJlIG1heSBub3QgYmUgc3VmZmljaWVudCBpbnB1dHMgZm9yIHlvdSB0byBzcGVjaWZ5IGFsbCB0aGUgdmFsdWVzIHlvdSB3YW50LiBUbyBnZXQgbW9yZSBzcGFjZSBmb3IgaW5wdXR0aW5nCnRoZXNlIHZhbHVlcywgc2ltcGx5IHNhdmUgdGhlIGZpZWxkLCBhbmQgdGhlbiBjbGljayBvbiBpdHMgbmFtZSB0byBlZGl0IGl0IGFnYWluLiBFdmVyeSB0aW1lIHlvdSBlZGl0IHN1Y2ggYQpmaWVsZCwgeW91IHdpbGwgcmVjZWl2ZSBtb3JlIGlucHV0cy48L3A+CjxwPkZpZWxkcyBjYW4gYmUgYXNzaWduZWQgdmFsaWRhdGlvbiBydWxlcywgd2hpY2ggdmFyeSBhY2NvcmRpbmcgdG8gdGhlIHR5cGUgb2YgdGhlIGZpZWxkLiBUaGVzZSBydWxlcyBoZWxwCmVuc3VyZSB0aGF0IHRoZSB1c2VyIGVudGVycyB2YWxpZCBkYXRhLiBUaGV5IG1heSBhbHNvIGJlCnNlcGFyYXRlbHkgbWFya2VkICJSZXF1aXJlZCIsIHdoaWNoIHdpbGwgZm9yY2UgdGhlIHVzZXIgdG8gZW50ZXIgYSByZXNwb25zZS48L3A+CjxwPkZpZWxkcyBhbHNvIG1heSBiZSBhc3NpZ25lZCBhIENTUyBjbGFzcy4gVGhpcyBzaW1wbHkgd3JhcHMgdGhlIGlucHV0IGluIGEgZGl2IHdpdGggdGhhdCBjbGFzcywgc28gYXMgdG8gYWxsb3cKY3VzdG9taXplZCBsYXlvdXRzLiBUbyB1c2UgdGhpcyBlZmZlY3RpdmVseSwgeW91IG1heSBuZWVkIHRvICJ2aWV3IHNvdXJjZSIgb24gdGhlIGdlbmVyYXRlZCBmb3JtLCBhbmQgdGhlbgp3cml0ZSB5b3VyIENTUy48L3A+Cjx1bD4KPGxpPlN0YW5kYXJkIElucHV0cwo8dWw+PGxpPlRleHQgSW5wdXQuIFRoaXMgaXMgYSBzdGFuZGFyZCB0ZXh0IGZpZWxkLiBZb3UgY2FuIGxpbWl0IHRoZSBsZW5ndGgsIGFuZCBhcHBseSB2YXJpb3VzIHZhbGlkYXRpb24KZnVuY3Rpb25zIHRvIHRoZSBmaWVsZC48L2xpPgo8bGk+VGV4dCBBcmVhLiBUaGlzIGlzIGEgYmlnLCBmcmVlLWZvcm0gdGV4dCBpbnB1dCBmaWVsZC48L2xpPgo8bGk+Q2hlY2tib3guIFRoaXMgaXMgYSBzdGFuZGFyZCBjaGVjayBib3guIElmIHlvdSB0dXJuIG9uIHZhbGlkYXRpb24sIHlvdSBjYW4gcmVxdWlyZSB0aGF0IHRoZSB1c2VyIGNoZWNrcwp0aGUgYm94LiBUaGlzIGlzIHVzZWZ1bCBmb3IgZm9ybXMgd2hlcmUgdGhlIHVzZXIgaXMgb2JsaWdhdGVkIHRvIGFncmVlIHRvIHNvbWV0aGluZyBpbiBvcmRlciB0byBzdWJtaXQKdGhlIGZvcm0uPC9saT4KPGxpPkNoZWNrYm94IEdyb3VwLiBUaGlzIGlzIGEgY29sbGVjdGlvbiBvZiBjaGVja2JveGVzLiBUaGUgb25seSBkaWZmZXJlbmNlIGJldHdlZW4gdGhpcyBpbnB1dCBhbmQgYQpjb2xsZWN0aW9uIG9mIENoZWNrYm94IGlucHV0cyBpcyB0aGF0IHRoZXkgYXJlIHByZXNlbnRlZCBhcyBhIGdyb3VwLCB3aXRoIG9uZSBuYW1lLCBhbmQgY2FuIGhhdmUgYSB2YWxpZGF0aW9uCmZ1bmN0aW9uIHJlcXVpcmluZyB0aGF0IHlvdSBjaGVjayBvbmUgb3IgbW9yZSBvZiB0aGUgYm94ZXMgaW4gdGhlIGdyb3VwLjwvbGk+CjxsaT5SYWRpbyBHcm91cC4gVGhpcyBpcyBhIGNvbGxlY3Rpb24gb2YgcmFkaW8gYnV0dG9ucy4gT25seSBvbmUgb2YgdGhlIGdyb3VwIG1heSBiZSBzZWxlY3RlZCBieSB0aGUgdXNlci48L2xpPgo8bGk+UHVsbGRvd24uIFRoaXMgaXMgYSBzdGFuZGFyZCBwdWxsZG93biBtZW51LiBJdCdzIHJlYWxseSBjb25jZXB0dWFsbHkgdGhlIHNhbWUgdGhpbmcgYXMgYSByYWRpbyBidXR0b24KZ3JvdXAsIGJ1dCBpcyBiZXR0ZXIgd2hlbiB0aGVyZSBhcmUgYSBsYXJnZSBudW1iZXIgb2Ygb3B0aW9ucy48L2xpPgo8bGk+U3RhdGUuIFRoaXMgaXMgYSBwdWxsZG93biBsaXN0aW5nIHRoZSBTdGF0ZXMgb2YgdGhlIFUuUy48L2xpPgo8bGk+Q291bnRyaWVzLiBUaGlzIGlzIGEgcHVsbGRvd24gbGlzdGluZyB0aGUgQ291bnRyaWVzIG9mIHRoZSB3b3JsZCAoYXMgb2YgSnVseSAyMDA1KS48L2xpPgo8bGk+RGF0ZSBQaWNrZXIuIFRoaXMgaXMgYSB0cmlwbGUgcHVsbGRvd24gYWxsb3dpbmcgdGhlIHVzZXIgdG8gc2VsZWN0IGEgZGF0ZS48L2xpPgo8L3VsPjwvbGk+Cgo8bGk+RW1haWwtb25seSBJbnB1dHMKPHVsPjxsaT5GaWxlIFVwbG9hZC4gVGhpcyBhbGxvd3MgYSB1c2VyIHRvIHVwbG9hZCBhIGZpbGUsIHdoaWNoIHdpbGwgYmUgaW5jbHVkZWQgYXMgYW4gYXR0YWNobWVudCB0byBhbnkgZW1haWwKZGlzcG9zaXRpb24uIEZpbGUgdXBsb2FkcyBkbyBub3QgY3VycmVudGx5IHdvcmsgd2l0aCB0aGUgRmxhdCBGaWxlIGRpc3Bvc2l0aW9uIG1ldGhvZC48L2xpPgo8bGk+RW1haWwgRnJvbSBGaWVsZC4gVGhpcyBhbGxvd3MgdXNlcnMgdG8gcHJvdmlkZSB0aGVpciBuYW1lIGFuZCBlbWFpbCBhZGRyZXNzLiBUaGUgZW1haWwgZ2VuZXJhdGVkIHdoZW4gdGhlCmZvcm0gZ2V0cyBoYW5kbGVkIHdpbGwgdXNlIHRoaXMgbmFtZSBhbmQgYWRkcmVzcyBpbiB0aGUgIkZyb20iIGZpZWxkLjwvbGk+CjwvdWw+PC9saT4KCjxsaT5EaXNwbGF5IENvbnRyb2wgRmllbGRzPHVsPgo8bGk+UGFnZSBCcmVhay4gVGhpcyBhbGxvd3MgeW91IHRvIHNwbGl0IHlvdXIgZmVlZGJhY2sgZm9ybSBpbnRvIG11bHRpcGxlIHBhZ2VzLiBFYWNoIHBhZ2UgaXMKaW5kZXBlbmRlbnRseSB2YWxpZGF0ZWQuIFRoaXMgaXMgZ29vZCBmb3IgYXBwbGljYXRpb25zIGxpa2Ugb25saW5lIHN1cnZleXMuPC9saT4KPGxpPlN0YXRpYyBUZXh0LiBUaGlzIGFsbG93cyB5b3UgdG8gcGxhY2UgdGV4dCBpbiB5b3VyIGZvcm0uIEl0J3MgY2FsbGVkIGFuIGlucHV0LCBidXQgaXQncyBkaXNwbGF5IG9ubHkuIFRoaXMgaXMgdXNlZnVsIGZvciBwcmVzZW50aW5nIGluc3RydWN0aW9ucywgaGVscCwgZXRjLjwvbGk+CjwvdWw+PC9saT4KCjxsaT5TcGVjaWFsIFB1cnBvc2UgRmllbGRzPHVsPgo8bGk+RnVuY3Rpb24gQ2FsbGJhY2sgIklucHV0Ii4gVGhpcyBhbGxvd3MgcHJvZ3JhbW1lcnMgdG8gYWNjZXNzIGluZm9ybWF0aW9uIGZyb20gb3RoZXIgbW9kdWxlcyAoc3VjaCBhcyBnZXR0aW5nIHVzZXIgbmFtZSBkYXRhIGZyb20gYSB1c2VyIGF1dGhlbnRpY2F0aW9uIG1vZHVsZSkuPC9saT48L3VsPjwvbGk+Cgo8bGk+Rm9ybSBIYW5kbGluZyBJbnB1dHMgKERpc3Bvc2l0aW9ucykKPHVsPjxsaT5FbWFpbCBSZXN1bHRzIEJhc2VkIG9uIFB1bGxkb3duLiBUaGlzIGlzIHVzZWZ1bCBmb3Igd2ViIHNpdGVzIHdoZXJlIGNvbW1lbnRzIGdldCByb3V0ZWQgYmFzZWQgb24KdGhlaXIgc3ViamVjdCBtYXR0ZXIsIGUuZy4sIGJ1Z3MgZ2V0IHNlbnQgdG8gb25lIHBlcnNvbiwgbWFya2V0aW5nIHF1ZXN0aW9ucyB0byBhbm90aGVyIHBlcnNvbiwgc2FsZXMgcmVxdWVzdHMKdG8gc29tZW9uZSBlbHNlLCBldGMuIFRoZSBwdWxsZG93biBpcyBwb3B1bGF0ZWQgd2l0aCB0aGUgc3ViamVjdHMsIGFuZCBlYWNoIGdldHMgZGlyZWN0ZWQgdG8gYSBzcGVjaWZpYyBlbWFpbAphZGRyZXNzLiBZb3Ugc2V0IHVwIHRoZXNlIG1hcHBpbmdzIGluIHRoZSB3aGVuIHlvdSBjcmVhdGUgb3IgZWRpdCBhIGZpZWxkIG9mIHRoaXMgdHlwZS4gSWYgeW91IHVzZSBvbmUgb2YKdGhlc2UgIkRpcmVjdG9yIiBwdWxsZG93bnMsIHRoZSB1c2VyIG11c3QgbWFrZSBhIHNlbGVjdGlvbiBpbiBvcmRlciB0byBzdWJtaXQgdGhlCmZvcm0uIFRoaXMgaW5wdXQgaXMgcGFydCBvZiB0aGUgZm9ybSB0aGUgdXNlciBzZWVzLCBhbHRob3VnaCB0aGUgZW1haWwgYWRkcmVzc2VzIGFyZSBub3QgbWFkZSB2aXNpYmxlIG5vcgphcmUgdGhleSBlbWJlZGRlZCBpbiB0aGUgSFRNTC48L2xpPgo8bGk+RW1haWwgUmVzdWx0cyB0byBzZXQgQWRkcmVzcyhlcykuIFRoaXMgc2ltcGx5IHNlbmRzIHRoZSBmb3JtIHJlc3VsdHMgdG8gb25lIG9yIG1vcmUgZW1haWwgYWRkcmVzc2VzIHRoYXQKeW91IGVudGVyIHdoZW4geW91IGNyZWF0ZSBvciBlZGl0IHRoaXMgdHlwZSBvZiBmaWVsZC4gVGhpcyBmaWVsZCBhbmQgaXRzIG5hbWUgYXJlIG5vdCB2aXNpYmxlIGluIHRoZQpmb3JtIHRoYXQgdGhlIHVzZXIgc2Vlcy4gVGhlIGVtYWlsIGFkZHJlc3NlcyBhcmUgbm90IG1hZGUgdmlzaWJsZSBub3IKYXJlIHRoZXkgZW1iZWRkZWQgaW4gdGhlIEhUTUwuPC9saT4KPGxpPkVtYWlsIFJlc3VsdHMgdG8gVXNlci1TZWxlY3RlZCBTaXRlIFVzZXIuIFRoaXMgaW5wdXQgaXMgb3VyIGZpcnN0IGVuZC11c2VyIHN1Z2dlc3Rpb24hIEl0IGNyZWF0ZXMgYSAKcHVsbGRvd24gb2YgdXNlcm5hbWVzIGluIHRoZSBmb3JtLiBUaGUgdXNlcm5hbWVzIGFyZSBvdGhlciB1c2VycyB3aG8gYXJlIHJlZ2lzdGVyZWQgd2l0aCB0aGUgc2l0ZS4KV2hlbiB0aGUgZm9ybSBpcyBzdWJtaXR0ZWQsIHRoZSBkYXRhIGlzIHNlbnQgdG8gdGhlIHVzZXIgd2hvc2UgbmFtZSB3YXMgc2VsZWN0ZWQuIFdoZW4geW91IGNyZWF0ZQphIGZpZWxkIG9mIHRoaXMgdHlwZSwgeW91IG1heSBzZWxlY3Qgc3BlY2lmaWMgZ3JvdXBzIGZyb20gd2hpY2ggdGhlIHVzZXJsaXN0IGlzIGNyZWF0ZWQuIFRoaXMgaW5wdXQgaXMKcGFydCBvZiB0aGUgZm9ybSB0aGUgdXNlciBzZWVzLCBhbHRob3VnaCB0aGUgZW1haWwgYWRkcmVzc2VzIGFyZSBub3QgbWFkZSB2aXNpYmxlIG5vciBhcmUgdGhleSBlbWJlZGRlZAppbiB0aGUgSFRNTC48L2xpPgo8bGk+V3JpdGUgUmVzdWx0cyB0byBGbGF0IEZpbGUuIFRoaXMgdGFrZXMgdGhlIGZvcm0gcmVzdWx0cyBhbmQgd3JpdGVzIHRoZW0gaW50byBhIHRleHQgZmlsZS4gWW91IG1heQpzZWxlY3QgdGhlIG5hbWUgb2YgdGhlIGZpbGUsIGFuZCBpdHMgZm9ybWF0LiBZb3UgY2FuIGNob29zZSBmcm9tICJwYWdlIiBmb3JtYXQsIHdoaWNoIGxvb2tzIGxpa2UgdGhlCmVtYWlscyB0aGF0IGdldCBzZW50IGJ5IHRoZSBvdGhlciBoYW5kbGVycywgb3IgeW91IGNhbiBjaG9vc2UgYSB0YWItZGVsaW1pdGVkIGZvcm1hdCB1c2VmdWwgZm9yIHJlYWRpbmcKaW50byBFeGNlbCBvciBzaW1pbGFyIHByb2dyYW1zLiBJZiB5b3UgY2hvb3NlIHRhYi1kZWxpbWl0ZWQsIHlvdSBjYW4gb3B0IHRvIGhhdmUgdGhlIGZpbGUgc3RhcnQgd2l0aAphIGhlYWRlciByb3csIHdoaWNoIG5hbWVzIHRoZSBjb2x1bW5zLiBUaGVzZSBmaWxlcyBhcmUgd3JpdHRlbiB0byB0aGUgIm91dHB1dCIgZGlyZWN0b3J5IHVuZGVyIHRoZQptb2R1bGUncyBpbnN0YWxsYXRpb24gZGlyZWN0b3J5Lgo8L3VsPjwvbGk+PC9saT48L3VsPgoKPGgzPktub3duIElzc3VlczwvaDM+Cjx1bD4KPGxpPkZpbGUgVXBsb2FkIElucHV0cyBtYXkgYmUgdXNlZCBvbiBtdWx0aS1wYWdlIGZlZWRiYWNrIGZvcm1zLCA8c3Ryb25nPmJ1dCB0aGV5IG11c3QgYmUgb24gdGhlIGxhc3QgcGFnZTwvc3Ryb25nPiBvZgp0aGUgZm9ybS48L2xpPgo8bGk+RmlsZSBVcGxvYWQgIm1heGltdW0gc2l6ZSIgY2Fubm90IGJlIGxhcmdlciB0aGFuIHRoZSB2YWx1ZSBzZXQgaW4geW91ciBwaHAuaW5pIGZpbGUuIFRoaXMgaXMgbm90IGEgYnVnIC0tIHRoaXMgaXMgYSBmZWF0dXJlLjwvbGk+CjxsaT5GaWxlIFVwbG9hZCAibWF4aW11bSBzaXplIiB1c2VzIHVuaXRzIGNhbGxlZCAia2lsb2J5dGVzIiB0aGF0IGFyZSAxMDAwIGJ5dGVzLCBub3QgMTAyNCBieXRlcy48L2xpPgo8bGk+RmlsZSBVcGxvYWRzIGRvIG5vdCBjdXJyZW50bHkgd29yayB3aXRoIHRoZSBGbGF0IEZpbGUgZGlzcG9zaXRpb24gbWV0aG9kLjwvbGk+CjxsaT5GaWxlIFVwbG9hZHMgY291bGQgYWxsb3cgdXNlcnMgdG8gc3VibWl0IG9mZmVuc2l2ZSwgb2JzY2VuZSwgb3IgaWxsZWdhbCBtYXRlcmlhbC4gSXQgY291bGQgYWxzbyBiZSB1c2VkIHRvIHRyYW5zbWl0CmRhbmdlcm91cyBmaWxlcyBzdWNoIGFzIHRyb2phbi1ob3JzZXMsIHZpcnVzZXMsIG9yIG90aGVyIHNlY3VyaXR5IHRocmVhdHMuIFVzZSBGaWxlIFVwbG9hZHMgd2l0aCBjYXV0aW9uIGFuZCBjb21tb24gc2Vuc2UuPC9saT4KPC91bD4KCjxoMz5Ucm91Ymxlc2hvb3Rpbmc8L2gzPgo8b2w+PGxpPiBGaXJzdCBzdGVwIGlzIHRvIGNoZWNrIHlvdSdyZSBydW5uaW5nIENNUyAwLjEwLnggb3IgbGF0ZXIuPC9saT4KPGxpPiBTZWNvbmQgc3RlcCBpcyB0byByZWFkIGFuZCB1bmRlcnN0YW5kIHRoZSBjYXZlYXQgYWJvdXQgV1lTSVdZRyBlZGl0b3JzIHVwIGluIHRoZQpzZWN0aW9uIDxlbT5BZGRpbmcgYSBGb3JtIHRvIGEgUGFnZTwvZW0+LjwvbGk+CjxsaT4gSnVzdCBtZXNzIGFyb3VuZCBhbmQgdHJ5IGNsaWNraW5nIG9uIGxpbmtzIGFuZCBpY29ucyBhbmQgc3R1ZmYuIFNlZSB3aGF0IGhhcHBlbnMuPC9saT4KPGxpPiBMYXN0IHJlc3BvcnQgaXMgdG8gZW1haWwgbWUgb3IgY2F0Y2ggbWUgb24gSVJDIGFuZCB3ZSBjYW4gZ28gZnJvbSB0aGVyZS48L2xpPgo8L29sPiAKPHA+VGhpcyBtYXkgbm8gbG9uZ2VyIGJlIHN1Y2ggYW4gZWFybHkgdmVyc2lvbiwgYnV0IGl0IGlzIHByb2JhYmx5IHN0aWxsIGJ1Z2d5LiBXaGlsZSBJJ3ZlIGRvbmUgYWxsIEkgY2FuCnRvIG1ha2Ugc3VyZSBubyBlZ3JlZ2lvdXMgYnVncyBoYXZlIGNyZXB0IGluLCBJIGhhdmUgdG8gYWRtaXQgdGhhdCBkdXJpbmcgdGVzdGluZywgdGhpcyBwcm9ncmFtCnJldmVhbGVkIHNldmVuIGNvY2tyb2FjaGVzLCB0d28gZWFyd2lncywgYSBzbWFsbCBmYW1pbHkgb2YgYXBoaWRzLCBhbmQgYSB3YWxraW5nLXN0aWNrIGluc2VjdC4gSXQgYWxzbwphdGUgdGhlIG5laWdoYm9yJ3MgbmFzdHkgbGl0dGxlIHlhcCBkb2csIGZvciB3aGljaCBJIHdhcyBpbmFwcHJvcHJpYXRlbHkgZ3JhdGVmdWwuPC9wPgo8cD5UaGUgZmluYWwgcmVsZWFzZSB3aWxsIGluY2x1ZGUgYnVnIGZpeGVzLCBkb2N1bWVudGF0aW9uLCBhbmQgdW5jb25kaXRpb25hbCBsb3ZlLjwvcD4KPGgzPlN1cHBvcnQ8L2gzPgo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+Cjx1bD4KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQsIHBsZWFzZSB2aXNpdCB0aGUgQ01TIERldmVsb3BlciBDZW50ZXIgYXQgPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZyI+aHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZzwvYT4uPC9saT4KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPgo8bGk+VGhlIGF1dGhvciwgU2pHLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPgo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkuPC9saT4gIAo8L3VsPgo8cD5BcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy4gUGxlYXNlIHJlYWQgdGhlIHRleHQKb2YgdGhlIGxpY2Vuc2UgZm9yIHRoZSBmdWxsIGRpc2NsYWltZXIuPC9wPgoKPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+CjxwPkNvcHlyaWdodCAmY29weTsgMjAwNiwgU2FtdWVsIEdvbGRzdGVpbiA8YSBocmVmPSJtYWlsdG86c2pnQGNtc21vZHVsZXMuY29tIj4mbHQ7c2pnQGNtc21vZHVsZXMuY29tJmd0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4KPHA+VGhpcyBtb2R1bGUgaGFzIGJlZW4gcmVsZWFzZWQgdW5kZXIgdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+R05VIFB1YmxpYyBMaWNlbnNlPC9hPi4gWW91IG11c3QgYWdyZWUgdG8gdGhpcyBsaWNlbnNlIGJlZm9yZSB1c2luZyB0aGUgbW9kdWxlLjwvcD4KCQkKPGgzPkRlcGVuZGVuY2llczwvaDM+PHVsPjxsaT5DTVNNYWlsZXIgPSZndDsgMS43My40PC9saT48L3VsPjxoMz5QYXJhbWV0ZXJzPC9oMz48dWw+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gbGFuZz0iZW5fVVMiIC0gUGFyYW1ldGVyIGlzIHVzZWQgdG8gc3BlY2lmeSB3aGF0IGxhbmd1YWdlIHRvIHVzZSBmb3IgZGlzcGxheSBvbiB0aGUgZnJvbnRlbmQuIE5vdCBhbGwgbW9kdWxlcyBzdXBwb3J0IG9yIG5lZWQgdGhpcy48L2xpPjwvdWw+</help>
	<about>PGJyIC8+QXV0aG9yOiBTakcgJmx0O3NqZ0BjbXNtb2R1bGVzLmNvbSZndDs8YnIgLz48YnIgLz5WZXJzaW9uOiAwLjkuMTQ8YnIgLz48YnIgLz5DaGFuZ2UgSGlzdG9yeTo8YnIgLz4KCQkgICAgPHVsPgogICAgICAgICAgICAgICAgICAgIDxsaT5WZXJzaW9uIDAuOS4xNCAtIChjYWxndXkxMDAwKSAtIE1pbm9yIEZpeCB0byBvYmplY3QgY2FsbHM8L2xpPgogICAgICAgICAgICAgICAgICAgIDxsaT5WZXJzaW9uIDAuOS4xMyAtIChjYWxndXkxMDAwKSAtIE1vZGlmaWVkIGZvciB0aGUgbGF6eSBsb2FkaW5nIG9mIENNUyAxLjBCNiBhbmQgbGF0ZXI8L2xpPgogICAgICAgICAgICAgICAgICAgIDxsaT5WZXJzaW9uIDAuOS4xMiAtIFVua25vd24gKGFkZGVkIGJ5IGNhbGd1eTEwMDApPC9saT4KCQkgICAgPGxpPlZlcnNpb24gMC45LjExIC0gOSBGZWJydWFyeSAyMDA2LiBCdWcgZml4ZXMgZm9yIHRyYWNrZXIgYnVncyAjMjkzLCAjMzI5LCAjMzA0LCAjMzM3PC9saT4KCQkgICAgPGxpPlZlcnNpb25zIDAuOS54IC0gT2N0b2JlciwgTm92ZW1iZXIgMjAwNS4gQ29udGludWluZyBidWcgZml4ZXMuPC9saT4KCQkgICAgPGxpPlZlcnNpb24gMC45IC0gIDIgT2N0b2JlciAyMDA1LiBNaWdyYXRlZCB0byBwcm9wZXIgTW9kdWxlIEFQSSAobGFuZywgc21hcnR5IHRlbXBsYXRlcywgZXRjLikuPC9saT4KICAgICAgICAgICAgPGxpPlZlcnNpb24gMC44IC0gMzEgSnVseSAyMDA1LiBCdWcgZml4ZXMsIGFkZGVkIERhdGUgYW5kIENhbGxiYWNrIEZ1bmN0aW9uIGlucHV0IHR5cGVzLjwvbGk+CiAgICAgICAgICAgIDxsaT5WZXJzaW9uIDAuNy4zIC0gMjEgSnVseSAyMDA1LiBCdWcgZml4ZXMsIGFkZGVkIFN0YXRlIGFuZCBDb3VudHJ5IGlucHV0IHR5cGVzLjwvbGk+CiAgICAgICAgICAgIDxsaT5WZXJzaW9uIDAuNy4yIC0gMTggSnVseSAyMDA1LiBWYWxpZGF0aW9uIGJ1ZyBmaXhlcywgZml4ZWQgUEhQTWFpbGVyIGxvY2FsaXphdGlvbi48L2xpPgogICAgICAgICAgICA8bGk+VmVyc2lvbiAwLjcuMSAtIDEgSnVuZSAyMDA1LiBNaW5vciBidWcgZml4ZXMuPC9saT4KICAgICAgICAgICAgPGxpPlZlcnNpb24gMC43IC0gMjQgTWF5IDIwMDUuIE1vcmUgYW5kIGJldHRlciBzdXBwb3J0IGZvciBDU1MgYW5kIHB1cmUgQ1NTIGxheW91dHMuCiAgICAgICAgICAgIFN1cHBvcnQgZm9yIG11bHRpLXBhZ2UgZm9ybXMuCiAgICAgICAgICAgIE1hbnkgbmV3IGZvcm0gb3B0aW9ucy4gTmV3IGZpZWxkIHR5cGVzOiBmaWxlIHVwbG9hZCwgZW1haWwgImZyb20iIGFkZHJlc3MuIEltcHJvdmVkCiAgICAgICAgICAgIGVycm9yIGhhbmRsaW5nLiBFbWFpbCBkaXNwb3NhbCB0eXBlcyBub3cgdGVtcGxhdGVkLjwvbGk+CgkJCTxsaT5WZXJzaW9uIDAuNiAtIDE2IEFwciAyMDA1LiBVcGRhdGVkIGZvciBuZXcgQWRtaW4sIHNpbXBsaWZpZWQgcGVybWlzc2lvbnMuPC9saT4KCQkgICAgPGxpPlZlcnNpb24gMC41IC0gNCBNYXIgMjAwNS4gTWlub3IgYnVnIGZpeGVzIGZvciBkZWxldGluZyBmb3Jtcy9maWVsZHMuPC9saT4KCQkgICAgPGxpPlZlcnNpb24gMC40IC0gMiBNYXIgMjAwNS4gTG9jYWxpemF0aW9uIGFuZCBudW1lcm91cyBidWcgZml4ZXMuPC9saT4KCQkgICAgPGxpPlZlcnNpb24gMC4zIC0gMjggRmViIDIwMDUuIFByaW1pdGl2ZSBsb2NhbGl6YXRpb24gYW5kIGJ1ZyBmaXhlcy48L2xpPgoJCSAgICA8bGk+VmVyc2lvbiAwLjIgLSAyNCBGZWIgMjAwNS4gQ29udmVydGVkIHRvIHVzZSBPYmplY3RzLiBNYW55IGltcHJvdmVtZW50cyBhbmQgYnVnIGZpeGVzLjwvbGk+CgkJCTxsaT5WZXJzaW9uIDAuMSAtIDExIEZlYiAyMDA1LiBJbml0aWFsIFJlbGVhc2U8L2xpPjwvdWw+CgkJPGJyIC8+</about>
	<description>Add, edit and manage interactive Feedback Forms</description>
	<requires>
	  <requiredname>CMSMailer</requiredname>
	  <requiredversion>1.73.4</requiredversion>
	</requires>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/classes/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/classes/CheckboxGroupInput.class.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLy8gRmVlZGJhY2sgRm9ybS4gMDIvMjAwNSBTakcgPGZlZWRiYWNrZm9ybV9jbXNtb2R1bGVAZm9nYm91bmQubmV0PgovLyBBIE1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlLCAoYykyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKLy8gVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKCmNsYXNzIGZmQ2hlY2tib3hHcm91cElucHV0IGV4dGVuZHMgZmZJbnB1dCB7CgogIGZ1bmN0aW9uIGZmQ2hlY2tib3hHcm91cElucHV0KCYkbW9kX2dsb2JhbHMsICRmb3JtUmVmLCAkcGFyYW1zPWFycmF5KCkpCiAgewogICAgJHRoaXMtPmZmSW5wdXQoJG1vZF9nbG9iYWxzLCAkZm9ybVJlZiwgJHBhcmFtcyk7CiAgICAkdGhpcy0+VHlwZSA9ICdDaGVja2JveEdyb3VwSW5wdXQnOwogICAgJHRoaXMtPkRpc3BsYXlUeXBlID0gJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCdmaWVsZF90eXBlX2NoZWNrYm94X2dyb3VwJyk7CiAgICAkdGhpcy0+YWRkTGlzdFBhcmFtKCdjaGVja2JveCcsICdjaGVja2JveG5hbWUnLCAnY2hlY2tib3h2YWx1ZScsICRwYXJhbXMpOwogICAgJHRoaXMtPlZhbGlkYXRpb25UeXBlcyA9IGFycmF5KAoJCQkJICAgJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCd2YWxpZGF0aW9uX25vbmUnKT0+J25vbmUnLAoJCQkJICAgJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCd2YWxpZGF0aW9uX2F0X2xlYXN0X29uZScpPT4nY2hlY2tlZCcKCQkJCSAgICk7CiAgfQoKCiAgZnVuY3Rpb24gU3RhdHVzSW5mbygpCiAgewogICAgJHJldD0gY291bnQoJHRoaXMtPk9wdGlvbnMpOwogICAgJHJldC49ICIgIi4kdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ2JveGVzJyk7CiAgICBpZiAoZmZVdGlsaXR5RnVuY3Rpb25zOjpkZWYoJHRoaXMtPlZhbGlkYXRpb25UeXBlKSkKICAgICAgewoJJHJldC49ICIsICIuYXJyYXlfc2VhcmNoKCR0aGlzLT5WYWxpZGF0aW9uVHlwZSwkdGhpcy0+VmFsaWRhdGlvblR5cGVzKTsKICAgICAgfQogICAgcmV0dXJuICRyZXQ7CiAgfQoKICBmdW5jdGlvbiBXcml0ZVRvUHVibGljRm9ybSgkaWQsICYkcGFyYW1zLCAkcmV0dXJuX2lkKQogIHsKICAgICRtb2R1bGUgPSYgJHRoaXMtPm1vZF9nbG9iYWxzLT5zZWxmcHRyOwogICAgJG9wdFZhbHMgPSAkdGhpcy0+R2V0T3B0aW9uQnlLaW5kKCdjaGVja2JveCcpOwogICAgJGRpc3BSb3dzID0gY291bnQoJG9wdFZhbHMpOwogICAgaWYgKCR0aGlzLT5tb2RfZ2xvYmFscy0+VXNlQ1NTKQogICAgICB7CgllY2hvICI8ZGl2IjsKICAgICAgfQogICAgZWxzZQogICAgICB7CgllY2hvICI8dGFibGUiOwogICAgICB9CiAgICBpZiAoc3RybGVuKCR0aGlzLT5DU1NDbGFzcyk+MCkKICAgICAgewoJZWNobyAiIGNsYXNzPVwiIi4kdGhpcy0+Q1NTQ2xhc3MuIlwiIjsKICAgICAgfQogICAgZWNobyAiPiI7CgogICAgZm9yKCRpPTA7JGk8JGRpc3BSb3dzOyRpKyspCiAgICAgIHsKCWlmICgkaSUyID09IDApCgkgIHsKCSAgICBpZiAoJHRoaXMtPm1vZF9nbG9iYWxzLT5Vc2VDU1MpCgkgICAgICB7CgkJZWNobyAiPGRpdiBjbGFzcz1cImxlZnRcIj4iOwoJICAgICAgfQoJICAgIGVsc2UKCSAgICAgIHsKCQllY2hvICI8dHI+PHRkIGNsYXNzPVwibGVmdFwiPiI7CgkgICAgICB9CgkgIH0KCWlmIChpc19hcnJheSgkdGhpcy0+VmFsdWUpKQoJICB7CiAgICAgICAgCSAgCgkgICAgJGluZGV4ID0gYXJyYXlfc2VhcmNoKCRvcHRWYWxzWyRpXS0+T3B0aW9uSWQsICR0aGlzLT5WYWx1ZSk7CgkgICAgaWYgKCR0aGlzLT5WYWx1ZVskaW5kZXhdID09ICRvcHRWYWxzWyRpXS0+T3B0aW9uSWQpCgkgICAgICB7CgkJZWNobyAkbW9kdWxlLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJHRoaXMtPkFsaWFzLidbXScsICRvcHRWYWxzWyRpXS0+T3B0aW9uSWQsICRvcHRWYWxzWyRpXS0+T3B0aW9uSWQsICR0aGlzLT5tb2RfZ2xvYmFscy0+VXNlSURBbmROYW1lPydpZD0iJy4kdGhpcy0+QWxpYXMuJGkuJyInOicnKTsKCSAgICAgIH0KCSAgICBlbHNlCgkgICAgICB7CgkJZWNobyAkbW9kdWxlLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJHRoaXMtPkFsaWFzLidbXScsICRvcHRWYWxzWyRpXS0+T3B0aW9uSWQsICcnLCR0aGlzLT5tb2RfZ2xvYmFscy0+VXNlSURBbmROYW1lPydpZD0iJy4kdGhpcy0+QWxpYXMuJGkuJyInOicnKTsKCSAgICAgIH0KCSAgfQoJZWxzZQoJICB7CgkgICAgZWNobyAkbW9kdWxlLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJHRoaXMtPkFsaWFzLidbXScsICRvcHRWYWxzWyRpXS0+T3B0aW9uSWQsICR0aGlzLT5WYWx1ZSwkdGhpcy0+bW9kX2dsb2JhbHMtPlVzZUlEQW5kTmFtZT8naWQ9IicuJHRoaXMtPkFsaWFzLiRpLiciJzonJyk7CgkgIH0KCWVjaG8gJG9wdFZhbHNbJGldLT5OYW1lOwoJaWYgKCRpJTIgPT0gMCkKCSAgewoJICAgIGlmICgkdGhpcy0+bW9kX2dsb2JhbHMtPlVzZUNTUykKCSAgICAgIHsKCQllY2hvICI8L2Rpdj48ZGl2IGNsYXNzPVwicmlnaHRcIj4iOwoJICAgICAgfQoJICAgIGVsc2UKCSAgICAgIHsKCQllY2hvICI8L3RkPjx0ZCBjbGFzcz1cInJpZ2h0XCI+IjsKCSAgICAgIH0KCSAgfQoJZWxzZQoJICB7CgkgICAgaWYgKCR0aGlzLT5tb2RfZ2xvYmFscy0+VXNlQ1NTKQoJICAgICAgewoJCWVjaG8gIjwvZGl2PlxuIjsKCSAgICAgIH0KCSAgICBlbHNlCgkgICAgICB7CgkJZWNobyAiPC90ZD48L3RyPlxuIjsKCSAgICAgIH0KCSAgfQogICAgICB9CiAgICBpZiAoJGklMiAhPSAwKQogICAgICB7CglpZiAoJHRoaXMtPm1vZF9nbG9iYWxzLT5Vc2VDU1MpCgkgIHsKCSAgICBlY2hvICI8L2Rpdj5cbiI7CgkgIH0KCWVsc2UKCSAgewoJICAgIGVjaG8gIjwvdGQ+PC90cj5cbiI7CgkgIH0KICAgICAgfQogICAgaWYgKCR0aGlzLT5tb2RfZ2xvYmFscy0+VXNlQ1NTKQogICAgICB7CgllY2hvICI8L2Rpdj4iOwogICAgICB9CiAgICBlbHNlCiAgICAgIHsKCWVjaG8gIjwvdGFibGU+IjsKICAgICAgfQogIH0KCiAgZnVuY3Rpb24gR2V0VmFsdWUoKQogIHsKICAgIGlmIChmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkdGhpcy0+VmFsdWUpKQogICAgICB7CglpZiAoaXNfYXJyYXkoJHRoaXMtPlZhbHVlKSkKCSAgewoJICAgICR2YWwgPSAnJzsKCSAgICBmb3JlYWNoKCR0aGlzLT5WYWx1ZSBhcyAkdHYpCgkgICAgICB7CgkJJGJveE9wdCA9ICR0aGlzLT5HZXRPcHRpb25CeUlkKCR0dik7CgkJJHZhbCAuPSAkYm94T3B0WzBdLT5WYWx1ZS4iLCAiOwoJICAgICAgfQoJICAgIHJldHVybiBydHJpbSgkdmFsLCcsICcpOwoJICB9CgllbHNlCgkgIHsKCSAgICAkYm94T3B0ID0gJHRoaXMtPkdldE9wdGlvbkJ5SWQoJHRoaXMtPlZhbHVlKTsKCSAgICByZXR1cm4gJGJveE9wdFswXS0+VmFsdWU7CgkgIH0KICAgICAgfQogICAgZWxzZQogICAgICB7CglyZXR1cm4gJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCd1bnNwZWNpZmllZCcpOwogICAgICB9CQogIH0KCgoKICBmdW5jdGlvbiBSZW5kZXJBZG1pbkZvcm0oJGZvcm1EZXNjcmlwdG9yKQogIHsKICAgICRvcHRWYWxzID0gJHRoaXMtPkdldE9wdGlvbkJ5S2luZCgnY2hlY2tib3gnKTsKICAgICRyZXQgPSAnPHRhYmxlPjx0cj48dGg+Jy4kdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ3RpdGxlX2NoZWNrYm94X25hbWUnKS4KICAgICAgJzwvdGg+PHRoPicuJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCd0aXRsZV9zdWJtaXR0ZWRfdmFsdWUnKS4nPC90aD48L3RyPic7CiAgICAkZGlzcFJvd3MgPSBjb3VudCgkb3B0VmFscykrNTsKICAgIGZvcigkaT0wOyRpPCRkaXNwUm93czskaSsrKQogICAgICB7CgkkcmV0IC49ICc8dHI+PHRkPic7CgkkcmV0IC49ICRtb2R1bGUtPkNyZWF0ZUlucHV0VGV4dCgkZm9ybURlc2NyaXB0b3IsICdjaGVja2JveG5hbWVbXScsCgkJCQkJIGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCRvcHRWYWxzWyRpXS0+TmFtZSk/JHRoaXMtPk5lcmZIVE1MKCRvcHRWYWxzWyRpXS0+TmFtZSk6JycsMjUpOwoJJHJldCAuPSAnPC90ZD48dGQ+JzsKCSRyZXQgLj0gJG1vZHVsZS0+Q3JlYXRlSW5wdXRUZXh0KCRmb3JtRGVzY3JpcHRvciwgJ2NoZWNrYm94dmFsdWVbXScsCgkJCQkJIGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCRvcHRWYWxzWyRpXS0+VmFsdWUpPyR0aGlzLT5OZXJmSFRNTCgkb3B0VmFsc1skaV0tPlZhbHVlKTonJywyNSk7CgkkcmV0IC49ICc8L3RkPjwvdHI+JzsKICAgICAgfQogICAgJHJldCAuPSAnPC90YWJsZT4nOwogICAgcmV0dXJuIGFycmF5KCR0aGlzLT5tb2RfZ2xvYmFscy0+TGFuZygndGl0bGVfY2hlY2tib3hfZGV0YWlscycpLic6Jz0+JHJldCk7CiAgfQoKCiAgZnVuY3Rpb24gVmFsaWRhdGUoKQogIHsKICAgICRyZXN1bHQgPSB0cnVlOwogICAgJG1lc3NhZ2UgPSAnJzsKCiAgICBzd2l0Y2ggKCR0aGlzLT5WYWxpZGF0aW9uVHlwZSkKICAgICAgewogICAgICBjYXNlICdub25lJzoKCWJyZWFrOwogICAgICBjYXNlICdjaGVja2VkJzoKCWlmICghIGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCR0aGlzLT5WYWx1ZSkpCgkgIHsKCSAgICAkcmVzdWx0ID0gZmFsc2U7CgkgICAgJG1lc3NhZ2UgPSAkdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ3BsZWFzZV9jaGVja19zb21ldGhpbmcnKS4nICInLiR0aGlzLT5OYW1lLiciJzsKCSAgfQoJYnJlYWs7CiAgICAgIH0KICAgIHJldHVybiBhcnJheSgkcmVzdWx0LCAkbWVzc2FnZSk7CiAgfQoKfQoKPz4K]]></data>
	</file>
	<file>
	  <filename>/classes/CheckboxInput.class.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLy8gRmVlZGJhY2sgRm9ybS4gMDIvMjAwNSBTakcgPGZlZWRiYWNrZm9ybV9jbXNtb2R1bGVAZm9nYm91bmQubmV0PgovLyBBIE1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlLCAoYykyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKLy8gVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKCmNsYXNzIGZmQ2hlY2tib3hJbnB1dCBleHRlbmRzIGZmSW5wdXQgewoKICBmdW5jdGlvbiBmZkNoZWNrYm94SW5wdXQoJiRtb2RfZ2xvYmFscywgJGZvcm1SZWYsICRwYXJhbXM9YXJyYXkoKSkKICB7CiAgICAkdGhpcy0+ZmZJbnB1dCgkbW9kX2dsb2JhbHMsICRmb3JtUmVmLCAkcGFyYW1zKTsKICAgICR0aGlzLT5UeXBlID0gJ0NoZWNrYm94SW5wdXQnOwogICAgJHRoaXMtPkRpc3BsYXlUeXBlID0gJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCdmaWVsZF90eXBlX2NoZWNrYm94Jyk7CiAgICAkdGhpcy0+VmFsaWRhdGlvblR5cGVzID0gYXJyYXkoCgkJCQkgICAkdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ3ZhbGlkYXRpb25fbm9uZScpPT4nbm9uZScsCgkJCQkgICAkdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ3ZhbGlkYXRpb25fbXVzdF9jaGVjaycpPT4nY2hlY2tlZCcKCQkJCSAgICk7CgogICAgaWYgKGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCRwYXJhbXNbJ2JveF9uYW1lJ10pICYmIGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCRwYXJhbXNbJ2JveF92YWx1ZSddKSkKICAgICAgewoJJHRoaXMtPkFkZE9wdGlvbignY2hlY2tib3gnLCAkcGFyYW1zWydib3hfbmFtZSddLCAkcGFyYW1zWydib3hfdmFsdWUnXSk7CiAgICAgIH0KICB9CgogIGZ1bmN0aW9uIFdyaXRlVG9QdWJsaWNGb3JtKCRpZCwgJiRwYXJhbXMsICRyZXR1cm5faWQpCiAgewogICAgJG1vZHVsZSA9JiAkdGhpcy0+bW9kX2dsb2JhbHMtPnNlbGZwdHI7CiAgICBpZiAoc3RybGVuKCR0aGlzLT5DU1NDbGFzcyk+MCkKICAgICAgewoJZWNobyAiPGRpdiBjbGFzcz1cIiIuJHRoaXMtPkNTU0NsYXNzLiJcIj4iOwogICAgICB9CiAgICAkYm94T3B0ID0gJHRoaXMtPkdldE9wdGlvbkJ5S2luZCgnY2hlY2tib3gnKTsKICAgIGVjaG8gJG1vZHVsZS0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICR0aGlzLT5BbGlhcywgJGJveE9wdFswXS0+T3B0aW9uSWQsICR0aGlzLT5WYWx1ZSwkdGhpcy0+bW9kX2dsb2JhbHMtPlVzZUlEQW5kTmFtZT8naWQ9IicuJHRoaXMtPkFsaWFzLiciJzonJyk7CiAgICBlY2hvICRib3hPcHRbMF0tPk5hbWU7CiAgICBpZiAoc3RybGVuKCR0aGlzLT5DU1NDbGFzcyk+MCkKICAgICAgewoJZWNobyAiPC9kaXY+IjsKICAgICAgfQogIH0KCiAgZnVuY3Rpb24gR2V0VmFsdWUoKQogIHsKICAgIGlmIChmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkdGhpcy0+VmFsdWUpKQogICAgICB7CgkkYm94T3B0ID0gJHRoaXMtPkdldE9wdGlvbkJ5SWQoJHRoaXMtPlZhbHVlKTsKCXJldHVybiAkYm94T3B0WzBdLT5WYWx1ZTsKICAgICAgfQogICAgZWxzZQogICAgICB7CglyZXR1cm4gJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCd1bnNwZWNpZmllZCcpOwogICAgICB9CQogIH0KCgogIGZ1bmN0aW9uIFN0YXR1c0luZm8oKQogIHsKICAgIGlmIChmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkdGhpcy0+VmFsaWRhdGlvblR5cGUpKQogICAgICB7CglyZXR1cm4gYXJyYXlfc2VhcmNoKCR0aGlzLT5WYWxpZGF0aW9uVHlwZSwkdGhpcy0+VmFsaWRhdGlvblR5cGVzKTsKICAgICAgfQogIH0KCgogIGZ1bmN0aW9uIFJlbmRlckFkbWluRm9ybSgkZm9ybURlc2NyaXB0b3IpCiAgewogICAgJG1vZHVsZSA9JiAkdGhpcy0+bW9kX2dsb2JhbHMtPnNlbGZwdHI7CiAgICAkYm94T3B0ID0gJHRoaXMtPkdldE9wdGlvbkJ5S2luZCgnY2hlY2tib3gnKTsKICAgIHJldHVybiBhcnJheSgkdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ3RpdGxlX2NoZWNrYm94X25hbWUnKS4nOic9PiRtb2R1bGUtPkNyZWF0ZUlucHV0VGV4dCgkZm9ybURlc2NyaXB0b3IsICdib3hfbmFtZScsCgkJCQkJCQkJCQkJCSBmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkYm94T3B0WzBdLT5OYW1lKT8kdGhpcy0+TmVyZkhUTUwoJGJveE9wdFswXS0+TmFtZSk6JycsMjUpLAoJCSAkdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ3RpdGxlX3N1Ym1pdHRlZF92YWx1ZScpLic6Jz0+JG1vZHVsZS0+Q3JlYXRlSW5wdXRUZXh0KCRmb3JtRGVzY3JpcHRvciwgJ2JveF92YWx1ZScsCgkJCQkJCQkJCQkJCSAgIGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCRib3hPcHRbMF0tPlZhbHVlKT8kdGhpcy0+TmVyZkhUTUwoJGJveE9wdFswXS0+VmFsdWUpOicnLDI1KQoJCSApOwogIH0KCgogIGZ1bmN0aW9uIFZhbGlkYXRlKCkKICB7CiAgICAkcmVzdWx0ID0gdHJ1ZTsKICAgICRtZXNzYWdlID0gJyc7CgogICAgc3dpdGNoICgkdGhpcy0+VmFsaWRhdGlvblR5cGUpCiAgICAgIHsKICAgICAgY2FzZSAnbm9uZSc6CglicmVhazsKICAgICAgY2FzZSAnY2hlY2tlZCc6CglpZiAoISBmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkdGhpcy0+VmFsdWUpKQoJICB7CgkgICAgJG9wdCA9ICR0aGlzLT5HZXRPcHRpb25CeUtpbmQoJ2NoZWNrYm94Jyk7CgkgICAgJHJlc3VsdCA9IGZhbHNlOwoJICAgICRtZXNzYWdlID0gJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCd5b3VfbXVzdF9jaGVjazEnKS4KCSAgICAgICRvcHRbMF0tPk5hbWUuJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCd5b3VfbXVzdF9jaGVjazInKTsKCSAgfQoJYnJlYWs7CiAgICAgIH0KICAgIHJldHVybiBhcnJheSgkcmVzdWx0LCAkbWVzc2FnZSk7CiAgfQoKfQoKPz4K]]></data>
	</file>
	<file>
	  <filename>/classes/Config.class.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLy8gRmVlZGJhY2sgRm9ybS4gMDIvMjAwNSBTakcgPGZlZWRiYWNrZm9ybV9jbXNtb2R1bGVAZm9nYm91bmQubmV0PgovLyBBIE1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlLCAoYykyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKLy8gVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKCi8vIG5vdyBpcyBiYXNpY2FsbHkgZ2xvYmFsIHZhcmlhYmxlIHN0b3JlIGZvciBhbGwgb2YgdGhlIEZlZWRiYWNrRm9ybSBtb2R1bGUKCmNsYXNzIGZmQ29uZmlnIHsKCiAgICB2YXIgJENvbmZpZ0lkPS0xOwogICAgdmFyICRGcm9tTmFtZT0nV2VibWFzdGVyJzsKICAgIHZhciAkRnJvbUFkZHJlc3M9J3lvdUB5b3VyLmRvbWFpbic7CiAgICB2YXIgJFJvb3RQYXRoOwogICAgdmFyICRNYXhVcGxvYWRTaXplOwogICAgdmFyICRNb2R1bGVJbnB1dFByZWZpeDsKICAgIHZhciAkVXNlQ1NTPTA7CiAgICB2YXIgJFRpdGxlUG9zaXRpb249MDsKICAgIHZhciAkSGlkZUVycm9ycz0wOwogICAgdmFyICRVc2VJREFuZE5hbWU9MDsKCiAgICB2YXIgJERCSGFuZGxlOwogICAgdmFyICRGb3JtVGFibGVOYW1lOwogICAgdmFyICRGaWVsZFRhYmxlTmFtZTsKICAgIHZhciAkT3B0aW9uVGFibGVOYW1lOwogICAgdmFyICRDb25maWdUYWJsZU5hbWU7CiAgICB2YXIgJEZsb2NrVGFibGVOYW1lOwogICAgCiAgICB2YXIgJHNlbGZwdHI7CgoJZnVuY3Rpb24gZmZDb25maWcoJHBhcmFtcz1hcnJheSgpKQoJewoJICAgaWYgKGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCRwYXJhbXNbJ2NvbmZpZ19pZCddKSkKCSAgICAgICB7CgkgICAgICAgJHRoaXMtPkNvbmZpZ0lkID0gJHBhcmFtc1snY29uZmlnX2lkJ107CgkgICAgICAgfQoJICAgaWYgKGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCRwYXJhbXNbJ2Zyb21fbmFtZSddKSkKCSAgICAgICB7CgkgICAgICAgJHRoaXMtPkZyb21OYW1lID0gJHBhcmFtc1snZnJvbV9uYW1lJ107CgkgICAgICAgfQoJICAgaWYgKGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCRwYXJhbXNbJ2Zyb21fYWRkcmVzcyddKSkKCSAgICAgICB7CgkgICAgICAgJHRoaXMtPkZyb21BZGRyZXNzID0gJHBhcmFtc1snZnJvbV9hZGRyZXNzJ107CgkgICAgICAgfQoJICAgaWYgKGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCRwYXJhbXNbJ2Nzc19sYXlvdXQnXSkpCgkgICAgICAgewoJICAgICAgICR0aGlzLT5Vc2VDU1MgPSAkcGFyYW1zWydjc3NfbGF5b3V0J107CgkgICAgICAgfQoJICAgaWYgKGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCRwYXJhbXNbJ3VzZV9pZF9hbmRfbmFtZSddKSkKCSAgICAgICB7CgkgICAgICAgJHRoaXMtPlVzZUlEQW5kTmFtZSA9ICRwYXJhbXNbJ3VzZV9pZF9hbmRfbmFtZSddOwoJICAgICAgIH0KCSAgIGlmIChmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkcGFyYW1zWyd0YWJsZV9sYXlvdXRfdGl0bGVfcG9zJ10pKQoJICAgICAgIHsKCSAgICAgICAkdGhpcy0+VGl0bGVQb3NpdGlvbiA9ICRwYXJhbXNbJ3RhYmxlX2xheW91dF90aXRsZV9wb3MnXTsKCSAgICAgICB9CgkgICBpZiAoZmZVdGlsaXR5RnVuY3Rpb25zOjpkZWYoJHBhcmFtc1snaGlkZV9lcnJvcnMnXSkpCgkgICAgICAgewoJICAgICAgICR0aGlzLT5IaWRlRXJyb3JzID0gJHBhcmFtc1snaGlkZV9lcnJvcnMnXTsKCSAgICAgICB9Cgl9CgoJZnVuY3Rpb24gTGFuZygkc3RyKQoJewoJCXJldHVybiAkdGhpcy0+c2VsZnB0ci0+TGFuZygkc3RyKTsKCX0KCiAgICBmdW5jdGlvbiBNZXJnZUNvbmZpZygkY29uZikKICAgIHsKICAgIAkkdGhpcy0+REJIYW5kbGUgPSAkY29uZi0+REJIYW5kbGU7CiAgICAJJHRoaXMtPkZvcm1UYWJsZU5hbWUgPSAkY29uZi0+Rm9ybVRhYmxlTmFtZTsKICAgIAkkdGhpcy0+RmllbGRUYWJsZU5hbWUgPSAkY29uZi0+RmllbGRUYWJsZU5hbWU7CiAgICAJJHRoaXMtPk9wdGlvblRhYmxlTmFtZSA9ICRjb25mLT5PcHRpb25UYWJsZU5hbWU7CiAgICAJJHRoaXMtPkNvbmZpZ1RhYmxlTmFtZSA9ICRjb25mLT5Db25maWdUYWJsZU5hbWU7CiAgICAJJHRoaXMtPkZsb2NrVGFibGVOYW1lID0gJGNvbmYtPkZsb2NrVGFibGVOYW1lOwogICAgCSR0aGlzLT5Sb290UGF0aCA9ICRjb25mLT5Sb290UGF0aDsKICAgIH0KCgoJZnVuY3Rpb24gRGVidWdEaXNwbGF5KCkKCXsKCQllY2hvICJDb25maWcgSWQ6ICIuJHRoaXMtPkNvbmZpZ0lkLiI8YnIgLz4iOwoJCWVjaG8gIkNvbmZpZyBFbWFpbCBcIkZyb21cIiBOYW1lOiAiLiR0aGlzLT5Gcm9tTmFtZS4iPGJyIC8+IjsKCQllY2hvICJDb25maWcgRW1haWwgXCJGcm9tXCIgQWRkcmVzczogIi4kdGhpcy0+RnJvbUFkZHJlc3MuIjxiciAvPiI7CgkJZWNobyAiQ29uZmlnIFB1cmUgQ1NTIExheW91dDogIi4kdGhpcy0+VXNlQ1NTLiI8YnIgLz4iOwoJCWVjaG8gIkNvbmZpZyBVc2UgQ1NTIElEIGFuZCBOYW1lOiAiLiR0aGlzLT5Vc2VJREFuZE5hbWUuICI8YnIgLz4iOwoJCWVjaG8gIkNvbmZpZyBIaWRlIEVycm9yczogIi4kdGhpcy0+SGlkZUVycm9yLiI8YnIgLz4iOwoJfQoKICAgIGZ1bmN0aW9uIExvYWQoKQogICAgewogICAgICAgICRzcWwgPSAnU0VMRUNUICogRlJPTSAnIC4gJHRoaXMtPkNvbmZpZ1RhYmxlTmFtZSAuICcgV0hFUkUgY29uZmlnX2lkPTEnOwoJICAgICRycyA9ICR0aGlzLT5EQkhhbmRsZS0+RXhlY3V0ZSgkc3FsKTsKICAgICAgICBpZigkcnMgJiYgJHJzLT5SZWNvcmRDb3VudCgpID4gMCkKCSAgICAgICB7CgkgICAgICAgJHJlc3VsdCA9ICRycy0+R2V0QXJyYXkoKTsKICAgICAgICAgICAkdGhpcy0+Q29uZmlnSWQgPSAkcmVzdWx0WzBdWydjb25maWdfaWQnXTsKICAgICAgICAgICAkdGhpcy0+RnJvbU5hbWUgPSAkcmVzdWx0WzBdWydmcm9tX25hbWUnXTsKCSAgICAgICAkdGhpcy0+RnJvbUFkZHJlc3MgPSAkcmVzdWx0WzBdWydmcm9tX2FkZHJlc3MnXTsKCSAgICAgICBpZiAoZmZVdGlsaXR5RnVuY3Rpb25zOjpkZWYoJHJlc3VsdFswXVsndXNlX2NzcyddKSkKCSAgICAgICAJICAgewoJICAgICAgIAkgICAkdGhpcy0+VXNlQ1NTID0gJHJlc3VsdFswXVsndXNlX2NzcyddOwogICAgICAgICAgIAkgICB9CgkgICAgICAgaWYgKGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCRyZXN1bHRbMF1bJ3VzZV9pZF9hbmRfbmFtZSddKSkKCSAgICAgICAJICAgewoJICAgICAgIAkgICAkdGhpcy0+VXNlSURBbmROYW1lID0gJHJlc3VsdFswXVsndXNlX2lkX2FuZF9uYW1lJ107CiAgICAgICAgICAgCSAgIH0KCSAgICAgICBpZiAoZmZVdGlsaXR5RnVuY3Rpb25zOjpkZWYoJHJlc3VsdFswXVsndGl0bGVfcG9zJ10pKQoJICAgICAgIAkgICB7CgkgICAgICAgCSAgICR0aGlzLT5UaXRsZVBvc2l0aW9uID0gJHJlc3VsdFswXVsndGl0bGVfcG9zJ107CiAgICAgICAgICAgCSAgIH0KCSAgICAgICBpZiAoZmZVdGlsaXR5RnVuY3Rpb25zOjpkZWYoJHJlc3VsdFswXVsnaGlkZV9lcnJvcnMnXSkpCgkgICAgICAgCSAgIHsKCSAgICAgICAJICAgJHRoaXMtPkhpZGVFcnJvcnMgPSAkcmVzdWx0WzBdWydoaWRlX2Vycm9ycyddOwogICAgICAgICAgIAkgICB9CiAgICAgICAgICAgfQogICAgfQoKCiAgICBmdW5jdGlvbiBTdG9yZSgpCiAgICB7CiAgICAgICAgaWYgKCR0aGlzLT5Db25maWdJZCA9PSAtMSkKICAgICAgICAgICAgewogICAgICAgICAgICAkdGhpcy0+Q29uZmlnSWQgPSAxOwoJCQkkc3FsID0gJ0lOU0VSVCBJTlRPICcgLiAkdGhpcy0+Q29uZmlnVGFibGVOYW1lIC4KICAgICAgICAgICAgICAgICIgKGNvbmZpZ19pZCwgZnJvbV9uYW1lLCBmcm9tX2FkZHJlc3MsIGNzc19sYXlvdXQsIHVzZV9pZF9hbmRfbmFtZSwgdGl0bGVfcG9zKSBWQUxVRVMgKD8sID8sID8sID8sID8sID8sID8pIjsKCQkJJHJlcyA9ICR0aGlzLT5EQkhhbmRsZS0+RXhlY3V0ZSgkc3FsLCBhcnJheSgkdGhpcy0+Q29uZmlnSWQsICR0aGlzLT5Gcm9tTmFtZSwKICAgICAgICAgICAgICAgICR0aGlzLT5Gcm9tQWRkcmVzcywgJHRoaXMtPlVzZUNTUywgJHRoaXMtPlVzZUlEQW5kTmFtZSwgJHRoaXMtPlRpdGxlUG9zaXRpb24sCiAgICAgICAgICAgICAgICAkdGhpcy0+SGlkZUVycm9ycykpOwogICAgICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgICAgICB7CgkJCSRzcWwgPSAnVVBEQVRFICcgLiAkdGhpcy0+Q29uZmlnVGFibGVOYW1lIC4gIiBzZXQgZnJvbV9uYW1lPT8sIGZyb21fYWRkcmVzcz0/LCAiIC4KICAgICAgICAgICAgICAgICJ1c2VfY3NzPT8sIHVzZV9pZF9hbmRfbmFtZT0/LCB0aXRsZV9wb3M9PywgaGlkZV9lcnJvcnM9PyB3aGVyZSBjb25maWdfaWQ9PyI7CgkJCSRyZXMgPSAkdGhpcy0+REJIYW5kbGUtPkV4ZWN1dGUoJHNxbCwgYXJyYXkoJHRoaXMtPkZyb21OYW1lLAogICAgICAgICAgICAgICAgJHRoaXMtPkZyb21BZGRyZXNzLCAkdGhpcy0+VXNlQ1NTLAogICAgICAgICAgICAgICAgJHRoaXMtPlVzZUlEQW5kTmFtZSwKICAgICAgICAgICAgICAgICR0aGlzLT5UaXRsZVBvc2l0aW9uLCAkdGhpcy0+SGlkZUVycm9ycywgJHRoaXMtPkNvbmZpZ0lkKSk7CiAgICAgICAgICAgIH0KICAgICAgICByZXR1cm4gJHJlczsKICAgIH0KCn0KCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/classes/CountryInput.class.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLy8gRmVlZGJhY2sgRm9ybS4gMDIvMjAwNSBTakcgPGZlZWRiYWNrZm9ybV9jbXNtb2R1bGVAZm9nYm91bmQubmV0PgovLyBBIE1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlLCAoYykyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKLy8gVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKCmNsYXNzIGZmQ291bnRyeUlucHV0IGV4dGVuZHMgZmZJbnB1dCB7CgogIGZ1bmN0aW9uIGZmQ291bnRyeUlucHV0KCYkbW9kX2dsb2JhbHMsICRmb3JtUmVmLCAkcGFyYW1zPWFycmF5KCkpCiAgewogICAgJHRoaXMtPmZmSW5wdXQoJG1vZF9nbG9iYWxzLCAkZm9ybVJlZiwgJHBhcmFtcyk7CiAgICAkdGhpcy0+VHlwZSA9ICdDb3VudHJ5SW5wdXQnOwogICAgJHRoaXMtPkRpc3BsYXlUeXBlID0gJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCdmaWVsZF90eXBlX2NvdW50cnknKTsKICAgICR0aGlzLT5hZGRMaXN0UGFyYW0oJ3NlbGVjdCcsICdzZWxlY3RuYW1lJywgJ3NlbGVjdHZhbHVlJywgJHBhcmFtcyk7CiAgICBpZiAoZmZVdGlsaXR5RnVuY3Rpb25zOjpkZWYoJHBhcmFtc1snZGVmYXVsdCddKSkKICAgICAgewoJJHRoaXMtPkFkZE9wdGlvbignZGVmYXVsdCcsJ2RlZmF1bHQnLCRwYXJhbXNbJ2RlZmF1bHQnXSk7CiAgICAgIH0KICAgIGlmIChmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkcGFyYW1zWydkZWZhdWx0c2VsJ10pKQogICAgICB7CgkkdGhpcy0+QWRkT3B0aW9uKCdkZWZhdWx0c2VsJywnZGVmYXVsdHNlbCcsJHBhcmFtc1snZGVmYXVsdHNlbCddKTsKICAgICAgfQogICAgJHRoaXMtPlZhbGlkYXRpb25UeXBlcyA9IGFycmF5KAoJCQkJICAgJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCd2YWxpZGF0aW9uX25vbmUnKT0+J25vbmUnLAoJCQkJICAgJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCd2YWxpZGF0aW9uX29wdGlvbl9zZWxlY3RlZCcpPT4nc2VsZWN0ZWQnCgkJCQkgICApOwogICAgJHRoaXMtPkNvdW50cmllcyA9IGFycmF5KCdBZmdoYW5pc3Rhbic9PidBRicsJ0FsYW5kIElzbGFuZHMnPT4nQVgnLCdBbGJhbmlhJz0+J0FMJywKCQkJICAgICAnQWxnZXJpYSc9PidEWicsJ0FtZXJpY2FuIFNhbW9hJz0+J0FTJywnQW5kb3JyYSc9PidBRCcsJ0FuZ29sYSc9PidBTycsJ0FuZ3VpbGxhJz0+J0FJJywnQW50YXJjdGljYSc9PidBUScsCgkJCSAgICAgJ0FudGlndWEgYW5kIEJhcmJ1ZGEnPT4nQUcnLCdBcmdlbnRpbmEnPT4nQVInLCdBcm1lbmlhJz0+J0FNJywnQXJ1YmEnPT4nQVcnLCdBdXN0cmFsaWEnPT4nQVUnLCdBdXN0cmlhJz0+J0FUJywKCQkJICAgICAnQXplcmJhaWphbic9PidBWicsJ0JhaGFtYXMnPT4nQlMnLCdCYWhyYWluJz0+J0JIJywnQmFyYmFkb3MnPT4nQkInLCdCYW5nbGFkZXNoJz0+J0JEJywnQmVsYXJ1cyc9PidCWScsCgkJCSAgICAgJ0JlbGdpdW0nPT4nQkUnLCdCZWxpemUnPT4nQlonLCdCZW5pbic9PidCSicsJ0Jlcm11ZGEnPT4nQk0nLCdCYWhhbWFzJz0+J0JTJywnQmh1dGFuJz0+J0JUJywKCQkJICAgICAnQm90c3dhbmEnPT4nQlcnLCdCb2xpdmlhJz0+J0JPJywnQm9zbmlhIGFuZCBIZXJ6ZWdvdmluYSc9PidCQScsJ0JvdXZldCBJc2xhbmQnPT4nQlYnLAoJCQkgICAgICdCcmF6aWwnPT4nQlInLCdCcml0aXNoIEluZGlhbiBPY2VhbiBUZXJyaXRvcnknPT4nSU8nLCdCcnVuZWkgRGFydXNzYWxhbSc9PidCTicsJ0J1bGdhcmlhJz0+J0JHJywnQnVya2luYSBGYXNvJz0+J0JGJywKCQkJICAgICAnQnVydW5kaSc9PidCSScsJ0NhbWJvZGlhJz0+J0tIJywnQ2FtZXJvb24nPT4nQ00nLCdDYW5hZGEnPT4nQ0EnLCdDYXBlIFZlcmRlJz0+J0NWJywnQ2F5bWFuIElzbGFuZHMnPT4nS1knLAoJCQkgICAgICdDZW50cmFsIEFmcmljYW4gUmVwdWJsaWMnPT4nQ0YnLCdDaGFkJz0+J1REJywnQ2hpbGUnPT4nQ0wnLCdDaGluYSc9PidDTicsJ0NocmlzdG1hcyBJc2xhbmQnPT4nQ1gnLAoJCQkgICAgICdDb2NvcyAoS2VlbGluZykgSXNsYW5kcyc9PidDQycsJ0NvbG9tYmlhJz0+J0NPJywnQ29tb3Jvcyc9PidLTScsJ0NvbmdvJz0+J0NHJywnQ29uZ28sIERlbW9jcmF0aWMgUmVwdWJsaWMnPT4nQ0QnLAoJCQkgICAgICdDb29rIElzbGFuZHMnPT4nQ0snLCdDb3N0YSBSaWNhJz0+J0NSJywnQ290ZSBEXCdJdm9pcmUgKEl2b3J5IENvYXN0KSc9PidDSScsJ0Nyb2F0aWEgKEhydmF0c2thKSc9PidIUicsCgkJCSAgICAgJ0N1YmEnPT4nQ1UnLCdDeXBydXMnPT4nQ1knLCdDemVjaCBSZXB1YmxpYyc9PidDWicsJ0Rlbm1hcmsnPT4nREsnLCdEamlib3V0aSc9PidESicsJ0RvbWluaWNhJz0+J0RNJywKCQkJICAgICAnRG9taW5pY2FuIFJlcHVibGljJz0+J0RPJywnRWFzdCBUaW1vcic9PidUUCcsJ0VjdWFkb3InPT4nRUMnLCdFZ3lwdCc9PidFRycsJ0VsIFNhbHZhZG9yJz0+J1NWJywKCQkJICAgICAnRXF1YXRvcmlhbCBHdWluZWEnPT4nR1EnLCdFcml0cmVhJz0+J0VSJywnRXN0b25pYSc9PidFRScsJ0V0aGlvcGlhJz0+J0VUJywnRmFsa2xhbmQgSXNsYW5kcyAoTWFsdmluYXMpJz0+J0ZLJywKCQkJICAgICAnRmFyb2UgSXNsYW5kcyc9PidGTycsJ0ZpamknPT4nRkonLCdGaW5sYW5kJz0+J0ZJJywnRnJhbmNlJz0+J0ZSJywnRnJhbmNlLCBNZXRyb3BvbGl0YW4nPT4nRlgnLAoJCQkgICAgICdGcmVuY2ggR3VpYW5hJz0+J0dGJywnRnJlbmNoIFBvbHluZXNpYSc9PidQRicsJ0ZyZW5jaCBTb3V0aGVybiBUZXJyaXRvcmllcyc9PidURicsCgkJCSAgICAgJ0YuWS5SLk8uTS4gKE1hY2Vkb25pYSknPT4nTUsnLCdHYWJvbic9PidHQScsJ0dhbWJpYSc9PidHTScsJ0dlb3JnaWEnPT4nR0UnLCdHZXJtYW55Jz0+J0RFJywKCQkJICAgICAnR2hhbmEnPT4nR0gnLCdHaWJyYWx0YXInPT4nR0knLCdHcmVhdCBCcml0YWluIChVSyknPT4nR0InLCdHcmVlY2UnPT4nR1InLCdHcmVlbmxhbmQnPT4nR0wnLAoJCQkgICAgICdHcmVuYWRhJz0+J0dEJywKCQkJICAgICAnR3VhZGVsb3VwZSc9PidHUCcsCgkJCSAgICAgJ0d1YW0nPT4nR1UnLAoJCQkgICAgICdHdWF0ZW1hbGEnPT4nR1QnLAoJCQkgICAgICdHdWVybnNleSc9PidHRicsCgkJCSAgICAgJ0d1aW5lYSc9PidHTicsCgkJCSAgICAgJ0d1aW5lYS1CaXNzYXUnPT4nR1cnLAoJCQkgICAgICdHdXlhbmEnPT4nR1knLAoJCQkgICAgICdIYWl0aSc9PidIVCcsCgkJCSAgICAgJ0hlYXJkIGFuZCBNY0RvbmFsZCBJc2xhbmRzJz0+J0hNJywKCQkJICAgICAnSG9uZHVyYXMnPT4nSE4nLAoJCQkgICAgICdIb25nIEtvbmcnPT4nSEsnLAoJCQkgICAgICdIdW5nYXJ5Jz0+J0hVJywKCQkJICAgICAnSWNlbGFuZCc9PidJUycsCgkJCSAgICAgJ0luZGlhJz0+J0lOJywKCQkJICAgICAnSW5kb25lc2lhJz0+J0lEJywKCQkJICAgICAnSXJhbic9PidJUicsCgkJCSAgICAgJ0lyYXEnPT4nSVEnLAoJCQkgICAgICdJcmVsYW5kJz0+J0lFJywKCQkJICAgICAnSXNyYWVsJz0+J0lMJywKCQkJICAgICAnSXNsZSBvZiBNYW4nPT4nSU0nLAoJCQkgICAgICdJdGFseSc9PidJVCcsCgkJCSAgICAgJ0plcnNleSc9PidKRScsCgkJCSAgICAgJ0phbWFpY2EnPT4nSk0nLAoJCQkgICAgICdKYXBhbic9PidKUCcsCgkJCSAgICAgJ0pvcmRhbic9PidKTycsCgkJCSAgICAgJ0themFraHN0YW4nPT4nS1onLAoJCQkgICAgICdLZW55YSc9PidLRScsCgkJCSAgICAgJ0tpcmliYXRpJz0+J0tJJywKCQkJICAgICAnS29yZWEgKE5vcnRoKSc9PidLUCcsCgkJCSAgICAgJ0tvcmVhIChTb3V0aCknPT4nS1InLAoJCQkgICAgICdLdXdhaXQnPT4nS1cnLAoJCQkgICAgICdLeXJneXpzdGFuJz0+J0tHJywKCQkJICAgICAnTGFvcyc9PidMQScsCgkJCSAgICAgJ0xhdHZpYSc9PidMVicsCgkJCSAgICAgJ0xlYmFub24nPT4nTEInLAoJCQkgICAgICdMaWVjaHRlbnN0ZWluJz0+J0xJJywKCQkJICAgICAnTGliZXJpYSc9PidMUicsCgkJCSAgICAgJ0xpYnlhJz0+J0xZJywKCQkJICAgICAnTGVzb3Robyc9PidMUycsCgkJCSAgICAgJ0xpdGh1YW5pYSc9PidMVCcsCgkJCSAgICAgJ0x1eGVtYm91cmcnPT4nTFUnLAoJCQkgICAgICdNYWNhdSc9PidNTycsCgkJCSAgICAgJ01hZGFnYXNjYXInPT4nTUcnLAoJCQkgICAgICdNYWxhd2knPT4nTVcnLAoJCQkgICAgICdNYWxheXNpYSc9PidNWScsCgkJCSAgICAgJ01hbGRpdmVzJz0+J01WJywKCQkJICAgICAnTWFsaSc9PidNTCcsCgkJCSAgICAgJ01hbHRhJz0+J01UJywKCQkJICAgICAnTWFyc2hhbGwgSXNsYW5kcyc9PidNSCcsCgkJCSAgICAgJ01hcnRpbmlxdWUnPT4nTVEnLAoJCQkgICAgICdNYXVyaXRhbmlhJz0+J01SJywKCQkJICAgICAnTWF1cml0aXVzJz0+J01VJywKCQkJICAgICAnTWF5b3R0ZSc9PidZVCcsCgkJCSAgICAgJ01leGljbyc9PidNWCcsCgkJCSAgICAgJ01pY3JvbmVzaWEnPT4nRk0nLAoJCQkgICAgICdNb25hY28nPT4nTUMnLAoJCQkgICAgICdNb2xkb3ZhJz0+J01EJywKCQkJICAgICAnTW9yb2Njbyc9PidNQScsCgkJCSAgICAgJ01vbmdvbGlhJz0+J01OJywKCQkJICAgICAnTW9udHNlcnJhdCc9PidNUycsCgkJCSAgICAgJ01vemFtYmlxdWUnPT4nTVonLAoJCQkgICAgICdNeWFubWFyJz0+J01NJywKCQkJICAgICAnTmFtaWJpYSc9PidOQScsCgkJCSAgICAgJ05hdXJ1Jz0+J05SJywKCQkJICAgICAnTmVwYWwnPT4nTlAnLAoJCQkgICAgICdOZXRoZXJsYW5kcyc9PidOTCcsCgkJCSAgICAgJ05ldGhlcmxhbmRzIEFudGlsbGVzJz0+J0FOJywKCQkJICAgICAnTmV1dHJhbCBab25lJz0+J05UJywKCQkJICAgICAnTmV3IENhbGVkb25pYSc9PidOQycsCgkJCSAgICAgJ05ldyBaZWFsYW5kIChBb3RlYXJvYSknPT4nTlonLAoJCQkgICAgICdOaWNhcmFndWEnPT4nTkknLAoJCQkgICAgICdOaWdlcic9PidORScsCgkJCSAgICAgJ05pZ2VyaWEnPT4nTkcnLAoJCQkgICAgICdOaXVlJz0+J05VJywKCQkJICAgICAnTm9yZm9sayBJc2xhbmQnPT4nTkYnLAoJCQkgICAgICdOb3J0aGVybiBNYXJpYW5hIElzbGFuZHMnPT4nTVAnLAoJCQkgICAgICdOb3J3YXknPT4nTk8nLAoJCQkgICAgICdPbWFuJz0+J09NJywKCQkJICAgICAnUGFraXN0YW4nPT4nUEsnLAoJCQkgICAgICdQYWxhdSc9PidQVycsCgkJCSAgICAgJ1BhbGVzdGluaWFuIFRlcnJpdG9yeSc9PidQUycsCgkJCSAgICAgJ1BhbmFtYSc9PidQQScsCgkJCSAgICAgJ1BhcHVhIE5ldyBHdWluZWEnPT4nUEcnLAoJCQkgICAgICdQYXJhZ3VheSc9PidQWScsCgkJCSAgICAgJ1BlcnUnPT4nUEUnLAoJCQkgICAgICdQaGlsaXBwaW5lcyc9PidQSCcsCgkJCSAgICAgJ1BpdGNhaXJuJz0+J1BOJywKCQkJICAgICAnUG9sYW5kJz0+J1BMJywKCQkJICAgICAnUG9ydHVnYWwnPT4nUFQnLAoJCQkgICAgICdQdWVydG8gUmljbyc9PidQUicsCgkJCSAgICAgJ1FhdGFyJz0+J1FBJywKCQkJICAgICAnUmV1bmlvbic9PidSRScsCgkJCSAgICAgJ1JvbWFuaWEnPT4nUk8nLAoJCQkgICAgICdSdXNzaWFuIEZlZGVyYXRpb24nPT4nUlUnLAoJCQkgICAgICdSd2FuZGEnPT4nUlcnLAoJCQkgICAgICdTLiBHZW9yZ2lhIGFuZCBTLiBTYW5kd2ljaCBJc2xzLic9PidHUycsCgkJCSAgICAgJ1NhaW50IEtpdHRzIGFuZCBOZXZpcyc9PidLTicsCgkJCSAgICAgJ1NhaW50IEx1Y2lhJz0+J0xDJywKCQkJICAgICAnU2FpbnQgVmluY2VudCAmYW1wOyB0aGUgR3JlbmFkaW5lcyc9PidWQycsCgkJCSAgICAgJ1NhbW9hJz0+J1dTJywKCQkJICAgICAnU2FuIE1hcmlubyc9PidTTScsCgkJCSAgICAgJ1NhbyBUb21lIGFuZCBQcmluY2lwZSc9PidTVCcsCgkJCSAgICAgJ1NhdWRpIEFyYWJpYSc9PidTQScsCgkJCSAgICAgJ1NlbmVnYWwnPT4nU04nLAoJCQkgICAgICdTZXljaGVsbGVzJz0+J1NDJywKCQkJICAgICAnU2llcnJhIExlb25lJz0+J1NMJywKCQkJICAgICAnU2luZ2Fwb3JlJz0+J1NHJywKCQkJICAgICAnU2xvdmVuaWEnPT4nU0knLAoJCQkgICAgICdTbG92YWsgUmVwdWJsaWMnPT4nU0snLAoJCQkgICAgICdTb2xvbW9uIElzbGFuZHMnPT4nU0InLAoJCQkgICAgICdTb21hbGlhJz0+J1NPJywKCQkJICAgICAnU291dGggQWZyaWNhJz0+J1pBJywKCQkJICAgICAnU3BhaW4nPT4nRVMnLAoJCQkgICAgICdTcmkgTGFua2EnPT4nTEsnLAoJCQkgICAgICdTdC4gSGVsZW5hJz0+J1NIJywKCQkJICAgICAnU3QuIFBpZXJyZSBhbmQgTWlxdWVsb24gJz0+J1BNJywKCQkJICAgICAnU3VkYW4nPT4nU0QnLAoJCQkgICAgICdTdXJpbmFtZSc9PidTUicsCgkJCSAgICAgJ1N2YWxiYXJkICZhbXA7IEphbiBNYXllbiBJc2xhbmRzJz0+J1NKJywKCQkJICAgICAnU3dhemlsYW5kJz0+J1NaJywKCQkJICAgICAnU3dlZGVuJz0+J1NFJywKCQkJICAgICAnU3dpdHplcmxhbmQnPT4nQ0gnLAoJCQkgICAgICdTeXJpYSc9PidTWScsCgkJCSAgICAgJ1RhaXdhbic9PidUVycsCgkJCSAgICAgJ1RhamlraXN0YW4nPT4nVEonLAoJCQkgICAgICdUYW56YW5pYSc9PidUWicsCgkJCSAgICAgJ1RoYWlsYW5kJz0+J1RIJywKCQkJICAgICAnVG9nbyc9PidURycsCgkJCSAgICAgJ1Rva2VsYXUnPT4nVEsnLAoJCQkgICAgICdUb25nYSc9PidUTycsCgkJCSAgICAgJ1RyaW5pZGFkIGFuZCBUb2JhZ28nPT4nVFQnLAoJCQkgICAgICdUdW5pc2lhJz0+J1ROJywKCQkJICAgICAnVHVya2V5Jz0+J1RSJywKCQkJICAgICAnVHVya21lbmlzdGFuJz0+J1RNJywKCQkJICAgICAnVHVya3MgYW5kIENhaWNvcyBJc2xhbmRzJz0+J1RDJywKCQkJICAgICAnVHV2YWx1Jz0+J1RWJywKCQkJICAgICAnVWdhbmRhJz0+J1VHJywKCQkJICAgICAnVWtyYWluZSc9PidVQScsCgkJCSAgICAgJ1VuaXRlZCBBcmFiIEVtaXJhdGVzJz0+J0FFJywKCQkJICAgICAnVW5pdGVkIEtpbmdkb20nPT4nVUsnLAoJCQkgICAgICdVbml0ZWQgU3RhdGVzJz0+J1VTJywKCQkJICAgICAnVVMgTWlub3IgT3V0bHlpbmcgSXNsYW5kcyc9PidVTScsCgkJCSAgICAgJ1VydWd1YXknPT4nVVknLAoJCQkgICAgICdVemJla2lzdGFuJz0+J1VaJywKCQkJICAgICAnVmFudWF0dSc9PidWVScsCgkJCSAgICAgJ1ZhdGljYW4gQ2l0eSBTdGF0ZSAoSG9seSBTZWUpJz0+J1ZBJywKCQkJICAgICAnVmVuZXp1ZWxhJz0+J1ZFJywKCQkJICAgICAnVmlldCBOYW0nPT4nVk4nLAoJCQkgICAgICdWaXJnaW4gSXNsYW5kcyAoQnJpdGlzaCknPT4nVkcnLAoJCQkgICAgICdWaXJnaW4gSXNsYW5kcyAoVS5TLiknPT4nVkknLAoJCQkgICAgICdXYWxsaXMgYW5kIEZ1dHVuYSBJc2xhbmRzJz0+J1dGJywKCQkJICAgICAnV2VzdGVybiBTYWhhcmEnPT4nRUgnLAoJCQkgICAgICdZZW1lbic9PidZRScsCgkJCSAgICAgJ1l1Z29zbGF2aWEnPT4nWVUnLAoJCQkgICAgICdaYW1iaWEnPT4nWk0nLAoJCQkgICAgICdaaW1iYWJ3ZSc9PidaVycgKTsKCiAgfQoKCiAgZnVuY3Rpb24gU3RhdHVzSW5mbygpCiAgewogICAgaWYgKGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCR0aGlzLT5WYWxpZGF0aW9uVHlwZSkpCiAgICAgIHsKCXJldHVybiBhcnJheV9zZWFyY2goJHRoaXMtPlZhbGlkYXRpb25UeXBlLCR0aGlzLT5WYWxpZGF0aW9uVHlwZXMpOwogICAgICB9CiAgfQoKICBmdW5jdGlvbiBXcml0ZVRvUHVibGljRm9ybSgkaWQsICYkcGFyYW1zLCAkcmV0dXJuX2lkKQogIHsKICAgICRtb2R1bGUgPSYgJHRoaXMtPm1vZF9nbG9iYWxzLT5zZWxmcHRyOwogICAgJGRlZlZhbHMgPSAkdGhpcy0+R2V0T3B0aW9uQnlLaW5kKCdkZWZhdWx0Jyk7CiAgICAkZGVmU2VsID0gJHRoaXMtPkdldE9wdGlvbkJ5S2luZCgnZGVmYXVsdHNlbCcpOwogICAgaWYgKHN0cmxlbigkdGhpcy0+Q1NTQ2xhc3MpPjApCiAgICAgIHsKCWVjaG8gIjxkaXYgY2xhc3M9XCIiLiR0aGlzLT5DU1NDbGFzcy4iXCI+IjsKICAgICAgfQoKICAgIGlmIChmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkZGVmVmFsc1swXS0+VmFsdWUpKQogICAgICB7CgkkdGhpcy0+Q291bnRyaWVzWyRkZWZWYWxzWzBdLT5WYWx1ZV09Jyc7CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJJHRoaXMtPkNvdW50cmllc1skdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ3NlbGVjdF9vbmUnKV09Jyc7CiAgICAgIH0KICAgIGFzb3J0KCR0aGlzLT5Db3VudHJpZXMpOwogICAgaWYgKCR0aGlzLT5WYWx1ZSA9PSAnJykKICAgICAgewoJJHRoaXMtPlZhbHVlID0gJGRlZlNlbFswXS0+VmFsdWU7CiAgICAgIH0KICAgIGVjaG8gJG1vZHVsZS0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICR0aGlzLT5BbGlhcywgJHRoaXMtPkNvdW50cmllcywgLTEsICR0aGlzLT5WYWx1ZSwkdGhpcy0+bW9kX2dsb2JhbHMtPlVzZUlEQW5kTmFtZT8naWQ9IicuJHRoaXMtPkFsaWFzLiciJzonJyk7CiAgICBpZiAoc3RybGVuKCR0aGlzLT5DU1NDbGFzcyk+MCkKICAgICAgewoJZWNobyAiPC9kaXY+IjsKICAgICAgfQogIH0KCiAgZnVuY3Rpb24gUmVuZGVyQWRtaW5Gb3JtKCRmb3JtRGVzY3JpcHRvcikKICB7CiAgICAkbW9kdWxlID0mICR0aGlzLT5tb2RfZ2xvYmFscy0+c2VsZnB0cjsKICAgICRkZWZWYWxzID0gJHRoaXMtPkdldE9wdGlvbkJ5S2luZCgnZGVmYXVsdCcpOwogICAgJGRlZlNlbCA9ICR0aGlzLT5HZXRPcHRpb25CeUtpbmQoJ2RlZmF1bHRzZWwnKTsKICAgIHJldHVybiBhcnJheSgKCQkgJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCd0aXRsZV9zZWxlY3RfZGVmYXVsdF9jb3VudHJ5JykuJzonPT4kbW9kdWxlLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRmb3JtRGVzY3JpcHRvciwgJ2RlZmF1bHRzZWwnLCAkdGhpcy0+Q291bnRyaWVzLCAtMSwgZmZVdGlsaXR5RnVuY3Rpb25zOjpkZWYoJGRlZlNlbFswXS0+VmFsdWUpPyRkZWZTZWxbMF0tPlZhbHVlOicnKSwKCQkgJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCd0aXRsZV9zZWxlY3Rfb25lX21lc3NhZ2UnKS4nOic9PiRtb2R1bGUtPkNyZWF0ZUlucHV0VGV4dCgkZm9ybURlc2NyaXB0b3IsICdkZWZhdWx0JywKCQkJCQkJCQkJCQkJICAgICAgZmZVdGlsaXR5RnVuY3Rpb25zOjpkZWYoJGRlZlZhbHNbMF0tPlZhbHVlKT8kdGhpcy0+TmVyZkhUTUwoJGRlZlZhbHNbMF0tPlZhbHVlKTonU2VsZWN0IE9uZScsMjUpKTsKICB9CgogIGZ1bmN0aW9uIEdldFZhbHVlKCkKICB7CiAgICBpZiAoZmZVdGlsaXR5RnVuY3Rpb25zOjpkZWYoJHRoaXMtPlZhbHVlKSkKICAgICAgewoJcmV0dXJuICR0aGlzLT5WYWx1ZTsKICAgICAgfQogICAgZWxzZQogICAgICB7CglyZXR1cm4gJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCd1bnNwZWNpZmllZCcpOwogICAgICB9CQogIH0KCgogIGZ1bmN0aW9uIFZhbGlkYXRlKCkKICB7CiAgICAkcmVzdWx0ID0gdHJ1ZTsKICAgICRtZXNzYWdlID0gJyc7CgogICAgc3dpdGNoICgkdGhpcy0+VmFsaWRhdGlvblR5cGUpCiAgICAgIHsKICAgICAgY2FzZSAnbm9uZSc6CglicmVhazsKICAgICAgY2FzZSAnc2VsZWN0ZWQnOgoJaWYgKCEgZmZVdGlsaXR5RnVuY3Rpb25zOjpkZWYoJHRoaXMtPlZhbHVlKSkKCSAgewoJICAgICRyZXN1bHQgPSBmYWxzZTsKCSAgICAkbWVzc2FnZSA9ICR0aGlzLT5tb2RfZ2xvYmFscy0+TGFuZygncGxlYXNlX3NlbGVjdF9zb21ldGhpbmcnKS4nICInLiR0aGlzLT5OYW1lLiciJzsKCSAgfQoJYnJlYWs7CiAgICAgIH0KICAgIHJldHVybiBhcnJheSgkcmVzdWx0LCAkbWVzc2FnZSk7CiAgfQoKfQoKPz4K]]></data>
	</file>
	<file>
	  <filename>/classes/DatePicker.class.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLy8gRmVlZGJhY2sgRm9ybS4gMDIvMjAwNSBTakcgPGZlZWRiYWNrZm9ybV9jbXNtb2R1bGVAZm9nYm91bmQubmV0PgovLyBBIE1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlLCAoYykyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKLy8gVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKCmNsYXNzIGZmRGF0ZVBpY2tlciBleHRlbmRzIGZmSW5wdXQgewoKICBmdW5jdGlvbiBmZkRhdGVQaWNrZXIoJiRtb2RfZ2xvYmFscywgJGZvcm1SZWYsICRwYXJhbXM9YXJyYXkoKSkKICB7CiAgICAkdGhpcy0+ZmZJbnB1dCgkbW9kX2dsb2JhbHMsICRmb3JtUmVmLCAkcGFyYW1zKTsKICAgICR0aGlzLT5UeXBlID0gJ0RhdGVQaWNrZXInOwogICAgJHRoaXMtPkRpc3BsYXlUeXBlID0gJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCdmaWVsZF90eXBlX2RhdGUnKTsKICAgICR0aGlzLT5WYWxpZGF0aW9uVHlwZXMgPSBhcnJheSgKCQkJCSAgICR0aGlzLT5tb2RfZ2xvYmFscy0+TGFuZygndmFsaWRhdGlvbl9ub25lJyk9Pidub25lJwoJCQkJICAgKTsKICAgIGlmIChmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkcGFyYW1zWydkYXRlZm9ybWF0J10pKQogICAgICB7CgkkdGhpcy0+QWRkT3B0aW9uKCdkYXRlZm9ybWF0JywnZGF0ZWZvcm1hdCcsJHBhcmFtc1snZGF0ZWZvcm1hdCddKTsKICAgICAgfQogICAgJHRoaXMtPk1vbnRocyA9IGFycmF5KAoJCQkgICR0aGlzLT5tb2RfZ2xvYmFscy0+TGFuZygnZGF0ZV9qYW51YXJ5Jyk9PjEsCgkJCSAgJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCdkYXRlX2ZlYnJ1YXJ5Jyk9PjIsCgkJCSAgJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCdkYXRlX21hcmNoJyk9PjMsCgkJCSAgJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCdkYXRlX2FwcmlsJyk9PjQsCgkJCSAgJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCdkYXRlX21heScpPT41LAoJCQkgICR0aGlzLT5tb2RfZ2xvYmFscy0+TGFuZygnZGF0ZV9qdW5lJyk9PjYsCgkJCSAgJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCdkYXRlX2p1bHknKT0+NywKCQkJICAkdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ2RhdGVfYXVndXN0Jyk9PjgsCgkJCSAgJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCdkYXRlX3NlcHRlbWJlcicpPT45LAoJCQkgICR0aGlzLT5tb2RfZ2xvYmFscy0+TGFuZygnZGF0ZV9vY3RvYmVyJyk9PjEwLAoJCQkgICR0aGlzLT5tb2RfZ2xvYmFscy0+TGFuZygnZGF0ZV9ub3ZlbWJlcicpPT4xMSwKCQkJICAkdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ2RhdGVfZGVjZW1iZXInKT0+MTIpOwogIH0KCgogIGZ1bmN0aW9uIFN0YXR1c0luZm8oKQogIHsKICAgIGlmIChmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkdGhpcy0+VmFsaWRhdGlvblR5cGUpKQogICAgICB7CglyZXR1cm4gYXJyYXlfc2VhcmNoKCR0aGlzLT5WYWxpZGF0aW9uVHlwZSwkdGhpcy0+VmFsaWRhdGlvblR5cGVzKTsKICAgICAgfQogIH0KCiAgZnVuY3Rpb24gV3JpdGVUb1B1YmxpY0Zvcm0oJGlkLCAmJHBhcmFtcywgJHJldHVybl9pZCkKICB7CiAgICAkbW9kdWxlID0mICR0aGlzLT5tb2RfZ2xvYmFscy0+c2VsZnB0cjsKICAgIGlmIChzdHJsZW4oJHRoaXMtPkNTU0NsYXNzKT4wKQogICAgICB7CgllY2hvICI8ZGl2IGNsYXNzPVwiIi4kdGhpcy0+Q1NTQ2xhc3MuIlwiPiI7CiAgICAgIH0KICAgICR0b2RheSA9IGdldGRhdGUoKTsKICAgICREYXlzID0gYXJyYXkoKTsKICAgIGZvciAoJGk9MTskaTwzMjskaSsrKQogICAgICB7CgkkRGF5c1skaV09JGk7CiAgICAgIH0KICAgICRZZWFyID0gYXJyYXkoKTsKICAgIGZvciAoJGk9JHRvZGF5Wyd5ZWFyJ10tMTA7JGk8JHRvZGF5Wyd5ZWFyJ10rMTA7JGkrKykKICAgICAgewoJJFllYXJbJGldPSRpOwogICAgICB9CiAgICBpZiAoaXNzZXQoJHBhcmFtc1skdGhpcy0+QWxpYXNdKSAmJiBpc19hcnJheSgkcGFyYW1zWyR0aGlzLT5BbGlhc10pKQogICAgICB7CgkkdG9kYXlbJ21kYXknXSA9ICRwYXJhbXNbJHRoaXMtPkFsaWFzXVswXTsKCSR0b2RheVsnbW9uJ10gPSAkcGFyYW1zWyR0aGlzLT5BbGlhc11bMV07CgkkdG9kYXlbJ3llYXInXSA9ICRwYXJhbXNbJHRoaXMtPkFsaWFzXVsyXTsJCQkKICAgICAgfQoKICAgIGVjaG8gJG1vZHVsZS0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICR0aGlzLT5BbGlhcy4nW10nLCAkRGF5cywgLTEsICR0b2RheVsnbWRheSddLCR0aGlzLT5tb2RfZ2xvYmFscy0+VXNlSURBbmROYW1lPydpZD0iJy4kdGhpcy0+QWxpYXMuJ19kIic6JycpOwogICAgZWNobyAkbW9kdWxlLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwgJHRoaXMtPkFsaWFzLidbXScsICR0aGlzLT5Nb250aHMsIC0xLCAkdG9kYXlbJ21vbiddLCR0aGlzLT5tb2RfZ2xvYmFscy0+VXNlSURBbmROYW1lPydpZD0iJy4kdGhpcy0+QWxpYXMuJ19tIic6JycpOwogICAgZWNobyAkbW9kdWxlLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwgJHRoaXMtPkFsaWFzLidbXScsICRZZWFyLCAtMSwgJHRvZGF5Wyd5ZWFyJ10sJHRoaXMtPm1vZF9nbG9iYWxzLT5Vc2VJREFuZE5hbWU/J2lkPSInLiR0aGlzLT5BbGlhcy4nX3kiJzonJyk7CiAgICBpZiAoc3RybGVuKCR0aGlzLT5DU1NDbGFzcyk+MCkKICAgICAgewoJZWNobyAiPC9kaXY+IjsKICAgICAgfQogIH0KCiAgZnVuY3Rpb24gR2V0VmFsdWUoKQogIHsKICAgIGlmIChmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkdGhpcy0+VmFsdWUpKQogICAgICB7CgkkZm9ybWF0ID0gJHRoaXMtPkdldE9wdGlvbkJ5S2luZCgnZGF0ZWZvcm1hdCcpOwoJJHRoZURhdGUgPSBta3RpbWUgKCAxLCAxLCAxLCAkdGhpcy0+VmFsdWVbMV0sICAkdGhpcy0+VmFsdWVbMF0sICR0aGlzLT5WYWx1ZVsyXSApOwoJcmV0dXJuIGRhdGUoZmZVdGlsaXR5RnVuY3Rpb25zOjpkZWYoJGZvcm1hdFswXS0+VmFsdWUpPyRmb3JtYXRbMF0tPlZhbHVlOidqIEYgWScsICR0aGVEYXRlKTsKICAgICAgfQogICAgZWxzZQogICAgICB7CglyZXR1cm4gJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCd1bnNwZWNpZmllZCcpOwogICAgICB9CQogIH0KCiAgZnVuY3Rpb24gUmVuZGVyQWRtaW5Gb3JtKCRmb3JtRGVzY3JpcHRvcikKICB7CiAgICAkbW9kdWxlID0mICR0aGlzLT5tb2RfZ2xvYmFscy0+c2VsZnB0cjsKICAgICRmb3JtYXQgPSAkdGhpcy0+R2V0T3B0aW9uQnlLaW5kKCdkYXRlZm9ybWF0Jyk7CiAgICByZXR1cm4gYXJyYXkoJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCd0aXRsZV9kYXRlX2Zvcm1hdCcpLic6Jz0+JG1vZHVsZS0+Q3JlYXRlSW5wdXRUZXh0KCRmb3JtRGVzY3JpcHRvciwgJ2RhdGVmb3JtYXQnLAoJCQkJCQkJCQkJCSAgICAgICBmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkZm9ybWF0WzBdLT5WYWx1ZSk/JHRoaXMtPk5lcmZIVE1MKCRmb3JtYXRbMF0tPlZhbHVlKTonaiBGIFknLDI1KSk7CiAgfQoKCgogIGZ1bmN0aW9uIFZhbGlkYXRlKCkKICB7CiAgICAkcmVzdWx0ID0gdHJ1ZTsKICAgICRtZXNzYWdlID0gJyc7CgogICAgc3dpdGNoICgkdGhpcy0+VmFsaWRhdGlvblR5cGUpCiAgICAgIHsKICAgICAgY2FzZSAnbm9uZSc6CglicmVhazsKICAgICAgfQogICAgcmV0dXJuIGFycmF5KCRyZXN1bHQsICRtZXNzYWdlKTsKICB9Cgp9Cgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/classes/DispositionDirector.class.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLy8gRmVlZGJhY2sgRm9ybS4gMDIvMjAwNSBTakcgPGZlZWRiYWNrZm9ybV9jbXNtb2R1bGVAZm9nYm91bmQubmV0PgovLyBBIE1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlLCAoYykyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKLy8gVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKCnJlcXVpcmVfb25jZSgnRGlzcG9zaXRpb25FbWFpbEJhc2UuY2xhc3MucGhwJyk7CgpjbGFzcyBmZkRpc3Bvc2l0aW9uRGlyZWN0b3IgZXh0ZW5kcyBmZkRpc3Bvc2l0aW9uRW1haWxCYXNlIHsKCiAgZnVuY3Rpb24gZmZEaXNwb3NpdGlvbkRpcmVjdG9yKCYkbW9kX2dsb2JhbHMsICRmb3JtUmVmLCAkcGFyYW1zPWFycmF5KCkpCiAgewogICAgJHRoaXMtPmZmRGlzcG9zaXRpb25FbWFpbEJhc2UoJG1vZF9nbG9iYWxzLCAkZm9ybVJlZiwgJHBhcmFtcyk7CiAgICAkdGhpcy0+VHlwZSA9ICdEaXNwb3NpdGlvbkRpcmVjdG9yJzsKICAgICR0aGlzLT5EaXNwbGF5SW5Gb3JtID0gdHJ1ZTsKICAgICR0aGlzLT5EaXNwbGF5VHlwZSA9ICR0aGlzLT5tb2RfZ2xvYmFscy0+TGFuZygnZmllbGRfdHlwZV9kaXNwb3NpdGlvbl9kaXJlY3RvcicpOwogICAgJHRoaXMtPmFkZExpc3RQYXJhbSgnZGlyZWN0b3InLCAnc3ViamVjdCcsICdhZGRyZXNzJywgJHBhcmFtcyk7CiAgICAkdGhpcy0+VmFsaWRhdGlvblR5cGVzID0gYXJyYXkoCgkJCQkgICAkdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ3ZhbGlkYXRpb25fb3B0aW9uX3NlbGVjdGVkJyk9PidzZWxlY3RlZCcKCQkJCSAgICk7CiAgICAkdGhpcy0+VmFsaWRhdGlvblR5cGUgPSAnc2VsZWN0ZWQnOwogICAgaWYgKGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCRwYXJhbXNbJ2RlZmF1bHQnXSkpCiAgICAgIHsKCSR0aGlzLT5BZGRPcHRpb24oJ2RlZmF1bHQnLCdkZWZhdWx0JywkcGFyYW1zWydkZWZhdWx0J10pOwogICAgICB9CiAgfQoKCiAgZnVuY3Rpb24gU3RhdHVzSW5mbygpCiAgewogICAgJG9wdFZhbHMgPSAkdGhpcy0+R2V0T3B0aW9uQnlLaW5kKCdkaXJlY3RvcicpOwogICAgJHJldCA9IGNvdW50KCRvcHRWYWxzKTsKICAgICRyZXQuPSAiICIuJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCdjaG9pY2VzJyk7CiAgICAkcmV0IC49ICR0aGlzLT5UZW1wbGF0ZVN0YXR1cygpOwogICAgcmV0dXJuICRyZXQ7CiAgfQoKICBmdW5jdGlvbiBXcml0ZVRvUHVibGljRm9ybSgkaWQsICYkcGFyYW1zLCAkcmV0dXJuX2lkKQogIHsKICAgICRtb2R1bGUgPSYgJHRoaXMtPm1vZF9nbG9iYWxzLT5zZWxmcHRyOwogICAgaWYgKHN0cmxlbigkdGhpcy0+Q1NTQ2xhc3MpPjApCiAgICAgIHsKCWVjaG8gIjxkaXYgY2xhc3M9XCIiLiR0aGlzLT5DU1NDbGFzcy4iXCI+IjsKICAgICAgfQogICAgJG9wdFZhbHMgPSAkdGhpcy0+R2V0T3B0aW9uQnlLaW5kKCdkaXJlY3RvcicpOwogICAgJGRlZlZhbHMgPSAkdGhpcy0+R2V0T3B0aW9uQnlLaW5kKCdkZWZhdWx0Jyk7CiAgICBpZiAoZmZVdGlsaXR5RnVuY3Rpb25zOjpkZWYoJGRlZlZhbHNbMF0tPlZhbHVlKSkKICAgICAgewoJJG9wdHMgPSBhcnJheSgkZGVmVmFsc1swXS0+VmFsdWU9PicnKTsKICAgICAgfQogICAgZWxzZQogICAgICB7Cgkkb3B0cyA9IGFycmF5KCR0aGlzLT5tb2RfZ2xvYmFscy0+TGFuZygnc2VsZWN0X29uZScpPT4nJyk7CiAgICAgIH0KICAgICRkaXNwUm93cyA9IGNvdW50KCRvcHRWYWxzKTsKICAgIGZvcigkaT0wOyRpPCRkaXNwUm93czskaSsrKQogICAgICB7Cgkkb3B0c1skdGhpcy0+TmVyZkhUTUwoJG9wdFZhbHNbJGldLT5OYW1lKV09JG9wdFZhbHNbJGldLT5PcHRpb25JZDsKICAgICAgfQogICAgICAgIAkKICAgIGVjaG8gJG1vZHVsZS0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICR0aGlzLT5BbGlhcywgJG9wdHMsIC0xLCAkdGhpcy0+VmFsdWUsJHRoaXMtPm1vZF9nbG9iYWxzLT5Vc2VJREFuZE5hbWU/J2lkPSInLiR0aGlzLT5BbGlhcy4nIic6JycpOwogICAgaWYgKHN0cmxlbigkdGhpcy0+Q1NTQ2xhc3MpPjApCiAgICAgIHsKCWVjaG8gIjwvZGl2PiI7CiAgICAgIH0KICB9CgoKCiAgLy8gU2VuZCBvZmYgdGhvc2UgZW1haWxzCiAgZnVuY3Rpb24gRGlzcG9zZUZvcm0oJGZvcm1OYW1lLCAmJGNvbmZpZywgJHJlc3VsdHMpCiAgewogICAgLy8gYSB0b3VjaCB1Z2x5LCBzaW5jZSB3ZSdyZSByZXdpcmluZyBldmVyeXRoaW5nIHRvIHVzZSBhIGJhc2UgY2xhc3MuCiAgICAkb3B0ID0gJHRoaXMtPkdldE9wdGlvbkJ5SWQoJHRoaXMtPlZhbHVlKTsKICAgICR0aGlzLT5BZGRPcHRpb24oJ2FkZHJlc3MnLCdhZGRyZXNzJywkb3B0WzBdLT5WYWx1ZSk7CiAgICByZXR1cm4gJHRoaXMtPlNlbmRGb3JtKCRmb3JtTmFtZSwgJGNvbmZpZywgJHJlc3VsdHMpOwogIH0KCgogIGZ1bmN0aW9uIFJlbmRlckFkbWluRm9ybSgkZm9ybURlc2NyaXB0b3IpCiAgewogICAgJG1vZHVsZSA9JiAkdGhpcy0+bW9kX2dsb2JhbHMtPnNlbGZwdHI7CiAgICAkb3B0VmFscyA9ICR0aGlzLT5HZXRPcHRpb25CeUtpbmQoJ2RpcmVjdG9yJyk7CiAgICAkZGVmVmFscyA9ICR0aGlzLT5HZXRPcHRpb25CeUtpbmQoJ2RlZmF1bHQnKTsKICAgICRyZXQgPSAnPHRhYmxlPjx0cj48dGg+Jy4kdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ3RpdGxlX3NlbGVjdGlvbl9zdWJqZWN0JykuCiAgICAgICc8L3RoPjx0aD4nLiR0aGlzLT5tb2RfZ2xvYmFscy0+TGFuZygndGl0bGVfZGVzdGluYXRpb25fZW1haWwnKS4nPC90aD48L3RyPic7CiAgICAkZGlzcFJvd3MgPSBjb3VudCgkb3B0VmFscykrNDsKICAgIGZvcigkaT0wOyRpPCRkaXNwUm93czskaSsrKQogICAgICB7CgkkcmV0IC49ICc8dHI+PHRkPic7CgkkcmV0IC49ICRtb2R1bGUtPkNyZWF0ZUlucHV0VGV4dCgkZm9ybURlc2NyaXB0b3IsICdzdWJqZWN0W10nLAoJCQkJCSAgIGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCRvcHRWYWxzWyRpXS0+TmFtZSk/JHRoaXMtPk5lcmZIVE1MKCRvcHRWYWxzWyRpXS0+TmFtZSk6JycsMjUpOwoJJHJldCAuPSAnPC90ZD48dGQ+JzsKCSRyZXQgLj0gJG1vZHVsZS0+Q3JlYXRlSW5wdXRUZXh0KCRmb3JtRGVzY3JpcHRvciwgJ2FkZHJlc3NbXScsCgkJCQkJICAgZmZVdGlsaXR5RnVuY3Rpb25zOjpkZWYoJG9wdFZhbHNbJGldLT5WYWx1ZSk/JHRoaXMtPk5lcmZIVE1MKCRvcHRWYWxzWyRpXS0+VmFsdWUpOicnLDI1KTsKCSRyZXQgLj0gJzwvdGQ+PC90cj4nOwogICAgICB9CiAgICAkcmV0IC49ICc8L3RhYmxlPic7CiAgICAkdG1wID0gYXJyYXkoJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCd0aXRsZV9zZWxlY3Rfb25lX21lc3NhZ2UnKS4KCQkgJzogJz0+JG1vZHVsZS0+Q3JlYXRlSW5wdXRUZXh0KCRmb3JtRGVzY3JpcHRvciwgJ2RlZmF1bHQnLAoJCQkJCQkgIGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCRkZWZWYWxzWzBdLT5WYWx1ZSk/JHRoaXMtPk5lcmZIVE1MKCRkZWZWYWxzWzBdLT5WYWx1ZSk6JHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCdzZWxlY3Rfb25lJyksMjUpLAoJCSAkdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ3RpdGxlX2RpcmVjdG9yX2RldGFpbHMnKS4nOic9PiRyZXQpOwogICAgJHRtcDIgPSAkdGhpcy0+UmVuZGVyQWRtaW5Gb3JtQmFzZSgkZm9ybURlc2NyaXB0b3IpOwogICAgZm9yZWFjaCAoJHRtcDIgYXMgJGtleT0+JHZhbCkKICAgICAgewoJJHRtcFska2V5XT0kdmFsOwogICAgICB9CiAgICByZXR1cm4gJHRtcDsKICB9CgogIGZ1bmN0aW9uIEFkbWluVmFsaWRhdGUoKQogIHsKICAgICRvcHQgPSAkdGhpcy0+R2V0T3B0aW9uQnlLaW5kKCdkaXJlY3RvcicpOwogICAgJHJldCA9IHRydWU7CiAgICAkbWVzc2FnZSA9ICcnOwogICAgaWYgKCR0aGlzLT5OYW1lRXhpc3RzKCkpCiAgICAgIHsKCSRyZXQgPSBmYWxzZTsKCSRtZXNzYWdlID0gJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCdmaWVsZF9uYW1lX2luX3VzZTEnKS4nICInLiR0aGlzLT5OYW1lLgoJICAnIiAnLiR0aGlzLT5tb2RfZ2xvYmFscy0+TGFuZygnZmllbGRfbmFtZV9pbl91c2UyJykuJzxici8+JzsKICAgICAgfQogICAgaWYgKGNvdW50KCRvcHQpID09IDApCiAgICAgIHsKCSRyZXQgPSBmYWxzZTsKCSRtZXNzYWdlIC49ICR0aGlzLT5tb2RfZ2xvYmFscy0+TGFuZygnbXVzdF9zcGVjaWZ5X29uZV9kZXN0aW5hdGlvbicpLic8L2JyPic7CiAgICAgIH0KICAgIGZvcigkaT0wOyRpPGNvdW50KCRvcHQpOyRpKyspCiAgICAgIHsKCWlmICghIHByZWdfbWF0Y2goIi9eKFtcd1xkXC5cLVxfXSkrXEAoW1x3XGRcLlwtXF9dKylcLihcdyspJC9pIiwgJG9wdFskaV0tPlZhbHVlKSkKCSAgewoJICAgICRyZXQgPSBmYWxzZTsKCSAgICAkbWVzc2FnZSAuPSAnIicuJG9wdFskaV0tPlZhbHVlIC4gJyIgJy4kdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ25vdF92YWxpZF9lbWFpbCcpLic8YnIvPic7CgkgIH0KICAgICAgfQogICAgcmV0dXJuIGFycmF5KCRyZXQsJG1lc3NhZ2UpOwogIH0KCgogIGZ1bmN0aW9uIFZhbGlkYXRlKCkKICB7CiAgICAkcmVzdWx0ID0gdHJ1ZTsKICAgICRtZXNzYWdlID0gJyc7CgogICAgc3dpdGNoICgkdGhpcy0+VmFsaWRhdGlvblR5cGUpCiAgICAgIHsKICAgICAgY2FzZSAnbm9uZSc6CglicmVhazsKICAgICAgY2FzZSAnc2VsZWN0ZWQnOgoJaWYgKCEgZmZVdGlsaXR5RnVuY3Rpb25zOjpkZWYoJHRoaXMtPlZhbHVlKSkKCSAgewoJICAgICRyZXN1bHQgPSBmYWxzZTsKCSAgICAkbWVzc2FnZSA9ICR0aGlzLT5tb2RfZ2xvYmFscy0+TGFuZygncGxlYXNlX3NlbGVjdF9zb21ldGhpbmcnKS4nICInLiR0aGlzLT5OYW1lLiciJzsKCSAgfQoJYnJlYWs7CiAgICAgIH0KICAgIHJldHVybiBhcnJheSgkcmVzdWx0LCAkbWVzc2FnZSk7CiAgfQoKfQo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/classes/DispositionEmail.class.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLy8gRmVlZGJhY2sgRm9ybS4gMDIvMjAwNSBTakcgPGZlZWRiYWNrZm9ybV9jbXNtb2R1bGVAZm9nYm91bmQubmV0PgovLyBBIE1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlLCAoYykyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKLy8gVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKCnJlcXVpcmVfb25jZSgnRGlzcG9zaXRpb25FbWFpbEJhc2UuY2xhc3MucGhwJyk7CgpjbGFzcyBmZkRpc3Bvc2l0aW9uRW1haWwgZXh0ZW5kcyBmZkRpc3Bvc2l0aW9uRW1haWxCYXNlIHsKCiAgZnVuY3Rpb24gZmZEaXNwb3NpdGlvbkVtYWlsKCYkbW9kX2dsb2JhbHMsICRmb3JtUmVmLCAkcGFyYW1zPWFycmF5KCkpCiAgewogICAgJHRoaXMtPmZmRGlzcG9zaXRpb25FbWFpbEJhc2UoJG1vZF9nbG9iYWxzLCAkZm9ybVJlZiwgJHBhcmFtcyk7CiAgICAkdGhpcy0+VHlwZSA9ICdEaXNwb3NpdGlvbkVtYWlsJzsKICAgICR0aGlzLT5EaXNwbGF5VHlwZSA9ICR0aGlzLT5tb2RfZ2xvYmFscy0+TGFuZygnZmllbGRfdHlwZV9kaXNwb3NpdGlvbl9lbWFpbCcpOwoKICAgICR0aGlzLT5hZGRMaXN0UGFyYW0oJ2FkZHJlc3MnLCAnYWRkcmVzcycsICdhZGRyZXNzJywgJHBhcmFtcyk7CiAgfQoKICBmdW5jdGlvbiBTdGF0dXNJbmZvKCkKICB7CiAgICAkb3B0ID0gJHRoaXMtPkdldE9wdGlvbkJ5S2luZCgnYWRkcmVzcycpOwogICAgJHJldD0gJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCd0bycpLiI6ICI7CiAgICBpZiAoZmZVdGlsaXR5RnVuY3Rpb25zOjpkZWYoJG9wdFswXS0+VmFsdWUpKQogICAgICB7CglpZiAoY291bnQoJG9wdCk+MSkKCSAgewoJICAgICRyZXQuPSBjb3VudCgkb3B0KTsKCSAgICAkcmV0Lj0gIiAiLiR0aGlzLT5tb2RfZ2xvYmFscy0+TGFuZygncmVjaXBpZW50cycpOwoJICB9CgllbHNlCgkgIHsKCSAgICAkcmV0Lj0gJG9wdFswXS0+VmFsdWU7CgkgIH0KICAgICAgfQogICAgZWxzZQogICAgICB7CgkkcmV0Lj0gJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCd1bnNwZWNpZmllZCcpOwogICAgICB9CiAgICAkcmV0Lj0gJHRoaXMtPlRlbXBsYXRlU3RhdHVzKCk7CiAgICByZXR1cm4gJHJldDsKICB9CgoKICAvLyBTZW5kIG9mZiB0aG9zZSBlbWFpbHMKICBmdW5jdGlvbiBEaXNwb3NlRm9ybSgkZm9ybU5hbWUsICYkY29uZmlnLCAkcmVzdWx0cykKICB7CiAgICByZXR1cm4gJHRoaXMtPlNlbmRGb3JtKCRmb3JtTmFtZSwgJGNvbmZpZywgJHJlc3VsdHMpOwogIH0KCgogIGZ1bmN0aW9uIFJlbmRlckFkbWluRm9ybSgkZm9ybURlc2NyaXB0b3IpCiAgewogICAgJG1vZHVsZSA9JiAkdGhpcy0+bW9kX2dsb2JhbHMtPnNlbGZwdHI7CiAgICAkb3B0ID0gJHRoaXMtPkdldE9wdGlvbkJ5S2luZCgnYWRkcmVzcycpOwogICAgJGRpc3BSb3dzID0gY291bnQoJG9wdCkrMjsKICAgICRyZXQgPSAnPHRhYmxlPic7CiAgICBmb3IoJGk9MDskaTwkZGlzcFJvd3M7JGkrKykKICAgICAgewoJJHJldCAuPSAnPHRyPjx0ZD4nOwoJJHJldCAuPSAkbW9kdWxlLT5DcmVhdGVJbnB1dFRleHQoJGZvcm1EZXNjcmlwdG9yLCAnYWRkcmVzc1tdJywKCQkJCQkgZmZVdGlsaXR5RnVuY3Rpb25zOjpkZWYoJG9wdFskaV0tPlZhbHVlKT8kdGhpcy0+TmVyZkhUTUwoJG9wdFskaV0tPlZhbHVlKTonJywyNSk7CiAgICAgIH0KICAgICRyZXQgLj0gJzwvdGFibGU+JzsKICAgICR0bXAgPSBhcnJheSgkdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ3RpdGxlX2VtYWlsX2FkZHJlc3NlcycpLic6Jz0+JHJldCk7CiAgICAkdG1wMiA9ICR0aGlzLT5SZW5kZXJBZG1pbkZvcm1CYXNlKCRmb3JtRGVzY3JpcHRvcik7CiAgICBmb3JlYWNoICgkdG1wMiBhcyAka2V5PT4kdmFsKQogICAgICB7CgkkdG1wWyRrZXldPSR2YWw7CiAgICAgIH0KICAgIHJldHVybiAkdG1wOwogIH0KCgogIGZ1bmN0aW9uIEFkbWluVmFsaWRhdGUoKQogIHsKICAgICRvcHQgPSAkdGhpcy0+R2V0T3B0aW9uQnlLaW5kKCdhZGRyZXNzJyk7CiAgICAkcmV0ID0gdHJ1ZTsKICAgICRtZXNzYWdlID0gJyc7CiAgICBpZiAoJHRoaXMtPk5hbWVFeGlzdHMoKSkKICAgICAgewoJJHJldCA9IGZhbHNlOwoJJG1lc3NhZ2UgPSAkdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ2ZpZWxkX25hbWVfaW5fdXNlMScpLicgIicuJHRoaXMtPk5hbWUuCgkgICciICcuJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCdmaWVsZF9uYW1lX2luX3VzZTInKS4nPGJyLz4nOwogICAgICB9CiAgICBpZiAoY291bnQoJG9wdCkgPT0gMCkKICAgICAgewoJJHJldCA9IGZhbHNlOwoJJG1lc3NhZ2UgLj0gJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCdtdXN0X3NwZWNpZnlfb25lX2Rlc3RpbmF0aW9uJykuJzwvYnI+JzsKICAgICAgfQogICAgZm9yKCRpPTA7JGk8Y291bnQoJG9wdCk7JGkrKykKICAgICAgewoJaWYgKCEgcHJlZ19tYXRjaCgiL14oW1x3XGRcLlwtXF9dKStcQChbXHdcZFwuXC1cX10rKVwuKFx3KykkL2kiLCAkb3B0WyRpXS0+VmFsdWUpKQoJICB7CgkgICAgJHJldCA9IGZhbHNlOwoJICAgICRtZXNzYWdlIC49ICciJy4kb3B0WyRpXS0+VmFsdWUgLiAnIiAnLiR0aGlzLT5tb2RfZ2xvYmFscy0+TGFuZygnbm90X3ZhbGlkX2VtYWlsJykuJzxici8+JzsKCSAgfQogICAgICB9CiAgICByZXR1cm4gYXJyYXkoJHJldCwkbWVzc2FnZSk7CiAgfQoKICBmdW5jdGlvbiBWYWxpZGF0ZSgpCiAgewogICAgcmV0dXJuIGFycmF5KHRydWUsICcnKTsKICB9Cgp9Cgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/classes/DispositionEmailBase.class.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLy8gRmVlZGJhY2sgRm9ybS4gMDIvMjAwNSBTakcgPGZlZWRiYWNrZm9ybV9jbXNtb2R1bGVAZm9nYm91bmQubmV0PgovLyBBIE1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlLCAoYykyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKLy8gVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKCmNsYXNzIGZmRGlzcG9zaXRpb25FbWFpbEJhc2UgZXh0ZW5kcyBmZklucHV0IHsKCiAgICB2YXIgJHNhbXBsZVRlbXBsYXRlQ29kZTsKCiAgICBmdW5jdGlvbiBmZkRpc3Bvc2l0aW9uRW1haWxCYXNlKCYkbW9kX2dsb2JhbHMsICRmb3JtUmVmLCAkcGFyYW1zPWFycmF5KCkpCiAgICB7CiAgICAgICR0aGlzLT5mZklucHV0KCRtb2RfZ2xvYmFscywgJGZvcm1SZWYsICRwYXJhbXMpOwogICAgICAkdGhpcy0+SXNEaXNwb3NpdGlvbiA9IHRydWU7CiAgICAgICR0aGlzLT5Jc1JlcXVpcmVkPSB0cnVlOwogICAgICAkdGhpcy0+RGlzcGxheUluRm9ybSA9IGZhbHNlOwogICAgICBpZiAoZmZVdGlsaXR5RnVuY3Rpb25zOjpkZWYoJHBhcmFtc1snZW1haWxfdGVtcGxhdGUnXSkpCgl7CgkgICR0aGlzLT5BZGRPcHRpb24oJ2VtYWlsX3RlbXBsYXRlJywnZW1haWxfdGVtcGxhdGUnLCRwYXJhbXNbJ2VtYWlsX3RlbXBsYXRlJ10pOwoJfQogICAgICAkdGhpcy0+ZGVmYXVsdFRlbXBsYXRlID0gIkZvcm0gTmFtZTogXCRzdWJfZm9ybV9uYW1lXG4iIC4KCSJTdWJtaXNzaW9uIERhdGU6IFwkc3ViX2RhdGVcblN1Ym1pc3Npb24gSG9zdDogXCRzdWJfaG9zdFxuIiAuCgkiU3VibWlzc2lvbiBTb3VyY2U6IFwkc3ViX3NvdXJjZV9pcFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIjsKICAgICAgJHRoaXMtPnNhbXBsZVRlbXBsYXRlQ29kZSA9ICI8c2NyaXB0IHR5cGU9XCJ0ZXh0L2phdmFzY3JpcHRcIj5cbgpmdW5jdGlvbiBwb3B1bGF0ZShmb3JtbmFtZSkKICAgIHsKICAgIHZhciBmbmFtZSA9ICdJRGVtYWlsX3RlbXBsYXRlJzsKICAgIGZvcm1uYW1lW2ZuYW1lXS52YWx1ZT1URU1QTEFURTsKICAgIH0KPC9zY3JpcHQ+CjxpbnB1dCB0eXBlPVwiYnV0dG9uXCIgdmFsdWU9XCJDcmVhdGUgU2FtcGxlIFRlbXBsYXRlXCIgb25DbGljaz1cImphdmFzY3JpcHQ6cG9wdWxhdGUodGhpcy5mb3JtKVwiIC8+IjsKICAgIH0KCiAgICAvLyBvdmVycmlkZSBtZSEKICAgIGZ1bmN0aW9uIFN0YXR1c0luZm8oKQogICAgewogICAgfQoKICAgIGZ1bmN0aW9uIFRlbXBsYXRlU3RhdHVzKCkKICAgIHsKICAgICAgJG9wdCA9ICR0aGlzLT5HZXRPcHRpb25CeUtpbmQoJ2VtYWlsX3RlbXBsYXRlJyk7CgogICAgICAkbWVzc2FnZSA9ICcnOwogICAgICBpZiAoZmZVdGlsaXR5RnVuY3Rpb25zOjpkZWYoJG9wdFswXS0+VmFsdWUpKQoJewoJICAkbWVzc2FnZSA9ICRvcHRbMF0tPlZhbHVlOwoJfQogICAgICBpZiAoJG1lc3NhZ2UgPT0gJycgfHwgJHRoaXMtPmRlZmF1bHRUZW1wbGF0ZSA9PSAkbWVzc2FnZSkKCXsKICAgICAgICAgIHJldHVybiAnPGJyIC8+PHN0cm9uZz5FbWFpbCBUZW1wbGF0ZSBoYXMgbm90IGJlZW4gc2V0ITwvc3Ryb25nPic7Cgl9CiAgICB9CgogICAgLy8gb3ZlcnJpZGUgbWUhCiAgICBmdW5jdGlvbiBEaXNwb3NlRm9ybSgkZm9ybU5hbWUsICYkY29uZmlnLCAkcmVzdWx0cykKICAgIHsKICAgIH0KCgogICAgZnVuY3Rpb24gTWFrZVZhcigkc3RyaW5nKQogICAgewogICAgICAkc3RyaW5nID0gc3RydG9sb3dlcihwcmVnX3JlcGxhY2UoJy9ccysvJywnXycsJHN0cmluZykpOwogICAgICAkc3RyaW5nID0gcHJlZ19yZXBsYWNlKCcvXFcvJywnJywkc3RyaW5nKTsKICAgICAgaWYgKHN0cmxlbigkc3RyaW5nKSA+IDEyKQoJewoJICAkc3RyaW5nID0gc3Vic3RyKCRzdHJpbmcsMCwxMik7CgkgICRwb3MgPSBzdHJycG9zKCRzdHJpbmcsJ18nKTsKCSAgaWYgKCRwb3MgIT09IGZhbHNlKQoJICAgIHsKCSAgICAgICRzdHJpbmcgPSBzdWJzdHIoJHN0cmluZywwLCRwb3MpOwoJICAgIH0KCX0KICAgICAgcmV0dXJuICRzdHJpbmc7CiAgICB9CgogICAgZnVuY3Rpb24gY3JlYXRlU2FtcGxlVGVtcGxhdGUoKQogICAgewogICAgICAkcmV0ID0gJHRoaXMtPmRlZmF1bHRUZW1wbGF0ZTsKICAgICAgJG90aGVycyA9ICR0aGlzLT5mb3JtUmVmLT5MaXN0U2F2ZWRGaWVsZHMoJHRoaXMtPkZvcm1JZCk7CiAgICAgIGZvcigkaT0wOyRpPGNvdW50KCRvdGhlcnMpOyRpKyspCgl7CgkgIGlmICgkb3RoZXJzWyRpXVsndHlwZSddICE9ICdQYWdlQnJlYWsnICYmICRvdGhlcnNbJGldWyd0eXBlJ10gIT0gJ0ZpbGVVcGxvYWQnKQoJICAgIHsKCSAgICAgICRyZXQgLj0gJG90aGVyc1skaV1bJ25hbWUnXSAuICc6IFwkJyAuICR0aGlzLT5NYWtlVmFyKCRvdGhlcnNbJGldWyduYW1lJ10pIC4gIlxuIjsKCSAgICB9Cgl9CiAgICAgIHJldHVybiAkcmV0OwogICAgfQoKICAgIC8vIFNlbmQgb2ZmIHRob3NlIGVtYWlscwogICAgZnVuY3Rpb24gU2VuZEZvcm0oJGZvcm1OYW1lLCAmJGNvbmZpZywgJHJlc3VsdHMpCiAgICB7CiAgICAgIGdsb2JhbCAkZ0NtczsKICAgICAgJG9wdCA9ICR0aGlzLT5HZXRPcHRpb25CeUtpbmQoJ2VtYWlsX3RlbXBsYXRlJyk7CgogICAgICAkbWVzc2FnZSA9ICRvcHRbMF0tPlZhbHVlOwoKICAgICAgaWYgKCRtZXNzYWdlID09ICcnKQoJewoJICAkbWVzc2FnZSA9ICR0aGlzLT5jcmVhdGVTYW1wbGVUZW1wbGF0ZSgpOwoJfQogICAgICAkbWVzc2FnZSA9IHByZWdfcmVwbGFjZSgnL1wkc3ViX2Zvcm1fbmFtZS8nLCRmb3JtTmFtZSwgJG1lc3NhZ2UpOwogICAgICAkbWVzc2FnZSA9IHByZWdfcmVwbGFjZSgnL1wkc3ViX2RhdGUvJyxkYXRlKCdyJyksICRtZXNzYWdlKTsKICAgICAgJG1lc3NhZ2UgPSBwcmVnX3JlcGxhY2UoJy9cJHN1Yl9ob3N0LycsJF9TRVJWRVJbJ1NFUlZFUl9OQU1FJ10sICRtZXNzYWdlKTsKICAgICAgJG1lc3NhZ2UgPSBwcmVnX3JlcGxhY2UoJy9cJHN1Yl9zb3VyY2VfaXAvJywkX1NFUlZFUlsnUkVNT1RFX0FERFInXSwgJG1lc3NhZ2UpOwoJCQogICAgICBmb3JlYWNoICgkcmVzdWx0cyBhcyAkcmVzKQoJewoJICAkcmVwbEtleSA9ICcvXCQnLiR0aGlzLT5NYWtlVmFyKCRyZXNbMF0pLicvaSc7CgkgICRyZXBsVmFsID0gJyc7CgkgIGlmIChpc19hcnJheSgkcmVzWzFdKSkKCSAgICB7CgkgICAgICBmb3JlYWNoKCRyZXNbMV0gYXMgJGVsZW0pCgkJewoJCSAgJHJlcGxWYWwgLj0gJGVsZW0gLiAiLCAiOwoJCX0KCSAgICAgICRyZXBsVmFsID0gcnRyaW0oJHJlcGxWYWwsIiwgIik7CgkgICAgfQoJICBlbHNlCgkgICAgewoJICAgICAgJHJlcGxWYWwgPSAkcmVzWzFdOwoJICAgIH0KCSAgaWYgKCRyZXBsVmFsID09ICcnKQoJICAgIHsKCSAgICAgICRyZXBsVmFsID0gJ1Vuc3BlY2lmaWVkJzsKCSAgICB9CgkgICRtZXNzYWdlID0gcHJlZ19yZXBsYWNlKCRyZXBsS2V5LCRyZXBsVmFsLCRtZXNzYWdlKTsKCX0KCiAgICAgIC8vIHNlbmQgdGhlIG1lc3NhZ2UuLi4KICAgICAgJG1haWwgPSAkdGhpcy0+bW9kX2dsb2JhbHMtPnNlbGZwdHItPkdldE1vZHVsZUluc3RhbmNlKCdDTVNNYWlsZXInKTsKICAgICAgaWYgKCRtYWlsID09IEZBTFNFKQoJewoJICBpZiAoISAkY29uZmlnLT5IaWRlRXJyb3JzKQoJICAgIHsKCSAgICAgIGVjaG8gJzxociAvPicuJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCdtaXNzaW5nX2Ntc19tYWlsZXInKS4gJzxociAvPic7CgkgICAgfSAKCSAgYXVkaXQoLTEsIChpc3NldCgkbmFtZSk/JG5hbWU6IiIpLCAnRmVlZGJhY2sgRm9ybSBFcnJvcjogJy4kdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ21pc3NpbmdfY21zX21haWxlcicpKTsKCgl9CiAgICAgICRtYWlsLT5yZXNldCgpOwogICAgICAkbWFpbC0+U2V0RnJvbSgkY29uZmlnLT5Gcm9tQWRkcmVzcyk7CiAgICAgICRtYWlsLT5TZXRGcm9tTmFtZSgkY29uZmlnLT5Gcm9tTmFtZSk7CgkJCiAgICAgICRzdWJqID0gJHRoaXMtPkdldE9wdGlvbkJ5S2luZCgnc3ViamVjdCcpOwogICAgICAkbWFpbC0+U2V0U3ViamVjdChmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkc3VialswXS0+VmFsdWUpPyRzdWJqWzBdLT5WYWx1ZTokdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ3N1Ym1pc3Npb25fc3ViamVjdCcpLiI6ICIuJGZvcm1OYW1lKTsKICAgICAgJG1haWwtPlNldEJvZHkoaHRtbF9lbnRpdHlfZGVjb2RlKCRtZXNzYWdlKSk7CiAgICAgICRtYWlsLT5TZXRDaGFyU2V0KCd1dGYtOCcpOwoKICAgICAgaWYgKGNvdW50KCRfRklMRVMpID4gMCkKCXsKCSAgZm9yZWFjaCAoJF9GSUxFUyBhcyAkdGhpc0ZpbGUpCgkgICAgewoJICAgICAgaWYgKCR0aGlzRmlsZVsnc2l6ZSddIDwgMSkKCQl7CgkJICBjb250aW51ZTsKCQl9CgkgICAgICBpZiAoISAkbWFpbC0+QWRkQXR0YWNobWVudCgkdGhpc0ZpbGVbJ3RtcF9uYW1lJ10sICR0aGlzRmlsZVsnbmFtZSddLCAiYmFzZTY0IiwgJHRoaXNGaWxlWyd0eXBlJ10pICYmICghICRjb25maWctPkhpZGVFcnJvcnMpKQoJCXsKCQkgIGVjaG8gJzxociAvPlVwbG9hZCBBdHRhY2htZW50IEVycm9yISc7CgkJICBlY2hvICR0aGlzRmlsZVsndG1wX25hbWUnXSAuICc8YnI+JzsKCQkgIGVjaG8gJHRoaXNGaWxlWyduYW1lJ10gLiAnPGJyPic7CgkJICBlY2hvICR0aGlzRmlsZVsndHlwZSddIC4gJzxocj4nOwoJCX0KCSAgICB9Cgl9CiAgICAgICRvcHQgPSAkdGhpcy0+R2V0T3B0aW9uQnlLaW5kKCdhZGRyZXNzJyk7CiAgICAgIGZvcmVhY2ggKCRvcHQgYXMgJHRoaXNEZXN0KQoJewogICAgICAgICAgJG1haWwtPkFkZEFkZHJlc3MoJHRoaXNEZXN0LT5WYWx1ZSk7Cgl9CgogICAgICAkcmVzID0gJG1haWwtPlNlbmQoKTsKICAgICAgaWYgKCEgJHJlcykKCXsKCSAgZWNobyAkdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ3N1Ym1pc3Npb25fZXJyb3InKTsKCSAgaWYgKCEgJGNvbmZpZy0+SGlkZUVycm9ycykKCSAgICB7CgkgICAgICBlY2hvICc8aHIgLz4nLiRtYWlsLT5HZXRFcnJvckluZm8oKS4gJzxociAvPic7CgkgICAgfSAKCSAgYXVkaXQoLTEsIChpc3NldCgkbmFtZSk/JG5hbWU6IiIpLCAnRmVlZGJhY2sgRm9ybSBFcnJvcjogJy4kbWFpbC0+R2V0RXJyb3JJbmZvKCkpOwoJfQogICAgICByZXR1cm4gJHJlczsKICAgIH0KCgogICAgZnVuY3Rpb24gUmVuZGVyQWRtaW5Gb3JtQmFzZSgkZm9ybURlc2NyaXB0b3IpCiAgICB7CiAgICAgICRtb2R1bGUgPSYgJHRoaXMtPm1vZF9nbG9iYWxzLT5zZWxmcHRyOwogICAgICAkb3B0ID0gJHRoaXMtPkdldE9wdGlvbkJ5S2luZCgnZW1haWxfdGVtcGxhdGUnKTsKICAgICAgJHJldCA9ICc8dGFibGUgYm9yZGVyPTE+PHRyPjx0aCBjb2xzcGFuPSIyIj5WYXJpYWJsZXMgRm9yIFRlbXBsYXRlPC90aD48L3RyPic7CiAgICAgICRyZXQgLj0gJzx0cj48dGQ+JHN1Yl9mb3JtX25hbWU8L3RkPjx0ZD5Gb3JtIE5hbWU8L3RkPjwvdHI+JzsKICAgICAgJHJldCAuPSAnPHRyPjx0ZD4kc3ViX2RhdGU8L3RkPjx0ZD5EYXRlIG9mIFN1Ym1pc3Npb24gRGF0ZTwvdGQ+PC90cj4nOwogICAgICAkcmV0IC49ICc8dHI+PHRkPiRzdWJfaG9zdDwvdGQ+PHRkPllvdXIgc2VydmVyPC90ZD48L3RyPic7CiAgICAgICRyZXQgLj0gJzx0cj48dGQ+JHN1Yl9zb3VyY2VfaXA8L3RkPjx0ZD5JUCBhZGRyZXNzIG9mIHBlcnNvbiB1c2luZyBmb3JtPC90ZD48L3RyPic7CiAgICAgICRvdGhlcnMgPSAkdGhpcy0+Zm9ybVJlZi0+TGlzdFNhdmVkRmllbGRzKCR0aGlzLT5Gb3JtSWQpOwogICAgICBmb3IoJGk9MDskaTxjb3VudCgkb3RoZXJzKTskaSsrKQoJewoJICBpZiAoJG90aGVyc1skaV1bJ3R5cGUnXSAhPSAnUGFnZUJyZWFrJyAmJiAkb3RoZXJzWyRpXVsndHlwZSddICE9ICdGaWxlVXBsb2FkJykKCSAgICB7CgkgICAgICAkcmV0IC49ICc8dHI+PHRkPiQnLiR0aGlzLT5NYWtlVmFyKCRvdGhlcnNbJGldWyduYW1lJ10pIC4gJzwvdGQ+PHRkPkZpZWxkOiAnLiAkb3RoZXJzWyRpXVsnbmFtZSddIC4gJzwvdGQ+PC90cj4nOwoJICAgIH0KCX0KICAgICAgJHJldCAuPSAnPHRyPjx0ZCBjb2xzcGFuPSIyIj5PdGhlciBmaWVsZHMgd2lsbCBiZSBhdmFpbGFibGUgYXMgeW91IGFkZCB0aGVtIHRvIHRoZSBmb3JtLjwvdGQ+PC90cj4nOwogICAgICAgIAogICAgICAkcmV0IC49ICc8L3RhYmxlPic7CiAgICAgICRlc2NhcGVkU2FtcGxlID0gcHJlZ19yZXBsYWNlKCcvXCcvJywiXFwnIiwkdGhpcy0+Y3JlYXRlU2FtcGxlVGVtcGxhdGUoKSk7CiAgICAgICRlc2NhcGVkU2FtcGxlID0gcHJlZ19yZXBsYWNlKCcvXG4vJywiXFxuJytcbiciLCAkZXNjYXBlZFNhbXBsZSk7CiAgICAgICR0aGlzLT5zYW1wbGVUZW1wbGF0ZUNvZGUgPSBwcmVnX3JlcGxhY2UoJy9URU1QTEFURS8nLCInIi4kZXNjYXBlZFNhbXBsZS4iJyIsJHRoaXMtPnNhbXBsZVRlbXBsYXRlQ29kZSk7CiAgICAgICR0aGlzLT5zYW1wbGVUZW1wbGF0ZUNvZGUgPSBwcmVnX3JlcGxhY2UoJy9JRC8nLCRmb3JtRGVzY3JpcHRvciwgJHRoaXMtPnNhbXBsZVRlbXBsYXRlQ29kZSk7CiAgICAgICR0eHQgPSAkbW9kdWxlLT5DcmVhdGVUZXh0QXJlYShmYWxzZSwgJGZvcm1EZXNjcmlwdG9yLAoJCQkJICAgICBmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkb3B0WzBdLT5WYWx1ZSk/JG9wdFswXS0+VmFsdWU6JycsCgkJCQkgICAgICdlbWFpbF90ZW1wbGF0ZScsICcnLCAnJywnJywzMCwxNSk7CiAgICAgIHJldHVybiBhcnJheSgkdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ3RpdGxlX2VtYWlsX3RlbXBsYXRlJykuJzo8YnIvPicuJHJldD0+JHR4dCwKCQkgICAkdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ3RpdGxlX3NhbXBsZV90ZW1wbGF0ZScpPT4kdGhpcy0+c2FtcGxlVGVtcGxhdGVDb2RlCgkJICAgKTsKICAgIH0KCgogICAgZnVuY3Rpb24gQWRtaW5WYWxpZGF0ZSgpCiAgICB7CiAgICB9CgogICAgZnVuY3Rpb24gVmFsaWRhdGUoKQogICAgewogICAgICByZXR1cm4gYXJyYXkodHJ1ZSwgJycpOwogICAgfQoKfQoKPz4K]]></data>
	</file>
	<file>
	  <filename>/classes/DispositionFile.class.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLy8gRmVlZGJhY2sgRm9ybS4gMDIvMjAwNSBTakcgPGZlZWRiYWNrZm9ybV9jbXNtb2R1bGVAZm9nYm91bmQubmV0PgovLyBBIE1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlLCAoYykyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKLy8gVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKCmNsYXNzIGZmRGlzcG9zaXRpb25GaWxlIGV4dGVuZHMgZmZJbnB1dCB7CgogIGZ1bmN0aW9uIGZmRGlzcG9zaXRpb25GaWxlKCYkbW9kX2dsb2JhbHMsICRmb3JtUmVmLCAkcGFyYW1zPWFycmF5KCkpCiAgewogICAgJHRoaXMtPmZmSW5wdXQoJG1vZF9nbG9iYWxzLCAkZm9ybVJlZiwgJHBhcmFtcyk7CiAgICAkdGhpcy0+VHlwZSA9ICdEaXNwb3NpdGlvbkZpbGUnOwogICAgJHRoaXMtPklzRGlzcG9zaXRpb24gPSB0cnVlOwogICAgJHRoaXMtPlJlcXVpcmVkID0gdHJ1ZTsKICAgICR0aGlzLT5EaXNwbGF5VHlwZSA9ICR0aGlzLT5tb2RfZ2xvYmFscy0+TGFuZygnZmllbGRfdHlwZV9kaXNwb3NpdGlvbl9maWxlJyk7CiAgICAkdGhpcy0+RGlzcGxheUluRm9ybSA9IGZhbHNlOwogICAgaWYgKGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCRwYXJhbXNbJ2Zvcm1hdCddKSkKICAgICAgewoJJHRoaXMtPkFkZE9wdGlvbignZm9ybWF0JywnZm9ybWF0JywkcGFyYW1zWydmb3JtYXQnXSk7CiAgICAgIH0KICAgIGlmIChmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkcGFyYW1zWydmaWxlc3BlYyddKSkKICAgICAgewoJJHRoaXMtPkFkZE9wdGlvbignZmlsZXNwZWMnLCdmaWxlc3BlYycsJHBhcmFtc1snZmlsZXNwZWMnXSk7CiAgICAgIH0KICAgIGlmIChmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkcGFyYW1zWydjbGVhcl9mbG9jayddKSkKICAgICAgewoJJHRoaXMtPkNsZWFyRmlsZUxvY2soKTsKICAgICAgfQogIH0KCiAgZnVuY3Rpb24gU3RhdHVzSW5mbygpCiAgewogICAgJHNwZWMgPSAkdGhpcy0+R2V0T3B0aW9uQnlOYW1lKCdmaWxlc3BlYycpOwogICAgcmV0dXJuIGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCRzcGVjWzBdLT5WYWx1ZSk/JHNwZWNbMF0tPlZhbHVlOicnOwogIH0KCgogIGZ1bmN0aW9uIENsZWFyRmlsZUxvY2soKQogIHsKICAgIGVjaG8gIkNsZWFyaW5nIEZpbGUgTG9jay4iOwogICAgJGRiID0gJHRoaXMtPm1vZF9nbG9iYWxzLT5EQkhhbmRsZTsKICAgICRzcWwgPSAiREVMRVRFIGZyb20gIi4kdGhpcy0+bW9kX2dsb2JhbHMtPkZsb2NrVGFibGVOYW1lOwogICAgJHJzID0gJGRiLT5FeGVjdXRlKCRzcWwpOwogIH0KCgogIGZ1bmN0aW9uIEdldEZpbGVMb2NrKCkKICB7CiAgICAkZGIgPSAkdGhpcy0+bW9kX2dsb2JhbHMtPkRCSGFuZGxlOwogICAgJHNxbCA9ICJpbnNlcnQgaW50byAiLiR0aGlzLT5tb2RfZ2xvYmFscy0+RmxvY2tUYWJsZU5hbWUuIiAoZmxvY2tfaWQsIGZsb2NrKSB2YWx1ZXMgKDEsIi4kZGItPnN5c1RpbWVTdGFtcC4iKSI7CiAgICAkcnMgPSAkZGItPkV4ZWN1dGUoJHNxbCk7CiAgICBpZiAoJHJzKQogICAgICB7CglyZXR1cm4gdHJ1ZTsKICAgICAgfQogICAgJHNxbCA9ICJzZWxlY3QgZmxvY2tfaWQgZnJvbSAiLiR0aGlzLT5tb2RfZ2xvYmFscy0+RmxvY2tUYWJsZU5hbWUuCiAgICAgICIgd2hlcmUgZmxvY2sgKyBpbnRlcnZhbCAxNSBzZWNvbmQgPCAiLiRkYi0+c3lzVGltZVN0YW1wOwogICAgJHJzID0gJGRiLT5FeGVjdXRlKCRzcWwpOwogICAgaWYgKCRycyAmJiAkcnMtPlJlY29yZENvdW50KCkgPiAwKQogICAgICB7CgkkdGhpcy0+Q2xlYXJGaWxlTG9jaygpOwoJcmV0dXJuIGZhbHNlOwogICAgICB9CiAgICAgICAgCSAKICAgIHJldHVybiBmYWxzZTsKICB9CgogIGZ1bmN0aW9uIFJldHVybkZpbGVMb2NrKCkKICB7CiAgICAkZGIgPSAkdGhpcy0+bW9kX2dsb2JhbHMtPkRCSGFuZGxlOwogICAgJHNxbCA9ICJkZWxldGUgZnJvbSAiLiR0aGlzLT5tb2RfZ2xvYmFscy0+RmxvY2tUYWJsZU5hbWU7CiAgICAkcnMgPSAkZGItPkV4ZWN1dGUoJHNxbCk7CiAgfQoKCiAgLy8gV3JpdGUgRmlsZXMKICBmdW5jdGlvbiBEaXNwb3NlRm9ybSgkZm9ybU5hbWUsICYkY29uZmlnLCAkcmVzdWx0cykKICB7CiAgICAkY291bnQgPSAwOwogICAgd2hpbGUgKCEgJHRoaXMtPkdldEZpbGVMb2NrKCkgJiYgJGNvdW50PDIwMCkKICAgICAgewoJJGNvdW50Kys7Cgl1c2xlZXAoNTAwKTsKICAgICAgfQogICAgaWYgKCRjb3VudCA9PSAyMDApCiAgICAgIHsKCWVjaG8gJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCdzdWJtaXNzaW9uX2Vycm9yX2ZpbGUnKTsKCXJldHVybiBmYWxzZTsKICAgICAgfQogICAgZWxzZQogICAgICB7Cgkkc3BlYyA9ICR0aGlzLT5HZXRPcHRpb25CeU5hbWUoJ2ZpbGVzcGVjJyk7CgkkZmlsZXNwZWMgPSAkc3BlY1swXS0+VmFsdWU7CgkkZmlsZXNwZWMgPSAnbW9kdWxlcy9GZWVkYmFja0Zvcm0vb3V0cHV0LycucHJlZ19yZXBsYWNlKCIvW15cd1xkXC5dfFwuXC4vIiwgIl8iLCAkZmlsZXNwZWMpOwoJJGZtdCA9ICR0aGlzLT5HZXRPcHRpb25CeU5hbWUoJ2Zvcm1hdCcpOwoJJGV4aXN0cyA9IGZhbHNlOwoJaWYgKGZpbGVfZXhpc3RzKCRmaWxlc3BlYykpCgkgIHsKCSAgICAkZXhpc3RzID0gdHJ1ZTsKCSAgfQoJJGYyID0gZm9wZW4oJGZpbGVzcGVjLCJhIik7CglpZiAoJGZtdFswXS0+VmFsdWUgPT0gJ3RhYmhlYWQnICYmICEkZXhpc3RzKQoJICB7CgkgICAgZndyaXRlKCRmMiwgJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCdzdWJtaXNzaW9uX2RhdGUnKS4iXHQiLiR0aGlzLT5tb2RfZ2xvYmFscy0+TGFuZygnc3VibWlzc2lvbl9ob3N0JykuCgkJICAgIlx0Ii4kdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ3N1Ym1pc3Npb25fc291cmNlJykuIlx0Iik7CgkgICAgZm9yICgkaT0wOyRpPGNvdW50KCRyZXN1bHRzKTskaSsrKQoJICAgICAgewoJCWZ3cml0ZSgkZjIsICRyZXN1bHRzWyRpXVswXSk7CgkJaWYgKCRpPGNvdW50KCRyZXN1bHRzKSAtIDEpCgkJICB7CgkJICAgIGZ3cml0ZSgkZjIsIlx0Iik7CgkJICB9CgkJZWxzZQoJCSAgewoJCSAgICBmd3JpdGUoJGYyLCJcbiIpOwoJCSAgfQoJICAgICAgfQoJICB9Cglzd2l0Y2ggKCRmbXRbMF0tPlZhbHVlKQoJICB7CgkgIGNhc2UgJ3RhYic6CgkgIGNhc2UgJ3RhYmhlYWQnOgoJICAgIGZ3cml0ZSgkZjIsIGRhdGUoJ3InKS4iXHQiKTsKCSAgICBmd3JpdGUoJGYyLCAkX1NFUlZFUlsnU0VSVkVSX05BTUUnXS4iXHQiKTsKCSAgICBmd3JpdGUoJGYyLCAkX1NFUlZFUlsnUkVNT1RFX0FERFInXS4iXHQiKTsKCSAgICBmb3IgKCRpPTA7JGk8Y291bnQoJHJlc3VsdHMpOyRpKyspCgkgICAgICB7CgkJaWYgKGlzX2FycmF5KCRyZXN1bHRzWyRpXVsxXSkpCgkJICB7CgkJICAgICR2YWxzID0gJyc7CgkJICAgIGZvcmVhY2goJHJlc1sxXSBhcyAkZWxlbSkKCQkgICAgICB7CgkJCSR2YWxzIC49ICRlbGVtIC4gIiwgIjsKCQkgICAgICB9CgkJICAgIGZ3cml0ZSgkZjIscnRyaW0oJHZhbHMsIiwgIikpOwoJCSAgfQoJCWVsc2UKCQkgIHsKCQkgICAgZndyaXRlKCRmMiwgJHJlc3VsdHNbJGldWzFdKTsKCQkgIH0KCQlpZiAoJGk8Y291bnQoJHJlc3VsdHMpIC0gMSkKCQkgIHsKCQkgICAgZndyaXRlKCRmMiwiXHQiKTsKCQkgIH0KCQllbHNlCgkJICB7CgkJICAgIGZ3cml0ZSgkZjIsIlxuIik7CgkJICB9CgkgICAgICB9CgkgICAgYnJlYWs7CgkgIGNhc2UgJ3BhZ2UnOgoJICAgIGZ3cml0ZSgkZjIsIj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4iKTsKCSAgICBmd3JpdGUoJGYyLCAkdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ3N1Ym1pc3Npb25fdGl0bGUnKS4iXG4iKTsKCSAgICBmd3JpdGUoJGYyLCAkdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ3N1Ym1pc3Npb25fZm9ybV9uYW1lJykuIjpcdCIuJGZvcm1OYW1lLiJcbiIpOwoJICAgIGZ3cml0ZSgkZjIsICR0aGlzLT5tb2RfZ2xvYmFscy0+TGFuZygnc3VibWlzc2lvbl9kYXRlJykuIjpcdCIuZGF0ZSgncicpLiJcbiIpOwoJICAgIGZ3cml0ZSgkZjIsICR0aGlzLT5tb2RfZ2xvYmFscy0+TGFuZygnc3VibWlzc2lvbl9ob3N0JykuIjpcdCIuJF9TRVJWRVJbJ1NFUlZFUl9OQU1FJ10uIlxuIik7CgkgICAgZndyaXRlKCRmMiwgJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCdzdWJtaXNzaW9uX3NvdXJjZScpLiI6XHQiLiRfU0VSVkVSWydSRU1PVEVfQUREUiddLiJcbiIpOwoJICAgIGZ3cml0ZSgkZjIsIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iKTsKCSAgICBmb3JlYWNoICgkcmVzdWx0cyBhcyAkcmVzKQoJICAgICAgewoJCWZ3cml0ZSgkZjIsJHJlc1swXSk7CgkJZndyaXRlKCRmMiwiXHQiKTsKCQlpZiAoaXNfYXJyYXkoJHJlc1sxXSkpCgkJICB7CgkJICAgICR2YWxzID0gJyc7CgkJICAgIGZvcmVhY2goJHJlc1sxXSBhcyAkZWxlbSkKCQkgICAgICB7CgkJCSR2YWxzIC49ICRlbGVtIC4gIiwgIjsKCQkgICAgICB9CgkJICAgIGZ3cml0ZSgkZjIscnRyaW0oJHZhbHMsIiwgIikgLiAiXG4iKTsKCQkgIH0KCQllbHNlCgkJICB7CgkJICAgIGZ3cml0ZSgkZjIsJHJlc1sxXSAuICJcbiIpOwoJCSAgfQoJICAgICAgfQoJICAgIGZ3cml0ZSgkZjIsIlxuIik7CgkgICAgYnJlYWs7CgkgIH0KCWZjbG9zZSgkZjIpOyAKCSR0aGlzLT5SZXR1cm5GaWxlTG9jaygpOwogICAgICB9CiAgICByZXR1cm4gdHJ1ZTsKICB9CgoKICBmdW5jdGlvbiBSZW5kZXJBZG1pbkZvcm0oJGZvcm1EZXNjcmlwdG9yKQogIHsKICAgICRtb2R1bGUgPSYgJHRoaXMtPm1vZF9nbG9iYWxzLT5zZWxmcHRyOwogICAgJGZtdCA9ICR0aGlzLT5HZXRPcHRpb25CeU5hbWUoJ2Zvcm1hdCcpOwogICAgJHNwZWMgPSAkdGhpcy0+R2V0T3B0aW9uQnlOYW1lKCdmaWxlc3BlYycpOwogICAgcmV0dXJuIGFycmF5KCR0aGlzLT5tb2RfZ2xvYmFscy0+TGFuZygndGl0bGVfZmlsZV9mb3JtYXQnKS4nOic9PiRtb2R1bGUtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGZvcm1EZXNjcmlwdG9yLCAnZm9ybWF0JywKCQkJCQkJCQkJCQkJICAgYXJyYXkoJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCd0aXRsZV9maWxlX2Zvcm1hdF90YWInKT0+J3RhYicsCgkJCQkJCQkJCQkJCQkgJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCd0aXRsZV9maWxlX2Zvcm1hdF90YWJfaGVhZGVyJyk9Pid0YWJoZWFkJywKCQkJCQkJCQkJCQkJCSAkdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ3RpdGxlX2ZpbGVfZm9ybWF0X3BhZ2UnKT0+J3BhZ2UnKSwgLTEsCgkJCQkJCQkJCQkJCSAgIGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCRmbXRbMF0tPlZhbHVlKT8kdGhpcy0+TmVyZkhUTUwoJGZtdFswXS0+VmFsdWUpOicnKSwKCQkgJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCd0aXRsZV9maWxlX25hbWUnKS4nOic9PiRtb2R1bGUtPkNyZWF0ZUlucHV0VGV4dCgkZm9ybURlc2NyaXB0b3IsICdmaWxlc3BlYycsCgkJCQkJCQkJCQkJICAgICBmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkc3BlY1swXS0+VmFsdWUpPyR0aGlzLT5OZXJmSFRNTCgkc3BlY1swXS0+VmFsdWUpOidvdXRwdXQudHh0JywyNSksCgkJICR0aGlzLT5tb2RfZ2xvYmFscy0+TGFuZygndGl0bGVfZXJhc2VfZmlsZWxvY2snKS4nOic9PiRtb2R1bGUtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGZvcm1EZXNjcmlwdG9yLCAnY2xlYXJfZmxvY2snLCAnY2xlYXInLCAnJykuCgkJICcgJy4kdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ3RpdGxlX2VyYXNlX3VzYWdlJyksCgkJICR0aGlzLT5tb2RfZ2xvYmFscy0+TGFuZygnbm90ZScpLic6Jz0+JHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCd0aXRsZV9maWxlX25vdGUnKQoJCSApOwogIH0KCgogIGZ1bmN0aW9uIFZhbGlkYXRlKCkKICB7CiAgICByZXR1cm4gYXJyYXkodHJ1ZSwgJycpOwogIH0KCn0KCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/classes/DispositionSiteUser.class.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLy8gRmVlZGJhY2sgRm9ybS4gMDIvMjAwNSBTakcgPGZlZWRiYWNrZm9ybV9jbXNtb2R1bGVAZm9nYm91bmQubmV0PgovLyBBIE1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlLCAoYykyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKLy8gVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKCnJlcXVpcmVfb25jZSgnRGlzcG9zaXRpb25FbWFpbEJhc2UuY2xhc3MucGhwJyk7CgpjbGFzcyBmZkRpc3Bvc2l0aW9uU2l0ZVVzZXIgZXh0ZW5kcyBmZkRpc3Bvc2l0aW9uRW1haWxCYXNlIHsKCiAgICB2YXIgJG5hbWVUeXBlczsKCglmdW5jdGlvbiBmZkRpc3Bvc2l0aW9uU2l0ZVVzZXIoJiRtb2RfZ2xvYmFscywgJGZvcm1SZWYsICRwYXJhbXM9YXJyYXkoKSkKCXsKICAgICAgICAkdGhpcy0+ZmZEaXNwb3NpdGlvbkVtYWlsQmFzZSgkbW9kX2dsb2JhbHMsICRmb3JtUmVmLCAkcGFyYW1zKTsKCQkkdGhpcy0+VHlwZSA9ICdEaXNwb3NpdGlvblNpdGVVc2VyJzsKCQkkdGhpcy0+RGlzcGxheVR5cGUgPSAkdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ2ZpZWxkX3R5cGVfZGlzcG9zaXRpb25fZW1haWxfc2l0ZV91c2VyJyk7CgkJJHRoaXMtPkRpc3BsYXlJbkZvcm0gPSB0cnVlOwoJCSR0aGlzLT5hZGRMaXN0UGFyYW0oJ2dyb3VwJywgJ2dyb3VwJywgJ2dyb3VwJywgJHBhcmFtcyk7CgkJJHRoaXMtPmFkZExpc3RQYXJhbSgnc3ViamVjdCcsICdzdWJqZWN0JywgJ3N1YmplY3QnLCAkcGFyYW1zKTsKCQlpZiAoZmZVdGlsaXR5RnVuY3Rpb25zOjpkZWYoJHBhcmFtc1snbmFtZV90eXBlJ10pKQoJCSAgewoJCSAgJHRoaXMtPkFkZE9wdGlvbignbmFtZV90eXBlJywgJ25hbWVfdHlwZScsICRwYXJhbXNbJ25hbWVfdHlwZSddKTsKICAgICAgICAgIH0KICAgICAgICBpZiAoZmZVdGlsaXR5RnVuY3Rpb25zOjpkZWYoJHBhcmFtc1snZGVmYXVsdCddKSkKICAgICAgICAgICAgewogICAgICAgICAgICAkdGhpcy0+QWRkT3B0aW9uKCdkZWZhdWx0JywnZGVmYXVsdCcsJHBhcmFtc1snZGVmYXVsdCddKTsKICAgICAgICAgICAgfQogICAgICAgIGlmIChmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkcGFyYW1zWydkZWZhdWx0X3VzZXInXSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgJHRoaXMtPkFkZE9wdGlvbignZGVmYXVsdF91c2VyJywnZGVmYXVsdF91c2VyJywkcGFyYW1zWydkZWZhdWx0X3VzZXInXSk7CiAgICAgICAgICAgIH0KICAgICAgICAkdGhpcy0+bmFtZVR5cGVzID0gYXJyYXkoJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCd0aXRsZV91c2VybmFtZScpPT4ndXNlcm5hbWUnLAogICAgICAgICAgICAkdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ3RpdGxlX3JlYWxfbmFtZScpPT4nZnVsbG5hbWUnLAogICAgICAgICAgICAkdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ3RpdGxlX2JvdGhfbmFtZXMnKT0+J2JvdGgnKTsKCgl9CgogICAgZnVuY3Rpb24gU3RhdHVzSW5mbygpCiAgICB7CiAgICAgICRncnAgPSAkdGhpcy0+R2V0T3B0aW9uQnlLaW5kKCdncm91cCcpOwogICAgICAkbnQgPSAkdGhpcy0+R2V0T3B0aW9uQnlLaW5kKCduYW1lX3R5cGUnKTsKICAgICAgJHJldCA9Jyc7CiAgICAgIGlmIChmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkZ3JwWzBdLT5WYWx1ZSkpCgl7CgkgIGlmICgkZ3JwWzBdLT5WYWx1ZSA9PSAtMSkKCSAgICB7CgkgICAgICAkcmV0Lj0gJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCdhbnlfdXNlcicpOwoJICAgIH0KCSAgZWxzZQoJICAgIHsKCSAgICAgIGdsb2JhbCAkZ0NtczsKCSAgICAgICRncnBvcHMgPSAkZ0Ntcy0+R2V0R3JvdXBPcGVyYXRpb25zOwoJICAgICAgJGdyb3VwID0gJGdycG9wcy0+TG9hZEdyb3VwQnlJRCgkZ3JwWzBdLT5WYWx1ZSk7CgkgICAgICAkcmV0Lj0gJGdyb3VwLT5uYW1lOwoJICAgIH0KCX0KICAgICAgZWxzZQogICAgICAgIHsKCSAgJHJldC49ICR0aGlzLT5tb2RfZ2xvYmFscy0+TGFuZygnbm90X2NvbmZpZ3VyZWQnKTsKICAgICAgICB9CiAgICAgICRyZXQuPSAiLCAiLiR0aGlzLT5tb2RfZ2xvYmFscy0+TGFuZygnbGlzdCcpLiI6ICI7CiAgICAgICRyZXQuPSBhcnJheV9zZWFyY2goJG50WzBdLT5WYWx1ZSwkdGhpcy0+bmFtZVR5cGVzKTsKICAgICAgJHJldC49ICR0aGlzLT5UZW1wbGF0ZVN0YXR1cygpOwogICAgICByZXR1cm4gJHJldDsKICAgIH0KCiAgICBmdW5jdGlvbiBXcml0ZVRvUHVibGljRm9ybSgkaWQsICYkcGFyYW1zLCAkcmV0dXJuX2lkKQogICAgewogICAgICAkbW9kdWxlID0mICR0aGlzLT5tb2RfZ2xvYmFscy0+c2VsZnB0cjsKCiAgICAgICRncnAgPSAkdGhpcy0+R2V0T3B0aW9uQnlLaW5kKCdncm91cCcpOwogICAgICAkbnQgPSAkdGhpcy0+R2V0T3B0aW9uQnlLaW5kKCduYW1lX3R5cGUnKTsKICAgICAgaWYgKHN0cmxlbigkdGhpcy0+Q1NTQ2xhc3MpPjApCgl7CgkgIGVjaG8gIjxkaXYgY2xhc3M9XCIiLiR0aGlzLT5DU1NDbGFzcy4iXCI+IjsKCX0KICAgICAgCiAgICAgIGdsb2JhbCAkZ0NtczsKICAgICAgJHVzZXJvcHMgPSAkZ0Ntcy0+R2V0VXNlck9wZXJhdGlvbnMoKTsKICAgICAgaWYgKCRncnBbMF0tPlZhbHVlICE9IC0xKQoJewoJICAkdXNlcmxpc3QgPSAkdXNlcm9wcy0+TG9hZFVzZXJzSW5Hcm91cCgkZ3JwWzBdLT5WYWx1ZSk7Cgl9CiAgICAgIGVsc2UKCXsKCSAgJHVzZXJsaXN0ID0gJHVzZXJvcHMtPkxvYWRVc2VycygpOwoJfQogICAgICAkZGVmVmFscyA9ICR0aGlzLT5HZXRPcHRpb25CeUtpbmQoJ2RlZmF1bHQnKTsKICAgICAgJGRlZlVzZXJWYWxzID0gJHRoaXMtPkdldE9wdGlvbkJ5S2luZCgnZGVmYXVsdF91c2VyJyk7CiAgICAgIGlmIChmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkZGVmVXNlclZhbHNbMF0tPlZhbHVlKSkKCXsKCSAgJGRlZlVzZXIgPSAkZGVmVXNlclZhbHNbMF0tPlZhbHVlOwoJICAkb3B0cyA9IGFycmF5KCk7Cgl9CiAgICAgIGVsc2UKCXsKCSAgJGRlZlVzZXIgPSAtMTsKCSAgaWYgKGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCRkZWZWYWxzWzBdLT5WYWx1ZSkpCgkgICAgewoJICAgICAgJG9wdHMgPSBhcnJheSgkZGVmVmFsc1swXS0+VmFsdWU9PicnKTsKCSAgICB9CgkgIGVsc2UKCSAgICB7CgkgICAgICAkb3B0cyA9IGFycmF5KCR0aGlzLT5tb2RfZ2xvYmFscy0+TGFuZygnc2VsZWN0X2FfdXNlcicpPT4nJyk7CgkgICAgfQoJfQogICAgICBmb3IoJGk9MDskaTxjb3VudCgkdXNlcmxpc3QpOyRpKyspCgl7CgkgIGlmICghIGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCRudFswXS0+VmFsdWUpIHx8ICRudFswXS0+VmFsdWUgPT0gJ3VzZXJuYW1lJykKCSAgICB7CgkgICAgICAkb3B0c1skdGhpcy0+TmVyZkhUTUwoJHVzZXJsaXN0WyRpXS0+dXNlcm5hbWUpXT0kdXNlcmxpc3RbJGldLT5pZDsKCSAgICB9CgkgIGVsc2UgaWYgKCRudFswXS0+VmFsdWUgPT0gJ2Z1bGxuYW1lJykKCSAgICB7CgkgICAgICAkb3B0c1skdGhpcy0+TmVyZkhUTUwoJHVzZXJsaXN0WyRpXS0+Zmlyc3RuYW1lLicgJy4kdXNlcmxpc3RbJGldLT5sYXN0bmFtZSldPSR1c2VybGlzdFskaV0tPmlkOwoJICAgIH0KCSAgZWxzZQoJICAgIHsKCSAgICAgICRvcHRzWyR0aGlzLT5OZXJmSFRNTCgkdXNlcmxpc3RbJGldLT51c2VybmFtZS4gJyAoJy4KCQkJCSAgICAkdXNlcmxpc3RbJGldLT5maXJzdG5hbWUuJyAnLiR1c2VybGlzdFskaV0tPmxhc3RuYW1lLicpJyldPSR1c2VybGlzdFskaV0tPmlkOwoJICAgIH0KCX0KICAgICAgZWNobyAkbW9kdWxlLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwgJHRoaXMtPkFsaWFzLCAkb3B0cywgLTEsIGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCR0aGlzLT5WYWx1ZSk/JHRoaXMtPlZhbHVlOiRkZWZVc2VyLCR0aGlzLT5tb2RfZ2xvYmFscy0+VXNlSURBbmROYW1lPydpZD0iJy4kdGhpcy0+QWxpYXMuJyInOicnKTsKICAgICAgaWYgKHN0cmxlbigkdGhpcy0+Q1NTQ2xhc3MpPjApCgl7CgkgIGVjaG8gIjwvZGl2PiI7Cgl9CiAgICB9CgoKICAgIC8vIFNlbmQgb2ZmIHRob3NlIGVtYWlscwogICAgZnVuY3Rpb24gRGlzcG9zZUZvcm0oJGZvcm1OYW1lLCAmJGNvbmZpZywgJHJlc3VsdHMpCiAgICB7CiAgICAgIC8vIGEgdG91Y2ggdWdseSwgc2luY2Ugd2UncmUgcmV3aXJpbmcgZXZlcnl0aGluZyB0byB1c2UgYSBiYXNlIGNsYXNzLgogICAgICBnbG9iYWwgJGdDbXM7CiAgICAgICR1c2Vyb3BlcmF0aW9ucyA9ICRnQ21zLT5HZXRVc2VyT3BlcmF0aW9ucygpOwogICAgICAkdXNlciA9ICR1c2Vyb3BlcmF0aW9ucy0+TG9hZFVzZXJCeUlEKCR0aGlzLT5WYWx1ZSk7CiAgICAgICR0aGlzLT5BZGRPcHRpb24oJ2FkZHJlc3MnLCdhZGRyZXNzJywkdXNlci0+ZW1haWwpOwogICAgICByZXR1cm4gJHRoaXMtPlNlbmRGb3JtKCRmb3JtTmFtZSwgJGNvbmZpZywgJHJlc3VsdHMpOwogICAgfQoKICAgIGZ1bmN0aW9uIFJlbmRlckFkbWluRm9ybSgkZm9ybURlc2NyaXB0b3IpCiAgICB7CiAgICAgIGdsb2JhbCAkZ0NtczsKICAgICAgJG1vZHVsZSA9JiAkdGhpcy0+bW9kX2dsb2JhbHMtPnNlbGZwdHI7CiAgICAgICR1c2Vyb3BlcmF0aW9ucyA9ICRnQ21zLT5HZXRVc2VyT3BlcmF0aW9ucygpOwogICAgICAkZ3JvdXBvcGVyYXRpb25zID0gJGdDbXMtPkdldEdyb3VwT3BlcmF0aW9ucygpOwogICAgICAkZ3JwID0gJHRoaXMtPkdldE9wdGlvbkJ5S2luZCgnZ3JvdXAnKTsKICAgICAgJG9wdCA9ICR0aGlzLT5HZXRPcHRpb25CeUtpbmQoJ3N1YmplY3QnKTsKICAgICAgJG50ID0gJHRoaXMtPkdldE9wdGlvbkJ5S2luZCgnbmFtZV90eXBlJyk7CiAgICAgICR1c3IgPSAkdGhpcy0+R2V0T3B0aW9uQnlLaW5kKCdkZWZhdWx0X3VzZXInKTsKICAgICAgJGdyb3VwbGlzdCA9ICRncm91cG9wZXJhdGlvbnMtPkxvYWRHcm91cHMoKTsKICAgICAgJHVzZXJsaXN0ID0gJHVzZXJvcGVyYXRpb25zLT5Mb2FkVXNlcnMoKTsKICAgICAgCiAgICAgICRvcHRzID0gYXJyYXkoJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCd0aXRsZV9ub19ncm91cF9yZXN0cmljdGlvbicpPT4nLTEnKTsKICAgICAgZm9yKCRpPTA7JGk8Y291bnQoJGdyb3VwbGlzdCk7JGkrKykKCXsKCSAgJG9wdHNbJHRoaXMtPk5lcmZIVE1MKCRncm91cGxpc3RbJGldLT5uYW1lKV09JGdyb3VwbGlzdFskaV0tPmlkOwoJfQogICAgICAkdXNlck9wdHMgPSBhcnJheSgkdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ3RpdGxlX25vX2RlZmF1bHRfdXNlcicpPT4nLTEnKTsKICAgICAgZm9yKCRpPTA7JGk8Y291bnQoJHVzZXJsaXN0KTskaSsrKQoJewoJICAkdXNlck9wdHNbJHRoaXMtPk5lcmZIVE1MKCR1c2VybGlzdFskaV0tPnVzZXJuYW1lKV09JHVzZXJsaXN0WyRpXS0+aWQ7Cgl9CiAgICAgIAogICAgICAkZGVmVmFscyA9ICR0aGlzLT5HZXRPcHRpb25CeUtpbmQoJ2RlZmF1bHQnKTsKICAgICAgCiAgICAgICR0bXAgPSBhcnJheSgkdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ3RpdGxlX2VtYWlsX3N1YmplY3QnKS4nOic9PiRtb2R1bGUtPkNyZWF0ZUlucHV0VGV4dCgkZm9ybURlc2NyaXB0b3IsICdzdWJqZWN0JywKCQkJCQkJCQkJCQkJICAgZmZVdGlsaXR5RnVuY3Rpb25zOjpkZWYoJG9wdFswXS0+VmFsdWUpPyR0aGlzLT5OZXJmSFRNTCgkb3B0WzBdLT5WYWx1ZSk6JycsMjUpLAoJCSAgICR0aGlzLT5tb2RfZ2xvYmFscy0+TGFuZygndGl0bGVfcmVzdHJpY3RfdG9fZ3JvdXAnKS4nOic9PiRtb2R1bGUtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGZvcm1EZXNjcmlwdG9yLCAnZ3JvdXAnLCAkb3B0cywgLTEsIGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCRncnBbMF0tPlZhbHVlKT8kZ3JwWzBdLT5WYWx1ZTonJyksCgkJICAgJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCd0aXRsZV9uYW1lc19pbl9wdWxsZG93bicpLic6Jz0+JG1vZHVsZS0+Q3JlYXRlSW5wdXRSYWRpb0dyb3VwKCRmb3JtRGVzY3JpcHRvciwgJ25hbWVfdHlwZScsICR0aGlzLT5uYW1lVHlwZXMsIGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCRudFswXS0+VmFsdWUpPyRudFswXS0+VmFsdWU6J3VzZXJuYW1lJyksCgkJICAgJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCd0aXRsZV9zZWxlY3RfYV91c2VyX21lc3NhZ2UnKS4nOic9PiRtb2R1bGUtPkNyZWF0ZUlucHV0VGV4dCgkZm9ybURlc2NyaXB0b3IsICdkZWZhdWx0JywKCQkJCQkJCQkJCQkJCSAgIGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCRkZWZWYWxzWzBdLT5WYWx1ZSk/JHRoaXMtPk5lcmZIVE1MKCRkZWZWYWxzWzBdLT5WYWx1ZSk6JHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCdzZWxlY3RfYV91c2VyJyksMjUpLAoJCSAgICR0aGlzLT5tb2RfZ2xvYmFscy0+TGFuZygndGl0bGVfZGVmYXVsdF91c2VyJykuJzonPT4kbW9kdWxlLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRmb3JtRGVzY3JpcHRvciwgJ2RlZmF1bHRfdXNlcicsCgkJCQkJCQkJCQkJCSAgICAgICR1c2VyT3B0cywgLTEsIGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCR1c3JbMF0tPlZhbHVlKT8kdXNyWzBdLT5WYWx1ZTonJykpOwogICAgICAkdG1wMiA9ICR0aGlzLT5SZW5kZXJBZG1pbkZvcm1CYXNlKCRmb3JtRGVzY3JpcHRvcik7CiAgICAgIGZvcmVhY2ggKCR0bXAyIGFzICRrZXk9PiR2YWwpCgl7CgkgICR0bXBbJGtleV09JHZhbDsKCX0KICAgICAgcmV0dXJuICR0bXA7CiAgICB9CgoJZnVuY3Rpb24gVmFsaWRhdGUoKQoJewoJCXJldHVybiBhcnJheSh0cnVlLCAnJyk7Cgl9CglmdW5jdGlvbiBBZG1pblZhbGlkYXRlKCkKICAgIHsKCQlyZXR1cm4gYXJyYXkodHJ1ZSwgJycpOwoJfQoKfQoKPz4K]]></data>
	</file>
	<file>
	  <filename>/classes/EmailFromInput.class.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLy8gRmVlZGJhY2sgRm9ybS4gMDIvMjAwNSBTakcgPGZlZWRiYWNrZm9ybV9jbXNtb2R1bGVAZm9nYm91bmQubmV0PgovLyBBIE1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlLCAoYykyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKLy8gVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKCmNsYXNzIGZmRW1haWxGcm9tSW5wdXQgZXh0ZW5kcyBmZklucHV0IHsKCiAgZnVuY3Rpb24gZmZFbWFpbEZyb21JbnB1dCgmJG1vZF9nbG9iYWxzLCAkZm9ybVJlZiwgJHBhcmFtcz1hcnJheSgpKQogIHsKICAgICR0aGlzLT5mZklucHV0KCRtb2RfZ2xvYmFscywgJGZvcm1SZWYsICRwYXJhbXMpOwogICAgJHRoaXMtPlR5cGUgPSAnRW1haWxGcm9tSW5wdXQnOwogICAgJHRoaXMtPkRpc3BsYXlUeXBlID0gJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCdmaWVsZF90eXBlX2VtYWlsX2Zyb20nKTsKICAgICR0aGlzLT5WYWxpZGF0aW9uVHlwZXMgPSBhcnJheSgKCQkJCSAgICR0aGlzLT5tb2RfZ2xvYmFscy0+TGFuZygndmFsaWRhdGlvbl9lbWFpbF9hZGRyZXNzJyk9PidlbWFpbCcKCQkJCSAgICk7CiAgICBpZiAoJHRoaXMtPkxlbmd0aCA9PSAtMSkKICAgICAgewoJJHRoaXMtPkxlbmd0aCA9IDI1NTsKICAgICAgfQogICAgJHRoaXMtPlZhbGlkYXRpb25UeXBlID0gJ2VtYWlsJzsKCiAgfQoKICBmdW5jdGlvbiBXcml0ZVRvUHVibGljRm9ybSgkaWQsICYkcGFyYW1zLCAkcmV0dXJuX2lkKQogIHsKICAgICRtb2R1bGUgPSYgJHRoaXMtPm1vZF9nbG9iYWxzLT5zZWxmcHRyOwogICAgaWYgKHN0cmxlbigkdGhpcy0+Q1NTQ2xhc3MpPjApCiAgICAgIHsKCWVjaG8gIjxkaXYgY2xhc3M9XCIiLiR0aGlzLT5DU1NDbGFzcy4iXCI+IjsKICAgICAgfQogICAgZWNobyAkbW9kdWxlLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAkdGhpcy0+QWxpYXMuJ1tdJywgZmZVdGlsaXR5RnVuY3Rpb25zOjpkZWYoJHRoaXMtPlZhbHVlKT8kdGhpcy0+TmVyZkhUTUwoJHRoaXMtPlZhbHVlWzBdKTonJywKCQkJCSAgICAyNSwKCQkJCSAgICAkdGhpcy0+TGVuZ3RoLCR0aGlzLT5tb2RfZ2xvYmFscy0+VXNlSURBbmROYW1lPydpZD0iJy4kdGhpcy0+QWxpYXMuJ19uYW1lIic6JycpLiAnJmx0OycuJG1vZHVsZS0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJHRoaXMtPkFsaWFzLidbXScsIGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCR0aGlzLT5WYWx1ZSk/JHRoaXMtPk5lcmZIVE1MKCR0aGlzLT5WYWx1ZVsxXSk6JycsCgkJCQkJCQkJCQkJCQkJCQkJCSAgICAgICAyNSwKCQkJCQkJCQkJCQkJCQkJCQkJICAgICAgICR0aGlzLT5MZW5ndGgsJHRoaXMtPm1vZF9nbG9iYWxzLT5Vc2VJREFuZE5hbWU/J2lkPSInLiR0aGlzLT5BbGlhcy4nX2VtYWlsIic6JycpLicmZ3Q7JzsKICAgIGlmIChzdHJsZW4oJHRoaXMtPkNTU0NsYXNzKT4wKQogICAgICB7CgllY2hvICI8L2Rpdj4iOwogICAgICB9CiAgfQoKCiAgZnVuY3Rpb24gU3RhdHVzSW5mbygpCiAgewogICAgcmV0dXJuICcnOwogIH0KCiAgZnVuY3Rpb24gR2V0VmFsdWUoKQogIHsKICAgIGlmIChmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkdGhpcy0+VmFsdWUpKQogICAgICB7CgkkdGhpcy0+bW9kX2dsb2JhbHMtPkZyb21OYW1lID0gJHRoaXMtPlZhbHVlWzBdOwoJJHRoaXMtPm1vZF9nbG9iYWxzLT5Gcm9tQWRkcmVzcyA9ICR0aGlzLT5WYWx1ZVsxXTsKCXJldHVybiAkdGhpcy0+VmFsdWVbMF0uJyA8Jy4kdGhpcy0+VmFsdWVbMV0uJz4nOwogICAgICB9CiAgICBlbHNlCiAgICAgIHsKCXJldHVybiAnJzsKICAgICAgfQogIH0KCgoKICBmdW5jdGlvbiBSZW5kZXJBZG1pbkZvcm0oJGZvcm1EZXNjcmlwdG9yKQogIHsKICAgIHJldHVybiBhcnJheSgpOwogIH0KCgogIGZ1bmN0aW9uIFZhbGlkYXRlKCkKICB7CiAgICAkcmVzdWx0ID0gdHJ1ZTsKICAgICRtZXNzYWdlID0gJyc7CiAgICBzd2l0Y2ggKCR0aGlzLT5WYWxpZGF0aW9uVHlwZSkKICAgICAgewogICAgICBjYXNlICdub25lJzoKCWJyZWFrOwogICAgICBjYXNlICdlbWFpbCc6CglpZiAoZmZVdGlsaXR5RnVuY3Rpb25zOjpkZWYoJHRoaXMtPlZhbHVlKSAmJgoJICAgICEgcHJlZ19tYXRjaCgiL14oW1x3XGRcLlwtXF9dKStcQChbXHdcZFwuXC1cX10rKVwuKFx3KykkL2kiLCAkdGhpcy0+VmFsdWVbMV0pKQoJICB7CgkgICAgJHJlc3VsdCA9IGZhbHNlOwoJICAgICRtZXNzYWdlID0gJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCdwbGVhc2VfZW50ZXJfYW5fZW1haWwnKS4nICInLiR0aGlzLT5OYW1lLiciJzsKCSAgfQoJYnJlYWs7CiAgICAgIH0KICAgIGlmICgkdGhpcy0+TGVuZ3RoID4gMCAmJiBzdHJsZW4oJHRoaXMtPlZhbHVlKSA+ICR0aGlzLT5MZW5ndGgpCiAgICAgIHsKCSRyZXN1bHQgPSBmYWxzZTsKCSRtZXNzYWdlID0gJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCdwbGVhc2VfZW50ZXJfbm9fbG9uZ2VyJykuJHRoaXMtPkxlbmd0aC4iICIuCgkgICR0aGlzLT5tb2RfZ2xvYmFscy0+TGFuZygnY2hhcmFjdGVycycpIC4gIiEiOwogICAgICB9CiAgICByZXR1cm4gYXJyYXkoJHJlc3VsdCwgJG1lc3NhZ2UpOwogIH0KCn0KCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/classes/FileUpload.class.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLy8gRmVlZGJhY2sgRm9ybS4gMDIvMjAwNSBTakcgPGZlZWRiYWNrZm9ybV9jbXNtb2R1bGVAZm9nYm91bmQubmV0PgovLyBBIE1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlLCAoYykyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKLy8gVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKCmNsYXNzIGZmRmlsZVVwbG9hZCBleHRlbmRzIGZmSW5wdXQgewoKICBmdW5jdGlvbiBmZkZpbGVVcGxvYWQoJiRtb2RfZ2xvYmFscywgJGZvcm1SZWYsICRwYXJhbXM9YXJyYXkoKSkKICB7CiAgICAkdGhpcy0+ZmZJbnB1dCgkbW9kX2dsb2JhbHMsICRmb3JtUmVmLCAkcGFyYW1zKTsKICAgICR0aGlzLT5UeXBlID0gJ0ZpbGVVcGxvYWQnOwogICAgJHRoaXMtPkRpc3BsYXlUeXBlID0gJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCdmaWVsZF90eXBlX2ZpbGVfdXBsb2FkJyk7CiAgICAkdGhpcy0+VmFsaWRhdGlvblR5cGVzID0gYXJyYXkoCgkJCQkgICAkdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ3ZhbGlkYXRpb25fbm9uZScpPT4nbm9uZScpOwogICAgaWYgKGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCRwYXJhbXNbJ21heF9zaXplJ10pKQogICAgICB7CgkkdGhpcy0+QWRkT3B0aW9uKCdtYXhfc2l6ZScsICdtYXhfc2l6ZScsICRwYXJhbXNbJ21heF9zaXplJ10pOwogICAgICB9CiAgICBpZiAoZmZVdGlsaXR5RnVuY3Rpb25zOjpkZWYoJHBhcmFtc1sncGVybWl0dGVkX2V4dGVuc2lvbnMnXSkpCiAgICAgIHsKCSR0aGlzLT5BZGRPcHRpb24oJ3Blcm1pdHRlZF9leHRlbnNpb25zJywgJ3Blcm1pdHRlZF9leHRlbnNpb25zJywgJHBhcmFtc1sncGVybWl0dGVkX2V4dGVuc2lvbnMnXSk7CiAgICAgIH0KICAgIGlmIChmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkcGFyYW1zWydzaG93X2RldGFpbHMnXSkpCiAgICAgIHsKCSR0aGlzLT5BZGRPcHRpb24oJ3Nob3dfZGV0YWlscycsICdzaG93X2RldGFpbHMnLCAkcGFyYW1zWydzaG93X2RldGFpbHMnXSk7CiAgICAgIH0KCiAgfQoKICBmdW5jdGlvbiBXcml0ZVRvUHVibGljRm9ybSgkaWQsICYkcGFyYW1zLCAkcmV0dXJuX2lkKQogIHsKICAgICRtb2R1bGUgPSYgJHRoaXMtPm1vZF9nbG9iYWxzLT5zZWxmcHRyOwogICAgJHNob3cgPSAkdGhpcy0+R2V0T3B0aW9uQnlLaW5kKCdzaG93X2RldGFpbHMnKTsKICAgIGlmIChzdHJsZW4oJHRoaXMtPkNTU0NsYXNzKT4wKQogICAgICB7CgllY2hvICI8ZGl2IGNsYXNzPVwiIi4kdGhpcy0+Q1NTQ2xhc3MuIlwiPiI7CiAgICAgIH0KICAgIGVjaG8gJG1vZHVsZS0+Q3JlYXRlRmlsZVVwbG9hZElucHV0KCRpZCwgJHRoaXMtPkFsaWFzLCR0aGlzLT5tb2RfZ2xvYmFscy0+VXNlSURBbmROYW1lPydpZD0iJy4kdGhpcy0+QWxpYXMuJyInOicnKTsKICAgIGlmIChmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkc2hvd1swXS0+VmFsdWUpKQogICAgICB7CgkkbXMgPSAkdGhpcy0+R2V0T3B0aW9uQnlLaW5kKCdtYXhfc2l6ZScpOwoJJGV4dHMgPSAkdGhpcy0+R2V0T3B0aW9uQnlLaW5kKCdwZXJtaXR0ZWRfZXh0ZW5zaW9ucycpOwoJaWYgKGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCRtc1swXS0+VmFsdWUpKQoJICB7CgkgICAgZWNobyAkdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ21heGltdW1fc2l6ZScpLic6ICcuJG1zWzBdLT5WYWx1ZS4na2InOwoJICB9CglpZiAoZmZVdGlsaXR5RnVuY3Rpb25zOjpkZWYoJGV4dHNbMF0tPlZhbHVlKSkKCSAgewoJICAgIGlmIChmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkbXNbMF0tPlZhbHVlKSkKCSAgICAgIHsKCQllY2hvICcsICc7CgkgICAgICB9CgkgICAgZWNobyAkdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ3Blcm1pdHRlZF9maWxldHlwZXMnKSAuICc6ICcuJGV4dHNbMF0tPlZhbHVlOwoJICB9CiAgICAgIH0KICAgIGlmIChzdHJsZW4oJHRoaXMtPkNTU0NsYXNzKT4wKQogICAgICB7CgllY2hvICI8L2Rpdj4iOwogICAgICB9CiAgfQoKCiAgZnVuY3Rpb24gU3RhdHVzSW5mbygpCiAgewogICAgJG1zID0gJHRoaXMtPkdldE9wdGlvbkJ5S2luZCgnbWF4X3NpemUnKTsKICAgICRleHRzID0gJHRoaXMtPkdldE9wdGlvbkJ5S2luZCgncGVybWl0dGVkX2V4dGVuc2lvbnMnKTsKICAgICRyZXQgPSAnJzsKICAgIGlmIChmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkbXNbMF0tPlZhbHVlKSkKICAgICAgewoJJHJldCAuPSAkdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ21heGltdW1fc2l6ZScpLic6ICcuJG1zWzBdLT5WYWx1ZS4na2InOwogICAgICB9CiAgICBpZiAoZmZVdGlsaXR5RnVuY3Rpb25zOjpkZWYoJGV4dHNbMF0tPlZhbHVlKSkKICAgICAgewoJaWYgKGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCRtc1swXS0+VmFsdWUpKQoJICB7CgkgICAgJHJldCAuPSAnLCAnOwoJICB9CgkkcmV0IC49ICR0aGlzLT5tb2RfZ2xvYmFscy0+TGFuZygncGVybWl0dGVkX2V4dGVuc2lvbnMnKSAuICc6ICcuJGV4dHNbMF0tPlZhbHVlOwogICAgICB9CiAgfQoKCiAgZnVuY3Rpb24gUmVuZGVyQWRtaW5Gb3JtKCRmb3JtRGVzY3JpcHRvcikKICB7CiAgICAkbW9kdWxlID0mICR0aGlzLT5tb2RfZ2xvYmFscy0+c2VsZnB0cjsKICAgICRtcyA9ICR0aGlzLT5HZXRPcHRpb25CeUtpbmQoJ21heF9zaXplJyk7CiAgICAkZXh0cyA9ICR0aGlzLT5HZXRPcHRpb25CeUtpbmQoJ3Blcm1pdHRlZF9leHRlbnNpb25zJyk7CiAgICAkc2hvdyA9ICR0aGlzLT5HZXRPcHRpb25CeUtpbmQoJ3Nob3dfZGV0YWlscycpOwoKICAgIHJldHVybiBhcnJheSgkdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ3RpdGxlX21heGltdW1fc2l6ZScpLic6Jz0+CgkJICRtb2R1bGUtPkNyZWF0ZUlucHV0VGV4dCgkZm9ybURlc2NyaXB0b3IsICdtYXhfc2l6ZScsCgkJCQkJICAgIGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCRtc1swXS0+VmFsdWUpPyRtc1swXS0+VmFsdWU6KCR0aGlzLT5tb2RfZ2xvYmFscy0+TWF4VXBsb2FkU2l6ZS8xMDAwKSwyNSwyNSksCgkJICR0aGlzLT5tb2RfZ2xvYmFscy0+TGFuZygndGl0bGVfcGVybWl0dGVkX2V4dGVuc2lvbnMnKS4nOic9PgoJCSAkbW9kdWxlLT5DcmVhdGVJbnB1dFRleHQoJGZvcm1EZXNjcmlwdG9yLCAncGVybWl0dGVkX2V4dGVuc2lvbnMnLAoJCQkJCSAgICBmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkZXh0c1swXS0+VmFsdWUpPyRleHRzWzBdLT5WYWx1ZTonJywyNSw4MCkuJzxiciAvPicuCgkJICR0aGlzLT5tb2RfZ2xvYmFscy0+TGFuZygndGl0bGVfcGVybWl0dGVkX2V4dGVuc2lvbnNfbG9uZycpLAoJCSAkdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ3RpdGxlX3Nob3dfbGltaXRhdGlvbnMnKS4nOic9PiRtb2R1bGUtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGZvcm1EZXNjcmlwdG9yLCAnc2hvd19kZXRhaWxzJywgJ3RydWUnLCBmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkc2hvd1swXS0+VmFsdWUpPyRzaG93WzBdLT5WYWx1ZTonJykuCgkJICcgJy4kdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ3RpdGxlX3Nob3dfbGltaXRhdGlvbnNfbG9uZycpCgkJICk7CiAgfQoKCiAgZnVuY3Rpb24gVmFsaWRhdGUoKQogIHsKICAgICRyZXN1bHQgPSB0cnVlOwogICAgJG1lc3NhZ2UgPSAnJzsKICAgICRtcyA9ICR0aGlzLT5HZXRPcHRpb25CeUtpbmQoJ21heF9zaXplJyk7CiAgICAkZXh0cyA9ICR0aGlzLT5HZXRPcHRpb25CeUtpbmQoJ3Blcm1pdHRlZF9leHRlbnNpb25zJyk7CiAgICAkZnVsbEFsaWFzID0gJHRoaXMtPm1vZF9nbG9iYWxzLT5Nb2R1bGVJbnB1dFByZWZpeC4kdGhpcy0+QWxpYXM7CiAgICBpZiAoJF9GSUxFU1skZnVsbEFsaWFzXVsnc2l6ZSddIDwgMSAmJiAhICR0aGlzLT5SZXF1aXJlZCkKICAgICAgewoJcmV0dXJuIGFycmF5KHRydWUsJycpOwogICAgICB9CiAgICBpZiAoZmZVdGlsaXR5RnVuY3Rpb25zOjpkZWYoJG1zWzBdLT5WYWx1ZSkgJiYgJF9GSUxFU1skZnVsbEFsaWFzXVsnc2l6ZSddID4gKCRtc1swXS0+VmFsdWUgKiAxMDAwKSkKICAgICAgewoJJG1lc3NhZ2UgPSAkdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ2ZpbGVfdG9vX2xhcmdlJykuICcgJy4oJG1zWzBdLT5WYWx1ZSAqIDEwMDApLidrYic7CgkkcmVzdWx0ID0gZmFsc2U7CiAgICAgIH0KICAgIGlmIChmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkZXh0c1swXS0+VmFsdWUpKQogICAgICB7CgkkbWF0Y2ggPSBmYWxzZTsKCSRsZWdhbEV4dHMgPSBleHBsb2RlKCcsJywkZXh0c1swXS0+VmFsdWUpOwoJZm9yZWFjaCAoJGxlZ2FsRXh0cyBhcyAkdGhpc0V4dCkKCSAgewoJICAgIGlmIChwcmVnX21hdGNoKCcvXC4nLnRyaW0oJHRoaXNFeHQpLickL2knLCRfRklMRVNbJGZ1bGxBbGlhc11bJ25hbWUnXSkpCgkgICAgICB7CgkJJG1hdGNoID0gdHJ1ZTsKCSAgICAgIH0KCSAgICBlbHNlIGlmIChwcmVnX21hdGNoKCcvJy50cmltKCR0aGlzRXh0KS4nL2knLCRfRklMRVNbJGZ1bGxBbGlhc11bJ3R5cGUnXSkpCgkgICAgICB7CgkJJG1hdGNoID0gdHJ1ZTsKCSAgICAgIH0KCSAgfQoJaWYgKCEgJG1hdGNoKQoJICB7CgkgICAgJG1lc3NhZ2UgPSAkdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ2lsbGVnYWxfZmlsZV90eXBlJyk7CgkgICAgJHJlc3VsdCA9IGZhbHNlOwoJICB9CiAgICAgIH0KICAgIHJldHVybiBhcnJheSgkcmVzdWx0LCAkbWVzc2FnZSk7CiAgfQoKfQoKPz4K]]></data>
	</file>
	<file>
	  <filename>/classes/Form.class.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLy8gRmVlZGJhY2sgRm9ybS4gMDIvMjAwNSBTakcgPGZlZWRiYWNrZm9ybV9jbXNtb2R1bGVAZm9nYm91bmQubmV0PgovLyBBIE1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlLCAoYykyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKLy8gVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKCmNsYXNzIGZmRm9ybSB7CgogIHZhciAkRm9ybUlkID0gLTE7CiAgdmFyICROYW1lID0gJyc7CiAgdmFyICRBbGlhcyA9ICcnOwogIHZhciAkU3VibWl0QnV0dG9uVGV4dCA9ICcnOwogIHZhciAkTmV4dEJ1dHRvblRleHQgPSAnJzsKICB2YXIgJFRoYW5rc01lc3NhZ2UgPSAnJzsKICB2YXIgJENTU0NsYXNzID0gJyc7CiAgdmFyICRSZXF1aXJlZEZpZWxkU3ltYm9sID0gJyc7CiAgdmFyICRtb2RfZ2xvYmFsczsKICB2YXIgJGxvYWRlZDsKICB2YXIgJGZvcm1Ub3RhbFBhZ2VzOwogIHZhciAkdGhpc1BhZ2U7CiAgICAKICB2YXIgJEZpZWxkczsKCiAgZnVuY3Rpb24gZmZGb3JtKCYkbW9kX2dsb2JhbHMsICYkcGFyYW1zKQogIHsKICAgICR0aGlzLT5tb2RfZ2xvYmFscyA9ICYkbW9kX2dsb2JhbHM7CiAgICAkdGhpcy0+RmllbGRzID0gYXJyYXkoKTsKICAgIGlmIChmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkcGFyYW1zWydmb3JtX2lkJ10pKQogICAgICB7CgkkdGhpcy0+Rm9ybUlkID0gJHBhcmFtc1snZm9ybV9pZCddOwogICAgICB9CiAgICBpZiAoZmZVdGlsaXR5RnVuY3Rpb25zOjpkZWYoJHBhcmFtc1snZm9ybV9uYW1lJ10pKQogICAgICB7CgkkdGhpcy0+TmFtZSA9ICRwYXJhbXNbJ2Zvcm1fbmFtZSddOwogICAgICB9CiAgICBpZiAoZmZVdGlsaXR5RnVuY3Rpb25zOjpkZWYoJHBhcmFtc1snZm9ybV9hbGlhcyddKSkKICAgICAgewoJJHRoaXMtPkFsaWFzID0gJHBhcmFtc1snZm9ybV9hbGlhcyddOwogICAgICB9CiAgICBlbHNlIGlmIChmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkcGFyYW1zWydmb3JtX25hbWUnXSkpCiAgICAgIHsKCSR0aGlzLT5BbGlhcyA9IGZmVXRpbGl0eUZ1bmN0aW9uczo6TWFrZUFsaWFzKCR0aGlzLT5OYW1lLCB0cnVlKTsKICAgICAgfQogICAgaWYgKGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCRwYXJhbXNbJ2Zvcm1fc3VibWl0X2J1dHRvbl90ZXh0J10pKQogICAgICB7CgkkdGhpcy0+U3VibWl0QnV0dG9uVGV4dCA9ICRwYXJhbXNbJ2Zvcm1fc3VibWl0X2J1dHRvbl90ZXh0J107CiAgICAgIH0KICAgIGlmIChmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkcGFyYW1zWydmb3JtX25leHRfYnV0dG9uX3RleHQnXSkpCiAgICAgIHsKCSR0aGlzLT5OZXh0QnV0dG9uVGV4dCA9ICRwYXJhbXNbJ2Zvcm1fbmV4dF9idXR0b25fdGV4dCddOwogICAgICB9CiAgICBpZiAoZmZVdGlsaXR5RnVuY3Rpb25zOjpkZWYoJHBhcmFtc1snZm9ybV9jc3NfY2xhc3MnXSkpCiAgICAgIHsKCSR0aGlzLT5DU1NDbGFzcyA9ICRwYXJhbXNbJ2Zvcm1fY3NzX2NsYXNzJ107CiAgICAgIH0KICAgIGlmIChmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkcGFyYW1zWydmb3JtX3JlcXVpcmVkX2ZpZWxkX3N5bWJvbCddKSkKICAgICAgewoJJHRoaXMtPlJlcXVpcmVkRmllbGRTeW1ib2wgPSAkcGFyYW1zWydmb3JtX3JlcXVpcmVkX2ZpZWxkX3N5bWJvbCddOwogICAgICB9CiAgICBpZiAoZmZVdGlsaXR5RnVuY3Rpb25zOjpkZWYoJHBhcmFtc1snZm9ybV90aGFua3NfbWVzc2FnZSddKSkKICAgICAgewoJJHRoaXMtPlRoYW5rc01lc3NhZ2UgPSAkcGFyYW1zWydmb3JtX3RoYW5rc19tZXNzYWdlJ107CiAgICAgIH0KICAgIGlmIChmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkcGFyYW1zWydjb250aW51ZSddKSkKICAgICAgewoJJHRoaXMtPnRoaXNQYWdlID0gJHBhcmFtc1snY29udGludWUnXTsKICAgICAgfQogICAgJHRoaXMtPmxvYWRlZCA9ICdub3QnOwogICAgJHRoaXMtPmZvcm1Ub3RhbFBhZ2VzID0gMTsKICB9CgoKICBmdW5jdGlvbiBWYWxpZGF0ZSgpCiAgewogICAgJHZhbGlkYXRlZCA9IHRydWU7CiAgICAkbWVzc2FnZSA9ICcnOwogICAgJGZvcm1QYWdlQ291bnQ9MTsKICAgIGZvcigkaT0wOyRpPGNvdW50KCR0aGlzLT5GaWVsZHMpOyRpKyspCiAgICAgIHsKCWlmICgkdGhpcy0+RmllbGRzWyRpXS0+VHlwZSA9PSAnUGFnZUJyZWFrJykKCSAgewoJICAgICRmb3JtUGFnZUNvdW50Kys7CgkgIH0KCS8vZWNobyAndmFsaWRhdGU6ICcuJGZvcm1QYWdlQ291bnQgLiAnICcgLiAkdGhpcy0+dGhpc1BhZ2UgLiAnICcgLiAkdGhpc0ZpZWxkLT5OYW1lLic8YnI+JzsKCWlmIChmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkdGhpcy0+dGhpc1BhZ2UpICYmICR0aGlzLT50aGlzUGFnZSAhPSAkZm9ybVBhZ2VDb3VudCkKCSAgewoJICAgIGNvbnRpbnVlOwoJICB9CgkvL2VjaG8gJ3ZhbGlkYXRpbmcgJy4gJHRoaXNGaWVsZC0+TmFtZS4nPGJyPic7CglpZiAoISAkdGhpcy0+RmllbGRzWyRpXS0+SXNEaXNwb3NpdGlvbiAmJgoJICAgICR0aGlzLT5GaWVsZHNbJGldLT5SZXF1aXJlZCAmJgoJICAgICEgZmZVdGlsaXR5RnVuY3Rpb25zOjpkZWYoJHRoaXMtPkZpZWxkc1skaV0tPlZhbHVlKSkKCSAgewoJICAgICRtZXNzYWdlIC49ICI8aDQ+Ii4kdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ3BsZWFzZV9lbnRlcl9hX3ZhbHVlJykuJyAiJy4gJHRoaXMtPkZpZWxkc1skaV0tPk5hbWUuIlwiPC9oND5cbiI7CgkgICAgJHZhbGlkYXRlZCA9IGZhbHNlOwogICAgICAgIAkJCgkgIH0KCWVsc2UKCSAgeyAKCSAgICAkcmVzID0gJHRoaXMtPkZpZWxkc1skaV0tPlZhbGlkYXRlKCk7CgkgICAgaWYgKCRyZXNbMF0gIT0gdHJ1ZSkKCSAgICAgIHsKCQkkbWVzc2FnZSAuPSAiPGg0PiIuICRyZXNbMV0uIjwvaDQ+XG4iOwoJCSR2YWxpZGF0ZWQgPSBmYWxzZTsKCSAgICAgIH0KCSAgfQogICAgICB9CiAgICByZXR1cm4gYXJyYXkoJHZhbGlkYXRlZCwgJG1lc3NhZ2UpOwogIH0KCgogIGZ1bmN0aW9uIEhhc0Rpc3Bvc2l0aW9uKCkKICB7CiAgICAkaGFzRGlzcCA9IGZhbHNlOwogICAgZm9yKCRpPTA7JGk8Y291bnQoJHRoaXMtPkZpZWxkcyk7JGkrKykKICAgICAgewoJaWYgKCR0aGlzLT5GaWVsZHNbJGldLT5Jc0Rpc3Bvc2l0aW9uKQoJICB7CgkgICAgJGhhc0Rpc3AgPSB0cnVlOwoJICB9CiAgICAgIH0KICAgIHJldHVybiAkaGFzRGlzcDsKICB9CgogIGZ1bmN0aW9uIERpc3Bvc2UoJiRjb25maWcpCiAgewogICAgJHJlc0FycmF5ID0gYXJyYXkoKTsKICAgIC8vIGJ1aWxkIGEgcmVzdWx0cyBhcnJheSBvZiBmaWVsZCBuYW1lcy9maWVsZCB2YWx1ZXMKICAgIGZvcigkaT0wOyRpPGNvdW50KCR0aGlzLT5GaWVsZHMpOyRpKyspCiAgICAgIHsKCS8vZGVidWdfZGlzcGxheSgkY29uZmlnLT5Gcm9tQWRkcmVzcyk7CglpZiAoISAkdGhpcy0+RmllbGRzWyRpXS0+SXNEaXNwb3NpdGlvbikKCSAgewoJICAgICRyZXNBcnJheVtdID0gYXJyYXkoJHRoaXMtPkZpZWxkc1skaV0tPk5hbWUsCiAgICAgICAgCQkJJHRoaXMtPkZpZWxkc1skaV0tPkdldFZhbHVlKCkpOwoJICB9CgkvL2RlYnVnX2Rpc3BsYXkoJGNvbmZpZy0+RnJvbUFkZHJlc3MpOwoKICAgICAgfQogICAgICAgIAogICAgJHJldENvZGUgPSB0cnVlOwogICAgLy8gZm9yIGVhY2ggZm9ybSBkaXNwb3NpdGlvbiBwc2V1ZG8tZmllbGQsIGRpc3Bvc2UgdGhlIGZvcm0gcmVzdWx0cwogICAgZm9yKCRpPTA7JGk8Y291bnQoJHRoaXMtPkZpZWxkcyk7JGkrKykKICAgICAgewoJaWYgKCR0aGlzLT5GaWVsZHNbJGldLT5Jc0Rpc3Bvc2l0aW9uKQoJICB7CgkgICAgaWYgKCEgJHRoaXMtPkZpZWxkc1skaV0tPkRpc3Bvc2VGb3JtKCR0aGlzLT5OYW1lLCAkY29uZmlnLCAkcmVzQXJyYXkpKQoJICAgICAgewoJCSRyZXRDb2RlID0gZmFsc2U7CgkgICAgICB9CgkgIH0KICAgICAgfQogICAgcmV0dXJuICRyZXRDb2RlOwkJCiAgfQoKICBmdW5jdGlvbiBSZW5kZXJGb3JtSGVhZGVyKCR2ZXJzaW9uKQogIHsKICAgIGlmICghICR0aGlzLT5tb2RfZ2xvYmFscy0+SGlkZUVycm9ycykKICAgICAgewoJZWNobyAiXG48IS0tIFN0YXJ0IEZlZWRiYWNrRm9ybSBNb2R1bGUgKCIuJHZlcnNpb24uIikgLS0+XG4iOwogICAgICB9CiAgfQoKICBmdW5jdGlvbiBSZW5kZXJGb3JtRm9vdGVyKCkKICB7CiAgICBpZiAoISAkdGhpcy0+bW9kX2dsb2JhbHMtPkhpZGVFcnJvcnMpCiAgICAgIHsKCWVjaG8gIlxuPCEtLSBFbmQgRmVlZGJhY2tGb3JtIE1vZHVsZSAtLT5cbiI7CiAgICAgIH0KICB9CgogIGZ1bmN0aW9uIFJlbmRlckZvcm0oJGlkLCAmJHBhcmFtcywgJHJldHVybl9pZCkKICB7CiAgICAkbW9kdWxlID0mICR0aGlzLT5tb2RfZ2xvYmFscy0+c2VsZnB0cjsKICAgIGlmICgkdGhpcy0+Rm9ybUlkID09IC0xKQogICAgICB7CgllY2hvICI8IS0tIG5vIGZvcm0gLS0+XG4iOwoJcmV0dXJuOwogICAgICB9CiAgICBpZiAoJHRoaXMtPmxvYWRlZCAhPSAnZnVsbCcpCiAgICAgIHsKCSR0aGlzLT5Mb2FkRm9ybSgkcGFyYW1zKTsKICAgICAgfQogICAgJHRoaXMtPnRoaXNQYWdlKys7CiAgICBpZiAoJHRoaXMtPmZvcm1Ub3RhbFBhZ2VzID4gMSkKICAgICAgewoJZWNobyAiPHA+UGFnZSAiLiR0aGlzLT50aGlzUGFnZS4iIG9mICIuJHRoaXMtPmZvcm1Ub3RhbFBhZ2VzLiI8L3A+IjsKICAgICAgfQogICAgZWNobyAnPGRpdiBjbGFzcz0iZmVlZGJhY2tmb3JtX2hpZGRlbiI+JzsKICAgIGVjaG8gJG1vZHVsZS0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAnZm9ybV9pZCcsICR0aGlzLT5Gb3JtSWQpOwogICAgZWNobyAkbW9kdWxlLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICdjb250aW51ZScsICR0aGlzLT50aGlzUGFnZSk7CiAgICBpZiAoJHRoaXMtPnRoaXNQYWdlID09ICR0aGlzLT5mb3JtVG90YWxQYWdlcykKICAgICAgewoJZWNobyAkbW9kdWxlLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICdkb25lJywgMSk7CiAgICAgIH0KICAgIGVjaG8gIjwvZGl2PiI7CiAgICBpZiAoJHRoaXMtPm1vZF9nbG9iYWxzLT5Vc2VDU1MpCiAgICAgIHsKCWVjaG8gIjxkaXYiOwogICAgICB9CiAgICBlbHNlCiAgICAgIHsKCWVjaG8gIjx0YWJsZSI7CiAgICAgIH0KICAgIGlmIChzdHJsZW4oJHRoaXMtPkNTU0NsYXNzKT4wKQogICAgICB7CgllY2hvICIgY2xhc3M9XCIiLiR0aGlzLT5DU1NDbGFzcy4iXCIiOwogICAgICB9CiAgICBlY2hvICI+IjsKICAgICRmb3JtUGFnZUNvdW50ID0gMTsKICAgIGZvciAoJGk9MDsgJGkgPCBjb3VudCgkdGhpcy0+RmllbGRzKTsgJGkrKykKICAgICAgewoJJHRoaXNGaWVsZCA9ICR0aGlzLT5GaWVsZHNbJGldOwoJaWYgKCR0aGlzRmllbGQtPlR5cGUgPT0gJ1BhZ2VCcmVhaycpCgkgIHsKCSAgICAkZm9ybVBhZ2VDb3VudCsrOwoJICB9CgkvL2VjaG8gJ3JlbmRlcjogJy4kZm9ybVBhZ2VDb3VudCAuICcgJyAuICR0aGlzLT50aGlzUGFnZSAuICcgJyAuICR0aGlzRmllbGQtPk5hbWUuJzxicj4nOwoJaWYgKCRmb3JtUGFnZUNvdW50ICE9ICR0aGlzLT50aGlzUGFnZSkKCSAgewoJICAgIGlmIChpc19hcnJheSgkcGFyYW1zWyR0aGlzLT5GaWVsZHNbJGldLT5BbGlhc10pKQoJICAgICAgewoJCWZvcmVhY2ggKCRwYXJhbXNbJHRoaXMtPkZpZWxkc1skaV0tPkFsaWFzXSBhcyAkdmFsKQoJCSAgewoJCSAgICBlY2hvICRtb2R1bGUtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgJHRoaXMtPkZpZWxkc1skaV0tPkFsaWFzLidbXScsIGh0bWxzcGVjaWFsY2hhcnMoJHZhbCxFTlRfUVVPVEVTKSk7CgkJICB9CgkgICAgICB9CgkgICAgZWxzZQoJICAgICAgewoJCWVjaG8gJG1vZHVsZS0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAkdGhpcy0+RmllbGRzWyRpXS0+QWxpYXMsIGh0bWxzcGVjaWFsY2hhcnMoJHBhcmFtc1skdGhpcy0+RmllbGRzWyRpXS0+QWxpYXNdLEVOVF9RVU9URVMpKTsKCSAgICAgIH0KCSAgICBjb250aW51ZTsKCSAgfQoJaWYgKCR0aGlzRmllbGQtPkRpc3BsYXlJbkZvcm0pCgkgIHsKCSAgICBpZiAoJHRoaXMtPm1vZF9nbG9iYWxzLT5Vc2VDU1MpCgkgICAgICB7CgkJaWYgKCEgJHRoaXNGaWVsZC0+U2hvd0xhYmVsKQoJCSAgewoJCSAgICBpZiAoJHRoaXNGaWVsZC0+UmVxdWlyZWQpCgkJICAgICAgewoJCQllY2hvICI8cCBjbGFzcz1cInJlcXVpcmVkXCI+IjsKCQkgICAgICB9CgkJICAgIGVsc2UKCQkgICAgICB7CgkJCWVjaG8gIjxwPiI7CgkJICAgICAgfQoJCSAgICBlY2hvICR0aGlzRmllbGQtPk5hbWU7CgkJICAgIGlmICgkdGhpc0ZpZWxkLT5SZXF1aXJlZCAmJiBzdHJsZW4oJHRoaXMtPlJlcXVpcmVkRmllbGRTeW1ib2wpPjApIAoJCSAgICAgIHsKCQkJZWNobyAiICIuJHRoaXMtPlJlcXVpcmVkRmllbGRTeW1ib2w7CgkJICAgICAgfQoJCSAgICBlY2hvICI8L3A+IjsKCQkgIH0KCQllY2hvICR0aGlzRmllbGQtPldyaXRlVG9QdWJsaWNGb3JtKCRpZCwgJHBhcmFtcywgJHJldHVybl9pZCk7CgkgICAgICB9CgkgICAgZWxzZQoJICAgICAgewoJCWlmICgkdGhpcy0+bW9kX2dsb2JhbHMtPlRpdGxlUG9zaXRpb24gPT0gMCkKCQkgIHsKCQkgICAgZWNobyAiPHRyPjx0ZCBhbGlnbj1cInJpZ2h0XCIgdmFsaWduPVwidG9wXCIiOwoJCSAgfQoJCWVsc2UgaWYgKCR0aGlzLT5tb2RfZ2xvYmFscy0+VGl0bGVQb3NpdGlvbiA9PSAxKQoJCSAgewoJCSAgICBlY2hvICI8dHI+PHRkIjsKCQkgIH0KCQlpZiAoISAkdGhpc0ZpZWxkLT5TaG93TGFiZWwpCgkJICB7CgkJICAgIGlmICgkdGhpc0ZpZWxkLT5SZXF1aXJlZCkKCQkgICAgICB7CgkJCWVjaG8gIiBjbGFzcz1cInJlcXVpcmVkIjsKCQkJaWYgKGlzc2V0KCR0aGlzRmllbGQtPkNTU0NsYXNzKSAmJiAkdGhpc0ZpZWxkLT5DU1NDbGFzcyAhPSAnJykKCQkJICB7CgkJCSAgICBlY2hvICcsJy4kdGhpc0ZpZWxkLT5DU1NDbGFzcy4nIic7CgkJCSAgfQoJCQllbHNlCgkJCSAgewoJCQkgICAgZWNobyAnIic7CgkJCSAgfQoJCSAgICAgIH0KCQkgICAgZWxzZSBpZiAoaXNzZXQoJHRoaXNGaWVsZC0+Q1NTQ2xhc3MpICYmICR0aGlzRmllbGQtPkNTU0NsYXNzICE9ICcnKQoJCSAgICAgIHsKCQkJZWNobyAnIGNsYXNzPSInLiR0aGlzRmllbGQtPkNTU0NsYXNzLiciJzsKCQkgICAgICB9CgkJICAgIGVjaG8gIj4iLiR0aGlzRmllbGQtPk5hbWU7CgkJICAgIGlmICgkdGhpc0ZpZWxkLT5SZXF1aXJlZCAmJiBzdHJsZW4oJHRoaXMtPlJlcXVpcmVkRmllbGRTeW1ib2wpPjApCgkJICAgICAgewoJCQllY2hvICIgIi4kdGhpcy0+UmVxdWlyZWRGaWVsZFN5bWJvbDsKCQkgICAgICB9CgkJICB9CgkJZWxzZQoJCSAgewoJCSAgICBlY2hvICI+Jm5ic3A7IjsKCQkgIH0KCQlpZiAoJHRoaXMtPm1vZF9nbG9iYWxzLT5UaXRsZVBvc2l0aW9uID09IDApCgkJICB7CgkJICAgIGVjaG8gIjwvdGQ+PHRkIGFsaWduPVwibGVmdFwiIHZhbGlnbj1cInRvcFwiPiI7CgkJICB9CgkJZWxzZSBpZiAoJHRoaXMtPm1vZF9nbG9iYWxzLT5UaXRsZVBvc2l0aW9uID09IDEpCgkJICB7CgkJICAgIGVjaG8gIjwvdGQ+PC90cj48dHI+PHRkPiI7CgkJICB9CgkJZWNobyAkdGhpc0ZpZWxkLT5Xcml0ZVRvUHVibGljRm9ybSgkaWQsICRwYXJhbXMsICRyZXR1cm5faWQpOwoJCWVjaG8gIjwvdGQ+PC90cj5cbiI7CgkgICAgICB9CgkgIH0KCWVsc2UgaWYgKCR0aGlzRmllbGQtPlR5cGUgPT0gJ0Z1bmN0aW9uQ2FsbElucHV0JykKCSAgewoJICAgIGVjaG8gJHRoaXNGaWVsZC0+V3JpdGVUb1B1YmxpY0Zvcm0oJGlkLCAkcGFyYW1zLCAkcmV0dXJuX2lkKTsKCSAgfQogICAgICB9CiAgICBpZiAoISAkdGhpcy0+bW9kX2dsb2JhbHMtPlVzZUNTUykKICAgICAgewoJZWNobyAiPHRyPiI7CglpZiAoJHRoaXMtPm1vZF9nbG9iYWxzLT5UaXRsZVBvc2l0aW9uID09IDApCgkgIHsKCSAgICBlY2hvICI8dGQ+Jm5ic3A7PC90ZD48dGQ+IjsKCSAgfQoJZWxzZQoJICB7CgkgICAgZWNobyAiPHRkPiI7CgkgIH0KICAgICAgfQogICAgaWYgKCR0aGlzLT50aGlzUGFnZSA8ICRmb3JtUGFnZUNvdW50KQogICAgICB7CgllY2hvICRtb2R1bGUtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ3N1Ym1pdCcsICR0aGlzLT5OZXh0QnV0dG9uVGV4dCwkdGhpcy0+bW9kX2dsb2JhbHMtPlVzZUlEQW5kTmFtZT8naWQ9IicuJHRoaXMtPkFsaWFzLidfc3ViIiBjbGFzcz0iZmZzdWJtaXQiJzonY2xhc3M9ImZmc3VibWl0IicpOwogICAgICB9CiAgICBlbHNlCiAgICAgIHsKCWVjaG8gJG1vZHVsZS0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnc3VibWl0JywgJHRoaXMtPlN1Ym1pdEJ1dHRvblRleHQsJHRoaXMtPm1vZF9nbG9iYWxzLT5Vc2VJREFuZE5hbWU/J2lkPSInLiR0aGlzLT5BbGlhcy4nX3N1YiIgY2xhc3M9ImZmc3VibWl0Iic6J2NsYXNzPSJmZnN1Ym1pdCInKTsKICAgICAgfQogICAgaWYgKCR0aGlzLT5tb2RfZ2xvYmFscy0+VXNlQ1NTKQogICAgICB7CgllY2hvICI8L2Rpdj5cbiI7CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJZWNobyAiPC90ZD48L3RyPjwvdGFibGU+XG4iOwogICAgICB9CiAgfQoKICBmdW5jdGlvbiBEZWJ1Z0Rpc3BsYXkoKQogIHsKICAgIGVjaG8gIkZvcm0gSUQ6ICIuJHRoaXMtPkZvcm1JZC4iPGJyIC8+XG4iOwogICAgZWNobyAiRm9ybSBOYW1lOiAiLiR0aGlzLT5OYW1lLiI8YnIgLz5cbiI7CiAgICBlY2hvICJGb3JtIEFsaWFzOiAiLiR0aGlzLT5BbGlhcy4iPGJyIC8+XG4iOwogICAgZWNobyAiRm9ybSBTdWJtaXQgQnV0dG9uIFRleHQ6ICIuJHRoaXMtPlN1Ym1pdEJ1dHRvblRleHQuIjxiciAvPlxuIjsKICAgIGVjaG8gIkZvcm0gVGhhbmtzIE1lc3NhZ2U6ICIuJHRoaXMtPlRoYW5rc01lc3NhZ2UuIjxiciAvPlxuIjsKICAgIGVjaG8gIkZvcm0gQ1NTIENsYXNzOiAiLiR0aGlzLT5DU1NDbGFzcy4iPGJyIC8+XG4iOwogICAgZWNobyAiRm9ybSBUYWJsZSBOYW1lOiAiLiR0aGlzLT5tb2RfZ2xvYmFscy0+Rm9ybVRhYmxlTmFtZS4iPGJyIC8+IjsKICAgIGVjaG8gIkZpZWxkIFRhYmxlIE5hbWU6ICIuJHRoaXMtPm1vZF9nbG9iYWxzLT5GaWVsZFRhYmxlTmFtZS4iPGJyIC8+IjsKICAgIGVjaG8gIk9wdGlvbiBUYWJsZSBOYW1lOiAiLiR0aGlzLT5tb2RfZ2xvYmFscy0+T3B0aW9uVGFibGVOYW1lLiI8YnIgLz4iOwogICAgZWNobyAiTnVtYmVyIG9mIGZpZWxkczogIi5jb3VudCgkdGhpcy0+RmllbGRzKS4iPGJyIC8+IjsKICAgIGZvcigkaT0wOyRpPGNvdW50KCR0aGlzLT5GaWVsZHMpOyRpKyspCiAgICAgIHsKCWVjaG8gJHRoaXMtPkZpZWxkc1skaV0tPkRlYnVnRGlzcGxheSgpOwogICAgICB9CiAgfQoKICAvLyBUT0RPOiByZXR1cm5zIHRoZSBpbmRleCBvZiB0aGUgYWRkZWQgZmllbGQKICBmdW5jdGlvbiBBZGRGaWVsZCgkZmllbGRJbmZvPWFycmF5KCkpCiAgewogICAgJGNsYXNzTmFtZSA9ICR0aGlzLT5NYWtlQ2xhc3NOYW1lKCRmaWVsZEluZm9bJ3R5cGUnXSwgJycpOwogICAgLy8gY3JlYXRlIHRoZSBmaWVsZCBvYmplY3QKICAgICR0aGlzLT5GaWVsZHNbXSA9IG5ldyAkY2xhc3NOYW1lKCR0aGlzLT5tb2RfZ2xvYmFscywgJGZpZWxkSW5mbyk7CiAgfQoKCgogIGZ1bmN0aW9uIExvYWRGb3JtKCYkcGFyYW1zKQogIHsKICAgIHJldHVybiAkdGhpcy0+TG9hZCgkdGhpcy0+Rm9ybUlkLCAkcGFyYW1zLCB0cnVlKTsKICB9CgogIC8vIGxvYWREZWVwIGFsc28gbG9hZHMgYWxsIGZpZWxkcyBhbmQgb3B0aW9ucyBmb3IgYSBmb3JtLgogIGZ1bmN0aW9uIExvYWQoJGZvcm1JZCwgJiRwYXJhbXMsICRsb2FkRGVlcD1mYWxzZSkKICB7CiAgICAkc3FsID0gJ1NFTEVDVCAqIEZST00gJyAuICR0aGlzLT5tb2RfZ2xvYmFscy0+Rm9ybVRhYmxlTmFtZSAuICcgV0hFUkUgZm9ybV9pZD0/JzsKICAgICRycyA9ICR0aGlzLT5tb2RfZ2xvYmFscy0+REJIYW5kbGUtPkV4ZWN1dGUoJHNxbCwgYXJyYXkoJGZvcm1JZCkpOwogICAgaWYoJHJzICYmICRycy0+UmVjb3JkQ291bnQoKSA+IDApCiAgICAgIHsKCSRyZXN1bHQgPSAkcnMtPkdldEFycmF5KCk7CgkkdGhpcy0+Rm9ybUlkID0gJHJlc3VsdFswXVsnZm9ybV9pZCddOwoJJHRoaXMtPk5hbWUgPSAkcmVzdWx0WzBdWyduYW1lJ107CgkkdGhpcy0+QWxpYXMgPSAkcmVzdWx0WzBdWydhbGlhcyddOwoJJHRoaXMtPlN1Ym1pdEJ1dHRvblRleHQgPSAkcmVzdWx0WzBdWydzdWJtaXRfYnV0dG9uX3RleHQnXTsKCSR0aGlzLT5UaGFua3NNZXNzYWdlID0gJHJlc3VsdFswXVsndGhhbmtzX21lc3NhZ2UnXTsKCWlmIChmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkcmVzdWx0WzBdWydjc3NfY2xhc3MnXSkpCgkgIHsKCSAgICAkdGhpcy0+Q1NTQ2xhc3MgPSAkcmVzdWx0WzBdWydjc3NfY2xhc3MnXTsKCSAgfQoJaWYgKGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCRyZXN1bHRbMF1bJ25leHRfYnV0dG9uX3RleHQnXSkpCgkgIHsKCSAgICAkdGhpcy0+TmV4dEJ1dHRvblRleHQgPSAkcmVzdWx0WzBdWyduZXh0X2J1dHRvbl90ZXh0J107CgkgIH0KCWlmIChmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkcmVzdWx0WzBdWydyZXF1aXJlZF9maWVsZF9zeW1ib2wnXSkpCgkgIHsKCSAgICAkdGhpcy0+UmVxdWlyZWRGaWVsZFN5bWJvbCA9ICRyZXN1bHRbMF1bJ3JlcXVpcmVkX2ZpZWxkX3N5bWJvbCddOwoJICB9CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJcmV0dXJuIGZhbHNlOwogICAgICB9CiAgICAkdGhpcy0+bG9hZGVkID0gJ3N1bW1hcnknOwogICAgaWYgKCRsb2FkRGVlcCkKICAgICAgewoJJHNxbCA9ICdTRUxFQ1QgKiBGUk9NICcgLiAkdGhpcy0+bW9kX2dsb2JhbHMtPkZpZWxkVGFibGVOYW1lIC4KCSAgJyBXSEVSRSBmb3JtX2lkPT8gT1JERVIgQlkgb3JkZXJfYnknOwoJJHJzID0gJHRoaXMtPm1vZF9nbG9iYWxzLT5EQkhhbmRsZS0+RXhlY3V0ZSgkc3FsLCBhcnJheSgkZm9ybUlkKSk7CgkkcmVzdWx0ID0gYXJyYXkoKTsKCWlmICgkcnMgJiYgJHJzLT5SZWNvcmRDb3VudCgpID4gMCkKCSAgewoJICAgICRyZXN1bHQgPSAkcnMtPkdldEFycmF5KCk7CgkgIH0KCSRmaWVsZENvdW50ID0gMDsKCWlmIChjb3VudCgkcmVzdWx0KSA+IDApCgkgIHsKCSAgICBmb3JlYWNoKCRyZXN1bHQgYXMgJHRoaXNSZXMpCgkgICAgICB7CgkJJGNsYXNzTmFtZSA9ICR0aGlzLT5NYWtlQ2xhc3NOYW1lKCR0aGlzUmVzWyd0eXBlJ10sICcnKTsKCQkvLyBjcmVhdGUgdGhlIGZpZWxkIG9iamVjdAoJCSR0bXBBcnJheSA9IGFycmF5X21lcmdlKCR0aGlzUmVzLCRwYXJhbXMpOwoJCSR0aGlzLT5GaWVsZHNbJGZpZWxkQ291bnRdID0gbmV3ICRjbGFzc05hbWUoJHRoaXMtPm1vZF9nbG9iYWxzLCR0aGlzLCAkdG1wQXJyYXkpOwoJCS8vIGxvYWQgaXRzIG9wdGlvbnMKCQkkdGhpcy0+RmllbGRzWyRmaWVsZENvdW50XS0+TG9hZE9wdGlvbnMoJHBhcmFtcyk7CgkJJGZpZWxkQ291bnQrKzsKCSAgICAgIH0KCSAgfQoJJHRoaXMtPmxvYWRlZCA9ICdmdWxsJzsKICAgICAgfQoJCQogICAgZm9yICgkaT0wOyAkaSA8IGNvdW50KCR0aGlzLT5GaWVsZHMpOyAkaSsrKQogICAgICB7CgkvL2VjaG8gJHRoaXMtPkZpZWxkc1skaV0tPlR5cGUuJyAnOwoJaWYgKCR0aGlzLT5GaWVsZHNbJGldLT5UeXBlID09ICdQYWdlQnJlYWsnKQoJICB7CgkgICAgJHRoaXMtPmZvcm1Ub3RhbFBhZ2VzKys7CgkgIH0KICAgICAgfSAgICAgICAgICAKICAgICAgICAgICAKICAgIHJldHVybiB0cnVlOwogIH0KCiAgZnVuY3Rpb24gTGlzdFNhdmVkRmllbGRzKCRmb3JtSWQpCiAgewogICAgJHNxbCA9ICdTRUxFQ1QgKiBGUk9NICcgLiAkdGhpcy0+bW9kX2dsb2JhbHMtPkZpZWxkVGFibGVOYW1lIC4KICAgICAgJyBXSEVSRSBmb3JtX2lkPT8gT1JERVIgQlkgb3JkZXJfYnknOwoJICAgIAogICAgJHJzID0gJHRoaXMtPm1vZF9nbG9iYWxzLT5EQkhhbmRsZS0+RXhlY3V0ZSgkc3FsLCBhcnJheSggJGZvcm1JZCApKTsKICAgICRyZXN1bHQgPSBhcnJheSgpOwogICAgaWYgKCRycyAmJiAkcnMtPlJlY29yZENvdW50KCkgPiAwKQogICAgICB7CgkkcmVzdWx0PSRycy0+R2V0Um93cygpOwogICAgICB9CiAgICByZXR1cm4gJHJlc3VsdDsKICB9CgoKICAvLyBzdG9yZURlZXAgYWxzbyBzdG9yZXMgYWxsIGZpZWxkcyBhbmQgb3B0aW9ucyBmb3IgYSBmb3JtCiAgZnVuY3Rpb24gU3RvcmUoJHN0b3JlRGVlcD1mYWxzZSkKICB7CiAgICBpZiAoaW50dmFsKCR0aGlzLT5Gb3JtSWQpICE9ICR0aGlzLT5Gb3JtSWQpCiAgICAgIHsKCXJldHVybiBmYWxzZTsKICAgICAgfQoKICAgIGlmICgkdGhpcy0+Rm9ybUlkID09IC0xKQogICAgICB7CgkkdGhpcy0+Rm9ybUlkID0gJHRoaXMtPm1vZF9nbG9iYWxzLT5EQkhhbmRsZS0+R2VuSUQoJHRoaXMtPm1vZF9nbG9iYWxzLT5Gb3JtVGFibGVOYW1lLidfc2VxJyk7Cgkkc3FsID0gJ0lOU0VSVCBJTlRPICcgLiAkdGhpcy0+bW9kX2dsb2JhbHMtPkZvcm1UYWJsZU5hbWUgLiAiIChmb3JtX2lkLCBuYW1lLCBhbGlhcywgIiAuCgkgICJzdWJtaXRfYnV0dG9uX3RleHQsIG5leHRfYnV0dG9uX3RleHQsIHRoYW5rc19tZXNzYWdlLCBjc3NfY2xhc3MsIHJlcXVpcmVkX2ZpZWxkX3N5bWJvbCkgIi4KCSAgIlZBTFVFUyAoPywgPywgPywgPywgPywgPywgPywgPykiOwoJJHJlcyA9ICR0aGlzLT5tb2RfZ2xvYmFscy0+REJIYW5kbGUtPkV4ZWN1dGUoJHNxbCwgYXJyYXkoJHRoaXMtPkZvcm1JZCwgJHRoaXMtPk5hbWUsCgkJCQkJCQkJICR0aGlzLT5BbGlhcywgJHRoaXMtPlN1Ym1pdEJ1dHRvblRleHQsICR0aGlzLT5OZXh0QnV0dG9uVGV4dCwKCQkJCQkJCQkgJHRoaXMtPlRoYW5rc01lc3NhZ2UsICR0aGlzLT5DU1NDbGFzcywKCQkJCQkJCQkgJHRoaXMtPlJlcXVpcmVkRmllbGRTeW1ib2wpKTsKICAgICAgfQogICAgZWxzZQogICAgICB7Cgkkc3FsID0gJ1VQREFURSAnIC4gJHRoaXMtPm1vZF9nbG9iYWxzLT5Gb3JtVGFibGVOYW1lIC4gIiBzZXQgbmFtZT0/LCBhbGlhcz0/LCAiIC4KCSAgInN1Ym1pdF9idXR0b25fdGV4dD0/LCBuZXh0X2J1dHRvbl90ZXh0PT8sIHRoYW5rc19tZXNzYWdlPT8sIGNzc19jbGFzcz0/LCAiLgoJICAicmVxdWlyZWRfZmllbGRfc3ltYm9sPT8gd2hlcmUgZm9ybV9pZD0/IjsKCSRyZXMgPSAkdGhpcy0+bW9kX2dsb2JhbHMtPkRCSGFuZGxlLT5FeGVjdXRlKCRzcWwsIGFycmF5KCR0aGlzLT5OYW1lLAoJCQkJCQkJCSAkdGhpcy0+QWxpYXMsICR0aGlzLT5TdWJtaXRCdXR0b25UZXh0LCAkdGhpcy0+TmV4dEJ1dHRvblRleHQsCgkJCQkJCQkJICR0aGlzLT5UaGFua3NNZXNzYWdlLCAkdGhpcy0+Q1NTQ2xhc3MsCgkJCQkJCQkJICR0aGlzLT5SZXF1aXJlZEZpZWxkU3ltYm9sLCAkdGhpcy0+Rm9ybUlkKSk7CiAgICAgIH0KICAgIGlmICgkc3RvcmVEZWVwKQogICAgICB7Cglmb3JlYWNoICgkdGhpcy0+RmllbGRzIGFzICRmaWVsZCkKCSAgewoJICAgICRmaWVsZC0+U3RvcmUoJHN0b3JlRGVlcCk7CgkgIH0KICAgICAgfQogICAgcmV0dXJuICRyZXM7CiAgfQoKICBmdW5jdGlvbiBEZWxldGUoKQogIHsKICAgIGlmIChpbnR2YWwoJHRoaXMtPkZvcm1JZCkgIT0gJHRoaXMtPkZvcm1JZCkKICAgICAgewoJcmV0dXJuIGZhbHNlOwogICAgICB9CiAgICBpZiAoJHRoaXMtPkZvcm1JZCA9PSAtMSkKICAgICAgewoJcmV0dXJuIGZhbHNlOwogICAgICB9CiAgICAvKiBjYXNjYWRlIHRoZSBkZWxldGUgbWFudWFsbHkuLi4KICAgICBkdWUgdG8gdGhlIHRhYmxlIHN0cnVjdHVyZSwgd2UgY291bGQgdGhlb3JldGljYWxseSBqdXN0IGRlbGV0ZSBmcm9tCiAgICAgdGhlIEZvcm1UYWJsZSwgRmllbGRUYWJsZSwgYW5kIE9wdGlvblRhYmxlIHdoZXJlIHRoZSBmb3JtX2lkID0gJHRoaXMtPkZvcm1JZAogICAgIHdoaWNoIHdvdWxkIG9idmlvdXNseSBiZSBmYXN0ZXIsIGJ1dCB3ZSBkbyBpdCBpbiB0aGlzIG9iamVjdC1vcmllbnRlZCB3YXkKICAgICBpbiBjYXNlIHdlIGV2ZXIgbmVlZCB0byBhZGQgc29tZSBjbGVhbnVwIG9yIHNvbWV0aGluZyB0byB0aGlzIHByb2Nlc3MuCiAgICAqLwogICAgZm9yZWFjaCAoJHRoaXMtPkZpZWxkcyBhcyAkZmllbGQpCiAgICAgIHsKCSRmaWVsZC0+RGVsZXRlKCk7CiAgICAgIH0KICAgICRzcWwgPSAnREVMRVRFIEZST00gJyAuICR0aGlzLT5tb2RfZ2xvYmFscy0+Rm9ybVRhYmxlTmFtZSAuICIgd2hlcmUgZm9ybV9pZD0/IjsKICAgICRyZXMgPSAkdGhpcy0+bW9kX2dsb2JhbHMtPkRCSGFuZGxlLT5FeGVjdXRlKCRzcWwsIGFycmF5KCR0aGlzLT5Gb3JtSWQpKTsKICAgIHJldHVybiB0cnVlOwogIH0KCiAgLy8gcmV0dXJucyBhIGNsYXNzIG5hbWUsIGFuZCBtYWtlcyBzdXJlIHRoZSBmaWxlIHdoZXJlIHRoZSBjbGFzcyBpcwogIC8vIGRlZmluZWQgaGFzIGJlZW4gbG9hZGVkLgogIGZ1bmN0aW9uIE1ha2VDbGFzc05hbWUoJHR5cGUsICRjbGFzc0RpclByZWZpeCkKICB7CiAgICAvLyBwZXJmb3JtIHJ1ZGltZW50YXJ5IHNlY3VyaXR5LCBzaW5jZSBUeXBlIGNvdWxkIGNvbWUgaW4gZnJvbSBhIGZvcm0KICAgICR0eXBlID0gcHJlZ19yZXBsYWNlKCIvW1xXXXxcLlwuLyIsICJfIiwgJHR5cGUpOwogICAgaWYgKHN0cmxlbigkY2xhc3NEaXJQcmVmaXgpID4gMCkKICAgICAgewoJJGNsYXNzRmlsZSA9ICRjbGFzc0RpclByZWZpeCAuJy8nLiR0eXBlLicuY2xhc3MucGhwJzsKICAgICAgfQogICAgZWxzZQogICAgICB7CgkkY2xhc3NGaWxlID0gJHR5cGUuJy5jbGFzcy5waHAnOwogICAgICB9CiAgICByZXF1aXJlX29uY2UgJGNsYXNzRmlsZTsKICAgIC8vIGNsYXNzIG5hbWVzIGFyZSBwcmVwZW5kZWQgd2l0aCAiZmYiIHRvIHByZXZlbnQgbmFtZXNwYWNlIGNsYXNoLgogICAgcmV0dXJuICggJ2ZmJy4kdHlwZSApOwogIH0KCn0KCgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/classes/FunctionCallInput.class.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLy8gRmVlZGJhY2sgRm9ybS4gMDIvMjAwNSBTakcgPGZlZWRiYWNrZm9ybV9jbXNtb2R1bGVAZm9nYm91bmQubmV0PgovLyBBIE1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlLCAoYykyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKLy8gVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKCmNsYXNzIGZmRnVuY3Rpb25DYWxsSW5wdXQgZXh0ZW5kcyBmZklucHV0IHsKCiAgZnVuY3Rpb24gZmZGdW5jdGlvbkNhbGxJbnB1dCgmJG1vZF9nbG9iYWxzLCAkZm9ybVJlZiwgJHBhcmFtcz1hcnJheSgpKQogIHsKICAgICR0aGlzLT5mZklucHV0KCRtb2RfZ2xvYmFscywgJGZvcm1SZWYsICRwYXJhbXMpOwogICAgJHRoaXMtPlR5cGUgPSAnRnVuY3Rpb25DYWxsSW5wdXQnOwogICAgJHRoaXMtPkRpc3BsYXlUeXBlID0gJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCdmaWVsZF90eXBlX2NhbGxiYWNrJyk7CiAgICAkdGhpcy0+UmVxdWlyZWQgPSBmYWxzZTsKICAgICR0aGlzLT5EaXNwbGF5SW5Gb3JtID0gZmFsc2U7CiAgICAkdGhpcy0+VmFsaWRhdGlvblR5cGVzID0gYXJyYXkoJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCd2YWxpZGF0aW9uX25vbmUnKT0+J25vbmUnKTsKICAgICR0aGlzLT5zcGVjaWFsSW5wdXQgPSB0cnVlOwogICAgaWYgKGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCRwYXJhbXNbJ21ldGhvZCddKSAmJiBmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkcGFyYW1zWydtZXRob2QnXSkpCiAgICAgIHsKCSR0aGlzLT5BZGRPcHRpb24oJ21ldGhvZCcsICRwYXJhbXNbJ21ldGhvZCddLCAkcGFyYW1zWydtZXRob2QnXSk7CiAgICAgIH0KICAgIGlmIChmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkcGFyYW1zWydjbW9kdWxlJ10pICYmIGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCRwYXJhbXNbJ2Ntb2R1bGUnXSkpCiAgICAgIHsKCSR0aGlzLT5BZGRPcHRpb24oJ2Ntb2R1bGUnLCAkcGFyYW1zWydjbW9kdWxlJ10sICRwYXJhbXNbJ2Ntb2R1bGUnXSk7CiAgICAgIH0KICAgIGlmIChmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkcGFyYW1zWydmaWVsZHMnXSkgJiYgZmZVdGlsaXR5RnVuY3Rpb25zOjpkZWYoJHBhcmFtc1snZmllbGRzJ10pKQogICAgICB7CgkkdGhpcy0+QWRkT3B0aW9uKCdmaWVsZHMnLCAkcGFyYW1zWydmaWVsZHMnXSwgJHBhcmFtc1snZmllbGRzJ10pOwogICAgICB9CiAgfQoKICBmdW5jdGlvbiBXcml0ZVRvUHVibGljRm9ybSgkaWQsICYkcGFyYW1zLCAkcmV0dXJuX2lkKQogIHsKICAgICRmbk5hbWUgPSAkdGhpcy0+R2V0T3B0aW9uQnlLaW5kKCdtZXRob2QnKTsKICAgICRtTmFtZSA9ICR0aGlzLT5HZXRPcHRpb25CeUtpbmQoJ2Ntb2R1bGUnKTsKICAgIGlmIChmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkZm5OYW1lWzBdLT5WYWx1ZSkgJiYgZmZVdGlsaXR5RnVuY3Rpb25zOjpkZWYoJG1OYW1lWzBdLT5WYWx1ZSkpCiAgICAgIHsKCWVjaG8gZXZhbCgnZWNobyAnLiRtTmFtZVswXS0+VmFsdWUuJzo6Jy4kZm5OYW1lWzBdLT5WYWx1ZS4nKCRpZCwgJHBhcmFtcywgJHJldHVybl9pZCwgJHRoaXMtPmNtcyk7Jyk7CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJZWNobyAnPCEtLSAnLmZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCRmbk5hbWVbMF0tPlZhbHVlKSAuJyAnLiBmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkbU5hbWVbMF0tPlZhbHVlKSAuJyAtLT4nOwogICAgICB9CiAgfQoKICBmdW5jdGlvbiBHZXRWYWx1ZSgpCiAgewogICAgJGV2TmFtZSA9ICR0aGlzLT5HZXRPcHRpb25CeUtpbmQoJ2ZpZWxkcycpOwogICAgJHJldFN0ciA9ICcnOwogICAgaWYgKGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCRldk5hbWVbMF0tPlZhbHVlKSkKICAgICAgewoJJGZpZWxkTGlzdCA9IGV4cGxvZGUoJywnLCgkZXZOYW1lWzBdLT5WYWx1ZS4nLCcpKTsKCWZvcmVhY2ggKCRmaWVsZExpc3QgYXMgJHRoaXNGaWVsZCkKCSAgewoJICAgICRyZXRTdHIgLj0gJF9QT1NUW3RyaW0oJHRoaXNGaWVsZCldIC4gJyAnOwoJICB9CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJcmV0dXJuICJubyBldmFsdWF0aW9uISI7CiAgICAgIH0KICAgIHJldHVybiAkcmV0U3RyOwogIH0KCgogIGZ1bmN0aW9uIFN0YXR1c0luZm8oKQogIHsKICAgICRmbk5hbWUgPSAkdGhpcy0+R2V0T3B0aW9uQnlLaW5kKCdtZXRob2QnKTsKICAgICRtTmFtZSA9ICR0aGlzLT5HZXRPcHRpb25CeUtpbmQoJ2Ntb2R1bGUnKTsKICAgICRldk5hbWUgPSAkdGhpcy0+R2V0T3B0aW9uQnlLaW5kKCdmaWVsZHMnKTsKICAgICRyZXQgPSAnJzsKICAgIGlmIChmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkZm5OYW1lWzBdLT5WYWx1ZSkgJiYgZmZVdGlsaXR5RnVuY3Rpb25zOjpkZWYoJG1OYW1lWzBdLT5WYWx1ZSkpCiAgICAgIHsKCSRyZXQuPSAkbU5hbWVbMF0tPlZhbHVlLic6OicuJGZuTmFtZVswXS0+VmFsdWUuJyAnOwogICAgICB9CiAgICBlbHNlCiAgICAgIHsKCSRyZXQuPSAkdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ25vbWV0aG9kJyk7CiAgICAgIH0KICAgIGlmIChmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkZXZOYW1lWzBdLT5WYWx1ZSkpCiAgICAgIHsKCSRyZXQuPSAkZXZOYW1lWzBdLT5WYWx1ZTsKICAgICAgfQogICAgZWxzZQogICAgICB7CgkkcmV0Lj0gJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCdub2ZpZWxkcycpOwogICAgICB9CiAgICByZXR1cm4gJHJldDsKICB9CgoKICBmdW5jdGlvbiBSZW5kZXJBZG1pbkZvcm0oJGZvcm1EZXNjcmlwdG9yKQogIHsKICAgICRtb2R1bGUgPSYgJHRoaXMtPm1vZF9nbG9iYWxzLT5zZWxmcHRyOwogICAgJGZuTmFtZSA9ICR0aGlzLT5HZXRPcHRpb25CeUtpbmQoJ21ldGhvZCcpOwogICAgJG1OYW1lID0gJHRoaXMtPkdldE9wdGlvbkJ5S2luZCgnY21vZHVsZScpOwogICAgJGV2TmFtZSA9ICR0aGlzLT5HZXRPcHRpb25CeUtpbmQoJ2ZpZWxkcycpOwogICAgcmV0dXJuIGFycmF5KCR0aGlzLT5tb2RfZ2xvYmFscy0+TGFuZygndGl0bGVfY2FsbGJhY2tfbW9kdWxlJykuJzonPT4KCQkgJG1vZHVsZS0+Q3JlYXRlSW5wdXRUZXh0KCRmb3JtRGVzY3JpcHRvciwgJ2Ntb2R1bGUnLAoJCQkJCSAgICBmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkbU5hbWVbMF0tPk5hbWUpPyR0aGlzLT5OZXJmSFRNTCgkbU5hbWVbMF0tPk5hbWUpOicnLDYwLDI1NSksCgkJICR0aGlzLT5tb2RfZ2xvYmFscy0+TGFuZygndGl0bGVfY2FsbGJhY2tfbWV0aG9kJykuJzonPT4KCQkgJG1vZHVsZS0+Q3JlYXRlSW5wdXRUZXh0KCRmb3JtRGVzY3JpcHRvciwgJ21ldGhvZCcsCgkJCQkJICAgIGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCRmbk5hbWVbMF0tPk5hbWUpPyR0aGlzLT5OZXJmSFRNTCgkZm5OYW1lWzBdLT5OYW1lKTonJyw2MCwyNTUpLAoJCSAkdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ3RpdGxlX2NhbGxiYWNrX2ZpZWxkcycpLic6Jz0+CgkJICRtb2R1bGUtPkNyZWF0ZUlucHV0VGV4dCgkZm9ybURlc2NyaXB0b3IsICdmaWVsZHMnLAoJCQkJCSAgICBmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkZXZOYW1lWzBdLT5OYW1lKT8kdGhpcy0+TmVyZkhUTUwoJGV2TmFtZVswXS0+TmFtZSk6JycsNjAsMjU1KSwKCQkgJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCd0aXRsZV9jYWxsYmFja19oZWxwJykuJzonPT4kdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ3RpdGxlX2NhbGxiYWNrX2hlbHBsb25nJykpOwogIH0KCgogIGZ1bmN0aW9uIFZhbGlkYXRlKCkKICB7CiAgICByZXR1cm4gYXJyYXkodHJ1ZSwgJycpOwogIH0KCn0KCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/classes/Input.class.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLy8gRmVlZGJhY2sgRm9ybS4gMDIvMjAwNSBTakcgPGZlZWRiYWNrZm9ybV9jbXNtb2R1bGVAZm9nYm91bmQubmV0PgovLyBBIE1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlLCAoYykyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKLy8gVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKCmNsYXNzIGZmSW5wdXQgewoKICAgIHZhciAkRmllbGRJZD0tMTsKICAgIHZhciAkRm9ybUlkOwogICAgdmFyICROYW1lOwogICAgdmFyICRBbGlhczsKICAgIHZhciAkVHlwZTsKICAgIHZhciAkTGVuZ3RoPS0xOwogICAgdmFyICRWYWxpZGF0aW9uVHlwZTsKICAgIHZhciAkQ1NTQ2xhc3M7CiAgICB2YXIgJFJlcXVpcmVkOwogICAgdmFyICRTaG93TGFiZWw7CiAgICB2YXIgJE9yZGVyQnk7CgogICAgdmFyICRPcHRpb25zOwoKICAgIHZhciAkRGlzcGxheUxlbmd0aDsKICAgIHZhciAkRGlzcGxheVR5cGU7CiAgICB2YXIgJFZhbGlkYXRpb25UeXBlczsKICAgIHZhciAkRGlzcGxheUluRm9ybTsKICAgIHZhciAkVmFsdWU7CiAgICB2YXIgJG1vZF9nbG9iYWxzOwogICAgdmFyICRmb3JtUmVmOwogICAgdmFyICRsb2FkZWQ7CiAgICAKICAgIC8vIHNwZWNpYWwgaW5wdXRzIGRvbid0IGdldCB0aGUgdXN1YWwgc3R1ZmYgbGlrZSAicmVxdWlyZWQiIG9yIENTU0NsYXNzIGlucHV0cwogICAgdmFyICRzcGVjaWFsSW5wdXQ7CgoJZnVuY3Rpb24gZmZJbnB1dCgmJG1vZF9nbG9iYWxzLCAkZm9ybVJlZiwgJHBhcmFtcz1hcnJheSgpKQoJewoJICAgJHRoaXMtPm1vZF9nbG9iYWxzID0gJiRtb2RfZ2xvYmFsczsKCSAgICR0aGlzLT5mb3JtUmVmID0gJiRmb3JtUmVmOwoJICAgJHRoaXMtPk9wdGlvbnMgPSBhcnJheSgpOwoJICAgaWYgKGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCRwYXJhbXNbJ2Zvcm1faWQnXSkpCgkgICAgICAgewoJICAgICAgICR0aGlzLT5Gb3JtSWQgPSAkcGFyYW1zWydmb3JtX2lkJ107CgkgICAgICAgfQoJICAgaWYgKGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCRwYXJhbXNbJ2ZpZWxkX2lkJ10pKQoJICAgICAgIHsKCSAgICAgICAkdGhpcy0+RmllbGRJZCA9ICRwYXJhbXNbJ2ZpZWxkX2lkJ107CgkgICAgICAgfQoJICAgaWYgKGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCRwYXJhbXNbJ25hbWUnXSkpCgkgICAgICAgewoJICAgICAgICR0aGlzLT5OYW1lID0gJHBhcmFtc1snbmFtZSddOwoJICAgICAgIH0KCSAgIGlmICghZmZVdGlsaXR5RnVuY3Rpb25zOjpkZWYoJHBhcmFtc1snYWxpYXMnXSkpCgkgICAgICAgewoJICAgICAgICR0aGlzLT5BbGlhcyA9IGZmVXRpbGl0eUZ1bmN0aW9uczo6TWFrZUFsaWFzKCR0aGlzLT5OYW1lKTsKCSAgICAgICB9CgkgICBlbHNlCgkgICAJICB7CgkgICAJICAvLyB0cnVzdCBub3QhCgkgICAgICAgJHRoaXMtPkFsaWFzID0gZmZVdGlsaXR5RnVuY3Rpb25zOjpNYWtlQWxpYXMoJHBhcmFtc1snYWxpYXMnXSk7CgkgICAJICB9CgkgICBpZiAoZmZVdGlsaXR5RnVuY3Rpb25zOjpkZWYoJHBhcmFtc1sndHlwZSddKSkKCSAgICAgICB7CgkgICAgICAgJHRoaXMtPlR5cGUgPSAkcGFyYW1zWyd0eXBlJ107CgkgICAgICAgfQoJICAgaWYgKGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCRwYXJhbXNbJ2Nzc19jbGFzcyddKSkKCSAgICAgICB7CgkgICAgICAgJHRoaXMtPkNTU0NsYXNzID0gJHBhcmFtc1snY3NzX2NsYXNzJ107CgkgICAgICAgfQoJICAgaWYgKGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCRwYXJhbXNbJ3ZhbGlkYXRpb25fdHlwZSddKSkKCSAgICAgICB7CgkgICAgICAgJHRoaXMtPlZhbGlkYXRpb25UeXBlID0gJHBhcmFtc1sndmFsaWRhdGlvbl90eXBlJ107CgkgICAgICAgfQoJICAgaWYgKGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCRwYXJhbXNbJ2xlbmd0aCddKSkKCSAgICAgICB7CgkgICAgICAgJHRoaXMtPkxlbmd0aCA9ICRwYXJhbXNbJ2xlbmd0aCddOwoJICAgICAgIH0KCSAgIGlmIChmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkcGFyYW1zWydvcmRlcl9ieSddKSkKCSAgICAgICB7CgkgICAgICAgJHRoaXMtPk9yZGVyQnkgPSAkcGFyYW1zWydvcmRlcl9ieSddOwoJICAgICAgIH0KCSAgIGlmIChmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkcGFyYW1zWydyZXF1aXJlZCddKSkKCSAgICAgICB7CgkgICAgICAgJHRoaXMtPlJlcXVpcmVkID0gJHBhcmFtc1sncmVxdWlyZWQnXTsKCSAgICAgICB9CgkgICBpZiAoZmZVdGlsaXR5RnVuY3Rpb25zOjpkZWYoJHBhcmFtc1snc2hvd19sYWJlbCddKSkKCSAgICAgICB7CgkgICAgICAgJHRoaXMtPlNob3dMYWJlbCA9ICRwYXJhbXNbJ3Nob3dfbGFiZWwnXTsKCSAgICAgICB9CgkgICBpZiAoZmZVdGlsaXR5RnVuY3Rpb25zOjpkZWYoJHBhcmFtc1skdGhpcy0+QWxpYXNdKSkKCSAgIAkJewoJICAgCQkkdGhpcy0+VmFsdWUgPSAkcGFyYW1zWyR0aGlzLT5BbGlhc107CgkgICAJCX0KCSAgICR0aGlzLT5EaXNwbGF5TGVuZ3RoID0gMjU7CgkgICAkdGhpcy0+RGlzcGxheUluRm9ybSA9IHRydWU7CgkgICAkdGhpcy0+SXNEaXNwb3NpdGlvbiA9IGZhbHNlOwoJICAgJHRoaXMtPlZhbGlkYXRpb25UeXBlcyA9IGFycmF5KCR0aGlzLT5tb2RfZ2xvYmFscy0+TGFuZygndmFsaWRhdGlvbl9ub25lJyk9Pidub25lJyk7CgkgICAkdGhpcy0+bG9hZGVkID0gJ25vdCc7CgkgICAkdGhpcy0+c3BlY2lhbElucHV0ID0gZmFsc2U7Cgl9CgoJLy8gb3ZlcnJpZGUgbWUgd2l0aCBhIGZvcm0gaW5wdXQgc3RyaW5nIG9yIHNvbWV0aGluZwoJZnVuY3Rpb24gV3JpdGVUb1B1YmxpY0Zvcm0oJGlkLCAmJHBhcmFtcywgJHJldHVybl9pZCkKCXsKCQllY2hvICIiOwoJfQoKCS8vIG92ZXJyaWRlIG1lIHdpdGggc29tZXRoaW5nIHRvIHNob3cgdXNlcnMKCWZ1bmN0aW9uIFN0YXR1c0luZm8oKQoJewoJCXJldHVybiAnJzsKCX0KCgogICAgLy8gb3ZlcnJpZGUgbWUuCiAgICAvLyBJIHJldHVybiBhbiBhcnJheSBvZiBUaXRsZSAvIElucHV0IGhhc2hlcy4KICAgIC8vIFRoZSBUaXRsZSB3aWxsIGJlIGRpc3BsYXllZCBpZiBpdCBoYXMgYSBsZW5ndGg7CiAgICAvLyB0aGUgIklucHV0IiBzaG91bGQgYmUgYSBGb3JtIGlucHV0IGZvciB0aGF0IGZpZWxkIGF0dHJpYnV0ZS9vcHRpb24KCWZ1bmN0aW9uIFJlbmRlckFkbWluRm9ybSgkZm9ybURlc2NyaXB0b3IpCgl7CgkJcmV0dXJuIGFycmF5KCk7Cgl9CgoKCS8vIG92ZXJyaWRlIG1lLiBSZXR1cm5zIGFuIGFycmF5OiBmaXJzdCB2YWx1ZSBpcyBhIHRydWUgb3IgZmFsc2UgKHdoZXRoZXIgb3Igbm90CiAgICAvLyB0aGUgdmFsdWUgaXMgdmFsaWQpLCB0aGUgc2Vjb25kIGlzIGEgbWVzc2FnZQoJZnVuY3Rpb24gVmFsaWRhdGUoKQoJewoJCXJldHVybiBhcnJheSh0cnVlLCcnKTsKCX0KCgkvLyBvdmVycmlkZSBtZS4gUmV0dXJucyB0aGUgKHBvc3NpYmx5IGNvbnZlcnRlZCkgdmFsdWUgb2YgdGhlIGZpZWxkLgoJZnVuY3Rpb24gR2V0VmFsdWUoKQoJewoJCWlmIChmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkdGhpcy0+VmFsdWUpKQoJCQl7CgkJCXJldHVybiAkdGhpcy0+VmFsdWU7CgkJCX0KCQllbHNlCgkJCXsKCQkJcmV0dXJuICR0aGlzLT5tb2RfZ2xvYmFscy0+TGFuZygndW5zcGVjaWZpZWQnKTsKCQkJfQoJfQoKCWZ1bmN0aW9uIGlzUmVxdWlyZWQoKQoJewoJCXJldHVybiAkdGhpcy0+UmVxdWlyZWQ7Cgl9CgoJZnVuY3Rpb24gc2hvd0xhYmVsKCkKCXsKCQlyZXR1cm4gJHRoaXMtPlNob3dMYWJlbDsKCX0KCglmdW5jdGlvbiByZXF1aXJlc1ZhbGlkYXRpb24oKQoJewoJCWlmICgkdGhpcy0+VmFsaWRhdGlvblR5cGUgPT0gJ25vbmUnKQoJCQl7CgkJCXJldHVybiBmYWxzZTsKCQkJfQoJCWVsc2UKCQkJewoJCQlyZXR1cm4gdHJ1ZTsKCQkJfQoJfQoKCS8vIG92ZXJyaWRlIG1lLCBidXQgY2FsbCBtZSBmaXJzdCEuIFJldHVybnMgYW4gYXJyYXk6IGZpcnN0IHZhbHVlIGlzIGEgdHJ1ZSBvcgogICAgLy8gZmFsc2UgKHdoZXRoZXIgb3Igbm90IHRoZSB2YWx1ZSBpcyB2YWxpZCksIHRoZSBzZWNvbmQgaXMgYSBtZXNzYWdlCglmdW5jdGlvbiBBZG1pblZhbGlkYXRlKCkKCXsKCQkkcmV0ID0gYXJyYXkodHJ1ZSwnJyk7CgkJaWYgKCR0aGlzLT5OYW1lRXhpc3RzKCkpCgkJICB7CgkJICAkcmV0ID0gYXJyYXkoZmFsc2UsJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCdmaWVsZF9uYW1lX2luX3VzZTEnKS4nICInLiR0aGlzLT5OYW1lLiciICcuICR0aGlzLT5tb2RfZ2xvYmFscy0+TGFuZygnZmllbGRfbmFtZV9pbl91c2UyJykpOwoJCSAgfQoJCXJldHVybiAkcmV0OwoJfQoKCgkvLyBvdmVycmlkZSBtZSBpZiB5b3UncmUgYSBGb3JtIERpc3Bvc2l0aW9uIHBzZXVkby1maWVsZC4gVGhpcyBtZXRob2QgY2FuIGRvIGp1c3QKCS8vIGFib3V0IGFueXRoaW5nIHlvdSB3YW50IGl0IHRvLCBpbiBvcmRlciB0byBoYW5kbGUgZm9ybSBjb250ZW50cy4KCS8vIGl0IHJlY2VpdmVzIHRoZSByZXN0IG9mIHRoZSBmb3JtIGFzIGFuIGFycmF5IG9mIG5hbWUvdmFsdWUgYXJyYXlzLgoJZnVuY3Rpb24gRGlzcG9zZUZvcm0oJGZvcm1OYW1lLCAmJGNvbmZpZywgJHJlc3VsdHMpCgl7CgkJcmV0dXJuIGZhbHNlOwoJfQoJCglmdW5jdGlvbiBEZWJ1Z0Rpc3BsYXkoKQogICAgewogICAgICAgIGVjaG8gIi0gRmllbGQgSUQ6ICIuJHRoaXMtPkZpZWxkSWQgLiI8YnIgLz4iOwogICAgICAgIGVjaG8gIi0gRm9ybSBJRDogIi4kdGhpcy0+Rm9ybUlkIC4iPGJyIC8+IjsKICAgICAgICBlY2hvICItIEZpZWxkIE5hbWU6ICIuJHRoaXMtPk5hbWUgLiI8YnIgLz4iOwogICAgICAgIGVjaG8gIi0gRmllbGQgQWxpYXM6ICIuJHRoaXMtPkFsaWFzIC4iPGJyIC8+IjsKICAgICAgICBlY2hvICItIEZpZWxkIFR5cGU6ICIuJHRoaXMtPlR5cGUgLiI8YnIgLz4iOwogICAgICAgIGVjaG8gIi0gRmllbGQgU2hvdyBJbiBGb3JtOiAiLiR0aGlzLT5EaXNwbGF5SW5Gb3JtIC4iPGJyIC8+IjsKICAgICAgICBlY2hvICItIEZpZWxkIGlzIGEgRGlzcG9zaXRpb246ICIuJHRoaXMtPklzRGlzcG9zaXRpb24gLiI8YnIgLz4iOwogICAgICAgIGVjaG8gIi0gRmllbGQgTGVuZ3RoOiAiLiR0aGlzLT5MZW5ndGggLiI8YnIgLz4iOwogICAgICAgIGVjaG8gIi0gRmllbGQgVmFsaWRhdGlvbiBUeXBlOiAiLiR0aGlzLT5WYWxpZGF0aW9uVHlwZSAuIjxiciAvPiI7CiAgICAgICAgZWNobyAiLSBGaWVsZCBDU1MgQ2xhc3M6ICIuJHRoaXMtPkNTU0NsYXNzIC4iPGJyIC8+IjsKICAgICAgICBlY2hvICItIEZpZWxkIE9yZGVyIEJ5OiAiLiR0aGlzLT5PcmRlckJ5IC4iPGJyIC8+IjsKICAgICAgICBlY2hvICItIEZpZWxkIERpc3BsYXkgTGVuZ3RoOiAiLiR0aGlzLT5EaXNwbGF5TGVuZ3RoIC4iPGJyIC8+IjsKICAgICAgICBlY2hvICItIEZpZWxkIFZhbHVlOiAiLiR0aGlzLT5WYWx1ZSAuIjxiciAvPiI7CiAgICAgICAgZWNobyAiLSBGaWVsZCBSZXF1aXJlZD8gIi4kdGhpcy0+UmVxdWlyZWQuIjxiciAvPiI7CiAgICAgICAgZWNobyAiLSBGaWVsZCBWYWxpZGF0aW9uIFR5cGVzOiA8YnIgLz4iOwogICAgICAgIGZvcmVhY2ggKCR0aGlzLT5WYWxpZGF0aW9uVHlwZXMgYXMgJHZuPT4kdnYpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgZWNobyAiLS0gIi4kdm4uIjxiciAvPlxuIjsKICAgICAgICAgICAgfQogICAgICAgIGVjaG8gIi0gRmllbGQgT3B0aW9uIENvdW50OiIuY291bnQoJHRoaXMtPk9wdGlvbnMpLiI8YnIgLz4iOwogICAgICAgIGVjaG8gIi0gRmllbGQgT3B0aW9uczogPGJyIC8+IjsKICAgICAgICBmb3IgKCRpPTA7JGk8Y291bnQoJHRoaXMtPk9wdGlvbnMpOyRpKyspCiAgICAgICAgICAgIHsKICAgICAgICAgICAgJHRoaXMtPk9wdGlvbnNbJGldLT5EZWJ1Z0Rpc3BsYXkoKTsKICAgICAgICAgICAgfQogICAgfQoKCQoKCglmdW5jdGlvbiBHZXRPcHRpb25OYW1lcygpCgl7CgkJJHJldCA9IGFycmF5KCk7CgkJZm9yZWFjaCAoJHRoaXMtPk9wdGlvbnMgYXMgJG9wdCkKCQkgIHsKCQkgICRyZXRbXSA9ICRvcHQtPk5hbWU7CgkJICB9CgkJcmV0dXJuICRyZXQ7Cgl9CgogICAgLy8gcmV0dXJucyBhbiBhcnJheSBvZiBPcHRpb24gcmVmZXJlbmNlcy4gVGhpcyB3aWxsIGJlIGVhc2llciBpbiBQSFA1LCB3aGVyZQogICAgLy8gSSBjYW4gZm9yZWFjaCB3aXRoIHJlZmVyZW5jZXMuCglmdW5jdGlvbiBHZXRPcHRpb25CeU5hbWUoJG9wdGlvbk5hbWUpCgl7CgkJJHJldCA9IGFycmF5KCk7CgkJZm9yKCRpPTA7JGk8Y291bnQoJHRoaXMtPk9wdGlvbnMpOyRpKyspCgkJICB7CgkJICBpZiAoJHRoaXMtPk9wdGlvbnNbJGldLT5OYW1lID09ICRvcHRpb25OYW1lKQoJCSAgICAgIHsKCQkgICAgICAkcmV0W10gPSAmJHRoaXMtPk9wdGlvbnNbJGldOwoJCSAgICAgIH0KCQkgIH0KCQlyZXR1cm4gJHJldDsKCX0KCiAgICAvLyByZXR1cm5zIGFuIGFycmF5IG9mIE9wdGlvbiByZWZlcmVuY2VzLiBUaGlzIHdpbGwgYmUgZWFzaWVyIGluIFBIUDUsIHdoZXJlCiAgICAvLyBJIGNhbiBmb3JlYWNoIHdpdGggcmVmZXJlbmNlcy4KCWZ1bmN0aW9uIEdldE9wdGlvbkJ5S2luZCgkb3B0aW9uS2luZCkKCXsKCQkkcmV0ID0gYXJyYXkoKTsKCQlmb3IoJGk9MDskaTxjb3VudCgkdGhpcy0+T3B0aW9ucyk7JGkrKykKCQkgIHsKCQkgIGlmICgkdGhpcy0+T3B0aW9uc1skaV0tPktpbmQgPT0gJG9wdGlvbktpbmQpCgkJICAgICAgewoJCSAgICAgICRyZXRbXSA9ICYkdGhpcy0+T3B0aW9uc1skaV07CgkJICAgICAgfQoJCSAgfQoJCXJldHVybiAkcmV0OwoJfQoKCiAgICAvLyByZXR1cm5zIGFuIGFycmF5IG9mIE9wdGlvbiByZWZlcmVuY2VzLiBUaGlzIHdpbGwgYmUgZWFzaWVyIGluIFBIUDUsIHdoZXJlCiAgICAvLyBJIGNhbiBmb3JlYWNoIHdpdGggcmVmZXJlbmNlcy4KCWZ1bmN0aW9uIEdldE9wdGlvbkJ5SWQoJG9wdGlvbklkKQoJewoJCSRyZXQgPSBhcnJheSgpOwoJCWZvcigkaT0wOyRpPGNvdW50KCR0aGlzLT5PcHRpb25zKTskaSsrKQoJCSAgewoJCSAgaWYgKCR0aGlzLT5PcHRpb25zWyRpXS0+T3B0aW9uSWQgPT0gJG9wdGlvbklkKQoJCSAgICAgIHsKCQkgICAgICAkcmV0W10gPSAmJHRoaXMtPk9wdGlvbnNbJGldOwoJCSAgICAgIH0KCQkgIH0KCQlyZXR1cm4gJHJldDsKCX0KCgoJZnVuY3Rpb24gR2V0T3B0aW9uVmFsdWVzKCkKCXsKCQkkcmV0ID0gYXJyYXkoKTsKCQlmb3JlYWNoICgkdGhpcy0+T3B0aW9ucyBhcyAkb3B0KQoJCSAgewoJCSAgJHJldFtdID0gJG9wdC0+VmFsdWU7CgkJICB9CgkJcmV0dXJuICRyZXQ7Cgl9CgogICAgZnVuY3Rpb24gTG9hZEZpZWxkKCRwYXJhbXMpCiAgICB7CiAgICAJaWYgKCR0aGlzLT5GaWVsZElkID4gMCkKICAgIAkgICB7CiAgICAJICAgJHRoaXMtPkxvYWQoJHRoaXMtPkZpZWxkSWQsICRwYXJhbXMsIHRydWUpOwogICAgCSAgIH0KICAgIAlyZXR1cm47CiAgICB9CgogICAgLy8gbG9hZERlZXAgYWxzbyBsb2FkcyBhbGwgb3B0aW9ucyBmb3IgYSBmaWVsZC4KICAgIGZ1bmN0aW9uIExvYWQoJGZpZWxkSWQsICRwYXJhbXM9YXJyYXkoKSwgJGxvYWREZWVwPWZhbHNlKQogICAgewogICAgICAgIC8vJHRoaXMtPm1vZF9nbG9iYWxzLT5EQkhhbmRsZS0+ZGVidWc9dHJ1ZTsKICAgICAgICAkc3FsID0gJ1NFTEVDVCAqIEZST00gJyAuICR0aGlzLT5tb2RfZ2xvYmFscy0+RmllbGRUYWJsZU5hbWUgLiAnIFdIRVJFIGZpZWxkX2lkPT8nOwoJICAgICRycyA9ICR0aGlzLT5tb2RfZ2xvYmFscy0+REJIYW5kbGUtPkV4ZWN1dGUoJHNxbCwgYXJyYXkoJGZpZWxkSWQpKTsKICAgICAgICBpZigkcnMgJiYgJHJzLT5SZWNvcmRDb3VudCgpID4gMCkKCSAgICAgICB7CgkgICAgICAgJHJlc3VsdCA9ICRycy0+R2V0QXJyYXkoKTsKICAgICAgICAgICAkdGhpcy0+RmllbGRJZCA9ICRyZXN1bHRbMF1bJ2ZpZWxkX2lkJ107CiAgICAgICAgICAgJHRoaXMtPkZvcm1JZCA9ICRyZXN1bHRbMF1bJ2Zvcm1faWQnXTsKICAgICAgICAgICAkdGhpcy0+TmFtZSA9ICRyZXN1bHRbMF1bJ25hbWUnXTsKICAgICAgICAgICAkdGhpcy0+QWxpYXMgPSBmZlV0aWxpdHlGdW5jdGlvbnM6Ok1ha2VBbGlhcygkcmVzdWx0WzBdWyduYW1lJ10pOwoJICAgICAgICR0aGlzLT5UeXBlID0gJHJlc3VsdFswXVsndHlwZSddOwoJICAgICAgICR0aGlzLT5MZW5ndGggPSAkcmVzdWx0WzBdWydsZW5ndGgnXTsKCSAgICAgICAkdGhpcy0+VmFsaWRhdGlvblR5cGUgPSAkcmVzdWx0WzBdWyd2YWxpZGF0aW9uX3R5cGUnXTsKCSAgICAgICAkdGhpcy0+T3JkZXJCeSA9ICRyZXN1bHRbMF1bJ29yZGVyX2J5J107CgkgICAJICAgaWYgKGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCRyZXN1bHRbMF1bJ2Nzc19jbGFzcyddKSkKCSAgICAgICAJICB7CgkgICAgICAgCSAgJHRoaXMtPkNTU0NsYXNzID0gJHJlc3VsdFswXVsnY3NzX2NsYXNzJ107CgkgICAgICAgCSAgfQoJICAgICAgIGVsc2UKCSAgICAgICAJICB7CgkgICAgICAgCSAgJHRoaXMtPkNTU0NsYXNzID0gJyc7CgkgICAgICAgCSAgfQoJICAgCSAgIGlmIChmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkcmVzdWx0WzBdWydyZXF1aXJlZCddKSkKCSAgICAgICAJICB7CgkgICAgICAgCSAgJHRoaXMtPlJlcXVpcmVkID0gJHJlc3VsdFswXVsncmVxdWlyZWQnXTsKCSAgICAgICAJICB9CgkgICAJICAgaWYgKGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCRyZXN1bHRbMF1bJ3Nob3dfbGFiZWwnXSkpCgkgICAgICAgCSAgewoJICAgICAgIAkgICR0aGlzLT5TaG93TGFiZWwgPSAkcmVzdWx0WzBdWydzaG93X2xhYmVsJ107CgkgICAgICAgCSAgfQogICAgICAgICAgIH0KICAgICAgICBlbHNlCiAgICAgICAgICAgewogICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICB9CiAgICAgICAgJHRoaXMtPmxvYWRlZCA9ICdzdW1tYXJ5JzsKICAgICAgICBpZiAoJGxvYWREZWVwKQogICAgICAgICAgIHsKICAgICAgICAgICAgJHRoaXMtPkxvYWRPcHRpb25zKCRwYXJhbXMpOwogICAgICAgICAgICAkdGhpcy0+bG9hZGVkID0gJ2Z1bGwnOwogICAgICAgICAgIH0KICAgICAgICByZXR1cm4gdHJ1ZTsKICAgIH0KCgoJZnVuY3Rpb24gYWRkTGlzdFBhcmFtKCRvcHRraW5kLCAkb3B0TmFtZVBhcmFtLCAkb3B0VmFsUGFyYW0sICRwYXJhbXMpCgl7CgkJaWYgKGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCRwYXJhbXNbJG9wdE5hbWVQYXJhbV0pICYmIGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCRwYXJhbXNbJG9wdFZhbFBhcmFtXSkpCgkJICB7CgkJICBpZiAoaXNfYXJyYXkoJHBhcmFtc1skb3B0TmFtZVBhcmFtXSkpCgkJICAJewoJCSAgCWZvciAoJGk9MDskaTxjb3VudCgkcGFyYW1zWyRvcHROYW1lUGFyYW1dKTskaSsrKQoJCSAgCQl7CgkJICAJCWlmIChzdHJsZW4oJHBhcmFtc1skb3B0TmFtZVBhcmFtXVskaV0pID4gMCkKCQkgIAkJCXsKCQkgIAkJCSR0aGlzLT5BZGRPcHRpb24oJG9wdGtpbmQsICRwYXJhbXNbJG9wdE5hbWVQYXJhbV1bJGldLCRwYXJhbXNbJG9wdFZhbFBhcmFtXVskaV0pOwoJCSAgCQkJfQoJCSAgCQl9CgkJICAJfQoJCSAgZWxzZQoJCSAgCXsKCQkgIAkkdGhpcy0+QWRkT3B0aW9uKCRvcHRraW5kLCAkcGFyYW1zWyRvcHROYW1lUGFyYW1dLCRwYXJhbXNbJG9wdFZhbFBhcmFtXSk7CgkJICAJfQogICAgICAgICAgfQoJfQoKCiAgICBmdW5jdGlvbiBBZGRPcHRpb24oJG9wdGlvbktpbmQsICRvcHRpb25OYW1lLCAkb3B0aW9uVmFsdWUpCiAgICB7CiAgICAJJG9wdENvdW50ID0gY291bnQoJHRoaXMtPk9wdGlvbnMpOwogICAgICAgICR0aGlzLT5PcHRpb25zWyRvcHRDb3VudF0gPSBuZXcgZmZPcHRpb24oJHRoaXMtPm1vZF9nbG9iYWxzLCBhcnJheSgKICAgICAgICAgICAgICAgICdmb3JtX2lkJz0+JHRoaXMtPkZvcm1JZCwKICAgICAgICAgICAgICAgICdmaWVsZF9pZCc9PiR0aGlzLT5GaWVsZElkLAogICAgICAgICAgICAgICAgJ29wdGlvbl9pZCc9Pi0xLAogICAgICAgICAgICAgICAgJ2tpbmQnPT4kb3B0aW9uS2luZCwKICAgICAgICAgICAgICAgICduYW1lJz0+JG9wdGlvbk5hbWUsCiAgICAgICAgICAgICAgICAndmFsdWUnPT4kb3B0aW9uVmFsdWUKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgKTsKICAgIH0KCglmdW5jdGlvbiBOZXJmSFRNTCgkaW5wdXQpCgl7CgkJJGlucHV0ID0gcHJlZ19yZXBsYWNlKCIvXDwvIiwgIiZsdDsiLCAkaW5wdXQpOwoJCSRpbnB1dCA9IHByZWdfcmVwbGFjZSgiL1wiLyIsICImcXVvdDsiLCAkaW5wdXQpOwoJCSRpbnB1dCA9IHByZWdfcmVwbGFjZSgiL1wnLyIsICImYWN1dGU7IiwgJGlucHV0KTsKCQlyZXR1cm4gJGlucHV0OwoJfQoKICAgIGZ1bmN0aW9uIE5hbWVFeGlzdHMoKQogICAgewogICAgICAgICRzcWwgPSAnU0VMRUNUIGZpZWxkX2lkIEZST00gJyAuICR0aGlzLT5tb2RfZ2xvYmFscy0+RmllbGRUYWJsZU5hbWUgLiAnIFdIRVJFIG5hbWU9PyBhbmQgZm9ybV9pZD0/JzsKCSAgICAkcnMgPSAkdGhpcy0+bW9kX2dsb2JhbHMtPkRCSGFuZGxlLT5FeGVjdXRlKCRzcWwsIGFycmF5KCR0aGlzLT5OYW1lLCR0aGlzLT5Gb3JtSWQpKTsKICAgICAgICBpZiAoJHJzICYmICRycy0+UmVjb3JkQ291bnQoKSA+IDApCiAgICAgICAgICAgIHsKICAgICAgICAgICAgJHJlc3VsdCA9ICRycy0+R2V0QXJyYXkoKTsKICAgICAgICAgICAgaWYgKCRyZXN1bHRbMF1bJ2ZpZWxkX2lkJ10gIT0gJHRoaXMtPkZpZWxkSWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCgogICAgZnVuY3Rpb24gTG9hZE9wdGlvbnMoJHBhcmFtcykKICAgIHsKICAgICAgICAkc3FsID0gJ1NFTEVDVCAqIEZST00gJyAuICR0aGlzLT5tb2RfZ2xvYmFscy0+T3B0aW9uVGFibGVOYW1lIC4gJyBXSEVSRSBmaWVsZF9pZD0/IE9SREVSIEJZIG9wdGlvbl9pZCc7CgkgICAgJHJzID0gJHRoaXMtPm1vZF9nbG9iYWxzLT5EQkhhbmRsZS0+RXhlY3V0ZSgkc3FsLCBhcnJheSgkdGhpcy0+RmllbGRJZCkpOwogICAgICAgICRyZXN1bHRzID0gYXJyYXkoKTsKICAgICAgICBpZiAoJHJzICYmICRycy0+UmVjb3JkQ291bnQoKSA+IDApCiAgICAgICAgICAgIHsKICAgICAgICAgICAgJHJlc3VsdHMgPSAkcnMtPkdldEFycmF5KCk7CiAgICAgICAgICAgIH0KICAgICAgICBmb3JlYWNoICgkcmVzdWx0cyBhcyAkcmVzdWx0KQogICAgICAgICAgICB7CiAgICAgICAgICAgICR0aGlzLT5PcHRpb25zW10gPSBuZXcgZmZPcHRpb24oJHRoaXMtPm1vZF9nbG9iYWxzLGFycmF5X21lcmdlKCRyZXN1bHQsJHBhcmFtcykpOwogICAgICAgICAgICB9CiAgICAgICAgJHRoaXMtPmxvYWRlZCA9ICdvcHRzJzsKICAgIH0KCiAgICBmdW5jdGlvbiBTdG9yZSgkc3RvcmVEZWVwPWZhbHNlKQogICAgewogICAgICAgIGlmICgkdGhpcy0+RmllbGRJZCA9PSAtMSkKICAgICAgICAgICAgewogICAgICAgICAgICAkdGhpcy0+RmllbGRJZCA9ICR0aGlzLT5tb2RfZ2xvYmFscy0+REJIYW5kbGUtPkdlbklEKCR0aGlzLT5tb2RfZ2xvYmFscy0+RmllbGRUYWJsZU5hbWUuJ19zZXEnKTsKCQkJJHNxbCA9ICdJTlNFUlQgSU5UTyAnIC4KCQkJCSR0aGlzLT5tb2RfZ2xvYmFscy0+RmllbGRUYWJsZU5hbWUgLgoJCQkJIiAoZmllbGRfaWQsIGZvcm1faWQsIG5hbWUsIHR5cGUsICIgLgogICAgICAgICAgICAgICAgICAgICJsZW5ndGgsIHZhbGlkYXRpb25fdHlwZSxjc3NfY2xhc3MsIiAuCiAgICAgICAgICAgICAgICAgICAgInJlcXVpcmVkLHNob3dfbGFiZWwsb3JkZXJfYnkpICIuCgkJCQkJIlZBTFVFUyAoPywgPywgPywgPywgPywgPywgPywgPywgPywgPykiOwoJCQkkcmVzID0gJHRoaXMtPm1vZF9nbG9iYWxzLT5EQkhhbmRsZS0+RXhlY3V0ZSgkc3FsLAoJCQkJYXJyYXkoJHRoaXMtPkZpZWxkSWQsICR0aGlzLT5Gb3JtSWQsCiAgICAgICAgICAgICAgICAkdGhpcy0+TmFtZSwgJHRoaXMtPlR5cGUsICR0aGlzLT5MZW5ndGgsCiAgICAgICAgICAgICAgICAkdGhpcy0+VmFsaWRhdGlvblR5cGUsICR0aGlzLT5DU1NDbGFzcywKICAgICAgICAgICAgICAgICR0aGlzLT5SZXF1aXJlZD8xOjAsICR0aGlzLT5TaG93TGFiZWw/MTowLCAkdGhpcy0+T3JkZXJCeSkpOwogICAgICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgICAgICB7CgkJCSRzcWwgPSAnVVBEQVRFICcgLiAkdGhpcy0+bW9kX2dsb2JhbHMtPkZpZWxkVGFibGVOYW1lIC4gIiBzZXQgbmFtZT0/LCB0eXBlPT8sICIgLgogICAgICAgICAgICAgICAgImxlbmd0aD0/LCB2YWxpZGF0aW9uX3R5cGU9PywgY3NzX2NsYXNzPT8sIHJlcXVpcmVkPT8sIG9yZGVyX2J5PT8sIHNob3dfbGFiZWw9PyB3aGVyZSBmaWVsZF9pZD0/IjsKCQkJJHJlcyA9ICR0aGlzLT5tb2RfZ2xvYmFscy0+REJIYW5kbGUtPkV4ZWN1dGUoJHNxbCwgYXJyYXkoJHRoaXMtPk5hbWUsCiAgICAgICAgICAgICAgICAkdGhpcy0+VHlwZSwgJHRoaXMtPkxlbmd0aCwgJHRoaXMtPlZhbGlkYXRpb25UeXBlLCAkdGhpcy0+Q1NTQ2xhc3MsCiAgICAgICAgICAgICAgICAkdGhpcy0+UmVxdWlyZWQ/MTowLCAkdGhpcy0+T3JkZXJCeSwgJHRoaXMtPlNob3dMYWJlbD8xOjAsICR0aGlzLT5GaWVsZElkKSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgCiAgICAgICAgaWYgKCRzdG9yZURlZXApCiAgICAgICAgICAgIHsKICAgICAgICAgICAgLy8gZHJvcCBvbGQgb3B0aW9ucwoJCQkkc3FsID0gJ0RFTEVURSBGUk9NICcgLiAkdGhpcy0+bW9kX2dsb2JhbHMtPk9wdGlvblRhYmxlTmFtZSAuICIgd2hlcmUgZmllbGRfaWQ9PyI7CgkJCSRyZXMgPSAkdGhpcy0+bW9kX2dsb2JhbHMtPkRCSGFuZGxlLT5FeGVjdXRlKCRzcWwsIGFycmF5KCR0aGlzLT5GaWVsZElkKSk7CgogICAgICAgICAgICBmb3JlYWNoICgkdGhpcy0+T3B0aW9ucyBhcyAkb3B0aW9uKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgLy8gaWYgdGhpcyBpcyBhIG5ldyBmaWVsZCwgd2UgbmVlZCB0byBnaXZlIE9wdGlvbnMgdGhlaXIgRmllbGQgSUQuCiAgICAgICAgICAgICAgICAkb3B0aW9uLT5GaWVsZElkID0gJHRoaXMtPkZpZWxkSWQ7CiAgICAgICAgICAgICAgICAkb3B0aW9uLT5TdG9yZSgpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgcmV0dXJuICRyZXM7CiAgICB9CgogICAgZnVuY3Rpb24gRGVsZXRlKCkKICAgIHsKCQlpZiAoJHRoaXMtPkZpZWxkSWQgPT0gLTEpCgkJICB7CgkJICByZXR1cm4gZmFsc2U7CgkJICB9CiAgICAgICAgLy8gY2FzY2FkZSB0aGUgZGVsZXRlIG1hbnVhbGx5Li4uIFNlZSBub3RlIGluIHRoZSBEZWxldGUgbWV0aG9kIG9mIGZmRm9ybSBjbGFzcy4KICAgICAgICBmb3JlYWNoICgkdGhpcy0+T3B0aW9ucyBhcyAkb3B0KQogICAgICAgICAgICB7CiAgICAgICAgICAgICRvcHQtPkRlbGV0ZSgpOwogICAgICAgICAgICB9CgkJJHNxbCA9ICdERUxFVEUgRlJPTSAnIC4gJHRoaXMtPm1vZF9nbG9iYWxzLT5GaWVsZFRhYmxlTmFtZSAuICIgd2hlcmUgZmllbGRfaWQ9PyI7CgkJJHJlcyA9ICR0aGlzLT5tb2RfZ2xvYmFscy0+REJIYW5kbGUtPkV4ZWN1dGUoJHNxbCwgYXJyYXkoJHRoaXMtPkZpZWxkSWQpKTsKCQlyZXR1cm4gdHJ1ZTsKICAgIH0KCn0KCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/classes/Option.class.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLy8gRmVlZGJhY2sgRm9ybS4gMDIvMjAwNSBTakcgPGZlZWRiYWNrZm9ybV9jbXNtb2R1bGVAZm9nYm91bmQubmV0PgovLyBBIE1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlLCAoYykyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKLy8gVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKCmNsYXNzIGZmT3B0aW9uIHsKCiAgICB2YXIgJE9wdGlvbklkPS0xOwogICAgdmFyICRGaWVsZElkOwogICAgdmFyICRGb3JtSWQ7CiAgICB2YXIgJEtpbmQ7CiAgICB2YXIgJE5hbWU7CiAgICB2YXIgJFZhbHVlOwogICAgCiAgICB2YXIgJG1vZF9nbG9iYWxzOwoKCWZ1bmN0aW9uIGZmT3B0aW9uKCYkbW9kX2dsb2JhbHMsICRwYXJhbXM9YXJyYXkoKSkKCXsKCSAgICR0aGlzLT5tb2RfZ2xvYmFscyA9ICYkbW9kX2dsb2JhbHM7CgkgICBpZiAoZmZVdGlsaXR5RnVuY3Rpb25zOjpkZWYoJHBhcmFtc1snb3B0aW9uX2lkJ10pKQoJICAgICAgIHsKCSAgICAgICAkdGhpcy0+T3B0aW9uSWQgPSAkcGFyYW1zWydvcHRpb25faWQnXTsKCSAgICAgICB9CgkgICBpZiAoZmZVdGlsaXR5RnVuY3Rpb25zOjpkZWYoJHBhcmFtc1snZm9ybV9pZCddKSkKCSAgICAgICB7CgkgICAgICAgJHRoaXMtPkZvcm1JZCA9ICRwYXJhbXNbJ2Zvcm1faWQnXTsKCSAgICAgICB9CgkgICBpZiAoZmZVdGlsaXR5RnVuY3Rpb25zOjpkZWYoJHBhcmFtc1snZmllbGRfaWQnXSkpCgkgICAgICAgewoJICAgICAgICR0aGlzLT5GaWVsZElkID0gJHBhcmFtc1snZmllbGRfaWQnXTsKCSAgICAgICB9CgkgICBpZiAoZmZVdGlsaXR5RnVuY3Rpb25zOjpkZWYoJHBhcmFtc1sna2luZCddKSkKCSAgICAgICB7CgkgICAgICAgJHRoaXMtPktpbmQgPSAkcGFyYW1zWydraW5kJ107CgkgICAgICAgfQoJICAgaWYgKGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCRwYXJhbXNbJ25hbWUnXSkpCgkgICAgICAgewoJICAgICAgICR0aGlzLT5OYW1lID0gJHBhcmFtc1snbmFtZSddOwoJICAgICAgIH0KCSAgIGlmIChmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkcGFyYW1zWyd2YWx1ZSddKSkKCSAgICAgICB7CgkgICAgICAgJHRoaXMtPlZhbHVlID0gJHBhcmFtc1sndmFsdWUnXTsKCSAgICAgICB9Cgl9CgkKCWZ1bmN0aW9uIERlYnVnRGlzcGxheSgpCgl7CgkJZWNobyAiLS0tIE9wdGlvbiBJZDogIi4kdGhpcy0+T3B0aW9uSWQuIjxiciAvPiI7CgkJZWNobyAiLS0tIE9wdGlvbiBLaW5kOiAiLiR0aGlzLT5LaW5kLiI8YnIgLz4iOwoJCWVjaG8gIi0tLSBPcHRpb24gTmFtZTogIi4kdGhpcy0+TmFtZS4iPGJyIC8+IjsKCQllY2hvICItLS0gT3B0aW9uIFZhbHVlOiAiLiR0aGlzLT5WYWx1ZS4iPGJyIC8+IjsKCgl9CgogICAgZnVuY3Rpb24gU3RvcmUoKQogICAgewogICAgICAgIGlmICgkdGhpcy0+T3B0aW9uSWQgPT0gLTEpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgJHRoaXMtPk9wdGlvbklkID0gJHRoaXMtPm1vZF9nbG9iYWxzLT5EQkhhbmRsZS0+R2VuSUQoJHRoaXMtPm1vZF9nbG9iYWxzLT5PcHRpb25UYWJsZU5hbWUuJ19zZXEnKTsKCQkJJHNxbCA9ICdJTlNFUlQgSU5UTyAnIC4gJHRoaXMtPm1vZF9nbG9iYWxzLT5PcHRpb25UYWJsZU5hbWUgLiAiIChvcHRpb25faWQsIGZpZWxkX2lkLCBmb3JtX2lkLCAiLgogICAgICAgICAgICAgICAgICAgICJraW5kLCBuYW1lLCB2YWx1ZSkgVkFMVUVTICg/LCA/LCA/LCA/LCA/LCA/KSI7CgkJCSRyZXMgPSAkdGhpcy0+bW9kX2dsb2JhbHMtPkRCSGFuZGxlLT5FeGVjdXRlKCRzcWwsIGFycmF5KCR0aGlzLT5PcHRpb25JZCwgJHRoaXMtPkZpZWxkSWQsCiAgICAgICAgICAgICAgICAkdGhpcy0+Rm9ybUlkLCAkdGhpcy0+S2luZCwgJHRoaXMtPk5hbWUsICR0aGlzLT5WYWx1ZSkpOwogICAgICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgICAgICB7CgkJCSRzcWwgPSAnVVBEQVRFICcgLiAkdGhpcy0+bW9kX2dsb2JhbHMtPk9wdGlvblRhYmxlTmFtZSAuICIgc2V0IGtpbmQ9PywgbmFtZT0/LCB2YWx1ZT0/ICIgLgogICAgICAgICAgICAgICAgIndoZXJlIG9wdGlvbl9pZD0/IjsKCQkJJHJlcyA9ICR0aGlzLT5tb2RfZ2xvYmFscy0+REJIYW5kbGUtPkV4ZWN1dGUoJHNxbCwgYXJyYXkoJHRoaXMtPktpbmQsICR0aGlzLT5OYW1lLAogICAgICAgICAgICAgICAgJHRoaXMtPlZhbHVlLCAkdGhpcy0+T3B0aW9uSWQpKTsKICAgICAgICAgICAgfQogICAgICAgICAgICAKICAgICAgICByZXR1cm4gJHJlczsKICAgIH0KCiAgICBmdW5jdGlvbiBEZWxldGUoKQogICAgewoJCWlmICgkdGhpcy0+T3B0aW9uSWQgPT0gLTEpCgkJICB7CgkJICByZXR1cm4gZmFsc2U7CgkJICB9CgkJJHNxbCA9ICdERUxFVEUgRlJPTSAnIC4gJHRoaXMtPm1vZF9nbG9iYWxzLT5PcHRpb25UYWJsZU5hbWUgLiAiIHdoZXJlIG9wdGlvbl9pZD0/IjsKCQkkcmVzID0gJHRoaXMtPm1vZF9nbG9iYWxzLT5EQkhhbmRsZS0+RXhlY3V0ZSgkc3FsLCBhcnJheSgkdGhpcy0+T3B0aW9uSWQpKTsKCQlyZXR1cm4gdHJ1ZTsKICAgIH0KCn0KCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/classes/PageBreak.class.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLy8gRmVlZGJhY2sgRm9ybS4gMDIvMjAwNSBTakcgPGZlZWRiYWNrZm9ybV9jbXNtb2R1bGVAZm9nYm91bmQubmV0PgovLyBBIE1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlLCAoYykyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKLy8gVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKCmNsYXNzIGZmUGFnZUJyZWFrIGV4dGVuZHMgZmZJbnB1dCB7CgoJZnVuY3Rpb24gZmZQYWdlQnJlYWsoJiRtb2RfZ2xvYmFscywgJGZvcm1SZWYsICRwYXJhbXM9YXJyYXkoKSkKCXsKICAgICAgICAkdGhpcy0+ZmZJbnB1dCgkbW9kX2dsb2JhbHMsICRmb3JtUmVmLCAkcGFyYW1zKTsKCQkkdGhpcy0+VHlwZSA9ICdQYWdlQnJlYWsnOwoJCSR0aGlzLT5EaXNwbGF5VHlwZSA9ICR0aGlzLT5tb2RfZ2xvYmFscy0+TGFuZygnZmllbGRfdHlwZV9wYWdlX2JyZWFrJyk7CgkJJHRoaXMtPlJlcXVpcmVkID0gZmFsc2U7CgkJJHRoaXMtPkRpc3BsYXlJbkZvcm0gPSBmYWxzZTsKCQkkdGhpcy0+VmFsaWRhdGlvblR5cGVzID0gYXJyYXkoJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCd2YWxpZGF0aW9uX25vbmUnKT0+J25vbmUnKTsKCQkkdGhpcy0+c3BlY2lhbElucHV0ID0gdHJ1ZTsKCX0KCglmdW5jdGlvbiBXcml0ZVRvUHVibGljRm9ybSgkaWQsICYkcGFyYW1zLCAkcmV0dXJuX2lkKQoJewoJfQoKCglmdW5jdGlvbiBTdGF0dXNJbmZvKCkKCXsKCQlyZXR1cm4gJyc7Cgl9CgoKCWZ1bmN0aW9uIFJlbmRlckFkbWluRm9ybSgkZm9ybURlc2NyaXB0b3IpCgl7CgkJcmV0dXJuIGFycmF5KCk7Cgl9CgoKCWZ1bmN0aW9uIFZhbGlkYXRlKCkKCXsKCQlyZXR1cm4gYXJyYXkodHJ1ZSwnJyk7Cgl9CgkKCWZ1bmN0aW9uIEFkbWluVmFsaWRhdGUoKQoJewoJCXJldHVybiBhcnJheSh0cnVlLCcnKTsKCX0KfQoKPz4K]]></data>
	</file>
	<file>
	  <filename>/classes/PulldownInput.class.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLy8gRmVlZGJhY2sgRm9ybS4gMDIvMjAwNSBTakcgPGZlZWRiYWNrZm9ybV9jbXNtb2R1bGVAZm9nYm91bmQubmV0PgovLyBBIE1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlLCAoYykyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKLy8gVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKCmNsYXNzIGZmUHVsbGRvd25JbnB1dCBleHRlbmRzIGZmSW5wdXQgewoKICBmdW5jdGlvbiBmZlB1bGxkb3duSW5wdXQoJiRtb2RfZ2xvYmFscywgJGZvcm1SZWYsICRwYXJhbXM9YXJyYXkoKSkKICB7CiAgICAkdGhpcy0+ZmZJbnB1dCgkbW9kX2dsb2JhbHMsICRmb3JtUmVmLCAkcGFyYW1zKTsKICAgICR0aGlzLT5UeXBlID0gJ1B1bGxkb3duSW5wdXQnOwogICAgJHRoaXMtPkRpc3BsYXlUeXBlID0gJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCdmaWVsZF90eXBlX3B1bGxkb3duJyk7CiAgICAkdGhpcy0+YWRkTGlzdFBhcmFtKCdzZWxlY3QnLCAnc2VsZWN0bmFtZScsICdzZWxlY3R2YWx1ZScsICRwYXJhbXMpOwogICAgaWYgKGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCRwYXJhbXNbJ2RlZmF1bHQnXSkpCiAgICAgIHsKCSR0aGlzLT5BZGRPcHRpb24oJ2RlZmF1bHQnLCdkZWZhdWx0JywkcGFyYW1zWydkZWZhdWx0J10pOwogICAgICB9CiAgICAkdGhpcy0+VmFsaWRhdGlvblR5cGVzID0gYXJyYXkoCgkJCQkgICAkdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ3ZhbGlkYXRpb25fbm9uZScpPT4nbm9uZScsCgkJCQkgICAkdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ3ZhbGlkYXRpb25fb3B0aW9uX3NlbGVjdGVkJyk9PidzZWxlY3RlZCcKCQkJCSAgICk7CiAgfQoKCiAgZnVuY3Rpb24gU3RhdHVzSW5mbygpCiAgewogICAgJG9wdFZhbHMgPSAkdGhpcy0+R2V0T3B0aW9uQnlLaW5kKCdzZWxlY3QnKTsKICAgICRyZXQgPSBjb3VudCgkb3B0VmFscyk7CiAgICAkcmV0IC49ICIgIi4kdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ2Nob2ljZXMnKTsKICAgIGlmIChmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkdGhpcy0+VmFsaWRhdGlvblR5cGUpKQogICAgICB7CgkkcmV0IC49ICIsICIuYXJyYXlfc2VhcmNoKCR0aGlzLT5WYWxpZGF0aW9uVHlwZSwkdGhpcy0+VmFsaWRhdGlvblR5cGVzKTsKICAgICAgfQogICAgcmV0dXJuICRyZXQ7CiAgfQoKICBmdW5jdGlvbiBXcml0ZVRvUHVibGljRm9ybSgkaWQsICYkcGFyYW1zLCAkcmV0dXJuX2lkKQogIHsKICAgICRtb2R1bGUgPSYgJHRoaXMtPm1vZF9nbG9iYWxzLT5zZWxmcHRyOwogICAgJG9wdFZhbHMgPSAkdGhpcy0+R2V0T3B0aW9uQnlLaW5kKCdzZWxlY3QnKTsKICAgICRkZWZWYWxzID0gJHRoaXMtPkdldE9wdGlvbkJ5S2luZCgnZGVmYXVsdCcpOwogICAgaWYgKHN0cmxlbigkdGhpcy0+Q1NTQ2xhc3MpPjApCiAgICAgIHsKCWVjaG8gIjxkaXYgY2xhc3M9XCIiLiR0aGlzLT5DU1NDbGFzcy4iXCI+IjsKICAgICAgfQoKICAgIGlmIChmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkZGVmVmFsc1swXS0+VmFsdWUpKQogICAgICB7Cgkkb3B0cyA9IGFycmF5KCRkZWZWYWxzWzBdLT5WYWx1ZT0+JycpOwogICAgICB9CiAgICBlbHNlCiAgICAgIHsKCSRvcHRzID0gYXJyYXkoJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCdzZWxlY3Rfb25lJyk9PicnKTsKICAgICAgfQogICAgJGRpc3BSb3dzID0gY291bnQoJG9wdFZhbHMpOwogICAgZm9yKCRpPTA7JGk8JGRpc3BSb3dzOyRpKyspCiAgICAgIHsKCSRvcHRzWyR0aGlzLT5OZXJmSFRNTCgkb3B0VmFsc1skaV0tPk5hbWUpXT0kb3B0VmFsc1skaV0tPk9wdGlvbklkOwogICAgICB9CgogICAgZWNobyAkbW9kdWxlLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwgJHRoaXMtPkFsaWFzLCAkb3B0cywgLTEsICR0aGlzLT5WYWx1ZSwkdGhpcy0+bW9kX2dsb2JhbHMtPlVzZUlEQW5kTmFtZT8naWQ9IicuJHRoaXMtPkFsaWFzLiciJzonJyk7CiAgICBpZiAoc3RybGVuKCR0aGlzLT5DU1NDbGFzcyk+MCkKICAgICAgewoJZWNobyAiPC9kaXY+IjsKICAgICAgfQogIH0KCiAgZnVuY3Rpb24gUmVuZGVyQWRtaW5Gb3JtKCRmb3JtRGVzY3JpcHRvcikKICB7CiAgICAkbW9kdWxlID0mICR0aGlzLT5tb2RfZ2xvYmFscy0+c2VsZnB0cjsKICAgICRvcHRWYWxzID0gJHRoaXMtPkdldE9wdGlvbkJ5S2luZCgnc2VsZWN0Jyk7CiAgICAkZGVmVmFscyA9ICR0aGlzLT5HZXRPcHRpb25CeUtpbmQoJ2RlZmF1bHQnKTsKICAgICRyZXQgPSAgJzx0YWJsZT48dHI+PHRoPicuJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCd0aXRsZV9zZWxlY3Rpb25fbmFtZScpLic8L3RoPjx0aD4nLgogICAgICAkdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ3RpdGxlX3N1Ym1pdHRlZF92YWx1ZScpLic8L3RoPjwvdHI+JzsKICAgICRkaXNwUm93cyA9IGNvdW50KCRvcHRWYWxzKSs1OwogICAgZm9yKCRpPTA7JGk8JGRpc3BSb3dzOyRpKyspCiAgICAgIHsKCSRyZXQgLj0gJzx0cj48dGQ+JzsKCSRyZXQgLj0gJG1vZHVsZS0+Q3JlYXRlSW5wdXRUZXh0KCRmb3JtRGVzY3JpcHRvciwgJ3NlbGVjdG5hbWVbXScsCgkJCQkJICAgZmZVdGlsaXR5RnVuY3Rpb25zOjpkZWYoJG9wdFZhbHNbJGldLT5OYW1lKT8kdGhpcy0+TmVyZkhUTUwoJG9wdFZhbHNbJGldLT5OYW1lKTonJywyNSk7CgkkcmV0IC49ICc8L3RkPjx0ZD4nOwoJJHJldCAuPSAkbW9kdWxlLT5DcmVhdGVJbnB1dFRleHQoJGZvcm1EZXNjcmlwdG9yLCAnc2VsZWN0dmFsdWVbXScsCgkJCQkJICAgZmZVdGlsaXR5RnVuY3Rpb25zOjpkZWYoJG9wdFZhbHNbJGldLT5WYWx1ZSk/JHRoaXMtPk5lcmZIVE1MKCRvcHRWYWxzWyRpXS0+VmFsdWUpOicnLDI1KTsKCSRyZXQgLj0gJzwvdGQ+PC90cj4nOwogICAgICB9CiAgICAkcmV0IC49ICc8L3RhYmxlPic7CiAgICByZXR1cm4gYXJyYXkoJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCd0aXRsZV9zZWxlY3Rfb25lX21lc3NhZ2UnKS4nOic9PiRtb2R1bGUtPkNyZWF0ZUlucHV0VGV4dCgkZm9ybURlc2NyaXB0b3IsICdkZWZhdWx0JywKCQkJCQkJCQkJCQkJICAgICAgZmZVdGlsaXR5RnVuY3Rpb25zOjpkZWYoJGRlZlZhbHNbMF0tPlZhbHVlKT8kdGhpcy0+TmVyZkhUTUwoJGRlZlZhbHNbMF0tPlZhbHVlKTonU2VsZWN0IE9uZScsMjUpLAoJCSAkdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ3RpdGxlX3B1bGxkb3duX2NvbnRlbnRzJykuJzonPT4kcmV0KTsKICB9CgogIGZ1bmN0aW9uIEdldFZhbHVlKCkKICB7CiAgICBpZiAoZmZVdGlsaXR5RnVuY3Rpb25zOjpkZWYoJHRoaXMtPlZhbHVlKSkKICAgICAgewoJJHBkT3B0ID0gJHRoaXMtPkdldE9wdGlvbkJ5SWQoJHRoaXMtPlZhbHVlKTsKCXJldHVybiAkcGRPcHRbMF0tPlZhbHVlOwogICAgICB9CiAgICBlbHNlCiAgICAgIHsKCXJldHVybiAkdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ3Vuc3BlY2lmaWVkJyk7CiAgICAgIH0JCiAgfQoKCiAgZnVuY3Rpb24gVmFsaWRhdGUoKQogIHsKICAgICRyZXN1bHQgPSB0cnVlOwogICAgJG1lc3NhZ2UgPSAnJzsKCiAgICBzd2l0Y2ggKCR0aGlzLT5WYWxpZGF0aW9uVHlwZSkKICAgICAgewogICAgICBjYXNlICdub25lJzoKCWJyZWFrOwogICAgICBjYXNlICdzZWxlY3RlZCc6CglpZiAoISBmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkdGhpcy0+VmFsdWUpKQoJICB7CgkgICAgJHJlc3VsdCA9IGZhbHNlOwoJICAgICRtZXNzYWdlID0gJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCdwbGVhc2Vfc2VsZWN0X3NvbWV0aGluZycpLicgIicuJHRoaXMtPk5hbWUuJyInOwoJICB9CglicmVhazsKICAgICAgfQogICAgcmV0dXJuIGFycmF5KCRyZXN1bHQsICRtZXNzYWdlKTsKICB9Cgp9Cgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/classes/RadioGroupInput.class.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLy8gRmVlZGJhY2sgRm9ybS4gMDIvMjAwNSBTakcgPGZlZWRiYWNrZm9ybV9jbXNtb2R1bGVAZm9nYm91bmQubmV0PgovLyBBIE1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlLCAoYykyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKLy8gVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKCmNsYXNzIGZmUmFkaW9Hcm91cElucHV0IGV4dGVuZHMgZmZJbnB1dCB7CgogIGZ1bmN0aW9uIGZmUmFkaW9Hcm91cElucHV0KCYkbW9kX2dsb2JhbHMsICRmb3JtUmVmLCAkcGFyYW1zPWFycmF5KCkpCiAgewogICAgJHRoaXMtPmZmSW5wdXQoJG1vZF9nbG9iYWxzLCAkZm9ybVJlZiwgJHBhcmFtcyk7CiAgICAkdGhpcy0+VHlwZSA9ICdSYWRpb0dyb3VwSW5wdXQnOwogICAgJHRoaXMtPkRpc3BsYXlUeXBlID0gJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCdmaWVsZF90eXBlX3JhZGlvX2dyb3VwJyk7CiAgICAkdGhpcy0+YWRkTGlzdFBhcmFtKCdyYWRpbycsICdyYWRpb25hbWUnLCAncmFkaW92YWx1ZScsICRwYXJhbXMpOwogICAgJHRoaXMtPlZhbGlkYXRpb25UeXBlcyA9IGFycmF5KAoJCQkJICAgJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCd2YWxpZGF0aW9uX25vbmUnKT0+J25vbmUnLAoJCQkJICAgJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCd2YWxpZGF0aW9uX2F0X2xlYXN0X29uZScpPT4nY2hlY2tlZCcKCQkJCSAgICk7CiAgfQoKCiAgZnVuY3Rpb24gU3RhdHVzSW5mbygpCiAgewogICAgJHJldCA9IGNvdW50KCR0aGlzLT5PcHRpb25zKTsKICAgICRyZXQgLj0gIiAiLiR0aGlzLT5tb2RfZ2xvYmFscy0+TGFuZygnY2hvaWNlcycpOwogICAgaWYgKGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCR0aGlzLT5WYWxpZGF0aW9uVHlwZSkpCiAgICAgIHsKCSRyZXQgLj0gIiwgIi5hcnJheV9zZWFyY2goJHRoaXMtPlZhbGlkYXRpb25UeXBlLCR0aGlzLT5WYWxpZGF0aW9uVHlwZXMpOwogICAgICB9CiAgICByZXR1cm4gJHJldDsKICB9CgogIGZ1bmN0aW9uIFdyaXRlVG9QdWJsaWNGb3JtKCRpZCwgJiRwYXJhbXMsICRyZXR1cm5faWQpCiAgewogICAgJG1vZHVsZSA9JiAkdGhpcy0+bW9kX2dsb2JhbHMtPnNlbGZwdHI7CiAgICBpZiAoc3RybGVuKCR0aGlzLT5DU1NDbGFzcyk+MCkKICAgICAgewoJZWNobyAiPGRpdiBjbGFzcz1cIiIuJHRoaXMtPkNTU0NsYXNzLiJcIj4iOwogICAgICB9CiAgICAkb3B0VmFscyA9ICR0aGlzLT5HZXRPcHRpb25CeUtpbmQoJ3JhZGlvJyk7CiAgICAkb3B0cyA9IGFycmF5KCk7CiAgICAkZGlzcFJvd3MgPSBjb3VudCgkb3B0VmFscyk7CiAgICBmb3IoJGk9MDskaTwkZGlzcFJvd3M7JGkrKykKICAgICAgewoJJG9wdHNbJHRoaXMtPk5lcmZIVE1MKCRvcHRWYWxzWyRpXS0+TmFtZSldPSRvcHRWYWxzWyRpXS0+T3B0aW9uSWQ7CiAgICAgIH0KICAgIGVjaG8gJG1vZHVsZS0+Q3JlYXRlSW5wdXRSYWRpb0dyb3VwKCRpZCwgJHRoaXMtPkFsaWFzLCAkb3B0cywgJHRoaXMtPlZhbHVlLCR0aGlzLT5tb2RfZ2xvYmFscy0+VXNlSURBbmROYW1lPydpZD0iJy4kdGhpcy0+QWxpYXMuJGkuJyInOicnKTsKICAgIGlmIChzdHJsZW4oJHRoaXMtPkNTU0NsYXNzKT4wKQogICAgICB7CgllY2hvICI8L2Rpdj4iOwogICAgICB9CiAgfQoKICBmdW5jdGlvbiBHZXRWYWx1ZSgpCiAgewogICAgaWYgKGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCR0aGlzLT5WYWx1ZSkpCiAgICAgIHsKCSRyYWRPcHQgPSAkdGhpcy0+R2V0T3B0aW9uQnlJZCgkdGhpcy0+VmFsdWUpOwoJcmV0dXJuICRyYWRPcHRbMF0tPlZhbHVlOwogICAgICB9CiAgICBlbHNlCiAgICAgIHsKCXJldHVybiAkdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ3Vuc3BlY2lmaWVkJyk7CiAgICAgIH0JCiAgfQoKCgogIGZ1bmN0aW9uIFJlbmRlckFkbWluRm9ybSgkZm9ybURlc2NyaXB0b3IpCiAgewogICAgJG1vZHVsZSA9JiAkdGhpcy0+bW9kX2dsb2JhbHMtPnNlbGZwdHI7CiAgICAkb3B0VmFscyA9ICR0aGlzLT5HZXRPcHRpb25CeUtpbmQoJ3JhZGlvJyk7CiAgICAkcmV0ID0gJzx0YWJsZT48dHI+PHRoPicuJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCd0aXRsZV9yYWRpb19uYW1lJykuCiAgICAgICc8L3RoPjx0aD4nLiR0aGlzLT5tb2RfZ2xvYmFscy0+TGFuZygndGl0bGVfc3VibWl0dGVkX3ZhbHVlJykuJzwvdGg+PC90cj4nOwogICAgJGRpc3BSb3dzID0gY291bnQoJG9wdFZhbHMpKzU7CiAgICBmb3IoJGk9MDskaTwkZGlzcFJvd3M7JGkrKykKICAgICAgewoJJHJldCAuPSAnPHRyPjx0ZD4nOwoJJHJldCAuPSAkbW9kdWxlLT5DcmVhdGVJbnB1dFRleHQoJGZvcm1EZXNjcmlwdG9yLCAncmFkaW9uYW1lW10nLAoJCQkJCSAgIGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCRvcHRWYWxzWyRpXS0+TmFtZSk/JHRoaXMtPk5lcmZIVE1MKCRvcHRWYWxzWyRpXS0+TmFtZSk6JycsMjUpOwoJJHJldCAuPSAnPC90ZD48dGQ+JzsKCSRyZXQgLj0gJG1vZHVsZS0+Q3JlYXRlSW5wdXRUZXh0KCRmb3JtRGVzY3JpcHRvciwgJ3JhZGlvdmFsdWVbXScsCgkJCQkJICAgZmZVdGlsaXR5RnVuY3Rpb25zOjpkZWYoJG9wdFZhbHNbJGldLT5WYWx1ZSk/JHRoaXMtPk5lcmZIVE1MKCRvcHRWYWxzWyRpXS0+VmFsdWUpOicnLDI1KTsKCSRyZXQgLj0gJzwvdGQ+PC90cj4nOwogICAgICB9CiAgICAkcmV0IC49ICc8L3RhYmxlPic7CiAgICByZXR1cm4gYXJyYXkoJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCd0aXRsZV9yYWRpb19ncm91cF9kZXRhaWxzJykuJzonPT4kcmV0KTsKICB9CgoKICBmdW5jdGlvbiBWYWxpZGF0ZSgpCiAgewogICAgJHJlc3VsdCA9IHRydWU7CiAgICAkbWVzc2FnZSA9ICcnOwoKICAgIHN3aXRjaCAoJHRoaXMtPlZhbGlkYXRpb25UeXBlKQogICAgICB7CiAgICAgIGNhc2UgJ25vbmUnOgoJYnJlYWs7CiAgICAgIGNhc2UgJ2NoZWNrZWQnOgoJaWYgKCEgZmZVdGlsaXR5RnVuY3Rpb25zOjpkZWYoJHRoaXMtPlZhbHVlKSkKCSAgewoJICAgICRyZXN1bHQgPSBmYWxzZTsKCSAgICAkbWVzc2FnZSA9ICR0aGlzLT5tb2RfZ2xvYmFscy0+TGFuZygncGxlYXNlX2NoZWNrX3NvbWV0aGluZycpLicgIicuJHRoaXMtPk5hbWUuJyInOwoJICB9CglicmVhazsKICAgICAgfQogICAgcmV0dXJuIGFycmF5KCRyZXN1bHQsICRtZXNzYWdlKTsKICB9Cgp9Cgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/classes/StateInput.class.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLy8gRmVlZGJhY2sgRm9ybS4gMDIvMjAwNSBTakcgPGZlZWRiYWNrZm9ybV9jbXNtb2R1bGVAZm9nYm91bmQubmV0PgovLyBBIE1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlLCAoYykyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKLy8gVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKCmNsYXNzIGZmU3RhdGVJbnB1dCBleHRlbmRzIGZmSW5wdXQgewoKICBmdW5jdGlvbiBmZlN0YXRlSW5wdXQoJiRtb2RfZ2xvYmFscywgJGZvcm1SZWYsICRwYXJhbXM9YXJyYXkoKSkKICB7CiAgICAkdGhpcy0+ZmZJbnB1dCgkbW9kX2dsb2JhbHMsICRmb3JtUmVmLCAkcGFyYW1zKTsKICAgICR0aGlzLT5UeXBlID0gJ1N0YXRlSW5wdXQnOwogICAgJHRoaXMtPkRpc3BsYXlUeXBlID0gJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCdmaWVsZF90eXBlX3N0YXRlJyk7CiAgICAkdGhpcy0+YWRkTGlzdFBhcmFtKCdzZWxlY3QnLCAnc2VsZWN0bmFtZScsICdzZWxlY3R2YWx1ZScsICRwYXJhbXMpOwogICAgaWYgKGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCRwYXJhbXNbJ2RlZmF1bHQnXSkpCiAgICAgIHsKCSR0aGlzLT5BZGRPcHRpb24oJ2RlZmF1bHQnLCdkZWZhdWx0JywkcGFyYW1zWydkZWZhdWx0J10pOwogICAgICB9CiAgICAkdGhpcy0+VmFsaWRhdGlvblR5cGVzID0gYXJyYXkoCgkJCQkgICAkdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ3ZhbGlkYXRpb25fbm9uZScpPT4nbm9uZScsCgkJCQkgICAkdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ3ZhbGlkYXRpb25fb3B0aW9uX3NlbGVjdGVkJyk9PidzZWxlY3RlZCcKCQkJCSAgICk7CiAgICAkdGhpcy0+U3RhdGVzID0gYXJyYXkoCgkJCSAgIkFsYWJhbWEiPT4iQUwiLCJBbGFza2EiPT4iQUsiLCJBcml6b25hIj0+IkFaIiwiQXJrYW5zYXMiPT4iQVIiLAoJCQkgICJDYWxpZm9ybmlhIj0+IkNBIiwiQ29sb3JhZG8iPT4iQ08iLCJDb25uZWN0aWN1dCI9PiJDVCIsIkRlbGF3YXJlIj0+IkRFIiwiRmxvcmlkYSI9PiJGTCIsCgkJCSAgIkdlb3JnaWEiPT4iR0EiLCJIYXdhaWkiPT4iSEkiLCJJZGFobyI9PiJJRCIsIklsbGlub2lzIj0+IklMIiwiSW5kaWFuYSI9PiJJTiIsIklvd2EiPT4iSUEiLAoJCQkgICJLYW5zYXMiPT4iS1MiLCJLZW50dWNreSI9PiJLWSIsIkxvdWlzaWFuYSI9PiJMQSIsIk1haW5lIj0+Ik1FIiwiTWFyeWxhbmQiPT4iTUQiLCJNYXNzYWNodXNldHRzIj0+Ik1BIiwKCQkJICAiTWljaGlnYW4iPT4iTUkiLCJNaW5uZXNvdGEiPT4iTU4iLCJNaXNzaXNzaXBwaSI9PiJNUyIsIk1pc3NvdXJpIj0+Ik1PIiwiTW9udGFuYSI9PiJNVCIsIk5lYnJhc2thIj0+Ik5FIiwKCQkJICAiTmV2YWRhIj0+Ik5WIiwiTmV3IEhhbXBzaGlyZSI9PiJOSCIsIk5ldyBKZXJzZXkiPT4iTkoiLCJOZXcgTWV4aWNvIj0+Ik5NIiwiTmV3IFlvcmsiPT4iTlkiLAoJCQkgICJOb3J0aCBDYXJvbGluYSI9PiJOQyIsIk5vcnRoIERha290YSI9PiJORCIsIk9oaW8iPT4iT0giLCJPa2xhaG9tYSI9PiJPSyIsIk9yZWdvbiI9PiJPUiIsCgkJCSAgIlBlbm5zeWx2YW5pYSI9PiJQQSIsIlJob2RlIElzbGFuZCI9PiJSSSIsIlNvdXRoIENhcm9saW5hIj0+IlNDIiwiU291dGggRGFrb3RhIj0+IlNEIiwKCQkJICAiVGVubmVzc2VlIj0+IlROIiwiVGV4YXMiPT4iVFgiLCJVdGFoIj0+IlVUIiwiVmVybW9udCI9PiJWVCIsIlZpcmdpbmlhIj0+IlZBIiwKCQkJICAiV2FzaGluZ3RvbiI9PiJXQSIsIkRpc3RyaWN0IG9mIENvbHVtYmlhIj0+IkRDIiwiV2VzdCBWaXJnaW5pYSI9PiJXViIsIldpc2NvbnNpbiI9PiJXSSIsIld5b21pbmciPT4iV1kiKTsKCiAgfQoKCiAgZnVuY3Rpb24gU3RhdHVzSW5mbygpCiAgewogICAgaWYgKGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCR0aGlzLT5WYWxpZGF0aW9uVHlwZSkpCiAgICAgIHsKCXJldHVybiBhcnJheV9zZWFyY2goJHRoaXMtPlZhbGlkYXRpb25UeXBlLCR0aGlzLT5WYWxpZGF0aW9uVHlwZXMpOwogICAgICB9CiAgICByZXR1cm4gJyc7CiAgfQoKICBmdW5jdGlvbiBXcml0ZVRvUHVibGljRm9ybSgkaWQsICYkcGFyYW1zLCAkcmV0dXJuX2lkKQogIHsKICAgICRtb2R1bGUgPSYgJHRoaXMtPm1vZF9nbG9iYWxzLT5zZWxmcHRyOwogICAgJGRlZlZhbHMgPSAkdGhpcy0+R2V0T3B0aW9uQnlLaW5kKCdkZWZhdWx0Jyk7CiAgICBpZiAoc3RybGVuKCR0aGlzLT5DU1NDbGFzcyk+MCkKICAgICAgewoJZWNobyAiPGRpdiBjbGFzcz1cIiIuJHRoaXMtPkNTU0NsYXNzLiJcIj4iOwogICAgICB9CgogICAgaWYgKGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCRkZWZWYWxzWzBdLT5WYWx1ZSkpCiAgICAgIHsKCSR0aGlzLT5TdGF0ZXNbJGRlZlZhbHNbMF0tPlZhbHVlXT0nJzsKICAgICAgfQogICAgZWxzZQogICAgICB7CgkkdGhpcy0+U3RhdGVzWyR0aGlzLT5tb2RfZ2xvYmFscy0+TGFuZygnc2VsZWN0X29uZScpXT0nJzsKICAgICAgfQogICAgYXNvcnQoJHRoaXMtPlN0YXRlcyk7CiAgICBlY2hvICRtb2R1bGUtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCAkdGhpcy0+QWxpYXMsICR0aGlzLT5TdGF0ZXMsIC0xLCAkdGhpcy0+VmFsdWUsJHRoaXMtPm1vZF9nbG9iYWxzLT5Vc2VJREFuZE5hbWU/J2lkPSInLiR0aGlzLT5BbGlhcy4nIic6JycpOwogICAgaWYgKHN0cmxlbigkdGhpcy0+Q1NTQ2xhc3MpPjApCiAgICAgIHsKCWVjaG8gIjwvZGl2PiI7CiAgICAgIH0KICB9CgogIGZ1bmN0aW9uIFJlbmRlckFkbWluRm9ybSgkZm9ybURlc2NyaXB0b3IpCiAgewogICAgJG1vZHVsZSA9JiAkdGhpcy0+bW9kX2dsb2JhbHMtPnNlbGZwdHI7CiAgICAkZGVmVmFscyA9ICR0aGlzLT5HZXRPcHRpb25CeUtpbmQoJ2RlZmF1bHQnKTsKICAgIHJldHVybiBhcnJheSgkdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ3RpdGxlX3NlbGVjdF9vbmVfbWVzc2FnZScpLic6Jz0+JG1vZHVsZS0+Q3JlYXRlSW5wdXRUZXh0KCRmb3JtRGVzY3JpcHRvciwgJ2RlZmF1bHQnLAoJCQkJCQkJCQkJCQkgICAgICBmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkZGVmVmFsc1swXS0+VmFsdWUpPyR0aGlzLT5OZXJmSFRNTCgkZGVmVmFsc1swXS0+VmFsdWUpOidTZWxlY3QgT25lJywyNSkpOwogIH0KCiAgZnVuY3Rpb24gR2V0VmFsdWUoKQogIHsKICAgIGlmIChmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkdGhpcy0+VmFsdWUpKQogICAgICB7CglyZXR1cm4gJHRoaXMtPlZhbHVlOwogICAgICB9CiAgICBlbHNlCiAgICAgIHsKCXJldHVybiAkdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ3Vuc3BlY2lmaWVkJyk7CiAgICAgIH0JCiAgfQoKCiAgZnVuY3Rpb24gVmFsaWRhdGUoKQogIHsKICAgICRyZXN1bHQgPSB0cnVlOwogICAgJG1lc3NhZ2UgPSAnJzsKCiAgICBzd2l0Y2ggKCR0aGlzLT5WYWxpZGF0aW9uVHlwZSkKICAgICAgewogICAgICBjYXNlICdub25lJzoKCWJyZWFrOwogICAgICBjYXNlICdzZWxlY3RlZCc6CglpZiAoISBmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkdGhpcy0+VmFsdWUpKQoJICB7CgkgICAgJHJlc3VsdCA9IGZhbHNlOwoJICAgICRtZXNzYWdlID0gJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCdwbGVhc2Vfc2VsZWN0X3NvbWV0aGluZycpLicgIicuJHRoaXMtPk5hbWUuJyInOwoJICB9CglicmVhazsKICAgICAgfQogICAgcmV0dXJuIGFycmF5KCRyZXN1bHQsICRtZXNzYWdlKTsKICB9Cgp9Cgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/classes/StaticTextInput.class.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLy8gRmVlZGJhY2sgRm9ybS4gMDIvMjAwNSBTakcgPGZlZWRiYWNrZm9ybV9jbXNtb2R1bGVAZm9nYm91bmQubmV0PgovLyBBIE1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlLCAoYykyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKLy8gVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKCmNsYXNzIGZmU3RhdGljVGV4dElucHV0IGV4dGVuZHMgZmZJbnB1dCB7CgogIGZ1bmN0aW9uIGZmU3RhdGljVGV4dElucHV0KCYkbW9kX2dsb2JhbHMsICRmb3JtUmVmLCAmJHBhcmFtcykKICB7CiAgICAkdGhpcy0+ZmZJbnB1dCgkbW9kX2dsb2JhbHMsICRmb3JtUmVmLCAkcGFyYW1zKTsKICAgICR0aGlzLT5UeXBlID0gJ1N0YXRpY1RleHRJbnB1dCc7CiAgICAkdGhpcy0+RGlzcGxheVR5cGUgPSAkdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ2ZpZWxkX3R5cGVfc3RhdGljX3RleHQnKTsKICAgIGlmIChmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkcGFyYW1zWyd0ZXh0J10pKQogICAgICB7CgkkdGhpcy0+QWRkT3B0aW9uKCd0ZXh0JywgJ3RleHQnLCAkcGFyYW1zWyd0ZXh0J10pOwogICAgICB9CiAgICAkdGhpcy0+VmFsaWRhdGlvblR5cGVzID0gYXJyYXkoCgkJCQkgICAkdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ3ZhbGlkYXRpb25fbm9uZScpPT4nbm9uZScKCQkJCSAgICk7CiAgICAkdGhpcy0+cmVxdWlyZWQgPSBmYWxzZTsKICAgICR0aGlzLT5zcGVjaWFsSW5wdXQgPSB0cnVlOwoKICB9CgogIGZ1bmN0aW9uIFdyaXRlVG9QdWJsaWNGb3JtKCRpZCwgJiRwYXJhbXMsICRyZXR1cm5faWQpCiAgewogICAgJHRleHRPcHQgPSAkdGhpcy0+R2V0T3B0aW9uQnlLaW5kKCd0ZXh0Jyk7CiAgICBpZiAoc3RybGVuKCR0aGlzLT5DU1NDbGFzcyk+MCkKICAgICAgewoJZWNobyAiPGRpdiBjbGFzcz1cIiIuJHRoaXMtPkNTU0NsYXNzLiJcIj4iOwogICAgICB9CiAgICBlY2hvIGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCR0ZXh0T3B0WzBdLT5WYWx1ZSk/JHRleHRPcHRbMF0tPlZhbHVlOicnOwogICAgaWYgKHN0cmxlbigkdGhpcy0+Q1NTQ2xhc3MpPjApCiAgICAgIHsKCWVjaG8gIjwvZGl2PiI7CiAgICAgIH0KICB9CgoKICBmdW5jdGlvbiBTdGF0dXNJbmZvKCkKICB7CiAgICAkdGV4dE9wdCA9ICR0aGlzLT5HZXRPcHRpb25CeUtpbmQoJ3RleHQnKTsKICAgIGlmIChpc3NldCgkdGV4dE9wdFswXS0+VmFsdWUpKQogICAgICB7CgkkcmV0ID0gc3RybGVuKCR0ZXh0T3B0WzBdLT5WYWx1ZSk7CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJJHJldCA9ICcwJzsKICAgICAgfQogICAgJHJldCAuPSAnICcuJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCdjaGFycycpOwogICAgcmV0dXJuICRyZXQ7CiAgfQoKCiAgZnVuY3Rpb24gUmVuZGVyQWRtaW5Gb3JtKCRmb3JtRGVzY3JpcHRvcikKICB7CiAgICAkbW9kdWxlID0mICR0aGlzLT5tb2RfZ2xvYmFscy0+c2VsZnB0cjsKICAgICR0ZXh0T3B0ID0gJHRoaXMtPkdldE9wdGlvbkJ5S2luZCgndGV4dCcpOwoKICAgIHJldHVybiBhcnJheSgkdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ3RpdGxlX3N0YXRpY190ZXh0JykuJzonPT4KCQkgJG1vZHVsZS0+Q3JlYXRlVGV4dEFyZWEoZmFsc2UsICRmb3JtRGVzY3JpcHRvciwgZmZVdGlsaXR5RnVuY3Rpb25zOjpkZWYoJHRleHRPcHRbMF0tPlZhbHVlKT8kdGhpcy0+TmVyZkhUTUwoJHRleHRPcHRbMF0tPlZhbHVlKTonJywgJ3RleHQnLCdwYWdlaGVhZHRhZ3MnKSk7IAogICAgICAgICAgICAKICB9CgoKICBmdW5jdGlvbiBWYWxpZGF0ZSgpCiAgewogICAgcmV0dXJuIGFycmF5KHRydWUsICcnKTsKICB9Cgp9Cgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/classes/TextAreaInput.class.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLy8gRmVlZGJhY2sgRm9ybS4gMDIvMjAwNSBTakcgPGZlZWRiYWNrZm9ybV9jbXNtb2R1bGVAZm9nYm91bmQubmV0PgovLyBBIE1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlLCAoYykyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKLy8gVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKCmNsYXNzIGZmVGV4dEFyZWFJbnB1dCBleHRlbmRzIGZmSW5wdXQgewoKICBmdW5jdGlvbiBmZlRleHRBcmVhSW5wdXQoJiRtb2RfZ2xvYmFscywgJGZvcm1SZWYsICRwYXJhbXM9YXJyYXkoKSkKICB7CiAgICAkdGhpcy0+ZmZJbnB1dCgkbW9kX2dsb2JhbHMsICRmb3JtUmVmLCAkcGFyYW1zKTsKICAgICR0aGlzLT5UeXBlID0gJ1RleHRBcmVhSW5wdXQnOwogICAgJHRoaXMtPkRpc3BsYXlUeXBlID0gJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCdmaWVsZF90eXBlX3RleHRfYXJlYScpOwogICAgJHRoaXMtPlZhbGlkYXRpb25UeXBlcyA9IGFycmF5KAoJCQkJICAgJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCd2YWxpZGF0aW9uX25vbmUnKT0+J25vbmUnLAoJCQkJICAgJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCd2YWxpZGF0aW9uX25vdF9lbXB0eScpPT4nbm9uZW1wdHknCgkJCQkgICApOwoKICB9CgogIGZ1bmN0aW9uIFdyaXRlVG9QdWJsaWNGb3JtKCRpZCwgJiRwYXJhbXMsICRyZXR1cm5faWQpCiAgeyAgICAgICAgICAgIAogICAgJG1vZHVsZSA9JiAkdGhpcy0+bW9kX2dsb2JhbHMtPnNlbGZwdHI7CiAgICBpZiAoc3RybGVuKCR0aGlzLT5DU1NDbGFzcyk+MCkKICAgICAgewoJZWNobyAiPGRpdiBjbGFzcz1cIiIuJHRoaXMtPkNTU0NsYXNzLiJcIj4iOwogICAgICB9CiAgICBlY2hvICRtb2R1bGUtPkNyZWF0ZVRleHRBcmVhKGZhbHNlLCAkaWQsICR0aGlzLT5OZXJmSFRNTCgkdGhpcy0+VmFsdWUpLCAkdGhpcy0+QWxpYXMsICd1c2VyJywkdGhpcy0+bW9kX2dsb2JhbHMtPlVzZUlEQW5kTmFtZT8kdGhpcy0+QWxpYXM6JycpOyAgICAgICAgICAgIAogICAgaWYgKHN0cmxlbigkdGhpcy0+Q1NTQ2xhc3MpPjApCiAgICAgIHsKCWVjaG8gIjwvZGl2PiI7CiAgICAgIH0KICB9CgoKICBmdW5jdGlvbiBTdGF0dXNJbmZvKCkKICB7CiAgICBpZiAoZmZVdGlsaXR5RnVuY3Rpb25zOjpkZWYoJHRoaXMtPlZhbGlkYXRpb25UeXBlKSkKICAgICAgewoJcmV0dXJuIGFycmF5X3NlYXJjaCgkdGhpcy0+VmFsaWRhdGlvblR5cGUsJHRoaXMtPlZhbGlkYXRpb25UeXBlcyk7CiAgICAgIH0KICAgIHJldHVybiAnJzsKICB9CgoKICBmdW5jdGlvbiBSZW5kZXJBZG1pbkZvcm0oJGZvcm1EZXNjcmlwdG9yKQogIHsKICAgIHJldHVybiBhcnJheSgpOwogIH0KCgogIGZ1bmN0aW9uIFZhbGlkYXRlKCkKICB7CiAgICAkcmVzdWx0ID0gdHJ1ZTsKICAgICRtZXNzYWdlID0gJyc7CgogICAgc3dpdGNoICgkdGhpcy0+VmFsaWRhdGlvblR5cGUpCiAgICAgIHsKICAgICAgY2FzZSAnbm9uZSc6CglicmVhazsKICAgICAgY2FzZSAnbm9uZW1wdHknOgoJaWYgKCEgZmZVdGlsaXR5RnVuY3Rpb25zOjpkZWYoJHRoaXMtPlZhbHVlKSkKCSAgewoJICAgICRyZXN1bHQgPSBmYWxzZTsKCSAgICAkbWVzc2FnZSA9ICR0aGlzLT5tb2RfZ2xvYmFscy0+TGFuZygncGxlYXNlX2VudGVyX2FfdmFsdWUnKS4nICInLiR0aGlzLT5OYW1lLiciJzsKCSAgfQoJYnJlYWs7CiAgICAgIH0KICAgIHJldHVybiBhcnJheSgkcmVzdWx0LCAkbWVzc2FnZSk7CiAgfQoKfQoKPz4K]]></data>
	</file>
	<file>
	  <filename>/classes/TextInput.class.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLy8gRmVlZGJhY2sgRm9ybS4gMDIvMjAwNSBTakcgPGZlZWRiYWNrZm9ybV9jbXNtb2R1bGVAZm9nYm91bmQubmV0PgovLyBBIE1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlLCAoYykyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKLy8gVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKCmNsYXNzIGZmVGV4dElucHV0IGV4dGVuZHMgZmZJbnB1dCB7CgoJZnVuY3Rpb24gZmZUZXh0SW5wdXQoJiRtb2RfZ2xvYmFscywgJGZvcm1SZWYsICYkcGFyYW1zKQoJewoJICAkdGhpcy0+ZmZJbnB1dCgkbW9kX2dsb2JhbHMsICRmb3JtUmVmLCAkcGFyYW1zKTsKCSAgJHRoaXMtPlR5cGUgPSAnVGV4dElucHV0JzsKCSAgJHRoaXMtPkRpc3BsYXlUeXBlID0gJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCdmaWVsZF90eXBlX3RleHRfaW5wdXQnKTsKCSAgaWYgKCR0aGlzLT5MZW5ndGggPT0gLTEpCgkgICAgewoJICAgICAgJHRoaXMtPkxlbmd0aCA9IDI1NTsKCSAgICB9CgkgICR0aGlzLT5WYWxpZGF0aW9uVHlwZXMgPSBhcnJheSgKCQkJCQkgJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCd2YWxpZGF0aW9uX25vbmUnKT0+J25vbmUnLAoJCQkJCSAkdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ3ZhbGlkYXRpb25fbm90X2VtcHR5Jyk9Pidub25lbXB0eScsCgkJCQkJICR0aGlzLT5tb2RfZ2xvYmFscy0+TGFuZygndmFsaWRhdGlvbl9udW1lcmljJyk9PidudW1lcmljJywKCQkJCQkgJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCd2YWxpZGF0aW9uX2ludGVnZXInKT0+J2ludGVnZXInLAoJCQkJCSAkdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ3ZhbGlkYXRpb25fZW1haWxfYWRkcmVzcycpPT4nZW1haWwnCgkJCQkJICk7CgoJfQoKCWZ1bmN0aW9uIFdyaXRlVG9QdWJsaWNGb3JtKCRpZCwgJiRwYXJhbXMsICRyZXR1cm5faWQpCgl7CgkgICRtb2R1bGUgPSYgJHRoaXMtPm1vZF9nbG9iYWxzLT5zZWxmcHRyOwoJICBpZiAoc3RybGVuKCR0aGlzLT5DU1NDbGFzcyk+MCkKCSAgICB7CgkgICAgICBlY2hvICI8ZGl2IGNsYXNzPVwiIi4kdGhpcy0+Q1NTQ2xhc3MuIlwiPiI7CgkgICAgfQoJICBlY2hvICRtb2R1bGUtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICR0aGlzLT5BbGlhcywgJHRoaXMtPk5lcmZIVE1MKCR0aGlzLT5WYWx1ZSksCgkJCQkJICAkdGhpcy0+TGVuZ3RoPCR0aGlzLT5EaXNwbGF5TGVuZ3RoPyR0aGlzLT5MZW5ndGg6JHRoaXMtPkRpc3BsYXlMZW5ndGgsCgkJCQkJICAkdGhpcy0+TGVuZ3RoLCR0aGlzLT5tb2RfZ2xvYmFscy0+VXNlSURBbmROYW1lPydpZD0iJy4kdGhpcy0+QWxpYXMuJyInOicnKTsKCSAgaWYgKHN0cmxlbigkdGhpcy0+Q1NTQ2xhc3MpPjApCgkgICAgewoJICAgICAgZWNobyAiPC9kaXY+IjsKCSAgICB9Cgl9CgoKCWZ1bmN0aW9uIFN0YXR1c0luZm8oKQoJewoJICAkcmV0ID0gJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCdhYmJyZXZpYXRpb25fbGVuZ3RoJykuJHRoaXMtPkxlbmd0aDsKCSAgaWYgKGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCR0aGlzLT5WYWxpZGF0aW9uVHlwZSkpCgkgICAgewoJICAgICAgJHJldCAuPSAiLCAiLmFycmF5X3NlYXJjaCgkdGhpcy0+VmFsaWRhdGlvblR5cGUsJHRoaXMtPlZhbGlkYXRpb25UeXBlcyk7CgkgICAgfQoJICByZXR1cm4gJHJldDsKCX0KCgoJZnVuY3Rpb24gUmVuZGVyQWRtaW5Gb3JtKCRmb3JtRGVzY3JpcHRvcikKCXsKCSAgJG1vZHVsZSA9JiAkdGhpcy0+bW9kX2dsb2JhbHMtPnNlbGZwdHI7CgkgIHJldHVybiBhcnJheSgkdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ3RpdGxlX21heGltdW1fbGVuZ3RoJykuJzonPT4KCQkgICAgICAgJG1vZHVsZS0+Q3JlYXRlSW5wdXRUZXh0KCRmb3JtRGVzY3JpcHRvciwgJ2xlbmd0aCcsICR0aGlzLT5MZW5ndGgsMjUsMjUpKTsKCX0KCgoJZnVuY3Rpb24gVmFsaWRhdGUoKQoJewoJICAkcmVzdWx0ID0gdHJ1ZTsKCSAgJG1lc3NhZ2UgPSAnJzsKCSAgc3dpdGNoICgkdGhpcy0+VmFsaWRhdGlvblR5cGUpCgkgICAgewoJICAgIGNhc2UgJ25vbmUnOgoJICAgICAgYnJlYWs7CgkgICAgY2FzZSAnbm9uZW1wdHknOgoJICAgICAgaWYgKCEgZmZVdGlsaXR5RnVuY3Rpb25zOjpkZWYoJHRoaXMtPlZhbHVlKSkKCQl7CgkJICAkcmVzdWx0ID0gZmFsc2U7CgkJICAkbWVzc2FnZSA9ICR0aGlzLT5tb2RfZ2xvYmFscy0+TGFuZygncGxlYXNlX2VudGVyX2FfdmFsdWUnKS4nICInLiR0aGlzLT5OYW1lLiciJzsKCQl9CgkgICAgICBicmVhazsKCSAgICBjYXNlICdudW1lcmljJzoKCSAgICAgIGlmIChmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkdGhpcy0+VmFsdWUpICYmCgkJICAhIHByZWdfbWF0Y2goIi9eKFtcZFwuXCxdKSskL2kiLCAkdGhpcy0+VmFsdWUpKQoJCXsKCQkgICRyZXN1bHQgPSBmYWxzZTsKCQkgICRtZXNzYWdlID0gJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCdwbGVhc2VfZW50ZXJfYV9udW1iZXInKS4nICInLiR0aGlzLT5OYW1lLiciJzsKCQl9CgkgICAgICBicmVhazsKCSAgICBjYXNlICdpbnRlZ2VyJzoKCSAgICAgIGlmIChmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkdGhpcy0+VmFsdWUpICYmCgkJICBpbnR2YWwoJHRoaXMtPlZhbHVlKSAhPSAkdGhpcy0+VmFsdWUpCgkJewoJCSAgJHJlc3VsdCA9IGZhbHNlOwoJCSAgJG1lc3NhZ2UgPSAkdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ3BsZWFzZV9lbnRlcl9hbl9pbnRlZ2VyJykuJyAiJy4kdGhpcy0+TmFtZS4nIic7CgkJfQoJICAgICAgYnJlYWs7CgkgICAgY2FzZSAnZW1haWwnOgoJICAgICAgaWYgKGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCR0aGlzLT5WYWx1ZSkgJiYKCQkgICEgcHJlZ19tYXRjaCgiL14oW1x3XGRcLlwtXF9dKStcQChbXHdcZFwuXC1cX10rKVwuKFx3KykkL2kiLCAkdGhpcy0+VmFsdWUpKQoJCXsKCQkgICRyZXN1bHQgPSBmYWxzZTsKCQkgICRtZXNzYWdlID0gJHRoaXMtPm1vZF9nbG9iYWxzLT5MYW5nKCdwbGVhc2VfZW50ZXJfYW5fZW1haWwnKS4nICInLiR0aGlzLT5OYW1lLiciJzsKCQl9CgkgICAgICBicmVhazsKCSAgICB9CgkgIGlmICgkdGhpcy0+TGVuZ3RoID4gMCAmJiBzdHJsZW4oJHRoaXMtPlZhbHVlKSA+ICR0aGlzLT5MZW5ndGgpCgkgICAgewoJICAgICAgJHJlc3VsdCA9IGZhbHNlOwoJICAgICAgJG1lc3NhZ2UgPSAkdGhpcy0+bW9kX2dsb2JhbHMtPkxhbmcoJ3BsZWFzZV9lbnRlcl9ub19sb25nZXInKS4kdGhpcy0+TGVuZ3RoLiIgIi4KICAgICAgICAgICAgICAgICR0aGlzLT5tb2RfZ2xvYmFscy0+TGFuZygnY2hhcmFjdGVycycpIC4gIiEiOwoJICAgIH0KCSAgcmV0dXJuIGFycmF5KCRyZXN1bHQsICRtZXNzYWdlKTsKCX0KCn0KCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/classes/UtilityFunctions.class.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLy8gRmVlZGJhY2sgRm9ybS4gMDIvMjAwNSBTakcgPGZlZWRiYWNrZm9ybV9jbXNtb2R1bGVAZm9nYm91bmQubmV0PgovLyBBIE1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlLCAoYykyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKLy8gVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKCmNsYXNzIGZmVXRpbGl0eUZ1bmN0aW9ucwogICAgewogICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAvLyBTVFVQSUQgQ09NTU9OIERBVEEgTUFOSVBVTEFUSU9OIE1FVEhPRFMKICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCS8vIHJldHVybnMgdHJ1ZSBpZiBhIHZhcmlhYmxlIGV4aXN0cyBhbmQgaGFzIGEgbm9uLW51bGwgdmFsdWUsIGJ1dCBjb3VsZCBjb250YWluIHplcm8KICAgIGZ1bmN0aW9uIGRlZigmJHZhcikKICAgIHsKICAgIAlpZiAoIWlzc2V0KCR2YXIpKQogICAgCSAgIHsKICAgIAkgICAJcmV0dXJuIGZhbHNlOwogICAgCSAgIH0KICAgIAllbHNlIGlmIChpc19udWxsKCR2YXIpKQogICAgCSAgIHsKICAgIAkgICAJcmV0dXJuIGZhbHNlOwogICAgCSAgIH0KICAgIAllbHNlIGlmICghaXNfYXJyYXkoJHZhcikgJiYgZW1wdHkoJHZhcikpCiAgICAJICAgewogICAgCSAgIAlyZXR1cm4gZmFsc2U7CiAgICAJICAgfQogICAgCWVsc2UgaWYgKGlzX2FycmF5KCR2YXIpICYmIGNvdW50KCR2YXIpID09IDApCiAgICAJICAgewogICAgCSAgIAlyZXR1cm4gZmFsc2U7CiAgICAJICAgfQogICAgCXJldHVybiB0cnVlOwogICAgfQoKICAgIC8vIGNyZWF0ZXMgYSBmb3JtLXNhZmUgYWxpYXMgc3RyaW5nCiAgICBmdW5jdGlvbiBNYWtlQWxpYXMoJHN0cmluZywgJGlzRm9ybT1mYWxzZSkKICAgIHsKICAgIAkkc3RyaW5nID0gdHJpbSgkc3RyaW5nKTsKICAgICAgICAkc3RyaW5nID0gcHJlZ19yZXBsYWNlKCIvW18tXFddKy8iLCAiXyIsICRzdHJpbmcpOwoJCSRzdHJpbmcgPSB0cmltKCRzdHJpbmcsICdfJyk7CgkJaWYgKCRpc0Zvcm0pCgkJICB7CgkJICByZXR1cm4gc3RydG9sb3dlcigkc3RyaW5nKTsKCQkgIH0KCQllbHNlCgkJICB7CgkJICByZXR1cm4gJ2ZmJy5zdHJ0b2xvd2VyKCRzdHJpbmcpOwoJCSAgfQogICAgfSAgICAKfQo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/FeedbackForm.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZlZWRiYWNrIEZvcm0KIyBWZXJzaW9uOiAwLjkuMTQsIHJlbGVhc2VkIDYgTWFyY2ggMjAwNgojCiMgQ29weXJpZ2h0IChjKSAyMDA2LCBTYW11ZWwgR29sZHN0ZWluIDxzamdAY21zbW9kdWxlcy5jb20+CiMgRm9yIEluZm9ybWF0aW9uLCBTdXBwb3J0LCBCdWcgUmVwb3J0cywgZXRjLCBwbGVhc2UgdmlzaXQgdGhlCiMgQ01TIE1hZGUgU2ltcGxlIHRyYWNrZXIgYXQgaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA2IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KY2xhc3MgRmVlZGJhY2tGb3JtIGV4dGVuZHMgQ01TTW9kdWxlCnsKCgl2YXIgJGZvcm1fdGFibGVfbmFtZTsKCXZhciAkZmllbGRfdGFibGVfbmFtZTsKCXZhciAkb3B0aW9uX3RhYmxlX25hbWU7Cgl2YXIgJGNvbmZpZ190YWJsZV9uYW1lOwoJdmFyICRmbG9ja190YWJsZV9uYW1lOwoJdmFyICRmaWVsZF90eXBlczsKCXZhciAkZGlzcF9maWVsZF90eXBlczsKCXZhciAkYWxsX3ZhbGlkYXRpb25fdHlwZXM7Cgl2YXIgJG1vZF9nbG9iYWxzOwoKCgoJZnVuY3Rpb24gRmVlZGJhY2tGb3JtKCkKCXsKCSAgJHRoaXMtPkNNU01vZHVsZSgpOwoJCQoJICAkdGhpcy0+Zm9ybV90YWJsZV9uYW1lID0gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV9mZWVkYmFja19mb3JtJzsKCSAgJHRoaXMtPmZpZWxkX3RhYmxlX25hbWUgPSBjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9mZWVkYmFja19maWVsZCc7CgkgICR0aGlzLT5vcHRpb25fdGFibGVfbmFtZSA9IGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2ZlZWRiYWNrX29wdGlvbic7CgkgICR0aGlzLT5jb25maWdfdGFibGVfbmFtZSA9IGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2ZlZWRiYWNrX2NvbmZpZyc7CgkgICR0aGlzLT5mbG9ja190YWJsZV9uYW1lID0gY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZmVlZGJhY2tfZmxvY2snOwoKCSAgcmVxdWlyZV9vbmNlICdjbGFzc2VzL1V0aWxpdHlGdW5jdGlvbnMuY2xhc3MucGhwJzsKCSAgcmVxdWlyZV9vbmNlICdjbGFzc2VzL0Zvcm0uY2xhc3MucGhwJzsKCSAgcmVxdWlyZV9vbmNlICdjbGFzc2VzL0lucHV0LmNsYXNzLnBocCc7CgkgIHJlcXVpcmVfb25jZSAnY2xhc3Nlcy9PcHRpb24uY2xhc3MucGhwJzsKCSAgcmVxdWlyZV9vbmNlICdjbGFzc2VzL0NvbmZpZy5jbGFzcy5waHAnOwoJfQoKCglmdW5jdGlvbiBpbml0aWFsaXplKCkKCXsKCSAgaWYgKGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCR0aGlzLT5tb2RfZ2xvYmFscykpCgkgICAgewoJICAgICAgcmV0dXJuOwoJICAgIH0KCSAgJHRoaXMtPm1vZF9nbG9iYWxzID0gbmV3IGZmQ29uZmlnKGFycmF5KCkpOwoJICAkdGhpcy0+bW9kX2dsb2JhbHMtPkRCSGFuZGxlID0mICR0aGlzLT5HZXREYigpOwoJICAkdGhpcy0+bW9kX2dsb2JhbHMtPkZvcm1UYWJsZU5hbWUgPSR0aGlzLT5mb3JtX3RhYmxlX25hbWU7CgkgICR0aGlzLT5tb2RfZ2xvYmFscy0+RmllbGRUYWJsZU5hbWUgPSR0aGlzLT5maWVsZF90YWJsZV9uYW1lOwoJICAkdGhpcy0+bW9kX2dsb2JhbHMtPk9wdGlvblRhYmxlTmFtZSA9JHRoaXMtPm9wdGlvbl90YWJsZV9uYW1lOwoJICAkdGhpcy0+bW9kX2dsb2JhbHMtPkNvbmZpZ1RhYmxlTmFtZSA9JHRoaXMtPmNvbmZpZ190YWJsZV9uYW1lOwoJICAkdGhpcy0+bW9kX2dsb2JhbHMtPkZsb2NrVGFibGVOYW1lID0kdGhpcy0+ZmxvY2tfdGFibGVfbmFtZTsKCSAgJHRoaXMtPm1vZF9nbG9iYWxzLT5Sb290UGF0aCA9JHRoaXMtPmNtcy0+Y29uZmlnWydyb290X3BhdGgnXTsKCSAgJHRoaXMtPm1vZF9nbG9iYWxzLT5NYXhVcGxvYWRTaXplID0kdGhpcy0+Y21zLT5jb25maWdbJ21heF91cGxvYWRfc2l6ZSddOwoJICAkdGhpcy0+bW9kX2dsb2JhbHMtPnNlbGZwdHIgPSAmJHRoaXM7CgkgICR0aGlzLT5tb2RfZ2xvYmFscy0+TG9hZCgpOwoKCSAgJHRoaXMtPmZpZWxkX3R5cGVzID0gYXJyYXkoCiAgICAgICAgICAgICR0aGlzLT5MYW5nKCdmaWVsZF90eXBlX3RleHRfaW5wdXQnKT0+J1RleHRJbnB1dCcsCiAgICAgICAgICAgICR0aGlzLT5MYW5nKCdmaWVsZF90eXBlX3RleHRfYXJlYScpPT4nVGV4dEFyZWFJbnB1dCcsCiAgICAgICAgICAgICR0aGlzLT5MYW5nKCdmaWVsZF90eXBlX2NoZWNrYm94Jyk9PidDaGVja2JveElucHV0JywKICAgICAgICAgICAgJHRoaXMtPkxhbmcoJ2ZpZWxkX3R5cGVfY2hlY2tib3hfZ3JvdXAnKT0+J0NoZWNrYm94R3JvdXBJbnB1dCcsCiAgICAgICAgICAgICR0aGlzLT5MYW5nKCdmaWVsZF90eXBlX3B1bGxkb3duJyk9PidQdWxsZG93bklucHV0JywKICAgICAgICAgICAgJHRoaXMtPkxhbmcoJ2ZpZWxkX3R5cGVfcmFkaW9fZ3JvdXAnKT0+J1JhZGlvR3JvdXBJbnB1dCcsCiAgICAgICAgICAgICR0aGlzLT5MYW5nKCdmaWVsZF90eXBlX3N0YXRlJyk9PidTdGF0ZUlucHV0JywKICAgICAgICAgICAgJHRoaXMtPkxhbmcoJ2ZpZWxkX3R5cGVfY291bnRyeScpPT4nQ291bnRyeUlucHV0JywKICAgICAgICAgICAgJHRoaXMtPkxhbmcoJ2ZpZWxkX3R5cGVfY291bnRyeScpPT4nQ291bnRyeUlucHV0JywKICAgICAgICAgICAgJHRoaXMtPkxhbmcoJ2ZpZWxkX3R5cGVfZGF0ZScpPT4nRGF0ZVBpY2tlcicsCiAgICAgICAgICAgICR0aGlzLT5MYW5nKCdmaWVsZF90eXBlX2NhbGxiYWNrJyk9PidGdW5jdGlvbkNhbGxJbnB1dCcsCiAgICAgICAgICAgICR0aGlzLT5MYW5nKCdmaWVsZF90eXBlX2ZpbGVfdXBsb2FkJyk9PidGaWxlVXBsb2FkJywKICAgICAgICAgICAgJHRoaXMtPkxhbmcoJ2ZpZWxkX3R5cGVfZGlzcG9zaXRpb25fZGlyZWN0b3InKT0+J0Rpc3Bvc2l0aW9uRGlyZWN0b3InLAogICAgICAgICAgICAkdGhpcy0+TGFuZygnZmllbGRfdHlwZV9kaXNwb3NpdGlvbl9lbWFpbCcpPT4nRGlzcG9zaXRpb25FbWFpbCcsCiAgICAgICAgICAgICR0aGlzLT5MYW5nKCdmaWVsZF90eXBlX2Rpc3Bvc2l0aW9uX2VtYWlsX3NpdGVfdXNlcicpPT4nRGlzcG9zaXRpb25TaXRlVXNlcicsCiAgICAgICAgICAgICR0aGlzLT5MYW5nKCdmaWVsZF90eXBlX2Rpc3Bvc2l0aW9uX2ZpbGUnKT0+J0Rpc3Bvc2l0aW9uRmlsZScsCiAgICAgICAgICAgICR0aGlzLT5MYW5nKCdmaWVsZF90eXBlX3BhZ2VfYnJlYWsnKT0+J1BhZ2VCcmVhaycsCiAgICAgICAgICAgICR0aGlzLT5MYW5nKCdmaWVsZF90eXBlX3N0YXRpY190ZXh0Jyk9PidTdGF0aWNUZXh0SW5wdXQnCiAgICAgICAgICAgICk7CgkgIGZvcmVhY2ggKCR0aGlzLT5maWVsZF90eXBlcyBhcyAkdE5hbWU9PiR0VHlwZSkKCSAgICB7CgkgICAgICBpZiAoc3Vic3RyKCR0VHlwZSwwLDExKSA9PSAnRGlzcG9zaXRpb24nKQoJCXsKCQkgICR0aGlzLT5kaXNwX2ZpZWxkX3R5cGVzWyR0TmFtZV09JHRUeXBlOwoJCX0KCSAgICB9CgkgICR0aGlzLT5hbGxfdmFsaWRhdGlvbl90eXBlcyA9IGFycmF5KCk7CgkgIAoJfQoKCWZ1bmN0aW9uIEdldE5hbWUoKQoJewoJCXJldHVybiAnRmVlZGJhY2tGb3JtJzsKCX0KCglmdW5jdGlvbiBNaW5pbXVtQ01TVmVyc2lvbigpCgl7CgkgIHJldHVybiAnMS4wLXN2bic7Cgl9CgoJZnVuY3Rpb24gR2V0VmVyc2lvbigpCgl7CgkJcmV0dXJuICcwLjkuMTQnOwoJfQoKCWZ1bmN0aW9uIEdldEF1dGhvcigpCgl7CgkJcmV0dXJuICdTakcnOwoJfQoKCWZ1bmN0aW9uIEdldEF1dGhvckVtYWlsKCkKCXsKCQlyZXR1cm4gJ3NqZ0BjbXNtb2R1bGVzLmNvbSc7Cgl9CgoJZnVuY3Rpb24gR2V0QWRtaW5EZXNjcmlwdGlvbigpCgl7CgkgICR0aGlzLT5pbml0aWFsaXplKCk7CgkgIHJldHVybiAkdGhpcy0+TGFuZygnYWRtaW5kZXNjJyk7Cgl9CgoJZnVuY3Rpb24gR2V0RGVwZW5kZW5jaWVzKCkKCXsKCQlyZXR1cm4gYXJyYXkoJ0NNU01haWxlcic9PicxLjczLjQnKTsKCX0KCgoJZnVuY3Rpb24gR2V0Q2hhbmdlTG9nKCkKCXsKCQlyZXR1cm4gJHRoaXMtPkxhbmcoJ2NoYW5nZWxvZycpOwoJfQoKCWZ1bmN0aW9uIElzUGx1Z2luTW9kdWxlKCkKCXsKCQlyZXR1cm4gdHJ1ZTsKCX0KCglmdW5jdGlvbiBIYXNBZG1pbigpCgl7CgkJcmV0dXJuIHRydWU7Cgl9CgoJZnVuY3Rpb24gSW5zdGFsbFBvc3RNZXNzYWdlKCkKCXsKCQlyZXR1cm4gJHRoaXMtPkxhbmcoJ3Bvc3RfaW5zdGFsbCcpOwoJfQoKCWZ1bmN0aW9uIERvQWN0aW9uKCRuYW1lLCAkaWQsICRwYXJhbXMsICRyZXR1cm5faWQ9JycpCgl7CgkJJHRoaXMtPmluaXRpYWxpemUoKTsKCQkkdGhpcy0+bW9kX2dsb2JhbHMtPk1vZHVsZUlucHV0UHJlZml4ID0gJGlkOwoJCXN3aXRjaCAoJG5hbWUpCgkJewoJCQljYXNlICdkZWZhdWx0YWRtaW4nOgoJCQljYXNlICdhZG1pbl9tYWluX2ZlZWRiYWNrJzoKIAkJCQkgJHRoaXMtPkFkbWluTWFpbigkaWQsICRwYXJhbXMsICRyZXR1cm5faWQpOwoJCQkgICAgIGJyZWFrOwoJCQljYXNlICdhZG1pbl9lZGl0X2ZlZWRiYWNrX2Zvcm0nOgoJCQljYXNlICdhZG1pbl9hZGRfZmVlZGJhY2tfZm9ybSc6CiAJCQkJIGlmICgkdGhpcy0+Q2hlY2tBY2Nlc3MoKSkKIAkJCQkgCXsKIAkJCQkgCSR0aGlzLT5BZG1pbkFkZEVkaXRGb3JtKCRpZCwgJHBhcmFtcywgJHJldHVybl9pZCk7CgkJCSAgICAgCX0KCQkJICAgICBicmVhazsKCQkJY2FzZSAnYWRtaW5fZm9ybV91cGRhdGUnOgoJCQkgICAgIGlmICgkdGhpcy0+Q2hlY2tBY2Nlc3MoKSkKCQkJICAgICAgICAgewoJCQkJICAgICR0aGlzLT5BZG1pblN0b3JlRm9ybSgkaWQsICRwYXJhbXMsICRyZXR1cm5faWQpOwoJCQkJICAgICB9CgkJCQlicmVhazsKCQkJY2FzZSAnYWRtaW5fZWRpdF9mZWVkYmFja19maWVsZCc6CgkJCWNhc2UgJ2FkbWluX2FkZF9mZWVkYmFja19maWVsZCc6CgkJCSAgICAgaWYgKCR0aGlzLT5DaGVja0FjY2VzcygpKQoJCQkgICAgICAgICB7CiAJCQkJICAgICAkdGhpcy0+QWRtaW5BZGRFZGl0RmllbGQoJGlkLCAkcGFyYW1zLCAkcmV0dXJuX2lkKTsKIAkJCQkgICAgIH0KCQkJICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAnYWRtaW5fZmllbGRfb3JkZXJfdXBkYXRlJzoKICAgICAgICAgICAgICAgIGlmICgkdGhpcy0+Q2hlY2tBY2Nlc3MoKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPkFkbWluVXBkYXRlRmllbGRPcmRlcigkaWQsICRwYXJhbXMsICRyZXR1cm5faWQpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlICdhZG1pbl9maWVsZF9yZXF1aXJlZF91cGRhdGUnOgogICAgICAgICAgICAgICAgaWYgKCR0aGlzLT5DaGVja0FjY2VzcygpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+QWRtaW5VcGRhdGVGaWVsZFJlcXVpcmVkKCRpZCwgJHBhcmFtcywgJHJldHVybl9pZCk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgJ2FkbWluX2ZpZWxkX3VwZGF0ZSc6CiAgICAgICAgICAgICAgICBpZiAoJHRoaXMtPkNoZWNrQWNjZXNzKCkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICR0aGlzLT5BZG1pblN0b3JlRmllbGQoJGlkLCAkcGFyYW1zLCAkcmV0dXJuX2lkKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBicmVhazsKCQkJY2FzZSAnYWRtaW5fZGVsZXRlX2ZlZWRiYWNrX2ZpZWxkJzoKCQkJICAgICBpZiAoJHRoaXMtPkNoZWNrQWNjZXNzKCkpCgkJCSAgICAgICAgIHsKIAkJCQkgICAgICR0aGlzLT5BZG1pbkRlbGV0ZUZpZWxkKCRpZCwgJHBhcmFtcywgJHJldHVybl9pZCk7CiAJCQkJICAgICB9CgkJCSAgICAgYnJlYWs7CgkJCWNhc2UgJ2FkbWluX2RlbGV0ZV9mZWVkYmFja19mb3JtJzoKCQkJICAgICBpZiAoJHRoaXMtPkNoZWNrQWNjZXNzKCkpCgkJCSAgICAgICAgIHsKIAkJCQkgICAgICR0aGlzLT5BZG1pbkRlbGV0ZUZvcm0oJGlkLCAkcGFyYW1zLCAkcmV0dXJuX2lkKTsKIAkJCQkgICAgIH0KCQkJICAgICBicmVhazsKCQkJY2FzZSAnYWRtaW5fY29uZmlnX2ZlZWRiYWNrX3VwZGF0ZSc6CgkJCSAgICAgaWYgKCR0aGlzLT5DaGVja0FjY2VzcygpKQoJCQkgICAgICAgICB7CiAJCQkJICAgICAkdGhpcy0+QWRtaW5TdG9yZUNvbmZpZygkaWQsICRwYXJhbXMsICRyZXR1cm5faWQpOwogCQkJCSAgICAgfQoJCQkgICAgIGJyZWFrOwoJCSAgICBjYXNlICdkZWZhdWx0JzoKCQkJICAgICR0aGlzLT5QdWJsaWNTaG93Rm9ybSgkaWQsICRwYXJhbXMsICRyZXR1cm5faWQpOwoJCQkJYnJlYWs7CgkJCWNhc2UgJ3N1Ym1pdF9mb3JtJzoKCQkJCS8vIGhhbmRsZSBtdWx0aXBhcnQgZm9ybXMKCQkJCWlmICghIGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCRwYXJhbXNbJ2RvbmUnXSkpCgkJCQkJewoJCQkJCSR0aGlzLT5QdWJsaWNTaG93Rm9ybSgkaWQsICRwYXJhbXMsICRyZXR1cm5faWQpOwoJCQkJCX0KCQkJCWVsc2UKCQkJCQl7CgkJCSAgICAJJHRoaXMtPlB1YmxpY1N1Ym1pdEZvcm0oJGlkLCAkcGFyYW1zLCAkcmV0dXJuX2lkKTsKCQkJICAgIAl9CgkJCQlicmVhazsKCQl9Cgl9CgoJZnVuY3Rpb24gUHVibGljU3VibWl0Rm9ybSgkaWQsICYkcGFyYW1zLCAkcmV0dXJuX2lkKQoJewogICAgICAgIGlmICghIGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCRwYXJhbXNbJ2Zvcm1faWQnXSkgJiYKICAgICAgICAgICAgZmZVdGlsaXR5RnVuY3Rpb25zOjpkZWYoJHBhcmFtc1snZm9ybSddKSkKICAgICAgICAgICAgewogICAgICAgICAgICAvLyBnZXQgdGhlIGZvcm0gYnkgbmFtZSwgbm90IElECiAgICAgICAgICAgICRwYXJhbXNbJ2Zvcm1faWQnXSA9ICR0aGlzLT5HZXRGb3JtSURGcm9tQWxpYXMoJHBhcmFtc1snZm9ybSddKTsKICAgICAgICAgICAgfQogICAgICAgICRhZWZvcm0gPSBuZXcgZmZGb3JtKCR0aGlzLT5tb2RfZ2xvYmFscywkcGFyYW1zKTsKICAgICAgICAkYWVmb3JtLT5Mb2FkRm9ybSgkcGFyYW1zKTsKICAgICAgICAkcmVzID0gJGFlZm9ybS0+VmFsaWRhdGUoKTsKICAgICAgICBpZiAoJHJlc1swXSA9PT0gZmFsc2UpCiAgICAgICAgCXsKICAgICAgICAJJGFlZm9ybS0+UmVuZGVyRm9ybUhlYWRlcigkdGhpcy0+R2V0VmVyc2lvbigpKTsKICAgICAgICAgICAgJGFlZm9ybS0+dGhpc1BhZ2UtLTsKICAgICAgICAJZWNobyAkcmVzWzFdLiJcbiI7CiAgICAgICAgCWVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICdzdWJtaXRfZm9ybScsICRyZXR1cm5faWQsICdwb3N0JywgJ211bHRpcGFydC9mb3JtLWRhdGEnKTsKICAgICAgICAJJGFlZm9ybS0+UmVuZGVyRm9ybSgkaWQsICRwYXJhbXMsICRyZXR1cm5faWQpOwogICAgICAgIAllY2hvICR0aGlzLT5DcmVhdGVGb3JtRW5kKCk7CiAgICAgICAgCSRhZWZvcm0tPlJlbmRlckZvcm1Gb290ZXIoKTsKICAgICAgICAJfQogICAgICAgIGVsc2UKICAgICAgICAJewogICAgICAgIAkkYWVjb25mID0gJiR0aGlzLT5tb2RfZ2xvYmFsczsKICAgICAgICAJJGFlY29uZi0+TG9hZCgpOwogICAgICAgIAlpZiAoJGFlZm9ybS0+Q1NTQ2xhc3MgIT0gJycpCiAgICAgICAgCSAgIHsKICAgICAgICAJICAgZWNobyAiPGRpdiBjbGFzcz1cIiIgLiAkYWVmb3JtLT5DU1NDbGFzcyAuICJcIj4iOwogICAgICAgIAkgICB9CiAgICAgICAgCWlmICgkYWVmb3JtLT5EaXNwb3NlKCRhZWNvbmYpKQogICAgICAgIAkgICB7CiAgICAgICAgCSAgIGVjaG8gJGFlZm9ybS0+VGhhbmtzTWVzc2FnZTsKICAgICAgICAJICAgfQogICAgICAgIAllbHNlCiAgICAgICAgCSAgIHsKICAgICAgICAJICAgZWNobyAkdGhpcy0+TGFuZygnc3VibWlzc2lvbl9lcnJvcicpOwogICAgICAgIAkgICB9CiAgICAgICAgCWlmICgkYWVmb3JtLT5DU1NDbGFzcyAhPSAnJykKICAgICAgICAJICAgewogICAgICAgIAkgICBlY2hvICI8L2Rpdj4iOwogICAgICAgIAkgICB9CiAgICAgICAgCX0KCX0KCglmdW5jdGlvbiBQdWJsaWNTaG93Rm9ybSgkaWQsICYkcGFyYW1zLCAkcmV0dXJuX2lkKQoJewovL2RlYnVnX2Rpc3BsYXkoJHBhcmFtcyk7CiAgICAgICAgaWYgKCEgZmZVdGlsaXR5RnVuY3Rpb25zOjpkZWYoJHBhcmFtc1snZm9ybV9pZCddKSAmJgogICAgICAgICAgICBmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkcGFyYW1zWydmb3JtJ10pKQogICAgICAgICAgICB7CiAgICAgICAgICAgIC8vIGdldCB0aGUgZm9ybSBieSBuYW1lLCBub3QgSUQKICAgICAgICAgICAgJHBhcmFtc1snZm9ybV9pZCddID0gJHRoaXMtPkdldEZvcm1JREZyb21BbGlhcygkcGFyYW1zWydmb3JtJ10pOwogICAgICAgICAgICB9CiAgICAgICAgJGFlZm9ybSA9IG5ldyBmZkZvcm0oJHRoaXMtPm1vZF9nbG9iYWxzLCRwYXJhbXMpOwogICAgICAgICRhZWZvcm0tPkxvYWRGb3JtKCRwYXJhbXMpOwogICAgICAgICRhZWZvcm0tPlJlbmRlckZvcm1IZWFkZXIoJHRoaXMtPkdldFZlcnNpb24oKSk7CiAgICAgICAgaWYgKCRhZWZvcm0tPmZvcm1Ub3RhbFBhZ2VzID4gMSAmJiBmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkYWVmb3JtLT50aGlzUGFnZSkgJiYgJGFlZm9ybS0+dGhpc1BhZ2UgPiAwKQogICAgICAgICAgICB7Ci8vZWNobyAidmFsaWRhdGluZyBwYWdlIDoiLiRhZWZvcm0tPnRoaXNQYWdlLiI8YnIvPiI7CiAgICAgICAgICAgICRyZXMgPSAkYWVmb3JtLT5WYWxpZGF0ZSgpOwogICAgICAgICAgICBpZiAoJHJlc1swXSA9PT0gZmFsc2UpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBlY2hvICRyZXNbMV0uIlxuIjsKICAgICAgICAgICAgICAgICRhZWZvcm0tPnRoaXNQYWdlLS07CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KLy9lY2hvICJub3QgdmFsaWRhdGluZyBwYWdlIDoiLiRhZWZvcm0tPnRoaXNQYWdlLiI6ICIuJGFlZm9ybS0+Zm9ybVRvdGFsUGFnZXMuIiAiLmZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCRhZWZvcm0tPnRoaXNQYWdlKS4iOiIuJGFlZm9ybS0+dGhpc1BhZ2UuIjxici8+IjsKICAgICAgICBlY2hvICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAnc3VibWl0X2Zvcm0nLCAkcmV0dXJuX2lkLCAncG9zdCcsICdtdWx0aXBhcnQvZm9ybS1kYXRhJyk7CiAgICAgICAgJGFlZm9ybS0+UmVuZGVyRm9ybSgkaWQsICRwYXJhbXMsICRyZXR1cm5faWQpOwogICAgICAgIGVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKTsKICAgICAgICAkYWVmb3JtLT5SZW5kZXJGb3JtRm9vdGVyKCk7CiAgICAgICAgfQoKCWZ1bmN0aW9uIENoZWNrQWNjZXNzKCRwZXJtaXNzaW9uPSdNb2RpZnkgRmVlZGJhY2sgRm9ybXMnKQoJewoKCQkkYWNjZXNzID0gJHRoaXMtPkNoZWNrUGVybWlzc2lvbigkcGVybWlzc2lvbik7CgkJaWYgKCEkYWNjZXNzKSAgewoJCQllY2hvICI8cCBjbGFzcz1cImVycm9yXCI+Ii4kdGhpcy0+TGFuZygneW91X25lZWRfcGVybWlzc2lvbjEnKS4kcGVybWlzc2lvbi4kdGhpcy0+TGFuZygneW91X25lZWRfcGVybWlzc2lvbjInKS4iPC9wPiI7CgkJCXJldHVybiBmYWxzZTsKCQl9CgkJZWxzZSByZXR1cm4gdHJ1ZTsKCX0KCglmdW5jdGlvbiBBZG1pbk1haW4oJGlkLCAmJHBhcmFtcywgJHJldHVybmlkKQoJewoJCS8vIGFuZCBhIGxpc3Qgb2YgYWxsIHRoZSBleHRhbnQgZm9ybXMuCgkJZ2xvYmFsICRnQ21zOwoJCSR0aGVtZSA9ICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXTsKICAgICAgICAkZm9ybXMgPSAkdGhpcy0+R2V0Rm9ybXMoKTsKCQkkbnVtX2Zvcm1zID0gY291bnQoJGZvcm1zKTsKICAgICAgICAkYWVjb25mID0gJiR0aGlzLT5tb2RfZ2xvYmFsczsKICAgICAgICAkYWVjb25mLT5Mb2FkKCk7CiAgICAgICAgCiAgICAgICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0YWJoZWFkZXJzJywgJHRoaXMtPlN0YXJ0VGFiSGVhZGVycygpIC4KCQkJJHRoaXMtPlNldFRhYkhlYWRlcignZm9ybXMnLCR0aGlzLT5MYW5nKCdmb3JtcycpKSAuCgkJCSR0aGlzLT5TZXRUYWJIZWFkZXIoJ2NvbmZpZycsJHRoaXMtPkxhbmcoJ2NvbmZpZ3VyYXRpb24nKSkgLgoJCQkkdGhpcy0+RW5kVGFiSGVhZGVycygpLgoJCQkkdGhpcy0+U3RhcnRUYWJDb250ZW50KCkpOwoJCSR0aGlzLT5zbWFydHktPmFzc2lnbignc3RhcnRfZm9ybXRhYicsJHRoaXMtPlN0YXJ0VGFiKCJmb3JtcyIpKTsKCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N0YXJ0X2NvbmZpZ3RhYicsJHRoaXMtPlN0YXJ0VGFiKCJjb25maWciKSk7CgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdlbmRfdGFiJywkdGhpcy0+RW5kVGFiKCkpOwoJCSR0aGlzLT5zbWFydHktPmFzc2lnbignZW5kX3RhYnMnLCR0aGlzLT5FbmRUYWJDb250ZW50KCkpOwoJCSR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGVfZm9ybV9uYW1lJywkdGhpcy0+TGFuZygndGl0bGVfZm9ybV9uYW1lJykpOwogICAgICAgICR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGVfdGFnX3RvX3VzZScsJHRoaXMtPkxhbmcoJ3RpdGxlX3RhZ190b191c2UnKSk7CiAgICAgICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0aXRsZV9pZF9hbmRfbmFtZScsJHRoaXMtPkxhbmcoJ3RpdGxlX2lkX2FuZF9uYW1lJykpOwogICAgICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignc3RhcnRfY29uZmlnZm9ybScsJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsCgkJCSdhZG1pbl9jb25maWdfZmVlZGJhY2tfdXBkYXRlJywgJHJldHVybmlkKSAuCgkJCSR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICdjb25maWdfaWQnLCAkYWVjb25mLT5Db25maWdJZCkpOwogICAgICAgIGlmIChpc3NldCgkcGFyYW1zWydtZXNzYWdlJ10pKQogICAgICAgICAgICB7CiAgICAgICAgICAgICR0aGlzLT5zbWFydHktPmFzc2lnbl9ieV9yZWYoJ21lc3NhZ2UnLCAkcGFyYW1zWydtZXNzYWdlJ10pOwogICAgICAgICAgICB9CgoJCSRmb3JtQXJyYXkgPSBhcnJheSgpOwoJCSRjdXJyb3cgPSAicm93MSI7CgkJZm9yZWFjaCAoJGZvcm1zIGFzICR0aGlzRm9ybSkKICAgIAkJewoJCQkkb25lc2V0ID0gbmV3IHN0ZENsYXNzKCk7CgkJCSRvbmVzZXQtPnJvd2NsYXNzID0gJGN1cnJvdzsKCQkJaWYgKCR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBGZWVkYmFjayBGb3JtcycpKQoJCQkJewoJCQkJJG9uZXNldC0+bmFtZSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwKCQkJCSAJJ2FkbWluX2VkaXRfZmVlZGJhY2tfZm9ybScsICcnLAogICAgICAgICAgICAJCSR0aGlzRm9ybVsnbmFtZSddLCBhcnJheSgnZm9ybV9pZCc9PiR0aGlzRm9ybVsnZm9ybV9pZCddKSk7CgkJCQkkb25lc2V0LT5lZGl0bGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwKCQkJCQknYWRtaW5fZWRpdF9mZWVkYmFja19mb3JtJywgJycsCgkJCQkJJHRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9lZGl0LmdpZicsJ2VkaXQnLCcnLCcnLCdzeXN0ZW1pY29uJyksCgkJCQkJCWFycmF5KCdmb3JtX2lkJz0+JHRoaXNGb3JtWydmb3JtX2lkJ10pKTsKCQkJCSRvbmVzZXQtPmRlbGV0ZWxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsCgkJCQkJJ2FkbWluX2RlbGV0ZV9mZWVkYmFja19mb3JtJywgJycsCgkJCQkJJHRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9kZWxldGUuZ2lmJywnZGVsZXRlJywnJywnJywnc3lzdGVtaWNvbicpLAoJCQkJCWFycmF5KCdmb3JtX2lkJz0+JHRoaXNGb3JtWydmb3JtX2lkJ10pLAoJCQkJCSR0aGlzLT5MYW5nKCdhcmVfeW91X3N1cmVfZGVsZXRlX2Zvcm0nLCR0aGlzRm9ybVsnbmFtZSddKSk7CgoJCQkJfQoJCQllbHNlCgkJCQl7CgkJCQkkb25lc2V0LT5uYW1lPSR0aGlzRm9ybVsnbmFtZSddOwoJCQkJJG9uZXNldC0+ZWRpdGxpbmsgPSAnJzsKCQkJCSRvbmVzZXQtPmRlbGV0ZWxpbmsgPSAnJzsKCQkJCX0KCQkJJG9uZXNldC0+dXNhZ2UgPSAkdGhpc0Zvcm1bJ2FsaWFzJ107CgkJCWFycmF5X3B1c2goJGZvcm1BcnJheSwkb25lc2V0KTsKCQkJKCRjdXJyb3cgPT0gInJvdzEiPyRjdXJyb3c9InJvdzIiOiRjdXJyb3c9InJvdzEiKTsKCQkJfQoJCWlmICgkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgRmVlZGJhY2sgRm9ybXMnKSkKCQkJewoJCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2FkZGxpbmsnLCR0aGlzLT5DcmVhdGVMaW5rKCRpZCwKCQkJCSdhZG1pbl9hZGRfZmVlZGJhY2tfZm9ybScsICcnLAoJCQkJJHRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9uZXdvYmplY3QuZ2lmJywgJHRoaXMtPkxhbmcoJ3RpdGxlX2FkZF9uZXdfZm9ybScpLCcnLAoJCQkJCScnLCdzeXN0ZW1pY29uJyksIGFycmF5KCkpKTsKCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdhZGRmb3JtJywkdGhpcy0+Q3JlYXRlTGluaygkaWQsCgkJCQknYWRtaW5fYWRkX2ZlZWRiYWNrX2Zvcm0nLCAnJywgJHRoaXMtPkxhbmcoJ3RpdGxlX2FkZF9uZXdfZm9ybScpLAoJCQkJYXJyYXkoKSkpOwoJCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ21heV9jb25maWcnLDEpOwoJCQl9CgkJZWxzZQoJCQl7CgkJCSR0aGlzLT5zbWFydHktPmFzc2lnbignbm9fcGVybWlzc2lvbicsCgkJCQkkdGhpcy0+TGFuZygnbGFja3Blcm1pc3Npb24nKSk7CgkJCX0KCgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0aXRsZV9lbWFpbF9mcm9tX25hbWUnLCR0aGlzLT5MYW5nKCd0aXRsZV9lbWFpbF9mcm9tX25hbWUnKSk7CgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dF9lbWFpbF9mcm9tX25hbWUnLCR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnZnJvbV9uYW1lJywgJGFlY29uZi0+RnJvbU5hbWUsIDUwKSk7CgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0aXRsZV9mb3JtX2Zyb21fZW1haWwnLCR0aGlzLT5MYW5nKCd0aXRsZV9mb3JtX2Zyb21fZW1haWwnKSk7CQkKCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X2Zvcm1fZnJvbV9lbWFpbCcsJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdmcm9tX2FkZHJlc3MnLCAkYWVjb25mLT5Gcm9tQWRkcmVzcywgNTApKTsJCQoJCSR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGVfaGlkZV9lcnJvcnMnLCR0aGlzLT5MYW5nKCd0aXRsZV9oaWRlX2Vycm9ycycpKTsJCQoJCSR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRfaGlkZV9lcnJvcnMnLCR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJ2hpZGVfZXJyb3JzJywgMSwgJGFlY29uZi0+SGlkZUVycm9ycykuICR0aGlzLT5MYW5nKCd0aXRsZV9oaWRlX2Vycm9yc19sb25nJykpOwkJCgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0aXRsZV9jc3NfbGF5b3V0JywkdGhpcy0+TGFuZygndGl0bGVfY3NzX2xheW91dCcpKTsJCQoJCSR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRfY3NzX2xheW91dCcsJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAnY3NzX2xheW91dCcsIDEsICRhZWNvbmYtPlVzZUNTUykuICR0aGlzLT5MYW5nKCd0aXRsZV91c2VfY3NzX2xheW91dCcpKTsJCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X2lkX2FuZF9uYW1lJywkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICd1c2VfaWRfYW5kX25hbWUnLCAxLCAkYWVjb25mLT5Vc2VJREFuZE5hbWUpLiAkdGhpcy0+TGFuZygndGl0bGVfaWRfYW5kX25hbWUnKSk7CQkKCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlX3RhYmxlX2xheW91dF90eXBlJywkdGhpcy0+TGFuZygndGl0bGVfdGFibGVfbGF5b3V0X3R5cGUnKSk7CgkJJHBvcyA9IGFycmF5KCR0aGlzLT5MYW5nKCd0aXRsZV90YWJsZV9sYXlvdXRfbGVmdCcpPT4wLCR0aGlzLT5MYW5nKCd0aXRsZV90YWJsZV9sYXlvdXRfYWJvdmUnKT0+MSk7CQoJCSR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRfdGFibGVfbGF5b3V0X3R5cGUnLCR0aGlzLT5DcmVhdGVJbnB1dFJhZGlvR3JvdXAoJGlkLCAndGFibGVfbGF5b3V0X3RpdGxlX3BvcycsICRwb3MsICRhZWNvbmYtPlRpdGxlUG9zaXRpb24pCSk7CQkKCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdzdWJtaXQnLCAkdGhpcy0+TGFuZygnc2F2ZScpKSk7CgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdjb25maWdfZm9ybWVuZCcsJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CgkJCiAgICAgICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduX2J5X3JlZignZm9ybXMnLCAkZm9ybUFycmF5KTsJCQkKICAgICAgICBlY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ0FkbWluTWFpbi50cGwnKTsKCX0KCglmdW5jdGlvbiBBZG1pbkFkZEVkaXRGb3JtKCRpZCwgJiRwYXJhbXMsICRyZXR1cm5pZCkKCXsKCQlnbG9iYWwgJGdDbXM7CgkJJHRoZW1lID0gJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddOwoJCSRhZWZvcm0gPSBuZXcgZmZGb3JtKCR0aGlzLT5tb2RfZ2xvYmFscywgJHBhcmFtcyk7CiAgICAgICAgaWYgKGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCRwYXJhbXNbJ2Zvcm1faWQnXSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgJGFlZm9ybS0+TG9hZCgkcGFyYW1zWydmb3JtX2lkJ10sJHBhcmFtcyx0cnVlKTsKICAgICAgICAgICAgfQogICAgICAgICAgICAKCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAnYWRtaW5fZm9ybV91cGRhdGUnLCAkcmV0dXJuaWQpKTsKCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2Zvcm1pZCcsJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgJ2Zvcm1faWQnLCAkYWVmb3JtLT5Gb3JtSWQpKTsKCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RhYl9zdGFydCcsJHRoaXMtPlN0YXJ0VGFiSGVhZGVycygpLgoJCQkkdGhpcy0+U2V0VGFiSGVhZGVyKCdtYWludGFiJywkdGhpcy0+TGFuZygnbWFpbicpKS4KCQkJJHRoaXMtPlNldFRhYkhlYWRlcignYWRkaXRpb24nLCR0aGlzLT5MYW5nKCdhZGRpdGlvbmFsJykpLgoJCQkkdGhpcy0+RW5kVGFiSGVhZGVycygpIC4gJHRoaXMtPlN0YXJ0VGFiQ29udGVudCgpKTsKCgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0YWJzX2VuZCcsJHRoaXMtPkVuZFRhYkNvbnRlbnQoKSk7CgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdtYWludGFiX3N0YXJ0JywkdGhpcy0+U3RhcnRUYWIoIm1haW50YWIiKSk7CgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdhZGRpdGlvbmFsdGFiX3N0YXJ0JywkdGhpcy0+U3RhcnRUYWIoImFkZGl0aW9uIikpOwoJCSR0aGlzLT5zbWFydHktPmFzc2lnbigndGFiX2VuZCcsJHRoaXMtPkVuZFRhYigpKTsKCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2Zvcm1fZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlX2Zvcm1fbmFtZScsJHRoaXMtPkxhbmcoJ3RpdGxlX2Zvcm1fbmFtZScpKTsKCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X2Zvcm1fbmFtZScsJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdmb3JtX25hbWUnLCAkYWVmb3JtLT5OYW1lLCA1MCkpOwoJCSR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGVfZm9ybV9zdGF0dXMnLCR0aGlzLT5MYW5nKCd0aXRsZV9mb3JtX3N0YXR1cycpKTsKCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RleHRfcmVhZHknLCR0aGlzLT5MYW5nKCd0aXRsZV9yZWFkeV9mb3JfZGVwbG95bWVudCcpKTsKCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlX2Zvcm1fYWxpYXMnLCR0aGlzLT5MYW5nKCd0aXRsZV9mb3JtX2FsaWFzJykpOwoJCSR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRfZm9ybV9hbGlhcycsJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdmb3JtX2FsaWFzJywgJGFlZm9ybS0+QWxpYXMsIDUwKSk7CgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0aXRsZV9mb3JtX2Nzc19jbGFzcycsJHRoaXMtPkxhbmcoJ3RpdGxlX2Zvcm1fY3NzX2NsYXNzJykpOwoJCSR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRfZm9ybV9jc3NfY2xhc3MnLCR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnZm9ybV9jc3NfY2xhc3MnLCBpc3NldCgkYWVmb3JtLT5DU1NDbGFzcyk/JGFlZm9ybS0+Q1NTQ2xhc3M6J2ZlZWRiYWNrZm9ybScsIDUwKSk7CgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0aXRsZV9mb3JtX2ZpZWxkcycsJHRoaXMtPkxhbmcoJ3RpdGxlX2Zvcm1fZmllbGRzJykpOwoJCSR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGVfZmllbGRfbmFtZScsJHRoaXMtPkxhbmcoJ3RpdGxlX2ZpZWxkX25hbWUnKSk7CgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0aXRsZV9maWVsZF90eXBlJywkdGhpcy0+TGFuZygndGl0bGVfZmllbGRfdHlwZScpKTsKCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlX2ZpZWxkX3JlcXVpcmVkX2FiYnJldicsJHRoaXMtPkxhbmcoJ3RpdGxlX2ZpZWxkX3JlcXVpcmVkX2FiYnJldicpKTsKCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlX2luZm9ybWF0aW9uJywkdGhpcy0+TGFuZygnaW5mb3JtYXRpb24nKSk7CgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0aXRsZV9vcmRlcicsJHRoaXMtPkxhbmcoJ29yZGVyJykpOyAgICAgICAgICAgIAoJCSR0aGlzLT5zbWFydHktPmFzc2lnbignbGlua19ub3RyZWFkeScsIjxzdHJvbmc+Ii4kdGhpcy0+TGFuZygndGl0bGVfbm90X3JlYWR5MScpLiI8L3N0cm9uZz48UD4iLiR0aGlzLT5MYW5nKCd0aXRsZV9ub3RfcmVhZHkyJykuIiAiLiR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkbWluX2FkZF9mZWVkYmFja19maWVsZCcsICRyZXR1cm5pZCwkdGhpcy0+TGFuZygndGl0bGVfbm90X3JlYWR5X2xpbmsnKSxhcnJheSgnZm9ybV9pZCc9PiRhZWZvcm0tPkZvcm1JZCwgJ29yZGVyX2J5Jz0+Y291bnQoJGFlZm9ybS0+RmllbGRzKSsxLCdkaXNwb3NlX29ubHknPT4xKSwgJycsIGZhbHNlKS4iICIuJHRoaXMtPkxhbmcoJ3RpdGxlX25vdF9yZWFkeTMnKS4iPC9wPiIpOwoJCSR0aGlzLT5zbWFydHktPmFzc2lnbignaGFzZGlzcG9zaXRpb24nLCRhZWZvcm0tPkhhc0Rpc3Bvc2l0aW9uKCk/MTowKTsKCgkJaWYoJGFlZm9ybS0+Rm9ybUlkID4gMCkKICAgIAl7CiAgICAJCSR0aGlzLT5zbWFydHktPmFzc2lnbignc3VibWl0X2J1dHRvbicsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdzdWJtaXQnLCAgJHRoaXMtPkxhbmcoJ3NhdmVfYW5kX2NvbnRpbnVlJykpKTsKICAgIAkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdoaWRkZW4nLCR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICdmb3JtX29wJywkdGhpcy0+TGFuZygndXBkYXRlZCcpKSk7CgkJCSR0aGlzLT5zbWFydHktPmFzc2lnbignYWRkaW5nJywwKTsKCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzYXZlX2J1dHRvbicsJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ3N1Ym1pdCcsICR0aGlzLT5MYW5nKCdzYXZlJykpKTsKCQkJJGZpZWxkTGlzdCA9IGFycmF5KCk7CgkJCSRjdXJyb3cgPSAicm93MSI7CgkJCSRjb3VudCA9IDE7CgkJCSRsYXN0ID0gY291bnQoJGFlZm9ybS0+RmllbGRzKTsKCQkJZm9yZWFjaCAoJGFlZm9ybS0+RmllbGRzIGFzICR0aGlzRmllbGQpCgkJCQl7CgkJCQkkb25lc2V0ID0gbmV3IHN0ZENsYXNzKCk7CgkJCQkkb25lc2V0LT5yb3djbGFzcyA9ICRjdXJyb3c7CgkJCQkkb25lc2V0LT5uYW1lID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYWRtaW5fZWRpdF9mZWVkYmFja19maWVsZCcsICcnLCAkdGhpc0ZpZWxkLT5OYW1lLCBhcnJheSgnZmllbGRfaWQnPT4kdGhpc0ZpZWxkLT5GaWVsZElkLCdmb3JtX2lkJz0+JGFlZm9ybS0+Rm9ybUlkKSk7CgkJCQkkb25lc2V0LT50eXBlID0gJHRoaXNGaWVsZC0+RGlzcGxheVR5cGU7CgkJCQlpZiAoJHRoaXNGaWVsZC0+SXNEaXNwb3NpdGlvbiB8fCAhJHRoaXNGaWVsZC0+RGlzcGxheUluRm9ybSkKCQkJCQl7CgkJCQkJJG9uZXNldC0+ZGlzcG9zaXRpb24gPSAkdGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL3RydWUuZ2lmJywndHJ1ZScsJycsJycsJ3N5c3RlbWljb24nKTsKCQkJCQl9CgkJCQllbHNlIGlmICgkdGhpc0ZpZWxkLT5SZXF1aXJlZCkKCQkJCQl7CgkJCQkJJG9uZXNldC0+ZGlzcG9zaXRpb24gPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl9maWVsZF9yZXF1aXJlZF91cGRhdGUnLCAnJywgJHRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS90cnVlLmdpZicsJ3RydWUnLCcnLCcnLCdzeXN0ZW1pY29uJyksIGFycmF5KCdmb3JtX2lkJz0+JGFlZm9ybS0+Rm9ybUlkLCdmaWVsZF9pbmRleCc9PiRjb3VudC0xLCdhY3RpdmUnPT4nb2ZmJykpOwoJCQkJCX0KCQkJCWVsc2UKCQkJCQl7CgkJCQkJJG9uZXNldC0+ZGlzcG9zaXRpb24gPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl9maWVsZF9yZXF1aXJlZF91cGRhdGUnLCAnJywgJHRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9mYWxzZS5naWYnLCdmYWxzZScsJycsJycsJ3N5c3RlbWljb24nKSwgYXJyYXkoJ2Zvcm1faWQnPT4kYWVmb3JtLT5Gb3JtSWQsJ2ZpZWxkX2luZGV4Jz0+JGNvdW50LTEsJ2FjdGl2ZSc9PidvbicpKTsKCQkJCQl9CgkJCQkkb25lc2V0LT5maWVsZF9zdGF0dXMgPSAkdGhpc0ZpZWxkLT5TdGF0dXNJbmZvKCk7CgkJCQlpZiAoJGNvdW50ID4gMSkKCQkJCQl7CgkJCQkJJG9uZXNldC0+dXAgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl9maWVsZF9vcmRlcl91cGRhdGUnLCAnJywgJHRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9hcnJvdy11LmdpZicsJ3VwJywnJywnJywnc3lzdGVtaWNvbicpLCBhcnJheSgnZm9ybV9pZCc9PiRhZWZvcm0tPkZvcm1JZCwnZmllbGRfaW5kZXgnPT4kY291bnQtMSwnZGlyJz0+J3VwJykpOwoJCQkJCX0KCQkJCWVsc2UKCQkJCQl7CgkJCQkJJG9uZXNldC0+dXAgPSAnJm5ic3A7JzsKCQkJCQl9CgkJCQlpZiAoJGNvdW50IDwgJGxhc3QpCgkJCQkJewoJCQkJCSRvbmVzZXQtPmRvd249JHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYWRtaW5fZmllbGRfb3JkZXJfdXBkYXRlJywgJycsICR0aGVtZS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vYXJyb3ctZC5naWYnLCdkb3duJywnJywnJywnc3lzdGVtaWNvbicpLCBhcnJheSgnZm9ybV9pZCc9PiRhZWZvcm0tPkZvcm1JZCwnZmllbGRfaW5kZXgnPT4kY291bnQtMSwnZGlyJz0+J2Rvd24nKSk7CgkJCQkJfQoJCQkJZWxzZQoJCQkJCXsKCQkJCQkkb25lc2V0LT5kb3duID0gJyZuYnNwOyc7CgkJCQkJfQoJCQkJJG9uZXNldC0+ZWRpdGxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl9lZGl0X2ZlZWRiYWNrX2ZpZWxkJywgJycsICR0aGVtZS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZWRpdC5naWYnLCdlZGl0JywnJywnJywnc3lzdGVtaWNvbicpLCBhcnJheSgnZmllbGRfaWQnPT4kdGhpc0ZpZWxkLT5GaWVsZElkLCdmb3JtX2lkJz0+JGFlZm9ybS0+Rm9ybUlkKSk7CgkJCQkkb25lc2V0LT5kZWxldGVsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYWRtaW5fZGVsZXRlX2ZlZWRiYWNrX2ZpZWxkJywgJycsICR0aGVtZS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZGVsZXRlLmdpZicsJ2RlbGV0ZScsJycsJycsJ3N5c3RlbWljb24nKSwgYXJyYXkoJ2ZpZWxkX2lkJz0+JHRoaXNGaWVsZC0+RmllbGRJZCwnZm9ybV9pZCc9PiRhZWZvcm0tPkZvcm1JZCksJHRoaXMtPkxhbmcoJ2FyZV95b3Vfc3VyZV9kZWxldGVfZmllbGQnLCR0aGlzRmllbGQtPk5hbWUpKTsKCQkJCSgkY3Vycm93ID09ICJyb3cxIj8kY3Vycm93PSJyb3cyIjokY3Vycm93PSJyb3cxIik7CgkJCQkkY291bnQrKzsKCQkJCWFycmF5X3B1c2goJGZpZWxkTGlzdCwgJG9uZXNldCk7CgkJCQl9CgkJCSR0aGlzLT5zbWFydHktPmFzc2lnbignZmllbGRzJywkZmllbGRMaXN0KTsKCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdhZGRfZmllbGRfbGluaycsJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYWRtaW5fYWRkX2ZlZWRiYWNrX2Zvcm0nLCAkcmV0dXJuaWQsJHRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9uZXdvYmplY3QuZ2lmJywkdGhpcy0+TGFuZygndGl0bGVfYWRkX25ld19maWVsZCcpLCcnLCcnLCdzeXN0ZW1pY29uJyksYXJyYXkoJ2Zvcm1faWQnPT4kYWVmb3JtLT5Gb3JtSWQsICdvcmRlcl9ieSc9PiRjb3VudCksICcnLCBmYWxzZSkgLiAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl9hZGRfZmVlZGJhY2tfZmllbGQnLCAkcmV0dXJuaWQsJHRoaXMtPkxhbmcoJ3RpdGxlX2FkZF9uZXdfZmllbGQnKSxhcnJheSgnZm9ybV9pZCc9PiRhZWZvcm0tPkZvcm1JZCwgJ29yZGVyX2J5Jz0+JGNvdW50KSwgJycsIGZhbHNlKSk7CQkJCgkJfQoJCWVsc2UKCQl7CgkJCSR0aGlzLT5zbWFydHktPmFzc2lnbignc3VibWl0X2J1dHRvbicsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdzdWJtaXQnLCAkdGhpcy0+TGFuZygnYWRkJykpKTsKICAgIAkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdoaWRkZW4nLCR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICdmb3JtX29wJywkdGhpcy0+TGFuZygnYWRkZWQnKSkpOwoJCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2FkZGluZycsMSk7CgkJfQoJCSR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGVfZm9ybV9zdWJtaXRfYnV0dG9uJywkdGhpcy0+TGFuZygndGl0bGVfZm9ybV9zdWJtaXRfYnV0dG9uJykpOwoJCSR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRfZm9ybV9zdWJtaXRfYnV0dG9uJywkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2Zvcm1fc3VibWl0X2J1dHRvbl90ZXh0JywgZmZVdGlsaXR5RnVuY3Rpb25zOjpkZWYoJGFlZm9ybS0+U3VibWl0QnV0dG9uVGV4dCk/JGFlZm9ybS0+U3VibWl0QnV0dG9uVGV4dDonU3VibWl0IEZvcm0nLCAzNSwgMzUpKTsKCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlX2Zvcm1fbmV4dF9idXR0b24nLCR0aGlzLT5MYW5nKCd0aXRsZV9mb3JtX25leHRfYnV0dG9uJykpOwoJCSR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRfZm9ybV9uZXh0X2J1dHRvbicsJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdmb3JtX25leHRfYnV0dG9uX3RleHQnLCBmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkYWVmb3JtLT5OZXh0QnV0dG9uVGV4dCk/JGFlZm9ybS0+TmV4dEJ1dHRvblRleHQ6J0NvbnRpbnVlLi4uJywgMzUsIDM1KSk7CgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0aXRsZV9mb3JtX3RoYW5rc190ZXh0JywkdGhpcy0+TGFuZygndGl0bGVfZm9ybV90aGFua3NfdGV4dCcpKTsKCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X2Zvcm1fdGhhbmtzX3RleHQnLCR0aGlzLT5DcmVhdGVUZXh0QXJlYShmYWxzZSwgJGlkLCBmZlV0aWxpdHlGdW5jdGlvbnM6OmRlZigkYWVmb3JtLT5UaGFua3NNZXNzYWdlKT8kYWVmb3JtLT5UaGFua3NNZXNzYWdlOidUaGFua3MhJywgJ2Zvcm1fdGhhbmtzX21lc3NhZ2UnLCAnJywgJycsICcnLCAnJykpOwoJCSR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGVfZm9ybV9yZXF1aXJlZF9zeW1ib2wnLCR0aGlzLT5MYW5nKCd0aXRsZV9mb3JtX3JlcXVpcmVkX3N5bWJvbCcpKTsKCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X2Zvcm1fcmVxdWlyZWRfc3ltYm9sJywkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2Zvcm1fcmVxdWlyZWRfZmllbGRfc3ltYm9sJywgZmZVdGlsaXR5RnVuY3Rpb25zOjpkZWYoJGFlZm9ybS0+UmVxdWlyZWRGaWVsZFN5bWJvbCk/JGFlZm9ybS0+UmVxdWlyZWRGaWVsZFN5bWJvbDonKicsIDUwKSk7CgkJJHRoaXMtPnNtYXJ0eS0+Y2xlYXJfY2FjaGUoJ0FkZEVkaXRGb3JtLnRwbCcpOwogICAgICAgIGVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnQWRkRWRpdEZvcm0udHBsJyk7Cgl9CgoJZnVuY3Rpb24gQWRtaW5BZGRFZGl0RmllbGQoJGlkLCAmJHBhcmFtcywgJHJldHVybmlkLCAkbWVzc2FnZT0nJykKCXsKICAgICAgICAkZW1wdHlBcnIgPSBhcnJheSgpOwoJCSRhZWZvcm0gPSBuZXcgZmZGb3JtKCR0aGlzLT5tb2RfZ2xvYmFscywgJGVtcHR5QXJyKTsKICAgICAgICAvLyBnb3NoLCBkbyBJIHJlYWxseSBoYXZlIHRvIGRvIHRoaXM/CiAgICAgICAgJGFlZm9ybS0+TG9hZCgkcGFyYW1zWydmb3JtX2lkJ10sICRwYXJhbXMsIGZhbHNlKTsKICAgICAgICAvLyB0aGlzIGlzIHNvcnQgb2Ygd2FzdGVmdWwuIFdlIGxvYWQgb3VyIGRhdGEgaW50byBhCiAgICAgICAgLy8gZ2VuZXJpYyBJbnB1dCwgdGhlbiwgaWYgd2UgaGF2ZSBtb3JlIGluZm9ybWF0aW9uLAogICAgICAgIC8vIGluc3RhbnRpYXRlIGEgbmV3IHNwZWNpZmljIElucHV0IENsYXNzLgogICAgICAgICRhZWZpZWxkID0gbmV3IGZmSW5wdXQoJHRoaXMtPm1vZF9nbG9iYWxzLCRhZWZvcm0sJHBhcmFtcyk7CgogICAgICAgIGlmICgkYWVmaWVsZC0+RmllbGRJZCA+IDAgKQogICAgICAgICAgICB7CiAgICAgICAgICAgIC8vIHdlJ3JlIGxvYWRpbmcgYW4gZXh0YW50IGZpZWxkCiAgICAgICAgICAgICRhZWZpZWxkLT5Mb2FkKCRhZWZpZWxkLT5GaWVsZElkLGZhbHNlKTsKICAgICAgICAgICAgfQoJCS8vIHdoYXQga2luZCBvZiBmaWVsZD8KCQkvLyBuZWVkIHRvIGtub3cgd2hhdCBraW5kIG9mIG9iamVjdCB0byBpbnN0YW50aWF0ZSEKICAgICAgICBpZiAoZmZVdGlsaXR5RnVuY3Rpb25zOjpkZWYoJGFlZmllbGQtPlR5cGUpKQogICAgICAgICAgICB7CiAgICAgICAgICAgIC8vIE9LLCBpbnN0YW50aWF0aW5nIGEgc3BlY2lmaWMgSW5wdXQgY2xhc3MuCiAgICAgICAgICAgICRjbGFzc05hbWUgPSAkYWVmb3JtLT5NYWtlQ2xhc3NOYW1lKCRhZWZpZWxkLT5UeXBlLCAnJyk7CiAgICAgICAgICAgICRhZWZpZWxkID0gbmV3ICRjbGFzc05hbWUoJHRoaXMtPm1vZF9nbG9iYWxzLCAkYWVmb3JtLCAkcGFyYW1zKTsKICAgICAgICAgICAgJGFlZmllbGQtPkxvYWRGaWVsZCgkcGFyYW1zKTsKICAgICAgICAgICAgfQoJCWlmICghZmZVdGlsaXR5RnVuY3Rpb25zOjpkZWYoJGFlZmllbGQtPlR5cGUpKQoJCQl7CgkJCSR0aGlzLT5zbWFydHktPmFzc2lnbignc3RhcnRfZm9ybScsJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICdhZG1pbl9hZGRfZmVlZGJhY2tfZmllbGQnLCAkcmV0dXJuaWQpKTsKCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0eXBlX3NldCcsMCk7CgkJCX0KCQllbHNlCgkJCXsKCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdGFydF9mb3JtJywkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgJ2FkbWluX2ZpZWxkX3VwZGF0ZScsICRyZXR1cm5pZCkpOwoJCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3R5cGVfc2V0JywxKTsKCQkJfQoJCSR0aGlzLT5zbWFydHktPmFzc2lnbignZW5kX2Zvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKCQlpZigkYWVmaWVsZC0+RmllbGRJZCA+IDApCgkJCXsKCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdvcCcsJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgJ29wJywkdGhpcy0+TGFuZygndXBkYXRlZCcpKSk7CgkJCSR0aGlzLT5zbWFydHktPmFzc2lnbignc3VibWl0JywkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnJywgJHRoaXMtPkxhbmcoJ3VwZGF0ZScpKSk7CgkJCX0KCQllbHNlCgkJCXsKCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdvcCcsJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgJ29wJywgJHRoaXMtPkxhbmcoJ2FkZGVkJykpKTsKCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICcnLCAkdGhpcy0+TGFuZygnYWRkJykpKTsKCQkJfQoKCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2hpZGRlbicsICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICdmb3JtX2lkJywgJGFlZmllbGQtPkZvcm1JZCkgLiAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAnZmllbGRfaWQnLCAkYWVmaWVsZC0+RmllbGRJZCkgLiAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAnb3JkZXJfYnknLCAkYWVmaWVsZC0+T3JkZXJCeSkpOwoJCSR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGVfZmllbGRfbmFtZScsJHRoaXMtPkxhbmcoJ3RpdGxlX2ZpZWxkX25hbWUnKSk7CgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dF9maWVsZF9uYW1lJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICduYW1lJywgJGFlZmllbGQtPk5hbWUsIDUwKSk7CgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0aXRsZV9maWVsZF90eXBlJywkdGhpcy0+TGFuZygndGl0bGVfZmllbGRfdHlwZScpKTsKCQkKCQlpZiAoIWZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCRhZWZpZWxkLT5UeXBlKSkKCQkJewoJCQlpZiAoZmZVdGlsaXR5RnVuY3Rpb25zOjpkZWYoJHBhcmFtc1snZGlzcG9zZV9vbmx5J10pKQoJCQkJewoJCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dF9maWVsZF90eXBlJywKCQkJICAgICAgICAgICAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsIAoJCQkJCQkJICAgICAgJ3R5cGUnLAoJCQkJCQkJICAgICAgYXJyYXlfbWVyZ2UoYXJyYXkoJHRoaXMtPkxhbmcoJ3NlbGVjdF90eXBlJyk9PicnKSwkdGhpcy0+ZGlzcF9maWVsZF90eXBlcyksIAoJCQkJCQkJICAgICAgLTEsJycsICdvbmNoYW5nZT0idGhpcy5mb3JtLnN1Ym1pdCgpIicpKTsKCQkJCX0KCQkJZWxzZQoJCQkJewoJCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dF9maWVsZF90eXBlJywkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICd0eXBlJyxhcnJheV9tZXJnZShhcnJheSgkdGhpcy0+TGFuZygnc2VsZWN0X3R5cGUnKT0+JycpLCR0aGlzLT5maWVsZF90eXBlcyksIC0xLCcnLCAnb25jaGFuZ2U9InRoaXMuZm9ybS5zdWJtaXQoKSInKSk7CgkJCQl9CgkJCX0KCQllbHNlCgkJCXsKCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dF9maWVsZF90eXBlJywkYWVmaWVsZC0+RGlzcGxheVR5cGUuJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgJ3R5cGUnLCAkYWVmaWVsZC0+VHlwZSkpOwoJCQl9CgoJCWlmICghJGFlZmllbGQtPklzRGlzcG9zaXRpb24gJiYgISRhZWZpZWxkLT5zcGVjaWFsSW5wdXQpCgkJCXsKCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdyZXF1aXJhYmxlJywxKTsKCQkJfQoJCWVsc2UKCQkJewoJCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3JlcXVpcmFibGUnLDApOwoJCQl9CgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0aXRsZV9maWVsZF9yZXF1aXJlZCcsJHRoaXMtPkxhbmcoJ3RpdGxlX2ZpZWxkX3JlcXVpcmVkJykpOwoJCSR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRfZmllbGRfcmVxdWlyZWQnLCR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJ3JlcXVpcmVkJywgMSwgJGFlZmllbGQtPlJlcXVpcmVkKS4kdGhpcy0+TGFuZygndGl0bGVfZmllbGRfcmVxdWlyZWRfbG9uZycpKTsKCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlX3Nob3dfbGFiZWwnLCR0aGlzLT5MYW5nKCd0aXRsZV9zaG93X2xhYmVsJykpOwoJCSR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRfc2hvd19sYWJlbCcsJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAnc2hvd19sYWJlbCcsIDEsICRhZWZpZWxkLT5TaG93TGFiZWwpLiR0aGlzLT5MYW5nKCd0aXRsZV9zaG93X2xhYmVsX2xvbmcnKSk7CgoKCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlX2ZpZWxkX3ZhbGlkYXRpb24nLCR0aGlzLT5MYW5nKCd0aXRsZV9maWVsZF92YWxpZGF0aW9uJykpOwoJCWlmIChjb3VudCgkYWVmaWVsZC0+VmFsaWRhdGlvblR5cGVzKSA+IDEpCgkJCXsKCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dF9maWVsZF92YWxpZGF0aW9uJywkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICd2YWxpZGF0aW9uX3R5cGUnLCAkYWVmaWVsZC0+VmFsaWRhdGlvblR5cGVzLCAtMSwgJGFlZmllbGQtPlZhbGlkYXRpb25UeXBlKSk7CgkJCX0KCQllbHNlCgkJCXsKCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dF9maWVsZF92YWxpZGF0aW9uJywkdGhpcy0+TGFuZygnYXV0b21hdGljJykpOwoJCQl9CgoJCWlmICgkYWVmaWVsZC0+RGlzcGxheUluRm9ybSkKCQkJewoJCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2Rpc3BsYXlpbmZvcm0nLDEpOwoJCQl9CgkJZWxzZQoJCQl7CgkJCSR0aGlzLT5zbWFydHktPmFzc2lnbignZGlzcGxheWluZm9ybScsMCk7CgkJCX0KCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlX2ZpZWxkX2Nzc19jbGFzcycsJHRoaXMtPkxhbmcoJ3RpdGxlX2ZpZWxkX2Nzc19jbGFzcycpKTsKCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X2ZpZWxkX2Nzc19jbGFzcycsJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdjc3NfY2xhc3MnLCAkYWVmaWVsZC0+Q1NTQ2xhc3MsIDUwKSk7CgkJJGF0dHJMaXN0ID0gYXJyYXkoKTsKCQlmb3JlYWNoICgkYWVmaWVsZC0+UmVuZGVyQWRtaW5Gb3JtKCRpZCkgYXMgJHRpdGxlU3RyPT4kaW5wdXRTdHIpCgkJCXsKCQkJJG9uZXNldCA9IG5ldyBzdGRDbGFzcygpOwoJCQkkb25lc2V0LT50aXRsZSA9ICR0aXRsZVN0cjsKCQkJJG9uZXNldC0+aW5wdXQgPSAkaW5wdXRTdHI7CgkJCWFycmF5X3B1c2goJGF0dHJMaXN0LCRvbmVzZXQpOwoJCQl9CgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdtZXNzYWdlJywkbWVzc2FnZSk7CgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdvdGhlckF0dHJzJywkYXR0ckxpc3QpOwoJCSR0aGlzLT5zbWFydHktPmNsZWFyX2NhY2hlKCdBZGRFZGl0RmllbGQudHBsJyk7CiAgICAgICAgZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdBZGRFZGl0RmllbGQudHBsJyk7CiAgICB9CgogICAgZnVuY3Rpb24gQWRtaW5TdG9yZUZpZWxkKCRpZCwgJiRwYXJhbXMsICRyZXR1cm5pZCkKICAgIHsKICAgICAgICAkZW1wdHlBcnIgPSBhcnJheSgpOwogICAgICAgICRhZWZvcm0gPSBuZXcgZmZGb3JtKCR0aGlzLT5tb2RfZ2xvYmFscywkZW1wdHlBcnIpOwogICAgICAgICRhZWZpZWxkID0gbmV3IGZmSW5wdXQoJHRoaXMtPm1vZF9nbG9iYWxzLCRhZWZvcm0sJHBhcmFtcyk7CiAgICAgICAgaWYgKGZmVXRpbGl0eUZ1bmN0aW9uczo6ZGVmKCRhZWZpZWxkLT5UeXBlKSkKICAgICAgICAgICAgewogICAgICAgICAgICAvLyBPSywgaW5zdGFudGlhdGluZyBhIHNwZWNpZmljIElucHV0IGNsYXNzLgogICAgICAgICAgICAkY2xhc3NOYW1lID0gJGFlZm9ybS0+TWFrZUNsYXNzTmFtZSgkYWVmaWVsZC0+VHlwZSwgJycpOwogICAgICAgICAgICAkYWVmaWVsZCA9IG5ldyAkY2xhc3NOYW1lKCR0aGlzLT5tb2RfZ2xvYmFscywgJGFlZm9ybSwgJHBhcmFtcyk7CiAgICAgICAgICAgIH0KICAgICAgICAkdmFsID0gJGFlZmllbGQtPkFkbWluVmFsaWRhdGUoKTsKICAgICAgICBpZiAoJHZhbFswXSkKICAgICAgICAgICAgewogICAgICAgICAgICAkYWVmaWVsZC0+U3RvcmUodHJ1ZSk7CgkJICAgICR1cmwgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl9lZGl0X2ZlZWRiYWNrX2Zvcm0nLCAkcmV0dXJuaWQsICcnLAoJCSAgICAJYXJyYXkoJ2Zvcm1faWQnPT4kYWVmaWVsZC0+Rm9ybUlkLCdtZXNzYWdlJz0+JHRoaXMtPkxhbmcoJ2ZpZWxkJykuIiAiLiRwYXJhbXNbJ29wJ10pLCAnJywgdHJ1ZSk7CgkJICAgICR1cmwgPSBzdHJfcmVwbGFjZSgnJmFtcDsnLCAnJicsICR1cmwpOwoJCSAgICByZWRpcmVjdCgkdXJsKTsKICAgICAgICAgICAgfQoJCWVsc2UKCQkgICAgewogICAgICAgICAgICAkYWVmaWVsZC0+TG9hZEZpZWxkKCRwYXJhbXMpOwogICAgICAgICAgICAvLyRwYXJhbXNbJ21lc3NhZ2UnXT0kdmFsWzFdOwogICAgICAgIAkvL2luY2x1ZGUgImluY2x1ZGVzL0FkZEVkaXRGaWVsZC5pbmMiOwogICAgICAgIAlyZXR1cm4gJHRoaXMtPkFkbWluQWRkRWRpdEZpZWxkKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAkdmFsWzFdKTsKICAgICAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIEFkbWluVXBkYXRlRmllbGRPcmRlcigkaWQsICYkcGFyYW1zLCAkcmV0dXJuaWQpCiAgICB7CgogICAgICAgICRhZWZvcm0gPSBuZXcgZmZGb3JtKCR0aGlzLT5tb2RfZ2xvYmFscywgJHBhcmFtcyk7CiAgICAgICAgJGFlZm9ybS0+TG9hZEZvcm0oJHBhcmFtcyk7CiAgICAgICAgJHNyY0luZGV4ID0gaW50dmFsKCRwYXJhbXNbJ2ZpZWxkX2luZGV4J10pOwoKICAgICAgICAkc3JjRmllbGQgPSAkYWVmb3JtLT5GaWVsZHNbJHNyY0luZGV4XTsKICAgICAgICBpZiAoJHBhcmFtc1snZGlyJ10gPT0gJ3VwJykKICAgICAgICAgICAgewogICAgICAgICAgICAkZGVzdEluZGV4ID0gJHNyY0luZGV4IC0gMTsKICAgICAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICAgICAgewogICAgICAgICAgICAkZGVzdEluZGV4ID0gJHNyY0luZGV4ICsgMTsKICAgICAgICAgICAgfQogICAgICAgICRkZXN0RmllbGQgPSAkYWVmb3JtLT5GaWVsZHNbJGRlc3RJbmRleF07CiAgICAgICAgJHRtcE9yZGVyQnkgPSAkZGVzdEZpZWxkLT5PcmRlckJ5OwogICAgICAgICRkZXN0RmllbGQtPk9yZGVyQnkgPSAkc3JjRmllbGQtPk9yZGVyQnk7CiAgICAgICAgJHNyY0ZpZWxkLT5PcmRlckJ5ID0gJHRtcE9yZGVyQnk7CiAgICAgICAgJHNyY0ZpZWxkLT5TdG9yZSgpOwogICAgICAgICRkZXN0RmllbGQtPlN0b3JlKCk7CgoKCQkkdXJsID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYWRtaW5fZWRpdF9mZWVkYmFja19mb3JtJywgJHJldHVybmlkLCAnJywKCQkJYXJyYXkoJ2Zvcm1faWQnPT4kYWVmb3JtLT5Gb3JtSWQsJ21lc3NhZ2UnPT4kdGhpcy0+TGFuZygnZmllbGRfb3JkZXJfdXBkYXRlZCcpKSwgJycsIHRydWUpOwoJCSR1cmwgPSBzdHJfcmVwbGFjZSgnJmFtcDsnLCAnJicsICR1cmwpOwogICAgICAgIHJlZGlyZWN0KCR1cmwpOwogICAgfQoKICAgIGZ1bmN0aW9uIEFkbWluVXBkYXRlRmllbGRSZXF1aXJlZCgkaWQsICYkcGFyYW1zLCAkcmV0dXJuaWQpCiAgICB7CgogICAgICAgICRhZWZvcm0gPSBuZXcgZmZGb3JtKCR0aGlzLT5tb2RfZ2xvYmFscywgJHBhcmFtcyk7CiAgICAgICAgJGFlZm9ybS0+TG9hZEZvcm0oJHBhcmFtcyk7CiAgICAgICAgJHNyY0luZGV4ID0gaW50dmFsKCRwYXJhbXNbJ2ZpZWxkX2luZGV4J10pOwoKICAgICAgICAkc3JjRmllbGQgPSAkYWVmb3JtLT5GaWVsZHNbJHNyY0luZGV4XTsKICAgICAgICAkc3JjRmllbGQtPlJlcXVpcmVkID0gMTsKICAgICAgICBpZiAoJHBhcmFtc1snYWN0aXZlJ10gPT0gJ29mZicpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgJHNyY0ZpZWxkLT5SZXF1aXJlZCA9IDA7CiAgICAgICAgICAgIH0KCQkkc3JjRmllbGQtPlN0b3JlKCk7CgoJCSR1cmwgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl9lZGl0X2ZlZWRiYWNrX2Zvcm0nLCAkcmV0dXJuaWQsICcnLAoJCQlhcnJheSgnZm9ybV9pZCc9PiRhZWZvcm0tPkZvcm1JZCwnbWVzc2FnZSc9PiR0aGlzLT5MYW5nKCdmaWVsZF9yZXF1aXJlbWVudF91cGRhdGVkJykpLCAnJywgdHJ1ZSk7CgkJJHVybCA9IHN0cl9yZXBsYWNlKCcmYW1wOycsICcmJywgJHVybCk7CiAgICAgICAgcmVkaXJlY3QoJHVybCk7CiAgICB9CgoKICAgIGZ1bmN0aW9uIEFkbWluRGVsZXRlRm9ybSgkaWQsICYkcGFyYW1zLCAkcmV0dXJuaWQpCgl7CiAgICAgICAgJGFlZm9ybSA9IG5ldyBmZkZvcm0oJHRoaXMtPm1vZF9nbG9iYWxzLCAkcGFyYW1zKTsKICAgICAgICAkYWVmb3JtLT5Mb2FkRm9ybSgkcGFyYW1zKTsKICAgICAgICAkYWVmb3JtLT5EZWxldGUoKTsKCgkJJHVybCA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkbWluX21haW5fZmVlZGJhY2snLCAkcmV0dXJuaWQsICcnLCBhcnJheSgnbWVzc2FnZSc9PiR0aGlzLT5MYW5nKCdmb3JtX2RlbGV0ZWQnKSksICcnLCB0cnVlKTsKCQkkdXJsID0gc3RyX3JlcGxhY2UoJyZhbXA7JywgJyYnLCAkdXJsKTsKICAgICAgICByZWRpcmVjdCgkdXJsKTsKICAgIH0KCiAgICBmdW5jdGlvbiBBZG1pbkRlbGV0ZUZpZWxkKCRpZCwgJiRwYXJhbXMsICRyZXR1cm5pZCkKCXsKICAgICAgICAkYWVmb3JtID0gbmV3IGZmRm9ybSgkdGhpcy0+bW9kX2dsb2JhbHMsICRwYXJhbXMpOwogICAgICAgICRhZWZpZWxkID0gbmV3IGZmSW5wdXQoJHRoaXMtPm1vZF9nbG9iYWxzLCAkYWVmb3JtLCAkcGFyYW1zKTsKICAgICAgICAkYWVmaWVsZC0+TG9hZE9wdGlvbnMoJHBhcmFtcyk7CiAgICAgICAgJGFlZmllbGQtPkRlbGV0ZSgpOwoKCQkkdXJsID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYWRtaW5fZWRpdF9mZWVkYmFja19mb3JtJywgJHJldHVybmlkLCAnJywKCQkJYXJyYXkoJ2Zvcm1faWQnPT4kYWVmaWVsZC0+Rm9ybUlkLCdtZXNzYWdlJz0+JHRoaXMtPkxhbmcoJ2ZpZWxkX2RlbGV0ZWQnKSksICcnLCB0cnVlKTsKCQkkdXJsID0gc3RyX3JlcGxhY2UoJyZhbXA7JywgJyYnLCAkdXJsKTsKICAgICAgICByZWRpcmVjdCgkdXJsKTsKICAgIH0KCglmdW5jdGlvbiBHZXRGb3Jtcygkb3JkZXJfYnk9J25hbWUnKQoJewoJCSRkYiA9ICR0aGlzLT5tb2RfZ2xvYmFscy0+REJIYW5kbGU7CgkJJHNxbCA9ICJTRUxFQ1QgKiBGUk9NICIuJHRoaXMtPmZvcm1fdGFibGVfbmFtZTsKCQlpZigkb3JkZXJfYnkgIT0gJycpCgkgICAgewoJICAgICAgICAkc3FsIC49ICIgT1JERVIgQlkgJG9yZGVyX2J5IjsKCSAgICB9CgoJICAgICRyZXN1bHQgPSBhcnJheSgpOwoJICAgICRycyA9ICRkYi0+RXhlY3V0ZSgkc3FsKTsKCSAgICBpZigkcnMgJiYgJHJzLT5SZWNvcmRDb3VudCgpID4gMCkKCSAgICAgICAgJHJlc3VsdCA9ICRycy0+R2V0QXJyYXkoKTsKCSAgICByZXR1cm4gJHJlc3VsdDsKCX0JCgogICAgZnVuY3Rpb24gR2V0Rm9ybUlERnJvbUFsaWFzKCRmb3JtX2FsaWFzKQoJewoJCSRkYiA9ICR0aGlzLT5tb2RfZ2xvYmFscy0+REJIYW5kbGU7IC8qIEB2YXIgJGRiIEFET0Nvbm5lY3Rpb24gKi8KCQkkc3FsID0gIlNFTEVDVCBmb3JtX2lkIGZyb20gIi4kdGhpcy0+Zm9ybV90YWJsZV9uYW1lLiIgV0hFUkUgYWxpYXMgPSA/IjsKCQkkcnMgPSAkZGItPkV4ZWN1dGUoJHNxbCwgYXJyYXkoJGZvcm1fYWxpYXMpKTsKCQlpZigkcnMgJiYgJHJzLT5SZWNvcmRDb3VudCgpID4gMCkKCQl7CgkJCSRyZXN1bHQgPSAkcnMtPkZldGNoUm93KCk7CgkJfQoJCXJldHVybiAkcmVzdWx0Wydmb3JtX2lkJ107Cgl9CgoKCWZ1bmN0aW9uIEFkbWluU3RvcmVGb3JtKCRpZCwgJiRwYXJhbXMsICRyZXR1cm5faWQpCgl7CiAgICAgICAgJGFlZm9ybSA9IG5ldyBmZkZvcm0oJHRoaXMtPm1vZF9nbG9iYWxzLCAkcGFyYW1zKTsKICAgICAgICAkYWVmb3JtLT5TdG9yZSgpOwoKICAgICAgICBpZiAoJHBhcmFtc1snc3VibWl0J10gPT0gJHRoaXMtPkxhbmcoJ3NhdmUnKSkKICAgICAgICAgICAgewoJCSAgICAkdXJsID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYWRtaW5fbWFpbl9mZWVkYmFjaycsICRyZXR1cm5faWQsICcnLAoJCSAgICAJYXJyYXkoJ21lc3NhZ2UnPT4kdGhpcy0+TGFuZygnZm9ybScpLiIgIi4kcGFyYW1zWydmb3JtX29wJ10pLCAnJywgdHJ1ZSk7CiAgICAgICAgICAgIH0KICAgICAgICBlbHNlCiAgICAgICAgICAgIHsKCQkgICAgJHVybCA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkbWluX2VkaXRfZmVlZGJhY2tfZm9ybScsICRyZXR1cm5faWQsCgkJICAgIAknJywgYXJyYXkoJ21lc3NhZ2UnPT4kdGhpcy0+TGFuZygnZm9ybScpLiIgIi4kcGFyYW1zWydmb3JtX29wJ10sJ2Zvcm1faWQnPT4kYWVmb3JtLT5Gb3JtSWQpLCAnJywgdHJ1ZSk7CiAgICAgICAgICAgIH0KCQkkdXJsID0gc3RyX3JlcGxhY2UoJyZhbXA7JywgJyYnLCAkdXJsKTsKICAgICAgICByZWRpcmVjdCgkdXJsKTsKCX0KCglmdW5jdGlvbiBBZG1pblN0b3JlQ29uZmlnKCRpZCwgJiRwYXJhbXMsICRyZXR1cm5faWQpCgl7CiAgICAgICAgJGFlY29uZiA9IG5ldyBmZkNvbmZpZygkcGFyYW1zKTsKICAgICAgICAkYWVjb25mLT5NZXJnZUNvbmZpZygkdGhpcy0+bW9kX2dsb2JhbHMpOwogICAgICAgICRhZWNvbmYtPlN0b3JlKCk7CgoJCSR1cmwgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl9tYWluX2ZlZWRiYWNrJywgJHJldHVybl9pZCwgJycsCgkJCWFycmF5KCdtZXNzYWdlJz0+JHRoaXMtPkxhbmcoJ2NvbmZpZ3VyYXRpb25fdXBkYXRlZCcpKSwgJycsIHRydWUpOwoJCSR1cmwgPSBzdHJfcmVwbGFjZSgnJmFtcDsnLCAnJicsICR1cmwpOwogICAgICAgIHJlZGlyZWN0KCR1cmwpOwoJfQoJCglmdW5jdGlvbiBHZXRIZWxwKCRsYW5nID0gJ2VuX1VTJykKCXsKCQlyZXR1cm4gJHRoaXMtPkxhbmcoJ2hlbHAnKTsKCX0KCgp9CgojIHZpbTp0cz00IHN3PTQgbm9ldAo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/icon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhIAAgAPflAP///4+IiP7+/vv7+/z8/P39/cjHx/X19fT09PLy8vr6+vn5+efm5uTj4+jn55CJidHQ0O3s7NnZ2ZWPj+Xl5d3d3dvb2/j4+NPS0vDw8PHx8e7u7vf39+vq6tra2uLi4uzs7NHR0dHOzszLy+Hf39bW1uLh4fX09M/Pz8vKyr25ucfExObl5djX18rJyfn4+Nzb2+/u7u/v7/b29sXExMC8vNLPz7y4uElJScC/v+fn5+no6NnY2NDPz2dnZ93c3JeQkOzr68vLy+Pi4pSOjvPz876+vvz7+5+ZmfDv73Z2dr29vevr6+Hh4bu6usTExH19fdfV1Z2Xl9LS0qqkpJeRkaulpeDe3o2Njbu3t46OjsPDw9TU1N7d3dXU1K6pqXV1dbeyss7Ly1tbW7q5ufHw8PPy8ri4uJWVlaKcnPj39/Lx8cLBwX9/f8HAwLq2ttPR0ff29tXT0/v6+iUlJerq6rm1tZycnKmpqdPQ0JiRkcfDw8TAwKScnD09PaehodfU1Le3t+3t7aCamtDQ0Ly8vKGcnLWxscnJyVpaWrOyst/f36OdnbKysp2dnW5uboqKip6YmCkpKcrHx9fX14GBgbOurmJiYlZWVt3b2+rp6Z+amtzc3CAgINjW1t7c3JqUlJaPj/b19cXFxd7f387OztHPz5GRkXl5eaijo769vZSNjaioqOrr67q1tb66utrZ2ebm5pmSkpmZmczMzKqqqpGKiubk5NTT09TR0baxsejo6Ojp6crKylBQUOTk5JaQkNfW1pWOjt/e3qWfn5+fn7m0tJiSks7MzG5lZZOMjOPj47+/vzY2NoODg+Hg4KKiov79/cbFxcTCwr28vLu5ud7e3sLCwunp6bW1tevs7MfGxtDNzZ6enmBgYOLj4+Dg4NjY2K2oqNXS0rezs////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAOUALAAAAAAgACAAAAj/AMsJHEiwoMGDBAEoVDiQIcKHCRdKnEgRQMKDFTNqpChwo0eNHT8qHJDBAQsGdZKcWDBDw4YNAkiIMTMxQ4VFIC4o4LCwFTUnKQyM2vKEDBk2IQwg0EUkU7mFBEqg8aGE1RJo3ipR0BYCAQATLCxI6METgBtN5AJEeaqQwIdAUJr5mYWlE44pCUagIOWhixBVigyUALeEhYoAntgCELCgCLYKFRAIuhaCg1tkhCjBIPGNQYNhP5os2BMAkOKFAjYKKHCkwEIFCRx0GBdAxOmNBTZYsFABFq4RNHLkkLbtSYMAK26PTHAgg5BeFwrw2MLpl4MNBwaMZOIkRgA7pwl4/+gGBkshR74uIQLww8sJMx2GWPACoQcELi1mBKByusAUZzhAgQckqNzhAQAN0OCCKRgEA4MJDICQhAYDLAAEEiEppIEEtCwjgw4yZAfAHDEEkcAC0Sw2wAEfWrOGIXpkqJBrGRGQAAMwYDCCAS5A0MUzKThghTAybnRACtW4EA4FGiiw2AUUcMGEJUQUudgBTRjRSDFgnJFBCzsckQAFPJRigAEotMDLCa5MICMIp/igxRh0YPLIGMzMgIEBGEAAhwQNFEGAGhEAcEENwMj4QSKSaNGGErWgUAICBMQigQkRILAAARGE0QcoAyiwQhUyImBENrskoB1u0ySzSRYKrZsQSpEKOCkSAAgIIMoQufARySpW3qrQC3lQEcCxxzYkbAExyBEGMVUc+8AxVrwxibIfDRCEGF9MgGwAE2TRgEEelWHDFw8gawsSxkSxQxwIUSTAAbfYoMIfQKQbgDJp1HDFCxDdVgY34uh7rBQ3XCFAwBFFoAIj3gbwgCyp3CACAxwszLCyn3wrxSskaLwxQg4McogIHQA8skEBAQA7]]></data>
	</file>
	<file>
	  <filename>/includes/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/includes/SampleData.inc</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiRxdWVyeSA9ICJJTlNFUlQgSU5UTyAiLiR0aGlzLT5jb25maWdfdGFibGVfbmFtZS4KICAgICIgKGNvbmZpZ19pZCwgZnJvbV9uYW1lLCBmcm9tX2FkZHJlc3MsIG1haWxfaG9zdCwgdXNlX2NzcywgdGl0bGVfcG9zLCBoaWRlX2Vycm9ycykgVkFMVUVTICIgLgogICAgIigxLCAiLiRkYi0+cXN0cigiQ01TTVMgU2l0ZSIpLiIsIi4kZGItPnFzdHIoInlvdUB5b3VyaG9zdC5zYW1wbGUuY29tIikuCiAgICAiLCIuJGRiLT5xc3RyKCJsb2NhbGhvc3QiKS4iLDAsMCwxKSI7CiRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwoKJGlkX2Zvcm0gPSAkZGItPkdlbklEKCR0aGlzLT5mb3JtX3RhYmxlX25hbWUuIl9zZXEiKTsKJHF1ZXJ5ID0gIklOU0VSVCBJTlRPICIuJHRoaXMtPmZvcm1fdGFibGVfbmFtZS4iIChmb3JtX2lkLCBuYW1lLCBhbGlhcywgc3VibWl0X2J1dHRvbl90ZXh0LCBuZXh0X2J1dHRvbl90ZXh0LCBjc3NfY2xhc3MsIHJlcXVpcmVkX2ZpZWxkX3N5bWJvbCwgdGhhbmtzX21lc3NhZ2UpIFZBTFVFUyAoIi4KICAgICRpZF9mb3JtLiIsJ1NhbXBsZSBGb3JtJywnc2FtcGxlX2Zvcm0nLCdTdWJtaXQgWW91ciBGZWVkYmFjaycsICdDb250aW51ZS4uLicsICdmZWVkYmFja3RhYmxlJywnKicsJzxwPlRoYW5rcyBmb3IgWW91ciBGZWVkYmFjayE8L3A+XHJcblxyXG48cD5Zb3VyIGNvbW1lbnRzIGFuZCBvcGluaW9ucyB3aWxsIGhlbHAgbWUgbWFrZSBhIGJldHRlciBtb2R1bGUuPC9wPlxyXG48YnIgLz5cclxuX19TYW11ZWxfX18nKSI7CiRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwoKJGlkX2ZpZWxkMSA9ICRkYi0+R2VuSUQoJHRoaXMtPmZpZWxkX3RhYmxlX25hbWUuIl9zZXEiKTsKJHF1ZXJ5ID0gIklOU0VSVCBJTlRPICIuJHRoaXMtPmZpZWxkX3RhYmxlX25hbWUuIiAoZmllbGRfaWQsZm9ybV9pZCxuYW1lLHR5cGUsbGVuZ3RoLHZhbGlkYXRpb25fdHlwZSxjc3NfY2xhc3MscmVxdWlyZWQsb3JkZXJfYnkKKSBWQUxVRVMgKCIuJGlkX2ZpZWxkMS4iLCIuJGlkX2Zvcm0uIiwnTWFpbCBJdCEnLCdEaXNwb3NpdGlvbkVtYWlsJywtMSxOVUxMLCcnLDEsMSkiOwokZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKCiRpZF9maWVsZDIgPSAkZGItPkdlbklEKCR0aGlzLT5maWVsZF90YWJsZV9uYW1lLiJfc2VxIik7CiRxdWVyeSA9ICJJTlNFUlQgSU5UTyAiLiR0aGlzLT5maWVsZF90YWJsZV9uYW1lLiIgKGZpZWxkX2lkLGZvcm1faWQsbmFtZSx0eXBlLGxlbmd0aCx2YWxpZGF0aW9uX3R5cGUsY3NzX2NsYXNzLHJlcXVpcmVkLG9yZGVyX2J5CikgVkFMVUVTICgiLiRpZF9maWVsZDIuIiwiLiRpZF9mb3JtLiIsJ0kgZmluZCB1c2luZyB0aGUgRmVlZGJhY2sgRm9ybSBNb2R1bGUnLCdSYWRpb0dyb3VwSW5wdXQnLC0xLCdub25lJywnZmVlZGJhY2tSYWRpbycsMCwyKSI7CiRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwoKJGlkX2ZpZWxkMyA9ICRkYi0+R2VuSUQoJHRoaXMtPmZpZWxkX3RhYmxlX25hbWUuIl9zZXEiKTsKJHF1ZXJ5ID0gIklOU0VSVCBJTlRPICIuJHRoaXMtPmZpZWxkX3RhYmxlX25hbWUuIiAoZmllbGRfaWQsZm9ybV9pZCxuYW1lLHR5cGUsbGVuZ3RoLHZhbGlkYXRpb25fdHlwZSxjc3NfY2xhc3MscmVxdWlyZWQsb3JkZXJfYnkKKSBWQUxVRVMgKCIuJGlkX2ZpZWxkMy4iLCIuJGlkX2Zvcm0uIiwnRmVhdHVyZXMgSVwnZCBtb3N0IGxpa2UgdG8gc2VlIGluIEZ1dHVyZSBWZXJzaW9ucyBvZiB0aGUgRmVlZGJhY2sgTW9kdWxlJywnQ2hlY2tib3hHcm91cElucHV0JywtMSwnbm9uZScsJ2ZlZWRiYWNrQ2hlY2snLDAsMykiOwokZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKCiRpZF9maWVsZDQgPSAkZGItPkdlbklEKCR0aGlzLT5maWVsZF90YWJsZV9uYW1lLiJfc2VxIik7CiRxdWVyeSA9ICJJTlNFUlQgSU5UTyAiLiR0aGlzLT5maWVsZF90YWJsZV9uYW1lLiIgKGZpZWxkX2lkLGZvcm1faWQsbmFtZSx0eXBlLGxlbmd0aCx2YWxpZGF0aW9uX3R5cGUsY3NzX2NsYXNzLHJlcXVpcmVkLG9yZGVyX2J5CikgVkFMVUVTICgiLiRpZF9maWVsZDQuIiwiLiRpZF9mb3JtLiIsJ0FkZGl0aW9uYWwgQ29tbWVudHMsIGJ1ZyByZXBvcnRzLCBldGMuJywnVGV4dEFyZWFJbnB1dCcsLTEsJ25vbmUnLCdmZWVkYmFja1RleHRhcmVhJywwLDQpIjsKJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7CgokaWQgPSAkZGItPkdlbklEKCR0aGlzLT5vcHRpb25fdGFibGVfbmFtZS4iX3NlcSIpOwokcXVlcnkgPSAiSU5TRVJUIElOVE8gIi4kdGhpcy0+b3B0aW9uX3RhYmxlX25hbWUuIiBWQUxVRVMgKCIuJGlkLiIsIi4kaWRfZmllbGQxLiIsIi4kaWRfZm9ybS4iLCdhZGRyZXNzJywnZmVlZGJhY2tmb3JtX2Ntc21vZHVsZUBmb2dib3VuZC5uZXQnLCdmZWVkYmFja2Zvcm1fY21zbW9kdWxlQGZvZ2JvdW5kLm5ldCcpIjsKJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7CgokaWQgPSAkZGItPkdlbklEKCR0aGlzLT5vcHRpb25fdGFibGVfbmFtZS4iX3NlcSIpOwokcXVlcnkgPSAiSU5TRVJUIElOVE8gIi4kdGhpcy0+b3B0aW9uX3RhYmxlX25hbWUuIiBWQUxVRVMgKCIuJGlkLiIsIi4kaWRfZmllbGQyLiIsIi4kaWRfZm9ybS4iLCdyYWRpbycsJ1ZlcnkgRGlmZmljdWx0JywndmVyeSBkaWZmaWN1bHQnKSI7CiRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwoKJGlkID0gJGRiLT5HZW5JRCgkdGhpcy0+b3B0aW9uX3RhYmxlX25hbWUuIl9zZXEiKTsKJHF1ZXJ5ID0gIklOU0VSVCBJTlRPICIuJHRoaXMtPm9wdGlvbl90YWJsZV9uYW1lLiIgVkFMVUVTICgiLiRpZC4iLCIuJGlkX2ZpZWxkMi4iLCIuJGlkX2Zvcm0uIiwncmFkaW8nLCdEaWZmaWN1bHQnLCdkaWZmaWN1bHQnKSI7CiRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwoKJGlkID0gJGRiLT5HZW5JRCgkdGhpcy0+b3B0aW9uX3RhYmxlX25hbWUuIl9zZXEiKTsKJHF1ZXJ5ID0gIklOU0VSVCBJTlRPICIuJHRoaXMtPm9wdGlvbl90YWJsZV9uYW1lLiIgVkFMVUVTICgiLiRpZC4iLCIuJGlkX2ZpZWxkMi4iLCIuJGlkX2Zvcm0uIiwncmFkaW8nLCdBdmVyYWdlIGZvciBhIE1vZHVsZScsJ2F2ZXJhZ2UnKSI7CiRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwoKJGlkID0gJGRiLT5HZW5JRCgkdGhpcy0+b3B0aW9uX3RhYmxlX25hbWUuIl9zZXEiKTsKJHF1ZXJ5ID0gIklOU0VSVCBJTlRPICIuJHRoaXMtPm9wdGlvbl90YWJsZV9uYW1lLiIgVkFMVUVTICgiLiRpZC4iLCIuJGlkX2ZpZWxkMi4iLCIuJGlkX2Zvcm0uIiwncmFkaW8nLCdFYXN5JywnZWFzeScpIjsKJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7CgokaWQgPSAkZGItPkdlbklEKCR0aGlzLT5vcHRpb25fdGFibGVfbmFtZS4iX3NlcSIpOwokcXVlcnkgPSAiSU5TRVJUIElOVE8gIi4kdGhpcy0+b3B0aW9uX3RhYmxlX25hbWUuIiBWQUxVRVMgKCIuJGlkLiIsIi4kaWRfZmllbGQyLiIsIi4kaWRfZm9ybS4iLCdyYWRpbycsJ1ZlcnkgRWFzeScsJ3ZlcnkgZWFzeScpIjsKJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7CgokaWQgPSAkZGItPkdlbklEKCR0aGlzLT5vcHRpb25fdGFibGVfbmFtZS4iX3NlcSIpOwokcXVlcnkgPSAiSU5TRVJUIElOVE8gIi4kdGhpcy0+b3B0aW9uX3RhYmxlX25hbWUuIiBWQUxVRVMgKCIuJGlkLiIsIi4kaWRfZmllbGQzLiIsIi4kaWRfZm9ybS4iLCdjaGVja2JveCcsJ1BvbGwgTW9kdWxlIGJhc2VkIG9uIHRoaXMgY29kZScsJ3BvbGwnKSI7CiRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwoKJGlkID0gJGRiLT5HZW5JRCgkdGhpcy0+b3B0aW9uX3RhYmxlX25hbWUuIl9zZXEiKTsKJHF1ZXJ5ID0gIklOU0VSVCBJTlRPICIuJHRoaXMtPm9wdGlvbl90YWJsZV9uYW1lLiIgVkFMVUVTICgiLiRpZC4iLCIuJGlkX2ZpZWxkMy4iLCIuJGlkX2Zvcm0uIiwnY2hlY2tib3gnLCdOZXcgSGFuZGxlcjogU3RvcmUgRm9ybSBpbiBEYXRhYmFzZScsJ3N0b3JlIHRvIGRhdGFiYXNlJykiOwokZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKCiRpZCA9ICRkYi0+R2VuSUQoJHRoaXMtPm9wdGlvbl90YWJsZV9uYW1lLiJfc2VxIik7CiRxdWVyeSA9ICJJTlNFUlQgSU5UTyAiLiR0aGlzLT5vcHRpb25fdGFibGVfbmFtZS4iIFZBTFVFUyAoIi4kaWQuIiwiLiRpZF9maWVsZDMuIiwiLiRpZF9mb3JtLiIsJ2NoZWNrYm94JywnTmV3IEhhbmRsZXI6IFRyYW5zbWl0IHJlc3VsdHMgYXMgWE1MIHRvIFVSTCcsJ3NlbmQgeG1sJykiOwokZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKCiRpZCA9ICRkYi0+R2VuSUQoJHRoaXMtPm9wdGlvbl90YWJsZV9uYW1lLiJfc2VxIik7CiRxdWVyeSA9ICJJTlNFUlQgSU5UTyAiLiR0aGlzLT5vcHRpb25fdGFibGVfbmFtZS4iIFZBTFVFUyAoIi4kaWQuIiwiLiRpZF9maWVsZDMuIiwiLiRpZF9mb3JtLiIsJ2NoZWNrYm94JywnTmV3IEhhbmRsZXI6IEVtYWlsIHRvIFNpdGUgR3JvdXAnLCdlbWFpbCB0byBncm91cCcpIjsKJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7CgokaWQgPSAkZGItPkdlbklEKCR0aGlzLT5vcHRpb25fdGFibGVfbmFtZS4iX3NlcSIpOwokcXVlcnkgPSAiSU5TRVJUIElOVE8gIi4kdGhpcy0+b3B0aW9uX3RhYmxlX25hbWUuIiBWQUxVRVMgKCIuJGlkLiIsIi4kaWRfZmllbGQzLiIsIi4kaWRfZm9ybS4iLCdjaGVja2JveCcsJ05ldyBGaWVsZCBUeXBlOiBSYXRlIEl0ZW1zIChlLmcuLCBmcm9tIDEtMTApJywncmF0ZSBpdGVtcycpIjsKJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7CgokaWQgPSAkZGItPkdlbklEKCR0aGlzLT5vcHRpb25fdGFibGVfbmFtZS4iX3NlcSIpOwokcXVlcnkgPSAiSU5TRVJUIElOVE8gIi4kdGhpcy0+b3B0aW9uX3RhYmxlX25hbWUuIiBWQUxVRVMgKCIuJGlkLiIsIi4kaWRfZmllbGQzLiIsIi4kaWRfZm9ybS4iLCdjaGVja2JveCcsJ05ldyBGaWVsZCBUeXBlOiBSYW5rIEl0ZW1zIGluIE9yZGVyJywncmFuayBpdGVtcycpIjsKJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7CgokaWQgPSAkZGItPkdlbklEKCR0aGlzLT5vcHRpb25fdGFibGVfbmFtZS4iX3NlcSIpOwokcXVlcnkgPSAiSU5TRVJUIElOVE8gIi4kdGhpcy0+b3B0aW9uX3RhYmxlX25hbWUuIiBWQUxVRVMgKCIuJGlkLiIsIi4kaWRfZmllbGQzLiIsIi4kaWRfZm9ybS4iLCdjaGVja2JveCcsJ090aGVyIFZhbGlkYXRpb24gdHlwZXMgKGUuZy4sIFwiY2hlY2sgMyBvciBtb3JlXCIpJywnbW9yZSB2YWxpZGF0aW9uJykiOwokZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKCiRpZCA9ICRkYi0+R2VuSUQoJHRoaXMtPm9wdGlvbl90YWJsZV9uYW1lLiJfc2VxIik7CiRxdWVyeSA9ICJJTlNFUlQgSU5UTyAiLiR0aGlzLT5vcHRpb25fdGFibGVfbmFtZS4iIFZBTFVFUyAoIi4kaWQuIiwiLiRpZF9maWVsZDMuIiwiLiRpZF9mb3JtLiIsJ2NoZWNrYm94JywnSmF2YXNjcmlwdCBWYWxpZGF0aW9uJywnamF2YXNjcmlwdCB2YWxpZGF0aW9uJykiOwokZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKCiRpZCA9ICRkYi0+R2VuSUQoJHRoaXMtPm9wdGlvbl90YWJsZV9uYW1lLiJfc2VxIik7CiRxdWVyeSA9ICJJTlNFUlQgSU5UTyAiLiR0aGlzLT5vcHRpb25fdGFibGVfbmFtZS4iIFZBTFVFUyAoIi4kaWQuIiwiLiRpZF9maWVsZDMuIiwiLiRpZF9mb3JtLiIsJ2NoZWNrYm94JywnQWRtaW4gaW50ZXJmYWNlIGZvciBkb3dubG9hZGluZyBmbGF0IGZpbGUnLCdmbGF0IGZpbGUgZG93bmxvYWQnKSI7CiRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwoKJGlkID0gJGRiLT5HZW5JRCgkdGhpcy0+b3B0aW9uX3RhYmxlX25hbWUuIl9zZXEiKTsKJHF1ZXJ5ID0gIklOU0VSVCBJTlRPICIuJHRoaXMtPm9wdGlvbl90YWJsZV9uYW1lLiIgVkFMVUVTICgiLiRpZC4iLCIuJGlkX2ZpZWxkMy4iLCIuJGlkX2Zvcm0uIiwnY2hlY2tib3gnLCdCdWcgRml4ZXMnLCdidWcgZml4ZXMnKSI7CiRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwoKJGlkID0gJGRiLT5HZW5JRCgkdGhpcy0+b3B0aW9uX3RhYmxlX25hbWUuIl9zZXEiKTsKJHF1ZXJ5ID0gIklOU0VSVCBJTlRPICIuJHRoaXMtPm9wdGlvbl90YWJsZV9uYW1lLiIgVkFMVUVTICgiLiRpZC4iLCIuJGlkX2ZpZWxkMy4iLCIuJGlkX2Zvcm0uIiwnY2hlY2tib3gnLCdQcm92aWRlIHNhbXBsZSBzdHlsZSBzaGVldHMnLCdwcm92aWRlIGNzcycpIjsKJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7CgokaWQgPSAkZGItPkdlbklEKCR0aGlzLT5vcHRpb25fdGFibGVfbmFtZS4iX3NlcSIpOwokcXVlcnkgPSAiSU5TRVJUIElOVE8gIi4kdGhpcy0+b3B0aW9uX3RhYmxlX25hbWUuIiBWQUxVRVMgKCIuJGlkLiIsIi4kaWRfZmllbGQzLiIsIi4kaWRfZm9ybS4iLCdjaGVja2JveCcsJ0JldHRlci9tb3JlIGhlbHAgZm9yIGFkbWluJywnbW9yZSBoZWxwJykiOwokZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKCj8+Cg==]]></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[PD9waHAKLy8gRW5nbGlzaF9VUyBMb2NhbGl6YXRpb24gRmlsZQoKLy8gZmllbGQgdHlwZXMKJGxhbmdbJ2ZpZWxkX3R5cGVfdGV4dF9pbnB1dCddPSdUZXh0IElucHV0IEZpZWxkJzsKJGxhbmdbJ2ZpZWxkX3R5cGVfdGV4dF9hcmVhJ109J1RleHQgQXJlYSc7CiRsYW5nWydmaWVsZF90eXBlX2NoZWNrYm94J109J0NoZWNrIEJveCc7CiRsYW5nWydmaWVsZF90eXBlX2NoZWNrYm94X2dyb3VwJ109J0NoZWNrIEJveCBHcm91cCc7CiRsYW5nWydmaWVsZF90eXBlX3B1bGxkb3duJ109J1B1bGxkb3duJzsKJGxhbmdbJ2ZpZWxkX3R5cGVfc3RhdGUnXT0nVS5TLiBTdGF0ZSc7CiRsYW5nWydmaWVsZF90eXBlX2NvdW50cnknXT0nQ291bnRyeSc7CiRsYW5nWydmaWVsZF90eXBlX2RhdGUnXT0nRGF0ZSBQaWNrZXInOwokbGFuZ1snZmllbGRfdHlwZV9jYWxsYmFjayddPSdGdW5jdGlvbiBDYWxsYmFjayAiSW5wdXQiJzsKJGxhbmdbJ2ZpZWxkX3R5cGVfcmFkaW9fZ3JvdXAnXT0nUmFkaW8gQnV0dG9uIEdyb3VwJzsKJGxhbmdbJ2ZpZWxkX3R5cGVfZGlzcG9zaXRpb25fZGlyZWN0b3InXT0nKkVtYWlsIFJlc3VsdHMgQmFzZWQgb24gUHVsbGRvd24nOwokbGFuZ1snZmllbGRfdHlwZV9kaXNwb3NpdGlvbl9lbWFpbCddPScqRW1haWwgUmVzdWx0cyB0byBzZXQgQWRkcmVzcyhlcyknOwokbGFuZ1snZmllbGRfdHlwZV9kaXNwb3NpdGlvbl9lbWFpbF9zaXRlX3VzZXInXT0nKkVtYWlsIFJlc3VsdHMgdG8gVXNlci1TZWxlY3RlZCBTaXRlIFVzZXInOwokbGFuZ1snZmllbGRfdHlwZV9kaXNwb3NpdGlvbl9maWxlJ109JypXcml0ZSBSZXN1bHRzIHRvIEZsYXQgRmlsZSc7CiRsYW5nWydmaWVsZF90eXBlX3N0YXRpY190ZXh0J109J1N0YXRpYyBUZXh0JzsKJGxhbmdbJ2ZpZWxkX3R5cGVfcGFnZV9icmVhayddPSdQYWdlIEJyZWFrJzsKJGxhbmdbJ2ZpZWxkX3R5cGVfZmlsZV91cGxvYWQnXT0nRmlsZSBVcGxvYWQnOwokbGFuZ1snZmllbGRfdHlwZV9lbWFpbF9mcm9tJ109J0VtYWlsICJGcm9tIiBGaWVsZCc7CgokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnRmVlZGJhY2tGb3JtJzsKCi8vIHZhbGlkYXRpb24gdHlwZXMKJGxhbmdbJ3ZhbGlkYXRpb25fbm9uZSddPSdObyBWYWxpZGF0aW9uJzsKJGxhbmdbJ3ZhbGlkYXRpb25fbm90X2VtcHR5J109J05vdCBFbXB0eSc7CiRsYW5nWyd2YWxpZGF0aW9uX251bWVyaWMnXT0nTnVtZXJpYyc7CiRsYW5nWyd2YWxpZGF0aW9uX2ludGVnZXInXT0nSW50ZWdlcic7CiRsYW5nWyd2YWxpZGF0aW9uX2VtYWlsX2FkZHJlc3MnXT0nRW1haWwgQWRkcmVzcyc7CiRsYW5nWyd2YWxpZGF0aW9uX2F0X2xlYXN0X29uZSddPSdBdCBMZWFzdCBPbmUgQ2hlY2tlZCc7CiRsYW5nWyd2YWxpZGF0aW9uX211c3RfY2hlY2snXT0nTXVzdCBCZSBDaGVja2VkJzsKJGxhbmdbJ3ZhbGlkYXRpb25fb3B0aW9uX3NlbGVjdGVkJ109J09wdGlvbiBNdXN0IGJlIFNlbGVjdGVkJzsKCi8vIHZhbGlkYXRpb24gZXJyb3IgbWVzc2FnZXMgYW5kIG90aGVyIGFsZXJ0cwokbGFuZ1sncGxlYXNlX2VudGVyX2FfdmFsdWUnXT0nUGxlYXNlIGVudGVyIGEgdmFsdWUgZm9yICc7CiRsYW5nWydwbGVhc2VfZW50ZXJfYV9udW1iZXInXT0nUGxlYXNlIGVudGVyIGEgbnVtYmVyIGZvciAnOwokbGFuZ1sncGxlYXNlX2VudGVyX2FuX2ludGVnZXInXT0nUGxlYXNlIGVudGVyIGFuIGludGVnZXIgdmFsdWUgZm9yICc7CiRsYW5nWydwbGVhc2VfZW50ZXJfYW5fZW1haWwnXT0nUGxlYXNlIGVudGVyIGEgdmFsaWQgZW1haWwgYWRkcmVzcyBmb3IgJzsKJGxhbmdbJ25vdF92YWxpZF9lbWFpbCddPSdkb2VzIG5vdCBhcHBlYXIgdG8gYmUgYSB2YWxpZCBlbWFpbCBhZGRyZXNzISc7CiRsYW5nWydwbGVhc2VfZW50ZXJfbm9fbG9uZ2VyJ109J1BsZWFzZSBlbnRlciBhIHZhbHVlIHRoYXQgaXMgbm8gbG9uZ2VyIHRoYW4gJzsKJGxhbmdbJ3BsZWFzZV9jaGVja19zb21ldGhpbmcnXT0nUGxlYXNlIGNoZWNrIHNvbWV0aGluZyBmb3IgJzsKJGxhbmdbJ3BsZWFzZV9zZWxlY3Rfc29tZXRoaW5nJ109J1BsZWFzZSBzZWxlY3Qgc29tZXRoaW5nIGZvciAnOwokbGFuZ1snZmllbGRfbmFtZV9pbl91c2UxJ109J1RoZSBmaWVsZCBuYW1lJzsKJGxhbmdbJ2ZpZWxkX25hbWVfaW5fdXNlMiddPSdpcyBhbHJlYWR5IGluIHVzZSBpbiB0aGUgZm9ybSEgUGxlYXNlIGNoYW5nZSBpdCB0byBzb21ldGhpbmcgdW5pcXVlLic7CiRsYW5nWyd5b3VfbmVlZF9wZXJtaXNzaW9uMSddPSdZb3UgbmVlZCB0aGUgIic7CiRsYW5nWyd5b3VfbmVlZF9wZXJtaXNzaW9uMiddPSciIHBlcm1pc3Npb24gdG8gcGVyZm9ybSB0aGF0IG9wZXJhdGlvbi4nOwokbGFuZ1snbGFja3Blcm1pc3Npb24nXT0nU29ycnkhIFlvdSBkb25cJ3QgaGF2ZSBhZGVxdWF0ZSBwcml2aWxlZ2VzIHRvIGFjY2VzcyB0aGlzIHNlY3Rpb24uJzsKJGxhbmdbJ2ZpZWxkX29yZGVyX3VwZGF0ZWQnXT0nRmllbGQgb3JkZXIgdXBkYXRlZC4nOwokbGFuZ1snZm9ybV9kZWxldGVkJ109J0Zvcm0gZGVsZXRlZC4nOwokbGFuZ1snZmllbGRfZGVsZXRlZCddPSdGaWVsZCBkZWxldGVkLic7CiRsYW5nWydjb25maWd1cmF0aW9uX3VwZGF0ZWQnXT0nQ29uZmlndXJhdGlvbiBVcGRhdGVkLic7CiRsYW5nWyd5b3VfbXVzdF9jaGVjazEnXT0nWW91IG11c3QgY2hlY2sgIic7CiRsYW5nWyd5b3VfbXVzdF9jaGVjazInXT0nIiBpbiBvcmRlciB0byBjb250aW51ZS4nOwokbGFuZ1snbXVzdF9zcGVjaWZ5X29uZV9kZXN0aW5hdGlvbiddPSdZb3UgbmVlZCB0byBzcGVjaWZ5IGF0IGxlYXN0IG9uZSBkZXN0aW5hdGlvbiBhZGRyZXNzISc7CiRsYW5nWydhcmVfeW91X3N1cmVfZGVsZXRlX2Zvcm0nXT0nQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGUgZm9ybSAlcz8nOwokbGFuZ1snYXJlX3lvdV9zdXJlX2RlbGV0ZV9maWVsZCddPSdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIHRoZSBmaWVsZCAlcz8nOwoKLy8gYWJicmV2aWF0aW9ucywgdmVyYnMsIGFuZCBvdGhlciBnZW5lcmFsIHRlcm1zCiRsYW5nWydhYmJyZXZpYXRpb25fbGVuZ3RoJ109J0xlbic7CiRsYW5nWydjaGFyYWN0ZXJzJ109J2NoYXJhY3RlcnMnOwokbGFuZ1snYm94ZXMnXT0nYm94ZXMnOwokbGFuZ1snZmllbGQnXT0nRmllbGQnOwokbGFuZ1snb3JkZXInXT0nT3JkZXInOwokbGFuZ1sndW5zcGVjaWZpZWQnXT0nKHVuc3BlY2lmaWVkKSc7CiRsYW5nWydhZGRlZCddPSdhZGRlZCc7CiRsYW5nWyd1cGRhdGVkJ109J3VwZGF0ZWQnOwokbGFuZ1snZGVsZXRlZCddPSdkZWxldGVkJzsKJGxhbmdbJ2Nob2ljZXMnXT0nY2hvaWNlcyc7CiRsYW5nWydzZWxlY3Rfb25lJ109J1NlbGVjdCBPbmUnOwokbGFuZ1snc2VsZWN0X2FfdXNlciddPSdTZWxlY3QgQSBVc2VyJzsKJGxhbmdbJ3NlbGVjdF90eXBlJ109J1NlbGVjdCBUeXBlJzsKJGxhbmdbJ3RvJ109J1RvJzsKJGxhbmdbJ3JlY2lwaWVudHMnXT0ncmVjaXBpZW50cyc7CiRsYW5nWydub3RlJ109J05vdGUnOwokbGFuZ1snYW55X3VzZXInXT0nQW55IFVzZXInOwokbGFuZ1snbGlzdCddPSdsaXN0JzsKJGxhbmdbJ25vdF9jb25maWd1cmVkJ109J05vdCBDb25maWd1cmVkJzsKJGxhbmdbJ3NhdmUnXT0nU2F2ZSc7CiRsYW5nWydhZGQnXT0nQWRkJzsKJGxhbmdbJ3VwZGF0ZSddPSdVcGRhdGUnOwokbGFuZ1snc2F2ZV9hbmRfY29udGludWUnXT0nU2F2ZSBhbmQgQ29udGludWUgRWRpdGluZyc7CiRsYW5nWydpbmZvcm1hdGlvbiddPSdJbmZvcm1hdGlvbic7CiRsYW5nWydhdXRvbWF0aWMnXT0nQXV0b21hdGljJzsKJGxhbmdbJ2Zvcm1zJ109J0Zvcm1zJzsKJGxhbmdbJ2Zvcm0nXT0nRm9ybSc7CiRsYW5nWydjb25maWd1cmF0aW9uJ109J0NvbmZpZ3VyYXRpb24nOwokbGFuZ1snbWFpbiddPSdNYWluJzsKJGxhbmdbJ2FkZGl0aW9uYWwnXT0nRm9ybSBTZXR0aW5ncyc7CiRsYW5nWydub2ZpZWxkcyddPSdObyByZXRyaWV2YWwgZmllbGRzIGRlZmluZWQuICc7CiRsYW5nWydub21ldGhvZCddPSdObyBtZXRob2QvbW9kdWxlIHNldC4nOwokbGFuZ1snY2hhcnMnXSA9ICdDaGFycyc7CiRsYW5nWydtaXNzaW5nX2Ntc19tYWlsZXInXT0nSXQgYXBwZWFycyB0aGF0IHRoZSBDTVNNYWlsZXIgbW9kdWxlIGlzIG5vdCBpbnN0YWxsZWQhIEZlZWRiYWNrRm9ybSBkZXBlbmRzIG9uIENNU01haWxlciBiZWluZyBpbnN0YWxsZWQgYW5kIGFjdGl2ZS4nOwoKJGxhbmdbJ21heGltdW1fc2l6ZSddPSdNYXguIFNpemUnOwokbGFuZ1sncGVybWl0dGVkX2V4dGVuc2lvbnMnXT0nRXh0ZW5zaW9ucyc7CiRsYW5nWydwZXJtaXR0ZWRfZmlsZXR5cGVzJ109J0FsbG93ZWQgZmlsZSB0eXBlcyc7CiRsYW5nWydmaWxlX3Rvb19sYXJnZSddPSdVcGxvYWRlZCBmaWxlIGlzIHRvbyBsYXJnZSEgTWF4aW11bSBzaXplIGlzOic7CiRsYW5nWydpbGxlZ2FsX2ZpbGVfdHlwZSddPSdUaGlzIHR5cGUgb2YgZmlsZSBtYXkgbm90IGJlIHVwbG9hZGVkLiBQbGVhc2UgY2hlY2sgdGhhdCB0aGUgZXh0ZW5zaW9uIGlzIGNvcnJlY3QuJzsKCiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZHVsZSB1bmluc3RhbGxlZC4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWxlIHZlcnNpb24gJXMgaW5zdGFsbGVkLic7CiRsYW5nWyd1cGdyYWRlZCddID0gJ01vZHVsZSB1cGdyYWRlZCB0byB2ZXJzaW9uICVzLic7CgoKLy8gRmllbGQgQXR0cmlidXRlIFRpdGxlcwokbGFuZ1sndGl0bGVfbWF4aW11bV9sZW5ndGgnXT0nTWF4aW11bSBMZW5ndGgnOwokbGFuZ1sndGl0bGVfY2hlY2tib3hfbmFtZSddPSdDaGVja2JveCBOYW1lJzsKJGxhbmdbJ3RpdGxlX3N1Ym1pdHRlZF92YWx1ZSddPSdTdWJtaXR0ZWQgVmFsdWUnOwokbGFuZ1sndGl0bGVfY2hlY2tib3hfZGV0YWlscyddPSdDaGVja2JveCBHcm91cCBEZXRhaWxzJzsKJGxhbmdbJ3RpdGxlX3NlbGVjdF9vbmVfbWVzc2FnZSddPSciU2VsZWN0IE9uZSIgVGV4dCc7CiRsYW5nWyd0aXRsZV9zZWxlY3Rpb25fc3ViamVjdCddPSdTZWxlY3Rpb24gU3ViamVjdCc7CiRsYW5nWyd0aXRsZV9zZWxlY3RfZGVmYXVsdF9jb3VudHJ5J109J0RlZmF1bHQgU2VsZWN0aW9uJzsKJGxhbmdbJ3RpdGxlX3NlbGVjdGlvbl9uYW1lJ109J1NlbGVjdGlvbiBOYW1lJzsKJGxhbmdbJ3RpdGxlX2Rlc3RpbmF0aW9uX2VtYWlsJ109J0Rlc3RpbmF0aW9uIEVtYWlsIEFkZHJlc3MnOwokbGFuZ1sndGl0bGVfZGlyZWN0b3JfZGV0YWlscyddPSdQdWxsZG93bi1iYXNlZCBFbWFpbGVyIERldGFpbHMnOwokbGFuZ1sndGl0bGVfZW1haWxfYWRkcmVzc2VzJ109J0VtYWlsIEFkZHJlc3MoZXMpIHRvIFNlbmQgRm9ybSBSZXN1bHRzJzsKJGxhbmdbJ3RpdGxlX2ZpbGVfZm9ybWF0J109J0ZpbGUgRm9ybWF0JzsKJGxhbmdbJ3RpdGxlX2ZpbGVfZm9ybWF0X3RhYiddPSdUYWItRGVsaW1pdGVkIFZhbHVlcyc7CiRsYW5nWyd0aXRsZV9maWxlX2Zvcm1hdF90YWJfaGVhZGVyJ109J1RhYi1EZWxpbWl0ZWQgVmFsdWVzIHdpdGggSGVhZGVyJzsKJGxhbmdbJ3RpdGxlX2ZpbGVfZm9ybWF0X3BhZ2UnXT0nUGFnZSBGb3JtYXQnOwokbGFuZ1sndGl0bGVfZmlsZV9uYW1lJ109J0ZpbGUgTmFtZSc7CiRsYW5nWyd0aXRsZV9lcmFzZV9maWxlbG9jayddPSdFcmFzZSBGaWxlIExvY2snOwokbGFuZ1sndGl0bGVfZXJhc2VfdXNhZ2UnXT0nKHVzZSB0aGlzIHRvIGNsZWFyIHRoZSBmaWxlIGxvY2sgaWYgZmlsZSB3cml0ZXMgYXJlIGZhaWxpbmcgZHVlIHRvIGEgY3Jhc2hlZCBwcm9jZXNzKSc7CiRsYW5nWyd0aXRsZV9maWxlX25vdGUnXT0nRmlsZXMgd2lsbCBiZSBzYXZlZCBpbiB0aGUgbW9kdWxlcy9GZWVkYmFja0Zvcm0vb3V0cHV0IGRpcmVjdG9yeSwgdW5kZXIgeW91ciBpbnN0YWxsIHJvb3QuJzsKJGxhbmdbJ3RpdGxlX3VzZXJuYW1lJ109J1NpdGUgVXNlcm5hbWUnOwokbGFuZ1sndGl0bGVfcmVhbF9uYW1lJ109J0Z1bGwgKFJlYWwpIE5hbWUnOwokbGFuZ1sndGl0bGVfYm90aF9uYW1lcyddPSdTaXRlIFVzZXJuYW1lICsgUmVhbCBOYW1lJzsKJGxhbmdbJ3RpdGxlX25vX2dyb3VwX3Jlc3RyaWN0aW9uJ109J05vIEdyb3VwIFJlc3RyaWN0aW9uJzsKJGxhbmdbJ3RpdGxlX2VtYWlsX3N1YmplY3QnXT0nRW1haWwgU3ViamVjdCBMaW5lJzsKJGxhbmdbJ3RpdGxlX3Jlc3RyaWN0X3RvX2dyb3VwJ109J1Jlc3RyaWN0IHRvIHVzZXJzIGluIGdyb3VwJzsKJGxhbmdbJ3RpdGxlX25hbWVzX2luX3B1bGxkb3duJ109J05hbWVzIHRvIHVzZSBpbiBQdWxsZG93bic7CiRsYW5nWyd0aXRsZV9zZWxlY3RfYV91c2VyX21lc3NhZ2UnXT0nIlNlbGVjdCBhIFVzZXIiIG1lc3NhZ2UnOwokbGFuZ1sndGl0bGVfcHVsbGRvd25fY29udGVudHMnXT0nUHVsbGRvd24gQ29udGVudHMnOwokbGFuZ1sndGl0bGVfcmFkaW9fbmFtZSddPSdSYWRpbyBCdXR0b24gTmFtZSc7CiRsYW5nWyd0aXRsZV9yYWRpb19ncm91cF9kZXRhaWxzJ109J1JhZGlvIEJ1dHRvbiBHcm91cCBEZXRhaWxzJzsKJGxhbmdbJ3RpdGxlX2Zvcm1fbmFtZSddPSdGb3JtIE5hbWUnOwokbGFuZ1sndGl0bGVfZm9ybV9zdGF0dXMnXT0nRm9ybSBTdGF0dXMnOwokbGFuZ1sndGl0bGVfcmVhZHlfZm9yX2RlcGxveW1lbnQnXT0nUmVhZHkgZm9yIERlcGxveW1lbnQnOwokbGFuZ1sndGl0bGVfbm90X3JlYWR5MSddPSdOb3QgUmVhZHknOwokbGFuZ1sndGl0bGVfbm90X3JlYWR5MiddPSdQbGVhc2UgYWRkIGEgZmllbGQgdG8gdGhlIGZvcm0gc28gdGhhdCB0aGUgdXNlclwncyBpbnB1dCBnZXRzIGhhbmRsZWQuIFlvdSBjYW4nOwokbGFuZ1sndGl0bGVfbm90X3JlYWR5X2xpbmsnXT0ndXNlIHRoaXMgc2hvcnRjdXQnOwokbGFuZ1sndGl0bGVfZm9ybV9hbGlhcyddPSdGb3JtIEFsaWFzJzsKJGxhbmdbJ3RpdGxlX2Zvcm1fZmllbGRzJ109J0Zvcm0gRmllbGRzJzsKJGxhbmdbJ3RpdGxlX2ZpZWxkX25hbWUnXT0nRmllbGQgTmFtZSc7CiRsYW5nWyd0aXRsZV9maWVsZF90eXBlJ109J0ZpZWxkIFR5cGUnOwokbGFuZ1sndGl0bGVfc2hvd19sYWJlbCddPSdIaWRlIEZpZWxkIExhYmVsIGluIEZvcm0/JzsKJGxhbmdbJ3RpdGxlX3Nob3dfbGFiZWxfbG9uZyddPSdPbWl0IHRoZSBGaWVsZCBMYWJlbCB3aGVuIHJlbmRlcmluZyBmb3JtPyc7CiRsYW5nWyd0aXRsZV9ub3RfcmVhZHkzJ109J3RvIGNyZWF0ZSBhIGZvcm0gaGFuZGxpbmcgZmllbGQuJzsKJGxhbmdbJ3RpdGxlX3RhZ190b191c2UnXT0nVGFnIHRvIFVzZSB0aGlzIEZvcm0nOwokbGFuZ1sndGl0bGVfYWRkX25ld19mb3JtJ109J0FkZCBOZXcgRmVlZGJhY2sgRm9ybSc7CiRsYW5nWyd0aXRsZV9lZGl0X2NvbmZpZ3VyYXRpb24nXT0nRWRpdCBGZWVkYmFjayBDb25maWd1cmF0aW9uJzsKJGxhbmdbJ3RpdGxlX2VtYWlsX2Zyb21fbmFtZSddPSdFbWFpbGVkIEZvcm0gIkZyb20iIE5hbWUnOwokbGFuZ1sndGl0bGVfZm9ybV9mcm9tX2VtYWlsJ109J0Zvcm0gIkZyb20iIEVtYWlsIEFkZHJlc3MnOwokbGFuZ1sndGl0bGVfbWFpbF9ob3N0J109J01haWwgKFNNVFApIEhvc3QnOwokbGFuZ1sndGl0bGVfbGFuZ3VhZ2UnXT0nTGFuZ3VhZ2UnOwokbGFuZ1sndGl0bGVfYWRkX25ld19maWVsZCddPSdBZGQgTmV3IEZpZWxkJzsKJGxhbmdbJ3RpdGxlX2Zvcm1fc3VibWl0X2J1dHRvbiddPSdGb3JtIFN1Ym1pdCBCdXR0b24gVGV4dCc7CiRsYW5nWyd0aXRsZV9mb3JtX25leHRfYnV0dG9uJ109J0Zvcm0gIk5leHQiIEJ1dHRvbiBUZXh0ICh1c2VkIGZvciBtdWx0aXBhZ2UgZm9ybXMpJzsKJGxhbmdbJ3RpdGxlX2Zvcm1fdGhhbmtzX3RleHQnXT0nRm9ybSBUaGFua3MgTWVzc2FnZSBUZXh0JzsKJGxhbmdbJ3RpdGxlX2ZpZWxkX3ZhbGlkYXRpb24nXT0nRmllbGQgVmFsaWRhdGlvbic7CiRsYW5nWyd0aXRsZV9kZWZhdWx0X3VzZXInXT0nRGVmYXVsdCBVc2VyJzsKJGxhbmdbJ3RpdGxlX25vX2RlZmF1bHRfdXNlciddPSdObyBEZWZhdWx0IFVzZXInOwokbGFuZ1sndGl0bGVfY3NzX2xheW91dCddPSdDU1MgTGF5b3V0JzsKJGxhbmdbJ3RpdGxlX3VzZV9jc3NfbGF5b3V0J109J1VzZSBwdXJlbHkgQ1NTIGxheW91dCBmb3IgZm9ybSc7CiRsYW5nWyd0aXRsZV9mb3JtX2Nzc19jbGFzcyddPSdDU1MgQ2xhc3MgZm9yIHRoaXMgZm9ybSc7CiRsYW5nWyd0aXRsZV9maWVsZF9jc3NfY2xhc3MnXT0nQ1NTIENsYXNzIGZvciB0aGlzIGZpZWxkJzsKJGxhbmdbJ3RpdGxlX2Zvcm1fcmVxdWlyZWRfc3ltYm9sJ109J1N5bWJvbCB0byBtYXJrIHJlcXVpcmVkIEZpZWxkcyc7CiRsYW5nWyd0aXRsZV9maWVsZF9yZXF1aXJlZCddPSdSZXF1aXJlZCc7CiRsYW5nWyd0aXRsZV9maWVsZF9yZXF1aXJlZF9sb25nJ109J1JlcXVpcmUgYSByZXNwb25zZSBmb3IgdGhpcyBGaWVsZCc7CiRsYW5nWyd0aXRsZV9maWVsZF9yZXF1aXJlZF9hYmJyZXYnXT0nUmVxXCdkJzsKJGxhbmdbJ3RpdGxlX3RhYmxlX2xheW91dF90eXBlJ109J0ZpZWxkIFRpdGxlIFBvc2l0aW9uIChub24tQ1NTIExheW91dCBvbmx5KSc7CiRsYW5nWyd0aXRsZV90YWJsZV9sYXlvdXRfbGVmdCddPSdUaXRsZSBvbiBMZWZ0JzsKJGxhbmdbJ3RpdGxlX3RhYmxlX2xheW91dF9hYm92ZSddPSdUaXRsZSBBYm92ZSc7CiRsYW5nWyd0aXRsZV9pbmNsdWRlX2VtYWlsX2luZm8nXT0nSW5jbHVkZSBTZXJ2ZXIgSW5mb3JtYXRpb24nOwokbGFuZ1sndGl0bGVfaW5jbHVkZV9lbWFpbF9pbmZvX2xvbmcnXT0nSW5jbHVkZSBTZXJ2ZXIgSW5mb3JtYXRpb24gaW4gRW1haWwnOwokbGFuZ1sndGl0bGVfaGlkZV9lcnJvcnMnXT0nSGlkZSBFcnJvcnMnOwokbGFuZ1sndGl0bGVfaGlkZV9lcnJvcnNfbG9uZyddPSdQcmV2ZW50IGRlYnVnIC8gZXJyb3IgbWVzc2FnZXMgZnJvbSBiZWluZyBzZWVuIGJ5IHVzZXJzLic7CiRsYW5nWyd0aXRsZV9lbWFpbF90ZW1wbGF0ZSddPSdFbWFpbCBUZW1wbGF0ZSc7CiRsYW5nWyd0aXRsZV9lbWFpbF90ZW1wbGF0ZV92YXJzJ109J1ZhcmlhYmxlcyBBdmFpbGFibGUgZm9yIFVzZSBpbiBFbWFpbCBUZW1wbGF0ZSc7CiRsYW5nWyd0aXRsZV9zYW1wbGVfdGVtcGxhdGUnXT0nQ3JlYXRlIGEgc2FtcGxlIHRlbXBsYXRlJzsgCiRsYW5nWyd0aXRsZV9tYXhpbXVtX3NpemUnXT0nTWF4aW11bSB1cGxvYWQgZmlsZSBzaXplIChraWxvYnl0ZXMpJzsKJGxhbmdbJ3RpdGxlX3Blcm1pdHRlZF9leHRlbnNpb25zJ109J1Blcm1pdHRlZCBFeHRlbnNpb25zJzsKJGxhbmdbJ3RpdGxlX3Blcm1pdHRlZF9leHRlbnNpb25zX2xvbmcnXT0nRW50ZXIgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCwgZXhjbHVkaW5nIHRoZSBkb3QgKGUuZy4sICJqcGcsZ2lmLGpwZWciKS4gU3BhY2VzIHdpbGwgYmUgaWdub3JlZC4gTGVhdmluZyB0aGlzIGJsYW5rIG1lYW5zIHRoZXJlIHdpbGwgYmUgbm8gcmVzdHJpY3Rpb25zLic7CiRsYW5nWyd0aXRsZV9zaG93X2xpbWl0YXRpb25zJ109J0Rpc3BsYXkgcmVzdHJpY3Rpb25zPyc7CiRsYW5nWyd0aXRsZV9zaG93X2xpbWl0YXRpb25zX2xvbmcnXT0nRGlzcGxheSBhbnkgc2l6ZSBhbmQgZXh0ZW5zaW9uIHJlc3RyaWN0aW9ucyB3aXRoIHRoZSB1cGxvYWQgZmllbGQ/JzsKJGxhbmdbJ3RpdGxlX2NhbGxiYWNrX21vZHVsZSddPSdDYWxsYmFjayBNb2R1bGUnOwokbGFuZ1sndGl0bGVfY2FsbGJhY2tfbWV0aG9kJ109J0NhbGxiYWNrIE1ldGhvZCc7CiRsYW5nWyd0aXRsZV9jYWxsYmFja19maWVsZHMnXT0nUmVzdWx0IEZpZWxkcyB0byBJbmNsdWRlJzsKJGxhbmdbJ3RpdGxlX2NhbGxiYWNrX2hlbHAnXT0nSGVscCc7CiRsYW5nWyd0aXRsZV9pZF9hbmRfbmFtZSddID0gJ1VzZSBJRCBhbmQgTmFtZSBmb3IgQ1NTIGlucHV0cyc7CiRsYW5nWyd0aXRsZV9kYXRlX2Zvcm1hdCddPSdEYXRlIEZvcm1hdCAoc3RhbmRhcmQgPGEgaHJlZj0iaHR0cDovL3d3dy5waHAubmV0L21hbnVhbC9lbi9mdW5jdGlvbi5kYXRlLnBocCI+UEhQIERhdGUgRm9ybWF0czwvYT4pJzsKJGxhbmdbJ3RpdGxlX3N0YXRpY190ZXh0J109J1N0YXRpYyBUZXh0IHRvIERpc3BsYXkgKG1heCAyNTUgY2hhcnMpJzsKJGxhbmdbJ3RpdGxlX2NhbGxiYWNrX2hlbHBsb25nJ109JzxwPllvdSBzcGVjaWZ5IGEgbW9kdWxlIGFuZCBtZXRob2QuIFRoaXMgbWV0aG9kIHNpZ25hdHVyZSBzaG91bGQgYmU6PC9wPjxiciAvPgpmdW5jdGlvbiB3aGF0ZXZlcigkaWQsICYkcGFyYW1zLCAkcmV0dXJuaWQsICYkY21zKTxiciAvPjxiciAvPgo8cD5UaGlzIGZ1bmN0aW9uIHNob3VsZCBvdXRwdXQgc29tZXRoaW5nIHRoYXQgbWFrZXMgc2Vuc2UgaW4gYSBmb3JtLCA8aT5lLmcuPC9pPiBwcm9iYWJseSBoaWRkZW4gZmllbGRzIGNvbnRhaW5pbmcKdXNlZnVsIGluZm9ybWF0aW9uLjwvcD4KPHA+VGhlICJmaWVsZHMiIGZpZWxkIHNob3VsZCBjb250YWluIGEgY29tbWEtZGVsaW1pdGVkIGxpc3Qgb2YgdGhlIGZpZWxkcyBnZW5lcmF0ZWQgYnkgdGhhdCBtZXRob2QuPC9wPgo8cD5FeGFtcGxlOiBJIGhhdmUgYSBtb2R1bGUgIlVzZXJJRCIgd2hpY2ggaGFzIGEgbWV0aG9kICJMb2dnZWRJblVzZXIiLiBUaGlzIG1ldGhvZCBjcmVhdGVzIHR3byBoaWRkZW4gZmllbGRzCmNhbGxlZCAiZmlyc3RfbmFtZSIgYW5kICJsYXN0X25hbWUiIHdoaWNoIEkgd2FudCBpbmNsdWRlZCBpbiBteSBmb3JtIHN1Ym1pc3Npb24uIEkgd291bGQgdGhlbiBlbnRlciB0aGUgZm9sbG93aW5nOjwvcD4KbW9kdWxlOiBVc2VySUQ8YnIgLz4KbWV0aG9kOiBMb2dnZWRJblVzZXI8YnIgLz4KZmllbGRzOiBmaXJzdF9uYW1lLGxhc3RfbmFtZTwvYnI+Cic7CgokbGFuZ1snYWRtaW5kZXNjJ109J0FkZCwgZWRpdCBhbmQgbWFuYWdlIGludGVyYWN0aXZlIEZlZWRiYWNrIEZvcm1zJzsKCiRsYW5nWydkYXRlX2FfamFuJ109J0pBTic7CiRsYW5nWydkYXRlX2FfZmViJ109J0ZFQic7CiRsYW5nWydkYXRlX2FfbWFyJ109J01BUic7CiRsYW5nWydkYXRlX2FfYXByJ109J0FQUic7CiRsYW5nWydkYXRlX2FfbWF5J109J01BWSc7CiRsYW5nWydkYXRlX2FfanVuJ109J0pVTic7CiRsYW5nWydkYXRlX2FfanVsJ109J0pVTCc7CiRsYW5nWydkYXRlX2FfYXVnJ109J0FVRyc7CiRsYW5nWydkYXRlX2Ffc2VwJ109J1NFUCc7CiRsYW5nWydkYXRlX2Ffb2N0J109J09DVCc7CiRsYW5nWydkYXRlX2Ffbm92J109J05PVic7CiRsYW5nWydkYXRlX2FfZGVjJ109J0RFQyc7CiRsYW5nWydkYXRlX2phbnVhcnknXT0nSmFudWFyeSc7CiRsYW5nWydkYXRlX2ZlYnJ1YXJ5J109J0ZlYnJ1YXJ5JzsKJGxhbmdbJ2RhdGVfbWFyY2gnXT0nTWFyY2gnOwokbGFuZ1snZGF0ZV9hcHJpbCddPSdBcHJpbCc7CiRsYW5nWydkYXRlX21heSddPSdNYXknOwokbGFuZ1snZGF0ZV9qdW5lJ109J0p1bmUnOwokbGFuZ1snZGF0ZV9qdWx5J109J0p1bHknOwokbGFuZ1snZGF0ZV9hdWd1c3QnXT0nQXVndXN0JzsKJGxhbmdbJ2RhdGVfc2VwdGVtYmVyJ109J1NlcHRlbWJlcic7CiRsYW5nWydkYXRlX29jdG9iZXInXT0nT2N0b2Jlcic7CiRsYW5nWydkYXRlX25vdmVtYmVyJ109J05vdmVtYmVyJzsKJGxhbmdbJ2RhdGVfZGVjZW1iZXInXT0nRGVjZW1iZXInOwokbGFuZ1snbW9udGgnXSA9ICdNb250aCc7CiRsYW5nWydkYXknXSA9ICdEYXknOwokbGFuZ1sneWVhciddID0gJ1llYXInOwoKLy8gRm9ybSBTdWJtaXNzaW9uIEhlYWRlcnMKJGxhbmdbJ3N1Ym1pc3Npb25fdGl0bGUnXT0nRm9ybSBTdWJtaXNzaW9uJzsKJGxhbmdbJ3N1Ym1pc3Npb25faG9zdCddPSdIb3N0JzsKJGxhbmdbJ3N1Ym1pc3Npb25fZm9ybV9uYW1lJ109J0Zvcm0nOwokbGFuZ1snc3VibWlzc2lvbl9kYXRlJ109J0RhdGUnOwokbGFuZ1snc3VibWlzc2lvbl9zb3VyY2UnXT0nU291cmNlJzsKJGxhbmdbJ3N1Ym1pc3Npb25fc3ViamVjdCddPSdGb3JtIFN1Ym1pc3Npb24nOwokbGFuZ1snc3VibWlzc2lvbl9lcnJvciddPSdUaGVyZSBoYXMgYmVlbiBhbiBlcnJvciBpbiB0aGUgZm9ybSBzdWJtaXNzaW9uPGJyPlBsZWFzZSB0cnkgYWdhaW4gbGF0ZXIuJzsKJGxhbmdbJ3N1Ym1pc3Npb25fZXJyb3JfZmlsZSddPSdFcnJvci4gVW5hYmxlIHRvIHdyaXRlIHRvIGZpbGUuJzsKCi8vIHBvc3QtaW5zdGFsbCBtZXNzYWdlCiRsYW5nWydwb3N0X2luc3RhbGwnXT0iCjxwPk1ha2Ugc3VyZSB0byBzZXQgdGhlIFwiTW9kaWZ5IEZlZWRiYWNrIEZvcm1zXCIgcGVybWlzc2lvbnMKb24gdXNlcnMgd2hvIHdpbGwgYmUgYWRtaW5pc3RlcmluZyBmZWVkYmFjayBmb3Jtcy4gQWxzbywgaWYgeW91J2xsIGJlIGVtYWlsaW5nIGZvcm0KcmVzdWx0cywgYmUgc3VyZSB0byB1cGRhdGUgdGhlIENvbmZpZ3VyYXRpb24gYXBwcm9wcmlhdGVseS48L3A+CjxwPlBsZWFzZSBiZSBhd2FyZSB0aGF0IGEgZmVlZGJhY2sgZm9ybSBzaG91bGQgbm90IGJlIGFjdGl2ZSAoZS5nLiwgdXNhYmxlIGJ5IHRoZSBwdWJsaWMpIHdoaWxlCnlvdSBhcmUgc3RpbGwgZWRpdGluZyB0aGUgZm9ybS4gWW91IHNob3VsZCBjcmVhdGUgdGhlIGZvcm0sIGFuZCBwbGFjZSB0aGUgdGFnIGludG8gYW4gYWN0aXZlCmNvbnRlbnQgcGFnZSBvbmx5IHdoZW4geW91IGhhdmUgZmluaXNoZWQgZWRpdGluZy4gT3RoZXJ3aXNlLCBlcnJvbmVvdXMgcmVzdWx0cyBjb3VsZCBiZSByZXR1cm5lZC48L3A+CjxwPkFkZGl0aW9uYWxseSwgdGhpcyB2ZXJzaW9uIGRvZXMgbm90IHN1cHBvcnQgcGFyYWxsZWwgZWRpdGluZyBvZiBmb3Jtcy4gUGxlYXNlIHRha2UgY2FyZSB0aGF0Cm9ubHkgb25lIGFkbWluIGlzIGVkaXRpbmcgYSBnaXZlbiBmb3JtIGF0IGEgZ2l2ZW4gdGltZS48L3A+IjsKCiRsYW5nWydoZWxwJ10gPSAiPGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+CjxwPlRoZSBGZWVkYmFja0Zvcm0gTW9kdWxlIGFsbG93cyB5b3UgdG8gY3JlYXRlIGZvcm1zIGZvciB1c2VyIGZlZWRiYWNrLiBUaGVzZSBmb3JtcyBtYXkgYmUgaW5zZXJ0ZWQKaW50byB0ZW1wbGF0ZXMgYW5kL29yIGNvbnRlbnQgcGFnZXMuIEZlZWRiYWNrIGZvcm1zIG1heSBjb250YWluIG1hbnkga2luZHMgb2YgaW5wdXRzLCBhbmQgbWF5IGhhdmUKdmFsaWRhdGlvbiBhcHBsaWVkIHRvIHRoZXNlIGlucHV0cy4gVGhlIHJlc3VsdHMgb2YgdGhlc2UgZm9ybXMgbWF5IGJlIGhhbmRsZWQgaW4gYSB2YXJpZXR5IG9mIHdheXMuPC9wPgoKPGgzPkhvdyBEbyBJIFVzZSBpdD88L2gzPgo8UD5JbnN0YWxsIGl0LCBhbmQgcG9rZSBhcm91bmQgdGhlIG1lbnVzLiBQbGF5IHdpdGggaXQuIFRyeSBjcmVhdGluZyBmb3JtcywgYW5kIGFkZGluZyB0aGVtIHRvIHlvdXIgY29udGVudC4KSWYgeW91IGdldCBzdHVjaywgY2hhdCB3aXRoIG1lIG9uIHRoZSAjY21zIElSQyBjaGFubmVsLCBwb3N0IHRvIHRoZSBmb3J1bSwgc2VuZCBtZSBlbWFpbCwgb3IsIGlmIHlvdSdyZQpyZWFsbHkgZGVzcGVyYXRlLCByZWFkIHRoZSByZXN0IG9mIHRoaXMgcGFnZS48L1A+Cgo8aDM+SG93IERvIEkgQ3JlYXRlIGEgRm9ybTwvaDM+CjxwPkluIHRoZSBDTVMgQWRtaW4gTWVudSwgeW91IHNob3VsZCBnZXQgYSBuZXcgbWVudSBpdGVtIGNhbGxlZCBGZWVkYmFja0Zvcm0uIENsaWNrIG9uIHRoaXMuIE9uIHRoZSBwYWdlCnRoYXQgZ2V0cyBzaG93biwgdGhlcmUgYXJlIG9wdGlvbnMgKGF0IHRoZSBib3R0b20gb2YgdGhlIGxpc3Qgb2YgRm9ybXMpIHRvIEFkZCBhIE5ldyBGb3JtIG9yIE1vZGlmeQpDb25maWd1cmF0aW9uLjwvcD4KCjxoMz5BZGRpbmcgYSBGb3JtIHRvIGEgUGFnZTwvaDM+CjxwPkluIHRoZSBtYWluIEZlZWRiYWNrRm9ybSBhZG1pbiBwYWdlLCB5b3UgY2FuIHNlZSBhbiBleGFtcGxlIG9mIHRoZSB0YWcgdXNlZCB0byBkaXNwbGF5IGVhY2ggZm9ybS4gSXQgbG9va3MKc29tZXRoaW5nIGxpa2Uge2Ntc19tb2R1bGUgbW9kdWxlPVwiRmVlZGJhY2tGb3JtXCIgZm9ybT1cImZlZWRiYWNrX2Zvcm1fZXhhbXBsZVwifTwvcD4KPHA+QnkgY29weWluZyB0aGlzIHRhZyBpbnRvIHRoZSBjb250ZW50IG9mIGEgcGFnZSwgb3IgaW50byBhIHRlbXBsYXRlLCB3aWxsIGNhdXNlIHRoYXQgZm9ybSB0byBiZSBkaXNwbGF5ZWQuCkluIHRoZW9yeSwgeW91IGNhbiBoYXZlIG11bHRpcGxlIGZvcm1zIG9uIGEgcGFnZSBpZiB5b3UgcmVhbGx5IHdhbnQgdG8uIEJlIGNhcmVmdWwgd2hlbiBwYXN0aW5nIHRoZSB0YWcKaW50byBhIHBhZ2UncyBjb250ZW50IGlmIHlvdSB1c2UgYSBXWVNJV1lHIGVkaXRvciBzdWNoIGFzIFRpbnlNQ0Ugb3IgSFRNTEFyZWEuIFRoZXNlIGVkaXRvcnMgbWF5IHN0ZWFsdGhpbHkKY2hhbmdlIHRoZSBxdW90ZSBtYXJrcyAoXCIpIGludG8gSFRNTCBlbnRpdGllcyAoJmFtcDtxdW90OyksIGFuZCB0aGUgZm9ybXMgd2lsbCBub3Qgc2hvdyB1cC4gVHJ5IHVzaW5nCnNpbmdsZSBxdW90ZXMgKCcpIG9yIGVkaXRpbmcgdGhlIEhUTUwgZGlyZWN0bHkuCgo8aDM+QWRkaW5nIEZpZWxkcyB0byBhIEZvcm08L2gzPgo8cD5CeSBjbGlja2luZyBvbiBhIEZvcm0ncyBuYW1lLCB5b3UgZW50ZXIgdGhlIEZvcm0gRWRpdCBwYWdlLiBZb3Ugd2lsbCBzZWUgYSBudW1iZXIgb2Ygb3B0aW9ucyBmb3IgdGhlIGZvcm0KKGxpa2Ugd2hhdCB5b3Ugd2FudCB0aGUgdGV4dCBvZiB0aGUgc3VibWl0IGJ1dHRvbiB0byBzYXksIHdoYXQgbWVzc2FnZSBzaG91bGQgYmUgZGlzcGxheWVkIHRvIHRoZSB1c2VyIHdoZW4KdGhleSBzdWJtaXQgdGhlIGZvcm0sIGV0YykuIFRoZXJlIGlzIGFsc28gYSBsaXN0IG9mIGZpZWxkcyB0aGF0IG1ha2UgdXAgdGhlIGZvcm0uIFRoZSB0eXBlcyBvZiBmaWVsZHMgdGhhdAphcmUgY3VycmVudGx5IHN1cHBvcnRlZCBmaXQgaW50byBmb3VyIGdyb3Vwczogc3RhbmRhcmQgaW5wdXQgZmllbGRzLCBkaXNwbGF5IGNvbnRyb2wgZmllbGRzLCBlbWFpbC1vbmx5IGlucHV0CmZpZWxkcywgYW5kIGZvcm0gcmVzdWx0IGhhbmRsaW5nIGZpZWxkcyAoYWxzbwpjYWxsZWQgRm9ybSBEaXNwb3NpdGlvbnMgaW4gcGxhY2VzKTo8L3A+Cjx1bD4KPGxpPlN0YW5kYXJkIElucHV0IEZpZWxkcyAtIHRoZXNlIGFyZSBpbnB1dHMgdGhhdCBhbGxvdyBlbnRyeSBvZiB0eXBpY2FsIGZvcm0gZWxlbWVudHMuPC9saT4KPGxpPkRpc3BsYXkgQ29udHJvbCBGaWVsZHMgLSB0aGVzZSBpbnB1dCBjb250cm9sIGhvdyB0aGUgdXNlciB3aWxsIHNlZSB0aGUgZGlzcGxheSBvZiB0aGUgZm9ybS48L2xpPgo8bGk+RW1haWwtb25seSBJbnB1dCBGaWVsZHMgLSB0aGVzZSBhcmUgaW5wdXRzIHRoYXQgYWxsb3cgZW50cnkgb2YgdHlwaWNhbCBmb3JtIGVsZW1lbnRzLCBidXQgYXBwbHkgb25seQpmb3IgZm9ybSBkaXNwb3NpdGlvbnMgdGhhdCBzZW5kIHRoZSByZXN1bHRzIHZpYSBlbWFpbC48L2xpPgo8bGk+U3BlY2lhbCBQdXJwb3NlIEZpZWxkcyAtIHRoZXNlIGlucHV0cyBhcmUgdXNlZCBmb3IgaW50ZXJmYWNpbmcgcHJvZ3JhbW1hdGljYWxseSB3aXRoIG90aGVyIG1vZHVsZXMuPC9saT4KPGxpPkZvcm0gRGlzcG9zaXRpb25zIC0gVGhlc2UgZGV0ZXJtaW5lIHdoYXQgaGFwcGVucyB3aGVuIHRoZSB1c2VyCnN1Ym1pdHMgdGhlIGZvcm07IGZvciBlYWNoIHJlc3VsdCBoYW5kbGluZyBmaWVsZCwgc29tZSBtZXRob2Qgb2YgdHJhbnNtaXR0aW5nLCBzYXZpbmcsIG9yIGVtYWlsaW5nIHRoZQpmb3JtIGNvbnRlbnRzIHRha2VzIHBsYWNlLiBBIGZvcm0gbWF5IGhhdmUgbXVsdGlwbGUgZm9ybSBkaXNwb3NpdGlvbnMuPC9saT4KPC91bD4KPHA+Rm9ybSBmaWVsZHMgYXJlIGFzc2lnbmVkIG5hbWVzLiBUaGVzZSBuYW1lcyBpZGVudGlmeSB0aGUgZmllbGQsIG5vdCBvbmx5IG9uIHRoZSBzY3JlZW4gYXMgbGFiZWxzIGZvciB0aGUgdXNlciwKYnV0IGluIHRoZSBkYXRhIHdoZW4gaXQncyBzdWJtaXR0ZWQgc28geW91IGtub3cgd2hhdCB0aGUgdXNlciBpcyByZXNwb25kaW5nIHRvLiBQaHJhc2luZyB0aGUgbmFtZSBsaWtlIGEgcXVlc3Rpb24KaXMgYSBoYW5keSB3YXkgb2YgbWFraW5nIGl0IGNsZWFyIHRvIHRoZSB1c2VyIHdoYXQgaXMgZXhwZWN0ZWQuIFNpbWlsYXJseSwgc29tZSBmaWVsZHMgaGF2ZSBib3RoIE5hbWVzIGFuZCBWYWx1ZXMuClRoZSBOYW1lcyBhcmUgd2hhdCBnZXRzIHNob3duIHRvIHRoZSB1c2VyOyB0aGUgVmFsdWUgaXMgd2hhdCBnZXRzIHNhdmVkIG9yIHRyYW5zbWl0dGVkIHdoZW4gdGhlIHVzZXIgc3VibWl0cwp0aGUgZm9ybS4gVGhlIFZhbHVlcyBhcmUgbmV2ZXIgc2VlbiBieSB0aGUgdXNlciwgbm9yIGFyZSB0aGV5IHZpc2libGUgaW4gdGhlIEhUTUwsIHNvIGl0J3Mgc2FmZSB0byB1c2UgZm9yCmVtYWlsIGFkZHJlc3NlcyBhbmQgc3VjaC48L3A+CjxwPlNvbWUgZmllbGRzIGNhbiBoYXZlIG11bHRpcGxlIHZhbHVlcywgb3IgbXVsdGlwbGUgbmFtZS92YWx1ZSBwYWlycy4gV2hlbiB5b3UgZmlyc3QgY3JlYXRlIHN1Y2ggYSBmaWVsZCwKdGhlcmUgbWF5IG5vdCBiZSBzdWZmaWNpZW50IGlucHV0cyBmb3IgeW91IHRvIHNwZWNpZnkgYWxsIHRoZSB2YWx1ZXMgeW91IHdhbnQuIFRvIGdldCBtb3JlIHNwYWNlIGZvciBpbnB1dHRpbmcKdGhlc2UgdmFsdWVzLCBzaW1wbHkgc2F2ZSB0aGUgZmllbGQsIGFuZCB0aGVuIGNsaWNrIG9uIGl0cyBuYW1lIHRvIGVkaXQgaXQgYWdhaW4uIEV2ZXJ5IHRpbWUgeW91IGVkaXQgc3VjaCBhCmZpZWxkLCB5b3Ugd2lsbCByZWNlaXZlIG1vcmUgaW5wdXRzLjwvcD4KPHA+RmllbGRzIGNhbiBiZSBhc3NpZ25lZCB2YWxpZGF0aW9uIHJ1bGVzLCB3aGljaCB2YXJ5IGFjY29yZGluZyB0byB0aGUgdHlwZSBvZiB0aGUgZmllbGQuIFRoZXNlIHJ1bGVzIGhlbHAKZW5zdXJlIHRoYXQgdGhlIHVzZXIgZW50ZXJzIHZhbGlkIGRhdGEuIFRoZXkgbWF5IGFsc28gYmUKc2VwYXJhdGVseSBtYXJrZWQgXCJSZXF1aXJlZFwiLCB3aGljaCB3aWxsIGZvcmNlIHRoZSB1c2VyIHRvIGVudGVyIGEgcmVzcG9uc2UuPC9wPgo8cD5GaWVsZHMgYWxzbyBtYXkgYmUgYXNzaWduZWQgYSBDU1MgY2xhc3MuIFRoaXMgc2ltcGx5IHdyYXBzIHRoZSBpbnB1dCBpbiBhIGRpdiB3aXRoIHRoYXQgY2xhc3MsIHNvIGFzIHRvIGFsbG93CmN1c3RvbWl6ZWQgbGF5b3V0cy4gVG8gdXNlIHRoaXMgZWZmZWN0aXZlbHksIHlvdSBtYXkgbmVlZCB0byBcInZpZXcgc291cmNlXCIgb24gdGhlIGdlbmVyYXRlZCBmb3JtLCBhbmQgdGhlbgp3cml0ZSB5b3VyIENTUy48L3A+Cjx1bD4KPGxpPlN0YW5kYXJkIElucHV0cwo8dWw+PGxpPlRleHQgSW5wdXQuIFRoaXMgaXMgYSBzdGFuZGFyZCB0ZXh0IGZpZWxkLiBZb3UgY2FuIGxpbWl0IHRoZSBsZW5ndGgsIGFuZCBhcHBseSB2YXJpb3VzIHZhbGlkYXRpb24KZnVuY3Rpb25zIHRvIHRoZSBmaWVsZC48L2xpPgo8bGk+VGV4dCBBcmVhLiBUaGlzIGlzIGEgYmlnLCBmcmVlLWZvcm0gdGV4dCBpbnB1dCBmaWVsZC48L2xpPgo8bGk+Q2hlY2tib3guIFRoaXMgaXMgYSBzdGFuZGFyZCBjaGVjayBib3guIElmIHlvdSB0dXJuIG9uIHZhbGlkYXRpb24sIHlvdSBjYW4gcmVxdWlyZSB0aGF0IHRoZSB1c2VyIGNoZWNrcwp0aGUgYm94LiBUaGlzIGlzIHVzZWZ1bCBmb3IgZm9ybXMgd2hlcmUgdGhlIHVzZXIgaXMgb2JsaWdhdGVkIHRvIGFncmVlIHRvIHNvbWV0aGluZyBpbiBvcmRlciB0byBzdWJtaXQKdGhlIGZvcm0uPC9saT4KPGxpPkNoZWNrYm94IEdyb3VwLiBUaGlzIGlzIGEgY29sbGVjdGlvbiBvZiBjaGVja2JveGVzLiBUaGUgb25seSBkaWZmZXJlbmNlIGJldHdlZW4gdGhpcyBpbnB1dCBhbmQgYQpjb2xsZWN0aW9uIG9mIENoZWNrYm94IGlucHV0cyBpcyB0aGF0IHRoZXkgYXJlIHByZXNlbnRlZCBhcyBhIGdyb3VwLCB3aXRoIG9uZSBuYW1lLCBhbmQgY2FuIGhhdmUgYSB2YWxpZGF0aW9uCmZ1bmN0aW9uIHJlcXVpcmluZyB0aGF0IHlvdSBjaGVjayBvbmUgb3IgbW9yZSBvZiB0aGUgYm94ZXMgaW4gdGhlIGdyb3VwLjwvbGk+CjxsaT5SYWRpbyBHcm91cC4gVGhpcyBpcyBhIGNvbGxlY3Rpb24gb2YgcmFkaW8gYnV0dG9ucy4gT25seSBvbmUgb2YgdGhlIGdyb3VwIG1heSBiZSBzZWxlY3RlZCBieSB0aGUgdXNlci48L2xpPgo8bGk+UHVsbGRvd24uIFRoaXMgaXMgYSBzdGFuZGFyZCBwdWxsZG93biBtZW51LiBJdCdzIHJlYWxseSBjb25jZXB0dWFsbHkgdGhlIHNhbWUgdGhpbmcgYXMgYSByYWRpbyBidXR0b24KZ3JvdXAsIGJ1dCBpcyBiZXR0ZXIgd2hlbiB0aGVyZSBhcmUgYSBsYXJnZSBudW1iZXIgb2Ygb3B0aW9ucy48L2xpPgo8bGk+U3RhdGUuIFRoaXMgaXMgYSBwdWxsZG93biBsaXN0aW5nIHRoZSBTdGF0ZXMgb2YgdGhlIFUuUy48L2xpPgo8bGk+Q291bnRyaWVzLiBUaGlzIGlzIGEgcHVsbGRvd24gbGlzdGluZyB0aGUgQ291bnRyaWVzIG9mIHRoZSB3b3JsZCAoYXMgb2YgSnVseSAyMDA1KS48L2xpPgo8bGk+RGF0ZSBQaWNrZXIuIFRoaXMgaXMgYSB0cmlwbGUgcHVsbGRvd24gYWxsb3dpbmcgdGhlIHVzZXIgdG8gc2VsZWN0IGEgZGF0ZS48L2xpPgo8L3VsPjwvbGk+Cgo8bGk+RW1haWwtb25seSBJbnB1dHMKPHVsPjxsaT5GaWxlIFVwbG9hZC4gVGhpcyBhbGxvd3MgYSB1c2VyIHRvIHVwbG9hZCBhIGZpbGUsIHdoaWNoIHdpbGwgYmUgaW5jbHVkZWQgYXMgYW4gYXR0YWNobWVudCB0byBhbnkgZW1haWwKZGlzcG9zaXRpb24uIEZpbGUgdXBsb2FkcyBkbyBub3QgY3VycmVudGx5IHdvcmsgd2l0aCB0aGUgRmxhdCBGaWxlIGRpc3Bvc2l0aW9uIG1ldGhvZC48L2xpPgo8bGk+RW1haWwgRnJvbSBGaWVsZC4gVGhpcyBhbGxvd3MgdXNlcnMgdG8gcHJvdmlkZSB0aGVpciBuYW1lIGFuZCBlbWFpbCBhZGRyZXNzLiBUaGUgZW1haWwgZ2VuZXJhdGVkIHdoZW4gdGhlCmZvcm0gZ2V0cyBoYW5kbGVkIHdpbGwgdXNlIHRoaXMgbmFtZSBhbmQgYWRkcmVzcyBpbiB0aGUgXCJGcm9tXCIgZmllbGQuPC9saT4KPC91bD48L2xpPgoKPGxpPkRpc3BsYXkgQ29udHJvbCBGaWVsZHM8dWw+CjxsaT5QYWdlIEJyZWFrLiBUaGlzIGFsbG93cyB5b3UgdG8gc3BsaXQgeW91ciBmZWVkYmFjayBmb3JtIGludG8gbXVsdGlwbGUgcGFnZXMuIEVhY2ggcGFnZSBpcwppbmRlcGVuZGVudGx5IHZhbGlkYXRlZC4gVGhpcyBpcyBnb29kIGZvciBhcHBsaWNhdGlvbnMgbGlrZSBvbmxpbmUgc3VydmV5cy48L2xpPgo8bGk+U3RhdGljIFRleHQuIFRoaXMgYWxsb3dzIHlvdSB0byBwbGFjZSB0ZXh0IGluIHlvdXIgZm9ybS4gSXQncyBjYWxsZWQgYW4gaW5wdXQsIGJ1dCBpdCdzIGRpc3BsYXkgb25seS4gVGhpcyBpcyB1c2VmdWwgZm9yIHByZXNlbnRpbmcgaW5zdHJ1Y3Rpb25zLCBoZWxwLCBldGMuPC9saT4KPC91bD48L2xpPgoKPGxpPlNwZWNpYWwgUHVycG9zZSBGaWVsZHM8dWw+CjxsaT5GdW5jdGlvbiBDYWxsYmFjayBcIklucHV0XCIuIFRoaXMgYWxsb3dzIHByb2dyYW1tZXJzIHRvIGFjY2VzcyBpbmZvcm1hdGlvbiBmcm9tIG90aGVyIG1vZHVsZXMgKHN1Y2ggYXMgZ2V0dGluZyB1c2VyIG5hbWUgZGF0YSBmcm9tIGEgdXNlciBhdXRoZW50aWNhdGlvbiBtb2R1bGUpLjwvbGk+PC91bD48L2xpPgoKPGxpPkZvcm0gSGFuZGxpbmcgSW5wdXRzIChEaXNwb3NpdGlvbnMpCjx1bD48bGk+RW1haWwgUmVzdWx0cyBCYXNlZCBvbiBQdWxsZG93bi4gVGhpcyBpcyB1c2VmdWwgZm9yIHdlYiBzaXRlcyB3aGVyZSBjb21tZW50cyBnZXQgcm91dGVkIGJhc2VkIG9uCnRoZWlyIHN1YmplY3QgbWF0dGVyLCBlLmcuLCBidWdzIGdldCBzZW50IHRvIG9uZSBwZXJzb24sIG1hcmtldGluZyBxdWVzdGlvbnMgdG8gYW5vdGhlciBwZXJzb24sIHNhbGVzIHJlcXVlc3RzCnRvIHNvbWVvbmUgZWxzZSwgZXRjLiBUaGUgcHVsbGRvd24gaXMgcG9wdWxhdGVkIHdpdGggdGhlIHN1YmplY3RzLCBhbmQgZWFjaCBnZXRzIGRpcmVjdGVkIHRvIGEgc3BlY2lmaWMgZW1haWwKYWRkcmVzcy4gWW91IHNldCB1cCB0aGVzZSBtYXBwaW5ncyBpbiB0aGUgd2hlbiB5b3UgY3JlYXRlIG9yIGVkaXQgYSBmaWVsZCBvZiB0aGlzIHR5cGUuIElmIHlvdSB1c2Ugb25lIG9mCnRoZXNlIFwiRGlyZWN0b3JcIiBwdWxsZG93bnMsIHRoZSB1c2VyIG11c3QgbWFrZSBhIHNlbGVjdGlvbiBpbiBvcmRlciB0byBzdWJtaXQgdGhlCmZvcm0uIFRoaXMgaW5wdXQgaXMgcGFydCBvZiB0aGUgZm9ybSB0aGUgdXNlciBzZWVzLCBhbHRob3VnaCB0aGUgZW1haWwgYWRkcmVzc2VzIGFyZSBub3QgbWFkZSB2aXNpYmxlIG5vcgphcmUgdGhleSBlbWJlZGRlZCBpbiB0aGUgSFRNTC48L2xpPgo8bGk+RW1haWwgUmVzdWx0cyB0byBzZXQgQWRkcmVzcyhlcykuIFRoaXMgc2ltcGx5IHNlbmRzIHRoZSBmb3JtIHJlc3VsdHMgdG8gb25lIG9yIG1vcmUgZW1haWwgYWRkcmVzc2VzIHRoYXQKeW91IGVudGVyIHdoZW4geW91IGNyZWF0ZSBvciBlZGl0IHRoaXMgdHlwZSBvZiBmaWVsZC4gVGhpcyBmaWVsZCBhbmQgaXRzIG5hbWUgYXJlIG5vdCB2aXNpYmxlIGluIHRoZQpmb3JtIHRoYXQgdGhlIHVzZXIgc2Vlcy4gVGhlIGVtYWlsIGFkZHJlc3NlcyBhcmUgbm90IG1hZGUgdmlzaWJsZSBub3IKYXJlIHRoZXkgZW1iZWRkZWQgaW4gdGhlIEhUTUwuPC9saT4KPGxpPkVtYWlsIFJlc3VsdHMgdG8gVXNlci1TZWxlY3RlZCBTaXRlIFVzZXIuIFRoaXMgaW5wdXQgaXMgb3VyIGZpcnN0IGVuZC11c2VyIHN1Z2dlc3Rpb24hIEl0IGNyZWF0ZXMgYSAKcHVsbGRvd24gb2YgdXNlcm5hbWVzIGluIHRoZSBmb3JtLiBUaGUgdXNlcm5hbWVzIGFyZSBvdGhlciB1c2VycyB3aG8gYXJlIHJlZ2lzdGVyZWQgd2l0aCB0aGUgc2l0ZS4KV2hlbiB0aGUgZm9ybSBpcyBzdWJtaXR0ZWQsIHRoZSBkYXRhIGlzIHNlbnQgdG8gdGhlIHVzZXIgd2hvc2UgbmFtZSB3YXMgc2VsZWN0ZWQuIFdoZW4geW91IGNyZWF0ZQphIGZpZWxkIG9mIHRoaXMgdHlwZSwgeW91IG1heSBzZWxlY3Qgc3BlY2lmaWMgZ3JvdXBzIGZyb20gd2hpY2ggdGhlIHVzZXJsaXN0IGlzIGNyZWF0ZWQuIFRoaXMgaW5wdXQgaXMKcGFydCBvZiB0aGUgZm9ybSB0aGUgdXNlciBzZWVzLCBhbHRob3VnaCB0aGUgZW1haWwgYWRkcmVzc2VzIGFyZSBub3QgbWFkZSB2aXNpYmxlIG5vciBhcmUgdGhleSBlbWJlZGRlZAppbiB0aGUgSFRNTC48L2xpPgo8bGk+V3JpdGUgUmVzdWx0cyB0byBGbGF0IEZpbGUuIFRoaXMgdGFrZXMgdGhlIGZvcm0gcmVzdWx0cyBhbmQgd3JpdGVzIHRoZW0gaW50byBhIHRleHQgZmlsZS4gWW91IG1heQpzZWxlY3QgdGhlIG5hbWUgb2YgdGhlIGZpbGUsIGFuZCBpdHMgZm9ybWF0LiBZb3UgY2FuIGNob29zZSBmcm9tIFwicGFnZVwiIGZvcm1hdCwgd2hpY2ggbG9va3MgbGlrZSB0aGUKZW1haWxzIHRoYXQgZ2V0IHNlbnQgYnkgdGhlIG90aGVyIGhhbmRsZXJzLCBvciB5b3UgY2FuIGNob29zZSBhIHRhYi1kZWxpbWl0ZWQgZm9ybWF0IHVzZWZ1bCBmb3IgcmVhZGluZwppbnRvIEV4Y2VsIG9yIHNpbWlsYXIgcHJvZ3JhbXMuIElmIHlvdSBjaG9vc2UgdGFiLWRlbGltaXRlZCwgeW91IGNhbiBvcHQgdG8gaGF2ZSB0aGUgZmlsZSBzdGFydCB3aXRoCmEgaGVhZGVyIHJvdywgd2hpY2ggbmFtZXMgdGhlIGNvbHVtbnMuIFRoZXNlIGZpbGVzIGFyZSB3cml0dGVuIHRvIHRoZSBcIm91dHB1dFwiIGRpcmVjdG9yeSB1bmRlciB0aGUKbW9kdWxlJ3MgaW5zdGFsbGF0aW9uIGRpcmVjdG9yeS4KPC91bD48L2xpPjwvbGk+PC91bD4KCjxoMz5Lbm93biBJc3N1ZXM8L2gzPgo8dWw+CjxsaT5GaWxlIFVwbG9hZCBJbnB1dHMgbWF5IGJlIHVzZWQgb24gbXVsdGktcGFnZSBmZWVkYmFjayBmb3JtcywgPHN0cm9uZz5idXQgdGhleSBtdXN0IGJlIG9uIHRoZSBsYXN0IHBhZ2U8L3N0cm9uZz4gb2YKdGhlIGZvcm0uPC9saT4KPGxpPkZpbGUgVXBsb2FkIFwibWF4aW11bSBzaXplXCIgY2Fubm90IGJlIGxhcmdlciB0aGFuIHRoZSB2YWx1ZSBzZXQgaW4geW91ciBwaHAuaW5pIGZpbGUuIFRoaXMgaXMgbm90IGEgYnVnIC0tIHRoaXMgaXMgYSBmZWF0dXJlLjwvbGk+CjxsaT5GaWxlIFVwbG9hZCBcIm1heGltdW0gc2l6ZVwiIHVzZXMgdW5pdHMgY2FsbGVkIFwia2lsb2J5dGVzXCIgdGhhdCBhcmUgMTAwMCBieXRlcywgbm90IDEwMjQgYnl0ZXMuPC9saT4KPGxpPkZpbGUgVXBsb2FkcyBkbyBub3QgY3VycmVudGx5IHdvcmsgd2l0aCB0aGUgRmxhdCBGaWxlIGRpc3Bvc2l0aW9uIG1ldGhvZC48L2xpPgo8bGk+RmlsZSBVcGxvYWRzIGNvdWxkIGFsbG93IHVzZXJzIHRvIHN1Ym1pdCBvZmZlbnNpdmUsIG9ic2NlbmUsIG9yIGlsbGVnYWwgbWF0ZXJpYWwuIEl0IGNvdWxkIGFsc28gYmUgdXNlZCB0byB0cmFuc21pdApkYW5nZXJvdXMgZmlsZXMgc3VjaCBhcyB0cm9qYW4taG9yc2VzLCB2aXJ1c2VzLCBvciBvdGhlciBzZWN1cml0eSB0aHJlYXRzLiBVc2UgRmlsZSBVcGxvYWRzIHdpdGggY2F1dGlvbiBhbmQgY29tbW9uIHNlbnNlLjwvbGk+CjwvdWw+Cgo8aDM+VHJvdWJsZXNob290aW5nPC9oMz4KPG9sPjxsaT4gRmlyc3Qgc3RlcCBpcyB0byBjaGVjayB5b3UncmUgcnVubmluZyBDTVMgMC4xMC54IG9yIGxhdGVyLjwvbGk+CjxsaT4gU2Vjb25kIHN0ZXAgaXMgdG8gcmVhZCBhbmQgdW5kZXJzdGFuZCB0aGUgY2F2ZWF0IGFib3V0IFdZU0lXWUcgZWRpdG9ycyB1cCBpbiB0aGUKc2VjdGlvbiA8ZW0+QWRkaW5nIGEgRm9ybSB0byBhIFBhZ2U8L2VtPi48L2xpPgo8bGk+IEp1c3QgbWVzcyBhcm91bmQgYW5kIHRyeSBjbGlja2luZyBvbiBsaW5rcyBhbmQgaWNvbnMgYW5kIHN0dWZmLiBTZWUgd2hhdCBoYXBwZW5zLjwvbGk+CjxsaT4gTGFzdCByZXNwb3J0IGlzIHRvIGVtYWlsIG1lIG9yIGNhdGNoIG1lIG9uIElSQyBhbmQgd2UgY2FuIGdvIGZyb20gdGhlcmUuPC9saT4KPC9vbD4gCjxwPlRoaXMgbWF5IG5vIGxvbmdlciBiZSBzdWNoIGFuIGVhcmx5IHZlcnNpb24sIGJ1dCBpdCBpcyBwcm9iYWJseSBzdGlsbCBidWdneS4gV2hpbGUgSSd2ZSBkb25lIGFsbCBJIGNhbgp0byBtYWtlIHN1cmUgbm8gZWdyZWdpb3VzIGJ1Z3MgaGF2ZSBjcmVwdCBpbiwgSSBoYXZlIHRvIGFkbWl0IHRoYXQgZHVyaW5nIHRlc3RpbmcsIHRoaXMgcHJvZ3JhbQpyZXZlYWxlZCBzZXZlbiBjb2Nrcm9hY2hlcywgdHdvIGVhcndpZ3MsIGEgc21hbGwgZmFtaWx5IG9mIGFwaGlkcywgYW5kIGEgd2Fsa2luZy1zdGljayBpbnNlY3QuIEl0IGFsc28KYXRlIHRoZSBuZWlnaGJvcidzIG5hc3R5IGxpdHRsZSB5YXAgZG9nLCBmb3Igd2hpY2ggSSB3YXMgaW5hcHByb3ByaWF0ZWx5IGdyYXRlZnVsLjwvcD4KPHA+VGhlIGZpbmFsIHJlbGVhc2Ugd2lsbCBpbmNsdWRlIGJ1ZyBmaXhlcywgZG9jdW1lbnRhdGlvbiwgYW5kIHVuY29uZGl0aW9uYWwgbG92ZS48L3A+CjxoMz5TdXBwb3J0PC9oMz4KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPgo8dWw+CjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0LCBwbGVhc2UgdmlzaXQgdGhlIENNUyBEZXZlbG9wZXIgQ2VudGVyIGF0IDxhIGhyZWY9XCJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnXCI+aHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZzwvYT4uPC9saT4KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj1cImh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZ1wiPkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+CjxsaT5UaGUgYXV0aG9yLCBTakcsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj1cImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2Ntc1wiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICAKPC91bD4KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0Cm9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4KCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPgo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDYsIFNhbXVlbCBHb2xkc3RlaW4gPGEgaHJlZj1cIm1haWx0bzpzamdAY21zbW9kdWxlcy5jb21cIj4mbHQ7c2pnQGNtc21vZHVsZXMuY29tJmd0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4KPHA+VGhpcyBtb2R1bGUgaGFzIGJlZW4gcmVsZWFzZWQgdW5kZXIgdGhlIDxhIGhyZWY9XCJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUExcIj5HTlUgUHVibGljIExpY2Vuc2U8L2E+LiBZb3UgbXVzdCBhZ3JlZSB0byB0aGlzIGxpY2Vuc2UgYmVmb3JlIHVzaW5nIHRoZSBtb2R1bGUuPC9wPgoJCQoiOwoKJGxhbmdbJ2NoYW5nZWxvZyddID0gCQkiCgkJICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICA8bGk+VmVyc2lvbiAwLjkuMTQgLSAoY2FsZ3V5MTAwMCkgLSBNaW5vciBGaXggdG8gb2JqZWN0IGNhbGxzPC9saT4KICAgICAgICAgICAgICAgICAgICA8bGk+VmVyc2lvbiAwLjkuMTMgLSAoY2FsZ3V5MTAwMCkgLSBNb2RpZmllZCBmb3IgdGhlIGxhenkgbG9hZGluZyBvZiBDTVMgMS4wQjYgYW5kIGxhdGVyPC9saT4KICAgICAgICAgICAgICAgICAgICA8bGk+VmVyc2lvbiAwLjkuMTIgLSBVbmtub3duIChhZGRlZCBieSBjYWxndXkxMDAwKTwvbGk+CgkJICAgIDxsaT5WZXJzaW9uIDAuOS4xMSAtIDkgRmVicnVhcnkgMjAwNi4gQnVnIGZpeGVzIGZvciB0cmFja2VyIGJ1Z3MgIzI5MywgIzMyOSwgIzMwNCwgIzMzNzwvbGk+CgkJICAgIDxsaT5WZXJzaW9ucyAwLjkueCAtIE9jdG9iZXIsIE5vdmVtYmVyIDIwMDUuIENvbnRpbnVpbmcgYnVnIGZpeGVzLjwvbGk+CgkJICAgIDxsaT5WZXJzaW9uIDAuOSAtICAyIE9jdG9iZXIgMjAwNS4gTWlncmF0ZWQgdG8gcHJvcGVyIE1vZHVsZSBBUEkgKGxhbmcsIHNtYXJ0eSB0ZW1wbGF0ZXMsIGV0Yy4pLjwvbGk+CiAgICAgICAgICAgIDxsaT5WZXJzaW9uIDAuOCAtIDMxIEp1bHkgMjAwNS4gQnVnIGZpeGVzLCBhZGRlZCBEYXRlIGFuZCBDYWxsYmFjayBGdW5jdGlvbiBpbnB1dCB0eXBlcy48L2xpPgogICAgICAgICAgICA8bGk+VmVyc2lvbiAwLjcuMyAtIDIxIEp1bHkgMjAwNS4gQnVnIGZpeGVzLCBhZGRlZCBTdGF0ZSBhbmQgQ291bnRyeSBpbnB1dCB0eXBlcy48L2xpPgogICAgICAgICAgICA8bGk+VmVyc2lvbiAwLjcuMiAtIDE4IEp1bHkgMjAwNS4gVmFsaWRhdGlvbiBidWcgZml4ZXMsIGZpeGVkIFBIUE1haWxlciBsb2NhbGl6YXRpb24uPC9saT4KICAgICAgICAgICAgPGxpPlZlcnNpb24gMC43LjEgLSAxIEp1bmUgMjAwNS4gTWlub3IgYnVnIGZpeGVzLjwvbGk+CiAgICAgICAgICAgIDxsaT5WZXJzaW9uIDAuNyAtIDI0IE1heSAyMDA1LiBNb3JlIGFuZCBiZXR0ZXIgc3VwcG9ydCBmb3IgQ1NTIGFuZCBwdXJlIENTUyBsYXlvdXRzLgogICAgICAgICAgICBTdXBwb3J0IGZvciBtdWx0aS1wYWdlIGZvcm1zLgogICAgICAgICAgICBNYW55IG5ldyBmb3JtIG9wdGlvbnMuIE5ldyBmaWVsZCB0eXBlczogZmlsZSB1cGxvYWQsIGVtYWlsIFwiZnJvbVwiIGFkZHJlc3MuIEltcHJvdmVkCiAgICAgICAgICAgIGVycm9yIGhhbmRsaW5nLiBFbWFpbCBkaXNwb3NhbCB0eXBlcyBub3cgdGVtcGxhdGVkLjwvbGk+CgkJCTxsaT5WZXJzaW9uIDAuNiAtIDE2IEFwciAyMDA1LiBVcGRhdGVkIGZvciBuZXcgQWRtaW4sIHNpbXBsaWZpZWQgcGVybWlzc2lvbnMuPC9saT4KCQkgICAgPGxpPlZlcnNpb24gMC41IC0gNCBNYXIgMjAwNS4gTWlub3IgYnVnIGZpeGVzIGZvciBkZWxldGluZyBmb3Jtcy9maWVsZHMuPC9saT4KCQkgICAgPGxpPlZlcnNpb24gMC40IC0gMiBNYXIgMjAwNS4gTG9jYWxpemF0aW9uIGFuZCBudW1lcm91cyBidWcgZml4ZXMuPC9saT4KCQkgICAgPGxpPlZlcnNpb24gMC4zIC0gMjggRmViIDIwMDUuIFByaW1pdGl2ZSBsb2NhbGl6YXRpb24gYW5kIGJ1ZyBmaXhlcy48L2xpPgoJCSAgICA8bGk+VmVyc2lvbiAwLjIgLSAyNCBGZWIgMjAwNS4gQ29udmVydGVkIHRvIHVzZSBPYmplY3RzLiBNYW55IGltcHJvdmVtZW50cyBhbmQgYnVnIGZpeGVzLjwvbGk+CgkJCTxsaT5WZXJzaW9uIDAuMSAtIDExIEZlYiAyMDA1LiBJbml0aWFsIFJlbGVhc2U8L2xpPjwvdWw+CgkJIjsKCgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/ext/da_DK.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZpZWxkX3R5cGVfdGV4dF9pbnB1dCddID0gJ1Rla3N0IElucHV0IEZlbHQnOwokbGFuZ1snZmllbGRfdHlwZV90ZXh0X2FyZWEnXSA9ICdUZWtzdG9tcsOlZGUnOwokbGFuZ1snZmllbGRfdHlwZV9jaGVja2JveCddID0gJ0NoZWNrIEJveCc7CiRsYW5nWydmaWVsZF90eXBlX2NoZWNrYm94X2dyb3VwJ10gPSAnQ2hlY2sgQm94IEdyb3VwJzsKJGxhbmdbJ2ZpZWxkX3R5cGVfcHVsbGRvd24nXSA9ICdQdWxsZG93bic7CiRsYW5nWydmaWVsZF90eXBlX3N0YXRlJ10gPSAnVS5TLiBTdGF0ZSc7CiRsYW5nWydmaWVsZF90eXBlX2NvdW50cnknXSA9ICdDb3VudHJ5JzsKJGxhbmdbJ2ZpZWxkX3R5cGVfZGF0ZSddID0gJ0RhdGUgUGlja2VyJzsKJGxhbmdbJ2ZpZWxkX3R5cGVfY2FsbGJhY2snXSA9ICdGdW5jdGlvbiBDYWxsYmFjayAiSW5wdXQiJzsKJGxhbmdbJ2ZpZWxkX3R5cGVfcmFkaW9fZ3JvdXAnXSA9ICdSYWRpbyBCdXR0b24gR3JvdXAnOwokbGFuZ1snZmllbGRfdHlwZV9kaXNwb3NpdGlvbl9kaXJlY3RvciddID0gJypFbWFpbCBSZXN1bHRzIEJhc2VkIG9uIFB1bGxkb3duJzsKJGxhbmdbJ2ZpZWxkX3R5cGVfZGlzcG9zaXRpb25fZW1haWwnXSA9ICcqRW1haWwgUmVzdWx0cyB0byBzZXQgQWRkcmVzcyhlcyknOwokbGFuZ1snZmllbGRfdHlwZV9kaXNwb3NpdGlvbl9lbWFpbF9zaXRlX3VzZXInXSA9ICcqRW1haWwgUmVzdWx0cyB0byBVc2VyLVNlbGVjdGVkIFNpdGUgVXNlcic7CiRsYW5nWydmaWVsZF90eXBlX2Rpc3Bvc2l0aW9uX2ZpbGUnXSA9ICcqV3JpdGUgUmVzdWx0cyB0byBGbGF0IEZpbGUnOwokbGFuZ1snZmllbGRfdHlwZV9zdGF0aWNfdGV4dCddID0gJ1N0YXRpYyBUZXh0JzsKJGxhbmdbJ2ZpZWxkX3R5cGVfcGFnZV9icmVhayddID0gJ1BhZ2UgQnJlYWsnOwokbGFuZ1snZmllbGRfdHlwZV9maWxlX3VwbG9hZCddID0gJ0ZpbGUgVXBsb2FkJzsKJGxhbmdbJ2ZpZWxkX3R5cGVfZW1haWxfZnJvbSddID0gJ0VtYWlsICJGcm9tIiBGaWVsZCc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdGZWVkYmFja0Zvcm0nOwokbGFuZ1sndmFsaWRhdGlvbl9ub25lJ10gPSAnTm8gVmFsaWRhdGlvbic7CiRsYW5nWyd2YWxpZGF0aW9uX25vdF9lbXB0eSddID0gJ05vdCBFbXB0eSc7CiRsYW5nWyd2YWxpZGF0aW9uX251bWVyaWMnXSA9ICdOdW1lcmljJzsKJGxhbmdbJ3ZhbGlkYXRpb25faW50ZWdlciddID0gJ0ludGVnZXInOwokbGFuZ1sndmFsaWRhdGlvbl9lbWFpbF9hZGRyZXNzJ10gPSAnRW1haWwgQWRkcmVzcyc7CiRsYW5nWyd2YWxpZGF0aW9uX2F0X2xlYXN0X29uZSddID0gJ0F0IExlYXN0IE9uZSBDaGVja2VkJzsKJGxhbmdbJ3ZhbGlkYXRpb25fbXVzdF9jaGVjayddID0gJ011c3QgQmUgQ2hlY2tlZCc7CiRsYW5nWyd2YWxpZGF0aW9uX29wdGlvbl9zZWxlY3RlZCddID0gJ09wdGlvbiBNdXN0IGJlIFNlbGVjdGVkJzsKJGxhbmdbJ3BsZWFzZV9lbnRlcl9hX3ZhbHVlJ10gPSAnUGxlYXNlIGVudGVyIGEgdmFsdWUgZm9yICc7CiRsYW5nWydwbGVhc2VfZW50ZXJfYV9udW1iZXInXSA9ICdQbGVhc2UgZW50ZXIgYSBudW1iZXIgZm9yICc7CiRsYW5nWydwbGVhc2VfZW50ZXJfYW5faW50ZWdlciddID0gJ1BsZWFzZSBlbnRlciBhbiBpbnRlZ2VyIHZhbHVlIGZvciAnOwokbGFuZ1sncGxlYXNlX2VudGVyX2FuX2VtYWlsJ10gPSAnUGxlYXNlIGVudGVyIGEgdmFsaWQgZW1haWwgYWRkcmVzcyBmb3IgJzsKJGxhbmdbJ25vdF92YWxpZF9lbWFpbCddID0gJ2RvZXMgbm90IGFwcGVhciB0byBiZSBhIHZhbGlkIGVtYWlsIGFkZHJlc3MhJzsKJGxhbmdbJ3BsZWFzZV9lbnRlcl9ub19sb25nZXInXSA9ICdQbGVhc2UgZW50ZXIgYSB2YWx1ZSB0aGF0IGlzIG5vIGxvbmdlciB0aGFuICc7CiRsYW5nWydwbGVhc2VfY2hlY2tfc29tZXRoaW5nJ10gPSAnUGxlYXNlIGNoZWNrIHNvbWV0aGluZyBmb3IgJzsKJGxhbmdbJ3BsZWFzZV9zZWxlY3Rfc29tZXRoaW5nJ10gPSAnUGxlYXNlIHNlbGVjdCBzb21ldGhpbmcgZm9yICc7CiRsYW5nWydmaWVsZF9uYW1lX2luX3VzZTEnXSA9ICdUaGUgZmllbGQgbmFtZSc7CiRsYW5nWydmaWVsZF9uYW1lX2luX3VzZTInXSA9ICdpcyBhbHJlYWR5IGluIHVzZSBpbiB0aGUgZm9ybSEgUGxlYXNlIGNoYW5nZSBpdCB0byBzb21ldGhpbmcgdW5pcXVlLic7CiRsYW5nWyd5b3VfbmVlZF9wZXJtaXNzaW9uMSddID0gJ1lvdSBuZWVkIHRoZSAiJzsKJGxhbmdbJ3lvdV9uZWVkX3Blcm1pc3Npb24yJ10gPSAnIiBwZXJtaXNzaW9uIHRvIHBlcmZvcm0gdGhhdCBvcGVyYXRpb24uJzsKJGxhbmdbJ2xhY2twZXJtaXNzaW9uJ10gPSAnU29ycnkhIFlvdSBkb25cJ3QgaGF2ZSBhZGVxdWF0ZSBwcml2aWxlZ2VzIHRvIGFjY2VzcyB0aGlzIHNlY3Rpb24uJzsKJGxhbmdbJ2ZpZWxkX29yZGVyX3VwZGF0ZWQnXSA9ICdGaWVsZCBvcmRlciB1cGRhdGVkLic7CiRsYW5nWydmb3JtX2RlbGV0ZWQnXSA9ICdGb3JtIGRlbGV0ZWQuJzsKJGxhbmdbJ2ZpZWxkX2RlbGV0ZWQnXSA9ICdGaWVsZCBkZWxldGVkLic7CiRsYW5nWydjb25maWd1cmF0aW9uX3VwZGF0ZWQnXSA9ICdDb25maWd1cmF0aW9uIFVwZGF0ZWQuJzsKJGxhbmdbJ3lvdV9tdXN0X2NoZWNrMSddID0gJ1lvdSBtdXN0IGNoZWNrICInOwokbGFuZ1sneW91X211c3RfY2hlY2syJ10gPSAnIiBpbiBvcmRlciB0byBjb250aW51ZS4nOwokbGFuZ1snbXVzdF9zcGVjaWZ5X29uZV9kZXN0aW5hdGlvbiddID0gJ1lvdSBuZWVkIHRvIHNwZWNpZnkgYXQgbGVhc3Qgb25lIGRlc3RpbmF0aW9uIGFkZHJlc3MhJzsKJGxhbmdbJ2FyZV95b3Vfc3VyZV9kZWxldGVfZm9ybSddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgdGhlIGZvcm0gJXM/JzsKJGxhbmdbJ2FyZV95b3Vfc3VyZV9kZWxldGVfZmllbGQnXSA9ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIHRoZSBmaWVsZCAlcz8nOwokbGFuZ1snYWJicmV2aWF0aW9uX2xlbmd0aCddID0gJ0xlbic7CiRsYW5nWydjaGFyYWN0ZXJzJ10gPSAnY2hhcmFjdGVycyc7CiRsYW5nWydib3hlcyddID0gJ2JveGVzJzsKJGxhbmdbJ2ZpZWxkJ10gPSAnRmllbGQnOwokbGFuZ1snb3JkZXInXSA9ICdPcmRlcic7CiRsYW5nWyd1bnNwZWNpZmllZCddID0gJyh1bnNwZWNpZmllZCknOwokbGFuZ1snYWRkZWQnXSA9ICdhZGRlZCc7CiRsYW5nWyd1cGRhdGVkJ10gPSAndXBkYXRlZCc7CiRsYW5nWydkZWxldGVkJ10gPSAnZGVsZXRlZCc7CiRsYW5nWydjaG9pY2VzJ10gPSAnY2hvaWNlcyc7CiRsYW5nWydzZWxlY3Rfb25lJ10gPSAnU2VsZWN0IE9uZSc7CiRsYW5nWydzZWxlY3RfYV91c2VyJ10gPSAnU2VsZWN0IEEgVXNlcic7CiRsYW5nWydzZWxlY3RfdHlwZSddID0gJ1NlbGVjdCBUeXBlJzsKJGxhbmdbJ3RvJ10gPSAnVG8nOwokbGFuZ1sncmVjaXBpZW50cyddID0gJ3JlY2lwaWVudHMnOwokbGFuZ1snbm90ZSddID0gJ05vdGUnOwokbGFuZ1snYW55X3VzZXInXSA9ICdBbnkgVXNlcic7CiRsYW5nWydsaXN0J10gPSAnbGlzdCc7CiRsYW5nWydub3RfY29uZmlndXJlZCddID0gJ05vdCBDb25maWd1cmVkJzsKJGxhbmdbJ3NhdmUnXSA9ICdTYXZlJzsKJGxhbmdbJ2FkZCddID0gJ0FkZCc7CiRsYW5nWyd1cGRhdGUnXSA9ICdVcGRhdGUnOwokbGFuZ1snc2F2ZV9hbmRfY29udGludWUnXSA9ICdTYXZlIGFuZCBDb250aW51ZSBFZGl0aW5nJzsKJGxhbmdbJ2luZm9ybWF0aW9uJ10gPSAnSW5mb3JtYXRpb24nOwokbGFuZ1snYXV0b21hdGljJ10gPSAnQXV0b21hdGljJzsKJGxhbmdbJ2Zvcm1zJ10gPSAnRm9ybXMnOwokbGFuZ1snZm9ybSddID0gJ0Zvcm0nOwokbGFuZ1snY29uZmlndXJhdGlvbiddID0gJ0NvbmZpZ3VyYXRpb24nOwokbGFuZ1snbWFpbiddID0gJ01haW4nOwokbGFuZ1snYWRkaXRpb25hbCddID0gJ0Zvcm0gU2V0dGluZ3MnOwokbGFuZ1snbm9maWVsZHMnXSA9ICdObyByZXRyaWV2YWwgZmllbGRzIGRlZmluZWQuICc7CiRsYW5nWydub21ldGhvZCddID0gJ05vIG1ldGhvZC9tb2R1bGUgc2V0Lic7CiRsYW5nWydjaGFycyddID0gJ0NoYXJzJzsKJGxhbmdbJ21pc3NpbmdfY21zX21haWxlciddID0gJ0l0IGFwcGVhcnMgdGhhdCB0aGUgQ01TTWFpbGVyIG1vZHVsZSBpcyBub3QgaW5zdGFsbGVkISBGZWVkYmFja0Zvcm0gZGVwZW5kcyBvbiBDTVNNYWlsZXIgYmVpbmcgaW5zdGFsbGVkIGFuZCBhY3RpdmUuJzsKJGxhbmdbJ21heGltdW1fc2l6ZSddID0gJ01heC4gU2l6ZSc7CiRsYW5nWydwZXJtaXR0ZWRfZXh0ZW5zaW9ucyddID0gJ0V4dGVuc2lvbnMnOwokbGFuZ1sncGVybWl0dGVkX2ZpbGV0eXBlcyddID0gJ0FsbG93ZWQgZmlsZSB0eXBlcyc7CiRsYW5nWydmaWxlX3Rvb19sYXJnZSddID0gJ1VwbG9hZGVkIGZpbGUgaXMgdG9vIGxhcmdlISBNYXhpbXVtIHNpemUgaXM6JzsKJGxhbmdbJ2lsbGVnYWxfZmlsZV90eXBlJ10gPSAnVGhpcyB0eXBlIG9mIGZpbGUgbWF5IG5vdCBiZSB1cGxvYWRlZC4gUGxlYXNlIGNoZWNrIHRoYXQgdGhlIGV4dGVuc2lvbiBpcyBjb3JyZWN0Lic7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZHVsZSB1bmluc3RhbGxlZC4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWxlIHZlcnNpb24gJXMgaW5zdGFsbGVkLic7CiRsYW5nWyd1cGdyYWRlZCddID0gJ01vZHVsZSB1cGdyYWRlZCB0byB2ZXJzaW9uICVzLic7CiRsYW5nWyd0aXRsZV9tYXhpbXVtX2xlbmd0aCddID0gJ01heGltdW0gTGVuZ3RoJzsKJGxhbmdbJ3RpdGxlX2NoZWNrYm94X25hbWUnXSA9ICdDaGVja2JveCBOYW1lJzsKJGxhbmdbJ3RpdGxlX3N1Ym1pdHRlZF92YWx1ZSddID0gJ1N1Ym1pdHRlZCBWYWx1ZSc7CiRsYW5nWyd0aXRsZV9jaGVja2JveF9kZXRhaWxzJ10gPSAnQ2hlY2tib3ggR3JvdXAgRGV0YWlscyc7CiRsYW5nWyd0aXRsZV9zZWxlY3Rfb25lX21lc3NhZ2UnXSA9ICciU2VsZWN0IE9uZSIgVGV4dCc7CiRsYW5nWyd0aXRsZV9zZWxlY3Rpb25fc3ViamVjdCddID0gJ1NlbGVjdGlvbiBTdWJqZWN0JzsKJGxhbmdbJ3RpdGxlX3NlbGVjdF9kZWZhdWx0X2NvdW50cnknXSA9ICdEZWZhdWx0IFNlbGVjdGlvbic7CiRsYW5nWyd0aXRsZV9zZWxlY3Rpb25fbmFtZSddID0gJ1NlbGVjdGlvbiBOYW1lJzsKJGxhbmdbJ3RpdGxlX2Rlc3RpbmF0aW9uX2VtYWlsJ10gPSAnRGVzdGluYXRpb24gRW1haWwgQWRkcmVzcyc7CiRsYW5nWyd0aXRsZV9kaXJlY3Rvcl9kZXRhaWxzJ10gPSAnUHVsbGRvd24tYmFzZWQgRW1haWxlciBEZXRhaWxzJzsKJGxhbmdbJ3RpdGxlX2VtYWlsX2FkZHJlc3NlcyddID0gJ0VtYWlsIEFkZHJlc3MoZXMpIHRvIFNlbmQgRm9ybSBSZXN1bHRzJzsKJGxhbmdbJ3RpdGxlX2ZpbGVfZm9ybWF0J10gPSAnRmlsZSBGb3JtYXQnOwokbGFuZ1sndGl0bGVfZmlsZV9mb3JtYXRfdGFiJ10gPSAnVGFiLURlbGltaXRlZCBWYWx1ZXMnOwokbGFuZ1sndGl0bGVfZmlsZV9mb3JtYXRfdGFiX2hlYWRlciddID0gJ1RhYi1EZWxpbWl0ZWQgVmFsdWVzIHdpdGggSGVhZGVyJzsKJGxhbmdbJ3RpdGxlX2ZpbGVfZm9ybWF0X3BhZ2UnXSA9ICdQYWdlIEZvcm1hdCc7CiRsYW5nWyd0aXRsZV9maWxlX25hbWUnXSA9ICdGaWxlIE5hbWUnOwokbGFuZ1sndGl0bGVfZXJhc2VfZmlsZWxvY2snXSA9ICdFcmFzZSBGaWxlIExvY2snOwokbGFuZ1sndGl0bGVfZXJhc2VfdXNhZ2UnXSA9ICcodXNlIHRoaXMgdG8gY2xlYXIgdGhlIGZpbGUgbG9jayBpZiBmaWxlIHdyaXRlcyBhcmUgZmFpbGluZyBkdWUgdG8gYSBjcmFzaGVkIHByb2Nlc3MpJzsKJGxhbmdbJ3RpdGxlX2ZpbGVfbm90ZSddID0gJ0ZpbGVzIHdpbGwgYmUgc2F2ZWQgaW4gdGhlIG1vZHVsZXMvRmVlZGJhY2tGb3JtL291dHB1dCBkaXJlY3RvcnksIHVuZGVyIHlvdXIgaW5zdGFsbCByb290Lic7CiRsYW5nWyd0aXRsZV91c2VybmFtZSddID0gJ1NpdGUgVXNlcm5hbWUnOwokbGFuZ1sndGl0bGVfcmVhbF9uYW1lJ10gPSAnRnVsbCAoUmVhbCkgTmFtZSc7CiRsYW5nWyd0aXRsZV9ib3RoX25hbWVzJ10gPSAnU2l0ZSBVc2VybmFtZSArIFJlYWwgTmFtZSc7CiRsYW5nWyd0aXRsZV9ub19ncm91cF9yZXN0cmljdGlvbiddID0gJ05vIEdyb3VwIFJlc3RyaWN0aW9uJzsKJGxhbmdbJ3RpdGxlX2VtYWlsX3N1YmplY3QnXSA9ICdFbWFpbCBTdWJqZWN0IExpbmUnOwokbGFuZ1sndGl0bGVfcmVzdHJpY3RfdG9fZ3JvdXAnXSA9ICdSZXN0cmljdCB0byB1c2VycyBpbiBncm91cCc7CiRsYW5nWyd0aXRsZV9uYW1lc19pbl9wdWxsZG93biddID0gJ05hbWVzIHRvIHVzZSBpbiBQdWxsZG93bic7CiRsYW5nWyd0aXRsZV9zZWxlY3RfYV91c2VyX21lc3NhZ2UnXSA9ICciU2VsZWN0IGEgVXNlciIgbWVzc2FnZSc7CiRsYW5nWyd0aXRsZV9wdWxsZG93bl9jb250ZW50cyddID0gJ1B1bGxkb3duIENvbnRlbnRzJzsKJGxhbmdbJ3RpdGxlX3JhZGlvX25hbWUnXSA9ICdSYWRpbyBCdXR0b24gTmFtZSc7CiRsYW5nWyd0aXRsZV9yYWRpb19ncm91cF9kZXRhaWxzJ10gPSAnUmFkaW8gQnV0dG9uIEdyb3VwIERldGFpbHMnOwokbGFuZ1sndGl0bGVfZm9ybV9uYW1lJ10gPSAnRm9ybSBOYW1lJzsKJGxhbmdbJ3RpdGxlX2Zvcm1fc3RhdHVzJ10gPSAnRm9ybSBTdGF0dXMnOwokbGFuZ1sndGl0bGVfcmVhZHlfZm9yX2RlcGxveW1lbnQnXSA9ICdSZWFkeSBmb3IgRGVwbG95bWVudCc7CiRsYW5nWyd0aXRsZV9ub3RfcmVhZHkxJ10gPSAnTm90IFJlYWR5JzsKJGxhbmdbJ3RpdGxlX25vdF9yZWFkeTInXSA9ICdQbGVhc2UgYWRkIGEgZmllbGQgdG8gdGhlIGZvcm0gc28gdGhhdCB0aGUgdXNlclwncyBpbnB1dCBnZXRzIGhhbmRsZWQuIFlvdSBjYW4nOwokbGFuZ1sndGl0bGVfbm90X3JlYWR5X2xpbmsnXSA9ICd1c2UgdGhpcyBzaG9ydGN1dCc7CiRsYW5nWyd0aXRsZV9mb3JtX2FsaWFzJ10gPSAnRm9ybSBBbGlhcyc7CiRsYW5nWyd0aXRsZV9mb3JtX2ZpZWxkcyddID0gJ0Zvcm0gRmllbGRzJzsKJGxhbmdbJ3RpdGxlX2ZpZWxkX25hbWUnXSA9ICdGaWVsZCBOYW1lJzsKJGxhbmdbJ3RpdGxlX2ZpZWxkX3R5cGUnXSA9ICdGaWVsZCBUeXBlJzsKJGxhbmdbJ3RpdGxlX3Nob3dfbGFiZWwnXSA9ICdIaWRlIEZpZWxkIExhYmVsIGluIEZvcm0/JzsKJGxhbmdbJ3RpdGxlX3Nob3dfbGFiZWxfbG9uZyddID0gJ09taXQgdGhlIEZpZWxkIExhYmVsIHdoZW4gcmVuZGVyaW5nIGZvcm0/JzsKJGxhbmdbJ3RpdGxlX25vdF9yZWFkeTMnXSA9ICd0byBjcmVhdGUgYSBmb3JtIGhhbmRsaW5nIGZpZWxkLic7CiRsYW5nWyd0aXRsZV90YWdfdG9fdXNlJ10gPSAnVGFnIHRvIFVzZSB0aGlzIEZvcm0nOwokbGFuZ1sndGl0bGVfYWRkX25ld19mb3JtJ10gPSAnQWRkIE5ldyBGZWVkYmFjayBGb3JtJzsKJGxhbmdbJ3RpdGxlX2VkaXRfY29uZmlndXJhdGlvbiddID0gJ0VkaXQgRmVlZGJhY2sgQ29uZmlndXJhdGlvbic7CiRsYW5nWyd0aXRsZV9lbWFpbF9mcm9tX25hbWUnXSA9ICdFbWFpbGVkIEZvcm0gIkZyb20iIE5hbWUnOwokbGFuZ1sndGl0bGVfZm9ybV9mcm9tX2VtYWlsJ10gPSAnRm9ybSAiRnJvbSIgRW1haWwgQWRkcmVzcyc7CiRsYW5nWyd0aXRsZV9tYWlsX2hvc3QnXSA9ICdNYWlsIChTTVRQKSBIb3N0JzsKJGxhbmdbJ3RpdGxlX2xhbmd1YWdlJ10gPSAnTGFuZ3VhZ2UnOwokbGFuZ1sndGl0bGVfYWRkX25ld19maWVsZCddID0gJ0FkZCBOZXcgRmllbGQnOwokbGFuZ1sndGl0bGVfZm9ybV9zdWJtaXRfYnV0dG9uJ10gPSAnRm9ybSBTdWJtaXQgQnV0dG9uIFRleHQnOwokbGFuZ1sndGl0bGVfZm9ybV9uZXh0X2J1dHRvbiddID0gJ0Zvcm0gIk5leHQiIEJ1dHRvbiBUZXh0ICh1c2VkIGZvciBtdWx0aXBhZ2UgZm9ybXMpJzsKJGxhbmdbJ3RpdGxlX2Zvcm1fdGhhbmtzX3RleHQnXSA9ICdGb3JtIFRoYW5rcyBNZXNzYWdlIFRleHQnOwokbGFuZ1sndGl0bGVfZmllbGRfdmFsaWRhdGlvbiddID0gJ0ZpZWxkIFZhbGlkYXRpb24nOwokbGFuZ1sndGl0bGVfZGVmYXVsdF91c2VyJ10gPSAnRGVmYXVsdCBVc2VyJzsKJGxhbmdbJ3RpdGxlX25vX2RlZmF1bHRfdXNlciddID0gJ05vIERlZmF1bHQgVXNlcic7CiRsYW5nWyd0aXRsZV9jc3NfbGF5b3V0J10gPSAnQ1NTIExheW91dCc7CiRsYW5nWyd0aXRsZV91c2VfY3NzX2xheW91dCddID0gJ1VzZSBwdXJlbHkgQ1NTIGxheW91dCBmb3IgZm9ybSc7CiRsYW5nWyd0aXRsZV9mb3JtX2Nzc19jbGFzcyddID0gJ0NTUyBDbGFzcyBmb3IgdGhpcyBmb3JtJzsKJGxhbmdbJ3RpdGxlX2ZpZWxkX2Nzc19jbGFzcyddID0gJ0NTUyBDbGFzcyBmb3IgdGhpcyBmaWVsZCc7CiRsYW5nWyd0aXRsZV9mb3JtX3JlcXVpcmVkX3N5bWJvbCddID0gJ1N5bWJvbCB0byBtYXJrIHJlcXVpcmVkIEZpZWxkcyc7CiRsYW5nWyd0aXRsZV9maWVsZF9yZXF1aXJlZCddID0gJ1JlcXVpcmVkJzsKJGxhbmdbJ3RpdGxlX2ZpZWxkX3JlcXVpcmVkX2xvbmcnXSA9ICdSZXF1aXJlIGEgcmVzcG9uc2UgZm9yIHRoaXMgRmllbGQnOwokbGFuZ1sndGl0bGVfZmllbGRfcmVxdWlyZWRfYWJicmV2J10gPSAnUmVxXCdkJzsKJGxhbmdbJ3RpdGxlX3RhYmxlX2xheW91dF90eXBlJ10gPSAnRmllbGQgVGl0bGUgUG9zaXRpb24gKG5vbi1DU1MgTGF5b3V0IG9ubHkpJzsKJGxhbmdbJ3RpdGxlX3RhYmxlX2xheW91dF9sZWZ0J10gPSAnVGl0bGUgb24gTGVmdCc7CiRsYW5nWyd0aXRsZV90YWJsZV9sYXlvdXRfYWJvdmUnXSA9ICdUaXRsZSBBYm92ZSc7CiRsYW5nWyd0aXRsZV9pbmNsdWRlX2VtYWlsX2luZm8nXSA9ICdJbmNsdWRlIFNlcnZlciBJbmZvcm1hdGlvbic7CiRsYW5nWyd0aXRsZV9pbmNsdWRlX2VtYWlsX2luZm9fbG9uZyddID0gJ0luY2x1ZGUgU2VydmVyIEluZm9ybWF0aW9uIGluIEVtYWlsJzsKJGxhbmdbJ3RpdGxlX2hpZGVfZXJyb3JzJ10gPSAnSGlkZSBFcnJvcnMnOwokbGFuZ1sndGl0bGVfaGlkZV9lcnJvcnNfbG9uZyddID0gJ1ByZXZlbnQgZGVidWcgLyBlcnJvciBtZXNzYWdlcyBmcm9tIGJlaW5nIHNlZW4gYnkgdXNlcnMuJzsKJGxhbmdbJ3RpdGxlX2VtYWlsX3RlbXBsYXRlJ10gPSAnRW1haWwgVGVtcGxhdGUnOwokbGFuZ1sndGl0bGVfZW1haWxfdGVtcGxhdGVfdmFycyddID0gJ1ZhcmlhYmxlcyBBdmFpbGFibGUgZm9yIFVzZSBpbiBFbWFpbCBUZW1wbGF0ZSc7CiRsYW5nWyd0aXRsZV9zYW1wbGVfdGVtcGxhdGUnXSA9ICdDcmVhdGUgYSBzYW1wbGUgdGVtcGxhdGUnOwokbGFuZ1sndGl0bGVfbWF4aW11bV9zaXplJ10gPSAnTWF4aW11bSB1cGxvYWQgZmlsZSBzaXplIChraWxvYnl0ZXMpJzsKJGxhbmdbJ3RpdGxlX3Blcm1pdHRlZF9leHRlbnNpb25zJ10gPSAnUGVybWl0dGVkIEV4dGVuc2lvbnMnOwokbGFuZ1sndGl0bGVfcGVybWl0dGVkX2V4dGVuc2lvbnNfbG9uZyddID0gJ0VudGVyIGEgY29tbWEtc2VwYXJhdGVkIGxpc3QsIGV4Y2x1ZGluZyB0aGUgZG90IChlLmcuLCAianBnLGdpZixqcGVnIikuIFNwYWNlcyB3aWxsIGJlIGlnbm9yZWQuIExlYXZpbmcgdGhpcyBibGFuayBtZWFucyB0aGVyZSB3aWxsIGJlIG5vIHJlc3RyaWN0aW9ucy4nOwokbGFuZ1sndGl0bGVfc2hvd19saW1pdGF0aW9ucyddID0gJ0Rpc3BsYXkgcmVzdHJpY3Rpb25zPyc7CiRsYW5nWyd0aXRsZV9zaG93X2xpbWl0YXRpb25zX2xvbmcnXSA9ICdEaXNwbGF5IGFueSBzaXplIGFuZCBleHRlbnNpb24gcmVzdHJpY3Rpb25zIHdpdGggdGhlIHVwbG9hZCBmaWVsZD8nOwokbGFuZ1sndGl0bGVfY2FsbGJhY2tfbW9kdWxlJ10gPSAnQ2FsbGJhY2sgTW9kdWxlJzsKJGxhbmdbJ3RpdGxlX2NhbGxiYWNrX21ldGhvZCddID0gJ0NhbGxiYWNrIE1ldGhvZCc7CiRsYW5nWyd0aXRsZV9jYWxsYmFja19maWVsZHMnXSA9ICdSZXN1bHQgRmllbGRzIHRvIEluY2x1ZGUnOwokbGFuZ1sndGl0bGVfY2FsbGJhY2tfaGVscCddID0gJ0hlbHAnOwokbGFuZ1sndGl0bGVfaWRfYW5kX25hbWUnXSA9ICdVc2UgSUQgYW5kIE5hbWUgZm9yIENTUyBpbnB1dHMnOwokbGFuZ1sndGl0bGVfZGF0ZV9mb3JtYXQnXSA9ICdEYXRlIEZvcm1hdCAoc3RhbmRhcmQgPGEgaHJlZj0iaHR0cDovL3d3dy5waHAubmV0L21hbnVhbC9lbi9mdW5jdGlvbi5kYXRlLnBocCI+UEhQIERhdGUgRm9ybWF0czwvYT4pJzsKJGxhbmdbJ3RpdGxlX3N0YXRpY190ZXh0J10gPSAnU3RhdGljIFRleHQgdG8gRGlzcGxheSAobWF4IDI1NSBjaGFycyknOwokbGFuZ1sndGl0bGVfY2FsbGJhY2tfaGVscGxvbmcnXSA9ICc8cD5Zb3Ugc3BlY2lmeSBhIG1vZHVsZSBhbmQgbWV0aG9kLiBUaGlzIG1ldGhvZCBzaWduYXR1cmUgc2hvdWxkIGJlOjwvcD48YnIgLz4NCmZ1bmN0aW9uIHdoYXRldmVyKCRpZCwgJiRwYXJhbXMsICRyZXR1cm5pZCwgJiRjbXMpPGJyIC8+PGJyIC8+DQo8cD5UaGlzIGZ1bmN0aW9uIHNob3VsZCBvdXRwdXQgc29tZXRoaW5nIHRoYXQgbWFrZXMgc2Vuc2UgaW4gYSBmb3JtLCA8aT5lLmcuPC9pPiBwcm9iYWJseSBoaWRkZW4gZmllbGRzIGNvbnRhaW5pbmcNCnVzZWZ1bCBpbmZvcm1hdGlvbi48L3A+DQo8cD5UaGUgImZpZWxkcyIgZmllbGQgc2hvdWxkIGNvbnRhaW4gYSBjb21tYS1kZWxpbWl0ZWQgbGlzdCBvZiB0aGUgZmllbGRzIGdlbmVyYXRlZCBieSB0aGF0IG1ldGhvZC48L3A+DQo8cD5FeGFtcGxlOiBJIGhhdmUgYSBtb2R1bGUgIlVzZXJJRCIgd2hpY2ggaGFzIGEgbWV0aG9kICJMb2dnZWRJblVzZXIiLiBUaGlzIG1ldGhvZCBjcmVhdGVzIHR3byBoaWRkZW4gZmllbGRzDQpjYWxsZWQgImZpcnN0X25hbWUiIGFuZCAibGFzdF9uYW1lIiB3aGljaCBJIHdhbnQgaW5jbHVkZWQgaW4gbXkgZm9ybSBzdWJtaXNzaW9uLiBJIHdvdWxkIHRoZW4gZW50ZXIgdGhlIGZvbGxvd2luZzo8L3A+DQptb2R1bGU6IFVzZXJJRDxiciAvPg0KbWV0aG9kOiBMb2dnZWRJblVzZXI8YnIgLz4NCmZpZWxkczogZmlyc3RfbmFtZSxsYXN0X25hbWU8L2JyPg0KJzsKJGxhbmdbJ2FkbWluZGVzYyddID0gJ0FkZCwgZWRpdCBhbmQgbWFuYWdlIGludGVyYWN0aXZlIEZlZWRiYWNrIEZvcm1zJzsKJGxhbmdbJ2RhdGVfYV9qYW4nXSA9ICdKQU4nOwokbGFuZ1snZGF0ZV9hX2ZlYiddID0gJ0ZFQic7CiRsYW5nWydkYXRlX2FfbWFyJ10gPSAnTUFSJzsKJGxhbmdbJ2RhdGVfYV9hcHInXSA9ICdBUFInOwokbGFuZ1snZGF0ZV9hX21heSddID0gJ01BWSc7CiRsYW5nWydkYXRlX2FfanVuJ10gPSAnSlVOJzsKJGxhbmdbJ2RhdGVfYV9qdWwnXSA9ICdKVUwnOwokbGFuZ1snZGF0ZV9hX2F1ZyddID0gJ0FVRyc7CiRsYW5nWydkYXRlX2Ffc2VwJ10gPSAnU0VQJzsKJGxhbmdbJ2RhdGVfYV9vY3QnXSA9ICdPQ1QnOwokbGFuZ1snZGF0ZV9hX25vdiddID0gJ05PVic7CiRsYW5nWydkYXRlX2FfZGVjJ10gPSAnREVDJzsKJGxhbmdbJ2RhdGVfamFudWFyeSddID0gJ0phbnVhcnknOwokbGFuZ1snZGF0ZV9mZWJydWFyeSddID0gJ0ZlYnJ1YXJ5JzsKJGxhbmdbJ2RhdGVfbWFyY2gnXSA9ICdNYXJjaCc7CiRsYW5nWydkYXRlX2FwcmlsJ10gPSAnQXByaWwnOwokbGFuZ1snZGF0ZV9tYXknXSA9ICdNYXknOwokbGFuZ1snZGF0ZV9qdW5lJ10gPSAnSnVuZSc7CiRsYW5nWydkYXRlX2p1bHknXSA9ICdKdWx5JzsKJGxhbmdbJ2RhdGVfYXVndXN0J10gPSAnQXVndXN0JzsKJGxhbmdbJ2RhdGVfc2VwdGVtYmVyJ10gPSAnU2VwdGVtYmVyJzsKJGxhbmdbJ2RhdGVfb2N0b2JlciddID0gJ09jdG9iZXInOwokbGFuZ1snZGF0ZV9ub3ZlbWJlciddID0gJ05vdmVtYmVyJzsKJGxhbmdbJ2RhdGVfZGVjZW1iZXInXSA9ICdEZWNlbWJlcic7CiRsYW5nWydtb250aCddID0gJ01vbnRoJzsKJGxhbmdbJ2RheSddID0gJ0RheSc7CiRsYW5nWyd5ZWFyJ10gPSAnWWVhcic7CiRsYW5nWydzdWJtaXNzaW9uX3RpdGxlJ10gPSAnRm9ybSBTdWJtaXNzaW9uJzsKJGxhbmdbJ3N1Ym1pc3Npb25faG9zdCddID0gJ0hvc3QnOwokbGFuZ1snc3VibWlzc2lvbl9mb3JtX25hbWUnXSA9ICdGb3JtJzsKJGxhbmdbJ3N1Ym1pc3Npb25fZGF0ZSddID0gJ0RhdGUnOwokbGFuZ1snc3VibWlzc2lvbl9zb3VyY2UnXSA9ICdTb3VyY2UnOwokbGFuZ1snc3VibWlzc2lvbl9zdWJqZWN0J10gPSAnRm9ybSBTdWJtaXNzaW9uJzsKJGxhbmdbJ3N1Ym1pc3Npb25fZXJyb3InXSA9ICdUaGVyZSBoYXMgYmVlbiBhbiBlcnJvciBpbiB0aGUgZm9ybSBzdWJtaXNzaW9uPGJyPlBsZWFzZSB0cnkgYWdhaW4gbGF0ZXIuJzsKJGxhbmdbJ3N1Ym1pc3Npb25fZXJyb3JfZmlsZSddID0gJ0Vycm9yLiBVbmFibGUgdG8gd3JpdGUgdG8gZmlsZS4nOwokbGFuZ1sncG9zdF9pbnN0YWxsJ10gPSAnPHA+TWFrZSBzdXJlIHRvIHNldCB0aGUgIk1vZGlmeSBGZWVkYmFjayBGb3JtcyIgcGVybWlzc2lvbnMNCm9uIHVzZXJzIHdobyB3aWxsIGJlIGFkbWluaXN0ZXJpbmcgZmVlZGJhY2sgZm9ybXMuIEFsc28sIGlmIHlvdVwnbGwgYmUgZW1haWxpbmcgZm9ybQ0KcmVzdWx0cywgYmUgc3VyZSB0byB1cGRhdGUgdGhlIENvbmZpZ3VyYXRpb24gYXBwcm9wcmlhdGVseS48L3A+DQo8cD5QbGVhc2UgYmUgYXdhcmUgdGhhdCBhIGZlZWRiYWNrIGZvcm0gc2hvdWxkIG5vdCBiZSBhY3RpdmUgKGUuZy4sIHVzYWJsZSBieSB0aGUgcHVibGljKSB3aGlsZQ0KeW91IGFyZSBzdGlsbCBlZGl0aW5nIHRoZSBmb3JtLiBZb3Ugc2hvdWxkIGNyZWF0ZSB0aGUgZm9ybSwgYW5kIHBsYWNlIHRoZSB0YWcgaW50byBhbiBhY3RpdmUNCmNvbnRlbnQgcGFnZSBvbmx5IHdoZW4geW91IGhhdmUgZmluaXNoZWQgZWRpdGluZy4gT3RoZXJ3aXNlLCBlcnJvbmVvdXMgcmVzdWx0cyBjb3VsZCBiZSByZXR1cm5lZC48L3A+DQo8cD5BZGRpdGlvbmFsbHksIHRoaXMgdmVyc2lvbiBkb2VzIG5vdCBzdXBwb3J0IHBhcmFsbGVsIGVkaXRpbmcgb2YgZm9ybXMuIFBsZWFzZSB0YWtlIGNhcmUgdGhhdA0Kb25seSBvbmUgYWRtaW4gaXMgZWRpdGluZyBhIGdpdmVuIGZvcm0gYXQgYSBnaXZlbiB0aW1lLjwvcD4nOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPg0KPHA+VGhlIEZlZWRiYWNrRm9ybSBNb2R1bGUgYWxsb3dzIHlvdSB0byBjcmVhdGUgZm9ybXMgZm9yIHVzZXIgZmVlZGJhY2suIFRoZXNlIGZvcm1zIG1heSBiZSBpbnNlcnRlZA0KaW50byB0ZW1wbGF0ZXMgYW5kL29yIGNvbnRlbnQgcGFnZXMuIEZlZWRiYWNrIGZvcm1zIG1heSBjb250YWluIG1hbnkga2luZHMgb2YgaW5wdXRzLCBhbmQgbWF5IGhhdmUNCnZhbGlkYXRpb24gYXBwbGllZCB0byB0aGVzZSBpbnB1dHMuIFRoZSByZXN1bHRzIG9mIHRoZXNlIGZvcm1zIG1heSBiZSBoYW5kbGVkIGluIGEgdmFyaWV0eSBvZiB3YXlzLjwvcD4NCg0KPGgzPkhvdyBEbyBJIFVzZSBpdD88L2gzPg0KPFA+SW5zdGFsbCBpdCwgYW5kIHBva2UgYXJvdW5kIHRoZSBtZW51cy4gUGxheSB3aXRoIGl0LiBUcnkgY3JlYXRpbmcgZm9ybXMsIGFuZCBhZGRpbmcgdGhlbSB0byB5b3VyIGNvbnRlbnQuDQpJZiB5b3UgZ2V0IHN0dWNrLCBjaGF0IHdpdGggbWUgb24gdGhlICNjbXMgSVJDIGNoYW5uZWwsIHBvc3QgdG8gdGhlIGZvcnVtLCBzZW5kIG1lIGVtYWlsLCBvciwgaWYgeW91XCdyZQ0KcmVhbGx5IGRlc3BlcmF0ZSwgcmVhZCB0aGUgcmVzdCBvZiB0aGlzIHBhZ2UuPC9QPg0KDQo8aDM+SG93IERvIEkgQ3JlYXRlIGEgRm9ybTwvaDM+DQo8cD5JbiB0aGUgQ01TIEFkbWluIE1lbnUsIHlvdSBzaG91bGQgZ2V0IGEgbmV3IG1lbnUgaXRlbSBjYWxsZWQgRmVlZGJhY2tGb3JtLiBDbGljayBvbiB0aGlzLiBPbiB0aGUgcGFnZQ0KdGhhdCBnZXRzIHNob3duLCB0aGVyZSBhcmUgb3B0aW9ucyAoYXQgdGhlIGJvdHRvbSBvZiB0aGUgbGlzdCBvZiBGb3JtcykgdG8gQWRkIGEgTmV3IEZvcm0gb3IgTW9kaWZ5DQpDb25maWd1cmF0aW9uLjwvcD4NCg0KPGgzPkFkZGluZyBhIEZvcm0gdG8gYSBQYWdlPC9oMz4NCjxwPkluIHRoZSBtYWluIEZlZWRiYWNrRm9ybSBhZG1pbiBwYWdlLCB5b3UgY2FuIHNlZSBhbiBleGFtcGxlIG9mIHRoZSB0YWcgdXNlZCB0byBkaXNwbGF5IGVhY2ggZm9ybS4gSXQgbG9va3MNCnNvbWV0aGluZyBsaWtlIHtjbXNfbW9kdWxlIG1vZHVsZT0iRmVlZGJhY2tGb3JtIiBmb3JtPSJmZWVkYmFja19mb3JtX2V4YW1wbGUifTwvcD4NCjxwPkJ5IGNvcHlpbmcgdGhpcyB0YWcgaW50byB0aGUgY29udGVudCBvZiBhIHBhZ2UsIG9yIGludG8gYSB0ZW1wbGF0ZSwgd2lsbCBjYXVzZSB0aGF0IGZvcm0gdG8gYmUgZGlzcGxheWVkLg0KSW4gdGhlb3J5LCB5b3UgY2FuIGhhdmUgbXVsdGlwbGUgZm9ybXMgb24gYSBwYWdlIGlmIHlvdSByZWFsbHkgd2FudCB0by4gQmUgY2FyZWZ1bCB3aGVuIHBhc3RpbmcgdGhlIHRhZw0KaW50byBhIHBhZ2VcJ3MgY29udGVudCBpZiB5b3UgdXNlIGEgV1lTSVdZRyBlZGl0b3Igc3VjaCBhcyBUaW55TUNFIG9yIEhUTUxBcmVhLiBUaGVzZSBlZGl0b3JzIG1heSBzdGVhbHRoaWx5DQpjaGFuZ2UgdGhlIHF1b3RlIG1hcmtzICgiKSBpbnRvIEhUTUwgZW50aXRpZXMgKCZhbXA7cXVvdDspLCBhbmQgdGhlIGZvcm1zIHdpbGwgbm90IHNob3cgdXAuIFRyeSB1c2luZw0Kc2luZ2xlIHF1b3RlcyAoXCcpIG9yIGVkaXRpbmcgdGhlIEhUTUwgZGlyZWN0bHkuDQoNCjxoMz5BZGRpbmcgRmllbGRzIHRvIGEgRm9ybTwvaDM+DQo8cD5CeSBjbGlja2luZyBvbiBhIEZvcm1cJ3MgbmFtZSwgeW91IGVudGVyIHRoZSBGb3JtIEVkaXQgcGFnZS4gWW91IHdpbGwgc2VlIGEgbnVtYmVyIG9mIG9wdGlvbnMgZm9yIHRoZSBmb3JtDQoobGlrZSB3aGF0IHlvdSB3YW50IHRoZSB0ZXh0IG9mIHRoZSBzdWJtaXQgYnV0dG9uIHRvIHNheSwgd2hhdCBtZXNzYWdlIHNob3VsZCBiZSBkaXNwbGF5ZWQgdG8gdGhlIHVzZXIgd2hlbg0KdGhleSBzdWJtaXQgdGhlIGZvcm0sIGV0YykuIFRoZXJlIGlzIGFsc28gYSBsaXN0IG9mIGZpZWxkcyB0aGF0IG1ha2UgdXAgdGhlIGZvcm0uIFRoZSB0eXBlcyBvZiBmaWVsZHMgdGhhdA0KYXJlIGN1cnJlbnRseSBzdXBwb3J0ZWQgZml0IGludG8gZm91ciBncm91cHM6IHN0YW5kYXJkIGlucHV0IGZpZWxkcywgZGlzcGxheSBjb250cm9sIGZpZWxkcywgZW1haWwtb25seSBpbnB1dA0KZmllbGRzLCBhbmQgZm9ybSByZXN1bHQgaGFuZGxpbmcgZmllbGRzIChhbHNvDQpjYWxsZWQgRm9ybSBEaXNwb3NpdGlvbnMgaW4gcGxhY2VzKTo8L3A+DQo8dWw+DQo8bGk+U3RhbmRhcmQgSW5wdXQgRmllbGRzIC0gdGhlc2UgYXJlIGlucHV0cyB0aGF0IGFsbG93IGVudHJ5IG9mIHR5cGljYWwgZm9ybSBlbGVtZW50cy48L2xpPg0KPGxpPkRpc3BsYXkgQ29udHJvbCBGaWVsZHMgLSB0aGVzZSBpbnB1dCBjb250cm9sIGhvdyB0aGUgdXNlciB3aWxsIHNlZSB0aGUgZGlzcGxheSBvZiB0aGUgZm9ybS48L2xpPg0KPGxpPkVtYWlsLW9ubHkgSW5wdXQgRmllbGRzIC0gdGhlc2UgYXJlIGlucHV0cyB0aGF0IGFsbG93IGVudHJ5IG9mIHR5cGljYWwgZm9ybSBlbGVtZW50cywgYnV0IGFwcGx5IG9ubHkNCmZvciBmb3JtIGRpc3Bvc2l0aW9ucyB0aGF0IHNlbmQgdGhlIHJlc3VsdHMgdmlhIGVtYWlsLjwvbGk+DQo8bGk+U3BlY2lhbCBQdXJwb3NlIEZpZWxkcyAtIHRoZXNlIGlucHV0cyBhcmUgdXNlZCBmb3IgaW50ZXJmYWNpbmcgcHJvZ3JhbW1hdGljYWxseSB3aXRoIG90aGVyIG1vZHVsZXMuPC9saT4NCjxsaT5Gb3JtIERpc3Bvc2l0aW9ucyAtIFRoZXNlIGRldGVybWluZSB3aGF0IGhhcHBlbnMgd2hlbiB0aGUgdXNlcg0Kc3VibWl0cyB0aGUgZm9ybTsgZm9yIGVhY2ggcmVzdWx0IGhhbmRsaW5nIGZpZWxkLCBzb21lIG1ldGhvZCBvZiB0cmFuc21pdHRpbmcsIHNhdmluZywgb3IgZW1haWxpbmcgdGhlDQpmb3JtIGNvbnRlbnRzIHRha2VzIHBsYWNlLiBBIGZvcm0gbWF5IGhhdmUgbXVsdGlwbGUgZm9ybSBkaXNwb3NpdGlvbnMuPC9saT4NCjwvdWw+DQo8cD5Gb3JtIGZpZWxkcyBhcmUgYXNzaWduZWQgbmFtZXMuIFRoZXNlIG5hbWVzIGlkZW50aWZ5IHRoZSBmaWVsZCwgbm90IG9ubHkgb24gdGhlIHNjcmVlbiBhcyBsYWJlbHMgZm9yIHRoZSB1c2VyLA0KYnV0IGluIHRoZSBkYXRhIHdoZW4gaXRcJ3Mgc3VibWl0dGVkIHNvIHlvdSBrbm93IHdoYXQgdGhlIHVzZXIgaXMgcmVzcG9uZGluZyB0by4gUGhyYXNpbmcgdGhlIG5hbWUgbGlrZSBhIHF1ZXN0aW9uDQppcyBhIGhhbmR5IHdheSBvZiBtYWtpbmcgaXQgY2xlYXIgdG8gdGhlIHVzZXIgd2hhdCBpcyBleHBlY3RlZC4gU2ltaWxhcmx5LCBzb21lIGZpZWxkcyBoYXZlIGJvdGggTmFtZXMgYW5kIFZhbHVlcy4NClRoZSBOYW1lcyBhcmUgd2hhdCBnZXRzIHNob3duIHRvIHRoZSB1c2VyOyB0aGUgVmFsdWUgaXMgd2hhdCBnZXRzIHNhdmVkIG9yIHRyYW5zbWl0dGVkIHdoZW4gdGhlIHVzZXIgc3VibWl0cw0KdGhlIGZvcm0uIFRoZSBWYWx1ZXMgYXJlIG5ldmVyIHNlZW4gYnkgdGhlIHVzZXIsIG5vciBhcmUgdGhleSB2aXNpYmxlIGluIHRoZSBIVE1MLCBzbyBpdFwncyBzYWZlIHRvIHVzZSBmb3INCmVtYWlsIGFkZHJlc3NlcyBhbmQgc3VjaC48L3A+DQo8cD5Tb21lIGZpZWxkcyBjYW4gaGF2ZSBtdWx0aXBsZSB2YWx1ZXMsIG9yIG11bHRpcGxlIG5hbWUvdmFsdWUgcGFpcnMuIFdoZW4geW91IGZpcnN0IGNyZWF0ZSBzdWNoIGEgZmllbGQsDQp0aGVyZSBtYXkgbm90IGJlIHN1ZmZpY2llbnQgaW5wdXRzIGZvciB5b3UgdG8gc3BlY2lmeSBhbGwgdGhlIHZhbHVlcyB5b3Ugd2FudC4gVG8gZ2V0IG1vcmUgc3BhY2UgZm9yIGlucHV0dGluZw0KdGhlc2UgdmFsdWVzLCBzaW1wbHkgc2F2ZSB0aGUgZmllbGQsIGFuZCB0aGVuIGNsaWNrIG9uIGl0cyBuYW1lIHRvIGVkaXQgaXQgYWdhaW4uIEV2ZXJ5IHRpbWUgeW91IGVkaXQgc3VjaCBhDQpmaWVsZCwgeW91IHdpbGwgcmVjZWl2ZSBtb3JlIGlucHV0cy48L3A+DQo8cD5GaWVsZHMgY2FuIGJlIGFzc2lnbmVkIHZhbGlkYXRpb24gcnVsZXMsIHdoaWNoIHZhcnkgYWNjb3JkaW5nIHRvIHRoZSB0eXBlIG9mIHRoZSBmaWVsZC4gVGhlc2UgcnVsZXMgaGVscA0KZW5zdXJlIHRoYXQgdGhlIHVzZXIgZW50ZXJzIHZhbGlkIGRhdGEuIFRoZXkgbWF5IGFsc28gYmUNCnNlcGFyYXRlbHkgbWFya2VkICJSZXF1aXJlZCIsIHdoaWNoIHdpbGwgZm9yY2UgdGhlIHVzZXIgdG8gZW50ZXIgYSByZXNwb25zZS48L3A+DQo8cD5GaWVsZHMgYWxzbyBtYXkgYmUgYXNzaWduZWQgYSBDU1MgY2xhc3MuIFRoaXMgc2ltcGx5IHdyYXBzIHRoZSBpbnB1dCBpbiBhIGRpdiB3aXRoIHRoYXQgY2xhc3MsIHNvIGFzIHRvIGFsbG93DQpjdXN0b21pemVkIGxheW91dHMuIFRvIHVzZSB0aGlzIGVmZmVjdGl2ZWx5LCB5b3UgbWF5IG5lZWQgdG8gInZpZXcgc291cmNlIiBvbiB0aGUgZ2VuZXJhdGVkIGZvcm0sIGFuZCB0aGVuDQp3cml0ZSB5b3VyIENTUy48L3A+DQo8dWw+DQo8bGk+U3RhbmRhcmQgSW5wdXRzDQo8dWw+PGxpPlRleHQgSW5wdXQuIFRoaXMgaXMgYSBzdGFuZGFyZCB0ZXh0IGZpZWxkLiBZb3UgY2FuIGxpbWl0IHRoZSBsZW5ndGgsIGFuZCBhcHBseSB2YXJpb3VzIHZhbGlkYXRpb24NCmZ1bmN0aW9ucyB0byB0aGUgZmllbGQuPC9saT4NCjxsaT5UZXh0IEFyZWEuIFRoaXMgaXMgYSBiaWcsIGZyZWUtZm9ybSB0ZXh0IGlucHV0IGZpZWxkLjwvbGk+DQo8bGk+Q2hlY2tib3guIFRoaXMgaXMgYSBzdGFuZGFyZCBjaGVjayBib3guIElmIHlvdSB0dXJuIG9uIHZhbGlkYXRpb24sIHlvdSBjYW4gcmVxdWlyZSB0aGF0IHRoZSB1c2VyIGNoZWNrcw0KdGhlIGJveC4gVGhpcyBpcyB1c2VmdWwgZm9yIGZvcm1zIHdoZXJlIHRoZSB1c2VyIGlzIG9ibGlnYXRlZCB0byBhZ3JlZSB0byBzb21ldGhpbmcgaW4gb3JkZXIgdG8gc3VibWl0DQp0aGUgZm9ybS48L2xpPg0KPGxpPkNoZWNrYm94IEdyb3VwLiBUaGlzIGlzIGEgY29sbGVjdGlvbiBvZiBjaGVja2JveGVzLiBUaGUgb25seSBkaWZmZXJlbmNlIGJldHdlZW4gdGhpcyBpbnB1dCBhbmQgYQ0KY29sbGVjdGlvbiBvZiBDaGVja2JveCBpbnB1dHMgaXMgdGhhdCB0aGV5IGFyZSBwcmVzZW50ZWQgYXMgYSBncm91cCwgd2l0aCBvbmUgbmFtZSwgYW5kIGNhbiBoYXZlIGEgdmFsaWRhdGlvbg0KZnVuY3Rpb24gcmVxdWlyaW5nIHRoYXQgeW91IGNoZWNrIG9uZSBvciBtb3JlIG9mIHRoZSBib3hlcyBpbiB0aGUgZ3JvdXAuPC9saT4NCjxsaT5SYWRpbyBHcm91cC4gVGhpcyBpcyBhIGNvbGxlY3Rpb24gb2YgcmFkaW8gYnV0dG9ucy4gT25seSBvbmUgb2YgdGhlIGdyb3VwIG1heSBiZSBzZWxlY3RlZCBieSB0aGUgdXNlci48L2xpPg0KPGxpPlB1bGxkb3duLiBUaGlzIGlzIGEgc3RhbmRhcmQgcHVsbGRvd24gbWVudS4gSXRcJ3MgcmVhbGx5IGNvbmNlcHR1YWxseSB0aGUgc2FtZSB0aGluZyBhcyBhIHJhZGlvIGJ1dHRvbg0KZ3JvdXAsIGJ1dCBpcyBiZXR0ZXIgd2hlbiB0aGVyZSBhcmUgYSBsYXJnZSBudW1iZXIgb2Ygb3B0aW9ucy48L2xpPg0KPGxpPlN0YXRlLiBUaGlzIGlzIGEgcHVsbGRvd24gbGlzdGluZyB0aGUgU3RhdGVzIG9mIHRoZSBVLlMuPC9saT4NCjxsaT5Db3VudHJpZXMuIFRoaXMgaXMgYSBwdWxsZG93biBsaXN0aW5nIHRoZSBDb3VudHJpZXMgb2YgdGhlIHdvcmxkIChhcyBvZiBKdWx5IDIwMDUpLjwvbGk+DQo8bGk+RGF0ZSBQaWNrZXIuIFRoaXMgaXMgYSB0cmlwbGUgcHVsbGRvd24gYWxsb3dpbmcgdGhlIHVzZXIgdG8gc2VsZWN0IGEgZGF0ZS48L2xpPg0KPC91bD48L2xpPg0KDQo8bGk+RW1haWwtb25seSBJbnB1dHMNCjx1bD48bGk+RmlsZSBVcGxvYWQuIFRoaXMgYWxsb3dzIGEgdXNlciB0byB1cGxvYWQgYSBmaWxlLCB3aGljaCB3aWxsIGJlIGluY2x1ZGVkIGFzIGFuIGF0dGFjaG1lbnQgdG8gYW55IGVtYWlsDQpkaXNwb3NpdGlvbi4gRmlsZSB1cGxvYWRzIGRvIG5vdCBjdXJyZW50bHkgd29yayB3aXRoIHRoZSBGbGF0IEZpbGUgZGlzcG9zaXRpb24gbWV0aG9kLjwvbGk+DQo8bGk+RW1haWwgRnJvbSBGaWVsZC4gVGhpcyBhbGxvd3MgdXNlcnMgdG8gcHJvdmlkZSB0aGVpciBuYW1lIGFuZCBlbWFpbCBhZGRyZXNzLiBUaGUgZW1haWwgZ2VuZXJhdGVkIHdoZW4gdGhlDQpmb3JtIGdldHMgaGFuZGxlZCB3aWxsIHVzZSB0aGlzIG5hbWUgYW5kIGFkZHJlc3MgaW4gdGhlICJGcm9tIiBmaWVsZC48L2xpPg0KPC91bD48L2xpPg0KDQo8bGk+RGlzcGxheSBDb250cm9sIEZpZWxkczx1bD4NCjxsaT5QYWdlIEJyZWFrLiBUaGlzIGFsbG93cyB5b3UgdG8gc3BsaXQgeW91ciBmZWVkYmFjayBmb3JtIGludG8gbXVsdGlwbGUgcGFnZXMuIEVhY2ggcGFnZSBpcw0KaW5kZXBlbmRlbnRseSB2YWxpZGF0ZWQuIFRoaXMgaXMgZ29vZCBmb3IgYXBwbGljYXRpb25zIGxpa2Ugb25saW5lIHN1cnZleXMuPC9saT4NCjxsaT5TdGF0aWMgVGV4dC4gVGhpcyBhbGxvd3MgeW91IHRvIHBsYWNlIHRleHQgaW4geW91ciBmb3JtLiBJdFwncyBjYWxsZWQgYW4gaW5wdXQsIGJ1dCBpdFwncyBkaXNwbGF5IG9ubHkuIFRoaXMgaXMgdXNlZnVsIGZvciBwcmVzZW50aW5nIGluc3RydWN0aW9ucywgaGVscCwgZXRjLjwvbGk+DQo8L3VsPjwvbGk+DQoNCjxsaT5TcGVjaWFsIFB1cnBvc2UgRmllbGRzPHVsPg0KPGxpPkZ1bmN0aW9uIENhbGxiYWNrICJJbnB1dCIuIFRoaXMgYWxsb3dzIHByb2dyYW1tZXJzIHRvIGFjY2VzcyBpbmZvcm1hdGlvbiBmcm9tIG90aGVyIG1vZHVsZXMgKHN1Y2ggYXMgZ2V0dGluZyB1c2VyIG5hbWUgZGF0YSBmcm9tIGEgdXNlciBhdXRoZW50aWNhdGlvbiBtb2R1bGUpLjwvbGk+PC91bD48L2xpPg0KDQo8bGk+Rm9ybSBIYW5kbGluZyBJbnB1dHMgKERpc3Bvc2l0aW9ucykNCjx1bD48bGk+RW1haWwgUmVzdWx0cyBCYXNlZCBvbiBQdWxsZG93bi4gVGhpcyBpcyB1c2VmdWwgZm9yIHdlYiBzaXRlcyB3aGVyZSBjb21tZW50cyBnZXQgcm91dGVkIGJhc2VkIG9uDQp0aGVpciBzdWJqZWN0IG1hdHRlciwgZS5nLiwgYnVncyBnZXQgc2VudCB0byBvbmUgcGVyc29uLCBtYXJrZXRpbmcgcXVlc3Rpb25zIHRvIGFub3RoZXIgcGVyc29uLCBzYWxlcyByZXF1ZXN0cw0KdG8gc29tZW9uZSBlbHNlLCBldGMuIFRoZSBwdWxsZG93biBpcyBwb3B1bGF0ZWQgd2l0aCB0aGUgc3ViamVjdHMsIGFuZCBlYWNoIGdldHMgZGlyZWN0ZWQgdG8gYSBzcGVjaWZpYyBlbWFpbA0KYWRkcmVzcy4gWW91IHNldCB1cCB0aGVzZSBtYXBwaW5ncyBpbiB0aGUgd2hlbiB5b3UgY3JlYXRlIG9yIGVkaXQgYSBmaWVsZCBvZiB0aGlzIHR5cGUuIElmIHlvdSB1c2Ugb25lIG9mDQp0aGVzZSAiRGlyZWN0b3IiIHB1bGxkb3ducywgdGhlIHVzZXIgbXVzdCBtYWtlIGEgc2VsZWN0aW9uIGluIG9yZGVyIHRvIHN1Ym1pdCB0aGUNCmZvcm0uIFRoaXMgaW5wdXQgaXMgcGFydCBvZiB0aGUgZm9ybSB0aGUgdXNlciBzZWVzLCBhbHRob3VnaCB0aGUgZW1haWwgYWRkcmVzc2VzIGFyZSBub3QgbWFkZSB2aXNpYmxlIG5vcg0KYXJlIHRoZXkgZW1iZWRkZWQgaW4gdGhlIEhUTUwuPC9saT4NCjxsaT5FbWFpbCBSZXN1bHRzIHRvIHNldCBBZGRyZXNzKGVzKS4gVGhpcyBzaW1wbHkgc2VuZHMgdGhlIGZvcm0gcmVzdWx0cyB0byBvbmUgb3IgbW9yZSBlbWFpbCBhZGRyZXNzZXMgdGhhdA0KeW91IGVudGVyIHdoZW4geW91IGNyZWF0ZSBvciBlZGl0IHRoaXMgdHlwZSBvZiBmaWVsZC4gVGhpcyBmaWVsZCBhbmQgaXRzIG5hbWUgYXJlIG5vdCB2aXNpYmxlIGluIHRoZQ0KZm9ybSB0aGF0IHRoZSB1c2VyIHNlZXMuIFRoZSBlbWFpbCBhZGRyZXNzZXMgYXJlIG5vdCBtYWRlIHZpc2libGUgbm9yDQphcmUgdGhleSBlbWJlZGRlZCBpbiB0aGUgSFRNTC48L2xpPg0KPGxpPkVtYWlsIFJlc3VsdHMgdG8gVXNlci1TZWxlY3RlZCBTaXRlIFVzZXIuIFRoaXMgaW5wdXQgaXMgb3VyIGZpcnN0IGVuZC11c2VyIHN1Z2dlc3Rpb24hIEl0IGNyZWF0ZXMgYSANCnB1bGxkb3duIG9mIHVzZXJuYW1lcyBpbiB0aGUgZm9ybS4gVGhlIHVzZXJuYW1lcyBhcmUgb3RoZXIgdXNlcnMgd2hvIGFyZSByZWdpc3RlcmVkIHdpdGggdGhlIHNpdGUuDQpXaGVuIHRoZSBmb3JtIGlzIHN1Ym1pdHRlZCwgdGhlIGRhdGEgaXMgc2VudCB0byB0aGUgdXNlciB3aG9zZSBuYW1lIHdhcyBzZWxlY3RlZC4gV2hlbiB5b3UgY3JlYXRlDQphIGZpZWxkIG9mIHRoaXMgdHlwZSwgeW91IG1heSBzZWxlY3Qgc3BlY2lmaWMgZ3JvdXBzIGZyb20gd2hpY2ggdGhlIHVzZXJsaXN0IGlzIGNyZWF0ZWQuIFRoaXMgaW5wdXQgaXMNCnBhcnQgb2YgdGhlIGZvcm0gdGhlIHVzZXIgc2VlcywgYWx0aG91Z2ggdGhlIGVtYWlsIGFkZHJlc3NlcyBhcmUgbm90IG1hZGUgdmlzaWJsZSBub3IgYXJlIHRoZXkgZW1iZWRkZWQNCmluIHRoZSBIVE1MLjwvbGk+DQo8bGk+V3JpdGUgUmVzdWx0cyB0byBGbGF0IEZpbGUuIFRoaXMgdGFrZXMgdGhlIGZvcm0gcmVzdWx0cyBhbmQgd3JpdGVzIHRoZW0gaW50byBhIHRleHQgZmlsZS4gWW91IG1heQ0Kc2VsZWN0IHRoZSBuYW1lIG9mIHRoZSBmaWxlLCBhbmQgaXRzIGZvcm1hdC4gWW91IGNhbiBjaG9vc2UgZnJvbSAicGFnZSIgZm9ybWF0LCB3aGljaCBsb29rcyBsaWtlIHRoZQ0KZW1haWxzIHRoYXQgZ2V0IHNlbnQgYnkgdGhlIG90aGVyIGhhbmRsZXJzLCBvciB5b3UgY2FuIGNob29zZSBhIHRhYi1kZWxpbWl0ZWQgZm9ybWF0IHVzZWZ1bCBmb3IgcmVhZGluZw0KaW50byBFeGNlbCBvciBzaW1pbGFyIHByb2dyYW1zLiBJZiB5b3UgY2hvb3NlIHRhYi1kZWxpbWl0ZWQsIHlvdSBjYW4gb3B0IHRvIGhhdmUgdGhlIGZpbGUgc3RhcnQgd2l0aA0KYSBoZWFkZXIgcm93LCB3aGljaCBuYW1lcyB0aGUgY29sdW1ucy4gVGhlc2UgZmlsZXMgYXJlIHdyaXR0ZW4gdG8gdGhlICJvdXRwdXQiIGRpcmVjdG9yeSB1bmRlciB0aGUNCm1vZHVsZVwncyBpbnN0YWxsYXRpb24gZGlyZWN0b3J5Lg0KPC91bD48L2xpPjwvbGk+PC91bD4NCg0KPGgzPktub3duIElzc3VlczwvaDM+DQo8dWw+DQo8bGk+RmlsZSBVcGxvYWQgSW5wdXRzIG1heSBiZSB1c2VkIG9uIG11bHRpLXBhZ2UgZmVlZGJhY2sgZm9ybXMsIDxzdHJvbmc+YnV0IHRoZXkgbXVzdCBiZSBvbiB0aGUgbGFzdCBwYWdlPC9zdHJvbmc+IG9mDQp0aGUgZm9ybS48L2xpPg0KPGxpPkZpbGUgVXBsb2FkICJtYXhpbXVtIHNpemUiIGNhbm5vdCBiZSBsYXJnZXIgdGhhbiB0aGUgdmFsdWUgc2V0IGluIHlvdXIgcGhwLmluaSBmaWxlLiBUaGlzIGlzIG5vdCBhIGJ1ZyAtLSB0aGlzIGlzIGEgZmVhdHVyZS48L2xpPg0KPGxpPkZpbGUgVXBsb2FkICJtYXhpbXVtIHNpemUiIHVzZXMgdW5pdHMgY2FsbGVkICJraWxvYnl0ZXMiIHRoYXQgYXJlIDEwMDAgYnl0ZXMsIG5vdCAxMDI0IGJ5dGVzLjwvbGk+DQo8bGk+RmlsZSBVcGxvYWRzIGRvIG5vdCBjdXJyZW50bHkgd29yayB3aXRoIHRoZSBGbGF0IEZpbGUgZGlzcG9zaXRpb24gbWV0aG9kLjwvbGk+DQo8bGk+RmlsZSBVcGxvYWRzIGNvdWxkIGFsbG93IHVzZXJzIHRvIHN1Ym1pdCBvZmZlbnNpdmUsIG9ic2NlbmUsIG9yIGlsbGVnYWwgbWF0ZXJpYWwuIEl0IGNvdWxkIGFsc28gYmUgdXNlZCB0byB0cmFuc21pdA0KZGFuZ2Vyb3VzIGZpbGVzIHN1Y2ggYXMgdHJvamFuLWhvcnNlcywgdmlydXNlcywgb3Igb3RoZXIgc2VjdXJpdHkgdGhyZWF0cy4gVXNlIEZpbGUgVXBsb2FkcyB3aXRoIGNhdXRpb24gYW5kIGNvbW1vbiBzZW5zZS48L2xpPg0KPC91bD4NCg0KPGgzPlRyb3VibGVzaG9vdGluZzwvaDM+DQo8b2w+PGxpPiBGaXJzdCBzdGVwIGlzIHRvIGNoZWNrIHlvdVwncmUgcnVubmluZyBDTVMgMC4xMC54IG9yIGxhdGVyLjwvbGk+DQo8bGk+IFNlY29uZCBzdGVwIGlzIHRvIHJlYWQgYW5kIHVuZGVyc3RhbmQgdGhlIGNhdmVhdCBhYm91dCBXWVNJV1lHIGVkaXRvcnMgdXAgaW4gdGhlDQpzZWN0aW9uIDxlbT5BZGRpbmcgYSBGb3JtIHRvIGEgUGFnZTwvZW0+LjwvbGk+DQo8bGk+IEp1c3QgbWVzcyBhcm91bmQgYW5kIHRyeSBjbGlja2luZyBvbiBsaW5rcyBhbmQgaWNvbnMgYW5kIHN0dWZmLiBTZWUgd2hhdCBoYXBwZW5zLjwvbGk+DQo8bGk+IExhc3QgcmVzcG9ydCBpcyB0byBlbWFpbCBtZSBvciBjYXRjaCBtZSBvbiBJUkMgYW5kIHdlIGNhbiBnbyBmcm9tIHRoZXJlLjwvbGk+DQo8L29sPiANCjxwPlRoaXMgbWF5IG5vIGxvbmdlciBiZSBzdWNoIGFuIGVhcmx5IHZlcnNpb24sIGJ1dCBpdCBpcyBwcm9iYWJseSBzdGlsbCBidWdneS4gV2hpbGUgSVwndmUgZG9uZSBhbGwgSSBjYW4NCnRvIG1ha2Ugc3VyZSBubyBlZ3JlZ2lvdXMgYnVncyBoYXZlIGNyZXB0IGluLCBJIGhhdmUgdG8gYWRtaXQgdGhhdCBkdXJpbmcgdGVzdGluZywgdGhpcyBwcm9ncmFtDQpyZXZlYWxlZCBzZXZlbiBjb2Nrcm9hY2hlcywgdHdvIGVhcndpZ3MsIGEgc21hbGwgZmFtaWx5IG9mIGFwaGlkcywgYW5kIGEgd2Fsa2luZy1zdGljayBpbnNlY3QuIEl0IGFsc28NCmF0ZSB0aGUgbmVpZ2hib3JcJ3MgbmFzdHkgbGl0dGxlIHlhcCBkb2csIGZvciB3aGljaCBJIHdhcyBpbmFwcHJvcHJpYXRlbHkgZ3JhdGVmdWwuPC9wPg0KPHA+VGhlIGZpbmFsIHJlbGVhc2Ugd2lsbCBpbmNsdWRlIGJ1ZyBmaXhlcywgZG9jdW1lbnRhdGlvbiwgYW5kIHVuY29uZGl0aW9uYWwgbG92ZS48L3A+DQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+DQo8dWw+DQo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQgb3IgYnV5IGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHZpc2l0IFNqR1wncw0KbW9kdWxlIGhvbWVwYWdlIGF0IDxhIGhyZWY9Imh0dHA6Ly93d3cuY21zbW9kdWxlcy5jb20iPkNNU01vZHVsZXMuY29tPC9hPi48L2xpPg0KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPGxpPlRoZSBhdXRob3IsIFNqRywgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4NCjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseS48L2xpPiAgDQo8L3VsPg0KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0DQpvZiB0aGUgbGljZW5zZSBmb3IgdGhlIGZ1bGwgZGlzY2xhaW1lci48L3A+DQoNCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA1LCBTYW11ZWwgR29sZHN0ZWluIDxhIGhyZWY9Im1haWx0bzpzamdAY21zbW9kdWxlcy5jb20iPiZsdDtzamdAY21zbW9kdWxlcy5jb20mZ3Q7PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBtb2R1bGUgaGFzIGJlZW4gcmVsZWFzZWQgdW5kZXIgdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+R05VIFB1YmxpYyBMaWNlbnNlPC9hPi4gWW91IG11c3QgYWdyZWUgdG8gdGhpcyBsaWNlbnNlIGJlZm9yZSB1c2luZyB0aGUgbW9kdWxlLjwvcD4NCgkJDQonOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnCQkgICAgPHVsPg0KCQkgICAgPGxpPlZlcnNpb25zIDAuOS54IC0gT2N0b2JlciwgTm92ZW1iZXIgMjAwNS4gQ29udGludWluZyBidWcgZml4ZXMuPC9saT4NCgkJICAgIDxsaT5WZXJzaW9uIDAuOSAtICAyIE9jdG9iZXIgMjAwNS4gTWlncmF0ZWQgdG8gcHJvcGVyIE1vZHVsZSBBUEkgKGxhbmcsIHNtYXJ0eSB0ZW1wbGF0ZXMsIGV0Yy4pLjwvbGk+DQogICAgICAgICAgICA8bGk+VmVyc2lvbiAwLjggLSAzMSBKdWx5IDIwMDUuIEJ1ZyBmaXhlcywgYWRkZWQgRGF0ZSBhbmQgQ2FsbGJhY2sgRnVuY3Rpb24gaW5wdXQgdHlwZXMuPC9saT4NCiAgICAgICAgICAgIDxsaT5WZXJzaW9uIDAuNy4zIC0gMjEgSnVseSAyMDA1LiBCdWcgZml4ZXMsIGFkZGVkIFN0YXRlIGFuZCBDb3VudHJ5IGlucHV0IHR5cGVzLjwvbGk+DQogICAgICAgICAgICA8bGk+VmVyc2lvbiAwLjcuMiAtIDE4IEp1bHkgMjAwNS4gVmFsaWRhdGlvbiBidWcgZml4ZXMsIGZpeGVkIFBIUE1haWxlciBsb2NhbGl6YXRpb24uPC9saT4NCiAgICAgICAgICAgIDxsaT5WZXJzaW9uIDAuNy4xIC0gMSBKdW5lIDIwMDUuIE1pbm9yIGJ1ZyBmaXhlcy48L2xpPg0KICAgICAgICAgICAgPGxpPlZlcnNpb24gMC43IC0gMjQgTWF5IDIwMDUuIE1vcmUgYW5kIGJldHRlciBzdXBwb3J0IGZvciBDU1MgYW5kIHB1cmUgQ1NTIGxheW91dHMuDQogICAgICAgICAgICBTdXBwb3J0IGZvciBtdWx0aS1wYWdlIGZvcm1zLg0KICAgICAgICAgICAgTWFueSBuZXcgZm9ybSBvcHRpb25zLiBOZXcgZmllbGQgdHlwZXM6IGZpbGUgdXBsb2FkLCBlbWFpbCAiZnJvbSIgYWRkcmVzcy4gSW1wcm92ZWQNCiAgICAgICAgICAgIGVycm9yIGhhbmRsaW5nLiBFbWFpbCBkaXNwb3NhbCB0eXBlcyBub3cgdGVtcGxhdGVkLjwvbGk+DQoJCQk8bGk+VmVyc2lvbiAwLjYgLSAxNiBBcHIgMjAwNS4gVXBkYXRlZCBmb3IgbmV3IEFkbWluLCBzaW1wbGlmaWVkIHBlcm1pc3Npb25zLjwvbGk+DQoJCSAgICA8bGk+VmVyc2lvbiAwLjUgLSA0IE1hciAyMDA1LiBNaW5vciBidWcgZml4ZXMgZm9yIGRlbGV0aW5nIGZvcm1zL2ZpZWxkcy48L2xpPg0KCQkgICAgPGxpPlZlcnNpb24gMC40IC0gMiBNYXIgMjAwNS4gTG9jYWxpemF0aW9uIGFuZCBudW1lcm91cyBidWcgZml4ZXMuPC9saT4NCgkJICAgIDxsaT5WZXJzaW9uIDAuMyAtIDI4IEZlYiAyMDA1LiBQcmltaXRpdmUgbG9jYWxpemF0aW9uIGFuZCBidWcgZml4ZXMuPC9saT4NCgkJICAgIDxsaT5WZXJzaW9uIDAuMiAtIDI0IEZlYiAyMDA1LiBDb252ZXJ0ZWQgdG8gdXNlIE9iamVjdHMuIE1hbnkgaW1wcm92ZW1lbnRzIGFuZCBidWcgZml4ZXMuPC9saT4NCgkJCTxsaT5WZXJzaW9uIDAuMSAtIDExIEZlYiAyMDA1LiBJbml0aWFsIFJlbGVhc2U8L2xpPjwvdWw+DQoJCSc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/de_DE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZpZWxkX3R5cGVfdGV4dF9pbnB1dCddID0gJ1RleHRmZWxkJzsKJGxhbmdbJ2ZpZWxkX3R5cGVfdGV4dF9hcmVhJ10gPSAnVGV4dGJlcmVpY2gnOwokbGFuZ1snZmllbGRfdHlwZV9jaGVja2JveCddID0gJ0tvbnRyb2xsayZhdW1sO3N0Y2hlbic7CiRsYW5nWydmaWVsZF90eXBlX2NoZWNrYm94X2dyb3VwJ10gPSAnS29udHJvbGxrJmF1bWw7c3RjaGVuLUdydXBwZSc7CiRsYW5nWydmaWVsZF90eXBlX3B1bGxkb3duJ10gPSAnTGlzdGVuZmVsZCc7CiRsYW5nWydmaWVsZF90eXBlX3N0YXRlJ10gPSAnVS5TLiBTdGFhdCc7CiRsYW5nWydmaWVsZF90eXBlX2NvdW50cnknXSA9ICdMYW5kJzsKJGxhbmdbJ2ZpZWxkX3R5cGVfZGF0ZSddID0gJ0RhdHVtc2F1c3dhaGwnOwokbGFuZ1snZmllbGRfdHlwZV9jYWxsYmFjayddID0gJ1ImdXVtbDtja3J1Zi1GdW5rdGlvbiAmcXVvdDtJbnB1dCZxdW90Oyc7CiRsYW5nWydmaWVsZF90eXBlX3JhZGlvX2dyb3VwJ10gPSAnT3B0aW9uc2ZlbGQtR3J1cHBlJzsKJGxhbmdbJ2ZpZWxkX3R5cGVfZGlzcG9zaXRpb25fZGlyZWN0b3InXSA9ICcqRXJnZWJuaXNzZSBwZXIgRW1haWwgYW4gQXVzd2FobCBhdXMgZGVtIExpc3RlbmZlbGQgc2VuZGVuJzsKJGxhbmdbJ2ZpZWxkX3R5cGVfZGlzcG9zaXRpb25fZW1haWwnXSA9ICcqRXJnZWJuaXNzZSBwZXIgRW1haWwgYW4gdm9yZ2VnZWJlbmUgQWRyZXNzZShuKSBzZW5kZW4nOwokbGFuZ1snZmllbGRfdHlwZV9kaXNwb3NpdGlvbl9lbWFpbF9zaXRlX3VzZXInXSA9ICcqRXJnZWJuaXNzZSBwZXIgRW1haWwgYW4gZWluZW4gdm9tIEF1c2YmdXVtbDtsbGVuZGVuIGF1c2dldyZhdW1sO2hsdGVuIFVzZXIgc2VuZGVuJzsKJGxhbmdbJ2ZpZWxkX3R5cGVfZGlzcG9zaXRpb25fZmlsZSddID0gJypFcmdlYm5pc3NlIGluIGVpbmUgRGF0ZWkgc2NocmVpYmVuJzsKJGxhbmdbJ2ZpZWxkX3R5cGVfc3RhdGljX3RleHQnXSA9ICdTdGF0aXNjaGVyIFRleHQnOwokbGFuZ1snZmllbGRfdHlwZV9wYWdlX2JyZWFrJ10gPSAnU2VpdGVudW1icnVjaCc7CiRsYW5nWydmaWVsZF90eXBlX2ZpbGVfdXBsb2FkJ10gPSAnRGF0ZWl1cGxvYWQnOwokbGFuZ1snZmllbGRfdHlwZV9lbWFpbF9mcm9tJ10gPSAnRW1haWxmZWxkICZxdW90O1ZvbiZxdW90Oyc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdGZWVkYmFja0Zvcm0nOwokbGFuZ1sndmFsaWRhdGlvbl9ub25lJ10gPSAnS2VpbmUgJlV1bWw7YmVycHImdXVtbDtmdW5nJzsKJGxhbmdbJ3ZhbGlkYXRpb25fbm90X2VtcHR5J10gPSAnTmljaHQgbGVlcic7CiRsYW5nWyd2YWxpZGF0aW9uX251bWVyaWMnXSA9ICdOdW1lcmlzY2gnOwokbGFuZ1sndmFsaWRhdGlvbl9pbnRlZ2VyJ10gPSAnR2FuenphaGwnOwokbGFuZ1sndmFsaWRhdGlvbl9lbWFpbF9hZGRyZXNzJ10gPSAnRW1haWxhZHJlc3NlJzsKJGxhbmdbJ3ZhbGlkYXRpb25fYXRfbGVhc3Rfb25lJ10gPSAnTWluZGVzdGVucyBlaW4gTWFsICZ1dW1sO2JlcnByJnV1bWw7ZnQnOwokbGFuZ1sndmFsaWRhdGlvbl9tdXN0X2NoZWNrJ10gPSAnTXVzcyAmdXVtbDtiZXJwciZ1dW1sO2Z0IHdlcmRlbic7CiRsYW5nWyd2YWxpZGF0aW9uX29wdGlvbl9zZWxlY3RlZCddID0gJ09wdGlvbiBtdXNzIGF1c2dldyZhdW1sO2hsdCB3ZXJkZW4nOwokbGFuZ1sncGxlYXNlX2VudGVyX2FfdmFsdWUnXSA9ICdCaXR0ZSBnZWJlbiBzaWUgZWluZW4gV2VydCBlaW4gZiZ1dW1sO3IgJzsKJGxhbmdbJ3BsZWFzZV9lbnRlcl9hX251bWJlciddID0gJ0JpdHRlIGdlYmVuIHNpZSBlaW5lIFphaGwgZWluIGYmdXVtbDtyICc7CiRsYW5nWydwbGVhc2VfZW50ZXJfYW5faW50ZWdlciddID0gJ0JpdHRlIGdlYmVuIHNpZSBlaW5lbiBnYW56emFobGlnZW4gV2VydCBlaW4gZiZ1dW1sO3IgJzsKJGxhbmdbJ3BsZWFzZV9lbnRlcl9hbl9lbWFpbCddID0gJ0JpdHRlIGdlYmVuIHNpZSBlaW5lIGcmdXVtbDtsdGlnZSBFbWFpbGFkcmVzc2UgZWluIGYmdXVtbDtyICc7CiRsYW5nWydub3RfdmFsaWRfZW1haWwnXSA9ICdzY2hlaW50IGtlaW5lIGcmdXVtbDtsdGlnZSBFbWFpbGFkcmVzc2UgenUgc2VpbiEnOwokbGFuZ1sncGxlYXNlX2VudGVyX25vX2xvbmdlciddID0gJ0JpdHRlIGdlYmVuIFNpZSBlaW5lbiBXZXJ0IGVpbiwgZGVyIG5pY2h0IGwmYXVtbDtuZ2VyIGlzdCBhbHMnOwokbGFuZ1sncGxlYXNlX2NoZWNrX3NvbWV0aGluZyddID0gJ0JpdHRlIHcmYXVtbDtobGVuIHNpZSBlaW4gS29udHJvbGxrJmF1bWw7c3RjaGVuIGF1cyc7CiRsYW5nWydwbGVhc2Vfc2VsZWN0X3NvbWV0aGluZyddID0gJ0JpdHRlIHcmYXVtbDtobGVuIHNpZSBldHdhcyBhdXMgJzsKJGxhbmdbJ2ZpZWxkX25hbWVfaW5fdXNlMSddID0gJ0RlciBGZWxkbmFtZSc7CiRsYW5nWydmaWVsZF9uYW1lX2luX3VzZTInXSA9ICd3dXJkZSBiZXJlaXRzIGluIGRpZXNlbSBGb3JtdWxhciB2ZXJ3ZW5kZXQhIEJpdHRlICZhdW1sO25kZXJuIHNpZSBkaWVzZW4gYXVmIGVpbmVuIGVpbmRldXRpZ2VuIFdlcnQuJzsKJGxhbmdbJ3lvdV9uZWVkX3Blcm1pc3Npb24xJ10gPSAnU2llIGJlbiZvdW1sO3RpZ2VuIGRpZSAmcXVvdDsnOwokbGFuZ1sneW91X25lZWRfcGVybWlzc2lvbjInXSA9ICcmcXVvdDstQmVyZWNodGlndW5nLCB1bSBkaWVzZSBBa3Rpb24gYXVzenVmJnV1bWw7aHJlbi4nOwokbGFuZ1snbGFja3Blcm1pc3Npb24nXSA9ICdTaWUgaGFiZW4gbmljaHQgZGllIGVyZm9yZGVybGljaGUgQmVyZWNodGlndW5nLCB1bSBhdWYgZGllc2VuIEJlcmVpY2ggenV6dWdyZWlmZW4uJzsKJGxhbmdbJ2ZpZWxkX29yZGVyX3VwZGF0ZWQnXSA9ICdGZWxkcmVpaGVuZm9sZ2UgYWt0dWFsaXNpZXJ0Lic7CiRsYW5nWydmb3JtX2RlbGV0ZWQnXSA9ICdGb3JtdWxhciBnZWwmb3VtbDtzY2h0Lic7CiRsYW5nWydmaWVsZF9kZWxldGVkJ10gPSAnRmVsZCBnZWwmb3VtbDtzY2h0Lic7CiRsYW5nWydjb25maWd1cmF0aW9uX3VwZGF0ZWQnXSA9ICdLb25maWd1cmF0aW9uZW4gYWt0dWFsaXNpZXJ0Lic7CiRsYW5nWyd5b3VfbXVzdF9jaGVjazEnXSA9ICdTaWUgbSZ1dW1sO3NzZW4gJnF1b3Q7JzsKJGxhbmdbJ3lvdV9tdXN0X2NoZWNrMiddID0gJyZxdW90OyAmdXVtbDtiZXJwciZ1dW1sO2ZlbiwgdW0gZm9ydGZhaHJlbiB6dSBrJm91bWw7bm5lbi4nOwokbGFuZ1snbXVzdF9zcGVjaWZ5X29uZV9kZXN0aW5hdGlvbiddID0gJ1NpZSBtJnV1bWw7c3NlbiBoaWVyIG1pbmRlc3RlbnMgZWluZSBaaWVsYWRyZXNzZSBhbmdlYmVuISc7CiRsYW5nWydhcmVfeW91X3N1cmVfZGVsZXRlX2Zvcm0nXSA9ICdTaW5kIFNpZSBzaWNoZXIsIGRhc3MgU2llIGRhcyBGb3JtdWxhciAlcyBsJm91bWw7c2NoZW4gd29sbGVuPyc7CiRsYW5nWydhcmVfeW91X3N1cmVfZGVsZXRlX2ZpZWxkJ10gPSAnU2luZCBTaWUgc2ljaGVyLCBkYXNzIFNpZSBkYXMgRmVsZCAlcyBsJm91bWw7c2NoZW4gd29sbGVuPyc7CiRsYW5nWydhYmJyZXZpYXRpb25fbGVuZ3RoJ10gPSAnTCZhdW1sO25nZSc7CiRsYW5nWydjaGFyYWN0ZXJzJ10gPSAnWmVpY2hlbic7CiRsYW5nWydib3hlcyddID0gJ0tvbnRyb2xsayZhdW1sO3N0Y2hlbic7CiRsYW5nWydmaWVsZCddID0gJ0ZlbGQnOwokbGFuZ1snb3JkZXInXSA9ICdSZWloZW5mb2xnZSc7CiRsYW5nWyd1bnNwZWNpZmllZCddID0gJyhuaWNodCBkZWZpbmllcnQpJzsKJGxhbmdbJ2FkZGVkJ10gPSAnaGluenVnZWYmdXVtbDtndCc7CiRsYW5nWyd1cGRhdGVkJ10gPSAnYWt0dWFsaXNpZXJ0JzsKJGxhbmdbJ2RlbGV0ZWQnXSA9ICdnZWwmb3VtbDtzY2h0JzsKJGxhbmdbJ2Nob2ljZXMnXSA9ICdBdXN3YWhsJzsKJGxhbmdbJ3NlbGVjdF9vbmUnXSA9ICdCaXR0ZSBhdXN3JmF1bWw7aGxlbic7CiRsYW5nWydzZWxlY3RfYV91c2VyJ10gPSAnRWluZW4gVXNlciBhdXN3JmF1bWw7aGxlbic7CiRsYW5nWydzZWxlY3RfdHlwZSddID0gJ0VpbmVuIFR5cCBhdXN3JmF1bWw7aGxlbic7CiRsYW5nWyd0byddID0gJ0FuJzsKJGxhbmdbJ3JlY2lwaWVudHMnXSA9ICdFbXBmJmF1bWw7bmdlcic7CiRsYW5nWydub3RlJ10gPSAnSGlud2Vpcyc7CiRsYW5nWydhbnlfdXNlciddID0gJ0lyZ2VuZCBlaW4gVXNlcic7CiRsYW5nWydsaXN0J10gPSAnTGlzdGUnOwokbGFuZ1snbm90X2NvbmZpZ3VyZWQnXSA9ICdOaWNodCBrb25maWd1cmllcnQnOwokbGFuZ1snc2F2ZSddID0gJ1NwZWljaGVybic7CiRsYW5nWydhZGQnXSA9ICdIaW56dWYmdXVtbDtnZW4nOwokbGFuZ1sndXBkYXRlJ10gPSAnQWt0dWFsaXNpZXJlbic7CiRsYW5nWydzYXZlX2FuZF9jb250aW51ZSddID0gJ1NwZWljaGVybiB1bmQgd2VpdGVyIGJlYXJiZWl0ZW4nOwokbGFuZ1snaW5mb3JtYXRpb24nXSA9ICdJbmZvcm1hdGlvbic7CiRsYW5nWydhdXRvbWF0aWMnXSA9ICdBdXRvbWF0aXNjaCc7CiRsYW5nWydmb3JtcyddID0gJ0Zvcm11bGFyZSc7CiRsYW5nWydmb3JtJ10gPSAnRm9ybXVsYXInOwokbGFuZ1snY29uZmlndXJhdGlvbiddID0gJ0tvbmZpZ3VyYXRpb24nOwokbGFuZ1snbWFpbiddID0gJ0hhdXB0c2VpdGUnOwokbGFuZ1snYWRkaXRpb25hbCddID0gJ0Zvcm11bGFyZWluc3RlbGx1bmdlbic7CiRsYW5nWydub2ZpZWxkcyddID0gJ0tlaW5lIEFiZnJhZ2VmZWxkZXIgZGVmaW5pZXJ0Lic7CiRsYW5nWydub21ldGhvZCddID0gJ0tlaW4oZSkgTWV0aG9kZS9Nb2R1bCBkZWZpbmllcnQuJzsKJGxhbmdbJ2NoYXJzJ10gPSAnWmVpY2hlbic7CiRsYW5nWydtaXNzaW5nX2Ntc19tYWlsZXInXSA9ICdFcyBzY2hlaW50LCBkYXNzIGRhcyBDTVNNYWlsZXItTW9kdWwgbmljaHQgaW5zdGFsbGllcnQgaXN0ISBEYW1pdCBGZWVkYmFja0Zvcm0gZnVua3Rpb25pZXJ0LCBtdXNzIENNU01haWxlciBpbnN0YWxsaWVydCB1bmQgZWluZ2VyaWNodGV0IHNlaW4uJzsKJGxhbmdbJ21heGltdW1fc2l6ZSddID0gJ01heGltYWxlIEdyJm91bWw7JnN6bGlnO2UnOwokbGFuZ1sncGVybWl0dGVkX2V4dGVuc2lvbnMnXSA9ICdFbmR1bmdlbic7CiRsYW5nWydwZXJtaXR0ZWRfZmlsZXR5cGVzJ10gPSAnRXJsYXVidGUgRGF0ZWl0eXBlbic7CiRsYW5nWydmaWxlX3Rvb19sYXJnZSddID0gJ0RpZSBob2NoZ2VsYWRlbmUgRGF0ZWkgaXN0IHp1IGdybyZzemxpZzshIERpZSBtYXhpbWFsZSBHciZvdW1sOyZzemxpZztlIGlzdDonOwokbGFuZ1snaWxsZWdhbF9maWxlX3R5cGUnXSA9ICdEaWVzZXIgRGF0ZWl0eXAgZGFyZiBuaWNodCBob2NoZ2VsYWRlbiB3ZXJkZW4uIEJpdHRlICZ1dW1sO2JlcnByJnV1bWw7ZmVuIFNpZSwgb2IgZGllIERhdGVpZW5kdW5nIGtvcnJla3QgaXN0Lic7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZHVsIGRlaW5zdGFsbGllcnQuJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ01vZHVsdmVyc2lvbiAlcyBpbnN0YWxsaWVydC4nOwokbGFuZ1sndXBncmFkZWQnXSA9ICdNb2R1bCBhdWYgVmVyc2lvbiAlcyBha3R1YWxpc2llcnQuJzsKJGxhbmdbJ3RpdGxlX21heGltdW1fbGVuZ3RoJ10gPSAnTWF4aW1hbGUgTCZhdW1sO25nZSc7CiRsYW5nWyd0aXRsZV9jaGVja2JveF9uYW1lJ10gPSAnTmFtZSBkZXMgS29udHJvbGxrJmF1bWw7c3RjaGVucyc7CiRsYW5nWyd0aXRsZV9zdWJtaXR0ZWRfdmFsdWUnXSA9ICcmVXVtbDtiZXJtaXR0ZWx0ZXIgV2VydCc7CiRsYW5nWyd0aXRsZV9jaGVja2JveF9kZXRhaWxzJ10gPSAnRGV0YWlscyB6dXIgS29udHJvbGxrJmF1bWw7c3RjaGVuLUdydXBwZSc7CiRsYW5nWyd0aXRsZV9zZWxlY3Rfb25lX21lc3NhZ2UnXSA9ICdUZXh0IGYmdXVtbDtyICZxdW90O0JpdHRlIGVpbmVuIGF1c3cmYXVtbDtobGVuJnF1b3Q7JzsKJGxhbmdbJ3RpdGxlX3NlbGVjdGlvbl9zdWJqZWN0J10gPSAnQXVzd2FobCBkZXMgQmV0cmVmZnMnOwokbGFuZ1sndGl0bGVfc2VsZWN0X2RlZmF1bHRfY291bnRyeSddID0gJ0F1c3dhaGwgZGVyIFN0YW5kYXJkZWluc3RlbGx1bmdlbic7CiRsYW5nWyd0aXRsZV9zZWxlY3Rpb25fbmFtZSddID0gJ0F1c3dhaGwgZGVzIE5hbWVucyc7CiRsYW5nWyd0aXRsZV9kZXN0aW5hdGlvbl9lbWFpbCddID0gJ1ppZWwtRW1haWxhZHJlc3NlJzsKJGxhbmdbJ3RpdGxlX2RpcmVjdG9yX2RldGFpbHMnXSA9ICdFbWFpbC1EZXRhaWxzIGRlcyBMaXN0ZW5mZWxkZXMnOwokbGFuZ1sndGl0bGVfZW1haWxfYWRkcmVzc2VzJ10gPSAnRW1haWxhZHJlc3NlKG4pLCBhbiBkaWUgZGllIEVyZ2Vibmlzc2UgZGVzIEZvcm11bGFycyBnZXNlbmRldCB3ZXJkZW4gc29sbGVuJzsKJGxhbmdbJ3RpdGxlX2ZpbGVfZm9ybWF0J10gPSAnRGF0ZWlmb3JtYXQnOwokbGFuZ1sndGl0bGVfZmlsZV9mb3JtYXRfdGFiJ10gPSAnZHVyY2ggVGFidWxhdG9yIGdldHJlbm50ZSBXZXJ0ZSc7CiRsYW5nWyd0aXRsZV9maWxlX2Zvcm1hdF90YWJfaGVhZGVyJ10gPSAnZHVyY2ggVGFidWxhdG9yIGdldHJlbm50ZSBXZXJ0ZSBtaXQgS29wZnplaWxlJzsKJGxhbmdbJ3RpdGxlX2ZpbGVfZm9ybWF0X3BhZ2UnXSA9ICdTZWl0ZW5mb3JtYXQnOwokbGFuZ1sndGl0bGVfZmlsZV9uYW1lJ10gPSAnRGF0ZWluYW1lJzsKJGxhbmdbJ3RpdGxlX2VyYXNlX2ZpbGVsb2NrJ10gPSAnRGF0ZWlzcGVycmUgbCZvdW1sO3NjaGVuJzsKJGxhbmdbJ3RpdGxlX2VyYXNlX3VzYWdlJ10gPSAnKHZlcndlbmRlbiBTaWUgZGllcywgdW0gZGllIERhdGVpc3BlcnJlIHp1IGJlc2VpdGlnZW4sIHdlbGNoZSBlbnRzdGVodCwgd2VubiBkZXIgUHJvemVzcyB3JmF1bWw7aHJlbmQgZGVzIFNjaHJlaWJlbnMgYWJicmljaHQpJzsKJGxhbmdbJ3RpdGxlX2ZpbGVfbm90ZSddID0gJ0RpZSBEYXRlaWVuIHdlcmRlbiBhdXNnZWhlbmQgdm9uIElocmVtIEluc3RhbGxhdGlvbnN2ZXJ6ZWljaG5pcyBpbSBWZXJ6ZWljaG5pcyBtb2R1bGVzL0ZlZWRiYWNrRm9ybS9vdXRwdXQgZ2VzcGVpY2hlcnQuJzsKJGxhbmdbJ3RpdGxlX3VzZXJuYW1lJ10gPSAnVXNlcm5hbWUnOwokbGFuZ1sndGl0bGVfcmVhbF9uYW1lJ10gPSAnTmFtZSc7CiRsYW5nWyd0aXRsZV9ib3RoX25hbWVzJ10gPSAnVXNlcm5hbWUgKyBOYW1lJzsKJGxhbmdbJ3RpdGxlX25vX2dyb3VwX3Jlc3RyaWN0aW9uJ10gPSAnS2VpbmUgR3J1cHBlbmJlc2NociZhdW1sO25rdW5nZW4nOwokbGFuZ1sndGl0bGVfZW1haWxfc3ViamVjdCddID0gJ0JldHJlZmYtWmVpbGUgZGVyIEVtYWlsJzsKJGxhbmdbJ3RpdGxlX3Jlc3RyaWN0X3RvX2dyb3VwJ10gPSAnQmVzY2hyJmF1bWw7bmt0IGF1ZiBkaWUgVXNlciBkZXIgR3J1cHBlJzsKJGxhbmdbJ3RpdGxlX25hbWVzX2luX3B1bGxkb3duJ10gPSAnSW0gTGlzdGVuZmVsZCB2ZXJ3ZW5kZXRlIE5hbWVuJzsKJGxhbmdbJ3RpdGxlX3NlbGVjdF9hX3VzZXJfbWVzc2FnZSddID0gJ05hY2hyaWNodCAmcXVvdDtXJmF1bWw7aGxlbiBTaWUgZWluZW4gVXNlciBhdXMmcXVvdDsnOwokbGFuZ1sndGl0bGVfcHVsbGRvd25fY29udGVudHMnXSA9ICdJbmhhbHQgZGVzIExpc3RlbmZlbGRlcyc7CiRsYW5nWyd0aXRsZV9yYWRpb19uYW1lJ10gPSAnTmFtZSBkZXMgT3B0aW9uc2ZlbGRlcyc7CiRsYW5nWyd0aXRsZV9yYWRpb19ncm91cF9kZXRhaWxzJ10gPSAnRGV0YWlscyBkZXIgT3B0aW9uc2ZlbGQtR3J1cHBlJzsKJGxhbmdbJ3RpdGxlX2Zvcm1fbmFtZSddID0gJ0Zvcm11bGFybmFtZSc7CiRsYW5nWyd0aXRsZV9mb3JtX3N0YXR1cyddID0gJ0Zvcm11bGFyc3RhdHVzJzsKJGxhbmdbJ3RpdGxlX3JlYWR5X2Zvcl9kZXBsb3ltZW50J10gPSAnRWluc2F0emJlcmVpdCc7CiRsYW5nWyd0aXRsZV9ub3RfcmVhZHkxJ10gPSAnTmljaHQgYmVyZWl0JzsKJGxhbmdbJ3RpdGxlX25vdF9yZWFkeTInXSA9ICdCaXR0ZSBmJnV1bWw7Z2VuIFNpZSBkZW0gRm9ybXVsYXIgZWluIEZlbGQgKFN1Ym1pdC1CdXR0b24pIGhpbnp1LCB1bSBkaWUgRWluZ2FiZW4gaW0gRm9ybXVsYXIgenUgdmVyYXJiZWl0ZW4uIFNpZSBrJm91bWw7bm5lbic7CiRsYW5nWyd0aXRsZV9ub3RfcmVhZHlfbGluayddID0gJ2RpZXNlbiBMaW5rIHZlcndlbmRlbiwnOwokbGFuZ1sndGl0bGVfZm9ybV9hbGlhcyddID0gJ0Zvcm11bGFyLUFsaWFzJzsKJGxhbmdbJ3RpdGxlX2Zvcm1fZmllbGRzJ10gPSAnRm9ybXVsYXJmZWxkZXInOwokbGFuZ1sndGl0bGVfZmllbGRfbmFtZSddID0gJ0ZlbGRuYW1lJzsKJGxhbmdbJ3RpdGxlX2ZpZWxkX3R5cGUnXSA9ICdGZWxkdHlwJzsKJGxhbmdbJ3RpdGxlX3Nob3dfbGFiZWwnXSA9ICdCZXNjaHJpZnR1bmdzZmVsZCBpbSBGb3JtdWxhciB2ZXJiZXJnZW4/JzsKJGxhbmdbJ3RpdGxlX3Nob3dfbGFiZWxfbG9uZyddID0gJ0ZlbGRiZXNjaHJpZnR1bmcgYXVzYmxlbmRlbiwgd2VubiBkYXMgRm9ybXVsYXIgZXJ6ZXVndCB3aXJkPyc7CiRsYW5nWyd0aXRsZV9ub3RfcmVhZHkzJ10gPSAndW0gZGFzIEZlbGQgenVyIEZvcm11bGFydmVyYXJiZWl0dW5nIHp1IGVyemV1Z2VuLic7CiRsYW5nWyd0aXRsZV90YWdfdG9fdXNlJ10gPSAnVGFnIHp1ciBWZXJ3ZW5kdW5nIGRpZXNlcyBGb3JtdWxhcnMnOwokbGFuZ1sndGl0bGVfYWRkX25ld19mb3JtJ10gPSAnTmV1ZXMgRmVlZGJhY2stRm9ybXVsYXIgaGluenVmJnV1bWw7Z2VuJzsKJGxhbmdbJ3RpdGxlX2VkaXRfY29uZmlndXJhdGlvbiddID0gJ0ZlZWRiYWNrLUtvbmZpZ3VyYXRpb24gYmVhcmJlaXRlbic7CiRsYW5nWyd0aXRsZV9lbWFpbF9mcm9tX25hbWUnXSA9ICcmcXVvdDtWb24mcXVvdDsgTmFtZSBkZXMgRW1haWwtRm9ybXVsYXJzJzsKJGxhbmdbJ3RpdGxlX2Zvcm1fZnJvbV9lbWFpbCddID0gJyZxdW90O1ZvbiZxdW90OyBFbWFpbGFkcmVzc2UgZGVzIEZvcm11bGFycyc7CiRsYW5nWyd0aXRsZV9tYWlsX2hvc3QnXSA9ICdNYWlsLUhvc3QgKFNNVFApJzsKJGxhbmdbJ3RpdGxlX2xhbmd1YWdlJ10gPSAnU3ByYWNoZSc7CiRsYW5nWyd0aXRsZV9hZGRfbmV3X2ZpZWxkJ10gPSAnTmV1ZXMgRmVsZCBoaW56dWYmdXVtbDtnZW4nOwokbGFuZ1sndGl0bGVfZm9ybV9zdWJtaXRfYnV0dG9uJ10gPSAnVGV4dCBmJnV1bWw7ciBkZW4gJnF1b3Q7QWJzZW5kZW4mcXVvdDstQnV0dG9uJzsKJGxhbmdbJ3RpdGxlX2Zvcm1fbmV4dF9idXR0b24nXSA9ICdUZXh0IGYmdXVtbDtyIGRlbiAmcXVvdDtXZWl0ZXImcXVvdDstQnV0dG9uIChiZWkgbWVocnNlaXRpZ2VuIEZvcm11bGFyZW4pJzsKJGxhbmdbJ3RpdGxlX2Zvcm1fdGhhbmtzX3RleHQnXSA9ICdUZXh0IGRlciBEYW5rZXMtTmFjaHJpY2h0JzsKJGxhbmdbJ3RpdGxlX2ZpZWxkX3ZhbGlkYXRpb24nXSA9ICdGZWxkJnV1bWw7YmVycHImdXVtbDtmdW5nJzsKJGxhbmdbJ3RpdGxlX2RlZmF1bHRfdXNlciddID0gJ1N0YW5kYXJkLVVzZXInOwokbGFuZ1sndGl0bGVfbm9fZGVmYXVsdF91c2VyJ10gPSAnS2VpbiBTdGFuZGFyZC1Vc2VyJzsKJGxhbmdbJ3RpdGxlX2Nzc19sYXlvdXQnXSA9ICdDU1MtTGF5b3V0JzsKJGxhbmdbJ3RpdGxlX3VzZV9jc3NfbGF5b3V0J10gPSAnQXVzc2NobGllJnN6bGlnO2xpY2ggQ1NTIGYmdXVtbDtyIGRpZSBEYXJzdGVsbHVuZyBkZXMgRm9ybXVsYXJzIHZlcndlbmRlbic7CiRsYW5nWyd0aXRsZV9mb3JtX2Nzc19jbGFzcyddID0gJ0NTUy1LbGFzc2UgZiZ1dW1sO3IgZGllc2VzIEZvcm11bGFyJzsKJGxhbmdbJ3RpdGxlX2ZpZWxkX2Nzc19jbGFzcyddID0gJ0NTUy1LbGFzc2UgZiZ1dW1sO3IgZGllc2VzIEZlbGQnOwokbGFuZ1sndGl0bGVfZm9ybV9yZXF1aXJlZF9zeW1ib2wnXSA9ICdTeW1ib2wgenVyIEtlbm56ZWljaG51bmcgZGVyIFBmbGljaHRmZWxkZXInOwokbGFuZ1sndGl0bGVfZmllbGRfcmVxdWlyZWQnXSA9ICdFcmZvcmRlcmxpY2gnOwokbGFuZ1sndGl0bGVfZmllbGRfcmVxdWlyZWRfbG9uZyddID0gJ0VyZm9yZGVydCBlaW5lIEFudHdvcnQgaW4gZGllc2VtIEZlbGQnOwokbGFuZ1sndGl0bGVfZmllbGRfcmVxdWlyZWRfYWJicmV2J10gPSAnRXJmb3JkZXJsLic7CiRsYW5nWyd0aXRsZV90YWJsZV9sYXlvdXRfdHlwZSddID0gJ1RpdGVscG9zaXRpb24gKG51ciBiZWkgRGFyc3RlbGx1bmcgb2huZSBDU1MpJzsKJGxhbmdbJ3RpdGxlX3RhYmxlX2xheW91dF9sZWZ0J10gPSAnVGl0ZWwgbGlua3MnOwokbGFuZ1sndGl0bGVfdGFibGVfbGF5b3V0X2Fib3ZlJ10gPSAnVGl0ZWwgb2Jlbic7CiRsYW5nWyd0aXRsZV9pbmNsdWRlX2VtYWlsX2luZm8nXSA9ICdTZXJ2ZXItSW5mb3JtYXRpb24gaGluenVmJnV1bWw7Z2VuJzsKJGxhbmdbJ3RpdGxlX2luY2x1ZGVfZW1haWxfaW5mb19sb25nJ10gPSAnU2VydmVyLUluZm9ybWF0aW9uIGRlciBFbWFpbCBoaW56dWYmdXVtbDtnZW4nOwokbGFuZ1sndGl0bGVfaGlkZV9lcnJvcnMnXSA9ICdGZWhsZXIgdmVyYmVyZ2VuJzsKJGxhbmdbJ3RpdGxlX2hpZGVfZXJyb3JzX2xvbmcnXSA9ICdEZWJ1Zy0vRmVobGVyLU1lbGR1bmdlbiB2b3IgZGVuIFVzZXJuIHZlcmJlcmdlbi4nOwokbGFuZ1sndGl0bGVfZW1haWxfdGVtcGxhdGUnXSA9ICdFbWFpbC1UZW1wbGF0ZSc7CiRsYW5nWyd0aXRsZV9lbWFpbF90ZW1wbGF0ZV92YXJzJ10gPSAnVmVyZiZ1dW1sO2diYXJlIFZhcmlhYmxlbiBmJnV1bWw7ciBkYXMgRW1haWwtVGVtcGxhdGUnOwokbGFuZ1sndGl0bGVfc2FtcGxlX3RlbXBsYXRlJ10gPSAnRWluIE11c3Rlci1UZW1wbGF0ZSBlcnpldWdlbic7CiRsYW5nWyd0aXRsZV9tYXhpbXVtX3NpemUnXSA9ICdNYXhpbWFsZSBHciZvdW1sOyZzemxpZztlIGYmdXVtbDtyIERhdGVpLVVwbG9hZHMgKGtpbG9ieXRlKSc7CiRsYW5nWyd0aXRsZV9wZXJtaXR0ZWRfZXh0ZW5zaW9ucyddID0gJ1p1Z2VsYXNzZW5lIERhdGVpLUVuZHVuZ2VuJzsKJGxhbmdbJ3RpdGxlX3Blcm1pdHRlZF9leHRlbnNpb25zX2xvbmcnXSA9ICdCaXR0ZSBnZWJlbiBTaWUgZWluZSBBdWZ6JmF1bWw7aGx1bmcgZGVyIHp1Z2VsYXNzZW5lbiBEYXRlaS1FbmR1bmdlbiBqZXdlaWxzIGdldHJlbm50IGR1Y2ggZWluIEtvbW1hIGVpbiAob2huZSBQdW5rdCAtIHouQi4gJnF1b3Q7anBnLGdpZixqcGVnJnF1b3Q7KS4gTGVlcnplaWNoZW4gd2VyZGVuIGlnbm9yaWVydC4gV2lyZCBkYXMgRmVsZCBsZWVyIGdlbGFzc2VuLCBnZWx0ZW4ga2VpbmUgQmVzY2hyJmF1bWw7bmt1bmdlbi4nOwokbGFuZ1sndGl0bGVfc2hvd19saW1pdGF0aW9ucyddID0gJ0Jlc2NociZhdW1sO25rdW5nZW4gYW56ZWlnZW4/JzsKJGxhbmdbJ3RpdGxlX3Nob3dfbGltaXRhdGlvbnNfbG9uZyddID0gJ0Jlc2NociZhdW1sO25rdW5nZW4gZGVyIEdyJm91bWw7JnN6bGlnO2UgdW5kIGRlciBEYXRlaS1FbmR1bmdlbiBtaXQgZGVtIFVwbG9hZC1GZWxkIGFuemVpZ2VuPyc7CiRsYW5nWyd0aXRsZV9jYWxsYmFja19tb2R1bGUnXSA9ICdSJnV1bWw7Y2tydWYtTW9kdWwnOwokbGFuZ1sndGl0bGVfY2FsbGJhY2tfbWV0aG9kJ10gPSAnUiZ1dW1sO2NrcnVmLU1ldGhvZGUnOwokbGFuZ1sndGl0bGVfY2FsbGJhY2tfZmllbGRzJ10gPSAnRWluenVzY2hsaWUmc3psaWc7ZW5kZSBFcmdlYm5pc2ZlbGRlcic7CiRsYW5nWyd0aXRsZV9jYWxsYmFja19oZWxwJ10gPSAnSGlsZmUnOwokbGFuZ1sndGl0bGVfaWRfYW5kX25hbWUnXSA9ICdJRCB1bmQgTmFtZSBmJnV1bWw7ciBDU1MtRWluZ2FiZW4gdmVyd2VuZGVuJzsKJGxhbmdbJ3RpdGxlX2RhdGVfZm9ybWF0J10gPSAnRGF0dW1zZm9ybWF0IChTdGFuZGFyZCA8YSBocmVmPSZxdW90O2h0dHA6Ly93d3cucGhwLm5ldC9tYW51YWwvZW4vZnVuY3Rpb24uZGF0ZS5waHAmcXVvdDs+UEhQLURhdHVtc2Zvcm1hdGU8L2E+KSc7CiRsYW5nWyd0aXRsZV9zdGF0aWNfdGV4dCddID0gJ1N0YXRpc2NoZXIgVGV4dCB6dXIgQW56ZWlnZSAobWF4LiAyNTUgWmVpY2hlbiknOwokbGFuZ1sndGl0bGVfY2FsbGJhY2tfaGVscGxvbmcnXSA9ICc8cD5TaWUgbGVnZW4gZWluIE1vZHVsIHVuZCBlaW5lIE1ldGhvZGUgZmVzdC4gRGVyIEF1ZnJ1ZiBkaWVzZSBNZXRob2RlIHNvbGx0ZSB3aWUgZm9sZ3Qgc2Vpbjo8L3A+PGJyIC8+DQpmdW5jdGlvbiB3aGF0ZXZlcigkaWQsICZhbXA7JHBhcmFtcywgJHJldHVybmlkLCAmYW1wOyRjbXMpPGJyIC8+PGJyIC8+DQo8cD5EaWVzZSBGdW5rdGlvbiBzb2xsdGUgZXR3YXMgYXVzZ2ViZW4sIHdhcyBpbiBlaW5lbSBGb3JtdWxhciBTaW5uIG1hY2h0LCA8aT56LkJzcC48L2k+IHZvcmF1c3NpY2h0bGljaCB2ZXJib3JnZW5lIEZlbGRlciwgZGllIG4mdXVtbDt0emxpY2hlDQpJbmZvcm1hdGlvbmVuIGVudGhhbHRlbi48L3A+DQo8cD5EYXMgJnF1b3Q7ZmllbGRzJnF1b3Q7LUZlbGQgc29sbHRlIGVpbmUgbWl0IEtvbW1hIGdldHJlbm50ZSBMaXN0ZSBkZXIgRmVsZGVyIGVudGhhbHRlbiwgZGllIG1pdCBkaWVzZXIgTWV0aG9kZSBnZW5lcmllcnQgd3VyZGVuLjwvcD4NCjxwPkJlaXNwaWVsOiBJY2ggaGFiZSBlaW4gTW9kdWwgJnF1b3Q7VXNlcklEJnF1b3Q7LCB3ZWxjaGVzIGVpbmUgTWV0aG9kZSAmcXVvdDtMb2dnZWRJblVzZXImcXVvdDsgaGF0LiBEaWVzZSBNZXRob2RlIGVyemV1Z3QgendlaSB2ZXJib3JnZW5lIEZlbGRlciANCmdlbmFubnQgJnF1b3Q7Zmlyc3RfbmFtZSZxdW90OyB1bmQgJnF1b3Q7bGFzdF9uYW1lJnF1b3Q7LCBkaWUgaWNoIG1pdCBkZW0gRm9ybXVsYXIgdmVyc2VuZGVuIG0mb3VtbDtjaHRlLiBEYWYmdXVtbDtyIG11c3MgaWNoIGRhcyBmb2xnZW5kZSBlaW5nZWJlbjo8L3A+DQptb2R1bGU6IFVzZXJJRDxiciAvPg0KbWV0aG9kOiBMb2dnZWRJblVzZXI8YnIgLz4NCmZpZWxkczogZmlyc3RfbmFtZSxsYXN0X25hbWU8L2JyPg0KJzsKJGxhbmdbJ2FkbWluZGVzYyddID0gJ0hpbnp1ZiZ1dW1sO2dlbiwgQmVhcmJlaXRlbiB1bmQgVmVyd2FsdGVuIHZvbiBpbnRlcmFrdGl2ZW4gRmVlZGJhY2stRm9ybXVsYXJlbic7CiRsYW5nWydkYXRlX2FfamFuJ10gPSAnSkFOJzsKJGxhbmdbJ2RhdGVfYV9mZWInXSA9ICdGRUInOwokbGFuZ1snZGF0ZV9hX21hciddID0gJ01BUic7CiRsYW5nWydkYXRlX2FfYXByJ10gPSAnQVBSJzsKJGxhbmdbJ2RhdGVfYV9tYXknXSA9ICdNQUknOwokbGFuZ1snZGF0ZV9hX2p1biddID0gJ0pVTic7CiRsYW5nWydkYXRlX2FfanVsJ10gPSAnSlVMJzsKJGxhbmdbJ2RhdGVfYV9hdWcnXSA9ICdBVUcnOwokbGFuZ1snZGF0ZV9hX3NlcCddID0gJ1NFUCc7CiRsYW5nWydkYXRlX2Ffb2N0J10gPSAnT0tUJzsKJGxhbmdbJ2RhdGVfYV9ub3YnXSA9ICdOT1YnOwokbGFuZ1snZGF0ZV9hX2RlYyddID0gJ0RFWic7CiRsYW5nWydkYXRlX2phbnVhcnknXSA9ICdKYW51YXInOwokbGFuZ1snZGF0ZV9mZWJydWFyeSddID0gJ0ZlYnJ1YXInOwokbGFuZ1snZGF0ZV9tYXJjaCddID0gJ00mYXVtbDtyeic7CiRsYW5nWydkYXRlX2FwcmlsJ10gPSAnQXByaWwnOwokbGFuZ1snZGF0ZV9tYXknXSA9ICdNYWknOwokbGFuZ1snZGF0ZV9qdW5lJ10gPSAnSnVuaSc7CiRsYW5nWydkYXRlX2p1bHknXSA9ICdKdWxpJzsKJGxhbmdbJ2RhdGVfYXVndXN0J10gPSAnQXVndXN0JzsKJGxhbmdbJ2RhdGVfc2VwdGVtYmVyJ10gPSAnU2VwdGVtYmVyJzsKJGxhbmdbJ2RhdGVfb2N0b2JlciddID0gJ09rdG9iZXInOwokbGFuZ1snZGF0ZV9ub3ZlbWJlciddID0gJ05vdmVtYmVyJzsKJGxhbmdbJ2RhdGVfZGVjZW1iZXInXSA9ICdEZXplbWJlcic7CiRsYW5nWydtb250aCddID0gJ01vbmF0JzsKJGxhbmdbJ2RheSddID0gJ1RhZyc7CiRsYW5nWyd5ZWFyJ10gPSAnSmFocic7CiRsYW5nWydzdWJtaXNzaW9uX3RpdGxlJ10gPSAnRm9ybXVsYXItVmVyc2FuZCc7CiRsYW5nWydzdWJtaXNzaW9uX2hvc3QnXSA9ICdIb3N0JzsKJGxhbmdbJ3N1Ym1pc3Npb25fZm9ybV9uYW1lJ10gPSAnRm9ybXVsYXInOwokbGFuZ1snc3VibWlzc2lvbl9kYXRlJ10gPSAnRGF0dW0nOwokbGFuZ1snc3VibWlzc2lvbl9zb3VyY2UnXSA9ICdRdWVsbGUnOwokbGFuZ1snc3VibWlzc2lvbl9zdWJqZWN0J10gPSAnRm9ybXVsYXItVmVyc2FuZCc7CiRsYW5nWydzdWJtaXNzaW9uX2Vycm9yJ10gPSAnQmVpbSBWZXJzYW5kIGRlcyBGb3JtdWxhcnMgaXN0IGVpbiBGZWhsZXIgYXVmZ2V0cmV0ZW4uPGJyPkJpdHRlIHZlcnN1Y2hlbiBTaWUgZXMgc3AmYXVtbDt0ZXIgbm9jaCBlaW5tYWwuJzsKJGxhbmdbJ3N1Ym1pc3Npb25fZXJyb3JfZmlsZSddID0gJ0ZlaGxlci4gRGF0ZWkga29ubnRlIG5pY2h0IGdlc2NocmllYmVuIHdlcmRlbi4nOwokbGFuZ1sncG9zdF9pbnN0YWxsJ10gPSAnPHA+U3RlbGxlbiBTaWUgc2ljaGVyLCBkYXNzIGRpZSBCZXJlY2h0aWd1bmcgXCZxdW90O01vZGlmeSBGZWVkYmFjayBGb3Jtc1wmcXVvdDsgDQpmJnV1bWw7ciBkaWUgVXNlciBnZXNldHp0IHdpcmQsIHdlbGNoZSBkaWUgRmVlZGJhY2stRm9ybXVsYXJlIGJlYXJiZWl0ZW4gd2VyZGVuLiBTb2xsZW4gZGllIFdlcnRlIGF1cyBkZW0gRm9ybXVsYXIgcGVyIEVtYWlsIHZlcnNhbmR0IHdlcmRlbiwgDQpzdGVsbGVuIFNpZSBlYmVuZmFsbHMgc2ljaGVyLCBkYXNzIGRpZSBLb25maWd1cmF0aW9uIGVudHNwcmVjaGVuZCBha3R1YWxpc2llcnQgd3VyZGUuPC9wPg0KPHA+U2VpZW4gU2llIHNpY2ggZGFyJnV1bWw7YmVyIGltIEtsYXJlbiwgZGFzcyBkYXMgRmVlZGJhY2stRm9ybXVsYXIgdyZhdW1sO2hyZW5kIA0KZGVzc2VuIEJlYXJiZWl0dW5nIG5pY2h0IGFrdGl2IHNlaW4gZGFyZiAobnV0emJhciBmJnV1bWw7ciBkaWUgRyZhdW1sO3N0ZSBpaHJlciBIb21lcGFnZSkuIFNpZSBzb2xsdGVuIGRhaGVyIHp1ZXJzdCBkYXMgRm9ybXVsYXIgZXJzdGVsbGVuIHVuZCBlcnN0IG5hY2ggQWJzY2hsdXNzIGRlciBBcmJlaXRlbiANCmRlbiBGZWVkYmFja2Zvcm11bGFyLVRhZyBpbiBlaW5lIGFrdGl2ZSBJbmhhbHRzc2VpdGUgZWluZiZ1dW1sO2dlbi4gQW5kZXJlbmZhbGxzIHNpbmQgZmVobGVyaGFmdGUgRXJnZWJuaXNzZSBkaWUgRm9sZ2UuPC9wPg0KPHA+SW0gJnV1bWw7YnJpZ2VuIHVudGVyc3QmdXVtbDt0enQgZGllc2UgVmVyc2lvbiBuaWNodCBkaWUgZ2xlaWNoemVpdGlnZSBCZWFyYmVpdHVuZyB2b24gRm9ybXVsYXJlbiBkdXJjaCBtZWhyZXJlIEFkbWlucy4gQml0dGUgc3RlbGxlbiBTaWUgc2ljaGVyLCANCmRhc3MgZWluIEZvcm11bGFyIGpld2VpbHMgbnVyIHZvbiBlaW5lbSBBZG1pbiBiZWFyYmVpdGV0IHdpcmQuPC9wPic7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldhcyBtYWNodCBkaWVzZXMgTW9kdWw/PC9oMz4NCjxwPkRhcyBGZWVkYmFja0Zvcm0tTW9kdWwgZXJsYXVidCBkYXMgRXJzdGVsbGVuIHZvbiBGb3JtdWxhcmVuIGYmdXVtbDtyIGVpbiBGZWVkYmFjayBkdXJjaCBkaWUgVXNlci4gRGllc2UgRm9ybXVsYXJlIGsmb3VtbDtubmVuIGluIFRlbXBsYXRlcyANCnVuZC9vZGVyIEluaGFsdHNzZWl0ZW4gZWluZ2VmJnV1bWw7Z3Qgd2VyZGVuLiBGZWVkYmFjay1Gb3JtdWxhcmUgayZvdW1sO25uZW4gdmVyc2NoaWVkZW5lIEFydGVuIHZvbiBFaW5nYWJlbiBlbnRoYWx0ZW4gdW5kIGRpZXNlIA0KYXVjaCAmdXVtbDtiZXJwciZ1dW1sO2Zlbi4gRGllIEVyZ2Vibmlzc2UgZGVyIEZvcm11bGFyZSBrJm91bWw7bm5lbiBhdWYgdmVyc2NoaWVkZW5lbiBXZWdlbiB3ZWl0ZXJ2ZXJhcmJlaXRldCB3ZXJkZW4uPC9wPg0KDQo8aDM+V2llIHdpcmQgZXMgZWluZ2VzZXR6dCA/PC9oMz4NCjxwPkluc3RhbGxpZXJlbiBTaWUgZXMgdW5kIHN0Jm91bWw7YmVybiBpbiBkZW4gTWVuJnV1bWw7cyBoZXJ1bS4gU3BpZWxlbiBzaWUgZGFtaXQuIFZlcnN1Y2hlbiBTaWUsIGVpbiBGb3JtdWxhciB6dSBlcnN0ZWxsZW4gdW5kIGVzIElocmVyIEluaGFsdHNzZWl0ZSBoaW56dXp1ZiZ1dW1sO2dlbi4gDQpXZW5uIFNpZSBkYWJlaSBpcmdlbmR3byBoJmF1bWw7bmdlbiBibGVpYmVuLCBjaGF0dGVuIFNpZSBtaXQgbWlyIGltICNjbXMgSVJDLUNoYW5uZWwsIHBvc3RlbiBpbSBGb3J1bSwgc2NoaWNrZW4gbWlyIGVpbmUgRW1haWwgb2Rlciwgd2VubiBTaWUgDQpnYW56IHZlcnp3ZWlmZWx0IHNpbmQsIGxlc2VuIFNpZSBkZW4gUmVzdCBkaWVzZXIgU2VpdGUuPC9wPg0KDQo8aDM+V2llIHdpcmQgZWluIEZvcm11bGFyIGVyemV1Z3Q8L2gzPg0KPHA+TmFjaCBkZXIgSW5zdGFsbGF0aW9uIGZpbmRlbiBTaWUgaW0gQ01TLUFkbWluLU1lbnUgZWluIG5ldWVyIEVpbnRyYWcgbWl0IGRlbSBOYW1lbiBcJnF1b3Q7RmVlZGJhY2tGb3JtXCZxdW90Oy4gS2xpY2tlbiBTaWUgZGFyYXVmLiBBdWYgZGVyIGRhbm4gYW5nZXplaWd0ZW4gDQpTZWl0ZSBmaW5kZW4gU2llIHVudGVyaGFsYiBkZXIgTGlzdGUgZGVyIGJlcmVpdHMgZXJzdGVsbHRlbiBGb3JtdWxhcmUgZGllIE9wdGlvbmVuIFwmcXVvdDtOZXVlcyBGZWVkYmFjay1Gb3JtdWxhciBoaW56dWYmdXVtbDtnZW5cJnF1b3Q7IG9kZXIgXCZxdW90O0tvbmZpZ3VyYXRpb24gDQpiZWFyYmVpdGVuXCZxdW90Oy48L3A+DQoNCjxoMz5EYXMgRm9ybXVsYXIgZWluZXIgU2VpdGUgaGluenVmJnV1bWw7Z2VuPC9oMz4NCjxwPkF1ZiBkZXIgSGF1cHRhZG1pbmlzdHJhdGlvbnNzZWl0ZSB2b24gRmVlZGJhY2tGb3JtIGZpbmRlbiBTaWUgZWluIEJlaXNwaWVsIGRlcyBUYWdzLCB1bSBqZWRlcyBiZWxpZWJpZ2UgRm9ybXVsYXIgYW56dXplaWdlbi4gRXMgc29sbHRlIA0Kc28gPGNvZGU+e2Ntc19tb2R1bGUgbW9kdWxlPVwmcXVvdDtGZWVkYmFja0Zvcm1cJnF1b3Q7IGZvcm09XCZxdW90O2ZlZWRiYWNrX2Zvcm1fZXhhbXBsZVwmcXVvdDt9PC9jb2RlPiAgYXVzc2VoZW4uPC9wPg0KPHA+V2VubiBTaWUgZGllc2VuIFRhZyBpbiBkZW4gSW5oYWx0IGVpbmVyIFNlaXRlIG9kZXIgaW4gZWluIFRlbXBsYXRlIGtvcGllcmVuLCB3aXJkIGRhcyBGb3JtdWxhciBhbmdlemVpZ3QuDQpXZW5uIFNpZSB3Jm91bWw7bGx0ZW4sIGsmb3VtbDtubnRlbiBTaWUgdGhlb3JldGlzY2ggbWVocmVyZSBGb3JtdWxhcmUgYXVmIGVpbmVyIFNlaXRlIHBsYXppZXJlbi4gU2VpZW4gU2llIGplZG9jaCBtaXQgZGVtIEVpbmYmdXVtbDtnZW4gZGVzIFRhZ3MNCmluIGVpbmUgU2VpdGUgdm9yc2ljaHRpZywgd2VubiBTaWUgZGFmJnV1bWw7ciBXWVNJV1lHLUVkaXRvcmVuIHdpZSBUaW55TUNFIG9kZXIgSFRNTEFyZWEgdmVyd2VuZGVuLiBEaWVzZSBFZGl0b3JlbiAmYXVtbDtuZGVybiBoZWltbGljaCANCmRpZSBkb3BwZWx0ZW4gQW5mJnV1bWw7aHJ1bmdzemVpY2hlbiAoXCZxdW90OykgaW4gSFRNTC1FbnRpdCZhdW1sO3RlbiAoJmFtcDthbXA7cXVvdDspLCB1bmQgZGFzIEZvcm11bGFyIHdpcmQgZGFubiBuaWNodCBhbmdlemVpZ3QuIFZlcnN1Y2hlbiBTaWUsIA0KZWluZmFjaGUgQW5mJnV1bWw7aHJ1bmdzemVpY2hlbiAoJiMwMzk7KSB6dSB2ZXJ3ZW5kZW4gb2RlciBiZWFyYmVpdGVuIFNpZSBkZW4gSFRNTC1Db2RlIGRpcmVrdC48L3A+DQoNCjxoMz5FaW5lbSBGb3JtdWxhciBGZWxkZXIgaGluenVmJnV1bWw7Z2VuPC9oMz4NCjxwPkJ5IGNsaWNraW5nIG9uIGEgRm9ybSYjMDM5O3MgbmFtZSwgeW91IGVudGVyIHRoZSBGb3JtIEVkaXQgcGFnZS4gWW91IHdpbGwgc2VlIGEgbnVtYmVyIG9mIG9wdGlvbnMgZm9yIHRoZSBmb3JtDQoobGlrZSB3aGF0IHlvdSB3YW50IHRoZSB0ZXh0IG9mIHRoZSBzdWJtaXQgYnV0dG9uIHRvIHNheSwgd2hhdCBtZXNzYWdlIHNob3VsZCBiZSBkaXNwbGF5ZWQgdG8gdGhlIHVzZXIgd2hlbg0KdGhleSBzdWJtaXQgdGhlIGZvcm0sIGV0YykuIFRoZXJlIGlzIGFsc28gYSBsaXN0IG9mIGZpZWxkcyB0aGF0IG1ha2UgdXAgdGhlIGZvcm0uIFRoZSB0eXBlcyBvZiBmaWVsZHMgdGhhdA0KYXJlIGN1cnJlbnRseSBzdXBwb3J0ZWQgZml0IGludG8gZm91ciBncm91cHM6IHN0YW5kYXJkIGlucHV0IGZpZWxkcywgZGlzcGxheSBjb250cm9sIGZpZWxkcywgZW1haWwtb25seSBpbnB1dA0KZmllbGRzLCBhbmQgZm9ybSByZXN1bHQgaGFuZGxpbmcgZmllbGRzIChhbHNvDQpjYWxsZWQgRm9ybSBEaXNwb3NpdGlvbnMgaW4gcGxhY2VzKTo8L3A+DQo8dWw+DQo8bGk+U3RhbmRhcmQgSW5wdXQgRmllbGRzIC0gdGhlc2UgYXJlIGlucHV0cyB0aGF0IGFsbG93IGVudHJ5IG9mIHR5cGljYWwgZm9ybSBlbGVtZW50cy48L2xpPg0KPGxpPkRpc3BsYXkgQ29udHJvbCBGaWVsZHMgLSB0aGVzZSBpbnB1dCBjb250cm9sIGhvdyB0aGUgdXNlciB3aWxsIHNlZSB0aGUgZGlzcGxheSBvZiB0aGUgZm9ybS48L2xpPg0KPGxpPkVtYWlsLW9ubHkgSW5wdXQgRmllbGRzIC0gdGhlc2UgYXJlIGlucHV0cyB0aGF0IGFsbG93IGVudHJ5IG9mIHR5cGljYWwgZm9ybSBlbGVtZW50cywgYnV0IGFwcGx5IG9ubHkNCmZvciBmb3JtIGRpc3Bvc2l0aW9ucyB0aGF0IHNlbmQgdGhlIHJlc3VsdHMgdmlhIGVtYWlsLjwvbGk+DQo8bGk+U3BlY2lhbCBQdXJwb3NlIEZpZWxkcyAtIHRoZXNlIGlucHV0cyBhcmUgdXNlZCBmb3IgaW50ZXJmYWNpbmcgcHJvZ3JhbW1hdGljYWxseSB3aXRoIG90aGVyIG1vZHVsZXMuPC9saT4NCjxsaT5Gb3JtIERpc3Bvc2l0aW9ucyAtIFRoZXNlIGRldGVybWluZSB3aGF0IGhhcHBlbnMgd2hlbiB0aGUgdXNlcg0Kc3VibWl0cyB0aGUgZm9ybTsgZm9yIGVhY2ggcmVzdWx0IGhhbmRsaW5nIGZpZWxkLCBzb21lIG1ldGhvZCBvZiB0cmFuc21pdHRpbmcsIHNhdmluZywgb3IgZW1haWxpbmcgdGhlDQpmb3JtIGNvbnRlbnRzIHRha2VzIHBsYWNlLiBBIGZvcm0gbWF5IGhhdmUgbXVsdGlwbGUgZm9ybSBkaXNwb3NpdGlvbnMuPC9saT4NCjwvdWw+DQo8cD5Gb3JtIGZpZWxkcyBhcmUgYXNzaWduZWQgbmFtZXMuIFRoZXNlIG5hbWVzIGlkZW50aWZ5IHRoZSBmaWVsZCwgbm90IG9ubHkgb24gdGhlIHNjcmVlbiBhcyBsYWJlbHMgZm9yIHRoZSB1c2VyLA0KYnV0IGluIHRoZSBkYXRhIHdoZW4gaXQmIzAzOTtzIHN1Ym1pdHRlZCBzbyB5b3Uga25vdyB3aGF0IHRoZSB1c2VyIGlzIHJlc3BvbmRpbmcgdG8uIFBocmFzaW5nIHRoZSBuYW1lIGxpa2UgYSBxdWVzdGlvbg0KaXMgYSBoYW5keSB3YXkgb2YgbWFraW5nIGl0IGNsZWFyIHRvIHRoZSB1c2VyIHdoYXQgaXMgZXhwZWN0ZWQuIFNpbWlsYXJseSwgc29tZSBmaWVsZHMgaGF2ZSBib3RoIE5hbWVzIGFuZCBWYWx1ZXMuDQpUaGUgTmFtZXMgYXJlIHdoYXQgZ2V0cyBzaG93biB0byB0aGUgdXNlcjsgdGhlIFZhbHVlIGlzIHdoYXQgZ2V0cyBzYXZlZCBvciB0cmFuc21pdHRlZCB3aGVuIHRoZSB1c2VyIHN1Ym1pdHMNCnRoZSBmb3JtLiBUaGUgVmFsdWVzIGFyZSBuZXZlciBzZWVuIGJ5IHRoZSB1c2VyLCBub3IgYXJlIHRoZXkgdmlzaWJsZSBpbiB0aGUgSFRNTCwgc28gaXQmIzAzOTtzIHNhZmUgdG8gdXNlIGZvcg0KZW1haWwgYWRkcmVzc2VzIGFuZCBzdWNoLjwvcD4NCjxwPlNvbWUgZmllbGRzIGNhbiBoYXZlIG11bHRpcGxlIHZhbHVlcywgb3IgbXVsdGlwbGUgbmFtZS92YWx1ZSBwYWlycy4gV2hlbiB5b3UgZmlyc3QgY3JlYXRlIHN1Y2ggYSBmaWVsZCwNCnRoZXJlIG1heSBub3QgYmUgc3VmZmljaWVudCBpbnB1dHMgZm9yIHlvdSB0byBzcGVjaWZ5IGFsbCB0aGUgdmFsdWVzIHlvdSB3YW50LiBUbyBnZXQgbW9yZSBzcGFjZSBmb3IgaW5wdXR0aW5nDQp0aGVzZSB2YWx1ZXMsIHNpbXBseSBzYXZlIHRoZSBmaWVsZCwgYW5kIHRoZW4gY2xpY2sgb24gaXRzIG5hbWUgdG8gZWRpdCBpdCBhZ2Fpbi4gRXZlcnkgdGltZSB5b3UgZWRpdCBzdWNoIGENCmZpZWxkLCB5b3Ugd2lsbCByZWNlaXZlIG1vcmUgaW5wdXRzLjwvcD4NCjxwPkZpZWxkcyBjYW4gYmUgYXNzaWduZWQgdmFsaWRhdGlvbiBydWxlcywgd2hpY2ggdmFyeSBhY2NvcmRpbmcgdG8gdGhlIHR5cGUgb2YgdGhlIGZpZWxkLiBUaGVzZSBydWxlcyBoZWxwDQplbnN1cmUgdGhhdCB0aGUgdXNlciBlbnRlcnMgdmFsaWQgZGF0YS4gVGhleSBtYXkgYWxzbyBiZQ0Kc2VwYXJhdGVseSBtYXJrZWQgJnF1b3Q7UmVxdWlyZWQmcXVvdDssIHdoaWNoIHdpbGwgZm9yY2UgdGhlIHVzZXIgdG8gZW50ZXIgYSByZXNwb25zZS48L3A+DQo8cD5GaWVsZHMgYWxzbyBtYXkgYmUgYXNzaWduZWQgYSBDU1MgY2xhc3MuIFRoaXMgc2ltcGx5IHdyYXBzIHRoZSBpbnB1dCBpbiBhIGRpdiB3aXRoIHRoYXQgY2xhc3MsIHNvIGFzIHRvIGFsbG93DQpjdXN0b21pemVkIGxheW91dHMuIFRvIHVzZSB0aGlzIGVmZmVjdGl2ZWx5LCB5b3UgbWF5IG5lZWQgdG8gJnF1b3Q7dmlldyBzb3VyY2UmcXVvdDsgb24gdGhlIGdlbmVyYXRlZCBmb3JtLCBhbmQgdGhlbg0Kd3JpdGUgeW91ciBDU1MuPC9wPg0KPHVsPg0KPGxpPlN0YW5kYXJkIElucHV0cw0KPHVsPjxsaT5UZXh0IElucHV0LiBUaGlzIGlzIGEgc3RhbmRhcmQgdGV4dCBmaWVsZC4gWW91IGNhbiBsaW1pdCB0aGUgbGVuZ3RoLCBhbmQgYXBwbHkgdmFyaW91cyB2YWxpZGF0aW9uDQpmdW5jdGlvbnMgdG8gdGhlIGZpZWxkLjwvbGk+DQo8bGk+VGV4dCBBcmVhLiBUaGlzIGlzIGEgYmlnLCBmcmVlLWZvcm0gdGV4dCBpbnB1dCBmaWVsZC48L2xpPg0KPGxpPkNoZWNrYm94LiBUaGlzIGlzIGEgc3RhbmRhcmQgY2hlY2sgYm94LiBJZiB5b3UgdHVybiBvbiB2YWxpZGF0aW9uLCB5b3UgY2FuIHJlcXVpcmUgdGhhdCB0aGUgdXNlciBjaGVja3MNCnRoZSBib3guIFRoaXMgaXMgdXNlZnVsIGZvciBmb3JtcyB3aGVyZSB0aGUgdXNlciBpcyBvYmxpZ2F0ZWQgdG8gYWdyZWUgdG8gc29tZXRoaW5nIGluIG9yZGVyIHRvIHN1Ym1pdA0KdGhlIGZvcm0uPC9saT4NCjxsaT5DaGVja2JveCBHcm91cC4gVGhpcyBpcyBhIGNvbGxlY3Rpb24gb2YgY2hlY2tib3hlcy4gVGhlIG9ubHkgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoaXMgaW5wdXQgYW5kIGENCmNvbGxlY3Rpb24gb2YgQ2hlY2tib3ggaW5wdXRzIGlzIHRoYXQgdGhleSBhcmUgcHJlc2VudGVkIGFzIGEgZ3JvdXAsIHdpdGggb25lIG5hbWUsIGFuZCBjYW4gaGF2ZSBhIHZhbGlkYXRpb24NCmZ1bmN0aW9uIHJlcXVpcmluZyB0aGF0IHlvdSBjaGVjayBvbmUgb3IgbW9yZSBvZiB0aGUgYm94ZXMgaW4gdGhlIGdyb3VwLjwvbGk+DQo8bGk+UmFkaW8gR3JvdXAuIFRoaXMgaXMgYSBjb2xsZWN0aW9uIG9mIHJhZGlvIGJ1dHRvbnMuIE9ubHkgb25lIG9mIHRoZSBncm91cCBtYXkgYmUgc2VsZWN0ZWQgYnkgdGhlIHVzZXIuPC9saT4NCjxsaT5QdWxsZG93bi4gVGhpcyBpcyBhIHN0YW5kYXJkIHB1bGxkb3duIG1lbnUuIEl0JiMwMzk7cyByZWFsbHkgY29uY2VwdHVhbGx5IHRoZSBzYW1lIHRoaW5nIGFzIGEgcmFkaW8gYnV0dG9uDQpncm91cCwgYnV0IGlzIGJldHRlciB3aGVuIHRoZXJlIGFyZSBhIGxhcmdlIG51bWJlciBvZiBvcHRpb25zLjwvbGk+DQo8bGk+U3RhdGUuIFRoaXMgaXMgYSBwdWxsZG93biBsaXN0aW5nIHRoZSBTdGF0ZXMgb2YgdGhlIFUuUy48L2xpPg0KPGxpPkNvdW50cmllcy4gVGhpcyBpcyBhIHB1bGxkb3duIGxpc3RpbmcgdGhlIENvdW50cmllcyBvZiB0aGUgd29ybGQgKGFzIG9mIEp1bHkgMjAwNSkuPC9saT4NCjxsaT5EYXRlIFBpY2tlci4gVGhpcyBpcyBhIHRyaXBsZSBwdWxsZG93biBhbGxvd2luZyB0aGUgdXNlciB0byBzZWxlY3QgYSBkYXRlLjwvbGk+DQo8L3VsPjwvbGk+DQoNCjxsaT5FbWFpbC1vbmx5IElucHV0cw0KPHVsPjxsaT5GaWxlIFVwbG9hZC4gVGhpcyBhbGxvd3MgYSB1c2VyIHRvIHVwbG9hZCBhIGZpbGUsIHdoaWNoIHdpbGwgYmUgaW5jbHVkZWQgYXMgYW4gYXR0YWNobWVudCB0byBhbnkgZW1haWwNCmRpc3Bvc2l0aW9uLiBGaWxlIHVwbG9hZHMgZG8gbm90IGN1cnJlbnRseSB3b3JrIHdpdGggdGhlIEZsYXQgRmlsZSBkaXNwb3NpdGlvbiBtZXRob2QuPC9saT4NCjxsaT5FbWFpbCBGcm9tIEZpZWxkLiBUaGlzIGFsbG93cyB1c2VycyB0byBwcm92aWRlIHRoZWlyIG5hbWUgYW5kIGVtYWlsIGFkZHJlc3MuIFRoZSBlbWFpbCBnZW5lcmF0ZWQgd2hlbiB0aGUNCmZvcm0gZ2V0cyBoYW5kbGVkIHdpbGwgdXNlIHRoaXMgbmFtZSBhbmQgYWRkcmVzcyBpbiB0aGUgJnF1b3Q7RnJvbSZxdW90OyBmaWVsZC48L2xpPg0KPC91bD48L2xpPg0KDQo8bGk+RGlzcGxheSBDb250cm9sIEZpZWxkczx1bD4NCjxsaT5QYWdlIEJyZWFrLiBUaGlzIGFsbG93cyB5b3UgdG8gc3BsaXQgeW91ciBmZWVkYmFjayBmb3JtIGludG8gbXVsdGlwbGUgcGFnZXMuIEVhY2ggcGFnZSBpcw0KaW5kZXBlbmRlbnRseSB2YWxpZGF0ZWQuIFRoaXMgaXMgZ29vZCBmb3IgYXBwbGljYXRpb25zIGxpa2Ugb25saW5lIHN1cnZleXMuPC9saT4NCjxsaT5TdGF0aWMgVGV4dC4gVGhpcyBhbGxvd3MgeW91IHRvIHBsYWNlIHRleHQgaW4geW91ciBmb3JtLiBJdCYjMDM5O3MgY2FsbGVkIGFuIGlucHV0LCBidXQgaXQmIzAzOTtzIGRpc3BsYXkgb25seS4gVGhpcyBpcyB1c2VmdWwgZm9yIHByZXNlbnRpbmcgaW5zdHJ1Y3Rpb25zLCBoZWxwLCBldGMuPC9saT4NCjwvdWw+PC9saT4NCg0KPGxpPlNwZWNpYWwgUHVycG9zZSBGaWVsZHM8dWw+DQo8bGk+RnVuY3Rpb24gQ2FsbGJhY2sgJnF1b3Q7SW5wdXQmcXVvdDsuIFRoaXMgYWxsb3dzIHByb2dyYW1tZXJzIHRvIGFjY2VzcyBpbmZvcm1hdGlvbiBmcm9tIG90aGVyIG1vZHVsZXMgKHN1Y2ggYXMgZ2V0dGluZyB1c2VyIG5hbWUgZGF0YSBmcm9tIGEgdXNlciBhdXRoZW50aWNhdGlvbiBtb2R1bGUpLjwvbGk+PC91bD48L2xpPg0KDQo8bGk+Rm9ybSBIYW5kbGluZyBJbnB1dHMgKERpc3Bvc2l0aW9ucykNCjx1bD48bGk+RW1haWwgUmVzdWx0cyBCYXNlZCBvbiBQdWxsZG93bi4gVGhpcyBpcyB1c2VmdWwgZm9yIHdlYiBzaXRlcyB3aGVyZSBjb21tZW50cyBnZXQgcm91dGVkIGJhc2VkIG9uDQp0aGVpciBzdWJqZWN0IG1hdHRlciwgZS5nLiwgYnVncyBnZXQgc2VudCB0byBvbmUgcGVyc29uLCBtYXJrZXRpbmcgcXVlc3Rpb25zIHRvIGFub3RoZXIgcGVyc29uLCBzYWxlcyByZXF1ZXN0cw0KdG8gc29tZW9uZSBlbHNlLCBldGMuIFRoZSBwdWxsZG93biBpcyBwb3B1bGF0ZWQgd2l0aCB0aGUgc3ViamVjdHMsIGFuZCBlYWNoIGdldHMgZGlyZWN0ZWQgdG8gYSBzcGVjaWZpYyBlbWFpbA0KYWRkcmVzcy4gWW91IHNldCB1cCB0aGVzZSBtYXBwaW5ncyBpbiB0aGUgd2hlbiB5b3UgY3JlYXRlIG9yIGVkaXQgYSBmaWVsZCBvZiB0aGlzIHR5cGUuIElmIHlvdSB1c2Ugb25lIG9mDQp0aGVzZSAmcXVvdDtEaXJlY3RvciZxdW90OyBwdWxsZG93bnMsIHRoZSB1c2VyIG11c3QgbWFrZSBhIHNlbGVjdGlvbiBpbiBvcmRlciB0byBzdWJtaXQgdGhlDQpmb3JtLiBUaGlzIGlucHV0IGlzIHBhcnQgb2YgdGhlIGZvcm0gdGhlIHVzZXIgc2VlcywgYWx0aG91Z2ggdGhlIGVtYWlsIGFkZHJlc3NlcyBhcmUgbm90IG1hZGUgdmlzaWJsZSBub3INCmFyZSB0aGV5IGVtYmVkZGVkIGluIHRoZSBIVE1MLjwvbGk+DQo8bGk+RW1haWwgUmVzdWx0cyB0byBzZXQgQWRkcmVzcyhlcykuIFRoaXMgc2ltcGx5IHNlbmRzIHRoZSBmb3JtIHJlc3VsdHMgdG8gb25lIG9yIG1vcmUgZW1haWwgYWRkcmVzc2VzIHRoYXQNCnlvdSBlbnRlciB3aGVuIHlvdSBjcmVhdGUgb3IgZWRpdCB0aGlzIHR5cGUgb2YgZmllbGQuIFRoaXMgZmllbGQgYW5kIGl0cyBuYW1lIGFyZSBub3QgdmlzaWJsZSBpbiB0aGUNCmZvcm0gdGhhdCB0aGUgdXNlciBzZWVzLiBUaGUgZW1haWwgYWRkcmVzc2VzIGFyZSBub3QgbWFkZSB2aXNpYmxlIG5vcg0KYXJlIHRoZXkgZW1iZWRkZWQgaW4gdGhlIEhUTUwuPC9saT4NCjxsaT5FbWFpbCBSZXN1bHRzIHRvIFVzZXItU2VsZWN0ZWQgU2l0ZSBVc2VyLiBUaGlzIGlucHV0IGlzIG91ciBmaXJzdCBlbmQtdXNlciBzdWdnZXN0aW9uISBJdCBjcmVhdGVzIGEgDQpwdWxsZG93biBvZiB1c2VybmFtZXMgaW4gdGhlIGZvcm0uIFRoZSB1c2VybmFtZXMgYXJlIG90aGVyIHVzZXJzIHdobyBhcmUgcmVnaXN0ZXJlZCB3aXRoIHRoZSBzaXRlLg0KV2hlbiB0aGUgZm9ybSBpcyBzdWJtaXR0ZWQsIHRoZSBkYXRhIGlzIHNlbnQgdG8gdGhlIHVzZXIgd2hvc2UgbmFtZSB3YXMgc2VsZWN0ZWQuIFdoZW4geW91IGNyZWF0ZQ0KYSBmaWVsZCBvZiB0aGlzIHR5cGUsIHlvdSBtYXkgc2VsZWN0IHNwZWNpZmljIGdyb3VwcyBmcm9tIHdoaWNoIHRoZSB1c2VybGlzdCBpcyBjcmVhdGVkLiBUaGlzIGlucHV0IGlzDQpwYXJ0IG9mIHRoZSBmb3JtIHRoZSB1c2VyIHNlZXMsIGFsdGhvdWdoIHRoZSBlbWFpbCBhZGRyZXNzZXMgYXJlIG5vdCBtYWRlIHZpc2libGUgbm9yIGFyZSB0aGV5IGVtYmVkZGVkDQppbiB0aGUgSFRNTC48L2xpPg0KPGxpPldyaXRlIFJlc3VsdHMgdG8gRmxhdCBGaWxlLiBUaGlzIHRha2VzIHRoZSBmb3JtIHJlc3VsdHMgYW5kIHdyaXRlcyB0aGVtIGludG8gYSB0ZXh0IGZpbGUuIFlvdSBtYXkNCnNlbGVjdCB0aGUgbmFtZSBvZiB0aGUgZmlsZSwgYW5kIGl0cyBmb3JtYXQuIFlvdSBjYW4gY2hvb3NlIGZyb20gJnF1b3Q7cGFnZSZxdW90OyBmb3JtYXQsIHdoaWNoIGxvb2tzIGxpa2UgdGhlDQplbWFpbHMgdGhhdCBnZXQgc2VudCBieSB0aGUgb3RoZXIgaGFuZGxlcnMsIG9yIHlvdSBjYW4gY2hvb3NlIGEgdGFiLWRlbGltaXRlZCBmb3JtYXQgdXNlZnVsIGZvciByZWFkaW5nDQppbnRvIEV4Y2VsIG9yIHNpbWlsYXIgcHJvZ3JhbXMuIElmIHlvdSBjaG9vc2UgdGFiLWRlbGltaXRlZCwgeW91IGNhbiBvcHQgdG8gaGF2ZSB0aGUgZmlsZSBzdGFydCB3aXRoDQphIGhlYWRlciByb3csIHdoaWNoIG5hbWVzIHRoZSBjb2x1bW5zLiBUaGVzZSBmaWxlcyBhcmUgd3JpdHRlbiB0byB0aGUgJnF1b3Q7b3V0cHV0JnF1b3Q7IGRpcmVjdG9yeSB1bmRlciB0aGUNCm1vZHVsZSYjMDM5O3MgaW5zdGFsbGF0aW9uIGRpcmVjdG9yeS4NCjwvdWw+PC9saT48L2xpPjwvdWw+DQoNCjxoMz5Lbm93biBJc3N1ZXM8L2gzPg0KPHVsPg0KPGxpPkZpbGUgVXBsb2FkIElucHV0cyBtYXkgYmUgdXNlZCBvbiBtdWx0aS1wYWdlIGZlZWRiYWNrIGZvcm1zLCA8c3Ryb25nPmJ1dCB0aGV5IG11c3QgYmUgb24gdGhlIGxhc3QgcGFnZTwvc3Ryb25nPiBvZg0KdGhlIGZvcm0uPC9saT4NCjxsaT5GaWxlIFVwbG9hZCAmcXVvdDttYXhpbXVtIHNpemUmcXVvdDsgY2Fubm90IGJlIGxhcmdlciB0aGFuIHRoZSB2YWx1ZSBzZXQgaW4geW91ciBwaHAuaW5pIGZpbGUuIFRoaXMgaXMgbm90IGEgYnVnIC0tIHRoaXMgaXMgYSBmZWF0dXJlLjwvbGk+DQo8bGk+RmlsZSBVcGxvYWQgJnF1b3Q7bWF4aW11bSBzaXplJnF1b3Q7IHVzZXMgdW5pdHMgY2FsbGVkICZxdW90O2tpbG9ieXRlcyZxdW90OyB0aGF0IGFyZSAxMDAwIGJ5dGVzLCBub3QgMTAyNCBieXRlcy48L2xpPg0KPGxpPkZpbGUgVXBsb2FkcyBkbyBub3QgY3VycmVudGx5IHdvcmsgd2l0aCB0aGUgRmxhdCBGaWxlIGRpc3Bvc2l0aW9uIG1ldGhvZC48L2xpPg0KPGxpPkZpbGUgVXBsb2FkcyBjb3VsZCBhbGxvdyB1c2VycyB0byBzdWJtaXQgb2ZmZW5zaXZlLCBvYnNjZW5lLCBvciBpbGxlZ2FsIG1hdGVyaWFsLiBJdCBjb3VsZCBhbHNvIGJlIHVzZWQgdG8gdHJhbnNtaXQNCmRhbmdlcm91cyBmaWxlcyBzdWNoIGFzIHRyb2phbi1ob3JzZXMsIHZpcnVzZXMsIG9yIG90aGVyIHNlY3VyaXR5IHRocmVhdHMuIFVzZSBGaWxlIFVwbG9hZHMgd2l0aCBjYXV0aW9uIGFuZCBjb21tb24gc2Vuc2UuPC9saT4NCjwvdWw+DQoNCjxoMz5Ucm91Ymxlc2hvb3Rpbmc8L2gzPg0KPG9sPjxsaT4gRmlyc3Qgc3RlcCBpcyB0byBjaGVjayB5b3UmIzAzOTtyZSBydW5uaW5nIENNUyAwLjEwLnggb3IgbGF0ZXIuPC9saT4NCjxsaT4gU2Vjb25kIHN0ZXAgaXMgdG8gcmVhZCBhbmQgdW5kZXJzdGFuZCB0aGUgY2F2ZWF0IGFib3V0IFdZU0lXWUcgZWRpdG9ycyB1cCBpbiB0aGUNCnNlY3Rpb24gPGVtPkFkZGluZyBhIEZvcm0gdG8gYSBQYWdlPC9lbT4uPC9saT4NCjxsaT4gSnVzdCBtZXNzIGFyb3VuZCBhbmQgdHJ5IGNsaWNraW5nIG9uIGxpbmtzIGFuZCBpY29ucyBhbmQgc3R1ZmYuIFNlZSB3aGF0IGhhcHBlbnMuPC9saT4NCjxsaT4gTGFzdCByZXNwb3J0IGlzIHRvIGVtYWlsIG1lIG9yIGNhdGNoIG1lIG9uIElSQyBhbmQgd2UgY2FuIGdvIGZyb20gdGhlcmUuPC9saT4NCjwvb2w+IA0KPHA+VGhpcyBtYXkgbm8gbG9uZ2VyIGJlIHN1Y2ggYW4gZWFybHkgdmVyc2lvbiwgYnV0IGl0IGlzIHByb2JhYmx5IHN0aWxsIGJ1Z2d5LiBXaGlsZSBJJiMwMzk7dmUgZG9uZSBhbGwgSSBjYW4NCnRvIG1ha2Ugc3VyZSBubyBlZ3JlZ2lvdXMgYnVncyBoYXZlIGNyZXB0IGluLCBJIGhhdmUgdG8gYWRtaXQgdGhhdCBkdXJpbmcgdGVzdGluZywgdGhpcyBwcm9ncmFtDQpyZXZlYWxlZCBzZXZlbiBjb2Nrcm9hY2hlcywgdHdvIGVhcndpZ3MsIGEgc21hbGwgZmFtaWx5IG9mIGFwaGlkcywgYW5kIGEgd2Fsa2luZy1zdGljayBpbnNlY3QuIEl0IGFsc28NCmF0ZSB0aGUgbmVpZ2hib3ImIzAzOTtzIG5hc3R5IGxpdHRsZSB5YXAgZG9nLCBmb3Igd2hpY2ggSSB3YXMgaW5hcHByb3ByaWF0ZWx5IGdyYXRlZnVsLjwvcD4NCjxwPlRoZSBmaW5hbCByZWxlYXNlIHdpbGwgaW5jbHVkZSBidWcgZml4ZXMsIGRvY3VtZW50YXRpb24sIGFuZCB1bmNvbmRpdGlvbmFsIGxvdmUuPC9wPg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQsIHBsZWFzZSB2aXNpdCB0aGUgQ01TIERldmVsb3BlciBDZW50ZXIgYXQgPGEgaHJlZj0mcXVvdDtodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnJnF1b3Q7Pmh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmc8L2E+LjwvbGk+DQo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSZxdW90O2h0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyZxdW90Oz5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPGxpPlRoZSBhdXRob3IsIFNqRywgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSZxdW90O2lyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyZxdW90Oz5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkuPC9saT4gIA0KPC91bD4NCjxwPkFzIHBlciB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkIGFzLWlzLiBQbGVhc2UgcmVhZCB0aGUgdGV4dA0Kb2YgdGhlIGxpY2Vuc2UgZm9yIHRoZSBmdWxsIGRpc2NsYWltZXIuPC9wPg0KDQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPkNvcHlyaWdodCAmY29weTsgMjAwNiwgU2FtdWVsIEdvbGRzdGVpbiA8YSBocmVmPSZxdW90O21haWx0bzpzamdAY21zbW9kdWxlcy5jb20mcXVvdDs+PHNqZ0BjbXNtb2R1bGVzLmNvbT48L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiByZWxlYXNlZCB1bmRlciB0aGUgPGEgaHJlZj0mcXVvdDtodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwmcXVvdDs+R05VIFB1YmxpYyBMaWNlbnNlPC9hPi4gWW91IG11c3QgYWdyZWUgdG8gdGhpcyBsaWNlbnNlIGJlZm9yZSB1c2luZyB0aGUgbW9kdWxlLjwvcD4NCgkJDQonOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnCQkgICAgPHVsPg0KCQkgICAgPGxpPlZlcnNpb24gMC45LjExIC0gOSBGZWJydWFyeSAyMDA2LiBCdWcgZml4ZXMgZm9yIHRyYWNrZXIgYnVncyAjMjkzLCAjMzI5LCAjMzA0LCAjMzM3PC9saT4NCgkJICAgIDxsaT5WZXJzaW9ucyAwLjkueCAtIE9jdG9iZXIsIE5vdmVtYmVyIDIwMDUuIENvbnRpbnVpbmcgYnVnIGZpeGVzLjwvbGk+DQoJCSAgICA8bGk+VmVyc2lvbiAwLjkgLSAgMiBPY3RvYmVyIDIwMDUuIE1pZ3JhdGVkIHRvIHByb3BlciBNb2R1bGUgQVBJIChsYW5nLCBzbWFydHkgdGVtcGxhdGVzLCBldGMuKS48L2xpPg0KICAgICAgICAgICAgPGxpPlZlcnNpb24gMC44IC0gMzEgSnVseSAyMDA1LiBCdWcgZml4ZXMsIGFkZGVkIERhdGUgYW5kIENhbGxiYWNrIEZ1bmN0aW9uIGlucHV0IHR5cGVzLjwvbGk+DQogICAgICAgICAgICA8bGk+VmVyc2lvbiAwLjcuMyAtIDIxIEp1bHkgMjAwNS4gQnVnIGZpeGVzLCBhZGRlZCBTdGF0ZSBhbmQgQ291bnRyeSBpbnB1dCB0eXBlcy48L2xpPg0KICAgICAgICAgICAgPGxpPlZlcnNpb24gMC43LjIgLSAxOCBKdWx5IDIwMDUuIFZhbGlkYXRpb24gYnVnIGZpeGVzLCBmaXhlZCBQSFBNYWlsZXIgbG9jYWxpemF0aW9uLjwvbGk+DQogICAgICAgICAgICA8bGk+VmVyc2lvbiAwLjcuMSAtIDEgSnVuZSAyMDA1LiBNaW5vciBidWcgZml4ZXMuPC9saT4NCiAgICAgICAgICAgIDxsaT5WZXJzaW9uIDAuNyAtIDI0IE1heSAyMDA1LiBNb3JlIGFuZCBiZXR0ZXIgc3VwcG9ydCBmb3IgQ1NTIGFuZCBwdXJlIENTUyBsYXlvdXRzLg0KICAgICAgICAgICAgU3VwcG9ydCBmb3IgbXVsdGktcGFnZSBmb3Jtcy4NCiAgICAgICAgICAgIE1hbnkgbmV3IGZvcm0gb3B0aW9ucy4gTmV3IGZpZWxkIHR5cGVzOiBmaWxlIHVwbG9hZCwgZW1haWwgJnF1b3Q7ZnJvbSZxdW90OyBhZGRyZXNzLiBJbXByb3ZlZA0KICAgICAgICAgICAgZXJyb3IgaGFuZGxpbmcuIEVtYWlsIGRpc3Bvc2FsIHR5cGVzIG5vdyB0ZW1wbGF0ZWQuPC9saT4NCgkJCTxsaT5WZXJzaW9uIDAuNiAtIDE2IEFwciAyMDA1LiBVcGRhdGVkIGZvciBuZXcgQWRtaW4sIHNpbXBsaWZpZWQgcGVybWlzc2lvbnMuPC9saT4NCgkJICAgIDxsaT5WZXJzaW9uIDAuNSAtIDQgTWFyIDIwMDUuIE1pbm9yIGJ1ZyBmaXhlcyBmb3IgZGVsZXRpbmcgZm9ybXMvZmllbGRzLjwvbGk+DQoJCSAgICA8bGk+VmVyc2lvbiAwLjQgLSAyIE1hciAyMDA1LiBMb2NhbGl6YXRpb24gYW5kIG51bWVyb3VzIGJ1ZyBmaXhlcy48L2xpPg0KCQkgICAgPGxpPlZlcnNpb24gMC4zIC0gMjggRmViIDIwMDUuIFByaW1pdGl2ZSBsb2NhbGl6YXRpb24gYW5kIGJ1ZyBmaXhlcy48L2xpPg0KCQkgICAgPGxpPlZlcnNpb24gMC4yIC0gMjQgRmViIDIwMDUuIENvbnZlcnRlZCB0byB1c2UgT2JqZWN0cy4gTWFueSBpbXByb3ZlbWVudHMgYW5kIGJ1ZyBmaXhlcy48L2xpPg0KCQkJPGxpPlZlcnNpb24gMC4xIC0gMTEgRmViIDIwMDUuIEluaXRpYWwgUmVsZWFzZTwvbGk+PC91bD4NCgkJJzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTE1MDI4Njg3MS4zLjMudXRtY2NuPShyZWZlcnJhbCl8dXRtY3NyPWZvcnVtLmNtc21hZGVzaW1wbGUub3JnfHV0bWNjdD0vaW5kZXgucGhwL3RvcGljLDUxODguZnJvbTExNTAyNzg5NTEvdG9waWNzZWVuLmh0bWx8dXRtY21kPXJlZmVycmFsJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuNzE3NDYyNzM2LjExNDc1MTE4NTYuMTE0OTg1MjgyNy4xMTUwMjg2ODcxLjMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/el_GR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZpZWxkX3R5cGVfdGV4dF9pbnB1dCddID0gJ86gzrXOtM6vzr8gzrXOuc+DzrHOs8+JzrPOrs+CIM66zrXOuc68zq3Ovc6/z4UnOwokbGFuZ1snZmllbGRfdHlwZV90ZXh0X2FyZWEnXSA9ICfOoM61z4HOuc6/z4fOriDOus61zrnOvM6tzr3Ov8+FJzsKJGxhbmdbJ2ZpZWxkX3R5cGVfY2hlY2tib3gnXSA9ICfOo8+Ezr/Ouc+HzrXOr86/IM61zrvOrc6zz4fOv8+FIENoZWNrIEJveCc7CiRsYW5nWydmaWVsZF90eXBlX2NoZWNrYm94X2dyb3VwJ10gPSAnzqPPhM6/zrnPh861zq/OvyDOtc67zq3Os8+Hzr/PhSBDaGVjayBCb3ggR3JvdXAnOwokbGFuZ1snZmllbGRfdHlwZV9wdWxsZG93biddID0gJ86jz4TOv865z4fOtc6vzr8gzrXOu86tzrPPh86/z4UgUHVsbGRvd24nOwokbGFuZ1snZmllbGRfdHlwZV9zdGF0ZSddID0gJ1UuUy4gU3RhdGUnOwokbGFuZ1snZmllbGRfdHlwZV9jb3VudHJ5J10gPSAnzqfPjs+BzrEnOwokbGFuZ1snZmllbGRfdHlwZV9kYXRlJ10gPSAnzpXPgM65zrvOv86zzq3Osc+CIM6XzrzOtc+Bzr/OvM63zr3Or86xz4InOwokbGFuZ1snZmllbGRfdHlwZV9jYWxsYmFjayddID0gJ0Z1bmN0aW9uIENhbGxiYWNrICJJbnB1dCInOwokbGFuZ1snZmllbGRfdHlwZV9yYWRpb19ncm91cCddID0gJ1JhZGlvIEJ1dHRvbiBHcm91cCc7CiRsYW5nWydmaWVsZF90eXBlX2Rpc3Bvc2l0aW9uX2RpcmVjdG9yJ10gPSAnKkVtYWlsIFJlc3VsdHMgQmFzZWQgb24gUHVsbGRvd24nOwokbGFuZ1snZmllbGRfdHlwZV9kaXNwb3NpdGlvbl9lbWFpbCddID0gJypFbWFpbCBSZXN1bHRzIHRvIHNldCBBZGRyZXNzKGVzKSc7CiRsYW5nWydmaWVsZF90eXBlX2Rpc3Bvc2l0aW9uX2VtYWlsX3NpdGVfdXNlciddID0gJypFbWFpbCBSZXN1bHRzIHRvIFVzZXItU2VsZWN0ZWQgU2l0ZSBVc2VyJzsKJGxhbmdbJ2ZpZWxkX3R5cGVfZGlzcG9zaXRpb25fZmlsZSddID0gJypXcml0ZSBSZXN1bHRzIHRvIEZsYXQgRmlsZSc7CiRsYW5nWydmaWVsZF90eXBlX3N0YXRpY190ZXh0J10gPSAnU3RhdGljIFRleHQnOwokbGFuZ1snZmllbGRfdHlwZV9wYWdlX2JyZWFrJ10gPSAnUGFnZSBCcmVhayc7CiRsYW5nWydmaWVsZF90eXBlX2ZpbGVfdXBsb2FkJ10gPSAnRmlsZSBVcGxvYWQnOwokbGFuZ1snZmllbGRfdHlwZV9lbWFpbF9mcm9tJ10gPSAnRW1haWwgIkZyb20iIEZpZWxkJzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0ZlZWRiYWNrRm9ybSc7CiRsYW5nWyd2YWxpZGF0aW9uX25vbmUnXSA9ICdObyBWYWxpZGF0aW9uJzsKJGxhbmdbJ3ZhbGlkYXRpb25fbm90X2VtcHR5J10gPSAnzpzOtyDOus61zr3PjCc7CiRsYW5nWyd2YWxpZGF0aW9uX251bWVyaWMnXSA9ICfOkc+BzrnOuM68zrfPhM65zrrPjCc7CiRsYW5nWyd2YWxpZGF0aW9uX2ludGVnZXInXSA9ICfOkc66zq3Pgc6xzrnOv8+CJzsKJGxhbmdbJ3ZhbGlkYXRpb25fZW1haWxfYWRkcmVzcyddID0gJ86UzrnOtc+NzrjPhc69z4POtyBlbWFpbCc7CiRsYW5nWyd2YWxpZGF0aW9uX2F0X2xlYXN0X29uZSddID0gJ86kzr/Phc67zqzPh865z4PPhM6/zr0gzq3Ovc6xIM6tz4fOtc65IM61z4DOuc67zrXOs861zq8nOwokbGFuZ1sndmFsaWRhdGlvbl9tdXN0X2NoZWNrJ10gPSAnzqDPgc6tz4DOtc65IM69zrEgzrXPgM65zrvOtc+HzrjOtc6vJzsKJGxhbmdbJ3ZhbGlkYXRpb25fb3B0aW9uX3NlbGVjdGVkJ10gPSAnT3B0aW9uIE11c3QgYmUgU2VsZWN0ZWQnOwokbGFuZ1sncGxlYXNlX2VudGVyX2FfdmFsdWUnXSA9ICdQbGVhc2UgZW50ZXIgYSB2YWx1ZSBmb3IgJzsKJGxhbmdbJ3BsZWFzZV9lbnRlcl9hX251bWJlciddID0gJ1BsZWFzZSBlbnRlciBhIG51bWJlciBmb3IgJzsKJGxhbmdbJ3BsZWFzZV9lbnRlcl9hbl9pbnRlZ2VyJ10gPSAnUGxlYXNlIGVudGVyIGFuIGludGVnZXIgdmFsdWUgZm9yICc7CiRsYW5nWydwbGVhc2VfZW50ZXJfYW5fZW1haWwnXSA9ICdQbGVhc2UgZW50ZXIgYSB2YWxpZCBlbWFpbCBhZGRyZXNzIGZvciAnOwokbGFuZ1snbm90X3ZhbGlkX2VtYWlsJ10gPSAnZG9lcyBub3QgYXBwZWFyIHRvIGJlIGEgdmFsaWQgZW1haWwgYWRkcmVzcyEnOwokbGFuZ1sncGxlYXNlX2VudGVyX25vX2xvbmdlciddID0gJ1BsZWFzZSBlbnRlciBhIHZhbHVlIHRoYXQgaXMgbm8gbG9uZ2VyIHRoYW4gJzsKJGxhbmdbJ3BsZWFzZV9jaGVja19zb21ldGhpbmcnXSA9ICdQbGVhc2UgY2hlY2sgc29tZXRoaW5nIGZvciAnOwokbGFuZ1sncGxlYXNlX3NlbGVjdF9zb21ldGhpbmcnXSA9ICdQbGVhc2Ugc2VsZWN0IHNvbWV0aGluZyBmb3IgJzsKJGxhbmdbJ2ZpZWxkX25hbWVfaW5fdXNlMSddID0gJ1RoZSBmaWVsZCBuYW1lJzsKJGxhbmdbJ2ZpZWxkX25hbWVfaW5fdXNlMiddID0gJ2lzIGFscmVhZHkgaW4gdXNlIGluIHRoZSBmb3JtISBQbGVhc2UgY2hhbmdlIGl0IHRvIHNvbWV0aGluZyB1bmlxdWUuJzsKJGxhbmdbJ3lvdV9uZWVkX3Blcm1pc3Npb24xJ10gPSAnWW91IG5lZWQgdGhlICInOwokbGFuZ1sneW91X25lZWRfcGVybWlzc2lvbjInXSA9ICciIHBlcm1pc3Npb24gdG8gcGVyZm9ybSB0aGF0IG9wZXJhdGlvbi4nOwokbGFuZ1snbGFja3Blcm1pc3Npb24nXSA9ICdTb3JyeSEgWW91IGRvblwndCBoYXZlIGFkZXF1YXRlIHByaXZpbGVnZXMgdG8gYWNjZXNzIHRoaXMgc2VjdGlvbi4nOwokbGFuZ1snZmllbGRfb3JkZXJfdXBkYXRlZCddID0gJ0ZpZWxkIG9yZGVyIHVwZGF0ZWQuJzsKJGxhbmdbJ2Zvcm1fZGVsZXRlZCddID0gJ0Zvcm0gZGVsZXRlZC4nOwokbGFuZ1snZmllbGRfZGVsZXRlZCddID0gJ0ZpZWxkIGRlbGV0ZWQuJzsKJGxhbmdbJ2NvbmZpZ3VyYXRpb25fdXBkYXRlZCddID0gJ0NvbmZpZ3VyYXRpb24gVXBkYXRlZC4nOwokbGFuZ1sneW91X211c3RfY2hlY2sxJ10gPSAnWW91IG11c3QgY2hlY2sgIic7CiRsYW5nWyd5b3VfbXVzdF9jaGVjazInXSA9ICciIGluIG9yZGVyIHRvIGNvbnRpbnVlLic7CiRsYW5nWydtdXN0X3NwZWNpZnlfb25lX2Rlc3RpbmF0aW9uJ10gPSAnWW91IG5lZWQgdG8gc3BlY2lmeSBhdCBsZWFzdCBvbmUgZGVzdGluYXRpb24gYWRkcmVzcyEnOwokbGFuZ1snYXJlX3lvdV9zdXJlX2RlbGV0ZV9mb3JtJ10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGUgZm9ybSAlcz8nOwokbGFuZ1snYXJlX3lvdV9zdXJlX2RlbGV0ZV9maWVsZCddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgdGhlIGZpZWxkICVzPyc7CiRsYW5nWydhYmJyZXZpYXRpb25fbGVuZ3RoJ10gPSAnTGVuJzsKJGxhbmdbJ2NoYXJhY3RlcnMnXSA9ICdjaGFyYWN0ZXJzJzsKJGxhbmdbJ2JveGVzJ10gPSAnYm94ZXMnOwokbGFuZ1snZmllbGQnXSA9ICdGaWVsZCc7CiRsYW5nWydvcmRlciddID0gJ09yZGVyJzsKJGxhbmdbJ3Vuc3BlY2lmaWVkJ10gPSAnKHVuc3BlY2lmaWVkKSc7CiRsYW5nWydhZGRlZCddID0gJ2FkZGVkJzsKJGxhbmdbJ3VwZGF0ZWQnXSA9ICd1cGRhdGVkJzsKJGxhbmdbJ2RlbGV0ZWQnXSA9ICdkZWxldGVkJzsKJGxhbmdbJ2Nob2ljZXMnXSA9ICdjaG9pY2VzJzsKJGxhbmdbJ3NlbGVjdF9vbmUnXSA9ICdTZWxlY3QgT25lJzsKJGxhbmdbJ3NlbGVjdF9hX3VzZXInXSA9ICdTZWxlY3QgQSBVc2VyJzsKJGxhbmdbJ3NlbGVjdF90eXBlJ10gPSAnU2VsZWN0IFR5cGUnOwokbGFuZ1sndG8nXSA9ICdUbyc7CiRsYW5nWydyZWNpcGllbnRzJ10gPSAncmVjaXBpZW50cyc7CiRsYW5nWydub3RlJ10gPSAnTm90ZSc7CiRsYW5nWydhbnlfdXNlciddID0gJ0FueSBVc2VyJzsKJGxhbmdbJ2xpc3QnXSA9ICdsaXN0JzsKJGxhbmdbJ25vdF9jb25maWd1cmVkJ10gPSAnTm90IENvbmZpZ3VyZWQnOwokbGFuZ1snc2F2ZSddID0gJ1NhdmUnOwokbGFuZ1snYWRkJ10gPSAnQWRkJzsKJGxhbmdbJ3VwZGF0ZSddID0gJ1VwZGF0ZSc7CiRsYW5nWydzYXZlX2FuZF9jb250aW51ZSddID0gJ1NhdmUgYW5kIENvbnRpbnVlIEVkaXRpbmcnOwokbGFuZ1snaW5mb3JtYXRpb24nXSA9ICdJbmZvcm1hdGlvbic7CiRsYW5nWydhdXRvbWF0aWMnXSA9ICdBdXRvbWF0aWMnOwokbGFuZ1snZm9ybXMnXSA9ICdGb3Jtcyc7CiRsYW5nWydmb3JtJ10gPSAnRm9ybSc7CiRsYW5nWydjb25maWd1cmF0aW9uJ10gPSAnQ29uZmlndXJhdGlvbic7CiRsYW5nWydtYWluJ10gPSAnTWFpbic7CiRsYW5nWydhZGRpdGlvbmFsJ10gPSAnRm9ybSBTZXR0aW5ncyc7CiRsYW5nWydub2ZpZWxkcyddID0gJ05vIHJldHJpZXZhbCBmaWVsZHMgZGVmaW5lZC4gJzsKJGxhbmdbJ25vbWV0aG9kJ10gPSAnTm8gbWV0aG9kL21vZHVsZSBzZXQuJzsKJGxhbmdbJ2NoYXJzJ10gPSAnQ2hhcnMnOwokbGFuZ1snbWlzc2luZ19jbXNfbWFpbGVyJ10gPSAnSXQgYXBwZWFycyB0aGF0IHRoZSBDTVNNYWlsZXIgbW9kdWxlIGlzIG5vdCBpbnN0YWxsZWQhIEZlZWRiYWNrRm9ybSBkZXBlbmRzIG9uIENNU01haWxlciBiZWluZyBpbnN0YWxsZWQgYW5kIGFjdGl2ZS4nOwokbGFuZ1snbWF4aW11bV9zaXplJ10gPSAnTWF4LiBTaXplJzsKJGxhbmdbJ3Blcm1pdHRlZF9leHRlbnNpb25zJ10gPSAnRXh0ZW5zaW9ucyc7CiRsYW5nWydwZXJtaXR0ZWRfZmlsZXR5cGVzJ10gPSAnQWxsb3dlZCBmaWxlIHR5cGVzJzsKJGxhbmdbJ2ZpbGVfdG9vX2xhcmdlJ10gPSAnVXBsb2FkZWQgZmlsZSBpcyB0b28gbGFyZ2UhIE1heGltdW0gc2l6ZSBpczonOwokbGFuZ1snaWxsZWdhbF9maWxlX3R5cGUnXSA9ICdUaGlzIHR5cGUgb2YgZmlsZSBtYXkgbm90IGJlIHVwbG9hZGVkLiBQbGVhc2UgY2hlY2sgdGhhdCB0aGUgZXh0ZW5zaW9uIGlzIGNvcnJlY3QuJzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTW9kdWxlIHVuaW5zdGFsbGVkLic7CiRsYW5nWydpbnN0YWxsZWQnXSA9ICdNb2R1bGUgdmVyc2lvbiAlcyBpbnN0YWxsZWQuJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnTW9kdWxlIHVwZ3JhZGVkIHRvIHZlcnNpb24gJXMuJzsKJGxhbmdbJ3RpdGxlX21heGltdW1fbGVuZ3RoJ10gPSAnTWF4aW11bSBMZW5ndGgnOwokbGFuZ1sndGl0bGVfY2hlY2tib3hfbmFtZSddID0gJ0NoZWNrYm94IE5hbWUnOwokbGFuZ1sndGl0bGVfc3VibWl0dGVkX3ZhbHVlJ10gPSAnU3VibWl0dGVkIFZhbHVlJzsKJGxhbmdbJ3RpdGxlX2NoZWNrYm94X2RldGFpbHMnXSA9ICdDaGVja2JveCBHcm91cCBEZXRhaWxzJzsKJGxhbmdbJ3RpdGxlX3NlbGVjdF9vbmVfbWVzc2FnZSddID0gJyJTZWxlY3QgT25lIiBUZXh0JzsKJGxhbmdbJ3RpdGxlX3NlbGVjdGlvbl9zdWJqZWN0J10gPSAnU2VsZWN0aW9uIFN1YmplY3QnOwokbGFuZ1sndGl0bGVfc2VsZWN0X2RlZmF1bHRfY291bnRyeSddID0gJ0RlZmF1bHQgU2VsZWN0aW9uJzsKJGxhbmdbJ3RpdGxlX3NlbGVjdGlvbl9uYW1lJ10gPSAnU2VsZWN0aW9uIE5hbWUnOwokbGFuZ1sndGl0bGVfZGVzdGluYXRpb25fZW1haWwnXSA9ICdEZXN0aW5hdGlvbiBFbWFpbCBBZGRyZXNzJzsKJGxhbmdbJ3RpdGxlX2RpcmVjdG9yX2RldGFpbHMnXSA9ICdQdWxsZG93bi1iYXNlZCBFbWFpbGVyIERldGFpbHMnOwokbGFuZ1sndGl0bGVfZW1haWxfYWRkcmVzc2VzJ10gPSAnRW1haWwgQWRkcmVzcyhlcykgdG8gU2VuZCBGb3JtIFJlc3VsdHMnOwokbGFuZ1sndGl0bGVfZmlsZV9mb3JtYXQnXSA9ICdGaWxlIEZvcm1hdCc7CiRsYW5nWyd0aXRsZV9maWxlX2Zvcm1hdF90YWInXSA9ICdUYWItRGVsaW1pdGVkIFZhbHVlcyc7CiRsYW5nWyd0aXRsZV9maWxlX2Zvcm1hdF90YWJfaGVhZGVyJ10gPSAnVGFiLURlbGltaXRlZCBWYWx1ZXMgd2l0aCBIZWFkZXInOwokbGFuZ1sndGl0bGVfZmlsZV9mb3JtYXRfcGFnZSddID0gJ1BhZ2UgRm9ybWF0JzsKJGxhbmdbJ3RpdGxlX2ZpbGVfbmFtZSddID0gJ0ZpbGUgTmFtZSc7CiRsYW5nWyd0aXRsZV9lcmFzZV9maWxlbG9jayddID0gJ0VyYXNlIEZpbGUgTG9jayc7CiRsYW5nWyd0aXRsZV9lcmFzZV91c2FnZSddID0gJyh1c2UgdGhpcyB0byBjbGVhciB0aGUgZmlsZSBsb2NrIGlmIGZpbGUgd3JpdGVzIGFyZSBmYWlsaW5nIGR1ZSB0byBhIGNyYXNoZWQgcHJvY2VzcyknOwokbGFuZ1sndGl0bGVfZmlsZV9ub3RlJ10gPSAnRmlsZXMgd2lsbCBiZSBzYXZlZCBpbiB0aGUgbW9kdWxlcy9GZWVkYmFja0Zvcm0vb3V0cHV0IGRpcmVjdG9yeSwgdW5kZXIgeW91ciBpbnN0YWxsIHJvb3QuJzsKJGxhbmdbJ3RpdGxlX3VzZXJuYW1lJ10gPSAnU2l0ZSBVc2VybmFtZSc7CiRsYW5nWyd0aXRsZV9yZWFsX25hbWUnXSA9ICdGdWxsIChSZWFsKSBOYW1lJzsKJGxhbmdbJ3RpdGxlX2JvdGhfbmFtZXMnXSA9ICdTaXRlIFVzZXJuYW1lICsgUmVhbCBOYW1lJzsKJGxhbmdbJ3RpdGxlX25vX2dyb3VwX3Jlc3RyaWN0aW9uJ10gPSAnTm8gR3JvdXAgUmVzdHJpY3Rpb24nOwokbGFuZ1sndGl0bGVfZW1haWxfc3ViamVjdCddID0gJ0VtYWlsIFN1YmplY3QgTGluZSc7CiRsYW5nWyd0aXRsZV9yZXN0cmljdF90b19ncm91cCddID0gJ1Jlc3RyaWN0IHRvIHVzZXJzIGluIGdyb3VwJzsKJGxhbmdbJ3RpdGxlX25hbWVzX2luX3B1bGxkb3duJ10gPSAnTmFtZXMgdG8gdXNlIGluIFB1bGxkb3duJzsKJGxhbmdbJ3RpdGxlX3NlbGVjdF9hX3VzZXJfbWVzc2FnZSddID0gJyJTZWxlY3QgYSBVc2VyIiBtZXNzYWdlJzsKJGxhbmdbJ3RpdGxlX3B1bGxkb3duX2NvbnRlbnRzJ10gPSAnUHVsbGRvd24gQ29udGVudHMnOwokbGFuZ1sndGl0bGVfcmFkaW9fbmFtZSddID0gJ1JhZGlvIEJ1dHRvbiBOYW1lJzsKJGxhbmdbJ3RpdGxlX3JhZGlvX2dyb3VwX2RldGFpbHMnXSA9ICdSYWRpbyBCdXR0b24gR3JvdXAgRGV0YWlscyc7CiRsYW5nWyd0aXRsZV9mb3JtX25hbWUnXSA9ICdGb3JtIE5hbWUnOwokbGFuZ1sndGl0bGVfZm9ybV9zdGF0dXMnXSA9ICdGb3JtIFN0YXR1cyc7CiRsYW5nWyd0aXRsZV9yZWFkeV9mb3JfZGVwbG95bWVudCddID0gJ1JlYWR5IGZvciBEZXBsb3ltZW50JzsKJGxhbmdbJ3RpdGxlX25vdF9yZWFkeTEnXSA9ICdOb3QgUmVhZHknOwokbGFuZ1sndGl0bGVfbm90X3JlYWR5MiddID0gJ1BsZWFzZSBhZGQgYSBmaWVsZCB0byB0aGUgZm9ybSBzbyB0aGF0IHRoZSB1c2VyXCdzIGlucHV0IGdldHMgaGFuZGxlZC4gWW91IGNhbic7CiRsYW5nWyd0aXRsZV9ub3RfcmVhZHlfbGluayddID0gJ3VzZSB0aGlzIHNob3J0Y3V0JzsKJGxhbmdbJ3RpdGxlX2Zvcm1fYWxpYXMnXSA9ICdGb3JtIEFsaWFzJzsKJGxhbmdbJ3RpdGxlX2Zvcm1fZmllbGRzJ10gPSAnRm9ybSBGaWVsZHMnOwokbGFuZ1sndGl0bGVfZmllbGRfbmFtZSddID0gJ0ZpZWxkIE5hbWUnOwokbGFuZ1sndGl0bGVfZmllbGRfdHlwZSddID0gJ0ZpZWxkIFR5cGUnOwokbGFuZ1sndGl0bGVfc2hvd19sYWJlbCddID0gJ0hpZGUgRmllbGQgTGFiZWwgaW4gRm9ybT8nOwokbGFuZ1sndGl0bGVfc2hvd19sYWJlbF9sb25nJ10gPSAnT21pdCB0aGUgRmllbGQgTGFiZWwgd2hlbiByZW5kZXJpbmcgZm9ybT8nOwokbGFuZ1sndGl0bGVfbm90X3JlYWR5MyddID0gJ3RvIGNyZWF0ZSBhIGZvcm0gaGFuZGxpbmcgZmllbGQuJzsKJGxhbmdbJ3RpdGxlX3RhZ190b191c2UnXSA9ICdUYWcgdG8gVXNlIHRoaXMgRm9ybSc7CiRsYW5nWyd0aXRsZV9hZGRfbmV3X2Zvcm0nXSA9ICdBZGQgTmV3IEZlZWRiYWNrIEZvcm0nOwokbGFuZ1sndGl0bGVfZWRpdF9jb25maWd1cmF0aW9uJ10gPSAnRWRpdCBGZWVkYmFjayBDb25maWd1cmF0aW9uJzsKJGxhbmdbJ3RpdGxlX2VtYWlsX2Zyb21fbmFtZSddID0gJ0VtYWlsZWQgRm9ybSAiRnJvbSIgTmFtZSc7CiRsYW5nWyd0aXRsZV9mb3JtX2Zyb21fZW1haWwnXSA9ICdGb3JtICJGcm9tIiBFbWFpbCBBZGRyZXNzJzsKJGxhbmdbJ3RpdGxlX21haWxfaG9zdCddID0gJ01haWwgKFNNVFApIEhvc3QnOwokbGFuZ1sndGl0bGVfbGFuZ3VhZ2UnXSA9ICdMYW5ndWFnZSc7CiRsYW5nWyd0aXRsZV9hZGRfbmV3X2ZpZWxkJ10gPSAnQWRkIE5ldyBGaWVsZCc7CiRsYW5nWyd0aXRsZV9mb3JtX3N1Ym1pdF9idXR0b24nXSA9ICdGb3JtIFN1Ym1pdCBCdXR0b24gVGV4dCc7CiRsYW5nWyd0aXRsZV9mb3JtX25leHRfYnV0dG9uJ10gPSAnRm9ybSAiTmV4dCIgQnV0dG9uIFRleHQgKHVzZWQgZm9yIG11bHRpcGFnZSBmb3JtcyknOwokbGFuZ1sndGl0bGVfZm9ybV90aGFua3NfdGV4dCddID0gJ0Zvcm0gVGhhbmtzIE1lc3NhZ2UgVGV4dCc7CiRsYW5nWyd0aXRsZV9maWVsZF92YWxpZGF0aW9uJ10gPSAnRmllbGQgVmFsaWRhdGlvbic7CiRsYW5nWyd0aXRsZV9kZWZhdWx0X3VzZXInXSA9ICdEZWZhdWx0IFVzZXInOwokbGFuZ1sndGl0bGVfbm9fZGVmYXVsdF91c2VyJ10gPSAnTm8gRGVmYXVsdCBVc2VyJzsKJGxhbmdbJ3RpdGxlX2Nzc19sYXlvdXQnXSA9ICdDU1MgTGF5b3V0JzsKJGxhbmdbJ3RpdGxlX3VzZV9jc3NfbGF5b3V0J10gPSAnVXNlIHB1cmVseSBDU1MgbGF5b3V0IGZvciBmb3JtJzsKJGxhbmdbJ3RpdGxlX2Zvcm1fY3NzX2NsYXNzJ10gPSAnQ1NTIENsYXNzIGZvciB0aGlzIGZvcm0nOwokbGFuZ1sndGl0bGVfZmllbGRfY3NzX2NsYXNzJ10gPSAnQ1NTIENsYXNzIGZvciB0aGlzIGZpZWxkJzsKJGxhbmdbJ3RpdGxlX2Zvcm1fcmVxdWlyZWRfc3ltYm9sJ10gPSAnU3ltYm9sIHRvIG1hcmsgcmVxdWlyZWQgRmllbGRzJzsKJGxhbmdbJ3RpdGxlX2ZpZWxkX3JlcXVpcmVkJ10gPSAnUmVxdWlyZWQnOwokbGFuZ1sndGl0bGVfZmllbGRfcmVxdWlyZWRfbG9uZyddID0gJ1JlcXVpcmUgYSByZXNwb25zZSBmb3IgdGhpcyBGaWVsZCc7CiRsYW5nWyd0aXRsZV9maWVsZF9yZXF1aXJlZF9hYmJyZXYnXSA9ICdSZXFcJ2QnOwokbGFuZ1sndGl0bGVfdGFibGVfbGF5b3V0X3R5cGUnXSA9ICdGaWVsZCBUaXRsZSBQb3NpdGlvbiAobm9uLUNTUyBMYXlvdXQgb25seSknOwokbGFuZ1sndGl0bGVfdGFibGVfbGF5b3V0X2xlZnQnXSA9ICdUaXRsZSBvbiBMZWZ0JzsKJGxhbmdbJ3RpdGxlX3RhYmxlX2xheW91dF9hYm92ZSddID0gJ1RpdGxlIEFib3ZlJzsKJGxhbmdbJ3RpdGxlX2luY2x1ZGVfZW1haWxfaW5mbyddID0gJ0luY2x1ZGUgU2VydmVyIEluZm9ybWF0aW9uJzsKJGxhbmdbJ3RpdGxlX2luY2x1ZGVfZW1haWxfaW5mb19sb25nJ10gPSAnSW5jbHVkZSBTZXJ2ZXIgSW5mb3JtYXRpb24gaW4gRW1haWwnOwokbGFuZ1sndGl0bGVfaGlkZV9lcnJvcnMnXSA9ICdIaWRlIEVycm9ycyc7CiRsYW5nWyd0aXRsZV9oaWRlX2Vycm9yc19sb25nJ10gPSAnUHJldmVudCBkZWJ1ZyAvIGVycm9yIG1lc3NhZ2VzIGZyb20gYmVpbmcgc2VlbiBieSB1c2Vycy4nOwokbGFuZ1sndGl0bGVfZW1haWxfdGVtcGxhdGUnXSA9ICdFbWFpbCBUZW1wbGF0ZSc7CiRsYW5nWyd0aXRsZV9lbWFpbF90ZW1wbGF0ZV92YXJzJ10gPSAnVmFyaWFibGVzIEF2YWlsYWJsZSBmb3IgVXNlIGluIEVtYWlsIFRlbXBsYXRlJzsKJGxhbmdbJ3RpdGxlX3NhbXBsZV90ZW1wbGF0ZSddID0gJ0NyZWF0ZSBhIHNhbXBsZSB0ZW1wbGF0ZSc7CiRsYW5nWyd0aXRsZV9tYXhpbXVtX3NpemUnXSA9ICdNYXhpbXVtIHVwbG9hZCBmaWxlIHNpemUgKGtpbG9ieXRlcyknOwokbGFuZ1sndGl0bGVfcGVybWl0dGVkX2V4dGVuc2lvbnMnXSA9ICdQZXJtaXR0ZWQgRXh0ZW5zaW9ucyc7CiRsYW5nWyd0aXRsZV9wZXJtaXR0ZWRfZXh0ZW5zaW9uc19sb25nJ10gPSAnRW50ZXIgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCwgZXhjbHVkaW5nIHRoZSBkb3QgKGUuZy4sICJqcGcsZ2lmLGpwZWciKS4gU3BhY2VzIHdpbGwgYmUgaWdub3JlZC4gTGVhdmluZyB0aGlzIGJsYW5rIG1lYW5zIHRoZXJlIHdpbGwgYmUgbm8gcmVzdHJpY3Rpb25zLic7CiRsYW5nWyd0aXRsZV9zaG93X2xpbWl0YXRpb25zJ10gPSAnRGlzcGxheSByZXN0cmljdGlvbnM/JzsKJGxhbmdbJ3RpdGxlX3Nob3dfbGltaXRhdGlvbnNfbG9uZyddID0gJ0Rpc3BsYXkgYW55IHNpemUgYW5kIGV4dGVuc2lvbiByZXN0cmljdGlvbnMgd2l0aCB0aGUgdXBsb2FkIGZpZWxkPyc7CiRsYW5nWyd0aXRsZV9jYWxsYmFja19tb2R1bGUnXSA9ICdDYWxsYmFjayBNb2R1bGUnOwokbGFuZ1sndGl0bGVfY2FsbGJhY2tfbWV0aG9kJ10gPSAnQ2FsbGJhY2sgTWV0aG9kJzsKJGxhbmdbJ3RpdGxlX2NhbGxiYWNrX2ZpZWxkcyddID0gJ1Jlc3VsdCBGaWVsZHMgdG8gSW5jbHVkZSc7CiRsYW5nWyd0aXRsZV9jYWxsYmFja19oZWxwJ10gPSAnSGVscCc7CiRsYW5nWyd0aXRsZV9pZF9hbmRfbmFtZSddID0gJ1VzZSBJRCBhbmQgTmFtZSBmb3IgQ1NTIGlucHV0cyc7CiRsYW5nWyd0aXRsZV9kYXRlX2Zvcm1hdCddID0gJ0RhdGUgRm9ybWF0IChzdGFuZGFyZCA8YSBocmVmPSZxdW90O2h0dHA6Ly93d3cucGhwLm5ldC9tYW51YWwvZW4vZnVuY3Rpb24uZGF0ZS5waHAmcXVvdDs+UEhQIERhdGUgRm9ybWF0czwvYT4pJzsKJGxhbmdbJ3RpdGxlX3N0YXRpY190ZXh0J10gPSAnU3RhdGljIFRleHQgdG8gRGlzcGxheSAobWF4IDI1NSBjaGFycyknOwokbGFuZ1sndGl0bGVfY2FsbGJhY2tfaGVscGxvbmcnXSA9ICc8cD5Zb3Ugc3BlY2lmeSBhIG1vZHVsZSBhbmQgbWV0aG9kLiBUaGlzIG1ldGhvZCBzaWduYXR1cmUgc2hvdWxkIGJlOjwvcD48YnIgLz4NCmZ1bmN0aW9uIHdoYXRldmVyKCRpZCwgJiRwYXJhbXMsICRyZXR1cm5pZCwgJiRjbXMpPGJyIC8+PGJyIC8+DQo8cD5UaGlzIGZ1bmN0aW9uIHNob3VsZCBvdXRwdXQgc29tZXRoaW5nIHRoYXQgbWFrZXMgc2Vuc2UgaW4gYSBmb3JtLCA8aT5lLmcuPC9pPiBwcm9iYWJseSBoaWRkZW4gZmllbGRzIGNvbnRhaW5pbmcNCnVzZWZ1bCBpbmZvcm1hdGlvbi48L3A+DQo8cD5UaGUgImZpZWxkcyIgZmllbGQgc2hvdWxkIGNvbnRhaW4gYSBjb21tYS1kZWxpbWl0ZWQgbGlzdCBvZiB0aGUgZmllbGRzIGdlbmVyYXRlZCBieSB0aGF0IG1ldGhvZC48L3A+DQo8cD5FeGFtcGxlOiBJIGhhdmUgYSBtb2R1bGUgIlVzZXJJRCIgd2hpY2ggaGFzIGEgbWV0aG9kICJMb2dnZWRJblVzZXIiLiBUaGlzIG1ldGhvZCBjcmVhdGVzIHR3byBoaWRkZW4gZmllbGRzDQpjYWxsZWQgImZpcnN0X25hbWUiIGFuZCAibGFzdF9uYW1lIiB3aGljaCBJIHdhbnQgaW5jbHVkZWQgaW4gbXkgZm9ybSBzdWJtaXNzaW9uLiBJIHdvdWxkIHRoZW4gZW50ZXIgdGhlIGZvbGxvd2luZzo8L3A+DQptb2R1bGU6IFVzZXJJRDxiciAvPg0KbWV0aG9kOiBMb2dnZWRJblVzZXI8YnIgLz4NCmZpZWxkczogZmlyc3RfbmFtZSxsYXN0X25hbWU8L2JyPg0KJzsKJGxhbmdbJ2FkbWluZGVzYyddID0gJ0FkZCwgZWRpdCBhbmQgbWFuYWdlIGludGVyYWN0aXZlIEZlZWRiYWNrIEZvcm1zJzsKJGxhbmdbJ2RhdGVfYV9qYW4nXSA9ICdKQU4nOwokbGFuZ1snZGF0ZV9hX2ZlYiddID0gJ0ZFQic7CiRsYW5nWydkYXRlX2FfbWFyJ10gPSAnTUFSJzsKJGxhbmdbJ2RhdGVfYV9hcHInXSA9ICdBUFInOwokbGFuZ1snZGF0ZV9hX21heSddID0gJ01BWSc7CiRsYW5nWydkYXRlX2FfanVuJ10gPSAnSlVOJzsKJGxhbmdbJ2RhdGVfYV9qdWwnXSA9ICdKVUwnOwokbGFuZ1snZGF0ZV9hX2F1ZyddID0gJ0FVRyc7CiRsYW5nWydkYXRlX2Ffc2VwJ10gPSAnU0VQJzsKJGxhbmdbJ2RhdGVfYV9vY3QnXSA9ICdPQ1QnOwokbGFuZ1snZGF0ZV9hX25vdiddID0gJ05PVic7CiRsYW5nWydkYXRlX2FfZGVjJ10gPSAnREVDJzsKJGxhbmdbJ2RhdGVfamFudWFyeSddID0gJ0phbnVhcnknOwokbGFuZ1snZGF0ZV9mZWJydWFyeSddID0gJ0ZlYnJ1YXJ5JzsKJGxhbmdbJ2RhdGVfbWFyY2gnXSA9ICdNYXJjaCc7CiRsYW5nWydkYXRlX2FwcmlsJ10gPSAnQXByaWwnOwokbGFuZ1snZGF0ZV9tYXknXSA9ICdNYXknOwokbGFuZ1snZGF0ZV9qdW5lJ10gPSAnSnVuZSc7CiRsYW5nWydkYXRlX2p1bHknXSA9ICdKdWx5JzsKJGxhbmdbJ2RhdGVfYXVndXN0J10gPSAnQXVndXN0JzsKJGxhbmdbJ2RhdGVfc2VwdGVtYmVyJ10gPSAnU2VwdGVtYmVyJzsKJGxhbmdbJ2RhdGVfb2N0b2JlciddID0gJ09jdG9iZXInOwokbGFuZ1snZGF0ZV9ub3ZlbWJlciddID0gJ05vdmVtYmVyJzsKJGxhbmdbJ2RhdGVfZGVjZW1iZXInXSA9ICdEZWNlbWJlcic7CiRsYW5nWydtb250aCddID0gJ01vbnRoJzsKJGxhbmdbJ2RheSddID0gJ0RheSc7CiRsYW5nWyd5ZWFyJ10gPSAnWWVhcic7CiRsYW5nWydzdWJtaXNzaW9uX3RpdGxlJ10gPSAnRm9ybSBTdWJtaXNzaW9uJzsKJGxhbmdbJ3N1Ym1pc3Npb25faG9zdCddID0gJ0hvc3QnOwokbGFuZ1snc3VibWlzc2lvbl9mb3JtX25hbWUnXSA9ICdGb3JtJzsKJGxhbmdbJ3N1Ym1pc3Npb25fZGF0ZSddID0gJ0RhdGUnOwokbGFuZ1snc3VibWlzc2lvbl9zb3VyY2UnXSA9ICdTb3VyY2UnOwokbGFuZ1snc3VibWlzc2lvbl9zdWJqZWN0J10gPSAnRm9ybSBTdWJtaXNzaW9uJzsKJGxhbmdbJ3N1Ym1pc3Npb25fZXJyb3InXSA9ICdUaGVyZSBoYXMgYmVlbiBhbiBlcnJvciBpbiB0aGUgZm9ybSBzdWJtaXNzaW9uPGJyPlBsZWFzZSB0cnkgYWdhaW4gbGF0ZXIuJzsKJGxhbmdbJ3N1Ym1pc3Npb25fZXJyb3JfZmlsZSddID0gJ0Vycm9yLiBVbmFibGUgdG8gd3JpdGUgdG8gZmlsZS4nOwokbGFuZ1sncG9zdF9pbnN0YWxsJ10gPSAnPHA+TWFrZSBzdXJlIHRvIHNldCB0aGUgIk1vZGlmeSBGZWVkYmFjayBGb3JtcyIgcGVybWlzc2lvbnMNCm9uIHVzZXJzIHdobyB3aWxsIGJlIGFkbWluaXN0ZXJpbmcgZmVlZGJhY2sgZm9ybXMuIEFsc28sIGlmIHlvdVwnbGwgYmUgZW1haWxpbmcgZm9ybQ0KcmVzdWx0cywgYmUgc3VyZSB0byB1cGRhdGUgdGhlIENvbmZpZ3VyYXRpb24gYXBwcm9wcmlhdGVseS48L3A+DQo8cD5QbGVhc2UgYmUgYXdhcmUgdGhhdCBhIGZlZWRiYWNrIGZvcm0gc2hvdWxkIG5vdCBiZSBhY3RpdmUgKGUuZy4sIHVzYWJsZSBieSB0aGUgcHVibGljKSB3aGlsZQ0KeW91IGFyZSBzdGlsbCBlZGl0aW5nIHRoZSBmb3JtLiBZb3Ugc2hvdWxkIGNyZWF0ZSB0aGUgZm9ybSwgYW5kIHBsYWNlIHRoZSB0YWcgaW50byBhbiBhY3RpdmUNCmNvbnRlbnQgcGFnZSBvbmx5IHdoZW4geW91IGhhdmUgZmluaXNoZWQgZWRpdGluZy4gT3RoZXJ3aXNlLCBlcnJvbmVvdXMgcmVzdWx0cyBjb3VsZCBiZSByZXR1cm5lZC48L3A+DQo8cD5BZGRpdGlvbmFsbHksIHRoaXMgdmVyc2lvbiBkb2VzIG5vdCBzdXBwb3J0IHBhcmFsbGVsIGVkaXRpbmcgb2YgZm9ybXMuIFBsZWFzZSB0YWtlIGNhcmUgdGhhdA0Kb25seSBvbmUgYWRtaW4gaXMgZWRpdGluZyBhIGdpdmVuIGZvcm0gYXQgYSBnaXZlbiB0aW1lLjwvcD4nOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPg0KPHA+VGhlIEZlZWRiYWNrRm9ybSBNb2R1bGUgYWxsb3dzIHlvdSB0byBjcmVhdGUgZm9ybXMgZm9yIHVzZXIgZmVlZGJhY2suIFRoZXNlIGZvcm1zIG1heSBiZSBpbnNlcnRlZA0KaW50byB0ZW1wbGF0ZXMgYW5kL29yIGNvbnRlbnQgcGFnZXMuIEZlZWRiYWNrIGZvcm1zIG1heSBjb250YWluIG1hbnkga2luZHMgb2YgaW5wdXRzLCBhbmQgbWF5IGhhdmUNCnZhbGlkYXRpb24gYXBwbGllZCB0byB0aGVzZSBpbnB1dHMuIFRoZSByZXN1bHRzIG9mIHRoZXNlIGZvcm1zIG1heSBiZSBoYW5kbGVkIGluIGEgdmFyaWV0eSBvZiB3YXlzLjwvcD4NCg0KPGgzPkhvdyBEbyBJIFVzZSBpdD88L2gzPg0KPFA+SW5zdGFsbCBpdCwgYW5kIHBva2UgYXJvdW5kIHRoZSBtZW51cy4gUGxheSB3aXRoIGl0LiBUcnkgY3JlYXRpbmcgZm9ybXMsIGFuZCBhZGRpbmcgdGhlbSB0byB5b3VyIGNvbnRlbnQuDQpJZiB5b3UgZ2V0IHN0dWNrLCBjaGF0IHdpdGggbWUgb24gdGhlICNjbXMgSVJDIGNoYW5uZWwsIHBvc3QgdG8gdGhlIGZvcnVtLCBzZW5kIG1lIGVtYWlsLCBvciwgaWYgeW91XCdyZQ0KcmVhbGx5IGRlc3BlcmF0ZSwgcmVhZCB0aGUgcmVzdCBvZiB0aGlzIHBhZ2UuPC9QPg0KDQo8aDM+SG93IERvIEkgQ3JlYXRlIGEgRm9ybTwvaDM+DQo8cD5JbiB0aGUgQ01TIEFkbWluIE1lbnUsIHlvdSBzaG91bGQgZ2V0IGEgbmV3IG1lbnUgaXRlbSBjYWxsZWQgRmVlZGJhY2tGb3JtLiBDbGljayBvbiB0aGlzLiBPbiB0aGUgcGFnZQ0KdGhhdCBnZXRzIHNob3duLCB0aGVyZSBhcmUgb3B0aW9ucyAoYXQgdGhlIGJvdHRvbSBvZiB0aGUgbGlzdCBvZiBGb3JtcykgdG8gQWRkIGEgTmV3IEZvcm0gb3IgTW9kaWZ5DQpDb25maWd1cmF0aW9uLjwvcD4NCg0KPGgzPkFkZGluZyBhIEZvcm0gdG8gYSBQYWdlPC9oMz4NCjxwPkluIHRoZSBtYWluIEZlZWRiYWNrRm9ybSBhZG1pbiBwYWdlLCB5b3UgY2FuIHNlZSBhbiBleGFtcGxlIG9mIHRoZSB0YWcgdXNlZCB0byBkaXNwbGF5IGVhY2ggZm9ybS4gSXQgbG9va3MNCnNvbWV0aGluZyBsaWtlIHtjbXNfbW9kdWxlIG1vZHVsZT0iRmVlZGJhY2tGb3JtIiBmb3JtPSJmZWVkYmFja19mb3JtX2V4YW1wbGUifTwvcD4NCjxwPkJ5IGNvcHlpbmcgdGhpcyB0YWcgaW50byB0aGUgY29udGVudCBvZiBhIHBhZ2UsIG9yIGludG8gYSB0ZW1wbGF0ZSwgd2lsbCBjYXVzZSB0aGF0IGZvcm0gdG8gYmUgZGlzcGxheWVkLg0KSW4gdGhlb3J5LCB5b3UgY2FuIGhhdmUgbXVsdGlwbGUgZm9ybXMgb24gYSBwYWdlIGlmIHlvdSByZWFsbHkgd2FudCB0by4gQmUgY2FyZWZ1bCB3aGVuIHBhc3RpbmcgdGhlIHRhZw0KaW50byBhIHBhZ2VcJ3MgY29udGVudCBpZiB5b3UgdXNlIGEgV1lTSVdZRyBlZGl0b3Igc3VjaCBhcyBUaW55TUNFIG9yIEhUTUxBcmVhLiBUaGVzZSBlZGl0b3JzIG1heSBzdGVhbHRoaWx5DQpjaGFuZ2UgdGhlIHF1b3RlIG1hcmtzICgiKSBpbnRvIEhUTUwgZW50aXRpZXMgKCIpLCBhbmQgdGhlIGZvcm1zIHdpbGwgbm90IHNob3cgdXAuIFRyeSB1c2luZw0Kc2luZ2xlIHF1b3RlcyAoXCcpIG9yIGVkaXRpbmcgdGhlIEhUTUwgZGlyZWN0bHkuDQoNCjxoMz5BZGRpbmcgRmllbGRzIHRvIGEgRm9ybTwvaDM+DQo8cD5CeSBjbGlja2luZyBvbiBhIEZvcm1cJ3MgbmFtZSwgeW91IGVudGVyIHRoZSBGb3JtIEVkaXQgcGFnZS4gWW91IHdpbGwgc2VlIGEgbnVtYmVyIG9mIG9wdGlvbnMgZm9yIHRoZSBmb3JtDQoobGlrZSB3aGF0IHlvdSB3YW50IHRoZSB0ZXh0IG9mIHRoZSBzdWJtaXQgYnV0dG9uIHRvIHNheSwgd2hhdCBtZXNzYWdlIHNob3VsZCBiZSBkaXNwbGF5ZWQgdG8gdGhlIHVzZXIgd2hlbg0KdGhleSBzdWJtaXQgdGhlIGZvcm0sIGV0YykuIFRoZXJlIGlzIGFsc28gYSBsaXN0IG9mIGZpZWxkcyB0aGF0IG1ha2UgdXAgdGhlIGZvcm0uIFRoZSB0eXBlcyBvZiBmaWVsZHMgdGhhdA0KYXJlIGN1cnJlbnRseSBzdXBwb3J0ZWQgZml0IGludG8gZm91ciBncm91cHM6IHN0YW5kYXJkIGlucHV0IGZpZWxkcywgZGlzcGxheSBjb250cm9sIGZpZWxkcywgZW1haWwtb25seSBpbnB1dA0KZmllbGRzLCBhbmQgZm9ybSByZXN1bHQgaGFuZGxpbmcgZmllbGRzIChhbHNvDQpjYWxsZWQgRm9ybSBEaXNwb3NpdGlvbnMgaW4gcGxhY2VzKTo8L3A+DQo8dWw+DQo8bGk+U3RhbmRhcmQgSW5wdXQgRmllbGRzIC0gdGhlc2UgYXJlIGlucHV0cyB0aGF0IGFsbG93IGVudHJ5IG9mIHR5cGljYWwgZm9ybSBlbGVtZW50cy48L2xpPg0KPGxpPkRpc3BsYXkgQ29udHJvbCBGaWVsZHMgLSB0aGVzZSBpbnB1dCBjb250cm9sIGhvdyB0aGUgdXNlciB3aWxsIHNlZSB0aGUgZGlzcGxheSBvZiB0aGUgZm9ybS48L2xpPg0KPGxpPkVtYWlsLW9ubHkgSW5wdXQgRmllbGRzIC0gdGhlc2UgYXJlIGlucHV0cyB0aGF0IGFsbG93IGVudHJ5IG9mIHR5cGljYWwgZm9ybSBlbGVtZW50cywgYnV0IGFwcGx5IG9ubHkNCmZvciBmb3JtIGRpc3Bvc2l0aW9ucyB0aGF0IHNlbmQgdGhlIHJlc3VsdHMgdmlhIGVtYWlsLjwvbGk+DQo8bGk+U3BlY2lhbCBQdXJwb3NlIEZpZWxkcyAtIHRoZXNlIGlucHV0cyBhcmUgdXNlZCBmb3IgaW50ZXJmYWNpbmcgcHJvZ3JhbW1hdGljYWxseSB3aXRoIG90aGVyIG1vZHVsZXMuPC9saT4NCjxsaT5Gb3JtIERpc3Bvc2l0aW9ucyAtIFRoZXNlIGRldGVybWluZSB3aGF0IGhhcHBlbnMgd2hlbiB0aGUgdXNlcg0Kc3VibWl0cyB0aGUgZm9ybTsgZm9yIGVhY2ggcmVzdWx0IGhhbmRsaW5nIGZpZWxkLCBzb21lIG1ldGhvZCBvZiB0cmFuc21pdHRpbmcsIHNhdmluZywgb3IgZW1haWxpbmcgdGhlDQpmb3JtIGNvbnRlbnRzIHRha2VzIHBsYWNlLiBBIGZvcm0gbWF5IGhhdmUgbXVsdGlwbGUgZm9ybSBkaXNwb3NpdGlvbnMuPC9saT4NCjwvdWw+DQo8cD5Gb3JtIGZpZWxkcyBhcmUgYXNzaWduZWQgbmFtZXMuIFRoZXNlIG5hbWVzIGlkZW50aWZ5IHRoZSBmaWVsZCwgbm90IG9ubHkgb24gdGhlIHNjcmVlbiBhcyBsYWJlbHMgZm9yIHRoZSB1c2VyLA0KYnV0IGluIHRoZSBkYXRhIHdoZW4gaXRcJ3Mgc3VibWl0dGVkIHNvIHlvdSBrbm93IHdoYXQgdGhlIHVzZXIgaXMgcmVzcG9uZGluZyB0by4gUGhyYXNpbmcgdGhlIG5hbWUgbGlrZSBhIHF1ZXN0aW9uDQppcyBhIGhhbmR5IHdheSBvZiBtYWtpbmcgaXQgY2xlYXIgdG8gdGhlIHVzZXIgd2hhdCBpcyBleHBlY3RlZC4gU2ltaWxhcmx5LCBzb21lIGZpZWxkcyBoYXZlIGJvdGggTmFtZXMgYW5kIFZhbHVlcy4NClRoZSBOYW1lcyBhcmUgd2hhdCBnZXRzIHNob3duIHRvIHRoZSB1c2VyOyB0aGUgVmFsdWUgaXMgd2hhdCBnZXRzIHNhdmVkIG9yIHRyYW5zbWl0dGVkIHdoZW4gdGhlIHVzZXIgc3VibWl0cw0KdGhlIGZvcm0uIFRoZSBWYWx1ZXMgYXJlIG5ldmVyIHNlZW4gYnkgdGhlIHVzZXIsIG5vciBhcmUgdGhleSB2aXNpYmxlIGluIHRoZSBIVE1MLCBzbyBpdFwncyBzYWZlIHRvIHVzZSBmb3INCmVtYWlsIGFkZHJlc3NlcyBhbmQgc3VjaC48L3A+DQo8cD5Tb21lIGZpZWxkcyBjYW4gaGF2ZSBtdWx0aXBsZSB2YWx1ZXMsIG9yIG11bHRpcGxlIG5hbWUvdmFsdWUgcGFpcnMuIFdoZW4geW91IGZpcnN0IGNyZWF0ZSBzdWNoIGEgZmllbGQsDQp0aGVyZSBtYXkgbm90IGJlIHN1ZmZpY2llbnQgaW5wdXRzIGZvciB5b3UgdG8gc3BlY2lmeSBhbGwgdGhlIHZhbHVlcyB5b3Ugd2FudC4gVG8gZ2V0IG1vcmUgc3BhY2UgZm9yIGlucHV0dGluZw0KdGhlc2UgdmFsdWVzLCBzaW1wbHkgc2F2ZSB0aGUgZmllbGQsIGFuZCB0aGVuIGNsaWNrIG9uIGl0cyBuYW1lIHRvIGVkaXQgaXQgYWdhaW4uIEV2ZXJ5IHRpbWUgeW91IGVkaXQgc3VjaCBhDQpmaWVsZCwgeW91IHdpbGwgcmVjZWl2ZSBtb3JlIGlucHV0cy48L3A+DQo8cD5GaWVsZHMgY2FuIGJlIGFzc2lnbmVkIHZhbGlkYXRpb24gcnVsZXMsIHdoaWNoIHZhcnkgYWNjb3JkaW5nIHRvIHRoZSB0eXBlIG9mIHRoZSBmaWVsZC4gVGhlc2UgcnVsZXMgaGVscA0KZW5zdXJlIHRoYXQgdGhlIHVzZXIgZW50ZXJzIHZhbGlkIGRhdGEuIFRoZXkgbWF5IGFsc28gYmUNCnNlcGFyYXRlbHkgbWFya2VkICJSZXF1aXJlZCIsIHdoaWNoIHdpbGwgZm9yY2UgdGhlIHVzZXIgdG8gZW50ZXIgYSByZXNwb25zZS48L3A+DQo8cD5GaWVsZHMgYWxzbyBtYXkgYmUgYXNzaWduZWQgYSBDU1MgY2xhc3MuIFRoaXMgc2ltcGx5IHdyYXBzIHRoZSBpbnB1dCBpbiBhIGRpdiB3aXRoIHRoYXQgY2xhc3MsIHNvIGFzIHRvIGFsbG93DQpjdXN0b21pemVkIGxheW91dHMuIFRvIHVzZSB0aGlzIGVmZmVjdGl2ZWx5LCB5b3UgbWF5IG5lZWQgdG8gInZpZXcgc291cmNlIiBvbiB0aGUgZ2VuZXJhdGVkIGZvcm0sIGFuZCB0aGVuDQp3cml0ZSB5b3VyIENTUy48L3A+DQo8dWw+DQo8bGk+U3RhbmRhcmQgSW5wdXRzDQo8dWw+PGxpPlRleHQgSW5wdXQuIFRoaXMgaXMgYSBzdGFuZGFyZCB0ZXh0IGZpZWxkLiBZb3UgY2FuIGxpbWl0IHRoZSBsZW5ndGgsIGFuZCBhcHBseSB2YXJpb3VzIHZhbGlkYXRpb24NCmZ1bmN0aW9ucyB0byB0aGUgZmllbGQuPC9saT4NCjxsaT5UZXh0IEFyZWEuIFRoaXMgaXMgYSBiaWcsIGZyZWUtZm9ybSB0ZXh0IGlucHV0IGZpZWxkLjwvbGk+DQo8bGk+Q2hlY2tib3guIFRoaXMgaXMgYSBzdGFuZGFyZCBjaGVjayBib3guIElmIHlvdSB0dXJuIG9uIHZhbGlkYXRpb24sIHlvdSBjYW4gcmVxdWlyZSB0aGF0IHRoZSB1c2VyIGNoZWNrcw0KdGhlIGJveC4gVGhpcyBpcyB1c2VmdWwgZm9yIGZvcm1zIHdoZXJlIHRoZSB1c2VyIGlzIG9ibGlnYXRlZCB0byBhZ3JlZSB0byBzb21ldGhpbmcgaW4gb3JkZXIgdG8gc3VibWl0DQp0aGUgZm9ybS48L2xpPg0KPGxpPkNoZWNrYm94IEdyb3VwLiBUaGlzIGlzIGEgY29sbGVjdGlvbiBvZiBjaGVja2JveGVzLiBUaGUgb25seSBkaWZmZXJlbmNlIGJldHdlZW4gdGhpcyBpbnB1dCBhbmQgYQ0KY29sbGVjdGlvbiBvZiBDaGVja2JveCBpbnB1dHMgaXMgdGhhdCB0aGV5IGFyZSBwcmVzZW50ZWQgYXMgYSBncm91cCwgd2l0aCBvbmUgbmFtZSwgYW5kIGNhbiBoYXZlIGEgdmFsaWRhdGlvbg0KZnVuY3Rpb24gcmVxdWlyaW5nIHRoYXQgeW91IGNoZWNrIG9uZSBvciBtb3JlIG9mIHRoZSBib3hlcyBpbiB0aGUgZ3JvdXAuPC9saT4NCjxsaT5SYWRpbyBHcm91cC4gVGhpcyBpcyBhIGNvbGxlY3Rpb24gb2YgcmFkaW8gYnV0dG9ucy4gT25seSBvbmUgb2YgdGhlIGdyb3VwIG1heSBiZSBzZWxlY3RlZCBieSB0aGUgdXNlci48L2xpPg0KPGxpPlB1bGxkb3duLiBUaGlzIGlzIGEgc3RhbmRhcmQgcHVsbGRvd24gbWVudS4gSXRcJ3MgcmVhbGx5IGNvbmNlcHR1YWxseSB0aGUgc2FtZSB0aGluZyBhcyBhIHJhZGlvIGJ1dHRvbg0KZ3JvdXAsIGJ1dCBpcyBiZXR0ZXIgd2hlbiB0aGVyZSBhcmUgYSBsYXJnZSBudW1iZXIgb2Ygb3B0aW9ucy48L2xpPg0KPGxpPlN0YXRlLiBUaGlzIGlzIGEgcHVsbGRvd24gbGlzdGluZyB0aGUgU3RhdGVzIG9mIHRoZSBVLlMuPC9saT4NCjxsaT5Db3VudHJpZXMuIFRoaXMgaXMgYSBwdWxsZG93biBsaXN0aW5nIHRoZSBDb3VudHJpZXMgb2YgdGhlIHdvcmxkIChhcyBvZiBKdWx5IDIwMDUpLjwvbGk+DQo8bGk+RGF0ZSBQaWNrZXIuIFRoaXMgaXMgYSB0cmlwbGUgcHVsbGRvd24gYWxsb3dpbmcgdGhlIHVzZXIgdG8gc2VsZWN0IGEgZGF0ZS48L2xpPg0KPC91bD48L2xpPg0KDQo8bGk+RW1haWwtb25seSBJbnB1dHMNCjx1bD48bGk+RmlsZSBVcGxvYWQuIFRoaXMgYWxsb3dzIGEgdXNlciB0byB1cGxvYWQgYSBmaWxlLCB3aGljaCB3aWxsIGJlIGluY2x1ZGVkIGFzIGFuIGF0dGFjaG1lbnQgdG8gYW55IGVtYWlsDQpkaXNwb3NpdGlvbi4gRmlsZSB1cGxvYWRzIGRvIG5vdCBjdXJyZW50bHkgd29yayB3aXRoIHRoZSBGbGF0IEZpbGUgZGlzcG9zaXRpb24gbWV0aG9kLjwvbGk+DQo8bGk+RW1haWwgRnJvbSBGaWVsZC4gVGhpcyBhbGxvd3MgdXNlcnMgdG8gcHJvdmlkZSB0aGVpciBuYW1lIGFuZCBlbWFpbCBhZGRyZXNzLiBUaGUgZW1haWwgZ2VuZXJhdGVkIHdoZW4gdGhlDQpmb3JtIGdldHMgaGFuZGxlZCB3aWxsIHVzZSB0aGlzIG5hbWUgYW5kIGFkZHJlc3MgaW4gdGhlICJGcm9tIiBmaWVsZC48L2xpPg0KPC91bD48L2xpPg0KDQo8bGk+RGlzcGxheSBDb250cm9sIEZpZWxkczx1bD4NCjxsaT5QYWdlIEJyZWFrLiBUaGlzIGFsbG93cyB5b3UgdG8gc3BsaXQgeW91ciBmZWVkYmFjayBmb3JtIGludG8gbXVsdGlwbGUgcGFnZXMuIEVhY2ggcGFnZSBpcw0KaW5kZXBlbmRlbnRseSB2YWxpZGF0ZWQuIFRoaXMgaXMgZ29vZCBmb3IgYXBwbGljYXRpb25zIGxpa2Ugb25saW5lIHN1cnZleXMuPC9saT4NCjxsaT5TdGF0aWMgVGV4dC4gVGhpcyBhbGxvd3MgeW91IHRvIHBsYWNlIHRleHQgaW4geW91ciBmb3JtLiBJdFwncyBjYWxsZWQgYW4gaW5wdXQsIGJ1dCBpdFwncyBkaXNwbGF5IG9ubHkuIFRoaXMgaXMgdXNlZnVsIGZvciBwcmVzZW50aW5nIGluc3RydWN0aW9ucywgaGVscCwgZXRjLjwvbGk+DQo8L3VsPjwvbGk+DQoNCjxsaT5TcGVjaWFsIFB1cnBvc2UgRmllbGRzPHVsPg0KPGxpPkZ1bmN0aW9uIENhbGxiYWNrICJJbnB1dCIuIFRoaXMgYWxsb3dzIHByb2dyYW1tZXJzIHRvIGFjY2VzcyBpbmZvcm1hdGlvbiBmcm9tIG90aGVyIG1vZHVsZXMgKHN1Y2ggYXMgZ2V0dGluZyB1c2VyIG5hbWUgZGF0YSBmcm9tIGEgdXNlciBhdXRoZW50aWNhdGlvbiBtb2R1bGUpLjwvbGk+PC91bD48L2xpPg0KDQo8bGk+Rm9ybSBIYW5kbGluZyBJbnB1dHMgKERpc3Bvc2l0aW9ucykNCjx1bD48bGk+RW1haWwgUmVzdWx0cyBCYXNlZCBvbiBQdWxsZG93bi4gVGhpcyBpcyB1c2VmdWwgZm9yIHdlYiBzaXRlcyB3aGVyZSBjb21tZW50cyBnZXQgcm91dGVkIGJhc2VkIG9uDQp0aGVpciBzdWJqZWN0IG1hdHRlciwgZS5nLiwgYnVncyBnZXQgc2VudCB0byBvbmUgcGVyc29uLCBtYXJrZXRpbmcgcXVlc3Rpb25zIHRvIGFub3RoZXIgcGVyc29uLCBzYWxlcyByZXF1ZXN0cw0KdG8gc29tZW9uZSBlbHNlLCBldGMuIFRoZSBwdWxsZG93biBpcyBwb3B1bGF0ZWQgd2l0aCB0aGUgc3ViamVjdHMsIGFuZCBlYWNoIGdldHMgZGlyZWN0ZWQgdG8gYSBzcGVjaWZpYyBlbWFpbA0KYWRkcmVzcy4gWW91IHNldCB1cCB0aGVzZSBtYXBwaW5ncyBpbiB0aGUgd2hlbiB5b3UgY3JlYXRlIG9yIGVkaXQgYSBmaWVsZCBvZiB0aGlzIHR5cGUuIElmIHlvdSB1c2Ugb25lIG9mDQp0aGVzZSAiRGlyZWN0b3IiIHB1bGxkb3ducywgdGhlIHVzZXIgbXVzdCBtYWtlIGEgc2VsZWN0aW9uIGluIG9yZGVyIHRvIHN1Ym1pdCB0aGUNCmZvcm0uIFRoaXMgaW5wdXQgaXMgcGFydCBvZiB0aGUgZm9ybSB0aGUgdXNlciBzZWVzLCBhbHRob3VnaCB0aGUgZW1haWwgYWRkcmVzc2VzIGFyZSBub3QgbWFkZSB2aXNpYmxlIG5vcg0KYXJlIHRoZXkgZW1iZWRkZWQgaW4gdGhlIEhUTUwuPC9saT4NCjxsaT5FbWFpbCBSZXN1bHRzIHRvIHNldCBBZGRyZXNzKGVzKS4gVGhpcyBzaW1wbHkgc2VuZHMgdGhlIGZvcm0gcmVzdWx0cyB0byBvbmUgb3IgbW9yZSBlbWFpbCBhZGRyZXNzZXMgdGhhdA0KeW91IGVudGVyIHdoZW4geW91IGNyZWF0ZSBvciBlZGl0IHRoaXMgdHlwZSBvZiBmaWVsZC4gVGhpcyBmaWVsZCBhbmQgaXRzIG5hbWUgYXJlIG5vdCB2aXNpYmxlIGluIHRoZQ0KZm9ybSB0aGF0IHRoZSB1c2VyIHNlZXMuIFRoZSBlbWFpbCBhZGRyZXNzZXMgYXJlIG5vdCBtYWRlIHZpc2libGUgbm9yDQphcmUgdGhleSBlbWJlZGRlZCBpbiB0aGUgSFRNTC48L2xpPg0KPGxpPkVtYWlsIFJlc3VsdHMgdG8gVXNlci1TZWxlY3RlZCBTaXRlIFVzZXIuIFRoaXMgaW5wdXQgaXMgb3VyIGZpcnN0IGVuZC11c2VyIHN1Z2dlc3Rpb24hIEl0IGNyZWF0ZXMgYSANCnB1bGxkb3duIG9mIHVzZXJuYW1lcyBpbiB0aGUgZm9ybS4gVGhlIHVzZXJuYW1lcyBhcmUgb3RoZXIgdXNlcnMgd2hvIGFyZSByZWdpc3RlcmVkIHdpdGggdGhlIHNpdGUuDQpXaGVuIHRoZSBmb3JtIGlzIHN1Ym1pdHRlZCwgdGhlIGRhdGEgaXMgc2VudCB0byB0aGUgdXNlciB3aG9zZSBuYW1lIHdhcyBzZWxlY3RlZC4gV2hlbiB5b3UgY3JlYXRlDQphIGZpZWxkIG9mIHRoaXMgdHlwZSwgeW91IG1heSBzZWxlY3Qgc3BlY2lmaWMgZ3JvdXBzIGZyb20gd2hpY2ggdGhlIHVzZXJsaXN0IGlzIGNyZWF0ZWQuIFRoaXMgaW5wdXQgaXMNCnBhcnQgb2YgdGhlIGZvcm0gdGhlIHVzZXIgc2VlcywgYWx0aG91Z2ggdGhlIGVtYWlsIGFkZHJlc3NlcyBhcmUgbm90IG1hZGUgdmlzaWJsZSBub3IgYXJlIHRoZXkgZW1iZWRkZWQNCmluIHRoZSBIVE1MLjwvbGk+DQo8bGk+V3JpdGUgUmVzdWx0cyB0byBGbGF0IEZpbGUuIFRoaXMgdGFrZXMgdGhlIGZvcm0gcmVzdWx0cyBhbmQgd3JpdGVzIHRoZW0gaW50byBhIHRleHQgZmlsZS4gWW91IG1heQ0Kc2VsZWN0IHRoZSBuYW1lIG9mIHRoZSBmaWxlLCBhbmQgaXRzIGZvcm1hdC4gWW91IGNhbiBjaG9vc2UgZnJvbSAicGFnZSIgZm9ybWF0LCB3aGljaCBsb29rcyBsaWtlIHRoZQ0KZW1haWxzIHRoYXQgZ2V0IHNlbnQgYnkgdGhlIG90aGVyIGhhbmRsZXJzLCBvciB5b3UgY2FuIGNob29zZSBhIHRhYi1kZWxpbWl0ZWQgZm9ybWF0IHVzZWZ1bCBmb3IgcmVhZGluZw0KaW50byBFeGNlbCBvciBzaW1pbGFyIHByb2dyYW1zLiBJZiB5b3UgY2hvb3NlIHRhYi1kZWxpbWl0ZWQsIHlvdSBjYW4gb3B0IHRvIGhhdmUgdGhlIGZpbGUgc3RhcnQgd2l0aA0KYSBoZWFkZXIgcm93LCB3aGljaCBuYW1lcyB0aGUgY29sdW1ucy4gVGhlc2UgZmlsZXMgYXJlIHdyaXR0ZW4gdG8gdGhlICJvdXRwdXQiIGRpcmVjdG9yeSB1bmRlciB0aGUNCm1vZHVsZVwncyBpbnN0YWxsYXRpb24gZGlyZWN0b3J5Lg0KPC91bD48L2xpPjwvbGk+PC91bD4NCg0KPGgzPktub3duIElzc3VlczwvaDM+DQo8dWw+DQo8bGk+RmlsZSBVcGxvYWQgSW5wdXRzIG1heSBiZSB1c2VkIG9uIG11bHRpLXBhZ2UgZmVlZGJhY2sgZm9ybXMsIDxzdHJvbmc+YnV0IHRoZXkgbXVzdCBiZSBvbiB0aGUgbGFzdCBwYWdlPC9zdHJvbmc+IG9mDQp0aGUgZm9ybS48L2xpPg0KPGxpPkZpbGUgVXBsb2FkICJtYXhpbXVtIHNpemUiIGNhbm5vdCBiZSBsYXJnZXIgdGhhbiB0aGUgdmFsdWUgc2V0IGluIHlvdXIgcGhwLmluaSBmaWxlLiBUaGlzIGlzIG5vdCBhIGJ1ZyAtLSB0aGlzIGlzIGEgZmVhdHVyZS48L2xpPg0KPGxpPkZpbGUgVXBsb2FkICJtYXhpbXVtIHNpemUiIHVzZXMgdW5pdHMgY2FsbGVkICJraWxvYnl0ZXMiIHRoYXQgYXJlIDEwMDAgYnl0ZXMsIG5vdCAxMDI0IGJ5dGVzLjwvbGk+DQo8bGk+RmlsZSBVcGxvYWRzIGRvIG5vdCBjdXJyZW50bHkgd29yayB3aXRoIHRoZSBGbGF0IEZpbGUgZGlzcG9zaXRpb24gbWV0aG9kLjwvbGk+DQo8bGk+RmlsZSBVcGxvYWRzIGNvdWxkIGFsbG93IHVzZXJzIHRvIHN1Ym1pdCBvZmZlbnNpdmUsIG9ic2NlbmUsIG9yIGlsbGVnYWwgbWF0ZXJpYWwuIEl0IGNvdWxkIGFsc28gYmUgdXNlZCB0byB0cmFuc21pdA0KZGFuZ2Vyb3VzIGZpbGVzIHN1Y2ggYXMgdHJvamFuLWhvcnNlcywgdmlydXNlcywgb3Igb3RoZXIgc2VjdXJpdHkgdGhyZWF0cy4gVXNlIEZpbGUgVXBsb2FkcyB3aXRoIGNhdXRpb24gYW5kIGNvbW1vbiBzZW5zZS48L2xpPg0KPC91bD4NCg0KPGgzPlRyb3VibGVzaG9vdGluZzwvaDM+DQo8b2w+PGxpPiBGaXJzdCBzdGVwIGlzIHRvIGNoZWNrIHlvdVwncmUgcnVubmluZyBDTVMgMC4xMC54IG9yIGxhdGVyLjwvbGk+DQo8bGk+IFNlY29uZCBzdGVwIGlzIHRvIHJlYWQgYW5kIHVuZGVyc3RhbmQgdGhlIGNhdmVhdCBhYm91dCBXWVNJV1lHIGVkaXRvcnMgdXAgaW4gdGhlDQpzZWN0aW9uIDxlbT5BZGRpbmcgYSBGb3JtIHRvIGEgUGFnZTwvZW0+LjwvbGk+DQo8bGk+IEp1c3QgbWVzcyBhcm91bmQgYW5kIHRyeSBjbGlja2luZyBvbiBsaW5rcyBhbmQgaWNvbnMgYW5kIHN0dWZmLiBTZWUgd2hhdCBoYXBwZW5zLjwvbGk+DQo8bGk+IExhc3QgcmVzcG9ydCBpcyB0byBlbWFpbCBtZSBvciBjYXRjaCBtZSBvbiBJUkMgYW5kIHdlIGNhbiBnbyBmcm9tIHRoZXJlLjwvbGk+DQo8L29sPiANCjxwPlRoaXMgbWF5IG5vIGxvbmdlciBiZSBzdWNoIGFuIGVhcmx5IHZlcnNpb24sIGJ1dCBpdCBpcyBwcm9iYWJseSBzdGlsbCBidWdneS4gV2hpbGUgSVwndmUgZG9uZSBhbGwgSSBjYW4NCnRvIG1ha2Ugc3VyZSBubyBlZ3JlZ2lvdXMgYnVncyBoYXZlIGNyZXB0IGluLCBJIGhhdmUgdG8gYWRtaXQgdGhhdCBkdXJpbmcgdGVzdGluZywgdGhpcyBwcm9ncmFtDQpyZXZlYWxlZCBzZXZlbiBjb2Nrcm9hY2hlcywgdHdvIGVhcndpZ3MsIGEgc21hbGwgZmFtaWx5IG9mIGFwaGlkcywgYW5kIGEgd2Fsa2luZy1zdGljayBpbnNlY3QuIEl0IGFsc28NCmF0ZSB0aGUgbmVpZ2hib3JcJ3MgbmFzdHkgbGl0dGxlIHlhcCBkb2csIGZvciB3aGljaCBJIHdhcyBpbmFwcHJvcHJpYXRlbHkgZ3JhdGVmdWwuPC9wPg0KPHA+VGhlIGZpbmFsIHJlbGVhc2Ugd2lsbCBpbmNsdWRlIGJ1ZyBmaXhlcywgZG9jdW1lbnRhdGlvbiwgYW5kIHVuY29uZGl0aW9uYWwgbG92ZS48L3A+DQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+DQo8dWw+DQo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCwgcGxlYXNlIHZpc2l0IHRoZSBDTVMgRGV2ZWxvcGVyIENlbnRlciBhdCA8YSBocmVmPSZxdW90O2h0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcmcXVvdDs+aHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZzwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9JnF1b3Q7aHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnJnF1b3Q7PkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+DQo8bGk+VGhlIGF1dGhvciwgU2pHLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9JnF1b3Q7aXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zJnF1b3Q7PkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4NCjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseS48L2xpPiAgDQo8L3VsPg0KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0DQpvZiB0aGUgbGljZW5zZSBmb3IgdGhlIGZ1bGwgZGlzY2xhaW1lci48L3A+DQoNCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KPHA+Q29weXJpZ2h0IMKpIDIwMDYsIFNhbXVlbCBHb2xkc3RlaW4gPGEgaHJlZj0mcXVvdDttYWlsdG86c2pnQGNtc21vZHVsZXMuY29tJnF1b3Q7PjxzamdAY21zbW9kdWxlcy5jb20+PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBtb2R1bGUgaGFzIGJlZW4gcmVsZWFzZWQgdW5kZXIgdGhlIDxhIGhyZWY9JnF1b3Q7aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMJnF1b3Q7PkdOVSBQdWJsaWMgTGljZW5zZTwvYT4uIFlvdSBtdXN0IGFncmVlIHRvIHRoaXMgbGljZW5zZSBiZWZvcmUgdXNpbmcgdGhlIG1vZHVsZS48L3A+DQoJCQ0KJzsKJGxhbmdbJ2NoYW5nZWxvZyddID0gJwkJICAgIDx1bD4NCgkJICAgIDxsaT5WZXJzaW9uIDAuOS4xMSAtIDkgRmVicnVhcnkgMjAwNi4gQnVnIGZpeGVzIGZvciB0cmFja2VyIGJ1Z3MgIzI5MywgIzMyOSwgIzMwNCwgIzMzNzwvbGk+DQoJCSAgICA8bGk+VmVyc2lvbnMgMC45LnggLSBPY3RvYmVyLCBOb3ZlbWJlciAyMDA1LiBDb250aW51aW5nIGJ1ZyBmaXhlcy48L2xpPg0KCQkgICAgPGxpPlZlcnNpb24gMC45IC0gIDIgT2N0b2JlciAyMDA1LiBNaWdyYXRlZCB0byBwcm9wZXIgTW9kdWxlIEFQSSAobGFuZywgc21hcnR5IHRlbXBsYXRlcywgZXRjLikuPC9saT4NCiAgICAgICAgICAgIDxsaT5WZXJzaW9uIDAuOCAtIDMxIEp1bHkgMjAwNS4gQnVnIGZpeGVzLCBhZGRlZCBEYXRlIGFuZCBDYWxsYmFjayBGdW5jdGlvbiBpbnB1dCB0eXBlcy48L2xpPg0KICAgICAgICAgICAgPGxpPlZlcnNpb24gMC43LjMgLSAyMSBKdWx5IDIwMDUuIEJ1ZyBmaXhlcywgYWRkZWQgU3RhdGUgYW5kIENvdW50cnkgaW5wdXQgdHlwZXMuPC9saT4NCiAgICAgICAgICAgIDxsaT5WZXJzaW9uIDAuNy4yIC0gMTggSnVseSAyMDA1LiBWYWxpZGF0aW9uIGJ1ZyBmaXhlcywgZml4ZWQgUEhQTWFpbGVyIGxvY2FsaXphdGlvbi48L2xpPg0KICAgICAgICAgICAgPGxpPlZlcnNpb24gMC43LjEgLSAxIEp1bmUgMjAwNS4gTWlub3IgYnVnIGZpeGVzLjwvbGk+DQogICAgICAgICAgICA8bGk+VmVyc2lvbiAwLjcgLSAyNCBNYXkgMjAwNS4gTW9yZSBhbmQgYmV0dGVyIHN1cHBvcnQgZm9yIENTUyBhbmQgcHVyZSBDU1MgbGF5b3V0cy4NCiAgICAgICAgICAgIFN1cHBvcnQgZm9yIG11bHRpLXBhZ2UgZm9ybXMuDQogICAgICAgICAgICBNYW55IG5ldyBmb3JtIG9wdGlvbnMuIE5ldyBmaWVsZCB0eXBlczogZmlsZSB1cGxvYWQsIGVtYWlsICJmcm9tIiBhZGRyZXNzLiBJbXByb3ZlZA0KICAgICAgICAgICAgZXJyb3IgaGFuZGxpbmcuIEVtYWlsIGRpc3Bvc2FsIHR5cGVzIG5vdyB0ZW1wbGF0ZWQuPC9saT4NCgkJCTxsaT5WZXJzaW9uIDAuNiAtIDE2IEFwciAyMDA1LiBVcGRhdGVkIGZvciBuZXcgQWRtaW4sIHNpbXBsaWZpZWQgcGVybWlzc2lvbnMuPC9saT4NCgkJICAgIDxsaT5WZXJzaW9uIDAuNSAtIDQgTWFyIDIwMDUuIE1pbm9yIGJ1ZyBmaXhlcyBmb3IgZGVsZXRpbmcgZm9ybXMvZmllbGRzLjwvbGk+DQoJCSAgICA8bGk+VmVyc2lvbiAwLjQgLSAyIE1hciAyMDA1LiBMb2NhbGl6YXRpb24gYW5kIG51bWVyb3VzIGJ1ZyBmaXhlcy48L2xpPg0KCQkgICAgPGxpPlZlcnNpb24gMC4zIC0gMjggRmViIDIwMDUuIFByaW1pdGl2ZSBsb2NhbGl6YXRpb24gYW5kIGJ1ZyBmaXhlcy48L2xpPg0KCQkgICAgPGxpPlZlcnNpb24gMC4yIC0gMjQgRmViIDIwMDUuIENvbnZlcnRlZCB0byB1c2UgT2JqZWN0cy4gTWFueSBpbXByb3ZlbWVudHMgYW5kIGJ1ZyBmaXhlcy48L2xpPg0KCQkJPGxpPlZlcnNpb24gMC4xIC0gMTEgRmViIDIwMDUuIEluaXRpYWwgUmVsZWFzZTwvbGk+PC91bD4NCgkJJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/fi_FI.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZpZWxkX3R5cGVfdGV4dF9pbnB1dCddID0gJ1Rla3N0aXJpdmknOwokbGFuZ1snZmllbGRfdHlwZV90ZXh0X2FyZWEnXSA9ICdUZWtzdGlrZW50dCZhdW1sOyc7CiRsYW5nWydmaWVsZF90eXBlX2NoZWNrYm94J10gPSAnVmFsaW50YWxhYXRpa2tvJzsKJGxhbmdbJ2ZpZWxkX3R5cGVfY2hlY2tib3hfZ3JvdXAnXSA9ICdWYWxpbnRhbGFhdGlra28gcnlobSZhdW1sOyc7CiRsYW5nWydmaWVsZF90eXBlX3B1bGxkb3duJ10gPSAnQWxhc3ZldG92YWxpa2tvJzsKJGxhbmdbJ2ZpZWxkX3R5cGVfc3RhdGUnXSA9ICdVLlMuIFN0YXRlJzsKJGxhbmdbJ2ZpZWxkX3R5cGVfY291bnRyeSddID0gJ01hYSc7CiRsYW5nWydmaWVsZF90eXBlX2RhdGUnXSA9ICdQJmF1bWw7aXYmYXVtbDttJmF1bWw7JmF1bWw7ciZhdW1sOyB2YWxpdHNpbic7CiRsYW5nWydmaWVsZF90eXBlX2NhbGxiYWNrJ10gPSAnRnVuY3Rpb24gQ2FsbGJhY2sgJnF1b3Q7SW5wdXQmcXVvdDsnOwokbGFuZ1snZmllbGRfdHlwZV9yYWRpb19ncm91cCddID0gJ1JhZGlvIEJ1dHRvbiBHcm91cCc7CiRsYW5nWydmaWVsZF90eXBlX2Rpc3Bvc2l0aW9uX2RpcmVjdG9yJ10gPSAnKiBMJmF1bWw7aGV0JmF1bWw7IGVtYWlsaW5hIGFsYXN2ZXRvbGFhdGlrb2xsYSB2YWxpdHRhdmFhbiBvc29pdHRlZXNlZW4nOwokbGFuZ1snZmllbGRfdHlwZV9kaXNwb3NpdGlvbl9lbWFpbCddID0gJyogTCZhdW1sO2hldCZhdW1sOyBlbWFpbGluYSBlbm5hbHRhIGFzZXRldHR1aWhpbiBvc29pdHRlaXNpaW4nOwokbGFuZ1snZmllbGRfdHlwZV9kaXNwb3NpdGlvbl9lbWFpbF9zaXRlX3VzZXInXSA9ICcqIEwmYXVtbDtoZXQmYXVtbDsgZW1haWxpbmEgayZhdW1sO3l0dCZhdW1sO2omYXVtbDtuIHZhbGl0c2VtYWxsZSBzaXZ1c3RvbiBrJmF1bWw7eXR0JmF1bWw7aiZhdW1sO2xsZSc7CiRsYW5nWydmaWVsZF90eXBlX2Rpc3Bvc2l0aW9uX2ZpbGUnXSA9ICcqIEtpcmpvaXRhIHRpZWRvc3Rvb24nOwokbGFuZ1snZmllbGRfdHlwZV9zdGF0aWNfdGV4dCddID0gJ1N0YWF0dGluZW4gdGVrc3RpJzsKJGxhbmdbJ2ZpZWxkX3R5cGVfcGFnZV9icmVhayddID0gJ1NpdnVuIHZhaWh0byc7CiRsYW5nWydmaWVsZF90eXBlX2ZpbGVfdXBsb2FkJ10gPSAnVGllZG9zdG9uIGwmYXVtbDtoZXR5cyc7CiRsYW5nWydmaWVsZF90eXBlX2VtYWlsX2Zyb20nXSA9ICdFbWFpbGluICZxdW90O0Zyb20mcXVvdDsga2VudHQmYXVtbDsnOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnRmVlZGJhY2tGb3JtJzsKJGxhbmdbJ3ZhbGlkYXRpb25fbm9uZSddID0gJ0VpIHRhcmtpc3R1c3RhJzsKJGxhbmdbJ3ZhbGlkYXRpb25fbm90X2VtcHR5J10gPSAnRWkgdHloaiZhdW1sOyc7CiRsYW5nWyd2YWxpZGF0aW9uX251bWVyaWMnXSA9ICdOdW1lZXJpbmVuJzsKJGxhbmdbJ3ZhbGlkYXRpb25faW50ZWdlciddID0gJ0tva29uYWlzbHVrdSc7CiRsYW5nWyd2YWxpZGF0aW9uX2VtYWlsX2FkZHJlc3MnXSA9ICdFbWFpbCBvc29pdGUnOwokbGFuZ1sndmFsaWRhdGlvbl9hdF9sZWFzdF9vbmUnXSA9ICdWJmF1bWw7aGludCZhdW1sOyZhdW1sO24geWtzaSB2YWxpdHR1JzsKJGxhbmdbJ3ZhbGlkYXRpb25fbXVzdF9jaGVjayddID0gJ1QmYXVtbDt5dHl5IG9sbGEgdmFsaXR0dSc7CiRsYW5nWyd2YWxpZGF0aW9uX29wdGlvbl9zZWxlY3RlZCddID0gJ1QmYXVtbDt5dHl5IG9sbGEgdmFsaXR0dSc7CiRsYW5nWydwbGVhc2VfZW50ZXJfYV92YWx1ZSddID0gJ0FubmEgYXJ2byBrZW50dCZhdW1sOyZhdW1sO24nOwokbGFuZ1sncGxlYXNlX2VudGVyX2FfbnVtYmVyJ10gPSAnQW5uYSBudW1lcm8ga2VudHQmYXVtbDsmYXVtbDtuJzsKJGxhbmdbJ3BsZWFzZV9lbnRlcl9hbl9pbnRlZ2VyJ10gPSAnQW5uYSBrb2tvbmFpc2x1a3Uga2VudHQmYXVtbDsmYXVtbDtuJzsKJGxhbmdbJ3BsZWFzZV9lbnRlcl9hbl9lbWFpbCddID0gJ0FubmEgZW1haWwgb3NvaXRlIGtlbnR0JmF1bWw7JmF1bWw7bic7CiRsYW5nWydub3RfdmFsaWRfZW1haWwnXSA9ICdFbWFpbCBvc29pdGUgZWkgb2xlIG9pa2Vhc3NhIG11b2Rvc3NhJzsKJGxhbmdbJ3BsZWFzZV9lbnRlcl9ub19sb25nZXInXSA9ICdBbm5hIGFydm8gam9rYSBlaSBvbGUgc3V1cmVtcGkga3Vpbic7CiRsYW5nWydwbGVhc2VfY2hlY2tfc29tZXRoaW5nJ10gPSAnVmFsaXRzZSBqb3RhaW4gcnlobSZhdW1sO3N0JmF1bWw7ICc7CiRsYW5nWydwbGVhc2Vfc2VsZWN0X3NvbWV0aGluZyddID0gJ1ZhbGl0c2Ugam90YWluIHJ5aG0mYXVtbDtzdCZhdW1sOyc7CiRsYW5nWydmaWVsZF9uYW1lX2luX3VzZTEnXSA9ICdUaGUgZmllbGQgbmFtZSc7CiRsYW5nWydmaWVsZF9uYW1lX2luX3VzZTInXSA9ICdvbiBqbyBrJmF1bWw7eXQmb3VtbDtzcyZhdW1sOyBmb3JtaXNzYSwgdmFpaGRhIHVuaWlra2lpbic7CiRsYW5nWyd5b3VfbmVlZF9wZXJtaXNzaW9uMSddID0gJ1RhcnZpdHNldCAmcXVvdDsnOwokbGFuZ1sneW91X25lZWRfcGVybWlzc2lvbjInXSA9ICcmcXVvdDsgb2lrZXVkZXQgbXV1dHRhYWtzZXNpLic7CiRsYW5nWydsYWNrcGVybWlzc2lvbiddID0gJ1NpbnVsbGEgZWkgb2xlIHRhcnZpdHRhdmlhIG9pa2V1a3NpYSc7CiRsYW5nWydmaWVsZF9vcmRlcl91cGRhdGVkJ10gPSAnS2VudHRpZW4gaiZhdW1sO3JqZXN0eXMgcCZhdW1sO2l2aXRldHR5JzsKJGxhbmdbJ2Zvcm1fZGVsZXRlZCddID0gJ0Zvcm1pIHR1aG90dHUnOwokbGFuZ1snZmllbGRfZGVsZXRlZCddID0gJ0tlbnR0JmF1bWw7IHR1aG90dHUnOwokbGFuZ1snY29uZmlndXJhdGlvbl91cGRhdGVkJ10gPSAnQXNldHVrc2V0IHAmYXVtbDtpdml0ZXR0eSc7CiRsYW5nWyd5b3VfbXVzdF9jaGVjazEnXSA9ICdWYWxpdHNlICZxdW90Oyc7CiRsYW5nWyd5b3VfbXVzdF9jaGVjazInXSA9ICcmcXVvdDsgamF0a2Fha3Nlc2kuJzsKJGxhbmdbJ211c3Rfc3BlY2lmeV9vbmVfZGVzdGluYXRpb24nXSA9ICdNJmF1bWw7JmF1bWw7cml0JmF1bWw7IHYmYXVtbDtoaW50JmF1bWw7JmF1bWw7biB5a3NpIGtvaGRlb3NvaXRlJzsKJGxhbmdbJ2FyZV95b3Vfc3VyZV9kZWxldGVfZm9ybSddID0gJ0hhbHVhdGtvIHZhcm1hc3RpIHBvaXN0YWEgZm9ybWluICVzPyc7CiRsYW5nWydhcmVfeW91X3N1cmVfZGVsZXRlX2ZpZWxkJ10gPSAnSGFsdWF0a28gdmFybWFzdGkgcG9pc3RhYSBrZW50JmF1bWw7biAlcz8nOwokbGFuZ1snYWJicmV2aWF0aW9uX2xlbmd0aCddID0gJ1BpdHV1cyc7CiRsYW5nWydjaGFyYWN0ZXJzJ10gPSAnbWVya2tpJmF1bWw7JzsKJGxhbmdbJ2JveGVzJ10gPSAnbGFhdGlrb3QnOwokbGFuZ1snZmllbGQnXSA9ICdLZW50dCZhdW1sOyc7CiRsYW5nWydvcmRlciddID0gJ0omYXVtbDtyamVzdHlzJzsKJGxhbmdbJ3Vuc3BlY2lmaWVkJ10gPSAnKGVpIG0mYXVtbDsmYXVtbDtyaXRlbHR5KSc7CiRsYW5nWydhZGRlZCddID0gJ0xpcyZhdW1sO3R0eSc7CiRsYW5nWyd1cGRhdGVkJ10gPSAnUCZhdW1sO2l2aXRldHR5JzsKJGxhbmdbJ2RlbGV0ZWQnXSA9ICdUdWhvdHR1JzsKJGxhbmdbJ2Nob2ljZXMnXSA9ICdWYWxpbm5hdCc7CiRsYW5nWydzZWxlY3Rfb25lJ10gPSAnVmFsaXRzZSB5a3NpJzsKJGxhbmdbJ3NlbGVjdF9hX3VzZXInXSA9ICdWYWxpdHNlIGsmYXVtbDt5dHQmYXVtbDtqJmF1bWw7JzsKJGxhbmdbJ3NlbGVjdF90eXBlJ10gPSAnVmFsaXRzZSB0eXlwcGknOwokbGFuZ1sndG8nXSA9ICdLZW5lbGxlJzsKJGxhbmdbJ3JlY2lwaWVudHMnXSA9ICd2YXN0YWFub3R0YWphdCc7CiRsYW5nWydub3RlJ10gPSAnSHVvbWFhOic7CiRsYW5nWydhbnlfdXNlciddID0gJ0t1a2F0YWhhbnNhIGsmYXVtbDt5dHQmYXVtbDtqJmF1bWw7JzsKJGxhbmdbJ2xpc3QnXSA9ICdMaXN0YSc7CiRsYW5nWydub3RfY29uZmlndXJlZCddID0gJ0VpIGFzZXRldHR1JzsKJGxhbmdbJ3NhdmUnXSA9ICdUYWxsZW5uYSc7CiRsYW5nWydhZGQnXSA9ICdMaXMmYXVtbDsmYXVtbDsnOwokbGFuZ1sndXBkYXRlJ10gPSAnUCZhdW1sO2l2aXQmYXVtbDsnOwokbGFuZ1snc2F2ZV9hbmRfY29udGludWUnXSA9ICdUYWxsZW5uYSBqYSBqYXRrYSBtdW9ra2F1c3RhJzsKJGxhbmdbJ2luZm9ybWF0aW9uJ10gPSAnVGlldG9hJzsKJGxhbmdbJ2F1dG9tYXRpYyddID0gJ0F1dG9tYWF0dGluZW4nOwokbGFuZ1snZm9ybXMnXSA9ICdGb3JtaXQnOwokbGFuZ1snZm9ybSddID0gJ0Zvcm1pJzsKJGxhbmdbJ2NvbmZpZ3VyYXRpb24nXSA9ICdBc2V0dWtzZXQnOwokbGFuZ1snbWFpbiddID0gJ01haW4nOwokbGFuZ1snYWRkaXRpb25hbCddID0gJ0Zvcm1pbiBhc2V0dWtzZXQnOwokbGFuZ1snbm9maWVsZHMnXSA9ICdLJmF1bWw7c2l0dGVseWtlbnR0aSZhdW1sOyBlaSBvbGUgbSZhdW1sOyZhdW1sO3JpdGVsdHknOwokbGFuZ1snbm9tZXRob2QnXSA9ICdObyBtZXRob2QvbW9kdWxlIHNldC4nOwokbGFuZ1snY2hhcnMnXSA9ICdNZXJra2kmYXVtbDsnOwokbGFuZ1snbWlzc2luZ19jbXNfbWFpbGVyJ10gPSAnQ01TTWFpbGVyIG1vZHVsaWEgZWkgb2xlIGFzZW5uZXR0dS4gRmVlZGJhY2tGb3JtIHZhYXRpaSBDTVNNYWlsZXJpbiB0b2ltaWFrc2Vlbic7CiRsYW5nWydtYXhpbXVtX3NpemUnXSA9ICdNYWtzaW1pIGtva28uJzsKJGxhbmdbJ3Blcm1pdHRlZF9leHRlbnNpb25zJ10gPSAnUCZhdW1sOyZhdW1sO3R0ZWV0JzsKJGxhbmdbJ3Blcm1pdHRlZF9maWxldHlwZXMnXSA9ICdTYWxsaXR1dCB0aWVkb3N0byB0eXlwaXQnOwokbGFuZ1snZmlsZV90b29fbGFyZ2UnXSA9ICdUaWVkb3N0byBvbiBsaWlhbiBzdXVyaSwgc3V1cmluIHNhbGxpdHR1IGtva286ICc7CiRsYW5nWydpbGxlZ2FsX2ZpbGVfdHlwZSddID0gJ1RpZWRvc3RvbiB0eXlwcGkmYXVtbDsgZWkgb2xlIHNhbGxpdHR1LiBUYXJraXN0YSB0aWVkb3N0b24gcCZhdW1sOyZhdW1sO3RlJzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTW9kdWxpIHBvaXN0ZXR0dS4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWxpIHZlcnNpbyAlcyBhc2VubmV0dHUuJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnTW9kdWxpIHAmYXVtbDtpdml0ZXR0eSB2ZXJzaW9vbiAlcy4nOwokbGFuZ1sndGl0bGVfbWF4aW11bV9sZW5ndGgnXSA9ICdNYWtzaW1pIHBpdHV1cyc7CiRsYW5nWyd0aXRsZV9jaGVja2JveF9uYW1lJ10gPSAnVmFsaW50YWxhYXRpa29uIG5pbWknOwokbGFuZ1sndGl0bGVfc3VibWl0dGVkX3ZhbHVlJ10gPSAnTCZhdW1sO2hldGV0dHkgYXJ2byc7CiRsYW5nWyd0aXRsZV9jaGVja2JveF9kZXRhaWxzJ10gPSAnVmFsaW50YWxhYXRpa2tvIHJ5aG0mYXVtbDtuIHRpZWRvdCc7CiRsYW5nWyd0aXRsZV9zZWxlY3Rfb25lX21lc3NhZ2UnXSA9ICcmcXVvdDt2YWxpdHNlIHlrc2kmcXVvdDsgdGVrc3RpJzsKJGxhbmdbJ3RpdGxlX3NlbGVjdGlvbl9zdWJqZWN0J10gPSAnVmFsaW5uYW4gb3RzaWtrbyc7CiRsYW5nWyd0aXRsZV9zZWxlY3RfZGVmYXVsdF9jb3VudHJ5J10gPSAnT2xldHVzIHZhbGludGEnOwokbGFuZ1sndGl0bGVfc2VsZWN0aW9uX25hbWUnXSA9ICdWYWxpbm5hbiBuaW1pJzsKJGxhbmdbJ3RpdGxlX2Rlc3RpbmF0aW9uX2VtYWlsJ10gPSAnVmFzdGFhbm90dGFqYW4gZW1haWwgb3NvaXRlJzsKJGxhbmdbJ3RpdGxlX2RpcmVjdG9yX2RldGFpbHMnXSA9ICdBbGFzdmV0b2xhYXRpa2tvIGwmYXVtbDtoZXR5a3NlbiBsaXMmYXVtbDt0aWVkb3QnOwokbGFuZ1sndGl0bGVfZW1haWxfYWRkcmVzc2VzJ10gPSAnRm9ybWluIHRpZXRvamVuIHZhc3RhYW5vdHRhamF0JzsKJGxhbmdbJ3RpdGxlX2ZpbGVfZm9ybWF0J10gPSAnVGllZG9zdG9uIHR5eXBwaSc7CiRsYW5nWyd0aXRsZV9maWxlX2Zvcm1hdF90YWInXSA9ICdBcnZvdCBlcm90ZWx0dSBzYXJrYWltZWxsYSc7CiRsYW5nWyd0aXRsZV9maWxlX2Zvcm1hdF90YWJfaGVhZGVyJ10gPSAnQXJ2b3QgZXJvdGVsdHUgc2Fya2FpbWVsbGEgKyBvdHNpa2tvIHRpZWRvdCc7CiRsYW5nWyd0aXRsZV9maWxlX2Zvcm1hdF9wYWdlJ10gPSAnU2l2dW4gbXVvdG8nOwokbGFuZ1sndGl0bGVfZmlsZV9uYW1lJ10gPSAnVGllZG9zdG9uIG5pbWknOwokbGFuZ1sndGl0bGVfZXJhc2VfZmlsZWxvY2snXSA9ICdQb2lzdGEgdGllZG9zdG9uIGx1a2l0dXMnOwokbGFuZ1sndGl0bGVfZXJhc2VfdXNhZ2UnXSA9ICcoSyZhdW1sO3l0JmF1bWw7IHBvaXN0YW1hYW4gdGllZG9zdG9uIGx1a2l0dXMgbWFoZG9sbGlzZW4ganVtaXV0dW5lZW4ga2lyam9pdHVrc2VuIGomYXVtbDtsamlsdCZhdW1sOyknOwokbGFuZ1sndGl0bGVfZmlsZV9ub3RlJ10gPSAnVGllZG9zdG90IHRhbGxlbm5ldGFhbiBtb2R1bGVzL0ZlZWRiYWNrRm9ybS9vdXRwdXQga2Fuc2lvb24nOwokbGFuZ1sndGl0bGVfdXNlcm5hbWUnXSA9ICdTaXZ1c3RvbiBrJmF1bWw7eXR0JmF1bWw7aiZhdW1sO3R1bm51cyc7CiRsYW5nWyd0aXRsZV9yZWFsX25hbWUnXSA9ICdLb2tvIG5pbWknOwokbGFuZ1sndGl0bGVfYm90aF9uYW1lcyddID0gJ0smYXVtbDt5dHQmYXVtbDtqJmF1bWw7dHVubnVzICsgS29rbyBuaW1pJzsKJGxhbmdbJ3RpdGxlX25vX2dyb3VwX3Jlc3RyaWN0aW9uJ10gPSAnRWkgcnlobSZhdW1sOyByYWpvaXR1a3NpYSc7CiRsYW5nWyd0aXRsZV9lbWFpbF9zdWJqZWN0J10gPSAnRW1haWxpbiBvdHNpa2tvIHJpdmknOwokbGFuZ1sndGl0bGVfcmVzdHJpY3RfdG9fZ3JvdXAnXSA9ICdSYWpvaXRhIGsmYXVtbDt5dHQmYXVtbDtqaWxsZSByeWhtJmF1bWw7c3MmYXVtbDsnOwokbGFuZ1sndGl0bGVfbmFtZXNfaW5fcHVsbGRvd24nXSA9ICdOaW1ldCBqb2l0YSBrJmF1bWw7eXRldCZhdW1sOyZhdW1sO24gYWxhc3ZldG92YWxpa29zc2EnOwokbGFuZ1sndGl0bGVfc2VsZWN0X2FfdXNlcl9tZXNzYWdlJ10gPSAnVmFsaXRzZSBrJmF1bWw7eXR0JmF1bWw7aiZhdW1sOyB2aWVzdGknOwokbGFuZ1sndGl0bGVfcHVsbGRvd25fY29udGVudHMnXSA9ICdBbGFzdmV0b3ZhbGlrb24gc2lzJmF1bWw7bHQmb3VtbDsnOwokbGFuZ1sndGl0bGVfcmFkaW9fbmFtZSddID0gJ1JhZGlvIEJ1dHRvbiBOYW1lJzsKJGxhbmdbJ3RpdGxlX3JhZGlvX2dyb3VwX2RldGFpbHMnXSA9ICdSYWRpbyBCdXR0b24gR3JvdXAgRGV0YWlscyc7CiRsYW5nWyd0aXRsZV9mb3JtX25hbWUnXSA9ICdGb3JtaW4gbmltaSc7CiRsYW5nWyd0aXRsZV9mb3JtX3N0YXR1cyddID0gJ0Zvcm1pbiB0aWxhJzsKJGxhbmdbJ3RpdGxlX3JlYWR5X2Zvcl9kZXBsb3ltZW50J10gPSAnVmFsbWlzIGsmYXVtbDt5dHQmb3VtbDsmb3VtbDtuJzsKJGxhbmdbJ3RpdGxlX25vdF9yZWFkeTEnXSA9ICdFaSB2YWxtaXMnOwokbGFuZ1sndGl0bGVfbm90X3JlYWR5MiddID0gJ0xpcyZhdW1sOyZhdW1sOyBmb3JtaWluIGtlbnR0JmF1bWw7IGpva2EgbSZhdW1sOyZhdW1sO3JpdHQmYXVtbDsmYXVtbDsgbWl0ZW4gayZhdW1sO3l0dCZhdW1sO2omYXVtbDtuIHN5Jm91bWw7dHQmYXVtbDttJmF1bWw7dCBhcnZvdCBrJmF1bWw7c2l0ZWxsJmF1bWw7JmF1bWw7bi4gVm9pdCBrJmF1bWw7eXR0JmF1bWw7JmF1bWw7ICc7CiRsYW5nWyd0aXRsZV9ub3RfcmVhZHlfbGluayddID0gJ3QmYXVtbDt0JmF1bWw7IGxpbmtraSZhdW1sOyc7CiRsYW5nWyd0aXRsZV9mb3JtX2FsaWFzJ10gPSAnRm9ybWluIGFsaWFzIG5pbWknOwokbGFuZ1sndGl0bGVfZm9ybV9maWVsZHMnXSA9ICdGb3JtaW4ga2VudCZhdW1sO3QnOwokbGFuZ1sndGl0bGVfZmllbGRfbmFtZSddID0gJ0tlbnQmYXVtbDtuIG5pbWknOwokbGFuZ1sndGl0bGVfZmllbGRfdHlwZSddID0gJ0tlbnQmYXVtbDtuIHR5eXBwaSc7CiRsYW5nWyd0aXRsZV9zaG93X2xhYmVsJ10gPSAnUGlpbG90YSBrZW50JmF1bWw7biBsYWJlbCBmb3JtaXNzYSc7CiRsYW5nWyd0aXRsZV9zaG93X2xhYmVsX2xvbmcnXSA9ICcmQXVtbDtsJmF1bWw7IGsmYXVtbDt5dCZhdW1sOyBrZW50JmF1bWw7biBsYWJlbGlhJzsKJGxhbmdbJ3RpdGxlX25vdF9yZWFkeTMnXSA9ICdsdW9kYWtzZXNpIGZvcm1pbiBrJmF1bWw7c2l0dGVseSBrZW50JmF1bWw7bic7CiRsYW5nWyd0aXRsZV90YWdfdG9fdXNlJ10gPSAnU21hcnR5IHRhZyB0JmF1bWw7bSZhdW1sO24gZm9ybWluIGsmYXVtbDt5dHQmYXVtbDttaXNla3NpJzsKJGxhbmdbJ3RpdGxlX2FkZF9uZXdfZm9ybSddID0gJ0xpcyZhdW1sOyZhdW1sOyB1dXNpIGZvcm1pJzsKJGxhbmdbJ3RpdGxlX2VkaXRfY29uZmlndXJhdGlvbiddID0gJ011b2trYWEgYXNldHVrc2lhJzsKJGxhbmdbJ3RpdGxlX2VtYWlsX2Zyb21fbmFtZSddID0gJ0VtYWlsZWQgRm9ybSAmcXVvdDtGcm9tJnF1b3Q7IE5hbWUnOwokbGFuZ1sndGl0bGVfZm9ybV9mcm9tX2VtYWlsJ10gPSAnRm9ybSAmcXVvdDtGcm9tJnF1b3Q7IEVtYWlsIEFkZHJlc3MnOwokbGFuZ1sndGl0bGVfbWFpbF9ob3N0J10gPSAnTWFpbCAoU01UUCkgSG9zdCc7CiRsYW5nWyd0aXRsZV9sYW5ndWFnZSddID0gJ0tpZWxpJzsKJGxhbmdbJ3RpdGxlX2FkZF9uZXdfZmllbGQnXSA9ICdMaXMmYXVtbDsmYXVtbDsgdXVzaSBrZW50dCZhdW1sOyc7CiRsYW5nWyd0aXRsZV9mb3JtX3N1Ym1pdF9idXR0b24nXSA9ICdGb3JtaW4gbCZhdW1sO2hldCZhdW1sOyBuYXBpbiB0ZWtzdGknOwokbGFuZ1sndGl0bGVfZm9ybV9uZXh0X2J1dHRvbiddID0gJ0Zvcm1pbiAmcXVvdDtzZXVyYWF2YSZxdW90OyBuYXBpbiB0ZWtzdGkgKGsmYXVtbDt5dGV0JmF1bWw7JmF1bWw7biB1c2VhbXBpIHNpdnVpc2lzc2EgZm9ybWVpc3NhKSc7CiRsYW5nWyd0aXRsZV9mb3JtX3RoYW5rc190ZXh0J10gPSAnRm9ybWluIGtpaXRvcyB2aWVzdGluIHRla3N0aSc7CiRsYW5nWyd0aXRsZV9maWVsZF92YWxpZGF0aW9uJ10gPSAnS2VudHRpZW4gdmFsaWRvaW50aSc7CiRsYW5nWyd0aXRsZV9kZWZhdWx0X3VzZXInXSA9ICdPbGV0dXNrJmF1bWw7eXR0JmF1bWw7aiZhdW1sOyc7CiRsYW5nWyd0aXRsZV9ub19kZWZhdWx0X3VzZXInXSA9ICdFaSBvbGV0dXNrJmF1bWw7eXR0JmF1bWw7aiZhdW1sOyZhdW1sOyc7CiRsYW5nWyd0aXRsZV9jc3NfbGF5b3V0J10gPSAnQ1NTIG11b3RvaWx1JzsKJGxhbmdbJ3RpdGxlX3VzZV9jc3NfbGF5b3V0J10gPSAnSyZhdW1sO3l0JmF1bWw7IHZhaW4gQ1NTIG11b3RvaWx1YSBmb3JtaW4gbiZhdW1sO3l0dCZhdW1sO21pc2VzcyZhdW1sOyc7CiRsYW5nWyd0aXRsZV9mb3JtX2Nzc19jbGFzcyddID0gJ0NTUyBsdW9ra2EgdCZhdW1sO2xsZSBmb3JtaWxsZSc7CiRsYW5nWyd0aXRsZV9maWVsZF9jc3NfY2xhc3MnXSA9ICdDU1MgbHVva2thIHQmYXVtbDtsbGUga2VudCZhdW1sO2xsZSc7CiRsYW5nWyd0aXRsZV9mb3JtX3JlcXVpcmVkX3N5bWJvbCddID0gJ01lcmtraSBqb2xsYSBtZXJrYXRhYW4ga2Fpa2tpIHBha29sbGlzZXQga2VudCZhdW1sO3QnOwokbGFuZ1sndGl0bGVfZmllbGRfcmVxdWlyZWQnXSA9ICdQYWtvbGxpbmVuJzsKJGxhbmdbJ3RpdGxlX2ZpZWxkX3JlcXVpcmVkX2xvbmcnXSA9ICdQYWtvbGxpbmVuIGtlbnR0JmF1bWw7JzsKJGxhbmdbJ3RpdGxlX2ZpZWxkX3JlcXVpcmVkX2FiYnJldiddID0gJ1Bha29sbGluZW4nOwokbGFuZ1sndGl0bGVfdGFibGVfbGF5b3V0X3R5cGUnXSA9ICdLZW50JmF1bWw7biBvdHNpa29uIHNpam9pdHRlbHUgKEVpIHZhaWt1dGEgQ1NTIG11b3RvaWx1dW4pJzsKJGxhbmdbJ3RpdGxlX3RhYmxlX2xheW91dF9sZWZ0J10gPSAnT3RzaWtrbyB2YXNlbW1hbGxhJzsKJGxhbmdbJ3RpdGxlX3RhYmxlX2xheW91dF9hYm92ZSddID0gJ090c2lra28geWxoJmF1bWw7JmF1bWw7bGwmYXVtbDsnOwokbGFuZ1sndGl0bGVfaW5jbHVkZV9lbWFpbF9pbmZvJ10gPSAnTGlzJmF1bWw7JmF1bWw7IG15Jm91bWw7cyBwYWx2ZWxpbiB0aWVkb3QnOwokbGFuZ1sndGl0bGVfaW5jbHVkZV9lbWFpbF9pbmZvX2xvbmcnXSA9ICdMaXMmYXVtbDsmYXVtbDsgcGFsdmVsaW4gdGllZG90IGVtYWlsaWluJzsKJGxhbmdbJ3RpdGxlX2hpZGVfZXJyb3JzJ10gPSAnUGlpbG90YSB2aXJoZWV0JzsKJGxhbmdbJ3RpdGxlX2hpZGVfZXJyb3JzX2xvbmcnXSA9ICdFc3QmYXVtbDsgZGVidWcgLyB2aXJoZSB2aWVzdGllbiB0dWxvc3R1cyBrJmF1bWw7eXR0JmF1bWw7amlsbGUnOwokbGFuZ1sndGl0bGVfZW1haWxfdGVtcGxhdGUnXSA9ICdFbWFpbCBwb2hqYSc7CiRsYW5nWyd0aXRsZV9lbWFpbF90ZW1wbGF0ZV92YXJzJ10gPSAnVCZhdW1sO3NzJmF1bWw7IHBvaGphc3NhIGsmYXVtbDt5dGV0dCZhdW1sO3Zpc3MmYXVtbDsgb2xldmF0IG11dXR0dWphdCc7CiRsYW5nWyd0aXRsZV9zYW1wbGVfdGVtcGxhdGUnXSA9ICdMdW8gbWFsbGlwb2hqYSc7CiRsYW5nWyd0aXRsZV9tYXhpbXVtX3NpemUnXSA9ICdNYWtzaW1pIHRpZWRvc3RvIGtva28nOwokbGFuZ1sndGl0bGVfcGVybWl0dGVkX2V4dGVuc2lvbnMnXSA9ICdTYWxsaXR1dCBwJmF1bWw7JmF1bWw7dHRlZXQnOwokbGFuZ1sndGl0bGVfcGVybWl0dGVkX2V4dGVuc2lvbnNfbG9uZyddID0gJ1BpbGt1bGxhIGVyb3RldHR1IGxpc3RhIGlsbWFuIHAmYXVtbDsmYXVtbDt0dGVlbiBwaXN0ZXR0JmF1bWw7IChlc2ltICZxdW90O2pwZyxnaWYsanBlZyZxdW90OykgdiZhdW1sO2xpbHkmb3VtbDtudGVqJmF1bWw7IGVpIGh1b21pb2lkYS4gSiZhdW1sO3QmYXVtbDsgbGlzdGEgdHloaiZhdW1sO2tzaSBzYWxsaWFrc2VzaSBrYWlra2kgcCZhdW1sOyZhdW1sO3R0ZWV0JzsKJGxhbmdbJ3RpdGxlX3Nob3dfbGltaXRhdGlvbnMnXSA9ICdOJmF1bWw7eXQmYXVtbDsgcmFqb2l0dWtzZXQ/JzsKJGxhbmdbJ3RpdGxlX3Nob3dfbGltaXRhdGlvbnNfbG9uZyddID0gJ04mYXVtbDt5dCZhdW1sOyBrYWlra2kga29rbyBqYSBwJmF1bWw7JmF1bWw7dGUgcmFqb2l0dWtzZXQgdGllZG9zdG9uIGxhdGF1cyBrZW50JmF1bWw7c3MmYXVtbDs/JzsKJGxhbmdbJ3RpdGxlX2NhbGxiYWNrX21vZHVsZSddID0gJ0NhbGxiYWNrIE1vZHVsZSc7CiRsYW5nWyd0aXRsZV9jYWxsYmFja19tZXRob2QnXSA9ICdDYWxsYmFjayBNZXRob2QnOwokbGFuZ1sndGl0bGVfY2FsbGJhY2tfZmllbGRzJ10gPSAnUmVzdWx0IEZpZWxkcyB0byBJbmNsdWRlJzsKJGxhbmdbJ3RpdGxlX2NhbGxiYWNrX2hlbHAnXSA9ICdBcHVhJzsKJGxhbmdbJ3RpdGxlX2lkX2FuZF9uYW1lJ10gPSAnSyZhdW1sO3l0JmF1bWw7IGlkIGphIG5hbWUgYXR0cmlidXV0dGlhIENTUyBrZW50aXNzJmF1bWw7JzsKJGxhbmdbJ3RpdGxlX2RhdGVfZm9ybWF0J10gPSAnUCZhdW1sO2l2JmF1bWw7bSZhdW1sOyZhdW1sO3ImYXVtbDtuIG11b3RvaWx1ICh2YWtpbyA8YSBocmVmPSZxdW90O2h0dHA6Ly9maS5waHAubmV0L21hbnVhbC9lbi9mdW5jdGlvbi5kYXRlLnBocCZxdW90Oz5QSFA6biBEYXRlIGZ1bmt0aW88L2E+KSc7CiRsYW5nWyd0aXRsZV9zdGF0aWNfdGV4dCddID0gJ1N0YWF0dGluZW4gdGVrc3RpIChtYWtzaW1pc3NhYW4gMjU1IG1lcmtraSZhdW1sOyknOwokbGFuZ1sndGl0bGVfY2FsbGJhY2tfaGVscGxvbmcnXSA9ICc8cD5Zb3Ugc3BlY2lmeSBhIG1vZHVsZSBhbmQgbWV0aG9kLiBUaGlzIG1ldGhvZCBzaWduYXR1cmUgc2hvdWxkIGJlOjwvcD48YnIgLz4NCmZ1bmN0aW9uIHdoYXRldmVyKCRpZCwgJmFtcDskcGFyYW1zLCAkcmV0dXJuaWQsICZhbXA7JGNtcyk8YnIgLz48YnIgLz4NCjxwPlRoaXMgZnVuY3Rpb24gc2hvdWxkIG91dHB1dCBzb21ldGhpbmcgdGhhdCBtYWtlcyBzZW5zZSBpbiBhIGZvcm0sIDxpPmUuZy48L2k+IHByb2JhYmx5IGhpZGRlbiBmaWVsZHMgY29udGFpbmluZw0KdXNlZnVsIGluZm9ybWF0aW9uLjwvcD4NCjxwPlRoZSAmcXVvdDtmaWVsZHMmcXVvdDsgZmllbGQgc2hvdWxkIGNvbnRhaW4gYSBjb21tYS1kZWxpbWl0ZWQgbGlzdCBvZiB0aGUgZmllbGRzIGdlbmVyYXRlZCBieSB0aGF0IG1ldGhvZC48L3A+DQo8cD5FeGFtcGxlOiBJIGhhdmUgYSBtb2R1bGUgJnF1b3Q7VXNlcklEJnF1b3Q7IHdoaWNoIGhhcyBhIG1ldGhvZCAmcXVvdDtMb2dnZWRJblVzZXImcXVvdDsuIFRoaXMgbWV0aG9kIGNyZWF0ZXMgdHdvIGhpZGRlbiBmaWVsZHMNCmNhbGxlZCAmcXVvdDtmaXJzdF9uYW1lJnF1b3Q7IGFuZCAmcXVvdDtsYXN0X25hbWUmcXVvdDsgd2hpY2ggSSB3YW50IGluY2x1ZGVkIGluIG15IGZvcm0gc3VibWlzc2lvbi4gSSB3b3VsZCB0aGVuIGVudGVyIHRoZSBmb2xsb3dpbmc6PC9wPg0KbW9kdWxlOiBVc2VySUQ8YnIgLz4NCm1ldGhvZDogTG9nZ2VkSW5Vc2VyPGJyIC8+DQpmaWVsZHM6IGZpcnN0X25hbWUsbGFzdF9uYW1lPC9icj4NCic7CiRsYW5nWydhZG1pbmRlc2MnXSA9ICdMaXMmYXVtbDsmYXVtbDssIG11b2trYWEgamEgaGFsbGl0c2UgZm9ybWVqYSc7CiRsYW5nWydkYXRlX2FfamFuJ10gPSAnVGFtbWknOwokbGFuZ1snZGF0ZV9hX2ZlYiddID0gJ0hlbG1pJzsKJGxhbmdbJ2RhdGVfYV9tYXInXSA9ICdNYWFsaXMnOwokbGFuZ1snZGF0ZV9hX2FwciddID0gJ0h1aHRpJzsKJGxhbmdbJ2RhdGVfYV9tYXknXSA9ICdUb3Vrbyc7CiRsYW5nWydkYXRlX2FfanVuJ10gPSAnS2VzJmF1bWw7JzsKJGxhbmdbJ2RhdGVfYV9qdWwnXSA9ICdIZWluJmF1bWw7JzsKJGxhbmdbJ2RhdGVfYV9hdWcnXSA9ICdFbG8nOwokbGFuZ1snZGF0ZV9hX3NlcCddID0gJ1N5eXMnOwokbGFuZ1snZGF0ZV9hX29jdCddID0gJ0xva2EnOwokbGFuZ1snZGF0ZV9hX25vdiddID0gJ01hcnJhcyc7CiRsYW5nWydkYXRlX2FfZGVjJ10gPSAnSm91bHUnOwokbGFuZ1snZGF0ZV9qYW51YXJ5J10gPSAnVGFtbWlrdXUnOwokbGFuZ1snZGF0ZV9mZWJydWFyeSddID0gJ0hlbG1pa3V1JzsKJGxhbmdbJ2RhdGVfbWFyY2gnXSA9ICdNYWFsaXNrdXUnOwokbGFuZ1snZGF0ZV9hcHJpbCddID0gJ0h1aHRpa3V1JzsKJGxhbmdbJ2RhdGVfbWF5J10gPSAnVG91a29rdXUnOwokbGFuZ1snZGF0ZV9qdW5lJ10gPSAnS2VzJmF1bWw7a3V1JzsKJGxhbmdbJ2RhdGVfanVseSddID0gJ0hlaW4mYXVtbDtrdXUnOwokbGFuZ1snZGF0ZV9hdWd1c3QnXSA9ICdFbG9rdXUnOwokbGFuZ1snZGF0ZV9zZXB0ZW1iZXInXSA9ICdTeXlza3V1JzsKJGxhbmdbJ2RhdGVfb2N0b2JlciddID0gJ0xva2FrdXUnOwokbGFuZ1snZGF0ZV9ub3ZlbWJlciddID0gJ01hcnJhc2t1dSc7CiRsYW5nWydkYXRlX2RlY2VtYmVyJ10gPSAnSm91bHVrdXUnOwokbGFuZ1snbW9udGgnXSA9ICdLdXVrYXVzaSc7CiRsYW5nWydkYXknXSA9ICdQJmF1bWw7aXYmYXVtbDsnOwokbGFuZ1sneWVhciddID0gJ1Z1b3NpJzsKJGxhbmdbJ3N1Ym1pc3Npb25fdGl0bGUnXSA9ICdGb3JtaW4gbCZhdW1sO2hldHlzJzsKJGxhbmdbJ3N1Ym1pc3Npb25faG9zdCddID0gJ0hvc3QnOwokbGFuZ1snc3VibWlzc2lvbl9mb3JtX25hbWUnXSA9ICdGb3JtaSc7CiRsYW5nWydzdWJtaXNzaW9uX2RhdGUnXSA9ICdQJmF1bWw7aXYmYXVtbDttJmF1bWw7JmF1bWw7ciZhdW1sOyc7CiRsYW5nWydzdWJtaXNzaW9uX3NvdXJjZSddID0gJ0wmYXVtbDtoZGUnOwokbGFuZ1snc3VibWlzc2lvbl9zdWJqZWN0J10gPSAnRm9ybWluIGsmYXVtbDtoZXR5cyc7CiRsYW5nWydzdWJtaXNzaW9uX2Vycm9yJ10gPSAnTCZhdW1sO2hldHlrc2VzcyZhdW1sOyB0YXBhaHR1aSB2aXJoZSwgb2xlIGh5diZhdW1sOyBqYSB5cml0JmF1bWw7IHV1ZGVsbGVlbiBteW9oZW1taW4uJzsKJGxhbmdbJ3N1Ym1pc3Npb25fZXJyb3JfZmlsZSddID0gJ1ZpcmhlLiBFaSB2b2kga2lyam9pdHRhYSB0aWVkb3N0b29uJzsKJGxhbmdbJ3Bvc3RfaW5zdGFsbCddID0gJzxwPk1ha2Ugc3VyZSB0byBzZXQgdGhlICZxdW90O01vZGlmeSBGZWVkYmFjayBGb3JtcyZxdW90OyBwZXJtaXNzaW9ucw0Kb24gdXNlcnMgd2hvIHdpbGwgYmUgYWRtaW5pc3RlcmluZyBmZWVkYmFjayBmb3Jtcy4gQWxzbywgaWYgeW91JiMwMzk7bGwgYmUgZW1haWxpbmcgZm9ybQ0KcmVzdWx0cywgYmUgc3VyZSB0byB1cGRhdGUgdGhlIENvbmZpZ3VyYXRpb24gYXBwcm9wcmlhdGVseS48L3A+DQo8cD5QbGVhc2UgYmUgYXdhcmUgdGhhdCBhIGZlZWRiYWNrIGZvcm0gc2hvdWxkIG5vdCBiZSBhY3RpdmUgKGUuZy4sIHVzYWJsZSBieSB0aGUgcHVibGljKSB3aGlsZQ0KeW91IGFyZSBzdGlsbCBlZGl0aW5nIHRoZSBmb3JtLiBZb3Ugc2hvdWxkIGNyZWF0ZSB0aGUgZm9ybSwgYW5kIHBsYWNlIHRoZSB0YWcgaW50byBhbiBhY3RpdmUNCmNvbnRlbnQgcGFnZSBvbmx5IHdoZW4geW91IGhhdmUgZmluaXNoZWQgZWRpdGluZy4gT3RoZXJ3aXNlLCBlcnJvbmVvdXMgcmVzdWx0cyBjb3VsZCBiZSByZXR1cm5lZC48L3A+DQo8cD5BZGRpdGlvbmFsbHksIHRoaXMgdmVyc2lvbiBkb2VzIG5vdCBzdXBwb3J0IHBhcmFsbGVsIGVkaXRpbmcgb2YgZm9ybXMuIFBsZWFzZSB0YWtlIGNhcmUgdGhhdA0Kb25seSBvbmUgYWRtaW4gaXMgZWRpdGluZyBhIGdpdmVuIGZvcm0gYXQgYSBnaXZlbiB0aW1lLjwvcD4nOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPg0KPHA+VGhlIEZlZWRiYWNrRm9ybSBNb2R1bGUgYWxsb3dzIHlvdSB0byBjcmVhdGUgZm9ybXMgZm9yIHVzZXIgZmVlZGJhY2suIFRoZXNlIGZvcm1zIG1heSBiZSBpbnNlcnRlZA0KaW50byB0ZW1wbGF0ZXMgYW5kL29yIGNvbnRlbnQgcGFnZXMuIEZlZWRiYWNrIGZvcm1zIG1heSBjb250YWluIG1hbnkga2luZHMgb2YgaW5wdXRzLCBhbmQgbWF5IGhhdmUNCnZhbGlkYXRpb24gYXBwbGllZCB0byB0aGVzZSBpbnB1dHMuIFRoZSByZXN1bHRzIG9mIHRoZXNlIGZvcm1zIG1heSBiZSBoYW5kbGVkIGluIGEgdmFyaWV0eSBvZiB3YXlzLjwvcD4NCg0KPGgzPkhvdyBEbyBJIFVzZSBpdD88L2gzPg0KPFA+SW5zdGFsbCBpdCwgYW5kIHBva2UgYXJvdW5kIHRoZSBtZW51cy4gUGxheSB3aXRoIGl0LiBUcnkgY3JlYXRpbmcgZm9ybXMsIGFuZCBhZGRpbmcgdGhlbSB0byB5b3VyIGNvbnRlbnQuDQpJZiB5b3UgZ2V0IHN0dWNrLCBjaGF0IHdpdGggbWUgb24gdGhlICNjbXMgSVJDIGNoYW5uZWwsIHBvc3QgdG8gdGhlIGZvcnVtLCBzZW5kIG1lIGVtYWlsLCBvciwgaWYgeW91JiMwMzk7cmUNCnJlYWxseSBkZXNwZXJhdGUsIHJlYWQgdGhlIHJlc3Qgb2YgdGhpcyBwYWdlLjwvUD4NCg0KPGgzPkhvdyBEbyBJIENyZWF0ZSBhIEZvcm08L2gzPg0KPHA+SW4gdGhlIENNUyBBZG1pbiBNZW51LCB5b3Ugc2hvdWxkIGdldCBhIG5ldyBtZW51IGl0ZW0gY2FsbGVkIEZlZWRiYWNrRm9ybS4gQ2xpY2sgb24gdGhpcy4gT24gdGhlIHBhZ2UNCnRoYXQgZ2V0cyBzaG93biwgdGhlcmUgYXJlIG9wdGlvbnMgKGF0IHRoZSBib3R0b20gb2YgdGhlIGxpc3Qgb2YgRm9ybXMpIHRvIEFkZCBhIE5ldyBGb3JtIG9yIE1vZGlmeQ0KQ29uZmlndXJhdGlvbi48L3A+DQoNCjxoMz5BZGRpbmcgYSBGb3JtIHRvIGEgUGFnZTwvaDM+DQo8cD5JbiB0aGUgbWFpbiBGZWVkYmFja0Zvcm0gYWRtaW4gcGFnZSwgeW91IGNhbiBzZWUgYW4gZXhhbXBsZSBvZiB0aGUgdGFnIHVzZWQgdG8gZGlzcGxheSBlYWNoIGZvcm0uIEl0IGxvb2tzDQpzb21ldGhpbmcgbGlrZSB7Y21zX21vZHVsZSBtb2R1bGU9JnF1b3Q7RmVlZGJhY2tGb3JtJnF1b3Q7IGZvcm09JnF1b3Q7ZmVlZGJhY2tfZm9ybV9leGFtcGxlJnF1b3Q7fTwvcD4NCjxwPkJ5IGNvcHlpbmcgdGhpcyB0YWcgaW50byB0aGUgY29udGVudCBvZiBhIHBhZ2UsIG9yIGludG8gYSB0ZW1wbGF0ZSwgd2lsbCBjYXVzZSB0aGF0IGZvcm0gdG8gYmUgZGlzcGxheWVkLg0KSW4gdGhlb3J5LCB5b3UgY2FuIGhhdmUgbXVsdGlwbGUgZm9ybXMgb24gYSBwYWdlIGlmIHlvdSByZWFsbHkgd2FudCB0by4gQmUgY2FyZWZ1bCB3aGVuIHBhc3RpbmcgdGhlIHRhZw0KaW50byBhIHBhZ2UmIzAzOTtzIGNvbnRlbnQgaWYgeW91IHVzZSBhIFdZU0lXWUcgZWRpdG9yIHN1Y2ggYXMgVGlueU1DRSBvciBIVE1MQXJlYS4gVGhlc2UgZWRpdG9ycyBtYXkgc3RlYWx0aGlseQ0KY2hhbmdlIHRoZSBxdW90ZSBtYXJrcyAoJnF1b3Q7KSBpbnRvIEhUTUwgZW50aXRpZXMgKCZhbXA7cXVvdDspLCBhbmQgdGhlIGZvcm1zIHdpbGwgbm90IHNob3cgdXAuIFRyeSB1c2luZw0Kc2luZ2xlIHF1b3RlcyAoJiMwMzk7KSBvciBlZGl0aW5nIHRoZSBIVE1MIGRpcmVjdGx5Lg0KDQo8aDM+QWRkaW5nIEZpZWxkcyB0byBhIEZvcm08L2gzPg0KPHA+QnkgY2xpY2tpbmcgb24gYSBGb3JtJiMwMzk7cyBuYW1lLCB5b3UgZW50ZXIgdGhlIEZvcm0gRWRpdCBwYWdlLiBZb3Ugd2lsbCBzZWUgYSBudW1iZXIgb2Ygb3B0aW9ucyBmb3IgdGhlIGZvcm0NCihsaWtlIHdoYXQgeW91IHdhbnQgdGhlIHRleHQgb2YgdGhlIHN1Ym1pdCBidXR0b24gdG8gc2F5LCB3aGF0IG1lc3NhZ2Ugc2hvdWxkIGJlIGRpc3BsYXllZCB0byB0aGUgdXNlciB3aGVuDQp0aGV5IHN1Ym1pdCB0aGUgZm9ybSwgZXRjKS4gVGhlcmUgaXMgYWxzbyBhIGxpc3Qgb2YgZmllbGRzIHRoYXQgbWFrZSB1cCB0aGUgZm9ybS4gVGhlIHR5cGVzIG9mIGZpZWxkcyB0aGF0DQphcmUgY3VycmVudGx5IHN1cHBvcnRlZCBmaXQgaW50byBmb3VyIGdyb3Vwczogc3RhbmRhcmQgaW5wdXQgZmllbGRzLCBkaXNwbGF5IGNvbnRyb2wgZmllbGRzLCBlbWFpbC1vbmx5IGlucHV0DQpmaWVsZHMsIGFuZCBmb3JtIHJlc3VsdCBoYW5kbGluZyBmaWVsZHMgKGFsc28NCmNhbGxlZCBGb3JtIERpc3Bvc2l0aW9ucyBpbiBwbGFjZXMpOjwvcD4NCjx1bD4NCjxsaT5TdGFuZGFyZCBJbnB1dCBGaWVsZHMgLSB0aGVzZSBhcmUgaW5wdXRzIHRoYXQgYWxsb3cgZW50cnkgb2YgdHlwaWNhbCBmb3JtIGVsZW1lbnRzLjwvbGk+DQo8bGk+RGlzcGxheSBDb250cm9sIEZpZWxkcyAtIHRoZXNlIGlucHV0IGNvbnRyb2wgaG93IHRoZSB1c2VyIHdpbGwgc2VlIHRoZSBkaXNwbGF5IG9mIHRoZSBmb3JtLjwvbGk+DQo8bGk+RW1haWwtb25seSBJbnB1dCBGaWVsZHMgLSB0aGVzZSBhcmUgaW5wdXRzIHRoYXQgYWxsb3cgZW50cnkgb2YgdHlwaWNhbCBmb3JtIGVsZW1lbnRzLCBidXQgYXBwbHkgb25seQ0KZm9yIGZvcm0gZGlzcG9zaXRpb25zIHRoYXQgc2VuZCB0aGUgcmVzdWx0cyB2aWEgZW1haWwuPC9saT4NCjxsaT5TcGVjaWFsIFB1cnBvc2UgRmllbGRzIC0gdGhlc2UgaW5wdXRzIGFyZSB1c2VkIGZvciBpbnRlcmZhY2luZyBwcm9ncmFtbWF0aWNhbGx5IHdpdGggb3RoZXIgbW9kdWxlcy48L2xpPg0KPGxpPkZvcm0gRGlzcG9zaXRpb25zIC0gVGhlc2UgZGV0ZXJtaW5lIHdoYXQgaGFwcGVucyB3aGVuIHRoZSB1c2VyDQpzdWJtaXRzIHRoZSBmb3JtOyBmb3IgZWFjaCByZXN1bHQgaGFuZGxpbmcgZmllbGQsIHNvbWUgbWV0aG9kIG9mIHRyYW5zbWl0dGluZywgc2F2aW5nLCBvciBlbWFpbGluZyB0aGUNCmZvcm0gY29udGVudHMgdGFrZXMgcGxhY2UuIEEgZm9ybSBtYXkgaGF2ZSBtdWx0aXBsZSBmb3JtIGRpc3Bvc2l0aW9ucy48L2xpPg0KPC91bD4NCjxwPkZvcm0gZmllbGRzIGFyZSBhc3NpZ25lZCBuYW1lcy4gVGhlc2UgbmFtZXMgaWRlbnRpZnkgdGhlIGZpZWxkLCBub3Qgb25seSBvbiB0aGUgc2NyZWVuIGFzIGxhYmVscyBmb3IgdGhlIHVzZXIsDQpidXQgaW4gdGhlIGRhdGEgd2hlbiBpdCYjMDM5O3Mgc3VibWl0dGVkIHNvIHlvdSBrbm93IHdoYXQgdGhlIHVzZXIgaXMgcmVzcG9uZGluZyB0by4gUGhyYXNpbmcgdGhlIG5hbWUgbGlrZSBhIHF1ZXN0aW9uDQppcyBhIGhhbmR5IHdheSBvZiBtYWtpbmcgaXQgY2xlYXIgdG8gdGhlIHVzZXIgd2hhdCBpcyBleHBlY3RlZC4gU2ltaWxhcmx5LCBzb21lIGZpZWxkcyBoYXZlIGJvdGggTmFtZXMgYW5kIFZhbHVlcy4NClRoZSBOYW1lcyBhcmUgd2hhdCBnZXRzIHNob3duIHRvIHRoZSB1c2VyOyB0aGUgVmFsdWUgaXMgd2hhdCBnZXRzIHNhdmVkIG9yIHRyYW5zbWl0dGVkIHdoZW4gdGhlIHVzZXIgc3VibWl0cw0KdGhlIGZvcm0uIFRoZSBWYWx1ZXMgYXJlIG5ldmVyIHNlZW4gYnkgdGhlIHVzZXIsIG5vciBhcmUgdGhleSB2aXNpYmxlIGluIHRoZSBIVE1MLCBzbyBpdCYjMDM5O3Mgc2FmZSB0byB1c2UgZm9yDQplbWFpbCBhZGRyZXNzZXMgYW5kIHN1Y2guPC9wPg0KPHA+U29tZSBmaWVsZHMgY2FuIGhhdmUgbXVsdGlwbGUgdmFsdWVzLCBvciBtdWx0aXBsZSBuYW1lL3ZhbHVlIHBhaXJzLiBXaGVuIHlvdSBmaXJzdCBjcmVhdGUgc3VjaCBhIGZpZWxkLA0KdGhlcmUgbWF5IG5vdCBiZSBzdWZmaWNpZW50IGlucHV0cyBmb3IgeW91IHRvIHNwZWNpZnkgYWxsIHRoZSB2YWx1ZXMgeW91IHdhbnQuIFRvIGdldCBtb3JlIHNwYWNlIGZvciBpbnB1dHRpbmcNCnRoZXNlIHZhbHVlcywgc2ltcGx5IHNhdmUgdGhlIGZpZWxkLCBhbmQgdGhlbiBjbGljayBvbiBpdHMgbmFtZSB0byBlZGl0IGl0IGFnYWluLiBFdmVyeSB0aW1lIHlvdSBlZGl0IHN1Y2ggYQ0KZmllbGQsIHlvdSB3aWxsIHJlY2VpdmUgbW9yZSBpbnB1dHMuPC9wPg0KPHA+RmllbGRzIGNhbiBiZSBhc3NpZ25lZCB2YWxpZGF0aW9uIHJ1bGVzLCB3aGljaCB2YXJ5IGFjY29yZGluZyB0byB0aGUgdHlwZSBvZiB0aGUgZmllbGQuIFRoZXNlIHJ1bGVzIGhlbHANCmVuc3VyZSB0aGF0IHRoZSB1c2VyIGVudGVycyB2YWxpZCBkYXRhLiBUaGV5IG1heSBhbHNvIGJlDQpzZXBhcmF0ZWx5IG1hcmtlZCAmcXVvdDtSZXF1aXJlZCZxdW90Oywgd2hpY2ggd2lsbCBmb3JjZSB0aGUgdXNlciB0byBlbnRlciBhIHJlc3BvbnNlLjwvcD4NCjxwPkZpZWxkcyBhbHNvIG1heSBiZSBhc3NpZ25lZCBhIENTUyBjbGFzcy4gVGhpcyBzaW1wbHkgd3JhcHMgdGhlIGlucHV0IGluIGEgZGl2IHdpdGggdGhhdCBjbGFzcywgc28gYXMgdG8gYWxsb3cNCmN1c3RvbWl6ZWQgbGF5b3V0cy4gVG8gdXNlIHRoaXMgZWZmZWN0aXZlbHksIHlvdSBtYXkgbmVlZCB0byAmcXVvdDt2aWV3IHNvdXJjZSZxdW90OyBvbiB0aGUgZ2VuZXJhdGVkIGZvcm0sIGFuZCB0aGVuDQp3cml0ZSB5b3VyIENTUy48L3A+DQo8dWw+DQo8bGk+U3RhbmRhcmQgSW5wdXRzDQo8dWw+PGxpPlRleHQgSW5wdXQuIFRoaXMgaXMgYSBzdGFuZGFyZCB0ZXh0IGZpZWxkLiBZb3UgY2FuIGxpbWl0IHRoZSBsZW5ndGgsIGFuZCBhcHBseSB2YXJpb3VzIHZhbGlkYXRpb24NCmZ1bmN0aW9ucyB0byB0aGUgZmllbGQuPC9saT4NCjxsaT5UZXh0IEFyZWEuIFRoaXMgaXMgYSBiaWcsIGZyZWUtZm9ybSB0ZXh0IGlucHV0IGZpZWxkLjwvbGk+DQo8bGk+Q2hlY2tib3guIFRoaXMgaXMgYSBzdGFuZGFyZCBjaGVjayBib3guIElmIHlvdSB0dXJuIG9uIHZhbGlkYXRpb24sIHlvdSBjYW4gcmVxdWlyZSB0aGF0IHRoZSB1c2VyIGNoZWNrcw0KdGhlIGJveC4gVGhpcyBpcyB1c2VmdWwgZm9yIGZvcm1zIHdoZXJlIHRoZSB1c2VyIGlzIG9ibGlnYXRlZCB0byBhZ3JlZSB0byBzb21ldGhpbmcgaW4gb3JkZXIgdG8gc3VibWl0DQp0aGUgZm9ybS48L2xpPg0KPGxpPkNoZWNrYm94IEdyb3VwLiBUaGlzIGlzIGEgY29sbGVjdGlvbiBvZiBjaGVja2JveGVzLiBUaGUgb25seSBkaWZmZXJlbmNlIGJldHdlZW4gdGhpcyBpbnB1dCBhbmQgYQ0KY29sbGVjdGlvbiBvZiBDaGVja2JveCBpbnB1dHMgaXMgdGhhdCB0aGV5IGFyZSBwcmVzZW50ZWQgYXMgYSBncm91cCwgd2l0aCBvbmUgbmFtZSwgYW5kIGNhbiBoYXZlIGEgdmFsaWRhdGlvbg0KZnVuY3Rpb24gcmVxdWlyaW5nIHRoYXQgeW91IGNoZWNrIG9uZSBvciBtb3JlIG9mIHRoZSBib3hlcyBpbiB0aGUgZ3JvdXAuPC9saT4NCjxsaT5SYWRpbyBHcm91cC4gVGhpcyBpcyBhIGNvbGxlY3Rpb24gb2YgcmFkaW8gYnV0dG9ucy4gT25seSBvbmUgb2YgdGhlIGdyb3VwIG1heSBiZSBzZWxlY3RlZCBieSB0aGUgdXNlci48L2xpPg0KPGxpPlB1bGxkb3duLiBUaGlzIGlzIGEgc3RhbmRhcmQgcHVsbGRvd24gbWVudS4gSXQmIzAzOTtzIHJlYWxseSBjb25jZXB0dWFsbHkgdGhlIHNhbWUgdGhpbmcgYXMgYSByYWRpbyBidXR0b24NCmdyb3VwLCBidXQgaXMgYmV0dGVyIHdoZW4gdGhlcmUgYXJlIGEgbGFyZ2UgbnVtYmVyIG9mIG9wdGlvbnMuPC9saT4NCjxsaT5TdGF0ZS4gVGhpcyBpcyBhIHB1bGxkb3duIGxpc3RpbmcgdGhlIFN0YXRlcyBvZiB0aGUgVS5TLjwvbGk+DQo8bGk+Q291bnRyaWVzLiBUaGlzIGlzIGEgcHVsbGRvd24gbGlzdGluZyB0aGUgQ291bnRyaWVzIG9mIHRoZSB3b3JsZCAoYXMgb2YgSnVseSAyMDA1KS48L2xpPg0KPGxpPkRhdGUgUGlja2VyLiBUaGlzIGlzIGEgdHJpcGxlIHB1bGxkb3duIGFsbG93aW5nIHRoZSB1c2VyIHRvIHNlbGVjdCBhIGRhdGUuPC9saT4NCjwvdWw+PC9saT4NCg0KPGxpPkVtYWlsLW9ubHkgSW5wdXRzDQo8dWw+PGxpPkZpbGUgVXBsb2FkLiBUaGlzIGFsbG93cyBhIHVzZXIgdG8gdXBsb2FkIGEgZmlsZSwgd2hpY2ggd2lsbCBiZSBpbmNsdWRlZCBhcyBhbiBhdHRhY2htZW50IHRvIGFueSBlbWFpbA0KZGlzcG9zaXRpb24uIEZpbGUgdXBsb2FkcyBkbyBub3QgY3VycmVudGx5IHdvcmsgd2l0aCB0aGUgRmxhdCBGaWxlIGRpc3Bvc2l0aW9uIG1ldGhvZC48L2xpPg0KPGxpPkVtYWlsIEZyb20gRmllbGQuIFRoaXMgYWxsb3dzIHVzZXJzIHRvIHByb3ZpZGUgdGhlaXIgbmFtZSBhbmQgZW1haWwgYWRkcmVzcy4gVGhlIGVtYWlsIGdlbmVyYXRlZCB3aGVuIHRoZQ0KZm9ybSBnZXRzIGhhbmRsZWQgd2lsbCB1c2UgdGhpcyBuYW1lIGFuZCBhZGRyZXNzIGluIHRoZSAmcXVvdDtGcm9tJnF1b3Q7IGZpZWxkLjwvbGk+DQo8L3VsPjwvbGk+DQoNCjxsaT5EaXNwbGF5IENvbnRyb2wgRmllbGRzPHVsPg0KPGxpPlBhZ2UgQnJlYWsuIFRoaXMgYWxsb3dzIHlvdSB0byBzcGxpdCB5b3VyIGZlZWRiYWNrIGZvcm0gaW50byBtdWx0aXBsZSBwYWdlcy4gRWFjaCBwYWdlIGlzDQppbmRlcGVuZGVudGx5IHZhbGlkYXRlZC4gVGhpcyBpcyBnb29kIGZvciBhcHBsaWNhdGlvbnMgbGlrZSBvbmxpbmUgc3VydmV5cy48L2xpPg0KPGxpPlN0YXRpYyBUZXh0LiBUaGlzIGFsbG93cyB5b3UgdG8gcGxhY2UgdGV4dCBpbiB5b3VyIGZvcm0uIEl0JiMwMzk7cyBjYWxsZWQgYW4gaW5wdXQsIGJ1dCBpdCYjMDM5O3MgZGlzcGxheSBvbmx5LiBUaGlzIGlzIHVzZWZ1bCBmb3IgcHJlc2VudGluZyBpbnN0cnVjdGlvbnMsIGhlbHAsIGV0Yy48L2xpPg0KPC91bD48L2xpPg0KDQo8bGk+U3BlY2lhbCBQdXJwb3NlIEZpZWxkczx1bD4NCjxsaT5GdW5jdGlvbiBDYWxsYmFjayAmcXVvdDtJbnB1dCZxdW90Oy4gVGhpcyBhbGxvd3MgcHJvZ3JhbW1lcnMgdG8gYWNjZXNzIGluZm9ybWF0aW9uIGZyb20gb3RoZXIgbW9kdWxlcyAoc3VjaCBhcyBnZXR0aW5nIHVzZXIgbmFtZSBkYXRhIGZyb20gYSB1c2VyIGF1dGhlbnRpY2F0aW9uIG1vZHVsZSkuPC9saT48L3VsPjwvbGk+DQoNCjxsaT5Gb3JtIEhhbmRsaW5nIElucHV0cyAoRGlzcG9zaXRpb25zKQ0KPHVsPjxsaT5FbWFpbCBSZXN1bHRzIEJhc2VkIG9uIFB1bGxkb3duLiBUaGlzIGlzIHVzZWZ1bCBmb3Igd2ViIHNpdGVzIHdoZXJlIGNvbW1lbnRzIGdldCByb3V0ZWQgYmFzZWQgb24NCnRoZWlyIHN1YmplY3QgbWF0dGVyLCBlLmcuLCBidWdzIGdldCBzZW50IHRvIG9uZSBwZXJzb24sIG1hcmtldGluZyBxdWVzdGlvbnMgdG8gYW5vdGhlciBwZXJzb24sIHNhbGVzIHJlcXVlc3RzDQp0byBzb21lb25lIGVsc2UsIGV0Yy4gVGhlIHB1bGxkb3duIGlzIHBvcHVsYXRlZCB3aXRoIHRoZSBzdWJqZWN0cywgYW5kIGVhY2ggZ2V0cyBkaXJlY3RlZCB0byBhIHNwZWNpZmljIGVtYWlsDQphZGRyZXNzLiBZb3Ugc2V0IHVwIHRoZXNlIG1hcHBpbmdzIGluIHRoZSB3aGVuIHlvdSBjcmVhdGUgb3IgZWRpdCBhIGZpZWxkIG9mIHRoaXMgdHlwZS4gSWYgeW91IHVzZSBvbmUgb2YNCnRoZXNlICZxdW90O0RpcmVjdG9yJnF1b3Q7IHB1bGxkb3ducywgdGhlIHVzZXIgbXVzdCBtYWtlIGEgc2VsZWN0aW9uIGluIG9yZGVyIHRvIHN1Ym1pdCB0aGUNCmZvcm0uIFRoaXMgaW5wdXQgaXMgcGFydCBvZiB0aGUgZm9ybSB0aGUgdXNlciBzZWVzLCBhbHRob3VnaCB0aGUgZW1haWwgYWRkcmVzc2VzIGFyZSBub3QgbWFkZSB2aXNpYmxlIG5vcg0KYXJlIHRoZXkgZW1iZWRkZWQgaW4gdGhlIEhUTUwuPC9saT4NCjxsaT5FbWFpbCBSZXN1bHRzIHRvIHNldCBBZGRyZXNzKGVzKS4gVGhpcyBzaW1wbHkgc2VuZHMgdGhlIGZvcm0gcmVzdWx0cyB0byBvbmUgb3IgbW9yZSBlbWFpbCBhZGRyZXNzZXMgdGhhdA0KeW91IGVudGVyIHdoZW4geW91IGNyZWF0ZSBvciBlZGl0IHRoaXMgdHlwZSBvZiBmaWVsZC4gVGhpcyBmaWVsZCBhbmQgaXRzIG5hbWUgYXJlIG5vdCB2aXNpYmxlIGluIHRoZQ0KZm9ybSB0aGF0IHRoZSB1c2VyIHNlZXMuIFRoZSBlbWFpbCBhZGRyZXNzZXMgYXJlIG5vdCBtYWRlIHZpc2libGUgbm9yDQphcmUgdGhleSBlbWJlZGRlZCBpbiB0aGUgSFRNTC48L2xpPg0KPGxpPkVtYWlsIFJlc3VsdHMgdG8gVXNlci1TZWxlY3RlZCBTaXRlIFVzZXIuIFRoaXMgaW5wdXQgaXMgb3VyIGZpcnN0IGVuZC11c2VyIHN1Z2dlc3Rpb24hIEl0IGNyZWF0ZXMgYSANCnB1bGxkb3duIG9mIHVzZXJuYW1lcyBpbiB0aGUgZm9ybS4gVGhlIHVzZXJuYW1lcyBhcmUgb3RoZXIgdXNlcnMgd2hvIGFyZSByZWdpc3RlcmVkIHdpdGggdGhlIHNpdGUuDQpXaGVuIHRoZSBmb3JtIGlzIHN1Ym1pdHRlZCwgdGhlIGRhdGEgaXMgc2VudCB0byB0aGUgdXNlciB3aG9zZSBuYW1lIHdhcyBzZWxlY3RlZC4gV2hlbiB5b3UgY3JlYXRlDQphIGZpZWxkIG9mIHRoaXMgdHlwZSwgeW91IG1heSBzZWxlY3Qgc3BlY2lmaWMgZ3JvdXBzIGZyb20gd2hpY2ggdGhlIHVzZXJsaXN0IGlzIGNyZWF0ZWQuIFRoaXMgaW5wdXQgaXMNCnBhcnQgb2YgdGhlIGZvcm0gdGhlIHVzZXIgc2VlcywgYWx0aG91Z2ggdGhlIGVtYWlsIGFkZHJlc3NlcyBhcmUgbm90IG1hZGUgdmlzaWJsZSBub3IgYXJlIHRoZXkgZW1iZWRkZWQNCmluIHRoZSBIVE1MLjwvbGk+DQo8bGk+V3JpdGUgUmVzdWx0cyB0byBGbGF0IEZpbGUuIFRoaXMgdGFrZXMgdGhlIGZvcm0gcmVzdWx0cyBhbmQgd3JpdGVzIHRoZW0gaW50byBhIHRleHQgZmlsZS4gWW91IG1heQ0Kc2VsZWN0IHRoZSBuYW1lIG9mIHRoZSBmaWxlLCBhbmQgaXRzIGZvcm1hdC4gWW91IGNhbiBjaG9vc2UgZnJvbSAmcXVvdDtwYWdlJnF1b3Q7IGZvcm1hdCwgd2hpY2ggbG9va3MgbGlrZSB0aGUNCmVtYWlscyB0aGF0IGdldCBzZW50IGJ5IHRoZSBvdGhlciBoYW5kbGVycywgb3IgeW91IGNhbiBjaG9vc2UgYSB0YWItZGVsaW1pdGVkIGZvcm1hdCB1c2VmdWwgZm9yIHJlYWRpbmcNCmludG8gRXhjZWwgb3Igc2ltaWxhciBwcm9ncmFtcy4gSWYgeW91IGNob29zZSB0YWItZGVsaW1pdGVkLCB5b3UgY2FuIG9wdCB0byBoYXZlIHRoZSBmaWxlIHN0YXJ0IHdpdGgNCmEgaGVhZGVyIHJvdywgd2hpY2ggbmFtZXMgdGhlIGNvbHVtbnMuIFRoZXNlIGZpbGVzIGFyZSB3cml0dGVuIHRvIHRoZSAmcXVvdDtvdXRwdXQmcXVvdDsgZGlyZWN0b3J5IHVuZGVyIHRoZQ0KbW9kdWxlJiMwMzk7cyBpbnN0YWxsYXRpb24gZGlyZWN0b3J5Lg0KPC91bD48L2xpPjwvbGk+PC91bD4NCg0KPGgzPktub3duIElzc3VlczwvaDM+DQo8dWw+DQo8bGk+RmlsZSBVcGxvYWQgSW5wdXRzIG1heSBiZSB1c2VkIG9uIG11bHRpLXBhZ2UgZmVlZGJhY2sgZm9ybXMsIDxzdHJvbmc+YnV0IHRoZXkgbXVzdCBiZSBvbiB0aGUgbGFzdCBwYWdlPC9zdHJvbmc+IG9mDQp0aGUgZm9ybS48L2xpPg0KPGxpPkZpbGUgVXBsb2FkICZxdW90O21heGltdW0gc2l6ZSZxdW90OyBjYW5ub3QgYmUgbGFyZ2VyIHRoYW4gdGhlIHZhbHVlIHNldCBpbiB5b3VyIHBocC5pbmkgZmlsZS4gVGhpcyBpcyBub3QgYSBidWcgLS0gdGhpcyBpcyBhIGZlYXR1cmUuPC9saT4NCjxsaT5GaWxlIFVwbG9hZCAmcXVvdDttYXhpbXVtIHNpemUmcXVvdDsgdXNlcyB1bml0cyBjYWxsZWQgJnF1b3Q7a2lsb2J5dGVzJnF1b3Q7IHRoYXQgYXJlIDEwMDAgYnl0ZXMsIG5vdCAxMDI0IGJ5dGVzLjwvbGk+DQo8bGk+RmlsZSBVcGxvYWRzIGRvIG5vdCBjdXJyZW50bHkgd29yayB3aXRoIHRoZSBGbGF0IEZpbGUgZGlzcG9zaXRpb24gbWV0aG9kLjwvbGk+DQo8bGk+RmlsZSBVcGxvYWRzIGNvdWxkIGFsbG93IHVzZXJzIHRvIHN1Ym1pdCBvZmZlbnNpdmUsIG9ic2NlbmUsIG9yIGlsbGVnYWwgbWF0ZXJpYWwuIEl0IGNvdWxkIGFsc28gYmUgdXNlZCB0byB0cmFuc21pdA0KZGFuZ2Vyb3VzIGZpbGVzIHN1Y2ggYXMgdHJvamFuLWhvcnNlcywgdmlydXNlcywgb3Igb3RoZXIgc2VjdXJpdHkgdGhyZWF0cy4gVXNlIEZpbGUgVXBsb2FkcyB3aXRoIGNhdXRpb24gYW5kIGNvbW1vbiBzZW5zZS48L2xpPg0KPC91bD4NCg0KPGgzPlRyb3VibGVzaG9vdGluZzwvaDM+DQo8b2w+PGxpPiBGaXJzdCBzdGVwIGlzIHRvIGNoZWNrIHlvdSYjMDM5O3JlIHJ1bm5pbmcgQ01TIDAuMTAueCBvciBsYXRlci48L2xpPg0KPGxpPiBTZWNvbmQgc3RlcCBpcyB0byByZWFkIGFuZCB1bmRlcnN0YW5kIHRoZSBjYXZlYXQgYWJvdXQgV1lTSVdZRyBlZGl0b3JzIHVwIGluIHRoZQ0Kc2VjdGlvbiA8ZW0+QWRkaW5nIGEgRm9ybSB0byBhIFBhZ2U8L2VtPi48L2xpPg0KPGxpPiBKdXN0IG1lc3MgYXJvdW5kIGFuZCB0cnkgY2xpY2tpbmcgb24gbGlua3MgYW5kIGljb25zIGFuZCBzdHVmZi4gU2VlIHdoYXQgaGFwcGVucy48L2xpPg0KPGxpPiBMYXN0IHJlc3BvcnQgaXMgdG8gZW1haWwgbWUgb3IgY2F0Y2ggbWUgb24gSVJDIGFuZCB3ZSBjYW4gZ28gZnJvbSB0aGVyZS48L2xpPg0KPC9vbD4gDQo8cD5UaGlzIG1heSBubyBsb25nZXIgYmUgc3VjaCBhbiBlYXJseSB2ZXJzaW9uLCBidXQgaXQgaXMgcHJvYmFibHkgc3RpbGwgYnVnZ3kuIFdoaWxlIEkmIzAzOTt2ZSBkb25lIGFsbCBJIGNhbg0KdG8gbWFrZSBzdXJlIG5vIGVncmVnaW91cyBidWdzIGhhdmUgY3JlcHQgaW4sIEkgaGF2ZSB0byBhZG1pdCB0aGF0IGR1cmluZyB0ZXN0aW5nLCB0aGlzIHByb2dyYW0NCnJldmVhbGVkIHNldmVuIGNvY2tyb2FjaGVzLCB0d28gZWFyd2lncywgYSBzbWFsbCBmYW1pbHkgb2YgYXBoaWRzLCBhbmQgYSB3YWxraW5nLXN0aWNrIGluc2VjdC4gSXQgYWxzbw0KYXRlIHRoZSBuZWlnaGJvciYjMDM5O3MgbmFzdHkgbGl0dGxlIHlhcCBkb2csIGZvciB3aGljaCBJIHdhcyBpbmFwcHJvcHJpYXRlbHkgZ3JhdGVmdWwuPC9wPg0KPHA+VGhlIGZpbmFsIHJlbGVhc2Ugd2lsbCBpbmNsdWRlIGJ1ZyBmaXhlcywgZG9jdW1lbnRhdGlvbiwgYW5kIHVuY29uZGl0aW9uYWwgbG92ZS48L3A+DQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+DQo8dWw+DQo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCwgcGxlYXNlIHZpc2l0IHRoZSBDTVMgRGV2ZWxvcGVyIENlbnRlciBhdCA8YSBocmVmPSZxdW90O2h0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcmcXVvdDs+aHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZzwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9JnF1b3Q7aHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnJnF1b3Q7PkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+DQo8bGk+VGhlIGF1dGhvciwgU2pHLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9JnF1b3Q7aXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zJnF1b3Q7PkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4NCjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseS48L2xpPiAgDQo8L3VsPg0KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0DQpvZiB0aGUgbGljZW5zZSBmb3IgdGhlIGZ1bGwgZGlzY2xhaW1lci48L3A+DQoNCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA2LCBTYW11ZWwgR29sZHN0ZWluIDxhIGhyZWY9JnF1b3Q7bWFpbHRvOnNqZ0BjbXNtb2R1bGVzLmNvbSZxdW90Oz48c2pnQGNtc21vZHVsZXMuY29tPjwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPlRoaXMgbW9kdWxlIGhhcyBiZWVuIHJlbGVhc2VkIHVuZGVyIHRoZSA8YSBocmVmPSZxdW90O2h0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCZxdW90Oz5HTlUgUHVibGljIExpY2Vuc2U8L2E+LiBZb3UgbXVzdCBhZ3JlZSB0byB0aGlzIGxpY2Vuc2UgYmVmb3JlIHVzaW5nIHRoZSBtb2R1bGUuPC9wPg0KCQkNCic7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICcJCSAgICA8dWw+DQoJCSAgICA8bGk+VmVyc2lvbiAwLjkuMTEgLSA5IEZlYnJ1YXJ5IDIwMDYuIEJ1ZyBmaXhlcyBmb3IgdHJhY2tlciBidWdzICMyOTMsICMzMjksICMzMDQsICMzMzc8L2xpPg0KCQkgICAgPGxpPlZlcnNpb25zIDAuOS54IC0gT2N0b2JlciwgTm92ZW1iZXIgMjAwNS4gQ29udGludWluZyBidWcgZml4ZXMuPC9saT4NCgkJICAgIDxsaT5WZXJzaW9uIDAuOSAtICAyIE9jdG9iZXIgMjAwNS4gTWlncmF0ZWQgdG8gcHJvcGVyIE1vZHVsZSBBUEkgKGxhbmcsIHNtYXJ0eSB0ZW1wbGF0ZXMsIGV0Yy4pLjwvbGk+DQogICAgICAgICAgICA8bGk+VmVyc2lvbiAwLjggLSAzMSBKdWx5IDIwMDUuIEJ1ZyBmaXhlcywgYWRkZWQgRGF0ZSBhbmQgQ2FsbGJhY2sgRnVuY3Rpb24gaW5wdXQgdHlwZXMuPC9saT4NCiAgICAgICAgICAgIDxsaT5WZXJzaW9uIDAuNy4zIC0gMjEgSnVseSAyMDA1LiBCdWcgZml4ZXMsIGFkZGVkIFN0YXRlIGFuZCBDb3VudHJ5IGlucHV0IHR5cGVzLjwvbGk+DQogICAgICAgICAgICA8bGk+VmVyc2lvbiAwLjcuMiAtIDE4IEp1bHkgMjAwNS4gVmFsaWRhdGlvbiBidWcgZml4ZXMsIGZpeGVkIFBIUE1haWxlciBsb2NhbGl6YXRpb24uPC9saT4NCiAgICAgICAgICAgIDxsaT5WZXJzaW9uIDAuNy4xIC0gMSBKdW5lIDIwMDUuIE1pbm9yIGJ1ZyBmaXhlcy48L2xpPg0KICAgICAgICAgICAgPGxpPlZlcnNpb24gMC43IC0gMjQgTWF5IDIwMDUuIE1vcmUgYW5kIGJldHRlciBzdXBwb3J0IGZvciBDU1MgYW5kIHB1cmUgQ1NTIGxheW91dHMuDQogICAgICAgICAgICBTdXBwb3J0IGZvciBtdWx0aS1wYWdlIGZvcm1zLg0KICAgICAgICAgICAgTWFueSBuZXcgZm9ybSBvcHRpb25zLiBOZXcgZmllbGQgdHlwZXM6IGZpbGUgdXBsb2FkLCBlbWFpbCAmcXVvdDtmcm9tJnF1b3Q7IGFkZHJlc3MuIEltcHJvdmVkDQogICAgICAgICAgICBlcnJvciBoYW5kbGluZy4gRW1haWwgZGlzcG9zYWwgdHlwZXMgbm93IHRlbXBsYXRlZC48L2xpPg0KCQkJPGxpPlZlcnNpb24gMC42IC0gMTYgQXByIDIwMDUuIFVwZGF0ZWQgZm9yIG5ldyBBZG1pbiwgc2ltcGxpZmllZCBwZXJtaXNzaW9ucy48L2xpPg0KCQkgICAgPGxpPlZlcnNpb24gMC41IC0gNCBNYXIgMjAwNS4gTWlub3IgYnVnIGZpeGVzIGZvciBkZWxldGluZyBmb3Jtcy9maWVsZHMuPC9saT4NCgkJICAgIDxsaT5WZXJzaW9uIDAuNCAtIDIgTWFyIDIwMDUuIExvY2FsaXphdGlvbiBhbmQgbnVtZXJvdXMgYnVnIGZpeGVzLjwvbGk+DQoJCSAgICA8bGk+VmVyc2lvbiAwLjMgLSAyOCBGZWIgMjAwNS4gUHJpbWl0aXZlIGxvY2FsaXphdGlvbiBhbmQgYnVnIGZpeGVzLjwvbGk+DQoJCSAgICA8bGk+VmVyc2lvbiAwLjIgLSAyNCBGZWIgMjAwNS4gQ29udmVydGVkIHRvIHVzZSBPYmplY3RzLiBNYW55IGltcHJvdmVtZW50cyBhbmQgYnVnIGZpeGVzLjwvbGk+DQoJCQk8bGk+VmVyc2lvbiAwLjEgLSAxMSBGZWIgMjAwNS4gSW5pdGlhbCBSZWxlYXNlPC9saT48L3VsPg0KCQknOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4xNzc1NTYxMDA1LjExNDc3ODEyOTIuMTE1NDAyNTQ3NS4xMTU0MDMyMjI5LjE3JzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTE1MDAyNjkzMS4xMi42LnV0bWNjbj0ocmVmZXJyYWwpfHV0bWNzcj10c3cuYmFja3NwYWNlLmZpfHV0bWNjdD0vc3ZuMi9pbmRleC5waHB8dXRtY21kPXJlZmVycmFsJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/fr_FR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZpZWxkX3R5cGVfdGV4dF9pbnB1dCddID0gJ0NoYW1wIFRleHRlJzsKJGxhbmdbJ2ZpZWxkX3R5cGVfdGV4dF9hcmVhJ10gPSAnQ2hhbXAgdGV4dGFyZWEnOwokbGFuZ1snZmllbGRfdHlwZV9jaGVja2JveCddID0gJ0Nhc2UgJmFncmF2ZTsgY29jaGVyJzsKJGxhbmdbJ2ZpZWxkX3R5cGVfY2hlY2tib3hfZ3JvdXAnXSA9ICdHcm91cGUgZGUgY2FzZXMgJmFncmF2ZTsgY29jaGVyJzsKJGxhbmdbJ2ZpZWxkX3R5cGVfcHVsbGRvd24nXSA9ICdNZW51IGQmZWFjdXRlO3JvdWxhbnQnOwokbGFuZ1snZmllbGRfdHlwZV9zdGF0ZSddID0gJ0V0YXQgVVMnOwokbGFuZ1snZmllbGRfdHlwZV9jb3VudHJ5J10gPSAnUGF5cyc7CiRsYW5nWydmaWVsZF90eXBlX2RhdGUnXSA9ICdTJmVhY3V0ZTtsZWN0aW9ubmV1ciBkZSBkYXRlJzsKJGxhbmdbJ2ZpZWxkX3R5cGVfY2FsbGJhY2snXSA9ICdBcHBlbCBkZSBmb25jdGlvbiBkJiMwMzk7ZW50ciZlYWN1dGU7ZSc7CiRsYW5nWydmaWVsZF90eXBlX3JhZGlvX2dyb3VwJ10gPSAnR3JvdXBlIGRlIGJvdXRvbnMgcmFkaW8nOwokbGFuZ1snZmllbGRfdHlwZV9kaXNwb3NpdGlvbl9kaXJlY3RvciddID0gJypSJmVhY3V0ZTtzdWx0YXRzIGVtYWlsIGJhcyZlYWN1dGU7cyBzdXIgbGUgbWVudSBkJmVhY3V0ZTtyb3VsYW50JzsKJGxhbmdbJ2ZpZWxkX3R5cGVfZGlzcG9zaXRpb25fZW1haWwnXSA9ICcqUiZlYWN1dGU7c3VsdGF0cyBlbWFpbCBwb3VyIGQmZWFjdXRlO2ZpbmlyIGwmIzAzOTsoZXMpIGFkcmVzc2UocyknOwokbGFuZ1snZmllbGRfdHlwZV9kaXNwb3NpdGlvbl9lbWFpbF9zaXRlX3VzZXInXSA9ICcqUiZlYWN1dGU7c3VsdGF0cyBlbWFpbCBwb3VyIGwmIzAzOTt1dGlsaXNhdGV1ciBzJmVhY3V0ZTtsZWN0aW9ubiZlYWN1dGU7JzsKJGxhbmdbJ2ZpZWxkX3R5cGVfZGlzcG9zaXRpb25fZmlsZSddID0gJyomRWFjdXRlO2NyaXJlIGxlcyByJmVhY3V0ZTtzdWx0YXRzIGRhbnMgdW4gZmljaGllcic7CiRsYW5nWydmaWVsZF90eXBlX3N0YXRpY190ZXh0J10gPSAnVGV4dGUgc3RhdGlxdWUnOwokbGFuZ1snZmllbGRfdHlwZV9wYWdlX2JyZWFrJ10gPSAnU2F1dCBkZSBwYWdlJzsKJGxhbmdbJ2ZpZWxkX3R5cGVfZmlsZV91cGxvYWQnXSA9ICdUJmVhY3V0ZTtsJmVhY3V0ZTtjaGFyZ2VtZW50IGRlIGZpY2hpZXInOwokbGFuZ1snZmllbGRfdHlwZV9lbWFpbF9mcm9tJ10gPSAnQ2hhbXAgJnF1b3Q7RGUmcXVvdDsgKCZxdW90O2Zyb20mcXVvdDspIGQmIzAzOTtlbWFpbCc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdGb3JtdWxhaXJlIGRlIHJldG91ciBkJiMwMzk7aW5mb3JtYXRpb24nOwokbGFuZ1sndmFsaWRhdGlvbl9ub25lJ10gPSAnQXVjdW5lIHZhbGlkYXRpb24nOwokbGFuZ1sndmFsaWRhdGlvbl9ub3RfZW1wdHknXSA9ICdOb24gdmlkZSc7CiRsYW5nWyd2YWxpZGF0aW9uX251bWVyaWMnXSA9ICdOdW0mZWFjdXRlO3JpcXVlJzsKJGxhbmdbJ3ZhbGlkYXRpb25faW50ZWdlciddID0gJ0VudGllcic7CiRsYW5nWyd2YWxpZGF0aW9uX2VtYWlsX2FkZHJlc3MnXSA9ICdBZHJlc3NlIGVtYWlsJzsKJGxhbmdbJ3ZhbGlkYXRpb25fYXRfbGVhc3Rfb25lJ10gPSAnRW4gdG91dCBjYXMgdW5lIGNvY2gmZWFjdXRlO2UnOwokbGFuZ1sndmFsaWRhdGlvbl9tdXN0X2NoZWNrJ10gPSAnRG9pdCAmZWNpcmM7dHJlIGNvY2gmZWFjdXRlO2UnOwokbGFuZ1sndmFsaWRhdGlvbl9vcHRpb25fc2VsZWN0ZWQnXSA9ICdVbmUgb3B0aW9uIGRvaXQgJmVjaXJjO3RyZSBzJmVhY3V0ZTtsZWN0aW9ubiZlYWN1dGU7ZSc7CiRsYW5nWydwbGVhc2VfZW50ZXJfYV92YWx1ZSddID0gJ1ZldWlsbGV6IGVudHJlciB1bmUgdmFsZXVyIHBvdXInOwokbGFuZ1sncGxlYXNlX2VudGVyX2FfbnVtYmVyJ10gPSAnVmV1aWxsZXogZW50cmVyIHVuIG5vbWJyZSBwb3VyJzsKJGxhbmdbJ3BsZWFzZV9lbnRlcl9hbl9pbnRlZ2VyJ10gPSAnVmV1aWxsZXogZW50cmVyIHVuZSB2YWxldXIgJnF1b3Q7aW50ZWdlciZxdW90OyBwb3VyJzsKJGxhbmdbJ3BsZWFzZV9lbnRlcl9hbl9lbWFpbCddID0gJ1ZldWlsbGV6IGVudHJlciB1bmUgYWRyZXNzZSBlbWFpbCB2YWxpZGUgcG91cic7CiRsYW5nWydub3RfdmFsaWRfZW1haWwnXSA9ICdOZSBzZW1ibGUgcGFzICZlY2lyYzt0cmUgdW5lIGFkcmVzc2UgZW1haWwgdmFsaWRlJzsKJGxhbmdbJ3BsZWFzZV9lbnRlcl9ub19sb25nZXInXSA9ICdWZXVpbGxleiBlbnRyZXIgdW5lIHZhbGV1ciBxdWkgbiYjMDM5O2VzdCBwYXMgcGx1cyBsb25ndWUgcXVlICc7CiRsYW5nWydwbGVhc2VfY2hlY2tfc29tZXRoaW5nJ10gPSAnVmV1aWxsZXogdiZlYWN1dGU7cmlmaWVyIGwmIzAzOTtlbnRyJmVhY3V0ZTtlIHBvdXInOwokbGFuZ1sncGxlYXNlX3NlbGVjdF9zb21ldGhpbmcnXSA9ICdWZXVpbGxleiBzJmVhY3V0ZTtsZWN0aW9ubmVyIHVuZSBlbnRyJmVhY3V0ZTtlIHBvdXInOwokbGFuZ1snZmllbGRfbmFtZV9pbl91c2UxJ10gPSAnTGUgbm9tIGR1IGNoYW1wJzsKJGxhbmdbJ2ZpZWxkX25hbWVfaW5fdXNlMiddID0gJ2VzdCBkJmVhY3V0ZTtqJmFncmF2ZTsgdXRpbGlzJmVhY3V0ZTsgZGFucyBsZSBmb3JtdWxhaXJlISBWZXVpbGxleiBsZSBtb2RpZmllciBlbiB1bmUgZW50ciZlYWN1dGU7ZSB1bmlxdWUnOwokbGFuZ1sneW91X25lZWRfcGVybWlzc2lvbjEnXSA9ICdWb3VzIGF2ZXogYmVzb2luIGRlIGxhIHBlcm1pc3Npb24gJnF1b3Q7JzsKJGxhbmdbJ3lvdV9uZWVkX3Blcm1pc3Npb24yJ10gPSAnJnF1b3Q7IHBvdXIgZWZmZWN0dWVyIGNldHRlIG9wJmVhY3V0ZTtyYXRpb24uJzsKJGxhbmdbJ2xhY2twZXJtaXNzaW9uJ10gPSAnRCZlYWN1dGU7c29sJmVhY3V0ZTshIFZvdXMgbiYjMDM5O2F2ZXogcGFzIGxlcyBwcml2aWwmZWdyYXZlO2dlcyBhZCZlYWN1dGU7cXVhdHMgcG91ciBhY2MmZWFjdXRlO2RlciAmYWdyYXZlOyBjZXR0ZSBzZWN0aW9uLic7CiRsYW5nWydmaWVsZF9vcmRlcl91cGRhdGVkJ10gPSAnT3JkcmUgZGVzIGNoYW1wcyBtaXMgJmFncmF2ZTsgam91ci0nOwokbGFuZ1snZm9ybV9kZWxldGVkJ10gPSAnRm9ybXVsYWlyZSBzdXBwcmltJmVhY3V0ZTsuJzsKJGxhbmdbJ2ZpZWxkX2RlbGV0ZWQnXSA9ICdDaGFtcCBzdXBwcmltJmVhY3V0ZTsuJzsKJGxhbmdbJ2NvbmZpZ3VyYXRpb25fdXBkYXRlZCddID0gJ0NvbmZpZ3VyYXRpb24gbWlzZSAmYWdyYXZlOyBqb3VyLic7CiRsYW5nWyd5b3VfbXVzdF9jaGVjazEnXSA9ICdWb3VzIGRldmV6IGNvY2hlciAmcXVvdDsnOwokbGFuZ1sneW91X211c3RfY2hlY2syJ10gPSAnJnF1b3Q7IHBvdXIgY29udGludWVyLic7CiRsYW5nWydtdXN0X3NwZWNpZnlfb25lX2Rlc3RpbmF0aW9uJ10gPSAnVm91cyBkZXZleiBzcCZlYWN1dGU7Y2lmaWVyIGVuIHRvdXQgY2FzIHVuZSBhZHJlc3NlIGRlIGRlc3RpbmF0aW9uISc7CiRsYW5nWydhcmVfeW91X3N1cmVfZGVsZXRlX2Zvcm0nXSA9ICcmRWNpcmM7dGVzLXZvdXMgcyZ1Y2lyYztyZSBkZSB2b3Vsb2lyIHN1cHByaW1lciBsZSBmb3JtdWxhaXJlICVzPyc7CiRsYW5nWydhcmVfeW91X3N1cmVfZGVsZXRlX2ZpZWxkJ10gPSAnJkVjaXJjO3Rlcy12b3VzIHMmdWNpcmM7cmUgZGUgdm91bG9pciBzdXBwcmltZXIgbGUgY2hhbXAgJXM/JzsKJGxhbmdbJ2FiYnJldmlhdGlvbl9sZW5ndGgnXSA9ICdsb25ndWV1cic7CiRsYW5nWydjaGFyYWN0ZXJzJ10gPSAnY2FyYWN0JmVncmF2ZTtyZXMnOwokbGFuZ1snYm94ZXMnXSA9ICdib3hlcyc7CiRsYW5nWydmaWVsZCddID0gJ0NoYW1wJzsKJGxhbmdbJ29yZGVyJ10gPSAnT3JkcmUnOwokbGFuZ1sndW5zcGVjaWZpZWQnXSA9ICcobm9uIHNwJmVhY3V0ZTtjaWZpJmVhY3V0ZTspJzsKJGxhbmdbJ2FkZGVkJ10gPSAnYWpvdXQmZWFjdXRlOyc7CiRsYW5nWyd1cGRhdGVkJ10gPSAnbWlzICZhZ3JhdmU7IGpvdXInOwokbGFuZ1snZGVsZXRlZCddID0gJ3N1cHByaW0mZWFjdXRlOyc7CiRsYW5nWydjaG9pY2VzJ10gPSAnY2hvaXgnOwokbGFuZ1snc2VsZWN0X29uZSddID0gJ1MmZWFjdXRlO2xlY3Rpb25uZXIgdW4nOwokbGFuZ1snc2VsZWN0X2FfdXNlciddID0gJ1MmZWFjdXRlO2xlY3Rpb25uZXIgdW4gdXRpbGlzYXRldXInOwokbGFuZ1snc2VsZWN0X3R5cGUnXSA9ICdTJmVhY3V0ZTtsZWN0aW9ubmVyIHVuIHR5cGUnOwokbGFuZ1sndG8nXSA9ICdBJzsKJGxhbmdbJ3JlY2lwaWVudHMnXSA9ICdkZXN0aW5hdGFpcmVzJzsKJGxhbmdbJ25vdGUnXSA9ICdOb3RlJzsKJGxhbmdbJ2FueV91c2VyJ10gPSAnTiYjMDM5O2ltcG9ydGUgcXVlbCB1dGlsaXNhdGV1cic7CiRsYW5nWydsaXN0J10gPSAnbGlzdGUnOwokbGFuZ1snbm90X2NvbmZpZ3VyZWQnXSA9ICdOb24gY29uZmlndXImZWFjdXRlOyc7CiRsYW5nWydzYXZlJ10gPSAnU2F1dmVnYXJkZXInOwokbGFuZ1snYWRkJ10gPSAnQWpvdXRlcic7CiRsYW5nWyd1cGRhdGUnXSA9ICdNZXR0cmUgJmFncmF2ZTsgam91cic7CiRsYW5nWydzYXZlX2FuZF9jb250aW51ZSddID0gJ1NhdXZlZ2FyZGVyIGV0IGNvbnRpbnVlciBsJiMwMzk7JmVhY3V0ZTtkaXRpb24nOwokbGFuZ1snaW5mb3JtYXRpb24nXSA9ICdJbmZvcm1hdGlvbic7CiRsYW5nWydhdXRvbWF0aWMnXSA9ICdBdXRvbWF0aXF1ZSc7CiRsYW5nWydmb3JtcyddID0gJ0Zvcm11bGFpcmVzJzsKJGxhbmdbJ2Zvcm0nXSA9ICdGb3JtdWxhaXJlJzsKJGxhbmdbJ2NvbmZpZ3VyYXRpb24nXSA9ICdDb25maWd1cmF0aW9uJzsKJGxhbmdbJ21haW4nXSA9ICdQcmluY2lwYWwnOwokbGFuZ1snYWRkaXRpb25hbCddID0gJ1BhcmFtJmVncmF2ZTt0cmVzIGRlIGZvcm11bGFpcmUnOwokbGFuZ1snbm9maWVsZHMnXSA9ICdBdWN1biBjaGFtcCBkZSByJmVhY3V0ZTtjdXAmZWFjdXRlO3JhdGlvbiBkJmVhY3V0ZTtmaW5pLic7CiRsYW5nWydub21ldGhvZCddID0gJ0F1Y3VuZSBtJmVhY3V0ZTt0aG9kZS9tb2R1bGUgZCZlYWN1dGU7ZmluaShlKSc7CiRsYW5nWydjaGFycyddID0gJ0NhcmFjdCZlZ3JhdmU7cmVzJzsKJGxhbmdbJ21pc3NpbmdfY21zX21haWxlciddID0gJ09uIGRpcmFpdCBxdWUgbGUgbW9kdWxlIENNU01haWxlciBuJiMwMzk7ZXN0IHBhcyBpbnN0YWxsJmVhY3V0ZTshIExlIG1vZHVsZSBGb3JtdWxhaXJlIGRlIHJldG91ciBkJiMwMzk7aW5mb3JtYXRpb24gcmVxdWllcnQgcXVlIENNU01haWxlciBzb2l0IGluc3RhbGwmZWFjdXRlOyBldCBhY3RpZic7CiRsYW5nWydtYXhpbXVtX3NpemUnXSA9ICdUYWlsbGUgbWF4aW1hbGUnOwokbGFuZ1sncGVybWl0dGVkX2V4dGVuc2lvbnMnXSA9ICdFeHRlbnNpb25zJzsKJGxhbmdbJ3Blcm1pdHRlZF9maWxldHlwZXMnXSA9ICdUeXBlcyBkZSBmaWNoaWVycyBhdXRvcmlzJmVhY3V0ZTtzJzsKJGxhbmdbJ2ZpbGVfdG9vX2xhcmdlJ10gPSAnTGUgZmljaGllciB0JmVhY3V0ZTtsJmVhY3V0ZTtjaGFyZyZlYWN1dGU7IGVzdCB0cm9wIGdyYW5kISBMYSB0YWlsbGUgbWF4aW1hbGUgZXN0IGRlJm5ic3A7Oic7CiRsYW5nWydpbGxlZ2FsX2ZpbGVfdHlwZSddID0gJ0NlIHR5cGUgZGUgZmljaGllciBuZSBwZXV0IHBhcyAmZWNpcmM7dHJlIHQmZWFjdXRlO2wmZWFjdXRlO2NoYXJnJmVhY3V0ZTsuIFZldWlsbGV6IHYmZWFjdXRlO3JpZmllciBxdWUgbCYjMDM5O2V4dGVudGlvbiBzb2l0IGNvcnJlY3RlLic7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZHVsZSBkJmVhY3V0ZTtzaW5zdGFsbCZlYWN1dGU7Lic7CiRsYW5nWydpbnN0YWxsZWQnXSA9ICdMYSB2ZXJzaW9uICVzIGR1IG1vZHVsZSBhICZlYWN1dGU7dCZlYWN1dGU7IGluc3RhbGwmZWFjdXRlO2UuJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnTGUgbW9kdWxlIGEgJmVhY3V0ZTt0JmVhY3V0ZTsgbWlzICZhZ3JhdmU7IGpvdXIgJmFncmF2ZTsgbGEgdmVyc2lvbiAlcy4nOwokbGFuZ1sndGl0bGVfbWF4aW11bV9sZW5ndGgnXSA9ICdMb25ndWV1ciBtYXhpbWFsZSc7CiRsYW5nWyd0aXRsZV9jaGVja2JveF9uYW1lJ10gPSAnTm9tIGRlIGxhIGNhc2UgJmFncmF2ZTsgY29jaGVyJzsKJGxhbmdbJ3RpdGxlX3N1Ym1pdHRlZF92YWx1ZSddID0gJ1ZhbGV1ciBlbnZveSZlYWN1dGU7ZSc7CiRsYW5nWyd0aXRsZV9jaGVja2JveF9kZXRhaWxzJ10gPSAnRCZlYWN1dGU7dGFpbHMgZHUgZ3JvdXBlIGRlIGNhc2VzICZhZ3JhdmU7IGNvY2hlcic7CiRsYW5nWyd0aXRsZV9zZWxlY3Rfb25lX21lc3NhZ2UnXSA9ICdUZXh0ICZxdW90O1MmZWFjdXRlO2xlY3Rpb25uZXIgdW4mcXVvdDsnOwokbGFuZ1sndGl0bGVfc2VsZWN0aW9uX3N1YmplY3QnXSA9ICdTdWpldCBkZSBsYSBzJmVhY3V0ZTtsZWN0aW9uJzsKJGxhbmdbJ3RpdGxlX3NlbGVjdF9kZWZhdWx0X2NvdW50cnknXSA9ICdTJmVhY3V0ZTtsZWN0aW9uIHBhciBkJmVhY3V0ZTtmYXV0JzsKJGxhbmdbJ3RpdGxlX3NlbGVjdGlvbl9uYW1lJ10gPSAnTm9tIGRlIGwgYXMmZWFjdXRlO2xlY3Rpb24nOwokbGFuZ1sndGl0bGVfZGVzdGluYXRpb25fZW1haWwnXSA9ICdBZHJlc3NlIGVtYWlsIGRlIGRlc3RpbmF0aW9uJzsKJGxhbmdbJ3RpdGxlX2RpcmVjdG9yX2RldGFpbHMnXSA9ICdEJmVhY3V0ZTt0YWlscyBkZSBsJiMwMzk7ZW1haWxlciBiYXMmZWFjdXRlOyBzdXIgbGUgbWVudSBkJmVhY3V0ZTtyb3VsYW50JzsKJGxhbmdbJ3RpdGxlX2VtYWlsX2FkZHJlc3NlcyddID0gJ0FkcmVzc2UocykgZW1haWwgbyZ1Z3JhdmU7IGVudm95ZXIgbGVzIHImZWFjdXRlO3N1bHRhdHMuJzsKJGxhbmdbJ3RpdGxlX2ZpbGVfZm9ybWF0J10gPSAnRm9ybWF0IGRlIGZpY2hpZXInOwokbGFuZ1sndGl0bGVfZmlsZV9mb3JtYXRfdGFiJ10gPSAnVmFsZXVyIGQmZWFjdXRlO2xpbWl0JmVhY3V0ZTtlcyBwYXIgZGVzIHRhYnVsYXRldXJzJzsKJGxhbmdbJ3RpdGxlX2ZpbGVfZm9ybWF0X3RhYl9oZWFkZXInXSA9ICdWYWxldXIgZCZlYWN1dGU7bGltaXQmZWFjdXRlO2VzIHBhciBkZXMgdGFidWxhdGV1cnMgZXQgYXZlYyBlbi10JmVjaXJjO3Rlcyc7CiRsYW5nWyd0aXRsZV9maWxlX2Zvcm1hdF9wYWdlJ10gPSAnRm9ybWF0IGRlIHBhZ2UnOwokbGFuZ1sndGl0bGVfZmlsZV9uYW1lJ10gPSAnTm9tIGRlIGZpY2hpZXInOwokbGFuZ1sndGl0bGVfZXJhc2VfZmlsZWxvY2snXSA9ICdWZXJyb3UgY29udHJlIGxhIHN1cHByZXNzaW9uIGRlcyBmaWNoaWVycyc7CiRsYW5nWyd0aXRsZV9lcmFzZV91c2FnZSddID0gJyh1dGlsaXNleiBjZWNpIHBvdXIgciZlYWN1dGU7aW5pdGlhbGlzZXIgbGUgdmVycm91IGRlIGZpY2hpZXJzIHNpIGwmIzAzOTsmZWFjdXRlO2NyaXR1cmUgJmVhY3V0ZTtjaG91ZSAmYWdyYXZlOyBjYXVzZSBkJiMwMzk7dW4gcHJvY2Vzc3VzIGNvcnJvbXB1KSc7CiRsYW5nWyd0aXRsZV9maWxlX25vdGUnXSA9ICdMZXMgZmljaGllcnMgc2Vyb250IHNhdXZlZ2FyZCZlYWN1dGU7cyBkYW5zIGxlIGRvc3NpZXIgbW9kdWxlcy9GZWVkYmFja0Zvcm0vb3V0cHV0LCBkYW5zIHZvdHJlIGluc3RhbGxhdGlvbi4nOwokbGFuZ1sndGl0bGVfdXNlcm5hbWUnXSA9ICdOb20gZCYjMDM5O3V0aWxpc2F0ZXVyIHN1ciBsZSBzaXRlJzsKJGxhbmdbJ3RpdGxlX3JlYWxfbmFtZSddID0gJ05vbSBjb21wbGV0JzsKJGxhbmdbJ3RpdGxlX2JvdGhfbmFtZXMnXSA9ICdOb20gZCYjMDM5O3V0aWxpc2F0ZXVyIHN1ciBsZSBzaXRlICsgTm9tIGNvbXBsZXQnOwokbGFuZ1sndGl0bGVfbm9fZ3JvdXBfcmVzdHJpY3Rpb24nXSA9ICdBdWN1bmUgcmVzdHJpY3Rpb24gZGUgZ3JvdXBlJzsKJGxhbmdbJ3RpdGxlX2VtYWlsX3N1YmplY3QnXSA9ICdMaWduZSBkZSBzdWpldCBkZSBsJiMwMzk7ZW1haWwnOwokbGFuZ1sndGl0bGVfcmVzdHJpY3RfdG9fZ3JvdXAnXSA9ICdSZXN0cmVpbmRyZSBhdXggdXRpbGlzYXRldXJzIGRhbnMgbGUgZ3JvdXBlJzsKJGxhbmdbJ3RpdGxlX25hbWVzX2luX3B1bGxkb3duJ10gPSAnTm9tICZhZ3JhdmU7IHV0aWxpc2VyIGRhbnMgbGUgbWVudSBkJmVhY3V0ZTtyb3VsYW50JzsKJGxhbmdbJ3RpdGxlX3NlbGVjdF9hX3VzZXJfbWVzc2FnZSddID0gJ01lc3NhZ2UgJnF1b3Q7UyZlYWN1dGU7bGVjdGlvbm5leiB1biB1dGlsaXNhdGV1ciZxdW90Oyc7CiRsYW5nWyd0aXRsZV9wdWxsZG93bl9jb250ZW50cyddID0gJ0NvbnRlbnVzIGR1IG1lbnUgZCZlYWN1dGU7cm91bGFudCc7CiRsYW5nWyd0aXRsZV9yYWRpb19uYW1lJ10gPSAnTm9tIGR1IGJvdXRvbiByYWRpbyc7CiRsYW5nWyd0aXRsZV9yYWRpb19ncm91cF9kZXRhaWxzJ10gPSAnRCZlYWN1dGU7dGFpbHMgZHUgZ3JvdXBlIGRlIGJvdXRvbnMgcmFkaW8nOwokbGFuZ1sndGl0bGVfZm9ybV9uYW1lJ10gPSAnTm9tIGR1IGZvcm11bGFpcmUnOwokbGFuZ1sndGl0bGVfZm9ybV9zdGF0dXMnXSA9ICdTdGF0dXQgZHUgZm9ybXVsYWlyZSc7CiRsYW5nWyd0aXRsZV9yZWFkeV9mb3JfZGVwbG95bWVudCddID0gJ1ByJmVjaXJjO3QgJmFncmF2ZTsgJmVjaXJjO3RyZSBkJmVhY3V0ZTtwbG95JmVhY3V0ZTsnOwokbGFuZ1sndGl0bGVfbm90X3JlYWR5MSddID0gJ1BhcyBwciZlY2lyYzt0JzsKJGxhbmdbJ3RpdGxlX25vdF9yZWFkeTInXSA9ICdWZXVpbGxleiBham91dGVyIHVuIGNoYW1wIGF1IGZvcm11bGFpcmUsIGFmaW4gcXVlIGxlcyBlbnRyJmVhY3V0ZTtlcyBkZSBsJiMwMzk7dXRpbGlzYXRldXIgc29pZW50IHByaXNlcyBlbiBjb21wdGUuIFZvdXMgcG91dmV6JzsKJGxhbmdbJ3RpdGxlX25vdF9yZWFkeV9saW5rJ10gPSAndXRpbGlzZXIgY2UgcmFjY291cmNpJzsKJGxhbmdbJ3RpdGxlX2Zvcm1fYWxpYXMnXSA9ICdBbGlhcyBkdSBmb3JtdWxhaXJlJzsKJGxhbmdbJ3RpdGxlX2Zvcm1fZmllbGRzJ10gPSAnQ2hhbXBzIGRlIGZvcm11bGFpcmVzJzsKJGxhbmdbJ3RpdGxlX2ZpZWxkX25hbWUnXSA9ICdOb20gZHUgY2hhbXAnOwokbGFuZ1sndGl0bGVfZmllbGRfdHlwZSddID0gJ1R5cGUgZGUgY2hhbXAnOwokbGFuZ1sndGl0bGVfc2hvd19sYWJlbCddID0gJ0NhY2hlIGxlIGxhYmVsIGR1IGNoYW1wIGRhbnMgbGUgZm9ybXVsYWlyZT8nOwokbGFuZ1sndGl0bGVfc2hvd19sYWJlbF9sb25nJ10gPSAnT21ldHRyZSBsZSBsYWJlbCBkdSBjaGFtcCBsb3JzIGRlIGxhIGcmZWFjdXRlO24mZWFjdXRlO3JhdGlvbiBkdSBmb3JtdWxhaXJlPyc7CiRsYW5nWyd0aXRsZV9ub3RfcmVhZHkzJ10gPSAncG91ciBjciZlYWN1dGU7JmVhY3V0ZTtlciB1biBjaGFtcCBwcmlzIGVuIGNvbXB0ZS4nOwokbGFuZ1sndGl0bGVfdGFnX3RvX3VzZSddID0gJ0JhbGlzZSBwb3VyIHV0aWxpc2VyIGNlIGZvcm11bGFpcmUnOwokbGFuZ1sndGl0bGVfYWRkX25ld19mb3JtJ10gPSAnQWpvdXRlciB1biBub3V2ZWF1IGZvcm11bGFpcmUnOwokbGFuZ1sndGl0bGVfZWRpdF9jb25maWd1cmF0aW9uJ10gPSAnJkVhY3V0ZTtkaXRlciBsYSBjb25maWd1cmF0aW9uIGR1IG1vZHVsZSBGb3JtdWxhaXJlIGRlIHJldG91ciBkJiMwMzk7aW5mb3JtYXRpb24nOwokbGFuZ1sndGl0bGVfZW1haWxfZnJvbV9uYW1lJ10gPSAnRW52b3kmZWFjdXRlOyc7CiRsYW5nWyd0aXRsZV9mb3JtX2Zyb21fZW1haWwnXSA9ICdGb3JtICZxdW90O0Zyb20mcXVvdDsgRW1haWwgQWRkcmVzcyc7CiRsYW5nWyd0aXRsZV9tYWlsX2hvc3QnXSA9ICdNYWlsIChTTVRQKSBIb3N0JzsKJGxhbmdbJ3RpdGxlX2xhbmd1YWdlJ10gPSAnTGFuZ3VlJzsKJGxhbmdbJ3RpdGxlX2FkZF9uZXdfZmllbGQnXSA9ICdBam91dCBkJiMwMzk7dW4gbm91dmVhdSBjaGFtcCc7CiRsYW5nWyd0aXRsZV9mb3JtX3N1Ym1pdF9idXR0b24nXSA9ICdUZXh0ZSBkdSBib3V0b24gJnF1b3Q7RW52b3llciZxdW90OyBkdSBmb3JtdWxhaXJlJzsKJGxhbmdbJ3RpdGxlX2Zvcm1fbmV4dF9idXR0b24nXSA9ICdUZXh0ZSBkdSBib3V0b24gJnF1b3Q7U3VpdmFudCZxdW90OyBkdSBmb3JtdWxhaXJlIChwb3VyIGxlcyBmb3JtdWxhaXJlcyBtdWx0aXBhZ2VzKSc7CiRsYW5nWyd0aXRsZV9mb3JtX3RoYW5rc190ZXh0J10gPSAnVGV4dGUgZGUgcmVtZXJjaWVtZW50IGR1IGZvcm11bGFpcmUnOwokbGFuZ1sndGl0bGVfZmllbGRfdmFsaWRhdGlvbiddID0gJ1ZhbGlkYXRpb24gZGUgY2hhbXAnOwokbGFuZ1sndGl0bGVfZGVmYXVsdF91c2VyJ10gPSAnVXRpbGlzYXRldXIgcGFyIGQmZWFjdXRlO2ZhdXQnOwokbGFuZ1sndGl0bGVfbm9fZGVmYXVsdF91c2VyJ10gPSAnQXVjdW4gdXRpbGlzYXRldXIgcGFyIGQmZWFjdXRlO2ZhdXQnOwokbGFuZ1sndGl0bGVfY3NzX2xheW91dCddID0gJ0Rpc3Bvc2l0aW9uIENTUyc7CiRsYW5nWyd0aXRsZV91c2VfY3NzX2xheW91dCddID0gJ1V0aWxpc2VyIHVuZSBkaXNwb3NpdGlvbiBDU1MgcHVyZSBwb3VyIGxlIGZvcm11bGFpcmUnOwokbGFuZ1sndGl0bGVfZm9ybV9jc3NfY2xhc3MnXSA9ICdDbGFzc2UgQ1NTIHBvdXIgY2UgZm9ybXVsYWlyZSc7CiRsYW5nWyd0aXRsZV9maWVsZF9jc3NfY2xhc3MnXSA9ICdDbGFzc2UgQ1NTIHBvdXIgY2UgY2hhbXAnOwokbGFuZ1sndGl0bGVfZm9ybV9yZXF1aXJlZF9zeW1ib2wnXSA9ICdTeW1ib2xlIHBvdXIgbWFycXVlciBsZXMgY2hhbXBzIHJlcXVpcyc7CiRsYW5nWyd0aXRsZV9maWVsZF9yZXF1aXJlZCddID0gJ1JlcXVpcyc7CiRsYW5nWyd0aXRsZV9maWVsZF9yZXF1aXJlZF9sb25nJ10gPSAnUmVxdWllcnQgdW5lIHImZWFjdXRlO3BvbnNlIHBvdXIgY2UgY2hhbXAnOwokbGFuZ1sndGl0bGVfZmllbGRfcmVxdWlyZWRfYWJicmV2J10gPSAnUmVxdWlzJzsKJGxhbmdbJ3RpdGxlX3RhYmxlX2xheW91dF90eXBlJ10gPSAnUG9zaXRpb24gZHUgY2hhbXAgdGl0cmUgKHBvdXIgbGEgZGlzcG9zaXRpb24gbm9uLUNTUyBzZXVsZW1lbnQpJzsKJGxhbmdbJ3RpdGxlX3RhYmxlX2xheW91dF9sZWZ0J10gPSAnVGl0cmUgc3VyIGxhIGdhdWNoZSc7CiRsYW5nWyd0aXRsZV90YWJsZV9sYXlvdXRfYWJvdmUnXSA9ICdUaXRyZSBhdS1kZXNzdXMnOwokbGFuZ1sndGl0bGVfaW5jbHVkZV9lbWFpbF9pbmZvJ10gPSAnSW5jbHVzIGxlcyBpbmZvcm1hdGlvbnMgZHUgc2VydmV1cic7CiRsYW5nWyd0aXRsZV9pbmNsdWRlX2VtYWlsX2luZm9fbG9uZyddID0gJ0luY2x1cyBsZXMgaW5mb3JtYXRpb25zIGR1IHNlcnZldXIgZGFucyBsJiMwMzk7ZW1haWwnOwokbGFuZ1sndGl0bGVfaGlkZV9lcnJvcnMnXSA9ICdDYWNoZXIgbGVzIGVycmV1cnMnOwokbGFuZ1sndGl0bGVfaGlkZV9lcnJvcnNfbG9uZyddID0gJyZFYWN1dGU7dml0ZSBxdWUgbGVzIG1lc3NhZ2VzIGQmIzAzOTtlcnJldXIgZXQgZGUgZCZlYWN1dGU7Ym9ndWFnZSBzb2llbnQgdnVzIHBhciBsZXMgdXRpbGlzYXRldXJzLic7CiRsYW5nWyd0aXRsZV9lbWFpbF90ZW1wbGF0ZSddID0gJ0dhYmFyaXQgZCYjMDM5O2VtYWlsJzsKJGxhbmdbJ3RpdGxlX2VtYWlsX3RlbXBsYXRlX3ZhcnMnXSA9ICdWYXJpYWJsZXMgZGlzcG9uaWJsZXMgcG91ciB1dGlsaXNhdGlvbiBkYW5zIGxlIGdhYmFyaXQgZCYjMDM5O2VtYWlsJzsKJGxhbmdbJ3RpdGxlX3NhbXBsZV90ZW1wbGF0ZSddID0gJ0NyJmVhY3V0ZTthdGlvbiBkJiMwMzk7dW4gZ2FiYXJpdCBtb2QmZWdyYXZlO2xlJzsKJGxhbmdbJ3RpdGxlX21heGltdW1fc2l6ZSddID0gJ1RhaWxsZSBtYXhpbWFsZSBkZSBmaWNoaWVyICZhZ3JhdmU7IHQmZWFjdXRlO2wmZWFjdXRlO2NoYXJnZXIgKGVuIGtiKSc7CiRsYW5nWyd0aXRsZV9wZXJtaXR0ZWRfZXh0ZW5zaW9ucyddID0gJ0V4dGVuc2lvbnMgYXV0b3JpcyZlYWN1dGU7ZXMnOwokbGFuZ1sndGl0bGVfcGVybWl0dGVkX2V4dGVuc2lvbnNfbG9uZyddID0gJ2xpc3RlIHMmZWFjdXRlO3BhciZlYWN1dGU7ZSBwYXIgZGVzIHZpcmd1bGVzLCBzYW5zIGxlIHBvaW50IChwLmUuLCAmcXVvdDtqcGcsZ2lmLGpwZWcmcXVvdDspLiBMZXMgZXNwYWNlcyBzZXJvbnQgaWdub3ImZWFjdXRlO3MuIExhaXNzZXIgdmlkZSBhdXRvcmlzZSB0b3V0ZXMgbGVzIGV4dGVuc2lvbnMuJzsKJGxhbmdbJ3RpdGxlX3Nob3dfbGltaXRhdGlvbnMnXSA9ICdBZmZpY2hlciBsZXMgcmVzdHJpY3Rpb25zPyc7CiRsYW5nWyd0aXRsZV9zaG93X2xpbWl0YXRpb25zX2xvbmcnXSA9ICdBZmZpY2hlciB0b3V0ZXMgbGVzIHJlc3RyaWN0aW9ucyBkZSB0YWlsbGUgZXQgZXh0ZW5zaW9uIGF2ZWMgbGUgY2hhbXAgdCZlYWN1dGU7bCZlYWN1dGU7Y2hhcmdlbWVudCZuYnNwOz8nOwokbGFuZ1sndGl0bGVfY2FsbGJhY2tfbW9kdWxlJ10gPSAnTW9kdWxlIENhbGxiYWNrJzsKJGxhbmdbJ3RpdGxlX2NhbGxiYWNrX21ldGhvZCddID0gJ00mZWFjdXRlO3Rob2RlIENhbGxiYWNrJzsKJGxhbmdbJ3RpdGxlX2NhbGxiYWNrX2ZpZWxkcyddID0gJ0NoYW1wIGRlIHImZWFjdXRlO3N1bHRhdCAmYWdyYXZlOyBpbmNsdXJlJzsKJGxhbmdbJ3RpdGxlX2NhbGxiYWNrX2hlbHAnXSA9ICdBaWRlJzsKJGxhbmdbJ3RpdGxlX2lkX2FuZF9uYW1lJ10gPSAnVXRpbGlzZSBJRCBldCBOYW1lIHBvdXIgbGVzIHImZWdyYXZlO2dsZXMgQ1NTJzsKJGxhbmdbJ3RpdGxlX2RhdGVfZm9ybWF0J10gPSAnRm9ybWF0IGRlIGRhdGUgKHN0YW5kYXJkIDxhIGhyZWY9JnF1b3Q7aHR0cDovL3d3dy5waHAubmV0L21hbnVhbC9lbi9mdW5jdGlvbi5kYXRlLnBocCZxdW90OyB0YXJnZXQ9JnF1b3Q7X2JsYW5rJnF1b3Q7PlBIUCBEYXRlIEZvcm1hdHM8L2E+KSc7CiRsYW5nWyd0aXRsZV9zdGF0aWNfdGV4dCddID0gJ1RleHRlIHN0YXRpcXVlICZhZ3JhdmU7IGFmZmljaGVyIChtYXggMjU1IGNhcmFjdCZlZ3JhdmU7cmVzKSc7CiRsYW5nWyd0aXRsZV9jYWxsYmFja19oZWxwbG9uZyddID0gJzxwPlZvdXMgc3AmZWFjdXRlO2NpZmlleiB1biBtb2R1bGUgZXQgdW5lIG0mZWFjdXRlO3Rob2RlLiBMYSBzaWduYXR1cmUgZGUgY2V0dGUgbSZlYWN1dGU7dGhvZGUgZGV2cmFpdCBldHJlJm5ic3A7OjwvcD48YnIgLz4NCmZ1bmN0aW9uIG5vbSgkaWQsICZhbXA7JHBhcmFtcywgJHJldHVybmlkLCAmYW1wOyRjbXMpPGJyIC8+PGJyIC8+DQo8cD5DZXR0ZSBmb25jdGlvbiBnJmVhY3V0ZTtuJmVhY3V0ZTtyZXJhIHF1ZWxxdWUgY2hvc2UgcXVpIGEgdW4gc2VucyBkYW5zIHVuIGZvcm11bGFpcmUsIDxpPnAuZS48L2k+IHByb2JhYmxlbWVudCBkZXMgY2hhbXBzIGNhY2gmZWFjdXRlO3MgY29udGVuYW50IGRlcyBpbmZvcm1hdGlvbnMgdXRpbGVzLjwvcD4NCjxwPkxlcyBjaGFtcHMgJnF1b3Q7Y2hhbXBzJnF1b3Q7IGRldnJhaWVudCBjb250ZW5pciB1bmUgbGlzdGUgZCZlYWN1dGU7bGltaXQmZWFjdXRlO2UgcGFyIGRlcyB2aXJndWxlcyBkZXMgY2hhbXBzIGcmZWFjdXRlO24mZWFjdXRlO3ImZWFjdXRlO3MgcGFyIGNldHRlIG0mZWFjdXRlO3Rob2RlLjwvcD4NCjxwPkV4ZW1wbGU6IEomIzAzOTthaSB1biBtb2R1bGUgJnF1b3Q7VXNlcklEJnF1b3Q7IHF1aSBhIHVuZSBtJmVhY3V0ZTt0aG9kZSAmcXVvdDtMb2dnZWRJblVzZXImcXVvdDsuIENldHRlIG0mZWFjdXRlO3Rob2RlIGNyJmVhY3V0ZTtlIGRldXggY2hhbXBzIGNhY2gmZWFjdXRlO3MgYXBwZWwmZWFjdXRlO3MgJnF1b3Q7Zmlyc3RfbmFtZSZxdW90OyBldCAmcXVvdDtsYXN0X25hbWUmcXVvdDsgcXVlIGplIHZldXggaW5jbHVyZSBkYW5zIGxhIHNvdW1pc3Npb24gZGUgbW9uIGZvcm11bGFpcmUuIEomIzAzOTtlbnRyZXJhaSBkb25jJm5ic3A7OjwvcD4NCm1vZHVsZTogVXNlcklEPGJyIC8+DQptZXRob2Q6IExvZ2dlZEluVXNlcjxiciAvPg0KZmllbGRzOiBmaXJzdF9uYW1lLGxhc3RfbmFtZTwvYnI+DQonOwokbGFuZ1snYWRtaW5kZXNjJ10gPSAnQWpvdXQsICZlYWN1dGU7ZGl0aW9uIGV0IGdlc3Rpb24gaW50ZXJhY3RpdmUgZGVzIGZvcm11bGFpcmUgZGUgZmVlZGJhY2snOwokbGFuZ1snZGF0ZV9hX2phbiddID0gJ0pBTic7CiRsYW5nWydkYXRlX2FfZmViJ10gPSAnRkVWJzsKJGxhbmdbJ2RhdGVfYV9tYXInXSA9ICdNQVInOwokbGFuZ1snZGF0ZV9hX2FwciddID0gJ0FWUic7CiRsYW5nWydkYXRlX2FfbWF5J10gPSAnTUFJJzsKJGxhbmdbJ2RhdGVfYV9qdW4nXSA9ICdKVU4nOwokbGFuZ1snZGF0ZV9hX2p1bCddID0gJ0pVSSc7CiRsYW5nWydkYXRlX2FfYXVnJ10gPSAnQU9VJzsKJGxhbmdbJ2RhdGVfYV9zZXAnXSA9ICdTRVAnOwokbGFuZ1snZGF0ZV9hX29jdCddID0gJ09DVCc7CiRsYW5nWydkYXRlX2Ffbm92J10gPSAnTk9WJzsKJGxhbmdbJ2RhdGVfYV9kZWMnXSA9ICdERUMnOwokbGFuZ1snZGF0ZV9qYW51YXJ5J10gPSAnamFudmllcic7CiRsYW5nWydkYXRlX2ZlYnJ1YXJ5J10gPSAnZiZlYWN1dGU7dnJpZXInOwokbGFuZ1snZGF0ZV9tYXJjaCddID0gJ21hcnMnOwokbGFuZ1snZGF0ZV9hcHJpbCddID0gJ2F2cmlsJzsKJGxhbmdbJ2RhdGVfbWF5J10gPSAnbWFpJzsKJGxhbmdbJ2RhdGVfanVuZSddID0gJ2p1aW4nOwokbGFuZ1snZGF0ZV9qdWx5J10gPSAnanVpbGxldCc7CiRsYW5nWydkYXRlX2F1Z3VzdCddID0gJ2FvJnVjaXJjO3QnOwokbGFuZ1snZGF0ZV9zZXB0ZW1iZXInXSA9ICdzZXB0ZW1icmUnOwokbGFuZ1snZGF0ZV9vY3RvYmVyJ10gPSAnb2N0b2JyZSc7CiRsYW5nWydkYXRlX25vdmVtYmVyJ10gPSAnbm92ZW1icmUnOwokbGFuZ1snZGF0ZV9kZWNlbWJlciddID0gJ2QmZWFjdXRlO2NlbWJyZSc7CiRsYW5nWydtb250aCddID0gJ21vaXMnOwokbGFuZ1snZGF5J10gPSAnam91cic7CiRsYW5nWyd5ZWFyJ10gPSAnYW5uJmVhY3V0ZTtlJzsKJGxhbmdbJ3N1Ym1pc3Npb25fdGl0bGUnXSA9ICdTb3VtaXNzaW9uIGR1IGZvcm11bGFpcmUnOwokbGFuZ1snc3VibWlzc2lvbl9ob3N0J10gPSAnSG9zdCc7CiRsYW5nWydzdWJtaXNzaW9uX2Zvcm1fbmFtZSddID0gJ0Zvcm11bGFpcmUnOwokbGFuZ1snc3VibWlzc2lvbl9kYXRlJ10gPSAnRGF0ZSc7CiRsYW5nWydzdWJtaXNzaW9uX3NvdXJjZSddID0gJ1NvdXJjZSc7CiRsYW5nWydzdWJtaXNzaW9uX3N1YmplY3QnXSA9ICdTb3VtaXNzaW9uIGR1IGZvcm11bGFpcmUnOwokbGFuZ1snc3VibWlzc2lvbl9lcnJvciddID0gJ0lsIHkgYSBldSB1bmUgZXJyZXVyIGxvcnMgZGUgbGEgc291bWlzc2lvbiBkdSBmb3JtdWxhaXJlPGJyPlImZWFjdXRlO2Vzc2F5ZXogcGx1cyB0YXJkLic7CiRsYW5nWydzdWJtaXNzaW9uX2Vycm9yX2ZpbGUnXSA9ICdFcnJldXIsIGltcG9zc2libGUgZCYjMDM5OyZlYWN1dGU7Y3JpcmUgbGUgZmljaGllcic7CiRsYW5nWydwb3N0X2luc3RhbGwnXSA9ICc8cD5Bc3N1cmV6LXZvdXMgZGUgZCZlYWN1dGU7ZmluaXIgYSBwZXJtaXNzaW9uICZxdW90O01vZGlmeSBGZWVkYmFjayBGb3JtcyZxdW90OyBwb3VyIGxlcyB1dGlsaXNhdGV1cnMgcXVpIGFkbWluaXN0cmVyb250IGxlcyBmb3JtdWxhaXJlcyBkZSBmZWVkYmFjay4gQXVzc2ksIHNpIHZvdSBzZW52b3lleiB1biBlbWFpbCBkZXMgciZlYWN1dGU7c3VsdGF0cyBkZSBmb3JtdWxhaXJlLCBhc3N1cmV6LXZvdXMgZGUgbWV0dHJlICZhZ3JhdmU7IGpvdXIgbGEgY29uZmlndXJhdGlvbiBkZSBtYW5pJmVncmF2ZTtyZSBhcHByb3ByaSZlYWN1dGU7ZS48L3A+DQo8cD5Tb3lleiBhdHRlbnRpZiBhdSBmYWl0IHF1ZSBsZSBtb2R1bGUgZGUgZm9ybXVsYWlyZSBuZSBkZXZyYWl0IHBhcyAmZWNpcmM7dHJlIGFjdGlmIGF1IHB1YmxpYyAoZS5nLiwgdXRpbGlzYWJsZSBwYXIgbGUgcHVibGljKSB0YW50IHF1ZSB2b3VzIGwmIzAzOTsmZWFjdXRlO2RpdGV6LiBWb3VzIGRldnJpZXogY3ImZWFjdXRlO2VyIGxlIGZvcm11bGFpcmUsIGV0IHBsYWNlciBsYSBiYWxpc2UgZGFucyB1bmUgcGFnZSBkZSBjb250ZW51IGFjdGlmIHNldWxlbWVudCBxdWFuZCB2b3VzIGF2ZXogZmluaSBsJiMwMzk7JmVhY3V0ZTtkaXRpb24uIFNpbm9uLCBkZXMgciZlYWN1dGU7c3VsdGF0cyBlcnJvbiZlYWN1dGU7cyBwZXV2ZW50ICZlY2lyYzt0cmUgZW52b3kmZWFjdXRlO3MuLjwvcD4NCjxwPkRlIHBsdXMsIGNldHRlIHZlcnNpb24gbmUgc3VwcG9ydGUgcGFzIGwmIzAzOTsmZWFjdXRlO2RpdGlvbiBzaW11bHRhbiZlYWN1dGU7ZSwgdmV1aWxsZXogbm90ZXIgcXUmIzAzOTt1biBzZXVsIGFkbWluaXN0cmF0ZXVyIHBldXQgJmVhY3V0ZTtkaXRlciB1biBmb3JtdWxhaXJlIGRvbm4mZWFjdXRlOyAmYWdyYXZlOyB1biBtb21lbnQgZG9ubiZlYWN1dGU7LjwvcD4nOwokbGFuZ1snaGVscCddID0gJzxoMz5RdWUgZmFpdCBjZSBtb2R1bGU/PC9oMz4NCjxwPkxlIG1vZHVsZSBGb3JtdWxhaXJlIGRlIGZlZWRiYWNrIHZvdXMgcGVybWV0IGRlIGNyJmVhY3V0ZTtlciBkZXMgZm9ybXVsYWlyZXMgcG91ciB1biBvYnRlbmlyIHVuIHJldG91ciBkJiMwMzk7aW5mb3JtYXRpb24gKGZlZWRiYWNrKSBkZXMgdXRpbGlzYXRldXJzLiBDZXMgZm9ybXVsYWlyZXMgcGV1dmVudCAmZWNpcmM7dHJlIGlucyZlYWN1dGU7ciZlYWN1dGU7cyBkYW5zIGRlcyBnYWJhcml0cyBvdSBwYWdlcyBkZSBjb250ZW51LiBMZXMgZm9ybXVsYWlyZXMgcGV1dmVudCBjb250ZW5pciBwbHVzaWV1cnMgZ2VucmUgZGUgY2hhbXAgZXQgcGV1dmVudCBhdm9pciBkZXMgciZlZ3JhdmU7Z2xlcyBkZSB2YWxpZGF0aW9uIGFwcGxpcXUmZWFjdXRlO2VzICZhZ3JhdmU7IGNlcyBjaGFtcHMuIExlcyByJmVhY3V0ZTtzdWx0YXRzIGRlIGNlcyBmb3JtdWxhaXJlcyBwZXV2ZW50ICZlY2lyYzt0cmUgZyZlYWN1dGU7ciZlYWN1dGU7cyBkZSBtYW5pJmVncmF2ZTtyZXMgZGlmZiZlYWN1dGU7cmVudGVzLjwvcD4NCg0KPGgzPkNvbW1lbnQgbCYjMDM5O3V0aWxpc2VyPzwvaDM+DQo8cD5JbnN0YWxsZXIgbGUgbW9kdWxlLCBldCByZWdhcmRleiBkYW5zIGxlcyBtZW51cy4gSm91ZSBhdmVjLiBFc3NheWV6IGRlIGNyJmVhY3V0ZTtlciBkZXMgZm9ybXVsYWlyZXMgZXQgZGUgbGVzIGFqb3V0ZXIgJmFncmF2ZTsgdm9zIGNvbnRlbnVzLiBTaSB2b3VzICZlY2lyYzt0ZXMgYmxvcXUmZWFjdXRlO3MsIHZlbmV6IGRpc2N1dGVyIGF2ZWMgbW9pIHN1ciBsZSBjYW5hbCAjY21zIHN1ciBJUkMsIG91IHBvc3RleiBkYW5zIGxlIGZvcnVtLCBvdSBlbnZveWV6LW1vaSB1biBlbWFpbCBvdSwgc2kgdm91cyAmZWNpcmM7dGVzIHZyYWltZW50IGRlc2VzcCZlYWN1dGU7ciZlYWN1dGU7LCBsaXNleiBsZSByZXN0ZSBkZSBjZXR0ZSBwYWdlLjwvcD4NCg0KPGgzPkNvbW1lbnQgY3ImZWFjdXRlO2VyIHVuIGZvcm11bGFpcmUmbmJzcDs8L2gzPg0KPHA+RGFucyBsZSBtZW51IGR1IHBhbm5lYXUgZCYjMDM5O2FkbWluaXN0cmF0aW9uIGR1IENNUywgdm91cyBkZXZyaWV6IGF2b2lyIHVuIG5vdXZlbCBvYmpldCBhcHBlbCZlYWN1dGU7IEZlZGJhY2sgRm9ybSBvdSBGb3JtdWxhaXJlIGRlIGZlZWRiYWNrLiBDbGlxdWV6LWxlLiBTdXIgbGEgcGFnZSBxdWkgcyYjMDM5O2FmZmljaGUsIGlsIHkgYSBkZXMgb3B0aW9ucyAoYXUgYmFzIGRlIGxhIGxpc3RlIGRlcyBmb3JtdWxhaXJlcykgcG91ciBham91dGVyIHVuIG5vdXZlYXUgZm9ybXVsYWlyZSBvdSBtb2RpZmllciBsYSBjb25maWd1cmF0aW9uLjwvcD4NCg0KPGgzPkFqb3V0ZXIgdW4gZm9ybXVsYWlyZSAmYWdyYXZlOyB1bmUgcGFnZTwvaDM+DQo8cD5EYW5zIGxhIHBhZ2UgZCYjMDM5O2FkbWluaXN0cmF0aW9uIGR1IG1vZHVsZSwgdm91cyB2ZXJyZXogdW4gZXhlbXBsZSBkZSBiYWxpc2UgcG91ciBjaGFxdWUgZm9ybXVsYWlyZSwgJmNjZWRpbDthIHJlc3NlbWJsZSAmYWdyYXZlOyB7Y21zX21vZHVsZSBtb2R1bGU9JnF1b3Q7RmVlZGJhY2tGb3JtJnF1b3Q7IGZvcm09JnF1b3Q7ZmVlZGJhY2tfZm9ybV9leGFtcGxlJnF1b3Q7fTwvcD4NCjxwPkVuIGNvcGlhbnQgY2V0dGUgYmFsaXNlIGRhbnMgbGUgY29udGVudSBkJiMwMzk7dW5lIHBhZ2UsIG91IGRhbnMgdW4gZ2FiYXJpdCwgZmVyYSBhcHBhcmEmaWNpcmM7dHJlIGxlIGZvcm11bGFpcmUuDQpFbiB0aCZlYWN1dGU7b3JpZSwgdm91cyBwb3V2ZXogYXZvaXIgZGVzIGZvcm11bGFpcmVzIG11bHRpcGxlcyBzdXIgdW5lIHBhZ2Ugc2kgdm91cyB2b3VsZXogdnJhaW1lbnQuIEZhaXRlcyBhdHRlbnRpb24gZW4gY29sbGFudCBsYSBiYWxpc2UgZGFucyB1biBjb250ZW51IGRlIHBhZ2UgZW4gdXRpbGlzYW50IGwmIzAzOTsmZWFjdXRlO2RpdGV1ciBXWVNJV1lHIHRlbCBxdWUgRkNLRWRpdG9yIG91IFRpbnlNQ0UuIENlcyAmZWFjdXRlO2RpdGV1cnMgcGV1dmVudC4gZGUgbWFuaSZlZ3JhdmU7cmUgdHJhbnNwYXJlbnRlLCBjaGFuZ2VyIGxlcyBkb3VibGVzIGd1aWxsZW1ldHMgZW4gY29kZSBodG1sIC8mYW1wO3F1b3Q7KSwgZXQgbGVzIGZvcm11bGFpcmVzIG5lIHMmIzAzOTthZmZpY2hlcm9udCBwYXMuIFNpIHZvdXMgcmVuY29udHJleiBjZSBwcm9ibCZlZ3JhdmU7bWUsIHV0aWxpc2V6IGRlcyBndWlsbGVtZXRzIHNpbXBsZSAoJiMwMzk7KQ0KDQo8aDM+QWpvdXRlciBkZXMgY2hhbXBzICZhZ3JhdmU7IHVuIGZvcm11bGFpcmU8L2gzPg0KPHA+QnkgY2xpY2tpbmcgb24gYSBGb3JtJiMwMzk7cyBuYW1lLCB5b3UgZW50ZXIgdGhlIEZvcm0gRWRpdCBwYWdlLiBZb3Ugd2lsbCBzZWUgYSBudW1iZXIgb2Ygb3B0aW9ucyBmb3IgdGhlIGZvcm0NCihsaWtlIHdoYXQgeW91IHdhbnQgdGhlIHRleHQgb2YgdGhlIHN1Ym1pdCBidXR0b24gdG8gc2F5LCB3aGF0IG1lc3NhZ2Ugc2hvdWxkIGJlIGRpc3BsYXllZCB0byB0aGUgdXNlciB3aGVuDQp0aGV5IHN1Ym1pdCB0aGUgZm9ybSwgZXRjKS4gVGhlcmUgaXMgYWxzbyBhIGxpc3Qgb2YgZmllbGRzIHRoYXQgbWFrZSB1cCB0aGUgZm9ybS4gVGhlIHR5cGVzIG9mIGZpZWxkcyB0aGF0DQphcmUgY3VycmVudGx5IHN1cHBvcnRlZCBmaXQgaW50byBmb3VyIGdyb3Vwczogc3RhbmRhcmQgaW5wdXQgZmllbGRzLCBkaXNwbGF5IGNvbnRyb2wgZmllbGRzLCBlbWFpbC1vbmx5IGlucHV0DQpmaWVsZHMsIGFuZCBmb3JtIHJlc3VsdCBoYW5kbGluZyBmaWVsZHMgKGFsc28NCmNhbGxlZCBGb3JtIERpc3Bvc2l0aW9ucyBpbiBwbGFjZXMpOjwvcD4NCjx1bD4NCjxsaT5TdGFuZGFyZCBJbnB1dCBGaWVsZHMgLSB0aGVzZSBhcmUgaW5wdXRzIHRoYXQgYWxsb3cgZW50cnkgb2YgdHlwaWNhbCBmb3JtIGVsZW1lbnRzLjwvbGk+DQo8bGk+RGlzcGxheSBDb250cm9sIEZpZWxkcyAtIHRoZXNlIGlucHV0IGNvbnRyb2wgaG93IHRoZSB1c2VyIHdpbGwgc2VlIHRoZSBkaXNwbGF5IG9mIHRoZSBmb3JtLjwvbGk+DQo8bGk+RW1haWwtb25seSBJbnB1dCBGaWVsZHMgLSB0aGVzZSBhcmUgaW5wdXRzIHRoYXQgYWxsb3cgZW50cnkgb2YgdHlwaWNhbCBmb3JtIGVsZW1lbnRzLCBidXQgYXBwbHkgb25seQ0KZm9yIGZvcm0gZGlzcG9zaXRpb25zIHRoYXQgc2VuZCB0aGUgcmVzdWx0cyB2aWEgZW1haWwuPC9saT4NCjxsaT5TcGVjaWFsIFB1cnBvc2UgRmllbGRzIC0gdGhlc2UgaW5wdXRzIGFyZSB1c2VkIGZvciBpbnRlcmZhY2luZyBwcm9ncmFtbWF0aWNhbGx5IHdpdGggb3RoZXIgbW9kdWxlcy48L2xpPg0KPGxpPkZvcm0gRGlzcG9zaXRpb25zIC0gVGhlc2UgZGV0ZXJtaW5lIHdoYXQgaGFwcGVucyB3aGVuIHRoZSB1c2VyDQpzdWJtaXRzIHRoZSBmb3JtOyBmb3IgZWFjaCByZXN1bHQgaGFuZGxpbmcgZmllbGQsIHNvbWUgbWV0aG9kIG9mIHRyYW5zbWl0dGluZywgc2F2aW5nLCBvciBlbWFpbGluZyB0aGUNCmZvcm0gY29udGVudHMgdGFrZXMgcGxhY2UuIEEgZm9ybSBtYXkgaGF2ZSBtdWx0aXBsZSBmb3JtIGRpc3Bvc2l0aW9ucy48L2xpPg0KPC91bD4NCjxwPkZvcm0gZmllbGRzIGFyZSBhc3NpZ25lZCBuYW1lcy4gVGhlc2UgbmFtZXMgaWRlbnRpZnkgdGhlIGZpZWxkLCBub3Qgb25seSBvbiB0aGUgc2NyZWVuIGFzIGxhYmVscyBmb3IgdGhlIHVzZXIsDQpidXQgaW4gdGhlIGRhdGEgd2hlbiBpdCYjMDM5O3Mgc3VibWl0dGVkIHNvIHlvdSBrbm93IHdoYXQgdGhlIHVzZXIgaXMgcmVzcG9uZGluZyB0by4gUGhyYXNpbmcgdGhlIG5hbWUgbGlrZSBhIHF1ZXN0aW9uDQppcyBhIGhhbmR5IHdheSBvZiBtYWtpbmcgaXQgY2xlYXIgdG8gdGhlIHVzZXIgd2hhdCBpcyBleHBlY3RlZC4gU2ltaWxhcmx5LCBzb21lIGZpZWxkcyBoYXZlIGJvdGggTmFtZXMgYW5kIFZhbHVlcy4NClRoZSBOYW1lcyBhcmUgd2hhdCBnZXRzIHNob3duIHRvIHRoZSB1c2VyOyB0aGUgVmFsdWUgaXMgd2hhdCBnZXRzIHNhdmVkIG9yIHRyYW5zbWl0dGVkIHdoZW4gdGhlIHVzZXIgc3VibWl0cw0KdGhlIGZvcm0uIFRoZSBWYWx1ZXMgYXJlIG5ldmVyIHNlZW4gYnkgdGhlIHVzZXIsIG5vciBhcmUgdGhleSB2aXNpYmxlIGluIHRoZSBIVE1MLCBzbyBpdCYjMDM5O3Mgc2FmZSB0byB1c2UgZm9yDQplbWFpbCBhZGRyZXNzZXMgYW5kIHN1Y2guPC9wPg0KPHA+U29tZSBmaWVsZHMgY2FuIGhhdmUgbXVsdGlwbGUgdmFsdWVzLCBvciBtdWx0aXBsZSBuYW1lL3ZhbHVlIHBhaXJzLiBXaGVuIHlvdSBmaXJzdCBjcmVhdGUgc3VjaCBhIGZpZWxkLA0KdGhlcmUgbWF5IG5vdCBiZSBzdWZmaWNpZW50IGlucHV0cyBmb3IgeW91IHRvIHNwZWNpZnkgYWxsIHRoZSB2YWx1ZXMgeW91IHdhbnQuIFRvIGdldCBtb3JlIHNwYWNlIGZvciBpbnB1dHRpbmcNCnRoZXNlIHZhbHVlcywgc2ltcGx5IHNhdmUgdGhlIGZpZWxkLCBhbmQgdGhlbiBjbGljayBvbiBpdHMgbmFtZSB0byBlZGl0IGl0IGFnYWluLiBFdmVyeSB0aW1lIHlvdSBlZGl0IHN1Y2ggYQ0KZmllbGQsIHlvdSB3aWxsIHJlY2VpdmUgbW9yZSBpbnB1dHMuPC9wPg0KPHA+RmllbGRzIGNhbiBiZSBhc3NpZ25lZCB2YWxpZGF0aW9uIHJ1bGVzLCB3aGljaCB2YXJ5IGFjY29yZGluZyB0byB0aGUgdHlwZSBvZiB0aGUgZmllbGQuIFRoZXNlIHJ1bGVzIGhlbHANCmVuc3VyZSB0aGF0IHRoZSB1c2VyIGVudGVycyB2YWxpZCBkYXRhLiBUaGV5IG1heSBhbHNvIGJlDQpzZXBhcmF0ZWx5IG1hcmtlZCAmcXVvdDtSZXF1aXJlZCZxdW90Oywgd2hpY2ggd2lsbCBmb3JjZSB0aGUgdXNlciB0byBlbnRlciBhIHJlc3BvbnNlLjwvcD4NCjxwPkZpZWxkcyBhbHNvIG1heSBiZSBhc3NpZ25lZCBhIENTUyBjbGFzcy4gVGhpcyBzaW1wbHkgd3JhcHMgdGhlIGlucHV0IGluIGEgZGl2IHdpdGggdGhhdCBjbGFzcywgc28gYXMgdG8gYWxsb3cNCmN1c3RvbWl6ZWQgbGF5b3V0cy4gVG8gdXNlIHRoaXMgZWZmZWN0aXZlbHksIHlvdSBtYXkgbmVlZCB0byAmcXVvdDt2aWV3IHNvdXJjZSZxdW90OyBvbiB0aGUgZ2VuZXJhdGVkIGZvcm0sIGFuZCB0aGVuDQp3cml0ZSB5b3VyIENTUy48L3A+DQo8dWw+DQo8bGk+U3RhbmRhcmQgSW5wdXRzDQo8dWw+PGxpPlRleHQgSW5wdXQuIFRoaXMgaXMgYSBzdGFuZGFyZCB0ZXh0IGZpZWxkLiBZb3UgY2FuIGxpbWl0IHRoZSBsZW5ndGgsIGFuZCBhcHBseSB2YXJpb3VzIHZhbGlkYXRpb24NCmZ1bmN0aW9ucyB0byB0aGUgZmllbGQuPC9saT4NCjxsaT5UZXh0IEFyZWEuIFRoaXMgaXMgYSBiaWcsIGZyZWUtZm9ybSB0ZXh0IGlucHV0IGZpZWxkLjwvbGk+DQo8bGk+Q2hlY2tib3guIFRoaXMgaXMgYSBzdGFuZGFyZCBjaGVjayBib3guIElmIHlvdSB0dXJuIG9uIHZhbGlkYXRpb24sIHlvdSBjYW4gcmVxdWlyZSB0aGF0IHRoZSB1c2VyIGNoZWNrcw0KdGhlIGJveC4gVGhpcyBpcyB1c2VmdWwgZm9yIGZvcm1zIHdoZXJlIHRoZSB1c2VyIGlzIG9ibGlnYXRlZCB0byBhZ3JlZSB0byBzb21ldGhpbmcgaW4gb3JkZXIgdG8gc3VibWl0DQp0aGUgZm9ybS48L2xpPg0KPGxpPkNoZWNrYm94IEdyb3VwLiBUaGlzIGlzIGEgY29sbGVjdGlvbiBvZiBjaGVja2JveGVzLiBUaGUgb25seSBkaWZmZXJlbmNlIGJldHdlZW4gdGhpcyBpbnB1dCBhbmQgYQ0KY29sbGVjdGlvbiBvZiBDaGVja2JveCBpbnB1dHMgaXMgdGhhdCB0aGV5IGFyZSBwcmVzZW50ZWQgYXMgYSBncm91cCwgd2l0aCBvbmUgbmFtZSwgYW5kIGNhbiBoYXZlIGEgdmFsaWRhdGlvbg0KZnVuY3Rpb24gcmVxdWlyaW5nIHRoYXQgeW91IGNoZWNrIG9uZSBvciBtb3JlIG9mIHRoZSBib3hlcyBpbiB0aGUgZ3JvdXAuPC9saT4NCjxsaT5SYWRpbyBHcm91cC4gVGhpcyBpcyBhIGNvbGxlY3Rpb24gb2YgcmFkaW8gYnV0dG9ucy4gT25seSBvbmUgb2YgdGhlIGdyb3VwIG1heSBiZSBzZWxlY3RlZCBieSB0aGUgdXNlci48L2xpPg0KPGxpPlB1bGxkb3duLiBUaGlzIGlzIGEgc3RhbmRhcmQgcHVsbGRvd24gbWVudS4gSXQmIzAzOTtzIHJlYWxseSBjb25jZXB0dWFsbHkgdGhlIHNhbWUgdGhpbmcgYXMgYSByYWRpbyBidXR0b24NCmdyb3VwLCBidXQgaXMgYmV0dGVyIHdoZW4gdGhlcmUgYXJlIGEgbGFyZ2UgbnVtYmVyIG9mIG9wdGlvbnMuPC9saT4NCjxsaT5TdGF0ZS4gVGhpcyBpcyBhIHB1bGxkb3duIGxpc3RpbmcgdGhlIFN0YXRlcyBvZiB0aGUgVS5TLjwvbGk+DQo8bGk+Q291bnRyaWVzLiBUaGlzIGlzIGEgcHVsbGRvd24gbGlzdGluZyB0aGUgQ291bnRyaWVzIG9mIHRoZSB3b3JsZCAoYXMgb2YgSnVseSAyMDA1KS48L2xpPg0KPGxpPkRhdGUgUGlja2VyLiBUaGlzIGlzIGEgdHJpcGxlIHB1bGxkb3duIGFsbG93aW5nIHRoZSB1c2VyIHRvIHNlbGVjdCBhIGRhdGUuPC9saT4NCjwvdWw+PC9saT4NCg0KPGxpPkVtYWlsLW9ubHkgSW5wdXRzDQo8dWw+PGxpPkZpbGUgVXBsb2FkLiBUaGlzIGFsbG93cyBhIHVzZXIgdG8gdXBsb2FkIGEgZmlsZSwgd2hpY2ggd2lsbCBiZSBpbmNsdWRlZCBhcyBhbiBhdHRhY2htZW50IHRvIGFueSBlbWFpbA0KZGlzcG9zaXRpb24uIEZpbGUgdXBsb2FkcyBkbyBub3QgY3VycmVudGx5IHdvcmsgd2l0aCB0aGUgRmxhdCBGaWxlIGRpc3Bvc2l0aW9uIG1ldGhvZC48L2xpPg0KPGxpPkVtYWlsIEZyb20gRmllbGQuIFRoaXMgYWxsb3dzIHVzZXJzIHRvIHByb3ZpZGUgdGhlaXIgbmFtZSBhbmQgZW1haWwgYWRkcmVzcy4gVGhlIGVtYWlsIGdlbmVyYXRlZCB3aGVuIHRoZQ0KZm9ybSBnZXRzIGhhbmRsZWQgd2lsbCB1c2UgdGhpcyBuYW1lIGFuZCBhZGRyZXNzIGluIHRoZSAmcXVvdDtGcm9tJnF1b3Q7IGZpZWxkLjwvbGk+DQo8L3VsPjwvbGk+DQoNCjxsaT5EaXNwbGF5IENvbnRyb2wgRmllbGRzPHVsPg0KPGxpPlBhZ2UgQnJlYWsuIFRoaXMgYWxsb3dzIHlvdSB0byBzcGxpdCB5b3VyIGZlZWRiYWNrIGZvcm0gaW50byBtdWx0aXBsZSBwYWdlcy4gRWFjaCBwYWdlIGlzDQppbmRlcGVuZGVudGx5IHZhbGlkYXRlZC4gVGhpcyBpcyBnb29kIGZvciBhcHBsaWNhdGlvbnMgbGlrZSBvbmxpbmUgc3VydmV5cy48L2xpPg0KPGxpPlN0YXRpYyBUZXh0LiBUaGlzIGFsbG93cyB5b3UgdG8gcGxhY2UgdGV4dCBpbiB5b3VyIGZvcm0uIEl0JiMwMzk7cyBjYWxsZWQgYW4gaW5wdXQsIGJ1dCBpdCYjMDM5O3MgZGlzcGxheSBvbmx5LiBUaGlzIGlzIHVzZWZ1bCBmb3IgcHJlc2VudGluZyBpbnN0cnVjdGlvbnMsIGhlbHAsIGV0Yy48L2xpPg0KPC91bD48L2xpPg0KDQo8bGk+U3BlY2lhbCBQdXJwb3NlIEZpZWxkczx1bD4NCjxsaT5GdW5jdGlvbiBDYWxsYmFjayAmcXVvdDtJbnB1dCZxdW90Oy4gVGhpcyBhbGxvd3MgcHJvZ3JhbW1lcnMgdG8gYWNjZXNzIGluZm9ybWF0aW9uIGZyb20gb3RoZXIgbW9kdWxlcyAoc3VjaCBhcyBnZXR0aW5nIHVzZXIgbmFtZSBkYXRhIGZyb20gYSB1c2VyIGF1dGhlbnRpY2F0aW9uIG1vZHVsZSkuPC9saT48L3VsPjwvbGk+DQoNCjxsaT5Gb3JtIEhhbmRsaW5nIElucHV0cyAoRGlzcG9zaXRpb25zKQ0KPHVsPjxsaT5FbWFpbCBSZXN1bHRzIEJhc2VkIG9uIFB1bGxkb3duLiBUaGlzIGlzIHVzZWZ1bCBmb3Igd2ViIHNpdGVzIHdoZXJlIGNvbW1lbnRzIGdldCByb3V0ZWQgYmFzZWQgb24NCnRoZWlyIHN1YmplY3QgbWF0dGVyLCBlLmcuLCBidWdzIGdldCBzZW50IHRvIG9uZSBwZXJzb24sIG1hcmtldGluZyBxdWVzdGlvbnMgdG8gYW5vdGhlciBwZXJzb24sIHNhbGVzIHJlcXVlc3RzDQp0byBzb21lb25lIGVsc2UsIGV0Yy4gVGhlIHB1bGxkb3duIGlzIHBvcHVsYXRlZCB3aXRoIHRoZSBzdWJqZWN0cywgYW5kIGVhY2ggZ2V0cyBkaXJlY3RlZCB0byBhIHNwZWNpZmljIGVtYWlsDQphZGRyZXNzLiBZb3Ugc2V0IHVwIHRoZXNlIG1hcHBpbmdzIGluIHRoZSB3aGVuIHlvdSBjcmVhdGUgb3IgZWRpdCBhIGZpZWxkIG9mIHRoaXMgdHlwZS4gSWYgeW91IHVzZSBvbmUgb2YNCnRoZXNlICZxdW90O0RpcmVjdG9yJnF1b3Q7IHB1bGxkb3ducywgdGhlIHVzZXIgbXVzdCBtYWtlIGEgc2VsZWN0aW9uIGluIG9yZGVyIHRvIHN1Ym1pdCB0aGUNCmZvcm0uIFRoaXMgaW5wdXQgaXMgcGFydCBvZiB0aGUgZm9ybSB0aGUgdXNlciBzZWVzLCBhbHRob3VnaCB0aGUgZW1haWwgYWRkcmVzc2VzIGFyZSBub3QgbWFkZSB2aXNpYmxlIG5vcg0KYXJlIHRoZXkgZW1iZWRkZWQgaW4gdGhlIEhUTUwuPC9saT4NCjxsaT5FbWFpbCBSZXN1bHRzIHRvIHNldCBBZGRyZXNzKGVzKS4gVGhpcyBzaW1wbHkgc2VuZHMgdGhlIGZvcm0gcmVzdWx0cyB0byBvbmUgb3IgbW9yZSBlbWFpbCBhZGRyZXNzZXMgdGhhdA0KeW91IGVudGVyIHdoZW4geW91IGNyZWF0ZSBvciBlZGl0IHRoaXMgdHlwZSBvZiBmaWVsZC4gVGhpcyBmaWVsZCBhbmQgaXRzIG5hbWUgYXJlIG5vdCB2aXNpYmxlIGluIHRoZQ0KZm9ybSB0aGF0IHRoZSB1c2VyIHNlZXMuIFRoZSBlbWFpbCBhZGRyZXNzZXMgYXJlIG5vdCBtYWRlIHZpc2libGUgbm9yDQphcmUgdGhleSBlbWJlZGRlZCBpbiB0aGUgSFRNTC48L2xpPg0KPGxpPkVtYWlsIFJlc3VsdHMgdG8gVXNlci1TZWxlY3RlZCBTaXRlIFVzZXIuIFRoaXMgaW5wdXQgaXMgb3VyIGZpcnN0IGVuZC11c2VyIHN1Z2dlc3Rpb24hIEl0IGNyZWF0ZXMgYSANCnB1bGxkb3duIG9mIHVzZXJuYW1lcyBpbiB0aGUgZm9ybS4gVGhlIHVzZXJuYW1lcyBhcmUgb3RoZXIgdXNlcnMgd2hvIGFyZSByZWdpc3RlcmVkIHdpdGggdGhlIHNpdGUuDQpXaGVuIHRoZSBmb3JtIGlzIHN1Ym1pdHRlZCwgdGhlIGRhdGEgaXMgc2VudCB0byB0aGUgdXNlciB3aG9zZSBuYW1lIHdhcyBzZWxlY3RlZC4gV2hlbiB5b3UgY3JlYXRlDQphIGZpZWxkIG9mIHRoaXMgdHlwZSwgeW91IG1heSBzZWxlY3Qgc3BlY2lmaWMgZ3JvdXBzIGZyb20gd2hpY2ggdGhlIHVzZXJsaXN0IGlzIGNyZWF0ZWQuIFRoaXMgaW5wdXQgaXMNCnBhcnQgb2YgdGhlIGZvcm0gdGhlIHVzZXIgc2VlcywgYWx0aG91Z2ggdGhlIGVtYWlsIGFkZHJlc3NlcyBhcmUgbm90IG1hZGUgdmlzaWJsZSBub3IgYXJlIHRoZXkgZW1iZWRkZWQNCmluIHRoZSBIVE1MLjwvbGk+DQo8bGk+V3JpdGUgUmVzdWx0cyB0byBGbGF0IEZpbGUuIFRoaXMgdGFrZXMgdGhlIGZvcm0gcmVzdWx0cyBhbmQgd3JpdGVzIHRoZW0gaW50byBhIHRleHQgZmlsZS4gWW91IG1heQ0Kc2VsZWN0IHRoZSBuYW1lIG9mIHRoZSBmaWxlLCBhbmQgaXRzIGZvcm1hdC4gWW91IGNhbiBjaG9vc2UgZnJvbSAmcXVvdDtwYWdlJnF1b3Q7IGZvcm1hdCwgd2hpY2ggbG9va3MgbGlrZSB0aGUNCmVtYWlscyB0aGF0IGdldCBzZW50IGJ5IHRoZSBvdGhlciBoYW5kbGVycywgb3IgeW91IGNhbiBjaG9vc2UgYSB0YWItZGVsaW1pdGVkIGZvcm1hdCB1c2VmdWwgZm9yIHJlYWRpbmcNCmludG8gRXhjZWwgb3Igc2ltaWxhciBwcm9ncmFtcy4gSWYgeW91IGNob29zZSB0YWItZGVsaW1pdGVkLCB5b3UgY2FuIG9wdCB0byBoYXZlIHRoZSBmaWxlIHN0YXJ0IHdpdGgNCmEgaGVhZGVyIHJvdywgd2hpY2ggbmFtZXMgdGhlIGNvbHVtbnMuIFRoZXNlIGZpbGVzIGFyZSB3cml0dGVuIHRvIHRoZSAmcXVvdDtvdXRwdXQmcXVvdDsgZGlyZWN0b3J5IHVuZGVyIHRoZQ0KbW9kdWxlJiMwMzk7cyBpbnN0YWxsYXRpb24gZGlyZWN0b3J5Lg0KPC91bD48L2xpPjwvbGk+PC91bD4NCg0KPGgzPktub3duIElzc3VlczwvaDM+DQo8dWw+DQo8bGk+RmlsZSBVcGxvYWQgSW5wdXRzIG1heSBiZSB1c2VkIG9uIG11bHRpLXBhZ2UgZmVlZGJhY2sgZm9ybXMsIDxzdHJvbmc+YnV0IHRoZXkgbXVzdCBiZSBvbiB0aGUgbGFzdCBwYWdlPC9zdHJvbmc+IG9mDQp0aGUgZm9ybS48L2xpPg0KPGxpPkZpbGUgVXBsb2FkICZxdW90O21heGltdW0gc2l6ZSZxdW90OyBjYW5ub3QgYmUgbGFyZ2VyIHRoYW4gdGhlIHZhbHVlIHNldCBpbiB5b3VyIHBocC5pbmkgZmlsZS4gVGhpcyBpcyBub3QgYSBidWcgLS0gdGhpcyBpcyBhIGZlYXR1cmUuPC9saT4NCjxsaT5GaWxlIFVwbG9hZCAmcXVvdDttYXhpbXVtIHNpemUmcXVvdDsgdXNlcyB1bml0cyBjYWxsZWQgJnF1b3Q7a2lsb2J5dGVzJnF1b3Q7IHRoYXQgYXJlIDEwMDAgYnl0ZXMsIG5vdCAxMDI0IGJ5dGVzLjwvbGk+DQo8bGk+RmlsZSBVcGxvYWRzIGRvIG5vdCBjdXJyZW50bHkgd29yayB3aXRoIHRoZSBGbGF0IEZpbGUgZGlzcG9zaXRpb24gbWV0aG9kLjwvbGk+DQo8bGk+RmlsZSBVcGxvYWRzIGNvdWxkIGFsbG93IHVzZXJzIHRvIHN1Ym1pdCBvZmZlbnNpdmUsIG9ic2NlbmUsIG9yIGlsbGVnYWwgbWF0ZXJpYWwuIEl0IGNvdWxkIGFsc28gYmUgdXNlZCB0byB0cmFuc21pdA0KZGFuZ2Vyb3VzIGZpbGVzIHN1Y2ggYXMgdHJvamFuLWhvcnNlcywgdmlydXNlcywgb3Igb3RoZXIgc2VjdXJpdHkgdGhyZWF0cy4gVXNlIEZpbGUgVXBsb2FkcyB3aXRoIGNhdXRpb24gYW5kIGNvbW1vbiBzZW5zZS48L2xpPg0KPC91bD4NCg0KPGgzPlRyb3VibGVzaG9vdGluZzwvaDM+DQo8b2w+PGxpPiBGaXJzdCBzdGVwIGlzIHRvIGNoZWNrIHlvdSYjMDM5O3JlIHJ1bm5pbmcgQ01TIDAuMTAueCBvciBsYXRlci48L2xpPg0KPGxpPiBTZWNvbmQgc3RlcCBpcyB0byByZWFkIGFuZCB1bmRlcnN0YW5kIHRoZSBjYXZlYXQgYWJvdXQgV1lTSVdZRyBlZGl0b3JzIHVwIGluIHRoZQ0Kc2VjdGlvbiA8ZW0+QWRkaW5nIGEgRm9ybSB0byBhIFBhZ2U8L2VtPi48L2xpPg0KPGxpPiBKdXN0IG1lc3MgYXJvdW5kIGFuZCB0cnkgY2xpY2tpbmcgb24gbGlua3MgYW5kIGljb25zIGFuZCBzdHVmZi4gU2VlIHdoYXQgaGFwcGVucy48L2xpPg0KPGxpPiBMYXN0IHJlc3BvcnQgaXMgdG8gZW1haWwgbWUgb3IgY2F0Y2ggbWUgb24gSVJDIGFuZCB3ZSBjYW4gZ28gZnJvbSB0aGVyZS48L2xpPg0KPC9vbD4gDQo8cD5UaGlzIG1heSBubyBsb25nZXIgYmUgc3VjaCBhbiBlYXJseSB2ZXJzaW9uLCBidXQgaXQgaXMgcHJvYmFibHkgc3RpbGwgYnVnZ3kuIFdoaWxlIEkmIzAzOTt2ZSBkb25lIGFsbCBJIGNhbg0KdG8gbWFrZSBzdXJlIG5vIGVncmVnaW91cyBidWdzIGhhdmUgY3JlcHQgaW4sIEkgaGF2ZSB0byBhZG1pdCB0aGF0IGR1cmluZyB0ZXN0aW5nLCB0aGlzIHByb2dyYW0NCnJldmVhbGVkIHNldmVuIGNvY2tyb2FjaGVzLCB0d28gZWFyd2lncywgYSBzbWFsbCBmYW1pbHkgb2YgYXBoaWRzLCBhbmQgYSB3YWxraW5nLXN0aWNrIGluc2VjdC4gSXQgYWxzbw0KYXRlIHRoZSBuZWlnaGJvciYjMDM5O3MgbmFzdHkgbGl0dGxlIHlhcCBkb2csIGZvciB3aGljaCBJIHdhcyBpbmFwcHJvcHJpYXRlbHkgZ3JhdGVmdWwuPC9wPg0KPHA+VGhlIGZpbmFsIHJlbGVhc2Ugd2lsbCBpbmNsdWRlIGJ1ZyBmaXhlcywgZG9jdW1lbnRhdGlvbiwgYW5kIHVuY29uZGl0aW9uYWwgbG92ZS48L3A+DQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+DQo8dWw+DQo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCwgcGxlYXNlIHZpc2l0IHRoZSBDTVMgRGV2ZWxvcGVyIENlbnRlciBhdCA8YSBocmVmPSZxdW90O2h0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcmcXVvdDs+aHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZzwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9JnF1b3Q7aHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnJnF1b3Q7PkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+DQo8bGk+VGhlIGF1dGhvciwgU2pHLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9JnF1b3Q7aXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zJnF1b3Q7PkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4NCjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseS48L2xpPiAgDQo8L3VsPg0KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0DQpvZiB0aGUgbGljZW5zZSBmb3IgdGhlIGZ1bGwgZGlzY2xhaW1lci48L3A+DQoNCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA2LCBTYW11ZWwgR29sZHN0ZWluIDxhIGhyZWY9JnF1b3Q7bWFpbHRvOnNqZ0BjbXNtb2R1bGVzLmNvbSZxdW90Oz48c2pnQGNtc21vZHVsZXMuY29tPjwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPlRoaXMgbW9kdWxlIGhhcyBiZWVuIHJlbGVhc2VkIHVuZGVyIHRoZSA8YSBocmVmPSZxdW90O2h0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCZxdW90Oz5HTlUgUHVibGljIExpY2Vuc2U8L2E+LiBZb3UgbXVzdCBhZ3JlZSB0byB0aGlzIGxpY2Vuc2UgYmVmb3JlIHVzaW5nIHRoZSBtb2R1bGUuPC9wPg0KCQkNCic7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICcJCSAgICA8dWw+DQoJCSAgICA8bGk+VmVyc2lvbiAwLjkuMTEgLSA5IEZlYnJ1YXJ5IDIwMDYuIEJ1ZyBmaXhlcyBmb3IgdHJhY2tlciBidWdzICMyOTMsICMzMjksICMzMDQsICMzMzc8L2xpPg0KCQkgICAgPGxpPlZlcnNpb25zIDAuOS54IC0gT2N0b2JlciwgTm92ZW1iZXIgMjAwNS4gQ29udGludWluZyBidWcgZml4ZXMuPC9saT4NCgkJICAgIDxsaT5WZXJzaW9uIDAuOSAtICAyIE9jdG9iZXIgMjAwNS4gTWlncmF0ZWQgdG8gcHJvcGVyIE1vZHVsZSBBUEkgKGxhbmcsIHNtYXJ0eSB0ZW1wbGF0ZXMsIGV0Yy4pLjwvbGk+DQogICAgICAgICAgICA8bGk+VmVyc2lvbiAwLjggLSAzMSBKdWx5IDIwMDUuIEJ1ZyBmaXhlcywgYWRkZWQgRGF0ZSBhbmQgQ2FsbGJhY2sgRnVuY3Rpb24gaW5wdXQgdHlwZXMuPC9saT4NCiAgICAgICAgICAgIDxsaT5WZXJzaW9uIDAuNy4zIC0gMjEgSnVseSAyMDA1LiBCdWcgZml4ZXMsIGFkZGVkIFN0YXRlIGFuZCBDb3VudHJ5IGlucHV0IHR5cGVzLjwvbGk+DQogICAgICAgICAgICA8bGk+VmVyc2lvbiAwLjcuMiAtIDE4IEp1bHkgMjAwNS4gVmFsaWRhdGlvbiBidWcgZml4ZXMsIGZpeGVkIFBIUE1haWxlciBsb2NhbGl6YXRpb24uPC9saT4NCiAgICAgICAgICAgIDxsaT5WZXJzaW9uIDAuNy4xIC0gMSBKdW5lIDIwMDUuIE1pbm9yIGJ1ZyBmaXhlcy48L2xpPg0KICAgICAgICAgICAgPGxpPlZlcnNpb24gMC43IC0gMjQgTWF5IDIwMDUuIE1vcmUgYW5kIGJldHRlciBzdXBwb3J0IGZvciBDU1MgYW5kIHB1cmUgQ1NTIGxheW91dHMuDQogICAgICAgICAgICBTdXBwb3J0IGZvciBtdWx0aS1wYWdlIGZvcm1zLg0KICAgICAgICAgICAgTWFueSBuZXcgZm9ybSBvcHRpb25zLiBOZXcgZmllbGQgdHlwZXM6IGZpbGUgdXBsb2FkLCBlbWFpbCAmcXVvdDtmcm9tJnF1b3Q7IGFkZHJlc3MuIEltcHJvdmVkDQogICAgICAgICAgICBlcnJvciBoYW5kbGluZy4gRW1haWwgZGlzcG9zYWwgdHlwZXMgbm93IHRlbXBsYXRlZC48L2xpPg0KCQkJPGxpPlZlcnNpb24gMC42IC0gMTYgQXByIDIwMDUuIFVwZGF0ZWQgZm9yIG5ldyBBZG1pbiwgc2ltcGxpZmllZCBwZXJtaXNzaW9ucy48L2xpPg0KCQkgICAgPGxpPlZlcnNpb24gMC41IC0gNCBNYXIgMjAwNS4gTWlub3IgYnVnIGZpeGVzIGZvciBkZWxldGluZyBmb3Jtcy9maWVsZHMuPC9saT4NCgkJICAgIDxsaT5WZXJzaW9uIDAuNCAtIDIgTWFyIDIwMDUuIExvY2FsaXphdGlvbiBhbmQgbnVtZXJvdXMgYnVnIGZpeGVzLjwvbGk+DQoJCSAgICA8bGk+VmVyc2lvbiAwLjMgLSAyOCBGZWIgMjAwNS4gUHJpbWl0aXZlIGxvY2FsaXphdGlvbiBhbmQgYnVnIGZpeGVzLjwvbGk+DQoJCSAgICA8bGk+VmVyc2lvbiAwLjIgLSAyNCBGZWIgMjAwNS4gQ29udmVydGVkIHRvIHVzZSBPYmplY3RzLiBNYW55IGltcHJvdmVtZW50cyBhbmQgYnVnIGZpeGVzLjwvbGk+DQoJCQk8bGk+VmVyc2lvbiAwLjEgLSAxMSBGZWIgMjAwNS4gSW5pdGlhbCBSZWxlYXNlPC9saT48L3VsPg0KCQknOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMTQ5MTczNzQ2LjEzLjcudXRtY2NuPShyZWZlcnJhbCl8dXRtY3NyPTEyNy4wLjAuMXx1dG1jY3Q9L2Ntc21hZGVzaW1wbGUvYWRtaW4vZWRpdHRlbXBsYXRlLnBocHx1dG1jbWQ9cmVmZXJyYWwnOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4xMDE3NDM3MjYwLjExNDcyNTEwMzQuMTE0OTU4NzE3MC4xMTQ5Nzc1MTIyLjE3JzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nb_NO.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZpZWxkX3R5cGVfdGV4dF9pbnB1dCddID0gJ1Rla3N0IGlubnNrcml2aW5nc2ZlbHQnOwokbGFuZ1snZmllbGRfdHlwZV90ZXh0X2FyZWEnXSA9ICdUZWtzdG9tciZhcmluZztkZSc7CiRsYW5nWydmaWVsZF90eXBlX2NoZWNrYm94J10gPSAnQXZrcnlzbmluZ3Nib2tzJzsKJGxhbmdbJ2ZpZWxkX3R5cGVfY2hlY2tib3hfZ3JvdXAnXSA9ICdBdmtyeXNuaW5nc2Jva3MgZ3J1cHBlJzsKJGxhbmdbJ2ZpZWxkX3R5cGVfcHVsbGRvd24nXSA9ICdOZWR0cmVrayc7CiRsYW5nWydmaWVsZF90eXBlX3N0YXRlJ10gPSAnVS5TLiBTdGF0JzsKJGxhbmdbJ2ZpZWxkX3R5cGVfY291bnRyeSddID0gJ0xhbmQnOwokbGFuZ1snZmllbGRfdHlwZV9kYXRlJ10gPSAnRGF0byB2ZWxnZXInOwokbGFuZ1snZmllbGRfdHlwZV9jYWxsYmFjayddID0gJ0Z1bmt0aW9uIFRpbGJha2VyaW5nICZxdW90O0lubnNrcml2aW5nJnF1b3Q7JzsKJGxhbmdbJ2ZpZWxkX3R5cGVfcmFkaW9fZ3JvdXAnXSA9ICdSYWRpby1rbmFwcCBncnVwcGUnOwokbGFuZ1snZmllbGRfdHlwZV9kaXNwb3NpdGlvbl9kaXJlY3RvciddID0gJypFbWFpbCByZXVsdGF0ZXIgYmFzZXJ0IHAmYXJpbmc7IE5lZHRyZWtrJzsKJGxhbmdbJ2ZpZWxkX3R5cGVfZGlzcG9zaXRpb25fZW1haWwnXSA9ICcqRW1haWwgcmVzdWx0YXRlciBmb3IgJmFyaW5nOyBzZXR0ZSBhZHJlc3NlKHIpJzsKJGxhbmdbJ2ZpZWxkX3R5cGVfZGlzcG9zaXRpb25fZW1haWxfc2l0ZV91c2VyJ10gPSAnKkVtYWlsIHJlc3VsdGF0ZXIgZm9yIEJydWtlci12YWxndCBOZXR0c3RlZCBCcnVrZXInOwokbGFuZ1snZmllbGRfdHlwZV9kaXNwb3NpdGlvbl9maWxlJ10gPSAnKlNrcml2IHJlc3VsdGF0ZXIgdGlsIGZsYXQgZmlsJzsKJGxhbmdbJ2ZpZWxkX3R5cGVfc3RhdGljX3RleHQnXSA9ICdTdGF0aXNrIHRla3N0JzsKJGxhbmdbJ2ZpZWxkX3R5cGVfcGFnZV9icmVhayddID0gJ1NpZGVza2lmdCc7CiRsYW5nWydmaWVsZF90eXBlX2ZpbGVfdXBsb2FkJ10gPSAnRmlsIG9wcGxhc3RpbmcnOwokbGFuZ1snZmllbGRfdHlwZV9lbWFpbF9mcm9tJ10gPSAnRW1haWwgJnF1b3Q7RnJhJnF1b3Q7IGZlbHQnOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnUmVzcG9uc3NramVtYSc7CiRsYW5nWyd2YWxpZGF0aW9uX25vbmUnXSA9ICdJbmdlbiBneWxkaWdoZXRzamVrayc7CiRsYW5nWyd2YWxpZGF0aW9uX25vdF9lbXB0eSddID0gJ1Vra2UgdG9tJzsKJGxhbmdbJ3ZhbGlkYXRpb25fbnVtZXJpYyddID0gJ051bW1lcmlzayc7CiRsYW5nWyd2YWxpZGF0aW9uX2ludGVnZXInXSA9ICdIZWx0YWxsJzsKJGxhbmdbJ3ZhbGlkYXRpb25fZW1haWxfYWRkcmVzcyddID0gJ0VtYWlsYWRyZXNzZSc7CiRsYW5nWyd2YWxpZGF0aW9uX2F0X2xlYXN0X29uZSddID0gJ01pbnN0IGVuIGF2a3J5c3NldCc7CiRsYW5nWyd2YWxpZGF0aW9uX211c3RfY2hlY2snXSA9ICdNJmFyaW5nOyBoYWtlcyBhdic7CiRsYW5nWyd2YWxpZGF0aW9uX29wdGlvbl9zZWxlY3RlZCddID0gJ1ZhbGcgbSZhcmluZzsgdmVsZ2VzJzsKJGxhbmdbJ3BsZWFzZV9lbnRlcl9hX3ZhbHVlJ10gPSAnVmVubmxpZ3N0IGFuZ2kgZW4gdmVyZGkgZm9yJzsKJGxhbmdbJ3BsZWFzZV9lbnRlcl9hX251bWJlciddID0gJ1Zlbm5saWdzdCBhbmdpIGV0IG51bW1lciBmb3InOwokbGFuZ1sncGxlYXNlX2VudGVyX2FuX2ludGVnZXInXSA9ICdWZW5ubGlnc3QgYW5naSBlbiBoZWx0YWxsIHZlcmRpIGZvcic7CiRsYW5nWydwbGVhc2VfZW50ZXJfYW5fZW1haWwnXSA9ICdWZW5ubGlnc3QgYW5naSBlbiBneWxkaWcgZW1haWxhZHJlc3NlIGZvcic7CiRsYW5nWydub3RfdmFsaWRfZW1haWwnXSA9ICdzZXIgaWtrZSB1dCB0aWwgJmFyaW5nOyB2JmFlbGlnO3JlIGVuIGd5bGRpZyBlbWFpbGFkcmVzc2UhJzsKJGxhbmdbJ3BsZWFzZV9lbnRlcl9ub19sb25nZXInXSA9ICdWZW5ubGlnc3Qgb3BwZ2kgZW4gdmVyZGkgc29tIGlra2UgZXIgbGVuZ3JlIGVubic7CiRsYW5nWydwbGVhc2VfY2hlY2tfc29tZXRoaW5nJ10gPSAnVmVubmxpZ3N0IGtyeXNzIGF2IG5vZSBmb3InOwokbGFuZ1sncGxlYXNlX3NlbGVjdF9zb21ldGhpbmcnXSA9ICdWZW5ubGlncyB2ZWxnIG5vZSBmb3InOwokbGFuZ1snZmllbGRfbmFtZV9pbl91c2UxJ10gPSAnRmVsdCBuYXZuJzsKJGxhbmdbJ2ZpZWxkX25hbWVfaW5fdXNlMiddID0gJ2VyIGFsbGVyZWRlIGkgYnJ1ayBpIHNramVtYWV0ISBWZW5ubGlnc3QgZW5kcmUgdGlsIG5vZSB1bmlrdC4nOwokbGFuZ1sneW91X25lZWRfcGVybWlzc2lvbjEnXSA9ICdEdSB0cmVuZ2VyICZxdW90Oyc7CiRsYW5nWyd5b3VfbmVlZF9wZXJtaXNzaW9uMiddID0gJyZxdW90OyByZXR0aWdoZXQgZm9yICZhcmluZzsgdXRmJm9zbGFzaDtyZSBkZW4gb3BlcmFzam9uZW4uJzsKJGxhbmdbJ2xhY2twZXJtaXNzaW9uJ10gPSAnQmVrbGFnZXIhIER1IGhhciBpa2tlIHRpbHN0cmVra2VsaWcgcmV0dGlnaGV0ZXIgZm9yICZhcmluZzsgZiZhcmluZzsgdGlsZ2FuZyB0aWwgc2Vrc2pvbmVuLic7CiRsYW5nWydmaWVsZF9vcmRlcl91cGRhdGVkJ10gPSAnRmVsdCByZWtrZWYmb3NsYXNoO2xnZSBvcHBkYXRlcnQuJzsKJGxhbmdbJ2Zvcm1fZGVsZXRlZCddID0gJ1NramVtYSBzbGV0dGV0Lic7CiRsYW5nWydmaWVsZF9kZWxldGVkJ10gPSAnRmVsdCBzbGV0dGV0Lic7CiRsYW5nWydjb25maWd1cmF0aW9uX3VwZGF0ZWQnXSA9ICdLb25maWd1cmFzam9uIG9wcGRhdGVydC4nOwokbGFuZ1sneW91X211c3RfY2hlY2sxJ10gPSAnRHUgbSZhcmluZzsgaGFrZSBhdiAmcXVvdDsnOwokbGFuZ1sneW91X211c3RfY2hlY2syJ10gPSAnJnF1b3Q7IGZvciAmYXJpbmc7IGt1bm5lIGZvcnRzZXR0ZS4nOwokbGFuZ1snbXVzdF9zcGVjaWZ5X29uZV9kZXN0aW5hdGlvbiddID0gJ0R1IG0mYXJpbmc7IG9wcGdpIG1pbnN0IGVuIG0mYXJpbmc7bCBhZHJlc3NlISc7CiRsYW5nWydhcmVfeW91X3N1cmVfZGVsZXRlX2Zvcm0nXSA9ICdFciBkdSBzaWtrZXIgcCZhcmluZzsgZHUgdmlsIHNsZXR0ZSBza2plbWFldCAlcz8nOwokbGFuZ1snYXJlX3lvdV9zdXJlX2RlbGV0ZV9maWVsZCddID0gJ0VyIGR1IHNpa2tlciBwJmFyaW5nOyBkdSB2aWwgc2xldHRlIGZlbHRldCAlcz8nOwokbGFuZ1snYWJicmV2aWF0aW9uX2xlbmd0aCddID0gJ0xlbmdkZSc7CiRsYW5nWydjaGFyYWN0ZXJzJ10gPSAnYm9rc3RhdmVyJzsKJGxhbmdbJ2JveGVzJ10gPSAnYm9rc2VyJzsKJGxhbmdbJ2ZpZWxkJ10gPSAnRmVsdCc7CiRsYW5nWydvcmRlciddID0gJ1Jla2tlZiZvc2xhc2g7bGdlJzsKJGxhbmdbJ3Vuc3BlY2lmaWVkJ10gPSAnKHVzcGVzaWZpc2VydCknOwokbGFuZ1snYWRkZWQnXSA9ICdsYWd0IHRpbCc7CiRsYW5nWyd1cGRhdGVkJ10gPSAnb3BwZGF0ZXJ0JzsKJGxhbmdbJ2RlbGV0ZWQnXSA9ICdzbGV0dGV0JzsKJGxhbmdbJ2Nob2ljZXMnXSA9ICd2YWxnJzsKJGxhbmdbJ3NlbGVjdF9vbmUnXSA9ICdWZWxnIGVuJzsKJGxhbmdbJ3NlbGVjdF9hX3VzZXInXSA9ICdWZWxnIGVuIGJydWtlcic7CiRsYW5nWydzZWxlY3RfdHlwZSddID0gJ1ZlbGcgVHlwZSc7CiRsYW5nWyd0byddID0gJ1RpbCc7CiRsYW5nWydyZWNpcGllbnRzJ10gPSAnbW90dGFrZXJlJzsKJGxhbmdbJ25vdGUnXSA9ICdNZXJrbmFkJzsKJGxhbmdbJ2FueV91c2VyJ10gPSAnSHZpbGtlbiBzb20gaGVsc3QgQnJ1a2VyJzsKJGxhbmdbJ2xpc3QnXSA9ICdsaXN0ZSc7CiRsYW5nWydub3RfY29uZmlndXJlZCddID0gJ0lra2Uga29uZmlndXJlcnQnOwokbGFuZ1snc2F2ZSddID0gJ0xhZ3JlJzsKJGxhbmdbJ2FkZCddID0gJ0xlZ2cgdGlsJzsKJGxhbmdbJ3VwZGF0ZSddID0gJ09wcGRhdGVyJzsKJGxhbmdbJ3NhdmVfYW5kX2NvbnRpbnVlJ10gPSAnTGFncmUgb2cgZm9ydHNldHQgcmVkaWdlcmluZyc7CiRsYW5nWydpbmZvcm1hdGlvbiddID0gJ0luZm9ybWFzam9uJzsKJGxhbmdbJ2F1dG9tYXRpYyddID0gJ0F1dG9tYXRpc2snOwokbGFuZ1snZm9ybXMnXSA9ICdTa2plbWFlcic7CiRsYW5nWydmb3JtJ10gPSAnU2tqZW1hJzsKJGxhbmdbJ2NvbmZpZ3VyYXRpb24nXSA9ICdLb25maWd1cmVyaW5nJzsKJGxhbmdbJ21haW4nXSA9ICdIb3ZlZCc7CiRsYW5nWydhZGRpdGlvbmFsJ10gPSAnU2tqZW1hIGlubnN0aWxsaW5nZXInOwokbGFuZ1snbm9maWVsZHMnXSA9ICdJbmdlbiBpbm5oZW50aW5ncy1mZWx0ZXIocmVzdWx0YXQpIGVyIGRlZmluZXJ0Lic7CiRsYW5nWydub21ldGhvZCddID0gJ0luZ2VuIG1ldG9kZS9tb2R1bCBzYXR0Lic7CiRsYW5nWydjaGFycyddID0gJ0Jva3N0YXZlcic7CiRsYW5nWydtaXNzaW5nX2Ntc19tYWlsZXInXSA9ICdEZXQgc2VyIHV0IHRpbCBhdCBDTVNNYWlsZXIgaWtrZSBlciBpbnN0YWxsZXJ0ISBSZXNwb25zc2tqZW1hIGF2aGVuZ2VyIGF2IGF0IENNU01haWxlciBlciBpbnN0YWxsZXJ0IG9nIGFrdGl2Lic7CiRsYW5nWydtYXhpbXVtX3NpemUnXSA9ICdNYWtzIHN0Jm9zbGFzaDtycmVsc2UnOwokbGFuZ1sncGVybWl0dGVkX2V4dGVuc2lvbnMnXSA9ICdGaWxlbmRlbHNlL1V0dmlkZWxzZSc7CiRsYW5nWydwZXJtaXR0ZWRfZmlsZXR5cGVzJ10gPSAnVGlsbGF0dGUgZmlsdHlwZXInOwokbGFuZ1snZmlsZV90b29fbGFyZ2UnXSA9ICdPcHBsYXN0ZXQgZmlsIGVyIGZvciBzdG9yISBNYWtzaW11bSBzdCZvc2xhc2g7cnJlbHNlIGVyOic7CiRsYW5nWydpbGxlZ2FsX2ZpbGVfdHlwZSddID0gJ0Rlbm5lIHR5cGUgZmlsIGthbiBpa2tlIGxhc3RlcyBvcHAuIFZlbm5saWdzdCBzamVrayBhdCBmaWxlbmRlbHNlbiBlciBrb3JyZWt0Lic7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZHVsIGF2aW5zdGFsbGVydC4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWwgdmVyc2pvbiAlcyBlciBpbnN0YWxsZXJ0Lic7CiRsYW5nWyd1cGdyYWRlZCddID0gJ01vZHVsIG9wcGdyYWRlcnQgdGlsIHZlcnNqb24gJXMuJzsKJGxhbmdbJ3RpdGxlX21heGltdW1fbGVuZ3RoJ10gPSAnTWFrc2ltdW0gbGVuZ2RlJzsKJGxhbmdbJ3RpdGxlX2NoZWNrYm94X25hbWUnXSA9ICdBdmtyeXNuaW5nc2Jva3MgTmF2bic7CiRsYW5nWyd0aXRsZV9zdWJtaXR0ZWRfdmFsdWUnXSA9ICdBbmdpdHQgdmVyZGknOwokbGFuZ1sndGl0bGVfY2hlY2tib3hfZGV0YWlscyddID0gJ0F2a3J5c25pbmdzYm9rcyBHcnVwcGUgZGV0YWxqZXInOwokbGFuZ1sndGl0bGVfc2VsZWN0X29uZV9tZXNzYWdlJ10gPSAnJnF1b3Q7U2VsZWN0IE9uZSZxdW90OyB0ZWtzdCc7CiRsYW5nWyd0aXRsZV9zZWxlY3Rpb25fc3ViamVjdCddID0gJ1ZhbGcgRW1uZSc7CiRsYW5nWyd0aXRsZV9zZWxlY3RfZGVmYXVsdF9jb3VudHJ5J10gPSAnU3RhbmRhcmQgdmFsZyc7CiRsYW5nWyd0aXRsZV9zZWxlY3Rpb25fbmFtZSddID0gJ1ZhbGcgTmF2bic7CiRsYW5nWyd0aXRsZV9kZXN0aW5hdGlvbl9lbWFpbCddID0gJ00mYXJpbmc7bCBlbWFpbGFkcmVzc2UnOwokbGFuZ1sndGl0bGVfZGlyZWN0b3JfZGV0YWlscyddID0gJ05lZHRyZWtrc2Jhc2VydCBFbWFpbCBEZXRhbGplcic7CiRsYW5nWyd0aXRsZV9lbWFpbF9hZGRyZXNzZXMnXSA9ICdFbWFpbCBBZGRyZXNzZShyKSAmYXJpbmc7IHNlbmRlIFNramVtYXJlc3VsdGF0ZXIgdGlsJzsKJGxhbmdbJ3RpdGxlX2ZpbGVfZm9ybWF0J10gPSAnRmlsZm9ybWF0JzsKJGxhbmdbJ3RpdGxlX2ZpbGVfZm9ybWF0X3RhYiddID0gJ1RhYi1hdnNraWx0ZSB2ZXJkaWVyJzsKJGxhbmdbJ3RpdGxlX2ZpbGVfZm9ybWF0X3RhYl9oZWFkZXInXSA9ICdUYWItYXZza2lsdGUgdmVyZGllciBtZWQgb3ZlcnNrcmlmdGVyJzsKJGxhbmdbJ3RpdGxlX2ZpbGVfZm9ybWF0X3BhZ2UnXSA9ICdTaWRlZm9ybWF0JzsKJGxhbmdbJ3RpdGxlX2ZpbGVfbmFtZSddID0gJ0ZpbG5uYXZuJzsKJGxhbmdbJ3RpdGxlX2VyYXNlX2ZpbGVsb2NrJ10gPSAnU2xldHQgZmlsLWwmYXJpbmc7cyc7CiRsYW5nWyd0aXRsZV9lcmFzZV91c2FnZSddID0gJyhicnVrIGRldHRlIGZvciAmYXJpbmc7IHNsZXR0ZSBmaWwtbCZhcmluZztzZW4gb20gc2tyaXZpbmcgdGlsIGZpbCBmZWlsZXIgcCZhcmluZzsgZ3J1bm4gYXYgZW4ga3Jhc2pldCBwcm9zZXNzKSc7CiRsYW5nWyd0aXRsZV9maWxlX25vdGUnXSA9ICdGaWxlciB2aWwgYmxpIGxhZ3JldCBpIG1vZHVsZXMvRmVlZGJhY2tGb3JtL291dHB1dCBkaXJlY3RvcnksIHVuZGVyIGRpbiBpbnN0YWxsYXNqb25zLXJvb3QuJzsKJGxhbmdbJ3RpdGxlX3VzZXJuYW1lJ10gPSAnTmV0dHNpZGUgQnJ1a2VybmF2bic7CiRsYW5nWyd0aXRsZV9yZWFsX25hbWUnXSA9ICdGdWx0IG5hdm4nOwokbGFuZ1sndGl0bGVfYm90aF9uYW1lcyddID0gJ05ldHRzaWRlIEJydWtlcm5hdm4gKyBGdWx0IG5hdm4nOwokbGFuZ1sndGl0bGVfbm9fZ3JvdXBfcmVzdHJpY3Rpb24nXSA9ICdJbmdlbiBncnVwcGUtcmVzdHJpa3Nqb24nOwokbGFuZ1sndGl0bGVfZW1haWxfc3ViamVjdCddID0gJ0VtYWlsIEVtbmUgbGluamUnOwokbGFuZ1sndGl0bGVfcmVzdHJpY3RfdG9fZ3JvdXAnXSA9ICdCZWdyZW5zIHRpbCBicnVrZXJlIGkgZ3J1cHBlJzsKJGxhbmdbJ3RpdGxlX25hbWVzX2luX3B1bGxkb3duJ10gPSAnTmF2biAmYXJpbmc7IGJydWtlIGkgTmVkdHJla2snOwokbGFuZ1sndGl0bGVfc2VsZWN0X2FfdXNlcl9tZXNzYWdlJ10gPSAnJnF1b3Q7U2VsZWN0IGEgVXNlciZxdW90OyBtZWxkaW5nJzsKJGxhbmdbJ3RpdGxlX3B1bGxkb3duX2NvbnRlbnRzJ10gPSAnTmV0cmVrayBJbm5ob2xkJzsKJGxhbmdbJ3RpdGxlX3JhZGlvX25hbWUnXSA9ICdSYWRpby1rbmFwcCBOYXZuJzsKJGxhbmdbJ3RpdGxlX3JhZGlvX2dyb3VwX2RldGFpbHMnXSA9ICdSYWRpby1rbmFwcCBncnVwcGUgRGV0YWxqZXInOwokbGFuZ1sndGl0bGVfZm9ybV9uYW1lJ10gPSAnU2tqZW1hbmF2bic7CiRsYW5nWyd0aXRsZV9mb3JtX3N0YXR1cyddID0gJ1NramVtYSBzdGF0dXMnOwokbGFuZ1sndGl0bGVfcmVhZHlfZm9yX2RlcGxveW1lbnQnXSA9ICdGZXJkaWcgZm9yIGFudmVuZGVsc2UvdXRwbGFzc2VyaW5nJzsKJGxhbmdbJ3RpdGxlX25vdF9yZWFkeTEnXSA9ICdJa2tlIGZlcmRpZyc7CiRsYW5nWyd0aXRsZV9ub3RfcmVhZHkyJ10gPSAnVmVubmxpZ3MgbGVnZyB0aWwgZXQgZmVsdCB0aWwgc2tqZW1hZXQgcyZhcmluZzsgZW4gYnJ1a2VycyBpbm5za3JpdmluZyBibGlyIGJlaGFuZGxldC4gRHUga2FuICc7CiRsYW5nWyd0aXRsZV9ub3RfcmVhZHlfbGluayddID0gJ2JydWtlIGRlbm5lIHNuYXJ2ZWllbic7CiRsYW5nWyd0aXRsZV9mb3JtX2FsaWFzJ10gPSAnU2tqZW1hIEFraWFzJzsKJGxhbmdbJ3RpdGxlX2Zvcm1fZmllbGRzJ10gPSAnU2tqZW1hIEZlbHRlcic7CiRsYW5nWyd0aXRsZV9maWVsZF9uYW1lJ10gPSAnRmVsdCBOYXZuJzsKJGxhbmdbJ3RpdGxlX2ZpZWxkX3R5cGUnXSA9ICdGZWx0IFR5cGUnOwokbGFuZ1sndGl0bGVfc2hvd19sYWJlbCddID0gJ1NranVsIEZlbHQgRXRpa2V0dCBpIHNramVtYT8nOwokbGFuZ1sndGl0bGVfc2hvd19sYWJlbF9sb25nJ10gPSAnVXRlbGF0IEZlbHQgRXRpa2V0dGVuIHZlZCByZW5kZXJpbmcvdXRmJm9zbGFzaDtyZWxzZSBhdiBza2plbWFldD8nOwokbGFuZ1sndGl0bGVfbm90X3JlYWR5MyddID0gJyZhcmluZzsgb3BwcmV0dGUgZXQgc2tqZW1hIGhhbmRsaW5ncyBmZWx0Lic7CiRsYW5nWyd0aXRsZV90YWdfdG9fdXNlJ10gPSAnVGFnZyBmb3IgJmFyaW5nOyBicnVrZSBkZXR0ZSBza2plbWEnOwokbGFuZ1sndGl0bGVfYWRkX25ld19mb3JtJ10gPSAnTGVnZyB0aWwgbnl0dCBSZXNwb25zc2tqZW1hJzsKJGxhbmdbJ3RpdGxlX2VkaXRfY29uZmlndXJhdGlvbiddID0gJ1JlZGlnZXIgUmVzcG9ucyBrb25maWd1cmFzam9uJzsKJGxhbmdbJ3RpdGxlX2VtYWlsX2Zyb21fbmFtZSddID0gJ0VtYWlsZXQgU2tqZW1hJnF1b3Q7RnJhJnF1b3Q7IE5hdm4nOwokbGFuZ1sndGl0bGVfZm9ybV9mcm9tX2VtYWlsJ10gPSAnU2tqZW1hICZxdW90O0ZyYSZxdW90OyBFbWFpbCBBZHJlc3NlJzsKJGxhbmdbJ3RpdGxlX21haWxfaG9zdCddID0gJ01haWwgKFNNVFApIFZlcnQvSG9zdCc7CiRsYW5nWyd0aXRsZV9sYW5ndWFnZSddID0gJ1NwciZhcmluZztrJzsKJGxhbmdbJ3RpdGxlX2FkZF9uZXdfZmllbGQnXSA9ICdMZWdnIHRpbCBueXR0IGZlbHQnOwokbGFuZ1sndGl0bGVfZm9ybV9zdWJtaXRfYnV0dG9uJ10gPSAnU2tqZW1hIFNlbmQta25hcHAgVGVrc3QnOwokbGFuZ1sndGl0bGVfZm9ybV9uZXh0X2J1dHRvbiddID0gJ1NramVtYSAmcXVvdDtOZXN0ZSZxdW90OyBLbmFwcCB0ZWtzdCAoYnJ1a3QgcCZhcmluZzsgZmxlcnNpZGUtc2tqZW1hZXIpJzsKJGxhbmdbJ3RpdGxlX2Zvcm1fdGhhbmtzX3RleHQnXSA9ICdTa2plbWEgVGFra2UtbWVsZGluZyBUZWtzdCc7CiRsYW5nWyd0aXRsZV9maWVsZF92YWxpZGF0aW9uJ10gPSAnRmVsdCBneWxkaWdoZXRzamVrayc7CiRsYW5nWyd0aXRsZV9kZWZhdWx0X3VzZXInXSA9ICdTdGFuZGFyZCBicnVrZXInOwokbGFuZ1sndGl0bGVfbm9fZGVmYXVsdF91c2VyJ10gPSAnSW5nZW4gc3RhbmRhcmQgYnJ1a2VyJzsKJGxhbmdbJ3RpdGxlX2Nzc19sYXlvdXQnXSA9ICdDU1MgT3Bwc2V0dC9MYXlvdXQnOwokbGFuZ1sndGl0bGVfdXNlX2Nzc19sYXlvdXQnXSA9ICdCcnVrIHJlbnQgQ1NTIG9wcHNldHQgZm9yIHNramVtYSc7CiRsYW5nWyd0aXRsZV9mb3JtX2Nzc19jbGFzcyddID0gJ0NTUyBLbGFzc2UgZm9yIGRldHRlIHNramVtYSc7CiRsYW5nWyd0aXRsZV9maWVsZF9jc3NfY2xhc3MnXSA9ICdDU1MgS2xhc3NlIGZvciBkZXR0ZSBmZWx0JzsKJGxhbmdbJ3RpdGxlX2Zvcm1fcmVxdWlyZWRfc3ltYm9sJ10gPSAnU3ltYm9sIGZvciAmYXJpbmc7IG1hcmtlcmUgbiZvc2xhc2g7ZHZlbmRpZ2UgZmVsdCc7CiRsYW5nWyd0aXRsZV9maWVsZF9yZXF1aXJlZCddID0gJ04mb3NsYXNoO2R2ZW5kaWcnOwokbGFuZ1sndGl0bGVfZmllbGRfcmVxdWlyZWRfbG9uZyddID0gJ0tyZXYgZW4gcmVzcG9ucyBmb3IgZGV0dGUgZmVsdCc7CiRsYW5nWyd0aXRsZV9maWVsZF9yZXF1aXJlZF9hYmJyZXYnXSA9ICdOJm9zbGFzaDtkdi4nOwokbGFuZ1sndGl0bGVfdGFibGVfbGF5b3V0X3R5cGUnXSA9ICdGZWx0IFRpdHRlbCBwb3Npc2pvbiAoa3VuIGlra2UtQ1NTIG9wcHNldHQpJzsKJGxhbmdbJ3RpdGxlX3RhYmxlX2xheW91dF9sZWZ0J10gPSAnVGl0dGVsIHRpbCB2ZW5zdHJlJzsKJGxhbmdbJ3RpdGxlX3RhYmxlX2xheW91dF9hYm92ZSddID0gJ1RpdHRlbCBvdmVyJzsKJGxhbmdbJ3RpdGxlX2luY2x1ZGVfZW1haWxfaW5mbyddID0gJ0lua2x1ZGVyIHNlcnZlciBpbmZvcm1hc2pvbic7CiRsYW5nWyd0aXRsZV9pbmNsdWRlX2VtYWlsX2luZm9fbG9uZyddID0gJ0lua2x1ZGVyIHNlcnZlciBpbmZvcm1hc2pvbiBpIEVtYWlsJzsKJGxhbmdbJ3RpdGxlX2hpZGVfZXJyb3JzJ10gPSAnU2tqdWwgZmVpbCc7CiRsYW5nWyd0aXRsZV9oaWRlX2Vycm9yc19sb25nJ10gPSAnRm9yaGluZHJlIGRlYnVnIC8gZmVpbCBtZWxkaW5nZXIgZnJhICZhcmluZzsgYmxpciB2aXN0IHRpbCBicnVrZXJlLic7CiRsYW5nWyd0aXRsZV9lbWFpbF90ZW1wbGF0ZSddID0gJ0VtYWlsIE1hbCc7CiRsYW5nWyd0aXRsZV9lbWFpbF90ZW1wbGF0ZV92YXJzJ10gPSAnVmFyaWFibGUgdGlsZ2plbmdlbGlnIGZvciBicnVrIGkgRW1haWwgTWFsJzsKJGxhbmdbJ3RpdGxlX3NhbXBsZV90ZW1wbGF0ZSddID0gJ09wcHJldHQgZW4gZWtzZW1wZWwgbWFsJzsKJGxhbmdbJ3RpdGxlX21heGltdW1fc2l6ZSddID0gJ01ha3NpbXVtIG9wcGxhc3RpbmdzIGZpbHN0Jm9zbGFzaDtycmVsc2UgKGtpbG9ieXRlcyknOwokbGFuZ1sndGl0bGVfcGVybWl0dGVkX2V4dGVuc2lvbnMnXSA9ICdUaWxsYXR0ZSBmaWxlbmRlbHNlcic7CiRsYW5nWyd0aXRsZV9wZXJtaXR0ZWRfZXh0ZW5zaW9uc19sb25nJ10gPSAnU2tyaXYgaW5uIGVuIGtvbW1hc2VwYXJlcnQgbGlzdGUsIHVudGF0dCBwdW5rdHVtIChmLmVrcy4gJnF1b3Q7anBnLGdpZixqcGVnJnF1b3Q7KS4gTWVsbG9tcm9tIHZpbCBibGkgaWdub3JlcnQuICZBcmluZzsgbGEgZGV0dGUgc3QmYXJpbmc7IGJsYW5rdCB2aWwgc2kgZGV0IGVyIGluZ2VuIHJlc3RyaWtzam9uZXIuJzsKJGxhbmdbJ3RpdGxlX3Nob3dfbGltaXRhdGlvbnMnXSA9ICdWaXNlIHJlc3RyaWtzam9uZXI/JzsKJGxhbmdbJ3RpdGxlX3Nob3dfbGltaXRhdGlvbnNfbG9uZyddID0gJ1Zpc2Ugc3Qmb3NsYXNoO3JyZWxzZS0gb2cgZmlsZW5kZWxzZS1yZXN0cmlrc2pvbmVyIHAmYXJpbmc7IG9wcGxhc3RpbmdzZmVsdGV0Pyc7CiRsYW5nWyd0aXRsZV9jYWxsYmFja19tb2R1bGUnXSA9ICdUaWxiYWtlcmluZyBNb2R1bCc7CiRsYW5nWyd0aXRsZV9jYWxsYmFja19tZXRob2QnXSA9ICdUaWxiYWtlcmluZyBNZXRvZGUnOwokbGFuZ1sndGl0bGVfY2FsbGJhY2tfZmllbGRzJ10gPSAnUmVzdWx0YXQgZmVsdCAmYXJpbmc7IGlua2x1ZGVyZSc7CiRsYW5nWyd0aXRsZV9jYWxsYmFja19oZWxwJ10gPSAnSGplbHAnOwokbGFuZ1sndGl0bGVfaWRfYW5kX25hbWUnXSA9ICdCcnVrIElEIG9nIE5hdm4gZm9yIENTUyBpbm5za3JpdmluZyc7CiRsYW5nWyd0aXRsZV9kYXRlX2Zvcm1hdCddID0gJ0RhdG8gZm9ybWF0IChzdGFuZGFyZCA8YSBocmVmPSZxdW90O2h0dHA6Ly93d3cucGhwLm5ldC9tYW51YWwvZW4vZnVuY3Rpb24uZGF0ZS5waHAmcXVvdDs+UEhQIERhdGUgRm9ybWF0czwvYT4pJzsKJGxhbmdbJ3RpdGxlX3N0YXRpY190ZXh0J10gPSAnU3RhdGlzayBmZWx0ICZhcmluZzsgdmlzZSAobWFrcyAyNTUgYm9rc3RhdmVyKSc7CiRsYW5nWyd0aXRsZV9jYWxsYmFja19oZWxwbG9uZyddID0gJzxwPkR1IHNwZXNpZmlzZXJlciBlbiBtb2R1bCBvZyBtZXRvZGUuIERlbm5lIG1ldG9kZW5zIHNpZ25hdHVyIHNrYWwgdiZhZWxpZztyZTo8L3A+PGJyIC8+DQpmdW5jdGlvbiBodmFzb21oZWxzdCgkaWQsICZhbXA7JHBhcmFtcywgJHJldHVybmlkLCAmYW1wOyRjbXMpPGJyIC8+PGJyIC8+DQo8cD5EZW5uZSBmdW5rdGlvbiBza2FsIGdpIG5vZSBzb20gZ2lyIG1lbmluZyBpIGV0IHNramVtYSwgPGk+Zi5la3MuPC9pPiBzYW5zeW5saWd2aXMgc2tqdWx0ZSBmZWx0IGlubmVob2xkZW5lZGUgbnl0dGlnIGluZm9ybWFzam9uLjwvcD4NCjxwPiZxdW90O2ZpZWxkcyZxdW90OyBmZWx0ZXQgc2thbCBpbm5oZWxvbGRlIGVuIGtvbW1hLXNlcGFyZXJ0IGxpc3RlIGF2IGZlbHRlciBnZW5lcmVydCBhdiBkZW5uZSBtZXRvZGVuLjwvcD4NCjxwPkVrc2VtcGVsOiBKZWcgaGFyIGVuIG1vZHVsICZxdW90O1VzZXJJRCZxdW90OyBzb20gaGFyIGVuIG1ldG9kZSAmcXVvdDtMb2dnZWRJblVzZXImcXVvdDsuIERlbm5lIG1ldG9kZW4gb3BwcmV0dGVyIHRvIHNranVsdGUgZmVsdGVyIGthbHQgJnF1b3Q7Zmlyc3RfbmFtZSZxdW90OyBvZyAmcXVvdDtsYXN0X25hbWUmcXVvdDsgc29tIGplZyB2aWwgaW5rbHVkZXJlIGkgc2tqZW1hLWlubmxldmVyaW5nZW4uIEplZyB2aSBzJmFyaW5nOyBhbmdpIGYmb3NsYXNoO2xnZW5kZTo8L3A+DQptb2R1bGU6IFVzZXJJRDxiciAvPg0KbWV0aG9kOiBMb2dnZWRJblVzZXI8YnIgLz4NCmZpZWxkczogZmlyc3RfbmFtZSxsYXN0X25hbWU8L2JyPg0KJzsKJGxhbmdbJ2FkbWluZGVzYyddID0gJ0xlZ2cgdGlsLCByZWRpZ2VyIG9nIGJlaGFuZGxlIGludGVyYWt0aXZlIFJlc3BvbnMgc2tqZW1hZXInOwokbGFuZ1snZGF0ZV9hX2phbiddID0gJ0phbic7CiRsYW5nWydkYXRlX2FfZmViJ10gPSAnRmViJzsKJGxhbmdbJ2RhdGVfYV9tYXInXSA9ICdNYXInOwokbGFuZ1snZGF0ZV9hX2FwciddID0gJ0Fwcic7CiRsYW5nWydkYXRlX2FfbWF5J10gPSAnTWFpJzsKJGxhbmdbJ2RhdGVfYV9qdW4nXSA9ICdKdW4nOwokbGFuZ1snZGF0ZV9hX2p1bCddID0gJ0p1bCc7CiRsYW5nWydkYXRlX2FfYXVnJ10gPSAnQXVnJzsKJGxhbmdbJ2RhdGVfYV9zZXAnXSA9ICdTZXAnOwokbGFuZ1snZGF0ZV9hX29jdCddID0gJ09rdCc7CiRsYW5nWydkYXRlX2Ffbm92J10gPSAnTm92JzsKJGxhbmdbJ2RhdGVfYV9kZWMnXSA9ICdEZXMnOwokbGFuZ1snZGF0ZV9qYW51YXJ5J10gPSAnSmFudWFyJzsKJGxhbmdbJ2RhdGVfZmVicnVhcnknXSA9ICdGZWJydWFyJzsKJGxhbmdbJ2RhdGVfbWFyY2gnXSA9ICdNYXJzJzsKJGxhbmdbJ2RhdGVfYXByaWwnXSA9ICdBcHJpbCAnOwokbGFuZ1snZGF0ZV9tYXknXSA9ICdNYWknOwokbGFuZ1snZGF0ZV9qdW5lJ10gPSAnSnVuaSc7CiRsYW5nWydkYXRlX2p1bHknXSA9ICdKdWxpJzsKJGxhbmdbJ2RhdGVfYXVndXN0J10gPSAnQXVndXN0ICc7CiRsYW5nWydkYXRlX3NlcHRlbWJlciddID0gJ1NlcHRlbWJlciAnOwokbGFuZ1snZGF0ZV9vY3RvYmVyJ10gPSAnT2t0b2Jlcic7CiRsYW5nWydkYXRlX25vdmVtYmVyJ10gPSAnTm92ZW1iZXIgJzsKJGxhbmdbJ2RhdGVfZGVjZW1iZXInXSA9ICdEZXNlbWJlcic7CiRsYW5nWydtb250aCddID0gJ00mYXJpbmc7bmVkJzsKJGxhbmdbJ2RheSddID0gJ0RhZyc7CiRsYW5nWyd5ZWFyJ10gPSAnJkFyaW5nO3InOwokbGFuZ1snc3VibWlzc2lvbl90aXRsZSddID0gJ1NramVtYSBpbm5sZXZlcmluZyc7CiRsYW5nWydzdWJtaXNzaW9uX2hvc3QnXSA9ICdWZXJ0JzsKJGxhbmdbJ3N1Ym1pc3Npb25fZm9ybV9uYW1lJ10gPSAnU2tqZW1hJzsKJGxhbmdbJ3N1Ym1pc3Npb25fZGF0ZSddID0gJ0RhdG8nOwokbGFuZ1snc3VibWlzc2lvbl9zb3VyY2UnXSA9ICdLaWxkZSc7CiRsYW5nWydzdWJtaXNzaW9uX3N1YmplY3QnXSA9ICdTa2plbWEgaW5ubGV2ZXJpbmcnOwokbGFuZ1snc3VibWlzc2lvbl9lcnJvciddID0gJ0RldCBoYXIgdiZhZWxpZztydCBlbiBmZWlsIGkgc2tqZW1hIGlubmxldmVyaW5nZW48YnI+VmVubmxpZ3N0IGZvcnMmb3NsYXNoO2sgaWdqZW4gc2VuZXJlLic7CiRsYW5nWydzdWJtaXNzaW9uX2Vycm9yX2ZpbGUnXSA9ICdGZWlsLiBJa2tlIG11bGlnICZhcmluZzsgc2tyaXZlIHRpbCBmaWxlbi4nOwokbGFuZ1sncG9zdF9pbnN0YWxsJ10gPSAnPHA+ViZhZWxpZztyIHNpa2tlciBwJmFyaW5nOyBkdSBzZXR0ZXIgJnF1b3Q7TW9kaWZ5IFJlc3BvbnMgU2tqZW1hJnF1b3Q7KEZlZWRiYWNrRm9ybSkgdGlsbGF0ZWxzZXIgZm9yIGJydWtlcmUgc29tIHNrYWwgYWRtaW5pc3RyZXJlIHJlc3BvbnNza2plbWFlci4gT2dzJmFyaW5nOywgb20gZHUgdmlsIGVtYWlsZSBza2plbWEtcmVzdWx0YXRldCwgaHVzayAmYXJpbmc7IG9wcGRhdGVyZSBrb25maWd1cmFzam9uZW4gaGVuc2lrdG1lc3NpZyBmb3IgZGV0dGUuPC9wPg0KPHA+VmVubmxpZ3MgdiZhZWxpZztyIG9wcG1lcmtzb20gcCZhcmluZzsgYXQgdGlsYmFrZW1lbGRpbmdzc2tqZW1hZXQgaWtrZSBza2FsIHYmYWVsaWc7cmUgYWt0aXZ0ICgtIHRpbGdqZW5nZWxpZyBmb3IgcHVibGlrdW0pIG4mYXJpbmc7ciBkdSBmb3JzYXR0IHJlZGlnZXJlciBza2plbWFldC4gRHUgYiZvc2xhc2g7ciBsYWdlIHNramVtYWV0LCBvZyBwbGFzZXJlIGVuIHRhZ2cgcCZhcmluZzsgZW4gYWt0aXYgaW5uaG9sZHNpZGUgYmFyZSBuJmFyaW5nO3IgZHUgZXIgZmVyZGlnIG1lZCAmYXJpbmc7IHJlZGlnZXJlLiBFbGxlcnMsIGZlaWxha3RpZ2UgcmVzdWx0YXRlciBrYW4gYmxpciByZXR1cm5lcnQgZGVnLjwvcD4NCjxwPkVsbGVycywgZGVubmUgdmVyc2pvbmVuIHRpbGxhdGVyIGlra2UgcGFyYWxlbGwgcmVkaWdlcmluZyBhdiBza2plbWFlci4gVmVubmxpZ3N0IHBhc3MgcCZhcmluZzsgYXQga3VuIGVuIGFkbWluIHJlZGlnZXJlciBldHQgZ2l0dCBza2plbWEgdGlsIGVuaHZlciB0aWQuPC9wPic7CiRsYW5nWydoZWxwJ10gPSAnPGgzPkh2YSBnaiZvc2xhc2g7ciBkZW5uZT88L2gzPg0KPHA+UmVzcG9uc3NramVtYSBNb2R1bGVuIHRpbGxhdGVyIGRlZyAmYXJpbmc7IGxhZ2VyIHNramVtYWVyIGZvciByZXNwb25zIGZyYSBicnVrZXJuZS4gRGlzc2Ugc2tqZW1hZW5lIGthbiBzZXR0ZXMgaW5uIGkgbWFsZXIgb2cvZWxsZXIgaW5uaG9sZHMtc2lkZXIuIFJlc3BvbnNza2plbWFlciBrYW4gaW5uZWhvbGRlIG1hbmdlIHNsYWdzIGlubmRhdGEsIG9nIGthbiBoYSBneWxkaWdoZXRzamVrayB0aWxsYWd0IGRpc3NlIGlubmRhdGEuIFJlc3VsdGF0ZW5lIGZyYSBkaXNzZSBza2plbWFlbmUga2FuIGJlaGFuZGxlcyBwJmFyaW5nOyBtYW5nZSBtJmFyaW5nO3Rlci48L3A+DQoNCjxoMz5Idm9yZGFuIGJydWtlciBqZWcgZGVubmU/PC9oMz4NCjxQPkluc3RhbGxlciBkZW4gb2cgaG9wcCBydW5kdCBpIG1lbnllbmUuIExlayBtZWQgZGVuLiBGb3JzJm9zbGFzaDtrICZhcmluZzsgb3BwcmV0dGUgc2tqZW1hZXIsIG9nIGxlZ2cgZGVtIHRpbCBkaXR0IGlubmhvbGQuDQpPbSBkdSBzdCZhcmluZztyIGZhc3QsIGNoYXQgbWVkIG1lZyBwJmFyaW5nOyAjY21zIElSQyBrYW5hbGVuLCBzZW5kIG1lZGxpbmcgdGlsIGZvcnVtZXQsIHNlbmQgbWVnIGVtYWlsLCBlbGxlciBvbSBkdSBlciB2aXJrZWxpZyBkZXNwZXJhdCwgbGVzIHJlc3RlbiBhdiBkZW5uZSBzaWRlbi48L1A+DQoNCjxoMz5Idm9yZGFuIG9wcHJldHRlciBqZWcgZXQgc2tqZW1hPC9oMz4NCjxwPkkgQ01TIEFkbWluaXN0cmFzam9uc21lbnllbiwgc2thbCBkdSBmJmFyaW5nOyBlbiBueSBtZW55IGthbHQgUmVzcG9uc3NramVtYS9GZWVkYmFja0Zvcm0uIEtsaWtrIHAmYXJpbmc7IGRlbm5lLiBQJmFyaW5nOyBzaWRlbiBzb20gdmlzZXMsIGVyIGRldCB2YWxnIChuZWRlcnN0IHAmYXJpbmc7IGxpc3RlbiBtZWQgc2tqZW1hZXIpIGZvciAmYXJpbmc7IExlZ2dlIHRpbCBldCBueXR0IHNramVtYSBlbGxlciAmYXJpbmc7IGVuZHJlIGtvbmZpZ3VyYXNqb25lbi48L3A+DQoNCjxoMz5MZWdnZSBldCBza2plbWEgdGlsIGVuIHNpZGU8L2gzPg0KPHA+SSBob3ZlZCBSZXNwb25zc2tqZW1hL0ZlZWRiYWNrRm9ybSBhZG1pbmlzdHJhc2pvbnNpZGVuLCBrYW4gZHUgc2UgZXQgZWtzZW1wZWwgcCZhcmluZzsgZW4gdGFnZyBicnVrdCBmb3IgJmFyaW5nOyB2aXNlIGh2ZXJ0IHNramVtYS4gVGFnZ2VuIHNlciBvbXRyZW50IHNsaWsgdXQge2Ntc19tb2R1bGUgbW9kdWxlPSZxdW90O0ZlZWRiYWNrRm9ybSZxdW90OyBmb3JtPSZxdW90O2ZlZWRiYWNrX2Zvcm1fZXhhbXBsZSZxdW90O308L3A+DQo8cD5WZWQgJmFyaW5nOyBrb3BpZXJlIGRlbm5lIHRhZ2dlbiBpbm4gaSBpbm5ob2xkZXQgcCZhcmluZzsgZW4gc2lkZSwgZWxsZXIgdGlsIGVuIG1hbCwgdmlsIGRldHRlIHNramVtYWV0IHZpc2VzLg0KSSB0ZW9yaWVuIGthbiBkdSBoYSBmbGVyZSBza2plbWFlciBwJmFyaW5nOyBlbiBzaWRlIG9tIGR1IHZpbCBkZXQuIFYmYWVsaWc7ciBmb3JzaWt0aWcgb20gZHUgbGltZXIgdGFnZ2VuIGlubiBpIGVuIHNpZGVzIGlubmhvbGQgb20gZHUgYnJ1a2VyIFdZU0lXWUctZWRpdG9yIGYuZWtzLiBUaW55TUNFIGVsbGVyIEhUTUxBcmVhLiBEaXNzZSByZWRpZ2VyZXJuZSBrYW4gZW5kcmUgYW5mJm9zbGFzaDtyc2Vsc3RlZ25lbmUgKCZxdW90OykgdGlsIEhUTUwgZW50aXRldGVyICgmYW1wO3F1b3Q7KSwgb2cgc2tqZW1hZW5lIHZpbCBpa2tlIHZpc2VzLiBGb3JzJm9zbGFzaDtrICZhcmluZzsgYnJ1a2UgZW5rbGUgYW5mJm9zbGFzaDtyc2Vsc3RlZ24gKCYjMDM5OykgZWxsZXIgcmVkaWdlciBIVE1MLWtvZGVuIGRpcmVrdGUuDQoNCjxoMz5MZWdnZSBmZWx0ZXIgdGlsIGV0IHNramVtYTwvaDM+DQo8cD5WRWQgJmFyaW5nOyBrbGlra2UgcCZhcmluZzsgZXQgc2tqZW1hcyBuYXZuLCBrb21tZXIgZHUgdGlsIFNramVtYSBSZWRpZ2VyaW5ncyBzaWRlbi4gRHUgdmkgc2UgZXQgYW50YWxsIHZhbGcgZm9yIHNramVtYWV0DQooc29tIGh2YSBkdSB2aWwgYXQgdGVrc3RlbiBwJmFyaW5nOyBTZW5kLWtuYXBwZW4gc2thbCB2JmFlbGlnO3JlLCBodmlsa2VuIG1lbGRpbmcgc29tIHNrYWwgdmlzZXMgdGlsIGJydWtlcmVuIG4mYXJpbmc7cg0KZGUgc2VuZGVzIHNramVtYWV0LCBvc3YpLiBEZXQgZXIgb2dzJmFyaW5nOyBlbiBsaXN0ZSBtZWQgZmVsdGVyIHNvbSB1dGdqJm9zbGFzaDtyIHNramVtYWV0LiBUeXBlbiBmZWx0ZXIgc29tIGZvciB0aWRlbiBzdCZvc2xhc2g7dHRlcyBnJmFyaW5nO3IgaW5uIGkgZmlyZSBncnVwcGVyOiBzdGFuZGFyZCBpbm5kYXRhIGZlbHRlciwgdmlzbmluZ3Mga29udHJvbGwgZmVsdGVyLCBrdW4tZW1haWwgaW5uZGF0YSBmZWx0ZXIsIG9nIHNramVtYSByZXN1bHRhdCBiZWhhbmRsaW5ncyBmZWx0ZXIgKGVua2VsdGUgc3RlZGVyIG9ncyZhcmluZzsga2FsdCBTa2plbWEgRGlzcG9zaXRpb25zL2dlbXl0dCk6PC9wPg0KPHVsPg0KPGxpPlN0YW5kYXJkIElubmRhdGEgZmVsdGVyIC0gZGV0dGUgZXIgaW5uZGF0YSBzb20gdGlsbGF0ZXIgaW5ubGVnZyBhdiB0eXBpc2tlIHNramVtYSBlbGVtZW50ZXIuPC9saT4NCjxsaT5WaXNuaW5nIGtvbnRyb2xsIGZlbHRlciAtIGRpc3NlIGlubmRhdGFrb250cm9sbGVyZXIgaHZvcmRhbiBicnVrZXJlbiB2aWwgc2UgdmlzbmluZ2VuIGF2IHNramVtYWV0LjwvbGk+DQo8bGk+S3VuLUVtYWlsIGlubmRhdGEgZmVsdGVyIC0gZGlzc2UgZXIgaW5uZGF0YSBzb20gdGlsbGF0ZXIgaW5ubGVnZyBhdiB0eXBpc2tlIHNramVtYSBlbGVtZW50ZXIsIG1lbiBnamVsZGVyIGt1biBmb3Igc2tqZW1hIGdlbXl0dGVyKGRpc3Bvc2l0aW9ucykgc29tIHNlbmRlciByZXN1bHRhdGV0IHZpYSBlbWFpbC48L2xpPg0KPGxpPlNwZXNpYWxmb3JtJmFyaW5nO2wgZmVsdGVyIC0gZGV0dGUgZXIgaW5uZGF0YSBzb20gYmxpciBicnVrdCBmb3IgJmFyaW5nOyBzYW1oYW5kbGUgcHJvZ3JhbWVyaXNrIG1lZCBhbmRyZSBtb2R1bGVyLjwvbGk+DQo8bGk+U2tqZW1hIERpc3Bvc2l0aW9ucy9nZW15dHQgLSBEaXNzZSBiZXN0ZW1tZXIgaHZhIHNvbSBza2plciBuJmFyaW5nO3IgYnJ1a2VyZW4gc2VuZGVyIHNramVtYWV0OyBmb3IgaHZlcnQgcmVzdWx0YXQgYmVoYW5kbGluZ3MgZmVsdCwgbm9lbiBtZXRvZGVyIGZvciBzZW5kaW5nLCBsYWdyaW5nLCBlbGxlciBlbWFpbGluZyBhdiBza2plbWFpbm5ob2xkZXQgdXRmJm9zbGFzaDtyZXMuIEV0IHNramVtYSBrYW4gaGEgZmxlcmUgc2tqZW1hIGRpc3Bvc2l0aW9ucy9nZW15dHQuPC9saT4NCjwvdWw+DQo8cD5Ta2plbWEgZmVsdGVyIGVyIHRpbGRlbHRlIG5hdm4uIERpc3NlIG5hdm5lbmUgaWRlbnRpZmlzZXJlciBmZWx0ZW5lLCBpa2tlIGJhcmUgYmFyZSBwJmFyaW5nOyBza2plcm1lbiBzb20gZXRpa2V0dGVyIGZvciBicnVrZXJlbiwNCm1lbiBvZ3MmYXJpbmc7IGkgZGF0YWVuIG4mYXJpbmc7ciBkZSBzZW5kZXMgcyZhcmluZzsgZHUgdmV0IGh2YSBicnVrZXJlbiBzdmFyZXIgcCZhcmluZzsuIEZvcm11bGVyZSBuYXZuZXQgc29tIGV0IHNwJm9zbGFzaDtyc20mYXJpbmc7bCBlciBlbiBramVrayBtJmFyaW5nO3RlICZhcmluZzsgZ2omb3NsYXNoO3JlIGRldCBrbGFydCBmb3IgYnJ1a2VyZW4gaHZhIHNvbSBmb3J2ZW50ZXMuIFAmYXJpbmc7IHNhbW1lIG0mYXJpbmc7dGUsIG5vZW4gZmVsdCBoYXIgYiZhcmluZztkZSBuYXZuIG9nIHZlcmRpZXIuDQpOYXZuZW5lIGVyIGh2YSBzb20gYmxpciB2aXN0IHRpbCBicnVrZXJlbjsgdmVyZGllbiBlciBodmEgc29tIGJsaXIgbGFncmV0IGVsbGVyIHNlbmR0IG4mYXJpbmc7ciBicnVrZXJlbiBzZW5kZXIgc2tqZW1hZXQuIFZlcmRpZW5lIGJsaXIgYWxkcmkgc2V0dCBhdiBicnVrZXJlbiwgZGUgZXIgaGVsbGVyIGlra2Ugc3lubGlnZSBpIEhUTUwta29kZW4sIHMmYXJpbmc7IGRldCBlciB0cnlndCAmYXJpbmc7IGJydWtlIGZvciBlbWFpbCBhZGRyZXNzZXIgYW5kIHNsaWt0LjwvcD4NCjxwPk5vcm4gZmVsdGVyIGthbiBoYSBmbGVyZSB2ZXJkaWVyLCBlbGxlciBmbGVyZSBuYXZuL3ZlcmRpIHBhci4gTiZhcmluZztyIGR1IGYmb3NsYXNoO3JzdCBvcHByZXR0ZXIgZXQgc2xpa3QgZmVsdCwNCmVyIGRldCBrYW5za2plIGlra2UgdGlsc3RyZWtrZWxpZyBmb3IgZGVnICZhcmluZzsgc3Blc2lmaXNlcmUgYWxsZSB2ZXJkaWVuZSBkdSAmb3NsYXNoO25za2VyLiBGb3IgJmFyaW5nOyBmJmFyaW5nOyBtZXJlIHBsYXNzIHRpbCAmYXJpbmc7IGxlZ2dlIGlubiBkaXNzZSB2ZXJkaWVuZSwgYmFyZSBsYWdyZSBmZWx0ZXQsIG9nIGtsaWtrIHMmYXJpbmc7IHAmYXJpbmc7IGRldHMgbmF2biBmb3IgJmFyaW5nOyByZWRpZ2VyZSBkZXQgaWdqZW4uIEh2ZXIgZ2FuZyBkdSByZWRpZ2VyZXIgZXQgc2xpa3QgZmVsdCwgdmlsIGR1IGYmYXJpbmc7IG1lcmUgdGlsZiZvc2xhc2g7cnNlbC48L3A+DQo8cD5GZWx0ZXIga2FuIHRpbGRlbGVzIGd5bGRpZ2hldHMgcmVnbGVyLCBzb20gdmFyaWVyZXIgZXR0ZXIgdHlwZSBmZWx0LiBEaXNzZSByZWdsZW5lIHZpbCBoamVscGUgcCZhcmluZzsgJmFyaW5nOyBzaWtyZSBhdCBicnVrZXJlbiBvcHBnaXIgZ3lsZGlnIGRhdGEuIERlIGthbiBvZ3MmYXJpbmc7IG1lcmtlcyBzcGVzaWVsdCBtZWQgJnF1b3Q7biZvc2xhc2g7ZHZlbmRpZyZxdW90Oywgc29tIHZpbCB0dmluZ2UgYnJ1a2VyZW4gdGlsICZhcmluZzsgc3ZhcmUuPC9wPg0KPHA+RmVsdGVyIGthbiBvZ3MmYXJpbmc7IHRpbGRlbGVzIGVuIENTUyBrbGFzc2UuIERldHRlIHJldHQgb2cgc2xldHQgcGFra2VyIGlubmRhdGFlbiBpbm4gaSBlbiBkaXYgbWVkIGRlbiBrbGFzc2VuLCBmb3IgJmFyaW5nOyB0aWxsYXR0ZSB0aWxwYXNzZWRlIGxheW91dC4gRm9yICZhcmluZzsgYnJ1a2UgZGV0dGUgZWZmZWt0aXZ0LCBtJmFyaW5nOyBkdSBrYW5za2plICZxdW90O3ZpZXcgc291cmNlJnF1b3Q7L3ZpcyBraWxkZWtvZGUgcCZhcmluZzsgZGV0IGdlbmVyZXJ0ZSBza2plbWFldCwgb2cgcyZhcmluZzsgc2tyaXZlIGRpbiBDU1MuPC9wPg0KPHVsPg0KPGxpPlN0YW5kYXJkIElubmRhdGENCjx1bD48bGk+VGVrc3QgSW5uZGF0YS4gRGV0dGUgZXIgc3RhbmRhcmQgdGVrc3QgZmVsdC4gRHUga2FuIGJlZ3JlbnNlIGxlbmdkZW4sIG9nIGxlZ2dlIHRpbCBmb3Jza2plbGxpZ2UgZ3lsZGlnaGV0c2Z1bmtzam9uZXIgdGlsIGZlbHRldC48L2xpPg0KPGxpPlRla3MgT21yJmFyaW5nO2RlLiBEZXR0ZSBlciBldCBzdG9ydCwgZnJpdHQgaW5uZGF0YSBmZWx0LjwvbGk+DQo8bGk+QXZrcnlzbmluZ3Nib2tzLiBEZXR0ZSBlciBlbiBzdGFuZGFyZCBhdmtyeXNuaW5ncyBib2tzLiBPbSBkdSBza3J1ciBwJmFyaW5nOyBneWxkaWdoZXRzamVraywga2FuIGR1IGtyZXZlIGF0IGJydWtlcmVuIGtyeXNzZXIgYXYgYm9rc2VuLiBEZXR0IGVyIG55dHRpZyBmb3Igc2tqZW1hZXIgaHZvciBicnVrZXJlbiBtJmFyaW5nOyBzaSBzZWcgZW5pZyBtZWQgbm9lIGZvciAmYXJpbmc7IGt1bmRlIHNlbmRlIHNramVtYWV0LjwvbGk+DQo8bGk+QXZrcnlzbmluZ3Nib2tzIGdydXBwZS4gRGV0dGUgZXIgZW4gc2FtbGluZyBhdiBhdmtyeXNuaW5nc2Jva3Nlci4gRGVuIGVuZXN0ZSBmb3Jza2plbGwgcCZhcmluZzsgYXZrcnlzbmluZ3Nib2tzIG9nIGVuIGF2a3J5c25pbmdzYm9rcyBncnVwcGUNCmVyIGF0IGRlIHByZXNudGVyZXMgc29tIGdydXBwZSwgbWVkIGV0IG5hdm4sIG9nIGthbiBoYSBlbiBneWxkaWdoZXRzamVrayBzb20ga3JldmVyIGF0IGR1IGtyeXNzZXIgYXYgZW4gZWxsZXIgZmxlcmUgYXYgYm9rc2VuZSBpIGdydXBwZW4uPC9saT4NCjxsaT5SYWRpb2tuYXBwIEdydXBwZS4gRGV0dGUgZXIgZW4gc2FtbGluZyBhdiByYWRpZWtuYXBwZXIuIEJhcmUgZW4gaSBncnVwcGVuIGthbiB2ZWxnZXMgYXYgYnJ1a2VyZW4uPC9saT4NCjxsaT5OZWR0cmVray4gRGV0dGUgZXIgZW4gc3RhbmRhcmQgbmVkdHJla2sgbWVueS4gSSBrb25zZXB0ZXQgZGV0IHNhbW1lIHNvbSByYWRpb2tuYXBwIGdydXBwZSwgbWVuIGVyIGJlZHJlIG4mYXJpbmc7ciBkZXQgZXIgZXQgc3RvcnQgYW50YWxsIHZhbGcuPC9saT4NCjxsaT5TdGF0LiBEZXR0ZSBlciBlbiBuZWR0cmVrayBsaXN0ZSBtZWQgc3RhdGVuZSBpIFUuUy48L2xpPg0KPGxpPkxhbmQuIERldHRlIGVyIGVuIG5lZHRyZWtrc2xpc3RlIG1lZCBsYW5kZW5lIGkgdmVyZGVuIChwci4gSnVsaSAyMDA1KS48L2xpPg0KPGxpPkRhdG8gVmVsZ2VyLiBEZXR0ZSBlciBlbiB0cmlwcGVsIG5lZHRyZWtrc2xpc3RlIHNvbSB0aWxsYXRlciBicnVrZXJlbiAmYXJpbmc7IHZlbGdlIGVuIGRhdG8uPC9saT4NCjwvdWw+PC9saT4NCg0KPGxpPkt1bi1FbWFpbCBJbm5kYXRhDQo8dWw+PGxpPkZpbCBPcHBsYXN0aW5nLiBEZXR0ZSB0aWxsYXRlciBlbiBicnVrZXIgJmFyaW5nOyBsYXN0ZSBvcHAgZW4gZmlsLCBzb20gdmlsIGJsaSBpbmtsdWRlcnQgc29tIGV0IHZlZGxlZ2cgdGlsIGVuIGVtYWlsIGRpc3Bvc2l0aW9uL2dlbXl0dC4gRmlsIG9wcGxhc3Rpbmcgdmlya2VyIGlra2UgcHIuIGQuZC4gbWVkIEZsYXQgRmlsIGRpc3Bvc2l0aW9uL2dlbXl0dCBtZXRvZGVuLjwvbGk+DQo8bGk+RW1haWwgRnJhLWZlbHQuIERldHRlIHRpbGxhdGVyIGJydWtlcmUgJmFyaW5nOyBvcHBnaSBkZXJlcyBuYXZuIG9nIGVtYWlsYWRyZXNzZS4gRW1haWxlbiBzb20gYmxpciBnZW5lcmVydCBuJmFyaW5nO3Igc2tqZW1hZXQgYmxpciBiZWhhbmRsZXQgdmlsIGJydWtlIGRldHRlIG5hdm5ldCBvZyBlbWFpbGFkcmVzc2VuIGkgJnF1b3Q7RnJhJnF1b3Q7IGZlbHRldC48L2xpPg0KPC91bD48L2xpPg0KDQo8bGk+VmlzbmluZyBLb250cm9sbCBGZWx0ZXI8dWw+DQo8bGk+U2lkZSBza2lmdC4gRGV0dGUgdGlsbGF0ZXIgZGVnICZhcmluZzsgZGVsZSBvcHAgZGl0dCByZXNwb25zc2tqZW1hIHAmYXJpbmc7IGZsZXJlIHNpZGVyLiBIdmVyIHNpZGUgYmxpciB1YXZoZW5naWcgZ3lsZGlnaGV0c2pla2tldC4gRGV0dGUgZXIgYnJhIGZvciBhbnZlbmRlbHNlciBzb20gb25saW5lIHVuZGVycyZvc2xhc2g7a2Vsc2VyLjwvbGk+DQo8bGk+U3RhdGlzayBUZWtzdC4gRGV0dGUgdGlsbGF0ZXIgZGVnICZhcmluZzsgcGxhc3NlcmUgdGVrc3QgaSBkaXR0IHNramVtYS4gRGV0IGthbGxlcyBpbm5kYXRhLCBtZW4ga3VuIHZpc2VzLiBEZXR0ZSBlciBueXR0aWcgZm9yICZhcmluZzsgcHJlc2VudGVyZSBpbnN0cnVrc2pvbmVyLCBoamVscCwgb3N2LjwvbGk+DQo8L3VsPjwvbGk+DQoNCjxsaT5TcGVzaWFsZm9ybSZhcmluZztsIEZlbHRlcjx1bD4NCjxsaT5GdW5jdGlvbiBDYWxsYmFjayAmcXVvdDtJbnB1dCZxdW90Oy4gRGV0dGUgdGlsbGF0ZXIgcHJvZ3JhbW0mb3NsYXNoO3JlciAmYXJpbmc7IGYmYXJpbmc7IHRpbGdhbmcgdGlsIGluZm9ybWFzam9uIGZyYSBhbmRyZSBtb2R1bGVyIChzb20gJmFyaW5nOyBmJmFyaW5nOyBicnVrZXJuYXZuIGRhdGEgZnJhIGVuIGJydWtlciBhdXRlbnRpc2VyaW5ncy1tb2R1bCkuPC9saT48L3VsPjwvbGk+DQoNCjxsaT5Ta2plbWEgQmVoYW5kbGluZyBJbm5kYXRhIChEaXNwb3NpdGlvbnMvZ2VteXR0ZXIpDQo8dWw+PGxpPkVtYWlsIFRlc3VsdGF0ZXIgYmFzZXJ0IHAmYXJpbmc7IE5lZHRyZWtrLiBEZXR0ZSBlciBueXR0aWcgZm9yIHdlYnNpZGVyIGh2b3Iga29tbWV0YXJlciBibHJpIHN0eXJ0IGJhc2VydCBwJmFyaW5nOyBkZXRzIGVtbmUsIGYuZWtzLiwgZmVpbC9idWdzIGJsaXIgc2VudCB0aWwgZW4gcGVyc29uLCBtYXJrZWRzLXNwJm9zbGFzaDtyc20mYXJpbmc7bCByaWwgZW4gZW5uZW4gcGVyc29uLCBzYWxncyBmb3Jlc3Amb3NsYXNoO3JzbGVyIHRpbCBub2VuIGFuZHJlLCBvc3YuIE5lZHRyZWtrZXQgaW5uZWhvbGRlciBlbW5lbmUsIG9nIGh2ZXIgYmxpciBzdHlydCB0aWwgZW4gc3Blc2lmaWsgZW1haWwgYWRyZXNzZS4gRHUgc2V0dGVyIG9wcCBkaXNzZSBzdHlyaW5nZW5lIG4mYXJpbmc7ciBkdSBvcHByZXR0ZXIgZWxsZXIgcmVkaWdlcmVyIGV0IGZlbHQgYXYgZGVubmUgdHlwZW4uIE9tIGR1IGJydWtlciBlbiBhdiBkaXNzZSAmcXVvdDtTdHlydGUmcXVvdDsgbmVkdHJla2tlbmUsIG0mYXJpbmc7IGJydWtlcmVuIGdqJm9zbGFzaDtyZSBldCB2YWxnIGZvciAmYXJpbmc7IGYmYXJpbmc7IHNlbmR0IHNramVtYWV0LiBEZW5uZSBpbm5kYXRhIGVyIGRlbCBhdiBza2plbWFldCBzb20gYnJ1a2VyZW4gc2VyLCBtZW4gZW1haWxhZHJlc3NlbmUgZXIgaWtrZSBnam9ydCBzeW5saWdlLCBlaSBoZWxsZXIgZXIgZGUgaW5rbHVkZXJ0IGkgSFRNTC1rb2Rlbi48L2xpPg0KPGxpPkVtYWlsIFJlc3VsdGF0ZXIgZm9yICZhcmluZzsgc2V0dGUgQWRkcmVzc2UocikuIERldHRlIHNlbmRlciBlbmtlbHQgc2tqZW1hcmVzdWx0YXRlbmUgdGlsIGVuIGVsbGVyIGZsZXJlIGFtYWlsYWRyZXNzZXIgc29tIGR1IG9wcGdpciBuJmFyaW5nO3IgZHUgb3BwcmV0dGVyIGRlbm5lIHR5cGUgZmVsdC4gRGV0dGUgZmVsdCBvZyBkZXRzIG5hdm4gZXIgaWtrZSBzeW5saWcgaSBza2plbWFldCBzb20gYnJ1a2VyZW4gc2VyLiBFbWFpbGFkcmVzc2VuZSBlciBpa2tlIGdqb3J0IHN5bmxpZ2Ugb2cgZWkgaGVsbGVyIGVyIGRlIGlua2x1ZGVydCBpIEhUTUwta29kZW4uPC9saT4NCjxsaT5FbWFpbCBSZXN1bHRhdGVyIHRpbCBCcnVrZXItdmFsZ3QgTmV0dHN0ZWQgQnJ1a2VyLiBEZW5uZSBpbm5kYXRhIGVyIHYmYXJpbmc7cnQgZiZvc2xhc2g7cnN0ZSBzbHV0dGJydWtlciAmb3NsYXNoO25za2UhIERlbiBsYWdlciBldCBuZWR0cmVrayBhdiBicnVrZXJuYXZuIGkgc2tqZW1hZXQuIEJydWtlcm5hdm5lbmUgZXIgYW5kcmUgYnJ1a2VyZSBzb20gZXIgcmVnaXN0cmVydGUgcCZhcmluZzsgbmV0dHN0ZWRldC4NCk4mYXJpbmc7ciBza2plbWFldCBzZW5kZXMsIGJsaXIgc2tqZW1hZXQgc2VuZHQgdGlsIGJydWtlcmVuIGh2aXMgbmF2biBibGUgdmFsZ3QuIE4mYXJpbmc7ciBkdSBvcHByZXR0ZXIgZXQgZmVsdCBhdiBkZW5uZSB0eXBlbiwga2FuIGR1IHZlbGdlIHNwZXNpZmlrZSBncnVwcGVyIGZyYSBodm9yIGJydWtlcmxpc3RlbiBibGlyIGxhZ2V0LiBJbm5kYXRhZW4gZXIgZGVsIGF2IHNramVtYWV0IHNvbSBicnVrZXJlbiBzZXIsIG1lbiBlbWFpbGFkcmVzc2VuZSBlciBpa2tlIGdqb3J0IHN5bmxpZ2UsIGVpIGhlbGxlciBlciBkZSBpbmtsdWRlcnQgaSBIVE1MLWtvZGVuLjwvbGk+DQo8bGk+U2tyaXYgcmVzdWx0YXRlciB0aWwgZmxhdCBmaWwuIERldHRlIHRhciBza2plbWEgcmVzdWx0YXRlbmUgb2cgc2tyaXZlciBkZW0gaSBlbiB0ZWtzdGZpbC4gRHUga2FuIHZlbGdlIG5hdm5ldCBwJmFyaW5nOyBmaWxhLCBhZyBkZW4gZm9ybWF0LiBEdSBrYW4gdmVsZ2UgZnJhICZxdW90O3NpZGUmcXVvdDsgZm9ybWF0LCBzb20gc2VyIHV0IHNvbSBlbWFpbGVuIHNvbSBibGlyIHNlbmR0ICBhdiBkZSBhbmRyZSBoJmFyaW5nO25kdGVyZXJuZSwgZWxsZXIgZHUga2FuIHZlbGdlIGV0IHRhYi1zZXBhcmVydCBmb3JtYXQgbnl0dGlnIGZvciBpbm5sZXNpbmcgaSBFeGVsIGVsbGVyIGFuZHJlIGxpZ25lbmRlIHByb2dyYW1tZXIuIE9tIGR1IHZlbGdlciB0YWItc2VwYXJlcnQsIGthbiBkdSB2ZWxnZSAmYXJpbmc7IGYmYXJpbmc7IGZpbGVuIHRpbCAmYXJpbmc7IHN0YXJ0ZSBtZWQgZW4gb3ZlcnNrcmlmdC1yYWQgc29tIG5hdm5naXIga29sb25uZW5lLiBEaXNzZSBmaWVsZW5lIGJsaXIgc2tyZXZldCB0aWwgJnF1b3Q7b3V0cHV0JnF1b3Q7IGthdGFsb2dlbiB1bmRlciBtb2R1bGVucyBpbnN0YWxsYXNqb25za2F0YWxvZy4NCjwvdWw+PC9saT48L2xpPjwvdWw+DQoNCjxoMz5Lbm93biBJc3N1ZXM8L2gzPg0KPHVsPg0KPGxpPkZpbGUgVXBsb2FkIElucHV0cyBtYXkgYmUgdXNlZCBvbiBtdWx0aS1wYWdlIGZlZWRiYWNrIGZvcm1zLCA8c3Ryb25nPmJ1dCB0aGV5IG11c3QgYmUgb24gdGhlIGxhc3QgcGFnZTwvc3Ryb25nPiBvZg0KdGhlIGZvcm0uPC9saT4NCjxsaT5GaWxlIFVwbG9hZCAmcXVvdDttYXhpbXVtIHNpemUmcXVvdDsgY2Fubm90IGJlIGxhcmdlciB0aGFuIHRoZSB2YWx1ZSBzZXQgaW4geW91ciBwaHAuaW5pIGZpbGUuIFRoaXMgaXMgbm90IGEgYnVnIC0tIHRoaXMgaXMgYSBmZWF0dXJlLjwvbGk+DQo8bGk+RmlsZSBVcGxvYWQgJnF1b3Q7bWF4aW11bSBzaXplJnF1b3Q7IHVzZXMgdW5pdHMgY2FsbGVkICZxdW90O2tpbG9ieXRlcyZxdW90OyB0aGF0IGFyZSAxMDAwIGJ5dGVzLCBub3QgMTAyNCBieXRlcy48L2xpPg0KPGxpPkZpbGUgVXBsb2FkcyBkbyBub3QgY3VycmVudGx5IHdvcmsgd2l0aCB0aGUgRmxhdCBGaWxlIGRpc3Bvc2l0aW9uIG1ldGhvZC48L2xpPg0KPGxpPkZpbGUgVXBsb2FkcyBjb3VsZCBhbGxvdyB1c2VycyB0byBzdWJtaXQgb2ZmZW5zaXZlLCBvYnNjZW5lLCBvciBpbGxlZ2FsIG1hdGVyaWFsLiBJdCBjb3VsZCBhbHNvIGJlIHVzZWQgdG8gdHJhbnNtaXQNCmRhbmdlcm91cyBmaWxlcyBzdWNoIGFzIHRyb2phbi1ob3JzZXMsIHZpcnVzZXMsIG9yIG90aGVyIHNlY3VyaXR5IHRocmVhdHMuIFVzZSBGaWxlIFVwbG9hZHMgd2l0aCBjYXV0aW9uIGFuZCBjb21tb24gc2Vuc2UuPC9saT4NCjwvdWw+DQoNCjxoMz5Ucm91Ymxlc2hvb3Rpbmc8L2gzPg0KPG9sPjxsaT4gRmlyc3Qgc3RlcCBpcyB0byBjaGVjayB5b3UmIzAzOTtyZSBydW5uaW5nIENNUyAwLjEwLnggb3IgbGF0ZXIuPC9saT4NCjxsaT4gU2Vjb25kIHN0ZXAgaXMgdG8gcmVhZCBhbmQgdW5kZXJzdGFuZCB0aGUgY2F2ZWF0IGFib3V0IFdZU0lXWUcgZWRpdG9ycyB1cCBpbiB0aGUNCnNlY3Rpb24gPGVtPkFkZGluZyBhIEZvcm0gdG8gYSBQYWdlPC9lbT4uPC9saT4NCjxsaT4gSnVzdCBtZXNzIGFyb3VuZCBhbmQgdHJ5IGNsaWNraW5nIG9uIGxpbmtzIGFuZCBpY29ucyBhbmQgc3R1ZmYuIFNlZSB3aGF0IGhhcHBlbnMuPC9saT4NCjxsaT4gTGFzdCByZXNwb3J0IGlzIHRvIGVtYWlsIG1lIG9yIGNhdGNoIG1lIG9uIElSQyBhbmQgd2UgY2FuIGdvIGZyb20gdGhlcmUuPC9saT4NCjwvb2w+IA0KPHA+VGhpcyBtYXkgbm8gbG9uZ2VyIGJlIHN1Y2ggYW4gZWFybHkgdmVyc2lvbiwgYnV0IGl0IGlzIHByb2JhYmx5IHN0aWxsIGJ1Z2d5LiBXaGlsZSBJJiMwMzk7dmUgZG9uZSBhbGwgSSBjYW4NCnRvIG1ha2Ugc3VyZSBubyBlZ3JlZ2lvdXMgYnVncyBoYXZlIGNyZXB0IGluLCBJIGhhdmUgdG8gYWRtaXQgdGhhdCBkdXJpbmcgdGVzdGluZywgdGhpcyBwcm9ncmFtDQpyZXZlYWxlZCBzZXZlbiBjb2Nrcm9hY2hlcywgdHdvIGVhcndpZ3MsIGEgc21hbGwgZmFtaWx5IG9mIGFwaGlkcywgYW5kIGEgd2Fsa2luZy1zdGljayBpbnNlY3QuIEl0IGFsc28NCmF0ZSB0aGUgbmVpZ2hib3ImIzAzOTtzIG5hc3R5IGxpdHRsZSB5YXAgZG9nLCBmb3Igd2hpY2ggSSB3YXMgaW5hcHByb3ByaWF0ZWx5IGdyYXRlZnVsLjwvcD4NCjxwPlRoZSBmaW5hbCByZWxlYXNlIHdpbGwgaW5jbHVkZSBidWcgZml4ZXMsIGRvY3VtZW50YXRpb24sIGFuZCB1bmNvbmRpdGlvbmFsIGxvdmUuPC9wPg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQsIHBsZWFzZSB2aXNpdCB0aGUgQ01TIERldmVsb3BlciBDZW50ZXIgYXQgPGEgaHJlZj0mcXVvdDtodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnJnF1b3Q7Pmh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmc8L2E+LjwvbGk+DQo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSZxdW90O2h0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyZxdW90Oz5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPGxpPlRoZSBhdXRob3IsIFNqRywgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSZxdW90O2lyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyZxdW90Oz5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkuPC9saT4gIA0KPC91bD4NCjxwPkFzIHBlciB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkIGFzLWlzLiBQbGVhc2UgcmVhZCB0aGUgdGV4dA0Kb2YgdGhlIGxpY2Vuc2UgZm9yIHRoZSBmdWxsIGRpc2NsYWltZXIuPC9wPg0KDQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPkNvcHlyaWdodCAmY29weTsgMjAwNiwgU2FtdWVsIEdvbGRzdGVpbiA8YSBocmVmPSZxdW90O21haWx0bzpzamdAY21zbW9kdWxlcy5jb20mcXVvdDs+PHNqZ0BjbXNtb2R1bGVzLmNvbT48L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiByZWxlYXNlZCB1bmRlciB0aGUgPGEgaHJlZj0mcXVvdDtodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwmcXVvdDs+R05VIFB1YmxpYyBMaWNlbnNlPC9hPi4gWW91IG11c3QgYWdyZWUgdG8gdGhpcyBsaWNlbnNlIGJlZm9yZSB1c2luZyB0aGUgbW9kdWxlLjwvcD4NCgkJDQonOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnCQkgICAgPHVsPg0KCQkgICAgPGxpPlZlcnNpb24gMC45LjExIC0gOSBGZWJydWFyeSAyMDA2LiBCdWcgZml4ZXMgZm9yIHRyYWNrZXIgYnVncyAjMjkzLCAjMzI5LCAjMzA0LCAjMzM3PC9saT4NCgkJICAgIDxsaT5WZXJzaW9ucyAwLjkueCAtIE9jdG9iZXIsIE5vdmVtYmVyIDIwMDUuIENvbnRpbnVpbmcgYnVnIGZpeGVzLjwvbGk+DQoJCSAgICA8bGk+VmVyc2lvbiAwLjkgLSAgMiBPY3RvYmVyIDIwMDUuIE1pZ3JhdGVkIHRvIHByb3BlciBNb2R1bGUgQVBJIChsYW5nLCBzbWFydHkgdGVtcGxhdGVzLCBldGMuKS48L2xpPg0KICAgICAgICAgICAgPGxpPlZlcnNpb24gMC44IC0gMzEgSnVseSAyMDA1LiBCdWcgZml4ZXMsIGFkZGVkIERhdGUgYW5kIENhbGxiYWNrIEZ1bmN0aW9uIGlucHV0IHR5cGVzLjwvbGk+DQogICAgICAgICAgICA8bGk+VmVyc2lvbiAwLjcuMyAtIDIxIEp1bHkgMjAwNS4gQnVnIGZpeGVzLCBhZGRlZCBTdGF0ZSBhbmQgQ291bnRyeSBpbnB1dCB0eXBlcy48L2xpPg0KICAgICAgICAgICAgPGxpPlZlcnNpb24gMC43LjIgLSAxOCBKdWx5IDIwMDUuIFZhbGlkYXRpb24gYnVnIGZpeGVzLCBmaXhlZCBQSFBNYWlsZXIgbG9jYWxpemF0aW9uLjwvbGk+DQogICAgICAgICAgICA8bGk+VmVyc2lvbiAwLjcuMSAtIDEgSnVuZSAyMDA1LiBNaW5vciBidWcgZml4ZXMuPC9saT4NCiAgICAgICAgICAgIDxsaT5WZXJzaW9uIDAuNyAtIDI0IE1heSAyMDA1LiBNb3JlIGFuZCBiZXR0ZXIgc3VwcG9ydCBmb3IgQ1NTIGFuZCBwdXJlIENTUyBsYXlvdXRzLg0KICAgICAgICAgICAgU3VwcG9ydCBmb3IgbXVsdGktcGFnZSBmb3Jtcy4NCiAgICAgICAgICAgIE1hbnkgbmV3IGZvcm0gb3B0aW9ucy4gTmV3IGZpZWxkIHR5cGVzOiBmaWxlIHVwbG9hZCwgZW1haWwgJnF1b3Q7ZnJvbSZxdW90OyBhZGRyZXNzLiBJbXByb3ZlZA0KICAgICAgICAgICAgZXJyb3IgaGFuZGxpbmcuIEVtYWlsIGRpc3Bvc2FsIHR5cGVzIG5vdyB0ZW1wbGF0ZWQuPC9saT4NCgkJCTxsaT5WZXJzaW9uIDAuNiAtIDE2IEFwciAyMDA1LiBVcGRhdGVkIGZvciBuZXcgQWRtaW4sIHNpbXBsaWZpZWQgcGVybWlzc2lvbnMuPC9saT4NCgkJICAgIDxsaT5WZXJzaW9uIDAuNSAtIDQgTWFyIDIwMDUuIE1pbm9yIGJ1ZyBmaXhlcyBmb3IgZGVsZXRpbmcgZm9ybXMvZmllbGRzLjwvbGk+DQoJCSAgICA8bGk+VmVyc2lvbiAwLjQgLSAyIE1hciAyMDA1LiBMb2NhbGl6YXRpb24gYW5kIG51bWVyb3VzIGJ1ZyBmaXhlcy48L2xpPg0KCQkgICAgPGxpPlZlcnNpb24gMC4zIC0gMjggRmViIDIwMDUuIFByaW1pdGl2ZSBsb2NhbGl6YXRpb24gYW5kIGJ1ZyBmaXhlcy48L2xpPg0KCQkgICAgPGxpPlZlcnNpb24gMC4yIC0gMjQgRmViIDIwMDUuIENvbnZlcnRlZCB0byB1c2UgT2JqZWN0cy4gTWFueSBpbXByb3ZlbWVudHMgYW5kIGJ1ZyBmaXhlcy48L2xpPg0KCQkJPGxpPlZlcnNpb24gMC4xIC0gMTEgRmViIDIwMDUuIEluaXRpYWwgUmVsZWFzZTwvbGk+PC91bD4NCgkJJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuNDY5MzQyODAyLjExNDgwNzY3NTIuMTE1MjIxMzUxOC4xMTUyMjIxNDQ2LjE4JzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTE1MjIyMTQ0Ni4xOC4xMC51dG1jY249KHJlZmVycmFsKXx1dG1jc3I9Y21zbWFkZXNpbXBsZS5vcmd8dXRtY2N0PS98dXRtY21kPXJlZmVycmFsJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nl_NL.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZpZWxkX3R5cGVfdGV4dF9pbnB1dCddID0gJ1Rla3N0IGludnVsIHZlbGQnOwokbGFuZ1snZmllbGRfdHlwZV90ZXh0X2FyZWEnXSA9ICdUZWtzdHZhayc7CiRsYW5nWydmaWVsZF90eXBlX2NoZWNrYm94J10gPSAnVmlua2plJzsKJGxhbmdbJ2ZpZWxkX3R5cGVfY2hlY2tib3hfZ3JvdXAnXSA9ICdWaW5ramVzIGdyb2VwJzsKJGxhbmdbJ2ZpZWxkX3R5cGVfcHVsbGRvd24nXSA9ICdQdWxsZG93bic7CiRsYW5nWydmaWVsZF90eXBlX3N0YXRlJ10gPSAnVS5TLiBTdGF0ZSc7CiRsYW5nWydmaWVsZF90eXBlX2NvdW50cnknXSA9ICdMYW5kJzsKJGxhbmdbJ2ZpZWxkX3R5cGVfZGF0ZSddID0gJ0RhdHVtIHNlbGVjdGVlcmRlcic7CiRsYW5nWydmaWVsZF90eXBlX2NhbGxiYWNrJ10gPSAnRnVuY3RpZSBDYWxsYmFjayAmcXVvdDtJbnB1dCZxdW90Oyc7CiRsYW5nWydmaWVsZF90eXBlX3JhZGlvX2dyb3VwJ10gPSAnUmFkaW8gQnV0dG9uIEdyb2VwJzsKJGxhbmdbJ2ZpZWxkX3R5cGVfZGlzcG9zaXRpb25fZGlyZWN0b3InXSA9ICcqRW1haWwgcmVzdWx0YXRlbiBnZWJhc2VlcmQgb3AgcHVsbGRvd24nOwokbGFuZ1snZmllbGRfdHlwZV9kaXNwb3NpdGlvbl9lbWFpbCddID0gJypFbWFpbCByZXN1bHRhdGVuIG5hYXIgaW5nZXN0ZWxkZSBhZHJlcyhzZW4pJzsKJGxhbmdbJ2ZpZWxkX3R5cGVfZGlzcG9zaXRpb25fZW1haWxfc2l0ZV91c2VyJ10gPSAnKkVtYWlsIHJlc3VsdGF0ZW4gbmFhciBnZWJydWlrZXItZ2VzZWxlY3RlZXJkZSBzaXRlIGdlYnJ1aWtlcic7CiRsYW5nWydmaWVsZF90eXBlX2Rpc3Bvc2l0aW9uX2ZpbGUnXSA9ICcqU2NocmlqZiByZXN1bHRhdGVuIG5hYXIgcGxhdCBiZXN0YW5kJzsKJGxhbmdbJ2ZpZWxkX3R5cGVfc3RhdGljX3RleHQnXSA9ICdTdGF0aXNjaGUgdGVrc3QnOwokbGFuZ1snZmllbGRfdHlwZV9wYWdlX2JyZWFrJ10gPSAnUGFnaW5hIG92ZXJnYW5nJzsKJGxhbmdbJ2ZpZWxkX3R5cGVfZmlsZV91cGxvYWQnXSA9ICdCZXN0YW5kIHVwbG9hZCc7CiRsYW5nWydmaWVsZF90eXBlX2VtYWlsX2Zyb20nXSA9ICdFbWFpbCAmcXVvdDtWYW4mcXVvdDsgdmVsZCc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdGZWVkYmFja0Zvcm0nOwokbGFuZ1sndmFsaWRhdGlvbl9ub25lJ10gPSAnR2VlbiB2YWxpZGF0aWUnOwokbGFuZ1sndmFsaWRhdGlvbl9ub3RfZW1wdHknXSA9ICdOaWV0IGxlZWcnOwokbGFuZ1sndmFsaWRhdGlvbl9udW1lcmljJ10gPSAnR2V0YWxsZW4nOwokbGFuZ1sndmFsaWRhdGlvbl9pbnRlZ2VyJ10gPSAnR2VoZWVsIGdldGFsJzsKJGxhbmdbJ3ZhbGlkYXRpb25fZW1haWxfYWRkcmVzcyddID0gJ0VtYWlsIGFkcmVzJzsKJGxhbmdbJ3ZhbGlkYXRpb25fYXRfbGVhc3Rfb25lJ10gPSAnTWluc3RlbnMgMSBnZWtvemVuJzsKJGxhbmdbJ3ZhbGlkYXRpb25fbXVzdF9jaGVjayddID0gJ01vZXQgZ2Vrb3plbic7CiRsYW5nWyd2YWxpZGF0aW9uX29wdGlvbl9zZWxlY3RlZCddID0gJ09wdGllIG1vZXQgZ2VzZWxlY3RlZXJkIHppam4nOwokbGFuZ1sncGxlYXNlX2VudGVyX2FfdmFsdWUnXSA9ICdWb2VyIGVlbiB3YWFyZGUgaW4gdm9vciAnOwokbGFuZ1sncGxlYXNlX2VudGVyX2FfbnVtYmVyJ10gPSAnVm9lciBlZW4gZ2V0YWwgaW4gdm9vciAnOwokbGFuZ1sncGxlYXNlX2VudGVyX2FuX2ludGVnZXInXSA9ICdWb2VyIGVlbiBnZWhlZWwgZ2V0YWwgaW4gdm9vciAnOwokbGFuZ1sncGxlYXNlX2VudGVyX2FuX2VtYWlsJ10gPSAnVm9lciBlZW4gZ2VsZGlnIGVtYWlsIGFkcmVzIGluIHZvb3IgJzsKJGxhbmdbJ25vdF92YWxpZF9lbWFpbCddID0gJ2xpamt0IGdlZW4gZ2VsZGlnIGVtYWlsIGFkcmVzIHRlIHppam4hJzsKJGxhbmdbJ3BsZWFzZV9lbnRlcl9ub19sb25nZXInXSA9ICdWb2VyIGVlbiB3YWFyZGUgaW4gZGllIG5pZXQgbGFuZ2VyIGlzIGRhbiAnOwokbGFuZ1sncGxlYXNlX2NoZWNrX3NvbWV0aGluZyddID0gJ0tpZXMgaWV0cyB2YW4gJzsKJGxhbmdbJ3BsZWFzZV9zZWxlY3Rfc29tZXRoaW5nJ10gPSAnU2VsZWN0ZWVyIGlldHMgdmFuICc7CiRsYW5nWydmaWVsZF9uYW1lX2luX3VzZTEnXSA9ICdEZSB2ZWxkbmFhbSc7CiRsYW5nWydmaWVsZF9uYW1lX2luX3VzZTInXSA9ICdpcyBhbCBpbiBnZWJydWlrIGluIGRpdCBmb3JtdWxpZXIhIFZlcmFuZGVyIGhldCBuYWFyIGlldHMgdW5pZWtzLic7CiRsYW5nWyd5b3VfbmVlZF9wZXJtaXNzaW9uMSddID0gJ1UgbW9ldCBkZSAmcXVvdDsnOwokbGFuZ1sneW91X25lZWRfcGVybWlzc2lvbjInXSA9ICcmcXVvdDsgcmVjaHRlbiBoZWJiZW4gb20gZGV6ZSBhY3RpZSB1aXQgdGUgdm9lcmVuLic7CiRsYW5nWydsYWNrcGVybWlzc2lvbiddID0gJ1NvcnJ5ISBVIGhlZWZ0IG5pZXQgZGUganVpc3RlIHJlY2h0ZW4gb20gaGllciB0ZSBrb21lbi4nOwokbGFuZ1snZmllbGRfb3JkZXJfdXBkYXRlZCddID0gJ1ZlbGQgdm9sZ29yZGUgZ2V1cGRhdGUuJzsKJGxhbmdbJ2Zvcm1fZGVsZXRlZCddID0gJ0Zvcm11bGllciB2ZXJ3aWpkZXJkLic7CiRsYW5nWydmaWVsZF9kZWxldGVkJ10gPSAnVmVsZCB2ZXJ3aWpkZXJkLic7CiRsYW5nWydjb25maWd1cmF0aW9uX3VwZGF0ZWQnXSA9ICdDb25maWd1cmF0aWUgZ2V1cGRhdGUuJzsKJGxhbmdbJ3lvdV9tdXN0X2NoZWNrMSddID0gJ1UgbW9ldCAmcXVvdDsnOwokbGFuZ1sneW91X211c3RfY2hlY2syJ10gPSAnJnF1b3Q7IGFhbnZpbmtlbiBvbSBkb29yIHRlIGdhYW4uJzsKJGxhbmdbJ211c3Rfc3BlY2lmeV9vbmVfZGVzdGluYXRpb24nXSA9ICdVIG1vZXQgbWluc3RlbnMgMSBvbnR2YW5nZXIgYWRyZXMgb3BnZXZlbiEnOwokbGFuZ1snYXJlX3lvdV9zdXJlX2RlbGV0ZV9mb3JtJ10gPSAnV2VldCB1IHpla2VyIGRhdCB1IGZvcm11bGllciAlcyB3aWx0IHZlcndpamRlcmVuPyc7CiRsYW5nWydhcmVfeW91X3N1cmVfZGVsZXRlX2ZpZWxkJ10gPSAnV2VldCB1IHpla2VyIGRhdCB1IHZlbGQgJXMgd2lsdCB2ZXJ3aWpkZXJlbj8nOwokbGFuZ1snYWJicmV2aWF0aW9uX2xlbmd0aCddID0gJ0xlbmd0ZSc7CiRsYW5nWydjaGFyYWN0ZXJzJ10gPSAndGVrZW5zJzsKJGxhbmdbJ2JveGVzJ10gPSAnYm94ZXMnOwokbGFuZ1snZmllbGQnXSA9ICdWZWxkJzsKJGxhbmdbJ29yZGVyJ10gPSAnVm9sZ29yZGUnOwokbGFuZ1sndW5zcGVjaWZpZWQnXSA9ICcodW5zcGVjaWZpZWQpJzsKJGxhbmdbJ2FkZGVkJ10gPSAndG9lZ2V2b2VnZCc7CiRsYW5nWyd1cGRhdGVkJ10gPSAnZ2V1cGRhdGUnOwokbGFuZ1snZGVsZXRlZCddID0gJ3ZlcndpamRlcmQnOwokbGFuZ1snY2hvaWNlcyddID0gJ2tldXplcyc7CiRsYW5nWydzZWxlY3Rfb25lJ10gPSAnS2llcyAxJzsKJGxhbmdbJ3NlbGVjdF9hX3VzZXInXSA9ICdTZWxlY3RlZXIgZWVuIGdlYnJ1aWtlcic7CiRsYW5nWydzZWxlY3RfdHlwZSddID0gJ1NlbGVjdGVlciBoZXQgdHlwZSc7CiRsYW5nWyd0byddID0gJ0Fhbic7CiRsYW5nWydyZWNpcGllbnRzJ10gPSAnb250dmFuZ2Vycyc7CiRsYW5nWydub3RlJ10gPSAnTm90ZSc7CiRsYW5nWydhbnlfdXNlciddID0gJ0FueSBVc2VyJzsKJGxhbmdbJ2xpc3QnXSA9ICdsaXN0JzsKJGxhbmdbJ25vdF9jb25maWd1cmVkJ10gPSAnTmlldCBpbmdlc3RlbGQnOwokbGFuZ1snc2F2ZSddID0gJ09wc2xhYW4nOwokbGFuZ1snYWRkJ10gPSAnVG9ldm9lZ2VuJzsKJGxhbmdbJ3VwZGF0ZSddID0gJ0dldXBkYXRlJzsKJGxhbmdbJ3NhdmVfYW5kX2NvbnRpbnVlJ10gPSAnT3BzbGFhbiBlbiBkb29yZ2FhbiBtZXQgd2lqemlnZW4nOwokbGFuZ1snaW5mb3JtYXRpb24nXSA9ICdJbmZvcm1hdGllJzsKJGxhbmdbJ2F1dG9tYXRpYyddID0gJ0F1dG9tYXRpc2NoJzsKJGxhbmdbJ2Zvcm1zJ10gPSAnRm9ybXVsaWVyZW4nOwokbGFuZ1snZm9ybSddID0gJ0Zvcm11bGllcic7CiRsYW5nWydjb25maWd1cmF0aW9uJ10gPSAnQ29uZmlndXJhdGllJzsKJGxhbmdbJ21haW4nXSA9ICdNYWluJzsKJGxhbmdbJ2FkZGl0aW9uYWwnXSA9ICdGb3JtdWxpZXIgaW5zdGVsbGluZ2VuJzsKJGxhbmdbJ25vZmllbGRzJ10gPSAnTm8gcmV0cmlldmFsIGZpZWxkcyBkZWZpbmVkLiAnOwokbGFuZ1snbm9tZXRob2QnXSA9ICdHZWVuIG1ldGhvZGUvbW9kdWxlIGFhbmdlZ2V2ZW4uJzsKJGxhbmdbJ2NoYXJzJ10gPSAnVGVrZW5zJzsKJGxhbmdbJ21pc3NpbmdfY21zX21haWxlciddID0gJ0l0IGFwcGVhcnMgdGhhdCB0aGUgQ01TTWFpbGVyIG1vZHVsZSBpcyBub3QgaW5zdGFsbGVkISBGZWVkYmFja0Zvcm0gZGVwZW5kcyBvbiBDTVNNYWlsZXIgYmVpbmcgaW5zdGFsbGVkIGFuZCBhY3RpdmUuJzsKJGxhbmdbJ21heGltdW1fc2l6ZSddID0gJ01heC4gZ3Jvb3R0ZSc7CiRsYW5nWydwZXJtaXR0ZWRfZXh0ZW5zaW9ucyddID0gJ0V4dGVuc2llcyc7CiRsYW5nWydwZXJtaXR0ZWRfZmlsZXR5cGVzJ10gPSAnVG9lZ2VzdGFuZSBiZXN0YW5kc3R5cGVzJzsKJGxhbmdbJ2ZpbGVfdG9vX2xhcmdlJ10gPSAnR2V1cGxvYWQgYmVzdGFuZCBpcyB0ZSBncm9vdCEgTWF4aW11bSBncm9vdHRlIGlzOic7CiRsYW5nWydpbGxlZ2FsX2ZpbGVfdHlwZSddID0gJ0RpdCB0eXBlIGJlc3RhbmQgbWFnIG5pZXQgZ2V1cGxvYWQgd29yZGVuLiBDb250cm9sbGVlciBkZSBleHRlbnNpZS4nOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb2R1bGUgdmVyd2lqZGVyZC4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWxlIHZlcnNpZSAlcyBnZWluc3RhbGxlZXJkLic7CiRsYW5nWyd1cGdyYWRlZCddID0gJ01vZHVsZSBnZXVwZ3JhZGUgbmFhciB2ZXJzaWUgJXMuJzsKJGxhbmdbJ3RpdGxlX21heGltdW1fbGVuZ3RoJ10gPSAnTWF4aW11bSBsZW5ndGUnOwokbGFuZ1sndGl0bGVfY2hlY2tib3hfbmFtZSddID0gJ0NoZWNrYm94IE5hYW0nOwokbGFuZ1sndGl0bGVfc3VibWl0dGVkX3ZhbHVlJ10gPSAnVmVyc3R1dXJkZSBXYWFyZGUnOwokbGFuZ1sndGl0bGVfY2hlY2tib3hfZGV0YWlscyddID0gJ0NoZWNrYm94IEdyb2VwIERldGFpbHMnOwokbGFuZ1sndGl0bGVfc2VsZWN0X29uZV9tZXNzYWdlJ10gPSAnJnF1b3Q7S2llcyAxJnF1b3Q7IFRla3N0JzsKJGxhbmdbJ3RpdGxlX3NlbGVjdGlvbl9zdWJqZWN0J10gPSAnU2VsZWN0aWUgT25kZXJ3ZXJwJzsKJGxhbmdbJ3RpdGxlX3NlbGVjdF9kZWZhdWx0X2NvdW50cnknXSA9ICdTdGFuZGFhcmQgU2VsZWN0aWUnOwokbGFuZ1sndGl0bGVfc2VsZWN0aW9uX25hbWUnXSA9ICdTZWxlY3RpZSBOYWFtJzsKJGxhbmdbJ3RpdGxlX2Rlc3RpbmF0aW9uX2VtYWlsJ10gPSAnRG9lbCBFLW1haWwgYWRyZXMnOwokbGFuZ1sndGl0bGVfZGlyZWN0b3JfZGV0YWlscyddID0gJ1B1bGxkb3duIGdlYmFzZWVyZGUgRS1tYWlsZXIgZGV0YWlscyc7CiRsYW5nWyd0aXRsZV9lbWFpbF9hZGRyZXNzZXMnXSA9ICdWZXJzdHV1ciBGb3JtdWxpZXIgUmVzdWx0YXRlbiBOYWFyJzsKJGxhbmdbJ3RpdGxlX2ZpbGVfZm9ybWF0J10gPSAnQmVzdGFuZHMgRm9ybWFhdCc7CiRsYW5nWyd0aXRsZV9maWxlX2Zvcm1hdF90YWInXSA9ICdUYWItRGVsaW1pdGVkIFZhbHVlcyc7CiRsYW5nWyd0aXRsZV9maWxlX2Zvcm1hdF90YWJfaGVhZGVyJ10gPSAnVGFiLURlbGltaXRlZCBWYWx1ZXMgd2l0aCBIZWFkZXInOwokbGFuZ1sndGl0bGVfZmlsZV9mb3JtYXRfcGFnZSddID0gJ1BhZ2luYSBGb3JtYWF0JzsKJGxhbmdbJ3RpdGxlX2ZpbGVfbmFtZSddID0gJ0Jlc3RhbmRzbmFhbSc7CiRsYW5nWyd0aXRsZV9lcmFzZV9maWxlbG9jayddID0gJ0VyYXNlIEZpbGUgTG9jayc7CiRsYW5nWyd0aXRsZV9lcmFzZV91c2FnZSddID0gJyh1c2UgdGhpcyB0byBjbGVhciB0aGUgZmlsZSBsb2NrIGlmIGZpbGUgd3JpdGVzIGFyZSBmYWlsaW5nIGR1ZSB0byBhIGNyYXNoZWQgcHJvY2VzcyknOwokbGFuZ1sndGl0bGVfZmlsZV9ub3RlJ10gPSAnRmlsZXMgd2lsbCBiZSBzYXZlZCBpbiB0aGUgbW9kdWxlcy9GZWVkYmFja0Zvcm0vb3V0cHV0IGRpcmVjdG9yeSwgdW5kZXIgeW91ciBpbnN0YWxsIHJvb3QuJzsKJGxhbmdbJ3RpdGxlX3VzZXJuYW1lJ10gPSAnU2l0ZSBVc2VybmFtZSc7CiRsYW5nWyd0aXRsZV9yZWFsX25hbWUnXSA9ICdGdWxsIChSZWFsKSBOYW1lJzsKJGxhbmdbJ3RpdGxlX2JvdGhfbmFtZXMnXSA9ICdTaXRlIFVzZXJuYW1lICsgUmVhbCBOYW1lJzsKJGxhbmdbJ3RpdGxlX25vX2dyb3VwX3Jlc3RyaWN0aW9uJ10gPSAnTm8gR3JvdXAgUmVzdHJpY3Rpb24nOwokbGFuZ1sndGl0bGVfZW1haWxfc3ViamVjdCddID0gJ0VtYWlsIFN1YmplY3QgTGluZSc7CiRsYW5nWyd0aXRsZV9yZXN0cmljdF90b19ncm91cCddID0gJ1Jlc3RyaWN0IHRvIHVzZXJzIGluIGdyb3VwJzsKJGxhbmdbJ3RpdGxlX25hbWVzX2luX3B1bGxkb3duJ10gPSAnTmFtZXMgdG8gdXNlIGluIFB1bGxkb3duJzsKJGxhbmdbJ3RpdGxlX3NlbGVjdF9hX3VzZXJfbWVzc2FnZSddID0gJyZxdW90O1NlbGVjdCBhIFVzZXImcXVvdDsgbWVzc2FnZSc7CiRsYW5nWyd0aXRsZV9wdWxsZG93bl9jb250ZW50cyddID0gJ1B1bGxkb3duIENvbnRlbnRzJzsKJGxhbmdbJ3RpdGxlX3JhZGlvX25hbWUnXSA9ICdSYWRpbyBCdXR0b24gTmFtZSc7CiRsYW5nWyd0aXRsZV9yYWRpb19ncm91cF9kZXRhaWxzJ10gPSAnUmFkaW8gQnV0dG9uIEdyb3VwIERldGFpbHMnOwokbGFuZ1sndGl0bGVfZm9ybV9uYW1lJ10gPSAnRm9ybSBOYW1lJzsKJGxhbmdbJ3RpdGxlX2Zvcm1fc3RhdHVzJ10gPSAnRm9ybSBTdGF0dXMnOwokbGFuZ1sndGl0bGVfcmVhZHlfZm9yX2RlcGxveW1lbnQnXSA9ICdSZWFkeSBmb3IgRGVwbG95bWVudCc7CiRsYW5nWyd0aXRsZV9ub3RfcmVhZHkxJ10gPSAnTm90IFJlYWR5JzsKJGxhbmdbJ3RpdGxlX25vdF9yZWFkeTInXSA9ICdQbGVhc2UgYWRkIGEgZmllbGQgdG8gdGhlIGZvcm0gc28gdGhhdCB0aGUgdXNlciYjMDM5O3MgaW5wdXQgZ2V0cyBoYW5kbGVkLiBZb3UgY2FuJzsKJGxhbmdbJ3RpdGxlX25vdF9yZWFkeV9saW5rJ10gPSAndXNlIHRoaXMgc2hvcnRjdXQnOwokbGFuZ1sndGl0bGVfZm9ybV9hbGlhcyddID0gJ0Zvcm0gQWxpYXMnOwokbGFuZ1sndGl0bGVfZm9ybV9maWVsZHMnXSA9ICdGb3JtIEZpZWxkcyc7CiRsYW5nWyd0aXRsZV9maWVsZF9uYW1lJ10gPSAnRmllbGQgTmFtZSc7CiRsYW5nWyd0aXRsZV9maWVsZF90eXBlJ10gPSAnRmllbGQgVHlwZSc7CiRsYW5nWyd0aXRsZV9zaG93X2xhYmVsJ10gPSAnSGlkZSBGaWVsZCBMYWJlbCBpbiBGb3JtPyc7CiRsYW5nWyd0aXRsZV9zaG93X2xhYmVsX2xvbmcnXSA9ICdPbWl0IHRoZSBGaWVsZCBMYWJlbCB3aGVuIHJlbmRlcmluZyBmb3JtPyc7CiRsYW5nWyd0aXRsZV9ub3RfcmVhZHkzJ10gPSAndG8gY3JlYXRlIGEgZm9ybSBoYW5kbGluZyBmaWVsZC4nOwokbGFuZ1sndGl0bGVfdGFnX3RvX3VzZSddID0gJ1RhZyB0byBVc2UgdGhpcyBGb3JtJzsKJGxhbmdbJ3RpdGxlX2FkZF9uZXdfZm9ybSddID0gJ0FkZCBOZXcgRmVlZGJhY2sgRm9ybSc7CiRsYW5nWyd0aXRsZV9lZGl0X2NvbmZpZ3VyYXRpb24nXSA9ICdFZGl0IEZlZWRiYWNrIENvbmZpZ3VyYXRpb24nOwokbGFuZ1sndGl0bGVfZW1haWxfZnJvbV9uYW1lJ10gPSAnRW1haWxlZCBGb3JtICZxdW90O0Zyb20mcXVvdDsgTmFtZSc7CiRsYW5nWyd0aXRsZV9mb3JtX2Zyb21fZW1haWwnXSA9ICdGb3JtICZxdW90O0Zyb20mcXVvdDsgRW1haWwgQWRkcmVzcyc7CiRsYW5nWyd0aXRsZV9tYWlsX2hvc3QnXSA9ICdNYWlsIChTTVRQKSBIb3N0JzsKJGxhbmdbJ3RpdGxlX2xhbmd1YWdlJ10gPSAnTGFuZ3VhZ2UnOwokbGFuZ1sndGl0bGVfYWRkX25ld19maWVsZCddID0gJ0FkZCBOZXcgRmllbGQnOwokbGFuZ1sndGl0bGVfZm9ybV9zdWJtaXRfYnV0dG9uJ10gPSAnRm9ybSBTdWJtaXQgQnV0dG9uIFRleHQnOwokbGFuZ1sndGl0bGVfZm9ybV9uZXh0X2J1dHRvbiddID0gJ0Zvcm0gJnF1b3Q7TmV4dCZxdW90OyBCdXR0b24gVGV4dCAodXNlZCBmb3IgbXVsdGlwYWdlIGZvcm1zKSc7CiRsYW5nWyd0aXRsZV9mb3JtX3RoYW5rc190ZXh0J10gPSAnRm9ybSBUaGFua3MgTWVzc2FnZSBUZXh0JzsKJGxhbmdbJ3RpdGxlX2ZpZWxkX3ZhbGlkYXRpb24nXSA9ICdGaWVsZCBWYWxpZGF0aW9uJzsKJGxhbmdbJ3RpdGxlX2RlZmF1bHRfdXNlciddID0gJ0RlZmF1bHQgVXNlcic7CiRsYW5nWyd0aXRsZV9ub19kZWZhdWx0X3VzZXInXSA9ICdObyBEZWZhdWx0IFVzZXInOwokbGFuZ1sndGl0bGVfY3NzX2xheW91dCddID0gJ0NTUyBMYXlvdXQnOwokbGFuZ1sndGl0bGVfdXNlX2Nzc19sYXlvdXQnXSA9ICdVc2UgcHVyZWx5IENTUyBsYXlvdXQgZm9yIGZvcm0nOwokbGFuZ1sndGl0bGVfZm9ybV9jc3NfY2xhc3MnXSA9ICdDU1MgQ2xhc3MgZm9yIHRoaXMgZm9ybSc7CiRsYW5nWyd0aXRsZV9maWVsZF9jc3NfY2xhc3MnXSA9ICdDU1MgQ2xhc3MgZm9yIHRoaXMgZmllbGQnOwokbGFuZ1sndGl0bGVfZm9ybV9yZXF1aXJlZF9zeW1ib2wnXSA9ICdTeW1ib2wgdG8gbWFyayByZXF1aXJlZCBGaWVsZHMnOwokbGFuZ1sndGl0bGVfZmllbGRfcmVxdWlyZWQnXSA9ICdSZXF1aXJlZCc7CiRsYW5nWyd0aXRsZV9maWVsZF9yZXF1aXJlZF9sb25nJ10gPSAnUmVxdWlyZSBhIHJlc3BvbnNlIGZvciB0aGlzIEZpZWxkJzsKJGxhbmdbJ3RpdGxlX2ZpZWxkX3JlcXVpcmVkX2FiYnJldiddID0gJ1JlcSYjMDM5O2QnOwokbGFuZ1sndGl0bGVfdGFibGVfbGF5b3V0X3R5cGUnXSA9ICdGaWVsZCBUaXRsZSBQb3NpdGlvbiAobm9uLUNTUyBMYXlvdXQgb25seSknOwokbGFuZ1sndGl0bGVfdGFibGVfbGF5b3V0X2xlZnQnXSA9ICdUaXRsZSBvbiBMZWZ0JzsKJGxhbmdbJ3RpdGxlX3RhYmxlX2xheW91dF9hYm92ZSddID0gJ1RpdGxlIEFib3ZlJzsKJGxhbmdbJ3RpdGxlX2luY2x1ZGVfZW1haWxfaW5mbyddID0gJ0luY2x1ZGUgU2VydmVyIEluZm9ybWF0aW9uJzsKJGxhbmdbJ3RpdGxlX2luY2x1ZGVfZW1haWxfaW5mb19sb25nJ10gPSAnSW5jbHVkZSBTZXJ2ZXIgSW5mb3JtYXRpb24gaW4gRW1haWwnOwokbGFuZ1sndGl0bGVfaGlkZV9lcnJvcnMnXSA9ICdIaWRlIEVycm9ycyc7CiRsYW5nWyd0aXRsZV9oaWRlX2Vycm9yc19sb25nJ10gPSAnUHJldmVudCBkZWJ1ZyAvIGVycm9yIG1lc3NhZ2VzIGZyb20gYmVpbmcgc2VlbiBieSB1c2Vycy4nOwokbGFuZ1sndGl0bGVfZW1haWxfdGVtcGxhdGUnXSA9ICdFbWFpbCBUZW1wbGF0ZSc7CiRsYW5nWyd0aXRsZV9lbWFpbF90ZW1wbGF0ZV92YXJzJ10gPSAnVmFyaWFibGVzIEF2YWlsYWJsZSBmb3IgVXNlIGluIEVtYWlsIFRlbXBsYXRlJzsKJGxhbmdbJ3RpdGxlX3NhbXBsZV90ZW1wbGF0ZSddID0gJ0NyZWF0ZSBhIHNhbXBsZSB0ZW1wbGF0ZSc7CiRsYW5nWyd0aXRsZV9tYXhpbXVtX3NpemUnXSA9ICdNYXhpbXVtIHVwbG9hZCBmaWxlIHNpemUgKGtpbG9ieXRlcyknOwokbGFuZ1sndGl0bGVfcGVybWl0dGVkX2V4dGVuc2lvbnMnXSA9ICdQZXJtaXR0ZWQgRXh0ZW5zaW9ucyc7CiRsYW5nWyd0aXRsZV9wZXJtaXR0ZWRfZXh0ZW5zaW9uc19sb25nJ10gPSAnRW50ZXIgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCwgZXhjbHVkaW5nIHRoZSBkb3QgKGUuZy4sICZxdW90O2pwZyxnaWYsanBlZyZxdW90OykuIFNwYWNlcyB3aWxsIGJlIGlnbm9yZWQuIExlYXZpbmcgdGhpcyBibGFuayBtZWFucyB0aGVyZSB3aWxsIGJlIG5vIHJlc3RyaWN0aW9ucy4nOwokbGFuZ1sndGl0bGVfc2hvd19saW1pdGF0aW9ucyddID0gJ0Rpc3BsYXkgcmVzdHJpY3Rpb25zPyc7CiRsYW5nWyd0aXRsZV9zaG93X2xpbWl0YXRpb25zX2xvbmcnXSA9ICdEaXNwbGF5IGFueSBzaXplIGFuZCBleHRlbnNpb24gcmVzdHJpY3Rpb25zIHdpdGggdGhlIHVwbG9hZCBmaWVsZD8nOwokbGFuZ1sndGl0bGVfY2FsbGJhY2tfbW9kdWxlJ10gPSAnQ2FsbGJhY2sgTW9kdWxlJzsKJGxhbmdbJ3RpdGxlX2NhbGxiYWNrX21ldGhvZCddID0gJ0NhbGxiYWNrIE1ldGhvZCc7CiRsYW5nWyd0aXRsZV9jYWxsYmFja19maWVsZHMnXSA9ICdSZXN1bHQgRmllbGRzIHRvIEluY2x1ZGUnOwokbGFuZ1sndGl0bGVfY2FsbGJhY2tfaGVscCddID0gJ0hlbHAnOwokbGFuZ1sndGl0bGVfaWRfYW5kX25hbWUnXSA9ICdVc2UgSUQgYW5kIE5hbWUgZm9yIENTUyBpbnB1dHMnOwokbGFuZ1sndGl0bGVfZGF0ZV9mb3JtYXQnXSA9ICdEYXRlIEZvcm1hdCAoc3RhbmRhcmQgPGEgaHJlZj0mcXVvdDtodHRwOi8vd3d3LnBocC5uZXQvbWFudWFsL2VuL2Z1bmN0aW9uLmRhdGUucGhwJnF1b3Q7PlBIUCBEYXRlIEZvcm1hdHM8L2E+KSc7CiRsYW5nWyd0aXRsZV9zdGF0aWNfdGV4dCddID0gJ1N0YXRpYyBUZXh0IHRvIERpc3BsYXkgKG1heCAyNTUgY2hhcnMpJzsKJGxhbmdbJ3RpdGxlX2NhbGxiYWNrX2hlbHBsb25nJ10gPSAnPHA+WW91IHNwZWNpZnkgYSBtb2R1bGUgYW5kIG1ldGhvZC4gVGhpcyBtZXRob2Qgc2lnbmF0dXJlIHNob3VsZCBiZTo8L3A+PGJyIC8+DQpmdW5jdGlvbiB3aGF0ZXZlcigkaWQsICZhbXA7JHBhcmFtcywgJHJldHVybmlkLCAmYW1wOyRjbXMpPGJyIC8+PGJyIC8+DQo8cD5UaGlzIGZ1bmN0aW9uIHNob3VsZCBvdXRwdXQgc29tZXRoaW5nIHRoYXQgbWFrZXMgc2Vuc2UgaW4gYSBmb3JtLCA8aT5lLmcuPC9pPiBwcm9iYWJseSBoaWRkZW4gZmllbGRzIGNvbnRhaW5pbmcNCnVzZWZ1bCBpbmZvcm1hdGlvbi48L3A+DQo8cD5UaGUgJnF1b3Q7ZmllbGRzJnF1b3Q7IGZpZWxkIHNob3VsZCBjb250YWluIGEgY29tbWEtZGVsaW1pdGVkIGxpc3Qgb2YgdGhlIGZpZWxkcyBnZW5lcmF0ZWQgYnkgdGhhdCBtZXRob2QuPC9wPg0KPHA+RXhhbXBsZTogSSBoYXZlIGEgbW9kdWxlICZxdW90O1VzZXJJRCZxdW90OyB3aGljaCBoYXMgYSBtZXRob2QgJnF1b3Q7TG9nZ2VkSW5Vc2VyJnF1b3Q7LiBUaGlzIG1ldGhvZCBjcmVhdGVzIHR3byBoaWRkZW4gZmllbGRzDQpjYWxsZWQgJnF1b3Q7Zmlyc3RfbmFtZSZxdW90OyBhbmQgJnF1b3Q7bGFzdF9uYW1lJnF1b3Q7IHdoaWNoIEkgd2FudCBpbmNsdWRlZCBpbiBteSBmb3JtIHN1Ym1pc3Npb24uIEkgd291bGQgdGhlbiBlbnRlciB0aGUgZm9sbG93aW5nOjwvcD4NCm1vZHVsZTogVXNlcklEPGJyIC8+DQptZXRob2Q6IExvZ2dlZEluVXNlcjxiciAvPg0KZmllbGRzOiBmaXJzdF9uYW1lLGxhc3RfbmFtZTwvYnI+DQonOwokbGFuZ1snYWRtaW5kZXNjJ10gPSAnVG9ldm9lZ2VuLCBhYW5wYXNzZW4gZW4gYmVoZXJlbiB2YW4gaW50ZXJhY3RpZXZlIEZlZWRiYWNrIEZvcm11bGllcmVuJzsKJGxhbmdbJ2RhdGVfYV9qYW4nXSA9ICdqYW4nOwokbGFuZ1snZGF0ZV9hX2ZlYiddID0gJ2ZlYic7CiRsYW5nWydkYXRlX2FfbWFyJ10gPSAnbWFhJzsKJGxhbmdbJ2RhdGVfYV9hcHInXSA9ICdhcHInOwokbGFuZ1snZGF0ZV9hX21heSddID0gJ21laSc7CiRsYW5nWydkYXRlX2FfanVuJ10gPSAnanVuJzsKJGxhbmdbJ2RhdGVfYV9qdWwnXSA9ICdqdWwnOwokbGFuZ1snZGF0ZV9hX2F1ZyddID0gJ2F1Zyc7CiRsYW5nWydkYXRlX2Ffc2VwJ10gPSAnc2VwJzsKJGxhbmdbJ2RhdGVfYV9vY3QnXSA9ICdva3QnOwokbGFuZ1snZGF0ZV9hX25vdiddID0gJ25vdic7CiRsYW5nWydkYXRlX2FfZGVjJ10gPSAnZGVjJzsKJGxhbmdbJ2RhdGVfamFudWFyeSddID0gJ2phbnVhcmknOwokbGFuZ1snZGF0ZV9mZWJydWFyeSddID0gJ2ZlYnJ1YXJpJzsKJGxhbmdbJ2RhdGVfbWFyY2gnXSA9ICdtYWFydCc7CiRsYW5nWydkYXRlX2FwcmlsJ10gPSAnYXByaWwnOwokbGFuZ1snZGF0ZV9tYXknXSA9ICdtZWknOwokbGFuZ1snZGF0ZV9qdW5lJ10gPSAnanVuaSc7CiRsYW5nWydkYXRlX2p1bHknXSA9ICdqdWxpJzsKJGxhbmdbJ2RhdGVfYXVndXN0J10gPSAnYXVndXN0dXMnOwokbGFuZ1snZGF0ZV9zZXB0ZW1iZXInXSA9ICdzZXB0ZW1iZXInOwokbGFuZ1snZGF0ZV9vY3RvYmVyJ10gPSAnb2t0b2Jlcic7CiRsYW5nWydkYXRlX25vdmVtYmVyJ10gPSAnbm92ZW1iZXInOwokbGFuZ1snZGF0ZV9kZWNlbWJlciddID0gJ2RlY2VtYmVyJzsKJGxhbmdbJ21vbnRoJ10gPSAnTWFhbmQnOwokbGFuZ1snZGF5J10gPSAnRGFnJzsKJGxhbmdbJ3llYXInXSA9ICdKYWFyJzsKJGxhbmdbJ3N1Ym1pc3Npb25fdGl0bGUnXSA9ICdGb3JtIFN1Ym1pc3Npb24nOwokbGFuZ1snc3VibWlzc2lvbl9ob3N0J10gPSAnSG9zdCc7CiRsYW5nWydzdWJtaXNzaW9uX2Zvcm1fbmFtZSddID0gJ0Zvcm0nOwokbGFuZ1snc3VibWlzc2lvbl9kYXRlJ10gPSAnRGF0dW0nOwokbGFuZ1snc3VibWlzc2lvbl9zb3VyY2UnXSA9ICdTb3VyY2UnOwokbGFuZ1snc3VibWlzc2lvbl9zdWJqZWN0J10gPSAnRm9ybSBTdWJtaXNzaW9uJzsKJGxhbmdbJ3N1Ym1pc3Npb25fZXJyb3InXSA9ICdUaGVyZSBoYXMgYmVlbiBhbiBlcnJvciBpbiB0aGUgZm9ybSBzdWJtaXNzaW9uPGJyPlBsZWFzZSB0cnkgYWdhaW4gbGF0ZXIuJzsKJGxhbmdbJ3N1Ym1pc3Npb25fZXJyb3JfZmlsZSddID0gJ0ZvdXQuIEthbiBuaWV0IHNjaHJpanZlbiBuYWFyIGJlc3RhbmQuJzsKJGxhbmdbJ3Bvc3RfaW5zdGFsbCddID0gJzxwPk1ha2Ugc3VyZSB0byBzZXQgdGhlICZxdW90O01vZGlmeSBGZWVkYmFjayBGb3JtcyZxdW90OyBwZXJtaXNzaW9ucw0Kb24gdXNlcnMgd2hvIHdpbGwgYmUgYWRtaW5pc3RlcmluZyBmZWVkYmFjayBmb3Jtcy4gQWxzbywgaWYgeW91JiMwMzk7bGwgYmUgZW1haWxpbmcgZm9ybQ0KcmVzdWx0cywgYmUgc3VyZSB0byB1cGRhdGUgdGhlIENvbmZpZ3VyYXRpb24gYXBwcm9wcmlhdGVseS48L3A+DQo8cD5QbGVhc2UgYmUgYXdhcmUgdGhhdCBhIGZlZWRiYWNrIGZvcm0gc2hvdWxkIG5vdCBiZSBhY3RpdmUgKGUuZy4sIHVzYWJsZSBieSB0aGUgcHVibGljKSB3aGlsZQ0KeW91IGFyZSBzdGlsbCBlZGl0aW5nIHRoZSBmb3JtLiBZb3Ugc2hvdWxkIGNyZWF0ZSB0aGUgZm9ybSwgYW5kIHBsYWNlIHRoZSB0YWcgaW50byBhbiBhY3RpdmUNCmNvbnRlbnQgcGFnZSBvbmx5IHdoZW4geW91IGhhdmUgZmluaXNoZWQgZWRpdGluZy4gT3RoZXJ3aXNlLCBlcnJvbmVvdXMgcmVzdWx0cyBjb3VsZCBiZSByZXR1cm5lZC48L3A+DQo8cD5BZGRpdGlvbmFsbHksIHRoaXMgdmVyc2lvbiBkb2VzIG5vdCBzdXBwb3J0IHBhcmFsbGVsIGVkaXRpbmcgb2YgZm9ybXMuIFBsZWFzZSB0YWtlIGNhcmUgdGhhdA0Kb25seSBvbmUgYWRtaW4gaXMgZWRpdGluZyBhIGdpdmVuIGZvcm0gYXQgYSBnaXZlbiB0aW1lLjwvcD4nOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPg0KPHA+VGhlIEZlZWRiYWNrRm9ybSBNb2R1bGUgYWxsb3dzIHlvdSB0byBjcmVhdGUgZm9ybXMgZm9yIHVzZXIgZmVlZGJhY2suIFRoZXNlIGZvcm1zIG1heSBiZSBpbnNlcnRlZA0KaW50byB0ZW1wbGF0ZXMgYW5kL29yIGNvbnRlbnQgcGFnZXMuIEZlZWRiYWNrIGZvcm1zIG1heSBjb250YWluIG1hbnkga2luZHMgb2YgaW5wdXRzLCBhbmQgbWF5IGhhdmUNCnZhbGlkYXRpb24gYXBwbGllZCB0byB0aGVzZSBpbnB1dHMuIFRoZSByZXN1bHRzIG9mIHRoZXNlIGZvcm1zIG1heSBiZSBoYW5kbGVkIGluIGEgdmFyaWV0eSBvZiB3YXlzLjwvcD4NCg0KPGgzPkhvdyBEbyBJIFVzZSBpdD88L2gzPg0KPFA+SW5zdGFsbCBpdCwgYW5kIHBva2UgYXJvdW5kIHRoZSBtZW51cy4gUGxheSB3aXRoIGl0LiBUcnkgY3JlYXRpbmcgZm9ybXMsIGFuZCBhZGRpbmcgdGhlbSB0byB5b3VyIGNvbnRlbnQuDQpJZiB5b3UgZ2V0IHN0dWNrLCBjaGF0IHdpdGggbWUgb24gdGhlICNjbXMgSVJDIGNoYW5uZWwsIHBvc3QgdG8gdGhlIGZvcnVtLCBzZW5kIG1lIGVtYWlsLCBvciwgaWYgeW91JiMwMzk7cmUNCnJlYWxseSBkZXNwZXJhdGUsIHJlYWQgdGhlIHJlc3Qgb2YgdGhpcyBwYWdlLjwvUD4NCg0KPGgzPkhvdyBEbyBJIENyZWF0ZSBhIEZvcm08L2gzPg0KPHA+SW4gdGhlIENNUyBBZG1pbiBNZW51LCB5b3Ugc2hvdWxkIGdldCBhIG5ldyBtZW51IGl0ZW0gY2FsbGVkIEZlZWRiYWNrRm9ybS4gQ2xpY2sgb24gdGhpcy4gT24gdGhlIHBhZ2UNCnRoYXQgZ2V0cyBzaG93biwgdGhlcmUgYXJlIG9wdGlvbnMgKGF0IHRoZSBib3R0b20gb2YgdGhlIGxpc3Qgb2YgRm9ybXMpIHRvIEFkZCBhIE5ldyBGb3JtIG9yIE1vZGlmeQ0KQ29uZmlndXJhdGlvbi48L3A+DQoNCjxoMz5BZGRpbmcgYSBGb3JtIHRvIGEgUGFnZTwvaDM+DQo8cD5JbiB0aGUgbWFpbiBGZWVkYmFja0Zvcm0gYWRtaW4gcGFnZSwgeW91IGNhbiBzZWUgYW4gZXhhbXBsZSBvZiB0aGUgdGFnIHVzZWQgdG8gZGlzcGxheSBlYWNoIGZvcm0uIEl0IGxvb2tzDQpzb21ldGhpbmcgbGlrZSB7Y21zX21vZHVsZSBtb2R1bGU9JnF1b3Q7RmVlZGJhY2tGb3JtJnF1b3Q7IGZvcm09JnF1b3Q7ZmVlZGJhY2tfZm9ybV9leGFtcGxlJnF1b3Q7fTwvcD4NCjxwPkJ5IGNvcHlpbmcgdGhpcyB0YWcgaW50byB0aGUgY29udGVudCBvZiBhIHBhZ2UsIG9yIGludG8gYSB0ZW1wbGF0ZSwgd2lsbCBjYXVzZSB0aGF0IGZvcm0gdG8gYmUgZGlzcGxheWVkLg0KSW4gdGhlb3J5LCB5b3UgY2FuIGhhdmUgbXVsdGlwbGUgZm9ybXMgb24gYSBwYWdlIGlmIHlvdSByZWFsbHkgd2FudCB0by4gQmUgY2FyZWZ1bCB3aGVuIHBhc3RpbmcgdGhlIHRhZw0KaW50byBhIHBhZ2UmIzAzOTtzIGNvbnRlbnQgaWYgeW91IHVzZSBhIFdZU0lXWUcgZWRpdG9yIHN1Y2ggYXMgVGlueU1DRSBvciBIVE1MQXJlYS4gVGhlc2UgZWRpdG9ycyBtYXkgc3RlYWx0aGlseQ0KY2hhbmdlIHRoZSBxdW90ZSBtYXJrcyAoJnF1b3Q7KSBpbnRvIEhUTUwgZW50aXRpZXMgKCZhbXA7cXVvdDspLCBhbmQgdGhlIGZvcm1zIHdpbGwgbm90IHNob3cgdXAuIFRyeSB1c2luZw0Kc2luZ2xlIHF1b3RlcyAoJiMwMzk7KSBvciBlZGl0aW5nIHRoZSBIVE1MIGRpcmVjdGx5Lg0KDQo8aDM+QWRkaW5nIEZpZWxkcyB0byBhIEZvcm08L2gzPg0KPHA+QnkgY2xpY2tpbmcgb24gYSBGb3JtJiMwMzk7cyBuYW1lLCB5b3UgZW50ZXIgdGhlIEZvcm0gRWRpdCBwYWdlLiBZb3Ugd2lsbCBzZWUgYSBudW1iZXIgb2Ygb3B0aW9ucyBmb3IgdGhlIGZvcm0NCihsaWtlIHdoYXQgeW91IHdhbnQgdGhlIHRleHQgb2YgdGhlIHN1Ym1pdCBidXR0b24gdG8gc2F5LCB3aGF0IG1lc3NhZ2Ugc2hvdWxkIGJlIGRpc3BsYXllZCB0byB0aGUgdXNlciB3aGVuDQp0aGV5IHN1Ym1pdCB0aGUgZm9ybSwgZXRjKS4gVGhlcmUgaXMgYWxzbyBhIGxpc3Qgb2YgZmllbGRzIHRoYXQgbWFrZSB1cCB0aGUgZm9ybS4gVGhlIHR5cGVzIG9mIGZpZWxkcyB0aGF0DQphcmUgY3VycmVudGx5IHN1cHBvcnRlZCBmaXQgaW50byBmb3VyIGdyb3Vwczogc3RhbmRhcmQgaW5wdXQgZmllbGRzLCBkaXNwbGF5IGNvbnRyb2wgZmllbGRzLCBlbWFpbC1vbmx5IGlucHV0DQpmaWVsZHMsIGFuZCBmb3JtIHJlc3VsdCBoYW5kbGluZyBmaWVsZHMgKGFsc28NCmNhbGxlZCBGb3JtIERpc3Bvc2l0aW9ucyBpbiBwbGFjZXMpOjwvcD4NCjx1bD4NCjxsaT5TdGFuZGFyZCBJbnB1dCBGaWVsZHMgLSB0aGVzZSBhcmUgaW5wdXRzIHRoYXQgYWxsb3cgZW50cnkgb2YgdHlwaWNhbCBmb3JtIGVsZW1lbnRzLjwvbGk+DQo8bGk+RGlzcGxheSBDb250cm9sIEZpZWxkcyAtIHRoZXNlIGlucHV0IGNvbnRyb2wgaG93IHRoZSB1c2VyIHdpbGwgc2VlIHRoZSBkaXNwbGF5IG9mIHRoZSBmb3JtLjwvbGk+DQo8bGk+RW1haWwtb25seSBJbnB1dCBGaWVsZHMgLSB0aGVzZSBhcmUgaW5wdXRzIHRoYXQgYWxsb3cgZW50cnkgb2YgdHlwaWNhbCBmb3JtIGVsZW1lbnRzLCBidXQgYXBwbHkgb25seQ0KZm9yIGZvcm0gZGlzcG9zaXRpb25zIHRoYXQgc2VuZCB0aGUgcmVzdWx0cyB2aWEgZW1haWwuPC9saT4NCjxsaT5TcGVjaWFsIFB1cnBvc2UgRmllbGRzIC0gdGhlc2UgaW5wdXRzIGFyZSB1c2VkIGZvciBpbnRlcmZhY2luZyBwcm9ncmFtbWF0aWNhbGx5IHdpdGggb3RoZXIgbW9kdWxlcy48L2xpPg0KPGxpPkZvcm0gRGlzcG9zaXRpb25zIC0gVGhlc2UgZGV0ZXJtaW5lIHdoYXQgaGFwcGVucyB3aGVuIHRoZSB1c2VyDQpzdWJtaXRzIHRoZSBmb3JtOyBmb3IgZWFjaCByZXN1bHQgaGFuZGxpbmcgZmllbGQsIHNvbWUgbWV0aG9kIG9mIHRyYW5zbWl0dGluZywgc2F2aW5nLCBvciBlbWFpbGluZyB0aGUNCmZvcm0gY29udGVudHMgdGFrZXMgcGxhY2UuIEEgZm9ybSBtYXkgaGF2ZSBtdWx0aXBsZSBmb3JtIGRpc3Bvc2l0aW9ucy48L2xpPg0KPC91bD4NCjxwPkZvcm0gZmllbGRzIGFyZSBhc3NpZ25lZCBuYW1lcy4gVGhlc2UgbmFtZXMgaWRlbnRpZnkgdGhlIGZpZWxkLCBub3Qgb25seSBvbiB0aGUgc2NyZWVuIGFzIGxhYmVscyBmb3IgdGhlIHVzZXIsDQpidXQgaW4gdGhlIGRhdGEgd2hlbiBpdCYjMDM5O3Mgc3VibWl0dGVkIHNvIHlvdSBrbm93IHdoYXQgdGhlIHVzZXIgaXMgcmVzcG9uZGluZyB0by4gUGhyYXNpbmcgdGhlIG5hbWUgbGlrZSBhIHF1ZXN0aW9uDQppcyBhIGhhbmR5IHdheSBvZiBtYWtpbmcgaXQgY2xlYXIgdG8gdGhlIHVzZXIgd2hhdCBpcyBleHBlY3RlZC4gU2ltaWxhcmx5LCBzb21lIGZpZWxkcyBoYXZlIGJvdGggTmFtZXMgYW5kIFZhbHVlcy4NClRoZSBOYW1lcyBhcmUgd2hhdCBnZXRzIHNob3duIHRvIHRoZSB1c2VyOyB0aGUgVmFsdWUgaXMgd2hhdCBnZXRzIHNhdmVkIG9yIHRyYW5zbWl0dGVkIHdoZW4gdGhlIHVzZXIgc3VibWl0cw0KdGhlIGZvcm0uIFRoZSBWYWx1ZXMgYXJlIG5ldmVyIHNlZW4gYnkgdGhlIHVzZXIsIG5vciBhcmUgdGhleSB2aXNpYmxlIGluIHRoZSBIVE1MLCBzbyBpdCYjMDM5O3Mgc2FmZSB0byB1c2UgZm9yDQplbWFpbCBhZGRyZXNzZXMgYW5kIHN1Y2guPC9wPg0KPHA+U29tZSBmaWVsZHMgY2FuIGhhdmUgbXVsdGlwbGUgdmFsdWVzLCBvciBtdWx0aXBsZSBuYW1lL3ZhbHVlIHBhaXJzLiBXaGVuIHlvdSBmaXJzdCBjcmVhdGUgc3VjaCBhIGZpZWxkLA0KdGhlcmUgbWF5IG5vdCBiZSBzdWZmaWNpZW50IGlucHV0cyBmb3IgeW91IHRvIHNwZWNpZnkgYWxsIHRoZSB2YWx1ZXMgeW91IHdhbnQuIFRvIGdldCBtb3JlIHNwYWNlIGZvciBpbnB1dHRpbmcNCnRoZXNlIHZhbHVlcywgc2ltcGx5IHNhdmUgdGhlIGZpZWxkLCBhbmQgdGhlbiBjbGljayBvbiBpdHMgbmFtZSB0byBlZGl0IGl0IGFnYWluLiBFdmVyeSB0aW1lIHlvdSBlZGl0IHN1Y2ggYQ0KZmllbGQsIHlvdSB3aWxsIHJlY2VpdmUgbW9yZSBpbnB1dHMuPC9wPg0KPHA+RmllbGRzIGNhbiBiZSBhc3NpZ25lZCB2YWxpZGF0aW9uIHJ1bGVzLCB3aGljaCB2YXJ5IGFjY29yZGluZyB0byB0aGUgdHlwZSBvZiB0aGUgZmllbGQuIFRoZXNlIHJ1bGVzIGhlbHANCmVuc3VyZSB0aGF0IHRoZSB1c2VyIGVudGVycyB2YWxpZCBkYXRhLiBUaGV5IG1heSBhbHNvIGJlDQpzZXBhcmF0ZWx5IG1hcmtlZCAmcXVvdDtSZXF1aXJlZCZxdW90Oywgd2hpY2ggd2lsbCBmb3JjZSB0aGUgdXNlciB0byBlbnRlciBhIHJlc3BvbnNlLjwvcD4NCjxwPkZpZWxkcyBhbHNvIG1heSBiZSBhc3NpZ25lZCBhIENTUyBjbGFzcy4gVGhpcyBzaW1wbHkgd3JhcHMgdGhlIGlucHV0IGluIGEgZGl2IHdpdGggdGhhdCBjbGFzcywgc28gYXMgdG8gYWxsb3cNCmN1c3RvbWl6ZWQgbGF5b3V0cy4gVG8gdXNlIHRoaXMgZWZmZWN0aXZlbHksIHlvdSBtYXkgbmVlZCB0byAmcXVvdDt2aWV3IHNvdXJjZSZxdW90OyBvbiB0aGUgZ2VuZXJhdGVkIGZvcm0sIGFuZCB0aGVuDQp3cml0ZSB5b3VyIENTUy48L3A+DQo8dWw+DQo8bGk+U3RhbmRhcmQgSW5wdXRzDQo8dWw+PGxpPlRleHQgSW5wdXQuIFRoaXMgaXMgYSBzdGFuZGFyZCB0ZXh0IGZpZWxkLiBZb3UgY2FuIGxpbWl0IHRoZSBsZW5ndGgsIGFuZCBhcHBseSB2YXJpb3VzIHZhbGlkYXRpb24NCmZ1bmN0aW9ucyB0byB0aGUgZmllbGQuPC9saT4NCjxsaT5UZXh0IEFyZWEuIFRoaXMgaXMgYSBiaWcsIGZyZWUtZm9ybSB0ZXh0IGlucHV0IGZpZWxkLjwvbGk+DQo8bGk+Q2hlY2tib3guIFRoaXMgaXMgYSBzdGFuZGFyZCBjaGVjayBib3guIElmIHlvdSB0dXJuIG9uIHZhbGlkYXRpb24sIHlvdSBjYW4gcmVxdWlyZSB0aGF0IHRoZSB1c2VyIGNoZWNrcw0KdGhlIGJveC4gVGhpcyBpcyB1c2VmdWwgZm9yIGZvcm1zIHdoZXJlIHRoZSB1c2VyIGlzIG9ibGlnYXRlZCB0byBhZ3JlZSB0byBzb21ldGhpbmcgaW4gb3JkZXIgdG8gc3VibWl0DQp0aGUgZm9ybS48L2xpPg0KPGxpPkNoZWNrYm94IEdyb3VwLiBUaGlzIGlzIGEgY29sbGVjdGlvbiBvZiBjaGVja2JveGVzLiBUaGUgb25seSBkaWZmZXJlbmNlIGJldHdlZW4gdGhpcyBpbnB1dCBhbmQgYQ0KY29sbGVjdGlvbiBvZiBDaGVja2JveCBpbnB1dHMgaXMgdGhhdCB0aGV5IGFyZSBwcmVzZW50ZWQgYXMgYSBncm91cCwgd2l0aCBvbmUgbmFtZSwgYW5kIGNhbiBoYXZlIGEgdmFsaWRhdGlvbg0KZnVuY3Rpb24gcmVxdWlyaW5nIHRoYXQgeW91IGNoZWNrIG9uZSBvciBtb3JlIG9mIHRoZSBib3hlcyBpbiB0aGUgZ3JvdXAuPC9saT4NCjxsaT5SYWRpbyBHcm91cC4gVGhpcyBpcyBhIGNvbGxlY3Rpb24gb2YgcmFkaW8gYnV0dG9ucy4gT25seSBvbmUgb2YgdGhlIGdyb3VwIG1heSBiZSBzZWxlY3RlZCBieSB0aGUgdXNlci48L2xpPg0KPGxpPlB1bGxkb3duLiBUaGlzIGlzIGEgc3RhbmRhcmQgcHVsbGRvd24gbWVudS4gSXQmIzAzOTtzIHJlYWxseSBjb25jZXB0dWFsbHkgdGhlIHNhbWUgdGhpbmcgYXMgYSByYWRpbyBidXR0b24NCmdyb3VwLCBidXQgaXMgYmV0dGVyIHdoZW4gdGhlcmUgYXJlIGEgbGFyZ2UgbnVtYmVyIG9mIG9wdGlvbnMuPC9saT4NCjxsaT5TdGF0ZS4gVGhpcyBpcyBhIHB1bGxkb3duIGxpc3RpbmcgdGhlIFN0YXRlcyBvZiB0aGUgVS5TLjwvbGk+DQo8bGk+Q291bnRyaWVzLiBUaGlzIGlzIGEgcHVsbGRvd24gbGlzdGluZyB0aGUgQ291bnRyaWVzIG9mIHRoZSB3b3JsZCAoYXMgb2YgSnVseSAyMDA1KS48L2xpPg0KPGxpPkRhdGUgUGlja2VyLiBUaGlzIGlzIGEgdHJpcGxlIHB1bGxkb3duIGFsbG93aW5nIHRoZSB1c2VyIHRvIHNlbGVjdCBhIGRhdGUuPC9saT4NCjwvdWw+PC9saT4NCg0KPGxpPkVtYWlsLW9ubHkgSW5wdXRzDQo8dWw+PGxpPkZpbGUgVXBsb2FkLiBUaGlzIGFsbG93cyBhIHVzZXIgdG8gdXBsb2FkIGEgZmlsZSwgd2hpY2ggd2lsbCBiZSBpbmNsdWRlZCBhcyBhbiBhdHRhY2htZW50IHRvIGFueSBlbWFpbA0KZGlzcG9zaXRpb24uIEZpbGUgdXBsb2FkcyBkbyBub3QgY3VycmVudGx5IHdvcmsgd2l0aCB0aGUgRmxhdCBGaWxlIGRpc3Bvc2l0aW9uIG1ldGhvZC48L2xpPg0KPGxpPkVtYWlsIEZyb20gRmllbGQuIFRoaXMgYWxsb3dzIHVzZXJzIHRvIHByb3ZpZGUgdGhlaXIgbmFtZSBhbmQgZW1haWwgYWRkcmVzcy4gVGhlIGVtYWlsIGdlbmVyYXRlZCB3aGVuIHRoZQ0KZm9ybSBnZXRzIGhhbmRsZWQgd2lsbCB1c2UgdGhpcyBuYW1lIGFuZCBhZGRyZXNzIGluIHRoZSAmcXVvdDtGcm9tJnF1b3Q7IGZpZWxkLjwvbGk+DQo8L3VsPjwvbGk+DQoNCjxsaT5EaXNwbGF5IENvbnRyb2wgRmllbGRzPHVsPg0KPGxpPlBhZ2UgQnJlYWsuIFRoaXMgYWxsb3dzIHlvdSB0byBzcGxpdCB5b3VyIGZlZWRiYWNrIGZvcm0gaW50byBtdWx0aXBsZSBwYWdlcy4gRWFjaCBwYWdlIGlzDQppbmRlcGVuZGVudGx5IHZhbGlkYXRlZC4gVGhpcyBpcyBnb29kIGZvciBhcHBsaWNhdGlvbnMgbGlrZSBvbmxpbmUgc3VydmV5cy48L2xpPg0KPGxpPlN0YXRpYyBUZXh0LiBUaGlzIGFsbG93cyB5b3UgdG8gcGxhY2UgdGV4dCBpbiB5b3VyIGZvcm0uIEl0JiMwMzk7cyBjYWxsZWQgYW4gaW5wdXQsIGJ1dCBpdCYjMDM5O3MgZGlzcGxheSBvbmx5LiBUaGlzIGlzIHVzZWZ1bCBmb3IgcHJlc2VudGluZyBpbnN0cnVjdGlvbnMsIGhlbHAsIGV0Yy48L2xpPg0KPC91bD48L2xpPg0KDQo8bGk+U3BlY2lhbCBQdXJwb3NlIEZpZWxkczx1bD4NCjxsaT5GdW5jdGlvbiBDYWxsYmFjayAmcXVvdDtJbnB1dCZxdW90Oy4gVGhpcyBhbGxvd3MgcHJvZ3JhbW1lcnMgdG8gYWNjZXNzIGluZm9ybWF0aW9uIGZyb20gb3RoZXIgbW9kdWxlcyAoc3VjaCBhcyBnZXR0aW5nIHVzZXIgbmFtZSBkYXRhIGZyb20gYSB1c2VyIGF1dGhlbnRpY2F0aW9uIG1vZHVsZSkuPC9saT48L3VsPjwvbGk+DQoNCjxsaT5Gb3JtIEhhbmRsaW5nIElucHV0cyAoRGlzcG9zaXRpb25zKQ0KPHVsPjxsaT5FbWFpbCBSZXN1bHRzIEJhc2VkIG9uIFB1bGxkb3duLiBUaGlzIGlzIHVzZWZ1bCBmb3Igd2ViIHNpdGVzIHdoZXJlIGNvbW1lbnRzIGdldCByb3V0ZWQgYmFzZWQgb24NCnRoZWlyIHN1YmplY3QgbWF0dGVyLCBlLmcuLCBidWdzIGdldCBzZW50IHRvIG9uZSBwZXJzb24sIG1hcmtldGluZyBxdWVzdGlvbnMgdG8gYW5vdGhlciBwZXJzb24sIHNhbGVzIHJlcXVlc3RzDQp0byBzb21lb25lIGVsc2UsIGV0Yy4gVGhlIHB1bGxkb3duIGlzIHBvcHVsYXRlZCB3aXRoIHRoZSBzdWJqZWN0cywgYW5kIGVhY2ggZ2V0cyBkaXJlY3RlZCB0byBhIHNwZWNpZmljIGVtYWlsDQphZGRyZXNzLiBZb3Ugc2V0IHVwIHRoZXNlIG1hcHBpbmdzIGluIHRoZSB3aGVuIHlvdSBjcmVhdGUgb3IgZWRpdCBhIGZpZWxkIG9mIHRoaXMgdHlwZS4gSWYgeW91IHVzZSBvbmUgb2YNCnRoZXNlICZxdW90O0RpcmVjdG9yJnF1b3Q7IHB1bGxkb3ducywgdGhlIHVzZXIgbXVzdCBtYWtlIGEgc2VsZWN0aW9uIGluIG9yZGVyIHRvIHN1Ym1pdCB0aGUNCmZvcm0uIFRoaXMgaW5wdXQgaXMgcGFydCBvZiB0aGUgZm9ybSB0aGUgdXNlciBzZWVzLCBhbHRob3VnaCB0aGUgZW1haWwgYWRkcmVzc2VzIGFyZSBub3QgbWFkZSB2aXNpYmxlIG5vcg0KYXJlIHRoZXkgZW1iZWRkZWQgaW4gdGhlIEhUTUwuPC9saT4NCjxsaT5FbWFpbCBSZXN1bHRzIHRvIHNldCBBZGRyZXNzKGVzKS4gVGhpcyBzaW1wbHkgc2VuZHMgdGhlIGZvcm0gcmVzdWx0cyB0byBvbmUgb3IgbW9yZSBlbWFpbCBhZGRyZXNzZXMgdGhhdA0KeW91IGVudGVyIHdoZW4geW91IGNyZWF0ZSBvciBlZGl0IHRoaXMgdHlwZSBvZiBmaWVsZC4gVGhpcyBmaWVsZCBhbmQgaXRzIG5hbWUgYXJlIG5vdCB2aXNpYmxlIGluIHRoZQ0KZm9ybSB0aGF0IHRoZSB1c2VyIHNlZXMuIFRoZSBlbWFpbCBhZGRyZXNzZXMgYXJlIG5vdCBtYWRlIHZpc2libGUgbm9yDQphcmUgdGhleSBlbWJlZGRlZCBpbiB0aGUgSFRNTC48L2xpPg0KPGxpPkVtYWlsIFJlc3VsdHMgdG8gVXNlci1TZWxlY3RlZCBTaXRlIFVzZXIuIFRoaXMgaW5wdXQgaXMgb3VyIGZpcnN0IGVuZC11c2VyIHN1Z2dlc3Rpb24hIEl0IGNyZWF0ZXMgYSANCnB1bGxkb3duIG9mIHVzZXJuYW1lcyBpbiB0aGUgZm9ybS4gVGhlIHVzZXJuYW1lcyBhcmUgb3RoZXIgdXNlcnMgd2hvIGFyZSByZWdpc3RlcmVkIHdpdGggdGhlIHNpdGUuDQpXaGVuIHRoZSBmb3JtIGlzIHN1Ym1pdHRlZCwgdGhlIGRhdGEgaXMgc2VudCB0byB0aGUgdXNlciB3aG9zZSBuYW1lIHdhcyBzZWxlY3RlZC4gV2hlbiB5b3UgY3JlYXRlDQphIGZpZWxkIG9mIHRoaXMgdHlwZSwgeW91IG1heSBzZWxlY3Qgc3BlY2lmaWMgZ3JvdXBzIGZyb20gd2hpY2ggdGhlIHVzZXJsaXN0IGlzIGNyZWF0ZWQuIFRoaXMgaW5wdXQgaXMNCnBhcnQgb2YgdGhlIGZvcm0gdGhlIHVzZXIgc2VlcywgYWx0aG91Z2ggdGhlIGVtYWlsIGFkZHJlc3NlcyBhcmUgbm90IG1hZGUgdmlzaWJsZSBub3IgYXJlIHRoZXkgZW1iZWRkZWQNCmluIHRoZSBIVE1MLjwvbGk+DQo8bGk+V3JpdGUgUmVzdWx0cyB0byBGbGF0IEZpbGUuIFRoaXMgdGFrZXMgdGhlIGZvcm0gcmVzdWx0cyBhbmQgd3JpdGVzIHRoZW0gaW50byBhIHRleHQgZmlsZS4gWW91IG1heQ0Kc2VsZWN0IHRoZSBuYW1lIG9mIHRoZSBmaWxlLCBhbmQgaXRzIGZvcm1hdC4gWW91IGNhbiBjaG9vc2UgZnJvbSAmcXVvdDtwYWdlJnF1b3Q7IGZvcm1hdCwgd2hpY2ggbG9va3MgbGlrZSB0aGUNCmVtYWlscyB0aGF0IGdldCBzZW50IGJ5IHRoZSBvdGhlciBoYW5kbGVycywgb3IgeW91IGNhbiBjaG9vc2UgYSB0YWItZGVsaW1pdGVkIGZvcm1hdCB1c2VmdWwgZm9yIHJlYWRpbmcNCmludG8gRXhjZWwgb3Igc2ltaWxhciBwcm9ncmFtcy4gSWYgeW91IGNob29zZSB0YWItZGVsaW1pdGVkLCB5b3UgY2FuIG9wdCB0byBoYXZlIHRoZSBmaWxlIHN0YXJ0IHdpdGgNCmEgaGVhZGVyIHJvdywgd2hpY2ggbmFtZXMgdGhlIGNvbHVtbnMuIFRoZXNlIGZpbGVzIGFyZSB3cml0dGVuIHRvIHRoZSAmcXVvdDtvdXRwdXQmcXVvdDsgZGlyZWN0b3J5IHVuZGVyIHRoZQ0KbW9kdWxlJiMwMzk7cyBpbnN0YWxsYXRpb24gZGlyZWN0b3J5Lg0KPC91bD48L2xpPjwvbGk+PC91bD4NCg0KPGgzPktub3duIElzc3VlczwvaDM+DQo8dWw+DQo8bGk+RmlsZSBVcGxvYWQgSW5wdXRzIG1heSBiZSB1c2VkIG9uIG11bHRpLXBhZ2UgZmVlZGJhY2sgZm9ybXMsIDxzdHJvbmc+YnV0IHRoZXkgbXVzdCBiZSBvbiB0aGUgbGFzdCBwYWdlPC9zdHJvbmc+IG9mDQp0aGUgZm9ybS48L2xpPg0KPGxpPkZpbGUgVXBsb2FkICZxdW90O21heGltdW0gc2l6ZSZxdW90OyBjYW5ub3QgYmUgbGFyZ2VyIHRoYW4gdGhlIHZhbHVlIHNldCBpbiB5b3VyIHBocC5pbmkgZmlsZS4gVGhpcyBpcyBub3QgYSBidWcgLS0gdGhpcyBpcyBhIGZlYXR1cmUuPC9saT4NCjxsaT5GaWxlIFVwbG9hZCAmcXVvdDttYXhpbXVtIHNpemUmcXVvdDsgdXNlcyB1bml0cyBjYWxsZWQgJnF1b3Q7a2lsb2J5dGVzJnF1b3Q7IHRoYXQgYXJlIDEwMDAgYnl0ZXMsIG5vdCAxMDI0IGJ5dGVzLjwvbGk+DQo8bGk+RmlsZSBVcGxvYWRzIGRvIG5vdCBjdXJyZW50bHkgd29yayB3aXRoIHRoZSBGbGF0IEZpbGUgZGlzcG9zaXRpb24gbWV0aG9kLjwvbGk+DQo8bGk+RmlsZSBVcGxvYWRzIGNvdWxkIGFsbG93IHVzZXJzIHRvIHN1Ym1pdCBvZmZlbnNpdmUsIG9ic2NlbmUsIG9yIGlsbGVnYWwgbWF0ZXJpYWwuIEl0IGNvdWxkIGFsc28gYmUgdXNlZCB0byB0cmFuc21pdA0KZGFuZ2Vyb3VzIGZpbGVzIHN1Y2ggYXMgdHJvamFuLWhvcnNlcywgdmlydXNlcywgb3Igb3RoZXIgc2VjdXJpdHkgdGhyZWF0cy4gVXNlIEZpbGUgVXBsb2FkcyB3aXRoIGNhdXRpb24gYW5kIGNvbW1vbiBzZW5zZS48L2xpPg0KPC91bD4NCg0KPGgzPlRyb3VibGVzaG9vdGluZzwvaDM+DQo8b2w+PGxpPiBGaXJzdCBzdGVwIGlzIHRvIGNoZWNrIHlvdSYjMDM5O3JlIHJ1bm5pbmcgQ01TIDAuMTAueCBvciBsYXRlci48L2xpPg0KPGxpPiBTZWNvbmQgc3RlcCBpcyB0byByZWFkIGFuZCB1bmRlcnN0YW5kIHRoZSBjYXZlYXQgYWJvdXQgV1lTSVdZRyBlZGl0b3JzIHVwIGluIHRoZQ0Kc2VjdGlvbiA8ZW0+QWRkaW5nIGEgRm9ybSB0byBhIFBhZ2U8L2VtPi48L2xpPg0KPGxpPiBKdXN0IG1lc3MgYXJvdW5kIGFuZCB0cnkgY2xpY2tpbmcgb24gbGlua3MgYW5kIGljb25zIGFuZCBzdHVmZi4gU2VlIHdoYXQgaGFwcGVucy48L2xpPg0KPGxpPiBMYXN0IHJlc3BvcnQgaXMgdG8gZW1haWwgbWUgb3IgY2F0Y2ggbWUgb24gSVJDIGFuZCB3ZSBjYW4gZ28gZnJvbSB0aGVyZS48L2xpPg0KPC9vbD4gDQo8cD5UaGlzIG1heSBubyBsb25nZXIgYmUgc3VjaCBhbiBlYXJseSB2ZXJzaW9uLCBidXQgaXQgaXMgcHJvYmFibHkgc3RpbGwgYnVnZ3kuIFdoaWxlIEkmIzAzOTt2ZSBkb25lIGFsbCBJIGNhbg0KdG8gbWFrZSBzdXJlIG5vIGVncmVnaW91cyBidWdzIGhhdmUgY3JlcHQgaW4sIEkgaGF2ZSB0byBhZG1pdCB0aGF0IGR1cmluZyB0ZXN0aW5nLCB0aGlzIHByb2dyYW0NCnJldmVhbGVkIHNldmVuIGNvY2tyb2FjaGVzLCB0d28gZWFyd2lncywgYSBzbWFsbCBmYW1pbHkgb2YgYXBoaWRzLCBhbmQgYSB3YWxraW5nLXN0aWNrIGluc2VjdC4gSXQgYWxzbw0KYXRlIHRoZSBuZWlnaGJvciYjMDM5O3MgbmFzdHkgbGl0dGxlIHlhcCBkb2csIGZvciB3aGljaCBJIHdhcyBpbmFwcHJvcHJpYXRlbHkgZ3JhdGVmdWwuPC9wPg0KPHA+VGhlIGZpbmFsIHJlbGVhc2Ugd2lsbCBpbmNsdWRlIGJ1ZyBmaXhlcywgZG9jdW1lbnRhdGlvbiwgYW5kIHVuY29uZGl0aW9uYWwgbG92ZS48L3A+DQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+DQo8dWw+DQo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQgb3IgYnV5IGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHZpc2l0IFNqRyYjMDM5O3MNCm1vZHVsZSBob21lcGFnZSBhdCA8YSBocmVmPSZxdW90O2h0dHA6Ly93d3cuY21zbW9kdWxlcy5jb20mcXVvdDs+Q01TTW9kdWxlcy5jb208L2E+LjwvbGk+DQo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSZxdW90O2h0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyZxdW90Oz5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPGxpPlRoZSBhdXRob3IsIFNqRywgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSZxdW90O2lyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyZxdW90Oz5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkuPC9saT4gIA0KPC91bD4NCjxwPkFzIHBlciB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkIGFzLWlzLiBQbGVhc2UgcmVhZCB0aGUgdGV4dA0Kb2YgdGhlIGxpY2Vuc2UgZm9yIHRoZSBmdWxsIGRpc2NsYWltZXIuPC9wPg0KDQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPkNvcHlyaWdodCAmY29weTsgMjAwNSwgU2FtdWVsIEdvbGRzdGVpbiA8YSBocmVmPSZxdW90O21haWx0bzpzamdAY21zbW9kdWxlcy5jb20mcXVvdDs+PHNqZ0BjbXNtb2R1bGVzLmNvbT48L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiByZWxlYXNlZCB1bmRlciB0aGUgPGEgaHJlZj0mcXVvdDtodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwmcXVvdDs+R05VIFB1YmxpYyBMaWNlbnNlPC9hPi4gWW91IG11c3QgYWdyZWUgdG8gdGhpcyBsaWNlbnNlIGJlZm9yZSB1c2luZyB0aGUgbW9kdWxlLjwvcD4NCgkJDQonOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnCQkgICAgPHVsPg0KCQkgICAgPGxpPlZlcnNpb25zIDAuOS54IC0gT2N0b2JlciwgTm92ZW1iZXIgMjAwNS4gQ29udGludWluZyBidWcgZml4ZXMuPC9saT4NCgkJICAgIDxsaT5WZXJzaW9uIDAuOSAtICAyIE9jdG9iZXIgMjAwNS4gTWlncmF0ZWQgdG8gcHJvcGVyIE1vZHVsZSBBUEkgKGxhbmcsIHNtYXJ0eSB0ZW1wbGF0ZXMsIGV0Yy4pLjwvbGk+DQogICAgICAgICAgICA8bGk+VmVyc2lvbiAwLjggLSAzMSBKdWx5IDIwMDUuIEJ1ZyBmaXhlcywgYWRkZWQgRGF0ZSBhbmQgQ2FsbGJhY2sgRnVuY3Rpb24gaW5wdXQgdHlwZXMuPC9saT4NCiAgICAgICAgICAgIDxsaT5WZXJzaW9uIDAuNy4zIC0gMjEgSnVseSAyMDA1LiBCdWcgZml4ZXMsIGFkZGVkIFN0YXRlIGFuZCBDb3VudHJ5IGlucHV0IHR5cGVzLjwvbGk+DQogICAgICAgICAgICA8bGk+VmVyc2lvbiAwLjcuMiAtIDE4IEp1bHkgMjAwNS4gVmFsaWRhdGlvbiBidWcgZml4ZXMsIGZpeGVkIFBIUE1haWxlciBsb2NhbGl6YXRpb24uPC9saT4NCiAgICAgICAgICAgIDxsaT5WZXJzaW9uIDAuNy4xIC0gMSBKdW5lIDIwMDUuIE1pbm9yIGJ1ZyBmaXhlcy48L2xpPg0KICAgICAgICAgICAgPGxpPlZlcnNpb24gMC43IC0gMjQgTWF5IDIwMDUuIE1vcmUgYW5kIGJldHRlciBzdXBwb3J0IGZvciBDU1MgYW5kIHB1cmUgQ1NTIGxheW91dHMuDQogICAgICAgICAgICBTdXBwb3J0IGZvciBtdWx0aS1wYWdlIGZvcm1zLg0KICAgICAgICAgICAgTWFueSBuZXcgZm9ybSBvcHRpb25zLiBOZXcgZmllbGQgdHlwZXM6IGZpbGUgdXBsb2FkLCBlbWFpbCAmcXVvdDtmcm9tJnF1b3Q7IGFkZHJlc3MuIEltcHJvdmVkDQogICAgICAgICAgICBlcnJvciBoYW5kbGluZy4gRW1haWwgZGlzcG9zYWwgdHlwZXMgbm93IHRlbXBsYXRlZC48L2xpPg0KCQkJPGxpPlZlcnNpb24gMC42IC0gMTYgQXByIDIwMDUuIFVwZGF0ZWQgZm9yIG5ldyBBZG1pbiwgc2ltcGxpZmllZCBwZXJtaXNzaW9ucy48L2xpPg0KCQkgICAgPGxpPlZlcnNpb24gMC41IC0gNCBNYXIgMjAwNS4gTWlub3IgYnVnIGZpeGVzIGZvciBkZWxldGluZyBmb3Jtcy9maWVsZHMuPC9saT4NCgkJICAgIDxsaT5WZXJzaW9uIDAuNCAtIDIgTWFyIDIwMDUuIExvY2FsaXphdGlvbiBhbmQgbnVtZXJvdXMgYnVnIGZpeGVzLjwvbGk+DQoJCSAgICA8bGk+VmVyc2lvbiAwLjMgLSAyOCBGZWIgMjAwNS4gUHJpbWl0aXZlIGxvY2FsaXphdGlvbiBhbmQgYnVnIGZpeGVzLjwvbGk+DQoJCSAgICA8bGk+VmVyc2lvbiAwLjIgLSAyNCBGZWIgMjAwNS4gQ29udmVydGVkIHRvIHVzZSBPYmplY3RzLiBNYW55IGltcHJvdmVtZW50cyBhbmQgYnVnIGZpeGVzLjwvbGk+DQoJCQk8bGk+VmVyc2lvbiAwLjEgLSAxMSBGZWIgMjAwNS4gSW5pdGlhbCBSZWxlYXNlPC9saT48L3VsPg0KCQknOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My41OTY2MDU5NjguMTE0NzIxNTkzNC4xMTUxMjM5MjQ4LjExNTEyNzMwMTguODMnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMTUwOTMwMDI1LjgxLjcudXRtY2NuPShyZWZlcnJhbCl8dXRtY3NyPWRldi5jbXNtYWRlc2ltcGxlLm9yZ3x1dG1jY3Q9L3RyYWNrZXIvaW5kZXgucGhwfHV0bWNtZD1yZWZlcnJhbCc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/ru_RU.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZpZWxkX3R5cGVfdGV4dF9pbnB1dCddID0gJ9Cf0L7Qu9C1ICh0ZXh0KSDQstCy0L7QtNCwINGC0LXQutGB0YLQsCc7CiRsYW5nWydmaWVsZF90eXBlX3RleHRfYXJlYSddID0gJ9Ce0LrQvdC+ICh0ZXh0YXJlYSkg0LLQstC+0LTQsCDRgtC10LrRgdGC0LAnOwokbGFuZ1snZmllbGRfdHlwZV9jaGVja2JveCddID0gJ9Cn0LXQutCx0L7QutGBJzsKJGxhbmdbJ2ZpZWxkX3R5cGVfY2hlY2tib3hfZ3JvdXAnXSA9ICfQk9GA0YPQv9C/0LAg0YfQtdC60LHQvtC60YHQvtCyJzsKJGxhbmdbJ2ZpZWxkX3R5cGVfcHVsbGRvd24nXSA9ICfQktGL0L/QsNC00LDRjtGJ0LXQtSDQvNC10L3Rjic7CiRsYW5nWydmaWVsZF90eXBlX3N0YXRlJ10gPSAn0KjRgtCw0YIgVS5TLic7CiRsYW5nWydmaWVsZF90eXBlX2NvdW50cnknXSA9ICfQodGC0YDQsNC90LAnOwokbGFuZ1snZmllbGRfdHlwZV9kYXRlJ10gPSAn0JLRi9Cx0L7RgCDQtNCw0YLRiyc7CiRsYW5nWydmaWVsZF90eXBlX2NhbGxiYWNrJ10gPSAnQ2FsbGJhY2st0YTRg9C90LrRhtC40Y8gIklucHV0Iic7CiRsYW5nWydmaWVsZF90eXBlX3JhZGlvX2dyb3VwJ10gPSAn0JPRgNGD0L/Qv9CwINC/0LXRgNC10LrQu9GO0YfQsNGC0LXQu9C10LknOwokbGFuZ1snZmllbGRfdHlwZV9kaXNwb3NpdGlvbl9kaXJlY3RvciddID0gJyrQntGC0L/RgNCw0LLQuNGC0Ywg0L3QsCBlLW1haWwg0YDQtdC30YPQu9GM0YLQsNGC0YssINC+0YHQvdC+0LLQsNC90L3Ri9C1INC90LAg0LLRi9C/0LDQtNCw0Y7RidC10Lwg0LzQtdC90Y4nOwokbGFuZ1snZmllbGRfdHlwZV9kaXNwb3NpdGlvbl9lbWFpbCddID0gJyrQntGC0L/RgNCw0LLQuNGC0Ywg0L3QsCBlLW1haWwg0YDQtdC30YPQu9GM0YLQsNGC0YssINGH0YLQvtCx0Ysg0LfQsNC00LDRgtGMINCw0LTRgNC10YEo0LApJzsKJGxhbmdbJ2ZpZWxkX3R5cGVfZGlzcG9zaXRpb25fZW1haWxfc2l0ZV91c2VyJ10gPSAnKtCe0YLQv9GA0LDQstC40YLRjCDQvdCwINC1LW1haWwg0YDQtdC30YPQu9GM0YLQsNGC0Ysg0LLRi9Cx0LjRgNCw0LXQvNGL0LUg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C10Lwg0YHQsNC50YLQsCc7CiRsYW5nWydmaWVsZF90eXBlX2Rpc3Bvc2l0aW9uX2ZpbGUnXSA9ICcq0JfQsNC/0LjRgdCw0YLRjCDRgNC10LfRg9C70YzRgtCw0YLRiyDQsiDRgtC10LrRgdGC0L7QstGL0Lkg0YTQsNC50LsnOwokbGFuZ1snZmllbGRfdHlwZV9zdGF0aWNfdGV4dCddID0gJ9Ch0YLQsNGC0LjRh9C10YHQutC40Lkg0YLQtdC60YHRgic7CiRsYW5nWydmaWVsZF90eXBlX3BhZ2VfYnJlYWsnXSA9ICfQoNCw0LfRgNGL0LIg0YHRgtGA0LDQvdC40YbRiyc7CiRsYW5nWydmaWVsZF90eXBlX2ZpbGVfdXBsb2FkJ10gPSAn0JfQsNCz0YDRg9C30LjRgtGMINGE0LDQudC7JzsKJGxhbmdbJ2ZpZWxkX3R5cGVfZW1haWxfZnJvbSddID0gJ9Cf0L7Qu9C1ICJGcm9tIiDQv9C40YHRjNC80LAnOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAn0KTQvtGA0LzQsCDQvtCx0YDQsNGC0L3QvtC5INGB0LLRj9C30LgnOwokbGFuZ1sndmFsaWRhdGlvbl9ub25lJ10gPSAn0JHQtdC3INC/0YDQvtCy0LXRgNC60Lgg0L/RgNCw0LLQuNC70YzQvdC+0YHRgtC4INCy0LLQvtC00LAnOwokbGFuZ1sndmFsaWRhdGlvbl9ub3RfZW1wdHknXSA9ICfQl9Cw0L/QvtC70L3QtdC90L3Ri9C5JzsKJGxhbmdbJ3ZhbGlkYXRpb25fbnVtZXJpYyddID0gJ9Cn0LjRgdC70L7QstC+0LknOwokbGFuZ1sndmFsaWRhdGlvbl9pbnRlZ2VyJ10gPSAn0KbQtdC70L7QtSDRh9C40YHQu9C+JzsKJGxhbmdbJ3ZhbGlkYXRpb25fZW1haWxfYWRkcmVzcyddID0gJ9CQ0LTRgNC10YEg0Y3Qu9C10LrRgtGA0L7QvdC90L7QuSDQv9C+0YfRgtGLJzsKJGxhbmdbJ3ZhbGlkYXRpb25fYXRfbGVhc3Rfb25lJ10gPSAn0JrQsNC6INC80LjQvdC40LzRg9C8INC+0LTQuNC9INCy0YvQsdGA0LDQvSc7CiRsYW5nWyd2YWxpZGF0aW9uX211c3RfY2hlY2snXSA9ICfQlNC+0LvQttC90L4g0LHRi9GC0Ywg0LLRi9Cx0YDQsNC90L4nOwokbGFuZ1sndmFsaWRhdGlvbl9vcHRpb25fc2VsZWN0ZWQnXSA9ICfQntC/0YbQuNGPINC00L7Qu9C20L3QsCDQsdGL0YLRjCDQstGL0LHRgNCw0L3QsCc7CiRsYW5nWydwbGVhc2VfZW50ZXJfYV92YWx1ZSddID0gJ9Cf0L7QttCw0LvRg9C50YHRgtCwLCDQstCy0LXQtNC40YLQtSDQt9C90LDRh9C10L3QuNC1INC00LvRjyc7CiRsYW5nWydwbGVhc2VfZW50ZXJfYV9udW1iZXInXSA9ICfQn9C+0LbQsNC70YPQudGB0YLQsCwg0LLQstC10LTQuNGC0LUg0YfQuNGB0LvQviDQtNC70Y8nOwokbGFuZ1sncGxlYXNlX2VudGVyX2FuX2ludGVnZXInXSA9ICfQn9C+0LbQsNC70YPQudGB0YLQsCwg0LLQstC10LTQuNGC0LUg0YbQtdC70L7QtSDQt9C90LDRh9C10L3QuNC1INC00LvRjyAnOwokbGFuZ1sncGxlYXNlX2VudGVyX2FuX2VtYWlsJ10gPSAn0J/QvtC20LDQu9GD0LnRgdGC0LAsINCy0LLQtdC00LjRgtC1INC90LDRgdGC0L7Rj9GJ0LjQuSDQsNC00YDQtdGBINGN0LvQtdC60YLRgNC+0L3QvdC+0Lkg0L/QvtGH0YLRiyDQtNC70Y8nOwokbGFuZ1snbm90X3ZhbGlkX2VtYWlsJ10gPSAn0L3QtSDQv9C+0YXQvtC2INC90LAg0L3QsNGB0YLQvtGP0YnQuNC5INCw0LTRgNC10YEg0Y3Qu9C10LrRgtGA0L7QvdC90L7QuSDQv9C+0YfRgtGLISc7CiRsYW5nWydwbGVhc2VfZW50ZXJfbm9fbG9uZ2VyJ10gPSAn0J/QvtC20LDQu9GD0LnRgdGC0LAsINCy0LLQtdC00LjRgtC1INC30L3QsNGH0LXQvdC40LUg0L3QtSDQtNC70LjQvdC90LXQtSDRh9C10LwnOwokbGFuZ1sncGxlYXNlX2NoZWNrX3NvbWV0aGluZyddID0gJ9Cf0L7QttCw0LvRg9C50YHRgtCwLCDQvtGC0LzQtdGC0YzRgtC1INGH0YLQvi3QvdC40LHRg9C00Ywg0LTQu9GPJzsKJGxhbmdbJ3BsZWFzZV9zZWxlY3Rfc29tZXRoaW5nJ10gPSAn0J/QvtC20LDQu9GD0LnRgdGC0LAsINCy0YvQsdC10YDQuNGC0LUg0YfRgtC+LdC90LjQsdGD0LTRjCDQtNC70Y8nOwokbGFuZ1snZmllbGRfbmFtZV9pbl91c2UxJ10gPSAn0J3QsNC30LLQsNC90LjQtSDQv9C+0LvRjyc7CiRsYW5nWydmaWVsZF9uYW1lX2luX3VzZTInXSA9ICfRg9C20LUg0LjRgdC/0L7Qu9GM0LfQvtCy0LDQu9C+0YHRjCDQsiDRhNC+0YDQvNC1ISDQn9C+0LbQsNC70YPQudGB0YLQsCwg0L/QvtC80LXQvdGP0LnRgtC1INGN0YLQviDQvdCwINGH0YLQvi3QvdC40LHRg9C00Ywg0LXRidGRINC90LUg0LjRgdC/0L7Qu9GM0LfQvtCy0LDQstGI0LXQtdGB0Y8g0YDQsNC90LXQtS4nOwokbGFuZ1sneW91X25lZWRfcGVybWlzc2lvbjEnXSA9ICfQp9GC0L7QsdGLINCy0YvQv9C+0LvQvdC40YLRjCDRjdGC0YMg0L7Qv9C10YDQsNGG0LjRjiDQstCw0Lwg0L3QtdC+0LHRhdC+0LTQuNC80L4g0YDQsNC30YDQtdGI0LXQvdC40LUgIic7CiRsYW5nWyd5b3VfbmVlZF9wZXJtaXNzaW9uMiddID0gJyIg0LTQu9GPINCy0YvQv9C+0LvQvdC10L3QuNGPINC00LDQvdC90L7QuSDQvtC/0LXRgNCw0YbQuNC4Lic7CiRsYW5nWydsYWNrcGVybWlzc2lvbiddID0gJ9CY0LfQstC40L3QuNGC0LUsINGDINCS0LDRgSDQvdC10YIg0L/RgNCw0LIg0LTQvtGB0YLRg9C/0LAg0Log0Y3RgtC+0LzRgyDRgNCw0LfQtNC10LvRgy4nOwokbGFuZ1snZmllbGRfb3JkZXJfdXBkYXRlZCddID0gJ9Cf0L7RgNGP0LTQvtC6INC/0L7Qu9C10Lkg0L7QsdC90L7QstC70LXQvS4nOwokbGFuZ1snZm9ybV9kZWxldGVkJ10gPSAn0KTQvtGA0LzQsCDRg9C00LDQu9C10L3QsC4nOwokbGFuZ1snZmllbGRfZGVsZXRlZCddID0gJ9Cf0L7Qu9C1INGD0LTQsNC70LXQvdC+Lic7CiRsYW5nWydjb25maWd1cmF0aW9uX3VwZGF0ZWQnXSA9ICfQmtC+0L3RhNC40LPRg9GA0LDRhtC40Y8g0L7QsdC90L7QstC70LXQvdCwLic7CiRsYW5nWyd5b3VfbXVzdF9jaGVjazEnXSA9ICfQktGLINC00L7Qu9C20L3RiyDQv9GA0L7QstC10YDQuNGC0YwgIic7CiRsYW5nWyd5b3VfbXVzdF9jaGVjazInXSA9ICciINCyINGB0LvRg9GH0LDQtSwg0LXRgdC70Lgg0LLRiyDRhdC+0YLQuNGC0LUg0L/RgNC+0LTQvtC70LbQuNGC0YwuJzsKJGxhbmdbJ211c3Rfc3BlY2lmeV9vbmVfZGVzdGluYXRpb24nXSA9ICfQktGLINC00L7Qu9C20L3RiyDQt9Cw0LTQsNGC0Ywg0LrQsNC6INC80LjQvdC40LzRg9C8INC+0LTQuNC9INCw0LTRgNC10YEg0L3QsNC30L3QsNGH0LXQvdC40Y8hJzsKJGxhbmdbJ2FyZV95b3Vfc3VyZV9kZWxldGVfZm9ybSddID0gJ9CS0Ysg0YPQstC10YDQtdC90YssINGH0YLQviDRhdC+0YLQuNGC0LUg0YPQtNCw0LvQuNGC0Ywg0YTQvtGA0LzRgyAlcz8nOwokbGFuZ1snYXJlX3lvdV9zdXJlX2RlbGV0ZV9maWVsZCddID0gJ9CS0Ysg0YPQstC10YDQtdC90YssINGH0YLQviDRhdC+0YLQuNGC0LUg0YPQtNCw0LvQuNGC0Ywg0L/QvtC70LUgJXM/JzsKJGxhbmdbJ2FiYnJldmlhdGlvbl9sZW5ndGgnXSA9ICfQlNC70LjQvdCwJzsKJGxhbmdbJ2NoYXJhY3RlcnMnXSA9ICfRgdC40LzQstC+0LvRiyc7CiRsYW5nWydib3hlcyddID0gJ9GH0LXQutCx0L7QutGB0YsnOwokbGFuZ1snZmllbGQnXSA9ICfQn9C+0LvQtSc7CiRsYW5nWydvcmRlciddID0gJ9Cf0L7RgNGP0LTQvtC6JzsKJGxhbmdbJ3Vuc3BlY2lmaWVkJ10gPSAnKNC90LUg0LfQsNC00LDQvdC+KSc7CiRsYW5nWydhZGRlZCddID0gJ9C00L7QsdCw0LLQu9C10L3Qvic7CiRsYW5nWyd1cGRhdGVkJ10gPSAn0L7QsdC90L7QstC70LXQvdC+JzsKJGxhbmdbJ2RlbGV0ZWQnXSA9ICfRg9C00LDQu9C10L3Qvic7CiRsYW5nWydjaG9pY2VzJ10gPSAn0LLRi9Cx0L7RgNGLJzsKJGxhbmdbJ3NlbGVjdF9vbmUnXSA9ICfQktGL0LHRgNCw0YLRjCDQvtC00LjQvSc7CiRsYW5nWydzZWxlY3RfYV91c2VyJ10gPSAn0JLRi9Cx0YDQsNGC0Ywg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPJzsKJGxhbmdbJ3NlbGVjdF90eXBlJ10gPSAn0JLRi9Cx0YDQsNGC0Ywg0YLQuNC/JzsKJGxhbmdbJ3RvJ10gPSAn0JTQu9GPJzsKJGxhbmdbJ3JlY2lwaWVudHMnXSA9ICfQv9C+0LvRg9GH0LDRgtC10LvQuCc7CiRsYW5nWydub3RlJ10gPSAn0JfQsNC/0LjRgdGMJzsKJGxhbmdbJ2FueV91c2VyJ10gPSAn0JvRjtCx0L7QuSDQv9C+0LvRjNC30L7QstCw0YLQtdC70YwnOwokbGFuZ1snbGlzdCddID0gJ9GB0L/QuNGB0L7Quic7CiRsYW5nWydub3RfY29uZmlndXJlZCddID0gJ9Cd0LUg0L3QsNGB0YLRgNC+0LXQvdC+JzsKJGxhbmdbJ3NhdmUnXSA9ICfQodC+0YXRgNCw0L3QuNGC0YwnOwokbGFuZ1snYWRkJ10gPSAn0JTQvtCx0LDQstC40YLRjCc7CiRsYW5nWyd1cGRhdGUnXSA9ICfQntCx0L3QvtCy0LjRgtGMJzsKJGxhbmdbJ3NhdmVfYW5kX2NvbnRpbnVlJ10gPSAn0KHQvtGF0YDQsNC90LjRgtGMINC4INC/0YDQvtC00L7Qu9C20LjRgtGMINGA0LXQtNCw0LrRgtC40YDQvtCy0LDQvdC40LUnOwokbGFuZ1snaW5mb3JtYXRpb24nXSA9ICfQmNC90YTQvtGA0LzQsNGG0LjRjyc7CiRsYW5nWydhdXRvbWF0aWMnXSA9ICfQkNCy0YLQvtC80LDRgtC40YfQtdGB0LrQuNC5JzsKJGxhbmdbJ2Zvcm1zJ10gPSAn0KTQvtGA0LzRiyc7CiRsYW5nWydmb3JtJ10gPSAn0KTQvtGA0LzQsCc7CiRsYW5nWydjb25maWd1cmF0aW9uJ10gPSAn0JrQvtC90YTQuNCz0YPRgNCw0YbQuNGPJzsKJGxhbmdbJ21haW4nXSA9ICfQntGB0L3QvtCy0LDQvdCw0Y8g0YfQsNGB0YLRjCc7CiRsYW5nWydhZGRpdGlvbmFsJ10gPSAn0J3QsNGB0YLRgNC+0LnQutC4INGE0L7RgNC80YsnOwokbGFuZ1snbm9maWVsZHMnXSA9ICfQndC1INC30LDQtNCw0L3QviDQv9C+0LvQtdC5INC/0L7QuNGB0LrQsC4nOwokbGFuZ1snbm9tZXRob2QnXSA9ICfQndC1INCy0YvQsdGA0LDQvSDQvNC10YLQvtC0L9C80L7QtNGD0LvRjC4nOwokbGFuZ1snY2hhcnMnXSA9ICfQodC40LzQstC+0LvRiyc7CiRsYW5nWydtaXNzaW5nX2Ntc19tYWlsZXInXSA9ICfQntGH0LXQstC40LTQvdC+LCDQvNC+0LTRg9C70Ywg0KHQnFNNYWlsZXIg0L3QtSDRg9GB0YLQsNC90L7QstC70LXQvSEgRmVlZGJhY2tGb3JtINC30LDQstC40YHQuNGCINC+0YIg0YLQvtCz0L4sINGD0YHRgtCw0L3QvtCy0LvQtdC9INC4INGA0LDQsdC+0YLQsNC10YIg0LvQuCDQvNC+0LTRg9C70Ywg0KHQnFNNYWlsZXIuJzsKJGxhbmdbJ21heGltdW1fc2l6ZSddID0gJ9Cc0LDQutGBLiDRgNCw0LfQvNC10YAnOwokbGFuZ1sncGVybWl0dGVkX2V4dGVuc2lvbnMnXSA9ICfQoNCw0YHRiNC40YDQtdC90LjRjyc7CiRsYW5nWydwZXJtaXR0ZWRfZmlsZXR5cGVzJ10gPSAn0KDQsNC30YDQtdGI0LXQvdC90YvQtSDRgtC40L/RiyDRhNCw0LvQvtCyJzsKJGxhbmdbJ2ZpbGVfdG9vX2xhcmdlJ10gPSAn0JfQsNCz0YDRg9C20LDQtdC80YvQuSDRhNCw0LnQuyDRgdC70LjRiNC60L7QvCDQstC10LvQuNC6ISDQnNCw0LrRgdC40LzQsNC70YzQvdGL0Lkg0YDQsNC30LzQtdGAOic7CiRsYW5nWydpbGxlZ2FsX2ZpbGVfdHlwZSddID0gJ9Ci0LDQutC+0Lkg0YLQuNC/INGE0LDQudC70LAg0L3QtSDQvNC+0LbQtdGCINCx0YvRgtGMINC30LDQutCw0YfQsNC9LiDQn9C+0LbQsNC70YPQudGB0YLQsCwg0YPQtNC+0YHRgtC+0LLQtdGA0YzRgtC10YHRjCwg0YfRgtC+INGA0LDRgdGI0LjRgNC10L3QuNC1INC/0YDQsNCy0LjQu9GM0L3QvtC1Lic7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ9Cc0L7QtNGD0LvRjCDRg9C00LDQu9C10L0uJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ9Cc0L7QtNGD0LvRjCDQstC10YDRgdC40LggJXMg0YPRgdGC0LDQvdC+0LLQu9C10L0uJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAn0JzQvtC00YPQu9GMINC+0LHQvdC+0LLQu9C10L0g0LTQviDQstC10YDRgdC40LggJXMuJzsKJGxhbmdbJ3RpdGxlX21heGltdW1fbGVuZ3RoJ10gPSAn0JzQsNC60YHQuNC80LDQu9GM0L3QvtC1INC00LvQuNC90LAnOwokbGFuZ1sndGl0bGVfY2hlY2tib3hfbmFtZSddID0gJ9CY0LzRjyDRh9C10LrQsdC+0LrRgdCwJzsKJGxhbmdbJ3RpdGxlX3N1Ym1pdHRlZF92YWx1ZSddID0gJ9Ce0YLQv9GA0LDQstC70LXQvdC90L7QtSDQt9C90LDRh9C10L3QuNC1JzsKJGxhbmdbJ3RpdGxlX2NoZWNrYm94X2RldGFpbHMnXSA9ICfQndCw0YHRgtGA0L7QudC60Lgg0LPRgNGD0L/Qv9GLINGH0LXQutCx0L7QutGB0L7Qsic7CiRsYW5nWyd0aXRsZV9zZWxlY3Rfb25lX21lc3NhZ2UnXSA9ICfQotC10LrRgdGCICLQktGL0LHQtdGA0LjRgtC1INC+0LTQuNC9INC40LciJzsKJGxhbmdbJ3RpdGxlX3NlbGVjdGlvbl9zdWJqZWN0J10gPSAn0JLRi9Cx0YDQsNC90L3Ri9C5INGN0LvQtdC80LXQvdGCINC+0LHRitC10LrRgtCwJzsKJGxhbmdbJ3RpdGxlX3NlbGVjdF9kZWZhdWx0X2NvdW50cnknXSA9ICfQl9C90LDRh9C10L3QuNC1INC/0L4g0YPQvNC+0LvRh9Cw0L3QuNGOJzsKJGxhbmdbJ3RpdGxlX3NlbGVjdGlvbl9uYW1lJ10gPSAn0JjQvNGPINCy0YvQsdGA0LDQvdC90L7Qs9C+INGN0LvQtdC80LXQvdGC0LAnOwokbGFuZ1sndGl0bGVfZGVzdGluYXRpb25fZW1haWwnXSA9ICdFLW1haWwg0LDQtNGA0LXRgSDQv9C+0LvRg9GH0LDRgtC10LvRjyc7CiRsYW5nWyd0aXRsZV9kaXJlY3Rvcl9kZXRhaWxzJ10gPSAn0J3QsNGB0YLRgNC+0LnQutC4INC+0YLQv9GA0LDQstC70LXQvdC40Lkg0L3QsCDQvtGB0L3QvtCy0LUg0LLRi9C/0LDQtNCw0Y7RidC10LPQviDQvNC10L3Rjic7CiRsYW5nWyd0aXRsZV9lbWFpbF9hZGRyZXNzZXMnXSA9ICdFLW1haWwg0LDQtNGA0LXRgSAo0LApINC00LvRjyDQvtGC0L/RgNCw0LLQu9C10L3QuNGPINGA0LXQt9GD0LvRjNGC0LDRgtC+0LIg0LfQsNC/0L7Qu9C90LXQvdC40Y8g0YTQvtGA0LzRiyc7CiRsYW5nWyd0aXRsZV9maWxlX2Zvcm1hdCddID0gJ9Ck0L7RgNC80LDRgiDRhNCw0LnQu9CwJzsKJGxhbmdbJ3RpdGxlX2ZpbGVfZm9ybWF0X3RhYiddID0gJ9CX0L3QsNGH0LXQvdC40Y8sINGA0LDQt9C00LXQu9C10L3QvdGL0LUgXFx0JzsKJGxhbmdbJ3RpdGxlX2ZpbGVfZm9ybWF0X3RhYl9oZWFkZXInXSA9ICfQl9C90LDRh9C10L3QuNGPLCDRgNCw0LfQtNC10LvQtdC90L3Ri9C1IFxcdCDRgSDQt9Cw0LPQvtC70L7QstC60LDQvNC4JzsKJGxhbmdbJ3RpdGxlX2ZpbGVfZm9ybWF0X3BhZ2UnXSA9ICfQpNC+0YDQvNCw0YIg0YHRgtGA0LDQvdC40YbRiyc7CiRsYW5nWyd0aXRsZV9maWxlX25hbWUnXSA9ICfQmNC80Y8g0YTQsNC50LvQsCc7CiRsYW5nWyd0aXRsZV9lcmFzZV9maWxlbG9jayddID0gJ9Ch0L3Rj9GC0Ywg0LvQvtC6INGBINGE0LDQudC70LAnOwokbGFuZ1sndGl0bGVfZXJhc2VfdXNhZ2UnXSA9ICco0LjRgdC/0L7Qu9GM0LfRg9C50YLQtSDRjdGC0L4sINGH0YLQvtCx0Ysg0YHQvdGP0YLRjCDQu9C+0Log0YEg0YTQsNC50LvQsCwg0LXRgdC70Lgg0LfQsNC/0LjRgdGMINCyINGE0LDQudC7INC90LUg0YPQtNCw0ZHRgtGB0Y8g0LjQty3Qt9CwINC/0L7QtNCy0LjRgdGI0LjRhSDQv9GA0L7RhtC10YHRgdC+0LIpJzsKJGxhbmdbJ3RpdGxlX2ZpbGVfbm90ZSddID0gJ9Ck0LDQudC70Ysg0LHRg9C00YPRgiDRgdC+0YXRgNCw0L3QtdC90Ysg0LIg0L/QsNC/0LrQtSAuL21vZHVsZXMvRmVlZGJhY2tGb3JtL291dHB1dC4nOwokbGFuZ1sndGl0bGVfdXNlcm5hbWUnXSA9ICfQndC40LonOwokbGFuZ1sndGl0bGVfcmVhbF9uYW1lJ10gPSAn0J/QvtC70L3QvtC1ICjQvdCw0YHRgtC+0Y/RidC10LUpINC40LzRjyc7CiRsYW5nWyd0aXRsZV9ib3RoX25hbWVzJ10gPSAn0J3QuNC6ICsg0L3QsNGB0YLQvtGP0YnQtdC1INC40LzRjyc7CiRsYW5nWyd0aXRsZV9ub19ncm91cF9yZXN0cmljdGlvbiddID0gJ9Cd0LXRgiDQvtCz0YDQsNC90LjRh9C10L3QuNGPINCz0YDRg9C/0L/Riyc7CiRsYW5nWyd0aXRsZV9lbWFpbF9zdWJqZWN0J10gPSAn0KLQtdC80LAgZS1tYWlsXCfQsCc7CiRsYW5nWyd0aXRsZV9yZXN0cmljdF90b19ncm91cCddID0gJ9Ce0LPRgNCw0L3QuNGH0LjRgtGMINC00LvRjyDQv9C+0LvRjNC30L7QstCw0YLQtdC70LXQuSDQs9GA0YPQv9C/0YsnOwokbGFuZ1sndGl0bGVfbmFtZXNfaW5fcHVsbGRvd24nXSA9ICfQmNC80LXQvdCwINC00LvRjyDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjRjyDQsiDQstGL0L/QsNC00LDRjtGJ0LXQvCDQvNC10L3Rjic7CiRsYW5nWyd0aXRsZV9zZWxlY3RfYV91c2VyX21lc3NhZ2UnXSA9ICfQodC+0L7QsdGJ0LXQvdC40LUgItCS0YvQsdGA0LDRgtGMINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyInOwokbGFuZ1sndGl0bGVfcHVsbGRvd25fY29udGVudHMnXSA9ICfQodC+0LTQtdGA0LbQsNC90LjQtSDQstGL0L/QsNC00LDRjtGJ0LXQs9C+INC80LXQvdGOJzsKJGxhbmdbJ3RpdGxlX3JhZGlvX25hbWUnXSA9ICfQndCw0LfQstCw0L3QuNC1INGA0LDQtNC40L7QutC90L7Qv9C60LgnOwokbGFuZ1sndGl0bGVfcmFkaW9fZ3JvdXBfZGV0YWlscyddID0gJ9Cd0LDRgdGC0YDQvtC50LrQuCDQs9GA0YPQv9C/0Ysg0YDQsNC00LjQvtC60L3QvtC/0L7Quic7CiRsYW5nWyd0aXRsZV9mb3JtX25hbWUnXSA9ICfQmNC80Y8g0YTQvtGA0LzRiyc7CiRsYW5nWyd0aXRsZV9mb3JtX3N0YXR1cyddID0gJ9Ch0YLQsNGC0YPRgSDRhNC+0YDQvNGLJzsKJGxhbmdbJ3RpdGxlX3JlYWR5X2Zvcl9kZXBsb3ltZW50J10gPSAn0JPQvtGC0L7QstC+INC6INGA0LDQt9C80LXRidC10L3QuNGOJzsKJGxhbmdbJ3RpdGxlX25vdF9yZWFkeTEnXSA9ICfQndC1INCz0L7RgtC+0LLQvic7CiRsYW5nWyd0aXRsZV9ub3RfcmVhZHkyJ10gPSAn0J/QvtC20LDQu9GD0LnRgdGC0LAsINC00L7QsdCw0LLRjNGC0LUg0L/QvtC70LUg0LIg0YTQvtGA0LzRgywg0YLQsNC6INGH0YLQvtCx0Ysg0LLQstC+0LQg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPINCx0YvQuyDQvtCx0YDQsNCx0L7RgtCw0L0uINCS0Ysg0LzQvtC20LXRgtC1JzsKJGxhbmdbJ3RpdGxlX25vdF9yZWFkeV9saW5rJ10gPSAn0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINGN0YLRgyAi0LHRi9GB0YLRgNGD0Y4iINC60LvQsNCy0LjRiNGDJzsKJGxhbmdbJ3RpdGxlX2Zvcm1fYWxpYXMnXSA9ICfQkNC70LjQsNGBINGE0L7RgNC80YsnOwokbGFuZ1sndGl0bGVfZm9ybV9maWVsZHMnXSA9ICfQn9C+0LvQtSDRhNC+0YDQvNGLJzsKJGxhbmdbJ3RpdGxlX2ZpZWxkX25hbWUnXSA9ICfQmNC80Y8g0L/QvtC70Y8nOwokbGFuZ1sndGl0bGVfZmllbGRfdHlwZSddID0gJ9Ci0LjQvyDQv9C+0LvRjyc7CiRsYW5nWyd0aXRsZV9zaG93X2xhYmVsJ10gPSAn0KHQv9GA0Y/RgtCw0YLRjCDQv9C+0LvQtSDQvNC10YLQutC4INCyINGE0L7RgNC80LU/JzsKJGxhbmdbJ3RpdGxlX3Nob3dfbGFiZWxfbG9uZyddID0gJ9Ce0L/Rg9GB0YLQuNGC0Ywg0LzQtdGC0LrRgyDQv9C+0LvRjyDQstC+INCy0YDQtdC80Y8g0YDQtdC90LTRgNC40L3Qs9CwINGE0L7RgNC80Ys/JzsKJGxhbmdbJ3RpdGxlX25vdF9yZWFkeTMnXSA9ICfRgdC+0LfQtNCw0YLRjCDQvtCx0YDQsNCx0LDRgtGL0LLQsNC10LzQvtC1INC/0L7Qu9C1INGE0L7RgNC80YsuJzsKJGxhbmdbJ3RpdGxlX3RhZ190b191c2UnXSA9ICfQotC10LMg0LTQu9GPINC40YHQv9C+0LvRjNC30L7QstCw0L3RjyDQtNCw0L3QvdC+0Lkg0YTQvtGA0LzRiyc7CiRsYW5nWyd0aXRsZV9hZGRfbmV3X2Zvcm0nXSA9ICfQlNC+0LHQsNCy0LjRgtGMINC90L7QstGD0Y4g0YTQvtGA0LzRgyDQvtCx0YDQsNGC0L3QvtC5INGB0LLRj9C30LgnOwokbGFuZ1sndGl0bGVfZWRpdF9jb25maWd1cmF0aW9uJ10gPSAn0YDQtdC00LDQutGC0LjRgNC+0LLQsNGC0Ywg0LrQvtC90YTQuNCz0YPRgNCw0YbQuNGOINGE0L7RgNC80Ysg0L7QsdGA0LDRgtC90L7QuSDRgdCy0Y/Qt9C4JzsKJGxhbmdbJ3RpdGxlX2VtYWlsX2Zyb21fbmFtZSddID0gJ9Ce0YLQv9GA0LDQstC70LXQvdC+INC90LAg0LUtbWFpbCAiRnJvbSIg0YTQvtGA0LzRiyc7CiRsYW5nWyd0aXRsZV9mb3JtX2Zyb21fZW1haWwnXSA9ICciRnJvbSIg0LDQtNGA0LXRgSDQtS1tYWlsINGE0L7RgNC80YsnOwokbGFuZ1sndGl0bGVfbWFpbF9ob3N0J10gPSAnU9Cc0KLQoCDRhdC+0YHRgic7CiRsYW5nWyd0aXRsZV9sYW5ndWFnZSddID0gJ9Cv0LfRi9C6JzsKJGxhbmdbJ3RpdGxlX2FkZF9uZXdfZmllbGQnXSA9ICfQlNC+0LHQsNCy0LjRgtGMINC90L7QstC+0LUg0L/QvtC70LUnOwokbGFuZ1sndGl0bGVfZm9ybV9zdWJtaXRfYnV0dG9uJ10gPSAn0KLQtdC60YHRgiDQtNC70Y8g0LrQvdC+0L/QutC4INC+0YLQv9GA0LDQstC60Lgg0YTQvtGA0LzRiyc7CiRsYW5nWyd0aXRsZV9mb3JtX25leHRfYnV0dG9uJ10gPSAn0KLQtdC60YHRgiDQtNC70Y8g0LrQvdC+0L/QutC4ICLQlNCw0LvQtdC1IiAo0L/RgNC40LzQtdC90Y/QtdGC0YHRjyDQsiDQvNC90L7Qs9C+0YHRgtGA0LDQvdC40YfQvdGL0YUg0YTQvtGA0LzQsNGFKSc7CiRsYW5nWyd0aXRsZV9mb3JtX3RoYW5rc190ZXh0J10gPSAn0KHQvtC+0LHRidC10L3QuNC1INC+0LEg0YPRgdC/0LXRiNC90L7QuSDQvtGC0L/RgNCw0LLQutC1INGE0L7RgNC80YsnOwokbGFuZ1sndGl0bGVfZmllbGRfdmFsaWRhdGlvbiddID0gJ9Ca0L7QvdGC0YDQvtC70Ywg0LTQsNC90L3Ri9GFINC/0L7Qu9GPJzsKJGxhbmdbJ3RpdGxlX2RlZmF1bHRfdXNlciddID0gJ9Cf0L7Qu9GM0LfQvtCy0LDRgtC10LvRjCDQv9C+INGD0LzQvtC70YfQsNC90LjRjic7CiRsYW5nWyd0aXRsZV9ub19kZWZhdWx0X3VzZXInXSA9ICfQndC10YIg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPINC/0L4g0YPQvNC+0LvRh9Cw0L3QuNGOJzsKJGxhbmdbJ3RpdGxlX2Nzc19sYXlvdXQnXSA9ICfQktC10YDRgdGC0LrQsCDRgSBDU1MnOwokbGFuZ1sndGl0bGVfdXNlX2Nzc19sYXlvdXQnXSA9ICfQlNC70Y8g0LTQsNC90L3QvtC5INGE0L7RgNC80Ysg0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC40YHQutC70Y7Rh9C40YLQtdC70YzQvdC+INCy0LXRgNGB0YLQutGDINGBIENTUyc7CiRsYW5nWyd0aXRsZV9mb3JtX2Nzc19jbGFzcyddID0gJ0NTUyDQutC70LDRgdGBINC00LvRjyDQtNCw0L3QvdC+0Lkg0YTQvtGA0LzRiyc7CiRsYW5nWyd0aXRsZV9maWVsZF9jc3NfY2xhc3MnXSA9ICdDU1Mg0LrQu9Cw0YHRgSDQtNC70Y8g0LTQsNC90L3QvtCz0L4g0L/QvtC70Y8nOwokbGFuZ1sndGl0bGVfZm9ybV9yZXF1aXJlZF9zeW1ib2wnXSA9ICfQodC40LzQstC+0Lsg0L/QvtC80LXRgtC60Lgg0L7QsdGP0LfQsNGC0LXQu9GM0L3Ri9GFINC00LvRjyDQt9Cw0L/QvtC70L3QtdC90LjRjyDQv9C+0LvQtdC5JzsKJGxhbmdbJ3RpdGxlX2ZpZWxkX3JlcXVpcmVkJ10gPSAn0J7QsdGP0LfQsNGC0LXQu9GM0L3Ri9C5JzsKJGxhbmdbJ3RpdGxlX2ZpZWxkX3JlcXVpcmVkX2xvbmcnXSA9ICfQlNCw0L3QvdC+0LUg0L/QvtC70LUg0L7QsdGP0LfQsNGC0LXQu9GM0L3QviDQtNC70Y8g0LfQsNC/0L7Qu9C90LXQvdC40Y8nOwokbGFuZ1sndGl0bGVfZmllbGRfcmVxdWlyZWRfYWJicmV2J10gPSAn0J7QsdGP0LfQsNGC0LXQu9GM0L3QvtC1JzsKJGxhbmdbJ3RpdGxlX3RhYmxlX2xheW91dF90eXBlJ10gPSAn0KDQsNGB0L/QvtC70L7QttC10L3QuNC1INC90LDQt9Cy0LDQvdC40Y8g0L/QvtC70Y8gKNGC0L7Qu9GM0LrQviDQtNC70Y8g0L3QtS1DU1Mg0LLQtdGA0YHRgtC60LgpJzsKJGxhbmdbJ3RpdGxlX3RhYmxlX2xheW91dF9sZWZ0J10gPSAn0J3QsNC30LLQsNC90LjQtSDRgdC70LXQstCwJzsKJGxhbmdbJ3RpdGxlX3RhYmxlX2xheW91dF9hYm92ZSddID0gJ9Cd0LDQt9Cy0LDQvdC40LUg0LLQstC10YDRhdGDJzsKJGxhbmdbJ3RpdGxlX2luY2x1ZGVfZW1haWxfaW5mbyddID0gJ9Cf0YDQuNGB0L7QtdC00LjQvdC40YLRjCDQuNC90YTQvtGA0LzQsNGG0LjRjiDRgdC10YDQstC10YDQsCc7CiRsYW5nWyd0aXRsZV9pbmNsdWRlX2VtYWlsX2luZm9fbG9uZyddID0gJ9Cf0YDQuNGB0L7QtdC00LjQvdC40YLRjCDQuNC90YTQvtGA0LzQsNGG0LjRjiDRgdC10YDQstC10YDQsCDQuiDQtS0gbWFpbCc7CiRsYW5nWyd0aXRsZV9oaWRlX2Vycm9ycyddID0gJ9Ch0LrRgNGL0YLRjCDQvtGI0LjQsdC60LgnOwokbGFuZ1sndGl0bGVfaGlkZV9lcnJvcnNfbG9uZyddID0gJ9Ch0LrRgNGL0YLRjCDQvdC10L/QvtC70LDQtNC60Lgv0YHQvtC+0LHRidC10L3QuNGPINC+0LEg0L7RiNC40LHQutCw0YUg0L7RgiDQstC30LPQu9GP0LTQsCDQv9C+0LvRjNC30L7QstCw0YLQtdC70LXQuSc7CiRsYW5nWyd0aXRsZV9lbWFpbF90ZW1wbGF0ZSddID0gJ9Co0LDQsdC70L7QvSDQtS1tYWlsJzsKJGxhbmdbJ3RpdGxlX2VtYWlsX3RlbXBsYXRlX3ZhcnMnXSA9ICfQn9C10YDQtdC80LXQvdC90YvQtSwg0LrQvtGC0L7RgNGL0LUg0LzQvtC20L3QviDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0LIg0YjQsNCx0LvQvtC90LUg0LUtbWFpbCc7CiRsYW5nWyd0aXRsZV9zYW1wbGVfdGVtcGxhdGUnXSA9ICfQodC+0LfQtNCw0YLRjCDQvtCx0YDQsNC30LXRhiDRiNCw0LHQu9C+0L3QsCc7CiRsYW5nWyd0aXRsZV9tYXhpbXVtX3NpemUnXSA9ICfQnNCw0LrRgdC40LzQsNC70YzQvdGL0Lkg0YDQsNC30LzQtdGAINGE0LDQudC70LAg0LTQu9GPINC30LDQutCw0YfQutC4ICjQutC40LvQvtCx0LDQudGC0YspJzsKJGxhbmdbJ3RpdGxlX3Blcm1pdHRlZF9leHRlbnNpb25zJ10gPSAn0JTQvtC/0YPRgdGC0LjQvNGL0LUg0YDQsNGB0YjQuNGA0LXQvdC40Y8nOwokbGFuZ1sndGl0bGVfcGVybWl0dGVkX2V4dGVuc2lvbnNfbG9uZyddID0gJ9CS0LLQtdC00LjRgtC1INGB0L/QuNGB0L7QuiDRgNCw0YHRiNC40YDQtdC90LjQuSwg0YDQsNC30LTQtdC70Y/RjyDQuNGFINC30LDQv9GP0YLRi9C80LgsINCx0LXQtyDRgtC+0YfQutC4INCyINC60L7QvdGG0LUgKNC90LDQv9GA0LjQvNC10YA6ICJqcGcsZ2lmLGpwZWciKS4g0J/RgNC+0LHQtdC70Ysg0LjQs9C90L7RgNC40YDRg9GO0YLRgdGPLiDQn9GD0YHRgtC+0LUg0L/QvtC70LUg0L/QvtC00YDQsNC30YPQvNC10LLQsNC10YIg0L7RgtGB0YPRgtGB0YLQstC40LUg0L7Qs9GA0LDQvdC40YfQtdC90LjQuSDQv9C+INC00L7Qv9GD0YHRgtC40LzRi9C8INGA0LDRgdGI0LjRgNC10L3QuNGP0LwuJzsKJGxhbmdbJ3RpdGxlX3Nob3dfbGltaXRhdGlvbnMnXSA9ICfQntGC0L7QsdGA0LDQttCw0YLRjCDQvtCz0YDQsNC90LjRh9C10L3QuNGPPyc7CiRsYW5nWyd0aXRsZV9zaG93X2xpbWl0YXRpb25zX2xvbmcnXSA9ICfQntGC0L7QsdGA0LDQttCw0YLRjCDQvtCz0YDQsNC90LjRh9C10L3QuNGPINC90LAg0YDQsNC30LzQtdGAINC4INGA0LDRgdGI0LjRgNC10L3QuNC1INC30LDQutCw0YfQuNCy0LDQtdC80YvRhSDRhNCw0LnQu9C+0LIg0YDRj9C00L7QvCDRgSDQv9C+0LvQtdC8INC30LDQs9GA0YPQt9C60Lgg0YTQsNC50LvQsD8nOwokbGFuZ1sndGl0bGVfY2FsbGJhY2tfbW9kdWxlJ10gPSAnQ2FsbGJhY2st0LzQvtC00YPQu9GMJzsKJGxhbmdbJ3RpdGxlX2NhbGxiYWNrX21ldGhvZCddID0gJ0NhbGxiYWNrLdC80LXRgtC+0LQnOwokbGFuZ1sndGl0bGVfY2FsbGJhY2tfZmllbGRzJ10gPSAn0J/QvtC70Y8g0LTQu9GPINCy0LrQu9GO0YfQtdC90LjRjyc7CiRsYW5nWyd0aXRsZV9jYWxsYmFja19oZWxwJ10gPSAn0J/QvtC80L7RidGMJzsKJGxhbmdbJ3RpdGxlX2lkX2FuZF9uYW1lJ10gPSAn0JjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMIElEINC4INC40LzRjyDQtNC70Y8gQ1NTINC/0L7Qu9C10Lkg0LLQstC+0LTQsCc7CiRsYW5nWyd0aXRsZV9kYXRlX2Zvcm1hdCddID0gJ9Ck0L7RgNC80LDRgiDQtNCw0YLRiyAo0YHRgtCw0L3QtNCw0YDRgiDQvNC+0LbQvdC+INC/0L7Rh9C40YLQsNGC0Ywg0YLRg9GCOiA8YSBocmVmPSJodHRwOi8vd3d3LnBocC5uZXQvbWFudWFsL2VuL2Z1bmN0aW9uLmRhdGUucGhwIj5QSFAgRGF0ZSBGb3JtYXRzPC9hPiknOwokbGFuZ1sndGl0bGVfc3RhdGljX3RleHQnXSA9ICfQn9C+0LrQsNC30LDRgtGMINGB0YLQsNGC0LjRh9C10YHQutC40Lkg0YLQtdC60YHRgiAo0LzQsNC60YEuIDI1NSDRgdC40LzQstC+0LvQvtCyKSc7CiRsYW5nWyd0aXRsZV9jYWxsYmFja19oZWxwbG9uZyddID0gJzxwPtCS0Ysg0YPQutCw0LfRi9Cy0LDQtdGC0LUg0LzQvtC00YPQu9GMINC4INC80LXRgtC+0LQuINCf0LDRgNCw0LzQtdGC0YDRiyDRgyDRjdGC0L7Qs9C+INC80LXRgtC+0LTQsCDQtNC+0LvQttC90Ysg0LHRi9GC0Ywg0YHQu9C10LTRg9GO0YnQuNC1OjwvcD48YnIgLz4NCg0KZnVuY3Rpb24gd2hhdGV2ZXIoJGlkLCAmJHBhcmFtcywgJHJldHVybmlkLCAmJGNtcyk8YnIgLz48YnIgLz4NCg0KPHA+0KTRg9C90LrRhtC40Y8g0LTQvtC70LbQvdCwINCy0L7Qt9Cy0YDQsNGJ0LDRgtGMINGH0YLQvi3RgtC+INC00LvRjyDRhNC+0YDQvNGLLCDQvdCw0L/RgNC40LzQtdGALCDRgdC60YDRi9GC0YvQtSDQv9C+0LvRjyDRgSDQv9C+0LvQtdC30L3QvtC5INC40L3RhNC+0YDQvNCw0YbQuNC10LkuPC9wPg0KDQo8cD7Qn9C+0LvQtSAi0L/QvtC70Y8iINC00L7Qu9C20L3QviDRgdC+0LTQtdGA0LbQsNGC0Ywg0YHQv9C40YHQvtC6INC/0L7Qu9C10LksINCz0LXQvdC10YDQuNGA0YPQtdC80YvRhSDRjdGC0LjQvCDQvNC10YLQvtC00L7QvC48L3A+DQoNCjxwPtCf0YDQuNC80LXRgDog0LzQvtC00YPQu9GMICJVc2VySUQiINC40LzQtdC10YIg0LzQtdGC0L7QtCAiTG9nZ2VkSW5Vc2VyIi4g0K3RgtC+0YIg0LzQtdGC0L7QtCDRgdC+0LfQtNCw0ZHRgiAyINGB0LrRgNGL0YLRi9GFINC/0L7Qu9GPICJmaXJzdF9uYW1lIiDQuCAibGFzdF9uYW1lIiwg0LrQvtGC0L7RgNGL0LUg0Y8g0LHRiyDRhdC+0YLQtdC7INCy0LrQu9GO0YfQuNGC0Ywg0LIg0LzQvtGOINGE0L7RgNC80YMuINCi0L7Qs9C00LAg0Y8g0LHRiyDQstCy0LXQuyDRgdC70LXQtNGD0Y7RidC10LU6PC9wPg0KDQptb2R1bGU6IFVzZXJJRDxiciAvPg0KbWV0aG9kOiBMb2dnZWRJblVzZXI8YnIgLz4NCmZpZWxkczogZmlyc3RfbmFtZSxsYXN0X25hbWU8L2JyPg0KJzsKJGxhbmdbJ2FkbWluZGVzYyddID0gJ9CU0L7QsdCw0LLQu9GP0LnRgtC1LCDRgNC10LTQsNC60YLQuNGA0YPQudGC0LUg0Lgg0YPQv9GA0LDQstC70Y/QudGC0LUg0LjQvdGC0LXRgNCw0LrRgtC40LLQvdGL0LzQuCDRhNC+0YDQvNCw0LzQuCDQvtCx0YDQsNGC0L3QvtC5INGB0LLRj9C30LgnOwokbGFuZ1snZGF0ZV9hX2phbiddID0gJ9Cv0J3Qkic7CiRsYW5nWydkYXRlX2FfZmViJ10gPSAn0KTQldCS0KAnOwokbGFuZ1snZGF0ZV9hX21hciddID0gJ9Cc0JDQoCc7CiRsYW5nWydkYXRlX2FfYXByJ10gPSAn0JDQn9CgJzsKJGxhbmdbJ2RhdGVfYV9tYXknXSA9ICfQnNCQ0JknOwokbGFuZ1snZGF0ZV9hX2p1biddID0gJ9CY0K7QnSc7CiRsYW5nWydkYXRlX2FfanVsJ10gPSAn0JjQrtCbJzsKJGxhbmdbJ2RhdGVfYV9hdWcnXSA9ICfQkNCS0JMnOwokbGFuZ1snZGF0ZV9hX3NlcCddID0gJ9Ch0JXQnSc7CiRsYW5nWydkYXRlX2Ffb2N0J10gPSAn0J7QmtCiJzsKJGxhbmdbJ2RhdGVfYV9ub3YnXSA9ICfQndCe0K/QkSc7CiRsYW5nWydkYXRlX2FfZGVjJ10gPSAn0JTQldCaJzsKJGxhbmdbJ2RhdGVfamFudWFyeSddID0gJ9Cv0L3QstCw0YDRjCc7CiRsYW5nWydkYXRlX2ZlYnJ1YXJ5J10gPSAn0KTQtdCy0YDQsNC70YwnOwokbGFuZ1snZGF0ZV9tYXJjaCddID0gJ9Cc0LDRgNGCJzsKJGxhbmdbJ2RhdGVfYXByaWwnXSA9ICfQkNC/0YDQtdC70YwnOwokbGFuZ1snZGF0ZV9tYXknXSA9ICfQnNCw0LknOwokbGFuZ1snZGF0ZV9qdW5lJ10gPSAn0JjRjtC90YwnOwokbGFuZ1snZGF0ZV9qdWx5J10gPSAn0JjRjtC70YwnOwokbGFuZ1snZGF0ZV9hdWd1c3QnXSA9ICfQkNCy0LPRg9GB0YInOwokbGFuZ1snZGF0ZV9zZXB0ZW1iZXInXSA9ICfQodC10L3RgtGP0LHRgNGMJzsKJGxhbmdbJ2RhdGVfb2N0b2JlciddID0gJ9Ce0LrRgtGP0LHRgNGMJzsKJGxhbmdbJ2RhdGVfbm92ZW1iZXInXSA9ICfQndC+0Y/QsdGA0YwnOwokbGFuZ1snZGF0ZV9kZWNlbWJlciddID0gJ9CU0LXQutCw0LHRgNGMJzsKJGxhbmdbJ21vbnRoJ10gPSAn0JzQtdGB0Y/RhiAnOwokbGFuZ1snZGF5J10gPSAn0JTQtdC90YwgJzsKJGxhbmdbJ3llYXInXSA9ICfQk9C+0LQnOwokbGFuZ1snc3VibWlzc2lvbl90aXRsZSddID0gJ9Ce0YLQv9GA0LDQstC60LAg0YTQvtGA0LzRiyc7CiRsYW5nWydzdWJtaXNzaW9uX2hvc3QnXSA9ICfQpdC+0YHRgic7CiRsYW5nWydzdWJtaXNzaW9uX2Zvcm1fbmFtZSddID0gJ9Ck0L7RgNC80LAnOwokbGFuZ1snc3VibWlzc2lvbl9kYXRlJ10gPSAn0JTQsNGC0LAnOwokbGFuZ1snc3VibWlzc2lvbl9zb3VyY2UnXSA9ICfQmNGB0YLQvtGH0L3QuNC6JzsKJGxhbmdbJ3N1Ym1pc3Npb25fc3ViamVjdCddID0gJ9Ce0YLQv9GA0LDQstC60LAg0YTQvtGA0LzRiyc7CiRsYW5nWydzdWJtaXNzaW9uX2Vycm9yJ10gPSAn0J/RgNC+0LjQt9C+0YjQu9CwINC+0YjQuNCx0LrQsCDQv9GA0Lgg0L7RgtC/0YDQsNCy0LrQtSDRhNC+0YDQvNGLLjxicj7Qn9C+0LbQsNC70YPQudGB0YLQsCwg0L/QvtC/0YDQvtCx0YPQudGC0LUg0LXRidC1INGA0LDQtyDQv9C+0L/QvtC30LbQtS4nOwokbGFuZ1snc3VibWlzc2lvbl9lcnJvcl9maWxlJ10gPSAn0J7RiNC40LHQutCwLiDQndC10LLQvtC30LzQvtC20L3QviDQt9Cw0L/QuNGB0LDRgtGMINGE0LDQudC7Lic7CiRsYW5nWydwb3N0X2luc3RhbGwnXSA9ICc8cD5NYWtlIHN1cmUgdG8gc2V0IHRoZSAiTW9kaWZ5IEZlZWRiYWNrIEZvcm1zIiBwZXJtaXNzaW9ucw0Kb24gdXNlcnMgd2hvIHdpbGwgYmUgYWRtaW5pc3RlcmluZyBmZWVkYmFjayBmb3Jtcy4gQWxzbywgaWYgeW91XCdsbCBiZSBlbWFpbGluZyBmb3JtDQpyZXN1bHRzLCBiZSBzdXJlIHRvIHVwZGF0ZSB0aGUgQ29uZmlndXJhdGlvbiBhcHByb3ByaWF0ZWx5LjwvcD4NCjxwPlBsZWFzZSBiZSBhd2FyZSB0aGF0IGEgZmVlZGJhY2sgZm9ybSBzaG91bGQgbm90IGJlIGFjdGl2ZSAoZS5nLiwgdXNhYmxlIGJ5IHRoZSBwdWJsaWMpIHdoaWxlDQp5b3UgYXJlIHN0aWxsIGVkaXRpbmcgdGhlIGZvcm0uIFlvdSBzaG91bGQgY3JlYXRlIHRoZSBmb3JtLCBhbmQgcGxhY2UgdGhlIHRhZyBpbnRvIGFuIGFjdGl2ZQ0KY29udGVudCBwYWdlIG9ubHkgd2hlbiB5b3UgaGF2ZSBmaW5pc2hlZCBlZGl0aW5nLiBPdGhlcndpc2UsIGVycm9uZW91cyByZXN1bHRzIGNvdWxkIGJlIHJldHVybmVkLjwvcD4NCjxwPkFkZGl0aW9uYWxseSwgdGhpcyB2ZXJzaW9uIGRvZXMgbm90IHN1cHBvcnQgcGFyYWxsZWwgZWRpdGluZyBvZiBmb3Jtcy4gUGxlYXNlIHRha2UgY2FyZSB0aGF0DQpvbmx5IG9uZSBhZG1pbiBpcyBlZGl0aW5nIGEgZ2l2ZW4gZm9ybSBhdCBhIGdpdmVuIHRpbWUuPC9wPic7CiRsYW5nWydoZWxwJ10gPSAnPGgzPtCa0LDQuiDRjdGC0L4g0YDQsNCx0L7RgtCw0LXRgj88L2gzPg0KPHA+VGhlIEZlZWRiYWNrRm9ybSBNb2R1bGUgYWxsb3dzIHlvdSB0byBjcmVhdGUgZm9ybXMgZm9yIHVzZXIgZmVlZGJhY2suIFRoZXNlIGZvcm1zIG1heSBiZSBpbnNlcnRlZA0KaW50byB0ZW1wbGF0ZXMgYW5kL29yIGNvbnRlbnQgcGFnZXMuIEZlZWRiYWNrIGZvcm1zIG1heSBjb250YWluIG1hbnkga2luZHMgb2YgaW5wdXRzLCBhbmQgbWF5IGhhdmUNCnZhbGlkYXRpb24gYXBwbGllZCB0byB0aGVzZSBpbnB1dHMuIFRoZSByZXN1bHRzIG9mIHRoZXNlIGZvcm1zIG1heSBiZSBoYW5kbGVkIGluIGEgdmFyaWV0eSBvZiB3YXlzLjwvcD4NCg0KPGgzPtCa0LDQuiDRjyDQtNC+0LvQttC10L0g0Y3RgtC+INC40YHQv9C+0LvRjNC30L7QstCw0YLRjD88L2gzPg0KPFA+SW5zdGFsbCBpdCwgYW5kIHBva2UgYXJvdW5kIHRoZSBtZW51cy4gUGxheSB3aXRoIGl0LiBUcnkgY3JlYXRpbmcgZm9ybXMsIGFuZCBhZGRpbmcgdGhlbSB0byB5b3VyIGNvbnRlbnQuDQpJZiB5b3UgZ2V0IHN0dWNrLCBjaGF0IHdpdGggbWUgb24gdGhlICNjbXMgSVJDIGNoYW5uZWwsIHBvc3QgdG8gdGhlIGZvcnVtLCBzZW5kIG1lIGVtYWlsLCBvciwgaWYgeW91XCdyZQ0KcmVhbGx5IGRlc3BlcmF0ZSwgcmVhZCB0aGUgcmVzdCBvZiB0aGlzIHBhZ2UuPC9QPg0KDQo8aDM+0JrQsNC6INC80L3QtSDRgdC+0LfQtNCw0YLRjCDRhNGA0LzRgz88L2gzPg0KPHA+SW4gdGhlIENNUyBBZG1pbiBNZW51LCB5b3Ugc2hvdWxkIGdldCBhIG5ldyBtZW51IGl0ZW0gY2FsbGVkIEZlZWRiYWNrRm9ybS4gQ2xpY2sgb24gdGhpcy4gT24gdGhlIHBhZ2UNCnRoYXQgZ2V0cyBzaG93biwgdGhlcmUgYXJlIG9wdGlvbnMgKGF0IHRoZSBib3R0b20gb2YgdGhlIGxpc3Qgb2YgRm9ybXMpIHRvIEFkZCBhIE5ldyBGb3JtIG9yIE1vZGlmeQ0KQ29uZmlndXJhdGlvbi48L3A+DQoNCjxoMz7QmtCw0Log0LTQvtCx0LDQstGC0Ywg0YTQvtGA0LzRgyDQuiDRgdGC0LDRgNC40YbQtT88L2gzPg0KPHA+SW4gdGhlIG1haW4gRmVlZGJhY2tGb3JtIGFkbWluIHBhZ2UsIHlvdSBjYW4gc2VlIGFuIGV4YW1wbGUgb2YgdGhlIHRhZyB1c2VkIHRvIGRpc3BsYXkgZWFjaCBmb3JtLiBJdCBsb29rcw0Kc29tZXRoaW5nIGxpa2Uge2Ntc19tb2R1bGUgbW9kdWxlPSJGZWVkYmFja0Zvcm0iIGZvcm09ImZlZWRiYWNrX2Zvcm1fZXhhbXBsZSJ9PC9wPg0KPHA+QnkgY29weWluZyB0aGlzIHRhZyBpbnRvIHRoZSBjb250ZW50IG9mIGEgcGFnZSwgb3IgaW50byBhIHRlbXBsYXRlLCB3aWxsIGNhdXNlIHRoYXQgZm9ybSB0byBiZSBkaXNwbGF5ZWQuDQpJbiB0aGVvcnksIHlvdSBjYW4gaGF2ZSBtdWx0aXBsZSBmb3JtcyBvbiBhIHBhZ2UgaWYgeW91IHJlYWxseSB3YW50IHRvLiBCZSBjYXJlZnVsIHdoZW4gcGFzdGluZyB0aGUgdGFnDQppbnRvIGEgcGFnZVwncyBjb250ZW50IGlmIHlvdSB1c2UgYSBXWVNJV1lHIGVkaXRvciBzdWNoIGFzIFRpbnlNQ0Ugb3IgSFRNTEFyZWEuIFRoZXNlIGVkaXRvcnMgbWF5IHN0ZWFsdGhpbHkNCmNoYW5nZSB0aGUgcXVvdGUgbWFya3MgKCIpIGludG8gSFRNTCBlbnRpdGllcyAoIiksIGFuZCB0aGUgZm9ybXMgd2lsbCBub3Qgc2hvdyB1cC4gVHJ5IHVzaW5nDQpzaW5nbGUgcXVvdGVzIChcJykgb3IgZWRpdGluZyB0aGUgSFRNTCBkaXJlY3RseS4NCg0KPGgzPkFkZGluZyBGaWVsZHMgdG8gYSBGb3JtPC9oMz4NCjxwPkJ5IGNsaWNraW5nIG9uIGEgRm9ybVwncyBuYW1lLCB5b3UgZW50ZXIgdGhlIEZvcm0gRWRpdCBwYWdlLiBZb3Ugd2lsbCBzZWUgYSBudW1iZXIgb2Ygb3B0aW9ucyBmb3IgdGhlIGZvcm0NCihsaWtlIHdoYXQgeW91IHdhbnQgdGhlIHRleHQgb2YgdGhlIHN1Ym1pdCBidXR0b24gdG8gc2F5LCB3aGF0IG1lc3NhZ2Ugc2hvdWxkIGJlIGRpc3BsYXllZCB0byB0aGUgdXNlciB3aGVuDQp0aGV5IHN1Ym1pdCB0aGUgZm9ybSwgZXRjKS4gVGhlcmUgaXMgYWxzbyBhIGxpc3Qgb2YgZmllbGRzIHRoYXQgbWFrZSB1cCB0aGUgZm9ybS4gVGhlIHR5cGVzIG9mIGZpZWxkcyB0aGF0DQphcmUgY3VycmVudGx5IHN1cHBvcnRlZCBmaXQgaW50byBmb3VyIGdyb3Vwczogc3RhbmRhcmQgaW5wdXQgZmllbGRzLCBkaXNwbGF5IGNvbnRyb2wgZmllbGRzLCBlbWFpbC1vbmx5IGlucHV0DQpmaWVsZHMsIGFuZCBmb3JtIHJlc3VsdCBoYW5kbGluZyBmaWVsZHMgKGFsc28NCmNhbGxlZCBGb3JtIERpc3Bvc2l0aW9ucyBpbiBwbGFjZXMpOjwvcD4NCjx1bD4NCjxsaT5TdGFuZGFyZCBJbnB1dCBGaWVsZHMgLSB0aGVzZSBhcmUgaW5wdXRzIHRoYXQgYWxsb3cgZW50cnkgb2YgdHlwaWNhbCBmb3JtIGVsZW1lbnRzLjwvbGk+DQo8bGk+RGlzcGxheSBDb250cm9sIEZpZWxkcyAtIHRoZXNlIGlucHV0IGNvbnRyb2wgaG93IHRoZSB1c2VyIHdpbGwgc2VlIHRoZSBkaXNwbGF5IG9mIHRoZSBmb3JtLjwvbGk+DQo8bGk+RW1haWwtb25seSBJbnB1dCBGaWVsZHMgLSB0aGVzZSBhcmUgaW5wdXRzIHRoYXQgYWxsb3cgZW50cnkgb2YgdHlwaWNhbCBmb3JtIGVsZW1lbnRzLCBidXQgYXBwbHkgb25seQ0KZm9yIGZvcm0gZGlzcG9zaXRpb25zIHRoYXQgc2VuZCB0aGUgcmVzdWx0cyB2aWEgZW1haWwuPC9saT4NCjxsaT5TcGVjaWFsIFB1cnBvc2UgRmllbGRzIC0gdGhlc2UgaW5wdXRzIGFyZSB1c2VkIGZvciBpbnRlcmZhY2luZyBwcm9ncmFtbWF0aWNhbGx5IHdpdGggb3RoZXIgbW9kdWxlcy48L2xpPg0KPGxpPkZvcm0gRGlzcG9zaXRpb25zIC0gVGhlc2UgZGV0ZXJtaW5lIHdoYXQgaGFwcGVucyB3aGVuIHRoZSB1c2VyDQpzdWJtaXRzIHRoZSBmb3JtOyBmb3IgZWFjaCByZXN1bHQgaGFuZGxpbmcgZmllbGQsIHNvbWUgbWV0aG9kIG9mIHRyYW5zbWl0dGluZywgc2F2aW5nLCBvciBlbWFpbGluZyB0aGUNCmZvcm0gY29udGVudHMgdGFrZXMgcGxhY2UuIEEgZm9ybSBtYXkgaGF2ZSBtdWx0aXBsZSBmb3JtIGRpc3Bvc2l0aW9ucy48L2xpPg0KPC91bD4NCjxwPkZvcm0gZmllbGRzIGFyZSBhc3NpZ25lZCBuYW1lcy4gVGhlc2UgbmFtZXMgaWRlbnRpZnkgdGhlIGZpZWxkLCBub3Qgb25seSBvbiB0aGUgc2NyZWVuIGFzIGxhYmVscyBmb3IgdGhlIHVzZXIsDQpidXQgaW4gdGhlIGRhdGEgd2hlbiBpdFwncyBzdWJtaXR0ZWQgc28geW91IGtub3cgd2hhdCB0aGUgdXNlciBpcyByZXNwb25kaW5nIHRvLiBQaHJhc2luZyB0aGUgbmFtZSBsaWtlIGEgcXVlc3Rpb24NCmlzIGEgaGFuZHkgd2F5IG9mIG1ha2luZyBpdCBjbGVhciB0byB0aGUgdXNlciB3aGF0IGlzIGV4cGVjdGVkLiBTaW1pbGFybHksIHNvbWUgZmllbGRzIGhhdmUgYm90aCBOYW1lcyBhbmQgVmFsdWVzLg0KVGhlIE5hbWVzIGFyZSB3aGF0IGdldHMgc2hvd24gdG8gdGhlIHVzZXI7IHRoZSBWYWx1ZSBpcyB3aGF0IGdldHMgc2F2ZWQgb3IgdHJhbnNtaXR0ZWQgd2hlbiB0aGUgdXNlciBzdWJtaXRzDQp0aGUgZm9ybS4gVGhlIFZhbHVlcyBhcmUgbmV2ZXIgc2VlbiBieSB0aGUgdXNlciwgbm9yIGFyZSB0aGV5IHZpc2libGUgaW4gdGhlIEhUTUwsIHNvIGl0XCdzIHNhZmUgdG8gdXNlIGZvcg0KZW1haWwgYWRkcmVzc2VzIGFuZCBzdWNoLjwvcD4NCjxwPlNvbWUgZmllbGRzIGNhbiBoYXZlIG11bHRpcGxlIHZhbHVlcywgb3IgbXVsdGlwbGUgbmFtZS92YWx1ZSBwYWlycy4gV2hlbiB5b3UgZmlyc3QgY3JlYXRlIHN1Y2ggYSBmaWVsZCwNCnRoZXJlIG1heSBub3QgYmUgc3VmZmljaWVudCBpbnB1dHMgZm9yIHlvdSB0byBzcGVjaWZ5IGFsbCB0aGUgdmFsdWVzIHlvdSB3YW50LiBUbyBnZXQgbW9yZSBzcGFjZSBmb3IgaW5wdXR0aW5nDQp0aGVzZSB2YWx1ZXMsIHNpbXBseSBzYXZlIHRoZSBmaWVsZCwgYW5kIHRoZW4gY2xpY2sgb24gaXRzIG5hbWUgdG8gZWRpdCBpdCBhZ2Fpbi4gRXZlcnkgdGltZSB5b3UgZWRpdCBzdWNoIGENCmZpZWxkLCB5b3Ugd2lsbCByZWNlaXZlIG1vcmUgaW5wdXRzLjwvcD4NCjxwPkZpZWxkcyBjYW4gYmUgYXNzaWduZWQgdmFsaWRhdGlvbiBydWxlcywgd2hpY2ggdmFyeSBhY2NvcmRpbmcgdG8gdGhlIHR5cGUgb2YgdGhlIGZpZWxkLiBUaGVzZSBydWxlcyBoZWxwDQplbnN1cmUgdGhhdCB0aGUgdXNlciBlbnRlcnMgdmFsaWQgZGF0YS4gVGhleSBtYXkgYWxzbyBiZQ0Kc2VwYXJhdGVseSBtYXJrZWQgIlJlcXVpcmVkIiwgd2hpY2ggd2lsbCBmb3JjZSB0aGUgdXNlciB0byBlbnRlciBhIHJlc3BvbnNlLjwvcD4NCjxwPkZpZWxkcyBhbHNvIG1heSBiZSBhc3NpZ25lZCBhIENTUyBjbGFzcy4gVGhpcyBzaW1wbHkgd3JhcHMgdGhlIGlucHV0IGluIGEgZGl2IHdpdGggdGhhdCBjbGFzcywgc28gYXMgdG8gYWxsb3cNCmN1c3RvbWl6ZWQgbGF5b3V0cy4gVG8gdXNlIHRoaXMgZWZmZWN0aXZlbHksIHlvdSBtYXkgbmVlZCB0byAidmlldyBzb3VyY2UiIG9uIHRoZSBnZW5lcmF0ZWQgZm9ybSwgYW5kIHRoZW4NCndyaXRlIHlvdXIgQ1NTLjwvcD4NCjx1bD4NCjxsaT5TdGFuZGFyZCBJbnB1dHMNCjx1bD48bGk+VGV4dCBJbnB1dC4gVGhpcyBpcyBhIHN0YW5kYXJkIHRleHQgZmllbGQuIFlvdSBjYW4gbGltaXQgdGhlIGxlbmd0aCwgYW5kIGFwcGx5IHZhcmlvdXMgdmFsaWRhdGlvbg0KZnVuY3Rpb25zIHRvIHRoZSBmaWVsZC48L2xpPg0KPGxpPlRleHQgQXJlYS4gVGhpcyBpcyBhIGJpZywgZnJlZS1mb3JtIHRleHQgaW5wdXQgZmllbGQuPC9saT4NCjxsaT5DaGVja2JveC4gVGhpcyBpcyBhIHN0YW5kYXJkIGNoZWNrIGJveC4gSWYgeW91IHR1cm4gb24gdmFsaWRhdGlvbiwgeW91IGNhbiByZXF1aXJlIHRoYXQgdGhlIHVzZXIgY2hlY2tzDQp0aGUgYm94LiBUaGlzIGlzIHVzZWZ1bCBmb3IgZm9ybXMgd2hlcmUgdGhlIHVzZXIgaXMgb2JsaWdhdGVkIHRvIGFncmVlIHRvIHNvbWV0aGluZyBpbiBvcmRlciB0byBzdWJtaXQNCnRoZSBmb3JtLjwvbGk+DQo8bGk+Q2hlY2tib3ggR3JvdXAuIFRoaXMgaXMgYSBjb2xsZWN0aW9uIG9mIGNoZWNrYm94ZXMuIFRoZSBvbmx5IGRpZmZlcmVuY2UgYmV0d2VlbiB0aGlzIGlucHV0IGFuZCBhDQpjb2xsZWN0aW9uIG9mIENoZWNrYm94IGlucHV0cyBpcyB0aGF0IHRoZXkgYXJlIHByZXNlbnRlZCBhcyBhIGdyb3VwLCB3aXRoIG9uZSBuYW1lLCBhbmQgY2FuIGhhdmUgYSB2YWxpZGF0aW9uDQpmdW5jdGlvbiByZXF1aXJpbmcgdGhhdCB5b3UgY2hlY2sgb25lIG9yIG1vcmUgb2YgdGhlIGJveGVzIGluIHRoZSBncm91cC48L2xpPg0KPGxpPlJhZGlvIEdyb3VwLiBUaGlzIGlzIGEgY29sbGVjdGlvbiBvZiByYWRpbyBidXR0b25zLiBPbmx5IG9uZSBvZiB0aGUgZ3JvdXAgbWF5IGJlIHNlbGVjdGVkIGJ5IHRoZSB1c2VyLjwvbGk+DQo8bGk+UHVsbGRvd24uIFRoaXMgaXMgYSBzdGFuZGFyZCBwdWxsZG93biBtZW51LiBJdFwncyByZWFsbHkgY29uY2VwdHVhbGx5IHRoZSBzYW1lIHRoaW5nIGFzIGEgcmFkaW8gYnV0dG9uDQpncm91cCwgYnV0IGlzIGJldHRlciB3aGVuIHRoZXJlIGFyZSBhIGxhcmdlIG51bWJlciBvZiBvcHRpb25zLjwvbGk+DQo8bGk+U3RhdGUuIFRoaXMgaXMgYSBwdWxsZG93biBsaXN0aW5nIHRoZSBTdGF0ZXMgb2YgdGhlIFUuUy48L2xpPg0KPGxpPkNvdW50cmllcy4gVGhpcyBpcyBhIHB1bGxkb3duIGxpc3RpbmcgdGhlIENvdW50cmllcyBvZiB0aGUgd29ybGQgKGFzIG9mIEp1bHkgMjAwNSkuPC9saT4NCjxsaT5EYXRlIFBpY2tlci4gVGhpcyBpcyBhIHRyaXBsZSBwdWxsZG93biBhbGxvd2luZyB0aGUgdXNlciB0byBzZWxlY3QgYSBkYXRlLjwvbGk+DQo8L3VsPjwvbGk+DQoNCjxsaT5FbWFpbC1vbmx5IElucHV0cw0KPHVsPjxsaT5GaWxlIFVwbG9hZC4gVGhpcyBhbGxvd3MgYSB1c2VyIHRvIHVwbG9hZCBhIGZpbGUsIHdoaWNoIHdpbGwgYmUgaW5jbHVkZWQgYXMgYW4gYXR0YWNobWVudCB0byBhbnkgZW1haWwNCmRpc3Bvc2l0aW9uLiBGaWxlIHVwbG9hZHMgZG8gbm90IGN1cnJlbnRseSB3b3JrIHdpdGggdGhlIEZsYXQgRmlsZSBkaXNwb3NpdGlvbiBtZXRob2QuPC9saT4NCjxsaT5FbWFpbCBGcm9tIEZpZWxkLiBUaGlzIGFsbG93cyB1c2VycyB0byBwcm92aWRlIHRoZWlyIG5hbWUgYW5kIGVtYWlsIGFkZHJlc3MuIFRoZSBlbWFpbCBnZW5lcmF0ZWQgd2hlbiB0aGUNCmZvcm0gZ2V0cyBoYW5kbGVkIHdpbGwgdXNlIHRoaXMgbmFtZSBhbmQgYWRkcmVzcyBpbiB0aGUgIkZyb20iIGZpZWxkLjwvbGk+DQo8L3VsPjwvbGk+DQoNCjxsaT5EaXNwbGF5IENvbnRyb2wgRmllbGRzPHVsPg0KPGxpPlBhZ2UgQnJlYWsuIFRoaXMgYWxsb3dzIHlvdSB0byBzcGxpdCB5b3VyIGZlZWRiYWNrIGZvcm0gaW50byBtdWx0aXBsZSBwYWdlcy4gRWFjaCBwYWdlIGlzDQppbmRlcGVuZGVudGx5IHZhbGlkYXRlZC4gVGhpcyBpcyBnb29kIGZvciBhcHBsaWNhdGlvbnMgbGlrZSBvbmxpbmUgc3VydmV5cy48L2xpPg0KPGxpPlN0YXRpYyBUZXh0LiBUaGlzIGFsbG93cyB5b3UgdG8gcGxhY2UgdGV4dCBpbiB5b3VyIGZvcm0uIEl0XCdzIGNhbGxlZCBhbiBpbnB1dCwgYnV0IGl0XCdzIGRpc3BsYXkgb25seS4gVGhpcyBpcyB1c2VmdWwgZm9yIHByZXNlbnRpbmcgaW5zdHJ1Y3Rpb25zLCBoZWxwLCBldGMuPC9saT4NCjwvdWw+PC9saT4NCg0KPGxpPlNwZWNpYWwgUHVycG9zZSBGaWVsZHM8dWw+DQo8bGk+RnVuY3Rpb24gQ2FsbGJhY2sgIklucHV0Ii4gVGhpcyBhbGxvd3MgcHJvZ3JhbW1lcnMgdG8gYWNjZXNzIGluZm9ybWF0aW9uIGZyb20gb3RoZXIgbW9kdWxlcyAoc3VjaCBhcyBnZXR0aW5nIHVzZXIgbmFtZSBkYXRhIGZyb20gYSB1c2VyIGF1dGhlbnRpY2F0aW9uIG1vZHVsZSkuPC9saT48L3VsPjwvbGk+DQoNCjxsaT5Gb3JtIEhhbmRsaW5nIElucHV0cyAoRGlzcG9zaXRpb25zKQ0KPHVsPjxsaT5FbWFpbCBSZXN1bHRzIEJhc2VkIG9uIFB1bGxkb3duLiBUaGlzIGlzIHVzZWZ1bCBmb3Igd2ViIHNpdGVzIHdoZXJlIGNvbW1lbnRzIGdldCByb3V0ZWQgYmFzZWQgb24NCnRoZWlyIHN1YmplY3QgbWF0dGVyLCBlLmcuLCBidWdzIGdldCBzZW50IHRvIG9uZSBwZXJzb24sIG1hcmtldGluZyBxdWVzdGlvbnMgdG8gYW5vdGhlciBwZXJzb24sIHNhbGVzIHJlcXVlc3RzDQp0byBzb21lb25lIGVsc2UsIGV0Yy4gVGhlIHB1bGxkb3duIGlzIHBvcHVsYXRlZCB3aXRoIHRoZSBzdWJqZWN0cywgYW5kIGVhY2ggZ2V0cyBkaXJlY3RlZCB0byBhIHNwZWNpZmljIGVtYWlsDQphZGRyZXNzLiBZb3Ugc2V0IHVwIHRoZXNlIG1hcHBpbmdzIGluIHRoZSB3aGVuIHlvdSBjcmVhdGUgb3IgZWRpdCBhIGZpZWxkIG9mIHRoaXMgdHlwZS4gSWYgeW91IHVzZSBvbmUgb2YNCnRoZXNlICJEaXJlY3RvciIgcHVsbGRvd25zLCB0aGUgdXNlciBtdXN0IG1ha2UgYSBzZWxlY3Rpb24gaW4gb3JkZXIgdG8gc3VibWl0IHRoZQ0KZm9ybS4gVGhpcyBpbnB1dCBpcyBwYXJ0IG9mIHRoZSBmb3JtIHRoZSB1c2VyIHNlZXMsIGFsdGhvdWdoIHRoZSBlbWFpbCBhZGRyZXNzZXMgYXJlIG5vdCBtYWRlIHZpc2libGUgbm9yDQphcmUgdGhleSBlbWJlZGRlZCBpbiB0aGUgSFRNTC48L2xpPg0KPGxpPkVtYWlsIFJlc3VsdHMgdG8gc2V0IEFkZHJlc3MoZXMpLiBUaGlzIHNpbXBseSBzZW5kcyB0aGUgZm9ybSByZXN1bHRzIHRvIG9uZSBvciBtb3JlIGVtYWlsIGFkZHJlc3NlcyB0aGF0DQp5b3UgZW50ZXIgd2hlbiB5b3UgY3JlYXRlIG9yIGVkaXQgdGhpcyB0eXBlIG9mIGZpZWxkLiBUaGlzIGZpZWxkIGFuZCBpdHMgbmFtZSBhcmUgbm90IHZpc2libGUgaW4gdGhlDQpmb3JtIHRoYXQgdGhlIHVzZXIgc2Vlcy4gVGhlIGVtYWlsIGFkZHJlc3NlcyBhcmUgbm90IG1hZGUgdmlzaWJsZSBub3INCmFyZSB0aGV5IGVtYmVkZGVkIGluIHRoZSBIVE1MLjwvbGk+DQo8bGk+RW1haWwgUmVzdWx0cyB0byBVc2VyLVNlbGVjdGVkIFNpdGUgVXNlci4gVGhpcyBpbnB1dCBpcyBvdXIgZmlyc3QgZW5kLXVzZXIgc3VnZ2VzdGlvbiEgSXQgY3JlYXRlcyBhIA0KcHVsbGRvd24gb2YgdXNlcm5hbWVzIGluIHRoZSBmb3JtLiBUaGUgdXNlcm5hbWVzIGFyZSBvdGhlciB1c2VycyB3aG8gYXJlIHJlZ2lzdGVyZWQgd2l0aCB0aGUgc2l0ZS4NCldoZW4gdGhlIGZvcm0gaXMgc3VibWl0dGVkLCB0aGUgZGF0YSBpcyBzZW50IHRvIHRoZSB1c2VyIHdob3NlIG5hbWUgd2FzIHNlbGVjdGVkLiBXaGVuIHlvdSBjcmVhdGUNCmEgZmllbGQgb2YgdGhpcyB0eXBlLCB5b3UgbWF5IHNlbGVjdCBzcGVjaWZpYyBncm91cHMgZnJvbSB3aGljaCB0aGUgdXNlcmxpc3QgaXMgY3JlYXRlZC4gVGhpcyBpbnB1dCBpcw0KcGFydCBvZiB0aGUgZm9ybSB0aGUgdXNlciBzZWVzLCBhbHRob3VnaCB0aGUgZW1haWwgYWRkcmVzc2VzIGFyZSBub3QgbWFkZSB2aXNpYmxlIG5vciBhcmUgdGhleSBlbWJlZGRlZA0KaW4gdGhlIEhUTUwuPC9saT4NCjxsaT5Xcml0ZSBSZXN1bHRzIHRvIEZsYXQgRmlsZS4gVGhpcyB0YWtlcyB0aGUgZm9ybSByZXN1bHRzIGFuZCB3cml0ZXMgdGhlbSBpbnRvIGEgdGV4dCBmaWxlLiBZb3UgbWF5DQpzZWxlY3QgdGhlIG5hbWUgb2YgdGhlIGZpbGUsIGFuZCBpdHMgZm9ybWF0LiBZb3UgY2FuIGNob29zZSBmcm9tICJwYWdlIiBmb3JtYXQsIHdoaWNoIGxvb2tzIGxpa2UgdGhlDQplbWFpbHMgdGhhdCBnZXQgc2VudCBieSB0aGUgb3RoZXIgaGFuZGxlcnMsIG9yIHlvdSBjYW4gY2hvb3NlIGEgdGFiLWRlbGltaXRlZCBmb3JtYXQgdXNlZnVsIGZvciByZWFkaW5nDQppbnRvIEV4Y2VsIG9yIHNpbWlsYXIgcHJvZ3JhbXMuIElmIHlvdSBjaG9vc2UgdGFiLWRlbGltaXRlZCwgeW91IGNhbiBvcHQgdG8gaGF2ZSB0aGUgZmlsZSBzdGFydCB3aXRoDQphIGhlYWRlciByb3csIHdoaWNoIG5hbWVzIHRoZSBjb2x1bW5zLiBUaGVzZSBmaWxlcyBhcmUgd3JpdHRlbiB0byB0aGUgIm91dHB1dCIgZGlyZWN0b3J5IHVuZGVyIHRoZQ0KbW9kdWxlXCdzIGluc3RhbGxhdGlvbiBkaXJlY3RvcnkuDQo8L3VsPjwvbGk+PC9saT48L3VsPg0KDQo8aDM+S25vd24gSXNzdWVzPC9oMz4NCjx1bD4NCjxsaT5GaWxlIFVwbG9hZCBJbnB1dHMgbWF5IGJlIHVzZWQgb24gbXVsdGktcGFnZSBmZWVkYmFjayBmb3JtcywgPHN0cm9uZz5idXQgdGhleSBtdXN0IGJlIG9uIHRoZSBsYXN0IHBhZ2U8L3N0cm9uZz4gb2YNCnRoZSBmb3JtLjwvbGk+DQo8bGk+RmlsZSBVcGxvYWQgIm1heGltdW0gc2l6ZSIgY2Fubm90IGJlIGxhcmdlciB0aGFuIHRoZSB2YWx1ZSBzZXQgaW4geW91ciBwaHAuaW5pIGZpbGUuIFRoaXMgaXMgbm90IGEgYnVnIC0tIHRoaXMgaXMgYSBmZWF0dXJlLjwvbGk+DQo8bGk+RmlsZSBVcGxvYWQgIm1heGltdW0gc2l6ZSIgdXNlcyB1bml0cyBjYWxsZWQgImtpbG9ieXRlcyIgdGhhdCBhcmUgMTAwMCBieXRlcywgbm90IDEwMjQgYnl0ZXMuPC9saT4NCjxsaT5GaWxlIFVwbG9hZHMgZG8gbm90IGN1cnJlbnRseSB3b3JrIHdpdGggdGhlIEZsYXQgRmlsZSBkaXNwb3NpdGlvbiBtZXRob2QuPC9saT4NCjxsaT5GaWxlIFVwbG9hZHMgY291bGQgYWxsb3cgdXNlcnMgdG8gc3VibWl0IG9mZmVuc2l2ZSwgb2JzY2VuZSwgb3IgaWxsZWdhbCBtYXRlcmlhbC4gSXQgY291bGQgYWxzbyBiZSB1c2VkIHRvIHRyYW5zbWl0DQpkYW5nZXJvdXMgZmlsZXMgc3VjaCBhcyB0cm9qYW4taG9yc2VzLCB2aXJ1c2VzLCBvciBvdGhlciBzZWN1cml0eSB0aHJlYXRzLiBVc2UgRmlsZSBVcGxvYWRzIHdpdGggY2F1dGlvbiBhbmQgY29tbW9uIHNlbnNlLjwvbGk+DQo8L3VsPg0KDQo8aDM+VHJvdWJsZXNob290aW5nPC9oMz4NCjxvbD48bGk+IEZpcnN0IHN0ZXAgaXMgdG8gY2hlY2sgeW91XCdyZSBydW5uaW5nIENNUyAwLjEwLnggb3IgbGF0ZXIuPC9saT4NCjxsaT4gU2Vjb25kIHN0ZXAgaXMgdG8gcmVhZCBhbmQgdW5kZXJzdGFuZCB0aGUgY2F2ZWF0IGFib3V0IFdZU0lXWUcgZWRpdG9ycyB1cCBpbiB0aGUNCnNlY3Rpb24gPGVtPkFkZGluZyBhIEZvcm0gdG8gYSBQYWdlPC9lbT4uPC9saT4NCjxsaT4gSnVzdCBtZXNzIGFyb3VuZCBhbmQgdHJ5IGNsaWNraW5nIG9uIGxpbmtzIGFuZCBpY29ucyBhbmQgc3R1ZmYuIFNlZSB3aGF0IGhhcHBlbnMuPC9saT4NCjxsaT4gTGFzdCByZXNwb3J0IGlzIHRvIGVtYWlsIG1lIG9yIGNhdGNoIG1lIG9uIElSQyBhbmQgd2UgY2FuIGdvIGZyb20gdGhlcmUuPC9saT4NCjwvb2w+IA0KPHA+VGhpcyBtYXkgbm8gbG9uZ2VyIGJlIHN1Y2ggYW4gZWFybHkgdmVyc2lvbiwgYnV0IGl0IGlzIHByb2JhYmx5IHN0aWxsIGJ1Z2d5LiBXaGlsZSBJXCd2ZSBkb25lIGFsbCBJIGNhbg0KdG8gbWFrZSBzdXJlIG5vIGVncmVnaW91cyBidWdzIGhhdmUgY3JlcHQgaW4sIEkgaGF2ZSB0byBhZG1pdCB0aGF0IGR1cmluZyB0ZXN0aW5nLCB0aGlzIHByb2dyYW0NCnJldmVhbGVkIHNldmVuIGNvY2tyb2FjaGVzLCB0d28gZWFyd2lncywgYSBzbWFsbCBmYW1pbHkgb2YgYXBoaWRzLCBhbmQgYSB3YWxraW5nLXN0aWNrIGluc2VjdC4gSXQgYWxzbw0KYXRlIHRoZSBuZWlnaGJvclwncyBuYXN0eSBsaXR0bGUgeWFwIGRvZywgZm9yIHdoaWNoIEkgd2FzIGluYXBwcm9wcmlhdGVseSBncmF0ZWZ1bC48L3A+DQo8cD5UaGUgZmluYWwgcmVsZWFzZSB3aWxsIGluY2x1ZGUgYnVnIGZpeGVzLCBkb2N1bWVudGF0aW9uLCBhbmQgdW5jb25kaXRpb25hbCBsb3ZlLjwvcD4NCjxoMz5TdXBwb3J0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4NCjx1bD4NCjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0LCBwbGVhc2UgdmlzaXQgdGhlIENNUyBEZXZlbG9wZXIgQ2VudGVyIGF0IDxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmciPmh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmc8L2E+LjwvbGk+DQo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+DQo8bGk+VGhlIGF1dGhvciwgU2pHLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICANCjwvdWw+DQo8cD5BcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy4gUGxlYXNlIHJlYWQgdGhlIHRleHQNCm9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4NCg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgwqkgMjAwNiwgU2FtdWVsIEdvbGRzdGVpbiA8YSBocmVmPSJtYWlsdG86c2pnQGNtc21vZHVsZXMuY29tIj48c2pnQGNtc21vZHVsZXMuY29tPjwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPlRoaXMgbW9kdWxlIGhhcyBiZWVuIHJlbGVhc2VkIHVuZGVyIHRoZSA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPkdOVSBQdWJsaWMgTGljZW5zZTwvYT4uIFlvdSBtdXN0IGFncmVlIHRvIHRoaXMgbGljZW5zZSBiZWZvcmUgdXNpbmcgdGhlIG1vZHVsZS48L3A+DQoJCQ0KJzsKJGxhbmdbJ2NoYW5nZWxvZyddID0gJwkJICAgIDx1bD4NCiAgICAgICAgICAgICAgICAgICAgPGxpPlZlcnNpb24gMC45LjEzIC0gKGNhbGd1eTEwMDApIC0gTW9kaWZpZWQgZm9yIHRoZSBsYXp5IGxvYWRpbmcgb2YgQ01TIDEuMEI2IGFuZCBsYXRlcjwvbGk+DQogICAgICAgICAgICAgICAgICAgIDxsaT5WZXJzaW9uIDAuOS4xMiAtIFVua25vd24gKGFkZGVkIGJ5IGNhbGd1eTEwMDApPC9saT4NCgkJICAgIDxsaT5WZXJzaW9uIDAuOS4xMSAtIDkgRmVicnVhcnkgMjAwNi4gQnVnIGZpeGVzIGZvciB0cmFja2VyIGJ1Z3MgIzI5MywgIzMyOSwgIzMwNCwgIzMzNzwvbGk+DQoJCSAgICA8bGk+VmVyc2lvbnMgMC45LnggLSBPY3RvYmVyLCBOb3ZlbWJlciAyMDA1LiBDb250aW51aW5nIGJ1ZyBmaXhlcy48L2xpPg0KCQkgICAgPGxpPlZlcnNpb24gMC45IC0gIDIgT2N0b2JlciAyMDA1LiBNaWdyYXRlZCB0byBwcm9wZXIgTW9kdWxlIEFQSSAobGFuZywgc21hcnR5IHRlbXBsYXRlcywgZXRjLikuPC9saT4NCiAgICAgICAgICAgIDxsaT5WZXJzaW9uIDAuOCAtIDMxIEp1bHkgMjAwNS4gQnVnIGZpeGVzLCBhZGRlZCBEYXRlIGFuZCBDYWxsYmFjayBGdW5jdGlvbiBpbnB1dCB0eXBlcy48L2xpPg0KICAgICAgICAgICAgPGxpPlZlcnNpb24gMC43LjMgLSAyMSBKdWx5IDIwMDUuIEJ1ZyBmaXhlcywgYWRkZWQgU3RhdGUgYW5kIENvdW50cnkgaW5wdXQgdHlwZXMuPC9saT4NCiAgICAgICAgICAgIDxsaT5WZXJzaW9uIDAuNy4yIC0gMTggSnVseSAyMDA1LiBWYWxpZGF0aW9uIGJ1ZyBmaXhlcywgZml4ZWQgUEhQTWFpbGVyIGxvY2FsaXphdGlvbi48L2xpPg0KICAgICAgICAgICAgPGxpPlZlcnNpb24gMC43LjEgLSAxIEp1bmUgMjAwNS4gTWlub3IgYnVnIGZpeGVzLjwvbGk+DQogICAgICAgICAgICA8bGk+VmVyc2lvbiAwLjcgLSAyNCBNYXkgMjAwNS4gTW9yZSBhbmQgYmV0dGVyIHN1cHBvcnQgZm9yIENTUyBhbmQgcHVyZSBDU1MgbGF5b3V0cy4NCiAgICAgICAgICAgIFN1cHBvcnQgZm9yIG11bHRpLXBhZ2UgZm9ybXMuDQogICAgICAgICAgICBNYW55IG5ldyBmb3JtIG9wdGlvbnMuIE5ldyBmaWVsZCB0eXBlczogZmlsZSB1cGxvYWQsIGVtYWlsICJmcm9tIiBhZGRyZXNzLiBJbXByb3ZlZA0KICAgICAgICAgICAgZXJyb3IgaGFuZGxpbmcuIEVtYWlsIGRpc3Bvc2FsIHR5cGVzIG5vdyB0ZW1wbGF0ZWQuPC9saT4NCgkJCTxsaT5WZXJzaW9uIDAuNiAtIDE2IEFwciAyMDA1LiBVcGRhdGVkIGZvciBuZXcgQWRtaW4sIHNpbXBsaWZpZWQgcGVybWlzc2lvbnMuPC9saT4NCgkJICAgIDxsaT5WZXJzaW9uIDAuNSAtIDQgTWFyIDIwMDUuIE1pbm9yIGJ1ZyBmaXhlcyBmb3IgZGVsZXRpbmcgZm9ybXMvZmllbGRzLjwvbGk+DQoJCSAgICA8bGk+VmVyc2lvbiAwLjQgLSAyIE1hciAyMDA1LiBMb2NhbGl6YXRpb24gYW5kIG51bWVyb3VzIGJ1ZyBmaXhlcy48L2xpPg0KCQkgICAgPGxpPlZlcnNpb24gMC4zIC0gMjggRmViIDIwMDUuIFByaW1pdGl2ZSBsb2NhbGl6YXRpb24gYW5kIGJ1ZyBmaXhlcy48L2xpPg0KCQkgICAgPGxpPlZlcnNpb24gMC4yIC0gMjQgRmViIDIwMDUuIENvbnZlcnRlZCB0byB1c2UgT2JqZWN0cy4gTWFueSBpbXByb3ZlbWVudHMgYW5kIGJ1ZyBmaXhlcy48L2xpPg0KCQkJPGxpPlZlcnNpb24gMC4xIC0gMTEgRmViIDIwMDUuIEluaXRpYWwgUmVsZWFzZTwvbGk+PC91bD4NCgkJJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuODg3NTA5MzM4LjExNTQwMTIzMTcuMTE1NzcxNjI2OS4xMTU3ODEzODkxLjE5JzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTE1NjUxMTczNy45LjIudXRtY2NuPShyZWZlcnJhbCl8dXRtY3NyPWZvcnVtLmNtc21hZGVzaW1wbGUub3JnfHV0bWNjdD0vaW5kZXgucGhwL3RvcGljLDYwOTQuMC5odG1sfHV0bWNtZD1yZWZlcnJhbCc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZlZWRiYWNrIEZvcm0KIyBWZXJzaW9uOiAwLjkuMTIsIHJlbGVhc2VkIDYgTWFyY2ggMjAwNgojCiMgQ29weXJpZ2h0IChjKSAyMDA2LCBTYW11ZWwgR29sZHN0ZWluIDxzamdAY21zbW9kdWxlcy5jb20+CiMgRm9yIEluZm9ybWF0aW9uLCBTdXBwb3J0LCBCdWcgUmVwb3J0cywgZXRjLCBwbGVhc2UgdmlzaXQgdGhlCiMgQ01TIE1hZGUgU2ltcGxlIHRyYWNrZXIgYXQgaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA2IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiR0aGlzLT5pbml0aWFsaXplKCk7CiRkYiA9ICR0aGlzLT5jbXMtPmRiOwokZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCRkYik7CiRmbGRzID0gIgoJCQlmb3JtX2lkIEkgS0VZLAoJCQluYW1lIEMoMjU1KSwKCQkJYWxpYXMgQygyNTUpLAoJCQlzdWJtaXRfYnV0dG9uX3RleHQgQygzNSksCgkJCW5leHRfYnV0dG9uX3RleHQgQygzNSksCgkJCWNzc19jbGFzcyBDKDI1NSksCgkJCXJlcXVpcmVkX2ZpZWxkX3N5bWJvbCBDKDI1NSksCgkJCXRoYW5rc19tZXNzYWdlIFgKCQkiOwokdGFib3B0YXJyYXkgPSBhcnJheSgnbXlzcWwnID0+ICdUWVBFPU15SVNBTScpOwokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoJHRoaXMtPmZvcm1fdGFibGVfbmFtZSwgJGZsZHMsICR0YWJvcHRhcnJheSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCiRkYi0+Q3JlYXRlU2VxdWVuY2UoJHRoaXMtPmZvcm1fdGFibGVfbmFtZS4iX3NlcSIpOwoKJGZsZHMgPSAiCgkJCWZpZWxkX2lkIEkgS0VZLAoJCQlmb3JtX2lkIEksCgkJCW5hbWUgQygyNTUpLAoJCQl0eXBlIEMoNTApLAoJCQlsZW5ndGggSSwKCQkJdmFsaWRhdGlvbl90eXBlIEMoNTApLAoJCQljc3NfY2xhc3MgQygyNTUpLAoJCQlyZXF1aXJlZCBMLAoJCQlzaG93X2xhYmVsIEwsCgkJCW9yZGVyX2J5IEkKCQkiOwokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoJHRoaXMtPmZpZWxkX3RhYmxlX25hbWUsICRmbGRzLCAkdGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgokZGItPkNyZWF0ZVNlcXVlbmNlKCR0aGlzLT5maWVsZF90YWJsZV9uYW1lLiJfc2VxIik7CgokZmxkcyA9ICIKCQkJb3B0aW9uX2lkIEkgS0VZLAoJCQlmaWVsZF9pZCBJLAoJCQlmb3JtX2lkIEksCgkJCWtpbmQgQygzMCksCgkJCW5hbWUgQygyNTUpLAoJCQl2YWx1ZSBYCgkJIjsKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKCR0aGlzLT5vcHRpb25fdGFibGVfbmFtZSwgJGZsZHMsICR0YWJvcHRhcnJheSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCiRkYi0+Q3JlYXRlU2VxdWVuY2UoJHRoaXMtPm9wdGlvbl90YWJsZV9uYW1lLiJfc2VxIik7CgokZmxkcyA9ICIKCQkJY29uZmlnX2lkIEkgS0VZLAoJCQlmcm9tX25hbWUgQygyNTUpLAoJCQlmcm9tX2FkZHJlc3MgQygyNTUpLAoJCQltYWlsX2hvc3QgQygyNTUpLAoJCQlsYW5ndWFnZSBDKDUwKSwKCQkJdXNlX2NzcyBMLAoJCQl1c2VfaWRfYW5kX25hbWUgTCwKCQkJdGl0bGVfcG9zIEksCgkJCWhpZGVfZXJyb3JzIEkKCQkiOwoKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKCR0aGlzLT5jb25maWdfdGFibGVfbmFtZSwgJGZsZHMsICR0YWJvcHRhcnJheSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCiRmbGRzID0gIgoJCQlmbG9ja19pZCBJIEtFWSwKCQkJZmxvY2sgVAoJCSI7Cgokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoJHRoaXMtPmZsb2NrX3RhYmxlX25hbWUsICRmbGRzLCAkdGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgokdGhpcy0+Q3JlYXRlUGVybWlzc2lvbignTW9kaWZ5IEZlZWRiYWNrIEZvcm1zJywgJ01vZGlmeSBGZWVkYmFjayBGb3JtcycpOwppbmNsdWRlICdpbmNsdWRlcy9TYW1wbGVEYXRhLmluYyc7CiR0aGlzLT5BdWRpdCggMCwgJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpLCAkdGhpcy0+TGFuZygnaW5zdGFsbGVkJywkdGhpcy0+R2V0VmVyc2lvbigpKSk7CgojIHZpbTp0cz00IHN3PTQgbm9ldAo/Pg==]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZlZWRiYWNrIEZvcm0KIyBWZXJzaW9uOiAwLjkuMTIsIHJlbGVhc2VkIDYgTWFyY2ggMjAwNgojCiMgQ29weXJpZ2h0IChjKSAyMDA2LCBTYW11ZWwgR29sZHN0ZWluIDxzamdAY21zbW9kdWxlcy5jb20+CiMgRm9yIEluZm9ybWF0aW9uLCBTdXBwb3J0LCBCdWcgUmVwb3J0cywgZXRjLCBwbGVhc2UgdmlzaXQgdGhlCiMgQ01TIE1hZGUgU2ltcGxlIHRyYWNrZXIgYXQgaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA2IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiR0aGlzLT5pbml0aWFsaXplKCk7CiRkYiA9ICR0aGlzLT5jbXMtPmRiOwokZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCRkYik7CiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoJHRoaXMtPmZvcm1fdGFibGVfbmFtZSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCiRkYi0+RHJvcFNlcXVlbmNlKCR0aGlzLT5mb3JtX3RhYmxlX25hbWUuIl9zZXEiKTsKCiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoJHRoaXMtPmZpZWxkX3RhYmxlX25hbWUpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgokZGItPkRyb3BTZXF1ZW5jZSgkdGhpcy0+ZmllbGRfdGFibGVfbmFtZS4iX3NlcSIpOwoKJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTCgkdGhpcy0+b3B0aW9uX3RhYmxlX25hbWUpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgokZGItPkRyb3BTZXF1ZW5jZSgkdGhpcy0+b3B0aW9uX3RhYmxlX25hbWUuIl9zZXEiKTsKCiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoJHRoaXMtPmNvbmZpZ190YWJsZV9uYW1lKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTCgkdGhpcy0+ZmxvY2tfdGFibGVfbmFtZSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCiR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKCdNb2RpZnkgRmVlZGJhY2sgRm9ybXMnLCAnTW9kaWZ5IEZlZWRiYWNrIEZvcm1zJyk7CiR0aGlzLT5BdWRpdCggMCwgJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpLCAkdGhpcy0+TGFuZygndW5pbnN0YWxsZWQnKSk7CgoKIyB2aW06dHM9NCBzdz00IG5vZXQKPz4K]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZlZWRiYWNrIEZvcm0KIyBWZXJzaW9uOiAwLjkuMTIsIHJlbGVhc2VkIDYgTWFyY2ggMjAwNgojCiMgQ29weXJpZ2h0IChjKSAyMDA2LCBTYW11ZWwgR29sZHN0ZWluIDxzamdAY21zbW9kdWxlcy5jb20+CiMgRm9yIEluZm9ybWF0aW9uLCBTdXBwb3J0LCBCdWcgUmVwb3J0cywgZXRjLCBwbGVhc2UgdmlzaXQgdGhlCiMgQ01TIE1hZGUgU2ltcGxlIHRyYWNrZXIgYXQgaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA2IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiR0aGlzLT5pbml0aWFsaXplKCk7CiRjdXJyZW50X3ZlcnNpb24gPSAkb2xkdmVyc2lvbjsKJGRiID0gJiR0aGlzLT5tb2RfZ2xvYmFscy0+REJIYW5kbGU7CiRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKJHRhYm9wdGFycmF5ID0gYXJyYXkoJ215c3FsJyA9PiAnVFlQRT1NeUlTQU0nKTsKc3dpdGNoKCRjdXJyZW50X3ZlcnNpb24pCiAgewogIGNhc2UgIjAuMSI6CiAgICAkc3FsYXJyYXkgPSAkZGljdC0+QWRkQ29sdW1uU1FMKCR0aGlzLT5vcHRpb25fdGFibGVfbmFtZSwgImtpbmQgQygzMCkiKTsKICAgICRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKICAgICRmbGRzID0gImZsb2NrX2lkIEkgS0VZLCBmbG9jayBUIjsKICAgICRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTCgkdGhpcy0+ZmxvY2tfdGFibGVfbmFtZSwgJGZsZHMsICR0YWJvcHRhcnJheSk7CiAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiAgICAkc3FsID0gIkRFTEVURSBmcm9tICIuJHRoaXMtPm9wdGlvbl90YWJsZV9uYW1lOwogICAgJHJzID0gJGRiLT5FeGVjdXRlKCRzcWwpOwogICAgJHNxbCA9ICJERUxFVEUgZnJvbSAiLiR0aGlzLT5maWVsZF90YWJsZV9uYW1lOwogICAgJHJzID0gJGRiLT5FeGVjdXRlKCRzcWwpOwogICAgJGN1cnJlbnRfdmVyc2lvbiA9ICIwLjIiOwogIGNhc2UgIjAuMiI6CiAgICAkc3FsYXJyYXkgPSAkZGljdC0+QWRkQ29sdW1uU1FMKCR0aGlzLT5jb25maWdfdGFibGVfbmFtZSwgImxhbmd1YWdlIEMoNTApIik7CiAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiAgICAkY3VycmVudF92ZXJzaW9uID0gIjAuMyI7CiAgY2FzZSAiMC4zIjoKICAgICRjdXJyZW50X3ZlcnNpb24gPSAiMC40IjsKICBjYXNlICIwLjQiOgogICAgJGN1cnJlbnRfdmVyc2lvbiA9ICIwLjUiOwogIGNhc2UgIjAuNSI6CiAgICAkY3VycmVudF92ZXJzaW9uID0gIjAuNiI7CiAgY2FzZSAiMC42IjoKICAgICR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKCdSZW1vdmUgRmVlZGJhY2sgRm9ybXMnLCAnUmVtb3ZlIEZlZWRiYWNrIEZvcm1zJyk7CiAgICAkY3VycmVudF92ZXJzaW9uID0gIjAuNyI7CiAgY2FzZSAiMC43IjoKICAgICRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoJHRoaXMtPmNvbmZpZ190YWJsZV9uYW1lLCAidXNlX2NzcyBMIik7CiAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiAgICAkc3FsYXJyYXkgPSAkZGljdC0+QWRkQ29sdW1uU1FMKCR0aGlzLT5jb25maWdfdGFibGVfbmFtZSwgInRpdGxlX3BvcyBJIik7CiAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiAgICAkc3FsYXJyYXkgPSAkZGljdC0+QWRkQ29sdW1uU1FMKCR0aGlzLT5jb25maWdfdGFibGVfbmFtZSwgImhpZGVfZXJyb3JzIEkiKTsKICAgICRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKICAgICRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoJHRoaXMtPmZvcm1fdGFibGVfbmFtZSwgImNzc19jbGFzcyBDKDI1NSkiKTsKICAgICRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKICAgICRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoJHRoaXMtPmZvcm1fdGFibGVfbmFtZSwgInJlcXVpcmVkX2ZpZWxkX3N5bWJvbCBDKDI1NSkiKTsKICAgICRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKICAgICRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoJHRoaXMtPmZvcm1fdGFibGVfbmFtZSwgIm5leHRfYnV0dG9uX3RleHQgQygzNSkiKTsKICAgICRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKICAgICRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoJHRoaXMtPmZpZWxkX3RhYmxlX25hbWUsICJjc3NfY2xhc3MgQygyNTUpIik7CiAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiAgICAkc3FsYXJyYXkgPSAkZGljdC0+QWRkQ29sdW1uU1FMKCR0aGlzLT5maWVsZF90YWJsZV9uYW1lLCAicmVxdWlyZWQgTCIpOwogICAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwogICAgJGN1cnJlbnRfdmVyc2lvbiA9ICIwLjgiOwogIGNhc2UgIjAuOCI6CiAgICAkY3VycmVudF92ZXJzaW9uID0gIjAuOSI7CiAgY2FzZSAiMC45IjoKICAgICRjdXJyZW50X3ZlcnNpb24gPSAiMC45LjUiOwogIGNhc2UgIjAuOS41IjoKICAgICRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoJHRoaXMtPmNvbmZpZ190YWJsZV9uYW1lLCAidXNlX2lkX2FuZF9uYW1lIEwiKTsKICAgICRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsJCQkKICAgICRjdXJyZW50X3ZlcnNpb24gPSAiMC45LjYiOwogIGNhc2UgIjAuOS42IjoKICAgICRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoJHRoaXMtPmZpZWxkX3RhYmxlX25hbWUsICJzaG93X2xhYmVsIEwiKTsKICAgICRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKICAgICRjdXJyZW50X3ZlcnNpb24gPSAiMC45LjciOwogIGNhc2UgIjAuOS43IjoKICAgICRzcWwgPSAiVVBEQVRFICIuJHRoaXMtPmZpZWxkX3RhYmxlX25hbWUuICIgU0VUIHNob3dfbGFiZWw9MSI7CiAgICAkcnMgPSAkZGItPkV4ZWN1dGUoJHNxbCk7CiAgICAkY3VycmVudF92ZXJzaW9uID0gIjAuOS44IjsKICBjYXNlICIwLjkuOCI6CiAgICAkc3FsID0gIlVQREFURSAiLiR0aGlzLT5maWVsZF90YWJsZV9uYW1lLiAiIFNFVCBzaG93X2xhYmVsPTAiOwogICAgJHJzID0gJGRiLT5FeGVjdXRlKCRzcWwpOwogICAgJGN1cnJlbnRfdmVyc2lvbiA9ICIwLjkuOSI7CiAgY2FzZSAiMC45LjkiOgogICAgJHNxbGFycmF5ID0gJGRpY3QtPkFsdGVyQ29sdW1uU1FMKCR0aGlzLT5vcHRpb25fdGFibGVfbmFtZSwgInZhbHVlIFgiKTsKICAgICRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKICAgICRjdXJyZW50X3ZlcnNpb24gPSAiMC45LjEwIjsKICBjYXNlICIwLjkuMTAiOgoJCQkJCiAgfQokdGhpcy0+QXVkaXQoIDAsICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKSwgJHRoaXMtPkxhbmcoJ3VwZ3JhZGVkJywkdGhpcy0+R2V0VmVyc2lvbigpKSk7CgoKIyB2aW06dHM9NCBzdz00IG5vZXQKPz4K]]></data>
	</file>
	<file>
	  <filename>/output/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/AddEditField.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICRtZXNzYWdlICE9ICcnfTxoND57JG1lc3NhZ2V9PC9oND57L2lmfQp7JHN0YXJ0X2Zvcm19eyRoaWRkZW59eyRvcH0KCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyR0aXRsZV9maWVsZF9uYW1lfTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9maWVsZF9uYW1lfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskdGl0bGVfZmllbGRfdHlwZX06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfZmllbGRfdHlwZX08L3A+Cgk8L2Rpdj4Ke2lmICR0eXBlX3NldCA9PSAxfQoJe2lmICRyZXF1aXJhYmxlID09IDF9CgkJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHRpdGxlX2ZpZWxkX3JlcXVpcmVkfTo8L3A+CgkJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfZmllbGRfcmVxdWlyZWR9PC9wPgoJCTwvZGl2PgoJey9pZn0KCQk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCQk8cCBjbGFzcz0icGFnZXRleHQiPnskdGl0bGVfZmllbGRfdmFsaWRhdGlvbn06PC9wPgoJCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2ZpZWxkX3ZhbGlkYXRpb259PC9wPgoJCTwvZGl2PgoJe2lmICRkaXNwbGF5aW5mb3JtID09IDF9CgkJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHRpdGxlX3Nob3dfbGFiZWx9OjwvcD4KCQkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9zaG93X2xhYmVsfTwvcD4KCQk8L2Rpdj4KCQk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCQk8cCBjbGFzcz0icGFnZXRleHQiPnskdGl0bGVfZmllbGRfY3NzX2NsYXNzfTo8L3A+CgkJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfZmllbGRfY3NzX2NsYXNzfTwvcD4KCQk8L2Rpdj4KCXsvaWZ9CgoJe2ZvcmVhY2ggZnJvbT0kb3RoZXJBdHRycyBpdGVtPWVudHJ5fQoJCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJCTxkaXYgY2xhc3M9InBhZ2V0ZXh0Ij57JGVudHJ5LT50aXRsZX08L2Rpdj4KCQkJPGRpdiBjbGFzcz0icGFnZWlucHV0Ij57JGVudHJ5LT5pbnB1dH08L2Rpdj4KCQk8L2Rpdj4KCXsvZm9yZWFjaH0Key9pZn0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRzdWJtaXR9PC9wPgoJPC9kaXY+CnskZW5kX2Zvcm19Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/AddEditForm.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICRtZXNzYWdlICE9ICcnfTxoND57JG1lc3NhZ2V9PC9oND57L2lmfQ0KeyRmb3Jtc3RhcnR9eyRmb3JtaWR9eyRoaWRkZW59eyR0YWJfc3RhcnR9eyRtYWludGFiX3N0YXJ0fQoKCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHRpdGxlX2Zvcm1fbmFtZX06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfZm9ybV9uYW1lfTwvcD4KCTwvZGl2PgoKe2lmICRhZGRpbmcgPT0gMH0NCgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskdGl0bGVfZm9ybV9zdGF0dXN9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57aWYgJGhhc2Rpc3Bvc2l0aW9uID09IDF9eyR0ZXh0X3JlYWR5fXtlbHNlfXskbGlua19ub3RyZWFkeX17L2lmfTwvcD4KCTwvZGl2Pgp7L2lmfQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskdGl0bGVfZm9ybV9hbGlhc306PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfZm9ybV9hbGlhc308L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHRpdGxlX2Zvcm1fY3NzX2NsYXNzfTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9mb3JtX2Nzc19jbGFzc308L3A+Cgk8L2Rpdj4Ke2lmICRhZGRpbmc9PTB9Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyR0aXRsZV9mb3JtX2ZpZWxkc308L3A+CgkJPGRpdiBjbGFzcz0icGFnZWlucHV0Ij4NCgkJCTx0YWJsZSBjbGFzcz0iQWRtaW5UYWJsZSI+DQogICAgICAgICAgICAgICAgPHRoZWFkPjx0cj48dGg+eyR0aXRsZV9maWVsZF9uYW1lfTwvdGg+DQogICAgICAgICAgICAgICAgCTx0aD57JHRpdGxlX2ZpZWxkX3R5cGV9PC90aD4NCiAgICAgICAgICAgICAgICAJPHRoPnskdGl0bGVfZmllbGRfcmVxdWlyZWRfYWJicmV2fTwvdGg+DQogICAgICAgICAgICAgICAgCTx0aD57JHRpdGxlX2luZm9ybWF0aW9ufTwvdGg+DQogICAgICAgICAgICAgICAgICAgIDx0aCBjb2xzcGFuPSIyIj57JHRpdGxlX29yZGVyfTwvdGg+CiAgICAgICAgICAgICAgICAgICAgPHRoPiZuYnNwOzwvdGg+PHRoPiZuYnNwOzwvdGg+PC90cj4KCQkJCTwvdGhlYWQ+DQoJCQkJPHRib2R5PgoJCQkJe2ZvcmVhY2ggZnJvbT0kZmllbGRzIGl0ZW09ZW50cnl9CgkJCQkJPHRyIGNsYXNzPSJ7JGVudHJ5LT5yb3djbGFzc30iIG9ubW91c2VvdmVyPSJ0aGlzLmNsYXNzTmFtZT0neyRlbnRyeS0+cm93Y2xhc3N9aG92ZXInOyIgb25tb3VzZW91dD0idGhpcy5jbGFzc05hbWU9J3skZW50cnktPnJvd2NsYXNzfSc7Ij4KCQkJCQk8dGQ+eyRlbnRyeS0+bmFtZX08L3RkPgoJCQkJCTx0ZD57JGVudHJ5LT50eXBlfTwvdGQ+CgkJCQkJPHRkPnskZW50cnktPmRpc3Bvc2l0aW9ufTwvdGQ+CgkJCQkJPHRkPnskZW50cnktPmZpZWxkX3N0YXR1c308L3RkPgoJCQkJCTx0ZD57JGVudHJ5LT51cH08L3RkPgoJCQkJCTx0ZD57JGVudHJ5LT5kb3dufTwvdGQ+CgkJCQkJPHRkPnskZW50cnktPmVkaXRsaW5rfTwvdGQ+CgkJCQkJPHRkPnskZW50cnktPmRlbGV0ZWxpbmt9PC90ZD4KCQkJCQk8L3RyPgoJCQkJey9mb3JlYWNofQogICAgICAgICAgICAgICAJPHRyPjx0ZCBjb2xzcGFuPSI4IiBjbGFzcz0icm93MiI+Jm5ic3A7PC90ZD48L3RyPg0KICAgICAgICAgICAgICAgCTx0cj48dGQgY29sc3Bhbj0iOCIgY2xhc3M9InJvdzEiPnskYWRkX2ZpZWxkX2xpbmt9PC90ZD48L3RyPg0KCQkJCTwvdGJvZHk+CiAgICAgICAgICAgIDwvdGFibGU+CiAgICAgICAgPC9kaXY+CiAgICAgPC9kaXY+CnsvaWZ9Cg0KeyR0YWJfZW5kfXskYWRkaXRpb25hbHRhYl9zdGFydH0KCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyR0aXRsZV9mb3JtX3N1Ym1pdF9idXR0b259OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2Zvcm1fc3VibWl0X2J1dHRvbn08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHRpdGxlX2Zvcm1fbmV4dF9idXR0b259OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2Zvcm1fbmV4dF9idXR0b259PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyR0aXRsZV9mb3JtX3JlcXVpcmVkX3N5bWJvbH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfZm9ybV9yZXF1aXJlZF9zeW1ib2x9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyR0aXRsZV9mb3JtX3RoYW5rc190ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9mb3JtX3RoYW5rc190ZXh0fTwvcD4KCTwvZGl2Pgp7JHRhYl9lbmR9DQp7JHRhYnNfZW5kfQ0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRzYXZlX2J1dHRvbn17JHN1Ym1pdF9idXR0b259PC9wPgoJPC9kaXY+CnskZm9ybV9lbmR9DQo=]]></data>
	</file>
	<file>
	  <filename>/templates/AdminMain.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICRtZXNzYWdlICE9ICcnfSA8aDQ+eyRtZXNzYWdlfTwvaDQ+IHsvaWZ9DQoKeyR0YWJoZWFkZXJzfQ0KeyRzdGFydF9mb3JtdGFifQo8dGFibGUgY2VsbHNwYWNpbmc9IjAiIGNsYXNzPSJBZG1pblRhYmxlIiB3aWR0aD0iODAlIj4NCjx0aGVhZD48dHI+DQogICAgPHRoPnskdGl0bGVfZm9ybV9uYW1lfTwvdGg+DQogICAgPHRoPnskdGl0bGVfdGFnX3RvX3VzZX08L3RoPg0KICAgIDx0aD4mbmJzcDs8L3RoPjx0aD4mbmJzcDs8L3RoPg0KPC90cj4NCjwvdGhlYWQ+DQoNCntmb3JlYWNoIGZyb209JGZvcm1zIGl0ZW09ZW50cnl9Cgk8dHIgY2xhc3M9InskZW50cnktPnJvd2NsYXNzfSIgb25tb3VzZW92ZXI9InRoaXMuY2xhc3NOYW1lPSd7JGVudHJ5LT5yb3djbGFzc31ob3Zlcic7IiBvbm1vdXNlb3V0PSJ0aGlzLmNsYXNzTmFtZT0neyRlbnRyeS0+cm93Y2xhc3N9JzsiPgoJCTx0ZD57JGVudHJ5LT5uYW1lfTwvdGQ+CgkJPHRkPntsaXRlcmFsfXt7L2xpdGVyYWx9Y21zX21vZHVsZSBtb2R1bGU9J0ZlZWRiYWNrRm9ybScgZm9ybT0neyRlbnRyeS0+dXNhZ2V9J3tsaXRlcmFsfX17L2xpdGVyYWx9PC90ZD4KCQk8dGQ+eyRlbnRyeS0+ZWRpdGxpbmt9PC90ZD4KCQk8dGQ+eyRlbnRyeS0+ZGVsZXRlbGlua308L3RkPgoJPC90cj4Key9mb3JlYWNofQoKPHRyIGNsYXNzPSJyb3cyIj48dGQgY29sc3Bhbj0iNCI+Jm5ic3A7PC90ZD48L3RyPg0KPHRyIGNsYXNzPSJyb3cxIj48dGQgY29sc3Bhbj0iNCI+DQoNCntpZiAkYWRkbGluayAhPSAnJ317JGFkZGxpbmt9eyRhZGRmb3JtfXsvaWZ9DQo8L3RkPjwvdHI+CjwvdGFibGU+CnskZW5kX3RhYn0NCnskc3RhcnRfY29uZmlndGFifQp7aWYgJG1heV9jb25maWcgPT0gMX0KeyRzdGFydF9jb25maWdmb3JtfQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskdGl0bGVfZW1haWxfZnJvbV9uYW1lfTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9lbWFpbF9mcm9tX25hbWV9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyR0aXRsZV9mb3JtX2Zyb21fZW1haWx9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2Zvcm1fZnJvbV9lbWFpbH08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHRpdGxlX2hpZGVfZXJyb3JzfTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9oaWRlX2Vycm9yc308L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHRpdGxlX2Nzc19sYXlvdXR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2Nzc19sYXlvdXR9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyR0aXRsZV9pZF9hbmRfbmFtZX06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfaWRfYW5kX25hbWV9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyR0aXRsZV90YWJsZV9sYXlvdXRfdHlwZX06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfdGFibGVfbGF5b3V0X3R5cGV9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskc3VibWl0fTwvcD4KCTwvZGl2PgoJeyRjb25maWdfZm9ybWVuZH0KCntlbHNlfQoJPHA+eyRub19wZXJtaXNzaW9ufTwvcD4Key9pZn0NCnskZW5kX3RhYn0NCnskZW5kX3RhYnN9DQoNCg==]]></data>
	</file>
</module>